diff --git a/dist/33.index.js b/dist/33.index.js new file mode 100644 index 00000000..971a33aa --- /dev/null +++ b/dist/33.index.js @@ -0,0 +1,148 @@ +export const id = 33; +export const ids = [33]; +export const modules = { + +/***/ 57666: +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + +/*! node-domexception. MIT License. Jimmy Wärting */ + +if (!globalThis.DOMException) { + try { + const { MessageChannel } = __webpack_require__(28167), + port = new MessageChannel().port1, + ab = new ArrayBuffer() + port.postMessage(ab, [ab, ab]) + } catch (err) { + err.constructor.name === 'DOMException' && ( + globalThis.DOMException = err.constructor + ) + } +} + +module.exports = globalThis.DOMException + + +/***/ }), + +/***/ 42033: +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + + +// EXPORTS +__webpack_require__.d(__webpack_exports__, { + fileFromPath: () => (/* binding */ fileFromPath) +}); + +// UNUSED EXPORTS: fileFromPathSync, isFile + +// EXTERNAL MODULE: external "fs" +var external_fs_ = __webpack_require__(79896); +// EXTERNAL MODULE: external "path" +var external_path_ = __webpack_require__(16928); +// EXTERNAL MODULE: ./node_modules/node-domexception/index.js +var node_domexception = __webpack_require__(57666); +// EXTERNAL MODULE: ./node_modules/formdata-node/lib/esm/File.js +var File = __webpack_require__(2928); +;// CONCATENATED MODULE: ./node_modules/formdata-node/lib/esm/isPlainObject.js +const getType = (value) => (Object.prototype.toString.call(value).slice(8, -1).toLowerCase()); +function isPlainObject(value) { + if (getType(value) !== "object") { + return false; + } + const pp = Object.getPrototypeOf(value); + if (pp === null || pp === undefined) { + return true; + } + const Ctor = pp.constructor && pp.constructor.toString(); + return Ctor === Object.toString(); +} +/* harmony default export */ const esm_isPlainObject = (isPlainObject); + +// EXTERNAL MODULE: ./node_modules/formdata-node/lib/esm/isFile.js +var isFile = __webpack_require__(80928); +;// CONCATENATED MODULE: ./node_modules/formdata-node/lib/esm/fileFromPath.js +var __classPrivateFieldSet = (undefined && undefined.__classPrivateFieldSet) || 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 __classPrivateFieldGet = (undefined && undefined.__classPrivateFieldGet) || 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 _FileFromPath_path, _FileFromPath_start; + + + + + + +const MESSAGE = "The requested file could not be read, " + + "typically due to permission problems that have occurred after a reference " + + "to a file was acquired."; +class FileFromPath { + constructor(input) { + _FileFromPath_path.set(this, void 0); + _FileFromPath_start.set(this, void 0); + __classPrivateFieldSet(this, _FileFromPath_path, input.path, "f"); + __classPrivateFieldSet(this, _FileFromPath_start, input.start || 0, "f"); + this.name = (0,external_path_.basename)(__classPrivateFieldGet(this, _FileFromPath_path, "f")); + this.size = input.size; + this.lastModified = input.lastModified; + } + slice(start, end) { + return new FileFromPath({ + path: __classPrivateFieldGet(this, _FileFromPath_path, "f"), + lastModified: this.lastModified, + size: end - start, + start + }); + } + async *stream() { + const { mtimeMs } = await external_fs_.promises.stat(__classPrivateFieldGet(this, _FileFromPath_path, "f")); + if (mtimeMs > this.lastModified) { + throw new node_domexception(MESSAGE, "NotReadableError"); + } + if (this.size) { + yield* (0,external_fs_.createReadStream)(__classPrivateFieldGet(this, _FileFromPath_path, "f"), { + start: __classPrivateFieldGet(this, _FileFromPath_start, "f"), + end: __classPrivateFieldGet(this, _FileFromPath_start, "f") + this.size - 1 + }); + } + } + get [(_FileFromPath_path = new WeakMap(), _FileFromPath_start = new WeakMap(), Symbol.toStringTag)]() { + return "File"; + } +} +function createFileFromPath(path, { mtimeMs, size }, filenameOrOptions, options = {}) { + let filename; + if (esm_isPlainObject(filenameOrOptions)) { + [options, filename] = [filenameOrOptions, undefined]; + } + else { + filename = filenameOrOptions; + } + const file = new FileFromPath({ path, size, lastModified: mtimeMs }); + if (!filename) { + filename = file.name; + } + return new File/* File */.Z([file], filename, { + ...options, lastModified: file.lastModified + }); +} +function fileFromPathSync(path, filenameOrOptions, options = {}) { + const stats = statSync(path); + return createFileFromPath(path, stats, filenameOrOptions, options); +} +async function fileFromPath(path, filenameOrOptions, options) { + const stats = await external_fs_.promises.stat(path); + return createFileFromPath(path, stats, filenameOrOptions, options); +} + + +/***/ }) + +}; diff --git a/dist/index.js b/dist/index.js index 7c87143e..e80b5102 100644 --- a/dist/index.js +++ b/dist/index.js @@ -1,376338 +1,302 @@ -import './sourcemap-register.cjs';import { createRequire as __WEBPACK_EXTERNAL_createRequire } from "module"; -/******/ var __webpack_modules__ = ({ +import{createRequire as __WEBPACK_EXTERNAL_createRequire}from"module";var __webpack_modules__={44914:function(Wt,Pt,en){var tn=this&&this.__createBinding||(Object.create?function(Wt,Pt,en,tn){if(tn===undefined)tn=en;var nn=Object.getOwnPropertyDescriptor(Pt,en);if(!nn||("get"in nn?!Pt.__esModule:nn.writable||nn.configurable)){nn={enumerable:true,get:function(){return Pt[en]}}}Object.defineProperty(Wt,tn,nn)}:function(Wt,Pt,en,tn){if(tn===undefined)tn=en;Wt[tn]=Pt[en]});var nn=this&&this.__setModuleDefault||(Object.create?function(Wt,Pt){Object.defineProperty(Wt,"default",{enumerable:true,value:Pt})}:function(Wt,Pt){Wt["default"]=Pt});var an=this&&this.__importStar||function(Wt){if(Wt&&Wt.__esModule)return Wt;var Pt={};if(Wt!=null)for(var en in Wt)if(en!=="default"&&Object.prototype.hasOwnProperty.call(Wt,en))tn(Pt,Wt,en);nn(Pt,Wt);return Pt};Object.defineProperty(Pt,"__esModule",{value:true});Pt.issue=Pt.issueCommand=void 0;const In=an(en(70857));const rn=en(30302);function issueCommand(Wt,Pt,en){const tn=new Command(Wt,Pt,en);process.stdout.write(tn.toString()+In.EOL)}Pt.issueCommand=issueCommand;function issue(Wt,Pt=""){issueCommand(Wt,{},Pt)}Pt.issue=issue;const sn="::";class Command{constructor(Wt,Pt,en){if(!Wt){Wt="missing.command"}this.command=Wt;this.properties=Pt;this.message=en}toString(){let Wt=sn+this.command;if(this.properties&&Object.keys(this.properties).length>0){Wt+=" ";let Pt=true;for(const en in this.properties){if(this.properties.hasOwnProperty(en)){const tn=this.properties[en];if(tn){if(Pt){Pt=false}else{Wt+=","}Wt+=`${en}=${escapeProperty(tn)}`}}}}Wt+=`${sn}${escapeData(this.message)}`;return Wt}}function escapeData(Wt){return(0,rn.toCommandValue)(Wt).replace(/%/g,"%25").replace(/\r/g,"%0D").replace(/\n/g,"%0A")}function escapeProperty(Wt){return(0,rn.toCommandValue)(Wt).replace(/%/g,"%25").replace(/\r/g,"%0D").replace(/\n/g,"%0A").replace(/:/g,"%3A").replace(/,/g,"%2C")}},37484:function(Wt,Pt,en){var tn=this&&this.__createBinding||(Object.create?function(Wt,Pt,en,tn){if(tn===undefined)tn=en;var nn=Object.getOwnPropertyDescriptor(Pt,en);if(!nn||("get"in nn?!Pt.__esModule:nn.writable||nn.configurable)){nn={enumerable:true,get:function(){return Pt[en]}}}Object.defineProperty(Wt,tn,nn)}:function(Wt,Pt,en,tn){if(tn===undefined)tn=en;Wt[tn]=Pt[en]});var nn=this&&this.__setModuleDefault||(Object.create?function(Wt,Pt){Object.defineProperty(Wt,"default",{enumerable:true,value:Pt})}:function(Wt,Pt){Wt["default"]=Pt});var an=this&&this.__importStar||function(Wt){if(Wt&&Wt.__esModule)return Wt;var Pt={};if(Wt!=null)for(var en in Wt)if(en!=="default"&&Object.prototype.hasOwnProperty.call(Wt,en))tn(Pt,Wt,en);nn(Pt,Wt);return Pt};var In=this&&this.__awaiter||function(Wt,Pt,en,tn){function adopt(Wt){return Wt instanceof en?Wt:new en((function(Pt){Pt(Wt)}))}return new(en||(en=Promise))((function(en,nn){function fulfilled(Wt){try{step(tn.next(Wt))}catch(Wt){nn(Wt)}}function rejected(Wt){try{step(tn["throw"](Wt))}catch(Wt){nn(Wt)}}function step(Wt){Wt.done?en(Wt.value):adopt(Wt.value).then(fulfilled,rejected)}step((tn=tn.apply(Wt,Pt||[])).next())}))};Object.defineProperty(Pt,"__esModule",{value:true});Pt.platform=Pt.toPlatformPath=Pt.toWin32Path=Pt.toPosixPath=Pt.markdownSummary=Pt.summary=Pt.getIDToken=Pt.getState=Pt.saveState=Pt.group=Pt.endGroup=Pt.startGroup=Pt.info=Pt.notice=Pt.warning=Pt.error=Pt.debug=Pt.isDebug=Pt.setFailed=Pt.setCommandEcho=Pt.setOutput=Pt.getBooleanInput=Pt.getMultilineInput=Pt.getInput=Pt.addPath=Pt.setSecret=Pt.exportVariable=Pt.ExitCode=void 0;const rn=en(44914);const sn=en(24753);const on=en(30302);const cn=an(en(70857));const dn=an(en(16928));const un=en(35306);var pn;(function(Wt){Wt[Wt["Success"]=0]="Success";Wt[Wt["Failure"]=1]="Failure"})(pn||(Pt.ExitCode=pn={}));function exportVariable(Wt,Pt){const en=(0,on.toCommandValue)(Pt);process.env[Wt]=en;const tn=process.env["GITHUB_ENV"]||"";if(tn){return(0,sn.issueFileCommand)("ENV",(0,sn.prepareKeyValueMessage)(Wt,Pt))}(0,rn.issueCommand)("set-env",{name:Wt},en)}Pt.exportVariable=exportVariable;function setSecret(Wt){(0,rn.issueCommand)("add-mask",{},Wt)}Pt.setSecret=setSecret;function addPath(Wt){const Pt=process.env["GITHUB_PATH"]||"";if(Pt){(0,sn.issueFileCommand)("PATH",Wt)}else{(0,rn.issueCommand)("add-path",{},Wt)}process.env["PATH"]=`${Wt}${dn.delimiter}${process.env["PATH"]}`}Pt.addPath=addPath;function getInput(Wt,Pt){const en=process.env[`INPUT_${Wt.replace(/ /g,"_").toUpperCase()}`]||"";if(Pt&&Pt.required&&!en){throw new Error(`Input required and not supplied: ${Wt}`)}if(Pt&&Pt.trimWhitespace===false){return en}return en.trim()}Pt.getInput=getInput;function getMultilineInput(Wt,Pt){const en=getInput(Wt,Pt).split("\n").filter((Wt=>Wt!==""));if(Pt&&Pt.trimWhitespace===false){return en}return en.map((Wt=>Wt.trim()))}Pt.getMultilineInput=getMultilineInput;function getBooleanInput(Wt,Pt){const en=["true","True","TRUE"];const tn=["false","False","FALSE"];const nn=getInput(Wt,Pt);if(en.includes(nn))return true;if(tn.includes(nn))return false;throw new TypeError(`Input does not meet YAML 1.2 "Core Schema" specification: ${Wt}\n`+`Support boolean input list: \`true | True | TRUE | false | False | FALSE\``)}Pt.getBooleanInput=getBooleanInput;function setOutput(Wt,Pt){const en=process.env["GITHUB_OUTPUT"]||"";if(en){return(0,sn.issueFileCommand)("OUTPUT",(0,sn.prepareKeyValueMessage)(Wt,Pt))}process.stdout.write(cn.EOL);(0,rn.issueCommand)("set-output",{name:Wt},(0,on.toCommandValue)(Pt))}Pt.setOutput=setOutput;function setCommandEcho(Wt){(0,rn.issue)("echo",Wt?"on":"off")}Pt.setCommandEcho=setCommandEcho;function setFailed(Wt){process.exitCode=pn.Failure;error(Wt)}Pt.setFailed=setFailed;function isDebug(){return process.env["RUNNER_DEBUG"]==="1"}Pt.isDebug=isDebug;function debug(Wt){(0,rn.issueCommand)("debug",{},Wt)}Pt.debug=debug;function error(Wt,Pt={}){(0,rn.issueCommand)("error",(0,on.toCommandProperties)(Pt),Wt instanceof Error?Wt.toString():Wt)}Pt.error=error;function warning(Wt,Pt={}){(0,rn.issueCommand)("warning",(0,on.toCommandProperties)(Pt),Wt instanceof Error?Wt.toString():Wt)}Pt.warning=warning;function notice(Wt,Pt={}){(0,rn.issueCommand)("notice",(0,on.toCommandProperties)(Pt),Wt instanceof Error?Wt.toString():Wt)}Pt.notice=notice;function info(Wt){process.stdout.write(Wt+cn.EOL)}Pt.info=info;function startGroup(Wt){(0,rn.issue)("group",Wt)}Pt.startGroup=startGroup;function endGroup(){(0,rn.issue)("endgroup")}Pt.endGroup=endGroup;function group(Wt,Pt){return In(this,void 0,void 0,(function*(){startGroup(Wt);let en;try{en=yield Pt()}finally{endGroup()}return en}))}Pt.group=group;function saveState(Wt,Pt){const en=process.env["GITHUB_STATE"]||"";if(en){return(0,sn.issueFileCommand)("STATE",(0,sn.prepareKeyValueMessage)(Wt,Pt))}(0,rn.issueCommand)("save-state",{name:Wt},(0,on.toCommandValue)(Pt))}Pt.saveState=saveState;function getState(Wt){return process.env[`STATE_${Wt}`]||""}Pt.getState=getState;function getIDToken(Wt){return In(this,void 0,void 0,(function*(){return yield un.OidcClient.getIDToken(Wt)}))}Pt.getIDToken=getIDToken;var mn=en(71847);Object.defineProperty(Pt,"summary",{enumerable:true,get:function(){return mn.summary}});var bn=en(71847);Object.defineProperty(Pt,"markdownSummary",{enumerable:true,get:function(){return bn.markdownSummary}});var Gn=en(31976);Object.defineProperty(Pt,"toPosixPath",{enumerable:true,get:function(){return Gn.toPosixPath}});Object.defineProperty(Pt,"toWin32Path",{enumerable:true,get:function(){return Gn.toWin32Path}});Object.defineProperty(Pt,"toPlatformPath",{enumerable:true,get:function(){return Gn.toPlatformPath}});Pt.platform=an(en(18968))},24753:function(Wt,Pt,en){var tn=this&&this.__createBinding||(Object.create?function(Wt,Pt,en,tn){if(tn===undefined)tn=en;var nn=Object.getOwnPropertyDescriptor(Pt,en);if(!nn||("get"in nn?!Pt.__esModule:nn.writable||nn.configurable)){nn={enumerable:true,get:function(){return Pt[en]}}}Object.defineProperty(Wt,tn,nn)}:function(Wt,Pt,en,tn){if(tn===undefined)tn=en;Wt[tn]=Pt[en]});var nn=this&&this.__setModuleDefault||(Object.create?function(Wt,Pt){Object.defineProperty(Wt,"default",{enumerable:true,value:Pt})}:function(Wt,Pt){Wt["default"]=Pt});var an=this&&this.__importStar||function(Wt){if(Wt&&Wt.__esModule)return Wt;var Pt={};if(Wt!=null)for(var en in Wt)if(en!=="default"&&Object.prototype.hasOwnProperty.call(Wt,en))tn(Pt,Wt,en);nn(Pt,Wt);return Pt};Object.defineProperty(Pt,"__esModule",{value:true});Pt.prepareKeyValueMessage=Pt.issueFileCommand=void 0;const In=an(en(76982));const rn=an(en(79896));const sn=an(en(70857));const on=en(30302);function issueFileCommand(Wt,Pt){const en=process.env[`GITHUB_${Wt}`];if(!en){throw new Error(`Unable to find environment variable for file command ${Wt}`)}if(!rn.existsSync(en)){throw new Error(`Missing file at path: ${en}`)}rn.appendFileSync(en,`${(0,on.toCommandValue)(Pt)}${sn.EOL}`,{encoding:"utf8"})}Pt.issueFileCommand=issueFileCommand;function prepareKeyValueMessage(Wt,Pt){const en=`ghadelimiter_${In.randomUUID()}`;const tn=(0,on.toCommandValue)(Pt);if(Wt.includes(en)){throw new Error(`Unexpected input: name should not contain the delimiter "${en}"`)}if(tn.includes(en)){throw new Error(`Unexpected input: value should not contain the delimiter "${en}"`)}return`${Wt}<<${en}${sn.EOL}${tn}${sn.EOL}${en}`}Pt.prepareKeyValueMessage=prepareKeyValueMessage},35306:function(Wt,Pt,en){var tn=this&&this.__awaiter||function(Wt,Pt,en,tn){function adopt(Wt){return Wt instanceof en?Wt:new en((function(Pt){Pt(Wt)}))}return new(en||(en=Promise))((function(en,nn){function fulfilled(Wt){try{step(tn.next(Wt))}catch(Wt){nn(Wt)}}function rejected(Wt){try{step(tn["throw"](Wt))}catch(Wt){nn(Wt)}}function step(Wt){Wt.done?en(Wt.value):adopt(Wt.value).then(fulfilled,rejected)}step((tn=tn.apply(Wt,Pt||[])).next())}))};Object.defineProperty(Pt,"__esModule",{value:true});Pt.OidcClient=void 0;const nn=en(54844);const an=en(44552);const In=en(37484);class OidcClient{static createHttpClient(Wt=true,Pt=10){const en={allowRetries:Wt,maxRetries:Pt};return new nn.HttpClient("actions/oidc-client",[new an.BearerCredentialHandler(OidcClient.getRequestToken())],en)}static getRequestToken(){const Wt=process.env["ACTIONS_ID_TOKEN_REQUEST_TOKEN"];if(!Wt){throw new Error("Unable to get ACTIONS_ID_TOKEN_REQUEST_TOKEN env variable")}return Wt}static getIDTokenUrl(){const Wt=process.env["ACTIONS_ID_TOKEN_REQUEST_URL"];if(!Wt){throw new Error("Unable to get ACTIONS_ID_TOKEN_REQUEST_URL env variable")}return Wt}static getCall(Wt){var Pt;return tn(this,void 0,void 0,(function*(){const en=OidcClient.createHttpClient();const tn=yield en.getJson(Wt).catch((Wt=>{throw new Error(`Failed to get ID Token. \n \n Error Code : ${Wt.statusCode}\n \n Error Message: ${Wt.message}`)}));const nn=(Pt=tn.result)===null||Pt===void 0?void 0:Pt.value;if(!nn){throw new Error("Response json body do not have ID Token field")}return nn}))}static getIDToken(Wt){return tn(this,void 0,void 0,(function*(){try{let Pt=OidcClient.getIDTokenUrl();if(Wt){const en=encodeURIComponent(Wt);Pt=`${Pt}&audience=${en}`}(0,In.debug)(`ID token url is ${Pt}`);const en=yield OidcClient.getCall(Pt);(0,In.setSecret)(en);return en}catch(Wt){throw new Error(`Error message: ${Wt.message}`)}}))}}Pt.OidcClient=OidcClient},31976:function(Wt,Pt,en){var tn=this&&this.__createBinding||(Object.create?function(Wt,Pt,en,tn){if(tn===undefined)tn=en;var nn=Object.getOwnPropertyDescriptor(Pt,en);if(!nn||("get"in nn?!Pt.__esModule:nn.writable||nn.configurable)){nn={enumerable:true,get:function(){return Pt[en]}}}Object.defineProperty(Wt,tn,nn)}:function(Wt,Pt,en,tn){if(tn===undefined)tn=en;Wt[tn]=Pt[en]});var nn=this&&this.__setModuleDefault||(Object.create?function(Wt,Pt){Object.defineProperty(Wt,"default",{enumerable:true,value:Pt})}:function(Wt,Pt){Wt["default"]=Pt});var an=this&&this.__importStar||function(Wt){if(Wt&&Wt.__esModule)return Wt;var Pt={};if(Wt!=null)for(var en in Wt)if(en!=="default"&&Object.prototype.hasOwnProperty.call(Wt,en))tn(Pt,Wt,en);nn(Pt,Wt);return Pt};Object.defineProperty(Pt,"__esModule",{value:true});Pt.toPlatformPath=Pt.toWin32Path=Pt.toPosixPath=void 0;const In=an(en(16928));function toPosixPath(Wt){return Wt.replace(/[\\]/g,"/")}Pt.toPosixPath=toPosixPath;function toWin32Path(Wt){return Wt.replace(/[/]/g,"\\")}Pt.toWin32Path=toWin32Path;function toPlatformPath(Wt){return Wt.replace(/[/\\]/g,In.sep)}Pt.toPlatformPath=toPlatformPath},18968:function(Wt,Pt,en){var tn=this&&this.__createBinding||(Object.create?function(Wt,Pt,en,tn){if(tn===undefined)tn=en;var nn=Object.getOwnPropertyDescriptor(Pt,en);if(!nn||("get"in nn?!Pt.__esModule:nn.writable||nn.configurable)){nn={enumerable:true,get:function(){return Pt[en]}}}Object.defineProperty(Wt,tn,nn)}:function(Wt,Pt,en,tn){if(tn===undefined)tn=en;Wt[tn]=Pt[en]});var nn=this&&this.__setModuleDefault||(Object.create?function(Wt,Pt){Object.defineProperty(Wt,"default",{enumerable:true,value:Pt})}:function(Wt,Pt){Wt["default"]=Pt});var an=this&&this.__importStar||function(Wt){if(Wt&&Wt.__esModule)return Wt;var Pt={};if(Wt!=null)for(var en in Wt)if(en!=="default"&&Object.prototype.hasOwnProperty.call(Wt,en))tn(Pt,Wt,en);nn(Pt,Wt);return Pt};var In=this&&this.__awaiter||function(Wt,Pt,en,tn){function adopt(Wt){return Wt instanceof en?Wt:new en((function(Pt){Pt(Wt)}))}return new(en||(en=Promise))((function(en,nn){function fulfilled(Wt){try{step(tn.next(Wt))}catch(Wt){nn(Wt)}}function rejected(Wt){try{step(tn["throw"](Wt))}catch(Wt){nn(Wt)}}function step(Wt){Wt.done?en(Wt.value):adopt(Wt.value).then(fulfilled,rejected)}step((tn=tn.apply(Wt,Pt||[])).next())}))};var rn=this&&this.__importDefault||function(Wt){return Wt&&Wt.__esModule?Wt:{default:Wt}};Object.defineProperty(Pt,"__esModule",{value:true});Pt.getDetails=Pt.isLinux=Pt.isMacOS=Pt.isWindows=Pt.arch=Pt.platform=void 0;const sn=rn(en(70857));const on=an(en(95236));const getWindowsInfo=()=>In(void 0,void 0,void 0,(function*(){const{stdout:Wt}=yield on.getExecOutput('powershell -command "(Get-CimInstance -ClassName Win32_OperatingSystem).Version"',undefined,{silent:true});const{stdout:Pt}=yield on.getExecOutput('powershell -command "(Get-CimInstance -ClassName Win32_OperatingSystem).Caption"',undefined,{silent:true});return{name:Pt.trim(),version:Wt.trim()}}));const getMacOsInfo=()=>In(void 0,void 0,void 0,(function*(){var Wt,Pt,en,tn;const{stdout:nn}=yield on.getExecOutput("sw_vers",undefined,{silent:true});const an=(Pt=(Wt=nn.match(/ProductVersion:\s*(.+)/))===null||Wt===void 0?void 0:Wt[1])!==null&&Pt!==void 0?Pt:"";const In=(tn=(en=nn.match(/ProductName:\s*(.+)/))===null||en===void 0?void 0:en[1])!==null&&tn!==void 0?tn:"";return{name:In,version:an}}));const getLinuxInfo=()=>In(void 0,void 0,void 0,(function*(){const{stdout:Wt}=yield on.getExecOutput("lsb_release",["-i","-r","-s"],{silent:true});const[Pt,en]=Wt.trim().split("\n");return{name:Pt,version:en}}));Pt.platform=sn.default.platform();Pt.arch=sn.default.arch();Pt.isWindows=Pt.platform==="win32";Pt.isMacOS=Pt.platform==="darwin";Pt.isLinux=Pt.platform==="linux";function getDetails(){return In(this,void 0,void 0,(function*(){return Object.assign(Object.assign({},yield Pt.isWindows?getWindowsInfo():Pt.isMacOS?getMacOsInfo():getLinuxInfo()),{platform:Pt.platform,arch:Pt.arch,isWindows:Pt.isWindows,isMacOS:Pt.isMacOS,isLinux:Pt.isLinux})}))}Pt.getDetails=getDetails},71847:function(Wt,Pt,en){var tn=this&&this.__awaiter||function(Wt,Pt,en,tn){function adopt(Wt){return Wt instanceof en?Wt:new en((function(Pt){Pt(Wt)}))}return new(en||(en=Promise))((function(en,nn){function fulfilled(Wt){try{step(tn.next(Wt))}catch(Wt){nn(Wt)}}function rejected(Wt){try{step(tn["throw"](Wt))}catch(Wt){nn(Wt)}}function step(Wt){Wt.done?en(Wt.value):adopt(Wt.value).then(fulfilled,rejected)}step((tn=tn.apply(Wt,Pt||[])).next())}))};Object.defineProperty(Pt,"__esModule",{value:true});Pt.summary=Pt.markdownSummary=Pt.SUMMARY_DOCS_URL=Pt.SUMMARY_ENV_VAR=void 0;const nn=en(70857);const an=en(79896);const{access:In,appendFile:rn,writeFile:sn}=an.promises;Pt.SUMMARY_ENV_VAR="GITHUB_STEP_SUMMARY";Pt.SUMMARY_DOCS_URL="https://docs.github.com/actions/using-workflows/workflow-commands-for-github-actions#adding-a-job-summary";class Summary{constructor(){this._buffer=""}filePath(){return tn(this,void 0,void 0,(function*(){if(this._filePath){return this._filePath}const Wt=process.env[Pt.SUMMARY_ENV_VAR];if(!Wt){throw new Error(`Unable to find environment variable for $${Pt.SUMMARY_ENV_VAR}. Check if your runtime environment supports job summaries.`)}try{yield In(Wt,an.constants.R_OK|an.constants.W_OK)}catch(Pt){throw new Error(`Unable to access summary file: '${Wt}'. Check if the file has correct read/write permissions.`)}this._filePath=Wt;return this._filePath}))}wrap(Wt,Pt,en={}){const tn=Object.entries(en).map((([Wt,Pt])=>` ${Wt}="${Pt}"`)).join("");if(!Pt){return`<${Wt}${tn}>`}return`<${Wt}${tn}>${Pt}`}write(Wt){return tn(this,void 0,void 0,(function*(){const Pt=!!(Wt===null||Wt===void 0?void 0:Wt.overwrite);const en=yield this.filePath();const tn=Pt?sn:rn;yield tn(en,this._buffer,{encoding:"utf8"});return this.emptyBuffer()}))}clear(){return tn(this,void 0,void 0,(function*(){return this.emptyBuffer().write({overwrite:true})}))}stringify(){return this._buffer}isEmptyBuffer(){return this._buffer.length===0}emptyBuffer(){this._buffer="";return this}addRaw(Wt,Pt=false){this._buffer+=Wt;return Pt?this.addEOL():this}addEOL(){return this.addRaw(nn.EOL)}addCodeBlock(Wt,Pt){const en=Object.assign({},Pt&&{lang:Pt});const tn=this.wrap("pre",this.wrap("code",Wt),en);return this.addRaw(tn).addEOL()}addList(Wt,Pt=false){const en=Pt?"ol":"ul";const tn=Wt.map((Wt=>this.wrap("li",Wt))).join("");const nn=this.wrap(en,tn);return this.addRaw(nn).addEOL()}addTable(Wt){const Pt=Wt.map((Wt=>{const Pt=Wt.map((Wt=>{if(typeof Wt==="string"){return this.wrap("td",Wt)}const{header:Pt,data:en,colspan:tn,rowspan:nn}=Wt;const an=Pt?"th":"td";const In=Object.assign(Object.assign({},tn&&{colspan:tn}),nn&&{rowspan:nn});return this.wrap(an,en,In)})).join("");return this.wrap("tr",Pt)})).join("");const en=this.wrap("table",Pt);return this.addRaw(en).addEOL()}addDetails(Wt,Pt){const en=this.wrap("details",this.wrap("summary",Wt)+Pt);return this.addRaw(en).addEOL()}addImage(Wt,Pt,en){const{width:tn,height:nn}=en||{};const an=Object.assign(Object.assign({},tn&&{width:tn}),nn&&{height:nn});const In=this.wrap("img",null,Object.assign({src:Wt,alt:Pt},an));return this.addRaw(In).addEOL()}addHeading(Wt,Pt){const en=`h${Pt}`;const tn=["h1","h2","h3","h4","h5","h6"].includes(en)?en:"h1";const nn=this.wrap(tn,Wt);return this.addRaw(nn).addEOL()}addSeparator(){const Wt=this.wrap("hr",null);return this.addRaw(Wt).addEOL()}addBreak(){const Wt=this.wrap("br",null);return this.addRaw(Wt).addEOL()}addQuote(Wt,Pt){const en=Object.assign({},Pt&&{cite:Pt});const tn=this.wrap("blockquote",Wt,en);return this.addRaw(tn).addEOL()}addLink(Wt,Pt){const en=this.wrap("a",Wt,{href:Pt});return this.addRaw(en).addEOL()}}const on=new Summary;Pt.markdownSummary=on;Pt.summary=on},30302:(Wt,Pt)=>{Object.defineProperty(Pt,"__esModule",{value:true});Pt.toCommandProperties=Pt.toCommandValue=void 0;function toCommandValue(Wt){if(Wt===null||Wt===undefined){return""}else if(typeof Wt==="string"||Wt instanceof String){return Wt}return JSON.stringify(Wt)}Pt.toCommandValue=toCommandValue;function toCommandProperties(Wt){if(!Object.keys(Wt).length){return{}}return{title:Wt.title,file:Wt.file,line:Wt.startLine,endLine:Wt.endLine,col:Wt.startColumn,endColumn:Wt.endColumn}}Pt.toCommandProperties=toCommandProperties},95236:function(Wt,Pt,en){var tn=this&&this.__createBinding||(Object.create?function(Wt,Pt,en,tn){if(tn===undefined)tn=en;Object.defineProperty(Wt,tn,{enumerable:true,get:function(){return Pt[en]}})}:function(Wt,Pt,en,tn){if(tn===undefined)tn=en;Wt[tn]=Pt[en]});var nn=this&&this.__setModuleDefault||(Object.create?function(Wt,Pt){Object.defineProperty(Wt,"default",{enumerable:true,value:Pt})}:function(Wt,Pt){Wt["default"]=Pt});var an=this&&this.__importStar||function(Wt){if(Wt&&Wt.__esModule)return Wt;var Pt={};if(Wt!=null)for(var en in Wt)if(en!=="default"&&Object.hasOwnProperty.call(Wt,en))tn(Pt,Wt,en);nn(Pt,Wt);return Pt};var In=this&&this.__awaiter||function(Wt,Pt,en,tn){function adopt(Wt){return Wt instanceof en?Wt:new en((function(Pt){Pt(Wt)}))}return new(en||(en=Promise))((function(en,nn){function fulfilled(Wt){try{step(tn.next(Wt))}catch(Wt){nn(Wt)}}function rejected(Wt){try{step(tn["throw"](Wt))}catch(Wt){nn(Wt)}}function step(Wt){Wt.done?en(Wt.value):adopt(Wt.value).then(fulfilled,rejected)}step((tn=tn.apply(Wt,Pt||[])).next())}))};Object.defineProperty(Pt,"__esModule",{value:true});Pt.getExecOutput=Pt.exec=void 0;const rn=en(13193);const sn=an(en(6665));function exec(Wt,Pt,en){return In(this,void 0,void 0,(function*(){const tn=sn.argStringToArray(Wt);if(tn.length===0){throw new Error(`Parameter 'commandLine' cannot be null or empty.`)}const nn=tn[0];Pt=tn.slice(1).concat(Pt||[]);const an=new sn.ToolRunner(nn,Pt,en);return an.exec()}))}Pt.exec=exec;function getExecOutput(Wt,Pt,en){var tn,nn;return In(this,void 0,void 0,(function*(){let an="";let In="";const sn=new rn.StringDecoder("utf8");const on=new rn.StringDecoder("utf8");const cn=(tn=en===null||en===void 0?void 0:en.listeners)===null||tn===void 0?void 0:tn.stdout;const dn=(nn=en===null||en===void 0?void 0:en.listeners)===null||nn===void 0?void 0:nn.stderr;const stdErrListener=Wt=>{In+=on.write(Wt);if(dn){dn(Wt)}};const stdOutListener=Wt=>{an+=sn.write(Wt);if(cn){cn(Wt)}};const un=Object.assign(Object.assign({},en===null||en===void 0?void 0:en.listeners),{stdout:stdOutListener,stderr:stdErrListener});const pn=yield exec(Wt,Pt,Object.assign(Object.assign({},en),{listeners:un}));an+=sn.end();In+=on.end();return{exitCode:pn,stdout:an,stderr:In}}))}Pt.getExecOutput=getExecOutput},6665:function(Wt,Pt,en){var tn=this&&this.__createBinding||(Object.create?function(Wt,Pt,en,tn){if(tn===undefined)tn=en;Object.defineProperty(Wt,tn,{enumerable:true,get:function(){return Pt[en]}})}:function(Wt,Pt,en,tn){if(tn===undefined)tn=en;Wt[tn]=Pt[en]});var nn=this&&this.__setModuleDefault||(Object.create?function(Wt,Pt){Object.defineProperty(Wt,"default",{enumerable:true,value:Pt})}:function(Wt,Pt){Wt["default"]=Pt});var an=this&&this.__importStar||function(Wt){if(Wt&&Wt.__esModule)return Wt;var Pt={};if(Wt!=null)for(var en in Wt)if(en!=="default"&&Object.hasOwnProperty.call(Wt,en))tn(Pt,Wt,en);nn(Pt,Wt);return Pt};var In=this&&this.__awaiter||function(Wt,Pt,en,tn){function adopt(Wt){return Wt instanceof en?Wt:new en((function(Pt){Pt(Wt)}))}return new(en||(en=Promise))((function(en,nn){function fulfilled(Wt){try{step(tn.next(Wt))}catch(Wt){nn(Wt)}}function rejected(Wt){try{step(tn["throw"](Wt))}catch(Wt){nn(Wt)}}function step(Wt){Wt.done?en(Wt.value):adopt(Wt.value).then(fulfilled,rejected)}step((tn=tn.apply(Wt,Pt||[])).next())}))};Object.defineProperty(Pt,"__esModule",{value:true});Pt.argStringToArray=Pt.ToolRunner=void 0;const rn=an(en(70857));const sn=an(en(24434));const on=an(en(35317));const cn=an(en(16928));const dn=an(en(94994));const un=an(en(75207));const pn=en(53557);const mn=process.platform==="win32";class ToolRunner extends sn.EventEmitter{constructor(Wt,Pt,en){super();if(!Wt){throw new Error("Parameter 'toolPath' cannot be null or empty.")}this.toolPath=Wt;this.args=Pt||[];this.options=en||{}}_debug(Wt){if(this.options.listeners&&this.options.listeners.debug){this.options.listeners.debug(Wt)}}_getCommandString(Wt,Pt){const en=this._getSpawnFileName();const tn=this._getSpawnArgs(Wt);let nn=Pt?"":"[command]";if(mn){if(this._isCmdFile()){nn+=en;for(const Wt of tn){nn+=` ${Wt}`}}else if(Wt.windowsVerbatimArguments){nn+=`"${en}"`;for(const Wt of tn){nn+=` ${Wt}`}}else{nn+=this._windowsQuoteCmdArg(en);for(const Wt of tn){nn+=` ${this._windowsQuoteCmdArg(Wt)}`}}}else{nn+=en;for(const Wt of tn){nn+=` ${Wt}`}}return nn}_processLineBuffer(Wt,Pt,en){try{let tn=Pt+Wt.toString();let nn=tn.indexOf(rn.EOL);while(nn>-1){const Wt=tn.substring(0,nn);en(Wt);tn=tn.substring(nn+rn.EOL.length);nn=tn.indexOf(rn.EOL)}return tn}catch(Wt){this._debug(`error processing line. Failed with error ${Wt}`);return""}}_getSpawnFileName(){if(mn){if(this._isCmdFile()){return process.env["COMSPEC"]||"cmd.exe"}}return this.toolPath}_getSpawnArgs(Wt){if(mn){if(this._isCmdFile()){let Pt=`/D /S /C "${this._windowsQuoteCmdArg(this.toolPath)}`;for(const en of this.args){Pt+=" ";Pt+=Wt.windowsVerbatimArguments?en:this._windowsQuoteCmdArg(en)}Pt+='"';return[Pt]}}return this.args}_endsWith(Wt,Pt){return Wt.endsWith(Pt)}_isCmdFile(){const Wt=this.toolPath.toUpperCase();return this._endsWith(Wt,".CMD")||this._endsWith(Wt,".BAT")}_windowsQuoteCmdArg(Wt){if(!this._isCmdFile()){return this._uvQuoteCmdArg(Wt)}if(!Wt){return'""'}const Pt=[" ","\t","&","(",")","[","]","{","}","^","=",";","!","'","+",",","`","~","|","<",">",'"'];let en=false;for(const tn of Wt){if(Pt.some((Wt=>Wt===tn))){en=true;break}}if(!en){return Wt}let tn='"';let nn=true;for(let Pt=Wt.length;Pt>0;Pt--){tn+=Wt[Pt-1];if(nn&&Wt[Pt-1]==="\\"){tn+="\\"}else if(Wt[Pt-1]==='"'){nn=true;tn+='"'}else{nn=false}}tn+='"';return tn.split("").reverse().join("")}_uvQuoteCmdArg(Wt){if(!Wt){return'""'}if(!Wt.includes(" ")&&!Wt.includes("\t")&&!Wt.includes('"')){return Wt}if(!Wt.includes('"')&&!Wt.includes("\\")){return`"${Wt}"`}let Pt='"';let en=true;for(let tn=Wt.length;tn>0;tn--){Pt+=Wt[tn-1];if(en&&Wt[tn-1]==="\\"){Pt+="\\"}else if(Wt[tn-1]==='"'){en=true;Pt+="\\"}else{en=false}}Pt+='"';return Pt.split("").reverse().join("")}_cloneExecOptions(Wt){Wt=Wt||{};const Pt={cwd:Wt.cwd||process.cwd(),env:Wt.env||process.env,silent:Wt.silent||false,windowsVerbatimArguments:Wt.windowsVerbatimArguments||false,failOnStdErr:Wt.failOnStdErr||false,ignoreReturnCode:Wt.ignoreReturnCode||false,delay:Wt.delay||1e4};Pt.outStream=Wt.outStream||process.stdout;Pt.errStream=Wt.errStream||process.stderr;return Pt}_getSpawnOptions(Wt,Pt){Wt=Wt||{};const en={};en.cwd=Wt.cwd;en.env=Wt.env;en["windowsVerbatimArguments"]=Wt.windowsVerbatimArguments||this._isCmdFile();if(Wt.windowsVerbatimArguments){en.argv0=`"${Pt}"`}return en}exec(){return In(this,void 0,void 0,(function*(){if(!un.isRooted(this.toolPath)&&(this.toolPath.includes("/")||mn&&this.toolPath.includes("\\"))){this.toolPath=cn.resolve(process.cwd(),this.options.cwd||process.cwd(),this.toolPath)}this.toolPath=yield dn.which(this.toolPath,true);return new Promise(((Wt,Pt)=>In(this,void 0,void 0,(function*(){this._debug(`exec tool: ${this.toolPath}`);this._debug("arguments:");for(const Wt of this.args){this._debug(` ${Wt}`)}const en=this._cloneExecOptions(this.options);if(!en.silent&&en.outStream){en.outStream.write(this._getCommandString(en)+rn.EOL)}const tn=new ExecState(en,this.toolPath);tn.on("debug",(Wt=>{this._debug(Wt)}));if(this.options.cwd&&!(yield un.exists(this.options.cwd))){return Pt(new Error(`The cwd: ${this.options.cwd} does not exist!`))}const nn=this._getSpawnFileName();const an=on.spawn(nn,this._getSpawnArgs(en),this._getSpawnOptions(this.options,nn));let In="";if(an.stdout){an.stdout.on("data",(Wt=>{if(this.options.listeners&&this.options.listeners.stdout){this.options.listeners.stdout(Wt)}if(!en.silent&&en.outStream){en.outStream.write(Wt)}In=this._processLineBuffer(Wt,In,(Wt=>{if(this.options.listeners&&this.options.listeners.stdline){this.options.listeners.stdline(Wt)}}))}))}let sn="";if(an.stderr){an.stderr.on("data",(Wt=>{tn.processStderr=true;if(this.options.listeners&&this.options.listeners.stderr){this.options.listeners.stderr(Wt)}if(!en.silent&&en.errStream&&en.outStream){const Pt=en.failOnStdErr?en.errStream:en.outStream;Pt.write(Wt)}sn=this._processLineBuffer(Wt,sn,(Wt=>{if(this.options.listeners&&this.options.listeners.errline){this.options.listeners.errline(Wt)}}))}))}an.on("error",(Wt=>{tn.processError=Wt.message;tn.processExited=true;tn.processClosed=true;tn.CheckComplete()}));an.on("exit",(Wt=>{tn.processExitCode=Wt;tn.processExited=true;this._debug(`Exit code ${Wt} received from tool '${this.toolPath}'`);tn.CheckComplete()}));an.on("close",(Wt=>{tn.processExitCode=Wt;tn.processExited=true;tn.processClosed=true;this._debug(`STDIO streams have closed for tool '${this.toolPath}'`);tn.CheckComplete()}));tn.on("done",((en,tn)=>{if(In.length>0){this.emit("stdline",In)}if(sn.length>0){this.emit("errline",sn)}an.removeAllListeners();if(en){Pt(en)}else{Wt(tn)}}));if(this.options.input){if(!an.stdin){throw new Error("child process missing stdin")}an.stdin.end(this.options.input)}}))))}))}}Pt.ToolRunner=ToolRunner;function argStringToArray(Wt){const Pt=[];let en=false;let tn=false;let nn="";function append(Wt){if(tn&&Wt!=='"'){nn+="\\"}nn+=Wt;tn=false}for(let an=0;an0){Pt.push(nn);nn=""}continue}append(In)}if(nn.length>0){Pt.push(nn.trim())}return Pt}Pt.argStringToArray=argStringToArray;class ExecState extends sn.EventEmitter{constructor(Wt,Pt){super();this.processClosed=false;this.processError="";this.processExitCode=0;this.processExited=false;this.processStderr=false;this.delay=1e4;this.done=false;this.timeout=null;if(!Pt){throw new Error("toolPath must not be empty")}this.options=Wt;this.toolPath=Pt;if(Wt.delay){this.delay=Wt.delay}}CheckComplete(){if(this.done){return}if(this.processClosed){this._setResult()}else if(this.processExited){this.timeout=pn.setTimeout(ExecState.HandleTimeout,this.delay,this)}}_debug(Wt){this.emit("debug",Wt)}_setResult(){let Wt;if(this.processExited){if(this.processError){Wt=new Error(`There was an error when attempting to execute the process '${this.toolPath}'. This may indicate the process failed to start. Error: ${this.processError}`)}else if(this.processExitCode!==0&&!this.options.ignoreReturnCode){Wt=new Error(`The process '${this.toolPath}' failed with exit code ${this.processExitCode}`)}else if(this.processStderr&&this.options.failOnStdErr){Wt=new Error(`The process '${this.toolPath}' failed because one or more lines were written to the STDERR stream`)}}if(this.timeout){clearTimeout(this.timeout);this.timeout=null}this.done=true;this.emit("done",Wt,this.processExitCode)}static HandleTimeout(Wt){if(Wt.done){return}if(!Wt.processClosed&&Wt.processExited){const Pt=`The STDIO streams did not close within ${Wt.delay/1e3} seconds of the exit event from process '${Wt.toolPath}'. This may indicate a child process inherited the STDIO streams and has not yet exited.`;Wt._debug(Pt)}Wt._setResult()}}},51648:(Wt,Pt,en)=>{Object.defineProperty(Pt,"__esModule",{value:true});Pt.Context=void 0;const tn=en(79896);const nn=en(70857);class Context{constructor(){var Wt,Pt,en;this.payload={};if(process.env.GITHUB_EVENT_PATH){if((0,tn.existsSync)(process.env.GITHUB_EVENT_PATH)){this.payload=JSON.parse((0,tn.readFileSync)(process.env.GITHUB_EVENT_PATH,{encoding:"utf8"}))}else{const Wt=process.env.GITHUB_EVENT_PATH;process.stdout.write(`GITHUB_EVENT_PATH ${Wt} does not exist${nn.EOL}`)}}this.eventName=process.env.GITHUB_EVENT_NAME;this.sha=process.env.GITHUB_SHA;this.ref=process.env.GITHUB_REF;this.workflow=process.env.GITHUB_WORKFLOW;this.action=process.env.GITHUB_ACTION;this.actor=process.env.GITHUB_ACTOR;this.job=process.env.GITHUB_JOB;this.runNumber=parseInt(process.env.GITHUB_RUN_NUMBER,10);this.runId=parseInt(process.env.GITHUB_RUN_ID,10);this.apiUrl=(Wt=process.env.GITHUB_API_URL)!==null&&Wt!==void 0?Wt:`https://api.github.com`;this.serverUrl=(Pt=process.env.GITHUB_SERVER_URL)!==null&&Pt!==void 0?Pt:`https://github.com`;this.graphqlUrl=(en=process.env.GITHUB_GRAPHQL_URL)!==null&&en!==void 0?en:`https://api.github.com/graphql`}get issue(){const Wt=this.payload;return Object.assign(Object.assign({},this.repo),{number:(Wt.issue||Wt.pull_request||Wt).number})}get repo(){if(process.env.GITHUB_REPOSITORY){const[Wt,Pt]=process.env.GITHUB_REPOSITORY.split("/");return{owner:Wt,repo:Pt}}if(this.payload.repository){return{owner:this.payload.repository.owner.login,repo:this.payload.repository.name}}throw new Error("context.repo requires a GITHUB_REPOSITORY environment variable like 'owner/repo'")}}Pt.Context=Context},93228:function(Wt,Pt,en){var tn=this&&this.__createBinding||(Object.create?function(Wt,Pt,en,tn){if(tn===undefined)tn=en;var nn=Object.getOwnPropertyDescriptor(Pt,en);if(!nn||("get"in nn?!Pt.__esModule:nn.writable||nn.configurable)){nn={enumerable:true,get:function(){return Pt[en]}}}Object.defineProperty(Wt,tn,nn)}:function(Wt,Pt,en,tn){if(tn===undefined)tn=en;Wt[tn]=Pt[en]});var nn=this&&this.__setModuleDefault||(Object.create?function(Wt,Pt){Object.defineProperty(Wt,"default",{enumerable:true,value:Pt})}:function(Wt,Pt){Wt["default"]=Pt});var an=this&&this.__importStar||function(Wt){if(Wt&&Wt.__esModule)return Wt;var Pt={};if(Wt!=null)for(var en in Wt)if(en!=="default"&&Object.prototype.hasOwnProperty.call(Wt,en))tn(Pt,Wt,en);nn(Pt,Wt);return Pt};Object.defineProperty(Pt,"__esModule",{value:true});Pt.getOctokit=Pt.context=void 0;const In=an(en(51648));const rn=en(38006);Pt.context=new In.Context;function getOctokit(Wt,Pt,...en){const tn=rn.GitHub.plugin(...en);return new tn((0,rn.getOctokitOptions)(Wt,Pt))}Pt.getOctokit=getOctokit},65156:function(Wt,Pt,en){var tn=this&&this.__createBinding||(Object.create?function(Wt,Pt,en,tn){if(tn===undefined)tn=en;var nn=Object.getOwnPropertyDescriptor(Pt,en);if(!nn||("get"in nn?!Pt.__esModule:nn.writable||nn.configurable)){nn={enumerable:true,get:function(){return Pt[en]}}}Object.defineProperty(Wt,tn,nn)}:function(Wt,Pt,en,tn){if(tn===undefined)tn=en;Wt[tn]=Pt[en]});var nn=this&&this.__setModuleDefault||(Object.create?function(Wt,Pt){Object.defineProperty(Wt,"default",{enumerable:true,value:Pt})}:function(Wt,Pt){Wt["default"]=Pt});var an=this&&this.__importStar||function(Wt){if(Wt&&Wt.__esModule)return Wt;var Pt={};if(Wt!=null)for(var en in Wt)if(en!=="default"&&Object.prototype.hasOwnProperty.call(Wt,en))tn(Pt,Wt,en);nn(Pt,Wt);return Pt};var In=this&&this.__awaiter||function(Wt,Pt,en,tn){function adopt(Wt){return Wt instanceof en?Wt:new en((function(Pt){Pt(Wt)}))}return new(en||(en=Promise))((function(en,nn){function fulfilled(Wt){try{step(tn.next(Wt))}catch(Wt){nn(Wt)}}function rejected(Wt){try{step(tn["throw"](Wt))}catch(Wt){nn(Wt)}}function step(Wt){Wt.done?en(Wt.value):adopt(Wt.value).then(fulfilled,rejected)}step((tn=tn.apply(Wt,Pt||[])).next())}))};Object.defineProperty(Pt,"__esModule",{value:true});Pt.getApiBaseUrl=Pt.getProxyFetch=Pt.getProxyAgentDispatcher=Pt.getProxyAgent=Pt.getAuthString=void 0;const rn=an(en(54844));const sn=en(46752);function getAuthString(Wt,Pt){if(!Wt&&!Pt.auth){throw new Error("Parameter token or opts.auth is required")}else if(Wt&&Pt.auth){throw new Error("Parameters token and opts.auth may not both be specified")}return typeof Pt.auth==="string"?Pt.auth:`token ${Wt}`}Pt.getAuthString=getAuthString;function getProxyAgent(Wt){const Pt=new rn.HttpClient;return Pt.getAgent(Wt)}Pt.getProxyAgent=getProxyAgent;function getProxyAgentDispatcher(Wt){const Pt=new rn.HttpClient;return Pt.getAgentDispatcher(Wt)}Pt.getProxyAgentDispatcher=getProxyAgentDispatcher;function getProxyFetch(Wt){const Pt=getProxyAgentDispatcher(Wt);const proxyFetch=(Wt,en)=>In(this,void 0,void 0,(function*(){return(0,sn.fetch)(Wt,Object.assign(Object.assign({},en),{dispatcher:Pt}))}));return proxyFetch}Pt.getProxyFetch=getProxyFetch;function getApiBaseUrl(){return process.env["GITHUB_API_URL"]||"https://api.github.com"}Pt.getApiBaseUrl=getApiBaseUrl},38006:function(Wt,Pt,en){var tn=this&&this.__createBinding||(Object.create?function(Wt,Pt,en,tn){if(tn===undefined)tn=en;var nn=Object.getOwnPropertyDescriptor(Pt,en);if(!nn||("get"in nn?!Pt.__esModule:nn.writable||nn.configurable)){nn={enumerable:true,get:function(){return Pt[en]}}}Object.defineProperty(Wt,tn,nn)}:function(Wt,Pt,en,tn){if(tn===undefined)tn=en;Wt[tn]=Pt[en]});var nn=this&&this.__setModuleDefault||(Object.create?function(Wt,Pt){Object.defineProperty(Wt,"default",{enumerable:true,value:Pt})}:function(Wt,Pt){Wt["default"]=Pt});var an=this&&this.__importStar||function(Wt){if(Wt&&Wt.__esModule)return Wt;var Pt={};if(Wt!=null)for(var en in Wt)if(en!=="default"&&Object.prototype.hasOwnProperty.call(Wt,en))tn(Pt,Wt,en);nn(Pt,Wt);return Pt};Object.defineProperty(Pt,"__esModule",{value:true});Pt.getOctokitOptions=Pt.GitHub=Pt.defaults=Pt.context=void 0;const In=an(en(51648));const rn=an(en(65156));const sn=en(61897);const on=en(84935);const cn=en(38082);Pt.context=new In.Context;const dn=rn.getApiBaseUrl();Pt.defaults={baseUrl:dn,request:{agent:rn.getProxyAgent(dn),fetch:rn.getProxyFetch(dn)}};Pt.GitHub=sn.Octokit.plugin(on.restEndpointMethods,cn.paginateRest).defaults(Pt.defaults);function getOctokitOptions(Wt,Pt){const en=Object.assign({},Pt||{});const tn=rn.getAuthString(Wt,en);if(tn){en.auth=tn}return en}Pt.getOctokitOptions=getOctokitOptions},44552:function(Wt,Pt){var en=this&&this.__awaiter||function(Wt,Pt,en,tn){function adopt(Wt){return Wt instanceof en?Wt:new en((function(Pt){Pt(Wt)}))}return new(en||(en=Promise))((function(en,nn){function fulfilled(Wt){try{step(tn.next(Wt))}catch(Wt){nn(Wt)}}function rejected(Wt){try{step(tn["throw"](Wt))}catch(Wt){nn(Wt)}}function step(Wt){Wt.done?en(Wt.value):adopt(Wt.value).then(fulfilled,rejected)}step((tn=tn.apply(Wt,Pt||[])).next())}))};Object.defineProperty(Pt,"__esModule",{value:true});Pt.PersonalAccessTokenCredentialHandler=Pt.BearerCredentialHandler=Pt.BasicCredentialHandler=void 0;class BasicCredentialHandler{constructor(Wt,Pt){this.username=Wt;this.password=Pt}prepareRequest(Wt){if(!Wt.headers){throw Error("The request has no headers")}Wt.headers["Authorization"]=`Basic ${Buffer.from(`${this.username}:${this.password}`).toString("base64")}`}canHandleAuthentication(){return false}handleAuthentication(){return en(this,void 0,void 0,(function*(){throw new Error("not implemented")}))}}Pt.BasicCredentialHandler=BasicCredentialHandler;class BearerCredentialHandler{constructor(Wt){this.token=Wt}prepareRequest(Wt){if(!Wt.headers){throw Error("The request has no headers")}Wt.headers["Authorization"]=`Bearer ${this.token}`}canHandleAuthentication(){return false}handleAuthentication(){return en(this,void 0,void 0,(function*(){throw new Error("not implemented")}))}}Pt.BearerCredentialHandler=BearerCredentialHandler;class PersonalAccessTokenCredentialHandler{constructor(Wt){this.token=Wt}prepareRequest(Wt){if(!Wt.headers){throw Error("The request has no headers")}Wt.headers["Authorization"]=`Basic ${Buffer.from(`PAT:${this.token}`).toString("base64")}`}canHandleAuthentication(){return false}handleAuthentication(){return en(this,void 0,void 0,(function*(){throw new Error("not implemented")}))}}Pt.PersonalAccessTokenCredentialHandler=PersonalAccessTokenCredentialHandler},54844:function(Wt,Pt,en){var tn=this&&this.__createBinding||(Object.create?function(Wt,Pt,en,tn){if(tn===undefined)tn=en;var nn=Object.getOwnPropertyDescriptor(Pt,en);if(!nn||("get"in nn?!Pt.__esModule:nn.writable||nn.configurable)){nn={enumerable:true,get:function(){return Pt[en]}}}Object.defineProperty(Wt,tn,nn)}:function(Wt,Pt,en,tn){if(tn===undefined)tn=en;Wt[tn]=Pt[en]});var nn=this&&this.__setModuleDefault||(Object.create?function(Wt,Pt){Object.defineProperty(Wt,"default",{enumerable:true,value:Pt})}:function(Wt,Pt){Wt["default"]=Pt});var an=this&&this.__importStar||function(Wt){if(Wt&&Wt.__esModule)return Wt;var Pt={};if(Wt!=null)for(var en in Wt)if(en!=="default"&&Object.prototype.hasOwnProperty.call(Wt,en))tn(Pt,Wt,en);nn(Pt,Wt);return Pt};var In=this&&this.__awaiter||function(Wt,Pt,en,tn){function adopt(Wt){return Wt instanceof en?Wt:new en((function(Pt){Pt(Wt)}))}return new(en||(en=Promise))((function(en,nn){function fulfilled(Wt){try{step(tn.next(Wt))}catch(Wt){nn(Wt)}}function rejected(Wt){try{step(tn["throw"](Wt))}catch(Wt){nn(Wt)}}function step(Wt){Wt.done?en(Wt.value):adopt(Wt.value).then(fulfilled,rejected)}step((tn=tn.apply(Wt,Pt||[])).next())}))};Object.defineProperty(Pt,"__esModule",{value:true});Pt.HttpClient=Pt.isHttps=Pt.HttpClientResponse=Pt.HttpClientError=Pt.getProxyUrl=Pt.MediaTypes=Pt.Headers=Pt.HttpCodes=void 0;const rn=an(en(58611));const sn=an(en(65692));const on=an(en(54988));const cn=an(en(20770));const dn=en(46752);var un;(function(Wt){Wt[Wt["OK"]=200]="OK";Wt[Wt["MultipleChoices"]=300]="MultipleChoices";Wt[Wt["MovedPermanently"]=301]="MovedPermanently";Wt[Wt["ResourceMoved"]=302]="ResourceMoved";Wt[Wt["SeeOther"]=303]="SeeOther";Wt[Wt["NotModified"]=304]="NotModified";Wt[Wt["UseProxy"]=305]="UseProxy";Wt[Wt["SwitchProxy"]=306]="SwitchProxy";Wt[Wt["TemporaryRedirect"]=307]="TemporaryRedirect";Wt[Wt["PermanentRedirect"]=308]="PermanentRedirect";Wt[Wt["BadRequest"]=400]="BadRequest";Wt[Wt["Unauthorized"]=401]="Unauthorized";Wt[Wt["PaymentRequired"]=402]="PaymentRequired";Wt[Wt["Forbidden"]=403]="Forbidden";Wt[Wt["NotFound"]=404]="NotFound";Wt[Wt["MethodNotAllowed"]=405]="MethodNotAllowed";Wt[Wt["NotAcceptable"]=406]="NotAcceptable";Wt[Wt["ProxyAuthenticationRequired"]=407]="ProxyAuthenticationRequired";Wt[Wt["RequestTimeout"]=408]="RequestTimeout";Wt[Wt["Conflict"]=409]="Conflict";Wt[Wt["Gone"]=410]="Gone";Wt[Wt["TooManyRequests"]=429]="TooManyRequests";Wt[Wt["InternalServerError"]=500]="InternalServerError";Wt[Wt["NotImplemented"]=501]="NotImplemented";Wt[Wt["BadGateway"]=502]="BadGateway";Wt[Wt["ServiceUnavailable"]=503]="ServiceUnavailable";Wt[Wt["GatewayTimeout"]=504]="GatewayTimeout"})(un||(Pt.HttpCodes=un={}));var pn;(function(Wt){Wt["Accept"]="accept";Wt["ContentType"]="content-type"})(pn||(Pt.Headers=pn={}));var mn;(function(Wt){Wt["ApplicationJson"]="application/json"})(mn||(Pt.MediaTypes=mn={}));function getProxyUrl(Wt){const Pt=on.getProxyUrl(new URL(Wt));return Pt?Pt.href:""}Pt.getProxyUrl=getProxyUrl;const bn=[un.MovedPermanently,un.ResourceMoved,un.SeeOther,un.TemporaryRedirect,un.PermanentRedirect];const Gn=[un.BadGateway,un.ServiceUnavailable,un.GatewayTimeout];const hn=["OPTIONS","GET","DELETE","HEAD"];const Zn=10;const An=5;class HttpClientError extends Error{constructor(Wt,Pt){super(Wt);this.name="HttpClientError";this.statusCode=Pt;Object.setPrototypeOf(this,HttpClientError.prototype)}}Pt.HttpClientError=HttpClientError;class HttpClientResponse{constructor(Wt){this.message=Wt}readBody(){return In(this,void 0,void 0,(function*(){return new Promise((Wt=>In(this,void 0,void 0,(function*(){let Pt=Buffer.alloc(0);this.message.on("data",(Wt=>{Pt=Buffer.concat([Pt,Wt])}));this.message.on("end",(()=>{Wt(Pt.toString())}))}))))}))}readBodyBuffer(){return In(this,void 0,void 0,(function*(){return new Promise((Wt=>In(this,void 0,void 0,(function*(){const Pt=[];this.message.on("data",(Wt=>{Pt.push(Wt)}));this.message.on("end",(()=>{Wt(Buffer.concat(Pt))}))}))))}))}}Pt.HttpClientResponse=HttpClientResponse;function isHttps(Wt){const Pt=new URL(Wt);return Pt.protocol==="https:"}Pt.isHttps=isHttps;class HttpClient{constructor(Wt,Pt,en){this._ignoreSslError=false;this._allowRedirects=true;this._allowRedirectDowngrade=false;this._maxRedirects=50;this._allowRetries=false;this._maxRetries=1;this._keepAlive=false;this._disposed=false;this.userAgent=Wt;this.handlers=Pt||[];this.requestOptions=en;if(en){if(en.ignoreSslError!=null){this._ignoreSslError=en.ignoreSslError}this._socketTimeout=en.socketTimeout;if(en.allowRedirects!=null){this._allowRedirects=en.allowRedirects}if(en.allowRedirectDowngrade!=null){this._allowRedirectDowngrade=en.allowRedirectDowngrade}if(en.maxRedirects!=null){this._maxRedirects=Math.max(en.maxRedirects,0)}if(en.keepAlive!=null){this._keepAlive=en.keepAlive}if(en.allowRetries!=null){this._allowRetries=en.allowRetries}if(en.maxRetries!=null){this._maxRetries=en.maxRetries}}}options(Wt,Pt){return In(this,void 0,void 0,(function*(){return this.request("OPTIONS",Wt,null,Pt||{})}))}get(Wt,Pt){return In(this,void 0,void 0,(function*(){return this.request("GET",Wt,null,Pt||{})}))}del(Wt,Pt){return In(this,void 0,void 0,(function*(){return this.request("DELETE",Wt,null,Pt||{})}))}post(Wt,Pt,en){return In(this,void 0,void 0,(function*(){return this.request("POST",Wt,Pt,en||{})}))}patch(Wt,Pt,en){return In(this,void 0,void 0,(function*(){return this.request("PATCH",Wt,Pt,en||{})}))}put(Wt,Pt,en){return In(this,void 0,void 0,(function*(){return this.request("PUT",Wt,Pt,en||{})}))}head(Wt,Pt){return In(this,void 0,void 0,(function*(){return this.request("HEAD",Wt,null,Pt||{})}))}sendStream(Wt,Pt,en,tn){return In(this,void 0,void 0,(function*(){return this.request(Wt,Pt,en,tn)}))}getJson(Wt,Pt={}){return In(this,void 0,void 0,(function*(){Pt[pn.Accept]=this._getExistingOrDefaultHeader(Pt,pn.Accept,mn.ApplicationJson);const en=yield this.get(Wt,Pt);return this._processResponse(en,this.requestOptions)}))}postJson(Wt,Pt,en={}){return In(this,void 0,void 0,(function*(){const tn=JSON.stringify(Pt,null,2);en[pn.Accept]=this._getExistingOrDefaultHeader(en,pn.Accept,mn.ApplicationJson);en[pn.ContentType]=this._getExistingOrDefaultHeader(en,pn.ContentType,mn.ApplicationJson);const nn=yield this.post(Wt,tn,en);return this._processResponse(nn,this.requestOptions)}))}putJson(Wt,Pt,en={}){return In(this,void 0,void 0,(function*(){const tn=JSON.stringify(Pt,null,2);en[pn.Accept]=this._getExistingOrDefaultHeader(en,pn.Accept,mn.ApplicationJson);en[pn.ContentType]=this._getExistingOrDefaultHeader(en,pn.ContentType,mn.ApplicationJson);const nn=yield this.put(Wt,tn,en);return this._processResponse(nn,this.requestOptions)}))}patchJson(Wt,Pt,en={}){return In(this,void 0,void 0,(function*(){const tn=JSON.stringify(Pt,null,2);en[pn.Accept]=this._getExistingOrDefaultHeader(en,pn.Accept,mn.ApplicationJson);en[pn.ContentType]=this._getExistingOrDefaultHeader(en,pn.ContentType,mn.ApplicationJson);const nn=yield this.patch(Wt,tn,en);return this._processResponse(nn,this.requestOptions)}))}request(Wt,Pt,en,tn){return In(this,void 0,void 0,(function*(){if(this._disposed){throw new Error("Client has already been disposed.")}const nn=new URL(Pt);let an=this._prepareRequest(Wt,nn,tn);const In=this._allowRetries&&hn.includes(Wt)?this._maxRetries+1:1;let rn=0;let sn;do{sn=yield this.requestRaw(an,en);if(sn&&sn.message&&sn.message.statusCode===un.Unauthorized){let Wt;for(const Pt of this.handlers){if(Pt.canHandleAuthentication(sn)){Wt=Pt;break}}if(Wt){return Wt.handleAuthentication(this,an,en)}else{return sn}}let Pt=this._maxRedirects;while(sn.message.statusCode&&bn.includes(sn.message.statusCode)&&this._allowRedirects&&Pt>0){const In=sn.message.headers["location"];if(!In){break}const rn=new URL(In);if(nn.protocol==="https:"&&nn.protocol!==rn.protocol&&!this._allowRedirectDowngrade){throw new Error("Redirect from HTTPS to HTTP protocol. This downgrade is not allowed for security reasons. If you want to allow this behavior, set the allowRedirectDowngrade option to true.")}yield sn.readBody();if(rn.hostname!==nn.hostname){for(const Wt in tn){if(Wt.toLowerCase()==="authorization"){delete tn[Wt]}}}an=this._prepareRequest(Wt,rn,tn);sn=yield this.requestRaw(an,en);Pt--}if(!sn.message.statusCode||!Gn.includes(sn.message.statusCode)){return sn}rn+=1;if(rn{function callbackForResult(Wt,Pt){if(Wt){tn(Wt)}else if(!Pt){tn(new Error("Unknown error"))}else{en(Pt)}}this.requestRawWithCallback(Wt,Pt,callbackForResult)}))}))}requestRawWithCallback(Wt,Pt,en){if(typeof Pt==="string"){if(!Wt.options.headers){Wt.options.headers={}}Wt.options.headers["Content-Length"]=Buffer.byteLength(Pt,"utf8")}let tn=false;function handleResult(Wt,Pt){if(!tn){tn=true;en(Wt,Pt)}}const nn=Wt.httpModule.request(Wt.options,(Wt=>{const Pt=new HttpClientResponse(Wt);handleResult(undefined,Pt)}));let an;nn.on("socket",(Wt=>{an=Wt}));nn.setTimeout(this._socketTimeout||3*6e4,(()=>{if(an){an.end()}handleResult(new Error(`Request timeout: ${Wt.options.path}`))}));nn.on("error",(function(Wt){handleResult(Wt)}));if(Pt&&typeof Pt==="string"){nn.write(Pt,"utf8")}if(Pt&&typeof Pt!=="string"){Pt.on("close",(function(){nn.end()}));Pt.pipe(nn)}else{nn.end()}}getAgent(Wt){const Pt=new URL(Wt);return this._getAgent(Pt)}getAgentDispatcher(Wt){const Pt=new URL(Wt);const en=on.getProxyUrl(Pt);const tn=en&&en.hostname;if(!tn){return}return this._getProxyAgentDispatcher(Pt,en)}_prepareRequest(Wt,Pt,en){const tn={};tn.parsedUrl=Pt;const nn=tn.parsedUrl.protocol==="https:";tn.httpModule=nn?sn:rn;const an=nn?443:80;tn.options={};tn.options.host=tn.parsedUrl.hostname;tn.options.port=tn.parsedUrl.port?parseInt(tn.parsedUrl.port):an;tn.options.path=(tn.parsedUrl.pathname||"")+(tn.parsedUrl.search||"");tn.options.method=Wt;tn.options.headers=this._mergeHeaders(en);if(this.userAgent!=null){tn.options.headers["user-agent"]=this.userAgent}tn.options.agent=this._getAgent(tn.parsedUrl);if(this.handlers){for(const Wt of this.handlers){Wt.prepareRequest(tn.options)}}return tn}_mergeHeaders(Wt){if(this.requestOptions&&this.requestOptions.headers){return Object.assign({},lowercaseKeys(this.requestOptions.headers),lowercaseKeys(Wt||{}))}return lowercaseKeys(Wt||{})}_getExistingOrDefaultHeader(Wt,Pt,en){let tn;if(this.requestOptions&&this.requestOptions.headers){tn=lowercaseKeys(this.requestOptions.headers)[Pt]}return Wt[Pt]||tn||en}_getAgent(Wt){let Pt;const en=on.getProxyUrl(Wt);const tn=en&&en.hostname;if(this._keepAlive&&tn){Pt=this._proxyAgent}if(!tn){Pt=this._agent}if(Pt){return Pt}const nn=Wt.protocol==="https:";let an=100;if(this.requestOptions){an=this.requestOptions.maxSockets||rn.globalAgent.maxSockets}if(en&&en.hostname){const Wt={maxSockets:an,keepAlive:this._keepAlive,proxy:Object.assign(Object.assign({},(en.username||en.password)&&{proxyAuth:`${en.username}:${en.password}`}),{host:en.hostname,port:en.port})};let tn;const In=en.protocol==="https:";if(nn){tn=In?cn.httpsOverHttps:cn.httpsOverHttp}else{tn=In?cn.httpOverHttps:cn.httpOverHttp}Pt=tn(Wt);this._proxyAgent=Pt}if(!Pt){const Wt={keepAlive:this._keepAlive,maxSockets:an};Pt=nn?new sn.Agent(Wt):new rn.Agent(Wt);this._agent=Pt}if(nn&&this._ignoreSslError){Pt.options=Object.assign(Pt.options||{},{rejectUnauthorized:false})}return Pt}_getProxyAgentDispatcher(Wt,Pt){let en;if(this._keepAlive){en=this._proxyAgentDispatcher}if(en){return en}const tn=Wt.protocol==="https:";en=new dn.ProxyAgent(Object.assign({uri:Pt.href,pipelining:!this._keepAlive?0:1},(Pt.username||Pt.password)&&{token:`Basic ${Buffer.from(`${Pt.username}:${Pt.password}`).toString("base64")}`}));this._proxyAgentDispatcher=en;if(tn&&this._ignoreSslError){en.options=Object.assign(en.options.requestTls||{},{rejectUnauthorized:false})}return en}_performExponentialBackoff(Wt){return In(this,void 0,void 0,(function*(){Wt=Math.min(Zn,Wt);const Pt=An*Math.pow(2,Wt);return new Promise((Wt=>setTimeout((()=>Wt()),Pt)))}))}_processResponse(Wt,Pt){return In(this,void 0,void 0,(function*(){return new Promise(((en,tn)=>In(this,void 0,void 0,(function*(){const nn=Wt.message.statusCode||0;const an={statusCode:nn,result:null,headers:{}};if(nn===un.NotFound){en(an)}function dateTimeDeserializer(Wt,Pt){if(typeof Pt==="string"){const Wt=new Date(Pt);if(!isNaN(Wt.valueOf())){return Wt}}return Pt}let In;let rn;try{rn=yield Wt.readBody();if(rn&&rn.length>0){if(Pt&&Pt.deserializeDates){In=JSON.parse(rn,dateTimeDeserializer)}else{In=JSON.parse(rn)}an.result=In}an.headers=Wt.message.headers}catch(Wt){}if(nn>299){let Wt;if(In&&In.message){Wt=In.message}else if(rn&&rn.length>0){Wt=rn}else{Wt=`Failed request: (${nn})`}const Pt=new HttpClientError(Wt,nn);Pt.result=an.result;tn(Pt)}else{en(an)}}))))}))}}Pt.HttpClient=HttpClient;const lowercaseKeys=Wt=>Object.keys(Wt).reduce(((Pt,en)=>(Pt[en.toLowerCase()]=Wt[en],Pt)),{})},54988:(Wt,Pt)=>{Object.defineProperty(Pt,"__esModule",{value:true});Pt.checkBypass=Pt.getProxyUrl=void 0;function getProxyUrl(Wt){const Pt=Wt.protocol==="https:";if(checkBypass(Wt)){return undefined}const en=(()=>{if(Pt){return process.env["https_proxy"]||process.env["HTTPS_PROXY"]}else{return process.env["http_proxy"]||process.env["HTTP_PROXY"]}})();if(en){try{return new DecodedURL(en)}catch(Wt){if(!en.startsWith("http://")&&!en.startsWith("https://"))return new DecodedURL(`http://${en}`)}}else{return undefined}}Pt.getProxyUrl=getProxyUrl;function checkBypass(Wt){if(!Wt.hostname){return false}const Pt=Wt.hostname;if(isLoopbackAddress(Pt)){return true}const en=process.env["no_proxy"]||process.env["NO_PROXY"]||"";if(!en){return false}let tn;if(Wt.port){tn=Number(Wt.port)}else if(Wt.protocol==="http:"){tn=80}else if(Wt.protocol==="https:"){tn=443}const nn=[Wt.hostname.toUpperCase()];if(typeof tn==="number"){nn.push(`${nn[0]}:${tn}`)}for(const Wt of en.split(",").map((Wt=>Wt.trim().toUpperCase())).filter((Wt=>Wt))){if(Wt==="*"||nn.some((Pt=>Pt===Wt||Pt.endsWith(`.${Wt}`)||Wt.startsWith(".")&&Pt.endsWith(`${Wt}`)))){return true}}return false}Pt.checkBypass=checkBypass;function isLoopbackAddress(Wt){const Pt=Wt.toLowerCase();return Pt==="localhost"||Pt.startsWith("127.")||Pt.startsWith("[::1]")||Pt.startsWith("[0:0:0:0:0:0:0:1]")}class DecodedURL extends URL{constructor(Wt,Pt){super(Wt,Pt);this._decodedUsername=decodeURIComponent(super.username);this._decodedPassword=decodeURIComponent(super.password)}get username(){return this._decodedUsername}get password(){return this._decodedPassword}}},75207:function(Wt,Pt,en){var tn=this&&this.__createBinding||(Object.create?function(Wt,Pt,en,tn){if(tn===undefined)tn=en;Object.defineProperty(Wt,tn,{enumerable:true,get:function(){return Pt[en]}})}:function(Wt,Pt,en,tn){if(tn===undefined)tn=en;Wt[tn]=Pt[en]});var nn=this&&this.__setModuleDefault||(Object.create?function(Wt,Pt){Object.defineProperty(Wt,"default",{enumerable:true,value:Pt})}:function(Wt,Pt){Wt["default"]=Pt});var an=this&&this.__importStar||function(Wt){if(Wt&&Wt.__esModule)return Wt;var Pt={};if(Wt!=null)for(var en in Wt)if(en!=="default"&&Object.hasOwnProperty.call(Wt,en))tn(Pt,Wt,en);nn(Pt,Wt);return Pt};var In=this&&this.__awaiter||function(Wt,Pt,en,tn){function adopt(Wt){return Wt instanceof en?Wt:new en((function(Pt){Pt(Wt)}))}return new(en||(en=Promise))((function(en,nn){function fulfilled(Wt){try{step(tn.next(Wt))}catch(Wt){nn(Wt)}}function rejected(Wt){try{step(tn["throw"](Wt))}catch(Wt){nn(Wt)}}function step(Wt){Wt.done?en(Wt.value):adopt(Wt.value).then(fulfilled,rejected)}step((tn=tn.apply(Wt,Pt||[])).next())}))};var rn;Object.defineProperty(Pt,"__esModule",{value:true});Pt.getCmdPath=Pt.tryGetExecutablePath=Pt.isRooted=Pt.isDirectory=Pt.exists=Pt.READONLY=Pt.UV_FS_O_EXLOCK=Pt.IS_WINDOWS=Pt.unlink=Pt.symlink=Pt.stat=Pt.rmdir=Pt.rm=Pt.rename=Pt.readlink=Pt.readdir=Pt.open=Pt.mkdir=Pt.lstat=Pt.copyFile=Pt.chmod=void 0;const sn=an(en(79896));const on=an(en(16928));rn=sn.promises,Pt.chmod=rn.chmod,Pt.copyFile=rn.copyFile,Pt.lstat=rn.lstat,Pt.mkdir=rn.mkdir,Pt.open=rn.open,Pt.readdir=rn.readdir,Pt.readlink=rn.readlink,Pt.rename=rn.rename,Pt.rm=rn.rm,Pt.rmdir=rn.rmdir,Pt.stat=rn.stat,Pt.symlink=rn.symlink,Pt.unlink=rn.unlink;Pt.IS_WINDOWS=process.platform==="win32";Pt.UV_FS_O_EXLOCK=268435456;Pt.READONLY=sn.constants.O_RDONLY;function exists(Wt){return In(this,void 0,void 0,(function*(){try{yield Pt.stat(Wt)}catch(Wt){if(Wt.code==="ENOENT"){return false}throw Wt}return true}))}Pt.exists=exists;function isDirectory(Wt,en=false){return In(this,void 0,void 0,(function*(){const tn=en?yield Pt.stat(Wt):yield Pt.lstat(Wt);return tn.isDirectory()}))}Pt.isDirectory=isDirectory;function isRooted(Wt){Wt=normalizeSeparators(Wt);if(!Wt){throw new Error('isRooted() parameter "p" cannot be empty')}if(Pt.IS_WINDOWS){return Wt.startsWith("\\")||/^[A-Z]:/i.test(Wt)}return Wt.startsWith("/")}Pt.isRooted=isRooted;function tryGetExecutablePath(Wt,en){return In(this,void 0,void 0,(function*(){let tn=undefined;try{tn=yield Pt.stat(Wt)}catch(Pt){if(Pt.code!=="ENOENT"){console.log(`Unexpected error attempting to determine if executable file exists '${Wt}': ${Pt}`)}}if(tn&&tn.isFile()){if(Pt.IS_WINDOWS){const Pt=on.extname(Wt).toUpperCase();if(en.some((Wt=>Wt.toUpperCase()===Pt))){return Wt}}else{if(isUnixExecutable(tn)){return Wt}}}const nn=Wt;for(const an of en){Wt=nn+an;tn=undefined;try{tn=yield Pt.stat(Wt)}catch(Pt){if(Pt.code!=="ENOENT"){console.log(`Unexpected error attempting to determine if executable file exists '${Wt}': ${Pt}`)}}if(tn&&tn.isFile()){if(Pt.IS_WINDOWS){try{const en=on.dirname(Wt);const tn=on.basename(Wt).toUpperCase();for(const nn of yield Pt.readdir(en)){if(tn===nn.toUpperCase()){Wt=on.join(en,nn);break}}}catch(Pt){console.log(`Unexpected error attempting to determine the actual case of the file '${Wt}': ${Pt}`)}return Wt}else{if(isUnixExecutable(tn)){return Wt}}}}return""}))}Pt.tryGetExecutablePath=tryGetExecutablePath;function normalizeSeparators(Wt){Wt=Wt||"";if(Pt.IS_WINDOWS){Wt=Wt.replace(/\//g,"\\");return Wt.replace(/\\\\+/g,"\\")}return Wt.replace(/\/\/+/g,"/")}function isUnixExecutable(Wt){return(Wt.mode&1)>0||(Wt.mode&8)>0&&Wt.gid===process.getgid()||(Wt.mode&64)>0&&Wt.uid===process.getuid()}function getCmdPath(){var Wt;return(Wt=process.env["COMSPEC"])!==null&&Wt!==void 0?Wt:`cmd.exe`}Pt.getCmdPath=getCmdPath},94994:function(Wt,Pt,en){var tn=this&&this.__createBinding||(Object.create?function(Wt,Pt,en,tn){if(tn===undefined)tn=en;Object.defineProperty(Wt,tn,{enumerable:true,get:function(){return Pt[en]}})}:function(Wt,Pt,en,tn){if(tn===undefined)tn=en;Wt[tn]=Pt[en]});var nn=this&&this.__setModuleDefault||(Object.create?function(Wt,Pt){Object.defineProperty(Wt,"default",{enumerable:true,value:Pt})}:function(Wt,Pt){Wt["default"]=Pt});var an=this&&this.__importStar||function(Wt){if(Wt&&Wt.__esModule)return Wt;var Pt={};if(Wt!=null)for(var en in Wt)if(en!=="default"&&Object.hasOwnProperty.call(Wt,en))tn(Pt,Wt,en);nn(Pt,Wt);return Pt};var In=this&&this.__awaiter||function(Wt,Pt,en,tn){function adopt(Wt){return Wt instanceof en?Wt:new en((function(Pt){Pt(Wt)}))}return new(en||(en=Promise))((function(en,nn){function fulfilled(Wt){try{step(tn.next(Wt))}catch(Wt){nn(Wt)}}function rejected(Wt){try{step(tn["throw"](Wt))}catch(Wt){nn(Wt)}}function step(Wt){Wt.done?en(Wt.value):adopt(Wt.value).then(fulfilled,rejected)}step((tn=tn.apply(Wt,Pt||[])).next())}))};Object.defineProperty(Pt,"__esModule",{value:true});Pt.findInPath=Pt.which=Pt.mkdirP=Pt.rmRF=Pt.mv=Pt.cp=void 0;const rn=en(42613);const sn=an(en(16928));const on=an(en(75207));function cp(Wt,Pt,en={}){return In(this,void 0,void 0,(function*(){const{force:tn,recursive:nn,copySourceDirectory:an}=readCopyOptions(en);const In=(yield on.exists(Pt))?yield on.stat(Pt):null;if(In&&In.isFile()&&!tn){return}const rn=In&&In.isDirectory()&&an?sn.join(Pt,sn.basename(Wt)):Pt;if(!(yield on.exists(Wt))){throw new Error(`no such file or directory: ${Wt}`)}const cn=yield on.stat(Wt);if(cn.isDirectory()){if(!nn){throw new Error(`Failed to copy. ${Wt} is a directory, but tried to copy without recursive flag.`)}else{yield cpDirRecursive(Wt,rn,0,tn)}}else{if(sn.relative(Wt,rn)===""){throw new Error(`'${rn}' and '${Wt}' are the same file`)}yield copyFile(Wt,rn,tn)}}))}Pt.cp=cp;function mv(Wt,Pt,en={}){return In(this,void 0,void 0,(function*(){if(yield on.exists(Pt)){let tn=true;if(yield on.isDirectory(Pt)){Pt=sn.join(Pt,sn.basename(Wt));tn=yield on.exists(Pt)}if(tn){if(en.force==null||en.force){yield rmRF(Pt)}else{throw new Error("Destination already exists")}}}yield mkdirP(sn.dirname(Pt));yield on.rename(Wt,Pt)}))}Pt.mv=mv;function rmRF(Wt){return In(this,void 0,void 0,(function*(){if(on.IS_WINDOWS){if(/[*"<>|]/.test(Wt)){throw new Error('File path must not contain `*`, `"`, `<`, `>` or `|` on Windows')}}try{yield on.rm(Wt,{force:true,maxRetries:3,recursive:true,retryDelay:300})}catch(Wt){throw new Error(`File was unable to be removed ${Wt}`)}}))}Pt.rmRF=rmRF;function mkdirP(Wt){return In(this,void 0,void 0,(function*(){rn.ok(Wt,"a path argument must be provided");yield on.mkdir(Wt,{recursive:true})}))}Pt.mkdirP=mkdirP;function which(Wt,Pt){return In(this,void 0,void 0,(function*(){if(!Wt){throw new Error("parameter 'tool' is required")}if(Pt){const Pt=yield which(Wt,false);if(!Pt){if(on.IS_WINDOWS){throw new Error(`Unable to locate executable file: ${Wt}. Please verify either the file path exists or the file can be found within a directory specified by the PATH environment variable. Also verify the file has a valid extension for an executable file.`)}else{throw new Error(`Unable to locate executable file: ${Wt}. Please verify either the file path exists or the file can be found within a directory specified by the PATH environment variable. Also check the file mode to verify the file is executable.`)}}return Pt}const en=yield findInPath(Wt);if(en&&en.length>0){return en[0]}return""}))}Pt.which=which;function findInPath(Wt){return In(this,void 0,void 0,(function*(){if(!Wt){throw new Error("parameter 'tool' is required")}const Pt=[];if(on.IS_WINDOWS&&process.env["PATHEXT"]){for(const Wt of process.env["PATHEXT"].split(sn.delimiter)){if(Wt){Pt.push(Wt)}}}if(on.isRooted(Wt)){const en=yield on.tryGetExecutablePath(Wt,Pt);if(en){return[en]}return[]}if(Wt.includes(sn.sep)){return[]}const en=[];if(process.env.PATH){for(const Wt of process.env.PATH.split(sn.delimiter)){if(Wt){en.push(Wt)}}}const tn=[];for(const nn of en){const en=yield on.tryGetExecutablePath(sn.join(nn,Wt),Pt);if(en){tn.push(en)}}return tn}))}Pt.findInPath=findInPath;function readCopyOptions(Wt){const Pt=Wt.force==null?true:Wt.force;const en=Boolean(Wt.recursive);const tn=Wt.copySourceDirectory==null?true:Boolean(Wt.copySourceDirectory);return{force:Pt,recursive:en,copySourceDirectory:tn}}function cpDirRecursive(Wt,Pt,en,tn){return In(this,void 0,void 0,(function*(){if(en>=255)return;en++;yield mkdirP(Pt);const nn=yield on.readdir(Wt);for(const an of nn){const nn=`${Wt}/${an}`;const In=`${Pt}/${an}`;const rn=yield on.lstat(nn);if(rn.isDirectory()){yield cpDirRecursive(nn,In,en,tn)}else{yield copyFile(nn,In,tn)}}yield on.chmod(Pt,(yield on.stat(Wt)).mode)}))}function copyFile(Wt,Pt,en){return In(this,void 0,void 0,(function*(){if((yield on.lstat(Wt)).isSymbolicLink()){try{yield on.lstat(Pt);yield on.unlink(Pt)}catch(Wt){if(Wt.code==="EPERM"){yield on.chmod(Pt,"0666");yield on.unlink(Pt)}}const en=yield on.readlink(Wt);yield on.symlink(en,Pt,on.IS_WINDOWS?"junction":null)}else if(!(yield on.exists(Pt))||en){yield on.copyFile(Wt,Pt)}}))}},90108:(Wt,Pt)=>{Object.defineProperty(Pt,"__esModule",{value:true});Pt.version=void 0;Pt.version="abi/5.7.0"},30097:(Wt,Pt,en)=>{Object.defineProperty(Pt,"__esModule",{value:true});Pt.defaultAbiCoder=Pt.AbiCoder=void 0;var tn=en(42006);var nn=en(61338);var an=en(76127);var In=en(90108);var rn=new an.Logger(In.version);var sn=en(41430);var on=en(84825);var cn=en(79811);var dn=en(85238);var un=en(95837);var pn=en(45994);var mn=en(95005);var bn=en(98849);var Gn=en(99117);var hn=en(78068);var Zn=en(65186);var An=new RegExp(/^bytes([0-9]*)$/);var Wn=new RegExp(/^(u?int)([0-9]*)$/);var Nn=function(){function AbiCoder(Wt){(0,nn.defineReadOnly)(this,"coerceFunc",Wt||null)}AbiCoder.prototype._getCoder=function(Wt){var Pt=this;switch(Wt.baseType){case"address":return new on.AddressCoder(Wt.name);case"bool":return new dn.BooleanCoder(Wt.name);case"string":return new Gn.StringCoder(Wt.name);case"bytes":return new un.BytesCoder(Wt.name);case"array":return new cn.ArrayCoder(this._getCoder(Wt.arrayChildren),Wt.arrayLength,Wt.name);case"tuple":return new hn.TupleCoder((Wt.components||[]).map((function(Wt){return Pt._getCoder(Wt)})),Wt.name);case"":return new mn.NullCoder(Wt.name)}var en=Wt.type.match(Wn);if(en){var tn=parseInt(en[2]||"256");if(tn===0||tn>256||tn%8!==0){rn.throwArgumentError("invalid "+en[1]+" bit length","param",Wt)}return new bn.NumberCoder(tn/8,en[1]==="int",Wt.name)}en=Wt.type.match(An);if(en){var tn=parseInt(en[1]);if(tn===0||tn>32){rn.throwArgumentError("invalid bytes length","param",Wt)}return new pn.FixedBytesCoder(tn,Wt.name)}return rn.throwArgumentError("invalid type","type",Wt.type)};AbiCoder.prototype._getWordSize=function(){return 32};AbiCoder.prototype._getReader=function(Wt,Pt){return new sn.Reader(Wt,this._getWordSize(),this.coerceFunc,Pt)};AbiCoder.prototype._getWriter=function(){return new sn.Writer(this._getWordSize())};AbiCoder.prototype.getDefaultValue=function(Wt){var Pt=this;var en=Wt.map((function(Wt){return Pt._getCoder(Zn.ParamType.from(Wt))}));var tn=new hn.TupleCoder(en,"_");return tn.defaultValue()};AbiCoder.prototype.encode=function(Wt,Pt){var en=this;if(Wt.length!==Pt.length){rn.throwError("types/values length mismatch",an.Logger.errors.INVALID_ARGUMENT,{count:{types:Wt.length,values:Pt.length},value:{types:Wt,values:Pt}})}var tn=Wt.map((function(Wt){return en._getCoder(Zn.ParamType.from(Wt))}));var nn=new hn.TupleCoder(tn,"_");var In=this._getWriter();nn.encode(In,Pt);return In.data};AbiCoder.prototype.decode=function(Wt,Pt,en){var nn=this;var an=Wt.map((function(Wt){return nn._getCoder(Zn.ParamType.from(Wt))}));var In=new hn.TupleCoder(an,"_");return In.decode(this._getReader((0,tn.arrayify)(Pt),en))};return AbiCoder}();Pt.AbiCoder=Nn;Pt.defaultAbiCoder=new Nn},41430:(Wt,Pt,en)=>{Object.defineProperty(Pt,"__esModule",{value:true});Pt.Reader=Pt.Writer=Pt.Coder=Pt.checkResultErrors=void 0;var tn=en(42006);var nn=en(18202);var an=en(61338);var In=en(76127);var rn=en(90108);var sn=new In.Logger(rn.version);function checkResultErrors(Wt){var Pt=[];var checkErrors=function(Wt,en){if(!Array.isArray(en)){return}for(var tn in en){var nn=Wt.slice();nn.push(tn);try{checkErrors(nn,en[tn])}catch(Wt){Pt.push({path:nn,error:Wt})}}};checkErrors([],Wt);return Pt}Pt.checkResultErrors=checkResultErrors;var on=function(){function Coder(Wt,Pt,en,tn){this.name=Wt;this.type=Pt;this.localName=en;this.dynamic=tn}Coder.prototype._throwError=function(Wt,Pt){sn.throwArgumentError(Wt,this.localName,Pt)};return Coder}();Pt.Coder=on;var cn=function(){function Writer(Wt){(0,an.defineReadOnly)(this,"wordSize",Wt||32);this._data=[];this._dataLength=0;this._padding=new Uint8Array(Wt)}Object.defineProperty(Writer.prototype,"data",{get:function(){return(0,tn.hexConcat)(this._data)},enumerable:false,configurable:true});Object.defineProperty(Writer.prototype,"length",{get:function(){return this._dataLength},enumerable:false,configurable:true});Writer.prototype._writeData=function(Wt){this._data.push(Wt);this._dataLength+=Wt.length;return Wt.length};Writer.prototype.appendWriter=function(Wt){return this._writeData((0,tn.concat)(Wt._data))};Writer.prototype.writeBytes=function(Wt){var Pt=(0,tn.arrayify)(Wt);var en=Pt.length%this.wordSize;if(en){Pt=(0,tn.concat)([Pt,this._padding.slice(en)])}return this._writeData(Pt)};Writer.prototype._getValue=function(Wt){var Pt=(0,tn.arrayify)(nn.BigNumber.from(Wt));if(Pt.length>this.wordSize){sn.throwError("value out-of-bounds",In.Logger.errors.BUFFER_OVERRUN,{length:this.wordSize,offset:Pt.length})}if(Pt.length%this.wordSize){Pt=(0,tn.concat)([this._padding.slice(Pt.length%this.wordSize),Pt])}return Pt};Writer.prototype.writeValue=function(Wt){return this._writeData(this._getValue(Wt))};Writer.prototype.writeUpdatableValue=function(){var Wt=this;var Pt=this._data.length;this._data.push(this._padding);this._dataLength+=this.wordSize;return function(en){Wt._data[Pt]=Wt._getValue(en)}};return Writer}();Pt.Writer=cn;var dn=function(){function Reader(Wt,Pt,en,nn){(0,an.defineReadOnly)(this,"_data",(0,tn.arrayify)(Wt));(0,an.defineReadOnly)(this,"wordSize",Pt||32);(0,an.defineReadOnly)(this,"_coerceFunc",en);(0,an.defineReadOnly)(this,"allowLoose",nn);this._offset=0}Object.defineProperty(Reader.prototype,"data",{get:function(){return(0,tn.hexlify)(this._data)},enumerable:false,configurable:true});Object.defineProperty(Reader.prototype,"consumed",{get:function(){return this._offset},enumerable:false,configurable:true});Reader.coerce=function(Wt,Pt){var en=Wt.match("^u?int([0-9]+)$");if(en&&parseInt(en[1])<=48){Pt=Pt.toNumber()}return Pt};Reader.prototype.coerce=function(Wt,Pt){if(this._coerceFunc){return this._coerceFunc(Wt,Pt)}return Reader.coerce(Wt,Pt)};Reader.prototype._peekBytes=function(Wt,Pt,en){var tn=Math.ceil(Pt/this.wordSize)*this.wordSize;if(this._offset+tn>this._data.length){if(this.allowLoose&&en&&this._offset+Pt<=this._data.length){tn=Pt}else{sn.throwError("data out-of-bounds",In.Logger.errors.BUFFER_OVERRUN,{length:this._data.length,offset:this._offset+tn})}}return this._data.slice(this._offset,this._offset+tn)};Reader.prototype.subReader=function(Wt){return new Reader(this._data.slice(this._offset+Wt),this.wordSize,this._coerceFunc,this.allowLoose)};Reader.prototype.readBytes=function(Wt,Pt){var en=this._peekBytes(0,Wt,!!Pt);this._offset+=en.length;return en.slice(0,Wt)};Reader.prototype.readValue=function(){return nn.BigNumber.from(this.readBytes(this.wordSize))};return Reader}();Pt.Reader=dn},84825:function(Wt,Pt,en){var tn=this&&this.__extends||function(){var extendStatics=function(Wt,Pt){extendStatics=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(Wt,Pt){Wt.__proto__=Pt}||function(Wt,Pt){for(var en in Pt)if(Object.prototype.hasOwnProperty.call(Pt,en))Wt[en]=Pt[en]};return extendStatics(Wt,Pt)};return function(Wt,Pt){if(typeof Pt!=="function"&&Pt!==null)throw new TypeError("Class extends value "+String(Pt)+" is not a constructor or null");extendStatics(Wt,Pt);function __(){this.constructor=Wt}Wt.prototype=Pt===null?Object.create(Pt):(__.prototype=Pt.prototype,new __)}}();Object.defineProperty(Pt,"__esModule",{value:true});Pt.AddressCoder=void 0;var nn=en(75745);var an=en(42006);var In=en(41430);var rn=function(Wt){tn(AddressCoder,Wt);function AddressCoder(Pt){return Wt.call(this,"address","address",Pt,false)||this}AddressCoder.prototype.defaultValue=function(){return"0x0000000000000000000000000000000000000000"};AddressCoder.prototype.encode=function(Wt,Pt){try{Pt=(0,nn.getAddress)(Pt)}catch(Wt){this._throwError(Wt.message,Pt)}return Wt.writeValue(Pt)};AddressCoder.prototype.decode=function(Wt){return(0,nn.getAddress)((0,an.hexZeroPad)(Wt.readValue().toHexString(),20))};return AddressCoder}(In.Coder);Pt.AddressCoder=rn},48775:function(Wt,Pt,en){var tn=this&&this.__extends||function(){var extendStatics=function(Wt,Pt){extendStatics=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(Wt,Pt){Wt.__proto__=Pt}||function(Wt,Pt){for(var en in Pt)if(Object.prototype.hasOwnProperty.call(Pt,en))Wt[en]=Pt[en]};return extendStatics(Wt,Pt)};return function(Wt,Pt){if(typeof Pt!=="function"&&Pt!==null)throw new TypeError("Class extends value "+String(Pt)+" is not a constructor or null");extendStatics(Wt,Pt);function __(){this.constructor=Wt}Wt.prototype=Pt===null?Object.create(Pt):(__.prototype=Pt.prototype,new __)}}();Object.defineProperty(Pt,"__esModule",{value:true});Pt.AnonymousCoder=void 0;var nn=en(41430);var an=function(Wt){tn(AnonymousCoder,Wt);function AnonymousCoder(Pt){var en=Wt.call(this,Pt.name,Pt.type,undefined,Pt.dynamic)||this;en.coder=Pt;return en}AnonymousCoder.prototype.defaultValue=function(){return this.coder.defaultValue()};AnonymousCoder.prototype.encode=function(Wt,Pt){return this.coder.encode(Wt,Pt)};AnonymousCoder.prototype.decode=function(Wt){return this.coder.decode(Wt)};return AnonymousCoder}(nn.Coder);Pt.AnonymousCoder=an},79811:function(Wt,Pt,en){var tn=this&&this.__extends||function(){var extendStatics=function(Wt,Pt){extendStatics=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(Wt,Pt){Wt.__proto__=Pt}||function(Wt,Pt){for(var en in Pt)if(Object.prototype.hasOwnProperty.call(Pt,en))Wt[en]=Pt[en]};return extendStatics(Wt,Pt)};return function(Wt,Pt){if(typeof Pt!=="function"&&Pt!==null)throw new TypeError("Class extends value "+String(Pt)+" is not a constructor or null");extendStatics(Wt,Pt);function __(){this.constructor=Wt}Wt.prototype=Pt===null?Object.create(Pt):(__.prototype=Pt.prototype,new __)}}();Object.defineProperty(Pt,"__esModule",{value:true});Pt.ArrayCoder=Pt.unpack=Pt.pack=void 0;var nn=en(76127);var an=en(90108);var In=new nn.Logger(an.version);var rn=en(41430);var sn=en(48775);function pack(Wt,Pt,en){var tn=null;if(Array.isArray(en)){tn=en}else if(en&&typeof en==="object"){var an={};tn=Pt.map((function(Wt){var Pt=Wt.localName;if(!Pt){In.throwError("cannot encode object for signature with missing names",nn.Logger.errors.INVALID_ARGUMENT,{argument:"values",coder:Wt,value:en})}if(an[Pt]){In.throwError("cannot encode object for signature with duplicate names",nn.Logger.errors.INVALID_ARGUMENT,{argument:"values",coder:Wt,value:en})}an[Pt]=true;return en[Pt]}))}else{In.throwArgumentError("invalid tuple value","tuple",en)}if(Pt.length!==tn.length){In.throwArgumentError("types/value length mismatch","tuple",en)}var sn=new rn.Writer(Wt.wordSize);var on=new rn.Writer(Wt.wordSize);var cn=[];Pt.forEach((function(Wt,Pt){var en=tn[Pt];if(Wt.dynamic){var nn=on.length;Wt.encode(on,en);var an=sn.writeUpdatableValue();cn.push((function(Wt){an(Wt+nn)}))}else{Wt.encode(sn,en)}}));cn.forEach((function(Wt){Wt(sn.length)}));var dn=Wt.appendWriter(sn);dn+=Wt.appendWriter(on);return dn}Pt.pack=pack;function unpack(Wt,Pt){var en=[];var tn=Wt.subReader(0);Pt.forEach((function(Pt){var an=null;if(Pt.dynamic){var In=Wt.readValue();var rn=tn.subReader(In.toNumber());try{an=Pt.decode(rn)}catch(Wt){if(Wt.code===nn.Logger.errors.BUFFER_OVERRUN){throw Wt}an=Wt;an.baseType=Pt.name;an.name=Pt.localName;an.type=Pt.type}}else{try{an=Pt.decode(Wt)}catch(Wt){if(Wt.code===nn.Logger.errors.BUFFER_OVERRUN){throw Wt}an=Wt;an.baseType=Pt.name;an.name=Pt.localName;an.type=Pt.type}}if(an!=undefined){en.push(an)}}));var an=Pt.reduce((function(Wt,Pt){var en=Pt.localName;if(en){if(!Wt[en]){Wt[en]=0}Wt[en]++}return Wt}),{});Pt.forEach((function(Wt,Pt){var tn=Wt.localName;if(!tn||an[tn]!==1){return}if(tn==="length"){tn="_length"}if(en[tn]!=null){return}var nn=en[Pt];if(nn instanceof Error){Object.defineProperty(en,tn,{enumerable:true,get:function(){throw nn}})}else{en[tn]=nn}}));var _loop_1=function(Wt){var Pt=en[Wt];if(Pt instanceof Error){Object.defineProperty(en,Wt,{enumerable:true,get:function(){throw Pt}})}};for(var In=0;In=0?en:"")+"]";var In=en===-1||Pt.dynamic;nn=Wt.call(this,"array",an,tn,In)||this;nn.coder=Pt;nn.length=en;return nn}ArrayCoder.prototype.defaultValue=function(){var Wt=this.coder.defaultValue();var Pt=[];for(var en=0;enWt._data.length){In.throwError("insufficient data length",nn.Logger.errors.BUFFER_OVERRUN,{length:Wt._data.length,count:Pt})}}var en=[];for(var tn=0;tn=0||Wt==="tuple"){if(dn[Pt]){return true}}if(cn[Pt]||Pt==="payable"){sn.throwArgumentError("invalid modifier","name",Pt)}return false}function parseParamType(Wt,Pt){var en=Wt;function throwError(Pt){sn.throwArgumentError("unexpected character at position "+Pt,"param",Wt)}Wt=Wt.replace(/\s/g," ");function newNode(Wt){var en={type:"",name:"",parent:Wt,state:{allowType:true}};if(Pt){en.indexed=false}return en}var tn={type:"",name:"",state:{allowType:true}};var nn=tn;for(var an=0;an2){sn.throwArgumentError("invalid human-readable ABI signature","value",Wt)}if(!en[1].match(/^[0-9]+$/)){sn.throwArgumentError("invalid human-readable ABI signature gas","value",Wt)}Pt.gas=nn.BigNumber.from(en[1]);return en[0]}return Wt}function parseModifiers(Wt,Pt){Pt.constant=false;Pt.payable=false;Pt.stateMutability="nonpayable";Wt.split(" ").forEach((function(Wt){switch(Wt.trim()){case"constant":Pt.constant=true;break;case"payable":Pt.payable=true;Pt.stateMutability="payable";break;case"nonpayable":Pt.payable=false;Pt.stateMutability="nonpayable";break;case"pure":Pt.constant=true;Pt.stateMutability="pure";break;case"view":Pt.constant=true;Pt.stateMutability="view";break;case"external":case"public":case"":break;default:console.log("unknown modifier: "+Wt)}}))}function verifyState(Wt){var Pt={constant:false,payable:true,stateMutability:"payable"};if(Wt.stateMutability!=null){Pt.stateMutability=Wt.stateMutability;Pt.constant=Pt.stateMutability==="view"||Pt.stateMutability==="pure";if(Wt.constant!=null){if(!!Wt.constant!==Pt.constant){sn.throwArgumentError("cannot have constant function with mutability "+Pt.stateMutability,"value",Wt)}}Pt.payable=Pt.stateMutability==="payable";if(Wt.payable!=null){if(!!Wt.payable!==Pt.payable){sn.throwArgumentError("cannot have payable function with mutability "+Pt.stateMutability,"value",Wt)}}}else if(Wt.payable!=null){Pt.payable=!!Wt.payable;if(Wt.constant==null&&!Pt.payable&&Wt.type!=="constructor"){sn.throwArgumentError("unable to determine stateMutability","value",Wt)}Pt.constant=!!Wt.constant;if(Pt.constant){Pt.stateMutability="view"}else{Pt.stateMutability=Pt.payable?"payable":"nonpayable"}if(Pt.payable&&Pt.constant){sn.throwArgumentError("cannot have constant payable function","value",Wt)}}else if(Wt.constant!=null){Pt.constant=!!Wt.constant;Pt.payable=!Pt.constant;Pt.stateMutability=Pt.constant?"view":"payable"}else if(Wt.type!=="constructor"){sn.throwArgumentError("unable to determine stateMutability","value",Wt)}return Pt}var Gn=function(Wt){tn(ConstructorFragment,Wt);function ConstructorFragment(){return Wt!==null&&Wt.apply(this,arguments)||this}ConstructorFragment.prototype.format=function(Wt){if(!Wt){Wt=Pt.FormatTypes.sighash}if(!Pt.FormatTypes[Wt]){sn.throwArgumentError("invalid format type","format",Wt)}if(Wt===Pt.FormatTypes.json){return JSON.stringify({type:"constructor",stateMutability:this.stateMutability!=="nonpayable"?this.stateMutability:undefined,payable:this.payable,gas:this.gas?this.gas.toNumber():undefined,inputs:this.inputs.map((function(Pt){return JSON.parse(Pt.format(Wt))}))})}if(Wt===Pt.FormatTypes.sighash){sn.throwError("cannot format a constructor for sighash",In.Logger.errors.UNSUPPORTED_OPERATION,{operation:"format(sighash)"})}var en="constructor("+this.inputs.map((function(Pt){return Pt.format(Wt)})).join(Wt===Pt.FormatTypes.full?", ":",")+") ";if(this.stateMutability&&this.stateMutability!=="nonpayable"){en+=this.stateMutability+" "}return en.trim()};ConstructorFragment.from=function(Wt){if(typeof Wt==="string"){return ConstructorFragment.fromString(Wt)}return ConstructorFragment.fromObject(Wt)};ConstructorFragment.fromObject=function(Wt){if(ConstructorFragment.isConstructorFragment(Wt)){return Wt}if(Wt.type!=="constructor"){sn.throwArgumentError("invalid constructor object","value",Wt)}var Pt=verifyState(Wt);if(Pt.constant){sn.throwArgumentError("constructor cannot be constant","value",Wt)}var en={name:null,type:Wt.type,inputs:Wt.inputs?Wt.inputs.map(pn.fromObject):[],payable:Pt.payable,stateMutability:Pt.stateMutability,gas:Wt.gas?nn.BigNumber.from(Wt.gas):null};return new ConstructorFragment(on,en)};ConstructorFragment.fromString=function(Wt){var Pt={type:"constructor"};Wt=parseGas(Wt,Pt);var en=Wt.match(Wn);if(!en||en[1].trim()!=="constructor"){sn.throwArgumentError("invalid constructor string","value",Wt)}Pt.inputs=parseParams(en[2].trim(),false);parseModifiers(en[3].trim(),Pt);return ConstructorFragment.fromObject(Pt)};ConstructorFragment.isConstructorFragment=function(Wt){return Wt&&Wt._isFragment&&Wt.type==="constructor"};return ConstructorFragment}(mn);Pt.ConstructorFragment=Gn;var hn=function(Wt){tn(FunctionFragment,Wt);function FunctionFragment(){return Wt!==null&&Wt.apply(this,arguments)||this}FunctionFragment.prototype.format=function(Wt){if(!Wt){Wt=Pt.FormatTypes.sighash}if(!Pt.FormatTypes[Wt]){sn.throwArgumentError("invalid format type","format",Wt)}if(Wt===Pt.FormatTypes.json){return JSON.stringify({type:"function",name:this.name,constant:this.constant,stateMutability:this.stateMutability!=="nonpayable"?this.stateMutability:undefined,payable:this.payable,gas:this.gas?this.gas.toNumber():undefined,inputs:this.inputs.map((function(Pt){return JSON.parse(Pt.format(Wt))})),outputs:this.outputs.map((function(Pt){return JSON.parse(Pt.format(Wt))}))})}var en="";if(Wt!==Pt.FormatTypes.sighash){en+="function "}en+=this.name+"("+this.inputs.map((function(Pt){return Pt.format(Wt)})).join(Wt===Pt.FormatTypes.full?", ":",")+") ";if(Wt!==Pt.FormatTypes.sighash){if(this.stateMutability){if(this.stateMutability!=="nonpayable"){en+=this.stateMutability+" "}}else if(this.constant){en+="view "}if(this.outputs&&this.outputs.length){en+="returns ("+this.outputs.map((function(Pt){return Pt.format(Wt)})).join(", ")+") "}if(this.gas!=null){en+="@"+this.gas.toString()+" "}}return en.trim()};FunctionFragment.from=function(Wt){if(typeof Wt==="string"){return FunctionFragment.fromString(Wt)}return FunctionFragment.fromObject(Wt)};FunctionFragment.fromObject=function(Wt){if(FunctionFragment.isFunctionFragment(Wt)){return Wt}if(Wt.type!=="function"){sn.throwArgumentError("invalid function object","value",Wt)}var Pt=verifyState(Wt);var en={type:Wt.type,name:verifyIdentifier(Wt.name),constant:Pt.constant,inputs:Wt.inputs?Wt.inputs.map(pn.fromObject):[],outputs:Wt.outputs?Wt.outputs.map(pn.fromObject):[],payable:Pt.payable,stateMutability:Pt.stateMutability,gas:Wt.gas?nn.BigNumber.from(Wt.gas):null};return new FunctionFragment(on,en)};FunctionFragment.fromString=function(Wt){var Pt={type:"function"};Wt=parseGas(Wt,Pt);var en=Wt.split(" returns ");if(en.length>2){sn.throwArgumentError("invalid function string","value",Wt)}var tn=en[0].match(Wn);if(!tn){sn.throwArgumentError("invalid function signature","value",Wt)}Pt.name=tn[1].trim();if(Pt.name){verifyIdentifier(Pt.name)}Pt.inputs=parseParams(tn[2],false);parseModifiers(tn[3].trim(),Pt);if(en.length>1){var nn=en[1].match(Wn);if(nn[1].trim()!=""||nn[3].trim()!=""){sn.throwArgumentError("unexpected tokens","value",Wt)}Pt.outputs=parseParams(nn[2],false)}else{Pt.outputs=[]}return FunctionFragment.fromObject(Pt)};FunctionFragment.isFunctionFragment=function(Wt){return Wt&&Wt._isFragment&&Wt.type==="function"};return FunctionFragment}(Gn);Pt.FunctionFragment=hn;function checkForbidden(Wt){var Pt=Wt.format();if(Pt==="Error(string)"||Pt==="Panic(uint256)"){sn.throwArgumentError("cannot specify user defined "+Pt+" error","fragment",Wt)}return Wt}var Zn=function(Wt){tn(ErrorFragment,Wt);function ErrorFragment(){return Wt!==null&&Wt.apply(this,arguments)||this}ErrorFragment.prototype.format=function(Wt){if(!Wt){Wt=Pt.FormatTypes.sighash}if(!Pt.FormatTypes[Wt]){sn.throwArgumentError("invalid format type","format",Wt)}if(Wt===Pt.FormatTypes.json){return JSON.stringify({type:"error",name:this.name,inputs:this.inputs.map((function(Pt){return JSON.parse(Pt.format(Wt))}))})}var en="";if(Wt!==Pt.FormatTypes.sighash){en+="error "}en+=this.name+"("+this.inputs.map((function(Pt){return Pt.format(Wt)})).join(Wt===Pt.FormatTypes.full?", ":",")+") ";return en.trim()};ErrorFragment.from=function(Wt){if(typeof Wt==="string"){return ErrorFragment.fromString(Wt)}return ErrorFragment.fromObject(Wt)};ErrorFragment.fromObject=function(Wt){if(ErrorFragment.isErrorFragment(Wt)){return Wt}if(Wt.type!=="error"){sn.throwArgumentError("invalid error object","value",Wt)}var Pt={type:Wt.type,name:verifyIdentifier(Wt.name),inputs:Wt.inputs?Wt.inputs.map(pn.fromObject):[]};return checkForbidden(new ErrorFragment(on,Pt))};ErrorFragment.fromString=function(Wt){var Pt={type:"error"};var en=Wt.match(Wn);if(!en){sn.throwArgumentError("invalid error signature","value",Wt)}Pt.name=en[1].trim();if(Pt.name){verifyIdentifier(Pt.name)}Pt.inputs=parseParams(en[2],false);return checkForbidden(ErrorFragment.fromObject(Pt))};ErrorFragment.isErrorFragment=function(Wt){return Wt&&Wt._isFragment&&Wt.type==="error"};return ErrorFragment}(mn);Pt.ErrorFragment=Zn;function verifyType(Wt){if(Wt.match(/^uint($|[^1-9])/)){Wt="uint256"+Wt.substring(4)}else if(Wt.match(/^int($|[^1-9])/)){Wt="int256"+Wt.substring(3)}return Wt}var An=new RegExp("^[a-zA-Z$_][a-zA-Z0-9$_]*$");function verifyIdentifier(Wt){if(!Wt||!Wt.match(An)){sn.throwArgumentError('invalid identifier "'+Wt+'"',"value",Wt)}return Wt}var Wn=new RegExp("^([^)(]*)\\((.*)\\)([^)(]*)$");function splitNesting(Wt){Wt=Wt.trim();var Pt=[];var en="";var tn=0;for(var nn=0;nn{Object.defineProperty(Pt,"__esModule",{value:true});Pt.TransactionDescription=Pt.LogDescription=Pt.checkResultErrors=Pt.Indexed=Pt.Interface=Pt.defaultAbiCoder=Pt.AbiCoder=Pt.FormatTypes=Pt.ParamType=Pt.FunctionFragment=Pt.Fragment=Pt.EventFragment=Pt.ErrorFragment=Pt.ConstructorFragment=void 0;var tn=en(65186);Object.defineProperty(Pt,"ConstructorFragment",{enumerable:true,get:function(){return tn.ConstructorFragment}});Object.defineProperty(Pt,"ErrorFragment",{enumerable:true,get:function(){return tn.ErrorFragment}});Object.defineProperty(Pt,"EventFragment",{enumerable:true,get:function(){return tn.EventFragment}});Object.defineProperty(Pt,"FormatTypes",{enumerable:true,get:function(){return tn.FormatTypes}});Object.defineProperty(Pt,"Fragment",{enumerable:true,get:function(){return tn.Fragment}});Object.defineProperty(Pt,"FunctionFragment",{enumerable:true,get:function(){return tn.FunctionFragment}});Object.defineProperty(Pt,"ParamType",{enumerable:true,get:function(){return tn.ParamType}});var nn=en(30097);Object.defineProperty(Pt,"AbiCoder",{enumerable:true,get:function(){return nn.AbiCoder}});Object.defineProperty(Pt,"defaultAbiCoder",{enumerable:true,get:function(){return nn.defaultAbiCoder}});var an=en(39472);Object.defineProperty(Pt,"checkResultErrors",{enumerable:true,get:function(){return an.checkResultErrors}});Object.defineProperty(Pt,"Indexed",{enumerable:true,get:function(){return an.Indexed}});Object.defineProperty(Pt,"Interface",{enumerable:true,get:function(){return an.Interface}});Object.defineProperty(Pt,"LogDescription",{enumerable:true,get:function(){return an.LogDescription}});Object.defineProperty(Pt,"TransactionDescription",{enumerable:true,get:function(){return an.TransactionDescription}})},39472:function(Wt,Pt,en){var tn=this&&this.__extends||function(){var extendStatics=function(Wt,Pt){extendStatics=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(Wt,Pt){Wt.__proto__=Pt}||function(Wt,Pt){for(var en in Pt)if(Object.prototype.hasOwnProperty.call(Pt,en))Wt[en]=Pt[en]};return extendStatics(Wt,Pt)};return function(Wt,Pt){if(typeof Pt!=="function"&&Pt!==null)throw new TypeError("Class extends value "+String(Pt)+" is not a constructor or null");extendStatics(Wt,Pt);function __(){this.constructor=Wt}Wt.prototype=Pt===null?Object.create(Pt):(__.prototype=Pt.prototype,new __)}}();Object.defineProperty(Pt,"__esModule",{value:true});Pt.Interface=Pt.Indexed=Pt.ErrorDescription=Pt.TransactionDescription=Pt.LogDescription=Pt.checkResultErrors=void 0;var nn=en(75745);var an=en(18202);var In=en(42006);var rn=en(91839);var sn=en(56938);var on=en(61338);var cn=en(30097);var dn=en(41430);Object.defineProperty(Pt,"checkResultErrors",{enumerable:true,get:function(){return dn.checkResultErrors}});var un=en(65186);var pn=en(76127);var mn=en(90108);var bn=new pn.Logger(mn.version);var Gn=function(Wt){tn(LogDescription,Wt);function LogDescription(){return Wt!==null&&Wt.apply(this,arguments)||this}return LogDescription}(on.Description);Pt.LogDescription=Gn;var hn=function(Wt){tn(TransactionDescription,Wt);function TransactionDescription(){return Wt!==null&&Wt.apply(this,arguments)||this}return TransactionDescription}(on.Description);Pt.TransactionDescription=hn;var Zn=function(Wt){tn(ErrorDescription,Wt);function ErrorDescription(){return Wt!==null&&Wt.apply(this,arguments)||this}return ErrorDescription}(on.Description);Pt.ErrorDescription=Zn;var An=function(Wt){tn(Indexed,Wt);function Indexed(){return Wt!==null&&Wt.apply(this,arguments)||this}Indexed.isIndexed=function(Wt){return!!(Wt&&Wt._isIndexed)};return Indexed}(on.Description);Pt.Indexed=An;var Wn={"0x08c379a0":{signature:"Error(string)",name:"Error",inputs:["string"],reason:true},"0x4e487b71":{signature:"Panic(uint256)",name:"Panic",inputs:["uint256"]}};function wrapAccessError(Wt,Pt){var en=new Error("deferred error during ABI decoding triggered accessing "+Wt);en.error=Pt;return en}var Nn=function(){function Interface(Wt){var Pt=this.constructor;var en=this;var tn=[];if(typeof Wt==="string"){tn=JSON.parse(Wt)}else{tn=Wt}(0,on.defineReadOnly)(this,"fragments",tn.map((function(Wt){return un.Fragment.from(Wt)})).filter((function(Wt){return Wt!=null})));(0,on.defineReadOnly)(this,"_abiCoder",(0,on.getStatic)(Pt,"getAbiCoder")());(0,on.defineReadOnly)(this,"functions",{});(0,on.defineReadOnly)(this,"errors",{});(0,on.defineReadOnly)(this,"events",{});(0,on.defineReadOnly)(this,"structs",{});this.fragments.forEach((function(Wt){var Pt=null;switch(Wt.type){case"constructor":if(en.deploy){bn.warn("duplicate definition - constructor");return}(0,on.defineReadOnly)(en,"deploy",Wt);return;case"function":Pt=en.functions;break;case"event":Pt=en.events;break;case"error":Pt=en.errors;break;default:return}var tn=Wt.format();if(Pt[tn]){bn.warn("duplicate definition - "+tn);return}Pt[tn]=Wt}));if(!this.deploy){(0,on.defineReadOnly)(this,"deploy",un.ConstructorFragment.from({payable:false,type:"constructor"}))}(0,on.defineReadOnly)(this,"_isInterface",true)}Interface.prototype.format=function(Wt){if(!Wt){Wt=un.FormatTypes.full}if(Wt===un.FormatTypes.sighash){bn.throwArgumentError("interface does not support formatting sighash","format",Wt)}var Pt=this.fragments.map((function(Pt){return Pt.format(Wt)}));if(Wt===un.FormatTypes.json){return JSON.stringify(Pt.map((function(Wt){return JSON.parse(Wt)})))}return Pt};Interface.getAbiCoder=function(){return cn.defaultAbiCoder};Interface.getAddress=function(Wt){return(0,nn.getAddress)(Wt)};Interface.getSighash=function(Wt){return(0,In.hexDataSlice)((0,rn.id)(Wt.format()),0,4)};Interface.getEventTopic=function(Wt){return(0,rn.id)(Wt.format())};Interface.prototype.getFunction=function(Wt){if((0,In.isHexString)(Wt)){for(var Pt in this.functions){if(Wt===this.getSighash(Pt)){return this.functions[Pt]}}bn.throwArgumentError("no matching function","sighash",Wt)}if(Wt.indexOf("(")===-1){var en=Wt.trim();var tn=Object.keys(this.functions).filter((function(Wt){return Wt.split("(")[0]===en}));if(tn.length===0){bn.throwArgumentError("no matching function","name",en)}else if(tn.length>1){bn.throwArgumentError("multiple matching functions","name",en)}return this.functions[tn[0]]}var nn=this.functions[un.FunctionFragment.fromString(Wt).format()];if(!nn){bn.throwArgumentError("no matching function","signature",Wt)}return nn};Interface.prototype.getEvent=function(Wt){if((0,In.isHexString)(Wt)){var Pt=Wt.toLowerCase();for(var en in this.events){if(Pt===this.getEventTopic(en)){return this.events[en]}}bn.throwArgumentError("no matching event","topichash",Pt)}if(Wt.indexOf("(")===-1){var tn=Wt.trim();var nn=Object.keys(this.events).filter((function(Wt){return Wt.split("(")[0]===tn}));if(nn.length===0){bn.throwArgumentError("no matching event","name",tn)}else if(nn.length>1){bn.throwArgumentError("multiple matching events","name",tn)}return this.events[nn[0]]}var an=this.events[un.EventFragment.fromString(Wt).format()];if(!an){bn.throwArgumentError("no matching event","signature",Wt)}return an};Interface.prototype.getError=function(Wt){if((0,In.isHexString)(Wt)){var Pt=(0,on.getStatic)(this.constructor,"getSighash");for(var en in this.errors){var tn=this.errors[en];if(Wt===Pt(tn)){return this.errors[en]}}bn.throwArgumentError("no matching error","sighash",Wt)}if(Wt.indexOf("(")===-1){var nn=Wt.trim();var an=Object.keys(this.errors).filter((function(Wt){return Wt.split("(")[0]===nn}));if(an.length===0){bn.throwArgumentError("no matching error","name",nn)}else if(an.length>1){bn.throwArgumentError("multiple matching errors","name",nn)}return this.errors[an[0]]}var rn=this.errors[un.FunctionFragment.fromString(Wt).format()];if(!rn){bn.throwArgumentError("no matching error","signature",Wt)}return rn};Interface.prototype.getSighash=function(Wt){if(typeof Wt==="string"){try{Wt=this.getFunction(Wt)}catch(Pt){try{Wt=this.getError(Wt)}catch(Wt){throw Pt}}}return(0,on.getStatic)(this.constructor,"getSighash")(Wt)};Interface.prototype.getEventTopic=function(Wt){if(typeof Wt==="string"){Wt=this.getEvent(Wt)}return(0,on.getStatic)(this.constructor,"getEventTopic")(Wt)};Interface.prototype._decodeParams=function(Wt,Pt){return this._abiCoder.decode(Wt,Pt)};Interface.prototype._encodeParams=function(Wt,Pt){return this._abiCoder.encode(Wt,Pt)};Interface.prototype.encodeDeploy=function(Wt){return this._encodeParams(this.deploy.inputs,Wt||[])};Interface.prototype.decodeErrorResult=function(Wt,Pt){if(typeof Wt==="string"){Wt=this.getError(Wt)}var en=(0,In.arrayify)(Pt);if((0,In.hexlify)(en.slice(0,4))!==this.getSighash(Wt)){bn.throwArgumentError("data signature does not match error "+Wt.name+".","data",(0,In.hexlify)(en))}return this._decodeParams(Wt.inputs,en.slice(4))};Interface.prototype.encodeErrorResult=function(Wt,Pt){if(typeof Wt==="string"){Wt=this.getError(Wt)}return(0,In.hexlify)((0,In.concat)([this.getSighash(Wt),this._encodeParams(Wt.inputs,Pt||[])]))};Interface.prototype.decodeFunctionData=function(Wt,Pt){if(typeof Wt==="string"){Wt=this.getFunction(Wt)}var en=(0,In.arrayify)(Pt);if((0,In.hexlify)(en.slice(0,4))!==this.getSighash(Wt)){bn.throwArgumentError("data signature does not match function "+Wt.name+".","data",(0,In.hexlify)(en))}return this._decodeParams(Wt.inputs,en.slice(4))};Interface.prototype.encodeFunctionData=function(Wt,Pt){if(typeof Wt==="string"){Wt=this.getFunction(Wt)}return(0,In.hexlify)((0,In.concat)([this.getSighash(Wt),this._encodeParams(Wt.inputs,Pt||[])]))};Interface.prototype.decodeFunctionResult=function(Wt,Pt){if(typeof Wt==="string"){Wt=this.getFunction(Wt)}var en=(0,In.arrayify)(Pt);var tn=null;var nn="";var an=null;var rn=null;var sn=null;switch(en.length%this._abiCoder._getWordSize()){case 0:try{return this._abiCoder.decode(Wt.outputs,en)}catch(dn){}break;case 4:{var on=(0,In.hexlify)(en.slice(0,4));var cn=Wn[on];if(cn){an=this._abiCoder.decode(cn.inputs,en.slice(4));rn=cn.name;sn=cn.signature;if(cn.reason){tn=an[0]}if(rn==="Error"){nn="; VM Exception while processing transaction: reverted with reason string "+JSON.stringify(an[0])}else if(rn==="Panic"){nn="; VM Exception while processing transaction: reverted with panic code "+an[0]}}else{try{var dn=this.getError(on);an=this._abiCoder.decode(dn.inputs,en.slice(4));rn=dn.name;sn=dn.format()}catch(dn){}}break}}return bn.throwError("call revert exception"+nn,pn.Logger.errors.CALL_EXCEPTION,{method:Wt.format(),data:(0,In.hexlify)(Pt),errorArgs:an,errorName:rn,errorSignature:sn,reason:tn})};Interface.prototype.encodeFunctionResult=function(Wt,Pt){if(typeof Wt==="string"){Wt=this.getFunction(Wt)}return(0,In.hexlify)(this._abiCoder.encode(Wt.outputs,Pt||[]))};Interface.prototype.encodeFilterTopics=function(Wt,Pt){var en=this;if(typeof Wt==="string"){Wt=this.getEvent(Wt)}if(Pt.length>Wt.inputs.length){bn.throwError("too many arguments for "+Wt.format(),pn.Logger.errors.UNEXPECTED_ARGUMENT,{argument:"values",value:Pt})}var tn=[];if(!Wt.anonymous){tn.push(this.getEventTopic(Wt))}var encodeTopic=function(Wt,Pt){if(Wt.type==="string"){return(0,rn.id)(Pt)}else if(Wt.type==="bytes"){return(0,sn.keccak256)((0,In.hexlify)(Pt))}if(Wt.type==="bool"&&typeof Pt==="boolean"){Pt=Pt?"0x01":"0x00"}if(Wt.type.match(/^u?int/)){Pt=an.BigNumber.from(Pt).toHexString()}if(Wt.type==="address"){en._abiCoder.encode(["address"],[Pt])}return(0,In.hexZeroPad)((0,In.hexlify)(Pt),32)};Pt.forEach((function(Pt,en){var nn=Wt.inputs[en];if(!nn.indexed){if(Pt!=null){bn.throwArgumentError("cannot filter non-indexed parameters; must be null","contract."+nn.name,Pt)}return}if(Pt==null){tn.push(null)}else if(nn.baseType==="array"||nn.baseType==="tuple"){bn.throwArgumentError("filtering with tuples or arrays not supported","contract."+nn.name,Pt)}else if(Array.isArray(Pt)){tn.push(Pt.map((function(Wt){return encodeTopic(nn,Wt)})))}else{tn.push(encodeTopic(nn,Pt))}}));while(tn.length&&tn[tn.length-1]===null){tn.pop()}return tn};Interface.prototype.encodeEventLog=function(Wt,Pt){var en=this;if(typeof Wt==="string"){Wt=this.getEvent(Wt)}var tn=[];var nn=[];var an=[];if(!Wt.anonymous){tn.push(this.getEventTopic(Wt))}if(Pt.length!==Wt.inputs.length){bn.throwArgumentError("event arguments/values mismatch","values",Pt)}Wt.inputs.forEach((function(Wt,In){var on=Pt[In];if(Wt.indexed){if(Wt.type==="string"){tn.push((0,rn.id)(on))}else if(Wt.type==="bytes"){tn.push((0,sn.keccak256)(on))}else if(Wt.baseType==="tuple"||Wt.baseType==="array"){throw new Error("not implemented")}else{tn.push(en._abiCoder.encode([Wt.type],[on]))}}else{nn.push(Wt);an.push(on)}}));return{data:this._abiCoder.encode(nn,an),topics:tn}};Interface.prototype.decodeEventLog=function(Wt,Pt,en){if(typeof Wt==="string"){Wt=this.getEvent(Wt)}if(en!=null&&!Wt.anonymous){var tn=this.getEventTopic(Wt);if(!(0,In.isHexString)(en[0],32)||en[0].toLowerCase()!==tn){bn.throwError("fragment/topic mismatch",pn.Logger.errors.INVALID_ARGUMENT,{argument:"topics[0]",expected:tn,value:en[0]})}en=en.slice(1)}var nn=[];var an=[];var rn=[];Wt.inputs.forEach((function(Wt,Pt){if(Wt.indexed){if(Wt.type==="string"||Wt.type==="bytes"||Wt.baseType==="tuple"||Wt.baseType==="array"){nn.push(un.ParamType.fromObject({type:"bytes32",name:Wt.name}));rn.push(true)}else{nn.push(Wt);rn.push(false)}}else{an.push(Wt);rn.push(false)}}));var sn=en!=null?this._abiCoder.decode(nn,(0,In.concat)(en)):null;var on=this._abiCoder.decode(an,Pt,true);var cn=[];var dn=0,mn=0;Wt.inputs.forEach((function(Wt,Pt){if(Wt.indexed){if(sn==null){cn[Pt]=new An({_isIndexed:true,hash:null})}else if(rn[Pt]){cn[Pt]=new An({_isIndexed:true,hash:sn[mn++]})}else{try{cn[Pt]=sn[mn++]}catch(Wt){cn[Pt]=Wt}}}else{try{cn[Pt]=on[dn++]}catch(Wt){cn[Pt]=Wt}}if(Wt.name&&cn[Wt.name]==null){var en=cn[Pt];if(en instanceof Error){Object.defineProperty(cn,Wt.name,{enumerable:true,get:function(){throw wrapAccessError("property "+JSON.stringify(Wt.name),en)}})}else{cn[Wt.name]=en}}}));var _loop_1=function(Wt){var Pt=cn[Wt];if(Pt instanceof Error){Object.defineProperty(cn,Wt,{enumerable:true,get:function(){throw wrapAccessError("index "+Wt,Pt)}})}};for(var Gn=0;Gn{Object.defineProperty(Pt,"__esModule",{value:true});Pt.version=void 0;Pt.version="abstract-provider/5.7.0"},12825:function(Wt,Pt,en){var tn=this&&this.__extends||function(){var extendStatics=function(Wt,Pt){extendStatics=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(Wt,Pt){Wt.__proto__=Pt}||function(Wt,Pt){for(var en in Pt)if(Object.prototype.hasOwnProperty.call(Pt,en))Wt[en]=Pt[en]};return extendStatics(Wt,Pt)};return function(Wt,Pt){if(typeof Pt!=="function"&&Pt!==null)throw new TypeError("Class extends value "+String(Pt)+" is not a constructor or null");extendStatics(Wt,Pt);function __(){this.constructor=Wt}Wt.prototype=Pt===null?Object.create(Pt):(__.prototype=Pt.prototype,new __)}}();var nn=this&&this.__awaiter||function(Wt,Pt,en,tn){function adopt(Wt){return Wt instanceof en?Wt:new en((function(Pt){Pt(Wt)}))}return new(en||(en=Promise))((function(en,nn){function fulfilled(Wt){try{step(tn.next(Wt))}catch(Wt){nn(Wt)}}function rejected(Wt){try{step(tn["throw"](Wt))}catch(Wt){nn(Wt)}}function step(Wt){Wt.done?en(Wt.value):adopt(Wt.value).then(fulfilled,rejected)}step((tn=tn.apply(Wt,Pt||[])).next())}))};var an=this&&this.__generator||function(Wt,Pt){var en={label:0,sent:function(){if(an[0]&1)throw an[1];return an[1]},trys:[],ops:[]},tn,nn,an,In;return In={next:verb(0),throw:verb(1),return:verb(2)},typeof Symbol==="function"&&(In[Symbol.iterator]=function(){return this}),In;function verb(Wt){return function(Pt){return step([Wt,Pt])}}function step(In){if(tn)throw new TypeError("Generator is already executing.");while(en)try{if(tn=1,nn&&(an=In[0]&2?nn["return"]:In[0]?nn["throw"]||((an=nn["return"])&&an.call(nn),0):nn.next)&&!(an=an.call(nn,In[1])).done)return an;if(nn=0,an)In=[In[0]&2,an.value];switch(In[0]){case 0:case 1:an=In;break;case 4:en.label++;return{value:In[1],done:false};case 5:en.label++;nn=In[1];In=[0];continue;case 7:In=en.ops.pop();en.trys.pop();continue;default:if(!(an=en.trys,an=an.length>0&&an[an.length-1])&&(In[0]===6||In[0]===2)){en=0;continue}if(In[0]===3&&(!an||In[1]>an[0]&&In[1]{Object.defineProperty(Pt,"__esModule",{value:true});Pt.version=void 0;Pt.version="abstract-signer/5.7.0"},53870:function(Wt,Pt,en){var tn=this&&this.__extends||function(){var extendStatics=function(Wt,Pt){extendStatics=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(Wt,Pt){Wt.__proto__=Pt}||function(Wt,Pt){for(var en in Pt)if(Object.prototype.hasOwnProperty.call(Pt,en))Wt[en]=Pt[en]};return extendStatics(Wt,Pt)};return function(Wt,Pt){if(typeof Pt!=="function"&&Pt!==null)throw new TypeError("Class extends value "+String(Pt)+" is not a constructor or null");extendStatics(Wt,Pt);function __(){this.constructor=Wt}Wt.prototype=Pt===null?Object.create(Pt):(__.prototype=Pt.prototype,new __)}}();var nn=this&&this.__awaiter||function(Wt,Pt,en,tn){function adopt(Wt){return Wt instanceof en?Wt:new en((function(Pt){Pt(Wt)}))}return new(en||(en=Promise))((function(en,nn){function fulfilled(Wt){try{step(tn.next(Wt))}catch(Wt){nn(Wt)}}function rejected(Wt){try{step(tn["throw"](Wt))}catch(Wt){nn(Wt)}}function step(Wt){Wt.done?en(Wt.value):adopt(Wt.value).then(fulfilled,rejected)}step((tn=tn.apply(Wt,Pt||[])).next())}))};var an=this&&this.__generator||function(Wt,Pt){var en={label:0,sent:function(){if(an[0]&1)throw an[1];return an[1]},trys:[],ops:[]},tn,nn,an,In;return In={next:verb(0),throw:verb(1),return:verb(2)},typeof Symbol==="function"&&(In[Symbol.iterator]=function(){return this}),In;function verb(Wt){return function(Pt){return step([Wt,Pt])}}function step(In){if(tn)throw new TypeError("Generator is already executing.");while(en)try{if(tn=1,nn&&(an=In[0]&2?nn["return"]:In[0]?nn["throw"]||((an=nn["return"])&&an.call(nn),0):nn.next)&&!(an=an.call(nn,In[1])).done)return an;if(nn=0,an)In=[In[0]&2,an.value];switch(In[0]){case 0:case 1:an=In;break;case 4:en.label++;return{value:In[1],done:false};case 5:en.label++;nn=In[1];In=[0];continue;case 7:In=en.ops.pop();en.trys.pop();continue;default:if(!(an=en.trys,an=an.length>0&&an[an.length-1])&&(In[0]===6||In[0]===2)){en=0;continue}if(In[0]===3&&(!an||In[1]>an[0]&&In[1]=0){throw Wt}return on.throwError("cannot estimate gas; transaction may fail or may require manual gas limit",rn.Logger.errors.UNPREDICTABLE_GAS_LIMIT,{error:Wt,tx:Pt})}))}if(Pt.chainId==null){Pt.chainId=this.getChainId()}else{Pt.chainId=Promise.all([Promise.resolve(Pt.chainId),this.getChainId()]).then((function(Pt){if(Pt[1]!==0&&Pt[0]!==Pt[1]){on.throwArgumentError("chainId address mismatch","transaction",Wt)}return Pt[0]}))}return[4,(0,In.resolveProperties)(Pt)];case 6:return[2,un.sent()]}}))}))};Signer.prototype._checkProvider=function(Wt){if(!this.provider){on.throwError("missing provider",rn.Logger.errors.UNSUPPORTED_OPERATION,{operation:Wt||"_checkProvider"})}};Signer.isSigner=function(Wt){return!!(Wt&&Wt._isSigner)};return Signer}();Pt.Signer=un;var pn=function(Wt){tn(VoidSigner,Wt);function VoidSigner(Pt,en){var tn=Wt.call(this)||this;(0,In.defineReadOnly)(tn,"address",Pt);(0,In.defineReadOnly)(tn,"provider",en||null);return tn}VoidSigner.prototype.getAddress=function(){return Promise.resolve(this.address)};VoidSigner.prototype._fail=function(Wt,Pt){return Promise.resolve().then((function(){on.throwError(Wt,rn.Logger.errors.UNSUPPORTED_OPERATION,{operation:Pt})}))};VoidSigner.prototype.signMessage=function(Wt){return this._fail("VoidSigner cannot sign messages","signMessage")};VoidSigner.prototype.signTransaction=function(Wt){return this._fail("VoidSigner cannot sign transactions","signTransaction")};VoidSigner.prototype._signTypedData=function(Wt,Pt,en){return this._fail("VoidSigner cannot sign typed data","signTypedData")};VoidSigner.prototype.connect=function(Wt){return new VoidSigner(this.address,Wt)};return VoidSigner}(un);Pt.VoidSigner=pn},80810:(Wt,Pt)=>{Object.defineProperty(Pt,"__esModule",{value:true});Pt.version=void 0;Pt.version="address/5.7.0"},75745:(Wt,Pt,en)=>{Object.defineProperty(Pt,"__esModule",{value:true});Pt.getCreate2Address=Pt.getContractAddress=Pt.getIcapAddress=Pt.isAddress=Pt.getAddress=void 0;var tn=en(42006);var nn=en(18202);var an=en(56938);var In=en(37659);var rn=en(76127);var sn=en(80810);var on=new rn.Logger(sn.version);function getChecksumAddress(Wt){if(!(0,tn.isHexString)(Wt,20)){on.throwArgumentError("invalid address","address",Wt)}Wt=Wt.toLowerCase();var Pt=Wt.substring(2).split("");var en=new Uint8Array(40);for(var nn=0;nn<40;nn++){en[nn]=Pt[nn].charCodeAt(0)}var In=(0,tn.arrayify)((0,an.keccak256)(en));for(var nn=0;nn<40;nn+=2){if(In[nn>>1]>>4>=8){Pt[nn]=Pt[nn].toUpperCase()}if((In[nn>>1]&15)>=8){Pt[nn+1]=Pt[nn+1].toUpperCase()}}return"0x"+Pt.join("")}var cn=9007199254740991;function log10(Wt){if(Math.log10){return Math.log10(Wt)}return Math.log(Wt)/Math.LN10}var dn={};for(var un=0;un<10;un++){dn[String(un)]=String(un)}for(var un=0;un<26;un++){dn[String.fromCharCode(65+un)]=String(10+un)}var pn=Math.floor(log10(cn));function ibanChecksum(Wt){Wt=Wt.toUpperCase();Wt=Wt.substring(4)+Wt.substring(0,2)+"00";var Pt=Wt.split("").map((function(Wt){return dn[Wt]})).join("");while(Pt.length>=pn){var en=Pt.substring(0,pn);Pt=parseInt(en,10)%97+Pt.substring(en.length)}var tn=String(98-parseInt(Pt,10)%97);while(tn.length<2){tn="0"+tn}return tn}function getAddress(Wt){var Pt=null;if(typeof Wt!=="string"){on.throwArgumentError("invalid address","address",Wt)}if(Wt.match(/^(0x)?[0-9a-fA-F]{40}$/)){if(Wt.substring(0,2)!=="0x"){Wt="0x"+Wt}Pt=getChecksumAddress(Wt);if(Wt.match(/([A-F].*[a-f])|([a-f].*[A-F])/)&&Pt!==Wt){on.throwArgumentError("bad address checksum","address",Wt)}}else if(Wt.match(/^XE[0-9]{2}[0-9A-Za-z]{30,31}$/)){if(Wt.substring(2,4)!==ibanChecksum(Wt)){on.throwArgumentError("bad icap checksum","address",Wt)}Pt=(0,nn._base36To16)(Wt.substring(4));while(Pt.length<40){Pt="0"+Pt}Pt=getChecksumAddress("0x"+Pt)}else{on.throwArgumentError("invalid address","address",Wt)}return Pt}Pt.getAddress=getAddress;function isAddress(Wt){try{getAddress(Wt);return true}catch(Wt){}return false}Pt.isAddress=isAddress;function getIcapAddress(Wt){var Pt=(0,nn._base16To36)(getAddress(Wt).substring(2)).toUpperCase();while(Pt.length<30){Pt="0"+Pt}return"XE"+ibanChecksum("XE00"+Pt)+Pt}Pt.getIcapAddress=getIcapAddress;function getContractAddress(Wt){var Pt=null;try{Pt=getAddress(Wt.from)}catch(Pt){on.throwArgumentError("missing from address","transaction",Wt)}var en=(0,tn.stripZeros)((0,tn.arrayify)(nn.BigNumber.from(Wt.nonce).toHexString()));return getAddress((0,tn.hexDataSlice)((0,an.keccak256)((0,In.encode)([Pt,en])),12))}Pt.getContractAddress=getContractAddress;function getCreate2Address(Wt,Pt,en){if((0,tn.hexDataLength)(Pt)!==32){on.throwArgumentError("salt must be 32 bytes","salt",Pt)}if((0,tn.hexDataLength)(en)!==32){on.throwArgumentError("initCodeHash must be 32 bytes","initCodeHash",en)}return getAddress((0,tn.hexDataSlice)((0,an.keccak256)((0,tn.concat)(["0xff",getAddress(Wt),Pt,en])),12))}Pt.getCreate2Address=getCreate2Address},76957:(Wt,Pt,en)=>{Object.defineProperty(Pt,"__esModule",{value:true});Pt.encode=Pt.decode=void 0;var tn=en(42006);function decode(Wt){return(0,tn.arrayify)(new Uint8Array(Buffer.from(Wt,"base64")))}Pt.decode=decode;function encode(Wt){return Buffer.from((0,tn.arrayify)(Wt)).toString("base64")}Pt.encode=encode},99032:(Wt,Pt,en)=>{Object.defineProperty(Pt,"__esModule",{value:true});Pt.encode=Pt.decode=void 0;var tn=en(76957);Object.defineProperty(Pt,"decode",{enumerable:true,get:function(){return tn.decode}});Object.defineProperty(Pt,"encode",{enumerable:true,get:function(){return tn.encode}})},31426:(Wt,Pt,en)=>{Object.defineProperty(Pt,"__esModule",{value:true});Pt.Base58=Pt.Base32=Pt.BaseX=void 0;var tn=en(42006);var nn=en(61338);var an=function(){function BaseX(Wt){(0,nn.defineReadOnly)(this,"alphabet",Wt);(0,nn.defineReadOnly)(this,"base",Wt.length);(0,nn.defineReadOnly)(this,"_alphabetMap",{});(0,nn.defineReadOnly)(this,"_leader",Wt.charAt(0));for(var Pt=0;Pt0){en.push(an%this.base);an=an/this.base|0}}var rn="";for(var sn=0;Pt[sn]===0&&sn=0;--on){rn+=this.alphabet[en[on]]}return rn};BaseX.prototype.decode=function(Wt){if(typeof Wt!=="string"){throw new TypeError("Expected String")}var Pt=[];if(Wt.length===0){return new Uint8Array(Pt)}Pt.push(0);for(var en=0;en>=8}while(an>0){Pt.push(an&255);an>>=8}}for(var rn=0;Wt[rn]===this._leader&&rn{Object.defineProperty(Pt,"__esModule",{value:true});Pt.version=void 0;Pt.version="bignumber/5.7.0"},11157:function(Wt,Pt,en){var tn=this&&this.__importDefault||function(Wt){return Wt&&Wt.__esModule?Wt:{default:Wt}};Object.defineProperty(Pt,"__esModule",{value:true});Pt._base16To36=Pt._base36To16=Pt.BigNumber=Pt.isBigNumberish=void 0;var nn=tn(en(10633));var an=nn.default.BN;var In=en(42006);var rn=en(76127);var sn=en(6151);var on=new rn.Logger(sn.version);var cn={};var dn=9007199254740991;function isBigNumberish(Wt){return Wt!=null&&(pn.isBigNumber(Wt)||typeof Wt==="number"&&Wt%1===0||typeof Wt==="string"&&!!Wt.match(/^-?[0-9]+$/)||(0,In.isHexString)(Wt)||typeof Wt==="bigint"||(0,In.isBytes)(Wt))}Pt.isBigNumberish=isBigNumberish;var un=false;var pn=function(){function BigNumber(Wt,Pt){if(Wt!==cn){on.throwError("cannot call constructor directly; use BigNumber.from",rn.Logger.errors.UNSUPPORTED_OPERATION,{operation:"new (BigNumber)"})}this._hex=Pt;this._isBigNumber=true;Object.freeze(this)}BigNumber.prototype.fromTwos=function(Wt){return toBigNumber(toBN(this).fromTwos(Wt))};BigNumber.prototype.toTwos=function(Wt){return toBigNumber(toBN(this).toTwos(Wt))};BigNumber.prototype.abs=function(){if(this._hex[0]==="-"){return BigNumber.from(this._hex.substring(1))}return this};BigNumber.prototype.add=function(Wt){return toBigNumber(toBN(this).add(toBN(Wt)))};BigNumber.prototype.sub=function(Wt){return toBigNumber(toBN(this).sub(toBN(Wt)))};BigNumber.prototype.div=function(Wt){var Pt=BigNumber.from(Wt);if(Pt.isZero()){throwFault("division-by-zero","div")}return toBigNumber(toBN(this).div(toBN(Wt)))};BigNumber.prototype.mul=function(Wt){return toBigNumber(toBN(this).mul(toBN(Wt)))};BigNumber.prototype.mod=function(Wt){var Pt=toBN(Wt);if(Pt.isNeg()){throwFault("division-by-zero","mod")}return toBigNumber(toBN(this).umod(Pt))};BigNumber.prototype.pow=function(Wt){var Pt=toBN(Wt);if(Pt.isNeg()){throwFault("negative-power","pow")}return toBigNumber(toBN(this).pow(Pt))};BigNumber.prototype.and=function(Wt){var Pt=toBN(Wt);if(this.isNegative()||Pt.isNeg()){throwFault("unbound-bitwise-result","and")}return toBigNumber(toBN(this).and(Pt))};BigNumber.prototype.or=function(Wt){var Pt=toBN(Wt);if(this.isNegative()||Pt.isNeg()){throwFault("unbound-bitwise-result","or")}return toBigNumber(toBN(this).or(Pt))};BigNumber.prototype.xor=function(Wt){var Pt=toBN(Wt);if(this.isNegative()||Pt.isNeg()){throwFault("unbound-bitwise-result","xor")}return toBigNumber(toBN(this).xor(Pt))};BigNumber.prototype.mask=function(Wt){if(this.isNegative()||Wt<0){throwFault("negative-width","mask")}return toBigNumber(toBN(this).maskn(Wt))};BigNumber.prototype.shl=function(Wt){if(this.isNegative()||Wt<0){throwFault("negative-width","shl")}return toBigNumber(toBN(this).shln(Wt))};BigNumber.prototype.shr=function(Wt){if(this.isNegative()||Wt<0){throwFault("negative-width","shr")}return toBigNumber(toBN(this).shrn(Wt))};BigNumber.prototype.eq=function(Wt){return toBN(this).eq(toBN(Wt))};BigNumber.prototype.lt=function(Wt){return toBN(this).lt(toBN(Wt))};BigNumber.prototype.lte=function(Wt){return toBN(this).lte(toBN(Wt))};BigNumber.prototype.gt=function(Wt){return toBN(this).gt(toBN(Wt))};BigNumber.prototype.gte=function(Wt){return toBN(this).gte(toBN(Wt))};BigNumber.prototype.isNegative=function(){return this._hex[0]==="-"};BigNumber.prototype.isZero=function(){return toBN(this).isZero()};BigNumber.prototype.toNumber=function(){try{return toBN(this).toNumber()}catch(Wt){throwFault("overflow","toNumber",this.toString())}return null};BigNumber.prototype.toBigInt=function(){try{return BigInt(this.toString())}catch(Wt){}return on.throwError("this platform does not support BigInt",rn.Logger.errors.UNSUPPORTED_OPERATION,{value:this.toString()})};BigNumber.prototype.toString=function(){if(arguments.length>0){if(arguments[0]===10){if(!un){un=true;on.warn("BigNumber.toString does not accept any parameters; base-10 is assumed")}}else if(arguments[0]===16){on.throwError("BigNumber.toString does not accept any parameters; use bigNumber.toHexString()",rn.Logger.errors.UNEXPECTED_ARGUMENT,{})}else{on.throwError("BigNumber.toString does not accept parameters",rn.Logger.errors.UNEXPECTED_ARGUMENT,{})}}return toBN(this).toString(10)};BigNumber.prototype.toHexString=function(){return this._hex};BigNumber.prototype.toJSON=function(Wt){return{type:"BigNumber",hex:this.toHexString()}};BigNumber.from=function(Wt){if(Wt instanceof BigNumber){return Wt}if(typeof Wt==="string"){if(Wt.match(/^-?0x[0-9a-f]+$/i)){return new BigNumber(cn,toHex(Wt))}if(Wt.match(/^-?[0-9]+$/)){return new BigNumber(cn,toHex(new an(Wt)))}return on.throwArgumentError("invalid BigNumber string","value",Wt)}if(typeof Wt==="number"){if(Wt%1){throwFault("underflow","BigNumber.from",Wt)}if(Wt>=dn||Wt<=-dn){throwFault("overflow","BigNumber.from",Wt)}return BigNumber.from(String(Wt))}var Pt=Wt;if(typeof Pt==="bigint"){return BigNumber.from(Pt.toString())}if((0,In.isBytes)(Pt)){return BigNumber.from((0,In.hexlify)(Pt))}if(Pt){if(Pt.toHexString){var en=Pt.toHexString();if(typeof en==="string"){return BigNumber.from(en)}}else{var en=Pt._hex;if(en==null&&Pt.type==="BigNumber"){en=Pt.hex}if(typeof en==="string"){if((0,In.isHexString)(en)||en[0]==="-"&&(0,In.isHexString)(en.substring(1))){return BigNumber.from(en)}}}}return on.throwArgumentError("invalid BigNumber value","value",Wt)};BigNumber.isBigNumber=function(Wt){return!!(Wt&&Wt._isBigNumber)};return BigNumber}();Pt.BigNumber=pn;function toHex(Wt){if(typeof Wt!=="string"){return toHex(Wt.toString(16))}if(Wt[0]==="-"){Wt=Wt.substring(1);if(Wt[0]==="-"){on.throwArgumentError("invalid hex","value",Wt)}Wt=toHex(Wt);if(Wt==="0x00"){return Wt}return"-"+Wt}if(Wt.substring(0,2)!=="0x"){Wt="0x"+Wt}if(Wt==="0x"){return"0x00"}if(Wt.length%2){Wt="0x0"+Wt.substring(2)}while(Wt.length>4&&Wt.substring(0,4)==="0x00"){Wt="0x"+Wt.substring(4)}return Wt}function toBigNumber(Wt){return pn.from(toHex(Wt))}function toBN(Wt){var Pt=pn.from(Wt).toHexString();if(Pt[0]==="-"){return new an("-"+Pt.substring(3),16)}return new an(Pt.substring(2),16)}function throwFault(Wt,Pt,en){var tn={fault:Wt,operation:Pt};if(en!=null){tn.value=en}return on.throwError(Wt,rn.Logger.errors.NUMERIC_FAULT,tn)}function _base36To16(Wt){return new an(Wt,36).toString(16)}Pt._base36To16=_base36To16;function _base16To36(Wt){return new an(Wt,16).toString(36)}Pt._base16To36=_base16To36},91297:(Wt,Pt,en)=>{Object.defineProperty(Pt,"__esModule",{value:true});Pt.FixedNumber=Pt.FixedFormat=Pt.parseFixed=Pt.formatFixed=void 0;var tn=en(42006);var nn=en(76127);var an=en(6151);var In=new nn.Logger(an.version);var rn=en(11157);var sn={};var on=rn.BigNumber.from(0);var cn=rn.BigNumber.from(-1);function throwFault(Wt,Pt,en,tn){var an={fault:Pt,operation:en};if(tn!==undefined){an.value=tn}return In.throwError(Wt,nn.Logger.errors.NUMERIC_FAULT,an)}var dn="0";while(dn.length<256){dn+=dn}function getMultiplier(Wt){if(typeof Wt!=="number"){try{Wt=rn.BigNumber.from(Wt).toNumber()}catch(Wt){}}if(typeof Wt==="number"&&Wt>=0&&Wt<=256&&!(Wt%1)){return"1"+dn.substring(0,Wt)}return In.throwArgumentError("invalid decimal size","decimals",Wt)}function formatFixed(Wt,Pt){if(Pt==null){Pt=0}var en=getMultiplier(Pt);Wt=rn.BigNumber.from(Wt);var tn=Wt.lt(on);if(tn){Wt=Wt.mul(cn)}var nn=Wt.mod(en).toString();while(nn.length2){In.throwArgumentError("too many decimal points","value",Wt)}var an=nn[0],sn=nn[1];if(!an){an="0"}if(!sn){sn="0"}while(sn[sn.length-1]==="0"){sn=sn.substring(0,sn.length-1)}if(sn.length>en.length-1){throwFault("fractional component exceeds decimals","underflow","parseFixed")}if(sn===""){sn="0"}while(sn.length80){In.throwArgumentError("invalid fixed format (decimals too large)","format.decimals",tn)}return new FixedFormat(sn,Pt,en,tn)};return FixedFormat}();Pt.FixedFormat=un;var pn=function(){function FixedNumber(Wt,Pt,en,tn){if(Wt!==sn){In.throwError("cannot use FixedNumber constructor; use FixedNumber.from",nn.Logger.errors.UNSUPPORTED_OPERATION,{operation:"new FixedFormat"})}this.format=tn;this._hex=Pt;this._value=en;this._isFixedNumber=true;Object.freeze(this)}FixedNumber.prototype._checkFormat=function(Wt){if(this.format.name!==Wt.format.name){In.throwArgumentError("incompatible format; use fixedNumber.toFormat","other",Wt)}};FixedNumber.prototype.addUnsafe=function(Wt){this._checkFormat(Wt);var Pt=parseFixed(this._value,this.format.decimals);var en=parseFixed(Wt._value,Wt.format.decimals);return FixedNumber.fromValue(Pt.add(en),this.format.decimals,this.format)};FixedNumber.prototype.subUnsafe=function(Wt){this._checkFormat(Wt);var Pt=parseFixed(this._value,this.format.decimals);var en=parseFixed(Wt._value,Wt.format.decimals);return FixedNumber.fromValue(Pt.sub(en),this.format.decimals,this.format)};FixedNumber.prototype.mulUnsafe=function(Wt){this._checkFormat(Wt);var Pt=parseFixed(this._value,this.format.decimals);var en=parseFixed(Wt._value,Wt.format.decimals);return FixedNumber.fromValue(Pt.mul(en).div(this.format._multiplier),this.format.decimals,this.format)};FixedNumber.prototype.divUnsafe=function(Wt){this._checkFormat(Wt);var Pt=parseFixed(this._value,this.format.decimals);var en=parseFixed(Wt._value,Wt.format.decimals);return FixedNumber.fromValue(Pt.mul(this.format._multiplier).div(en),this.format.decimals,this.format)};FixedNumber.prototype.floor=function(){var Wt=this.toString().split(".");if(Wt.length===1){Wt.push("0")}var Pt=FixedNumber.from(Wt[0],this.format);var en=!Wt[1].match(/^(0*)$/);if(this.isNegative()&&en){Pt=Pt.subUnsafe(mn.toFormat(Pt.format))}return Pt};FixedNumber.prototype.ceiling=function(){var Wt=this.toString().split(".");if(Wt.length===1){Wt.push("0")}var Pt=FixedNumber.from(Wt[0],this.format);var en=!Wt[1].match(/^(0*)$/);if(!this.isNegative()&&en){Pt=Pt.addUnsafe(mn.toFormat(Pt.format))}return Pt};FixedNumber.prototype.round=function(Wt){if(Wt==null){Wt=0}var Pt=this.toString().split(".");if(Pt.length===1){Pt.push("0")}if(Wt<0||Wt>80||Wt%1){In.throwArgumentError("invalid decimal count","decimals",Wt)}if(Pt[1].length<=Wt){return this}var en=FixedNumber.from("1"+dn.substring(0,Wt),this.format);var tn=bn.toFormat(this.format);return this.mulUnsafe(en).addUnsafe(tn).floor().divUnsafe(en)};FixedNumber.prototype.isZero=function(){return this._value==="0.0"||this._value==="0"};FixedNumber.prototype.isNegative=function(){return this._value[0]==="-"};FixedNumber.prototype.toString=function(){return this._value};FixedNumber.prototype.toHexString=function(Wt){if(Wt==null){return this._hex}if(Wt%8){In.throwArgumentError("invalid byte width","width",Wt)}var Pt=rn.BigNumber.from(this._hex).fromTwos(this.format.width).toTwos(Wt).toHexString();return(0,tn.hexZeroPad)(Pt,Wt/8)};FixedNumber.prototype.toUnsafeFloat=function(){return parseFloat(this.toString())};FixedNumber.prototype.toFormat=function(Wt){return FixedNumber.fromString(this._value,Wt)};FixedNumber.fromValue=function(Wt,Pt,en){if(en==null&&Pt!=null&&!(0,rn.isBigNumberish)(Pt)){en=Pt;Pt=null}if(Pt==null){Pt=0}if(en==null){en="fixed"}return FixedNumber.fromString(formatFixed(Wt,Pt),un.from(en))};FixedNumber.fromString=function(Wt,Pt){if(Pt==null){Pt="fixed"}var en=un.from(Pt);var nn=parseFixed(Wt,en.decimals);if(!en.signed&&nn.lt(on)){throwFault("unsigned value cannot be negative","overflow","value",Wt)}var an=null;if(en.signed){an=nn.toTwos(en.width).toHexString()}else{an=nn.toHexString();an=(0,tn.hexZeroPad)(an,en.width/8)}var In=formatFixed(nn,en.decimals);return new FixedNumber(sn,an,In,en)};FixedNumber.fromBytes=function(Wt,Pt){if(Pt==null){Pt="fixed"}var en=un.from(Pt);if((0,tn.arrayify)(Wt).length>en.width/8){throw new Error("overflow")}var nn=rn.BigNumber.from(Wt);if(en.signed){nn=nn.fromTwos(en.width)}var an=nn.toTwos((en.signed?0:1)+en.width).toHexString();var In=formatFixed(nn,en.decimals);return new FixedNumber(sn,an,In,en)};FixedNumber.from=function(Wt,Pt){if(typeof Wt==="string"){return FixedNumber.fromString(Wt,Pt)}if((0,tn.isBytes)(Wt)){return FixedNumber.fromBytes(Wt,Pt)}try{return FixedNumber.fromValue(Wt,0,Pt)}catch(Wt){if(Wt.code!==nn.Logger.errors.INVALID_ARGUMENT){throw Wt}}return In.throwArgumentError("invalid FixedNumber value","value",Wt)};FixedNumber.isFixedNumber=function(Wt){return!!(Wt&&Wt._isFixedNumber)};return FixedNumber}();Pt.FixedNumber=pn;var mn=pn.from(1);var bn=pn.from("0.5")},18202:(Wt,Pt,en)=>{Object.defineProperty(Pt,"__esModule",{value:true});Pt._base36To16=Pt._base16To36=Pt.parseFixed=Pt.FixedNumber=Pt.FixedFormat=Pt.formatFixed=Pt.BigNumber=void 0;var tn=en(11157);Object.defineProperty(Pt,"BigNumber",{enumerable:true,get:function(){return tn.BigNumber}});var nn=en(91297);Object.defineProperty(Pt,"formatFixed",{enumerable:true,get:function(){return nn.formatFixed}});Object.defineProperty(Pt,"FixedFormat",{enumerable:true,get:function(){return nn.FixedFormat}});Object.defineProperty(Pt,"FixedNumber",{enumerable:true,get:function(){return nn.FixedNumber}});Object.defineProperty(Pt,"parseFixed",{enumerable:true,get:function(){return nn.parseFixed}});var an=en(11157);Object.defineProperty(Pt,"_base16To36",{enumerable:true,get:function(){return an._base16To36}});Object.defineProperty(Pt,"_base36To16",{enumerable:true,get:function(){return an._base36To16}})},28539:(Wt,Pt)=>{Object.defineProperty(Pt,"__esModule",{value:true});Pt.version=void 0;Pt.version="bytes/5.7.0"},42006:(Wt,Pt,en)=>{Object.defineProperty(Pt,"__esModule",{value:true});Pt.joinSignature=Pt.splitSignature=Pt.hexZeroPad=Pt.hexStripZeros=Pt.hexValue=Pt.hexConcat=Pt.hexDataSlice=Pt.hexDataLength=Pt.hexlify=Pt.isHexString=Pt.zeroPad=Pt.stripZeros=Pt.concat=Pt.arrayify=Pt.isBytes=Pt.isBytesLike=void 0;var tn=en(76127);var nn=en(28539);var an=new tn.Logger(nn.version);function isHexable(Wt){return!!Wt.toHexString}function addSlice(Wt){if(Wt.slice){return Wt}Wt.slice=function(){var Pt=Array.prototype.slice.call(arguments);return addSlice(new Uint8Array(Array.prototype.slice.apply(Wt,Pt)))};return Wt}function isBytesLike(Wt){return isHexString(Wt)&&!(Wt.length%2)||isBytes(Wt)}Pt.isBytesLike=isBytesLike;function isInteger(Wt){return typeof Wt==="number"&&Wt==Wt&&Wt%1===0}function isBytes(Wt){if(Wt==null){return false}if(Wt.constructor===Uint8Array){return true}if(typeof Wt==="string"){return false}if(!isInteger(Wt.length)||Wt.length<0){return false}for(var Pt=0;Pt=256){return false}}return true}Pt.isBytes=isBytes;function arrayify(Wt,Pt){if(!Pt){Pt={}}if(typeof Wt==="number"){an.checkSafeUint53(Wt,"invalid arrayify value");var en=[];while(Wt){en.unshift(Wt&255);Wt=parseInt(String(Wt/256))}if(en.length===0){en.push(0)}return addSlice(new Uint8Array(en))}if(Pt.allowMissingPrefix&&typeof Wt==="string"&&Wt.substring(0,2)!=="0x"){Wt="0x"+Wt}if(isHexable(Wt)){Wt=Wt.toHexString()}if(isHexString(Wt)){var tn=Wt.substring(2);if(tn.length%2){if(Pt.hexPad==="left"){tn="0"+tn}else if(Pt.hexPad==="right"){tn+="0"}else{an.throwArgumentError("hex data is odd-length","value",Wt)}}var en=[];for(var nn=0;nnPt){an.throwArgumentError("value out of range","value",arguments[0])}var en=new Uint8Array(Pt);en.set(Wt,Pt-Wt.length);return addSlice(en)}Pt.zeroPad=zeroPad;function isHexString(Wt,Pt){if(typeof Wt!=="string"||!Wt.match(/^0x[0-9A-Fa-f]*$/)){return false}if(Pt&&Wt.length!==2+2*Pt){return false}return true}Pt.isHexString=isHexString;var In="0123456789abcdef";function hexlify(Wt,Pt){if(!Pt){Pt={}}if(typeof Wt==="number"){an.checkSafeUint53(Wt,"invalid hexlify value");var en="";while(Wt){en=In[Wt&15]+en;Wt=Math.floor(Wt/16)}if(en.length){if(en.length%2){en="0"+en}return"0x"+en}return"0x00"}if(typeof Wt==="bigint"){Wt=Wt.toString(16);if(Wt.length%2){return"0x0"+Wt}return"0x"+Wt}if(Pt.allowMissingPrefix&&typeof Wt==="string"&&Wt.substring(0,2)!=="0x"){Wt="0x"+Wt}if(isHexable(Wt)){return Wt.toHexString()}if(isHexString(Wt)){if(Wt.length%2){if(Pt.hexPad==="left"){Wt="0x0"+Wt.substring(2)}else if(Pt.hexPad==="right"){Wt+="0"}else{an.throwArgumentError("hex data is odd-length","value",Wt)}}return Wt.toLowerCase()}if(isBytes(Wt)){var tn="0x";for(var nn=0;nn>4]+In[rn&15]}return tn}return an.throwArgumentError("invalid hexlify value","value",Wt)}Pt.hexlify=hexlify;function hexDataLength(Wt){if(typeof Wt!=="string"){Wt=hexlify(Wt)}else if(!isHexString(Wt)||Wt.length%2){return null}return(Wt.length-2)/2}Pt.hexDataLength=hexDataLength;function hexDataSlice(Wt,Pt,en){if(typeof Wt!=="string"){Wt=hexlify(Wt)}else if(!isHexString(Wt)||Wt.length%2){an.throwArgumentError("invalid hexData","value",Wt)}Pt=2+2*Pt;if(en!=null){return"0x"+Wt.substring(Pt,2+2*en)}return"0x"+Wt.substring(Pt)}Pt.hexDataSlice=hexDataSlice;function hexConcat(Wt){var Pt="0x";Wt.forEach((function(Wt){Pt+=hexlify(Wt).substring(2)}));return Pt}Pt.hexConcat=hexConcat;function hexValue(Wt){var Pt=hexStripZeros(hexlify(Wt,{hexPad:"left"}));if(Pt==="0x"){return"0x0"}return Pt}Pt.hexValue=hexValue;function hexStripZeros(Wt){if(typeof Wt!=="string"){Wt=hexlify(Wt)}if(!isHexString(Wt)){an.throwArgumentError("invalid hex string","value",Wt)}Wt=Wt.substring(2);var Pt=0;while(Pt2*Pt+2){an.throwArgumentError("value out of range","value",arguments[1])}while(Wt.length<2*Pt+2){Wt="0x0"+Wt.substring(2)}return Wt}Pt.hexZeroPad=hexZeroPad;function splitSignature(Wt){var Pt={r:"0x",s:"0x",_vs:"0x",recoveryParam:0,v:0,yParityAndS:"0x",compact:"0x"};if(isBytesLike(Wt)){var en=arrayify(Wt);if(en.length===64){Pt.v=27+(en[32]>>7);en[32]&=127;Pt.r=hexlify(en.slice(0,32));Pt.s=hexlify(en.slice(32,64))}else if(en.length===65){Pt.r=hexlify(en.slice(0,32));Pt.s=hexlify(en.slice(32,64));Pt.v=en[64]}else{an.throwArgumentError("invalid signature string","signature",Wt)}if(Pt.v<27){if(Pt.v===0||Pt.v===1){Pt.v+=27}else{an.throwArgumentError("signature invalid v byte","signature",Wt)}}Pt.recoveryParam=1-Pt.v%2;if(Pt.recoveryParam){en[32]|=128}Pt._vs=hexlify(en.slice(32,64))}else{Pt.r=Wt.r;Pt.s=Wt.s;Pt.v=Wt.v;Pt.recoveryParam=Wt.recoveryParam;Pt._vs=Wt._vs;if(Pt._vs!=null){var tn=zeroPad(arrayify(Pt._vs),32);Pt._vs=hexlify(tn);var nn=tn[0]>=128?1:0;if(Pt.recoveryParam==null){Pt.recoveryParam=nn}else if(Pt.recoveryParam!==nn){an.throwArgumentError("signature recoveryParam mismatch _vs","signature",Wt)}tn[0]&=127;var In=hexlify(tn);if(Pt.s==null){Pt.s=In}else if(Pt.s!==In){an.throwArgumentError("signature v mismatch _vs","signature",Wt)}}if(Pt.recoveryParam==null){if(Pt.v==null){an.throwArgumentError("signature missing v and recoveryParam","signature",Wt)}else if(Pt.v===0||Pt.v===1){Pt.recoveryParam=Pt.v}else{Pt.recoveryParam=1-Pt.v%2}}else{if(Pt.v==null){Pt.v=27+Pt.recoveryParam}else{var rn=Pt.v===0||Pt.v===1?Pt.v:1-Pt.v%2;if(Pt.recoveryParam!==rn){an.throwArgumentError("signature recoveryParam mismatch v","signature",Wt)}}}if(Pt.r==null||!isHexString(Pt.r)){an.throwArgumentError("signature missing or invalid r","signature",Wt)}else{Pt.r=hexZeroPad(Pt.r,32)}if(Pt.s==null||!isHexString(Pt.s)){an.throwArgumentError("signature missing or invalid s","signature",Wt)}else{Pt.s=hexZeroPad(Pt.s,32)}var sn=arrayify(Pt.s);if(sn[0]>=128){an.throwArgumentError("signature s out of range","signature",Wt)}if(Pt.recoveryParam){sn[0]|=128}var on=hexlify(sn);if(Pt._vs){if(!isHexString(Pt._vs)){an.throwArgumentError("signature invalid _vs","signature",Wt)}Pt._vs=hexZeroPad(Pt._vs,32)}if(Pt._vs==null){Pt._vs=on}else if(Pt._vs!==on){an.throwArgumentError("signature _vs mismatch v and s","signature",Wt)}}Pt.yParityAndS=Pt._vs;Pt.compact=Pt.r+Pt.yParityAndS.substring(2);return Pt}Pt.splitSignature=splitSignature;function joinSignature(Wt){Wt=splitSignature(Wt);return hexlify(concat([Wt.r,Wt.s,Wt.recoveryParam?"0x1c":"0x1b"]))}Pt.joinSignature=joinSignature},89224:(Wt,Pt)=>{Object.defineProperty(Pt,"__esModule",{value:true});Pt.AddressZero=void 0;Pt.AddressZero="0x0000000000000000000000000000000000000000"},40662:(Wt,Pt,en)=>{Object.defineProperty(Pt,"__esModule",{value:true});Pt.MaxInt256=Pt.MinInt256=Pt.MaxUint256=Pt.WeiPerEther=Pt.Two=Pt.One=Pt.Zero=Pt.NegativeOne=void 0;var tn=en(18202);var nn=tn.BigNumber.from(-1);Pt.NegativeOne=nn;var an=tn.BigNumber.from(0);Pt.Zero=an;var In=tn.BigNumber.from(1);Pt.One=In;var rn=tn.BigNumber.from(2);Pt.Two=rn;var sn=tn.BigNumber.from("1000000000000000000");Pt.WeiPerEther=sn;var on=tn.BigNumber.from("0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");Pt.MaxUint256=on;var cn=tn.BigNumber.from("-0x8000000000000000000000000000000000000000000000000000000000000000");Pt.MinInt256=cn;var dn=tn.BigNumber.from("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");Pt.MaxInt256=dn},35550:(Wt,Pt)=>{Object.defineProperty(Pt,"__esModule",{value:true});Pt.HashZero=void 0;Pt.HashZero="0x0000000000000000000000000000000000000000000000000000000000000000"},99848:(Wt,Pt,en)=>{Object.defineProperty(Pt,"__esModule",{value:true});Pt.EtherSymbol=Pt.HashZero=Pt.MaxInt256=Pt.MinInt256=Pt.MaxUint256=Pt.WeiPerEther=Pt.Two=Pt.One=Pt.Zero=Pt.NegativeOne=Pt.AddressZero=void 0;var tn=en(89224);Object.defineProperty(Pt,"AddressZero",{enumerable:true,get:function(){return tn.AddressZero}});var nn=en(40662);Object.defineProperty(Pt,"NegativeOne",{enumerable:true,get:function(){return nn.NegativeOne}});Object.defineProperty(Pt,"Zero",{enumerable:true,get:function(){return nn.Zero}});Object.defineProperty(Pt,"One",{enumerable:true,get:function(){return nn.One}});Object.defineProperty(Pt,"Two",{enumerable:true,get:function(){return nn.Two}});Object.defineProperty(Pt,"WeiPerEther",{enumerable:true,get:function(){return nn.WeiPerEther}});Object.defineProperty(Pt,"MaxUint256",{enumerable:true,get:function(){return nn.MaxUint256}});Object.defineProperty(Pt,"MinInt256",{enumerable:true,get:function(){return nn.MinInt256}});Object.defineProperty(Pt,"MaxInt256",{enumerable:true,get:function(){return nn.MaxInt256}});var an=en(35550);Object.defineProperty(Pt,"HashZero",{enumerable:true,get:function(){return an.HashZero}});var In=en(18178);Object.defineProperty(Pt,"EtherSymbol",{enumerable:true,get:function(){return In.EtherSymbol}})},18178:(Wt,Pt)=>{Object.defineProperty(Pt,"__esModule",{value:true});Pt.EtherSymbol=void 0;Pt.EtherSymbol="Ξ"},96511:(Wt,Pt)=>{Object.defineProperty(Pt,"__esModule",{value:true});Pt.version=void 0;Pt.version="contracts/5.7.0"},98322:function(Wt,Pt,en){var tn=this&&this.__extends||function(){var extendStatics=function(Wt,Pt){extendStatics=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(Wt,Pt){Wt.__proto__=Pt}||function(Wt,Pt){for(var en in Pt)if(Object.prototype.hasOwnProperty.call(Pt,en))Wt[en]=Pt[en]};return extendStatics(Wt,Pt)};return function(Wt,Pt){if(typeof Pt!=="function"&&Pt!==null)throw new TypeError("Class extends value "+String(Pt)+" is not a constructor or null");extendStatics(Wt,Pt);function __(){this.constructor=Wt}Wt.prototype=Pt===null?Object.create(Pt):(__.prototype=Pt.prototype,new __)}}();var nn=this&&this.__awaiter||function(Wt,Pt,en,tn){function adopt(Wt){return Wt instanceof en?Wt:new en((function(Pt){Pt(Wt)}))}return new(en||(en=Promise))((function(en,nn){function fulfilled(Wt){try{step(tn.next(Wt))}catch(Wt){nn(Wt)}}function rejected(Wt){try{step(tn["throw"](Wt))}catch(Wt){nn(Wt)}}function step(Wt){Wt.done?en(Wt.value):adopt(Wt.value).then(fulfilled,rejected)}step((tn=tn.apply(Wt,Pt||[])).next())}))};var an=this&&this.__generator||function(Wt,Pt){var en={label:0,sent:function(){if(an[0]&1)throw an[1];return an[1]},trys:[],ops:[]},tn,nn,an,In;return In={next:verb(0),throw:verb(1),return:verb(2)},typeof Symbol==="function"&&(In[Symbol.iterator]=function(){return this}),In;function verb(Wt){return function(Pt){return step([Wt,Pt])}}function step(In){if(tn)throw new TypeError("Generator is already executing.");while(en)try{if(tn=1,nn&&(an=In[0]&2?nn["return"]:In[0]?nn["throw"]||((an=nn["return"])&&an.call(nn),0):nn.next)&&!(an=an.call(nn,In[1])).done)return an;if(nn=0,an)In=[In[0]&2,an.value];switch(In[0]){case 0:case 1:an=In;break;case 4:en.label++;return{value:In[1],done:false};case 5:en.label++;nn=In[1];In=[0];continue;case 7:In=en.ops.pop();en.trys.pop();continue;default:if(!(an=en.trys,an=an.length>0&&an[an.length-1])&&(In[0]===6||In[0]===2)){en=0;continue}if(In[0]===3&&(!an||In[1]>an[0]&&In[1]1){return}Wt=Wt.substring(1);var en=Pt[0];try{if(nn[Wt]==null){(0,pn.defineReadOnly)(nn,Wt,nn[en])}}catch(Wt){}if(nn.functions[Wt]==null){(0,pn.defineReadOnly)(nn.functions,Wt,nn.functions[en])}if(nn.callStatic[Wt]==null){(0,pn.defineReadOnly)(nn.callStatic,Wt,nn.callStatic[en])}if(nn.populateTransaction[Wt]==null){(0,pn.defineReadOnly)(nn.populateTransaction,Wt,nn.populateTransaction[en])}if(nn.estimateGas[Wt]==null){(0,pn.defineReadOnly)(nn.estimateGas,Wt,nn.estimateGas[en])}}))}BaseContract.getContractAddress=function(Wt){return(0,cn.getContractAddress)(Wt)};BaseContract.getInterface=function(Wt){if(rn.Interface.isInterface(Wt)){return Wt}return new rn.Interface(Wt)};BaseContract.prototype.deployed=function(){return this._deployed()};BaseContract.prototype._deployed=function(Wt){var Pt=this;if(!this._deployedPromise){if(this.deployTransaction){this._deployedPromise=this.deployTransaction.wait().then((function(){return Pt}))}else{this._deployedPromise=this.provider.getCode(this.address,Wt).then((function(Wt){if(Wt==="0x"){hn.throwError("contract not deployed",bn.Logger.errors.UNSUPPORTED_OPERATION,{contractAddress:Pt.address,operation:"getDeployed"})}return Pt}))}}return this._deployedPromise};BaseContract.prototype.fallback=function(Wt){var Pt=this;if(!this.signer){hn.throwError("sending a transactions require a signer",bn.Logger.errors.UNSUPPORTED_OPERATION,{operation:"sendTransaction(fallback)"})}var en=(0,pn.shallowCopy)(Wt||{});["from","to"].forEach((function(Wt){if(en[Wt]==null){return}hn.throwError("cannot override "+Wt,bn.Logger.errors.UNSUPPORTED_OPERATION,{operation:Wt})}));en.to=this.resolvedAddress;return this.deployed().then((function(){return Pt.signer.sendTransaction(en)}))};BaseContract.prototype.connect=function(Wt){if(typeof Wt==="string"){Wt=new on.VoidSigner(Wt,this.provider)}var Pt=new this.constructor(this.address,this.interface,Wt);if(this.deployTransaction){(0,pn.defineReadOnly)(Pt,"deployTransaction",this.deployTransaction)}return Pt};BaseContract.prototype.attach=function(Wt){return new this.constructor(Wt,this.interface,this.signer||this.provider)};BaseContract.isIndexed=function(Wt){return rn.Indexed.isIndexed(Wt)};BaseContract.prototype._normalizeRunningEvent=function(Wt){if(this._runningEvents[Wt.tag]){return this._runningEvents[Wt.tag]}return Wt};BaseContract.prototype._getRunningEvent=function(Wt){if(typeof Wt==="string"){if(Wt==="error"){return this._normalizeRunningEvent(new Wn)}if(Wt==="event"){return this._normalizeRunningEvent(new An("event",null))}if(Wt==="*"){return this._normalizeRunningEvent(new gn(this.address,this.interface))}var Pt=this.interface.getEvent(Wt);return this._normalizeRunningEvent(new Nn(this.address,this.interface,Pt))}if(Wt.topics&&Wt.topics.length>0){try{var en=Wt.topics[0];if(typeof en!=="string"){throw new Error("invalid topic")}var Pt=this.interface.getEvent(en);return this._normalizeRunningEvent(new Nn(this.address,this.interface,Pt,Wt.topics))}catch(Wt){}var tn={address:this.address,topics:Wt.topics};return this._normalizeRunningEvent(new An(getEventTag(tn),tn))}return this._normalizeRunningEvent(new gn(this.address,this.interface))};BaseContract.prototype._checkRunningEvents=function(Wt){if(Wt.listenerCount()===0){delete this._runningEvents[Wt.tag];var Pt=this._wrappedEmits[Wt.tag];if(Pt&&Wt.filter){this.provider.off(Wt.filter,Pt);delete this._wrappedEmits[Wt.tag]}}};BaseContract.prototype._wrapEvent=function(Wt,Pt,en){var tn=this;var nn=(0,pn.deepCopy)(Pt);nn.removeListener=function(){if(!en){return}Wt.removeListener(en);tn._checkRunningEvents(Wt)};nn.getBlock=function(){return tn.provider.getBlock(Pt.blockHash)};nn.getTransaction=function(){return tn.provider.getTransaction(Pt.transactionHash)};nn.getTransactionReceipt=function(){return tn.provider.getTransactionReceipt(Pt.transactionHash)};Wt.prepareEvent(nn);return nn};BaseContract.prototype._addEventListener=function(Wt,Pt,en){var tn=this;if(!this.provider){hn.throwError("events require a provider or a signer with a provider",bn.Logger.errors.UNSUPPORTED_OPERATION,{operation:"once"})}Wt.addListener(Pt,en);this._runningEvents[Wt.tag]=Wt;if(!this._wrappedEmits[Wt.tag]){var wrappedEmit=function(en){var nn=tn._wrapEvent(Wt,en,Pt);if(nn.decodeError==null){try{var an=Wt.getEmit(nn);tn.emit.apply(tn,In([Wt.filter],an,false))}catch(Wt){nn.decodeError=Wt.error}}if(Wt.filter!=null){tn.emit("event",nn)}if(nn.decodeError!=null){tn.emit("error",nn.decodeError,nn)}};this._wrappedEmits[Wt.tag]=wrappedEmit;if(Wt.filter!=null){this.provider.on(Wt.filter,wrappedEmit)}}};BaseContract.prototype.queryFilter=function(Wt,Pt,en){var tn=this;var nn=this._getRunningEvent(Wt);var an=(0,pn.shallowCopy)(nn.filter);if(typeof Pt==="string"&&(0,un.isHexString)(Pt,32)){if(en!=null){hn.throwArgumentError("cannot specify toBlock with blockhash","toBlock",en)}an.blockHash=Pt}else{an.fromBlock=Pt!=null?Pt:0;an.toBlock=en!=null?en:"latest"}return this.provider.getLogs(an).then((function(Wt){return Wt.map((function(Wt){return tn._wrapEvent(nn,Wt,null)}))}))};BaseContract.prototype.on=function(Wt,Pt){this._addEventListener(this._getRunningEvent(Wt),Pt,false);return this};BaseContract.prototype.once=function(Wt,Pt){this._addEventListener(this._getRunningEvent(Wt),Pt,true);return this};BaseContract.prototype.emit=function(Wt){var Pt=[];for(var en=1;en0;this._checkRunningEvents(tn);return nn};BaseContract.prototype.listenerCount=function(Wt){var Pt=this;if(!this.provider){return 0}if(Wt==null){return Object.keys(this._runningEvents).reduce((function(Wt,en){return Wt+Pt._runningEvents[en].listenerCount()}),0)}return this._getRunningEvent(Wt).listenerCount()};BaseContract.prototype.listeners=function(Wt){if(!this.provider){return[]}if(Wt==null){var Pt=[];for(var en in this._runningEvents){this._runningEvents[en].listeners().forEach((function(Wt){Pt.push(Wt)}))}return Pt}return this._getRunningEvent(Wt).listeners()};BaseContract.prototype.removeAllListeners=function(Wt){if(!this.provider){return this}if(Wt==null){for(var Pt in this._runningEvents){var en=this._runningEvents[Pt];en.removeAllListeners();this._checkRunningEvents(en)}return this}var tn=this._getRunningEvent(Wt);tn.removeAllListeners();this._checkRunningEvents(tn);return this};BaseContract.prototype.off=function(Wt,Pt){if(!this.provider){return this}var en=this._getRunningEvent(Wt);en.removeListener(Pt);this._checkRunningEvents(en);return this};BaseContract.prototype.removeListener=function(Wt,Pt){return this.off(Wt,Pt)};return BaseContract}();Pt.BaseContract=yn;var vn=function(Wt){tn(Contract,Wt);function Contract(){return Wt!==null&&Wt.apply(this,arguments)||this}return Contract}(yn);Pt.Contract=vn;var Yn=function(){function ContractFactory(Wt,Pt,en){var tn=this.constructor;var nn=null;if(typeof Pt==="string"){nn=Pt}else if((0,un.isBytes)(Pt)){nn=(0,un.hexlify)(Pt)}else if(Pt&&typeof Pt.object==="string"){nn=Pt.object}else{nn="!"}if(nn.substring(0,2)!=="0x"){nn="0x"+nn}if(!(0,un.isHexString)(nn)||nn.length%2){hn.throwArgumentError("invalid bytecode","bytecode",Pt)}if(en&&!on.Signer.isSigner(en)){hn.throwArgumentError("invalid signer","signer",en)}(0,pn.defineReadOnly)(this,"bytecode",nn);(0,pn.defineReadOnly)(this,"interface",(0,pn.getStatic)(tn,"getInterface")(Wt));(0,pn.defineReadOnly)(this,"signer",en||null)}ContractFactory.prototype.getDeployTransaction=function(){var Wt=[];for(var Pt=0;Pt{Object.defineProperty(Pt,"__esModule",{value:true});Pt.version=void 0;Pt.version="hash/5.7.0"},92302:(Wt,Pt)=>{Object.defineProperty(Pt,"__esModule",{value:true});Pt.read_emoji_trie=Pt.read_zero_terminated_array=Pt.read_mapped_map=Pt.read_member_array=Pt.signed=Pt.read_compressed_payload=Pt.read_payload=Pt.decode_arithmetic=void 0;function flat(Wt,Pt){if(Pt==null){Pt=1}var en=[];var tn=en.forEach;var flatDeep=function(Wt,Pt){tn.call(Wt,(function(Wt){if(Pt>0&&Array.isArray(Wt)){flatDeep(Wt,Pt-1)}else{en.push(Wt)}}))};flatDeep(Wt,Pt);return en}function fromEntries(Wt){var Pt={};for(var en=0;en>--sn&1}var cn=31;var dn=Math.pow(2,cn);var un=dn>>>1;var pn=un>>1;var mn=dn-1;var bn=0;for(var an=0;an1){var gn=Wn+Nn>>>1;if(An>>1|read_bit();yn=yn<<1^un;vn=(vn^un)<<1|un|1}hn=yn;Zn=1+vn-yn}var Yn=en-4;return Gn.map((function(Pt){switch(Pt-Yn){case 3:return Yn+65792+(Wt[rn++]<<16|Wt[rn++]<<8|Wt[rn++]);case 2:return Yn+256+(Wt[rn++]<<8|Wt[rn++]);case 1:return Yn+Wt[rn++];default:return Pt-1}}))}Pt.decode_arithmetic=decode_arithmetic;function read_payload(Wt){var Pt=0;return function(){return Wt[Pt++]}}Pt.read_payload=read_payload;function read_compressed_payload(Wt){return read_payload(decode_arithmetic(Wt))}Pt.read_compressed_payload=read_compressed_payload;function signed(Wt){return Wt&1?~Wt>>1:Wt>>1}Pt.signed=signed;function read_counts(Wt,Pt){var en=Array(Wt);for(var tn=0;tn>=1;var rn=nn==1;var sn=nn==2;return{branches:en,valid:an,fe0f:In,save:rn,check:sn}}}Pt.read_emoji_trie=read_emoji_trie},97666:(Wt,Pt,en)=>{Object.defineProperty(Pt,"__esModule",{value:true});Pt.getData=void 0;var tn=en(99032);var nn=en(92302);function getData(){return(0,nn.read_compressed_payload)((0,tn.decode)("AEQF2AO2DEsA2wIrAGsBRABxAN8AZwCcAEwAqgA0AGwAUgByADcATAAVAFYAIQAyACEAKAAYAFgAGwAjABQAMAAmADIAFAAfABQAKwATACoADgAbAA8AHQAYABoAGQAxADgALAAoADwAEwA9ABMAGgARAA4ADwAWABMAFgAIAA8AHgQXBYMA5BHJAS8JtAYoAe4AExozi0UAH21tAaMnBT8CrnIyhrMDhRgDygIBUAEHcoFHUPe8AXBjAewCjgDQR8IICIcEcQLwATXCDgzvHwBmBoHNAqsBdBcUAykgDhAMShskMgo8AY8jqAQfAUAfHw8BDw87MioGlCIPBwZCa4ELatMAAMspJVgsDl8AIhckSg8XAHdvTwBcIQEiDT4OPhUqbyECAEoAS34Aej8Ybx83JgT/Xw8gHxZ/7w8RICxPHA9vBw+Pfw8PHwAPFv+fAsAvCc8vEr8ivwD/EQ8Bol8OEBa/A78hrwAPCU8vESNvvwWfHwNfAVoDHr+ZAAED34YaAdJPAK7PLwSEgDLHAGo1Pz8Pvx9fUwMrpb8O/58VTzAPIBoXIyQJNF8hpwIVAT8YGAUADDNBaX3RAMomJCg9EhUeA29MABsZBTMNJipjOhc19gcIDR8bBwQHEggCWi6DIgLuAQYA+BAFCha3A5XiAEsqM7UFFgFLhAMjFTMYE1Klnw74nRVBG/ASCm0BYRN/BrsU3VoWy+S0vV8LQx+vN8gF2AC2AK5EAWwApgYDKmAAroQ0NDQ0AT+OCg7wAAIHRAbpNgVcBV0APTA5BfbPFgMLzcYL/QqqA82eBALKCjQCjqYCht0/k2+OAsXQAoP3ASTKDgDw6ACKAUYCMpIKJpRaAE4A5womABzZvs0REEKiACIQAd5QdAECAj4Ywg/wGqY2AVgAYADYvAoCGAEubA0gvAY2ALAAbpbvqpyEAGAEpgQAJgAG7gAgAEACmghUFwCqAMpAINQIwC4DthRAAPcycKgApoIdABwBfCisABoATwBqASIAvhnSBP8aH/ECeAKXAq40NjgDBTwFYQU6AXs3oABgAD4XNgmcCY1eCl5tIFZeUqGgyoNHABgAEQAaABNwWQAmABMATPMa3T34ADldyprmM1M2XociUQgLzvwAXT3xABgAEQAaABNwIGFAnADD8AAgAD4BBJWzaCcIAIEBFMAWwKoAAdq9BWAF5wLQpALEtQAKUSGkahR4GnJM+gsAwCgeFAiUAECQ0BQuL8AAIAAAADKeIheclvFqQAAETr4iAMxIARMgAMIoHhQIAn0E0pDQFC4HhznoAAAAIAI2C0/4lvFqQAAETgBJJwYCAy4ABgYAFAA8MBKYEH4eRhTkAjYeFcgACAYAeABsOqyQ5gRwDayqugEgaIIAtgoACgDmEABmBAWGme5OBJJA2m4cDeoAmITWAXwrMgOgAGwBCh6CBXYF1Tzg1wKAAFdiuABRAFwAXQBsAG8AdgBrAHYAbwCEAHEwfxQBVE5TEQADVFhTBwBDANILAqcCzgLTApQCrQL6vAAMAL8APLhNBKkE6glGKTAU4Dr4N2EYEwBCkABKk8rHAbYBmwIoAiU4Ajf/Aq4CowCAANIChzgaNBsCsTgeODcFXrgClQKdAqQBiQGYAqsCsjTsNHsfNPA0ixsAWTWiOAMFPDQSNCk2BDZHNow2TTZUNhk28Jk9VzI3QkEoAoICoQKwAqcAQAAxBV4FXbS9BW47YkIXP1ciUqs05DS/FwABUwJW11e6nHuYZmSh/RAYA8oMKvZ8KASoUAJYWAJ6ILAsAZSoqjpgA0ocBIhmDgDWAAawRDQoAAcuAj5iAHABZiR2AIgiHgCaAU68ACxuHAG0ygM8MiZIAlgBdF4GagJqAPZOHAMuBgoATkYAsABiAHgAMLoGDPj0HpKEBAAOJgAuALggTAHWAeAMEDbd20Uege0ADwAWADkAQgA9OHd+2MUQZBBhBgNNDkxxPxUQArEPqwvqERoM1irQ090ANK4H8ANYB/ADWANYB/AH8ANYB/ADWANYA1gDWBwP8B/YxRBkD00EcgWTBZAE2wiIJk4RhgctCNdUEnQjHEwDSgEBIypJITuYMxAlR0wRTQgIATZHbKx9PQNMMbBU+pCnA9AyVDlxBgMedhKlAC8PeCE1uk6DekxxpQpQT7NX9wBFBgASqwAS5gBJDSgAUCwGPQBI4zTYABNGAE2bAE3KAExdGABKaAbgAFBXAFCOAFBJABI2SWdObALDOq0//QomCZhvwHdTBkIQHCemEPgMNAG2ATwN7kvZBPIGPATKH34ZGg/OlZ0Ipi3eDO4m5C6igFsj9iqEBe5L9TzeC05RaQ9aC2YJ5DpkgU8DIgEOIowK3g06CG4Q9ArKbA3mEUYHOgPWSZsApgcCCxIdNhW2JhFirQsKOXgG/Br3C5AmsBMqev0F1BoiBk4BKhsAANAu6IWxWjJcHU9gBgQLJiPIFKlQIQ0mQLh4SRocBxYlqgKSQ3FKiFE3HpQh9zw+DWcuFFF9B/Y8BhlQC4I8n0asRQ8R0z6OPUkiSkwtBDaALDAnjAnQD4YMunxzAVoJIgmyDHITMhEYN8YIOgcaLpclJxYIIkaWYJsE+KAD9BPSAwwFQAlCBxQDthwuEy8VKgUOgSXYAvQ21i60ApBWgQEYBcwPJh/gEFFH4Q7qCJwCZgOEJewALhUiABginAhEZABgj9lTBi7MCMhqbSN1A2gU6GIRdAeSDlgHqBw0FcAc4nDJXgyGCSiksAlcAXYJmgFgBOQICjVcjKEgQmdUi1kYnCBiQUBd/QIyDGYVoES+h3kCjA9sEhwBNgF0BzoNAgJ4Ee4RbBCWCOyGBTW2M/k6JgRQIYQgEgooA1BszwsoJvoM+WoBpBJjAw00PnfvZ6xgtyUX/gcaMsZBYSHyC5NPzgydGsIYQ1QvGeUHwAP0GvQn60FYBgADpAQUOk4z7wS+C2oIjAlAAEoOpBgH2BhrCnKM0QEyjAG4mgNYkoQCcJAGOAcMAGgMiAV65gAeAqgIpAAGANADWAA6Aq4HngAaAIZCAT4DKDABIuYCkAOUCDLMAZYwAfQqBBzEDBYA+DhuSwLDsgKAa2ajBd5ZAo8CSjYBTiYEBk9IUgOwcuIA3ABMBhTgSAEWrEvMG+REAeBwLADIAPwABjYHBkIBzgH0bgC4AWALMgmjtLYBTuoqAIQAFmwB2AKKAN4ANgCA8gFUAE4FWvoF1AJQSgESMhksWGIBvAMgATQBDgB6BsyOpsoIIARuB9QCEBwV4gLvLwe2AgMi4BPOQsYCvd9WADIXUu5eZwqoCqdeaAC0YTQHMnM9UQAPH6k+yAdy/BZIiQImSwBQ5gBQQzSaNTFWSTYBpwGqKQK38AFtqwBI/wK37gK3rQK3sAK6280C0gK33AK3zxAAUEIAUD9SklKDArekArw5AEQAzAHCO147WTteO1k7XjtZO147WTteO1kDmChYI03AVU0oJqkKbV9GYewMpw3VRMk6ShPcYFJgMxPJLbgUwhXPJVcZPhq9JwYl5VUKDwUt1GYxCC00dhe9AEApaYNCY4ceMQpMHOhTklT5LRwAskujM7ANrRsWREEFSHXuYisWDwojAmSCAmJDXE6wXDchAqH4AmiZAmYKAp+FOBwMAmY8AmYnBG8EgAN/FAN+kzkHOXgYOYM6JCQCbB4CMjc4CwJtyAJtr/CLADRoRiwBaADfAOIASwYHmQyOAP8MwwAOtgJ3MAJ2o0ACeUxEAni7Hl3cRa9G9AJ8QAJ6yQJ9CgJ88UgBSH5kJQAsFklZSlwWGErNAtECAtDNSygDiFADh+dExpEzAvKiXQQDA69Lz0wuJgTQTU1NsAKLQAKK2cIcCB5EaAa4Ao44Ao5dQZiCAo7aAo5deVG1UzYLUtVUhgKT/AKTDQDqAB1VH1WwVdEHLBwplocy4nhnRTw6ApegAu+zWCKpAFomApaQApZ9nQCqWa1aCoJOADwClrYClk9cRVzSApnMApllXMtdCBoCnJw5wzqeApwXAp+cAp65iwAeEDIrEAKd8gKekwC2PmE1YfACntQCoG8BqgKeoCACnk+mY8lkKCYsAiewAiZ/AqD8AqBN2AKmMAKlzwKoAAB+AqfzaH1osgAESmodatICrOQCrK8CrWgCrQMCVx4CVd0CseLYAx9PbJgCsr4OArLpGGzhbWRtSWADJc4Ctl08QG6RAylGArhfArlIFgK5K3hwN3DiAr0aAy2zAzISAr6JcgMDM3ICvhtzI3NQAsPMAsMFc4N0TDZGdOEDPKgDPJsDPcACxX0CxkgCxhGKAshqUgLIRQLJUALJLwJkngLd03h6YniveSZL0QMYpGcDAmH1GfSVJXsMXpNevBICz2wCz20wTFTT9BSgAMeuAs90ASrrA04TfkwGAtwoAtuLAtJQA1JdA1NgAQIDVY2AikABzBfuYUZ2AILPg44C2sgC2d+EEYRKpz0DhqYAMANkD4ZyWvoAVgLfZgLeuXR4AuIw7RUB8zEoAfScAfLTiALr9ALpcXoAAur6AurlAPpIAboC7ooC652Wq5cEAu5AA4XhmHpw4XGiAvMEAGoDjheZlAL3FAORbwOSiAL3mQL52gL4Z5odmqy8OJsfA52EAv77ARwAOp8dn7QDBY4DpmsDptoA0sYDBmuhiaIGCgMMSgFgASACtgNGAJwEgLpoBgC8BGzAEowcggCEDC6kdjoAJAM0C5IKRoABZCgiAIzw3AYBLACkfng9ogigkgNmWAN6AEQCvrkEVqTGAwCsBRbAA+4iQkMCHR072jI2PTbUNsk2RjY5NvA23TZKNiU3EDcZN5I+RTxDRTBCJkK5VBYKFhZfwQCWygU3AJBRHpu+OytgNxa61A40GMsYjsn7BVwFXQVcBV0FaAVdBVwFXQVcBV0FXAVdBVwFXUsaCNyKAK4AAQUHBwKU7oICoW1e7jAEzgPxA+YDwgCkBFDAwADABKzAAOxFLhitA1UFTDeyPkM+bj51QkRCuwTQWWQ8X+0AWBYzsACNA8xwzAGm7EZ/QisoCTAbLDs6fnLfb8H2GccsbgFw13M1HAVkBW/Jxsm9CNRO8E8FDD0FBQw9FkcClOYCoMFegpDfADgcMiA2AJQACB8AsigKAIzIEAJKeBIApY5yPZQIAKQiHb4fvj5BKSRPQrZCOz0oXyxgOywfKAnGbgMClQaCAkILXgdeCD9IIGUgQj5fPoY+dT52Ao5CM0dAX9BTVG9SDzFwWTQAbxBzJF/lOEIQQglCCkKJIAls5AcClQICoKPMODEFxhi6KSAbiyfIRrMjtCgdWCAkPlFBIitCsEJRzAbMAV/OEyQzDg0OAQQEJ36i328/Mk9AybDJsQlq3tDRApUKAkFzXf1d/j9uALYP6hCoFgCTGD8kPsFKQiobrm0+zj0KSD8kPnVCRBwMDyJRTHFgMTJa5rwXQiQ2YfI/JD7BMEJEHGINTw4TOFlIRzwJO0icMQpyPyQ+wzJCRBv6DVgnKB01NgUKj2bwYzMqCoBkznBgEF+zYDIocwRIX+NgHj4HICNfh2C4CwdwFWpTG/lgUhYGAwRfv2Ts8mAaXzVgml/XYIJfuWC4HI1gUF9pYJZgMR6ilQHMAOwLAlDRefC0in4AXAEJA6PjCwc0IamOANMMCAECRQDFNRTZBgd+CwQlRA+r6+gLBDEFBnwUBXgKATIArwAGRAAHA3cDdAN2A3kDdwN9A3oDdQN7A30DfAN4A3oDfQAYEAAlAtYASwMAUAFsAHcKAHcAmgB3AHUAdQB2AHVu8UgAygDAAHcAdQB1AHYAdQALCgB3AAsAmgB3AAsCOwB3AAtu8UgAygDAAHgKAJoAdwB3AHUAdQB2AHUAeAB1AHUAdgB1bvFIAMoAwAALCgCaAHcACwB3AAsCOwB3AAtu8UgAygDAAH4ACwGgALcBpwC6AahdAu0COwLtbvFIAMoAwAALCgCaAu0ACwLtAAsCOwLtAAtu8UgAygDAA24ACwNvAAu0VsQAAzsAABCkjUIpAAsAUIusOggWcgMeBxVsGwL67U/2HlzmWOEeOgALASvuAAseAfpKUpnpGgYJDCIZM6YyARUE9ThqAD5iXQgnAJYJPnOzw0ZAEZxEKsIAkA4DhAHnTAIDxxUDK0lxCQlPYgIvIQVYJQBVqE1GakUAKGYiDToSBA1EtAYAXQJYAIF8GgMHRyAAIAjOe9YncekRAA0KACUrjwE7Ayc6AAYWAqaiKG4McEcqANoN3+Mg9TwCBhIkuCny+JwUQ29L008JluRxu3K+oAdqiHOqFH0AG5SUIfUJ5SxCGfxdipRzqTmT4V5Zb+r1Uo4Vm+NqSSEl2mNvR2JhIa8SpYO6ntdwFXHCWTCK8f2+Hxo7uiG3drDycAuKIMP5bhi06ACnqArH1rz4Rqg//lm6SgJGEVbF9xJHISaR6HxqxSnkw6shDnelHKNEfGUXSJRJ1GcsmtJw25xrZMDK9gXSm1/YMkdX4/6NKYOdtk/NQ3/NnDASjTc3fPjIjW/5sVfVObX2oTDWkr1dF9f3kxBsD3/3aQO8hPfRz+e0uEiJqt1161griu7gz8hDDwtpy+F+BWtefnKHZPAxcZoWbnznhJpy0e842j36bcNzGnIEusgGX0a8ZxsnjcSsPDZ09yZ36fCQbriHeQ72JRMILNl6ePPf2HWoVwgWAm1fb3V2sAY0+B6rAXqSwPBgseVmoqsBTSrm91+XasMYYySI8eeRxH3ZvHkMz3BQ5aJ3iUVbYPNM3/7emRtjlsMgv/9VyTsyt/mK+8fgWeT6SoFaclXqn42dAIsvAarF5vNNWHzKSkKQ/8Hfk5ZWK7r9yliOsooyBjRhfkHP4Q2DkWXQi6FG/9r/IwbmkV5T7JSopHKn1pJwm9tb5Ot0oyN1Z2mPpKXHTxx2nlK08fKk1hEYA8WgVVWL5lgx0iTv+KdojJeU23ZDjmiubXOxVXJKKi2Wjuh2HLZOFLiSC7Tls5SMh4f+Pj6xUSrNjFqLGehRNB8lC0QSLNmkJJx/wSG3MnjE9T1CkPwJI0wH2lfzwETIiVqUxg0dfu5q39Gt+hwdcxkhhNvQ4TyrBceof3Mhs/IxFci1HmHr4FMZgXEEczPiGCx0HRwzAqDq2j9AVm1kwN0mRVLWLylgtoPNapF5cY4Y1wJh/e0BBwZj44YgZrDNqvD/9Hv7GFYdUQeDJuQ3EWI4HaKqavU1XjC/n41kT4L79kqGq0kLhdTZvgP3TA3fS0ozVz+5piZsoOtIvBUFoMKbNcmBL6YxxaUAusHB38XrS8dQMnQwJfUUkpRoGr5AUeWicvBTzyK9g77+yCkf5PAysL7r/JjcZgrbvRpMW9iyaxZvKO6ceZN2EwIxKwVFPuvFuiEPGCoagbMo+SpydLrXqBzNCDGFCrO/rkcwa2xhokQZ5CdZ0AsU3JfSqJ6n5I14YA+P/uAgfhPU84Tlw7cEFfp7AEE8ey4sP12PTt4Cods1GRgDOB5xvyiR5m+Bx8O5nBCNctU8BevfV5A08x6RHd5jcwPTMDSZJOedIZ1cGQ704lxbAzqZOP05ZxaOghzSdvFBHYqomATARyAADK4elP8Ly3IrUZKfWh23Xy20uBUmLS4Pfagu9+oyVa2iPgqRP3F2CTUsvJ7+RYnN8fFZbU/HVvxvcFFDKkiTqV5UBZ3Gz54JAKByi9hkKMZJvuGgcSYXFmw08UyoQyVdfTD1/dMkCHXcTGAKeROgArsvmRrQTLUOXioOHGK2QkjHuoYFgXciZoTJd6Fs5q1QX1G+p/e26hYsEf7QZD1nnIyl/SFkNtYYmmBhpBrxl9WbY0YpHWRuw2Ll/tj9mD8P4snVzJl4F9J+1arVeTb9E5r2ILH04qStjxQNwn3m4YNqxmaNbLAqW2TN6LidwuJRqS+NXbtqxoeDXpxeGWmxzSkWxjkyCkX4NQRme6q5SAcC+M7+9ETfA/EwrzQajKakCwYyeunP6ZFlxU2oMEn1Pz31zeStW74G406ZJFCl1wAXIoUKkWotYEpOuXB1uVNxJ63dpJEqfxBeptwIHNrPz8BllZoIcBoXwgfJ+8VAUnVPvRvexnw0Ma/WiGYuJO5y8QTvEYBigFmhUxY5RqzE8OcywN/8m4UYrlaniJO75XQ6KSo9+tWHlu+hMi0UVdiKQp7NelnoZUzNaIyBPVeOwK6GNp+FfHuPOoyhaWuNvTYFkvxscMQWDh+zeFCFkgwbXftiV23ywJ4+uwRqmg9k3KzwIQpzppt8DBBOMbrqwQM5Gb05sEwdKzMiAqOloaA/lr0KA+1pr0/+HiWoiIjHA/wir2nIuS3PeU/ji3O6ZwoxcR1SZ9FhtLC5S0FIzFhbBWcGVP/KpxOPSiUoAdWUpqKH++6Scz507iCcxYI6rdMBICPJZea7OcmeFw5mObJSiqpjg2UoWNIs+cFhyDSt6geV5qgi3FunmwwDoGSMgerFOZGX1m0dMCYo5XOruxO063dwENK9DbnVM9wYFREzh4vyU1WYYJ/LRRp6oxgjqP/X5a8/4Af6p6NWkQferzBmXme0zY/4nwMJm/wd1tIqSwGz+E3xPEAOoZlJit3XddD7/BT1pllzOx+8bmQtANQ/S6fZexc6qi3W+Q2xcmXTUhuS5mpHQRvcxZUN0S5+PL9lXWUAaRZhEH8hTdAcuNMMCuVNKTEGtSUKNi3O6KhSaTzck8csZ2vWRZ+d7mW8c4IKwXIYd25S/zIftPkwPzufjEvOHWVD1m+FjpDVUTV0DGDuHj6QnaEwLu/dEgdLQOg9E1Sro9XHJ8ykLAwtPu+pxqKDuFexqON1sKQm7rwbE1E68UCfA/erovrTCG+DBSNg0l4goDQvZN6uNlbyLpcZAwj2UclycvLpIZMgv4yRlpb3YuMftozorbcGVHt/VeDV3+Fdf1TP0iuaCsPi2G4XeGhsyF1ubVDxkoJhmniQ0/jSg/eYML9KLfnCFgISWkp91eauR3IQvED0nAPXK+6hPCYs+n3+hCZbiskmVMG2da+0EsZPonUeIY8EbfusQXjsK/eFDaosbPjEfQS0RKG7yj5GG69M7MeO1HmiUYocgygJHL6M1qzUDDwUSmr99V7Sdr2F3JjQAJY+F0yH33Iv3+C9M38eML7gTgmNu/r2bUMiPvpYbZ6v1/IaESirBHNa7mPKn4dEmYg7v/+HQgPN1G79jBQ1+soydfDC2r+h2Bl/KIc5KjMK7OH6nb1jLsNf0EHVe2KBiE51ox636uyG6Lho0t3J34L5QY/ilE3mikaF4HKXG1mG1rCevT1Vv6GavltxoQe/bMrpZvRggnBxSEPEeEzkEdOxTnPXHVjUYdw8JYvjB/o7Eegc3Ma+NUxLLnsK0kJlinPmUHzHGtrk5+CAbVzFOBqpyy3QVUnzTDfC/0XD94/okH+OB+i7g9lolhWIjSnfIb+Eq43ZXOWmwvjyV/qqD+t0e+7mTEM74qP/Ozt8nmC7mRpyu63OB4KnUzFc074SqoyPUAgM+/TJGFo6T44EHnQU4X4z6qannVqgw/U7zCpwcmXV1AubIrvOmkKHazJAR55ePjp5tLBsN8vAqs3NAHdcEHOR2xQ0lsNAFzSUuxFQCFYvXLZJdOj9p4fNq6p0HBGUik2YzaI4xySy91KzhQ0+q1hjxvImRwPRf76tChlRkhRCi74NXZ9qUNeIwP+s5p+3m5nwPdNOHgSLD79n7O9m1n1uDHiMntq4nkYwV5OZ1ENbXxFd4PgrlvavZsyUO4MqYlqqn1O8W/I1dEZq5dXhrbETLaZIbC2Kj/Aa/QM+fqUOHdf0tXAQ1huZ3cmWECWSXy/43j35+Mvq9xws7JKseriZ1pEWKc8qlzNrGPUGcVgOa9cPJYIJsGnJTAUsEcDOEVULO5x0rXBijc1lgXEzQQKhROf8zIV82w8eswc78YX11KYLWQRcgHNJElBxfXr72lS2RBSl07qTKorO2uUDZr3sFhYsvnhLZn0A94KRzJ/7DEGIAhW5ZWFpL8gEwu1aLA9MuWZzNwl8Oze9Y+bX+v9gywRVnoB5I/8kXTXU3141yRLYrIOOz6SOnyHNy4SieqzkBXharjfjqq1q6tklaEbA8Qfm2DaIPs7OTq/nvJBjKfO2H9bH2cCMh1+5gspfycu8f/cuuRmtDjyqZ7uCIMyjdV3a+p3fqmXsRx4C8lujezIFHnQiVTXLXuI1XrwN3+siYYj2HHTvESUx8DlOTXpak9qFRK+L3mgJ1WsD7F4cu1aJoFoYQnu+wGDMOjJM3kiBQWHCcvhJ/HRdxodOQp45YZaOTA22Nb4XKCVxqkbwMYFhzYQYIAnCW8FW14uf98jhUG2zrKhQQ0q0CEq0t5nXyvUyvR8DvD69LU+g3i+HFWQMQ8PqZuHD+sNKAV0+M6EJC0szq7rEr7B5bQ8BcNHzvDMc9eqB5ZCQdTf80Obn4uzjwpYU7SISdtV0QGa9D3Wrh2BDQtpBKxaNFV+/Cy2P/Sv+8s7Ud0Fd74X4+o/TNztWgETUapy+majNQ68Lq3ee0ZO48VEbTZYiH1Co4OlfWef82RWeyUXo7woM03PyapGfikTnQinoNq5z5veLpeMV3HCAMTaZmA1oGLAn7XS3XYsz+XK7VMQsc4XKrmDXOLU/pSXVNUq8dIqTba///3x6LiLS6xs1xuCAYSfcQ3+rQgmu7uvf3THKt5Ooo97TqcbRqxx7EASizaQCBQllG/rYxVapMLgtLbZS64w1MDBMXX+PQpBKNwqUKOf2DDRDUXQf9EhOS0Qj4nTmlA8dzSLz/G1d+Ud8MTy/6ghhdiLpeerGY/UlDOfiuqFsMUU5/UYlP+BAmgRLuNpvrUaLlVkrqDievNVEAwF+4CoM1MZTmjxjJMsKJq+u8Zd7tNCUFy6LiyYXRJQ4VyvEQFFaCGKsxIwQkk7EzZ6LTJq2hUuPhvAW+gQnSG6J+MszC+7QCRHcnqDdyNRJ6T9xyS87A6MDutbzKGvGktpbXqtzWtXb9HsfK2cBMomjN9a4y+TaJLnXxAeX/HWzmf4cR4vALt/P4w4qgKY04ml4ZdLOinFYS6cup3G/1ie4+t1eOnpBNlqGqs75ilzkT4+DsZQxNvaSKJ//6zIbbk/M7LOhFmRc/1R+kBtz7JFGdZm/COotIdvQoXpTqP/1uqEUmCb/QWoGLMwO5ANcHzxdY48IGP5+J+zKOTBFZ4Pid+GTM+Wq12MV/H86xEJptBa6T+p3kgpwLedManBHC2GgNrFpoN2xnrMz9WFWX/8/ygSBkavq2Uv7FdCsLEYLu9LLIvAU0bNRDtzYl+/vXmjpIvuJFYjmI0im6QEYqnIeMsNjXG4vIutIGHijeAG/9EDBozKV5cldkHbLxHh25vT+ZEzbhXlqvpzKJwcEgfNwLAKFeo0/pvEE10XDB+EXRTXtSzJozQKFFAJhMxYkVaCW+E9AL7tMeU8acxidHqzb6lX4691UsDpy/LLRmT+epgW56+5Cw8tB4kMUv6s9lh3eRKbyGs+H/4mQMaYzPTf2OOdokEn+zzgvoD3FqNKk8QqGAXVsqcGdXrT62fSPkR2vROFi68A6se86UxRUk4cajfPyCC4G5wDhD+zNq4jodQ4u4n/m37Lr36n4LIAAsVr02dFi9AiwA81MYs2rm4eDlDNmdMRvEKRHfBwW5DdMNp0jPFZMeARqF/wL4XBfd+EMLBfMzpH5GH6NaW+1vrvMdg+VxDzatk3MXgO3ro3P/DpcC6+Mo4MySJhKJhSR01SGGGp5hPWmrrUgrv3lDnP+HhcI3nt3YqBoVAVTBAQT5iuhTg8nvPtd8ZeYj6w1x6RqGUBrSku7+N1+BaasZvjTk64RoIDlL8brpEcJx3OmY7jLoZsswdtmhfC/G21llXhITOwmvRDDeTTPbyASOa16cF5/A1fZAidJpqju3wYAy9avPR1ya6eNp9K8XYrrtuxlqi+bDKwlfrYdR0RRiKRVTLOH85+ZY7XSmzRpfZBJjaTa81VDcJHpZnZnSQLASGYW9l51ZV/h7eVzTi3Hv6hUsgc/51AqJRTkpbFVLXXszoBL8nBX0u/0jBLT8nH+fJePbrwURT58OY+UieRjd1vs04w0VG5VN2U6MoGZkQzKN/ptz0Q366dxoTGmj7i1NQGHi9GgnquXFYdrCfZBmeb7s0T6yrdlZH5cZuwHFyIJ/kAtGsTg0xH5taAAq44BAk1CPk9KVVbqQzrCUiFdF/6gtlPQ8bHHc1G1W92MXGZ5HEHftyLYs8mbD/9xYRUWkHmlM0zC2ilJlnNgV4bfALpQghxOUoZL7VTqtCHIaQSXm+YUMnpkXybnV+A6xlm2CVy8fn0Xlm2XRa0+zzOa21JWWmixfiPMSCZ7qA4rS93VN3pkpF1s5TonQjisHf7iU9ZGvUPOAKZcR1pbeVf/Ul7OhepGCaId9wOtqo7pJ7yLcBZ0pFkOF28y4zEI/kcUNmutBHaQpBdNM8vjCS6HZRokkeo88TBAjGyG7SR+6vUgTcyK9Imalj0kuxz0wmK+byQU11AiJFk/ya5dNduRClcnU64yGu/ieWSeOos1t3ep+RPIWQ2pyTYVbZltTbsb7NiwSi3AV+8KLWk7LxCnfZUetEM8ThnsSoGH38/nyAwFguJp8FjvlHtcWZuU4hPva0rHfr0UhOOJ/F6vS62FW7KzkmRll2HEc7oUq4fyi5T70Vl7YVIfsPHUCdHesf9Lk7WNVWO75JDkYbMI8TOW8JKVtLY9d6UJRITO8oKo0xS+o99Yy04iniGHAaGj88kEWgwv0OrHdY/nr76DOGNS59hXCGXzTKUvDl9iKpLSWYN1lxIeyywdNpTkhay74w2jFT6NS8qkjo5CxA1yfSYwp6AJIZNKIeEK5PJAW7ORgWgwp0VgzYpqovMrWxbu+DGZ6Lhie1RAqpzm8VUzKJOH3mCzWuTOLsN3VT/dv2eeYe9UjbR8YTBsLz7q60VN1sU51k+um1f8JxD5pPhbhSC8rRaB454tmh6YUWrJI3+GWY0qeWioj/tbkYITOkJaeuGt4JrJvHA+l0Gu7kY7XOaa05alMnRWVCXqFgLIwSY4uF59Ue5SU4QKuc/HamDxbr0x6csCetXGoP7Qn1Bk/J9DsynO/UD6iZ1Hyrz+jit0hDCwi/E9OjgKTbB3ZQKQ/0ZOvevfNHG0NK4Aj3Cp7NpRk07RT1i/S0EL93Ag8GRgKI9CfpajKyK6+Jj/PI1KO5/85VAwz2AwzP8FTBb075IxCXv6T9RVvWT2tUaqxDS92zrGUbWzUYk9mSs82pECH+fkqsDt93VW++4YsR/dHCYcQSYTO/KaBMDj9LSD/J/+z20Kq8XvZUAIHtm9hRPP3ItbuAu2Hm5lkPs92pd7kCxgRs0xOVBnZ13ccdA0aunrwv9SdqElJRC3g+oCu+nXyCgmXUs9yMjTMAIHfxZV+aPKcZeUBWt057Xo85Ks1Ir5gzEHCWqZEhrLZMuF11ziGtFQUds/EESajhagzcKsxamcSZxGth4UII+adPhQkUnx2WyN+4YWR+r3f8MnkyGFuR4zjzxJS8WsQYR5PTyRaD9ixa6Mh741nBHbzfjXHskGDq179xaRNrCIB1z1xRfWfjqw2pHc1zk9xlPpL8sQWAIuETZZhbnmL54rceXVNRvUiKrrqIkeogsl0XXb17ylNb0f4GA9Wd44vffEG8FSZGHEL2fbaTGRcSiCeA8PmA/f6Hz8HCS76fXUHwgwkzSwlI71ekZ7Fapmlk/KC+Hs8hUcw3N2LN5LhkVYyizYFl/uPeVP5lsoJHhhfWvvSWruCUW1ZcJOeuTbrDgywJ/qG07gZJplnTvLcYdNaH0KMYOYMGX+rB4NGPFmQsNaIwlWrfCezxre8zXBrsMT+edVLbLqN1BqB76JH4BvZTqUIMfGwPGEn+EnmTV86fPBaYbFL3DFEhjB45CewkXEAtJxk4/Ms2pPXnaRqdky0HOYdcUcE2zcXq4vaIvW2/v0nHFJH2XXe22ueDmq/18XGtELSq85j9X8q0tcNSSKJIX8FTuJF/Pf8j5PhqG2u+osvsLxYrvvfeVJL+4tkcXcr9JV7v0ERmj/X6fM3NC4j6dS1+9Umr2oPavqiAydTZPLMNRGY23LO9zAVDly7jD+70G5TPPLdhRIl4WxcYjLnM+SNcJ26FOrkrISUtPObIz5Zb3AG612krnpy15RMW+1cQjlnWFI6538qky9axd2oJmHIHP08KyP0ubGO+TQNOYuv2uh17yCIvR8VcStw7o1g0NM60sk+8Tq7YfIBJrtp53GkvzXH7OA0p8/n/u1satf/VJhtR1l8Wa6Gmaug7haSpaCaYQax6ta0mkutlb+eAOSG1aobM81D9A4iS1RRlzBBoVX6tU1S6WE2N9ORY6DfeLRC4l9Rvr5h95XDWB2mR1d4WFudpsgVYwiTwT31ljskD8ZyDOlm5DkGh9N/UB/0AI5Xvb8ZBmai2hQ4BWMqFwYnzxwB26YHSOv9WgY3JXnvoN+2R4rqGVh/LLDMtpFP+SpMGJNWvbIl5SOodbCczW2RKleksPoUeGEzrjtKHVdtZA+kfqO+rVx/iclCqwoopepvJpSTDjT+b9GWylGRF8EDbGlw6eUzmJM95Ovoz+kwLX3c2fTjFeYEsE7vUZm3mqdGJuKh2w9/QGSaqRHs99aScGOdDqkFcACoqdbBoQqqjamhH6Q9ng39JCg3lrGJwd50Qk9ovnqBTr8MME7Ps2wiVfygUmPoUBJJfJWX5Nda0nuncbFkA=="))}Pt.getData=getData},89365:(Wt,Pt,en)=>{Object.defineProperty(Pt,"__esModule",{value:true});Pt.ens_normalize=Pt.ens_normalize_post_check=void 0;var tn=en(13859);var nn=en(97666);var an=(0,nn.getData)();var In=en(92302);var rn=new Set((0,In.read_member_array)(an));var sn=new Set((0,In.read_member_array)(an));var on=(0,In.read_mapped_map)(an);var cn=(0,In.read_emoji_trie)(an);var dn=45;var un=95;function explode_cp(Wt){return(0,tn.toUtf8CodePoints)(Wt)}function filter_fe0f(Wt){return Wt.filter((function(Wt){return Wt!=65039}))}function ens_normalize_post_check(Wt){for(var Pt=0,en=Wt.split(".");Pt=0;an--){if(nn[an]!==un){throw new Error("underscore only allowed at start")}}if(nn.length>=4&&nn.every((function(Wt){return Wt<128}))&&nn[2]===dn&&nn[3]===dn){throw new Error("invalid label extension")}}catch(Wt){throw new Error('Invalid label "'+tn+'": '+Wt.message)}}return Wt}Pt.ens_normalize_post_check=ens_normalize_post_check;function ens_normalize(Wt){return ens_normalize_post_check(normalize(Wt,filter_fe0f))}Pt.ens_normalize=ens_normalize;function normalize(Wt,Pt){var en=explode_cp(Wt).reverse();var tn=[];while(en.length){var nn=consume_emoji_reversed(en);if(nn){tn.push.apply(tn,Pt(nn));continue}var an=en.pop();if(rn.has(an)){tn.push(an);continue}if(sn.has(an)){continue}var In=on[an];if(In){tn.push.apply(tn,In);continue}throw new Error("Disallowed codepoint: 0x"+an.toString(16).toUpperCase())}return ens_normalize_post_check(nfc(String.fromCodePoint.apply(String,tn)))}function nfc(Wt){return Wt.normalize("NFC")}function consume_emoji_reversed(Wt,Pt){var en;var tn=cn;var nn;var an;var In=[];var rn=Wt.length;if(Pt)Pt.length=0;var _loop_1=function(){var sn=Wt[--rn];tn=(en=tn.branches.find((function(Wt){return Wt.set.has(sn)})))===null||en===void 0?void 0:en.node;if(!tn)return"break";if(tn.save){an=sn}else if(tn.check){if(sn===an)return"break"}In.push(sn);if(tn.fe0f){In.push(65039);if(rn>0&&Wt[rn-1]==65039)rn--}if(tn.valid){nn=In.slice();if(tn.valid==2)nn.splice(1,1);if(Pt)Pt.push.apply(Pt,Wt.slice(rn).reverse());Wt.length=rn}};while(rn){var sn=_loop_1();if(sn==="break")break}return nn}},93562:(Wt,Pt,en)=>{Object.defineProperty(Pt,"__esModule",{value:true});Pt.id=void 0;var tn=en(56938);var nn=en(13859);function id(Wt){return(0,tn.keccak256)((0,nn.toUtf8Bytes)(Wt))}Pt.id=id},91839:(Wt,Pt,en)=>{Object.defineProperty(Pt,"__esModule",{value:true});Pt._TypedDataEncoder=Pt.hashMessage=Pt.messagePrefix=Pt.ensNormalize=Pt.isValidName=Pt.namehash=Pt.dnsEncode=Pt.id=void 0;var tn=en(93562);Object.defineProperty(Pt,"id",{enumerable:true,get:function(){return tn.id}});var nn=en(62292);Object.defineProperty(Pt,"dnsEncode",{enumerable:true,get:function(){return nn.dnsEncode}});Object.defineProperty(Pt,"isValidName",{enumerable:true,get:function(){return nn.isValidName}});Object.defineProperty(Pt,"namehash",{enumerable:true,get:function(){return nn.namehash}});var an=en(52976);Object.defineProperty(Pt,"hashMessage",{enumerable:true,get:function(){return an.hashMessage}});Object.defineProperty(Pt,"messagePrefix",{enumerable:true,get:function(){return an.messagePrefix}});var In=en(62292);Object.defineProperty(Pt,"ensNormalize",{enumerable:true,get:function(){return In.ensNormalize}});var rn=en(64516);Object.defineProperty(Pt,"_TypedDataEncoder",{enumerable:true,get:function(){return rn.TypedDataEncoder}})},52976:(Wt,Pt,en)=>{Object.defineProperty(Pt,"__esModule",{value:true});Pt.hashMessage=Pt.messagePrefix=void 0;var tn=en(42006);var nn=en(56938);var an=en(13859);Pt.messagePrefix="Ethereum Signed Message:\n";function hashMessage(Wt){if(typeof Wt==="string"){Wt=(0,an.toUtf8Bytes)(Wt)}return(0,nn.keccak256)((0,tn.concat)([(0,an.toUtf8Bytes)(Pt.messagePrefix),(0,an.toUtf8Bytes)(String(Wt.length)),Wt]))}Pt.hashMessage=hashMessage},62292:(Wt,Pt,en)=>{Object.defineProperty(Pt,"__esModule",{value:true});Pt.dnsEncode=Pt.namehash=Pt.isValidName=Pt.ensNormalize=void 0;var tn=en(42006);var nn=en(13859);var an=en(56938);var In=en(76127);var rn=en(37272);var sn=new In.Logger(rn.version);var on=en(89365);var cn=new Uint8Array(32);cn.fill(0);function checkComponent(Wt){if(Wt.length===0){throw new Error("invalid ENS name; empty component")}return Wt}function ensNameSplit(Wt){var Pt=(0,nn.toUtf8Bytes)((0,on.ens_normalize)(Wt));var en=[];if(Wt.length===0){return en}var tn=0;for(var an=0;an=Pt.length){throw new Error("invalid ENS name; empty component")}en.push(checkComponent(Pt.slice(tn)));return en}function ensNormalize(Wt){return ensNameSplit(Wt).map((function(Wt){return(0,nn.toUtf8String)(Wt)})).join(".")}Pt.ensNormalize=ensNormalize;function isValidName(Wt){try{return ensNameSplit(Wt).length!==0}catch(Wt){}return false}Pt.isValidName=isValidName;function namehash(Wt){if(typeof Wt!=="string"){sn.throwArgumentError("invalid ENS name; not a string","name",Wt)}var Pt=cn;var en=ensNameSplit(Wt);while(en.length){Pt=(0,an.keccak256)((0,tn.concat)([Pt,(0,an.keccak256)(en.pop())]))}return(0,tn.hexlify)(Pt)}Pt.namehash=namehash;function dnsEncode(Wt){return(0,tn.hexlify)((0,tn.concat)(ensNameSplit(Wt).map((function(Wt){if(Wt.length>63){throw new Error("invalid DNS encoded entry; length exceeds 63 bytes")}var Pt=new Uint8Array(Wt.length+1);Pt.set(Wt,1);Pt[0]=Pt.length-1;return Pt}))))+"00"}Pt.dnsEncode=dnsEncode},64516:function(Wt,Pt,en){var tn=this&&this.__awaiter||function(Wt,Pt,en,tn){function adopt(Wt){return Wt instanceof en?Wt:new en((function(Pt){Pt(Wt)}))}return new(en||(en=Promise))((function(en,nn){function fulfilled(Wt){try{step(tn.next(Wt))}catch(Wt){nn(Wt)}}function rejected(Wt){try{step(tn["throw"](Wt))}catch(Wt){nn(Wt)}}function step(Wt){Wt.done?en(Wt.value):adopt(Wt.value).then(fulfilled,rejected)}step((tn=tn.apply(Wt,Pt||[])).next())}))};var nn=this&&this.__generator||function(Wt,Pt){var en={label:0,sent:function(){if(an[0]&1)throw an[1];return an[1]},trys:[],ops:[]},tn,nn,an,In;return In={next:verb(0),throw:verb(1),return:verb(2)},typeof Symbol==="function"&&(In[Symbol.iterator]=function(){return this}),In;function verb(Wt){return function(Pt){return step([Wt,Pt])}}function step(In){if(tn)throw new TypeError("Generator is already executing.");while(en)try{if(tn=1,nn&&(an=In[0]&2?nn["return"]:In[0]?nn["throw"]||((an=nn["return"])&&an.call(nn),0):nn.next)&&!(an=an.call(nn,In[1])).done)return an;if(nn=0,an)In=[In[0]&2,an.value];switch(In[0]){case 0:case 1:an=In;break;case 4:en.label++;return{value:In[1],done:false};case 5:en.label++;nn=In[1];In=[0];continue;case 7:In=en.ops.pop();en.trys.pop();continue;default:if(!(an=en.trys,an=an.length>0&&an[an.length-1])&&(In[0]===6||In[0]===2)){en=0;continue}if(In[0]===3&&(!an||In[1]>an[0]&&In[1]256||Pt[2]&&Pt[2]!==String(tn)){un.throwArgumentError("invalid numeric width","type",Wt)}var nn=Zn.mask(en?tn-1:tn);var on=en?nn.add(hn).mul(bn):Gn;return function(Pt){var en=In.BigNumber.from(Pt);if(en.lt(on)||en.gt(nn)){un.throwArgumentError("value out-of-bounds for "+Wt,"value",Pt)}return(0,rn.hexZeroPad)(en.toTwos(256).toHexString(),32)}}}{var Pt=Wt.match(/^bytes(\d+)$/);if(Pt){var cn=parseInt(Pt[1]);if(cn===0||cn>32||Pt[1]!==String(cn)){un.throwArgumentError("invalid bytes width","type",Wt)}return function(Pt){var en=(0,rn.arrayify)(Pt);if(en.length!==cn){un.throwArgumentError("invalid length for "+Wt,"value",Pt)}return hexPadRight(Pt)}}}switch(Wt){case"address":return function(Wt){return(0,rn.hexZeroPad)((0,an.getAddress)(Wt),32)};case"bool":return function(Wt){return!Wt?Wn:An};case"bytes":return function(Wt){return(0,sn.keccak256)(Wt)};case"string":return function(Wt){return(0,pn.id)(Wt)}}return null}function encodeType(Wt,Pt){return Wt+"("+Pt.map((function(Wt){var Pt=Wt.name,en=Wt.type;return en+" "+Pt})).join(",")+")"}var vn=function(){function TypedDataEncoder(Wt){(0,on.defineReadOnly)(this,"types",Object.freeze((0,on.deepCopy)(Wt)));(0,on.defineReadOnly)(this,"_encoderCache",{});(0,on.defineReadOnly)(this,"_types",{});var Pt={};var en={};var tn={};Object.keys(Wt).forEach((function(Wt){Pt[Wt]={};en[Wt]=[];tn[Wt]={}}));var _loop_1=function(tn){var nn={};Wt[tn].forEach((function(an){if(nn[an.name]){un.throwArgumentError("duplicate variable name "+JSON.stringify(an.name)+" in "+JSON.stringify(tn),"types",Wt)}nn[an.name]=true;var In=an.type.match(/^([^\x5b]*)(\x5b|$)/)[1];if(In===tn){un.throwArgumentError("circular type reference to "+JSON.stringify(In),"types",Wt)}var rn=getBaseEncoder(In);if(rn){return}if(!en[In]){un.throwArgumentError("unknown type "+JSON.stringify(In),"types",Wt)}en[In].push(tn);Pt[tn][In]=true}))};for(var nn in Wt){_loop_1(nn)}var an=Object.keys(en).filter((function(Wt){return en[Wt].length===0}));if(an.length===0){un.throwArgumentError("missing primary type","types",Wt)}else if(an.length>1){un.throwArgumentError("ambiguous primary types or unused types: "+an.map((function(Wt){return JSON.stringify(Wt)})).join(", "),"types",Wt)}(0,on.defineReadOnly)(this,"primaryType",an[0]);function checkCircular(nn,an){if(an[nn]){un.throwArgumentError("circular type reference to "+JSON.stringify(nn),"types",Wt)}an[nn]=true;Object.keys(Pt[nn]).forEach((function(Wt){if(!en[Wt]){return}checkCircular(Wt,an);Object.keys(an).forEach((function(Pt){tn[Pt][Wt]=true}))}));delete an[nn]}checkCircular(this.primaryType,{});for(var In in tn){var rn=Object.keys(tn[In]);rn.sort();this._types[In]=encodeType(In,Wt[In])+rn.map((function(Pt){return encodeType(Pt,Wt[Pt])})).join("")}}TypedDataEncoder.prototype.getEncoder=function(Wt){var Pt=this._encoderCache[Wt];if(!Pt){Pt=this._encoderCache[Wt]=this._getEncoder(Wt)}return Pt};TypedDataEncoder.prototype._getEncoder=function(Wt){var Pt=this;{var en=getBaseEncoder(Wt);if(en){return en}}var tn=Wt.match(/^(.*)(\x5b(\d*)\x5d)$/);if(tn){var nn=tn[1];var an=this.getEncoder(nn);var In=parseInt(tn[3]);return function(Wt){if(In>=0&&Wt.length!==In){un.throwArgumentError("array length mismatch; expected length ${ arrayLength }","value",Wt)}var en=Wt.map(an);if(Pt._types[nn]){en=en.map(sn.keccak256)}return(0,sn.keccak256)((0,rn.hexConcat)(en))}}var on=this.types[Wt];if(on){var cn=(0,pn.id)(this._types[Wt]);return function(Wt){var en=on.map((function(en){var tn=en.name,nn=en.type;var an=Pt.getEncoder(nn)(Wt[tn]);if(Pt._types[nn]){return(0,sn.keccak256)(an)}return an}));en.unshift(cn);return(0,rn.hexConcat)(en)}}return un.throwArgumentError("unknown type: "+Wt,"type",Wt)};TypedDataEncoder.prototype.encodeType=function(Wt){var Pt=this._types[Wt];if(!Pt){un.throwArgumentError("unknown type: "+JSON.stringify(Wt),"name",Wt)}return Pt};TypedDataEncoder.prototype.encodeData=function(Wt,Pt){return this.getEncoder(Wt)(Pt)};TypedDataEncoder.prototype.hashStruct=function(Wt,Pt){return(0,sn.keccak256)(this.encodeData(Wt,Pt))};TypedDataEncoder.prototype.encode=function(Wt){return this.encodeData(this.primaryType,Wt)};TypedDataEncoder.prototype.hash=function(Wt){return this.hashStruct(this.primaryType,Wt)};TypedDataEncoder.prototype._visit=function(Wt,Pt,en){var tn=this;{var nn=getBaseEncoder(Wt);if(nn){return en(Wt,Pt)}}var an=Wt.match(/^(.*)(\x5b(\d*)\x5d)$/);if(an){var In=an[1];var rn=parseInt(an[3]);if(rn>=0&&Pt.length!==rn){un.throwArgumentError("array length mismatch; expected length ${ arrayLength }","value",Pt)}return Pt.map((function(Wt){return tn._visit(In,Wt,en)}))}var sn=this.types[Wt];if(sn){return sn.reduce((function(Wt,nn){var an=nn.name,In=nn.type;Wt[an]=tn._visit(In,Pt[an],en);return Wt}),{})}return un.throwArgumentError("unknown type: "+Wt,"type",Wt)};TypedDataEncoder.prototype.visit=function(Wt,Pt){return this._visit(this.primaryType,Wt,Pt)};TypedDataEncoder.from=function(Wt){return new TypedDataEncoder(Wt)};TypedDataEncoder.getPrimaryType=function(Wt){return TypedDataEncoder.from(Wt).primaryType};TypedDataEncoder.hashStruct=function(Wt,Pt,en){return TypedDataEncoder.from(Pt).hashStruct(Wt,en)};TypedDataEncoder.hashDomain=function(Wt){var Pt=[];for(var en in Wt){var tn=Nn[en];if(!tn){un.throwArgumentError("invalid typed-data domain key: "+JSON.stringify(en),"domain",Wt)}Pt.push({name:en,type:tn})}Pt.sort((function(Wt,Pt){return gn.indexOf(Wt.name)-gn.indexOf(Pt.name)}));return TypedDataEncoder.hashStruct("EIP712Domain",{EIP712Domain:Pt},Wt)};TypedDataEncoder.encode=function(Wt,Pt,en){return(0,rn.hexConcat)(["0x1901",TypedDataEncoder.hashDomain(Wt),TypedDataEncoder.from(Pt).hash(en)])};TypedDataEncoder.hash=function(Wt,Pt,en){return(0,sn.keccak256)(TypedDataEncoder.encode(Wt,Pt,en))};TypedDataEncoder.resolveNames=function(Wt,Pt,en,an){return tn(this,void 0,void 0,(function(){var tn,In,sn,cn,dn,un,pn,mn;return nn(this,(function(nn){switch(nn.label){case 0:Wt=(0,on.shallowCopy)(Wt);tn={};if(Wt.verifyingContract&&!(0,rn.isHexString)(Wt.verifyingContract,20)){tn[Wt.verifyingContract]="0x"}In=TypedDataEncoder.from(Pt);In.visit(en,(function(Wt,Pt){if(Wt==="address"&&!(0,rn.isHexString)(Pt,20)){tn[Pt]="0x"}return Pt}));sn=[];for(cn in tn)sn.push(cn);dn=0;nn.label=1;case 1:if(!(dn{Object.defineProperty(Pt,"__esModule",{value:true});Pt.version=void 0;Pt.version="hdnode/5.7.0"},13067:(Wt,Pt,en)=>{Object.defineProperty(Pt,"__esModule",{value:true});Pt.getAccountPath=Pt.isValidMnemonic=Pt.entropyToMnemonic=Pt.mnemonicToEntropy=Pt.mnemonicToSeed=Pt.HDNode=Pt.defaultPath=void 0;var tn=en(31426);var nn=en(42006);var an=en(18202);var In=en(13859);var rn=en(15686);var sn=en(61338);var on=en(63928);var cn=en(66935);var dn=en(62394);var un=en(78168);var pn=en(76127);var mn=en(94620);var bn=new pn.Logger(mn.version);var Gn=an.BigNumber.from("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141");var hn=(0,In.toUtf8Bytes)("Bitcoin seed");var Zn=2147483648;function getUpperMask(Wt){return(1<=256){throw new Error("Depth too large!")}return base58check((0,nn.concat)([this.privateKey!=null?"0x0488ADE4":"0x0488B21E",(0,nn.hexlify)(this.depth),this.parentFingerprint,(0,nn.hexZeroPad)((0,nn.hexlify)(this.index),4),this.chainCode,this.privateKey!=null?(0,nn.concat)(["0x00",this.privateKey]):this.publicKey]))},enumerable:false,configurable:true});HDNode.prototype.neuter=function(){return new HDNode(An,null,this.publicKey,this.parentFingerprint,this.chainCode,this.index,this.depth,this.path)};HDNode.prototype._derive=function(Wt){if(Wt>4294967295){throw new Error("invalid index - "+String(Wt))}var Pt=this.path;if(Pt){Pt+="/"+(Wt&~Zn)}var en=new Uint8Array(37);if(Wt&Zn){if(!this.privateKey){throw new Error("cannot derive child of neutered node")}en.set((0,nn.arrayify)(this.privateKey),1);if(Pt){Pt+="'"}}else{en.set((0,nn.arrayify)(this.publicKey))}for(var tn=24;tn>=0;tn-=8){en[33+(tn>>3)]=Wt>>24-tn&255}var In=(0,nn.arrayify)((0,cn.computeHmac)(cn.SupportedAlgorithm.sha512,this.chainCode,en));var rn=In.slice(0,32);var sn=In.slice(32);var dn=null;var un=null;if(this.privateKey){dn=bytes32(an.BigNumber.from(rn).add(this.privateKey).mod(Gn))}else{var pn=new on.SigningKey((0,nn.hexlify)(rn));un=pn._addPoint(this.publicKey)}var mn=Pt;var bn=this.mnemonic;if(bn){mn=Object.freeze({phrase:bn.phrase,path:Pt,locale:bn.locale||"en"})}return new HDNode(An,dn,un,this.fingerprint,bytes32(sn),Wt,this.depth+1,mn)};HDNode.prototype.derivePath=function(Wt){var Pt=Wt.split("/");if(Pt.length===0||Pt[0]==="m"&&this.depth!==0){throw new Error("invalid path - "+Wt)}if(Pt[0]==="m"){Pt.shift()}var en=this;for(var tn=0;tn=Zn){throw new Error("invalid path index - "+nn)}en=en._derive(Zn+an)}else if(nn.match(/^[0-9]+$/)){var an=parseInt(nn);if(an>=Zn){throw new Error("invalid path index - "+nn)}en=en._derive(an)}else{throw new Error("invalid path component - "+nn)}}return en};HDNode._fromSeed=function(Wt,Pt){var en=(0,nn.arrayify)(Wt);if(en.length<16||en.length>64){throw new Error("invalid seed")}var tn=(0,nn.arrayify)((0,cn.computeHmac)(cn.SupportedAlgorithm.sha512,hn,en));return new HDNode(An,bytes32(tn.slice(0,32)),null,"0x00000000",bytes32(tn.slice(32)),0,0,Pt)};HDNode.fromMnemonic=function(Wt,Pt,en){en=getWordlist(en);Wt=entropyToMnemonic(mnemonicToEntropy(Wt,en),en);return HDNode._fromSeed(mnemonicToSeed(Wt,Pt),{phrase:Wt,path:"m",locale:en.locale})};HDNode.fromSeed=function(Wt){return HDNode._fromSeed(Wt,null)};HDNode.fromExtendedKey=function(Wt){var Pt=tn.Base58.decode(Wt);if(Pt.length!==82||base58check(Pt.slice(0,78))!==Wt){bn.throwArgumentError("invalid extended key","extendedKey","[REDACTED]")}var en=Pt[4];var an=(0,nn.hexlify)(Pt.slice(5,9));var In=parseInt((0,nn.hexlify)(Pt.slice(9,13)).substring(2),16);var rn=(0,nn.hexlify)(Pt.slice(13,45));var sn=Pt.slice(45,78);switch((0,nn.hexlify)(Pt.slice(0,4))){case"0x0488b21e":case"0x043587cf":return new HDNode(An,null,(0,nn.hexlify)(sn),an,rn,In,en,null);case"0x0488ade4":case"0x04358394 ":if(sn[0]!==0){break}return new HDNode(An,(0,nn.hexlify)(sn.slice(1)),null,an,rn,In,en,null)}return bn.throwArgumentError("invalid extended key","extendedKey","[REDACTED]")};return HDNode}();Pt.HDNode=Wn;function mnemonicToSeed(Wt,Pt){if(!Pt){Pt=""}var en=(0,In.toUtf8Bytes)("mnemonic"+Pt,In.UnicodeNormalizationForm.NFKD);return(0,rn.pbkdf2)((0,In.toUtf8Bytes)(Wt,In.UnicodeNormalizationForm.NFKD),en,2048,64,"sha512")}Pt.mnemonicToSeed=mnemonicToSeed;function mnemonicToEntropy(Wt,Pt){Pt=getWordlist(Pt);bn.checkNormalize();var en=Pt.split(Wt);if(en.length%3!==0){throw new Error("invalid mnemonic")}var tn=(0,nn.arrayify)(new Uint8Array(Math.ceil(11*en.length/8)));var an=0;for(var In=0;In>3]|=1<<7-an%8}an++}}var on=32*en.length/3;var dn=en.length/3;var un=getUpperMask(dn);var pn=(0,nn.arrayify)((0,cn.sha256)(tn.slice(0,on/8)))[0]&un;if(pn!==(tn[tn.length-1]&un)){throw new Error("invalid checksum")}return(0,nn.hexlify)(tn.slice(0,on/8))}Pt.mnemonicToEntropy=mnemonicToEntropy;function entropyToMnemonic(Wt,Pt){Pt=getWordlist(Pt);Wt=(0,nn.arrayify)(Wt);if(Wt.length%4!==0||Wt.length<16||Wt.length>32){throw new Error("invalid entropy")}var en=[0];var tn=11;for(var an=0;an8){en[en.length-1]<<=8;en[en.length-1]|=Wt[an];tn-=8}else{en[en.length-1]<<=tn;en[en.length-1]|=Wt[an]>>8-tn;en.push(Wt[an]&getLowerMask(8-tn));tn+=3}}var In=Wt.length/4;var rn=(0,nn.arrayify)((0,cn.sha256)(Wt))[0]&getUpperMask(In);en[en.length-1]<<=In;en[en.length-1]|=rn>>8-In;return Pt.join(en.map((function(Wt){return Pt.getWord(Wt)})))}Pt.entropyToMnemonic=entropyToMnemonic;function isValidMnemonic(Wt,Pt){try{mnemonicToEntropy(Wt,Pt);return true}catch(Wt){}return false}Pt.isValidMnemonic=isValidMnemonic;function getAccountPath(Wt){if(typeof Wt!=="number"||Wt<0||Wt>=Zn||Wt%1){bn.throwArgumentError("invalid account index","index",Wt)}return"m/44'/60'/"+Wt+"'/0/0"}Pt.getAccountPath=getAccountPath},20771:(Wt,Pt)=>{Object.defineProperty(Pt,"__esModule",{value:true});Pt.version=void 0;Pt.version="json-wallets/5.7.0"},41340:function(Wt,Pt,en){var tn=this&&this.__extends||function(){var extendStatics=function(Wt,Pt){extendStatics=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(Wt,Pt){Wt.__proto__=Pt}||function(Wt,Pt){for(var en in Pt)if(Object.prototype.hasOwnProperty.call(Pt,en))Wt[en]=Pt[en]};return extendStatics(Wt,Pt)};return function(Wt,Pt){if(typeof Pt!=="function"&&Pt!==null)throw new TypeError("Class extends value "+String(Pt)+" is not a constructor or null");extendStatics(Wt,Pt);function __(){this.constructor=Wt}Wt.prototype=Pt===null?Object.create(Pt):(__.prototype=Pt.prototype,new __)}}();var nn=this&&this.__importDefault||function(Wt){return Wt&&Wt.__esModule?Wt:{default:Wt}};Object.defineProperty(Pt,"__esModule",{value:true});Pt.decrypt=Pt.CrowdsaleAccount=void 0;var an=nn(en(31965));var In=en(75745);var rn=en(42006);var sn=en(56938);var on=en(15686);var cn=en(13859);var dn=en(61338);var un=en(76127);var pn=en(20771);var mn=new un.Logger(pn.version);var bn=en(63503);var Gn=function(Wt){tn(CrowdsaleAccount,Wt);function CrowdsaleAccount(){return Wt!==null&&Wt.apply(this,arguments)||this}CrowdsaleAccount.prototype.isCrowdsaleAccount=function(Wt){return!!(Wt&&Wt._isCrowdsaleAccount)};return CrowdsaleAccount}(dn.Description);Pt.CrowdsaleAccount=Gn;function decrypt(Wt,Pt){var en=JSON.parse(Wt);Pt=(0,bn.getPassword)(Pt);var tn=(0,In.getAddress)((0,bn.searchPath)(en,"ethaddr"));var nn=(0,bn.looseArrayify)((0,bn.searchPath)(en,"encseed"));if(!nn||nn.length%16!==0){mn.throwArgumentError("invalid encseed","json",Wt)}var dn=(0,rn.arrayify)((0,on.pbkdf2)(Pt,Pt,2e3,32,"sha256")).slice(0,16);var un=nn.slice(0,16);var pn=nn.slice(16);var hn=new an.default.ModeOfOperation.cbc(dn,un);var Zn=an.default.padding.pkcs7.strip((0,rn.arrayify)(hn.decrypt(pn)));var An="";for(var Wn=0;Wn{Object.defineProperty(Pt,"__esModule",{value:true});Pt.decryptJsonWalletSync=Pt.decryptJsonWallet=Pt.getJsonWalletAddress=Pt.isKeystoreWallet=Pt.isCrowdsaleWallet=Pt.encryptKeystore=Pt.decryptKeystoreSync=Pt.decryptKeystore=Pt.decryptCrowdsale=void 0;var tn=en(41340);Object.defineProperty(Pt,"decryptCrowdsale",{enumerable:true,get:function(){return tn.decrypt}});var nn=en(27610);Object.defineProperty(Pt,"getJsonWalletAddress",{enumerable:true,get:function(){return nn.getJsonWalletAddress}});Object.defineProperty(Pt,"isCrowdsaleWallet",{enumerable:true,get:function(){return nn.isCrowdsaleWallet}});Object.defineProperty(Pt,"isKeystoreWallet",{enumerable:true,get:function(){return nn.isKeystoreWallet}});var an=en(1692);Object.defineProperty(Pt,"decryptKeystore",{enumerable:true,get:function(){return an.decrypt}});Object.defineProperty(Pt,"decryptKeystoreSync",{enumerable:true,get:function(){return an.decryptSync}});Object.defineProperty(Pt,"encryptKeystore",{enumerable:true,get:function(){return an.encrypt}});function decryptJsonWallet(Wt,Pt,en){if((0,nn.isCrowdsaleWallet)(Wt)){if(en){en(0)}var In=(0,tn.decrypt)(Wt,Pt);if(en){en(1)}return Promise.resolve(In)}if((0,nn.isKeystoreWallet)(Wt)){return(0,an.decrypt)(Wt,Pt,en)}return Promise.reject(new Error("invalid JSON wallet"))}Pt.decryptJsonWallet=decryptJsonWallet;function decryptJsonWalletSync(Wt,Pt){if((0,nn.isCrowdsaleWallet)(Wt)){return(0,tn.decrypt)(Wt,Pt)}if((0,nn.isKeystoreWallet)(Wt)){return(0,an.decryptSync)(Wt,Pt)}throw new Error("invalid JSON wallet")}Pt.decryptJsonWalletSync=decryptJsonWalletSync},27610:(Wt,Pt,en)=>{Object.defineProperty(Pt,"__esModule",{value:true});Pt.getJsonWalletAddress=Pt.isKeystoreWallet=Pt.isCrowdsaleWallet=void 0;var tn=en(75745);function isCrowdsaleWallet(Wt){var Pt=null;try{Pt=JSON.parse(Wt)}catch(Wt){return false}return Pt.encseed&&Pt.ethaddr}Pt.isCrowdsaleWallet=isCrowdsaleWallet;function isKeystoreWallet(Wt){var Pt=null;try{Pt=JSON.parse(Wt)}catch(Wt){return false}if(!Pt.version||parseInt(Pt.version)!==Pt.version||parseInt(Pt.version)!==3){return false}return true}Pt.isKeystoreWallet=isKeystoreWallet;function getJsonWalletAddress(Wt){if(isCrowdsaleWallet(Wt)){try{return(0,tn.getAddress)(JSON.parse(Wt).ethaddr)}catch(Wt){return null}}if(isKeystoreWallet(Wt)){try{return(0,tn.getAddress)(JSON.parse(Wt).address)}catch(Wt){return null}}return null}Pt.getJsonWalletAddress=getJsonWalletAddress},1692:function(Wt,Pt,en){var tn=this&&this.__extends||function(){var extendStatics=function(Wt,Pt){extendStatics=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(Wt,Pt){Wt.__proto__=Pt}||function(Wt,Pt){for(var en in Pt)if(Object.prototype.hasOwnProperty.call(Pt,en))Wt[en]=Pt[en]};return extendStatics(Wt,Pt)};return function(Wt,Pt){if(typeof Pt!=="function"&&Pt!==null)throw new TypeError("Class extends value "+String(Pt)+" is not a constructor or null");extendStatics(Wt,Pt);function __(){this.constructor=Wt}Wt.prototype=Pt===null?Object.create(Pt):(__.prototype=Pt.prototype,new __)}}();var nn=this&&this.__awaiter||function(Wt,Pt,en,tn){function adopt(Wt){return Wt instanceof en?Wt:new en((function(Pt){Pt(Wt)}))}return new(en||(en=Promise))((function(en,nn){function fulfilled(Wt){try{step(tn.next(Wt))}catch(Wt){nn(Wt)}}function rejected(Wt){try{step(tn["throw"](Wt))}catch(Wt){nn(Wt)}}function step(Wt){Wt.done?en(Wt.value):adopt(Wt.value).then(fulfilled,rejected)}step((tn=tn.apply(Wt,Pt||[])).next())}))};var an=this&&this.__generator||function(Wt,Pt){var en={label:0,sent:function(){if(an[0]&1)throw an[1];return an[1]},trys:[],ops:[]},tn,nn,an,In;return In={next:verb(0),throw:verb(1),return:verb(2)},typeof Symbol==="function"&&(In[Symbol.iterator]=function(){return this}),In;function verb(Wt){return function(Pt){return step([Wt,Pt])}}function step(In){if(tn)throw new TypeError("Generator is already executing.");while(en)try{if(tn=1,nn&&(an=In[0]&2?nn["return"]:In[0]?nn["throw"]||((an=nn["return"])&&an.call(nn),0):nn.next)&&!(an=an.call(nn,In[1])).done)return an;if(nn=0,an)In=[In[0]&2,an.value];switch(In[0]){case 0:case 1:an=In;break;case 4:en.label++;return{value:In[1],done:false};case 5:en.label++;nn=In[1];In=[0];continue;case 7:In=en.ops.pop();en.trys.pop();continue;default:if(!(an=en.trys,an=an.length>0&&an[an.length-1])&&(In[0]===6||In[0]===2)){en=0;continue}if(In[0]===3&&(!an||In[1]>an[0]&&In[1]{Object.defineProperty(Pt,"__esModule",{value:true});Pt.uuidV4=Pt.searchPath=Pt.getPassword=Pt.zpad=Pt.looseArrayify=void 0;var tn=en(42006);var nn=en(13859);function looseArrayify(Wt){if(typeof Wt==="string"&&Wt.substring(0,2)!=="0x"){Wt="0x"+Wt}return(0,tn.arrayify)(Wt)}Pt.looseArrayify=looseArrayify;function zpad(Wt,Pt){Wt=String(Wt);while(Wt.length{Object.defineProperty(Pt,"__esModule",{value:true});Pt.version=void 0;Pt.version="logger/5.7.0"},76127:(Wt,Pt,en)=>{Object.defineProperty(Pt,"__esModule",{value:true});Pt.Logger=Pt.ErrorCode=Pt.LogLevel=void 0;var tn=false;var nn=false;var an={debug:1,default:2,info:2,warning:3,error:4,off:5};var In=an["default"];var rn=en(97688);var sn=null;function _checkNormalize(){try{var Wt=[];["NFD","NFC","NFKD","NFKC"].forEach((function(Pt){try{if("test".normalize(Pt)!=="test"){throw new Error("bad normalize")}}catch(en){Wt.push(Pt)}}));if(Wt.length){throw new Error("missing "+Wt.join(", "))}if(String.fromCharCode(233).normalize("NFD")!==String.fromCharCode(101,769)){throw new Error("broken implementation")}}catch(Wt){return Wt.message}return null}var on=_checkNormalize();var cn;(function(Wt){Wt["DEBUG"]="DEBUG";Wt["INFO"]="INFO";Wt["WARNING"]="WARNING";Wt["ERROR"]="ERROR";Wt["OFF"]="OFF"})(cn=Pt.LogLevel||(Pt.LogLevel={}));var dn;(function(Wt){Wt["UNKNOWN_ERROR"]="UNKNOWN_ERROR";Wt["NOT_IMPLEMENTED"]="NOT_IMPLEMENTED";Wt["UNSUPPORTED_OPERATION"]="UNSUPPORTED_OPERATION";Wt["NETWORK_ERROR"]="NETWORK_ERROR";Wt["SERVER_ERROR"]="SERVER_ERROR";Wt["TIMEOUT"]="TIMEOUT";Wt["BUFFER_OVERRUN"]="BUFFER_OVERRUN";Wt["NUMERIC_FAULT"]="NUMERIC_FAULT";Wt["MISSING_NEW"]="MISSING_NEW";Wt["INVALID_ARGUMENT"]="INVALID_ARGUMENT";Wt["MISSING_ARGUMENT"]="MISSING_ARGUMENT";Wt["UNEXPECTED_ARGUMENT"]="UNEXPECTED_ARGUMENT";Wt["CALL_EXCEPTION"]="CALL_EXCEPTION";Wt["INSUFFICIENT_FUNDS"]="INSUFFICIENT_FUNDS";Wt["NONCE_EXPIRED"]="NONCE_EXPIRED";Wt["REPLACEMENT_UNDERPRICED"]="REPLACEMENT_UNDERPRICED";Wt["UNPREDICTABLE_GAS_LIMIT"]="UNPREDICTABLE_GAS_LIMIT";Wt["TRANSACTION_REPLACED"]="TRANSACTION_REPLACED";Wt["ACTION_REJECTED"]="ACTION_REJECTED"})(dn=Pt.ErrorCode||(Pt.ErrorCode={}));var un="0123456789abcdef";var pn=function(){function Logger(Wt){Object.defineProperty(this,"version",{enumerable:true,value:Wt,writable:false})}Logger.prototype._log=function(Wt,Pt){var en=Wt.toLowerCase();if(an[en]==null){this.throwArgumentError("invalid log level name","logLevel",Wt)}if(In>an[en]){return}console.log.apply(console,Pt)};Logger.prototype.debug=function(){var Wt=[];for(var Pt=0;Pt>4];nn+=un[Pt[an]&15]}tn.push(Wt+"=Uint8Array(0x"+nn+")")}else{tn.push(Wt+"="+JSON.stringify(Pt))}}catch(Pt){tn.push(Wt+"="+JSON.stringify(en[Wt].toString()))}}));tn.push("code="+Pt);tn.push("version="+this.version);var an=Wt;var In="";switch(Pt){case dn.NUMERIC_FAULT:{In="NUMERIC_FAULT";var rn=Wt;switch(rn){case"overflow":case"underflow":case"division-by-zero":In+="-"+rn;break;case"negative-power":case"negative-width":In+="-unsupported";break;case"unbound-bitwise-result":In+="-unbound-result";break}break}case dn.CALL_EXCEPTION:case dn.INSUFFICIENT_FUNDS:case dn.MISSING_NEW:case dn.NONCE_EXPIRED:case dn.REPLACEMENT_UNDERPRICED:case dn.TRANSACTION_REPLACED:case dn.UNPREDICTABLE_GAS_LIMIT:In=Pt;break}if(In){Wt+=" [ See: https://links.ethers.org/v5-errors-"+In+" ]"}if(tn.length){Wt+=" ("+tn.join(", ")+")"}var sn=new Error(Wt);sn.reason=an;sn.code=Pt;Object.keys(en).forEach((function(Wt){sn[Wt]=en[Wt]}));return sn};Logger.prototype.throwError=function(Wt,Pt,en){throw this.makeError(Wt,Pt,en)};Logger.prototype.throwArgumentError=function(Wt,Pt,en){return this.throwError(Wt,Logger.errors.INVALID_ARGUMENT,{argument:Pt,value:en})};Logger.prototype.assert=function(Wt,Pt,en,tn){if(!!Wt){return}this.throwError(Pt,en,tn)};Logger.prototype.assertArgument=function(Wt,Pt,en,tn){if(!!Wt){return}this.throwArgumentError(Pt,en,tn)};Logger.prototype.checkNormalize=function(Wt){if(Wt==null){Wt="platform missing String.prototype.normalize"}if(on){this.throwError("platform missing String.prototype.normalize",Logger.errors.UNSUPPORTED_OPERATION,{operation:"String.prototype.normalize",form:on})}};Logger.prototype.checkSafeUint53=function(Wt,Pt){if(typeof Wt!=="number"){return}if(Pt==null){Pt="value not safe"}if(Wt<0||Wt>=9007199254740991){this.throwError(Pt,Logger.errors.NUMERIC_FAULT,{operation:"checkSafeInteger",fault:"out-of-safe-range",value:Wt})}if(Wt%1){this.throwError(Pt,Logger.errors.NUMERIC_FAULT,{operation:"checkSafeInteger",fault:"non-integer",value:Wt})}};Logger.prototype.checkArgumentCount=function(Wt,Pt,en){if(en){en=": "+en}else{en=""}if(WtPt){this.throwError("too many arguments"+en,Logger.errors.UNEXPECTED_ARGUMENT,{count:Wt,expectedCount:Pt})}};Logger.prototype.checkNew=function(Wt,Pt){if(Wt===Object||Wt==null){this.throwError("missing new",Logger.errors.MISSING_NEW,{name:Pt.name})}};Logger.prototype.checkAbstract=function(Wt,Pt){if(Wt===Pt){this.throwError("cannot instantiate abstract class "+JSON.stringify(Pt.name)+" directly; use a sub-class",Logger.errors.UNSUPPORTED_OPERATION,{name:Wt.name,operation:"new"})}else if(Wt===Object||Wt==null){this.throwError("missing new",Logger.errors.MISSING_NEW,{name:Pt.name})}};Logger.globalLogger=function(){if(!sn){sn=new Logger(rn.version)}return sn};Logger.setCensorship=function(Wt,Pt){if(!Wt&&Pt){this.globalLogger().throwError("cannot permanently disable censorship",Logger.errors.UNSUPPORTED_OPERATION,{operation:"setCensorship"})}if(tn){if(!Wt){return}this.globalLogger().throwError("error censorship permanent",Logger.errors.UNSUPPORTED_OPERATION,{operation:"setCensorship"})}nn=!!Wt;tn=!!Pt};Logger.setLogLevel=function(Wt){var Pt=an[Wt.toLowerCase()];if(Pt==null){Logger.globalLogger().warn("invalid log level - "+Wt);return}In=Pt};Logger.from=function(Wt){return new Logger(Wt)};Logger.errors=dn;Logger.levels=cn;return Logger}();Pt.Logger=pn},66809:(Wt,Pt)=>{Object.defineProperty(Pt,"__esModule",{value:true});Pt.version=void 0;Pt.version="networks/5.7.1"},23044:(Wt,Pt,en)=>{Object.defineProperty(Pt,"__esModule",{value:true});Pt.getNetwork=void 0;var tn=en(76127);var nn=en(66809);var an=new tn.Logger(nn.version);function isRenetworkable(Wt){return Wt&&typeof Wt.renetwork==="function"}function ethDefaultProvider(Wt){var func=function(Pt,en){if(en==null){en={}}var tn=[];if(Pt.InfuraProvider&&en.infura!=="-"){try{tn.push(new Pt.InfuraProvider(Wt,en.infura))}catch(Wt){}}if(Pt.EtherscanProvider&&en.etherscan!=="-"){try{tn.push(new Pt.EtherscanProvider(Wt,en.etherscan))}catch(Wt){}}if(Pt.AlchemyProvider&&en.alchemy!=="-"){try{tn.push(new Pt.AlchemyProvider(Wt,en.alchemy))}catch(Wt){}}if(Pt.PocketProvider&&en.pocket!=="-"){var nn=["goerli","ropsten","rinkeby","sepolia"];try{var an=new Pt.PocketProvider(Wt,en.pocket);if(an.network&&nn.indexOf(an.network.name)===-1){tn.push(an)}}catch(Wt){}}if(Pt.CloudflareProvider&&en.cloudflare!=="-"){try{tn.push(new Pt.CloudflareProvider(Wt))}catch(Wt){}}if(Pt.AnkrProvider&&en.ankr!=="-"){try{var nn=["ropsten"];var an=new Pt.AnkrProvider(Wt,en.ankr);if(an.network&&nn.indexOf(an.network.name)===-1){tn.push(an)}}catch(Wt){}}if(tn.length===0){return null}if(Pt.FallbackProvider){var In=1;if(en.quorum!=null){In=en.quorum}else if(Wt==="homestead"){In=2}return new Pt.FallbackProvider(tn,In)}return tn[0]};func.renetwork=function(Wt){return ethDefaultProvider(Wt)};return func}function etcDefaultProvider(Wt,Pt){var func=function(en,tn){if(en.JsonRpcProvider){return new en.JsonRpcProvider(Wt,Pt)}return null};func.renetwork=function(Pt){return etcDefaultProvider(Wt,Pt)};return func}var In={chainId:1,ensAddress:"0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e",name:"homestead",_defaultProvider:ethDefaultProvider("homestead")};var rn={chainId:3,ensAddress:"0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e",name:"ropsten",_defaultProvider:ethDefaultProvider("ropsten")};var sn={chainId:63,name:"classicMordor",_defaultProvider:etcDefaultProvider("https://www.ethercluster.com/mordor","classicMordor")};var on={unspecified:{chainId:0,name:"unspecified"},homestead:In,mainnet:In,morden:{chainId:2,name:"morden"},ropsten:rn,testnet:rn,rinkeby:{chainId:4,ensAddress:"0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e",name:"rinkeby",_defaultProvider:ethDefaultProvider("rinkeby")},kovan:{chainId:42,name:"kovan",_defaultProvider:ethDefaultProvider("kovan")},goerli:{chainId:5,ensAddress:"0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e",name:"goerli",_defaultProvider:ethDefaultProvider("goerli")},kintsugi:{chainId:1337702,name:"kintsugi"},sepolia:{chainId:11155111,name:"sepolia",_defaultProvider:ethDefaultProvider("sepolia")},classic:{chainId:61,name:"classic",_defaultProvider:etcDefaultProvider("https://www.ethercluster.com/etc","classic")},classicMorden:{chainId:62,name:"classicMorden"},classicMordor:sn,classicTestnet:sn,classicKotti:{chainId:6,name:"classicKotti",_defaultProvider:etcDefaultProvider("https://www.ethercluster.com/kotti","classicKotti")},xdai:{chainId:100,name:"xdai"},matic:{chainId:137,name:"matic",_defaultProvider:ethDefaultProvider("matic")},maticmum:{chainId:80001,name:"maticmum"},optimism:{chainId:10,name:"optimism",_defaultProvider:ethDefaultProvider("optimism")},"optimism-kovan":{chainId:69,name:"optimism-kovan"},"optimism-goerli":{chainId:420,name:"optimism-goerli"},arbitrum:{chainId:42161,name:"arbitrum"},"arbitrum-rinkeby":{chainId:421611,name:"arbitrum-rinkeby"},"arbitrum-goerli":{chainId:421613,name:"arbitrum-goerli"},bnb:{chainId:56,name:"bnb"},bnbt:{chainId:97,name:"bnbt"}};function getNetwork(Wt){if(Wt==null){return null}if(typeof Wt==="number"){for(var Pt in on){var en=on[Pt];if(en.chainId===Wt){return{name:en.name,chainId:en.chainId,ensAddress:en.ensAddress||null,_defaultProvider:en._defaultProvider||null}}}return{chainId:Wt,name:"unknown"}}if(typeof Wt==="string"){var tn=on[Wt];if(tn==null){return null}return{name:tn.name,chainId:tn.chainId,ensAddress:tn.ensAddress,_defaultProvider:tn._defaultProvider||null}}var nn=on[Wt.name];if(!nn){if(typeof Wt.chainId!=="number"){an.throwArgumentError("invalid network chainId","network",Wt)}return Wt}if(Wt.chainId!==0&&Wt.chainId!==nn.chainId){an.throwArgumentError("network chainId mismatch","network",Wt)}var In=Wt._defaultProvider||null;if(In==null&&nn._defaultProvider){if(isRenetworkable(nn._defaultProvider)){In=nn._defaultProvider.renetwork(Wt)}else{In=nn._defaultProvider}}return{name:Wt.name,chainId:nn.chainId,ensAddress:Wt.ensAddress||nn.ensAddress||null,_defaultProvider:In}}Pt.getNetwork=getNetwork},15686:(Wt,Pt,en)=>{Object.defineProperty(Pt,"__esModule",{value:true});Pt.pbkdf2=void 0;var tn=en(5565);Object.defineProperty(Pt,"pbkdf2",{enumerable:true,get:function(){return tn.pbkdf2}})},5565:(Wt,Pt,en)=>{Object.defineProperty(Pt,"__esModule",{value:true});Pt.pbkdf2=void 0;var tn=en(76982);var nn=en(42006);function bufferify(Wt){return Buffer.from((0,nn.arrayify)(Wt))}function pbkdf2(Wt,Pt,en,an,In){return(0,nn.hexlify)((0,tn.pbkdf2Sync)(bufferify(Wt),bufferify(Pt),en,an,In))}Pt.pbkdf2=pbkdf2},5511:(Wt,Pt)=>{Object.defineProperty(Pt,"__esModule",{value:true});Pt.version=void 0;Pt.version="properties/5.7.0"},61338:function(Wt,Pt,en){var tn=this&&this.__awaiter||function(Wt,Pt,en,tn){function adopt(Wt){return Wt instanceof en?Wt:new en((function(Pt){Pt(Wt)}))}return new(en||(en=Promise))((function(en,nn){function fulfilled(Wt){try{step(tn.next(Wt))}catch(Wt){nn(Wt)}}function rejected(Wt){try{step(tn["throw"](Wt))}catch(Wt){nn(Wt)}}function step(Wt){Wt.done?en(Wt.value):adopt(Wt.value).then(fulfilled,rejected)}step((tn=tn.apply(Wt,Pt||[])).next())}))};var nn=this&&this.__generator||function(Wt,Pt){var en={label:0,sent:function(){if(an[0]&1)throw an[1];return an[1]},trys:[],ops:[]},tn,nn,an,In;return In={next:verb(0),throw:verb(1),return:verb(2)},typeof Symbol==="function"&&(In[Symbol.iterator]=function(){return this}),In;function verb(Wt){return function(Pt){return step([Wt,Pt])}}function step(In){if(tn)throw new TypeError("Generator is already executing.");while(en)try{if(tn=1,nn&&(an=In[0]&2?nn["return"]:In[0]?nn["throw"]||((an=nn["return"])&&an.call(nn),0):nn.next)&&!(an=an.call(nn,In[1])).done)return an;if(nn=0,an)In=[In[0]&2,an.value];switch(In[0]){case 0:case 1:an=In;break;case 4:en.label++;return{value:In[1],done:false};case 5:en.label++;nn=In[1];In=[0];continue;case 7:In=en.ops.pop();en.trys.pop();continue;default:if(!(an=en.trys,an=an.length>0&&an[an.length-1])&&(In[0]===6||In[0]===2)){en=0;continue}if(In[0]===3&&(!an||In[1]>an[0]&&In[1]{Object.defineProperty(Pt,"__esModule",{value:true});Pt.version=void 0;Pt.version="providers/5.7.2"},45372:function(Wt,Pt,en){var tn=this&&this.__extends||function(){var extendStatics=function(Wt,Pt){extendStatics=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(Wt,Pt){Wt.__proto__=Pt}||function(Wt,Pt){for(var en in Pt)if(Object.prototype.hasOwnProperty.call(Pt,en))Wt[en]=Pt[en]};return extendStatics(Wt,Pt)};return function(Wt,Pt){if(typeof Pt!=="function"&&Pt!==null)throw new TypeError("Class extends value "+String(Pt)+" is not a constructor or null");extendStatics(Wt,Pt);function __(){this.constructor=Wt}Wt.prototype=Pt===null?Object.create(Pt):(__.prototype=Pt.prototype,new __)}}();Object.defineProperty(Pt,"__esModule",{value:true});Pt.AlchemyProvider=Pt.AlchemyWebSocketProvider=void 0;var nn=en(61338);var an=en(24293);var In=en(35988);var rn=en(76127);var sn=en(25408);var on=new rn.Logger(sn.version);var cn=en(56717);var dn="_gg7wSSi0KMBsdKnGVfHDueq6xMB9EkC";var un=function(Wt){tn(AlchemyWebSocketProvider,Wt);function AlchemyWebSocketProvider(Pt,en){var tn=this;var an=new pn(Pt,en);var In=an.connection.url.replace(/^http/i,"ws").replace(".alchemyapi.",".ws.alchemyapi.");tn=Wt.call(this,In,an.network)||this;(0,nn.defineReadOnly)(tn,"apiKey",an.apiKey);return tn}AlchemyWebSocketProvider.prototype.isCommunityResource=function(){return this.apiKey===dn};return AlchemyWebSocketProvider}(In.WebSocketProvider);Pt.AlchemyWebSocketProvider=un;var pn=function(Wt){tn(AlchemyProvider,Wt);function AlchemyProvider(){return Wt!==null&&Wt.apply(this,arguments)||this}AlchemyProvider.getWebSocketProvider=function(Wt,Pt){return new un(Wt,Pt)};AlchemyProvider.getApiKey=function(Wt){if(Wt==null){return dn}if(Wt&&typeof Wt!=="string"){on.throwArgumentError("invalid apiKey","apiKey",Wt)}return Wt};AlchemyProvider.getUrl=function(Wt,Pt){var en=null;switch(Wt.name){case"homestead":en="eth-mainnet.alchemyapi.io/v2/";break;case"goerli":en="eth-goerli.g.alchemy.com/v2/";break;case"matic":en="polygon-mainnet.g.alchemy.com/v2/";break;case"maticmum":en="polygon-mumbai.g.alchemy.com/v2/";break;case"arbitrum":en="arb-mainnet.g.alchemy.com/v2/";break;case"arbitrum-goerli":en="arb-goerli.g.alchemy.com/v2/";break;case"optimism":en="opt-mainnet.g.alchemy.com/v2/";break;case"optimism-goerli":en="opt-goerli.g.alchemy.com/v2/";break;default:on.throwArgumentError("unsupported network","network",arguments[0])}return{allowGzip:true,url:"https:/"+"/"+en+Pt,throttleCallback:function(Wt,en){if(Pt===dn){(0,an.showThrottleMessage)()}return Promise.resolve(true)}}};AlchemyProvider.prototype.isCommunityResource=function(){return this.apiKey===dn};return AlchemyProvider}(cn.UrlJsonRpcProvider);Pt.AlchemyProvider=pn},32319:function(Wt,Pt,en){var tn=this&&this.__extends||function(){var extendStatics=function(Wt,Pt){extendStatics=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(Wt,Pt){Wt.__proto__=Pt}||function(Wt,Pt){for(var en in Pt)if(Object.prototype.hasOwnProperty.call(Pt,en))Wt[en]=Pt[en]};return extendStatics(Wt,Pt)};return function(Wt,Pt){if(typeof Pt!=="function"&&Pt!==null)throw new TypeError("Class extends value "+String(Pt)+" is not a constructor or null");extendStatics(Wt,Pt);function __(){this.constructor=Wt}Wt.prototype=Pt===null?Object.create(Pt):(__.prototype=Pt.prototype,new __)}}();Object.defineProperty(Pt,"__esModule",{value:true});Pt.AnkrProvider=void 0;var nn=en(24293);var an=en(56717);var In=en(76127);var rn=en(25408);var sn=new In.Logger(rn.version);var on="9f7d929b018cdffb338517efa06f58359e86ff1ffd350bc889738523659e7972";function getHost(Wt){switch(Wt){case"homestead":return"rpc.ankr.com/eth/";case"ropsten":return"rpc.ankr.com/eth_ropsten/";case"rinkeby":return"rpc.ankr.com/eth_rinkeby/";case"goerli":return"rpc.ankr.com/eth_goerli/";case"matic":return"rpc.ankr.com/polygon/";case"arbitrum":return"rpc.ankr.com/arbitrum/"}return sn.throwArgumentError("unsupported network","name",Wt)}var cn=function(Wt){tn(AnkrProvider,Wt);function AnkrProvider(){return Wt!==null&&Wt.apply(this,arguments)||this}AnkrProvider.prototype.isCommunityResource=function(){return this.apiKey===on};AnkrProvider.getApiKey=function(Wt){if(Wt==null){return on}return Wt};AnkrProvider.getUrl=function(Wt,Pt){if(Pt==null){Pt=on}var en={allowGzip:true,url:"https://"+getHost(Wt.name)+Pt,throttleCallback:function(Wt,en){if(Pt.apiKey===on){(0,nn.showThrottleMessage)()}return Promise.resolve(true)}};if(Pt.projectSecret!=null){en.user="";en.password=Pt.projectSecret}return en};return AnkrProvider}(an.UrlJsonRpcProvider);Pt.AnkrProvider=cn},8090:function(Wt,Pt,en){var tn=this&&this.__extends||function(){var extendStatics=function(Wt,Pt){extendStatics=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(Wt,Pt){Wt.__proto__=Pt}||function(Wt,Pt){for(var en in Pt)if(Object.prototype.hasOwnProperty.call(Pt,en))Wt[en]=Pt[en]};return extendStatics(Wt,Pt)};return function(Wt,Pt){if(typeof Pt!=="function"&&Pt!==null)throw new TypeError("Class extends value "+String(Pt)+" is not a constructor or null");extendStatics(Wt,Pt);function __(){this.constructor=Wt}Wt.prototype=Pt===null?Object.create(Pt):(__.prototype=Pt.prototype,new __)}}();var nn=this&&this.__awaiter||function(Wt,Pt,en,tn){function adopt(Wt){return Wt instanceof en?Wt:new en((function(Pt){Pt(Wt)}))}return new(en||(en=Promise))((function(en,nn){function fulfilled(Wt){try{step(tn.next(Wt))}catch(Wt){nn(Wt)}}function rejected(Wt){try{step(tn["throw"](Wt))}catch(Wt){nn(Wt)}}function step(Wt){Wt.done?en(Wt.value):adopt(Wt.value).then(fulfilled,rejected)}step((tn=tn.apply(Wt,Pt||[])).next())}))};var an=this&&this.__generator||function(Wt,Pt){var en={label:0,sent:function(){if(an[0]&1)throw an[1];return an[1]},trys:[],ops:[]},tn,nn,an,In;return In={next:verb(0),throw:verb(1),return:verb(2)},typeof Symbol==="function"&&(In[Symbol.iterator]=function(){return this}),In;function verb(Wt){return function(Pt){return step([Wt,Pt])}}function step(In){if(tn)throw new TypeError("Generator is already executing.");while(en)try{if(tn=1,nn&&(an=In[0]&2?nn["return"]:In[0]?nn["throw"]||((an=nn["return"])&&an.call(nn),0):nn.next)&&!(an=an.call(nn,In[1])).done)return an;if(nn=0,an)In=[In[0]&2,an.value];switch(In[0]){case 0:case 1:an=In;break;case 4:en.label++;return{value:In[1],done:false};case 5:en.label++;nn=In[1];In=[0];continue;case 7:In=en.ops.pop();en.trys.pop();continue;default:if(!(an=en.trys,an=an.length>0&&an[an.length-1])&&(In[0]===6||In[0]===2)){en=0;continue}if(In[0]===3&&(!an||In[1]>an[0]&&In[1]0&&Wt[Wt.length-1]==null){Wt.pop()}return Wt.map((function(Wt){if(Array.isArray(Wt)){var Pt={};Wt.forEach((function(Wt){Pt[checkTopic(Wt)]=true}));var en=Object.keys(Pt);en.sort();return en.join("|")}else{return checkTopic(Wt)}})).join("&")}function deserializeTopics(Wt){if(Wt===""){return[]}return Wt.split(/&/g).map((function(Wt){if(Wt===""){return[]}var Pt=Wt.split("|").map((function(Wt){return Wt==="null"?null:Wt}));return Pt.length===1?Pt[0]:Pt}))}function getEventTag(Wt){if(typeof Wt==="string"){Wt=Wt.toLowerCase();if((0,dn.hexDataLength)(Wt)===32){return"tx:"+Wt}if(Wt.indexOf(":")===-1){return Wt}}else if(Array.isArray(Wt)){return"filter:*:"+serializeTopics(Wt)}else if(rn.ForkEvent.isForkEvent(Wt)){gn.warn("not implemented");throw new Error("not implemented")}else if(Wt&&typeof Wt==="object"){return"filter:"+(Wt.address||"*")+":"+serializeTopics(Wt.topics||[])}throw new Error("invalid event - "+Wt)}function getTime(){return(new Date).getTime()}function stall(Wt){return new Promise((function(Pt){setTimeout(Pt,Wt)}))}var Yn=["block","network","pending","poll"];var En=function(){function Event(Wt,Pt,en){(0,bn.defineReadOnly)(this,"tag",Wt);(0,bn.defineReadOnly)(this,"listener",Pt);(0,bn.defineReadOnly)(this,"once",en);this._lastBlockNumber=-2;this._inflight=false}Object.defineProperty(Event.prototype,"event",{get:function(){switch(this.type){case"tx":return this.hash;case"filter":return this.filter}return this.tag},enumerable:false,configurable:true});Object.defineProperty(Event.prototype,"type",{get:function(){return this.tag.split(":")[0]},enumerable:false,configurable:true});Object.defineProperty(Event.prototype,"hash",{get:function(){var Wt=this.tag.split(":");if(Wt[0]!=="tx"){return null}return Wt[1]},enumerable:false,configurable:true});Object.defineProperty(Event.prototype,"filter",{get:function(){var Wt=this.tag.split(":");if(Wt[0]!=="filter"){return null}var Pt=Wt[1];var en=deserializeTopics(Wt[2]);var tn={};if(en.length>0){tn.topics=en}if(Pt&&Pt!=="*"){tn.address=Pt}return tn},enumerable:false,configurable:true});Event.prototype.pollable=function(){return this.tag.indexOf(":")>=0||Yn.indexOf(this.tag)>=0};return Event}();Pt.Event=En;var Vn={0:{symbol:"btc",p2pkh:0,p2sh:5,prefix:"bc"},2:{symbol:"ltc",p2pkh:48,p2sh:50,prefix:"ltc"},3:{symbol:"doge",p2pkh:30,p2sh:22},60:{symbol:"eth",ilk:"eth"},61:{symbol:"etc",ilk:"eth"},700:{symbol:"xdai",ilk:"eth"}};function bytes32ify(Wt){return(0,dn.hexZeroPad)(cn.BigNumber.from(Wt).toHexString(),32)}function base58Encode(Wt){return on.Base58.encode((0,dn.concat)([Wt,(0,dn.hexDataSlice)((0,Gn.sha256)((0,Gn.sha256)(Wt)),0,4)]))}var Rn=new RegExp("^(ipfs)://(.*)$","i");var wn=[new RegExp("^(https)://(.*)$","i"),new RegExp("^(data):(.*)$","i"),Rn,new RegExp("^eip155:[0-9]+/(erc[0-9]+):(.*)$","i")];function _parseString(Wt,Pt){try{return(0,hn.toUtf8String)(_parseBytes(Wt,Pt))}catch(Wt){}return null}function _parseBytes(Wt,Pt){if(Wt==="0x"){return null}var en=cn.BigNumber.from((0,dn.hexDataSlice)(Wt,Pt,Pt+32)).toNumber();var tn=cn.BigNumber.from((0,dn.hexDataSlice)(Wt,en,en+32)).toNumber();return(0,dn.hexDataSlice)(Wt,en+32,en+32+tn)}function getIpfsLink(Wt){if(Wt.match(/^ipfs:\/\/ipfs\//i)){Wt=Wt.substring(12)}else if(Wt.match(/^ipfs:\/\//i)){Wt=Wt.substring(7)}else{gn.throwArgumentError("unsupported IPFS format","link",Wt)}return"https://gateway.ipfs.io/ipfs/"+Wt}function numPad(Wt){var Pt=(0,dn.arrayify)(Wt);if(Pt.length>32){throw new Error("internal; should not happen")}var en=new Uint8Array(32);en.set(Pt,32-Pt.length);return en}function bytesPad(Wt){if(Wt.length%32===0){return Wt}var Pt=new Uint8Array(Math.ceil(Wt.length/32)*32);Pt.set(Wt);return Pt}function encodeBytes(Wt){var Pt=[];var en=0;for(var tn=0;tn=1&&an<=75){return base58Encode((0,dn.concat)([[en.p2pkh],"0x"+nn[2]]))}}}if(en.p2sh!=null){var In=Pt.match(/^0xa9([0-9a-f][0-9a-f])([0-9a-f]*)87$/);if(In){var rn=parseInt(In[1],16);if(In[2].length===rn*2&&rn>=1&&rn<=75){return base58Encode((0,dn.concat)([[en.p2sh],"0x"+In[2]]))}}}if(en.prefix!=null){var sn=tn[1];var on=tn[0];if(on===0){if(sn!==20&&sn!==32){on=-1}}else{on=-1}if(on>=0&&tn.length===2+sn&&sn>=1&&sn<=75){var cn=An.default.toWords(tn.slice(2));cn.unshift(on);return An.default.encode(en.prefix,cn)}}return null};Resolver.prototype.getAddress=function(Wt){return nn(this,void 0,void 0,(function(){var Pt,en,tn,nn;return an(this,(function(an){switch(an.label){case 0:if(Wt==null){Wt=60}if(!(Wt===60))return[3,4];an.label=1;case 1:an.trys.push([1,3,,4]);return[4,this._fetch("0x3b3b57de")];case 2:Pt=an.sent();if(Pt==="0x"||Pt===un.HashZero){return[2,null]}return[2,this.provider.formatter.callAddress(Pt)];case 3:en=an.sent();if(en.code===Wn.Logger.errors.CALL_EXCEPTION){return[2,null]}throw en;case 4:return[4,this._fetchBytes("0xf1cb7e06",bytes32ify(Wt))];case 5:tn=an.sent();if(tn==null||tn==="0x"){return[2,null]}nn=this._getAddress(Wt,tn);if(nn==null){gn.throwError("invalid or unsupported coin data",Wn.Logger.errors.UNSUPPORTED_OPERATION,{operation:"getAddress("+Wt+")",coinType:Wt,data:tn})}return[2,nn]}}))}))};Resolver.prototype.getAvatar=function(){return nn(this,void 0,void 0,(function(){var Wt,Pt,en,tn,nn,In,rn,sn,on,un,pn,mn,bn,Gn,hn,An,Wn,Nn,gn,yn,vn,Yn,En,Vn,Fn;return an(this,(function(an){switch(an.label){case 0:Wt=[{type:"name",content:this.name}];an.label=1;case 1:an.trys.push([1,19,,20]);return[4,this.getText("avatar")];case 2:Pt=an.sent();if(Pt==null){return[2,null]}en=0;an.label=3;case 3:if(!(en=0?null:JSON.stringify({data:nn,sender:tn});return[4,(0,Zn.fetchJson)({url:on,errorPassThrough:true},cn,(function(Wt,Pt){Wt.status=Pt.statusCode;return Wt}))];case 2:dn=an.sent();if(dn.data){return[2,dn.data]}un=dn.message||"unknown error";if(dn.status>=400&&dn.status<500){return[2,gn.throwError("response not found during CCIP fetch: "+un,Wn.Logger.errors.SERVER_ERROR,{url:sn,errorMessage:un})]}In.push(un);an.label=3;case 3:rn++;return[3,1];case 4:return[2,gn.throwError("error encountered during CCIP fetch: "+In.map((function(Wt){return JSON.stringify(Wt)})).join(", "),Wn.Logger.errors.SERVER_ERROR,{urls:en,errorMessages:In})]}}))}))};BaseProvider.prototype._getInternalBlockNumber=function(Wt){return nn(this,void 0,void 0,(function(){var Pt,en,tn,nn,In;var rn=this;return an(this,(function(an){switch(an.label){case 0:return[4,this._ready()];case 1:an.sent();if(!(Wt>0))return[3,7];an.label=2;case 2:if(!this._internalBlockNumber)return[3,7];Pt=this._internalBlockNumber;an.label=3;case 3:an.trys.push([3,5,,6]);return[4,Pt];case 4:en=an.sent();if(getTime()-en.respTime<=Wt){return[2,en.blockNumber]}return[3,7];case 5:tn=an.sent();if(this._internalBlockNumber===Pt){return[3,7]}return[3,6];case 6:return[3,2];case 7:nn=getTime();In=(0,bn.resolveProperties)({blockNumber:this.perform("getBlockNumber",{}),networkError:this.getNetwork().then((function(Wt){return null}),(function(Wt){return Wt}))}).then((function(Wt){var Pt=Wt.blockNumber,en=Wt.networkError;if(en){if(rn._internalBlockNumber===In){rn._internalBlockNumber=null}throw en}var tn=getTime();Pt=cn.BigNumber.from(Pt).toNumber();if(Pt1e3){gn.warn("network block skew detected; skipping block events (emitted="+this._emitted.block+" blockNumber"+en+")");this.emit("error",gn.makeError("network block skew detected",Wn.Logger.errors.NETWORK_ERROR,{blockNumber:en,event:"blockSkew",previousBlockNumber:this._emitted.block}));this.emit("block",en)}else{for(nn=this._emitted.block+1;nn<=en;nn++){this.emit("block",nn)}}if(this._emitted.block!==en){this._emitted.block=en;Object.keys(this._emitted).forEach((function(Wt){if(Wt==="block"){return}var Pt=In._emitted[Wt];if(Pt==="pending"){return}if(en-Pt>12){delete In._emitted[Wt]}}))}if(this._lastBlockNumber===-2){this._lastBlockNumber=en-1}this._events.forEach((function(Wt){switch(Wt.type){case"tx":{var tn=Wt.hash;var nn=In.getTransactionReceipt(tn).then((function(Wt){if(!Wt||Wt.blockNumber==null){return null}In._emitted["t:"+tn]=Wt.blockNumber;In.emit(tn,Wt);return null})).catch((function(Wt){In.emit("error",Wt)}));Pt.push(nn);break}case"filter":{if(!Wt._inflight){Wt._inflight=true;if(Wt._lastBlockNumber===-2){Wt._lastBlockNumber=en-1}var an=Wt.filter;an.fromBlock=Wt._lastBlockNumber+1;an.toBlock=en;var rn=an.toBlock-In._maxFilterBlockRange;if(rn>an.fromBlock){an.fromBlock=rn}if(an.fromBlock<0){an.fromBlock=0}var nn=In.getLogs(an).then((function(Pt){Wt._inflight=false;if(Pt.length===0){return}Pt.forEach((function(Pt){if(Pt.blockNumber>Wt._lastBlockNumber){Wt._lastBlockNumber=Pt.blockNumber}In._emitted["b:"+Pt.blockHash]=Pt.blockNumber;In._emitted["t:"+Pt.transactionHash]=Pt.blockNumber;In.emit(an,Pt)}))})).catch((function(Pt){In.emit("error",Pt);Wt._inflight=false}));Pt.push(nn)}break}}}));this._lastBlockNumber=en;Promise.all(Pt).then((function(){In.emit("didPoll",Wt)})).catch((function(Wt){In.emit("error",Wt)}));return[2]}}))}))};BaseProvider.prototype.resetEventsBlock=function(Wt){this._lastBlockNumber=Wt-1;if(this.polling){this.poll()}};Object.defineProperty(BaseProvider.prototype,"network",{get:function(){return this._network},enumerable:false,configurable:true});BaseProvider.prototype.detectNetwork=function(){return nn(this,void 0,void 0,(function(){return an(this,(function(Wt){return[2,gn.throwError("provider does not support network detection",Wn.Logger.errors.UNSUPPORTED_OPERATION,{operation:"provider.detectNetwork"})]}))}))};BaseProvider.prototype.getNetwork=function(){return nn(this,void 0,void 0,(function(){var Wt,Pt,en;return an(this,(function(tn){switch(tn.label){case 0:return[4,this._ready()];case 1:Wt=tn.sent();return[4,this.detectNetwork()];case 2:Pt=tn.sent();if(!(Wt.chainId!==Pt.chainId))return[3,5];if(!this.anyNetwork)return[3,4];this._network=Pt;this._lastBlockNumber=-2;this._fastBlockNumber=null;this._fastBlockNumberPromise=null;this._fastQueryDate=0;this._emitted.block=-2;this._maxInternalBlockNumber=-1024;this._internalBlockNumber=null;this.emit("network",Pt,Wt);return[4,stall(0)];case 3:tn.sent();return[2,this._network];case 4:en=gn.makeError("underlying network changed",Wn.Logger.errors.NETWORK_ERROR,{event:"changed",network:Wt,detectedNetwork:Pt});this.emit("error",en);throw en;case 5:return[2,Wt]}}))}))};Object.defineProperty(BaseProvider.prototype,"blockNumber",{get:function(){var Wt=this;this._getInternalBlockNumber(100+this.pollingInterval/2).then((function(Pt){Wt._setFastBlockNumber(Pt)}),(function(Wt){}));return this._fastBlockNumber!=null?this._fastBlockNumber:-1},enumerable:false,configurable:true});Object.defineProperty(BaseProvider.prototype,"polling",{get:function(){return this._poller!=null},set:function(Wt){var Pt=this;if(Wt&&!this._poller){this._poller=setInterval((function(){Pt.poll()}),this.pollingInterval);if(!this._bootstrapPoll){this._bootstrapPoll=setTimeout((function(){Pt.poll();Pt._bootstrapPoll=setTimeout((function(){if(!Pt._poller){Pt.poll()}Pt._bootstrapPoll=null}),Pt.pollingInterval)}),0)}}else if(!Wt&&this._poller){clearInterval(this._poller);this._poller=null}},enumerable:false,configurable:true});Object.defineProperty(BaseProvider.prototype,"pollingInterval",{get:function(){return this._pollingInterval},set:function(Wt){var Pt=this;if(typeof Wt!=="number"||Wt<=0||parseInt(String(Wt))!=Wt){throw new Error("invalid polling interval")}this._pollingInterval=Wt;if(this._poller){clearInterval(this._poller);this._poller=setInterval((function(){Pt.poll()}),this._pollingInterval)}},enumerable:false,configurable:true});BaseProvider.prototype._getFastBlockNumber=function(){var Wt=this;var Pt=getTime();if(Pt-this._fastQueryDate>2*this._pollingInterval){this._fastQueryDate=Pt;this._fastBlockNumberPromise=this.getBlockNumber().then((function(Pt){if(Wt._fastBlockNumber==null||Pt>Wt._fastBlockNumber){Wt._fastBlockNumber=Pt}return Wt._fastBlockNumber}))}return this._fastBlockNumberPromise};BaseProvider.prototype._setFastBlockNumber=function(Wt){if(this._fastBlockNumber!=null&&Wtthis._fastBlockNumber){this._fastBlockNumber=Wt;this._fastBlockNumberPromise=Promise.resolve(Wt)}};BaseProvider.prototype.waitForTransaction=function(Wt,Pt,en){return nn(this,void 0,void 0,(function(){return an(this,(function(tn){return[2,this._waitForTransaction(Wt,Pt==null?1:Pt,en||0,null)]}))}))};BaseProvider.prototype._waitForTransaction=function(Wt,Pt,en,tn){return nn(this,void 0,void 0,(function(){var In;var rn=this;return an(this,(function(sn){switch(sn.label){case 0:return[4,this.getTransactionReceipt(Wt)];case 1:In=sn.sent();if((In?In.confirmations:0)>=Pt){return[2,In]}return[2,new Promise((function(In,sn){var on=[];var cn=false;var alreadyDone=function(){if(cn){return true}cn=true;on.forEach((function(Wt){Wt()}));return false};var minedHandler=function(Wt){if(Wt.confirmations0){var pn=setTimeout((function(){if(alreadyDone()){return}sn(gn.makeError("timeout exceeded",Wn.Logger.errors.TIMEOUT,{timeout:en}))}),en);if(pn.unref){pn.unref()}on.push((function(){clearTimeout(pn)}))}}))]}}))}))};BaseProvider.prototype.getBlockNumber=function(){return nn(this,void 0,void 0,(function(){return an(this,(function(Wt){return[2,this._getInternalBlockNumber(0)]}))}))};BaseProvider.prototype.getGasPrice=function(){return nn(this,void 0,void 0,(function(){var Wt;return an(this,(function(Pt){switch(Pt.label){case 0:return[4,this.getNetwork()];case 1:Pt.sent();return[4,this.perform("getGasPrice",{})];case 2:Wt=Pt.sent();try{return[2,cn.BigNumber.from(Wt)]}catch(Pt){return[2,gn.throwError("bad result from backend",Wn.Logger.errors.SERVER_ERROR,{method:"getGasPrice",result:Wt,error:Pt})]}return[2]}}))}))};BaseProvider.prototype.getBalance=function(Wt,Pt){return nn(this,void 0,void 0,(function(){var en,tn;return an(this,(function(nn){switch(nn.label){case 0:return[4,this.getNetwork()];case 1:nn.sent();return[4,(0,bn.resolveProperties)({address:this._getAddress(Wt),blockTag:this._getBlockTag(Pt)})];case 2:en=nn.sent();return[4,this.perform("getBalance",en)];case 3:tn=nn.sent();try{return[2,cn.BigNumber.from(tn)]}catch(Wt){return[2,gn.throwError("bad result from backend",Wn.Logger.errors.SERVER_ERROR,{method:"getBalance",params:en,result:tn,error:Wt})]}return[2]}}))}))};BaseProvider.prototype.getTransactionCount=function(Wt,Pt){return nn(this,void 0,void 0,(function(){var en,tn;return an(this,(function(nn){switch(nn.label){case 0:return[4,this.getNetwork()];case 1:nn.sent();return[4,(0,bn.resolveProperties)({address:this._getAddress(Wt),blockTag:this._getBlockTag(Pt)})];case 2:en=nn.sent();return[4,this.perform("getTransactionCount",en)];case 3:tn=nn.sent();try{return[2,cn.BigNumber.from(tn).toNumber()]}catch(Wt){return[2,gn.throwError("bad result from backend",Wn.Logger.errors.SERVER_ERROR,{method:"getTransactionCount",params:en,result:tn,error:Wt})]}return[2]}}))}))};BaseProvider.prototype.getCode=function(Wt,Pt){return nn(this,void 0,void 0,(function(){var en,tn;return an(this,(function(nn){switch(nn.label){case 0:return[4,this.getNetwork()];case 1:nn.sent();return[4,(0,bn.resolveProperties)({address:this._getAddress(Wt),blockTag:this._getBlockTag(Pt)})];case 2:en=nn.sent();return[4,this.perform("getCode",en)];case 3:tn=nn.sent();try{return[2,(0,dn.hexlify)(tn)]}catch(Wt){return[2,gn.throwError("bad result from backend",Wn.Logger.errors.SERVER_ERROR,{method:"getCode",params:en,result:tn,error:Wt})]}return[2]}}))}))};BaseProvider.prototype.getStorageAt=function(Wt,Pt,en){return nn(this,void 0,void 0,(function(){var tn,nn;return an(this,(function(an){switch(an.label){case 0:return[4,this.getNetwork()];case 1:an.sent();return[4,(0,bn.resolveProperties)({address:this._getAddress(Wt),blockTag:this._getBlockTag(en),position:Promise.resolve(Pt).then((function(Wt){return(0,dn.hexValue)(Wt)}))})];case 2:tn=an.sent();return[4,this.perform("getStorageAt",tn)];case 3:nn=an.sent();try{return[2,(0,dn.hexlify)(nn)]}catch(Wt){return[2,gn.throwError("bad result from backend",Wn.Logger.errors.SERVER_ERROR,{method:"getStorageAt",params:tn,result:nn,error:Wt})]}return[2]}}))}))};BaseProvider.prototype._wrapTransaction=function(Wt,Pt,en){var tn=this;if(Pt!=null&&(0,dn.hexDataLength)(Pt)!==32){throw new Error("invalid response - sendTransaction")}var In=Wt;if(Pt!=null&&Wt.hash!==Pt){gn.throwError("Transaction hash mismatch from Provider.sendTransaction.",Wn.Logger.errors.UNKNOWN_ERROR,{expectedHash:Wt.hash,returnedHash:Pt})}In.wait=function(Pt,In){return nn(tn,void 0,void 0,(function(){var tn,nn;return an(this,(function(an){switch(an.label){case 0:if(Pt==null){Pt=1}if(In==null){In=0}tn=undefined;if(Pt!==0&&en!=null){tn={data:Wt.data,from:Wt.from,nonce:Wt.nonce,to:Wt.to,value:Wt.value,startBlock:en}}return[4,this._waitForTransaction(Wt.hash,Pt,In,tn)];case 1:nn=an.sent();if(nn==null&&Pt===0){return[2,null]}this._emitted["t:"+Wt.hash]=nn.blockNumber;if(nn.status===0){gn.throwError("transaction failed",Wn.Logger.errors.CALL_EXCEPTION,{transactionHash:Wt.hash,transaction:Wt,receipt:nn})}return[2,nn]}}))}))};return In};BaseProvider.prototype.sendTransaction=function(Wt){return nn(this,void 0,void 0,(function(){var Pt,en,tn,nn,In;return an(this,(function(an){switch(an.label){case 0:return[4,this.getNetwork()];case 1:an.sent();return[4,Promise.resolve(Wt).then((function(Wt){return(0,dn.hexlify)(Wt)}))];case 2:Pt=an.sent();en=this.formatter.transaction(Wt);if(en.confirmations==null){en.confirmations=0}return[4,this._getInternalBlockNumber(100+2*this.pollingInterval)];case 3:tn=an.sent();an.label=4;case 4:an.trys.push([4,6,,7]);return[4,this.perform("sendTransaction",{signedTransaction:Pt})];case 5:nn=an.sent();return[2,this._wrapTransaction(en,nn,tn)];case 6:In=an.sent();In.transaction=en;In.transactionHash=en.hash;throw In;case 7:return[2]}}))}))};BaseProvider.prototype._getTransactionRequest=function(Wt){return nn(this,void 0,void 0,(function(){var Pt,en,tn,nn;var In=this;return an(this,(function(an){switch(an.label){case 0:return[4,Wt];case 1:Pt=an.sent();en={};["from","to"].forEach((function(Wt){if(Pt[Wt]==null){return}en[Wt]=Promise.resolve(Pt[Wt]).then((function(Wt){return Wt?In._getAddress(Wt):null}))}));["gasLimit","gasPrice","maxFeePerGas","maxPriorityFeePerGas","value"].forEach((function(Wt){if(Pt[Wt]==null){return}en[Wt]=Promise.resolve(Pt[Wt]).then((function(Wt){return Wt?cn.BigNumber.from(Wt):null}))}));["type"].forEach((function(Wt){if(Pt[Wt]==null){return}en[Wt]=Promise.resolve(Pt[Wt]).then((function(Wt){return Wt!=null?Wt:null}))}));if(Pt.accessList){en.accessList=this.formatter.accessList(Pt.accessList)}["data"].forEach((function(Wt){if(Pt[Wt]==null){return}en[Wt]=Promise.resolve(Pt[Wt]).then((function(Wt){return Wt?(0,dn.hexlify)(Wt):null}))}));nn=(tn=this.formatter).transactionRequest;return[4,(0,bn.resolveProperties)(en)];case 2:return[2,nn.apply(tn,[an.sent()])]}}))}))};BaseProvider.prototype._getFilter=function(Wt){return nn(this,void 0,void 0,(function(){var Pt,en,tn;var nn=this;return an(this,(function(an){switch(an.label){case 0:return[4,Wt];case 1:Wt=an.sent();Pt={};if(Wt.address!=null){Pt.address=this._getAddress(Wt.address)}["blockHash","topics"].forEach((function(en){if(Wt[en]==null){return}Pt[en]=Wt[en]}));["fromBlock","toBlock"].forEach((function(en){if(Wt[en]==null){return}Pt[en]=nn._getBlockTag(Wt[en])}));tn=(en=this.formatter).filter;return[4,(0,bn.resolveProperties)(Pt)];case 2:return[2,tn.apply(en,[an.sent()])]}}))}))};BaseProvider.prototype._call=function(Wt,Pt,en){return nn(this,void 0,void 0,(function(){var tn,nn,In,rn,sn,on,un,pn,mn,bn,Gn,hn,Zn,An,Nn,yn;return an(this,(function(an){switch(an.label){case 0:if(en>=vn){gn.throwError("CCIP read exceeded maximum redirections",Wn.Logger.errors.SERVER_ERROR,{redirects:en,transaction:Wt})}tn=Wt.to;return[4,this.perform("call",{transaction:Wt,blockTag:Pt})];case 1:nn=an.sent();if(!(en>=0&&Pt==="latest"&&tn!=null&&nn.substring(0,10)==="0x556f1830"&&(0,dn.hexDataLength)(nn)%32===4))return[3,5];an.label=2;case 2:an.trys.push([2,4,,5]);In=(0,dn.hexDataSlice)(nn,4);rn=(0,dn.hexDataSlice)(In,0,32);if(!cn.BigNumber.from(rn).eq(tn)){gn.throwError("CCIP Read sender did not match",Wn.Logger.errors.CALL_EXCEPTION,{name:"OffchainLookup",signature:"OffchainLookup(address,string[],bytes,bytes4,bytes)",transaction:Wt,data:nn})}sn=[];on=cn.BigNumber.from((0,dn.hexDataSlice)(In,32,64)).toNumber();un=cn.BigNumber.from((0,dn.hexDataSlice)(In,on,on+32)).toNumber();pn=(0,dn.hexDataSlice)(In,on+32);for(mn=0;mnthis._emitted.block){return[2,null]}}return[2,undefined]}if(!Pt)return[3,8];nn=null;In=0;an.label=2;case 2:if(!(In0};BaseProvider.prototype._stopEvent=function(Wt){this.polling=this._events.filter((function(Wt){return Wt.pollable()})).length>0};BaseProvider.prototype._addEventListener=function(Wt,Pt,en){var tn=new En(getEventTag(Wt),Pt,en);this._events.push(tn);this._startEvent(tn);return this};BaseProvider.prototype.on=function(Wt,Pt){return this._addEventListener(Wt,Pt,false)};BaseProvider.prototype.once=function(Wt,Pt){return this._addEventListener(Wt,Pt,true)};BaseProvider.prototype.emit=function(Wt){var Pt=this;var en=[];for(var tn=1;tn0&&an[an.length-1])&&(In[0]===6||In[0]===2)){en=0;continue}if(In[0]===3&&(!an||In[1]>an[0]&&In[1]0&&an[an.length-1])&&(In[0]===6||In[0]===2)){en=0;continue}if(In[0]===3&&(!an||In[1]>an[0]&&In[1]=0){Pt.throttleRetry=true}throw Pt}return Wt.result}function getJsonResult(Wt){if(Wt&&Wt.status==0&&Wt.message=="NOTOK"&&(Wt.result||"").toLowerCase().indexOf("rate limit")>=0){var Pt=new Error("throttled response");Pt.result=JSON.stringify(Wt);Pt.throttleRetry=true;throw Pt}if(Wt.jsonrpc!="2.0"){var Pt=new Error("invalid response");Pt.result=JSON.stringify(Wt);throw Pt}if(Wt.error){var Pt=new Error(Wt.error.message||"unknown error");if(Wt.error.code){Pt.code=Wt.error.code}if(Wt.error.data){Pt.data=Wt.error.data}throw Pt}return Wt.result}function checkLogTag(Wt){if(Wt==="pending"){throw new Error("pending not supported")}if(Wt==="latest"){return Wt}return parseInt(Wt.substring(2),16)}function checkError(Wt,Pt,en){if(Wt==="call"&&Pt.code===dn.Logger.errors.SERVER_ERROR){var tn=Pt.error;if(tn&&(tn.message.match(/reverted/i)||tn.message.match(/VM execution error/i))){var nn=tn.data;if(nn){nn="0x"+nn.replace(/^.*0x/i,"")}if((0,In.isHexString)(nn)){return nn}pn.throwError("missing revert data in call exception",dn.Logger.errors.CALL_EXCEPTION,{error:Pt,data:"0x"})}}var an=Pt.message;if(Pt.code===dn.Logger.errors.SERVER_ERROR){if(Pt.error&&typeof Pt.error.message==="string"){an=Pt.error.message}else if(typeof Pt.body==="string"){an=Pt.body}else if(typeof Pt.responseText==="string"){an=Pt.responseText}}an=(an||"").toLowerCase();if(an.match(/insufficient funds/)){pn.throwError("insufficient funds for intrinsic transaction cost",dn.Logger.errors.INSUFFICIENT_FUNDS,{error:Pt,method:Wt,transaction:en})}if(an.match(/same hash was already imported|transaction nonce is too low|nonce too low/)){pn.throwError("nonce has already been used",dn.Logger.errors.NONCE_EXPIRED,{error:Pt,method:Wt,transaction:en})}if(an.match(/another transaction with same nonce/)){pn.throwError("replacement fee too low",dn.Logger.errors.REPLACEMENT_UNDERPRICED,{error:Pt,method:Wt,transaction:en})}if(an.match(/execution failed due to an exception|execution reverted/)){pn.throwError("cannot estimate gas; transaction may fail or may require manual gas limit",dn.Logger.errors.UNPREDICTABLE_GAS_LIMIT,{error:Pt,method:Wt,transaction:en})}throw Pt}var bn=function(Wt){tn(EtherscanProvider,Wt);function EtherscanProvider(Pt,en){var tn=Wt.call(this,Pt)||this;(0,rn.defineReadOnly)(tn,"baseUrl",tn.getBaseUrl());(0,rn.defineReadOnly)(tn,"apiKey",en||null);return tn}EtherscanProvider.prototype.getBaseUrl=function(){switch(this.network?this.network.name:"invalid"){case"homestead":return"https://api.etherscan.io";case"goerli":return"https://api-goerli.etherscan.io";case"sepolia":return"https://api-sepolia.etherscan.io";case"matic":return"https://api.polygonscan.com";case"maticmum":return"https://api-testnet.polygonscan.com";case"arbitrum":return"https://api.arbiscan.io";case"arbitrum-goerli":return"https://api-goerli.arbiscan.io";case"optimism":return"https://api-optimistic.etherscan.io";case"optimism-goerli":return"https://api-goerli-optimistic.etherscan.io";default:}return pn.throwArgumentError("unsupported network","network",this.network.name)};EtherscanProvider.prototype.getUrl=function(Wt,Pt){var en=Object.keys(Pt).reduce((function(Wt,en){var tn=Pt[en];if(tn!=null){Wt+="&"+en+"="+tn}return Wt}),"");var tn=this.apiKey?"&apikey="+this.apiKey:"";return this.baseUrl+"/api?module="+Wt+en+tn};EtherscanProvider.prototype.getPostUrl=function(){return this.baseUrl+"/api"};EtherscanProvider.prototype.getPostData=function(Wt,Pt){Pt.module=Wt;Pt.apikey=this.apiKey;return Pt};EtherscanProvider.prototype.fetch=function(Wt,Pt,en){return nn(this,void 0,void 0,(function(){var tn,nn,In,sn,dn,un;var pn=this;return an(this,(function(an){switch(an.label){case 0:tn=en?this.getPostUrl():this.getUrl(Wt,Pt);nn=en?this.getPostData(Wt,Pt):null;In=Wt==="proxy"?getJsonResult:getResult;this.emit("debug",{action:"request",request:tn,provider:this});sn={url:tn,throttleSlotInterval:1e3,throttleCallback:function(Wt,Pt){if(pn.isCommunityResource()){(0,cn.showThrottleMessage)()}return Promise.resolve(true)}};dn=null;if(nn){sn.headers={"content-type":"application/x-www-form-urlencoded; charset=UTF-8"};dn=Object.keys(nn).map((function(Wt){return Wt+"="+nn[Wt]})).join("&")}return[4,(0,on.fetchJson)(sn,dn,In||getJsonResult)];case 1:un=an.sent();this.emit("debug",{action:"response",request:tn,response:(0,rn.deepCopy)(un),provider:this});return[2,un]}}))}))};EtherscanProvider.prototype.detectNetwork=function(){return nn(this,void 0,void 0,(function(){return an(this,(function(Wt){return[2,this.network]}))}))};EtherscanProvider.prototype.perform=function(Pt,en){return nn(this,void 0,void 0,(function(){var tn,nn,In,nn,rn,sn,on,cn,un,mn,bn,Gn,hn;return an(this,(function(an){switch(an.label){case 0:tn=Pt;switch(tn){case"getBlockNumber":return[3,1];case"getGasPrice":return[3,2];case"getBalance":return[3,3];case"getTransactionCount":return[3,4];case"getCode":return[3,5];case"getStorageAt":return[3,6];case"sendTransaction":return[3,7];case"getBlock":return[3,8];case"getTransaction":return[3,9];case"getTransactionReceipt":return[3,10];case"call":return[3,11];case"estimateGas":return[3,15];case"getLogs":return[3,19];case"getEtherPrice":return[3,26]}return[3,28];case 1:return[2,this.fetch("proxy",{action:"eth_blockNumber"})];case 2:return[2,this.fetch("proxy",{action:"eth_gasPrice"})];case 3:return[2,this.fetch("account",{action:"balance",address:en.address,tag:en.blockTag})];case 4:return[2,this.fetch("proxy",{action:"eth_getTransactionCount",address:en.address,tag:en.blockTag})];case 5:return[2,this.fetch("proxy",{action:"eth_getCode",address:en.address,tag:en.blockTag})];case 6:return[2,this.fetch("proxy",{action:"eth_getStorageAt",address:en.address,position:en.position,tag:en.blockTag})];case 7:return[2,this.fetch("proxy",{action:"eth_sendRawTransaction",hex:en.signedTransaction},true).catch((function(Wt){return checkError("sendTransaction",Wt,en.signedTransaction)}))];case 8:if(en.blockTag){return[2,this.fetch("proxy",{action:"eth_getBlockByNumber",tag:en.blockTag,boolean:en.includeTransactions?"true":"false"})]}throw new Error("getBlock by blockHash not implemented");case 9:return[2,this.fetch("proxy",{action:"eth_getTransactionByHash",txhash:en.transactionHash})];case 10:return[2,this.fetch("proxy",{action:"eth_getTransactionReceipt",txhash:en.transactionHash})];case 11:if(en.blockTag!=="latest"){throw new Error("EtherscanProvider does not support blockTag for call")}nn=getTransactionPostData(en.transaction);nn.module="proxy";nn.action="eth_call";an.label=12;case 12:an.trys.push([12,14,,15]);return[4,this.fetch("proxy",nn,true)];case 13:return[2,an.sent()];case 14:In=an.sent();return[2,checkError("call",In,en.transaction)];case 15:nn=getTransactionPostData(en.transaction);nn.module="proxy";nn.action="eth_estimateGas";an.label=16;case 16:an.trys.push([16,18,,19]);return[4,this.fetch("proxy",nn,true)];case 17:return[2,an.sent()];case 18:rn=an.sent();return[2,checkError("estimateGas",rn,en.transaction)];case 19:sn={action:"getLogs"};if(en.filter.fromBlock){sn.fromBlock=checkLogTag(en.filter.fromBlock)}if(en.filter.toBlock){sn.toBlock=checkLogTag(en.filter.toBlock)}if(en.filter.address){sn.address=en.filter.address}if(en.filter.topics&&en.filter.topics.length>0){if(en.filter.topics.length>1){pn.throwError("unsupported topic count",dn.Logger.errors.UNSUPPORTED_OPERATION,{topics:en.filter.topics})}if(en.filter.topics.length===1){on=en.filter.topics[0];if(typeof on!=="string"||on.length!==66){pn.throwError("unsupported topic format",dn.Logger.errors.UNSUPPORTED_OPERATION,{topic0:on})}sn.topic0=on}}return[4,this.fetch("logs",sn)];case 20:cn=an.sent();un={};mn=0;an.label=21;case 21:if(!(mn0&&an[an.length-1])&&(In[0]===6||In[0]===2)){en=0;continue}if(In[0]===3&&(!an||In[1]>an[0]&&In[1]Pt){return null}return(tn+nn)/2}function serialize(Wt){if(Wt===null){return"null"}else if(typeof Wt==="number"||typeof Wt==="boolean"){return JSON.stringify(Wt)}else if(typeof Wt==="string"){return Wt}else if(rn.BigNumber.isBigNumber(Wt)){return Wt.toString()}else if(Array.isArray(Wt)){return JSON.stringify(Wt.map((function(Wt){return serialize(Wt)})))}else if(typeof Wt==="object"){var Pt=Object.keys(Wt);Pt.sort();return"{"+Pt.map((function(Pt){var en=Wt[Pt];if(typeof en==="function"){en="[function]"}else{en=serialize(en)}return JSON.stringify(Pt)+":"+en})).join(",")+"}"}throw new Error("unknown value type: "+typeof Wt)}var hn=1;function stall(Wt){var Pt=null;var en=null;var tn=new Promise((function(tn){Pt=function(){if(en){clearTimeout(en);en=null}tn()};en=setTimeout(Pt,Wt)}));var wait=function(Wt){tn=tn.then(Wt);return tn};function getPromise(){return tn}return{cancel:Pt,getPromise:getPromise,wait:wait}}var Zn=[mn.Logger.errors.CALL_EXCEPTION,mn.Logger.errors.INSUFFICIENT_FUNDS,mn.Logger.errors.NONCE_EXPIRED,mn.Logger.errors.REPLACEMENT_UNDERPRICED,mn.Logger.errors.UNPREDICTABLE_GAS_LIMIT];var An=["address","args","errorArgs","errorSignature","method","transaction"];function exposeDebugConfig(Wt,Pt){var en={weight:Wt.weight};Object.defineProperty(en,"provider",{get:function(){return Wt.provider}});if(Wt.start){en.start=Wt.start}if(Pt){en.duration=Pt-Wt.start}if(Wt.done){if(Wt.error){en.error=Wt.error}else{en.result=Wt.result||null}}return en}function normalizedTally(Wt,Pt){return function(en){var tn={};en.forEach((function(Pt){var en=Wt(Pt.result);if(!tn[en]){tn[en]={count:0,result:Pt.result}}tn[en].count++}));var nn=Object.keys(tn);for(var an=0;an=Pt){return In.result}}return undefined}}function getProcessFunc(Wt,Pt,en){var tn=serialize;switch(Pt){case"getBlockNumber":return function(Pt){var en=Pt.map((function(Wt){return Wt.result}));var tn=median(Pt.map((function(Wt){return Wt.result})),2);if(tn==null){return undefined}tn=Math.ceil(tn);if(en.indexOf(tn+1)>=0){tn++}if(tn>=Wt._highestBlockNumber){Wt._highestBlockNumber=tn}return Wt._highestBlockNumber};case"getGasPrice":return function(Wt){var Pt=Wt.map((function(Wt){return Wt.result}));Pt.sort();return Pt[Math.floor(Pt.length/2)]};case"getEtherPrice":return function(Wt){return median(Wt.map((function(Wt){return Wt.result})))};case"getBalance":case"getTransactionCount":case"getCode":case"getStorageAt":case"call":case"estimateGas":case"getLogs":break;case"getTransaction":case"getTransactionReceipt":tn=function(Wt){if(Wt==null){return null}Wt=(0,on.shallowCopy)(Wt);Wt.confirmations=-1;return serialize(Wt)};break;case"getBlock":if(en.includeTransactions){tn=function(Wt){if(Wt==null){return null}Wt=(0,on.shallowCopy)(Wt);Wt.transactions=Wt.transactions.map((function(Wt){Wt=(0,on.shallowCopy)(Wt);Wt.confirmations=-1;return Wt}));return serialize(Wt)}}else{tn=function(Wt){if(Wt==null){return null}return serialize(Wt)}}break;default:throw new Error("unknown method: "+Pt)}return normalizedTally(tn,Wt.quorum)}function waitForSync(Wt,Pt){return nn(this,void 0,void 0,(function(){var en;return an(this,(function(tn){en=Wt.provider;if(en.blockNumber!=null&&en.blockNumber>=Pt||Pt===-1){return[2,en]}return[2,(0,dn.poll)((function(){return new Promise((function(tn,nn){setTimeout((function(){if(en.blockNumber>=Pt){return tn(en)}if(Wt.cancelled){return tn(null)}return tn(undefined)}),0)}))}),{oncePoll:en})]}))}))}function getRunner(Wt,Pt,en,tn){return nn(this,void 0,void 0,(function(){var nn,In,rn;return an(this,(function(an){switch(an.label){case 0:nn=Wt.provider;In=en;switch(In){case"getBlockNumber":return[3,1];case"getGasPrice":return[3,1];case"getEtherPrice":return[3,2];case"getBalance":return[3,3];case"getTransactionCount":return[3,3];case"getCode":return[3,3];case"getStorageAt":return[3,6];case"getBlock":return[3,9];case"call":return[3,12];case"estimateGas":return[3,12];case"getTransaction":return[3,15];case"getTransactionReceipt":return[3,15];case"getLogs":return[3,16]}return[3,19];case 1:return[2,nn[en]()];case 2:if(nn.getEtherPrice){return[2,nn.getEtherPrice()]}return[3,19];case 3:if(!(tn.blockTag&&(0,sn.isHexString)(tn.blockTag)))return[3,5];return[4,waitForSync(Wt,Pt)];case 4:nn=an.sent();an.label=5;case 5:return[2,nn[en](tn.address,tn.blockTag||"latest")];case 6:if(!(tn.blockTag&&(0,sn.isHexString)(tn.blockTag)))return[3,8];return[4,waitForSync(Wt,Pt)];case 7:nn=an.sent();an.label=8;case 8:return[2,nn.getStorageAt(tn.address,tn.position,tn.blockTag||"latest")];case 9:if(!(tn.blockTag&&(0,sn.isHexString)(tn.blockTag)))return[3,11];return[4,waitForSync(Wt,Pt)];case 10:nn=an.sent();an.label=11;case 11:return[2,nn[tn.includeTransactions?"getBlockWithTransactions":"getBlock"](tn.blockTag||tn.blockHash)];case 12:if(!(tn.blockTag&&(0,sn.isHexString)(tn.blockTag)))return[3,14];return[4,waitForSync(Wt,Pt)];case 13:nn=an.sent();an.label=14;case 14:if(en==="call"&&tn.blockTag){return[2,nn[en](tn.transaction,tn.blockTag)]}return[2,nn[en](tn.transaction)];case 15:return[2,nn[en](tn.transactionHash)];case 16:rn=tn.filter;if(!(rn.fromBlock&&(0,sn.isHexString)(rn.fromBlock)||rn.toBlock&&(0,sn.isHexString)(rn.toBlock)))return[3,18];return[4,waitForSync(Wt,Pt)];case 17:nn=an.sent();an.label=18;case 18:return[2,nn.getLogs(rn)];case 19:return[2,Gn.throwError("unknown method error",mn.Logger.errors.UNKNOWN_ERROR,{method:en,params:tn})]}}))}))}var Wn=function(Wt){tn(FallbackProvider,Wt);function FallbackProvider(Pt,en){var tn=this;if(Pt.length===0){Gn.throwArgumentError("missing providers","providers",Pt)}var nn=Pt.map((function(Wt,Pt){if(In.Provider.isProvider(Wt)){var en=(0,pn.isCommunityResource)(Wt)?2e3:750;var tn=1;return Object.freeze({provider:Wt,weight:1,stallTimeout:en,priority:tn})}var nn=(0,on.shallowCopy)(Wt);if(nn.priority==null){nn.priority=1}if(nn.stallTimeout==null){nn.stallTimeout=(0,pn.isCommunityResource)(Wt)?2e3:750}if(nn.weight==null){nn.weight=1}var an=nn.weight;if(an%1||an>512||an<1){Gn.throwArgumentError("invalid weight; must be integer in [1, 512]","providers["+Pt+"].weight",an)}return Object.freeze(nn)}));var an=nn.reduce((function(Wt,Pt){return Wt+Pt.weight}),0);if(en==null){en=an/2}else if(en>an){Gn.throwArgumentError("quorum will always fail; larger than total weight","quorum",en)}var rn=checkNetworks(nn.map((function(Wt){return Wt.provider.network})));if(rn==null){rn=new Promise((function(Wt,Pt){setTimeout((function(){tn.detectNetwork().then(Wt,Pt)}),0)}))}tn=Wt.call(this,rn)||this;(0,on.defineReadOnly)(tn,"providerConfigs",Object.freeze(nn));(0,on.defineReadOnly)(tn,"quorum",en);tn._highestBlockNumber=-1;return tn}FallbackProvider.prototype.detectNetwork=function(){return nn(this,void 0,void 0,(function(){var Wt;return an(this,(function(Pt){switch(Pt.label){case 0:return[4,Promise.all(this.providerConfigs.map((function(Wt){return Wt.provider.getNetwork()})))];case 1:Wt=Pt.sent();return[2,checkNetworks(Wt)]}}))}))};FallbackProvider.prototype.perform=function(Wt,Pt){return nn(this,void 0,void 0,(function(){var en,tn,nn,In,rn,sn,dn,un,pn,bn,Wn;var Nn=this;return an(this,(function(gn){switch(gn.label){case 0:if(!(Wt==="sendTransaction"))return[3,2];return[4,Promise.all(this.providerConfigs.map((function(Wt){return Wt.provider.sendTransaction(Pt.signedTransaction).then((function(Wt){return Wt.hash}),(function(Wt){return Wt}))})))];case 1:en=gn.sent();for(tn=0;tn=bn.quorum))return[3,5];mn=In(pn);if(mn!==undefined){rn.forEach((function(Wt){if(Wt.staller){Wt.staller.cancel()}Wt.cancelled=true}));return[2,{value:mn}]}if(!!un)return[3,4];return[4,stall(100).getPromise()];case 3:an.sent();an.label=4;case 4:un=false;an.label=5;case 5:Wn=rn.reduce((function(Wt,Pt){if(!Pt.done||Pt.error==null){return Wt}var en=Pt.error.code;if(Zn.indexOf(en)>=0){if(!Wt[en]){Wt[en]={error:Pt.error,weight:0}}Wt[en].weight+=Pt.weight}return Wt}),{});Object.keys(Wn).forEach((function(Wt){var Pt=Wn[Wt];if(Pt.weight{Object.defineProperty(Pt,"__esModule",{value:true});Pt.showThrottleMessage=Pt.isCommunityResource=Pt.isCommunityResourcable=Pt.Formatter=void 0;var tn=en(75745);var nn=en(18202);var an=en(42006);var In=en(99848);var rn=en(61338);var sn=en(62394);var on=en(76127);var cn=en(25408);var dn=new on.Logger(cn.version);var un=function(){function Formatter(){this.formats=this.getDefaultFormats()}Formatter.prototype.getDefaultFormats=function(){var Wt=this;var Pt={};var en=this.address.bind(this);var tn=this.bigNumber.bind(this);var nn=this.blockTag.bind(this);var an=this.data.bind(this);var In=this.hash.bind(this);var sn=this.hex.bind(this);var on=this.number.bind(this);var cn=this.type.bind(this);var strictData=function(Pt){return Wt.data(Pt,true)};Pt.transaction={hash:In,type:cn,accessList:Formatter.allowNull(this.accessList.bind(this),null),blockHash:Formatter.allowNull(In,null),blockNumber:Formatter.allowNull(on,null),transactionIndex:Formatter.allowNull(on,null),confirmations:Formatter.allowNull(on,null),from:en,gasPrice:Formatter.allowNull(tn),maxPriorityFeePerGas:Formatter.allowNull(tn),maxFeePerGas:Formatter.allowNull(tn),gasLimit:tn,to:Formatter.allowNull(en,null),value:tn,nonce:on,data:an,r:Formatter.allowNull(this.uint256),s:Formatter.allowNull(this.uint256),v:Formatter.allowNull(on),creates:Formatter.allowNull(en,null),raw:Formatter.allowNull(an)};Pt.transactionRequest={from:Formatter.allowNull(en),nonce:Formatter.allowNull(on),gasLimit:Formatter.allowNull(tn),gasPrice:Formatter.allowNull(tn),maxPriorityFeePerGas:Formatter.allowNull(tn),maxFeePerGas:Formatter.allowNull(tn),to:Formatter.allowNull(en),value:Formatter.allowNull(tn),data:Formatter.allowNull(strictData),type:Formatter.allowNull(on),accessList:Formatter.allowNull(this.accessList.bind(this),null)};Pt.receiptLog={transactionIndex:on,blockNumber:on,transactionHash:In,address:en,topics:Formatter.arrayOf(In),data:an,logIndex:on,blockHash:In};Pt.receipt={to:Formatter.allowNull(this.address,null),from:Formatter.allowNull(this.address,null),contractAddress:Formatter.allowNull(en,null),transactionIndex:on,root:Formatter.allowNull(sn),gasUsed:tn,logsBloom:Formatter.allowNull(an),blockHash:In,transactionHash:In,logs:Formatter.arrayOf(this.receiptLog.bind(this)),blockNumber:on,confirmations:Formatter.allowNull(on,null),cumulativeGasUsed:tn,effectiveGasPrice:Formatter.allowNull(tn),status:Formatter.allowNull(on),type:cn};Pt.block={hash:Formatter.allowNull(In),parentHash:In,number:on,timestamp:on,nonce:Formatter.allowNull(sn),difficulty:this.difficulty.bind(this),gasLimit:tn,gasUsed:tn,miner:Formatter.allowNull(en),extraData:an,transactions:Formatter.allowNull(Formatter.arrayOf(In)),baseFeePerGas:Formatter.allowNull(tn)};Pt.blockWithTransactions=(0,rn.shallowCopy)(Pt.block);Pt.blockWithTransactions.transactions=Formatter.allowNull(Formatter.arrayOf(this.transactionResponse.bind(this)));Pt.filter={fromBlock:Formatter.allowNull(nn,undefined),toBlock:Formatter.allowNull(nn,undefined),blockHash:Formatter.allowNull(In,undefined),address:Formatter.allowNull(en,undefined),topics:Formatter.allowNull(this.topics.bind(this),undefined)};Pt.filterLog={blockNumber:Formatter.allowNull(on),blockHash:Formatter.allowNull(In),transactionIndex:on,removed:Formatter.allowNull(this.boolean.bind(this)),address:en,data:Formatter.allowFalsish(an,"0x"),topics:Formatter.arrayOf(In),transactionHash:In,logIndex:on};return Pt};Formatter.prototype.accessList=function(Wt){return(0,sn.accessListify)(Wt||[])};Formatter.prototype.number=function(Wt){if(Wt==="0x"){return 0}return nn.BigNumber.from(Wt).toNumber()};Formatter.prototype.type=function(Wt){if(Wt==="0x"||Wt==null){return 0}return nn.BigNumber.from(Wt).toNumber()};Formatter.prototype.bigNumber=function(Wt){return nn.BigNumber.from(Wt)};Formatter.prototype.boolean=function(Wt){if(typeof Wt==="boolean"){return Wt}if(typeof Wt==="string"){Wt=Wt.toLowerCase();if(Wt==="true"){return true}if(Wt==="false"){return false}}throw new Error("invalid boolean - "+Wt)};Formatter.prototype.hex=function(Wt,Pt){if(typeof Wt==="string"){if(!Pt&&Wt.substring(0,2)!=="0x"){Wt="0x"+Wt}if((0,an.isHexString)(Wt)){return Wt.toLowerCase()}}return dn.throwArgumentError("invalid hash","value",Wt)};Formatter.prototype.data=function(Wt,Pt){var en=this.hex(Wt,Pt);if(en.length%2!==0){throw new Error("invalid data; odd-length - "+Wt)}return en};Formatter.prototype.address=function(Wt){return(0,tn.getAddress)(Wt)};Formatter.prototype.callAddress=function(Wt){if(!(0,an.isHexString)(Wt,32)){return null}var Pt=(0,tn.getAddress)((0,an.hexDataSlice)(Wt,12));return Pt===In.AddressZero?null:Pt};Formatter.prototype.contractAddress=function(Wt){return(0,tn.getContractAddress)(Wt)};Formatter.prototype.blockTag=function(Wt){if(Wt==null){return"latest"}if(Wt==="earliest"){return"0x0"}switch(Wt){case"earliest":return"0x0";case"latest":case"pending":case"safe":case"finalized":return Wt}if(typeof Wt==="number"||(0,an.isHexString)(Wt)){return(0,an.hexValue)(Wt)}throw new Error("invalid blockTag")};Formatter.prototype.hash=function(Wt,Pt){var en=this.hex(Wt,Pt);if((0,an.hexDataLength)(en)!==32){return dn.throwArgumentError("invalid hash","value",Wt)}return en};Formatter.prototype.difficulty=function(Wt){if(Wt==null){return null}var Pt=nn.BigNumber.from(Wt);try{return Pt.toNumber()}catch(Wt){}return null};Formatter.prototype.uint256=function(Wt){if(!(0,an.isHexString)(Wt)){throw new Error("invalid uint256")}return(0,an.hexZeroPad)(Wt,32)};Formatter.prototype._block=function(Wt,Pt){if(Wt.author!=null&&Wt.miner==null){Wt.miner=Wt.author}var en=Wt._difficulty!=null?Wt._difficulty:Wt.difficulty;var tn=Formatter.check(Pt,Wt);tn._difficulty=en==null?null:nn.BigNumber.from(en);return tn};Formatter.prototype.block=function(Wt){return this._block(Wt,this.formats.block)};Formatter.prototype.blockWithTransactions=function(Wt){return this._block(Wt,this.formats.blockWithTransactions)};Formatter.prototype.transactionRequest=function(Wt){return Formatter.check(this.formats.transactionRequest,Wt)};Formatter.prototype.transactionResponse=function(Wt){if(Wt.gas!=null&&Wt.gasLimit==null){Wt.gasLimit=Wt.gas}if(Wt.to&&nn.BigNumber.from(Wt.to).isZero()){Wt.to="0x0000000000000000000000000000000000000000"}if(Wt.input!=null&&Wt.data==null){Wt.data=Wt.input}if(Wt.to==null&&Wt.creates==null){Wt.creates=this.contractAddress(Wt)}if((Wt.type===1||Wt.type===2)&&Wt.accessList==null){Wt.accessList=[]}var Pt=Formatter.check(this.formats.transaction,Wt);if(Wt.chainId!=null){var en=Wt.chainId;if((0,an.isHexString)(en)){en=nn.BigNumber.from(en).toNumber()}Pt.chainId=en}else{var en=Wt.networkId;if(en==null&&Pt.v==null){en=Wt.chainId}if((0,an.isHexString)(en)){en=nn.BigNumber.from(en).toNumber()}if(typeof en!=="number"&&Pt.v!=null){en=(Pt.v-35)/2;if(en<0){en=0}en=parseInt(en)}if(typeof en!=="number"){en=0}Pt.chainId=en}if(Pt.blockHash&&Pt.blockHash.replace(/0/g,"")==="x"){Pt.blockHash=null}return Pt};Formatter.prototype.transaction=function(Wt){return(0,sn.parse)(Wt)};Formatter.prototype.receiptLog=function(Wt){return Formatter.check(this.formats.receiptLog,Wt)};Formatter.prototype.receipt=function(Wt){var Pt=Formatter.check(this.formats.receipt,Wt);if(Pt.root!=null){if(Pt.root.length<=4){var en=nn.BigNumber.from(Pt.root).toNumber();if(en===0||en===1){if(Pt.status!=null&&Pt.status!==en){dn.throwArgumentError("alt-root-status/status mismatch","value",{root:Pt.root,status:Pt.status})}Pt.status=en;delete Pt.root}else{dn.throwArgumentError("invalid alt-root-status","value.root",Pt.root)}}else if(Pt.root.length!==66){dn.throwArgumentError("invalid root hash","value.root",Pt.root)}}if(Pt.status!=null){Pt.byzantium=true}return Pt};Formatter.prototype.topics=function(Wt){var Pt=this;if(Array.isArray(Wt)){return Wt.map((function(Wt){return Pt.topics(Wt)}))}else if(Wt!=null){return this.hash(Wt,true)}return null};Formatter.prototype.filter=function(Wt){return Formatter.check(this.formats.filter,Wt)};Formatter.prototype.filterLog=function(Wt){return Formatter.check(this.formats.filterLog,Wt)};Formatter.check=function(Wt,Pt){var en={};for(var tn in Wt){try{var nn=Wt[tn](Pt[tn]);if(nn!==undefined){en[tn]=nn}}catch(Wt){Wt.checkKey=tn;Wt.checkValue=Pt[tn];throw Wt}}return en};Formatter.allowNull=function(Wt,Pt){return function(en){if(en==null){return Pt}return Wt(en)}};Formatter.allowFalsish=function(Wt,Pt){return function(en){if(!en){return Pt}return Wt(en)}};Formatter.arrayOf=function(Wt){return function(Pt){if(!Array.isArray(Pt)){throw new Error("not an array")}var en=[];Pt.forEach((function(Pt){en.push(Wt(Pt))}));return en}};return Formatter}();Pt.Formatter=un;function isCommunityResourcable(Wt){return Wt&&typeof Wt.isCommunityResource==="function"}Pt.isCommunityResourcable=isCommunityResourcable;function isCommunityResource(Wt){return isCommunityResourcable(Wt)&&Wt.isCommunityResource()}Pt.isCommunityResource=isCommunityResource;var pn=false;function showThrottleMessage(){if(pn){return}pn=true;console.log("========= NOTICE =========");console.log("Request-Rate Exceeded (this message will not be repeated)");console.log("");console.log("The default API keys for each service are provided as a highly-throttled,");console.log("community resource for low-traffic projects and early prototyping.");console.log("");console.log("While your application will continue to function, we highly recommended");console.log("signing up for your own API keys to improve performance, increase your");console.log("request rate/limit and enable other perks, such as metrics and advanced APIs.");console.log("");console.log("For more details: https://docs.ethers.io/api-keys/");console.log("==========================")}Pt.showThrottleMessage=showThrottleMessage},74983:(Wt,Pt,en)=>{Object.defineProperty(Pt,"__esModule",{value:true});Pt.Formatter=Pt.showThrottleMessage=Pt.isCommunityResourcable=Pt.isCommunityResource=Pt.getNetwork=Pt.getDefaultProvider=Pt.JsonRpcSigner=Pt.IpcProvider=Pt.WebSocketProvider=Pt.Web3Provider=Pt.StaticJsonRpcProvider=Pt.PocketProvider=Pt.NodesmithProvider=Pt.JsonRpcBatchProvider=Pt.JsonRpcProvider=Pt.InfuraWebSocketProvider=Pt.InfuraProvider=Pt.EtherscanProvider=Pt.CloudflareProvider=Pt.AnkrProvider=Pt.AlchemyWebSocketProvider=Pt.AlchemyProvider=Pt.FallbackProvider=Pt.UrlJsonRpcProvider=Pt.Resolver=Pt.BaseProvider=Pt.Provider=void 0;var tn=en(12825);Object.defineProperty(Pt,"Provider",{enumerable:true,get:function(){return tn.Provider}});var nn=en(23044);Object.defineProperty(Pt,"getNetwork",{enumerable:true,get:function(){return nn.getNetwork}});var an=en(8090);Object.defineProperty(Pt,"BaseProvider",{enumerable:true,get:function(){return an.BaseProvider}});Object.defineProperty(Pt,"Resolver",{enumerable:true,get:function(){return an.Resolver}});var In=en(45372);Object.defineProperty(Pt,"AlchemyProvider",{enumerable:true,get:function(){return In.AlchemyProvider}});Object.defineProperty(Pt,"AlchemyWebSocketProvider",{enumerable:true,get:function(){return In.AlchemyWebSocketProvider}});var rn=en(32319);Object.defineProperty(Pt,"AnkrProvider",{enumerable:true,get:function(){return rn.AnkrProvider}});var sn=en(83832);Object.defineProperty(Pt,"CloudflareProvider",{enumerable:true,get:function(){return sn.CloudflareProvider}});var on=en(54814);Object.defineProperty(Pt,"EtherscanProvider",{enumerable:true,get:function(){return on.EtherscanProvider}});var cn=en(46459);Object.defineProperty(Pt,"FallbackProvider",{enumerable:true,get:function(){return cn.FallbackProvider}});var dn=en(54443);Object.defineProperty(Pt,"IpcProvider",{enumerable:true,get:function(){return dn.IpcProvider}});var un=en(65936);Object.defineProperty(Pt,"InfuraProvider",{enumerable:true,get:function(){return un.InfuraProvider}});Object.defineProperty(Pt,"InfuraWebSocketProvider",{enumerable:true,get:function(){return un.InfuraWebSocketProvider}});var pn=en(30697);Object.defineProperty(Pt,"JsonRpcProvider",{enumerable:true,get:function(){return pn.JsonRpcProvider}});Object.defineProperty(Pt,"JsonRpcSigner",{enumerable:true,get:function(){return pn.JsonRpcSigner}});var mn=en(15802);Object.defineProperty(Pt,"JsonRpcBatchProvider",{enumerable:true,get:function(){return mn.JsonRpcBatchProvider}});var bn=en(62572);Object.defineProperty(Pt,"NodesmithProvider",{enumerable:true,get:function(){return bn.NodesmithProvider}});var Gn=en(29663);Object.defineProperty(Pt,"PocketProvider",{enumerable:true,get:function(){return Gn.PocketProvider}});var hn=en(56717);Object.defineProperty(Pt,"StaticJsonRpcProvider",{enumerable:true,get:function(){return hn.StaticJsonRpcProvider}});Object.defineProperty(Pt,"UrlJsonRpcProvider",{enumerable:true,get:function(){return hn.UrlJsonRpcProvider}});var Zn=en(9676);Object.defineProperty(Pt,"Web3Provider",{enumerable:true,get:function(){return Zn.Web3Provider}});var An=en(35988);Object.defineProperty(Pt,"WebSocketProvider",{enumerable:true,get:function(){return An.WebSocketProvider}});var Wn=en(24293);Object.defineProperty(Pt,"Formatter",{enumerable:true,get:function(){return Wn.Formatter}});Object.defineProperty(Pt,"isCommunityResourcable",{enumerable:true,get:function(){return Wn.isCommunityResourcable}});Object.defineProperty(Pt,"isCommunityResource",{enumerable:true,get:function(){return Wn.isCommunityResource}});Object.defineProperty(Pt,"showThrottleMessage",{enumerable:true,get:function(){return Wn.showThrottleMessage}});var Nn=en(76127);var gn=en(25408);var yn=new Nn.Logger(gn.version);function getDefaultProvider(Wt,Pt){if(Wt==null){Wt="homestead"}if(typeof Wt==="string"){var en=Wt.match(/^(ws|http)s?:/i);if(en){switch(en[1].toLowerCase()){case"http":case"https":return new pn.JsonRpcProvider(Wt);case"ws":case"wss":return new An.WebSocketProvider(Wt);default:yn.throwArgumentError("unsupported URL scheme","network",Wt)}}}var tn=(0,nn.getNetwork)(Wt);if(!tn||!tn._defaultProvider){yn.throwError("unsupported getDefaultProvider network",Nn.Logger.errors.NETWORK_ERROR,{operation:"getDefaultProvider",network:Wt})}return tn._defaultProvider({FallbackProvider:cn.FallbackProvider,AlchemyProvider:In.AlchemyProvider,AnkrProvider:rn.AnkrProvider,CloudflareProvider:sn.CloudflareProvider,EtherscanProvider:on.EtherscanProvider,InfuraProvider:un.InfuraProvider,JsonRpcProvider:pn.JsonRpcProvider,NodesmithProvider:bn.NodesmithProvider,PocketProvider:Gn.PocketProvider,Web3Provider:Zn.Web3Provider,IpcProvider:dn.IpcProvider},Pt)}Pt.getDefaultProvider=getDefaultProvider},65936:function(Wt,Pt,en){var tn=this&&this.__extends||function(){var extendStatics=function(Wt,Pt){extendStatics=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(Wt,Pt){Wt.__proto__=Pt}||function(Wt,Pt){for(var en in Pt)if(Object.prototype.hasOwnProperty.call(Pt,en))Wt[en]=Pt[en]};return extendStatics(Wt,Pt)};return function(Wt,Pt){if(typeof Pt!=="function"&&Pt!==null)throw new TypeError("Class extends value "+String(Pt)+" is not a constructor or null");extendStatics(Wt,Pt);function __(){this.constructor=Wt}Wt.prototype=Pt===null?Object.create(Pt):(__.prototype=Pt.prototype,new __)}}();Object.defineProperty(Pt,"__esModule",{value:true});Pt.InfuraProvider=Pt.InfuraWebSocketProvider=void 0;var nn=en(61338);var an=en(35988);var In=en(24293);var rn=en(76127);var sn=en(25408);var on=new rn.Logger(sn.version);var cn=en(56717);var dn="84842078b09946638c03157f83405213";var un=function(Wt){tn(InfuraWebSocketProvider,Wt);function InfuraWebSocketProvider(Pt,en){var tn=this;var an=new pn(Pt,en);var In=an.connection;if(In.password){on.throwError("INFURA WebSocket project secrets unsupported",rn.Logger.errors.UNSUPPORTED_OPERATION,{operation:"InfuraProvider.getWebSocketProvider()"})}var sn=In.url.replace(/^http/i,"ws").replace("/v3/","/ws/v3/");tn=Wt.call(this,sn,Pt)||this;(0,nn.defineReadOnly)(tn,"apiKey",an.projectId);(0,nn.defineReadOnly)(tn,"projectId",an.projectId);(0,nn.defineReadOnly)(tn,"projectSecret",an.projectSecret);return tn}InfuraWebSocketProvider.prototype.isCommunityResource=function(){return this.projectId===dn};return InfuraWebSocketProvider}(an.WebSocketProvider);Pt.InfuraWebSocketProvider=un;var pn=function(Wt){tn(InfuraProvider,Wt);function InfuraProvider(){return Wt!==null&&Wt.apply(this,arguments)||this}InfuraProvider.getWebSocketProvider=function(Wt,Pt){return new un(Wt,Pt)};InfuraProvider.getApiKey=function(Wt){var Pt={apiKey:dn,projectId:dn,projectSecret:null};if(Wt==null){return Pt}if(typeof Wt==="string"){Pt.projectId=Wt}else if(Wt.projectSecret!=null){on.assertArgument(typeof Wt.projectId==="string","projectSecret requires a projectId","projectId",Wt.projectId);on.assertArgument(typeof Wt.projectSecret==="string","invalid projectSecret","projectSecret","[REDACTED]");Pt.projectId=Wt.projectId;Pt.projectSecret=Wt.projectSecret}else if(Wt.projectId){Pt.projectId=Wt.projectId}Pt.apiKey=Pt.projectId;return Pt};InfuraProvider.getUrl=function(Wt,Pt){var en=null;switch(Wt?Wt.name:"unknown"){case"homestead":en="mainnet.infura.io";break;case"goerli":en="goerli.infura.io";break;case"sepolia":en="sepolia.infura.io";break;case"matic":en="polygon-mainnet.infura.io";break;case"maticmum":en="polygon-mumbai.infura.io";break;case"optimism":en="optimism-mainnet.infura.io";break;case"optimism-goerli":en="optimism-goerli.infura.io";break;case"arbitrum":en="arbitrum-mainnet.infura.io";break;case"arbitrum-goerli":en="arbitrum-goerli.infura.io";break;default:on.throwError("unsupported network",rn.Logger.errors.INVALID_ARGUMENT,{argument:"network",value:Wt})}var tn={allowGzip:true,url:"https:/"+"/"+en+"/v3/"+Pt.projectId,throttleCallback:function(Wt,en){if(Pt.projectId===dn){(0,In.showThrottleMessage)()}return Promise.resolve(true)}};if(Pt.projectSecret!=null){tn.user="";tn.password=Pt.projectSecret}return tn};InfuraProvider.prototype.isCommunityResource=function(){return this.projectId===dn};return InfuraProvider}(cn.UrlJsonRpcProvider);Pt.InfuraProvider=pn},54443:function(Wt,Pt,en){var tn=this&&this.__extends||function(){var extendStatics=function(Wt,Pt){extendStatics=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(Wt,Pt){Wt.__proto__=Pt}||function(Wt,Pt){for(var en in Pt)if(Object.prototype.hasOwnProperty.call(Pt,en))Wt[en]=Pt[en]};return extendStatics(Wt,Pt)};return function(Wt,Pt){if(typeof Pt!=="function"&&Pt!==null)throw new TypeError("Class extends value "+String(Pt)+" is not a constructor or null");extendStatics(Wt,Pt);function __(){this.constructor=Wt}Wt.prototype=Pt===null?Object.create(Pt):(__.prototype=Pt.prototype,new __)}}();Object.defineProperty(Pt,"__esModule",{value:true});Pt.IpcProvider=void 0;var nn=en(69278);var an=en(61338);var In=en(76127);var rn=en(25408);var sn=new In.Logger(rn.version);var on=en(30697);var cn=function(Wt){tn(IpcProvider,Wt);function IpcProvider(Pt,en){var tn=this;if(Pt==null){sn.throwError("missing path",In.Logger.errors.MISSING_ARGUMENT,{arg:"path"})}tn=Wt.call(this,"ipc://"+Pt,en)||this;(0,an.defineReadOnly)(tn,"path",Pt);return tn}IpcProvider.prototype.send=function(Wt,Pt){var en=this;var tn=JSON.stringify({method:Wt,params:Pt,id:42,jsonrpc:"2.0"});return new Promise((function(Wt,Pt){var an=Buffer.alloc(0);var In=(0,nn.connect)(en.path);In.on("data",(function(Wt){an=Buffer.concat([an,Wt])}));In.on("end",(function(){try{Wt(JSON.parse(an.toString()).result);In.destroy()}catch(Wt){Pt(Wt);In.destroy()}}));In.on("error",(function(Wt){Pt(Wt);In.destroy()}));In.write(tn);In.end()}))};return IpcProvider}(on.JsonRpcProvider);Pt.IpcProvider=cn},15802:function(Wt,Pt,en){var tn=this&&this.__extends||function(){var extendStatics=function(Wt,Pt){extendStatics=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(Wt,Pt){Wt.__proto__=Pt}||function(Wt,Pt){for(var en in Pt)if(Object.prototype.hasOwnProperty.call(Pt,en))Wt[en]=Pt[en]};return extendStatics(Wt,Pt)};return function(Wt,Pt){if(typeof Pt!=="function"&&Pt!==null)throw new TypeError("Class extends value "+String(Pt)+" is not a constructor or null");extendStatics(Wt,Pt);function __(){this.constructor=Wt}Wt.prototype=Pt===null?Object.create(Pt):(__.prototype=Pt.prototype,new __)}}();Object.defineProperty(Pt,"__esModule",{value:true});Pt.JsonRpcBatchProvider=void 0;var nn=en(61338);var an=en(72239);var In=en(30697);var rn=function(Wt){tn(JsonRpcBatchProvider,Wt);function JsonRpcBatchProvider(){return Wt!==null&&Wt.apply(this,arguments)||this}JsonRpcBatchProvider.prototype.send=function(Wt,Pt){var en=this;var tn={method:Wt,params:Pt,id:this._nextId++,jsonrpc:"2.0"};if(this._pendingBatch==null){this._pendingBatch=[]}var In={request:tn,resolve:null,reject:null};var rn=new Promise((function(Wt,Pt){In.resolve=Wt;In.reject=Pt}));this._pendingBatch.push(In);if(!this._pendingBatchAggregator){this._pendingBatchAggregator=setTimeout((function(){var Wt=en._pendingBatch;en._pendingBatch=null;en._pendingBatchAggregator=null;var Pt=Wt.map((function(Wt){return Wt.request}));en.emit("debug",{action:"requestBatch",request:(0,nn.deepCopy)(Pt),provider:en});return(0,an.fetchJson)(en.connection,JSON.stringify(Pt)).then((function(tn){en.emit("debug",{action:"response",request:Pt,response:tn,provider:en});Wt.forEach((function(Wt,Pt){var en=tn[Pt];if(en.error){var nn=new Error(en.error.message);nn.code=en.error.code;nn.data=en.error.data;Wt.reject(nn)}else{Wt.resolve(en.result)}}))}),(function(tn){en.emit("debug",{action:"response",error:tn,request:Pt,provider:en});Wt.forEach((function(Wt){Wt.reject(tn)}))}))}),10)}return rn};return JsonRpcBatchProvider}(In.JsonRpcProvider);Pt.JsonRpcBatchProvider=rn},30697:function(Wt,Pt,en){var tn=this&&this.__extends||function(){var extendStatics=function(Wt,Pt){extendStatics=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(Wt,Pt){Wt.__proto__=Pt}||function(Wt,Pt){for(var en in Pt)if(Object.prototype.hasOwnProperty.call(Pt,en))Wt[en]=Pt[en]};return extendStatics(Wt,Pt)};return function(Wt,Pt){if(typeof Pt!=="function"&&Pt!==null)throw new TypeError("Class extends value "+String(Pt)+" is not a constructor or null");extendStatics(Wt,Pt);function __(){this.constructor=Wt}Wt.prototype=Pt===null?Object.create(Pt):(__.prototype=Pt.prototype,new __)}}();var nn=this&&this.__awaiter||function(Wt,Pt,en,tn){function adopt(Wt){return Wt instanceof en?Wt:new en((function(Pt){Pt(Wt)}))}return new(en||(en=Promise))((function(en,nn){function fulfilled(Wt){try{step(tn.next(Wt))}catch(Wt){nn(Wt)}}function rejected(Wt){try{step(tn["throw"](Wt))}catch(Wt){nn(Wt)}}function step(Wt){Wt.done?en(Wt.value):adopt(Wt.value).then(fulfilled,rejected)}step((tn=tn.apply(Wt,Pt||[])).next())}))};var an=this&&this.__generator||function(Wt,Pt){var en={label:0,sent:function(){if(an[0]&1)throw an[1];return an[1]},trys:[],ops:[]},tn,nn,an,In;return In={next:verb(0),throw:verb(1),return:verb(2)},typeof Symbol==="function"&&(In[Symbol.iterator]=function(){return this}),In;function verb(Wt){return function(Pt){return step([Wt,Pt])}}function step(In){if(tn)throw new TypeError("Generator is already executing.");while(en)try{if(tn=1,nn&&(an=In[0]&2?nn["return"]:In[0]?nn["throw"]||((an=nn["return"])&&an.call(nn),0):nn.next)&&!(an=an.call(nn,In[1])).done)return an;if(nn=0,an)In=[In[0]&2,an.value];switch(In[0]){case 0:case 1:an=In;break;case 4:en.label++;return{value:In[1],done:false};case 5:en.label++;nn=In[1];In=[0];continue;case 7:In=en.ops.pop();en.trys.pop();continue;default:if(!(an=en.trys,an=an.length>0&&an[an.length-1])&&(In[0]===6||In[0]===2)){en=0;continue}if(In[0]===3&&(!an||In[1]>an[0]&&In[1]=0&&an.match(/gas required exceeds allowance|always failing transaction|execution reverted|revert/)){Gn.throwError("cannot estimate gas; transaction may fail or may require manual gas limit",mn.Logger.errors.UNPREDICTABLE_GAS_LIMIT,{error:Pt,method:Wt,transaction:tn})}throw Pt}function timer(Wt){return new Promise((function(Pt){setTimeout(Pt,Wt)}))}function getResult(Wt){if(Wt.error){var Pt=new Error(Wt.error.message);Pt.code=Wt.error.code;Pt.data=Wt.error.data;throw Pt}return Wt.result}function getLowerCase(Wt){if(Wt){return Wt.toLowerCase()}return Wt}var An={};var Wn=function(Wt){tn(JsonRpcSigner,Wt);function JsonRpcSigner(Pt,en,tn){var nn=Wt.call(this)||this;if(Pt!==An){throw new Error("do not call the JsonRpcSigner constructor directly; use provider.getSigner")}(0,cn.defineReadOnly)(nn,"provider",en);if(tn==null){tn=0}if(typeof tn==="string"){(0,cn.defineReadOnly)(nn,"_address",nn.provider.formatter.address(tn));(0,cn.defineReadOnly)(nn,"_index",null)}else if(typeof tn==="number"){(0,cn.defineReadOnly)(nn,"_index",tn);(0,cn.defineReadOnly)(nn,"_address",null)}else{Gn.throwArgumentError("invalid address or index","addressOrIndex",tn)}return nn}JsonRpcSigner.prototype.connect=function(Wt){return Gn.throwError("cannot alter JSON-RPC Signer connection",mn.Logger.errors.UNSUPPORTED_OPERATION,{operation:"connect"})};JsonRpcSigner.prototype.connectUnchecked=function(){return new Nn(An,this.provider,this._address||this._index)};JsonRpcSigner.prototype.getAddress=function(){var Wt=this;if(this._address){return Promise.resolve(this._address)}return this.provider.send("eth_accounts",[]).then((function(Pt){if(Pt.length<=Wt._index){Gn.throwError("unknown account #"+Wt._index,mn.Logger.errors.UNSUPPORTED_OPERATION,{operation:"getAddress"})}return Wt.provider.formatter.address(Pt[Wt._index])}))};JsonRpcSigner.prototype.sendUncheckedTransaction=function(Wt){var Pt=this;Wt=(0,cn.shallowCopy)(Wt);var en=this.getAddress().then((function(Wt){if(Wt){Wt=Wt.toLowerCase()}return Wt}));if(Wt.gasLimit==null){var tn=(0,cn.shallowCopy)(Wt);tn.from=en;Wt.gasLimit=this.provider.estimateGas(tn)}if(Wt.to!=null){Wt.to=Promise.resolve(Wt.to).then((function(Wt){return nn(Pt,void 0,void 0,(function(){var Pt;return an(this,(function(en){switch(en.label){case 0:if(Wt==null){return[2,null]}return[4,this.provider.resolveName(Wt)];case 1:Pt=en.sent();if(Pt==null){Gn.throwArgumentError("provided ENS name resolves to null","tx.to",Wt)}return[2,Pt]}}))}))}))}return(0,cn.resolveProperties)({tx:(0,cn.resolveProperties)(Wt),sender:en}).then((function(en){var tn=en.tx,nn=en.sender;if(tn.from!=null){if(tn.from.toLowerCase()!==nn){Gn.throwArgumentError("from address mismatch","transaction",Wt)}}else{tn.from=nn}var an=Pt.provider.constructor.hexlifyTransaction(tn,{from:true});return Pt.provider.send("eth_sendTransaction",[an]).then((function(Wt){return Wt}),(function(Wt){if(typeof Wt.message==="string"&&Wt.message.match(/user denied/i)){Gn.throwError("user rejected transaction",mn.Logger.errors.ACTION_REJECTED,{action:"sendTransaction",transaction:tn})}return checkError("sendTransaction",Wt,an)}))}))};JsonRpcSigner.prototype.signTransaction=function(Wt){return Gn.throwError("signing transactions is unsupported",mn.Logger.errors.UNSUPPORTED_OPERATION,{operation:"signTransaction"})};JsonRpcSigner.prototype.sendTransaction=function(Wt){return nn(this,void 0,void 0,(function(){var Pt,en,tn;var In=this;return an(this,(function(rn){switch(rn.label){case 0:return[4,this.provider._getInternalBlockNumber(100+2*this.provider.pollingInterval)];case 1:Pt=rn.sent();return[4,this.sendUncheckedTransaction(Wt)];case 2:en=rn.sent();rn.label=3;case 3:rn.trys.push([3,5,,6]);return[4,(0,pn.poll)((function(){return nn(In,void 0,void 0,(function(){var Wt;return an(this,(function(tn){switch(tn.label){case 0:return[4,this.provider.getTransaction(en)];case 1:Wt=tn.sent();if(Wt===null){return[2,undefined]}return[2,this.provider._wrapTransaction(Wt,en,Pt)]}}))}))}),{oncePoll:this.provider})];case 4:return[2,rn.sent()];case 5:tn=rn.sent();tn.transactionHash=en;throw tn;case 6:return[2]}}))}))};JsonRpcSigner.prototype.signMessage=function(Wt){return nn(this,void 0,void 0,(function(){var Pt,en,tn;return an(this,(function(nn){switch(nn.label){case 0:Pt=typeof Wt==="string"?(0,dn.toUtf8Bytes)(Wt):Wt;return[4,this.getAddress()];case 1:en=nn.sent();nn.label=2;case 2:nn.trys.push([2,4,,5]);return[4,this.provider.send("personal_sign",[(0,sn.hexlify)(Pt),en.toLowerCase()])];case 3:return[2,nn.sent()];case 4:tn=nn.sent();if(typeof tn.message==="string"&&tn.message.match(/user denied/i)){Gn.throwError("user rejected signing",mn.Logger.errors.ACTION_REJECTED,{action:"signMessage",from:en,messageData:Wt})}throw tn;case 5:return[2]}}))}))};JsonRpcSigner.prototype._legacySignMessage=function(Wt){return nn(this,void 0,void 0,(function(){var Pt,en,tn;return an(this,(function(nn){switch(nn.label){case 0:Pt=typeof Wt==="string"?(0,dn.toUtf8Bytes)(Wt):Wt;return[4,this.getAddress()];case 1:en=nn.sent();nn.label=2;case 2:nn.trys.push([2,4,,5]);return[4,this.provider.send("eth_sign",[en.toLowerCase(),(0,sn.hexlify)(Pt)])];case 3:return[2,nn.sent()];case 4:tn=nn.sent();if(typeof tn.message==="string"&&tn.message.match(/user denied/i)){Gn.throwError("user rejected signing",mn.Logger.errors.ACTION_REJECTED,{action:"_legacySignMessage",from:en,messageData:Wt})}throw tn;case 5:return[2]}}))}))};JsonRpcSigner.prototype._signTypedData=function(Wt,Pt,en){return nn(this,void 0,void 0,(function(){var tn,nn,In;var rn=this;return an(this,(function(an){switch(an.label){case 0:return[4,on._TypedDataEncoder.resolveNames(Wt,Pt,en,(function(Wt){return rn.provider.resolveName(Wt)}))];case 1:tn=an.sent();return[4,this.getAddress()];case 2:nn=an.sent();an.label=3;case 3:an.trys.push([3,5,,6]);return[4,this.provider.send("eth_signTypedData_v4",[nn.toLowerCase(),JSON.stringify(on._TypedDataEncoder.getPayload(tn.domain,Pt,tn.value))])];case 4:return[2,an.sent()];case 5:In=an.sent();if(typeof In.message==="string"&&In.message.match(/user denied/i)){Gn.throwError("user rejected signing",mn.Logger.errors.ACTION_REJECTED,{action:"_signTypedData",from:nn,messageData:{domain:tn.domain,types:Pt,value:tn.value}})}throw In;case 6:return[2]}}))}))};JsonRpcSigner.prototype.unlock=function(Wt){return nn(this,void 0,void 0,(function(){var Pt,en;return an(this,(function(tn){switch(tn.label){case 0:Pt=this.provider;return[4,this.getAddress()];case 1:en=tn.sent();return[2,Pt.send("personal_unlockAccount",[en.toLowerCase(),Wt,null])]}}))}))};return JsonRpcSigner}(In.Signer);Pt.JsonRpcSigner=Wn;var Nn=function(Wt){tn(UncheckedJsonRpcSigner,Wt);function UncheckedJsonRpcSigner(){return Wt!==null&&Wt.apply(this,arguments)||this}UncheckedJsonRpcSigner.prototype.sendTransaction=function(Wt){var Pt=this;return this.sendUncheckedTransaction(Wt).then((function(Wt){return{hash:Wt,nonce:null,gasLimit:null,gasPrice:null,data:null,value:null,chainId:null,confirmations:0,from:null,wait:function(en){return Pt.provider.waitForTransaction(Wt,en)}}}))};return UncheckedJsonRpcSigner}(Wn);var gn={chainId:true,data:true,gasLimit:true,gasPrice:true,nonce:true,to:true,value:true,type:true,accessList:true,maxFeePerGas:true,maxPriorityFeePerGas:true};var yn=function(Wt){tn(JsonRpcProvider,Wt);function JsonRpcProvider(Pt,en){var tn=this;var nn=en;if(nn==null){nn=new Promise((function(Wt,Pt){setTimeout((function(){tn.detectNetwork().then((function(Pt){Wt(Pt)}),(function(Wt){Pt(Wt)}))}),0)}))}tn=Wt.call(this,nn)||this;if(!Pt){Pt=(0,cn.getStatic)(tn.constructor,"defaultUrl")()}if(typeof Pt==="string"){(0,cn.defineReadOnly)(tn,"connection",Object.freeze({url:Pt}))}else{(0,cn.defineReadOnly)(tn,"connection",Object.freeze((0,cn.shallowCopy)(Pt)))}tn._nextId=42;return tn}Object.defineProperty(JsonRpcProvider.prototype,"_cache",{get:function(){if(this._eventLoopCache==null){this._eventLoopCache={}}return this._eventLoopCache},enumerable:false,configurable:true});JsonRpcProvider.defaultUrl=function(){return"http://localhost:8545"};JsonRpcProvider.prototype.detectNetwork=function(){var Wt=this;if(!this._cache["detectNetwork"]){this._cache["detectNetwork"]=this._uncachedDetectNetwork();setTimeout((function(){Wt._cache["detectNetwork"]=null}),0)}return this._cache["detectNetwork"]};JsonRpcProvider.prototype._uncachedDetectNetwork=function(){return nn(this,void 0,void 0,(function(){var Wt,Pt,en,tn;return an(this,(function(nn){switch(nn.label){case 0:return[4,timer(0)];case 1:nn.sent();Wt=null;nn.label=2;case 2:nn.trys.push([2,4,,9]);return[4,this.send("eth_chainId",[])];case 3:Wt=nn.sent();return[3,9];case 4:Pt=nn.sent();nn.label=5;case 5:nn.trys.push([5,7,,8]);return[4,this.send("net_version",[])];case 6:Wt=nn.sent();return[3,8];case 7:en=nn.sent();return[3,8];case 8:return[3,9];case 9:if(Wt!=null){tn=(0,cn.getStatic)(this.constructor,"getNetwork");try{return[2,tn(rn.BigNumber.from(Wt).toNumber())]}catch(Pt){return[2,Gn.throwError("could not detect network",mn.Logger.errors.NETWORK_ERROR,{chainId:Wt,event:"invalidNetwork",serverError:Pt})]}}return[2,Gn.throwError("could not detect network",mn.Logger.errors.NETWORK_ERROR,{event:"noNetwork"})]}}))}))};JsonRpcProvider.prototype.getSigner=function(Wt){return new Wn(An,this,Wt)};JsonRpcProvider.prototype.getUncheckedSigner=function(Wt){return this.getSigner(Wt).connectUnchecked()};JsonRpcProvider.prototype.listAccounts=function(){var Wt=this;return this.send("eth_accounts",[]).then((function(Pt){return Pt.map((function(Pt){return Wt.formatter.address(Pt)}))}))};JsonRpcProvider.prototype.send=function(Wt,Pt){var en=this;var tn={method:Wt,params:Pt,id:this._nextId++,jsonrpc:"2.0"};this.emit("debug",{action:"request",request:(0,cn.deepCopy)(tn),provider:this});var nn=["eth_chainId","eth_blockNumber"].indexOf(Wt)>=0;if(nn&&this._cache[Wt]){return this._cache[Wt]}var an=(0,pn.fetchJson)(this.connection,JSON.stringify(tn),getResult).then((function(Wt){en.emit("debug",{action:"response",request:tn,response:Wt,provider:en});return Wt}),(function(Wt){en.emit("debug",{action:"response",error:Wt,request:tn,provider:en});throw Wt}));if(nn){this._cache[Wt]=an;setTimeout((function(){en._cache[Wt]=null}),0)}return an};JsonRpcProvider.prototype.prepareRequest=function(Wt,Pt){switch(Wt){case"getBlockNumber":return["eth_blockNumber",[]];case"getGasPrice":return["eth_gasPrice",[]];case"getBalance":return["eth_getBalance",[getLowerCase(Pt.address),Pt.blockTag]];case"getTransactionCount":return["eth_getTransactionCount",[getLowerCase(Pt.address),Pt.blockTag]];case"getCode":return["eth_getCode",[getLowerCase(Pt.address),Pt.blockTag]];case"getStorageAt":return["eth_getStorageAt",[getLowerCase(Pt.address),(0,sn.hexZeroPad)(Pt.position,32),Pt.blockTag]];case"sendTransaction":return["eth_sendRawTransaction",[Pt.signedTransaction]];case"getBlock":if(Pt.blockTag){return["eth_getBlockByNumber",[Pt.blockTag,!!Pt.includeTransactions]]}else if(Pt.blockHash){return["eth_getBlockByHash",[Pt.blockHash,!!Pt.includeTransactions]]}return null;case"getTransaction":return["eth_getTransactionByHash",[Pt.transactionHash]];case"getTransactionReceipt":return["eth_getTransactionReceipt",[Pt.transactionHash]];case"call":{var en=(0,cn.getStatic)(this.constructor,"hexlifyTransaction");return["eth_call",[en(Pt.transaction,{from:true}),Pt.blockTag]]}case"estimateGas":{var en=(0,cn.getStatic)(this.constructor,"hexlifyTransaction");return["eth_estimateGas",[en(Pt.transaction,{from:true})]]}case"getLogs":if(Pt.filter&&Pt.filter.address!=null){Pt.filter.address=getLowerCase(Pt.filter.address)}return["eth_getLogs",[Pt.filter]];default:break}return null};JsonRpcProvider.prototype.perform=function(Wt,Pt){return nn(this,void 0,void 0,(function(){var en,tn,nn,In;return an(this,(function(an){switch(an.label){case 0:if(!(Wt==="call"||Wt==="estimateGas"))return[3,2];en=Pt.transaction;if(!(en&&en.type!=null&&rn.BigNumber.from(en.type).isZero()))return[3,2];if(!(en.maxFeePerGas==null&&en.maxPriorityFeePerGas==null))return[3,2];return[4,this.getFeeData()];case 1:tn=an.sent();if(tn.maxFeePerGas==null&&tn.maxPriorityFeePerGas==null){Pt=(0,cn.shallowCopy)(Pt);Pt.transaction=(0,cn.shallowCopy)(en);delete Pt.transaction.type}an.label=2;case 2:nn=this.prepareRequest(Wt,Pt);if(nn==null){Gn.throwError(Wt+" not implemented",mn.Logger.errors.NOT_IMPLEMENTED,{operation:Wt})}an.label=3;case 3:an.trys.push([3,5,,6]);return[4,this.send(nn[0],nn[1])];case 4:return[2,an.sent()];case 5:In=an.sent();return[2,checkError(Wt,In,Pt)];case 6:return[2]}}))}))};JsonRpcProvider.prototype._startEvent=function(Pt){if(Pt.tag==="pending"){this._startPending()}Wt.prototype._startEvent.call(this,Pt)};JsonRpcProvider.prototype._startPending=function(){if(this._pendingFilter!=null){return}var Wt=this;var Pt=this.send("eth_newPendingTransactionFilter",[]);this._pendingFilter=Pt;Pt.then((function(en){function poll(){Wt.send("eth_getFilterChanges",[en]).then((function(en){if(Wt._pendingFilter!=Pt){return null}var tn=Promise.resolve();en.forEach((function(Pt){Wt._emitted["t:"+Pt.toLowerCase()]="pending";tn=tn.then((function(){return Wt.getTransaction(Pt).then((function(Pt){Wt.emit("pending",Pt);return null}))}))}));return tn.then((function(){return timer(1e3)}))})).then((function(){if(Wt._pendingFilter!=Pt){Wt.send("eth_uninstallFilter",[en]);return}setTimeout((function(){poll()}),0);return null})).catch((function(Wt){}))}poll();return en})).catch((function(Wt){}))};JsonRpcProvider.prototype._stopEvent=function(Pt){if(Pt.tag==="pending"&&this.listenerCount("pending")===0){this._pendingFilter=null}Wt.prototype._stopEvent.call(this,Pt)};JsonRpcProvider.hexlifyTransaction=function(Wt,Pt){var en=(0,cn.shallowCopy)(gn);if(Pt){for(var tn in Pt){if(Pt[tn]){en[tn]=true}}}(0,cn.checkProperties)(Wt,en);var nn={};["chainId","gasLimit","gasPrice","type","maxFeePerGas","maxPriorityFeePerGas","nonce","value"].forEach((function(Pt){if(Wt[Pt]==null){return}var en=(0,sn.hexValue)(rn.BigNumber.from(Wt[Pt]));if(Pt==="gasLimit"){Pt="gas"}nn[Pt]=en}));["from","to","data"].forEach((function(Pt){if(Wt[Pt]==null){return}nn[Pt]=(0,sn.hexlify)(Wt[Pt])}));if(Wt.accessList){nn["accessList"]=(0,un.accessListify)(Wt.accessList)}return nn};return JsonRpcProvider}(hn.BaseProvider);Pt.JsonRpcProvider=yn},62572:function(Wt,Pt,en){var tn=this&&this.__extends||function(){var extendStatics=function(Wt,Pt){extendStatics=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(Wt,Pt){Wt.__proto__=Pt}||function(Wt,Pt){for(var en in Pt)if(Object.prototype.hasOwnProperty.call(Pt,en))Wt[en]=Pt[en]};return extendStatics(Wt,Pt)};return function(Wt,Pt){if(typeof Pt!=="function"&&Pt!==null)throw new TypeError("Class extends value "+String(Pt)+" is not a constructor or null");extendStatics(Wt,Pt);function __(){this.constructor=Wt}Wt.prototype=Pt===null?Object.create(Pt):(__.prototype=Pt.prototype,new __)}}();Object.defineProperty(Pt,"__esModule",{value:true});Pt.NodesmithProvider=void 0;var nn=en(56717);var an=en(76127);var In=en(25408);var rn=new an.Logger(In.version);var sn="ETHERS_JS_SHARED";var on=function(Wt){tn(NodesmithProvider,Wt);function NodesmithProvider(){return Wt!==null&&Wt.apply(this,arguments)||this}NodesmithProvider.getApiKey=function(Wt){if(Wt&&typeof Wt!=="string"){rn.throwArgumentError("invalid apiKey","apiKey",Wt)}return Wt||sn};NodesmithProvider.getUrl=function(Wt,Pt){rn.warn("NodeSmith will be discontinued on 2019-12-20; please migrate to another platform.");var en=null;switch(Wt.name){case"homestead":en="https://ethereum.api.nodesmith.io/v1/mainnet/jsonrpc";break;case"ropsten":en="https://ethereum.api.nodesmith.io/v1/ropsten/jsonrpc";break;case"rinkeby":en="https://ethereum.api.nodesmith.io/v1/rinkeby/jsonrpc";break;case"goerli":en="https://ethereum.api.nodesmith.io/v1/goerli/jsonrpc";break;case"kovan":en="https://ethereum.api.nodesmith.io/v1/kovan/jsonrpc";break;default:rn.throwArgumentError("unsupported network","network",arguments[0])}return en+"?apiKey="+Pt};return NodesmithProvider}(nn.UrlJsonRpcProvider);Pt.NodesmithProvider=on},29663:function(Wt,Pt,en){var tn=this&&this.__extends||function(){var extendStatics=function(Wt,Pt){extendStatics=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(Wt,Pt){Wt.__proto__=Pt}||function(Wt,Pt){for(var en in Pt)if(Object.prototype.hasOwnProperty.call(Pt,en))Wt[en]=Pt[en]};return extendStatics(Wt,Pt)};return function(Wt,Pt){if(typeof Pt!=="function"&&Pt!==null)throw new TypeError("Class extends value "+String(Pt)+" is not a constructor or null");extendStatics(Wt,Pt);function __(){this.constructor=Wt}Wt.prototype=Pt===null?Object.create(Pt):(__.prototype=Pt.prototype,new __)}}();Object.defineProperty(Pt,"__esModule",{value:true});Pt.PocketProvider=void 0;var nn=en(76127);var an=en(25408);var In=new nn.Logger(an.version);var rn=en(56717);var sn="62e1ad51b37b8e00394bda3b";var on=function(Wt){tn(PocketProvider,Wt);function PocketProvider(){return Wt!==null&&Wt.apply(this,arguments)||this}PocketProvider.getApiKey=function(Wt){var Pt={applicationId:null,loadBalancer:true,applicationSecretKey:null};if(Wt==null){Pt.applicationId=sn}else if(typeof Wt==="string"){Pt.applicationId=Wt}else if(Wt.applicationSecretKey!=null){Pt.applicationId=Wt.applicationId;Pt.applicationSecretKey=Wt.applicationSecretKey}else if(Wt.applicationId){Pt.applicationId=Wt.applicationId}else{In.throwArgumentError("unsupported PocketProvider apiKey","apiKey",Wt)}return Pt};PocketProvider.getUrl=function(Wt,Pt){var en=null;switch(Wt?Wt.name:"unknown"){case"goerli":en="eth-goerli.gateway.pokt.network";break;case"homestead":en="eth-mainnet.gateway.pokt.network";break;case"kovan":en="poa-kovan.gateway.pokt.network";break;case"matic":en="poly-mainnet.gateway.pokt.network";break;case"maticmum":en="polygon-mumbai-rpc.gateway.pokt.network";break;case"rinkeby":en="eth-rinkeby.gateway.pokt.network";break;case"ropsten":en="eth-ropsten.gateway.pokt.network";break;default:In.throwError("unsupported network",nn.Logger.errors.INVALID_ARGUMENT,{argument:"network",value:Wt})}var tn="https://"+en+"/v1/lb/"+Pt.applicationId;var an={headers:{},url:tn};if(Pt.applicationSecretKey!=null){an.user="";an.password=Pt.applicationSecretKey}return an};PocketProvider.prototype.isCommunityResource=function(){return this.applicationId===sn};return PocketProvider}(rn.UrlJsonRpcProvider);Pt.PocketProvider=on},56717:function(Wt,Pt,en){var tn=this&&this.__extends||function(){var extendStatics=function(Wt,Pt){extendStatics=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(Wt,Pt){Wt.__proto__=Pt}||function(Wt,Pt){for(var en in Pt)if(Object.prototype.hasOwnProperty.call(Pt,en))Wt[en]=Pt[en]};return extendStatics(Wt,Pt)};return function(Wt,Pt){if(typeof Pt!=="function"&&Pt!==null)throw new TypeError("Class extends value "+String(Pt)+" is not a constructor or null");extendStatics(Wt,Pt);function __(){this.constructor=Wt}Wt.prototype=Pt===null?Object.create(Pt):(__.prototype=Pt.prototype,new __)}}();var nn=this&&this.__awaiter||function(Wt,Pt,en,tn){function adopt(Wt){return Wt instanceof en?Wt:new en((function(Pt){Pt(Wt)}))}return new(en||(en=Promise))((function(en,nn){function fulfilled(Wt){try{step(tn.next(Wt))}catch(Wt){nn(Wt)}}function rejected(Wt){try{step(tn["throw"](Wt))}catch(Wt){nn(Wt)}}function step(Wt){Wt.done?en(Wt.value):adopt(Wt.value).then(fulfilled,rejected)}step((tn=tn.apply(Wt,Pt||[])).next())}))};var an=this&&this.__generator||function(Wt,Pt){var en={label:0,sent:function(){if(an[0]&1)throw an[1];return an[1]},trys:[],ops:[]},tn,nn,an,In;return In={next:verb(0),throw:verb(1),return:verb(2)},typeof Symbol==="function"&&(In[Symbol.iterator]=function(){return this}),In;function verb(Wt){return function(Pt){return step([Wt,Pt])}}function step(In){if(tn)throw new TypeError("Generator is already executing.");while(en)try{if(tn=1,nn&&(an=In[0]&2?nn["return"]:In[0]?nn["throw"]||((an=nn["return"])&&an.call(nn),0):nn.next)&&!(an=an.call(nn,In[1])).done)return an;if(nn=0,an)In=[In[0]&2,an.value];switch(In[0]){case 0:case 1:an=In;break;case 4:en.label++;return{value:In[1],done:false};case 5:en.label++;nn=In[1];In=[0];continue;case 7:In=en.ops.pop();en.trys.pop();continue;default:if(!(an=en.trys,an=an.length>0&&an[an.length-1])&&(In[0]===6||In[0]===2)){en=0;continue}if(In[0]===3&&(!an||In[1]>an[0]&&In[1]0&&an[an.length-1])&&(In[0]===6||In[0]===2)){en=0;continue}if(In[0]===3&&(!an||In[1]>an[0]&&In[1]{const tn=en(9462);tn.createWebSocketStream=en(62117);tn.Server=en(72672);tn.Receiver=en(18508);tn.Sender=en(31780);Wt.exports=tn},17932:(Wt,Pt,en)=>{const{EMPTY_BUFFER:tn}=en(83400);function concat(Wt,Pt){if(Wt.length===0)return tn;if(Wt.length===1)return Wt[0];const en=Buffer.allocUnsafe(Pt);let nn=0;for(let Pt=0;Pt{Wt.exports={BINARY_TYPES:["nodebuffer","arraybuffer","fragments"],GUID:"258EAFA5-E914-47DA-95CA-C5AB0DC85B11",kStatusCode:Symbol("status-code"),kWebSocket:Symbol("websocket"),EMPTY_BUFFER:Buffer.alloc(0),NOOP:()=>{}}},92755:Wt=>{class Event{constructor(Wt,Pt){this.target=Pt;this.type=Wt}}class MessageEvent extends Event{constructor(Wt,Pt){super("message",Pt);this.data=Wt}}class CloseEvent extends Event{constructor(Wt,Pt,en){super("close",en);this.wasClean=en._closeFrameReceived&&en._closeFrameSent;this.reason=Pt;this.code=Wt}}class OpenEvent extends Event{constructor(Wt){super("open",Wt)}}class ErrorEvent extends Event{constructor(Wt,Pt){super("error",Pt);this.message=Wt.message;this.error=Wt}}const Pt={addEventListener(Wt,Pt,en){if(typeof Pt!=="function")return;function onMessage(Wt){Pt.call(this,new MessageEvent(Wt,this))}function onClose(Wt,en){Pt.call(this,new CloseEvent(Wt,en,this))}function onError(Wt){Pt.call(this,new ErrorEvent(Wt,this))}function onOpen(){Pt.call(this,new OpenEvent(this))}const tn=en&&en.once?"once":"on";if(Wt==="message"){onMessage._listener=Pt;this[tn](Wt,onMessage)}else if(Wt==="close"){onClose._listener=Pt;this[tn](Wt,onClose)}else if(Wt==="error"){onError._listener=Pt;this[tn](Wt,onError)}else if(Wt==="open"){onOpen._listener=Pt;this[tn](Wt,onOpen)}else{this[tn](Wt,Pt)}},removeEventListener(Wt,Pt){const en=this.listeners(Wt);for(let tn=0;tn{const Pt=[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 push(Wt,Pt,en){if(Wt[Pt]===undefined)Wt[Pt]=[en];else Wt[Pt].push(en)}function parse(Wt){const en=Object.create(null);if(Wt===undefined||Wt==="")return en;let tn=Object.create(null);let nn=false;let an=false;let In=false;let rn;let sn;let on=-1;let cn=-1;let dn=0;for(;dn{let en=Wt[Pt];if(!Array.isArray(en))en=[en];return en.map((Wt=>[Pt].concat(Object.keys(Wt).map((Pt=>{let en=Wt[Pt];if(!Array.isArray(en))en=[en];return en.map((Wt=>Wt===true?Pt:`${Pt}=${Wt}`)).join("; ")}))).join("; "))).join(", ")})).join(", ")}Wt.exports={format:format,parse:parse}},97733:Wt=>{const Pt=Symbol("kDone");const en=Symbol("kRun");class Limiter{constructor(Wt){this[Pt]=()=>{this.pending--;this[en]()};this.concurrency=Wt||Infinity;this.jobs=[];this.pending=0}add(Wt){this.jobs.push(Wt);this[en]()}[en](){if(this.pending===this.concurrency)return;if(this.jobs.length){const Wt=this.jobs.shift();this.pending++;Wt(this[Pt])}}}Wt.exports=Limiter},88389:(Wt,Pt,en)=>{const tn=en(43106);const nn=en(17932);const an=en(97733);const{kStatusCode:In,NOOP:rn}=en(83400);const sn=Buffer.from([0,0,255,255]);const on=Symbol("permessage-deflate");const cn=Symbol("total-length");const dn=Symbol("callback");const un=Symbol("buffers");const pn=Symbol("error");let mn;class PerMessageDeflate{constructor(Wt,Pt,en){this._maxPayload=en|0;this._options=Wt||{};this._threshold=this._options.threshold!==undefined?this._options.threshold:1024;this._isServer=!!Pt;this._deflate=null;this._inflate=null;this.params=null;if(!mn){const Wt=this._options.concurrencyLimit!==undefined?this._options.concurrencyLimit:10;mn=new an(Wt)}}static get extensionName(){return"permessage-deflate"}offer(){const Wt={};if(this._options.serverNoContextTakeover){Wt.server_no_context_takeover=true}if(this._options.clientNoContextTakeover){Wt.client_no_context_takeover=true}if(this._options.serverMaxWindowBits){Wt.server_max_window_bits=this._options.serverMaxWindowBits}if(this._options.clientMaxWindowBits){Wt.client_max_window_bits=this._options.clientMaxWindowBits}else if(this._options.clientMaxWindowBits==null){Wt.client_max_window_bits=true}return Wt}accept(Wt){Wt=this.normalizeParams(Wt);this.params=this._isServer?this.acceptAsServer(Wt):this.acceptAsClient(Wt);return this.params}cleanup(){if(this._inflate){this._inflate.close();this._inflate=null}if(this._deflate){const Wt=this._deflate[dn];this._deflate.close();this._deflate=null;if(Wt){Wt(new Error("The deflate stream was closed while data was being processed"))}}}acceptAsServer(Wt){const Pt=this._options;const en=Wt.find((Wt=>{if(Pt.serverNoContextTakeover===false&&Wt.server_no_context_takeover||Wt.server_max_window_bits&&(Pt.serverMaxWindowBits===false||typeof Pt.serverMaxWindowBits==="number"&&Pt.serverMaxWindowBits>Wt.server_max_window_bits)||typeof Pt.clientMaxWindowBits==="number"&&!Wt.client_max_window_bits){return false}return true}));if(!en){throw new Error("None of the extension offers can be accepted")}if(Pt.serverNoContextTakeover){en.server_no_context_takeover=true}if(Pt.clientNoContextTakeover){en.client_no_context_takeover=true}if(typeof Pt.serverMaxWindowBits==="number"){en.server_max_window_bits=Pt.serverMaxWindowBits}if(typeof Pt.clientMaxWindowBits==="number"){en.client_max_window_bits=Pt.clientMaxWindowBits}else if(en.client_max_window_bits===true||Pt.clientMaxWindowBits===false){delete en.client_max_window_bits}return en}acceptAsClient(Wt){const Pt=Wt[0];if(this._options.clientNoContextTakeover===false&&Pt.client_no_context_takeover){throw new Error('Unexpected parameter "client_no_context_takeover"')}if(!Pt.client_max_window_bits){if(typeof this._options.clientMaxWindowBits==="number"){Pt.client_max_window_bits=this._options.clientMaxWindowBits}}else if(this._options.clientMaxWindowBits===false||typeof this._options.clientMaxWindowBits==="number"&&Pt.client_max_window_bits>this._options.clientMaxWindowBits){throw new Error('Unexpected or invalid parameter "client_max_window_bits"')}return Pt}normalizeParams(Wt){Wt.forEach((Wt=>{Object.keys(Wt).forEach((Pt=>{let en=Wt[Pt];if(en.length>1){throw new Error(`Parameter "${Pt}" must have only a single value`)}en=en[0];if(Pt==="client_max_window_bits"){if(en!==true){const Wt=+en;if(!Number.isInteger(Wt)||Wt<8||Wt>15){throw new TypeError(`Invalid value for parameter "${Pt}": ${en}`)}en=Wt}else if(!this._isServer){throw new TypeError(`Invalid value for parameter "${Pt}": ${en}`)}}else if(Pt==="server_max_window_bits"){const Wt=+en;if(!Number.isInteger(Wt)||Wt<8||Wt>15){throw new TypeError(`Invalid value for parameter "${Pt}": ${en}`)}en=Wt}else if(Pt==="client_no_context_takeover"||Pt==="server_no_context_takeover"){if(en!==true){throw new TypeError(`Invalid value for parameter "${Pt}": ${en}`)}}else{throw new Error(`Unknown parameter "${Pt}"`)}Wt[Pt]=en}))}));return Wt}decompress(Wt,Pt,en){mn.add((tn=>{this._decompress(Wt,Pt,((Wt,Pt)=>{tn();en(Wt,Pt)}))}))}compress(Wt,Pt,en){mn.add((tn=>{this._compress(Wt,Pt,((Wt,Pt)=>{tn();en(Wt,Pt)}))}))}_decompress(Wt,Pt,en){const an=this._isServer?"client":"server";if(!this._inflate){const Wt=`${an}_max_window_bits`;const Pt=typeof this.params[Wt]!=="number"?tn.Z_DEFAULT_WINDOWBITS:this.params[Wt];this._inflate=tn.createInflateRaw({...this._options.zlibInflateOptions,windowBits:Pt});this._inflate[on]=this;this._inflate[cn]=0;this._inflate[un]=[];this._inflate.on("error",inflateOnError);this._inflate.on("data",inflateOnData)}this._inflate[dn]=en;this._inflate.write(Wt);if(Pt)this._inflate.write(sn);this._inflate.flush((()=>{const Wt=this._inflate[pn];if(Wt){this._inflate.close();this._inflate=null;en(Wt);return}const tn=nn.concat(this._inflate[un],this._inflate[cn]);if(this._inflate._readableState.endEmitted){this._inflate.close();this._inflate=null}else{this._inflate[cn]=0;this._inflate[un]=[];if(Pt&&this.params[`${an}_no_context_takeover`]){this._inflate.reset()}}en(null,tn)}))}_compress(Wt,Pt,en){const an=this._isServer?"server":"client";if(!this._deflate){const Wt=`${an}_max_window_bits`;const Pt=typeof this.params[Wt]!=="number"?tn.Z_DEFAULT_WINDOWBITS:this.params[Wt];this._deflate=tn.createDeflateRaw({...this._options.zlibDeflateOptions,windowBits:Pt});this._deflate[cn]=0;this._deflate[un]=[];this._deflate.on("error",rn);this._deflate.on("data",deflateOnData)}this._deflate[dn]=en;this._deflate.write(Wt);this._deflate.flush(tn.Z_SYNC_FLUSH,(()=>{if(!this._deflate){return}let Wt=nn.concat(this._deflate[un],this._deflate[cn]);if(Pt)Wt=Wt.slice(0,Wt.length-4);this._deflate[dn]=null;this._deflate[cn]=0;this._deflate[un]=[];if(Pt&&this.params[`${an}_no_context_takeover`]){this._deflate.reset()}en(null,Wt)}))}}Wt.exports=PerMessageDeflate;function deflateOnData(Wt){this[un].push(Wt);this[cn]+=Wt.length}function inflateOnData(Wt){this[cn]+=Wt.length;if(this[on]._maxPayload<1||this[cn]<=this[on]._maxPayload){this[un].push(Wt);return}this[pn]=new RangeError("Max payload size exceeded");this[pn][In]=1009;this.removeListener("data",inflateOnData);this.reset()}function inflateOnError(Wt){this[on]._inflate=null;Wt[In]=1007;this[dn](Wt)}},18508:(Wt,Pt,en)=>{const{Writable:tn}=en(2203);const nn=en(88389);const{BINARY_TYPES:an,EMPTY_BUFFER:In,kStatusCode:rn,kWebSocket:sn}=en(83400);const{concat:on,toArrayBuffer:cn,unmask:dn}=en(17932);const{isValidStatusCode:un,isValidUTF8:pn}=en(91802);const mn=0;const bn=1;const Gn=2;const hn=3;const Zn=4;const An=5;class Receiver extends tn{constructor(Wt,Pt,en,tn){super();this._binaryType=Wt||an[0];this[sn]=undefined;this._extensions=Pt||{};this._isServer=!!en;this._maxPayload=tn|0;this._bufferedBytes=0;this._buffers=[];this._compressed=false;this._payloadLength=0;this._mask=undefined;this._fragmented=0;this._masked=false;this._fin=false;this._opcode=0;this._totalPayloadLength=0;this._messageLength=0;this._fragments=[];this._state=mn;this._loop=false}_write(Wt,Pt,en){if(this._opcode===8&&this._state==mn)return en();this._bufferedBytes+=Wt.length;this._buffers.push(Wt);this.startLoop(en)}consume(Wt){this._bufferedBytes-=Wt;if(Wt===this._buffers[0].length)return this._buffers.shift();if(Wt=en.length){Pt.set(this._buffers.shift(),tn)}else{Pt.set(new Uint8Array(en.buffer,en.byteOffset,Wt),tn);this._buffers[0]=en.slice(Wt)}Wt-=en.length}while(Wt>0);return Pt}startLoop(Wt){let Pt;this._loop=true;do{switch(this._state){case mn:Pt=this.getInfo();break;case bn:Pt=this.getPayloadLength16();break;case Gn:Pt=this.getPayloadLength64();break;case hn:this.getMask();break;case Zn:Pt=this.getData(Wt);break;default:this._loop=false;return}}while(this._loop);Wt(Pt)}getInfo(){if(this._bufferedBytes<2){this._loop=false;return}const Wt=this.consume(2);if((Wt[0]&48)!==0){this._loop=false;return error(RangeError,"RSV2 and RSV3 must be clear",true,1002)}const Pt=(Wt[0]&64)===64;if(Pt&&!this._extensions[nn.extensionName]){this._loop=false;return error(RangeError,"RSV1 must be clear",true,1002)}this._fin=(Wt[0]&128)===128;this._opcode=Wt[0]&15;this._payloadLength=Wt[1]&127;if(this._opcode===0){if(Pt){this._loop=false;return error(RangeError,"RSV1 must be clear",true,1002)}if(!this._fragmented){this._loop=false;return error(RangeError,"invalid opcode 0",true,1002)}this._opcode=this._fragmented}else if(this._opcode===1||this._opcode===2){if(this._fragmented){this._loop=false;return error(RangeError,`invalid opcode ${this._opcode}`,true,1002)}this._compressed=Pt}else if(this._opcode>7&&this._opcode<11){if(!this._fin){this._loop=false;return error(RangeError,"FIN must be set",true,1002)}if(Pt){this._loop=false;return error(RangeError,"RSV1 must be clear",true,1002)}if(this._payloadLength>125){this._loop=false;return error(RangeError,`invalid payload length ${this._payloadLength}`,true,1002)}}else{this._loop=false;return error(RangeError,`invalid opcode ${this._opcode}`,true,1002)}if(!this._fin&&!this._fragmented)this._fragmented=this._opcode;this._masked=(Wt[1]&128)===128;if(this._isServer){if(!this._masked){this._loop=false;return error(RangeError,"MASK must be set",true,1002)}}else if(this._masked){this._loop=false;return error(RangeError,"MASK must be clear",true,1002)}if(this._payloadLength===126)this._state=bn;else if(this._payloadLength===127)this._state=Gn;else return this.haveLength()}getPayloadLength16(){if(this._bufferedBytes<2){this._loop=false;return}this._payloadLength=this.consume(2).readUInt16BE(0);return this.haveLength()}getPayloadLength64(){if(this._bufferedBytes<8){this._loop=false;return}const Wt=this.consume(8);const Pt=Wt.readUInt32BE(0);if(Pt>Math.pow(2,53-32)-1){this._loop=false;return error(RangeError,"Unsupported WebSocket frame: payload length > 2^53 - 1",false,1009)}this._payloadLength=Pt*Math.pow(2,32)+Wt.readUInt32BE(4);return this.haveLength()}haveLength(){if(this._payloadLength&&this._opcode<8){this._totalPayloadLength+=this._payloadLength;if(this._totalPayloadLength>this._maxPayload&&this._maxPayload>0){this._loop=false;return error(RangeError,"Max payload size exceeded",false,1009)}}if(this._masked)this._state=hn;else this._state=Zn}getMask(){if(this._bufferedBytes<4){this._loop=false;return}this._mask=this.consume(4);this._state=Zn}getData(Wt){let Pt=In;if(this._payloadLength){if(this._bufferedBytes7)return this.controlMessage(Pt);if(this._compressed){this._state=An;this.decompress(Pt,Wt);return}if(Pt.length){this._messageLength=this._totalPayloadLength;this._fragments.push(Pt)}return this.dataMessage()}decompress(Wt,Pt){const en=this._extensions[nn.extensionName];en.decompress(Wt,this._fin,((Wt,en)=>{if(Wt)return Pt(Wt);if(en.length){this._messageLength+=en.length;if(this._messageLength>this._maxPayload&&this._maxPayload>0){return Pt(error(RangeError,"Max payload size exceeded",false,1009))}this._fragments.push(en)}const tn=this.dataMessage();if(tn)return Pt(tn);this.startLoop(Pt)}))}dataMessage(){if(this._fin){const Wt=this._messageLength;const Pt=this._fragments;this._totalPayloadLength=0;this._messageLength=0;this._fragmented=0;this._fragments=[];if(this._opcode===2){let en;if(this._binaryType==="nodebuffer"){en=on(Pt,Wt)}else if(this._binaryType==="arraybuffer"){en=cn(on(Pt,Wt))}else{en=Pt}this.emit("message",en)}else{const en=on(Pt,Wt);if(!pn(en)){this._loop=false;return error(Error,"invalid UTF-8 sequence",true,1007)}this.emit("message",en.toString())}}this._state=mn}controlMessage(Wt){if(this._opcode===8){this._loop=false;if(Wt.length===0){this.emit("conclude",1005,"");this.end()}else if(Wt.length===1){return error(RangeError,"invalid payload length 1",true,1002)}else{const Pt=Wt.readUInt16BE(0);if(!un(Pt)){return error(RangeError,`invalid status code ${Pt}`,true,1002)}const en=Wt.slice(2);if(!pn(en)){return error(Error,"invalid UTF-8 sequence",true,1007)}this.emit("conclude",Pt,en.toString());this.end()}}else if(this._opcode===9){this.emit("ping",Wt)}else{this.emit("pong",Wt)}this._state=mn}}Wt.exports=Receiver;function error(Wt,Pt,en,tn){const nn=new Wt(en?`Invalid WebSocket frame: ${Pt}`:Pt);Error.captureStackTrace(nn,error);nn[rn]=tn;return nn}},31780:(Wt,Pt,en)=>{const{randomFillSync:tn}=en(76982);const nn=en(88389);const{EMPTY_BUFFER:an}=en(83400);const{isValidStatusCode:In}=en(91802);const{mask:rn,toBuffer:sn}=en(17932);const on=Buffer.alloc(4);class Sender{constructor(Wt,Pt){this._extensions=Pt||{};this._socket=Wt;this._firstFragment=true;this._compress=false;this._bufferedBytes=0;this._deflating=false;this._queue=[]}static frame(Wt,Pt){const en=Pt.mask&&Pt.readOnly;let nn=Pt.mask?6:2;let an=Wt.length;if(Wt.length>=65536){nn+=8;an=127}else if(Wt.length>125){nn+=2;an=126}const In=Buffer.allocUnsafe(en?Wt.length+nn:nn);In[0]=Pt.fin?Pt.opcode|128:Pt.opcode;if(Pt.rsv1)In[0]|=64;In[1]=an;if(an===126){In.writeUInt16BE(Wt.length,2)}else if(an===127){In.writeUInt32BE(0,2);In.writeUInt32BE(Wt.length,6)}if(!Pt.mask)return[In,Wt];tn(on,0,4);In[1]|=128;In[nn-4]=on[0];In[nn-3]=on[1];In[nn-2]=on[2];In[nn-1]=on[3];if(en){rn(Wt,on,In,nn,Wt.length);return[In]}rn(Wt,on,Wt,0,Wt.length);return[In,Wt]}close(Wt,Pt,en,tn){let nn;if(Wt===undefined){nn=an}else if(typeof Wt!=="number"||!In(Wt)){throw new TypeError("First argument must be a valid error code number")}else if(Pt===undefined||Pt===""){nn=Buffer.allocUnsafe(2);nn.writeUInt16BE(Wt,0)}else{const en=Buffer.byteLength(Pt);if(en>123){throw new RangeError("The message must not be greater than 123 bytes")}nn=Buffer.allocUnsafe(2+en);nn.writeUInt16BE(Wt,0);nn.write(Pt,2)}if(this._deflating){this.enqueue([this.doClose,nn,en,tn])}else{this.doClose(nn,en,tn)}}doClose(Wt,Pt,en){this.sendFrame(Sender.frame(Wt,{fin:true,rsv1:false,opcode:8,mask:Pt,readOnly:false}),en)}ping(Wt,Pt,en){const tn=sn(Wt);if(tn.length>125){throw new RangeError("The data size must not be greater than 125 bytes")}if(this._deflating){this.enqueue([this.doPing,tn,Pt,sn.readOnly,en])}else{this.doPing(tn,Pt,sn.readOnly,en)}}doPing(Wt,Pt,en,tn){this.sendFrame(Sender.frame(Wt,{fin:true,rsv1:false,opcode:9,mask:Pt,readOnly:en}),tn)}pong(Wt,Pt,en){const tn=sn(Wt);if(tn.length>125){throw new RangeError("The data size must not be greater than 125 bytes")}if(this._deflating){this.enqueue([this.doPong,tn,Pt,sn.readOnly,en])}else{this.doPong(tn,Pt,sn.readOnly,en)}}doPong(Wt,Pt,en,tn){this.sendFrame(Sender.frame(Wt,{fin:true,rsv1:false,opcode:10,mask:Pt,readOnly:en}),tn)}send(Wt,Pt,en){const tn=sn(Wt);const an=this._extensions[nn.extensionName];let In=Pt.binary?2:1;let rn=Pt.compress;if(this._firstFragment){this._firstFragment=false;if(rn&&an){rn=tn.length>=an._threshold}this._compress=rn}else{rn=false;In=0}if(Pt.fin)this._firstFragment=true;if(an){const Wt={fin:Pt.fin,rsv1:rn,opcode:In,mask:Pt.mask,readOnly:sn.readOnly};if(this._deflating){this.enqueue([this.dispatch,tn,this._compress,Wt,en])}else{this.dispatch(tn,this._compress,Wt,en)}}else{this.sendFrame(Sender.frame(tn,{fin:Pt.fin,rsv1:false,opcode:In,mask:Pt.mask,readOnly:sn.readOnly}),en)}}dispatch(Wt,Pt,en,tn){if(!Pt){this.sendFrame(Sender.frame(Wt,en),tn);return}const an=this._extensions[nn.extensionName];this._bufferedBytes+=Wt.length;this._deflating=true;an.compress(Wt,en.fin,((Pt,nn)=>{if(this._socket.destroyed){const Wt=new Error("The socket was closed while data was being compressed");if(typeof tn==="function")tn(Wt);for(let Pt=0;Pt{const{Duplex:tn}=en(2203);function emitClose(Wt){Wt.emit("close")}function duplexOnEnd(){if(!this.destroyed&&this._writableState.finished){this.destroy()}}function duplexOnError(Wt){this.removeListener("error",duplexOnError);this.destroy();if(this.listenerCount("error")===0){this.emit("error",Wt)}}function createWebSocketStream(Wt,Pt){let en=true;function receiverOnDrain(){if(en)Wt._socket.resume()}if(Wt.readyState===Wt.CONNECTING){Wt.once("open",(function open(){Wt._receiver.removeAllListeners("drain");Wt._receiver.on("drain",receiverOnDrain)}))}else{Wt._receiver.removeAllListeners("drain");Wt._receiver.on("drain",receiverOnDrain)}const nn=new tn({...Pt,autoDestroy:false,emitClose:false,objectMode:false,writableObjectMode:false});Wt.on("message",(function message(Pt){if(!nn.push(Pt)){en=false;Wt._socket.pause()}}));Wt.once("error",(function error(Wt){if(nn.destroyed)return;nn.destroy(Wt)}));Wt.once("close",(function close(){if(nn.destroyed)return;nn.push(null)}));nn._destroy=function(Pt,en){if(Wt.readyState===Wt.CLOSED){en(Pt);process.nextTick(emitClose,nn);return}let tn=false;Wt.once("error",(function error(Wt){tn=true;en(Wt)}));Wt.once("close",(function close(){if(!tn)en(Pt);process.nextTick(emitClose,nn)}));Wt.terminate()};nn._final=function(Pt){if(Wt.readyState===Wt.CONNECTING){Wt.once("open",(function open(){nn._final(Pt)}));return}if(Wt._socket===null)return;if(Wt._socket._writableState.finished){Pt();if(nn._readableState.endEmitted)nn.destroy()}else{Wt._socket.once("finish",(function finish(){Pt()}));Wt.close()}};nn._read=function(){if(Wt.readyState===Wt.OPEN&&!en){en=true;if(!Wt._receiver._writableState.needDrain)Wt._socket.resume()}};nn._write=function(Pt,en,tn){if(Wt.readyState===Wt.CONNECTING){Wt.once("open",(function open(){nn._write(Pt,en,tn)}));return}Wt.send(Pt,tn)};nn.on("end",duplexOnEnd);nn.on("error",duplexOnError);return nn}Wt.exports=createWebSocketStream},91802:(Wt,Pt,en)=>{function isValidStatusCode(Wt){return Wt>=1e3&&Wt<=1014&&Wt!==1004&&Wt!==1005&&Wt!==1006||Wt>=3e3&&Wt<=4999}function _isValidUTF8(Wt){const Pt=Wt.length;let en=0;while(en=Pt||(Wt[en+1]&192)!==128||(Wt[en+2]&192)!==128||Wt[en]===224&&(Wt[en+1]&224)===128||Wt[en]===237&&(Wt[en+1]&224)===160){return false}en+=3}else if((Wt[en]&248)===240){if(en+3>=Pt||(Wt[en+1]&192)!==128||(Wt[en+2]&192)!==128||(Wt[en+3]&192)!==128||Wt[en]===240&&(Wt[en+1]&240)===128||Wt[en]===244&&Wt[en+1]>143||Wt[en]>244){return false}en+=4}else{return false}}return true}try{let Pt=en(62414);if(typeof Pt==="object"){Pt=Pt.Validation.isValidUTF8}Wt.exports={isValidStatusCode:isValidStatusCode,isValidUTF8(Wt){return Wt.length<150?_isValidUTF8(Wt):Pt(Wt)}}}catch(Pt){Wt.exports={isValidStatusCode:isValidStatusCode,isValidUTF8:_isValidUTF8}}},72672:(Wt,Pt,en)=>{const tn=en(24434);const{createHash:nn}=en(76982);const{createServer:an,STATUS_CODES:In}=en(58611);const rn=en(88389);const sn=en(9462);const{format:on,parse:cn}=en(34752);const{GUID:dn,kWebSocket:un}=en(83400);const pn=/^[+/0-9A-Za-z]{22}==$/;class WebSocketServer extends tn{constructor(Wt,Pt){super();Wt={maxPayload:100*1024*1024,perMessageDeflate:false,handleProtocols:null,clientTracking:true,verifyClient:null,noServer:false,backlog:null,server:null,host:null,path:null,port:null,...Wt};if(Wt.port==null&&!Wt.server&&!Wt.noServer){throw new TypeError('One of the "port", "server", or "noServer" options must be specified')}if(Wt.port!=null){this._server=an(((Wt,Pt)=>{const en=In[426];Pt.writeHead(426,{"Content-Length":en.length,"Content-Type":"text/plain"});Pt.end(en)}));this._server.listen(Wt.port,Wt.host,Wt.backlog,Pt)}else if(Wt.server){this._server=Wt.server}if(this._server){const Wt=this.emit.bind(this,"connection");this._removeListeners=addListeners(this._server,{listening:this.emit.bind(this,"listening"),error:this.emit.bind(this,"error"),upgrade:(Pt,en,tn)=>{this.handleUpgrade(Pt,en,tn,Wt)}})}if(Wt.perMessageDeflate===true)Wt.perMessageDeflate={};if(Wt.clientTracking)this.clients=new Set;this.options=Wt}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(Wt){if(Wt)this.once("close",Wt);if(this.clients){for(const Wt of this.clients)Wt.terminate()}const Pt=this._server;if(Pt){this._removeListeners();this._removeListeners=this._server=null;if(this.options.port!=null){Pt.close((()=>this.emit("close")));return}}process.nextTick(emitClose,this)}shouldHandle(Wt){if(this.options.path){const Pt=Wt.url.indexOf("?");const en=Pt!==-1?Wt.url.slice(0,Pt):Wt.url;if(en!==this.options.path)return false}return true}handleUpgrade(Wt,Pt,en,tn){Pt.on("error",socketOnError);const nn=Wt.headers["sec-websocket-key"]!==undefined?Wt.headers["sec-websocket-key"].trim():false;const an=+Wt.headers["sec-websocket-version"];const In={};if(Wt.method!=="GET"||Wt.headers.upgrade.toLowerCase()!=="websocket"||!nn||!pn.test(nn)||an!==8&&an!==13||!this.shouldHandle(Wt)){return abortHandshake(Pt,400)}if(this.options.perMessageDeflate){const en=new rn(this.options.perMessageDeflate,true,this.options.maxPayload);try{const Pt=cn(Wt.headers["sec-websocket-extensions"]);if(Pt[rn.extensionName]){en.accept(Pt[rn.extensionName]);In[rn.extensionName]=en}}catch(Wt){return abortHandshake(Pt,400)}}if(this.options.verifyClient){const rn={origin:Wt.headers[`${an===8?"sec-websocket-origin":"origin"}`],secure:!!(Wt.socket.authorized||Wt.socket.encrypted),req:Wt};if(this.options.verifyClient.length===2){this.options.verifyClient(rn,((an,rn,sn,on)=>{if(!an){return abortHandshake(Pt,rn||401,sn,on)}this.completeUpgrade(nn,In,Wt,Pt,en,tn)}));return}if(!this.options.verifyClient(rn))return abortHandshake(Pt,401)}this.completeUpgrade(nn,In,Wt,Pt,en,tn)}completeUpgrade(Wt,Pt,en,tn,an,In){if(!tn.readable||!tn.writable)return tn.destroy();if(tn[un]){throw new Error("server.handleUpgrade() was called more than once with the same "+"socket, possibly due to a misconfiguration")}const cn=nn("sha1").update(Wt+dn).digest("base64");const pn=["HTTP/1.1 101 Switching Protocols","Upgrade: websocket","Connection: Upgrade",`Sec-WebSocket-Accept: ${cn}`];const mn=new sn(null);let bn=en.headers["sec-websocket-protocol"];if(bn){bn=bn.split(",").map(trim);if(this.options.handleProtocols){bn=this.options.handleProtocols(bn,en)}else{bn=bn[0]}if(bn){pn.push(`Sec-WebSocket-Protocol: ${bn}`);mn._protocol=bn}}if(Pt[rn.extensionName]){const Wt=Pt[rn.extensionName].params;const en=on({[rn.extensionName]:[Wt]});pn.push(`Sec-WebSocket-Extensions: ${en}`);mn._extensions=Pt}this.emit("headers",pn,en);tn.write(pn.concat("\r\n").join("\r\n"));tn.removeListener("error",socketOnError);mn.setSocket(tn,an,this.options.maxPayload);if(this.clients){this.clients.add(mn);mn.on("close",(()=>this.clients.delete(mn)))}In(mn,en)}}Wt.exports=WebSocketServer;function addListeners(Wt,Pt){for(const en of Object.keys(Pt))Wt.on(en,Pt[en]);return function removeListeners(){for(const en of Object.keys(Pt)){Wt.removeListener(en,Pt[en])}}}function emitClose(Wt){Wt.emit("close")}function socketOnError(){this.destroy()}function abortHandshake(Wt,Pt,en,tn){if(Wt.writable){en=en||In[Pt];tn={Connection:"close","Content-Type":"text/html","Content-Length":Buffer.byteLength(en),...tn};Wt.write(`HTTP/1.1 ${Pt} ${In[Pt]}\r\n`+Object.keys(tn).map((Wt=>`${Wt}: ${tn[Wt]}`)).join("\r\n")+"\r\n\r\n"+en)}Wt.removeListener("error",socketOnError);Wt.destroy()}function trim(Wt){return Wt.trim()}},9462:(Wt,Pt,en)=>{const tn=en(24434);const nn=en(65692);const an=en(58611);const In=en(69278);const rn=en(64756);const{randomBytes:sn,createHash:on}=en(76982);const{URL:cn}=en(87016);const dn=en(88389);const un=en(18508);const pn=en(31780);const{BINARY_TYPES:mn,EMPTY_BUFFER:bn,GUID:Gn,kStatusCode:hn,kWebSocket:Zn,NOOP:An}=en(83400);const{addEventListener:Wn,removeEventListener:Nn}=en(92755);const{format:gn,parse:yn}=en(34752);const{toBuffer:vn}=en(17932);const Yn=["CONNECTING","OPEN","CLOSING","CLOSED"];const En=[8,13];const Vn=30*1e3;class WebSocket extends tn{constructor(Wt,Pt,en){super();this._binaryType=mn[0];this._closeCode=1006;this._closeFrameReceived=false;this._closeFrameSent=false;this._closeMessage="";this._closeTimer=null;this._extensions={};this._protocol="";this._readyState=WebSocket.CONNECTING;this._receiver=null;this._sender=null;this._socket=null;if(Wt!==null){this._bufferedAmount=0;this._isServer=false;this._redirects=0;if(Array.isArray(Pt)){Pt=Pt.join(", ")}else if(typeof Pt==="object"&&Pt!==null){en=Pt;Pt=undefined}initAsClient(this,Wt,Pt,en)}else{this._isServer=true}}get binaryType(){return this._binaryType}set binaryType(Wt){if(!mn.includes(Wt))return;this._binaryType=Wt;if(this._receiver)this._receiver._binaryType=Wt}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 protocol(){return this._protocol}get readyState(){return this._readyState}get url(){return this._url}setSocket(Wt,Pt,en){const tn=new un(this.binaryType,this._extensions,this._isServer,en);this._sender=new pn(Wt,this._extensions);this._receiver=tn;this._socket=Wt;tn[Zn]=this;Wt[Zn]=this;tn.on("conclude",receiverOnConclude);tn.on("drain",receiverOnDrain);tn.on("error",receiverOnError);tn.on("message",receiverOnMessage);tn.on("ping",receiverOnPing);tn.on("pong",receiverOnPong);Wt.setTimeout(0);Wt.setNoDelay();if(Pt.length>0)Wt.unshift(Pt);Wt.on("close",socketOnClose);Wt.on("data",socketOnData);Wt.on("end",socketOnEnd);Wt.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[dn.extensionName]){this._extensions[dn.extensionName].cleanup()}this._receiver.removeAllListeners();this._readyState=WebSocket.CLOSED;this.emit("close",this._closeCode,this._closeMessage)}close(Wt,Pt){if(this.readyState===WebSocket.CLOSED)return;if(this.readyState===WebSocket.CONNECTING){const Wt="WebSocket was closed before the connection was established";return abortHandshake(this,this._req,Wt)}if(this.readyState===WebSocket.CLOSING){if(this._closeFrameSent&&this._closeFrameReceived)this._socket.end();return}this._readyState=WebSocket.CLOSING;this._sender.close(Wt,Pt,!this._isServer,(Wt=>{if(Wt)return;this._closeFrameSent=true;if(this._closeFrameReceived)this._socket.end()}));this._closeTimer=setTimeout(this._socket.destroy.bind(this._socket),Vn)}ping(Wt,Pt,en){if(this.readyState===WebSocket.CONNECTING){throw new Error("WebSocket is not open: readyState 0 (CONNECTING)")}if(typeof Wt==="function"){en=Wt;Wt=Pt=undefined}else if(typeof Pt==="function"){en=Pt;Pt=undefined}if(typeof Wt==="number")Wt=Wt.toString();if(this.readyState!==WebSocket.OPEN){sendAfterClose(this,Wt,en);return}if(Pt===undefined)Pt=!this._isServer;this._sender.ping(Wt||bn,Pt,en)}pong(Wt,Pt,en){if(this.readyState===WebSocket.CONNECTING){throw new Error("WebSocket is not open: readyState 0 (CONNECTING)")}if(typeof Wt==="function"){en=Wt;Wt=Pt=undefined}else if(typeof Pt==="function"){en=Pt;Pt=undefined}if(typeof Wt==="number")Wt=Wt.toString();if(this.readyState!==WebSocket.OPEN){sendAfterClose(this,Wt,en);return}if(Pt===undefined)Pt=!this._isServer;this._sender.pong(Wt||bn,Pt,en)}send(Wt,Pt,en){if(this.readyState===WebSocket.CONNECTING){throw new Error("WebSocket is not open: readyState 0 (CONNECTING)")}if(typeof Pt==="function"){en=Pt;Pt={}}if(typeof Wt==="number")Wt=Wt.toString();if(this.readyState!==WebSocket.OPEN){sendAfterClose(this,Wt,en);return}const tn={binary:typeof Wt!=="string",mask:!this._isServer,compress:true,fin:true,...Pt};if(!this._extensions[dn.extensionName]){tn.compress=false}this._sender.send(Wt||bn,tn,en)}terminate(){if(this.readyState===WebSocket.CLOSED)return;if(this.readyState===WebSocket.CONNECTING){const Wt="WebSocket was closed before the connection was established";return abortHandshake(this,this._req,Wt)}if(this._socket){this._readyState=WebSocket.CLOSING;this._socket.destroy()}}}Yn.forEach(((Wt,Pt)=>{const en={enumerable:true,value:Pt};Object.defineProperty(WebSocket.prototype,Wt,en);Object.defineProperty(WebSocket,Wt,en)}));["binaryType","bufferedAmount","extensions","protocol","readyState","url"].forEach((Wt=>{Object.defineProperty(WebSocket.prototype,Wt,{enumerable:true})}));["open","error","close","message"].forEach((Wt=>{Object.defineProperty(WebSocket.prototype,`on${Wt}`,{configurable:true,enumerable:true,get(){const Pt=this.listeners(Wt);for(let Wt=0;Wt{abortHandshake(Wt,An,"Opening handshake has timed out")}))}An.on("error",(Pt=>{if(An===null||An.aborted)return;An=Wt._req=null;Wt._readyState=WebSocket.CLOSING;Wt.emit("error",Pt);Wt.emitClose()}));An.on("response",(nn=>{const an=nn.headers.location;const rn=nn.statusCode;if(an&&In.followRedirects&&rn>=300&&rn<400){if(++Wt._redirects>In.maxRedirects){abortHandshake(Wt,An,"Maximum redirects exceeded");return}An.abort();const nn=new cn(an,Pt);initAsClient(Wt,nn,en,tn)}else if(!Wt.emit("unexpected-response",An,nn)){abortHandshake(Wt,An,`Unexpected server response: ${nn.statusCode}`)}}));An.on("upgrade",((Pt,tn,nn)=>{Wt.emit("upgrade",Pt);if(Wt.readyState!==WebSocket.CONNECTING)return;An=Wt._req=null;const an=on("sha1").update(bn+Gn).digest("base64");if(Pt.headers["sec-websocket-accept"]!==an){abortHandshake(Wt,tn,"Invalid Sec-WebSocket-Accept header");return}const rn=Pt.headers["sec-websocket-protocol"];const sn=(en||"").split(/, */);let cn;if(!en&&rn){cn="Server sent a subprotocol but none was requested"}else if(en&&!rn){cn="Server sent no subprotocol"}else if(rn&&!sn.includes(rn)){cn="Server sent an invalid subprotocol"}if(cn){abortHandshake(Wt,tn,cn);return}if(rn)Wt._protocol=rn;if(Zn){try{const en=yn(Pt.headers["sec-websocket-extensions"]);if(en[dn.extensionName]){Zn.accept(en[dn.extensionName]);Wt._extensions[dn.extensionName]=Zn}}catch(Pt){abortHandshake(Wt,tn,"Invalid Sec-WebSocket-Extensions header");return}}Wt.setSocket(tn,nn,In.maxPayload)}))}function netConnect(Wt){Wt.path=Wt.socketPath;return In.connect(Wt)}function tlsConnect(Wt){Wt.path=undefined;if(!Wt.servername&&Wt.servername!==""){Wt.servername=In.isIP(Wt.host)?"":Wt.host}return rn.connect(Wt)}function abortHandshake(Wt,Pt,en){Wt._readyState=WebSocket.CLOSING;const tn=new Error(en);Error.captureStackTrace(tn,abortHandshake);if(Pt.setHeader){Pt.abort();if(Pt.socket&&!Pt.socket.destroyed){Pt.socket.destroy()}Pt.once("abort",Wt.emitClose.bind(Wt));Wt.emit("error",tn)}else{Pt.destroy(tn);Pt.once("error",Wt.emit.bind(Wt,"error"));Pt.once("close",Wt.emitClose.bind(Wt))}}function sendAfterClose(Wt,Pt,en){if(Pt){const en=vn(Pt).length;if(Wt._socket)Wt._sender._bufferedBytes+=en;else Wt._bufferedAmount+=en}if(en){const Pt=new Error(`WebSocket is not open: readyState ${Wt.readyState} `+`(${Yn[Wt.readyState]})`);en(Pt)}}function receiverOnConclude(Wt,Pt){const en=this[Zn];en._socket.removeListener("data",socketOnData);en._socket.resume();en._closeFrameReceived=true;en._closeMessage=Pt;en._closeCode=Wt;if(Wt===1005)en.close();else en.close(Wt,Pt)}function receiverOnDrain(){this[Zn]._socket.resume()}function receiverOnError(Wt){const Pt=this[Zn];Pt._socket.removeListener("data",socketOnData);Pt._readyState=WebSocket.CLOSING;Pt._closeCode=Wt[hn];Pt.emit("error",Wt);Pt._socket.destroy()}function receiverOnFinish(){this[Zn].emitClose()}function receiverOnMessage(Wt){this[Zn].emit("message",Wt)}function receiverOnPing(Wt){const Pt=this[Zn];Pt.pong(Wt,!Pt._isServer,An);Pt.emit("ping",Wt)}function receiverOnPong(Wt){this[Zn].emit("pong",Wt)}function socketOnClose(){const Wt=this[Zn];this.removeListener("close",socketOnClose);this.removeListener("end",socketOnEnd);Wt._readyState=WebSocket.CLOSING;Wt._socket.read();Wt._receiver.end();this.removeListener("data",socketOnData);this[Zn]=undefined;clearTimeout(Wt._closeTimer);if(Wt._receiver._writableState.finished||Wt._receiver._writableState.errorEmitted){Wt.emitClose()}else{Wt._receiver.on("error",receiverOnFinish);Wt._receiver.on("finish",receiverOnFinish)}}function socketOnData(Wt){if(!this[Zn]._receiver.write(Wt)){this.pause()}}function socketOnEnd(){const Wt=this[Zn];Wt._readyState=WebSocket.CLOSING;Wt._receiver.end();this.end()}function socketOnError(){const Wt=this[Zn];this.removeListener("error",socketOnError);this.on("error",An);if(Wt){Wt._readyState=WebSocket.CLOSING;this.destroy()}}},53728:(Wt,Pt,en)=>{Object.defineProperty(Pt,"__esModule",{value:true});Pt.shuffled=Pt.randomBytes=void 0;var tn=en(90005);Object.defineProperty(Pt,"randomBytes",{enumerable:true,get:function(){return tn.randomBytes}});var nn=en(61081);Object.defineProperty(Pt,"shuffled",{enumerable:true,get:function(){return nn.shuffled}})},90005:(Wt,Pt,en)=>{Object.defineProperty(Pt,"__esModule",{value:true});Pt.randomBytes=void 0;var tn=en(76982);var nn=en(42006);function randomBytes(Wt){return(0,nn.arrayify)((0,tn.randomBytes)(Wt))}Pt.randomBytes=randomBytes},61081:(Wt,Pt)=>{Object.defineProperty(Pt,"__esModule",{value:true});Pt.shuffled=void 0;function shuffled(Wt){Wt=Wt.slice();for(var Pt=Wt.length-1;Pt>0;Pt--){var en=Math.floor(Math.random()*(Pt+1));var tn=Wt[Pt];Wt[Pt]=Wt[en];Wt[en]=tn}return Wt}Pt.shuffled=shuffled},23852:(Wt,Pt)=>{Object.defineProperty(Pt,"__esModule",{value:true});Pt.version=void 0;Pt.version="rlp/5.7.0"},37659:(Wt,Pt,en)=>{Object.defineProperty(Pt,"__esModule",{value:true});Pt.decode=Pt.encode=void 0;var tn=en(42006);var nn=en(76127);var an=en(23852);var In=new nn.Logger(an.version);function arrayifyInteger(Wt){var Pt=[];while(Wt){Pt.unshift(Wt&255);Wt>>=8}return Pt}function unarrayifyInteger(Wt,Pt,en){var tn=0;for(var nn=0;nnPt+1+tn){In.throwError("child data too short",nn.Logger.errors.BUFFER_OVERRUN,{})}}return{consumed:1+tn,result:an}}function _decode(Wt,Pt){if(Wt.length===0){In.throwError("data too short",nn.Logger.errors.BUFFER_OVERRUN,{})}if(Wt[Pt]>=248){var en=Wt[Pt]-247;if(Pt+1+en>Wt.length){In.throwError("data short segment too short",nn.Logger.errors.BUFFER_OVERRUN,{})}var an=unarrayifyInteger(Wt,Pt+1,en);if(Pt+1+en+an>Wt.length){In.throwError("data long segment too short",nn.Logger.errors.BUFFER_OVERRUN,{})}return _decodeChildren(Wt,Pt,Pt+1+en,en+an)}else if(Wt[Pt]>=192){var rn=Wt[Pt]-192;if(Pt+1+rn>Wt.length){In.throwError("data array too short",nn.Logger.errors.BUFFER_OVERRUN,{})}return _decodeChildren(Wt,Pt,Pt+1,rn)}else if(Wt[Pt]>=184){var en=Wt[Pt]-183;if(Pt+1+en>Wt.length){In.throwError("data array too short",nn.Logger.errors.BUFFER_OVERRUN,{})}var sn=unarrayifyInteger(Wt,Pt+1,en);if(Pt+1+en+sn>Wt.length){In.throwError("data array too short",nn.Logger.errors.BUFFER_OVERRUN,{})}var on=(0,tn.hexlify)(Wt.slice(Pt+1+en,Pt+1+en+sn));return{consumed:1+en+sn,result:on}}else if(Wt[Pt]>=128){var cn=Wt[Pt]-128;if(Pt+1+cn>Wt.length){In.throwError("data too short",nn.Logger.errors.BUFFER_OVERRUN,{})}var on=(0,tn.hexlify)(Wt.slice(Pt+1,Pt+1+cn));return{consumed:1+cn,result:on}}return{consumed:1,result:(0,tn.hexlify)(Wt[Pt])}}function decode(Wt){var Pt=(0,tn.arrayify)(Wt);var en=_decode(Pt,0);if(en.consumed!==Pt.length){In.throwArgumentError("invalid rlp data","data",Wt)}return en.result}Pt.decode=decode},91888:(Wt,Pt)=>{Object.defineProperty(Pt,"__esModule",{value:true});Pt.version=void 0;Pt.version="sha2/5.7.0"},66935:(Wt,Pt,en)=>{Object.defineProperty(Pt,"__esModule",{value:true});Pt.SupportedAlgorithm=Pt.sha512=Pt.sha256=Pt.ripemd160=Pt.computeHmac=void 0;var tn=en(77943);Object.defineProperty(Pt,"computeHmac",{enumerable:true,get:function(){return tn.computeHmac}});Object.defineProperty(Pt,"ripemd160",{enumerable:true,get:function(){return tn.ripemd160}});Object.defineProperty(Pt,"sha256",{enumerable:true,get:function(){return tn.sha256}});Object.defineProperty(Pt,"sha512",{enumerable:true,get:function(){return tn.sha512}});var nn=en(27310);Object.defineProperty(Pt,"SupportedAlgorithm",{enumerable:true,get:function(){return nn.SupportedAlgorithm}})},77943:function(Wt,Pt,en){var tn=this&&this.__importDefault||function(Wt){return Wt&&Wt.__esModule?Wt:{default:Wt}};Object.defineProperty(Pt,"__esModule",{value:true});Pt.computeHmac=Pt.sha512=Pt.sha256=Pt.ripemd160=void 0;var nn=en(76982);var an=tn(en(27477));var In=en(42006);var rn=en(27310);var sn=en(76127);var on=en(91888);var cn=new sn.Logger(on.version);function ripemd160(Wt){return"0x"+an.default.ripemd160().update((0,In.arrayify)(Wt)).digest("hex")}Pt.ripemd160=ripemd160;function sha256(Wt){return"0x"+(0,nn.createHash)("sha256").update(Buffer.from((0,In.arrayify)(Wt))).digest("hex")}Pt.sha256=sha256;function sha512(Wt){return"0x"+(0,nn.createHash)("sha512").update(Buffer.from((0,In.arrayify)(Wt))).digest("hex")}Pt.sha512=sha512;function computeHmac(Wt,Pt,en){if(!rn.SupportedAlgorithm[Wt]){cn.throwError("unsupported algorithm - "+Wt,sn.Logger.errors.UNSUPPORTED_OPERATION,{operation:"computeHmac",algorithm:Wt})}return"0x"+(0,nn.createHmac)(Wt,Buffer.from((0,In.arrayify)(Pt))).update(Buffer.from((0,In.arrayify)(en))).digest("hex")}Pt.computeHmac=computeHmac},27310:(Wt,Pt)=>{Object.defineProperty(Pt,"__esModule",{value:true});Pt.SupportedAlgorithm=void 0;var en;(function(Wt){Wt["sha256"]="sha256";Wt["sha512"]="sha512"})(en=Pt.SupportedAlgorithm||(Pt.SupportedAlgorithm={}))},53045:(Wt,Pt)=>{Object.defineProperty(Pt,"__esModule",{value:true});Pt.version=void 0;Pt.version="signing-key/5.7.0"},71848:function(Wt,Pt,en){var tn=this&&this.__importDefault||function(Wt){return Wt&&Wt.__esModule?Wt:{default:Wt}};Object.defineProperty(Pt,"__esModule",{value:true});Pt.EC=void 0;var nn=tn(en(57034));var an=nn.default.ec;Pt.EC=an},63928:(Wt,Pt,en)=>{Object.defineProperty(Pt,"__esModule",{value:true});Pt.computePublicKey=Pt.recoverPublicKey=Pt.SigningKey=void 0;var tn=en(71848);var nn=en(42006);var an=en(61338);var In=en(76127);var rn=en(53045);var sn=new In.Logger(rn.version);var on=null;function getCurve(){if(!on){on=new tn.EC("secp256k1")}return on}var cn=function(){function SigningKey(Wt){(0,an.defineReadOnly)(this,"curve","secp256k1");(0,an.defineReadOnly)(this,"privateKey",(0,nn.hexlify)(Wt));if((0,nn.hexDataLength)(this.privateKey)!==32){sn.throwArgumentError("invalid private key","privateKey","[[ REDACTED ]]")}var Pt=getCurve().keyFromPrivate((0,nn.arrayify)(this.privateKey));(0,an.defineReadOnly)(this,"publicKey","0x"+Pt.getPublic(false,"hex"));(0,an.defineReadOnly)(this,"compressedPublicKey","0x"+Pt.getPublic(true,"hex"));(0,an.defineReadOnly)(this,"_isSigningKey",true)}SigningKey.prototype._addPoint=function(Wt){var Pt=getCurve().keyFromPublic((0,nn.arrayify)(this.publicKey));var en=getCurve().keyFromPublic((0,nn.arrayify)(Wt));return"0x"+Pt.pub.add(en.pub).encodeCompressed("hex")};SigningKey.prototype.signDigest=function(Wt){var Pt=getCurve().keyFromPrivate((0,nn.arrayify)(this.privateKey));var en=(0,nn.arrayify)(Wt);if(en.length!==32){sn.throwArgumentError("bad digest length","digest",Wt)}var tn=Pt.sign(en,{canonical:true});return(0,nn.splitSignature)({recoveryParam:tn.recoveryParam,r:(0,nn.hexZeroPad)("0x"+tn.r.toString(16),32),s:(0,nn.hexZeroPad)("0x"+tn.s.toString(16),32)})};SigningKey.prototype.computeSharedSecret=function(Wt){var Pt=getCurve().keyFromPrivate((0,nn.arrayify)(this.privateKey));var en=getCurve().keyFromPublic((0,nn.arrayify)(computePublicKey(Wt)));return(0,nn.hexZeroPad)("0x"+Pt.derive(en.getPublic()).toString(16),32)};SigningKey.isSigningKey=function(Wt){return!!(Wt&&Wt._isSigningKey)};return SigningKey}();Pt.SigningKey=cn;function recoverPublicKey(Wt,Pt){var en=(0,nn.splitSignature)(Pt);var tn={r:(0,nn.arrayify)(en.r),s:(0,nn.arrayify)(en.s)};return"0x"+getCurve().recoverPubKey((0,nn.arrayify)(Wt),tn,en.recoveryParam).encode("hex",false)}Pt.recoverPublicKey=recoverPublicKey;function computePublicKey(Wt,Pt){var en=(0,nn.arrayify)(Wt);if(en.length===32){var tn=new cn(en);if(Pt){return"0x"+getCurve().keyFromPrivate(en).getPublic(true,"hex")}return tn.publicKey}else if(en.length===33){if(Pt){return(0,nn.hexlify)(en)}return"0x"+getCurve().keyFromPublic(en).getPublic(false,"hex")}else if(en.length===65){if(!Pt){return(0,nn.hexlify)(en)}return"0x"+getCurve().keyFromPublic(en).getPublic(true,"hex")}return sn.throwArgumentError("invalid public or private key","key","[REDACTED]")}Pt.computePublicKey=computePublicKey},31515:(Wt,Pt)=>{Object.defineProperty(Pt,"__esModule",{value:true});Pt.version=void 0;Pt.version="solidity/5.7.0"},18550:(Wt,Pt,en)=>{Object.defineProperty(Pt,"__esModule",{value:true});Pt.sha256=Pt.keccak256=Pt.pack=void 0;var tn=en(18202);var nn=en(42006);var an=en(56938);var In=en(66935);var rn=en(13859);var sn=new RegExp("^bytes([0-9]+)$");var on=new RegExp("^(u?int)([0-9]*)$");var cn=new RegExp("^(.*)\\[([0-9]*)\\]$");var dn="0000000000000000000000000000000000000000000000000000000000000000";var un=en(76127);var pn=en(31515);var mn=new un.Logger(pn.version);function _pack(Wt,Pt,en){switch(Wt){case"address":if(en){return(0,nn.zeroPad)(Pt,32)}return(0,nn.arrayify)(Pt);case"string":return(0,rn.toUtf8Bytes)(Pt);case"bytes":return(0,nn.arrayify)(Pt);case"bool":Pt=Pt?"0x01":"0x00";if(en){return(0,nn.zeroPad)(Pt,32)}return(0,nn.arrayify)(Pt)}var an=Wt.match(on);if(an){var In=parseInt(an[2]||"256");if(an[2]&&String(In)!==an[2]||In%8!==0||In===0||In>256){mn.throwArgumentError("invalid number type","type",Wt)}if(en){In=256}Pt=tn.BigNumber.from(Pt).toTwos(In);return(0,nn.zeroPad)(Pt,In/8)}an=Wt.match(sn);if(an){var In=parseInt(an[1]);if(String(In)!==an[1]||In===0||In>32){mn.throwArgumentError("invalid bytes type","type",Wt)}if((0,nn.arrayify)(Pt).byteLength!==In){mn.throwArgumentError("invalid value for "+Wt,"value",Pt)}if(en){return(0,nn.arrayify)((Pt+dn).substring(0,66))}return Pt}an=Wt.match(cn);if(an&&Array.isArray(Pt)){var un=an[1];var pn=parseInt(an[2]||String(Pt.length));if(pn!=Pt.length){mn.throwArgumentError("invalid array length for "+Wt,"value",Pt)}var bn=[];Pt.forEach((function(Wt){bn.push(_pack(un,Wt,true))}));return(0,nn.concat)(bn)}return mn.throwArgumentError("invalid type","type",Wt)}function pack(Wt,Pt){if(Wt.length!=Pt.length){mn.throwArgumentError("wrong number of values; expected ${ types.length }","values",Pt)}var en=[];Wt.forEach((function(Wt,tn){en.push(_pack(Wt,Pt[tn]))}));return(0,nn.hexlify)((0,nn.concat)(en))}Pt.pack=pack;function keccak256(Wt,Pt){return(0,an.keccak256)(pack(Wt,Pt))}Pt.keccak256=keccak256;function sha256(Wt,Pt){return(0,In.sha256)(pack(Wt,Pt))}Pt.sha256=sha256},75988:(Wt,Pt)=>{Object.defineProperty(Pt,"__esModule",{value:true});Pt.version=void 0;Pt.version="strings/5.7.0"},94145:(Wt,Pt,en)=>{Object.defineProperty(Pt,"__esModule",{value:true});Pt.parseBytes32String=Pt.formatBytes32String=void 0;var tn=en(99848);var nn=en(42006);var an=en(91996);function formatBytes32String(Wt){var Pt=(0,an.toUtf8Bytes)(Wt);if(Pt.length>31){throw new Error("bytes32 string must be less than 32 bytes")}return(0,nn.hexlify)((0,nn.concat)([Pt,tn.HashZero]).slice(0,32))}Pt.formatBytes32String=formatBytes32String;function parseBytes32String(Wt){var Pt=(0,nn.arrayify)(Wt);if(Pt.length!==32){throw new Error("invalid bytes32 - not 32 bytes long")}if(Pt[31]!==0){throw new Error("invalid bytes32 string - no null terminator")}var en=31;while(Pt[en-1]===0){en--}return(0,an.toUtf8String)(Pt.slice(0,en))}Pt.parseBytes32String=parseBytes32String},1063:(Wt,Pt,en)=>{Object.defineProperty(Pt,"__esModule",{value:true});Pt.nameprep=Pt._nameprepTableC=Pt._nameprepTableB2=Pt._nameprepTableA1=void 0;var tn=en(91996);function bytes2(Wt){if(Wt.length%4!==0){throw new Error("bad data")}var Pt=[];for(var en=0;en=en&&Wt<=en+nn.h&&(Wt-en)%(nn.d||1)===0){if(nn.e&&nn.e.indexOf(Wt-en)!==-1){continue}return nn}}return null}var nn=createRangeTable("221,13-1b,5f-,40-10,51-f,11-3,3-3,2-2,2-4,8,2,15,2d,28-8,88,48,27-,3-5,11-20,27-,8,28,3-5,12,18,b-a,1c-4,6-16,2-d,2-2,2,1b-4,17-9,8f-,10,f,1f-2,1c-34,33-14e,4,36-,13-,6-2,1a-f,4,9-,3-,17,8,2-2,5-,2,8-,3-,4-8,2-3,3,6-,16-6,2-,7-3,3-,17,8,3,3,3-,2,6-3,3-,4-a,5,2-6,10-b,4,8,2,4,17,8,3,6-,b,4,4-,2-e,2-4,b-10,4,9-,3-,17,8,3-,5-,9-2,3-,4-7,3-3,3,4-3,c-10,3,7-2,4,5-2,3,2,3-2,3-2,4-2,9,4-3,6-2,4,5-8,2-e,d-d,4,9,4,18,b,6-3,8,4,5-6,3-8,3-3,b-11,3,9,4,18,b,6-3,8,4,5-6,3-6,2,3-3,b-11,3,9,4,18,11-3,7-,4,5-8,2-7,3-3,b-11,3,13-2,19,a,2-,8-2,2-3,7,2,9-11,4-b,3b-3,1e-24,3,2-,3,2-,2-5,5,8,4,2,2-,3,e,4-,6,2,7-,b-,3-21,49,23-5,1c-3,9,25,10-,2-2f,23,6,3,8-2,5-5,1b-45,27-9,2a-,2-3,5b-4,45-4,53-5,8,40,2,5-,8,2,5-,28,2,5-,20,2,5-,8,2,5-,8,8,18,20,2,5-,8,28,14-5,1d-22,56-b,277-8,1e-2,52-e,e,8-a,18-8,15-b,e,4,3-b,5e-2,b-15,10,b-5,59-7,2b-555,9d-3,5b-5,17-,7-,27-,7-,9,2,2,2,20-,36,10,f-,7,14-,4,a,54-3,2-6,6-5,9-,1c-10,13-1d,1c-14,3c-,10-6,32-b,240-30,28-18,c-14,a0,115-,3,66-,b-76,5,5-,1d,24,2,5-2,2,8-,35-2,19,f-10,1d-3,311-37f,1b,5a-b,d7-19,d-3,41,57-,68-4,29-3,5f,29-37,2e-2,25-c,2c-2,4e-3,30,78-3,64-,20,19b7-49,51a7-59,48e-2,38-738,2ba5-5b,222f-,3c-94,8-b,6-4,1b,6,2,3,3,6d-20,16e-f,41-,37-7,2e-2,11-f,5-b,18-,b,14,5-3,6,88-,2,bf-2,7-,7-,7-,4-2,8,8-9,8-2ff,20,5-b,1c-b4,27-,27-cbb1,f7-9,28-2,b5-221,56,48,3-,2-,3-,5,d,2,5,3,42,5-,9,8,1d,5,6,2-2,8,153-3,123-3,33-27fd,a6da-5128,21f-5df,3-fffd,3-fffd,3-fffd,3-fffd,3-fffd,3-fffd,3-fffd,3-fffd,3-fffd,3-fffd,3-fffd,3,2-1d,61-ff7d");var an="ad,34f,1806,180b,180c,180d,200b,200c,200d,2060,feff".split(",").map((function(Wt){return parseInt(Wt,16)}));var In=[{h:25,s:32,l:65},{h:30,s:32,e:[23],l:127},{h:54,s:1,e:[48],l:64,d:2},{h:14,s:1,l:57,d:2},{h:44,s:1,l:17,d:2},{h:10,s:1,e:[2,6,8],l:61,d:2},{h:16,s:1,l:68,d:2},{h:84,s:1,e:[18,24,66],l:19,d:2},{h:26,s:32,e:[17],l:435},{h:22,s:1,l:71,d:2},{h:15,s:80,l:40},{h:31,s:32,l:16},{h:32,s:1,l:80,d:2},{h:52,s:1,l:42,d:2},{h:12,s:1,l:55,d:2},{h:40,s:1,e:[38],l:15,d:2},{h:14,s:1,l:48,d:2},{h:37,s:48,l:49},{h:148,s:1,l:6351,d:2},{h:88,s:1,l:160,d:2},{h:15,s:16,l:704},{h:25,s:26,l:854},{h:25,s:32,l:55915},{h:37,s:40,l:1247},{h:25,s:-119711,l:53248},{h:25,s:-119763,l:52},{h:25,s:-119815,l:52},{h:25,s:-119867,e:[1,4,5,7,8,11,12,17],l:52},{h:25,s:-119919,l:52},{h:24,s:-119971,e:[2,7,8,17],l:52},{h:24,s:-120023,e:[2,7,13,15,16,17],l:52},{h:25,s:-120075,l:52},{h:25,s:-120127,l:52},{h:25,s:-120179,l:52},{h:25,s:-120231,l:52},{h:25,s:-120283,l:52},{h:25,s:-120335,l:52},{h:24,s:-119543,e:[17],l:56},{h:24,s:-119601,e:[17],l:58},{h:24,s:-119659,e:[17],l:58},{h:24,s:-119717,e:[17],l:58},{h:24,s:-119775,e:[17],l:58}];var rn=createTable("b5:3bc,c3:ff,7:73,2:253,5:254,3:256,1:257,5:259,1:25b,3:260,1:263,2:269,1:268,5:26f,1:272,2:275,7:280,3:283,5:288,3:28a,1:28b,5:292,3f:195,1:1bf,29:19e,125:3b9,8b:3b2,1:3b8,1:3c5,3:3c6,1:3c0,1a:3ba,1:3c1,1:3c3,2:3b8,1:3b5,1bc9:3b9,1c:1f76,1:1f77,f:1f7a,1:1f7b,d:1f78,1:1f79,1:1f7c,1:1f7d,107:63,5:25b,4:68,1:68,1:68,3:69,1:69,1:6c,3:6e,4:70,1:71,1:72,1:72,1:72,7:7a,2:3c9,2:7a,2:6b,1:e5,1:62,1:63,3:65,1:66,2:6d,b:3b3,1:3c0,6:64,1b574:3b8,1a:3c3,20:3b8,1a:3c3,20:3b8,1a:3c3,20:3b8,1a:3c3,20:3b8,1a:3c3");var sn=createTable("179:1,2:1,2:1,5:1,2:1,a:4f,a:1,8:1,2:1,2:1,3:1,5:1,3:1,4:1,2:1,3:1,4:1,8:2,1:1,2:2,1:1,2:2,27:2,195:26,2:25,1:25,1:25,2:40,2:3f,1:3f,33:1,11:-6,1:-9,1ac7:-3a,6d:-8,1:-8,1:-8,1:-8,1:-8,1:-8,1:-8,1:-8,9:-8,1:-8,1:-8,1:-8,1:-8,1:-8,b:-8,1:-8,1:-8,1:-8,1:-8,1:-8,1:-8,1:-8,9:-8,1:-8,1:-8,1:-8,1:-8,1:-8,1:-8,1:-8,9:-8,1:-8,1:-8,1:-8,1:-8,1:-8,c:-8,2:-8,2:-8,2:-8,9:-8,1:-8,1:-8,1:-8,1:-8,1:-8,1:-8,1:-8,49:-8,1:-8,1:-4a,1:-4a,d:-56,1:-56,1:-56,1:-56,d:-8,1:-8,f:-8,1:-8,3:-7");var on=createTable("df:00730073,51:00690307,19:02BC006E,a7:006A030C,18a:002003B9,16:03B903080301,20:03C503080301,1d7:05650582,190f:00680331,1:00740308,1:0077030A,1:0079030A,1:006102BE,b6:03C50313,2:03C503130300,2:03C503130301,2:03C503130342,2a:1F0003B9,1:1F0103B9,1:1F0203B9,1:1F0303B9,1:1F0403B9,1:1F0503B9,1:1F0603B9,1:1F0703B9,1:1F0003B9,1:1F0103B9,1:1F0203B9,1:1F0303B9,1:1F0403B9,1:1F0503B9,1:1F0603B9,1:1F0703B9,1:1F2003B9,1:1F2103B9,1:1F2203B9,1:1F2303B9,1:1F2403B9,1:1F2503B9,1:1F2603B9,1:1F2703B9,1:1F2003B9,1:1F2103B9,1:1F2203B9,1:1F2303B9,1:1F2403B9,1:1F2503B9,1:1F2603B9,1:1F2703B9,1:1F6003B9,1:1F6103B9,1:1F6203B9,1:1F6303B9,1:1F6403B9,1:1F6503B9,1:1F6603B9,1:1F6703B9,1:1F6003B9,1:1F6103B9,1:1F6203B9,1:1F6303B9,1:1F6403B9,1:1F6503B9,1:1F6603B9,1:1F6703B9,3:1F7003B9,1:03B103B9,1:03AC03B9,2:03B10342,1:03B1034203B9,5:03B103B9,6:1F7403B9,1:03B703B9,1:03AE03B9,2:03B70342,1:03B7034203B9,5:03B703B9,6:03B903080300,1:03B903080301,3:03B90342,1:03B903080342,b:03C503080300,1:03C503080301,1:03C10313,2:03C50342,1:03C503080342,b:1F7C03B9,1:03C903B9,1:03CE03B9,2:03C90342,1:03C9034203B9,5:03C903B9,ac:00720073,5b:00B00063,6:00B00066,d:006E006F,a:0073006D,1:00740065006C,1:0074006D,124f:006800700061,2:00610075,2:006F0076,b:00700061,1:006E0061,1:03BC0061,1:006D0061,1:006B0061,1:006B0062,1:006D0062,1:00670062,3:00700066,1:006E0066,1:03BC0066,4:0068007A,1:006B0068007A,1:006D0068007A,1:00670068007A,1:00740068007A,15:00700061,1:006B00700061,1:006D00700061,1:006700700061,8:00700076,1:006E0076,1:03BC0076,1:006D0076,1:006B0076,1:006D0076,1:00700077,1:006E0077,1:03BC0077,1:006D0077,1:006B0077,1:006D0077,1:006B03C9,1:006D03C9,2:00620071,3:00632215006B0067,1:0063006F002E,1:00640062,1:00670079,2:00680070,2:006B006B,1:006B006D,9:00700068,2:00700070006D,1:00700072,2:00730076,1:00770062,c723:00660066,1:00660069,1:0066006C,1:006600660069,1:00660066006C,1:00730074,1:00730074,d:05740576,1:05740565,1:0574056B,1:057E0576,1:0574056D",bytes2);var cn=createRangeTable("80-20,2a0-,39c,32,f71,18e,7f2-f,19-7,30-4,7-5,f81-b,5,a800-20ff,4d1-1f,110,fa-6,d174-7,2e84-,ffff-,ffff-,ffff-,ffff-,ffff-,ffff-,ffff-,ffff-,ffff-,ffff-,ffff-,ffff-,2,1f-5f,ff7f-20001");function flatten(Wt){return Wt.reduce((function(Wt,Pt){Pt.forEach((function(Pt){Wt.push(Pt)}));return Wt}),[])}function _nameprepTableA1(Wt){return!!matchMap(Wt,nn)}Pt._nameprepTableA1=_nameprepTableA1;function _nameprepTableB2(Wt){var Pt=matchMap(Wt,In);if(Pt){return[Wt+Pt.s]}var en=rn[Wt];if(en){return en}var tn=sn[Wt];if(tn){return[Wt+tn[0]]}var nn=on[Wt];if(nn){return nn}return null}Pt._nameprepTableB2=_nameprepTableB2;function _nameprepTableC(Wt){return!!matchMap(Wt,cn)}Pt._nameprepTableC=_nameprepTableC;function nameprep(Wt){if(Wt.match(/^[a-z0-9-]*$/i)&&Wt.length<=59){return Wt.toLowerCase()}var Pt=(0,tn.toUtf8CodePoints)(Wt);Pt=flatten(Pt.map((function(Wt){if(an.indexOf(Wt)>=0){return[]}if(Wt>=65024&&Wt<=65039){return[]}var Pt=_nameprepTableB2(Wt);if(Pt){return Pt}return[Wt]})));Pt=(0,tn.toUtf8CodePoints)((0,tn._toUtf8String)(Pt),tn.UnicodeNormalizationForm.NFKC);Pt.forEach((function(Wt){if(_nameprepTableC(Wt)){throw new Error("STRINGPREP_CONTAINS_PROHIBITED")}}));Pt.forEach((function(Wt){if(_nameprepTableA1(Wt)){throw new Error("STRINGPREP_CONTAINS_UNASSIGNED")}}));var en=(0,tn._toUtf8String)(Pt);if(en.substring(0,1)==="-"||en.substring(2,4)==="--"||en.substring(en.length-1)==="-"){throw new Error("invalid hyphen")}return en}Pt.nameprep=nameprep},13859:(Wt,Pt,en)=>{Object.defineProperty(Pt,"__esModule",{value:true});Pt.nameprep=Pt.parseBytes32String=Pt.formatBytes32String=Pt.UnicodeNormalizationForm=Pt.Utf8ErrorReason=Pt.Utf8ErrorFuncs=Pt.toUtf8String=Pt.toUtf8CodePoints=Pt.toUtf8Bytes=Pt._toEscapedUtf8String=void 0;var tn=en(94145);Object.defineProperty(Pt,"formatBytes32String",{enumerable:true,get:function(){return tn.formatBytes32String}});Object.defineProperty(Pt,"parseBytes32String",{enumerable:true,get:function(){return tn.parseBytes32String}});var nn=en(1063);Object.defineProperty(Pt,"nameprep",{enumerable:true,get:function(){return nn.nameprep}});var an=en(91996);Object.defineProperty(Pt,"_toEscapedUtf8String",{enumerable:true,get:function(){return an._toEscapedUtf8String}});Object.defineProperty(Pt,"toUtf8Bytes",{enumerable:true,get:function(){return an.toUtf8Bytes}});Object.defineProperty(Pt,"toUtf8CodePoints",{enumerable:true,get:function(){return an.toUtf8CodePoints}});Object.defineProperty(Pt,"toUtf8String",{enumerable:true,get:function(){return an.toUtf8String}});Object.defineProperty(Pt,"UnicodeNormalizationForm",{enumerable:true,get:function(){return an.UnicodeNormalizationForm}});Object.defineProperty(Pt,"Utf8ErrorFuncs",{enumerable:true,get:function(){return an.Utf8ErrorFuncs}});Object.defineProperty(Pt,"Utf8ErrorReason",{enumerable:true,get:function(){return an.Utf8ErrorReason}})},91996:(Wt,Pt,en)=>{Object.defineProperty(Pt,"__esModule",{value:true});Pt.toUtf8CodePoints=Pt.toUtf8String=Pt._toUtf8String=Pt._toEscapedUtf8String=Pt.toUtf8Bytes=Pt.Utf8ErrorFuncs=Pt.Utf8ErrorReason=Pt.UnicodeNormalizationForm=void 0;var tn=en(42006);var nn=en(76127);var an=en(75988);var In=new nn.Logger(an.version);var rn;(function(Wt){Wt["current"]="";Wt["NFC"]="NFC";Wt["NFD"]="NFD";Wt["NFKC"]="NFKC";Wt["NFKD"]="NFKD"})(rn=Pt.UnicodeNormalizationForm||(Pt.UnicodeNormalizationForm={}));var sn;(function(Wt){Wt["UNEXPECTED_CONTINUE"]="unexpected continuation byte";Wt["BAD_PREFIX"]="bad codepoint prefix";Wt["OVERRUN"]="string overrun";Wt["MISSING_CONTINUE"]="missing continuation byte";Wt["OUT_OF_RANGE"]="out of UTF-8 range";Wt["UTF16_SURROGATE"]="UTF-16 surrogate";Wt["OVERLONG"]="overlong representation"})(sn=Pt.Utf8ErrorReason||(Pt.Utf8ErrorReason={}));function errorFunc(Wt,Pt,en,tn,nn){return In.throwArgumentError("invalid codepoint at offset "+Pt+"; "+Wt,"bytes",en)}function ignoreFunc(Wt,Pt,en,tn,nn){if(Wt===sn.BAD_PREFIX||Wt===sn.UNEXPECTED_CONTINUE){var an=0;for(var In=Pt+1;In>6!==2){break}an++}return an}if(Wt===sn.OVERRUN){return en.length-Pt-1}return 0}function replaceFunc(Wt,Pt,en,tn,nn){if(Wt===sn.OVERLONG){tn.push(nn);return 0}tn.push(65533);return ignoreFunc(Wt,Pt,en,tn,nn)}Pt.Utf8ErrorFuncs=Object.freeze({error:errorFunc,ignore:ignoreFunc,replace:replaceFunc});function getUtf8CodePoints(Wt,en){if(en==null){en=Pt.Utf8ErrorFuncs.error}Wt=(0,tn.arrayify)(Wt);var nn=[];var an=0;while(an>7===0){nn.push(In);continue}var rn=null;var on=null;if((In&224)===192){rn=1;on=127}else if((In&240)===224){rn=2;on=2047}else if((In&248)===240){rn=3;on=65535}else{if((In&192)===128){an+=en(sn.UNEXPECTED_CONTINUE,an-1,Wt,nn)}else{an+=en(sn.BAD_PREFIX,an-1,Wt,nn)}continue}if(an-1+rn>=Wt.length){an+=en(sn.OVERRUN,an-1,Wt,nn);continue}var cn=In&(1<<8-rn-1)-1;for(var dn=0;dn1114111){an+=en(sn.OUT_OF_RANGE,an-1-rn,Wt,nn,cn);continue}if(cn>=55296&&cn<=57343){an+=en(sn.UTF16_SURROGATE,an-1-rn,Wt,nn,cn);continue}if(cn<=on){an+=en(sn.OVERLONG,an-1-rn,Wt,nn,cn);continue}nn.push(cn)}return nn}function toUtf8Bytes(Wt,Pt){if(Pt===void 0){Pt=rn.current}if(Pt!=rn.current){In.checkNormalize();Wt=Wt.normalize(Pt)}var en=[];for(var nn=0;nn>6|192);en.push(an&63|128)}else if((an&64512)==55296){nn++;var sn=Wt.charCodeAt(nn);if(nn>=Wt.length||(sn&64512)!==56320){throw new Error("invalid utf-8 string")}var on=65536+((an&1023)<<10)+(sn&1023);en.push(on>>18|240);en.push(on>>12&63|128);en.push(on>>6&63|128);en.push(on&63|128)}else{en.push(an>>12|224);en.push(an>>6&63|128);en.push(an&63|128)}}return(0,tn.arrayify)(en)}Pt.toUtf8Bytes=toUtf8Bytes;function escapeChar(Wt){var Pt="0000"+Wt.toString(16);return"\\u"+Pt.substring(Pt.length-4)}function _toEscapedUtf8String(Wt,Pt){return'"'+getUtf8CodePoints(Wt,Pt).map((function(Wt){if(Wt<256){switch(Wt){case 8:return"\\b";case 9:return"\\t";case 10:return"\\n";case 13:return"\\r";case 34:return'\\"';case 92:return"\\\\"}if(Wt>=32&&Wt<127){return String.fromCharCode(Wt)}}if(Wt<=65535){return escapeChar(Wt)}Wt-=65536;return escapeChar((Wt>>10&1023)+55296)+escapeChar((Wt&1023)+56320)})).join("")+'"'}Pt._toEscapedUtf8String=_toEscapedUtf8String;function _toUtf8String(Wt){return Wt.map((function(Wt){if(Wt<=65535){return String.fromCharCode(Wt)}Wt-=65536;return String.fromCharCode((Wt>>10&1023)+55296,(Wt&1023)+56320)})).join("")}Pt._toUtf8String=_toUtf8String;function toUtf8String(Wt,Pt){return _toUtf8String(getUtf8CodePoints(Wt,Pt))}Pt.toUtf8String=toUtf8String;function toUtf8CodePoints(Wt,Pt){if(Pt===void 0){Pt=rn.current}return getUtf8CodePoints(toUtf8Bytes(Wt,Pt))}Pt.toUtf8CodePoints=toUtf8CodePoints},63303:(Wt,Pt)=>{Object.defineProperty(Pt,"__esModule",{value:true});Pt.version=void 0;Pt.version="transactions/5.7.0"},62394:function(Wt,Pt,en){var tn=this&&this.__createBinding||(Object.create?function(Wt,Pt,en,tn){if(tn===undefined)tn=en;Object.defineProperty(Wt,tn,{enumerable:true,get:function(){return Pt[en]}})}:function(Wt,Pt,en,tn){if(tn===undefined)tn=en;Wt[tn]=Pt[en]});var nn=this&&this.__setModuleDefault||(Object.create?function(Wt,Pt){Object.defineProperty(Wt,"default",{enumerable:true,value:Pt})}:function(Wt,Pt){Wt["default"]=Pt});var an=this&&this.__importStar||function(Wt){if(Wt&&Wt.__esModule)return Wt;var Pt={};if(Wt!=null)for(var en in Wt)if(en!=="default"&&Object.prototype.hasOwnProperty.call(Wt,en))tn(Pt,Wt,en);nn(Pt,Wt);return Pt};Object.defineProperty(Pt,"__esModule",{value:true});Pt.parse=Pt.serialize=Pt.accessListify=Pt.recoverAddress=Pt.computeAddress=Pt.TransactionTypes=void 0;var In=en(75745);var rn=en(18202);var sn=en(42006);var on=en(99848);var cn=en(56938);var dn=en(61338);var un=an(en(37659));var pn=en(63928);var mn=en(76127);var bn=en(63303);var Gn=new mn.Logger(bn.version);var hn;(function(Wt){Wt[Wt["legacy"]=0]="legacy";Wt[Wt["eip2930"]=1]="eip2930";Wt[Wt["eip1559"]=2]="eip1559"})(hn=Pt.TransactionTypes||(Pt.TransactionTypes={}));function handleAddress(Wt){if(Wt==="0x"){return null}return(0,In.getAddress)(Wt)}function handleNumber(Wt){if(Wt==="0x"){return on.Zero}return rn.BigNumber.from(Wt)}var Zn=[{name:"nonce",maxLength:32,numeric:true},{name:"gasPrice",maxLength:32,numeric:true},{name:"gasLimit",maxLength:32,numeric:true},{name:"to",length:20},{name:"value",maxLength:32,numeric:true},{name:"data"}];var An={chainId:true,data:true,gasLimit:true,gasPrice:true,nonce:true,to:true,type:true,value:true};function computeAddress(Wt){var Pt=(0,pn.computePublicKey)(Wt);return(0,In.getAddress)((0,sn.hexDataSlice)((0,cn.keccak256)((0,sn.hexDataSlice)(Pt,1)),12))}Pt.computeAddress=computeAddress;function recoverAddress(Wt,Pt){return computeAddress((0,pn.recoverPublicKey)((0,sn.arrayify)(Wt),Pt))}Pt.recoverAddress=recoverAddress;function formatNumber(Wt,Pt){var en=(0,sn.stripZeros)(rn.BigNumber.from(Wt).toHexString());if(en.length>32){Gn.throwArgumentError("invalid length for "+Pt,"transaction:"+Pt,Wt)}return en}function accessSetify(Wt,Pt){return{address:(0,In.getAddress)(Wt),storageKeys:(Pt||[]).map((function(Pt,en){if((0,sn.hexDataLength)(Pt)!==32){Gn.throwArgumentError("invalid access list storageKey","accessList["+Wt+":"+en+"]",Pt)}return Pt.toLowerCase()}))}}function accessListify(Wt){if(Array.isArray(Wt)){return Wt.map((function(Wt,Pt){if(Array.isArray(Wt)){if(Wt.length>2){Gn.throwArgumentError("access list expected to be [ address, storageKeys[] ]","value["+Pt+"]",Wt)}return accessSetify(Wt[0],Wt[1])}return accessSetify(Wt.address,Wt.storageKeys)}))}var Pt=Object.keys(Wt).map((function(Pt){var en=Wt[Pt].reduce((function(Wt,Pt){Wt[Pt]=true;return Wt}),{});return accessSetify(Pt,Object.keys(en).sort())}));Pt.sort((function(Wt,Pt){return Wt.address.localeCompare(Pt.address)}));return Pt}Pt.accessListify=accessListify;function formatAccessList(Wt){return accessListify(Wt).map((function(Wt){return[Wt.address,Wt.storageKeys]}))}function _serializeEip1559(Wt,Pt){if(Wt.gasPrice!=null){var en=rn.BigNumber.from(Wt.gasPrice);var tn=rn.BigNumber.from(Wt.maxFeePerGas||0);if(!en.eq(tn)){Gn.throwArgumentError("mismatch EIP-1559 gasPrice != maxFeePerGas","tx",{gasPrice:en,maxFeePerGas:tn})}}var nn=[formatNumber(Wt.chainId||0,"chainId"),formatNumber(Wt.nonce||0,"nonce"),formatNumber(Wt.maxPriorityFeePerGas||0,"maxPriorityFeePerGas"),formatNumber(Wt.maxFeePerGas||0,"maxFeePerGas"),formatNumber(Wt.gasLimit||0,"gasLimit"),Wt.to!=null?(0,In.getAddress)(Wt.to):"0x",formatNumber(Wt.value||0,"value"),Wt.data||"0x",formatAccessList(Wt.accessList||[])];if(Pt){var an=(0,sn.splitSignature)(Pt);nn.push(formatNumber(an.recoveryParam,"recoveryParam"));nn.push((0,sn.stripZeros)(an.r));nn.push((0,sn.stripZeros)(an.s))}return(0,sn.hexConcat)(["0x02",un.encode(nn)])}function _serializeEip2930(Wt,Pt){var en=[formatNumber(Wt.chainId||0,"chainId"),formatNumber(Wt.nonce||0,"nonce"),formatNumber(Wt.gasPrice||0,"gasPrice"),formatNumber(Wt.gasLimit||0,"gasLimit"),Wt.to!=null?(0,In.getAddress)(Wt.to):"0x",formatNumber(Wt.value||0,"value"),Wt.data||"0x",formatAccessList(Wt.accessList||[])];if(Pt){var tn=(0,sn.splitSignature)(Pt);en.push(formatNumber(tn.recoveryParam,"recoveryParam"));en.push((0,sn.stripZeros)(tn.r));en.push((0,sn.stripZeros)(tn.s))}return(0,sn.hexConcat)(["0x01",un.encode(en)])}function _serialize(Wt,Pt){(0,dn.checkProperties)(Wt,An);var en=[];Zn.forEach((function(Pt){var tn=Wt[Pt.name]||[];var nn={};if(Pt.numeric){nn.hexPad="left"}tn=(0,sn.arrayify)((0,sn.hexlify)(tn,nn));if(Pt.length&&tn.length!==Pt.length&&tn.length>0){Gn.throwArgumentError("invalid length for "+Pt.name,"transaction:"+Pt.name,tn)}if(Pt.maxLength){tn=(0,sn.stripZeros)(tn);if(tn.length>Pt.maxLength){Gn.throwArgumentError("invalid length for "+Pt.name,"transaction:"+Pt.name,tn)}}en.push((0,sn.hexlify)(tn))}));var tn=0;if(Wt.chainId!=null){tn=Wt.chainId;if(typeof tn!=="number"){Gn.throwArgumentError("invalid transaction.chainId","transaction",Wt)}}else if(Pt&&!(0,sn.isBytesLike)(Pt)&&Pt.v>28){tn=Math.floor((Pt.v-35)/2)}if(tn!==0){en.push((0,sn.hexlify)(tn));en.push("0x");en.push("0x")}if(!Pt){return un.encode(en)}var nn=(0,sn.splitSignature)(Pt);var an=27+nn.recoveryParam;if(tn!==0){en.pop();en.pop();en.pop();an+=tn*2+8;if(nn.v>28&&nn.v!==an){Gn.throwArgumentError("transaction.chainId/signature.v mismatch","signature",Pt)}}else if(nn.v!==an){Gn.throwArgumentError("transaction.chainId/signature.v mismatch","signature",Pt)}en.push((0,sn.hexlify)(an));en.push((0,sn.stripZeros)((0,sn.arrayify)(nn.r)));en.push((0,sn.stripZeros)((0,sn.arrayify)(nn.s)));return un.encode(en)}function serialize(Wt,Pt){if(Wt.type==null||Wt.type===0){if(Wt.accessList!=null){Gn.throwArgumentError("untyped transactions do not support accessList; include type: 1","transaction",Wt)}return _serialize(Wt,Pt)}switch(Wt.type){case 1:return _serializeEip2930(Wt,Pt);case 2:return _serializeEip1559(Wt,Pt);default:break}return Gn.throwError("unsupported transaction type: "+Wt.type,mn.Logger.errors.UNSUPPORTED_OPERATION,{operation:"serializeTransaction",transactionType:Wt.type})}Pt.serialize=serialize;function _parseEipSignature(Wt,Pt,en){try{var tn=handleNumber(Pt[0]).toNumber();if(tn!==0&&tn!==1){throw new Error("bad recid")}Wt.v=tn}catch(Wt){Gn.throwArgumentError("invalid v for transaction type: 1","v",Pt[0])}Wt.r=(0,sn.hexZeroPad)(Pt[1],32);Wt.s=(0,sn.hexZeroPad)(Pt[2],32);try{var nn=(0,cn.keccak256)(en(Wt));Wt.from=recoverAddress(nn,{r:Wt.r,s:Wt.s,recoveryParam:Wt.v})}catch(Wt){}}function _parseEip1559(Wt){var Pt=un.decode(Wt.slice(1));if(Pt.length!==9&&Pt.length!==12){Gn.throwArgumentError("invalid component count for transaction type: 2","payload",(0,sn.hexlify)(Wt))}var en=handleNumber(Pt[2]);var tn=handleNumber(Pt[3]);var nn={type:2,chainId:handleNumber(Pt[0]).toNumber(),nonce:handleNumber(Pt[1]).toNumber(),maxPriorityFeePerGas:en,maxFeePerGas:tn,gasPrice:null,gasLimit:handleNumber(Pt[4]),to:handleAddress(Pt[5]),value:handleNumber(Pt[6]),data:Pt[7],accessList:accessListify(Pt[8])};if(Pt.length===9){return nn}nn.hash=(0,cn.keccak256)(Wt);_parseEipSignature(nn,Pt.slice(9),_serializeEip1559);return nn}function _parseEip2930(Wt){var Pt=un.decode(Wt.slice(1));if(Pt.length!==8&&Pt.length!==11){Gn.throwArgumentError("invalid component count for transaction type: 1","payload",(0,sn.hexlify)(Wt))}var en={type:1,chainId:handleNumber(Pt[0]).toNumber(),nonce:handleNumber(Pt[1]).toNumber(),gasPrice:handleNumber(Pt[2]),gasLimit:handleNumber(Pt[3]),to:handleAddress(Pt[4]),value:handleNumber(Pt[5]),data:Pt[6],accessList:accessListify(Pt[7])};if(Pt.length===8){return en}en.hash=(0,cn.keccak256)(Wt);_parseEipSignature(en,Pt.slice(8),_serializeEip2930);return en}function _parse(Wt){var Pt=un.decode(Wt);if(Pt.length!==9&&Pt.length!==6){Gn.throwArgumentError("invalid raw transaction","rawTransaction",Wt)}var en={nonce:handleNumber(Pt[0]).toNumber(),gasPrice:handleNumber(Pt[1]),gasLimit:handleNumber(Pt[2]),to:handleAddress(Pt[3]),value:handleNumber(Pt[4]),data:Pt[5],chainId:0};if(Pt.length===6){return en}try{en.v=rn.BigNumber.from(Pt[6]).toNumber()}catch(Wt){return en}en.r=(0,sn.hexZeroPad)(Pt[7],32);en.s=(0,sn.hexZeroPad)(Pt[8],32);if(rn.BigNumber.from(en.r).isZero()&&rn.BigNumber.from(en.s).isZero()){en.chainId=en.v;en.v=0}else{en.chainId=Math.floor((en.v-35)/2);if(en.chainId<0){en.chainId=0}var tn=en.v-27;var nn=Pt.slice(0,6);if(en.chainId!==0){nn.push((0,sn.hexlify)(en.chainId));nn.push("0x");nn.push("0x");tn-=en.chainId*2+8}var an=(0,cn.keccak256)(un.encode(nn));try{en.from=recoverAddress(an,{r:(0,sn.hexlify)(en.r),s:(0,sn.hexlify)(en.s),recoveryParam:tn})}catch(Wt){}en.hash=(0,cn.keccak256)(Wt)}en.type=null;return en}function parse(Wt){var Pt=(0,sn.arrayify)(Wt);if(Pt[0]>127){return _parse(Pt)}switch(Pt[0]){case 1:return _parseEip2930(Pt);case 2:return _parseEip1559(Pt);default:break}return Gn.throwError("unsupported transaction type: "+Pt[0],mn.Logger.errors.UNSUPPORTED_OPERATION,{operation:"parseTransaction",transactionType:Pt[0]})}Pt.parse=parse},33755:(Wt,Pt)=>{Object.defineProperty(Pt,"__esModule",{value:true});Pt.version=void 0;Pt.version="units/5.7.0"},32534:(Wt,Pt,en)=>{Object.defineProperty(Pt,"__esModule",{value:true});Pt.parseEther=Pt.formatEther=Pt.parseUnits=Pt.formatUnits=Pt.commify=void 0;var tn=en(18202);var nn=en(76127);var an=en(33755);var In=new nn.Logger(an.version);var rn=["wei","kwei","mwei","gwei","szabo","finney","ether"];function commify(Wt){var Pt=String(Wt).split(".");if(Pt.length>2||!Pt[0].match(/^-?[0-9]*$/)||Pt[1]&&!Pt[1].match(/^[0-9]*$/)||Wt==="."||Wt==="-."){In.throwArgumentError("invalid value","value",Wt)}var en=Pt[0];var tn="";if(en.substring(0,1)==="-"){tn="-";en=en.substring(1)}while(en.substring(0,1)==="0"){en=en.substring(1)}if(en===""){en="0"}var nn="";if(Pt.length===2){nn="."+(Pt[1]||"0")}while(nn.length>2&&nn[nn.length-1]==="0"){nn=nn.substring(0,nn.length-1)}var an=[];while(en.length){if(en.length<=3){an.unshift(en);break}else{var rn=en.length-3;an.unshift(en.substring(rn));en=en.substring(0,rn)}}return tn+an.join(",")+nn}Pt.commify=commify;function formatUnits(Wt,Pt){if(typeof Pt==="string"){var en=rn.indexOf(Pt);if(en!==-1){Pt=3*en}}return(0,tn.formatFixed)(Wt,Pt!=null?Pt:18)}Pt.formatUnits=formatUnits;function parseUnits(Wt,Pt){if(typeof Wt!=="string"){In.throwArgumentError("value must be a string","value",Wt)}if(typeof Pt==="string"){var en=rn.indexOf(Pt);if(en!==-1){Pt=3*en}}return(0,tn.parseFixed)(Wt,Pt!=null?Pt:18)}Pt.parseUnits=parseUnits;function formatEther(Wt){return formatUnits(Wt,18)}Pt.formatEther=formatEther;function parseEther(Wt){return parseUnits(Wt,18)}Pt.parseEther=parseEther},23867:(Wt,Pt)=>{Object.defineProperty(Pt,"__esModule",{value:true});Pt.version=void 0;Pt.version="wallet/5.7.0"},30806:function(Wt,Pt,en){var tn=this&&this.__extends||function(){var extendStatics=function(Wt,Pt){extendStatics=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(Wt,Pt){Wt.__proto__=Pt}||function(Wt,Pt){for(var en in Pt)if(Object.prototype.hasOwnProperty.call(Pt,en))Wt[en]=Pt[en]};return extendStatics(Wt,Pt)};return function(Wt,Pt){if(typeof Pt!=="function"&&Pt!==null)throw new TypeError("Class extends value "+String(Pt)+" is not a constructor or null");extendStatics(Wt,Pt);function __(){this.constructor=Wt}Wt.prototype=Pt===null?Object.create(Pt):(__.prototype=Pt.prototype,new __)}}();var nn=this&&this.__awaiter||function(Wt,Pt,en,tn){function adopt(Wt){return Wt instanceof en?Wt:new en((function(Pt){Pt(Wt)}))}return new(en||(en=Promise))((function(en,nn){function fulfilled(Wt){try{step(tn.next(Wt))}catch(Wt){nn(Wt)}}function rejected(Wt){try{step(tn["throw"](Wt))}catch(Wt){nn(Wt)}}function step(Wt){Wt.done?en(Wt.value):adopt(Wt.value).then(fulfilled,rejected)}step((tn=tn.apply(Wt,Pt||[])).next())}))};var an=this&&this.__generator||function(Wt,Pt){var en={label:0,sent:function(){if(an[0]&1)throw an[1];return an[1]},trys:[],ops:[]},tn,nn,an,In;return In={next:verb(0),throw:verb(1),return:verb(2)},typeof Symbol==="function"&&(In[Symbol.iterator]=function(){return this}),In;function verb(Wt){return function(Pt){return step([Wt,Pt])}}function step(In){if(tn)throw new TypeError("Generator is already executing.");while(en)try{if(tn=1,nn&&(an=In[0]&2?nn["return"]:In[0]?nn["throw"]||((an=nn["return"])&&an.call(nn),0):nn.next)&&!(an=an.call(nn,In[1])).done)return an;if(nn=0,an)In=[In[0]&2,an.value];switch(In[0]){case 0:case 1:an=In;break;case 4:en.label++;return{value:In[1],done:false};case 5:en.label++;nn=In[1];In=[0];continue;case 7:In=en.ops.pop();en.trys.pop();continue;default:if(!(an=en.trys,an=an.length>0&&an[an.length-1])&&(In[0]===6||In[0]===2)){en=0;continue}if(In[0]===3&&(!an||In[1]>an[0]&&In[1]{Object.defineProperty(Pt,"__esModule",{value:true});Pt.version=void 0;Pt.version="web/5.7.1"},77730:function(Wt,Pt,en){var tn=this&&this.__awaiter||function(Wt,Pt,en,tn){function adopt(Wt){return Wt instanceof en?Wt:new en((function(Pt){Pt(Wt)}))}return new(en||(en=Promise))((function(en,nn){function fulfilled(Wt){try{step(tn.next(Wt))}catch(Wt){nn(Wt)}}function rejected(Wt){try{step(tn["throw"](Wt))}catch(Wt){nn(Wt)}}function step(Wt){Wt.done?en(Wt.value):adopt(Wt.value).then(fulfilled,rejected)}step((tn=tn.apply(Wt,Pt||[])).next())}))};var nn=this&&this.__generator||function(Wt,Pt){var en={label:0,sent:function(){if(an[0]&1)throw an[1];return an[1]},trys:[],ops:[]},tn,nn,an,In;return In={next:verb(0),throw:verb(1),return:verb(2)},typeof Symbol==="function"&&(In[Symbol.iterator]=function(){return this}),In;function verb(Wt){return function(Pt){return step([Wt,Pt])}}function step(In){if(tn)throw new TypeError("Generator is already executing.");while(en)try{if(tn=1,nn&&(an=In[0]&2?nn["return"]:In[0]?nn["throw"]||((an=nn["return"])&&an.call(nn),0):nn.next)&&!(an=an.call(nn,In[1])).done)return an;if(nn=0,an)In=[In[0]&2,an.value];switch(In[0]){case 0:case 1:an=In;break;case 4:en.label++;return{value:In[1],done:false};case 5:en.label++;nn=In[1];In=[0];continue;case 7:In=en.ops.pop();en.trys.pop();continue;default:if(!(an=en.trys,an=an.length>0&&an[an.length-1])&&(In[0]===6||In[0]===2)){en=0;continue}if(In[0]===3&&(!an||In[1]>an[0]&&In[1]0&&an[an.length-1])&&(In[0]===6||In[0]===2)){en=0;continue}if(In[0]===3&&(!an||In[1]>an[0]&&In[1]0&&In%1===0,"invalid connection throttle limit","connection.throttleLimit",In);var cn=typeof Wt==="object"?Wt.throttleCallback:null;var pn=typeof Wt==="object"&&typeof Wt.throttleSlotInterval==="number"?Wt.throttleSlotInterval:100;dn.assertArgument(pn>0&&pn%1===0,"invalid connection throttle slot interval","connection.throttleSlotInterval",pn);var mn=typeof Wt==="object"?!!Wt.errorPassThrough:false;var bn={};var Gn=null;var hn={method:"GET"};var Zn=false;var An=2*60*1e3;if(typeof Wt==="string"){Gn=Wt}else if(typeof Wt==="object"){if(Wt==null||Wt.url==null){dn.throwArgumentError("missing URL","connection.url",Wt)}Gn=Wt.url;if(typeof Wt.timeout==="number"&&Wt.timeout>0){An=Wt.timeout}if(Wt.headers){for(var Wn in Wt.headers){bn[Wn.toLowerCase()]={key:Wn,value:String(Wt.headers[Wn])};if(["if-none-match","if-modified-since"].indexOf(Wn.toLowerCase())>=0){Zn=true}}}hn.allowGzip=!!Wt.allowGzip;if(Wt.user!=null&&Wt.password!=null){if(Gn.substring(0,6)!=="https:"&&Wt.allowInsecureAuthentication!==true){dn.throwError("basic authentication requires a secure https url",on.Logger.errors.INVALID_ARGUMENT,{argument:"url",url:Gn,user:Wt.user,password:"[REDACTED]"})}var Nn=Wt.user+":"+Wt.password;bn["authorization"]={key:"Authorization",value:"Basic "+(0,an.encode)((0,sn.toUtf8Bytes)(Nn))}}if(Wt.skipFetchSetup!=null){hn.skipFetchSetup=!!Wt.skipFetchSetup}if(Wt.fetchOptions!=null){hn.fetchOptions=(0,rn.shallowCopy)(Wt.fetchOptions)}}var gn=new RegExp("^data:([^;:]*)?(;base64)?,(.*)$","i");var yn=Gn?Gn.match(gn):null;if(yn){try{var vn={statusCode:200,statusMessage:"OK",headers:{"content-type":yn[1]||"text/plain"},body:yn[2]?(0,an.decode)(yn[3]):unpercent(yn[3])};var Yn=vn.body;if(en){Yn=en(vn.body,vn)}return Promise.resolve(Yn)}catch(Wt){dn.throwError("processing response error",on.Logger.errors.SERVER_ERROR,{body:bodyify(yn[1],yn[2]),error:Wt,requestBody:null,requestMethod:"GET",url:Gn})}}if(Pt){hn.method="POST";hn.body=Pt;if(bn["content-type"]==null){bn["content-type"]={key:"Content-Type",value:"application/octet-stream"}}if(bn["content-length"]==null){bn["content-length"]={key:"Content-Length",value:String(Pt.length)}}}var En={};Object.keys(bn).forEach((function(Wt){var Pt=bn[Wt];En[Pt.key]=Pt.value}));hn.headers=En;var Vn=function(){var Wt=null;var Pt=new Promise((function(Pt,en){if(An){Wt=setTimeout((function(){if(Wt==null){return}Wt=null;en(dn.makeError("timeout",on.Logger.errors.TIMEOUT,{requestBody:bodyify(hn.body,En["content-type"]),requestMethod:hn.method,timeout:An,url:Gn}))}),An)}}));var cancel=function(){if(Wt==null){return}clearTimeout(Wt);Wt=null};return{promise:Pt,cancel:cancel}}();var Rn=function(){return tn(this,void 0,void 0,(function(){var Wt,Pt,tn,an,rn,sn,bn,An,Wn,Nn,an,gn;return nn(this,(function(nn){switch(nn.label){case 0:Wt=0;nn.label=1;case 1:if(!(Wt=300)){Vn.cancel();dn.throwError("bad response",on.Logger.errors.SERVER_ERROR,{status:Pt.statusCode,headers:Pt.headers,body:bodyify(An,Pt.headers?Pt.headers["content-type"]:null),requestBody:bodyify(hn.body,En["content-type"]),requestMethod:hn.method,url:Gn})}if(!en)return[3,18];nn.label=11;case 11:nn.trys.push([11,13,,18]);return[4,en(An,Pt)];case 12:Wn=nn.sent();Vn.cancel();return[2,Wn];case 13:Nn=nn.sent();if(!(Nn.throttleRetry&&WtIn){if(cancel()){tn(new Error("retry limit reached"))}return}var nn=Pt.interval*parseInt(String(Math.random()*Math.pow(2,rn)));if(nnPt.ceiling){nn=Pt.ceiling}setTimeout(check,nn)}return null}),(function(Wt){if(cancel()){tn(Wt)}}))}check()}))}Pt.poll=poll},17141:(Wt,Pt)=>{Object.defineProperty(Pt,"__esModule",{value:true});Pt.version=void 0;Pt.version="wordlists/5.7.0"},78168:(Wt,Pt,en)=>{Object.defineProperty(Pt,"__esModule",{value:true});Pt.wordlists=Pt.Wordlist=Pt.logger=void 0;var tn=en(18210);Object.defineProperty(Pt,"logger",{enumerable:true,get:function(){return tn.logger}});Object.defineProperty(Pt,"Wordlist",{enumerable:true,get:function(){return tn.Wordlist}});var nn=en(1057);Object.defineProperty(Pt,"wordlists",{enumerable:true,get:function(){return nn.wordlists}})},53994:function(Wt,Pt,en){var tn=this&&this.__extends||function(){var extendStatics=function(Wt,Pt){extendStatics=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(Wt,Pt){Wt.__proto__=Pt}||function(Wt,Pt){for(var en in Pt)if(Object.prototype.hasOwnProperty.call(Pt,en))Wt[en]=Pt[en]};return extendStatics(Wt,Pt)};return function(Wt,Pt){if(typeof Pt!=="function"&&Pt!==null)throw new TypeError("Class extends value "+String(Pt)+" is not a constructor or null");extendStatics(Wt,Pt);function __(){this.constructor=Wt}Wt.prototype=Pt===null?Object.create(Pt):(__.prototype=Pt.prototype,new __)}}();Object.defineProperty(Pt,"__esModule",{value:true});Pt.langCz=void 0;var nn=en(18210);var an="AbdikaceAbecedaAdresaAgreseAkceAktovkaAlejAlkoholAmputaceAnanasAndulkaAnekdotaAnketaAntikaAnulovatArchaAroganceAsfaltAsistentAspiraceAstmaAstronomAtlasAtletikaAtolAutobusAzylBabkaBachorBacilBaculkaBadatelBagetaBagrBahnoBakterieBaladaBaletkaBalkonBalonekBalvanBalzaBambusBankomatBarbarBaretBarmanBarokoBarvaBaterkaBatohBavlnaBazalkaBazilikaBazukaBednaBeranBesedaBestieBetonBezinkaBezmocBeztakBicyklBidloBiftekBikinyBilanceBiografBiologBitvaBizonBlahobytBlatouchBlechaBleduleBleskBlikatBliznaBlokovatBlouditBludBobekBobrBodlinaBodnoutBohatostBojkotBojovatBokorysBolestBorecBoroviceBotaBoubelBouchatBoudaBouleBouratBoxerBradavkaBramboraBrankaBratrBreptaBriketaBrkoBrlohBronzBroskevBrunetkaBrusinkaBrzdaBrzyBublinaBubnovatBuchtaBuditelBudkaBudovaBufetBujarostBukviceBuldokBulvaBundaBunkrBurzaButikBuvolBuzolaBydletBylinaBytovkaBzukotCapartCarevnaCedrCeduleCejchCejnCelaCelerCelkemCelniceCeninaCennostCenovkaCentrumCenzorCestopisCetkaChalupaChapadloCharitaChataChechtatChemieChichotChirurgChladChlebaChlubitChmelChmuraChobotChocholChodbaCholeraChomoutChopitChorobaChovChrapotChrlitChrtChrupChtivostChudinaChutnatChvatChvilkaChvostChybaChystatChytitCibuleCigaretaCihelnaCihlaCinkotCirkusCisternaCitaceCitrusCizinecCizostClonaCokolivCouvatCtitelCtnostCudnostCuketaCukrCupotCvaknoutCvalCvikCvrkotCyklistaDalekoDarebaDatelDatumDceraDebataDechovkaDecibelDeficitDeflaceDeklDekretDemokratDepreseDerbyDeskaDetektivDikobrazDiktovatDiodaDiplomDiskDisplejDivadloDivochDlahaDlouhoDluhopisDnesDobroDobytekDocentDochutitDodnesDohledDohodaDohraDojemDojniceDokladDokolaDoktorDokumentDolarDolevaDolinaDomaDominantDomluvitDomovDonutitDopadDopisDoplnitDoposudDoprovodDopustitDorazitDorostDortDosahDoslovDostatekDosudDosytaDotazDotekDotknoutDoufatDoutnatDovozceDozaduDoznatDozorceDrahotaDrakDramatikDravecDrazeDrdolDrobnostDrogerieDrozdDrsnostDrtitDrzostDubenDuchovnoDudekDuhaDuhovkaDusitDusnoDutostDvojiceDvorecDynamitEkologEkonomieElektronElipsaEmailEmiseEmoceEmpatieEpizodaEpochaEpopejEposEsejEsenceEskortaEskymoEtiketaEuforieEvoluceExekuceExkurzeExpediceExplozeExportExtraktFackaFajfkaFakultaFanatikFantazieFarmacieFavoritFazoleFederaceFejetonFenkaFialkaFigurantFilozofFiltrFinanceFintaFixaceFjordFlanelFlirtFlotilaFondFosforFotbalFotkaFotonFrakceFreskaFrontaFukarFunkceFyzikaGalejeGarantGenetikaGeologGilotinaGlazuraGlejtGolemGolfistaGotikaGrafGramofonGranuleGrepGrilGrogGroteskaGumaHadiceHadrHalaHalenkaHanbaHanopisHarfaHarpunaHavranHebkostHejkalHejnoHejtmanHektarHelmaHematomHerecHernaHesloHezkyHistorikHladovkaHlasivkyHlavaHledatHlenHlodavecHlohHloupostHltatHlubinaHluchotaHmatHmotaHmyzHnisHnojivoHnoutHoblinaHobojHochHodinyHodlatHodnotaHodovatHojnostHokejHolinkaHolkaHolubHomoleHonitbaHonoraceHoralHordaHorizontHorkoHorlivecHormonHorninaHoroskopHorstvoHospodaHostinaHotovostHoubaHoufHoupatHouskaHovorHradbaHraniceHravostHrazdaHrbolekHrdinaHrdloHrdostHrnekHrobkaHromadaHrotHroudaHrozenHrstkaHrubostHryzatHubenostHubnoutHudbaHukotHumrHusitaHustotaHvozdHybnostHydrantHygienaHymnaHysterikIdylkaIhnedIkonaIluzeImunitaInfekceInflaceInkasoInovaceInspekceInternetInvalidaInvestorInzerceIronieJablkoJachtaJahodaJakmileJakostJalovecJantarJarmarkJaroJasanJasnoJatkaJavorJazykJedinecJedleJednatelJehlanJekotJelenJelitoJemnostJenomJepiceJeseterJevitJezdecJezeroJinakJindyJinochJiskraJistotaJitrniceJizvaJmenovatJogurtJurtaKabaretKabelKabinetKachnaKadetKadidloKahanKajakKajutaKakaoKaktusKalamitaKalhotyKalibrKalnostKameraKamkolivKamnaKanibalKanoeKantorKapalinaKapelaKapitolaKapkaKapleKapotaKaprKapustaKapybaraKaramelKarotkaKartonKasaKatalogKatedraKauceKauzaKavalecKazajkaKazetaKazivostKdekolivKdesiKedlubenKempKeramikaKinoKlacekKladivoKlamKlapotKlasikaKlaunKlecKlenbaKlepatKlesnoutKlidKlimaKlisnaKloboukKlokanKlopaKloubKlubovnaKlusatKluzkostKmenKmitatKmotrKnihaKnotKoaliceKoberecKobkaKoblihaKobylaKocourKohoutKojenecKokosKoktejlKolapsKoledaKolizeKoloKomandoKometaKomikKomnataKomoraKompasKomunitaKonatKonceptKondiceKonecKonfeseKongresKoninaKonkursKontaktKonzervaKopanecKopieKopnoutKoprovkaKorbelKorektorKormidloKoroptevKorpusKorunaKorytoKorzetKosatecKostkaKotelKotletaKotoulKoukatKoupelnaKousekKouzloKovbojKozaKozorohKrabiceKrachKrajinaKralovatKrasopisKravataKreditKrejcarKresbaKrevetaKriketKritikKrizeKrkavecKrmelecKrmivoKrocanKrokKronikaKropitKroupaKrovkaKrtekKruhadloKrupiceKrutostKrvinkaKrychleKryptaKrystalKrytKudlankaKufrKujnostKuklaKulajdaKulichKulkaKulometKulturaKunaKupodivuKurtKurzorKutilKvalitaKvasinkaKvestorKynologKyselinaKytaraKyticeKytkaKytovecKyvadloLabradorLachtanLadnostLaikLakomecLamelaLampaLanovkaLasiceLasoLasturaLatinkaLavinaLebkaLeckdyLedenLedniceLedovkaLedvinaLegendaLegieLegraceLehceLehkostLehnoutLektvarLenochodLentilkaLepenkaLepidloLetadloLetecLetmoLetokruhLevhartLevitaceLevobokLibraLichotkaLidojedLidskostLihovinaLijavecLilekLimetkaLinieLinkaLinoleumListopadLitinaLitovatLobistaLodivodLogikaLogopedLokalitaLoketLomcovatLopataLopuchLordLososLotrLoudalLouhLoukaLouskatLovecLstivostLucernaLuciferLumpLuskLustraceLviceLyraLyrikaLysinaMadamMadloMagistrMahagonMajetekMajitelMajoritaMakakMakoviceMakrelaMalbaMalinaMalovatMalviceMaminkaMandleMankoMarnostMasakrMaskotMasopustMaticeMatrikaMaturitaMazanecMazivoMazlitMazurkaMdlobaMechanikMeditaceMedovinaMelasaMelounMentolkaMetlaMetodaMetrMezeraMigraceMihnoutMihuleMikinaMikrofonMilenecMilimetrMilostMimikaMincovnaMinibarMinometMinulostMiskaMistrMixovatMladostMlhaMlhovinaMlokMlsatMluvitMnichMnohemMobilMocnostModelkaModlitbaMohylaMokroMolekulaMomentkaMonarchaMonoklMonstrumMontovatMonzunMosazMoskytMostMotivaceMotorkaMotykaMouchaMoudrostMozaikaMozekMozolMramorMravenecMrkevMrtvolaMrzetMrzutostMstitelMudrcMuflonMulatMumieMuniceMusetMutaceMuzeumMuzikantMyslivecMzdaNabouratNachytatNadaceNadbytekNadhozNadobroNadpisNahlasNahnatNahodileNahraditNaivitaNajednouNajistoNajmoutNaklonitNakonecNakrmitNalevoNamazatNamluvitNanometrNaokoNaopakNaostroNapadatNapevnoNaplnitNapnoutNaposledNaprostoNaroditNarubyNarychloNasaditNasekatNaslepoNastatNatolikNavenekNavrchNavzdoryNazvatNebeNechatNeckyNedalekoNedbatNeduhNegaceNehetNehodaNejenNejprveNeklidNelibostNemilostNemocNeochotaNeonkaNepokojNerostNervNesmyslNesouladNetvorNeuronNevinaNezvykleNicotaNijakNikamNikdyNiklNikterakNitroNoclehNohaviceNominaceNoraNorekNositelNosnostNouzeNovinyNovotaNozdraNudaNudleNugetNutitNutnostNutrieNymfaObalObarvitObavaObdivObecObehnatObejmoutObezitaObhajobaObilniceObjasnitObjektObklopitOblastOblekOblibaOblohaObludaObnosObohatitObojekOboutObrazecObrnaObrubaObrysObsahObsluhaObstaratObuvObvazObvinitObvodObvykleObyvatelObzorOcasOcelOcenitOchladitOchotaOchranaOcitnoutOdbojOdbytOdchodOdcizitOdebratOdeslatOdevzdatOdezvaOdhadceOdhoditOdjetOdjinudOdkazOdkoupitOdlivOdlukaOdmlkaOdolnostOdpadOdpisOdploutOdporOdpustitOdpykatOdrazkaOdsouditOdstupOdsunOdtokOdtudOdvahaOdvetaOdvolatOdvracetOdznakOfinaOfsajdOhlasOhniskoOhradaOhrozitOhryzekOkapOkeniceOklikaOknoOkouzlitOkovyOkrasaOkresOkrsekOkruhOkupantOkurkaOkusitOlejninaOlizovatOmakOmeletaOmezitOmladinaOmlouvatOmluvaOmylOnehdyOpakovatOpasekOperaceOpiceOpilostOpisovatOporaOpoziceOpravduOprotiOrbitalOrchestrOrgieOrliceOrlojOrtelOsadaOschnoutOsikaOsivoOslavaOslepitOslnitOslovitOsnovaOsobaOsolitOspalecOstenOstrahaOstudaOstychOsvojitOteplitOtiskOtopOtrhatOtrlostOtrokOtrubyOtvorOvanoutOvarOvesOvlivnitOvoceOxidOzdobaPachatelPacientPadouchPahorekPaktPalandaPalecPalivoPalubaPamfletPamlsekPanenkaPanikaPannaPanovatPanstvoPantoflePaprikaParketaParodiePartaParukaParybaPasekaPasivitaPastelkaPatentPatronaPavoukPaznehtPazourekPeckaPedagogPejsekPekloPelotonPenaltaPendrekPenzePeriskopPeroPestrostPetardaPeticePetrolejPevninaPexesoPianistaPihaPijavicePiklePiknikPilinaPilnostPilulkaPinzetaPipetaPisatelPistolePitevnaPivnicePivovarPlacentaPlakatPlamenPlanetaPlastikaPlatitPlavidloPlazPlechPlemenoPlentaPlesPletivoPlevelPlivatPlnitPlnoPlochaPlodinaPlombaPloutPlukPlynPobavitPobytPochodPocitPoctivecPodatPodcenitPodepsatPodhledPodivitPodkladPodmanitPodnikPodobaPodporaPodrazPodstataPodvodPodzimPoeziePohankaPohnutkaPohovorPohromaPohybPointaPojistkaPojmoutPokazitPoklesPokojPokrokPokutaPokynPolednePolibekPolknoutPolohaPolynomPomaluPominoutPomlkaPomocPomstaPomysletPonechatPonorkaPonurostPopadatPopelPopisekPoplachPoprositPopsatPopudPoradcePorcePorodPoruchaPoryvPosaditPosedPosilaPoskokPoslanecPosouditPospoluPostavaPosudekPosypPotahPotkanPotleskPotomekPotravaPotupaPotvoraPoukazPoutoPouzdroPovahaPovidlaPovlakPovozPovrchPovstatPovykPovzdechPozdravPozemekPoznatekPozorPozvatPracovatPrahoryPraktikaPralesPraotecPraporekPrasePravdaPrincipPrknoProbuditProcentoProdejProfeseProhraProjektProlomitPromilePronikatPropadProrokProsbaProtonProutekProvazPrskavkaPrstenPrudkostPrutPrvekPrvohoryPsanecPsovodPstruhPtactvoPubertaPuchPudlPukavecPuklinaPukrlePultPumpaPuncPupenPusaPusinkaPustinaPutovatPutykaPyramidaPyskPytelRacekRachotRadiaceRadniceRadonRaftRagbyRaketaRakovinaRamenoRampouchRandeRarachRaritaRasovnaRastrRatolestRazanceRazidloReagovatReakceReceptRedaktorReferentReflexRejnokReklamaRekordRekrutRektorReputaceRevizeRevmaRevolverRezervaRiskovatRizikoRobotikaRodokmenRohovkaRokleRokokoRomanetoRopovodRopuchaRorejsRosolRostlinaRotmistrRotopedRotundaRoubenkaRouchoRoupRouraRovinaRovniceRozborRozchodRozdatRozeznatRozhodceRozinkaRozjezdRozkazRozlohaRozmarRozpadRozruchRozsahRoztokRozumRozvodRubrikaRuchadloRukaviceRukopisRybaRybolovRychlostRydloRypadloRytinaRyzostSadistaSahatSakoSamecSamizdatSamotaSanitkaSardinkaSasankaSatelitSazbaSazeniceSborSchovatSebrankaSeceseSedadloSedimentSedloSehnatSejmoutSekeraSektaSekundaSekvojeSemenoSenoServisSesaditSeshoraSeskokSeslatSestraSesuvSesypatSetbaSetinaSetkatSetnoutSetrvatSeverSeznamShodaShrnoutSifonSilniceSirkaSirotekSirupSituaceSkafandrSkaliskoSkanzenSkautSkeptikSkicaSkladbaSkleniceSkloSkluzSkobaSkokanSkoroSkriptaSkrzSkupinaSkvostSkvrnaSlabikaSladidloSlaninaSlastSlavnostSledovatSlepecSlevaSlezinaSlibSlinaSlizniceSlonSloupekSlovoSluchSluhaSlunceSlupkaSlzaSmaragdSmetanaSmilstvoSmlouvaSmogSmradSmrkSmrtkaSmutekSmyslSnadSnahaSnobSobotaSochaSodovkaSokolSopkaSotvaSoubojSoucitSoudceSouhlasSouladSoumrakSoupravaSousedSoutokSouvisetSpalovnaSpasitelSpisSplavSpodekSpojenecSpoluSponzorSpornostSpoustaSprchaSpustitSrandaSrazSrdceSrnaSrnecSrovnatSrpenSrstSrubStaniceStarostaStatikaStavbaStehnoStezkaStodolaStolekStopaStornoStoupatStrachStresStrhnoutStromStrunaStudnaStupniceStvolStykSubjektSubtropySucharSudostSuknoSundatSunoutSurikataSurovinaSvahSvalstvoSvetrSvatbaSvazekSvisleSvitekSvobodaSvodidloSvorkaSvrabSykavkaSykotSynekSynovecSypatSypkostSyrovostSyselSytostTabletkaTabuleTahounTajemnoTajfunTajgaTajitTajnostTaktikaTamhleTamponTancovatTanecTankerTapetaTaveninaTazatelTechnikaTehdyTekutinaTelefonTemnotaTendenceTenistaTenorTeplotaTepnaTeprveTerapieTermoskaTextilTichoTiskopisTitulekTkadlecTkaninaTlapkaTleskatTlukotTlupaTmelToaletaTopinkaTopolTorzoTouhaToulecTradiceTraktorTrampTrasaTraverzaTrefitTrestTrezorTrhavinaTrhlinaTrochuTrojiceTroskaTroubaTrpceTrpitelTrpkostTrubecTruchlitTruhliceTrusTrvatTudyTuhnoutTuhostTundraTuristaTurnajTuzemskoTvarohTvorbaTvrdostTvrzTygrTykevUbohostUbozeUbratUbrousekUbrusUbytovnaUchoUctivostUdivitUhraditUjednatUjistitUjmoutUkazatelUklidnitUklonitUkotvitUkrojitUliceUlitaUlovitUmyvadloUnavitUniformaUniknoutUpadnoutUplatnitUplynoutUpoutatUpravitUranUrazitUsednoutUsilovatUsmrtitUsnadnitUsnoutUsouditUstlatUstrnoutUtahovatUtkatUtlumitUtonoutUtopenecUtrousitUvalitUvolnitUvozovkaUzdravitUzelUzeninaUzlinaUznatVagonValchaValounVanaVandalVanilkaVaranVarhanyVarovatVcelkuVchodVdovaVedroVegetaceVejceVelbloudVeletrhVelitelVelmocVelrybaVenkovVerandaVerzeVeselkaVeskrzeVesniceVespoduVestaVeterinaVeverkaVibraceVichrVideohraVidinaVidleVilaViniceVisetVitalitaVizeVizitkaVjezdVkladVkusVlajkaVlakVlasecVlevoVlhkostVlivVlnovkaVloupatVnucovatVnukVodaVodivostVodoznakVodstvoVojenskyVojnaVojskoVolantVolbaVolitVolnoVoskovkaVozidloVozovnaVpravoVrabecVracetVrahVrataVrbaVrcholekVrhatVrstvaVrtuleVsaditVstoupitVstupVtipVybavitVybratVychovatVydatVydraVyfotitVyhledatVyhnoutVyhoditVyhraditVyhubitVyjasnitVyjetVyjmoutVyklopitVykonatVylekatVymazatVymezitVymizetVymysletVynechatVynikatVynutitVypadatVyplatitVypravitVypustitVyrazitVyrovnatVyrvatVyslovitVysokoVystavitVysunoutVysypatVytasitVytesatVytratitVyvinoutVyvolatVyvrhelVyzdobitVyznatVzaduVzbuditVzchopitVzdorVzduchVzdychatVzestupVzhledemVzkazVzlykatVznikVzorekVzpouraVztahVztekXylofonZabratZabydletZachovatZadarmoZadusitZafoukatZahltitZahoditZahradaZahynoutZajatecZajetZajistitZaklepatZakoupitZalepitZamezitZamotatZamysletZanechatZanikatZaplatitZapojitZapsatZarazitZastavitZasunoutZatajitZatemnitZatknoutZaujmoutZavalitZaveletZavinitZavolatZavrtatZazvonitZbavitZbrusuZbudovatZbytekZdalekaZdarmaZdatnostZdivoZdobitZdrojZdvihZdymadloZeleninaZemanZeminaZeptatZezaduZezdolaZhatitZhltnoutZhlubokaZhotovitZhrubaZimaZimniceZjemnitZklamatZkoumatZkratkaZkumavkaZlatoZlehkaZlobaZlomZlostZlozvykZmapovatZmarZmatekZmijeZmizetZmocnitZmodratZmrzlinaZmutovatZnakZnalostZnamenatZnovuZobrazitZotavitZoubekZoufaleZploditZpomalitZpravaZprostitZprudkaZprvuZradaZranitZrcadloZrnitostZrnoZrovnaZrychlitZrzavostZtichaZtratitZubovinaZubrZvednoutZvenkuZveselaZvonZvratZvukovodZvyk";var In=null;function loadWords(Wt){if(In!=null){return}In=an.replace(/([A-Z])/g," $1").toLowerCase().substring(1).split(" ");if(nn.Wordlist.check(Wt)!=="0x25f44555f4af25b51a711136e1c7d6e50ce9f8917d39d6b1f076b2bb4d2fac1a"){In=null;throw new Error("BIP39 Wordlist for en (English) FAILED")}}var rn=function(Wt){tn(LangCz,Wt);function LangCz(){return Wt.call(this,"cz")||this}LangCz.prototype.getWord=function(Wt){loadWords(this);return In[Wt]};LangCz.prototype.getWordIndex=function(Wt){loadWords(this);return In.indexOf(Wt)};return LangCz}(nn.Wordlist);var sn=new rn;Pt.langCz=sn;nn.Wordlist.register(sn)},73120:function(Wt,Pt,en){var tn=this&&this.__extends||function(){var extendStatics=function(Wt,Pt){extendStatics=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(Wt,Pt){Wt.__proto__=Pt}||function(Wt,Pt){for(var en in Pt)if(Object.prototype.hasOwnProperty.call(Pt,en))Wt[en]=Pt[en]};return extendStatics(Wt,Pt)};return function(Wt,Pt){if(typeof Pt!=="function"&&Pt!==null)throw new TypeError("Class extends value "+String(Pt)+" is not a constructor or null");extendStatics(Wt,Pt);function __(){this.constructor=Wt}Wt.prototype=Pt===null?Object.create(Pt):(__.prototype=Pt.prototype,new __)}}();Object.defineProperty(Pt,"__esModule",{value:true});Pt.langEn=void 0;var nn=en(18210);var an="AbandonAbilityAbleAboutAboveAbsentAbsorbAbstractAbsurdAbuseAccessAccidentAccountAccuseAchieveAcidAcousticAcquireAcrossActActionActorActressActualAdaptAddAddictAddressAdjustAdmitAdultAdvanceAdviceAerobicAffairAffordAfraidAgainAgeAgentAgreeAheadAimAirAirportAisleAlarmAlbumAlcoholAlertAlienAllAlleyAllowAlmostAloneAlphaAlreadyAlsoAlterAlwaysAmateurAmazingAmongAmountAmusedAnalystAnchorAncientAngerAngleAngryAnimalAnkleAnnounceAnnualAnotherAnswerAntennaAntiqueAnxietyAnyApartApologyAppearAppleApproveAprilArchArcticAreaArenaArgueArmArmedArmorArmyAroundArrangeArrestArriveArrowArtArtefactArtistArtworkAskAspectAssaultAssetAssistAssumeAsthmaAthleteAtomAttackAttendAttitudeAttractAuctionAuditAugustAuntAuthorAutoAutumnAverageAvocadoAvoidAwakeAwareAwayAwesomeAwfulAwkwardAxisBabyBachelorBaconBadgeBagBalanceBalconyBallBambooBananaBannerBarBarelyBargainBarrelBaseBasicBasketBattleBeachBeanBeautyBecauseBecomeBeefBeforeBeginBehaveBehindBelieveBelowBeltBenchBenefitBestBetrayBetterBetweenBeyondBicycleBidBikeBindBiologyBirdBirthBitterBlackBladeBlameBlanketBlastBleakBlessBlindBloodBlossomBlouseBlueBlurBlushBoardBoatBodyBoilBombBoneBonusBookBoostBorderBoringBorrowBossBottomBounceBoxBoyBracketBrainBrandBrassBraveBreadBreezeBrickBridgeBriefBrightBringBriskBroccoliBrokenBronzeBroomBrotherBrownBrushBubbleBuddyBudgetBuffaloBuildBulbBulkBulletBundleBunkerBurdenBurgerBurstBusBusinessBusyButterBuyerBuzzCabbageCabinCableCactusCageCakeCallCalmCameraCampCanCanalCancelCandyCannonCanoeCanvasCanyonCapableCapitalCaptainCarCarbonCardCargoCarpetCarryCartCaseCashCasinoCastleCasualCatCatalogCatchCategoryCattleCaughtCauseCautionCaveCeilingCeleryCementCensusCenturyCerealCertainChairChalkChampionChangeChaosChapterChargeChaseChatCheapCheckCheeseChefCherryChestChickenChiefChildChimneyChoiceChooseChronicChuckleChunkChurnCigarCinnamonCircleCitizenCityCivilClaimClapClarifyClawClayCleanClerkCleverClickClientCliffClimbClinicClipClockClogCloseClothCloudClownClubClumpClusterClutchCoachCoastCoconutCodeCoffeeCoilCoinCollectColorColumnCombineComeComfortComicCommonCompanyConcertConductConfirmCongressConnectConsiderControlConvinceCookCoolCopperCopyCoralCoreCornCorrectCostCottonCouchCountryCoupleCourseCousinCoverCoyoteCrackCradleCraftCramCraneCrashCraterCrawlCrazyCreamCreditCreekCrewCricketCrimeCrispCriticCropCrossCrouchCrowdCrucialCruelCruiseCrumbleCrunchCrushCryCrystalCubeCultureCupCupboardCuriousCurrentCurtainCurveCushionCustomCuteCycleDadDamageDampDanceDangerDaringDashDaughterDawnDayDealDebateDebrisDecadeDecemberDecideDeclineDecorateDecreaseDeerDefenseDefineDefyDegreeDelayDeliverDemandDemiseDenialDentistDenyDepartDependDepositDepthDeputyDeriveDescribeDesertDesignDeskDespairDestroyDetailDetectDevelopDeviceDevoteDiagramDialDiamondDiaryDiceDieselDietDifferDigitalDignityDilemmaDinnerDinosaurDirectDirtDisagreeDiscoverDiseaseDishDismissDisorderDisplayDistanceDivertDivideDivorceDizzyDoctorDocumentDogDollDolphinDomainDonateDonkeyDonorDoorDoseDoubleDoveDraftDragonDramaDrasticDrawDreamDressDriftDrillDrinkDripDriveDropDrumDryDuckDumbDuneDuringDustDutchDutyDwarfDynamicEagerEagleEarlyEarnEarthEasilyEastEasyEchoEcologyEconomyEdgeEditEducateEffortEggEightEitherElbowElderElectricElegantElementElephantElevatorEliteElseEmbarkEmbodyEmbraceEmergeEmotionEmployEmpowerEmptyEnableEnactEndEndlessEndorseEnemyEnergyEnforceEngageEngineEnhanceEnjoyEnlistEnoughEnrichEnrollEnsureEnterEntireEntryEnvelopeEpisodeEqualEquipEraEraseErodeErosionErrorEruptEscapeEssayEssenceEstateEternalEthicsEvidenceEvilEvokeEvolveExactExampleExcessExchangeExciteExcludeExcuseExecuteExerciseExhaustExhibitExileExistExitExoticExpandExpectExpireExplainExposeExpressExtendExtraEyeEyebrowFabricFaceFacultyFadeFaintFaithFallFalseFameFamilyFamousFanFancyFantasyFarmFashionFatFatalFatherFatigueFaultFavoriteFeatureFebruaryFederalFeeFeedFeelFemaleFenceFestivalFetchFeverFewFiberFictionFieldFigureFileFilmFilterFinalFindFineFingerFinishFireFirmFirstFiscalFishFitFitnessFixFlagFlameFlashFlatFlavorFleeFlightFlipFloatFlockFloorFlowerFluidFlushFlyFoamFocusFogFoilFoldFollowFoodFootForceForestForgetForkFortuneForumForwardFossilFosterFoundFoxFragileFrameFrequentFreshFriendFringeFrogFrontFrostFrownFrozenFruitFuelFunFunnyFurnaceFuryFutureGadgetGainGalaxyGalleryGameGapGarageGarbageGardenGarlicGarmentGasGaspGateGatherGaugeGazeGeneralGeniusGenreGentleGenuineGestureGhostGiantGiftGiggleGingerGiraffeGirlGiveGladGlanceGlareGlassGlideGlimpseGlobeGloomGloryGloveGlowGlueGoatGoddessGoldGoodGooseGorillaGospelGossipGovernGownGrabGraceGrainGrantGrapeGrassGravityGreatGreenGridGriefGritGroceryGroupGrowGruntGuardGuessGuideGuiltGuitarGunGymHabitHairHalfHammerHamsterHandHappyHarborHardHarshHarvestHatHaveHawkHazardHeadHealthHeartHeavyHedgehogHeightHelloHelmetHelpHenHeroHiddenHighHillHintHipHireHistoryHobbyHockeyHoldHoleHolidayHollowHomeHoneyHoodHopeHornHorrorHorseHospitalHostHotelHourHoverHubHugeHumanHumbleHumorHundredHungryHuntHurdleHurryHurtHusbandHybridIceIconIdeaIdentifyIdleIgnoreIllIllegalIllnessImageImitateImmenseImmuneImpactImposeImproveImpulseInchIncludeIncomeIncreaseIndexIndicateIndoorIndustryInfantInflictInformInhaleInheritInitialInjectInjuryInmateInnerInnocentInputInquiryInsaneInsectInsideInspireInstallIntactInterestIntoInvestInviteInvolveIronIslandIsolateIssueItemIvoryJacketJaguarJarJazzJealousJeansJellyJewelJobJoinJokeJourneyJoyJudgeJuiceJumpJungleJuniorJunkJustKangarooKeenKeepKetchupKeyKickKidKidneyKindKingdomKissKitKitchenKiteKittenKiwiKneeKnifeKnockKnowLabLabelLaborLadderLadyLakeLampLanguageLaptopLargeLaterLatinLaughLaundryLavaLawLawnLawsuitLayerLazyLeaderLeafLearnLeaveLectureLeftLegLegalLegendLeisureLemonLendLengthLensLeopardLessonLetterLevelLiarLibertyLibraryLicenseLifeLiftLightLikeLimbLimitLinkLionLiquidListLittleLiveLizardLoadLoanLobsterLocalLockLogicLonelyLongLoopLotteryLoudLoungeLoveLoyalLuckyLuggageLumberLunarLunchLuxuryLyricsMachineMadMagicMagnetMaidMailMainMajorMakeMammalManManageMandateMangoMansionManualMapleMarbleMarchMarginMarineMarketMarriageMaskMassMasterMatchMaterialMathMatrixMatterMaximumMazeMeadowMeanMeasureMeatMechanicMedalMediaMelodyMeltMemberMemoryMentionMenuMercyMergeMeritMerryMeshMessageMetalMethodMiddleMidnightMilkMillionMimicMindMinimumMinorMinuteMiracleMirrorMiseryMissMistakeMixMixedMixtureMobileModelModifyMomMomentMonitorMonkeyMonsterMonthMoonMoralMoreMorningMosquitoMotherMotionMotorMountainMouseMoveMovieMuchMuffinMuleMultiplyMuscleMuseumMushroomMusicMustMutualMyselfMysteryMythNaiveNameNapkinNarrowNastyNationNatureNearNeckNeedNegativeNeglectNeitherNephewNerveNestNetNetworkNeutralNeverNewsNextNiceNightNobleNoiseNomineeNoodleNormalNorthNoseNotableNoteNothingNoticeNovelNowNuclearNumberNurseNutOakObeyObjectObligeObscureObserveObtainObviousOccurOceanOctoberOdorOffOfferOfficeOftenOilOkayOldOliveOlympicOmitOnceOneOnionOnlineOnlyOpenOperaOpinionOpposeOptionOrangeOrbitOrchardOrderOrdinaryOrganOrientOriginalOrphanOstrichOtherOutdoorOuterOutputOutsideOvalOvenOverOwnOwnerOxygenOysterOzonePactPaddlePagePairPalacePalmPandaPanelPanicPantherPaperParadeParentParkParrotPartyPassPatchPathPatientPatrolPatternPausePavePaymentPeacePeanutPearPeasantPelicanPenPenaltyPencilPeoplePepperPerfectPermitPersonPetPhonePhotoPhrasePhysicalPianoPicnicPicturePiecePigPigeonPillPilotPinkPioneerPipePistolPitchPizzaPlacePlanetPlasticPlatePlayPleasePledgePluckPlugPlungePoemPoetPointPolarPolePolicePondPonyPoolPopularPortionPositionPossiblePostPotatoPotteryPovertyPowderPowerPracticePraisePredictPreferPreparePresentPrettyPreventPricePridePrimaryPrintPriorityPrisonPrivatePrizeProblemProcessProduceProfitProgramProjectPromoteProofPropertyProsperProtectProudProvidePublicPuddingPullPulpPulsePumpkinPunchPupilPuppyPurchasePurityPurposePursePushPutPuzzlePyramidQualityQuantumQuarterQuestionQuickQuitQuizQuoteRabbitRaccoonRaceRackRadarRadioRailRainRaiseRallyRampRanchRandomRangeRapidRareRateRatherRavenRawRazorReadyRealReasonRebelRebuildRecallReceiveRecipeRecordRecycleReduceReflectReformRefuseRegionRegretRegularRejectRelaxReleaseReliefRelyRemainRememberRemindRemoveRenderRenewRentReopenRepairRepeatReplaceReportRequireRescueResembleResistResourceResponseResultRetireRetreatReturnReunionRevealReviewRewardRhythmRibRibbonRiceRichRideRidgeRifleRightRigidRingRiotRippleRiskRitualRivalRiverRoadRoastRobotRobustRocketRomanceRoofRookieRoomRoseRotateRoughRoundRouteRoyalRubberRudeRugRuleRunRunwayRuralSadSaddleSadnessSafeSailSaladSalmonSalonSaltSaluteSameSampleSandSatisfySatoshiSauceSausageSaveSayScaleScanScareScatterSceneSchemeSchoolScienceScissorsScorpionScoutScrapScreenScriptScrubSeaSearchSeasonSeatSecondSecretSectionSecuritySeedSeekSegmentSelectSellSeminarSeniorSenseSentenceSeriesServiceSessionSettleSetupSevenShadowShaftShallowShareShedShellSheriffShieldShiftShineShipShiverShockShoeShootShopShortShoulderShoveShrimpShrugShuffleShySiblingSickSideSiegeSightSignSilentSilkSillySilverSimilarSimpleSinceSingSirenSisterSituateSixSizeSkateSketchSkiSkillSkinSkirtSkullSlabSlamSleepSlenderSliceSlideSlightSlimSloganSlotSlowSlushSmallSmartSmileSmokeSmoothSnackSnakeSnapSniffSnowSoapSoccerSocialSockSodaSoftSolarSoldierSolidSolutionSolveSomeoneSongSoonSorrySortSoulSoundSoupSourceSouthSpaceSpareSpatialSpawnSpeakSpecialSpeedSpellSpendSphereSpiceSpiderSpikeSpinSpiritSplitSpoilSponsorSpoonSportSpotSpraySpreadSpringSpySquareSqueezeSquirrelStableStadiumStaffStageStairsStampStandStartStateStaySteakSteelStemStepStereoStickStillStingStockStomachStoneStoolStoryStoveStrategyStreetStrikeStrongStruggleStudentStuffStumbleStyleSubjectSubmitSubwaySuccessSuchSuddenSufferSugarSuggestSuitSummerSunSunnySunsetSuperSupplySupremeSureSurfaceSurgeSurpriseSurroundSurveySuspectSustainSwallowSwampSwapSwarmSwearSweetSwiftSwimSwingSwitchSwordSymbolSymptomSyrupSystemTableTackleTagTailTalentTalkTankTapeTargetTaskTasteTattooTaxiTeachTeamTellTenTenantTennisTentTermTestTextThankThatThemeThenTheoryThereTheyThingThisThoughtThreeThriveThrowThumbThunderTicketTideTigerTiltTimberTimeTinyTipTiredTissueTitleToastTobaccoTodayToddlerToeTogetherToiletTokenTomatoTomorrowToneTongueTonightToolToothTopTopicToppleTorchTornadoTortoiseTossTotalTouristTowardTowerTownToyTrackTradeTrafficTragicTrainTransferTrapTrashTravelTrayTreatTreeTrendTrialTribeTrickTriggerTrimTripTrophyTroubleTruckTrueTrulyTrumpetTrustTruthTryTubeTuitionTumbleTunaTunnelTurkeyTurnTurtleTwelveTwentyTwiceTwinTwistTwoTypeTypicalUglyUmbrellaUnableUnawareUncleUncoverUnderUndoUnfairUnfoldUnhappyUniformUniqueUnitUniverseUnknownUnlockUntilUnusualUnveilUpdateUpgradeUpholdUponUpperUpsetUrbanUrgeUsageUseUsedUsefulUselessUsualUtilityVacantVacuumVagueValidValleyValveVanVanishVaporVariousVastVaultVehicleVelvetVendorVentureVenueVerbVerifyVersionVeryVesselVeteranViableVibrantViciousVictoryVideoViewVillageVintageViolinVirtualVirusVisaVisitVisualVitalVividVocalVoiceVoidVolcanoVolumeVoteVoyageWageWagonWaitWalkWallWalnutWantWarfareWarmWarriorWashWaspWasteWaterWaveWayWealthWeaponWearWeaselWeatherWebWeddingWeekendWeirdWelcomeWestWetWhaleWhatWheatWheelWhenWhereWhipWhisperWideWidthWifeWildWillWinWindowWineWingWinkWinnerWinterWireWisdomWiseWishWitnessWolfWomanWonderWoodWoolWordWorkWorldWorryWorthWrapWreckWrestleWristWriteWrongYardYearYellowYouYoungYouthZebraZeroZoneZoo";var In=null;function loadWords(Wt){if(In!=null){return}In=an.replace(/([A-Z])/g," $1").toLowerCase().substring(1).split(" ");if(nn.Wordlist.check(Wt)!=="0x3c8acc1e7b08d8e76f9fda015ef48dc8c710a73cb7e0f77b2c18a9b5a7adde60"){In=null;throw new Error("BIP39 Wordlist for en (English) FAILED")}}var rn=function(Wt){tn(LangEn,Wt);function LangEn(){return Wt.call(this,"en")||this}LangEn.prototype.getWord=function(Wt){loadWords(this);return In[Wt]};LangEn.prototype.getWordIndex=function(Wt){loadWords(this);return In.indexOf(Wt)};return LangEn}(nn.Wordlist);var sn=new rn;Pt.langEn=sn;nn.Wordlist.register(sn)},78091:function(Wt,Pt,en){var tn=this&&this.__extends||function(){var extendStatics=function(Wt,Pt){extendStatics=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(Wt,Pt){Wt.__proto__=Pt}||function(Wt,Pt){for(var en in Pt)if(Object.prototype.hasOwnProperty.call(Pt,en))Wt[en]=Pt[en]};return extendStatics(Wt,Pt)};return function(Wt,Pt){if(typeof Pt!=="function"&&Pt!==null)throw new TypeError("Class extends value "+String(Pt)+" is not a constructor or null");extendStatics(Wt,Pt);function __(){this.constructor=Wt}Wt.prototype=Pt===null?Object.create(Pt):(__.prototype=Pt.prototype,new __)}}();Object.defineProperty(Pt,"__esModule",{value:true});Pt.langEs=void 0;var nn=en(13859);var an=en(18210);var In="A/bacoAbdomenAbejaAbiertoAbogadoAbonoAbortoAbrazoAbrirAbueloAbusoAcabarAcademiaAccesoAccio/nAceiteAcelgaAcentoAceptarA/cidoAclararAcne/AcogerAcosoActivoActoActrizActuarAcudirAcuerdoAcusarAdictoAdmitirAdoptarAdornoAduanaAdultoAe/reoAfectarAficio/nAfinarAfirmarA/gilAgitarAgoni/aAgostoAgotarAgregarAgrioAguaAgudoA/guilaAgujaAhogoAhorroAireAislarAjedrezAjenoAjusteAlacra/nAlambreAlarmaAlbaA/lbumAlcaldeAldeaAlegreAlejarAlertaAletaAlfilerAlgaAlgodo/nAliadoAlientoAlivioAlmaAlmejaAlmi/barAltarAltezaAltivoAltoAlturaAlumnoAlzarAmableAmanteAmapolaAmargoAmasarA/mbarA/mbitoAmenoAmigoAmistadAmorAmparoAmplioAnchoAncianoAnclaAndarAnde/nAnemiaA/nguloAnilloA/nimoAni/sAnotarAntenaAntiguoAntojoAnualAnularAnuncioA~adirA~ejoA~oApagarAparatoApetitoApioAplicarApodoAporteApoyoAprenderAprobarApuestaApuroAradoAra~aArarA/rbitroA/rbolArbustoArchivoArcoArderArdillaArduoA/reaA/ridoAriesArmoni/aArne/sAromaArpaArpo/nArregloArrozArrugaArteArtistaAsaAsadoAsaltoAscensoAsegurarAseoAsesorAsientoAsiloAsistirAsnoAsombroA/speroAstillaAstroAstutoAsumirAsuntoAtajoAtaqueAtarAtentoAteoA/ticoAtletaA/tomoAtraerAtrozAtu/nAudazAudioAugeAulaAumentoAusenteAutorAvalAvanceAvaroAveAvellanaAvenaAvestruzAvio/nAvisoAyerAyudaAyunoAzafra/nAzarAzoteAzu/carAzufreAzulBabaBaborBacheBahi/aBaileBajarBalanzaBalco/nBaldeBambu/BancoBandaBa~oBarbaBarcoBarnizBarroBa/sculaBasto/nBasuraBatallaBateri/aBatirBatutaBau/lBazarBebe/BebidaBelloBesarBesoBestiaBichoBienBingoBlancoBloqueBlusaBoaBobinaBoboBocaBocinaBodaBodegaBoinaBolaBoleroBolsaBombaBondadBonitoBonoBonsa/iBordeBorrarBosqueBoteBoti/nBo/vedaBozalBravoBrazoBrechaBreveBrilloBrincoBrisaBrocaBromaBronceBroteBrujaBruscoBrutoBuceoBucleBuenoBueyBufandaBufo/nBu/hoBuitreBultoBurbujaBurlaBurroBuscarButacaBuzo/nCaballoCabezaCabinaCabraCacaoCada/verCadenaCaerCafe/Cai/daCaima/nCajaCajo/nCalCalamarCalcioCaldoCalidadCalleCalmaCalorCalvoCamaCambioCamelloCaminoCampoCa/ncerCandilCanelaCanguroCanicaCantoCa~aCa~o/nCaobaCaosCapazCapita/nCapoteCaptarCapuchaCaraCarbo/nCa/rcelCaretaCargaCari~oCarneCarpetaCarroCartaCasaCascoCaseroCaspaCastorCatorceCatreCaudalCausaCazoCebollaCederCedroCeldaCe/lebreCelosoCe/lulaCementoCenizaCentroCercaCerdoCerezaCeroCerrarCertezaCe/spedCetroChacalChalecoChampu/ChanclaChapaCharlaChicoChisteChivoChoqueChozaChuletaChuparCiclo/nCiegoCieloCienCiertoCifraCigarroCimaCincoCineCintaCipre/sCircoCiruelaCisneCitaCiudadClamorClanClaroClaseClaveClienteClimaCli/nicaCobreCoccio/nCochinoCocinaCocoCo/digoCodoCofreCogerCoheteCoji/nCojoColaColchaColegioColgarColinaCollarColmoColumnaCombateComerComidaCo/modoCompraCondeConejoCongaConocerConsejoContarCopaCopiaCorazo/nCorbataCorchoCordo/nCoronaCorrerCoserCosmosCostaCra/neoCra/terCrearCrecerCrei/doCremaCri/aCrimenCriptaCrisisCromoCro/nicaCroquetaCrudoCruzCuadroCuartoCuatroCuboCubrirCucharaCuelloCuentoCuerdaCuestaCuevaCuidarCulebraCulpaCultoCumbreCumplirCunaCunetaCuotaCupo/nCu/pulaCurarCuriosoCursoCurvaCutisDamaDanzaDarDardoDa/tilDeberDe/bilDe/cadaDecirDedoDefensaDefinirDejarDelfi/nDelgadoDelitoDemoraDensoDentalDeporteDerechoDerrotaDesayunoDeseoDesfileDesnudoDestinoDesvi/oDetalleDetenerDeudaDi/aDiabloDiademaDiamanteDianaDiarioDibujoDictarDienteDietaDiezDifi/cilDignoDilemaDiluirDineroDirectoDirigirDiscoDise~oDisfrazDivaDivinoDobleDoceDolorDomingoDonDonarDoradoDormirDorsoDosDosisDrago/nDrogaDuchaDudaDueloDue~oDulceDu/oDuqueDurarDurezaDuroE/banoEbrioEcharEcoEcuadorEdadEdicio/nEdificioEditorEducarEfectoEficazEjeEjemploElefanteElegirElementoElevarElipseE/liteElixirElogioEludirEmbudoEmitirEmocio/nEmpateEmpe~oEmpleoEmpresaEnanoEncargoEnchufeEnci/aEnemigoEneroEnfadoEnfermoEnga~oEnigmaEnlaceEnormeEnredoEnsayoEnse~arEnteroEntrarEnvaseEnvi/oE/pocaEquipoErizoEscalaEscenaEscolarEscribirEscudoEsenciaEsferaEsfuerzoEspadaEspejoEspi/aEsposaEspumaEsqui/EstarEsteEstiloEstufaEtapaEternoE/ticaEtniaEvadirEvaluarEventoEvitarExactoExamenExcesoExcusaExentoExigirExilioExistirE/xitoExpertoExplicarExponerExtremoFa/bricaFa/bulaFachadaFa/cilFactorFaenaFajaFaldaFalloFalsoFaltarFamaFamiliaFamosoFarao/nFarmaciaFarolFarsaFaseFatigaFaunaFavorFaxFebreroFechaFelizFeoFeriaFerozFe/rtilFervorFesti/nFiableFianzaFiarFibraFiccio/nFichaFideoFiebreFielFieraFiestaFiguraFijarFijoFilaFileteFilialFiltroFinFincaFingirFinitoFirmaFlacoFlautaFlechaFlorFlotaFluirFlujoFlu/orFobiaFocaFogataFogo/nFolioFolletoFondoFormaForroFortunaForzarFosaFotoFracasoFra/gilFranjaFraseFraudeFrei/rFrenoFresaFri/oFritoFrutaFuegoFuenteFuerzaFugaFumarFuncio/nFundaFurgo/nFuriaFusilFu/tbolFuturoGacelaGafasGaitaGajoGalaGaleri/aGalloGambaGanarGanchoGangaGansoGarajeGarzaGasolinaGastarGatoGavila/nGemeloGemirGenGe/neroGenioGenteGeranioGerenteGermenGestoGiganteGimnasioGirarGiroGlaciarGloboGloriaGolGolfoGolosoGolpeGomaGordoGorilaGorraGotaGoteoGozarGradaGra/ficoGranoGrasaGratisGraveGrietaGrilloGripeGrisGritoGrosorGru/aGruesoGrumoGrupoGuanteGuapoGuardiaGuerraGui/aGui~oGuionGuisoGuitarraGusanoGustarHaberHa/bilHablarHacerHachaHadaHallarHamacaHarinaHazHaza~aHebillaHebraHechoHeladoHelioHembraHerirHermanoHe/roeHervirHieloHierroHi/gadoHigieneHijoHimnoHistoriaHocicoHogarHogueraHojaHombreHongoHonorHonraHoraHormigaHornoHostilHoyoHuecoHuelgaHuertaHuesoHuevoHuidaHuirHumanoHu/medoHumildeHumoHundirHuraca/nHurtoIconoIdealIdiomaI/doloIglesiaIglu/IgualIlegalIlusio/nImagenIma/nImitarImparImperioImponerImpulsoIncapazI/ndiceInerteInfielInformeIngenioInicioInmensoInmuneInnatoInsectoInstanteIntere/sI/ntimoIntuirInu/tilInviernoIraIrisIroni/aIslaIsloteJabali/Jabo/nJamo/nJarabeJardi/nJarraJaulaJazmi/nJefeJeringaJineteJornadaJorobaJovenJoyaJuergaJuevesJuezJugadorJugoJugueteJuicioJuncoJunglaJunioJuntarJu/piterJurarJustoJuvenilJuzgarKiloKoalaLabioLacioLacraLadoLadro/nLagartoLa/grimaLagunaLaicoLamerLa/minaLa/mparaLanaLanchaLangostaLanzaLa/pizLargoLarvaLa/stimaLataLa/texLatirLaurelLavarLazoLealLeccio/nLecheLectorLeerLegio/nLegumbreLejanoLenguaLentoLe~aLeo/nLeopardoLesio/nLetalLetraLeveLeyendaLibertadLibroLicorLi/derLidiarLienzoLigaLigeroLimaLi/miteLimo/nLimpioLinceLindoLi/neaLingoteLinoLinternaLi/quidoLisoListaLiteraLitioLitroLlagaLlamaLlantoLlaveLlegarLlenarLlevarLlorarLloverLluviaLoboLocio/nLocoLocuraLo/gicaLogroLombrizLomoLonjaLoteLuchaLucirLugarLujoLunaLunesLupaLustroLutoLuzMacetaMachoMaderaMadreMaduroMaestroMafiaMagiaMagoMai/zMaldadMaletaMallaMaloMama/MamboMamutMancoMandoManejarMangaManiqui/ManjarManoMansoMantaMa~anaMapaMa/quinaMarMarcoMareaMarfilMargenMaridoMa/rmolMarro/nMartesMarzoMasaMa/scaraMasivoMatarMateriaMatizMatrizMa/ximoMayorMazorcaMechaMedallaMedioMe/dulaMejillaMejorMelenaMelo/nMemoriaMenorMensajeMenteMenu/MercadoMerengueMe/ritoMesMeso/nMetaMeterMe/todoMetroMezclaMiedoMielMiembroMigaMilMilagroMilitarMillo/nMimoMinaMineroMi/nimoMinutoMiopeMirarMisaMiseriaMisilMismoMitadMitoMochilaMocio/nModaModeloMohoMojarMoldeMolerMolinoMomentoMomiaMonarcaMonedaMonjaMontoMo~oMoradaMorderMorenoMorirMorroMorsaMortalMoscaMostrarMotivoMoverMo/vilMozoMuchoMudarMuebleMuelaMuerteMuestraMugreMujerMulaMuletaMultaMundoMu~ecaMuralMuroMu/sculoMuseoMusgoMu/sicaMusloNa/carNacio/nNadarNaipeNaranjaNarizNarrarNasalNatalNativoNaturalNa/useaNavalNaveNavidadNecioNe/ctarNegarNegocioNegroNeo/nNervioNetoNeutroNevarNeveraNichoNidoNieblaNietoNi~ezNi~oNi/tidoNivelNoblezaNocheNo/minaNoriaNormaNorteNotaNoticiaNovatoNovelaNovioNubeNucaNu/cleoNudilloNudoNueraNueveNuezNuloNu/meroNutriaOasisObesoObispoObjetoObraObreroObservarObtenerObvioOcaOcasoOce/anoOchentaOchoOcioOcreOctavoOctubreOcultoOcuparOcurrirOdiarOdioOdiseaOesteOfensaOfertaOficioOfrecerOgroOi/doOi/rOjoOlaOleadaOlfatoOlivoOllaOlmoOlorOlvidoOmbligoOndaOnzaOpacoOpcio/nO/peraOpinarOponerOptarO/pticaOpuestoOracio/nOradorOralO/rbitaOrcaOrdenOrejaO/rganoOrgi/aOrgulloOrienteOrigenOrillaOroOrquestaOrugaOsadi/aOscuroOseznoOsoOstraOto~oOtroOvejaO/vuloO/xidoOxi/genoOyenteOzonoPactoPadrePaellaPa/ginaPagoPai/sPa/jaroPalabraPalcoPaletaPa/lidoPalmaPalomaPalparPanPanalPa/nicoPanteraPa~ueloPapa/PapelPapillaPaquetePararParcelaParedParirParoPa/rpadoParquePa/rrafoPartePasarPaseoPasio/nPasoPastaPataPatioPatriaPausaPautaPavoPayasoPeato/nPecadoPeceraPechoPedalPedirPegarPeinePelarPelda~oPeleaPeligroPellejoPeloPelucaPenaPensarPe~o/nPeo/nPeorPepinoPeque~oPeraPerchaPerderPerezaPerfilPericoPerlaPermisoPerroPersonaPesaPescaPe/simoPesta~aPe/taloPetro/leoPezPezu~aPicarPicho/nPiePiedraPiernaPiezaPijamaPilarPilotoPimientaPinoPintorPinzaPi~aPiojoPipaPirataPisarPiscinaPisoPistaPito/nPizcaPlacaPlanPlataPlayaPlazaPleitoPlenoPlomoPlumaPluralPobrePocoPoderPodioPoemaPoesi/aPoetaPolenPolici/aPolloPolvoPomadaPomeloPomoPompaPonerPorcio/nPortalPosadaPoseerPosiblePostePotenciaPotroPozoPradoPrecozPreguntaPremioPrensaPresoPrevioPrimoPri/ncipePrisio/nPrivarProaProbarProcesoProductoProezaProfesorProgramaProlePromesaProntoPropioPro/ximoPruebaPu/blicoPucheroPudorPuebloPuertaPuestoPulgaPulirPulmo/nPulpoPulsoPumaPuntoPu~alPu~oPupaPupilaPure/QuedarQuejaQuemarQuererQuesoQuietoQui/micaQuinceQuitarRa/banoRabiaRaboRacio/nRadicalRai/zRamaRampaRanchoRangoRapazRa/pidoRaptoRasgoRaspaRatoRayoRazaRazo/nReaccio/nRealidadReba~oReboteRecaerRecetaRechazoRecogerRecreoRectoRecursoRedRedondoReducirReflejoReformaRefra/nRefugioRegaloRegirReglaRegresoRehe/nReinoRei/rRejaRelatoRelevoRelieveRellenoRelojRemarRemedioRemoRencorRendirRentaRepartoRepetirReposoReptilResRescateResinaRespetoRestoResumenRetiroRetornoRetratoReunirReve/sRevistaReyRezarRicoRiegoRiendaRiesgoRifaRi/gidoRigorRinco/nRi~o/nRi/oRiquezaRisaRitmoRitoRizoRobleRoceRociarRodarRodeoRodillaRoerRojizoRojoRomeroRomperRonRoncoRondaRopaRoperoRosaRoscaRostroRotarRubi/RuborRudoRuedaRugirRuidoRuinaRuletaRuloRumboRumorRupturaRutaRutinaSa/badoSaberSabioSableSacarSagazSagradoSalaSaldoSaleroSalirSalmo/nSalo/nSalsaSaltoSaludSalvarSambaSancio/nSandi/aSanearSangreSanidadSanoSantoSapoSaqueSardinaSarte/nSastreSata/nSaunaSaxofo/nSeccio/nSecoSecretoSectaSedSeguirSeisSelloSelvaSemanaSemillaSendaSensorSe~alSe~orSepararSepiaSequi/aSerSerieSermo/nServirSesentaSesio/nSetaSetentaSeveroSexoSextoSidraSiestaSieteSigloSignoSi/labaSilbarSilencioSillaSi/mboloSimioSirenaSistemaSitioSituarSobreSocioSodioSolSolapaSoldadoSoledadSo/lidoSoltarSolucio/nSombraSondeoSonidoSonoroSonrisaSopaSoplarSoporteSordoSorpresaSorteoSoste/nSo/tanoSuaveSubirSucesoSudorSuegraSueloSue~oSuerteSufrirSujetoSulta/nSumarSuperarSuplirSuponerSupremoSurSurcoSure~oSurgirSustoSutilTabacoTabiqueTablaTabu/TacoTactoTajoTalarTalcoTalentoTallaTalo/nTama~oTamborTangoTanqueTapaTapeteTapiaTapo/nTaquillaTardeTareaTarifaTarjetaTarotTarroTartaTatuajeTauroTazaTazo/nTeatroTechoTeclaTe/cnicaTejadoTejerTejidoTelaTele/fonoTemaTemorTemploTenazTenderTenerTenisTensoTeori/aTerapiaTercoTe/rminoTernuraTerrorTesisTesoroTestigoTeteraTextoTezTibioTiburo/nTiempoTiendaTierraTiesoTigreTijeraTildeTimbreTi/midoTimoTintaTi/oTi/picoTipoTiraTiro/nTita/nTi/tereTi/tuloTizaToallaTobilloTocarTocinoTodoTogaToldoTomarTonoTontoToparTopeToqueTo/raxToreroTormentaTorneoToroTorpedoTorreTorsoTortugaTosToscoToserTo/xicoTrabajoTractorTraerTra/ficoTragoTrajeTramoTranceTratoTraumaTrazarTre/bolTreguaTreintaTrenTreparTresTribuTrigoTripaTristeTriunfoTrofeoTrompaTroncoTropaTroteTrozoTrucoTruenoTrufaTuberi/aTuboTuertoTumbaTumorTu/nelTu/nicaTurbinaTurismoTurnoTutorUbicarU/lceraUmbralUnidadUnirUniversoUnoUntarU~aUrbanoUrbeUrgenteUrnaUsarUsuarioU/tilUtopi/aUvaVacaVaci/oVacunaVagarVagoVainaVajillaValeVa/lidoValleValorVa/lvulaVampiroVaraVariarVaro/nVasoVecinoVectorVehi/culoVeinteVejezVelaVeleroVelozVenaVencerVendaVenenoVengarVenirVentaVenusVerVeranoVerboVerdeVeredaVerjaVersoVerterVi/aViajeVibrarVicioVi/ctimaVidaVi/deoVidrioViejoViernesVigorVilVillaVinagreVinoVi~edoVioli/nViralVirgoVirtudVisorVi/speraVistaVitaminaViudoVivazViveroVivirVivoVolca/nVolumenVolverVorazVotarVotoVozVueloVulgarYacerYateYeguaYemaYernoYesoYodoYogaYogurZafiroZanjaZapatoZarzaZonaZorroZumoZurdo";var rn={};var sn=null;function dropDiacritic(Wt){an.logger.checkNormalize();return(0,nn.toUtf8String)(Array.prototype.filter.call((0,nn.toUtf8Bytes)(Wt.normalize("NFD").toLowerCase()),(function(Wt){return Wt>=65&&Wt<=90||Wt>=97&&Wt<=123})))}function expand(Wt){var Pt=[];Array.prototype.forEach.call((0,nn.toUtf8Bytes)(Wt),(function(Wt){if(Wt===47){Pt.push(204);Pt.push(129)}else if(Wt===126){Pt.push(110);Pt.push(204);Pt.push(131)}else{Pt.push(Wt)}}));return(0,nn.toUtf8String)(Pt)}function loadWords(Wt){if(sn!=null){return}sn=In.replace(/([A-Z])/g," $1").toLowerCase().substring(1).split(" ").map((function(Wt){return expand(Wt)}));sn.forEach((function(Wt,Pt){rn[dropDiacritic(Wt)]=Pt}));if(an.Wordlist.check(Wt)!=="0xf74fb7092aeacdfbf8959557de22098da512207fb9f109cb526994938cf40300"){sn=null;throw new Error("BIP39 Wordlist for es (Spanish) FAILED")}}var on=function(Wt){tn(LangEs,Wt);function LangEs(){return Wt.call(this,"es")||this}LangEs.prototype.getWord=function(Wt){loadWords(this);return sn[Wt]};LangEs.prototype.getWordIndex=function(Wt){loadWords(this);return rn[dropDiacritic(Wt)]};return LangEs}(an.Wordlist);var cn=new on;Pt.langEs=cn;an.Wordlist.register(cn)},58079:function(Wt,Pt,en){var tn=this&&this.__extends||function(){var extendStatics=function(Wt,Pt){extendStatics=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(Wt,Pt){Wt.__proto__=Pt}||function(Wt,Pt){for(var en in Pt)if(Object.prototype.hasOwnProperty.call(Pt,en))Wt[en]=Pt[en]};return extendStatics(Wt,Pt)};return function(Wt,Pt){if(typeof Pt!=="function"&&Pt!==null)throw new TypeError("Class extends value "+String(Pt)+" is not a constructor or null");extendStatics(Wt,Pt);function __(){this.constructor=Wt}Wt.prototype=Pt===null?Object.create(Pt):(__.prototype=Pt.prototype,new __)}}();Object.defineProperty(Pt,"__esModule",{value:true});Pt.langFr=void 0;var nn=en(13859);var an=en(18210);var In="AbaisserAbandonAbdiquerAbeilleAbolirAborderAboutirAboyerAbrasifAbreuverAbriterAbrogerAbruptAbsenceAbsoluAbsurdeAbusifAbyssalAcade/mieAcajouAcarienAccablerAccepterAcclamerAccoladeAccrocheAccuserAcerbeAchatAcheterAcidulerAcierAcompteAcque/rirAcronymeActeurActifActuelAdepteAde/quatAdhe/sifAdjectifAdjugerAdmettreAdmirerAdopterAdorerAdoucirAdresseAdroitAdulteAdverbeAe/rerAe/ronefAffaireAffecterAfficheAffreuxAffublerAgacerAgencerAgileAgiterAgraferAgre/ableAgrumeAiderAiguilleAilierAimableAisanceAjouterAjusterAlarmerAlchimieAlerteAlge-breAlgueAlie/nerAlimentAlle/gerAlliageAllouerAllumerAlourdirAlpagaAltesseAlve/oleAmateurAmbiguAmbreAme/nagerAmertumeAmidonAmiralAmorcerAmourAmovibleAmphibieAmpleurAmusantAnalyseAnaphoreAnarchieAnatomieAncienAne/antirAngleAngoisseAnguleuxAnimalAnnexerAnnonceAnnuelAnodinAnomalieAnonymeAnormalAntenneAntidoteAnxieuxApaiserApe/ritifAplanirApologieAppareilAppelerApporterAppuyerAquariumAqueducArbitreArbusteArdeurArdoiseArgentArlequinArmatureArmementArmoireArmureArpenterArracherArriverArroserArsenicArte/rielArticleAspectAsphalteAspirerAssautAsservirAssietteAssocierAssurerAsticotAstreAstuceAtelierAtomeAtriumAtroceAttaqueAttentifAttirerAttraperAubaineAubergeAudaceAudibleAugurerAuroreAutomneAutrucheAvalerAvancerAvariceAvenirAverseAveugleAviateurAvideAvionAviserAvoineAvouerAvrilAxialAxiomeBadgeBafouerBagageBaguetteBaignadeBalancerBalconBaleineBalisageBambinBancaireBandageBanlieueBannie-reBanquierBarbierBarilBaronBarqueBarrageBassinBastionBatailleBateauBatterieBaudrierBavarderBeletteBe/lierBeloteBe/ne/ficeBerceauBergerBerlineBermudaBesaceBesogneBe/tailBeurreBiberonBicycleBiduleBijouBilanBilingueBillardBinaireBiologieBiopsieBiotypeBiscuitBisonBistouriBitumeBizarreBlafardBlagueBlanchirBlessantBlinderBlondBloquerBlousonBobardBobineBoireBoiserBolideBonbonBondirBonheurBonifierBonusBordureBorneBotteBoucleBoueuxBougieBoulonBouquinBourseBoussoleBoutiqueBoxeurBrancheBrasierBraveBrebisBre-cheBreuvageBricolerBrigadeBrillantBriocheBriqueBrochureBroderBronzerBrousseBroyeurBrumeBrusqueBrutalBruyantBuffleBuissonBulletinBureauBurinBustierButinerButoirBuvableBuvetteCabanonCabineCachetteCadeauCadreCafe/ineCaillouCaissonCalculerCalepinCalibreCalmerCalomnieCalvaireCamaradeCame/raCamionCampagneCanalCanetonCanonCantineCanularCapableCaporalCapriceCapsuleCapterCapucheCarabineCarboneCaresserCaribouCarnageCarotteCarreauCartonCascadeCasierCasqueCassureCauserCautionCavalierCaverneCaviarCe/dilleCeintureCe/lesteCelluleCendrierCensurerCentralCercleCe/re/bralCeriseCernerCerveauCesserChagrinChaiseChaleurChambreChanceChapitreCharbonChasseurChatonChaussonChavirerChemiseChenilleChe/quierChercherChevalChienChiffreChignonChime-reChiotChlorureChocolatChoisirChoseChouetteChromeChuteCigareCigogneCimenterCine/maCintrerCirculerCirerCirqueCiterneCitoyenCitronCivilClaironClameurClaquerClasseClavierClientClignerClimatClivageClocheClonageCloporteCobaltCobraCocasseCocotierCoderCodifierCoffreCognerCohe/sionCoifferCoincerCole-reColibriCollineColmaterColonelCombatCome/dieCommandeCompactConcertConduireConfierCongelerConnoterConsonneContactConvexeCopainCopieCorailCorbeauCordageCornicheCorpusCorrectCorte-geCosmiqueCostumeCotonCoudeCoupureCourageCouteauCouvrirCoyoteCrabeCrainteCravateCrayonCre/atureCre/diterCre/meuxCreuserCrevetteCriblerCrierCristalCrite-reCroireCroquerCrotaleCrucialCruelCrypterCubiqueCueillirCuille-reCuisineCuivreCulminerCultiverCumulerCupideCuratifCurseurCyanureCycleCylindreCyniqueDaignerDamierDangerDanseurDauphinDe/battreDe/biterDe/borderDe/briderDe/butantDe/calerDe/cembreDe/chirerDe/ciderDe/clarerDe/corerDe/crireDe/cuplerDe/daleDe/ductifDe/esseDe/fensifDe/filerDe/frayerDe/gagerDe/givrerDe/glutirDe/graferDe/jeunerDe/liceDe/logerDemanderDemeurerDe/molirDe/nicherDe/nouerDentelleDe/nuderDe/partDe/penserDe/phaserDe/placerDe/poserDe/rangerDe/roberDe/sastreDescenteDe/sertDe/signerDe/sobe/irDessinerDestrierDe/tacherDe/testerDe/tourerDe/tresseDevancerDevenirDevinerDevoirDiableDialogueDiamantDicterDiffe/rerDige/rerDigitalDigneDiluerDimancheDiminuerDioxydeDirectifDirigerDiscuterDisposerDissiperDistanceDivertirDiviserDocileDocteurDogmeDoigtDomaineDomicileDompterDonateurDonjonDonnerDopamineDortoirDorureDosageDoseurDossierDotationDouanierDoubleDouceurDouterDoyenDragonDraperDresserDribblerDroitureDuperieDuplexeDurableDurcirDynastieE/blouirE/carterE/charpeE/chelleE/clairerE/clipseE/cloreE/cluseE/coleE/conomieE/corceE/couterE/craserE/cre/merE/crivainE/crouE/cumeE/cureuilE/difierE/duquerEffacerEffectifEffigieEffortEffrayerEffusionE/galiserE/garerE/jecterE/laborerE/largirE/lectronE/le/gantE/le/phantE/le-veE/ligibleE/litismeE/logeE/luciderE/luderEmballerEmbellirEmbryonE/meraudeE/missionEmmenerE/motionE/mouvoirEmpereurEmployerEmporterEmpriseE/mulsionEncadrerEnche-reEnclaveEncocheEndiguerEndosserEndroitEnduireE/nergieEnfanceEnfermerEnfouirEngagerEnginEngloberE/nigmeEnjamberEnjeuEnleverEnnemiEnnuyeuxEnrichirEnrobageEnseigneEntasserEntendreEntierEntourerEntraverE/nume/rerEnvahirEnviableEnvoyerEnzymeE/olienE/paissirE/pargneE/patantE/pauleE/picerieE/pide/mieE/pierE/pilogueE/pineE/pisodeE/pitapheE/poqueE/preuveE/prouverE/puisantE/querreE/quipeE/rigerE/rosionErreurE/ruptionEscalierEspadonEspe-ceEspie-gleEspoirEspritEsquiverEssayerEssenceEssieuEssorerEstimeEstomacEstradeE/tage-reE/talerE/tancheE/tatiqueE/teindreE/tendoirE/ternelE/thanolE/thiqueEthnieE/tirerE/tofferE/toileE/tonnantE/tourdirE/trangeE/troitE/tudeEuphorieE/valuerE/vasionE/ventailE/videnceE/viterE/volutifE/voquerExactExage/rerExaucerExcellerExcitantExclusifExcuseExe/cuterExempleExercerExhalerExhorterExigenceExilerExisterExotiqueExpe/dierExplorerExposerExprimerExquisExtensifExtraireExulterFableFabuleuxFacetteFacileFactureFaiblirFalaiseFameuxFamilleFarceurFarfeluFarineFaroucheFascinerFatalFatigueFauconFautifFaveurFavoriFe/brileFe/conderFe/de/rerFe/linFemmeFe/murFendoirFe/odalFermerFe/roceFerveurFestivalFeuilleFeutreFe/vrierFiascoFicelerFictifFide-leFigureFilatureFiletageFilie-reFilleulFilmerFilouFiltrerFinancerFinirFioleFirmeFissureFixerFlairerFlammeFlasqueFlatteurFle/auFle-cheFleurFlexionFloconFloreFluctuerFluideFluvialFolieFonderieFongibleFontaineForcerForgeronFormulerFortuneFossileFoudreFouge-reFouillerFoulureFourmiFragileFraiseFranchirFrapperFrayeurFre/gateFreinerFrelonFre/mirFre/ne/sieFre-reFriableFrictionFrissonFrivoleFroidFromageFrontalFrotterFruitFugitifFuiteFureurFurieuxFurtifFusionFuturGagnerGalaxieGalerieGambaderGarantirGardienGarnirGarrigueGazelleGazonGe/antGe/latineGe/luleGendarmeGe/ne/ralGe/nieGenouGentilGe/ologieGe/ome-treGe/raniumGermeGestuelGeyserGibierGiclerGirafeGivreGlaceGlaiveGlisserGlobeGloireGlorieuxGolfeurGommeGonflerGorgeGorilleGoudronGouffreGoulotGoupilleGourmandGoutteGraduelGraffitiGraineGrandGrappinGratuitGravirGrenatGriffureGrillerGrimperGrognerGronderGrotteGroupeGrugerGrutierGruye-reGue/pardGuerrierGuideGuimauveGuitareGustatifGymnasteGyrostatHabitudeHachoirHalteHameauHangarHannetonHaricotHarmonieHarponHasardHe/liumHe/matomeHerbeHe/rissonHermineHe/ronHe/siterHeureuxHibernerHibouHilarantHistoireHiverHomardHommageHomoge-neHonneurHonorerHonteuxHordeHorizonHorlogeHormoneHorribleHouleuxHousseHublotHuileuxHumainHumbleHumideHumourHurlerHydromelHygie-neHymneHypnoseIdylleIgnorerIguaneIlliciteIllusionImageImbiberImiterImmenseImmobileImmuableImpactImpe/rialImplorerImposerImprimerImputerIncarnerIncendieIncidentInclinerIncoloreIndexerIndiceInductifIne/ditIneptieInexactInfiniInfligerInformerInfusionInge/rerInhalerInhiberInjecterInjureInnocentInoculerInonderInscrireInsecteInsigneInsoliteInspirerInstinctInsulterIntactIntenseIntimeIntrigueIntuitifInutileInvasionInventerInviterInvoquerIroniqueIrradierIrre/elIrriterIsolerIvoireIvresseJaguarJaillirJambeJanvierJardinJaugerJauneJavelotJetableJetonJeudiJeunesseJoindreJoncherJonglerJoueurJouissifJournalJovialJoyauJoyeuxJubilerJugementJuniorJuponJuristeJusticeJuteuxJuve/nileKayakKimonoKiosqueLabelLabialLabourerLace/rerLactoseLaguneLaineLaisserLaitierLambeauLamelleLampeLanceurLangageLanterneLapinLargeurLarmeLaurierLavaboLavoirLectureLe/galLe/gerLe/gumeLessiveLettreLevierLexiqueLe/zardLiasseLibe/rerLibreLicenceLicorneLie-geLie-vreLigatureLigoterLigueLimerLimiteLimonadeLimpideLine/aireLingotLionceauLiquideLisie-reListerLithiumLitigeLittoralLivreurLogiqueLointainLoisirLombricLoterieLouerLourdLoutreLouveLoyalLubieLucideLucratifLueurLugubreLuisantLumie-reLunaireLundiLuronLutterLuxueuxMachineMagasinMagentaMagiqueMaigreMaillonMaintienMairieMaisonMajorerMalaxerMale/ficeMalheurMaliceMalletteMammouthMandaterManiableManquantManteauManuelMarathonMarbreMarchandMardiMaritimeMarqueurMarronMartelerMascotteMassifMate/rielMatie-reMatraqueMaudireMaussadeMauveMaximalMe/chantMe/connuMe/dailleMe/decinMe/diterMe/duseMeilleurMe/langeMe/lodieMembreMe/moireMenacerMenerMenhirMensongeMentorMercrediMe/riteMerleMessagerMesureMe/talMe/te/oreMe/thodeMe/tierMeubleMiaulerMicrobeMietteMignonMigrerMilieuMillionMimiqueMinceMine/ralMinimalMinorerMinuteMiracleMiroiterMissileMixteMobileModerneMoelleuxMondialMoniteurMonnaieMonotoneMonstreMontagneMonumentMoqueurMorceauMorsureMortierMoteurMotifMoucheMoufleMoulinMoussonMoutonMouvantMultipleMunitionMurailleMure-neMurmureMuscleMuse/umMusicienMutationMuterMutuelMyriadeMyrtilleMyste-reMythiqueNageurNappeNarquoisNarrerNatationNationNatureNaufrageNautiqueNavireNe/buleuxNectarNe/fasteNe/gationNe/gligerNe/gocierNeigeNerveuxNettoyerNeuroneNeutronNeveuNicheNickelNitrateNiveauNobleNocifNocturneNoirceurNoisetteNomadeNombreuxNommerNormatifNotableNotifierNotoireNourrirNouveauNovateurNovembreNoviceNuageNuancerNuireNuisibleNume/roNuptialNuqueNutritifObe/irObjectifObligerObscurObserverObstacleObtenirObturerOccasionOccuperOce/anOctobreOctroyerOctuplerOculaireOdeurOdorantOffenserOfficierOffrirOgiveOiseauOisillonOlfactifOlivierOmbrageOmettreOnctueuxOndulerOne/reuxOniriqueOpaleOpaqueOpe/rerOpinionOpportunOpprimerOpterOptiqueOrageuxOrangeOrbiteOrdonnerOreilleOrganeOrgueilOrificeOrnementOrqueOrtieOscillerOsmoseOssatureOtarieOuraganOursonOutilOutragerOuvrageOvationOxydeOxyge-neOzonePaisiblePalacePalmare-sPalourdePalperPanachePandaPangolinPaniquerPanneauPanoramaPantalonPapayePapierPapoterPapyrusParadoxeParcelleParesseParfumerParlerParoleParrainParsemerPartagerParureParvenirPassionPaste-quePaternelPatiencePatronPavillonPavoiserPayerPaysagePeignePeintrePelagePe/licanPellePelousePeluchePendulePe/ne/trerPe/niblePensifPe/nuriePe/pitePe/plumPerdrixPerforerPe/riodePermuterPerplexePersilPertePeserPe/talePetitPe/trirPeuplePharaonPhobiePhoquePhotonPhrasePhysiquePianoPicturalPie-cePierrePieuvrePilotePinceauPipettePiquerPiroguePiscinePistonPivoterPixelPizzaPlacardPlafondPlaisirPlanerPlaquePlastronPlateauPleurerPlexusPliagePlombPlongerPluiePlumagePochettePoe/siePoe-tePointePoirierPoissonPoivrePolairePolicierPollenPolygonePommadePompierPonctuelPonde/rerPoneyPortiquePositionPosse/derPosturePotagerPoteauPotionPoucePoulainPoumonPourprePoussinPouvoirPrairiePratiquePre/cieuxPre/direPre/fixePre/ludePre/nomPre/sencePre/textePre/voirPrimitifPrincePrisonPriverProble-meProce/derProdigeProfondProgre-sProieProjeterProloguePromenerPropreProspe-reProte/gerProuesseProverbePrudencePruneauPsychosePublicPuceronPuiserPulpePulsarPunaisePunitifPupitrePurifierPuzzlePyramideQuasarQuerelleQuestionQuie/tudeQuitterQuotientRacineRaconterRadieuxRagondinRaideurRaisinRalentirRallongeRamasserRapideRasageRatisserRavagerRavinRayonnerRe/actifRe/agirRe/aliserRe/animerRecevoirRe/citerRe/clamerRe/colterRecruterReculerRecyclerRe/digerRedouterRefaireRe/flexeRe/formerRefrainRefugeRe/galienRe/gionRe/glageRe/gulierRe/ite/rerRejeterRejouerRelatifReleverReliefRemarqueReme-deRemiseRemonterRemplirRemuerRenardRenfortReniflerRenoncerRentrerRenvoiReplierReporterRepriseReptileRequinRe/serveRe/sineuxRe/soudreRespectResterRe/sultatRe/tablirRetenirRe/ticuleRetomberRetracerRe/unionRe/ussirRevancheRevivreRe/volteRe/vulsifRichesseRideauRieurRigideRigolerRincerRiposterRisibleRisqueRituelRivalRivie-reRocheuxRomanceRompreRonceRondinRoseauRosierRotatifRotorRotuleRougeRouilleRouleauRoutineRoyaumeRubanRubisRucheRuelleRugueuxRuinerRuisseauRuserRustiqueRythmeSablerSaboterSabreSacocheSafariSagesseSaisirSaladeSaliveSalonSaluerSamediSanctionSanglierSarcasmeSardineSaturerSaugrenuSaumonSauterSauvageSavantSavonnerScalpelScandaleSce/le/ratSce/narioSceptreSche/maScienceScinderScoreScrutinSculpterSe/anceSe/cableSe/cherSecouerSe/cre/terSe/datifSe/duireSeigneurSe/jourSe/lectifSemaineSemblerSemenceSe/minalSe/nateurSensibleSentenceSe/parerSe/quenceSereinSergentSe/rieuxSerrureSe/rumServiceSe/sameSe/virSevrageSextupleSide/ralSie-cleSie/gerSifflerSigleSignalSilenceSiliciumSimpleSince-reSinistreSiphonSiropSismiqueSituerSkierSocialSocleSodiumSoigneuxSoldatSoleilSolitudeSolubleSombreSommeilSomnolerSondeSongeurSonnetteSonoreSorcierSortirSosieSottiseSoucieuxSoudureSouffleSouleverSoupapeSourceSoutirerSouvenirSpacieuxSpatialSpe/cialSphe-reSpiralStableStationSternumStimulusStipulerStrictStudieuxStupeurStylisteSublimeSubstratSubtilSubvenirSucce-sSucreSuffixeSugge/rerSuiveurSulfateSuperbeSupplierSurfaceSuricateSurmenerSurpriseSursautSurvieSuspectSyllabeSymboleSyme/trieSynapseSyntaxeSyste-meTabacTablierTactileTaillerTalentTalismanTalonnerTambourTamiserTangibleTapisTaquinerTarderTarifTartineTasseTatamiTatouageTaupeTaureauTaxerTe/moinTemporelTenailleTendreTeneurTenirTensionTerminerTerneTerribleTe/tineTexteThe-meThe/orieThe/rapieThoraxTibiaTie-deTimideTirelireTiroirTissuTitaneTitreTituberTobogganTole/rantTomateToniqueTonneauToponymeTorcheTordreTornadeTorpilleTorrentTorseTortueTotemToucherTournageTousserToxineTractionTraficTragiqueTrahirTrainTrancherTravailTre-fleTremperTre/sorTreuilTriageTribunalTricoterTrilogieTriompheTriplerTriturerTrivialTromboneTroncTropicalTroupeauTuileTulipeTumulteTunnelTurbineTuteurTutoyerTuyauTympanTyphonTypiqueTyranUbuesqueUltimeUltrasonUnanimeUnifierUnionUniqueUnitaireUniversUraniumUrbainUrticantUsageUsineUsuelUsureUtileUtopieVacarmeVaccinVagabondVagueVaillantVaincreVaisseauValableValiseVallonValveVampireVanilleVapeurVarierVaseuxVassalVasteVecteurVedetteVe/ge/talVe/hiculeVeinardVe/loceVendrediVe/ne/rerVengerVenimeuxVentouseVerdureVe/rinVernirVerrouVerserVertuVestonVe/te/ranVe/tusteVexantVexerViaducViandeVictoireVidangeVide/oVignetteVigueurVilainVillageVinaigreViolonVipe-reVirementVirtuoseVirusVisageViseurVisionVisqueuxVisuelVitalVitesseViticoleVitrineVivaceVivipareVocationVoguerVoileVoisinVoitureVolailleVolcanVoltigerVolumeVoraceVortexVoterVouloirVoyageVoyelleWagonXe/nonYachtZe-breZe/nithZesteZoologie";var rn=null;var sn={};function dropDiacritic(Wt){an.logger.checkNormalize();return(0,nn.toUtf8String)(Array.prototype.filter.call((0,nn.toUtf8Bytes)(Wt.normalize("NFD").toLowerCase()),(function(Wt){return Wt>=65&&Wt<=90||Wt>=97&&Wt<=123})))}function expand(Wt){var Pt=[];Array.prototype.forEach.call((0,nn.toUtf8Bytes)(Wt),(function(Wt){if(Wt===47){Pt.push(204);Pt.push(129)}else if(Wt===45){Pt.push(204);Pt.push(128)}else{Pt.push(Wt)}}));return(0,nn.toUtf8String)(Pt)}function loadWords(Wt){if(rn!=null){return}rn=In.replace(/([A-Z])/g," $1").toLowerCase().substring(1).split(" ").map((function(Wt){return expand(Wt)}));rn.forEach((function(Wt,Pt){sn[dropDiacritic(Wt)]=Pt}));if(an.Wordlist.check(Wt)!=="0x51deb7ae009149dc61a6bd18a918eb7ac78d2775726c68e598b92d002519b045"){rn=null;throw new Error("BIP39 Wordlist for fr (French) FAILED")}}var on=function(Wt){tn(LangFr,Wt);function LangFr(){return Wt.call(this,"fr")||this}LangFr.prototype.getWord=function(Wt){loadWords(this);return rn[Wt]};LangFr.prototype.getWordIndex=function(Wt){loadWords(this);return sn[dropDiacritic(Wt)]};return LangFr}(an.Wordlist);var cn=new on;Pt.langFr=cn;an.Wordlist.register(cn)},87054:function(Wt,Pt,en){var tn=this&&this.__extends||function(){var extendStatics=function(Wt,Pt){extendStatics=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(Wt,Pt){Wt.__proto__=Pt}||function(Wt,Pt){for(var en in Pt)if(Object.prototype.hasOwnProperty.call(Pt,en))Wt[en]=Pt[en]};return extendStatics(Wt,Pt)};return function(Wt,Pt){if(typeof Pt!=="function"&&Pt!==null)throw new TypeError("Class extends value "+String(Pt)+" is not a constructor or null");extendStatics(Wt,Pt);function __(){this.constructor=Wt}Wt.prototype=Pt===null?Object.create(Pt):(__.prototype=Pt.prototype,new __)}}();Object.defineProperty(Pt,"__esModule",{value:true});Pt.langIt=void 0;var nn=en(18210);var an="AbacoAbbaglioAbbinatoAbeteAbissoAbolireAbrasivoAbrogatoAccadereAccennoAccusatoAcetoneAchilleAcidoAcquaAcreAcrilicoAcrobataAcutoAdagioAddebitoAddomeAdeguatoAderireAdipeAdottareAdulareAffabileAffettoAffissoAffrantoAforismaAfosoAfricanoAgaveAgenteAgevoleAggancioAgireAgitareAgonismoAgricoloAgrumetoAguzzoAlabardaAlatoAlbatroAlberatoAlboAlbumeAlceAlcolicoAlettoneAlfaAlgebraAlianteAlibiAlimentoAllagatoAllegroAllievoAllodolaAllusivoAlmenoAlogenoAlpacaAlpestreAltalenaAlternoAlticcioAltroveAlunnoAlveoloAlzareAmalgamaAmanitaAmarenaAmbitoAmbratoAmebaAmericaAmetistaAmicoAmmassoAmmendaAmmirareAmmonitoAmoreAmpioAmpliareAmuletoAnacardoAnagrafeAnalistaAnarchiaAnatraAncaAncellaAncoraAndareAndreaAnelloAngeloAngolareAngustoAnimaAnnegareAnnidatoAnnoAnnuncioAnonimoAnticipoAnziApaticoAperturaApodeApparireAppetitoAppoggioApprodoAppuntoAprileArabicaArachideAragostaAraldicaArancioAraturaArazzoArbitroArchivioArditoArenileArgentoArgineArgutoAriaArmoniaArneseArredatoArringaArrostoArsenicoArsoArteficeArzilloAsciuttoAscoltoAsepsiAsetticoAsfaltoAsinoAsolaAspiratoAsproAssaggioAsseAssolutoAssurdoAstaAstenutoAsticeAstrattoAtavicoAteismoAtomicoAtonoAttesaAttivareAttornoAttritoAttualeAusilioAustriaAutistaAutonomoAutunnoAvanzatoAvereAvvenireAvvisoAvvolgereAzioneAzotoAzzimoAzzurroBabeleBaccanoBacinoBacoBadessaBadilataBagnatoBaitaBalconeBaldoBalenaBallataBalzanoBambinoBandireBaraondaBarbaroBarcaBaritonoBarlumeBaroccoBasilicoBassoBatostaBattutoBauleBavaBavosaBeccoBeffaBelgioBelvaBendaBenevoleBenignoBenzinaBereBerlinaBetaBibitaBiciBidoneBifidoBigaBilanciaBimboBinocoloBiologoBipedeBipolareBirbanteBirraBiscottoBisestoBisnonnoBisonteBisturiBizzarroBlandoBlattaBollitoBonificoBordoBoscoBotanicoBottinoBozzoloBraccioBradipoBramaBrancaBravuraBretellaBrevettoBrezzaBrigliaBrillanteBrindareBroccoloBrodoBronzinaBrulloBrunoBubboneBucaBudinoBuffoneBuioBulboBuonoBurloneBurrascaBussolaBustaCadettoCaducoCalamaroCalcoloCalesseCalibroCalmoCaloriaCambusaCamerataCamiciaCamminoCamolaCampaleCanapaCandelaCaneCaninoCanottoCantinaCapaceCapelloCapitoloCapogiroCapperoCapraCapsulaCarapaceCarcassaCardoCarismaCarovanaCarrettoCartolinaCasaccioCascataCasermaCasoCassoneCastelloCasualeCatastaCatenaCatrameCautoCavilloCedibileCedrataCefaloCelebreCellulareCenaCenoneCentesimoCeramicaCercareCertoCerumeCervelloCesoiaCespoCetoChelaChiaroChiccaChiedereChimeraChinaChirurgoChitarraCiaoCiclismoCifrareCignoCilindroCiottoloCircaCirrosiCitricoCittadinoCiuffoCivettaCivileClassicoClinicaCloroCoccoCodardoCodiceCoerenteCognomeCollareColmatoColoreColposoColtivatoColzaComaCometaCommandoComodoComputerComuneConcisoCondurreConfermaCongelareConiugeConnessoConoscereConsumoContinuoConvegnoCopertoCopioneCoppiaCopricapoCorazzaCordataCoricatoCorniceCorollaCorpoCorredoCorsiaCorteseCosmicoCostanteCotturaCovatoCratereCravattaCreatoCredereCremosoCrescitaCretaCricetoCrinaleCrisiCriticoCroceCronacaCrostataCrucialeCruscaCucireCuculoCuginoCullatoCupolaCuratoreCursoreCurvoCuscinoCustodeDadoDainoDalmataDamerinoDanielaDannosoDanzareDatatoDavantiDavveroDebuttoDecennioDecisoDeclinoDecolloDecretoDedicatoDefinitoDeformeDegnoDelegareDelfinoDelirioDeltaDemenzaDenotatoDentroDepositoDerapataDerivareDerogaDescrittoDesertoDesiderioDesumereDetersivoDevotoDiametroDicembreDiedroDifesoDiffusoDigerireDigitaleDiluvioDinamicoDinnanziDipintoDiplomaDipoloDiradareDireDirottoDirupoDisagioDiscretoDisfareDisgeloDispostoDistanzaDisumanoDitoDivanoDiveltoDividereDivoratoDobloneDocenteDoganaleDogmaDolceDomatoDomenicaDominareDondoloDonoDormireDoteDottoreDovutoDozzinaDragoDruidoDubbioDubitareDucaleDunaDuomoDupliceDuraturoEbanoEccessoEccoEclissiEconomiaEderaEdicolaEdileEditoriaEducareEgemoniaEgliEgoismoEgregioElaboratoElargireEleganteElencatoElettoElevareElficoElicaElmoElsaElusoEmanatoEmblemaEmessoEmiroEmotivoEmozioneEmpiricoEmuloEndemicoEnduroEnergiaEnfasiEnotecaEntrareEnzimaEpatiteEpilogoEpisodioEpocaleEppureEquatoreErarioErbaErbosoEredeEremitaErigereErmeticoEroeErosivoErranteEsagonoEsameEsanimeEsaudireEscaEsempioEsercitoEsibitoEsigenteEsistereEsitoEsofagoEsortatoEsosoEspansoEspressoEssenzaEssoEstesoEstimareEstoniaEstrosoEsultareEtilicoEtnicoEtruscoEttoEuclideoEuropaEvasoEvidenzaEvitatoEvolutoEvvivaFabbricaFaccendaFachiroFalcoFamigliaFanaleFanfaraFangoFantasmaFareFarfallaFarinosoFarmacoFasciaFastosoFasulloFaticareFatoFavolosoFebbreFecolaFedeFegatoFelpaFeltroFemminaFendereFenomenoFermentoFerroFertileFessuraFestivoFettaFeudoFiabaFiduciaFifaFiguratoFiloFinanzaFinestraFinireFioreFiscaleFisicoFiumeFlaconeFlamencoFleboFlemmaFloridoFluenteFluoroFobicoFocacciaFocosoFoderatoFoglioFolataFolcloreFolgoreFondenteFoneticoFoniaFontanaForbitoForchettaForestaFormicaFornaioForoFortezzaForzareFosfatoFossoFracassoFranaFrassinoFratelloFreccettaFrenataFrescoFrigoFrollinoFrondeFrugaleFruttaFucilataFucsiaFuggenteFulmineFulvoFumanteFumettoFumosoFuneFunzioneFuocoFurboFurgoneFuroreFusoFutileGabbianoGaffeGalateoGallinaGaloppoGamberoGammaGaranziaGarboGarofanoGarzoneGasdottoGasolioGastricoGattoGaudioGazeboGazzellaGecoGelatinaGelsoGemelloGemmatoGeneGenitoreGennaioGenotipoGergoGhepardoGhiaccioGhisaGialloGildaGineproGiocareGioielloGiornoGioveGiratoGironeGittataGiudizioGiuratoGiustoGlobuloGlutineGnomoGobbaGolfGomitoGommoneGonfioGonnaGovernoGracileGradoGraficoGrammoGrandeGrattareGravosoGraziaGrecaGreggeGrifoneGrigioGrinzaGrottaGruppoGuadagnoGuaioGuantoGuardareGufoGuidareIbernatoIconaIdenticoIdillioIdoloIdraIdricoIdrogenoIgieneIgnaroIgnoratoIlareIllesoIllogicoIlludereImballoImbevutoImboccoImbutoImmaneImmersoImmolatoImpaccoImpetoImpiegoImportoImprontaInalareInarcareInattivoIncantoIncendioInchinoIncisivoInclusoIncontroIncrocioIncuboIndagineIndiaIndoleIneditoInfattiInfilareInflittoIngaggioIngegnoIngleseIngordoIngrossoInnescoInodoreInoltrareInondatoInsanoInsettoInsiemeInsonniaInsulinaIntasatoInteroIntonacoIntuitoInumidireInvalidoInveceInvitoIperboleIpnoticoIpotesiIppicaIrideIrlandaIronicoIrrigatoIrrorareIsolatoIsotopoIstericoIstitutoIstriceItaliaIterareLabbroLabirintoLaccaLaceratoLacrimaLacunaLaddoveLagoLampoLancettaLanternaLardosoLargaLaringeLastraLatenzaLatinoLattugaLavagnaLavoroLegaleLeggeroLemboLentezzaLenzaLeoneLepreLesivoLessatoLestoLetteraleLevaLevigatoLiberoLidoLievitoLillaLimaturaLimitareLimpidoLineareLinguaLiquidoLiraLiricaLiscaLiteLitigioLivreaLocandaLodeLogicaLombareLondraLongevoLoquaceLorenzoLotoLotteriaLuceLucidatoLumacaLuminosoLungoLupoLuppoloLusingaLussoLuttoMacabroMacchinaMaceroMacinatoMadamaMagicoMagliaMagneteMagroMaiolicaMalafedeMalgradoMalintesoMalsanoMaltoMalumoreManaManciaMandorlaMangiareManifestoMannaroManovraMansardaMantideManubrioMappaMaratonaMarcireMarettaMarmoMarsupioMascheraMassaiaMastinoMaterassoMatricolaMattoneMaturoMazurcaMeandroMeccanicoMecenateMedesimoMeditareMegaMelassaMelisMelodiaMeningeMenoMensolaMercurioMerendaMerloMeschinoMeseMessereMestoloMetalloMetodoMettereMiagolareMicaMicelioMicheleMicroboMidolloMieleMiglioreMilanoMiliteMimosaMineraleMiniMinoreMirinoMirtilloMiscelaMissivaMistoMisurareMitezzaMitigareMitraMittenteMnemonicoModelloModificaModuloMoganoMogioMoleMolossoMonasteroMoncoMondinaMonetarioMonileMonotonoMonsoneMontatoMonvisoMoraMordereMorsicatoMostroMotivatoMotosegaMottoMovenzaMovimentoMozzoMuccaMucosaMuffaMughettoMugnaioMulattoMulinelloMultiploMummiaMuntoMuovereMuraleMusaMuscoloMusicaMutevoleMutoNababboNaftaNanometroNarcisoNariceNarratoNascereNastrareNaturaleNauticaNaviglioNebulosaNecrosiNegativoNegozioNemmenoNeofitaNerettoNervoNessunoNettunoNeutraleNeveNevroticoNicchiaNinfaNitidoNobileNocivoNodoNomeNominaNordicoNormaleNorvegeseNostranoNotareNotiziaNotturnoNovellaNucleoNullaNumeroNuovoNutrireNuvolaNuzialeOasiObbedireObbligoObeliscoOblioOboloObsoletoOccasioneOcchioOccidenteOccorrereOccultareOcraOculatoOdiernoOdorareOffertaOffrireOffuscatoOggettoOggiOgnunoOlandeseOlfattoOliatoOlivaOlogrammaOltreOmaggioOmbelicoOmbraOmegaOmissioneOndosoOnereOniceOnnivoroOnorevoleOntaOperatoOpinioneOppostoOracoloOrafoOrdineOrecchinoOreficeOrfanoOrganicoOrigineOrizzonteOrmaOrmeggioOrnativoOrologioOrrendoOrribileOrtensiaOrticaOrzataOrzoOsareOscurareOsmosiOspedaleOspiteOssaOssidareOstacoloOsteOtiteOtreOttagonoOttimoOttobreOvaleOvestOvinoOviparoOvocitoOvunqueOvviareOzioPacchettoPacePacificoPadellaPadronePaesePagaPaginaPalazzinaPalesarePallidoPaloPaludePandoroPannelloPaoloPaonazzoPapricaParabolaParcellaParerePargoloPariParlatoParolaPartireParvenzaParzialePassivoPasticcaPataccaPatologiaPattumePavonePeccatoPedalarePedonalePeggioPelosoPenarePendicePenisolaPennutoPenombraPensarePentolaPepePepitaPerbenePercorsoPerdonatoPerforarePergamenaPeriodoPermessoPernoPerplessoPersuasoPertugioPervasoPesatorePesistaPesoPestiferoPetaloPettinePetulantePezzoPiacerePiantaPiattinoPiccinoPicozzaPiegaPietraPifferoPigiamaPigolioPigroPilaPiliferoPillolaPilotaPimpantePinetaPinnaPinoloPioggiaPiomboPiramidePireticoPiritePirolisiPitonePizzicoPlaceboPlanarePlasmaPlatanoPlenarioPochezzaPoderosoPodismoPoesiaPoggiarePolentaPoligonoPollicePolmonitePolpettaPolsoPoltronaPolverePomicePomodoroPontePopolosoPorfidoPorosoPorporaPorrePortataPosaPositivoPossessoPostulatoPotassioPoterePranzoPrassiPraticaPreclusoPredicaPrefissoPregiatoPrelievoPremerePrenotarePreparatoPresenzaPretestoPrevalsoPrimaPrincipePrivatoProblemaProcuraProdurreProfumoProgettoProlungaPromessaPronomePropostaProrogaProtesoProvaPrudentePrugnaPruritoPsichePubblicoPudicaPugilatoPugnoPulcePulitoPulsantePuntarePupazzoPupillaPuroQuadroQualcosaQuasiQuerelaQuotaRaccoltoRaddoppioRadicaleRadunatoRafficaRagazzoRagioneRagnoRamarroRamingoRamoRandagioRantolareRapatoRapinaRappresoRasaturaRaschiatoRasenteRassegnaRastrelloRataRavvedutoRealeRecepireRecintoReclutaReconditoRecuperoRedditoRedimereRegalatoRegistroRegolaRegressoRelazioneRemareRemotoRennaReplicaReprimereReputareResaResidenteResponsoRestauroReteRetinaRetoricaRettificaRevocatoRiassuntoRibadireRibelleRibrezzoRicaricaRiccoRicevereRiciclatoRicordoRicredutoRidicoloRidurreRifasareRiflessoRiformaRifugioRigareRigettatoRighelloRilassatoRilevatoRimanereRimbalzoRimedioRimorchioRinascitaRincaroRinforzoRinnovoRinomatoRinsavitoRintoccoRinunciaRinvenireRiparatoRipetutoRipienoRiportareRipresaRipulireRisataRischioRiservaRisibileRisoRispettoRistoroRisultatoRisvoltoRitardoRitegnoRitmicoRitrovoRiunioneRivaRiversoRivincitaRivoltoRizomaRobaRoboticoRobustoRocciaRocoRodaggioRodereRoditoreRogitoRollioRomanticoRompereRonzioRosolareRospoRotanteRotondoRotulaRovescioRubizzoRubricaRugaRullinoRumineRumorosoRuoloRupeRussareRusticoSabatoSabbiareSabotatoSagomaSalassoSaldaturaSalgemmaSalivareSalmoneSaloneSaltareSalutoSalvoSapereSapidoSaporitoSaracenoSarcasmoSartoSassosoSatelliteSatiraSatolloSaturnoSavanaSavioSaziatoSbadiglioSbalzoSbancatoSbarraSbattereSbavareSbendareSbirciareSbloccatoSbocciatoSbrinareSbruffoneSbuffareScabrosoScadenzaScalaScambiareScandaloScapolaScarsoScatenareScavatoSceltoScenicoScettroSchedaSchienaSciarpaScienzaScindereScippoSciroppoScivoloSclerareScodellaScolpitoScompartoSconfortoScoprireScortaScossoneScozzeseScribaScrollareScrutinioScuderiaScultoreScuolaScuroScusareSdebitareSdoganareSeccaturaSecondoSedanoSeggiolaSegnalatoSegregatoSeguitoSelciatoSelettivoSellaSelvaggioSemaforoSembrareSemeSeminatoSempreSensoSentireSepoltoSequenzaSerataSerbatoSerenoSerioSerpenteSerraglioServireSestinaSetolaSettimanaSfaceloSfaldareSfamatoSfarzosoSfaticatoSferaSfidaSfilatoSfingeSfocatoSfoderareSfogoSfoltireSforzatoSfrattoSfruttatoSfuggitoSfumareSfusoSgabelloSgarbatoSgonfiareSgorbioSgrassatoSguardoSibiloSiccomeSierraSiglaSignoreSilenzioSillabaSimboloSimpaticoSimulatoSinfoniaSingoloSinistroSinoSintesiSinusoideSiparioSismaSistoleSituatoSlittaSlogaturaSlovenoSmarritoSmemoratoSmentitoSmeraldoSmilzoSmontareSmottatoSmussatoSnellireSnervatoSnodoSobbalzoSobrioSoccorsoSocialeSodaleSoffittoSognoSoldatoSolenneSolidoSollazzoSoloSolubileSolventeSomaticoSommaSondaSonettoSonniferoSopireSoppesoSopraSorgereSorpassoSorrisoSorsoSorteggioSorvolatoSospiroSostaSottileSpadaSpallaSpargereSpatolaSpaventoSpazzolaSpecieSpedireSpegnereSpelaturaSperanzaSpessoreSpettraleSpezzatoSpiaSpigolosoSpillatoSpinosoSpiraleSplendidoSportivoSposoSprangaSprecareSpronatoSpruzzoSpuntinoSquilloSradicareSrotolatoStabileStaccoStaffaStagnareStampatoStantioStarnutoStaseraStatutoSteloSteppaSterzoStilettoStimaStirpeStivaleStizzosoStonatoStoricoStrappoStregatoStriduloStrozzareStruttoStuccareStufoStupendoSubentroSuccosoSudoreSuggeritoSugoSultanoSuonareSuperboSupportoSurgelatoSurrogatoSussurroSuturaSvagareSvedeseSveglioSvelareSvenutoSveziaSviluppoSvistaSvizzeraSvoltaSvuotareTabaccoTabulatoTacciareTaciturnoTaleTalismanoTamponeTanninoTaraTardivoTargatoTariffaTarpareTartarugaTastoTatticoTavernaTavolataTazzaTecaTecnicoTelefonoTemerarioTempoTemutoTendoneTeneroTensioneTentacoloTeoremaTermeTerrazzoTerzettoTesiTesseratoTestatoTetroTettoiaTifareTigellaTimbroTintoTipicoTipografoTiraggioTiroTitanioTitoloTitubanteTizioTizzoneToccareTollerareToltoTombolaTomoTonfoTonsillaTopazioTopologiaToppaTorbaTornareTorroneTortoraToscanoTossireTostaturaTotanoTraboccoTracheaTrafilaTragediaTralcioTramontoTransitoTrapanoTrarreTraslocoTrattatoTraveTrecciaTremolioTrespoloTributoTrichecoTrifoglioTrilloTrinceaTrioTristezzaTrituratoTrivellaTrombaTronoTroppoTrottolaTrovareTruccatoTubaturaTuffatoTulipanoTumultoTunisiaTurbareTurchinoTutaTutelaUbicatoUccelloUccisoreUdireUditivoUffaUfficioUgualeUlisseUltimatoUmanoUmileUmorismoUncinettoUngereUnghereseUnicornoUnificatoUnisonoUnitarioUnteUovoUpupaUraganoUrgenzaUrloUsanzaUsatoUscitoUsignoloUsuraioUtensileUtilizzoUtopiaVacanteVaccinatoVagabondoVagliatoValangaValgoValicoVallettaValorosoValutareValvolaVampataVangareVanitosoVanoVantaggioVanveraVaporeVaranoVarcatoVarianteVascaVedettaVedovaVedutoVegetaleVeicoloVelcroVelinaVellutoVeloceVenatoVendemmiaVentoVeraceVerbaleVergognaVerificaVeroVerrucaVerticaleVescicaVessilloVestaleVeteranoVetrinaVetustoViandanteVibranteVicendaVichingoVicinanzaVidimareVigiliaVignetoVigoreVileVillanoViminiVincitoreViolaViperaVirgolaVirologoVirulentoViscosoVisioneVispoVissutoVisuraVitaVitelloVittimaVivandaVividoViziareVoceVogaVolatileVolereVolpeVoragineVulcanoZampognaZannaZappatoZatteraZavorraZefiroZelanteZeloZenzeroZerbinoZibettoZincoZirconeZittoZollaZoticoZuccheroZufoloZuluZuppa";var In=null;function loadWords(Wt){if(In!=null){return}In=an.replace(/([A-Z])/g," $1").toLowerCase().substring(1).split(" ");if(nn.Wordlist.check(Wt)!=="0x5c1362d88fd4cf614a96f3234941d29f7d37c08c5292fde03bf62c2db6ff7620"){In=null;throw new Error("BIP39 Wordlist for it (Italian) FAILED")}}var rn=function(Wt){tn(LangIt,Wt);function LangIt(){return Wt.call(this,"it")||this}LangIt.prototype.getWord=function(Wt){loadWords(this);return In[Wt]};LangIt.prototype.getWordIndex=function(Wt){loadWords(this);return In.indexOf(Wt)};return LangIt}(nn.Wordlist);var sn=new rn;Pt.langIt=sn;nn.Wordlist.register(sn)},53670:function(Wt,Pt,en){var tn=this&&this.__extends||function(){var extendStatics=function(Wt,Pt){extendStatics=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(Wt,Pt){Wt.__proto__=Pt}||function(Wt,Pt){for(var en in Pt)if(Object.prototype.hasOwnProperty.call(Pt,en))Wt[en]=Pt[en]};return extendStatics(Wt,Pt)};return function(Wt,Pt){if(typeof Pt!=="function"&&Pt!==null)throw new TypeError("Class extends value "+String(Pt)+" is not a constructor or null");extendStatics(Wt,Pt);function __(){this.constructor=Wt}Wt.prototype=Pt===null?Object.create(Pt):(__.prototype=Pt.prototype,new __)}}();Object.defineProperty(Pt,"__esModule",{value:true});Pt.langJa=void 0;var nn=en(42006);var an=en(13859);var In=en(18210);var rn=["AQRASRAGBAGUAIRAHBAghAURAdBAdcAnoAMEAFBAFCBKFBQRBSFBCXBCDBCHBGFBEQBpBBpQBIkBHNBeOBgFBVCBhBBhNBmOBmRBiHBiFBUFBZDBvFBsXBkFBlcBjYBwDBMBBTBBTRBWBBWXXaQXaRXQWXSRXCFXYBXpHXOQXHRXhRXuRXmXXbRXlXXwDXTRXrCXWQXWGaBWaKcaYgasFadQalmaMBacAKaRKKBKKXKKjKQRKDRKCYKCRKIDKeVKHcKlXKjHKrYNAHNBWNaRNKcNIBNIONmXNsXNdXNnBNMBNRBNrXNWDNWMNFOQABQAHQBrQXBQXFQaRQKXQKDQKOQKFQNBQNDQQgQCXQCDQGBQGDQGdQYXQpBQpQQpHQLXQHuQgBQhBQhCQuFQmXQiDQUFQZDQsFQdRQkHQbRQlOQlmQPDQjDQwXQMBQMDQcFQTBQTHQrDDXQDNFDGBDGQDGRDpFDhFDmXDZXDbRDMYDRdDTRDrXSAhSBCSBrSGQSEQSHBSVRShYShkSyQSuFSiBSdcSoESocSlmSMBSFBSFKSFNSFdSFcCByCaRCKcCSBCSRCCrCGbCEHCYXCpBCpQCIBCIHCeNCgBCgFCVECVcCmkCmwCZXCZFCdRClOClmClFCjDCjdCnXCwBCwXCcRCFQCFjGXhGNhGDEGDMGCDGCHGIFGgBGVXGVEGVRGmXGsXGdYGoSGbRGnXGwXGwDGWRGFNGFLGFOGFdGFkEABEBDEBFEXOEaBEKSENBENDEYXEIgEIkEgBEgQEgHEhFEudEuFEiBEiHEiFEZDEvBEsXEsFEdXEdREkFEbBEbRElFEPCEfkEFNYAEYAhYBNYQdYDXYSRYCEYYoYgQYgRYuRYmCYZTYdBYbEYlXYjQYRbYWRpKXpQopQnpSFpCXpIBpISphNpdBpdRpbRpcZpFBpFNpFDpFopFrLADLBuLXQLXcLaFLCXLEhLpBLpFLHXLeVLhILdHLdRLoDLbRLrXIABIBQIBCIBsIBoIBMIBRIXaIaRIKYIKRINBINuICDIGBIIDIIkIgRIxFIyQIiHIdRIbYIbRIlHIwRIMYIcRIRVITRIFBIFNIFQOABOAFOBQOaFONBONMOQFOSFOCDOGBOEQOpBOLXOIBOIFOgQOgFOyQOycOmXOsXOdIOkHOMEOMkOWWHBNHXNHXWHNXHDuHDRHSuHSRHHoHhkHmRHdRHkQHlcHlRHwBHWcgAEgAggAkgBNgBQgBEgXOgYcgLXgHjgyQgiBgsFgdagMYgWSgFQgFEVBTVXEVKBVKNVKDVKYVKRVNBVNYVDBVDxVSBVSRVCjVGNVLXVIFVhBVhcVsXVdRVbRVlRhBYhKYhDYhGShxWhmNhdahdkhbRhjohMXhTRxAXxXSxKBxNBxEQxeNxeQxhXxsFxdbxlHxjcxFBxFNxFQxFOxFoyNYyYoybcyMYuBQuBRuBruDMuCouHBudQukkuoBulVuMXuFEmCYmCRmpRmeDmiMmjdmTFmFQiADiBOiaRiKRiNBiNRiSFiGkiGFiERipRiLFiIFihYibHijBijEiMXiWBiFBiFCUBQUXFUaRUNDUNcUNRUNFUDBUSHUCDUGBUGFUEqULNULoUIRUeEUeYUgBUhFUuRUiFUsXUdFUkHUbBUjSUjYUwXUMDUcHURdUTBUrBUrXUrQZAFZXZZaRZKFZNBZQFZCXZGBZYdZpBZLDZIFZHXZHNZeQZVRZVFZmXZiBZvFZdFZkFZbHZbFZwXZcCZcRZRBvBQvBGvBLvBWvCovMYsAFsBDsaRsKFsNFsDrsSHsSFsCXsCRsEBsEHsEfspBsLBsLDsIgsIRseGsbRsFBsFQsFSdNBdSRdCVdGHdYDdHcdVbdySduDdsXdlRdwXdWYdWcdWRkBMkXOkaRkNIkNFkSFkCFkYBkpRkeNkgBkhVkmXksFklVkMBkWDkFNoBNoaQoaFoNBoNXoNaoNEoSRoEroYXoYCoYbopRopFomXojkowXorFbBEbEIbdBbjYlaRlDElMXlFDjKjjSRjGBjYBjYkjpRjLXjIBjOFjeVjbRjwBnXQnSHnpFnLXnINnMBnTRwXBwXNwXYwNFwQFwSBwGFwLXwLDweNwgBwuHwjDwnXMBXMpFMIBMeNMTHcaQcNBcDHcSFcCXcpBcLXcLDcgFcuFcnXcwXccDcTQcrFTQErXNrCHrpFrgFrbFrTHrFcWNYWNbWEHWMXWTR","ABGHABIJAEAVAYJQALZJAIaRAHNXAHdcAHbRAZJMAZJRAZTRAdVJAklmAbcNAjdRAMnRAMWYAWpRAWgRAFgBAFhBAFdcBNJBBNJDBQKBBQhcBQlmBDEJBYJkBYJTBpNBBpJFBIJBBIJDBIcABOKXBOEJBOVJBOiJBOZJBepBBeLXBeIFBegBBgGJBVJXBuocBiJRBUJQBlXVBlITBwNFBMYVBcqXBTlmBWNFBWiJBWnRBFGHBFwXXKGJXNJBXNZJXDTTXSHSXSVRXSlHXCJDXGQJXEhXXYQJXYbRXOfXXeNcXVJFXhQJXhEJXdTRXjdXXMhBXcQTXRGBXTEBXTnQXFCXXFOFXFgFaBaFaBNJaBCJaBpBaBwXaNJKaNJDaQIBaDpRaEPDaHMFamDJalEJaMZJaFaFaFNBaFQJaFLDaFVHKBCYKBEBKBHDKXaFKXGdKXEJKXpHKXIBKXZDKXwXKKwLKNacKNYJKNJoKNWcKDGdKDTRKChXKGaRKGhBKGbRKEBTKEaRKEPTKLMDKLWRKOHDKVJcKdBcKlIBKlOPKFSBKFEPKFpFNBNJNJBQNBGHNBEPNBHXNBgFNBVXNBZDNBsXNBwXNNaRNNJDNNJENNJkNDCJNDVDNGJRNJiDNZJNNsCJNJFNNFSBNFCXNFEPNFLXNFIFQJBFQCaRQJEQQLJDQLJFQIaRQOqXQHaFQHHQQVJXQVJDQhNJQmEIQZJFQsJXQJrFQWbRDJABDBYJDXNFDXCXDXLXDXZDDXsJDQqXDSJFDJCXDEPkDEqXDYmQDpSJDOCkDOGQDHEIDVJDDuDuDWEBDJFgSBNDSBSFSBGHSBIBSBTQSKVYSJQNSJQiSJCXSEqXSJYVSIiJSOMYSHAHSHaQSeCFSepQSegBSHdHSHrFShSJSJuHSJUFSkNRSrSrSWEBSFaHSJFQSFCXSFGDSFYXSFODSFgBSFVXSFhBSFxFSFkFSFbBSFMFCADdCJXBCXaFCXKFCXNFCXCXCXGBCXEJCXYBCXLDCXIBCXOPCXHXCXgBCXhBCXiBCXlDCXcHCJNBCJNFCDCJCDGBCDVXCDhBCDiDCDJdCCmNCpJFCIaRCOqXCHCHCHZJCViJCuCuCmddCJiFCdNBCdHhClEJCnUJCreSCWlgCWTRCFBFCFNBCFYBCFVFCFhFCFdSCFTBCFWDGBNBGBQFGJBCGBEqGBpBGBgQGNBEGNJYGNkOGNJRGDUFGJpQGHaBGJeNGJeEGVBlGVKjGiJDGvJHGsVJGkEBGMIJGWjNGFBFGFCXGFGBGFYXGFpBGFMFEASJEAWpEJNFECJVEIXSEIQJEOqXEOcFEeNcEHEJEHlFEJgFEhlmEmDJEmZJEiMBEUqXEoSREPBFEPXFEPKFEPSFEPEFEPpFEPLXEPIBEJPdEPcFEPTBEJnXEqlHEMpREFCXEFODEFcFYASJYJAFYBaBYBVXYXpFYDhBYCJBYJGFYYbRYeNcYJeVYiIJYZJcYvJgYvJRYJsXYsJFYMYMYreVpBNHpBEJpBwXpQxFpYEJpeNDpJeDpeSFpeCHpHUJpHbBpHcHpmUJpiiJpUJrpsJuplITpFaBpFQqpFGBpFEfpFYBpFpBpFLJpFIDpFgBpFVXpFyQpFuFpFlFpFjDpFnXpFwXpJFMpFTBLXCJLXEFLXhFLXUJLXbFLalmLNJBLSJQLCLCLGJBLLDJLHaFLeNFLeSHLeCXLepFLhaRLZsJLsJDLsJrLocaLlLlLMdbLFNBLFSBLFEHLFkFIBBFIBXFIBaQIBKXIBSFIBpHIBLXIBgBIBhBIBuHIBmXIBiFIBZXIBvFIBbFIBjQIBwXIBWFIKTRIQUJIDGFICjQIYSRIINXIJeCIVaRImEkIZJFIvJRIsJXIdCJIJoRIbBQIjYBIcqXITFVIreVIFKFIFSFIFCJIFGFIFLDIFIBIJFOIFgBIFVXIJFhIFxFIFmXIFdHIFbBIJFrIJFWOBGBOQfXOOKjOUqXOfXBOqXEOcqXORVJOFIBOFlDHBIOHXiFHNTRHCJXHIaRHHJDHHEJHVbRHZJYHbIBHRsJHRkDHWlmgBKFgBSBgBCDgBGHgBpBgBIBgBVJgBuBgBvFgKDTgQVXgDUJgGSJgOqXgmUMgZIJgTUJgWIEgFBFgFNBgFDJgFSFgFGBgFYXgJFOgFgQgFVXgFhBgFbHgJFWVJABVQKcVDgFVOfXVeDFVhaRVmGdViJYVMaRVFNHhBNDhBCXhBEqhBpFhBLXhNJBhSJRheVXhhKEhxlmhZIJhdBQhkIJhbMNhMUJhMZJxNJgxQUJxDEkxDdFxSJRxplmxeSBxeCXxeGFxeYXxepQxegBxWVcxFEQxFLXxFIBxFgBxFxDxFZtxFdcxFbBxFwXyDJXyDlcuASJuDJpuDIBuCpJuGSJuIJFueEFuZIJusJXudWEuoIBuWGJuFBcuFKEuFNFuFQFuFDJuFGJuFVJuFUtuFdHuFTBmBYJmNJYmQhkmLJDmLJomIdXmiJYmvJRmsJRmklmmMBymMuCmclmmcnQiJABiJBNiJBDiBSFiBCJiBEFiBYBiBpFiBLXiBTHiJNciDEfiCZJiECJiJEqiOkHiHKFieNDiHJQieQcieDHieSFieCXieGFieEFieIHiegFihUJixNoioNXiFaBiFKFiFNDiFEPiFYXitFOitFHiFgBiFVEiFmXiFitiFbBiFMFiFrFUCXQUIoQUIJcUHQJUeCEUHwXUUJDUUqXUdWcUcqXUrnQUFNDUFSHUFCFUFEfUFLXUtFOZBXOZXSBZXpFZXVXZEQJZEJkZpDJZOqXZeNHZeCDZUqXZFBQZFEHZFLXvBAFvBKFvBCXvBEPvBpHvBIDvBgFvBuHvQNJvFNFvFGBvFIBvJFcsXCDsXLXsXsXsXlFsXcHsQqXsJQFsEqXseIFsFEHsFjDdBxOdNpRdNJRdEJbdpJRdhZJdnSJdrjNdFNJdFQHdFhNkNJDkYaRkHNRkHSRkVbRkuMRkjSJkcqDoSJFoEiJoYZJoOfXohEBoMGQocqXbBAFbBXFbBaFbBNDbBGBbBLXbBTBbBWDbGJYbIJHbFQqbFpQlDgQlOrFlVJRjGEBjZJRnXvJnXbBnEfHnOPDngJRnxfXnUJWwXEJwNpJwDpBwEfXwrEBMDCJMDGHMDIJMLJDcQGDcQpHcqXccqNFcqCXcFCJRBSBRBGBRBEJRBpQTBNFTBQJTBpBTBVXTFABTFSBTFCFTFGBTFMDrXCJrXLDrDNJrEfHrFQJrFitWNjdWNTR","AKLJMANOPFASNJIAEJWXAYJNRAIIbRAIcdaAeEfDAgidRAdjNYAMYEJAMIbRAFNJBAFpJFBBIJYBDZJFBSiJhBGdEBBEJfXBEJqXBEJWRBpaUJBLXrXBIYJMBOcfXBeEfFBestXBjNJRBcDJOBFEqXXNvJRXDMBhXCJNYXOAWpXONJWXHDEBXeIaRXhYJDXZJSJXMDJOXcASJXFVJXaBQqXaBZJFasXdQaFSJQaFEfXaFpJHaFOqXKBNSRKXvJBKQJhXKEJQJKEJGFKINJBKIJjNKgJNSKVElmKVhEBKiJGFKlBgJKjnUJKwsJYKMFIJKFNJDKFIJFKFOfXNJBSFNJBCXNBpJFNJBvQNJBMBNJLJXNJOqXNJeCXNJeGFNdsJCNbTKFNwXUJQNFEPQDiJcQDMSJQSFpBQGMQJQJeOcQyCJEQUJEBQJFBrQFEJqDXDJFDJXpBDJXIMDGiJhDIJGRDJeYcDHrDJDVXgFDkAWpDkIgRDjDEqDMvJRDJFNFDJFIBSKclmSJQOFSJQVHSJQjDSJGJBSJGJFSECJoSHEJqSJHTBSJVJDSViJYSZJNBSJsJDSFSJFSFEfXSJFLXCBUJVCJXSBCJXpBCXVJXCJXsXCJXdFCJNJHCLIJgCHiJFCVNJMChCJhCUHEJCsJTRCJdYcCoQJCCFEfXCFIJgCFUJxCFstFGJBaQGJBIDGQJqXGYJNRGJHKFGeQqDGHEJFGJeLXGHIiJGHdBlGUJEBGkIJTGFQPDGJFEqEAGegEJIJBEJVJXEhQJTEiJNcEJZJFEJoEqEjDEqEPDsXEPGJBEPOqXEPeQFEfDiDEJfEFEfepQEfMiJEqXNBEqDIDEqeSFEqVJXEMvJRYXNJDYXEJHYKVJcYYJEBYJeEcYJUqXYFpJFYFstXpAZJMpBSJFpNBNFpeQPDpHLJDpHIJFpHgJFpeitFpHZJFpJFADpFSJFpJFCJpFOqXpFitBpJFZJLXIJFLIJgRLVNJWLVHJMLwNpJLFGJBLFLJDLFOqXLJFUJIBDJXIBGJBIJBYQIJBIBIBOqXIBcqDIEGJFILNJTIIJEBIOiJhIJeNBIJeIBIhiJIIWoTRIJFAHIJFpBIJFuHIFUtFIJFTHOSBYJOEcqXOHEJqOvBpFOkVJrObBVJOncqDOcNJkHhNJRHuHJuHdMhBgBUqXgBsJXgONJBgHNJDgHHJQgJeitgHsJXgJyNagyDJBgZJDrgsVJQgkEJNgkjSJgJFAHgFCJDgFZtMVJXNFVXQfXVJXDJVXoQJVQVJQVDEfXVDvJHVEqNFVeQfXVHpJFVHxfXVVJSRVVmaRVlIJOhCXVJhHjYkhxCJVhWVUJhWiJcxBNJIxeEqDxfXBFxcFEPxFSJFxFYJXyBDQJydaUJyFOPDuYCJYuLvJRuHLJXuZJLDuFOPDuFZJHuFcqXmKHJdmCQJcmOsVJiJAGFitLCFieOfXiestXiZJMEikNJQirXzFiFQqXiFIJFiFZJFiFvtFUHpJFUteIcUteOcUVCJkUhdHcUbEJEUJqXQUMNJhURjYkUFitFZDGJHZJIxDZJVJXZJFDJZJFpQvBNJBvBSJFvJxBrseQqDsVFVJdFLJDkEJNBkmNJYkFLJDoQJOPoGsJRoEAHBoEJfFbBQqDbBZJHbFVJXlFIJBjYIrXjeitcjjCEBjWMNBwXQfXwXOaFwDsJXwCJTRwrCZJMDNJQcDDJFcqDOPRYiJFTBsJXTQIJBTFEfXTFLJDrXEJFrEJXMrFZJFWEJdEWYTlm","ABCDEFACNJTRAMBDJdAcNJVXBLNJEBXSIdWRXErNJkXYDJMBXZJCJaXMNJaYKKVJKcKDEJqXKDcNJhKVJrNYKbgJVXKFVJSBNBYBwDNJeQfXNJeEqXNhGJWENJFiJRQlIJbEQJfXxDQqXcfXQFNDEJQFwXUJDYcnUJDJIBgQDIUJTRDJFEqDSJQSJFSJQIJFSOPeZtSJFZJHCJXQfXCTDEqFGJBSJFGJBOfXGJBcqXGJHNJDGJRLiJEJfXEqEJFEJPEFpBEJYJBZJFYBwXUJYiJMEBYJZJyTYTONJXpQMFXFpeGIDdpJFstXpJFcPDLBVSJRLHQJqXLJFZJFIJBNJDIJBUqXIBkFDJIJEJPTIYJGWRIJeQPDIJeEfHIJFsJXOqGDSFHXEJqXgJCsJCgGQJqXgdQYJEgFMFNBgJFcqDVJwXUJVJFZJchIgJCCxOEJqXxOwXUJyDJBVRuscisciJBiJBieUtqXiJFDJkiFsJXQUGEZJcUJFsJXZtXIrXZDZJDrZJFNJDZJFstXvJFQqXvJFCJEsJXQJqkhkNGBbDJdTRbYJMEBlDwXUJMEFiJFcfXNJDRcNJWMTBLJXC","BraFUtHBFSJFdbNBLJXVJQoYJNEBSJBEJfHSJHwXUJCJdAZJMGjaFVJXEJPNJBlEJfFiJFpFbFEJqIJBVJCrIBdHiJhOPFChvJVJZJNJWxGFNIFLueIBQJqUHEJfUFstOZJDrlXEASJRlXVJXSFwVJNJWD","QJEJNNJDQJEJIBSFQJEJxegBQJEJfHEPSJBmXEJFSJCDEJqXLXNJFQqXIcQsFNJFIFEJqXUJgFsJXIJBUJEJfHNFvJxEqXNJnXUJFQqD","IJBEJqXZJ"];var sn="~~AzB~X~a~KN~Q~D~S~C~G~E~Y~p~L~I~O~eH~g~V~hxyumi~~U~~Z~~v~~s~~dkoblPjfnqwMcRTr~W~~~F~~~~~Jt";var on=null;function hex(Wt){return(0,nn.hexlify)((0,an.toUtf8Bytes)(Wt))}var cn="0xe3818de38284e3818f";var dn="0xe3818de38283e3818f";function loadWords(Wt){if(on!==null){return}on=[];var Pt={};Pt[(0,an.toUtf8String)([227,130,154])]=false;Pt[(0,an.toUtf8String)([227,130,153])]=false;Pt[(0,an.toUtf8String)([227,130,133])]=(0,an.toUtf8String)([227,130,134]);Pt[(0,an.toUtf8String)([227,129,163])]=(0,an.toUtf8String)([227,129,164]);Pt[(0,an.toUtf8String)([227,130,131])]=(0,an.toUtf8String)([227,130,132]);Pt[(0,an.toUtf8String)([227,130,135])]=(0,an.toUtf8String)([227,130,136]);function normalize(Wt){var en="";for(var tn=0;tnPt){return 1}return 0}for(var en=3;en<=9;en++){var tn=rn[en-3];for(var nn=0;nn=40){Wt=Wt+168-40}else if(Wt>=19){Wt=Wt+97-19}return(0,nn.toUtf8String)([225,(Wt>>6)+132,(Wt&63)+128])}var sn=null;function loadWords(Wt){if(sn!=null){return}sn=[];In.forEach((function(Wt,Pt){Pt+=4;for(var en=0;en>2),128+cn.indexOf(In[en*3+1]),128+cn.indexOf(In[en*3+2])];if(Wt.locale==="zh_tw"){var pn=tn%4;for(var mn=pn;mn<3;mn++){un[mn]=cn.indexOf(rn[Pt++])+(mn==0?228:128)}}sn[Wt.locale].push((0,nn.toUtf8String)(un))}if(an.Wordlist.check(Wt)!==on[Wt.locale]){sn[Wt.locale]=null;throw new Error("BIP39 Wordlist for "+Wt.locale+" (Chinese) FAILED")}}var un=function(Wt){tn(LangZh,Wt);function LangZh(Pt){return Wt.call(this,"zh_"+Pt)||this}LangZh.prototype.getWord=function(Wt){loadWords(this);return sn[this.locale][Wt]};LangZh.prototype.getWordIndex=function(Wt){loadWords(this);return sn[this.locale].indexOf(Wt)};LangZh.prototype.split=function(Wt){Wt=Wt.replace(/(?:\u3000| )+/g,"");return Wt.split("")};return LangZh}(an.Wordlist);var pn=new un("cn");Pt.langZhCn=pn;an.Wordlist.register(pn);an.Wordlist.register(pn,"zh");var mn=new un("tw");Pt.langZhTw=mn;an.Wordlist.register(mn)},18210:(Wt,Pt,en)=>{Object.defineProperty(Pt,"__esModule",{value:true});Pt.Wordlist=Pt.logger=void 0;var tn=false;var nn=en(91839);var an=en(61338);var In=en(76127);var rn=en(17141);Pt.logger=new In.Logger(rn.version);var sn=function(){function Wordlist(Wt){var en=this.constructor;Pt.logger.checkAbstract(en,Wordlist);(0,an.defineReadOnly)(this,"locale",Wt)}Wordlist.prototype.split=function(Wt){return Wt.toLowerCase().split(/ +/g)};Wordlist.prototype.join=function(Wt){return Wt.join(" ")};Wordlist.check=function(Wt){var Pt=[];for(var en=0;en<2048;en++){var tn=Wt.getWord(en);if(en!==Wt.getWordIndex(tn)){return"0x"}Pt.push(tn)}return(0,nn.id)(Pt.join("\n")+"\n")};Wordlist.register=function(Wt,Pt){if(!Pt){Pt=Wt.locale}if(tn){try{var en=window;if(en._ethers&&en._ethers.wordlists){if(!en._ethers.wordlists[Pt]){(0,an.defineReadOnly)(en._ethers.wordlists,Pt,Wt)}}}catch(Wt){}}};return Wordlist}();Pt.Wordlist=sn},1057:(Wt,Pt,en)=>{Object.defineProperty(Pt,"__esModule",{value:true});Pt.wordlists=void 0;var tn=en(53994);var nn=en(73120);var an=en(78091);var In=en(58079);var rn=en(53670);var sn=en(98589);var on=en(87054);var cn=en(24829);Pt.wordlists={cz:tn.langCz,en:nn.langEn,es:an.langEs,fr:In.langFr,it:on.langIt,ja:rn.langJa,ko:sn.langKo,zh:cn.langZhCn,zh_cn:cn.langZhCn,zh_tw:cn.langZhTw}},77864:Wt=>{var Pt=Object.defineProperty;var en=Object.getOwnPropertyDescriptor;var tn=Object.getOwnPropertyNames;var nn=Object.prototype.hasOwnProperty;var __export=(Wt,en)=>{for(var tn in en)Pt(Wt,tn,{get:en[tn],enumerable:true})};var __copyProps=(Wt,an,In,rn)=>{if(an&&typeof an==="object"||typeof an==="function"){for(let sn of tn(an))if(!nn.call(Wt,sn)&&sn!==In)Pt(Wt,sn,{get:()=>an[sn],enumerable:!(rn=en(an,sn))||rn.enumerable})}return Wt};var __toCommonJS=Wt=>__copyProps(Pt({},"__esModule",{value:true}),Wt);var an={};__export(an,{createTokenAuth:()=>on});Wt.exports=__toCommonJS(an);var In=/^v1\./;var rn=/^ghs_/;var sn=/^ghu_/;async function auth(Wt){const Pt=Wt.split(/\./).length===3;const en=In.test(Wt)||rn.test(Wt);const tn=sn.test(Wt);const nn=Pt?"app":en?"installation":tn?"user-to-server":"oauth";return{type:"token",token:Wt,tokenType:nn}}function withAuthorizationPrefix(Wt){if(Wt.split(/\./).length===3){return`bearer ${Wt}`}return`token ${Wt}`}async function hook(Wt,Pt,en,tn){const nn=Pt.endpoint.merge(en,tn);nn.headers.authorization=withAuthorizationPrefix(Wt);return Pt(nn)}var on=function createTokenAuth2(Wt){if(!Wt){throw new Error("[@octokit/auth-token] No token passed to createTokenAuth")}if(typeof Wt!=="string"){throw new Error("[@octokit/auth-token] Token passed to createTokenAuth is not a string")}Wt=Wt.replace(/^(token|bearer) +/i,"");return Object.assign(auth.bind(null,Wt),{hook:hook.bind(null,Wt)})};0&&0},61897:(Wt,Pt,en)=>{var tn=Object.defineProperty;var nn=Object.getOwnPropertyDescriptor;var an=Object.getOwnPropertyNames;var In=Object.prototype.hasOwnProperty;var __export=(Wt,Pt)=>{for(var en in Pt)tn(Wt,en,{get:Pt[en],enumerable:true})};var __copyProps=(Wt,Pt,en,rn)=>{if(Pt&&typeof Pt==="object"||typeof Pt==="function"){for(let sn of an(Pt))if(!In.call(Wt,sn)&&sn!==en)tn(Wt,sn,{get:()=>Pt[sn],enumerable:!(rn=nn(Pt,sn))||rn.enumerable})}return Wt};var __toCommonJS=Wt=>__copyProps(tn({},"__esModule",{value:true}),Wt);var rn={};__export(rn,{Octokit:()=>hn});Wt.exports=__toCommonJS(rn);var sn=en(33843);var on=en(52732);var cn=en(66255);var dn=en(70007);var un=en(77864);var pn="5.2.0";var noop=()=>{};var mn=console.warn.bind(console);var bn=console.error.bind(console);var Gn=`octokit-core.js/${pn} ${(0,sn.getUserAgent)()}`;var hn=class{static{this.VERSION=pn}static defaults(Wt){const Pt=class extends(this){constructor(...Pt){const en=Pt[0]||{};if(typeof Wt==="function"){super(Wt(en));return}super(Object.assign({},Wt,en,en.userAgent&&Wt.userAgent?{userAgent:`${en.userAgent} ${Wt.userAgent}`}:null))}};return Pt}static{this.plugins=[]}static plugin(...Wt){const Pt=this.plugins;const en=class extends(this){static{this.plugins=Pt.concat(Wt.filter((Wt=>!Pt.includes(Wt))))}};return en}constructor(Wt={}){const Pt=new on.Collection;const en={baseUrl:cn.request.endpoint.DEFAULTS.baseUrl,headers:{},request:Object.assign({},Wt.request,{hook:Pt.bind(null,"request")}),mediaType:{previews:[],format:""}};en.headers["user-agent"]=Wt.userAgent?`${Wt.userAgent} ${Gn}`:Gn;if(Wt.baseUrl){en.baseUrl=Wt.baseUrl}if(Wt.previews){en.mediaType.previews=Wt.previews}if(Wt.timeZone){en.headers["time-zone"]=Wt.timeZone}this.request=cn.request.defaults(en);this.graphql=(0,dn.withCustomRequest)(this.request).defaults(en);this.log=Object.assign({debug:noop,info:noop,warn:mn,error:bn},Wt.log);this.hook=Pt;if(!Wt.authStrategy){if(!Wt.auth){this.auth=async()=>({type:"unauthenticated"})}else{const en=(0,un.createTokenAuth)(Wt.auth);Pt.wrap("request",en.hook);this.auth=en}}else{const{authStrategy:en,...tn}=Wt;const nn=en(Object.assign({request:this.request,log:this.log,octokit:this,octokitOptions:tn},Wt.auth));Pt.wrap("request",nn.hook);this.auth=nn}const tn=this.constructor;for(let Pt=0;Pt{var tn=Object.defineProperty;var nn=Object.getOwnPropertyDescriptor;var an=Object.getOwnPropertyNames;var In=Object.prototype.hasOwnProperty;var __export=(Wt,Pt)=>{for(var en in Pt)tn(Wt,en,{get:Pt[en],enumerable:true})};var __copyProps=(Wt,Pt,en,rn)=>{if(Pt&&typeof Pt==="object"||typeof Pt==="function"){for(let sn of an(Pt))if(!In.call(Wt,sn)&&sn!==en)tn(Wt,sn,{get:()=>Pt[sn],enumerable:!(rn=nn(Pt,sn))||rn.enumerable})}return Wt};var __toCommonJS=Wt=>__copyProps(tn({},"__esModule",{value:true}),Wt);var rn={};__export(rn,{endpoint:()=>pn});Wt.exports=__toCommonJS(rn);var sn=en(33843);var on="9.0.5";var cn=`octokit-endpoint.js/${on} ${(0,sn.getUserAgent)()}`;var dn={method:"GET",baseUrl:"https://api.github.com",headers:{accept:"application/vnd.github.v3+json","user-agent":cn},mediaType:{format:""}};function lowercaseKeys(Wt){if(!Wt){return{}}return Object.keys(Wt).reduce(((Pt,en)=>{Pt[en.toLowerCase()]=Wt[en];return Pt}),{})}function isPlainObject(Wt){if(typeof Wt!=="object"||Wt===null)return false;if(Object.prototype.toString.call(Wt)!=="[object Object]")return false;const Pt=Object.getPrototypeOf(Wt);if(Pt===null)return true;const en=Object.prototype.hasOwnProperty.call(Pt,"constructor")&&Pt.constructor;return typeof en==="function"&&en instanceof en&&Function.prototype.call(en)===Function.prototype.call(Wt)}function mergeDeep(Wt,Pt){const en=Object.assign({},Wt);Object.keys(Pt).forEach((tn=>{if(isPlainObject(Pt[tn])){if(!(tn in Wt))Object.assign(en,{[tn]:Pt[tn]});else en[tn]=mergeDeep(Wt[tn],Pt[tn])}else{Object.assign(en,{[tn]:Pt[tn]})}}));return en}function removeUndefinedProperties(Wt){for(const Pt in Wt){if(Wt[Pt]===void 0){delete Wt[Pt]}}return Wt}function merge(Wt,Pt,en){if(typeof Pt==="string"){let[Wt,tn]=Pt.split(" ");en=Object.assign(tn?{method:Wt,url:tn}:{url:Wt},en)}else{en=Object.assign({},Pt)}en.headers=lowercaseKeys(en.headers);removeUndefinedProperties(en);removeUndefinedProperties(en.headers);const tn=mergeDeep(Wt||{},en);if(en.url==="/graphql"){if(Wt&&Wt.mediaType.previews?.length){tn.mediaType.previews=Wt.mediaType.previews.filter((Wt=>!tn.mediaType.previews.includes(Wt))).concat(tn.mediaType.previews)}tn.mediaType.previews=(tn.mediaType.previews||[]).map((Wt=>Wt.replace(/-preview/,"")))}return tn}function addQueryParameters(Wt,Pt){const en=/\?/.test(Wt)?"&":"?";const tn=Object.keys(Pt);if(tn.length===0){return Wt}return Wt+en+tn.map((Wt=>{if(Wt==="q"){return"q="+Pt.q.split("+").map(encodeURIComponent).join("+")}return`${Wt}=${encodeURIComponent(Pt[Wt])}`})).join("&")}var un=/\{[^}]+\}/g;function removeNonChars(Wt){return Wt.replace(/^\W+|\W+$/g,"").split(/,/)}function extractUrlVariableNames(Wt){const Pt=Wt.match(un);if(!Pt){return[]}return Pt.map(removeNonChars).reduce(((Wt,Pt)=>Wt.concat(Pt)),[])}function omit(Wt,Pt){const en={__proto__:null};for(const tn of Object.keys(Wt)){if(Pt.indexOf(tn)===-1){en[tn]=Wt[tn]}}return en}function encodeReserved(Wt){return Wt.split(/(%[0-9A-Fa-f]{2})/g).map((function(Wt){if(!/%[0-9A-Fa-f]/.test(Wt)){Wt=encodeURI(Wt).replace(/%5B/g,"[").replace(/%5D/g,"]")}return Wt})).join("")}function encodeUnreserved(Wt){return encodeURIComponent(Wt).replace(/[!'()*]/g,(function(Wt){return"%"+Wt.charCodeAt(0).toString(16).toUpperCase()}))}function encodeValue(Wt,Pt,en){Pt=Wt==="+"||Wt==="#"?encodeReserved(Pt):encodeUnreserved(Pt);if(en){return encodeUnreserved(en)+"="+Pt}else{return Pt}}function isDefined(Wt){return Wt!==void 0&&Wt!==null}function isKeyOperator(Wt){return Wt===";"||Wt==="&"||Wt==="?"}function getValues(Wt,Pt,en,tn){var nn=Wt[en],an=[];if(isDefined(nn)&&nn!==""){if(typeof nn==="string"||typeof nn==="number"||typeof nn==="boolean"){nn=nn.toString();if(tn&&tn!=="*"){nn=nn.substring(0,parseInt(tn,10))}an.push(encodeValue(Pt,nn,isKeyOperator(Pt)?en:""))}else{if(tn==="*"){if(Array.isArray(nn)){nn.filter(isDefined).forEach((function(Wt){an.push(encodeValue(Pt,Wt,isKeyOperator(Pt)?en:""))}))}else{Object.keys(nn).forEach((function(Wt){if(isDefined(nn[Wt])){an.push(encodeValue(Pt,nn[Wt],Wt))}}))}}else{const Wt=[];if(Array.isArray(nn)){nn.filter(isDefined).forEach((function(en){Wt.push(encodeValue(Pt,en))}))}else{Object.keys(nn).forEach((function(en){if(isDefined(nn[en])){Wt.push(encodeUnreserved(en));Wt.push(encodeValue(Pt,nn[en].toString()))}}))}if(isKeyOperator(Pt)){an.push(encodeUnreserved(en)+"="+Wt.join(","))}else if(Wt.length!==0){an.push(Wt.join(","))}}}}else{if(Pt===";"){if(isDefined(nn)){an.push(encodeUnreserved(en))}}else if(nn===""&&(Pt==="&"||Pt==="?")){an.push(encodeUnreserved(en)+"=")}else if(nn===""){an.push("")}}return an}function parseUrl(Wt){return{expand:expand.bind(null,Wt)}}function expand(Wt,Pt){var en=["+","#",".","/",";","?","&"];Wt=Wt.replace(/\{([^\{\}]+)\}|([^\{\}]+)/g,(function(Wt,tn,nn){if(tn){let Wt="";const nn=[];if(en.indexOf(tn.charAt(0))!==-1){Wt=tn.charAt(0);tn=tn.substr(1)}tn.split(/,/g).forEach((function(en){var tn=/([^:\*]*)(?::(\d+)|(\*))?/.exec(en);nn.push(getValues(Pt,Wt,tn[1],tn[2]||tn[3]))}));if(Wt&&Wt!=="+"){var an=",";if(Wt==="?"){an="&"}else if(Wt!=="#"){an=Wt}return(nn.length!==0?Wt:"")+nn.join(an)}else{return nn.join(",")}}else{return encodeReserved(nn)}}));if(Wt==="/"){return Wt}else{return Wt.replace(/\/$/,"")}}function parse(Wt){let Pt=Wt.method.toUpperCase();let en=(Wt.url||"/").replace(/:([a-z]\w+)/g,"{$1}");let tn=Object.assign({},Wt.headers);let nn;let an=omit(Wt,["method","baseUrl","url","headers","request","mediaType"]);const In=extractUrlVariableNames(en);en=parseUrl(en).expand(an);if(!/^http/.test(en)){en=Wt.baseUrl+en}const rn=Object.keys(Wt).filter((Wt=>In.includes(Wt))).concat("baseUrl");const sn=omit(an,rn);const on=/application\/octet-stream/i.test(tn.accept);if(!on){if(Wt.mediaType.format){tn.accept=tn.accept.split(/,/).map((Pt=>Pt.replace(/application\/vnd(\.\w+)(\.v3)?(\.\w+)?(\+json)?$/,`application/vnd$1$2.${Wt.mediaType.format}`))).join(",")}if(en.endsWith("/graphql")){if(Wt.mediaType.previews?.length){const Pt=tn.accept.match(/[\w-]+(?=-preview)/g)||[];tn.accept=Pt.concat(Wt.mediaType.previews).map((Pt=>{const en=Wt.mediaType.format?`.${Wt.mediaType.format}`:"+json";return`application/vnd.github.${Pt}-preview${en}`})).join(",")}}}if(["GET","HEAD"].includes(Pt)){en=addQueryParameters(en,sn)}else{if("data"in sn){nn=sn.data}else{if(Object.keys(sn).length){nn=sn}}}if(!tn["content-type"]&&typeof nn!=="undefined"){tn["content-type"]="application/json; charset=utf-8"}if(["PATCH","PUT"].includes(Pt)&&typeof nn==="undefined"){nn=""}return Object.assign({method:Pt,url:en,headers:tn},typeof nn!=="undefined"?{body:nn}:null,Wt.request?{request:Wt.request}:null)}function endpointWithDefaults(Wt,Pt,en){return parse(merge(Wt,Pt,en))}function withDefaults(Wt,Pt){const en=merge(Wt,Pt);const tn=endpointWithDefaults.bind(null,en);return Object.assign(tn,{DEFAULTS:en,defaults:withDefaults.bind(null,en),merge:merge.bind(null,en),parse:parse})}var pn=withDefaults(null,dn);0&&0},70007:(Wt,Pt,en)=>{var tn=Object.defineProperty;var nn=Object.getOwnPropertyDescriptor;var an=Object.getOwnPropertyNames;var In=Object.prototype.hasOwnProperty;var __export=(Wt,Pt)=>{for(var en in Pt)tn(Wt,en,{get:Pt[en],enumerable:true})};var __copyProps=(Wt,Pt,en,rn)=>{if(Pt&&typeof Pt==="object"||typeof Pt==="function"){for(let sn of an(Pt))if(!In.call(Wt,sn)&&sn!==en)tn(Wt,sn,{get:()=>Pt[sn],enumerable:!(rn=nn(Pt,sn))||rn.enumerable})}return Wt};var __toCommonJS=Wt=>__copyProps(tn({},"__esModule",{value:true}),Wt);var rn={};__export(rn,{GraphqlResponseError:()=>pn,graphql:()=>hn,withCustomRequest:()=>withCustomRequest});Wt.exports=__toCommonJS(rn);var sn=en(66255);var on=en(33843);var cn="7.1.0";var dn=en(66255);var un=en(66255);function _buildMessageForResponseErrors(Wt){return`Request failed due to following response errors:\n`+Wt.errors.map((Wt=>` - ${Wt.message}`)).join("\n")}var pn=class extends Error{constructor(Wt,Pt,en){super(_buildMessageForResponseErrors(en));this.request=Wt;this.headers=Pt;this.response=en;this.name="GraphqlResponseError";this.errors=en.errors;this.data=en.data;if(Error.captureStackTrace){Error.captureStackTrace(this,this.constructor)}}};var mn=["method","baseUrl","url","headers","request","query","mediaType"];var bn=["query","method","url"];var Gn=/\/api\/v3\/?$/;function graphql(Wt,Pt,en){if(en){if(typeof Pt==="string"&&"query"in en){return Promise.reject(new Error(`[@octokit/graphql] "query" cannot be used as variable name`))}for(const Wt in en){if(!bn.includes(Wt))continue;return Promise.reject(new Error(`[@octokit/graphql] "${Wt}" cannot be used as variable name`))}}const tn=typeof Pt==="string"?Object.assign({query:Pt},en):Pt;const nn=Object.keys(tn).reduce(((Wt,Pt)=>{if(mn.includes(Pt)){Wt[Pt]=tn[Pt];return Wt}if(!Wt.variables){Wt.variables={}}Wt.variables[Pt]=tn[Pt];return Wt}),{});const an=tn.baseUrl||Wt.endpoint.DEFAULTS.baseUrl;if(Gn.test(an)){nn.url=an.replace(Gn,"/api/graphql")}return Wt(nn).then((Wt=>{if(Wt.data.errors){const Pt={};for(const en of Object.keys(Wt.headers)){Pt[en]=Wt.headers[en]}throw new pn(nn,Pt,Wt.data)}return Wt.data.data}))}function withDefaults(Wt,Pt){const en=Wt.defaults(Pt);const newApi=(Wt,Pt)=>graphql(en,Wt,Pt);return Object.assign(newApi,{defaults:withDefaults.bind(null,en),endpoint:en.endpoint})}var hn=withDefaults(sn.request,{headers:{"user-agent":`octokit-graphql.js/${cn} ${(0,on.getUserAgent)()}`},method:"POST",url:"/graphql"});function withCustomRequest(Wt){return withDefaults(Wt,{method:"POST",url:"/graphql"})}0&&0},38082:Wt=>{var Pt=Object.defineProperty;var en=Object.getOwnPropertyDescriptor;var tn=Object.getOwnPropertyNames;var nn=Object.prototype.hasOwnProperty;var __export=(Wt,en)=>{for(var tn in en)Pt(Wt,tn,{get:en[tn],enumerable:true})};var __copyProps=(Wt,an,In,rn)=>{if(an&&typeof an==="object"||typeof an==="function"){for(let sn of tn(an))if(!nn.call(Wt,sn)&&sn!==In)Pt(Wt,sn,{get:()=>an[sn],enumerable:!(rn=en(an,sn))||rn.enumerable})}return Wt};var __toCommonJS=Wt=>__copyProps(Pt({},"__esModule",{value:true}),Wt);var an={};__export(an,{composePaginateRest:()=>rn,isPaginatingEndpoint:()=>isPaginatingEndpoint,paginateRest:()=>paginateRest,paginatingEndpoints:()=>sn});Wt.exports=__toCommonJS(an);var In="9.2.1";function normalizePaginatedListResponse(Wt){if(!Wt.data){return{...Wt,data:[]}}const Pt="total_count"in Wt.data&&!("url"in Wt.data);if(!Pt)return Wt;const en=Wt.data.incomplete_results;const tn=Wt.data.repository_selection;const nn=Wt.data.total_count;delete Wt.data.incomplete_results;delete Wt.data.repository_selection;delete Wt.data.total_count;const an=Object.keys(Wt.data)[0];const In=Wt.data[an];Wt.data=In;if(typeof en!=="undefined"){Wt.data.incomplete_results=en}if(typeof tn!=="undefined"){Wt.data.repository_selection=tn}Wt.data.total_count=nn;return Wt}function iterator(Wt,Pt,en){const tn=typeof Pt==="function"?Pt.endpoint(en):Wt.request.endpoint(Pt,en);const nn=typeof Pt==="function"?Pt:Wt.request;const an=tn.method;const In=tn.headers;let rn=tn.url;return{[Symbol.asyncIterator]:()=>({async next(){if(!rn)return{done:true};try{const Wt=await nn({method:an,url:rn,headers:In});const Pt=normalizePaginatedListResponse(Wt);rn=((Pt.headers.link||"").match(/<([^>]+)>;\s*rel="next"/)||[])[1];return{value:Pt}}catch(Wt){if(Wt.status!==409)throw Wt;rn="";return{value:{status:200,headers:{},data:[]}}}}})}}function paginate(Wt,Pt,en,tn){if(typeof en==="function"){tn=en;en=void 0}return gather(Wt,[],iterator(Wt,Pt,en)[Symbol.asyncIterator](),tn)}function gather(Wt,Pt,en,tn){return en.next().then((nn=>{if(nn.done){return Pt}let an=false;function done(){an=true}Pt=Pt.concat(tn?tn(nn.value,done):nn.value.data);if(an){return Pt}return gather(Wt,Pt,en,tn)}))}var rn=Object.assign(paginate,{iterator:iterator});var sn=["GET /advisories","GET /app/hook/deliveries","GET /app/installation-requests","GET /app/installations","GET /assignments/{assignment_id}/accepted_assignments","GET /classrooms","GET /classrooms/{classroom_id}/assignments","GET /enterprises/{enterprise}/dependabot/alerts","GET /enterprises/{enterprise}/secret-scanning/alerts","GET /events","GET /gists","GET /gists/public","GET /gists/starred","GET /gists/{gist_id}/comments","GET /gists/{gist_id}/commits","GET /gists/{gist_id}/forks","GET /installation/repositories","GET /issues","GET /licenses","GET /marketplace_listing/plans","GET /marketplace_listing/plans/{plan_id}/accounts","GET /marketplace_listing/stubbed/plans","GET /marketplace_listing/stubbed/plans/{plan_id}/accounts","GET /networks/{owner}/{repo}/events","GET /notifications","GET /organizations","GET /orgs/{org}/actions/cache/usage-by-repository","GET /orgs/{org}/actions/permissions/repositories","GET /orgs/{org}/actions/runners","GET /orgs/{org}/actions/secrets","GET /orgs/{org}/actions/secrets/{secret_name}/repositories","GET /orgs/{org}/actions/variables","GET /orgs/{org}/actions/variables/{name}/repositories","GET /orgs/{org}/blocks","GET /orgs/{org}/code-scanning/alerts","GET /orgs/{org}/codespaces","GET /orgs/{org}/codespaces/secrets","GET /orgs/{org}/codespaces/secrets/{secret_name}/repositories","GET /orgs/{org}/copilot/billing/seats","GET /orgs/{org}/dependabot/alerts","GET /orgs/{org}/dependabot/secrets","GET /orgs/{org}/dependabot/secrets/{secret_name}/repositories","GET /orgs/{org}/events","GET /orgs/{org}/failed_invitations","GET /orgs/{org}/hooks","GET /orgs/{org}/hooks/{hook_id}/deliveries","GET /orgs/{org}/installations","GET /orgs/{org}/invitations","GET /orgs/{org}/invitations/{invitation_id}/teams","GET /orgs/{org}/issues","GET /orgs/{org}/members","GET /orgs/{org}/members/{username}/codespaces","GET /orgs/{org}/migrations","GET /orgs/{org}/migrations/{migration_id}/repositories","GET /orgs/{org}/organization-roles/{role_id}/teams","GET /orgs/{org}/organization-roles/{role_id}/users","GET /orgs/{org}/outside_collaborators","GET /orgs/{org}/packages","GET /orgs/{org}/packages/{package_type}/{package_name}/versions","GET /orgs/{org}/personal-access-token-requests","GET /orgs/{org}/personal-access-token-requests/{pat_request_id}/repositories","GET /orgs/{org}/personal-access-tokens","GET /orgs/{org}/personal-access-tokens/{pat_id}/repositories","GET /orgs/{org}/projects","GET /orgs/{org}/properties/values","GET /orgs/{org}/public_members","GET /orgs/{org}/repos","GET /orgs/{org}/rulesets","GET /orgs/{org}/rulesets/rule-suites","GET /orgs/{org}/secret-scanning/alerts","GET /orgs/{org}/security-advisories","GET /orgs/{org}/teams","GET /orgs/{org}/teams/{team_slug}/discussions","GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments","GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions","GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions","GET /orgs/{org}/teams/{team_slug}/invitations","GET /orgs/{org}/teams/{team_slug}/members","GET /orgs/{org}/teams/{team_slug}/projects","GET /orgs/{org}/teams/{team_slug}/repos","GET /orgs/{org}/teams/{team_slug}/teams","GET /projects/columns/{column_id}/cards","GET /projects/{project_id}/collaborators","GET /projects/{project_id}/columns","GET /repos/{owner}/{repo}/actions/artifacts","GET /repos/{owner}/{repo}/actions/caches","GET /repos/{owner}/{repo}/actions/organization-secrets","GET /repos/{owner}/{repo}/actions/organization-variables","GET /repos/{owner}/{repo}/actions/runners","GET /repos/{owner}/{repo}/actions/runs","GET /repos/{owner}/{repo}/actions/runs/{run_id}/artifacts","GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/jobs","GET /repos/{owner}/{repo}/actions/runs/{run_id}/jobs","GET /repos/{owner}/{repo}/actions/secrets","GET /repos/{owner}/{repo}/actions/variables","GET /repos/{owner}/{repo}/actions/workflows","GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs","GET /repos/{owner}/{repo}/activity","GET /repos/{owner}/{repo}/assignees","GET /repos/{owner}/{repo}/branches","GET /repos/{owner}/{repo}/check-runs/{check_run_id}/annotations","GET /repos/{owner}/{repo}/check-suites/{check_suite_id}/check-runs","GET /repos/{owner}/{repo}/code-scanning/alerts","GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances","GET /repos/{owner}/{repo}/code-scanning/analyses","GET /repos/{owner}/{repo}/codespaces","GET /repos/{owner}/{repo}/codespaces/devcontainers","GET /repos/{owner}/{repo}/codespaces/secrets","GET /repos/{owner}/{repo}/collaborators","GET /repos/{owner}/{repo}/comments","GET /repos/{owner}/{repo}/comments/{comment_id}/reactions","GET /repos/{owner}/{repo}/commits","GET /repos/{owner}/{repo}/commits/{commit_sha}/comments","GET /repos/{owner}/{repo}/commits/{commit_sha}/pulls","GET /repos/{owner}/{repo}/commits/{ref}/check-runs","GET /repos/{owner}/{repo}/commits/{ref}/check-suites","GET /repos/{owner}/{repo}/commits/{ref}/status","GET /repos/{owner}/{repo}/commits/{ref}/statuses","GET /repos/{owner}/{repo}/contributors","GET /repos/{owner}/{repo}/dependabot/alerts","GET /repos/{owner}/{repo}/dependabot/secrets","GET /repos/{owner}/{repo}/deployments","GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses","GET /repos/{owner}/{repo}/environments","GET /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies","GET /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules/apps","GET /repos/{owner}/{repo}/events","GET /repos/{owner}/{repo}/forks","GET /repos/{owner}/{repo}/hooks","GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries","GET /repos/{owner}/{repo}/invitations","GET /repos/{owner}/{repo}/issues","GET /repos/{owner}/{repo}/issues/comments","GET /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions","GET /repos/{owner}/{repo}/issues/events","GET /repos/{owner}/{repo}/issues/{issue_number}/comments","GET /repos/{owner}/{repo}/issues/{issue_number}/events","GET /repos/{owner}/{repo}/issues/{issue_number}/labels","GET /repos/{owner}/{repo}/issues/{issue_number}/reactions","GET /repos/{owner}/{repo}/issues/{issue_number}/timeline","GET /repos/{owner}/{repo}/keys","GET /repos/{owner}/{repo}/labels","GET /repos/{owner}/{repo}/milestones","GET /repos/{owner}/{repo}/milestones/{milestone_number}/labels","GET /repos/{owner}/{repo}/notifications","GET /repos/{owner}/{repo}/pages/builds","GET /repos/{owner}/{repo}/projects","GET /repos/{owner}/{repo}/pulls","GET /repos/{owner}/{repo}/pulls/comments","GET /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions","GET /repos/{owner}/{repo}/pulls/{pull_number}/comments","GET /repos/{owner}/{repo}/pulls/{pull_number}/commits","GET /repos/{owner}/{repo}/pulls/{pull_number}/files","GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews","GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/comments","GET /repos/{owner}/{repo}/releases","GET /repos/{owner}/{repo}/releases/{release_id}/assets","GET /repos/{owner}/{repo}/releases/{release_id}/reactions","GET /repos/{owner}/{repo}/rules/branches/{branch}","GET /repos/{owner}/{repo}/rulesets","GET /repos/{owner}/{repo}/rulesets/rule-suites","GET /repos/{owner}/{repo}/secret-scanning/alerts","GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}/locations","GET /repos/{owner}/{repo}/security-advisories","GET /repos/{owner}/{repo}/stargazers","GET /repos/{owner}/{repo}/subscribers","GET /repos/{owner}/{repo}/tags","GET /repos/{owner}/{repo}/teams","GET /repos/{owner}/{repo}/topics","GET /repositories","GET /repositories/{repository_id}/environments/{environment_name}/secrets","GET /repositories/{repository_id}/environments/{environment_name}/variables","GET /search/code","GET /search/commits","GET /search/issues","GET /search/labels","GET /search/repositories","GET /search/topics","GET /search/users","GET /teams/{team_id}/discussions","GET /teams/{team_id}/discussions/{discussion_number}/comments","GET /teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}/reactions","GET /teams/{team_id}/discussions/{discussion_number}/reactions","GET /teams/{team_id}/invitations","GET /teams/{team_id}/members","GET /teams/{team_id}/projects","GET /teams/{team_id}/repos","GET /teams/{team_id}/teams","GET /user/blocks","GET /user/codespaces","GET /user/codespaces/secrets","GET /user/emails","GET /user/followers","GET /user/following","GET /user/gpg_keys","GET /user/installations","GET /user/installations/{installation_id}/repositories","GET /user/issues","GET /user/keys","GET /user/marketplace_purchases","GET /user/marketplace_purchases/stubbed","GET /user/memberships/orgs","GET /user/migrations","GET /user/migrations/{migration_id}/repositories","GET /user/orgs","GET /user/packages","GET /user/packages/{package_type}/{package_name}/versions","GET /user/public_emails","GET /user/repos","GET /user/repository_invitations","GET /user/social_accounts","GET /user/ssh_signing_keys","GET /user/starred","GET /user/subscriptions","GET /user/teams","GET /users","GET /users/{username}/events","GET /users/{username}/events/orgs/{org}","GET /users/{username}/events/public","GET /users/{username}/followers","GET /users/{username}/following","GET /users/{username}/gists","GET /users/{username}/gpg_keys","GET /users/{username}/keys","GET /users/{username}/orgs","GET /users/{username}/packages","GET /users/{username}/projects","GET /users/{username}/received_events","GET /users/{username}/received_events/public","GET /users/{username}/repos","GET /users/{username}/social_accounts","GET /users/{username}/ssh_signing_keys","GET /users/{username}/starred","GET /users/{username}/subscriptions"];function isPaginatingEndpoint(Wt){if(typeof Wt==="string"){return sn.includes(Wt)}else{return false}}function paginateRest(Wt){return{paginate:Object.assign(paginate.bind(null,Wt),{iterator:iterator.bind(null,Wt)})}}paginateRest.VERSION=In;0&&0},84935:Wt=>{var Pt=Object.defineProperty;var en=Object.getOwnPropertyDescriptor;var tn=Object.getOwnPropertyNames;var nn=Object.prototype.hasOwnProperty;var __export=(Wt,en)=>{for(var tn in en)Pt(Wt,tn,{get:en[tn],enumerable:true})};var __copyProps=(Wt,an,In,rn)=>{if(an&&typeof an==="object"||typeof an==="function"){for(let sn of tn(an))if(!nn.call(Wt,sn)&&sn!==In)Pt(Wt,sn,{get:()=>an[sn],enumerable:!(rn=en(an,sn))||rn.enumerable})}return Wt};var __toCommonJS=Wt=>__copyProps(Pt({},"__esModule",{value:true}),Wt);var an={};__export(an,{legacyRestEndpointMethods:()=>legacyRestEndpointMethods,restEndpointMethods:()=>restEndpointMethods});Wt.exports=__toCommonJS(an);var In="10.4.1";var rn={actions:{addCustomLabelsToSelfHostedRunnerForOrg:["POST /orgs/{org}/actions/runners/{runner_id}/labels"],addCustomLabelsToSelfHostedRunnerForRepo:["POST /repos/{owner}/{repo}/actions/runners/{runner_id}/labels"],addSelectedRepoToOrgSecret:["PUT /orgs/{org}/actions/secrets/{secret_name}/repositories/{repository_id}"],addSelectedRepoToOrgVariable:["PUT /orgs/{org}/actions/variables/{name}/repositories/{repository_id}"],approveWorkflowRun:["POST /repos/{owner}/{repo}/actions/runs/{run_id}/approve"],cancelWorkflowRun:["POST /repos/{owner}/{repo}/actions/runs/{run_id}/cancel"],createEnvironmentVariable:["POST /repositories/{repository_id}/environments/{environment_name}/variables"],createOrUpdateEnvironmentSecret:["PUT /repositories/{repository_id}/environments/{environment_name}/secrets/{secret_name}"],createOrUpdateOrgSecret:["PUT /orgs/{org}/actions/secrets/{secret_name}"],createOrUpdateRepoSecret:["PUT /repos/{owner}/{repo}/actions/secrets/{secret_name}"],createOrgVariable:["POST /orgs/{org}/actions/variables"],createRegistrationTokenForOrg:["POST /orgs/{org}/actions/runners/registration-token"],createRegistrationTokenForRepo:["POST /repos/{owner}/{repo}/actions/runners/registration-token"],createRemoveTokenForOrg:["POST /orgs/{org}/actions/runners/remove-token"],createRemoveTokenForRepo:["POST /repos/{owner}/{repo}/actions/runners/remove-token"],createRepoVariable:["POST /repos/{owner}/{repo}/actions/variables"],createWorkflowDispatch:["POST /repos/{owner}/{repo}/actions/workflows/{workflow_id}/dispatches"],deleteActionsCacheById:["DELETE /repos/{owner}/{repo}/actions/caches/{cache_id}"],deleteActionsCacheByKey:["DELETE /repos/{owner}/{repo}/actions/caches{?key,ref}"],deleteArtifact:["DELETE /repos/{owner}/{repo}/actions/artifacts/{artifact_id}"],deleteEnvironmentSecret:["DELETE /repositories/{repository_id}/environments/{environment_name}/secrets/{secret_name}"],deleteEnvironmentVariable:["DELETE /repositories/{repository_id}/environments/{environment_name}/variables/{name}"],deleteOrgSecret:["DELETE /orgs/{org}/actions/secrets/{secret_name}"],deleteOrgVariable:["DELETE /orgs/{org}/actions/variables/{name}"],deleteRepoSecret:["DELETE /repos/{owner}/{repo}/actions/secrets/{secret_name}"],deleteRepoVariable:["DELETE /repos/{owner}/{repo}/actions/variables/{name}"],deleteSelfHostedRunnerFromOrg:["DELETE /orgs/{org}/actions/runners/{runner_id}"],deleteSelfHostedRunnerFromRepo:["DELETE /repos/{owner}/{repo}/actions/runners/{runner_id}"],deleteWorkflowRun:["DELETE /repos/{owner}/{repo}/actions/runs/{run_id}"],deleteWorkflowRunLogs:["DELETE /repos/{owner}/{repo}/actions/runs/{run_id}/logs"],disableSelectedRepositoryGithubActionsOrganization:["DELETE /orgs/{org}/actions/permissions/repositories/{repository_id}"],disableWorkflow:["PUT /repos/{owner}/{repo}/actions/workflows/{workflow_id}/disable"],downloadArtifact:["GET /repos/{owner}/{repo}/actions/artifacts/{artifact_id}/{archive_format}"],downloadJobLogsForWorkflowRun:["GET /repos/{owner}/{repo}/actions/jobs/{job_id}/logs"],downloadWorkflowRunAttemptLogs:["GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/logs"],downloadWorkflowRunLogs:["GET /repos/{owner}/{repo}/actions/runs/{run_id}/logs"],enableSelectedRepositoryGithubActionsOrganization:["PUT /orgs/{org}/actions/permissions/repositories/{repository_id}"],enableWorkflow:["PUT /repos/{owner}/{repo}/actions/workflows/{workflow_id}/enable"],forceCancelWorkflowRun:["POST /repos/{owner}/{repo}/actions/runs/{run_id}/force-cancel"],generateRunnerJitconfigForOrg:["POST /orgs/{org}/actions/runners/generate-jitconfig"],generateRunnerJitconfigForRepo:["POST /repos/{owner}/{repo}/actions/runners/generate-jitconfig"],getActionsCacheList:["GET /repos/{owner}/{repo}/actions/caches"],getActionsCacheUsage:["GET /repos/{owner}/{repo}/actions/cache/usage"],getActionsCacheUsageByRepoForOrg:["GET /orgs/{org}/actions/cache/usage-by-repository"],getActionsCacheUsageForOrg:["GET /orgs/{org}/actions/cache/usage"],getAllowedActionsOrganization:["GET /orgs/{org}/actions/permissions/selected-actions"],getAllowedActionsRepository:["GET /repos/{owner}/{repo}/actions/permissions/selected-actions"],getArtifact:["GET /repos/{owner}/{repo}/actions/artifacts/{artifact_id}"],getCustomOidcSubClaimForRepo:["GET /repos/{owner}/{repo}/actions/oidc/customization/sub"],getEnvironmentPublicKey:["GET /repositories/{repository_id}/environments/{environment_name}/secrets/public-key"],getEnvironmentSecret:["GET /repositories/{repository_id}/environments/{environment_name}/secrets/{secret_name}"],getEnvironmentVariable:["GET /repositories/{repository_id}/environments/{environment_name}/variables/{name}"],getGithubActionsDefaultWorkflowPermissionsOrganization:["GET /orgs/{org}/actions/permissions/workflow"],getGithubActionsDefaultWorkflowPermissionsRepository:["GET /repos/{owner}/{repo}/actions/permissions/workflow"],getGithubActionsPermissionsOrganization:["GET /orgs/{org}/actions/permissions"],getGithubActionsPermissionsRepository:["GET /repos/{owner}/{repo}/actions/permissions"],getJobForWorkflowRun:["GET /repos/{owner}/{repo}/actions/jobs/{job_id}"],getOrgPublicKey:["GET /orgs/{org}/actions/secrets/public-key"],getOrgSecret:["GET /orgs/{org}/actions/secrets/{secret_name}"],getOrgVariable:["GET /orgs/{org}/actions/variables/{name}"],getPendingDeploymentsForRun:["GET /repos/{owner}/{repo}/actions/runs/{run_id}/pending_deployments"],getRepoPermissions:["GET /repos/{owner}/{repo}/actions/permissions",{},{renamed:["actions","getGithubActionsPermissionsRepository"]}],getRepoPublicKey:["GET /repos/{owner}/{repo}/actions/secrets/public-key"],getRepoSecret:["GET /repos/{owner}/{repo}/actions/secrets/{secret_name}"],getRepoVariable:["GET /repos/{owner}/{repo}/actions/variables/{name}"],getReviewsForRun:["GET /repos/{owner}/{repo}/actions/runs/{run_id}/approvals"],getSelfHostedRunnerForOrg:["GET /orgs/{org}/actions/runners/{runner_id}"],getSelfHostedRunnerForRepo:["GET /repos/{owner}/{repo}/actions/runners/{runner_id}"],getWorkflow:["GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}"],getWorkflowAccessToRepository:["GET /repos/{owner}/{repo}/actions/permissions/access"],getWorkflowRun:["GET /repos/{owner}/{repo}/actions/runs/{run_id}"],getWorkflowRunAttempt:["GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}"],getWorkflowRunUsage:["GET /repos/{owner}/{repo}/actions/runs/{run_id}/timing"],getWorkflowUsage:["GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/timing"],listArtifactsForRepo:["GET /repos/{owner}/{repo}/actions/artifacts"],listEnvironmentSecrets:["GET /repositories/{repository_id}/environments/{environment_name}/secrets"],listEnvironmentVariables:["GET /repositories/{repository_id}/environments/{environment_name}/variables"],listJobsForWorkflowRun:["GET /repos/{owner}/{repo}/actions/runs/{run_id}/jobs"],listJobsForWorkflowRunAttempt:["GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/jobs"],listLabelsForSelfHostedRunnerForOrg:["GET /orgs/{org}/actions/runners/{runner_id}/labels"],listLabelsForSelfHostedRunnerForRepo:["GET /repos/{owner}/{repo}/actions/runners/{runner_id}/labels"],listOrgSecrets:["GET /orgs/{org}/actions/secrets"],listOrgVariables:["GET /orgs/{org}/actions/variables"],listRepoOrganizationSecrets:["GET /repos/{owner}/{repo}/actions/organization-secrets"],listRepoOrganizationVariables:["GET /repos/{owner}/{repo}/actions/organization-variables"],listRepoSecrets:["GET /repos/{owner}/{repo}/actions/secrets"],listRepoVariables:["GET /repos/{owner}/{repo}/actions/variables"],listRepoWorkflows:["GET /repos/{owner}/{repo}/actions/workflows"],listRunnerApplicationsForOrg:["GET /orgs/{org}/actions/runners/downloads"],listRunnerApplicationsForRepo:["GET /repos/{owner}/{repo}/actions/runners/downloads"],listSelectedReposForOrgSecret:["GET /orgs/{org}/actions/secrets/{secret_name}/repositories"],listSelectedReposForOrgVariable:["GET /orgs/{org}/actions/variables/{name}/repositories"],listSelectedRepositoriesEnabledGithubActionsOrganization:["GET /orgs/{org}/actions/permissions/repositories"],listSelfHostedRunnersForOrg:["GET /orgs/{org}/actions/runners"],listSelfHostedRunnersForRepo:["GET /repos/{owner}/{repo}/actions/runners"],listWorkflowRunArtifacts:["GET /repos/{owner}/{repo}/actions/runs/{run_id}/artifacts"],listWorkflowRuns:["GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs"],listWorkflowRunsForRepo:["GET /repos/{owner}/{repo}/actions/runs"],reRunJobForWorkflowRun:["POST /repos/{owner}/{repo}/actions/jobs/{job_id}/rerun"],reRunWorkflow:["POST /repos/{owner}/{repo}/actions/runs/{run_id}/rerun"],reRunWorkflowFailedJobs:["POST /repos/{owner}/{repo}/actions/runs/{run_id}/rerun-failed-jobs"],removeAllCustomLabelsFromSelfHostedRunnerForOrg:["DELETE /orgs/{org}/actions/runners/{runner_id}/labels"],removeAllCustomLabelsFromSelfHostedRunnerForRepo:["DELETE /repos/{owner}/{repo}/actions/runners/{runner_id}/labels"],removeCustomLabelFromSelfHostedRunnerForOrg:["DELETE /orgs/{org}/actions/runners/{runner_id}/labels/{name}"],removeCustomLabelFromSelfHostedRunnerForRepo:["DELETE /repos/{owner}/{repo}/actions/runners/{runner_id}/labels/{name}"],removeSelectedRepoFromOrgSecret:["DELETE /orgs/{org}/actions/secrets/{secret_name}/repositories/{repository_id}"],removeSelectedRepoFromOrgVariable:["DELETE /orgs/{org}/actions/variables/{name}/repositories/{repository_id}"],reviewCustomGatesForRun:["POST /repos/{owner}/{repo}/actions/runs/{run_id}/deployment_protection_rule"],reviewPendingDeploymentsForRun:["POST /repos/{owner}/{repo}/actions/runs/{run_id}/pending_deployments"],setAllowedActionsOrganization:["PUT /orgs/{org}/actions/permissions/selected-actions"],setAllowedActionsRepository:["PUT /repos/{owner}/{repo}/actions/permissions/selected-actions"],setCustomLabelsForSelfHostedRunnerForOrg:["PUT /orgs/{org}/actions/runners/{runner_id}/labels"],setCustomLabelsForSelfHostedRunnerForRepo:["PUT /repos/{owner}/{repo}/actions/runners/{runner_id}/labels"],setCustomOidcSubClaimForRepo:["PUT /repos/{owner}/{repo}/actions/oidc/customization/sub"],setGithubActionsDefaultWorkflowPermissionsOrganization:["PUT /orgs/{org}/actions/permissions/workflow"],setGithubActionsDefaultWorkflowPermissionsRepository:["PUT /repos/{owner}/{repo}/actions/permissions/workflow"],setGithubActionsPermissionsOrganization:["PUT /orgs/{org}/actions/permissions"],setGithubActionsPermissionsRepository:["PUT /repos/{owner}/{repo}/actions/permissions"],setSelectedReposForOrgSecret:["PUT /orgs/{org}/actions/secrets/{secret_name}/repositories"],setSelectedReposForOrgVariable:["PUT /orgs/{org}/actions/variables/{name}/repositories"],setSelectedRepositoriesEnabledGithubActionsOrganization:["PUT /orgs/{org}/actions/permissions/repositories"],setWorkflowAccessToRepository:["PUT /repos/{owner}/{repo}/actions/permissions/access"],updateEnvironmentVariable:["PATCH /repositories/{repository_id}/environments/{environment_name}/variables/{name}"],updateOrgVariable:["PATCH /orgs/{org}/actions/variables/{name}"],updateRepoVariable:["PATCH /repos/{owner}/{repo}/actions/variables/{name}"]},activity:{checkRepoIsStarredByAuthenticatedUser:["GET /user/starred/{owner}/{repo}"],deleteRepoSubscription:["DELETE /repos/{owner}/{repo}/subscription"],deleteThreadSubscription:["DELETE /notifications/threads/{thread_id}/subscription"],getFeeds:["GET /feeds"],getRepoSubscription:["GET /repos/{owner}/{repo}/subscription"],getThread:["GET /notifications/threads/{thread_id}"],getThreadSubscriptionForAuthenticatedUser:["GET /notifications/threads/{thread_id}/subscription"],listEventsForAuthenticatedUser:["GET /users/{username}/events"],listNotificationsForAuthenticatedUser:["GET /notifications"],listOrgEventsForAuthenticatedUser:["GET /users/{username}/events/orgs/{org}"],listPublicEvents:["GET /events"],listPublicEventsForRepoNetwork:["GET /networks/{owner}/{repo}/events"],listPublicEventsForUser:["GET /users/{username}/events/public"],listPublicOrgEvents:["GET /orgs/{org}/events"],listReceivedEventsForUser:["GET /users/{username}/received_events"],listReceivedPublicEventsForUser:["GET /users/{username}/received_events/public"],listRepoEvents:["GET /repos/{owner}/{repo}/events"],listRepoNotificationsForAuthenticatedUser:["GET /repos/{owner}/{repo}/notifications"],listReposStarredByAuthenticatedUser:["GET /user/starred"],listReposStarredByUser:["GET /users/{username}/starred"],listReposWatchedByUser:["GET /users/{username}/subscriptions"],listStargazersForRepo:["GET /repos/{owner}/{repo}/stargazers"],listWatchedReposForAuthenticatedUser:["GET /user/subscriptions"],listWatchersForRepo:["GET /repos/{owner}/{repo}/subscribers"],markNotificationsAsRead:["PUT /notifications"],markRepoNotificationsAsRead:["PUT /repos/{owner}/{repo}/notifications"],markThreadAsDone:["DELETE /notifications/threads/{thread_id}"],markThreadAsRead:["PATCH /notifications/threads/{thread_id}"],setRepoSubscription:["PUT /repos/{owner}/{repo}/subscription"],setThreadSubscription:["PUT /notifications/threads/{thread_id}/subscription"],starRepoForAuthenticatedUser:["PUT /user/starred/{owner}/{repo}"],unstarRepoForAuthenticatedUser:["DELETE /user/starred/{owner}/{repo}"]},apps:{addRepoToInstallation:["PUT /user/installations/{installation_id}/repositories/{repository_id}",{},{renamed:["apps","addRepoToInstallationForAuthenticatedUser"]}],addRepoToInstallationForAuthenticatedUser:["PUT /user/installations/{installation_id}/repositories/{repository_id}"],checkToken:["POST /applications/{client_id}/token"],createFromManifest:["POST /app-manifests/{code}/conversions"],createInstallationAccessToken:["POST /app/installations/{installation_id}/access_tokens"],deleteAuthorization:["DELETE /applications/{client_id}/grant"],deleteInstallation:["DELETE /app/installations/{installation_id}"],deleteToken:["DELETE /applications/{client_id}/token"],getAuthenticated:["GET /app"],getBySlug:["GET /apps/{app_slug}"],getInstallation:["GET /app/installations/{installation_id}"],getOrgInstallation:["GET /orgs/{org}/installation"],getRepoInstallation:["GET /repos/{owner}/{repo}/installation"],getSubscriptionPlanForAccount:["GET /marketplace_listing/accounts/{account_id}"],getSubscriptionPlanForAccountStubbed:["GET /marketplace_listing/stubbed/accounts/{account_id}"],getUserInstallation:["GET /users/{username}/installation"],getWebhookConfigForApp:["GET /app/hook/config"],getWebhookDelivery:["GET /app/hook/deliveries/{delivery_id}"],listAccountsForPlan:["GET /marketplace_listing/plans/{plan_id}/accounts"],listAccountsForPlanStubbed:["GET /marketplace_listing/stubbed/plans/{plan_id}/accounts"],listInstallationReposForAuthenticatedUser:["GET /user/installations/{installation_id}/repositories"],listInstallationRequestsForAuthenticatedApp:["GET /app/installation-requests"],listInstallations:["GET /app/installations"],listInstallationsForAuthenticatedUser:["GET /user/installations"],listPlans:["GET /marketplace_listing/plans"],listPlansStubbed:["GET /marketplace_listing/stubbed/plans"],listReposAccessibleToInstallation:["GET /installation/repositories"],listSubscriptionsForAuthenticatedUser:["GET /user/marketplace_purchases"],listSubscriptionsForAuthenticatedUserStubbed:["GET /user/marketplace_purchases/stubbed"],listWebhookDeliveries:["GET /app/hook/deliveries"],redeliverWebhookDelivery:["POST /app/hook/deliveries/{delivery_id}/attempts"],removeRepoFromInstallation:["DELETE /user/installations/{installation_id}/repositories/{repository_id}",{},{renamed:["apps","removeRepoFromInstallationForAuthenticatedUser"]}],removeRepoFromInstallationForAuthenticatedUser:["DELETE /user/installations/{installation_id}/repositories/{repository_id}"],resetToken:["PATCH /applications/{client_id}/token"],revokeInstallationAccessToken:["DELETE /installation/token"],scopeToken:["POST /applications/{client_id}/token/scoped"],suspendInstallation:["PUT /app/installations/{installation_id}/suspended"],unsuspendInstallation:["DELETE /app/installations/{installation_id}/suspended"],updateWebhookConfigForApp:["PATCH /app/hook/config"]},billing:{getGithubActionsBillingOrg:["GET /orgs/{org}/settings/billing/actions"],getGithubActionsBillingUser:["GET /users/{username}/settings/billing/actions"],getGithubPackagesBillingOrg:["GET /orgs/{org}/settings/billing/packages"],getGithubPackagesBillingUser:["GET /users/{username}/settings/billing/packages"],getSharedStorageBillingOrg:["GET /orgs/{org}/settings/billing/shared-storage"],getSharedStorageBillingUser:["GET /users/{username}/settings/billing/shared-storage"]},checks:{create:["POST /repos/{owner}/{repo}/check-runs"],createSuite:["POST /repos/{owner}/{repo}/check-suites"],get:["GET /repos/{owner}/{repo}/check-runs/{check_run_id}"],getSuite:["GET /repos/{owner}/{repo}/check-suites/{check_suite_id}"],listAnnotations:["GET /repos/{owner}/{repo}/check-runs/{check_run_id}/annotations"],listForRef:["GET /repos/{owner}/{repo}/commits/{ref}/check-runs"],listForSuite:["GET /repos/{owner}/{repo}/check-suites/{check_suite_id}/check-runs"],listSuitesForRef:["GET /repos/{owner}/{repo}/commits/{ref}/check-suites"],rerequestRun:["POST /repos/{owner}/{repo}/check-runs/{check_run_id}/rerequest"],rerequestSuite:["POST /repos/{owner}/{repo}/check-suites/{check_suite_id}/rerequest"],setSuitesPreferences:["PATCH /repos/{owner}/{repo}/check-suites/preferences"],update:["PATCH /repos/{owner}/{repo}/check-runs/{check_run_id}"]},codeScanning:{deleteAnalysis:["DELETE /repos/{owner}/{repo}/code-scanning/analyses/{analysis_id}{?confirm_delete}"],getAlert:["GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}",{},{renamedParameters:{alert_id:"alert_number"}}],getAnalysis:["GET /repos/{owner}/{repo}/code-scanning/analyses/{analysis_id}"],getCodeqlDatabase:["GET /repos/{owner}/{repo}/code-scanning/codeql/databases/{language}"],getDefaultSetup:["GET /repos/{owner}/{repo}/code-scanning/default-setup"],getSarif:["GET /repos/{owner}/{repo}/code-scanning/sarifs/{sarif_id}"],listAlertInstances:["GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances"],listAlertsForOrg:["GET /orgs/{org}/code-scanning/alerts"],listAlertsForRepo:["GET /repos/{owner}/{repo}/code-scanning/alerts"],listAlertsInstances:["GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances",{},{renamed:["codeScanning","listAlertInstances"]}],listCodeqlDatabases:["GET /repos/{owner}/{repo}/code-scanning/codeql/databases"],listRecentAnalyses:["GET /repos/{owner}/{repo}/code-scanning/analyses"],updateAlert:["PATCH /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}"],updateDefaultSetup:["PATCH /repos/{owner}/{repo}/code-scanning/default-setup"],uploadSarif:["POST /repos/{owner}/{repo}/code-scanning/sarifs"]},codesOfConduct:{getAllCodesOfConduct:["GET /codes_of_conduct"],getConductCode:["GET /codes_of_conduct/{key}"]},codespaces:{addRepositoryForSecretForAuthenticatedUser:["PUT /user/codespaces/secrets/{secret_name}/repositories/{repository_id}"],addSelectedRepoToOrgSecret:["PUT /orgs/{org}/codespaces/secrets/{secret_name}/repositories/{repository_id}"],checkPermissionsForDevcontainer:["GET /repos/{owner}/{repo}/codespaces/permissions_check"],codespaceMachinesForAuthenticatedUser:["GET /user/codespaces/{codespace_name}/machines"],createForAuthenticatedUser:["POST /user/codespaces"],createOrUpdateOrgSecret:["PUT /orgs/{org}/codespaces/secrets/{secret_name}"],createOrUpdateRepoSecret:["PUT /repos/{owner}/{repo}/codespaces/secrets/{secret_name}"],createOrUpdateSecretForAuthenticatedUser:["PUT /user/codespaces/secrets/{secret_name}"],createWithPrForAuthenticatedUser:["POST /repos/{owner}/{repo}/pulls/{pull_number}/codespaces"],createWithRepoForAuthenticatedUser:["POST /repos/{owner}/{repo}/codespaces"],deleteForAuthenticatedUser:["DELETE /user/codespaces/{codespace_name}"],deleteFromOrganization:["DELETE /orgs/{org}/members/{username}/codespaces/{codespace_name}"],deleteOrgSecret:["DELETE /orgs/{org}/codespaces/secrets/{secret_name}"],deleteRepoSecret:["DELETE /repos/{owner}/{repo}/codespaces/secrets/{secret_name}"],deleteSecretForAuthenticatedUser:["DELETE /user/codespaces/secrets/{secret_name}"],exportForAuthenticatedUser:["POST /user/codespaces/{codespace_name}/exports"],getCodespacesForUserInOrg:["GET /orgs/{org}/members/{username}/codespaces"],getExportDetailsForAuthenticatedUser:["GET /user/codespaces/{codespace_name}/exports/{export_id}"],getForAuthenticatedUser:["GET /user/codespaces/{codespace_name}"],getOrgPublicKey:["GET /orgs/{org}/codespaces/secrets/public-key"],getOrgSecret:["GET /orgs/{org}/codespaces/secrets/{secret_name}"],getPublicKeyForAuthenticatedUser:["GET /user/codespaces/secrets/public-key"],getRepoPublicKey:["GET /repos/{owner}/{repo}/codespaces/secrets/public-key"],getRepoSecret:["GET /repos/{owner}/{repo}/codespaces/secrets/{secret_name}"],getSecretForAuthenticatedUser:["GET /user/codespaces/secrets/{secret_name}"],listDevcontainersInRepositoryForAuthenticatedUser:["GET /repos/{owner}/{repo}/codespaces/devcontainers"],listForAuthenticatedUser:["GET /user/codespaces"],listInOrganization:["GET /orgs/{org}/codespaces",{},{renamedParameters:{org_id:"org"}}],listInRepositoryForAuthenticatedUser:["GET /repos/{owner}/{repo}/codespaces"],listOrgSecrets:["GET /orgs/{org}/codespaces/secrets"],listRepoSecrets:["GET /repos/{owner}/{repo}/codespaces/secrets"],listRepositoriesForSecretForAuthenticatedUser:["GET /user/codespaces/secrets/{secret_name}/repositories"],listSecretsForAuthenticatedUser:["GET /user/codespaces/secrets"],listSelectedReposForOrgSecret:["GET /orgs/{org}/codespaces/secrets/{secret_name}/repositories"],preFlightWithRepoForAuthenticatedUser:["GET /repos/{owner}/{repo}/codespaces/new"],publishForAuthenticatedUser:["POST /user/codespaces/{codespace_name}/publish"],removeRepositoryForSecretForAuthenticatedUser:["DELETE /user/codespaces/secrets/{secret_name}/repositories/{repository_id}"],removeSelectedRepoFromOrgSecret:["DELETE /orgs/{org}/codespaces/secrets/{secret_name}/repositories/{repository_id}"],repoMachinesForAuthenticatedUser:["GET /repos/{owner}/{repo}/codespaces/machines"],setRepositoriesForSecretForAuthenticatedUser:["PUT /user/codespaces/secrets/{secret_name}/repositories"],setSelectedReposForOrgSecret:["PUT /orgs/{org}/codespaces/secrets/{secret_name}/repositories"],startForAuthenticatedUser:["POST /user/codespaces/{codespace_name}/start"],stopForAuthenticatedUser:["POST /user/codespaces/{codespace_name}/stop"],stopInOrganization:["POST /orgs/{org}/members/{username}/codespaces/{codespace_name}/stop"],updateForAuthenticatedUser:["PATCH /user/codespaces/{codespace_name}"]},copilot:{addCopilotSeatsForTeams:["POST /orgs/{org}/copilot/billing/selected_teams"],addCopilotSeatsForUsers:["POST /orgs/{org}/copilot/billing/selected_users"],cancelCopilotSeatAssignmentForTeams:["DELETE /orgs/{org}/copilot/billing/selected_teams"],cancelCopilotSeatAssignmentForUsers:["DELETE /orgs/{org}/copilot/billing/selected_users"],getCopilotOrganizationDetails:["GET /orgs/{org}/copilot/billing"],getCopilotSeatDetailsForUser:["GET /orgs/{org}/members/{username}/copilot"],listCopilotSeats:["GET /orgs/{org}/copilot/billing/seats"]},dependabot:{addSelectedRepoToOrgSecret:["PUT /orgs/{org}/dependabot/secrets/{secret_name}/repositories/{repository_id}"],createOrUpdateOrgSecret:["PUT /orgs/{org}/dependabot/secrets/{secret_name}"],createOrUpdateRepoSecret:["PUT /repos/{owner}/{repo}/dependabot/secrets/{secret_name}"],deleteOrgSecret:["DELETE /orgs/{org}/dependabot/secrets/{secret_name}"],deleteRepoSecret:["DELETE /repos/{owner}/{repo}/dependabot/secrets/{secret_name}"],getAlert:["GET /repos/{owner}/{repo}/dependabot/alerts/{alert_number}"],getOrgPublicKey:["GET /orgs/{org}/dependabot/secrets/public-key"],getOrgSecret:["GET /orgs/{org}/dependabot/secrets/{secret_name}"],getRepoPublicKey:["GET /repos/{owner}/{repo}/dependabot/secrets/public-key"],getRepoSecret:["GET /repos/{owner}/{repo}/dependabot/secrets/{secret_name}"],listAlertsForEnterprise:["GET /enterprises/{enterprise}/dependabot/alerts"],listAlertsForOrg:["GET /orgs/{org}/dependabot/alerts"],listAlertsForRepo:["GET /repos/{owner}/{repo}/dependabot/alerts"],listOrgSecrets:["GET /orgs/{org}/dependabot/secrets"],listRepoSecrets:["GET /repos/{owner}/{repo}/dependabot/secrets"],listSelectedReposForOrgSecret:["GET /orgs/{org}/dependabot/secrets/{secret_name}/repositories"],removeSelectedRepoFromOrgSecret:["DELETE /orgs/{org}/dependabot/secrets/{secret_name}/repositories/{repository_id}"],setSelectedReposForOrgSecret:["PUT /orgs/{org}/dependabot/secrets/{secret_name}/repositories"],updateAlert:["PATCH /repos/{owner}/{repo}/dependabot/alerts/{alert_number}"]},dependencyGraph:{createRepositorySnapshot:["POST /repos/{owner}/{repo}/dependency-graph/snapshots"],diffRange:["GET /repos/{owner}/{repo}/dependency-graph/compare/{basehead}"],exportSbom:["GET /repos/{owner}/{repo}/dependency-graph/sbom"]},emojis:{get:["GET /emojis"]},gists:{checkIsStarred:["GET /gists/{gist_id}/star"],create:["POST /gists"],createComment:["POST /gists/{gist_id}/comments"],delete:["DELETE /gists/{gist_id}"],deleteComment:["DELETE /gists/{gist_id}/comments/{comment_id}"],fork:["POST /gists/{gist_id}/forks"],get:["GET /gists/{gist_id}"],getComment:["GET /gists/{gist_id}/comments/{comment_id}"],getRevision:["GET /gists/{gist_id}/{sha}"],list:["GET /gists"],listComments:["GET /gists/{gist_id}/comments"],listCommits:["GET /gists/{gist_id}/commits"],listForUser:["GET /users/{username}/gists"],listForks:["GET /gists/{gist_id}/forks"],listPublic:["GET /gists/public"],listStarred:["GET /gists/starred"],star:["PUT /gists/{gist_id}/star"],unstar:["DELETE /gists/{gist_id}/star"],update:["PATCH /gists/{gist_id}"],updateComment:["PATCH /gists/{gist_id}/comments/{comment_id}"]},git:{createBlob:["POST /repos/{owner}/{repo}/git/blobs"],createCommit:["POST /repos/{owner}/{repo}/git/commits"],createRef:["POST /repos/{owner}/{repo}/git/refs"],createTag:["POST /repos/{owner}/{repo}/git/tags"],createTree:["POST /repos/{owner}/{repo}/git/trees"],deleteRef:["DELETE /repos/{owner}/{repo}/git/refs/{ref}"],getBlob:["GET /repos/{owner}/{repo}/git/blobs/{file_sha}"],getCommit:["GET /repos/{owner}/{repo}/git/commits/{commit_sha}"],getRef:["GET /repos/{owner}/{repo}/git/ref/{ref}"],getTag:["GET /repos/{owner}/{repo}/git/tags/{tag_sha}"],getTree:["GET /repos/{owner}/{repo}/git/trees/{tree_sha}"],listMatchingRefs:["GET /repos/{owner}/{repo}/git/matching-refs/{ref}"],updateRef:["PATCH /repos/{owner}/{repo}/git/refs/{ref}"]},gitignore:{getAllTemplates:["GET /gitignore/templates"],getTemplate:["GET /gitignore/templates/{name}"]},interactions:{getRestrictionsForAuthenticatedUser:["GET /user/interaction-limits"],getRestrictionsForOrg:["GET /orgs/{org}/interaction-limits"],getRestrictionsForRepo:["GET /repos/{owner}/{repo}/interaction-limits"],getRestrictionsForYourPublicRepos:["GET /user/interaction-limits",{},{renamed:["interactions","getRestrictionsForAuthenticatedUser"]}],removeRestrictionsForAuthenticatedUser:["DELETE /user/interaction-limits"],removeRestrictionsForOrg:["DELETE /orgs/{org}/interaction-limits"],removeRestrictionsForRepo:["DELETE /repos/{owner}/{repo}/interaction-limits"],removeRestrictionsForYourPublicRepos:["DELETE /user/interaction-limits",{},{renamed:["interactions","removeRestrictionsForAuthenticatedUser"]}],setRestrictionsForAuthenticatedUser:["PUT /user/interaction-limits"],setRestrictionsForOrg:["PUT /orgs/{org}/interaction-limits"],setRestrictionsForRepo:["PUT /repos/{owner}/{repo}/interaction-limits"],setRestrictionsForYourPublicRepos:["PUT /user/interaction-limits",{},{renamed:["interactions","setRestrictionsForAuthenticatedUser"]}]},issues:{addAssignees:["POST /repos/{owner}/{repo}/issues/{issue_number}/assignees"],addLabels:["POST /repos/{owner}/{repo}/issues/{issue_number}/labels"],checkUserCanBeAssigned:["GET /repos/{owner}/{repo}/assignees/{assignee}"],checkUserCanBeAssignedToIssue:["GET /repos/{owner}/{repo}/issues/{issue_number}/assignees/{assignee}"],create:["POST /repos/{owner}/{repo}/issues"],createComment:["POST /repos/{owner}/{repo}/issues/{issue_number}/comments"],createLabel:["POST /repos/{owner}/{repo}/labels"],createMilestone:["POST /repos/{owner}/{repo}/milestones"],deleteComment:["DELETE /repos/{owner}/{repo}/issues/comments/{comment_id}"],deleteLabel:["DELETE /repos/{owner}/{repo}/labels/{name}"],deleteMilestone:["DELETE /repos/{owner}/{repo}/milestones/{milestone_number}"],get:["GET /repos/{owner}/{repo}/issues/{issue_number}"],getComment:["GET /repos/{owner}/{repo}/issues/comments/{comment_id}"],getEvent:["GET /repos/{owner}/{repo}/issues/events/{event_id}"],getLabel:["GET /repos/{owner}/{repo}/labels/{name}"],getMilestone:["GET /repos/{owner}/{repo}/milestones/{milestone_number}"],list:["GET /issues"],listAssignees:["GET /repos/{owner}/{repo}/assignees"],listComments:["GET /repos/{owner}/{repo}/issues/{issue_number}/comments"],listCommentsForRepo:["GET /repos/{owner}/{repo}/issues/comments"],listEvents:["GET /repos/{owner}/{repo}/issues/{issue_number}/events"],listEventsForRepo:["GET /repos/{owner}/{repo}/issues/events"],listEventsForTimeline:["GET /repos/{owner}/{repo}/issues/{issue_number}/timeline"],listForAuthenticatedUser:["GET /user/issues"],listForOrg:["GET /orgs/{org}/issues"],listForRepo:["GET /repos/{owner}/{repo}/issues"],listLabelsForMilestone:["GET /repos/{owner}/{repo}/milestones/{milestone_number}/labels"],listLabelsForRepo:["GET /repos/{owner}/{repo}/labels"],listLabelsOnIssue:["GET /repos/{owner}/{repo}/issues/{issue_number}/labels"],listMilestones:["GET /repos/{owner}/{repo}/milestones"],lock:["PUT /repos/{owner}/{repo}/issues/{issue_number}/lock"],removeAllLabels:["DELETE /repos/{owner}/{repo}/issues/{issue_number}/labels"],removeAssignees:["DELETE /repos/{owner}/{repo}/issues/{issue_number}/assignees"],removeLabel:["DELETE /repos/{owner}/{repo}/issues/{issue_number}/labels/{name}"],setLabels:["PUT /repos/{owner}/{repo}/issues/{issue_number}/labels"],unlock:["DELETE /repos/{owner}/{repo}/issues/{issue_number}/lock"],update:["PATCH /repos/{owner}/{repo}/issues/{issue_number}"],updateComment:["PATCH /repos/{owner}/{repo}/issues/comments/{comment_id}"],updateLabel:["PATCH /repos/{owner}/{repo}/labels/{name}"],updateMilestone:["PATCH /repos/{owner}/{repo}/milestones/{milestone_number}"]},licenses:{get:["GET /licenses/{license}"],getAllCommonlyUsed:["GET /licenses"],getForRepo:["GET /repos/{owner}/{repo}/license"]},markdown:{render:["POST /markdown"],renderRaw:["POST /markdown/raw",{headers:{"content-type":"text/plain; charset=utf-8"}}]},meta:{get:["GET /meta"],getAllVersions:["GET /versions"],getOctocat:["GET /octocat"],getZen:["GET /zen"],root:["GET /"]},migrations:{cancelImport:["DELETE /repos/{owner}/{repo}/import",{},{deprecated:"octokit.rest.migrations.cancelImport() is deprecated, see https://docs.github.com/rest/migrations/source-imports#cancel-an-import"}],deleteArchiveForAuthenticatedUser:["DELETE /user/migrations/{migration_id}/archive"],deleteArchiveForOrg:["DELETE /orgs/{org}/migrations/{migration_id}/archive"],downloadArchiveForOrg:["GET /orgs/{org}/migrations/{migration_id}/archive"],getArchiveForAuthenticatedUser:["GET /user/migrations/{migration_id}/archive"],getCommitAuthors:["GET /repos/{owner}/{repo}/import/authors",{},{deprecated:"octokit.rest.migrations.getCommitAuthors() is deprecated, see https://docs.github.com/rest/migrations/source-imports#get-commit-authors"}],getImportStatus:["GET /repos/{owner}/{repo}/import",{},{deprecated:"octokit.rest.migrations.getImportStatus() is deprecated, see https://docs.github.com/rest/migrations/source-imports#get-an-import-status"}],getLargeFiles:["GET /repos/{owner}/{repo}/import/large_files",{},{deprecated:"octokit.rest.migrations.getLargeFiles() is deprecated, see https://docs.github.com/rest/migrations/source-imports#get-large-files"}],getStatusForAuthenticatedUser:["GET /user/migrations/{migration_id}"],getStatusForOrg:["GET /orgs/{org}/migrations/{migration_id}"],listForAuthenticatedUser:["GET /user/migrations"],listForOrg:["GET /orgs/{org}/migrations"],listReposForAuthenticatedUser:["GET /user/migrations/{migration_id}/repositories"],listReposForOrg:["GET /orgs/{org}/migrations/{migration_id}/repositories"],listReposForUser:["GET /user/migrations/{migration_id}/repositories",{},{renamed:["migrations","listReposForAuthenticatedUser"]}],mapCommitAuthor:["PATCH /repos/{owner}/{repo}/import/authors/{author_id}",{},{deprecated:"octokit.rest.migrations.mapCommitAuthor() is deprecated, see https://docs.github.com/rest/migrations/source-imports#map-a-commit-author"}],setLfsPreference:["PATCH /repos/{owner}/{repo}/import/lfs",{},{deprecated:"octokit.rest.migrations.setLfsPreference() is deprecated, see https://docs.github.com/rest/migrations/source-imports#update-git-lfs-preference"}],startForAuthenticatedUser:["POST /user/migrations"],startForOrg:["POST /orgs/{org}/migrations"],startImport:["PUT /repos/{owner}/{repo}/import",{},{deprecated:"octokit.rest.migrations.startImport() is deprecated, see https://docs.github.com/rest/migrations/source-imports#start-an-import"}],unlockRepoForAuthenticatedUser:["DELETE /user/migrations/{migration_id}/repos/{repo_name}/lock"],unlockRepoForOrg:["DELETE /orgs/{org}/migrations/{migration_id}/repos/{repo_name}/lock"],updateImport:["PATCH /repos/{owner}/{repo}/import",{},{deprecated:"octokit.rest.migrations.updateImport() is deprecated, see https://docs.github.com/rest/migrations/source-imports#update-an-import"}]},oidc:{getOidcCustomSubTemplateForOrg:["GET /orgs/{org}/actions/oidc/customization/sub"],updateOidcCustomSubTemplateForOrg:["PUT /orgs/{org}/actions/oidc/customization/sub"]},orgs:{addSecurityManagerTeam:["PUT /orgs/{org}/security-managers/teams/{team_slug}"],assignTeamToOrgRole:["PUT /orgs/{org}/organization-roles/teams/{team_slug}/{role_id}"],assignUserToOrgRole:["PUT /orgs/{org}/organization-roles/users/{username}/{role_id}"],blockUser:["PUT /orgs/{org}/blocks/{username}"],cancelInvitation:["DELETE /orgs/{org}/invitations/{invitation_id}"],checkBlockedUser:["GET /orgs/{org}/blocks/{username}"],checkMembershipForUser:["GET /orgs/{org}/members/{username}"],checkPublicMembershipForUser:["GET /orgs/{org}/public_members/{username}"],convertMemberToOutsideCollaborator:["PUT /orgs/{org}/outside_collaborators/{username}"],createCustomOrganizationRole:["POST /orgs/{org}/organization-roles"],createInvitation:["POST /orgs/{org}/invitations"],createOrUpdateCustomProperties:["PATCH /orgs/{org}/properties/schema"],createOrUpdateCustomPropertiesValuesForRepos:["PATCH /orgs/{org}/properties/values"],createOrUpdateCustomProperty:["PUT /orgs/{org}/properties/schema/{custom_property_name}"],createWebhook:["POST /orgs/{org}/hooks"],delete:["DELETE /orgs/{org}"],deleteCustomOrganizationRole:["DELETE /orgs/{org}/organization-roles/{role_id}"],deleteWebhook:["DELETE /orgs/{org}/hooks/{hook_id}"],enableOrDisableSecurityProductOnAllOrgRepos:["POST /orgs/{org}/{security_product}/{enablement}"],get:["GET /orgs/{org}"],getAllCustomProperties:["GET /orgs/{org}/properties/schema"],getCustomProperty:["GET /orgs/{org}/properties/schema/{custom_property_name}"],getMembershipForAuthenticatedUser:["GET /user/memberships/orgs/{org}"],getMembershipForUser:["GET /orgs/{org}/memberships/{username}"],getOrgRole:["GET /orgs/{org}/organization-roles/{role_id}"],getWebhook:["GET /orgs/{org}/hooks/{hook_id}"],getWebhookConfigForOrg:["GET /orgs/{org}/hooks/{hook_id}/config"],getWebhookDelivery:["GET /orgs/{org}/hooks/{hook_id}/deliveries/{delivery_id}"],list:["GET /organizations"],listAppInstallations:["GET /orgs/{org}/installations"],listBlockedUsers:["GET /orgs/{org}/blocks"],listCustomPropertiesValuesForRepos:["GET /orgs/{org}/properties/values"],listFailedInvitations:["GET /orgs/{org}/failed_invitations"],listForAuthenticatedUser:["GET /user/orgs"],listForUser:["GET /users/{username}/orgs"],listInvitationTeams:["GET /orgs/{org}/invitations/{invitation_id}/teams"],listMembers:["GET /orgs/{org}/members"],listMembershipsForAuthenticatedUser:["GET /user/memberships/orgs"],listOrgRoleTeams:["GET /orgs/{org}/organization-roles/{role_id}/teams"],listOrgRoleUsers:["GET /orgs/{org}/organization-roles/{role_id}/users"],listOrgRoles:["GET /orgs/{org}/organization-roles"],listOrganizationFineGrainedPermissions:["GET /orgs/{org}/organization-fine-grained-permissions"],listOutsideCollaborators:["GET /orgs/{org}/outside_collaborators"],listPatGrantRepositories:["GET /orgs/{org}/personal-access-tokens/{pat_id}/repositories"],listPatGrantRequestRepositories:["GET /orgs/{org}/personal-access-token-requests/{pat_request_id}/repositories"],listPatGrantRequests:["GET /orgs/{org}/personal-access-token-requests"],listPatGrants:["GET /orgs/{org}/personal-access-tokens"],listPendingInvitations:["GET /orgs/{org}/invitations"],listPublicMembers:["GET /orgs/{org}/public_members"],listSecurityManagerTeams:["GET /orgs/{org}/security-managers"],listWebhookDeliveries:["GET /orgs/{org}/hooks/{hook_id}/deliveries"],listWebhooks:["GET /orgs/{org}/hooks"],patchCustomOrganizationRole:["PATCH /orgs/{org}/organization-roles/{role_id}"],pingWebhook:["POST /orgs/{org}/hooks/{hook_id}/pings"],redeliverWebhookDelivery:["POST /orgs/{org}/hooks/{hook_id}/deliveries/{delivery_id}/attempts"],removeCustomProperty:["DELETE /orgs/{org}/properties/schema/{custom_property_name}"],removeMember:["DELETE /orgs/{org}/members/{username}"],removeMembershipForUser:["DELETE /orgs/{org}/memberships/{username}"],removeOutsideCollaborator:["DELETE /orgs/{org}/outside_collaborators/{username}"],removePublicMembershipForAuthenticatedUser:["DELETE /orgs/{org}/public_members/{username}"],removeSecurityManagerTeam:["DELETE /orgs/{org}/security-managers/teams/{team_slug}"],reviewPatGrantRequest:["POST /orgs/{org}/personal-access-token-requests/{pat_request_id}"],reviewPatGrantRequestsInBulk:["POST /orgs/{org}/personal-access-token-requests"],revokeAllOrgRolesTeam:["DELETE /orgs/{org}/organization-roles/teams/{team_slug}"],revokeAllOrgRolesUser:["DELETE /orgs/{org}/organization-roles/users/{username}"],revokeOrgRoleTeam:["DELETE /orgs/{org}/organization-roles/teams/{team_slug}/{role_id}"],revokeOrgRoleUser:["DELETE /orgs/{org}/organization-roles/users/{username}/{role_id}"],setMembershipForUser:["PUT /orgs/{org}/memberships/{username}"],setPublicMembershipForAuthenticatedUser:["PUT /orgs/{org}/public_members/{username}"],unblockUser:["DELETE /orgs/{org}/blocks/{username}"],update:["PATCH /orgs/{org}"],updateMembershipForAuthenticatedUser:["PATCH /user/memberships/orgs/{org}"],updatePatAccess:["POST /orgs/{org}/personal-access-tokens/{pat_id}"],updatePatAccesses:["POST /orgs/{org}/personal-access-tokens"],updateWebhook:["PATCH /orgs/{org}/hooks/{hook_id}"],updateWebhookConfigForOrg:["PATCH /orgs/{org}/hooks/{hook_id}/config"]},packages:{deletePackageForAuthenticatedUser:["DELETE /user/packages/{package_type}/{package_name}"],deletePackageForOrg:["DELETE /orgs/{org}/packages/{package_type}/{package_name}"],deletePackageForUser:["DELETE /users/{username}/packages/{package_type}/{package_name}"],deletePackageVersionForAuthenticatedUser:["DELETE /user/packages/{package_type}/{package_name}/versions/{package_version_id}"],deletePackageVersionForOrg:["DELETE /orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}"],deletePackageVersionForUser:["DELETE /users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}"],getAllPackageVersionsForAPackageOwnedByAnOrg:["GET /orgs/{org}/packages/{package_type}/{package_name}/versions",{},{renamed:["packages","getAllPackageVersionsForPackageOwnedByOrg"]}],getAllPackageVersionsForAPackageOwnedByTheAuthenticatedUser:["GET /user/packages/{package_type}/{package_name}/versions",{},{renamed:["packages","getAllPackageVersionsForPackageOwnedByAuthenticatedUser"]}],getAllPackageVersionsForPackageOwnedByAuthenticatedUser:["GET /user/packages/{package_type}/{package_name}/versions"],getAllPackageVersionsForPackageOwnedByOrg:["GET /orgs/{org}/packages/{package_type}/{package_name}/versions"],getAllPackageVersionsForPackageOwnedByUser:["GET /users/{username}/packages/{package_type}/{package_name}/versions"],getPackageForAuthenticatedUser:["GET /user/packages/{package_type}/{package_name}"],getPackageForOrganization:["GET /orgs/{org}/packages/{package_type}/{package_name}"],getPackageForUser:["GET /users/{username}/packages/{package_type}/{package_name}"],getPackageVersionForAuthenticatedUser:["GET /user/packages/{package_type}/{package_name}/versions/{package_version_id}"],getPackageVersionForOrganization:["GET /orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}"],getPackageVersionForUser:["GET /users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}"],listDockerMigrationConflictingPackagesForAuthenticatedUser:["GET /user/docker/conflicts"],listDockerMigrationConflictingPackagesForOrganization:["GET /orgs/{org}/docker/conflicts"],listDockerMigrationConflictingPackagesForUser:["GET /users/{username}/docker/conflicts"],listPackagesForAuthenticatedUser:["GET /user/packages"],listPackagesForOrganization:["GET /orgs/{org}/packages"],listPackagesForUser:["GET /users/{username}/packages"],restorePackageForAuthenticatedUser:["POST /user/packages/{package_type}/{package_name}/restore{?token}"],restorePackageForOrg:["POST /orgs/{org}/packages/{package_type}/{package_name}/restore{?token}"],restorePackageForUser:["POST /users/{username}/packages/{package_type}/{package_name}/restore{?token}"],restorePackageVersionForAuthenticatedUser:["POST /user/packages/{package_type}/{package_name}/versions/{package_version_id}/restore"],restorePackageVersionForOrg:["POST /orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}/restore"],restorePackageVersionForUser:["POST /users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}/restore"]},projects:{addCollaborator:["PUT /projects/{project_id}/collaborators/{username}"],createCard:["POST /projects/columns/{column_id}/cards"],createColumn:["POST /projects/{project_id}/columns"],createForAuthenticatedUser:["POST /user/projects"],createForOrg:["POST /orgs/{org}/projects"],createForRepo:["POST /repos/{owner}/{repo}/projects"],delete:["DELETE /projects/{project_id}"],deleteCard:["DELETE /projects/columns/cards/{card_id}"],deleteColumn:["DELETE /projects/columns/{column_id}"],get:["GET /projects/{project_id}"],getCard:["GET /projects/columns/cards/{card_id}"],getColumn:["GET /projects/columns/{column_id}"],getPermissionForUser:["GET /projects/{project_id}/collaborators/{username}/permission"],listCards:["GET /projects/columns/{column_id}/cards"],listCollaborators:["GET /projects/{project_id}/collaborators"],listColumns:["GET /projects/{project_id}/columns"],listForOrg:["GET /orgs/{org}/projects"],listForRepo:["GET /repos/{owner}/{repo}/projects"],listForUser:["GET /users/{username}/projects"],moveCard:["POST /projects/columns/cards/{card_id}/moves"],moveColumn:["POST /projects/columns/{column_id}/moves"],removeCollaborator:["DELETE /projects/{project_id}/collaborators/{username}"],update:["PATCH /projects/{project_id}"],updateCard:["PATCH /projects/columns/cards/{card_id}"],updateColumn:["PATCH /projects/columns/{column_id}"]},pulls:{checkIfMerged:["GET /repos/{owner}/{repo}/pulls/{pull_number}/merge"],create:["POST /repos/{owner}/{repo}/pulls"],createReplyForReviewComment:["POST /repos/{owner}/{repo}/pulls/{pull_number}/comments/{comment_id}/replies"],createReview:["POST /repos/{owner}/{repo}/pulls/{pull_number}/reviews"],createReviewComment:["POST /repos/{owner}/{repo}/pulls/{pull_number}/comments"],deletePendingReview:["DELETE /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}"],deleteReviewComment:["DELETE /repos/{owner}/{repo}/pulls/comments/{comment_id}"],dismissReview:["PUT /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/dismissals"],get:["GET /repos/{owner}/{repo}/pulls/{pull_number}"],getReview:["GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}"],getReviewComment:["GET /repos/{owner}/{repo}/pulls/comments/{comment_id}"],list:["GET /repos/{owner}/{repo}/pulls"],listCommentsForReview:["GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/comments"],listCommits:["GET /repos/{owner}/{repo}/pulls/{pull_number}/commits"],listFiles:["GET /repos/{owner}/{repo}/pulls/{pull_number}/files"],listRequestedReviewers:["GET /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers"],listReviewComments:["GET /repos/{owner}/{repo}/pulls/{pull_number}/comments"],listReviewCommentsForRepo:["GET /repos/{owner}/{repo}/pulls/comments"],listReviews:["GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews"],merge:["PUT /repos/{owner}/{repo}/pulls/{pull_number}/merge"],removeRequestedReviewers:["DELETE /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers"],requestReviewers:["POST /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers"],submitReview:["POST /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/events"],update:["PATCH /repos/{owner}/{repo}/pulls/{pull_number}"],updateBranch:["PUT /repos/{owner}/{repo}/pulls/{pull_number}/update-branch"],updateReview:["PUT /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}"],updateReviewComment:["PATCH /repos/{owner}/{repo}/pulls/comments/{comment_id}"]},rateLimit:{get:["GET /rate_limit"]},reactions:{createForCommitComment:["POST /repos/{owner}/{repo}/comments/{comment_id}/reactions"],createForIssue:["POST /repos/{owner}/{repo}/issues/{issue_number}/reactions"],createForIssueComment:["POST /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions"],createForPullRequestReviewComment:["POST /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions"],createForRelease:["POST /repos/{owner}/{repo}/releases/{release_id}/reactions"],createForTeamDiscussionCommentInOrg:["POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions"],createForTeamDiscussionInOrg:["POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions"],deleteForCommitComment:["DELETE /repos/{owner}/{repo}/comments/{comment_id}/reactions/{reaction_id}"],deleteForIssue:["DELETE /repos/{owner}/{repo}/issues/{issue_number}/reactions/{reaction_id}"],deleteForIssueComment:["DELETE /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions/{reaction_id}"],deleteForPullRequestComment:["DELETE /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions/{reaction_id}"],deleteForRelease:["DELETE /repos/{owner}/{repo}/releases/{release_id}/reactions/{reaction_id}"],deleteForTeamDiscussion:["DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions/{reaction_id}"],deleteForTeamDiscussionComment:["DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions/{reaction_id}"],listForCommitComment:["GET /repos/{owner}/{repo}/comments/{comment_id}/reactions"],listForIssue:["GET /repos/{owner}/{repo}/issues/{issue_number}/reactions"],listForIssueComment:["GET /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions"],listForPullRequestReviewComment:["GET /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions"],listForRelease:["GET /repos/{owner}/{repo}/releases/{release_id}/reactions"],listForTeamDiscussionCommentInOrg:["GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions"],listForTeamDiscussionInOrg:["GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions"]},repos:{acceptInvitation:["PATCH /user/repository_invitations/{invitation_id}",{},{renamed:["repos","acceptInvitationForAuthenticatedUser"]}],acceptInvitationForAuthenticatedUser:["PATCH /user/repository_invitations/{invitation_id}"],addAppAccessRestrictions:["POST /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps",{},{mapToData:"apps"}],addCollaborator:["PUT /repos/{owner}/{repo}/collaborators/{username}"],addStatusCheckContexts:["POST /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts",{},{mapToData:"contexts"}],addTeamAccessRestrictions:["POST /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams",{},{mapToData:"teams"}],addUserAccessRestrictions:["POST /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users",{},{mapToData:"users"}],cancelPagesDeployment:["POST /repos/{owner}/{repo}/pages/deployments/{pages_deployment_id}/cancel"],checkAutomatedSecurityFixes:["GET /repos/{owner}/{repo}/automated-security-fixes"],checkCollaborator:["GET /repos/{owner}/{repo}/collaborators/{username}"],checkVulnerabilityAlerts:["GET /repos/{owner}/{repo}/vulnerability-alerts"],codeownersErrors:["GET /repos/{owner}/{repo}/codeowners/errors"],compareCommits:["GET /repos/{owner}/{repo}/compare/{base}...{head}"],compareCommitsWithBasehead:["GET /repos/{owner}/{repo}/compare/{basehead}"],createAutolink:["POST /repos/{owner}/{repo}/autolinks"],createCommitComment:["POST /repos/{owner}/{repo}/commits/{commit_sha}/comments"],createCommitSignatureProtection:["POST /repos/{owner}/{repo}/branches/{branch}/protection/required_signatures"],createCommitStatus:["POST /repos/{owner}/{repo}/statuses/{sha}"],createDeployKey:["POST /repos/{owner}/{repo}/keys"],createDeployment:["POST /repos/{owner}/{repo}/deployments"],createDeploymentBranchPolicy:["POST /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies"],createDeploymentProtectionRule:["POST /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules"],createDeploymentStatus:["POST /repos/{owner}/{repo}/deployments/{deployment_id}/statuses"],createDispatchEvent:["POST /repos/{owner}/{repo}/dispatches"],createForAuthenticatedUser:["POST /user/repos"],createFork:["POST /repos/{owner}/{repo}/forks"],createInOrg:["POST /orgs/{org}/repos"],createOrUpdateCustomPropertiesValues:["PATCH /repos/{owner}/{repo}/properties/values"],createOrUpdateEnvironment:["PUT /repos/{owner}/{repo}/environments/{environment_name}"],createOrUpdateFileContents:["PUT /repos/{owner}/{repo}/contents/{path}"],createOrgRuleset:["POST /orgs/{org}/rulesets"],createPagesDeployment:["POST /repos/{owner}/{repo}/pages/deployments"],createPagesSite:["POST /repos/{owner}/{repo}/pages"],createRelease:["POST /repos/{owner}/{repo}/releases"],createRepoRuleset:["POST /repos/{owner}/{repo}/rulesets"],createTagProtection:["POST /repos/{owner}/{repo}/tags/protection"],createUsingTemplate:["POST /repos/{template_owner}/{template_repo}/generate"],createWebhook:["POST /repos/{owner}/{repo}/hooks"],declineInvitation:["DELETE /user/repository_invitations/{invitation_id}",{},{renamed:["repos","declineInvitationForAuthenticatedUser"]}],declineInvitationForAuthenticatedUser:["DELETE /user/repository_invitations/{invitation_id}"],delete:["DELETE /repos/{owner}/{repo}"],deleteAccessRestrictions:["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions"],deleteAdminBranchProtection:["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins"],deleteAnEnvironment:["DELETE /repos/{owner}/{repo}/environments/{environment_name}"],deleteAutolink:["DELETE /repos/{owner}/{repo}/autolinks/{autolink_id}"],deleteBranchProtection:["DELETE /repos/{owner}/{repo}/branches/{branch}/protection"],deleteCommitComment:["DELETE /repos/{owner}/{repo}/comments/{comment_id}"],deleteCommitSignatureProtection:["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_signatures"],deleteDeployKey:["DELETE /repos/{owner}/{repo}/keys/{key_id}"],deleteDeployment:["DELETE /repos/{owner}/{repo}/deployments/{deployment_id}"],deleteDeploymentBranchPolicy:["DELETE /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies/{branch_policy_id}"],deleteFile:["DELETE /repos/{owner}/{repo}/contents/{path}"],deleteInvitation:["DELETE /repos/{owner}/{repo}/invitations/{invitation_id}"],deleteOrgRuleset:["DELETE /orgs/{org}/rulesets/{ruleset_id}"],deletePagesSite:["DELETE /repos/{owner}/{repo}/pages"],deletePullRequestReviewProtection:["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews"],deleteRelease:["DELETE /repos/{owner}/{repo}/releases/{release_id}"],deleteReleaseAsset:["DELETE /repos/{owner}/{repo}/releases/assets/{asset_id}"],deleteRepoRuleset:["DELETE /repos/{owner}/{repo}/rulesets/{ruleset_id}"],deleteTagProtection:["DELETE /repos/{owner}/{repo}/tags/protection/{tag_protection_id}"],deleteWebhook:["DELETE /repos/{owner}/{repo}/hooks/{hook_id}"],disableAutomatedSecurityFixes:["DELETE /repos/{owner}/{repo}/automated-security-fixes"],disableDeploymentProtectionRule:["DELETE /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules/{protection_rule_id}"],disablePrivateVulnerabilityReporting:["DELETE /repos/{owner}/{repo}/private-vulnerability-reporting"],disableVulnerabilityAlerts:["DELETE /repos/{owner}/{repo}/vulnerability-alerts"],downloadArchive:["GET /repos/{owner}/{repo}/zipball/{ref}",{},{renamed:["repos","downloadZipballArchive"]}],downloadTarballArchive:["GET /repos/{owner}/{repo}/tarball/{ref}"],downloadZipballArchive:["GET /repos/{owner}/{repo}/zipball/{ref}"],enableAutomatedSecurityFixes:["PUT /repos/{owner}/{repo}/automated-security-fixes"],enablePrivateVulnerabilityReporting:["PUT /repos/{owner}/{repo}/private-vulnerability-reporting"],enableVulnerabilityAlerts:["PUT /repos/{owner}/{repo}/vulnerability-alerts"],generateReleaseNotes:["POST /repos/{owner}/{repo}/releases/generate-notes"],get:["GET /repos/{owner}/{repo}"],getAccessRestrictions:["GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions"],getAdminBranchProtection:["GET /repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins"],getAllDeploymentProtectionRules:["GET /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules"],getAllEnvironments:["GET /repos/{owner}/{repo}/environments"],getAllStatusCheckContexts:["GET /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts"],getAllTopics:["GET /repos/{owner}/{repo}/topics"],getAppsWithAccessToProtectedBranch:["GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps"],getAutolink:["GET /repos/{owner}/{repo}/autolinks/{autolink_id}"],getBranch:["GET /repos/{owner}/{repo}/branches/{branch}"],getBranchProtection:["GET /repos/{owner}/{repo}/branches/{branch}/protection"],getBranchRules:["GET /repos/{owner}/{repo}/rules/branches/{branch}"],getClones:["GET /repos/{owner}/{repo}/traffic/clones"],getCodeFrequencyStats:["GET /repos/{owner}/{repo}/stats/code_frequency"],getCollaboratorPermissionLevel:["GET /repos/{owner}/{repo}/collaborators/{username}/permission"],getCombinedStatusForRef:["GET /repos/{owner}/{repo}/commits/{ref}/status"],getCommit:["GET /repos/{owner}/{repo}/commits/{ref}"],getCommitActivityStats:["GET /repos/{owner}/{repo}/stats/commit_activity"],getCommitComment:["GET /repos/{owner}/{repo}/comments/{comment_id}"],getCommitSignatureProtection:["GET /repos/{owner}/{repo}/branches/{branch}/protection/required_signatures"],getCommunityProfileMetrics:["GET /repos/{owner}/{repo}/community/profile"],getContent:["GET /repos/{owner}/{repo}/contents/{path}"],getContributorsStats:["GET /repos/{owner}/{repo}/stats/contributors"],getCustomDeploymentProtectionRule:["GET /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules/{protection_rule_id}"],getCustomPropertiesValues:["GET /repos/{owner}/{repo}/properties/values"],getDeployKey:["GET /repos/{owner}/{repo}/keys/{key_id}"],getDeployment:["GET /repos/{owner}/{repo}/deployments/{deployment_id}"],getDeploymentBranchPolicy:["GET /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies/{branch_policy_id}"],getDeploymentStatus:["GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses/{status_id}"],getEnvironment:["GET /repos/{owner}/{repo}/environments/{environment_name}"],getLatestPagesBuild:["GET /repos/{owner}/{repo}/pages/builds/latest"],getLatestRelease:["GET /repos/{owner}/{repo}/releases/latest"],getOrgRuleSuite:["GET /orgs/{org}/rulesets/rule-suites/{rule_suite_id}"],getOrgRuleSuites:["GET /orgs/{org}/rulesets/rule-suites"],getOrgRuleset:["GET /orgs/{org}/rulesets/{ruleset_id}"],getOrgRulesets:["GET /orgs/{org}/rulesets"],getPages:["GET /repos/{owner}/{repo}/pages"],getPagesBuild:["GET /repos/{owner}/{repo}/pages/builds/{build_id}"],getPagesDeployment:["GET /repos/{owner}/{repo}/pages/deployments/{pages_deployment_id}"],getPagesHealthCheck:["GET /repos/{owner}/{repo}/pages/health"],getParticipationStats:["GET /repos/{owner}/{repo}/stats/participation"],getPullRequestReviewProtection:["GET /repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews"],getPunchCardStats:["GET /repos/{owner}/{repo}/stats/punch_card"],getReadme:["GET /repos/{owner}/{repo}/readme"],getReadmeInDirectory:["GET /repos/{owner}/{repo}/readme/{dir}"],getRelease:["GET /repos/{owner}/{repo}/releases/{release_id}"],getReleaseAsset:["GET /repos/{owner}/{repo}/releases/assets/{asset_id}"],getReleaseByTag:["GET /repos/{owner}/{repo}/releases/tags/{tag}"],getRepoRuleSuite:["GET /repos/{owner}/{repo}/rulesets/rule-suites/{rule_suite_id}"],getRepoRuleSuites:["GET /repos/{owner}/{repo}/rulesets/rule-suites"],getRepoRuleset:["GET /repos/{owner}/{repo}/rulesets/{ruleset_id}"],getRepoRulesets:["GET /repos/{owner}/{repo}/rulesets"],getStatusChecksProtection:["GET /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks"],getTeamsWithAccessToProtectedBranch:["GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams"],getTopPaths:["GET /repos/{owner}/{repo}/traffic/popular/paths"],getTopReferrers:["GET /repos/{owner}/{repo}/traffic/popular/referrers"],getUsersWithAccessToProtectedBranch:["GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users"],getViews:["GET /repos/{owner}/{repo}/traffic/views"],getWebhook:["GET /repos/{owner}/{repo}/hooks/{hook_id}"],getWebhookConfigForRepo:["GET /repos/{owner}/{repo}/hooks/{hook_id}/config"],getWebhookDelivery:["GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries/{delivery_id}"],listActivities:["GET /repos/{owner}/{repo}/activity"],listAutolinks:["GET /repos/{owner}/{repo}/autolinks"],listBranches:["GET /repos/{owner}/{repo}/branches"],listBranchesForHeadCommit:["GET /repos/{owner}/{repo}/commits/{commit_sha}/branches-where-head"],listCollaborators:["GET /repos/{owner}/{repo}/collaborators"],listCommentsForCommit:["GET /repos/{owner}/{repo}/commits/{commit_sha}/comments"],listCommitCommentsForRepo:["GET /repos/{owner}/{repo}/comments"],listCommitStatusesForRef:["GET /repos/{owner}/{repo}/commits/{ref}/statuses"],listCommits:["GET /repos/{owner}/{repo}/commits"],listContributors:["GET /repos/{owner}/{repo}/contributors"],listCustomDeploymentRuleIntegrations:["GET /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules/apps"],listDeployKeys:["GET /repos/{owner}/{repo}/keys"],listDeploymentBranchPolicies:["GET /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies"],listDeploymentStatuses:["GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses"],listDeployments:["GET /repos/{owner}/{repo}/deployments"],listForAuthenticatedUser:["GET /user/repos"],listForOrg:["GET /orgs/{org}/repos"],listForUser:["GET /users/{username}/repos"],listForks:["GET /repos/{owner}/{repo}/forks"],listInvitations:["GET /repos/{owner}/{repo}/invitations"],listInvitationsForAuthenticatedUser:["GET /user/repository_invitations"],listLanguages:["GET /repos/{owner}/{repo}/languages"],listPagesBuilds:["GET /repos/{owner}/{repo}/pages/builds"],listPublic:["GET /repositories"],listPullRequestsAssociatedWithCommit:["GET /repos/{owner}/{repo}/commits/{commit_sha}/pulls"],listReleaseAssets:["GET /repos/{owner}/{repo}/releases/{release_id}/assets"],listReleases:["GET /repos/{owner}/{repo}/releases"],listTagProtection:["GET /repos/{owner}/{repo}/tags/protection"],listTags:["GET /repos/{owner}/{repo}/tags"],listTeams:["GET /repos/{owner}/{repo}/teams"],listWebhookDeliveries:["GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries"],listWebhooks:["GET /repos/{owner}/{repo}/hooks"],merge:["POST /repos/{owner}/{repo}/merges"],mergeUpstream:["POST /repos/{owner}/{repo}/merge-upstream"],pingWebhook:["POST /repos/{owner}/{repo}/hooks/{hook_id}/pings"],redeliverWebhookDelivery:["POST /repos/{owner}/{repo}/hooks/{hook_id}/deliveries/{delivery_id}/attempts"],removeAppAccessRestrictions:["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps",{},{mapToData:"apps"}],removeCollaborator:["DELETE /repos/{owner}/{repo}/collaborators/{username}"],removeStatusCheckContexts:["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts",{},{mapToData:"contexts"}],removeStatusCheckProtection:["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks"],removeTeamAccessRestrictions:["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams",{},{mapToData:"teams"}],removeUserAccessRestrictions:["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users",{},{mapToData:"users"}],renameBranch:["POST /repos/{owner}/{repo}/branches/{branch}/rename"],replaceAllTopics:["PUT /repos/{owner}/{repo}/topics"],requestPagesBuild:["POST /repos/{owner}/{repo}/pages/builds"],setAdminBranchProtection:["POST /repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins"],setAppAccessRestrictions:["PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps",{},{mapToData:"apps"}],setStatusCheckContexts:["PUT /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts",{},{mapToData:"contexts"}],setTeamAccessRestrictions:["PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams",{},{mapToData:"teams"}],setUserAccessRestrictions:["PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users",{},{mapToData:"users"}],testPushWebhook:["POST /repos/{owner}/{repo}/hooks/{hook_id}/tests"],transfer:["POST /repos/{owner}/{repo}/transfer"],update:["PATCH /repos/{owner}/{repo}"],updateBranchProtection:["PUT /repos/{owner}/{repo}/branches/{branch}/protection"],updateCommitComment:["PATCH /repos/{owner}/{repo}/comments/{comment_id}"],updateDeploymentBranchPolicy:["PUT /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies/{branch_policy_id}"],updateInformationAboutPagesSite:["PUT /repos/{owner}/{repo}/pages"],updateInvitation:["PATCH /repos/{owner}/{repo}/invitations/{invitation_id}"],updateOrgRuleset:["PUT /orgs/{org}/rulesets/{ruleset_id}"],updatePullRequestReviewProtection:["PATCH /repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews"],updateRelease:["PATCH /repos/{owner}/{repo}/releases/{release_id}"],updateReleaseAsset:["PATCH /repos/{owner}/{repo}/releases/assets/{asset_id}"],updateRepoRuleset:["PUT /repos/{owner}/{repo}/rulesets/{ruleset_id}"],updateStatusCheckPotection:["PATCH /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks",{},{renamed:["repos","updateStatusCheckProtection"]}],updateStatusCheckProtection:["PATCH /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks"],updateWebhook:["PATCH /repos/{owner}/{repo}/hooks/{hook_id}"],updateWebhookConfigForRepo:["PATCH /repos/{owner}/{repo}/hooks/{hook_id}/config"],uploadReleaseAsset:["POST /repos/{owner}/{repo}/releases/{release_id}/assets{?name,label}",{baseUrl:"https://uploads.github.com"}]},search:{code:["GET /search/code"],commits:["GET /search/commits"],issuesAndPullRequests:["GET /search/issues"],labels:["GET /search/labels"],repos:["GET /search/repositories"],topics:["GET /search/topics"],users:["GET /search/users"]},secretScanning:{getAlert:["GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}"],listAlertsForEnterprise:["GET /enterprises/{enterprise}/secret-scanning/alerts"],listAlertsForOrg:["GET /orgs/{org}/secret-scanning/alerts"],listAlertsForRepo:["GET /repos/{owner}/{repo}/secret-scanning/alerts"],listLocationsForAlert:["GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}/locations"],updateAlert:["PATCH /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}"]},securityAdvisories:{createFork:["POST /repos/{owner}/{repo}/security-advisories/{ghsa_id}/forks"],createPrivateVulnerabilityReport:["POST /repos/{owner}/{repo}/security-advisories/reports"],createRepositoryAdvisory:["POST /repos/{owner}/{repo}/security-advisories"],createRepositoryAdvisoryCveRequest:["POST /repos/{owner}/{repo}/security-advisories/{ghsa_id}/cve"],getGlobalAdvisory:["GET /advisories/{ghsa_id}"],getRepositoryAdvisory:["GET /repos/{owner}/{repo}/security-advisories/{ghsa_id}"],listGlobalAdvisories:["GET /advisories"],listOrgRepositoryAdvisories:["GET /orgs/{org}/security-advisories"],listRepositoryAdvisories:["GET /repos/{owner}/{repo}/security-advisories"],updateRepositoryAdvisory:["PATCH /repos/{owner}/{repo}/security-advisories/{ghsa_id}"]},teams:{addOrUpdateMembershipForUserInOrg:["PUT /orgs/{org}/teams/{team_slug}/memberships/{username}"],addOrUpdateProjectPermissionsInOrg:["PUT /orgs/{org}/teams/{team_slug}/projects/{project_id}"],addOrUpdateRepoPermissionsInOrg:["PUT /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}"],checkPermissionsForProjectInOrg:["GET /orgs/{org}/teams/{team_slug}/projects/{project_id}"],checkPermissionsForRepoInOrg:["GET /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}"],create:["POST /orgs/{org}/teams"],createDiscussionCommentInOrg:["POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments"],createDiscussionInOrg:["POST /orgs/{org}/teams/{team_slug}/discussions"],deleteDiscussionCommentInOrg:["DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}"],deleteDiscussionInOrg:["DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}"],deleteInOrg:["DELETE /orgs/{org}/teams/{team_slug}"],getByName:["GET /orgs/{org}/teams/{team_slug}"],getDiscussionCommentInOrg:["GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}"],getDiscussionInOrg:["GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}"],getMembershipForUserInOrg:["GET /orgs/{org}/teams/{team_slug}/memberships/{username}"],list:["GET /orgs/{org}/teams"],listChildInOrg:["GET /orgs/{org}/teams/{team_slug}/teams"],listDiscussionCommentsInOrg:["GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments"],listDiscussionsInOrg:["GET /orgs/{org}/teams/{team_slug}/discussions"],listForAuthenticatedUser:["GET /user/teams"],listMembersInOrg:["GET /orgs/{org}/teams/{team_slug}/members"],listPendingInvitationsInOrg:["GET /orgs/{org}/teams/{team_slug}/invitations"],listProjectsInOrg:["GET /orgs/{org}/teams/{team_slug}/projects"],listReposInOrg:["GET /orgs/{org}/teams/{team_slug}/repos"],removeMembershipForUserInOrg:["DELETE /orgs/{org}/teams/{team_slug}/memberships/{username}"],removeProjectInOrg:["DELETE /orgs/{org}/teams/{team_slug}/projects/{project_id}"],removeRepoInOrg:["DELETE /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}"],updateDiscussionCommentInOrg:["PATCH /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}"],updateDiscussionInOrg:["PATCH /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}"],updateInOrg:["PATCH /orgs/{org}/teams/{team_slug}"]},users:{addEmailForAuthenticated:["POST /user/emails",{},{renamed:["users","addEmailForAuthenticatedUser"]}],addEmailForAuthenticatedUser:["POST /user/emails"],addSocialAccountForAuthenticatedUser:["POST /user/social_accounts"],block:["PUT /user/blocks/{username}"],checkBlocked:["GET /user/blocks/{username}"],checkFollowingForUser:["GET /users/{username}/following/{target_user}"],checkPersonIsFollowedByAuthenticated:["GET /user/following/{username}"],createGpgKeyForAuthenticated:["POST /user/gpg_keys",{},{renamed:["users","createGpgKeyForAuthenticatedUser"]}],createGpgKeyForAuthenticatedUser:["POST /user/gpg_keys"],createPublicSshKeyForAuthenticated:["POST /user/keys",{},{renamed:["users","createPublicSshKeyForAuthenticatedUser"]}],createPublicSshKeyForAuthenticatedUser:["POST /user/keys"],createSshSigningKeyForAuthenticatedUser:["POST /user/ssh_signing_keys"],deleteEmailForAuthenticated:["DELETE /user/emails",{},{renamed:["users","deleteEmailForAuthenticatedUser"]}],deleteEmailForAuthenticatedUser:["DELETE /user/emails"],deleteGpgKeyForAuthenticated:["DELETE /user/gpg_keys/{gpg_key_id}",{},{renamed:["users","deleteGpgKeyForAuthenticatedUser"]}],deleteGpgKeyForAuthenticatedUser:["DELETE /user/gpg_keys/{gpg_key_id}"],deletePublicSshKeyForAuthenticated:["DELETE /user/keys/{key_id}",{},{renamed:["users","deletePublicSshKeyForAuthenticatedUser"]}],deletePublicSshKeyForAuthenticatedUser:["DELETE /user/keys/{key_id}"],deleteSocialAccountForAuthenticatedUser:["DELETE /user/social_accounts"],deleteSshSigningKeyForAuthenticatedUser:["DELETE /user/ssh_signing_keys/{ssh_signing_key_id}"],follow:["PUT /user/following/{username}"],getAuthenticated:["GET /user"],getByUsername:["GET /users/{username}"],getContextForUser:["GET /users/{username}/hovercard"],getGpgKeyForAuthenticated:["GET /user/gpg_keys/{gpg_key_id}",{},{renamed:["users","getGpgKeyForAuthenticatedUser"]}],getGpgKeyForAuthenticatedUser:["GET /user/gpg_keys/{gpg_key_id}"],getPublicSshKeyForAuthenticated:["GET /user/keys/{key_id}",{},{renamed:["users","getPublicSshKeyForAuthenticatedUser"]}],getPublicSshKeyForAuthenticatedUser:["GET /user/keys/{key_id}"],getSshSigningKeyForAuthenticatedUser:["GET /user/ssh_signing_keys/{ssh_signing_key_id}"],list:["GET /users"],listBlockedByAuthenticated:["GET /user/blocks",{},{renamed:["users","listBlockedByAuthenticatedUser"]}],listBlockedByAuthenticatedUser:["GET /user/blocks"],listEmailsForAuthenticated:["GET /user/emails",{},{renamed:["users","listEmailsForAuthenticatedUser"]}],listEmailsForAuthenticatedUser:["GET /user/emails"],listFollowedByAuthenticated:["GET /user/following",{},{renamed:["users","listFollowedByAuthenticatedUser"]}],listFollowedByAuthenticatedUser:["GET /user/following"],listFollowersForAuthenticatedUser:["GET /user/followers"],listFollowersForUser:["GET /users/{username}/followers"],listFollowingForUser:["GET /users/{username}/following"],listGpgKeysForAuthenticated:["GET /user/gpg_keys",{},{renamed:["users","listGpgKeysForAuthenticatedUser"]}],listGpgKeysForAuthenticatedUser:["GET /user/gpg_keys"],listGpgKeysForUser:["GET /users/{username}/gpg_keys"],listPublicEmailsForAuthenticated:["GET /user/public_emails",{},{renamed:["users","listPublicEmailsForAuthenticatedUser"]}],listPublicEmailsForAuthenticatedUser:["GET /user/public_emails"],listPublicKeysForUser:["GET /users/{username}/keys"],listPublicSshKeysForAuthenticated:["GET /user/keys",{},{renamed:["users","listPublicSshKeysForAuthenticatedUser"]}],listPublicSshKeysForAuthenticatedUser:["GET /user/keys"],listSocialAccountsForAuthenticatedUser:["GET /user/social_accounts"],listSocialAccountsForUser:["GET /users/{username}/social_accounts"],listSshSigningKeysForAuthenticatedUser:["GET /user/ssh_signing_keys"],listSshSigningKeysForUser:["GET /users/{username}/ssh_signing_keys"],setPrimaryEmailVisibilityForAuthenticated:["PATCH /user/email/visibility",{},{renamed:["users","setPrimaryEmailVisibilityForAuthenticatedUser"]}],setPrimaryEmailVisibilityForAuthenticatedUser:["PATCH /user/email/visibility"],unblock:["DELETE /user/blocks/{username}"],unfollow:["DELETE /user/following/{username}"],updateAuthenticated:["PATCH /user"]}};var sn=rn;var on=new Map;for(const[Wt,Pt]of Object.entries(sn)){for(const[en,tn]of Object.entries(Pt)){const[Pt,nn,an]=tn;const[In,rn]=Pt.split(/ /);const sn=Object.assign({method:In,url:rn},nn);if(!on.has(Wt)){on.set(Wt,new Map)}on.get(Wt).set(en,{scope:Wt,methodName:en,endpointDefaults:sn,decorations:an})}}var cn={has({scope:Wt},Pt){return on.get(Wt).has(Pt)},getOwnPropertyDescriptor(Wt,Pt){return{value:this.get(Wt,Pt),configurable:true,writable:true,enumerable:true}},defineProperty(Wt,Pt,en){Object.defineProperty(Wt.cache,Pt,en);return true},deleteProperty(Wt,Pt){delete Wt.cache[Pt];return true},ownKeys({scope:Wt}){return[...on.get(Wt).keys()]},set(Wt,Pt,en){return Wt.cache[Pt]=en},get({octokit:Wt,scope:Pt,cache:en},tn){if(en[tn]){return en[tn]}const nn=on.get(Pt).get(tn);if(!nn){return void 0}const{endpointDefaults:an,decorations:In}=nn;if(In){en[tn]=decorate(Wt,Pt,tn,an,In)}else{en[tn]=Wt.request.defaults(an)}return en[tn]}};function endpointsToMethods(Wt){const Pt={};for(const en of on.keys()){Pt[en]=new Proxy({octokit:Wt,scope:en,cache:{}},cn)}return Pt}function decorate(Wt,Pt,en,tn,nn){const an=Wt.request.defaults(tn);function withDecorations(...tn){let In=an.endpoint.merge(...tn);if(nn.mapToData){In=Object.assign({},In,{data:In[nn.mapToData],[nn.mapToData]:void 0});return an(In)}if(nn.renamed){const[tn,an]=nn.renamed;Wt.log.warn(`octokit.${Pt}.${en}() has been renamed to octokit.${tn}.${an}()`)}if(nn.deprecated){Wt.log.warn(nn.deprecated)}if(nn.renamedParameters){const In=an.endpoint.merge(...tn);for(const[tn,an]of Object.entries(nn.renamedParameters)){if(tn in In){Wt.log.warn(`"${tn}" parameter is deprecated for "octokit.${Pt}.${en}()". Use "${an}" instead`);if(!(an in In)){In[an]=In[tn]}delete In[tn]}}return an(In)}return an(...tn)}return Object.assign(withDecorations,an)}function restEndpointMethods(Wt){const Pt=endpointsToMethods(Wt);return{rest:Pt}}restEndpointMethods.VERSION=In;function legacyRestEndpointMethods(Wt){const Pt=endpointsToMethods(Wt);return{...Pt,rest:Pt}}legacyRestEndpointMethods.VERSION=In;0&&0},93708:(Wt,Pt,en)=>{var tn=Object.create;var nn=Object.defineProperty;var an=Object.getOwnPropertyDescriptor;var In=Object.getOwnPropertyNames;var rn=Object.getPrototypeOf;var sn=Object.prototype.hasOwnProperty;var __export=(Wt,Pt)=>{for(var en in Pt)nn(Wt,en,{get:Pt[en],enumerable:true})};var __copyProps=(Wt,Pt,en,tn)=>{if(Pt&&typeof Pt==="object"||typeof Pt==="function"){for(let rn of In(Pt))if(!sn.call(Wt,rn)&&rn!==en)nn(Wt,rn,{get:()=>Pt[rn],enumerable:!(tn=an(Pt,rn))||tn.enumerable})}return Wt};var __toESM=(Wt,Pt,en)=>(en=Wt!=null?tn(rn(Wt)):{},__copyProps(Pt||!Wt||!Wt.__esModule?nn(en,"default",{value:Wt,enumerable:true}):en,Wt));var __toCommonJS=Wt=>__copyProps(nn({},"__esModule",{value:true}),Wt);var on={};__export(on,{RequestError:()=>mn});Wt.exports=__toCommonJS(on);var cn=en(14150);var dn=__toESM(en(55560));var un=(0,dn.default)((Wt=>console.warn(Wt)));var pn=(0,dn.default)((Wt=>console.warn(Wt)));var mn=class extends Error{constructor(Wt,Pt,en){super(Wt);if(Error.captureStackTrace){Error.captureStackTrace(this,this.constructor)}this.name="HttpError";this.status=Pt;let tn;if("headers"in en&&typeof en.headers!=="undefined"){tn=en.headers}if("response"in en){this.response=en.response;tn=en.response.headers}const nn=Object.assign({},en.request);if(en.request.headers.authorization){nn.headers=Object.assign({},en.request.headers,{authorization:en.request.headers.authorization.replace(/ .*$/," [REDACTED]")})}nn.url=nn.url.replace(/\bclient_secret=\w+/g,"client_secret=[REDACTED]").replace(/\baccess_token=\w+/g,"access_token=[REDACTED]");this.request=nn;Object.defineProperty(this,"code",{get(){un(new cn.Deprecation("[@octokit/request-error] `error.code` is deprecated, use `error.status`."));return Pt}});Object.defineProperty(this,"headers",{get(){pn(new cn.Deprecation("[@octokit/request-error] `error.headers` is deprecated, use `error.response.headers`."));return tn||{}}})}};0&&0},66255:(Wt,Pt,en)=>{var tn=Object.defineProperty;var nn=Object.getOwnPropertyDescriptor;var an=Object.getOwnPropertyNames;var In=Object.prototype.hasOwnProperty;var __export=(Wt,Pt)=>{for(var en in Pt)tn(Wt,en,{get:Pt[en],enumerable:true})};var __copyProps=(Wt,Pt,en,rn)=>{if(Pt&&typeof Pt==="object"||typeof Pt==="function"){for(let sn of an(Pt))if(!In.call(Wt,sn)&&sn!==en)tn(Wt,sn,{get:()=>Pt[sn],enumerable:!(rn=nn(Pt,sn))||rn.enumerable})}return Wt};var __toCommonJS=Wt=>__copyProps(tn({},"__esModule",{value:true}),Wt);var rn={};__export(rn,{request:()=>un});Wt.exports=__toCommonJS(rn);var sn=en(54471);var on=en(33843);var cn="8.4.0";function isPlainObject(Wt){if(typeof Wt!=="object"||Wt===null)return false;if(Object.prototype.toString.call(Wt)!=="[object Object]")return false;const Pt=Object.getPrototypeOf(Wt);if(Pt===null)return true;const en=Object.prototype.hasOwnProperty.call(Pt,"constructor")&&Pt.constructor;return typeof en==="function"&&en instanceof en&&Function.prototype.call(en)===Function.prototype.call(Wt)}var dn=en(93708);function getBufferResponse(Wt){return Wt.arrayBuffer()}function fetchWrapper(Wt){var Pt,en,tn,nn;const an=Wt.request&&Wt.request.log?Wt.request.log:console;const In=((Pt=Wt.request)==null?void 0:Pt.parseSuccessResponseBody)!==false;if(isPlainObject(Wt.body)||Array.isArray(Wt.body)){Wt.body=JSON.stringify(Wt.body)}let rn={};let sn;let on;let{fetch:cn}=globalThis;if((en=Wt.request)==null?void 0:en.fetch){cn=Wt.request.fetch}if(!cn){throw new Error("fetch is not set. Please pass a fetch implementation as new Octokit({ request: { fetch }}). Learn more at https://github.com/octokit/octokit.js/#fetch-missing")}return cn(Wt.url,{method:Wt.method,body:Wt.body,redirect:(tn=Wt.request)==null?void 0:tn.redirect,headers:Wt.headers,signal:(nn=Wt.request)==null?void 0:nn.signal,...Wt.body&&{duplex:"half"}}).then((async Pt=>{on=Pt.url;sn=Pt.status;for(const Wt of Pt.headers){rn[Wt[0]]=Wt[1]}if("deprecation"in rn){const Pt=rn.link&&rn.link.match(/<([^>]+)>; rel="deprecation"/);const en=Pt&&Pt.pop();an.warn(`[@octokit/request] "${Wt.method} ${Wt.url}" is deprecated. It is scheduled to be removed on ${rn.sunset}${en?`. See ${en}`:""}`)}if(sn===204||sn===205){return}if(Wt.method==="HEAD"){if(sn<400){return}throw new dn.RequestError(Pt.statusText,sn,{response:{url:on,status:sn,headers:rn,data:void 0},request:Wt})}if(sn===304){throw new dn.RequestError("Not modified",sn,{response:{url:on,status:sn,headers:rn,data:await getResponseData(Pt)},request:Wt})}if(sn>=400){const en=await getResponseData(Pt);const tn=new dn.RequestError(toErrorMessage(en),sn,{response:{url:on,status:sn,headers:rn,data:en},request:Wt});throw tn}return In?await getResponseData(Pt):Pt.body})).then((Wt=>({status:sn,url:on,headers:rn,data:Wt}))).catch((Pt=>{if(Pt instanceof dn.RequestError)throw Pt;else if(Pt.name==="AbortError")throw Pt;let en=Pt.message;if(Pt.name==="TypeError"&&"cause"in Pt){if(Pt.cause instanceof Error){en=Pt.cause.message}else if(typeof Pt.cause==="string"){en=Pt.cause}}throw new dn.RequestError(en,500,{request:Wt})}))}async function getResponseData(Wt){const Pt=Wt.headers.get("content-type");if(/application\/json/.test(Pt)){return Wt.json().catch((()=>Wt.text())).catch((()=>""))}if(!Pt||/^text\/|charset=utf-8$/.test(Pt)){return Wt.text()}return getBufferResponse(Wt)}function toErrorMessage(Wt){if(typeof Wt==="string")return Wt;let Pt;if("documentation_url"in Wt){Pt=` - ${Wt.documentation_url}`}else{Pt=""}if("message"in Wt){if(Array.isArray(Wt.errors)){return`${Wt.message}: ${Wt.errors.map(JSON.stringify).join(", ")}${Pt}`}return`${Wt.message}${Pt}`}return`Unknown error: ${JSON.stringify(Wt)}`}function withDefaults(Wt,Pt){const en=Wt.defaults(Pt);const newApi=function(Wt,Pt){const tn=en.merge(Wt,Pt);if(!tn.request||!tn.request.hook){return fetchWrapper(en.parse(tn))}const request2=(Wt,Pt)=>fetchWrapper(en.parse(en.merge(Wt,Pt)));Object.assign(request2,{endpoint:en,defaults:withDefaults.bind(null,en)});return tn.request.hook(request2,tn)};return Object.assign(newApi,{endpoint:en,defaults:withDefaults.bind(null,en)})}var un=withDefaults(sn.endpoint,{headers:{"user-agent":`octokit-request.js/${cn} ${(0,on.getUserAgent)()}`}});0&&0},68789:function(Wt,Pt,en){var tn=this&&this.__importDefault||function(Wt){return Wt&&Wt.__esModule?Wt:{default:Wt}};Object.defineProperty(Pt,"__esModule",{value:true});const nn=tn(en(52165));const an=nn.default;Pt["default"]=an},62495:function(Wt,Pt,en){var tn=this&&this.__importDefault||function(Wt){return Wt&&Wt.__esModule?Wt:{default:Wt}};Object.defineProperty(Pt,"__esModule",{value:true});const nn=tn(en(16623));const an=nn.default;Pt["default"]=an},52165:function(Wt,Pt,en){var tn=this&&this.__rest||function(Wt,Pt){var en={};for(var tn in Wt)if(Object.prototype.hasOwnProperty.call(Wt,tn)&&Pt.indexOf(tn)<0)en[tn]=Wt[tn];if(Wt!=null&&typeof Object.getOwnPropertySymbols==="function")for(var nn=0,tn=Object.getOwnPropertySymbols(Wt);nn0){pn.forEach((Wt=>{const Pt=parseInt(Wt.split(";")[0].split("=")[1].substring(0,1));const en=JSON.parse(Wt.split(";")[1].split("=")[1]);In[`${en}Page`]=Pt}));In.total=parseInt(un)}return{data:Object.assign(Object.assign({},dn),In),error:null}}catch(Wt){if((0,In.isAuthError)(Wt)){return{data:{users:[]},error:Wt}}throw Wt}}async getUserById(Wt){try{return await(0,nn._request)(this.fetch,"GET",`${this.url}/admin/users/${Wt}`,{headers:this.headers,xform:nn._userResponse})}catch(Wt){if((0,In.isAuthError)(Wt)){return{data:{user:null},error:Wt}}throw Wt}}async updateUserById(Wt,Pt){try{return await(0,nn._request)(this.fetch,"PUT",`${this.url}/admin/users/${Wt}`,{body:Pt,headers:this.headers,xform:nn._userResponse})}catch(Wt){if((0,In.isAuthError)(Wt)){return{data:{user:null},error:Wt}}throw Wt}}async deleteUser(Wt,Pt=false){try{return await(0,nn._request)(this.fetch,"DELETE",`${this.url}/admin/users/${Wt}`,{headers:this.headers,body:{should_soft_delete:Pt},xform:nn._userResponse})}catch(Wt){if((0,In.isAuthError)(Wt)){return{data:{user:null},error:Wt}}throw Wt}}async _listFactors(Wt){try{const{data:Pt,error:en}=await(0,nn._request)(this.fetch,"GET",`${this.url}/admin/users/${Wt.userId}/factors`,{headers:this.headers,xform:Wt=>({data:{factors:Wt},error:null})});return{data:Pt,error:en}}catch(Wt){if((0,In.isAuthError)(Wt)){return{data:null,error:Wt}}throw Wt}}async _deleteFactor(Wt){try{const Pt=await(0,nn._request)(this.fetch,"DELETE",`${this.url}/admin/users/${Wt.userId}/factors/${Wt.id}`,{headers:this.headers});return{data:Pt,error:null}}catch(Wt){if((0,In.isAuthError)(Wt)){return{data:null,error:Wt}}throw Wt}}}Pt["default"]=GoTrueAdminApi},16623:function(Wt,Pt,en){var tn=this&&this.__importDefault||function(Wt){return Wt&&Wt.__esModule?Wt:{default:Wt}};Object.defineProperty(Pt,"__esModule",{value:true});const nn=tn(en(52165));const an=en(26705);const In=en(73981);const rn=en(92356);const sn=en(30601);const on=en(21735);const cn=en(80512);const dn=en(41920);const un=en(28932);(0,cn.polyfillGlobalThis)();const pn={url:an.GOTRUE_URL,storageKey:an.STORAGE_KEY,autoRefreshToken:true,persistSession:true,detectSessionInUrl:true,headers:an.DEFAULT_HEADERS,flowType:"implicit",debug:false};const mn=30*1e3;const bn=3;async function lockNoOp(Wt,Pt,en){return await en()}class GoTrueClient{constructor(Wt){var Pt,en;this.memoryStorage=null;this.stateChangeEmitters=new Map;this.autoRefreshTicker=null;this.visibilityChangedCallback=null;this.refreshingDeferred=null;this.initializePromise=null;this.detectSessionInUrl=true;this.lockAcquired=false;this.pendingInLock=[];this.broadcastChannel=null;this.logger=console.log;this.insecureGetSessionWarningShown=false;this.instanceID=GoTrueClient.nextInstanceID;GoTrueClient.nextInstanceID+=1;if(this.instanceID>0&&(0,sn.isBrowser)()){console.warn("Multiple GoTrueClient instances detected in the same browser context. It is not an error, but this should be avoided as it may produce undefined behavior when used concurrently under the same storage key.")}const tn=Object.assign(Object.assign({},pn),Wt);this.logDebugMessages=!!tn.debug;if(typeof tn.debug==="function"){this.logger=tn.debug}this.persistSession=tn.persistSession;this.storageKey=tn.storageKey;this.autoRefreshToken=tn.autoRefreshToken;this.admin=new nn.default({url:tn.url,headers:tn.headers,fetch:tn.fetch});this.url=tn.url;this.headers=tn.headers;this.fetch=(0,sn.resolveFetch)(tn.fetch);this.lock=tn.lock||lockNoOp;this.detectSessionInUrl=tn.detectSessionInUrl;this.flowType=tn.flowType;if(tn.lock){this.lock=tn.lock}else if((0,sn.isBrowser)()&&((Pt=globalThis===null||globalThis===void 0?void 0:globalThis.navigator)===null||Pt===void 0?void 0:Pt.locks)){this.lock=un.navigatorLock}else{this.lock=lockNoOp}this.mfa={verify:this._verify.bind(this),enroll:this._enroll.bind(this),unenroll:this._unenroll.bind(this),challenge:this._challenge.bind(this),listFactors:this._listFactors.bind(this),challengeAndVerify:this._challengeAndVerify.bind(this),getAuthenticatorAssuranceLevel:this._getAuthenticatorAssuranceLevel.bind(this)};if(this.persistSession){if(tn.storage){this.storage=tn.storage}else{if((0,sn.supportsLocalStorage)()){this.storage=on.localStorageAdapter}else{this.memoryStorage={};this.storage=(0,on.memoryLocalStorageAdapter)(this.memoryStorage)}}}else{this.memoryStorage={};this.storage=(0,on.memoryLocalStorageAdapter)(this.memoryStorage)}if((0,sn.isBrowser)()&&globalThis.BroadcastChannel&&this.persistSession&&this.storageKey){try{this.broadcastChannel=new globalThis.BroadcastChannel(this.storageKey)}catch(Wt){console.error("Failed to create a new BroadcastChannel, multi-tab state changes will not be available",Wt)}(en=this.broadcastChannel)===null||en===void 0?void 0:en.addEventListener("message",(async Wt=>{this._debug("received broadcast notification from other tab or client",Wt);await this._notifyAllSubscribers(Wt.data.event,Wt.data.session,false)}))}this.initialize()}_debug(...Wt){if(this.logDebugMessages){this.logger(`GoTrueClient@${this.instanceID} (${dn.version}) ${(new Date).toISOString()}`,...Wt)}return this}async initialize(){if(this.initializePromise){return await this.initializePromise}this.initializePromise=(async()=>await this._acquireLock(-1,(async()=>await this._initialize())))();return await this.initializePromise}async _initialize(){try{const Wt=(0,sn.isBrowser)()?await this._isPKCEFlow():false;this._debug("#_initialize()","begin","is PKCE flow",Wt);if(Wt||this.detectSessionInUrl&&this._isImplicitGrantFlow()){const{data:Pt,error:en}=await this._getSessionFromURL(Wt);if(en){this._debug("#_initialize()","error detecting session from URL",en);if((en===null||en===void 0?void 0:en.message)==="Identity is already linked"||(en===null||en===void 0?void 0:en.message)==="Identity is already linked to another user"){return{error:en}}await this._removeSession();return{error:en}}const{session:tn,redirectType:nn}=Pt;this._debug("#_initialize()","detected session in URL",tn,"redirect type",nn);await this._saveSession(tn);setTimeout((async()=>{if(nn==="recovery"){await this._notifyAllSubscribers("PASSWORD_RECOVERY",tn)}else{await this._notifyAllSubscribers("SIGNED_IN",tn)}}),0);return{error:null}}await this._recoverAndRefresh();return{error:null}}catch(Wt){if((0,In.isAuthError)(Wt)){return{error:Wt}}return{error:new In.AuthUnknownError("Unexpected error during initialization",Wt)}}finally{await this._handleVisibilityChange();this._debug("#_initialize()","end")}}async signInAnonymously(Wt){var Pt,en,tn;try{await this._removeSession();const nn=await(0,rn._request)(this.fetch,"POST",`${this.url}/signup`,{headers:this.headers,body:{data:(en=(Pt=Wt===null||Wt===void 0?void 0:Wt.options)===null||Pt===void 0?void 0:Pt.data)!==null&&en!==void 0?en:{},gotrue_meta_security:{captcha_token:(tn=Wt===null||Wt===void 0?void 0:Wt.options)===null||tn===void 0?void 0:tn.captchaToken}},xform:rn._sessionResponse});const{data:an,error:In}=nn;if(In||!an){return{data:{user:null,session:null},error:In}}const sn=an.session;const on=an.user;if(an.session){await this._saveSession(an.session);await this._notifyAllSubscribers("SIGNED_IN",sn)}return{data:{user:on,session:sn},error:null}}catch(Wt){if((0,In.isAuthError)(Wt)){return{data:{user:null,session:null},error:Wt}}throw Wt}}async signUp(Wt){var Pt,en,tn;try{await this._removeSession();let nn;if("email"in Wt){const{email:en,password:tn,options:an}=Wt;let In=null;let on=null;if(this.flowType==="pkce"){[In,on]=await(0,sn.getCodeChallengeAndMethod)(this.storage,this.storageKey)}nn=await(0,rn._request)(this.fetch,"POST",`${this.url}/signup`,{headers:this.headers,redirectTo:an===null||an===void 0?void 0:an.emailRedirectTo,body:{email:en,password:tn,data:(Pt=an===null||an===void 0?void 0:an.data)!==null&&Pt!==void 0?Pt:{},gotrue_meta_security:{captcha_token:an===null||an===void 0?void 0:an.captchaToken},code_challenge:In,code_challenge_method:on},xform:rn._sessionResponse})}else if("phone"in Wt){const{phone:Pt,password:an,options:In}=Wt;nn=await(0,rn._request)(this.fetch,"POST",`${this.url}/signup`,{headers:this.headers,body:{phone:Pt,password:an,data:(en=In===null||In===void 0?void 0:In.data)!==null&&en!==void 0?en:{},channel:(tn=In===null||In===void 0?void 0:In.channel)!==null&&tn!==void 0?tn:"sms",gotrue_meta_security:{captcha_token:In===null||In===void 0?void 0:In.captchaToken}},xform:rn._sessionResponse})}else{throw new In.AuthInvalidCredentialsError("You must provide either an email or phone number and a password")}const{data:an,error:on}=nn;if(on||!an){return{data:{user:null,session:null},error:on}}const cn=an.session;const dn=an.user;if(an.session){await this._saveSession(an.session);await this._notifyAllSubscribers("SIGNED_IN",cn)}return{data:{user:dn,session:cn},error:null}}catch(Wt){if((0,In.isAuthError)(Wt)){return{data:{user:null,session:null},error:Wt}}throw Wt}}async signInWithPassword(Wt){try{await this._removeSession();let Pt;if("email"in Wt){const{email:en,password:tn,options:nn}=Wt;Pt=await(0,rn._request)(this.fetch,"POST",`${this.url}/token?grant_type=password`,{headers:this.headers,body:{email:en,password:tn,gotrue_meta_security:{captcha_token:nn===null||nn===void 0?void 0:nn.captchaToken}},xform:rn._sessionResponsePassword})}else if("phone"in Wt){const{phone:en,password:tn,options:nn}=Wt;Pt=await(0,rn._request)(this.fetch,"POST",`${this.url}/token?grant_type=password`,{headers:this.headers,body:{phone:en,password:tn,gotrue_meta_security:{captcha_token:nn===null||nn===void 0?void 0:nn.captchaToken}},xform:rn._sessionResponsePassword})}else{throw new In.AuthInvalidCredentialsError("You must provide either an email or phone number and a password")}const{data:en,error:tn}=Pt;if(tn){return{data:{user:null,session:null},error:tn}}else if(!en||!en.session||!en.user){return{data:{user:null,session:null},error:new In.AuthInvalidTokenResponseError}}if(en.session){await this._saveSession(en.session);await this._notifyAllSubscribers("SIGNED_IN",en.session)}return{data:Object.assign({user:en.user,session:en.session},en.weak_password?{weakPassword:en.weak_password}:null),error:tn}}catch(Wt){if((0,In.isAuthError)(Wt)){return{data:{user:null,session:null},error:Wt}}throw Wt}}async signInWithOAuth(Wt){var Pt,en,tn,nn;await this._removeSession();return await this._handleProviderSignIn(Wt.provider,{redirectTo:(Pt=Wt.options)===null||Pt===void 0?void 0:Pt.redirectTo,scopes:(en=Wt.options)===null||en===void 0?void 0:en.scopes,queryParams:(tn=Wt.options)===null||tn===void 0?void 0:tn.queryParams,skipBrowserRedirect:(nn=Wt.options)===null||nn===void 0?void 0:nn.skipBrowserRedirect})}async exchangeCodeForSession(Wt){await this.initializePromise;return this._acquireLock(-1,(async()=>this._exchangeCodeForSession(Wt)))}async _exchangeCodeForSession(Wt){const Pt=await(0,sn.getItemAsync)(this.storage,`${this.storageKey}-code-verifier`);const[en,tn]=(Pt!==null&&Pt!==void 0?Pt:"").split("/");const{data:nn,error:an}=await(0,rn._request)(this.fetch,"POST",`${this.url}/token?grant_type=pkce`,{headers:this.headers,body:{auth_code:Wt,code_verifier:en},xform:rn._sessionResponse});await(0,sn.removeItemAsync)(this.storage,`${this.storageKey}-code-verifier`);if(an){return{data:{user:null,session:null,redirectType:null},error:an}}else if(!nn||!nn.session||!nn.user){return{data:{user:null,session:null,redirectType:null},error:new In.AuthInvalidTokenResponseError}}if(nn.session){await this._saveSession(nn.session);await this._notifyAllSubscribers("SIGNED_IN",nn.session)}return{data:Object.assign(Object.assign({},nn),{redirectType:tn!==null&&tn!==void 0?tn:null}),error:an}}async signInWithIdToken(Wt){await this._removeSession();try{const{options:Pt,provider:en,token:tn,access_token:nn,nonce:an}=Wt;const sn=await(0,rn._request)(this.fetch,"POST",`${this.url}/token?grant_type=id_token`,{headers:this.headers,body:{provider:en,id_token:tn,access_token:nn,nonce:an,gotrue_meta_security:{captcha_token:Pt===null||Pt===void 0?void 0:Pt.captchaToken}},xform:rn._sessionResponse});const{data:on,error:cn}=sn;if(cn){return{data:{user:null,session:null},error:cn}}else if(!on||!on.session||!on.user){return{data:{user:null,session:null},error:new In.AuthInvalidTokenResponseError}}if(on.session){await this._saveSession(on.session);await this._notifyAllSubscribers("SIGNED_IN",on.session)}return{data:on,error:cn}}catch(Wt){if((0,In.isAuthError)(Wt)){return{data:{user:null,session:null},error:Wt}}throw Wt}}async signInWithOtp(Wt){var Pt,en,tn,nn,an;try{await this._removeSession();if("email"in Wt){const{email:tn,options:nn}=Wt;let an=null;let In=null;if(this.flowType==="pkce"){[an,In]=await(0,sn.getCodeChallengeAndMethod)(this.storage,this.storageKey)}const{error:on}=await(0,rn._request)(this.fetch,"POST",`${this.url}/otp`,{headers:this.headers,body:{email:tn,data:(Pt=nn===null||nn===void 0?void 0:nn.data)!==null&&Pt!==void 0?Pt:{},create_user:(en=nn===null||nn===void 0?void 0:nn.shouldCreateUser)!==null&&en!==void 0?en:true,gotrue_meta_security:{captcha_token:nn===null||nn===void 0?void 0:nn.captchaToken},code_challenge:an,code_challenge_method:In},redirectTo:nn===null||nn===void 0?void 0:nn.emailRedirectTo});return{data:{user:null,session:null},error:on}}if("phone"in Wt){const{phone:Pt,options:en}=Wt;const{data:In,error:sn}=await(0,rn._request)(this.fetch,"POST",`${this.url}/otp`,{headers:this.headers,body:{phone:Pt,data:(tn=en===null||en===void 0?void 0:en.data)!==null&&tn!==void 0?tn:{},create_user:(nn=en===null||en===void 0?void 0:en.shouldCreateUser)!==null&&nn!==void 0?nn:true,gotrue_meta_security:{captcha_token:en===null||en===void 0?void 0:en.captchaToken},channel:(an=en===null||en===void 0?void 0:en.channel)!==null&&an!==void 0?an:"sms"}});return{data:{user:null,session:null,messageId:In===null||In===void 0?void 0:In.message_id},error:sn}}throw new In.AuthInvalidCredentialsError("You must provide either an email or phone number.")}catch(Wt){if((0,In.isAuthError)(Wt)){return{data:{user:null,session:null},error:Wt}}throw Wt}}async verifyOtp(Wt){var Pt,en;try{if(Wt.type!=="email_change"&&Wt.type!=="phone_change"){await this._removeSession()}let tn=undefined;let nn=undefined;if("options"in Wt){tn=(Pt=Wt.options)===null||Pt===void 0?void 0:Pt.redirectTo;nn=(en=Wt.options)===null||en===void 0?void 0:en.captchaToken}const{data:an,error:In}=await(0,rn._request)(this.fetch,"POST",`${this.url}/verify`,{headers:this.headers,body:Object.assign(Object.assign({},Wt),{gotrue_meta_security:{captcha_token:nn}}),redirectTo:tn,xform:rn._sessionResponse});if(In){throw In}if(!an){throw new Error("An error occurred on token verification.")}const sn=an.session;const on=an.user;if(sn===null||sn===void 0?void 0:sn.access_token){await this._saveSession(sn);await this._notifyAllSubscribers(Wt.type=="recovery"?"PASSWORD_RECOVERY":"SIGNED_IN",sn)}return{data:{user:on,session:sn},error:null}}catch(Wt){if((0,In.isAuthError)(Wt)){return{data:{user:null,session:null},error:Wt}}throw Wt}}async signInWithSSO(Wt){var Pt,en,tn;try{await this._removeSession();let nn=null;let an=null;if(this.flowType==="pkce"){[nn,an]=await(0,sn.getCodeChallengeAndMethod)(this.storage,this.storageKey)}return await(0,rn._request)(this.fetch,"POST",`${this.url}/sso`,{body:Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},"providerId"in Wt?{provider_id:Wt.providerId}:null),"domain"in Wt?{domain:Wt.domain}:null),{redirect_to:(en=(Pt=Wt.options)===null||Pt===void 0?void 0:Pt.redirectTo)!==null&&en!==void 0?en:undefined}),((tn=Wt===null||Wt===void 0?void 0:Wt.options)===null||tn===void 0?void 0:tn.captchaToken)?{gotrue_meta_security:{captcha_token:Wt.options.captchaToken}}:null),{skip_http_redirect:true,code_challenge:nn,code_challenge_method:an}),headers:this.headers,xform:rn._ssoResponse})}catch(Wt){if((0,In.isAuthError)(Wt)){return{data:null,error:Wt}}throw Wt}}async reauthenticate(){await this.initializePromise;return await this._acquireLock(-1,(async()=>await this._reauthenticate()))}async _reauthenticate(){try{return await this._useSession((async Wt=>{const{data:{session:Pt},error:en}=Wt;if(en)throw en;if(!Pt)throw new In.AuthSessionMissingError;const{error:tn}=await(0,rn._request)(this.fetch,"GET",`${this.url}/reauthenticate`,{headers:this.headers,jwt:Pt.access_token});return{data:{user:null,session:null},error:tn}}))}catch(Wt){if((0,In.isAuthError)(Wt)){return{data:{user:null,session:null},error:Wt}}throw Wt}}async resend(Wt){try{if(Wt.type!="email_change"&&Wt.type!="phone_change"){await this._removeSession()}const Pt=`${this.url}/resend`;if("email"in Wt){const{email:en,type:tn,options:nn}=Wt;const{error:an}=await(0,rn._request)(this.fetch,"POST",Pt,{headers:this.headers,body:{email:en,type:tn,gotrue_meta_security:{captcha_token:nn===null||nn===void 0?void 0:nn.captchaToken}},redirectTo:nn===null||nn===void 0?void 0:nn.emailRedirectTo});return{data:{user:null,session:null},error:an}}else if("phone"in Wt){const{phone:en,type:tn,options:nn}=Wt;const{data:an,error:In}=await(0,rn._request)(this.fetch,"POST",Pt,{headers:this.headers,body:{phone:en,type:tn,gotrue_meta_security:{captcha_token:nn===null||nn===void 0?void 0:nn.captchaToken}}});return{data:{user:null,session:null,messageId:an===null||an===void 0?void 0:an.message_id},error:In}}throw new In.AuthInvalidCredentialsError("You must provide either an email or phone number and a type")}catch(Wt){if((0,In.isAuthError)(Wt)){return{data:{user:null,session:null},error:Wt}}throw Wt}}async getSession(){await this.initializePromise;const Wt=await this._acquireLock(-1,(async()=>this._useSession((async Wt=>Wt))));if(Wt.data&&this.storage.isServer){if(!this.insecureGetSessionWarningShown){console.warn("Using supabase.auth.getSession() is potentially insecure as it loads data directly from the storage medium (typically cookies) which may not be authentic. Prefer using supabase.auth.getUser() instead. To suppress this warning call supabase.auth.getUser() before you call supabase.auth.getSession().");this.insecureGetSessionWarningShown=true}}return Wt}async _acquireLock(Wt,Pt){this._debug("#_acquireLock","begin",Wt);try{if(this.lockAcquired){const Wt=this.pendingInLock.length?this.pendingInLock[this.pendingInLock.length-1]:Promise.resolve();const en=(async()=>{await Wt;return await Pt()})();this.pendingInLock.push((async()=>{try{await en}catch(Wt){}})());return en}return await this.lock(`lock:${this.storageKey}`,Wt,(async()=>{this._debug("#_acquireLock","lock acquired for storage key",this.storageKey);try{this.lockAcquired=true;const Wt=Pt();this.pendingInLock.push((async()=>{try{await Wt}catch(Wt){}})());await Wt;while(this.pendingInLock.length){const Wt=[...this.pendingInLock];await Promise.all(Wt);this.pendingInLock.splice(0,Wt.length)}return await Wt}finally{this._debug("#_acquireLock","lock released for storage key",this.storageKey);this.lockAcquired=false}}))}finally{this._debug("#_acquireLock","end")}}async _useSession(Wt){this._debug("#_useSession","begin");try{const Pt=await this.__loadSession();return await Wt(Pt)}finally{this._debug("#_useSession","end")}}async __loadSession(){this._debug("#__loadSession()","begin");if(!this.lockAcquired){this._debug("#__loadSession()","used outside of an acquired lock!",(new Error).stack)}try{let Wt=null;const Pt=await(0,sn.getItemAsync)(this.storage,this.storageKey);this._debug("#getSession()","session from storage",Pt);if(Pt!==null){if(this._isValidSession(Pt)){Wt=Pt}else{this._debug("#getSession()","session from storage is not valid");await this._removeSession()}}if(!Wt){return{data:{session:null},error:null}}const en=Wt.expires_at?Wt.expires_at<=Date.now()/1e3:false;this._debug("#__loadSession()",`session has${en?"":" not"} expired`,"expires_at",Wt.expires_at);if(!en){if(this.storage.isServer){let Pt=Wt.user;delete Wt.user;Object.defineProperty(Wt,"user",{enumerable:true,get:()=>{if(!Wt.__suppressUserWarning){console.warn("Using the user object as returned from supabase.auth.getSession() or from some supabase.auth.onAuthStateChange() events could be insecure! This value comes directly from the storage medium (usually cookies on the server) and many not be authentic. Use supabase.auth.getUser() instead which authenticates the data by contacting the Supabase Auth server.")}return Pt},set:Wt=>{Pt=Wt}})}return{data:{session:Wt},error:null}}const{session:tn,error:nn}=await this._callRefreshToken(Wt.refresh_token);if(nn){return{data:{session:null},error:nn}}return{data:{session:tn},error:null}}finally{this._debug("#__loadSession()","end")}}async getUser(Wt){if(Wt){return await this._getUser(Wt)}await this.initializePromise;const Pt=await this._acquireLock(-1,(async()=>await this._getUser()));if(Pt.data&&this.storage.isServer){this.insecureGetSessionWarningShown=true}return Pt}async _getUser(Wt){try{if(Wt){return await(0,rn._request)(this.fetch,"GET",`${this.url}/user`,{headers:this.headers,jwt:Wt,xform:rn._userResponse})}return await this._useSession((async Wt=>{var Pt,en;const{data:tn,error:nn}=Wt;if(nn){throw nn}return await(0,rn._request)(this.fetch,"GET",`${this.url}/user`,{headers:this.headers,jwt:(en=(Pt=tn.session)===null||Pt===void 0?void 0:Pt.access_token)!==null&&en!==void 0?en:undefined,xform:rn._userResponse})}))}catch(Wt){if((0,In.isAuthError)(Wt)){return{data:{user:null},error:Wt}}throw Wt}}async updateUser(Wt,Pt={}){await this.initializePromise;return await this._acquireLock(-1,(async()=>await this._updateUser(Wt,Pt)))}async _updateUser(Wt,Pt={}){try{return await this._useSession((async en=>{const{data:tn,error:nn}=en;if(nn){throw nn}if(!tn.session){throw new In.AuthSessionMissingError}const an=tn.session;let on=null;let cn=null;if(this.flowType==="pkce"&&Wt.email!=null){[on,cn]=await(0,sn.getCodeChallengeAndMethod)(this.storage,this.storageKey)}const{data:dn,error:un}=await(0,rn._request)(this.fetch,"PUT",`${this.url}/user`,{headers:this.headers,redirectTo:Pt===null||Pt===void 0?void 0:Pt.emailRedirectTo,body:Object.assign(Object.assign({},Wt),{code_challenge:on,code_challenge_method:cn}),jwt:an.access_token,xform:rn._userResponse});if(un)throw un;an.user=dn.user;await this._saveSession(an);await this._notifyAllSubscribers("USER_UPDATED",an);return{data:{user:an.user},error:null}}))}catch(Wt){if((0,In.isAuthError)(Wt)){return{data:{user:null},error:Wt}}throw Wt}}_decodeJWT(Wt){return(0,sn.decodeJWTPayload)(Wt)}async setSession(Wt){await this.initializePromise;return await this._acquireLock(-1,(async()=>await this._setSession(Wt)))}async _setSession(Wt){try{if(!Wt.access_token||!Wt.refresh_token){throw new In.AuthSessionMissingError}const Pt=Date.now()/1e3;let en=Pt;let tn=true;let nn=null;const an=(0,sn.decodeJWTPayload)(Wt.access_token);if(an.exp){en=an.exp;tn=en<=Pt}if(tn){const{session:Pt,error:en}=await this._callRefreshToken(Wt.refresh_token);if(en){return{data:{user:null,session:null},error:en}}if(!Pt){return{data:{user:null,session:null},error:null}}nn=Pt}else{const{data:tn,error:an}=await this._getUser(Wt.access_token);if(an){throw an}nn={access_token:Wt.access_token,refresh_token:Wt.refresh_token,user:tn.user,token_type:"bearer",expires_in:en-Pt,expires_at:en};await this._saveSession(nn);await this._notifyAllSubscribers("SIGNED_IN",nn)}return{data:{user:nn.user,session:nn},error:null}}catch(Wt){if((0,In.isAuthError)(Wt)){return{data:{session:null,user:null},error:Wt}}throw Wt}}async refreshSession(Wt){await this.initializePromise;return await this._acquireLock(-1,(async()=>await this._refreshSession(Wt)))}async _refreshSession(Wt){try{return await this._useSession((async Pt=>{var en;if(!Wt){const{data:tn,error:nn}=Pt;if(nn){throw nn}Wt=(en=tn.session)!==null&&en!==void 0?en:undefined}if(!(Wt===null||Wt===void 0?void 0:Wt.refresh_token)){throw new In.AuthSessionMissingError}const{session:tn,error:nn}=await this._callRefreshToken(Wt.refresh_token);if(nn){return{data:{user:null,session:null},error:nn}}if(!tn){return{data:{user:null,session:null},error:null}}return{data:{user:tn.user,session:tn},error:null}}))}catch(Wt){if((0,In.isAuthError)(Wt)){return{data:{user:null,session:null},error:Wt}}throw Wt}}async _getSessionFromURL(Wt){try{if(!(0,sn.isBrowser)())throw new In.AuthImplicitGrantRedirectError("No browser detected.");if(this.flowType==="implicit"&&!this._isImplicitGrantFlow()){throw new In.AuthImplicitGrantRedirectError("Not a valid implicit grant flow url.")}else if(this.flowType=="pkce"&&!Wt){throw new In.AuthPKCEGrantCodeExchangeError("Not a valid PKCE flow url.")}const Pt=(0,sn.parseParametersFromURL)(window.location.href);if(Wt){if(!Pt.code)throw new In.AuthPKCEGrantCodeExchangeError("No code detected.");const{data:Wt,error:en}=await this._exchangeCodeForSession(Pt.code);if(en)throw en;const tn=new URL(window.location.href);tn.searchParams.delete("code");window.history.replaceState(window.history.state,"",tn.toString());return{data:{session:Wt.session,redirectType:null},error:null}}if(Pt.error||Pt.error_description||Pt.error_code){throw new In.AuthImplicitGrantRedirectError(Pt.error_description||"Error in URL with unspecified error_description",{error:Pt.error||"unspecified_error",code:Pt.error_code||"unspecified_code"})}const{provider_token:en,provider_refresh_token:tn,access_token:nn,refresh_token:an,expires_in:rn,expires_at:on,token_type:cn}=Pt;if(!nn||!rn||!an||!cn){throw new In.AuthImplicitGrantRedirectError("No session defined in URL")}const dn=Math.round(Date.now()/1e3);const un=parseInt(rn);let pn=dn+un;if(on){pn=parseInt(on)}const bn=pn-dn;if(bn*1e3<=mn){console.warn(`@supabase/gotrue-js: Session as retrieved from URL expires in ${bn}s, should have been closer to ${un}s`)}const Gn=pn-un;if(dn-Gn>=120){console.warn("@supabase/gotrue-js: Session as retrieved from URL was issued over 120s ago, URL could be stale",Gn,pn,dn)}else if(dn-Gn<0){console.warn("@supabase/gotrue-js: Session as retrieved from URL was issued in the future? Check the device clok for skew",Gn,pn,dn)}const{data:hn,error:Zn}=await this._getUser(nn);if(Zn)throw Zn;const An={provider_token:en,provider_refresh_token:tn,access_token:nn,expires_in:un,expires_at:pn,refresh_token:an,token_type:cn,user:hn.user};window.location.hash="";this._debug("#_getSessionFromURL()","clearing window.location.hash");return{data:{session:An,redirectType:Pt.type},error:null}}catch(Wt){if((0,In.isAuthError)(Wt)){return{data:{session:null,redirectType:null},error:Wt}}throw Wt}}_isImplicitGrantFlow(){const Wt=(0,sn.parseParametersFromURL)(window.location.href);return!!((0,sn.isBrowser)()&&(Wt.access_token||Wt.error_description))}async _isPKCEFlow(){const Wt=(0,sn.parseParametersFromURL)(window.location.href);const Pt=await(0,sn.getItemAsync)(this.storage,`${this.storageKey}-code-verifier`);return!!(Wt.code&&Pt)}async signOut(Wt={scope:"global"}){await this.initializePromise;return await this._acquireLock(-1,(async()=>await this._signOut(Wt)))}async _signOut({scope:Wt}={scope:"global"}){return await this._useSession((async Pt=>{var en;const{data:tn,error:nn}=Pt;if(nn){return{error:nn}}const an=(en=tn.session)===null||en===void 0?void 0:en.access_token;if(an){const{error:Pt}=await this.admin.signOut(an,Wt);if(Pt){if(!((0,In.isAuthApiError)(Pt)&&(Pt.status===404||Pt.status===401))){return{error:Pt}}}}if(Wt!=="others"){await this._removeSession();await(0,sn.removeItemAsync)(this.storage,`${this.storageKey}-code-verifier`);await this._notifyAllSubscribers("SIGNED_OUT",null)}return{error:null}}))}onAuthStateChange(Wt){const Pt=(0,sn.uuid)();const en={id:Pt,callback:Wt,unsubscribe:()=>{this._debug("#unsubscribe()","state change callback with id removed",Pt);this.stateChangeEmitters.delete(Pt)}};this._debug("#onAuthStateChange()","registered callback with id",Pt);this.stateChangeEmitters.set(Pt,en);(async()=>{await this.initializePromise;await this._acquireLock(-1,(async()=>{this._emitInitialSession(Pt)}))})();return{data:{subscription:en}}}async _emitInitialSession(Wt){return await this._useSession((async Pt=>{var en,tn;try{const{data:{session:tn},error:nn}=Pt;if(nn)throw nn;await((en=this.stateChangeEmitters.get(Wt))===null||en===void 0?void 0:en.callback("INITIAL_SESSION",tn));this._debug("INITIAL_SESSION","callback id",Wt,"session",tn)}catch(Pt){await((tn=this.stateChangeEmitters.get(Wt))===null||tn===void 0?void 0:tn.callback("INITIAL_SESSION",null));this._debug("INITIAL_SESSION","callback id",Wt,"error",Pt);console.error(Pt)}}))}async resetPasswordForEmail(Wt,Pt={}){let en=null;let tn=null;if(this.flowType==="pkce"){[en,tn]=await(0,sn.getCodeChallengeAndMethod)(this.storage,this.storageKey,true)}try{return await(0,rn._request)(this.fetch,"POST",`${this.url}/recover`,{body:{email:Wt,code_challenge:en,code_challenge_method:tn,gotrue_meta_security:{captcha_token:Pt.captchaToken}},headers:this.headers,redirectTo:Pt.redirectTo})}catch(Wt){if((0,In.isAuthError)(Wt)){return{data:null,error:Wt}}throw Wt}}async getUserIdentities(){var Wt;try{const{data:Pt,error:en}=await this.getUser();if(en)throw en;return{data:{identities:(Wt=Pt.user.identities)!==null&&Wt!==void 0?Wt:[]},error:null}}catch(Wt){if((0,In.isAuthError)(Wt)){return{data:null,error:Wt}}throw Wt}}async linkIdentity(Wt){var Pt;try{const{data:en,error:tn}=await this._useSession((async Pt=>{var en,tn,nn,an,In;const{data:sn,error:on}=Pt;if(on)throw on;const cn=await this._getUrlForProvider(`${this.url}/user/identities/authorize`,Wt.provider,{redirectTo:(en=Wt.options)===null||en===void 0?void 0:en.redirectTo,scopes:(tn=Wt.options)===null||tn===void 0?void 0:tn.scopes,queryParams:(nn=Wt.options)===null||nn===void 0?void 0:nn.queryParams,skipBrowserRedirect:true});return await(0,rn._request)(this.fetch,"GET",cn,{headers:this.headers,jwt:(In=(an=sn.session)===null||an===void 0?void 0:an.access_token)!==null&&In!==void 0?In:undefined})}));if(tn)throw tn;if((0,sn.isBrowser)()&&!((Pt=Wt.options)===null||Pt===void 0?void 0:Pt.skipBrowserRedirect)){window.location.assign(en===null||en===void 0?void 0:en.url)}return{data:{provider:Wt.provider,url:en===null||en===void 0?void 0:en.url},error:null}}catch(Pt){if((0,In.isAuthError)(Pt)){return{data:{provider:Wt.provider,url:null},error:Pt}}throw Pt}}async unlinkIdentity(Wt){try{return await this._useSession((async Pt=>{var en,tn;const{data:nn,error:an}=Pt;if(an){throw an}return await(0,rn._request)(this.fetch,"DELETE",`${this.url}/user/identities/${Wt.identity_id}`,{headers:this.headers,jwt:(tn=(en=nn.session)===null||en===void 0?void 0:en.access_token)!==null&&tn!==void 0?tn:undefined})}))}catch(Wt){if((0,In.isAuthError)(Wt)){return{data:null,error:Wt}}throw Wt}}async _refreshAccessToken(Wt){const Pt=`#_refreshAccessToken(${Wt.substring(0,5)}...)`;this._debug(Pt,"begin");try{const en=Date.now();return await(0,sn.retryable)((async en=>{await(0,sn.sleep)(en*200);this._debug(Pt,"refreshing attempt",en);return await(0,rn._request)(this.fetch,"POST",`${this.url}/token?grant_type=refresh_token`,{body:{refresh_token:Wt},headers:this.headers,xform:rn._sessionResponse})}),((Wt,Pt,tn)=>tn&&tn.error&&(0,In.isAuthRetryableFetchError)(tn.error)&&Date.now()+(Wt+1)*200-en{try{await en.callback(Wt,Pt)}catch(Wt){tn.push(Wt)}}));await Promise.all(nn);if(tn.length>0){for(let Wt=0;Wtthis._autoRefreshTokenTick()),mn);this.autoRefreshTicker=Wt;if(Wt&&typeof Wt==="object"&&typeof Wt.unref==="function"){Wt.unref()}else if(typeof Deno!=="undefined"&&typeof Deno.unrefTimer==="function"){Deno.unrefTimer(Wt)}setTimeout((async()=>{await this.initializePromise;await this._autoRefreshTokenTick()}),0)}async _stopAutoRefresh(){this._debug("#_stopAutoRefresh()");const Wt=this.autoRefreshTicker;this.autoRefreshTicker=null;if(Wt){clearInterval(Wt)}}async startAutoRefresh(){this._removeVisibilityChangedCallback();await this._startAutoRefresh()}async stopAutoRefresh(){this._removeVisibilityChangedCallback();await this._stopAutoRefresh()}async _autoRefreshTokenTick(){this._debug("#_autoRefreshTokenTick()","begin");try{await this._acquireLock(0,(async()=>{try{const Wt=Date.now();try{return await this._useSession((async Pt=>{const{data:{session:en}}=Pt;if(!en||!en.refresh_token||!en.expires_at){this._debug("#_autoRefreshTokenTick()","no session");return}const tn=Math.floor((en.expires_at*1e3-Wt)/mn);this._debug("#_autoRefreshTokenTick()",`access token expires in ${tn} ticks, a tick lasts ${mn}ms, refresh threshold is ${bn} ticks`);if(tn<=bn){await this._callRefreshToken(en.refresh_token)}}))}catch(Wt){console.error("Auto refresh tick failed with error. This is likely a transient error.",Wt)}}finally{this._debug("#_autoRefreshTokenTick()","end")}}))}catch(Wt){if(Wt.isAcquireTimeout||Wt instanceof un.LockAcquireTimeoutError){this._debug("auto refresh token tick lock not available")}else{throw Wt}}}async _handleVisibilityChange(){this._debug("#_handleVisibilityChange()");if(!(0,sn.isBrowser)()||!(window===null||window===void 0?void 0:window.addEventListener)){if(this.autoRefreshToken){this.startAutoRefresh()}return false}try{this.visibilityChangedCallback=async()=>await this._onVisibilityChanged(false);window===null||window===void 0?void 0:window.addEventListener("visibilitychange",this.visibilityChangedCallback);await this._onVisibilityChanged(true)}catch(Wt){console.error("_handleVisibilityChange",Wt)}}async _onVisibilityChanged(Wt){const Pt=`#_onVisibilityChanged(${Wt})`;this._debug(Pt,"visibilityState",document.visibilityState);if(document.visibilityState==="visible"){if(this.autoRefreshToken){this._startAutoRefresh()}if(!Wt){await this.initializePromise;await this._acquireLock(-1,(async()=>{if(document.visibilityState!=="visible"){this._debug(Pt,"acquired the lock to recover the session, but the browser visibilityState is no longer visible, aborting");return}await this._recoverAndRefresh()}))}}else if(document.visibilityState==="hidden"){if(this.autoRefreshToken){this._stopAutoRefresh()}}}async _getUrlForProvider(Wt,Pt,en){const tn=[`provider=${encodeURIComponent(Pt)}`];if(en===null||en===void 0?void 0:en.redirectTo){tn.push(`redirect_to=${encodeURIComponent(en.redirectTo)}`)}if(en===null||en===void 0?void 0:en.scopes){tn.push(`scopes=${encodeURIComponent(en.scopes)}`)}if(this.flowType==="pkce"){const[Wt,Pt]=await(0,sn.getCodeChallengeAndMethod)(this.storage,this.storageKey);const en=new URLSearchParams({code_challenge:`${encodeURIComponent(Wt)}`,code_challenge_method:`${encodeURIComponent(Pt)}`});tn.push(en.toString())}if(en===null||en===void 0?void 0:en.queryParams){const Wt=new URLSearchParams(en.queryParams);tn.push(Wt.toString())}if(en===null||en===void 0?void 0:en.skipBrowserRedirect){tn.push(`skip_http_redirect=${en.skipBrowserRedirect}`)}return`${Wt}?${tn.join("&")}`}async _unenroll(Wt){try{return await this._useSession((async Pt=>{var en;const{data:tn,error:nn}=Pt;if(nn){return{data:null,error:nn}}return await(0,rn._request)(this.fetch,"DELETE",`${this.url}/factors/${Wt.factorId}`,{headers:this.headers,jwt:(en=tn===null||tn===void 0?void 0:tn.session)===null||en===void 0?void 0:en.access_token})}))}catch(Wt){if((0,In.isAuthError)(Wt)){return{data:null,error:Wt}}throw Wt}}async _enroll(Wt){try{return await this._useSession((async Pt=>{var en,tn;const{data:nn,error:an}=Pt;if(an){return{data:null,error:an}}const{data:In,error:sn}=await(0,rn._request)(this.fetch,"POST",`${this.url}/factors`,{body:{friendly_name:Wt.friendlyName,factor_type:Wt.factorType,issuer:Wt.issuer},headers:this.headers,jwt:(en=nn===null||nn===void 0?void 0:nn.session)===null||en===void 0?void 0:en.access_token});if(sn){return{data:null,error:sn}}if((tn=In===null||In===void 0?void 0:In.totp)===null||tn===void 0?void 0:tn.qr_code){In.totp.qr_code=`data:image/svg+xml;utf-8,${In.totp.qr_code}`}return{data:In,error:null}}))}catch(Wt){if((0,In.isAuthError)(Wt)){return{data:null,error:Wt}}throw Wt}}async _verify(Wt){return this._acquireLock(-1,(async()=>{try{return await this._useSession((async Pt=>{var en;const{data:tn,error:nn}=Pt;if(nn){return{data:null,error:nn}}const{data:an,error:In}=await(0,rn._request)(this.fetch,"POST",`${this.url}/factors/${Wt.factorId}/verify`,{body:{code:Wt.code,challenge_id:Wt.challengeId},headers:this.headers,jwt:(en=tn===null||tn===void 0?void 0:tn.session)===null||en===void 0?void 0:en.access_token});if(In){return{data:null,error:In}}await this._saveSession(Object.assign({expires_at:Math.round(Date.now()/1e3)+an.expires_in},an));await this._notifyAllSubscribers("MFA_CHALLENGE_VERIFIED",an);return{data:an,error:In}}))}catch(Wt){if((0,In.isAuthError)(Wt)){return{data:null,error:Wt}}throw Wt}}))}async _challenge(Wt){return this._acquireLock(-1,(async()=>{try{return await this._useSession((async Pt=>{var en;const{data:tn,error:nn}=Pt;if(nn){return{data:null,error:nn}}return await(0,rn._request)(this.fetch,"POST",`${this.url}/factors/${Wt.factorId}/challenge`,{headers:this.headers,jwt:(en=tn===null||tn===void 0?void 0:tn.session)===null||en===void 0?void 0:en.access_token})}))}catch(Wt){if((0,In.isAuthError)(Wt)){return{data:null,error:Wt}}throw Wt}}))}async _challengeAndVerify(Wt){const{data:Pt,error:en}=await this._challenge({factorId:Wt.factorId});if(en){return{data:null,error:en}}return await this._verify({factorId:Wt.factorId,challengeId:Pt.id,code:Wt.code})}async _listFactors(){const{data:{user:Wt},error:Pt}=await this.getUser();if(Pt){return{data:null,error:Pt}}const en=(Wt===null||Wt===void 0?void 0:Wt.factors)||[];const tn=en.filter((Wt=>Wt.factor_type==="totp"&&Wt.status==="verified"));return{data:{all:en,totp:tn},error:null}}async _getAuthenticatorAssuranceLevel(){return this._acquireLock(-1,(async()=>await this._useSession((async Wt=>{var Pt,en;const{data:{session:tn},error:nn}=Wt;if(nn){return{data:null,error:nn}}if(!tn){return{data:{currentLevel:null,nextLevel:null,currentAuthenticationMethods:[]},error:null}}const an=this._decodeJWT(tn.access_token);let In=null;if(an.aal){In=an.aal}let rn=In;const sn=(en=(Pt=tn.user.factors)===null||Pt===void 0?void 0:Pt.filter((Wt=>Wt.status==="verified")))!==null&&en!==void 0?en:[];if(sn.length>0){rn="aal2"}const on=an.amr||[];return{data:{currentLevel:In,nextLevel:rn,currentAuthenticationMethods:on},error:null}}))))}}Pt["default"]=GoTrueClient;GoTrueClient.nextInstanceID=0},31904:function(Wt,Pt,en){var tn=this&&this.__createBinding||(Object.create?function(Wt,Pt,en,tn){if(tn===undefined)tn=en;var nn=Object.getOwnPropertyDescriptor(Pt,en);if(!nn||("get"in nn?!Pt.__esModule:nn.writable||nn.configurable)){nn={enumerable:true,get:function(){return Pt[en]}}}Object.defineProperty(Wt,tn,nn)}:function(Wt,Pt,en,tn){if(tn===undefined)tn=en;Wt[tn]=Pt[en]});var nn=this&&this.__exportStar||function(Wt,Pt){for(var en in Wt)if(en!=="default"&&!Object.prototype.hasOwnProperty.call(Pt,en))tn(Pt,Wt,en)};var an=this&&this.__importDefault||function(Wt){return Wt&&Wt.__esModule?Wt:{default:Wt}};Object.defineProperty(Pt,"__esModule",{value:true});Pt.lockInternals=Pt.NavigatorLockAcquireTimeoutError=Pt.navigatorLock=Pt.AuthClient=Pt.AuthAdminApi=Pt.GoTrueClient=Pt.GoTrueAdminApi=void 0;const In=an(en(52165));Pt.GoTrueAdminApi=In.default;const rn=an(en(16623));Pt.GoTrueClient=rn.default;const sn=an(en(68789));Pt.AuthAdminApi=sn.default;const on=an(en(62495));Pt.AuthClient=on.default;nn(en(53737),Pt);nn(en(73981),Pt);var cn=en(28932);Object.defineProperty(Pt,"navigatorLock",{enumerable:true,get:function(){return cn.navigatorLock}});Object.defineProperty(Pt,"NavigatorLockAcquireTimeoutError",{enumerable:true,get:function(){return cn.NavigatorLockAcquireTimeoutError}});Object.defineProperty(Pt,"lockInternals",{enumerable:true,get:function(){return cn.internals}})},26705:(Wt,Pt,en)=>{Object.defineProperty(Pt,"__esModule",{value:true});Pt.API_VERSIONS=Pt.API_VERSION_HEADER_NAME=Pt.NETWORK_FAILURE=Pt.EXPIRY_MARGIN=Pt.DEFAULT_HEADERS=Pt.AUDIENCE=Pt.STORAGE_KEY=Pt.GOTRUE_URL=void 0;const tn=en(41920);Pt.GOTRUE_URL="http://localhost:9999";Pt.STORAGE_KEY="supabase.auth.token";Pt.AUDIENCE="";Pt.DEFAULT_HEADERS={"X-Client-Info":`gotrue-js/${tn.version}`};Pt.EXPIRY_MARGIN=10;Pt.NETWORK_FAILURE={MAX_RETRIES:10,RETRY_INTERVAL:2};Pt.API_VERSION_HEADER_NAME="X-Supabase-Api-Version";Pt.API_VERSIONS={"2024-01-01":{timestamp:Date.parse("2024-01-01T00:00:00.0Z"),name:"2024-01-01"}}},73981:(Wt,Pt)=>{Object.defineProperty(Pt,"__esModule",{value:true});Pt.isAuthWeakPasswordError=Pt.AuthWeakPasswordError=Pt.isAuthRetryableFetchError=Pt.AuthRetryableFetchError=Pt.AuthPKCEGrantCodeExchangeError=Pt.AuthImplicitGrantRedirectError=Pt.AuthInvalidCredentialsError=Pt.AuthInvalidTokenResponseError=Pt.AuthSessionMissingError=Pt.CustomAuthError=Pt.AuthUnknownError=Pt.isAuthApiError=Pt.AuthApiError=Pt.isAuthError=Pt.AuthError=void 0;class AuthError extends Error{constructor(Wt,Pt,en){super(Wt);this.__isAuthError=true;this.name="AuthError";this.status=Pt;this.code=en}}Pt.AuthError=AuthError;function isAuthError(Wt){return typeof Wt==="object"&&Wt!==null&&"__isAuthError"in Wt}Pt.isAuthError=isAuthError;class AuthApiError extends AuthError{constructor(Wt,Pt,en){super(Wt,Pt,en);this.name="AuthApiError";this.status=Pt;this.code=en}}Pt.AuthApiError=AuthApiError;function isAuthApiError(Wt){return isAuthError(Wt)&&Wt.name==="AuthApiError"}Pt.isAuthApiError=isAuthApiError;class AuthUnknownError extends AuthError{constructor(Wt,Pt){super(Wt);this.name="AuthUnknownError";this.originalError=Pt}}Pt.AuthUnknownError=AuthUnknownError;class CustomAuthError extends AuthError{constructor(Wt,Pt,en,tn){super(Wt,en,tn);this.name=Pt;this.status=en}}Pt.CustomAuthError=CustomAuthError;class AuthSessionMissingError extends CustomAuthError{constructor(){super("Auth session missing!","AuthSessionMissingError",400,undefined)}}Pt.AuthSessionMissingError=AuthSessionMissingError;class AuthInvalidTokenResponseError extends CustomAuthError{constructor(){super("Auth session or user missing","AuthInvalidTokenResponseError",500,undefined)}}Pt.AuthInvalidTokenResponseError=AuthInvalidTokenResponseError;class AuthInvalidCredentialsError extends CustomAuthError{constructor(Wt){super(Wt,"AuthInvalidCredentialsError",400,undefined)}}Pt.AuthInvalidCredentialsError=AuthInvalidCredentialsError;class AuthImplicitGrantRedirectError extends CustomAuthError{constructor(Wt,Pt=null){super(Wt,"AuthImplicitGrantRedirectError",500,undefined);this.details=null;this.details=Pt}toJSON(){return{name:this.name,message:this.message,status:this.status,details:this.details}}}Pt.AuthImplicitGrantRedirectError=AuthImplicitGrantRedirectError;class AuthPKCEGrantCodeExchangeError extends CustomAuthError{constructor(Wt,Pt=null){super(Wt,"AuthPKCEGrantCodeExchangeError",500,undefined);this.details=null;this.details=Pt}toJSON(){return{name:this.name,message:this.message,status:this.status,details:this.details}}}Pt.AuthPKCEGrantCodeExchangeError=AuthPKCEGrantCodeExchangeError;class AuthRetryableFetchError extends CustomAuthError{constructor(Wt,Pt){super(Wt,"AuthRetryableFetchError",Pt,undefined)}}Pt.AuthRetryableFetchError=AuthRetryableFetchError;function isAuthRetryableFetchError(Wt){return isAuthError(Wt)&&Wt.name==="AuthRetryableFetchError"}Pt.isAuthRetryableFetchError=isAuthRetryableFetchError;class AuthWeakPasswordError extends CustomAuthError{constructor(Wt,Pt,en){super(Wt,"AuthWeakPasswordError",Pt,"weak_password");this.reasons=en}}Pt.AuthWeakPasswordError=AuthWeakPasswordError;function isAuthWeakPasswordError(Wt){return isAuthError(Wt)&&Wt.name==="AuthWeakPasswordError"}Pt.isAuthWeakPasswordError=isAuthWeakPasswordError},92356:function(Wt,Pt,en){var tn=this&&this.__rest||function(Wt,Pt){var en={};for(var tn in Wt)if(Object.prototype.hasOwnProperty.call(Wt,tn)&&Pt.indexOf(tn)<0)en[tn]=Wt[tn];if(Wt!=null&&typeof Object.getOwnPropertySymbols==="function")for(var nn=0,tn=Object.getOwnPropertySymbols(Wt);nnWt.msg||Wt.message||Wt.error_description||Wt.error||JSON.stringify(Wt);const rn=[502,503,504];async function handleError(Wt){var Pt;if(!(0,an.looksLikeFetchResponse)(Wt)){throw new In.AuthRetryableFetchError(_getErrorMessage(Wt),0)}if(rn.includes(Wt.status)){throw new In.AuthRetryableFetchError(_getErrorMessage(Wt),Wt.status)}let en;try{en=await Wt.json()}catch(Wt){throw new In.AuthUnknownError(_getErrorMessage(Wt),Wt)}let tn=undefined;const sn=(0,an.parseResponseAPIVersion)(Wt);if(sn&&sn.getTime()>=nn.API_VERSIONS["2024-01-01"].timestamp&&typeof en==="object"&&en&&typeof en.code==="string"){tn=en.code}else if(typeof en==="object"&&en&&typeof en.error_code==="string"){tn=en.error_code}if(!tn){if(typeof en==="object"&&en&&typeof en.weak_password==="object"&&en.weak_password&&Array.isArray(en.weak_password.reasons)&&en.weak_password.reasons.length&&en.weak_password.reasons.reduce(((Wt,Pt)=>Wt&&typeof Pt==="string"),true)){throw new In.AuthWeakPasswordError(_getErrorMessage(en),Wt.status,en.weak_password.reasons)}}else if(tn==="weak_password"){throw new In.AuthWeakPasswordError(_getErrorMessage(en),Wt.status,((Pt=en.weak_password)===null||Pt===void 0?void 0:Pt.reasons)||[])}throw new In.AuthApiError(_getErrorMessage(en),Wt.status||500,tn)}Pt.handleError=handleError;const _getRequestParams=(Wt,Pt,en,tn)=>{const nn={method:Wt,headers:(Pt===null||Pt===void 0?void 0:Pt.headers)||{}};if(Wt==="GET"){return nn}nn.headers=Object.assign({"Content-Type":"application/json;charset=UTF-8"},Pt===null||Pt===void 0?void 0:Pt.headers);nn.body=JSON.stringify(tn);return Object.assign(Object.assign({},nn),en)};async function _request(Wt,Pt,en,tn){var an;const In=Object.assign({},tn===null||tn===void 0?void 0:tn.headers);if(!In[nn.API_VERSION_HEADER_NAME]){In[nn.API_VERSION_HEADER_NAME]=nn.API_VERSIONS["2024-01-01"].name}if(tn===null||tn===void 0?void 0:tn.jwt){In["Authorization"]=`Bearer ${tn.jwt}`}const rn=(an=tn===null||tn===void 0?void 0:tn.query)!==null&&an!==void 0?an:{};if(tn===null||tn===void 0?void 0:tn.redirectTo){rn["redirect_to"]=tn.redirectTo}const sn=Object.keys(rn).length?"?"+new URLSearchParams(rn).toString():"";const on=await _handleRequest(Wt,Pt,en+sn,{headers:In,noResolveJson:tn===null||tn===void 0?void 0:tn.noResolveJson},{},tn===null||tn===void 0?void 0:tn.body);return(tn===null||tn===void 0?void 0:tn.xform)?tn===null||tn===void 0?void 0:tn.xform(on):{data:Object.assign({},on),error:null}}Pt._request=_request;async function _handleRequest(Wt,Pt,en,tn,nn,an){const rn=_getRequestParams(Pt,tn,nn,an);let sn;try{sn=await Wt(en,Object.assign(Object.assign({},rn),{cache:"no-store"}))}catch(Wt){console.error(Wt);throw new In.AuthRetryableFetchError(_getErrorMessage(Wt),0)}if(!sn.ok){await handleError(sn)}if(tn===null||tn===void 0?void 0:tn.noResolveJson){return sn}try{return await sn.json()}catch(Wt){await handleError(Wt)}}function _sessionResponse(Wt){var Pt;let en=null;if(hasSession(Wt)){en=Object.assign({},Wt);if(!Wt.expires_at){en.expires_at=(0,an.expiresAt)(Wt.expires_in)}}const tn=(Pt=Wt.user)!==null&&Pt!==void 0?Pt:Wt;return{data:{session:en,user:tn},error:null}}Pt._sessionResponse=_sessionResponse;function _sessionResponsePassword(Wt){const Pt=_sessionResponse(Wt);if(!Pt.error&&Wt.weak_password&&typeof Wt.weak_password==="object"&&Array.isArray(Wt.weak_password.reasons)&&Wt.weak_password.reasons.length&&Wt.weak_password.message&&typeof Wt.weak_password.message==="string"&&Wt.weak_password.reasons.reduce(((Wt,Pt)=>Wt&&typeof Pt==="string"),true)){Pt.data.weak_password=Wt.weak_password}return Pt}Pt._sessionResponsePassword=_sessionResponsePassword;function _userResponse(Wt){var Pt;const en=(Pt=Wt.user)!==null&&Pt!==void 0?Pt:Wt;return{data:{user:en},error:null}}Pt._userResponse=_userResponse;function _ssoResponse(Wt){return{data:Wt,error:null}}Pt._ssoResponse=_ssoResponse;function _generateLinkResponse(Wt){const{action_link:Pt,email_otp:en,hashed_token:nn,redirect_to:an,verification_type:In}=Wt,rn=tn(Wt,["action_link","email_otp","hashed_token","redirect_to","verification_type"]);const sn={action_link:Pt,email_otp:en,hashed_token:nn,redirect_to:an,verification_type:In};const on=Object.assign({},rn);return{data:{properties:sn,user:on},error:null}}Pt._generateLinkResponse=_generateLinkResponse;function _noResolveJsonResponse(Wt){return Wt}Pt._noResolveJsonResponse=_noResolveJsonResponse;function hasSession(Wt){return Wt.access_token&&Wt.refresh_token&&Wt.expires_in}},30601:function(Wt,Pt,en){var tn=this&&this.__createBinding||(Object.create?function(Wt,Pt,en,tn){if(tn===undefined)tn=en;var nn=Object.getOwnPropertyDescriptor(Pt,en);if(!nn||("get"in nn?!Pt.__esModule:nn.writable||nn.configurable)){nn={enumerable:true,get:function(){return Pt[en]}}}Object.defineProperty(Wt,tn,nn)}:function(Wt,Pt,en,tn){if(tn===undefined)tn=en;Wt[tn]=Pt[en]});var nn=this&&this.__setModuleDefault||(Object.create?function(Wt,Pt){Object.defineProperty(Wt,"default",{enumerable:true,value:Pt})}:function(Wt,Pt){Wt["default"]=Pt});var an=this&&this.__importStar||function(Wt){if(Wt&&Wt.__esModule)return Wt;var Pt={};if(Wt!=null)for(var en in Wt)if(en!=="default"&&Object.prototype.hasOwnProperty.call(Wt,en))tn(Pt,Wt,en);nn(Pt,Wt);return Pt};Object.defineProperty(Pt,"__esModule",{value:true});Pt.parseResponseAPIVersion=Pt.getCodeChallengeAndMethod=Pt.generatePKCEChallenge=Pt.generatePKCEVerifier=Pt.retryable=Pt.sleep=Pt.decodeJWTPayload=Pt.Deferred=Pt.decodeBase64URL=Pt.removeItemAsync=Pt.getItemAsync=Pt.setItemAsync=Pt.looksLikeFetchResponse=Pt.resolveFetch=Pt.parseParametersFromURL=Pt.supportsLocalStorage=Pt.isBrowser=Pt.uuid=Pt.expiresAt=void 0;const In=en(26705);function expiresAt(Wt){const Pt=Math.round(Date.now()/1e3);return Pt+Wt}Pt.expiresAt=expiresAt;function uuid(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,(function(Wt){const Pt=Math.random()*16|0,en=Wt=="x"?Pt:Pt&3|8;return en.toString(16)}))}Pt.uuid=uuid;const isBrowser=()=>typeof document!=="undefined";Pt.isBrowser=isBrowser;const rn={tested:false,writable:false};const supportsLocalStorage=()=>{if(!(0,Pt.isBrowser)()){return false}try{if(typeof globalThis.localStorage!=="object"){return false}}catch(Wt){return false}if(rn.tested){return rn.writable}const Wt=`lswt-${Math.random()}${Math.random()}`;try{globalThis.localStorage.setItem(Wt,Wt);globalThis.localStorage.removeItem(Wt);rn.tested=true;rn.writable=true}catch(Wt){rn.tested=true;rn.writable=false}return rn.writable};Pt.supportsLocalStorage=supportsLocalStorage;function parseParametersFromURL(Wt){const Pt={};const en=new URL(Wt);if(en.hash&&en.hash[0]==="#"){try{const Wt=new URLSearchParams(en.hash.substring(1));Wt.forEach(((Wt,en)=>{Pt[en]=Wt}))}catch(Wt){}}en.searchParams.forEach(((Wt,en)=>{Pt[en]=Wt}));return Pt}Pt.parseParametersFromURL=parseParametersFromURL;const resolveFetch=Wt=>{let Pt;if(Wt){Pt=Wt}else if(typeof fetch==="undefined"){Pt=(...Wt)=>Promise.resolve().then((()=>an(en(83318)))).then((({default:Pt})=>Pt(...Wt)))}else{Pt=fetch}return(...Wt)=>Pt(...Wt)};Pt.resolveFetch=resolveFetch;const looksLikeFetchResponse=Wt=>typeof Wt==="object"&&Wt!==null&&"status"in Wt&&"ok"in Wt&&"json"in Wt&&typeof Wt.json==="function";Pt.looksLikeFetchResponse=looksLikeFetchResponse;const setItemAsync=async(Wt,Pt,en)=>{await Wt.setItem(Pt,JSON.stringify(en))};Pt.setItemAsync=setItemAsync;const getItemAsync=async(Wt,Pt)=>{const en=await Wt.getItem(Pt);if(!en){return null}try{return JSON.parse(en)}catch(Wt){return en}};Pt.getItemAsync=getItemAsync;const removeItemAsync=async(Wt,Pt)=>{await Wt.removeItem(Pt)};Pt.removeItemAsync=removeItemAsync;function decodeBase64URL(Wt){const Pt="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";let en="";let tn,nn,an;let In,rn,sn,on;let cn=0;Wt=Wt.replace("-","+").replace("_","/");while(cn>4;nn=(rn&15)<<4|sn>>2;an=(sn&3)<<6|on;en=en+String.fromCharCode(tn);if(sn!=64&&nn!=0){en=en+String.fromCharCode(nn)}if(on!=64&&an!=0){en=en+String.fromCharCode(an)}}return en}Pt.decodeBase64URL=decodeBase64URL;class Deferred{constructor(){this.promise=new Deferred.promiseConstructor(((Wt,Pt)=>{this.resolve=Wt;this.reject=Pt}))}}Pt.Deferred=Deferred;Deferred.promiseConstructor=Promise;function decodeJWTPayload(Wt){const Pt=/^([a-z0-9_-]{4})*($|[a-z0-9_-]{3}=?$|[a-z0-9_-]{2}(==)?$)$/i;const en=Wt.split(".");if(en.length!==3){throw new Error("JWT is not valid: not a JWT structure")}if(!Pt.test(en[1])){throw new Error("JWT is not valid: payload is not in base64url format")}const tn=en[1];return JSON.parse(decodeBase64URL(tn))}Pt.decodeJWTPayload=decodeJWTPayload;async function sleep(Wt){return await new Promise((Pt=>{setTimeout((()=>Pt(null)),Wt)}))}Pt.sleep=sleep;function retryable(Wt,Pt){const en=new Promise(((en,tn)=>{(async()=>{for(let nn=0;nnString.fromCharCode(Wt))).join("")}function base64urlencode(Wt){return btoa(Wt).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,"")}async function generatePKCEChallenge(Wt){const Pt=typeof crypto!=="undefined"&&typeof crypto.subtle!=="undefined"&&typeof TextEncoder!=="undefined";if(!Pt){console.warn("WebCrypto API is not supported. Code challenge method will default to use plain instead of sha256.");return Wt}const en=await sha256(Wt);return base64urlencode(en)}Pt.generatePKCEChallenge=generatePKCEChallenge;async function getCodeChallengeAndMethod(Wt,en,tn=false){const nn=generatePKCEVerifier();let an=nn;if(tn){an+="/PASSWORD_RECOVERY"}await(0,Pt.setItemAsync)(Wt,`${en}-code-verifier`,an);const In=await generatePKCEChallenge(nn);const rn=nn===In?"plain":"s256";return[In,rn]}Pt.getCodeChallengeAndMethod=getCodeChallengeAndMethod;const sn=/^2[0-9]{3}-(0[1-9]|1[0-2])-(0[1-9]|1[0-9]|2[0-9]|3[0-1])$/i;function parseResponseAPIVersion(Wt){const Pt=Wt.headers.get(In.API_VERSION_HEADER_NAME);if(!Pt){return null}if(!Pt.match(sn)){return null}try{const Wt=new Date(`${Pt}T00:00:00.0Z`);return Wt}catch(Wt){return null}}Pt.parseResponseAPIVersion=parseResponseAPIVersion},21735:(Wt,Pt,en)=>{Object.defineProperty(Pt,"__esModule",{value:true});Pt.memoryLocalStorageAdapter=Pt.localStorageAdapter=void 0;const tn=en(30601);Pt.localStorageAdapter={getItem:Wt=>{if(!(0,tn.supportsLocalStorage)()){return null}return globalThis.localStorage.getItem(Wt)},setItem:(Wt,Pt)=>{if(!(0,tn.supportsLocalStorage)()){return}globalThis.localStorage.setItem(Wt,Pt)},removeItem:Wt=>{if(!(0,tn.supportsLocalStorage)()){return}globalThis.localStorage.removeItem(Wt)}};function memoryLocalStorageAdapter(Wt={}){return{getItem:Pt=>Wt[Pt]||null,setItem:(Pt,en)=>{Wt[Pt]=en},removeItem:Pt=>{delete Wt[Pt]}}}Pt.memoryLocalStorageAdapter=memoryLocalStorageAdapter},28932:(Wt,Pt,en)=>{Object.defineProperty(Pt,"__esModule",{value:true});Pt.navigatorLock=Pt.NavigatorLockAcquireTimeoutError=Pt.LockAcquireTimeoutError=Pt.internals=void 0;const tn=en(30601);Pt.internals={debug:!!(globalThis&&(0,tn.supportsLocalStorage)()&&globalThis.localStorage&&globalThis.localStorage.getItem("supabase.gotrue-js.locks.debug")==="true")};class LockAcquireTimeoutError extends Error{constructor(Wt){super(Wt);this.isAcquireTimeout=true}}Pt.LockAcquireTimeoutError=LockAcquireTimeoutError;class NavigatorLockAcquireTimeoutError extends LockAcquireTimeoutError{}Pt.NavigatorLockAcquireTimeoutError=NavigatorLockAcquireTimeoutError;async function navigatorLock(Wt,en,tn){if(Pt.internals.debug){console.log("@supabase/gotrue-js: navigatorLock: acquire lock",Wt,en)}const nn=new globalThis.AbortController;if(en>0){setTimeout((()=>{nn.abort();if(Pt.internals.debug){console.log("@supabase/gotrue-js: navigatorLock acquire timed out",Wt)}}),en)}return await globalThis.navigator.locks.request(Wt,en===0?{mode:"exclusive",ifAvailable:true}:{mode:"exclusive",signal:nn.signal},(async nn=>{if(nn){if(Pt.internals.debug){console.log("@supabase/gotrue-js: navigatorLock: acquired",Wt,nn.name)}try{return await tn()}finally{if(Pt.internals.debug){console.log("@supabase/gotrue-js: navigatorLock: released",Wt,nn.name)}}}else{if(en===0){if(Pt.internals.debug){console.log("@supabase/gotrue-js: navigatorLock: not immediately available",Wt)}throw new NavigatorLockAcquireTimeoutError(`Acquiring an exclusive Navigator LockManager lock "${Wt}" immediately failed`)}else{if(Pt.internals.debug){try{const Wt=await globalThis.navigator.locks.query();console.log("@supabase/gotrue-js: Navigator LockManager state",JSON.stringify(Wt,null," "))}catch(Wt){console.warn("@supabase/gotrue-js: Error when querying Navigator LockManager state",Wt)}}console.warn("@supabase/gotrue-js: Navigator LockManager returned a null lock when using #request without ifAvailable set to true, it appears this browser is not following the LockManager spec https://developer.mozilla.org/en-US/docs/Web/API/LockManager/request");return await tn()}}}))}Pt.navigatorLock=navigatorLock},80512:(Wt,Pt)=>{Object.defineProperty(Pt,"__esModule",{value:true});Pt.polyfillGlobalThis=void 0;function polyfillGlobalThis(){if(typeof globalThis==="object")return;try{Object.defineProperty(Object.prototype,"__magic__",{get:function(){return this},configurable:true});__magic__.globalThis=__magic__;delete Object.prototype.__magic__}catch(Wt){if(typeof self!=="undefined"){self.globalThis=self}}}Pt.polyfillGlobalThis=polyfillGlobalThis},53737:(Wt,Pt)=>{Object.defineProperty(Pt,"__esModule",{value:true})},41920:(Wt,Pt)=>{Object.defineProperty(Pt,"__esModule",{value:true});Pt.version=void 0;Pt.version="2.63.0"},39149:function(Wt,Pt,en){var tn=this&&this.__awaiter||function(Wt,Pt,en,tn){function adopt(Wt){return Wt instanceof en?Wt:new en((function(Pt){Pt(Wt)}))}return new(en||(en=Promise))((function(en,nn){function fulfilled(Wt){try{step(tn.next(Wt))}catch(Wt){nn(Wt)}}function rejected(Wt){try{step(tn["throw"](Wt))}catch(Wt){nn(Wt)}}function step(Wt){Wt.done?en(Wt.value):adopt(Wt.value).then(fulfilled,rejected)}step((tn=tn.apply(Wt,Pt||[])).next())}))};Object.defineProperty(Pt,"__esModule",{value:true});Pt.FunctionsClient=void 0;const nn=en(44495);const an=en(70842);class FunctionsClient{constructor(Wt,{headers:Pt={},customFetch:en,region:tn=an.FunctionRegion.Any}={}){this.url=Wt;this.headers=Pt;this.region=tn;this.fetch=(0,nn.resolveFetch)(en)}setAuth(Wt){this.headers.Authorization=`Bearer ${Wt}`}invoke(Wt,Pt={}){var en;return tn(this,void 0,void 0,(function*(){try{const{headers:tn,method:nn,body:In}=Pt;let rn={};let{region:sn}=Pt;if(!sn){sn=this.region}if(sn&&sn!=="any"){rn["x-region"]=sn}let on;if(In&&(tn&&!Object.prototype.hasOwnProperty.call(tn,"Content-Type")||!tn)){if(typeof Blob!=="undefined"&&In instanceof Blob||In instanceof ArrayBuffer){rn["Content-Type"]="application/octet-stream";on=In}else if(typeof In==="string"){rn["Content-Type"]="text/plain";on=In}else if(typeof FormData!=="undefined"&&In instanceof FormData){on=In}else{rn["Content-Type"]="application/json";on=JSON.stringify(In)}}const cn=yield this.fetch(`${this.url}/${Wt}`,{method:nn||"POST",headers:Object.assign(Object.assign(Object.assign({},rn),this.headers),tn),body:on}).catch((Wt=>{throw new an.FunctionsFetchError(Wt)}));const dn=cn.headers.get("x-relay-error");if(dn&&dn==="true"){throw new an.FunctionsRelayError(cn)}if(!cn.ok){throw new an.FunctionsHttpError(cn)}let un=((en=cn.headers.get("Content-Type"))!==null&&en!==void 0?en:"text/plain").split(";")[0].trim();let pn;if(un==="application/json"){pn=yield cn.json()}else if(un==="application/octet-stream"){pn=yield cn.blob()}else if(un==="multipart/form-data"){pn=yield cn.formData()}else{pn=yield cn.text()}return{data:pn,error:null}}catch(Wt){return{data:null,error:Wt}}}))}}Pt.FunctionsClient=FunctionsClient},44495:function(Wt,Pt,en){var tn=this&&this.__createBinding||(Object.create?function(Wt,Pt,en,tn){if(tn===undefined)tn=en;var nn=Object.getOwnPropertyDescriptor(Pt,en);if(!nn||("get"in nn?!Pt.__esModule:nn.writable||nn.configurable)){nn={enumerable:true,get:function(){return Pt[en]}}}Object.defineProperty(Wt,tn,nn)}:function(Wt,Pt,en,tn){if(tn===undefined)tn=en;Wt[tn]=Pt[en]});var nn=this&&this.__setModuleDefault||(Object.create?function(Wt,Pt){Object.defineProperty(Wt,"default",{enumerable:true,value:Pt})}:function(Wt,Pt){Wt["default"]=Pt});var an=this&&this.__importStar||function(Wt){if(Wt&&Wt.__esModule)return Wt;var Pt={};if(Wt!=null)for(var en in Wt)if(en!=="default"&&Object.prototype.hasOwnProperty.call(Wt,en))tn(Pt,Wt,en);nn(Pt,Wt);return Pt};Object.defineProperty(Pt,"__esModule",{value:true});Pt.resolveFetch=void 0;const resolveFetch=Wt=>{let Pt;if(Wt){Pt=Wt}else if(typeof fetch==="undefined"){Pt=(...Wt)=>Promise.resolve().then((()=>an(en(83318)))).then((({default:Pt})=>Pt(...Wt)))}else{Pt=fetch}return(...Wt)=>Pt(...Wt)};Pt.resolveFetch=resolveFetch},70459:(Wt,Pt,en)=>{Object.defineProperty(Pt,"__esModule",{value:true});Pt.FunctionRegion=Pt.FunctionsRelayError=Pt.FunctionsHttpError=Pt.FunctionsFetchError=Pt.FunctionsError=Pt.FunctionsClient=void 0;var tn=en(39149);Object.defineProperty(Pt,"FunctionsClient",{enumerable:true,get:function(){return tn.FunctionsClient}});var nn=en(70842);Object.defineProperty(Pt,"FunctionsError",{enumerable:true,get:function(){return nn.FunctionsError}});Object.defineProperty(Pt,"FunctionsFetchError",{enumerable:true,get:function(){return nn.FunctionsFetchError}});Object.defineProperty(Pt,"FunctionsHttpError",{enumerable:true,get:function(){return nn.FunctionsHttpError}});Object.defineProperty(Pt,"FunctionsRelayError",{enumerable:true,get:function(){return nn.FunctionsRelayError}});Object.defineProperty(Pt,"FunctionRegion",{enumerable:true,get:function(){return nn.FunctionRegion}})},70842:(Wt,Pt)=>{Object.defineProperty(Pt,"__esModule",{value:true});Pt.FunctionRegion=Pt.FunctionsHttpError=Pt.FunctionsRelayError=Pt.FunctionsFetchError=Pt.FunctionsError=void 0;class FunctionsError extends Error{constructor(Wt,Pt="FunctionsError",en){super(Wt);this.name=Pt;this.context=en}}Pt.FunctionsError=FunctionsError;class FunctionsFetchError extends FunctionsError{constructor(Wt){super("Failed to send a request to the Edge Function","FunctionsFetchError",Wt)}}Pt.FunctionsFetchError=FunctionsFetchError;class FunctionsRelayError extends FunctionsError{constructor(Wt){super("Relay Error invoking the Edge Function","FunctionsRelayError",Wt)}}Pt.FunctionsRelayError=FunctionsRelayError;class FunctionsHttpError extends FunctionsError{constructor(Wt){super("Edge Function returned a non-2xx status code","FunctionsHttpError",Wt)}}Pt.FunctionsHttpError=FunctionsHttpError;var en;(function(Wt){Wt["Any"]="any";Wt["ApNortheast1"]="ap-northeast-1";Wt["ApNortheast2"]="ap-northeast-2";Wt["ApSouth1"]="ap-south-1";Wt["ApSoutheast1"]="ap-southeast-1";Wt["ApSoutheast2"]="ap-southeast-2";Wt["CaCentral1"]="ca-central-1";Wt["EuCentral1"]="eu-central-1";Wt["EuWest1"]="eu-west-1";Wt["EuWest2"]="eu-west-2";Wt["EuWest3"]="eu-west-3";Wt["SaEast1"]="sa-east-1";Wt["UsEast1"]="us-east-1";Wt["UsWest1"]="us-west-1";Wt["UsWest2"]="us-west-2"})(en=Pt.FunctionRegion||(Pt.FunctionRegion={}))},83318:(Wt,Pt,en)=>{Object.defineProperty(Pt,"__esModule",{value:true});function _interopDefault(Wt){return Wt&&typeof Wt==="object"&&"default"in Wt?Wt["default"]:Wt}var tn=_interopDefault(en(2203));var nn=_interopDefault(en(58611));var an=_interopDefault(en(87016));var In=_interopDefault(en(46308));var rn=_interopDefault(en(65692));var sn=_interopDefault(en(43106));const on=tn.Readable;const cn=Symbol("buffer");const dn=Symbol("type");class Blob{constructor(){this[dn]="";const Wt=arguments[0];const Pt=arguments[1];const en=[];let tn=0;if(Wt){const Pt=Wt;const nn=Number(Pt.length);for(let Wt=0;Wt1&&arguments[1]!==undefined?arguments[1]:{},nn=en.size;let an=nn===undefined?0:nn;var In=en.timeout;let rn=In===undefined?0:In;if(Wt==null){Wt=null}else if(isURLSearchParams(Wt)){Wt=Buffer.from(Wt.toString())}else if(isBlob(Wt));else if(Buffer.isBuffer(Wt));else if(Object.prototype.toString.call(Wt)==="[object ArrayBuffer]"){Wt=Buffer.from(Wt)}else if(ArrayBuffer.isView(Wt)){Wt=Buffer.from(Wt.buffer,Wt.byteOffset,Wt.byteLength)}else if(Wt instanceof tn);else{Wt=Buffer.from(String(Wt))}this[pn]={body:Wt,disturbed:false,error:null};this.size=an;this.timeout=rn;if(Wt instanceof tn){Wt.on("error",(function(Wt){const en=Wt.name==="AbortError"?Wt:new FetchError(`Invalid response body while trying to fetch ${Pt.url}: ${Wt.message}`,"system",Wt);Pt[pn].error=en}))}}Body.prototype={get body(){return this[pn].body},get bodyUsed(){return this[pn].disturbed},arrayBuffer(){return consumeBody.call(this).then((function(Wt){return Wt.buffer.slice(Wt.byteOffset,Wt.byteOffset+Wt.byteLength)}))},blob(){let Wt=this.headers&&this.headers.get("content-type")||"";return consumeBody.call(this).then((function(Pt){return Object.assign(new Blob([],{type:Wt.toLowerCase()}),{[cn]:Pt})}))},json(){var Wt=this;return consumeBody.call(this).then((function(Pt){try{return JSON.parse(Pt.toString())}catch(Pt){return Body.Promise.reject(new FetchError(`invalid json response body at ${Wt.url} reason: ${Pt.message}`,"invalid-json"))}}))},text(){return consumeBody.call(this).then((function(Wt){return Wt.toString()}))},buffer(){return consumeBody.call(this)},textConverted(){var Wt=this;return consumeBody.call(this).then((function(Pt){return convertBody(Pt,Wt.headers)}))}};Object.defineProperties(Body.prototype,{body:{enumerable:true},bodyUsed:{enumerable:true},arrayBuffer:{enumerable:true},blob:{enumerable:true},json:{enumerable:true},text:{enumerable:true}});Body.mixIn=function(Wt){for(const Pt of Object.getOwnPropertyNames(Body.prototype)){if(!(Pt in Wt)){const en=Object.getOwnPropertyDescriptor(Body.prototype,Pt);Object.defineProperty(Wt,Pt,en)}}};function consumeBody(){var Wt=this;if(this[pn].disturbed){return Body.Promise.reject(new TypeError(`body used already for: ${this.url}`))}this[pn].disturbed=true;if(this[pn].error){return Body.Promise.reject(this[pn].error)}let Pt=this.body;if(Pt===null){return Body.Promise.resolve(Buffer.alloc(0))}if(isBlob(Pt)){Pt=Pt.stream()}if(Buffer.isBuffer(Pt)){return Body.Promise.resolve(Pt)}if(!(Pt instanceof tn)){return Body.Promise.resolve(Buffer.alloc(0))}let en=[];let nn=0;let an=false;return new Body.Promise((function(tn,In){let rn;if(Wt.timeout){rn=setTimeout((function(){an=true;In(new FetchError(`Response timeout while trying to fetch ${Wt.url} (over ${Wt.timeout}ms)`,"body-timeout"))}),Wt.timeout)}Pt.on("error",(function(Pt){if(Pt.name==="AbortError"){an=true;In(Pt)}else{In(new FetchError(`Invalid response body while trying to fetch ${Wt.url}: ${Pt.message}`,"system",Pt))}}));Pt.on("data",(function(Pt){if(an||Pt===null){return}if(Wt.size&&nn+Pt.length>Wt.size){an=true;In(new FetchError(`content size at ${Wt.url} over limit: ${Wt.size}`,"max-size"));return}nn+=Pt.length;en.push(Pt)}));Pt.on("end",(function(){if(an){return}clearTimeout(rn);try{tn(Buffer.concat(en,nn))}catch(Pt){In(new FetchError(`Could not create Buffer from response body for ${Wt.url}: ${Pt.message}`,"system",Pt))}}))}))}function convertBody(Wt,Pt){{throw new Error("The package `encoding` must be installed to use the textConverted() function")}const en=Pt.get("content-type");let tn="utf-8";let nn,an;if(en){nn=/charset=([^;]*)/i.exec(en)}an=Wt.slice(0,1024).toString();if(!nn&&an){nn=/0&&arguments[0]!==undefined?arguments[0]:undefined;this[hn]=Object.create(null);if(Wt instanceof Headers){const Pt=Wt.raw();const en=Object.keys(Pt);for(const Wt of en){for(const en of Pt[Wt]){this.append(Wt,en)}}return}if(Wt==null);else if(typeof Wt==="object"){const Pt=Wt[Symbol.iterator];if(Pt!=null){if(typeof Pt!=="function"){throw new TypeError("Header pairs must be iterable")}const en=[];for(const Pt of Wt){if(typeof Pt!=="object"||typeof Pt[Symbol.iterator]!=="function"){throw new TypeError("Each header pair must be iterable")}en.push(Array.from(Pt))}for(const Wt of en){if(Wt.length!==2){throw new TypeError("Each header pair must be a name/value tuple")}this.append(Wt[0],Wt[1])}}else{for(const Pt of Object.keys(Wt)){const en=Wt[Pt];this.append(Pt,en)}}}else{throw new TypeError("Provided initializer must be an object")}}get(Wt){Wt=`${Wt}`;validateName(Wt);const Pt=find(this[hn],Wt);if(Pt===undefined){return null}return this[hn][Pt].join(", ")}forEach(Wt){let Pt=arguments.length>1&&arguments[1]!==undefined?arguments[1]:undefined;let en=getHeaders(this);let tn=0;while(tn1&&arguments[1]!==undefined?arguments[1]:"key+value";const en=Object.keys(Wt[hn]).sort();return en.map(Pt==="key"?function(Wt){return Wt.toLowerCase()}:Pt==="value"?function(Pt){return Wt[hn][Pt].join(", ")}:function(Pt){return[Pt.toLowerCase(),Wt[hn][Pt].join(", ")]})}const Zn=Symbol("internal");function createHeadersIterator(Wt,Pt){const en=Object.create(An);en[Zn]={target:Wt,kind:Pt,index:0};return en}const An=Object.setPrototypeOf({next(){if(!this||Object.getPrototypeOf(this)!==An){throw new TypeError("Value of `this` is not a HeadersIterator")}var Wt=this[Zn];const Pt=Wt.target,en=Wt.kind,tn=Wt.index;const nn=getHeaders(Pt,en);const an=nn.length;if(tn>=an){return{value:undefined,done:true}}this[Zn].index=tn+1;return{value:nn[tn],done:false}}},Object.getPrototypeOf(Object.getPrototypeOf([][Symbol.iterator]())));Object.defineProperty(An,Symbol.toStringTag,{value:"HeadersIterator",writable:false,enumerable:false,configurable:true});function exportNodeCompatibleHeaders(Wt){const Pt=Object.assign({__proto__:null},Wt[hn]);const en=find(Wt[hn],"Host");if(en!==undefined){Pt[en]=Pt[en][0]}return Pt}function createHeadersLenient(Wt){const Pt=new Headers;for(const en of Object.keys(Wt)){if(bn.test(en)){continue}if(Array.isArray(Wt[en])){for(const tn of Wt[en]){if(Gn.test(tn)){continue}if(Pt[hn][en]===undefined){Pt[hn][en]=[tn]}else{Pt[hn][en].push(tn)}}}else if(!Gn.test(Wt[en])){Pt[hn][en]=[Wt[en]]}}return Pt}const Wn=Symbol("Response internals");const Nn=nn.STATUS_CODES;class Response{constructor(){let Wt=arguments.length>0&&arguments[0]!==undefined?arguments[0]:null;let Pt=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{};Body.call(this,Wt,Pt);const en=Pt.status||200;const tn=new Headers(Pt.headers);if(Wt!=null&&!tn.has("Content-Type")){const Pt=extractContentType(Wt);if(Pt){tn.append("Content-Type",Pt)}}this[Wn]={url:Pt.url,status:en,statusText:Pt.statusText||Nn[en],headers:tn,counter:Pt.counter}}get url(){return this[Wn].url||""}get status(){return this[Wn].status}get ok(){return this[Wn].status>=200&&this[Wn].status<300}get redirected(){return this[Wn].counter>0}get statusText(){return this[Wn].statusText}get headers(){return this[Wn].headers}clone(){return new Response(clone(this),{url:this.url,status:this.status,statusText:this.statusText,headers:this.headers,ok:this.ok,redirected:this.redirected})}}Body.mixIn(Response.prototype);Object.defineProperties(Response.prototype,{url:{enumerable:true},status:{enumerable:true},ok:{enumerable:true},redirected:{enumerable:true},statusText:{enumerable:true},headers:{enumerable:true},clone:{enumerable:true}});Object.defineProperty(Response.prototype,Symbol.toStringTag,{value:"Response",writable:false,enumerable:false,configurable:true});const gn=Symbol("Request internals");const yn=an.URL||In.URL;const vn=an.parse;const Yn=an.format;function parseURL(Wt){if(/^[a-zA-Z][a-zA-Z\d+\-.]*:/.exec(Wt)){Wt=new yn(Wt).toString()}return vn(Wt)}const En="destroy"in tn.Readable.prototype;function isRequest(Wt){return typeof Wt==="object"&&typeof Wt[gn]==="object"}function isAbortSignal(Wt){const Pt=Wt&&typeof Wt==="object"&&Object.getPrototypeOf(Wt);return!!(Pt&&Pt.constructor.name==="AbortSignal")}class Request{constructor(Wt){let Pt=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{};let en;if(!isRequest(Wt)){if(Wt&&Wt.href){en=parseURL(Wt.href)}else{en=parseURL(`${Wt}`)}Wt={}}else{en=parseURL(Wt.url)}let tn=Pt.method||Wt.method||"GET";tn=tn.toUpperCase();if((Pt.body!=null||isRequest(Wt)&&Wt.body!==null)&&(tn==="GET"||tn==="HEAD")){throw new TypeError("Request with GET/HEAD method cannot have body")}let nn=Pt.body!=null?Pt.body:isRequest(Wt)&&Wt.body!==null?clone(Wt):null;Body.call(this,nn,{timeout:Pt.timeout||Wt.timeout||0,size:Pt.size||Wt.size||0});const an=new Headers(Pt.headers||Wt.headers||{});if(nn!=null&&!an.has("Content-Type")){const Wt=extractContentType(nn);if(Wt){an.append("Content-Type",Wt)}}let In=isRequest(Wt)?Wt.signal:null;if("signal"in Pt)In=Pt.signal;if(In!=null&&!isAbortSignal(In)){throw new TypeError("Expected signal to be an instanceof AbortSignal")}this[gn]={method:tn,redirect:Pt.redirect||Wt.redirect||"follow",headers:an,parsedURL:en,signal:In};this.follow=Pt.follow!==undefined?Pt.follow:Wt.follow!==undefined?Wt.follow:20;this.compress=Pt.compress!==undefined?Pt.compress:Wt.compress!==undefined?Wt.compress:true;this.counter=Pt.counter||Wt.counter||0;this.agent=Pt.agent||Wt.agent}get method(){return this[gn].method}get url(){return Yn(this[gn].parsedURL)}get headers(){return this[gn].headers}get redirect(){return this[gn].redirect}get signal(){return this[gn].signal}clone(){return new Request(this)}}Body.mixIn(Request.prototype);Object.defineProperty(Request.prototype,Symbol.toStringTag,{value:"Request",writable:false,enumerable:false,configurable:true});Object.defineProperties(Request.prototype,{method:{enumerable:true},url:{enumerable:true},headers:{enumerable:true},redirect:{enumerable:true},clone:{enumerable:true},signal:{enumerable:true}});function getNodeRequestOptions(Wt){const Pt=Wt[gn].parsedURL;const en=new Headers(Wt[gn].headers);if(!en.has("Accept")){en.set("Accept","*/*")}if(!Pt.protocol||!Pt.hostname){throw new TypeError("Only absolute URLs are supported")}if(!/^https?:$/.test(Pt.protocol)){throw new TypeError("Only HTTP(S) protocols are supported")}if(Wt.signal&&Wt.body instanceof tn.Readable&&!En){throw new Error("Cancellation of streamed requests with AbortSignal is not supported in node < 8")}let nn=null;if(Wt.body==null&&/^(POST|PUT)$/i.test(Wt.method)){nn="0"}if(Wt.body!=null){const Pt=getTotalBytes(Wt);if(typeof Pt==="number"){nn=String(Pt)}}if(nn){en.set("Content-Length",nn)}if(!en.has("User-Agent")){en.set("User-Agent","node-fetch/1.0 (+https://github.com/bitinn/node-fetch)")}if(Wt.compress&&!en.has("Accept-Encoding")){en.set("Accept-Encoding","gzip,deflate")}let an=Wt.agent;if(typeof an==="function"){an=an(Pt)}if(!en.has("Connection")&&!an){en.set("Connection","close")}return Object.assign({},Pt,{method:Wt.method,headers:exportNodeCompatibleHeaders(en),agent:an})}function AbortError(Wt){Error.call(this,Wt);this.type="aborted";this.message=Wt;Error.captureStackTrace(this,this.constructor)}AbortError.prototype=Object.create(Error.prototype);AbortError.prototype.constructor=AbortError;AbortError.prototype.name="AbortError";const Vn=an.URL||In.URL;const Rn=tn.PassThrough;const wn=function isDomainOrSubdomain(Wt,Pt){const en=new Vn(Pt).hostname;const tn=new Vn(Wt).hostname;return en===tn||en[en.length-tn.length-1]==="."&&en.endsWith(tn)};const Fn=function isSameProtocol(Wt,Pt){const en=new Vn(Pt).protocol;const tn=new Vn(Wt).protocol;return en===tn};function fetch(Wt,Pt){if(!fetch.Promise){throw new Error("native promise missing, set fetch.Promise to your favorite alternative")}Body.Promise=fetch.Promise;return new fetch.Promise((function(en,an){const In=new Request(Wt,Pt);const on=getNodeRequestOptions(In);const cn=(on.protocol==="https:"?rn:nn).request;const dn=In.signal;let un=null;const pn=function abort(){let Wt=new AbortError("The user aborted a request.");an(Wt);if(In.body&&In.body instanceof tn.Readable){destroyStream(In.body,Wt)}if(!un||!un.body)return;un.body.emit("error",Wt)};if(dn&&dn.aborted){pn();return}const mn=function abortAndFinalize(){pn();finalize()};const bn=cn(on);let Gn;if(dn){dn.addEventListener("abort",mn)}function finalize(){bn.abort();if(dn)dn.removeEventListener("abort",mn);clearTimeout(Gn)}if(In.timeout){bn.once("socket",(function(Wt){Gn=setTimeout((function(){an(new FetchError(`network timeout at: ${In.url}`,"request-timeout"));finalize()}),In.timeout)}))}bn.on("error",(function(Wt){an(new FetchError(`request to ${In.url} failed, reason: ${Wt.message}`,"system",Wt));if(un&&un.body){destroyStream(un.body,Wt)}finalize()}));fixResponseChunkedTransferBadEnding(bn,(function(Wt){if(dn&&dn.aborted){return}if(un&&un.body){destroyStream(un.body,Wt)}}));if(parseInt(process.version.substring(1))<14){bn.on("socket",(function(Wt){Wt.addListener("close",(function(Pt){const en=Wt.listenerCount("data")>0;if(un&&en&&!Pt&&!(dn&&dn.aborted)){const Wt=new Error("Premature close");Wt.code="ERR_STREAM_PREMATURE_CLOSE";un.body.emit("error",Wt)}}))}))}bn.on("response",(function(Wt){clearTimeout(Gn);const Pt=createHeadersLenient(Wt.headers);if(fetch.isRedirect(Wt.statusCode)){const tn=Pt.get("Location");let nn=null;try{nn=tn===null?null:new Vn(tn,In.url).toString()}catch(Wt){if(In.redirect!=="manual"){an(new FetchError(`uri requested responds with an invalid redirect URL: ${tn}`,"invalid-redirect"));finalize();return}}switch(In.redirect){case"error":an(new FetchError(`uri requested responds with a redirect, redirect mode is set to error: ${In.url}`,"no-redirect"));finalize();return;case"manual":if(nn!==null){try{Pt.set("Location",nn)}catch(Wt){an(Wt)}}break;case"follow":if(nn===null){break}if(In.counter>=In.follow){an(new FetchError(`maximum redirect reached at: ${In.url}`,"max-redirect"));finalize();return}const tn={headers:new Headers(In.headers),follow:In.follow,counter:In.counter+1,agent:In.agent,compress:In.compress,method:In.method,body:In.body,signal:In.signal,timeout:In.timeout,size:In.size};if(!wn(In.url,nn)||!Fn(In.url,nn)){for(const Wt of["authorization","www-authenticate","cookie","cookie2"]){tn.headers.delete(Wt)}}if(Wt.statusCode!==303&&In.body&&getTotalBytes(In)===null){an(new FetchError("Cannot follow redirect with body being a readable stream","unsupported-redirect"));finalize();return}if(Wt.statusCode===303||(Wt.statusCode===301||Wt.statusCode===302)&&In.method==="POST"){tn.method="GET";tn.body=undefined;tn.headers.delete("content-length")}en(fetch(new Request(nn,tn)));finalize();return}}Wt.once("end",(function(){if(dn)dn.removeEventListener("abort",mn)}));let tn=Wt.pipe(new Rn);const nn={url:In.url,status:Wt.statusCode,statusText:Wt.statusMessage,headers:Pt,size:In.size,timeout:In.timeout,counter:In.counter};const rn=Pt.get("Content-Encoding");if(!In.compress||In.method==="HEAD"||rn===null||Wt.statusCode===204||Wt.statusCode===304){un=new Response(tn,nn);en(un);return}const on={flush:sn.Z_SYNC_FLUSH,finishFlush:sn.Z_SYNC_FLUSH};if(rn=="gzip"||rn=="x-gzip"){tn=tn.pipe(sn.createGunzip(on));un=new Response(tn,nn);en(un);return}if(rn=="deflate"||rn=="x-deflate"){const Pt=Wt.pipe(new Rn);Pt.once("data",(function(Wt){if((Wt[0]&15)===8){tn=tn.pipe(sn.createInflate())}else{tn=tn.pipe(sn.createInflateRaw())}un=new Response(tn,nn);en(un)}));Pt.on("end",(function(){if(!un){un=new Response(tn,nn);en(un)}}));return}if(rn=="br"&&typeof sn.createBrotliDecompress==="function"){tn=tn.pipe(sn.createBrotliDecompress());un=new Response(tn,nn);en(un);return}un=new Response(tn,nn);en(un)}));writeToStream(bn,In)}))}function fixResponseChunkedTransferBadEnding(Wt,Pt){let en;Wt.on("socket",(function(Wt){en=Wt}));Wt.on("response",(function(Wt){const tn=Wt.headers;if(tn["transfer-encoding"]==="chunked"&&!tn["content-length"]){Wt.once("close",(function(Wt){const tn=en&&en.listenerCount("data")>0;if(tn&&!Wt){const Wt=new Error("Premature close");Wt.code="ERR_STREAM_PREMATURE_CLOSE";Pt(Wt)}}))}}))}function destroyStream(Wt,Pt){if(Wt.destroy){Wt.destroy(Pt)}else{Wt.emit("error",Pt);Wt.end()}}fetch.isRedirect=function(Wt){return Wt===301||Wt===302||Wt===303||Wt===307||Wt===308};fetch.Promise=global.Promise;Wt.exports=Pt=fetch;Object.defineProperty(Pt,"__esModule",{value:true});Pt["default"]=Pt;Pt.Headers=Headers;Pt.Request=Request;Pt.Response=Response;Pt.FetchError=FetchError},94778:(Wt,Pt,en)=>{const tn=en(71787);Pt.implementation=class URLImpl{constructor(Wt){const Pt=Wt[0];const en=Wt[1];let nn=null;if(en!==undefined){nn=tn.basicURLParse(en);if(nn==="failure"){throw new TypeError("Invalid base URL")}}const an=tn.basicURLParse(Pt,{baseURL:nn});if(an==="failure"){throw new TypeError("Invalid URL")}this._url=an}get href(){return tn.serializeURL(this._url)}set href(Wt){const Pt=tn.basicURLParse(Wt);if(Pt==="failure"){throw new TypeError("Invalid URL")}this._url=Pt}get origin(){return tn.serializeURLOrigin(this._url)}get protocol(){return this._url.scheme+":"}set protocol(Wt){tn.basicURLParse(Wt+":",{url:this._url,stateOverride:"scheme start"})}get username(){return this._url.username}set username(Wt){if(tn.cannotHaveAUsernamePasswordPort(this._url)){return}tn.setTheUsername(this._url,Wt)}get password(){return this._url.password}set password(Wt){if(tn.cannotHaveAUsernamePasswordPort(this._url)){return}tn.setThePassword(this._url,Wt)}get host(){const Wt=this._url;if(Wt.host===null){return""}if(Wt.port===null){return tn.serializeHost(Wt.host)}return tn.serializeHost(Wt.host)+":"+tn.serializeInteger(Wt.port)}set host(Wt){if(this._url.cannotBeABaseURL){return}tn.basicURLParse(Wt,{url:this._url,stateOverride:"host"})}get hostname(){if(this._url.host===null){return""}return tn.serializeHost(this._url.host)}set hostname(Wt){if(this._url.cannotBeABaseURL){return}tn.basicURLParse(Wt,{url:this._url,stateOverride:"hostname"})}get port(){if(this._url.port===null){return""}return tn.serializeInteger(this._url.port)}set port(Wt){if(tn.cannotHaveAUsernamePasswordPort(this._url)){return}if(Wt===""){this._url.port=null}else{tn.basicURLParse(Wt,{url:this._url,stateOverride:"port"})}}get pathname(){if(this._url.cannotBeABaseURL){return this._url.path[0]}if(this._url.path.length===0){return""}return"/"+this._url.path.join("/")}set pathname(Wt){if(this._url.cannotBeABaseURL){return}this._url.path=[];tn.basicURLParse(Wt,{url:this._url,stateOverride:"path start"})}get search(){if(this._url.query===null||this._url.query===""){return""}return"?"+this._url.query}set search(Wt){const Pt=this._url;if(Wt===""){Pt.query=null;return}const en=Wt[0]==="?"?Wt.substring(1):Wt;Pt.query="";tn.basicURLParse(en,{url:Pt,stateOverride:"query"})}get hash(){if(this._url.fragment===null||this._url.fragment===""){return""}return"#"+this._url.fragment}set hash(Wt){if(Wt===""){this._url.fragment=null;return}const Pt=Wt[0]==="#"?Wt.substring(1):Wt;this._url.fragment="";tn.basicURLParse(Pt,{url:this._url,stateOverride:"fragment"})}toJSON(){return this.href}}},64375:(Wt,Pt,en)=>{const tn=en(99375);const nn=en(75199);const an=en(94778);const In=nn.implSymbol;function URL(Pt){if(!this||this[In]||!(this instanceof URL)){throw new TypeError("Failed to construct 'URL': Please use the 'new' operator, this DOM object constructor cannot be called as a function.")}if(arguments.length<1){throw new TypeError("Failed to construct 'URL': 1 argument required, but only "+arguments.length+" present.")}const en=[];for(let Wt=0;Wt{Pt.URL=en(64375)["interface"];Pt.serializeURL=en(71787).serializeURL;Pt.serializeURLOrigin=en(71787).serializeURLOrigin;Pt.basicURLParse=en(71787).basicURLParse;Pt.setTheUsername=en(71787).setTheUsername;Pt.setThePassword=en(71787).setThePassword;Pt.serializeHost=en(71787).serializeHost;Pt.serializeInteger=en(71787).serializeInteger;Pt.parseURL=en(71787).parseURL},71787:(Wt,Pt,en)=>{const tn=en(24876);const nn=en(68366);const an={ftp:21,file:null,gopher:70,http:80,https:443,ws:80,wss:443};const In=Symbol("failure");function countSymbols(Wt){return tn.ucs2.decode(Wt).length}function at(Wt,Pt){const en=Wt[Pt];return isNaN(en)?undefined:String.fromCodePoint(en)}function isASCIIDigit(Wt){return Wt>=48&&Wt<=57}function isASCIIAlpha(Wt){return Wt>=65&&Wt<=90||Wt>=97&&Wt<=122}function isASCIIAlphanumeric(Wt){return isASCIIAlpha(Wt)||isASCIIDigit(Wt)}function isASCIIHex(Wt){return isASCIIDigit(Wt)||Wt>=65&&Wt<=70||Wt>=97&&Wt<=102}function isSingleDot(Wt){return Wt==="."||Wt.toLowerCase()==="%2e"}function isDoubleDot(Wt){Wt=Wt.toLowerCase();return Wt===".."||Wt==="%2e."||Wt===".%2e"||Wt==="%2e%2e"}function isWindowsDriveLetterCodePoints(Wt,Pt){return isASCIIAlpha(Wt)&&(Pt===58||Pt===124)}function isWindowsDriveLetterString(Wt){return Wt.length===2&&isASCIIAlpha(Wt.codePointAt(0))&&(Wt[1]===":"||Wt[1]==="|")}function isNormalizedWindowsDriveLetterString(Wt){return Wt.length===2&&isASCIIAlpha(Wt.codePointAt(0))&&Wt[1]===":"}function containsForbiddenHostCodePoint(Wt){return Wt.search(/\u0000|\u0009|\u000A|\u000D|\u0020|#|%|\/|:|\?|@|\[|\\|\]/)!==-1}function containsForbiddenHostCodePointExcludingPercent(Wt){return Wt.search(/\u0000|\u0009|\u000A|\u000D|\u0020|#|\/|:|\?|@|\[|\\|\]/)!==-1}function isSpecialScheme(Wt){return an[Wt]!==undefined}function isSpecial(Wt){return isSpecialScheme(Wt.scheme)}function defaultPort(Wt){return an[Wt]}function percentEncode(Wt){let Pt=Wt.toString(16).toUpperCase();if(Pt.length===1){Pt="0"+Pt}return"%"+Pt}function utf8PercentEncode(Wt){const Pt=new Buffer(Wt);let en="";for(let Wt=0;Wt126}const rn=new Set([32,34,35,60,62,63,96,123,125]);function isPathPercentEncode(Wt){return isC0ControlPercentEncode(Wt)||rn.has(Wt)}const sn=new Set([47,58,59,61,64,91,92,93,94,124]);function isUserinfoPercentEncode(Wt){return isPathPercentEncode(Wt)||sn.has(Wt)}function percentEncodeChar(Wt,Pt){const en=String.fromCodePoint(Wt);if(Pt(Wt)){return utf8PercentEncode(en)}return en}function parseIPv4Number(Wt){let Pt=10;if(Wt.length>=2&&Wt.charAt(0)==="0"&&Wt.charAt(1).toLowerCase()==="x"){Wt=Wt.substring(2);Pt=16}else if(Wt.length>=2&&Wt.charAt(0)==="0"){Wt=Wt.substring(1);Pt=8}if(Wt===""){return 0}const en=Pt===10?/[^0-9]/:Pt===16?/[^0-9A-Fa-f]/:/[^0-7]/;if(en.test(Wt)){return In}return parseInt(Wt,Pt)}function parseIPv4(Wt){const Pt=Wt.split(".");if(Pt[Pt.length-1]===""){if(Pt.length>1){Pt.pop()}}if(Pt.length>4){return Wt}const en=[];for(const tn of Pt){if(tn===""){return Wt}const Pt=parseIPv4Number(tn);if(Pt===In){return Wt}en.push(Pt)}for(let Wt=0;Wt255){return In}}if(en[en.length-1]>=Math.pow(256,5-en.length)){return In}let tn=en.pop();let nn=0;for(const Wt of en){tn+=Wt*Math.pow(256,3-nn);++nn}return tn}function serializeIPv4(Wt){let Pt="";let en=Wt;for(let Wt=1;Wt<=4;++Wt){Pt=String(en%256)+Pt;if(Wt!==4){Pt="."+Pt}en=Math.floor(en/256)}return Pt}function parseIPv6(Wt){const Pt=[0,0,0,0,0,0,0,0];let en=0;let nn=null;let an=0;Wt=tn.ucs2.decode(Wt);if(Wt[an]===58){if(Wt[an+1]!==58){return In}an+=2;++en;nn=en}while(an6){return In}let tn=0;while(Wt[an]!==undefined){let nn=null;if(tn>0){if(Wt[an]===46&&tn<4){++an}else{return In}}if(!isASCIIDigit(Wt[an])){return In}while(isASCIIDigit(Wt[an])){const Pt=parseInt(at(Wt,an));if(nn===null){nn=Pt}else if(nn===0){return In}else{nn=nn*10+Pt}if(nn>255){return In}++an}Pt[en]=Pt[en]*256+nn;++tn;if(tn===2||tn===4){++en}}if(tn!==4){return In}break}else if(Wt[an]===58){++an;if(Wt[an]===undefined){return In}}else if(Wt[an]!==undefined){return In}Pt[en]=tn;++en}if(nn!==null){let Wt=en-nn;en=7;while(en!==0&&Wt>0){const tn=Pt[nn+Wt-1];Pt[nn+Wt-1]=Pt[en];Pt[en]=tn;--en;--Wt}}else if(nn===null&&en!==8){return In}return Pt}function serializeIPv6(Wt){let Pt="";const en=findLongestZeroSequence(Wt);const tn=en.idx;let nn=false;for(let en=0;en<=7;++en){if(nn&&Wt[en]===0){continue}else if(nn){nn=false}if(tn===en){const Wt=en===0?"::":":";Pt+=Wt;nn=true;continue}Pt+=Wt[en].toString(16);if(en!==7){Pt+=":"}}return Pt}function parseHost(Wt,Pt){if(Wt[0]==="["){if(Wt[Wt.length-1]!=="]"){return In}return parseIPv6(Wt.substring(1,Wt.length-1))}if(!Pt){return parseOpaqueHost(Wt)}const en=utf8PercentDecode(Wt);const tn=nn.toASCII(en,false,nn.PROCESSING_OPTIONS.NONTRANSITIONAL,false);if(tn===null){return In}if(containsForbiddenHostCodePoint(tn)){return In}const an=parseIPv4(tn);if(typeof an==="number"||an===In){return an}return tn}function parseOpaqueHost(Wt){if(containsForbiddenHostCodePointExcludingPercent(Wt)){return In}let Pt="";const en=tn.ucs2.decode(Wt);for(let Wt=0;Wten){Pt=tn;en=nn}tn=null;nn=0}else{if(tn===null){tn=an}++nn}}if(nn>en){Pt=tn;en=nn}return{idx:Pt,len:en}}function serializeHost(Wt){if(typeof Wt==="number"){return serializeIPv4(Wt)}if(Wt instanceof Array){return"["+serializeIPv6(Wt)+"]"}return Wt}function trimControlChars(Wt){return Wt.replace(/^[\u0000-\u001F\u0020]+|[\u0000-\u001F\u0020]+$/g,"")}function trimTabAndNewline(Wt){return Wt.replace(/\u0009|\u000A|\u000D/g,"")}function shortenPath(Wt){const Pt=Wt.path;if(Pt.length===0){return}if(Wt.scheme==="file"&&Pt.length===1&&isNormalizedWindowsDriveLetter(Pt[0])){return}Pt.pop()}function includesCredentials(Wt){return Wt.username!==""||Wt.password!==""}function cannotHaveAUsernamePasswordPort(Wt){return Wt.host===null||Wt.host===""||Wt.cannotBeABaseURL||Wt.scheme==="file"}function isNormalizedWindowsDriveLetter(Wt){return/^[A-Za-z]:$/.test(Wt)}function URLStateMachine(Wt,Pt,en,nn,an){this.pointer=0;this.input=Wt;this.base=Pt||null;this.encodingOverride=en||"utf-8";this.stateOverride=an;this.url=nn;this.failure=false;this.parseError=false;if(!this.url){this.url={scheme:"",username:"",password:"",host:null,port:null,path:[],query:null,fragment:null,cannotBeABaseURL:false};const Wt=trimControlChars(this.input);if(Wt!==this.input){this.parseError=true}this.input=Wt}const rn=trimTabAndNewline(this.input);if(rn!==this.input){this.parseError=true}this.input=rn;this.state=an||"scheme start";this.buffer="";this.atFlag=false;this.arrFlag=false;this.passwordTokenSeenFlag=false;this.input=tn.ucs2.decode(this.input);for(;this.pointer<=this.input.length;++this.pointer){const Wt=this.input[this.pointer];const Pt=isNaN(Wt)?undefined:String.fromCodePoint(Wt);const en=this["parse "+this.state](Wt,Pt);if(!en){break}else if(en===In){this.failure=true;break}}}URLStateMachine.prototype["parse scheme start"]=function parseSchemeStart(Wt,Pt){if(isASCIIAlpha(Wt)){this.buffer+=Pt.toLowerCase();this.state="scheme"}else if(!this.stateOverride){this.state="no scheme";--this.pointer}else{this.parseError=true;return In}return true};URLStateMachine.prototype["parse scheme"]=function parseScheme(Wt,Pt){if(isASCIIAlphanumeric(Wt)||Wt===43||Wt===45||Wt===46){this.buffer+=Pt.toLowerCase()}else if(Wt===58){if(this.stateOverride){if(isSpecial(this.url)&&!isSpecialScheme(this.buffer)){return false}if(!isSpecial(this.url)&&isSpecialScheme(this.buffer)){return false}if((includesCredentials(this.url)||this.url.port!==null)&&this.buffer==="file"){return false}if(this.url.scheme==="file"&&(this.url.host===""||this.url.host===null)){return false}}this.url.scheme=this.buffer;this.buffer="";if(this.stateOverride){return false}if(this.url.scheme==="file"){if(this.input[this.pointer+1]!==47||this.input[this.pointer+2]!==47){this.parseError=true}this.state="file"}else if(isSpecial(this.url)&&this.base!==null&&this.base.scheme===this.url.scheme){this.state="special relative or authority"}else if(isSpecial(this.url)){this.state="special authority slashes"}else if(this.input[this.pointer+1]===47){this.state="path or authority";++this.pointer}else{this.url.cannotBeABaseURL=true;this.url.path.push("");this.state="cannot-be-a-base-URL path"}}else if(!this.stateOverride){this.buffer="";this.state="no scheme";this.pointer=-1}else{this.parseError=true;return In}return true};URLStateMachine.prototype["parse no scheme"]=function parseNoScheme(Wt){if(this.base===null||this.base.cannotBeABaseURL&&Wt!==35){return In}else if(this.base.cannotBeABaseURL&&Wt===35){this.url.scheme=this.base.scheme;this.url.path=this.base.path.slice();this.url.query=this.base.query;this.url.fragment="";this.url.cannotBeABaseURL=true;this.state="fragment"}else if(this.base.scheme==="file"){this.state="file";--this.pointer}else{this.state="relative";--this.pointer}return true};URLStateMachine.prototype["parse special relative or authority"]=function parseSpecialRelativeOrAuthority(Wt){if(Wt===47&&this.input[this.pointer+1]===47){this.state="special authority ignore slashes";++this.pointer}else{this.parseError=true;this.state="relative";--this.pointer}return true};URLStateMachine.prototype["parse path or authority"]=function parsePathOrAuthority(Wt){if(Wt===47){this.state="authority"}else{this.state="path";--this.pointer}return true};URLStateMachine.prototype["parse relative"]=function parseRelative(Wt){this.url.scheme=this.base.scheme;if(isNaN(Wt)){this.url.username=this.base.username;this.url.password=this.base.password;this.url.host=this.base.host;this.url.port=this.base.port;this.url.path=this.base.path.slice();this.url.query=this.base.query}else if(Wt===47){this.state="relative slash"}else if(Wt===63){this.url.username=this.base.username;this.url.password=this.base.password;this.url.host=this.base.host;this.url.port=this.base.port;this.url.path=this.base.path.slice();this.url.query="";this.state="query"}else if(Wt===35){this.url.username=this.base.username;this.url.password=this.base.password;this.url.host=this.base.host;this.url.port=this.base.port;this.url.path=this.base.path.slice();this.url.query=this.base.query;this.url.fragment="";this.state="fragment"}else if(isSpecial(this.url)&&Wt===92){this.parseError=true;this.state="relative slash"}else{this.url.username=this.base.username;this.url.password=this.base.password;this.url.host=this.base.host;this.url.port=this.base.port;this.url.path=this.base.path.slice(0,this.base.path.length-1);this.state="path";--this.pointer}return true};URLStateMachine.prototype["parse relative slash"]=function parseRelativeSlash(Wt){if(isSpecial(this.url)&&(Wt===47||Wt===92)){if(Wt===92){this.parseError=true}this.state="special authority ignore slashes"}else if(Wt===47){this.state="authority"}else{this.url.username=this.base.username;this.url.password=this.base.password;this.url.host=this.base.host;this.url.port=this.base.port;this.state="path";--this.pointer}return true};URLStateMachine.prototype["parse special authority slashes"]=function parseSpecialAuthoritySlashes(Wt){if(Wt===47&&this.input[this.pointer+1]===47){this.state="special authority ignore slashes";++this.pointer}else{this.parseError=true;this.state="special authority ignore slashes";--this.pointer}return true};URLStateMachine.prototype["parse special authority ignore slashes"]=function parseSpecialAuthorityIgnoreSlashes(Wt){if(Wt!==47&&Wt!==92){this.state="authority";--this.pointer}else{this.parseError=true}return true};URLStateMachine.prototype["parse authority"]=function parseAuthority(Wt,Pt){if(Wt===64){this.parseError=true;if(this.atFlag){this.buffer="%40"+this.buffer}this.atFlag=true;const Wt=countSymbols(this.buffer);for(let Pt=0;PtMath.pow(2,16)-1){this.parseError=true;return In}this.url.port=Wt===defaultPort(this.url.scheme)?null:Wt;this.buffer=""}if(this.stateOverride){return false}this.state="path start";--this.pointer}else{this.parseError=true;return In}return true};const on=new Set([47,92,63,35]);URLStateMachine.prototype["parse file"]=function parseFile(Wt){this.url.scheme="file";if(Wt===47||Wt===92){if(Wt===92){this.parseError=true}this.state="file slash"}else if(this.base!==null&&this.base.scheme==="file"){if(isNaN(Wt)){this.url.host=this.base.host;this.url.path=this.base.path.slice();this.url.query=this.base.query}else if(Wt===63){this.url.host=this.base.host;this.url.path=this.base.path.slice();this.url.query="";this.state="query"}else if(Wt===35){this.url.host=this.base.host;this.url.path=this.base.path.slice();this.url.query=this.base.query;this.url.fragment="";this.state="fragment"}else{if(this.input.length-this.pointer-1===0||!isWindowsDriveLetterCodePoints(Wt,this.input[this.pointer+1])||this.input.length-this.pointer-1>=2&&!on.has(this.input[this.pointer+2])){this.url.host=this.base.host;this.url.path=this.base.path.slice();shortenPath(this.url)}else{this.parseError=true}this.state="path";--this.pointer}}else{this.state="path";--this.pointer}return true};URLStateMachine.prototype["parse file slash"]=function parseFileSlash(Wt){if(Wt===47||Wt===92){if(Wt===92){this.parseError=true}this.state="file host"}else{if(this.base!==null&&this.base.scheme==="file"){if(isNormalizedWindowsDriveLetterString(this.base.path[0])){this.url.path.push(this.base.path[0])}else{this.url.host=this.base.host}}this.state="path";--this.pointer}return true};URLStateMachine.prototype["parse file host"]=function parseFileHost(Wt,Pt){if(isNaN(Wt)||Wt===47||Wt===92||Wt===63||Wt===35){--this.pointer;if(!this.stateOverride&&isWindowsDriveLetterString(this.buffer)){this.parseError=true;this.state="path"}else if(this.buffer===""){this.url.host="";if(this.stateOverride){return false}this.state="path start"}else{let Wt=parseHost(this.buffer,isSpecial(this.url));if(Wt===In){return In}if(Wt==="localhost"){Wt=""}this.url.host=Wt;if(this.stateOverride){return false}this.buffer="";this.state="path start"}}else{this.buffer+=Pt}return true};URLStateMachine.prototype["parse path start"]=function parsePathStart(Wt){if(isSpecial(this.url)){if(Wt===92){this.parseError=true}this.state="path";if(Wt!==47&&Wt!==92){--this.pointer}}else if(!this.stateOverride&&Wt===63){this.url.query="";this.state="query"}else if(!this.stateOverride&&Wt===35){this.url.fragment="";this.state="fragment"}else if(Wt!==undefined){this.state="path";if(Wt!==47){--this.pointer}}return true};URLStateMachine.prototype["parse path"]=function parsePath(Wt){if(isNaN(Wt)||Wt===47||isSpecial(this.url)&&Wt===92||!this.stateOverride&&(Wt===63||Wt===35)){if(isSpecial(this.url)&&Wt===92){this.parseError=true}if(isDoubleDot(this.buffer)){shortenPath(this.url);if(Wt!==47&&!(isSpecial(this.url)&&Wt===92)){this.url.path.push("")}}else if(isSingleDot(this.buffer)&&Wt!==47&&!(isSpecial(this.url)&&Wt===92)){this.url.path.push("")}else if(!isSingleDot(this.buffer)){if(this.url.scheme==="file"&&this.url.path.length===0&&isWindowsDriveLetterString(this.buffer)){if(this.url.host!==""&&this.url.host!==null){this.parseError=true;this.url.host=""}this.buffer=this.buffer[0]+":"}this.url.path.push(this.buffer)}this.buffer="";if(this.url.scheme==="file"&&(Wt===undefined||Wt===63||Wt===35)){while(this.url.path.length>1&&this.url.path[0]===""){this.parseError=true;this.url.path.shift()}}if(Wt===63){this.url.query="";this.state="query"}if(Wt===35){this.url.fragment="";this.state="fragment"}}else{if(Wt===37&&(!isASCIIHex(this.input[this.pointer+1])||!isASCIIHex(this.input[this.pointer+2]))){this.parseError=true}this.buffer+=percentEncodeChar(Wt,isPathPercentEncode)}return true};URLStateMachine.prototype["parse cannot-be-a-base-URL path"]=function parseCannotBeABaseURLPath(Wt){if(Wt===63){this.url.query="";this.state="query"}else if(Wt===35){this.url.fragment="";this.state="fragment"}else{if(!isNaN(Wt)&&Wt!==37){this.parseError=true}if(Wt===37&&(!isASCIIHex(this.input[this.pointer+1])||!isASCIIHex(this.input[this.pointer+2]))){this.parseError=true}if(!isNaN(Wt)){this.url.path[0]=this.url.path[0]+percentEncodeChar(Wt,isC0ControlPercentEncode)}}return true};URLStateMachine.prototype["parse query"]=function parseQuery(Wt,Pt){if(isNaN(Wt)||!this.stateOverride&&Wt===35){if(!isSpecial(this.url)||this.url.scheme==="ws"||this.url.scheme==="wss"){this.encodingOverride="utf-8"}const Pt=new Buffer(this.buffer);for(let Wt=0;Wt126||Pt[Wt]===34||Pt[Wt]===35||Pt[Wt]===60||Pt[Wt]===62){this.url.query+=percentEncode(Pt[Wt])}else{this.url.query+=String.fromCodePoint(Pt[Wt])}}this.buffer="";if(Wt===35){this.url.fragment="";this.state="fragment"}}else{if(Wt===37&&(!isASCIIHex(this.input[this.pointer+1])||!isASCIIHex(this.input[this.pointer+2]))){this.parseError=true}this.buffer+=Pt}return true};URLStateMachine.prototype["parse fragment"]=function parseFragment(Wt){if(isNaN(Wt)){}else if(Wt===0){this.parseError=true}else{if(Wt===37&&(!isASCIIHex(this.input[this.pointer+1])||!isASCIIHex(this.input[this.pointer+2]))){this.parseError=true}this.url.fragment+=percentEncodeChar(Wt,isC0ControlPercentEncode)}return true};function serializeURL(Wt,Pt){let en=Wt.scheme+":";if(Wt.host!==null){en+="//";if(Wt.username!==""||Wt.password!==""){en+=Wt.username;if(Wt.password!==""){en+=":"+Wt.password}en+="@"}en+=serializeHost(Wt.host);if(Wt.port!==null){en+=":"+Wt.port}}else if(Wt.host===null&&Wt.scheme==="file"){en+="//"}if(Wt.cannotBeABaseURL){en+=Wt.path[0]}else{for(const Pt of Wt.path){en+="/"+Pt}}if(Wt.query!==null){en+="?"+Wt.query}if(!Pt&&Wt.fragment!==null){en+="#"+Wt.fragment}return en}function serializeOrigin(Wt){let Pt=Wt.scheme+"://";Pt+=serializeHost(Wt.host);if(Wt.port!==null){Pt+=":"+Wt.port}return Pt}Wt.exports.serializeURL=serializeURL;Wt.exports.serializeURLOrigin=function(Pt){switch(Pt.scheme){case"blob":try{return Wt.exports.serializeURLOrigin(Wt.exports.parseURL(Pt.path[0]))}catch(Wt){return"null"}case"ftp":case"gopher":case"http":case"https":case"ws":case"wss":return serializeOrigin({scheme:Pt.scheme,host:Pt.host,port:Pt.port});case"file":return"file://";default:return"null"}};Wt.exports.basicURLParse=function(Wt,Pt){if(Pt===undefined){Pt={}}const en=new URLStateMachine(Wt,Pt.baseURL,Pt.encodingOverride,Pt.url,Pt.stateOverride);if(en.failure){return"failure"}return en.url};Wt.exports.setTheUsername=function(Wt,Pt){Wt.username="";const en=tn.ucs2.decode(Pt);for(let Pt=0;Pt{Wt.exports.mixin=function mixin(Wt,Pt){const en=Object.getOwnPropertyNames(Pt);for(let tn=0;tn{var tn=en(24876);var nn=en(60338);var an={TRANSITIONAL:0,NONTRANSITIONAL:1};function normalize(Wt){return Wt.split("\0").map((function(Wt){return Wt.normalize("NFC")})).join("\0")}function findStatus(Wt){var Pt=0;var en=nn.length-1;while(Pt<=en){var tn=Math.floor((Pt+en)/2);var an=nn[tn];if(an[0][0]<=Wt&&an[0][1]>=Wt){return an}else if(an[0][0]>Wt){en=tn-1}else{Pt=tn+1}}return null}var In=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g;function countSymbols(Wt){return Wt.replace(In,"_").length}function mapChars(Wt,Pt,en){var tn=false;var nn="";var In=countSymbols(Wt);for(var rn=0;rn253||rn.length===0){an.error=true}for(var sn=0;sn63||In.length===0){an.error=true;break}}}if(an.error)return null;return In.join(".")};Wt.exports.toUnicode=function(Wt,Pt){var en=processing(Wt,Pt,an.NONTRANSITIONAL);return{domain:en.string,error:en.error}};Wt.exports.PROCESSING_OPTIONS=an},99375:Wt=>{var Pt={};Wt.exports=Pt;function sign(Wt){return Wt<0?-1:1}function evenRound(Wt){if(Wt%1===.5&&(Wt&1)===0){return Math.floor(Wt)}else{return Math.round(Wt)}}function createNumberConversion(Wt,Pt){if(!Pt.unsigned){--Wt}const en=Pt.unsigned?0:-Math.pow(2,Wt);const tn=Math.pow(2,Wt)-1;const nn=Pt.moduloBitLength?Math.pow(2,Pt.moduloBitLength):Math.pow(2,Wt);const an=Pt.moduloBitLength?Math.pow(2,Pt.moduloBitLength-1):Math.pow(2,Wt-1);return function(Wt,In){if(!In)In={};let rn=+Wt;if(In.enforceRange){if(!Number.isFinite(rn)){throw new TypeError("Argument is not a finite number")}rn=sign(rn)*Math.floor(Math.abs(rn));if(rntn){throw new TypeError("Argument is not in byte range")}return rn}if(!isNaN(rn)&&In.clamp){rn=evenRound(rn);if(rntn)rn=tn;return rn}if(!Number.isFinite(rn)||rn===0){return 0}rn=sign(rn)*Math.floor(Math.abs(rn));rn=rn%nn;if(!Pt.unsigned&&rn>=an){return rn-nn}else if(Pt.unsigned){if(rn<0){rn+=nn}else if(rn===-0){return 0}}return rn}}Pt["void"]=function(){return undefined};Pt["boolean"]=function(Wt){return!!Wt};Pt["byte"]=createNumberConversion(8,{unsigned:false});Pt["octet"]=createNumberConversion(8,{unsigned:true});Pt["short"]=createNumberConversion(16,{unsigned:false});Pt["unsigned short"]=createNumberConversion(16,{unsigned:true});Pt["long"]=createNumberConversion(32,{unsigned:false});Pt["unsigned long"]=createNumberConversion(32,{unsigned:true});Pt["long long"]=createNumberConversion(32,{unsigned:false,moduloBitLength:64});Pt["unsigned long long"]=createNumberConversion(32,{unsigned:true,moduloBitLength:64});Pt["double"]=function(Wt){const Pt=+Wt;if(!Number.isFinite(Pt)){throw new TypeError("Argument is not a finite floating-point value")}return Pt};Pt["unrestricted double"]=function(Wt){const Pt=+Wt;if(isNaN(Pt)){throw new TypeError("Argument is NaN")}return Pt};Pt["float"]=Pt["double"];Pt["unrestricted float"]=Pt["unrestricted double"];Pt["DOMString"]=function(Wt,Pt){if(!Pt)Pt={};if(Pt.treatNullAsEmptyString&&Wt===null){return""}return String(Wt)};Pt["ByteString"]=function(Wt,Pt){const en=String(Wt);let tn=undefined;for(let Wt=0;(tn=en.codePointAt(Wt))!==undefined;++Wt){if(tn>255){throw new TypeError("Argument is not a valid bytestring")}}return en};Pt["USVString"]=function(Wt){const Pt=String(Wt);const en=Pt.length;const tn=[];for(let Wt=0;Wt57343){tn.push(String.fromCodePoint(nn))}else if(56320<=nn&&nn<=57343){tn.push(String.fromCodePoint(65533))}else{if(Wt===en-1){tn.push(String.fromCodePoint(65533))}else{const en=Pt.charCodeAt(Wt+1);if(56320<=en&&en<=57343){const Pt=nn&1023;const an=en&1023;tn.push(String.fromCodePoint((2<<15)+(2<<9)*Pt+an));++Wt}else{tn.push(String.fromCodePoint(65533))}}}}return tn.join("")};Pt["Date"]=function(Wt,Pt){if(!(Wt instanceof Date)){throw new TypeError("Argument is not a Date object")}if(isNaN(Wt)){return undefined}return Wt};Pt["RegExp"]=function(Wt,Pt){if(!(Wt instanceof RegExp)){Wt=new RegExp(Wt)}return Wt}},41455:function(Wt,Pt,en){var tn=this&&this.__importDefault||function(Wt){return Wt&&Wt.__esModule?Wt:{default:Wt}};Object.defineProperty(Pt,"__esModule",{value:true});const nn=tn(en(83318));const an=tn(en(58154));class PostgrestBuilder{constructor(Wt){this.shouldThrowOnError=false;this.method=Wt.method;this.url=Wt.url;this.headers=Wt.headers;this.schema=Wt.schema;this.body=Wt.body;this.shouldThrowOnError=Wt.shouldThrowOnError;this.signal=Wt.signal;this.isMaybeSingle=Wt.isMaybeSingle;if(Wt.fetch){this.fetch=Wt.fetch}else if(typeof fetch==="undefined"){this.fetch=nn.default}else{this.fetch=fetch}}throwOnError(){this.shouldThrowOnError=true;return this}then(Wt,Pt){if(this.schema===undefined){}else if(["GET","HEAD"].includes(this.method)){this.headers["Accept-Profile"]=this.schema}else{this.headers["Content-Profile"]=this.schema}if(this.method!=="GET"&&this.method!=="HEAD"){this.headers["Content-Type"]="application/json"}const en=this.fetch;let tn=en(this.url.toString(),{method:this.method,headers:this.headers,body:JSON.stringify(this.body),signal:this.signal}).then((async Wt=>{var Pt,en,tn;let nn=null;let In=null;let rn=null;let sn=Wt.status;let on=Wt.statusText;if(Wt.ok){if(this.method!=="HEAD"){const Pt=await Wt.text();if(Pt===""){}else if(this.headers["Accept"]==="text/csv"){In=Pt}else if(this.headers["Accept"]&&this.headers["Accept"].includes("application/vnd.pgrst.plan+text")){In=Pt}else{In=JSON.parse(Pt)}}const tn=(Pt=this.headers["Prefer"])===null||Pt===void 0?void 0:Pt.match(/count=(exact|planned|estimated)/);const an=(en=Wt.headers.get("content-range"))===null||en===void 0?void 0:en.split("/");if(tn&&an&&an.length>1){rn=parseInt(an[1])}if(this.isMaybeSingle&&this.method==="GET"&&Array.isArray(In)){if(In.length>1){nn={code:"PGRST116",details:`Results contain ${In.length} rows, application/vnd.pgrst.object+json requires 1 row`,hint:null,message:"JSON object requested, multiple (or no) rows returned"};In=null;rn=null;sn=406;on="Not Acceptable"}else if(In.length===1){In=In[0]}else{In=null}}}else{const Pt=await Wt.text();try{nn=JSON.parse(Pt);if(Array.isArray(nn)&&Wt.status===404){In=[];nn=null;sn=200;on="OK"}}catch(en){if(Wt.status===404&&Pt===""){sn=204;on="No Content"}else{nn={message:Pt}}}if(nn&&this.isMaybeSingle&&((tn=nn===null||nn===void 0?void 0:nn.details)===null||tn===void 0?void 0:tn.includes("0 rows"))){nn=null;sn=200;on="OK"}if(nn&&this.shouldThrowOnError){throw new an.default(nn)}}const cn={error:nn,data:In,count:rn,status:sn,statusText:on};return cn}));if(!this.shouldThrowOnError){tn=tn.catch((Wt=>{var Pt,en,tn;return{error:{message:`${(Pt=Wt===null||Wt===void 0?void 0:Wt.name)!==null&&Pt!==void 0?Pt:"FetchError"}: ${Wt===null||Wt===void 0?void 0:Wt.message}`,details:`${(en=Wt===null||Wt===void 0?void 0:Wt.stack)!==null&&en!==void 0?en:""}`,hint:"",code:`${(tn=Wt===null||Wt===void 0?void 0:Wt.code)!==null&&tn!==void 0?tn:""}`},data:null,count:null,status:0,statusText:""}}))}return tn.then(Wt,Pt)}}Pt["default"]=PostgrestBuilder},16193:function(Wt,Pt,en){var tn=this&&this.__importDefault||function(Wt){return Wt&&Wt.__esModule?Wt:{default:Wt}};Object.defineProperty(Pt,"__esModule",{value:true});const nn=tn(en(14253));const an=tn(en(6377));const In=en(88258);class PostgrestClient{constructor(Wt,{headers:Pt={},schema:en,fetch:tn}={}){this.url=Wt;this.headers=Object.assign(Object.assign({},In.DEFAULT_HEADERS),Pt);this.schemaName=en;this.fetch=tn}from(Wt){const Pt=new URL(`${this.url}/${Wt}`);return new nn.default(Pt,{headers:Object.assign({},this.headers),schema:this.schemaName,fetch:this.fetch})}schema(Wt){return new PostgrestClient(this.url,{headers:this.headers,schema:Wt,fetch:this.fetch})}rpc(Wt,Pt={},{head:en=false,get:tn=false,count:nn}={}){let In;const rn=new URL(`${this.url}/rpc/${Wt}`);let sn;if(en){In="HEAD";Object.entries(Pt).forEach((([Wt,Pt])=>{rn.searchParams.append(Wt,`${Pt}`)}))}else if(tn){In="GET";Object.entries(Pt).forEach((([Wt,Pt])=>{rn.searchParams.append(Wt,`${Pt}`)}))}else{In="POST";sn=Pt}const on=Object.assign({},this.headers);if(nn){on["Prefer"]=`count=${nn}`}return new an.default({method:In,url:rn,headers:on,schema:this.schemaName,body:sn,fetch:this.fetch,allowEmpty:false})}}Pt["default"]=PostgrestClient},58154:(Wt,Pt)=>{Object.defineProperty(Pt,"__esModule",{value:true});class PostgrestError extends Error{constructor(Wt){super(Wt.message);this.name="PostgrestError";this.details=Wt.details;this.hint=Wt.hint;this.code=Wt.code}}Pt["default"]=PostgrestError},6377:function(Wt,Pt,en){var tn=this&&this.__importDefault||function(Wt){return Wt&&Wt.__esModule?Wt:{default:Wt}};Object.defineProperty(Pt,"__esModule",{value:true});const nn=tn(en(77725));class PostgrestFilterBuilder extends nn.default{eq(Wt,Pt){this.url.searchParams.append(Wt,`eq.${Pt}`);return this}neq(Wt,Pt){this.url.searchParams.append(Wt,`neq.${Pt}`);return this}gt(Wt,Pt){this.url.searchParams.append(Wt,`gt.${Pt}`);return this}gte(Wt,Pt){this.url.searchParams.append(Wt,`gte.${Pt}`);return this}lt(Wt,Pt){this.url.searchParams.append(Wt,`lt.${Pt}`);return this}lte(Wt,Pt){this.url.searchParams.append(Wt,`lte.${Pt}`);return this}like(Wt,Pt){this.url.searchParams.append(Wt,`like.${Pt}`);return this}likeAllOf(Wt,Pt){this.url.searchParams.append(Wt,`like(all).{${Pt.join(",")}}`);return this}likeAnyOf(Wt,Pt){this.url.searchParams.append(Wt,`like(any).{${Pt.join(",")}}`);return this}ilike(Wt,Pt){this.url.searchParams.append(Wt,`ilike.${Pt}`);return this}ilikeAllOf(Wt,Pt){this.url.searchParams.append(Wt,`ilike(all).{${Pt.join(",")}}`);return this}ilikeAnyOf(Wt,Pt){this.url.searchParams.append(Wt,`ilike(any).{${Pt.join(",")}}`);return this}is(Wt,Pt){this.url.searchParams.append(Wt,`is.${Pt}`);return this}in(Wt,Pt){const en=Array.from(new Set(Pt)).map((Wt=>{if(typeof Wt==="string"&&new RegExp("[,()]").test(Wt))return`"${Wt}"`;else return`${Wt}`})).join(",");this.url.searchParams.append(Wt,`in.(${en})`);return this}contains(Wt,Pt){if(typeof Pt==="string"){this.url.searchParams.append(Wt,`cs.${Pt}`)}else if(Array.isArray(Pt)){this.url.searchParams.append(Wt,`cs.{${Pt.join(",")}}`)}else{this.url.searchParams.append(Wt,`cs.${JSON.stringify(Pt)}`)}return this}containedBy(Wt,Pt){if(typeof Pt==="string"){this.url.searchParams.append(Wt,`cd.${Pt}`)}else if(Array.isArray(Pt)){this.url.searchParams.append(Wt,`cd.{${Pt.join(",")}}`)}else{this.url.searchParams.append(Wt,`cd.${JSON.stringify(Pt)}`)}return this}rangeGt(Wt,Pt){this.url.searchParams.append(Wt,`sr.${Pt}`);return this}rangeGte(Wt,Pt){this.url.searchParams.append(Wt,`nxl.${Pt}`);return this}rangeLt(Wt,Pt){this.url.searchParams.append(Wt,`sl.${Pt}`);return this}rangeLte(Wt,Pt){this.url.searchParams.append(Wt,`nxr.${Pt}`);return this}rangeAdjacent(Wt,Pt){this.url.searchParams.append(Wt,`adj.${Pt}`);return this}overlaps(Wt,Pt){if(typeof Pt==="string"){this.url.searchParams.append(Wt,`ov.${Pt}`)}else{this.url.searchParams.append(Wt,`ov.{${Pt.join(",")}}`)}return this}textSearch(Wt,Pt,{config:en,type:tn}={}){let nn="";if(tn==="plain"){nn="pl"}else if(tn==="phrase"){nn="ph"}else if(tn==="websearch"){nn="w"}const an=en===undefined?"":`(${en})`;this.url.searchParams.append(Wt,`${nn}fts${an}.${Pt}`);return this}match(Wt){Object.entries(Wt).forEach((([Wt,Pt])=>{this.url.searchParams.append(Wt,`eq.${Pt}`)}));return this}not(Wt,Pt,en){this.url.searchParams.append(Wt,`not.${Pt}.${en}`);return this}or(Wt,{foreignTable:Pt,referencedTable:en=Pt}={}){const tn=en?`${en}.or`:"or";this.url.searchParams.append(tn,`(${Wt})`);return this}filter(Wt,Pt,en){this.url.searchParams.append(Wt,`${Pt}.${en}`);return this}}Pt["default"]=PostgrestFilterBuilder},14253:function(Wt,Pt,en){var tn=this&&this.__importDefault||function(Wt){return Wt&&Wt.__esModule?Wt:{default:Wt}};Object.defineProperty(Pt,"__esModule",{value:true});const nn=tn(en(6377));class PostgrestQueryBuilder{constructor(Wt,{headers:Pt={},schema:en,fetch:tn}){this.url=Wt;this.headers=Pt;this.schema=en;this.fetch=tn}select(Wt,{head:Pt=false,count:en}={}){const tn=Pt?"HEAD":"GET";let an=false;const In=(Wt!==null&&Wt!==void 0?Wt:"*").split("").map((Wt=>{if(/\s/.test(Wt)&&!an){return""}if(Wt==='"'){an=!an}return Wt})).join("");this.url.searchParams.set("select",In);if(en){this.headers["Prefer"]=`count=${en}`}return new nn.default({method:tn,url:this.url,headers:this.headers,schema:this.schema,fetch:this.fetch,allowEmpty:false})}insert(Wt,{count:Pt,defaultToNull:en=true}={}){const tn="POST";const an=[];if(this.headers["Prefer"]){an.push(this.headers["Prefer"])}if(Pt){an.push(`count=${Pt}`)}if(!en){an.push("missing=default")}this.headers["Prefer"]=an.join(",");if(Array.isArray(Wt)){const Pt=Wt.reduce(((Wt,Pt)=>Wt.concat(Object.keys(Pt))),[]);if(Pt.length>0){const Wt=[...new Set(Pt)].map((Wt=>`"${Wt}"`));this.url.searchParams.set("columns",Wt.join(","))}}return new nn.default({method:tn,url:this.url,headers:this.headers,schema:this.schema,body:Wt,fetch:this.fetch,allowEmpty:false})}upsert(Wt,{onConflict:Pt,ignoreDuplicates:en=false,count:tn,defaultToNull:an=true}={}){const In="POST";const rn=[`resolution=${en?"ignore":"merge"}-duplicates`];if(Pt!==undefined)this.url.searchParams.set("on_conflict",Pt);if(this.headers["Prefer"]){rn.push(this.headers["Prefer"])}if(tn){rn.push(`count=${tn}`)}if(!an){rn.push("missing=default")}this.headers["Prefer"]=rn.join(",");if(Array.isArray(Wt)){const Pt=Wt.reduce(((Wt,Pt)=>Wt.concat(Object.keys(Pt))),[]);if(Pt.length>0){const Wt=[...new Set(Pt)].map((Wt=>`"${Wt}"`));this.url.searchParams.set("columns",Wt.join(","))}}return new nn.default({method:In,url:this.url,headers:this.headers,schema:this.schema,body:Wt,fetch:this.fetch,allowEmpty:false})}update(Wt,{count:Pt}={}){const en="PATCH";const tn=[];if(this.headers["Prefer"]){tn.push(this.headers["Prefer"])}if(Pt){tn.push(`count=${Pt}`)}this.headers["Prefer"]=tn.join(",");return new nn.default({method:en,url:this.url,headers:this.headers,schema:this.schema,body:Wt,fetch:this.fetch,allowEmpty:false})}delete({count:Wt}={}){const Pt="DELETE";const en=[];if(Wt){en.push(`count=${Wt}`)}if(this.headers["Prefer"]){en.unshift(this.headers["Prefer"])}this.headers["Prefer"]=en.join(",");return new nn.default({method:Pt,url:this.url,headers:this.headers,schema:this.schema,fetch:this.fetch,allowEmpty:false})}}Pt["default"]=PostgrestQueryBuilder},77725:function(Wt,Pt,en){var tn=this&&this.__importDefault||function(Wt){return Wt&&Wt.__esModule?Wt:{default:Wt}};Object.defineProperty(Pt,"__esModule",{value:true});const nn=tn(en(41455));class PostgrestTransformBuilder extends nn.default{select(Wt){let Pt=false;const en=(Wt!==null&&Wt!==void 0?Wt:"*").split("").map((Wt=>{if(/\s/.test(Wt)&&!Pt){return""}if(Wt==='"'){Pt=!Pt}return Wt})).join("");this.url.searchParams.set("select",en);if(this.headers["Prefer"]){this.headers["Prefer"]+=","}this.headers["Prefer"]+="return=representation";return this}order(Wt,{ascending:Pt=true,nullsFirst:en,foreignTable:tn,referencedTable:nn=tn}={}){const an=nn?`${nn}.order`:"order";const In=this.url.searchParams.get(an);this.url.searchParams.set(an,`${In?`${In},`:""}${Wt}.${Pt?"asc":"desc"}${en===undefined?"":en?".nullsfirst":".nullslast"}`);return this}limit(Wt,{foreignTable:Pt,referencedTable:en=Pt}={}){const tn=typeof en==="undefined"?"limit":`${en}.limit`;this.url.searchParams.set(tn,`${Wt}`);return this}range(Wt,Pt,{foreignTable:en,referencedTable:tn=en}={}){const nn=typeof tn==="undefined"?"offset":`${tn}.offset`;const an=typeof tn==="undefined"?"limit":`${tn}.limit`;this.url.searchParams.set(nn,`${Wt}`);this.url.searchParams.set(an,`${Pt-Wt+1}`);return this}abortSignal(Wt){this.signal=Wt;return this}single(){this.headers["Accept"]="application/vnd.pgrst.object+json";return this}maybeSingle(){if(this.method==="GET"){this.headers["Accept"]="application/json"}else{this.headers["Accept"]="application/vnd.pgrst.object+json"}this.isMaybeSingle=true;return this}csv(){this.headers["Accept"]="text/csv";return this}geojson(){this.headers["Accept"]="application/geo+json";return this}explain({analyze:Wt=false,verbose:Pt=false,settings:en=false,buffers:tn=false,wal:nn=false,format:an="text"}={}){var In;const rn=[Wt?"analyze":null,Pt?"verbose":null,en?"settings":null,tn?"buffers":null,nn?"wal":null].filter(Boolean).join("|");const sn=(In=this.headers["Accept"])!==null&&In!==void 0?In:"application/json";this.headers["Accept"]=`application/vnd.pgrst.plan+${an}; for="${sn}"; options=${rn};`;if(an==="json")return this;else return this}rollback(){var Wt;if(((Wt=this.headers["Prefer"])!==null&&Wt!==void 0?Wt:"").trim().length>0){this.headers["Prefer"]+=",tx=rollback"}else{this.headers["Prefer"]="tx=rollback"}return this}returns(){return this}}Pt["default"]=PostgrestTransformBuilder},88258:(Wt,Pt,en)=>{Object.defineProperty(Pt,"__esModule",{value:true});Pt.DEFAULT_HEADERS=void 0;const tn=en(42799);Pt.DEFAULT_HEADERS={"X-Client-Info":`postgrest-js/${tn.version}`}},60927:function(Wt,Pt,en){var tn=this&&this.__importDefault||function(Wt){return Wt&&Wt.__esModule?Wt:{default:Wt}};Object.defineProperty(Pt,"__esModule",{value:true});Pt.PostgrestBuilder=Pt.PostgrestTransformBuilder=Pt.PostgrestFilterBuilder=Pt.PostgrestQueryBuilder=Pt.PostgrestClient=void 0;var nn=en(16193);Object.defineProperty(Pt,"PostgrestClient",{enumerable:true,get:function(){return tn(nn).default}});var an=en(14253);Object.defineProperty(Pt,"PostgrestQueryBuilder",{enumerable:true,get:function(){return tn(an).default}});var In=en(6377);Object.defineProperty(Pt,"PostgrestFilterBuilder",{enumerable:true,get:function(){return tn(In).default}});var rn=en(77725);Object.defineProperty(Pt,"PostgrestTransformBuilder",{enumerable:true,get:function(){return tn(rn).default}});var sn=en(41455);Object.defineProperty(Pt,"PostgrestBuilder",{enumerable:true,get:function(){return tn(sn).default}})},42799:(Wt,Pt)=>{Object.defineProperty(Pt,"__esModule",{value:true});Pt.version=void 0;Pt.version="1.15.0"},38093:function(Wt,Pt,en){var tn=this&&this.__createBinding||(Object.create?function(Wt,Pt,en,tn){if(tn===undefined)tn=en;var nn=Object.getOwnPropertyDescriptor(Pt,en);if(!nn||("get"in nn?!Pt.__esModule:nn.writable||nn.configurable)){nn={enumerable:true,get:function(){return Pt[en]}}}Object.defineProperty(Wt,tn,nn)}:function(Wt,Pt,en,tn){if(tn===undefined)tn=en;Wt[tn]=Pt[en]});var nn=this&&this.__setModuleDefault||(Object.create?function(Wt,Pt){Object.defineProperty(Wt,"default",{enumerable:true,value:Pt})}:function(Wt,Pt){Wt["default"]=Pt});var an=this&&this.__importStar||function(Wt){if(Wt&&Wt.__esModule)return Wt;var Pt={};if(Wt!=null)for(var en in Wt)if(en!=="default"&&Object.prototype.hasOwnProperty.call(Wt,en))tn(Pt,Wt,en);nn(Pt,Wt);return Pt};var In=this&&this.__importDefault||function(Wt){return Wt&&Wt.__esModule?Wt:{default:Wt}};Object.defineProperty(Pt,"__esModule",{value:true});Pt.REALTIME_CHANNEL_STATES=Pt.REALTIME_SUBSCRIBE_STATES=Pt.REALTIME_LISTEN_TYPES=Pt.REALTIME_POSTGRES_CHANGES_LISTEN_EVENT=void 0;const rn=en(29680);const sn=In(en(49333));const on=In(en(99920));const cn=In(en(98493));const dn=an(en(93429));var un;(function(Wt){Wt["ALL"]="*";Wt["INSERT"]="INSERT";Wt["UPDATE"]="UPDATE";Wt["DELETE"]="DELETE"})(un=Pt.REALTIME_POSTGRES_CHANGES_LISTEN_EVENT||(Pt.REALTIME_POSTGRES_CHANGES_LISTEN_EVENT={}));var pn;(function(Wt){Wt["BROADCAST"]="broadcast";Wt["PRESENCE"]="presence";Wt["POSTGRES_CHANGES"]="postgres_changes"})(pn=Pt.REALTIME_LISTEN_TYPES||(Pt.REALTIME_LISTEN_TYPES={}));var mn;(function(Wt){Wt["SUBSCRIBED"]="SUBSCRIBED";Wt["TIMED_OUT"]="TIMED_OUT";Wt["CLOSED"]="CLOSED";Wt["CHANNEL_ERROR"]="CHANNEL_ERROR"})(mn=Pt.REALTIME_SUBSCRIBE_STATES||(Pt.REALTIME_SUBSCRIBE_STATES={}));Pt.REALTIME_CHANNEL_STATES=rn.CHANNEL_STATES;class RealtimeChannel{constructor(Wt,Pt={config:{}},en){this.topic=Wt;this.params=Pt;this.socket=en;this.bindings={};this.state=rn.CHANNEL_STATES.closed;this.joinedOnce=false;this.pushBuffer=[];this.subTopic=Wt.replace(/^realtime:/i,"");this.params.config=Object.assign({broadcast:{ack:false,self:false},presence:{key:""}},Pt.config);this.timeout=this.socket.timeout;this.joinPush=new sn.default(this,rn.CHANNEL_EVENTS.join,this.params,this.timeout);this.rejoinTimer=new on.default((()=>this._rejoinUntilConnected()),this.socket.reconnectAfterMs);this.joinPush.receive("ok",(()=>{this.state=rn.CHANNEL_STATES.joined;this.rejoinTimer.reset();this.pushBuffer.forEach((Wt=>Wt.send()));this.pushBuffer=[]}));this._onClose((()=>{this.rejoinTimer.reset();this.socket.log("channel",`close ${this.topic} ${this._joinRef()}`);this.state=rn.CHANNEL_STATES.closed;this.socket._remove(this)}));this._onError((Wt=>{if(this._isLeaving()||this._isClosed()){return}this.socket.log("channel",`error ${this.topic}`,Wt);this.state=rn.CHANNEL_STATES.errored;this.rejoinTimer.scheduleTimeout()}));this.joinPush.receive("timeout",(()=>{if(!this._isJoining()){return}this.socket.log("channel",`timeout ${this.topic}`,this.joinPush.timeout);this.state=rn.CHANNEL_STATES.errored;this.rejoinTimer.scheduleTimeout()}));this._on(rn.CHANNEL_EVENTS.reply,{},((Wt,Pt)=>{this._trigger(this._replyEventName(Pt),Wt)}));this.presence=new cn.default(this);this.broadcastEndpointURL=this._broadcastEndpointURL()}subscribe(Wt,Pt=this.timeout){var en,tn;if(!this.socket.isConnected()){this.socket.connect()}if(this.joinedOnce){throw`tried to subscribe multiple times. 'subscribe' can only be called a single time per channel instance`}else{const{config:{broadcast:nn,presence:an}}=this.params;this._onError((Pt=>Wt&&Wt("CHANNEL_ERROR",Pt)));this._onClose((()=>Wt&&Wt("CLOSED")));const In={};const rn={broadcast:nn,presence:an,postgres_changes:(tn=(en=this.bindings.postgres_changes)===null||en===void 0?void 0:en.map((Wt=>Wt.filter)))!==null&&tn!==void 0?tn:[]};if(this.socket.accessToken){In.access_token=this.socket.accessToken}this.updateJoinPayload(Object.assign({config:rn},In));this.joinedOnce=true;this._rejoin(Pt);this.joinPush.receive("ok",(({postgres_changes:Pt})=>{var en;this.socket.accessToken&&this.socket.setAuth(this.socket.accessToken);if(Pt===undefined){Wt&&Wt("SUBSCRIBED");return}else{const tn=this.bindings.postgres_changes;const nn=(en=tn===null||tn===void 0?void 0:tn.length)!==null&&en!==void 0?en:0;const an=[];for(let en=0;en{Wt&&Wt("CHANNEL_ERROR",new Error(JSON.stringify(Object.values(Pt).join(", ")||"error")));return})).receive("timeout",(()=>{Wt&&Wt("TIMED_OUT");return}))}return this}presenceState(){return this.presence.state}async track(Wt,Pt={}){return await this.send({type:"presence",event:"track",payload:Wt},Pt.timeout||this.timeout)}async untrack(Wt={}){return await this.send({type:"presence",event:"untrack"},Wt)}on(Wt,Pt,en){return this._on(Wt,Pt,en)}async send(Wt,Pt={}){var en,tn;if(!this._canPush()&&Wt.type==="broadcast"){const{event:nn,payload:an}=Wt;const In={method:"POST",headers:{apikey:(en=this.socket.apiKey)!==null&&en!==void 0?en:"","Content-Type":"application/json"},body:JSON.stringify({messages:[{topic:this.subTopic,event:nn,payload:an}]})};try{const Wt=await this._fetchWithTimeout(this.broadcastEndpointURL,In,(tn=Pt.timeout)!==null&&tn!==void 0?tn:this.timeout);if(Wt.ok){return"ok"}else{return"error"}}catch(Wt){if(Wt.name==="AbortError"){return"timed out"}else{return"error"}}}else{return new Promise((en=>{var tn,nn,an;const In=this._push(Wt.type,Wt,Pt.timeout||this.timeout);if(Wt.type==="broadcast"&&!((an=(nn=(tn=this.params)===null||tn===void 0?void 0:tn.config)===null||nn===void 0?void 0:nn.broadcast)===null||an===void 0?void 0:an.ack)){en("ok")}In.receive("ok",(()=>en("ok")));In.receive("timeout",(()=>en("timed out")))}))}}updateJoinPayload(Wt){this.joinPush.updatePayload(Wt)}unsubscribe(Wt=this.timeout){this.state=rn.CHANNEL_STATES.leaving;const onClose=()=>{this.socket.log("channel",`leave ${this.topic}`);this._trigger(rn.CHANNEL_EVENTS.close,"leave",this._joinRef())};this.rejoinTimer.reset();this.joinPush.destroy();return new Promise((Pt=>{const en=new sn.default(this,rn.CHANNEL_EVENTS.leave,{},Wt);en.receive("ok",(()=>{onClose();Pt("ok")})).receive("timeout",(()=>{onClose();Pt("timed out")})).receive("error",(()=>{Pt("error")}));en.send();if(!this._canPush()){en.trigger("ok",{})}}))}_broadcastEndpointURL(){let Wt=this.socket.endPoint;Wt=Wt.replace(/^ws/i,"http");Wt=Wt.replace(/(\/socket\/websocket|\/socket|\/websocket)\/?$/i,"");return Wt.replace(/\/+$/,"")+"/api/broadcast"}async _fetchWithTimeout(Wt,Pt,en){const tn=new AbortController;const nn=setTimeout((()=>tn.abort()),en);const an=await this.socket.fetch(Wt,Object.assign(Object.assign({},Pt),{signal:tn.signal}));clearTimeout(nn);return an}_push(Wt,Pt,en=this.timeout){if(!this.joinedOnce){throw`tried to push '${Wt}' to '${this.topic}' before joining. Use channel.subscribe() before pushing events`}let tn=new sn.default(this,Wt,Pt,en);if(this._canPush()){tn.send()}else{tn.startTimeout();this.pushBuffer.push(tn)}return tn}_onMessage(Wt,Pt,en){return Pt}_isMember(Wt){return this.topic===Wt}_joinRef(){return this.joinPush.ref}_trigger(Wt,Pt,en){var tn,nn;const an=Wt.toLocaleLowerCase();const{close:In,error:sn,leave:on,join:cn}=rn.CHANNEL_EVENTS;const dn=[In,sn,on,cn];if(en&&dn.indexOf(an)>=0&&en!==this._joinRef()){return}let un=this._onMessage(an,Pt,en);if(Pt&&!un){throw"channel onMessage callbacks must return the payload, modified or unmodified"}if(["insert","update","delete"].includes(an)){(tn=this.bindings.postgres_changes)===null||tn===void 0?void 0:tn.filter((Wt=>{var Pt,en,tn;return((Pt=Wt.filter)===null||Pt===void 0?void 0:Pt.event)==="*"||((tn=(en=Wt.filter)===null||en===void 0?void 0:en.event)===null||tn===void 0?void 0:tn.toLocaleLowerCase())===an})).map((Wt=>Wt.callback(un,en)))}else{(nn=this.bindings[an])===null||nn===void 0?void 0:nn.filter((Wt=>{var en,tn,nn,In,rn,sn;if(["broadcast","presence","postgres_changes"].includes(an)){if("id"in Wt){const an=Wt.id;const In=(en=Wt.filter)===null||en===void 0?void 0:en.event;return an&&((tn=Pt.ids)===null||tn===void 0?void 0:tn.includes(an))&&(In==="*"||(In===null||In===void 0?void 0:In.toLocaleLowerCase())===((nn=Pt.data)===null||nn===void 0?void 0:nn.type.toLocaleLowerCase()))}else{const en=(rn=(In=Wt===null||Wt===void 0?void 0:Wt.filter)===null||In===void 0?void 0:In.event)===null||rn===void 0?void 0:rn.toLocaleLowerCase();return en==="*"||en===((sn=Pt===null||Pt===void 0?void 0:Pt.event)===null||sn===void 0?void 0:sn.toLocaleLowerCase())}}else{return Wt.type.toLocaleLowerCase()===an}})).map((Wt=>{if(typeof un==="object"&&"ids"in un){const Wt=un.data;const{schema:Pt,table:en,commit_timestamp:tn,type:nn,errors:an}=Wt;const In={schema:Pt,table:en,commit_timestamp:tn,eventType:nn,new:{},old:{},errors:an};un=Object.assign(Object.assign({},In),this._getPayloadRecords(Wt))}Wt.callback(un,en)}))}}_isClosed(){return this.state===rn.CHANNEL_STATES.closed}_isJoined(){return this.state===rn.CHANNEL_STATES.joined}_isJoining(){return this.state===rn.CHANNEL_STATES.joining}_isLeaving(){return this.state===rn.CHANNEL_STATES.leaving}_replyEventName(Wt){return`chan_reply_${Wt}`}_on(Wt,Pt,en){const tn=Wt.toLocaleLowerCase();const nn={type:tn,filter:Pt,callback:en};if(this.bindings[tn]){this.bindings[tn].push(nn)}else{this.bindings[tn]=[nn]}return this}_off(Wt,Pt){const en=Wt.toLocaleLowerCase();this.bindings[en]=this.bindings[en].filter((Wt=>{var tn;return!(((tn=Wt.type)===null||tn===void 0?void 0:tn.toLocaleLowerCase())===en&&RealtimeChannel.isEqual(Wt.filter,Pt))}));return this}static isEqual(Wt,Pt){if(Object.keys(Wt).length!==Object.keys(Pt).length){return false}for(const en in Wt){if(Wt[en]!==Pt[en]){return false}}return true}_rejoinUntilConnected(){this.rejoinTimer.scheduleTimeout();if(this.socket.isConnected()){this._rejoin()}}_onClose(Wt){this._on(rn.CHANNEL_EVENTS.close,{},Wt)}_onError(Wt){this._on(rn.CHANNEL_EVENTS.error,{},(Pt=>Wt(Pt)))}_canPush(){return this.socket.isConnected()&&this._isJoined()}_rejoin(Wt=this.timeout){if(this._isLeaving()){return}this.socket._leaveOpenTopic(this.topic);this.state=rn.CHANNEL_STATES.joining;this.joinPush.resend(Wt)}_getPayloadRecords(Wt){const Pt={new:{},old:{}};if(Wt.type==="INSERT"||Wt.type==="UPDATE"){Pt.new=dn.convertChangeData(Wt.columns,Wt.record)}if(Wt.type==="UPDATE"||Wt.type==="DELETE"){Pt.old=dn.convertChangeData(Wt.columns,Wt.old_record)}return Pt}}Pt["default"]=RealtimeChannel},73955:function(Wt,Pt,en){var tn=this&&this.__createBinding||(Object.create?function(Wt,Pt,en,tn){if(tn===undefined)tn=en;var nn=Object.getOwnPropertyDescriptor(Pt,en);if(!nn||("get"in nn?!Pt.__esModule:nn.writable||nn.configurable)){nn={enumerable:true,get:function(){return Pt[en]}}}Object.defineProperty(Wt,tn,nn)}:function(Wt,Pt,en,tn){if(tn===undefined)tn=en;Wt[tn]=Pt[en]});var nn=this&&this.__setModuleDefault||(Object.create?function(Wt,Pt){Object.defineProperty(Wt,"default",{enumerable:true,value:Pt})}:function(Wt,Pt){Wt["default"]=Pt});var an=this&&this.__importStar||function(Wt){if(Wt&&Wt.__esModule)return Wt;var Pt={};if(Wt!=null)for(var en in Wt)if(en!=="default"&&Object.prototype.hasOwnProperty.call(Wt,en))tn(Pt,Wt,en);nn(Pt,Wt);return Pt};var In=this&&this.__importDefault||function(Wt){return Wt&&Wt.__esModule?Wt:{default:Wt}};Object.defineProperty(Pt,"__esModule",{value:true});const rn=en(29680);const sn=In(en(99920));const on=In(en(72049));const cn=In(en(38093));const noop=()=>{};const dn=typeof WebSocket!=="undefined";class RealtimeClient{constructor(Wt,Pt){var tn;this.accessToken=null;this.apiKey=null;this.channels=[];this.endPoint="";this.headers=rn.DEFAULT_HEADERS;this.params={};this.timeout=rn.DEFAULT_TIMEOUT;this.heartbeatIntervalMs=3e4;this.heartbeatTimer=undefined;this.pendingHeartbeatRef=null;this.ref=0;this.logger=noop;this.conn=null;this.sendBuffer=[];this.serializer=new on.default;this.stateChangeCallbacks={open:[],close:[],error:[],message:[]};this._resolveFetch=Wt=>{let Pt;if(Wt){Pt=Wt}else if(typeof fetch==="undefined"){Pt=(...Wt)=>Promise.resolve().then((()=>an(en(83318)))).then((({default:Pt})=>Pt(...Wt)))}else{Pt=fetch}return(...Wt)=>Pt(...Wt)};this.endPoint=`${Wt}/${rn.TRANSPORTS.websocket}`;if(Pt===null||Pt===void 0?void 0:Pt.transport){this.transport=Pt.transport}else{this.transport=null}if(Pt===null||Pt===void 0?void 0:Pt.params)this.params=Pt.params;if(Pt===null||Pt===void 0?void 0:Pt.headers)this.headers=Object.assign(Object.assign({},this.headers),Pt.headers);if(Pt===null||Pt===void 0?void 0:Pt.timeout)this.timeout=Pt.timeout;if(Pt===null||Pt===void 0?void 0:Pt.logger)this.logger=Pt.logger;if(Pt===null||Pt===void 0?void 0:Pt.heartbeatIntervalMs)this.heartbeatIntervalMs=Pt.heartbeatIntervalMs;const nn=(tn=Pt===null||Pt===void 0?void 0:Pt.params)===null||tn===void 0?void 0:tn.apikey;if(nn){this.accessToken=nn;this.apiKey=nn}this.reconnectAfterMs=(Pt===null||Pt===void 0?void 0:Pt.reconnectAfterMs)?Pt.reconnectAfterMs:Wt=>[1e3,2e3,5e3,1e4][Wt-1]||1e4;this.encode=(Pt===null||Pt===void 0?void 0:Pt.encode)?Pt.encode:(Wt,Pt)=>Pt(JSON.stringify(Wt));this.decode=(Pt===null||Pt===void 0?void 0:Pt.decode)?Pt.decode:this.serializer.decode.bind(this.serializer);this.reconnectTimer=new sn.default((async()=>{this.disconnect();this.connect()}),this.reconnectAfterMs);this.fetch=this._resolveFetch(Pt===null||Pt===void 0?void 0:Pt.fetch)}connect(){if(this.conn){return}if(this.transport){this.conn=new this.transport(this._endPointURL(),undefined,{headers:this.headers});return}if(dn){this.conn=new WebSocket(this._endPointURL());this.setupConnection();return}this.conn=new WSWebSocketDummy(this._endPointURL(),undefined,{close:()=>{this.conn=null}});Promise.resolve().then((()=>an(en(11354)))).then((({default:Wt})=>{this.conn=new Wt(this._endPointURL(),undefined,{headers:this.headers});this.setupConnection()}))}disconnect(Wt,Pt){if(this.conn){this.conn.onclose=function(){};if(Wt){this.conn.close(Wt,Pt!==null&&Pt!==void 0?Pt:"")}else{this.conn.close()}this.conn=null;this.heartbeatTimer&&clearInterval(this.heartbeatTimer);this.reconnectTimer.reset()}}getChannels(){return this.channels}async removeChannel(Wt){const Pt=await Wt.unsubscribe();if(this.channels.length===0){this.disconnect()}return Pt}async removeAllChannels(){const Wt=await Promise.all(this.channels.map((Wt=>Wt.unsubscribe())));this.disconnect();return Wt}log(Wt,Pt,en){this.logger(Wt,Pt,en)}connectionState(){switch(this.conn&&this.conn.readyState){case rn.SOCKET_STATES.connecting:return rn.CONNECTION_STATE.Connecting;case rn.SOCKET_STATES.open:return rn.CONNECTION_STATE.Open;case rn.SOCKET_STATES.closing:return rn.CONNECTION_STATE.Closing;default:return rn.CONNECTION_STATE.Closed}}isConnected(){return this.connectionState()===rn.CONNECTION_STATE.Open}channel(Wt,Pt={config:{}}){const en=new cn.default(`realtime:${Wt}`,Pt,this);this.channels.push(en);return en}push(Wt){const{topic:Pt,event:en,payload:tn,ref:nn}=Wt;const callback=()=>{this.encode(Wt,(Wt=>{var Pt;(Pt=this.conn)===null||Pt===void 0?void 0:Pt.send(Wt)}))};this.log("push",`${Pt} ${en} (${nn})`,tn);if(this.isConnected()){callback()}else{this.sendBuffer.push(callback)}}setAuth(Wt){this.accessToken=Wt;this.channels.forEach((Pt=>{Wt&&Pt.updateJoinPayload({access_token:Wt});if(Pt.joinedOnce&&Pt._isJoined()){Pt._push(rn.CHANNEL_EVENTS.access_token,{access_token:Wt})}}))}_makeRef(){let Wt=this.ref+1;if(Wt===this.ref){this.ref=0}else{this.ref=Wt}return this.ref.toString()}_leaveOpenTopic(Wt){let Pt=this.channels.find((Pt=>Pt.topic===Wt&&(Pt._isJoined()||Pt._isJoining())));if(Pt){this.log("transport",`leaving duplicate topic "${Wt}"`);Pt.unsubscribe()}}_remove(Wt){this.channels=this.channels.filter((Pt=>Pt._joinRef()!==Wt._joinRef()))}setupConnection(){if(this.conn){this.conn.binaryType="arraybuffer";this.conn.onopen=()=>this._onConnOpen();this.conn.onerror=Wt=>this._onConnError(Wt);this.conn.onmessage=Wt=>this._onConnMessage(Wt);this.conn.onclose=Wt=>this._onConnClose(Wt)}}_endPointURL(){return this._appendParams(this.endPoint,Object.assign({},this.params,{vsn:rn.VSN}))}_onConnMessage(Wt){this.decode(Wt.data,(Wt=>{let{topic:Pt,event:en,payload:tn,ref:nn}=Wt;if(nn&&nn===this.pendingHeartbeatRef||en===(tn===null||tn===void 0?void 0:tn.type)){this.pendingHeartbeatRef=null}this.log("receive",`${tn.status||""} ${Pt} ${en} ${nn&&"("+nn+")"||""}`,tn);this.channels.filter((Wt=>Wt._isMember(Pt))).forEach((Wt=>Wt._trigger(en,tn,nn)));this.stateChangeCallbacks.message.forEach((Pt=>Pt(Wt)))}))}_onConnOpen(){this.log("transport",`connected to ${this._endPointURL()}`);this._flushSendBuffer();this.reconnectTimer.reset();this.heartbeatTimer&&clearInterval(this.heartbeatTimer);this.heartbeatTimer=setInterval((()=>this._sendHeartbeat()),this.heartbeatIntervalMs);this.stateChangeCallbacks.open.forEach((Wt=>Wt()))}_onConnClose(Wt){this.log("transport","close",Wt);this._triggerChanError();this.heartbeatTimer&&clearInterval(this.heartbeatTimer);this.reconnectTimer.scheduleTimeout();this.stateChangeCallbacks.close.forEach((Pt=>Pt(Wt)))}_onConnError(Wt){this.log("transport",Wt.message);this._triggerChanError();this.stateChangeCallbacks.error.forEach((Pt=>Pt(Wt)))}_triggerChanError(){this.channels.forEach((Wt=>Wt._trigger(rn.CHANNEL_EVENTS.error)))}_appendParams(Wt,Pt){if(Object.keys(Pt).length===0){return Wt}const en=Wt.match(/\?/)?"&":"?";const tn=new URLSearchParams(Pt);return`${Wt}${en}${tn}`}_flushSendBuffer(){if(this.isConnected()&&this.sendBuffer.length>0){this.sendBuffer.forEach((Wt=>Wt()));this.sendBuffer=[]}}_sendHeartbeat(){var Wt;if(!this.isConnected()){return}if(this.pendingHeartbeatRef){this.pendingHeartbeatRef=null;this.log("transport","heartbeat timeout. Attempting to re-establish connection");(Wt=this.conn)===null||Wt===void 0?void 0:Wt.close(rn.WS_CLOSE_NORMAL,"hearbeat timeout");return}this.pendingHeartbeatRef=this._makeRef();this.push({topic:"phoenix",event:"heartbeat",payload:{},ref:this.pendingHeartbeatRef});this.setAuth(this.accessToken)}}Pt["default"]=RealtimeClient;class WSWebSocketDummy{constructor(Wt,Pt,en){this.binaryType="arraybuffer";this.onclose=()=>{};this.onerror=()=>{};this.onmessage=()=>{};this.onopen=()=>{};this.readyState=rn.SOCKET_STATES.connecting;this.send=()=>{};this.url=null;this.url=Wt;this.close=en.close}}},98493:(Wt,Pt)=>{Object.defineProperty(Pt,"__esModule",{value:true});Pt.REALTIME_PRESENCE_LISTEN_EVENTS=void 0;var en;(function(Wt){Wt["SYNC"]="sync";Wt["JOIN"]="join";Wt["LEAVE"]="leave"})(en=Pt.REALTIME_PRESENCE_LISTEN_EVENTS||(Pt.REALTIME_PRESENCE_LISTEN_EVENTS={}));class RealtimePresence{constructor(Wt,Pt){this.channel=Wt;this.state={};this.pendingDiffs=[];this.joinRef=null;this.caller={onJoin:()=>{},onLeave:()=>{},onSync:()=>{}};const en=(Pt===null||Pt===void 0?void 0:Pt.events)||{state:"presence_state",diff:"presence_diff"};this.channel._on(en.state,{},(Wt=>{const{onJoin:Pt,onLeave:en,onSync:tn}=this.caller;this.joinRef=this.channel._joinRef();this.state=RealtimePresence.syncState(this.state,Wt,Pt,en);this.pendingDiffs.forEach((Wt=>{this.state=RealtimePresence.syncDiff(this.state,Wt,Pt,en)}));this.pendingDiffs=[];tn()}));this.channel._on(en.diff,{},(Wt=>{const{onJoin:Pt,onLeave:en,onSync:tn}=this.caller;if(this.inPendingSyncState()){this.pendingDiffs.push(Wt)}else{this.state=RealtimePresence.syncDiff(this.state,Wt,Pt,en);tn()}}));this.onJoin(((Wt,Pt,en)=>{this.channel._trigger("presence",{event:"join",key:Wt,currentPresences:Pt,newPresences:en})}));this.onLeave(((Wt,Pt,en)=>{this.channel._trigger("presence",{event:"leave",key:Wt,currentPresences:Pt,leftPresences:en})}));this.onSync((()=>{this.channel._trigger("presence",{event:"sync"})}))}static syncState(Wt,Pt,en,tn){const nn=this.cloneDeep(Wt);const an=this.transformState(Pt);const In={};const rn={};this.map(nn,((Wt,Pt)=>{if(!an[Wt]){rn[Wt]=Pt}}));this.map(an,((Wt,Pt)=>{const en=nn[Wt];if(en){const tn=Pt.map((Wt=>Wt.presence_ref));const nn=en.map((Wt=>Wt.presence_ref));const an=Pt.filter((Wt=>nn.indexOf(Wt.presence_ref)<0));const sn=en.filter((Wt=>tn.indexOf(Wt.presence_ref)<0));if(an.length>0){In[Wt]=an}if(sn.length>0){rn[Wt]=sn}}else{In[Wt]=Pt}}));return this.syncDiff(nn,{joins:In,leaves:rn},en,tn)}static syncDiff(Wt,Pt,en,tn){const{joins:nn,leaves:an}={joins:this.transformState(Pt.joins),leaves:this.transformState(Pt.leaves)};if(!en){en=()=>{}}if(!tn){tn=()=>{}}this.map(nn,((Pt,tn)=>{var nn;const an=(nn=Wt[Pt])!==null&&nn!==void 0?nn:[];Wt[Pt]=this.cloneDeep(tn);if(an.length>0){const en=Wt[Pt].map((Wt=>Wt.presence_ref));const tn=an.filter((Wt=>en.indexOf(Wt.presence_ref)<0));Wt[Pt].unshift(...tn)}en(Pt,an,tn)}));this.map(an,((Pt,en)=>{let nn=Wt[Pt];if(!nn)return;const an=en.map((Wt=>Wt.presence_ref));nn=nn.filter((Wt=>an.indexOf(Wt.presence_ref)<0));Wt[Pt]=nn;tn(Pt,nn,en);if(nn.length===0)delete Wt[Pt]}));return Wt}static map(Wt,Pt){return Object.getOwnPropertyNames(Wt).map((en=>Pt(en,Wt[en])))}static transformState(Wt){Wt=this.cloneDeep(Wt);return Object.getOwnPropertyNames(Wt).reduce(((Pt,en)=>{const tn=Wt[en];if("metas"in tn){Pt[en]=tn.metas.map((Wt=>{Wt["presence_ref"]=Wt["phx_ref"];delete Wt["phx_ref"];delete Wt["phx_ref_prev"];return Wt}))}else{Pt[en]=tn}return Pt}),{})}static cloneDeep(Wt){return JSON.parse(JSON.stringify(Wt))}onJoin(Wt){this.caller.onJoin=Wt}onLeave(Wt){this.caller.onLeave=Wt}onSync(Wt){this.caller.onSync=Wt}inPendingSyncState(){return!this.joinRef||this.joinRef!==this.channel._joinRef()}}Pt["default"]=RealtimePresence},36209:function(Wt,Pt,en){var tn=this&&this.__createBinding||(Object.create?function(Wt,Pt,en,tn){if(tn===undefined)tn=en;var nn=Object.getOwnPropertyDescriptor(Pt,en);if(!nn||("get"in nn?!Pt.__esModule:nn.writable||nn.configurable)){nn={enumerable:true,get:function(){return Pt[en]}}}Object.defineProperty(Wt,tn,nn)}:function(Wt,Pt,en,tn){if(tn===undefined)tn=en;Wt[tn]=Pt[en]});var nn=this&&this.__setModuleDefault||(Object.create?function(Wt,Pt){Object.defineProperty(Wt,"default",{enumerable:true,value:Pt})}:function(Wt,Pt){Wt["default"]=Pt});var an=this&&this.__importStar||function(Wt){if(Wt&&Wt.__esModule)return Wt;var Pt={};if(Wt!=null)for(var en in Wt)if(en!=="default"&&Object.prototype.hasOwnProperty.call(Wt,en))tn(Pt,Wt,en);nn(Pt,Wt);return Pt};var In=this&&this.__importDefault||function(Wt){return Wt&&Wt.__esModule?Wt:{default:Wt}};Object.defineProperty(Pt,"__esModule",{value:true});Pt.REALTIME_CHANNEL_STATES=Pt.REALTIME_SUBSCRIBE_STATES=Pt.REALTIME_PRESENCE_LISTEN_EVENTS=Pt.REALTIME_POSTGRES_CHANGES_LISTEN_EVENT=Pt.REALTIME_LISTEN_TYPES=Pt.RealtimeClient=Pt.RealtimeChannel=Pt.RealtimePresence=void 0;const rn=In(en(73955));Pt.RealtimeClient=rn.default;const sn=an(en(38093));Pt.RealtimeChannel=sn.default;Object.defineProperty(Pt,"REALTIME_LISTEN_TYPES",{enumerable:true,get:function(){return sn.REALTIME_LISTEN_TYPES}});Object.defineProperty(Pt,"REALTIME_POSTGRES_CHANGES_LISTEN_EVENT",{enumerable:true,get:function(){return sn.REALTIME_POSTGRES_CHANGES_LISTEN_EVENT}});Object.defineProperty(Pt,"REALTIME_SUBSCRIBE_STATES",{enumerable:true,get:function(){return sn.REALTIME_SUBSCRIBE_STATES}});Object.defineProperty(Pt,"REALTIME_CHANNEL_STATES",{enumerable:true,get:function(){return sn.REALTIME_CHANNEL_STATES}});const on=an(en(98493));Pt.RealtimePresence=on.default;Object.defineProperty(Pt,"REALTIME_PRESENCE_LISTEN_EVENTS",{enumerable:true,get:function(){return on.REALTIME_PRESENCE_LISTEN_EVENTS}})},29680:(Wt,Pt,en)=>{Object.defineProperty(Pt,"__esModule",{value:true});Pt.CONNECTION_STATE=Pt.TRANSPORTS=Pt.CHANNEL_EVENTS=Pt.CHANNEL_STATES=Pt.SOCKET_STATES=Pt.WS_CLOSE_NORMAL=Pt.DEFAULT_TIMEOUT=Pt.VSN=Pt.DEFAULT_HEADERS=void 0;const tn=en(38889);Pt.DEFAULT_HEADERS={"X-Client-Info":`realtime-js/${tn.version}`};Pt.VSN="1.0.0";Pt.DEFAULT_TIMEOUT=1e4;Pt.WS_CLOSE_NORMAL=1e3;var nn;(function(Wt){Wt[Wt["connecting"]=0]="connecting";Wt[Wt["open"]=1]="open";Wt[Wt["closing"]=2]="closing";Wt[Wt["closed"]=3]="closed"})(nn=Pt.SOCKET_STATES||(Pt.SOCKET_STATES={}));var an;(function(Wt){Wt["closed"]="closed";Wt["errored"]="errored";Wt["joined"]="joined";Wt["joining"]="joining";Wt["leaving"]="leaving"})(an=Pt.CHANNEL_STATES||(Pt.CHANNEL_STATES={}));var In;(function(Wt){Wt["close"]="phx_close";Wt["error"]="phx_error";Wt["join"]="phx_join";Wt["reply"]="phx_reply";Wt["leave"]="phx_leave";Wt["access_token"]="access_token"})(In=Pt.CHANNEL_EVENTS||(Pt.CHANNEL_EVENTS={}));var rn;(function(Wt){Wt["websocket"]="websocket"})(rn=Pt.TRANSPORTS||(Pt.TRANSPORTS={}));var sn;(function(Wt){Wt["Connecting"]="connecting";Wt["Open"]="open";Wt["Closing"]="closing";Wt["Closed"]="closed"})(sn=Pt.CONNECTION_STATE||(Pt.CONNECTION_STATE={}))},49333:(Wt,Pt,en)=>{Object.defineProperty(Pt,"__esModule",{value:true});const tn=en(29680);class Push{constructor(Wt,Pt,en={},nn=tn.DEFAULT_TIMEOUT){this.channel=Wt;this.event=Pt;this.payload=en;this.timeout=nn;this.sent=false;this.timeoutTimer=undefined;this.ref="";this.receivedResp=null;this.recHooks=[];this.refEvent=null}resend(Wt){this.timeout=Wt;this._cancelRefEvent();this.ref="";this.refEvent=null;this.receivedResp=null;this.sent=false;this.send()}send(){if(this._hasReceived("timeout")){return}this.startTimeout();this.sent=true;this.channel.socket.push({topic:this.channel.topic,event:this.event,payload:this.payload,ref:this.ref,join_ref:this.channel._joinRef()})}updatePayload(Wt){this.payload=Object.assign(Object.assign({},this.payload),Wt)}receive(Wt,Pt){var en;if(this._hasReceived(Wt)){Pt((en=this.receivedResp)===null||en===void 0?void 0:en.response)}this.recHooks.push({status:Wt,callback:Pt});return this}startTimeout(){if(this.timeoutTimer){return}this.ref=this.channel.socket._makeRef();this.refEvent=this.channel._replyEventName(this.ref);const callback=Wt=>{this._cancelRefEvent();this._cancelTimeout();this.receivedResp=Wt;this._matchReceive(Wt)};this.channel._on(this.refEvent,{},callback);this.timeoutTimer=setTimeout((()=>{this.trigger("timeout",{})}),this.timeout)}trigger(Wt,Pt){if(this.refEvent)this.channel._trigger(this.refEvent,{status:Wt,response:Pt})}destroy(){this._cancelRefEvent();this._cancelTimeout()}_cancelRefEvent(){if(!this.refEvent){return}this.channel._off(this.refEvent,{})}_cancelTimeout(){clearTimeout(this.timeoutTimer);this.timeoutTimer=undefined}_matchReceive({status:Wt,response:Pt}){this.recHooks.filter((Pt=>Pt.status===Wt)).forEach((Wt=>Wt.callback(Pt)))}_hasReceived(Wt){return this.receivedResp&&this.receivedResp.status===Wt}}Pt["default"]=Push},72049:(Wt,Pt)=>{Object.defineProperty(Pt,"__esModule",{value:true});class Serializer{constructor(){this.HEADER_LENGTH=1}decode(Wt,Pt){if(Wt.constructor===ArrayBuffer){return Pt(this._binaryDecode(Wt))}if(typeof Wt==="string"){return Pt(JSON.parse(Wt))}return Pt({})}_binaryDecode(Wt){const Pt=new DataView(Wt);const en=new TextDecoder;return this._decodeBroadcast(Wt,Pt,en)}_decodeBroadcast(Wt,Pt,en){const tn=Pt.getUint8(1);const nn=Pt.getUint8(2);let an=this.HEADER_LENGTH+2;const In=en.decode(Wt.slice(an,an+tn));an=an+tn;const rn=en.decode(Wt.slice(an,an+nn));an=an+nn;const sn=JSON.parse(en.decode(Wt.slice(an,Wt.byteLength)));return{ref:null,topic:In,event:rn,payload:sn}}}Pt["default"]=Serializer},99920:(Wt,Pt)=>{Object.defineProperty(Pt,"__esModule",{value:true});class Timer{constructor(Wt,Pt){this.callback=Wt;this.timerCalc=Pt;this.timer=undefined;this.tries=0;this.callback=Wt;this.timerCalc=Pt}reset(){this.tries=0;clearTimeout(this.timer)}scheduleTimeout(){clearTimeout(this.timer);this.timer=setTimeout((()=>{this.tries=this.tries+1;this.callback()}),this.timerCalc(this.tries+1))}}Pt["default"]=Timer},93429:(Wt,Pt)=>{Object.defineProperty(Pt,"__esModule",{value:true});Pt.toTimestampString=Pt.toArray=Pt.toJson=Pt.toNumber=Pt.toBoolean=Pt.convertCell=Pt.convertColumn=Pt.convertChangeData=Pt.PostgresTypes=void 0;var en;(function(Wt){Wt["abstime"]="abstime";Wt["bool"]="bool";Wt["date"]="date";Wt["daterange"]="daterange";Wt["float4"]="float4";Wt["float8"]="float8";Wt["int2"]="int2";Wt["int4"]="int4";Wt["int4range"]="int4range";Wt["int8"]="int8";Wt["int8range"]="int8range";Wt["json"]="json";Wt["jsonb"]="jsonb";Wt["money"]="money";Wt["numeric"]="numeric";Wt["oid"]="oid";Wt["reltime"]="reltime";Wt["text"]="text";Wt["time"]="time";Wt["timestamp"]="timestamp";Wt["timestamptz"]="timestamptz";Wt["timetz"]="timetz";Wt["tsrange"]="tsrange";Wt["tstzrange"]="tstzrange"})(en=Pt.PostgresTypes||(Pt.PostgresTypes={}));const convertChangeData=(Wt,en,tn={})=>{var nn;const an=(nn=tn.skipTypes)!==null&&nn!==void 0?nn:[];return Object.keys(en).reduce(((tn,nn)=>{tn[nn]=(0,Pt.convertColumn)(nn,Wt,en,an);return tn}),{})};Pt.convertChangeData=convertChangeData;const convertColumn=(Wt,en,tn,nn)=>{const an=en.find((Pt=>Pt.name===Wt));const In=an===null||an===void 0?void 0:an.type;const rn=tn[Wt];if(In&&!nn.includes(In)){return(0,Pt.convertCell)(In,rn)}return noop(rn)};Pt.convertColumn=convertColumn;const convertCell=(Wt,tn)=>{if(Wt.charAt(0)==="_"){const en=Wt.slice(1,Wt.length);return(0,Pt.toArray)(tn,en)}switch(Wt){case en.bool:return(0,Pt.toBoolean)(tn);case en.float4:case en.float8:case en.int2:case en.int4:case en.int8:case en.numeric:case en.oid:return(0,Pt.toNumber)(tn);case en.json:case en.jsonb:return(0,Pt.toJson)(tn);case en.timestamp:return(0,Pt.toTimestampString)(tn);case en.abstime:case en.date:case en.daterange:case en.int4range:case en.int8range:case en.money:case en.reltime:case en.text:case en.time:case en.timestamptz:case en.timetz:case en.tsrange:case en.tstzrange:return noop(tn);default:return noop(tn)}};Pt.convertCell=convertCell;const noop=Wt=>Wt;const toBoolean=Wt=>{switch(Wt){case"t":return true;case"f":return false;default:return Wt}};Pt.toBoolean=toBoolean;const toNumber=Wt=>{if(typeof Wt==="string"){const Pt=parseFloat(Wt);if(!Number.isNaN(Pt)){return Pt}}return Wt};Pt.toNumber=toNumber;const toJson=Wt=>{if(typeof Wt==="string"){try{return JSON.parse(Wt)}catch(Pt){console.log(`JSON parse error: ${Pt}`);return Wt}}return Wt};Pt.toJson=toJson;const toArray=(Wt,en)=>{if(typeof Wt!=="string"){return Wt}const tn=Wt.length-1;const nn=Wt[tn];const an=Wt[0];if(an==="{"&&nn==="}"){let nn;const an=Wt.slice(1,tn);try{nn=JSON.parse("["+an+"]")}catch(Wt){nn=an?an.split(","):[]}return nn.map((Wt=>(0,Pt.convertCell)(en,Wt)))}return Wt};Pt.toArray=toArray;const toTimestampString=Wt=>{if(typeof Wt==="string"){return Wt.replace(" ","T")}return Wt};Pt.toTimestampString=toTimestampString},38889:(Wt,Pt)=>{Object.defineProperty(Pt,"__esModule",{value:true});Pt.version=void 0;Pt.version="2.9.3"},31373:function(Wt,Pt,en){var tn=this&&this.__importDefault||function(Wt){return Wt&&Wt.__esModule?Wt:{default:Wt}};Object.defineProperty(Pt,"__esModule",{value:true});Pt.StorageClient=void 0;const nn=tn(en(15384));const an=tn(en(64788));class StorageClient extends an.default{constructor(Wt,Pt={},en){super(Wt,Pt,en)}from(Wt){return new nn.default(this.url,this.headers,Wt,this.fetch)}}Pt.StorageClient=StorageClient},71595:function(Wt,Pt,en){var tn=this&&this.__createBinding||(Object.create?function(Wt,Pt,en,tn){if(tn===undefined)tn=en;var nn=Object.getOwnPropertyDescriptor(Pt,en);if(!nn||("get"in nn?!Pt.__esModule:nn.writable||nn.configurable)){nn={enumerable:true,get:function(){return Pt[en]}}}Object.defineProperty(Wt,tn,nn)}:function(Wt,Pt,en,tn){if(tn===undefined)tn=en;Wt[tn]=Pt[en]});var nn=this&&this.__exportStar||function(Wt,Pt){for(var en in Wt)if(en!=="default"&&!Object.prototype.hasOwnProperty.call(Pt,en))tn(Pt,Wt,en)};Object.defineProperty(Pt,"__esModule",{value:true});Pt.StorageClient=void 0;var an=en(31373);Object.defineProperty(Pt,"StorageClient",{enumerable:true,get:function(){return an.StorageClient}});nn(en(58362),Pt);nn(en(9012),Pt)},28990:(Wt,Pt,en)=>{Object.defineProperty(Pt,"__esModule",{value:true});Pt.DEFAULT_HEADERS=void 0;const tn=en(7827);Pt.DEFAULT_HEADERS={"X-Client-Info":`storage-js/${tn.version}`}},9012:(Wt,Pt)=>{Object.defineProperty(Pt,"__esModule",{value:true});Pt.StorageUnknownError=Pt.StorageApiError=Pt.isStorageError=Pt.StorageError=void 0;class StorageError extends Error{constructor(Wt){super(Wt);this.__isStorageError=true;this.name="StorageError"}}Pt.StorageError=StorageError;function isStorageError(Wt){return typeof Wt==="object"&&Wt!==null&&"__isStorageError"in Wt}Pt.isStorageError=isStorageError;class StorageApiError extends StorageError{constructor(Wt,Pt){super(Wt);this.name="StorageApiError";this.status=Pt}toJSON(){return{name:this.name,message:this.message,status:this.status}}}Pt.StorageApiError=StorageApiError;class StorageUnknownError extends StorageError{constructor(Wt,Pt){super(Wt);this.name="StorageUnknownError";this.originalError=Pt}}Pt.StorageUnknownError=StorageUnknownError},43183:function(Wt,Pt,en){var tn=this&&this.__awaiter||function(Wt,Pt,en,tn){function adopt(Wt){return Wt instanceof en?Wt:new en((function(Pt){Pt(Wt)}))}return new(en||(en=Promise))((function(en,nn){function fulfilled(Wt){try{step(tn.next(Wt))}catch(Wt){nn(Wt)}}function rejected(Wt){try{step(tn["throw"](Wt))}catch(Wt){nn(Wt)}}function step(Wt){Wt.done?en(Wt.value):adopt(Wt.value).then(fulfilled,rejected)}step((tn=tn.apply(Wt,Pt||[])).next())}))};Object.defineProperty(Pt,"__esModule",{value:true});Pt.remove=Pt.put=Pt.post=Pt.get=void 0;const nn=en(9012);const an=en(58954);const _getErrorMessage=Wt=>Wt.msg||Wt.message||Wt.error_description||Wt.error||JSON.stringify(Wt);const handleError=(Wt,Pt)=>tn(void 0,void 0,void 0,(function*(){const en=yield(0,an.resolveResponse)();if(Wt instanceof en){Wt.json().then((en=>{Pt(new nn.StorageApiError(_getErrorMessage(en),Wt.status||500))})).catch((Wt=>{Pt(new nn.StorageUnknownError(_getErrorMessage(Wt),Wt))}))}else{Pt(new nn.StorageUnknownError(_getErrorMessage(Wt),Wt))}}));const _getRequestParams=(Wt,Pt,en,tn)=>{const nn={method:Wt,headers:(Pt===null||Pt===void 0?void 0:Pt.headers)||{}};if(Wt==="GET"){return nn}nn.headers=Object.assign({"Content-Type":"application/json"},Pt===null||Pt===void 0?void 0:Pt.headers);nn.body=JSON.stringify(tn);return Object.assign(Object.assign({},nn),en)};function _handleRequest(Wt,Pt,en,nn,an,In){return tn(this,void 0,void 0,(function*(){return new Promise(((tn,rn)=>{Wt(en,_getRequestParams(Pt,nn,an,In)).then((Wt=>{if(!Wt.ok)throw Wt;if(nn===null||nn===void 0?void 0:nn.noResolveJson)return Wt;return Wt.json()})).then((Wt=>tn(Wt))).catch((Wt=>handleError(Wt,rn)))}))}))}function get(Wt,Pt,en,nn){return tn(this,void 0,void 0,(function*(){return _handleRequest(Wt,"GET",Pt,en,nn)}))}Pt.get=get;function post(Wt,Pt,en,nn,an){return tn(this,void 0,void 0,(function*(){return _handleRequest(Wt,"POST",Pt,nn,an,en)}))}Pt.post=post;function put(Wt,Pt,en,nn,an){return tn(this,void 0,void 0,(function*(){return _handleRequest(Wt,"PUT",Pt,nn,an,en)}))}Pt.put=put;function remove(Wt,Pt,en,nn,an){return tn(this,void 0,void 0,(function*(){return _handleRequest(Wt,"DELETE",Pt,nn,an,en)}))}Pt.remove=remove},58954:function(Wt,Pt,en){var tn=this&&this.__createBinding||(Object.create?function(Wt,Pt,en,tn){if(tn===undefined)tn=en;var nn=Object.getOwnPropertyDescriptor(Pt,en);if(!nn||("get"in nn?!Pt.__esModule:nn.writable||nn.configurable)){nn={enumerable:true,get:function(){return Pt[en]}}}Object.defineProperty(Wt,tn,nn)}:function(Wt,Pt,en,tn){if(tn===undefined)tn=en;Wt[tn]=Pt[en]});var nn=this&&this.__setModuleDefault||(Object.create?function(Wt,Pt){Object.defineProperty(Wt,"default",{enumerable:true,value:Pt})}:function(Wt,Pt){Wt["default"]=Pt});var an=this&&this.__importStar||function(Wt){if(Wt&&Wt.__esModule)return Wt;var Pt={};if(Wt!=null)for(var en in Wt)if(en!=="default"&&Object.prototype.hasOwnProperty.call(Wt,en))tn(Pt,Wt,en);nn(Pt,Wt);return Pt};var In=this&&this.__awaiter||function(Wt,Pt,en,tn){function adopt(Wt){return Wt instanceof en?Wt:new en((function(Pt){Pt(Wt)}))}return new(en||(en=Promise))((function(en,nn){function fulfilled(Wt){try{step(tn.next(Wt))}catch(Wt){nn(Wt)}}function rejected(Wt){try{step(tn["throw"](Wt))}catch(Wt){nn(Wt)}}function step(Wt){Wt.done?en(Wt.value):adopt(Wt.value).then(fulfilled,rejected)}step((tn=tn.apply(Wt,Pt||[])).next())}))};Object.defineProperty(Pt,"__esModule",{value:true});Pt.resolveResponse=Pt.resolveFetch=void 0;const resolveFetch=Wt=>{let Pt;if(Wt){Pt=Wt}else if(typeof fetch==="undefined"){Pt=(...Wt)=>Promise.resolve().then((()=>an(en(83318)))).then((({default:Pt})=>Pt(...Wt)))}else{Pt=fetch}return(...Wt)=>Pt(...Wt)};Pt.resolveFetch=resolveFetch;const resolveResponse=()=>In(void 0,void 0,void 0,(function*(){if(typeof Response==="undefined"){return(yield Promise.resolve().then((()=>an(en(83318))))).Response}return Response}));Pt.resolveResponse=resolveResponse},58362:(Wt,Pt)=>{Object.defineProperty(Pt,"__esModule",{value:true})},7827:(Wt,Pt)=>{Object.defineProperty(Pt,"__esModule",{value:true});Pt.version=void 0;Pt.version="2.5.5"},64788:function(Wt,Pt,en){var tn=this&&this.__awaiter||function(Wt,Pt,en,tn){function adopt(Wt){return Wt instanceof en?Wt:new en((function(Pt){Pt(Wt)}))}return new(en||(en=Promise))((function(en,nn){function fulfilled(Wt){try{step(tn.next(Wt))}catch(Wt){nn(Wt)}}function rejected(Wt){try{step(tn["throw"](Wt))}catch(Wt){nn(Wt)}}function step(Wt){Wt.done?en(Wt.value):adopt(Wt.value).then(fulfilled,rejected)}step((tn=tn.apply(Wt,Pt||[])).next())}))};Object.defineProperty(Pt,"__esModule",{value:true});const nn=en(28990);const an=en(9012);const In=en(43183);const rn=en(58954);class StorageBucketApi{constructor(Wt,Pt={},en){this.url=Wt;this.headers=Object.assign(Object.assign({},nn.DEFAULT_HEADERS),Pt);this.fetch=(0,rn.resolveFetch)(en)}listBuckets(){return tn(this,void 0,void 0,(function*(){try{const Wt=yield(0,In.get)(this.fetch,`${this.url}/bucket`,{headers:this.headers});return{data:Wt,error:null}}catch(Wt){if((0,an.isStorageError)(Wt)){return{data:null,error:Wt}}throw Wt}}))}getBucket(Wt){return tn(this,void 0,void 0,(function*(){try{const Pt=yield(0,In.get)(this.fetch,`${this.url}/bucket/${Wt}`,{headers:this.headers});return{data:Pt,error:null}}catch(Wt){if((0,an.isStorageError)(Wt)){return{data:null,error:Wt}}throw Wt}}))}createBucket(Wt,Pt={public:false}){return tn(this,void 0,void 0,(function*(){try{const en=yield(0,In.post)(this.fetch,`${this.url}/bucket`,{id:Wt,name:Wt,public:Pt.public,file_size_limit:Pt.fileSizeLimit,allowed_mime_types:Pt.allowedMimeTypes},{headers:this.headers});return{data:en,error:null}}catch(Wt){if((0,an.isStorageError)(Wt)){return{data:null,error:Wt}}throw Wt}}))}updateBucket(Wt,Pt){return tn(this,void 0,void 0,(function*(){try{const en=yield(0,In.put)(this.fetch,`${this.url}/bucket/${Wt}`,{id:Wt,name:Wt,public:Pt.public,file_size_limit:Pt.fileSizeLimit,allowed_mime_types:Pt.allowedMimeTypes},{headers:this.headers});return{data:en,error:null}}catch(Wt){if((0,an.isStorageError)(Wt)){return{data:null,error:Wt}}throw Wt}}))}emptyBucket(Wt){return tn(this,void 0,void 0,(function*(){try{const Pt=yield(0,In.post)(this.fetch,`${this.url}/bucket/${Wt}/empty`,{},{headers:this.headers});return{data:Pt,error:null}}catch(Wt){if((0,an.isStorageError)(Wt)){return{data:null,error:Wt}}throw Wt}}))}deleteBucket(Wt){return tn(this,void 0,void 0,(function*(){try{const Pt=yield(0,In.remove)(this.fetch,`${this.url}/bucket/${Wt}`,{},{headers:this.headers});return{data:Pt,error:null}}catch(Wt){if((0,an.isStorageError)(Wt)){return{data:null,error:Wt}}throw Wt}}))}}Pt["default"]=StorageBucketApi},15384:function(Wt,Pt,en){var tn=this&&this.__awaiter||function(Wt,Pt,en,tn){function adopt(Wt){return Wt instanceof en?Wt:new en((function(Pt){Pt(Wt)}))}return new(en||(en=Promise))((function(en,nn){function fulfilled(Wt){try{step(tn.next(Wt))}catch(Wt){nn(Wt)}}function rejected(Wt){try{step(tn["throw"](Wt))}catch(Wt){nn(Wt)}}function step(Wt){Wt.done?en(Wt.value):adopt(Wt.value).then(fulfilled,rejected)}step((tn=tn.apply(Wt,Pt||[])).next())}))};Object.defineProperty(Pt,"__esModule",{value:true});const nn=en(9012);const an=en(43183);const In=en(58954);const rn={limit:100,offset:0,sortBy:{column:"name",order:"asc"}};const sn={cacheControl:"3600",contentType:"text/plain;charset=UTF-8",upsert:false};class StorageFileApi{constructor(Wt,Pt={},en,tn){this.url=Wt;this.headers=Pt;this.bucketId=en;this.fetch=(0,In.resolveFetch)(tn)}uploadOrUpdate(Wt,Pt,en,an){return tn(this,void 0,void 0,(function*(){try{let tn;const nn=Object.assign(Object.assign({},sn),an);const In=Object.assign(Object.assign({},this.headers),Wt==="POST"&&{"x-upsert":String(nn.upsert)});if(typeof Blob!=="undefined"&&en instanceof Blob){tn=new FormData;tn.append("cacheControl",nn.cacheControl);tn.append("",en)}else if(typeof FormData!=="undefined"&&en instanceof FormData){tn=en;tn.append("cacheControl",nn.cacheControl)}else{tn=en;In["cache-control"]=`max-age=${nn.cacheControl}`;In["content-type"]=nn.contentType}const rn=this._removeEmptyFolders(Pt);const on=this._getFinalPath(rn);const cn=yield this.fetch(`${this.url}/object/${on}`,Object.assign({method:Wt,body:tn,headers:In},(nn===null||nn===void 0?void 0:nn.duplex)?{duplex:nn.duplex}:{}));const dn=yield cn.json();if(cn.ok){return{data:{path:rn,id:dn.Id,fullPath:dn.Key},error:null}}else{const Wt=dn;return{data:null,error:Wt}}}catch(Wt){if((0,nn.isStorageError)(Wt)){return{data:null,error:Wt}}throw Wt}}))}upload(Wt,Pt,en){return tn(this,void 0,void 0,(function*(){return this.uploadOrUpdate("POST",Wt,Pt,en)}))}uploadToSignedUrl(Wt,Pt,en,an){return tn(this,void 0,void 0,(function*(){const tn=this._removeEmptyFolders(Wt);const In=this._getFinalPath(tn);const rn=new URL(this.url+`/object/upload/sign/${In}`);rn.searchParams.set("token",Pt);try{let Wt;const Pt=Object.assign({upsert:sn.upsert},an);const nn=Object.assign(Object.assign({},this.headers),{"x-upsert":String(Pt.upsert)});if(typeof Blob!=="undefined"&&en instanceof Blob){Wt=new FormData;Wt.append("cacheControl",Pt.cacheControl);Wt.append("",en)}else if(typeof FormData!=="undefined"&&en instanceof FormData){Wt=en;Wt.append("cacheControl",Pt.cacheControl)}else{Wt=en;nn["cache-control"]=`max-age=${Pt.cacheControl}`;nn["content-type"]=Pt.contentType}const In=yield this.fetch(rn.toString(),{method:"PUT",body:Wt,headers:nn});const on=yield In.json();if(In.ok){return{data:{path:tn,fullPath:on.Key},error:null}}else{const Wt=on;return{data:null,error:Wt}}}catch(Wt){if((0,nn.isStorageError)(Wt)){return{data:null,error:Wt}}throw Wt}}))}createSignedUploadUrl(Wt){return tn(this,void 0,void 0,(function*(){try{let Pt=this._getFinalPath(Wt);const en=yield(0,an.post)(this.fetch,`${this.url}/object/upload/sign/${Pt}`,{},{headers:this.headers});const tn=new URL(this.url+en.url);const In=tn.searchParams.get("token");if(!In){throw new nn.StorageError("No token returned by API")}return{data:{signedUrl:tn.toString(),path:Wt,token:In},error:null}}catch(Wt){if((0,nn.isStorageError)(Wt)){return{data:null,error:Wt}}throw Wt}}))}update(Wt,Pt,en){return tn(this,void 0,void 0,(function*(){return this.uploadOrUpdate("PUT",Wt,Pt,en)}))}move(Wt,Pt){return tn(this,void 0,void 0,(function*(){try{const en=yield(0,an.post)(this.fetch,`${this.url}/object/move`,{bucketId:this.bucketId,sourceKey:Wt,destinationKey:Pt},{headers:this.headers});return{data:en,error:null}}catch(Wt){if((0,nn.isStorageError)(Wt)){return{data:null,error:Wt}}throw Wt}}))}copy(Wt,Pt){return tn(this,void 0,void 0,(function*(){try{const en=yield(0,an.post)(this.fetch,`${this.url}/object/copy`,{bucketId:this.bucketId,sourceKey:Wt,destinationKey:Pt},{headers:this.headers});return{data:{path:en.Key},error:null}}catch(Wt){if((0,nn.isStorageError)(Wt)){return{data:null,error:Wt}}throw Wt}}))}createSignedUrl(Wt,Pt,en){return tn(this,void 0,void 0,(function*(){try{let tn=this._getFinalPath(Wt);let nn=yield(0,an.post)(this.fetch,`${this.url}/object/sign/${tn}`,Object.assign({expiresIn:Pt},(en===null||en===void 0?void 0:en.transform)?{transform:en.transform}:{}),{headers:this.headers});const In=(en===null||en===void 0?void 0:en.download)?`&download=${en.download===true?"":en.download}`:"";const rn=encodeURI(`${this.url}${nn.signedURL}${In}`);nn={signedUrl:rn};return{data:nn,error:null}}catch(Wt){if((0,nn.isStorageError)(Wt)){return{data:null,error:Wt}}throw Wt}}))}createSignedUrls(Wt,Pt,en){return tn(this,void 0,void 0,(function*(){try{const tn=yield(0,an.post)(this.fetch,`${this.url}/object/sign/${this.bucketId}`,{expiresIn:Pt,paths:Wt},{headers:this.headers});const nn=(en===null||en===void 0?void 0:en.download)?`&download=${en.download===true?"":en.download}`:"";return{data:tn.map((Wt=>Object.assign(Object.assign({},Wt),{signedUrl:Wt.signedURL?encodeURI(`${this.url}${Wt.signedURL}${nn}`):null}))),error:null}}catch(Wt){if((0,nn.isStorageError)(Wt)){return{data:null,error:Wt}}throw Wt}}))}download(Wt,Pt){return tn(this,void 0,void 0,(function*(){const en=typeof(Pt===null||Pt===void 0?void 0:Pt.transform)!=="undefined";const tn=en?"render/image/authenticated":"object";const In=this.transformOptsToQueryString((Pt===null||Pt===void 0?void 0:Pt.transform)||{});const rn=In?`?${In}`:"";try{const Pt=this._getFinalPath(Wt);const en=yield(0,an.get)(this.fetch,`${this.url}/${tn}/${Pt}${rn}`,{headers:this.headers,noResolveJson:true});const nn=yield en.blob();return{data:nn,error:null}}catch(Wt){if((0,nn.isStorageError)(Wt)){return{data:null,error:Wt}}throw Wt}}))}getPublicUrl(Wt,Pt){const en=this._getFinalPath(Wt);const tn=[];const nn=(Pt===null||Pt===void 0?void 0:Pt.download)?`download=${Pt.download===true?"":Pt.download}`:"";if(nn!==""){tn.push(nn)}const an=typeof(Pt===null||Pt===void 0?void 0:Pt.transform)!=="undefined";const In=an?"render/image":"object";const rn=this.transformOptsToQueryString((Pt===null||Pt===void 0?void 0:Pt.transform)||{});if(rn!==""){tn.push(rn)}let sn=tn.join("&");if(sn!==""){sn=`?${sn}`}return{data:{publicUrl:encodeURI(`${this.url}/${In}/public/${en}${sn}`)}}}remove(Wt){return tn(this,void 0,void 0,(function*(){try{const Pt=yield(0,an.remove)(this.fetch,`${this.url}/object/${this.bucketId}`,{prefixes:Wt},{headers:this.headers});return{data:Pt,error:null}}catch(Wt){if((0,nn.isStorageError)(Wt)){return{data:null,error:Wt}}throw Wt}}))}list(Wt,Pt,en){return tn(this,void 0,void 0,(function*(){try{const tn=Object.assign(Object.assign(Object.assign({},rn),Pt),{prefix:Wt||""});const nn=yield(0,an.post)(this.fetch,`${this.url}/object/list/${this.bucketId}`,tn,{headers:this.headers},en);return{data:nn,error:null}}catch(Wt){if((0,nn.isStorageError)(Wt)){return{data:null,error:Wt}}throw Wt}}))}_getFinalPath(Wt){return`${this.bucketId}/${Wt}`}_removeEmptyFolders(Wt){return Wt.replace(/^\/|\/$/g,"").replace(/\/+/g,"/")}transformOptsToQueryString(Wt){const Pt=[];if(Wt.width){Pt.push(`width=${Wt.width}`)}if(Wt.height){Pt.push(`height=${Wt.height}`)}if(Wt.resize){Pt.push(`resize=${Wt.resize}`)}if(Wt.format){Pt.push(`format=${Wt.format}`)}if(Wt.quality){Pt.push(`quality=${Wt.quality}`)}return Pt.join("&")}}Pt["default"]=StorageFileApi},61619:function(Wt,Pt,en){var tn=this&&this.__awaiter||function(Wt,Pt,en,tn){function adopt(Wt){return Wt instanceof en?Wt:new en((function(Pt){Pt(Wt)}))}return new(en||(en=Promise))((function(en,nn){function fulfilled(Wt){try{step(tn.next(Wt))}catch(Wt){nn(Wt)}}function rejected(Wt){try{step(tn["throw"](Wt))}catch(Wt){nn(Wt)}}function step(Wt){Wt.done?en(Wt.value):adopt(Wt.value).then(fulfilled,rejected)}step((tn=tn.apply(Wt,Pt||[])).next())}))};Object.defineProperty(Pt,"__esModule",{value:true});const nn=en(70459);const an=en(60927);const In=en(36209);const rn=en(71595);const sn=en(23597);const on=en(73248);const cn=en(87301);const dn=en(15253);class SupabaseClient{constructor(Wt,Pt,en){var tn,nn,In,rn,dn,un,pn,mn;this.supabaseUrl=Wt;this.supabaseKey=Pt;if(!Wt)throw new Error("supabaseUrl is required.");if(!Pt)throw new Error("supabaseKey is required.");const bn=(0,cn.stripTrailingSlash)(Wt);this.realtimeUrl=`${bn}/realtime/v1`.replace(/^http/i,"ws");this.authUrl=`${bn}/auth/v1`;this.storageUrl=`${bn}/storage/v1`;this.functionsUrl=`${bn}/functions/v1`;const Gn=`sb-${new URL(this.authUrl).hostname.split(".")[0]}-auth-token`;const hn={db:sn.DEFAULT_DB_OPTIONS,realtime:sn.DEFAULT_REALTIME_OPTIONS,auth:Object.assign(Object.assign({},sn.DEFAULT_AUTH_OPTIONS),{storageKey:Gn}),global:sn.DEFAULT_GLOBAL_OPTIONS};const Zn=(0,cn.applySettingDefaults)(en!==null&&en!==void 0?en:{},hn);this.storageKey=(nn=(tn=Zn.auth)===null||tn===void 0?void 0:tn.storageKey)!==null&&nn!==void 0?nn:"";this.headers=(rn=(In=Zn.global)===null||In===void 0?void 0:In.headers)!==null&&rn!==void 0?rn:{};this.auth=this._initSupabaseAuthClient((dn=Zn.auth)!==null&&dn!==void 0?dn:{},this.headers,(un=Zn.global)===null||un===void 0?void 0:un.fetch);this.fetch=(0,on.fetchWithAuth)(Pt,this._getAccessToken.bind(this),(pn=Zn.global)===null||pn===void 0?void 0:pn.fetch);this.realtime=this._initRealtimeClient(Object.assign({headers:this.headers},Zn.realtime));this.rest=new an.PostgrestClient(`${bn}/rest/v1`,{headers:this.headers,schema:(mn=Zn.db)===null||mn===void 0?void 0:mn.schema,fetch:this.fetch});this._listenForAuthEvents()}get functions(){return new nn.FunctionsClient(this.functionsUrl,{headers:this.headers,customFetch:this.fetch})}get storage(){return new rn.StorageClient(this.storageUrl,this.headers,this.fetch)}from(Wt){return this.rest.from(Wt)}schema(Wt){return this.rest.schema(Wt)}rpc(Wt,Pt={},en={}){return this.rest.rpc(Wt,Pt,en)}channel(Wt,Pt={config:{}}){return this.realtime.channel(Wt,Pt)}getChannels(){return this.realtime.getChannels()}removeChannel(Wt){return this.realtime.removeChannel(Wt)}removeAllChannels(){return this.realtime.removeAllChannels()}_getAccessToken(){var Wt,Pt;return tn(this,void 0,void 0,(function*(){const{data:en}=yield this.auth.getSession();return(Pt=(Wt=en.session)===null||Wt===void 0?void 0:Wt.access_token)!==null&&Pt!==void 0?Pt:null}))}_initSupabaseAuthClient({autoRefreshToken:Wt,persistSession:Pt,detectSessionInUrl:en,storage:tn,storageKey:nn,flowType:an,debug:In},rn,sn){const on={Authorization:`Bearer ${this.supabaseKey}`,apikey:`${this.supabaseKey}`};return new dn.SupabaseAuthClient({url:this.authUrl,headers:Object.assign(Object.assign({},on),rn),storageKey:nn,autoRefreshToken:Wt,persistSession:Pt,detectSessionInUrl:en,storage:tn,flowType:an,debug:In,fetch:sn})}_initRealtimeClient(Wt){return new In.RealtimeClient(this.realtimeUrl,Object.assign(Object.assign({},Wt),{params:Object.assign({apikey:this.supabaseKey},Wt===null||Wt===void 0?void 0:Wt.params)}))}_listenForAuthEvents(){let Wt=this.auth.onAuthStateChange(((Wt,Pt)=>{this._handleTokenChanged(Wt,"CLIENT",Pt===null||Pt===void 0?void 0:Pt.access_token)}));return Wt}_handleTokenChanged(Wt,Pt,en){if((Wt==="TOKEN_REFRESHED"||Wt==="SIGNED_IN")&&this.changedAccessToken!==en){this.realtime.setAuth(en!==null&&en!==void 0?en:null);this.changedAccessToken=en}else if(Wt==="SIGNED_OUT"){this.realtime.setAuth(this.supabaseKey);if(Pt=="STORAGE")this.auth.signOut();this.changedAccessToken=undefined}}}Pt["default"]=SupabaseClient},85036:function(Wt,Pt,en){var tn=this&&this.__createBinding||(Object.create?function(Wt,Pt,en,tn){if(tn===undefined)tn=en;var nn=Object.getOwnPropertyDescriptor(Pt,en);if(!nn||("get"in nn?!Pt.__esModule:nn.writable||nn.configurable)){nn={enumerable:true,get:function(){return Pt[en]}}}Object.defineProperty(Wt,tn,nn)}:function(Wt,Pt,en,tn){if(tn===undefined)tn=en;Wt[tn]=Pt[en]});var nn=this&&this.__exportStar||function(Wt,Pt){for(var en in Wt)if(en!=="default"&&!Object.prototype.hasOwnProperty.call(Pt,en))tn(Pt,Wt,en)};var an=this&&this.__importDefault||function(Wt){return Wt&&Wt.__esModule?Wt:{default:Wt}};Object.defineProperty(Pt,"__esModule",{value:true});Pt.createClient=Pt.SupabaseClient=Pt.FunctionRegion=Pt.FunctionsError=Pt.FunctionsRelayError=Pt.FunctionsFetchError=Pt.FunctionsHttpError=void 0;const In=an(en(61619));nn(en(31904),Pt);var rn=en(70459);Object.defineProperty(Pt,"FunctionsHttpError",{enumerable:true,get:function(){return rn.FunctionsHttpError}});Object.defineProperty(Pt,"FunctionsFetchError",{enumerable:true,get:function(){return rn.FunctionsFetchError}});Object.defineProperty(Pt,"FunctionsRelayError",{enumerable:true,get:function(){return rn.FunctionsRelayError}});Object.defineProperty(Pt,"FunctionsError",{enumerable:true,get:function(){return rn.FunctionsError}});Object.defineProperty(Pt,"FunctionRegion",{enumerable:true,get:function(){return rn.FunctionRegion}});nn(en(36209),Pt);var sn=en(61619);Object.defineProperty(Pt,"SupabaseClient",{enumerable:true,get:function(){return an(sn).default}});const createClient=(Wt,Pt,en)=>new In.default(Wt,Pt,en);Pt.createClient=createClient},15253:(Wt,Pt,en)=>{Object.defineProperty(Pt,"__esModule",{value:true});Pt.SupabaseAuthClient=void 0;const tn=en(31904);class SupabaseAuthClient extends tn.AuthClient{constructor(Wt){super(Wt)}}Pt.SupabaseAuthClient=SupabaseAuthClient},23597:(Wt,Pt,en)=>{Object.defineProperty(Pt,"__esModule",{value:true});Pt.DEFAULT_REALTIME_OPTIONS=Pt.DEFAULT_AUTH_OPTIONS=Pt.DEFAULT_DB_OPTIONS=Pt.DEFAULT_GLOBAL_OPTIONS=Pt.DEFAULT_HEADERS=void 0;const tn=en(50116);let nn="";if(typeof Deno!=="undefined"){nn="deno"}else if(typeof document!=="undefined"){nn="web"}else if(typeof navigator!=="undefined"&&navigator.product==="ReactNative"){nn="react-native"}else{nn="node"}Pt.DEFAULT_HEADERS={"X-Client-Info":`supabase-js-${nn}/${tn.version}`};Pt.DEFAULT_GLOBAL_OPTIONS={headers:Pt.DEFAULT_HEADERS};Pt.DEFAULT_DB_OPTIONS={schema:"public"};Pt.DEFAULT_AUTH_OPTIONS={autoRefreshToken:true,persistSession:true,detectSessionInUrl:true,flowType:"implicit"};Pt.DEFAULT_REALTIME_OPTIONS={}},73248:function(Wt,Pt,en){var tn=this&&this.__createBinding||(Object.create?function(Wt,Pt,en,tn){if(tn===undefined)tn=en;var nn=Object.getOwnPropertyDescriptor(Pt,en);if(!nn||("get"in nn?!Pt.__esModule:nn.writable||nn.configurable)){nn={enumerable:true,get:function(){return Pt[en]}}}Object.defineProperty(Wt,tn,nn)}:function(Wt,Pt,en,tn){if(tn===undefined)tn=en;Wt[tn]=Pt[en]});var nn=this&&this.__setModuleDefault||(Object.create?function(Wt,Pt){Object.defineProperty(Wt,"default",{enumerable:true,value:Pt})}:function(Wt,Pt){Wt["default"]=Pt});var an=this&&this.__importStar||function(Wt){if(Wt&&Wt.__esModule)return Wt;var Pt={};if(Wt!=null)for(var en in Wt)if(en!=="default"&&Object.prototype.hasOwnProperty.call(Wt,en))tn(Pt,Wt,en);nn(Pt,Wt);return Pt};var In=this&&this.__awaiter||function(Wt,Pt,en,tn){function adopt(Wt){return Wt instanceof en?Wt:new en((function(Pt){Pt(Wt)}))}return new(en||(en=Promise))((function(en,nn){function fulfilled(Wt){try{step(tn.next(Wt))}catch(Wt){nn(Wt)}}function rejected(Wt){try{step(tn["throw"](Wt))}catch(Wt){nn(Wt)}}function step(Wt){Wt.done?en(Wt.value):adopt(Wt.value).then(fulfilled,rejected)}step((tn=tn.apply(Wt,Pt||[])).next())}))};Object.defineProperty(Pt,"__esModule",{value:true});Pt.fetchWithAuth=Pt.resolveHeadersConstructor=Pt.resolveFetch=void 0;const rn=an(en(83318));const resolveFetch=Wt=>{let Pt;if(Wt){Pt=Wt}else if(typeof fetch==="undefined"){Pt=rn.default}else{Pt=fetch}return(...Wt)=>Pt(...Wt)};Pt.resolveFetch=resolveFetch;const resolveHeadersConstructor=()=>{if(typeof Headers==="undefined"){return rn.Headers}return Headers};Pt.resolveHeadersConstructor=resolveHeadersConstructor;const fetchWithAuth=(Wt,en,tn)=>{const nn=(0,Pt.resolveFetch)(tn);const an=(0,Pt.resolveHeadersConstructor)();return(Pt,tn)=>In(void 0,void 0,void 0,(function*(){var In;const rn=(In=yield en())!==null&&In!==void 0?In:Wt;let sn=new an(tn===null||tn===void 0?void 0:tn.headers);if(!sn.has("apikey")){sn.set("apikey",Wt)}if(!sn.has("Authorization")){sn.set("Authorization",`Bearer ${rn}`)}return nn(Pt,Object.assign(Object.assign({},tn),{headers:sn}))}))};Pt.fetchWithAuth=fetchWithAuth},87301:(Wt,Pt)=>{Object.defineProperty(Pt,"__esModule",{value:true});Pt.applySettingDefaults=Pt.isBrowser=Pt.stripTrailingSlash=Pt.uuid=void 0;function uuid(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,(function(Wt){var Pt=Math.random()*16|0,en=Wt=="x"?Pt:Pt&3|8;return en.toString(16)}))}Pt.uuid=uuid;function stripTrailingSlash(Wt){return Wt.replace(/\/$/,"")}Pt.stripTrailingSlash=stripTrailingSlash;const isBrowser=()=>typeof window!=="undefined";Pt.isBrowser=isBrowser;function applySettingDefaults(Wt,Pt){const{db:en,auth:tn,realtime:nn,global:an}=Wt;const{db:In,auth:rn,realtime:sn,global:on}=Pt;return{db:Object.assign(Object.assign({},In),en),auth:Object.assign(Object.assign({},rn),tn),realtime:Object.assign(Object.assign({},sn),nn),global:Object.assign(Object.assign({},on),an)}}Pt.applySettingDefaults=applySettingDefaults},50116:(Wt,Pt)=>{Object.defineProperty(Pt,"__esModule",{value:true});Pt.version=void 0;Pt.version="2.42.0"},64360:(Wt,Pt,en)=>{var tn=Object.create;var nn=Object.defineProperty;var an=Object.getOwnPropertyDescriptor;var In=Object.getOwnPropertyNames;var rn=Object.getPrototypeOf;var sn=Object.prototype.hasOwnProperty;var __commonJS=(Wt,Pt)=>function __require(){return Pt||(0,Wt[In(Wt)[0]])((Pt={exports:{}}).exports,Pt),Pt.exports};var __export=(Wt,Pt)=>{for(var en in Pt)nn(Wt,en,{get:Pt[en],enumerable:true})};var __copyProps=(Wt,Pt,en,tn)=>{if(Pt&&typeof Pt==="object"||typeof Pt==="function"){for(let rn of In(Pt))if(!sn.call(Wt,rn)&&rn!==en)nn(Wt,rn,{get:()=>Pt[rn],enumerable:!(tn=an(Pt,rn))||tn.enumerable})}return Wt};var __toESM=(Wt,Pt,en)=>(en=Wt!=null?tn(rn(Wt)):{},__copyProps(Pt||!Wt||!Wt.__esModule?nn(en,"default",{value:Wt,enumerable:true}):en,Wt));var __toCommonJS=Wt=>__copyProps(nn({},"__esModule",{value:true}),Wt);var on=__commonJS({"node_modules/bn.js/lib/bn.js"(Wt,Pt){"use strict";(function(Wt,Pt){"use strict";function assert(Wt,Pt){if(!Wt)throw new Error(Pt||"Assertion failed")}function inherits2(Wt,Pt){Wt.super_=Pt;var TempCtor=function(){};TempCtor.prototype=Pt.prototype;Wt.prototype=new TempCtor;Wt.prototype.constructor=Wt}function BN(Wt,Pt,en){if(BN.isBN(Wt)){return Wt}this.negative=0;this.words=null;this.length=0;this.red=null;if(Wt!==null){if(Pt==="le"||Pt==="be"){en=Pt;Pt=10}this._init(Wt||0,Pt||10,en||"be")}}if(typeof Wt==="object"){Wt.exports=BN}else{Pt.BN=BN}BN.BN=BN;BN.wordSize=26;var tn;try{if(typeof window!=="undefined"&&typeof window.Buffer!=="undefined"){tn=window.Buffer}else{tn=en(20181).Buffer}}catch(Wt){}BN.isBN=function isBN(Wt){if(Wt instanceof BN){return true}return Wt!==null&&typeof Wt==="object"&&Wt.constructor.wordSize===BN.wordSize&&Array.isArray(Wt.words)};BN.max=function max(Wt,Pt){if(Wt.cmp(Pt)>0)return Wt;return Pt};BN.min=function min(Wt,Pt){if(Wt.cmp(Pt)<0)return Wt;return Pt};BN.prototype._init=function init(Wt,Pt,en){if(typeof Wt==="number"){return this._initNumber(Wt,Pt,en)}if(typeof Wt==="object"){return this._initArray(Wt,Pt,en)}if(Pt==="hex"){Pt=16}assert(Pt===(Pt|0)&&Pt>=2&&Pt<=36);Wt=Wt.toString().replace(/\s+/g,"");var tn=0;if(Wt[0]==="-"){tn++;this.negative=1}if(tn=0;tn-=3){an=Wt[tn]|Wt[tn-1]<<8|Wt[tn-2]<<16;this.words[nn]|=an<>>26-In&67108863;In+=24;if(In>=26){In-=26;nn++}}}else if(en==="le"){for(tn=0,nn=0;tn>>26-In&67108863;In+=24;if(In>=26){In-=26;nn++}}}return this._strip()};function parseHex4Bits(Wt,Pt){var en=Wt.charCodeAt(Pt);if(en>=48&&en<=57){return en-48}else if(en>=65&&en<=70){return en-55}else if(en>=97&&en<=102){return en-87}else{assert(false,"Invalid character in "+Wt)}}function parseHexByte(Wt,Pt,en){var tn=parseHex4Bits(Wt,en);if(en-1>=Pt){tn|=parseHex4Bits(Wt,en-1)<<4}return tn}BN.prototype._parseHex=function _parseHex(Wt,Pt,en){this.length=Math.ceil((Wt.length-Pt)/6);this.words=new Array(this.length);for(var tn=0;tn=Pt;tn-=2){In=parseHexByte(Wt,Pt,tn)<=18){nn-=18;an+=1;this.words[an]|=In>>>26}else{nn+=8}}}else{var rn=Wt.length-Pt;for(tn=rn%2===0?Pt+1:Pt;tn=18){nn-=18;an+=1;this.words[an]|=In>>>26}else{nn+=8}}}this._strip()};function parseBase(Wt,Pt,en,tn){var nn=0;var an=0;var In=Math.min(Wt.length,en);for(var rn=Pt;rn=49){an=sn-49+10}else if(sn>=17){an=sn-17+10}else{an=sn}assert(sn>=0&&an1&&this.words[this.length-1]===0){this.length--}return this._normSign()};BN.prototype._normSign=function _normSign(){if(this.length===1&&this.words[0]===0){this.negative=0}return this};if(typeof Symbol!=="undefined"&&typeof Symbol.for==="function"){try{BN.prototype[Symbol.for("nodejs.util.inspect.custom")]=inspect}catch(Wt){BN.prototype.inspect=inspect}}else{BN.prototype.inspect=inspect}function inspect(){return(this.red?""}var nn=["","0","00","000","0000","00000","000000","0000000","00000000","000000000","0000000000","00000000000","000000000000","0000000000000","00000000000000","000000000000000","0000000000000000","00000000000000000","000000000000000000","0000000000000000000","00000000000000000000","000000000000000000000","0000000000000000000000","00000000000000000000000","000000000000000000000000","0000000000000000000000000"];var an=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5];var In=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];BN.prototype.toString=function toString3(Wt,Pt){Wt=Wt||10;Pt=Pt|0||1;var en;if(Wt===16||Wt==="hex"){en="";var tn=0;var rn=0;for(var sn=0;sn>>24-tn&16777215;tn+=2;if(tn>=26){tn-=26;sn--}if(rn!==0||sn!==this.length-1){en=nn[6-cn.length]+cn+en}else{en=cn+en}}if(rn!==0){en=rn.toString(16)+en}while(en.length%Pt!==0){en="0"+en}if(this.negative!==0){en="-"+en}return en}if(Wt===(Wt|0)&&Wt>=2&&Wt<=36){var dn=an[Wt];var un=In[Wt];en="";var pn=this.clone();pn.negative=0;while(!pn.isZero()){var mn=pn.modrn(un).toString(Wt);pn=pn.idivn(un);if(!pn.isZero()){en=nn[dn-mn.length]+mn+en}else{en=mn+en}}if(this.isZero()){en="0"+en}while(en.length%Pt!==0){en="0"+en}if(this.negative!==0){en="-"+en}return en}assert(false,"Base should be between 2 and 36")};BN.prototype.toNumber=function toNumber(){var Wt=this.words[0];if(this.length===2){Wt+=this.words[1]*67108864}else if(this.length===3&&this.words[2]===1){Wt+=4503599627370496+this.words[1]*67108864}else if(this.length>2){assert(false,"Number can only safely store up to 53 bits")}return this.negative!==0?-Wt:Wt};BN.prototype.toJSON=function toJSON2(){return this.toString(16,2)};if(tn){BN.prototype.toBuffer=function toBuffer(Wt,Pt){return this.toArrayLike(tn,Wt,Pt)}}BN.prototype.toArray=function toArray2(Wt,Pt){return this.toArrayLike(Array,Wt,Pt)};var rn=function allocate2(Wt,Pt){if(Wt.allocUnsafe){return Wt.allocUnsafe(Pt)}return new Wt(Pt)};BN.prototype.toArrayLike=function toArrayLike(Wt,Pt,en){this._strip();var tn=this.byteLength();var nn=en||Math.max(1,tn);assert(tn<=nn,"byte array longer than desired length");assert(nn>0,"Requested array length <= 0");var an=rn(Wt,nn);var In=Pt==="le"?"LE":"BE";this["_toArrayLike"+In](an,tn);return an};BN.prototype._toArrayLikeLE=function _toArrayLikeLE(Wt,Pt){var en=0;var tn=0;for(var nn=0,an=0;nn>8&255}if(en>16&255}if(an===6){if(en>24&255}tn=0;an=0}else{tn=In>>>24;an+=2}}if(en=0){Wt[en--]=In>>8&255}if(en>=0){Wt[en--]=In>>16&255}if(an===6){if(en>=0){Wt[en--]=In>>24&255}tn=0;an=0}else{tn=In>>>24;an+=2}}if(en>=0){Wt[en--]=tn;while(en>=0){Wt[en--]=0}}};if(Math.clz32){BN.prototype._countBits=function _countBits(Wt){return 32-Math.clz32(Wt)}}else{BN.prototype._countBits=function _countBits(Wt){var Pt=Wt;var en=0;if(Pt>=4096){en+=13;Pt>>>=13}if(Pt>=64){en+=7;Pt>>>=7}if(Pt>=8){en+=4;Pt>>>=4}if(Pt>=2){en+=2;Pt>>>=2}return en+Pt}}BN.prototype._zeroBits=function _zeroBits(Wt){if(Wt===0)return 26;var Pt=Wt;var en=0;if((Pt&8191)===0){en+=13;Pt>>>=13}if((Pt&127)===0){en+=7;Pt>>>=7}if((Pt&15)===0){en+=4;Pt>>>=4}if((Pt&3)===0){en+=2;Pt>>>=2}if((Pt&1)===0){en++}return en};BN.prototype.bitLength=function bitLength(){var Wt=this.words[this.length-1];var Pt=this._countBits(Wt);return(this.length-1)*26+Pt};function toBitArray(Wt){var Pt=new Array(Wt.bitLength());for(var en=0;en>>nn&1}return Pt}BN.prototype.zeroBits=function zeroBits(){if(this.isZero())return 0;var Wt=0;for(var Pt=0;PtWt.length)return this.clone().ior(Wt);return Wt.clone().ior(this)};BN.prototype.uor=function uor(Wt){if(this.length>Wt.length)return this.clone().iuor(Wt);return Wt.clone().iuor(this)};BN.prototype.iuand=function iuand(Wt){var Pt;if(this.length>Wt.length){Pt=Wt}else{Pt=this}for(var en=0;enWt.length)return this.clone().iand(Wt);return Wt.clone().iand(this)};BN.prototype.uand=function uand(Wt){if(this.length>Wt.length)return this.clone().iuand(Wt);return Wt.clone().iuand(this)};BN.prototype.iuxor=function iuxor(Wt){var Pt;var en;if(this.length>Wt.length){Pt=this;en=Wt}else{Pt=Wt;en=this}for(var tn=0;tnWt.length)return this.clone().ixor(Wt);return Wt.clone().ixor(this)};BN.prototype.uxor=function uxor(Wt){if(this.length>Wt.length)return this.clone().iuxor(Wt);return Wt.clone().iuxor(this)};BN.prototype.inotn=function inotn(Wt){assert(typeof Wt==="number"&&Wt>=0);var Pt=Math.ceil(Wt/26)|0;var en=Wt%26;this._expand(Pt);if(en>0){Pt--}for(var tn=0;tn0){this.words[tn]=~this.words[tn]&67108863>>26-en}return this._strip()};BN.prototype.notn=function notn(Wt){return this.clone().inotn(Wt)};BN.prototype.setn=function setn(Wt,Pt){assert(typeof Wt==="number"&&Wt>=0);var en=Wt/26|0;var tn=Wt%26;this._expand(en+1);if(Pt){this.words[en]=this.words[en]|1<Wt.length){en=this;tn=Wt}else{en=Wt;tn=this}var nn=0;for(var an=0;an>>26}for(;nn!==0&&an>>26}this.length=en.length;if(nn!==0){this.words[this.length]=nn;this.length++}else if(en!==this){for(;anWt.length)return this.clone().iadd(Wt);return Wt.clone().iadd(this)};BN.prototype.isub=function isub(Wt){if(Wt.negative!==0){Wt.negative=0;var Pt=this.iadd(Wt);Wt.negative=1;return Pt._normSign()}else if(this.negative!==0){this.negative=0;this.iadd(Wt);this.negative=1;return this._normSign()}var en=this.cmp(Wt);if(en===0){this.negative=0;this.length=1;this.words[0]=0;return this}var tn,nn;if(en>0){tn=this;nn=Wt}else{tn=Wt;nn=this}var an=0;for(var In=0;In>26;this.words[In]=Pt&67108863}for(;an!==0&&In>26;this.words[In]=Pt&67108863}if(an===0&&In>>26;var dn=sn&67108863;var un=Math.min(on,Pt.length-1);for(var pn=Math.max(0,on-Wt.length+1);pn<=un;pn++){var mn=on-pn|0;nn=Wt.words[mn]|0;an=Pt.words[pn]|0;In=nn*an+dn;cn+=In/67108864|0;dn=In&67108863}en.words[on]=dn|0;sn=cn|0}if(sn!==0){en.words[on]=sn|0}else{en.length--}return en._strip()}var sn=function comb10MulTo2(Wt,Pt,en){var tn=Wt.words;var nn=Pt.words;var an=en.words;var In=0;var rn;var sn;var on;var cn=tn[0]|0;var dn=cn&8191;var un=cn>>>13;var pn=tn[1]|0;var mn=pn&8191;var bn=pn>>>13;var Gn=tn[2]|0;var hn=Gn&8191;var Zn=Gn>>>13;var An=tn[3]|0;var Wn=An&8191;var Nn=An>>>13;var gn=tn[4]|0;var yn=gn&8191;var vn=gn>>>13;var Yn=tn[5]|0;var En=Yn&8191;var Vn=Yn>>>13;var Rn=tn[6]|0;var wn=Rn&8191;var Fn=Rn>>>13;var Qn=tn[7]|0;var fn=Qn&8191;var Hn=Qn>>>13;var Cn=tn[8]|0;var Xn=Cn&8191;var kn=Cn>>>13;var Jn=tn[9]|0;var Ln=Jn&8191;var Bn=Jn>>>13;var xn=nn[0]|0;var On=xn&8191;var Tn=xn>>>13;var Un=nn[1]|0;var Mn=Un&8191;var zn=Un>>>13;var Sn=nn[2]|0;var Dn=Sn&8191;var jn=Sn>>>13;var _n=nn[3]|0;var Kn=_n&8191;var Pn=_n>>>13;var qn=nn[4]|0;var $n=qn&8191;var el=qn>>>13;var tl=nn[5]|0;var nl=tl&8191;var ll=tl>>>13;var al=nn[6]|0;var Il=al&8191;var rl=al>>>13;var sl=nn[7]|0;var ol=sl&8191;var cl=sl>>>13;var il=nn[8]|0;var dl=il&8191;var ul=il>>>13;var pl=nn[9]|0;var ml=pl&8191;var bl=pl>>>13;en.negative=Wt.negative^Pt.negative;en.length=19;rn=Math.imul(dn,On);sn=Math.imul(dn,Tn);sn=sn+Math.imul(un,On)|0;on=Math.imul(un,Tn);var Gl=(In+rn|0)+((sn&8191)<<13)|0;In=(on+(sn>>>13)|0)+(Gl>>>26)|0;Gl&=67108863;rn=Math.imul(mn,On);sn=Math.imul(mn,Tn);sn=sn+Math.imul(bn,On)|0;on=Math.imul(bn,Tn);rn=rn+Math.imul(dn,Mn)|0;sn=sn+Math.imul(dn,zn)|0;sn=sn+Math.imul(un,Mn)|0;on=on+Math.imul(un,zn)|0;var hl=(In+rn|0)+((sn&8191)<<13)|0;In=(on+(sn>>>13)|0)+(hl>>>26)|0;hl&=67108863;rn=Math.imul(hn,On);sn=Math.imul(hn,Tn);sn=sn+Math.imul(Zn,On)|0;on=Math.imul(Zn,Tn);rn=rn+Math.imul(mn,Mn)|0;sn=sn+Math.imul(mn,zn)|0;sn=sn+Math.imul(bn,Mn)|0;on=on+Math.imul(bn,zn)|0;rn=rn+Math.imul(dn,Dn)|0;sn=sn+Math.imul(dn,jn)|0;sn=sn+Math.imul(un,Dn)|0;on=on+Math.imul(un,jn)|0;var Zl=(In+rn|0)+((sn&8191)<<13)|0;In=(on+(sn>>>13)|0)+(Zl>>>26)|0;Zl&=67108863;rn=Math.imul(Wn,On);sn=Math.imul(Wn,Tn);sn=sn+Math.imul(Nn,On)|0;on=Math.imul(Nn,Tn);rn=rn+Math.imul(hn,Mn)|0;sn=sn+Math.imul(hn,zn)|0;sn=sn+Math.imul(Zn,Mn)|0;on=on+Math.imul(Zn,zn)|0;rn=rn+Math.imul(mn,Dn)|0;sn=sn+Math.imul(mn,jn)|0;sn=sn+Math.imul(bn,Dn)|0;on=on+Math.imul(bn,jn)|0;rn=rn+Math.imul(dn,Kn)|0;sn=sn+Math.imul(dn,Pn)|0;sn=sn+Math.imul(un,Kn)|0;on=on+Math.imul(un,Pn)|0;var Al=(In+rn|0)+((sn&8191)<<13)|0;In=(on+(sn>>>13)|0)+(Al>>>26)|0;Al&=67108863;rn=Math.imul(yn,On);sn=Math.imul(yn,Tn);sn=sn+Math.imul(vn,On)|0;on=Math.imul(vn,Tn);rn=rn+Math.imul(Wn,Mn)|0;sn=sn+Math.imul(Wn,zn)|0;sn=sn+Math.imul(Nn,Mn)|0;on=on+Math.imul(Nn,zn)|0;rn=rn+Math.imul(hn,Dn)|0;sn=sn+Math.imul(hn,jn)|0;sn=sn+Math.imul(Zn,Dn)|0;on=on+Math.imul(Zn,jn)|0;rn=rn+Math.imul(mn,Kn)|0;sn=sn+Math.imul(mn,Pn)|0;sn=sn+Math.imul(bn,Kn)|0;on=on+Math.imul(bn,Pn)|0;rn=rn+Math.imul(dn,$n)|0;sn=sn+Math.imul(dn,el)|0;sn=sn+Math.imul(un,$n)|0;on=on+Math.imul(un,el)|0;var Wl=(In+rn|0)+((sn&8191)<<13)|0;In=(on+(sn>>>13)|0)+(Wl>>>26)|0;Wl&=67108863;rn=Math.imul(En,On);sn=Math.imul(En,Tn);sn=sn+Math.imul(Vn,On)|0;on=Math.imul(Vn,Tn);rn=rn+Math.imul(yn,Mn)|0;sn=sn+Math.imul(yn,zn)|0;sn=sn+Math.imul(vn,Mn)|0;on=on+Math.imul(vn,zn)|0;rn=rn+Math.imul(Wn,Dn)|0;sn=sn+Math.imul(Wn,jn)|0;sn=sn+Math.imul(Nn,Dn)|0;on=on+Math.imul(Nn,jn)|0;rn=rn+Math.imul(hn,Kn)|0;sn=sn+Math.imul(hn,Pn)|0;sn=sn+Math.imul(Zn,Kn)|0;on=on+Math.imul(Zn,Pn)|0;rn=rn+Math.imul(mn,$n)|0;sn=sn+Math.imul(mn,el)|0;sn=sn+Math.imul(bn,$n)|0;on=on+Math.imul(bn,el)|0;rn=rn+Math.imul(dn,nl)|0;sn=sn+Math.imul(dn,ll)|0;sn=sn+Math.imul(un,nl)|0;on=on+Math.imul(un,ll)|0;var Nl=(In+rn|0)+((sn&8191)<<13)|0;In=(on+(sn>>>13)|0)+(Nl>>>26)|0;Nl&=67108863;rn=Math.imul(wn,On);sn=Math.imul(wn,Tn);sn=sn+Math.imul(Fn,On)|0;on=Math.imul(Fn,Tn);rn=rn+Math.imul(En,Mn)|0;sn=sn+Math.imul(En,zn)|0;sn=sn+Math.imul(Vn,Mn)|0;on=on+Math.imul(Vn,zn)|0;rn=rn+Math.imul(yn,Dn)|0;sn=sn+Math.imul(yn,jn)|0;sn=sn+Math.imul(vn,Dn)|0;on=on+Math.imul(vn,jn)|0;rn=rn+Math.imul(Wn,Kn)|0;sn=sn+Math.imul(Wn,Pn)|0;sn=sn+Math.imul(Nn,Kn)|0;on=on+Math.imul(Nn,Pn)|0;rn=rn+Math.imul(hn,$n)|0;sn=sn+Math.imul(hn,el)|0;sn=sn+Math.imul(Zn,$n)|0;on=on+Math.imul(Zn,el)|0;rn=rn+Math.imul(mn,nl)|0;sn=sn+Math.imul(mn,ll)|0;sn=sn+Math.imul(bn,nl)|0;on=on+Math.imul(bn,ll)|0;rn=rn+Math.imul(dn,Il)|0;sn=sn+Math.imul(dn,rl)|0;sn=sn+Math.imul(un,Il)|0;on=on+Math.imul(un,rl)|0;var gl=(In+rn|0)+((sn&8191)<<13)|0;In=(on+(sn>>>13)|0)+(gl>>>26)|0;gl&=67108863;rn=Math.imul(fn,On);sn=Math.imul(fn,Tn);sn=sn+Math.imul(Hn,On)|0;on=Math.imul(Hn,Tn);rn=rn+Math.imul(wn,Mn)|0;sn=sn+Math.imul(wn,zn)|0;sn=sn+Math.imul(Fn,Mn)|0;on=on+Math.imul(Fn,zn)|0;rn=rn+Math.imul(En,Dn)|0;sn=sn+Math.imul(En,jn)|0;sn=sn+Math.imul(Vn,Dn)|0;on=on+Math.imul(Vn,jn)|0;rn=rn+Math.imul(yn,Kn)|0;sn=sn+Math.imul(yn,Pn)|0;sn=sn+Math.imul(vn,Kn)|0;on=on+Math.imul(vn,Pn)|0;rn=rn+Math.imul(Wn,$n)|0;sn=sn+Math.imul(Wn,el)|0;sn=sn+Math.imul(Nn,$n)|0;on=on+Math.imul(Nn,el)|0;rn=rn+Math.imul(hn,nl)|0;sn=sn+Math.imul(hn,ll)|0;sn=sn+Math.imul(Zn,nl)|0;on=on+Math.imul(Zn,ll)|0;rn=rn+Math.imul(mn,Il)|0;sn=sn+Math.imul(mn,rl)|0;sn=sn+Math.imul(bn,Il)|0;on=on+Math.imul(bn,rl)|0;rn=rn+Math.imul(dn,ol)|0;sn=sn+Math.imul(dn,cl)|0;sn=sn+Math.imul(un,ol)|0;on=on+Math.imul(un,cl)|0;var yl=(In+rn|0)+((sn&8191)<<13)|0;In=(on+(sn>>>13)|0)+(yl>>>26)|0;yl&=67108863;rn=Math.imul(Xn,On);sn=Math.imul(Xn,Tn);sn=sn+Math.imul(kn,On)|0;on=Math.imul(kn,Tn);rn=rn+Math.imul(fn,Mn)|0;sn=sn+Math.imul(fn,zn)|0;sn=sn+Math.imul(Hn,Mn)|0;on=on+Math.imul(Hn,zn)|0;rn=rn+Math.imul(wn,Dn)|0;sn=sn+Math.imul(wn,jn)|0;sn=sn+Math.imul(Fn,Dn)|0;on=on+Math.imul(Fn,jn)|0;rn=rn+Math.imul(En,Kn)|0;sn=sn+Math.imul(En,Pn)|0;sn=sn+Math.imul(Vn,Kn)|0;on=on+Math.imul(Vn,Pn)|0;rn=rn+Math.imul(yn,$n)|0;sn=sn+Math.imul(yn,el)|0;sn=sn+Math.imul(vn,$n)|0;on=on+Math.imul(vn,el)|0;rn=rn+Math.imul(Wn,nl)|0;sn=sn+Math.imul(Wn,ll)|0;sn=sn+Math.imul(Nn,nl)|0;on=on+Math.imul(Nn,ll)|0;rn=rn+Math.imul(hn,Il)|0;sn=sn+Math.imul(hn,rl)|0;sn=sn+Math.imul(Zn,Il)|0;on=on+Math.imul(Zn,rl)|0;rn=rn+Math.imul(mn,ol)|0;sn=sn+Math.imul(mn,cl)|0;sn=sn+Math.imul(bn,ol)|0;on=on+Math.imul(bn,cl)|0;rn=rn+Math.imul(dn,dl)|0;sn=sn+Math.imul(dn,ul)|0;sn=sn+Math.imul(un,dl)|0;on=on+Math.imul(un,ul)|0;var vl=(In+rn|0)+((sn&8191)<<13)|0;In=(on+(sn>>>13)|0)+(vl>>>26)|0;vl&=67108863;rn=Math.imul(Ln,On);sn=Math.imul(Ln,Tn);sn=sn+Math.imul(Bn,On)|0;on=Math.imul(Bn,Tn);rn=rn+Math.imul(Xn,Mn)|0;sn=sn+Math.imul(Xn,zn)|0;sn=sn+Math.imul(kn,Mn)|0;on=on+Math.imul(kn,zn)|0;rn=rn+Math.imul(fn,Dn)|0;sn=sn+Math.imul(fn,jn)|0;sn=sn+Math.imul(Hn,Dn)|0;on=on+Math.imul(Hn,jn)|0;rn=rn+Math.imul(wn,Kn)|0;sn=sn+Math.imul(wn,Pn)|0;sn=sn+Math.imul(Fn,Kn)|0;on=on+Math.imul(Fn,Pn)|0;rn=rn+Math.imul(En,$n)|0;sn=sn+Math.imul(En,el)|0;sn=sn+Math.imul(Vn,$n)|0;on=on+Math.imul(Vn,el)|0;rn=rn+Math.imul(yn,nl)|0;sn=sn+Math.imul(yn,ll)|0;sn=sn+Math.imul(vn,nl)|0;on=on+Math.imul(vn,ll)|0;rn=rn+Math.imul(Wn,Il)|0;sn=sn+Math.imul(Wn,rl)|0;sn=sn+Math.imul(Nn,Il)|0;on=on+Math.imul(Nn,rl)|0;rn=rn+Math.imul(hn,ol)|0;sn=sn+Math.imul(hn,cl)|0;sn=sn+Math.imul(Zn,ol)|0;on=on+Math.imul(Zn,cl)|0;rn=rn+Math.imul(mn,dl)|0;sn=sn+Math.imul(mn,ul)|0;sn=sn+Math.imul(bn,dl)|0;on=on+Math.imul(bn,ul)|0;rn=rn+Math.imul(dn,ml)|0;sn=sn+Math.imul(dn,bl)|0;sn=sn+Math.imul(un,ml)|0;on=on+Math.imul(un,bl)|0;var Yl=(In+rn|0)+((sn&8191)<<13)|0;In=(on+(sn>>>13)|0)+(Yl>>>26)|0;Yl&=67108863;rn=Math.imul(Ln,Mn);sn=Math.imul(Ln,zn);sn=sn+Math.imul(Bn,Mn)|0;on=Math.imul(Bn,zn);rn=rn+Math.imul(Xn,Dn)|0;sn=sn+Math.imul(Xn,jn)|0;sn=sn+Math.imul(kn,Dn)|0;on=on+Math.imul(kn,jn)|0;rn=rn+Math.imul(fn,Kn)|0;sn=sn+Math.imul(fn,Pn)|0;sn=sn+Math.imul(Hn,Kn)|0;on=on+Math.imul(Hn,Pn)|0;rn=rn+Math.imul(wn,$n)|0;sn=sn+Math.imul(wn,el)|0;sn=sn+Math.imul(Fn,$n)|0;on=on+Math.imul(Fn,el)|0;rn=rn+Math.imul(En,nl)|0;sn=sn+Math.imul(En,ll)|0;sn=sn+Math.imul(Vn,nl)|0;on=on+Math.imul(Vn,ll)|0;rn=rn+Math.imul(yn,Il)|0;sn=sn+Math.imul(yn,rl)|0;sn=sn+Math.imul(vn,Il)|0;on=on+Math.imul(vn,rl)|0;rn=rn+Math.imul(Wn,ol)|0;sn=sn+Math.imul(Wn,cl)|0;sn=sn+Math.imul(Nn,ol)|0;on=on+Math.imul(Nn,cl)|0;rn=rn+Math.imul(hn,dl)|0;sn=sn+Math.imul(hn,ul)|0;sn=sn+Math.imul(Zn,dl)|0;on=on+Math.imul(Zn,ul)|0;rn=rn+Math.imul(mn,ml)|0;sn=sn+Math.imul(mn,bl)|0;sn=sn+Math.imul(bn,ml)|0;on=on+Math.imul(bn,bl)|0;var El=(In+rn|0)+((sn&8191)<<13)|0;In=(on+(sn>>>13)|0)+(El>>>26)|0;El&=67108863;rn=Math.imul(Ln,Dn);sn=Math.imul(Ln,jn);sn=sn+Math.imul(Bn,Dn)|0;on=Math.imul(Bn,jn);rn=rn+Math.imul(Xn,Kn)|0;sn=sn+Math.imul(Xn,Pn)|0;sn=sn+Math.imul(kn,Kn)|0;on=on+Math.imul(kn,Pn)|0;rn=rn+Math.imul(fn,$n)|0;sn=sn+Math.imul(fn,el)|0;sn=sn+Math.imul(Hn,$n)|0;on=on+Math.imul(Hn,el)|0;rn=rn+Math.imul(wn,nl)|0;sn=sn+Math.imul(wn,ll)|0;sn=sn+Math.imul(Fn,nl)|0;on=on+Math.imul(Fn,ll)|0;rn=rn+Math.imul(En,Il)|0;sn=sn+Math.imul(En,rl)|0;sn=sn+Math.imul(Vn,Il)|0;on=on+Math.imul(Vn,rl)|0;rn=rn+Math.imul(yn,ol)|0;sn=sn+Math.imul(yn,cl)|0;sn=sn+Math.imul(vn,ol)|0;on=on+Math.imul(vn,cl)|0;rn=rn+Math.imul(Wn,dl)|0;sn=sn+Math.imul(Wn,ul)|0;sn=sn+Math.imul(Nn,dl)|0;on=on+Math.imul(Nn,ul)|0;rn=rn+Math.imul(hn,ml)|0;sn=sn+Math.imul(hn,bl)|0;sn=sn+Math.imul(Zn,ml)|0;on=on+Math.imul(Zn,bl)|0;var Vl=(In+rn|0)+((sn&8191)<<13)|0;In=(on+(sn>>>13)|0)+(Vl>>>26)|0;Vl&=67108863;rn=Math.imul(Ln,Kn);sn=Math.imul(Ln,Pn);sn=sn+Math.imul(Bn,Kn)|0;on=Math.imul(Bn,Pn);rn=rn+Math.imul(Xn,$n)|0;sn=sn+Math.imul(Xn,el)|0;sn=sn+Math.imul(kn,$n)|0;on=on+Math.imul(kn,el)|0;rn=rn+Math.imul(fn,nl)|0;sn=sn+Math.imul(fn,ll)|0;sn=sn+Math.imul(Hn,nl)|0;on=on+Math.imul(Hn,ll)|0;rn=rn+Math.imul(wn,Il)|0;sn=sn+Math.imul(wn,rl)|0;sn=sn+Math.imul(Fn,Il)|0;on=on+Math.imul(Fn,rl)|0;rn=rn+Math.imul(En,ol)|0;sn=sn+Math.imul(En,cl)|0;sn=sn+Math.imul(Vn,ol)|0;on=on+Math.imul(Vn,cl)|0;rn=rn+Math.imul(yn,dl)|0;sn=sn+Math.imul(yn,ul)|0;sn=sn+Math.imul(vn,dl)|0;on=on+Math.imul(vn,ul)|0;rn=rn+Math.imul(Wn,ml)|0;sn=sn+Math.imul(Wn,bl)|0;sn=sn+Math.imul(Nn,ml)|0;on=on+Math.imul(Nn,bl)|0;var Rl=(In+rn|0)+((sn&8191)<<13)|0;In=(on+(sn>>>13)|0)+(Rl>>>26)|0;Rl&=67108863;rn=Math.imul(Ln,$n);sn=Math.imul(Ln,el);sn=sn+Math.imul(Bn,$n)|0;on=Math.imul(Bn,el);rn=rn+Math.imul(Xn,nl)|0;sn=sn+Math.imul(Xn,ll)|0;sn=sn+Math.imul(kn,nl)|0;on=on+Math.imul(kn,ll)|0;rn=rn+Math.imul(fn,Il)|0;sn=sn+Math.imul(fn,rl)|0;sn=sn+Math.imul(Hn,Il)|0;on=on+Math.imul(Hn,rl)|0;rn=rn+Math.imul(wn,ol)|0;sn=sn+Math.imul(wn,cl)|0;sn=sn+Math.imul(Fn,ol)|0;on=on+Math.imul(Fn,cl)|0;rn=rn+Math.imul(En,dl)|0;sn=sn+Math.imul(En,ul)|0;sn=sn+Math.imul(Vn,dl)|0;on=on+Math.imul(Vn,ul)|0;rn=rn+Math.imul(yn,ml)|0;sn=sn+Math.imul(yn,bl)|0;sn=sn+Math.imul(vn,ml)|0;on=on+Math.imul(vn,bl)|0;var wl=(In+rn|0)+((sn&8191)<<13)|0;In=(on+(sn>>>13)|0)+(wl>>>26)|0;wl&=67108863;rn=Math.imul(Ln,nl);sn=Math.imul(Ln,ll);sn=sn+Math.imul(Bn,nl)|0;on=Math.imul(Bn,ll);rn=rn+Math.imul(Xn,Il)|0;sn=sn+Math.imul(Xn,rl)|0;sn=sn+Math.imul(kn,Il)|0;on=on+Math.imul(kn,rl)|0;rn=rn+Math.imul(fn,ol)|0;sn=sn+Math.imul(fn,cl)|0;sn=sn+Math.imul(Hn,ol)|0;on=on+Math.imul(Hn,cl)|0;rn=rn+Math.imul(wn,dl)|0;sn=sn+Math.imul(wn,ul)|0;sn=sn+Math.imul(Fn,dl)|0;on=on+Math.imul(Fn,ul)|0;rn=rn+Math.imul(En,ml)|0;sn=sn+Math.imul(En,bl)|0;sn=sn+Math.imul(Vn,ml)|0;on=on+Math.imul(Vn,bl)|0;var Fl=(In+rn|0)+((sn&8191)<<13)|0;In=(on+(sn>>>13)|0)+(Fl>>>26)|0;Fl&=67108863;rn=Math.imul(Ln,Il);sn=Math.imul(Ln,rl);sn=sn+Math.imul(Bn,Il)|0;on=Math.imul(Bn,rl);rn=rn+Math.imul(Xn,ol)|0;sn=sn+Math.imul(Xn,cl)|0;sn=sn+Math.imul(kn,ol)|0;on=on+Math.imul(kn,cl)|0;rn=rn+Math.imul(fn,dl)|0;sn=sn+Math.imul(fn,ul)|0;sn=sn+Math.imul(Hn,dl)|0;on=on+Math.imul(Hn,ul)|0;rn=rn+Math.imul(wn,ml)|0;sn=sn+Math.imul(wn,bl)|0;sn=sn+Math.imul(Fn,ml)|0;on=on+Math.imul(Fn,bl)|0;var Ql=(In+rn|0)+((sn&8191)<<13)|0;In=(on+(sn>>>13)|0)+(Ql>>>26)|0;Ql&=67108863;rn=Math.imul(Ln,ol);sn=Math.imul(Ln,cl);sn=sn+Math.imul(Bn,ol)|0;on=Math.imul(Bn,cl);rn=rn+Math.imul(Xn,dl)|0;sn=sn+Math.imul(Xn,ul)|0;sn=sn+Math.imul(kn,dl)|0;on=on+Math.imul(kn,ul)|0;rn=rn+Math.imul(fn,ml)|0;sn=sn+Math.imul(fn,bl)|0;sn=sn+Math.imul(Hn,ml)|0;on=on+Math.imul(Hn,bl)|0;var fl=(In+rn|0)+((sn&8191)<<13)|0;In=(on+(sn>>>13)|0)+(fl>>>26)|0;fl&=67108863;rn=Math.imul(Ln,dl);sn=Math.imul(Ln,ul);sn=sn+Math.imul(Bn,dl)|0;on=Math.imul(Bn,ul);rn=rn+Math.imul(Xn,ml)|0;sn=sn+Math.imul(Xn,bl)|0;sn=sn+Math.imul(kn,ml)|0;on=on+Math.imul(kn,bl)|0;var Hl=(In+rn|0)+((sn&8191)<<13)|0;In=(on+(sn>>>13)|0)+(Hl>>>26)|0;Hl&=67108863;rn=Math.imul(Ln,ml);sn=Math.imul(Ln,bl);sn=sn+Math.imul(Bn,ml)|0;on=Math.imul(Bn,bl);var Cl=(In+rn|0)+((sn&8191)<<13)|0;In=(on+(sn>>>13)|0)+(Cl>>>26)|0;Cl&=67108863;an[0]=Gl;an[1]=hl;an[2]=Zl;an[3]=Al;an[4]=Wl;an[5]=Nl;an[6]=gl;an[7]=yl;an[8]=vl;an[9]=Yl;an[10]=El;an[11]=Vl;an[12]=Rl;an[13]=wl;an[14]=Fl;an[15]=Ql;an[16]=fl;an[17]=Hl;an[18]=Cl;if(In!==0){an[19]=In;en.length++}return en};if(!Math.imul){sn=smallMulTo}function bigMulTo(Wt,Pt,en){en.negative=Pt.negative^Wt.negative;en.length=Wt.length+Pt.length;var tn=0;var nn=0;for(var an=0;an>>26)|0;nn+=In>>>26;In&=67108863}en.words[an]=rn;tn=In;In=nn}if(tn!==0){en.words[an]=tn}else{en.length--}return en._strip()}function jumboMulTo(Wt,Pt,en){return bigMulTo(Wt,Pt,en)}BN.prototype.mulTo=function mulTo(Wt,Pt){var en;var tn=this.length+Wt.length;if(this.length===10&&Wt.length===10){en=sn(this,Wt,Pt)}else if(tn<63){en=smallMulTo(this,Wt,Pt)}else if(tn<1024){en=bigMulTo(this,Wt,Pt)}else{en=jumboMulTo(this,Wt,Pt)}return en};function FFTM(Wt,Pt){this.x=Wt;this.y=Pt}FFTM.prototype.makeRBT=function makeRBT(Wt){var Pt=new Array(Wt);var en=BN.prototype._countBits(Wt)-1;for(var tn=0;tn>=1}return tn};FFTM.prototype.permute=function permute(Wt,Pt,en,tn,nn,an){for(var In=0;In>>1){nn++}return 1<>>13;en[2*an+1]=nn&8191;nn=nn>>>13}for(an=2*Pt;an>=26;en+=nn/67108864|0;en+=an>>>26;this.words[tn]=an&67108863}if(en!==0){this.words[tn]=en;this.length++}return Pt?this.ineg():this};BN.prototype.muln=function muln(Wt){return this.clone().imuln(Wt)};BN.prototype.sqr=function sqr(){return this.mul(this)};BN.prototype.isqr=function isqr(){return this.imul(this.clone())};BN.prototype.pow=function pow(Wt){var Pt=toBitArray(Wt);if(Pt.length===0)return new BN(1);var en=this;for(var tn=0;tn=0);var Pt=Wt%26;var en=(Wt-Pt)/26;var tn=67108863>>>26-Pt<<26-Pt;var nn;if(Pt!==0){var an=0;for(nn=0;nn>>26-Pt}if(an){this.words[nn]=an;this.length++}}if(en!==0){for(nn=this.length-1;nn>=0;nn--){this.words[nn+en]=this.words[nn]}for(nn=0;nn=0);var tn;if(Pt){tn=(Pt-Pt%26)/26}else{tn=0}var nn=Wt%26;var an=Math.min((Wt-nn)/26,this.length);var In=67108863^67108863>>>nn<an){this.length-=an;for(sn=0;sn=0&&(on!==0||sn>=tn);sn--){var cn=this.words[sn]|0;this.words[sn]=on<<26-nn|cn>>>nn;on=cn&In}if(rn&&on!==0){rn.words[rn.length++]=on}if(this.length===0){this.words[0]=0;this.length=1}return this._strip()};BN.prototype.ishrn=function ishrn(Wt,Pt,en){assert(this.negative===0);return this.iushrn(Wt,Pt,en)};BN.prototype.shln=function shln(Wt){return this.clone().ishln(Wt)};BN.prototype.ushln=function ushln(Wt){return this.clone().iushln(Wt)};BN.prototype.shrn=function shrn(Wt){return this.clone().ishrn(Wt)};BN.prototype.ushrn=function ushrn(Wt){return this.clone().iushrn(Wt)};BN.prototype.testn=function testn(Wt){assert(typeof Wt==="number"&&Wt>=0);var Pt=Wt%26;var en=(Wt-Pt)/26;var tn=1<=0);var Pt=Wt%26;var en=(Wt-Pt)/26;assert(this.negative===0,"imaskn works only with positive numbers");if(this.length<=en){return this}if(Pt!==0){en++}this.length=Math.min(en,this.length);if(Pt!==0){var tn=67108863^67108863>>>Pt<=67108864;Pt++){this.words[Pt]-=67108864;if(Pt===this.length-1){this.words[Pt+1]=1}else{this.words[Pt+1]++}}this.length=Math.max(this.length,Pt+1);return this};BN.prototype.isubn=function isubn(Wt){assert(typeof Wt==="number");assert(Wt<67108864);if(Wt<0)return this.iaddn(-Wt);if(this.negative!==0){this.negative=0;this.iaddn(Wt);this.negative=1;return this}this.words[0]-=Wt;if(this.length===1&&this.words[0]<0){this.words[0]=-this.words[0];this.negative=1}else{for(var Pt=0;Pt>26)-(rn/67108864|0);this.words[nn+en]=an&67108863}for(;nn>26;this.words[nn+en]=an&67108863}if(In===0)return this._strip();assert(In===-1);In=0;for(nn=0;nn>26;this.words[nn]=an&67108863}this.negative=1;return this._strip()};BN.prototype._wordDiv=function _wordDiv(Wt,Pt){var en=this.length-Wt.length;var tn=this.clone();var nn=Wt;var an=nn.words[nn.length-1]|0;var In=this._countBits(an);en=26-In;if(en!==0){nn=nn.ushln(en);tn.iushln(en);an=nn.words[nn.length-1]|0}var rn=tn.length-nn.length;var sn;if(Pt!=="mod"){sn=new BN(null);sn.length=rn+1;sn.words=new Array(sn.length);for(var on=0;on=0;dn--){var un=(tn.words[nn.length+dn]|0)*67108864+(tn.words[nn.length+dn-1]|0);un=Math.min(un/an|0,67108863);tn._ishlnsubmul(nn,un,dn);while(tn.negative!==0){un--;tn.negative=0;tn._ishlnsubmul(nn,1,dn);if(!tn.isZero()){tn.negative^=1}}if(sn){sn.words[dn]=un}}if(sn){sn._strip()}tn._strip();if(Pt!=="div"&&en!==0){tn.iushrn(en)}return{div:sn||null,mod:tn}};BN.prototype.divmod=function divmod(Wt,Pt,en){assert(!Wt.isZero());if(this.isZero()){return{div:new BN(0),mod:new BN(0)}}var tn,nn,an;if(this.negative!==0&&Wt.negative===0){an=this.neg().divmod(Wt,Pt);if(Pt!=="mod"){tn=an.div.neg()}if(Pt!=="div"){nn=an.mod.neg();if(en&&nn.negative!==0){nn.iadd(Wt)}}return{div:tn,mod:nn}}if(this.negative===0&&Wt.negative!==0){an=this.divmod(Wt.neg(),Pt);if(Pt!=="mod"){tn=an.div.neg()}return{div:tn,mod:an.mod}}if((this.negative&Wt.negative)!==0){an=this.neg().divmod(Wt.neg(),Pt);if(Pt!=="div"){nn=an.mod.neg();if(en&&nn.negative!==0){nn.isub(Wt)}}return{div:an.div,mod:nn}}if(Wt.length>this.length||this.cmp(Wt)<0){return{div:new BN(0),mod:this}}if(Wt.length===1){if(Pt==="div"){return{div:this.divn(Wt.words[0]),mod:null}}if(Pt==="mod"){return{div:null,mod:new BN(this.modrn(Wt.words[0]))}}return{div:this.divn(Wt.words[0]),mod:new BN(this.modrn(Wt.words[0]))}}return this._wordDiv(Wt,Pt)};BN.prototype.div=function div(Wt){return this.divmod(Wt,"div",false).div};BN.prototype.mod=function mod(Wt){return this.divmod(Wt,"mod",false).mod};BN.prototype.umod=function umod(Wt){return this.divmod(Wt,"mod",true).mod};BN.prototype.divRound=function divRound(Wt){var Pt=this.divmod(Wt);if(Pt.mod.isZero())return Pt.div;var en=Pt.div.negative!==0?Pt.mod.isub(Wt):Pt.mod;var tn=Wt.ushrn(1);var nn=Wt.andln(1);var an=en.cmp(tn);if(an<0||nn===1&&an===0)return Pt.div;return Pt.div.negative!==0?Pt.div.isubn(1):Pt.div.iaddn(1)};BN.prototype.modrn=function modrn(Wt){var Pt=Wt<0;if(Pt)Wt=-Wt;assert(Wt<=67108863);var en=(1<<26)%Wt;var tn=0;for(var nn=this.length-1;nn>=0;nn--){tn=(en*tn+(this.words[nn]|0))%Wt}return Pt?-tn:tn};BN.prototype.modn=function modn(Wt){return this.modrn(Wt)};BN.prototype.idivn=function idivn(Wt){var Pt=Wt<0;if(Pt)Wt=-Wt;assert(Wt<=67108863);var en=0;for(var tn=this.length-1;tn>=0;tn--){var nn=(this.words[tn]|0)+en*67108864;this.words[tn]=nn/Wt|0;en=nn%Wt}this._strip();return Pt?this.ineg():this};BN.prototype.divn=function divn(Wt){return this.clone().idivn(Wt)};BN.prototype.egcd=function egcd(Wt){assert(Wt.negative===0);assert(!Wt.isZero());var Pt=this;var en=Wt.clone();if(Pt.negative!==0){Pt=Pt.umod(Wt)}else{Pt=Pt.clone()}var tn=new BN(1);var nn=new BN(0);var an=new BN(0);var In=new BN(1);var rn=0;while(Pt.isEven()&&en.isEven()){Pt.iushrn(1);en.iushrn(1);++rn}var sn=en.clone();var on=Pt.clone();while(!Pt.isZero()){for(var cn=0,dn=1;(Pt.words[0]&dn)===0&&cn<26;++cn,dn<<=1);if(cn>0){Pt.iushrn(cn);while(cn-- >0){if(tn.isOdd()||nn.isOdd()){tn.iadd(sn);nn.isub(on)}tn.iushrn(1);nn.iushrn(1)}}for(var un=0,pn=1;(en.words[0]&pn)===0&&un<26;++un,pn<<=1);if(un>0){en.iushrn(un);while(un-- >0){if(an.isOdd()||In.isOdd()){an.iadd(sn);In.isub(on)}an.iushrn(1);In.iushrn(1)}}if(Pt.cmp(en)>=0){Pt.isub(en);tn.isub(an);nn.isub(In)}else{en.isub(Pt);an.isub(tn);In.isub(nn)}}return{a:an,b:In,gcd:en.iushln(rn)}};BN.prototype._invmp=function _invmp(Wt){assert(Wt.negative===0);assert(!Wt.isZero());var Pt=this;var en=Wt.clone();if(Pt.negative!==0){Pt=Pt.umod(Wt)}else{Pt=Pt.clone()}var tn=new BN(1);var nn=new BN(0);var an=en.clone();while(Pt.cmpn(1)>0&&en.cmpn(1)>0){for(var In=0,rn=1;(Pt.words[0]&rn)===0&&In<26;++In,rn<<=1);if(In>0){Pt.iushrn(In);while(In-- >0){if(tn.isOdd()){tn.iadd(an)}tn.iushrn(1)}}for(var sn=0,on=1;(en.words[0]&on)===0&&sn<26;++sn,on<<=1);if(sn>0){en.iushrn(sn);while(sn-- >0){if(nn.isOdd()){nn.iadd(an)}nn.iushrn(1)}}if(Pt.cmp(en)>=0){Pt.isub(en);tn.isub(nn)}else{en.isub(Pt);nn.isub(tn)}}var cn;if(Pt.cmpn(1)===0){cn=tn}else{cn=nn}if(cn.cmpn(0)<0){cn.iadd(Wt)}return cn};BN.prototype.gcd=function gcd(Wt){if(this.isZero())return Wt.abs();if(Wt.isZero())return this.abs();var Pt=this.clone();var en=Wt.clone();Pt.negative=0;en.negative=0;for(var tn=0;Pt.isEven()&&en.isEven();tn++){Pt.iushrn(1);en.iushrn(1)}do{while(Pt.isEven()){Pt.iushrn(1)}while(en.isEven()){en.iushrn(1)}var nn=Pt.cmp(en);if(nn<0){var an=Pt;Pt=en;en=an}else if(nn===0||en.cmpn(1)===0){break}Pt.isub(en)}while(true);return en.iushln(tn)};BN.prototype.invm=function invm(Wt){return this.egcd(Wt).a.umod(Wt)};BN.prototype.isEven=function isEven(){return(this.words[0]&1)===0};BN.prototype.isOdd=function isOdd(){return(this.words[0]&1)===1};BN.prototype.andln=function andln(Wt){return this.words[0]&Wt};BN.prototype.bincn=function bincn(Wt){assert(typeof Wt==="number");var Pt=Wt%26;var en=(Wt-Pt)/26;var tn=1<>>26;In&=67108863;this.words[an]=In}if(nn!==0){this.words[an]=nn;this.length++}return this};BN.prototype.isZero=function isZero(){return this.length===1&&this.words[0]===0};BN.prototype.cmpn=function cmpn(Wt){var Pt=Wt<0;if(this.negative!==0&&!Pt)return-1;if(this.negative===0&&Pt)return 1;this._strip();var en;if(this.length>1){en=1}else{if(Pt){Wt=-Wt}assert(Wt<=67108863,"Number is too big");var tn=this.words[0]|0;en=tn===Wt?0:tnWt.length)return 1;if(this.length=0;en--){var tn=this.words[en]|0;var nn=Wt.words[en]|0;if(tn===nn)continue;if(tnnn){Pt=1}break}return Pt};BN.prototype.gtn=function gtn(Wt){return this.cmpn(Wt)===1};BN.prototype.gt=function gt(Wt){return this.cmp(Wt)===1};BN.prototype.gten=function gten(Wt){return this.cmpn(Wt)>=0};BN.prototype.gte=function gte(Wt){return this.cmp(Wt)>=0};BN.prototype.ltn=function ltn(Wt){return this.cmpn(Wt)===-1};BN.prototype.lt=function lt(Wt){return this.cmp(Wt)===-1};BN.prototype.lten=function lten(Wt){return this.cmpn(Wt)<=0};BN.prototype.lte=function lte(Wt){return this.cmp(Wt)<=0};BN.prototype.eqn=function eqn(Wt){return this.cmpn(Wt)===0};BN.prototype.eq=function eq(Wt){return this.cmp(Wt)===0};BN.red=function red(Wt){return new Red(Wt)};BN.prototype.toRed=function toRed(Wt){assert(!this.red,"Already a number in reduction context");assert(this.negative===0,"red works only with positives");return Wt.convertTo(this)._forceRed(Wt)};BN.prototype.fromRed=function fromRed(){assert(this.red,"fromRed works only with numbers in reduction context");return this.red.convertFrom(this)};BN.prototype._forceRed=function _forceRed(Wt){this.red=Wt;return this};BN.prototype.forceRed=function forceRed(Wt){assert(!this.red,"Already a number in reduction context");return this._forceRed(Wt)};BN.prototype.redAdd=function redAdd(Wt){assert(this.red,"redAdd works only with red numbers");return this.red.add(this,Wt)};BN.prototype.redIAdd=function redIAdd(Wt){assert(this.red,"redIAdd works only with red numbers");return this.red.iadd(this,Wt)};BN.prototype.redSub=function redSub(Wt){assert(this.red,"redSub works only with red numbers");return this.red.sub(this,Wt)};BN.prototype.redISub=function redISub(Wt){assert(this.red,"redISub works only with red numbers");return this.red.isub(this,Wt)};BN.prototype.redShl=function redShl(Wt){assert(this.red,"redShl works only with red numbers");return this.red.shl(this,Wt)};BN.prototype.redMul=function redMul(Wt){assert(this.red,"redMul works only with red numbers");this.red._verify2(this,Wt);return this.red.mul(this,Wt)};BN.prototype.redIMul=function redIMul(Wt){assert(this.red,"redMul works only with red numbers");this.red._verify2(this,Wt);return this.red.imul(this,Wt)};BN.prototype.redSqr=function redSqr(){assert(this.red,"redSqr works only with red numbers");this.red._verify1(this);return this.red.sqr(this)};BN.prototype.redISqr=function redISqr(){assert(this.red,"redISqr works only with red numbers");this.red._verify1(this);return this.red.isqr(this)};BN.prototype.redSqrt=function redSqrt(){assert(this.red,"redSqrt works only with red numbers");this.red._verify1(this);return this.red.sqrt(this)};BN.prototype.redInvm=function redInvm(){assert(this.red,"redInvm works only with red numbers");this.red._verify1(this);return this.red.invm(this)};BN.prototype.redNeg=function redNeg(){assert(this.red,"redNeg works only with red numbers");this.red._verify1(this);return this.red.neg(this)};BN.prototype.redPow=function redPow(Wt){assert(this.red&&!Wt.red,"redPow(normalNum)");this.red._verify1(this);return this.red.pow(this,Wt)};var on={k256:null,p224:null,p192:null,p25519:null};function MPrime(Wt,Pt){this.name=Wt;this.p=new BN(Pt,16);this.n=this.p.bitLength();this.k=new BN(1).iushln(this.n).isub(this.p);this.tmp=this._tmp()}MPrime.prototype._tmp=function _tmp(){var Wt=new BN(null);Wt.words=new Array(Math.ceil(this.n/13));return Wt};MPrime.prototype.ireduce=function ireduce(Wt){var Pt=Wt;var en;do{this.split(Pt,this.tmp);Pt=this.imulK(Pt);Pt=Pt.iadd(this.tmp);en=Pt.bitLength()}while(en>this.n);var tn=en0){Pt.isub(this.p)}else{if(Pt.strip!==void 0){Pt.strip()}else{Pt._strip()}}return Pt};MPrime.prototype.split=function split(Wt,Pt){Wt.iushrn(this.n,0,Pt)};MPrime.prototype.imulK=function imulK(Wt){return Wt.imul(this.k)};function K256(){MPrime.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}inherits2(K256,MPrime);K256.prototype.split=function split(Wt,Pt){var en=4194303;var tn=Math.min(Wt.length,9);for(var nn=0;nn>>22;an=In}an>>>=22;Wt.words[nn-10]=an;if(an===0&&Wt.length>10){Wt.length-=10}else{Wt.length-=9}};K256.prototype.imulK=function imulK(Wt){Wt.words[Wt.length]=0;Wt.words[Wt.length+1]=0;Wt.length+=2;var Pt=0;for(var en=0;en>>=26;Wt.words[en]=nn;Pt=tn}if(Pt!==0){Wt.words[Wt.length++]=Pt}return Wt};BN._prime=function prime(Wt){if(on[Wt])return on[Wt];var Pt;if(Wt==="k256"){Pt=new K256}else if(Wt==="p224"){Pt=new P224}else if(Wt==="p192"){Pt=new P192}else if(Wt==="p25519"){Pt=new P25519}else{throw new Error("Unknown prime "+Wt)}on[Wt]=Pt;return Pt};function Red(Wt){if(typeof Wt==="string"){var Pt=BN._prime(Wt);this.m=Pt.p;this.prime=Pt}else{assert(Wt.gtn(1),"modulus must be greater than 1");this.m=Wt;this.prime=null}}Red.prototype._verify1=function _verify1(Wt){assert(Wt.negative===0,"red works only with positives");assert(Wt.red,"red works only with red numbers")};Red.prototype._verify2=function _verify2(Wt,Pt){assert((Wt.negative|Pt.negative)===0,"red works only with positives");assert(Wt.red&&Wt.red===Pt.red,"red works only with red numbers")};Red.prototype.imod=function imod(Wt){if(this.prime)return this.prime.ireduce(Wt)._forceRed(this);move(Wt,Wt.umod(this.m)._forceRed(this));return Wt};Red.prototype.neg=function neg(Wt){if(Wt.isZero()){return Wt.clone()}return this.m.sub(Wt)._forceRed(this)};Red.prototype.add=function add(Wt,Pt){this._verify2(Wt,Pt);var en=Wt.add(Pt);if(en.cmp(this.m)>=0){en.isub(this.m)}return en._forceRed(this)};Red.prototype.iadd=function iadd(Wt,Pt){this._verify2(Wt,Pt);var en=Wt.iadd(Pt);if(en.cmp(this.m)>=0){en.isub(this.m)}return en};Red.prototype.sub=function sub(Wt,Pt){this._verify2(Wt,Pt);var en=Wt.sub(Pt);if(en.cmpn(0)<0){en.iadd(this.m)}return en._forceRed(this)};Red.prototype.isub=function isub(Wt,Pt){this._verify2(Wt,Pt);var en=Wt.isub(Pt);if(en.cmpn(0)<0){en.iadd(this.m)}return en};Red.prototype.shl=function shl(Wt,Pt){this._verify1(Wt);return this.imod(Wt.ushln(Pt))};Red.prototype.imul=function imul(Wt,Pt){this._verify2(Wt,Pt);return this.imod(Wt.imul(Pt))};Red.prototype.mul=function mul(Wt,Pt){this._verify2(Wt,Pt);return this.imod(Wt.mul(Pt))};Red.prototype.isqr=function isqr(Wt){return this.imul(Wt,Wt.clone())};Red.prototype.sqr=function sqr(Wt){return this.mul(Wt,Wt)};Red.prototype.sqrt=function sqrt(Wt){if(Wt.isZero())return Wt.clone();var Pt=this.m.andln(3);assert(Pt%2===1);if(Pt===3){var en=this.m.add(new BN(1)).iushrn(2);return this.pow(Wt,en)}var tn=this.m.subn(1);var nn=0;while(!tn.isZero()&&tn.andln(1)===0){nn++;tn.iushrn(1)}assert(!tn.isZero());var an=new BN(1).toRed(this);var In=an.redNeg();var rn=this.m.subn(1).iushrn(1);var sn=this.m.bitLength();sn=new BN(2*sn*sn).toRed(this);while(this.pow(sn,rn).cmp(In)!==0){sn.redIAdd(In)}var on=this.pow(sn,tn);var cn=this.pow(Wt,tn.addn(1).iushrn(1));var dn=this.pow(Wt,tn);var un=nn;while(dn.cmp(an)!==0){var pn=dn;for(var mn=0;pn.cmp(an)!==0;mn++){pn=pn.redSqr()}assert(mn=0;nn--){var on=Pt.words[nn];for(var cn=sn-1;cn>=0;cn--){var dn=on>>cn&1;if(an!==tn[0]){an=this.sqr(an)}if(dn===0&&In===0){rn=0;continue}In<<=1;In|=dn;rn++;if(rn!==en&&(nn!==0||cn!==0))continue;an=this.mul(an,tn[In]);rn=0;In=0}sn=26}return an};Red.prototype.convertTo=function convertTo(Wt){var Pt=Wt.umod(this.m);return Pt===Wt?Pt.clone():Pt};Red.prototype.convertFrom=function convertFrom(Wt){var Pt=Wt.clone();Pt.red=null;return Pt};BN.mont=function mont(Wt){return new Mont(Wt)};function Mont(Wt){Red.call(this,Wt);this.shift=this.m.bitLength();if(this.shift%26!==0){this.shift+=26-this.shift%26}this.r=new BN(1).iushln(this.shift);this.r2=this.imod(this.r.sqr());this.rinv=this.r._invmp(this.m);this.minv=this.rinv.mul(this.r).isubn(1).div(this.m);this.minv=this.minv.umod(this.r);this.minv=this.r.sub(this.minv)}inherits2(Mont,Red);Mont.prototype.convertTo=function convertTo(Wt){return this.imod(Wt.ushln(this.shift))};Mont.prototype.convertFrom=function convertFrom(Wt){var Pt=this.imod(Wt.mul(this.rinv));Pt.red=null;return Pt};Mont.prototype.imul=function imul(Wt,Pt){if(Wt.isZero()||Pt.isZero()){Wt.words[0]=0;Wt.length=1;return Wt}var en=Wt.imul(Pt);var tn=en.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m);var nn=en.isub(tn).iushrn(this.shift);var an=nn;if(nn.cmp(this.m)>=0){an=nn.isub(this.m)}else if(nn.cmpn(0)<0){an=nn.iadd(this.m)}return an._forceRed(this)};Mont.prototype.mul=function mul(Wt,Pt){if(Wt.isZero()||Pt.isZero())return new BN(0)._forceRed(this);var en=Wt.mul(Pt);var tn=en.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m);var nn=en.isub(tn).iushrn(this.shift);var an=nn;if(nn.cmp(this.m)>=0){an=nn.isub(this.m)}else if(nn.cmpn(0)<0){an=nn.iadd(this.m)}return an._forceRed(this)};Mont.prototype.invm=function invm(Wt){var Pt=this.imod(Wt._invmp(this.m).mul(this.r2));return Pt._forceRed(this)}})(typeof Pt==="undefined"||Pt,Wt)}});var cn=__commonJS({"node_modules/@ethersproject/logger/lib/_version.js"(Wt){"use strict";Object.defineProperty(Wt,"__esModule",{value:true});Wt.version=void 0;Wt.version="logger/5.7.0"}});var dn=__commonJS({"node_modules/@ethersproject/logger/lib/index.js"(Wt){"use strict";Object.defineProperty(Wt,"__esModule",{value:true});Wt.Logger=Wt.ErrorCode=Wt.LogLevel=void 0;var Pt=false;var en=false;var tn={debug:1,default:2,info:2,warning:3,error:4,off:5};var nn=tn["default"];var an=cn();var In=null;function _checkNormalize(){try{var Wt=[];["NFD","NFC","NFKD","NFKC"].forEach((function(Pt){try{if("test".normalize(Pt)!=="test"){throw new Error("bad normalize")}}catch(en){Wt.push(Pt)}}));if(Wt.length){throw new Error("missing "+Wt.join(", "))}if(String.fromCharCode(233).normalize("NFD")!==String.fromCharCode(101,769)){throw new Error("broken implementation")}}catch(Wt){return Wt.message}return null}var rn=_checkNormalize();var sn;(function(Wt){Wt["DEBUG"]="DEBUG";Wt["INFO"]="INFO";Wt["WARNING"]="WARNING";Wt["ERROR"]="ERROR";Wt["OFF"]="OFF"})(sn=Wt.LogLevel||(Wt.LogLevel={}));var on;(function(Wt){Wt["UNKNOWN_ERROR"]="UNKNOWN_ERROR";Wt["NOT_IMPLEMENTED"]="NOT_IMPLEMENTED";Wt["UNSUPPORTED_OPERATION"]="UNSUPPORTED_OPERATION";Wt["NETWORK_ERROR"]="NETWORK_ERROR";Wt["SERVER_ERROR"]="SERVER_ERROR";Wt["TIMEOUT"]="TIMEOUT";Wt["BUFFER_OVERRUN"]="BUFFER_OVERRUN";Wt["NUMERIC_FAULT"]="NUMERIC_FAULT";Wt["MISSING_NEW"]="MISSING_NEW";Wt["INVALID_ARGUMENT"]="INVALID_ARGUMENT";Wt["MISSING_ARGUMENT"]="MISSING_ARGUMENT";Wt["UNEXPECTED_ARGUMENT"]="UNEXPECTED_ARGUMENT";Wt["CALL_EXCEPTION"]="CALL_EXCEPTION";Wt["INSUFFICIENT_FUNDS"]="INSUFFICIENT_FUNDS";Wt["NONCE_EXPIRED"]="NONCE_EXPIRED";Wt["REPLACEMENT_UNDERPRICED"]="REPLACEMENT_UNDERPRICED";Wt["UNPREDICTABLE_GAS_LIMIT"]="UNPREDICTABLE_GAS_LIMIT";Wt["TRANSACTION_REPLACED"]="TRANSACTION_REPLACED";Wt["ACTION_REJECTED"]="ACTION_REJECTED"})(on=Wt.ErrorCode||(Wt.ErrorCode={}));var dn="0123456789abcdef";var un=function(){function Logger2(Wt){Object.defineProperty(this,"version",{enumerable:true,value:Wt,writable:false})}Logger2.prototype._log=function(Wt,Pt){var en=Wt.toLowerCase();if(tn[en]==null){this.throwArgumentError("invalid log level name","logLevel",Wt)}if(nn>tn[en]){return}console.log.apply(console,Pt)};Logger2.prototype.debug=function(){var Wt=[];for(var Pt=0;Pt>4];en+=dn[Pt[an]&15]}nn.push(Wt+"=Uint8Array(0x"+en+")")}else{nn.push(Wt+"="+JSON.stringify(Pt))}}catch(Pt){nn.push(Wt+"="+JSON.stringify(tn[Wt].toString()))}}));nn.push("code="+Pt);nn.push("version="+this.version);var an=Wt;var In="";switch(Pt){case on.NUMERIC_FAULT:{In="NUMERIC_FAULT";var rn=Wt;switch(rn){case"overflow":case"underflow":case"division-by-zero":In+="-"+rn;break;case"negative-power":case"negative-width":In+="-unsupported";break;case"unbound-bitwise-result":In+="-unbound-result";break}break}case on.CALL_EXCEPTION:case on.INSUFFICIENT_FUNDS:case on.MISSING_NEW:case on.NONCE_EXPIRED:case on.REPLACEMENT_UNDERPRICED:case on.TRANSACTION_REPLACED:case on.UNPREDICTABLE_GAS_LIMIT:In=Pt;break}if(In){Wt+=" [ See: https://links.ethers.org/v5-errors-"+In+" ]"}if(nn.length){Wt+=" ("+nn.join(", ")+")"}var sn=new Error(Wt);sn.reason=an;sn.code=Pt;Object.keys(tn).forEach((function(Wt){sn[Wt]=tn[Wt]}));return sn};Logger2.prototype.throwError=function(Wt,Pt,en){throw this.makeError(Wt,Pt,en)};Logger2.prototype.throwArgumentError=function(Wt,Pt,en){return this.throwError(Wt,Logger2.errors.INVALID_ARGUMENT,{argument:Pt,value:en})};Logger2.prototype.assert=function(Wt,Pt,en,tn){if(!!Wt){return}this.throwError(Pt,en,tn)};Logger2.prototype.assertArgument=function(Wt,Pt,en,tn){if(!!Wt){return}this.throwArgumentError(Pt,en,tn)};Logger2.prototype.checkNormalize=function(Wt){if(Wt==null){Wt="platform missing String.prototype.normalize"}if(rn){this.throwError("platform missing String.prototype.normalize",Logger2.errors.UNSUPPORTED_OPERATION,{operation:"String.prototype.normalize",form:rn})}};Logger2.prototype.checkSafeUint53=function(Wt,Pt){if(typeof Wt!=="number"){return}if(Pt==null){Pt="value not safe"}if(Wt<0||Wt>=9007199254740991){this.throwError(Pt,Logger2.errors.NUMERIC_FAULT,{operation:"checkSafeInteger",fault:"out-of-safe-range",value:Wt})}if(Wt%1){this.throwError(Pt,Logger2.errors.NUMERIC_FAULT,{operation:"checkSafeInteger",fault:"non-integer",value:Wt})}};Logger2.prototype.checkArgumentCount=function(Wt,Pt,en){if(en){en=": "+en}else{en=""}if(WtPt){this.throwError("too many arguments"+en,Logger2.errors.UNEXPECTED_ARGUMENT,{count:Wt,expectedCount:Pt})}};Logger2.prototype.checkNew=function(Wt,Pt){if(Wt===Object||Wt==null){this.throwError("missing new",Logger2.errors.MISSING_NEW,{name:Pt.name})}};Logger2.prototype.checkAbstract=function(Wt,Pt){if(Wt===Pt){this.throwError("cannot instantiate abstract class "+JSON.stringify(Pt.name)+" directly; use a sub-class",Logger2.errors.UNSUPPORTED_OPERATION,{name:Wt.name,operation:"new"})}else if(Wt===Object||Wt==null){this.throwError("missing new",Logger2.errors.MISSING_NEW,{name:Pt.name})}};Logger2.globalLogger=function(){if(!In){In=new Logger2(an.version)}return In};Logger2.setCensorship=function(Wt,tn){if(!Wt&&tn){this.globalLogger().throwError("cannot permanently disable censorship",Logger2.errors.UNSUPPORTED_OPERATION,{operation:"setCensorship"})}if(Pt){if(!Wt){return}this.globalLogger().throwError("error censorship permanent",Logger2.errors.UNSUPPORTED_OPERATION,{operation:"setCensorship"})}en=!!Wt;Pt=!!tn};Logger2.setLogLevel=function(Wt){var Pt=tn[Wt.toLowerCase()];if(Pt==null){Logger2.globalLogger().warn("invalid log level - "+Wt);return}nn=Pt};Logger2.from=function(Wt){return new Logger2(Wt)};Logger2.errors=on;Logger2.levels=sn;return Logger2}();Wt.Logger=un}});var un=__commonJS({"node_modules/@ethersproject/bytes/lib/_version.js"(Wt){"use strict";Object.defineProperty(Wt,"__esModule",{value:true});Wt.version=void 0;Wt.version="bytes/5.7.0"}});var pn=__commonJS({"node_modules/@ethersproject/bytes/lib/index.js"(Wt){"use strict";Object.defineProperty(Wt,"__esModule",{value:true});Wt.joinSignature=Wt.splitSignature=Wt.hexZeroPad=Wt.hexStripZeros=Wt.hexValue=Wt.hexConcat=Wt.hexDataSlice=Wt.hexDataLength=Wt.hexlify=Wt.isHexString=Wt.zeroPad=Wt.stripZeros=Wt.concat=Wt.arrayify=Wt.isBytes=Wt.isBytesLike=void 0;var Pt=dn();var en=un();var tn=new Pt.Logger(en.version);function isHexable(Wt){return!!Wt.toHexString}function addSlice(Wt){if(Wt.slice){return Wt}Wt.slice=function(){var Pt=Array.prototype.slice.call(arguments);return addSlice(new Uint8Array(Array.prototype.slice.apply(Wt,Pt)))};return Wt}function isBytesLike(Wt){return isHexString(Wt)&&!(Wt.length%2)||isBytes(Wt)}Wt.isBytesLike=isBytesLike;function isInteger(Wt){return typeof Wt==="number"&&Wt==Wt&&Wt%1===0}function isBytes(Wt){if(Wt==null){return false}if(Wt.constructor===Uint8Array){return true}if(typeof Wt==="string"){return false}if(!isInteger(Wt.length)||Wt.length<0){return false}for(var Pt=0;Pt=256){return false}}return true}Wt.isBytes=isBytes;function arrayify(Wt,Pt){if(!Pt){Pt={}}if(typeof Wt==="number"){tn.checkSafeUint53(Wt,"invalid arrayify value");var en=[];while(Wt){en.unshift(Wt&255);Wt=parseInt(String(Wt/256))}if(en.length===0){en.push(0)}return addSlice(new Uint8Array(en))}if(Pt.allowMissingPrefix&&typeof Wt==="string"&&Wt.substring(0,2)!=="0x"){Wt="0x"+Wt}if(isHexable(Wt)){Wt=Wt.toHexString()}if(isHexString(Wt)){var nn=Wt.substring(2);if(nn.length%2){if(Pt.hexPad==="left"){nn="0"+nn}else if(Pt.hexPad==="right"){nn+="0"}else{tn.throwArgumentError("hex data is odd-length","value",Wt)}}var en=[];for(var an=0;anPt){tn.throwArgumentError("value out of range","value",arguments[0])}var en=new Uint8Array(Pt);en.set(Wt,Pt-Wt.length);return addSlice(en)}Wt.zeroPad=zeroPad;function isHexString(Wt,Pt){if(typeof Wt!=="string"||!Wt.match(/^0x[0-9A-Fa-f]*$/)){return false}if(Pt&&Wt.length!==2+2*Pt){return false}return true}Wt.isHexString=isHexString;var nn="0123456789abcdef";function hexlify(Wt,Pt){if(!Pt){Pt={}}if(typeof Wt==="number"){tn.checkSafeUint53(Wt,"invalid hexlify value");var en="";while(Wt){en=nn[Wt&15]+en;Wt=Math.floor(Wt/16)}if(en.length){if(en.length%2){en="0"+en}return"0x"+en}return"0x00"}if(typeof Wt==="bigint"){Wt=Wt.toString(16);if(Wt.length%2){return"0x0"+Wt}return"0x"+Wt}if(Pt.allowMissingPrefix&&typeof Wt==="string"&&Wt.substring(0,2)!=="0x"){Wt="0x"+Wt}if(isHexable(Wt)){return Wt.toHexString()}if(isHexString(Wt)){if(Wt.length%2){if(Pt.hexPad==="left"){Wt="0x0"+Wt.substring(2)}else if(Pt.hexPad==="right"){Wt+="0"}else{tn.throwArgumentError("hex data is odd-length","value",Wt)}}return Wt.toLowerCase()}if(isBytes(Wt)){var an="0x";for(var In=0;In>4]+nn[rn&15]}return an}return tn.throwArgumentError("invalid hexlify value","value",Wt)}Wt.hexlify=hexlify;function hexDataLength(Wt){if(typeof Wt!=="string"){Wt=hexlify(Wt)}else if(!isHexString(Wt)||Wt.length%2){return null}return(Wt.length-2)/2}Wt.hexDataLength=hexDataLength;function hexDataSlice(Wt,Pt,en){if(typeof Wt!=="string"){Wt=hexlify(Wt)}else if(!isHexString(Wt)||Wt.length%2){tn.throwArgumentError("invalid hexData","value",Wt)}Pt=2+2*Pt;if(en!=null){return"0x"+Wt.substring(Pt,2+2*en)}return"0x"+Wt.substring(Pt)}Wt.hexDataSlice=hexDataSlice;function hexConcat(Wt){var Pt="0x";Wt.forEach((function(Wt){Pt+=hexlify(Wt).substring(2)}));return Pt}Wt.hexConcat=hexConcat;function hexValue(Wt){var Pt=hexStripZeros(hexlify(Wt,{hexPad:"left"}));if(Pt==="0x"){return"0x0"}return Pt}Wt.hexValue=hexValue;function hexStripZeros(Wt){if(typeof Wt!=="string"){Wt=hexlify(Wt)}if(!isHexString(Wt)){tn.throwArgumentError("invalid hex string","value",Wt)}Wt=Wt.substring(2);var Pt=0;while(Pt2*Pt+2){tn.throwArgumentError("value out of range","value",arguments[1])}while(Wt.length<2*Pt+2){Wt="0x0"+Wt.substring(2)}return Wt}Wt.hexZeroPad=hexZeroPad;function splitSignature(Wt){var Pt={r:"0x",s:"0x",_vs:"0x",recoveryParam:0,v:0,yParityAndS:"0x",compact:"0x"};if(isBytesLike(Wt)){var en=arrayify(Wt);if(en.length===64){Pt.v=27+(en[32]>>7);en[32]&=127;Pt.r=hexlify(en.slice(0,32));Pt.s=hexlify(en.slice(32,64))}else if(en.length===65){Pt.r=hexlify(en.slice(0,32));Pt.s=hexlify(en.slice(32,64));Pt.v=en[64]}else{tn.throwArgumentError("invalid signature string","signature",Wt)}if(Pt.v<27){if(Pt.v===0||Pt.v===1){Pt.v+=27}else{tn.throwArgumentError("signature invalid v byte","signature",Wt)}}Pt.recoveryParam=1-Pt.v%2;if(Pt.recoveryParam){en[32]|=128}Pt._vs=hexlify(en.slice(32,64))}else{Pt.r=Wt.r;Pt.s=Wt.s;Pt.v=Wt.v;Pt.recoveryParam=Wt.recoveryParam;Pt._vs=Wt._vs;if(Pt._vs!=null){var nn=zeroPad(arrayify(Pt._vs),32);Pt._vs=hexlify(nn);var an=nn[0]>=128?1:0;if(Pt.recoveryParam==null){Pt.recoveryParam=an}else if(Pt.recoveryParam!==an){tn.throwArgumentError("signature recoveryParam mismatch _vs","signature",Wt)}nn[0]&=127;var In=hexlify(nn);if(Pt.s==null){Pt.s=In}else if(Pt.s!==In){tn.throwArgumentError("signature v mismatch _vs","signature",Wt)}}if(Pt.recoveryParam==null){if(Pt.v==null){tn.throwArgumentError("signature missing v and recoveryParam","signature",Wt)}else if(Pt.v===0||Pt.v===1){Pt.recoveryParam=Pt.v}else{Pt.recoveryParam=1-Pt.v%2}}else{if(Pt.v==null){Pt.v=27+Pt.recoveryParam}else{var rn=Pt.v===0||Pt.v===1?Pt.v:1-Pt.v%2;if(Pt.recoveryParam!==rn){tn.throwArgumentError("signature recoveryParam mismatch v","signature",Wt)}}}if(Pt.r==null||!isHexString(Pt.r)){tn.throwArgumentError("signature missing or invalid r","signature",Wt)}else{Pt.r=hexZeroPad(Pt.r,32)}if(Pt.s==null||!isHexString(Pt.s)){tn.throwArgumentError("signature missing or invalid s","signature",Wt)}else{Pt.s=hexZeroPad(Pt.s,32)}var sn=arrayify(Pt.s);if(sn[0]>=128){tn.throwArgumentError("signature s out of range","signature",Wt)}if(Pt.recoveryParam){sn[0]|=128}var on=hexlify(sn);if(Pt._vs){if(!isHexString(Pt._vs)){tn.throwArgumentError("signature invalid _vs","signature",Wt)}Pt._vs=hexZeroPad(Pt._vs,32)}if(Pt._vs==null){Pt._vs=on}else if(Pt._vs!==on){tn.throwArgumentError("signature _vs mismatch v and s","signature",Wt)}}Pt.yParityAndS=Pt._vs;Pt.compact=Pt.r+Pt.yParityAndS.substring(2);return Pt}Wt.splitSignature=splitSignature;function joinSignature(Wt){Wt=splitSignature(Wt);return hexlify(concat([Wt.r,Wt.s,Wt.recoveryParam?"0x1c":"0x1b"]))}Wt.joinSignature=joinSignature}});var mn=__commonJS({"node_modules/@ethersproject/bignumber/lib/_version.js"(Wt){"use strict";Object.defineProperty(Wt,"__esModule",{value:true});Wt.version=void 0;Wt.version="bignumber/5.7.0"}});var bn=__commonJS({"node_modules/@ethersproject/bignumber/lib/bignumber.js"(Wt){"use strict";var Pt=Wt&&Wt.__importDefault||function(Wt){return Wt&&Wt.__esModule?Wt:{default:Wt}};Object.defineProperty(Wt,"__esModule",{value:true});Wt._base16To36=Wt._base36To16=Wt.BigNumber=Wt.isBigNumberish=void 0;var en=Pt(on());var tn=en.default.BN;var nn=pn();var an=dn();var In=mn();var rn=new an.Logger(In.version);var sn={};var cn=9007199254740991;function isBigNumberish(Wt){return Wt!=null&&(bn.isBigNumber(Wt)||typeof Wt==="number"&&Wt%1===0||typeof Wt==="string"&&!!Wt.match(/^-?[0-9]+$/)||(0,nn.isHexString)(Wt)||typeof Wt==="bigint"||(0,nn.isBytes)(Wt))}Wt.isBigNumberish=isBigNumberish;var un=false;var bn=function(){function BigNumber2(Wt,Pt){if(Wt!==sn){rn.throwError("cannot call constructor directly; use BigNumber.from",an.Logger.errors.UNSUPPORTED_OPERATION,{operation:"new (BigNumber)"})}this._hex=Pt;this._isBigNumber=true;Object.freeze(this)}BigNumber2.prototype.fromTwos=function(Wt){return toBigNumber(toBN(this).fromTwos(Wt))};BigNumber2.prototype.toTwos=function(Wt){return toBigNumber(toBN(this).toTwos(Wt))};BigNumber2.prototype.abs=function(){if(this._hex[0]==="-"){return BigNumber2.from(this._hex.substring(1))}return this};BigNumber2.prototype.add=function(Wt){return toBigNumber(toBN(this).add(toBN(Wt)))};BigNumber2.prototype.sub=function(Wt){return toBigNumber(toBN(this).sub(toBN(Wt)))};BigNumber2.prototype.div=function(Wt){var Pt=BigNumber2.from(Wt);if(Pt.isZero()){throwFault("division-by-zero","div")}return toBigNumber(toBN(this).div(toBN(Wt)))};BigNumber2.prototype.mul=function(Wt){return toBigNumber(toBN(this).mul(toBN(Wt)))};BigNumber2.prototype.mod=function(Wt){var Pt=toBN(Wt);if(Pt.isNeg()){throwFault("division-by-zero","mod")}return toBigNumber(toBN(this).umod(Pt))};BigNumber2.prototype.pow=function(Wt){var Pt=toBN(Wt);if(Pt.isNeg()){throwFault("negative-power","pow")}return toBigNumber(toBN(this).pow(Pt))};BigNumber2.prototype.and=function(Wt){var Pt=toBN(Wt);if(this.isNegative()||Pt.isNeg()){throwFault("unbound-bitwise-result","and")}return toBigNumber(toBN(this).and(Pt))};BigNumber2.prototype.or=function(Wt){var Pt=toBN(Wt);if(this.isNegative()||Pt.isNeg()){throwFault("unbound-bitwise-result","or")}return toBigNumber(toBN(this).or(Pt))};BigNumber2.prototype.xor=function(Wt){var Pt=toBN(Wt);if(this.isNegative()||Pt.isNeg()){throwFault("unbound-bitwise-result","xor")}return toBigNumber(toBN(this).xor(Pt))};BigNumber2.prototype.mask=function(Wt){if(this.isNegative()||Wt<0){throwFault("negative-width","mask")}return toBigNumber(toBN(this).maskn(Wt))};BigNumber2.prototype.shl=function(Wt){if(this.isNegative()||Wt<0){throwFault("negative-width","shl")}return toBigNumber(toBN(this).shln(Wt))};BigNumber2.prototype.shr=function(Wt){if(this.isNegative()||Wt<0){throwFault("negative-width","shr")}return toBigNumber(toBN(this).shrn(Wt))};BigNumber2.prototype.eq=function(Wt){return toBN(this).eq(toBN(Wt))};BigNumber2.prototype.lt=function(Wt){return toBN(this).lt(toBN(Wt))};BigNumber2.prototype.lte=function(Wt){return toBN(this).lte(toBN(Wt))};BigNumber2.prototype.gt=function(Wt){return toBN(this).gt(toBN(Wt))};BigNumber2.prototype.gte=function(Wt){return toBN(this).gte(toBN(Wt))};BigNumber2.prototype.isNegative=function(){return this._hex[0]==="-"};BigNumber2.prototype.isZero=function(){return toBN(this).isZero()};BigNumber2.prototype.toNumber=function(){try{return toBN(this).toNumber()}catch(Wt){throwFault("overflow","toNumber",this.toString())}return null};BigNumber2.prototype.toBigInt=function(){try{return BigInt(this.toString())}catch(Wt){}return rn.throwError("this platform does not support BigInt",an.Logger.errors.UNSUPPORTED_OPERATION,{value:this.toString()})};BigNumber2.prototype.toString=function(){if(arguments.length>0){if(arguments[0]===10){if(!un){un=true;rn.warn("BigNumber.toString does not accept any parameters; base-10 is assumed")}}else if(arguments[0]===16){rn.throwError("BigNumber.toString does not accept any parameters; use bigNumber.toHexString()",an.Logger.errors.UNEXPECTED_ARGUMENT,{})}else{rn.throwError("BigNumber.toString does not accept parameters",an.Logger.errors.UNEXPECTED_ARGUMENT,{})}}return toBN(this).toString(10)};BigNumber2.prototype.toHexString=function(){return this._hex};BigNumber2.prototype.toJSON=function(Wt){return{type:"BigNumber",hex:this.toHexString()}};BigNumber2.from=function(Wt){if(Wt instanceof BigNumber2){return Wt}if(typeof Wt==="string"){if(Wt.match(/^-?0x[0-9a-f]+$/i)){return new BigNumber2(sn,toHex(Wt))}if(Wt.match(/^-?[0-9]+$/)){return new BigNumber2(sn,toHex(new tn(Wt)))}return rn.throwArgumentError("invalid BigNumber string","value",Wt)}if(typeof Wt==="number"){if(Wt%1){throwFault("underflow","BigNumber.from",Wt)}if(Wt>=cn||Wt<=-cn){throwFault("overflow","BigNumber.from",Wt)}return BigNumber2.from(String(Wt))}var Pt=Wt;if(typeof Pt==="bigint"){return BigNumber2.from(Pt.toString())}if((0,nn.isBytes)(Pt)){return BigNumber2.from((0,nn.hexlify)(Pt))}if(Pt){if(Pt.toHexString){var en=Pt.toHexString();if(typeof en==="string"){return BigNumber2.from(en)}}else{var en=Pt._hex;if(en==null&&Pt.type==="BigNumber"){en=Pt.hex}if(typeof en==="string"){if((0,nn.isHexString)(en)||en[0]==="-"&&(0,nn.isHexString)(en.substring(1))){return BigNumber2.from(en)}}}}return rn.throwArgumentError("invalid BigNumber value","value",Wt)};BigNumber2.isBigNumber=function(Wt){return!!(Wt&&Wt._isBigNumber)};return BigNumber2}();Wt.BigNumber=bn;function toHex(Wt){if(typeof Wt!=="string"){return toHex(Wt.toString(16))}if(Wt[0]==="-"){Wt=Wt.substring(1);if(Wt[0]==="-"){rn.throwArgumentError("invalid hex","value",Wt)}Wt=toHex(Wt);if(Wt==="0x00"){return Wt}return"-"+Wt}if(Wt.substring(0,2)!=="0x"){Wt="0x"+Wt}if(Wt==="0x"){return"0x00"}if(Wt.length%2){Wt="0x0"+Wt.substring(2)}while(Wt.length>4&&Wt.substring(0,4)==="0x00"){Wt="0x"+Wt.substring(4)}return Wt}function toBigNumber(Wt){return bn.from(toHex(Wt))}function toBN(Wt){var Pt=bn.from(Wt).toHexString();if(Pt[0]==="-"){return new tn("-"+Pt.substring(3),16)}return new tn(Pt.substring(2),16)}function throwFault(Wt,Pt,en){var tn={fault:Wt,operation:Pt};if(en!=null){tn.value=en}return rn.throwError(Wt,an.Logger.errors.NUMERIC_FAULT,tn)}function _base36To16(Wt){return new tn(Wt,36).toString(16)}Wt._base36To16=_base36To16;function _base16To36(Wt){return new tn(Wt,16).toString(36)}Wt._base16To36=_base16To36}});var Gn=__commonJS({"node_modules/@ethersproject/bignumber/lib/fixednumber.js"(Wt){"use strict";Object.defineProperty(Wt,"__esModule",{value:true});Wt.FixedNumber=Wt.FixedFormat=Wt.parseFixed=Wt.formatFixed=void 0;var Pt=pn();var en=dn();var tn=mn();var nn=new en.Logger(tn.version);var an=bn();var In={};var rn=an.BigNumber.from(0);var sn=an.BigNumber.from(-1);function throwFault(Wt,Pt,tn,an){var In={fault:Pt,operation:tn};if(an!==void 0){In.value=an}return nn.throwError(Wt,en.Logger.errors.NUMERIC_FAULT,In)}var on="0";while(on.length<256){on+=on}function getMultiplier(Wt){if(typeof Wt!=="number"){try{Wt=an.BigNumber.from(Wt).toNumber()}catch(Wt){}}if(typeof Wt==="number"&&Wt>=0&&Wt<=256&&!(Wt%1)){return"1"+on.substring(0,Wt)}return nn.throwArgumentError("invalid decimal size","decimals",Wt)}function formatFixed(Wt,Pt){if(Pt==null){Pt=0}var en=getMultiplier(Pt);Wt=an.BigNumber.from(Wt);var tn=Wt.lt(rn);if(tn){Wt=Wt.mul(sn)}var nn=Wt.mod(en).toString();while(nn.length2){nn.throwArgumentError("too many decimal points","value",Wt)}var rn=In[0],on=In[1];if(!rn){rn="0"}if(!on){on="0"}while(on[on.length-1]==="0"){on=on.substring(0,on.length-1)}if(on.length>en.length-1){throwFault("fractional component exceeds decimals","underflow","parseFixed")}if(on===""){on="0"}while(on.length80){nn.throwArgumentError("invalid fixed format (decimals too large)","format.decimals",tn)}return new FixedFormat2(In,Pt,en,tn)};return FixedFormat2}();Wt.FixedFormat=cn;var un=function(){function FixedNumber2(Wt,Pt,tn,an){if(Wt!==In){nn.throwError("cannot use FixedNumber constructor; use FixedNumber.from",en.Logger.errors.UNSUPPORTED_OPERATION,{operation:"new FixedFormat"})}this.format=an;this._hex=Pt;this._value=tn;this._isFixedNumber=true;Object.freeze(this)}FixedNumber2.prototype._checkFormat=function(Wt){if(this.format.name!==Wt.format.name){nn.throwArgumentError("incompatible format; use fixedNumber.toFormat","other",Wt)}};FixedNumber2.prototype.addUnsafe=function(Wt){this._checkFormat(Wt);var Pt=parseFixed(this._value,this.format.decimals);var en=parseFixed(Wt._value,Wt.format.decimals);return FixedNumber2.fromValue(Pt.add(en),this.format.decimals,this.format)};FixedNumber2.prototype.subUnsafe=function(Wt){this._checkFormat(Wt);var Pt=parseFixed(this._value,this.format.decimals);var en=parseFixed(Wt._value,Wt.format.decimals);return FixedNumber2.fromValue(Pt.sub(en),this.format.decimals,this.format)};FixedNumber2.prototype.mulUnsafe=function(Wt){this._checkFormat(Wt);var Pt=parseFixed(this._value,this.format.decimals);var en=parseFixed(Wt._value,Wt.format.decimals);return FixedNumber2.fromValue(Pt.mul(en).div(this.format._multiplier),this.format.decimals,this.format)};FixedNumber2.prototype.divUnsafe=function(Wt){this._checkFormat(Wt);var Pt=parseFixed(this._value,this.format.decimals);var en=parseFixed(Wt._value,Wt.format.decimals);return FixedNumber2.fromValue(Pt.mul(this.format._multiplier).div(en),this.format.decimals,this.format)};FixedNumber2.prototype.floor=function(){var Wt=this.toString().split(".");if(Wt.length===1){Wt.push("0")}var Pt=FixedNumber2.from(Wt[0],this.format);var en=!Wt[1].match(/^(0*)$/);if(this.isNegative()&&en){Pt=Pt.subUnsafe(Gn.toFormat(Pt.format))}return Pt};FixedNumber2.prototype.ceiling=function(){var Wt=this.toString().split(".");if(Wt.length===1){Wt.push("0")}var Pt=FixedNumber2.from(Wt[0],this.format);var en=!Wt[1].match(/^(0*)$/);if(!this.isNegative()&&en){Pt=Pt.addUnsafe(Gn.toFormat(Pt.format))}return Pt};FixedNumber2.prototype.round=function(Wt){if(Wt==null){Wt=0}var Pt=this.toString().split(".");if(Pt.length===1){Pt.push("0")}if(Wt<0||Wt>80||Wt%1){nn.throwArgumentError("invalid decimal count","decimals",Wt)}if(Pt[1].length<=Wt){return this}var en=FixedNumber2.from("1"+on.substring(0,Wt),this.format);var tn=hn.toFormat(this.format);return this.mulUnsafe(en).addUnsafe(tn).floor().divUnsafe(en)};FixedNumber2.prototype.isZero=function(){return this._value==="0.0"||this._value==="0"};FixedNumber2.prototype.isNegative=function(){return this._value[0]==="-"};FixedNumber2.prototype.toString=function(){return this._value};FixedNumber2.prototype.toHexString=function(Wt){if(Wt==null){return this._hex}if(Wt%8){nn.throwArgumentError("invalid byte width","width",Wt)}var en=an.BigNumber.from(this._hex).fromTwos(this.format.width).toTwos(Wt).toHexString();return(0,Pt.hexZeroPad)(en,Wt/8)};FixedNumber2.prototype.toUnsafeFloat=function(){return parseFloat(this.toString())};FixedNumber2.prototype.toFormat=function(Wt){return FixedNumber2.fromString(this._value,Wt)};FixedNumber2.fromValue=function(Wt,Pt,en){if(en==null&&Pt!=null&&!(0,an.isBigNumberish)(Pt)){en=Pt;Pt=null}if(Pt==null){Pt=0}if(en==null){en="fixed"}return FixedNumber2.fromString(formatFixed(Wt,Pt),cn.from(en))};FixedNumber2.fromString=function(Wt,en){if(en==null){en="fixed"}var tn=cn.from(en);var nn=parseFixed(Wt,tn.decimals);if(!tn.signed&&nn.lt(rn)){throwFault("unsigned value cannot be negative","overflow","value",Wt)}var an=null;if(tn.signed){an=nn.toTwos(tn.width).toHexString()}else{an=nn.toHexString();an=(0,Pt.hexZeroPad)(an,tn.width/8)}var sn=formatFixed(nn,tn.decimals);return new FixedNumber2(In,an,sn,tn)};FixedNumber2.fromBytes=function(Wt,en){if(en==null){en="fixed"}var tn=cn.from(en);if((0,Pt.arrayify)(Wt).length>tn.width/8){throw new Error("overflow")}var nn=an.BigNumber.from(Wt);if(tn.signed){nn=nn.fromTwos(tn.width)}var rn=nn.toTwos((tn.signed?0:1)+tn.width).toHexString();var sn=formatFixed(nn,tn.decimals);return new FixedNumber2(In,rn,sn,tn)};FixedNumber2.from=function(Wt,tn){if(typeof Wt==="string"){return FixedNumber2.fromString(Wt,tn)}if((0,Pt.isBytes)(Wt)){return FixedNumber2.fromBytes(Wt,tn)}try{return FixedNumber2.fromValue(Wt,0,tn)}catch(Wt){if(Wt.code!==en.Logger.errors.INVALID_ARGUMENT){throw Wt}}return nn.throwArgumentError("invalid FixedNumber value","value",Wt)};FixedNumber2.isFixedNumber=function(Wt){return!!(Wt&&Wt._isFixedNumber)};return FixedNumber2}();Wt.FixedNumber=un;var Gn=un.from(1);var hn=un.from("0.5")}});var hn=__commonJS({"node_modules/@ethersproject/bignumber/lib/index.js"(Wt){"use strict";Object.defineProperty(Wt,"__esModule",{value:true});Wt._base36To16=Wt._base16To36=Wt.parseFixed=Wt.FixedNumber=Wt.FixedFormat=Wt.formatFixed=Wt.BigNumber=void 0;var Pt=bn();Object.defineProperty(Wt,"BigNumber",{enumerable:true,get:function(){return Pt.BigNumber}});var en=Gn();Object.defineProperty(Wt,"formatFixed",{enumerable:true,get:function(){return en.formatFixed}});Object.defineProperty(Wt,"FixedFormat",{enumerable:true,get:function(){return en.FixedFormat}});Object.defineProperty(Wt,"FixedNumber",{enumerable:true,get:function(){return en.FixedNumber}});Object.defineProperty(Wt,"parseFixed",{enumerable:true,get:function(){return en.parseFixed}});var tn=bn();Object.defineProperty(Wt,"_base16To36",{enumerable:true,get:function(){return tn._base16To36}});Object.defineProperty(Wt,"_base36To16",{enumerable:true,get:function(){return tn._base36To16}})}});var Zn=__commonJS({"node_modules/@ethersproject/properties/lib/_version.js"(Wt){"use strict";Object.defineProperty(Wt,"__esModule",{value:true});Wt.version=void 0;Wt.version="properties/5.7.0"}});var An=__commonJS({"node_modules/@ethersproject/properties/lib/index.js"(Wt){"use strict";var Pt=Wt&&Wt.__awaiter||function(Wt,Pt,en,tn){function adopt(Wt){return Wt instanceof en?Wt:new en((function(Pt){Pt(Wt)}))}return new(en||(en=Promise))((function(en,nn){function fulfilled(Wt){try{step(tn.next(Wt))}catch(Wt){nn(Wt)}}function rejected(Wt){try{step(tn["throw"](Wt))}catch(Wt){nn(Wt)}}function step(Wt){Wt.done?en(Wt.value):adopt(Wt.value).then(fulfilled,rejected)}step((tn=tn.apply(Wt,Pt||[])).next())}))};var en=Wt&&Wt.__generator||function(Wt,Pt){var en={label:0,sent:function(){if(an[0]&1)throw an[1];return an[1]},trys:[],ops:[]},tn,nn,an,In;return In={next:verb(0),throw:verb(1),return:verb(2)},typeof Symbol==="function"&&(In[Symbol.iterator]=function(){return this}),In;function verb(Wt){return function(Pt){return step([Wt,Pt])}}function step(In){if(tn)throw new TypeError("Generator is already executing.");while(en)try{if(tn=1,nn&&(an=In[0]&2?nn["return"]:In[0]?nn["throw"]||((an=nn["return"])&&an.call(nn),0):nn.next)&&!(an=an.call(nn,In[1])).done)return an;if(nn=0,an)In=[In[0]&2,an.value];switch(In[0]){case 0:case 1:an=In;break;case 4:en.label++;return{value:In[1],done:false};case 5:en.label++;nn=In[1];In=[0];continue;case 7:In=en.ops.pop();en.trys.pop();continue;default:if(!(an=en.trys,an=an.length>0&&an[an.length-1])&&(In[0]===6||In[0]===2)){en=0;continue}if(In[0]===3&&(!an||In[1]>an[0]&&In[1]0&&an[an.length-1])&&(In[0]===6||In[0]===2)){en=0;continue}if(In[0]===3&&(!an||In[1]>an[0]&&In[1]0){tn.push(an%this.base);an=an/this.base|0}}var rn="";for(var sn=0;en[sn]===0&&sn=0;--on){rn+=this.alphabet[tn[on]]}return rn};BaseX2.prototype.decode=function(Wt){if(typeof Wt!=="string"){throw new TypeError("Expected String")}var en=[];if(Wt.length===0){return new Uint8Array(en)}en.push(0);for(var tn=0;tn>=8}while(an>0){en.push(an&255);an>>=8}}for(var rn=0;Wt[rn]===this._leader&&rn>5;this.byteCount=this.blockCount<<2;this.outputBlocks=en>>5;this.extraBytes=(en&31)>>3;for(var tn=0;tn<50;++tn){this.s[tn]=0}}Keccak.prototype.update=function(Pt){if(this.finalized){throw new Error(en)}var tn,nn=typeof Pt;if(nn!=="string"){if(nn==="object"){if(Pt===null){throw new Error(Wt)}else if(on&&Pt.constructor===ArrayBuffer){Pt=new Uint8Array(Pt)}else if(!Array.isArray(Pt)){if(!on||!ArrayBuffer.isView(Pt)){throw new Error(Wt)}}}else{throw new Error(Wt)}tn=true}var an=this.blocks,In=this.byteCount,rn=Pt.length,sn=this.blockCount,cn=0,dn=this.s,un,pn;while(cn>2]|=Pt[cn]<>2]|=pn<>2]|=(192|pn>>6)<>2]|=(128|pn&63)<=57344){an[un>>2]|=(224|pn>>12)<>2]|=(128|pn>>6&63)<>2]|=(128|pn&63)<>2]|=(240|pn>>18)<>2]|=(128|pn>>12&63)<>2]|=(128|pn>>6&63)<>2]|=(128|pn&63)<=In){this.start=un-In;this.block=an[sn];for(un=0;un>8;en=Wt&255;while(en>0){nn.unshift(en);Wt=Wt>>8;en=Wt&255;++tn}if(Pt){nn.push(tn)}else{nn.unshift(tn)}this.update(nn);return nn.length};Keccak.prototype.encodeString=function(Pt){var en,tn=typeof Pt;if(tn!=="string"){if(tn==="object"){if(Pt===null){throw new Error(Wt)}else if(on&&Pt.constructor===ArrayBuffer){Pt=new Uint8Array(Pt)}else if(!Array.isArray(Pt)){if(!on||!ArrayBuffer.isView(Pt)){throw new Error(Wt)}}}else{throw new Error(Wt)}en=true}var nn=0,an=Pt.length;if(en){nn=an}else{for(var In=0;In=57344){nn+=3}else{rn=65536+((rn&1023)<<10|Pt.charCodeAt(++In)&1023);nn+=4}}}nn+=this.encode(nn*8);this.update(Pt);return nn};Keccak.prototype.bytepad=function(Wt,Pt){var en=this.encode(Pt);for(var tn=0;tn>2]|=this.padding[Pt&3];if(this.lastByteIndex===this.byteCount){Wt[0]=Wt[en];for(Pt=1;Pt>4&15]+cn[rn&15]+cn[rn>>12&15]+cn[rn>>8&15]+cn[rn>>20&15]+cn[rn>>16&15]+cn[rn>>28&15]+cn[rn>>24&15]}if(an%Wt===0){f(Pt);nn=0}}if(tn){rn=Pt[nn];In+=cn[rn>>4&15]+cn[rn&15];if(tn>1){In+=cn[rn>>12&15]+cn[rn>>8&15]}if(tn>2){In+=cn[rn>>20&15]+cn[rn>>16&15]}}return In};Keccak.prototype.arrayBuffer=function(){this.finalize();var Wt=this.blockCount,Pt=this.s,en=this.outputBlocks,tn=this.extraBytes,nn=0,an=0;var In=this.outputBits>>3;var rn;if(tn){rn=new ArrayBuffer(en+1<<2)}else{rn=new ArrayBuffer(In)}var sn=new Uint32Array(rn);while(an>8&255;In[rn+2]=sn>>16&255;In[rn+3]=sn>>24&255}if(an%Wt===0){f(Pt)}}if(tn){rn=an<<2;sn=Pt[nn];In[rn]=sn&255;if(tn>1){In[rn+1]=sn>>8&255}if(tn>2){In[rn+2]=sn>>16&255}}return In};function Kmac(Wt,Pt,en){Keccak.call(this,Wt,Pt,en)}Kmac.prototype=new Keccak;Kmac.prototype.finalize=function(){this.encode(this.outputBits,true);return Keccak.prototype.finalize.call(this)};var f=function(Wt){var Pt,en,tn,nn,an,In,rn,sn,on,cn,dn,un,pn,mn,bn,hn,Zn,An,Wn,Nn,gn,yn,vn,Yn,En,Vn,Rn,wn,Fn,Qn,fn,Hn,Cn,Xn,kn,Jn,Ln,Bn,xn,On,Tn,Un,Mn,zn,Sn,Dn,jn,_n,Kn,Pn,qn,$n,el,tl,nl,ll,al,Il,rl,sl,ol,cl,il;for(tn=0;tn<48;tn+=2){nn=Wt[0]^Wt[10]^Wt[20]^Wt[30]^Wt[40];an=Wt[1]^Wt[11]^Wt[21]^Wt[31]^Wt[41];In=Wt[2]^Wt[12]^Wt[22]^Wt[32]^Wt[42];rn=Wt[3]^Wt[13]^Wt[23]^Wt[33]^Wt[43];sn=Wt[4]^Wt[14]^Wt[24]^Wt[34]^Wt[44];on=Wt[5]^Wt[15]^Wt[25]^Wt[35]^Wt[45];cn=Wt[6]^Wt[16]^Wt[26]^Wt[36]^Wt[46];dn=Wt[7]^Wt[17]^Wt[27]^Wt[37]^Wt[47];un=Wt[8]^Wt[18]^Wt[28]^Wt[38]^Wt[48];pn=Wt[9]^Wt[19]^Wt[29]^Wt[39]^Wt[49];Pt=un^(In<<1|rn>>>31);en=pn^(rn<<1|In>>>31);Wt[0]^=Pt;Wt[1]^=en;Wt[10]^=Pt;Wt[11]^=en;Wt[20]^=Pt;Wt[21]^=en;Wt[30]^=Pt;Wt[31]^=en;Wt[40]^=Pt;Wt[41]^=en;Pt=nn^(sn<<1|on>>>31);en=an^(on<<1|sn>>>31);Wt[2]^=Pt;Wt[3]^=en;Wt[12]^=Pt;Wt[13]^=en;Wt[22]^=Pt;Wt[23]^=en;Wt[32]^=Pt;Wt[33]^=en;Wt[42]^=Pt;Wt[43]^=en;Pt=In^(cn<<1|dn>>>31);en=rn^(dn<<1|cn>>>31);Wt[4]^=Pt;Wt[5]^=en;Wt[14]^=Pt;Wt[15]^=en;Wt[24]^=Pt;Wt[25]^=en;Wt[34]^=Pt;Wt[35]^=en;Wt[44]^=Pt;Wt[45]^=en;Pt=sn^(un<<1|pn>>>31);en=on^(pn<<1|un>>>31);Wt[6]^=Pt;Wt[7]^=en;Wt[16]^=Pt;Wt[17]^=en;Wt[26]^=Pt;Wt[27]^=en;Wt[36]^=Pt;Wt[37]^=en;Wt[46]^=Pt;Wt[47]^=en;Pt=cn^(nn<<1|an>>>31);en=dn^(an<<1|nn>>>31);Wt[8]^=Pt;Wt[9]^=en;Wt[18]^=Pt;Wt[19]^=en;Wt[28]^=Pt;Wt[29]^=en;Wt[38]^=Pt;Wt[39]^=en;Wt[48]^=Pt;Wt[49]^=en;mn=Wt[0];bn=Wt[1];Dn=Wt[11]<<4|Wt[10]>>>28;jn=Wt[10]<<4|Wt[11]>>>28;wn=Wt[20]<<3|Wt[21]>>>29;Fn=Wt[21]<<3|Wt[20]>>>29;sl=Wt[31]<<9|Wt[30]>>>23;ol=Wt[30]<<9|Wt[31]>>>23;Un=Wt[40]<<18|Wt[41]>>>14;Mn=Wt[41]<<18|Wt[40]>>>14;Xn=Wt[2]<<1|Wt[3]>>>31;kn=Wt[3]<<1|Wt[2]>>>31;hn=Wt[13]<<12|Wt[12]>>>20;Zn=Wt[12]<<12|Wt[13]>>>20;_n=Wt[22]<<10|Wt[23]>>>22;Kn=Wt[23]<<10|Wt[22]>>>22;Qn=Wt[33]<<13|Wt[32]>>>19;fn=Wt[32]<<13|Wt[33]>>>19;cl=Wt[42]<<2|Wt[43]>>>30;il=Wt[43]<<2|Wt[42]>>>30;tl=Wt[5]<<30|Wt[4]>>>2;nl=Wt[4]<<30|Wt[5]>>>2;Jn=Wt[14]<<6|Wt[15]>>>26;Ln=Wt[15]<<6|Wt[14]>>>26;An=Wt[25]<<11|Wt[24]>>>21;Wn=Wt[24]<<11|Wt[25]>>>21;Pn=Wt[34]<<15|Wt[35]>>>17;qn=Wt[35]<<15|Wt[34]>>>17;Hn=Wt[45]<<29|Wt[44]>>>3;Cn=Wt[44]<<29|Wt[45]>>>3;Yn=Wt[6]<<28|Wt[7]>>>4;En=Wt[7]<<28|Wt[6]>>>4;ll=Wt[17]<<23|Wt[16]>>>9;al=Wt[16]<<23|Wt[17]>>>9;Bn=Wt[26]<<25|Wt[27]>>>7;xn=Wt[27]<<25|Wt[26]>>>7;Nn=Wt[36]<<21|Wt[37]>>>11;gn=Wt[37]<<21|Wt[36]>>>11;$n=Wt[47]<<24|Wt[46]>>>8;el=Wt[46]<<24|Wt[47]>>>8;zn=Wt[8]<<27|Wt[9]>>>5;Sn=Wt[9]<<27|Wt[8]>>>5;Vn=Wt[18]<<20|Wt[19]>>>12;Rn=Wt[19]<<20|Wt[18]>>>12;Il=Wt[29]<<7|Wt[28]>>>25;rl=Wt[28]<<7|Wt[29]>>>25;On=Wt[38]<<8|Wt[39]>>>24;Tn=Wt[39]<<8|Wt[38]>>>24;yn=Wt[48]<<14|Wt[49]>>>18;vn=Wt[49]<<14|Wt[48]>>>18;Wt[0]=mn^~hn&An;Wt[1]=bn^~Zn&Wn;Wt[10]=Yn^~Vn&wn;Wt[11]=En^~Rn&Fn;Wt[20]=Xn^~Jn&Bn;Wt[21]=kn^~Ln&xn;Wt[30]=zn^~Dn&_n;Wt[31]=Sn^~jn&Kn;Wt[40]=tl^~ll&Il;Wt[41]=nl^~al&rl;Wt[2]=hn^~An&Nn;Wt[3]=Zn^~Wn&gn;Wt[12]=Vn^~wn&Qn;Wt[13]=Rn^~Fn&fn;Wt[22]=Jn^~Bn&On;Wt[23]=Ln^~xn&Tn;Wt[32]=Dn^~_n&Pn;Wt[33]=jn^~Kn&qn;Wt[42]=ll^~Il&sl;Wt[43]=al^~rl&ol;Wt[4]=An^~Nn&yn;Wt[5]=Wn^~gn&vn;Wt[14]=wn^~Qn&Hn;Wt[15]=Fn^~fn&Cn;Wt[24]=Bn^~On&Un;Wt[25]=xn^~Tn&Mn;Wt[34]=_n^~Pn&$n;Wt[35]=Kn^~qn⪙Wt[44]=Il^~sl&cl;Wt[45]=rl^~ol&il;Wt[6]=Nn^~yn&mn;Wt[7]=gn^~vn&bn;Wt[16]=Qn^~Hn&Yn;Wt[17]=fn^~Cn&En;Wt[26]=On^~Un&Xn;Wt[27]=Tn^~Mn&kn;Wt[36]=Pn^~$n&zn;Wt[37]=qn^~el&Sn;Wt[46]=sl^~cl&tl;Wt[47]=ol^~il&nl;Wt[8]=yn^~mn&hn;Wt[9]=vn^~bn&Zn;Wt[18]=Hn^~Yn&Vn;Wt[19]=Cn^~En&Rn;Wt[28]=Un^~Xn&Jn;Wt[29]=Mn^~kn&Ln;Wt[38]=$n^~zn&Dn;Wt[39]=el^~Sn&jn;Wt[48]=cl^~tl≪Wt[49]=il^~nl&al;Wt[0]^=Gn[tn];Wt[1]^=Gn[tn+1]}};if(rn){Pt.exports=gn}else{for(vn=0;vn>6!==2){break}an++}return an}if(Wt===In.OVERRUN){return en.length-Pt-1}return 0}function replaceFunc(Wt,Pt,en,tn,nn){if(Wt===In.OVERLONG){tn.push(nn);return 0}tn.push(65533);return ignoreFunc(Wt,Pt,en,tn,nn)}Wt.Utf8ErrorFuncs=Object.freeze({error:errorFunc,ignore:ignoreFunc,replace:replaceFunc});function getUtf8CodePoints(en,tn){if(tn==null){tn=Wt.Utf8ErrorFuncs.error}en=(0,Pt.arrayify)(en);var nn=[];var an=0;while(an>7===0){nn.push(rn);continue}var sn=null;var on=null;if((rn&224)===192){sn=1;on=127}else if((rn&240)===224){sn=2;on=2047}else if((rn&248)===240){sn=3;on=65535}else{if((rn&192)===128){an+=tn(In.UNEXPECTED_CONTINUE,an-1,en,nn)}else{an+=tn(In.BAD_PREFIX,an-1,en,nn)}continue}if(an-1+sn>=en.length){an+=tn(In.OVERRUN,an-1,en,nn);continue}var cn=rn&(1<<8-sn-1)-1;for(var dn=0;dn1114111){an+=tn(In.OUT_OF_RANGE,an-1-sn,en,nn,cn);continue}if(cn>=55296&&cn<=57343){an+=tn(In.UTF16_SURROGATE,an-1-sn,en,nn,cn);continue}if(cn<=on){an+=tn(In.OVERLONG,an-1-sn,en,nn,cn);continue}nn.push(cn)}return nn}function toUtf8Bytes(Wt,en){if(en===void 0){en=an.current}if(en!=an.current){nn.checkNormalize();Wt=Wt.normalize(en)}var tn=[];for(var In=0;In>6|192);tn.push(rn&63|128)}else if((rn&64512)==55296){In++;var sn=Wt.charCodeAt(In);if(In>=Wt.length||(sn&64512)!==56320){throw new Error("invalid utf-8 string")}var on=65536+((rn&1023)<<10)+(sn&1023);tn.push(on>>18|240);tn.push(on>>12&63|128);tn.push(on>>6&63|128);tn.push(on&63|128)}else{tn.push(rn>>12|224);tn.push(rn>>6&63|128);tn.push(rn&63|128)}}return(0,Pt.arrayify)(tn)}Wt.toUtf8Bytes=toUtf8Bytes;function escapeChar(Wt){var Pt="0000"+Wt.toString(16);return"\\u"+Pt.substring(Pt.length-4)}function _toEscapedUtf8String(Wt,Pt){return'"'+getUtf8CodePoints(Wt,Pt).map((function(Wt){if(Wt<256){switch(Wt){case 8:return"\\b";case 9:return"\\t";case 10:return"\\n";case 13:return"\\r";case 34:return'\\"';case 92:return"\\\\"}if(Wt>=32&&Wt<127){return String.fromCharCode(Wt)}}if(Wt<=65535){return escapeChar(Wt)}Wt-=65536;return escapeChar((Wt>>10&1023)+55296)+escapeChar((Wt&1023)+56320)})).join("")+'"'}Wt._toEscapedUtf8String=_toEscapedUtf8String;function _toUtf8String(Wt){return Wt.map((function(Wt){if(Wt<=65535){return String.fromCharCode(Wt)}Wt-=65536;return String.fromCharCode((Wt>>10&1023)+55296,(Wt&1023)+56320)})).join("")}Wt._toUtf8String=_toUtf8String;function toUtf8String(Wt,Pt){return _toUtf8String(getUtf8CodePoints(Wt,Pt))}Wt.toUtf8String=toUtf8String;function toUtf8CodePoints(Wt,Pt){if(Pt===void 0){Pt=an.current}return getUtf8CodePoints(toUtf8Bytes(Wt,Pt))}Wt.toUtf8CodePoints=toUtf8CodePoints}});var kn=__commonJS({"node_modules/@ethersproject/strings/lib/bytes32.js"(Wt){"use strict";Object.defineProperty(Wt,"__esModule",{value:true});Wt.parseBytes32String=Wt.formatBytes32String=void 0;var Pt=Qn();var en=pn();var tn=Xn();function formatBytes32String(Wt){var nn=(0,tn.toUtf8Bytes)(Wt);if(nn.length>31){throw new Error("bytes32 string must be less than 32 bytes")}return(0,en.hexlify)((0,en.concat)([nn,Pt.HashZero]).slice(0,32))}Wt.formatBytes32String=formatBytes32String;function parseBytes32String(Wt){var Pt=(0,en.arrayify)(Wt);if(Pt.length!==32){throw new Error("invalid bytes32 - not 32 bytes long")}if(Pt[31]!==0){throw new Error("invalid bytes32 string - no null terminator")}var nn=31;while(Pt[nn-1]===0){nn--}return(0,tn.toUtf8String)(Pt.slice(0,nn))}Wt.parseBytes32String=parseBytes32String}});var Jn=__commonJS({"node_modules/@ethersproject/strings/lib/idna.js"(Wt){"use strict";Object.defineProperty(Wt,"__esModule",{value:true});Wt.nameprep=Wt._nameprepTableC=Wt._nameprepTableB2=Wt._nameprepTableA1=void 0;var Pt=Xn();function bytes2(Wt){if(Wt.length%4!==0){throw new Error("bad data")}var Pt=[];for(var en=0;en=en&&Wt<=en+nn.h&&(Wt-en)%(nn.d||1)===0){if(nn.e&&nn.e.indexOf(Wt-en)!==-1){continue}return nn}}return null}var en=createRangeTable("221,13-1b,5f-,40-10,51-f,11-3,3-3,2-2,2-4,8,2,15,2d,28-8,88,48,27-,3-5,11-20,27-,8,28,3-5,12,18,b-a,1c-4,6-16,2-d,2-2,2,1b-4,17-9,8f-,10,f,1f-2,1c-34,33-14e,4,36-,13-,6-2,1a-f,4,9-,3-,17,8,2-2,5-,2,8-,3-,4-8,2-3,3,6-,16-6,2-,7-3,3-,17,8,3,3,3-,2,6-3,3-,4-a,5,2-6,10-b,4,8,2,4,17,8,3,6-,b,4,4-,2-e,2-4,b-10,4,9-,3-,17,8,3-,5-,9-2,3-,4-7,3-3,3,4-3,c-10,3,7-2,4,5-2,3,2,3-2,3-2,4-2,9,4-3,6-2,4,5-8,2-e,d-d,4,9,4,18,b,6-3,8,4,5-6,3-8,3-3,b-11,3,9,4,18,b,6-3,8,4,5-6,3-6,2,3-3,b-11,3,9,4,18,11-3,7-,4,5-8,2-7,3-3,b-11,3,13-2,19,a,2-,8-2,2-3,7,2,9-11,4-b,3b-3,1e-24,3,2-,3,2-,2-5,5,8,4,2,2-,3,e,4-,6,2,7-,b-,3-21,49,23-5,1c-3,9,25,10-,2-2f,23,6,3,8-2,5-5,1b-45,27-9,2a-,2-3,5b-4,45-4,53-5,8,40,2,5-,8,2,5-,28,2,5-,20,2,5-,8,2,5-,8,8,18,20,2,5-,8,28,14-5,1d-22,56-b,277-8,1e-2,52-e,e,8-a,18-8,15-b,e,4,3-b,5e-2,b-15,10,b-5,59-7,2b-555,9d-3,5b-5,17-,7-,27-,7-,9,2,2,2,20-,36,10,f-,7,14-,4,a,54-3,2-6,6-5,9-,1c-10,13-1d,1c-14,3c-,10-6,32-b,240-30,28-18,c-14,a0,115-,3,66-,b-76,5,5-,1d,24,2,5-2,2,8-,35-2,19,f-10,1d-3,311-37f,1b,5a-b,d7-19,d-3,41,57-,68-4,29-3,5f,29-37,2e-2,25-c,2c-2,4e-3,30,78-3,64-,20,19b7-49,51a7-59,48e-2,38-738,2ba5-5b,222f-,3c-94,8-b,6-4,1b,6,2,3,3,6d-20,16e-f,41-,37-7,2e-2,11-f,5-b,18-,b,14,5-3,6,88-,2,bf-2,7-,7-,7-,4-2,8,8-9,8-2ff,20,5-b,1c-b4,27-,27-cbb1,f7-9,28-2,b5-221,56,48,3-,2-,3-,5,d,2,5,3,42,5-,9,8,1d,5,6,2-2,8,153-3,123-3,33-27fd,a6da-5128,21f-5df,3-fffd,3-fffd,3-fffd,3-fffd,3-fffd,3-fffd,3-fffd,3-fffd,3-fffd,3-fffd,3-fffd,3,2-1d,61-ff7d");var tn="ad,34f,1806,180b,180c,180d,200b,200c,200d,2060,feff".split(",").map((function(Wt){return parseInt(Wt,16)}));var nn=[{h:25,s:32,l:65},{h:30,s:32,e:[23],l:127},{h:54,s:1,e:[48],l:64,d:2},{h:14,s:1,l:57,d:2},{h:44,s:1,l:17,d:2},{h:10,s:1,e:[2,6,8],l:61,d:2},{h:16,s:1,l:68,d:2},{h:84,s:1,e:[18,24,66],l:19,d:2},{h:26,s:32,e:[17],l:435},{h:22,s:1,l:71,d:2},{h:15,s:80,l:40},{h:31,s:32,l:16},{h:32,s:1,l:80,d:2},{h:52,s:1,l:42,d:2},{h:12,s:1,l:55,d:2},{h:40,s:1,e:[38],l:15,d:2},{h:14,s:1,l:48,d:2},{h:37,s:48,l:49},{h:148,s:1,l:6351,d:2},{h:88,s:1,l:160,d:2},{h:15,s:16,l:704},{h:25,s:26,l:854},{h:25,s:32,l:55915},{h:37,s:40,l:1247},{h:25,s:-119711,l:53248},{h:25,s:-119763,l:52},{h:25,s:-119815,l:52},{h:25,s:-119867,e:[1,4,5,7,8,11,12,17],l:52},{h:25,s:-119919,l:52},{h:24,s:-119971,e:[2,7,8,17],l:52},{h:24,s:-120023,e:[2,7,13,15,16,17],l:52},{h:25,s:-120075,l:52},{h:25,s:-120127,l:52},{h:25,s:-120179,l:52},{h:25,s:-120231,l:52},{h:25,s:-120283,l:52},{h:25,s:-120335,l:52},{h:24,s:-119543,e:[17],l:56},{h:24,s:-119601,e:[17],l:58},{h:24,s:-119659,e:[17],l:58},{h:24,s:-119717,e:[17],l:58},{h:24,s:-119775,e:[17],l:58}];var an=createTable("b5:3bc,c3:ff,7:73,2:253,5:254,3:256,1:257,5:259,1:25b,3:260,1:263,2:269,1:268,5:26f,1:272,2:275,7:280,3:283,5:288,3:28a,1:28b,5:292,3f:195,1:1bf,29:19e,125:3b9,8b:3b2,1:3b8,1:3c5,3:3c6,1:3c0,1a:3ba,1:3c1,1:3c3,2:3b8,1:3b5,1bc9:3b9,1c:1f76,1:1f77,f:1f7a,1:1f7b,d:1f78,1:1f79,1:1f7c,1:1f7d,107:63,5:25b,4:68,1:68,1:68,3:69,1:69,1:6c,3:6e,4:70,1:71,1:72,1:72,1:72,7:7a,2:3c9,2:7a,2:6b,1:e5,1:62,1:63,3:65,1:66,2:6d,b:3b3,1:3c0,6:64,1b574:3b8,1a:3c3,20:3b8,1a:3c3,20:3b8,1a:3c3,20:3b8,1a:3c3,20:3b8,1a:3c3");var In=createTable("179:1,2:1,2:1,5:1,2:1,a:4f,a:1,8:1,2:1,2:1,3:1,5:1,3:1,4:1,2:1,3:1,4:1,8:2,1:1,2:2,1:1,2:2,27:2,195:26,2:25,1:25,1:25,2:40,2:3f,1:3f,33:1,11:-6,1:-9,1ac7:-3a,6d:-8,1:-8,1:-8,1:-8,1:-8,1:-8,1:-8,1:-8,9:-8,1:-8,1:-8,1:-8,1:-8,1:-8,b:-8,1:-8,1:-8,1:-8,1:-8,1:-8,1:-8,1:-8,9:-8,1:-8,1:-8,1:-8,1:-8,1:-8,1:-8,1:-8,9:-8,1:-8,1:-8,1:-8,1:-8,1:-8,c:-8,2:-8,2:-8,2:-8,9:-8,1:-8,1:-8,1:-8,1:-8,1:-8,1:-8,1:-8,49:-8,1:-8,1:-4a,1:-4a,d:-56,1:-56,1:-56,1:-56,d:-8,1:-8,f:-8,1:-8,3:-7");var rn=createTable("df:00730073,51:00690307,19:02BC006E,a7:006A030C,18a:002003B9,16:03B903080301,20:03C503080301,1d7:05650582,190f:00680331,1:00740308,1:0077030A,1:0079030A,1:006102BE,b6:03C50313,2:03C503130300,2:03C503130301,2:03C503130342,2a:1F0003B9,1:1F0103B9,1:1F0203B9,1:1F0303B9,1:1F0403B9,1:1F0503B9,1:1F0603B9,1:1F0703B9,1:1F0003B9,1:1F0103B9,1:1F0203B9,1:1F0303B9,1:1F0403B9,1:1F0503B9,1:1F0603B9,1:1F0703B9,1:1F2003B9,1:1F2103B9,1:1F2203B9,1:1F2303B9,1:1F2403B9,1:1F2503B9,1:1F2603B9,1:1F2703B9,1:1F2003B9,1:1F2103B9,1:1F2203B9,1:1F2303B9,1:1F2403B9,1:1F2503B9,1:1F2603B9,1:1F2703B9,1:1F6003B9,1:1F6103B9,1:1F6203B9,1:1F6303B9,1:1F6403B9,1:1F6503B9,1:1F6603B9,1:1F6703B9,1:1F6003B9,1:1F6103B9,1:1F6203B9,1:1F6303B9,1:1F6403B9,1:1F6503B9,1:1F6603B9,1:1F6703B9,3:1F7003B9,1:03B103B9,1:03AC03B9,2:03B10342,1:03B1034203B9,5:03B103B9,6:1F7403B9,1:03B703B9,1:03AE03B9,2:03B70342,1:03B7034203B9,5:03B703B9,6:03B903080300,1:03B903080301,3:03B90342,1:03B903080342,b:03C503080300,1:03C503080301,1:03C10313,2:03C50342,1:03C503080342,b:1F7C03B9,1:03C903B9,1:03CE03B9,2:03C90342,1:03C9034203B9,5:03C903B9,ac:00720073,5b:00B00063,6:00B00066,d:006E006F,a:0073006D,1:00740065006C,1:0074006D,124f:006800700061,2:00610075,2:006F0076,b:00700061,1:006E0061,1:03BC0061,1:006D0061,1:006B0061,1:006B0062,1:006D0062,1:00670062,3:00700066,1:006E0066,1:03BC0066,4:0068007A,1:006B0068007A,1:006D0068007A,1:00670068007A,1:00740068007A,15:00700061,1:006B00700061,1:006D00700061,1:006700700061,8:00700076,1:006E0076,1:03BC0076,1:006D0076,1:006B0076,1:006D0076,1:00700077,1:006E0077,1:03BC0077,1:006D0077,1:006B0077,1:006D0077,1:006B03C9,1:006D03C9,2:00620071,3:00632215006B0067,1:0063006F002E,1:00640062,1:00670079,2:00680070,2:006B006B,1:006B006D,9:00700068,2:00700070006D,1:00700072,2:00730076,1:00770062,c723:00660066,1:00660069,1:0066006C,1:006600660069,1:00660066006C,1:00730074,1:00730074,d:05740576,1:05740565,1:0574056B,1:057E0576,1:0574056D",bytes2);var sn=createRangeTable("80-20,2a0-,39c,32,f71,18e,7f2-f,19-7,30-4,7-5,f81-b,5,a800-20ff,4d1-1f,110,fa-6,d174-7,2e84-,ffff-,ffff-,ffff-,ffff-,ffff-,ffff-,ffff-,ffff-,ffff-,ffff-,ffff-,ffff-,2,1f-5f,ff7f-20001");function flatten(Wt){return Wt.reduce((function(Wt,Pt){Pt.forEach((function(Pt){Wt.push(Pt)}));return Wt}),[])}function _nameprepTableA1(Wt){return!!matchMap(Wt,en)}Wt._nameprepTableA1=_nameprepTableA1;function _nameprepTableB2(Wt){var Pt=matchMap(Wt,nn);if(Pt){return[Wt+Pt.s]}var en=an[Wt];if(en){return en}var tn=In[Wt];if(tn){return[Wt+tn[0]]}var sn=rn[Wt];if(sn){return sn}return null}Wt._nameprepTableB2=_nameprepTableB2;function _nameprepTableC(Wt){return!!matchMap(Wt,sn)}Wt._nameprepTableC=_nameprepTableC;function nameprep(Wt){if(Wt.match(/^[a-z0-9-]*$/i)&&Wt.length<=59){return Wt.toLowerCase()}var en=(0,Pt.toUtf8CodePoints)(Wt);en=flatten(en.map((function(Wt){if(tn.indexOf(Wt)>=0){return[]}if(Wt>=65024&&Wt<=65039){return[]}var Pt=_nameprepTableB2(Wt);if(Pt){return Pt}return[Wt]})));en=(0,Pt.toUtf8CodePoints)((0,Pt._toUtf8String)(en),Pt.UnicodeNormalizationForm.NFKC);en.forEach((function(Wt){if(_nameprepTableC(Wt)){throw new Error("STRINGPREP_CONTAINS_PROHIBITED")}}));en.forEach((function(Wt){if(_nameprepTableA1(Wt)){throw new Error("STRINGPREP_CONTAINS_UNASSIGNED")}}));var nn=(0,Pt._toUtf8String)(en);if(nn.substring(0,1)==="-"||nn.substring(2,4)==="--"||nn.substring(nn.length-1)==="-"){throw new Error("invalid hyphen")}return nn}Wt.nameprep=nameprep}});var Ln=__commonJS({"node_modules/@ethersproject/strings/lib/index.js"(Wt){"use strict";Object.defineProperty(Wt,"__esModule",{value:true});Wt.nameprep=Wt.parseBytes32String=Wt.formatBytes32String=Wt.UnicodeNormalizationForm=Wt.Utf8ErrorReason=Wt.Utf8ErrorFuncs=Wt.toUtf8String=Wt.toUtf8CodePoints=Wt.toUtf8Bytes=Wt._toEscapedUtf8String=void 0;var Pt=kn();Object.defineProperty(Wt,"formatBytes32String",{enumerable:true,get:function(){return Pt.formatBytes32String}});Object.defineProperty(Wt,"parseBytes32String",{enumerable:true,get:function(){return Pt.parseBytes32String}});var en=Jn();Object.defineProperty(Wt,"nameprep",{enumerable:true,get:function(){return en.nameprep}});var tn=Xn();Object.defineProperty(Wt,"_toEscapedUtf8String",{enumerable:true,get:function(){return tn._toEscapedUtf8String}});Object.defineProperty(Wt,"toUtf8Bytes",{enumerable:true,get:function(){return tn.toUtf8Bytes}});Object.defineProperty(Wt,"toUtf8CodePoints",{enumerable:true,get:function(){return tn.toUtf8CodePoints}});Object.defineProperty(Wt,"toUtf8String",{enumerable:true,get:function(){return tn.toUtf8String}});Object.defineProperty(Wt,"UnicodeNormalizationForm",{enumerable:true,get:function(){return tn.UnicodeNormalizationForm}});Object.defineProperty(Wt,"Utf8ErrorFuncs",{enumerable:true,get:function(){return tn.Utf8ErrorFuncs}});Object.defineProperty(Wt,"Utf8ErrorReason",{enumerable:true,get:function(){return tn.Utf8ErrorReason}})}});var Bn=__commonJS({"node_modules/@ethersproject/hash/lib/id.js"(Wt){"use strict";Object.defineProperty(Wt,"__esModule",{value:true});Wt.id=void 0;var Pt=Hn();var en=Ln();function id(Wt){return(0,Pt.keccak256)((0,en.toUtf8Bytes)(Wt))}Wt.id=id}});var xn=__commonJS({"node_modules/@ethersproject/hash/lib/_version.js"(Wt){"use strict";Object.defineProperty(Wt,"__esModule",{value:true});Wt.version=void 0;Wt.version="hash/5.7.0"}});var On=__commonJS({"node_modules/@ethersproject/hash/lib/ens-normalize/decoder.js"(Wt){"use strict";Object.defineProperty(Wt,"__esModule",{value:true});Wt.read_emoji_trie=Wt.read_zero_terminated_array=Wt.read_mapped_map=Wt.read_member_array=Wt.signed=Wt.read_compressed_payload=Wt.read_payload=Wt.decode_arithmetic=void 0;function flat(Wt,Pt){if(Pt==null){Pt=1}var en=[];var tn=en.forEach;var flatDeep=function(Wt,Pt){tn.call(Wt,(function(Wt){if(Pt>0&&Array.isArray(Wt)){flatDeep(Wt,Pt-1)}else{en.push(Wt)}}))};flatDeep(Wt,Pt);return en}function fromEntries(Wt){var Pt={};for(var en=0;en>--sn&1}var cn=31;var dn=Math.pow(2,cn);var un=dn>>>1;var pn=un>>1;var mn=dn-1;var bn=0;for(var an=0;an1){var gn=Wn+Nn>>>1;if(An>>1|read_bit();yn=yn<<1^un;vn=(vn^un)<<1|un|1}hn=yn;Zn=1+vn-yn}var Yn=en-4;return Gn.map((function(Pt){switch(Pt-Yn){case 3:return Yn+65792+(Wt[rn++]<<16|Wt[rn++]<<8|Wt[rn++]);case 2:return Yn+256+(Wt[rn++]<<8|Wt[rn++]);case 1:return Yn+Wt[rn++];default:return Pt-1}}))}Wt.decode_arithmetic=decode_arithmetic;function read_payload(Wt){var Pt=0;return function(){return Wt[Pt++]}}Wt.read_payload=read_payload;function read_compressed_payload(Wt){return read_payload(decode_arithmetic(Wt))}Wt.read_compressed_payload=read_compressed_payload;function signed(Wt){return Wt&1?~Wt>>1:Wt>>1}Wt.signed=signed;function read_counts(Wt,Pt){var en=Array(Wt);for(var tn=0;tn>=1;var rn=nn==1;var sn=nn==2;return{branches:en,valid:an,fe0f:In,save:rn,check:sn}}}Wt.read_emoji_trie=read_emoji_trie}});var Tn=__commonJS({"node_modules/@ethersproject/hash/lib/ens-normalize/include.js"(Wt){"use strict";Object.defineProperty(Wt,"__esModule",{value:true});Wt.getData=void 0;var Pt=Yn();var en=On();function getData(){return(0,en.read_compressed_payload)((0,Pt.decode)("AEQF2AO2DEsA2wIrAGsBRABxAN8AZwCcAEwAqgA0AGwAUgByADcATAAVAFYAIQAyACEAKAAYAFgAGwAjABQAMAAmADIAFAAfABQAKwATACoADgAbAA8AHQAYABoAGQAxADgALAAoADwAEwA9ABMAGgARAA4ADwAWABMAFgAIAA8AHgQXBYMA5BHJAS8JtAYoAe4AExozi0UAH21tAaMnBT8CrnIyhrMDhRgDygIBUAEHcoFHUPe8AXBjAewCjgDQR8IICIcEcQLwATXCDgzvHwBmBoHNAqsBdBcUAykgDhAMShskMgo8AY8jqAQfAUAfHw8BDw87MioGlCIPBwZCa4ELatMAAMspJVgsDl8AIhckSg8XAHdvTwBcIQEiDT4OPhUqbyECAEoAS34Aej8Ybx83JgT/Xw8gHxZ/7w8RICxPHA9vBw+Pfw8PHwAPFv+fAsAvCc8vEr8ivwD/EQ8Bol8OEBa/A78hrwAPCU8vESNvvwWfHwNfAVoDHr+ZAAED34YaAdJPAK7PLwSEgDLHAGo1Pz8Pvx9fUwMrpb8O/58VTzAPIBoXIyQJNF8hpwIVAT8YGAUADDNBaX3RAMomJCg9EhUeA29MABsZBTMNJipjOhc19gcIDR8bBwQHEggCWi6DIgLuAQYA+BAFCha3A5XiAEsqM7UFFgFLhAMjFTMYE1Klnw74nRVBG/ASCm0BYRN/BrsU3VoWy+S0vV8LQx+vN8gF2AC2AK5EAWwApgYDKmAAroQ0NDQ0AT+OCg7wAAIHRAbpNgVcBV0APTA5BfbPFgMLzcYL/QqqA82eBALKCjQCjqYCht0/k2+OAsXQAoP3ASTKDgDw6ACKAUYCMpIKJpRaAE4A5womABzZvs0REEKiACIQAd5QdAECAj4Ywg/wGqY2AVgAYADYvAoCGAEubA0gvAY2ALAAbpbvqpyEAGAEpgQAJgAG7gAgAEACmghUFwCqAMpAINQIwC4DthRAAPcycKgApoIdABwBfCisABoATwBqASIAvhnSBP8aH/ECeAKXAq40NjgDBTwFYQU6AXs3oABgAD4XNgmcCY1eCl5tIFZeUqGgyoNHABgAEQAaABNwWQAmABMATPMa3T34ADldyprmM1M2XociUQgLzvwAXT3xABgAEQAaABNwIGFAnADD8AAgAD4BBJWzaCcIAIEBFMAWwKoAAdq9BWAF5wLQpALEtQAKUSGkahR4GnJM+gsAwCgeFAiUAECQ0BQuL8AAIAAAADKeIheclvFqQAAETr4iAMxIARMgAMIoHhQIAn0E0pDQFC4HhznoAAAAIAI2C0/4lvFqQAAETgBJJwYCAy4ABgYAFAA8MBKYEH4eRhTkAjYeFcgACAYAeABsOqyQ5gRwDayqugEgaIIAtgoACgDmEABmBAWGme5OBJJA2m4cDeoAmITWAXwrMgOgAGwBCh6CBXYF1Tzg1wKAAFdiuABRAFwAXQBsAG8AdgBrAHYAbwCEAHEwfxQBVE5TEQADVFhTBwBDANILAqcCzgLTApQCrQL6vAAMAL8APLhNBKkE6glGKTAU4Dr4N2EYEwBCkABKk8rHAbYBmwIoAiU4Ajf/Aq4CowCAANIChzgaNBsCsTgeODcFXrgClQKdAqQBiQGYAqsCsjTsNHsfNPA0ixsAWTWiOAMFPDQSNCk2BDZHNow2TTZUNhk28Jk9VzI3QkEoAoICoQKwAqcAQAAxBV4FXbS9BW47YkIXP1ciUqs05DS/FwABUwJW11e6nHuYZmSh/RAYA8oMKvZ8KASoUAJYWAJ6ILAsAZSoqjpgA0ocBIhmDgDWAAawRDQoAAcuAj5iAHABZiR2AIgiHgCaAU68ACxuHAG0ygM8MiZIAlgBdF4GagJqAPZOHAMuBgoATkYAsABiAHgAMLoGDPj0HpKEBAAOJgAuALggTAHWAeAMEDbd20Uege0ADwAWADkAQgA9OHd+2MUQZBBhBgNNDkxxPxUQArEPqwvqERoM1irQ090ANK4H8ANYB/ADWANYB/AH8ANYB/ADWANYA1gDWBwP8B/YxRBkD00EcgWTBZAE2wiIJk4RhgctCNdUEnQjHEwDSgEBIypJITuYMxAlR0wRTQgIATZHbKx9PQNMMbBU+pCnA9AyVDlxBgMedhKlAC8PeCE1uk6DekxxpQpQT7NX9wBFBgASqwAS5gBJDSgAUCwGPQBI4zTYABNGAE2bAE3KAExdGABKaAbgAFBXAFCOAFBJABI2SWdObALDOq0//QomCZhvwHdTBkIQHCemEPgMNAG2ATwN7kvZBPIGPATKH34ZGg/OlZ0Ipi3eDO4m5C6igFsj9iqEBe5L9TzeC05RaQ9aC2YJ5DpkgU8DIgEOIowK3g06CG4Q9ArKbA3mEUYHOgPWSZsApgcCCxIdNhW2JhFirQsKOXgG/Br3C5AmsBMqev0F1BoiBk4BKhsAANAu6IWxWjJcHU9gBgQLJiPIFKlQIQ0mQLh4SRocBxYlqgKSQ3FKiFE3HpQh9zw+DWcuFFF9B/Y8BhlQC4I8n0asRQ8R0z6OPUkiSkwtBDaALDAnjAnQD4YMunxzAVoJIgmyDHITMhEYN8YIOgcaLpclJxYIIkaWYJsE+KAD9BPSAwwFQAlCBxQDthwuEy8VKgUOgSXYAvQ21i60ApBWgQEYBcwPJh/gEFFH4Q7qCJwCZgOEJewALhUiABginAhEZABgj9lTBi7MCMhqbSN1A2gU6GIRdAeSDlgHqBw0FcAc4nDJXgyGCSiksAlcAXYJmgFgBOQICjVcjKEgQmdUi1kYnCBiQUBd/QIyDGYVoES+h3kCjA9sEhwBNgF0BzoNAgJ4Ee4RbBCWCOyGBTW2M/k6JgRQIYQgEgooA1BszwsoJvoM+WoBpBJjAw00PnfvZ6xgtyUX/gcaMsZBYSHyC5NPzgydGsIYQ1QvGeUHwAP0GvQn60FYBgADpAQUOk4z7wS+C2oIjAlAAEoOpBgH2BhrCnKM0QEyjAG4mgNYkoQCcJAGOAcMAGgMiAV65gAeAqgIpAAGANADWAA6Aq4HngAaAIZCAT4DKDABIuYCkAOUCDLMAZYwAfQqBBzEDBYA+DhuSwLDsgKAa2ajBd5ZAo8CSjYBTiYEBk9IUgOwcuIA3ABMBhTgSAEWrEvMG+REAeBwLADIAPwABjYHBkIBzgH0bgC4AWALMgmjtLYBTuoqAIQAFmwB2AKKAN4ANgCA8gFUAE4FWvoF1AJQSgESMhksWGIBvAMgATQBDgB6BsyOpsoIIARuB9QCEBwV4gLvLwe2AgMi4BPOQsYCvd9WADIXUu5eZwqoCqdeaAC0YTQHMnM9UQAPH6k+yAdy/BZIiQImSwBQ5gBQQzSaNTFWSTYBpwGqKQK38AFtqwBI/wK37gK3rQK3sAK6280C0gK33AK3zxAAUEIAUD9SklKDArekArw5AEQAzAHCO147WTteO1k7XjtZO147WTteO1kDmChYI03AVU0oJqkKbV9GYewMpw3VRMk6ShPcYFJgMxPJLbgUwhXPJVcZPhq9JwYl5VUKDwUt1GYxCC00dhe9AEApaYNCY4ceMQpMHOhTklT5LRwAskujM7ANrRsWREEFSHXuYisWDwojAmSCAmJDXE6wXDchAqH4AmiZAmYKAp+FOBwMAmY8AmYnBG8EgAN/FAN+kzkHOXgYOYM6JCQCbB4CMjc4CwJtyAJtr/CLADRoRiwBaADfAOIASwYHmQyOAP8MwwAOtgJ3MAJ2o0ACeUxEAni7Hl3cRa9G9AJ8QAJ6yQJ9CgJ88UgBSH5kJQAsFklZSlwWGErNAtECAtDNSygDiFADh+dExpEzAvKiXQQDA69Lz0wuJgTQTU1NsAKLQAKK2cIcCB5EaAa4Ao44Ao5dQZiCAo7aAo5deVG1UzYLUtVUhgKT/AKTDQDqAB1VH1WwVdEHLBwplocy4nhnRTw6ApegAu+zWCKpAFomApaQApZ9nQCqWa1aCoJOADwClrYClk9cRVzSApnMApllXMtdCBoCnJw5wzqeApwXAp+cAp65iwAeEDIrEAKd8gKekwC2PmE1YfACntQCoG8BqgKeoCACnk+mY8lkKCYsAiewAiZ/AqD8AqBN2AKmMAKlzwKoAAB+AqfzaH1osgAESmodatICrOQCrK8CrWgCrQMCVx4CVd0CseLYAx9PbJgCsr4OArLpGGzhbWRtSWADJc4Ctl08QG6RAylGArhfArlIFgK5K3hwN3DiAr0aAy2zAzISAr6JcgMDM3ICvhtzI3NQAsPMAsMFc4N0TDZGdOEDPKgDPJsDPcACxX0CxkgCxhGKAshqUgLIRQLJUALJLwJkngLd03h6YniveSZL0QMYpGcDAmH1GfSVJXsMXpNevBICz2wCz20wTFTT9BSgAMeuAs90ASrrA04TfkwGAtwoAtuLAtJQA1JdA1NgAQIDVY2AikABzBfuYUZ2AILPg44C2sgC2d+EEYRKpz0DhqYAMANkD4ZyWvoAVgLfZgLeuXR4AuIw7RUB8zEoAfScAfLTiALr9ALpcXoAAur6AurlAPpIAboC7ooC652Wq5cEAu5AA4XhmHpw4XGiAvMEAGoDjheZlAL3FAORbwOSiAL3mQL52gL4Z5odmqy8OJsfA52EAv77ARwAOp8dn7QDBY4DpmsDptoA0sYDBmuhiaIGCgMMSgFgASACtgNGAJwEgLpoBgC8BGzAEowcggCEDC6kdjoAJAM0C5IKRoABZCgiAIzw3AYBLACkfng9ogigkgNmWAN6AEQCvrkEVqTGAwCsBRbAA+4iQkMCHR072jI2PTbUNsk2RjY5NvA23TZKNiU3EDcZN5I+RTxDRTBCJkK5VBYKFhZfwQCWygU3AJBRHpu+OytgNxa61A40GMsYjsn7BVwFXQVcBV0FaAVdBVwFXQVcBV0FXAVdBVwFXUsaCNyKAK4AAQUHBwKU7oICoW1e7jAEzgPxA+YDwgCkBFDAwADABKzAAOxFLhitA1UFTDeyPkM+bj51QkRCuwTQWWQ8X+0AWBYzsACNA8xwzAGm7EZ/QisoCTAbLDs6fnLfb8H2GccsbgFw13M1HAVkBW/Jxsm9CNRO8E8FDD0FBQw9FkcClOYCoMFegpDfADgcMiA2AJQACB8AsigKAIzIEAJKeBIApY5yPZQIAKQiHb4fvj5BKSRPQrZCOz0oXyxgOywfKAnGbgMClQaCAkILXgdeCD9IIGUgQj5fPoY+dT52Ao5CM0dAX9BTVG9SDzFwWTQAbxBzJF/lOEIQQglCCkKJIAls5AcClQICoKPMODEFxhi6KSAbiyfIRrMjtCgdWCAkPlFBIitCsEJRzAbMAV/OEyQzDg0OAQQEJ36i328/Mk9AybDJsQlq3tDRApUKAkFzXf1d/j9uALYP6hCoFgCTGD8kPsFKQiobrm0+zj0KSD8kPnVCRBwMDyJRTHFgMTJa5rwXQiQ2YfI/JD7BMEJEHGINTw4TOFlIRzwJO0icMQpyPyQ+wzJCRBv6DVgnKB01NgUKj2bwYzMqCoBkznBgEF+zYDIocwRIX+NgHj4HICNfh2C4CwdwFWpTG/lgUhYGAwRfv2Ts8mAaXzVgml/XYIJfuWC4HI1gUF9pYJZgMR6ilQHMAOwLAlDRefC0in4AXAEJA6PjCwc0IamOANMMCAECRQDFNRTZBgd+CwQlRA+r6+gLBDEFBnwUBXgKATIArwAGRAAHA3cDdAN2A3kDdwN9A3oDdQN7A30DfAN4A3oDfQAYEAAlAtYASwMAUAFsAHcKAHcAmgB3AHUAdQB2AHVu8UgAygDAAHcAdQB1AHYAdQALCgB3AAsAmgB3AAsCOwB3AAtu8UgAygDAAHgKAJoAdwB3AHUAdQB2AHUAeAB1AHUAdgB1bvFIAMoAwAALCgCaAHcACwB3AAsCOwB3AAtu8UgAygDAAH4ACwGgALcBpwC6AahdAu0COwLtbvFIAMoAwAALCgCaAu0ACwLtAAsCOwLtAAtu8UgAygDAA24ACwNvAAu0VsQAAzsAABCkjUIpAAsAUIusOggWcgMeBxVsGwL67U/2HlzmWOEeOgALASvuAAseAfpKUpnpGgYJDCIZM6YyARUE9ThqAD5iXQgnAJYJPnOzw0ZAEZxEKsIAkA4DhAHnTAIDxxUDK0lxCQlPYgIvIQVYJQBVqE1GakUAKGYiDToSBA1EtAYAXQJYAIF8GgMHRyAAIAjOe9YncekRAA0KACUrjwE7Ayc6AAYWAqaiKG4McEcqANoN3+Mg9TwCBhIkuCny+JwUQ29L008JluRxu3K+oAdqiHOqFH0AG5SUIfUJ5SxCGfxdipRzqTmT4V5Zb+r1Uo4Vm+NqSSEl2mNvR2JhIa8SpYO6ntdwFXHCWTCK8f2+Hxo7uiG3drDycAuKIMP5bhi06ACnqArH1rz4Rqg//lm6SgJGEVbF9xJHISaR6HxqxSnkw6shDnelHKNEfGUXSJRJ1GcsmtJw25xrZMDK9gXSm1/YMkdX4/6NKYOdtk/NQ3/NnDASjTc3fPjIjW/5sVfVObX2oTDWkr1dF9f3kxBsD3/3aQO8hPfRz+e0uEiJqt1161griu7gz8hDDwtpy+F+BWtefnKHZPAxcZoWbnznhJpy0e842j36bcNzGnIEusgGX0a8ZxsnjcSsPDZ09yZ36fCQbriHeQ72JRMILNl6ePPf2HWoVwgWAm1fb3V2sAY0+B6rAXqSwPBgseVmoqsBTSrm91+XasMYYySI8eeRxH3ZvHkMz3BQ5aJ3iUVbYPNM3/7emRtjlsMgv/9VyTsyt/mK+8fgWeT6SoFaclXqn42dAIsvAarF5vNNWHzKSkKQ/8Hfk5ZWK7r9yliOsooyBjRhfkHP4Q2DkWXQi6FG/9r/IwbmkV5T7JSopHKn1pJwm9tb5Ot0oyN1Z2mPpKXHTxx2nlK08fKk1hEYA8WgVVWL5lgx0iTv+KdojJeU23ZDjmiubXOxVXJKKi2Wjuh2HLZOFLiSC7Tls5SMh4f+Pj6xUSrNjFqLGehRNB8lC0QSLNmkJJx/wSG3MnjE9T1CkPwJI0wH2lfzwETIiVqUxg0dfu5q39Gt+hwdcxkhhNvQ4TyrBceof3Mhs/IxFci1HmHr4FMZgXEEczPiGCx0HRwzAqDq2j9AVm1kwN0mRVLWLylgtoPNapF5cY4Y1wJh/e0BBwZj44YgZrDNqvD/9Hv7GFYdUQeDJuQ3EWI4HaKqavU1XjC/n41kT4L79kqGq0kLhdTZvgP3TA3fS0ozVz+5piZsoOtIvBUFoMKbNcmBL6YxxaUAusHB38XrS8dQMnQwJfUUkpRoGr5AUeWicvBTzyK9g77+yCkf5PAysL7r/JjcZgrbvRpMW9iyaxZvKO6ceZN2EwIxKwVFPuvFuiEPGCoagbMo+SpydLrXqBzNCDGFCrO/rkcwa2xhokQZ5CdZ0AsU3JfSqJ6n5I14YA+P/uAgfhPU84Tlw7cEFfp7AEE8ey4sP12PTt4Cods1GRgDOB5xvyiR5m+Bx8O5nBCNctU8BevfV5A08x6RHd5jcwPTMDSZJOedIZ1cGQ704lxbAzqZOP05ZxaOghzSdvFBHYqomATARyAADK4elP8Ly3IrUZKfWh23Xy20uBUmLS4Pfagu9+oyVa2iPgqRP3F2CTUsvJ7+RYnN8fFZbU/HVvxvcFFDKkiTqV5UBZ3Gz54JAKByi9hkKMZJvuGgcSYXFmw08UyoQyVdfTD1/dMkCHXcTGAKeROgArsvmRrQTLUOXioOHGK2QkjHuoYFgXciZoTJd6Fs5q1QX1G+p/e26hYsEf7QZD1nnIyl/SFkNtYYmmBhpBrxl9WbY0YpHWRuw2Ll/tj9mD8P4snVzJl4F9J+1arVeTb9E5r2ILH04qStjxQNwn3m4YNqxmaNbLAqW2TN6LidwuJRqS+NXbtqxoeDXpxeGWmxzSkWxjkyCkX4NQRme6q5SAcC+M7+9ETfA/EwrzQajKakCwYyeunP6ZFlxU2oMEn1Pz31zeStW74G406ZJFCl1wAXIoUKkWotYEpOuXB1uVNxJ63dpJEqfxBeptwIHNrPz8BllZoIcBoXwgfJ+8VAUnVPvRvexnw0Ma/WiGYuJO5y8QTvEYBigFmhUxY5RqzE8OcywN/8m4UYrlaniJO75XQ6KSo9+tWHlu+hMi0UVdiKQp7NelnoZUzNaIyBPVeOwK6GNp+FfHuPOoyhaWuNvTYFkvxscMQWDh+zeFCFkgwbXftiV23ywJ4+uwRqmg9k3KzwIQpzppt8DBBOMbrqwQM5Gb05sEwdKzMiAqOloaA/lr0KA+1pr0/+HiWoiIjHA/wir2nIuS3PeU/ji3O6ZwoxcR1SZ9FhtLC5S0FIzFhbBWcGVP/KpxOPSiUoAdWUpqKH++6Scz507iCcxYI6rdMBICPJZea7OcmeFw5mObJSiqpjg2UoWNIs+cFhyDSt6geV5qgi3FunmwwDoGSMgerFOZGX1m0dMCYo5XOruxO063dwENK9DbnVM9wYFREzh4vyU1WYYJ/LRRp6oxgjqP/X5a8/4Af6p6NWkQferzBmXme0zY/4nwMJm/wd1tIqSwGz+E3xPEAOoZlJit3XddD7/BT1pllzOx+8bmQtANQ/S6fZexc6qi3W+Q2xcmXTUhuS5mpHQRvcxZUN0S5+PL9lXWUAaRZhEH8hTdAcuNMMCuVNKTEGtSUKNi3O6KhSaTzck8csZ2vWRZ+d7mW8c4IKwXIYd25S/zIftPkwPzufjEvOHWVD1m+FjpDVUTV0DGDuHj6QnaEwLu/dEgdLQOg9E1Sro9XHJ8ykLAwtPu+pxqKDuFexqON1sKQm7rwbE1E68UCfA/erovrTCG+DBSNg0l4goDQvZN6uNlbyLpcZAwj2UclycvLpIZMgv4yRlpb3YuMftozorbcGVHt/VeDV3+Fdf1TP0iuaCsPi2G4XeGhsyF1ubVDxkoJhmniQ0/jSg/eYML9KLfnCFgISWkp91eauR3IQvED0nAPXK+6hPCYs+n3+hCZbiskmVMG2da+0EsZPonUeIY8EbfusQXjsK/eFDaosbPjEfQS0RKG7yj5GG69M7MeO1HmiUYocgygJHL6M1qzUDDwUSmr99V7Sdr2F3JjQAJY+F0yH33Iv3+C9M38eML7gTgmNu/r2bUMiPvpYbZ6v1/IaESirBHNa7mPKn4dEmYg7v/+HQgPN1G79jBQ1+soydfDC2r+h2Bl/KIc5KjMK7OH6nb1jLsNf0EHVe2KBiE51ox636uyG6Lho0t3J34L5QY/ilE3mikaF4HKXG1mG1rCevT1Vv6GavltxoQe/bMrpZvRggnBxSEPEeEzkEdOxTnPXHVjUYdw8JYvjB/o7Eegc3Ma+NUxLLnsK0kJlinPmUHzHGtrk5+CAbVzFOBqpyy3QVUnzTDfC/0XD94/okH+OB+i7g9lolhWIjSnfIb+Eq43ZXOWmwvjyV/qqD+t0e+7mTEM74qP/Ozt8nmC7mRpyu63OB4KnUzFc074SqoyPUAgM+/TJGFo6T44EHnQU4X4z6qannVqgw/U7zCpwcmXV1AubIrvOmkKHazJAR55ePjp5tLBsN8vAqs3NAHdcEHOR2xQ0lsNAFzSUuxFQCFYvXLZJdOj9p4fNq6p0HBGUik2YzaI4xySy91KzhQ0+q1hjxvImRwPRf76tChlRkhRCi74NXZ9qUNeIwP+s5p+3m5nwPdNOHgSLD79n7O9m1n1uDHiMntq4nkYwV5OZ1ENbXxFd4PgrlvavZsyUO4MqYlqqn1O8W/I1dEZq5dXhrbETLaZIbC2Kj/Aa/QM+fqUOHdf0tXAQ1huZ3cmWECWSXy/43j35+Mvq9xws7JKseriZ1pEWKc8qlzNrGPUGcVgOa9cPJYIJsGnJTAUsEcDOEVULO5x0rXBijc1lgXEzQQKhROf8zIV82w8eswc78YX11KYLWQRcgHNJElBxfXr72lS2RBSl07qTKorO2uUDZr3sFhYsvnhLZn0A94KRzJ/7DEGIAhW5ZWFpL8gEwu1aLA9MuWZzNwl8Oze9Y+bX+v9gywRVnoB5I/8kXTXU3141yRLYrIOOz6SOnyHNy4SieqzkBXharjfjqq1q6tklaEbA8Qfm2DaIPs7OTq/nvJBjKfO2H9bH2cCMh1+5gspfycu8f/cuuRmtDjyqZ7uCIMyjdV3a+p3fqmXsRx4C8lujezIFHnQiVTXLXuI1XrwN3+siYYj2HHTvESUx8DlOTXpak9qFRK+L3mgJ1WsD7F4cu1aJoFoYQnu+wGDMOjJM3kiBQWHCcvhJ/HRdxodOQp45YZaOTA22Nb4XKCVxqkbwMYFhzYQYIAnCW8FW14uf98jhUG2zrKhQQ0q0CEq0t5nXyvUyvR8DvD69LU+g3i+HFWQMQ8PqZuHD+sNKAV0+M6EJC0szq7rEr7B5bQ8BcNHzvDMc9eqB5ZCQdTf80Obn4uzjwpYU7SISdtV0QGa9D3Wrh2BDQtpBKxaNFV+/Cy2P/Sv+8s7Ud0Fd74X4+o/TNztWgETUapy+majNQ68Lq3ee0ZO48VEbTZYiH1Co4OlfWef82RWeyUXo7woM03PyapGfikTnQinoNq5z5veLpeMV3HCAMTaZmA1oGLAn7XS3XYsz+XK7VMQsc4XKrmDXOLU/pSXVNUq8dIqTba///3x6LiLS6xs1xuCAYSfcQ3+rQgmu7uvf3THKt5Ooo97TqcbRqxx7EASizaQCBQllG/rYxVapMLgtLbZS64w1MDBMXX+PQpBKNwqUKOf2DDRDUXQf9EhOS0Qj4nTmlA8dzSLz/G1d+Ud8MTy/6ghhdiLpeerGY/UlDOfiuqFsMUU5/UYlP+BAmgRLuNpvrUaLlVkrqDievNVEAwF+4CoM1MZTmjxjJMsKJq+u8Zd7tNCUFy6LiyYXRJQ4VyvEQFFaCGKsxIwQkk7EzZ6LTJq2hUuPhvAW+gQnSG6J+MszC+7QCRHcnqDdyNRJ6T9xyS87A6MDutbzKGvGktpbXqtzWtXb9HsfK2cBMomjN9a4y+TaJLnXxAeX/HWzmf4cR4vALt/P4w4qgKY04ml4ZdLOinFYS6cup3G/1ie4+t1eOnpBNlqGqs75ilzkT4+DsZQxNvaSKJ//6zIbbk/M7LOhFmRc/1R+kBtz7JFGdZm/COotIdvQoXpTqP/1uqEUmCb/QWoGLMwO5ANcHzxdY48IGP5+J+zKOTBFZ4Pid+GTM+Wq12MV/H86xEJptBa6T+p3kgpwLedManBHC2GgNrFpoN2xnrMz9WFWX/8/ygSBkavq2Uv7FdCsLEYLu9LLIvAU0bNRDtzYl+/vXmjpIvuJFYjmI0im6QEYqnIeMsNjXG4vIutIGHijeAG/9EDBozKV5cldkHbLxHh25vT+ZEzbhXlqvpzKJwcEgfNwLAKFeo0/pvEE10XDB+EXRTXtSzJozQKFFAJhMxYkVaCW+E9AL7tMeU8acxidHqzb6lX4691UsDpy/LLRmT+epgW56+5Cw8tB4kMUv6s9lh3eRKbyGs+H/4mQMaYzPTf2OOdokEn+zzgvoD3FqNKk8QqGAXVsqcGdXrT62fSPkR2vROFi68A6se86UxRUk4cajfPyCC4G5wDhD+zNq4jodQ4u4n/m37Lr36n4LIAAsVr02dFi9AiwA81MYs2rm4eDlDNmdMRvEKRHfBwW5DdMNp0jPFZMeARqF/wL4XBfd+EMLBfMzpH5GH6NaW+1vrvMdg+VxDzatk3MXgO3ro3P/DpcC6+Mo4MySJhKJhSR01SGGGp5hPWmrrUgrv3lDnP+HhcI3nt3YqBoVAVTBAQT5iuhTg8nvPtd8ZeYj6w1x6RqGUBrSku7+N1+BaasZvjTk64RoIDlL8brpEcJx3OmY7jLoZsswdtmhfC/G21llXhITOwmvRDDeTTPbyASOa16cF5/A1fZAidJpqju3wYAy9avPR1ya6eNp9K8XYrrtuxlqi+bDKwlfrYdR0RRiKRVTLOH85+ZY7XSmzRpfZBJjaTa81VDcJHpZnZnSQLASGYW9l51ZV/h7eVzTi3Hv6hUsgc/51AqJRTkpbFVLXXszoBL8nBX0u/0jBLT8nH+fJePbrwURT58OY+UieRjd1vs04w0VG5VN2U6MoGZkQzKN/ptz0Q366dxoTGmj7i1NQGHi9GgnquXFYdrCfZBmeb7s0T6yrdlZH5cZuwHFyIJ/kAtGsTg0xH5taAAq44BAk1CPk9KVVbqQzrCUiFdF/6gtlPQ8bHHc1G1W92MXGZ5HEHftyLYs8mbD/9xYRUWkHmlM0zC2ilJlnNgV4bfALpQghxOUoZL7VTqtCHIaQSXm+YUMnpkXybnV+A6xlm2CVy8fn0Xlm2XRa0+zzOa21JWWmixfiPMSCZ7qA4rS93VN3pkpF1s5TonQjisHf7iU9ZGvUPOAKZcR1pbeVf/Ul7OhepGCaId9wOtqo7pJ7yLcBZ0pFkOF28y4zEI/kcUNmutBHaQpBdNM8vjCS6HZRokkeo88TBAjGyG7SR+6vUgTcyK9Imalj0kuxz0wmK+byQU11AiJFk/ya5dNduRClcnU64yGu/ieWSeOos1t3ep+RPIWQ2pyTYVbZltTbsb7NiwSi3AV+8KLWk7LxCnfZUetEM8ThnsSoGH38/nyAwFguJp8FjvlHtcWZuU4hPva0rHfr0UhOOJ/F6vS62FW7KzkmRll2HEc7oUq4fyi5T70Vl7YVIfsPHUCdHesf9Lk7WNVWO75JDkYbMI8TOW8JKVtLY9d6UJRITO8oKo0xS+o99Yy04iniGHAaGj88kEWgwv0OrHdY/nr76DOGNS59hXCGXzTKUvDl9iKpLSWYN1lxIeyywdNpTkhay74w2jFT6NS8qkjo5CxA1yfSYwp6AJIZNKIeEK5PJAW7ORgWgwp0VgzYpqovMrWxbu+DGZ6Lhie1RAqpzm8VUzKJOH3mCzWuTOLsN3VT/dv2eeYe9UjbR8YTBsLz7q60VN1sU51k+um1f8JxD5pPhbhSC8rRaB454tmh6YUWrJI3+GWY0qeWioj/tbkYITOkJaeuGt4JrJvHA+l0Gu7kY7XOaa05alMnRWVCXqFgLIwSY4uF59Ue5SU4QKuc/HamDxbr0x6csCetXGoP7Qn1Bk/J9DsynO/UD6iZ1Hyrz+jit0hDCwi/E9OjgKTbB3ZQKQ/0ZOvevfNHG0NK4Aj3Cp7NpRk07RT1i/S0EL93Ag8GRgKI9CfpajKyK6+Jj/PI1KO5/85VAwz2AwzP8FTBb075IxCXv6T9RVvWT2tUaqxDS92zrGUbWzUYk9mSs82pECH+fkqsDt93VW++4YsR/dHCYcQSYTO/KaBMDj9LSD/J/+z20Kq8XvZUAIHtm9hRPP3ItbuAu2Hm5lkPs92pd7kCxgRs0xOVBnZ13ccdA0aunrwv9SdqElJRC3g+oCu+nXyCgmXUs9yMjTMAIHfxZV+aPKcZeUBWt057Xo85Ks1Ir5gzEHCWqZEhrLZMuF11ziGtFQUds/EESajhagzcKsxamcSZxGth4UII+adPhQkUnx2WyN+4YWR+r3f8MnkyGFuR4zjzxJS8WsQYR5PTyRaD9ixa6Mh741nBHbzfjXHskGDq179xaRNrCIB1z1xRfWfjqw2pHc1zk9xlPpL8sQWAIuETZZhbnmL54rceXVNRvUiKrrqIkeogsl0XXb17ylNb0f4GA9Wd44vffEG8FSZGHEL2fbaTGRcSiCeA8PmA/f6Hz8HCS76fXUHwgwkzSwlI71ekZ7Fapmlk/KC+Hs8hUcw3N2LN5LhkVYyizYFl/uPeVP5lsoJHhhfWvvSWruCUW1ZcJOeuTbrDgywJ/qG07gZJplnTvLcYdNaH0KMYOYMGX+rB4NGPFmQsNaIwlWrfCezxre8zXBrsMT+edVLbLqN1BqB76JH4BvZTqUIMfGwPGEn+EnmTV86fPBaYbFL3DFEhjB45CewkXEAtJxk4/Ms2pPXnaRqdky0HOYdcUcE2zcXq4vaIvW2/v0nHFJH2XXe22ueDmq/18XGtELSq85j9X8q0tcNSSKJIX8FTuJF/Pf8j5PhqG2u+osvsLxYrvvfeVJL+4tkcXcr9JV7v0ERmj/X6fM3NC4j6dS1+9Umr2oPavqiAydTZPLMNRGY23LO9zAVDly7jD+70G5TPPLdhRIl4WxcYjLnM+SNcJ26FOrkrISUtPObIz5Zb3AG612krnpy15RMW+1cQjlnWFI6538qky9axd2oJmHIHP08KyP0ubGO+TQNOYuv2uh17yCIvR8VcStw7o1g0NM60sk+8Tq7YfIBJrtp53GkvzXH7OA0p8/n/u1satf/VJhtR1l8Wa6Gmaug7haSpaCaYQax6ta0mkutlb+eAOSG1aobM81D9A4iS1RRlzBBoVX6tU1S6WE2N9ORY6DfeLRC4l9Rvr5h95XDWB2mR1d4WFudpsgVYwiTwT31ljskD8ZyDOlm5DkGh9N/UB/0AI5Xvb8ZBmai2hQ4BWMqFwYnzxwB26YHSOv9WgY3JXnvoN+2R4rqGVh/LLDMtpFP+SpMGJNWvbIl5SOodbCczW2RKleksPoUeGEzrjtKHVdtZA+kfqO+rVx/iclCqwoopepvJpSTDjT+b9GWylGRF8EDbGlw6eUzmJM95Ovoz+kwLX3c2fTjFeYEsE7vUZm3mqdGJuKh2w9/QGSaqRHs99aScGOdDqkFcACoqdbBoQqqjamhH6Q9ng39JCg3lrGJwd50Qk9ovnqBTr8MME7Ps2wiVfygUmPoUBJJfJWX5Nda0nuncbFkA=="))}Wt.getData=getData}});var Un=__commonJS({"node_modules/@ethersproject/hash/lib/ens-normalize/lib.js"(Wt){"use strict";Object.defineProperty(Wt,"__esModule",{value:true});Wt.ens_normalize=Wt.ens_normalize_post_check=void 0;var Pt=Ln();var en=Tn();var tn=(0,en.getData)();var nn=On();var an=new Set((0,nn.read_member_array)(tn));var In=new Set((0,nn.read_member_array)(tn));var rn=(0,nn.read_mapped_map)(tn);var sn=(0,nn.read_emoji_trie)(tn);var on=45;var cn=95;function explode_cp(Wt){return(0,Pt.toUtf8CodePoints)(Wt)}function filter_fe0f(Wt){return Wt.filter((function(Wt){return Wt!=65039}))}function ens_normalize_post_check(Wt){for(var Pt=0,en=Wt.split(".");Pt=0;an--){if(nn[an]!==cn){throw new Error("underscore only allowed at start")}}if(nn.length>=4&&nn.every((function(Wt){return Wt<128}))&&nn[2]===on&&nn[3]===on){throw new Error("invalid label extension")}}catch(Wt){throw new Error('Invalid label "'+tn+'": '+Wt.message)}}return Wt}Wt.ens_normalize_post_check=ens_normalize_post_check;function ens_normalize(Wt){return ens_normalize_post_check(normalize(Wt,filter_fe0f))}Wt.ens_normalize=ens_normalize;function normalize(Wt,Pt){var en=explode_cp(Wt).reverse();var tn=[];while(en.length){var nn=consume_emoji_reversed(en);if(nn){tn.push.apply(tn,Pt(nn));continue}var sn=en.pop();if(an.has(sn)){tn.push(sn);continue}if(In.has(sn)){continue}var on=rn[sn];if(on){tn.push.apply(tn,on);continue}throw new Error("Disallowed codepoint: 0x"+sn.toString(16).toUpperCase())}return ens_normalize_post_check(nfc(String.fromCodePoint.apply(String,tn)))}function nfc(Wt){return Wt.normalize("NFC")}function consume_emoji_reversed(Wt,Pt){var en;var tn=sn;var nn;var an;var In=[];var rn=Wt.length;if(Pt)Pt.length=0;var _loop_1=function(){var sn=Wt[--rn];tn=(en=tn.branches.find((function(Wt){return Wt.set.has(sn)})))===null||en===void 0?void 0:en.node;if(!tn)return"break";if(tn.save){an=sn}else if(tn.check){if(sn===an)return"break"}In.push(sn);if(tn.fe0f){In.push(65039);if(rn>0&&Wt[rn-1]==65039)rn--}if(tn.valid){nn=In.slice();if(tn.valid==2)nn.splice(1,1);if(Pt)Pt.push.apply(Pt,Wt.slice(rn).reverse());Wt.length=rn}};while(rn){var on=_loop_1();if(on==="break")break}return nn}}});var Mn=__commonJS({"node_modules/@ethersproject/hash/lib/namehash.js"(Wt){"use strict";Object.defineProperty(Wt,"__esModule",{value:true});Wt.dnsEncode=Wt.namehash=Wt.isValidName=Wt.ensNormalize=void 0;var Pt=pn();var en=Ln();var tn=Hn();var nn=dn();var an=xn();var In=new nn.Logger(an.version);var rn=Un();var sn=new Uint8Array(32);sn.fill(0);function checkComponent(Wt){if(Wt.length===0){throw new Error("invalid ENS name; empty component")}return Wt}function ensNameSplit(Wt){var Pt=(0,en.toUtf8Bytes)((0,rn.ens_normalize)(Wt));var tn=[];if(Wt.length===0){return tn}var nn=0;for(var an=0;an=Pt.length){throw new Error("invalid ENS name; empty component")}tn.push(checkComponent(Pt.slice(nn)));return tn}function ensNormalize(Wt){return ensNameSplit(Wt).map((function(Wt){return(0,en.toUtf8String)(Wt)})).join(".")}Wt.ensNormalize=ensNormalize;function isValidName(Wt){try{return ensNameSplit(Wt).length!==0}catch(Wt){}return false}Wt.isValidName=isValidName;function namehash(Wt){if(typeof Wt!=="string"){In.throwArgumentError("invalid ENS name; not a string","name",Wt)}var en=sn;var nn=ensNameSplit(Wt);while(nn.length){en=(0,tn.keccak256)((0,Pt.concat)([en,(0,tn.keccak256)(nn.pop())]))}return(0,Pt.hexlify)(en)}Wt.namehash=namehash;function dnsEncode(Wt){return(0,Pt.hexlify)((0,Pt.concat)(ensNameSplit(Wt).map((function(Wt){if(Wt.length>63){throw new Error("invalid DNS encoded entry; length exceeds 63 bytes")}var Pt=new Uint8Array(Wt.length+1);Pt.set(Wt,1);Pt[0]=Pt.length-1;return Pt}))))+"00"}Wt.dnsEncode=dnsEncode}});var zn=__commonJS({"node_modules/@ethersproject/hash/lib/message.js"(Wt){"use strict";Object.defineProperty(Wt,"__esModule",{value:true});Wt.hashMessage=Wt.messagePrefix=void 0;var Pt=pn();var en=Hn();var tn=Ln();Wt.messagePrefix="Ethereum Signed Message:\n";function hashMessage(nn){if(typeof nn==="string"){nn=(0,tn.toUtf8Bytes)(nn)}return(0,en.keccak256)((0,Pt.concat)([(0,tn.toUtf8Bytes)(Wt.messagePrefix),(0,tn.toUtf8Bytes)(String(nn.length)),nn]))}Wt.hashMessage=hashMessage}});var Sn=__commonJS({"node_modules/@ethersproject/rlp/lib/_version.js"(Wt){"use strict";Object.defineProperty(Wt,"__esModule",{value:true});Wt.version=void 0;Wt.version="rlp/5.7.0"}});var Dn=__commonJS({"node_modules/@ethersproject/rlp/lib/index.js"(Wt){"use strict";Object.defineProperty(Wt,"__esModule",{value:true});Wt.decode=Wt.encode=void 0;var Pt=pn();var en=dn();var tn=Sn();var nn=new en.Logger(tn.version);function arrayifyInteger(Wt){var Pt=[];while(Wt){Pt.unshift(Wt&255);Wt>>=8}return Pt}function unarrayifyInteger(Wt,Pt,en){var tn=0;for(var nn=0;nnPt+1+an){nn.throwError("child data too short",en.Logger.errors.BUFFER_OVERRUN,{})}}return{consumed:1+an,result:In}}function _decode(Wt,tn){if(Wt.length===0){nn.throwError("data too short",en.Logger.errors.BUFFER_OVERRUN,{})}if(Wt[tn]>=248){var an=Wt[tn]-247;if(tn+1+an>Wt.length){nn.throwError("data short segment too short",en.Logger.errors.BUFFER_OVERRUN,{})}var In=unarrayifyInteger(Wt,tn+1,an);if(tn+1+an+In>Wt.length){nn.throwError("data long segment too short",en.Logger.errors.BUFFER_OVERRUN,{})}return _decodeChildren(Wt,tn,tn+1+an,an+In)}else if(Wt[tn]>=192){var rn=Wt[tn]-192;if(tn+1+rn>Wt.length){nn.throwError("data array too short",en.Logger.errors.BUFFER_OVERRUN,{})}return _decodeChildren(Wt,tn,tn+1,rn)}else if(Wt[tn]>=184){var an=Wt[tn]-183;if(tn+1+an>Wt.length){nn.throwError("data array too short",en.Logger.errors.BUFFER_OVERRUN,{})}var sn=unarrayifyInteger(Wt,tn+1,an);if(tn+1+an+sn>Wt.length){nn.throwError("data array too short",en.Logger.errors.BUFFER_OVERRUN,{})}var on=(0,Pt.hexlify)(Wt.slice(tn+1+an,tn+1+an+sn));return{consumed:1+an+sn,result:on}}else if(Wt[tn]>=128){var cn=Wt[tn]-128;if(tn+1+cn>Wt.length){nn.throwError("data too short",en.Logger.errors.BUFFER_OVERRUN,{})}var on=(0,Pt.hexlify)(Wt.slice(tn+1,tn+1+cn));return{consumed:1+cn,result:on}}return{consumed:1,result:(0,Pt.hexlify)(Wt[tn])}}function decode(Wt){var en=(0,Pt.arrayify)(Wt);var tn=_decode(en,0);if(tn.consumed!==en.length){nn.throwArgumentError("invalid rlp data","data",Wt)}return tn.result}Wt.decode=decode}});var jn=__commonJS({"node_modules/@ethersproject/address/lib/_version.js"(Wt){"use strict";Object.defineProperty(Wt,"__esModule",{value:true});Wt.version=void 0;Wt.version="address/5.7.0"}});var _n=__commonJS({"node_modules/@ethersproject/address/lib/index.js"(Wt){"use strict";Object.defineProperty(Wt,"__esModule",{value:true});Wt.getCreate2Address=Wt.getContractAddress=Wt.getIcapAddress=Wt.isAddress=Wt.getAddress=void 0;var Pt=pn();var en=hn();var tn=Hn();var nn=Dn();var an=dn();var In=jn();var rn=new an.Logger(In.version);function getChecksumAddress(Wt){if(!(0,Pt.isHexString)(Wt,20)){rn.throwArgumentError("invalid address","address",Wt)}Wt=Wt.toLowerCase();var en=Wt.substring(2).split("");var nn=new Uint8Array(40);for(var an=0;an<40;an++){nn[an]=en[an].charCodeAt(0)}var In=(0,Pt.arrayify)((0,tn.keccak256)(nn));for(var an=0;an<40;an+=2){if(In[an>>1]>>4>=8){en[an]=en[an].toUpperCase()}if((In[an>>1]&15)>=8){en[an+1]=en[an+1].toUpperCase()}}return"0x"+en.join("")}var sn=9007199254740991;function log10(Wt){if(Math.log10){return Math.log10(Wt)}return Math.log(Wt)/Math.LN10}var on={};for(cn=0;cn<10;cn++){on[String(cn)]=String(cn)}var cn;for(cn=0;cn<26;cn++){on[String.fromCharCode(65+cn)]=String(10+cn)}var cn;var un=Math.floor(log10(sn));function ibanChecksum(Wt){Wt=Wt.toUpperCase();Wt=Wt.substring(4)+Wt.substring(0,2)+"00";var Pt=Wt.split("").map((function(Wt){return on[Wt]})).join("");while(Pt.length>=un){var en=Pt.substring(0,un);Pt=parseInt(en,10)%97+Pt.substring(en.length)}var tn=String(98-parseInt(Pt,10)%97);while(tn.length<2){tn="0"+tn}return tn}function getAddress(Wt){var Pt=null;if(typeof Wt!=="string"){rn.throwArgumentError("invalid address","address",Wt)}if(Wt.match(/^(0x)?[0-9a-fA-F]{40}$/)){if(Wt.substring(0,2)!=="0x"){Wt="0x"+Wt}Pt=getChecksumAddress(Wt);if(Wt.match(/([A-F].*[a-f])|([a-f].*[A-F])/)&&Pt!==Wt){rn.throwArgumentError("bad address checksum","address",Wt)}}else if(Wt.match(/^XE[0-9]{2}[0-9A-Za-z]{30,31}$/)){if(Wt.substring(2,4)!==ibanChecksum(Wt)){rn.throwArgumentError("bad icap checksum","address",Wt)}Pt=(0,en._base36To16)(Wt.substring(4));while(Pt.length<40){Pt="0"+Pt}Pt=getChecksumAddress("0x"+Pt)}else{rn.throwArgumentError("invalid address","address",Wt)}return Pt}Wt.getAddress=getAddress;function isAddress(Wt){try{getAddress(Wt);return true}catch(Wt){}return false}Wt.isAddress=isAddress;function getIcapAddress(Wt){var Pt=(0,en._base16To36)(getAddress(Wt).substring(2)).toUpperCase();while(Pt.length<30){Pt="0"+Pt}return"XE"+ibanChecksum("XE00"+Pt)+Pt}Wt.getIcapAddress=getIcapAddress;function getContractAddress(Wt){var an=null;try{an=getAddress(Wt.from)}catch(Pt){rn.throwArgumentError("missing from address","transaction",Wt)}var In=(0,Pt.stripZeros)((0,Pt.arrayify)(en.BigNumber.from(Wt.nonce).toHexString()));return getAddress((0,Pt.hexDataSlice)((0,tn.keccak256)((0,nn.encode)([an,In])),12))}Wt.getContractAddress=getContractAddress;function getCreate2Address(Wt,en,nn){if((0,Pt.hexDataLength)(en)!==32){rn.throwArgumentError("salt must be 32 bytes","salt",en)}if((0,Pt.hexDataLength)(nn)!==32){rn.throwArgumentError("initCodeHash must be 32 bytes","initCodeHash",nn)}return getAddress((0,Pt.hexDataSlice)((0,tn.keccak256)((0,Pt.concat)(["0xff",getAddress(Wt),en,nn])),12))}Wt.getCreate2Address=getCreate2Address}});var Kn=__commonJS({"node_modules/@ethersproject/hash/lib/typed-data.js"(Wt){"use strict";var Pt=Wt&&Wt.__awaiter||function(Wt,Pt,en,tn){function adopt(Wt){return Wt instanceof en?Wt:new en((function(Pt){Pt(Wt)}))}return new(en||(en=Promise))((function(en,nn){function fulfilled(Wt){try{step(tn.next(Wt))}catch(Wt){nn(Wt)}}function rejected(Wt){try{step(tn["throw"](Wt))}catch(Wt){nn(Wt)}}function step(Wt){Wt.done?en(Wt.value):adopt(Wt.value).then(fulfilled,rejected)}step((tn=tn.apply(Wt,Pt||[])).next())}))};var en=Wt&&Wt.__generator||function(Wt,Pt){var en={label:0,sent:function(){if(an[0]&1)throw an[1];return an[1]},trys:[],ops:[]},tn,nn,an,In;return In={next:verb(0),throw:verb(1),return:verb(2)},typeof Symbol==="function"&&(In[Symbol.iterator]=function(){return this}),In;function verb(Wt){return function(Pt){return step([Wt,Pt])}}function step(In){if(tn)throw new TypeError("Generator is already executing.");while(en)try{if(tn=1,nn&&(an=In[0]&2?nn["return"]:In[0]?nn["throw"]||((an=nn["return"])&&an.call(nn),0):nn.next)&&!(an=an.call(nn,In[1])).done)return an;if(nn=0,an)In=[In[0]&2,an.value];switch(In[0]){case 0:case 1:an=In;break;case 4:en.label++;return{value:In[1],done:false};case 5:en.label++;nn=In[1];In=[0];continue;case 7:In=en.ops.pop();en.trys.pop();continue;default:if(!(an=en.trys,an=an.length>0&&an[an.length-1])&&(In[0]===6||In[0]===2)){en=0;continue}if(In[0]===3&&(!an||In[1]>an[0]&&In[1]256||Pt[2]&&Pt[2]!==String(rn)){cn.throwArgumentError("invalid numeric width","type",Wt)}var sn=Wn.mask(en?rn-1:rn);var on=en?sn.add(Zn).mul(bn):Gn;return function(Pt){var en=nn.BigNumber.from(Pt);if(en.lt(on)||en.gt(sn)){cn.throwArgumentError("value out-of-bounds for "+Wt,"value",Pt)}return(0,an.hexZeroPad)(en.toTwos(256).toHexString(),32)}}}{var Pt=Wt.match(/^bytes(\d+)$/);if(Pt){var dn=parseInt(Pt[1]);if(dn===0||dn>32||Pt[1]!==String(dn)){cn.throwArgumentError("invalid bytes width","type",Wt)}return function(Pt){var en=(0,an.arrayify)(Pt);if(en.length!==dn){cn.throwArgumentError("invalid length for "+Wt,"value",Pt)}return hexPadRight(Pt)}}}switch(Wt){case"address":return function(Wt){return(0,an.hexZeroPad)((0,tn.getAddress)(Wt),32)};case"bool":return function(Wt){return!Wt?gn:Nn};case"bytes":return function(Wt){return(0,In.keccak256)(Wt)};case"string":return function(Wt){return(0,un.id)(Wt)}}return null}function encodeType(Wt,Pt){return Wt+"("+Pt.map((function(Wt){var Pt=Wt.name,en=Wt.type;return en+" "+Pt})).join(",")+")"}var En=function(){function TypedDataEncoder2(Wt){(0,rn.defineReadOnly)(this,"types",Object.freeze((0,rn.deepCopy)(Wt)));(0,rn.defineReadOnly)(this,"_encoderCache",{});(0,rn.defineReadOnly)(this,"_types",{});var Pt={};var en={};var tn={};Object.keys(Wt).forEach((function(Wt){Pt[Wt]={};en[Wt]=[];tn[Wt]={}}));var _loop_1=function(tn){var nn={};Wt[tn].forEach((function(an){if(nn[an.name]){cn.throwArgumentError("duplicate variable name "+JSON.stringify(an.name)+" in "+JSON.stringify(tn),"types",Wt)}nn[an.name]=true;var In=an.type.match(/^([^\x5b]*)(\x5b|$)/)[1];if(In===tn){cn.throwArgumentError("circular type reference to "+JSON.stringify(In),"types",Wt)}var rn=getBaseEncoder(In);if(rn){return}if(!en[In]){cn.throwArgumentError("unknown type "+JSON.stringify(In),"types",Wt)}en[In].push(tn);Pt[tn][In]=true}))};for(var nn in Wt){_loop_1(nn)}var an=Object.keys(en).filter((function(Wt){return en[Wt].length===0}));if(an.length===0){cn.throwArgumentError("missing primary type","types",Wt)}else if(an.length>1){cn.throwArgumentError("ambiguous primary types or unused types: "+an.map((function(Wt){return JSON.stringify(Wt)})).join(", "),"types",Wt)}(0,rn.defineReadOnly)(this,"primaryType",an[0]);function checkCircular(nn,an){if(an[nn]){cn.throwArgumentError("circular type reference to "+JSON.stringify(nn),"types",Wt)}an[nn]=true;Object.keys(Pt[nn]).forEach((function(Wt){if(!en[Wt]){return}checkCircular(Wt,an);Object.keys(an).forEach((function(Pt){tn[Pt][Wt]=true}))}));delete an[nn]}checkCircular(this.primaryType,{});for(var In in tn){var sn=Object.keys(tn[In]);sn.sort();this._types[In]=encodeType(In,Wt[In])+sn.map((function(Pt){return encodeType(Pt,Wt[Pt])})).join("")}}TypedDataEncoder2.prototype.getEncoder=function(Wt){var Pt=this._encoderCache[Wt];if(!Pt){Pt=this._encoderCache[Wt]=this._getEncoder(Wt)}return Pt};TypedDataEncoder2.prototype._getEncoder=function(Wt){var Pt=this;{var en=getBaseEncoder(Wt);if(en){return en}}var tn=Wt.match(/^(.*)(\x5b(\d*)\x5d)$/);if(tn){var nn=tn[1];var rn=this.getEncoder(nn);var sn=parseInt(tn[3]);return function(Wt){if(sn>=0&&Wt.length!==sn){cn.throwArgumentError("array length mismatch; expected length ${ arrayLength }","value",Wt)}var en=Wt.map(rn);if(Pt._types[nn]){en=en.map(In.keccak256)}return(0,In.keccak256)((0,an.hexConcat)(en))}}var on=this.types[Wt];if(on){var dn=(0,un.id)(this._types[Wt]);return function(Wt){var en=on.map((function(en){var tn=en.name,nn=en.type;var an=Pt.getEncoder(nn)(Wt[tn]);if(Pt._types[nn]){return(0,In.keccak256)(an)}return an}));en.unshift(dn);return(0,an.hexConcat)(en)}}return cn.throwArgumentError("unknown type: "+Wt,"type",Wt)};TypedDataEncoder2.prototype.encodeType=function(Wt){var Pt=this._types[Wt];if(!Pt){cn.throwArgumentError("unknown type: "+JSON.stringify(Wt),"name",Wt)}return Pt};TypedDataEncoder2.prototype.encodeData=function(Wt,Pt){return this.getEncoder(Wt)(Pt)};TypedDataEncoder2.prototype.hashStruct=function(Wt,Pt){return(0,In.keccak256)(this.encodeData(Wt,Pt))};TypedDataEncoder2.prototype.encode=function(Wt){return this.encodeData(this.primaryType,Wt)};TypedDataEncoder2.prototype.hash=function(Wt){return this.hashStruct(this.primaryType,Wt)};TypedDataEncoder2.prototype._visit=function(Wt,Pt,en){var tn=this;{var nn=getBaseEncoder(Wt);if(nn){return en(Wt,Pt)}}var an=Wt.match(/^(.*)(\x5b(\d*)\x5d)$/);if(an){var In=an[1];var rn=parseInt(an[3]);if(rn>=0&&Pt.length!==rn){cn.throwArgumentError("array length mismatch; expected length ${ arrayLength }","value",Pt)}return Pt.map((function(Wt){return tn._visit(In,Wt,en)}))}var sn=this.types[Wt];if(sn){return sn.reduce((function(Wt,nn){var an=nn.name,In=nn.type;Wt[an]=tn._visit(In,Pt[an],en);return Wt}),{})}return cn.throwArgumentError("unknown type: "+Wt,"type",Wt)};TypedDataEncoder2.prototype.visit=function(Wt,Pt){return this._visit(this.primaryType,Wt,Pt)};TypedDataEncoder2.from=function(Wt){return new TypedDataEncoder2(Wt)};TypedDataEncoder2.getPrimaryType=function(Wt){return TypedDataEncoder2.from(Wt).primaryType};TypedDataEncoder2.hashStruct=function(Wt,Pt,en){return TypedDataEncoder2.from(Pt).hashStruct(Wt,en)};TypedDataEncoder2.hashDomain=function(Wt){var Pt=[];for(var en in Wt){var tn=yn[en];if(!tn){cn.throwArgumentError("invalid typed-data domain key: "+JSON.stringify(en),"domain",Wt)}Pt.push({name:en,type:tn})}Pt.sort((function(Wt,Pt){return vn.indexOf(Wt.name)-vn.indexOf(Pt.name)}));return TypedDataEncoder2.hashStruct("EIP712Domain",{EIP712Domain:Pt},Wt)};TypedDataEncoder2.encode=function(Wt,Pt,en){return(0,an.hexConcat)(["0x1901",TypedDataEncoder2.hashDomain(Wt),TypedDataEncoder2.from(Pt).hash(en)])};TypedDataEncoder2.hash=function(Wt,Pt,en){return(0,In.keccak256)(TypedDataEncoder2.encode(Wt,Pt,en))};TypedDataEncoder2.resolveNames=function(Wt,tn,nn,In){return Pt(this,void 0,void 0,(function(){var Pt,sn,on,cn,dn,un,pn,mn;return en(this,(function(en){switch(en.label){case 0:Wt=(0,rn.shallowCopy)(Wt);Pt={};if(Wt.verifyingContract&&!(0,an.isHexString)(Wt.verifyingContract,20)){Pt[Wt.verifyingContract]="0x"}sn=TypedDataEncoder2.from(tn);sn.visit(nn,(function(Wt,en){if(Wt==="address"&&!(0,an.isHexString)(en,20)){Pt[en]="0x"}return en}));on=[];for(cn in Pt)on.push(cn);dn=0;en.label=1;case 1:if(!(dn=Wt.length){return false}return(Wt.charCodeAt(Pt+1)&64512)===56320}function toArray2(Wt,Pt){if(Array.isArray(Wt))return Wt.slice();if(!Wt)return[];var en=[];if(typeof Wt==="string"){if(!Pt){var tn=0;for(var nn=0;nn>6|192;en[tn++]=an&63|128}else if(isSurrogatePair(Wt,nn)){an=65536+((an&1023)<<10)+(Wt.charCodeAt(++nn)&1023);en[tn++]=an>>18|240;en[tn++]=an>>12&63|128;en[tn++]=an>>6&63|128;en[tn++]=an&63|128}else{en[tn++]=an>>12|224;en[tn++]=an>>6&63|128;en[tn++]=an&63|128}}}else if(Pt==="hex"){Wt=Wt.replace(/[^a-z0-9]+/gi,"");if(Wt.length%2!==0)Wt="0"+Wt;for(nn=0;nn>>24|Wt>>>8&65280|Wt<<8&16711680|(Wt&255)<<24;return Pt>>>0}Wt.htonl=htonl;function toHex32(Wt,Pt){var en="";for(var tn=0;tn>>0}return In}Wt.join32=join32;function split32(Wt,Pt){var en=new Array(Wt.length*4);for(var tn=0,nn=0;tn>>24;en[nn+1]=an>>>16&255;en[nn+2]=an>>>8&255;en[nn+3]=an&255}else{en[nn+3]=an>>>24;en[nn+2]=an>>>16&255;en[nn+1]=an>>>8&255;en[nn]=an&255}}return en}Wt.split32=split32;function rotr32(Wt,Pt){return Wt>>>Pt|Wt<<32-Pt}Wt.rotr32=rotr32;function rotl32(Wt,Pt){return Wt<>>32-Pt}Wt.rotl32=rotl32;function sum32(Wt,Pt){return Wt+Pt>>>0}Wt.sum32=sum32;function sum32_3(Wt,Pt,en){return Wt+Pt+en>>>0}Wt.sum32_3=sum32_3;function sum32_4(Wt,Pt,en,tn){return Wt+Pt+en+tn>>>0}Wt.sum32_4=sum32_4;function sum32_5(Wt,Pt,en,tn,nn){return Wt+Pt+en+tn+nn>>>0}Wt.sum32_5=sum32_5;function sum64(Wt,Pt,en,tn){var nn=Wt[Pt];var an=Wt[Pt+1];var In=tn+an>>>0;var rn=(In>>0;Wt[Pt+1]=In}Wt.sum64=sum64;function sum64_hi(Wt,Pt,en,tn){var nn=Pt+tn>>>0;var an=(nn>>0}Wt.sum64_hi=sum64_hi;function sum64_lo(Wt,Pt,en,tn){var nn=Pt+tn;return nn>>>0}Wt.sum64_lo=sum64_lo;function sum64_4_hi(Wt,Pt,en,tn,nn,an,In,rn){var sn=0;var on=Pt;on=on+tn>>>0;sn+=on>>0;sn+=on>>0;sn+=on>>0}Wt.sum64_4_hi=sum64_4_hi;function sum64_4_lo(Wt,Pt,en,tn,nn,an,In,rn){var sn=Pt+tn+an+rn;return sn>>>0}Wt.sum64_4_lo=sum64_4_lo;function sum64_5_hi(Wt,Pt,en,tn,nn,an,In,rn,sn,on){var cn=0;var dn=Pt;dn=dn+tn>>>0;cn+=dn>>0;cn+=dn>>0;cn+=dn>>0;cn+=dn>>0}Wt.sum64_5_hi=sum64_5_hi;function sum64_5_lo(Wt,Pt,en,tn,nn,an,In,rn,sn,on){var cn=Pt+tn+an+rn+on;return cn>>>0}Wt.sum64_5_lo=sum64_5_lo;function rotr64_hi(Wt,Pt,en){var tn=Pt<<32-en|Wt>>>en;return tn>>>0}Wt.rotr64_hi=rotr64_hi;function rotr64_lo(Wt,Pt,en){var tn=Wt<<32-en|Pt>>>en;return tn>>>0}Wt.rotr64_lo=rotr64_lo;function shr64_hi(Wt,Pt,en){return Wt>>>en}Wt.shr64_hi=shr64_hi;function shr64_lo(Wt,Pt,en){var tn=Wt<<32-en|Pt>>>en;return tn>>>0}Wt.shr64_lo=shr64_lo}});var nl=__commonJS({"node_modules/hash.js/lib/hash/common.js"(Wt){"use strict";var Pt=tl();var en=qn();function BlockHash(){this.pending=null;this.pendingTotal=0;this.blockSize=this.constructor.blockSize;this.outSize=this.constructor.outSize;this.hmacStrength=this.constructor.hmacStrength;this.padLength=this.constructor.padLength/8;this.endian="big";this._delta8=this.blockSize/8;this._delta32=this.blockSize/32}Wt.BlockHash=BlockHash;BlockHash.prototype.update=function update(Wt,en){Wt=Pt.toArray(Wt,en);if(!this.pending)this.pending=Wt;else this.pending=this.pending.concat(Wt);this.pendingTotal+=Wt.length;if(this.pending.length>=this._delta8){Wt=this.pending;var tn=Wt.length%this._delta8;this.pending=Wt.slice(Wt.length-tn,Wt.length);if(this.pending.length===0)this.pending=null;Wt=Pt.join32(Wt,0,Wt.length-tn,this.endian);for(var nn=0;nn>>24&255;tn[nn++]=Wt>>>16&255;tn[nn++]=Wt>>>8&255;tn[nn++]=Wt&255}else{tn[nn++]=Wt&255;tn[nn++]=Wt>>>8&255;tn[nn++]=Wt>>>16&255;tn[nn++]=Wt>>>24&255;tn[nn++]=0;tn[nn++]=0;tn[nn++]=0;tn[nn++]=0;for(an=8;an>>3}Wt.g0_256=g0_256;function g1_256(Wt){return en(Wt,17)^en(Wt,19)^Wt>>>10}Wt.g1_256=g1_256}});var al=__commonJS({"node_modules/hash.js/lib/hash/sha/1.js"(Wt,Pt){"use strict";var en=tl();var tn=nl();var nn=ll();var an=en.rotl32;var In=en.sum32;var rn=en.sum32_5;var sn=nn.ft_1;var on=tn.BlockHash;var cn=[1518500249,1859775393,2400959708,3395469782];function SHA1(){if(!(this instanceof SHA1))return new SHA1;on.call(this);this.h=[1732584193,4023233417,2562383102,271733878,3285377520];this.W=new Array(80)}en.inherits(SHA1,on);Pt.exports=SHA1;SHA1.blockSize=512;SHA1.outSize=160;SHA1.hmacStrength=80;SHA1.padLength=64;SHA1.prototype._update=function _update(Wt,Pt){var en=this.W;for(var tn=0;tn<16;tn++)en[tn]=Wt[Pt+tn];for(;tnthis.blockSize)Wt=(new this.Hash).update(Wt).digest();tn(Wt.length<=this.blockSize);for(var Pt=Wt.length;Pt0&&an[an.length-1])&&(In[0]===6||In[0]===2)){en=0;continue}if(In[0]===3&&(!an||In[1]>an[0]&&In[1]0&&an[an.length-1])&&(In[0]===6||In[0]===2)){en=0;continue}if(In[0]===3&&(!an||In[1]>an[0]&&In[1]0&&dn%1===0,"invalid connection throttle limit","connection.throttleLimit",dn);var un=typeof Wt==="object"?Wt.throttleCallback:null;var pn=typeof Wt==="object"&&typeof Wt.throttleSlotInterval==="number"?Wt.throttleSlotInterval:100;on.assertArgument(pn>0&&pn%1===0,"invalid connection throttle slot interval","connection.throttleSlotInterval",pn);var mn=typeof Wt==="object"?!!Wt.errorPassThrough:false;var bn={};var Gn=null;var hn={method:"GET"};var Zn=false;var An=2*60*1e3;if(typeof Wt==="string"){Gn=Wt}else if(typeof Wt==="object"){if(Wt==null||Wt.url==null){on.throwArgumentError("missing URL","connection.url",Wt)}Gn=Wt.url;if(typeof Wt.timeout==="number"&&Wt.timeout>0){An=Wt.timeout}if(Wt.headers){for(var Wn in Wt.headers){bn[Wn.toLowerCase()]={key:Wn,value:String(Wt.headers[Wn])};if(["if-none-match","if-modified-since"].indexOf(Wn.toLowerCase())>=0){Zn=true}}}hn.allowGzip=!!Wt.allowGzip;if(Wt.user!=null&&Wt.password!=null){if(Gn.substring(0,6)!=="https:"&&Wt.allowInsecureAuthentication!==true){on.throwError("basic authentication requires a secure https url",rn.Logger.errors.INVALID_ARGUMENT,{argument:"url",url:Gn,user:Wt.user,password:"[REDACTED]"})}var Nn=Wt.user+":"+Wt.password;bn["authorization"]={key:"Authorization",value:"Basic "+(0,tn.encode)((0,In.toUtf8Bytes)(Nn))}}if(Wt.skipFetchSetup!=null){hn.skipFetchSetup=!!Wt.skipFetchSetup}if(Wt.fetchOptions!=null){hn.fetchOptions=(0,an.shallowCopy)(Wt.fetchOptions)}}var gn=new RegExp("^data:([^;:]*)?(;base64)?,(.*)$","i");var yn=Gn?Gn.match(gn):null;if(yn){try{var vn={statusCode:200,statusMessage:"OK",headers:{"content-type":yn[1]||"text/plain"},body:yn[2]?(0,tn.decode)(yn[3]):unpercent(yn[3])};var Yn=vn.body;if(sn){Yn=sn(vn.body,vn)}return Promise.resolve(Yn)}catch(Wt){on.throwError("processing response error",rn.Logger.errors.SERVER_ERROR,{body:bodyify(yn[1],yn[2]),error:Wt,requestBody:null,requestMethod:"GET",url:Gn})}}if(nn){hn.method="POST";hn.body=nn;if(bn["content-type"]==null){bn["content-type"]={key:"Content-Type",value:"application/octet-stream"}}if(bn["content-length"]==null){bn["content-length"]={key:"Content-Length",value:String(nn.length)}}}var En={};Object.keys(bn).forEach((function(Wt){var Pt=bn[Wt];En[Pt.key]=Pt.value}));hn.headers=En;var Vn=function(){var Wt=null;var Pt=new Promise((function(Pt,en){if(An){Wt=setTimeout((function(){if(Wt==null){return}Wt=null;en(on.makeError("timeout",rn.Logger.errors.TIMEOUT,{requestBody:bodyify(hn.body,En["content-type"]),requestMethod:hn.method,timeout:An,url:Gn}))}),An)}}));var cancel=function(){if(Wt==null){return}clearTimeout(Wt);Wt=null};return{promise:Pt,cancel:cancel}}();var Rn=function(){return Pt(this,void 0,void 0,(function(){var Wt,Pt,tn,nn,an,In,bn,An,Wn,Nn,nn,gn;return en(this,(function(en){switch(en.label){case 0:Wt=0;en.label=1;case 1:if(!(Wt=300)){Vn.cancel();on.throwError("bad response",rn.Logger.errors.SERVER_ERROR,{status:Pt.statusCode,headers:Pt.headers,body:bodyify(An,Pt.headers?Pt.headers["content-type"]:null),requestBody:bodyify(hn.body,En["content-type"]),requestMethod:hn.method,url:Gn})}if(!sn)return[3,18];en.label=11;case 11:en.trys.push([11,13,,18]);return[4,sn(An,Pt)];case 12:Wn=en.sent();Vn.cancel();return[2,Wn];case 13:Nn=en.sent();if(!(Nn.throttleRetry&&WtIn){if(cancel()){tn(new Error("retry limit reached"))}return}var nn=Pt.interval*parseInt(String(Math.random()*Math.pow(2,rn)));if(nnPt.ceiling){nn=Pt.ceiling}setTimeout(check,nn)}return null}),(function(Wt){if(cancel()){tn(Wt)}}))}check()}))}Wt.poll=poll}});var Wl=__commonJS({"node_modules/bech32/index.js"(Wt,Pt){"use strict";var en="qpzry9x8gf2tvdw0s3jn54khce6mua7l";var tn={};for(an=0;an>25;return(Wt&33554431)<<5^-(Pt>>0&1)&996825010^-(Pt>>1&1)&642813549^-(Pt>>2&1)&513874426^-(Pt>>3&1)&1027748829^-(Pt>>4&1)&705979059}function prefixChk(Wt){var Pt=1;for(var en=0;en126)return"Invalid prefix ("+Wt+")";Pt=polymodStep(Pt)^tn>>5}Pt=polymodStep(Pt);for(en=0;entn)throw new TypeError("Exceeds length limit");Wt=Wt.toLowerCase();var nn=prefixChk(Wt);if(typeof nn==="string")throw new Error(nn);var an=Wt+"1";for(var In=0;In>5!==0)throw new Error("Non 5-bit word");nn=polymodStep(nn)^rn;an+=en.charAt(rn)}for(In=0;In<6;++In){nn=polymodStep(nn)}nn^=1;for(In=0;In<6;++In){var sn=nn>>(5-In)*5&31;an+=en.charAt(sn)}return an}function __decode(Wt,Pt){Pt=Pt||90;if(Wt.length<8)return Wt+" too short";if(Wt.length>Pt)return"Exceeds length limit";var en=Wt.toLowerCase();var nn=Wt.toUpperCase();if(Wt!==en&&Wt!==nn)return"Mixed-case string "+Wt;Wt=en;var an=Wt.lastIndexOf("1");if(an===-1)return"No separator character for "+Wt;if(an===0)return"Missing prefix for "+Wt;var In=Wt.slice(0,an);var rn=Wt.slice(an+1);if(rn.length<6)return"Data too short";var sn=prefixChk(In);if(typeof sn==="string")return sn;var on=[];for(var cn=0;cn=rn.length)continue;on.push(un)}if(sn!==1)return"Invalid checksum for "+Wt;return{prefix:In,words:on}}function decodeUnsafe(){var Wt=__decode.apply(null,arguments);if(typeof Wt==="object")return Wt}function decode(Wt){var Pt=__decode.apply(null,arguments);if(typeof Pt==="object")return Pt;throw new Error(Pt)}function convert(Wt,Pt,en,tn){var nn=0;var an=0;var In=(1<=en){an-=en;rn.push(nn>>an&In)}}if(tn){if(an>0){rn.push(nn<=Pt)return"Excess padding";if(nn<",license:"MIT",bugs:{url:"https://github.com/indutny/elliptic/issues"},homepage:"https://github.com/indutny/elliptic",devDependencies:{brfs:"^2.0.2",coveralls:"^3.1.0",eslint:"^7.6.0",grunt:"^1.2.1","grunt-browserify":"^5.3.0","grunt-cli":"^1.3.2","grunt-contrib-connect":"^3.0.0","grunt-contrib-copy":"^1.0.0","grunt-contrib-uglify":"^5.0.0","grunt-mocha-istanbul":"^5.0.2","grunt-saucelabs":"^9.0.1",istanbul:"^0.4.5",mocha:"^8.0.1"},dependencies:{"bn.js":"^4.11.9",brorand:"^1.1.0","hash.js":"^1.0.0","hmac-drbg":"^1.0.1",inherits:"^2.0.4","minimalistic-assert":"^1.0.1","minimalistic-crypto-utils":"^1.0.1"}}}});var yl=__commonJS({"node_modules/elliptic/node_modules/bn.js/lib/bn.js"(Wt,Pt){"use strict";(function(Wt,Pt){"use strict";function assert(Wt,Pt){if(!Wt)throw new Error(Pt||"Assertion failed")}function inherits2(Wt,Pt){Wt.super_=Pt;var TempCtor=function(){};TempCtor.prototype=Pt.prototype;Wt.prototype=new TempCtor;Wt.prototype.constructor=Wt}function BN(Wt,Pt,en){if(BN.isBN(Wt)){return Wt}this.negative=0;this.words=null;this.length=0;this.red=null;if(Wt!==null){if(Pt==="le"||Pt==="be"){en=Pt;Pt=10}this._init(Wt||0,Pt||10,en||"be")}}if(typeof Wt==="object"){Wt.exports=BN}else{Pt.BN=BN}BN.BN=BN;BN.wordSize=26;var tn;try{if(typeof window!=="undefined"&&typeof window.Buffer!=="undefined"){tn=window.Buffer}else{tn=en(20181).Buffer}}catch(Wt){}BN.isBN=function isBN(Wt){if(Wt instanceof BN){return true}return Wt!==null&&typeof Wt==="object"&&Wt.constructor.wordSize===BN.wordSize&&Array.isArray(Wt.words)};BN.max=function max(Wt,Pt){if(Wt.cmp(Pt)>0)return Wt;return Pt};BN.min=function min(Wt,Pt){if(Wt.cmp(Pt)<0)return Wt;return Pt};BN.prototype._init=function init(Wt,Pt,en){if(typeof Wt==="number"){return this._initNumber(Wt,Pt,en)}if(typeof Wt==="object"){return this._initArray(Wt,Pt,en)}if(Pt==="hex"){Pt=16}assert(Pt===(Pt|0)&&Pt>=2&&Pt<=36);Wt=Wt.toString().replace(/\s+/g,"");var tn=0;if(Wt[0]==="-"){tn++;this.negative=1}if(tn=0;tn-=3){an=Wt[tn]|Wt[tn-1]<<8|Wt[tn-2]<<16;this.words[nn]|=an<>>26-In&67108863;In+=24;if(In>=26){In-=26;nn++}}}else if(en==="le"){for(tn=0,nn=0;tn>>26-In&67108863;In+=24;if(In>=26){In-=26;nn++}}}return this.strip()};function parseHex4Bits(Wt,Pt){var en=Wt.charCodeAt(Pt);if(en>=65&&en<=70){return en-55}else if(en>=97&&en<=102){return en-87}else{return en-48&15}}function parseHexByte(Wt,Pt,en){var tn=parseHex4Bits(Wt,en);if(en-1>=Pt){tn|=parseHex4Bits(Wt,en-1)<<4}return tn}BN.prototype._parseHex=function _parseHex(Wt,Pt,en){this.length=Math.ceil((Wt.length-Pt)/6);this.words=new Array(this.length);for(var tn=0;tn=Pt;tn-=2){In=parseHexByte(Wt,Pt,tn)<=18){nn-=18;an+=1;this.words[an]|=In>>>26}else{nn+=8}}}else{var rn=Wt.length-Pt;for(tn=rn%2===0?Pt+1:Pt;tn=18){nn-=18;an+=1;this.words[an]|=In>>>26}else{nn+=8}}}this.strip()};function parseBase(Wt,Pt,en,tn){var nn=0;var an=Math.min(Wt.length,en);for(var In=Pt;In=49){nn+=rn-49+10}else if(rn>=17){nn+=rn-17+10}else{nn+=rn}}return nn}BN.prototype._parseBase=function _parseBase(Wt,Pt,en){this.words=[0];this.length=1;for(var tn=0,nn=1;nn<=67108863;nn*=Pt){tn++}tn--;nn=nn/Pt|0;var an=Wt.length-en;var In=an%tn;var rn=Math.min(an,an-In)+en;var sn=0;for(var on=en;on1&&this.words[this.length-1]===0){this.length--}return this._normSign()};BN.prototype._normSign=function _normSign(){if(this.length===1&&this.words[0]===0){this.negative=0}return this};BN.prototype.inspect=function inspect(){return(this.red?""};var nn=["","0","00","000","0000","00000","000000","0000000","00000000","000000000","0000000000","00000000000","000000000000","0000000000000","00000000000000","000000000000000","0000000000000000","00000000000000000","000000000000000000","0000000000000000000","00000000000000000000","000000000000000000000","0000000000000000000000","00000000000000000000000","000000000000000000000000","0000000000000000000000000"];var an=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5];var In=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];BN.prototype.toString=function toString3(Wt,Pt){Wt=Wt||10;Pt=Pt|0||1;var en;if(Wt===16||Wt==="hex"){en="";var tn=0;var rn=0;for(var sn=0;sn>>24-tn&16777215;if(rn!==0||sn!==this.length-1){en=nn[6-cn.length]+cn+en}else{en=cn+en}tn+=2;if(tn>=26){tn-=26;sn--}}if(rn!==0){en=rn.toString(16)+en}while(en.length%Pt!==0){en="0"+en}if(this.negative!==0){en="-"+en}return en}if(Wt===(Wt|0)&&Wt>=2&&Wt<=36){var dn=an[Wt];var un=In[Wt];en="";var pn=this.clone();pn.negative=0;while(!pn.isZero()){var mn=pn.modn(un).toString(Wt);pn=pn.idivn(un);if(!pn.isZero()){en=nn[dn-mn.length]+mn+en}else{en=mn+en}}if(this.isZero()){en="0"+en}while(en.length%Pt!==0){en="0"+en}if(this.negative!==0){en="-"+en}return en}assert(false,"Base should be between 2 and 36")};BN.prototype.toNumber=function toNumber(){var Wt=this.words[0];if(this.length===2){Wt+=this.words[1]*67108864}else if(this.length===3&&this.words[2]===1){Wt+=4503599627370496+this.words[1]*67108864}else if(this.length>2){assert(false,"Number can only safely store up to 53 bits")}return this.negative!==0?-Wt:Wt};BN.prototype.toJSON=function toJSON2(){return this.toString(16)};BN.prototype.toBuffer=function toBuffer(Wt,Pt){assert(typeof tn!=="undefined");return this.toArrayLike(tn,Wt,Pt)};BN.prototype.toArray=function toArray2(Wt,Pt){return this.toArrayLike(Array,Wt,Pt)};BN.prototype.toArrayLike=function toArrayLike(Wt,Pt,en){var tn=this.byteLength();var nn=en||Math.max(1,tn);assert(tn<=nn,"byte array longer than desired length");assert(nn>0,"Requested array length <= 0");this.strip();var an=Pt==="le";var In=new Wt(nn);var rn,sn;var on=this.clone();if(!an){for(sn=0;sn=4096){en+=13;Pt>>>=13}if(Pt>=64){en+=7;Pt>>>=7}if(Pt>=8){en+=4;Pt>>>=4}if(Pt>=2){en+=2;Pt>>>=2}return en+Pt}}BN.prototype._zeroBits=function _zeroBits(Wt){if(Wt===0)return 26;var Pt=Wt;var en=0;if((Pt&8191)===0){en+=13;Pt>>>=13}if((Pt&127)===0){en+=7;Pt>>>=7}if((Pt&15)===0){en+=4;Pt>>>=4}if((Pt&3)===0){en+=2;Pt>>>=2}if((Pt&1)===0){en++}return en};BN.prototype.bitLength=function bitLength(){var Wt=this.words[this.length-1];var Pt=this._countBits(Wt);return(this.length-1)*26+Pt};function toBitArray(Wt){var Pt=new Array(Wt.bitLength());for(var en=0;en>>nn}return Pt}BN.prototype.zeroBits=function zeroBits(){if(this.isZero())return 0;var Wt=0;for(var Pt=0;PtWt.length)return this.clone().ior(Wt);return Wt.clone().ior(this)};BN.prototype.uor=function uor(Wt){if(this.length>Wt.length)return this.clone().iuor(Wt);return Wt.clone().iuor(this)};BN.prototype.iuand=function iuand(Wt){var Pt;if(this.length>Wt.length){Pt=Wt}else{Pt=this}for(var en=0;enWt.length)return this.clone().iand(Wt);return Wt.clone().iand(this)};BN.prototype.uand=function uand(Wt){if(this.length>Wt.length)return this.clone().iuand(Wt);return Wt.clone().iuand(this)};BN.prototype.iuxor=function iuxor(Wt){var Pt;var en;if(this.length>Wt.length){Pt=this;en=Wt}else{Pt=Wt;en=this}for(var tn=0;tnWt.length)return this.clone().ixor(Wt);return Wt.clone().ixor(this)};BN.prototype.uxor=function uxor(Wt){if(this.length>Wt.length)return this.clone().iuxor(Wt);return Wt.clone().iuxor(this)};BN.prototype.inotn=function inotn(Wt){assert(typeof Wt==="number"&&Wt>=0);var Pt=Math.ceil(Wt/26)|0;var en=Wt%26;this._expand(Pt);if(en>0){Pt--}for(var tn=0;tn0){this.words[tn]=~this.words[tn]&67108863>>26-en}return this.strip()};BN.prototype.notn=function notn(Wt){return this.clone().inotn(Wt)};BN.prototype.setn=function setn(Wt,Pt){assert(typeof Wt==="number"&&Wt>=0);var en=Wt/26|0;var tn=Wt%26;this._expand(en+1);if(Pt){this.words[en]=this.words[en]|1<Wt.length){en=this;tn=Wt}else{en=Wt;tn=this}var nn=0;for(var an=0;an>>26}for(;nn!==0&&an>>26}this.length=en.length;if(nn!==0){this.words[this.length]=nn;this.length++}else if(en!==this){for(;anWt.length)return this.clone().iadd(Wt);return Wt.clone().iadd(this)};BN.prototype.isub=function isub(Wt){if(Wt.negative!==0){Wt.negative=0;var Pt=this.iadd(Wt);Wt.negative=1;return Pt._normSign()}else if(this.negative!==0){this.negative=0;this.iadd(Wt);this.negative=1;return this._normSign()}var en=this.cmp(Wt);if(en===0){this.negative=0;this.length=1;this.words[0]=0;return this}var tn,nn;if(en>0){tn=this;nn=Wt}else{tn=Wt;nn=this}var an=0;for(var In=0;In>26;this.words[In]=Pt&67108863}for(;an!==0&&In>26;this.words[In]=Pt&67108863}if(an===0&&In>>26;var dn=sn&67108863;var un=Math.min(on,Pt.length-1);for(var pn=Math.max(0,on-Wt.length+1);pn<=un;pn++){var mn=on-pn|0;nn=Wt.words[mn]|0;an=Pt.words[pn]|0;In=nn*an+dn;cn+=In/67108864|0;dn=In&67108863}en.words[on]=dn|0;sn=cn|0}if(sn!==0){en.words[on]=sn|0}else{en.length--}return en.strip()}var rn=function comb10MulTo2(Wt,Pt,en){var tn=Wt.words;var nn=Pt.words;var an=en.words;var In=0;var rn;var sn;var on;var cn=tn[0]|0;var dn=cn&8191;var un=cn>>>13;var pn=tn[1]|0;var mn=pn&8191;var bn=pn>>>13;var Gn=tn[2]|0;var hn=Gn&8191;var Zn=Gn>>>13;var An=tn[3]|0;var Wn=An&8191;var Nn=An>>>13;var gn=tn[4]|0;var yn=gn&8191;var vn=gn>>>13;var Yn=tn[5]|0;var En=Yn&8191;var Vn=Yn>>>13;var Rn=tn[6]|0;var wn=Rn&8191;var Fn=Rn>>>13;var Qn=tn[7]|0;var fn=Qn&8191;var Hn=Qn>>>13;var Cn=tn[8]|0;var Xn=Cn&8191;var kn=Cn>>>13;var Jn=tn[9]|0;var Ln=Jn&8191;var Bn=Jn>>>13;var xn=nn[0]|0;var On=xn&8191;var Tn=xn>>>13;var Un=nn[1]|0;var Mn=Un&8191;var zn=Un>>>13;var Sn=nn[2]|0;var Dn=Sn&8191;var jn=Sn>>>13;var _n=nn[3]|0;var Kn=_n&8191;var Pn=_n>>>13;var qn=nn[4]|0;var $n=qn&8191;var el=qn>>>13;var tl=nn[5]|0;var nl=tl&8191;var ll=tl>>>13;var al=nn[6]|0;var Il=al&8191;var rl=al>>>13;var sl=nn[7]|0;var ol=sl&8191;var cl=sl>>>13;var il=nn[8]|0;var dl=il&8191;var ul=il>>>13;var pl=nn[9]|0;var ml=pl&8191;var bl=pl>>>13;en.negative=Wt.negative^Pt.negative;en.length=19;rn=Math.imul(dn,On);sn=Math.imul(dn,Tn);sn=sn+Math.imul(un,On)|0;on=Math.imul(un,Tn);var Gl=(In+rn|0)+((sn&8191)<<13)|0;In=(on+(sn>>>13)|0)+(Gl>>>26)|0;Gl&=67108863;rn=Math.imul(mn,On);sn=Math.imul(mn,Tn);sn=sn+Math.imul(bn,On)|0;on=Math.imul(bn,Tn);rn=rn+Math.imul(dn,Mn)|0;sn=sn+Math.imul(dn,zn)|0;sn=sn+Math.imul(un,Mn)|0;on=on+Math.imul(un,zn)|0;var hl=(In+rn|0)+((sn&8191)<<13)|0;In=(on+(sn>>>13)|0)+(hl>>>26)|0;hl&=67108863;rn=Math.imul(hn,On);sn=Math.imul(hn,Tn);sn=sn+Math.imul(Zn,On)|0;on=Math.imul(Zn,Tn);rn=rn+Math.imul(mn,Mn)|0;sn=sn+Math.imul(mn,zn)|0;sn=sn+Math.imul(bn,Mn)|0;on=on+Math.imul(bn,zn)|0;rn=rn+Math.imul(dn,Dn)|0;sn=sn+Math.imul(dn,jn)|0;sn=sn+Math.imul(un,Dn)|0;on=on+Math.imul(un,jn)|0;var Zl=(In+rn|0)+((sn&8191)<<13)|0;In=(on+(sn>>>13)|0)+(Zl>>>26)|0;Zl&=67108863;rn=Math.imul(Wn,On);sn=Math.imul(Wn,Tn);sn=sn+Math.imul(Nn,On)|0;on=Math.imul(Nn,Tn);rn=rn+Math.imul(hn,Mn)|0;sn=sn+Math.imul(hn,zn)|0;sn=sn+Math.imul(Zn,Mn)|0;on=on+Math.imul(Zn,zn)|0;rn=rn+Math.imul(mn,Dn)|0;sn=sn+Math.imul(mn,jn)|0;sn=sn+Math.imul(bn,Dn)|0;on=on+Math.imul(bn,jn)|0;rn=rn+Math.imul(dn,Kn)|0;sn=sn+Math.imul(dn,Pn)|0;sn=sn+Math.imul(un,Kn)|0;on=on+Math.imul(un,Pn)|0;var Al=(In+rn|0)+((sn&8191)<<13)|0;In=(on+(sn>>>13)|0)+(Al>>>26)|0;Al&=67108863;rn=Math.imul(yn,On);sn=Math.imul(yn,Tn);sn=sn+Math.imul(vn,On)|0;on=Math.imul(vn,Tn);rn=rn+Math.imul(Wn,Mn)|0;sn=sn+Math.imul(Wn,zn)|0;sn=sn+Math.imul(Nn,Mn)|0;on=on+Math.imul(Nn,zn)|0;rn=rn+Math.imul(hn,Dn)|0;sn=sn+Math.imul(hn,jn)|0;sn=sn+Math.imul(Zn,Dn)|0;on=on+Math.imul(Zn,jn)|0;rn=rn+Math.imul(mn,Kn)|0;sn=sn+Math.imul(mn,Pn)|0;sn=sn+Math.imul(bn,Kn)|0;on=on+Math.imul(bn,Pn)|0;rn=rn+Math.imul(dn,$n)|0;sn=sn+Math.imul(dn,el)|0;sn=sn+Math.imul(un,$n)|0;on=on+Math.imul(un,el)|0;var Wl=(In+rn|0)+((sn&8191)<<13)|0;In=(on+(sn>>>13)|0)+(Wl>>>26)|0;Wl&=67108863;rn=Math.imul(En,On);sn=Math.imul(En,Tn);sn=sn+Math.imul(Vn,On)|0;on=Math.imul(Vn,Tn);rn=rn+Math.imul(yn,Mn)|0;sn=sn+Math.imul(yn,zn)|0;sn=sn+Math.imul(vn,Mn)|0;on=on+Math.imul(vn,zn)|0;rn=rn+Math.imul(Wn,Dn)|0;sn=sn+Math.imul(Wn,jn)|0;sn=sn+Math.imul(Nn,Dn)|0;on=on+Math.imul(Nn,jn)|0;rn=rn+Math.imul(hn,Kn)|0;sn=sn+Math.imul(hn,Pn)|0;sn=sn+Math.imul(Zn,Kn)|0;on=on+Math.imul(Zn,Pn)|0;rn=rn+Math.imul(mn,$n)|0;sn=sn+Math.imul(mn,el)|0;sn=sn+Math.imul(bn,$n)|0;on=on+Math.imul(bn,el)|0;rn=rn+Math.imul(dn,nl)|0;sn=sn+Math.imul(dn,ll)|0;sn=sn+Math.imul(un,nl)|0;on=on+Math.imul(un,ll)|0;var Nl=(In+rn|0)+((sn&8191)<<13)|0;In=(on+(sn>>>13)|0)+(Nl>>>26)|0;Nl&=67108863;rn=Math.imul(wn,On);sn=Math.imul(wn,Tn);sn=sn+Math.imul(Fn,On)|0;on=Math.imul(Fn,Tn);rn=rn+Math.imul(En,Mn)|0;sn=sn+Math.imul(En,zn)|0;sn=sn+Math.imul(Vn,Mn)|0;on=on+Math.imul(Vn,zn)|0;rn=rn+Math.imul(yn,Dn)|0;sn=sn+Math.imul(yn,jn)|0;sn=sn+Math.imul(vn,Dn)|0;on=on+Math.imul(vn,jn)|0;rn=rn+Math.imul(Wn,Kn)|0;sn=sn+Math.imul(Wn,Pn)|0;sn=sn+Math.imul(Nn,Kn)|0;on=on+Math.imul(Nn,Pn)|0;rn=rn+Math.imul(hn,$n)|0;sn=sn+Math.imul(hn,el)|0;sn=sn+Math.imul(Zn,$n)|0;on=on+Math.imul(Zn,el)|0;rn=rn+Math.imul(mn,nl)|0;sn=sn+Math.imul(mn,ll)|0;sn=sn+Math.imul(bn,nl)|0;on=on+Math.imul(bn,ll)|0;rn=rn+Math.imul(dn,Il)|0;sn=sn+Math.imul(dn,rl)|0;sn=sn+Math.imul(un,Il)|0;on=on+Math.imul(un,rl)|0;var gl=(In+rn|0)+((sn&8191)<<13)|0;In=(on+(sn>>>13)|0)+(gl>>>26)|0;gl&=67108863;rn=Math.imul(fn,On);sn=Math.imul(fn,Tn);sn=sn+Math.imul(Hn,On)|0;on=Math.imul(Hn,Tn);rn=rn+Math.imul(wn,Mn)|0;sn=sn+Math.imul(wn,zn)|0;sn=sn+Math.imul(Fn,Mn)|0;on=on+Math.imul(Fn,zn)|0;rn=rn+Math.imul(En,Dn)|0;sn=sn+Math.imul(En,jn)|0;sn=sn+Math.imul(Vn,Dn)|0;on=on+Math.imul(Vn,jn)|0;rn=rn+Math.imul(yn,Kn)|0;sn=sn+Math.imul(yn,Pn)|0;sn=sn+Math.imul(vn,Kn)|0;on=on+Math.imul(vn,Pn)|0;rn=rn+Math.imul(Wn,$n)|0;sn=sn+Math.imul(Wn,el)|0;sn=sn+Math.imul(Nn,$n)|0;on=on+Math.imul(Nn,el)|0;rn=rn+Math.imul(hn,nl)|0;sn=sn+Math.imul(hn,ll)|0;sn=sn+Math.imul(Zn,nl)|0;on=on+Math.imul(Zn,ll)|0;rn=rn+Math.imul(mn,Il)|0;sn=sn+Math.imul(mn,rl)|0;sn=sn+Math.imul(bn,Il)|0;on=on+Math.imul(bn,rl)|0;rn=rn+Math.imul(dn,ol)|0;sn=sn+Math.imul(dn,cl)|0;sn=sn+Math.imul(un,ol)|0;on=on+Math.imul(un,cl)|0;var yl=(In+rn|0)+((sn&8191)<<13)|0;In=(on+(sn>>>13)|0)+(yl>>>26)|0;yl&=67108863;rn=Math.imul(Xn,On);sn=Math.imul(Xn,Tn);sn=sn+Math.imul(kn,On)|0;on=Math.imul(kn,Tn);rn=rn+Math.imul(fn,Mn)|0;sn=sn+Math.imul(fn,zn)|0;sn=sn+Math.imul(Hn,Mn)|0;on=on+Math.imul(Hn,zn)|0;rn=rn+Math.imul(wn,Dn)|0;sn=sn+Math.imul(wn,jn)|0;sn=sn+Math.imul(Fn,Dn)|0;on=on+Math.imul(Fn,jn)|0;rn=rn+Math.imul(En,Kn)|0;sn=sn+Math.imul(En,Pn)|0;sn=sn+Math.imul(Vn,Kn)|0;on=on+Math.imul(Vn,Pn)|0;rn=rn+Math.imul(yn,$n)|0;sn=sn+Math.imul(yn,el)|0;sn=sn+Math.imul(vn,$n)|0;on=on+Math.imul(vn,el)|0;rn=rn+Math.imul(Wn,nl)|0;sn=sn+Math.imul(Wn,ll)|0;sn=sn+Math.imul(Nn,nl)|0;on=on+Math.imul(Nn,ll)|0;rn=rn+Math.imul(hn,Il)|0;sn=sn+Math.imul(hn,rl)|0;sn=sn+Math.imul(Zn,Il)|0;on=on+Math.imul(Zn,rl)|0;rn=rn+Math.imul(mn,ol)|0;sn=sn+Math.imul(mn,cl)|0;sn=sn+Math.imul(bn,ol)|0;on=on+Math.imul(bn,cl)|0;rn=rn+Math.imul(dn,dl)|0;sn=sn+Math.imul(dn,ul)|0;sn=sn+Math.imul(un,dl)|0;on=on+Math.imul(un,ul)|0;var vl=(In+rn|0)+((sn&8191)<<13)|0;In=(on+(sn>>>13)|0)+(vl>>>26)|0;vl&=67108863;rn=Math.imul(Ln,On);sn=Math.imul(Ln,Tn);sn=sn+Math.imul(Bn,On)|0;on=Math.imul(Bn,Tn);rn=rn+Math.imul(Xn,Mn)|0;sn=sn+Math.imul(Xn,zn)|0;sn=sn+Math.imul(kn,Mn)|0;on=on+Math.imul(kn,zn)|0;rn=rn+Math.imul(fn,Dn)|0;sn=sn+Math.imul(fn,jn)|0;sn=sn+Math.imul(Hn,Dn)|0;on=on+Math.imul(Hn,jn)|0;rn=rn+Math.imul(wn,Kn)|0;sn=sn+Math.imul(wn,Pn)|0;sn=sn+Math.imul(Fn,Kn)|0;on=on+Math.imul(Fn,Pn)|0;rn=rn+Math.imul(En,$n)|0;sn=sn+Math.imul(En,el)|0;sn=sn+Math.imul(Vn,$n)|0;on=on+Math.imul(Vn,el)|0;rn=rn+Math.imul(yn,nl)|0;sn=sn+Math.imul(yn,ll)|0;sn=sn+Math.imul(vn,nl)|0;on=on+Math.imul(vn,ll)|0;rn=rn+Math.imul(Wn,Il)|0;sn=sn+Math.imul(Wn,rl)|0;sn=sn+Math.imul(Nn,Il)|0;on=on+Math.imul(Nn,rl)|0;rn=rn+Math.imul(hn,ol)|0;sn=sn+Math.imul(hn,cl)|0;sn=sn+Math.imul(Zn,ol)|0;on=on+Math.imul(Zn,cl)|0;rn=rn+Math.imul(mn,dl)|0;sn=sn+Math.imul(mn,ul)|0;sn=sn+Math.imul(bn,dl)|0;on=on+Math.imul(bn,ul)|0;rn=rn+Math.imul(dn,ml)|0;sn=sn+Math.imul(dn,bl)|0;sn=sn+Math.imul(un,ml)|0;on=on+Math.imul(un,bl)|0;var Yl=(In+rn|0)+((sn&8191)<<13)|0;In=(on+(sn>>>13)|0)+(Yl>>>26)|0;Yl&=67108863;rn=Math.imul(Ln,Mn);sn=Math.imul(Ln,zn);sn=sn+Math.imul(Bn,Mn)|0;on=Math.imul(Bn,zn);rn=rn+Math.imul(Xn,Dn)|0;sn=sn+Math.imul(Xn,jn)|0;sn=sn+Math.imul(kn,Dn)|0;on=on+Math.imul(kn,jn)|0;rn=rn+Math.imul(fn,Kn)|0;sn=sn+Math.imul(fn,Pn)|0;sn=sn+Math.imul(Hn,Kn)|0;on=on+Math.imul(Hn,Pn)|0;rn=rn+Math.imul(wn,$n)|0;sn=sn+Math.imul(wn,el)|0;sn=sn+Math.imul(Fn,$n)|0;on=on+Math.imul(Fn,el)|0;rn=rn+Math.imul(En,nl)|0;sn=sn+Math.imul(En,ll)|0;sn=sn+Math.imul(Vn,nl)|0;on=on+Math.imul(Vn,ll)|0;rn=rn+Math.imul(yn,Il)|0;sn=sn+Math.imul(yn,rl)|0;sn=sn+Math.imul(vn,Il)|0;on=on+Math.imul(vn,rl)|0;rn=rn+Math.imul(Wn,ol)|0;sn=sn+Math.imul(Wn,cl)|0;sn=sn+Math.imul(Nn,ol)|0;on=on+Math.imul(Nn,cl)|0;rn=rn+Math.imul(hn,dl)|0;sn=sn+Math.imul(hn,ul)|0;sn=sn+Math.imul(Zn,dl)|0;on=on+Math.imul(Zn,ul)|0;rn=rn+Math.imul(mn,ml)|0;sn=sn+Math.imul(mn,bl)|0;sn=sn+Math.imul(bn,ml)|0;on=on+Math.imul(bn,bl)|0;var El=(In+rn|0)+((sn&8191)<<13)|0;In=(on+(sn>>>13)|0)+(El>>>26)|0;El&=67108863;rn=Math.imul(Ln,Dn);sn=Math.imul(Ln,jn);sn=sn+Math.imul(Bn,Dn)|0;on=Math.imul(Bn,jn);rn=rn+Math.imul(Xn,Kn)|0;sn=sn+Math.imul(Xn,Pn)|0;sn=sn+Math.imul(kn,Kn)|0;on=on+Math.imul(kn,Pn)|0;rn=rn+Math.imul(fn,$n)|0;sn=sn+Math.imul(fn,el)|0;sn=sn+Math.imul(Hn,$n)|0;on=on+Math.imul(Hn,el)|0;rn=rn+Math.imul(wn,nl)|0;sn=sn+Math.imul(wn,ll)|0;sn=sn+Math.imul(Fn,nl)|0;on=on+Math.imul(Fn,ll)|0;rn=rn+Math.imul(En,Il)|0;sn=sn+Math.imul(En,rl)|0;sn=sn+Math.imul(Vn,Il)|0;on=on+Math.imul(Vn,rl)|0;rn=rn+Math.imul(yn,ol)|0;sn=sn+Math.imul(yn,cl)|0;sn=sn+Math.imul(vn,ol)|0;on=on+Math.imul(vn,cl)|0;rn=rn+Math.imul(Wn,dl)|0;sn=sn+Math.imul(Wn,ul)|0;sn=sn+Math.imul(Nn,dl)|0;on=on+Math.imul(Nn,ul)|0;rn=rn+Math.imul(hn,ml)|0;sn=sn+Math.imul(hn,bl)|0;sn=sn+Math.imul(Zn,ml)|0;on=on+Math.imul(Zn,bl)|0;var Vl=(In+rn|0)+((sn&8191)<<13)|0;In=(on+(sn>>>13)|0)+(Vl>>>26)|0;Vl&=67108863;rn=Math.imul(Ln,Kn);sn=Math.imul(Ln,Pn);sn=sn+Math.imul(Bn,Kn)|0;on=Math.imul(Bn,Pn);rn=rn+Math.imul(Xn,$n)|0;sn=sn+Math.imul(Xn,el)|0;sn=sn+Math.imul(kn,$n)|0;on=on+Math.imul(kn,el)|0;rn=rn+Math.imul(fn,nl)|0;sn=sn+Math.imul(fn,ll)|0;sn=sn+Math.imul(Hn,nl)|0;on=on+Math.imul(Hn,ll)|0;rn=rn+Math.imul(wn,Il)|0;sn=sn+Math.imul(wn,rl)|0;sn=sn+Math.imul(Fn,Il)|0;on=on+Math.imul(Fn,rl)|0;rn=rn+Math.imul(En,ol)|0;sn=sn+Math.imul(En,cl)|0;sn=sn+Math.imul(Vn,ol)|0;on=on+Math.imul(Vn,cl)|0;rn=rn+Math.imul(yn,dl)|0;sn=sn+Math.imul(yn,ul)|0;sn=sn+Math.imul(vn,dl)|0;on=on+Math.imul(vn,ul)|0;rn=rn+Math.imul(Wn,ml)|0;sn=sn+Math.imul(Wn,bl)|0;sn=sn+Math.imul(Nn,ml)|0;on=on+Math.imul(Nn,bl)|0;var Rl=(In+rn|0)+((sn&8191)<<13)|0;In=(on+(sn>>>13)|0)+(Rl>>>26)|0;Rl&=67108863;rn=Math.imul(Ln,$n);sn=Math.imul(Ln,el);sn=sn+Math.imul(Bn,$n)|0;on=Math.imul(Bn,el);rn=rn+Math.imul(Xn,nl)|0;sn=sn+Math.imul(Xn,ll)|0;sn=sn+Math.imul(kn,nl)|0;on=on+Math.imul(kn,ll)|0;rn=rn+Math.imul(fn,Il)|0;sn=sn+Math.imul(fn,rl)|0;sn=sn+Math.imul(Hn,Il)|0;on=on+Math.imul(Hn,rl)|0;rn=rn+Math.imul(wn,ol)|0;sn=sn+Math.imul(wn,cl)|0;sn=sn+Math.imul(Fn,ol)|0;on=on+Math.imul(Fn,cl)|0;rn=rn+Math.imul(En,dl)|0;sn=sn+Math.imul(En,ul)|0;sn=sn+Math.imul(Vn,dl)|0;on=on+Math.imul(Vn,ul)|0;rn=rn+Math.imul(yn,ml)|0;sn=sn+Math.imul(yn,bl)|0;sn=sn+Math.imul(vn,ml)|0;on=on+Math.imul(vn,bl)|0;var wl=(In+rn|0)+((sn&8191)<<13)|0;In=(on+(sn>>>13)|0)+(wl>>>26)|0;wl&=67108863;rn=Math.imul(Ln,nl);sn=Math.imul(Ln,ll);sn=sn+Math.imul(Bn,nl)|0;on=Math.imul(Bn,ll);rn=rn+Math.imul(Xn,Il)|0;sn=sn+Math.imul(Xn,rl)|0;sn=sn+Math.imul(kn,Il)|0;on=on+Math.imul(kn,rl)|0;rn=rn+Math.imul(fn,ol)|0;sn=sn+Math.imul(fn,cl)|0;sn=sn+Math.imul(Hn,ol)|0;on=on+Math.imul(Hn,cl)|0;rn=rn+Math.imul(wn,dl)|0;sn=sn+Math.imul(wn,ul)|0;sn=sn+Math.imul(Fn,dl)|0;on=on+Math.imul(Fn,ul)|0;rn=rn+Math.imul(En,ml)|0;sn=sn+Math.imul(En,bl)|0;sn=sn+Math.imul(Vn,ml)|0;on=on+Math.imul(Vn,bl)|0;var Fl=(In+rn|0)+((sn&8191)<<13)|0;In=(on+(sn>>>13)|0)+(Fl>>>26)|0;Fl&=67108863;rn=Math.imul(Ln,Il);sn=Math.imul(Ln,rl);sn=sn+Math.imul(Bn,Il)|0;on=Math.imul(Bn,rl);rn=rn+Math.imul(Xn,ol)|0;sn=sn+Math.imul(Xn,cl)|0;sn=sn+Math.imul(kn,ol)|0;on=on+Math.imul(kn,cl)|0;rn=rn+Math.imul(fn,dl)|0;sn=sn+Math.imul(fn,ul)|0;sn=sn+Math.imul(Hn,dl)|0;on=on+Math.imul(Hn,ul)|0;rn=rn+Math.imul(wn,ml)|0;sn=sn+Math.imul(wn,bl)|0;sn=sn+Math.imul(Fn,ml)|0;on=on+Math.imul(Fn,bl)|0;var Ql=(In+rn|0)+((sn&8191)<<13)|0;In=(on+(sn>>>13)|0)+(Ql>>>26)|0;Ql&=67108863;rn=Math.imul(Ln,ol);sn=Math.imul(Ln,cl);sn=sn+Math.imul(Bn,ol)|0;on=Math.imul(Bn,cl);rn=rn+Math.imul(Xn,dl)|0;sn=sn+Math.imul(Xn,ul)|0;sn=sn+Math.imul(kn,dl)|0;on=on+Math.imul(kn,ul)|0;rn=rn+Math.imul(fn,ml)|0;sn=sn+Math.imul(fn,bl)|0;sn=sn+Math.imul(Hn,ml)|0;on=on+Math.imul(Hn,bl)|0;var fl=(In+rn|0)+((sn&8191)<<13)|0;In=(on+(sn>>>13)|0)+(fl>>>26)|0;fl&=67108863;rn=Math.imul(Ln,dl);sn=Math.imul(Ln,ul);sn=sn+Math.imul(Bn,dl)|0;on=Math.imul(Bn,ul);rn=rn+Math.imul(Xn,ml)|0;sn=sn+Math.imul(Xn,bl)|0;sn=sn+Math.imul(kn,ml)|0;on=on+Math.imul(kn,bl)|0;var Hl=(In+rn|0)+((sn&8191)<<13)|0;In=(on+(sn>>>13)|0)+(Hl>>>26)|0;Hl&=67108863;rn=Math.imul(Ln,ml);sn=Math.imul(Ln,bl);sn=sn+Math.imul(Bn,ml)|0;on=Math.imul(Bn,bl);var Cl=(In+rn|0)+((sn&8191)<<13)|0;In=(on+(sn>>>13)|0)+(Cl>>>26)|0;Cl&=67108863;an[0]=Gl;an[1]=hl;an[2]=Zl;an[3]=Al;an[4]=Wl;an[5]=Nl;an[6]=gl;an[7]=yl;an[8]=vl;an[9]=Yl;an[10]=El;an[11]=Vl;an[12]=Rl;an[13]=wl;an[14]=Fl;an[15]=Ql;an[16]=fl;an[17]=Hl;an[18]=Cl;if(In!==0){an[19]=In;en.length++}return en};if(!Math.imul){rn=smallMulTo}function bigMulTo(Wt,Pt,en){en.negative=Pt.negative^Wt.negative;en.length=Wt.length+Pt.length;var tn=0;var nn=0;for(var an=0;an>>26)|0;nn+=In>>>26;In&=67108863}en.words[an]=rn;tn=In;In=nn}if(tn!==0){en.words[an]=tn}else{en.length--}return en.strip()}function jumboMulTo(Wt,Pt,en){var tn=new FFTM;return tn.mulp(Wt,Pt,en)}BN.prototype.mulTo=function mulTo(Wt,Pt){var en;var tn=this.length+Wt.length;if(this.length===10&&Wt.length===10){en=rn(this,Wt,Pt)}else if(tn<63){en=smallMulTo(this,Wt,Pt)}else if(tn<1024){en=bigMulTo(this,Wt,Pt)}else{en=jumboMulTo(this,Wt,Pt)}return en};function FFTM(Wt,Pt){this.x=Wt;this.y=Pt}FFTM.prototype.makeRBT=function makeRBT(Wt){var Pt=new Array(Wt);var en=BN.prototype._countBits(Wt)-1;for(var tn=0;tn>=1}return tn};FFTM.prototype.permute=function permute(Wt,Pt,en,tn,nn,an){for(var In=0;In>>1){nn++}return 1<>>13;en[2*an+1]=nn&8191;nn=nn>>>13}for(an=2*Pt;an>=26;Pt+=tn/67108864|0;Pt+=nn>>>26;this.words[en]=nn&67108863}if(Pt!==0){this.words[en]=Pt;this.length++}return this};BN.prototype.muln=function muln(Wt){return this.clone().imuln(Wt)};BN.prototype.sqr=function sqr(){return this.mul(this)};BN.prototype.isqr=function isqr(){return this.imul(this.clone())};BN.prototype.pow=function pow(Wt){var Pt=toBitArray(Wt);if(Pt.length===0)return new BN(1);var en=this;for(var tn=0;tn=0);var Pt=Wt%26;var en=(Wt-Pt)/26;var tn=67108863>>>26-Pt<<26-Pt;var nn;if(Pt!==0){var an=0;for(nn=0;nn>>26-Pt}if(an){this.words[nn]=an;this.length++}}if(en!==0){for(nn=this.length-1;nn>=0;nn--){this.words[nn+en]=this.words[nn]}for(nn=0;nn=0);var tn;if(Pt){tn=(Pt-Pt%26)/26}else{tn=0}var nn=Wt%26;var an=Math.min((Wt-nn)/26,this.length);var In=67108863^67108863>>>nn<an){this.length-=an;for(sn=0;sn=0&&(on!==0||sn>=tn);sn--){var cn=this.words[sn]|0;this.words[sn]=on<<26-nn|cn>>>nn;on=cn&In}if(rn&&on!==0){rn.words[rn.length++]=on}if(this.length===0){this.words[0]=0;this.length=1}return this.strip()};BN.prototype.ishrn=function ishrn(Wt,Pt,en){assert(this.negative===0);return this.iushrn(Wt,Pt,en)};BN.prototype.shln=function shln(Wt){return this.clone().ishln(Wt)};BN.prototype.ushln=function ushln(Wt){return this.clone().iushln(Wt)};BN.prototype.shrn=function shrn(Wt){return this.clone().ishrn(Wt)};BN.prototype.ushrn=function ushrn(Wt){return this.clone().iushrn(Wt)};BN.prototype.testn=function testn(Wt){assert(typeof Wt==="number"&&Wt>=0);var Pt=Wt%26;var en=(Wt-Pt)/26;var tn=1<=0);var Pt=Wt%26;var en=(Wt-Pt)/26;assert(this.negative===0,"imaskn works only with positive numbers");if(this.length<=en){return this}if(Pt!==0){en++}this.length=Math.min(en,this.length);if(Pt!==0){var tn=67108863^67108863>>>Pt<=67108864;Pt++){this.words[Pt]-=67108864;if(Pt===this.length-1){this.words[Pt+1]=1}else{this.words[Pt+1]++}}this.length=Math.max(this.length,Pt+1);return this};BN.prototype.isubn=function isubn(Wt){assert(typeof Wt==="number");assert(Wt<67108864);if(Wt<0)return this.iaddn(-Wt);if(this.negative!==0){this.negative=0;this.iaddn(Wt);this.negative=1;return this}this.words[0]-=Wt;if(this.length===1&&this.words[0]<0){this.words[0]=-this.words[0];this.negative=1}else{for(var Pt=0;Pt>26)-(rn/67108864|0);this.words[nn+en]=an&67108863}for(;nn>26;this.words[nn+en]=an&67108863}if(In===0)return this.strip();assert(In===-1);In=0;for(nn=0;nn>26;this.words[nn]=an&67108863}this.negative=1;return this.strip()};BN.prototype._wordDiv=function _wordDiv(Wt,Pt){var en=this.length-Wt.length;var tn=this.clone();var nn=Wt;var an=nn.words[nn.length-1]|0;var In=this._countBits(an);en=26-In;if(en!==0){nn=nn.ushln(en);tn.iushln(en);an=nn.words[nn.length-1]|0}var rn=tn.length-nn.length;var sn;if(Pt!=="mod"){sn=new BN(null);sn.length=rn+1;sn.words=new Array(sn.length);for(var on=0;on=0;dn--){var un=(tn.words[nn.length+dn]|0)*67108864+(tn.words[nn.length+dn-1]|0);un=Math.min(un/an|0,67108863);tn._ishlnsubmul(nn,un,dn);while(tn.negative!==0){un--;tn.negative=0;tn._ishlnsubmul(nn,1,dn);if(!tn.isZero()){tn.negative^=1}}if(sn){sn.words[dn]=un}}if(sn){sn.strip()}tn.strip();if(Pt!=="div"&&en!==0){tn.iushrn(en)}return{div:sn||null,mod:tn}};BN.prototype.divmod=function divmod(Wt,Pt,en){assert(!Wt.isZero());if(this.isZero()){return{div:new BN(0),mod:new BN(0)}}var tn,nn,an;if(this.negative!==0&&Wt.negative===0){an=this.neg().divmod(Wt,Pt);if(Pt!=="mod"){tn=an.div.neg()}if(Pt!=="div"){nn=an.mod.neg();if(en&&nn.negative!==0){nn.iadd(Wt)}}return{div:tn,mod:nn}}if(this.negative===0&&Wt.negative!==0){an=this.divmod(Wt.neg(),Pt);if(Pt!=="mod"){tn=an.div.neg()}return{div:tn,mod:an.mod}}if((this.negative&Wt.negative)!==0){an=this.neg().divmod(Wt.neg(),Pt);if(Pt!=="div"){nn=an.mod.neg();if(en&&nn.negative!==0){nn.isub(Wt)}}return{div:an.div,mod:nn}}if(Wt.length>this.length||this.cmp(Wt)<0){return{div:new BN(0),mod:this}}if(Wt.length===1){if(Pt==="div"){return{div:this.divn(Wt.words[0]),mod:null}}if(Pt==="mod"){return{div:null,mod:new BN(this.modn(Wt.words[0]))}}return{div:this.divn(Wt.words[0]),mod:new BN(this.modn(Wt.words[0]))}}return this._wordDiv(Wt,Pt)};BN.prototype.div=function div(Wt){return this.divmod(Wt,"div",false).div};BN.prototype.mod=function mod(Wt){return this.divmod(Wt,"mod",false).mod};BN.prototype.umod=function umod(Wt){return this.divmod(Wt,"mod",true).mod};BN.prototype.divRound=function divRound(Wt){var Pt=this.divmod(Wt);if(Pt.mod.isZero())return Pt.div;var en=Pt.div.negative!==0?Pt.mod.isub(Wt):Pt.mod;var tn=Wt.ushrn(1);var nn=Wt.andln(1);var an=en.cmp(tn);if(an<0||nn===1&&an===0)return Pt.div;return Pt.div.negative!==0?Pt.div.isubn(1):Pt.div.iaddn(1)};BN.prototype.modn=function modn(Wt){assert(Wt<=67108863);var Pt=(1<<26)%Wt;var en=0;for(var tn=this.length-1;tn>=0;tn--){en=(Pt*en+(this.words[tn]|0))%Wt}return en};BN.prototype.idivn=function idivn(Wt){assert(Wt<=67108863);var Pt=0;for(var en=this.length-1;en>=0;en--){var tn=(this.words[en]|0)+Pt*67108864;this.words[en]=tn/Wt|0;Pt=tn%Wt}return this.strip()};BN.prototype.divn=function divn(Wt){return this.clone().idivn(Wt)};BN.prototype.egcd=function egcd(Wt){assert(Wt.negative===0);assert(!Wt.isZero());var Pt=this;var en=Wt.clone();if(Pt.negative!==0){Pt=Pt.umod(Wt)}else{Pt=Pt.clone()}var tn=new BN(1);var nn=new BN(0);var an=new BN(0);var In=new BN(1);var rn=0;while(Pt.isEven()&&en.isEven()){Pt.iushrn(1);en.iushrn(1);++rn}var sn=en.clone();var on=Pt.clone();while(!Pt.isZero()){for(var cn=0,dn=1;(Pt.words[0]&dn)===0&&cn<26;++cn,dn<<=1);if(cn>0){Pt.iushrn(cn);while(cn-- >0){if(tn.isOdd()||nn.isOdd()){tn.iadd(sn);nn.isub(on)}tn.iushrn(1);nn.iushrn(1)}}for(var un=0,pn=1;(en.words[0]&pn)===0&&un<26;++un,pn<<=1);if(un>0){en.iushrn(un);while(un-- >0){if(an.isOdd()||In.isOdd()){an.iadd(sn);In.isub(on)}an.iushrn(1);In.iushrn(1)}}if(Pt.cmp(en)>=0){Pt.isub(en);tn.isub(an);nn.isub(In)}else{en.isub(Pt);an.isub(tn);In.isub(nn)}}return{a:an,b:In,gcd:en.iushln(rn)}};BN.prototype._invmp=function _invmp(Wt){assert(Wt.negative===0);assert(!Wt.isZero());var Pt=this;var en=Wt.clone();if(Pt.negative!==0){Pt=Pt.umod(Wt)}else{Pt=Pt.clone()}var tn=new BN(1);var nn=new BN(0);var an=en.clone();while(Pt.cmpn(1)>0&&en.cmpn(1)>0){for(var In=0,rn=1;(Pt.words[0]&rn)===0&&In<26;++In,rn<<=1);if(In>0){Pt.iushrn(In);while(In-- >0){if(tn.isOdd()){tn.iadd(an)}tn.iushrn(1)}}for(var sn=0,on=1;(en.words[0]&on)===0&&sn<26;++sn,on<<=1);if(sn>0){en.iushrn(sn);while(sn-- >0){if(nn.isOdd()){nn.iadd(an)}nn.iushrn(1)}}if(Pt.cmp(en)>=0){Pt.isub(en);tn.isub(nn)}else{en.isub(Pt);nn.isub(tn)}}var cn;if(Pt.cmpn(1)===0){cn=tn}else{cn=nn}if(cn.cmpn(0)<0){cn.iadd(Wt)}return cn};BN.prototype.gcd=function gcd(Wt){if(this.isZero())return Wt.abs();if(Wt.isZero())return this.abs();var Pt=this.clone();var en=Wt.clone();Pt.negative=0;en.negative=0;for(var tn=0;Pt.isEven()&&en.isEven();tn++){Pt.iushrn(1);en.iushrn(1)}do{while(Pt.isEven()){Pt.iushrn(1)}while(en.isEven()){en.iushrn(1)}var nn=Pt.cmp(en);if(nn<0){var an=Pt;Pt=en;en=an}else if(nn===0||en.cmpn(1)===0){break}Pt.isub(en)}while(true);return en.iushln(tn)};BN.prototype.invm=function invm(Wt){return this.egcd(Wt).a.umod(Wt)};BN.prototype.isEven=function isEven(){return(this.words[0]&1)===0};BN.prototype.isOdd=function isOdd(){return(this.words[0]&1)===1};BN.prototype.andln=function andln(Wt){return this.words[0]&Wt};BN.prototype.bincn=function bincn(Wt){assert(typeof Wt==="number");var Pt=Wt%26;var en=(Wt-Pt)/26;var tn=1<>>26;In&=67108863;this.words[an]=In}if(nn!==0){this.words[an]=nn;this.length++}return this};BN.prototype.isZero=function isZero(){return this.length===1&&this.words[0]===0};BN.prototype.cmpn=function cmpn(Wt){var Pt=Wt<0;if(this.negative!==0&&!Pt)return-1;if(this.negative===0&&Pt)return 1;this.strip();var en;if(this.length>1){en=1}else{if(Pt){Wt=-Wt}assert(Wt<=67108863,"Number is too big");var tn=this.words[0]|0;en=tn===Wt?0:tnWt.length)return 1;if(this.length=0;en--){var tn=this.words[en]|0;var nn=Wt.words[en]|0;if(tn===nn)continue;if(tnnn){Pt=1}break}return Pt};BN.prototype.gtn=function gtn(Wt){return this.cmpn(Wt)===1};BN.prototype.gt=function gt(Wt){return this.cmp(Wt)===1};BN.prototype.gten=function gten(Wt){return this.cmpn(Wt)>=0};BN.prototype.gte=function gte(Wt){return this.cmp(Wt)>=0};BN.prototype.ltn=function ltn(Wt){return this.cmpn(Wt)===-1};BN.prototype.lt=function lt(Wt){return this.cmp(Wt)===-1};BN.prototype.lten=function lten(Wt){return this.cmpn(Wt)<=0};BN.prototype.lte=function lte(Wt){return this.cmp(Wt)<=0};BN.prototype.eqn=function eqn(Wt){return this.cmpn(Wt)===0};BN.prototype.eq=function eq(Wt){return this.cmp(Wt)===0};BN.red=function red(Wt){return new Red(Wt)};BN.prototype.toRed=function toRed(Wt){assert(!this.red,"Already a number in reduction context");assert(this.negative===0,"red works only with positives");return Wt.convertTo(this)._forceRed(Wt)};BN.prototype.fromRed=function fromRed(){assert(this.red,"fromRed works only with numbers in reduction context");return this.red.convertFrom(this)};BN.prototype._forceRed=function _forceRed(Wt){this.red=Wt;return this};BN.prototype.forceRed=function forceRed(Wt){assert(!this.red,"Already a number in reduction context");return this._forceRed(Wt)};BN.prototype.redAdd=function redAdd(Wt){assert(this.red,"redAdd works only with red numbers");return this.red.add(this,Wt)};BN.prototype.redIAdd=function redIAdd(Wt){assert(this.red,"redIAdd works only with red numbers");return this.red.iadd(this,Wt)};BN.prototype.redSub=function redSub(Wt){assert(this.red,"redSub works only with red numbers");return this.red.sub(this,Wt)};BN.prototype.redISub=function redISub(Wt){assert(this.red,"redISub works only with red numbers");return this.red.isub(this,Wt)};BN.prototype.redShl=function redShl(Wt){assert(this.red,"redShl works only with red numbers");return this.red.shl(this,Wt)};BN.prototype.redMul=function redMul(Wt){assert(this.red,"redMul works only with red numbers");this.red._verify2(this,Wt);return this.red.mul(this,Wt)};BN.prototype.redIMul=function redIMul(Wt){assert(this.red,"redMul works only with red numbers");this.red._verify2(this,Wt);return this.red.imul(this,Wt)};BN.prototype.redSqr=function redSqr(){assert(this.red,"redSqr works only with red numbers");this.red._verify1(this);return this.red.sqr(this)};BN.prototype.redISqr=function redISqr(){assert(this.red,"redISqr works only with red numbers");this.red._verify1(this);return this.red.isqr(this)};BN.prototype.redSqrt=function redSqrt(){assert(this.red,"redSqrt works only with red numbers");this.red._verify1(this);return this.red.sqrt(this)};BN.prototype.redInvm=function redInvm(){assert(this.red,"redInvm works only with red numbers");this.red._verify1(this);return this.red.invm(this)};BN.prototype.redNeg=function redNeg(){assert(this.red,"redNeg works only with red numbers");this.red._verify1(this);return this.red.neg(this)};BN.prototype.redPow=function redPow(Wt){assert(this.red&&!Wt.red,"redPow(normalNum)");this.red._verify1(this);return this.red.pow(this,Wt)};var sn={k256:null,p224:null,p192:null,p25519:null};function MPrime(Wt,Pt){this.name=Wt;this.p=new BN(Pt,16);this.n=this.p.bitLength();this.k=new BN(1).iushln(this.n).isub(this.p);this.tmp=this._tmp()}MPrime.prototype._tmp=function _tmp(){var Wt=new BN(null);Wt.words=new Array(Math.ceil(this.n/13));return Wt};MPrime.prototype.ireduce=function ireduce(Wt){var Pt=Wt;var en;do{this.split(Pt,this.tmp);Pt=this.imulK(Pt);Pt=Pt.iadd(this.tmp);en=Pt.bitLength()}while(en>this.n);var tn=en0){Pt.isub(this.p)}else{if(Pt.strip!==void 0){Pt.strip()}else{Pt._strip()}}return Pt};MPrime.prototype.split=function split(Wt,Pt){Wt.iushrn(this.n,0,Pt)};MPrime.prototype.imulK=function imulK(Wt){return Wt.imul(this.k)};function K256(){MPrime.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}inherits2(K256,MPrime);K256.prototype.split=function split(Wt,Pt){var en=4194303;var tn=Math.min(Wt.length,9);for(var nn=0;nn>>22;an=In}an>>>=22;Wt.words[nn-10]=an;if(an===0&&Wt.length>10){Wt.length-=10}else{Wt.length-=9}};K256.prototype.imulK=function imulK(Wt){Wt.words[Wt.length]=0;Wt.words[Wt.length+1]=0;Wt.length+=2;var Pt=0;for(var en=0;en>>=26;Wt.words[en]=nn;Pt=tn}if(Pt!==0){Wt.words[Wt.length++]=Pt}return Wt};BN._prime=function prime(Wt){if(sn[Wt])return sn[Wt];var Pt;if(Wt==="k256"){Pt=new K256}else if(Wt==="p224"){Pt=new P224}else if(Wt==="p192"){Pt=new P192}else if(Wt==="p25519"){Pt=new P25519}else{throw new Error("Unknown prime "+Wt)}sn[Wt]=Pt;return Pt};function Red(Wt){if(typeof Wt==="string"){var Pt=BN._prime(Wt);this.m=Pt.p;this.prime=Pt}else{assert(Wt.gtn(1),"modulus must be greater than 1");this.m=Wt;this.prime=null}}Red.prototype._verify1=function _verify1(Wt){assert(Wt.negative===0,"red works only with positives");assert(Wt.red,"red works only with red numbers")};Red.prototype._verify2=function _verify2(Wt,Pt){assert((Wt.negative|Pt.negative)===0,"red works only with positives");assert(Wt.red&&Wt.red===Pt.red,"red works only with red numbers")};Red.prototype.imod=function imod(Wt){if(this.prime)return this.prime.ireduce(Wt)._forceRed(this);return Wt.umod(this.m)._forceRed(this)};Red.prototype.neg=function neg(Wt){if(Wt.isZero()){return Wt.clone()}return this.m.sub(Wt)._forceRed(this)};Red.prototype.add=function add(Wt,Pt){this._verify2(Wt,Pt);var en=Wt.add(Pt);if(en.cmp(this.m)>=0){en.isub(this.m)}return en._forceRed(this)};Red.prototype.iadd=function iadd(Wt,Pt){this._verify2(Wt,Pt);var en=Wt.iadd(Pt);if(en.cmp(this.m)>=0){en.isub(this.m)}return en};Red.prototype.sub=function sub(Wt,Pt){this._verify2(Wt,Pt);var en=Wt.sub(Pt);if(en.cmpn(0)<0){en.iadd(this.m)}return en._forceRed(this)};Red.prototype.isub=function isub(Wt,Pt){this._verify2(Wt,Pt);var en=Wt.isub(Pt);if(en.cmpn(0)<0){en.iadd(this.m)}return en};Red.prototype.shl=function shl(Wt,Pt){this._verify1(Wt);return this.imod(Wt.ushln(Pt))};Red.prototype.imul=function imul(Wt,Pt){this._verify2(Wt,Pt);return this.imod(Wt.imul(Pt))};Red.prototype.mul=function mul(Wt,Pt){this._verify2(Wt,Pt);return this.imod(Wt.mul(Pt))};Red.prototype.isqr=function isqr(Wt){return this.imul(Wt,Wt.clone())};Red.prototype.sqr=function sqr(Wt){return this.mul(Wt,Wt)};Red.prototype.sqrt=function sqrt(Wt){if(Wt.isZero())return Wt.clone();var Pt=this.m.andln(3);assert(Pt%2===1);if(Pt===3){var en=this.m.add(new BN(1)).iushrn(2);return this.pow(Wt,en)}var tn=this.m.subn(1);var nn=0;while(!tn.isZero()&&tn.andln(1)===0){nn++;tn.iushrn(1)}assert(!tn.isZero());var an=new BN(1).toRed(this);var In=an.redNeg();var rn=this.m.subn(1).iushrn(1);var sn=this.m.bitLength();sn=new BN(2*sn*sn).toRed(this);while(this.pow(sn,rn).cmp(In)!==0){sn.redIAdd(In)}var on=this.pow(sn,tn);var cn=this.pow(Wt,tn.addn(1).iushrn(1));var dn=this.pow(Wt,tn);var un=nn;while(dn.cmp(an)!==0){var pn=dn;for(var mn=0;pn.cmp(an)!==0;mn++){pn=pn.redSqr()}assert(mn=0;nn--){var on=Pt.words[nn];for(var cn=sn-1;cn>=0;cn--){var dn=on>>cn&1;if(an!==tn[0]){an=this.sqr(an)}if(dn===0&&In===0){rn=0;continue}In<<=1;In|=dn;rn++;if(rn!==en&&(nn!==0||cn!==0))continue;an=this.mul(an,tn[In]);rn=0;In=0}sn=26}return an};Red.prototype.convertTo=function convertTo(Wt){var Pt=Wt.umod(this.m);return Pt===Wt?Pt.clone():Pt};Red.prototype.convertFrom=function convertFrom(Wt){var Pt=Wt.clone();Pt.red=null;return Pt};BN.mont=function mont(Wt){return new Mont(Wt)};function Mont(Wt){Red.call(this,Wt);this.shift=this.m.bitLength();if(this.shift%26!==0){this.shift+=26-this.shift%26}this.r=new BN(1).iushln(this.shift);this.r2=this.imod(this.r.sqr());this.rinv=this.r._invmp(this.m);this.minv=this.rinv.mul(this.r).isubn(1).div(this.m);this.minv=this.minv.umod(this.r);this.minv=this.r.sub(this.minv)}inherits2(Mont,Red);Mont.prototype.convertTo=function convertTo(Wt){return this.imod(Wt.ushln(this.shift))};Mont.prototype.convertFrom=function convertFrom(Wt){var Pt=this.imod(Wt.mul(this.rinv));Pt.red=null;return Pt};Mont.prototype.imul=function imul(Wt,Pt){if(Wt.isZero()||Pt.isZero()){Wt.words[0]=0;Wt.length=1;return Wt}var en=Wt.imul(Pt);var tn=en.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m);var nn=en.isub(tn).iushrn(this.shift);var an=nn;if(nn.cmp(this.m)>=0){an=nn.isub(this.m)}else if(nn.cmpn(0)<0){an=nn.iadd(this.m)}return an._forceRed(this)};Mont.prototype.mul=function mul(Wt,Pt){if(Wt.isZero()||Pt.isZero())return new BN(0)._forceRed(this);var en=Wt.mul(Pt);var tn=en.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m);var nn=en.isub(tn).iushrn(this.shift);var an=nn;if(nn.cmp(this.m)>=0){an=nn.isub(this.m)}else if(nn.cmpn(0)<0){an=nn.iadd(this.m)}return an._forceRed(this)};Mont.prototype.invm=function invm(Wt){var Pt=this.imod(Wt._invmp(this.m).mul(this.r2));return Pt._forceRed(this)}})(typeof Pt==="undefined"||Pt,Wt)}});var vl=__commonJS({"node_modules/minimalistic-crypto-utils/lib/utils.js"(Wt){"use strict";var Pt=Wt;function toArray2(Wt,Pt){if(Array.isArray(Wt))return Wt.slice();if(!Wt)return[];var en=[];if(typeof Wt!=="string"){for(var tn=0;tn>8;var In=nn&255;if(an)en.push(an,In);else en.push(In)}}return en}Pt.toArray=toArray2;function zero2(Wt){if(Wt.length===1)return"0"+Wt;else return Wt}Pt.zero2=zero2;function toHex(Wt){var Pt="";for(var en=0;en(nn>>1)-1)rn=(nn>>1)-sn;else rn=sn;an.isubn(rn)}else{rn=0}tn[In]=rn;an.iushrn(1)}return tn}Pt.getNAF=getNAF;function getJSF(Wt,Pt){var en=[[],[]];Wt=Wt.clone();Pt=Pt.clone();var tn=0;var nn=0;var an;while(Wt.cmpn(-tn)>0||Pt.cmpn(-nn)>0){var In=Wt.andln(3)+tn&3;var rn=Pt.andln(3)+nn&3;if(In===3)In=-1;if(rn===3)rn=-1;var sn;if((In&1)===0){sn=0}else{an=Wt.andln(7)+tn&7;if((an===3||an===5)&&rn===2)sn=-In;else sn=In}en[0].push(sn);var on;if((rn&1)===0){on=0}else{an=Pt.andln(7)+nn&7;if((an===3||an===5)&&In===2)on=-rn;else on=rn}en[1].push(on);if(2*tn===sn+1)tn=1-tn;if(2*nn===on+1)nn=1-nn;Wt.iushrn(1);Pt.iushrn(1)}return en}Pt.getJSF=getJSF;function cachedProperty(Wt,Pt,en){var tn="_"+Pt;Wt.prototype[Pt]=function cachedProperty2(){return this[tn]!==void 0?this[tn]:this[tn]=en.call(this)}}Pt.cachedProperty=cachedProperty;function parseBytes(Wt){return typeof Wt==="string"?Pt.toArray(Wt,"hex"):Wt}Pt.parseBytes=parseBytes;function intFromLE(Wt){return new en(Wt,"hex","le")}Pt.intFromLE=intFromLE}});var El=__commonJS({"node_modules/brorand/index.js"(Wt,Pt){"use strict";var tn;Pt.exports=function rand(Wt){if(!tn)tn=new Rand(null);return tn.generate(Wt)};function Rand(Wt){this.rand=Wt}Pt.exports.Rand=Rand;Rand.prototype.generate=function generate(Wt){return this._rand(Wt)};Rand.prototype._rand=function _rand(Wt){if(this.rand.getBytes)return this.rand.getBytes(Wt);var Pt=new Uint8Array(Wt);for(var en=0;en0){this.redN=null}else{this._maxwellTrick=true;this.redN=this.n.toRed(this.red)}}Pt.exports=BaseCurve;BaseCurve.prototype.point=function point(){throw new Error("Not implemented")};BaseCurve.prototype.validate=function validate(){throw new Error("Not implemented")};BaseCurve.prototype._fixedNafMul=function _fixedNafMul(Wt,Pt){In(Wt.precomputed);var en=Wt._getDoubles();var tn=nn(Pt,1,this._bitLength);var an=(1<=sn;cn--)on=(on<<1)+tn[cn];rn.push(on)}var dn=this.jpoint(null,null,null);var un=this.jpoint(null,null,null);for(var pn=an;pn>0;pn--){for(sn=0;sn=0;on--){for(var cn=0;on>=0&&rn[on]===0;on--)cn++;if(on>=0)cn++;sn=sn.dblp(cn);if(on<0)break;var dn=rn[on];In(dn!==0);if(Wt.type==="affine"){if(dn>0)sn=sn.mixedAdd(an[dn-1>>1]);else sn=sn.mixedAdd(an[-dn-1>>1].neg())}else{if(dn>0)sn=sn.add(an[dn-1>>1]);else sn=sn.add(an[-dn-1>>1].neg())}}return Wt.type==="affine"?sn.toP():sn};BaseCurve.prototype._wnafMulAdd=function _wnafMulAdd(Wt,Pt,en,tn,In){var rn=this._wnafT1;var sn=this._wnafT2;var on=this._wnafT3;var cn=0;var dn;var un;var pn;for(dn=0;dn=1;dn-=2){var bn=dn-1;var Gn=dn;if(rn[bn]!==1||rn[Gn]!==1){on[bn]=nn(en[bn],rn[bn],this._bitLength);on[Gn]=nn(en[Gn],rn[Gn],this._bitLength);cn=Math.max(on[bn].length,cn);cn=Math.max(on[Gn].length,cn);continue}var hn=[Pt[bn],null,null,Pt[Gn]];if(Pt[bn].y.cmp(Pt[Gn].y)===0){hn[1]=Pt[bn].add(Pt[Gn]);hn[2]=Pt[bn].toJ().mixedAdd(Pt[Gn].neg())}else if(Pt[bn].y.cmp(Pt[Gn].y.redNeg())===0){hn[1]=Pt[bn].toJ().mixedAdd(Pt[Gn]);hn[2]=Pt[bn].add(Pt[Gn].neg())}else{hn[1]=Pt[bn].toJ().mixedAdd(Pt[Gn]);hn[2]=Pt[bn].toJ().mixedAdd(Pt[Gn].neg())}var Zn=[-3,-1,-5,-7,0,7,5,1,3];var An=an(en[bn],en[Gn]);cn=Math.max(An[0].length,cn);on[bn]=new Array(cn);on[Gn]=new Array(cn);for(un=0;un=0;dn--){var vn=0;while(dn>=0){var Yn=true;for(un=0;un=0)vn++;gn=gn.dblp(vn);if(dn<0)break;for(un=0;un0)pn=sn[un][En-1>>1];else if(En<0)pn=sn[un][-En-1>>1].neg();if(pn.type==="affine")gn=gn.mixedAdd(pn);else gn=gn.add(pn)}}for(dn=0;dn=Math.ceil((Wt.bitLength()+1)/Pt.step)};BasePoint.prototype._getDoubles=function _getDoubles(Wt,Pt){if(this.precomputed&&this.precomputed.doubles)return this.precomputed.doubles;var en=[this];var tn=this;for(var nn=0;nn=0){pn=on;mn=cn}if(dn.negative){dn=dn.neg();un=un.neg()}if(pn.negative){pn=pn.neg();mn=mn.neg()}return[{a:dn,b:un},{a:pn,b:mn}]};ShortCurve.prototype._endoSplit=function _endoSplit(Wt){var Pt=this.endo.basis;var en=Pt[0];var tn=Pt[1];var nn=tn.b.mul(Wt).divRound(this.n);var an=en.b.neg().mul(Wt).divRound(this.n);var In=nn.mul(en.a);var rn=an.mul(tn.a);var sn=nn.mul(en.b);var on=an.mul(tn.b);var cn=Wt.sub(In).sub(rn);var dn=sn.add(on).neg();return{k1:cn,k2:dn}};ShortCurve.prototype.pointFromX=function pointFromX(Wt,Pt){Wt=new tn(Wt,16);if(!Wt.red)Wt=Wt.toRed(this.red);var en=Wt.redSqr().redMul(Wt).redIAdd(Wt.redMul(this.a)).redIAdd(this.b);var nn=en.redSqrt();if(nn.redSqr().redSub(en).cmp(this.zero)!==0)throw new Error("invalid point");var an=nn.fromRed().isOdd();if(Pt&&!an||!Pt&&an)nn=nn.redNeg();return this.point(Wt,nn)};ShortCurve.prototype.validate=function validate(Wt){if(Wt.inf)return true;var Pt=Wt.x;var en=Wt.y;var tn=this.a.redMul(Pt);var nn=Pt.redSqr().redMul(Pt).redIAdd(tn).redIAdd(this.b);return en.redSqr().redISub(nn).cmpn(0)===0};ShortCurve.prototype._endoWnafMulAdd=function _endoWnafMulAdd(Wt,Pt,en){var tn=this._endoWnafT1;var nn=this._endoWnafT2;for(var an=0;an";return""};Point.prototype.isInfinity=function isInfinity(){return this.inf};Point.prototype.add=function add(Wt){if(this.inf)return Wt;if(Wt.inf)return this;if(this.eq(Wt))return this.dbl();if(this.neg().eq(Wt))return this.curve.point(null,null);if(this.x.cmp(Wt.x)===0)return this.curve.point(null,null);var Pt=this.y.redSub(Wt.y);if(Pt.cmpn(0)!==0)Pt=Pt.redMul(this.x.redSub(Wt.x).redInvm());var en=Pt.redSqr().redISub(this.x).redISub(Wt.x);var tn=Pt.redMul(this.x.redSub(en)).redISub(this.y);return this.curve.point(en,tn)};Point.prototype.dbl=function dbl(){if(this.inf)return this;var Wt=this.y.redAdd(this.y);if(Wt.cmpn(0)===0)return this.curve.point(null,null);var Pt=this.curve.a;var en=this.x.redSqr();var tn=Wt.redInvm();var nn=en.redAdd(en).redIAdd(en).redIAdd(Pt).redMul(tn);var an=nn.redSqr().redISub(this.x.redAdd(this.x));var In=nn.redMul(this.x.redSub(an)).redISub(this.y);return this.curve.point(an,In)};Point.prototype.getX=function getX(){return this.x.fromRed()};Point.prototype.getY=function getY(){return this.y.fromRed()};Point.prototype.mul=function mul(Wt){Wt=new tn(Wt,16);if(this.isInfinity())return this;else if(this._hasDoubles(Wt))return this.curve._fixedNafMul(this,Wt);else if(this.curve.endo)return this.curve._endoWnafMulAdd([this],[Wt]);else return this.curve._wnafMul(this,Wt)};Point.prototype.mulAdd=function mulAdd(Wt,Pt,en){var tn=[this,Pt];var nn=[Wt,en];if(this.curve.endo)return this.curve._endoWnafMulAdd(tn,nn);else return this.curve._wnafMulAdd(1,tn,nn,2)};Point.prototype.jmulAdd=function jmulAdd(Wt,Pt,en){var tn=[this,Pt];var nn=[Wt,en];if(this.curve.endo)return this.curve._endoWnafMulAdd(tn,nn,true);else return this.curve._wnafMulAdd(1,tn,nn,2,true)};Point.prototype.eq=function eq(Wt){return this===Wt||this.inf===Wt.inf&&(this.inf||this.x.cmp(Wt.x)===0&&this.y.cmp(Wt.y)===0)};Point.prototype.neg=function neg(Wt){if(this.inf)return this;var Pt=this.curve.point(this.x,this.y.redNeg());if(Wt&&this.precomputed){var en=this.precomputed;var negate=function(Wt){return Wt.neg()};Pt.precomputed={naf:en.naf&&{wnd:en.naf.wnd,points:en.naf.points.map(negate)},doubles:en.doubles&&{step:en.doubles.step,points:en.doubles.points.map(negate)}}}return Pt};Point.prototype.toJ=function toJ(){if(this.inf)return this.curve.jpoint(null,null,null);var Wt=this.curve.jpoint(this.x,this.y,this.curve.one);return Wt};function JPoint(Wt,Pt,en,nn){an.BasePoint.call(this,Wt,"jacobian");if(Pt===null&&en===null&&nn===null){this.x=this.curve.one;this.y=this.curve.one;this.z=new tn(0)}else{this.x=new tn(Pt,16);this.y=new tn(en,16);this.z=new tn(nn,16)}if(!this.x.red)this.x=this.x.toRed(this.curve.red);if(!this.y.red)this.y=this.y.toRed(this.curve.red);if(!this.z.red)this.z=this.z.toRed(this.curve.red);this.zOne=this.z===this.curve.one}nn(JPoint,an.BasePoint);ShortCurve.prototype.jpoint=function jpoint(Wt,Pt,en){return new JPoint(this,Wt,Pt,en)};JPoint.prototype.toP=function toP(){if(this.isInfinity())return this.curve.point(null,null);var Wt=this.z.redInvm();var Pt=Wt.redSqr();var en=this.x.redMul(Pt);var tn=this.y.redMul(Pt).redMul(Wt);return this.curve.point(en,tn)};JPoint.prototype.neg=function neg(){return this.curve.jpoint(this.x,this.y.redNeg(),this.z)};JPoint.prototype.add=function add(Wt){if(this.isInfinity())return Wt;if(Wt.isInfinity())return this;var Pt=Wt.z.redSqr();var en=this.z.redSqr();var tn=this.x.redMul(Pt);var nn=Wt.x.redMul(en);var an=this.y.redMul(Pt.redMul(Wt.z));var In=Wt.y.redMul(en.redMul(this.z));var rn=tn.redSub(nn);var sn=an.redSub(In);if(rn.cmpn(0)===0){if(sn.cmpn(0)!==0)return this.curve.jpoint(null,null,null);else return this.dbl()}var on=rn.redSqr();var cn=on.redMul(rn);var dn=tn.redMul(on);var un=sn.redSqr().redIAdd(cn).redISub(dn).redISub(dn);var pn=sn.redMul(dn.redISub(un)).redISub(an.redMul(cn));var mn=this.z.redMul(Wt.z).redMul(rn);return this.curve.jpoint(un,pn,mn)};JPoint.prototype.mixedAdd=function mixedAdd(Wt){if(this.isInfinity())return Wt.toJ();if(Wt.isInfinity())return this;var Pt=this.z.redSqr();var en=this.x;var tn=Wt.x.redMul(Pt);var nn=this.y;var an=Wt.y.redMul(Pt).redMul(this.z);var In=en.redSub(tn);var rn=nn.redSub(an);if(In.cmpn(0)===0){if(rn.cmpn(0)!==0)return this.curve.jpoint(null,null,null);else return this.dbl()}var sn=In.redSqr();var on=sn.redMul(In);var cn=en.redMul(sn);var dn=rn.redSqr().redIAdd(on).redISub(cn).redISub(cn);var un=rn.redMul(cn.redISub(dn)).redISub(nn.redMul(on));var pn=this.z.redMul(In);return this.curve.jpoint(dn,un,pn)};JPoint.prototype.dblp=function dblp(Wt){if(Wt===0)return this;if(this.isInfinity())return this;if(!Wt)return this.dbl();var Pt;if(this.curve.zeroA||this.curve.threeA){var en=this;for(Pt=0;Pt=0)return false;en.redIAdd(nn);if(this.x.cmp(en)===0)return true}};JPoint.prototype.inspect=function inspect(){if(this.isInfinity())return"";return""};JPoint.prototype.isInfinity=function isInfinity(){return this.z.cmpn(0)===0}}});var wl=__commonJS({"node_modules/elliptic/lib/elliptic/curve/mont.js"(Wt,Pt){"use strict";var en=yl();var tn=el();var nn=Vl();var an=Yl();function MontCurve(Wt){nn.call(this,"mont",Wt);this.a=new en(Wt.a,16).toRed(this.red);this.b=new en(Wt.b,16).toRed(this.red);this.i4=new en(4).toRed(this.red).redInvm();this.two=new en(2).toRed(this.red);this.a24=this.i4.redMul(this.a.redAdd(this.two))}tn(MontCurve,nn);Pt.exports=MontCurve;MontCurve.prototype.validate=function validate(Wt){var Pt=Wt.normalize().x;var en=Pt.redSqr();var tn=en.redMul(Pt).redAdd(en.redMul(this.a)).redAdd(Pt);var nn=tn.redSqrt();return nn.redSqr().cmp(tn)===0};function Point(Wt,Pt,tn){nn.BasePoint.call(this,Wt,"projective");if(Pt===null&&tn===null){this.x=this.curve.one;this.z=this.curve.zero}else{this.x=new en(Pt,16);this.z=new en(tn,16);if(!this.x.red)this.x=this.x.toRed(this.curve.red);if(!this.z.red)this.z=this.z.toRed(this.curve.red)}}tn(Point,nn.BasePoint);MontCurve.prototype.decodePoint=function decodePoint(Wt,Pt){return this.point(an.toArray(Wt,Pt),1)};MontCurve.prototype.point=function point(Wt,Pt){return new Point(this,Wt,Pt)};MontCurve.prototype.pointFromJSON=function pointFromJSON(Wt){return Point.fromJSON(this,Wt)};Point.prototype.precompute=function precompute(){};Point.prototype._encode=function _encode(){return this.getX().toArray("be",this.curve.p.byteLength())};Point.fromJSON=function fromJSON(Wt,Pt){return new Point(Wt,Pt[0],Pt[1]||Wt.one)};Point.prototype.inspect=function inspect(){if(this.isInfinity())return"";return""};Point.prototype.isInfinity=function isInfinity(){return this.z.cmpn(0)===0};Point.prototype.dbl=function dbl(){var Wt=this.x.redAdd(this.z);var Pt=Wt.redSqr();var en=this.x.redSub(this.z);var tn=en.redSqr();var nn=Pt.redSub(tn);var an=Pt.redMul(tn);var In=nn.redMul(tn.redAdd(this.curve.a24.redMul(nn)));return this.curve.point(an,In)};Point.prototype.add=function add(){throw new Error("Not supported on Montgomery curve")};Point.prototype.diffAdd=function diffAdd(Wt,Pt){var en=this.x.redAdd(this.z);var tn=this.x.redSub(this.z);var nn=Wt.x.redAdd(Wt.z);var an=Wt.x.redSub(Wt.z);var In=an.redMul(en);var rn=nn.redMul(tn);var sn=Pt.z.redMul(In.redAdd(rn).redSqr());var on=Pt.x.redMul(In.redISub(rn).redSqr());return this.curve.point(sn,on)};Point.prototype.mul=function mul(Wt){var Pt=Wt.clone();var en=this;var tn=this.curve.point(null,null);var nn=this;for(var an=[];Pt.cmpn(0)!==0;Pt.iushrn(1))an.push(Pt.andln(1));for(var In=an.length-1;In>=0;In--){if(an[In]===0){en=en.diffAdd(tn,nn);tn=tn.dbl()}else{tn=en.diffAdd(tn,nn);en=en.dbl()}}return tn};Point.prototype.mulAdd=function mulAdd(){throw new Error("Not supported on Montgomery curve")};Point.prototype.jumlAdd=function jumlAdd(){throw new Error("Not supported on Montgomery curve")};Point.prototype.eq=function eq(Wt){return this.getX().cmp(Wt.getX())===0};Point.prototype.normalize=function normalize(){this.x=this.x.redMul(this.z.redInvm());this.z=this.curve.one;return this};Point.prototype.getX=function getX(){this.normalize();return this.x.fromRed()}}});var Fl=__commonJS({"node_modules/elliptic/lib/elliptic/curve/edwards.js"(Wt,Pt){"use strict";var en=Yl();var tn=yl();var nn=el();var an=Vl();var In=en.assert;function EdwardsCurve(Wt){this.twisted=(Wt.a|0)!==1;this.mOneA=this.twisted&&(Wt.a|0)===-1;this.extended=this.mOneA;an.call(this,"edwards",Wt);this.a=new tn(Wt.a,16).umod(this.red.m);this.a=this.a.toRed(this.red);this.c=new tn(Wt.c,16).toRed(this.red);this.c2=this.c.redSqr();this.d=new tn(Wt.d,16).toRed(this.red);this.dd=this.d.redAdd(this.d);In(!this.twisted||this.c.fromRed().cmpn(1)===0);this.oneC=(Wt.c|0)===1}nn(EdwardsCurve,an);Pt.exports=EdwardsCurve;EdwardsCurve.prototype._mulA=function _mulA(Wt){if(this.mOneA)return Wt.redNeg();else return this.a.redMul(Wt)};EdwardsCurve.prototype._mulC=function _mulC(Wt){if(this.oneC)return Wt;else return this.c.redMul(Wt)};EdwardsCurve.prototype.jpoint=function jpoint(Wt,Pt,en,tn){return this.point(Wt,Pt,en,tn)};EdwardsCurve.prototype.pointFromX=function pointFromX(Wt,Pt){Wt=new tn(Wt,16);if(!Wt.red)Wt=Wt.toRed(this.red);var en=Wt.redSqr();var nn=this.c2.redSub(this.a.redMul(en));var an=this.one.redSub(this.c2.redMul(this.d).redMul(en));var In=nn.redMul(an.redInvm());var rn=In.redSqrt();if(rn.redSqr().redSub(In).cmp(this.zero)!==0)throw new Error("invalid point");var sn=rn.fromRed().isOdd();if(Pt&&!sn||!Pt&&sn)rn=rn.redNeg();return this.point(Wt,rn)};EdwardsCurve.prototype.pointFromY=function pointFromY(Wt,Pt){Wt=new tn(Wt,16);if(!Wt.red)Wt=Wt.toRed(this.red);var en=Wt.redSqr();var nn=en.redSub(this.c2);var an=en.redMul(this.d).redMul(this.c2).redSub(this.a);var In=nn.redMul(an.redInvm());if(In.cmp(this.zero)===0){if(Pt)throw new Error("invalid point");else return this.point(this.zero,Wt)}var rn=In.redSqrt();if(rn.redSqr().redSub(In).cmp(this.zero)!==0)throw new Error("invalid point");if(rn.fromRed().isOdd()!==Pt)rn=rn.redNeg();return this.point(rn,Wt)};EdwardsCurve.prototype.validate=function validate(Wt){if(Wt.isInfinity())return true;Wt.normalize();var Pt=Wt.x.redSqr();var en=Wt.y.redSqr();var tn=Pt.redMul(this.a).redAdd(en);var nn=this.c2.redMul(this.one.redAdd(this.d.redMul(Pt).redMul(en)));return tn.cmp(nn)===0};function Point(Wt,Pt,en,nn,In){an.BasePoint.call(this,Wt,"projective");if(Pt===null&&en===null&&nn===null){this.x=this.curve.zero;this.y=this.curve.one;this.z=this.curve.one;this.t=this.curve.zero;this.zOne=true}else{this.x=new tn(Pt,16);this.y=new tn(en,16);this.z=nn?new tn(nn,16):this.curve.one;this.t=In&&new tn(In,16);if(!this.x.red)this.x=this.x.toRed(this.curve.red);if(!this.y.red)this.y=this.y.toRed(this.curve.red);if(!this.z.red)this.z=this.z.toRed(this.curve.red);if(this.t&&!this.t.red)this.t=this.t.toRed(this.curve.red);this.zOne=this.z===this.curve.one;if(this.curve.extended&&!this.t){this.t=this.x.redMul(this.y);if(!this.zOne)this.t=this.t.redMul(this.z.redInvm())}}}nn(Point,an.BasePoint);EdwardsCurve.prototype.pointFromJSON=function pointFromJSON(Wt){return Point.fromJSON(this,Wt)};EdwardsCurve.prototype.point=function point(Wt,Pt,en,tn){return new Point(this,Wt,Pt,en,tn)};Point.fromJSON=function fromJSON(Wt,Pt){return new Point(Wt,Pt[0],Pt[1],Pt[2])};Point.prototype.inspect=function inspect(){if(this.isInfinity())return"";return""};Point.prototype.isInfinity=function isInfinity(){return this.x.cmpn(0)===0&&(this.y.cmp(this.z)===0||this.zOne&&this.y.cmp(this.curve.c)===0)};Point.prototype._extDbl=function _extDbl(){var Wt=this.x.redSqr();var Pt=this.y.redSqr();var en=this.z.redSqr();en=en.redIAdd(en);var tn=this.curve._mulA(Wt);var nn=this.x.redAdd(this.y).redSqr().redISub(Wt).redISub(Pt);var an=tn.redAdd(Pt);var In=an.redSub(en);var rn=tn.redSub(Pt);var sn=nn.redMul(In);var on=an.redMul(rn);var cn=nn.redMul(rn);var dn=In.redMul(an);return this.curve.point(sn,on,dn,cn)};Point.prototype._projDbl=function _projDbl(){var Wt=this.x.redAdd(this.y).redSqr();var Pt=this.x.redSqr();var en=this.y.redSqr();var tn;var nn;var an;var In;var rn;var sn;if(this.curve.twisted){In=this.curve._mulA(Pt);var on=In.redAdd(en);if(this.zOne){tn=Wt.redSub(Pt).redSub(en).redMul(on.redSub(this.curve.two));nn=on.redMul(In.redSub(en));an=on.redSqr().redSub(on).redSub(on)}else{rn=this.z.redSqr();sn=on.redSub(rn).redISub(rn);tn=Wt.redSub(Pt).redISub(en).redMul(sn);nn=on.redMul(In.redSub(en));an=on.redMul(sn)}}else{In=Pt.redAdd(en);rn=this.curve._mulC(this.z).redSqr();sn=In.redSub(rn).redSub(rn);tn=this.curve._mulC(Wt.redISub(In)).redMul(sn);nn=this.curve._mulC(In).redMul(Pt.redISub(en));an=In.redMul(sn)}return this.curve.point(tn,nn,an)};Point.prototype.dbl=function dbl(){if(this.isInfinity())return this;if(this.curve.extended)return this._extDbl();else return this._projDbl()};Point.prototype._extAdd=function _extAdd(Wt){var Pt=this.y.redSub(this.x).redMul(Wt.y.redSub(Wt.x));var en=this.y.redAdd(this.x).redMul(Wt.y.redAdd(Wt.x));var tn=this.t.redMul(this.curve.dd).redMul(Wt.t);var nn=this.z.redMul(Wt.z.redAdd(Wt.z));var an=en.redSub(Pt);var In=nn.redSub(tn);var rn=nn.redAdd(tn);var sn=en.redAdd(Pt);var on=an.redMul(In);var cn=rn.redMul(sn);var dn=an.redMul(sn);var un=In.redMul(rn);return this.curve.point(on,cn,un,dn)};Point.prototype._projAdd=function _projAdd(Wt){var Pt=this.z.redMul(Wt.z);var en=Pt.redSqr();var tn=this.x.redMul(Wt.x);var nn=this.y.redMul(Wt.y);var an=this.curve.d.redMul(tn).redMul(nn);var In=en.redSub(an);var rn=en.redAdd(an);var sn=this.x.redAdd(this.y).redMul(Wt.x.redAdd(Wt.y)).redISub(tn).redISub(nn);var on=Pt.redMul(In).redMul(sn);var cn;var dn;if(this.curve.twisted){cn=Pt.redMul(rn).redMul(nn.redSub(this.curve._mulA(tn)));dn=In.redMul(rn)}else{cn=Pt.redMul(rn).redMul(nn.redSub(tn));dn=this.curve._mulC(In).redMul(rn)}return this.curve.point(on,cn,dn)};Point.prototype.add=function add(Wt){if(this.isInfinity())return Wt;if(Wt.isInfinity())return this;if(this.curve.extended)return this._extAdd(Wt);else return this._projAdd(Wt)};Point.prototype.mul=function mul(Wt){if(this._hasDoubles(Wt))return this.curve._fixedNafMul(this,Wt);else return this.curve._wnafMul(this,Wt)};Point.prototype.mulAdd=function mulAdd(Wt,Pt,en){return this.curve._wnafMulAdd(1,[this,Pt],[Wt,en],2,false)};Point.prototype.jmulAdd=function jmulAdd(Wt,Pt,en){return this.curve._wnafMulAdd(1,[this,Pt],[Wt,en],2,true)};Point.prototype.normalize=function normalize(){if(this.zOne)return this;var Wt=this.z.redInvm();this.x=this.x.redMul(Wt);this.y=this.y.redMul(Wt);if(this.t)this.t=this.t.redMul(Wt);this.z=this.curve.one;this.zOne=true;return this};Point.prototype.neg=function neg(){return this.curve.point(this.x.redNeg(),this.y,this.z,this.t&&this.t.redNeg())};Point.prototype.getX=function getX(){this.normalize();return this.x.fromRed()};Point.prototype.getY=function getY(){this.normalize();return this.y.fromRed()};Point.prototype.eq=function eq(Wt){return this===Wt||this.getX().cmp(Wt.getX())===0&&this.getY().cmp(Wt.getY())===0};Point.prototype.eqXToP=function eqXToP(Wt){var Pt=Wt.toRed(this.curve.red).redMul(this.z);if(this.x.cmp(Pt)===0)return true;var en=Wt.clone();var tn=this.curve.redN.redMul(this.z);for(;;){en.iadd(this.curve.n);if(en.cmp(this.curve.p)>=0)return false;Pt.redIAdd(tn);if(this.x.cmp(Pt)===0)return true}};Point.prototype.toP=Point.prototype.normalize;Point.prototype.mixedAdd=Point.prototype.add}});var Ql=__commonJS({"node_modules/elliptic/lib/elliptic/curve/index.js"(Wt){"use strict";var Pt=Wt;Pt.base=Vl();Pt.short=Rl();Pt.mont=wl();Pt.edwards=Fl()}});var fl=__commonJS({"node_modules/elliptic/lib/elliptic/precomputed/secp256k1.js"(Wt,Pt){"use strict";Pt.exports={doubles:{step:4,points:[["e60fce93b59e9ec53011aabc21c23e97b2a31369b87a5ae9c44ee89e2a6dec0a","f7e3507399e595929db99f34f57937101296891e44d23f0be1f32cce69616821"],["8282263212c609d9ea2a6e3e172de238d8c39cabd5ac1ca10646e23fd5f51508","11f8a8098557dfe45e8256e830b60ace62d613ac2f7b17bed31b6eaff6e26caf"],["175e159f728b865a72f99cc6c6fc846de0b93833fd2222ed73fce5b551e5b739","d3506e0d9e3c79eba4ef97a51ff71f5eacb5955add24345c6efa6ffee9fed695"],["363d90d447b00c9c99ceac05b6262ee053441c7e55552ffe526bad8f83ff4640","4e273adfc732221953b445397f3363145b9a89008199ecb62003c7f3bee9de9"],["8b4b5f165df3c2be8c6244b5b745638843e4a781a15bcd1b69f79a55dffdf80c","4aad0a6f68d308b4b3fbd7813ab0da04f9e336546162ee56b3eff0c65fd4fd36"],["723cbaa6e5db996d6bf771c00bd548c7b700dbffa6c0e77bcb6115925232fcda","96e867b5595cc498a921137488824d6e2660a0653779494801dc069d9eb39f5f"],["eebfa4d493bebf98ba5feec812c2d3b50947961237a919839a533eca0e7dd7fa","5d9a8ca3970ef0f269ee7edaf178089d9ae4cdc3a711f712ddfd4fdae1de8999"],["100f44da696e71672791d0a09b7bde459f1215a29b3c03bfefd7835b39a48db0","cdd9e13192a00b772ec8f3300c090666b7ff4a18ff5195ac0fbd5cd62bc65a09"],["e1031be262c7ed1b1dc9227a4a04c017a77f8d4464f3b3852c8acde6e534fd2d","9d7061928940405e6bb6a4176597535af292dd419e1ced79a44f18f29456a00d"],["feea6cae46d55b530ac2839f143bd7ec5cf8b266a41d6af52d5e688d9094696d","e57c6b6c97dce1bab06e4e12bf3ecd5c981c8957cc41442d3155debf18090088"],["da67a91d91049cdcb367be4be6ffca3cfeed657d808583de33fa978bc1ec6cb1","9bacaa35481642bc41f463f7ec9780e5dec7adc508f740a17e9ea8e27a68be1d"],["53904faa0b334cdda6e000935ef22151ec08d0f7bb11069f57545ccc1a37b7c0","5bc087d0bc80106d88c9eccac20d3c1c13999981e14434699dcb096b022771c8"],["8e7bcd0bd35983a7719cca7764ca906779b53a043a9b8bcaeff959f43ad86047","10b7770b2a3da4b3940310420ca9514579e88e2e47fd68b3ea10047e8460372a"],["385eed34c1cdff21e6d0818689b81bde71a7f4f18397e6690a841e1599c43862","283bebc3e8ea23f56701de19e9ebf4576b304eec2086dc8cc0458fe5542e5453"],["6f9d9b803ecf191637c73a4413dfa180fddf84a5947fbc9c606ed86c3fac3a7","7c80c68e603059ba69b8e2a30e45c4d47ea4dd2f5c281002d86890603a842160"],["3322d401243c4e2582a2147c104d6ecbf774d163db0f5e5313b7e0e742d0e6bd","56e70797e9664ef5bfb019bc4ddaf9b72805f63ea2873af624f3a2e96c28b2a0"],["85672c7d2de0b7da2bd1770d89665868741b3f9af7643397721d74d28134ab83","7c481b9b5b43b2eb6374049bfa62c2e5e77f17fcc5298f44c8e3094f790313a6"],["948bf809b1988a46b06c9f1919413b10f9226c60f668832ffd959af60c82a0a","53a562856dcb6646dc6b74c5d1c3418c6d4dff08c97cd2bed4cb7f88d8c8e589"],["6260ce7f461801c34f067ce0f02873a8f1b0e44dfc69752accecd819f38fd8e8","bc2da82b6fa5b571a7f09049776a1ef7ecd292238051c198c1a84e95b2b4ae17"],["e5037de0afc1d8d43d8348414bbf4103043ec8f575bfdc432953cc8d2037fa2d","4571534baa94d3b5f9f98d09fb990bddbd5f5b03ec481f10e0e5dc841d755bda"],["e06372b0f4a207adf5ea905e8f1771b4e7e8dbd1c6a6c5b725866a0ae4fce725","7a908974bce18cfe12a27bb2ad5a488cd7484a7787104870b27034f94eee31dd"],["213c7a715cd5d45358d0bbf9dc0ce02204b10bdde2a3f58540ad6908d0559754","4b6dad0b5ae462507013ad06245ba190bb4850f5f36a7eeddff2c27534b458f2"],["4e7c272a7af4b34e8dbb9352a5419a87e2838c70adc62cddf0cc3a3b08fbd53c","17749c766c9d0b18e16fd09f6def681b530b9614bff7dd33e0b3941817dcaae6"],["fea74e3dbe778b1b10f238ad61686aa5c76e3db2be43057632427e2840fb27b6","6e0568db9b0b13297cf674deccb6af93126b596b973f7b77701d3db7f23cb96f"],["76e64113f677cf0e10a2570d599968d31544e179b760432952c02a4417bdde39","c90ddf8dee4e95cf577066d70681f0d35e2a33d2b56d2032b4b1752d1901ac01"],["c738c56b03b2abe1e8281baa743f8f9a8f7cc643df26cbee3ab150242bcbb891","893fb578951ad2537f718f2eacbfbbbb82314eef7880cfe917e735d9699a84c3"],["d895626548b65b81e264c7637c972877d1d72e5f3a925014372e9f6588f6c14b","febfaa38f2bc7eae728ec60818c340eb03428d632bb067e179363ed75d7d991f"],["b8da94032a957518eb0f6433571e8761ceffc73693e84edd49150a564f676e03","2804dfa44805a1e4d7c99cc9762808b092cc584d95ff3b511488e4e74efdf6e7"],["e80fea14441fb33a7d8adab9475d7fab2019effb5156a792f1a11778e3c0df5d","eed1de7f638e00771e89768ca3ca94472d155e80af322ea9fcb4291b6ac9ec78"],["a301697bdfcd704313ba48e51d567543f2a182031efd6915ddc07bbcc4e16070","7370f91cfb67e4f5081809fa25d40f9b1735dbf7c0a11a130c0d1a041e177ea1"],["90ad85b389d6b936463f9d0512678de208cc330b11307fffab7ac63e3fb04ed4","e507a3620a38261affdcbd9427222b839aefabe1582894d991d4d48cb6ef150"],["8f68b9d2f63b5f339239c1ad981f162ee88c5678723ea3351b7b444c9ec4c0da","662a9f2dba063986de1d90c2b6be215dbbea2cfe95510bfdf23cbf79501fff82"],["e4f3fb0176af85d65ff99ff9198c36091f48e86503681e3e6686fd5053231e11","1e63633ad0ef4f1c1661a6d0ea02b7286cc7e74ec951d1c9822c38576feb73bc"],["8c00fa9b18ebf331eb961537a45a4266c7034f2f0d4e1d0716fb6eae20eae29e","efa47267fea521a1a9dc343a3736c974c2fadafa81e36c54e7d2a4c66702414b"],["e7a26ce69dd4829f3e10cec0a9e98ed3143d084f308b92c0997fddfc60cb3e41","2a758e300fa7984b471b006a1aafbb18d0a6b2c0420e83e20e8a9421cf2cfd51"],["b6459e0ee3662ec8d23540c223bcbdc571cbcb967d79424f3cf29eb3de6b80ef","67c876d06f3e06de1dadf16e5661db3c4b3ae6d48e35b2ff30bf0b61a71ba45"],["d68a80c8280bb840793234aa118f06231d6f1fc67e73c5a5deda0f5b496943e8","db8ba9fff4b586d00c4b1f9177b0e28b5b0e7b8f7845295a294c84266b133120"],["324aed7df65c804252dc0270907a30b09612aeb973449cea4095980fc28d3d5d","648a365774b61f2ff130c0c35aec1f4f19213b0c7e332843967224af96ab7c84"],["4df9c14919cde61f6d51dfdbe5fee5dceec4143ba8d1ca888e8bd373fd054c96","35ec51092d8728050974c23a1d85d4b5d506cdc288490192ebac06cad10d5d"],["9c3919a84a474870faed8a9c1cc66021523489054d7f0308cbfc99c8ac1f98cd","ddb84f0f4a4ddd57584f044bf260e641905326f76c64c8e6be7e5e03d4fc599d"],["6057170b1dd12fdf8de05f281d8e06bb91e1493a8b91d4cc5a21382120a959e5","9a1af0b26a6a4807add9a2daf71df262465152bc3ee24c65e899be932385a2a8"],["a576df8e23a08411421439a4518da31880cef0fba7d4df12b1a6973eecb94266","40a6bf20e76640b2c92b97afe58cd82c432e10a7f514d9f3ee8be11ae1b28ec8"],["7778a78c28dec3e30a05fe9629de8c38bb30d1f5cf9a3a208f763889be58ad71","34626d9ab5a5b22ff7098e12f2ff580087b38411ff24ac563b513fc1fd9f43ac"],["928955ee637a84463729fd30e7afd2ed5f96274e5ad7e5cb09eda9c06d903ac","c25621003d3f42a827b78a13093a95eeac3d26efa8a8d83fc5180e935bcd091f"],["85d0fef3ec6db109399064f3a0e3b2855645b4a907ad354527aae75163d82751","1f03648413a38c0be29d496e582cf5663e8751e96877331582c237a24eb1f962"],["ff2b0dce97eece97c1c9b6041798b85dfdfb6d8882da20308f5404824526087e","493d13fef524ba188af4c4dc54d07936c7b7ed6fb90e2ceb2c951e01f0c29907"],["827fbbe4b1e880ea9ed2b2e6301b212b57f1ee148cd6dd28780e5e2cf856e241","c60f9c923c727b0b71bef2c67d1d12687ff7a63186903166d605b68baec293ec"],["eaa649f21f51bdbae7be4ae34ce6e5217a58fdce7f47f9aa7f3b58fa2120e2b3","be3279ed5bbbb03ac69a80f89879aa5a01a6b965f13f7e59d47a5305ba5ad93d"],["e4a42d43c5cf169d9391df6decf42ee541b6d8f0c9a137401e23632dda34d24f","4d9f92e716d1c73526fc99ccfb8ad34ce886eedfa8d8e4f13a7f7131deba9414"],["1ec80fef360cbdd954160fadab352b6b92b53576a88fea4947173b9d4300bf19","aeefe93756b5340d2f3a4958a7abbf5e0146e77f6295a07b671cdc1cc107cefd"],["146a778c04670c2f91b00af4680dfa8bce3490717d58ba889ddb5928366642be","b318e0ec3354028add669827f9d4b2870aaa971d2f7e5ed1d0b297483d83efd0"],["fa50c0f61d22e5f07e3acebb1aa07b128d0012209a28b9776d76a8793180eef9","6b84c6922397eba9b72cd2872281a68a5e683293a57a213b38cd8d7d3f4f2811"],["da1d61d0ca721a11b1a5bf6b7d88e8421a288ab5d5bba5220e53d32b5f067ec2","8157f55a7c99306c79c0766161c91e2966a73899d279b48a655fba0f1ad836f1"],["a8e282ff0c9706907215ff98e8fd416615311de0446f1e062a73b0610d064e13","7f97355b8db81c09abfb7f3c5b2515888b679a3e50dd6bd6cef7c73111f4cc0c"],["174a53b9c9a285872d39e56e6913cab15d59b1fa512508c022f382de8319497c","ccc9dc37abfc9c1657b4155f2c47f9e6646b3a1d8cb9854383da13ac079afa73"],["959396981943785c3d3e57edf5018cdbe039e730e4918b3d884fdff09475b7ba","2e7e552888c331dd8ba0386a4b9cd6849c653f64c8709385e9b8abf87524f2fd"],["d2a63a50ae401e56d645a1153b109a8fcca0a43d561fba2dbb51340c9d82b151","e82d86fb6443fcb7565aee58b2948220a70f750af484ca52d4142174dcf89405"],["64587e2335471eb890ee7896d7cfdc866bacbdbd3839317b3436f9b45617e073","d99fcdd5bf6902e2ae96dd6447c299a185b90a39133aeab358299e5e9faf6589"],["8481bde0e4e4d885b3a546d3e549de042f0aa6cea250e7fd358d6c86dd45e458","38ee7b8cba5404dd84a25bf39cecb2ca900a79c42b262e556d64b1b59779057e"],["13464a57a78102aa62b6979ae817f4637ffcfed3c4b1ce30bcd6303f6caf666b","69be159004614580ef7e433453ccb0ca48f300a81d0942e13f495a907f6ecc27"],["bc4a9df5b713fe2e9aef430bcc1dc97a0cd9ccede2f28588cada3a0d2d83f366","d3a81ca6e785c06383937adf4b798caa6e8a9fbfa547b16d758d666581f33c1"],["8c28a97bf8298bc0d23d8c749452a32e694b65e30a9472a3954ab30fe5324caa","40a30463a3305193378fedf31f7cc0eb7ae784f0451cb9459e71dc73cbef9482"],["8ea9666139527a8c1dd94ce4f071fd23c8b350c5a4bb33748c4ba111faccae0","620efabbc8ee2782e24e7c0cfb95c5d735b783be9cf0f8e955af34a30e62b945"],["dd3625faef5ba06074669716bbd3788d89bdde815959968092f76cc4eb9a9787","7a188fa3520e30d461da2501045731ca941461982883395937f68d00c644a573"],["f710d79d9eb962297e4f6232b40e8f7feb2bc63814614d692c12de752408221e","ea98e67232d3b3295d3b535532115ccac8612c721851617526ae47a9c77bfc82"]]},naf:{wnd:7,points:[["f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9","388f7b0f632de8140fe337e62a37f3566500a99934c2231b6cb9fd7584b8e672"],["2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4","d8ac222636e5e3d6d4dba9dda6c9c426f788271bab0d6840dca87d3aa6ac62d6"],["5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc","6aebca40ba255960a3178d6d861a54dba813d0b813fde7b5a5082628087264da"],["acd484e2f0c7f65309ad178a9f559abde09796974c57e714c35f110dfc27ccbe","cc338921b0a7d9fd64380971763b61e9add888a4375f8e0f05cc262ac64f9c37"],["774ae7f858a9411e5ef4246b70c65aac5649980be5c17891bbec17895da008cb","d984a032eb6b5e190243dd56d7b7b365372db1e2dff9d6a8301d74c9c953c61b"],["f28773c2d975288bc7d1d205c3748651b075fbc6610e58cddeeddf8f19405aa8","ab0902e8d880a89758212eb65cdaf473a1a06da521fa91f29b5cb52db03ed81"],["d7924d4f7d43ea965a465ae3095ff41131e5946f3c85f79e44adbcf8e27e080e","581e2872a86c72a683842ec228cc6defea40af2bd896d3a5c504dc9ff6a26b58"],["defdea4cdb677750a420fee807eacf21eb9898ae79b9768766e4faa04a2d4a34","4211ab0694635168e997b0ead2a93daeced1f4a04a95c0f6cfb199f69e56eb77"],["2b4ea0a797a443d293ef5cff444f4979f06acfebd7e86d277475656138385b6c","85e89bc037945d93b343083b5a1c86131a01f60c50269763b570c854e5c09b7a"],["352bbf4a4cdd12564f93fa332ce333301d9ad40271f8107181340aef25be59d5","321eb4075348f534d59c18259dda3e1f4a1b3b2e71b1039c67bd3d8bcf81998c"],["2fa2104d6b38d11b0230010559879124e42ab8dfeff5ff29dc9cdadd4ecacc3f","2de1068295dd865b64569335bd5dd80181d70ecfc882648423ba76b532b7d67"],["9248279b09b4d68dab21a9b066edda83263c3d84e09572e269ca0cd7f5453714","73016f7bf234aade5d1aa71bdea2b1ff3fc0de2a887912ffe54a32ce97cb3402"],["daed4f2be3a8bf278e70132fb0beb7522f570e144bf615c07e996d443dee8729","a69dce4a7d6c98e8d4a1aca87ef8d7003f83c230f3afa726ab40e52290be1c55"],["c44d12c7065d812e8acf28d7cbb19f9011ecd9e9fdf281b0e6a3b5e87d22e7db","2119a460ce326cdc76c45926c982fdac0e106e861edf61c5a039063f0e0e6482"],["6a245bf6dc698504c89a20cfded60853152b695336c28063b61c65cbd269e6b4","e022cf42c2bd4a708b3f5126f16a24ad8b33ba48d0423b6efd5e6348100d8a82"],["1697ffa6fd9de627c077e3d2fe541084ce13300b0bec1146f95ae57f0d0bd6a5","b9c398f186806f5d27561506e4557433a2cf15009e498ae7adee9d63d01b2396"],["605bdb019981718b986d0f07e834cb0d9deb8360ffb7f61df982345ef27a7479","2972d2de4f8d20681a78d93ec96fe23c26bfae84fb14db43b01e1e9056b8c49"],["62d14dab4150bf497402fdc45a215e10dcb01c354959b10cfe31c7e9d87ff33d","80fc06bd8cc5b01098088a1950eed0db01aa132967ab472235f5642483b25eaf"],["80c60ad0040f27dade5b4b06c408e56b2c50e9f56b9b8b425e555c2f86308b6f","1c38303f1cc5c30f26e66bad7fe72f70a65eed4cbe7024eb1aa01f56430bd57a"],["7a9375ad6167ad54aa74c6348cc54d344cc5dc9487d847049d5eabb0fa03c8fb","d0e3fa9eca8726909559e0d79269046bdc59ea10c70ce2b02d499ec224dc7f7"],["d528ecd9b696b54c907a9ed045447a79bb408ec39b68df504bb51f459bc3ffc9","eecf41253136e5f99966f21881fd656ebc4345405c520dbc063465b521409933"],["49370a4b5f43412ea25f514e8ecdad05266115e4a7ecb1387231808f8b45963","758f3f41afd6ed428b3081b0512fd62a54c3f3afbb5b6764b653052a12949c9a"],["77f230936ee88cbbd73df930d64702ef881d811e0e1498e2f1c13eb1fc345d74","958ef42a7886b6400a08266e9ba1b37896c95330d97077cbbe8eb3c7671c60d6"],["f2dac991cc4ce4b9ea44887e5c7c0bce58c80074ab9d4dbaeb28531b7739f530","e0dedc9b3b2f8dad4da1f32dec2531df9eb5fbeb0598e4fd1a117dba703a3c37"],["463b3d9f662621fb1b4be8fbbe2520125a216cdfc9dae3debcba4850c690d45b","5ed430d78c296c3543114306dd8622d7c622e27c970a1de31cb377b01af7307e"],["f16f804244e46e2a09232d4aff3b59976b98fac14328a2d1a32496b49998f247","cedabd9b82203f7e13d206fcdf4e33d92a6c53c26e5cce26d6579962c4e31df6"],["caf754272dc84563b0352b7a14311af55d245315ace27c65369e15f7151d41d1","cb474660ef35f5f2a41b643fa5e460575f4fa9b7962232a5c32f908318a04476"],["2600ca4b282cb986f85d0f1709979d8b44a09c07cb86d7c124497bc86f082120","4119b88753c15bd6a693b03fcddbb45d5ac6be74ab5f0ef44b0be9475a7e4b40"],["7635ca72d7e8432c338ec53cd12220bc01c48685e24f7dc8c602a7746998e435","91b649609489d613d1d5e590f78e6d74ecfc061d57048bad9e76f302c5b9c61"],["754e3239f325570cdbbf4a87deee8a66b7f2b33479d468fbc1a50743bf56cc18","673fb86e5bda30fb3cd0ed304ea49a023ee33d0197a695d0c5d98093c536683"],["e3e6bd1071a1e96aff57859c82d570f0330800661d1c952f9fe2694691d9b9e8","59c9e0bba394e76f40c0aa58379a3cb6a5a2283993e90c4167002af4920e37f5"],["186b483d056a033826ae73d88f732985c4ccb1f32ba35f4b4cc47fdcf04aa6eb","3b952d32c67cf77e2e17446e204180ab21fb8090895138b4a4a797f86e80888b"],["df9d70a6b9876ce544c98561f4be4f725442e6d2b737d9c91a8321724ce0963f","55eb2dafd84d6ccd5f862b785dc39d4ab157222720ef9da217b8c45cf2ba2417"],["5edd5cc23c51e87a497ca815d5dce0f8ab52554f849ed8995de64c5f34ce7143","efae9c8dbc14130661e8cec030c89ad0c13c66c0d17a2905cdc706ab7399a868"],["290798c2b6476830da12fe02287e9e777aa3fba1c355b17a722d362f84614fba","e38da76dcd440621988d00bcf79af25d5b29c094db2a23146d003afd41943e7a"],["af3c423a95d9f5b3054754efa150ac39cd29552fe360257362dfdecef4053b45","f98a3fd831eb2b749a93b0e6f35cfb40c8cd5aa667a15581bc2feded498fd9c6"],["766dbb24d134e745cccaa28c99bf274906bb66b26dcf98df8d2fed50d884249a","744b1152eacbe5e38dcc887980da38b897584a65fa06cedd2c924f97cbac5996"],["59dbf46f8c94759ba21277c33784f41645f7b44f6c596a58ce92e666191abe3e","c534ad44175fbc300f4ea6ce648309a042ce739a7919798cd85e216c4a307f6e"],["f13ada95103c4537305e691e74e9a4a8dd647e711a95e73cb62dc6018cfd87b8","e13817b44ee14de663bf4bc808341f326949e21a6a75c2570778419bdaf5733d"],["7754b4fa0e8aced06d4167a2c59cca4cda1869c06ebadfb6488550015a88522c","30e93e864e669d82224b967c3020b8fa8d1e4e350b6cbcc537a48b57841163a2"],["948dcadf5990e048aa3874d46abef9d701858f95de8041d2a6828c99e2262519","e491a42537f6e597d5d28a3224b1bc25df9154efbd2ef1d2cbba2cae5347d57e"],["7962414450c76c1689c7b48f8202ec37fb224cf5ac0bfa1570328a8a3d7c77ab","100b610ec4ffb4760d5c1fc133ef6f6b12507a051f04ac5760afa5b29db83437"],["3514087834964b54b15b160644d915485a16977225b8847bb0dd085137ec47ca","ef0afbb2056205448e1652c48e8127fc6039e77c15c2378b7e7d15a0de293311"],["d3cc30ad6b483e4bc79ce2c9dd8bc54993e947eb8df787b442943d3f7b527eaf","8b378a22d827278d89c5e9be8f9508ae3c2ad46290358630afb34db04eede0a4"],["1624d84780732860ce1c78fcbfefe08b2b29823db913f6493975ba0ff4847610","68651cf9b6da903e0914448c6cd9d4ca896878f5282be4c8cc06e2a404078575"],["733ce80da955a8a26902c95633e62a985192474b5af207da6df7b4fd5fc61cd4","f5435a2bd2badf7d485a4d8b8db9fcce3e1ef8e0201e4578c54673bc1dc5ea1d"],["15d9441254945064cf1a1c33bbd3b49f8966c5092171e699ef258dfab81c045c","d56eb30b69463e7234f5137b73b84177434800bacebfc685fc37bbe9efe4070d"],["a1d0fcf2ec9de675b612136e5ce70d271c21417c9d2b8aaaac138599d0717940","edd77f50bcb5a3cab2e90737309667f2641462a54070f3d519212d39c197a629"],["e22fbe15c0af8ccc5780c0735f84dbe9a790badee8245c06c7ca37331cb36980","a855babad5cd60c88b430a69f53a1a7a38289154964799be43d06d77d31da06"],["311091dd9860e8e20ee13473c1155f5f69635e394704eaa74009452246cfa9b3","66db656f87d1f04fffd1f04788c06830871ec5a64feee685bd80f0b1286d8374"],["34c1fd04d301be89b31c0442d3e6ac24883928b45a9340781867d4232ec2dbdf","9414685e97b1b5954bd46f730174136d57f1ceeb487443dc5321857ba73abee"],["f219ea5d6b54701c1c14de5b557eb42a8d13f3abbcd08affcc2a5e6b049b8d63","4cb95957e83d40b0f73af4544cccf6b1f4b08d3c07b27fb8d8c2962a400766d1"],["d7b8740f74a8fbaab1f683db8f45de26543a5490bca627087236912469a0b448","fa77968128d9c92ee1010f337ad4717eff15db5ed3c049b3411e0315eaa4593b"],["32d31c222f8f6f0ef86f7c98d3a3335ead5bcd32abdd94289fe4d3091aa824bf","5f3032f5892156e39ccd3d7915b9e1da2e6dac9e6f26e961118d14b8462e1661"],["7461f371914ab32671045a155d9831ea8793d77cd59592c4340f86cbc18347b5","8ec0ba238b96bec0cbdddcae0aa442542eee1ff50c986ea6b39847b3cc092ff6"],["ee079adb1df1860074356a25aa38206a6d716b2c3e67453d287698bad7b2b2d6","8dc2412aafe3be5c4c5f37e0ecc5f9f6a446989af04c4e25ebaac479ec1c8c1e"],["16ec93e447ec83f0467b18302ee620f7e65de331874c9dc72bfd8616ba9da6b5","5e4631150e62fb40d0e8c2a7ca5804a39d58186a50e497139626778e25b0674d"],["eaa5f980c245f6f038978290afa70b6bd8855897f98b6aa485b96065d537bd99","f65f5d3e292c2e0819a528391c994624d784869d7e6ea67fb18041024edc07dc"],["78c9407544ac132692ee1910a02439958ae04877151342ea96c4b6b35a49f51","f3e0319169eb9b85d5404795539a5e68fa1fbd583c064d2462b675f194a3ddb4"],["494f4be219a1a77016dcd838431aea0001cdc8ae7a6fc688726578d9702857a5","42242a969283a5f339ba7f075e36ba2af925ce30d767ed6e55f4b031880d562c"],["a598a8030da6d86c6bc7f2f5144ea549d28211ea58faa70ebf4c1e665c1fe9b5","204b5d6f84822c307e4b4a7140737aec23fc63b65b35f86a10026dbd2d864e6b"],["c41916365abb2b5d09192f5f2dbeafec208f020f12570a184dbadc3e58595997","4f14351d0087efa49d245b328984989d5caf9450f34bfc0ed16e96b58fa9913"],["841d6063a586fa475a724604da03bc5b92a2e0d2e0a36acfe4c73a5514742881","73867f59c0659e81904f9a1c7543698e62562d6744c169ce7a36de01a8d6154"],["5e95bb399a6971d376026947f89bde2f282b33810928be4ded112ac4d70e20d5","39f23f366809085beebfc71181313775a99c9aed7d8ba38b161384c746012865"],["36e4641a53948fd476c39f8a99fd974e5ec07564b5315d8bf99471bca0ef2f66","d2424b1b1abe4eb8164227b085c9aa9456ea13493fd563e06fd51cf5694c78fc"],["336581ea7bfbbb290c191a2f507a41cf5643842170e914faeab27c2c579f726","ead12168595fe1be99252129b6e56b3391f7ab1410cd1e0ef3dcdcabd2fda224"],["8ab89816dadfd6b6a1f2634fcf00ec8403781025ed6890c4849742706bd43ede","6fdcef09f2f6d0a044e654aef624136f503d459c3e89845858a47a9129cdd24e"],["1e33f1a746c9c5778133344d9299fcaa20b0938e8acff2544bb40284b8c5fb94","60660257dd11b3aa9c8ed618d24edff2306d320f1d03010e33a7d2057f3b3b6"],["85b7c1dcb3cec1b7ee7f30ded79dd20a0ed1f4cc18cbcfcfa410361fd8f08f31","3d98a9cdd026dd43f39048f25a8847f4fcafad1895d7a633c6fed3c35e999511"],["29df9fbd8d9e46509275f4b125d6d45d7fbe9a3b878a7af872a2800661ac5f51","b4c4fe99c775a606e2d8862179139ffda61dc861c019e55cd2876eb2a27d84b"],["a0b1cae06b0a847a3fea6e671aaf8adfdfe58ca2f768105c8082b2e449fce252","ae434102edde0958ec4b19d917a6a28e6b72da1834aff0e650f049503a296cf2"],["4e8ceafb9b3e9a136dc7ff67e840295b499dfb3b2133e4ba113f2e4c0e121e5","cf2174118c8b6d7a4b48f6d534ce5c79422c086a63460502b827ce62a326683c"],["d24a44e047e19b6f5afb81c7ca2f69080a5076689a010919f42725c2b789a33b","6fb8d5591b466f8fc63db50f1c0f1c69013f996887b8244d2cdec417afea8fa3"],["ea01606a7a6c9cdd249fdfcfacb99584001edd28abbab77b5104e98e8e3b35d4","322af4908c7312b0cfbfe369f7a7b3cdb7d4494bc2823700cfd652188a3ea98d"],["af8addbf2b661c8a6c6328655eb96651252007d8c5ea31be4ad196de8ce2131f","6749e67c029b85f52a034eafd096836b2520818680e26ac8f3dfbcdb71749700"],["e3ae1974566ca06cc516d47e0fb165a674a3dabcfca15e722f0e3450f45889","2aeabe7e4531510116217f07bf4d07300de97e4874f81f533420a72eeb0bd6a4"],["591ee355313d99721cf6993ffed1e3e301993ff3ed258802075ea8ced397e246","b0ea558a113c30bea60fc4775460c7901ff0b053d25ca2bdeee98f1a4be5d196"],["11396d55fda54c49f19aa97318d8da61fa8584e47b084945077cf03255b52984","998c74a8cd45ac01289d5833a7beb4744ff536b01b257be4c5767bea93ea57a4"],["3c5d2a1ba39c5a1790000738c9e0c40b8dcdfd5468754b6405540157e017aa7a","b2284279995a34e2f9d4de7396fc18b80f9b8b9fdd270f6661f79ca4c81bd257"],["cc8704b8a60a0defa3a99a7299f2e9c3fbc395afb04ac078425ef8a1793cc030","bdd46039feed17881d1e0862db347f8cf395b74fc4bcdc4e940b74e3ac1f1b13"],["c533e4f7ea8555aacd9777ac5cad29b97dd4defccc53ee7ea204119b2889b197","6f0a256bc5efdf429a2fb6242f1a43a2d9b925bb4a4b3a26bb8e0f45eb596096"],["c14f8f2ccb27d6f109f6d08d03cc96a69ba8c34eec07bbcf566d48e33da6593","c359d6923bb398f7fd4473e16fe1c28475b740dd098075e6c0e8649113dc3a38"],["a6cbc3046bc6a450bac24789fa17115a4c9739ed75f8f21ce441f72e0b90e6ef","21ae7f4680e889bb130619e2c0f95a360ceb573c70603139862afd617fa9b9f"],["347d6d9a02c48927ebfb86c1359b1caf130a3c0267d11ce6344b39f99d43cc38","60ea7f61a353524d1c987f6ecec92f086d565ab687870cb12689ff1e31c74448"],["da6545d2181db8d983f7dcb375ef5866d47c67b1bf31c8cf855ef7437b72656a","49b96715ab6878a79e78f07ce5680c5d6673051b4935bd897fea824b77dc208a"],["c40747cc9d012cb1a13b8148309c6de7ec25d6945d657146b9d5994b8feb1111","5ca560753be2a12fc6de6caf2cb489565db936156b9514e1bb5e83037e0fa2d4"],["4e42c8ec82c99798ccf3a610be870e78338c7f713348bd34c8203ef4037f3502","7571d74ee5e0fb92a7a8b33a07783341a5492144cc54bcc40a94473693606437"],["3775ab7089bc6af823aba2e1af70b236d251cadb0c86743287522a1b3b0dedea","be52d107bcfa09d8bcb9736a828cfa7fac8db17bf7a76a2c42ad961409018cf7"],["cee31cbf7e34ec379d94fb814d3d775ad954595d1314ba8846959e3e82f74e26","8fd64a14c06b589c26b947ae2bcf6bfa0149ef0be14ed4d80f448a01c43b1c6d"],["b4f9eaea09b6917619f6ea6a4eb5464efddb58fd45b1ebefcdc1a01d08b47986","39e5c9925b5a54b07433a4f18c61726f8bb131c012ca542eb24a8ac07200682a"],["d4263dfc3d2df923a0179a48966d30ce84e2515afc3dccc1b77907792ebcc60e","62dfaf07a0f78feb30e30d6295853ce189e127760ad6cf7fae164e122a208d54"],["48457524820fa65a4f8d35eb6930857c0032acc0a4a2de422233eeda897612c4","25a748ab367979d98733c38a1fa1c2e7dc6cc07db2d60a9ae7a76aaa49bd0f77"],["dfeeef1881101f2cb11644f3a2afdfc2045e19919152923f367a1767c11cceda","ecfb7056cf1de042f9420bab396793c0c390bde74b4bbdff16a83ae09a9a7517"],["6d7ef6b17543f8373c573f44e1f389835d89bcbc6062ced36c82df83b8fae859","cd450ec335438986dfefa10c57fea9bcc521a0959b2d80bbf74b190dca712d10"],["e75605d59102a5a2684500d3b991f2e3f3c88b93225547035af25af66e04541f","f5c54754a8f71ee540b9b48728473e314f729ac5308b06938360990e2bfad125"],["eb98660f4c4dfaa06a2be453d5020bc99a0c2e60abe388457dd43fefb1ed620c","6cb9a8876d9cb8520609af3add26cd20a0a7cd8a9411131ce85f44100099223e"],["13e87b027d8514d35939f2e6892b19922154596941888336dc3563e3b8dba942","fef5a3c68059a6dec5d624114bf1e91aac2b9da568d6abeb2570d55646b8adf1"],["ee163026e9fd6fe017c38f06a5be6fc125424b371ce2708e7bf4491691e5764a","1acb250f255dd61c43d94ccc670d0f58f49ae3fa15b96623e5430da0ad6c62b2"],["b268f5ef9ad51e4d78de3a750c2dc89b1e626d43505867999932e5db33af3d80","5f310d4b3c99b9ebb19f77d41c1dee018cf0d34fd4191614003e945a1216e423"],["ff07f3118a9df035e9fad85eb6c7bfe42b02f01ca99ceea3bf7ffdba93c4750d","438136d603e858a3a5c440c38eccbaddc1d2942114e2eddd4740d098ced1f0d8"],["8d8b9855c7c052a34146fd20ffb658bea4b9f69e0d825ebec16e8c3ce2b526a1","cdb559eedc2d79f926baf44fb84ea4d44bcf50fee51d7ceb30e2e7f463036758"],["52db0b5384dfbf05bfa9d472d7ae26dfe4b851ceca91b1eba54263180da32b63","c3b997d050ee5d423ebaf66a6db9f57b3180c902875679de924b69d84a7b375"],["e62f9490d3d51da6395efd24e80919cc7d0f29c3f3fa48c6fff543becbd43352","6d89ad7ba4876b0b22c2ca280c682862f342c8591f1daf5170e07bfd9ccafa7d"],["7f30ea2476b399b4957509c88f77d0191afa2ff5cb7b14fd6d8e7d65aaab1193","ca5ef7d4b231c94c3b15389a5f6311e9daff7bb67b103e9880ef4bff637acaec"],["5098ff1e1d9f14fb46a210fada6c903fef0fb7b4a1dd1d9ac60a0361800b7a00","9731141d81fc8f8084d37c6e7542006b3ee1b40d60dfe5362a5b132fd17ddc0"],["32b78c7de9ee512a72895be6b9cbefa6e2f3c4ccce445c96b9f2c81e2778ad58","ee1849f513df71e32efc3896ee28260c73bb80547ae2275ba497237794c8753c"],["e2cb74fddc8e9fbcd076eef2a7c72b0ce37d50f08269dfc074b581550547a4f7","d3aa2ed71c9dd2247a62df062736eb0baddea9e36122d2be8641abcb005cc4a4"],["8438447566d4d7bedadc299496ab357426009a35f235cb141be0d99cd10ae3a8","c4e1020916980a4da5d01ac5e6ad330734ef0d7906631c4f2390426b2edd791f"],["4162d488b89402039b584c6fc6c308870587d9c46f660b878ab65c82c711d67e","67163e903236289f776f22c25fb8a3afc1732f2b84b4e95dbda47ae5a0852649"],["3fad3fa84caf0f34f0f89bfd2dcf54fc175d767aec3e50684f3ba4a4bf5f683d","cd1bc7cb6cc407bb2f0ca647c718a730cf71872e7d0d2a53fa20efcdfe61826"],["674f2600a3007a00568c1a7ce05d0816c1fb84bf1370798f1c69532faeb1a86b","299d21f9413f33b3edf43b257004580b70db57da0b182259e09eecc69e0d38a5"],["d32f4da54ade74abb81b815ad1fb3b263d82d6c692714bcff87d29bd5ee9f08f","f9429e738b8e53b968e99016c059707782e14f4535359d582fc416910b3eea87"],["30e4e670435385556e593657135845d36fbb6931f72b08cb1ed954f1e3ce3ff6","462f9bce619898638499350113bbc9b10a878d35da70740dc695a559eb88db7b"],["be2062003c51cc3004682904330e4dee7f3dcd10b01e580bf1971b04d4cad297","62188bc49d61e5428573d48a74e1c655b1c61090905682a0d5558ed72dccb9bc"],["93144423ace3451ed29e0fb9ac2af211cb6e84a601df5993c419859fff5df04a","7c10dfb164c3425f5c71a3f9d7992038f1065224f72bb9d1d902a6d13037b47c"],["b015f8044f5fcbdcf21ca26d6c34fb8197829205c7b7d2a7cb66418c157b112c","ab8c1e086d04e813744a655b2df8d5f83b3cdc6faa3088c1d3aea1454e3a1d5f"],["d5e9e1da649d97d89e4868117a465a3a4f8a18de57a140d36b3f2af341a21b52","4cb04437f391ed73111a13cc1d4dd0db1693465c2240480d8955e8592f27447a"],["d3ae41047dd7ca065dbf8ed77b992439983005cd72e16d6f996a5316d36966bb","bd1aeb21ad22ebb22a10f0303417c6d964f8cdd7df0aca614b10dc14d125ac46"],["463e2763d885f958fc66cdd22800f0a487197d0a82e377b49f80af87c897b065","bfefacdb0e5d0fd7df3a311a94de062b26b80c61fbc97508b79992671ef7ca7f"],["7985fdfd127c0567c6f53ec1bb63ec3158e597c40bfe747c83cddfc910641917","603c12daf3d9862ef2b25fe1de289aed24ed291e0ec6708703a5bd567f32ed03"],["74a1ad6b5f76e39db2dd249410eac7f99e74c59cb83d2d0ed5ff1543da7703e9","cc6157ef18c9c63cd6193d83631bbea0093e0968942e8c33d5737fd790e0db08"],["30682a50703375f602d416664ba19b7fc9bab42c72747463a71d0896b22f6da3","553e04f6b018b4fa6c8f39e7f311d3176290d0e0f19ca73f17714d9977a22ff8"],["9e2158f0d7c0d5f26c3791efefa79597654e7a2b2464f52b1ee6c1347769ef57","712fcdd1b9053f09003a3481fa7762e9ffd7c8ef35a38509e2fbf2629008373"],["176e26989a43c9cfeba4029c202538c28172e566e3c4fce7322857f3be327d66","ed8cc9d04b29eb877d270b4878dc43c19aefd31f4eee09ee7b47834c1fa4b1c3"],["75d46efea3771e6e68abb89a13ad747ecf1892393dfc4f1b7004788c50374da8","9852390a99507679fd0b86fd2b39a868d7efc22151346e1a3ca4726586a6bed8"],["809a20c67d64900ffb698c4c825f6d5f2310fb0451c869345b7319f645605721","9e994980d9917e22b76b061927fa04143d096ccc54963e6a5ebfa5f3f8e286c1"],["1b38903a43f7f114ed4500b4eac7083fdefece1cf29c63528d563446f972c180","4036edc931a60ae889353f77fd53de4a2708b26b6f5da72ad3394119daf408f9"]]}}}});var Hl=__commonJS({"node_modules/elliptic/lib/elliptic/curves.js"(Wt){"use strict";var Pt=Wt;var en=ul();var tn=Ql();var nn=Yl();var an=nn.assert;function PresetCurve(Wt){if(Wt.type==="short")this.curve=new tn.short(Wt);else if(Wt.type==="edwards")this.curve=new tn.edwards(Wt);else this.curve=new tn.mont(Wt);this.g=this.curve.g;this.n=this.curve.n;this.hash=Wt.hash;an(this.g.validate(),"Invalid curve");an(this.g.mul(this.n).isInfinity(),"Invalid curve, G*N != O")}Pt.PresetCurve=PresetCurve;function defineCurve(Wt,en){Object.defineProperty(Pt,Wt,{configurable:true,enumerable:true,get:function(){var tn=new PresetCurve(en);Object.defineProperty(Pt,Wt,{configurable:true,enumerable:true,value:tn});return tn}})}defineCurve("p192",{type:"short",prime:"p192",p:"ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff",a:"ffffffff ffffffff ffffffff fffffffe ffffffff fffffffc",b:"64210519 e59c80e7 0fa7e9ab 72243049 feb8deec c146b9b1",n:"ffffffff ffffffff ffffffff 99def836 146bc9b1 b4d22831",hash:en.sha256,gRed:false,g:["188da80e b03090f6 7cbf20eb 43a18800 f4ff0afd 82ff1012","07192b95 ffc8da78 631011ed 6b24cdd5 73f977a1 1e794811"]});defineCurve("p224",{type:"short",prime:"p224",p:"ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001",a:"ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff fffffffe",b:"b4050a85 0c04b3ab f5413256 5044b0b7 d7bfd8ba 270b3943 2355ffb4",n:"ffffffff ffffffff ffffffff ffff16a2 e0b8f03e 13dd2945 5c5c2a3d",hash:en.sha256,gRed:false,g:["b70e0cbd 6bb4bf7f 321390b9 4a03c1d3 56c21122 343280d6 115c1d21","bd376388 b5f723fb 4c22dfe6 cd4375a0 5a074764 44d58199 85007e34"]});defineCurve("p256",{type:"short",prime:null,p:"ffffffff 00000001 00000000 00000000 00000000 ffffffff ffffffff ffffffff",a:"ffffffff 00000001 00000000 00000000 00000000 ffffffff ffffffff fffffffc",b:"5ac635d8 aa3a93e7 b3ebbd55 769886bc 651d06b0 cc53b0f6 3bce3c3e 27d2604b",n:"ffffffff 00000000 ffffffff ffffffff bce6faad a7179e84 f3b9cac2 fc632551",hash:en.sha256,gRed:false,g:["6b17d1f2 e12c4247 f8bce6e5 63a440f2 77037d81 2deb33a0 f4a13945 d898c296","4fe342e2 fe1a7f9b 8ee7eb4a 7c0f9e16 2bce3357 6b315ece cbb64068 37bf51f5"]});defineCurve("p384",{type:"short",prime:null,p:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe ffffffff 00000000 00000000 ffffffff",a:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe ffffffff 00000000 00000000 fffffffc",b:"b3312fa7 e23ee7e4 988e056b e3f82d19 181d9c6e fe814112 0314088f 5013875a c656398d 8a2ed19d 2a85c8ed d3ec2aef",n:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff c7634d81 f4372ddf 581a0db2 48b0a77a ecec196a ccc52973",hash:en.sha384,gRed:false,g:["aa87ca22 be8b0537 8eb1c71e f320ad74 6e1d3b62 8ba79b98 59f741e0 82542a38 5502f25d bf55296c 3a545e38 72760ab7","3617de4a 96262c6f 5d9e98bf 9292dc29 f8f41dbd 289a147c e9da3113 b5f0b8c0 0a60b1ce 1d7e819d 7a431d7c 90ea0e5f"]});defineCurve("p521",{type:"short",prime:null,p:"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff",a:"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffc",b:"00000051 953eb961 8e1c9a1f 929a21a0 b68540ee a2da725b 99b315f3 b8b48991 8ef109e1 56193951 ec7e937b 1652c0bd 3bb1bf07 3573df88 3d2c34f1 ef451fd4 6b503f00",n:"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffa 51868783 bf2f966b 7fcc0148 f709a5d0 3bb5c9b8 899c47ae bb6fb71e 91386409",hash:en.sha512,gRed:false,g:["000000c6 858e06b7 0404e9cd 9e3ecb66 2395b442 9c648139 053fb521 f828af60 6b4d3dba a14b5e77 efe75928 fe1dc127 a2ffa8de 3348b3c1 856a429b f97e7e31 c2e5bd66","00000118 39296a78 9a3bc004 5c8a5fb4 2c7d1bd9 98f54449 579b4468 17afbd17 273e662c 97ee7299 5ef42640 c550b901 3fad0761 353c7086 a272c240 88be9476 9fd16650"]});defineCurve("curve25519",{type:"mont",prime:"p25519",p:"7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed",a:"76d06",b:"1",n:"1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed",hash:en.sha256,gRed:false,g:["9"]});defineCurve("ed25519",{type:"edwards",prime:"p25519",p:"7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed",a:"-1",c:"1",d:"52036cee2b6ffe73 8cc740797779e898 00700a4d4141d8ab 75eb4dca135978a3",n:"1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed",hash:en.sha256,gRed:false,g:["216936d3cd6e53fec0a4e231fdd6dc5c692cc7609525a7b2c9562d608f25d51a","6666666666666666666666666666666666666666666666666666666666666658"]});var In;try{In=fl()}catch(Wt){In=void 0}defineCurve("secp256k1",{type:"short",prime:"k256",p:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f",a:"0",b:"7",n:"ffffffff ffffffff ffffffff fffffffe baaedce6 af48a03b bfd25e8c d0364141",h:"1",hash:en.sha256,beta:"7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee",lambda:"5363ad4cc05c30e0a5261c028812645a122e22ea20816678df02967c1b23bd72",basis:[{a:"3086d221a7d46bcde86c90e49284eb15",b:"-e4437ed6010e88286f547fa90abfe4c3"},{a:"114ca50f7a8e2f3f657c1108d9d44cfd8",b:"3086d221a7d46bcde86c90e49284eb15"}],gRed:false,g:["79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798","483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8",In]})}});var Cl=__commonJS({"node_modules/hmac-drbg/lib/hmac-drbg.js"(Wt,Pt){"use strict";var en=ul();var tn=vl();var nn=qn();function HmacDRBG(Wt){if(!(this instanceof HmacDRBG))return new HmacDRBG(Wt);this.hash=Wt.hash;this.predResist=!!Wt.predResist;this.outLen=this.hash.outSize;this.minEntropy=Wt.minEntropy||this.hash.hmacStrength;this._reseed=null;this.reseedInterval=null;this.K=null;this.V=null;var Pt=tn.toArray(Wt.entropy,Wt.entropyEnc||"hex");var en=tn.toArray(Wt.nonce,Wt.nonceEnc||"hex");var an=tn.toArray(Wt.pers,Wt.persEnc||"hex");nn(Pt.length>=this.minEntropy/8,"Not enough entropy. Minimum is: "+this.minEntropy+" bits");this._init(Pt,en,an)}Pt.exports=HmacDRBG;HmacDRBG.prototype._init=function init(Wt,Pt,en){var tn=Wt.concat(Pt).concat(en);this.K=new Array(this.outLen/8);this.V=new Array(this.outLen/8);for(var nn=0;nn=this.minEntropy/8,"Not enough entropy. Minimum is: "+this.minEntropy+" bits");this._update(Wt.concat(en||[]));this._reseed=1};HmacDRBG.prototype.generate=function generate(Wt,Pt,en,nn){if(this._reseed>this.reseedInterval)throw new Error("Reseed is required");if(typeof Pt!=="string"){nn=en;en=Pt;Pt=null}if(en){en=tn.toArray(en,nn||"hex");this._update(en)}var an=[];while(an.length"}}});var kl=__commonJS({"node_modules/elliptic/lib/elliptic/ec/signature.js"(Wt,Pt){"use strict";var en=yl();var tn=Yl();var nn=tn.assert;function Signature(Wt,Pt){if(Wt instanceof Signature)return Wt;if(this._importDER(Wt,Pt))return;nn(Wt.r&&Wt.s,"Signature without r or s");this.r=new en(Wt.r,16);this.s=new en(Wt.s,16);if(Wt.recoveryParam===void 0)this.recoveryParam=null;else this.recoveryParam=Wt.recoveryParam}Pt.exports=Signature;function Position(){this.place=0}function getLength(Wt,Pt){var en=Wt[Pt.place++];if(!(en&128)){return en}var tn=en&15;if(tn===0||tn>4){return false}var nn=0;for(var an=0,In=Pt.place;an>>=0}if(nn<=127){return false}Pt.place=In;return nn}function rmPadding(Wt){var Pt=0;var en=Wt.length-1;while(!Wt[Pt]&&!(Wt[Pt+1]&128)&&Pt>>3);Wt.push(en|128);while(--en){Wt.push(Pt>>>(en<<3)&255)}Wt.push(Pt)}Signature.prototype.toDER=function toDER(Wt){var Pt=this.r.toArray();var en=this.s.toArray();if(Pt[0]&128)Pt=[0].concat(Pt);if(en[0]&128)en=[0].concat(en);Pt=rmPadding(Pt);en=rmPadding(en);while(!en[0]&&!(en[1]&128)){en=en.slice(1)}var nn=[2];constructLength(nn,Pt.length);nn=nn.concat(Pt);nn.push(2);constructLength(nn,en.length);var an=nn.concat(en);var In=[48];constructLength(In,an.length);In=In.concat(an);return tn.encode(In,Wt)}}});var Jl=__commonJS({"node_modules/elliptic/lib/elliptic/ec/index.js"(Wt,Pt){"use strict";var en=yl();var tn=Cl();var nn=Yl();var an=Hl();var In=El();var rn=nn.assert;var sn=Xl();var on=kl();function EC(Wt){if(!(this instanceof EC))return new EC(Wt);if(typeof Wt==="string"){rn(Object.prototype.hasOwnProperty.call(an,Wt),"Unknown curve "+Wt);Wt=an[Wt]}if(Wt instanceof an.PresetCurve)Wt={curve:Wt};this.curve=Wt.curve.curve;this.n=this.curve.n;this.nh=this.n.ushrn(1);this.g=this.curve.g;this.g=Wt.curve.g;this.g.precompute(Wt.curve.n.bitLength()+1);this.hash=Wt.hash||Wt.curve.hash}Pt.exports=EC;EC.prototype.keyPair=function keyPair(Wt){return new sn(this,Wt)};EC.prototype.keyFromPrivate=function keyFromPrivate(Wt,Pt){return sn.fromPrivate(this,Wt,Pt)};EC.prototype.keyFromPublic=function keyFromPublic(Wt,Pt){return sn.fromPublic(this,Wt,Pt)};EC.prototype.genKeyPair=function genKeyPair(Wt){if(!Wt)Wt={};var Pt=new tn({hash:this.hash,pers:Wt.pers,persEnc:Wt.persEnc||"utf8",entropy:Wt.entropy||In(this.hash.hmacStrength),entropyEnc:Wt.entropy&&Wt.entropyEnc||"utf8",nonce:this.n.toArray()});var nn=this.n.byteLength();var an=this.n.sub(new en(2));for(;;){var rn=new en(Pt.generate(nn));if(rn.cmp(an)>0)continue;rn.iaddn(1);return this.keyFromPrivate(rn)}};EC.prototype._truncateToN=function _truncateToN(Wt,Pt){var en=Wt.byteLength()*8-this.n.bitLength();if(en>0)Wt=Wt.ushrn(en);if(!Pt&&Wt.cmp(this.n)>=0)return Wt.sub(this.n);else return Wt};EC.prototype.sign=function sign(Wt,Pt,nn,an){if(typeof nn==="object"){an=nn;nn=null}if(!an)an={};Pt=this.keyFromPrivate(Pt,nn);Wt=this._truncateToN(new en(Wt,16));var In=this.n.byteLength();var rn=Pt.getPrivate().toArray("be",In);var sn=Wt.toArray("be",In);var cn=new tn({hash:this.hash,entropy:rn,nonce:sn,pers:an.pers,persEnc:an.persEnc||"utf8"});var dn=this.n.sub(new en(1));for(var un=0;;un++){var pn=an.k?an.k(un):new en(cn.generate(this.n.byteLength()));pn=this._truncateToN(pn,true);if(pn.cmpn(1)<=0||pn.cmp(dn)>=0)continue;var mn=this.g.mul(pn);if(mn.isInfinity())continue;var bn=mn.getX();var Gn=bn.umod(this.n);if(Gn.cmpn(0)===0)continue;var hn=pn.invm(this.n).mul(Gn.mul(Pt.getPrivate()).iadd(Wt));hn=hn.umod(this.n);if(hn.cmpn(0)===0)continue;var Zn=(mn.getY().isOdd()?1:0)|(bn.cmp(Gn)!==0?2:0);if(an.canonical&&hn.cmp(this.nh)>0){hn=this.n.sub(hn);Zn^=1}return new on({r:Gn,s:hn,recoveryParam:Zn})}};EC.prototype.verify=function verify(Wt,Pt,tn,nn){Wt=this._truncateToN(new en(Wt,16));tn=this.keyFromPublic(tn,nn);Pt=new on(Pt,"hex");var an=Pt.r;var In=Pt.s;if(an.cmpn(1)<0||an.cmp(this.n)>=0)return false;if(In.cmpn(1)<0||In.cmp(this.n)>=0)return false;var rn=In.invm(this.n);var sn=rn.mul(Wt).umod(this.n);var cn=rn.mul(an).umod(this.n);var dn;if(!this.curve._maxwellTrick){dn=this.g.mulAdd(sn,tn.getPublic(),cn);if(dn.isInfinity())return false;return dn.getX().umod(this.n).cmp(an)===0}dn=this.g.jmulAdd(sn,tn.getPublic(),cn);if(dn.isInfinity())return false;return dn.eqXToP(an)};EC.prototype.recoverPubKey=function(Wt,Pt,tn,nn){rn((3&tn)===tn,"The recovery param is more than two bits");Pt=new on(Pt,nn);var an=this.n;var In=new en(Wt);var sn=Pt.r;var cn=Pt.s;var dn=tn&1;var un=tn>>1;if(sn.cmp(this.curve.p.umod(this.curve.n))>=0&&un)throw new Error("Unable to find sencond key candinate");if(un)sn=this.curve.pointFromX(sn.add(this.curve.n),dn);else sn=this.curve.pointFromX(sn,dn);var pn=Pt.r.invm(an);var mn=an.sub(In).mul(pn).umod(an);var bn=cn.mul(pn).umod(an);return this.g.mulAdd(mn,sn,bn)};EC.prototype.getKeyRecoveryParam=function(Wt,Pt,en,tn){Pt=new on(Pt,tn);if(Pt.recoveryParam!==null)return Pt.recoveryParam;for(var nn=0;nn<4;nn++){var an;try{an=this.recoverPubKey(Wt,Pt,nn)}catch(Wt){continue}if(an.eq(en))return nn}throw new Error("Unable to find valid recovery factor")}}});var Ll=__commonJS({"node_modules/elliptic/lib/elliptic/eddsa/key.js"(Wt,Pt){"use strict";var en=Yl();var tn=en.assert;var nn=en.parseBytes;var an=en.cachedProperty;function KeyPair(Wt,Pt){this.eddsa=Wt;this._secret=nn(Pt.secret);if(Wt.isPoint(Pt.pub))this._pub=Pt.pub;else this._pubBytes=nn(Pt.pub)}KeyPair.fromPublic=function fromPublic(Wt,Pt){if(Pt instanceof KeyPair)return Pt;return new KeyPair(Wt,{pub:Pt})};KeyPair.fromSecret=function fromSecret(Wt,Pt){if(Pt instanceof KeyPair)return Pt;return new KeyPair(Wt,{secret:Pt})};KeyPair.prototype.secret=function secret(){return this._secret};an(KeyPair,"pubBytes",(function pubBytes(){return this.eddsa.encodePoint(this.pub())}));an(KeyPair,"pub",(function pub(){if(this._pubBytes)return this.eddsa.decodePoint(this._pubBytes);return this.eddsa.g.mul(this.priv())}));an(KeyPair,"privBytes",(function privBytes(){var Wt=this.eddsa;var Pt=this.hash();var en=Wt.encodingLength-1;var tn=Pt.slice(0,Wt.encodingLength);tn[0]&=248;tn[en]&=127;tn[en]|=64;return tn}));an(KeyPair,"priv",(function priv(){return this.eddsa.decodeInt(this.privBytes())}));an(KeyPair,"hash",(function hash(){return this.eddsa.hash().update(this.secret()).digest()}));an(KeyPair,"messagePrefix",(function messagePrefix(){return this.hash().slice(this.eddsa.encodingLength)}));KeyPair.prototype.sign=function sign(Wt){tn(this._secret,"KeyPair can only verify");return this.eddsa.sign(Wt,this)};KeyPair.prototype.verify=function verify(Wt,Pt){return this.eddsa.verify(Wt,Pt,this)};KeyPair.prototype.getSecret=function getSecret(Wt){tn(this._secret,"KeyPair is public only");return en.encode(this.secret(),Wt)};KeyPair.prototype.getPublic=function getPublic(Wt){return en.encode(this.pubBytes(),Wt)};Pt.exports=KeyPair}});var Bl=__commonJS({"node_modules/elliptic/lib/elliptic/eddsa/signature.js"(Wt,Pt){"use strict";var en=yl();var tn=Yl();var nn=tn.assert;var an=tn.cachedProperty;var In=tn.parseBytes;function Signature(Wt,Pt){this.eddsa=Wt;if(typeof Pt!=="object")Pt=In(Pt);if(Array.isArray(Pt)){Pt={R:Pt.slice(0,Wt.encodingLength),S:Pt.slice(Wt.encodingLength)}}nn(Pt.R&&Pt.S,"Signature without R or S");if(Wt.isPoint(Pt.R))this._R=Pt.R;if(Pt.S instanceof en)this._S=Pt.S;this._Rencoded=Array.isArray(Pt.R)?Pt.R:Pt.Rencoded;this._Sencoded=Array.isArray(Pt.S)?Pt.S:Pt.Sencoded}an(Signature,"S",(function S(){return this.eddsa.decodeInt(this.Sencoded())}));an(Signature,"R",(function R(){return this.eddsa.decodePoint(this.Rencoded())}));an(Signature,"Rencoded",(function Rencoded(){return this.eddsa.encodePoint(this.R())}));an(Signature,"Sencoded",(function Sencoded(){return this.eddsa.encodeInt(this.S())}));Signature.prototype.toBytes=function toBytes(){return this.Rencoded().concat(this.Sencoded())};Signature.prototype.toHex=function toHex(){return tn.encode(this.toBytes(),"hex").toUpperCase()};Pt.exports=Signature}});var xl=__commonJS({"node_modules/elliptic/lib/elliptic/eddsa/index.js"(Wt,Pt){"use strict";var en=ul();var tn=Hl();var nn=Yl();var an=nn.assert;var In=nn.parseBytes;var rn=Ll();var sn=Bl();function EDDSA(Wt){an(Wt==="ed25519","only tested with ed25519 so far");if(!(this instanceof EDDSA))return new EDDSA(Wt);Wt=tn[Wt].curve;this.curve=Wt;this.g=Wt.g;this.g.precompute(Wt.n.bitLength()+1);this.pointClass=Wt.point().constructor;this.encodingLength=Math.ceil(Wt.n.bitLength()/8);this.hash=en.sha512}Pt.exports=EDDSA;EDDSA.prototype.sign=function sign(Wt,Pt){Wt=In(Wt);var en=this.keyFromSecret(Pt);var tn=this.hashInt(en.messagePrefix(),Wt);var nn=this.g.mul(tn);var an=this.encodePoint(nn);var rn=this.hashInt(an,en.pubBytes(),Wt).mul(en.priv());var sn=tn.add(rn).umod(this.curve.n);return this.makeSignature({R:nn,S:sn,Rencoded:an})};EDDSA.prototype.verify=function verify(Wt,Pt,en){Wt=In(Wt);Pt=this.makeSignature(Pt);var tn=this.keyFromPublic(en);var nn=this.hashInt(Pt.Rencoded(),tn.pubBytes(),Wt);var an=this.g.mul(Pt.S());var rn=Pt.R().add(tn.pub().mul(nn));return rn.eq(an)};EDDSA.prototype.hashInt=function hashInt(){var Wt=this.hash();for(var Pt=0;Pt32){Gn.throwArgumentError("invalid length for "+Pt,"transaction:"+Pt,Wt)}return en}function accessSetify(Wt,Pt){return{address:(0,nn.getAddress)(Wt),storageKeys:(Pt||[]).map((function(Pt,en){if((0,In.hexDataLength)(Pt)!==32){Gn.throwArgumentError("invalid access list storageKey","accessList["+Wt+":"+en+"]",Pt)}return Pt.toLowerCase()}))}}function accessListify(Wt){if(Array.isArray(Wt)){return Wt.map((function(Wt,Pt){if(Array.isArray(Wt)){if(Wt.length>2){Gn.throwArgumentError("access list expected to be [ address, storageKeys[] ]","value["+Pt+"]",Wt)}return accessSetify(Wt[0],Wt[1])}return accessSetify(Wt.address,Wt.storageKeys)}))}var Pt=Object.keys(Wt).map((function(Pt){var en=Wt[Pt].reduce((function(Wt,Pt){Wt[Pt]=true;return Wt}),{});return accessSetify(Pt,Object.keys(en).sort())}));Pt.sort((function(Wt,Pt){return Wt.address.localeCompare(Pt.address)}));return Pt}Wt.accessListify=accessListify;function formatAccessList(Wt){return accessListify(Wt).map((function(Wt){return[Wt.address,Wt.storageKeys]}))}function _serializeEip1559(Wt,Pt){if(Wt.gasPrice!=null){var en=an.BigNumber.from(Wt.gasPrice);var tn=an.BigNumber.from(Wt.maxFeePerGas||0);if(!en.eq(tn)){Gn.throwArgumentError("mismatch EIP-1559 gasPrice != maxFeePerGas","tx",{gasPrice:en,maxFeePerGas:tn})}}var rn=[formatNumber(Wt.chainId||0,"chainId"),formatNumber(Wt.nonce||0,"nonce"),formatNumber(Wt.maxPriorityFeePerGas||0,"maxPriorityFeePerGas"),formatNumber(Wt.maxFeePerGas||0,"maxFeePerGas"),formatNumber(Wt.gasLimit||0,"gasLimit"),Wt.to!=null?(0,nn.getAddress)(Wt.to):"0x",formatNumber(Wt.value||0,"value"),Wt.data||"0x",formatAccessList(Wt.accessList||[])];if(Pt){var sn=(0,In.splitSignature)(Pt);rn.push(formatNumber(sn.recoveryParam,"recoveryParam"));rn.push((0,In.stripZeros)(sn.r));rn.push((0,In.stripZeros)(sn.s))}return(0,In.hexConcat)(["0x02",cn.encode(rn)])}function _serializeEip2930(Wt,Pt){var en=[formatNumber(Wt.chainId||0,"chainId"),formatNumber(Wt.nonce||0,"nonce"),formatNumber(Wt.gasPrice||0,"gasPrice"),formatNumber(Wt.gasLimit||0,"gasLimit"),Wt.to!=null?(0,nn.getAddress)(Wt.to):"0x",formatNumber(Wt.value||0,"value"),Wt.data||"0x",formatAccessList(Wt.accessList||[])];if(Pt){var tn=(0,In.splitSignature)(Pt);en.push(formatNumber(tn.recoveryParam,"recoveryParam"));en.push((0,In.stripZeros)(tn.r));en.push((0,In.stripZeros)(tn.s))}return(0,In.hexConcat)(["0x01",cn.encode(en)])}function _serialize(Wt,Pt){(0,on.checkProperties)(Wt,Nn);var en=[];Wn.forEach((function(Pt){var tn=Wt[Pt.name]||[];var nn={};if(Pt.numeric){nn.hexPad="left"}tn=(0,In.arrayify)((0,In.hexlify)(tn,nn));if(Pt.length&&tn.length!==Pt.length&&tn.length>0){Gn.throwArgumentError("invalid length for "+Pt.name,"transaction:"+Pt.name,tn)}if(Pt.maxLength){tn=(0,In.stripZeros)(tn);if(tn.length>Pt.maxLength){Gn.throwArgumentError("invalid length for "+Pt.name,"transaction:"+Pt.name,tn)}}en.push((0,In.hexlify)(tn))}));var tn=0;if(Wt.chainId!=null){tn=Wt.chainId;if(typeof tn!=="number"){Gn.throwArgumentError("invalid transaction.chainId","transaction",Wt)}}else if(Pt&&!(0,In.isBytesLike)(Pt)&&Pt.v>28){tn=Math.floor((Pt.v-35)/2)}if(tn!==0){en.push((0,In.hexlify)(tn));en.push("0x");en.push("0x")}if(!Pt){return cn.encode(en)}var nn=(0,In.splitSignature)(Pt);var an=27+nn.recoveryParam;if(tn!==0){en.pop();en.pop();en.pop();an+=tn*2+8;if(nn.v>28&&nn.v!==an){Gn.throwArgumentError("transaction.chainId/signature.v mismatch","signature",Pt)}}else if(nn.v!==an){Gn.throwArgumentError("transaction.chainId/signature.v mismatch","signature",Pt)}en.push((0,In.hexlify)(an));en.push((0,In.stripZeros)((0,In.arrayify)(nn.r)));en.push((0,In.stripZeros)((0,In.arrayify)(nn.s)));return cn.encode(en)}function serialize(Wt,Pt){if(Wt.type==null||Wt.type===0){if(Wt.accessList!=null){Gn.throwArgumentError("untyped transactions do not support accessList; include type: 1","transaction",Wt)}return _serialize(Wt,Pt)}switch(Wt.type){case 1:return _serializeEip2930(Wt,Pt);case 2:return _serializeEip1559(Wt,Pt);default:break}return Gn.throwError("unsupported transaction type: "+Wt.type,mn.Logger.errors.UNSUPPORTED_OPERATION,{operation:"serializeTransaction",transactionType:Wt.type})}Wt.serialize=serialize;function _parseEipSignature(Wt,Pt,en){try{var tn=handleNumber(Pt[0]).toNumber();if(tn!==0&&tn!==1){throw new Error("bad recid")}Wt.v=tn}catch(Wt){Gn.throwArgumentError("invalid v for transaction type: 1","v",Pt[0])}Wt.r=(0,In.hexZeroPad)(Pt[1],32);Wt.s=(0,In.hexZeroPad)(Pt[2],32);try{var nn=(0,sn.keccak256)(en(Wt));Wt.from=recoverAddress(nn,{r:Wt.r,s:Wt.s,recoveryParam:Wt.v})}catch(Wt){}}function _parseEip1559(Wt){var Pt=cn.decode(Wt.slice(1));if(Pt.length!==9&&Pt.length!==12){Gn.throwArgumentError("invalid component count for transaction type: 2","payload",(0,In.hexlify)(Wt))}var en=handleNumber(Pt[2]);var tn=handleNumber(Pt[3]);var nn={type:2,chainId:handleNumber(Pt[0]).toNumber(),nonce:handleNumber(Pt[1]).toNumber(),maxPriorityFeePerGas:en,maxFeePerGas:tn,gasPrice:null,gasLimit:handleNumber(Pt[4]),to:handleAddress(Pt[5]),value:handleNumber(Pt[6]),data:Pt[7],accessList:accessListify(Pt[8])};if(Pt.length===9){return nn}nn.hash=(0,sn.keccak256)(Wt);_parseEipSignature(nn,Pt.slice(9),_serializeEip1559);return nn}function _parseEip2930(Wt){var Pt=cn.decode(Wt.slice(1));if(Pt.length!==8&&Pt.length!==11){Gn.throwArgumentError("invalid component count for transaction type: 1","payload",(0,In.hexlify)(Wt))}var en={type:1,chainId:handleNumber(Pt[0]).toNumber(),nonce:handleNumber(Pt[1]).toNumber(),gasPrice:handleNumber(Pt[2]),gasLimit:handleNumber(Pt[3]),to:handleAddress(Pt[4]),value:handleNumber(Pt[5]),data:Pt[6],accessList:accessListify(Pt[7])};if(Pt.length===8){return en}en.hash=(0,sn.keccak256)(Wt);_parseEipSignature(en,Pt.slice(8),_serializeEip2930);return en}function _parse(Wt){var Pt=cn.decode(Wt);if(Pt.length!==9&&Pt.length!==6){Gn.throwArgumentError("invalid raw transaction","rawTransaction",Wt)}var en={nonce:handleNumber(Pt[0]).toNumber(),gasPrice:handleNumber(Pt[1]),gasLimit:handleNumber(Pt[2]),to:handleAddress(Pt[3]),value:handleNumber(Pt[4]),data:Pt[5],chainId:0};if(Pt.length===6){return en}try{en.v=an.BigNumber.from(Pt[6]).toNumber()}catch(Wt){return en}en.r=(0,In.hexZeroPad)(Pt[7],32);en.s=(0,In.hexZeroPad)(Pt[8],32);if(an.BigNumber.from(en.r).isZero()&&an.BigNumber.from(en.s).isZero()){en.chainId=en.v;en.v=0}else{en.chainId=Math.floor((en.v-35)/2);if(en.chainId<0){en.chainId=0}var tn=en.v-27;var nn=Pt.slice(0,6);if(en.chainId!==0){nn.push((0,In.hexlify)(en.chainId));nn.push("0x");nn.push("0x");tn-=en.chainId*2+8}var rn=(0,sn.keccak256)(cn.encode(nn));try{en.from=recoverAddress(rn,{r:(0,In.hexlify)(en.r),s:(0,In.hexlify)(en.s),recoveryParam:tn})}catch(Wt){}en.hash=(0,sn.keccak256)(Wt)}en.type=null;return en}function parse(Wt){var Pt=(0,In.arrayify)(Wt);if(Pt[0]>127){return _parse(Pt)}switch(Pt[0]){case 1:return _parseEip2930(Pt);case 2:return _parseEip1559(Pt);default:break}return Gn.throwError("unsupported transaction type: "+Pt[0],mn.Logger.errors.UNSUPPORTED_OPERATION,{operation:"parseTransaction",transactionType:Pt[0]})}Wt.parse=parse}});var Dl=__commonJS({"node_modules/@ethersproject/providers/lib/formatter.js"(Wt){"use strict";Object.defineProperty(Wt,"__esModule",{value:true});Wt.showThrottleMessage=Wt.isCommunityResource=Wt.isCommunityResourcable=Wt.Formatter=void 0;var Pt=_n();var en=hn();var tn=pn();var nn=Qn();var an=An();var In=Sl();var rn=dn();var sn=Nl();var on=new rn.Logger(sn.version);var cn=function(){function Formatter2(){this.formats=this.getDefaultFormats()}Formatter2.prototype.getDefaultFormats=function(){var Wt=this;var Pt={};var en=this.address.bind(this);var tn=this.bigNumber.bind(this);var nn=this.blockTag.bind(this);var In=this.data.bind(this);var rn=this.hash.bind(this);var sn=this.hex.bind(this);var on=this.number.bind(this);var cn=this.type.bind(this);var strictData=function(Pt){return Wt.data(Pt,true)};Pt.transaction={hash:rn,type:cn,accessList:Formatter2.allowNull(this.accessList.bind(this),null),blockHash:Formatter2.allowNull(rn,null),blockNumber:Formatter2.allowNull(on,null),transactionIndex:Formatter2.allowNull(on,null),confirmations:Formatter2.allowNull(on,null),from:en,gasPrice:Formatter2.allowNull(tn),maxPriorityFeePerGas:Formatter2.allowNull(tn),maxFeePerGas:Formatter2.allowNull(tn),gasLimit:tn,to:Formatter2.allowNull(en,null),value:tn,nonce:on,data:In,r:Formatter2.allowNull(this.uint256),s:Formatter2.allowNull(this.uint256),v:Formatter2.allowNull(on),creates:Formatter2.allowNull(en,null),raw:Formatter2.allowNull(In)};Pt.transactionRequest={from:Formatter2.allowNull(en),nonce:Formatter2.allowNull(on),gasLimit:Formatter2.allowNull(tn),gasPrice:Formatter2.allowNull(tn),maxPriorityFeePerGas:Formatter2.allowNull(tn),maxFeePerGas:Formatter2.allowNull(tn),to:Formatter2.allowNull(en),value:Formatter2.allowNull(tn),data:Formatter2.allowNull(strictData),type:Formatter2.allowNull(on),accessList:Formatter2.allowNull(this.accessList.bind(this),null)};Pt.receiptLog={transactionIndex:on,blockNumber:on,transactionHash:rn,address:en,topics:Formatter2.arrayOf(rn),data:In,logIndex:on,blockHash:rn};Pt.receipt={to:Formatter2.allowNull(this.address,null),from:Formatter2.allowNull(this.address,null),contractAddress:Formatter2.allowNull(en,null),transactionIndex:on,root:Formatter2.allowNull(sn),gasUsed:tn,logsBloom:Formatter2.allowNull(In),blockHash:rn,transactionHash:rn,logs:Formatter2.arrayOf(this.receiptLog.bind(this)),blockNumber:on,confirmations:Formatter2.allowNull(on,null),cumulativeGasUsed:tn,effectiveGasPrice:Formatter2.allowNull(tn),status:Formatter2.allowNull(on),type:cn};Pt.block={hash:Formatter2.allowNull(rn),parentHash:rn,number:on,timestamp:on,nonce:Formatter2.allowNull(sn),difficulty:this.difficulty.bind(this),gasLimit:tn,gasUsed:tn,miner:Formatter2.allowNull(en),extraData:In,transactions:Formatter2.allowNull(Formatter2.arrayOf(rn)),baseFeePerGas:Formatter2.allowNull(tn)};Pt.blockWithTransactions=(0,an.shallowCopy)(Pt.block);Pt.blockWithTransactions.transactions=Formatter2.allowNull(Formatter2.arrayOf(this.transactionResponse.bind(this)));Pt.filter={fromBlock:Formatter2.allowNull(nn,void 0),toBlock:Formatter2.allowNull(nn,void 0),blockHash:Formatter2.allowNull(rn,void 0),address:Formatter2.allowNull(en,void 0),topics:Formatter2.allowNull(this.topics.bind(this),void 0)};Pt.filterLog={blockNumber:Formatter2.allowNull(on),blockHash:Formatter2.allowNull(rn),transactionIndex:on,removed:Formatter2.allowNull(this.boolean.bind(this)),address:en,data:Formatter2.allowFalsish(In,"0x"),topics:Formatter2.arrayOf(rn),transactionHash:rn,logIndex:on};return Pt};Formatter2.prototype.accessList=function(Wt){return(0,In.accessListify)(Wt||[])};Formatter2.prototype.number=function(Wt){if(Wt==="0x"){return 0}return en.BigNumber.from(Wt).toNumber()};Formatter2.prototype.type=function(Wt){if(Wt==="0x"||Wt==null){return 0}return en.BigNumber.from(Wt).toNumber()};Formatter2.prototype.bigNumber=function(Wt){return en.BigNumber.from(Wt)};Formatter2.prototype.boolean=function(Wt){if(typeof Wt==="boolean"){return Wt}if(typeof Wt==="string"){Wt=Wt.toLowerCase();if(Wt==="true"){return true}if(Wt==="false"){return false}}throw new Error("invalid boolean - "+Wt)};Formatter2.prototype.hex=function(Wt,Pt){if(typeof Wt==="string"){if(!Pt&&Wt.substring(0,2)!=="0x"){Wt="0x"+Wt}if((0,tn.isHexString)(Wt)){return Wt.toLowerCase()}}return on.throwArgumentError("invalid hash","value",Wt)};Formatter2.prototype.data=function(Wt,Pt){var en=this.hex(Wt,Pt);if(en.length%2!==0){throw new Error("invalid data; odd-length - "+Wt)}return en};Formatter2.prototype.address=function(Wt){return(0,Pt.getAddress)(Wt)};Formatter2.prototype.callAddress=function(Wt){if(!(0,tn.isHexString)(Wt,32)){return null}var en=(0,Pt.getAddress)((0,tn.hexDataSlice)(Wt,12));return en===nn.AddressZero?null:en};Formatter2.prototype.contractAddress=function(Wt){return(0,Pt.getContractAddress)(Wt)};Formatter2.prototype.blockTag=function(Wt){if(Wt==null){return"latest"}if(Wt==="earliest"){return"0x0"}switch(Wt){case"earliest":return"0x0";case"latest":case"pending":case"safe":case"finalized":return Wt}if(typeof Wt==="number"||(0,tn.isHexString)(Wt)){return(0,tn.hexValue)(Wt)}throw new Error("invalid blockTag")};Formatter2.prototype.hash=function(Wt,Pt){var en=this.hex(Wt,Pt);if((0,tn.hexDataLength)(en)!==32){return on.throwArgumentError("invalid hash","value",Wt)}return en};Formatter2.prototype.difficulty=function(Wt){if(Wt==null){return null}var Pt=en.BigNumber.from(Wt);try{return Pt.toNumber()}catch(Wt){}return null};Formatter2.prototype.uint256=function(Wt){if(!(0,tn.isHexString)(Wt)){throw new Error("invalid uint256")}return(0,tn.hexZeroPad)(Wt,32)};Formatter2.prototype._block=function(Wt,Pt){if(Wt.author!=null&&Wt.miner==null){Wt.miner=Wt.author}var tn=Wt._difficulty!=null?Wt._difficulty:Wt.difficulty;var nn=Formatter2.check(Pt,Wt);nn._difficulty=tn==null?null:en.BigNumber.from(tn);return nn};Formatter2.prototype.block=function(Wt){return this._block(Wt,this.formats.block)};Formatter2.prototype.blockWithTransactions=function(Wt){return this._block(Wt,this.formats.blockWithTransactions)};Formatter2.prototype.transactionRequest=function(Wt){return Formatter2.check(this.formats.transactionRequest,Wt)};Formatter2.prototype.transactionResponse=function(Wt){if(Wt.gas!=null&&Wt.gasLimit==null){Wt.gasLimit=Wt.gas}if(Wt.to&&en.BigNumber.from(Wt.to).isZero()){Wt.to="0x0000000000000000000000000000000000000000"}if(Wt.input!=null&&Wt.data==null){Wt.data=Wt.input}if(Wt.to==null&&Wt.creates==null){Wt.creates=this.contractAddress(Wt)}if((Wt.type===1||Wt.type===2)&&Wt.accessList==null){Wt.accessList=[]}var Pt=Formatter2.check(this.formats.transaction,Wt);if(Wt.chainId!=null){var nn=Wt.chainId;if((0,tn.isHexString)(nn)){nn=en.BigNumber.from(nn).toNumber()}Pt.chainId=nn}else{var nn=Wt.networkId;if(nn==null&&Pt.v==null){nn=Wt.chainId}if((0,tn.isHexString)(nn)){nn=en.BigNumber.from(nn).toNumber()}if(typeof nn!=="number"&&Pt.v!=null){nn=(Pt.v-35)/2;if(nn<0){nn=0}nn=parseInt(nn)}if(typeof nn!=="number"){nn=0}Pt.chainId=nn}if(Pt.blockHash&&Pt.blockHash.replace(/0/g,"")==="x"){Pt.blockHash=null}return Pt};Formatter2.prototype.transaction=function(Wt){return(0,In.parse)(Wt)};Formatter2.prototype.receiptLog=function(Wt){return Formatter2.check(this.formats.receiptLog,Wt)};Formatter2.prototype.receipt=function(Wt){var Pt=Formatter2.check(this.formats.receipt,Wt);if(Pt.root!=null){if(Pt.root.length<=4){var tn=en.BigNumber.from(Pt.root).toNumber();if(tn===0||tn===1){if(Pt.status!=null&&Pt.status!==tn){on.throwArgumentError("alt-root-status/status mismatch","value",{root:Pt.root,status:Pt.status})}Pt.status=tn;delete Pt.root}else{on.throwArgumentError("invalid alt-root-status","value.root",Pt.root)}}else if(Pt.root.length!==66){on.throwArgumentError("invalid root hash","value.root",Pt.root)}}if(Pt.status!=null){Pt.byzantium=true}return Pt};Formatter2.prototype.topics=function(Wt){var Pt=this;if(Array.isArray(Wt)){return Wt.map((function(Wt){return Pt.topics(Wt)}))}else if(Wt!=null){return this.hash(Wt,true)}return null};Formatter2.prototype.filter=function(Wt){return Formatter2.check(this.formats.filter,Wt)};Formatter2.prototype.filterLog=function(Wt){return Formatter2.check(this.formats.filterLog,Wt)};Formatter2.check=function(Wt,Pt){var en={};for(var tn in Wt){try{var nn=Wt[tn](Pt[tn]);if(nn!==void 0){en[tn]=nn}}catch(Wt){Wt.checkKey=tn;Wt.checkValue=Pt[tn];throw Wt}}return en};Formatter2.allowNull=function(Wt,Pt){return function(en){if(en==null){return Pt}return Wt(en)}};Formatter2.allowFalsish=function(Wt,Pt){return function(en){if(!en){return Pt}return Wt(en)}};Formatter2.arrayOf=function(Wt){return function(Pt){if(!Array.isArray(Pt)){throw new Error("not an array")}var en=[];Pt.forEach((function(Pt){en.push(Wt(Pt))}));return en}};return Formatter2}();Wt.Formatter=cn;function isCommunityResourcable(Wt){return Wt&&typeof Wt.isCommunityResource==="function"}Wt.isCommunityResourcable=isCommunityResourcable;function isCommunityResource(Wt){return isCommunityResourcable(Wt)&&Wt.isCommunityResource()}Wt.isCommunityResource=isCommunityResource;var un=false;function showThrottleMessage(){if(un){return}un=true;console.log("========= NOTICE =========");console.log("Request-Rate Exceeded (this message will not be repeated)");console.log("");console.log("The default API keys for each service are provided as a highly-throttled,");console.log("community resource for low-traffic projects and early prototyping.");console.log("");console.log("While your application will continue to function, we highly recommended");console.log("signing up for your own API keys to improve performance, increase your");console.log("request rate/limit and enable other perks, such as metrics and advanced APIs.");console.log("");console.log("For more details: https://docs.ethers.io/api-keys/");console.log("==========================")}Wt.showThrottleMessage=showThrottleMessage}});var jl=__commonJS({"node_modules/@ethersproject/providers/lib/base-provider.js"(Wt){"use strict";var Pt=Wt&&Wt.__extends||function(){var extendStatics=function(Wt,Pt){extendStatics=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(Wt,Pt){Wt.__proto__=Pt}||function(Wt,Pt){for(var en in Pt)if(Object.prototype.hasOwnProperty.call(Pt,en))Wt[en]=Pt[en]};return extendStatics(Wt,Pt)};return function(Wt,Pt){if(typeof Pt!=="function"&&Pt!==null)throw new TypeError("Class extends value "+String(Pt)+" is not a constructor or null");extendStatics(Wt,Pt);function __(){this.constructor=Wt}Wt.prototype=Pt===null?Object.create(Pt):(__.prototype=Pt.prototype,new __)}}();var en=Wt&&Wt.__awaiter||function(Wt,Pt,en,tn){function adopt(Wt){return Wt instanceof en?Wt:new en((function(Pt){Pt(Wt)}))}return new(en||(en=Promise))((function(en,nn){function fulfilled(Wt){try{step(tn.next(Wt))}catch(Wt){nn(Wt)}}function rejected(Wt){try{step(tn["throw"](Wt))}catch(Wt){nn(Wt)}}function step(Wt){Wt.done?en(Wt.value):adopt(Wt.value).then(fulfilled,rejected)}step((tn=tn.apply(Wt,Pt||[])).next())}))};var tn=Wt&&Wt.__generator||function(Wt,Pt){var en={label:0,sent:function(){if(an[0]&1)throw an[1];return an[1]},trys:[],ops:[]},tn,nn,an,In;return In={next:verb(0),throw:verb(1),return:verb(2)},typeof Symbol==="function"&&(In[Symbol.iterator]=function(){return this}),In;function verb(Wt){return function(Pt){return step([Wt,Pt])}}function step(In){if(tn)throw new TypeError("Generator is already executing.");while(en)try{if(tn=1,nn&&(an=In[0]&2?nn["return"]:In[0]?nn["throw"]||((an=nn["return"])&&an.call(nn),0):nn.next)&&!(an=an.call(nn,In[1])).done)return an;if(nn=0,an)In=[In[0]&2,an.value];switch(In[0]){case 0:case 1:an=In;break;case 4:en.label++;return{value:In[1],done:false};case 5:en.label++;nn=In[1];In=[0];continue;case 7:In=en.ops.pop();en.trys.pop();continue;default:if(!(an=en.trys,an=an.length>0&&an[an.length-1])&&(In[0]===6||In[0]===2)){en=0;continue}if(In[0]===3&&(!an||In[1]>an[0]&&In[1]0&&Wt[Wt.length-1]==null){Wt.pop()}return Wt.map((function(Wt){if(Array.isArray(Wt)){var Pt={};Wt.forEach((function(Wt){Pt[checkTopic(Wt)]=true}));var en=Object.keys(Pt);en.sort();return en.join("|")}else{return checkTopic(Wt)}})).join("&")}function deserializeTopics(Wt){if(Wt===""){return[]}return Wt.split(/&/g).map((function(Wt){if(Wt===""){return[]}var Pt=Wt.split("|").map((function(Wt){return Wt==="null"?null:Wt}));return Pt.length===1?Pt[0]:Pt}))}function getEventTag(Wt){if(typeof Wt==="string"){Wt=Wt.toLowerCase();if((0,on.hexDataLength)(Wt)===32){return"tx:"+Wt}if(Wt.indexOf(":")===-1){return Wt}}else if(Array.isArray(Wt)){return"filter:*:"+serializeTopics(Wt)}else if(an.ForkEvent.isForkEvent(Wt)){Rn.warn("not implemented");throw new Error("not implemented")}else if(Wt&&typeof Wt==="object"){return"filter:"+(Wt.address||"*")+":"+serializeTopics(Wt.topics||[])}throw new Error("invalid event - "+Wt)}function getTime(){return(new Date).getTime()}function stall(Wt){return new Promise((function(Pt){setTimeout(Pt,Wt)}))}var fn=["block","network","pending","poll"];var Hn=function(){function Event2(Wt,Pt,en){(0,bn.defineReadOnly)(this,"tag",Wt);(0,bn.defineReadOnly)(this,"listener",Pt);(0,bn.defineReadOnly)(this,"once",en);this._lastBlockNumber=-2;this._inflight=false}Object.defineProperty(Event2.prototype,"event",{get:function(){switch(this.type){case"tx":return this.hash;case"filter":return this.filter}return this.tag},enumerable:false,configurable:true});Object.defineProperty(Event2.prototype,"type",{get:function(){return this.tag.split(":")[0]},enumerable:false,configurable:true});Object.defineProperty(Event2.prototype,"hash",{get:function(){var Wt=this.tag.split(":");if(Wt[0]!=="tx"){return null}return Wt[1]},enumerable:false,configurable:true});Object.defineProperty(Event2.prototype,"filter",{get:function(){var Wt=this.tag.split(":");if(Wt[0]!=="filter"){return null}var Pt=Wt[1];var en=deserializeTopics(Wt[2]);var tn={};if(en.length>0){tn.topics=en}if(Pt&&Pt!=="*"){tn.address=Pt}return tn},enumerable:false,configurable:true});Event2.prototype.pollable=function(){return this.tag.indexOf(":")>=0||fn.indexOf(this.tag)>=0};return Event2}();Wt.Event=Hn;var Cn={0:{symbol:"btc",p2pkh:0,p2sh:5,prefix:"bc"},2:{symbol:"ltc",p2pkh:48,p2sh:50,prefix:"ltc"},3:{symbol:"doge",p2pkh:30,p2sh:22},60:{symbol:"eth",ilk:"eth"},61:{symbol:"etc",ilk:"eth"},700:{symbol:"xdai",ilk:"eth"}};function bytes32ify(Wt){return(0,on.hexZeroPad)(sn.BigNumber.from(Wt).toHexString(),32)}function base58Encode(Wt){return rn.Base58.encode((0,on.concat)([Wt,(0,on.hexDataSlice)((0,Gn.sha256)((0,Gn.sha256)(Wt)),0,4)]))}var Xn=new RegExp("^(ipfs)://(.*)$","i");var kn=[new RegExp("^(https)://(.*)$","i"),new RegExp("^(data):(.*)$","i"),Xn,new RegExp("^eip155:[0-9]+/(erc[0-9]+):(.*)$","i")];function _parseString(Wt,Pt){try{return(0,Zn.toUtf8String)(_parseBytes(Wt,Pt))}catch(Wt){}return null}function _parseBytes(Wt,Pt){if(Wt==="0x"){return null}var en=sn.BigNumber.from((0,on.hexDataSlice)(Wt,Pt,Pt+32)).toNumber();var tn=sn.BigNumber.from((0,on.hexDataSlice)(Wt,en,en+32)).toNumber();return(0,on.hexDataSlice)(Wt,en+32,en+32+tn)}function getIpfsLink(Wt){if(Wt.match(/^ipfs:\/\/ipfs\//i)){Wt=Wt.substring(12)}else if(Wt.match(/^ipfs:\/\//i)){Wt=Wt.substring(7)}else{Rn.throwArgumentError("unsupported IPFS format","link",Wt)}return"https://gateway.ipfs.io/ipfs/"+Wt}function numPad(Wt){var Pt=(0,on.arrayify)(Wt);if(Pt.length>32){throw new Error("internal; should not happen")}var en=new Uint8Array(32);en.set(Pt,32-Pt.length);return en}function bytesPad(Wt){if(Wt.length%32===0){return Wt}var Pt=new Uint8Array(Math.ceil(Wt.length/32)*32);Pt.set(Wt);return Pt}function encodeBytes(Wt){var Pt=[];var en=0;for(var tn=0;tn=1&&an<=75){return base58Encode((0,on.concat)([[en.p2pkh],"0x"+nn[2]]))}}}if(en.p2sh!=null){var In=Pt.match(/^0xa9([0-9a-f][0-9a-f])([0-9a-f]*)87$/);if(In){var rn=parseInt(In[1],16);if(In[2].length===rn*2&&rn>=1&&rn<=75){return base58Encode((0,on.concat)([[en.p2sh],"0x"+In[2]]))}}}if(en.prefix!=null){var sn=tn[1];var cn=tn[0];if(cn===0){if(sn!==20&&sn!==32){cn=-1}}else{cn=-1}if(cn>=0&&tn.length===2+sn&&sn>=1&&sn<=75){var dn=gn.default.toWords(tn.slice(2));dn.unshift(cn);return gn.default.encode(en.prefix,dn)}}return null};Resolver2.prototype.getAddress=function(Wt){return en(this,void 0,void 0,(function(){var Pt,en,nn,an;return tn(this,(function(tn){switch(tn.label){case 0:if(Wt==null){Wt=60}if(!(Wt===60))return[3,4];tn.label=1;case 1:tn.trys.push([1,3,,4]);return[4,this._fetch("0x3b3b57de")];case 2:Pt=tn.sent();if(Pt==="0x"||Pt===cn.HashZero){return[2,null]}return[2,this.provider.formatter.callAddress(Pt)];case 3:en=tn.sent();if(en.code===vn.Logger.errors.CALL_EXCEPTION){return[2,null]}throw en;case 4:return[4,this._fetchBytes("0xf1cb7e06",bytes32ify(Wt))];case 5:nn=tn.sent();if(nn==null||nn==="0x"){return[2,null]}an=this._getAddress(Wt,nn);if(an==null){Rn.throwError("invalid or unsupported coin data",vn.Logger.errors.UNSUPPORTED_OPERATION,{operation:"getAddress("+Wt+")",coinType:Wt,data:nn})}return[2,an]}}))}))};Resolver2.prototype.getAvatar=function(){return en(this,void 0,void 0,(function(){var Wt,Pt,en,nn,an,In,rn,cn,dn,un,pn,mn,bn,Gn,hn,Zn,An,Nn,gn,yn,vn,Yn,En,Vn,Rn;return tn(this,(function(tn){switch(tn.label){case 0:Wt=[{type:"name",content:this.name}];tn.label=1;case 1:tn.trys.push([1,19,,20]);return[4,this.getText("avatar")];case 2:Pt=tn.sent();if(Pt==null){return[2,null]}en=0;tn.label=3;case 3:if(!(en=0?null:JSON.stringify({data:an,sender:en});return[4,(0,Wn.fetchJson)({url:on,errorPassThrough:true},cn,(function(Wt,Pt){Wt.status=Pt.statusCode;return Wt}))];case 2:dn=tn.sent();if(dn.data){return[2,dn.data]}un=dn.message||"unknown error";if(dn.status>=400&&dn.status<500){return[2,Rn.throwError("response not found during CCIP fetch: "+un,vn.Logger.errors.SERVER_ERROR,{url:sn,errorMessage:un})]}In.push(un);tn.label=3;case 3:rn++;return[3,1];case 4:return[2,Rn.throwError("error encountered during CCIP fetch: "+In.map((function(Wt){return JSON.stringify(Wt)})).join(", "),vn.Logger.errors.SERVER_ERROR,{urls:nn,errorMessages:In})]}}))}))};BaseProvider2.prototype._getInternalBlockNumber=function(Wt){return en(this,void 0,void 0,(function(){var Pt,en,nn,an,In;var rn=this;return tn(this,(function(tn){switch(tn.label){case 0:return[4,this._ready()];case 1:tn.sent();if(!(Wt>0))return[3,7];tn.label=2;case 2:if(!this._internalBlockNumber)return[3,7];Pt=this._internalBlockNumber;tn.label=3;case 3:tn.trys.push([3,5,,6]);return[4,Pt];case 4:en=tn.sent();if(getTime()-en.respTime<=Wt){return[2,en.blockNumber]}return[3,7];case 5:nn=tn.sent();if(this._internalBlockNumber===Pt){return[3,7]}return[3,6];case 6:return[3,2];case 7:an=getTime();In=(0,bn.resolveProperties)({blockNumber:this.perform("getBlockNumber",{}),networkError:this.getNetwork().then((function(Wt){return null}),(function(Wt){return Wt}))}).then((function(Wt){var Pt=Wt.blockNumber,en=Wt.networkError;if(en){if(rn._internalBlockNumber===In){rn._internalBlockNumber=null}throw en}var tn=getTime();Pt=sn.BigNumber.from(Pt).toNumber();if(Pt1e3){Rn.warn("network block skew detected; skipping block events (emitted="+this._emitted.block+" blockNumber"+en+")");this.emit("error",Rn.makeError("network block skew detected",vn.Logger.errors.NETWORK_ERROR,{blockNumber:en,event:"blockSkew",previousBlockNumber:this._emitted.block}));this.emit("block",en)}else{for(an=this._emitted.block+1;an<=en;an++){this.emit("block",an)}}if(this._emitted.block!==en){this._emitted.block=en;Object.keys(this._emitted).forEach((function(Wt){if(Wt==="block"){return}var Pt=In._emitted[Wt];if(Pt==="pending"){return}if(en-Pt>12){delete In._emitted[Wt]}}))}if(this._lastBlockNumber===-2){this._lastBlockNumber=en-1}this._events.forEach((function(Wt){switch(Wt.type){case"tx":{var tn=Wt.hash;var nn=In.getTransactionReceipt(tn).then((function(Wt){if(!Wt||Wt.blockNumber==null){return null}In._emitted["t:"+tn]=Wt.blockNumber;In.emit(tn,Wt);return null})).catch((function(Wt){In.emit("error",Wt)}));Pt.push(nn);break}case"filter":{if(!Wt._inflight){Wt._inflight=true;if(Wt._lastBlockNumber===-2){Wt._lastBlockNumber=en-1}var an=Wt.filter;an.fromBlock=Wt._lastBlockNumber+1;an.toBlock=en;var rn=an.toBlock-In._maxFilterBlockRange;if(rn>an.fromBlock){an.fromBlock=rn}if(an.fromBlock<0){an.fromBlock=0}var nn=In.getLogs(an).then((function(Pt){Wt._inflight=false;if(Pt.length===0){return}Pt.forEach((function(Pt){if(Pt.blockNumber>Wt._lastBlockNumber){Wt._lastBlockNumber=Pt.blockNumber}In._emitted["b:"+Pt.blockHash]=Pt.blockNumber;In._emitted["t:"+Pt.transactionHash]=Pt.blockNumber;In.emit(an,Pt)}))})).catch((function(Pt){In.emit("error",Pt);Wt._inflight=false}));Pt.push(nn)}break}}}));this._lastBlockNumber=en;Promise.all(Pt).then((function(){In.emit("didPoll",Wt)})).catch((function(Wt){In.emit("error",Wt)}));return[2]}}))}))};BaseProvider2.prototype.resetEventsBlock=function(Wt){this._lastBlockNumber=Wt-1;if(this.polling){this.poll()}};Object.defineProperty(BaseProvider2.prototype,"network",{get:function(){return this._network},enumerable:false,configurable:true});BaseProvider2.prototype.detectNetwork=function(){return en(this,void 0,void 0,(function(){return tn(this,(function(Wt){return[2,Rn.throwError("provider does not support network detection",vn.Logger.errors.UNSUPPORTED_OPERATION,{operation:"provider.detectNetwork"})]}))}))};BaseProvider2.prototype.getNetwork=function(){return en(this,void 0,void 0,(function(){var Wt,Pt,en;return tn(this,(function(tn){switch(tn.label){case 0:return[4,this._ready()];case 1:Wt=tn.sent();return[4,this.detectNetwork()];case 2:Pt=tn.sent();if(!(Wt.chainId!==Pt.chainId))return[3,5];if(!this.anyNetwork)return[3,4];this._network=Pt;this._lastBlockNumber=-2;this._fastBlockNumber=null;this._fastBlockNumberPromise=null;this._fastQueryDate=0;this._emitted.block=-2;this._maxInternalBlockNumber=-1024;this._internalBlockNumber=null;this.emit("network",Pt,Wt);return[4,stall(0)];case 3:tn.sent();return[2,this._network];case 4:en=Rn.makeError("underlying network changed",vn.Logger.errors.NETWORK_ERROR,{event:"changed",network:Wt,detectedNetwork:Pt});this.emit("error",en);throw en;case 5:return[2,Wt]}}))}))};Object.defineProperty(BaseProvider2.prototype,"blockNumber",{get:function(){var Wt=this;this._getInternalBlockNumber(100+this.pollingInterval/2).then((function(Pt){Wt._setFastBlockNumber(Pt)}),(function(Wt){}));return this._fastBlockNumber!=null?this._fastBlockNumber:-1},enumerable:false,configurable:true});Object.defineProperty(BaseProvider2.prototype,"polling",{get:function(){return this._poller!=null},set:function(Wt){var Pt=this;if(Wt&&!this._poller){this._poller=setInterval((function(){Pt.poll()}),this.pollingInterval);if(!this._bootstrapPoll){this._bootstrapPoll=setTimeout((function(){Pt.poll();Pt._bootstrapPoll=setTimeout((function(){if(!Pt._poller){Pt.poll()}Pt._bootstrapPoll=null}),Pt.pollingInterval)}),0)}}else if(!Wt&&this._poller){clearInterval(this._poller);this._poller=null}},enumerable:false,configurable:true});Object.defineProperty(BaseProvider2.prototype,"pollingInterval",{get:function(){return this._pollingInterval},set:function(Wt){var Pt=this;if(typeof Wt!=="number"||Wt<=0||parseInt(String(Wt))!=Wt){throw new Error("invalid polling interval")}this._pollingInterval=Wt;if(this._poller){clearInterval(this._poller);this._poller=setInterval((function(){Pt.poll()}),this._pollingInterval)}},enumerable:false,configurable:true});BaseProvider2.prototype._getFastBlockNumber=function(){var Wt=this;var Pt=getTime();if(Pt-this._fastQueryDate>2*this._pollingInterval){this._fastQueryDate=Pt;this._fastBlockNumberPromise=this.getBlockNumber().then((function(Pt){if(Wt._fastBlockNumber==null||Pt>Wt._fastBlockNumber){Wt._fastBlockNumber=Pt}return Wt._fastBlockNumber}))}return this._fastBlockNumberPromise};BaseProvider2.prototype._setFastBlockNumber=function(Wt){if(this._fastBlockNumber!=null&&Wtthis._fastBlockNumber){this._fastBlockNumber=Wt;this._fastBlockNumberPromise=Promise.resolve(Wt)}};BaseProvider2.prototype.waitForTransaction=function(Wt,Pt,nn){return en(this,void 0,void 0,(function(){return tn(this,(function(en){return[2,this._waitForTransaction(Wt,Pt==null?1:Pt,nn||0,null)]}))}))};BaseProvider2.prototype._waitForTransaction=function(Wt,Pt,nn,an){return en(this,void 0,void 0,(function(){var In;var rn=this;return tn(this,(function(sn){switch(sn.label){case 0:return[4,this.getTransactionReceipt(Wt)];case 1:In=sn.sent();if((In?In.confirmations:0)>=Pt){return[2,In]}return[2,new Promise((function(In,sn){var on=[];var cn=false;var alreadyDone=function(){if(cn){return true}cn=true;on.forEach((function(Wt){Wt()}));return false};var minedHandler=function(Wt){if(Wt.confirmations0){var pn=setTimeout((function(){if(alreadyDone()){return}sn(Rn.makeError("timeout exceeded",vn.Logger.errors.TIMEOUT,{timeout:nn}))}),nn);if(pn.unref){pn.unref()}on.push((function(){clearTimeout(pn)}))}}))]}}))}))};BaseProvider2.prototype.getBlockNumber=function(){return en(this,void 0,void 0,(function(){return tn(this,(function(Wt){return[2,this._getInternalBlockNumber(0)]}))}))};BaseProvider2.prototype.getGasPrice=function(){return en(this,void 0,void 0,(function(){var Wt;return tn(this,(function(Pt){switch(Pt.label){case 0:return[4,this.getNetwork()];case 1:Pt.sent();return[4,this.perform("getGasPrice",{})];case 2:Wt=Pt.sent();try{return[2,sn.BigNumber.from(Wt)]}catch(Pt){return[2,Rn.throwError("bad result from backend",vn.Logger.errors.SERVER_ERROR,{method:"getGasPrice",result:Wt,error:Pt})]}return[2]}}))}))};BaseProvider2.prototype.getBalance=function(Wt,Pt){return en(this,void 0,void 0,(function(){var en,nn;return tn(this,(function(tn){switch(tn.label){case 0:return[4,this.getNetwork()];case 1:tn.sent();return[4,(0,bn.resolveProperties)({address:this._getAddress(Wt),blockTag:this._getBlockTag(Pt)})];case 2:en=tn.sent();return[4,this.perform("getBalance",en)];case 3:nn=tn.sent();try{return[2,sn.BigNumber.from(nn)]}catch(Wt){return[2,Rn.throwError("bad result from backend",vn.Logger.errors.SERVER_ERROR,{method:"getBalance",params:en,result:nn,error:Wt})]}return[2]}}))}))};BaseProvider2.prototype.getTransactionCount=function(Wt,Pt){return en(this,void 0,void 0,(function(){var en,nn;return tn(this,(function(tn){switch(tn.label){case 0:return[4,this.getNetwork()];case 1:tn.sent();return[4,(0,bn.resolveProperties)({address:this._getAddress(Wt),blockTag:this._getBlockTag(Pt)})];case 2:en=tn.sent();return[4,this.perform("getTransactionCount",en)];case 3:nn=tn.sent();try{return[2,sn.BigNumber.from(nn).toNumber()]}catch(Wt){return[2,Rn.throwError("bad result from backend",vn.Logger.errors.SERVER_ERROR,{method:"getTransactionCount",params:en,result:nn,error:Wt})]}return[2]}}))}))};BaseProvider2.prototype.getCode=function(Wt,Pt){return en(this,void 0,void 0,(function(){var en,nn;return tn(this,(function(tn){switch(tn.label){case 0:return[4,this.getNetwork()];case 1:tn.sent();return[4,(0,bn.resolveProperties)({address:this._getAddress(Wt),blockTag:this._getBlockTag(Pt)})];case 2:en=tn.sent();return[4,this.perform("getCode",en)];case 3:nn=tn.sent();try{return[2,(0,on.hexlify)(nn)]}catch(Wt){return[2,Rn.throwError("bad result from backend",vn.Logger.errors.SERVER_ERROR,{method:"getCode",params:en,result:nn,error:Wt})]}return[2]}}))}))};BaseProvider2.prototype.getStorageAt=function(Wt,Pt,nn){return en(this,void 0,void 0,(function(){var en,an;return tn(this,(function(tn){switch(tn.label){case 0:return[4,this.getNetwork()];case 1:tn.sent();return[4,(0,bn.resolveProperties)({address:this._getAddress(Wt),blockTag:this._getBlockTag(nn),position:Promise.resolve(Pt).then((function(Wt){return(0,on.hexValue)(Wt)}))})];case 2:en=tn.sent();return[4,this.perform("getStorageAt",en)];case 3:an=tn.sent();try{return[2,(0,on.hexlify)(an)]}catch(Wt){return[2,Rn.throwError("bad result from backend",vn.Logger.errors.SERVER_ERROR,{method:"getStorageAt",params:en,result:an,error:Wt})]}return[2]}}))}))};BaseProvider2.prototype._wrapTransaction=function(Wt,Pt,nn){var an=this;if(Pt!=null&&(0,on.hexDataLength)(Pt)!==32){throw new Error("invalid response - sendTransaction")}var In=Wt;if(Pt!=null&&Wt.hash!==Pt){Rn.throwError("Transaction hash mismatch from Provider.sendTransaction.",vn.Logger.errors.UNKNOWN_ERROR,{expectedHash:Wt.hash,returnedHash:Pt})}In.wait=function(Pt,In){return en(an,void 0,void 0,(function(){var en,an;return tn(this,(function(tn){switch(tn.label){case 0:if(Pt==null){Pt=1}if(In==null){In=0}en=void 0;if(Pt!==0&&nn!=null){en={data:Wt.data,from:Wt.from,nonce:Wt.nonce,to:Wt.to,value:Wt.value,startBlock:nn}}return[4,this._waitForTransaction(Wt.hash,Pt,In,en)];case 1:an=tn.sent();if(an==null&&Pt===0){return[2,null]}this._emitted["t:"+Wt.hash]=an.blockNumber;if(an.status===0){Rn.throwError("transaction failed",vn.Logger.errors.CALL_EXCEPTION,{transactionHash:Wt.hash,transaction:Wt,receipt:an})}return[2,an]}}))}))};return In};BaseProvider2.prototype.sendTransaction=function(Wt){return en(this,void 0,void 0,(function(){var Pt,en,nn,an,In;return tn(this,(function(tn){switch(tn.label){case 0:return[4,this.getNetwork()];case 1:tn.sent();return[4,Promise.resolve(Wt).then((function(Wt){return(0,on.hexlify)(Wt)}))];case 2:Pt=tn.sent();en=this.formatter.transaction(Wt);if(en.confirmations==null){en.confirmations=0}return[4,this._getInternalBlockNumber(100+2*this.pollingInterval)];case 3:nn=tn.sent();tn.label=4;case 4:tn.trys.push([4,6,,7]);return[4,this.perform("sendTransaction",{signedTransaction:Pt})];case 5:an=tn.sent();return[2,this._wrapTransaction(en,an,nn)];case 6:In=tn.sent();In.transaction=en;In.transactionHash=en.hash;throw In;case 7:return[2]}}))}))};BaseProvider2.prototype._getTransactionRequest=function(Wt){return en(this,void 0,void 0,(function(){var Pt,en,nn,an;var In=this;return tn(this,(function(tn){switch(tn.label){case 0:return[4,Wt];case 1:Pt=tn.sent();en={};["from","to"].forEach((function(Wt){if(Pt[Wt]==null){return}en[Wt]=Promise.resolve(Pt[Wt]).then((function(Wt){return Wt?In._getAddress(Wt):null}))}));["gasLimit","gasPrice","maxFeePerGas","maxPriorityFeePerGas","value"].forEach((function(Wt){if(Pt[Wt]==null){return}en[Wt]=Promise.resolve(Pt[Wt]).then((function(Wt){return Wt?sn.BigNumber.from(Wt):null}))}));["type"].forEach((function(Wt){if(Pt[Wt]==null){return}en[Wt]=Promise.resolve(Pt[Wt]).then((function(Wt){return Wt!=null?Wt:null}))}));if(Pt.accessList){en.accessList=this.formatter.accessList(Pt.accessList)}["data"].forEach((function(Wt){if(Pt[Wt]==null){return}en[Wt]=Promise.resolve(Pt[Wt]).then((function(Wt){return Wt?(0,on.hexlify)(Wt):null}))}));an=(nn=this.formatter).transactionRequest;return[4,(0,bn.resolveProperties)(en)];case 2:return[2,an.apply(nn,[tn.sent()])]}}))}))};BaseProvider2.prototype._getFilter=function(Wt){return en(this,void 0,void 0,(function(){var Pt,en,nn;var an=this;return tn(this,(function(tn){switch(tn.label){case 0:return[4,Wt];case 1:Wt=tn.sent();Pt={};if(Wt.address!=null){Pt.address=this._getAddress(Wt.address)}["blockHash","topics"].forEach((function(en){if(Wt[en]==null){return}Pt[en]=Wt[en]}));["fromBlock","toBlock"].forEach((function(en){if(Wt[en]==null){return}Pt[en]=an._getBlockTag(Wt[en])}));nn=(en=this.formatter).filter;return[4,(0,bn.resolveProperties)(Pt)];case 2:return[2,nn.apply(en,[tn.sent()])]}}))}))};BaseProvider2.prototype._call=function(Wt,Pt,nn){return en(this,void 0,void 0,(function(){var en,an,In,rn,cn,dn,un,pn,mn,bn,Gn,hn,Zn,An,Wn,Nn;return tn(this,(function(tn){switch(tn.label){case 0:if(nn>=Fn){Rn.throwError("CCIP read exceeded maximum redirections",vn.Logger.errors.SERVER_ERROR,{redirects:nn,transaction:Wt})}en=Wt.to;return[4,this.perform("call",{transaction:Wt,blockTag:Pt})];case 1:an=tn.sent();if(!(nn>=0&&Pt==="latest"&&en!=null&&an.substring(0,10)==="0x556f1830"&&(0,on.hexDataLength)(an)%32===4))return[3,5];tn.label=2;case 2:tn.trys.push([2,4,,5]);In=(0,on.hexDataSlice)(an,4);rn=(0,on.hexDataSlice)(In,0,32);if(!sn.BigNumber.from(rn).eq(en)){Rn.throwError("CCIP Read sender did not match",vn.Logger.errors.CALL_EXCEPTION,{name:"OffchainLookup",signature:"OffchainLookup(address,string[],bytes,bytes4,bytes)",transaction:Wt,data:an})}cn=[];dn=sn.BigNumber.from((0,on.hexDataSlice)(In,32,64)).toNumber();un=sn.BigNumber.from((0,on.hexDataSlice)(In,dn,dn+32)).toNumber();pn=(0,on.hexDataSlice)(In,dn+32);for(mn=0;mnthis._emitted.block){return[2,null]}}return[2,void 0]}if(!Pt)return[3,8];en=null;In=0;tn.label=2;case 2:if(!(In0};BaseProvider2.prototype._stopEvent=function(Wt){this.polling=this._events.filter((function(Wt){return Wt.pollable()})).length>0};BaseProvider2.prototype._addEventListener=function(Wt,Pt,en){var tn=new Hn(getEventTag(Wt),Pt,en);this._events.push(tn);this._startEvent(tn);return this};BaseProvider2.prototype.on=function(Wt,Pt){return this._addEventListener(Wt,Pt,false)};BaseProvider2.prototype.once=function(Wt,Pt){return this._addEventListener(Wt,Pt,true)};BaseProvider2.prototype.emit=function(Wt){var Pt=this;var en=[];for(var tn=1;tn0&&an[an.length-1])&&(In[0]===6||In[0]===2)){en=0;continue}if(In[0]===3&&(!an||In[1]>an[0]&&In[1]=0){throw Wt}return rn.throwError("cannot estimate gas; transaction may fail or may require manual gas limit",an.Logger.errors.UNPREDICTABLE_GAS_LIMIT,{error:Wt,tx:Pt})}))}if(Pt.chainId==null){Pt.chainId=this.getChainId()}else{Pt.chainId=Promise.all([Promise.resolve(Pt.chainId),this.getChainId()]).then((function(Pt){if(Pt[1]!==0&&Pt[0]!==Pt[1]){rn.throwArgumentError("chainId address mismatch","transaction",Wt)}return Pt[0]}))}return[4,(0,nn.resolveProperties)(Pt)];case 6:return[2,un.sent()]}}))}))};Signer2.prototype._checkProvider=function(Wt){if(!this.provider){rn.throwError("missing provider",an.Logger.errors.UNSUPPORTED_OPERATION,{operation:Wt||"_checkProvider"})}};Signer2.isSigner=function(Wt){return!!(Wt&&Wt._isSigner)};return Signer2}();Wt.Signer=cn;var un=function(Wt){Pt(VoidSigner2,Wt);function VoidSigner2(Pt,en){var tn=Wt.call(this)||this;(0,nn.defineReadOnly)(tn,"address",Pt);(0,nn.defineReadOnly)(tn,"provider",en||null);return tn}VoidSigner2.prototype.getAddress=function(){return Promise.resolve(this.address)};VoidSigner2.prototype._fail=function(Wt,Pt){return Promise.resolve().then((function(){rn.throwError(Wt,an.Logger.errors.UNSUPPORTED_OPERATION,{operation:Pt})}))};VoidSigner2.prototype.signMessage=function(Wt){return this._fail("VoidSigner cannot sign messages","signMessage")};VoidSigner2.prototype.signTransaction=function(Wt){return this._fail("VoidSigner cannot sign transactions","signTransaction")};VoidSigner2.prototype._signTypedData=function(Wt,Pt,en){return this._fail("VoidSigner cannot sign typed data","signTypedData")};VoidSigner2.prototype.connect=function(Wt){return new VoidSigner2(this.address,Wt)};return VoidSigner2}(cn);Wt.VoidSigner=un}});var Pl=__commonJS({"node_modules/@ethersproject/providers/lib/json-rpc-provider.js"(Wt){"use strict";var Pt=Wt&&Wt.__extends||function(){var extendStatics=function(Wt,Pt){extendStatics=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(Wt,Pt){Wt.__proto__=Pt}||function(Wt,Pt){for(var en in Pt)if(Object.prototype.hasOwnProperty.call(Pt,en))Wt[en]=Pt[en]};return extendStatics(Wt,Pt)};return function(Wt,Pt){if(typeof Pt!=="function"&&Pt!==null)throw new TypeError("Class extends value "+String(Pt)+" is not a constructor or null");extendStatics(Wt,Pt);function __(){this.constructor=Wt}Wt.prototype=Pt===null?Object.create(Pt):(__.prototype=Pt.prototype,new __)}}();var en=Wt&&Wt.__awaiter||function(Wt,Pt,en,tn){function adopt(Wt){return Wt instanceof en?Wt:new en((function(Pt){Pt(Wt)}))}return new(en||(en=Promise))((function(en,nn){function fulfilled(Wt){try{step(tn.next(Wt))}catch(Wt){nn(Wt)}}function rejected(Wt){try{step(tn["throw"](Wt))}catch(Wt){nn(Wt)}}function step(Wt){Wt.done?en(Wt.value):adopt(Wt.value).then(fulfilled,rejected)}step((tn=tn.apply(Wt,Pt||[])).next())}))};var tn=Wt&&Wt.__generator||function(Wt,Pt){var en={label:0,sent:function(){if(an[0]&1)throw an[1];return an[1]},trys:[],ops:[]},tn,nn,an,In;return In={next:verb(0),throw:verb(1),return:verb(2)},typeof Symbol==="function"&&(In[Symbol.iterator]=function(){return this}),In;function verb(Wt){return function(Pt){return step([Wt,Pt])}}function step(In){if(tn)throw new TypeError("Generator is already executing.");while(en)try{if(tn=1,nn&&(an=In[0]&2?nn["return"]:In[0]?nn["throw"]||((an=nn["return"])&&an.call(nn),0):nn.next)&&!(an=an.call(nn,In[1])).done)return an;if(nn=0,an)In=[In[0]&2,an.value];switch(In[0]){case 0:case 1:an=In;break;case 4:en.label++;return{value:In[1],done:false};case 5:en.label++;nn=In[1];In=[0];continue;case 7:In=en.ops.pop();en.trys.pop();continue;default:if(!(an=en.trys,an=an.length>0&&an[an.length-1])&&(In[0]===6||In[0]===2)){en=0;continue}if(In[0]===3&&(!an||In[1]>an[0]&&In[1]=0&&an.match(/gas required exceeds allowance|always failing transaction|execution reverted|revert/)){Gn.throwError("cannot estimate gas; transaction may fail or may require manual gas limit",mn.Logger.errors.UNPREDICTABLE_GAS_LIMIT,{error:Pt,method:Wt,transaction:tn})}throw Pt}function timer(Wt){return new Promise((function(Pt){setTimeout(Pt,Wt)}))}function getResult(Wt){if(Wt.error){var Pt=new Error(Wt.error.message);Pt.code=Wt.error.code;Pt.data=Wt.error.data;throw Pt}return Wt.result}function getLowerCase(Wt){if(Wt){return Wt.toLowerCase()}return Wt}var Nn={};var gn=function(Wt){Pt(JsonRpcSigner2,Wt);function JsonRpcSigner2(Pt,en,tn){var nn=Wt.call(this)||this;if(Pt!==Nn){throw new Error("do not call the JsonRpcSigner constructor directly; use provider.getSigner")}(0,sn.defineReadOnly)(nn,"provider",en);if(tn==null){tn=0}if(typeof tn==="string"){(0,sn.defineReadOnly)(nn,"_address",nn.provider.formatter.address(tn));(0,sn.defineReadOnly)(nn,"_index",null)}else if(typeof tn==="number"){(0,sn.defineReadOnly)(nn,"_index",tn);(0,sn.defineReadOnly)(nn,"_address",null)}else{Gn.throwArgumentError("invalid address or index","addressOrIndex",tn)}return nn}JsonRpcSigner2.prototype.connect=function(Wt){return Gn.throwError("cannot alter JSON-RPC Signer connection",mn.Logger.errors.UNSUPPORTED_OPERATION,{operation:"connect"})};JsonRpcSigner2.prototype.connectUnchecked=function(){return new yn(Nn,this.provider,this._address||this._index)};JsonRpcSigner2.prototype.getAddress=function(){var Wt=this;if(this._address){return Promise.resolve(this._address)}return this.provider.send("eth_accounts",[]).then((function(Pt){if(Pt.length<=Wt._index){Gn.throwError("unknown account #"+Wt._index,mn.Logger.errors.UNSUPPORTED_OPERATION,{operation:"getAddress"})}return Wt.provider.formatter.address(Pt[Wt._index])}))};JsonRpcSigner2.prototype.sendUncheckedTransaction=function(Wt){var Pt=this;Wt=(0,sn.shallowCopy)(Wt);var nn=this.getAddress().then((function(Wt){if(Wt){Wt=Wt.toLowerCase()}return Wt}));if(Wt.gasLimit==null){var an=(0,sn.shallowCopy)(Wt);an.from=nn;Wt.gasLimit=this.provider.estimateGas(an)}if(Wt.to!=null){Wt.to=Promise.resolve(Wt.to).then((function(Wt){return en(Pt,void 0,void 0,(function(){var Pt;return tn(this,(function(en){switch(en.label){case 0:if(Wt==null){return[2,null]}return[4,this.provider.resolveName(Wt)];case 1:Pt=en.sent();if(Pt==null){Gn.throwArgumentError("provided ENS name resolves to null","tx.to",Wt)}return[2,Pt]}}))}))}))}return(0,sn.resolveProperties)({tx:(0,sn.resolveProperties)(Wt),sender:nn}).then((function(en){var tn=en.tx,nn=en.sender;if(tn.from!=null){if(tn.from.toLowerCase()!==nn){Gn.throwArgumentError("from address mismatch","transaction",Wt)}}else{tn.from=nn}var an=Pt.provider.constructor.hexlifyTransaction(tn,{from:true});return Pt.provider.send("eth_sendTransaction",[an]).then((function(Wt){return Wt}),(function(Wt){if(typeof Wt.message==="string"&&Wt.message.match(/user denied/i)){Gn.throwError("user rejected transaction",mn.Logger.errors.ACTION_REJECTED,{action:"sendTransaction",transaction:tn})}return checkError("sendTransaction",Wt,an)}))}))};JsonRpcSigner2.prototype.signTransaction=function(Wt){return Gn.throwError("signing transactions is unsupported",mn.Logger.errors.UNSUPPORTED_OPERATION,{operation:"signTransaction"})};JsonRpcSigner2.prototype.sendTransaction=function(Wt){return en(this,void 0,void 0,(function(){var Pt,nn,an;var In=this;return tn(this,(function(rn){switch(rn.label){case 0:return[4,this.provider._getInternalBlockNumber(100+2*this.provider.pollingInterval)];case 1:Pt=rn.sent();return[4,this.sendUncheckedTransaction(Wt)];case 2:nn=rn.sent();rn.label=3;case 3:rn.trys.push([3,5,,6]);return[4,(0,un.poll)((function(){return en(In,void 0,void 0,(function(){var Wt;return tn(this,(function(en){switch(en.label){case 0:return[4,this.provider.getTransaction(nn)];case 1:Wt=en.sent();if(Wt===null){return[2,void 0]}return[2,this.provider._wrapTransaction(Wt,nn,Pt)]}}))}))}),{oncePoll:this.provider})];case 4:return[2,rn.sent()];case 5:an=rn.sent();an.transactionHash=nn;throw an;case 6:return[2]}}))}))};JsonRpcSigner2.prototype.signMessage=function(Wt){return en(this,void 0,void 0,(function(){var Pt,en,nn;return tn(this,(function(tn){switch(tn.label){case 0:Pt=typeof Wt==="string"?(0,on.toUtf8Bytes)(Wt):Wt;return[4,this.getAddress()];case 1:en=tn.sent();tn.label=2;case 2:tn.trys.push([2,4,,5]);return[4,this.provider.send("personal_sign",[(0,In.hexlify)(Pt),en.toLowerCase()])];case 3:return[2,tn.sent()];case 4:nn=tn.sent();if(typeof nn.message==="string"&&nn.message.match(/user denied/i)){Gn.throwError("user rejected signing",mn.Logger.errors.ACTION_REJECTED,{action:"signMessage",from:en,messageData:Wt})}throw nn;case 5:return[2]}}))}))};JsonRpcSigner2.prototype._legacySignMessage=function(Wt){return en(this,void 0,void 0,(function(){var Pt,en,nn;return tn(this,(function(tn){switch(tn.label){case 0:Pt=typeof Wt==="string"?(0,on.toUtf8Bytes)(Wt):Wt;return[4,this.getAddress()];case 1:en=tn.sent();tn.label=2;case 2:tn.trys.push([2,4,,5]);return[4,this.provider.send("eth_sign",[en.toLowerCase(),(0,In.hexlify)(Pt)])];case 3:return[2,tn.sent()];case 4:nn=tn.sent();if(typeof nn.message==="string"&&nn.message.match(/user denied/i)){Gn.throwError("user rejected signing",mn.Logger.errors.ACTION_REJECTED,{action:"_legacySignMessage",from:en,messageData:Wt})}throw nn;case 5:return[2]}}))}))};JsonRpcSigner2.prototype._signTypedData=function(Wt,Pt,nn){return en(this,void 0,void 0,(function(){var en,an,In;var sn=this;return tn(this,(function(tn){switch(tn.label){case 0:return[4,rn._TypedDataEncoder.resolveNames(Wt,Pt,nn,(function(Wt){return sn.provider.resolveName(Wt)}))];case 1:en=tn.sent();return[4,this.getAddress()];case 2:an=tn.sent();tn.label=3;case 3:tn.trys.push([3,5,,6]);return[4,this.provider.send("eth_signTypedData_v4",[an.toLowerCase(),JSON.stringify(rn._TypedDataEncoder.getPayload(en.domain,Pt,en.value))])];case 4:return[2,tn.sent()];case 5:In=tn.sent();if(typeof In.message==="string"&&In.message.match(/user denied/i)){Gn.throwError("user rejected signing",mn.Logger.errors.ACTION_REJECTED,{action:"_signTypedData",from:an,messageData:{domain:en.domain,types:Pt,value:en.value}})}throw In;case 6:return[2]}}))}))};JsonRpcSigner2.prototype.unlock=function(Wt){return en(this,void 0,void 0,(function(){var Pt,en;return tn(this,(function(tn){switch(tn.label){case 0:Pt=this.provider;return[4,this.getAddress()];case 1:en=tn.sent();return[2,Pt.send("personal_unlockAccount",[en.toLowerCase(),Wt,null])]}}))}))};return JsonRpcSigner2}(nn.Signer);Wt.JsonRpcSigner=gn;var yn=function(Wt){Pt(UncheckedJsonRpcSigner2,Wt);function UncheckedJsonRpcSigner2(){return Wt!==null&&Wt.apply(this,arguments)||this}UncheckedJsonRpcSigner2.prototype.sendTransaction=function(Wt){var Pt=this;return this.sendUncheckedTransaction(Wt).then((function(Wt){return{hash:Wt,nonce:null,gasLimit:null,gasPrice:null,data:null,value:null,chainId:null,confirmations:0,from:null,wait:function(en){return Pt.provider.waitForTransaction(Wt,en)}}}))};return UncheckedJsonRpcSigner2}(gn);var vn={chainId:true,data:true,gasLimit:true,gasPrice:true,nonce:true,to:true,value:true,type:true,accessList:true,maxFeePerGas:true,maxPriorityFeePerGas:true};var Yn=function(Wt){Pt(JsonRpcProvider3,Wt);function JsonRpcProvider3(Pt,en){var tn=this;var nn=en;if(nn==null){nn=new Promise((function(Wt,Pt){setTimeout((function(){tn.detectNetwork().then((function(Pt){Wt(Pt)}),(function(Wt){Pt(Wt)}))}),0)}))}tn=Wt.call(this,nn)||this;if(!Pt){Pt=(0,sn.getStatic)(tn.constructor,"defaultUrl")()}if(typeof Pt==="string"){(0,sn.defineReadOnly)(tn,"connection",Object.freeze({url:Pt}))}else{(0,sn.defineReadOnly)(tn,"connection",Object.freeze((0,sn.shallowCopy)(Pt)))}tn._nextId=42;return tn}Object.defineProperty(JsonRpcProvider3.prototype,"_cache",{get:function(){if(this._eventLoopCache==null){this._eventLoopCache={}}return this._eventLoopCache},enumerable:false,configurable:true});JsonRpcProvider3.defaultUrl=function(){return"http://localhost:8545"};JsonRpcProvider3.prototype.detectNetwork=function(){var Wt=this;if(!this._cache["detectNetwork"]){this._cache["detectNetwork"]=this._uncachedDetectNetwork();setTimeout((function(){Wt._cache["detectNetwork"]=null}),0)}return this._cache["detectNetwork"]};JsonRpcProvider3.prototype._uncachedDetectNetwork=function(){return en(this,void 0,void 0,(function(){var Wt,Pt,en,nn;return tn(this,(function(tn){switch(tn.label){case 0:return[4,timer(0)];case 1:tn.sent();Wt=null;tn.label=2;case 2:tn.trys.push([2,4,,9]);return[4,this.send("eth_chainId",[])];case 3:Wt=tn.sent();return[3,9];case 4:Pt=tn.sent();tn.label=5;case 5:tn.trys.push([5,7,,8]);return[4,this.send("net_version",[])];case 6:Wt=tn.sent();return[3,8];case 7:en=tn.sent();return[3,8];case 8:return[3,9];case 9:if(Wt!=null){nn=(0,sn.getStatic)(this.constructor,"getNetwork");try{return[2,nn(an.BigNumber.from(Wt).toNumber())]}catch(Pt){return[2,Gn.throwError("could not detect network",mn.Logger.errors.NETWORK_ERROR,{chainId:Wt,event:"invalidNetwork",serverError:Pt})]}}return[2,Gn.throwError("could not detect network",mn.Logger.errors.NETWORK_ERROR,{event:"noNetwork"})]}}))}))};JsonRpcProvider3.prototype.getSigner=function(Wt){return new gn(Nn,this,Wt)};JsonRpcProvider3.prototype.getUncheckedSigner=function(Wt){return this.getSigner(Wt).connectUnchecked()};JsonRpcProvider3.prototype.listAccounts=function(){var Wt=this;return this.send("eth_accounts",[]).then((function(Pt){return Pt.map((function(Pt){return Wt.formatter.address(Pt)}))}))};JsonRpcProvider3.prototype.send=function(Wt,Pt){var en=this;var tn={method:Wt,params:Pt,id:this._nextId++,jsonrpc:"2.0"};this.emit("debug",{action:"request",request:(0,sn.deepCopy)(tn),provider:this});var nn=["eth_chainId","eth_blockNumber"].indexOf(Wt)>=0;if(nn&&this._cache[Wt]){return this._cache[Wt]}var an=(0,un.fetchJson)(this.connection,JSON.stringify(tn),getResult).then((function(Wt){en.emit("debug",{action:"response",request:tn,response:Wt,provider:en});return Wt}),(function(Wt){en.emit("debug",{action:"response",error:Wt,request:tn,provider:en});throw Wt}));if(nn){this._cache[Wt]=an;setTimeout((function(){en._cache[Wt]=null}),0)}return an};JsonRpcProvider3.prototype.prepareRequest=function(Wt,Pt){switch(Wt){case"getBlockNumber":return["eth_blockNumber",[]];case"getGasPrice":return["eth_gasPrice",[]];case"getBalance":return["eth_getBalance",[getLowerCase(Pt.address),Pt.blockTag]];case"getTransactionCount":return["eth_getTransactionCount",[getLowerCase(Pt.address),Pt.blockTag]];case"getCode":return["eth_getCode",[getLowerCase(Pt.address),Pt.blockTag]];case"getStorageAt":return["eth_getStorageAt",[getLowerCase(Pt.address),(0,In.hexZeroPad)(Pt.position,32),Pt.blockTag]];case"sendTransaction":return["eth_sendRawTransaction",[Pt.signedTransaction]];case"getBlock":if(Pt.blockTag){return["eth_getBlockByNumber",[Pt.blockTag,!!Pt.includeTransactions]]}else if(Pt.blockHash){return["eth_getBlockByHash",[Pt.blockHash,!!Pt.includeTransactions]]}return null;case"getTransaction":return["eth_getTransactionByHash",[Pt.transactionHash]];case"getTransactionReceipt":return["eth_getTransactionReceipt",[Pt.transactionHash]];case"call":{var en=(0,sn.getStatic)(this.constructor,"hexlifyTransaction");return["eth_call",[en(Pt.transaction,{from:true}),Pt.blockTag]]}case"estimateGas":{var en=(0,sn.getStatic)(this.constructor,"hexlifyTransaction");return["eth_estimateGas",[en(Pt.transaction,{from:true})]]}case"getLogs":if(Pt.filter&&Pt.filter.address!=null){Pt.filter.address=getLowerCase(Pt.filter.address)}return["eth_getLogs",[Pt.filter]];default:break}return null};JsonRpcProvider3.prototype.perform=function(Wt,Pt){return en(this,void 0,void 0,(function(){var en,nn,In,rn;return tn(this,(function(tn){switch(tn.label){case 0:if(!(Wt==="call"||Wt==="estimateGas"))return[3,2];en=Pt.transaction;if(!(en&&en.type!=null&&an.BigNumber.from(en.type).isZero()))return[3,2];if(!(en.maxFeePerGas==null&&en.maxPriorityFeePerGas==null))return[3,2];return[4,this.getFeeData()];case 1:nn=tn.sent();if(nn.maxFeePerGas==null&&nn.maxPriorityFeePerGas==null){Pt=(0,sn.shallowCopy)(Pt);Pt.transaction=(0,sn.shallowCopy)(en);delete Pt.transaction.type}tn.label=2;case 2:In=this.prepareRequest(Wt,Pt);if(In==null){Gn.throwError(Wt+" not implemented",mn.Logger.errors.NOT_IMPLEMENTED,{operation:Wt})}tn.label=3;case 3:tn.trys.push([3,5,,6]);return[4,this.send(In[0],In[1])];case 4:return[2,tn.sent()];case 5:rn=tn.sent();return[2,checkError(Wt,rn,Pt)];case 6:return[2]}}))}))};JsonRpcProvider3.prototype._startEvent=function(Pt){if(Pt.tag==="pending"){this._startPending()}Wt.prototype._startEvent.call(this,Pt)};JsonRpcProvider3.prototype._startPending=function(){if(this._pendingFilter!=null){return}var Wt=this;var Pt=this.send("eth_newPendingTransactionFilter",[]);this._pendingFilter=Pt;Pt.then((function(en){function poll(){Wt.send("eth_getFilterChanges",[en]).then((function(en){if(Wt._pendingFilter!=Pt){return null}var tn=Promise.resolve();en.forEach((function(Pt){Wt._emitted["t:"+Pt.toLowerCase()]="pending";tn=tn.then((function(){return Wt.getTransaction(Pt).then((function(Pt){Wt.emit("pending",Pt);return null}))}))}));return tn.then((function(){return timer(1e3)}))})).then((function(){if(Wt._pendingFilter!=Pt){Wt.send("eth_uninstallFilter",[en]);return}setTimeout((function(){poll()}),0);return null})).catch((function(Wt){}))}poll();return en})).catch((function(Wt){}))};JsonRpcProvider3.prototype._stopEvent=function(Pt){if(Pt.tag==="pending"&&this.listenerCount("pending")===0){this._pendingFilter=null}Wt.prototype._stopEvent.call(this,Pt)};JsonRpcProvider3.hexlifyTransaction=function(Wt,Pt){var en=(0,sn.shallowCopy)(vn);if(Pt){for(var tn in Pt){if(Pt[tn]){en[tn]=true}}}(0,sn.checkProperties)(Wt,en);var nn={};["chainId","gasLimit","gasPrice","type","maxFeePerGas","maxPriorityFeePerGas","nonce","value"].forEach((function(Pt){if(Wt[Pt]==null){return}var en=(0,In.hexValue)(an.BigNumber.from(Wt[Pt]));if(Pt==="gasLimit"){Pt="gas"}nn[Pt]=en}));["from","to","data"].forEach((function(Pt){if(Wt[Pt]==null){return}nn[Pt]=(0,In.hexlify)(Wt[Pt])}));if(Wt.accessList){nn["accessList"]=(0,cn.accessListify)(Wt.accessList)}return nn};return JsonRpcProvider3}(Zn.BaseProvider);Wt.JsonRpcProvider=Yn}});var ql=__commonJS({"node_modules/ws/lib/constants.js"(Wt,Pt){"use strict";Pt.exports={BINARY_TYPES:["nodebuffer","arraybuffer","fragments"],GUID:"258EAFA5-E914-47DA-95CA-C5AB0DC85B11",kStatusCode:Symbol("status-code"),kWebSocket:Symbol("websocket"),EMPTY_BUFFER:Buffer.alloc(0),NOOP:()=>{}}}});var $l=__commonJS({"node_modules/ws/lib/buffer-util.js"(Wt,Pt){"use strict";var{EMPTY_BUFFER:tn}=ql();function concat(Wt,Pt){if(Wt.length===0)return tn;if(Wt.length===1)return Wt[0];const en=Buffer.allocUnsafe(Pt);let nn=0;for(let Pt=0;Pt{this.pending--;this[tn]()};this.concurrency=Wt||Infinity;this.jobs=[];this.pending=0}add(Wt){this.jobs.push(Wt);this[tn]()}[tn](){if(this.pending===this.concurrency)return;if(this.jobs.length){const Wt=this.jobs.shift();this.pending++;Wt(this[en])}}};Pt.exports=nn}});var uI=__commonJS({"node_modules/ws/lib/permessage-deflate.js"(Wt,Pt){"use strict";var tn=en(43106);var nn=$l();var an=lI();var{kStatusCode:In,NOOP:rn}=ql();var sn=Buffer.from([0,0,255,255]);var on=Symbol("permessage-deflate");var cn=Symbol("total-length");var dn=Symbol("callback");var un=Symbol("buffers");var pn=Symbol("error");var mn;var bn=class{constructor(Wt,Pt,en){this._maxPayload=en|0;this._options=Wt||{};this._threshold=this._options.threshold!==void 0?this._options.threshold:1024;this._isServer=!!Pt;this._deflate=null;this._inflate=null;this.params=null;if(!mn){const Wt=this._options.concurrencyLimit!==void 0?this._options.concurrencyLimit:10;mn=new an(Wt)}}static get extensionName(){return"permessage-deflate"}offer(){const Wt={};if(this._options.serverNoContextTakeover){Wt.server_no_context_takeover=true}if(this._options.clientNoContextTakeover){Wt.client_no_context_takeover=true}if(this._options.serverMaxWindowBits){Wt.server_max_window_bits=this._options.serverMaxWindowBits}if(this._options.clientMaxWindowBits){Wt.client_max_window_bits=this._options.clientMaxWindowBits}else if(this._options.clientMaxWindowBits==null){Wt.client_max_window_bits=true}return Wt}accept(Wt){Wt=this.normalizeParams(Wt);this.params=this._isServer?this.acceptAsServer(Wt):this.acceptAsClient(Wt);return this.params}cleanup(){if(this._inflate){this._inflate.close();this._inflate=null}if(this._deflate){const Wt=this._deflate[dn];this._deflate.close();this._deflate=null;if(Wt){Wt(new Error("The deflate stream was closed while data was being processed"))}}}acceptAsServer(Wt){const Pt=this._options;const en=Wt.find((Wt=>{if(Pt.serverNoContextTakeover===false&&Wt.server_no_context_takeover||Wt.server_max_window_bits&&(Pt.serverMaxWindowBits===false||typeof Pt.serverMaxWindowBits==="number"&&Pt.serverMaxWindowBits>Wt.server_max_window_bits)||typeof Pt.clientMaxWindowBits==="number"&&!Wt.client_max_window_bits){return false}return true}));if(!en){throw new Error("None of the extension offers can be accepted")}if(Pt.serverNoContextTakeover){en.server_no_context_takeover=true}if(Pt.clientNoContextTakeover){en.client_no_context_takeover=true}if(typeof Pt.serverMaxWindowBits==="number"){en.server_max_window_bits=Pt.serverMaxWindowBits}if(typeof Pt.clientMaxWindowBits==="number"){en.client_max_window_bits=Pt.clientMaxWindowBits}else if(en.client_max_window_bits===true||Pt.clientMaxWindowBits===false){delete en.client_max_window_bits}return en}acceptAsClient(Wt){const Pt=Wt[0];if(this._options.clientNoContextTakeover===false&&Pt.client_no_context_takeover){throw new Error('Unexpected parameter "client_no_context_takeover"')}if(!Pt.client_max_window_bits){if(typeof this._options.clientMaxWindowBits==="number"){Pt.client_max_window_bits=this._options.clientMaxWindowBits}}else if(this._options.clientMaxWindowBits===false||typeof this._options.clientMaxWindowBits==="number"&&Pt.client_max_window_bits>this._options.clientMaxWindowBits){throw new Error('Unexpected or invalid parameter "client_max_window_bits"')}return Pt}normalizeParams(Wt){Wt.forEach((Wt=>{Object.keys(Wt).forEach((Pt=>{let en=Wt[Pt];if(en.length>1){throw new Error(`Parameter "${Pt}" must have only a single value`)}en=en[0];if(Pt==="client_max_window_bits"){if(en!==true){const Wt=+en;if(!Number.isInteger(Wt)||Wt<8||Wt>15){throw new TypeError(`Invalid value for parameter "${Pt}": ${en}`)}en=Wt}else if(!this._isServer){throw new TypeError(`Invalid value for parameter "${Pt}": ${en}`)}}else if(Pt==="server_max_window_bits"){const Wt=+en;if(!Number.isInteger(Wt)||Wt<8||Wt>15){throw new TypeError(`Invalid value for parameter "${Pt}": ${en}`)}en=Wt}else if(Pt==="client_no_context_takeover"||Pt==="server_no_context_takeover"){if(en!==true){throw new TypeError(`Invalid value for parameter "${Pt}": ${en}`)}}else{throw new Error(`Unknown parameter "${Pt}"`)}Wt[Pt]=en}))}));return Wt}decompress(Wt,Pt,en){mn.add((tn=>{this._decompress(Wt,Pt,((Wt,Pt)=>{tn();en(Wt,Pt)}))}))}compress(Wt,Pt,en){mn.add((tn=>{this._compress(Wt,Pt,((Wt,Pt)=>{tn();en(Wt,Pt)}))}))}_decompress(Wt,Pt,en){const an=this._isServer?"client":"server";if(!this._inflate){const Wt=`${an}_max_window_bits`;const Pt=typeof this.params[Wt]!=="number"?tn.Z_DEFAULT_WINDOWBITS:this.params[Wt];this._inflate=tn.createInflateRaw({...this._options.zlibInflateOptions,windowBits:Pt});this._inflate[on]=this;this._inflate[cn]=0;this._inflate[un]=[];this._inflate.on("error",inflateOnError);this._inflate.on("data",inflateOnData)}this._inflate[dn]=en;this._inflate.write(Wt);if(Pt)this._inflate.write(sn);this._inflate.flush((()=>{const Wt=this._inflate[pn];if(Wt){this._inflate.close();this._inflate=null;en(Wt);return}const tn=nn.concat(this._inflate[un],this._inflate[cn]);if(this._inflate._readableState.endEmitted){this._inflate.close();this._inflate=null}else{this._inflate[cn]=0;this._inflate[un]=[];if(Pt&&this.params[`${an}_no_context_takeover`]){this._inflate.reset()}}en(null,tn)}))}_compress(Wt,Pt,en){const an=this._isServer?"server":"client";if(!this._deflate){const Wt=`${an}_max_window_bits`;const Pt=typeof this.params[Wt]!=="number"?tn.Z_DEFAULT_WINDOWBITS:this.params[Wt];this._deflate=tn.createDeflateRaw({...this._options.zlibDeflateOptions,windowBits:Pt});this._deflate[cn]=0;this._deflate[un]=[];this._deflate.on("error",rn);this._deflate.on("data",deflateOnData)}this._deflate[dn]=en;this._deflate.write(Wt);this._deflate.flush(tn.Z_SYNC_FLUSH,(()=>{if(!this._deflate){return}let Wt=nn.concat(this._deflate[un],this._deflate[cn]);if(Pt)Wt=Wt.slice(0,Wt.length-4);this._deflate[dn]=null;this._deflate[cn]=0;this._deflate[un]=[];if(Pt&&this.params[`${an}_no_context_takeover`]){this._deflate.reset()}en(null,Wt)}))}};Pt.exports=bn;function deflateOnData(Wt){this[un].push(Wt);this[cn]+=Wt.length}function inflateOnData(Wt){this[cn]+=Wt.length;if(this[on]._maxPayload<1||this[cn]<=this[on]._maxPayload){this[un].push(Wt);return}this[pn]=new RangeError("Max payload size exceeded");this[pn][In]=1009;this.removeListener("data",inflateOnData);this.reset()}function inflateOnError(Wt){this[on]._inflate=null;Wt[In]=1007;this[dn](Wt)}}});var mI=__commonJS({"node_modules/ws/lib/validation.js"(Wt,Pt){"use strict";function isValidStatusCode(Wt){return Wt>=1e3&&Wt<=1014&&Wt!==1004&&Wt!==1005&&Wt!==1006||Wt>=3e3&&Wt<=4999}function _isValidUTF8(Wt){const Pt=Wt.length;let en=0;while(en=Pt||(Wt[en+1]&192)!==128||(Wt[en+2]&192)!==128||Wt[en]===224&&(Wt[en+1]&224)===128||Wt[en]===237&&(Wt[en+1]&224)===160){return false}en+=3}else if((Wt[en]&248)===240){if(en+3>=Pt||(Wt[en+1]&192)!==128||(Wt[en+2]&192)!==128||(Wt[en+3]&192)!==128||Wt[en]===240&&(Wt[en+1]&240)===128||Wt[en]===244&&Wt[en+1]>143||Wt[en]>244){return false}en+=4}else{return false}}return true}try{let Wt=en(62414);if(typeof Wt==="object"){Wt=Wt.Validation.isValidUTF8}Pt.exports={isValidStatusCode:isValidStatusCode,isValidUTF8(Pt){return Pt.length<150?_isValidUTF8(Pt):Wt(Pt)}}}catch(Wt){Pt.exports={isValidStatusCode:isValidStatusCode,isValidUTF8:_isValidUTF8}}}});var ZI=__commonJS({"node_modules/ws/lib/receiver.js"(Wt,Pt){"use strict";var{Writable:tn}=en(2203);var nn=uI();var{BINARY_TYPES:an,EMPTY_BUFFER:In,kStatusCode:rn,kWebSocket:sn}=ql();var{concat:on,toArrayBuffer:cn,unmask:dn}=$l();var{isValidStatusCode:un,isValidUTF8:pn}=mI();var mn=0;var bn=1;var Gn=2;var hn=3;var Zn=4;var An=5;var Wn=class extends tn{constructor(Wt,Pt,en,tn){super();this._binaryType=Wt||an[0];this[sn]=void 0;this._extensions=Pt||{};this._isServer=!!en;this._maxPayload=tn|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._state=mn;this._loop=false}_write(Wt,Pt,en){if(this._opcode===8&&this._state==mn)return en();this._bufferedBytes+=Wt.length;this._buffers.push(Wt);this.startLoop(en)}consume(Wt){this._bufferedBytes-=Wt;if(Wt===this._buffers[0].length)return this._buffers.shift();if(Wt=en.length){Pt.set(this._buffers.shift(),tn)}else{Pt.set(new Uint8Array(en.buffer,en.byteOffset,Wt),tn);this._buffers[0]=en.slice(Wt)}Wt-=en.length}while(Wt>0);return Pt}startLoop(Wt){let Pt;this._loop=true;do{switch(this._state){case mn:Pt=this.getInfo();break;case bn:Pt=this.getPayloadLength16();break;case Gn:Pt=this.getPayloadLength64();break;case hn:this.getMask();break;case Zn:Pt=this.getData(Wt);break;default:this._loop=false;return}}while(this._loop);Wt(Pt)}getInfo(){if(this._bufferedBytes<2){this._loop=false;return}const Wt=this.consume(2);if((Wt[0]&48)!==0){this._loop=false;return error(RangeError,"RSV2 and RSV3 must be clear",true,1002)}const Pt=(Wt[0]&64)===64;if(Pt&&!this._extensions[nn.extensionName]){this._loop=false;return error(RangeError,"RSV1 must be clear",true,1002)}this._fin=(Wt[0]&128)===128;this._opcode=Wt[0]&15;this._payloadLength=Wt[1]&127;if(this._opcode===0){if(Pt){this._loop=false;return error(RangeError,"RSV1 must be clear",true,1002)}if(!this._fragmented){this._loop=false;return error(RangeError,"invalid opcode 0",true,1002)}this._opcode=this._fragmented}else if(this._opcode===1||this._opcode===2){if(this._fragmented){this._loop=false;return error(RangeError,`invalid opcode ${this._opcode}`,true,1002)}this._compressed=Pt}else if(this._opcode>7&&this._opcode<11){if(!this._fin){this._loop=false;return error(RangeError,"FIN must be set",true,1002)}if(Pt){this._loop=false;return error(RangeError,"RSV1 must be clear",true,1002)}if(this._payloadLength>125){this._loop=false;return error(RangeError,`invalid payload length ${this._payloadLength}`,true,1002)}}else{this._loop=false;return error(RangeError,`invalid opcode ${this._opcode}`,true,1002)}if(!this._fin&&!this._fragmented)this._fragmented=this._opcode;this._masked=(Wt[1]&128)===128;if(this._isServer){if(!this._masked){this._loop=false;return error(RangeError,"MASK must be set",true,1002)}}else if(this._masked){this._loop=false;return error(RangeError,"MASK must be clear",true,1002)}if(this._payloadLength===126)this._state=bn;else if(this._payloadLength===127)this._state=Gn;else return this.haveLength()}getPayloadLength16(){if(this._bufferedBytes<2){this._loop=false;return}this._payloadLength=this.consume(2).readUInt16BE(0);return this.haveLength()}getPayloadLength64(){if(this._bufferedBytes<8){this._loop=false;return}const Wt=this.consume(8);const Pt=Wt.readUInt32BE(0);if(Pt>Math.pow(2,53-32)-1){this._loop=false;return error(RangeError,"Unsupported WebSocket frame: payload length > 2^53 - 1",false,1009)}this._payloadLength=Pt*Math.pow(2,32)+Wt.readUInt32BE(4);return this.haveLength()}haveLength(){if(this._payloadLength&&this._opcode<8){this._totalPayloadLength+=this._payloadLength;if(this._totalPayloadLength>this._maxPayload&&this._maxPayload>0){this._loop=false;return error(RangeError,"Max payload size exceeded",false,1009)}}if(this._masked)this._state=hn;else this._state=Zn}getMask(){if(this._bufferedBytes<4){this._loop=false;return}this._mask=this.consume(4);this._state=Zn}getData(Wt){let Pt=In;if(this._payloadLength){if(this._bufferedBytes7)return this.controlMessage(Pt);if(this._compressed){this._state=An;this.decompress(Pt,Wt);return}if(Pt.length){this._messageLength=this._totalPayloadLength;this._fragments.push(Pt)}return this.dataMessage()}decompress(Wt,Pt){const en=this._extensions[nn.extensionName];en.decompress(Wt,this._fin,((Wt,en)=>{if(Wt)return Pt(Wt);if(en.length){this._messageLength+=en.length;if(this._messageLength>this._maxPayload&&this._maxPayload>0){return Pt(error(RangeError,"Max payload size exceeded",false,1009))}this._fragments.push(en)}const tn=this.dataMessage();if(tn)return Pt(tn);this.startLoop(Pt)}))}dataMessage(){if(this._fin){const Wt=this._messageLength;const Pt=this._fragments;this._totalPayloadLength=0;this._messageLength=0;this._fragmented=0;this._fragments=[];if(this._opcode===2){let en;if(this._binaryType==="nodebuffer"){en=on(Pt,Wt)}else if(this._binaryType==="arraybuffer"){en=cn(on(Pt,Wt))}else{en=Pt}this.emit("message",en)}else{const en=on(Pt,Wt);if(!pn(en)){this._loop=false;return error(Error,"invalid UTF-8 sequence",true,1007)}this.emit("message",en.toString())}}this._state=mn}controlMessage(Wt){if(this._opcode===8){this._loop=false;if(Wt.length===0){this.emit("conclude",1005,"");this.end()}else if(Wt.length===1){return error(RangeError,"invalid payload length 1",true,1002)}else{const Pt=Wt.readUInt16BE(0);if(!un(Pt)){return error(RangeError,`invalid status code ${Pt}`,true,1002)}const en=Wt.slice(2);if(!pn(en)){return error(Error,"invalid UTF-8 sequence",true,1007)}this.emit("conclude",Pt,en.toString());this.end()}}else if(this._opcode===9){this.emit("ping",Wt)}else{this.emit("pong",Wt)}this._state=mn}};Pt.exports=Wn;function error(Wt,Pt,en,tn){const nn=new Wt(en?`Invalid WebSocket frame: ${Pt}`:Pt);Error.captureStackTrace(nn,error);nn[rn]=tn;return nn}}});var WI=__commonJS({"node_modules/ws/lib/sender.js"(Wt,Pt){"use strict";var{randomFillSync:tn}=en(76982);var nn=uI();var{EMPTY_BUFFER:an}=ql();var{isValidStatusCode:In}=mI();var{mask:rn,toBuffer:sn}=$l();var on=Buffer.alloc(4);var cn=class _Sender{constructor(Wt,Pt){this._extensions=Pt||{};this._socket=Wt;this._firstFragment=true;this._compress=false;this._bufferedBytes=0;this._deflating=false;this._queue=[]}static frame(Wt,Pt){const en=Pt.mask&&Pt.readOnly;let nn=Pt.mask?6:2;let an=Wt.length;if(Wt.length>=65536){nn+=8;an=127}else if(Wt.length>125){nn+=2;an=126}const In=Buffer.allocUnsafe(en?Wt.length+nn:nn);In[0]=Pt.fin?Pt.opcode|128:Pt.opcode;if(Pt.rsv1)In[0]|=64;In[1]=an;if(an===126){In.writeUInt16BE(Wt.length,2)}else if(an===127){In.writeUInt32BE(0,2);In.writeUInt32BE(Wt.length,6)}if(!Pt.mask)return[In,Wt];tn(on,0,4);In[1]|=128;In[nn-4]=on[0];In[nn-3]=on[1];In[nn-2]=on[2];In[nn-1]=on[3];if(en){rn(Wt,on,In,nn,Wt.length);return[In]}rn(Wt,on,Wt,0,Wt.length);return[In,Wt]}close(Wt,Pt,en,tn){let nn;if(Wt===void 0){nn=an}else if(typeof Wt!=="number"||!In(Wt)){throw new TypeError("First argument must be a valid error code number")}else if(Pt===void 0||Pt===""){nn=Buffer.allocUnsafe(2);nn.writeUInt16BE(Wt,0)}else{const en=Buffer.byteLength(Pt);if(en>123){throw new RangeError("The message must not be greater than 123 bytes")}nn=Buffer.allocUnsafe(2+en);nn.writeUInt16BE(Wt,0);nn.write(Pt,2)}if(this._deflating){this.enqueue([this.doClose,nn,en,tn])}else{this.doClose(nn,en,tn)}}doClose(Wt,Pt,en){this.sendFrame(_Sender.frame(Wt,{fin:true,rsv1:false,opcode:8,mask:Pt,readOnly:false}),en)}ping(Wt,Pt,en){const tn=sn(Wt);if(tn.length>125){throw new RangeError("The data size must not be greater than 125 bytes")}if(this._deflating){this.enqueue([this.doPing,tn,Pt,sn.readOnly,en])}else{this.doPing(tn,Pt,sn.readOnly,en)}}doPing(Wt,Pt,en,tn){this.sendFrame(_Sender.frame(Wt,{fin:true,rsv1:false,opcode:9,mask:Pt,readOnly:en}),tn)}pong(Wt,Pt,en){const tn=sn(Wt);if(tn.length>125){throw new RangeError("The data size must not be greater than 125 bytes")}if(this._deflating){this.enqueue([this.doPong,tn,Pt,sn.readOnly,en])}else{this.doPong(tn,Pt,sn.readOnly,en)}}doPong(Wt,Pt,en,tn){this.sendFrame(_Sender.frame(Wt,{fin:true,rsv1:false,opcode:10,mask:Pt,readOnly:en}),tn)}send(Wt,Pt,en){const tn=sn(Wt);const an=this._extensions[nn.extensionName];let In=Pt.binary?2:1;let rn=Pt.compress;if(this._firstFragment){this._firstFragment=false;if(rn&&an){rn=tn.length>=an._threshold}this._compress=rn}else{rn=false;In=0}if(Pt.fin)this._firstFragment=true;if(an){const Wt={fin:Pt.fin,rsv1:rn,opcode:In,mask:Pt.mask,readOnly:sn.readOnly};if(this._deflating){this.enqueue([this.dispatch,tn,this._compress,Wt,en])}else{this.dispatch(tn,this._compress,Wt,en)}}else{this.sendFrame(_Sender.frame(tn,{fin:Pt.fin,rsv1:false,opcode:In,mask:Pt.mask,readOnly:sn.readOnly}),en)}}dispatch(Wt,Pt,en,tn){if(!Pt){this.sendFrame(_Sender.frame(Wt,en),tn);return}const an=this._extensions[nn.extensionName];this._bufferedBytes+=Wt.length;this._deflating=true;an.compress(Wt,en.fin,((Pt,nn)=>{if(this._socket.destroyed){const Wt=new Error("The socket was closed while data was being compressed");if(typeof tn==="function")tn(Wt);for(let Pt=0;Pt{let en=Wt[Pt];if(!Array.isArray(en))en=[en];return en.map((Wt=>[Pt].concat(Object.keys(Wt).map((Pt=>{let en=Wt[Pt];if(!Array.isArray(en))en=[en];return en.map((Wt=>Wt===true?Pt:`${Pt}=${Wt}`)).join("; ")}))).join("; "))).join(", ")})).join(", ")}Pt.exports={format:format,parse:parse}}});var XI=__commonJS({"node_modules/ws/lib/websocket.js"(Wt,Pt){"use strict";var tn=en(24434);var nn=en(65692);var an=en(58611);var In=en(69278);var rn=en(64756);var{randomBytes:sn,createHash:on}=en(76982);var{URL:cn}=en(87016);var dn=uI();var un=ZI();var pn=WI();var{BINARY_TYPES:mn,EMPTY_BUFFER:bn,GUID:Gn,kStatusCode:hn,kWebSocket:Zn,NOOP:An}=ql();var{addEventListener:Wn,removeEventListener:Nn}=vI();var{format:gn,parse:yn}=VI();var{toBuffer:vn}=$l();var Yn=["CONNECTING","OPEN","CLOSING","CLOSED"];var En=[8,13];var Vn=30*1e3;var Rn=class _WebSocket extends tn{constructor(Wt,Pt,en){super();this._binaryType=mn[0];this._closeCode=1006;this._closeFrameReceived=false;this._closeFrameSent=false;this._closeMessage="";this._closeTimer=null;this._extensions={};this._protocol="";this._readyState=_WebSocket.CONNECTING;this._receiver=null;this._sender=null;this._socket=null;if(Wt!==null){this._bufferedAmount=0;this._isServer=false;this._redirects=0;if(Array.isArray(Pt)){Pt=Pt.join(", ")}else if(typeof Pt==="object"&&Pt!==null){en=Pt;Pt=void 0}initAsClient(this,Wt,Pt,en)}else{this._isServer=true}}get binaryType(){return this._binaryType}set binaryType(Wt){if(!mn.includes(Wt))return;this._binaryType=Wt;if(this._receiver)this._receiver._binaryType=Wt}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 protocol(){return this._protocol}get readyState(){return this._readyState}get url(){return this._url}setSocket(Wt,Pt,en){const tn=new un(this.binaryType,this._extensions,this._isServer,en);this._sender=new pn(Wt,this._extensions);this._receiver=tn;this._socket=Wt;tn[Zn]=this;Wt[Zn]=this;tn.on("conclude",receiverOnConclude);tn.on("drain",receiverOnDrain);tn.on("error",receiverOnError);tn.on("message",receiverOnMessage);tn.on("ping",receiverOnPing);tn.on("pong",receiverOnPong);Wt.setTimeout(0);Wt.setNoDelay();if(Pt.length>0)Wt.unshift(Pt);Wt.on("close",socketOnClose);Wt.on("data",socketOnData);Wt.on("end",socketOnEnd);Wt.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[dn.extensionName]){this._extensions[dn.extensionName].cleanup()}this._receiver.removeAllListeners();this._readyState=_WebSocket.CLOSED;this.emit("close",this._closeCode,this._closeMessage)}close(Wt,Pt){if(this.readyState===_WebSocket.CLOSED)return;if(this.readyState===_WebSocket.CONNECTING){const Wt="WebSocket was closed before the connection was established";return abortHandshake(this,this._req,Wt)}if(this.readyState===_WebSocket.CLOSING){if(this._closeFrameSent&&this._closeFrameReceived)this._socket.end();return}this._readyState=_WebSocket.CLOSING;this._sender.close(Wt,Pt,!this._isServer,(Wt=>{if(Wt)return;this._closeFrameSent=true;if(this._closeFrameReceived)this._socket.end()}));this._closeTimer=setTimeout(this._socket.destroy.bind(this._socket),Vn)}ping(Wt,Pt,en){if(this.readyState===_WebSocket.CONNECTING){throw new Error("WebSocket is not open: readyState 0 (CONNECTING)")}if(typeof Wt==="function"){en=Wt;Wt=Pt=void 0}else if(typeof Pt==="function"){en=Pt;Pt=void 0}if(typeof Wt==="number")Wt=Wt.toString();if(this.readyState!==_WebSocket.OPEN){sendAfterClose(this,Wt,en);return}if(Pt===void 0)Pt=!this._isServer;this._sender.ping(Wt||bn,Pt,en)}pong(Wt,Pt,en){if(this.readyState===_WebSocket.CONNECTING){throw new Error("WebSocket is not open: readyState 0 (CONNECTING)")}if(typeof Wt==="function"){en=Wt;Wt=Pt=void 0}else if(typeof Pt==="function"){en=Pt;Pt=void 0}if(typeof Wt==="number")Wt=Wt.toString();if(this.readyState!==_WebSocket.OPEN){sendAfterClose(this,Wt,en);return}if(Pt===void 0)Pt=!this._isServer;this._sender.pong(Wt||bn,Pt,en)}send(Wt,Pt,en){if(this.readyState===_WebSocket.CONNECTING){throw new Error("WebSocket is not open: readyState 0 (CONNECTING)")}if(typeof Pt==="function"){en=Pt;Pt={}}if(typeof Wt==="number")Wt=Wt.toString();if(this.readyState!==_WebSocket.OPEN){sendAfterClose(this,Wt,en);return}const tn={binary:typeof Wt!=="string",mask:!this._isServer,compress:true,fin:true,...Pt};if(!this._extensions[dn.extensionName]){tn.compress=false}this._sender.send(Wt||bn,tn,en)}terminate(){if(this.readyState===_WebSocket.CLOSED)return;if(this.readyState===_WebSocket.CONNECTING){const Wt="WebSocket was closed before the connection was established";return abortHandshake(this,this._req,Wt)}if(this._socket){this._readyState=_WebSocket.CLOSING;this._socket.destroy()}}};Yn.forEach(((Wt,Pt)=>{const en={enumerable:true,value:Pt};Object.defineProperty(Rn.prototype,Wt,en);Object.defineProperty(Rn,Wt,en)}));["binaryType","bufferedAmount","extensions","protocol","readyState","url"].forEach((Wt=>{Object.defineProperty(Rn.prototype,Wt,{enumerable:true})}));["open","error","close","message"].forEach((Wt=>{Object.defineProperty(Rn.prototype,`on${Wt}`,{configurable:true,enumerable:true,get(){const Pt=this.listeners(Wt);for(let Wt=0;Wt{abortHandshake(Wt,An,"Opening handshake has timed out")}))}An.on("error",(Pt=>{if(An===null||An.aborted)return;An=Wt._req=null;Wt._readyState=Rn.CLOSING;Wt.emit("error",Pt);Wt.emitClose()}));An.on("response",(nn=>{const an=nn.headers.location;const rn=nn.statusCode;if(an&&In.followRedirects&&rn>=300&&rn<400){if(++Wt._redirects>In.maxRedirects){abortHandshake(Wt,An,"Maximum redirects exceeded");return}An.abort();const nn=new cn(an,Pt);initAsClient(Wt,nn,en,tn)}else if(!Wt.emit("unexpected-response",An,nn)){abortHandshake(Wt,An,`Unexpected server response: ${nn.statusCode}`)}}));An.on("upgrade",((Pt,tn,nn)=>{Wt.emit("upgrade",Pt);if(Wt.readyState!==Rn.CONNECTING)return;An=Wt._req=null;const an=on("sha1").update(bn+Gn).digest("base64");if(Pt.headers["sec-websocket-accept"]!==an){abortHandshake(Wt,tn,"Invalid Sec-WebSocket-Accept header");return}const rn=Pt.headers["sec-websocket-protocol"];const sn=(en||"").split(/, */);let cn;if(!en&&rn){cn="Server sent a subprotocol but none was requested"}else if(en&&!rn){cn="Server sent no subprotocol"}else if(rn&&!sn.includes(rn)){cn="Server sent an invalid subprotocol"}if(cn){abortHandshake(Wt,tn,cn);return}if(rn)Wt._protocol=rn;if(Zn){try{const en=yn(Pt.headers["sec-websocket-extensions"]);if(en[dn.extensionName]){Zn.accept(en[dn.extensionName]);Wt._extensions[dn.extensionName]=Zn}}catch(Pt){abortHandshake(Wt,tn,"Invalid Sec-WebSocket-Extensions header");return}}Wt.setSocket(tn,nn,In.maxPayload)}))}function netConnect(Wt){Wt.path=Wt.socketPath;return In.connect(Wt)}function tlsConnect(Wt){Wt.path=void 0;if(!Wt.servername&&Wt.servername!==""){Wt.servername=In.isIP(Wt.host)?"":Wt.host}return rn.connect(Wt)}function abortHandshake(Wt,Pt,en){Wt._readyState=Rn.CLOSING;const tn=new Error(en);Error.captureStackTrace(tn,abortHandshake);if(Pt.setHeader){Pt.abort();if(Pt.socket&&!Pt.socket.destroyed){Pt.socket.destroy()}Pt.once("abort",Wt.emitClose.bind(Wt));Wt.emit("error",tn)}else{Pt.destroy(tn);Pt.once("error",Wt.emit.bind(Wt,"error"));Pt.once("close",Wt.emitClose.bind(Wt))}}function sendAfterClose(Wt,Pt,en){if(Pt){const en=vn(Pt).length;if(Wt._socket)Wt._sender._bufferedBytes+=en;else Wt._bufferedAmount+=en}if(en){const Pt=new Error(`WebSocket is not open: readyState ${Wt.readyState} (${Yn[Wt.readyState]})`);en(Pt)}}function receiverOnConclude(Wt,Pt){const en=this[Zn];en._socket.removeListener("data",socketOnData);en._socket.resume();en._closeFrameReceived=true;en._closeMessage=Pt;en._closeCode=Wt;if(Wt===1005)en.close();else en.close(Wt,Pt)}function receiverOnDrain(){this[Zn]._socket.resume()}function receiverOnError(Wt){const Pt=this[Zn];Pt._socket.removeListener("data",socketOnData);Pt._readyState=Rn.CLOSING;Pt._closeCode=Wt[hn];Pt.emit("error",Wt);Pt._socket.destroy()}function receiverOnFinish(){this[Zn].emitClose()}function receiverOnMessage(Wt){this[Zn].emit("message",Wt)}function receiverOnPing(Wt){const Pt=this[Zn];Pt.pong(Wt,!Pt._isServer,An);Pt.emit("ping",Wt)}function receiverOnPong(Wt){this[Zn].emit("pong",Wt)}function socketOnClose(){const Wt=this[Zn];this.removeListener("close",socketOnClose);this.removeListener("end",socketOnEnd);Wt._readyState=Rn.CLOSING;Wt._socket.read();Wt._receiver.end();this.removeListener("data",socketOnData);this[Zn]=void 0;clearTimeout(Wt._closeTimer);if(Wt._receiver._writableState.finished||Wt._receiver._writableState.errorEmitted){Wt.emitClose()}else{Wt._receiver.on("error",receiverOnFinish);Wt._receiver.on("finish",receiverOnFinish)}}function socketOnData(Wt){if(!this[Zn]._receiver.write(Wt)){this.pause()}}function socketOnEnd(){const Wt=this[Zn];Wt._readyState=Rn.CLOSING;Wt._receiver.end();this.end()}function socketOnError(){const Wt=this[Zn];this.removeListener("error",socketOnError);this.on("error",An);if(Wt){Wt._readyState=Rn.CLOSING;this.destroy()}}}});var LI=__commonJS({"node_modules/ws/lib/stream.js"(Wt,Pt){"use strict";var{Duplex:tn}=en(2203);function emitClose(Wt){Wt.emit("close")}function duplexOnEnd(){if(!this.destroyed&&this._writableState.finished){this.destroy()}}function duplexOnError(Wt){this.removeListener("error",duplexOnError);this.destroy();if(this.listenerCount("error")===0){this.emit("error",Wt)}}function createWebSocketStream(Wt,Pt){let en=true;function receiverOnDrain(){if(en)Wt._socket.resume()}if(Wt.readyState===Wt.CONNECTING){Wt.once("open",(function open(){Wt._receiver.removeAllListeners("drain");Wt._receiver.on("drain",receiverOnDrain)}))}else{Wt._receiver.removeAllListeners("drain");Wt._receiver.on("drain",receiverOnDrain)}const nn=new tn({...Pt,autoDestroy:false,emitClose:false,objectMode:false,writableObjectMode:false});Wt.on("message",(function message(Pt){if(!nn.push(Pt)){en=false;Wt._socket.pause()}}));Wt.once("error",(function error(Wt){if(nn.destroyed)return;nn.destroy(Wt)}));Wt.once("close",(function close(){if(nn.destroyed)return;nn.push(null)}));nn._destroy=function(Pt,en){if(Wt.readyState===Wt.CLOSED){en(Pt);process.nextTick(emitClose,nn);return}let tn=false;Wt.once("error",(function error(Wt){tn=true;en(Wt)}));Wt.once("close",(function close(){if(!tn)en(Pt);process.nextTick(emitClose,nn)}));Wt.terminate()};nn._final=function(Pt){if(Wt.readyState===Wt.CONNECTING){Wt.once("open",(function open(){nn._final(Pt)}));return}if(Wt._socket===null)return;if(Wt._socket._writableState.finished){Pt();if(nn._readableState.endEmitted)nn.destroy()}else{Wt._socket.once("finish",(function finish(){Pt()}));Wt.close()}};nn._read=function(){if(Wt.readyState===Wt.OPEN&&!en){en=true;if(!Wt._receiver._writableState.needDrain)Wt._socket.resume()}};nn._write=function(Pt,en,tn){if(Wt.readyState===Wt.CONNECTING){Wt.once("open",(function open(){nn._write(Pt,en,tn)}));return}Wt.send(Pt,tn)};nn.on("end",duplexOnEnd);nn.on("error",duplexOnError);return nn}Pt.exports=createWebSocketStream}});var xI=__commonJS({"node_modules/ws/lib/websocket-server.js"(Wt,Pt){"use strict";var tn=en(24434);var{createHash:nn}=en(76982);var{createServer:an,STATUS_CODES:In}=en(58611);var rn=uI();var sn=XI();var{format:on,parse:cn}=VI();var{GUID:dn,kWebSocket:un}=ql();var pn=/^[+/0-9A-Za-z]{22}==$/;var mn=class extends tn{constructor(Wt,Pt){super();Wt={maxPayload:100*1024*1024,perMessageDeflate:false,handleProtocols:null,clientTracking:true,verifyClient:null,noServer:false,backlog:null,server:null,host:null,path:null,port:null,...Wt};if(Wt.port==null&&!Wt.server&&!Wt.noServer){throw new TypeError('One of the "port", "server", or "noServer" options must be specified')}if(Wt.port!=null){this._server=an(((Wt,Pt)=>{const en=In[426];Pt.writeHead(426,{"Content-Length":en.length,"Content-Type":"text/plain"});Pt.end(en)}));this._server.listen(Wt.port,Wt.host,Wt.backlog,Pt)}else if(Wt.server){this._server=Wt.server}if(this._server){const Wt=this.emit.bind(this,"connection");this._removeListeners=addListeners(this._server,{listening:this.emit.bind(this,"listening"),error:this.emit.bind(this,"error"),upgrade:(Pt,en,tn)=>{this.handleUpgrade(Pt,en,tn,Wt)}})}if(Wt.perMessageDeflate===true)Wt.perMessageDeflate={};if(Wt.clientTracking)this.clients=new Set;this.options=Wt}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(Wt){if(Wt)this.once("close",Wt);if(this.clients){for(const Wt of this.clients)Wt.terminate()}const Pt=this._server;if(Pt){this._removeListeners();this._removeListeners=this._server=null;if(this.options.port!=null){Pt.close((()=>this.emit("close")));return}}process.nextTick(emitClose,this)}shouldHandle(Wt){if(this.options.path){const Pt=Wt.url.indexOf("?");const en=Pt!==-1?Wt.url.slice(0,Pt):Wt.url;if(en!==this.options.path)return false}return true}handleUpgrade(Wt,Pt,en,tn){Pt.on("error",socketOnError);const nn=Wt.headers["sec-websocket-key"]!==void 0?Wt.headers["sec-websocket-key"].trim():false;const an=+Wt.headers["sec-websocket-version"];const In={};if(Wt.method!=="GET"||Wt.headers.upgrade.toLowerCase()!=="websocket"||!nn||!pn.test(nn)||an!==8&&an!==13||!this.shouldHandle(Wt)){return abortHandshake(Pt,400)}if(this.options.perMessageDeflate){const en=new rn(this.options.perMessageDeflate,true,this.options.maxPayload);try{const Pt=cn(Wt.headers["sec-websocket-extensions"]);if(Pt[rn.extensionName]){en.accept(Pt[rn.extensionName]);In[rn.extensionName]=en}}catch(Wt){return abortHandshake(Pt,400)}}if(this.options.verifyClient){const rn={origin:Wt.headers[`${an===8?"sec-websocket-origin":"origin"}`],secure:!!(Wt.socket.authorized||Wt.socket.encrypted),req:Wt};if(this.options.verifyClient.length===2){this.options.verifyClient(rn,((an,rn,sn,on)=>{if(!an){return abortHandshake(Pt,rn||401,sn,on)}this.completeUpgrade(nn,In,Wt,Pt,en,tn)}));return}if(!this.options.verifyClient(rn))return abortHandshake(Pt,401)}this.completeUpgrade(nn,In,Wt,Pt,en,tn)}completeUpgrade(Wt,Pt,en,tn,an,In){if(!tn.readable||!tn.writable)return tn.destroy();if(tn[un]){throw new Error("server.handleUpgrade() was called more than once with the same socket, possibly due to a misconfiguration")}const cn=nn("sha1").update(Wt+dn).digest("base64");const pn=["HTTP/1.1 101 Switching Protocols","Upgrade: websocket","Connection: Upgrade",`Sec-WebSocket-Accept: ${cn}`];const mn=new sn(null);let bn=en.headers["sec-websocket-protocol"];if(bn){bn=bn.split(",").map(trim2);if(this.options.handleProtocols){bn=this.options.handleProtocols(bn,en)}else{bn=bn[0]}if(bn){pn.push(`Sec-WebSocket-Protocol: ${bn}`);mn._protocol=bn}}if(Pt[rn.extensionName]){const Wt=Pt[rn.extensionName].params;const en=on({[rn.extensionName]:[Wt]});pn.push(`Sec-WebSocket-Extensions: ${en}`);mn._extensions=Pt}this.emit("headers",pn,en);tn.write(pn.concat("\r\n").join("\r\n"));tn.removeListener("error",socketOnError);mn.setSocket(tn,an,this.options.maxPayload);if(this.clients){this.clients.add(mn);mn.on("close",(()=>this.clients.delete(mn)))}In(mn,en)}};Pt.exports=mn;function addListeners(Wt,Pt){for(const en of Object.keys(Pt))Wt.on(en,Pt[en]);return function removeListeners(){for(const en of Object.keys(Pt)){Wt.removeListener(en,Pt[en])}}}function emitClose(Wt){Wt.emit("close")}function socketOnError(){this.destroy()}function abortHandshake(Wt,Pt,en,tn){if(Wt.writable){en=en||In[Pt];tn={Connection:"close","Content-Type":"text/html","Content-Length":Buffer.byteLength(en),...tn};Wt.write(`HTTP/1.1 ${Pt} ${In[Pt]}\r\n`+Object.keys(tn).map((Wt=>`${Wt}: ${tn[Wt]}`)).join("\r\n")+"\r\n\r\n"+en)}Wt.removeListener("error",socketOnError);Wt.destroy()}function trim2(Wt){return Wt.trim()}}});var OI=__commonJS({"node_modules/ws/index.js"(Wt,Pt){"use strict";var en=XI();en.createWebSocketStream=LI();en.Server=xI();en.Receiver=ZI();en.Sender=WI();Pt.exports=en}});var TI=__commonJS({"node_modules/@ethersproject/providers/lib/ws.js"(Wt){"use strict";var Pt=Wt&&Wt.__importDefault||function(Wt){return Wt&&Wt.__esModule?Wt:{default:Wt}};Object.defineProperty(Wt,"__esModule",{value:true});Wt.WebSocket=void 0;var en=Pt(OI());Wt.WebSocket=en.default}});var zI=__commonJS({"node_modules/@ethersproject/providers/lib/websocket-provider.js"(Wt){"use strict";var Pt=Wt&&Wt.__extends||function(){var extendStatics=function(Wt,Pt){extendStatics=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(Wt,Pt){Wt.__proto__=Pt}||function(Wt,Pt){for(var en in Pt)if(Object.prototype.hasOwnProperty.call(Pt,en))Wt[en]=Pt[en]};return extendStatics(Wt,Pt)};return function(Wt,Pt){if(typeof Pt!=="function"&&Pt!==null)throw new TypeError("Class extends value "+String(Pt)+" is not a constructor or null");extendStatics(Wt,Pt);function __(){this.constructor=Wt}Wt.prototype=Pt===null?Object.create(Pt):(__.prototype=Pt.prototype,new __)}}();var en=Wt&&Wt.__awaiter||function(Wt,Pt,en,tn){function adopt(Wt){return Wt instanceof en?Wt:new en((function(Pt){Pt(Wt)}))}return new(en||(en=Promise))((function(en,nn){function fulfilled(Wt){try{step(tn.next(Wt))}catch(Wt){nn(Wt)}}function rejected(Wt){try{step(tn["throw"](Wt))}catch(Wt){nn(Wt)}}function step(Wt){Wt.done?en(Wt.value):adopt(Wt.value).then(fulfilled,rejected)}step((tn=tn.apply(Wt,Pt||[])).next())}))};var tn=Wt&&Wt.__generator||function(Wt,Pt){var en={label:0,sent:function(){if(an[0]&1)throw an[1];return an[1]},trys:[],ops:[]},tn,nn,an,In;return In={next:verb(0),throw:verb(1),return:verb(2)},typeof Symbol==="function"&&(In[Symbol.iterator]=function(){return this}),In;function verb(Wt){return function(Pt){return step([Wt,Pt])}}function step(In){if(tn)throw new TypeError("Generator is already executing.");while(en)try{if(tn=1,nn&&(an=In[0]&2?nn["return"]:In[0]?nn["throw"]||((an=nn["return"])&&an.call(nn),0):nn.next)&&!(an=an.call(nn,In[1])).done)return an;if(nn=0,an)In=[In[0]&2,an.value];switch(In[0]){case 0:case 1:an=In;break;case 4:en.label++;return{value:In[1],done:false};case 5:en.label++;nn=In[1];In=[0];continue;case 7:In=en.ops.pop();en.trys.pop();continue;default:if(!(an=en.trys,an=an.length>0&&an[an.length-1])&&(In[0]===6||In[0]===2)){en=0;continue}if(In[0]===3&&(!an||In[1]>an[0]&&In[1]0&&an[an.length-1])&&(In[0]===6||In[0]===2)){en=0;continue}if(In[0]===3&&(!an||In[1]>an[0]&&In[1]0&&an[an.length-1])&&(In[0]===6||In[0]===2)){en=0;continue}if(In[0]===3&&(!an||In[1]>an[0]&&In[1]0&&an[an.length-1])&&(In[0]===6||In[0]===2)){en=0;continue}if(In[0]===3&&(!an||In[1]>an[0]&&In[1]=0){Pt.throttleRetry=true}throw Pt}return Wt.result}function getJsonResult(Wt){if(Wt&&Wt.status==0&&Wt.message=="NOTOK"&&(Wt.result||"").toLowerCase().indexOf("rate limit")>=0){var Pt=new Error("throttled response");Pt.result=JSON.stringify(Wt);Pt.throttleRetry=true;throw Pt}if(Wt.jsonrpc!="2.0"){var Pt=new Error("invalid response");Pt.result=JSON.stringify(Wt);throw Pt}if(Wt.error){var Pt=new Error(Wt.error.message||"unknown error");if(Wt.error.code){Pt.code=Wt.error.code}if(Wt.error.data){Pt.data=Wt.error.data}throw Pt}return Wt.result}function checkLogTag(Wt){if(Wt==="pending"){throw new Error("pending not supported")}if(Wt==="latest"){return Wt}return parseInt(Wt.substring(2),16)}function checkError(Wt,Pt,en){if(Wt==="call"&&Pt.code===on.Logger.errors.SERVER_ERROR){var tn=Pt.error;if(tn&&(tn.message.match(/reverted/i)||tn.message.match(/VM execution error/i))){var an=tn.data;if(an){an="0x"+an.replace(/^.*0x/i,"")}if((0,nn.isHexString)(an)){return an}un.throwError("missing revert data in call exception",on.Logger.errors.CALL_EXCEPTION,{error:Pt,data:"0x"})}}var In=Pt.message;if(Pt.code===on.Logger.errors.SERVER_ERROR){if(Pt.error&&typeof Pt.error.message==="string"){In=Pt.error.message}else if(typeof Pt.body==="string"){In=Pt.body}else if(typeof Pt.responseText==="string"){In=Pt.responseText}}In=(In||"").toLowerCase();if(In.match(/insufficient funds/)){un.throwError("insufficient funds for intrinsic transaction cost",on.Logger.errors.INSUFFICIENT_FUNDS,{error:Pt,method:Wt,transaction:en})}if(In.match(/same hash was already imported|transaction nonce is too low|nonce too low/)){un.throwError("nonce has already been used",on.Logger.errors.NONCE_EXPIRED,{error:Pt,method:Wt,transaction:en})}if(In.match(/another transaction with same nonce/)){un.throwError("replacement fee too low",on.Logger.errors.REPLACEMENT_UNDERPRICED,{error:Pt,method:Wt,transaction:en})}if(In.match(/execution failed due to an exception|execution reverted/)){un.throwError("cannot estimate gas; transaction may fail or may require manual gas limit",on.Logger.errors.UNPREDICTABLE_GAS_LIMIT,{error:Pt,method:Wt,transaction:en})}throw Pt}var bn=function(Wt){Pt(EtherscanProvider2,Wt);function EtherscanProvider2(Pt,en){var tn=Wt.call(this,Pt)||this;(0,an.defineReadOnly)(tn,"baseUrl",tn.getBaseUrl());(0,an.defineReadOnly)(tn,"apiKey",en||null);return tn}EtherscanProvider2.prototype.getBaseUrl=function(){switch(this.network?this.network.name:"invalid"){case"homestead":return"https://api.etherscan.io";case"goerli":return"https://api-goerli.etherscan.io";case"sepolia":return"https://api-sepolia.etherscan.io";case"matic":return"https://api.polygonscan.com";case"maticmum":return"https://api-testnet.polygonscan.com";case"arbitrum":return"https://api.arbiscan.io";case"arbitrum-goerli":return"https://api-goerli.arbiscan.io";case"optimism":return"https://api-optimistic.etherscan.io";case"optimism-goerli":return"https://api-goerli-optimistic.etherscan.io";default:}return un.throwArgumentError("unsupported network","network",this.network.name)};EtherscanProvider2.prototype.getUrl=function(Wt,Pt){var en=Object.keys(Pt).reduce((function(Wt,en){var tn=Pt[en];if(tn!=null){Wt+="&"+en+"="+tn}return Wt}),"");var tn=this.apiKey?"&apikey="+this.apiKey:"";return this.baseUrl+"/api?module="+Wt+en+tn};EtherscanProvider2.prototype.getPostUrl=function(){return this.baseUrl+"/api"};EtherscanProvider2.prototype.getPostData=function(Wt,Pt){Pt.module=Wt;Pt.apikey=this.apiKey;return Pt};EtherscanProvider2.prototype.fetch=function(Wt,Pt,nn){return en(this,void 0,void 0,(function(){var en,In,on,cn,dn,un;var pn=this;return tn(this,(function(tn){switch(tn.label){case 0:en=nn?this.getPostUrl():this.getUrl(Wt,Pt);In=nn?this.getPostData(Wt,Pt):null;on=Wt==="proxy"?getJsonResult:getResult;this.emit("debug",{action:"request",request:en,provider:this});cn={url:en,throttleSlotInterval:1e3,throttleCallback:function(Wt,Pt){if(pn.isCommunityResource()){(0,sn.showThrottleMessage)()}return Promise.resolve(true)}};dn=null;if(In){cn.headers={"content-type":"application/x-www-form-urlencoded; charset=UTF-8"};dn=Object.keys(In).map((function(Wt){return Wt+"="+In[Wt]})).join("&")}return[4,(0,rn.fetchJson)(cn,dn,on||getJsonResult)];case 1:un=tn.sent();this.emit("debug",{action:"response",request:en,response:(0,an.deepCopy)(un),provider:this});return[2,un]}}))}))};EtherscanProvider2.prototype.detectNetwork=function(){return en(this,void 0,void 0,(function(){return tn(this,(function(Wt){return[2,this.network]}))}))};EtherscanProvider2.prototype.perform=function(Pt,nn){return en(this,void 0,void 0,(function(){var en,an,In,an,rn,sn,cn,dn,pn,mn,bn,Gn,hn;return tn(this,(function(tn){switch(tn.label){case 0:en=Pt;switch(en){case"getBlockNumber":return[3,1];case"getGasPrice":return[3,2];case"getBalance":return[3,3];case"getTransactionCount":return[3,4];case"getCode":return[3,5];case"getStorageAt":return[3,6];case"sendTransaction":return[3,7];case"getBlock":return[3,8];case"getTransaction":return[3,9];case"getTransactionReceipt":return[3,10];case"call":return[3,11];case"estimateGas":return[3,15];case"getLogs":return[3,19];case"getEtherPrice":return[3,26]}return[3,28];case 1:return[2,this.fetch("proxy",{action:"eth_blockNumber"})];case 2:return[2,this.fetch("proxy",{action:"eth_gasPrice"})];case 3:return[2,this.fetch("account",{action:"balance",address:nn.address,tag:nn.blockTag})];case 4:return[2,this.fetch("proxy",{action:"eth_getTransactionCount",address:nn.address,tag:nn.blockTag})];case 5:return[2,this.fetch("proxy",{action:"eth_getCode",address:nn.address,tag:nn.blockTag})];case 6:return[2,this.fetch("proxy",{action:"eth_getStorageAt",address:nn.address,position:nn.position,tag:nn.blockTag})];case 7:return[2,this.fetch("proxy",{action:"eth_sendRawTransaction",hex:nn.signedTransaction},true).catch((function(Wt){return checkError("sendTransaction",Wt,nn.signedTransaction)}))];case 8:if(nn.blockTag){return[2,this.fetch("proxy",{action:"eth_getBlockByNumber",tag:nn.blockTag,boolean:nn.includeTransactions?"true":"false"})]}throw new Error("getBlock by blockHash not implemented");case 9:return[2,this.fetch("proxy",{action:"eth_getTransactionByHash",txhash:nn.transactionHash})];case 10:return[2,this.fetch("proxy",{action:"eth_getTransactionReceipt",txhash:nn.transactionHash})];case 11:if(nn.blockTag!=="latest"){throw new Error("EtherscanProvider does not support blockTag for call")}an=getTransactionPostData(nn.transaction);an.module="proxy";an.action="eth_call";tn.label=12;case 12:tn.trys.push([12,14,,15]);return[4,this.fetch("proxy",an,true)];case 13:return[2,tn.sent()];case 14:In=tn.sent();return[2,checkError("call",In,nn.transaction)];case 15:an=getTransactionPostData(nn.transaction);an.module="proxy";an.action="eth_estimateGas";tn.label=16;case 16:tn.trys.push([16,18,,19]);return[4,this.fetch("proxy",an,true)];case 17:return[2,tn.sent()];case 18:rn=tn.sent();return[2,checkError("estimateGas",rn,nn.transaction)];case 19:sn={action:"getLogs"};if(nn.filter.fromBlock){sn.fromBlock=checkLogTag(nn.filter.fromBlock)}if(nn.filter.toBlock){sn.toBlock=checkLogTag(nn.filter.toBlock)}if(nn.filter.address){sn.address=nn.filter.address}if(nn.filter.topics&&nn.filter.topics.length>0){if(nn.filter.topics.length>1){un.throwError("unsupported topic count",on.Logger.errors.UNSUPPORTED_OPERATION,{topics:nn.filter.topics})}if(nn.filter.topics.length===1){cn=nn.filter.topics[0];if(typeof cn!=="string"||cn.length!==66){un.throwError("unsupported topic format",on.Logger.errors.UNSUPPORTED_OPERATION,{topic0:cn})}sn.topic0=cn}}return[4,this.fetch("logs",sn)];case 20:dn=tn.sent();pn={};mn=0;tn.label=21;case 21:if(!(mn0;Pt--){var en=Math.floor(Math.random()*(Pt+1));var tn=Wt[Pt];Wt[Pt]=Wt[en];Wt[en]=tn}return Wt}Wt.shuffled=shuffled}});var jr=__commonJS({"node_modules/@ethersproject/random/lib/index.js"(Wt){"use strict";Object.defineProperty(Wt,"__esModule",{value:true});Wt.shuffled=Wt.randomBytes=void 0;var Pt=Jr();Object.defineProperty(Wt,"randomBytes",{enumerable:true,get:function(){return Pt.randomBytes}});var en=zr();Object.defineProperty(Wt,"shuffled",{enumerable:true,get:function(){return en.shuffled}})}});var $r=__commonJS({"node_modules/@ethersproject/providers/lib/fallback-provider.js"(Wt){"use strict";var Pt=Wt&&Wt.__extends||function(){var extendStatics=function(Wt,Pt){extendStatics=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(Wt,Pt){Wt.__proto__=Pt}||function(Wt,Pt){for(var en in Pt)if(Object.prototype.hasOwnProperty.call(Pt,en))Wt[en]=Pt[en]};return extendStatics(Wt,Pt)};return function(Wt,Pt){if(typeof Pt!=="function"&&Pt!==null)throw new TypeError("Class extends value "+String(Pt)+" is not a constructor or null");extendStatics(Wt,Pt);function __(){this.constructor=Wt}Wt.prototype=Pt===null?Object.create(Pt):(__.prototype=Pt.prototype,new __)}}();var en=Wt&&Wt.__awaiter||function(Wt,Pt,en,tn){function adopt(Wt){return Wt instanceof en?Wt:new en((function(Pt){Pt(Wt)}))}return new(en||(en=Promise))((function(en,nn){function fulfilled(Wt){try{step(tn.next(Wt))}catch(Wt){nn(Wt)}}function rejected(Wt){try{step(tn["throw"](Wt))}catch(Wt){nn(Wt)}}function step(Wt){Wt.done?en(Wt.value):adopt(Wt.value).then(fulfilled,rejected)}step((tn=tn.apply(Wt,Pt||[])).next())}))};var tn=Wt&&Wt.__generator||function(Wt,Pt){var en={label:0,sent:function(){if(an[0]&1)throw an[1];return an[1]},trys:[],ops:[]},tn,nn,an,In;return In={next:verb(0),throw:verb(1),return:verb(2)},typeof Symbol==="function"&&(In[Symbol.iterator]=function(){return this}),In;function verb(Wt){return function(Pt){return step([Wt,Pt])}}function step(In){if(tn)throw new TypeError("Generator is already executing.");while(en)try{if(tn=1,nn&&(an=In[0]&2?nn["return"]:In[0]?nn["throw"]||((an=nn["return"])&&an.call(nn),0):nn.next)&&!(an=an.call(nn,In[1])).done)return an;if(nn=0,an)In=[In[0]&2,an.value];switch(In[0]){case 0:case 1:an=In;break;case 4:en.label++;return{value:In[1],done:false};case 5:en.label++;nn=In[1];In=[0];continue;case 7:In=en.ops.pop();en.trys.pop();continue;default:if(!(an=en.trys,an=an.length>0&&an[an.length-1])&&(In[0]===6||In[0]===2)){en=0;continue}if(In[0]===3&&(!an||In[1]>an[0]&&In[1]Pt){return null}return(tn+nn)/2}function serialize(Wt){if(Wt===null){return"null"}else if(typeof Wt==="number"||typeof Wt==="boolean"){return JSON.stringify(Wt)}else if(typeof Wt==="string"){return Wt}else if(an.BigNumber.isBigNumber(Wt)){return Wt.toString()}else if(Array.isArray(Wt)){return JSON.stringify(Wt.map((function(Wt){return serialize(Wt)})))}else if(typeof Wt==="object"){var Pt=Object.keys(Wt);Pt.sort();return"{"+Pt.map((function(Pt){var en=Wt[Pt];if(typeof en==="function"){en="[function]"}else{en=serialize(en)}return JSON.stringify(Pt)+":"+en})).join(",")+"}"}throw new Error("unknown value type: "+typeof Wt)}var Zn=1;function stall(Wt){var Pt=null;var en=null;var tn=new Promise((function(tn){Pt=function(){if(en){clearTimeout(en);en=null}tn()};en=setTimeout(Pt,Wt)}));var wait=function(Wt){tn=tn.then(Wt);return tn};function getPromise(){return tn}return{cancel:Pt,getPromise:getPromise,wait:wait}}var Wn=[mn.Logger.errors.CALL_EXCEPTION,mn.Logger.errors.INSUFFICIENT_FUNDS,mn.Logger.errors.NONCE_EXPIRED,mn.Logger.errors.REPLACEMENT_UNDERPRICED,mn.Logger.errors.UNPREDICTABLE_GAS_LIMIT];var gn=["address","args","errorArgs","errorSignature","method","transaction"];function exposeDebugConfig(Wt,Pt){var en={weight:Wt.weight};Object.defineProperty(en,"provider",{get:function(){return Wt.provider}});if(Wt.start){en.start=Wt.start}if(Pt){en.duration=Pt-Wt.start}if(Wt.done){if(Wt.error){en.error=Wt.error}else{en.result=Wt.result||null}}return en}function normalizedTally(Wt,Pt){return function(en){var tn={};en.forEach((function(Pt){var en=Wt(Pt.result);if(!tn[en]){tn[en]={count:0,result:Pt.result}}tn[en].count++}));var nn=Object.keys(tn);for(var an=0;an=Pt){return In.result}}return void 0}}function getProcessFunc(Wt,Pt,en){var tn=serialize;switch(Pt){case"getBlockNumber":return function(Pt){var en=Pt.map((function(Wt){return Wt.result}));var tn=median(Pt.map((function(Wt){return Wt.result})),2);if(tn==null){return void 0}tn=Math.ceil(tn);if(en.indexOf(tn+1)>=0){tn++}if(tn>=Wt._highestBlockNumber){Wt._highestBlockNumber=tn}return Wt._highestBlockNumber};case"getGasPrice":return function(Wt){var Pt=Wt.map((function(Wt){return Wt.result}));Pt.sort();return Pt[Math.floor(Pt.length/2)]};case"getEtherPrice":return function(Wt){return median(Wt.map((function(Wt){return Wt.result})))};case"getBalance":case"getTransactionCount":case"getCode":case"getStorageAt":case"call":case"estimateGas":case"getLogs":break;case"getTransaction":case"getTransactionReceipt":tn=function(Wt){if(Wt==null){return null}Wt=(0,rn.shallowCopy)(Wt);Wt.confirmations=-1;return serialize(Wt)};break;case"getBlock":if(en.includeTransactions){tn=function(Wt){if(Wt==null){return null}Wt=(0,rn.shallowCopy)(Wt);Wt.transactions=Wt.transactions.map((function(Wt){Wt=(0,rn.shallowCopy)(Wt);Wt.confirmations=-1;return Wt}));return serialize(Wt)}}else{tn=function(Wt){if(Wt==null){return null}return serialize(Wt)}}break;default:throw new Error("unknown method: "+Pt)}return normalizedTally(tn,Wt.quorum)}function waitForSync(Wt,Pt){return en(this,void 0,void 0,(function(){var en;return tn(this,(function(tn){en=Wt.provider;if(en.blockNumber!=null&&en.blockNumber>=Pt||Pt===-1){return[2,en]}return[2,(0,on.poll)((function(){return new Promise((function(tn,nn){setTimeout((function(){if(en.blockNumber>=Pt){return tn(en)}if(Wt.cancelled){return tn(null)}return tn(void 0)}),0)}))}),{oncePoll:en})]}))}))}function getRunner(Wt,Pt,nn,an){return en(this,void 0,void 0,(function(){var en,rn,sn;return tn(this,(function(tn){switch(tn.label){case 0:en=Wt.provider;rn=nn;switch(rn){case"getBlockNumber":return[3,1];case"getGasPrice":return[3,1];case"getEtherPrice":return[3,2];case"getBalance":return[3,3];case"getTransactionCount":return[3,3];case"getCode":return[3,3];case"getStorageAt":return[3,6];case"getBlock":return[3,9];case"call":return[3,12];case"estimateGas":return[3,12];case"getTransaction":return[3,15];case"getTransactionReceipt":return[3,15];case"getLogs":return[3,16]}return[3,19];case 1:return[2,en[nn]()];case 2:if(en.getEtherPrice){return[2,en.getEtherPrice()]}return[3,19];case 3:if(!(an.blockTag&&(0,In.isHexString)(an.blockTag)))return[3,5];return[4,waitForSync(Wt,Pt)];case 4:en=tn.sent();tn.label=5;case 5:return[2,en[nn](an.address,an.blockTag||"latest")];case 6:if(!(an.blockTag&&(0,In.isHexString)(an.blockTag)))return[3,8];return[4,waitForSync(Wt,Pt)];case 7:en=tn.sent();tn.label=8;case 8:return[2,en.getStorageAt(an.address,an.position,an.blockTag||"latest")];case 9:if(!(an.blockTag&&(0,In.isHexString)(an.blockTag)))return[3,11];return[4,waitForSync(Wt,Pt)];case 10:en=tn.sent();tn.label=11;case 11:return[2,en[an.includeTransactions?"getBlockWithTransactions":"getBlock"](an.blockTag||an.blockHash)];case 12:if(!(an.blockTag&&(0,In.isHexString)(an.blockTag)))return[3,14];return[4,waitForSync(Wt,Pt)];case 13:en=tn.sent();tn.label=14;case 14:if(nn==="call"&&an.blockTag){return[2,en[nn](an.transaction,an.blockTag)]}return[2,en[nn](an.transaction)];case 15:return[2,en[nn](an.transactionHash)];case 16:sn=an.filter;if(!(sn.fromBlock&&(0,In.isHexString)(sn.fromBlock)||sn.toBlock&&(0,In.isHexString)(sn.toBlock)))return[3,18];return[4,waitForSync(Wt,Pt)];case 17:en=tn.sent();tn.label=18;case 18:return[2,en.getLogs(sn)];case 19:return[2,Gn.throwError("unknown method error",mn.Logger.errors.UNKNOWN_ERROR,{method:nn,params:an})]}}))}))}var yn=function(Wt){Pt(FallbackProvider2,Wt);function FallbackProvider2(Pt,en){var tn=this;if(Pt.length===0){Gn.throwArgumentError("missing providers","providers",Pt)}var an=Pt.map((function(Wt,Pt){if(nn.Provider.isProvider(Wt)){var en=(0,un.isCommunityResource)(Wt)?2e3:750;var tn=1;return Object.freeze({provider:Wt,weight:1,stallTimeout:en,priority:tn})}var an=(0,rn.shallowCopy)(Wt);if(an.priority==null){an.priority=1}if(an.stallTimeout==null){an.stallTimeout=(0,un.isCommunityResource)(Wt)?2e3:750}if(an.weight==null){an.weight=1}var In=an.weight;if(In%1||In>512||In<1){Gn.throwArgumentError("invalid weight; must be integer in [1, 512]","providers["+Pt+"].weight",In)}return Object.freeze(an)}));var In=an.reduce((function(Wt,Pt){return Wt+Pt.weight}),0);if(en==null){en=In/2}else if(en>In){Gn.throwArgumentError("quorum will always fail; larger than total weight","quorum",en)}var sn=checkNetworks(an.map((function(Wt){return Wt.provider.network})));if(sn==null){sn=new Promise((function(Wt,Pt){setTimeout((function(){tn.detectNetwork().then(Wt,Pt)}),0)}))}tn=Wt.call(this,sn)||this;(0,rn.defineReadOnly)(tn,"providerConfigs",Object.freeze(an));(0,rn.defineReadOnly)(tn,"quorum",en);tn._highestBlockNumber=-1;return tn}FallbackProvider2.prototype.detectNetwork=function(){return en(this,void 0,void 0,(function(){var Wt;return tn(this,(function(Pt){switch(Pt.label){case 0:return[4,Promise.all(this.providerConfigs.map((function(Wt){return Wt.provider.getNetwork()})))];case 1:Wt=Pt.sent();return[2,checkNetworks(Wt)]}}))}))};FallbackProvider2.prototype.perform=function(Wt,Pt){return en(this,void 0,void 0,(function(){var en,nn,an,In,on,cn,dn,un,pn,bn,hn;var An=this;return tn(this,(function(Nn){switch(Nn.label){case 0:if(!(Wt==="sendTransaction"))return[3,2];return[4,Promise.all(this.providerConfigs.map((function(Wt){return Wt.provider.sendTransaction(Pt.signedTransaction).then((function(Wt){return Wt.hash}),(function(Wt){return Wt}))})))];case 1:en=Nn.sent();for(nn=0;nn=bn.quorum))return[3,5];mn=In(pn);if(mn!==void 0){on.forEach((function(Wt){if(Wt.staller){Wt.staller.cancel()}Wt.cancelled=true}));return[2,{value:mn}]}if(!!un)return[3,4];return[4,stall(100).getPromise()];case 3:tn.sent();tn.label=4;case 4:un=false;tn.label=5;case 5:hn=on.reduce((function(Wt,Pt){if(!Pt.done||Pt.error==null){return Wt}var en=Pt.error.code;if(Wn.indexOf(en)>=0){if(!Wt[en]){Wt[en]={error:Pt.error,weight:0}}Wt[en].weight+=Pt.weight}return Wt}),{});Object.keys(hn).forEach((function(Wt){var Pt=hn[Wt];if(Pt.weightcn||on===cn&&en[sn].substr(0,12)==="application/")){continue}}en[sn]=nn}}))}}});var us=__commonJS({"node_modules/asynckit/lib/defer.js"(Wt,Pt){"use strict";Pt.exports=defer;function defer(Wt){var Pt=typeof setImmediate=="function"?setImmediate:typeof process=="object"&&typeof process.nextTick=="function"?process.nextTick:null;if(Pt){Pt(Wt)}else{setTimeout(Wt,0)}}}});var ps=__commonJS({"node_modules/asynckit/lib/async.js"(Wt,Pt){"use strict";var en=us();Pt.exports=async;function async(Wt){var Pt=false;en((function(){Pt=true}));return function async_callback(tn,nn){if(Pt){Wt(tn,nn)}else{en((function nextTick_callback(){Wt(tn,nn)}))}}}}});var ms=__commonJS({"node_modules/asynckit/lib/abort.js"(Wt,Pt){"use strict";Pt.exports=abort;function abort(Wt){Object.keys(Wt.jobs).forEach(clean.bind(Wt));Wt.jobs={}}function clean(Wt){if(typeof this.jobs[Wt]=="function"){this.jobs[Wt]()}}}});var bs=__commonJS({"node_modules/asynckit/lib/iterate.js"(Wt,Pt){"use strict";var en=ps();var tn=ms();Pt.exports=iterate;function iterate(Wt,Pt,en,nn){var an=en["keyedList"]?en["keyedList"][en.index]:en.index;en.jobs[an]=runJob(Pt,an,Wt[an],(function(Wt,Pt){if(!(an in en.jobs)){return}delete en.jobs[an];if(Wt){tn(en)}else{en.results[an]=Pt}nn(Wt,en.results)}))}function runJob(Wt,Pt,tn,nn){var an;if(Wt.length==2){an=Wt(tn,en(nn))}else{an=Wt(tn,Pt,en(nn))}return an}}});var Gs=__commonJS({"node_modules/asynckit/lib/state.js"(Wt,Pt){"use strict";Pt.exports=state;function state(Wt,Pt){var en=!Array.isArray(Wt),tn={index:0,keyedList:en||Pt?Object.keys(Wt):null,jobs:{},results:en?{}:[],size:en?Object.keys(Wt).length:Wt.length};if(Pt){tn.keyedList.sort(en?Pt:function(en,tn){return Pt(Wt[en],Wt[tn])})}return tn}}});var hs=__commonJS({"node_modules/asynckit/lib/terminator.js"(Wt,Pt){"use strict";var en=ms();var tn=ps();Pt.exports=terminator;function terminator(Wt){if(!Object.keys(this.jobs).length){return}this.index=this.size;en(this);tn(Wt)(null,this.results)}}});var Zs=__commonJS({"node_modules/asynckit/parallel.js"(Wt,Pt){"use strict";var en=bs();var tn=Gs();var nn=hs();Pt.exports=parallel;function parallel(Wt,Pt,an){var In=tn(Wt);while(In.index<(In["keyedList"]||Wt).length){en(Wt,Pt,In,(function(Wt,Pt){if(Wt){an(Wt,Pt);return}if(Object.keys(In.jobs).length===0){an(null,In.results);return}}));In.index++}return nn.bind(In,an)}}});var As=__commonJS({"node_modules/asynckit/serialOrdered.js"(Wt,Pt){"use strict";var en=bs();var tn=Gs();var nn=hs();Pt.exports=serialOrdered;Pt.exports.ascending=ascending;Pt.exports.descending=descending;function serialOrdered(Wt,Pt,an,In){var rn=tn(Wt,an);en(Wt,Pt,rn,(function iteratorHandler(tn,nn){if(tn){In(tn,nn);return}rn.index++;if(rn.index<(rn["keyedList"]||Wt).length){en(Wt,Pt,rn,iteratorHandler);return}In(null,rn.results)}));return nn.bind(rn,In)}function ascending(Wt,Pt){return WtPt?1:0}function descending(Wt,Pt){return-1*ascending(Wt,Pt)}}});var Ws=__commonJS({"node_modules/asynckit/serial.js"(Wt,Pt){"use strict";var en=As();Pt.exports=serial;function serial(Wt,Pt,tn){return en(Wt,Pt,null,tn)}}});var Ns=__commonJS({"node_modules/asynckit/index.js"(Wt,Pt){"use strict";Pt.exports={parallel:Zs(),serial:Ws(),serialOrdered:As()}}});var gs=__commonJS({"node_modules/form-data/lib/populate.js"(Wt,Pt){"use strict";Pt.exports=function(Wt,Pt){Object.keys(Pt).forEach((function(en){Wt[en]=Wt[en]||Pt[en]}));return Wt}}});var ys=__commonJS({"node_modules/form-data/lib/form_data.js"(Wt,Pt){"use strict";var tn=os();var nn=en(39023);var an=en(16928);var In=en(58611);var rn=en(65692);var sn=en(87016).parse;var on=en(79896);var cn=en(2203).Stream;var dn=ds();var un=Ns();var pn=gs();Pt.exports=FormData3;nn.inherits(FormData3,tn);function FormData3(Wt){if(!(this instanceof FormData3)){return new FormData3(Wt)}this._overheadLength=0;this._valueLength=0;this._valuesToMeasure=[];tn.call(this);Wt=Wt||{};for(var Pt in Wt){this[Pt]=Wt[Pt]}}FormData3.LINE_BREAK="\r\n";FormData3.DEFAULT_CONTENT_TYPE="application/octet-stream";FormData3.prototype.append=function(Wt,Pt,en){en=en||{};if(typeof en=="string"){en={filename:en}}var an=tn.prototype.append.bind(this);if(typeof Pt=="number"){Pt=""+Pt}if(nn.isArray(Pt)){this._error(new Error("Arrays are not supported."));return}var In=this._multiPartHeader(Wt,Pt,en);var rn=this._multiPartFooter();an(In);an(Pt);an(rn);this._trackLength(In,Pt,en)};FormData3.prototype._trackLength=function(Wt,Pt,en){var tn=0;if(en.knownLength!=null){tn+=+en.knownLength}else if(Buffer.isBuffer(Pt)){tn=Pt.length}else if(typeof Pt==="string"){tn=Buffer.byteLength(Pt)}this._valueLength+=tn;this._overheadLength+=Buffer.byteLength(Wt)+FormData3.LINE_BREAK.length;if(!Pt||!Pt.path&&!(Pt.readable&&Pt.hasOwnProperty("httpVersion"))&&!(Pt instanceof cn)){return}if(!en.knownLength){this._valuesToMeasure.push(Pt)}};FormData3.prototype._lengthRetriever=function(Wt,Pt){if(Wt.hasOwnProperty("fd")){if(Wt.end!=void 0&&Wt.end!=Infinity&&Wt.start!=void 0){Pt(null,Wt.end+1-(Wt.start?Wt.start:0))}else{on.stat(Wt.path,(function(en,tn){var nn;if(en){Pt(en);return}nn=tn.size-(Wt.start?Wt.start:0);Pt(null,nn)}))}}else if(Wt.hasOwnProperty("httpVersion")){Pt(null,+Wt.headers["content-length"])}else if(Wt.hasOwnProperty("httpModule")){Wt.on("response",(function(en){Wt.pause();Pt(null,+en.headers["content-length"])}));Wt.resume()}else{Pt("Unknown stream")}};FormData3.prototype._multiPartHeader=function(Wt,Pt,en){if(typeof en.header=="string"){return en.header}var tn=this._getContentDisposition(Pt,en);var nn=this._getContentType(Pt,en);var an="";var In={"Content-Disposition":["form-data",'name="'+Wt+'"'].concat(tn||[]),"Content-Type":[].concat(nn||[])};if(typeof en.header=="object"){pn(In,en.header)}var rn;for(var sn in In){if(!In.hasOwnProperty(sn))continue;rn=In[sn];if(rn==null){continue}if(!Array.isArray(rn)){rn=[rn]}if(rn.length){an+=sn+": "+rn.join("; ")+FormData3.LINE_BREAK}}return"--"+this.getBoundary()+FormData3.LINE_BREAK+an+FormData3.LINE_BREAK};FormData3.prototype._getContentDisposition=function(Wt,Pt){var en,tn;if(typeof Pt.filepath==="string"){en=an.normalize(Pt.filepath).replace(/\\/g,"/")}else if(Pt.filename||Wt.name||Wt.path){en=an.basename(Pt.filename||Wt.name||Wt.path)}else if(Wt.readable&&Wt.hasOwnProperty("httpVersion")){en=an.basename(Wt.client._httpMessage.path||"")}if(en){tn='filename="'+en+'"'}return tn};FormData3.prototype._getContentType=function(Wt,Pt){var en=Pt.contentType;if(!en&&Wt.name){en=dn.lookup(Wt.name)}if(!en&&Wt.path){en=dn.lookup(Wt.path)}if(!en&&Wt.readable&&Wt.hasOwnProperty("httpVersion")){en=Wt.headers["content-type"]}if(!en&&(Pt.filepath||Pt.filename)){en=dn.lookup(Pt.filepath||Pt.filename)}if(!en&&typeof Wt=="object"){en=FormData3.DEFAULT_CONTENT_TYPE}return en};FormData3.prototype._multiPartFooter=function(){return function(Wt){var Pt=FormData3.LINE_BREAK;var en=this._streams.length===0;if(en){Pt+=this._lastBoundary()}Wt(Pt)}.bind(this)};FormData3.prototype._lastBoundary=function(){return"--"+this.getBoundary()+"--"+FormData3.LINE_BREAK};FormData3.prototype.getHeaders=function(Wt){var Pt;var en={"content-type":"multipart/form-data; boundary="+this.getBoundary()};for(Pt in Wt){if(Wt.hasOwnProperty(Pt)){en[Pt.toLowerCase()]=Wt[Pt]}}return en};FormData3.prototype.setBoundary=function(Wt){this._boundary=Wt};FormData3.prototype.getBoundary=function(){if(!this._boundary){this._generateBoundary()}return this._boundary};FormData3.prototype.getBuffer=function(){var Wt=new Buffer.alloc(0);var Pt=this.getBoundary();for(var en=0,tn=this._streams.length;en0){return parse(Wt)}else if(en==="number"&&isFinite(Wt)){return Pt.long?fmtLong(Wt):fmtShort(Wt)}throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(Wt))};function parse(Wt){Wt=String(Wt);if(Wt.length>100){return}var Pt=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(Wt);if(!Pt){return}var sn=parseFloat(Pt[1]);var on=(Pt[2]||"ms").toLowerCase();switch(on){case"years":case"year":case"yrs":case"yr":case"y":return sn*rn;case"weeks":case"week":case"w":return sn*In;case"days":case"day":case"d":return sn*an;case"hours":case"hour":case"hrs":case"hr":case"h":return sn*nn;case"minutes":case"minute":case"mins":case"min":case"m":return sn*tn;case"seconds":case"second":case"secs":case"sec":case"s":return sn*en;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return sn;default:return void 0}}function fmtShort(Wt){var Pt=Math.abs(Wt);if(Pt>=an){return Math.round(Wt/an)+"d"}if(Pt>=nn){return Math.round(Wt/nn)+"h"}if(Pt>=tn){return Math.round(Wt/tn)+"m"}if(Pt>=en){return Math.round(Wt/en)+"s"}return Wt+"ms"}function fmtLong(Wt){var Pt=Math.abs(Wt);if(Pt>=an){return plural(Wt,Pt,an,"day")}if(Pt>=nn){return plural(Wt,Pt,nn,"hour")}if(Pt>=tn){return plural(Wt,Pt,tn,"minute")}if(Pt>=en){return plural(Wt,Pt,en,"second")}return Wt+" ms"}function plural(Wt,Pt,en,tn){var nn=Pt>=en*1.5;return Math.round(Wt/en)+" "+tn+(nn?"s":"")}}});var Es=__commonJS({"node_modules/debug/src/common.js"(Wt,Pt){"use strict";function setup(Wt){createDebug.debug=createDebug;createDebug.default=createDebug;createDebug.coerce=coerce;createDebug.disable=disable;createDebug.enable=enable;createDebug.enabled=enabled;createDebug.humanize=Ys();createDebug.destroy=destroy;Object.keys(Wt).forEach((Pt=>{createDebug[Pt]=Wt[Pt]}));createDebug.names=[];createDebug.skips=[];createDebug.formatters={};function selectColor(Wt){let Pt=0;for(let en=0;en{if(Pt==="%%"){return"%"}an++;const nn=createDebug.formatters[tn];if(typeof nn==="function"){const tn=Wt[an];Pt=nn.call(en,tn);Wt.splice(an,1);an--}return Pt}));createDebug.formatArgs.call(en,Wt);const In=en.log||createDebug.log;In.apply(en,Wt)}debug.namespace=Wt;debug.useColors=createDebug.useColors();debug.color=createDebug.selectColor(Wt);debug.extend=extend2;debug.destroy=createDebug.destroy;Object.defineProperty(debug,"enabled",{enumerable:true,configurable:false,get:()=>{if(en!==null){return en}if(tn!==createDebug.namespaces){tn=createDebug.namespaces;nn=createDebug.enabled(Wt)}return nn},set:Wt=>{en=Wt}});if(typeof createDebug.init==="function"){createDebug.init(debug)}return debug}function extend2(Wt,Pt){const en=createDebug(this.namespace+(typeof Pt==="undefined"?":":Pt)+Wt);en.log=this.log;return en}function enable(Wt){createDebug.save(Wt);createDebug.namespaces=Wt;createDebug.names=[];createDebug.skips=[];let Pt;const en=(typeof Wt==="string"?Wt:"").split(/[\s,]+/);const tn=en.length;for(Pt=0;Pt"-"+Wt))].join(",");createDebug.enable("");return Wt}function enabled(Wt){if(Wt[Wt.length-1]==="*"){return true}let Pt;let en;for(Pt=0,en=createDebug.skips.length;Pt{let Wt=false;return()=>{if(!Wt){Wt=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`.")}}})();Wt.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 Wt;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&&(Wt=navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/))&&parseInt(Wt[1],10)>=31||typeof navigator!=="undefined"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)}function formatArgs(Wt){Wt[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+Wt[0]+(this.useColors?"%c ":" ")+"+"+Pt.exports.humanize(this.diff);if(!this.useColors){return}const en="color: "+this.color;Wt.splice(1,0,en,"color: inherit");let tn=0;let nn=0;Wt[0].replace(/%[a-zA-Z%]/g,(Wt=>{if(Wt==="%%"){return}tn++;if(Wt==="%c"){nn=tn}}));Wt.splice(nn,0,en)}Wt.log=console.debug||console.log||(()=>{});function save(Pt){try{if(Pt){Wt.storage.setItem("debug",Pt)}else{Wt.storage.removeItem("debug")}}catch(Wt){}}function load(){let Pt;try{Pt=Wt.storage.getItem("debug")}catch(Wt){}if(!Pt&&typeof process!=="undefined"&&"env"in process){Pt=process.env.DEBUG}return Pt}function localstorage(){try{return localStorage}catch(Wt){}}Pt.exports=Es()(Wt);var{formatters:en}=Pt.exports;en.j=function(Wt){try{return JSON.stringify(Wt)}catch(Wt){return"[UnexpectedJSONParseError]: "+Wt.message}}}});var Rs=__commonJS({"node_modules/has-flag/index.js"(Wt,Pt){"use strict";Pt.exports=(Wt,Pt=process.argv)=>{const en=Wt.startsWith("-")?"":Wt.length===1?"-":"--";const tn=Pt.indexOf(en+Wt);const nn=Pt.indexOf("--");return tn!==-1&&(nn===-1||tn=2,has16m:Wt>=3}}function supportsColor(Wt,Pt){if(rn===0){return 0}if(an("color=16m")||an("color=full")||an("color=truecolor")){return 3}if(an("color=256")){return 2}if(Wt&&!Pt&&rn===void 0){return 0}const en=rn||0;if(In.TERM==="dumb"){return en}if(process.platform==="win32"){const Wt=tn.release().split(".");if(Number(Wt[0])>=10&&Number(Wt[2])>=10586){return Number(Wt[2])>=14931?3:2}return 1}if("CI"in In){if(["TRAVIS","CIRCLECI","APPVEYOR","GITLAB_CI","GITHUB_ACTIONS","BUILDKITE"].some((Wt=>Wt in In))||In.CI_NAME==="codeship"){return 1}return en}if("TEAMCITY_VERSION"in In){return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(In.TEAMCITY_VERSION)?1:0}if(In.COLORTERM==="truecolor"){return 3}if("TERM_PROGRAM"in In){const Wt=parseInt((In.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(In.TERM_PROGRAM){case"iTerm.app":return Wt>=3?3:2;case"Apple_Terminal":return 2}}if(/-256(color)?$/i.test(In.TERM)){return 2}if(/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(In.TERM)){return 1}if("COLORTERM"in In){return 1}return en}function getSupportLevel(Wt){const Pt=supportsColor(Wt,Wt&&Wt.isTTY);return translateLevel(Pt)}Pt.exports={supportsColor:getSupportLevel,stdout:translateLevel(supportsColor(true,nn.isatty(1))),stderr:translateLevel(supportsColor(true,nn.isatty(2)))}}});var Fs=__commonJS({"node_modules/debug/src/node.js"(Wt,Pt){"use strict";var tn=en(52018);var nn=en(39023);Wt.init=init;Wt.log=log;Wt.formatArgs=formatArgs;Wt.save=save;Wt.load=load;Wt.useColors=useColors;Wt.destroy=nn.deprecate((()=>{}),"Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.");Wt.colors=[6,2,3,4,5,1];try{const Pt=ws();if(Pt&&(Pt.stderr||Pt).level>=2){Wt.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(Wt){}Wt.inspectOpts=Object.keys(process.env).filter((Wt=>/^debug_/i.test(Wt))).reduce(((Wt,Pt)=>{const en=Pt.substring(6).toLowerCase().replace(/_([a-z])/g,((Wt,Pt)=>Pt.toUpperCase()));let tn=process.env[Pt];if(/^(yes|on|true|enabled)$/i.test(tn)){tn=true}else if(/^(no|off|false|disabled)$/i.test(tn)){tn=false}else if(tn==="null"){tn=null}else{tn=Number(tn)}Wt[en]=tn;return Wt}),{});function useColors(){return"colors"in Wt.inspectOpts?Boolean(Wt.inspectOpts.colors):tn.isatty(process.stderr.fd)}function formatArgs(Wt){const{namespace:en,useColors:tn}=this;if(tn){const tn=this.color;const nn="[3"+(tn<8?tn:"8;5;"+tn);const an=` ${nn};1m${en} `;Wt[0]=an+Wt[0].split("\n").join("\n"+an);Wt.push(nn+"m+"+Pt.exports.humanize(this.diff)+"")}else{Wt[0]=getDate()+en+" "+Wt[0]}}function getDate(){if(Wt.inspectOpts.hideDate){return""}return(new Date).toISOString()+" "}function log(...Pt){return process.stderr.write(nn.formatWithOptions(Wt.inspectOpts,...Pt)+"\n")}function save(Wt){if(Wt){process.env.DEBUG=Wt}else{delete process.env.DEBUG}}function load(){return process.env.DEBUG}function init(Pt){Pt.inspectOpts={};const en=Object.keys(Wt.inspectOpts);for(let tn=0;tnWt.trim())).join(" ")};an.O=function(Wt){this.inspectOpts.colors=this.useColors;return nn.inspect(Wt,this.inspectOpts)}}});var Qs=__commonJS({"node_modules/debug/src/index.js"(Wt,Pt){"use strict";if(typeof process==="undefined"||process.type==="renderer"||process.browser===true||process.__nwjs){Pt.exports=Vs()}else{Pt.exports=Fs()}}});var fs=__commonJS({"node_modules/follow-redirects/debug.js"(Wt,Pt){"use strict";var en;Pt.exports=function(){if(!en){try{en=Qs()("follow-redirects")}catch(Wt){}if(typeof en!=="function"){en=function(){}}}en.apply(null,arguments)}}});var Hs=__commonJS({"node_modules/follow-redirects/index.js"(Wt,Pt){"use strict";var tn=en(87016);var nn=tn.URL;var an=en(58611);var In=en(65692);var rn=en(2203).Writable;var sn=en(42613);var on=fs();var cn=false;try{sn(new nn)}catch(Wt){cn=Wt.code==="ERR_INVALID_URL"}var dn=["auth","host","hostname","href","path","pathname","port","protocol","query","search","hash"];var un=["abort","aborted","connect","error","socket","timeout"];var pn=Object.create(null);un.forEach((function(Wt){pn[Wt]=function(Pt,en,tn){this._redirectable.emit(Wt,Pt,en,tn)}}));var mn=createErrorType("ERR_INVALID_URL","Invalid URL",TypeError);var bn=createErrorType("ERR_FR_REDIRECTION_FAILURE","Redirected request failed");var Gn=createErrorType("ERR_FR_TOO_MANY_REDIRECTS","Maximum number of redirects exceeded",bn);var hn=createErrorType("ERR_FR_MAX_BODY_LENGTH_EXCEEDED","Request body larger than maxBodyLength limit");var Zn=createErrorType("ERR_STREAM_WRITE_AFTER_END","write after end");var An=rn.prototype.destroy||noop2;function RedirectableRequest(Wt,Pt){rn.call(this);this._sanitizeOptions(Wt);this._options=Wt;this._ended=false;this._ending=false;this._redirectCount=0;this._redirects=[];this._requestBodyLength=0;this._requestBodyBuffers=[];if(Pt){this.on("response",Pt)}var en=this;this._onNativeResponse=function(Wt){try{en._processResponse(Wt)}catch(Wt){en.emit("error",Wt instanceof bn?Wt:new bn({cause:Wt}))}};this._performRequest()}RedirectableRequest.prototype=Object.create(rn.prototype);RedirectableRequest.prototype.abort=function(){destroyRequest(this._currentRequest);this._currentRequest.abort();this.emit("abort")};RedirectableRequest.prototype.destroy=function(Wt){destroyRequest(this._currentRequest,Wt);An.call(this,Wt);return this};RedirectableRequest.prototype.write=function(Wt,Pt,en){if(this._ending){throw new Zn}if(!isString2(Wt)&&!isBuffer2(Wt)){throw new TypeError("data should be a string, Buffer or Uint8Array")}if(isFunction2(Pt)){en=Pt;Pt=null}if(Wt.length===0){if(en){en()}return}if(this._requestBodyLength+Wt.length<=this._options.maxBodyLength){this._requestBodyLength+=Wt.length;this._requestBodyBuffers.push({data:Wt,encoding:Pt});this._currentRequest.write(Wt,Pt,en)}else{this.emit("error",new hn);this.abort()}};RedirectableRequest.prototype.end=function(Wt,Pt,en){if(isFunction2(Wt)){en=Wt;Wt=Pt=null}else if(isFunction2(Pt)){en=Pt;Pt=null}if(!Wt){this._ended=this._ending=true;this._currentRequest.end(null,null,en)}else{var tn=this;var nn=this._currentRequest;this.write(Wt,Pt,(function(){tn._ended=true;nn.end(null,null,en)}));this._ending=true}};RedirectableRequest.prototype.setHeader=function(Wt,Pt){this._options.headers[Wt]=Pt;this._currentRequest.setHeader(Wt,Pt)};RedirectableRequest.prototype.removeHeader=function(Wt){delete this._options.headers[Wt];this._currentRequest.removeHeader(Wt)};RedirectableRequest.prototype.setTimeout=function(Wt,Pt){var en=this;function destroyOnTimeout(Pt){Pt.setTimeout(Wt);Pt.removeListener("timeout",Pt.destroy);Pt.addListener("timeout",Pt.destroy)}function startTimer(Pt){if(en._timeout){clearTimeout(en._timeout)}en._timeout=setTimeout((function(){en.emit("timeout");clearTimer()}),Wt);destroyOnTimeout(Pt)}function clearTimer(){if(en._timeout){clearTimeout(en._timeout);en._timeout=null}en.removeListener("abort",clearTimer);en.removeListener("error",clearTimer);en.removeListener("response",clearTimer);en.removeListener("close",clearTimer);if(Pt){en.removeListener("timeout",Pt)}if(!en.socket){en._currentRequest.removeListener("socket",startTimer)}}if(Pt){this.on("timeout",Pt)}if(this.socket){startTimer(this.socket)}else{this._currentRequest.once("socket",startTimer)}this.on("socket",destroyOnTimeout);this.on("abort",clearTimer);this.on("error",clearTimer);this.on("response",clearTimer);this.on("close",clearTimer);return this};["flushHeaders","getHeader","setNoDelay","setSocketKeepAlive"].forEach((function(Wt){RedirectableRequest.prototype[Wt]=function(Pt,en){return this._currentRequest[Wt](Pt,en)}}));["aborted","connection","socket"].forEach((function(Wt){Object.defineProperty(RedirectableRequest.prototype,Wt,{get:function(){return this._currentRequest[Wt]}})}));RedirectableRequest.prototype._sanitizeOptions=function(Wt){if(!Wt.headers){Wt.headers={}}if(Wt.host){if(!Wt.hostname){Wt.hostname=Wt.host}delete Wt.host}if(!Wt.pathname&&Wt.path){var Pt=Wt.path.indexOf("?");if(Pt<0){Wt.pathname=Wt.path}else{Wt.pathname=Wt.path.substring(0,Pt);Wt.search=Wt.path.substring(Pt)}}};RedirectableRequest.prototype._performRequest=function(){var Wt=this._options.protocol;var Pt=this._options.nativeProtocols[Wt];if(!Pt){throw new TypeError("Unsupported protocol "+Wt)}if(this._options.agents){var en=Wt.slice(0,-1);this._options.agent=this._options.agents[en]}var nn=this._currentRequest=Pt.request(this._options,this._onNativeResponse);nn._redirectable=this;for(var an of un){nn.on(an,pn[an])}this._currentUrl=/^\//.test(this._options.path)?tn.format(this._options):this._options.path;if(this._isRedirect){var In=0;var rn=this;var sn=this._requestBodyBuffers;(function writeNext(Wt){if(nn===rn._currentRequest){if(Wt){rn.emit("error",Wt)}else if(In=400){Wt.responseUrl=this._currentUrl;Wt.redirects=this._redirects;this.emit("response",Wt);this._requestBodyBuffers=[];return}destroyRequest(this._currentRequest);Wt.destroy();if(++this._redirectCount>this._options.maxRedirects){throw new Gn}var nn;var an=this._options.beforeRedirect;if(an){nn=Object.assign({Host:Wt.req.getHeader("host")},this._options.headers)}var In=this._options.method;if((Pt===301||Pt===302)&&this._options.method==="POST"||Pt===303&&!/^(?:GET|HEAD)$/.test(this._options.method)){this._options.method="GET";this._requestBodyBuffers=[];removeMatchingHeaders(/^content-/i,this._options.headers)}var rn=removeMatchingHeaders(/^host$/i,this._options.headers);var sn=parseUrl(this._currentUrl);var cn=rn||sn.host;var dn=/^\w+:/.test(en)?this._currentUrl:tn.format(Object.assign(sn,{host:cn}));var un=resolveUrl(en,dn);on("redirecting to",un.href);this._isRedirect=true;spreadUrlObject(un,this._options);if(un.protocol!==sn.protocol&&un.protocol!=="https:"||un.host!==cn&&!isSubdomain(un.host,cn)){removeMatchingHeaders(/^(?:(?:proxy-)?authorization|cookie)$/i,this._options.headers)}if(isFunction2(an)){var pn={headers:Wt.headers,statusCode:Pt};var mn={url:dn,method:In,headers:nn};an(this._options,pn,mn);this._sanitizeOptions(this._options)}this._performRequest()};function wrap(Wt){var Pt={maxRedirects:21,maxBodyLength:10*1024*1024};var en={};Object.keys(Wt).forEach((function(tn){var nn=tn+":";var an=en[nn]=Wt[tn];var In=Pt[tn]=Object.create(an);function request(Wt,tn,an){if(isURL(Wt)){Wt=spreadUrlObject(Wt)}else if(isString2(Wt)){Wt=spreadUrlObject(parseUrl(Wt))}else{an=tn;tn=validateUrl(Wt);Wt={protocol:nn}}if(isFunction2(tn)){an=tn;tn=null}tn=Object.assign({maxRedirects:Pt.maxRedirects,maxBodyLength:Pt.maxBodyLength},Wt,tn);tn.nativeProtocols=en;if(!isString2(tn.host)&&!isString2(tn.hostname)){tn.hostname="::1"}sn.equal(tn.protocol,nn,"protocol mismatch");on("options",tn);return new RedirectableRequest(tn,an)}function get(Wt,Pt,en){var tn=In.request(Wt,Pt,en);tn.end();return tn}Object.defineProperties(In,{request:{value:request,configurable:true,enumerable:true,writable:true},get:{value:get,configurable:true,enumerable:true,writable:true}})}));return Pt}function noop2(){}function parseUrl(Wt){var Pt;if(cn){Pt=new nn(Wt)}else{Pt=validateUrl(tn.parse(Wt));if(!isString2(Pt.protocol)){throw new mn({input:Wt})}}return Pt}function resolveUrl(Wt,Pt){return cn?new nn(Wt,Pt):parseUrl(tn.resolve(Pt,Wt))}function validateUrl(Wt){if(/^\[/.test(Wt.hostname)&&!/^\[[:0-9a-f]+\]$/i.test(Wt.hostname)){throw new mn({input:Wt.href||Wt})}if(/^\[/.test(Wt.host)&&!/^\[[:0-9a-f]+\](:\d+)?$/i.test(Wt.host)){throw new mn({input:Wt.href||Wt})}return Wt}function spreadUrlObject(Wt,Pt){var en=Pt||{};for(var tn of dn){en[tn]=Wt[tn]}if(en.hostname.startsWith("[")){en.hostname=en.hostname.slice(1,-1)}if(en.port!==""){en.port=Number(en.port)}en.path=en.search?en.pathname+en.search:en.pathname;return en}function removeMatchingHeaders(Wt,Pt){var en;for(var tn in Pt){if(Wt.test(tn)){en=Pt[tn];delete Pt[tn]}}return en===null||typeof en==="undefined"?void 0:String(en).trim()}function createErrorType(Wt,Pt,en){function CustomError(en){Error.captureStackTrace(this,this.constructor);Object.assign(this,en||{});this.code=Wt;this.message=this.cause?Pt+": "+this.cause.message:Pt}CustomError.prototype=new(en||Error);Object.defineProperties(CustomError.prototype,{constructor:{value:CustomError,enumerable:false},name:{value:"Error ["+Wt+"]",enumerable:false}});return CustomError}function destroyRequest(Wt,Pt){for(var en of un){Wt.removeListener(en,pn[en])}Wt.on("error",noop2);Wt.destroy(Pt)}function isSubdomain(Wt,Pt){sn(isString2(Wt)&&isString2(Pt));var en=Wt.length-Pt.length-1;return en>0&&Wt[en]==="."&&Wt.endsWith(Pt)}function isString2(Wt){return typeof Wt==="string"||Wt instanceof String}function isFunction2(Wt){return typeof Wt==="function"}function isBuffer2(Wt){return typeof Wt==="object"&&"length"in Wt}function isURL(Wt){return nn&&Wt instanceof nn}Pt.exports=wrap({http:an,https:In});Pt.exports.wrap=wrap}});var Cs={};__export(Cs,{LOCAL_HOST:()=>Ts,PrettyLogs:()=>Ks,RPCHandler:()=>ki,RPCService:()=>Hi,StorageService:()=>Ci,getNetworkCurrency:()=>getNetworkCurrency,getNetworkData:()=>getNetworkData,getNetworkExplorer:()=>getNetworkExplorer,getNetworkFaucets:()=>getNetworkFaucets,getNetworkId:()=>getNetworkId,getNetworkName:()=>getNetworkName,getNetworkRpcs:()=>getNetworkRpcs,networkCurrencies:()=>js,networkExplorers:()=>Ds,networkIds:()=>Ms,networkNames:()=>zs,networkRpcs:()=>Ss,nftAddress:()=>Os,permit2Address:()=>xs});Wt.exports=__toCommonJS(Cs);var Xs={1:"ethereum-mainnet",2:"expanse-network",3:"ropsten",4:"rinkeby",5:"goerli",7:"thaichain",8:"ubiq",9:"ubiq-network-testnet",10:"op-mainnet",11:"metadium-mainnet",12:"metadium-testnet",13:"diode-testnet-staging",14:"flare-mainnet",15:"diode-prenet",16:"songbird-testnet-coston",17:"thaichain-2.0-thaifi",18:"thundercore-testnet",19:"songbird-canary-network",20:"elastos-smart-chain",21:"elastos-smart-chain-testnet",22:"ela-did-sidechain-mainnet",23:"ela-did-sidechain-testnet",24:"kardiachain-mainnet",25:"cronos-mainnet",26:"genesis-l1-testnet",27:"shibachain",29:"genesis-l1",30:"rootstock-mainnet",31:"rootstock-testnet",32:"gooddata-testnet",33:"gooddata-mainnet",34:"securechain-mainnet",35:"tbwg-chain",36:"dxchain-mainnet",37:"xpla-mainnet",38:"valorbit",39:"u2u-solaris-mainnet",40:"telos-evm-mainnet",41:"telos-evm-testnet",42:"lukso-mainnet",43:"darwinia-pangolin-testnet",44:"crab-network",45:"darwinia-pangoro-testnet",46:"darwinia-network",47:"acria-intellichain",48:"ennothem-mainnet-proterozoic",49:"ennothem-testnet-pioneer",50:"xdc-network",51:"xdc-apothem-network",52:"coinex-smart-chain-mainnet",53:"coinex-smart-chain-testnet",54:"openpiece-mainnet",55:"zyx-mainnet",56:"bnb-smart-chain-mainnet",57:"syscoin-mainnet",58:"ontology-mainnet",60:"gochain",61:"ethereum-classic",63:"mordor-testnet",64:"ellaism",65:"okexchain-testnet",66:"okxchain-mainnet",67:"dbchain-testnet",68:"soterone-mainnet",69:"optimism-kovan",70:"hoo-smart-chain",71:"conflux-espace-(testnet)",72:"dxchain-testnet",73:"fncy",74:"idchain-mainnet",75:"decimal-smart-chain-mainnet",76:"mix",77:"poa-network-sokol",78:"primuschain-mainnet",79:"zenith-mainnet",80:"genechain",81:"japan-open-chain-mainnet",82:"meter-mainnet",83:"meter-testnet",84:"linqto-devnet",85:"gatechain-testnet",86:"gatechain-mainnet",87:"nova-network",88:"viction",89:"viction-testnet",90:"garizon-stage0",91:"garizon-stage1",92:"garizon-stage2",93:"garizon-stage3",94:"swissdlt",95:"camdl-mainnet",96:"bitkub-chain",97:"bnb-smart-chain-testnet",98:"six-protocol",99:"poa-network-core",100:"gnosis",101:"etherinc",102:"web3games-testnet",103:"worldland-mainnet",104:"kaiba-lightning-chain-testnet",105:"web3games-devnet",106:"velas-evm-mainnet",107:"nebula-testnet",108:"thundercore-mainnet",109:"shibarium",110:"proton-testnet",111:"etherlite-chain",112:"coinbit-mainnet",113:"dehvo",114:"flare-testnet-coston2",117:"uptick-mainnet",118:"arcology-testnet",119:"enuls-mainnet",120:"enuls-testnet",121:"realchain-mainnet",122:"fuse-mainnet",123:"fuse-sparknet",124:"decentralized-web-mainnet",125:"oychain-testnet",126:"oychain-mainnet",127:"factory-127-mainnet",128:"huobi-eco-chain-mainnet",129:"innovator-chain",131:"engram-testnet",132:"namefi-chain-mainnet",133:"hashkey-chain-testnet",134:"iexec-sidechain",135:"alyx-chain-testnet",136:"deamchain-mainnet",137:"polygon-mainnet",138:"defi-oracle-meta-mainnet",139:"woopchain-mainnet",140:"eternal-mainnet",141:"openpiece-testnet",142:"dax-chain",144:"phi-network-v2",145:"soraai-testnet",147:"flag-mainnet",148:"shimmerevm",150:"six-protocol-testnet",151:"redbelly-network-mainnet",152:"redbelly-network-devnet",153:"redbelly-network-testnet",154:"redbelly-network-tge",155:"tenet-testnet",156:"oeblock-testnet",157:"puppynet-shibarium",158:"roburna-mainnet",159:"roburna-testnet",160:"armonia-eva-chain-mainnet",161:"armonia-eva-chain-testnet",162:"lightstreams-testnet",163:"lightstreams-mainnet",164:"omni-omega",166:"omni",167:"atoshi-testnet",168:"aioz-network",169:"manta-pacific-mainnet",170:"hoo-smart-chain-testnet",172:"latam-blockchain-resil-testnet",176:"dc-mainnet",178:"abey-testnet",179:"abey-mainnet",180:"ame-chain-mainnet",181:"waterfall-network",184:"dojima-testnet",185:"mint-mainnet",186:"seele-mainnet",187:"dojima",188:"bmc-mainnet",189:"bmc-testnet",190:"cmdao-bbq-chain",191:"filefilego",193:"crypto-emergency",195:"x-layer-testnet",196:"x-layer-mainnet",197:"neutrinos-testnet",198:"bitchain-mainnet",199:"bittorrent-chain-mainnet",200:"arbitrum-on-xdai",201:"moac-testnet",202:"edgeless-testnet",204:"opbnb-mainnet",205:"ekaash",206:"vinuchain-testnet",207:"vinuchain-network",208:"structx-mainnet",210:"bitnet",211:"freight-trust-network",212:"mapo-makalu",213:"b2-hub-mainnet",214:"shinarium-mainnet",217:"siriusnet-v2",220:"scalind-testnet",221:"blockex-mainnet",223:"b2-mainnet",224:"viridis-testnet",225:"lachain-mainnet",226:"lachain-testnet",228:"mind-network-mainnet",230:"swapdex",233:"ethernity-testnet",234:"protojumbo-testnet",236:"deamchain-testnet",242:"plinga-mainnet",246:"energy-web-chain",248:"oasys-mainnet",250:"fantom-opera",252:"fraxtal",254:"swan-chain-mainnet",255:"kroma",256:"huobi-eco-chain-testnet",258:"setheum",259:"neonlink-mainnet",261:"guru-network-testnet",262:"sur-blockchain-network",266:"neura",267:"neura-testnet",268:"neura-devnet",269:"high-performance-blockchain",271:"egoncoin-mainnet",274:"lachain",278:"xfair.ai-mainnet",279:"bpx-blockchain",282:"cronos-zkevm-testnet",288:"boba-network",291:"orderly-mainnet",295:"hedera-mainnet",296:"hedera-testnet",297:"hedera-previewnet",298:"hedera-localnet",300:"zksync-sepolia-testnet",302:"zkcandy-sepolia-testnet",303:"neurochain-testnet",305:"zksats-mainnet",307:"lovely-network-testnet",308:"furtheon",309:"wyzth-testnet",311:"omax-mainnet",313:"neurochain-mainnet",314:"filecoin---mainnet",321:"kcc-mainnet",322:"kcc-testnet",323:"cosvm-mainnet",324:"zksync-mainnet",325:"grvt-mainnet",326:"grvt-sepolia-testnet",333:"web3q-mainnet",335:"dfk-chain-test",336:"shiden",338:"cronos-testnet",345:"tsc-mainnet",360:"shape",361:"theta-mainnet",363:"theta-sapphire-testnet",364:"theta-amber-testnet",365:"theta-testnet",369:"pulsechain",371:"consta-testnet",380:"zkamoeba-testnet",381:"zkamoeba-mainnet",385:"lisinski",388:"cronos-zkevm-mainnet",395:"camdl-testnet",397:"near-mainnet",398:"near-testnet",399:"nativ3-mainnet",400:"hyperonchain-testnet",401:"ozone-chain-testnet",404:"syndr-l3",411:"pepe-chain-mainnet",416:"sx-network-mainnet",418:"latestnet",420:"optimism-goerli-testnet",422:"viridis-mainnet",424:"pgn-(public-goods-network)",427:"zeeth-chain",428:"geso-verse",434:"boyaa-mainnet",443:"ten-testnet",444:"synapse-chain-testnet",456:"arzio-chain",462:"areon-network-testnet",463:"areon-network-mainnet",480:"world-chain",499:"rupaya",500:"camino-c-chain",501:"columbus-test-network",510:"syndicate-chain",512:"double-a-chain-mainnet",513:"double-a-chain-testnet",516:"gear-zero-network-mainnet",520:"xt-smart-chain-mainnet",529:"firechain-mainnet",530:"f(x)core-mainnet-network",534:"candle",537:"optrust-mainnet",542:"pawchain-testnet",545:"testnet",555:"vela1-chain-mainnet",558:"tao-network",568:"dogechain-testnet",570:"rollux-mainnet",571:"metachain-mainnet",579:"filenova-mainnet",592:"astar",595:"acala-mandala-testnet-tc9",596:"karura-network-testnet",597:"acala-network-testnet",600:"meshnyan-testnet",601:"vine-testnet",610:"darwin-devnet",612:"eiob-mainnet",614:"graphlinq-blockchain-mainnet",624:"binary-mainnet",625:"binary-sepolia",634:"avocado",646:"previewnet",647:"sx-network-testnet",648:"endurance-smart-chain-mainnet",653:"kalichain-testnet",654:"kalichain",662:"ultronsmartchain",666:"pixie-chain-testnet",667:"laos-arrakis",668:"juncachain",669:"juncachain-testnet",686:"karura-network",690:"redstone",700:"star-social-testnet",701:"darwinia-koi-testnet",707:"blockchain-station-mainnet",708:"blockchain-station-testnet",710:"highbury",713:"vrcscan-mainnet",719:"shibarium-beta",721:"lycan-chain",727:"blucrates",730:"lovely-network-mainnet",741:"vention-smart-chain-testnet",742:"script-testnet",747:"mainnet",766:"ql1",776:"openchain-testnet",777:"cheapeth",786:"maal-chain",787:"acala-network",788:"aerochain-testnet",789:"patex",799:"rupaya-testnet",800:"lucid-blockchain",803:"haic",808:"portal-fantasy-chain-test",810:"haven1-testnet",813:"qitmeer-network-mainnet",814:"firechain-zkevm",818:"beone-chain-mainnet",820:"callisto-mainnet",822:"runic-chain-testnet",831:"checkdot-blockchain-devnet",841:"taraxa-mainnet",842:"taraxa-testnet",852:"hongkong-mainnet",859:"zeeth-chain-dev",868:"fantasia-chain-mainnet",876:"bandai-namco-research-verse-mainnet",877:"dexit-network",880:"ambros-chain-mainnet",888:"wanchain",898:"maxi-chain-testnet",899:"maxi-chain-mainnet",900:"garizon-testnet-stage0",901:"garizon-testnet-stage1",902:"garizon-testnet-stage2",903:"garizon-testnet-stage3",909:"portal-fantasy-chain",910:"decentrabone-layer1-testnet",911:"taproot-mainnet",917:"rinia-testnet",919:"mode-testnet",927:"yidark-chain-mainnet",943:"pulsechain-testnet-v4",956:"munode-testnet",957:"lyra-chain",963:"btc20-smart-chain",969:"ethxy",970:"oort-mainnet",971:"oort-huygens",972:"oort-ascraeus",977:"nepal-blockchain-network",979:"ethxy-testnet",980:"top-mainnet-evm",985:"memo-smart-chain-mainnet",987:"binarychain-mainnet",989:"top-mainnet",990:"eliberty-mainnet",995:"5irechain-mainnet",996:"bifrost-polkadot-mainnet",997:"5irechain-thunder",998:"lucky-network",999:"wanchain-testnet",1e3:"gton-mainnet",1001:"kaia-testnet-kairos",1003:"tectum-emission-token",1004:"t-ekta",1007:"newton-testnet",1008:"eurus-mainnet",1009:"jumbochain-mainnet",1010:"evrice-network",1011:"rebus-mainnet",1012:"newton",1022:"sakura",1023:"clover-testnet",1024:"clv-parachain",1028:"bittorrent-chain-testnet",1030:"conflux-espace",1031:"proxy-network-testnet",1038:"bronos-testnet",1039:"bronos-mainnet",1073:"shimmerevm-testnet",1075:"iota-evm-testnet",1079:"mintara-testnet",1080:"mintara-mainnet",1088:"metis-andromeda-mainnet",1089:"humans.ai-mainnet",1099:"moac-mainnet",1100:"dymension",1101:"polygon-zkevm",1107:"blxq-testnet",1108:"blxq-mainnet",1111:"wemix3.0-mainnet",1112:"wemix3.0-testnet",1113:"b2-hub-testnet",1115:"core-blockchain-testnet",1116:"core-blockchain-mainnet",1117:"dogcoin-mainnet",1123:"b2-testnet",1130:"defichain-evm-network-mainnet",1131:"defichain-evm-network-testnet",1133:"defimetachain-changi-testnet",1135:"lisk",1138:"amstar-testnet",1139:"mathchain",1140:"mathchain-testnet",1147:"flag-testnet",1149:"symplexia-smart-chain",1170:"origin-testnet",1177:"smart-host-teknoloji-testnet",1188:"clubmos-mainnet",1197:"iora-chain",1200:"cuckoo-chain",1201:"evanesco-testnet",1202:"world-trade-technical-chain-mainnet",1209:"saitablockchain(sbc)",1210:"cuckoo-sepolia",1213:"popcateum-mainnet",1214:"enterchain-mainnet",1221:"cycle-network-testnet",1223:"cycle-network-testnet-jellyfish",1225:"hybrid-testnet",1227:"bitcoin-protocol-testnet",1229:"exzo-network-mainnet",1230:"ultron-testnet",1231:"ultron-mainnet",1234:"step-network",1235:"itx-mainnet",1243:"arc-mainnet",1244:"arc-testnet",1246:"om-platform-mainnet",1248:"dogether-mainnet",1252:"cic-chain-testnet",1280:"halo-mainnet",1284:"moonbeam",1285:"moonriver",1287:"moonbase-alpha",1288:"moonrock",1291:"swisstronik-testnet",1311:"dos-fuji-subnet",1313:"jaiho-chain",1314:"alyx-mainnet",1319:"aia-mainnet",1320:"aia-testnet",1328:"sei-testnet",1329:"sei-network",1337:"geth-testnet",1338:"elysium-testnet",1339:"elysium-mainnet",1343:"blitz-subnet",1353:"cic-chain-mainnet",1369:"zafirium-mainnet",1370:"ramestta-mainnet",1377:"pingaksha-testnet",1379:"kalar-chain",1388:"amstar-mainnet",1392:"joseon-mainnet",1414:"silicon-zkevm-sepolia-testnet",1433:"rikeza-network-mainnet",1440:"living-assets-mainnet",1442:"polygon-zkevm-testnet",1452:"gil-testnet",1453:"metachain-istanbul",1455:"ctex-scan-blockchain",1456:"zkbase-mainnet",1490:"vitruveo-mainnet",1499:"idos-games-chain-testnet",1501:"bevm-canary",1506:"sherpax-mainnet",1507:"sherpax-testnet",1515:"beagle-messaging-chain",1559:"tenet",1570:"starchain-testnet",1578:"starchain",1617:"ethereum-inscription-mainnet",1618:"catecoin-chain-mainnet",1620:"atheios",1625:"gravity-alpha-mainnet",1648:"pivotal-mainnet",1657:"btachain",1662:"liquichain",1663:"horizen-gobi-testnet",1686:"mint-testnet",1687:"mint-sepolia-testnet",1688:"ludan-mainnet",1701:"anytype-evm-chain",1707:"tbsi-mainnet",1708:"tbsi-testnet",1717:"doric-network",1718:"palette-chain-mainnet",1729:"reya-network",1740:"metal-l2-testnet",1750:"metal-l2",1773:"partychain",1777:"gauss-mainnet",1789:"zkbase-sepolia-testnet",1804:"kerleano",1807:"rabbit-analog-testnet-chain",1811:"lif3-chain-testnet",1818:"cube-chain-mainnet",1819:"cube-chain-testnet",1821:"ruby-smart-chain-mainnet",1856:"teslafunds",1875:"whitechain",1881:"gitshock-cartenz-testnet",1890:"lightlink-phoenix-mainnet",1891:"lightlink-pegasus-testnet",1898:"bon-network",1899:"redefi-layer-2",1904:"sports-chain-network",1907:"bitcichain-mainnet",1908:"bitcichain-testnet",1909:"merkle-scan",1911:"scalind",1912:"ruby-smart-chain-testnet",1918:"upb-crescdi-testnet",1945:"onus-chain-testnet",1951:"d-chain-mainnet",1953:"selendra-network-testnet",1954:"dexilla-testnet",1956:"aiw3-testnet",1961:"selendra-network-mainnet",1967:"eleanor",1969:"super-smart-chain-testnet",1970:"super-smart-chain-mainnet",1971:"atelier",1972:"redecoin",1975:"onus-chain-mainnet",1984:"eurus-testnet",1985:"satoshie",1986:"satoshie-testnet",1987:"ethergem",1992:"hubble-exchange",1993:"b3-sepolia-testnet",1994:"ekta",1995:"edexa-testnet",1996:"sanko",1997:"kyoto",1998:"kyoto-testnet",2e3:"dogechain-mainnet",2001:"milkomeda-c1-mainnet",2002:"milkomeda-a1-mainnet",2004:"metalink-network",2008:"cloudwalk-testnet",2009:"cloudwalk-mainnet",2013:"panarchy",2014:"now-chain-testnet",2016:"mainnetz-mainnet",2017:"adiri",2018:"publicmint-devnet",2019:"publicmint-testnet",2020:"publicmint-mainnet",2021:"edgeware-edgeevm-mainnet",2022:"beresheet-bereevm-testnet",2023:"taycan-testnet",2024:"swan-saturn-testnet",2025:"rangers-protocol-mainnet",2026:"edgeless-network",2031:"centrifuge",2032:"catalyst",2035:"phala-network",2037:"kiwi-subnet",2038:"shrapnel-testnet",2039:"aleph-zero-testnet",2040:"vanar-mainnet",2043:"neuroweb",2044:"shrapnel-subnet",2045:"aiw3-mainnet",2047:"stratos-testnet",2048:"stratos",2049:"movo-smart-chain-mainnet",2077:"quokkacoin-mainnet",2088:"altair",2100:"ecoball-mainnet",2101:"ecoball-testnet-espuma",2109:"exosama-network",2112:"uchain-mainnet",2121:"catena-mainnet",2122:"metaplayerone-mainnet",2124:"metaplayerone-dubai-testnet",2136:"bigshortbets-testnet",2137:"bigshortbets",2138:"defi-oracle-meta-testnet",2140:"oneness-network",2141:"oneness-testnet",2151:"bosagora-mainnet",2152:"findora-mainnet",2153:"findora-testnet",2154:"findora-forge",2162:"animechain-testnet",2199:"moonsama-network",2202:"antofy-mainnet",2203:"bitcoin-evm",2213:"evanesco-mainnet",2221:"kava-testnet",2222:"kava",2223:"vchain-mainnet",2241:"krest-network",2300:"bomb-chain",2306:"ebro-network",2309:"arevia",2311:"chronicle-vesuvius---lit-protocol-testnet",2323:"soma-network-testnet",2330:"altcoinchain",2331:"rss3-vsl-sepolia-testnet",2332:"soma-network-mainnet",2340:"atleta-olympia",2342:"omnia-chain",2355:"silicon-zkevm",2358:"kroma-sepolia",2370:"nexis-network-testnet",2399:"bomb-chain-testnet",2400:"tcg-verse-mainnet",2410:"karak-mainnet",2415:"xodex",2425:"king-of-legends-mainnet",2442:"polygon-zkevm-cardona-testnet",2458:"hybrid-chain-network-testnet",2468:"hybrid-chain-network-mainnet",2484:"unicorn-ultra-nebulas-testnet",2522:"fraxtal-testnet",2525:"inevm-mainnet",2559:"kortho-mainnet",2569:"techpay-mainnet",2606:"pocrnet",2611:"redlight-chain-mainnet",2612:"ezchain-c-chain-mainnet",2613:"ezchain-c-chain-testnet",2625:"whitechain-testnet",2648:"ailayer-testnet",2649:"ailayer-mainnet",2662:"apex",2710:"morph-testnet",2718:"k-laos",2730:"xr-sepolia",2731:"elizabeth-testnet",2748:"nanon",2777:"gm-network-mainnet",2810:"morph-holesky",2882:"chips-network",2907:"elux-chain",2911:"hychain",2941:"xenon-chain-testnet",2999:"bityuan-mainnet",3e3:"cennznet-rata",3001:"cennznet-nikau",3003:"canxium-mainnet",3011:"playa3ull-games",3031:"orlando-chain",3033:"rebus-testnet",3068:"bifrost-mainnet",3073:"movement-evm",3084:"xl-network-testnet",3100:"immu3-evm",3102:"vulture-evm-beta",3109:"satoshivm-alpha-mainnet",3110:"satoshivm-testnet",3269:"dubxcoin-network",3270:"dubxcoin-testnet",3306:"debounce-subnet-testnet",3331:"zcore-testnet",3333:"ethstorage-testnet",3334:"web3q-galileo",3335:"ethstorage-mainnet",3338:"peaq",3400:"paribu-net-mainnet",3424:"evolve-mainnet",3434:"securechain-testnet",3456:"layeredge-testnet",3490:"gtcscan",3500:"paribu-net-testnet",3501:"jfin-chain",3601:"pandoproject-mainnet",3602:"pandoproject-testnet",3630:"tycooncoin",3636:"botanix-testnet",3637:"botanix-mainnet",3639:"ichain-network",3645:"ichain-testnet",3666:"jouleverse-mainnet",3690:"bittex-mainnet",3693:"empire-network",3698:"senjepowers-testnet",3699:"senjepowers-mainnet",3737:"crossbell",3776:"astar-zkevm",3797:"alveychain-mainnet",3799:"tangle-testnet",3885:"firechain-zkevm-ghostrider",3888:"kalychain-mainnet",3889:"kalychain-testnet",3912:"drac-network",3939:"dos-tesnet",3966:"dyno-mainnet",3967:"dyno-testnet",3993:"apex-testnet",3999:"yuanchain-mainnet",4e3:"ozone-chain-mainnet",4001:"peperium-chain-testnet",4002:"fantom-testnet",4003:"x1-fastnet",4040:"carbonium-testnet-network",4048:"gan-testnet",4058:"bahamut-ocean",4061:"nahmii-3-mainnet",4062:"nahmii-3-testnet",4078:"muster-mainnet",4080:"tobe-chain",4090:"fastex-chain-(bahamut)-oasis-testnet",4096:"bitindi-testnet",4099:"bitindi-mainnet",4102:"aioz-network-testnet",4139:"humans.ai-testnet",4141:"tipboxcoin-testnet",4157:"crossfi-testnet",4162:"sx-rollup",4181:"phi-network-v1",4200:"merlin-mainnet",4201:"lukso-testnet",4202:"lisk-sepolia-testnet",4242:"nexi-mainnet",4243:"nexi-v2-mainnet",4337:"beam",4400:"credit-smart-chain-mainnet",4444:"htmlcoin-mainnet",4460:"orderly-sepolia-testnet",4488:"hydra-chain",4544:"emoney-network-testnet",4613:"very-mainnet",4653:"gold-chain",4689:"iotex-network-mainnet",4690:"iotex-network-testnet",4759:"meverse-chain-testnet",4777:"blackfort-exchange-network-testnet",4801:"world-chain-sepolia-testnet",4893:"globel-chain",4918:"venidium-testnet",4919:"venidium-mainnet",4999:"blackfort-exchange-network",5e3:"mantle",5001:"mantle-testnet",5002:"treasurenet-mainnet-alpha",5003:"mantle-sepolia-testnet",5005:"treasurenet-testnet",5039:"onigiri-test-subnet",5040:"onigiri-subnet",5051:"nollie-skatechain-testnet",5100:"syndicate-testnet",5101:"syndicate-frame-chain",5102:"sic-testnet",5103:"coordinape-testnet",5104:"charmverse-testnet",5105:"superloyalty-testnet",5106:"azra-testnet",5112:"ham",5151:"mechain-testnet",5165:"bahamut",5169:"smart-layer-network",5177:"tlchain-network-mainnet",5197:"eraswap-mainnet",5234:"humanode-mainnet",5315:"uzmi-network-mainnet",5317:"optrust-testnet",5321:"itx-testnet",5333:"netsbo",5353:"tritanium-testnet",5372:"settlus-testnet",5424:"edexa-mainnet",5439:"egochain",5522:"vex-evm-testnet",5551:"nahmii-2-mainnet",5555:"chain-verse-mainnet",5611:"opbnb-testnet",5615:"arcturus-testneet",5616:"arcturus-chain-testnet",5656:"qie-blockchain",5675:"filenova-testnet",5678:"tanssi-demo",5700:"syscoin-tanenbaum-testnet",5729:"hika-network-testnet",5758:"satoshichain-testnet",5777:"ganache",5845:"tangle",5851:"ontology-testnet",5858:"chang-chain-foundation-mainnet",5869:"wegochain-rubidium-mainnet",6e3:"bouncebit-testnet",6001:"bouncebit-mainnet",6065:"tres-testnet",6066:"tres-mainnet",6102:"cascadia-testnet",6118:"uptn-testnet",6119:"uptn",6283:"laos",6321:"aura-euphoria-testnet",6322:"aura-mainnet",6363:"digit-soul-smart-chain",6398:"connext-sepolia",6502:"peerpay",6550:"flamma-testnet",6552:"scolcoin-weichain-testnet",6565:"fox-testnet-network",6626:"pixie-chain-mainnet",6660:"latest-chain-testnet",6661:"cybria-mainnet",6666:"cybria-testnet",6678:"edge-matrix-chain",6688:"irishub",6699:"ox-chain",6701:"paxb-mainnet",6779:"compverse-mainnet",6789:"gold-smart-chain-mainnet",6805:"race-mainnet",6806:"race-testnet",6868:"pools-mainnet",6969:"tomb-chain-mainnet",6999:"polysmartchain",7e3:"zetachain-mainnet",7001:"zetachain-testnet",7007:"bst-chain",7027:"ella-the-heart",7070:"planq-mainnet",7077:"planq-atlas-testnet",7100:"nume",7118:"help-the-homeless",7171:"bitrock-mainnet",7222:"nibiru-devnet-3",7244:"zeus-testnet",7300:"xpla-verse",7331:"klyntar",7332:"horizen-eon-mainnet",7341:"shyft-mainnet",7484:"raba-network-mainnet",7518:"meverse-chain-mainnet",7560:"cyber-mainnet",7575:"adil-testnet",7576:"adil-chain-v2-mainnet",7668:"the-root-network---mainnet",7672:"the-root-network---porcini-testnet",7700:"canto",7701:"canto-tesnet",7771:"bitrock-testnet",7774:"gdcc-mainnet",7775:"gdcc-testnet",7776:"pandasea-mainnet",7777:"rise-of-the-warbots-testnet",7778:"orenium-mainnet-protocol",7798:"openex-long-testnet",7860:"maalchain-testnet",7862:"maalchain-v2",7863:"maalchain-testnet-v2",7878:"hazlor-testnet",7887:"kinto-mainnet",7895:"ardenium-athena",7923:"dot-blox",7924:"mo-mainnet",7979:"dos-chain",8e3:"teleport",8001:"teleport-testnet",8008:"polynomial",8029:"mdgl-testnet",8047:"boat-mainnet",8054:"karak-sepolia",8080:"shardeum-liberty-1.x",8081:"shardeum-liberty-2.x",8082:"shardeum-sphinx-1.x",8086:"bitcoin-chain",8087:"e-dollar",8098:"streamux-blockchain",8131:"qitmeer-network-testnet",8132:"qitmeer-network-mixnet",8133:"qitmeer-network-privnet",8134:"amana",8135:"flana",8136:"mizana",8181:"testnet-beone-chain",8192:"torus-mainnet",8194:"torus-testnet",8217:"kaia-mainnet",8227:"space-subnet",8272:"blockton-blockchain",8285:"korthotest",8329:"lorenzo",8333:"b3",8387:"dracones-financial-services",8453:"base",8545:"chakra-testnet",8654:"toki-network",8655:"toki-testnet",8668:"hela-official-runtime-mainnet",8723:"tool-global-mainnet",8724:"tool-global-testnet",8726:"storagechain-mainnet",8727:"storagechain-testnet",8732:"bullions-smart-chain",8738:"alph-network",8768:"tmy-chain",8822:"iota-evm",8844:"hydra-chain-testnet",8848:"maro-blockchain-mainnet",8866:"superlumio",8869:"lif3-chain",8880:"unique",8881:"quartz-by-unique",8882:"opal-testnet-by-unique",8883:"sapphire-by-unique",8886:"avenium-testnet",8888:"xanachain",8889:"vyvo-smart-chain",8890:"orenium-testnet-protocol",8898:"mammoth-mainnet",8899:"jibchain-l1",8911:"algen",8912:"algen-testnet",8921:"algen-layer2",8922:"algen-layer2-testnet",8989:"giant-mammoth-mainnet",8995:"bloxberg",9e3:"evmos-testnet",9001:"evmos",9007:"shido-testnet-block",9008:"shido-mainnet-block",9012:"berylbit-mainnet",9024:"nexa-testnet-block",9025:"nexa-mainnet-block",9069:"apex-fusion---nexus-mainnet",9070:"apex-fusion---nexus-testnet",9100:"genesis-coin",9223:"codefin-mainnet",9339:"dogcoin-testnet",9372:"oasys-testnet",9393:"dela-sepolia-testnet",9395:"evoke-mainnet",9496:"weavevm-testnet",9527:"rangers-protocol-testnet-robin",9528:"qeasyweb3-testnet",9559:"neonlink-testnet",9700:"oort-mainnetdev",9728:"boba-bnb-testnet",9768:"mainnetz-testnet",9779:"pepenetwork-mainnet",9789:"tabi-testnet",9790:"carbon-evm",9792:"carbon-evm-testnet",9797:"optimusz7-mainnet",9818:"imperium-testnet",9819:"imperium-mainnet",9876:"binarychain-testnet",9888:"dogelayer-mainnet",9898:"larissa-chain",9911:"espento-mainnet",9977:"mind-smart-chain-testnet",9980:"combo-mainnet",9981:"volley-mainnet",9990:"agung-network",9996:"mind-smart-chain-mainnet",9997:"altlayer-testnet",9998:"ztc-mainnet",9999:"myown-testnet",1e4:"smart-bitcoin-cash",10001:"smart-bitcoin-cash-testnet",10024:"gon-chain",10081:"japan-open-chain-testnet",10086:"sjatsh",10096:"metanova-verse",10101:"blockchain-genesis-mainnet",10200:"gnosis-chiado-testnet",10201:"maxxchain-mainnet",10222:"glscan",10242:"arthera-mainnet",10243:"arthera-testnet",10248:"0xtade",10321:"tao-evm-mainnet",10324:"tao-evm-testnet",10395:"worldland-testnet",10507:"numbers-mainnet",10508:"numbers-testnet",10823:"cryptocoinpay",10849:"lamina1",10850:"lamina1-identity",10946:"quadrans-blockchain",10947:"quadrans-blockchain-testnet",11011:"shape-sepolia-testnet",11110:"astra",11111:"wagmi",11115:"astra-testnet",11119:"hashbit-mainnet",11124:"abstract-testnet",11221:"shine-chain",11227:"jiritsu-testnet-subnet",11235:"haqq-network",11437:"shyft-testnet",11501:"bevm-mainnet",11503:"bevm-testnet",11521:"satschain",11612:"sardis-testnet",11822:"artela-testnet",11891:"polygon-supernet-arianee",12001:"fuse-testnet",12009:"satoshichain-mainnet",12020:"aternos",12051:"singularity-zero-testnet",12052:"singularity-zero-mainnet",12123:"brc-chain-mainnet",12306:"fibonacci-mainnet",12321:"blg-testnet",12324:"l3x-protocol",12325:"l3x-protocol-testnet",12345:"step-testnet",12553:"rss3-vsl-mainnet",12715:"rikeza-network-testnet",12781:"playdapp-testnet",12890:"quantum-chain-testnet",12898:"playfair-testnet-subnet",13e3:"sps",13308:"credit-smart-chain",13337:"beam-testnet",13371:"immutable-zkevm",13381:"phoenix-mainnet",13396:"masa",13473:"immutable-zkevm-testnet",13505:"gravity-alpha-testnet-sepolia",13600:"kronobit-mainnet",13812:"susono",14e3:"sps-testnet",14324:"evolve-testnet",14333:"vitruveo-testnet",14801:"vana-satori-testnet",14853:"humanode-testnet-5-israfel",15003:"immutable-zkevm-devnet",15257:"poodl-testnet",15259:"poodl-mainnet",15430:"kymtc-mainnet",15551:"loopnetwork-mainnet",15555:"trust-evm-testnet",15557:"eos-evm-network-testnet",16e3:"metadot-mainnet",16001:"metadot-testnet",16116:"defiverse-mainnet",16166:"cypherium-mainnet",16180:"plyr-phi",16350:"incentiv-devnet",16481:"pivotal-sepolia",16507:"genesys-mainnet",16600:"0g-newton-testnet",16688:"irishub-testnet",16718:"airdao-mainnet",16888:"ivar-chain-testnet",17e3:"holesky",17069:"garnet-holesky",17071:"onchain-points",17117:"defiverse-testnet",17171:"g8chain-mainnet",17172:"eclipse-subnet",17180:"palette-chain-testnet",17217:"konet-mainnet",17777:"eos-evm-network",18e3:"frontier-of-dreams-testnet",18122:"smart-trade-networks",18159:"proof-of-memes",18181:"g8chain-testnet",18233:"unreal",18686:"mxc-zkevm-moonchain",18888:"titan-(tkx)",18889:"titan-(tkx)-testnet",19011:"home-verse-mainnet",19077:"blockx-atlantis-testnet",19191:"blockx-mainnet",19224:"decentraconnect-social",19527:"magnet-network",19600:"lbry-mainnet",19845:"btcix-network",20001:"camelark-mainnet",20041:"niza-chain-mainnet",20073:"niza-chain-testnet",20729:"callisto-testnet",20736:"p12-chain",20765:"jono11-subnet",21004:"c4ei",21133:"all-about-healthy",21223:"dcpay-mainnet",21224:"dcpay-testnet",21337:"cennznet-azalea",21363:"lestnet",21816:"omchain-mainnet",21912:"bsl-mainnet",22023:"taycan",22040:"airdao-testnet",22222:"nautilus-mainnet",22324:"goldxchain-testnet",22776:"map-protocol",23006:"antofy-testnet",23118:"opside-testnet",23294:"oasis-sapphire",23295:"oasis-sapphire-testnet",23451:"dreyerx-mainnet",23452:"dreyerx-testnet",23888:"blast-testnet",24076:"kymtc-testnet",24484:"webchain",24734:"mintme.com-coin",25186:"liquidlayer-mainnet",25839:"alveychain-testnet",25888:"hammer-chain-mainnet",25925:"bitkub-chain-testnet",26026:"ferrum-testnet",26482:"ducatusx-testnet",26483:"ducatusx",26600:"hertz-network-mainnet",26863:"oasischain-mainnet",27181:"klaos-nova",27483:"nanon-sepolia",27827:"zeroone-mainnet-subnet",28516:"vizing-testnet",28518:"vizing-mainnet",28528:"optimism-bedrock-(goerli-alpha-testnet)",28882:"boba-sepolia",29112:"hychain-testnet",29223:"nexa-metanet",29536:"kaichain-testnet",29548:"mch-verse-mainnet",30067:"piece-testnet",30088:"miyou-mainnet",30103:"cerium-testnet",30730:"movement-evm-legacy",30731:"movement-evm-devnet",30732:"movement-evm-testnet",31102:"ethersocial-network",31223:"cloudtx-mainnet",31224:"cloudtx-testnet",31337:"gochain-testnet",31414:"evoke-testnet",31753:"xchain-mainnet",31754:"xchain-testnet",32001:"w3gamez-holesky-testnet",32382:"santiment-intelligence-network",32520:"bitgert-mainnet",32659:"fusion-mainnet",32769:"zilliqa-evm",32990:"zilliqa-evm-isolated-server",33033:"entangle-mainnet",33101:"zilliqa-evm-testnet",33103:"zilliqa-2-evm-proto-testnet",33111:"curtis",33133:"entangle-testnet",33210:"cloudverse-subnet",33333:"aves-mainnet",33385:"zilliqa-evm-devnet",33401:"slingshot",33469:"zilliqa-2-evm-devnet",33979:"funki",34443:"mode",34504:"zeus-mainnet",35011:"j2o-taro",35441:"q-mainnet",35443:"q-testnet",38400:"connectormanager",38401:"connectormanager-robin",39656:"prm-mainnet",39797:"energi-mainnet",39815:"oho-mainnet",41455:"aleph-zero-evm",41500:"opulent-x-beta",42069:"pegglecoin",42072:"agentlayer-testnet",42161:"arbitrum-one",42170:"arbitrum-nova",42220:"celo-mainnet",42261:"oasis-emerald-testnet",42262:"oasis-emerald",42355:"goldxchain-mainnet",42421:"assetchain-testnet",42766:"zkfair-mainnet",42793:"etherlink-mainnet",42801:"gesoten-verse-testnet",42888:"kinto-testnet",43110:"athereum",43111:"hemi-network",43113:"avalanche-fuji-testnet",43114:"avalanche-c-chain",43851:"zkfair-testnet",44444:"frenchain",44445:"quantum-network",44787:"celo-alfajores-testnet",45e3:"autobahn-network",45454:"swamps-l2",45510:"deelance-mainnet",45513:"blessnet",46688:"fusion-testnet",47763:"neo-x-mainnet",47803:"redefi-layer-1",47805:"rei-network",48795:"space-subnet-testnet",48899:"zircuit-testnet",48900:"zircuit-mainnet",49049:"wireshape-floripa-testnet",49088:"bifrost-testnet",49321:"gunz-testnet",49797:"energi-testnet",50001:"liveplex-oracleevm",50005:"yooldo-verse-mainnet",50006:"yooldo-verse-testnet",50021:"gton-testnet",51178:"lumoz-testnet-alpha",51712:"sardis-mainnet",52014:"electroneum-mainnet",53277:"doid",53302:"superseed-sepolia-testnet",53457:"dodochain-testnet",53935:"dfk-chain",54211:"haqq-chain-testnet",54321:"toronet-testnet",55004:"titan",55551:"photon-aurora-testnet",55555:"rei-chain-mainnet",55556:"rei-chain-testnet",55614:"flamma-mainnet",56026:"lambda-chain-mainnet",56288:"boba-bnb-mainnet",56400:"testnet-zeroone-subnet",56789:"velo-labs-mainnet",56797:"doid-testnet",57e3:"rollux-testnet",57451:"coinsec-network",58008:"sepolia-pgn-(public-goods-network)",59140:"linea-goerli",59141:"linea-sepolia",59144:"linea",59902:"metis-sepolia-testnet",59971:"genesys-code-mainnet",6e4:"thinkium-testnet-chain-0",60001:"thinkium-testnet-chain-1",60002:"thinkium-testnet-chain-2",60103:"thinkium-testnet-chain-103",60808:"bob",61022:"orange-chain-mainnet",61406:"kaichain",61800:"axelchain-dev-net",61803:"etica-mainnet",61916:"doken-super-chain-mainnet",62049:"optopia-testnet",62050:"optopia-mainnet",62298:"citrea-devnet",62320:"celo-baklava-testnet",62621:"multivac-mainnet",62831:"plyr-tau-testnet",62850:"laos-sigma-testnet",63e3:"ecredits-mainnet",63001:"ecredits-testnet",65349:"cratd2c-testnet",65357:"vecno-mainnet",65450:"scolcoin-mainnet",65536:"automata-mainnet",66988:"janus-testnet",67588:"cosmic-chain",68770:"dm2-verse-mainnet",69420:"condrieu",7e4:"thinkium-mainnet-chain-0",70001:"thinkium-mainnet-chain-1",70002:"thinkium-mainnet-chain-2",70103:"thinkium-mainnet-chain-103",70700:"proof-of-play---apex",71111:"guapcoinx",71393:"polyjuice-testnet",71401:"godwoken-testnet-v1",71402:"godwoken-mainnet",72778:"caga-crypto-ankara-testnet",72992:"grok-chain-mainnet",73114:"icb-testnet",73115:"icb-network",73799:"energy-web-volta-testnet",73927:"mixin-virtual-machine",75e3:"resincoin-mainnet",75512:"geek-verse-mainnet",75513:"geek-verse-testnet",77001:"borachain-mainnet",77238:"foundry-chain-testnet",77612:"vention-smart-chain-mainnet",77677:"cycle-network-mainnet-sailboat",77777:"toronet-mainnet",78110:"firenze-test-network",78281:"dragonfly-mainnet-(hexapod)",78430:"amplify-subnet",78431:"bulletin-subnet",78432:"conduit-subnet",78600:"vanguard",79879:"gold-smart-chain-testnet",80001:"mumbai",80002:"amoy",80008:"polynomia-sepolia",80084:"berachain-bartio",80085:"berachain-artio",80096:"hizoco-mainnet",81041:"nordek-mainnet",81341:"amana-testnet",81342:"amana-mixnet",81343:"amana-privnet",81351:"flana-testnet",81352:"flana-mixnet",81353:"flana-privnet",81361:"mizana-testnet",81362:"mizana-mixnet",81363:"mizana-privnet",81457:"blast",81720:"quantum-chain-mainnet",82459:"smart-layer-network-testnet",83144:"xprotocol-testnet",83278:"esa",83872:"zedxion",84531:"base-goerli-testnet",84532:"base-sepolia-testnet",84886:"aerie-network",85449:"cybertrust",88002:"nautilus-proteus-testnet",88559:"inoai",88800:"zkasino-mainnet",88817:"unit-zero-testnet",88819:"unit-zero-stagenet",88882:"chiliz-spicy-testnet",88888:"chiliz-chain-mainnet",90001:"f(x)core-testnet-network",90210:"beverly-hills",90354:"camp-testnet",91002:"nautilus-trition-chain",91120:"metadap-enterprise-mainnet",91715:"combo-testnet",92001:"lambda-testnet",93572:"liquidlayer-testnet",93747:"stratovm-testnet",96970:"mantis-testnet-(hexapod)",97435:"slingshot-testnet",97531:"green-chain-testnet",97970:"optimusz7-testnet",98881:"ebi-chain",99099:"eliberty-testnet",99876:"edge-matrix-chain-testnet",99998:"ub-smart-chain(testnet)",99999:"ub-smart-chain",1e5:"quarkchain-mainnet-root",100001:"quarkchain-mainnet-shard-0",100002:"quarkchain-mainnet-shard-1",100003:"quarkchain-mainnet-shard-2",100004:"quarkchain-mainnet-shard-3",100005:"quarkchain-mainnet-shard-4",100006:"quarkchain-mainnet-shard-5",100007:"quarkchain-mainnet-shard-6",100008:"quarkchain-mainnet-shard-7",100009:"vechain",100010:"vechain-testnet",100011:"quarkchain-l2-mainnet",101010:"global-trust-network",102031:"creditcoin-testnet",103090:"crystaleum",103454:"masa-testnet",104566:"kaspaclassic-mainnet",105105:"stratis-mainnet",108801:"brochain-mainnet",11e4:"quarkchain-devnet-root",110001:"quarkchain-devnet-shard-0",110002:"quarkchain-devnet-shard-1",110003:"quarkchain-devnet-shard-2",110004:"quarkchain-devnet-shard-3",110005:"quarkchain-devnet-shard-4",110006:"quarkchain-devnet-shard-5",110007:"quarkchain-devnet-shard-6",110008:"quarkchain-devnet-shard-7",110011:"quarkchain-l2-testnet",110110:"mars-credit",111e3:"siberium-test-network",111111:"siberium-network",111188:"re.al",112358:"metachain-one-mainnet",119139:"metadap-enterprise-testnet",123321:"gemchain",123456:"adil-devnet",128123:"etherlink-testnet",131313:"odyssey-chain-(testnet)",131419:"etnd-chain-mainnets",132902:"form-testnet",141319:"magape-testnet",142857:"icplaza-mainnet",161212:"playfi-mainnet",165279:"eclat-mainnet",167e3:"taiko-mainnet",167008:"taiko-katla-l2",167009:"taiko-hekla-l2",175177:"chronicle---lit-protocol-testnet",175188:"chronicle-yellowstone---lit-protocol-testnet",188710:"bitica-chain-mainnet",188881:"condor-test-network",192940:"mind-network-testnet",199991:"mazze-testnet",2e5:"xfair.ai-testnet",200101:"milkomeda-c1-testnet",200202:"milkomeda-a1-testnet",200625:"akroma",200810:"bitlayer-testnet",200901:"bitlayer-mainnet",201018:"alaya-mainnet",201030:"alaya-dev-testnet",201804:"mythical-chain",202020:"decimal-smart-chain-testnet",202212:"x1-devnet",202401:"ymtech-besu-testnet",202624:"jellie",204005:"x1-network",205205:"auroria-testnet",210049:"gitagi-atlas-testnet",210425:"platon-mainnet",220315:"mas-mainnet",221230:"reapchain-mainnet",221231:"reapchain-testnet",222222:"hydradx",222555:"deepl-mainnet",222666:"deepl-testnet",224168:"taf-eco-chain-mainnet",224422:"conet-sebolia-testnet",224433:"conet-holesky",229772:"abyss-protocol",230315:"hashkey-chain-testnet(discard)",234666:"haymo-testnet",240515:"orange-chain-testnet",246529:"artis-sigma1",246785:"artis-testnet-tau1",247253:"saakuru-testnet",256256:"cmp-mainnet",262371:"eclat-testnet",266256:"gear-zero-network-testnet",271271:"egoncoin-testnet",281121:"social-smart-chain-mainnet",282828:"zillion-sepolia-testnet",292003:"cipherem-testnet",309075:"one-world-chain-mainnet",313313:"saharaai-testnet",314159:"filecoin---calibration-testnet",322202:"parex-mainnet",323213:"bloom-genesis-testnet",327126:"waba-chain-testnet",328527:"nal-mainnet",330844:"ttcoin-smart-chain-mainnet",333313:"bloom-genesis-mainnet",333331:"aves-testnet",333333:"nativ3-testnet",333666:"oone-chain-testnet",333777:"oone-chain-devnet",333888:"polis-testnet",333999:"polis-mainnet",336655:"upchain-testnet",336666:"upchain-mainnet",355110:"bitfinity-network-mainnet",355113:"bitfinity-network-testnet",360890:"lavita-mainnet",363636:"digit-soul-smart-chain-2",373737:"hapchain-testnet",381931:"metal-c-chain",381932:"metal-tahoe-c-chain",404040:"tipboxcoin-mainnet",413413:"aie-testnet",420420:"kekchain",420666:"kekchain-(kektest)",420692:"alterium-l2-testnet",421611:"arbitrum-rinkeby",421613:"arbitrum-goerli",421614:"arbitrum-sepolia",424242:"fastex-chain-testnet",431140:"markr-go",432201:"dexalot-subnet-testnet",432204:"dexalot-subnet",444444:"syndr-l3-sepolia",444900:"weelink-testnet",471100:"patex-sepolia-testnet",473861:"ultra-pro-mainnet",474142:"openchain-mainnet",486487:"gobbl-testnet",49e4:"autonomys-testnet-nova-domain",504441:"playdapp-network",512512:"cmp-testnet",513100:"dischain",526916:"docoin-community-chain",534351:"scroll-sepolia-testnet",534352:"scroll",534849:"shinarium-beta",535037:"beaneco-smartchain",552981:"one-world-chain-testnet",555555:"pentagon-testnet",555666:"eclipse-testnet",622277:"hypra-mainnet",622463:"atlas",641230:"bear-network-chain-mainnet",651940:"all-mainnet",656476:"open-campus-codex",660279:"xai-mainnet",666666:"vision---vpioneer-test-chain",666888:"hela-official-runtime-testnet",686868:"won-network",696969:"galadriel-devnet",710420:"tiltyard-mainnet-subnet",713715:"sei-devnet",721529:"eram-mainnet",743111:"hemi-sepolia",751230:"bear-network-chain-testnet",752024:"ternoa-testnet",761412:"miexs-smartchain",764984:"lamina1-testnet",767368:"lamina1-identity-testnet",776877:"modularium",800001:"octaspace",808080:"biz-smart-chain-testnet",808813:"bob-sepolia",810180:"zklink-nova-mainnet",810181:"zklink-nova-sepolia-testnet",810182:"zklink-nova-goerli-testnet",820522:"tsc-testnet",827431:"curve-mainnet",839320:"prm-testnet",84e4:"runevm-testnet",846e3:"4goodnetwork",855456:"dodao",879151:"blocx-mainnet",888882:"rexx-mainnet",888888:"vision---mainnet",9e5:"posichain-mainnet-shard-0",91e4:"posichain-testnet-shard-0",912559:"astria-evm-dusknet",92e4:"posichain-devnet-shard-0",920001:"posichain-devnet-shard-1",923018:"fncy-testnet",955081:"jono12-subnet",955305:"eluvio-content-fabric",978657:"treasure-ruby",984122:"forma",984123:"forma-sketchpad",988207:"ecrox-chain-mainnet",998899:"supernet-testnet",999999:"amchain",1100789:"netmind-chain-testnet",1127469:"tiltyard-subnet",1234567:"sharecle-mainnet",1261120:"zkatana",1313114:"etho-protocol",1313500:"xerom",1337702:"kintsugi",1337802:"kiln",1337803:"zhejiang",1398243:"automata-testnet",1612127:"playfi-albireo-testnet",1637450:"xterio-testnet",1731313:"turkey-demo-dev",2021398:"debank-testnet",2099156:"plian-mainnet-main",2206132:"platon-dev-testnet2",2611555:"dpu-chain",2702128:"xterio-chain",3132023:"saharaai-network",3141592:"filecoin---butterfly-testnet",3397901:"funki-sepolia-sandbox",3441005:"manta-pacific-testnet",3441006:"manta-pacific-sepolia-testnet",4000003:"altlayer-zero-gas-network",4281033:"worlds-caldera",4444444:"altar-testnet",4457845:"zero-testnet-(sepolia)",5112023:"numblock-chain",5167003:"mxc-wannsee-zkevm-testnet",5167004:"moonchain-geneva-testnet",5201420:"electroneum-testnet",5318008:"reactive-kopli",5555555:"imversed-mainnet",5555558:"imversed-testnet",6038361:"astar-zkyoto",6666665:"safe(anwang)-mainnet",6666666:"safe(anwang)-testnet",7225878:"saakuru-mainnet",7355310:"openvessel",7668378:"ql1-testnet",7762959:"musicoin",7777777:"zora",8007736:"plian-mainnet-subchain-1",8008135:"fhenix-helium",8080808:"hokum",8601152:"waterfall-8-test-network",8794598:"hapchain",8888881:"quarix-testnet",8888888:"quarix",9322252:"xcap",9322253:"milvine",9999999:"fluence",10067275:"plian-testnet-subchain-1",10101010:"soverun-mainnet",10241024:"alienx-mainnet",10241025:"alienx-hal-testnet",11145513:"blessnet-sepolia",11155111:"sepolia",11155420:"op-sepolia-testnet",12052024:"memento-testnet",12227332:"neox-testnet-t4",13068200:"coti-devnet",13371337:"pepchain-churchill",14288640:"anduschain-mainnet",16658437:"plian-testnet-main",17000920:"lambda-chain-testnet",18071918:"mande-network-mainnet",18289463:"iolite",19850818:"deepbrainchain-testnet",19880818:"deepbrainchain-mainnet",20180427:"stability-testnet",20180430:"smartmesh-mainnet",20181205:"quarkblockchain",20201022:"pego-network",20230825:"vcity-testnet",20240324:"debank-sepolia-testnet",20240603:"dbk-chain",20241133:"swan-proxima-testnet",20482050:"hokum-testnet",22052002:"excelon-mainnet",27082017:"excoincial-chain-volta-testnet",27082022:"excoincial-chain-mainnet",28122024:"ancient8-testnet",28945486:"auxilium-network-mainnet",29032022:"flachain-mainnet",31415926:"filecoin---local-testnet",35855456:"joys-digital-mainnet",37084624:"skale-nebula-hub-testnet",39916801:"kingdom-chain",43214913:"maistestsubnet",52164803:"fluence-testnet",61717561:"aquachain",65010003:"autonity-bakerloo-(yamuna)-testnet",65100003:"autonity-piccadilly-(yamuna)-testnet",68840142:"frame-testnet",77787778:"0xhash-testnet",79479957:"sx-toronto-rollup",88558801:"backstop-testnet",88888888:"t.e.a.m-blockchain",94204209:"polygon-blackberry",99415706:"joys-digital-testnet",1e8:"ethos",108160679:"oraichain-mainnet",111557560:"cyber-testnet",123420111:"op-celestia-raspberry",161221135:"plume-testnet",168587773:"blast-sepolia-testnet",192837465:"gather-mainnet-network",222000222:"kanazawa",245022926:"neon-evm-devnet",245022929:"neon-evm-devnet-rollup",245022934:"neon-evm-mainnet",278611351:"razor-skale-chain",311752642:"oneledger-mainnet",328527624:"nal-sepolia-testnet",333000333:"meld",356256156:"gather-testnet-network",476462898:"skopje-testnet",486217935:"gather-devnet-network",531050104:"sophon-testnet",666666666:"degen-chain",888888888:"ancient8",889910245:"ptcescan-testnet",889910246:"ptcescan-mainnet",974399131:"skale-calypso-hub-testnet",999999999:"zora-sepolia-testnet",1020352220:"skale-titan-hub-testnet",1122334455:"ipos-network",1146703430:"cyberdecknet",1273227453:"human-protocol",1313161554:"aurora-mainnet",1313161555:"aurora-testnet",1313161556:"aurora-betanet",1313161560:"powergold",1350216234:"skale-titan-hub",1351057110:"chaos-(skale-testnet)",1380012617:"rari-chain-mainnet",1380996178:"raptorchain",1444673419:"skale-europa-hub-testnet",1482601649:"skale-nebula-hub",1511670449:"gpt-mainnet",1564830818:"skale-calypso-hub",16666e5:"harmony-mainnet-shard-0",1666600001:"harmony-mainnet-shard-1",16667e5:"harmony-testnet-shard-0",1666700001:"harmony-testnet-shard-1",16669e5:"harmony-devnet-shard-0",1666900001:"harmony-devnet-shard-1",1802203764:"kakarot-sepolia",1903648807:"gemuchain-testnet",1918988905:"rari-chain-testnet",2021121117:"datahopper",2046399126:"skale-europa-hub",3125659152:"pirl",4216137055:"oneledger-testnet-frankenstein",11297108109:"palm",11297108099:"palm-testnet",28872323069:"gitswarm-test-network",37714555429:"xai-testnet-v2",88153591557:"arbitrum-blueberry",107107114116:"kakarot-sepolia-deprecated",111222333444:"alphabet-mainnet",123420000220:"fluence-stage",197710212030:"ntity-mainnet",197710212031:"haradev-testnet",202402181627:"gm-network-testnet",383414847825:"zeniq",666301171999:"pdc-mainnet",6022140761023:"molereum-network",2713017997578e3:"dchain-testnet",2716446429837e3:"dchain"};var ks={1:[],2:[],3:["http://fauceth.komputing.org?chain=3&address=${ADDRESS}","https://faucet.ropsten.be?${ADDRESS}"],4:["http://fauceth.komputing.org?chain=4&address=${ADDRESS}","https://faucet.rinkeby.io"],5:["http://fauceth.komputing.org?chain=5&address=${ADDRESS}","https://goerli-faucet.slock.it?address=${ADDRESS}","https://faucet.goerli.mudit.blog"],7:[],8:[],9:[],10:[],11:[],12:[],13:[],14:[],15:[],16:["https://faucet.flare.network"],17:[],18:["https://faucet-testnet.thundercore.com"],19:[],20:[],21:["https://esc-faucet.elastos.io/"],22:[],23:[],24:[],25:[],26:[],27:[],29:[],30:[],31:["https://faucet.rsk.co/"],32:[],33:[],34:[],35:[],36:[],37:[],38:[],39:[],40:[],41:["https://app.telos.net/testnet/developers"],42:[],43:["https://docs.darwinia.network/pangolin-testnet-1e9ac8b09e874e8abd6a7f18c096ca6a"],44:[],45:["https://docs.darwinia.network/pangoro-testnet-70cfec5dc9ca42759959ba3803edaec2"],46:[],47:[],48:[],49:[],50:[],51:["https://faucet.apothem.network"],52:[],53:[],54:[],55:[],56:[],57:["https://faucet.syscoin.org"],58:[],60:[],61:[],63:["https://easy.hebeswap.com/#/faucet","https://faucet.mordortest.net"],64:[],65:["https://www.okex.com/drawdex"],66:[],67:[],68:[],69:["http://fauceth.komputing.org?chain=69&address=${ADDRESS}"],70:[],71:["https://faucet.confluxnetwork.org"],72:["https://faucet.dxscan.io"],73:["https://faucet-testnet.fncy.world"],74:[],75:[],76:[],77:[],78:[],79:[],80:[],81:[],82:["https://faucet.meter.io"],83:["https://faucet-warringstakes.meter.io"],84:[],85:["https://www.gatescan.org/testnet/faucet"],86:["https://www.gatescan.org/faucet"],87:[],88:[],89:[],90:[],91:[],92:[],93:[],94:[],95:["https://faucet.camdl.gov.kh/"],96:[],97:["https://testnet.bnbchain.org/faucet-smart"],98:[],99:[],100:["https://gnosisfaucet.com","https://stakely.io/faucet/gnosis-chain-xdai","https://faucet.prussia.dev/xdai"],101:[],102:[],103:[],104:[],105:[],106:[],107:["https://faucet.novanetwork.io"],108:[],109:[],110:[],111:["https://etherlite.org/faucets"],112:[],113:["https://buy.dehvo.com"],114:["https://faucet.flare.network"],117:[],118:[],119:[],120:["http://faucet.nuls.io"],121:[],122:[],123:["https://get.fusespark.io"],124:[],125:["https://faucet.oychain.io"],126:[],127:[],128:[],129:[],131:[],132:[],133:[],134:[],135:["https://faucet.alyxchain.com"],136:[],137:[],138:[],139:[],140:[],141:[],142:[],144:[],145:[],147:[],148:[],150:["https://faucet.sixprotocol.net"],151:[],152:[],153:[],154:[],155:["https://faucet.testnet.tenet.org"],156:[],157:["https://beta.shibariumtech.com/faucet"],158:[],159:[],160:[],161:[],162:["https://discuss.lightstreams.network/t/request-test-tokens"],163:[],164:[],166:[],167:[],168:[],169:[],170:["https://faucet-testnet.hscscan.com/"],172:["https://faucet.latam-blockchain.com"],176:[],178:["https://testnet-faucet.abeychain.com"],179:[],180:[],181:[],184:[],185:[],186:[],187:[],188:[],189:[],190:[],191:[],193:[],195:["https://www.okx.com/xlayer/faucet"],196:[],197:["https://neutrinoschain.com/faucet"],198:[],199:[],200:[],201:[],202:[],204:[],205:[],206:[],207:[],208:[],210:[],211:["http://faucet.freight.sh"],212:["https://faucet.mapprotocol.io"],213:[],214:[],217:[],220:["https://faucet.scalind.com"],221:[],223:[],224:["https://faucet.vrd.network"],225:[],226:[],228:[],230:[],233:[],234:["https://protojumbo.jumbochain.org/faucet-smart"],236:["https://faucet.deamchain.com"],242:[],246:[],248:[],250:[],252:[],254:[],255:[],256:["https://scan-testnet.hecochain.com/faucet"],258:[],259:[],261:["https://v2.dex.guru/season-pass/faucet"],262:[],266:[],267:["https://testnet.neuraprotocol.io/faucet"],268:[],269:["https://myhpbwallet.com/"],271:[],274:[],278:[],279:[],282:["https://zkevm.cronos.org/faucet"],288:[],291:[],295:[],296:["https://portal.hedera.com"],297:["https://portal.hedera.com"],298:[],300:[],302:[],303:[],305:[],307:["https://faucet.lovely.network"],308:[],309:[],311:["https://faucet.omaxray.com/"],313:[],314:[],321:[],322:["https://faucet-testnet.kcc.network"],323:[],324:[],325:[],326:[],333:[],335:[],336:[],338:["https://cronos.org/faucet"],345:[],360:[],361:[],363:[],364:[],365:[],369:[],371:[],380:[],381:[],385:["https://pipa.lisinski.online"],388:[],395:["https://faucet.testnet.camdl.gov.kh/"],397:[],398:[],399:[],400:["https://faucet.hyperonchain.com"],401:[],404:[],411:[],416:[],418:["https://faucet.lachain.network"],420:[],422:[],424:[],427:[],428:[],434:[],443:[],444:[],456:[],462:[],463:[],480:[],499:[],500:[],501:[],510:[],512:[],513:["https://scan-testnet.acuteangle.com/faucet"],516:[],520:["https://xsc.pub/faucet"],529:[],530:[],534:[],537:[],542:[],545:["https://testnet-faucet.onflow.org"],555:[],558:[],568:["https://faucet.dogechain.dog"],570:["https://rollux.id/faucetapp"],571:[],579:[],592:[],595:[],596:[],597:[],600:[],601:["https://vne.network/rose"],610:["https://devnet-rpc.darwinchain.ai/faucet"],612:[],614:[],624:[],625:[],634:[],646:["https://previewnet-faucet.onflow.org"],647:["https://faucet.toronto.sx.technology"],648:[],653:[],654:[],662:[],666:["https://chain.pixie.xyz/faucet"],667:[],668:[],669:["https://faucet-testnet.juncachain.com"],686:[],690:[],700:[],701:[],707:[],708:["https://faucet.bcsdev.io"],710:[],713:[],719:[],721:[],727:[],730:[],741:["https://faucet.vention.network"],742:[],747:[],766:[],776:["https://faucet.openchain.info/"],777:[],786:[],787:[],788:["https://faucet.aerochain.id/"],789:[],799:["https://faucet.testnet.rupaya.io"],800:["https://faucet.lucidcoin.io"],803:[],808:[],810:["https://www.haven1.org/faucet"],813:[],814:[],818:[],820:[],822:["https://faucet.runic.build"],831:[],841:[],842:[],852:[],859:[],868:[],876:[],877:["https://faucet.dexit.network"],880:[],888:[],898:["https://faucet.maxi.network"],899:[],900:["https://faucet-testnet.garizon.com"],901:["https://faucet-testnet.garizon.com"],902:["https://faucet-testnet.garizon.com"],903:["https://faucet-testnet.garizon.com"],909:[],910:[],911:[],917:["https://faucet.thefirechain.com"],919:["https://sepoliafaucet.com/"],927:[],943:["https://faucet.v4.testnet.pulsechain.com/"],956:[],957:[],963:[],969:[],970:[],971:[],972:[],977:["https://faucet.nepalblockchain.network"],979:[],980:[],985:["https://faucet.metamemo.one/"],987:[],989:[],990:["https://faucet.eliberty.ngo"],995:[],996:[],997:["https://explorer.5ire.network/faucet"],998:[],999:[],1e3:[],1001:["https://faucet.kaia.io"],1003:[],1004:[],1007:[],1008:[],1009:[],1010:[],1011:[],1012:[],1022:[],1023:[],1024:[],1028:[],1030:[],1031:[],1038:["https://faucet.bronos.org"],1039:[],1073:["https://evm-toolkit.evm.testnet.shimmer.network","https://evm-faucet.testnet.shimmer.network"],1075:["https://evm-toolkit.evm.testnet.iotaledger.net"],1079:[],1080:[],1088:[],1089:[],1099:[],1100:[],1101:[],1107:[],1108:[],1111:[],1112:["https://wallet.test.wemix.com/faucet"],1113:[],1115:["https://scan.test.btcs.network/faucet"],1116:[],1117:["https://faucet.dogcoin.network"],1123:[],1130:[],1131:[],1133:["http://tc04.mydefichain.com/faucet"],1135:[],1138:[],1139:[],1140:["https://scan.boka.network/#/Galois/faucet"],1147:["https://faucet.flagscan.xyz"],1149:[],1170:[],1177:[],1188:[],1197:[],1200:[],1201:[],1202:[],1209:[],1210:["https://cuckoo.network/portal/faucet/"],1213:[],1214:[],1221:[],1223:[],1225:[],1227:[],1229:[],1230:[],1231:[],1234:[],1235:[],1243:[],1244:["https://faucet.archiechain.io"],1246:[],1248:[],1252:["https://cicfaucet.com"],1280:[],1284:[],1285:[],1287:[],1288:[],1291:["https://faucet.testnet.swisstronik.com"],1311:[],1313:[],1314:[],1319:[],1320:["https://aia-faucet-testnet.aiachain.org"],1328:["https://atlantic-2.app.sei.io/faucet"],1329:[],1337:[],1338:[],1339:[],1343:[],1353:[],1369:[],1370:[],1377:[],1379:[],1388:[],1392:[],1414:[],1433:[],1440:[],1442:[],1452:[],1453:["https://istanbul-faucet.metachain.dev"],1455:["https://faucet.ctexscan.com"],1456:[],1490:[],1499:[],1501:[],1506:[],1507:[],1515:["https://faucet.beagle.chat/"],1559:[],1570:[],1578:[],1617:[],1618:[],1620:[],1625:[],1648:[],1657:[],1662:[],1663:["https://faucet.horizen.io"],1686:[],1687:[],1688:[],1701:["https://evm.anytype.io/faucet"],1707:[],1708:["https://faucet.blockchain.or.th"],1717:[],1718:[],1729:[],1740:[],1750:[],1773:[],1777:[],1789:[],1804:["https://github.com/ethereum-pocr/kerleano/blob/main/docs/faucet.md"],1807:["https://analogfaucet.com"],1811:[],1818:[],1819:["https://faucet.cube.network"],1821:[],1856:[],1875:[],1881:[],1890:[],1891:["https://faucet.pegasus.lightlink.io/"],1898:[],1899:[],1904:[],1907:[],1908:["https://faucet.bitcichain.com"],1909:[],1911:[],1912:["https://claim-faucet.rubychain.io/"],1918:[],1945:[],1951:[],1953:[],1954:[],1956:[],1961:[],1967:["https://faucet.metatime.com/eleanor"],1969:["https://testnet.scschain.com"],1970:[],1971:[],1972:[],1975:[],1984:[],1985:[],1986:[],1987:[],1992:[],1993:[],1994:[],1995:["https://faucet.edexa.com/"],1996:[],1997:[],1998:["https://faucet.kyotoprotocol.io"],2e3:[],2001:[],2002:[],2004:[],2008:[],2009:[],2013:[],2014:["https://faucet.nowchain.co"],2016:[],2017:["https://telcoin.network/faucet"],2018:[],2019:[],2020:[],2021:[],2022:[],2023:["https://ttaycan-faucet.hupayx.io/"],2024:[],2025:[],2026:[],2031:[],2032:[],2035:[],2037:[],2038:[],2039:[],2040:[],2043:[],2044:[],2045:[],2047:[],2048:[],2049:[],2077:[],2088:[],2100:[],2101:[],2109:[],2112:[],2121:[],2122:[],2124:[],2136:[],2137:[],2138:[],2140:[],2141:[],2151:[],2152:[],2153:[],2154:[],2162:[],2199:["https://multiverse.moonsama.com/faucet"],2202:["https://faucet.antofy.io"],2203:[],2213:[],2221:["https://faucet.kava.io"],2222:[],2223:[],2241:[],2300:[],2306:[],2309:[],2311:["https://developer.litprotocol.com/support/intro"],2323:["https://faucet.somanetwork.io"],2330:[],2331:[],2332:["https://airdrop.somanetwork.io"],2340:["https://app-olympia.atleta.network/faucet"],2342:["https://www.omniaverse.io"],2355:[],2358:[],2370:["https://evm-faucet.nexis.network"],2399:["https://faucet.bombchain-testnet.ankr.com/"],2400:[],2410:[],2415:[],2425:[],2442:[],2458:["https://faucet-testnet.hybridchain.ai"],2468:["https://faucet-testnet.hybridchain.ai"],2484:["https://faucet.uniultra.xyz"],2522:[],2525:[],2559:[],2569:[],2606:[],2611:[],2612:[],2613:["https://testnet-faucet.ezchain.com"],2625:["https://testnet.whitechain.io/faucet"],2648:[],2649:[],2662:[],2710:[],2718:[],2730:[],2731:[],2748:[],2777:[],2810:[],2882:[],2907:[],2911:[],2941:["https://xfaucet.xenonchain.com"],2999:[],3e3:["https://app-faucet.centrality.me"],3001:["https://app-faucet.centrality.me"],3003:[],3011:[],3031:[],3033:[],3068:[],3073:[],3084:[],3100:[],3102:[],3109:[],3110:[],3269:[],3270:["https://faucet.arabianchain.org/"],3306:[],3331:["https://faucet.zcore.cash"],3333:[],3334:[],3335:[],3338:[],3400:[],3424:[],3434:["https://faucet.securechain.ai"],3456:["https://testnet-faucet.layeredge.io"],3490:[],3500:["https://faucet.paribuscan.com"],3501:[],3601:[],3602:[],3630:[],3636:["https://faucet.botanixlabs.dev"],3637:["https://faucet.btxtestchain.com"],3639:[],3645:[],3666:[],3690:[],3693:[],3698:["https://faucet.senjepowersscan.com"],3699:["https://faucet.senjepowersscan.com"],3737:["https://faucet.crossbell.io"],3776:[],3797:[],3799:["https://faucet.tangle.tools"],3885:["zkevm-faucet.thefirechain.com"],3888:[],3889:[],3912:["https://www.dracscan.io/faucet"],3939:[],3966:["https://faucet.dynoscan.io"],3967:["https://faucet.dynoscan.io"],3993:["https://sepoliafaucet.com/"],3999:[],4e3:[],4001:[],4002:["https://faucet.fantom.network"],4003:[],4040:["https://getfaucet.carbonium.network"],4048:[],4058:[],4061:[],4062:[],4078:[],4080:[],4090:["https://faucet.oasis.fastexchain.com"],4096:["https://faucet.bitindi.org"],4099:["https://faucet.bitindi.org"],4102:[],4139:[],4141:["https://faucet.tipboxcoin.net"],4157:[],4162:[],4181:[],4200:[],4201:["https://faucet.testnet.lukso.network"],4202:["https://app.optimism.io/faucet"],4242:[],4243:[],4337:["https://faucet.onbeam.com"],4400:[],4444:["https://gruvin.me/htmlcoin"],4460:[],4488:[],4544:["https://faucet.emoney.network/faucet"],4613:[],4653:[],4689:[],4690:["https://faucet.iotex.io/"],4759:[],4777:[],4801:[],4893:[],4918:[],4919:[],4999:[],5e3:[],5001:["https://faucet.testnet.mantle.xyz"],5002:[],5003:["https://faucet.sepolia.mantle.xyz"],5005:[],5039:[],5040:[],5051:[],5100:[],5101:[],5102:[],5103:[],5104:[],5105:[],5106:[],5112:[],5151:["https://faucet.mechain.tech"],5165:[],5169:[],5177:[],5197:[],5234:[],5315:[],5317:[],5321:[],5333:[],5353:["https://faucet.tritanium.network"],5372:["https://faucet.settlus.io"],5424:[],5439:[],5522:["https://t.me/vexfaucetbot"],5551:[],5555:[],5611:["https://testnet.bnbchain.org/faucet-smart"],5615:["https://faucet.arcturuschain.io"],5616:[],5656:[],5675:[],5678:[],5700:["https://faucet.tanenbaum.io"],5729:[],5758:["https://faucet.satoshichain.io"],5777:[],5845:[],5851:["https://developer.ont.io/"],5858:[],5869:[],6e3:[],6001:[],6065:["http://faucet.tresleches.finance:8080"],6066:[],6102:["https://www.cascadia.foundation/faucet"],6118:[],6119:[],6283:[],6321:["https://aura.faucetme.pro"],6322:[],6363:[],6398:[],6502:[],6550:[],6552:["https://faucet.scolcoin.com"],6565:["https://faucet.foxchain.app"],6626:[],6660:["http://faucet.latestchain.io"],6661:[],6666:["https://faucet.cybascan.io"],6678:[],6688:[],6699:[],6701:[],6779:[],6789:["https://faucet.goldsmartchain.com"],6805:[],6806:["https://faucet.racetestnet.io/"],6868:[],6969:[],6999:[],7e3:[],7001:["https://www.zetachain.com/docs/reference/apps/get-testnet-zeta/"],7007:[],7027:[],7070:[],7077:[],7100:[],7118:[],7171:[],7222:[],7244:["https://faucet.zeuschainscan.io"],7300:[],7331:[],7332:[],7341:[],7484:[],7518:[],7560:[],7575:["https://testnet-faucet.adil-scan.io"],7576:[],7668:[],7672:[],7700:[],7701:[],7771:["https://faucet.bit-rock.io"],7774:[],7775:[],7776:[],7777:[],7778:[],7798:["https://long.hub.openex.network/faucet"],7860:["https://faucet-testnet.maalscan.io/"],7862:[],7863:["https://faucet-new-testnet.maalscan.io/"],7878:["https://faucet.hazlor.com"],7887:[],7895:["https://faucet-athena.ardescan.com/"],7923:[],7924:["https://faucet.mochain.app/"],7979:[],8e3:[],8001:["https://chain-docs.teleport.network/testnet/faucet.html"],8008:[],8029:[],8047:[],8054:[],8080:["https://faucet.liberty10.shardeum.org"],8081:["https://faucet.liberty20.shardeum.org"],8082:["https://faucet-sphinx.shardeum.org/"],8086:[],8087:[],8098:[],8131:["https://faucet.qitmeer.io"],8132:[],8133:[],8134:[],8135:[],8136:[],8181:["https://testnet.beonescan.com/faucet"],8192:[],8194:[],8217:[],8227:[],8272:["https://faucet.blocktonscan.com/"],8285:[],8329:[],8333:[],8387:[],8453:[],8545:[],8654:[],8655:[],8668:[],8723:[],8724:["https://testnet-explorer.wolot.io"],8726:[],8727:[],8732:[],8738:[],8768:["https://faucet.tmychain.org/"],8822:[],8844:["https://app.testnet.hydrachain.org/faucet"],8848:[],8866:[],8869:[],8880:[],8881:[],8882:["https://t.me/unique2faucet_opal_bot"],8883:[],8886:["https://faucet-testnet.avenium.io"],8888:[],8889:[],8890:["https://faucetcoin.orenium.org"],8898:["https://faucet.mmtscan.io/"],8899:[],8911:[],8912:[],8921:[],8922:[],8989:[],8995:["https://faucet.bloxberg.org/"],9e3:["https://faucet.evmos.dev"],9001:[],9007:["https://testnet.shidoscan.com/faucet"],9008:[],9012:["https://t.me/BerylBit"],9024:["https://testnet.nexablockscan.io/faucet"],9025:[],9069:[],9070:[],9100:[],9223:[],9339:["https://faucet.dogcoin.network"],9372:[],9393:[],9395:[],9496:[],9527:["https://robin-faucet.rangersprotocol.com"],9528:["http://faucet.qeasyweb3.com"],9559:["https://faucet.neonlink.io/"],9700:[],9728:[],9768:["https://faucet.mainnetz.io"],9779:[],9789:["https://faucet.testnet.tabichain.com"],9790:[],9792:[],9797:[],9818:["https://faucet.imperiumchain.com/"],9819:["https://faucet.imperiumchain.com/"],9876:["https://faucet.testnet.binarychain.org"],9888:[],9898:[],9911:[],9977:["https://faucet.mindchain.info/"],9980:[],9981:[],9990:[],9996:[],9997:[],9998:[],9999:[],1e4:[],10001:[],10024:[],10081:[],10086:[],10096:[],10101:[],10200:["https://gnosisfaucet.com"],10201:["https://faucet.maxxchain.org"],10222:[],10242:[],10243:["https://faucet.arthera.net"],10248:[],10321:[],10324:["https://faucet.taoevm.io"],10395:[],10507:[],10508:["https://faucet.avax.network/?subnet=num","https://faucet.num.network"],10823:[],10849:[],10850:[],10946:[],10947:["https://faucetpage.quadrans.io"],11011:[],11110:[],11111:["https://faucet.avax.network/?subnet=wagmi"],11115:["https://faucet.astranaut.dev"],11119:[],11124:["https://faucet.triangleplatform.com/abstract/testnet"],11221:[],11227:[],11235:[],11437:[],11501:[],11503:[],11521:[],11612:["https://faucet.sardisnetwork.com"],11822:[],11891:[],12001:["https://faucet.flash.fuse.io"],12009:[],12020:["https://faucet.aternoschain.com"],12051:["https://nft.singularity.gold"],12052:["https://zeroscan.singularity.gold"],12123:["https://faucet.brcchain.io"],12306:["https://test.fibochain.org/faucets"],12321:["https://faucet.blgchain.com"],12324:[],12325:[],12345:["https://faucet.step.network"],12553:[],12715:[],12781:[],12890:[],12898:[],13e3:[],13308:[],13337:["https://faucet.avax.network/?subnet=beam","https://faucet.onbeam.com"],13371:["https://docs.immutable.com/docs/zkEVM/guides/faucet"],13381:[],13396:[],13473:["https://docs.immutable.com/docs/zkEVM/guides/faucet"],13505:[],13600:[],13812:[],14e3:[],14324:["https://faucet.evolveblockchain.io"],14333:["https://faucet.vitruveo.xyz"],14801:["https://faucet.vana.org"],14853:["https://t.me/HumanodeTestnet5FaucetBot"],15003:["https://docs.immutable.com/docs/zkEVM/guides/faucet"],15257:["https://faucet.poodl.org"],15259:[],15430:[],15551:[],15555:["https://faucet.testnet-dev.trust.one/"],15557:[],16e3:[],16001:["https://faucet.metadot.network/"],16116:[],16166:[],16180:[],16350:["https://faucet.incentiv-dev.ankr.network"],16481:[],16507:[],16600:["https://faucet.0g.ai"],16688:[],16718:[],16888:["https://tfaucet.ivarex.com/"],17e3:["https://faucet.holesky.ethpandaops.io","https://holesky-faucet.pk910.de"],17069:[],17071:[],17117:[],17171:["https://faucet.oneg8.network"],17172:[],17180:[],17217:[],17777:[],18e3:[],18122:[],18159:[],18181:["https://faucet.oneg8.network"],18233:[],18686:[],18888:[],18889:[],19011:[],19077:["https://ping.blockxnet.com/blockx-atlantis-testnet/faucet"],19191:["https://ping.blockxnet.com/blockx/faucet"],19224:[],19527:[],19600:[],19845:[],20001:[],20041:[],20073:[],20729:["https://faucet.callisto.network/"],20736:[],20765:[],21004:["https://play.google.com/store/apps/details?id=net.c4ei.fps2"],21133:["https://t.me/c4eiAirdrop"],21223:[],21224:["https://faucet.dcpay.io"],21337:[],21363:[],21816:[],21912:[],22023:[],22040:[],22222:[],22324:["https://faucet.goldxchain.io"],22776:[],23006:["https://faucet.antofy.io"],23118:["https://faucet.opside.network"],23294:[],23295:[],23451:[],23452:[],23888:[],24076:["https://faucet.kymaticscan.online"],24484:[],24734:[],25186:[],25839:["https://faucet.alveytestnet.com"],25888:[],25925:["https://faucet.bitkubchain.com"],26026:["https://testnet.faucet.ferrumnetwork.io"],26482:[],26483:[],26600:[],26863:["http://faucet.oasischain.io"],27181:[],27483:[],27827:[],28516:[],28518:[],28528:[],28882:["https://www.l2faucet.com/boba"],29112:[],29223:[],29536:["https://faucet.kaichain.net"],29548:[],30067:["https://piecenetwork.com/faucet"],30088:[],30103:[],30730:[],30731:[],30732:[],31102:[],31223:[],31224:["https://faucet.cloudtx.finance"],31337:[],31414:["https://faucet.evokescan.org"],31753:[],31754:["https://xchainfaucet.net"],32001:[],32382:[],32520:[],32659:[],32769:[],32990:["https://dev-wallet.zilliqa.com/faucet?network=isolated_server"],33033:[],33101:["https://dev-wallet.zilliqa.com/faucet?network=testnet"],33103:["https://faucet.zq2-prototestnet.zilliqa.com"],33111:["https://curtis.hub.caldera.xyz"],33133:[],33210:[],33333:[],33385:["https://faucet.devnet.zilliqa.com/"],33401:[],33469:["https://faucet.zq2-devnet.zilliqa.com"],33979:[],34443:[],34504:[],35011:[],35441:[],35443:[],38400:[],38401:["https://robin-faucet.rangersprotocol.com"],39656:[],39797:[],39815:[],41455:[],41500:[],42069:[],42072:[],42161:[],42170:[],42220:[],42261:["https://faucet.testnet.oasis.io/"],42262:[],42355:[],42421:["https://faucet.assetchain.org"],42766:[],42793:[],42801:[],42888:[],43110:["http://athfaucet.ava.network//?address=${ADDRESS}"],43111:[],43113:["https://faucet.avax-test.network/"],43114:[],43851:[],44444:[],44445:[],44787:["https://celo.org/developers/faucet","https://cauldron.pretoriaresearchlab.io/alfajores-faucet"],45e3:[],45454:[],45510:["https://faucet.deelance.com"],45513:[],46688:[],47763:[],47803:[],47805:[],48795:[],48899:[],48900:[],49049:[],49088:[],49321:[],49797:[],50001:[],50005:[],50006:[],50021:[],51178:[],51712:["https://faucet.sardisnetwork.com"],52014:[],53277:[],53302:["https://sepoliafaucet.com"],53457:[],53935:[],54211:["https://testedge2.haqq.network"],54321:[],55004:[],55551:["https://photonchain.io/testnet2"],55555:["http://kururu.finance/faucet?chainId=55555"],55556:["http://kururu.finance/faucet?chainId=55556"],55614:[],56026:[],56288:[],56400:[],56789:["https://nova-faucet.velo.org"],56797:[],57e3:["https://rollux.id/faucetapp"],57451:[],58008:[],59140:["https://faucetlink.to/goerli"],59141:[],59144:[],59902:["https://sepolia.faucet.metisdevops.link"],59971:[],6e4:["https://www.thinkiumdev.net/faucet"],60001:["https://www.thinkiumdev.net/faucet"],60002:["https://www.thinkiumdev.net/faucet"],60103:["https://www.thinkiumdev.net/faucet"],60808:[],61022:[],61406:[],61800:[],61803:["http://faucet.etica-stats.org/"],61916:[],62049:[],62050:[],62298:["https://citrea.xyz/bridge"],62320:["https://docs.google.com/forms/d/e/1FAIpQLSdfr1BwUTYepVmmvfVUDRCwALejZ-TUva2YujNpvrEmPAX2pg/viewform","https://cauldron.pretoriaresearchlab.io/baklava-faucet"],62621:[],62831:["https://faucet.avax.network/?subnet=plyr"],62850:[],63e3:[],63001:["https://faucet.tst.ecredits.com"],65349:[],65357:[],65450:[],65536:[],66988:[],67588:[],68770:[],69420:["https://faucet.condrieu.ethdevops.io"],7e4:[],70001:[],70002:[],70103:[],70700:[],71111:[],71393:["https://faucet.nervos.org/"],71401:["https://testnet.bridge.godwoken.io"],71402:[],72778:[],72992:[],73114:[],73115:[],73799:["https://voltafaucet.energyweb.org"],73927:[],75e3:[],75512:[],75513:[],77001:[],77238:["https://faucet.foundryscan.org"],77612:["https://faucet.vention.network"],77677:[],77777:[],78110:[],78281:[],78430:[],78431:[],78432:[],78600:["https://faucet.vanarchain.com"],79879:["https://faucet.goldsmartchain.com"],80001:["https://faucet.polygon.technology/"],80002:["https://faucet.polygon.technology/"],80008:[],80084:["https://bartio.faucet.berachain.com"],80085:["https://artio.faucet.berachain.com"],80096:[],81041:[],81341:[],81342:[],81343:[],81351:[],81352:[],81353:[],81361:[],81362:[],81363:[],81457:[],81720:[],82459:[],83144:["https://xprotocol.org/faucets"],83278:[],83872:[],84531:["https://www.coinbase.com/faucets/base-ethereum-goerli-faucet"],84532:[],84886:[],85449:[],88002:["https://proteusfaucet.nautchain.xyz"],88559:[],88800:[],88817:[],88819:[],88882:["https://spicy-faucet.chiliz.com","https://tatum.io/faucets/chiliz"],88888:["https://spicy-faucet.chiliz.com","https://tatum.io/faucets/chiliz"],90001:[],90210:["https://faucet.beverlyhills.ethdevops.io"],90354:["https://www.campnetwork.xyz/faucet"],91002:["https://faucet.eclipse.builders"],91120:[],91715:[],92001:["https://faucet.lambda.top"],93572:["https://claim.liquidlayer.network"],93747:[],96970:["https://mantis.switch.ch/faucet","https://mantis.kore-technologies.ch/faucet","https://mantis.phoenix-systems.io/faucet","https://mantis.block-spirit.ch/faucet"],97435:[],97531:[],97970:["https://faucet.optimusz7.com"],98881:[],99099:["https://faucet.eliberty.ngo"],99876:[],99998:[],99999:[],1e5:[],100001:[],100002:[],100003:[],100004:[],100005:[],100006:[],100007:[],100008:[],100009:[],100010:["https://faucet.vecha.in"],100011:[],101010:[],102031:[],103090:[],103454:[],104566:[],105105:[],108801:[],11e4:[],110001:[],110002:[],110003:[],110004:[],110005:[],110006:[],110007:[],110008:[],110011:[],110110:[],111e3:[],111111:[],111188:[],112358:[],119139:[],123321:[],123456:[],128123:["https://faucet.etherlink.com"],131313:["https://faucet.dioneprotocol.com/"],131419:[],132902:["https://info.form.network/faucet"],141319:[],142857:[],161212:[],165279:[],167e3:[],167008:[],167009:[],175177:["https://faucet.litprotocol.com"],175188:["https://developer.litprotocol.com/support/intro"],188710:[],188881:["https://faucet.condor.systems"],192940:[],199991:["https://faucet.mazze.io/"],2e5:[],200101:[],200202:[],200625:[],200810:["https://www.bitlayer.org/faucet"],200901:[],201018:[],201030:["https://faucet.alaya.network/faucet/?id=f93426c0887f11eb83b900163e06151c"],201804:[],202020:[],202212:[],202401:[],202624:[],204005:[],205205:["https://auroria.faucet.stratisevm.com"],210049:[],210425:[],220315:[],221230:[],221231:["http://faucet.reapchain.com"],222222:[],222555:[],222666:["https://faucet.deeplnetwork.org"],224168:[],224422:[],224433:[],229772:["https://faucet.abyssprotocol.ai/"],230315:["https://testnet.hashkeychain/faucet"],234666:[],240515:[],246529:[],246785:[],247253:[],256256:[],262371:["https://faucet.eclatscan.com"],266256:[],271271:["https://faucet.egonscan.com"],281121:[],282828:[],292003:[],309075:[],313313:[],314159:["https://faucet.calibration.fildev.network/"],322202:[],323213:["https://faucet.bloomgenesis.com"],327126:[],328527:[],330844:["https://faucet.tscscan.com"],333313:[],333331:[],333333:[],333666:["https://apps-test.adigium.com/faucet"],333777:["https://apps-test.adigium.com/faucet"],333888:["https://faucet.polis.tech"],333999:["https://faucet.polis.tech"],336655:["https://faucet-testnet.uniport.network"],336666:[],355110:[],355113:["https://bitfinity.network/faucet"],360890:[],363636:[],373737:[],381931:[],381932:[],404040:["https://faucet.tipboxcoin.net"],413413:[],420420:[],420666:[],420692:[],421611:["http://fauceth.komputing.org?chain=421611&address=${ADDRESS}"],421613:[],421614:[],424242:[],431140:[],432201:["https://faucet.avax.network/?subnet=dexalot"],432204:[],444444:[],444900:["https://faucet.weelink.gw002.oneitfarm.com"],471100:[],473861:[],474142:[],486487:["https://faucet.gobbl.io"],49e4:[],504441:[],512512:["https://dev.caduceus.foundation/testNetwork"],513100:[],526916:[],534351:[],534352:[],534849:["https://faucet.shinarium.org"],535037:[],552981:["https://faucet.oneworldchain.org"],555555:["https://bridge-testnet.pentagon.games"],555666:[],622277:[],622463:[],641230:[],651940:[],656476:[],660279:[],666666:["https://vpioneerfaucet.visionscan.org"],666888:["https://testnet-faucet.helachain.com"],686868:["https://faucet.wondollars.org"],696969:["https://docs.galadriel.com/faucet"],710420:[],713715:["https://sei-faucet.nima.enterprises","https://sei-evm.faucetme.pro"],721529:[],743111:[],751230:["https://faucet.bearnetwork.net"],752024:["https://faucet.zkevm.ternoa.network"],761412:[],764984:[],767368:[],776877:[],800001:[],808080:[],808813:[],810180:[],810181:[],810182:[],820522:[],827431:[],839320:["https://faucet.prmscan.org"],84e4:["https://faucet.runevm.io/"],846e3:[],855456:[],879151:[],888882:[],888888:[],9e5:[],91e4:["https://faucet.posichain.org/"],912559:["https://faucet.evm.dusk-3.devnet.astria.org/"],92e4:["https://faucet.posichain.org/"],920001:["https://faucet.posichain.org/"],923018:["https://faucet-testnet.fncy.world"],955081:[],955305:[],978657:["https://portal.treasure.lol/faucet"],984122:[],984123:[],988207:[],998899:["https://faucet.chaingames.io"],999999:[],1100789:[],1127469:[],1234567:[],1261120:[],1313114:[],1313500:[],1337702:["http://fauceth.komputing.org?chain=1337702&address=${ADDRESS}","https://faucet.kintsugi.themerge.dev"],1337802:["https://faucet.kiln.themerge.dev","https://kiln-faucet.pk910.de","https://kilnfaucet.com"],1337803:["https://faucet.zhejiang.ethpandaops.io","https://zhejiang-faucet.pk910.de"],1398243:[],1612127:[],1637450:[],1731313:[],2021398:[],2099156:[],2206132:["https://devnet2faucet.platon.network/faucet"],2611555:[],2702128:[],3132023:[],3141592:["https://faucet.butterfly.fildev.network"],3397901:[],3441005:[],3441006:[],4000003:[],4281033:[],4444444:["https://sepoliafaucet.com/"],4457845:[],5112023:[],5167003:[],5167004:[],5201420:[],5318008:["https://dev.reactive.network/docs/kopli-testnet#faucet"],5555555:[],5555558:[],6038361:[],6666665:[],6666666:[],7225878:[],7355310:[],7668378:["https://faucet.qom.one"],7762959:[],7777777:[],8007736:[],8008135:["https://get-helium.fhenix.zone"],8080808:[],8601152:["https://faucet.testnet8.waterfall.network"],8794598:[],8888881:[],8888888:[],9322252:[],9322253:[],9999999:[],10067275:[],10101010:["https://faucet.soverun.com"],10241024:[],10241025:[],11145513:["https://blessnet-sepolia-testnet.hub.caldera.xyz"],11155111:["http://fauceth.komputing.org?chain=11155111&address=${ADDRESS}"],11155420:["https://app.optimism.io/faucet"],12052024:[],12227332:[],13068200:["https://faucet.coti.io"],13371337:[],14288640:[],16658437:[],17000920:[],18071918:[],18289463:[],19850818:[],19880818:[],20180427:[],20180430:[],20181205:[],20201022:[],20230825:[],20240324:[],20240603:[],20241133:[],20482050:[],22052002:[],27082017:["https://faucet.exlscan.com"],27082022:[],28122024:[],28945486:[],29032022:[],31415926:[],35855456:[],37084624:["https://www.sfuelstation.com/"],39916801:[],43214913:[],52164803:[],61717561:["https://aquacha.in/faucet"],65010003:["https://faucet.autonity.org/"],65100003:[],68840142:["https://faucet.triangleplatform.com/frame/testnet"],77787778:[],79479957:["https://faucet.toronto.sx.technology"],88558801:[],88888888:[],94204209:[],99415706:["https://faucet.joys.digital/"],1e8:["https://faucet.ethos.cool"],108160679:[],111557560:[],123420111:[],161221135:[],168587773:["https://faucet.quicknode.com/blast/sepolia"],192837465:[],222000222:[],245022926:["https://neonfaucet.org"],245022929:[],245022934:[],278611351:["https://faucet.razorscan.io/"],311752642:[],328527624:[],333000333:[],356256156:[],476462898:["https://skopje-faucet.gptprotocol.io"],486217935:[],531050104:[],666666666:[],888888888:[],889910245:["https://faucet.ptcscan.io/"],889910246:[],974399131:["https://www.sfuelstation.com/"],999999999:[],1020352220:["https://www.sfuelstation.com/"],1122334455:[],1146703430:[],1273227453:["https://dashboard.humanprotocol.org/faucet"],1313161554:[],1313161555:[],1313161556:[],1313161560:[],1350216234:["https://sfuel.skale.network/"],1351057110:["https://sfuel.skale.network/staging/chaos"],1380012617:[],1380996178:[],1444673419:["https://www.sfuelstation.com/"],1482601649:["https://sfuel.skale.network/"],1511670449:[],1564830818:["https://sfuel.dirtroad.dev"],16666e5:[],1666600001:[],16667e5:["https://faucet.pops.one"],1666700001:["https://faucet.pops.one"],16669e5:[],1666900001:[],1802203764:[],1903648807:["https://faucet.gemuchain.io/"],1918988905:[],2021121117:[],2046399126:["https://ruby.exchange/faucet.html","https://sfuel.mylilius.com/"],3125659152:[],4216137055:["https://frankenstein-faucet.oneledger.network"],11297108109:[],11297108099:[],28872323069:[],37714555429:[],88153591557:[],107107114116:[],111222333444:[],123420000220:[],197710212030:[],197710212031:[],202402181627:[],383414847825:["https://faucet.zeniq.net/"],666301171999:[],6022140761023:[],2713017997578e3:[],2716446429837e3:[]};var Js={1:[{name:"etherscan",url:"https://etherscan.io",standard:"EIP3091"},{name:"blockscout",url:"https://eth.blockscout.com",icon:"blockscout",standard:"EIP3091"},{name:"dexguru",url:"https://ethereum.dex.guru",icon:"dexguru",standard:"EIP3091"}],3:[{name:"etherscan",url:"https://ropsten.etherscan.io",standard:"EIP3091"}],4:[{name:"etherscan-rinkeby",url:"https://rinkeby.etherscan.io",standard:"EIP3091"}],5:[{name:"etherscan-goerli",url:"https://goerli.etherscan.io",standard:"EIP3091"},{name:"blockscout-goerli",url:"https://eth-goerli.blockscout.com",icon:"blockscout",standard:"EIP3091"}],7:[{name:"Thaichain Explorer",url:"https://exp.thaichain.org",standard:"EIP3091"}],8:[{name:"ubiqscan",url:"https://ubiqscan.io",standard:"EIP3091"}],10:[{name:"etherscan",url:"https://optimistic.etherscan.io",standard:"EIP3091"},{name:"blockscout",url:"https://optimism.blockscout.com",icon:"blockscout",standard:"EIP3091"},{name:"dexguru",url:"https://optimism.dex.guru",icon:"dexguru",standard:"EIP3091"}],14:[{name:"blockscout",url:"https://flare-explorer.flare.network",standard:"EIP3091"},{name:"flarescan",url:"https://mainnet.flarescan.com",standard:"EIP3091"}],16:[{name:"blockscout",url:"https://coston-explorer.flare.network",standard:"EIP3091"},{name:"flarescan",url:"https://coston.testnet.flarescan.com",standard:"EIP3091"}],18:[{name:"thundercore-blockscout-testnet",url:"https://explorer-testnet.thundercore.com",standard:"EIP3091"}],19:[{name:"blockscout",url:"https://songbird-explorer.flare.network",standard:"EIP3091"},{name:"flarescan",url:"https://songbird.flarescan.com",standard:"EIP3091"}],20:[{name:"elastos esc explorer",url:"https://esc.elastos.io",standard:"EIP3091"}],21:[{name:"elastos esc explorer",url:"https://esc-testnet.elastos.io",standard:"EIP3091"}],25:[{name:"Cronos Explorer",url:"https://explorer.cronos.org",standard:"none"}],26:[{name:"Genesis L1 testnet explorer",url:"https://testnet.genesisl1.org",standard:"none"}],27:[{name:"Shiba Explorer",url:"https://exp.shibchain.org",standard:"none"}],29:[{name:"Genesis L1 blockchain explorer",url:"https://explorer.genesisl1.org",standard:"none"}],30:[{name:"Rootstock Explorer",url:"https://explorer.rsk.co",standard:"EIP3091"},{name:"blockscout",url:"https://rootstock.blockscout.com",icon:"blockscout",standard:"EIP3091"}],31:[{name:"RSK Testnet Explorer",url:"https://explorer.testnet.rsk.co",standard:"EIP3091"}],34:[{name:"SecureChain Mainnet",url:"https://explorer.securechain.ai",standard:"EIP3091"}],36:[{name:"dxscan",url:"https://dxscan.io",standard:"EIP3091"}],37:[{name:"XPLA Explorer",url:"https://explorer.xpla.io/mainnet",standard:"EIP3091"}],39:[{icon:"u2u",name:"U2U Explorer",url:"https://u2uscan.xyz",standard:"EIP3091"}],40:[{name:"teloscan",url:"https://teloscan.io",standard:"EIP3091"}],41:[{name:"teloscan",url:"https://testnet.teloscan.io",standard:"EIP3091"}],42:[{name:"Blockscout",url:"https://explorer.execution.mainnet.lukso.network",standard:"EIP3091"}],43:[{name:"subscan",url:"https://pangolin.subscan.io",standard:"EIP3091"}],44:[{name:"blockscout",url:"https://crab-scan.darwinia.network",standard:"EIP3091"}],45:[{name:"subscan",url:"https://pangoro.subscan.io",standard:"none"}],46:[{name:"blockscout",url:"https://explorer.darwinia.network",standard:"EIP3091"}],47:[{name:"Acria IntelliChain-Explorer",url:"https://explorer.acria.ai",standard:"EIP3091"}],48:[{name:"etmpscan",url:"https://etmscan.network",icon:"etmp",standard:"EIP3091"}],49:[{name:"etmp",url:"https://pioneer.etmscan.network",standard:"EIP3091"}],50:[{name:"xdcscan",url:"https://xdcscan.io",icon:"blocksscan",standard:"EIP3091"},{name:"blocksscan",url:"https://xdc.blocksscan.io",icon:"blocksscan",standard:"EIP3091"}],51:[{name:"xdcscan",url:"https://apothem.xinfinscan.com",icon:"blocksscan",standard:"EIP3091"},{name:"blocksscan",url:"https://apothem.blocksscan.io",icon:"blocksscan",standard:"EIP3091"}],52:[{name:"coinexscan",url:"https://www.coinex.net",standard:"none"}],53:[{name:"coinexscan",url:"https://testnet.coinex.net",standard:"none"}],54:[{name:"Belly Scan",url:"https://bellyscan.com",standard:"none"}],55:[{name:"zyxscan",url:"https://zyxscan.com",standard:"none"}],56:[{name:"bscscan",url:"https://bscscan.com",standard:"EIP3091"},{name:"dexguru",url:"https://bnb.dex.guru",icon:"dexguru",standard:"EIP3091"}],57:[{name:"Syscoin Block Explorer",url:"https://explorer.syscoin.org",standard:"EIP3091"}],58:[{name:"explorer",url:"https://explorer.ont.io",standard:"EIP3091"}],60:[{name:"GoChain Explorer",url:"https://explorer.gochain.io",standard:"EIP3091"}],61:[{name:"blockscout-ethereum-classic",url:"https://etc.blockscout.com",standard:"EIP3091"},{name:"etcnetworkinfo-blockscout-ethereum-classic",url:"https://explorer-blockscout.etc-network.info",standard:"none"},{name:"etcnetworkinfo-alethio-ethereum-classic",url:"https://explorer-alethio.etc-network.info",standard:"none"},{name:"etcnetworkinfo-expedition-ethereum-classic",url:"https://explorer-expedition.etc-network.info",standard:"none"},{name:"hebeblock-ethereum-classic",url:"https://etcerscan.com",standard:"EIP3091"},{name:"oklink-ethereum-classic",url:"https://www.oklink.com/etc",standard:"EIP3091"},{name:"tokenview-ethereum-classic",url:"https://etc.tokenview.io",standard:"EIP3091"}],63:[{name:"blockscout-mordor",url:"https://etc-mordor.blockscout.com",standard:"EIP3091"},{name:"etcnetworkinfo-expedition-mordor",url:"https://explorer-expedition.etc-network.info/?network=Ethereum+Classic+at+etc-network.info+GETH+Mordor",standard:"none"}],65:[{name:"OKLink",url:"https://www.oklink.com/okexchain-test",standard:"EIP3091"}],66:[{name:"OKLink",url:"https://www.oklink.com/en/okc",standard:"EIP3091"}],69:[{name:"etherscan",url:"https://kovan-optimistic.etherscan.io",standard:"EIP3091"}],70:[{name:"hooscan",url:"https://www.hooscan.com",standard:"EIP3091"}],71:[{name:"Conflux Scan",url:"https://evmtestnet.confluxscan.net",standard:"none"}],73:[{name:"fncy scan",url:"https://fncyscan.fncy.world",icon:"fncy",standard:"EIP3091"}],74:[{name:"explorer",url:"https://explorer.idchain.one",standard:"EIP3091"}],75:[{name:"DSC Explorer Mainnet",url:"https://explorer.decimalchain.com",icon:"dsc",standard:"EIP3091"}],77:[{name:"blockscout",url:"https://blockscout.com/poa/sokol",icon:"blockscout",standard:"EIP3091"}],79:[{name:"zenith scan",url:"https://scan.zenithchain.co",standard:"EIP3091"}],80:[{name:"GeneChain Scan",url:"https://scan.genechain.io",standard:"EIP3091"}],81:[{name:"Block Explorer",url:"https://explorer.japanopenchain.org",standard:"EIP3091",icon:"joc"}],82:[{name:"Meter Mainnet Scan",url:"https://scan.meter.io",standard:"EIP3091"}],83:[{name:"Meter Testnet Scan",url:"https://scan-warringstakes.meter.io",standard:"EIP3091"}],84:[{name:"Linqto Devnet Explorer",url:"https://explorer.linqto-dev.com",standard:"EIP3091"}],85:[{name:"GateScan",url:"https://www.gatescan.org/testnet",standard:"EIP3091"}],86:[{name:"GateScan",url:"https://www.gatescan.org",standard:"EIP3091"}],87:[{name:"novanetwork",url:"https://explorer.novanetwork.io",standard:"EIP3091"}],90:[{name:"explorer",url:"https://explorer.garizon.com",icon:"garizon",standard:"EIP3091"}],91:[{name:"explorer",url:"https://explorer.garizon.com",icon:"garizon",standard:"EIP3091"}],92:[{name:"explorer",url:"https://explorer.garizon.com",icon:"garizon",standard:"EIP3091"}],93:[{name:"explorer",url:"https://explorer.garizon.com",icon:"garizon",standard:"EIP3091"}],94:[{name:"SwissDLT Explorer",url:"https://explorer.swissdlt.ch",icon:"bcts",standard:"EIP3091"}],95:[{name:"CamDL Block Explorer",url:"https://explorer.camdl.gov.kh",standard:"EIP3091"}],96:[{name:"Bitkub Chain Explorer",url:"https://bkcscan.com",standard:"none",icon:"bkc"}],97:[{name:"bscscan-testnet",url:"https://testnet.bscscan.com",standard:"EIP3091"}],98:[{name:"SIX Scan",url:"https://sixscan.io/sixnet",standard:"none",icon:"six"}],99:[{name:"blockscout",url:"https://blockscout.com/poa/core",icon:"blockscout",standard:"EIP3091"}],100:[{name:"gnosisscan",url:"https://gnosisscan.io",standard:"EIP3091"},{name:"blockscout",url:"https://gnosis.blockscout.com",icon:"blockscout",standard:"EIP3091"},{name:"dexguru",url:"https://gnosis.dex.guru",icon:"dexguru",standard:"EIP3091"}],103:[{name:"Worldland Explorer",url:"https://scan.worldland.foundation",standard:"EIP3091"}],104:[{name:"kaibascan",url:"https://kaibascan.io",icon:"kaibascan",standard:"EIP3091"}],105:[{name:"Web3Games Explorer",url:"https://explorer-devnet.web3games.org",standard:"none"}],106:[{name:"Velas Explorer",url:"https://evmexplorer.velas.com",standard:"EIP3091"}],107:[{name:"nebulatestnet",url:"https://explorer.novanetwork.io",standard:"EIP3091"}],108:[{name:"thundercore-viewblock",url:"https://viewblock.io/thundercore",standard:"EIP3091"}],109:[{name:"shibariumscan",url:"https://www.shibariumscan.io",standard:"none"}],112:[{name:"blockscout",url:"https://coinbit-explorer.chain.sbcrypto.app",icon:"blockscout",standard:"EIP3091"}],113:[{name:"Dehvo Explorer",url:"https://explorer.dehvo.com",standard:"EIP3091"}],114:[{name:"blockscout",url:"https://coston2-explorer.flare.network",standard:"EIP3091"},{name:"flarescan",url:"https://coston2.testnet.flarescan.com",standard:"EIP3091"}],117:[{name:"Uptick Explorer",url:"https://evm-explorer.uptick.network",icon:"uptick",standard:"none"}],118:[{name:"arcology",url:"https://testnet.arcology.network/explorer",standard:"none"}],119:[{name:"enulsscan",url:"https://evmscan.nuls.io",icon:"enuls",standard:"EIP3091"}],120:[{name:"enulsscan",url:"https://beta.evmscan.nuls.io",icon:"enuls",standard:"EIP3091"}],121:[{name:"realscan",url:"https://rclscan.com",standard:"EIP3091"}],122:[{name:"blockscout",url:"https://explorer.fuse.io",icon:"blockscout",standard:"EIP3091"}],125:[{name:"OYchain Testnet Explorer",url:"https://explorer.testnet.oychain.io",standard:"none"}],126:[{name:"OYchain Mainnet Explorer",url:"https://explorer.oychain.io",standard:"none"}],128:[{name:"hecoinfo",url:"https://hecoinfo.com",standard:"EIP3091"}],129:[{name:"Innovator Explorer",url:"https://evm.innovatorchain.com",icon:"blockscout",standard:"none"}],131:[{name:"blockscout",url:"https://tokioscan-v2.engram.tech",icon:"engram",standard:"EIP3091"}],133:[{name:"blockscout",url:"https://hashkeychain-testnet-explorer.alt.technology",icon:"blockscout",standard:"EIP3091"}],134:[{name:"blockscout",url:"https://blockscout.bellecour.iex.ec",icon:"blockscout",standard:"EIP3091"}],135:[{name:"alyx testnet scan",url:"https://testnet.alyxscan.com",standard:"EIP3091"}],136:[{name:"Deamchain Block Explorer",url:"https://scan.deamchain.com",standard:"EIP3091",icon:"deam"}],137:[{name:"polygonscan",url:"https://polygonscan.com",standard:"EIP3091"},{name:"dexguru",url:"https://polygon.dex.guru",icon:"dexguru",standard:"EIP3091"}],138:[{name:"Blockscout Explorer",url:"https://blockscout.defi-oracle.io",standard:"none"},{name:"Quorum Explorer",url:"https://explorer.defi-oracle.io",standard:"none"}],139:[{name:"wikiwoop",url:"https://explorer.wikiwoop.com",standard:"EIP3091"}],141:[{name:"Belly Scan",url:"https://testnet.bellyscan.com",standard:"none"}],144:[{name:"Phiscan",url:"https://phiscan.com",icon:"phi",standard:"none"}],145:[{name:"blockscout",url:"https://explorer.soraai.bot",icon:"blockscout",standard:"EIP3091"}],147:[{name:"Flag Mainnet Explorer",url:"https://flagscan.xyz",standard:"EIP3091"}],148:[{name:"explorer",url:"https://explorer.evm.shimmer.network",icon:"shimmerevm",standard:"EIP3091"}],150:[{name:"SIX Scan fivenet",url:"https://sixscan.io/fivenet",standard:"none",icon:"six"}],153:[{name:"Redbelly Network Testnet Explorer",url:"https://explorer.testnet.redbelly.network",standard:"none"}],155:[{name:"TenetScan Testnet",url:"https://testnet.tenetscan.io",icon:"tenet",standard:"EIP3091"}],156:[{name:"OEScan explorer",url:"https://testnet.oescan.io",standard:"EIP3091"}],157:[{name:"puppyscan",url:"https://puppyscan.shib.io",standard:"none"}],158:[{name:"Rbascan Explorer",url:"https://rbascan.com",standard:"EIP3091"}],159:[{name:"Rbascan Testnet Explorer",url:"https://testnet.rbascan.com",standard:"EIP3091"}],161:[{name:"blockscout - evascan",url:"https://testnet.evascan.io",standard:"EIP3091"}],164:[{name:"Omni EVM and cross-chain Explorer",url:"https://omega.omniscan.network",standard:"EIP3091"}],167:[{name:"atoshiscan",url:"https://scan.atoverse.info",standard:"EIP3091"}],168:[{name:"AIOZ Network Explorer",url:"https://explorer.aioz.network",standard:"EIP3091"}],169:[{name:"manta-pacific Explorer",url:"https://pacific-explorer.manta.network",standard:"EIP3091"}],176:[{name:"dcscan",url:"https://exp.dcnetio.cloud",standard:"none"}],178:[{name:"abeyscan-testnet",url:"https://testnet.abeyscan.com",standard:"EIP3091"}],179:[{name:"abeyscan",url:"https://abeyscan.com",standard:"EIP3091"}],180:[{name:"AME Scan",url:"https://amescan.io",standard:"EIP3091"}],184:[{name:"Dojima Testnet Explorer",url:"https://explorer-test.dojima.network",standard:"none"}],185:[{name:"blockscout",url:"https://explorer.mintchain.io",icon:"mint",standard:"EIP3091"}],186:[{name:"seeleview",url:"https://seeleview.net",standard:"none"}],187:[{name:"Dojima Explorer",url:"https://explorer.dojima.network",standard:"none"}],188:[{name:"Blockmeta",url:"https://bmc.blockmeta.com",standard:"none"}],189:[{name:"Blockmeta",url:"https://bmctestnet.blockmeta.com",standard:"none"}],190:[{name:"bbqchain-explorer",url:"https://bbqchain-exp.commudao.xyz",standard:"EIP3091"}],193:[{name:"cemscan",url:"https://cemscan.com",standard:"EIP3091"}],195:[{name:"OKLink",url:"https://www.oklink.com/xlayer-test",standard:"EIP3091"}],196:[{name:"OKLink",url:"https://www.oklink.com/xlayer",standard:"EIP3091"}],197:[{name:"blockscout",url:"https://testnet.neutrinoschain.com",standard:"EIP3091"}],198:[{name:"Bitchain Scan",url:"https://explorer.bitchain.biz",standard:"EIP3091"}],199:[{name:"BitTorrent Chain Explorer",url:"https://bttcscan.com",standard:"EIP3091"}],200:[{name:"blockscout",url:"https://blockscout.com/xdai/arbitrum",standard:"EIP3091"}],201:[{name:"moac testnet explorer",url:"https://testnet.moac.io",standard:"none"}],202:[{name:"Edgeless Explorer",url:"https://testnet.explorer.edgeless.network",standard:"EIP3091"}],204:[{name:"opbnbscan",url:"https://mainnet.opbnbscan.com",standard:"EIP3091"}],206:[{name:"VinuScan Testnet",url:"https://testnet.vinuscan.com",icon:"vinuscan-testnet",standard:"none"}],207:[{name:"VinuScan",url:"https://vinuscan.com",icon:"vinuscan",standard:"none"}],210:[{name:"Bitnet Explorer",url:"https://btnscan.com",standard:"EIP3091"}],212:[{name:"maposcan",url:"https://testnet.maposcan.io",standard:"EIP3091"}],213:[{name:"B2 Hub Mainnet Explorer",url:"https://hub-explorer.bsquared.network",icon:"bsquare",standard:"EIP3091"}],214:[{name:"shinascan",url:"https://shinascan.shinarium.org",standard:"EIP3091"}],217:[{name:"siriusnet explorer",url:"https://scan.siriusnet.io",standard:"none"}],220:[{name:"scalind",url:"https://explorer-sepolia.scalind.com",standard:"EIP3091"}],221:[{name:"BlockEx Scan",url:"http://explorer.blockex.biz",standard:"EIP3091"}],223:[{name:"blockscout",url:"https://explorer.bsquared.network",icon:"bsquare",standard:"EIP3091"}],224:[{name:"Viridis Testnet",url:"https://testnet.vrd.network",standard:"EIP3091"}],225:[{name:"blockscout",url:"https://scan.lachain.io",standard:"EIP3091"}],226:[{name:"blockscout",url:"https://scan-test.lachain.io",standard:"EIP3091"}],230:[{name:"SwapDEX",url:"https://evm.swapdex.network",standard:"none"}],233:[{name:"Ethernity Testnet Explorer",url:"https://testnet.ernscan.io",standard:"EIP3091"}],234:[{name:"ProtoJumbo",url:"https://protojumbo.jumbochain.org",standard:"EIP3091"}],236:[{name:"Deamchain Testnet Explorer",url:"https://testnet-scan.deamchain.com",standard:"EIP3091",icon:"deam"}],242:[{name:"plgscan",url:"https://www.plgscan.com",standard:"EIP3091"}],246:[{name:"blockscout",url:"https://explorer.energyweb.org",standard:"none"}],248:[{name:"blockscout",url:"https://explorer.oasys.games",standard:"EIP3091"}],250:[{name:"ftmscan",url:"https://ftmscan.com",icon:"ftmscan",standard:"EIP3091"},{name:"dexguru",url:"https://fantom.dex.guru",icon:"dexguru",standard:"EIP3091"}],252:[{name:"fraxscan",url:"https://fraxscan.com",standard:"EIP3091"}],254:[{name:"Swanchain Explorer",url:"https://swanscan.io",standard:"EIP3091"}],255:[{name:"blockscout",url:"https://blockscout.kroma.network",icon:"blockscout",standard:"EIP3091"}],259:[{name:"Neon Blockchain Explorer",url:"https://scan.neonlink.io",standard:"EIP3091",icon:"neonlink"}],261:[{name:"guruscan",url:"https://scan.gurunetwork.ai",standard:"EIP3091"}],262:[{name:"Surnet Explorer",url:"https://explorer.surnet.org",icon:"SUR",standard:"EIP3091"}],267:[{name:"ankrscan-neura",url:"https://testnet.explorer.neuraprotocol.io",icon:"neura",standard:"EIP3091"},{name:"blockscout",url:"https://explorer.neura-testnet.ankr.com",icon:"blockscout",standard:"EIP3091"}],269:[{name:"hscan",url:"https://hscan.org",standard:"EIP3091"}],271:[{name:"EgonCoin Mainnet",url:"https://egonscan.com",standard:"EIP3091"}],274:[{name:"LaChain Explorer",url:"https://explorer.lachain.network",standard:"EIP3091"}],282:[{name:"Cronos zkEVM Testnet Explorer",url:"https://explorer.zkevm.cronos.org/testnet",standard:"none"}],288:[{name:"Bobascan",url:"https://bobascan.com",standard:"none"}],291:[{name:"orderlyscout",url:"https://explorer.orderly.network",icon:"blockscout",standard:"EIP3091"}],295:[{name:"HashScan",url:"https://hashscan.io/mainnet",standard:"EIP3091"},{name:"Arkhia Explorer",url:"https://explorer.arkhia.io",standard:"none"},{name:"DragonGlass",url:"https://app.dragonglass.me",standard:"none"},{name:"Hedera Explorer",url:"https://hederaexplorer.io",standard:"none"},{name:"Ledger Works Explore",url:"https://explore.lworks.io",standard:"none"}],296:[{name:"HashScan",url:"https://hashscan.io/testnet",standard:"EIP3091"},{name:"Arkhia Explorer",url:"https://explorer.arkhia.io",standard:"none"},{name:"DragonGlass",url:"https://app.dragonglass.me",standard:"none"},{name:"Hedera Explorer",url:"https://hederaexplorer.io",standard:"none"},{name:"Ledger Works Explore",url:"https://explore.lworks.io",standard:"none"}],297:[{name:"HashScan",url:"https://hashscan.io/previewnet",standard:"EIP3091"}],300:[{name:"zkSync Block Explorer",url:"https://sepolia.explorer.zksync.io",icon:"zksync-era",standard:"EIP3091"}],302:[{name:"zkCandy Block Explorer",url:"https://sepolia.explorer.zkcandy.io",icon:"zkcandy",standard:"EIP3091"}],303:[{name:"neuroscan",url:"https://testnet.ncnscan.com",standard:"EIP3091"}],305:[{name:"blockscout",url:"https://explorer.zksats.io",icon:"zksats",standard:"EIP3091"}],307:[{name:"Lovely Network Testnet",url:"https://tscan.lovely.network",standard:"EIP3091"}],308:[{name:"furthscan",url:"http://furthscan.com",standard:"EIP3091"}],309:[{name:"wyzth",url:"http://24.199.108.65:4000",icon:"wyzth",standard:"EIP3091"}],311:[{name:"Omax Chain Explorer",url:"https://omaxray.com",icon:"omaxray",standard:"EIP3091"}],313:[{name:"neuroscan",url:"https://ncnscan.com",standard:"EIP3091"}],314:[{name:"Filfox",url:"https://filfox.info/en",standard:"none"},{name:"Beryx",url:"https://beryx.zondax.ch",standard:"none"},{name:"Glif Explorer",url:"https://explorer.glif.io",standard:"EIP3091"},{name:"Dev.storage",url:"https://dev.storage",standard:"none"},{name:"Filscan",url:"https://filscan.io",standard:"none"},{name:"Filscout",url:"https://filscout.io/en",standard:"none"}],321:[{name:"KCC Explorer",url:"https://explorer.kcc.io/en",standard:"EIP3091"}],322:[{name:"kcc-scan-testnet",url:"https://scan-testnet.kcc.network",standard:"EIP3091"}],323:[{name:"Blockscout",url:"https://explorer.cosvm.net",icon:"blockscout",standard:"EIP3091"}],324:[{name:"zkSync Era Block Explorer",url:"https://explorer.zksync.io",icon:"zksync-era",standard:"EIP3091"}],333:[{name:"w3q-mainnet",url:"https://explorer.mainnet.web3q.io",standard:"EIP3091"}],335:[{name:"ethernal",url:"https://explorer-test.dfkchain.com",icon:"ethereum",standard:"none"}],336:[{name:"subscan",url:"https://shiden.subscan.io",standard:"none",icon:"subscan"},{name:"blockscout",url:"https://blockscout.com/shiden",icon:"blockscout",standard:"EIP3091"}],338:[{name:"Cronos Testnet Explorer",url:"https://explorer.cronos.org/testnet",standard:"none"}],345:[{name:"tscscan",url:"https://www.tscscan.io",icon:"netxscan",standard:"none"}],361:[{name:"Theta Mainnet Explorer",url:"https://explorer.thetatoken.org",standard:"EIP3091"}],363:[{name:"Theta Sapphire Testnet Explorer",url:"https://guardian-testnet-sapphire-explorer.thetatoken.org",standard:"EIP3091"}],364:[{name:"Theta Amber Testnet Explorer",url:"https://guardian-testnet-amber-explorer.thetatoken.org",standard:"EIP3091"}],365:[{name:"Theta Testnet Explorer",url:"https://testnet-explorer.thetatoken.org",standard:"EIP3091"}],369:[{name:"blockscout",url:"https://scan.pulsechain.com",icon:"blockscout",standard:"EIP3091"},{name:"otterscan",url:"https://otter.pulsechain.com",standard:"EIP3091"}],371:[{name:"blockscout",url:"https://explorer-testnet.theconsta.com",standard:"EIP3091"}],380:[{name:"ZKAmoeba Test Explorer",url:"https://testnetexplorer.zkamoeba.com",icon:"zkamoeba-micro",standard:"EIP3091"}],381:[{name:"ZKAmoeba Explorer",url:"https://explorer.zkamoeba.com",icon:"zkamoeba-micro",standard:"EIP3091"}],388:[{name:"Cronos zkEVM (Mainnet) Chain Explorer",url:"https://explorer.zkevm.cronos.org",standard:"none"}],395:[{name:"CamDL Testnet Explorer",url:"https://explorer.testnet.camdl.gov.kh",standard:"EIP3091"}],397:[{name:"Near Blocks",url:"https://nearblocks.io",standard:"none"}],398:[{name:"Near blocks",url:"https://testnet.nearblocks.io",standard:"none"}],399:[{name:"N3scan",url:"https://scan.nativ3.network",standard:"EIP3091"}],400:[{name:"blockscout",url:"https://testnet.hyperonchain.com",icon:"hyperonchain",standard:"EIP3091"}],401:[{name:"OZONE Scan",url:"https://testnet.ozonescan.io",standard:"EIP3091"}],404:[{name:"Syndr L3 Explorer",url:"https://explorer.syndr.com",standard:"EIP3091"}],411:[{name:"pepechain explorer",url:"https://explorer.pepe-chain.vip",standard:"EIP3091"}],416:[{name:"SX Network Explorer",url:"https://explorer.sx.technology",standard:"EIP3091"}],418:[{name:"LaTestnet Explorer",url:"https://testexplorer.lachain.network",standard:"EIP3091"}],420:[{name:"blockscout",url:"https://optimism-goerli.blockscout.com",icon:"blockscout",standard:"EIP3091"}],422:[{name:"Viridis Mainnet",url:"https://explorer.vrd.network",standard:"EIP3091"}],424:[{name:"blockscout",url:"https://explorer.publicgoods.network",icon:"blockscout",standard:"EIP3091"}],427:[{name:"Zeeth Explorer",url:"https://explorer.zeeth.io",standard:"none"}],428:[{name:"Geso Verse Explorer",url:"https://explorer.verse.gesoten.com",standard:"EIP3091"}],434:[{name:"Boyaa explorer",url:"https://explorer.mainnet.boyaa.network",standard:"EIP3091"}],443:[{name:"Ten Sepolia Rollup Explorer",url:"https://tenscan.io",standard:"none"}],444:[{name:"Synapse Chain Sepolia",url:"https://sepolia.synapsescan.com",standard:"EIP3091"}],456:[{name:"ARZIO Scan",url:"https://scan.arzio.co",standard:"EIP3091"}],462:[{name:"AreonScan",url:"https://areonscan.com",standard:"none"}],463:[{name:"AreonScan",url:"https://areonscan.com",standard:"none"}],500:[{name:"blockexplorer",url:"https://suite.camino.network/explorer",standard:"none"}],501:[{name:"blockexplorer",url:"https://suite.camino.network/explorer",standard:"none"}],512:[{name:"aacscan",url:"https://scan.acuteangle.com",standard:"EIP3091"}],513:[{name:"aacscan-testnet",url:"https://scan-testnet.acuteangle.com",standard:"EIP3091"}],520:[{name:"xscscan",url:"https://xscscan.pub",standard:"EIP3091"}],530:[{name:"FunctionX Explorer",url:"https://fx-evm.functionx.io",standard:"EIP3091"}],534:[{name:"candleexplorer",url:"https://candleexplorer.com",standard:"EIP3091"}],537:[{name:"OpTrust explorer",url:"https://scan.optrust.io",icon:"optrust",standard:"none"}],542:[{name:"PAWCHAIN Testnet",url:"https://pawscan.io",standard:"none"}],545:[{name:"FlowScan: Testnet",url:"https://evm-testnet.flowscan.io",standard:"EIP3091"}],555:[{name:"Vela1 Chain Mainnet Explorer",url:"https://exp.velaverse.io",standard:"EIP3091"}],568:[{name:"dogechain testnet explorer",url:"https://explorer-testnet.dogechain.dog",standard:"EIP3091"}],570:[{name:"Rollux Explorer",url:"https://explorer.rollux.com",standard:"EIP3091"}],571:[{name:"MetaExplorer",url:"https://explorer.metatime.com",standard:"EIP3091"}],579:[{name:"filenova explorer",url:"https://scan.filenova.org",icon:"filenova",standard:"none"}],592:[{name:"subscan",url:"https://astar.subscan.io",standard:"none",icon:"subscan"},{name:"blockscout",url:"https://blockscout.com/astar",icon:"blockscout",standard:"EIP3091"}],595:[{name:"blockscout",url:"https://blockscout.mandala.aca-staging.network",standard:"EIP3091"}],596:[{name:"blockscout",url:"https://blockscout.karura-testnet.aca-staging.network",standard:"EIP3091"}],597:[{name:"blockscout",url:"https://blockscout.acala-dev.aca-dev.network",standard:"EIP3091"}],601:[{name:"Vine Explorer",url:"https://vne.network/rose",standard:"none",icon:"vine"}],610:[{name:"Darwin Explorer",url:"https://explorer.darwinchain.ai",icon:"darwin",standard:"none"}],612:[{name:"EIOB Explorer",url:"https://explorer.eiob.xyz",standard:"none"}],614:[{name:"GLQ Explorer",url:"https://explorer.graphlinq.io",standard:"none"}],624:[{name:"Tracehawk",url:"https://explorer.thebinaryholdings.com",standard:"none"}],625:[{name:"Tracehawk",url:"https://explorer.sepolia.thebinaryholdings.com",standard:"none"}],634:[{name:"avoscan",url:"https://avoscan.co",icon:"avocado",standard:"none"}],646:[{name:"EVM on Flow Block Explorer (PreviewNet)",url:"https://eth.flowscan.io",standard:"EIP3091"}],647:[{name:"SX Network Toronto Explorer",url:"https://explorer.toronto.sx.technology",standard:"EIP3091"}],648:[{name:"Endurance Scan",url:"https://explorer.endurance.fusionist.io",standard:"EIP3091"}],653:[{name:"kalichain explorer",url:"https://explorer.kalichain.com",standard:"EIP3091"}],654:[{name:"kalichain explorer",url:"https://explorer.kalichain.com",standard:"EIP3091"}],662:[{name:"ultronsmartchain explorer",url:"https://scan.ultronsmartchain.io",standard:"EIP3091"}],667:[{name:"blockscout",url:"https://arrakis.gorengine.com",icon:"laos",standard:"EIP3091"}],668:[{name:"JuncaScan",url:"https://scan.juncachain.com",standard:"EIP3091"}],669:[{name:"JuncaScan",url:"https://scan-testnet.juncachain.com",standard:"EIP3091"}],686:[{name:"blockscout",url:"https://blockscout.karura.network",standard:"EIP3091"}],690:[{name:"blockscout",url:"https://explorer.redstone.xyz",icon:"blockscout",standard:"EIP3091"}],700:[{name:"starscan",url:"https://avastar.info",standard:"EIP3091"}],701:[{name:"blockscout",url:"https://koi-scan.darwinia.network",standard:"EIP3091"}],707:[{name:"BlockChain Station Explorer",url:"https://explorer.bcsdev.io",standard:"EIP3091"}],708:[{name:"BlockChain Station Explorer",url:"https://testnet.bcsdev.io",standard:"EIP3091"}],710:[{name:"Furya EVM Explorer",url:"https://explorer.furya.io",standard:"EIP3091",icon:"highbury"}],713:[{name:"vrcscan",url:"https://vrcscan.com",standard:"EIP3091"},{name:"dxbscan",url:"https://dxb.vrcscan.com",standard:"EIP3091"}],719:[{name:"shibscan",url:"https://puppyscan.shib.io",standard:"EIP3091"}],721:[{name:"blockscout",url:"https://explorer.lycanchain.com",standard:"EIP3091"}],730:[{name:"Lovely Network Mainnet",url:"https://scan.lovely.network",standard:"EIP3091"}],741:[{name:"ventionscan",url:"https://testnet.ventionscan.io",standard:"EIP3091"}],742:[{name:"Script Explorer",url:"https://explorer.script.tv",standard:"none"}],747:[{name:"Flow Diver",url:"https://flowdiver.io",standard:"none"}],766:[{name:"QL1 Mainnet Explorer",url:"https://mainnet.qom.one",icon:"qom",standard:"EIP3091"}],776:[{name:"OPEN CHAIN TESTNET",url:"https://testnet.openchain.info",standard:"none"}],786:[{name:"maalscan",url:"https://maalscan.io",standard:"EIP3091"}],787:[{name:"blockscout",url:"https://blockscout.acala.network",standard:"EIP3091"}],788:[{name:"aeroscan",url:"https://testnet.aeroscan.id",standard:"EIP3091"}],789:[{name:"patexscan",url:"https://patexscan.io",icon:"patex",standard:"EIP3091"}],799:[{name:"rupayascan",url:"https://scan.testnet.rupaya.io",standard:"EIP3091"}],800:[{name:"Lucid Explorer",url:"https://explorer.lucidcoin.io",standard:"none"}],810:[{name:"Haven1 Explorer",url:"https://testnet-explorer.haven1.org",icon:"haven1",standard:"EIP3091"}],813:[{name:"meerscan",icon:"meer",url:"https://qng.qitmeer.io",standard:"EIP3091"},{name:"meerscan",icon:"meer",url:"https://qng.meerscan.io",standard:"EIP3091"}],818:[{name:"BeOne Chain Mainnet",url:"https://beonescan.com",standard:"EIP3091"}],822:[{name:"RunicScan",url:"https://scan.runic.build",icon:"runic-testnet",standard:"EIP3091"}],831:[{name:"CDT Explorer",url:"https://explorer.checkdot.io",standard:"none"}],841:[{name:"Taraxa Explorer",url:"https://explorer.mainnet.taraxa.io",standard:"none"}],842:[{name:"Taraxa Explorer",url:"https://explorer.testnet.taraxa.io",standard:"none"}],852:[{name:"HongKong Mainnet Explorer",url:"http://47.238.205.52",standard:"none"}],859:[{name:"Zeeth Explorer Dev",url:"https://explorer.dev.zeeth.io",standard:"none"}],868:[{name:"FSCScan",url:"https://explorer.fantasiachain.com",standard:"EIP3091"}],876:[{name:"Bandai Namco Research Verse Explorer",url:"https://explorer.main.oasvrs.bnken.net",standard:"EIP3091"}],877:[{name:"dxtscan",url:"https://dxtscan.com",standard:"EIP3091"}],880:[{name:"Ambros Chain Explorer",url:"https://ambrosscan.com",standard:"none"}],888:[{name:"wanscan",icon:"wanchain",url:"https://wanscan.org",standard:"EIP3091"}],898:[{name:"Maxi Chain Testnet Explorer",url:"https://testnet.maxi.network",standard:"EIP3091"}],899:[{name:"Maxi Chain Mainnet Explorer",url:"https://mainnet.maxi.network",standard:"EIP3091"}],900:[{name:"explorer",url:"https://explorer-testnet.garizon.com",icon:"garizon",standard:"EIP3091"}],901:[{name:"explorer",url:"https://explorer-testnet.garizon.com",icon:"garizon",standard:"EIP3091"}],902:[{name:"explorer",url:"https://explorer-testnet.garizon.com",icon:"garizon",standard:"EIP3091"}],903:[{name:"explorer",url:"https://explorer-testnet.garizon.com",icon:"garizon",standard:"EIP3091"}],911:[{name:"TAPROOT Scan",url:"https://scan.taprootchain.io",icon:"taproot",standard:"EIP3091"}],917:[{name:"FireScan",url:"https://rinia.firescan.io",standard:"EIP3091"}],919:[{name:"modescout",url:"https://sepolia.explorer.mode.network",standard:"none"}],927:[{name:"Yidarkscan",url:"https://yidarkscan.com",standard:"EIP3091"}],943:[{name:"blockscout",url:"https://scan.v4.testnet.pulsechain.com",icon:"blockscout",standard:"EIP3091"},{name:"blockscout",url:"https://otter-testnet-pulsechain.g4mm4.io",standard:"EIP3091"}],957:[{name:"Lyra Explorer",url:"https://explorer.lyra.finance",icon:"lyra",standard:"EIP3091"}],963:[{name:"blockscout",url:"https://scan.bitcoincode.technology",standard:"EIP3091"}],969:[{name:"EthXY Network Explorer",url:"https://explorer.ethxy.com",standard:"EIP3091"}],970:[{name:"Oort Mainnet Explorer",url:"https://mainnet-scan.oortech.com",standard:"none",icon:"oort"}],972:[{name:"Oort Ascraeus Explorer",url:"https://ascraeus-scan.oortech.com",standard:"none",icon:"oort"}],979:[{name:"EthXY Testnet Network Explorer",url:"https://explorer.testnet.ethxy.com",standard:"EIP3091"}],980:[{name:"topscan.dev",url:"https://www.topscan.io",standard:"none"}],985:[{name:"Memo Mainnet Explorer",url:"https://scan.metamemo.one:8080",icon:"memo",standard:"EIP3091"}],987:[{name:"BinaryChain Explorer",url:"https://explorer.binarychain.org",standard:"EIP3091"}],989:[{name:"topscan.dev",url:"https://www.topscan.io",standard:"none"}],990:[{name:"eLiberty Mainnet",url:"https://explorer.eliberty.ngo",standard:"EIP3091"}],995:[{name:"5ireChain Explorer",url:"https://5irescan.io",standard:"none",icon:"5ireChain"}],997:[{name:"5ireChain Explorer",url:"https://explorer.5ire.network",standard:"none",icon:"5ireChain"}],998:[{name:"blockscout",url:"https://explorer.luckynetwork.org",standard:"none"},{name:"expedition",url:"https://lnscan.org",standard:"none"}],999:[{name:"wanscan",icon:"wanchain",url:"https://testnet.wanscan.org",standard:"EIP3091"}],1e3:[{name:"GTON Network Explorer",url:"https://explorer.gton.network",standard:"EIP3091"}],1001:[{name:"Klaytnscope",url:"https://baobab.klaytnscope.com",standard:"EIP3091"},{name:"Klaytnfinder",url:"https://baobab.klaytnfinder.io",standard:"EIP3091"}],1003:[{name:"Tectum explorer",url:"https://explorer.tectum.io",icon:"Tettoken256",standard:"EIP3091"}],1004:[{name:"test-ektascan",url:"https://test.ektascan.io",icon:"ekta",standard:"EIP3091"}],1008:[{name:"eurusexplorer",url:"https://explorer.eurus.network",icon:"eurus",standard:"none"}],1009:[{name:"Jumboscan",url:"https://jumboscan.jumbochain.org",standard:"EIP3091"}],1011:[{name:"Rebus EVM Explorer (Blockscout)",url:"https://evm.rebuschain.com",icon:"rebus",standard:"none"},{name:"Rebus Cosmos Explorer (ping.pub)",url:"https://cosmos.rebuschain.com",icon:"rebus",standard:"none"}],1028:[{name:"testbttcscan",url:"https://testscan.bittorrentchain.io",standard:"none"}],1030:[{name:"Conflux Scan",url:"https://evm.confluxscan.net",standard:"none"}],1031:[{name:"proxy network testnet",url:"http://testnet-explorer.theproxy.network",standard:"EIP3091"}],1038:[{name:"Bronos Testnet Explorer",url:"https://tbroscan.bronos.org",standard:"none",icon:"bronos"}],1039:[{name:"Bronos Explorer",url:"https://broscan.bronos.org",standard:"none",icon:"bronos"}],1073:[{name:"explorer",url:"https://explorer.evm.testnet.shimmer.network",standard:"EIP3091"}],1075:[{name:"explorer",url:"https://explorer.evm.testnet.iotaledger.net",standard:"EIP3091"}],1079:[{name:"explorer",url:"https://subnets-test.avax.network/mintara",standard:"EIP3091"}],1080:[{name:"explorer",url:"https://subnets.avax.network/mintara",standard:"EIP3091"}],1088:[{name:"blockscout",url:"https://andromeda-explorer.metis.io",standard:"EIP3091"}],1089:[{name:"explorer.guru",url:"https://humans.explorers.guru",icon:"humans",standard:"none"}],1099:[{name:"moac explorer",url:"https://explorer.moac.io",standard:"none"}],1100:[{name:"dym.fyi",url:"https://dym.fyi",standard:"EIP3091"}],1101:[{name:"blockscout",url:"https://zkevm.polygonscan.com",icon:"zkevm",standard:"EIP3091"}],1107:[{name:"BLXq Explorer",url:"https://explorer.blx.org",icon:"blxq",standard:"none"}],1108:[{name:"BLXq Explorer",url:"https://explorer.blxq.org",icon:"blxq",standard:"EIP3091"}],1111:[{name:"WEMIX Block Explorer",url:"https://explorer.wemix.com",standard:"EIP3091"}],1112:[{name:"WEMIX Testnet Microscope",url:"https://microscope.test.wemix.com",standard:"EIP3091"}],1113:[{name:"B2 Hub Habitat Testnet Explorer",url:"https://testnet-hub-explorer.bsquared.network",icon:"bsquare",standard:"EIP3091"}],1115:[{name:"Core Scan Testnet",url:"https://scan.test.btcs.network",icon:"core",standard:"EIP3091"}],1116:[{name:"Core Scan",url:"https://scan.coredao.org",icon:"core",standard:"EIP3091"}],1117:[{name:"Dogcoin",url:"https://explorer.dogcoin.network",standard:"EIP3091"}],1123:[{name:"blockscout",url:"https://testnet-explorer.bsquared.network",icon:"bsquare",standard:"EIP3091"}],1133:[{name:"MetaScan",url:"https://meta.defiscan.live",standard:"EIP3091"}],1135:[{name:"blockscout",url:"https://blockscout.lisk.com",icon:"blockscout",standard:"EIP3091"}],1138:[{name:"amstarscan-testnet",url:"https://testnet.amstarscan.com",standard:"EIP3091"}],1147:[{name:"Flag Testnet Explorer",url:"https://testnet-explorer.flagscan.xyz",standard:"EIP3091"}],1149:[{name:"Plexchain Explorer",url:"https://explorer.plexfinance.us",icon:"plexchain",standard:"EIP3091"}],1170:[{name:"Origin Explorer",url:"https://evm-explorer.origin.uptick.network",icon:"origin",standard:"none"}],1177:[{name:"Smart Host Teknoloji TESTNET Explorer",url:"https://s2.tl.web.tr:4000",icon:"smarthost",standard:"EIP3091"}],1188:[{name:"mosscan",url:"https://www.mosscan.com",icon:"clubmos",standard:"none"}],1197:[{name:"ioraexplorer",url:"https://explorer.iorachain.com",standard:"EIP3091"}],1200:[{name:"Cuckoo Chain Explorer",url:"https://scan.cuckoo.network",standard:"EIP3091"}],1202:[{name:"WTTScout",url:"https://explorer.cadaut.com",standard:"EIP3091"}],1209:[{name:"Saitascan explorer",url:"https://saitascan.io",standard:"none",icon:"SaitaBlockChain(SBC)"}],1210:[{name:"Cuckoo Sepolia Explorer",url:"https://testnet-scan.cuckoo.network",standard:"EIP3091"}],1213:[{name:"popcateum explorer",url:"https://explorer.popcateum.org",standard:"none"}],1214:[{name:"Enter Explorer - Expenter",url:"https://explorer.entercoin.net",icon:"enter",standard:"EIP3091"}],1225:[{name:"Hybrid Testnet",url:"https://explorer.buildonhybrid.com",standard:"EIP3091"}],1227:[{name:"BTCP explorer",url:"https://explorer.btcprotocol.io",standard:"EIP3091"}],1229:[{name:"blockscout",url:"https://exzoscan.io",standard:"EIP3091"}],1230:[{name:"Ultron Testnet Explorer",url:"https://explorer.ultron-dev.io",icon:"ultron",standard:"none"}],1231:[{name:"Ultron Explorer",url:"https://ulxscan.com",icon:"ultron",standard:"none"}],1234:[{name:"StepScan",url:"https://stepscan.io",icon:"step",standard:"EIP3091"}],1235:[{name:"ITX Mainnet Explorer (Blockscout)",url:"https://explorer.itxchain.com",standard:"EIP3091"}],1243:[{name:"archiescan",url:"https://app.archiescan.io",standard:"none"}],1244:[{name:"archiescan",url:"https://testnet.archiescan.io",standard:"none"}],1246:[{name:"OMSCAN - Expenter",url:"https://omscan.omplatform.com",standard:"none"}],1248:[{name:"DogetherExplorer",url:"https://explorer.dogether.dog",standard:"EIP3091"}],1252:[{name:"CICscan",url:"https://testnet.cicscan.com",icon:"cicchain",standard:"EIP3091"}],1280:[{name:"HALOexplorer",url:"https://browser.halo.land",standard:"none"}],1284:[{name:"moonscan",url:"https://moonbeam.moonscan.io",standard:"none"}],1285:[{name:"moonscan",url:"https://moonriver.moonscan.io",standard:"none"}],1287:[{name:"moonscan",url:"https://moonbase.moonscan.io",standard:"none"}],1291:[{name:"Swisstronik Scout",url:"https://explorer-evm.testnet.swisstronik.com",standard:"none"}],1311:[{name:"dos-testnet",url:"https://test.doscan.io",standard:"EIP3091"}],1313:[{name:"JaiHo Chain Explorer",url:"https://jaihochain.com",standard:"EIP3091"}],1314:[{name:"alyxscan",url:"https://www.alyxscan.com",standard:"EIP3091"}],1319:[{name:"AIA Chain Explorer Mainnet",url:"https://aiascan.com",standard:"EIP3091"}],1320:[{name:"AIA Chain Explorer Testnet",url:"https://testnet.aiascan.com",standard:"EIP3091"}],1328:[{name:"Seitrace",url:"https://seitrace.com",standard:"EIP3091"}],1329:[{name:"Seitrace",url:"https://seitrace.com",standard:"EIP3091"}],1338:[{name:"Elysium testnet explorer",url:"https://elysium-explorer.vulcanforged.com",standard:"none"}],1339:[{name:"Elysium mainnet explorer",url:"https://explorer.elysiumchain.tech",standard:"none"}],1343:[{name:"BLITZ Explorer",url:"https://subnets-test.avax.network/blitz",standard:"EIP3091"}],1353:[{name:"CICscan",url:"https://cicscan.com",icon:"cicchain",standard:"EIP3091"}],1369:[{name:"zafirium-explorer",url:"https://explorer.zakumi.io",standard:"none"}],1370:[{name:"ramascan",url:"https://ramascan.com",icon:"ramestta",standard:"EIP3091"}],1377:[{name:"Pingaksha",url:"https://pingaksha.ramascan.com",icon:"ramestta",standard:"EIP3091"}],1379:[{name:"kalarscan",url:"https://explorer.kalarchain.tech",icon:"kalarscan",standard:"EIP3091"}],1388:[{name:"amstarscan",url:"https://mainnet.amstarscan.com",standard:"EIP3091"}],1392:[{name:"BlockExplorer",url:"https://www.blockexplorer.com",standard:"EIP3091"}],1433:[{name:"Rikeza Blockchain explorer",url:"https://rikscan.com",standard:"EIP3091"}],1442:[{name:"Polygon zkEVM explorer",url:"https://explorer.public.zkevm-test.net",standard:"EIP3091"}],1452:[{name:"GIL Explorer",url:"https://explorer.giltestnet.com",standard:"EIP3091"}],1453:[{name:"MetaExplorer",url:"https://istanbul-explorer.metachain.dev",standard:"EIP3091"}],1455:[{name:"Ctex Scan Explorer",url:"https://ctexscan.com",standard:"none"}],1456:[{name:"ZKbase Block Explorer",url:"https://explorer.zkbase.app",icon:"zkbase",standard:"EIP3091"}],1490:[{name:"Vitruveo Explorer",url:"https://explorer.vitruveo.xyz",icon:"vitruveo",standard:"EIP3091"}],1499:[{name:"IGC-Scan",url:"https://igcscan.com",standard:"EIP3091"}],1501:[{name:"bevm canary scan",url:"https://scan-canary.bevm.io",standard:"none"}],1506:[{name:"Sherpax Mainnet Explorer",url:"https://evm.sherpax.io",standard:"none"}],1507:[{name:"Sherpax Testnet Explorer",url:"https://evm-pre.sherpax.io",standard:"none"}],1515:[{name:"Beagle Messaging Chain Explorer",url:"https://eth.beagle.chat",standard:"EIP3091"}],1559:[{name:"TenetScan Mainnet",url:"https://tenetscan.io",icon:"tenet",standard:"EIP3091"}],1570:[{name:"StarCHAIN Explorer",url:"https://testnet.starchainscan.io",standard:"EIP3091"}],1578:[{name:"StarCHAIN Explorer",url:"https://starchainscan.io",standard:"EIP3091"}],1617:[{name:"Ethereum Inscription Explorer",url:"https://explorer.etins.org",standard:"none"}],1625:[{name:"Gravity Alpha Mainnet Explorer",url:"https://explorer.gravity.xyz",standard:"EIP3091"}],1648:[{name:"Pivotal Scan",url:"https://pivotalscan.xyz",standard:"EIP3091"}],1662:[{name:"Liquichain Mainnet",url:"https://mainnet.liquichain.io",standard:"EIP3091"}],1663:[{name:"Gobi Testnet Block Explorer",url:"https://gobi-explorer.horizen.io",icon:"eon",standard:"EIP3091"}],1686:[{name:"blockscout",url:"https://testnet-explorer.mintchain.io",icon:"mintTestnet",standard:"EIP3091"}],1687:[{name:"blockscout",url:"https://sepolia-testnet-explorer.mintchain.io",icon:"mintTestnet",standard:"EIP3091"}],1701:[{name:"Anytype Explorer",url:"https://explorer.anytype.io",icon:"any",standard:"EIP3091"}],1707:[{name:"blockscout",url:"https://exp.blockchain.or.th",standard:"EIP3091"}],1708:[{name:"blockscout",url:"https://exp.testnet.blockchain.or.th",standard:"EIP3091"}],1717:[{name:"Doric Explorer",url:"https://explorer.doric.network",standard:"EIP3091"}],1718:[{name:"Palettescan",url:"https://palettescan.com",icon:"PLT",standard:"none"}],1729:[{name:"Reya Network Explorer",url:"https://explorer.reya.network",standard:"EIP3091"}],1740:[{name:"blockscout",url:"https://testnet.explorer.metall2.com",icon:"blockscout",standard:"EIP3091"}],1750:[{name:"blockscout",url:"https://explorer.metall2.com",icon:"blockscout",standard:"EIP3091"}],1773:[{name:"PartyExplorer",url:"https://partyexplorer.co",icon:"grams",standard:"EIP3091"}],1777:[{name:"Gauss Explorer",url:"https://explorer.gaussgang.com",standard:"EIP3091"}],1789:[{name:"ZKbase Block Explorer",url:"https://sepolia-explorer.zkbase.app",icon:"zkbase",standard:"EIP3091"}],1804:[{name:"Lite Explorer",url:"https://ethereum-pocr.github.io/explorer/kerleano",icon:"pocr",standard:"EIP3091"}],1807:[{name:"blockscout",url:"https://rabbit.analogscan.com",standard:"none"}],1811:[{name:"lif3scout",url:"https://testnet.lif3scout.com",standard:"none"}],1818:[{name:"cube-scan",url:"https://cubescan.network",standard:"EIP3091"}],1819:[{name:"cubetest-scan",url:"https://testnet.cubescan.network",standard:"EIP3091"}],1821:[{name:"RUBY Smart Chain MAINNET Explorer",icon:"ruby",url:"https://rubyscan.net",standard:"none"}],1875:[{name:"whitechain-explorer",url:"https://explorer.whitechain.io",standard:"EIP3091"}],1881:[{name:"blockscout",url:"https://scan.cartenz.works",standard:"EIP3091"}],1890:[{name:"phoenix",url:"https://phoenix.lightlink.io",icon:"lightlink",standard:"EIP3091"}],1891:[{name:"pegasus",url:"https://pegasus.lightlink.io",icon:"lightlink",standard:"EIP3091"}],1898:[{name:"explorer",url:"https://explorer.boyanet.org:4001",standard:"EIP3091"}],1899:[{name:"ReDeFi Scan",url:"https://scanlayer2.redefi.world",standard:"EIP3091"}],1904:[{name:"blockscout",url:"https://explorer.sportschainnetwork.xyz",standard:"EIP3091"}],1907:[{name:"Bitci Explorer",url:"https://bitciexplorer.com",standard:"EIP3091"}],1908:[{name:"Bitci Explorer Testnet",url:"https://testnet.bitciexplorer.com",standard:"EIP3091"}],1909:[{name:"blockscout",url:"https://merklescan.com",standard:"none"}],1911:[{name:"scalind",url:"https://explorer.scalind.com",standard:"EIP3091"}],1912:[{name:"RUBY Smart Chain Testnet Explorer",icon:"ruby",url:"https://testnet.rubyscan.net",standard:"none"}],1945:[{name:"Onus explorer testnet",url:"https://explorer-testnet.onuschain.io",icon:"onus",standard:"EIP3091"}],1954:[{name:"dos-mainnet",url:"https://exp.dexilla.com",standard:"EIP3091"}],1956:[{name:"aiw3 testnet scan",url:"https://scan-testnet.aiw3.io",standard:"none"}],1961:[{name:"Selendra Scan",url:"https://scan.selendra.org",standard:"none"}],1967:[{name:"metaexplorer-eleanor",url:"https://explorer.metatime.com/eleanor",standard:"EIP3091"}],1969:[{name:"blockscout",url:"https://testnetscan.scschain.com",standard:"EIP3091"}],1970:[{name:"blockscout",url:"https://scan.scschain.com",standard:"EIP3091"}],1972:[{name:"RedeCoin Explorer",url:"https://explorer3.redecoin.eu",standard:"none"}],1975:[{name:"Onus explorer mainnet",url:"https://explorer.onuschain.io",icon:"onus",standard:"EIP3091"}],1984:[{name:"testnetexplorer",url:"https://testnetexplorer.eurus.network",icon:"eurus",standard:"none"}],1985:[{name:"mainnetexplorer",url:"http://explore.satosh.ie",icon:"satoshie",standard:"none"}],1986:[{name:"testnetexplorer",url:"http://explore-testnet.satosh.ie",icon:"satoshie",standard:"none"}],1992:[{name:"routescan",url:"https://explorer.hubble.exchange",standard:"EIP3091"}],1993:[{name:"Blockscout",url:"https://sepolia.explorer.b3.fun",standard:"EIP3091"}],1994:[{name:"ektascan",url:"https://ektascan.io",icon:"ekta",standard:"EIP3091"}],1995:[{name:"edexa-testnet",url:"https://explorer.testnet.edexa.network",standard:"EIP3091"}],1996:[{name:"Sanko Explorer",url:"https://explorer.sanko.xyz",standard:"EIP3091"}],1997:[{name:"Kyotoscan",url:"https://kyotoscan.io",standard:"EIP3091"}],1998:[{name:"Kyotoscan",url:"https://testnet.kyotoscan.io",standard:"EIP3091"}],2e3:[{name:"dogechain explorer",url:"https://explorer.dogechain.dog",standard:"EIP3091"}],2001:[{name:"Blockscout",url:"https://explorer-mainnet-cardano-evm.c1.milkomeda.com",standard:"none"}],2002:[{name:"Blockscout",url:"https://explorer-mainnet-algorand-rollup.a1.milkomeda.com",standard:"none"}],2004:[{name:"MetaScan",url:"http://twoto3.com:3000",standard:"none"}],2008:[{name:"CloudWalk Testnet Explorer",url:"https://explorer.testnet.cloudwalk.io",standard:"none"}],2009:[{name:"CloudWalk Mainnet Explorer",url:"https://explorer.mainnet.cloudwalk.io",standard:"none"}],2014:[{name:"nowscan",url:"https://testnet.nowscan.io",standard:"EIP3091"}],2016:[{name:"MainnetZ",url:"https://explorer.mainnetz.io",standard:"EIP3091"}],2017:[{name:"telscan",url:"https://telscan.io",icon:"telcoin",standard:"EIP3091"}],2018:[{name:"PublicMint Explorer",url:"https://explorer.dev.publicmint.io",standard:"EIP3091"}],2019:[{name:"PublicMint Explorer",url:"https://explorer.tst.publicmint.io",standard:"EIP3091"}],2020:[{name:"PublicMint Explorer",url:"https://explorer.publicmint.io",standard:"EIP3091"}],2021:[{name:"Edgscan EdgeEVM explorer by Bharathcoorg",url:"https://edgscan.live",standard:"EIP3091"},{name:"Edgscan EdgeWASM explorer by Bharathcoorg",url:"https://edgscan.ink",standard:"none",icon:"edgscan"}],2022:[{name:"Edgscan by Bharathcoorg",url:"https://testnet.edgscan.live",standard:"EIP3091"}],2023:[{name:"Taycan Explorer(Blockscout)",url:"https://evmscan-test.hupayx.io",standard:"none",icon:"shuffle"},{name:"Taycan Cosmos Explorer",url:"https://cosmoscan-test.hupayx.io",standard:"none",icon:"shuffle"}],2025:[{name:"rangersscan",url:"https://scan.rangersprotocol.com",standard:"none"}],2026:[{name:"Edgeless Explorer",url:"https://explorer.edgeless.network",standard:"EIP3091"}],2031:[{name:"subscan",url:"https://centrifuge.subscan.io",standard:"EIP3091",icon:"subscan"}],2037:[{name:"KIWI Explorer",url:"https://subnets-test.avax.network/kiwi",standard:"EIP3091"}],2038:[{name:"SHRAPNEL Explorer",url:"https://subnets-test.avax.network/shrapnel",standard:"EIP3091"}],2039:[{name:"Aleph Zero Testnet",url:"https://test.azero.dev/#/explorer",icon:"aleph",standard:"none"}],2040:[{name:"Vanar Explorer",url:"https://explorer.vanarchain.com",icon:"vanar",standard:"EIP3091"}],2047:[{name:"Stratos EVM Explorer (Blockscout)",url:"https://web3-explorer-mesos.thestratos.org",standard:"none"},{name:"Stratos Cosmos Explorer (BigDipper)",url:"https://big-dipper-mesos.thestratos.org",standard:"none"}],2048:[{name:"Stratos EVM Explorer (Blockscout)",url:"https://web3-explorer.thestratos.org",standard:"none"},{name:"Stratos Cosmos Explorer (BigDipper)",url:"https://explorer.thestratos.org",standard:"none"}],2049:[{name:"movoscan",url:"https://movoscan.com",icon:"movoscan",standard:"none"}],2077:[{name:"blockscout",url:"https://explorer.qkacoin.org",standard:"EIP3091"}],2100:[{name:"Ecoball Explorer",url:"https://scan.ecoball.org",standard:"EIP3091"}],2101:[{name:"Ecoball Testnet Explorer",url:"https://espuma-scan.ecoball.org",standard:"EIP3091"}],2109:[{name:"blockscout",url:"https://explorer.exosama.com",icon:"blockscout",standard:"EIP3091"}],2112:[{name:"uchain.info",url:"https://uchain.info",standard:"EIP3091"}],2121:[{name:"catenascan",url:"https://catenascan.com",standard:"EIP3091"}],2122:[{name:"Metad Scan",url:"https://scan.metaplayer.one",icon:"metad",standard:"EIP3091"}],2124:[{name:"MP1Scan",url:"https://dubai.mp1scan.io",standard:"EIP3091"}],2136:[{name:"Polkadot.js",url:"https://polkadot.js.org/apps/?rpc=wss://test-market.bigsb.network#/explorer",standard:"none"}],2138:[{name:"Quorum Explorer",url:"https://public-2138.defi-oracle.io",standard:"none"}],2140:[{name:"oneness-mainnet",url:"https://scan.onenesslabs.io",standard:"EIP3091"}],2141:[{name:"oneness-testnet",url:"https://scan.testnet.onenesslabs.io",standard:"EIP3091"}],2151:[{name:"BOASCAN",url:"https://boascan.io",icon:"agora",standard:"EIP3091"}],2152:[{name:"findorascan",url:"https://evm.findorascan.io",standard:"EIP3091"}],2153:[{name:"findorascan",url:"https://testnet-anvil.evm.findorascan.io",standard:"EIP3091"}],2154:[{name:"findorascan",url:"https://testnet-forge.evm.findorascan.io",standard:"EIP3091"}],2162:[{name:"blockscout",url:"https://explorer.kanda.animechain.ai",standard:"EIP3091"}],2199:[{name:"blockscout",url:"https://explorer.moonsama.com",icon:"blockscout",standard:"EIP3091"}],2202:[{name:"Antofy Mainnet",url:"https://antofyscan.com",standard:"EIP3091"}],2203:[{name:"Explorer",url:"https://explorer.bitcoinevm.com",icon:"ebtc",standard:"none"}],2213:[{name:"Evanesco Explorer",url:"https://explorer.evanesco.org",standard:"none"}],2221:[{name:"Kava Testnet Explorer",url:"http://testnet.kavascan.com",standard:"EIP3091",icon:"kava"}],2222:[{name:"Kava EVM Explorer",url:"https://kavascan.com",standard:"EIP3091",icon:"kava"}],2223:[{name:"VChain Scan",url:"https://scan.vcex.xyz",standard:"EIP3091"}],2241:[{name:"Polkadot.js",url:"https://polkadot.js.org/apps/?rpc=wss://wss-krest.peaq.network#/explorer",standard:"none"},{name:"Subscan",url:"https://krest.subscan.io",standard:"none"}],2300:[{name:"bombscan",icon:"bomb",url:"https://bombscan.com",standard:"EIP3091"}],2311:[{name:"Lit Chronicle Vesuvius Explorer",url:"https://vesuvius-explorer.litprotocol.com",icon:"lit",standard:"EIP3091"}],2323:[{name:"SOMA Testnet Explorer",icon:"soma",url:"https://testnet.somascan.io",standard:"none"}],2330:[{name:"expedition",url:"http://expedition.altcoinchain.org",icon:"altcoinchain",standard:"none"}],2331:[{name:"RSS3 VSL Sepolia Testnet Scan",url:"https://scan.testnet.rss3.io",standard:"EIP3091"}],2332:[{name:"SOMA Explorer Mainnet",icon:"soma",url:"https://somascan.io",standard:"none"}],2340:[{name:"Atleta Olympia Explorer",icon:"atleta",url:"https://blockscout.atleta.network",standard:"none"},{name:"Atleta Olympia Polka Explorer",icon:"atleta",url:"https://polkadot-explorer.atleta.network/#/explorer",standard:"none"}],2342:[{name:"OmniaVerse Explorer",url:"https://scan.omniaverse.io",standard:"EIP3091"}],2358:[{name:"blockscout",url:"https://blockscout.sepolia.kroma.network",icon:"kroma",standard:"EIP3091"}],2370:[{name:"Nexis Testnet Explorer",url:"https://evm-testnet.nexscan.io",standard:"EIP3091"}],2399:[{name:"bombscan-testnet",icon:"bomb",url:"https://explorer.bombchain-testnet.ankr.com",standard:"EIP3091"}],2400:[{name:"TCG Verse Explorer",url:"https://explorer.tcgverse.xyz",standard:"EIP3091"}],2410:[{name:"Karak Mainnet Explorer",url:"https://explorer.karak.network",standard:"EIP3091"}],2415:[{name:"XODEX Explorer",url:"https://explorer.xo-dex.com",standard:"EIP3091",icon:"xodex"}],2425:[{name:"King Of Legends Mainnet Explorer",url:"https://kingscan.org",icon:"kol",standard:"EIP3091"}],2442:[{name:"polygonscan",url:"https://cardona-zkevm.polygonscan.com",standard:"EIP3091"}],2458:[{name:"Hybrid Chain Explorer Testnet",icon:"hybrid",url:"https://testnet.hybridscan.ai",standard:"none"}],2468:[{name:"Hybrid Chain Explorer Mainnet",icon:"hybrid",url:"https://hybridscan.ai",standard:"none"}],2484:[{icon:"u2u_nebulas",name:"U2U Explorer",url:"https://testnet.u2uscan.xyz",standard:"EIP3091"}],2522:[{name:"fraxscan",url:"https://holesky.fraxscan.com",standard:"EIP3091"}],2569:[{name:"tpcscan",url:"https://tpcscan.com",icon:"techpay",standard:"EIP3091"}],2606:[{name:"Lite Explorer",url:"https://ethereum-pocr.github.io/explorer/pocrnet",icon:"pocr",standard:"EIP3091"}],2611:[{name:"REDLC Explorer",url:"https://redlightscan.finance",standard:"EIP3091"}],2612:[{name:"ezchain",url:"https://cchain-explorer.ezchain.com",standard:"EIP3091"}],2613:[{name:"ezchain",url:"https://testnet-cchain-explorer.ezchain.com",standard:"EIP3091"}],2625:[{name:"whitechain-testnet-explorer",url:"https://testnet.whitechain.io",standard:"EIP3091"}],2648:[{name:"blockscout",url:"https://testnet-explorer.ailayer.xyz",icon:"ailayer",standard:"EIP3091"}],2649:[{name:"blockscout",url:"https://mainnet-explorer.ailayer.xyz",icon:"ailayer",standard:"EIP3091"}],2710:[{name:"Morph Testnet Explorer",url:"https://explorer-testnet.morphl2.io",standard:"EIP3091"}],2718:[{name:"blockscout",url:"https://blockscout.klaos.laosfoundation.io",icon:"k-laos",standard:"EIP3091"}],2730:[{name:"XR Sepolia Explorer",url:"https://xr-sepolia-testnet.explorer.caldera.xyz",icon:"blockscout",standard:"EIP3091"}],2731:[{name:"Time Network Explorer",url:"https://testnet-scanner.timenetwork.io",standard:"none",icon:"timenet"}],2748:[{name:"Nanon Rollup Explorer",url:"https://explorer.nanon.network",standard:"EIP3091"}],2777:[{name:"GM Network Mainnet Explorer",url:"https://scan.gmnetwork.ai",standard:"EIP3091"}],2810:[{name:"Morph Holesky Testnet Explorer",url:"https://explorer-holesky.morphl2.io",standard:"EIP3091"}],2907:[{name:"blockscout",url:"https://eluxscan.com",standard:"none"}],2911:[{name:"blockscout",url:"https://explorer.hychain.com",icon:"hychain",standard:"EIP3091"}],2941:[{name:"Xenon testnet Explorer",url:"https://testnet.xenonchain.com",standard:"none"}],2999:[{name:"BitYuan Block Chain Explorer",url:"https://mainnet.bityuan.com",standard:"none"}],3001:[{name:"UNcover",url:"https://www.uncoverexplorer.com/?network=Nikau",standard:"none"}],3003:[{name:"canxium explorer",url:"https://explorer.canxium.org",standard:"none"}],3011:[{name:"PLAYA3ULL GAMES Explorer",url:"https://3011.routescan.io",icon:"playa3ull",standard:"EIP3091"}],3031:[{name:"Orlando (ORL) Explorer",url:"https://orlscan.com",icon:"orl",standard:"EIP3091"}],3033:[{name:"Rebus EVM Explorer (Blockscout)",url:"https://evm.testnet.rebus.money",icon:"rebus",standard:"none"},{name:"Rebus Cosmos Explorer (ping.pub)",url:"https://testnet.rebus.money/rebustestnet",icon:"rebus",standard:"none"}],3068:[{name:"explorer-thebifrost",url:"https://explorer.mainnet.bifrostnetwork.com",standard:"EIP3091"}],3073:[{name:"mevm explorer",url:"https://explorer.movementlabs.xyz",standard:"none"}],3084:[{name:"XL Network Explorer",url:"https://subnets-test.avax.network/xlnetworkt",standard:"EIP3091"}],3306:[{name:"Debounce Devnet Explorer",url:"https://explorer.debounce.network",standard:"EIP3091"}],3334:[{name:"w3q-galileo",url:"https://explorer.galileo.web3q.io",standard:"EIP3091"}],3338:[{name:"Subscan",url:"https://peaq.subscan.io",standard:"none"}],3400:[{name:"Paribu Net Explorer",url:"https://explorer.paribu.network",standard:"EIP3091"}],3424:[{name:"Evolve Mainnet Explorer",url:"https://evoexplorer.com",standard:"EIP3091"}],3434:[{name:"SecureChain",url:"https://testnet.securechain.ai",standard:"EIP3091"}],3456:[{name:"LayerEdge Testnet Explorer",url:"https://testnet-explorer.layeredge.io",icon:"layerEdge",standard:"EIP3091"}],3490:[{name:"GTCScan Explorer",url:"https://gtcscan.io",standard:"none",icon:"gtc"}],3500:[{name:"Paribu Net Testnet Explorer",url:"https://testnet.paribuscan.com",standard:"EIP3091"}],3501:[{name:"JFIN Chain Explorer",url:"https://exp.jfinchain.com",standard:"EIP3091"}],3601:[{name:"Pando Mainnet Explorer",url:"https://explorer.pandoproject.org",standard:"none"}],3602:[{name:"Pando Testnet Explorer",url:"https://testnet.explorer.pandoproject.org",standard:"none"}],3636:[{name:"3xpl",url:"https://3xpl.com/botanix",standard:"EIP3091"},{name:"Blockscout",url:"https://blockscout.botanixlabs.dev",standard:"EIP3091"}],3637:[{name:"Botanix",url:"https://btxtestchain.com",standard:"EIP3091"}],3639:[{name:"iChainscan",url:"https://ichainscan.com",standard:"EIP3091"}],3645:[{name:"iChainscan",url:"https://test.ichainscan.com",standard:"EIP3091"}],3666:[{name:"jscan",url:"https://jscan.jnsdao.com",standard:"EIP3091"}],3690:[{name:"bittexscan",url:"https://bittexscan.com",standard:"EIP3091"}],3693:[{name:"Empire Explorer",url:"https://explorer.empirenetwork.io",standard:"none"}],3698:[{name:"SenjePowers",url:"https://testnet.senjepowersscan.com",standard:"EIP3091"}],3699:[{name:"SenjePowers",url:"https://senjepowersscan.com",standard:"EIP3091"}],3737:[{name:"Crossbell Explorer",url:"https://scan.crossbell.io",standard:"EIP3091"}],3776:[{name:"Blockscout Astar zkEVM explorer",url:"https://astar-zkevm.explorer.startale.com",standard:"EIP3091"}],3797:[{name:"AlveyScan",url:"https://alveyscan.com",icon:"alveychain",standard:"EIP3091"}],3799:[{name:"ttntscan",url:"https://testnet-explorer.tangle.tools",icon:"blockscout",standard:"EIP3091"}],3888:[{name:"KalyScan",url:"https://kalyscan.io",standard:"EIP3091"}],3889:[{name:"KalyScan",url:"https://testnet.kalyscan.io",standard:"EIP3091"}],3912:[{name:"DRAC_Network Scan",url:"https://www.dracscan.io",standard:"EIP3091"}],3939:[{name:"DOScan-Test",url:"https://test.doscan.io",icon:"doschain",standard:"EIP3091"}],3966:[{name:"DYNO Explorer",url:"https://dynoscan.io",standard:"EIP3091"}],3967:[{name:"DYNO Explorer",url:"https://testnet.dynoscan.io",standard:"EIP3091"}],3993:[{name:"blockscout",url:"https://exp-testnet.apexlayer.xyz",standard:"EIP3091"}],3999:[{name:"YuanChain Explorer",url:"https://mainnet.yuan.org",standard:"none"}],4e3:[{name:"OZONE Scan",url:"https://ozonescan.io",standard:"EIP3091"}],4001:[{name:"Peperium Chain Explorer",url:"https://scan-testnet.peperium.io",icon:"peperium",standard:"EIP3091"}],4002:[{name:"ftmscan",url:"https://testnet.ftmscan.com",icon:"ftmscan",standard:"EIP3091"}],4003:[{name:"Blockscout",url:"https://explorer.x1-fastnet.xen.network",icon:"blockscout",standard:"EIP3091"}],4040:[{name:"Carbonium Network tesnet Explorer",icon:"cbr",url:"https://testnet.carboniumscan.com",standard:"none"}],4048:[{name:"ganscan",url:"https://ganscan.gpu.net",standard:"none"}],4058:[{name:"blockscout",url:"https://ocean.ftnscan.com",standard:"none"}],4061:[{name:"Nahmii 3 Mainnet Explorer",url:"https://explorer.nahmii.io",icon:"nahmii",standard:"EIP3091"}],4062:[{name:"Nahmii 3 Testnet Explorer",url:"https://explorer.testnet.nahmii.io",icon:"nahmii",standard:"EIP3091"}],4078:[{name:"Musterscan",url:"https://muster-explorer.alt.technology",standard:"EIP3091"}],4080:[{name:"tobescan",url:"https://tobescan.com",standard:"EIP3091"}],4090:[{name:"blockscout",url:"https://oasis.ftnscan.com",standard:"none"}],4096:[{name:"Bitindi",url:"https://testnet.bitindiscan.com",standard:"EIP3091"}],4099:[{name:"Bitindi",url:"https://bitindiscan.com",standard:"EIP3091"}],4102:[{name:"AIOZ Network Testnet Explorer",url:"https://testnet.explorer.aioz.network",standard:"EIP3091"}],4141:[{name:"Tipboxcoin",url:"https://testnet.tipboxcoin.net",standard:"EIP3091"}],4157:[{name:"CrossFi Testnet Scan",url:"https://test.xfiscan.com",standard:"EIP3091",icon:"crossfi"}],4162:[{name:"SX L2 Explorer",url:"https://explorerl2.sx.technology",standard:"EIP3091",icon:"SX"}],4181:[{name:"PHI Explorer",url:"https://explorer.phi.network",icon:"phi",standard:"none"}],4200:[{name:"L2scan",url:"https://scan.merlinchain.io",icon:"merlin",standard:"EIP3091"}],4201:[{name:"Blockscout",url:"https://explorer.execution.testnet.lukso.network",standard:"none"}],4202:[{name:"liskscout",url:"https://sepolia-blockscout.lisk.com",icon:"blockscout",standard:"EIP3091"}],4242:[{name:"nexiscan",url:"https://www.nexiscan.com",standard:"EIP3091"}],4243:[{name:"nexiscan",url:"https://www.nexiscan.com",standard:"EIP3091"}],4337:[{name:"Beam Explorer",url:"https://subnets.avax.network/beam",standard:"EIP3091"}],4400:[{name:"Creditscan",url:"https://scan.creditsmartchain.com",icon:"credit",standard:"EIP3091"}],4444:[{name:"htmlcoin",url:"https://explorer.htmlcoin.com",icon:"htmlcoin",standard:"none"}],4460:[{name:"basescout",url:"https://explorerl2new-orderly-l2-4460-sepolia-8tc3sd7dvy.t.conduit.xyz",icon:"blockscout",standard:"EIP3091"}],4544:[{name:"EMoney ethscan",url:"https://ethscan.emoney.network",icon:"emoney",standard:"EIP3091"}],4613:[{name:"VERY explorer",url:"https://www.veryscan.io",standard:"none"}],4689:[{name:"iotexscan",url:"https://iotexscan.io",standard:"EIP3091"}],4690:[{name:"testnet iotexscan",url:"https://testnet.iotexscan.io",standard:"EIP3091"}],4759:[{name:"MEVerse Chain Testnet Explorer",url:"https://testnet.meversescan.io",standard:"none",icon:"meverse"}],4777:[{name:"blockscout",url:"https://testnet-explorer.blackfort.network",icon:"blockscout",standard:"EIP3091"}],4893:[{name:"blockscout",url:"https://gcscan.io",standard:"none"}],4918:[{name:"Venidium EVM Testnet Explorer",url:"https://evm-testnet.venidiumexplorer.com",standard:"EIP3091"}],4919:[{name:"Venidium Explorer",url:"https://evm.venidiumexplorer.com",standard:"EIP3091"}],4999:[{name:"blockscout",url:"https://explorer.blackfort.network",icon:"blockscout",standard:"EIP3091"}],5e3:[{name:"mantlescan",url:"https://mantlescan.xyz",standard:"EIP3091"},{name:"Mantle Explorer",url:"https://explorer.mantle.xyz",standard:"EIP3091"}],5001:[{name:"Mantle Testnet Explorer",url:"https://explorer.testnet.mantle.xyz",standard:"EIP3091"}],5002:[{name:"Treasurenet EVM BlockExplorer",url:"https://evmexplorer.treasurenet.io",icon:"treasurenet",standard:"none"}],5003:[{name:"blockscout",url:"https://explorer.sepolia.mantle.xyz",standard:"EIP3091"}],5005:[{name:"Treasurenet EVM BlockExplorer",url:"https://evmexplorer.testnet.treasurenet.io",icon:"treasurenet",standard:"none"}],5039:[{name:"ONIGIRI Explorer",url:"https://subnets-test.avax.network/onigiri",standard:"EIP3091"}],5040:[{name:"ONIGIRI Explorer",url:"https://subnets.avax.network/onigiri",standard:"EIP3091"}],5051:[{name:"Nollie Skate Chain Testnet Explorer",url:"https://nolliescan.skatechain.org",standard:"EIP3091"}],5102:[{name:"blockscout",url:"https://explorerl2new-sic-testnet-zvr7tlkzsi.t.conduit.xyz",standard:"EIP3091"}],5106:[{name:"blockscout",url:"https://explorerl2new-azra-testnet-6hz86owb1n.t.conduit.xyz",standard:"EIP3091"}],5112:[{name:"blockscout",url:"https://explorer.ham.fun",icon:"blockscout",standard:"EIP3091"}],5151:[{name:"MeChain Scan",url:"https://testnet-scan.mechain.tech",icon:"mechain",standard:"EIP3091"}],5165:[{name:"blockscout",url:"https://ftnscan.com",standard:"none"}],5169:[{name:"SLN Mainnet Explorer",url:"https://explorer.main.smartlayer.network",standard:"EIP3091"}],5177:[{name:"TLChain Explorer",url:"https://explorer.tlchain.network",standard:"none"}],5234:[{name:"Subscan",url:"https://humanode.subscan.io",standard:"EIP3091",icon:"subscan"}],5317:[{name:"OpTrust Testnet explorer",url:"https://scantest.optrust.io",icon:"optrust",standard:"none"}],5321:[{name:"ITX Testnet Explorer (Blockscout)",url:"https://explorer.testnet.itxchain.com",standard:"EIP3091"}],5333:[{name:"netsbo",url:"https://explorer.netsbo.io",icon:"netsbo",standard:"none"}],5353:[{name:"TRITANIUM Testnet Explorer",icon:"tritanium",url:"https://testnet.tritanium.network",standard:"none"}],5372:[{name:"Settlus Scan",url:"https://testnet.settlus.network",standard:"EIP3091"}],5424:[{name:"edexa-mainnet",url:"https://explorer.edexa.network",standard:"EIP3091"}],5439:[{name:"egoscan",url:"https://egoscan.io",standard:"EIP3091"}],5522:[{name:"Vexascan-EVM-TestNet",url:"https://testnet.vexascan.com/evmexplorer",standard:"EIP3091"}],5551:[{name:"Nahmii 2 Mainnet Explorer",url:"https://explorer.n2.nahmii.io",icon:"nahmii",standard:"EIP3091"}],5555:[{name:"Chain Verse Explorer",url:"https://explorer.chainverse.info",standard:"EIP3091"}],5611:[{name:"bscscan-opbnb-testnet",url:"https://opbnb-testnet.bscscan.com",standard:"EIP3091"},{name:"opbnbscan",url:"https://opbnbscan.com",standard:"EIP3091"}],5615:[{name:"explorer-arcturus-testnet",url:"https://testnet.arcscan.net",standard:"EIP3091"}],5656:[{name:"QIE Explorer",url:"https://mainnet.qiblockchain.online",standard:"EIP3091"}],5675:[{name:"filenova testnet explorer",url:"https://scantest.filenova.org",icon:"filenova",standard:"none"}],5678:[{name:"BlockScout",url:"https://3001-blockscout.a.dancebox.tanssi.network",standard:"EIP3091"}],5700:[{name:"Syscoin Testnet Block Explorer",url:"https://tanenbaum.io",standard:"EIP3091"}],5729:[{name:"Hika Network Testnet Explorer",url:"https://scan-testnet.hika.network",standard:"none"}],5758:[{name:"SatoshiChain Testnet Explorer",url:"https://testnet.satoshiscan.io",standard:"EIP3091"}],5845:[{name:"Tangle EVM Explorer",url:"https://explorer.tangle.tools",standard:"EIP3091",icon:"tangle"}],5851:[{name:"explorer",url:"https://explorer.ont.io/testnet",standard:"EIP3091"}],5858:[{name:"CTH Scan",url:"https://cthscan.com",standard:"EIP3091",icon:"blockscout"}],5869:[{name:"wegoscan2",url:"https://scan2.wegochain.io",standard:"EIP3091"}],6e3:[{name:"BBScan Testnet Explorer",url:"https://bbscan.io",standard:"none"}],6001:[{name:"BBScan Mainnet Explorer",url:"https://bbscan.io",standard:"none"}],6065:[{name:"treslechesexplorer",url:"https://explorer-test.tresleches.finance",icon:"treslechesexplorer",standard:"EIP3091"}],6066:[{name:"treslechesexplorer",url:"https://explorer.tresleches.finance",icon:"treslechesexplorer",standard:"EIP3091"}],6102:[{name:"Cascadia EVM Explorer",url:"https://explorer.cascadia.foundation",standard:"none",icon:"cascadia"},{name:"Cascadia Cosmos Explorer",url:"https://validator.cascadia.foundation",standard:"none",icon:"cascadia"}],6118:[{name:"UPTN Testnet Explorer",url:"https://testnet.explorer.uptn.io",standard:"EIP3091"}],6119:[{name:"UPTN Explorer",url:"https://explorer.uptn.io",standard:"EIP3091"}],6283:[{name:"blockscout",url:"https://blockscout.laos.laosfoundation.io",icon:"blockscout",standard:"EIP3091"}],6321:[{name:"Aurascan Explorer",url:"https://euphoria.aurascan.io",standard:"none",icon:"aura"}],6322:[{name:"Aurascan Explorer",url:"https://aurascan.io",standard:"none",icon:"aura"}],6398:[{name:"Connext Sepolia",url:"https://connext-sepolia.blockscout.com",icon:"connext",standard:"none"}],6550:[{name:"flascan",url:"https://testnet.flascan.net",standard:"EIP3091"}],6552:[{name:"Scolscan Testnet Explorer",url:"https://testnet-explorer.scolcoin.com",standard:"EIP3091"}],6565:[{name:"FOX Testnet Explorer",icon:"fox",url:"https://testnet.foxscan.app",standard:"none"}],6626:[{name:"blockscout",url:"https://scan.chain.pixie.xyz",standard:"none"}],6660:[{name:"Latest Chain",url:"http://testnet.latestchain.io",standard:"EIP3091"}],6661:[{name:"Cybria Explorer",url:"https://cybascan.io",icon:"cybascan",standard:"EIP3091"}],6666:[{name:"Cybria Explorer",url:"https://explorer.cybascan.io",icon:"cybascan",standard:"EIP3091"}],6678:[{name:"blockscout",url:"https://emcscan.com",standard:"EIP3091"}],6688:[{name:"IRISHub Cosmos Explorer (IOBScan)",url:"https://irishub.iobscan.io",standard:"none",icon:"irishub"}],6701:[{name:"PAXB Explorer",url:"https://scan.paxb.io",icon:"paxb",standard:"EIP3091"}],6779:[{name:"cpvscan",url:"https://scan.compverse.io",standard:"EIP3091"}],6789:[{name:"Gold Smart Chain",url:"https://mainnet.goldsmartchain.com",standard:"EIP3091"}],6805:[{name:"blockscout",url:"https://racescan.io",icon:"blockscout",standard:"EIP3091"}],6806:[{name:"blockscout",url:"https://testnet.racescan.io",icon:"blockscout",standard:"EIP3091"}],6868:[{name:"poolsscan",url:"https://scan.poolsmobility.com",icon:"POOLS",standard:"EIP3091"}],6969:[{name:"tombscout",url:"https://tombscout.com",standard:"none"}],7e3:[{name:"ZetaChain Mainnet Explorer",url:"https://explorer.zetachain.com",standard:"none"}],7001:[{name:"ZetaScan",url:"https://athens.explorer.zetachain.com",standard:"none"},{name:"Blockscout",url:"https://zetachain-athens-3.blockscout.com",icon:"blockscout",standard:"EIP3091"}],7007:[{name:"blockscout",url:"https://bstscan.com",standard:"EIP3091"}],7027:[{name:"Ella",url:"https://ella.network",standard:"EIP3091"}],7070:[{name:"Planq EVM Explorer (Blockscout)",url:"https://evm.planq.network",standard:"none"},{name:"Planq Cosmos Explorer (BigDipper)",url:"https://explorer.planq.network",standard:"none"}],7100:[{name:"numeexplorer",url:"https://explorer.numecrypto.com",icon:"nume",standard:"none"}],7171:[{name:"Bitrock Explorer",url:"https://explorer.bit-rock.io",standard:"EIP3091"}],7244:[{name:"ZEUS Testnet Explorer",url:"https://testnet-explorer.zeuschainscan.io",icon:"zeusicon",standard:"EIP3091"}],7300:[{name:"XPLA Verse Explorer",url:"https://explorer-xpla-verse.xpla.dev",standard:"EIP3091"}],7332:[{name:"Horizen EON Block Explorer",url:"https://eon-explorer.horizenlabs.io",icon:"eon",standard:"EIP3091"}],7341:[{name:"Shyft BX",url:"https://bx.shyft.network",standard:"EIP3091"}],7484:[{name:"raba",url:"https://x.raba.app/explorer",standard:"none"}],7518:[{name:"MEVerse Chain Explorer",url:"https://www.meversescan.io",standard:"none",icon:"meverse"}],7560:[{name:"Cyber Mainnet Explorer",url:"https://cyberscan.co",standard:"EIP3091"}],7575:[{name:"ADIL Testnet Explorer",url:"https://testnet.adilchain-scan.io",standard:"EIP3091"}],7576:[{name:"ADIL Mainnet Explorer",url:"https://adilchain-scan.io",standard:"EIP3091"}],7668:[{name:"rootnet",url:"https://explorer.rootnet.live",standard:"EIP3091"}],7672:[{name:"rootnet",url:"https://explorer.rootnet.cloud",standard:"EIP3091"}],7700:[{name:"Canto Explorer (OKLink)",url:"https://www.oklink.com/canto",standard:"EIP3091"},{name:"Canto EVM Explorer (Blockscout)",url:"https://tuber.build",standard:"EIP3091"},{name:"dexguru",url:"https://canto.dex.guru",icon:"dexguru",standard:"EIP3091"}],7701:[{name:"Canto Testnet EVM Explorer (Blockscout)",url:"https://testnet.tuber.build",standard:"none"},{name:"dexguru",url:"https://canto-test.dex.guru",icon:"dexguru",standard:"EIP3091"}],7771:[{name:"Bitrock Testnet Explorer",url:"https://testnetscan.bit-rock.io",standard:"EIP3091"}],7774:[{name:"GDCC",url:"https://gdccscan.io",standard:"none"}],7775:[{name:"GDCC",url:"https://testnet.gdccscan.io",standard:"none"}],7776:[{name:"Tracehawk",url:"https://pandaseascan.com",standard:"none"}],7777:[{name:"avascan",url:"https://testnet.avascan.info/blockchain/2mZ9doojfwHzXN3VXDQELKnKyZYxv7833U8Yq5eTfFx3hxJtiy",standard:"none"}],7778:[{name:"ORE Mainnet Explorer",icon:"ore",url:"https://oreniumscan.org",standard:"none"}],7798:[{name:"OpenEX Long Testnet Explorer",url:"https://scan.long.openex.network",icon:"oex",standard:"EIP3091"}],7860:[{name:"maalscan testnet",url:"https://testnet.maalscan.io",standard:"EIP3091"}],7862:[{name:"maalscan",url:"https://maalscan.io",standard:"EIP3091"}],7863:[{name:"maalscan testnet",url:"https://new-testnet.maalscan.io",standard:"EIP3091"}],7878:[{name:"Hazlor Testnet Explorer",url:"https://explorer.hazlor.com",standard:"none"}],7887:[{name:"Kinto Explorer",url:"https://explorer.kinto.xyz",icon:"kinto",standard:"EIP3091"}],7895:[{name:"ARDENIUM Athena Explorer",icon:"ard",url:"https://testnet.ardscan.com",standard:"none"}],7923:[{name:"blockscout",url:"https://explorer.dotblox.io",standard:"none"}],7924:[{name:"MO Explorer",url:"https://moscan.app",standard:"none"}],7979:[{name:"DOScan",url:"https://doscan.io",icon:"doschain",standard:"EIP3091"}],8e3:[{name:"Teleport EVM Explorer (Blockscout)",url:"https://evm-explorer.teleport.network",standard:"none",icon:"teleport"},{name:"Teleport Cosmos Explorer (Big Dipper)",url:"https://explorer.teleport.network",standard:"none",icon:"teleport"}],8001:[{name:"Teleport EVM Explorer (Blockscout)",url:"https://evm-explorer.testnet.teleport.network",standard:"none",icon:"teleport"},{name:"Teleport Cosmos Explorer (Big Dipper)",url:"https://explorer.testnet.teleport.network",standard:"none",icon:"teleport"}],8008:[{name:"Polynomial Explorer",url:"https://polynomialscan.io",standard:"none",icon:"polynomial"}],8047:[{name:"BOAT Mainnet Explorer",url:"https://scan.come.boats",icon:"boat",standard:"EIP3091"}],8054:[{name:"Karak Sepolia Explorer",url:"https://explorer.sepolia.karak.network",standard:"EIP3091"}],8080:[{name:"Shardeum Scan",url:"https://explorer-liberty10.shardeum.org",standard:"EIP3091"}],8081:[{name:"Shardeum Scan",url:"https://explorer-liberty20.shardeum.org",standard:"EIP3091"}],8082:[{name:"Shardeum Scan",url:"https://explorer-sphinx.shardeum.org",standard:"EIP3091"}],8131:[{name:"meerscan testnet",icon:"meer",url:"https://testnet-qng.qitmeer.io",standard:"EIP3091"}],8181:[{name:"Testnet BeOne Chain",url:"https://testnet.beonescan.com",icon:"beonechain",standard:"none"}],8192:[{name:"blockscout",url:"https://toruscan.com",icon:"blockscout",standard:"EIP3091"}],8194:[{name:"blockscout",url:"https://testnet.toruscan.com",icon:"blockscout",standard:"EIP3091"}],8217:[{name:"Klaytnscope",url:"https://scope.klaytn.com",standard:"EIP3091"},{name:"Klaytnfinder",url:"https://klaytnfinder.io",standard:"EIP3091"}],8227:[{name:"SPACE Explorer",url:"https://subnets.avax.network/space",standard:"EIP3091"}],8272:[{name:"Blockton Explorer",url:"https://blocktonscan.com",standard:"none"}],8329:[{name:"Lorenzo Explorer",url:"https://scan.lorenzo-protocol.xyz",standard:"none",icon:"lorenzo"}],8333:[{name:"Blockscout",url:"https://explorer.b3.fun",standard:"EIP3091"}],8453:[{name:"basescan",url:"https://basescan.org",standard:"none"},{name:"basescout",url:"https://base.blockscout.com",icon:"blockscout",standard:"EIP3091"},{name:"dexguru",url:"https://base.dex.guru",icon:"dexguru",standard:"EIP3091"}],8668:[{name:"Hela Official Runtime Mainnet Explorer",url:"https://mainnet-blockexplorer.helachain.com",standard:"EIP3091"}],8723:[{name:"OLO Block Explorer",url:"https://www.olo.network",standard:"EIP3091"}],8726:[{name:"Storscan",url:"https://explorer-storagechain.invo.zone/?network=StorageChain",standard:"none"}],8727:[{name:"Storscan",url:"https://explorer-storagechain.invo.zone/?network=StorageChain%20Testnet",standard:"none"}],8732:[{name:"Bullionscan",url:"https://bullionscan.org",standard:"EIP3091"}],8738:[{name:"alphscan",url:"https://explorer.alph.network",standard:"EIP3091"}],8822:[{name:"explorer",url:"https://explorer.evm.iota.org",icon:"iotaevm",standard:"EIP3091"}],8844:[{name:"Hydra Chain Testnet explorer",url:"https://hydragon.hydrachain.org",icon:"hydra",standard:"EIP3091"}],8848:[{name:"MARO Scan",url:"https://scan.ma.ro/#",standard:"none"}],8866:[{name:"Lumio explorer",url:"https://explorer.lumio.io",standard:"none"}],8869:[{name:"lif3scout",url:"https://lif3scout.com",standard:"none"}],8880:[{name:"Unique Scan",url:"https://uniquescan.io/unique",standard:"none"}],8881:[{name:"Unique Scan / Quartz",url:"https://uniquescan.io/quartz",standard:"none"}],8882:[{name:"Unique Scan / Opal",url:"https://uniquescan.io/opal",standard:"none"}],8883:[{name:"Unique Scan / Sapphire",url:"https://uniquescan.io/sapphire",standard:"none"}],8886:[{name:"Avenium Explorer Testnet",icon:"avenium",url:"https://testnet.avescan.net",standard:"none"}],8888:[{name:"XANAChain",url:"https://xanachain.xana.net",standard:"EIP3091"}],8890:[{name:"ORE Testnet Explorer",icon:"ore",url:"https://testnet.oreniumscan.org",standard:"none"}],8898:[{name:"mmtscan",url:"https://mmtscan.io",standard:"EIP3091",icon:"mmt"}],8899:[{name:"JIBCHAIN Explorer",url:"https://exp-l1.jibchain.net",standard:"EIP3091"}],8911:[{name:"algscan",url:"https://scan.algen.network",icon:"alg",standard:"EIP3091"}],8912:[{name:"algscan",url:"https://scan.test.algen.network",icon:"alg",standard:"EIP3091"}],8921:[{name:"algl2scan",url:"https://scan.alg2.algen.network",icon:"algl2",standard:"EIP3091"}],8922:[{name:"algl2scan",url:"https://scan.alg2-test.algen.network",icon:"algl2",standard:"EIP3091"}],8989:[{name:"gmmtscan",url:"https://scan.gmmtchain.io",standard:"EIP3091",icon:"gmmt"}],9e3:[{name:"Evmos Explorer (Escan)",url:"https://testnet.escan.live",standard:"none",icon:"evmos"}],9001:[{name:"Evmos Explorer (Escan)",url:"https://escan.live",standard:"none",icon:"evmos"}],9007:[{name:"Shidoblock Testnet Explorer",url:"https://testnet.shidoscan.com",standard:"none",icon:"shidoChain"}],9008:[{name:"Shidoblock Mainnet Explorer",url:"https://shidoscan.com",standard:"none",icon:"shidoChain"}],9012:[{name:"berylbit-explorer",url:"https://explorer.berylbit.io",standard:"EIP3091"}],9024:[{name:"Nexablock Testnet Explorer",url:"https://testnet.nexablockscan.io",standard:"none",icon:"nexaChain"}],9025:[{name:"Nexablock Mainnet Explorer",url:"https://nexablockscan.io",standard:"none",icon:"nexaChain"}],9223:[{name:"Codefin Net Explorer",url:"https://explorer.codefin.pro",standard:"EIP3091"}],9339:[{name:"Dogcoin",url:"https://testnet.dogcoin.network",standard:"EIP3091"}],9372:[{name:"blockscout",url:"https://explorer.testnet.oasys.games",standard:"EIP3091"}],9393:[{name:"basescout",url:"https://sepolia-delascan.deperp.com",icon:"blockscout",standard:"EIP3091"}],9395:[{name:"Evoke SmartChain Explorer",url:"https://explorer.evokescan.org",standard:"EIP3091"}],9496:[{name:"WeaveVM Explorer",url:"https://explorer.wvm.dev",standard:"EIP3091"}],9527:[{name:"rangersscan-robin",url:"https://robin-rangersscan.rangersprotocol.com",standard:"none"}],9528:[{name:"QEasyWeb3 Explorer",url:"https://www.qeasyweb3.com",standard:"EIP3091"}],9559:[{name:"Neon Blockchain Explorer",url:"https://testnet-scan.neonlink.io",standard:"EIP3091",icon:"neonlink"}],9700:[{name:"Oort MainnetDev Scan",url:"https://dev-scan.oortech.com",standard:"none",icon:"oort"}],9728:[{name:"Boba BNB Testnet block explorer",url:"https://testnet.bobascan.com",standard:"none"}],9768:[{name:"MainnetZ",url:"https://testnet.mainnetz.io",standard:"EIP3091"}],9779:[{name:"Pepe Explorer",url:"https://explorer.pepenetwork.io",icon:"pepenetwork",standard:"none"}],9789:[{name:"Tabi Testnet Explorer",url:"https://testnet.tabiscan.com",standard:"none"}],9797:[{name:"OptimusZ7 Mainnet Explorer",url:"https://explorer.optimusz7.com",standard:"EIP3091"}],9818:[{name:"IMPERIUM TESTNET Explorer",icon:"timp",url:"https://network.impscan.com",standard:"none"}],9819:[{name:"IMPERIUM Explorer",icon:"imp",url:"https://impscan.com",standard:"none"}],9876:[{name:"BinaryChain Testnet Explorer",url:"https://explorer.testnet.binarychain.org",standard:"EIP3091"}],9888:[{name:"Dogelayer mainnet explorer",url:"https://dl-explorer.dogelayer.org",standard:"EIP3091"}],9898:[{name:"Larissa Scan",url:"https://scan.larissa.network",standard:"EIP3091"}],9911:[{name:"escscan",url:"https://escscan.com",icon:"espento",standard:"EIP3091"}],9977:[{name:"Mind Chain explorer",url:"https://testnet.mindscan.info",standard:"EIP3091"}],9980:[{name:"combotrace explorer",url:"https://combotrace.nodereal.io",standard:"EIP3091"}],9981:[{name:"Volley Mainnet Explorer",url:"https://volleyscan.io",standard:"EIP3091"}],9990:[{name:"Polkadot.js",url:"https://polkadot.js.org/apps/?rpc=wss://wsspc1-qa.agung.peaq.network#/explorer",standard:"none"},{name:"Subscan",url:"https://agung.subscan.io",standard:"none"}],9996:[{name:"Mind Chain explorer",url:"https://mainnet.mindscan.info",standard:"EIP3091"}],9997:[{name:"blockscout",url:"https://testnet-rollup-explorer.altlayer.io",icon:"blockscout",standard:"EIP3091"}],10024:[{name:"Gon Explorer",url:"https://gonscan.com",standard:"none"}],10081:[{name:"Testnet Block Explorer",url:"https://explorer.testnet.japanopenchain.org",standard:"EIP3091"}],10096:[{name:"Blockscout",url:"https://explorer.metanovaverse.com",standard:"EIP3091"},{name:"Cosmos Explorer (Ping)",url:"https://ping.metanovaverse.com/metanovaverse",standard:"none"}],10200:[{name:"blockscout-chiadochain",url:"https://blockscout.chiadochain.net",icon:"blockscout",standard:"EIP3091"},{name:"blockscout",url:"https://gnosis-chiado.blockscout.com",icon:"blockscout",standard:"EIP3091"}],10201:[{name:"MaxxChain Block Explorer",url:"https://explorer.maxxchain.org",standard:"EIP3091"}],10222:[{name:"GLScan Explorer",url:"https://glscan.io",standard:"none",icon:"glc"}],10242:[{name:"blockscout",url:"https://explorer.arthera.net",icon:"blockscout",standard:"EIP3091"}],10243:[{name:"blockscout",url:"https://explorer-test.arthera.net",icon:"blockscout",standard:"EIP3091"}],10248:[{name:"0xtrade Scan",url:"https://www.0xtscan.com",standard:"none"}],10321:[{name:"TAO Mainnet Explorer",url:"https://taoscan.org",standard:"EIP3091"}],10324:[{name:"TAO Testnet Explorer",url:"https://testnet.taoscan.org",standard:"EIP3091"}],10395:[{name:"Worldland Explorer",url:"https://testscan.worldland.foundation",standard:"EIP3091"}],10507:[{name:"ethernal",url:"https://mainnet.num.network",standard:"EIP3091"}],10508:[{name:"ethernal",url:"https://testnet.num.network",standard:"EIP3091"}],10823:[{name:"CCP Explorer",url:"https://cryptocoinpay.info",standard:"EIP3091"}],10849:[{name:"Lamina1 Explorer",url:"https://subnets.avax.network/lamina1",standard:"EIP3091"}],10850:[{name:"Lamina1 Identity Explorer",url:"https://subnets.avax.network/lamina1id",standard:"EIP3091"}],10946:[{name:"explorer",url:"https://explorer.quadrans.io",icon:"quadrans",standard:"EIP3091"}],10947:[{name:"explorer",url:"https://explorer.testnet.quadrans.io",icon:"quadrans",standard:"EIP3091"}],11011:[{name:"blockscout",url:"https://shape-sepolia-explorer.alchemy.com",standard:"EIP3091"}],11110:[{name:"Astra EVM Explorer (Blockscout)",url:"https://explorer.astranaut.io",standard:"none",icon:"astra"},{name:"Astra PingPub Explorer",url:"https://ping.astranaut.io/astra",standard:"none",icon:"astra"}],11111:[{name:"Avalanche Subnet Explorer",url:"https://subnets-test.avax.network/wagmi",standard:"EIP3091"}],11115:[{name:"Astra EVM Explorer",url:"https://explorer.astranaut.dev",standard:"EIP3091",icon:"astra"},{name:"Astra PingPub Explorer",url:"https://ping.astranaut.dev/astra",standard:"none",icon:"astra"}],11119:[{name:"hashbitscan",url:"https://explorer.hashbit.org",standard:"EIP3091"}],11124:[{name:"Abstract Block Explorer",url:"https://explorer.testnet.abs.xyz",standard:"none"}],11221:[{name:"shinescan",url:"https://shinescan.io",icon:"shine",standard:"none"}],11227:[{name:"JIRITSUTES Explorer",url:"https://subnets-test.avax.network/jiritsutes",standard:"EIP3091"}],11235:[{name:"Mainnet HAQQ Explorer",url:"https://explorer.haqq.network",standard:"EIP3091"}],11437:[{name:"Shyft Testnet BX",url:"https://bx.testnet.shyft.network",standard:"EIP3091"}],11501:[{name:"bevm mainnet scan",url:"https://scan-mainnet.bevm.io",standard:"none"}],11503:[{name:"bevm testnet scan",url:"https://scan-testnet.bevm.io",standard:"none"}],11521:[{name:"satschain scan",url:"https://scan-satschain.bevm.io",standard:"none"}],11612:[{name:"Sardis",url:"https://testnet.sardisnetwork.com",standard:"EIP3091"}],11822:[{name:"ArtelaScan",url:"https://betanet-scan.artela.network",standard:"EIP3091"}],11891:[{name:"Polygon Supernet Arianee Explorer",url:"https://polygonsupernet.explorer.arianee.net",standard:"EIP3091"}],12001:[{name:"Blockscout",url:"https://explorer.flash.fuse.io",standard:"none"}],12009:[{name:"SatoshiChain Explorer",url:"https://satoshiscan.io",standard:"EIP3091"}],12020:[{name:"blockscout",url:"https://explorer.aternoschain.com",icon:"blockscout",standard:"EIP3091"}],12051:[{name:"zeroscan",url:"https://betaenv.singularity.gold:18002",standard:"EIP3091"}],12052:[{name:"zeroscan",url:"https://zeroscan.singularity.gold",standard:"EIP3091"}],12123:[{name:"BRC Chain Explorer",url:"https://scan.brcchain.io",standard:"EIP3091"}],12306:[{name:"fiboscan",url:"https://scan.fibochain.org",standard:"EIP3091"}],12324:[{name:"L3X Mainnet Explorer",url:"https://explorer.l3x.com",standard:"EIP3091"}],12325:[{name:"L3X Testnet Explorer",url:"https://explorer-testnet.l3x.com",standard:"EIP3091"}],12345:[{name:"StepScan",url:"https://testnet.stepscan.io",icon:"step",standard:"EIP3091"}],12553:[{name:"RSS3 VSL Scan",url:"https://scan.rss3.io",standard:"EIP3091"}],12715:[{name:"Rikeza Blockchain explorer",url:"https://testnet.rikscan.com",standard:"EIP3091"}],12781:[{name:"Playdapp Testnet Explorer",url:"https://subnets-test.avax.network/playdappte",standard:"EIP3091"}],12890:[{name:"Quantum Scan Testnet",url:"https://testnet.quantumscan.org",standard:"EIP3091"}],12898:[{name:"Avalanche Subnet Explorer",url:"https://subnets-test.avax.network/letsplayfair",standard:"EIP3091"}],13e3:[{name:"SPS Explorer",url:"http://spsscan.ssquad.games",standard:"EIP3091"}],13308:[{name:"Creditscan",url:"https://scan.creditsmartchain.com",icon:"credit",standard:"EIP3091"}],13337:[{name:"Beam Explorer",url:"https://subnets-test.avax.network/beam",standard:"EIP3091"}],13371:[{name:"Immutable explorer",url:"https://explorer.immutable.com",standard:"EIP3091",icon:"immutable"}],13381:[{name:"phoenixplorer",url:"https://phoenixplorer.com",standard:"EIP3091"}],13396:[{name:"Masa Explorer",url:"https://subnets.avax.network/masa",standard:"EIP3091"}],13473:[{name:"Immutable Testnet explorer",url:"https://explorer.testnet.immutable.com",standard:"EIP3091",icon:"immutable"}],13505:[{name:"Gravity Alpha Testnet Sepolia Explorer",url:"https://explorer-sepolia.gravity.xyz",standard:"EIP3091"}],13600:[{name:"qbitscan",url:"https://explorer.qbitscan.com",icon:"kronobit",standard:"EIP3091"}],13812:[{name:"Susono",url:"http://explorer.opn.network",standard:"none"}],14e3:[{name:"SPS Test Explorer",url:"https://explorer.3sps.net",standard:"EIP3091"}],14324:[{name:"Evolve Testnet Explorer",url:"https://testnet.evolveblockchain.io",standard:"EIP3091"}],14333:[{name:"Vitruveo Testnet Explorer",url:"https://test-explorer.vitruveo.xyz",icon:"vitruveo",standard:"EIP3091"}],14801:[{name:"satoriscan",url:"https://satori.vanascan.io",standard:"EIP3091"}],15003:[{name:"Immutable Devnet explorer",url:"https://explorer.dev.immutable.com",standard:"EIP3091",icon:"immutable"}],15257:[{name:"Poodl Testnet Explorer",url:"https://testnet.poodl.org",standard:"EIP3091"}],15259:[{name:"Poodl Mainnet Explorer",url:"https://explorer.poodl.org",standard:"EIP3091"}],15430:[{name:"KYMTC Mainnet Explorer",url:"https://kymaticscan.online",icon:"kymtc",standard:"EIP3091"}],15551:[{name:"loopscan",url:"http://explorer.mainnetloop.com",standard:"none"}],15555:[{name:"Trust EVM Explorer",url:"https://trustscan.one",standard:"EIP3091"}],15557:[{name:"EOS EVM Explorer",url:"https://explorer.testnet.evm.eosnetwork.com",standard:"EIP3091"}],16116:[{name:"DeFiVerse Explorer",url:"https://scan.defi-verse.org",icon:"defiverse",standard:"EIP3091"}],16166:[{name:"Testnet Block Explorer",url:"https://cypherium.tryethernal.com",standard:"EIP3091"}],16180:[{name:"Avalanche Subnet Explorer",url:"https://subnets.avax.network/plyr",standard:"EIP3091"}],16481:[{name:"Pivotal Scan",url:"https://sepolia.pivotalscan.xyz",standard:"EIP3091"}],16507:[{name:"GchainExplorer",url:"https://gchainexplorer.genesys.network",standard:"EIP3091"}],16600:[{name:"0G Chain Explorer",url:"https://chainscan-newton.0g.ai",standard:"none"}],16688:[{name:"IRISHub Testnet Cosmos Explorer (IOBScan)",url:"https://nyancat.iobscan.io",standard:"none",icon:"nyancat"}],16718:[{name:"AirDAO Network Explorer",url:"https://airdao.io/explorer",standard:"none"}],16888:[{name:"ivarscan",url:"https://testnet.ivarscan.com",standard:"EIP3091"}],17e3:[{name:"Holesky Explorer",url:"https://holesky.beaconcha.in",icon:"ethereum",standard:"EIP3091"},{name:"otterscan-holesky",url:"https://holesky.otterscan.io",icon:"ethereum",standard:"EIP3091"},{name:"Holesky Etherscan",url:"https://holesky.etherscan.io",icon:"ethereum",standard:"EIP3091"}],17069:[{name:"blockscout",url:"https://explorer.garnetchain.com",icon:"blockscout",standard:"EIP3091"}],17071:[{name:"blockscout",url:"https://explorer.onchainpoints.xyz",icon:"blockscout",standard:"EIP3091"}],17117:[{name:"DeFiVerse Testnet Explorer",url:"https://scan-testnet.defi-verse.org",icon:"defiverse",standard:"EIP3091"}],17171:[{name:"G8Chain",url:"https://mainnet.oneg8.network",standard:"EIP3091"}],17172:[{name:"ECLIPSE Explorer",url:"https://subnets-test.avax.network/eclipse",standard:"EIP3091"}],17180:[{name:"Palettescan",url:"https://testnet.palettescan.com",icon:"PLT",standard:"none"}],17217:[{name:"konet-explorer",url:"https://explorer.kon-wallet.com",standard:"EIP3091"}],17777:[{name:"EOS EVM Explorer",url:"https://explorer.evm.eosnetwork.com",standard:"EIP3091"}],18e3:[{name:"Game Network",url:"https://explorer.fod.games",standard:"EIP3091"}],18122:[{name:"stnscan",url:"https://stnscan.com",icon:"stn",standard:"none"}],18159:[{name:"explorer-proofofmemes",url:"https://memescan.io",standard:"EIP3091"}],18181:[{name:"G8Chain",url:"https://testnet.oneg8.network",standard:"EIP3091"}],18233:[{name:"blockscout",url:"https://unreal.blockscout.com",icon:"unreal",standard:"EIP3091"}],18686:[{name:"MXC zkEVM Moonchain",url:"https://explorer.moonchain.com",standard:"EIP3091"}],18888:[{name:"Titan Explorer",url:"https://tkxscan.io/Titan",standard:"none",icon:"titan_tkx"}],18889:[{name:"Titan Explorer",url:"https://titan-testnet-explorer-light.titanlab.io/Titan%20Testnet",standard:"none",icon:"titan_tkx"}],19011:[{name:"HOME Verse Explorer",url:"https://explorer.oasys.homeverse.games",standard:"EIP3091"}],19077:[{name:"BlockX EVM Explorer (Blockscout)",url:"https://testnet-explorer.blockxnet.com",standard:"EIP3091"},{name:"BlockX Cosmos Explorer (Ping)",url:"https://ping.blockxnet.com/blockx-atlantis-testnet",standard:"none"}],19191:[{name:"BlockX EVM Explorer (Blockscout)",url:"https://explorer.blockxnet.com",standard:"EIP3091"},{name:"BlockX Cosmos Explorer (Ping)",url:"https://ping.blockxnet.com/blockx",standard:"none"}],19224:[{name:"Decentraconnect Social",url:"https://decentraconnect.io",standard:"EIP3091"}],19600:[{name:"LBRY Block Explorer",url:"https://explorer.lbry.com",icon:"lbry",standard:"none"}],19845:[{name:"BTCIXScan",url:"https://btcixscan.com",standard:"none"}],20001:[{name:"CamelarkScan",url:"https://scan.camelark.com",standard:"EIP3091"}],20041:[{name:"NizaScan",url:"https://nizascan.io",standard:"EIP3091"}],20073:[{name:"NizaScan",url:"https://testnet.nizascan.io",standard:"EIP3091"}],20736:[{name:"P12 Chain Explorer",url:"https://explorer.p12.games",standard:"EIP3091"}],20765:[{name:"JONO11 Explorer",url:"https://subnets-test.avax.network/jono11",standard:"EIP3091"}],21004:[{name:"C4EI sirato",url:"https://exp.c4ei.net",icon:"c4ei",standard:"none"}],21133:[{name:"AAH Blockscout",url:"https://exp.c4ex.net",icon:"aah",standard:"EIP3091"}],21223:[{name:"DCpay Mainnet Explorer",url:"https://mainnet.dcpay.io",standard:"EIP3091"}],21224:[{name:"DCpay Testnet Explorer",url:"https://testnet.dcpay.io",standard:"EIP3091"}],21337:[{name:"UNcover",url:"https://uncoverexplorer.com",standard:"none"}],21363:[{name:"Lestnet Explorer",url:"https://explore.lestnet.org",icon:"blockscout",standard:"EIP3091"}],21816:[{name:"omChain Explorer",url:"https://explorer.omchain.io",standard:"EIP3091"}],21912:[{name:"BSL Mainnet Explorer",url:"https://scan.nftruth.io",standard:"EIP3091"}],22023:[{name:"Taycan Explorer(Blockscout)",url:"https://taycan-evmscan.hupayx.io",standard:"none",icon:"shuffle"},{name:"Taycan Cosmos Explorer(BigDipper)",url:"https://taycan-cosmoscan.hupayx.io",standard:"none",icon:"shuffle"}],22040:[{name:"AirDAO Network Explorer",url:"https://testnet.airdao.io/explorer",standard:"none"}],22222:[{name:"Nautscan",url:"https://nautscan.com",standard:"EIP3091",icon:"nautilus"}],22324:[{name:"GoldXChain Testnet Explorer",url:"https://testnet-explorer.goldxchain.io",standard:"EIP3091"}],22776:[{name:"maposcan",url:"https://maposcan.io",standard:"EIP3091"}],23006:[{name:"Antofy Testnet",url:"https://test.antofyscan.com",standard:"EIP3091"}],23118:[{name:"opsideInfo",url:"https://opside.info",standard:"EIP3091"}],23294:[{name:"Oasis Sapphire Explorer",url:"https://explorer.oasis.io/mainnet/sapphire",standard:"EIP3091"}],23295:[{name:"Oasis Sapphire Testnet Explorer",url:"https://explorer.oasis.io/testnet/sapphire",standard:"EIP3091"}],23451:[{name:"drxscan",url:"https://scan.dreyerx.com",icon:"dreyerx",standard:"EIP3091"}],23452:[{name:"drxscan",url:"https://testnet-scan.dreyerx.com",icon:"dreyerx",standard:"EIP3091"}],23888:[{name:"Blast Testnet",url:"http://testnet-explorer.blastblockchain.com",standard:"EIP3091"}],24076:[{name:"KYMTC Testnet Explorer",url:"https://testnet-explorer.kymaticscan.online",icon:"kymtc",standard:"EIP3091"}],25186:[{name:"LiquidLayer Mainnet Explorer",url:"https://scan.liquidlayer.network",standard:"EIP3091"}],25839:[{name:"AlveyScan Testnet",url:"https://alveytestnet.com",icon:"alveychain",standard:"EIP3091"}],25888:[{name:"Hammer Chain Explorer",url:"https://www.hammerchain.io",standard:"none"}],25925:[{name:"bkcscan-testnet",url:"https://testnet.bkcscan.com",standard:"none",icon:"bkc"}],26026:[{name:"polkadotjs",url:"https://polkadot.js.org/apps/?rpc=wss%3A%2F%2Ftestnet.dev.svcs.ferrumnetwork.io#/explorer",standard:"none"}],26482:[{name:"Blockscout",url:"https://explorer-testnet.ducatusx.com",icon:"blockscout",standard:"EIP3091"}],26483:[{name:"Blockscout",url:"https://explorer.ducatusx.com",icon:"blockscout",standard:"EIP3091"}],26600:[{name:"Hertz Scan",url:"https://hertzscan.com",icon:"hertz-network",standard:"EIP3091"}],26863:[{name:"OasisChain Explorer",url:"https://scan.oasischain.io",standard:"EIP3091"}],27181:[{name:"blockscout",url:"https://blockscout.klaosnova.laosfoundation.io",icon:"k-laos",standard:"EIP3091"}],27483:[{name:"Nanon Sepolia Rollup Testnet Explorer",url:"https://sepolia-explorer.nanon.network",standard:"EIP3091"}],27827:[{name:"ZEROONEMAI Explorer",url:"https://subnets.avax.network/zeroonemai",standard:"EIP3091"}],28516:[{name:"blockscout",url:"https://explorer-sepolia.vizing.com",icon:"vizing",standard:"EIP3091"}],28518:[{name:"blockscout",url:"https://explorer.vizing.com",icon:"vizing",standard:"EIP3091"}],28528:[{name:"blockscout",url:"https://blockscout.com/optimism/bedrock-alpha",standard:"EIP3091"}],28882:[{name:"Bobascan",url:"https://testnet.bobascan.com",standard:"none"}],29112:[{name:"blockscout",url:"https://testnet.explorer.hychain.com",icon:"hychain",standard:"EIP3091"}],29223:[{name:"NexaShell",url:"https://nexa.sh",standard:"none",icon:"nexashell"}],29536:[{name:"KaiChain Explorer",url:"https://testnet-explorer.kaichain.net",standard:"EIP3091"}],29548:[{name:"MCH Verse Explorer",url:"https://explorer.oasys.mycryptoheroes.net",standard:"EIP3091"}],30067:[{name:"Piece Scan",url:"https://testnet-scan.piecenetwork.com",standard:"EIP3091"}],30088:[{name:"MiYou block explorer",url:"https://myscan.miyou.io",standard:"EIP3091"}],30103:[{name:"canxium explorer",url:"https://cerium-explorer.canxium.net",standard:"none"}],30730:[{name:"mevm explorer",url:"https://explorer.movementlabs.xyz",standard:"none"}],30731:[{name:"mevm explorer",url:"https://explorer.movementlabs.xyz",standard:"none"}],30732:[{name:"mevm explorer",url:"https://explorer.testnet.imola.movementlabs.xyz",standard:"none"}],31223:[{name:"cloudtxscan",url:"https://scan.cloudtx.finance",standard:"EIP3091"}],31224:[{name:"cloudtxexplorer",url:"https://explorer.cloudtx.finance",standard:"EIP3091"}],31337:[{name:"GoChain Testnet Explorer",url:"https://testnet-explorer.gochain.io",standard:"EIP3091"}],31414:[{name:"Evoke SmartChain Testnet Explorer",url:"https://testnet-explorer.evokescan.org",standard:"EIP3091"}],31753:[{name:"Xchain Mainnet Explorer",url:"https://xchainscan.com",standard:"EIP3091"}],31754:[{name:"Xchain Testnet Explorer",url:"https://xchaintest.net",standard:"EIP3091"}],32001:[{name:"W3Gamez Holesky Explorer",url:"https://w3gamez-holesky.web3games.com",icon:"web3games",standard:"EIP3091"}],32382:[{name:"Santiment Intelligence Explorer",url:"https://app-explorer-pos.sanr.app",standard:"none"}],32520:[{name:"Brise Scan",url:"https://brisescan.com",icon:"brise",standard:"EIP3091"}],32659:[{name:"fsnscan",url:"https://fsnscan.com",icon:"fsnscan",standard:"EIP3091"}],32769:[{name:"Zilliqa EVM Explorer",url:"https://evmx.zilliqa.com",standard:"none"}],32990:[{name:"Zilliqa EVM Isolated Server Explorer",url:"https://devex.zilliqa.com/?network=https://zilliqa-isolated-server.zilliqa.com",standard:"none"}],33033:[{name:"Entangle Mainnet Explorer",url:"https://explorer.entangle.fi",standard:"none"}],33101:[{name:"Zilliqa EVM Explorer",url:"https://evmx.zilliqa.com",standard:"none"}],33103:[{name:"Zilliqa 2 EVM proto-testnet explorer",url:"https://explorer.zq2-prototestnet.zilliqa.com",standard:"EIP3091"}],33111:[{name:"Curtis Explorer",url:"https://explorer.curtis.apechain.com",standard:"EIP3091"}],33210:[{name:"CLOUDVERSE Explorer",url:"https://subnets.avax.network/cloudverse",standard:"EIP3091"}],33333:[{name:"avescan",url:"https://avescan.io",icon:"avescan",standard:"EIP3091"}],33385:[{name:"Zilliqa EVM Devnet Explorer",url:"https://otterscan.devnet.zilliqa.com",standard:"EIP3091"}],33401:[{name:"SlingShot Explorer",url:"https://explore.slingshotdao.com",icon:"slingshot",standard:"EIP3091"}],33469:[{name:"Zilliqa-2 EVM Devnet Explorer",url:"https://explorer.zq2-devnet.zilliqa.com",standard:"EIP3091"}],33979:[{name:"FunkiScan",url:"https://funkiscan.io",standard:"none"},{name:"Funki Mainnet Explorer",url:"https://funki.superscan.network",standard:"none"}],34443:[{name:"modescout",url:"https://explorer.mode.network",standard:"none"}],34504:[{name:"ZEUS Mainnet Explorer",url:"https://zeuschainscan.io",icon:"zeusicon",standard:"EIP3091"}],35011:[{name:"J2O Taro Explorer",url:"https://exp.j2o.io",icon:"j2otaro",standard:"EIP3091"}],35441:[{name:"Q explorer",url:"https://explorer.q.org",icon:"q",standard:"EIP3091"}],35443:[{name:"Q explorer",url:"https://explorer.qtestnet.org",icon:"q",standard:"EIP3091"}],38400:[{name:"rangersscan",url:"https://scan.rangersprotocol.com",standard:"none"}],38401:[{name:"rangersscan-robin",url:"https://robin-rangersscan.rangersprotocol.com",standard:"none"}],39656:[{name:"Primal Network",url:"https://prmscan.org",standard:"EIP3091"}],39815:[{name:"ohoscan",url:"https://ohoscan.com",icon:"ohoscan",standard:"EIP3091"}],41455:[{name:"Aleph Zero EVM Mainnet Explorer",url:"https://evm-explorer.alephzero.org",icon:"aleph-zero",standard:"none"}],41500:[{name:"Opulent-X BETA Explorer",url:"https://explorer.opulent-x.com",standard:"none"}],42072:[{name:"AgentLayer Testnet Explorer",url:"https://testnet-explorer.agentlayer.xyz",standard:"EIP3091"}],42161:[{name:"Arbiscan",url:"https://arbiscan.io",standard:"EIP3091"},{name:"Arbitrum Explorer",url:"https://explorer.arbitrum.io",standard:"EIP3091"},{name:"dexguru",url:"https://arbitrum.dex.guru",icon:"dexguru",standard:"EIP3091"}],42170:[{name:"Arbitrum Nova Chain Explorer",url:"https://nova-explorer.arbitrum.io",icon:"blockscout",standard:"EIP3091"},{name:"dexguru",url:"https://nova.dex.guru",icon:"dexguru",standard:"EIP3091"}],42220:[{name:"Celoscan",url:"https://celoscan.io",standard:"EIP3091"},{name:"blockscout",url:"https://explorer.celo.org",standard:"none"}],42261:[{name:"Oasis Emerald Testnet Explorer",url:"https://explorer.oasis.io/testnet/emerald",standard:"EIP3091"}],42262:[{name:"Oasis Emerald Explorer",url:"https://explorer.oasis.io/mainnet/emerald",standard:"EIP3091"}],42355:[{name:"GoldXChain Explorer",url:"https://explorer.goldxchain.io",standard:"EIP3091"}],42421:[{name:"Asset Chain Testnet Explorer",url:"https://scan-testnet.assetchain.org",standard:"EIP3091"}],42766:[{name:"blockscout",url:"https://scan.zkfair.io",icon:"zkfair",standard:"EIP3091"}],42793:[{name:"Etherlink Explorer",url:"https://explorer.etherlink.com",standard:"EIP3091"}],42801:[{name:"Gesoten Verse Testnet Explorer",url:"https://explorer.testnet.verse.gesoten.com",standard:"EIP3091"}],42888:[{name:"kintoscan",url:"http://35.215.120.180:4000",standard:"EIP3091"}],43113:[{name:"snowtrace",url:"https://testnet.snowtrace.io",standard:"EIP3091"}],43114:[{name:"snowtrace",url:"https://snowtrace.io",standard:"EIP3091"}],43851:[{name:"ZKFair Testnet Info",url:"https://testnet-scan.zkfair.io",icon:"zkfair",standard:"EIP3091"}],44444:[{name:"blockscout",url:"https://frenscan.io",icon:"fren",standard:"EIP3091"}],44445:[{name:"Quantum Explorer",url:"https://qtm.avescoin.io",icon:"quantum",standard:"EIP3091"}],44787:[{name:"Alfajoresscan",url:"https://alfajores.celoscan.io",standard:"EIP3091"}],45e3:[{name:"autobahn explorer",url:"https://explorer.autobahn.network",icon:"autobahn",standard:"EIP3091"}],45454:[{name:"blockscout",url:"https://swamps-explorer.tc.l2aas.com",icon:"blockscout",standard:"EIP3091"}],45510:[{name:"Deelance Mainnet Explorer",url:"https://deescan.com",standard:"EIP3091"}],45513:[{name:"blockscout",url:"https://blessnet.calderaexplorer.xyz",icon:"bless",standard:"EIP3091"}],46688:[{name:"fsnscan",url:"https://testnet.fsnscan.com",icon:"fsnscan",standard:"EIP3091"}],47763:[{name:"Neo X - Explorer",url:"https://xexplorer.neo.org",standard:"EIP3091"}],47803:[{name:"ReDeFi Scan",url:"https://scanlayer1.redefi.world",standard:"EIP3091"}],47805:[{name:"rei-scan",url:"https://scan.rei.network",standard:"none"}],48795:[{name:"SPACE Explorer",url:"https://subnets-test.avax.network/space",standard:"EIP3091"}],48899:[{name:"Zircuit",url:"https://explorer.testnet.zircuit.com",icon:"zircuit",standard:"none"}],48900:[{name:"Zircuit",url:"https://explorer.zircuit.com",icon:"zircuit",standard:"none"}],49049:[{name:"Wire Explorer",url:"https://floripa-explorer.wireshape.org",standard:"EIP3091"}],49088:[{name:"explorer-thebifrost",url:"https://explorer.testnet.bifrostnetwork.com",standard:"EIP3091"}],49321:[{name:"blockscout",url:"https://testnet.gunzscan.io",standard:"EIP3091"}],50005:[{name:"Yooldo Verse Explorer",url:"https://explorer.yooldo-verse.xyz",standard:"EIP3091"}],50006:[{name:"Yooldo Verse Explorer",url:"https://explorer.testnet.yooldo-verse.xyz",standard:"EIP3091"}],50021:[{name:"GTON Testnet Network Explorer",url:"https://explorer.testnet.gton.network",standard:"EIP3091"}],51178:[{name:"LumozTestnetInfo",url:"https://lumoz.info",icon:"opside-new",standard:"EIP3091"}],51712:[{name:"Sardis",url:"https://contract-mainnet.sardisnetwork.com",standard:"EIP3091"}],52014:[{name:"blockscout",url:"https://blockexplorer.electroneum.com",icon:"electroneum",standard:"EIP3091"}],53277:[{name:"DOID Scan",url:"https://scan.doid.tech",icon:"doid",standard:"EIP3091"}],53302:[{name:"seedscout",url:"https://sepolia-explorer.superseed.xyz",standard:"EIP3091"}],53457:[{name:"DODOchain Testnet (Sepolia) Explorer",url:"https://testnet-scan.dodochain.com",icon:"dodochain_testnet",standard:"EIP3091"}],53935:[{name:"ethernal",url:"https://explorer.dfkchain.com",icon:"ethereum",standard:"none"}],54211:[{name:"TestEdge HAQQ Explorer",url:"https://explorer.testedge2.haqq.network",standard:"EIP3091"}],54321:[{name:"toronet_explorer",url:"https://testnet.toronet.org",standard:"none"}],55004:[{name:"blockscout",url:"https://explorer.titan.tokamak.network",standard:"EIP3091"}],55551:[{name:"photon_testnet2_explorer",url:"https://testnet2.photonchain.io",standard:"none"}],55555:[{name:"reiscan",url:"https://reiscan.com",standard:"EIP3091"}],55556:[{name:"reiscan",url:"https://testnet.reiscan.com",standard:"EIP3091"}],55614:[{name:"flascan",url:"https://flascan.net",standard:"EIP3091"}],56026:[{name:"Lambda Chain Mainnet Explorer",url:"https://scan.lambda.im",standard:"EIP3091"}],56288:[{name:"Boba BNB block explorer",url:"https://bobascan.com",standard:"none"}],56400:[{name:"TESTNETZER Explorer",url:"https://subnets-test.avax.network/testnetzer",standard:"EIP3091"}],56789:[{name:"novascan",url:"https://novascan.velo.org",standard:"EIP3091"}],56797:[{name:"DOID Testnet Scan",url:"https://scan.testnet.doid.tech",icon:"doid",standard:"EIP3091"}],57e3:[{name:"Rollux Testnet Explorer",url:"https://rollux.tanenbaum.io",standard:"EIP3091"}],57451:[{name:"coinsecnetwork",url:"https://explorer.coinsec.network",standard:"EIP3091"}],58008:[{name:"blockscout",url:"https://explorer.sepolia.publicgoods.network",icon:"blockscout",standard:"EIP3091"}],59140:[{name:"Etherscan",url:"https://goerli.lineascan.build",standard:"EIP3091",icon:"linea"},{name:"Blockscout",url:"https://explorer.goerli.linea.build",standard:"EIP3091",icon:"linea"}],59141:[{name:"Etherscan",url:"https://sepolia.lineascan.build",standard:"EIP3091",icon:"linea"},{name:"Blockscout",url:"https://explorer.sepolia.linea.build",standard:"EIP3091",icon:"linea"}],59144:[{name:"Etherscan",url:"https://lineascan.build",standard:"EIP3091",icon:"linea"},{name:"Blockscout",url:"https://explorer.linea.build",standard:"EIP3091",icon:"linea"},{name:"L2scan",url:"https://linea.l2scan.co",standard:"EIP3091",icon:"linea"}],59902:[{name:"blockscout",url:"https://sepolia-explorer.metisdevops.link",standard:"EIP3091"}],59971:[{name:"Genesys Scan",url:"https://genesysscan.io",icon:"genesyscode",standard:"none"}],6e4:[{name:"thinkiumscan",url:"https://test0.thinkiumscan.net",standard:"EIP3091"}],60001:[{name:"thinkiumscan",url:"https://test1.thinkiumscan.net",standard:"EIP3091"}],60002:[{name:"thinkiumscan",url:"https://test2.thinkiumscan.net",standard:"EIP3091"}],60103:[{name:"thinkiumscan",url:"https://test103.thinkiumscan.net",standard:"EIP3091"}],60808:[{name:"bobscout",url:"https://explorer.gobob.xyz",icon:"blockscout",standard:"EIP3091"}],61022:[{name:"Blockscout",url:"https://scan.orangechain.xyz",icon:"orange",standard:"EIP3091"}],61406:[{name:"KaiChain Explorer",url:"https://explorer.kaichain.net",standard:"EIP3091"}],61800:[{name:"AxelChain Dev-Net Explorer",url:"https://devexplorer2.viacube.com",standard:"EIP3091"}],61803:[{name:"eticascan",url:"https://eticascan.org",standard:"EIP3091"},{name:"eticastats",url:"http://explorer.etica-stats.org",standard:"EIP3091"}],61916:[{name:"DSC Scan",url:"https://explore.doken.dev",icon:"doken",standard:"EIP3091"}],62049:[{name:"optopia-testnet-scan",url:"https://scan-testnet.optopia.ai",icon:"optopia",standard:"EIP3091"}],62050:[{name:"optopia-scan",url:"https://scan.optopia.ai",icon:"optopia",standard:"EIP3091"}],62298:[{name:"Citrea Devnet Explorer",url:"https://explorer.devnet.citrea.xyz",icon:"citrea",standard:"EIP3091"}],62621:[{name:"MultiVAC Explorer",url:"https://e.mtv.ac",standard:"none"}],62831:[{name:"Avalanche Subnet Testnet Explorer",url:"https://subnets-test.avax.network/plyr",standard:"EIP3091"}],62850:[{name:"blockscout",url:"https://sigma.explorer.laosnetwork.io",icon:"blockscout",standard:"EIP3091"}],63e3:[{name:"eCredits MainNet Explorer",url:"https://explorer.ecredits.com",icon:"ecredits",standard:"EIP3091"}],63001:[{name:"eCredits TestNet Explorer",url:"https://explorer.tst.ecredits.com",icon:"ecredits",standard:"EIP3091"}],65349:[{name:"Blockscout",url:"https://explorer-testnet.cratd2csmartchain.io",icon:"blockscout",standard:"EIP3091"}],65357:[{name:"vecno",url:"https://explorer.vecno.org",icon:"blockscout",standard:"EIP3091"}],65450:[{name:"Scolscan Explorer",url:"https://explorer.scolcoin.com",standard:"EIP3091"}],66988:[{name:"JanusNetwork Testnet Explorer",url:"https://beta.scan.janusnetwork.io",standard:"none"}],68770:[{name:"DM2Verse Explorer",url:"https://explorer.dm2verse.dmm.com",standard:"EIP3091"}],69420:[{name:"Condrieu explorer",url:"https://explorer.condrieu.ethdevops.io",standard:"none"}],7e4:[{name:"thinkiumscan",url:"https://chain0.thinkiumscan.net",standard:"EIP3091"}],70001:[{name:"thinkiumscan",url:"https://chain1.thinkiumscan.net",standard:"EIP3091"}],70002:[{name:"thinkiumscan",url:"https://chain2.thinkiumscan.net",standard:"EIP3091"}],70103:[{name:"thinkiumscan",url:"https://chain103.thinkiumscan.net",standard:"EIP3091"}],70700:[{name:"Proof of Play Apex Explorer",url:"https://explorer.apex.proofofplay.com",icon:"pop-apex",standard:"EIP3091"}],71111:[{name:"GuapcoinX Explorer",url:"http://explorer.guapcoinx.com",standard:"none",icon:"guapcoinx"}],71401:[{name:"GWScan Block Explorer",url:"https://v1.testnet.gwscan.com",standard:"none"}],71402:[{name:"GWScan Block Explorer",url:"https://v1.gwscan.com",standard:"none"}],72778:[{name:"ankara",url:"https://explorer.ankara-cagacrypto.com",standard:"EIP3091"}],72992:[{name:"GrokScan",url:"https://mainnet-explorer.grokchain.dev",standard:"none"}],73114:[{name:"ICB Tesnet Explorer",url:"https://testnet.icbscan.io",standard:"EIP3091"}],73115:[{name:"ICB Explorer",url:"https://icbscan.io",standard:"EIP3091"}],73927:[{name:"mvmscan",url:"https://scan.mvm.dev",icon:"mvm",standard:"EIP3091"}],75e3:[{name:"ResinScan",url:"https://explorer.resincoin.dev",standard:"none"}],75512:[{name:"Geek Explorer",url:"https://explorer.geekout-pte.com",standard:"EIP3091"}],75513:[{name:"Geek Testnet Explorer",url:"https://explorer-testnet.geekout-pte.com",standard:"EIP3091"}],77001:[{name:"BORAchainscope",url:"https://scope.boraportal.com",standard:"EIP3091"}],77238:[{name:"Foundry Scan Testnet",url:"https://testnet-explorer.foundryscan.org",standard:"EIP3091"}],77612:[{name:"ventionscan",url:"https://ventionscan.io",standard:"EIP3091"}],77777:[{name:"toronet_explorer",url:"https://toronet.org/explorer",standard:"none"}],78281:[{name:"Dragonfly Blockscout",url:"https://blockscout.dragonfly.hexapod.network",icon:"blockscout",standard:"EIP3091"}],78430:[{name:"AMPLIFY Explorer",url:"https://subnets-test.avax.network/amplify",standard:"EIP3091"}],78431:[{name:"BULLETIN Explorer",url:"https://subnets-test.avax.network/bulletin",standard:"EIP3091"}],78432:[{name:"CONDUIT Explorer",url:"https://subnets-test.avax.network/conduit",standard:"EIP3091"}],78600:[{name:"Vanguard Explorer",url:"https://explorer-vanguard.vanarchain.com",icon:"vanguard",standard:"EIP3091"}],79879:[{name:"Gold Smart Chain",url:"https://testnet.goldsmartchain.com",standard:"EIP3091"}],80001:[{name:"polygonscan",url:"https://mumbai.polygonscan.com",standard:"EIP3091"}],80002:[{name:"polygonamoy",url:"https://www.oklink.com/amoy",standard:"EIP3091"}],80008:[{name:"Polynomial Sepolia Explorer",url:"https://sepolia.polynomialscan.io",standard:"none",icon:"polynomialSepolia"}],80084:[{name:"Beratrail",url:"https://bartio.beratrail.io",icon:"berachain",standard:"none"}],80085:[{name:"Beratrail",url:"https://artio.beratrail.io",icon:"berachain",standard:"none"}],80096:[{name:"blockscout",url:"https://hizoco.net:38443",standard:"none"}],81041:[{name:"nordek",url:"https://nordekscan.com",standard:"EIP3091"}],81457:[{name:"Blastscan",url:"https://blastscan.io",icon:"blast",standard:"EIP3091"},{name:"Blast Explorer",url:"https://blastexplorer.io",icon:"blast",standard:"EIP3091"}],81720:[{name:"Quantum Scan Mainnet",url:"https://quantumscan.org",standard:"EIP3091"}],82459:[{name:"SLN Testnet Explorer",url:"https://explorer.test.smartlayer.network",standard:"EIP3091"}],83144:[{name:"Blockscout",url:"https://explorer.testnet.xprotocol.org",standard:"EIP3091"}],83872:[{name:"Zedscan",url:"http://zedscan.net",standard:"EIP3091"}],84531:[{name:"basescan",url:"https://goerli.basescan.org",standard:"none"},{name:"basescout",url:"https://base-goerli.blockscout.com",icon:"blockscout",standard:"EIP3091"},{name:"dexguru",url:"https://base-goerli.dex.guru",icon:"dexguru",standard:"EIP3091"}],84532:[{name:"basescout",url:"https://base-sepolia.blockscout.com",icon:"blockscout",standard:"EIP3091"}],84886:[{name:"Aerie Explorer",url:"https://explorer.aerielab.io",icon:"aerie",standard:"EIP3091"}],88002:[{name:"Nautscan",url:"https://proteus.nautscan.com",standard:"EIP3091",icon:"nautilus"}],88559:[{name:"inoai.live",url:"https://inoai.live",standard:"EIP3091"}],88800:[{name:"Tracehawk",url:"https://explorer.zkas.zeeve.net",standard:"none"}],88817:[{name:"explorer-testnet",url:"https://explorer-testnet.unit0.dev",standard:"EIP3091"}],88819:[{name:"explorer-stagenet",url:"https://explorer-stagenet.unit0.dev",standard:"EIP3091"}],88882:[{name:"spicy-explorer",url:"https://testnet.chiliscan.com",standard:"EIP3091"}],88888:[{name:"chiliscan",url:"https://chiliscan.com",standard:"EIP3091"},{name:"chilizscan",url:"https://scan.chiliz.com",standard:"EIP3091"}],90210:[{name:"Beverly Hills explorer",url:"https://explorer.beverlyhills.ethdevops.io",standard:"none"}],90354:[{name:"blockscout",url:"https://explorerl2new-camp-network-4xje7wy105.t.conduit.xyz",icon:"blockscout",standard:"EIP3091"}],91002:[{name:"Nautscan",url:"https://triton.nautscan.com",standard:"EIP3091"}],91120:[{name:"MetaDAP Enterprise Mainnet explorer",url:"https://explorer.chain.metadap.io",standard:"none"}],91715:[{name:"combotrace explorer",url:"https://combotrace-testnet.nodereal.io",standard:"EIP3091"}],92001:[{name:"Lambda EVM Explorer",url:"https://explorer.lambda.top",standard:"EIP3091",icon:"lambda"}],93572:[{name:"LiquidLayer Testnet Explorer",url:"https://testnet-scan.liquidlayer.network",standard:"EIP3091"}],93747:[{name:"StratoVM Block Explorer",url:"https://explorer.stratovm.io",standard:"none"}],96970:[{name:"Mantis Blockscout",url:"https://blockscout.mantis.hexapod.network",icon:"blockscout",standard:"EIP3091"}],97435:[{name:"SlingShot Test Explorer",url:"https://explorer-dependent-emerald-whippet-gh6kch3nen.t.conduit.xyz",icon:"slingshot",standard:"EIP3091"}],97531:[{name:"Green Chain Explorer",url:"https://explorer.greenchain.app",standard:"EIP3091"}],97970:[{name:"OptimusZ7 Testnet Explorer",url:"https://testnet.optimusz7.com",standard:"EIP3091"}],99099:[{name:"eLiberty Testnet",url:"https://testnet.eliberty.ngo",standard:"EIP3091"}],99876:[{name:"blockscout",url:"https://testnet.emcscan.com",standard:"EIP3091"}],100001:[{name:"quarkchain-mainnet",url:"https://mainnet.quarkchain.io/0",standard:"EIP3091"}],100002:[{name:"quarkchain-mainnet",url:"https://mainnet.quarkchain.io/1",standard:"EIP3091"}],100003:[{name:"quarkchain-mainnet",url:"https://mainnet.quarkchain.io/2",standard:"EIP3091"}],100004:[{name:"quarkchain-mainnet",url:"https://mainnet.quarkchain.io/3",standard:"EIP3091"}],100005:[{name:"quarkchain-mainnet",url:"https://mainnet.quarkchain.io/4",standard:"EIP3091"}],100006:[{name:"quarkchain-mainnet",url:"https://mainnet.quarkchain.io/5",standard:"EIP3091"}],100007:[{name:"quarkchain-mainnet",url:"https://mainnet.quarkchain.io/6",standard:"EIP3091"}],100008:[{name:"quarkchain-mainnet",url:"https://mainnet.quarkchain.io/7",standard:"EIP3091"}],100009:[{name:"VeChain Stats",url:"https://vechainstats.com",standard:"none"},{name:"VeChain Explorer",url:"https://explore.vechain.org",standard:"none"}],100010:[{name:"VeChain Explorer",url:"https://explore-testnet.vechain.org",standard:"none"}],101010:[{name:"blockscout",url:"https://stability.blockscout.com",standard:"EIP3091"}],102031:[{name:"blockscout",url:"https://creditcoin-testnet.blockscout.com",icon:"blockscout",standard:"EIP3091"}],103090:[{name:"blockscout",url:"https://scan.crystaleum.org",icon:"crystal",standard:"EIP3091"}],103454:[{name:"Masa Testnet Explorer",url:"https://subnets-test.avax.network/masatestnet",standard:"EIP3091"}],104566:[{name:"KaspaClassic Explorer",url:"https://explorer.kaspaclassic.world",standard:"none"}],105105:[{name:"Stratis Explorer",url:"https://explorer.stratisevm.com",standard:"EIP3091"}],108801:[{name:"BROChain Explorer",url:"https://explorer.brochain.org",standard:"EIP3091"}],110001:[{name:"quarkchain-devnet",url:"https://devnet.quarkchain.io/0",standard:"EIP3091"}],110002:[{name:"quarkchain-devnet",url:"https://devnet.quarkchain.io/1",standard:"EIP3091"}],110003:[{name:"quarkchain-devnet",url:"https://devnet.quarkchain.io/2",standard:"EIP3091"}],110004:[{name:"quarkchain-devnet",url:"https://devnet.quarkchain.io/3",standard:"EIP3091"}],110005:[{name:"quarkchain-devnet",url:"https://devnet.quarkchain.io/4",standard:"EIP3091"}],110006:[{name:"quarkchain-devnet",url:"https://devnet.quarkchain.io/5",standard:"EIP3091"}],110007:[{name:"quarkchain-devnet",url:"https://devnet.quarkchain.io/6",standard:"EIP3091"}],110008:[{name:"quarkchain-devnet",url:"https://devnet.quarkchain.io/7",standard:"EIP3091"}],111e3:[{name:"Siberium Testnet Explorer - blockscout",url:"https://explorer.test.siberium.net",icon:"siberium",standard:"EIP3091"}],111111:[{name:"Siberium Mainnet Explorer - blockscout - 1",url:"https://explorer.main.siberium.net",icon:"siberium",standard:"EIP3091"},{name:"Siberium Mainnet Explorer - blockscout - 2",url:"https://explorer.main.siberium.net.ru",icon:"siberium",standard:"EIP3091"}],111188:[{name:"blockscout",url:"https://explorer.re.al",icon:"real",standard:"EIP3091"}],112358:[{name:"blockscout",url:"https://explorer.metachain.one",icon:"blockscout",standard:"EIP3091"}],119139:[{name:"MetaDAP Enterprise Testnet explorer",url:"https://explorer.testnet.chain.metadap.io",standard:"none"}],123321:[{name:"Gemchain Scan",url:"https://scan.gemchain.org",standard:"EIP3091"}],123456:[{name:"ADIL Devnet Explorer",url:"https://devnet.adilchain-scan.io",standard:"EIP3091"}],128123:[{name:"Etherlink Testnet Explorer",url:"https://testnet-explorer.etherlink.com",standard:"EIP3091"}],131419:[{name:"etndscan",url:"https://scan.etnd.pro",icon:"ETND",standard:"none"}],132902:[{name:"Form Testnet explorer",url:"https://testnet-explorer.form.network",standard:"EIP3091"}],141319:[{name:"etherscan",url:"http://testnet-api.magape.io:81",icon:"magape",standard:"EIP3091"}],142857:[{name:"ICPlaza",url:"https://browsemainnet.ic-plaza.org/index",standard:"none"}],165279:[{name:"Eclat Mainnet Explorer",url:"https://eclatscan.com",standard:"EIP3091"}],167e3:[{name:"etherscan",url:"https://taikoscan.io",standard:"EIP3091"}],167008:[{name:"blockscout",url:"https://explorer.katla.taiko.xyz",standard:"EIP3091"}],167009:[{name:"blockscout",url:"https://blockscoutapi.hekla.taiko.xyz",standard:"EIP3091"},{name:"routescan",url:"https://hekla.taikoscan.network",standard:"EIP3091"}],175177:[{name:"Lit Chronicle Explorer",url:"https://chain.litprotocol.com",icon:"lit",standard:"EIP3091"}],175188:[{name:"Lit Chronicle Yellowstone Explorer",url:"https://yellowstone-explorer.litprotocol.com",icon:"lit",standard:"EIP3091"}],188710:[{name:"Bitica DPOS Blockchain Explorer",url:"https://biticablockchain.com",standard:"none"}],188881:[{name:"CondorScan",url:"https://explorer.condor.systems",standard:"none"}],199991:[{name:"MAZZE Testnet Explorer",url:"https://mazzescan.io",standard:"none"}],200101:[{name:"Blockscout",url:"https://explorer-devnet-cardano-evm.c1.milkomeda.com",standard:"none"}],200202:[{name:"Blockscout",url:"https://explorer-devnet-algorand-rollup.a1.milkomeda.com",standard:"none"}],200810:[{name:"bitlayer testnet scan",url:"https://testnet.btrscan.com",standard:"EIP3091"}],200901:[{name:"bitlayer mainnet scan",url:"https://www.btrscan.com",standard:"EIP3091"}],201018:[{name:"alaya explorer",url:"https://scan.alaya.network",standard:"none"}],201030:[{name:"alaya explorer",url:"https://devnetscan.alaya.network",standard:"none"}],201804:[{name:"Mythical Chain Explorer",url:"https://explorer.mythicalgames.com",icon:"mythical",standard:"EIP3091"}],202020:[{name:"DSC Explorer Testnet",url:"https://testnet.explorer.decimalchain.com",icon:"dsc",standard:"EIP3091"}],202212:[{name:"Blockscout",url:"https://explorer.x1-devnet.xen.network",icon:"blockscout",standard:"EIP3091"}],202401:[{name:"YMTECH-BESU Chainlens",url:"http://39.119.118.198",standard:"none"}],202624:[{name:"Jellie Blockchain Explorer",url:"https://jellie.twala.io",standard:"EIP3091",icon:"twala"}],204005:[{name:"Blockscout",url:"https://explorer.x1-testnet.xen.network",icon:"blockscout",standard:"EIP3091"}],205205:[{name:"Auroria Testnet Explorer",url:"https://auroria.explorer.stratisevm.com",standard:"EIP3091"}],210425:[{name:"PlatON explorer",url:"https://scan.platon.network",standard:"none"}],220315:[{name:"explorer masnet",url:"https://explorer.masnet.ai",standard:"EIP3091"}],221230:[{name:"Reapchain Dashboard",url:"https://dashboard.reapchain.org",icon:"reapchain",standard:"none"}],221231:[{name:"Reapchain Testnet Dashboard",url:"https://test-dashboard.reapchain.org",icon:"reapchain",standard:"none"}],222222:[{name:"blockscout",url:"https://explorer.evm.hydration.cloud",standard:"EIP3091"}],222555:[{name:"DeepL Mainnet Explorer",url:"https://scan.deeplnetwork.org",icon:"deepl",standard:"EIP3091"}],222666:[{name:"DeepL Testnet Explorer",url:"https://testnet-scan.deeplnetwork.org",icon:"deepl",standard:"EIP3091"}],224168:[{name:"Taf ECO Chain Mainnet",url:"https://ecoscan.tafchain.com",standard:"EIP3091"}],224422:[{name:"CONET Scan",url:"https://scan.conet.network",standard:"EIP3091"}],224433:[{name:"CONET Holesky Scan",url:"https://scan.conet.network",standard:"EIP3091"}],229772:[{name:"blockscout",url:"https://testnet.abyssprotocol.ai",icon:"blockscout",standard:"EIP3091"}],230315:[{name:"HashKey Chain Testnet Explorer",url:"https://testnet.hashkeyscan.io",standard:"none"}],240515:[{name:"Blockscout",url:"https://testnet-scan.orangechain.xyz",icon:"orange",standard:"EIP3091"}],247253:[{name:"saakuru-explorer-testnet",url:"https://explorer-testnet.saakuru.network",standard:"EIP3091"}],256256:[{name:"Mainnet Scan",url:"https://mainnet.scan.caduceus.foundation",standard:"none"}],262371:[{name:"Eclat Testnet Explorer",url:"https://testnet-explorer.eclatscan.com",standard:"EIP3091"}],271271:[{name:"EgonCoin Testnet",url:"https://testnet.egonscan.com",standard:"EIP3091"}],282828:[{name:"zillscout",url:"https://sepolia.zillnet.io",icon:"zillion",standard:"EIP3091"}],292003:[{name:"Cipherscan Testnet Explorer",icon:"cipherscan",url:"https://cipherscan.net",standard:"EIP3091"}],309075:[{name:"One World Chain Mainnet Explorer",url:"https://mainnet.oneworldchain.org",standard:"EIP3091"}],313313:[{name:"Testnet Scan",url:"https://explorer.saharaa.info",standard:"EIP3091"}],314159:[{name:"Filscan - Calibration",url:"https://calibration.filscan.io",standard:"none"},{name:"Filscout - Calibration",url:"https://calibration.filscout.com/en",standard:"none"},{name:"Filfox - Calibration",url:"https://calibration.filfox.info",standard:"none"},{name:"Glif Explorer - Calibration",url:"https://explorer.glif.io/?network=calibration",standard:"none"},{name:"Beryx",url:"https://beryx.zondax.ch",standard:"none"}],322202:[{name:"Parex Mainnet Explorer",url:"https://scan.parex.network",icon:"parexmain",standard:"EIP3091"}],323213:[{name:"Bloom Genesis Testnet",url:"https://testnet.bloomgenesis.com",standard:"EIP3091"}],327126:[{name:"blockscout",url:"https://explorer.wabaworld.com",standard:"none"}],328527:[{name:"Nal Network Explorer",url:"https://scan.nal.network",standard:"EIP3091"}],330844:[{name:"TTcoin Smart Chain Explorer",url:"https://tscscan.com",standard:"EIP3091",icon:"tscscan"}],333313:[{name:"Bloom Genesis Mainnet",url:"https://explorer.bloomgenesis.com",standard:"EIP3091"}],333331:[{name:"avescan",url:"https://testnet.avescoin.io",icon:"avescan",standard:"EIP3091"}],333333:[{name:"Nativ3 Test Explorer",url:"https://scantest.nativ3.network",standard:"EIP3091"}],333666:[{name:"blockscout",url:"https://testnet.oonescan.com",standard:"none"}],333777:[{name:"blockscout",url:"https://dev.oonescan.com",standard:"none"}],336655:[{name:"UPchain Testnet Explorer",url:"https://explorer-testnet.uniport.network",icon:"up",standard:"EIP3091"}],336666:[{name:"UPchain Mainnet Explorer",url:"https://explorer.uniport.network",icon:"up",standard:"EIP3091"}],355110:[{name:"Bitfinity Mainnet Block Explorer",url:"https://explorer.mainnet.bitfinity.network",icon:"bitfinity",standard:"EIP3091"}],355113:[{name:"Bitfinity Testnet Block Explorer",url:"https://explorer.testnet.bitfinity.network",icon:"bitfinity",standard:"EIP3091"},{name:"Bitfinity Testnet Block Explorer",url:"https://bitfinity-test.dex.guru",icon:"dexguru",standard:"EIP3091"}],360890:[{name:"LAVITA Mainnet Explorer",url:"https://tsub360890-explorer.thetatoken.org",icon:"lavita",standard:"EIP3091"}],363636:[{name:"Digit Soul Explorer",url:"https://dgs-exp.digitsoul.co.th",standard:"EIP3091"}],373737:[{name:"HAP EVM Explorer (Blockscout)",url:"https://blockscout-test.hap.land",standard:"none",icon:"hap"}],381931:[{name:"metalscan",url:"https://metalscan.io",standard:"EIP3091"}],381932:[{name:"metalscan",url:"https://tahoe.metalscan.io",standard:"EIP3091"}],404040:[{name:"Tipboxcoin",url:"https://tipboxcoin.net",standard:"EIP3091"}],413413:[{name:"aiescan-testnet",icon:"aie",url:"https://testnet.aiescan.io",standard:"none"}],420420:[{name:"blockscout",url:"https://mainnet-explorer.kekchain.com",icon:"kek",standard:"EIP3091"}],420666:[{name:"blockscout",url:"https://testnet-explorer.kekchain.com",icon:"kek",standard:"EIP3091"}],420692:[{name:"Alterium L2 Testnet Explorer",url:"https://l2-testnet.altscan.org",standard:"EIP3091"}],421611:[{name:"arbiscan-testnet",url:"https://testnet.arbiscan.io",standard:"EIP3091"},{name:"arbitrum-rinkeby",url:"https://rinkeby-explorer.arbitrum.io",standard:"EIP3091"}],421613:[{name:"Arbitrum Goerli Arbiscan",url:"https://goerli.arbiscan.io",standard:"EIP3091"}],421614:[{name:"Arbitrum Sepolia Rollup Testnet Explorer",url:"https://sepolia-explorer.arbitrum.io",standard:"EIP3091"}],424242:[{name:"blockscout",url:"https://testnet.ftnscan.com",standard:"none"}],432201:[{name:"Avalanche Subnet Testnet Explorer",url:"https://subnets-test.avax.network/dexalot",standard:"EIP3091"}],432204:[{name:"Avalanche Subnet Explorer",url:"https://subnets.avax.network/dexalot",standard:"EIP3091"}],444444:[{name:"Syndr L3 Sepolia Testnet Explorer",url:"https://sepolia-explorer.syndr.com",standard:"EIP3091"}],444900:[{name:"weelink-testnet",url:"https://weelink.cloud/#/blockView/overview",standard:"none"}],473861:[{name:"ultraproscan",url:"https://ultraproscan.io",icon:"ultrapro",standard:"EIP3091"}],474142:[{name:"SIDE SCAN",url:"https://sidescan.luniverse.io/1641349324562974539",standard:"none"}],486487:[{name:"Gobbl Testnet Explorer",url:"https://explorer.gobbl.io",standard:"EIP3091"}],49e4:[{name:"astral",url:"https://nova.subspace.network",icon:"blockscout",standard:"EIP3091"}],504441:[{name:"Playdapp Explorer",url:"https://subnets.avax.network/playdappne",standard:"EIP3091"}],512512:[{name:"Galaxy Scan",url:"https://galaxy.scan.caduceus.foundation",standard:"none"}],513100:[{name:"DisChain",url:"https://www.oklink.com/dis",standard:"EIP3091"}],526916:[{name:"DoCoin Community Chain Explorer",url:"https://explorer.docoin.shop",standard:"EIP3091"}],534351:[{name:"Scroll Sepolia Etherscan",url:"https://sepolia.scrollscan.com",standard:"EIP3091"}],534352:[{name:"Scrollscan",url:"https://scrollscan.com",standard:"EIP3091"}],534849:[{name:"shinascan",url:"https://shinascan.shinarium.org",standard:"EIP3091"}],535037:[{name:"bescscan",url:"https://Bescscan.io",standard:"EIP3091"}],552981:[{name:"One World Chain Testnet Explorer",url:"https://testnet.oneworldchain.org",standard:"EIP3091"}],555555:[{name:"Pentagon Testnet Explorer",url:"https://explorer-testnet.pentagon.games",icon:"pentagon",standard:"EIP3091"}],555666:[{name:"ECLIPSE Explorer",url:"https://subnets-test.avax.network/eclipsecha",standard:"EIP3091"}],622277:[{name:"hypra",url:"https://explorer.hypra.network",icon:"blockscout",standard:"EIP3091"}],622463:[{name:"Atlas Testnet Scan",url:"https://explorer.testnet.atl.network",icon:"atlas",standard:"EIP3091"}],641230:[{name:"brnkscan",url:"https://brnkscan.bearnetwork.net",standard:"EIP3091"}],651940:[{name:"Alltra SmartChain Explorer",url:"https://alltra.global",standard:"EIP3091"}],656476:[{name:"Open Campus Codex",url:"https://opencampus-codex.blockscout.com",icon:"open-campus-codex",standard:"none"}],660279:[{name:"Blockscout",url:"https://explorer.xai-chain.net",standard:"EIP3091"}],666888:[{name:"Hela Official Runtime Testnet Explorer",url:"https://testnet-blockexplorer.helachain.com",standard:"EIP3091"}],686868:[{name:"Won Explorer",url:"https://scan.wonnetwork.org",standard:"EIP3091"}],696969:[{name:"Galadriel Explorer",url:"https://explorer.galadriel.com",standard:"none"}],710420:[{name:"TILTYARD Explorer",url:"https://subnets.avax.network/tiltyard",standard:"EIP3091"}],713715:[{name:"Seistream",url:"https://seistream.app",standard:"none"},{name:"Seitrace",url:"https://seitrace.com",standard:"EIP3091"}],721529:[{name:"Eramscan",url:"https://eramscan.com",standard:"EIP3091"}],743111:[{name:"blockscout",url:"https://testnet.explorer.hemi.xyz",icon:"blockscout",standard:"EIP3091"}],751230:[{name:"brnktestscan",url:"https://brnktest-scan.bearnetwork.net",standard:"EIP3091"}],752024:[{name:"Tracehawk",url:"https://explorer.zkevm.ternoa.network",standard:"none"}],761412:[{name:"Miexs Smartchain Explorer",url:"https://miexs.com",standard:"EIP3091"}],764984:[{name:"Lamina1 Test Explorer",url:"https://subnets-test.avax.network/lamina1tes",standard:"EIP3091"}],767368:[{name:"Lamina1 Identity Testnet Explorer",url:"https://subnets-test.avax.network/lamina1id",standard:"EIP3091"}],776877:[{name:"Tanssi Explorer",url:"https://tanssi-evmexplorer.netlify.app/?rpcUrl=https://fraa-dancebox-3035-rpc.a.dancebox.tanssi.network",standard:"none"}],800001:[{name:"blockscout",url:"https://explorer.octa.space",icon:"blockscout",standard:"EIP3091"}],808080:[{name:"BIZ Smart Chain Testnet Explorer",url:"https://testnet.btscan.io",standard:"EIP3091"}],808813:[{name:"bobscout",url:"https://bob-sepolia.explorer.gobob.xyz",icon:"blockscout",standard:"EIP3091"}],810180:[{name:"zkLink Nova Block Explorer",url:"https://explorer.zklink.io",icon:"zklink-nova",standard:"EIP3091"}],810181:[{name:"zkLink Nova Block Explorer",url:"https://sepolia.explorer.zklink.io",icon:"zklink-nova",standard:"EIP3091"}],810182:[{name:"zkLink Nova Block Explorer",url:"https://goerli.explorer.zklink.io",icon:"zklink-nova",standard:"EIP3091"}],820522:[{name:"tscscan",url:"https://testnet.tscscan.io",icon:"netxscan",standard:"none"}],827431:[{name:"CURVE Mainnet",url:"https://curvescan.io",standard:"EIP3091"}],839320:[{name:"Primal Network Testnet",url:"https://testnet-explorer.prmscan.org",standard:"EIP3091"}],84e4:[{name:"Tracehawk",url:"https://explorer.runevm.io",standard:"none"}],855456:[{name:"Dodao Explorer",url:"https://tanssi-evmexplorer.netlify.app/?rpcUrl=https://fraa-dancebox-3041-rpc.a.dancebox.tanssi.network",icon:"dodao",standard:"EIP3091"}],879151:[{name:"BlocX Mainnet Explorer",url:"https://explorer.blxscan.com",icon:"blx",standard:"none"}],888882:[{name:"REXX Mainnet Explorer",url:"https://rexxnetwork.com",standard:"EIP3091"}],888888:[{name:"Visionscan",url:"https://www.visionscan.org",standard:"EIP3091"}],9e5:[{name:"Posichain Explorer",url:"https://explorer.posichain.org",standard:"EIP3091"}],91e4:[{name:"Posichain Explorer Testnet",url:"https://explorer-testnet.posichain.org",standard:"EIP3091"}],912559:[{name:"Astria EVM Dusknet Explorer",url:"https://explorer.evm.dusk-3.devnet.astria.org",standard:"EIP3091"}],92e4:[{name:"Posichain Explorer Devnet",url:"https://explorer-devnet.posichain.org",standard:"EIP3091"}],920001:[{name:"Posichain Explorer Devnet",url:"https://explorer-devnet.posichain.org",standard:"EIP3091"}],923018:[{name:"fncy scan testnet",url:"https://fncyscan-testnet.fncy.world",icon:"fncy",standard:"EIP3091"}],955081:[{name:"JONO12 Explorer",url:"https://subnets-test.avax.network/jono12",standard:"EIP3091"}],955305:[{name:"blockscout",url:"https://explorer.eluv.io",standard:"EIP3091"}],978657:[{name:"treasurescan",url:"https://testnet.treasurescan.io",icon:"treasure",standard:"EIP3091"}],984122:[{name:"blockscout",url:"https://explorer.forma.art",icon:"blockscout",standard:"EIP3091"}],984123:[{name:"blockscout",url:"https://explorer.sketchpad-1.forma.art",icon:"blockscout",standard:"EIP3091"}],988207:[{name:"Ecrox Chain Explorer",url:"https://ecroxscan.com",standard:"EIP3091"}],998899:[{name:"supernet-testnet-explorer",url:"https://testnet-explorer.supernet.chaingames.io",standard:"EIP3091"}],999999:[{name:"AMCAmChain explorer",url:"https://explorer.amchain.net",standard:"none"}],1100789:[{name:"NetMind Testnet Explorer",url:"https://testbrower.protago-dev.com",icon:"netmind",standard:"EIP3091"}],1127469:[{name:"TILTYARD Explorer",url:"http://testnet-explorer.tiltyard.gg",standard:"EIP3091"}],1234567:[{name:"Etherscan",url:"https://etherscan.io",standard:"none",icon:"sharecle"}],1261120:[{name:"Blockscout zKatana chain explorer",url:"https://zkatana.blockscout.com",standard:"EIP3091"},{name:"Startale zKatana chain explorer",url:"https://zkatana.explorer.startale.com",standard:"EIP3091"}],1313114:[{name:"blockscout",url:"https://explorer.ethoprotocol.com",standard:"none"}],1337702:[{name:"kintsugi explorer",url:"https://explorer.kintsugi.themerge.dev",standard:"EIP3091"}],1337802:[{name:"Kiln Explorer",url:"https://explorer.kiln.themerge.dev",icon:"ethereum",standard:"EIP3091"}],1337803:[{name:"Zhejiang Explorer",url:"https://zhejiang.beaconcha.in",icon:"ethereum",standard:"EIP3091"}],1398243:[{name:"Automata Testnet Explorer",url:"https://automata-testnet-explorer.alt.technology",standard:"EIP3091"}],1612127:[{name:"PlayFi Block Explorer",url:"https://albireo-explorer.playfi.ai",standard:"EIP3091"}],1637450:[{name:"Xterio Testnet Explorer",url:"https://testnet.xterscan.io",standard:"EIP3091"}],2021398:[{name:"DeBank Chain Explorer",url:"https://explorer.testnet.debank.com",standard:"EIP3091"}],2099156:[{name:"piscan",url:"https://piscan.plian.org/pchain",standard:"EIP3091"}],2206132:[{name:"PlatON explorer",url:"https://devnet2scan.platon.network",standard:"none"}],2702128:[{name:"Xterio Chain Explorer",url:"https://eth.xterscan.io",standard:"EIP3091"}],3397901:[{name:"Funki Sepolia Sandbox Explorer",url:"https://sepolia-sandbox.funkichain.com",standard:"none"}],3441005:[{name:"manta-testnet Explorer",url:"https://manta-testnet.calderaexplorer.xyz",standard:"EIP3091"}],3441006:[{name:"manta-testnet Explorer",url:"https://pacific-explorer.sepolia-testnet.manta.network",standard:"EIP3091"}],4000003:[{name:"blockscout",url:"https://zero-explorer.alt.technology",icon:"blockscout",standard:"EIP3091"}],4444444:[{name:"altar testnet explorer",url:"https://altar-explorer.ceremonies.ai",standard:"none"}],4457845:[{name:"ZERO Testnet Explorer",url:"https://explorer.zero.network",standard:"EIP3091"}],5112023:[{name:"NumBlock Explorer",url:"https://mainnet.numblock.org",standard:"none",icon:"NumBlock"}],5167003:[{name:"MXC Wannsee zkEVM Testnet",url:"https://wannsee-explorer.mxc.com",standard:"EIP3091"}],5167004:[{name:"Moonchain Geneva Testnet",url:"https://geneva-explorer.moonchain.com",standard:"EIP3091"}],5201420:[{name:"blockscout",url:"https://blockexplorer.thesecurityteam.rocks",icon:"electroneum",standard:"EIP3091"}],5318008:[{name:"reactscan",url:"https://kopli.reactscan.net",standard:"none"}],5555555:[{name:"Imversed EVM explorer (Blockscout)",url:"https://txe.imversed.network",icon:"imversed",standard:"EIP3091"},{name:"Imversed Cosmos Explorer (Big Dipper)",url:"https://tex-c.imversed.com",icon:"imversed",standard:"none"}],5555558:[{name:"Imversed EVM Explorer (Blockscout)",url:"https://txe-test.imversed.network",icon:"imversed",standard:"EIP3091"},{name:"Imversed Cosmos Explorer (Big Dipper)",url:"https://tex-t.imversed.com",icon:"imversed",standard:"none"}],6038361:[{name:"Blockscout zKyoto explorer",url:"https://astar-zkyoto.blockscout.com",standard:"EIP3091"}],6666665:[{name:"Safe(AnWang) Explorer",url:"http://safe4.anwang.com",icon:"safe-anwang",standard:"EIP3091"}],6666666:[{name:"Safe(AnWang) Testnet Explorer",url:"http://safe4-testnet.anwang.com",icon:"safe-anwang",standard:"EIP3091"}],7225878:[{name:"saakuru-explorer",url:"https://explorer.saakuru.network",standard:"EIP3091"}],7355310:[{name:"openvessel-mainnet",url:"https://mainnet-explorer.openvessel.io",standard:"none"}],7668378:[{name:"QL1 Testnet Explorer",url:"https://testnet.qom.one",icon:"qom",standard:"EIP3091"}],7777777:[{name:"Zora Network Explorer",url:"https://explorer.zora.energy",standard:"EIP3091"}],8007736:[{name:"piscan",url:"https://piscan.plian.org/child_0",standard:"EIP3091"}],8008135:[{name:"Fhenix Helium Explorer (Blockscout)",url:"https://explorer.helium.fhenix.zone",standard:"EIP3091"}],8080808:[{name:"Hokum Explorer",url:"https://explorer.hokum.gg",standard:"EIP3091"}],8794598:[{name:"HAP EVM Explorer (Blockscout)",url:"https://blockscout.hap.land",standard:"none",icon:"hap"}],9322252:[{name:"blockscout",url:"https://xcap-mainnet.explorer.xcap.network",icon:"blockscout",standard:"EIP3091"}],9322253:[{name:"blockscout",url:"https://xcap-milvine.explorer.xcap.network",icon:"blockscout",standard:"EIP3091"}],9999999:[{name:"blockscout",url:"https://blockscout.mainnet.fluence.dev",standard:"EIP3091"}],10067275:[{name:"piscan",url:"https://testnet.plian.org/child_test",standard:"EIP3091"}],10101010:[{name:"Soverun",url:"https://explorer.soverun.com",standard:"EIP3091"}],10241024:[{name:"AlienXChain Explorer",url:"https://explorer.alienxchain.io",standard:"EIP3091"}],10241025:[{name:"Hal Explorer",url:"https://hal-explorer.alienxchain.io",standard:"EIP3091"}],11145513:[{name:"blockscout",url:"https://blessnet-sepolia-testnet.explorer.caldera.xyz",icon:"bless",standard:"EIP3091"}],11155111:[{name:"etherscan-sepolia",url:"https://sepolia.etherscan.io",standard:"EIP3091"},{name:"otterscan-sepolia",url:"https://sepolia.otterscan.io",standard:"EIP3091"}],11155420:[{name:"opscout",url:"https://optimism-sepolia.blockscout.com",icon:"blockscout",standard:"EIP3091"}],12052024:[{name:"Tracehawk",url:"https://test-explorer.mementoblockchain.com",standard:"none"}],12227332:[{name:"neox-scan",url:"https://testnet.scan.banelabs.org",standard:"EIP3091"}],13068200:[{name:"coti devnet explorer",url:"https://explorer-devnet.coti.io",icon:"ethernal",standard:"EIP3091"}],14288640:[{name:"anduschain explorer",url:"https://explorer.anduschain.io",icon:"daon",standard:"none"}],16658437:[{name:"piscan",url:"https://testnet.plian.org/testnet",standard:"EIP3091"}],17000920:[{name:"Lambda Chain Testnet Explorer",url:"https://testscan.lambda.im",standard:"EIP3091"}],18071918:[{name:"FYI",url:"https://dym.fyi/r/mande",icon:"fyi",standard:"EIP3091"}],19850818:[{name:"DeepBrainChain Testnet",url:"https://blockscout-testnet.dbcscan.io",icon:"dbc",standard:"EIP3091"}],19880818:[{name:"DeepBrainChain Mainnet",url:"https://blockscout.dbcscan.io",icon:"dbc",standard:"EIP3091"}],20180427:[{name:"blockscout",url:"https://stability-testnet.blockscout.com",standard:"EIP3091"}],20180430:[{name:"spectrum",url:"https://spectrum.pub",standard:"none"}],20181205:[{name:"qkiscan",url:"https://qkiscan.io",standard:"EIP3091"}],20201022:[{name:"Pego Network Explorer",url:"https://scan.pego.network",standard:"EIP3091"}],20230825:[{name:"Vcity Explorer",url:"https://scan.vcity.app",icon:"vcity",standard:"EIP3091"}],20240324:[{name:"DeBank Chain Explorer",url:"https://sepolia-explorer.testnet.debank.com",standard:"EIP3091"}],20240603:[{name:"DBK Chain Explorer",url:"https://scan.dbkchain.io",standard:"EIP3091"}],20241133:[{name:"Swan Proxima Chain explorer",url:"https://proxima-explorer.swanchain.io",standard:"EIP3091"}],20482050:[{name:"Hokum Explorer",url:"https://testnet-explorer.hokum.gg",standard:"EIP3091"}],22052002:[{name:"Excelon explorer",url:"https://explorer.excelon.io",standard:"EIP3091"}],27082017:[{name:"exlscan",url:"https://testnet-explorer.exlscan.com",icon:"exl",standard:"EIP3091"}],27082022:[{name:"exlscan",url:"https://exlscan.com",icon:"exl",standard:"EIP3091"}],28122024:[{name:"scan-testnet",url:"https://scanv2-testnet.ancient8.gg",standard:"EIP3091"}],29032022:[{name:"FLXExplorer",url:"https://explorer.flaexchange.top",standard:"EIP3091"}],37084624:[{name:"Blockscout",url:"https://lanky-ill-funny-testnet.explorer.testnet.skalenodes.com",standard:"EIP3091"}],39916801:[{name:"TravelSong",url:"https://www.beastkingdom.io/travelsong",standard:"EIP3091"}],43214913:[{name:"maistesntet",url:"http://174.138.9.169:3006/?network=maistesntet",standard:"none"}],52164803:[{name:"blockscout",url:"https://blockscout.testnet.fluence.dev",standard:"EIP3091"}],65010003:[{name:"autonity-blockscout",url:"https://bakerloo.autonity.org",standard:"EIP3091"}],65100003:[{name:"autonity-blockscout",url:"https://piccadilly.autonity.org",standard:"EIP3091"}],68840142:[{name:"Frame Testnet Explorer",url:"https://explorer.testnet.frame.xyz",standard:"EIP3091"}],77787778:[{name:"blockscout",url:"https://test.0xhashscan.io",icon:"blockscout",standard:"EIP3091"}],79479957:[{name:"SX Toronto L2 Explorer",url:"https://explorerl2.toronto.sx.technology",standard:"EIP3091",icon:"SX"}],88888888:[{name:"teamscan",url:"https://teamblockchain.team",standard:"EIP3091"}],94204209:[{name:"blockscout",url:"https://polygon-blackberry.gelatoscout.com",icon:"blockscout",standard:"EIP3091"}],1e8:[{name:"ethos scan",url:"https://scan.ethos.cool",icon:"ethos",standard:"EIP3091"}],111557560:[{name:"Cyber Testnet Explorer",url:"https://testnet.cyberscan.co",standard:"EIP3091"}],123420111:[{name:"blockscout",url:"https://opcelestia-raspberry.gelatoscout.com",icon:"blockscout",standard:"EIP3091"}],161221135:[{name:"Blockscout",url:"https://testnet-explorer.plumenetwork.xyz",icon:"blockscout",standard:"EIP3091"}],168587773:[{name:"Blast Sepolia Explorer",url:"https://testnet.blastscan.io",icon:"blast",standard:"EIP3091"}],192837465:[{name:"Blockscout",url:"https://explorer.gather.network",icon:"gather",standard:"none"}],222000222:[{name:"explorer",url:"https://testnet.meldscan.io",icon:"meld",standard:"EIP3091"},{name:"explorer",url:"https://subnets-test.avax.network/meld",icon:"meld",standard:"EIP3091"}],245022926:[{name:"neonscan",url:"https://devnet.neonscan.org",standard:"EIP3091"},{name:"blockscout",url:"https://neon-devnet.blockscout.com",icon:"blockscout",standard:"EIP3091"}],245022934:[{name:"neonscan",url:"https://neonscan.org",standard:"EIP3091"},{name:"native",url:"https://neon.blockscout.com",standard:"EIP3091"}],278611351:[{name:"turbulent-unique-scheat",url:"https://turbulent-unique-scheat.explorer.mainnet.skalenodes.com",standard:"EIP3091"}],311752642:[{name:"OneLedger Block Explorer",url:"https://mainnet-explorer.oneledger.network",standard:"EIP3091"}],328527624:[{name:"Nal Sepolia Testnet Network Explorer",url:"https://testnet-scan.nal.network",standard:"EIP3091"}],333000333:[{name:"explorer",url:"https://meldscan.io",icon:"meld",standard:"EIP3091"},{name:"explorer",url:"https://subnets.avax.network/meld",icon:"meld",standard:"EIP3091"}],356256156:[{name:"Blockscout",url:"https://testnet-explorer.gather.network",icon:"gather",standard:"none"}],476462898:[{name:"blockscout",url:"https://skopje-explorer.gptprotocol.io",standard:"EIP3091",icon:"blockscout"}],486217935:[{name:"Blockscout",url:"https://devnet-explorer.gather.network",standard:"none"}],531050104:[{name:"Sophon Testnet",url:"https://explorer.testnet.sophon.xyz",icon:"sophon-testnet",standard:"none"}],888888888:[{name:"Ancient8 Explorer",url:"https://scan.ancient8.gg",standard:"EIP3091"}],889910245:[{name:"PTCESCAN Testnet Explorer",url:"https://explorer-testnet.ptcscan.io",standard:"EIP3091"}],889910246:[{name:"PTCESCAN Explorer",url:"https://ptcscan.io",standard:"EIP3091"}],974399131:[{name:"Blockscout",url:"https://giant-half-dual-testnet.explorer.testnet.skalenodes.com",standard:"EIP3091"}],999999999:[{name:"Zora Sepolia Testnet Network Explorer",url:"https://sepolia.explorer.zora.energy",standard:"EIP3091"}],1020352220:[{name:"Blockscout",url:"https://aware-fake-trim-testnet.explorer.testnet.skalenodes.com",standard:"EIP3091"}],1146703430:[{name:"CybEthExplorer",url:"http://cybeth1.cyberdeck.eu:8000",icon:"cyberdeck",standard:"none"}],1273227453:[{name:"Blockscout",url:"https://wan-red-ain.explorer.mainnet.skalenodes.com",icon:"human",standard:"EIP3091"}],1313161554:[{name:"aurorascan.dev",url:"https://aurorascan.dev",standard:"EIP3091"}],1313161555:[{name:"aurorascan.dev",url:"https://testnet.aurorascan.dev",standard:"EIP3091"}],1313161560:[{name:"PowerGold explorer",url:"https://explorer.powergold.aurora.dev",standard:"EIP3091"}],1350216234:[{name:"Blockscout",url:"https://parallel-stormy-spica.explorer.mainnet.skalenodes.com",standard:"EIP3091"}],1351057110:[{name:"Blockscout",url:"https://staging-fast-active-bellatrix.explorer.staging-v3.skalenodes.com",icon:"chaos",standard:"EIP3091"}],1380012617:[{name:"rarichain-explorer",url:"https://mainnet.explorer.rarichain.org",standard:"EIP3091"}],1380996178:[{name:"RaptorChain Explorer",url:"https://explorer.raptorchain.io",icon:"raptorchain_explorer",standard:"EIP3091"}],1444673419:[{name:"Blockscout",url:"https://juicy-low-small-testnet.explorer.testnet.skalenodes.com",standard:"EIP3091"}],1482601649:[{name:"Blockscout",url:"https://green-giddy-denebola.explorer.mainnet.skalenodes.com",standard:"EIP3091"}],1511670449:[{name:"blockscout",url:"https://explorer.gptprotocol.io",standard:"EIP3091",icon:"blockscout"}],1564830818:[{name:"Blockscout",url:"https://honorable-steel-rasalhague.explorer.mainnet.skalenodes.com",standard:"EIP3091"}],16666e5:[{name:"Harmony Block Explorer",url:"https://explorer.harmony.one",standard:"EIP3091"}],1666600001:[{name:"Harmony Block Explorer",url:"https://explorer.harmony.one/blocks/shard/1",standard:"none"}],16667e5:[{name:"Harmony Testnet Block Explorer",url:"https://explorer.testnet.harmony.one",standard:"EIP3091"}],1666700001:[{name:"Harmony Block Explorer",url:"https://explorer.testnet.harmony.one",standard:"none"}],1802203764:[{name:"Kakarot Scan",url:"https://sepolia.kakarotscan.org",standard:"EIP3091"},{name:"Kakarot Explorer",url:"https://sepolia-explorer.kakarot.org",standard:"EIP3091"}],1903648807:[{name:"Gemuchain Explorer (Blockscout)",url:"https://gemutest-explorer.gemuchain.io",standard:"EIP3091"}],1918988905:[{name:"rarichain-testnet-explorer",url:"https://explorer.rarichain.org",standard:"EIP3091"}],2046399126:[{name:"Blockscout",url:"https://elated-tan-skat.explorer.mainnet.skalenodes.com",standard:"EIP3091"}],4216137055:[{name:"OneLedger Block Explorer",url:"https://frankenstein-explorer.oneledger.network",standard:"EIP3091"}],11297108109:[{name:"Chainlens",url:"https://palm.chainlens.com",standard:"EIP3091"},{name:"Dora",url:"https://www.ondora.xyz/network/palm",standard:"none"}],11297108099:[{name:"Chainlens",url:"https://testnet.palm.chainlens.com",standard:"EIP3091"},{name:"Dora",url:"https://www.ondora.xyz/network/palm-testnet",standard:"none"}],37714555429:[{name:"Blockscout",url:"https://testnet-explorer-v2.xai-chain.net",standard:"EIP3091"}],88153591557:[{name:"blockscout",url:"https://arb-blueberry.gelatoscout.com",icon:"blockscout",standard:"EIP3091"}],111222333444:[{name:"Alphabet Explorer",url:"https://scan.alphabetnetwork.org",standard:"EIP3091"}],123420000220:[{name:"blockscout",url:"https://blockscout-123420000220.raas-testnet.gelato.digital",standard:"EIP3091"}],197710212030:[{name:"Ntity Blockscout",url:"https://blockscout.ntity.io",icon:"ntity",standard:"EIP3091"}],197710212031:[{name:"Ntity Haradev Blockscout",url:"https://blockscout.haradev.com",icon:"ntity",standard:"EIP3091"}],202402181627:[{name:"gmnetwork-testnet",url:"https://gmnetwork-testnet-explorer.alt.technology",standard:"EIP3091"}],383414847825:[{name:"zeniq-smart-chain-explorer",url:"https://smart.zeniq.net",standard:"EIP3091"}],666301171999:[{name:"ipdcscan",url:"https://scan.ipdc.io",standard:"EIP3091"}],2713017997578e3:[{name:"dchaint scan",url:"https://dchaintestnet-2713017997578000-1.testnet.sagaexplorer.io",standard:"EIP3091"}],2716446429837e3:[{name:"dchain scan",url:"https://dchain-2716446429837000-1.sagaexplorer.io",standard:"EIP3091"}]};var Ls={1:{name:"Ether",symbol:"ETH",decimals:18},2:{name:"Expanse Network Ether",symbol:"EXP",decimals:18},3:{name:"Ropsten Ether",symbol:"ETH",decimals:18},4:{name:"Rinkeby Ether",symbol:"ETH",decimals:18},5:{name:"Goerli Ether",symbol:"ETH",decimals:18},7:{name:"ThaiChain Ether",symbol:"TCH",decimals:18},8:{name:"Ubiq Ether",symbol:"UBQ",decimals:18},9:{name:"Ubiq Testnet Ether",symbol:"TUBQ",decimals:18},10:{name:"Ether",symbol:"ETH",decimals:18},11:{name:"Metadium Mainnet Ether",symbol:"META",decimals:18},12:{name:"Metadium Testnet Ether",symbol:"KAL",decimals:18},13:{name:"Staging Diodes",symbol:"sDIODE",decimals:18},14:{name:"Flare",symbol:"FLR",decimals:18},15:{name:"Diodes",symbol:"DIODE",decimals:18},16:{name:"Coston Flare",symbol:"CFLR",decimals:18},17:{name:"Thaifi Ether",symbol:"TFI",decimals:18},18:{name:"ThunderCore Testnet Token",symbol:"TST",decimals:18},19:{name:"Songbird",symbol:"SGB",decimals:18},20:{name:"Elastos",symbol:"ELA",decimals:18},21:{name:"Elastos",symbol:"tELA",decimals:18},22:{name:"Elastos",symbol:"ELA",decimals:18},23:{name:"Elastos",symbol:"tELA",decimals:18},24:{name:"KardiaChain",symbol:"KAI",decimals:18},25:{name:"Cronos",symbol:"CRO",decimals:18},26:{name:"L1 testcoin",symbol:"L1test",decimals:18},27:{name:"SHIBA INU COIN",symbol:"SHIB",decimals:18},29:{name:"L1 coin",symbol:"L1",decimals:18},30:{name:"Smart Bitcoin",symbol:"RBTC",decimals:18},31:{name:"Testnet Smart Bitcoin",symbol:"tRBTC",decimals:18},32:{name:"GoodData Testnet Ether",symbol:"GooD",decimals:18},33:{name:"GoodData Mainnet Ether",symbol:"GooD",decimals:18},34:{name:"SecureChain",symbol:"SCAI",decimals:18},35:{name:"TBWG Ether",symbol:"TBG",decimals:18},36:{name:"Dxchain",symbol:"DX",decimals:18},37:{name:"XPLA",symbol:"XPLA",decimals:18},38:{name:"Valorbit",symbol:"VAL",decimals:18},39:{name:"Unicorn Ultra",symbol:"U2U",decimals:18},40:{name:"Telos",symbol:"TLOS",decimals:18},41:{name:"Telos",symbol:"TLOS",decimals:18},42:{name:"LUKSO",symbol:"LYX",decimals:18},43:{name:"Pangolin Network Native Token",symbol:"PRING",decimals:18},44:{name:"Crab Network Native Token",symbol:"CRAB",decimals:18},45:{name:"Pangoro Network Native Token",symbol:"ORING",decimals:18},46:{name:"Darwinia Network Native Token",symbol:"RING",decimals:18},47:{name:"ACRIA",symbol:"ACRIA",decimals:18},48:{name:"Ennothem",symbol:"ETMP",decimals:18},49:{name:"Ennothem",symbol:"ETMP",decimals:18},50:{name:"XinFin",symbol:"XDC",decimals:18},51:{name:"XinFin",symbol:"TXDC",decimals:18},52:{name:"CoinEx Chain Native Token",symbol:"cet",decimals:18},53:{name:"CoinEx Chain Test Native Token",symbol:"cett",decimals:18},54:{name:"Belly",symbol:"BELLY",decimals:18},55:{name:"Zyx",symbol:"ZYX",decimals:18},56:{name:"BNB Chain Native Token",symbol:"BNB",decimals:18},57:{name:"Syscoin",symbol:"SYS",decimals:18},58:{name:"ONG",symbol:"ONG",decimals:18},60:{name:"GoChain Ether",symbol:"GO",decimals:18},61:{name:"Ether",symbol:"ETC",decimals:18},63:{name:"Mordor Ether",symbol:"METC",decimals:18},64:{name:"Ellaism Ether",symbol:"ELLA",decimals:18},65:{name:"OKExChain Global Utility Token in testnet",symbol:"OKT",decimals:18},66:{name:"OKXChain Global Utility Token",symbol:"OKT",decimals:18},67:{name:"DBChain Testnet",symbol:"DBM",decimals:18},68:{name:"SoterOne Mainnet Ether",symbol:"SOTER",decimals:18},69:{name:"Kovan Ether",symbol:"ETH",decimals:18},70:{name:"Hoo Smart Chain Native Token",symbol:"HOO",decimals:18},71:{name:"CFX",symbol:"CFX",decimals:18},72:{name:"DxChain Testnet",symbol:"DX",decimals:18},73:{name:"FNCY",symbol:"FNCY",decimals:18},74:{name:"EIDI",symbol:"EIDI",decimals:18},75:{name:"Decimal",symbol:"DEL",decimals:18},76:{name:"Mix Ether",symbol:"MIX",decimals:18},77:{name:"POA Sokol Ether",symbol:"SPOA",decimals:18},78:{name:"Primus Ether",symbol:"PETH",decimals:18},79:{name:"ZENITH",symbol:"ZENITH",decimals:18},80:{name:"RNA",symbol:"RNA",decimals:18},81:{name:"Japan Open Chain Token",symbol:"JOC",decimals:18},82:{name:"Meter",symbol:"MTR",decimals:18},83:{name:"Meter",symbol:"MTR",decimals:18},84:{name:"XRP",symbol:"XRP",decimals:18},85:{name:"GateToken",symbol:"GT",decimals:18},86:{name:"GateToken",symbol:"GT",decimals:18},87:{name:"Supernova",symbol:"SNT",decimals:18},88:{name:"Viction",symbol:"VIC",decimals:18},89:{name:"Viction",symbol:"VIC",decimals:18},90:{name:"Garizon",symbol:"GAR",decimals:18},91:{name:"Garizon",symbol:"GAR",decimals:18},92:{name:"Garizon",symbol:"GAR",decimals:18},93:{name:"Garizon",symbol:"GAR",decimals:18},94:{name:"BCTS",symbol:"BCTS",decimals:18},95:{name:"CADL",symbol:"CADL",decimals:18},96:{name:"Bitkub Coin",symbol:"KUB",decimals:18},97:{name:"BNB Chain Native Token",symbol:"tBNB",decimals:18},98:{name:"SIX evm token",symbol:"SIX",decimals:18},99:{name:"POA Network Core Ether",symbol:"POA",decimals:18},100:{name:"xDAI",symbol:"XDAI",decimals:18},101:{name:"EtherInc Ether",symbol:"ETI",decimals:18},102:{name:"Web3Games",symbol:"W3G",decimals:18},103:{name:"Worldland",symbol:"WLC",decimals:18},104:{name:"Kaiba Testnet Token",symbol:"tKAIBA",decimals:18},105:{name:"Web3Games",symbol:"W3G",decimals:18},106:{name:"Velas",symbol:"VLX",decimals:18},107:{name:"Nebula X",symbol:"NBX",decimals:18},108:{name:"ThunderCore Token",symbol:"TT",decimals:18},109:{name:"BONE Shibarium",symbol:"BONE",decimals:18},110:{name:"Proton",symbol:"XPR",decimals:4},111:{name:"EtherLite",symbol:"ETL",decimals:18},112:{name:"Gas IDR",symbol:"GIDR",decimals:18},113:{name:"Dehvo",symbol:"Deh",decimals:18},114:{name:"Coston2 Flare",symbol:"C2FLR",decimals:18},117:{name:"Uptick",symbol:"UPTICK",decimals:18},118:{name:"Arcology Coin",symbol:"Acol",decimals:18},119:{name:"NULS",symbol:"NULS",decimals:18},120:{name:"NULS",symbol:"NULS",decimals:18},121:{name:"Realchain",symbol:"REAL",decimals:18},122:{name:"Fuse",symbol:"FUSE",decimals:18},123:{name:"Spark",symbol:"SPARK",decimals:18},124:{name:"Decentralized Web Utility",symbol:"DWU",decimals:18},125:{name:"OYchain Token",symbol:"OY",decimals:18},126:{name:"OYchain Token",symbol:"OY",decimals:18},127:{name:"Factory 127 Token",symbol:"FETH",decimals:18},128:{name:"Huobi ECO Chain Native Token",symbol:"HT",decimals:18},129:{name:"INOV8",symbol:"INOV8",decimals:18},131:{name:"Engram Tokio Testnet",symbol:"tGRAM",decimals:18},132:{name:"Namefi Coin",symbol:"NFIC",decimals:18},133:{name:"HashKey EcoPoints",symbol:"HSK",decimals:18},134:{name:"xRLC",symbol:"xRLC",decimals:18},135:{name:"Alyx Testnet Native Token",symbol:"ALYX",decimals:18},136:{name:"Deamchain Native Token",symbol:"DEAM",decimals:18},137:{name:"MATIC",symbol:"MATIC",decimals:18},138:{name:"Ether",symbol:"ETH",decimals:18},139:{name:"WoopCoin",symbol:"WOOC",decimals:18},140:{name:"Eternal",symbol:"Eter",decimals:18},141:{name:"Belly",symbol:"BELLY",decimals:18},142:{name:"Prodax",symbol:"DAX",decimals:18},144:{name:"PHI",symbol:"Φ",decimals:18},145:{name:"SoraETH",symbol:"SETH",decimals:18},147:{name:"Flag",symbol:"FLAG",decimals:18},148:{name:"SMR",symbol:"SMR",decimals:18},150:{name:"SIX testnet evm token",symbol:"tSIX",decimals:18},151:{name:"Redbelly Network Coin",symbol:"RBNT",decimals:18},152:{name:"Redbelly Network Coin",symbol:"RBNT",decimals:18},153:{name:"Redbelly Network Coin",symbol:"RBNT",decimals:18},154:{name:"Redbelly Network Coin",symbol:"RBNT",decimals:18},155:{name:"TENET",symbol:"TENET",decimals:18},156:{name:"OEBlock",symbol:"OEB",decimals:18},157:{name:"BONE",symbol:"BONE",decimals:18},158:{name:"Roburna",symbol:"RBA",decimals:18},159:{name:"Roburna",symbol:"RBAT",decimals:18},160:{name:"Armonia Multichain Native Token",symbol:"AMAX",decimals:18},161:{name:"Armonia Multichain Native Token",symbol:"AMAX",decimals:18},162:{name:"Lightstreams PHT",symbol:"PHT",decimals:18},163:{name:"Lightstreams PHT",symbol:"PHT",decimals:18},164:{name:"Omni",symbol:"OMNI",decimals:18},166:{name:"Omni",symbol:"OMNI",decimals:18},167:{name:"ATOSHI",symbol:"ATOS",decimals:18},168:{name:"AIOZ",symbol:"AIOZ",decimals:18},169:{name:"Ether",symbol:"ETH",decimals:18},170:{name:"HOO",symbol:"HOO",decimals:18},172:{name:"Latam-Blockchain Resil Test Native Token",symbol:"usd",decimals:18},176:{name:"DC Native Token",symbol:"DCT",decimals:18},178:{name:"ABEY",symbol:"tABEY",decimals:18},179:{name:"ABEY",symbol:"ABEY",decimals:18},180:{name:"AME",symbol:"AME",decimals:18},181:{name:"WATER",symbol:"WATER",decimals:18},184:{name:"Dojima",symbol:"DOJ",decimals:18},185:{name:"Ether",symbol:"ETH",decimals:18},186:{name:"Seele",symbol:"Seele",decimals:18},187:{name:"Dojima",symbol:"DOJ",decimals:18},188:{name:"BTM",symbol:"BTM",decimals:18},189:{name:"BTM",symbol:"BTM",decimals:18},190:{name:"CommuDAO",symbol:"CMD",decimals:18},191:{name:"FFG",symbol:"FFG",decimals:18},193:{name:"Crypto Emergency",symbol:"CEM",decimals:18},195:{name:"X Layer Global Utility Token in testnet",symbol:"OKB",decimals:18},196:{name:"X Layer Global Utility Token",symbol:"OKB",decimals:18},197:{name:"Neutrinos",symbol:"NEUTR",decimals:18},198:{name:"Bitcoin",symbol:"BTC",decimals:18},199:{name:"BitTorrent",symbol:"BTT",decimals:18},200:{name:"xDAI",symbol:"xDAI",decimals:18},201:{name:"MOAC",symbol:"mc",decimals:18},202:{name:"Edgeless Wrapped Eth",symbol:"EwEth",decimals:18},204:{name:"BNB Chain Native Token",symbol:"BNB",decimals:18},205:{name:"Global Mobile Money Gateway",symbol:"$EKH",decimals:18},206:{name:"VinuChain",symbol:"VC",decimals:18},207:{name:"VinuChain",symbol:"VC",decimals:18},208:{name:"Notes",symbol:"utx",decimals:18},210:{name:"Bitnet",symbol:"BTN",decimals:18},211:{name:"Freight Trust Native",symbol:"0xF",decimals:18},212:{name:"Makalu MAPO",symbol:"MAPO",decimals:18},213:{name:"BSquared Token",symbol:"B2",decimals:18},214:{name:"Shina Inu",symbol:"SHI",decimals:18},217:{name:"MCD",symbol:"MCD",decimals:18},220:{name:"Sepolia Ether",symbol:"ETH",decimals:18},221:{name:"BlockEx",symbol:"XBE",decimals:18},223:{name:"Bitcoin",symbol:"BTC",decimals:18},224:{name:"Viridis Token",symbol:"VRD",decimals:18},225:{name:"LA",symbol:"LA",decimals:18},226:{name:"TLA",symbol:"TLA",decimals:18},228:{name:"FHE",symbol:"FHE",decimals:18},230:{name:"SwapDEX",symbol:"SDX",decimals:18},233:{name:"Ether",symbol:"ETH",decimals:18},234:{name:"JNFTC",symbol:"JNFTC",decimals:18},236:{name:"Deamchain Native Token",symbol:"DEAM",decimals:18},242:{name:"Plinga",symbol:"PLINGA",decimals:18},246:{name:"Energy Web Token",symbol:"EWT",decimals:18},248:{name:"OAS",symbol:"OAS",decimals:18},250:{name:"Fantom",symbol:"FTM",decimals:18},252:{name:"Frax Ether",symbol:"frxETH",decimals:18},254:{name:"Ether",symbol:"ETH",decimals:18},255:{name:"Ether",symbol:"ETH",decimals:18},256:{name:"Huobi ECO Chain Test Native Token",symbol:"htt",decimals:18},258:{name:"Setheum",symbol:"SETM",decimals:18},259:{name:"Neonlink Native Token",symbol:"NEON",decimals:18},261:{name:"testGURU",symbol:"tGURU",decimals:18},262:{name:"Suren",symbol:"SRN",decimals:18},266:{name:"Ankr",symbol:"ANKR",decimals:18},267:{name:"Testnet Ankr",symbol:"ANKR",decimals:18},268:{name:"Devnet Ankr",symbol:"ANKR",decimals:18},269:{name:"High Performance Blockchain Ether",symbol:"HPB",decimals:18},271:{name:"EgonCoin",symbol:"EGON",decimals:18},274:{name:"LaCoin",symbol:"LAC",decimals:18},278:{name:"FAI",symbol:"FAI",decimals:18},279:{name:"BPX",symbol:"BPX",decimals:18},282:{name:"Cronos zkEVM Test Coin",symbol:"zkTCRO",decimals:18},288:{name:"Ether",symbol:"ETH",decimals:18},291:{name:"Ether",symbol:"ETH",decimals:18},295:{name:"hbar",symbol:"HBAR",decimals:18},296:{name:"hbar",symbol:"HBAR",decimals:18},297:{name:"hbar",symbol:"HBAR",decimals:18},298:{name:"hbar",symbol:"HBAR",decimals:18},300:{name:"Ether",symbol:"ETH",decimals:18},302:{name:"Ether",symbol:"ETH",decimals:18},303:{name:"Neurochain",symbol:"tNCN",decimals:18},305:{name:"BTC",symbol:"BTC",decimals:18},307:{name:"Lovely",symbol:"LOVELY",decimals:18},308:{name:"Furtheon",symbol:"FTH",decimals:18},309:{name:"Wyzth",symbol:"WYZ",decimals:18},311:{name:"OMAX COIN",symbol:"OMAX",decimals:18},313:{name:"Neurochain",symbol:"NCN",decimals:18},314:{name:"filecoin",symbol:"FIL",decimals:18},321:{name:"KuCoin Token",symbol:"KCS",decimals:18},322:{name:"KuCoin Testnet Token",symbol:"tKCS",decimals:18},323:{name:"Cosvm",symbol:"CVM",decimals:18},324:{name:"Ether",symbol:"ETH",decimals:18},325:{name:"ETH",symbol:"ETH",decimals:18},326:{name:"ETH",symbol:"ETH",decimals:18},333:{name:"Web3Q",symbol:"W3Q",decimals:18},335:{name:"Jewel",symbol:"JEWEL",decimals:18},336:{name:"Shiden",symbol:"SDN",decimals:18},338:{name:"Cronos Test Coin",symbol:"TCRO",decimals:18},345:{name:"TAS",symbol:"TAS",decimals:18},360:{name:"Ether",symbol:"ETH",decimals:18},361:{name:"Theta Fuel",symbol:"TFUEL",decimals:18},363:{name:"Theta Fuel",symbol:"TFUEL",decimals:18},364:{name:"Theta Fuel",symbol:"TFUEL",decimals:18},365:{name:"Theta Fuel",symbol:"TFUEL",decimals:18},369:{name:"Pulse",symbol:"PLS",decimals:18},371:{name:"tCNT",symbol:"tCNT",decimals:18},380:{name:"filecoin",symbol:"FIL",decimals:18},381:{name:"filecoin",symbol:"FIL",decimals:18},385:{name:"Lisinski Ether",symbol:"LISINS",decimals:18},388:{name:"Cronos zkEVM CRO",symbol:"zkCRO",decimals:18},395:{name:"CADL",symbol:"CADL",decimals:18},397:{name:"NEAR",symbol:"NEAR",decimals:18},398:{name:"Testnet NEAR",symbol:"NEAR",decimals:18},399:{name:"USNT",symbol:"USNT",decimals:18},400:{name:"HyperonChain",symbol:"HPN",decimals:18},401:{name:"OZONE",symbol:"OZO",decimals:18},404:{name:"Ether",symbol:"ETH",decimals:18},411:{name:"Pepe",symbol:"PEPE",decimals:18},416:{name:"SX Network",symbol:"SX",decimals:18},418:{name:"Test LaCoin",symbol:"TLA",decimals:18},420:{name:"Goerli Ether",symbol:"ETH",decimals:18},422:{name:"Viridis Token",symbol:"VRD",decimals:18},424:{name:"Ether",symbol:"ETH",decimals:18},427:{name:"Zeeth Token",symbol:"ZTH",decimals:18},428:{name:"OAS",symbol:"OAS",decimals:18},434:{name:"Boyaa mainnet native coin",symbol:"BYC",decimals:18},443:{name:"Sepolia Ether",symbol:"ETH",decimals:18},444:{name:"Sepolia ETH",symbol:"ETH",decimals:18},456:{name:"ARZIO",symbol:"AZO",decimals:18},462:{name:"Areon",symbol:"TAREA",decimals:18},463:{name:"Areon",symbol:"AREA",decimals:18},480:{name:"Ether",symbol:"ETH",decimals:18},499:{name:"Rupaya",symbol:"RUPX",decimals:18},500:{name:"Camino",symbol:"CAM",decimals:18},501:{name:"Camino",symbol:"CAM",decimals:18},510:{name:"Ether",symbol:"ETH",decimals:18},512:{name:"Acuteangle Native Token",symbol:"AAC",decimals:18},513:{name:"Acuteangle Native Token",symbol:"AAC",decimals:18},516:{name:"Gear Zero Network Native Token",symbol:"GZN",decimals:18},520:{name:"XT Smart Chain Native Token",symbol:"XT",decimals:18},529:{name:"Firechain",symbol:"FIRE",decimals:18},530:{name:"Function X",symbol:"FX",decimals:18},534:{name:"CANDLE",symbol:"CNDL",decimals:18},537:{name:"BSC",symbol:"BNB",decimals:18},542:{name:"PAW",symbol:"PAW",decimals:18},545:{name:"FLOW",symbol:"FLOW",decimals:18},555:{name:"CLASS COIN",symbol:"CLASS",decimals:18},558:{name:"Tao",symbol:"TAO",decimals:18},568:{name:"Dogecoin",symbol:"DOGE",decimals:18},570:{name:"Syscoin",symbol:"SYS",decimals:18},571:{name:"Metatime Coin",symbol:"MTC",decimals:18},579:{name:"Filecoin",symbol:"FIL",decimals:18},592:{name:"Astar",symbol:"ASTR",decimals:18},595:{name:"Acala Mandala Token",symbol:"mACA",decimals:18},596:{name:"Karura Token",symbol:"KAR",decimals:18},597:{name:"Acala Token",symbol:"ACA",decimals:18},600:{name:"Meshnyan Testnet Native Token",symbol:"MESHT",decimals:18},601:{name:"VINE",symbol:"VNE",decimals:18},610:{name:"Darwin Devnet token",symbol:"DNA",decimals:18},612:{name:"EIOB",symbol:"EIOB",decimals:18},614:{name:"GLQ",symbol:"GLQ",decimals:18},624:{name:"Binary Token",symbol:"BNRY",decimals:18},625:{name:"Test BNRY",symbol:"BNRY",decimals:18},634:{name:"USDC",symbol:"USDC",decimals:18},646:{name:"FLOW",symbol:"FLOW",decimals:18},647:{name:"SX Network",symbol:"SX",decimals:18},648:{name:"Endurance Chain Native Token",symbol:"ACE",decimals:18},653:{name:"kalis",symbol:"KALIS",decimals:18},654:{name:"kalis",symbol:"KALIS",decimals:18},662:{name:"ulc",symbol:"ULC",decimals:18},666:{name:"Pixie Chain Testnet Native Token",symbol:"PCTT",decimals:18},667:{name:"LAOS",symbol:"LAOS",decimals:18},668:{name:"JuncaChain Native Token",symbol:"JGC",decimals:18},669:{name:"JuncaChain Testnet Native Token",symbol:"JGCT",decimals:18},686:{name:"Karura Token",symbol:"KAR",decimals:18},690:{name:"Ether",symbol:"ETH",decimals:18},700:{name:"Social",symbol:"SNS",decimals:18},701:{name:"Koi Network Native Token",symbol:"KRING",decimals:18},707:{name:"BCS Token",symbol:"BCS",decimals:18},708:{name:"BCS Testnet Token",symbol:"tBCS",decimals:18},710:{name:"Fury",symbol:"FURY",decimals:18},713:{name:"VRC Chain",symbol:"VRC",decimals:18},719:{name:"BONE",symbol:"BONE",decimals:18},721:{name:"Lycan",symbol:"LYC",decimals:18},727:{name:"Blucrates",symbol:"BLU",decimals:18},730:{name:"Lovely",symbol:"LOVELY",decimals:18},741:{name:"VNT",symbol:"VNT",decimals:18},742:{name:"Script",symbol:"SPAY",decimals:18},747:{name:"FLOW",symbol:"FLOW",decimals:18},766:{name:"Shiba Predator",symbol:"QOM",decimals:18},776:{name:"Openchain Testnet",symbol:"TOPC",decimals:18},777:{name:"cTH",symbol:"cTH",decimals:18},786:{name:"MAAL",symbol:"MAAL",decimals:18},787:{name:"Acala Token",symbol:"ACA",decimals:18},788:{name:"Aerochain Testnet",symbol:"TAero",decimals:18},789:{name:"Ether",symbol:"ETH",decimals:18},799:{name:"Test Rupaya",symbol:"TRUPX",decimals:18},800:{name:"LUCID",symbol:"LUCID",decimals:18},803:{name:"Haicoin",symbol:"HAIC",decimals:18},808:{name:"Portal Fantasy Token",symbol:"PFT",decimals:18},810:{name:"Haven1",symbol:"H1",decimals:18},813:{name:"Qitmeer",symbol:"MEER",decimals:18},814:{name:"Ether",symbol:"ETH",decimals:18},818:{name:"BeOne Chain Mainnet",symbol:"BOC",decimals:18},820:{name:"Callisto",symbol:"CLO",decimals:18},822:{name:"Bitcoin",symbol:"rBTC",decimals:18},831:{name:"CDT",symbol:"CDT",decimals:18},841:{name:"Tara",symbol:"TARA",decimals:18},842:{name:"Tara",symbol:"TARA",decimals:18},852:{name:"HongKong",symbol:"HK",decimals:18},859:{name:"Zeeth Token",symbol:"ZTH",decimals:18},868:{name:"FST",symbol:"FST",decimals:18},876:{name:"OAS",symbol:"OAS",decimals:18},877:{name:"Dexit network",symbol:"DXT",decimals:18},880:{name:"AMBROS",symbol:"AMBROS",decimals:18},888:{name:"Wancoin",symbol:"WAN",decimals:18},898:{name:"MAXI GAS",symbol:"MGAS",decimals:18},899:{name:"MAXI GAS",symbol:"MGAS",decimals:18},900:{name:"Garizon",symbol:"GAR",decimals:18},901:{name:"Garizon",symbol:"GAR",decimals:18},902:{name:"Garizon",symbol:"GAR",decimals:18},903:{name:"Garizon",symbol:"GAR",decimals:18},909:{name:"Portal Fantasy Token",symbol:"PFT",decimals:18},910:{name:"DecentraBone",symbol:"DBONE",decimals:18},911:{name:"TBTC",symbol:"TBTC",decimals:18},917:{name:"Firechain",symbol:"FIRE",decimals:18},919:{name:"Sepolia Ether",symbol:"ETH",decimals:18},927:{name:"Yidark",symbol:"YDK",decimals:18},943:{name:"Test Pulse",symbol:"tPLS",decimals:18},956:{name:"Ether",symbol:"ETH",decimals:18},957:{name:"Ether",symbol:"ETH",decimals:18},963:{name:"BTCC",symbol:"BTCC",decimals:18},969:{name:"Settled EthXY Token",symbol:"SEXY",decimals:18},970:{name:"Oort",symbol:"OORT",decimals:18},971:{name:"Oort",symbol:"CCN",decimals:18},972:{name:"Oort",symbol:"CCNA",decimals:18},977:{name:"Nepal Blockchain Network Ether",symbol:"YETI",decimals:18},979:{name:"Settled EthXY Token",symbol:"SEXY",decimals:18},980:{name:"Ether",symbol:"ETH",decimals:18},985:{name:"Memo",symbol:"CMEMO",decimals:18},987:{name:"BINARY",symbol:"BNRY",decimals:18},989:{name:"TOP",symbol:"TOP",decimals:6},990:{name:"eLiberty",symbol:"$EL",decimals:18},995:{name:"5ire Token",symbol:"5IRE",decimals:18},996:{name:"Wrapped ETH",symbol:"WETH",decimals:18},997:{name:"5ire Testnet Token",symbol:"T5IRE",decimals:18},998:{name:"Lucky",symbol:"L99",decimals:18},999:{name:"Wancoin",symbol:"WAN",decimals:18},1e3:{name:"GCD",symbol:"GCD",decimals:18},1001:{name:"KAIA",symbol:"KLAY",decimals:18},1003:{name:"Tectum",symbol:"TET",decimals:8},1004:{name:"T-EKTA",symbol:"T-EKTA",decimals:18},1007:{name:"Newton",symbol:"NEW",decimals:18},1008:{name:"Eurus",symbol:"EUN",decimals:18},1009:{name:"JNFTC",symbol:"JNFTC",decimals:18},1010:{name:"Evrice",symbol:"EVC",decimals:18},1011:{name:"Rebus",symbol:"REBUS",decimals:18},1012:{name:"Newton",symbol:"NEW",decimals:18},1022:{name:"Sakura",symbol:"SKU",decimals:18},1023:{name:"Clover",symbol:"CLV",decimals:18},1024:{name:"CLV",symbol:"CLV",decimals:18},1028:{name:"BitTorrent",symbol:"BTT",decimals:18},1030:{name:"CFX",symbol:"CFX",decimals:18},1031:{name:"PRX",symbol:"PRX",decimals:18},1038:{name:"tBRO",symbol:"tBRO",decimals:18},1039:{name:"BRO",symbol:"BRO",decimals:18},1073:{name:"SMR",symbol:"SMR",decimals:18},1075:{name:"IOTA",symbol:"IOTA",decimals:18},1079:{name:"MINTARA",symbol:"MNTR",decimals:18},1080:{name:"MINTARA",symbol:"MNTR",decimals:18},1088:{name:"Metis",symbol:"METIS",decimals:18},1089:{name:"HEART",symbol:"HEART",decimals:18},1099:{name:"MOAC",symbol:"mc",decimals:18},1100:{name:"DYM",symbol:"DYM",decimals:18},1101:{name:"Ether",symbol:"ETH",decimals:18},1107:{name:"BLXQ",symbol:"BLXQ",decimals:18},1108:{name:"BLXQ",symbol:"BLXQ",decimals:18},1111:{name:"WEMIX",symbol:"WEMIX",decimals:18},1112:{name:"TestnetWEMIX",symbol:"tWEMIX",decimals:18},1113:{name:"BSquared Token",symbol:"B2",decimals:18},1115:{name:"Core Blockchain Testnet Native Token",symbol:"tCORE",decimals:18},1116:{name:"Core Blockchain Native Token",symbol:"CORE",decimals:18},1117:{name:"Dogcoin",symbol:"DOGS",decimals:18},1123:{name:"Bitcoin",symbol:"BTC",decimals:18},1130:{name:"DeFiChain",symbol:"DFI",decimals:18},1131:{name:"DeFiChain",symbol:"DFI",decimals:18},1133:{name:"DeFiChain Token",symbol:"DFI",decimals:18},1135:{name:"Ether",symbol:"ETH",decimals:18},1138:{name:"SINSO",symbol:"SINSO",decimals:18},1139:{name:"MathChain",symbol:"MATH",decimals:18},1140:{name:"MathChain",symbol:"MATH",decimals:18},1147:{name:"Flag Testnet",symbol:"FLAG",decimals:18},1149:{name:"Plex Native Token",symbol:"PLEX",decimals:18},1170:{name:"Origin",symbol:"UOC",decimals:18},1177:{name:"Smart Host Teknoloji TESTNET",symbol:"tSHT",decimals:18},1188:{name:"ClubMos",symbol:"MOS",decimals:18},1197:{name:"Iora",symbol:"IORA",decimals:18},1200:{name:"CuckooAI",symbol:"CAI",decimals:18},1201:{name:"AVIS",symbol:"AVIS",decimals:18},1202:{name:"World Trade Token",symbol:"WTT",decimals:18},1209:{name:"SaitaBlockChain(SBC)",symbol:"STC",decimals:18},1210:{name:"CuckooAI",symbol:"CAI",decimals:18},1213:{name:"Popcat",symbol:"POP",decimals:18},1214:{name:"EnterCoin",symbol:"ENTER",decimals:18},1221:{name:"Ether",symbol:"ETH",decimals:18},1223:{name:"Ether",symbol:"ETH",decimals:18},1225:{name:"Hybrid",symbol:"HYB",decimals:18},1227:{name:"BTC Protocol",symbol:"BTCP",decimals:18},1229:{name:"Exzo",symbol:"XZO",decimals:18},1230:{name:"Ultron",symbol:"ULX",decimals:18},1231:{name:"Ultron",symbol:"ULX",decimals:18},1234:{name:"FITFI",symbol:"FITFI",decimals:18},1235:{name:"ITX",symbol:"ITX",decimals:18},1243:{name:"ARC",symbol:"ARC",decimals:18},1244:{name:"ARC",symbol:"ARC",decimals:18},1246:{name:"OMCOIN",symbol:"OM",decimals:18},1248:{name:"Dogether",symbol:"dogeth",decimals:18},1252:{name:"Crazy Internet Coin",symbol:"CICT",decimals:18},1280:{name:"HALO",symbol:"HO",decimals:18},1284:{name:"Glimmer",symbol:"GLMR",decimals:18},1285:{name:"Moonriver",symbol:"MOVR",decimals:18},1287:{name:"Dev",symbol:"DEV",decimals:18},1288:{name:"Rocs",symbol:"ROC",decimals:18},1291:{name:"Swisstronik",symbol:"SWTR",decimals:18},1311:{name:"Dos Native Token",symbol:"DOS",decimals:18},1313:{name:"JaiHo",symbol:"JaiHo",decimals:18},1314:{name:"Alyx Chain Native Token",symbol:"ALYX",decimals:18},1319:{name:"AIA Mainnet",symbol:"AIA",decimals:18},1320:{name:"AIA Testnet",symbol:"AIA",decimals:18},1328:{name:"Sei",symbol:"SEI",decimals:18},1329:{name:"Sei",symbol:"SEI",decimals:18},1337:{name:"Geth Testnet Ether",symbol:"ETH",decimals:18},1338:{name:"LAVA",symbol:"LAVA",decimals:18},1339:{name:"LAVA",symbol:"LAVA",decimals:18},1343:{name:"BLITZ GAS",symbol:"BGAS",decimals:18},1353:{name:"Crazy Internet Coin",symbol:"CIC",decimals:18},1369:{name:"Zakumi Chain Native Token",symbol:"ZAFIC",decimals:18},1370:{name:"Rama",symbol:"RAMA",decimals:18},1377:{name:"Rama",symbol:"tRAMA",decimals:18},1379:{name:"Kalar",symbol:"KLC",decimals:18},1388:{name:"SINSO",symbol:"SINSO",decimals:18},1392:{name:"Joseon Mun",symbol:"JSM",decimals:18},1414:{name:"Sepolia Ether",symbol:"ETH",decimals:18},1433:{name:"Rikeza",symbol:"RIK",decimals:18},1440:{name:"LAS",symbol:"LAS",decimals:18},1442:{name:"Ether",symbol:"ETH",decimals:18},1452:{name:"GANG",symbol:"GANG",decimals:18},1453:{name:"Metatime Coin",symbol:"MTC",decimals:18},1455:{name:"CTEX",symbol:"CTEX",decimals:18},1456:{name:"Ether",symbol:"ETH",decimals:18},1490:{name:"Vitruveo Coin",symbol:"VTRU",decimals:18},1499:{name:"iDos Games Coin",symbol:"IGC",decimals:18},1501:{name:"BTC",symbol:"BTC",decimals:18},1506:{name:"KSX",symbol:"KSX",decimals:18},1507:{name:"KSX",symbol:"KSX",decimals:18},1515:{name:"Beagle",symbol:"BG",decimals:18},1559:{name:"TENET",symbol:"TENET",decimals:18},1570:{name:"STARX",symbol:"STARX",decimals:18},1578:{name:"STARX",symbol:"STARX",decimals:18},1617:{name:"Ethereum Inscription",symbol:"ETINS",decimals:18},1618:{name:"Catecoin",symbol:"CATE",decimals:18},1620:{name:"Atheios Ether",symbol:"ATH",decimals:18},1625:{name:"Gravity",symbol:"G",decimals:18},1648:{name:"Pivotal Plus",symbol:"PLUS",decimals:18},1657:{name:"Bitcoin Asset",symbol:"BTA",decimals:18},1662:{name:"Licoin",symbol:"LCN",decimals:18},1663:{name:"Testnet Zen",symbol:"tZEN",decimals:18},1686:{name:"Sepolia Ether",symbol:"ETH",decimals:18},1687:{name:"Sepolia Ether",symbol:"ETH",decimals:18},1688:{name:"LUDAN",symbol:"LUDAN",decimals:18},1701:{name:"ANY",symbol:"ANY",decimals:18},1707:{name:"Jinda",symbol:"JINDA",decimals:18},1708:{name:"Jinda",symbol:"JINDA",decimals:18},1717:{name:"Doric Native Token",symbol:"DRC",decimals:18},1718:{name:"Palette Token",symbol:"PLT",decimals:18},1729:{name:"Ether",symbol:"ETH",decimals:18},1740:{name:"ETH",symbol:"ETH",decimals:18},1750:{name:"ETH",symbol:"ETH",decimals:18},1773:{name:"Grams",symbol:"GRAMS",decimals:18},1777:{name:"GANG",symbol:"GANG",decimals:18},1789:{name:"Ether",symbol:"ETH",decimals:18},1804:{name:"Climate awaReness Coin",symbol:"CRC",decimals:18},1807:{name:"Rabbit Analog Test Chain Native Token ",symbol:"rAna",decimals:18},1811:{name:"LIF3",symbol:"LIF3",decimals:18},1818:{name:"Cube Chain Native Token",symbol:"CUBE",decimals:18},1819:{name:"Cube Chain Test Native Token",symbol:"CUBET",decimals:18},1821:{name:"RUBY Smart Chain Native Token",symbol:"RUBY",decimals:18},1856:{name:"Teslafunds Ether",symbol:"TSF",decimals:18},1875:{name:"WhiteBIT Coin",symbol:"WBT",decimals:18},1881:{name:"Gitshock Cartenz",symbol:"tGTFX",decimals:18},1890:{name:"Ethereum",symbol:"ETH",decimals:18},1891:{name:"Ethereum",symbol:"ETH",decimals:18},1898:{name:"BOYACoin",symbol:"BOY",decimals:18},1899:{name:"RED",symbol:"RED",decimals:18},1904:{name:"SCN",symbol:"SCN",decimals:18},1907:{name:"Bitci",symbol:"BITCI",decimals:18},1908:{name:"Test Bitci",symbol:"TBITCI",decimals:18},1909:{name:"Merkle",symbol:"MRK",decimals:18},1911:{name:"Ether",symbol:"ETH",decimals:18},1912:{name:"RUBY Smart Chain Native Token",symbol:"tRUBY",decimals:18},1918:{name:"UPBEth",symbol:"UPBEth",decimals:18},1945:{name:"ONUS",symbol:"ONUS",decimals:18},1951:{name:"DOINX",symbol:"DOINX",decimals:18},1953:{name:"Selendra",symbol:"tSEL",decimals:18},1954:{name:"Dexilla Native Token",symbol:"DXZ",decimals:18},1956:{name:"BTC",symbol:"BTC",decimals:18},1961:{name:"Selendra",symbol:"SEL",decimals:18},1967:{name:"Eleanor Metacoin",symbol:"MTC",decimals:18},1969:{name:"Super Chain Native Token",symbol:"TSCS",decimals:18},1970:{name:"Super Chain Native Token",symbol:"SCS",decimals:18},1971:{name:"ATLR",symbol:"ATLR",decimals:18},1972:{name:"RedeCoin",symbol:"REDEV2",decimals:18},1975:{name:"ONUS",symbol:"ONUS",decimals:18},1984:{name:"Eurus",symbol:"EUN",decimals:18},1985:{name:"Tushy Token",symbol:"TUSHY",decimals:18},1986:{name:"Tushy Token",symbol:"TUSHY",decimals:18},1987:{name:"EtherGem Ether",symbol:"EGEM",decimals:18},1992:{name:"USD Coin",symbol:"USDC",decimals:18},1993:{name:"ETH",symbol:"ETH",decimals:18},1994:{name:"EKTA",symbol:"EKTA",decimals:18},1995:{name:"EDEXA",symbol:"EDX",decimals:18},1996:{name:"DMT",symbol:"DMT",decimals:18},1997:{name:"Kyoto",symbol:"KYOTO",decimals:18},1998:{name:"Kyoto",symbol:"KYOTO",decimals:18},2e3:{name:"Dogecoin",symbol:"DOGE",decimals:18},2001:{name:"milkAda",symbol:"mADA",decimals:18},2002:{name:"milkALGO",symbol:"mALGO",decimals:18},2004:{name:"MetaLink",symbol:"MTL",decimals:18},2008:{name:"CloudWalk Native Token",symbol:"CWN",decimals:18},2009:{name:"CloudWalk Native Token",symbol:"CWN",decimals:18},2013:{name:"GAS",symbol:"GAS",decimals:18},2014:{name:"NOW Coin",symbol:"NOW",decimals:18},2016:{name:"MainnetZ",symbol:"NetZ",decimals:18},2017:{name:"Telcoin",symbol:"TEL",decimals:18},2018:{name:"USD",symbol:"USD",decimals:18},2019:{name:"USD",symbol:"USD",decimals:18},2020:{name:"USD",symbol:"USD",decimals:18},2021:{name:"Edgeware",symbol:"EDG",decimals:18},2022:{name:"Testnet EDG",symbol:"tEDG",decimals:18},2023:{name:"test-Shuffle",symbol:"tSFL",decimals:18},2024:{name:"SWANETH",symbol:"sETH",decimals:18},2025:{name:"Rangers Protocol Gas",symbol:"RPG",decimals:18},2026:{name:"Edgeless Wrapped Eth",symbol:"EwEth",decimals:18},2031:{name:"Centrifuge",symbol:"CFG",decimals:18},2032:{name:"Catalyst CFG",symbol:"NCFG",decimals:18},2035:{name:"Phala",symbol:"PHA",decimals:18},2037:{name:"Shrapgas",symbol:"SHRAP",decimals:18},2038:{name:"SHRAPG",symbol:"SHRAPG",decimals:18},2039:{name:"TZERO",symbol:"TZERO",decimals:18},2040:{name:"VANRY",symbol:"VANRY",decimals:18},2043:{name:"NeuroWeb Token",symbol:"NEURO",decimals:12},2044:{name:"Shrapnel Gas Token",symbol:"SHRAPG",decimals:18},2045:{name:"BTC",symbol:"BTC",decimals:18},2047:{name:"STOS",symbol:"STOS",decimals:18},2048:{name:"STOS",symbol:"STOS",decimals:18},2049:{name:"Movo Smart Chain",symbol:"MOVO",decimals:18},2077:{name:"Qkacoin",symbol:"QKA",decimals:18},2088:{name:"Altair",symbol:"AIR",decimals:18},2100:{name:"Ecoball Coin",symbol:"ECO",decimals:18},2101:{name:"Espuma Coin",symbol:"ECO",decimals:18},2109:{name:"Sama Token",symbol:"SAMA",decimals:18},2112:{name:"UCASH",symbol:"UCASH",decimals:18},2121:{name:"Catena",symbol:"CMCX",decimals:18},2122:{name:"METAD",symbol:"METAD",decimals:18},2124:{name:"Metaunit",symbol:"MEU",decimals:18},2136:{name:"Dolarz",symbol:"Dolarz",decimals:18},2137:{name:"USD Coin",symbol:"USDC",decimals:18},2138:{name:"testEther",symbol:"tETH",decimals:18},2140:{name:"BTC",symbol:"BTC",decimals:18},2141:{name:"BTC",symbol:"BTC",decimals:18},2151:{name:"BOSAGORA",symbol:"BOA",decimals:18},2152:{name:"FRA",symbol:"FRA",decimals:18},2153:{name:"FRA",symbol:"FRA",decimals:18},2154:{name:"FRA",symbol:"FRA",decimals:18},2162:{name:"Coin",symbol:"COIN",decimals:18},2199:{name:"Sama Token",symbol:"SAMA",decimals:18},2202:{name:"Antofy",symbol:"ABN",decimals:18},2203:{name:"Bitcoin",symbol:"BTC",decimals:18},2213:{name:"EVA",symbol:"EVA",decimals:18},2221:{name:"TKava",symbol:"TKAVA",decimals:18},2222:{name:"Kava",symbol:"KAVA",decimals:18},2223:{name:"VNDT",symbol:"VNDT",decimals:18},2241:{name:"Krest",symbol:"KRST",decimals:18},2300:{name:"BOMB Token",symbol:"BOMB",decimals:18},2306:{name:"Ebro",symbol:"ebro",decimals:18},2309:{name:"Arev",symbol:"ARÉV",decimals:18},2311:{name:"Test LPX",symbol:"tstLPX",decimals:18},2323:{name:"SMA",symbol:"tSMA",decimals:18},2330:{name:"Altcoin",symbol:"ALT",decimals:18},2331:{name:"RSS3",symbol:"RSS3",decimals:18},2332:{name:"Soma Native Token",symbol:"SMA",decimals:18},2340:{name:"Atla",symbol:"ATLA",decimals:18},2342:{name:"Omnia",symbol:"OMNIA",decimals:18},2355:{name:"Ether",symbol:"ETH",decimals:18},2358:{name:"Sepolia Ether",symbol:"ETH",decimals:18},2370:{name:"Nexis",symbol:"NZT",decimals:18},2399:{name:"BOMB Token",symbol:"tBOMB",decimals:18},2400:{name:"OAS",symbol:"OAS",decimals:18},2410:{name:"Ether",symbol:"ETH",decimals:18},2415:{name:"XODEX Native Token",symbol:"XODEX",decimals:18},2425:{name:"King Of Legends",symbol:"KCC",decimals:18},2442:{name:"Ether",symbol:"ETH",decimals:18},2458:{name:"Hybrid Chain Native Token",symbol:"tHRC",decimals:18},2468:{name:"Hybrid Chain Native Token",symbol:"HRC",decimals:18},2484:{name:"Unicorn Ultra Nebulas Testnet",symbol:"U2U",decimals:18},2522:{name:"Frax Ether",symbol:"frxETH",decimals:18},2525:{name:"Injective",symbol:"INJ",decimals:18},2559:{name:"KorthoChain",symbol:"KTO",decimals:11},2569:{name:"TechPay",symbol:"TPC",decimals:18},2606:{name:"Climate awaReness Coin",symbol:"CRC",decimals:18},2611:{name:"Redlight Coin",symbol:"REDLC",decimals:18},2612:{name:"EZChain",symbol:"EZC",decimals:18},2613:{name:"EZChain",symbol:"EZC",decimals:18},2625:{name:"WhiteBIT Coin",symbol:"WBT",decimals:18},2648:{name:"BTC",symbol:"BTC",decimals:18},2649:{name:"BTC",symbol:"BTC",decimals:18},2662:{name:"Ether",symbol:"ETH",decimals:18},2710:{name:"Ether",symbol:"ETH",decimals:18},2718:{name:"KLAOS",symbol:"KLAOS",decimals:18},2730:{name:"tXR",symbol:"tXR",decimals:18},2731:{name:"TIME",symbol:"TIME",decimals:18},2748:{name:"Ether",symbol:"ETH",decimals:18},2777:{name:"Ether",symbol:"ETH",decimals:18},2810:{name:"Ether",symbol:"ETH",decimals:18},2882:{name:"IOTA",symbol:"IOTA",decimals:18},2907:{name:"Elux Chain",symbol:"ELUX",decimals:18},2911:{name:"TOPIA",symbol:"TOPIA",decimals:18},2941:{name:"Xenon Testnet",symbol:"tXEN",decimals:18},2999:{name:"BTY",symbol:"BTY",decimals:18},3e3:{name:"CPAY",symbol:"CPAY",decimals:18},3001:{name:"CPAY",symbol:"CPAY",decimals:18},3003:{name:"Canxium",symbol:"CAU",decimals:18},3011:{name:"3ULL",symbol:"3ULL",decimals:18},3031:{name:"Orlando",symbol:"ORL",decimals:18},3033:{name:"Rebus",symbol:"REBUS",decimals:18},3068:{name:"Bifrost",symbol:"BFC",decimals:18},3073:{name:"Move",symbol:"MOVE",decimals:18},3084:{name:"XLNetwork",symbol:"XLN",decimals:18},3100:{name:"IMMU",symbol:"IMMU",decimals:18},3102:{name:"VFI",symbol:"VFI",decimals:18},3109:{name:"BTC",symbol:"BTC",decimals:18},3110:{name:"BTC",symbol:"BTC",decimals:18},3269:{name:"Dubxcoin mainnet",symbol:"DUBX",decimals:18},3270:{name:"Dubxcoin testnet",symbol:"TDUBX",decimals:18},3306:{name:"Debounce Network",symbol:"DB",decimals:18},3331:{name:"ZCore",symbol:"ZCR",decimals:18},3333:{name:"Ether",symbol:"ETH",decimals:18},3334:{name:"Web3Q",symbol:"W3Q",decimals:18},3335:{name:"Ether",symbol:"ETH",decimals:18},3338:{name:"peaq",symbol:"PEAQ",decimals:18},3400:{name:"PRB",symbol:"PRB",decimals:18},3424:{name:"Evolve",symbol:"EVO",decimals:18},3434:{name:"SCAI",symbol:"SCAI",decimals:18},3456:{name:"Bitcoin",symbol:"BTC",decimals:18},3490:{name:"GTC",symbol:"GTC",decimals:18},3500:{name:"PRB",symbol:"PRB",decimals:18},3501:{name:"JFIN Coin",symbol:"JFIN",decimals:18},3601:{name:"pando-token",symbol:"PTX",decimals:18},3602:{name:"pando-token",symbol:"PTX",decimals:18},3630:{name:"Tycooncoin",symbol:"TYCO",decimals:18},3636:{name:"Botanix",symbol:"BTC",decimals:18},3637:{name:"Botanix",symbol:"BTC",decimals:18},3639:{name:"ISLAMICOIN",symbol:"ISLAMI",decimals:18},3645:{name:"ISLAMICOIN",symbol:"ISLAMI",decimals:18},3666:{name:"J",symbol:"J",decimals:18},3690:{name:"Bittex",symbol:"BTX",decimals:18},3693:{name:"Empire",symbol:"EMPIRE",decimals:18},3698:{name:"SenjePowers",symbol:"SPC",decimals:18},3699:{name:"SenjePowers",symbol:"SPC",decimals:18},3737:{name:"Crossbell Token",symbol:"CSB",decimals:18},3776:{name:"Ether",symbol:"ETH",decimals:18},3797:{name:"AlveyCoin",symbol:"ALV",decimals:18},3799:{name:"Testnet Tangle Network Token",symbol:"tTNT",decimals:18},3885:{name:"Ether",symbol:"ETH",decimals:18},3888:{name:"KalyCoin",symbol:"KLC",decimals:18},3889:{name:"KalyCoin",symbol:"KLC",decimals:18},3912:{name:"DRAC",symbol:"DRAC",decimals:18},3939:{name:"DOS",symbol:"DOS",decimals:18},3966:{name:"DYNO Token",symbol:"DYNO",decimals:18},3967:{name:"DYNO Token",symbol:"tDYNO",decimals:18},3993:{name:"Sepolia Ether",symbol:"ETH",decimals:18},3999:{name:"YCC",symbol:"YCC",decimals:18},4e3:{name:"OZONE",symbol:"OZO",decimals:18},4001:{name:"Peperium Chain Testnet",symbol:"PERIUM",decimals:18},4002:{name:"Fantom",symbol:"FTM",decimals:18},4003:{name:"XN",symbol:"XN",decimals:18},4040:{name:"Carbonium",symbol:"tCBR",decimals:18},4048:{name:"GP Token",symbol:"GP",decimals:18},4058:{name:"FTN",symbol:"FTN",decimals:18},4061:{name:"Ether",symbol:"ETH",decimals:18},4062:{name:"Sepolia Ether",symbol:"ETH",decimals:18},4078:{name:"Ether",symbol:"ETH",decimals:18},4080:{name:"Tobe Coin",symbol:"TBC",decimals:18},4090:{name:"FTN",symbol:"FTN",decimals:18},4096:{name:"BNI",symbol:"$BNI",decimals:18},4099:{name:"BNI",symbol:"$BNI",decimals:18},4102:{name:"testAIOZ",symbol:"AIOZ",decimals:18},4139:{name:"HEART",symbol:"HEART",decimals:18},4141:{name:"Tipboxcoin",symbol:"TPBX",decimals:18},4157:{name:"XFI",symbol:"XFI",decimals:18},4162:{name:"SX Network",symbol:"SX",decimals:18},4181:{name:"PHI",symbol:"Φ",decimals:18},4200:{name:"BTC",symbol:"BTC",decimals:18},4201:{name:"TestLYX",symbol:"LYXt",decimals:18},4202:{name:"Sepolia Ether",symbol:"ETH",decimals:18},4242:{name:"Nexi",symbol:"NEXI",decimals:18},4243:{name:"NexiV2",symbol:"NEXI",decimals:18},4337:{name:"Beam",symbol:"BEAM",decimals:18},4400:{name:"Credit",symbol:"CREDIT",decimals:18},4444:{name:"Htmlcoin",symbol:"HTML",decimals:8},4460:{name:"Sepolia Ether",symbol:"ETH",decimals:18},4488:{name:"Hydra",symbol:"HYDRA",decimals:18},4544:{name:"Emoney Network",symbol:"EMYC",decimals:18},4613:{name:"VERY",symbol:"VERY",decimals:18},4653:{name:"Ether",symbol:"ETH",decimals:18},4689:{name:"IoTeX",symbol:"IOTX",decimals:18},4690:{name:"IoTeX",symbol:"IOTX",decimals:18},4759:{name:"MEVerse",symbol:"MEV",decimals:18},4777:{name:"BlackFort Testnet Token",symbol:"TBXN",decimals:18},4801:{name:"Sepolia Ether",symbol:"ETH",decimals:18},4893:{name:"Globel Chain",symbol:"GC",decimals:18},4918:{name:"Venidium",symbol:"XVM",decimals:18},4919:{name:"Venidium",symbol:"XVM",decimals:18},4999:{name:"BlackFort Token",symbol:"BXN",decimals:18},5e3:{name:"Mantle",symbol:"MNT",decimals:18},5001:{name:"Testnet Mantle",symbol:"MNT",decimals:18},5002:{name:"UNIT",symbol:"UNIT",decimals:18},5003:{name:"Sepolia Mantle",symbol:"MNT",decimals:18},5005:{name:"UNIT",symbol:"UNIT",decimals:18},5039:{name:"ONIGIRI",symbol:"ONGR",decimals:18},5040:{name:"ONIGIRI",symbol:"ONGR",decimals:18},5051:{name:"Ether",symbol:"ETH",decimals:18},5100:{name:"S-Ether",symbol:"ETH",decimals:18},5101:{name:"Ether",symbol:"ETH",decimals:18},5102:{name:"ETH",symbol:"ETH",decimals:18},5103:{name:"ETH",symbol:"ETH",decimals:18},5104:{name:"ETH",symbol:"ETH",decimals:18},5105:{name:"ETH",symbol:"ETH",decimals:18},5106:{name:"ETH",symbol:"ETH",decimals:18},5112:{name:"Ether",symbol:"ETH",decimals:18},5151:{name:"ZKME",symbol:"ZKME",decimals:18},5165:{name:"FTN",symbol:"FTN",decimals:18},5169:{name:"Service Unit Token",symbol:"SU",decimals:18},5177:{name:"TLChain Network",symbol:"TLC",decimals:18},5197:{name:"EraSwap",symbol:"ES",decimals:18},5234:{name:"eHMND",symbol:"eHMND",decimals:18},5315:{name:"UZMI",symbol:"UZMI",decimals:18},5317:{name:"TestBSC",symbol:"tBNB",decimals:18},5321:{name:"ITX",symbol:"ITX",decimals:18},5333:{name:"Netsbo",symbol:"NETS",decimals:18},5353:{name:"Tritanium Native Token",symbol:"tTRN",decimals:18},5372:{name:"Setl",symbol:"SETL",decimals:18},5424:{name:"EDEXA",symbol:"EDX",decimals:18},5439:{name:"EGAX",symbol:"EGAX",decimals:18},5522:{name:"VEX EVM TESTNET",symbol:"VEX",decimals:18},5551:{name:"Ether",symbol:"ETH",decimals:18},5555:{name:"Oasys",symbol:"OAS",decimals:18},5611:{name:"BNB Chain Native Token",symbol:"tBNB",decimals:18},5615:{name:"tARC",symbol:"tARC",decimals:18},5616:{name:"Test Arct",symbol:"tARCT",decimals:18},5656:{name:"QIE Blockchain",symbol:"QIE",decimals:18},5675:{name:"Test Filecoin",symbol:"tFIL",decimals:18},5678:{name:"TANGO",symbol:"TANGO",decimals:18},5700:{name:"Testnet Syscoin",symbol:"tSYS",decimals:18},5729:{name:"Hik Token",symbol:"HIK",decimals:18},5758:{name:"SatoshiChain Coin",symbol:"SATS",decimals:18},5777:{name:"Ganache Test Ether",symbol:"ETH",decimals:18},5845:{name:"Tangle",symbol:"TNT",decimals:18},5851:{name:"ONG",symbol:"ONG",decimals:18},5858:{name:"Chang Coin Thailand",symbol:"CTH",decimals:18},5869:{name:"Rubid",symbol:"RBD",decimals:18},6e3:{name:"BounceBit",symbol:"BB",decimals:18},6001:{name:"BounceBit",symbol:"BB",decimals:18},6065:{name:"TRES",symbol:"TRES",decimals:18},6066:{name:"TRES",symbol:"TRES",decimals:18},6102:{name:"CC",symbol:"tCC",decimals:18},6118:{name:"UPTN",symbol:"UPTN",decimals:18},6119:{name:"UPTN",symbol:"UPTN",decimals:18},6283:{name:"LAOS",symbol:"LAOS",decimals:18},6321:{name:"test-EAura",symbol:"eAura",decimals:18},6322:{name:"Aura",symbol:"AURA",decimals:18},6363:{name:"Digit Coin",symbol:"DGC",decimals:18},6398:{name:"ETH",symbol:"ETH",decimals:18},6502:{name:"Peerpay",symbol:"P2P",decimals:18},6550:{name:"Flamma",symbol:"FLA",decimals:18},6552:{name:"Scolcoin",symbol:"SCOL",decimals:18},6565:{name:"FOX Native Token",symbol:"tFOX",decimals:18},6626:{name:"Pixie Chain Native Token",symbol:"PIX",decimals:18},6660:{name:"Latest",symbol:"LATEST",decimals:18},6661:{name:"Cybria",symbol:"CYBA",decimals:18},6666:{name:"Cybria",symbol:"CYBA",decimals:18},6678:{name:"Edge Matrix Chain Token",symbol:"EMC",decimals:18},6688:{name:"Eris",symbol:"ERIS",decimals:18},6699:{name:"OX",symbol:"OX",decimals:18},6701:{name:"PAXB",symbol:"PAXB",decimals:18},6779:{name:"compverse",symbol:"CPV",decimals:18},6789:{name:"Standard in Gold",symbol:"STAND",decimals:18},6805:{name:"Ether",symbol:"ETH",decimals:18},6806:{name:"Sepolia Ether",symbol:"ETH",decimals:18},6868:{name:"POOLS Native Token",symbol:"POOLS",decimals:18},6969:{name:"Tomb",symbol:"TOMB",decimals:18},6999:{name:"PSC",symbol:"PSC",decimals:18},7e3:{name:"Zeta",symbol:"ZETA",decimals:18},7001:{name:"Zeta",symbol:"ZETA",decimals:18},7007:{name:"BST Chain",symbol:"BSTC",decimals:18},7027:{name:"Ella",symbol:"ELLA",decimals:18},7070:{name:"Planq",symbol:"PLQ",decimals:18},7077:{name:"Planq",symbol:"tPLQ",decimals:18},7100:{name:"Dai Stablecoin",symbol:"DAI",decimals:18},7118:{name:"Help The Homeless Coin",symbol:"HTH",decimals:18},7171:{name:"BITROCK",symbol:"BROCK",decimals:18},7222:{name:"NIBI",symbol:"NIBI",decimals:18},7244:{name:"The ZEUS Token",symbol:"ZEUS",decimals:18},7300:{name:"OAS",symbol:"OAS",decimals:18},7331:{name:"KLYNTAR",symbol:"KLY",decimals:18},7332:{name:"Zencash",symbol:"ZEN",decimals:18},7341:{name:"Shyft",symbol:"SHYFT",decimals:18},7484:{name:"Raba",symbol:"RABA",decimals:18},7518:{name:"MEVerse",symbol:"MEV",decimals:18},7560:{name:"Ether",symbol:"ETH",decimals:18},7575:{name:"Testnet ADIL",symbol:"ADIL",decimals:18},7576:{name:"ADIL",symbol:"ADIL",decimals:18},7668:{name:"XRP",symbol:"XRP",decimals:6},7672:{name:"XRP",symbol:"XRP",decimals:6},7700:{name:"Canto",symbol:"CANTO",decimals:18},7701:{name:"Testnet Canto",symbol:"CANTO",decimals:18},7771:{name:"BITROCK",symbol:"BROCK",decimals:18},7774:{name:"GDCC",symbol:"GDCC",decimals:18},7775:{name:"GDCC",symbol:"GDCC",decimals:18},7776:{name:"PandaSea Coin",symbol:"PANDA",decimals:18},7777:{name:"Nano Machines",symbol:"NMAC",decimals:18},7778:{name:"ORENIUM",symbol:"ORE",decimals:18},7798:{name:"USDT Testnet",symbol:"USDT",decimals:18},7860:{name:"MAAL",symbol:"MAAL",decimals:18},7862:{name:"MAAL",symbol:"MAAL",decimals:18},7863:{name:"MAAL",symbol:"MAAL",decimals:18},7878:{name:"Hazlor Test Coin",symbol:"TSCAS",decimals:18},7887:{name:"Ethereum",symbol:"ETH",decimals:18},7895:{name:"ARD",symbol:"tARD",decimals:18},7923:{name:"Dot Blox",symbol:"DTBX",decimals:18},7924:{name:"MO",symbol:"MO",decimals:18},7979:{name:"DOS",symbol:"DOS",decimals:18},8e3:{name:"Tele",symbol:"TELE",decimals:18},8001:{name:"Tele",symbol:"TELE",decimals:18},8008:{name:"Ether",symbol:"ETH",decimals:18},8029:{name:"MDGL Token",symbol:"MDGLT",decimals:18},8047:{name:"Best Of All Time Token",symbol:"BOAT",decimals:18},8054:{name:"Ether",symbol:"ETH",decimals:18},8080:{name:"Shardeum SHM",symbol:"SHM",decimals:18},8081:{name:"Shardeum SHM",symbol:"SHM",decimals:18},8082:{name:"Shardeum SHM",symbol:"SHM",decimals:18},8086:{name:"Bitcoin",symbol:"BTC",decimals:18},8087:{name:"E-Dollar",symbol:"USD",decimals:18},8098:{name:"StreamuX",symbol:"SmuX",decimals:18},8131:{name:"Qitmeer Testnet",symbol:"MEER-T",decimals:18},8132:{name:"Qitmeer Mixnet",symbol:"MEER-M",decimals:18},8133:{name:"Qitmeer Privnet",symbol:"MEER-P",decimals:18},8134:{name:"Amana Mainnet",symbol:"MEER",decimals:18},8135:{name:"Flana Mainnet",symbol:"MEER",decimals:18},8136:{name:"Mizana Mainnet",symbol:"MEER",decimals:18},8181:{name:"Testnet BeOne Chain",symbol:"tBOC",decimals:18},8192:{name:"TQF",symbol:"TQF",decimals:18},8194:{name:"tTQF",symbol:"TTQF",decimals:18},8217:{name:"KAIA",symbol:"KLAY",decimals:18},8227:{name:"FUEL",symbol:"FUEL",decimals:18},8272:{name:"BLOCKTON",symbol:"BTON",decimals:18},8285:{name:"Kortho Test",symbol:"KTO",decimals:11},8329:{name:"Lorenzo stBTC",symbol:"stBTC",decimals:18},8333:{name:"ETH",symbol:"ETH",decimals:18},8387:{name:"Functionally Universal Coin Kind",symbol:"FUCK",decimals:18},8453:{name:"Ether",symbol:"ETH",decimals:18},8545:{name:"Chakra",symbol:"CKR",decimals:18},8654:{name:"Toki",symbol:"TOKI",decimals:18},8655:{name:"Toki",symbol:"TOKI",decimals:18},8668:{name:"Hela HLUSD",symbol:"HLUSD",decimals:18},8723:{name:"TOOL Global",symbol:"OLO",decimals:18},8724:{name:"TOOL Global",symbol:"OLO",decimals:18},8726:{name:"Storagechain",symbol:"STOR",decimals:18},8727:{name:"Storagechain",symbol:"STOR",decimals:18},8732:{name:"Bullions",symbol:"BLN",decimals:18},8738:{name:"Alph Network",symbol:"ALPH",decimals:18},8768:{name:"TMY",symbol:"TMY",decimals:18},8822:{name:"IOTA",symbol:"IOTA",decimals:18},8844:{name:"tHydra",symbol:"tHYDRA",decimals:18},8848:{name:"MARO",symbol:"MARO",decimals:18},8866:{name:"Ether",symbol:"ETH",decimals:18},8869:{name:"LIF3",symbol:"LIF3",decimals:18},8880:{name:"Unique",symbol:"UNQ",decimals:18},8881:{name:"Quartz",symbol:"QTZ",decimals:18},8882:{name:"Opal",symbol:"UNQ",decimals:18},8883:{name:"Quartz",symbol:"QTZ",decimals:18},8886:{name:"Ave Native Token",symbol:"tAVE",decimals:18},8888:{name:"XETA",symbol:"XETA",decimals:18},8889:{name:"VSC",symbol:"VSC",decimals:18},8890:{name:"ORENIUM",symbol:"tORE",decimals:18},8898:{name:"Mammoth Token",symbol:"MMT",decimals:18},8899:{name:"JIBCOIN",symbol:"JBC",decimals:18},8911:{name:"ALG",symbol:"ALG",decimals:18},8912:{name:"ALG",symbol:"ALG",decimals:18},8921:{name:"ALG",symbol:"ALG",decimals:18},8922:{name:"ALG",symbol:"ALG",decimals:18},8989:{name:"Giant Mammoth Coin",symbol:"GMMT",decimals:18},8995:{name:"BERG",symbol:"U+25B3",decimals:18},9e3:{name:"test-Evmos",symbol:"tEVMOS",decimals:18},9001:{name:"Evmos",symbol:"EVMOS",decimals:18},9007:{name:"Shido Testnet Token",symbol:"SHIDO",decimals:18},9008:{name:"Shido Mainnet Token",symbol:"SHIDO",decimals:18},9012:{name:"BerylBit Chain Native Token",symbol:"BRB",decimals:18},9024:{name:"Nexa Testnet Token",symbol:"NEXB",decimals:18},9025:{name:"Nexa Mainnet Token",symbol:"NEXB",decimals:18},9069:{name:"Apex Fusion Token",symbol:"AP3X",decimals:18},9070:{name:"Apex Fusion Token",symbol:"tAP3X",decimals:18},9100:{name:"GN Coin",symbol:"GNC",decimals:18},9223:{name:"Codefin",symbol:"COF",decimals:18},9339:{name:"Dogcoin",symbol:"DOGS",decimals:18},9372:{name:"OAS",symbol:"OAS",decimals:18},9393:{name:"Sepolia Ether",symbol:"ETH",decimals:18},9395:{name:"MTHN",symbol:"MTHN",decimals:18},9496:{name:"Testnet WeaveVM Token",symbol:"tWVM",decimals:18},9527:{name:"Rangers Protocol Gas",symbol:"tRPG",decimals:18},9528:{name:"QET",symbol:"QET",decimals:18},9559:{name:"Neonlink Native Token",symbol:"tNEON",decimals:18},9700:{name:"Oort",symbol:"OORT",decimals:18},9728:{name:"Boba Token",symbol:"BOBA",decimals:18},9768:{name:"MainnetZ",symbol:"NetZ",decimals:18},9779:{name:"Pepe",symbol:"WPEPE",decimals:18},9789:{name:"Tabi",symbol:"TABI",decimals:18},9790:{name:"swth",symbol:"SWTH",decimals:18},9792:{name:"swth",symbol:"SWTH",decimals:18},9797:{name:"OptimusZ7",symbol:"OZ7",decimals:18},9818:{name:"tIMP",symbol:"tIMP",decimals:18},9819:{name:"IMP",symbol:"IMP",decimals:18},9876:{name:"BINARY",symbol:"BNRY",decimals:18},9888:{name:"Dogecoin",symbol:"DOGE",decimals:18},9898:{name:"Larissa",symbol:"LRS",decimals:18},9911:{name:"ESPENTO",symbol:"SPENT",decimals:18},9977:{name:"MIND Coin",symbol:"tMIND",decimals:18},9980:{name:"BNB Chain Native Token",symbol:"BNB",decimals:18},9981:{name:"V2X",symbol:"V2X",decimals:18},9990:{name:"Agung",symbol:"AGNG",decimals:18},9996:{name:"MIND Coin",symbol:"MIND",decimals:18},9997:{name:"Ether",symbol:"ETH",decimals:18},9998:{name:"Ztcer",symbol:"ZTC",decimals:5},9999:{name:"MYN",symbol:"MYN",decimals:18},1e4:{name:"Bitcoin Cash",symbol:"BCH",decimals:18},10001:{name:"Bitcoin Cash Test Token",symbol:"BCHT",decimals:18},10024:{name:"Gon Token",symbol:"GT",decimals:18},10081:{name:"Japan Open Chain Testnet Token",symbol:"JOCT",decimals:18},10086:{name:"Ether",symbol:"ETH",decimals:18},10096:{name:"MNV",symbol:"MNV",decimals:18},10101:{name:"GEN",symbol:"GEN",decimals:18},10200:{name:"Chiado xDAI",symbol:"XDAI",decimals:18},10201:{name:"Power",symbol:"PWR",decimals:18},10222:{name:"GLC",symbol:"GLC",decimals:18},10242:{name:"Arthera",symbol:"AA",decimals:18},10243:{name:"Arthera",symbol:"AA",decimals:18},10248:{name:"0XT",symbol:"0XT",decimals:18},10321:{name:"TAO",symbol:"TAO",decimals:18},10324:{name:"TAO",symbol:"TAO",decimals:18},10395:{name:"Worldland",symbol:"WLC",decimals:18},10507:{name:"NUM Token",symbol:"NUM",decimals:18},10508:{name:"NUM Token",symbol:"NUM",decimals:18},10823:{name:"CryptoCoinPay",symbol:"CCP",decimals:18},10849:{name:"L1",symbol:"L1",decimals:18},10850:{name:"L1 ID",symbol:"L1ID",decimals:18},10946:{name:"Quadrans Coin",symbol:"QDC",decimals:18},10947:{name:"Quadrans Testnet Coin",symbol:"tQDC",decimals:18},11011:{name:"Sepolia Ether",symbol:"ETH",decimals:18},11110:{name:"Astra",symbol:"ASA",decimals:18},11111:{name:"WAGMI",symbol:"WGM",decimals:18},11115:{name:"test-Astra",symbol:"tASA",decimals:18},11119:{name:"HashBit Native Token",symbol:"HBIT",decimals:18},11124:{name:"ETH",symbol:"ETH",decimals:18},11221:{name:"Shine",symbol:"SC20",decimals:18},11227:{name:"JIRI",symbol:"TZW",decimals:18},11235:{name:"Islamic Coin",symbol:"ISLM",decimals:18},11437:{name:"Shyft Test Token",symbol:"SHYFTT",decimals:18},11501:{name:"BTC",symbol:"BTC",decimals:18},11503:{name:"BTC",symbol:"BTC",decimals:18},11521:{name:"SATS",symbol:"SATS",decimals:18},11612:{name:"Sardis",symbol:"SRDX",decimals:18},11822:{name:"ART",symbol:"ART",decimals:18},11891:{name:"Arianee",symbol:"ARIA20",decimals:18},12001:{name:"Ether",symbol:"ETH",decimals:18},12009:{name:"SatoshiChain Coin",symbol:"SATS",decimals:18},12020:{name:"Aternos",symbol:"ATR",decimals:18},12051:{name:"ZERO",symbol:"tZERO",decimals:18},12052:{name:"ZERO",symbol:"ZERO",decimals:18},12123:{name:"BRC Chain mainnet native token",symbol:"BRC",decimals:18},12306:{name:"FIBONACCI UTILITY TOKEN",symbol:"FIBO",decimals:18},12321:{name:"Blg",symbol:"BLG",decimals:18},12324:{name:"Ether",symbol:"ETH",decimals:18},12325:{name:"Ether",symbol:"ETH",decimals:18},12345:{name:"FITFI",symbol:"FITFI",decimals:18},12553:{name:"RSS3",symbol:"RSS3",decimals:18},12715:{name:"Rikeza",symbol:"RIK",decimals:18},12781:{name:"Playdapp",symbol:"PDA",decimals:18},12890:{name:"Quantum Chain",symbol:"tQNET",decimals:18},12898:{name:"BTLT Token",symbol:"BTLT",decimals:18},13e3:{name:"ECG",symbol:"ECG",decimals:18},13308:{name:"Credit",symbol:"CREDIT",decimals:18},13337:{name:"Beam",symbol:"BEAM",decimals:18},13371:{name:"IMX",symbol:"IMX",decimals:18},13381:{name:"Phoenix",symbol:"PHX",decimals:18},13396:{name:"Masa Token",symbol:"MASA",decimals:18},13473:{name:"Test IMX",symbol:"tIMX",decimals:18},13505:{name:"Sepolia Gravity",symbol:"G",decimals:18},13600:{name:"Kronobit",symbol:"KNB",decimals:18},13812:{name:"Susono",symbol:"OPN",decimals:18},14e3:{name:"ECG",symbol:"ECG",decimals:18},14324:{name:"Evolve",symbol:"EVO",decimals:18},14333:{name:"Vitruveo Test Coin",symbol:"tVTRU",decimals:18},14801:{name:"DAT",symbol:"DAT",decimals:18},14853:{name:"eHMND",symbol:"eHMND",decimals:18},15003:{name:"Dev IMX",symbol:"dIMX",decimals:18},15257:{name:"Poodl",symbol:"POODL",decimals:18},15259:{name:"Poodl",symbol:"POODL",decimals:18},15430:{name:"KYMTC",symbol:"KYMTC",decimals:18},15551:{name:"LOOP",symbol:"LOOP",decimals:18},15555:{name:"Trust EVM",symbol:"EVM",decimals:18},15557:{name:"EOS",symbol:"EOS",decimals:18},16e3:{name:"MetaDot Token",symbol:"MTT",decimals:18},16001:{name:"MetaDot Token TestNet",symbol:"MTTest",decimals:18},16116:{name:"Oasys",symbol:"OAS",decimals:18},16166:{name:"Cypherium",symbol:"CPH",decimals:18},16180:{name:"PLYR",symbol:"PLYR",decimals:18},16350:{name:"Testnet INC",symbol:"INC",decimals:18},16481:{name:"Pivotal Plus",symbol:"PLUS",decimals:18},16507:{name:"Genesys",symbol:"GSYS",decimals:18},16600:{name:"A0GI",symbol:"A0GI",decimals:18},16688:{name:"Eris",symbol:"ERIS",decimals:18},16718:{name:"Amber",symbol:"AMB",decimals:18},16888:{name:"tIvar",symbol:"tIVAR",decimals:18},17e3:{name:"Testnet ETH",symbol:"ETH",decimals:18},17069:{name:"Ether",symbol:"ETH",decimals:18},17071:{name:"OnchainPoints.xyz",symbol:"POP",decimals:18},17117:{name:"Oasys",symbol:"OAS",decimals:18},17171:{name:"G8Chain",symbol:"G8C",decimals:18},17172:{name:"Eclipse",symbol:"ECLP",decimals:16},17180:{name:"Palette Token",symbol:"PLT",decimals:18},17217:{name:"KONET",symbol:"KONET",decimals:18},17777:{name:"EOS",symbol:"EOS",decimals:18},18e3:{name:"ZKST",symbol:"ZKST",decimals:18},18122:{name:"STN",symbol:"STN",decimals:18},18159:{name:"Proof Of Memes",symbol:"POM",decimals:18},18181:{name:"G8Coin",symbol:"G8C",decimals:18},18233:{name:"unreal Ether",symbol:"reETH",decimals:18},18686:{name:"MXC zkEVM Moonchain",symbol:"MXC",decimals:18},18888:{name:"Titan tkx",symbol:"TKX",decimals:18},18889:{name:"Titan tkx",symbol:"TKX",decimals:18},19011:{name:"OAS",symbol:"OAS",decimals:18},19077:{name:"BCX",symbol:"BCX",decimals:18},19191:{name:"BCX",symbol:"BCX",decimals:18},19224:{name:"Decentraconnect Social",symbol:"DCSM",decimals:18},19527:{name:"Magnet Network",symbol:"DOT",decimals:18},19600:{name:"LBRY Credits",symbol:"LBC",decimals:8},19845:{name:"BTCIX Network",symbol:"BTCIX",decimals:18},20001:{name:"EthereumPoW",symbol:"ETHW",decimals:18},20041:{name:"Niza Global",symbol:"NIZA",decimals:18},20073:{name:"Niza Global",symbol:"NIZA",decimals:18},20729:{name:"Callisto",symbol:"CLO",decimals:18},20736:{name:"Hooked P2",symbol:"hP2",decimals:18},20765:{name:"Jono11 Token",symbol:"JONO",decimals:18},21004:{name:"C4EI",symbol:"C4EI",decimals:18},21133:{name:"AAH",symbol:"AAH",decimals:18},21223:{name:"DCP",symbol:"DCP",decimals:18},21224:{name:"DCP",symbol:"DCP",decimals:18},21337:{name:"CPAY",symbol:"CPAY",decimals:18},21363:{name:"Lestnet Ether",symbol:"LETH",decimals:18},21816:{name:"omChain",symbol:"OMC",decimals:18},21912:{name:"Origin NFT",symbol:"ONF",decimals:18},22023:{name:"shuffle",symbol:"SFL",decimals:18},22040:{name:"Amber",symbol:"AMB",decimals:18},22222:{name:"Zebec",symbol:"ZBC",decimals:18},22324:{name:"GoldX",symbol:"GOLDX",decimals:18},22776:{name:"MAPO",symbol:"MAPO",decimals:18},23006:{name:"Antofy",symbol:"ABN",decimals:18},23118:{name:"IDE",symbol:"IDE",decimals:18},23294:{name:"Sapphire Rose",symbol:"ROSE",decimals:18},23295:{name:"Sapphire Test Rose",symbol:"TEST",decimals:18},23451:{name:"DreyerX",symbol:"DRX",decimals:18},23452:{name:"DreyerX",symbol:"DRX",decimals:18},23888:{name:"Ether",symbol:"ETH",decimals:18},24076:{name:"KYMTC",symbol:"KYMTC",decimals:18},24484:{name:"Webchain Ether",symbol:"WEB",decimals:18},24734:{name:"MintMe.com Coin",symbol:"MINTME",decimals:18},25186:{name:"LiquidLayer",symbol:"LILA",decimals:18},25839:{name:"AlveyCoin Testnet",symbol:"tALV",decimals:18},25888:{name:"GOLDT",symbol:"GOLDT",decimals:18},25925:{name:"Bitkub Coin",symbol:"tKUB",decimals:18},26026:{name:"Ferrum",symbol:"tFRM",decimals:18},26482:{name:"DUCX",symbol:"DUCX",decimals:18},26483:{name:"DUCX",symbol:"DUCX",decimals:18},26600:{name:"Hertz",symbol:"HTZ",decimals:18},26863:{name:"OAC",symbol:"OAC",decimals:18},27181:{name:"KLAOS",symbol:"KLAOS",decimals:18},27483:{name:"Sepolia Ether",symbol:"ETH",decimals:18},27827:{name:"ZERO",symbol:"ZERO",decimals:18},28516:{name:"Ether",symbol:"ETH",decimals:18},28518:{name:"Ether",symbol:"ETH",decimals:18},28528:{name:"Goerli Ether",symbol:"ETH",decimals:18},28882:{name:"Ether",symbol:"ETH",decimals:18},29112:{name:"TOPIA",symbol:"TOPIA",decimals:18},29223:{name:"Nexa",symbol:"NEXA",decimals:18},29536:{name:"KaiChain Testnet Native Token",symbol:"KEC",decimals:18},29548:{name:"OAS",symbol:"OAS",decimals:18},30067:{name:"ECE",symbol:"ECE",decimals:18},30088:{name:"Miyou",symbol:"MY",decimals:18},30103:{name:"Canxium",symbol:"CAU",decimals:18},30730:{name:"Move",symbol:"MOVE",decimals:18},30731:{name:"Move",symbol:"MOVE",decimals:18},30732:{name:"Move",symbol:"MOVE",decimals:18},31102:{name:"Ethersocial Network Ether",symbol:"ESN",decimals:18},31223:{name:"CloudTx",symbol:"CLD",decimals:18},31224:{name:"CloudTx",symbol:"CLD",decimals:18},31337:{name:"GoChain Coin",symbol:"GO",decimals:18},31414:{name:"MTHN Testnet",symbol:"MTHN",decimals:18},31753:{name:"Intdestcoin",symbol:"INTD",decimals:18},31754:{name:"Intdestcoin Testnet",symbol:"INTD",decimals:18},32001:{name:"W3Gamez Testnet Ether",symbol:"ETH",decimals:18},32382:{name:"SANR",symbol:"SANR",decimals:18},32520:{name:"Bitrise Token",symbol:"Brise",decimals:18},32659:{name:"Fusion",symbol:"FSN",decimals:18},32769:{name:"Zilliqa",symbol:"ZIL",decimals:18},32990:{name:"Zilliqa",symbol:"ZIL",decimals:18},33033:{name:"Entangle",symbol:"NGL",decimals:18},33101:{name:"Zilliqa",symbol:"ZIL",decimals:18},33103:{name:"Zilliqa",symbol:"ZIL",decimals:18},33111:{name:"ApeCoin",symbol:"APE",decimals:18},33133:{name:"Entangle",symbol:"NGL",decimals:18},33210:{name:"XCLOUD",symbol:"XCLOUD",decimals:18},33333:{name:"Aves",symbol:"AVS",decimals:18},33385:{name:"Zilliqa",symbol:"ZIL",decimals:18},33401:{name:"Sling",symbol:"SLING",decimals:18},33469:{name:"Zilliqa",symbol:"ZIL",decimals:18},33979:{name:"Ether",symbol:"ETH",decimals:18},34443:{name:"Ether",symbol:"ETH",decimals:18},34504:{name:"The ZEUS Token",symbol:"ZEUS",decimals:18},35011:{name:"TARO Coin",symbol:"taro",decimals:18},35441:{name:"QGOV",symbol:"QGOV",decimals:18},35443:{name:"Q token",symbol:"Q",decimals:18},38400:{name:"Rangers Protocol Gas",symbol:"cmRPG",decimals:18},38401:{name:"Rangers Protocol Gas",symbol:"ttRPG",decimals:18},39656:{name:"Primal Network",symbol:"PRM",decimals:18},39797:{name:"Energi",symbol:"NRG",decimals:18},39815:{name:"OHO",symbol:"OHO",decimals:18},41455:{name:"Aleph Zero",symbol:"AZERO",decimals:18},41500:{name:"Oxyn Gas",symbol:"OXYN",decimals:18},42069:{name:"pegglecoin",symbol:"peggle",decimals:18},42072:{name:"Agent",symbol:"AGENT",decimals:18},42161:{name:"Ether",symbol:"ETH",decimals:18},42170:{name:"Ether",symbol:"ETH",decimals:18},42220:{name:"CELO",symbol:"CELO",decimals:18},42261:{name:"Emerald Rose",symbol:"ROSE",decimals:18},42262:{name:"Emerald Rose",symbol:"ROSE",decimals:18},42355:{name:"GoldX",symbol:"GOLDX",decimals:18},42421:{name:"Real World Asset",symbol:"RWA",decimals:18},42766:{name:"USDC Token",symbol:"USDC",decimals:18},42793:{name:"tez",symbol:"XTZ",decimals:18},42801:{name:"OAS",symbol:"OAS",decimals:18},42888:{name:"Ether",symbol:"ETH",decimals:18},43110:{name:"Athereum Ether",symbol:"ATH",decimals:18},43111:{name:"Ether",symbol:"ETH",decimals:18},43113:{name:"Avalanche",symbol:"AVAX",decimals:18},43114:{name:"Avalanche",symbol:"AVAX",decimals:18},43851:{name:"USDC Token",symbol:"USDC",decimals:18},44444:{name:"FREN",symbol:"FREN",decimals:18},44445:{name:"Quantum",symbol:"QTM",decimals:18},44787:{name:"CELO",symbol:"CELO",decimals:18},45e3:{name:"TXL",symbol:"TXL",decimals:18},45454:{name:"SWP",symbol:"SWP",decimals:18},45510:{name:"Deelance",symbol:"DEE",decimals:18},45513:{name:"Bless",symbol:"BLESS",decimals:18},46688:{name:"Testnet Fusion",symbol:"T-FSN",decimals:18},47763:{name:"Gas",symbol:"GAS",decimals:18},47803:{name:"BAX",symbol:"BAX",decimals:18},47805:{name:"REI",symbol:"REI",decimals:18},48795:{name:"FUEL",symbol:"FUEL",decimals:18},48899:{name:"ETH",symbol:"ETH",decimals:18},48900:{name:"ETH",symbol:"ETH",decimals:18},49049:{name:"WIRE",symbol:"WIRE",decimals:18},49088:{name:"Bifrost",symbol:"BFC",decimals:18},49321:{name:"GUN",symbol:"GUN",decimals:18},49797:{name:"Energi",symbol:"NRG",decimals:18},50001:{name:"Ether",symbol:"ETH",decimals:18},50005:{name:"OAS",symbol:"OAS",decimals:18},50006:{name:"OAS",symbol:"OAS",decimals:18},50021:{name:"GCD",symbol:"GCD",decimals:18},51178:{name:"Lumoz Test Token",symbol:"MOZ",decimals:18},51712:{name:"Sardis",symbol:"SRDX",decimals:18},52014:{name:"Electroneum",symbol:"ETN",decimals:18},53277:{name:"DOID",symbol:"DOID",decimals:18},53302:{name:"Sepolia Ether",symbol:"ETH",decimals:18},53457:{name:"DODO",symbol:"DODO",decimals:18},53935:{name:"Jewel",symbol:"JEWEL",decimals:18},54211:{name:"Islamic Coin",symbol:"ISLMT",decimals:18},54321:{name:"Toroe",symbol:"TOROE",decimals:18},55004:{name:"Ether",symbol:"ETH",decimals:18},55551:{name:"Photon",symbol:"PTON",decimals:18},55555:{name:"Rei",symbol:"REI",decimals:18},55556:{name:"tRei",symbol:"tREI",decimals:18},55614:{name:"Flamma",symbol:"FLA",decimals:18},56026:{name:"ETH",symbol:"ETH",decimals:18},56288:{name:"Boba Token",symbol:"BOBA",decimals:18},56400:{name:"ZERO",symbol:"ZERO",decimals:18},56789:{name:"Nova",symbol:"NOVA",decimals:18},56797:{name:"DOID",symbol:"DOID",decimals:18},57e3:{name:"Testnet Syscoin",symbol:"TSYS",decimals:18},57451:{name:"COINSEC",symbol:"SEC",decimals:18},58008:{name:"Sepolia Ether",symbol:"ETH",decimals:18},59140:{name:"Linea Ether",symbol:"ETH",decimals:18},59141:{name:"Linea Ether",symbol:"ETH",decimals:18},59144:{name:"Linea Ether",symbol:"ETH",decimals:18},59902:{name:"tMetis",symbol:"tMETIS",decimals:18},59971:{name:"GenesysCode",symbol:"GCODE",decimals:18},6e4:{name:"TKM",symbol:"TKM",decimals:18},60001:{name:"TKM",symbol:"TKM",decimals:18},60002:{name:"TKM",symbol:"TKM",decimals:18},60103:{name:"TKM",symbol:"TKM",decimals:18},60808:{name:"Ether",symbol:"ETH",decimals:18},61022:{name:"BTC",symbol:"BTC",decimals:18},61406:{name:"KaiChain Native Token",symbol:"KEC",decimals:18},61800:{name:"Axelium",symbol:"AIUM",decimals:18},61803:{name:"EGAZ",symbol:"EGAZ",decimals:18},61916:{name:"DoKEN",symbol:"DKN",decimals:18},62049:{name:"Ether",symbol:"ETH",decimals:18},62050:{name:"Ether",symbol:"ETH",decimals:18},62298:{name:"Citrea BTC",symbol:"cBTC",decimals:18},62320:{name:"CELO",symbol:"CELO",decimals:18},62621:{name:"MultiVAC",symbol:"MTV",decimals:18},62831:{name:"PLYR",symbol:"PLYR",decimals:18},62850:{name:"SIGMA",symbol:"SIGMA",decimals:18},63e3:{name:"eCredits",symbol:"ECS",decimals:18},63001:{name:"eCredits",symbol:"ECS",decimals:18},65349:{name:"CRATD2C",symbol:"CRAT",decimals:18},65357:{name:"Vecno",symbol:"VE",decimals:18},65450:{name:"Scolcoin",symbol:"SCOL",decimals:18},65536:{name:"ATA",symbol:"ATA",decimals:18},66988:{name:"Janus",symbol:"JNS",decimals:18},67588:{name:"Cosmic Chain",symbol:"COSMIC",decimals:18},68770:{name:"OAS",symbol:"OAS",decimals:18},69420:{name:"Condrieu Testnet Ether",symbol:"CTE",decimals:18},7e4:{name:"TKM",symbol:"TKM",decimals:18},70001:{name:"TKM",symbol:"TKM",decimals:18},70002:{name:"TKM",symbol:"TKM",decimals:18},70103:{name:"TKM",symbol:"TKM",decimals:18},70700:{name:"Ether",symbol:"ETH",decimals:18},71111:{name:"GuapcoinX",symbol:"GuapX",decimals:18},71393:{name:"CKB",symbol:"CKB",decimals:8},71401:{name:"pCKB",symbol:"pCKB",decimals:18},71402:{name:"pCKB",symbol:"pCKB",decimals:18},72778:{name:"Caga",symbol:"CAGA",decimals:18},72992:{name:"Groc",symbol:"GROC",decimals:18},73114:{name:"ICB Testnet Token",symbol:"ICBT",decimals:18},73115:{name:"ICB Native Token",symbol:"ICBX",decimals:18},73799:{name:"Volta Token",symbol:"VT",decimals:18},73927:{name:"Ether",symbol:"ETH",decimals:18},75e3:{name:"Ether",symbol:"RESIN",decimals:18},75512:{name:"OAS",symbol:"OAS",decimals:18},75513:{name:"OAS",symbol:"OAS",decimals:18},77001:{name:"BORA",symbol:"BORA",decimals:18},77238:{name:"Foundry Chain Testnet",symbol:"tFNC",decimals:18},77612:{name:"VNT",symbol:"VNT",decimals:18},77677:{name:"Ether",symbol:"ETH",decimals:18},77777:{name:"Toroe",symbol:"TOROE",decimals:18},78110:{name:"Firenze Ether",symbol:"FIN",decimals:18},78281:{name:"Dragonfly",symbol:"DFLY",decimals:18},78430:{name:"AMP",symbol:"AMP",decimals:18},78431:{name:"BLT",symbol:"BLT",decimals:18},78432:{name:"CON",symbol:"CON",decimals:18},78600:{name:"Vanguard Vanry",symbol:"VANRY",decimals:18},79879:{name:"Standard in Gold",symbol:"STAND",decimals:18},80001:{name:"MATIC",symbol:"MATIC",decimals:18},80002:{name:"MATIC",symbol:"MATIC",decimals:18},80008:{name:"Ether",symbol:"ETH",decimals:18},80084:{name:"BERA Token",symbol:"BERA",decimals:18},80085:{name:"BERA Token",symbol:"BERA",decimals:18},80096:{name:"Hizoco",symbol:"HZC",decimals:18},81041:{name:"NRK",symbol:"NRK",decimals:18},81341:{name:"Amana Testnet",symbol:"MEER-T",decimals:18},81342:{name:"Amana Mixnet",symbol:"MEER-M",decimals:18},81343:{name:"Amana Privnet",symbol:"MEER-P",decimals:18},81351:{name:"Flana Testnet",symbol:"MEER-T",decimals:18},81352:{name:"Flana Mixnet",symbol:"MEER-M",decimals:18},81353:{name:"Flana Privnet",symbol:"MEER-P",decimals:18},81361:{name:"Mizana Testnet",symbol:"MEER-T",decimals:18},81362:{name:"Mizana Mixnet",symbol:"MEER-M",decimals:18},81363:{name:"Mizana Privnet",symbol:"MEER-P",decimals:18},81457:{name:"Ether",symbol:"ETH",decimals:18},81720:{name:"Quantum Chain",symbol:"QNET",decimals:18},82459:{name:"Service Unit Token",symbol:"SU",decimals:18},83144:{name:"KICK Testnet Token",symbol:"KICK",decimals:18},83278:{name:"Esa",symbol:"Esa",decimals:18},83872:{name:"Zedxion",symbol:"ZEDX",decimals:9},84531:{name:"Goerli Ether",symbol:"ETH",decimals:18},84532:{name:"Sepolia Ether",symbol:"ETH",decimals:18},84886:{name:"Aerie",symbol:"AER",decimals:18},85449:{name:"Cyber Trust",symbol:"CYBER",decimals:18},88002:{name:"Zebec Test Token",symbol:"tZBC",decimals:18},88559:{name:"InoAi",symbol:"INO",decimals:18},88800:{name:"ZKAS",symbol:"ZKAS",decimals:18},88817:{name:"UNIT0",symbol:"UNIT0",decimals:18},88819:{name:"UNIT0",symbol:"UNIT0",decimals:18},88882:{name:"Chiliz",symbol:"CHZ",decimals:18},88888:{name:"Chiliz",symbol:"CHZ",decimals:18},90001:{name:"Function X",symbol:"FX",decimals:18},90210:{name:"Beverly Hills Testnet Ether",symbol:"BVE",decimals:18},90354:{name:"Ethereum",symbol:"ETH",decimals:18},91002:{name:"Nautilus Zebec Testnet Tokens",symbol:"tZBC",decimals:18},91120:{name:"DAP",symbol:"DAP",decimals:18},91715:{name:"BNB Chain Native Token",symbol:"tcBNB",decimals:18},92001:{name:"test-Lamb",symbol:"LAMB",decimals:18},93572:{name:"LiquidLayer Testnet",symbol:"LILA",decimals:18},93747:{name:"SVM",symbol:"SVM",decimals:18},96970:{name:"Mantis",symbol:"MANTIS",decimals:18},97435:{name:"Sling Test",symbol:"SLINGT",decimals:18},97531:{name:"GREEN",symbol:"GREEN",decimals:18},97970:{name:"OptimusZ7",symbol:"OZ7",decimals:18},98881:{name:"Ether",symbol:"ETH",decimals:18},99099:{name:"eLiberty",symbol:"$EL",decimals:18},99876:{name:"Edge Matrix Chain Token",symbol:"EMC",decimals:18},99998:{name:"UBC",symbol:"UBC",decimals:18},99999:{name:"UBC",symbol:"UBC",decimals:18},1e5:{name:"QKC",symbol:"QKC",decimals:18},100001:{name:"QKC",symbol:"QKC",decimals:18},100002:{name:"QKC",symbol:"QKC",decimals:18},100003:{name:"QKC",symbol:"QKC",decimals:18},100004:{name:"QKC",symbol:"QKC",decimals:18},100005:{name:"QKC",symbol:"QKC",decimals:18},100006:{name:"QKC",symbol:"QKC",decimals:18},100007:{name:"QKC",symbol:"QKC",decimals:18},100008:{name:"QKC",symbol:"QKC",decimals:18},100009:{name:"VeChain",symbol:"VET",decimals:18},100010:{name:"VeChain",symbol:"VET",decimals:18},100011:{name:"QKC",symbol:"QKC",decimals:18},101010:{name:"FREE",symbol:"FREE",decimals:18},102031:{name:"Testnet CTC",symbol:"tCTC",decimals:18},103090:{name:"CRFI",symbol:"◈",decimals:18},103454:{name:"Masa Token",symbol:"MASA",decimals:18},104566:{name:"KaspaClassic",symbol:"CAS",decimals:18},105105:{name:"Stratis",symbol:"STRAX",decimals:18},108801:{name:"Brother",symbol:"BRO",decimals:18},11e4:{name:"QKC",symbol:"QKC",decimals:18},110001:{name:"QKC",symbol:"QKC",decimals:18},110002:{name:"QKC",symbol:"QKC",decimals:18},110003:{name:"QKC",symbol:"QKC",decimals:18},110004:{name:"QKC",symbol:"QKC",decimals:18},110005:{name:"QKC",symbol:"QKC",decimals:18},110006:{name:"QKC",symbol:"QKC",decimals:18},110007:{name:"QKC",symbol:"QKC",decimals:18},110008:{name:"QKC",symbol:"QKC",decimals:18},110011:{name:"QKC",symbol:"QKC",decimals:18},110110:{name:"Mars Credit",symbol:"MARS",decimals:18},111e3:{name:"TestSIBR",symbol:"SIBR",decimals:18},111111:{name:"Siberium",symbol:"SIBR",decimals:18},111188:{name:"re.al Ether",symbol:"reETH",decimals:18},112358:{name:"Metao",symbol:"METAO",decimals:18},119139:{name:"DAP",symbol:"DAP",decimals:18},123321:{name:"GEM",symbol:"GEM",decimals:18},123456:{name:"Devnet ADIL",symbol:"ADIL",decimals:18},128123:{name:"tez",symbol:"XTZ",decimals:18},131313:{name:"DIONE",symbol:"DIONE",decimals:18},131419:{name:"ETND",symbol:"ETND",decimals:18},132902:{name:"Ether",symbol:"ETH",decimals:18},141319:{name:"MagApe",symbol:"MAG",decimals:18},142857:{name:"ict",symbol:"ict",decimals:18},161212:{name:"Play",symbol:"PLAY",decimals:18},165279:{name:"Eclat",symbol:"ECLAT",decimals:18},167e3:{name:"Ether",symbol:"ETH",decimals:18},167008:{name:"Ether",symbol:"ETH",decimals:18},167009:{name:"Ether",symbol:"ETH",decimals:18},175177:{name:"Test LIT",symbol:"tstLIT",decimals:18},175188:{name:"Test LPX",symbol:"tstLPX",decimals:18},188710:{name:"Bitica Coin",symbol:"BDCC",decimals:18},188881:{name:"Condor Native Token",symbol:"CONDOR",decimals:18},192940:{name:"FHE",symbol:"FHE",decimals:18},199991:{name:"MAZZE Testnet",symbol:"MAZZE",decimals:18},2e5:{name:"FAI",symbol:"FAI",decimals:18},200101:{name:"milkTAda",symbol:"mTAda",decimals:18},200202:{name:"milkTAlgo",symbol:"mTAlgo",decimals:18},200625:{name:"Akroma Ether",symbol:"AKA",decimals:18},200810:{name:"BTC",symbol:"BTC",decimals:18},200901:{name:"BTC",symbol:"BTC",decimals:18},201018:{name:"ATP",symbol:"atp",decimals:18},201030:{name:"ATP",symbol:"atp",decimals:18},201804:{name:"Mythos",symbol:"MYTH",decimals:18},202020:{name:"Decimal",symbol:"tDEL",decimals:18},202212:{name:"XN",symbol:"XN",decimals:18},202401:{name:"ETH",symbol:"ETH",decimals:18},202624:{name:"Twala Coin",symbol:"TWL",decimals:18},204005:{name:"XN",symbol:"XN",decimals:18},205205:{name:"Auroria Stratis",symbol:"tSTRAX",decimals:18},210049:{name:"GitAGI",symbol:"tGAGI",decimals:18},210425:{name:"LAT",symbol:"lat",decimals:18},220315:{name:"Master Bank",symbol:"MAS",decimals:18},221230:{name:"Reap",symbol:"REAP",decimals:18},221231:{name:"test-Reap",symbol:"tREAP",decimals:18},222222:{name:"Wrapped ETH",symbol:"WETH",decimals:18},222555:{name:"DeepL",symbol:"DEEPL",decimals:18},222666:{name:"DeepL",symbol:"DEEPL",decimals:18},224168:{name:"Taf ECO Chain Mainnet",symbol:"TAFECO",decimals:18},224422:{name:"CONET Sebolia",symbol:"CONET",decimals:18},224433:{name:"CONET Holesky",symbol:"CONET",decimals:18},229772:{name:"AbyssETH",symbol:"aETH",decimals:18},230315:{name:"HashKey Token",symbol:"tHSK",decimals:18},234666:{name:"HAYMO",symbol:"HYM",decimals:18},240515:{name:"BTC",symbol:"BTC",decimals:18},246529:{name:"ARTIS sigma1 Ether",symbol:"ATS",decimals:18},246785:{name:"ARTIS tau1 Ether",symbol:"tATS",decimals:18},247253:{name:"OAS",symbol:"OAS",decimals:18},256256:{name:"Caduceus Token",symbol:"CMP",decimals:18},262371:{name:"Eclat Testnet",symbol:"ECLAT",decimals:18},266256:{name:"Gear Zero Network Native Token",symbol:"GZN",decimals:18},271271:{name:"EgonCoin",symbol:"EGON",decimals:18},281121:{name:"SoChain",symbol:"$OC",decimals:18},282828:{name:"Sepolia Ether",symbol:"ETH",decimals:18},292003:{name:"CIP",symbol:"CIP",decimals:18},309075:{name:"OWCT",symbol:"OWCT",decimals:18},313313:{name:"SAHARA",symbol:"SAH",decimals:18},314159:{name:"testnet filecoin",symbol:"tFIL",decimals:18},322202:{name:"PAREX",symbol:"PRX",decimals:18},323213:{name:"Bloom",symbol:"BGBC",decimals:18},327126:{name:"WABA",symbol:"WABA",decimals:18},328527:{name:"Ether",symbol:"ETH",decimals:18},330844:{name:"TTcoin",symbol:"TC",decimals:18},333313:{name:"Bloom",symbol:"BGBC",decimals:18},333331:{name:"AvesT",symbol:"AVST",decimals:18},333333:{name:"USNT",symbol:"USNT",decimals:18},333666:{name:"tOONE",symbol:"tOONE",decimals:18},333777:{name:"tOONE",symbol:"tOONE",decimals:18},333888:{name:"tPolis",symbol:"tPOLIS",decimals:18},333999:{name:"Polis",symbol:"POLIS",decimals:18},336655:{name:"UBTC",symbol:"UBTC",decimals:18},336666:{name:"UBTC",symbol:"UBTC",decimals:18},355110:{name:"Bitfinity Token",symbol:"BFT",decimals:18},355113:{name:"Bitfinity Token",symbol:"BFT",decimals:18},360890:{name:"vTFUEL",symbol:"vTFUEL",decimals:18},363636:{name:"Digit Coin",symbol:"DGC",decimals:18},373737:{name:"HAP",symbol:"HAP",decimals:18},381931:{name:"Metal",symbol:"METAL",decimals:18},381932:{name:"Metal",symbol:"METAL",decimals:18},404040:{name:"Tipboxcoin",symbol:"TPBX",decimals:18},413413:{name:"AIE",symbol:"AIE",decimals:18},420420:{name:"KEK",symbol:"KEK",decimals:18},420666:{name:"tKEK",symbol:"tKEK",decimals:18},420692:{name:"Alterium ETH",symbol:"AltETH",decimals:18},421611:{name:"Arbitrum Rinkeby Ether",symbol:"ETH",decimals:18},421613:{name:"Arbitrum Goerli Ether",symbol:"AGOR",decimals:18},421614:{name:"Sepolia Ether",symbol:"ETH",decimals:18},424242:{name:"FTN",symbol:"FTN",decimals:18},431140:{name:"Avalanche",symbol:"AVAX",decimals:18},432201:{name:"Dexalot",symbol:"ALOT",decimals:18},432204:{name:"Dexalot",symbol:"ALOT",decimals:18},444444:{name:"Sepolia Ether",symbol:"ETH",decimals:18},444900:{name:"Weelink Chain Token",symbol:"tWLK",decimals:18},471100:{name:"Sepolia Ether",symbol:"ETH",decimals:18},473861:{name:"Ultra Pro",symbol:"UPRO",decimals:18},474142:{name:"OpenCoin",symbol:"OPC",decimals:10},486487:{name:"Gobbl Token",symbol:"GOBBL",decimals:18},49e4:{name:"Test Auto Coin",symbol:"TATC",decimals:18},504441:{name:"Playdapp",symbol:"PDA",decimals:18},512512:{name:"Caduceus Testnet Token",symbol:"CMP",decimals:18},513100:{name:"DisChain",symbol:"DIS",decimals:18},526916:{name:"DO",symbol:"DCT",decimals:18},534351:{name:"Ether",symbol:"ETH",decimals:18},534352:{name:"Ether",symbol:"ETH",decimals:18},534849:{name:"Shina Inu",symbol:"SHI",decimals:18},535037:{name:"BeanEco SmartChain",symbol:"BESC",decimals:18},552981:{name:"OWCT",symbol:"OWCT",decimals:18},555555:{name:"Pentagon",symbol:"PEN",decimals:18},555666:{name:"Eclipse",symbol:"ECLPS",decimals:18},622277:{name:"Hypra",symbol:"HYP",decimals:18},622463:{name:"TON",symbol:"TON",decimals:18},641230:{name:"Bear Network Chain Native Token",symbol:"BRNKC",decimals:18},651940:{name:"ALL",symbol:"ALL",decimals:18},656476:{name:"EDU",symbol:"EDU",decimals:18},660279:{name:"Xai",symbol:"XAI",decimals:18},666666:{name:"VS",symbol:"VS",decimals:18},666888:{name:"Hela HLUSD",symbol:"HLUSD",decimals:18},686868:{name:"Won",symbol:"WON",decimals:18},696969:{name:"Galadriel Devnet token",symbol:"GAL",decimals:18},710420:{name:"TILT",symbol:"TILT",decimals:18},713715:{name:"Sei",symbol:"SEI",decimals:18},721529:{name:"ERAM",symbol:"ERAM",decimals:18},743111:{name:"Sepolia Ether",symbol:"ETH",decimals:18},751230:{name:"Bear Network Chain Testnet Token",symbol:"tBRNKC",decimals:18},752024:{name:"Capsule Coin",symbol:"CAPS",decimals:18},761412:{name:"Miexs Coin",symbol:"MIX",decimals:18},764984:{name:"Lamina1 Test",symbol:"L1T",decimals:18},767368:{name:"L1ID Test",symbol:"L1IDT",decimals:18},776877:{name:"Modularium",symbol:"MDM",decimals:18},800001:{name:"OctaSpace",symbol:"OCTA",decimals:18},808080:{name:"tBIZT",symbol:"tBIZT",decimals:18},808813:{name:"Sepolia Ether",symbol:"ETH",decimals:18},810180:{name:"Ether",symbol:"ETH",decimals:18},810181:{name:"Ether",symbol:"ETH",decimals:18},810182:{name:"Ether",symbol:"ETH",decimals:18},820522:{name:"TAS",symbol:"tTAS",decimals:18},827431:{name:"Curve",symbol:"CURVE",decimals:18},839320:{name:"Primal Network",symbol:"PRM",decimals:18},84e4:{name:"Test Bitcoin",symbol:"tBTC",decimals:8},846e3:{name:"APTA",symbol:"APTA",decimals:18},855456:{name:"Dodao",symbol:"DODAO",decimals:18},879151:{name:"BlocX",symbol:"BLX",decimals:18},888882:{name:"REXX",symbol:"REXX",decimals:18},888888:{name:"VS",symbol:"VS",decimals:18},9e5:{name:"Posichain Native Token",symbol:"POSI",decimals:18},91e4:{name:"Posichain Native Token",symbol:"POSI",decimals:18},912559:{name:"RIA",symbol:"RIA",decimals:18},92e4:{name:"Posichain Native Token",symbol:"POSI",decimals:18},920001:{name:"Posichain Native Token",symbol:"POSI",decimals:18},923018:{name:"FNCY",symbol:"FNCY",decimals:18},955081:{name:"Jono12 Token",symbol:"JONO",decimals:18},955305:{name:"ELV",symbol:"ELV",decimals:18},978657:{name:"Testnet MAGIC",symbol:"MAGIC",decimals:18},984122:{name:"TIA",symbol:"TIA",decimals:18},984123:{name:"TIA",symbol:"TIA",decimals:18},988207:{name:"ECROX COIN",symbol:"ECROX",decimals:18},998899:{name:"CHAIN",symbol:"CHAIN",decimals:18},999999:{name:"AMC",symbol:"AMC",decimals:18},1100789:{name:"NMT",symbol:"NMT",decimals:18},1127469:{name:"Tiltyard Token",symbol:"TILTG",decimals:18},1234567:{name:"SHARECLE COIN",symbol:"SHR",decimals:18},1261120:{name:"Sepolia Ether",symbol:"ETH",decimals:18},1313114:{name:"Etho Protocol",symbol:"ETHO",decimals:18},1313500:{name:"Xerom Ether",symbol:"XERO",decimals:18},1337702:{name:"kintsugi Ethere",symbol:"kiETH",decimals:18},1337802:{name:"Testnet ETH",symbol:"ETH",decimals:18},1337803:{name:"Testnet ETH",symbol:"ETH",decimals:18},1398243:{name:"ATA",symbol:"ATA",decimals:18},1612127:{name:"Ether",symbol:"ETH",decimals:18},1637450:{name:"tBNB",symbol:"tBNB",decimals:18},1731313:{name:"Ether",symbol:"ETH",decimals:18},2021398:{name:"DeBank USD",symbol:"USD",decimals:18},2099156:{name:"Plian Token",symbol:"PI",decimals:18},2206132:{name:"LAT",symbol:"lat",decimals:18},2611555:{name:"DGC",symbol:"DGC",decimals:18},2702128:{name:"ETH",symbol:"ETH",decimals:18},3132023:{name:"SAHARA",symbol:"SAH",decimals:18},3141592:{name:"testnet filecoin",symbol:"tFIL",decimals:18},3397901:{name:"Ether",symbol:"ETH",decimals:18},3441005:{name:"Manta",symbol:"MANTA",decimals:18},3441006:{name:"Ether",symbol:"ETH",decimals:18},4000003:{name:"ZERO",symbol:"ZERO",decimals:18},4281033:{name:"Ether",symbol:"ETH",decimals:18},4444444:{name:"Sepolia Ether",symbol:"ETH",decimals:18},4457845:{name:"Ether",symbol:"ETH",decimals:18},5112023:{name:"NUMB Token",symbol:"NUMB",decimals:18},5167003:{name:"MXC Wannsee zkEVM Testnet",symbol:"MXC",decimals:18},5167004:{name:"Moonchain Geneva Testnet",symbol:"MXC",decimals:18},5201420:{name:"Electroneum",symbol:"ETN",decimals:18},5318008:{name:"Kopli React",symbol:"REACT",decimals:18},5555555:{name:"Imversed Token",symbol:"IMV",decimals:18},5555558:{name:"Imversed Token",symbol:"IMV",decimals:18},6038361:{name:"Sepolia Ether",symbol:"ETH",decimals:18},6666665:{name:"SAFE(AnWang)",symbol:"SAFE",decimals:18},6666666:{name:"SAFE(AnWang)",symbol:"SAFE",decimals:18},7225878:{name:"OAS",symbol:"OAS",decimals:18},7355310:{name:"Vessel ETH",symbol:"VETH",decimals:18},7668378:{name:"Shiba Predator",symbol:"QOM",decimals:18},7762959:{name:"Musicoin",symbol:"MUSIC",decimals:18},7777777:{name:"Ether",symbol:"ETH",decimals:18},8007736:{name:"Plian Token",symbol:"PI",decimals:18},8008135:{name:"tFHE",symbol:"tFHE",decimals:18},8080808:{name:"Ether",symbol:"ETH",decimals:18},8601152:{name:"WATER",symbol:"WATER",decimals:18},8794598:{name:"HAP",symbol:"HAP",decimals:18},8888881:{name:"QARE",symbol:"QARE",decimals:18},8888888:{name:"QARE",symbol:"QARE",decimals:18},9322252:{name:"Gas",symbol:"GAS",decimals:18},9322253:{name:"Gas",symbol:"GAS",decimals:18},9999999:{name:"FLT",symbol:"FLT",decimals:18},10067275:{name:"Plian Token",symbol:"TPI",decimals:18},10101010:{name:"Soverun",symbol:"SVRN",decimals:18},10241024:{name:"Ethereum",symbol:"ETH",decimals:18},10241025:{name:"Ethereum",symbol:"ETH",decimals:18},11145513:{name:"Bless",symbol:"BLESS",decimals:18},11155111:{name:"Sepolia Ether",symbol:"ETH",decimals:18},11155420:{name:"Sepolia Ether",symbol:"ETH",decimals:18},12052024:{name:"Ether",symbol:"ETH",decimals:18},12227332:{name:"Gas",symbol:"GAS",decimals:18},13068200:{name:"COTI2",symbol:"COTI2",decimals:18},13371337:{name:"PepChain Churchill Ether",symbol:"TPEP",decimals:18},14288640:{name:"DAON",symbol:"DEB",decimals:18},16658437:{name:"Plian Testnet Token",symbol:"TPI",decimals:18},17000920:{name:"ETH",symbol:"ETH",decimals:18},18071918:{name:"Mand",symbol:"MAND",decimals:18},18289463:{name:"IOLite Ether",symbol:"ILT",decimals:18},19850818:{name:"DeepBrainChain",symbol:"DBC",decimals:18},19880818:{name:"DeepBrainChain",symbol:"DBC",decimals:18},20180427:{name:"FREE",symbol:"FREE",decimals:18},20180430:{name:"SmartMesh Native Token",symbol:"SMT",decimals:18},20181205:{name:"quarkblockchain Native Token",symbol:"QKI",decimals:18},20201022:{name:"Pego Native Token",symbol:"PG",decimals:18},20230825:{name:"Testnet Vcity Token",symbol:"VCITY",decimals:18},20240324:{name:"DeBank USD",symbol:"USD",decimals:18},20240603:{name:"Ether",symbol:"ETH",decimals:18},20241133:{name:"SWANETH",symbol:"sETH",decimals:18},20482050:{name:"Ether",symbol:"ETH",decimals:18},22052002:{name:"Excelon",symbol:"xlon",decimals:18},27082017:{name:"TExlcoin",symbol:"TEXL",decimals:18},27082022:{name:"Exlcoin",symbol:"EXL",decimals:18},28122024:{name:"Ether",symbol:"ETH",decimals:18},28945486:{name:"Auxilium coin",symbol:"AUX",decimals:18},29032022:{name:"Flacoin",symbol:"FLA",decimals:18},31415926:{name:"testnet filecoin",symbol:"tFIL",decimals:18},35855456:{name:"JOYS",symbol:"JOYS",decimals:18},37084624:{name:"sFUEL",symbol:"sFUEL",decimals:18},39916801:{name:"Kozi",symbol:"KOZI",decimals:18},43214913:{name:"maistestsubnet",symbol:"MAI",decimals:18},52164803:{name:"tFLT",symbol:"tFLT",decimals:18},61717561:{name:"Aquachain Ether",symbol:"AQUA",decimals:18},65010003:{name:"Bakerloo Auton",symbol:"ATN",decimals:18},65100003:{name:"Piccadilly Auton",symbol:"ATN",decimals:18},68840142:{name:"Sepolia Ether",symbol:"ETH",decimals:18},77787778:{name:"0xHash",symbol:"HETH",decimals:18},79479957:{name:"SX Network",symbol:"SX",decimals:18},88558801:{name:"Backstop Testnet 1",symbol:"ZBS",decimals:18},88888888:{name:"TEAM",symbol:"$TEAM",decimals:18},94204209:{name:"Sepolia Ether",symbol:"ETH",decimals:18},99415706:{name:"TOYS",symbol:"TOYS",decimals:18},1e8:{name:"ETHOS",symbol:"ETHOS",decimals:18},108160679:{name:"Oraichain Token",symbol:"ORAI",decimals:18},111557560:{name:"Sepolia Ether",symbol:"ETH",decimals:18},123420111:{name:"Sepolia Ether",symbol:"ETH",decimals:18},161221135:{name:"Plume Sepolia Ether",symbol:"ETH",decimals:18},168587773:{name:"Sepolia Ether",symbol:"ETH",decimals:18},192837465:{name:"Gather",symbol:"GTH",decimals:18},222000222:{name:"gMeld",symbol:"gMELD",decimals:18},245022926:{name:"Neon",symbol:"NEON",decimals:18},245022929:{name:"Neon",symbol:"NEON",decimals:18},245022934:{name:"Neon",symbol:"NEON",decimals:18},278611351:{name:"sFuel",symbol:"SFUEL",decimals:18},311752642:{name:"OLT",symbol:"OLT",decimals:18},328527624:{name:"Sepolia Ether",symbol:"ETH",decimals:18},333000333:{name:"gMeld",symbol:"gMELD",decimals:18},356256156:{name:"Gather",symbol:"GTH",decimals:18},476462898:{name:"SkpGPT",symbol:"SkpGPT",decimals:18},486217935:{name:"Gather",symbol:"GTH",decimals:18},531050104:{name:"ETH",symbol:"ETH",decimals:18},666666666:{name:"DEGEN",symbol:"DEGEN",decimals:18},888888888:{name:"Ether",symbol:"ETH",decimals:18},889910245:{name:"PTCE",symbol:"PTCE",decimals:18},889910246:{name:"PTCE",symbol:"PTCE",decimals:18},974399131:{name:"sFUEL",symbol:"sFUEL",decimals:18},999999999:{name:"Sepolia Ether",symbol:"ETH",decimals:18},1020352220:{name:"sFUEL",symbol:"sFUEL",decimals:18},1122334455:{name:"IPOS Network Ether",symbol:"IPOS",decimals:18},1146703430:{name:"Cyb",symbol:"CYB",decimals:18},1273227453:{name:"sFUEL",symbol:"sFUEL",decimals:18},1313161554:{name:"Ether",symbol:"ETH",decimals:18},1313161555:{name:"Ether",symbol:"ETH",decimals:18},1313161556:{name:"Ether",symbol:"ETH",decimals:18},1313161560:{name:"Ether",symbol:"ETH",decimals:18},1350216234:{name:"sFUEL",symbol:"sFUEL",decimals:18},1351057110:{name:"sFUEL",symbol:"sFUEL",decimals:18},1380012617:{name:"Ethereum",symbol:"ETH",decimals:18},1380996178:{name:"Raptor",symbol:"RPTR",decimals:18},1444673419:{name:"sFUEL",symbol:"sFUEL",decimals:18},1482601649:{name:"sFUEL",symbol:"sFUEL",decimals:18},1511670449:{name:"GPT",symbol:"GPT",decimals:18},1564830818:{name:"sFUEL",symbol:"sFUEL",decimals:18},16666e5:{name:"ONE",symbol:"ONE",decimals:18},1666600001:{name:"ONE",symbol:"ONE",decimals:18},16667e5:{name:"ONE",symbol:"ONE",decimals:18},1666700001:{name:"ONE",symbol:"ONE",decimals:18},16669e5:{name:"ONE",symbol:"ONE",decimals:18},1666900001:{name:"ONE",symbol:"ONE",decimals:18},1802203764:{name:"Ether",symbol:"ETH",decimals:18},1903648807:{name:"Gemuchain",symbol:"GEMU",decimals:18},1918988905:{name:"Ethereum",symbol:"ETH",decimals:18},2021121117:{name:"DataHoppers",symbol:"HOP",decimals:18},2046399126:{name:"sFUEL",symbol:"sFUEL",decimals:18},3125659152:{name:"Pirl Ether",symbol:"PIRL",decimals:18},4216137055:{name:"OLT",symbol:"OLT",decimals:18},11297108109:{name:"PALM",symbol:"PALM",decimals:18},11297108099:{name:"PALM",symbol:"PALM",decimals:18},28872323069:{name:"GitSwarm Ether",symbol:"GS-ETH",decimals:18},37714555429:{name:"sXai",symbol:"sXAI",decimals:18},88153591557:{name:"GelatoCGT",symbol:"CGT",decimals:18},107107114116:{name:"Ether",symbol:"ETH",decimals:18},111222333444:{name:"ALT",symbol:"ALT",decimals:18},123420000220:{name:"tFLT",symbol:"tFLT",decimals:18},197710212030:{name:"Ntity",symbol:"NTT",decimals:18},197710212031:{name:"Ntity Haradev",symbol:"NTTH",decimals:18},202402181627:{name:"Ether",symbol:"ETH",decimals:18},383414847825:{name:"Zeniq",symbol:"ZENIQ",decimals:18},666301171999:{name:"PDC",symbol:"PDC",decimals:18},6022140761023:{name:"Molereum Ether",symbol:"MOLE",decimals:18},2713017997578e3:{name:"Ether",symbol:"ETH",decimals:18},2716446429837e3:{name:"Ether",symbol:"ETH",decimals:18}};var Bs={1:[{url:"https://eth.llamarpc.com",tracking:"none",trackingDetails:"LlamaNodes is open-source and does not track or store user information that transits through our RPCs (location, IP, wallet, etc). To learn more, have a look at the public Privacy Policy in our docs: https://llamanodes.notion.site/Privacy-Practices-f20fd8fdd02a469d9d4f42a5989bb936",isOpenSource:true},{url:"https://endpoints.omniatech.io/v1/eth/mainnet/public",tracking:"none",trackingDetails:"All the data and metadata remain private to the users. No third party is able to access, analyze or track it. OMNIA leverages different technologies and approaches to guarantee the privacy of their users, from front-running protection and private mempools, to obfuscation and random dispatching. https://blog.omniatech.io/how-omnia-handles-your-personal-data"},{url:"https://rpc.ankr.com/eth",tracking:"limited",trackingDetails:"For service delivery purposes, we temporarily record IP addresses to set usage limits and monitor for denial of service attacks against our infrastructure. Though we do look at high-level data around the success rate of transactions made over the blockchain RPC, we do not correlate wallet transactions made over the infrastructure to the IP address making the RPC request. Thus, we do not store, exploit, or share any information regarding Personal Identifiable Information (PII), including wallet addresses. https://www.ankr.com/blog/ankrs-ip-address-policy-and-your-privacy/"},{url:"https://go.getblock.io/d7dab8149ec04390aaa923ff2768f914",tracking:"none",trackingDetails:"We automatically collect certain information through cookies and similar technologies when you visit, use or navigate Website. This information does not reveal your specific identity (like your name or contact information) and does not allow to identify you. However, it may include device and usage information, such as your IP address, browser and device characteristics, its type and version, operating system, language preferences, referring URLs, device name, country, location, information about how and when you use our Website, information about your interaction in our emails, and other technical and statistical information. This information is primarily needed to maintain the security and operation of our Website, and for our internal analytics and reporting purposes.Specifically, as the RPC provider, we do not log and store your IP address, country, location and similar data. https://getblock.io/privacy-policy/"},{url:"https://eth-mainnet.nodereal.io/v1/1659dfb40aa24bbb8153a677b98064d7",tracking:"yes",trackingDetails:`We may automatically record certain information about how you use our Sites (we refer to this information as "Log Data"). Log Data may include information such as a user's Internet Protocol (IP) address, device and browser type, operating system, the pages or features of our Sites to which a user browsed and the time spent on those pages or features, the frequency with which the Sites are used by a user, search terms, the links on our Sites that a user clicked on or used, and other statistics. We use this information to administer the Service and we analyze (and may engage third parties to analyze) this information to improve and enhance the Service by expanding its features and functionality and tailoring it to our users' needs and preferences. https://nodereal.io/terms`},{url:"https://ethereum-rpc.publicnode.com",tracking:"none",trackingDetails:"We do not store or track any user data with the exception of data that will be public on chain. We do not correlate wallets address's with IP's, any data which is needed to transact is deleted after 24 hours. We also do no use any Analytics or 3rd party website tracking. https://www.publicnode.com/privacy"},{url:"wss://ethereum-rpc.publicnode.com",tracking:"none",trackingDetails:"We do not store or track any user data with the exception of data that will be public on chain. We do not correlate wallets address's with IP's, any data which is needed to transact is deleted after 24 hours. We also do no use any Analytics or 3rd party website tracking. https://www.publicnode.com/privacy"},{url:"https://1rpc.io/eth",tracking:"none",trackingDetails:"With the exception of data that will be public on chain, all the other metadata / data should remain private to users and other parties should not be able to access or collect it. 1RPC uses many different techniques to prevent the unnecessary collection of user privacy, which prevents tracking from RPC providers. https://docs.1rpc.io/technology/zero-tracking"},{url:"https://rpc.builder0x69.io",tracking:"none",trackingDetails:"Private transactions / MM RPC: https://twitter.com/builder0x69"},{url:"https://rpc.mevblocker.io",tracking:"none",trackingDetails:"Privacy notice: MEV Blocker RPC does not store any kind of user information (i.e. IP, location, user agent, etc.) in any data bases. Only transactions are preserved to be displayed via status endpoint like https://rpc.mevblocker.io/tx/0x627b09d5a9954a810cd3c34b23694439da40558a41b0d87970f2c3420634a229. Connect to MEV Blocker via https://rpc.mevblocker.io"},{url:"https://rpc.flashbots.net",tracking:"none",trackingDetails:"Privacy notice: Flashbots Protect RPC does not track any kind of user information (i.e. IP, location, etc.). No user information is ever stored or even logged. https://docs.flashbots.net/flashbots-protect/rpc/quick-start"},{url:"https://virginia.rpc.blxrbdn.com",tracking:"yes",trackingDetails:"We may collect information that is publicly available in a blockchain when providing our services, such as: Public wallet identifier of the sender and recipient of a transaction, Unique identifier for a transaction, Date and time of a transaction, Transaction value, along with associated costs, Status of a transaction (such as whether the transaction is complete, in-progress, or resulted in an error) https://bloxroute.com/wp-content/uploads/2021/12/bloXroute-Privacy-Policy-04-01-2019-Final.pdf"},{url:"https://uk.rpc.blxrbdn.com",tracking:"yes",trackingDetails:"We may collect information that is publicly available in a blockchain when providing our services, such as: Public wallet identifier of the sender and recipient of a transaction, Unique identifier for a transaction, Date and time of a transaction, Transaction value, along with associated costs, Status of a transaction (such as whether the transaction is complete, in-progress, or resulted in an error) https://bloxroute.com/wp-content/uploads/2021/12/bloXroute-Privacy-Policy-04-01-2019-Final.pdf"},{url:"https://singapore.rpc.blxrbdn.com",tracking:"yes",trackingDetails:"We may collect information that is publicly available in a blockchain when providing our services, such as: Public wallet identifier of the sender and recipient of a transaction, Unique identifier for a transaction, Date and time of a transaction, Transaction value, along with associated costs, Status of a transaction (such as whether the transaction is complete, in-progress, or resulted in an error) https://bloxroute.com/wp-content/uploads/2021/12/bloXroute-Privacy-Policy-04-01-2019-Final.pdf"},{url:"https://eth.rpc.blxrbdn.com",tracking:"yes",trackingDetails:"We may collect information that is publicly available in a blockchain when providing our services, such as: Public wallet identifier of the sender and recipient of a transaction, Unique identifier for a transaction, Date and time of a transaction, Transaction value, along with associated costs, Status of a transaction (such as whether the transaction is complete, in-progress, or resulted in an error) https://bloxroute.com/wp-content/uploads/2021/12/bloXroute-Privacy-Policy-04-01-2019-Final.pdf"},{url:"https://cloudflare-eth.com",tracking:"yes",trackingDetails:"Just as when you visit and interact with most websites and services delivered via the Internet, when you visit our Websites, including the Cloudflare Community Forum, we gather certain information and store it in log files. This information may include but is not limited to Internet Protocol (IP) addresses, system configuration information, URLs of referring pages, and locale and language preferences. https://www.cloudflare.com/privacypolicy/"},{url:"https://eth-mainnet.public.blastapi.io",tracking:"limited",trackingDetails:"All the information in our logs (log data) can only be accessed for the last 7 days at any certain time, and it is completely purged after 14 days. We do not store any user information for longer periods of time or with any other purposes than investigating potential errors and service failures. https://blastapi.io/privacy-policy"},{url:"https://api.securerpc.com/v1",tracking:"unspecified"},{url:"https://openapi.bitstack.com/v1/wNFxbiJyQsSeLrX8RRCHi7NpRxrlErZk/DjShIqLishPCTB9HiMkPHXjUM9CNM9Na/ETH/mainnet",tracking:"yes",trackingDetails:"Information about your computer hardware and software may be automatically collected by BitStack. This information can include: your IP address, browser type, domain names, access times and referring website addresses. https://bitstack.com/#/privacy"},{url:"https://eth-pokt.nodies.app",tracking:"none",trackingDetails:"What We Do Not Collect: User's IP address, request origin, request data. https://www.blog.pokt.network/rpc-logging-practices/"},{url:"https://eth-mainnet-public.unifra.io",tracking:"limited",trackingDetails:"Regarding the RPC(remote procedure call) data, we do not collect request data or request origin. We temporarily record the request method names and IP addresses for 7 days to ensure our service functionality such as load balancing and DDoS protection. All the data is automatically deleted after 7 days. Only the amounts of RPC requests of users are recorded for accounting and billing purposes within longer time. https://unifra.io/"},{url:"https://ethereum.blockpi.network/v1/rpc/public",tracking:"limited",trackingDetails:"We do not collect request data or request origin. We only temporarily record the request method names and IP addresses for 7 days to ensure our service functionality such as load balancing and DDoS protection. All the data is automatically deleted after 7 days and we do not store any user information for longer periods of time. https://blockpi.io/privacy-policy"},{url:"https://rpc.payload.de",tracking:"none",trackingDetails:"Sent transactions are private: https://payload.de/docs. By default, no data is collected when using the RPC endpoint. If provided by the user, the public address for authentication is captured when using the RPC endpoint in order to prioritize requests under high load. This information is optional and solely provided at the user's discretion. https://payload.de/privacy/"},{url:"https://api.zmok.io/mainnet/oaen6dy8ff6hju9k",tracking:"none",trackingDetails:'API requests - we do NOT store any usage data, additionally, we do not store your logs. No KYC - "Darknet" style of sign-up/sign-in. Only provider that provides Ethereum endpoints as TOR/Onion hidden service. Analytical data are stored only on the landing page/web. https://zmok.io/privacy-policy'},{url:"https://eth-mainnet.g.alchemy.com/v2/demo",tracking:"yes",trackingDetails:"We may collect certain information automatically when you use our Services, such as your Internet protocol (IP) address, user settings, MAC address, cookie identifiers, mobile carrier, mobile advertising and other unique identifiers, browser or device information, location information (including approximate location derived from IP address), and Internet service provider. https://www.alchemy.com/policies/privacy-policy"},{url:"https://eth.api.onfinality.io/public",tracking:"limited",trackingDetails:"For the sole purpose of providing our service, we temporarily record IP addresses and origins to check against free limits, provide load balancing, prevent DOS attacks, and to determine where best to locate our nodes. We do not, and will never, correlate or link specific wallet addresses or transactions made over our infrastructure to the IP address or origin making the RPC request. After processing IP addresses, we discard the IP address value within 24 hours. Read more here: https://blog.onfinality.io/how-does-onfinality-deal-with-personal-information/"},{url:"https://core.gashawk.io/rpc",tracking:"yes",trackingDetails:"Sign-in with Ethereum on https://www.gashawk.io required prior to use. We may collect information that is publicly available in a blockchain when providing our services, such as: Public wallet identifier of the sender and recipient of a transaction, Unique identifier for a transaction, Date and time of a transaction, Transaction value, along with associated costs, Status of a transaction (such as whether the transaction is complete, in-progress, or resulted in an error), read the terms of service https://www.gashawk.io/#/terms and the privacy policy https://www.gashawk.io/#/privacy."},{url:"https://mainnet.eth.cloud.ava.do"},{url:"https://ethereumnodelight.app.runonflux.io"},{url:"https://eth-mainnet.rpcfast.com?api_key=xbhWBI1Wkguk8SNMu1bvvLurPGLXmgwYeC4S6g2H7WdwFigZSmPWVZRxrskEQwIf"},{url:"https://main-light.eth.linkpool.io"},{url:"https://rpc.eth.gateway.fm",tracking:"yes",trackingDetails:"When you use our services or visit our websites, we may log your device’s IP address for debugging and security reasons. We may retain this information for up to twelve months"},{url:"https://rpc.chain49.com/ethereum?api_key=14d1a8b86d8a4b4797938332394203dc",tracking:"yes",trackingDetails:"We collect device information and request metadata like IP address and User Agent for the purpose of load balancing and rate limiting. More info: https://chain49.com/privacy-policy"},{url:"https://eth.meowrpc.com",tracking:"none",trackingDetails:"With the exclusion of data that will be openly visible and available on the blockchain, MEOWRPC does not track or store any kind of user information (such as location, IP address, etc.) that passes through our RPC. For further details regarding our privacy practices, we encourage you to refer to our Privacy Policy. https://privacy.meowrpc.com"},{url:"https://eth.drpc.org",tracking:"none",trackingDetails:"Specific types of technical data that we may temporarily log include:IP address (only in logs for redirecting requests to the nearest RPC nodes and rate limiting at the free level, which are cleared weekly). The user ID is hidden in the temporary logs, so it is not possible to link them to a specific user.https://drpc.org/privacy-policy"},{url:"https://mainnet.gateway.tenderly.co",tracking:"yes",trackingDetails:"Additionally, if you are an Account Member, we may collect business and transactional data about you (and your business) that accumulates over the normal course of operation regarding providing our Services. This may include transaction records, stored files, user profiles, information about collaborators, analytics data, and other metrics, as well as other types of information created or generated by your interaction with our Services. https://tenderly.co/privacy-policy"},{url:"https://rpc.tenderly.co/fork/c63af728-a183-4cfb-b24e-a92801463484",tracking:"yes",trackingDetails:"Additionally, if you are an Account Member, we may collect business and transactional data about you (and your business) that accumulates over the normal course of operation regarding providing our Services. This may include transaction records, stored files, user profiles, information about collaborators, analytics data, and other metrics, as well as other types of information created or generated by your interaction with our Services. https://tenderly.co/privacy-policy"},{url:"https://gateway.tenderly.co/public/mainnet",tracking:"yes",trackingDetails:"Additionally, if you are an Account Member, we may collect business and transactional data about you (and your business) that accumulates over the normal course of operation regarding providing our Services. This may include transaction records, stored files, user profiles, information about collaborators, analytics data, and other metrics, as well as other types of information created or generated by your interaction with our Services. https://tenderly.co/privacy-policy"},{url:"https://api.zan.top/node/v1/eth/mainnet/public",tracking:"limited",trackingDetails:"ZAN Node Service generally does not store any kind of user information (e.g. IP address, location, requst location, request data, etc.) that transits through our RPCs except for one senario ——we may track your IP address when you are using our RPCs and will delete it immediately when you stoping using our RPCs. To learn more, please review our privacy policy at https://a.zan.top/static/Privacy-Policy.pdf"},{url:"https://eth-mainnet.diamondswap.org/rpc",tracking:"limited",trackingDetails:"We record limited metadata from requests. This data is stored for a maximum of 90 days and is solely used for debugging, identifying suspicious activity, and generating analytics."},{url:"https://rpc.notadegen.com/eth"},{url:"https://eth.merkle.io",tracking:"none",trackingDetails:"merkle does not track or store user information that transits through our RPCs (location, IP, wallet, etc)."},{url:"https://rpc.lokibuilder.xyz/wallet",tracking:"none",trackingDetails:"Private transactions. No tracking of any kind (no IPs, location, wallet etc.): https://lokibuilder.xyz/privacy"},{url:"https://services.tokenview.io/vipapi/nodeservice/eth?apikey=qVHq2o6jpaakcw3lRstl",tracking:"yes",trackingDetails:"Information about your computer hardware and software may be automatically collected by Tokenview. This information can include such details as your IP address, browser type, domain names, access times, etc.https://services.tokenview.io/en/protocol"},{url:"https://eth.nodeconnect.org",tracking:"yes",trackingDetails:"We may collect information about how you interact with our Service. This may include information about your operating system, IP address, and browser type : https://nodeconnect.org/privacy.txt"},{url:"https://api.stateless.solutions/ethereum/v1/0ec6cac0-ecac-4247-8a41-1e685deadfe4",tracking:"none",trackingDetails:"Through any of our RPC API endpoints, whether public or private, we do not collect personal identifiers such as IP addresses, request origins, or specific request data. https://www.stateless.solutions/api-usage-privacy-policy"},{url:"https://rpc.polysplit.cloud/v1/chain/1",tracking:"none",trackingDetails:"When you use our Service, we does not track the IP address or other user info.https://polysplit.cloud/privacy"},{url:"https://rpc.tornadoeth.cash/eth",tracking:"none",trackingDetails:"TornadoRPC prioritizes user privacy and data security. We do not track or store any user information that passes through our RPC, except for data that is clearly visible on the blockchain. For detailed information about our privacy practices, see our Privacy Policy: https://rpc.tornadoeth.cash/privacy"},{url:"https://rpc.tornadoeth.cash/mev",tracking:"none",trackingDetails:"TornadoRPC prioritizes user privacy and data security. We do not track or store any user information that passes through our RPC, except for data that is clearly visible on the blockchain. For detailed information about our privacy practices, see our Privacy Policy: https://rpc.tornadoeth.cash/privacy"},{url:"https://eth1.lava.build/lava-referer-ed07f753-8c19-4309-b632-5a4a421aa589",tracking:"yes",trackingDetails:"We, our service providers, and our business partners may automatically log information about you, your computer or mobile device, and your interaction over time with the Service..., such as: Device data, ...your computer or mobile device's operating system type and version, manufacturer and model, browser type, screen resolution, RAM and disk size, CPU usage, device type (e.g., phone, tablet), IP address, unique identifiers (including identifiers used for advertising purposes), language settings, mobile device carrier, radio/network information (e.g., Wi-Fi, LTE, 3G), and general location information such as city, state or geographic area. https://www.lavanet.xyz/privacy-policy"},{url:"https://eth1.lava.build/lava-referer-16223de7-12c0-49f3-8d87-e5f1e6a0eb3b",tracking:"yes",trackingDetails:"We, our service providers, and our business partners may automatically log information about you, your computer or mobile device, and your interaction over time with the Service..., such as: Device data, ...your computer or mobile device's operating system type and version, manufacturer and model, browser type, screen resolution, RAM and disk size, CPU usage, device type (e.g., phone, tablet), IP address, unique identifiers (including identifiers used for advertising purposes), language settings, mobile device carrier, radio/network information (e.g., Wi-Fi, LTE, 3G), and general location information such as city, state or geographic area. https://www.lavanet.xyz/privacy-policy"},{url:"https://api.mycryptoapi.com/eth"},{url:"wss://mainnet.gateway.tenderly.co"},{url:"https://rpc.blocknative.com/boost"},{url:"https://rpc.flashbots.net/fast"},{url:"https://rpc.mevblocker.io/fast"},{url:"https://rpc.mevblocker.io/noreverts"},{url:"https://rpc.mevblocker.io/fullprivacy"},{url:"wss://eth.drpc.org"}],2:[{url:"https://node.eggs.cool"},{url:"https://node.expanse.tech"}],3:[{url:"https://rpc.ankr.com/eth_ropsten"},{url:"https://ropsten.infura.io/v3/9aa3d95b3bc440fa88ea12eaa4456161"}],4:[{url:"https://rpc.ankr.com/eth_rinkeby"},{url:"https://rinkeby.infura.io/3/9aa3d95b3bc440fa88ea12eaa4456161"}],5:[{url:"https://rpc.ankr.com/eth_goerli",tracking:"limited",trackingDetails:"For service delivery purposes, we temporarily record IP addresses to set usage limits and monitor for denial of service attacks against our infrastructure. Though we do look at high-level data around the success rate of transactions made over the blockchain RPC, we do not correlate wallet transactions made over the infrastructure to the IP address making the RPC request. Thus, we do not store, exploit, or share any information regarding Personal Identifiable Information (PII), including wallet addresses. https://www.ankr.com/blog/ankrs-ip-address-policy-and-your-privacy/"},{url:"https://endpoints.omniatech.io/v1/eth/goerli/public",tracking:"none",trackingDetails:"All the data and metadata remain private to the users. No third party is able to access, analyze or track it. OMNIA leverages different technologies and approaches to guarantee the privacy of their users, from front-running protection and private mempools, to obfuscation and random dispatching. https://blog.omniatech.io/how-omnia-handles-your-personal-data"},{url:"https://goerli.infura.io/v3/9aa3d95b3bc440fa88ea12eaa4456161",tracking:"limited",trackingDetails:"We collect wallet and IP address information. The purpose of this collection is to ensure successful transaction propagation, execution, and other important service functionality such as load balancing and DDoS protection. IP addresses and wallet address data relating to a transaction are not stored together or in a way that allows our systems to associate those two pieces of data. We retain and delete user data such as IP address and wallet address pursuant to our data retention policy. https://consensys.net/blog/news/consensys-data-retention-update/"},{url:"https://eth-goerli.public.blastapi.io",tracking:"limited",trackingDetails:"All the information in our logs (log data) can only be accessed for the last 7 days at any certain time, and it is completely purged after 14 days. We do not store any user information for longer periods of time or with any other purposes than investigating potential errors and service failures. https://blastapi.io/privacy-policy"},{url:"https://eth-goerli.g.alchemy.com/v2/demo",tracking:"yes",trackingDetails:"We may collect certain information automatically when you use our Services, such as your Internet protocol (IP) address, user settings, MAC address, cookie identifiers, mobile carrier, mobile advertising and other unique identifiers, browser or device information, location information (including approximate location derived from IP address), and Internet service provider. https://www.alchemy.com/policies/privacy-policy"},{url:"https://goerli.blockpi.network/v1/rpc/public",tracking:"limited",trackingDetails:"We do not collect request data or request origin. We only temporarily record the request method names and IP addresses for 7 days to ensure our service functionality such as load balancing and DDoS protection. All the data is automatically deleted after 7 days and we do not store any user information for longer periods of time. https://blockpi.io/privacy-policy"},{url:"https://eth-goerli.api.onfinality.io/public",tracking:"limited",trackingDetails:"For the sole purpose of providing our service, we temporarily record IP addresses and origins to check against free limits, provide load balancing, prevent DOS attacks, and to determine where best to locate our nodes. We do not, and will never, correlate or link specific wallet addresses or transactions made over our infrastructure to the IP address or origin making the RPC request. After processing IP addresses, we discard the IP address value within 24 hours. Read more here: https://blog.onfinality.io/how-does-onfinality-deal-with-personal-information/"},{url:"https://rpc.goerli.eth.gateway.fm",tracking:"yes",trackingDetails:"When you use our services or visit our websites, we may log your device’s IP address for debugging and security reasons. We may retain this information for up to twelve months"},{url:"https://ethereum-goerli-rpc.publicnode.com",tracking:"none",trackingDetails:"We do not store or track any user data with the exception of data that will be public on chain. We do not correlate wallets address's with IP's, any data which is needed to transact is deleted after 24 hours. We also do no use any Analytics or 3rd party website tracking. https://www.publicnode.com/privacy"},{url:"wss://ethereum-goerli-rpc.publicnode.com",tracking:"none",trackingDetails:"We do not store or track any user data with the exception of data that will be public on chain. We do not correlate wallets address's with IP's, any data which is needed to transact is deleted after 24 hours. We also do no use any Analytics or 3rd party website tracking. https://www.publicnode.com/privacy"},{url:"https://goerli.gateway.tenderly.co",tracking:"yes",trackingDetails:"Additionally, if you are an Account Member, we may collect business and transactional data about you (and your business) that accumulates over the normal course of operation regarding providing our Services. This may include transaction records, stored files, user profiles, information about collaborators, analytics data, and other metrics, as well as other types of information created or generated by your interaction with our Services. https://tenderly.co/privacy-policy"},{url:"https://gateway.tenderly.co/public/goerli",tracking:"yes",trackingDetails:"Additionally, if you are an Account Member, we may collect business and transactional data about you (and your business) that accumulates over the normal course of operation regarding providing our Services. This may include transaction records, stored files, user profiles, information about collaborators, analytics data, and other metrics, as well as other types of information created or generated by your interaction with our Services. https://tenderly.co/privacy-policy"},{url:"https://api.zan.top/node/v1/eth/goerli/public",tracking:"limited",trackingDetails:"ZAN Node Service generally does not store any kind of user information (e.g. IP address, location, requst location, request data, etc.) that transits through our RPCs except for one senario ——we may track your IP address when you are using our RPCs and will delete it immediately when you stoping using our RPCs. To learn more, please review our privacy policy at https://a.zan.top/static/Privacy-Policy.pdf"},{url:"https://builder-rpc1.0xblockswap.com",tracking:"yes",trackingDetails:"Blockswap RPC does not track any kind of user information at the builder RPC level (i.e. IP, location, etc.) nor is any information logged. All blocks are encrypted when passed between proposers, builders, relayers, and Ethereum. It does not transmit any transactions to the relayer. We use analytical cookies to see which content on the Site is highly frequented and also to analyze if content should be updated or improved. These cookies process and save data like your browser type, referrer URLs, operating system, date/time stamp, views and clicks on the Site, and your (truncated) IP address. For more information please visit: https://docs.pon.network/pon/privacy"},{url:"https://builder-rpc2.0xblockswap.com",tracking:"yes",trackingDetails:"Blockswap RPC does not track any kind of user information at the builder RPC level (i.e. IP, location, etc.) nor is any information logged. All blocks are encrypted when passed between proposers, builders, relayers, and Ethereum. It does not transmit any transactions to the relayer. We use analytical cookies to see which content on the Site is highly frequented and also to analyze if content should be updated or improved. These cookies process and save data like your browser type, referrer URLs, operating system, date/time stamp, views and clicks on the Site, and your (truncated) IP address. For more information please visit: https://docs.pon.network/pon/privacy"},{url:"https://rpc.tornadoeth.cash/goerli",tracking:"none",trackingDetails:"TornadoRPC prioritizes user privacy and data security. We do not track or store any user information that passes through our RPC, except for data that is clearly visible on the blockchain. For detailed information about our privacy practices, see our Privacy Policy: https://rpc.tornadoeth.cash/privacy"},{url:"https://rpc.goerli.mudit.blog"},{url:"wss://goerli.gateway.tenderly.co"}],7:[{url:"https://rpc.dome.cloud"},{url:"https://rpc.thaichain.org"}],8:[{url:"https://rpc.octano.dev"},{url:"https://pyrus2.ubiqscan.io"}],10:[{url:"https://optimism.llamarpc.com",tracking:"none",trackingDetails:"LlamaNodes is open-source and does not track or store user information that transits through our RPCs (location, IP, wallet, etc). To learn more, have a look at the public Privacy Policy in our docs: https://llamanodes.notion.site/Privacy-Practices-f20fd8fdd02a469d9d4f42a5989bb936",isOpenSource:true},{url:"https://mainnet.optimism.io"},{url:"https://optimism-mainnet.public.blastapi.io",tracking:"limited",trackingDetails:"All the information in our logs (log data) can only be accessed for the last 7 days at any certain time, and it is completely purged after 14 days. We do not store any user information for longer periods of time or with any other purposes than investigating potential errors and service failures. https://blastapi.io/privacy-policy"},{url:"https://rpc.ankr.com/optimism",tracking:"limited",trackingDetails:"For service delivery purposes, we temporarily record IP addresses to set usage limits and monitor for denial of service attacks against our infrastructure. Though we do look at high-level data around the success rate of transactions made over the blockchain RPC, we do not correlate wallet transactions made over the infrastructure to the IP address making the RPC request. Thus, we do not store, exploit, or share any information regarding Personal Identifiable Information (PII), including wallet addresses. https://www.ankr.com/blog/ankrs-ip-address-policy-and-your-privacy/"},{url:"https://1rpc.io/op",tracking:"none",trackingDetails:"With the exception of data that will be public on chain, all the other metadata / data should remain private to users and other parties should not be able to access or collect it. 1RPC uses many different techniques to prevent the unnecessary collection of user privacy, which prevents tracking from RPC providers. https://docs.1rpc.io/technology/zero-tracking"},{url:"https://op-pokt.nodies.app",tracking:"none",trackingDetails:"What We Do Not Collect: User's IP address, request origin, request data. https://www.blog.pokt.network/rpc-logging-practices/"},{url:"https://opt-mainnet.g.alchemy.com/v2/demo",tracking:"yes",trackingDetails:"We may collect certain information automatically when you use our Services, such as your Internet protocol (IP) address, user settings, MAC address, cookie identifiers, mobile carrier, mobile advertising and other unique identifiers, browser or device information, location information (including approximate location derived from IP address), and Internet service provider. https://www.alchemy.com/policies/privacy-policy"},{url:"https://optimism.blockpi.network/v1/rpc/public",tracking:"limited",trackingDetails:"We do not collect request data or request origin. We only temporarily record the request method names and IP addresses for 7 days to ensure our service functionality such as load balancing and DDoS protection. All the data is automatically deleted after 7 days and we do not store any user information for longer periods of time. https://blockpi.io/privacy-policy"},{url:"https://endpoints.omniatech.io/v1/op/mainnet/public",tracking:"none",trackingDetails:"All the data and metadata remain private to the users. No third party is able to access, analyze or track it. OMNIA leverages different technologies and approaches to guarantee the privacy of their users, from front-running protection and private mempools, to obfuscation and random dispatching. https://blog.omniatech.io/how-omnia-handles-your-personal-data"},{url:"https://optimism.api.onfinality.io/public",tracking:"limited",trackingDetails:"For the sole purpose of providing our service, we temporarily record IP addresses and origins to check against free limits, provide load balancing, prevent DOS attacks, and to determine where best to locate our nodes. We do not, and will never, correlate or link specific wallet addresses or transactions made over our infrastructure to the IP address or origin making the RPC request. After processing IP addresses, we discard the IP address value within 24 hours. Read more here: https://blog.onfinality.io/how-does-onfinality-deal-with-personal-information/"},{url:"https://rpc.optimism.gateway.fm",tracking:"yes",trackingDetails:"When you use our services or visit our websites, we may log your device’s IP address for debugging and security reasons. We may retain this information for up to twelve months"},{url:"https://optimism-rpc.publicnode.com",tracking:"none",trackingDetails:"We do not store or track any user data with the exception of data that will be public on chain. We do not correlate wallets address's with IP's, any data which is needed to transact is deleted after 24 hours. We also do no use any Analytics or 3rd party website tracking. https://www.publicnode.com/privacy"},{url:"wss://optimism-rpc.publicnode.com",tracking:"none",trackingDetails:"We do not store or track any user data with the exception of data that will be public on chain. We do not correlate wallets address's with IP's, any data which is needed to transact is deleted after 24 hours. We also do no use any Analytics or 3rd party website tracking. https://www.publicnode.com/privacy"},{url:"https://optimism.meowrpc.com",tracking:"none",trackingDetails:"With the exclusion of data that will be openly visible and available on the blockchain, MEOWRPC does not track or store any kind of user information (such as location, IP address, etc.) that passes through our RPC. For further details regarding our privacy practices, we encourage you to refer to our Privacy Policy. https://privacy.meowrpc.com"},{url:"https://api.zan.top/node/v1/opt/mainnet/public",tracking:"limited",trackingDetails:"ZAN Node Service generally does not store any kind of user information (e.g. IP address, location, requst location, request data, etc.) that transits through our RPCs except for one senario ——we may track your IP address when you are using our RPCs and will delete it immediately when you stoping using our RPCs. To learn more, please review our privacy policy at https://a.zan.top/static/Privacy-Policy.pdf"},{url:"https://optimism.drpc.org",tracking:"none",trackingDetails:"Specific types of technical data that we may temporarily log include:IP address (only in logs for redirecting requests to the nearest RPC nodes and rate limiting at the free level, which are cleared weekly). The user ID is hidden in the temporary logs, so it is not possible to link them to a specific user.https://drpc.org/privacy-policy"},{url:"https://optimism.gateway.tenderly.co",tracking:"yes",trackingDetails:"Additionally, if you are an Account Member, we may collect business and transactional data about you (and your business) that accumulates over the normal course of operation regarding providing our Services. This may include transaction records, stored files, user profiles, information about collaborators, analytics data, and other metrics, as well as other types of information created or generated by your interaction with our Services. https://tenderly.co/privacy-policy"},{url:"https://gateway.tenderly.co/public/optimism",tracking:"yes",trackingDetails:"Additionally, if you are an Account Member, we may collect business and transactional data about you (and your business) that accumulates over the normal course of operation regarding providing our Services. This may include transaction records, stored files, user profiles, information about collaborators, analytics data, and other metrics, as well as other types of information created or generated by your interaction with our Services. https://tenderly.co/privacy-policy"},{url:"https://api.stateless.solutions/optimism/v1/f373feb1-c8e4-41c9-bb74-2c691988dd34",tracking:"none",trackingDetails:"Through any of our RPC API endpoints, whether public or private, we do not collect personal identifiers such as IP addresses, request origins, or specific request data. https://www.stateless.solutions/api-usage-privacy-policy"},{url:"https://rpc.tornadoeth.cash/optimism",tracking:"none",trackingDetails:"TornadoRPC prioritizes user privacy and data security. We do not track or store any user information that passes through our RPC, except for data that is clearly visible on the blockchain. For detailed information about our privacy practices, see our Privacy Policy: https://rpc.tornadoeth.cash/privacy"},{url:"wss://optimism.gateway.tenderly.co"},{url:"wss://optimism.drpc.org"}],11:[{url:"https://api.metadium.com/dev"},{url:"https://api.metadium.com/prod"}],12:[{url:"https://api.metadium.com/dev"}],13:[{url:"https://staging.diode.io:8443"},{url:"wss://staging.diode.io:8443/ws"}],14:[{url:"https://flare-api.flare.network/ext/C/rpc"},{url:"https://flare.rpc.thirdweb.com"},{url:"https://flare-bundler.etherspot.io"},{url:"https://rpc.ankr.com/flare"},{url:"https://01-gravelines-003-01.rpc.tatum.io/ext/bc/C/rpc"},{url:"https://01-vinthill-003-02.rpc.tatum.io/ext/bc/C/rpc"},{url:"https://rpc.ftso.au/flare"},{url:"https://flare.enosys.global/ext/C/rpc"},{url:"https://flare.solidifi.app/ext/C/rpc"}],15:[{url:"https://prenet.diode.io:8443"},{url:"wss://prenet.diode.io:8443/ws"}],16:[{url:"https://coston-api.flare.network/ext/C/rpc"},{url:"https://songbird-testnet-coston.rpc.thirdweb.com"},{url:"https://01-gravelines-004-01.rpc.tatum.io/ext/bc/C/rpc"},{url:"https://02-chicago-004-02.rpc.tatum.io/ext/bc/C/rpc"},{url:"https://02-tokyo-004-03.rpc.tatum.io/ext/bc/C/rpc"},{url:"https://coston.enosys.global/ext/C/rpc"}],17:[{url:"https://rpc.thaifi.com"}],18:[{url:"https://testnet-rpc.thundercore.com"},{url:"https://thundercore-testnet.drpc.org"},{url:"wss://thundercore-testnet.drpc.org"}],19:[{url:"https://songbird.towolabs.com/rpc"},{url:"https://songbird-api.flare.network/ext/C/rpc"},{url:"https://01-gravelines-006-01.rpc.tatum.io/ext/bc/C/rpc"},{url:"https://01-vinthill-006-02.rpc.tatum.io/ext/bc/C/rpc"},{url:"https://02-tokyo-006-03.rpc.tatum.io/ext/bc/C/rpc"},{url:"https://rpc.ftso.au/songbird"},{url:"https://songbird.enosys.global/ext/C/rpc"},{url:"https://songbird.solidifi.app/ext/C/rpc"}],20:[{url:"https://api.elastos.io/esc"},{url:"https://api.trinity-tech.io/esc"},{url:"https://api.elastos.io/eth"}],21:[{url:"https://api-testnet.elastos.io/eth"}],22:[{url:"https://api.trinity-tech.io/eid"},{url:"https://api.elastos.io/eid"}],24:[{url:"https://rpc.kardiachain.io"}],25:[{url:"https://evm.cronos.org"},{url:"https://cronos-rpc.elk.finance"},{url:"https://cronos.blockpi.network/v1/rpc/public",tracking:"limited",trackingDetails:"We do not collect request data or request origin. We only temporarily record the request method names and IP addresses for 7 days to ensure our service functionality such as load balancing and DDoS protection. All the data is automatically deleted after 7 days and we do not store any user information for longer periods of time. https://blockpi.io/privacy-policy"},{url:"https://cronos-evm-rpc.publicnode.com",tracking:"none",trackingDetails:"We do not store or track any user data with the exception of data that will be public on chain. We do not correlate wallets address's with IP's, any data which is needed to transact is deleted after 24 hours. We also do no use any Analytics or 3rd party website tracking. https://www.publicnode.com/privacy"},{url:"wss://cronos-evm-rpc.publicnode.com",tracking:"none",trackingDetails:"We do not store or track any user data with the exception of data that will be public on chain. We do not correlate wallets address's with IP's, any data which is needed to transact is deleted after 24 hours. We also do no use any Analytics or 3rd party website tracking. https://www.publicnode.com/privacy"},{url:"https://1rpc.io/cro",tracking:"none",trackingDetails:"With the exception of data that will be public on chain, all the other metadata / data should remain private to users and other parties should not be able to access or collect it. 1RPC uses many different techniques to prevent the unnecessary collection of user privacy, which prevents tracking from RPC providers. https://docs.1rpc.io/technology/zero-tracking"},{url:"https://cronos.drpc.org"},{url:"wss://cronos.drpc.org"}],26:[{url:"https://testrpc.genesisl1.org"}],27:[{url:"https://rpc.shibachain.net"},{url:"https://rpc.shibchain.org"}],29:[{url:"https://rpc.genesisl1.org"}],30:[{url:"https://public-node.rsk.co"},{url:"https://mycrypto.rsk.co"}],31:[{url:"https://public-node.testnet.rsk.co"},{url:"https://mycrypto.testnet.rsk.co"}],32:[{url:"https://test2.goodata.io"}],33:[{url:"https://rpc.goodata.io"}],34:[{url:"https://mainnet-rpc.scai.network"}],35:[{url:"https://rpc.tbwg.io"}],36:[{url:"https://mainnet.dxchain.com"}],37:[{url:"https://dimension-evm-rpc.xpla.dev"}],38:[{url:"https://rpc.valorbit.com/v2"}],39:[{url:"https://rpc-mainnet.uniultra.xyz"}],40:[{url:"https://mainnet.telos.net/evm"},{url:"https://rpc1.eu.telos.net/evm"},{url:"https://rpc1.us.telos.net/evm"},{url:"https://rpc2.us.telos.net/evm"},{url:"https://api.kainosbp.com/evm"},{url:"https://rpc2.eu.telos.net/evm"},{url:"https://evm.teloskorea.com/evm"},{url:"https://rpc2.teloskorea.com/evm"},{url:"https://rpc01.us.telosunlimited.io/evm"},{url:"https://rpc02.us.telosunlimited.io/evm"},{url:"https://1rpc.io/telos/evm",tracking:"none",trackingDetails:"With the exception of data that will be public on chain, all the other metadata / data should remain private to users and other parties should not be able to access or collect it. 1RPC uses many different techniques to prevent the unnecessary collection of user privacy, which prevents tracking from RPC providers. https://docs.1rpc.io/technology/zero-tracking"},{url:"https://telos.drpc.org"},{url:"wss://telos.drpc.org"}],41:[{url:"https://testnet.telos.net/evm"},{url:"https://telos-testnet.drpc.org"},{url:"wss://telos-testnet.drpc.org"}],42:[{url:"https://rpc.mainnet.lukso.network"},{url:"wss://ws-rpc.mainnet.lukso.network"}],43:[{url:"https://pangolin-rpc.darwinia.network"}],44:[{url:"https://crab.api.onfinality.io/public",tracking:"limited",trackingDetails:"For the sole purpose of providing our service, we temporarily record IP addresses and origins to check against free limits, provide load balancing, prevent DOS attacks, and to determine where best to locate our nodes. We do not, and will never, correlate or link specific wallet addresses or transactions made over our infrastructure to the IP address or origin making the RPC request. After processing IP addresses, we discard the IP address value within 24 hours. Read more here: https://blog.onfinality.io/how-does-onfinality-deal-with-personal-information/"},{url:"https://crab-rpc.darwinia.network"},{url:"https://crab-rpc.dcdao.box"}],45:[{url:"https://pangoro-rpc.darwinia.network"}],46:[{url:"https://rpc.darwinia.network"},{url:"https://darwinia-rpc.dcdao.box"},{url:"https://darwinia-rpc.dwellir.com"}],47:[{url:"https://aic.acria.ai"}],48:[{url:"https://rpc.etm.network"}],49:[{url:"https://rpc.pioneer.etm.network"}],50:[{url:"https://rpc.xdcrpc.com"},{url:"https://rpc1.xinfin.network"},{url:"https://erpc.xinfin.network"},{url:"https://rpc.xinfin.network"},{url:"https://erpc.xdcrpc.com"},{url:"https://rpc.xdc.org"},{url:"https://rpc.ankr.com/xdc",tracking:"limited",trackingDetails:"For service delivery purposes, we temporarily record IP addresses to set usage limits and monitor for denial of service attacks against our infrastructure. Though we do look at high-level data around the success rate of transactions made over the blockchain RPC, we do not correlate wallet transactions made over the infrastructure to the IP address making the RPC request. Thus, we do not store, exploit, or share any information regarding Personal Identifiable Information (PII), including wallet addresses. https://www.ankr.com/blog/ankrs-ip-address-policy-and-your-privacy/"},{url:"https://rpc-xdc.icecreamswap.com"}],51:[{url:"https://rpc.apothem.network"},{url:"https://erpc.apothem.network"},{url:"https://apothem.xdcrpc.com"}],52:[{url:"https://rpc.coinex.net"},{url:"https://rpc1.coinex.net"},{url:"https://rpc2.coinex.net"},{url:"https://rpc3.coinex.net"},{url:"https://rpc4.coinex.net"}],53:[{url:"https://testnet-rpc.coinex.net"}],54:[{url:"https://mainnet.openpiece.io"}],55:[{url:"https://rpc-1.zyx.network"},{url:"https://rpc-2.zyx.network"},{url:"https://rpc-3.zyx.network"},{url:"https://rpc-5.zyx.network"},{url:"https://rpc-4.zyx.network"},{url:"https://rpc-6.zyx.network"}],56:[{url:"https://binance.llamarpc.com",tracking:"none",trackingDetails:"LlamaNodes is open-source and does not track or store user information that transits through our RPCs (location, IP, wallet, etc). To learn more, have a look at the public Privacy Policy in our docs: https://llamanodes.notion.site/Privacy-Practices-f20fd8fdd02a469d9d4f42a5989bb936",isOpenSource:true},{url:"https://bsc-dataseed.bnbchain.org"},{url:"https://bsc-dataseed1.defibit.io"},{url:"https://bsc-dataseed1.ninicoin.io"},{url:"https://bsc-dataseed2.defibit.io"},{url:"https://bsc-dataseed3.defibit.io"},{url:"https://bsc-dataseed4.defibit.io"},{url:"https://bsc-dataseed2.ninicoin.io"},{url:"https://bsc-dataseed3.ninicoin.io"},{url:"https://bsc-dataseed4.ninicoin.io"},{url:"https://bsc-dataseed1.bnbchain.org"},{url:"https://bsc-dataseed2.bnbchain.org"},{url:"https://bsc-dataseed3.bnbchain.org"},{url:"https://bsc-dataseed4.bnbchain.org"},{url:"https://bsc-dataseed6.dict.life"},{url:"https://rpc-bsc.48.club",tracking:"limited",trackingDetails:"IP addresses will be read for rate-limit purpose without being actively stored at application layer. Also notice that we don't actively purge user footprint in lower-level protocol."},{url:"https://koge-rpc-bsc.48.club",tracking:"limited",trackingDetails:"IP addresses will be read for rate-limit purpose without being actively stored at application layer. Also notice that we don't actively purge user footprint in lower-level protocol."},{url:"https://endpoints.omniatech.io/v1/bsc/mainnet/public",tracking:"none",trackingDetails:"All the data and metadata remain private to the users. No third party is able to access, analyze or track it. OMNIA leverages different technologies and approaches to guarantee the privacy of their users, from front-running protection and private mempools, to obfuscation and random dispatching. https://blog.omniatech.io/how-omnia-handles-your-personal-data"},{url:"https://bsc-pokt.nodies.app",tracking:"none",trackingDetails:"What We Do Not Collect: User's IP address, request origin, request data. https://www.blog.pokt.network/rpc-logging-practices/"},{url:"https://bsc-mainnet.nodereal.io/v1/64a9df0874fb4a93b9d0a3849de012d3",tracking:"yes",trackingDetails:`We may automatically record certain information about how you use our Sites (we refer to this information as "Log Data"). Log Data may include information such as a user's Internet Protocol (IP) address, device and browser type, operating system, the pages or features of our Sites to which a user browsed and the time spent on those pages or features, the frequency with which the Sites are used by a user, search terms, the links on our Sites that a user clicked on or used, and other statistics. We use this information to administer the Service and we analyze (and may engage third parties to analyze) this information to improve and enhance the Service by expanding its features and functionality and tailoring it to our users' needs and preferences. https://nodereal.io/terms`},{url:"https://rpc.ankr.com/bsc",tracking:"limited",trackingDetails:"For service delivery purposes, we temporarily record IP addresses to set usage limits and monitor for denial of service attacks against our infrastructure. Though we do look at high-level data around the success rate of transactions made over the blockchain RPC, we do not correlate wallet transactions made over the infrastructure to the IP address making the RPC request. Thus, we do not store, exploit, or share any information regarding Personal Identifiable Information (PII), including wallet addresses. https://www.ankr.com/blog/ankrs-ip-address-policy-and-your-privacy/"},{url:"https://getblock.io/nodes/bsc",tracking:"limited",trackingDetails:"We automatically collect certain information through cookies and similar technologies when you visit, use or navigate Website. This information does not reveal your specific identity (like your name or contact information) and does not allow to identify you. However, it may include device and usage information, such as your IP address, browser and device characteristics, its type and version, operating system, language preferences, referring URLs, device name, country, location, information about how and when you use our Website, information about your interaction in our emails, and other technical and statistical information. This information is primarily needed to maintain the security and operation of our Website, and for our internal analytics and reporting purposes.Specifically, as the RPC provider, we do not log and store your IP address, country, location and similar data. https://getblock.io/privacy-policy/"},{url:"https://bscrpc.com"},{url:"https://bsc.rpcgator.com"},{url:"https://binance.nodereal.io",tracking:"yes",trackingDetails:`We may automatically record certain information about how you use our Sites (we refer to this information as "Log Data"). Log Data may include information such as a user's Internet Protocol (IP) address, device and browser type, operating system, the pages or features of our Sites to which a user browsed and the time spent on those pages or features, the frequency with which the Sites are used by a user, search terms, the links on our Sites that a user clicked on or used, and other statistics. We use this information to administer the Service and we analyze (and may engage third parties to analyze) this information to improve and enhance the Service by expanding its features and functionality and tailoring it to our users' needs and preferences. https://nodereal.io/terms`},{url:"https://bsc-mainnet.rpcfast.com?api_key=xbhWBI1Wkguk8SNMu1bvvLurPGLXmgwYeC4S6g2H7WdwFigZSmPWVZRxrskEQwIf"},{url:"https://nodes.vefinetwork.org/smartchain"},{url:"https://1rpc.io/bnb",tracking:"none",trackingDetails:"With the exception of data that will be public on chain, all the other metadata / data should remain private to users and other parties should not be able to access or collect it. 1RPC uses many different techniques to prevent the unnecessary collection of user privacy, which prevents tracking from RPC providers. https://docs.1rpc.io/technology/zero-tracking"},{url:"https://bsc.rpc.blxrbdn.com",tracking:"yes",trackingDetails:"We may collect information that is publicly available in a blockchain when providing our services, such as: Public wallet identifier of the sender and recipient of a transaction, Unique identifier for a transaction, Date and time of a transaction, Transaction value, along with associated costs, Status of a transaction (such as whether the transaction is complete, in-progress, or resulted in an error) https://bloxroute.com/wp-content/uploads/2021/12/bloXroute-Privacy-Policy-04-01-2019-Final.pdf"},{url:"https://bsc.blockpi.network/v1/rpc/public",tracking:"limited",trackingDetails:"We do not collect request data or request origin. We only temporarily record the request method names and IP addresses for 7 days to ensure our service functionality such as load balancing and DDoS protection. All the data is automatically deleted after 7 days and we do not store any user information for longer periods of time. https://blockpi.io/privacy-policy"},{url:"https://bnb.api.onfinality.io/public",tracking:"limited",trackingDetails:"For the sole purpose of providing our service, we temporarily record IP addresses and origins to check against free limits, provide load balancing, prevent DOS attacks, and to determine where best to locate our nodes. We do not, and will never, correlate or link specific wallet addresses or transactions made over our infrastructure to the IP address or origin making the RPC request. After processing IP addresses, we discard the IP address value within 24 hours. Read more here: https://blog.onfinality.io/how-does-onfinality-deal-with-personal-information/"},{url:"https://bsc-rpc.publicnode.com",tracking:"none",trackingDetails:"We do not store or track any user data with the exception of data that will be public on chain. We do not correlate wallets address's with IP's, any data which is needed to transact is deleted after 24 hours. We also do no use any Analytics or 3rd party website tracking. https://www.publicnode.com/privacy"},{url:"wss://bsc-rpc.publicnode.com",tracking:"none",trackingDetails:"We do not store or track any user data with the exception of data that will be public on chain. We do not correlate wallets address's with IP's, any data which is needed to transact is deleted after 24 hours. We also do no use any Analytics or 3rd party website tracking. https://www.publicnode.com/privacy"},{url:"https://bsc-mainnet.public.blastapi.io",tracking:"limited",trackingDetails:"All the information in our logs (log data) can only be accessed for the last 7 days at any certain time, and it is completely purged after 14 days. We do not store any user information for longer periods of time or with any other purposes than investigating potential errors and service failures. https://blastapi.io/privacy-policy"},{url:"https://bsc.meowrpc.com",tracking:"none",trackingDetails:"With the exclusion of data that will be openly visible and available on the blockchain, MEOWRPC does not track or store any kind of user information (such as location, IP address, etc.) that passes through our RPC. For further details regarding our privacy practices, we encourage you to refer to our Privacy Policy. https://privacy.meowrpc.com"},{url:"https://api.zan.top/node/v1/bsc/mainnet/public",tracking:"limited",trackingDetails:"ZAN Node Service generally does not store any kind of user information (e.g. IP address, location, requst location, request data, etc.) that transits through our RPCs except for one senario ——we may track your IP address when you are using our RPCs and will delete it immediately when you stoping using our RPCs. To learn more, please review our privacy policy at https://a.zan.top/static/Privacy-Policy.pdf"},{url:"https://bsc.drpc.org",tracking:"none",trackingDetails:"Specific types of technical data that we may temporarily log include:IP address (only in logs for redirecting requests to the nearest RPC nodes and rate limiting at the free level, which are cleared weekly). The user ID is hidden in the temporary logs, so it is not possible to link them to a specific user.https://drpc.org/privacy-policy"},{url:"https://services.tokenview.io/vipapi/nodeservice/bsc?apikey=qVHq2o6jpaakcw3lRstl",tracking:"yes",trackingDetails:"Information about your computer hardware and software may be automatically collected by Tokenview. This information can include such details as your IP address, browser type, domain names, access times, etc.https://services.tokenview.io/en/protocol"},{url:"https://rpc.polysplit.cloud/v1/chain/56",tracking:"none",trackingDetails:"When you use our Service, we does not track the IP address or other user info.https://polysplit.cloud/privacy"},{url:"https://rpc.tornadoeth.cash/bsc",tracking:"none",trackingDetails:"TornadoRPC prioritizes user privacy and data security. We do not track or store any user information that passes through our RPC, except for data that is clearly visible on the blockchain. For detailed information about our privacy practices, see our Privacy Policy: https://rpc.tornadoeth.cash/privacy"},{url:"wss://bsc-ws-node.nariox.org"}],57:[{url:"https://rpc.syscoin.org"},{url:"https://rpc.ankr.com/syscoin",tracking:"limited",trackingDetails:"For service delivery purposes, we temporarily record IP addresses to set usage limits and monitor for denial of service attacks against our infrastructure. Though we do look at high-level data around the success rate of transactions made over the blockchain RPC, we do not correlate wallet transactions made over the infrastructure to the IP address making the RPC request. Thus, we do not store, exploit, or share any information regarding Personal Identifiable Information (PII), including wallet addresses. https://www.ankr.com/blog/ankrs-ip-address-policy-and-your-privacy/"},{url:"https://syscoin-evm-rpc.publicnode.com",tracking:"none",trackingDetails:"We do not store or track any user data with the exception of data that will be public on chain. We do not correlate wallets address's with IP's, any data which is needed to transact is deleted after 24 hours. We also do no use any Analytics or 3rd party website tracking. https://www.publicnode.com/privacy"},{url:"wss://syscoin-evm-rpc.publicnode.com",tracking:"none",trackingDetails:"We do not store or track any user data with the exception of data that will be public on chain. We do not correlate wallets address's with IP's, any data which is needed to transact is deleted after 24 hours. We also do no use any Analytics or 3rd party website tracking. https://www.publicnode.com/privacy"},{url:"https://rpc.ankr.com/syscoin/${ANKR_API_KEY}"},{url:"https://syscoin.public-rpc.com"},{url:"wss://rpc.syscoin.org/wss"},{url:"https://syscoin-evm.publicnode.com"},{url:"wss://syscoin-evm.publicnode.com"}],58:[{url:"https://dappnode1.ont.io:10339"},{url:"https://dappnode2.ont.io:10339"},{url:"https://dappnode3.ont.io:10339"},{url:"https://dappnode4.ont.io:10339"},{url:"http://dappnode1.ont.io:20339"},{url:"http://dappnode2.ont.io:20339"},{url:"http://dappnode3.ont.io:20339"},{url:"http://dappnode4.ont.io:20339"}],60:[{url:"https://rpc.gochain.io"}],61:[{url:"https://etc.mytokenpocket.vip"},{url:"https://rpc.etcinscribe.com"},{url:"https://etc.etcdesktop.com"},{url:"https://besu-de.etc-network.info",tracking:"limited",trackingDetails:"We do use analytics at 3rd party tracking websites (Google Analytics & Google Search Console) the following interactions with our systems are automatically logged when you access our services, such as your Internet Protocol (IP) address as well as accessed services and pages(Packet details are discarded / not logged!). Data redemption is varying based on traffic, but deleted after 31 days."},{url:"https://geth-de.etc-network.info",tracking:"limited",trackingDetails:"We do use analytics at 3rd party tracking websites (Google Analytics & Google Search Console) the following interactions with our systems are automatically logged when you access our services, such as your Internet Protocol (IP) address as well as accessed services and pages(Packet details are discarded / not logged!). Data redemption is varying based on traffic, but deleted after 31 days."},{url:"https://besu-at.etc-network.info",tracking:"limited",trackingDetails:"We do use analytics at 3rd party tracking websites (Google Analytics & Google Search Console) the following interactions with our systems are automatically logged when you access our services, such as your Internet Protocol (IP) address as well as accessed services and pages(Packet details are discarded / not logged!). Data redemption is varying based on traffic, but deleted after 31 days."},{url:"https://geth-at.etc-network.info",tracking:"limited",trackingDetails:"We do use analytics at 3rd party tracking websites (Google Analytics & Google Search Console) the following interactions with our systems are automatically logged when you access our services, such as your Internet Protocol (IP) address as well as accessed services and pages(Packet details are discarded / not logged!). Data redemption is varying based on traffic, but deleted after 31 days."},{url:"https://services.tokenview.io/vipapi/nodeservice/etc?apikey=qVHq2o6jpaakcw3lRstl",tracking:"yes",trackingDetails:"Information about your computer hardware and software may be automatically collected by Tokenview. This information can include such details as your IP address, browser type, domain names, access times, etc.https://services.tokenview.io/en/protocol"},{url:"https://etc.rivet.link",tracking:"none",trackingDetails:"We collect End Users’ information when they use our Customers’ web3-enabled websites, web applications, and APIs. This information may include but is not limited to IP addresses, system configuration information, and other information about traffic to and from Customers’ websites (collectively, “Log Data”). We collect and use Log Data to operate, maintain, and improve our Services in performance of our obligations under our Customer agreements.https://rivet.cloud/privacy-policy"}],63:[{url:"https://rpc.mordor.etccooperative.org"},{url:"https://geth-mordor.etc-network.info",tracking:"limited",trackingDetails:"We do use analytics at 3rd party tracking websites (Google Analytics & Google Search Console) the following interactions with our systems are automatically logged when you access our services, such as your Internet Protocol (IP) address as well as accessed services and pages(Packet details are discarded / not logged!). Data redemption is varying based on traffic, but deleted after 31 days."}],64:[{url:"https://jsonrpc.ellaism.org"}],65:[{url:"https://exchaintestrpc.okex.org"}],66:[{url:"https://exchainrpc.okex.org"},{url:"https://oktc-mainnet.public.blastapi.io",tracking:"limited",trackingDetails:"All the information in our logs (log data) can only be accessed for the last 7 days at any certain time, and it is completely purged after 14 days. We do not store any user information for longer periods of time or with any other purposes than investigating potential errors and service failures. https://blastapi.io/privacy-policy"},{url:"https://okt-chain.api.onfinality.io/public",tracking:"limited",trackingDetails:"For the sole purpose of providing our service, we temporarily record IP addresses and origins to check against free limits, provide load balancing, prevent DOS attacks, and to determine where best to locate our nodes. We do not, and will never, correlate or link specific wallet addresses or transactions made over our infrastructure to the IP address or origin making the RPC request. After processing IP addresses, we discard the IP address value within 24 hours. Read more here: https://blog.onfinality.io/how-does-onfinality-deal-with-personal-information/"},{url:"https://1rpc.io/oktc",tracking:"none",trackingDetails:"With the exception of data that will be public on chain, all the other metadata / data should remain private to users and other parties should not be able to access or collect it. 1RPC uses many different techniques to prevent the unnecessary collection of user privacy, which prevents tracking from RPC providers. https://docs.1rpc.io/technology/zero-tracking"},{url:"https://okc-mainnet.gateway.pokt.network/v1/lb/6275309bea1b320039c893ff"}],67:[{url:"http://test-rpc.dbmbp.com"}],68:[{url:"https://rpc.soter.one"}],69:[{url:"https://kovan.optimism.io"}],70:[{url:"https://http-mainnet.hoosmartchain.com"},{url:"https://http-mainnet2.hoosmartchain.com"},{url:"wss://ws-mainnet.hoosmartchain.com"},{url:"wss://ws-mainnet2.hoosmartchain.com"}],71:[{url:"https://evmtestnet.confluxrpc.com"}],72:[{url:"https://testnet-http.dxchain.com"}],73:[{url:"https://fncy-seed1.fncy.world"}],74:[{url:"https://idchain.one/rpc"},{url:"wss://idchain.one/ws"}],75:[{url:"https://node.decimalchain.com/web3"},{url:"https://node1-mainnet.decimalchain.com/web3"},{url:"https://node2-mainnet.decimalchain.com/web3"},{url:"https://node3-mainnet.decimalchain.com/web3"},{url:"https://node4-mainnet.decimalchain.com/web3"}],76:[{url:"https://rpc2.mix-blockchain.org:8647"}],77:[{url:"https://sokol.poa.network"},{url:"wss://sokol.poa.network/wss"},{url:"ws://sokol.poa.network:8546"}],78:[{url:"https://ethnode.primusmoney.com/mainnet"}],79:[{url:"https://dataserver-us-1.zenithchain.co"},{url:"https://dataserver-asia-3.zenithchain.co"},{url:"https://dataserver-asia-4.zenithchain.co"},{url:"https://dataserver-asia-2.zenithchain.co"},{url:"https://dataserver-asia-5.zenithchain.co"},{url:"https://dataserver-asia-6.zenithchain.co"},{url:"https://dataserver-asia-7.zenithchain.co"}],80:[{url:"website:https://genechain.io/en/index.html"},{url:"https://rpc.genechain.io"}],81:[{url:"https://rpc-1.japanopenchain.org:8545"},{url:"https://rpc-2.japanopenchain.org:8545"},{url:"https://rpc-3.japanopenchain.org"}],82:[{url:"https://rpc.meter.io"},{url:"https://rpc-meter.jellypool.xyz",tracking:"yes",trackingDetails:"The information collected by log files include internet protocol (IP) addresses, browser type, Internet Service Provider (ISP), date and time stamp, referring/exit pages, and possibly the number of clicks. These are not linked to any information that is personally identifiable. The purpose of the information is for analyzing trends, administering the site, tracking users' movement on the website, and gathering demographic information. https://www.jellypool.xyz/privacy/"},{url:"https://meter.blockpi.network/v1/rpc/public",tracking:"limited",trackingDetails:"We do not collect request data or request origin. We only temporarily record the request method names and IP addresses for 7 days to ensure our service functionality such as load balancing and DDoS protection. All the data is automatically deleted after 7 days and we do not store any user information for longer periods of time. https://blockpi.io/privacy-policy"}],83:[{url:"https://rpctest.meter.io"}],84:[{url:"https://linqto-dev.com"}],85:[{url:"https://testnet.gatenode.cc"}],86:[{url:"https://evm.gatenode.cc"}],87:[{url:"https://rpc.novanetwork.io:9070",tracking:"none",trackingDetails:"Only strictly functional data is automatically collected by the RPC. None of this data is directly exported or used for commercial purposes."},{url:"https://dev.rpc.novanetwork.io",tracking:"none",trackingDetails:"Only strictly functional data is automatically collected by the RPC. None of this data is directly exported or used for commercial purposes."},{url:"https://connect.novanetwork.io"},{url:"https://0x57.redjackstudio.com"}],88:[{url:"https://rpc.tomochain.com"},{url:"https://viction.blockpi.network/v1/rpc/public",tracking:"limited",trackingDetails:"We do not collect request data or request origin. We only temporarily record the request method names and IP addresses for 7 days to ensure our service functionality such as load balancing and DDoS protection. All the data is automatically deleted after 7 days and we do not store any user information for longer periods of time. https://blockpi.io/privacy-policy"},{url:"https://rpc.viction.xyz"}],89:[{url:"https://rpc-testnet.viction.xyz"}],90:[{url:"https://s0.garizon.net/rpc"}],91:[{url:"https://s1.garizon.net/rpc"}],92:[{url:"https://s2.garizon.net/rpc"}],93:[{url:"https://s3.garizon.net/rpc"}],94:[{url:"https://rpc.swissdlt.ch"}],95:[{url:"https://rpc1.camdl.gov.kh"}],96:[{url:"https://rpc.bitkubchain.io"},{url:"wss://wss.bitkubchain.io"}],97:[{url:"https://endpoints.omniatech.io/v1/bsc/testnet/public",tracking:"none",trackingDetails:"All the data and metadata remain private to the users. No third party is able to access, analyze or track it. OMNIA leverages different technologies and approaches to guarantee the privacy of their users, from front-running protection and private mempools, to obfuscation and random dispatching. https://blog.omniatech.io/how-omnia-handles-your-personal-data"},{url:"https://bsctestapi.terminet.io/rpc"},{url:"https://bsc-testnet.public.blastapi.io",tracking:"limited",trackingDetails:"All the information in our logs (log data) can only be accessed for the last 7 days at any certain time, and it is completely purged after 14 days. We do not store any user information for longer periods of time or with any other purposes than investigating potential errors and service failures. https://blastapi.io/privacy-policy"},{url:"https://bsc-testnet-rpc.publicnode.com",tracking:"none",trackingDetails:"We do not store or track any user data with the exception of data that will be public on chain. We do not correlate wallets address's with IP's, any data which is needed to transact is deleted after 24 hours. We also do no use any Analytics or 3rd party website tracking. https://www.publicnode.com/privacy"},{url:"wss://bsc-testnet-rpc.publicnode.com",tracking:"none",trackingDetails:"We do not store or track any user data with the exception of data that will be public on chain. We do not correlate wallets address's with IP's, any data which is needed to transact is deleted after 24 hours. We also do no use any Analytics or 3rd party website tracking. https://www.publicnode.com/privacy"},{url:"https://api.zan.top/node/v1/bsc/testnet/public",tracking:"limited",trackingDetails:"ZAN Node Service generally does not store any kind of user information (e.g. IP address, location, requst location, request data, etc.) that transits through our RPCs except for one senario ——we may track your IP address when you are using our RPCs and will delete it immediately when you stoping using our RPCs. To learn more, please review our privacy policy at https://a.zan.top/static/Privacy-Policy.pdf"},{url:"https://bsc-testnet.blockpi.network/v1/rpc/public",tracking:"limited",trackingDetails:"We do not collect request data or request origin. We only temporarily record the request method names and IP addresses for 7 days to ensure our service functionality such as load balancing and DDoS protection. All the data is automatically deleted after 7 days and we do not store any user information for longer periods of time. https://blockpi.io/privacy-policy"},{url:"https://data-seed-prebsc-1-s1.bnbchain.org:8545"},{url:"https://data-seed-prebsc-2-s1.bnbchain.org:8545"},{url:"https://data-seed-prebsc-1-s2.bnbchain.org:8545"},{url:"https://data-seed-prebsc-2-s2.bnbchain.org:8545"},{url:"https://data-seed-prebsc-1-s3.bnbchain.org:8545"},{url:"https://data-seed-prebsc-2-s3.bnbchain.org:8545"}],98:[{url:"https://sixnet-rpc-evm.sixprotocol.net"}],99:[{url:"https://core.poanetwork.dev"},{url:"https://core.poa.network"}],100:[{url:"https://rpc.gnosischain.com"},{url:"https://xdai-archive.blockscout.com"},{url:"https://gnosis-pokt.nodies.app",tracking:"none",trackingDetails:"What We Do Not Collect: User's IP address, request origin, request data. https://www.blog.pokt.network/rpc-logging-practices/"},{url:"https://rpc.gnosis.gateway.fm",tracking:"yes",trackingDetails:"When you use our services or visit our websites, we may log your device’s IP address for debugging and security reasons. We may retain this information for up to twelve months"},{url:"https://gnosis-mainnet.public.blastapi.io",tracking:"limited",trackingDetails:"All the information in our logs (log data) can only be accessed for the last 7 days at any certain time, and it is completely purged after 14 days. We do not store any user information for longer periods of time or with any other purposes than investigating potential errors and service failures. https://blastapi.io/privacy-policy"},{url:"https://rpc.ankr.com/gnosis",tracking:"limited",trackingDetails:"For service delivery purposes, we temporarily record IP addresses to set usage limits and monitor for denial of service attacks against our infrastructure. Though we do look at high-level data around the success rate of transactions made over the blockchain RPC, we do not correlate wallet transactions made over the infrastructure to the IP address making the RPC request. Thus, we do not store, exploit, or share any information regarding Personal Identifiable Information (PII), including wallet addresses. https://www.ankr.com/blog/ankrs-ip-address-policy-and-your-privacy/"},{url:"https://rpc.ap-southeast-1.gateway.fm/v4/gnosis/non-archival/mainnet",tracking:"yes",trackingDetails:"When you use our services or visit our websites, we may log your device’s IP address for debugging and security reasons. We may retain this information for up to twelve months"},{url:"https://gnosis.blockpi.network/v1/rpc/public",tracking:"limited",trackingDetails:"We do not collect request data or request origin. We only temporarily record the request method names and IP addresses for 7 days to ensure our service functionality such as load balancing and DDoS protection. All the data is automatically deleted after 7 days and we do not store any user information for longer periods of time. https://blockpi.io/privacy-policy"},{url:"https://gnosis.api.onfinality.io/public",tracking:"limited",trackingDetails:"For the sole purpose of providing our service, we temporarily record IP addresses and origins to check against free limits, provide load balancing, prevent DOS attacks, and to determine where best to locate our nodes. We do not, and will never, correlate or link specific wallet addresses or transactions made over our infrastructure to the IP address or origin making the RPC request. After processing IP addresses, we discard the IP address value within 24 hours. Read more here: https://blog.onfinality.io/how-does-onfinality-deal-with-personal-information/"},{url:"https://gnosis.drpc.org",tracking:"none",trackingDetails:"Specific types of technical data that we may temporarily log include:IP address (only in logs for redirecting requests to the nearest RPC nodes and rate limiting at the free level, which are cleared weekly). The user ID is hidden in the temporary logs, so it is not possible to link them to a specific user.https://drpc.org/privacy-policy"},{url:"https://endpoints.omniatech.io/v1/gnosis/mainnet/public",tracking:"none",trackingDetails:"All the data and metadata remain private to the users. No third party is able to access, analyze or track it. OMNIA leverages different technologies and approaches to guarantee the privacy of their users, from front-running protection and private mempools, to obfuscation and random dispatching. https://blog.omniatech.io/how-omnia-handles-your-personal-data"},{url:"https://gnosis-rpc.publicnode.com",tracking:"none",trackingDetails:"We do not store or track any user data with the exception of data that will be public on chain. We do not correlate wallets address's with IP's, any data which is needed to transact is deleted after 24 hours. We also do no use any Analytics or 3rd party website tracking. https://www.publicnode.com/privacy"},{url:"wss://gnosis-rpc.publicnode.com",tracking:"none",trackingDetails:"We do not store or track any user data with the exception of data that will be public on chain. We do not correlate wallets address's with IP's, any data which is needed to transact is deleted after 24 hours. We also do no use any Analytics or 3rd party website tracking. https://www.publicnode.com/privacy"},{url:"https://1rpc.io/gnosis",tracking:"none",trackingDetails:"With the exception of data that will be public on chain, all the other metadata / data should remain private to users and other parties should not be able to access or collect it. 1RPC uses many different techniques to prevent the unnecessary collection of user privacy, which prevents tracking from RPC providers. https://docs.1rpc.io/technology/zero-tracking"},{url:"https://rpc.tornadoeth.cash/gnosis",tracking:"none",trackingDetails:"TornadoRPC prioritizes user privacy and data security. We do not track or store any user information that passes through our RPC, except for data that is clearly visible on the blockchain. For detailed information about our privacy practices, see our Privacy Policy: https://rpc.tornadoeth.cash/privacy"},{url:"https://gnosischain-rpc.gateway.pokt.network"},{url:"https://web3endpoints.com/gnosischain-mainnet"},{url:"https://gnosis.oat.farm"},{url:"wss://rpc.gnosischain.com/wss"}],101:[{url:"https://api.einc.io/jsonrpc/mainnet"}],102:[{url:"https://testnet-rpc-0.web3games.org/evm"},{url:"https://testnet-rpc-1.web3games.org/evm"},{url:"https://testnet-rpc-2.web3games.org/evm"}],103:[{url:"https://seoul.worldland.foundation"},{url:"https://seoul2.worldland.foundation"}],104:[{url:"https://klc.live"}],105:[{url:"https://devnet.web3games.org/evm"}],106:[{url:"https://evmexplorer.velas.com/rpc"},{url:"https://velas-mainnet.rpcfast.com?api_key=xbhWBI1Wkguk8SNMu1bvvLurPGLXmgwYeC4S6g2H7WdwFigZSmPWVZRxrskEQwIf"},{url:"https://explorer.velas.com/rpc"}],107:[{url:"https://testnet.rpc.novanetwork.io"}],108:[{url:"https://mainnet-rpc.thundercore.com"},{url:"https://mainnet-rpc.thundertoken.net"},{url:"https://mainnet-rpc.thundercore.io"}],109:[{url:"https://www.shibrpc.com"}],110:[{url:"https://protontestnet.greymass.com"}],111:[{url:"https://rpc.etherlite.org"}],112:[{url:"https://coinbit-rpc-mainnet.chain.sbcrypto.app"}],113:[{url:"https://connect.dehvo.com"},{url:"https://rpc.dehvo.com"},{url:"https://rpc1.dehvo.com"},{url:"https://rpc2.dehvo.com"}],114:[{url:"https://coston2-api.flare.network/ext/C/rpc"},{url:"https://flare-testnet-coston2.rpc.thirdweb.com"},{url:"https://flaretestnet-bundler.etherspot.io"},{url:"https://01-gravelines-005-01.rpc.tatum.io/ext/bc/C/rpc"},{url:"https://02-chicago-005-02.rpc.tatum.io/ext/bc/C/rpc"},{url:"https://02-tokyo-005-03.rpc.tatum.io/ext/bc/C/rpc"},{url:"https://coston2.enosys.global/ext/C/rpc"}],117:[{url:"https://json-rpc.uptick.network"}],118:[{url:"https://testnet.arcology.network/rpc"}],119:[{url:"https://evmapi.nuls.io"},{url:"https://evmapi2.nuls.io"}],120:[{url:"https://beta.evmapi.nuls.io"},{url:"https://beta.evmapi2.nuls.io"}],121:[{url:"https://rcl-dataseed1.rclsidechain.com"},{url:"https://rcl-dataseed2.rclsidechain.com"},{url:"https://rcl-dataseed3.rclsidechain.com"},{url:"https://rcl-dataseed4.rclsidechain.com"},{url:"wss://rcl-dataseed1.rclsidechain.com/v1"},{url:"wss://rcl-dataseed2.rclsidechain.com/v1"},{url:"wss://rcl-dataseed3.rclsidechain.com/v1"},{url:"wss://rcl-dataseed4.rclsidechain.com/v1"}],122:[{url:"https://rpc.fuse.io"},{url:"https://fuse-pokt.nodies.app",tracking:"none",trackingDetails:"What We Do Not Collect: User's IP address, request origin, request data. https://www.blog.pokt.network/rpc-logging-practices/"},{url:"https://fuse-mainnet.chainstacklabs.com",tracking:"yes",trackingDetails:"We process certain personal data to provide you with the core functionality of our Services. Specifically, when you are: Using the Chainstack Console, we process your name, surname, email address (your account identifier), organization name, IP address, all HTTP headers (most importantly User-Agent), cookies; Using the Chainstack Blockchain infrastructure, we process nodes' token stored in Chainstack Vault, IP address and HTTP headers, request body, API token in Chainstack Vault.https://chainstack.com/privacy/"},{url:"https://fuse.api.onfinality.io/public",tracking:"limited",trackingDetails:"For the sole purpose of providing our service, we temporarily record IP addresses and origins to check against free limits, provide load balancing, prevent DOS attacks, and to determine where best to locate our nodes. We do not, and will never, correlate or link specific wallet addresses or transactions made over our infrastructure to the IP address or origin making the RPC request. After processing IP addresses, we discard the IP address value within 24 hours. Read more here: https://blog.onfinality.io/how-does-onfinality-deal-with-personal-information/"},{url:"https://fuse.liquify.com",tracking:"yes",trackingDetails:"What data do we collect? Information collected automatically from your device, including IP address, device type,operating system, browser-type, broad geographic location and other technical information.https://www.liquify.io/privacy_policy.pdf"},{url:"https://fuse.drpc.org"},{url:"wss://fuse.drpc.org"}],123:[{url:"https://rpc.fusespark.io"}],124:[{url:"https://decentralized-web.tech/dw_rpc.php"}],125:[{url:"https://rpc.testnet.oychain.io"}],126:[{url:"https://rpc.mainnet.oychain.io"},{url:"https://rpc.oychain.io"}],128:[{url:"https://http-mainnet.hecochain.com"},{url:"https://http-mainnet-node.huobichain.com"},{url:"https://hecoapi.terminet.io/rpc"},{url:"wss://ws-mainnet.hecochain.com"}],129:[{url:"https://rpc.innovatorchain.com"}],131:[{url:"https://tokioswift.engram.tech"},{url:"https://tokio-archive.engram.tech"}],132:[{url:"https://rpc.chain.namefi.io"}],133:[{url:"https://hashkeychain-testnet.alt.technology"}],134:[{url:"https://bellecour.iex.ec"}],135:[{url:"https://testnet-rpc.alyxchain.com"}],136:[{url:"https://mainnet.deamchain.com"}],137:[{url:"https://polygon.llamarpc.com",tracking:"none",trackingDetails:"LlamaNodes is open-source and does not track or store user information that transits through our RPCs (location, IP, wallet, etc). To learn more, have a look at the public Privacy Policy in our docs: https://llamanodes.notion.site/Privacy-Practices-f20fd8fdd02a469d9d4f42a5989bb936",isOpenSource:true},{url:"https://rpc-mainnet.maticvigil.com"},{url:"https://endpoints.omniatech.io/v1/matic/mainnet/public",tracking:"none",trackingDetails:"All the data and metadata remain private to the users. No third party is able to access, analyze or track it. OMNIA leverages different technologies and approaches to guarantee the privacy of their users, from front-running protection and private mempools, to obfuscation and random dispatching. https://blog.omniatech.io/how-omnia-handles-your-personal-data"},{url:"https://polygon-rpc.com"},{url:"https://rpc-mainnet.matic.network"},{url:"https://rpc-mainnet.matic.quiknode.pro",tracking:"yes",trackingDetails:"Information about your computer hardware and software may be automatically collected by QuickNode. This information can include such details as your IP address, browser type, domain names, access times and referring website addresses.https://www.quicknode.com/privacy"},{url:"https://matic-mainnet-full-rpc.bwarelabs.com"},{url:"https://matic-mainnet-archive-rpc.bwarelabs.com"},{url:"https://polygon-pokt.nodies.app",tracking:"none",trackingDetails:"What We Do Not Collect: User's IP address, request origin, request data. https://www.blog.pokt.network/rpc-logging-practices/"},{url:"https://rpc.ankr.com/polygon",tracking:"limited",trackingDetails:"For service delivery purposes, we temporarily record IP addresses to set usage limits and monitor for denial of service attacks against our infrastructure. Though we do look at high-level data around the success rate of transactions made over the blockchain RPC, we do not correlate wallet transactions made over the infrastructure to the IP address making the RPC request. Thus, we do not store, exploit, or share any information regarding Personal Identifiable Information (PII), including wallet addresses. https://www.ankr.com/blog/ankrs-ip-address-policy-and-your-privacy/"},{url:"https://polygon-mainnet.public.blastapi.io",tracking:"limited",trackingDetails:"All the information in our logs (log data) can only be accessed for the last 7 days at any certain time, and it is completely purged after 14 days. We do not store any user information for longer periods of time or with any other purposes than investigating potential errors and service failures. https://blastapi.io/privacy-policy"},{url:"https://polygonapi.terminet.io/rpc"},{url:"https://1rpc.io/matic",tracking:"none",trackingDetails:"With the exception of data that will be public on chain, all the other metadata / data should remain private to users and other parties should not be able to access or collect it. 1RPC uses many different techniques to prevent the unnecessary collection of user privacy, which prevents tracking from RPC providers. https://docs.1rpc.io/technology/zero-tracking"},{url:"https://polygon-mainnet.rpcfast.com?api_key=xbhWBI1Wkguk8SNMu1bvvLurPGLXmgwYeC4S6g2H7WdwFigZSmPWVZRxrskEQwIf"},{url:"https://polygon-bor-rpc.publicnode.com",tracking:"none",trackingDetails:"We do not store or track any user data with the exception of data that will be public on chain. We do not correlate wallets address's with IP's, any data which is needed to transact is deleted after 24 hours. We also do no use any Analytics or 3rd party website tracking. https://www.publicnode.com/privacy"},{url:"wss://polygon-bor-rpc.publicnode.com",tracking:"none",trackingDetails:"We do not store or track any user data with the exception of data that will be public on chain. We do not correlate wallets address's with IP's, any data which is needed to transact is deleted after 24 hours. We also do no use any Analytics or 3rd party website tracking. https://www.publicnode.com/privacy"},{url:"https://polygon-mainnet-public.unifra.io"},{url:"https://polygon-mainnet.g.alchemy.com/v2/demo",tracking:"yes",trackingDetails:"We may collect certain information automatically when you use our Services, such as your Internet protocol (IP) address, user settings, MAC address, cookie identifiers, mobile carrier, mobile advertising and other unique identifiers, browser or device information, location information (including approximate location derived from IP address), and Internet service provider. https://www.alchemy.com/policies/privacy-policy"},{url:"https://polygon.blockpi.network/v1/rpc/public",tracking:"limited",trackingDetails:"We do not collect request data or request origin. We only temporarily record the request method names and IP addresses for 7 days to ensure our service functionality such as load balancing and DDoS protection. All the data is automatically deleted after 7 days and we do not store any user information for longer periods of time. https://blockpi.io/privacy-policy"},{url:"https://polygon.api.onfinality.io/public",tracking:"limited",trackingDetails:"For the sole purpose of providing our service, we temporarily record IP addresses and origins to check against free limits, provide load balancing, prevent DOS attacks, and to determine where best to locate our nodes. We do not, and will never, correlate or link specific wallet addresses or transactions made over our infrastructure to the IP address or origin making the RPC request. After processing IP addresses, we discard the IP address value within 24 hours. Read more here: https://blog.onfinality.io/how-does-onfinality-deal-with-personal-information/"},{url:"https://polygon.rpc.blxrbdn.com",tracking:"yes",trackingDetails:"We may collect information that is publicly available in a blockchain when providing our services, such as: Public wallet identifier of the sender and recipient of a transaction, Unique identifier for a transaction, Date and time of a transaction, Transaction value, along with associated costs, Status of a transaction (such as whether the transaction is complete, in-progress, or resulted in an error) https://bloxroute.com/wp-content/uploads/2021/12/bloXroute-Privacy-Policy-04-01-2019-Final.pdf"},{url:"https://polygon.drpc.org",tracking:"none",trackingDetails:"Specific types of technical data that we may temporarily log include:IP address (only in logs for redirecting requests to the nearest RPC nodes and rate limiting at the free level, which are cleared weekly). The user ID is hidden in the temporary logs, so it is not possible to link them to a specific user.https://drpc.org/privacy-policy"},{url:"https://polygon.gateway.tenderly.co",tracking:"yes",trackingDetails:"Additionally, if you are an Account Member, we may collect business and transactional data about you (and your business) that accumulates over the normal course of operation regarding providing our Services. This may include transaction records, stored files, user profiles, information about collaborators, analytics data, and other metrics, as well as other types of information created or generated by your interaction with our Services. https://tenderly.co/privacy-policy"},{url:"https://gateway.tenderly.co/public/polygon",tracking:"yes",trackingDetails:"Additionally, if you are an Account Member, we may collect business and transactional data about you (and your business) that accumulates over the normal course of operation regarding providing our Services. This may include transaction records, stored files, user profiles, information about collaborators, analytics data, and other metrics, as well as other types of information created or generated by your interaction with our Services. https://tenderly.co/privacy-policy"},{url:"https://api.zan.top/node/v1/polygon/mainnet/public",tracking:"limited",trackingDetails:"ZAN Node Service generally does not store any kind of user information (e.g. IP address, location, requst location, request data, etc.) that transits through our RPCs except for one senario ——we may track your IP address when you are using our RPCs and will delete it immediately when you stoping using our RPCs. To learn more, please review our privacy policy at https://a.zan.top/static/Privacy-Policy.pdf"},{url:"https://polygon.meowrpc.com",tracking:"none",trackingDetails:"With the exclusion of data that will be openly visible and available on the blockchain, MEOWRPC does not track or store any kind of user information (such as location, IP address, etc.) that passes through our RPC. For further details regarding our privacy practices, we encourage you to refer to our Privacy Policy. https://privacy.meowrpc.com"},{url:"https://getblock.io/nodes/matic",tracking:"none",trackingDetails:"We automatically collect certain information through cookies and similar technologies when you visit, use or navigate Website. This information does not reveal your specific identity (like your name or contact information) and does not allow to identify you. However, it may include device and usage information, such as your IP address, browser and device characteristics, its type and version, operating system, language preferences, referring URLs, device name, country, location, information about how and when you use our Website, information about your interaction in our emails, and other technical and statistical information. This information is primarily needed to maintain the security and operation of our Website, and for our internal analytics and reporting purposes.Specifically, as the RPC provider, we do not log and store your IP address, country, location and similar data. https://getblock.io/privacy-policy/"},{url:"https://api.stateless.solutions/polygon/v1/5850f066-209e-4e3c-a294-0757a4eb34b3",tracking:"none",trackingDetails:"Through any of our RPC API endpoints, whether public or private, we do not collect personal identifiers such as IP addresses, request origins, or specific request data. https://www.stateless.solutions/api-usage-privacy-policy"},{url:"https://rpc.tornadoeth.cash/polygon",tracking:"none",trackingDetails:"TornadoRPC prioritizes user privacy and data security. We do not track or store any user information that passes through our RPC, except for data that is clearly visible on the blockchain. For detailed information about our privacy practices, see our Privacy Policy: https://rpc.tornadoeth.cash/privacy"},{url:"https://matic-mainnet.chainstacklabs.com"},{url:"wss://polygon.gateway.tenderly.co"},{url:"wss://polygon.drpc.org"}],138:[{url:"https://rpc.defi-oracle.io"},{url:"wss://wss.defi-oracle.io"}],139:[{url:"https://rpc.woop.ai/rpc"}],140:[{url:"https://mainnet.eternalcoin.io/v1"},{url:"ws://mainnet.eternalcoin.io/v1/ws"}],141:[{url:"https://testnet.openpiece.io"}],142:[{url:"https://rpc.prodax.io"}],144:[{url:"https://connect.phi.network"}],145:[{url:"https://rpc-testnet.soraai.bot"}],147:[{url:"https://mainnet-rpc.flagscan.xyz"}],148:[{url:"https://json-rpc.evm.shimmer.network"}],150:[{url:"https://rpc-evm.fivenet.sixprotocol.net"}],153:[{url:"https://governors.testnet.redbelly.network"}],155:[{url:"https://rpc.testnet.tenet.org"}],156:[{url:"https://testnet-rpc.oeblock.com"}],157:[{url:"https://puppynet.shibrpc.com"}],158:[{url:"https://dataseed.roburna.com"}],159:[{url:"https://preseed-testnet-1.roburna.com"}],160:[{url:"https://evascan.io/api/eth-rpc"}],161:[{url:"https://testnet.evascan.io/api/eth-rpc"}],162:[{url:"https://node.sirius.lightstreams.io"}],163:[{url:"https://node.mainnet.lightstreams.io"}],164:[{url:"https://omega.omni.network"},{url:"wss://wss.omega.omni.network"}],167:[{url:"https://node.atoshi.io"},{url:"https://node2.atoshi.io"},{url:"https://node3.atoshi.io"}],168:[{url:"https://eth-dataseed.aioz.network"}],169:[{url:"https://pacific-rpc.manta.network/http"},{url:"https://1rpc.io/manta",tracking:"none",trackingDetails:"With the exception of data that will be public on chain, all the other metadata / data should remain private to users and other parties should not be able to access or collect it. 1RPC uses many different techniques to prevent the unnecessary collection of user privacy, which prevents tracking from RPC providers. https://docs.1rpc.io/technology/zero-tracking"},{url:"https://manta-pacific.drpc.org"},{url:"wss://manta-pacific.drpc.org"}],170:[{url:"https://http-testnet.hoosmartchain.com"}],172:[{url:"https://rpc.latam-blockchain.com"},{url:"wss://ws.latam-blockchain.com"}],176:[{url:"https://rpc.dcnetio.cloud"},{url:"wss://ws.dcnetio.cloud"}],178:[{url:"https://testrpc.abeychain.com"}],179:[{url:"https://rpc.abeychain.com"}],180:[{url:"https://node1.amechain.io"}],181:[{url:"https://rpc.waterfall.network"}],184:[{url:"https://rpc-test-d11k.dojima.network"}],185:[{url:"https://rpc.mintchain.io"},{url:"https://global.rpc.mintchain.io"},{url:"https://asia.rpc.mintchain.io"}],186:[{url:"https://rpc.seelen.pro"}],187:[{url:"https://rpc-d11k.dojima.network"}],188:[{url:"https://mainnet.bmcchain.com"}],189:[{url:"https://testnet.bmcchain.com"}],190:[{url:"https://bbqchain-rpc.commudao.xyz"}],191:[{url:"https://rpc.filefilego.com/rpc"}],193:[{url:"https://cemchain.com"}],195:[{url:"https://x1-testnet.blockpi.network/v1/rpc/public ",tracking:"limited",trackingDetails:"We do not collect request data or request origin. We only temporarily record the request method names and IP addresses for 7 days to ensure our service functionality such as load balancing and DDoS protection. All the data is automatically deleted after 7 days and we do not store any user information for longer periods of time. https://blockpi.io/privacy-policy"},{url:"https://testrpc.xlayer.tech"},{url:"https://xlayertestrpc.okx.com"}],196:[{url:"https://rpc.xlayer.tech"},{url:"https://xlayerrpc.okx.com"}],197:[{url:"https://testnet-rpc.neutrinoschain.com"}],198:[{url:"https://rpc.bitchain.biz"}],199:[{url:"https://rpc.bittorrentchain.io"},{url:"https://rpc.bt.io"},{url:"https://bittorrent.drpc.org"},{url:"wss://bittorrent.drpc.org"}],200:[{url:"https://arbitrum.xdaichain.com"}],201:[{url:"https://gateway.moac.io/testnet"}],202:[{url:"https://testnet.rpc.edgeless.network/http"}],204:[{url:"https://opbnb-rpc.publicnode.com",tracking:"none",trackingDetails:"We do not store or track any user data with the exception of data that will be public on chain. We do not correlate wallets address's with IP's, any data which is needed to transact is deleted after 24 hours. We also do no use any Analytics or 3rd party website tracking. https://www.publicnode.com/privacy"},{url:"wss://opbnb-rpc.publicnode.com",tracking:"none",trackingDetails:"We do not store or track any user data with the exception of data that will be public on chain. We do not correlate wallets address's with IP's, any data which is needed to transact is deleted after 24 hours. We also do no use any Analytics or 3rd party website tracking. https://www.publicnode.com/privacy"},{url:"https://1rpc.io/opbnb",tracking:"none",trackingDetails:"With the exception of data that will be public on chain, all the other metadata / data should remain private to users and other parties should not be able to access or collect it. 1RPC uses many different techniques to prevent the unnecessary collection of user privacy, which prevents tracking from RPC providers. https://docs.1rpc.io/technology/zero-tracking"},{url:"https://opbnb-mainnet-rpc.bnbchain.org"},{url:"https://opbnb-mainnet.nodereal.io/v1/64a9df0874fb4a93b9d0a3849de012d3"},{url:"wss://opbnb-mainnet.nodereal.io/ws/v1/64a9df0874fb4a93b9d0a3849de012d3"},{url:"https://opbnb-mainnet.nodereal.io/v1/e9a36765eb8a40b9bd12e680a1fd2bc5"},{url:"wss://opbnb-mainnet.nodereal.io/ws/v1/e9a36765eb8a40b9bd12e680a1fd2bc5"},{url:"https://opbnb.drpc.org"},{url:"wss://opbnb.drpc.org"}],205:[{url:"https://mainnet.ekaash.biz"}],206:[{url:"https://vinufoundation-rpc.com"}],207:[{url:"https://vinuchain-rpc.com"}],208:[{url:"https://mainnet.structx.io"}],210:[{url:"https://rpc.bitnet.money"},{url:"https://rpc.btnscan.com"}],211:[{url:"http://13.57.207.168:3435"},{url:"https://app.freighttrust.net/ftn/${API_KEY}"}],212:[{url:"https://testnet-rpc.maplabs.io"}],213:[{url:"https://hub-rpc.bsquared.network"}],214:[{url:"https://mainnet.shinarium.org"}],217:[{url:"https://rpc2.siriusnet.io"}],220:[{url:"https://rpc-sepolia.scalind.com"}],221:[{url:"https://rpc.blockex.biz"}],223:[{url:"https://mainnet.b2-rpc.com"},{url:"https://rpc.bsquared.network"},{url:"https://b2-mainnet.alt.technology"},{url:"https://b2-mainnet-public.s.chainbase.com"},{url:"https://rpc.ankr.com/b2"}],224:[{url:"https://testnet-rpc.vrd.network"}],225:[{url:"https://rpc-mainnet.lachain.io"}],226:[{url:"https://rpc-testnet.lachain.io"}],228:[{url:"https://rpc_mainnet.mindnetwork.xyz"},{url:"wss://rpc_mainnet.mindnetwork.xyz"}],230:[{url:"https://rpc.swapdex.network"},{url:"wss://ss.swapdex.network"}],233:[{url:"https://testnet.ethernitychain.io"}],234:[{url:"https://testnode.jumbochain.org"}],236:[{url:"https://testnet.deamchain.com"}],242:[{url:"https://rpcurl.mainnet.plgchain.com"},{url:"https://rpcurl.plgchain.blockchain.evmnode.online"},{url:"https://rpcurl.mainnet.plgchain.plinga.technology"}],246:[{url:"https://rpc.energyweb.org"},{url:"wss://rpc.energyweb.org/ws"}],248:[{url:"https://oasys.blockpi.network/v1/rpc/public",tracking:"limited",trackingDetails:"We do not collect request data or request origin. We only temporarily record the request method names and IP addresses for 7 days to ensure our service functionality such as load balancing and DDoS protection. All the data is automatically deleted after 7 days and we do not store any user information for longer periods of time. https://blockpi.io/privacy-policy"},{url:"https://oasys-mainnet.gateway.pokt.network/v1/lb/c967bd31"},{url:"https://oasys-mainnet-archival.gateway.pokt.network/v1/lb/c967bd31"},{url:"https://rpc.mainnet.oasys.games"}],250:[{url:"https://rpcapi.fantom.network"},{url:"https://endpoints.omniatech.io/v1/fantom/mainnet/public",tracking:"none",trackingDetails:"All the data and metadata remain private to the users. No third party is able to access, analyze or track it. OMNIA leverages different technologies and approaches to guarantee the privacy of their users, from front-running protection and private mempools, to obfuscation and random dispatching. https://blog.omniatech.io/how-omnia-handles-your-personal-data"},{url:"https://fantom-pokt.nodies.app",tracking:"none",trackingDetails:"What We Do Not Collect: User's IP address, request origin, request data. https://www.blog.pokt.network/rpc-logging-practices/"},{url:"https://rpc.ftm.tools"},{url:"https://rpc.ankr.com/fantom",tracking:"limited",trackingDetails:"For service delivery purposes, we temporarily record IP addresses to set usage limits and monitor for denial of service attacks against our infrastructure. Though we do look at high-level data around the success rate of transactions made over the blockchain RPC, we do not correlate wallet transactions made over the infrastructure to the IP address making the RPC request. Thus, we do not store, exploit, or share any information regarding Personal Identifiable Information (PII), including wallet addresses. https://www.ankr.com/blog/ankrs-ip-address-policy-and-your-privacy/"},{url:"https://rpc.fantom.network"},{url:"https://rpc2.fantom.network"},{url:"https://rpc3.fantom.network"},{url:"https://fantom-mainnet.public.blastapi.io",tracking:"limited",trackingDetails:"All the information in our logs (log data) can only be accessed for the last 7 days at any certain time, and it is completely purged after 14 days. We do not store any user information for longer periods of time or with any other purposes than investigating potential errors and service failures. https://blastapi.io/privacy-policy"},{url:"https://1rpc.io/ftm",tracking:"none",trackingDetails:"With the exception of data that will be public on chain, all the other metadata / data should remain private to users and other parties should not be able to access or collect it. 1RPC uses many different techniques to prevent the unnecessary collection of user privacy, which prevents tracking from RPC providers. https://docs.1rpc.io/technology/zero-tracking"},{url:"https://fantom.blockpi.network/v1/rpc/public",tracking:"limited",trackingDetails:"We do not collect request data or request origin. We only temporarily record the request method names and IP addresses for 7 days to ensure our service functionality such as load balancing and DDoS protection. All the data is automatically deleted after 7 days and we do not store any user information for longer periods of time. https://blockpi.io/privacy-policy"},{url:"https://fantom-rpc.publicnode.com",tracking:"none",trackingDetails:"We do not store or track any user data with the exception of data that will be public on chain. We do not correlate wallets address's with IP's, any data which is needed to transact is deleted after 24 hours. We also do no use any Analytics or 3rd party website tracking. https://www.publicnode.com/privacy"},{url:"wss://fantom-rpc.publicnode.com",tracking:"none",trackingDetails:"We do not store or track any user data with the exception of data that will be public on chain. We do not correlate wallets address's with IP's, any data which is needed to transact is deleted after 24 hours. We also do no use any Analytics or 3rd party website tracking. https://www.publicnode.com/privacy"},{url:"https://fantom.api.onfinality.io/public",tracking:"limited",trackingDetails:"For the sole purpose of providing our service, we temporarily record IP addresses and origins to check against free limits, provide load balancing, prevent DOS attacks, and to determine where best to locate our nodes. We do not, and will never, correlate or link specific wallet addresses or transactions made over our infrastructure to the IP address or origin making the RPC request. After processing IP addresses, we discard the IP address value within 24 hours. Read more here: https://blog.onfinality.io/how-does-onfinality-deal-with-personal-information/"},{url:"https://rpc.fantom.gateway.fm",tracking:"yes",trackingDetails:"When you use our services or visit our websites, we may log your device’s IP address for debugging and security reasons. We may retain this information for up to twelve months"},{url:"https://fantom.drpc.org",tracking:"none",trackingDetails:"Specific types of technical data that we may temporarily log include:IP address (only in logs for redirecting requests to the nearest RPC nodes and rate limiting at the free level, which are cleared weekly). The user ID is hidden in the temporary logs, so it is not possible to link them to a specific user.https://drpc.org/privacy-policy"},{url:"wss://fantom.drpc.org"}],252:[{url:"https://rpc.frax.com"}],254:[{url:"https://mainnet-rpc01.swanchain.io"}],255:[{url:"https://1rpc.io/kroma",tracking:"none",trackingDetails:"With the exception of data that will be public on chain, all the other metadata / data should remain private to users and other parties should not be able to access or collect it. 1RPC uses many different techniques to prevent the unnecessary collection of user privacy, which prevents tracking from RPC providers. https://docs.1rpc.io/technology/zero-tracking"},{url:"https://api.kroma.network"},{url:"https://rpc-kroma.rockx.com"}],256:[{url:"https://hecotestapi.terminet.io/rpc"},{url:"https://http-testnet.hecochain.com"},{url:"wss://ws-testnet.hecochain.com"}],259:[{url:"https://mainnet.neonlink.io"}],261:[{url:"https://rpc.gurunetwork.ai/archive/261"}],262:[{url:"https://sur.nilin.org"}],267:[{url:"https://rpc.ankr.com/neura_testnet"}],269:[{url:"https://hpbnode.com"},{url:"wss://ws.hpbnode.com"}],271:[{url:"https://rpc.egonscan.com"}],274:[{url:"https://rpc1.mainnet.lachain.network"},{url:"https://rpc2.mainnet.lachain.network"},{url:"https://lachain.rpc-nodes.cedalio.dev"}],278:[{url:"https://rpc_mainnet.xfair.ai"},{url:"wss://rpc_mainnet.xfair.ai"}],279:[{url:"https://rpc.mainnet.bpxchain.cc"},{url:"https://bpx-dataseed.infinex.cc"}],282:[{url:"https://testnet.zkevm.cronos.org"}],288:[{url:"https://mainnet.boba.network"},{url:"https://boba-ethereum.gateway.tenderly.co",tracking:"yes",trackingDetails:"Additionally, if you are an Account Member, we may collect business and transactional data about you (and your business) that accumulates over the normal course of operation regarding providing our Services. This may include transaction records, stored files, user profiles, information about collaborators, analytics data, and other metrics, as well as other types of information created or generated by your interaction with our Services. https://tenderly.co/privacy-policy"},{url:"https://gateway.tenderly.co/public/boba-ethereum",tracking:"yes",trackingDetails:"Additionally, if you are an Account Member, we may collect business and transactional data about you (and your business) that accumulates over the normal course of operation regarding providing our Services. This may include transaction records, stored files, user profiles, information about collaborators, analytics data, and other metrics, as well as other types of information created or generated by your interaction with our Services. https://tenderly.co/privacy-policy"},{url:"https://1rpc.io/boba/eth",tracking:"none",trackingDetails:"With the exception of data that will be public on chain, all the other metadata / data should remain private to users and other parties should not be able to access or collect it. 1RPC uses many different techniques to prevent the unnecessary collection of user privacy, which prevents tracking from RPC providers. https://docs.1rpc.io/technology/zero-tracking"},{url:"https://replica.boba.network"},{url:"wss://boba-ethereum.gateway.tenderly.co"},{url:"wss://gateway.tenderly.co/public/boba-ethereum"},{url:"https://boba-eth.drpc.org"},{url:"wss://boba-eth.drpc.org"}],291:[{url:"https://rpc.orderly.network"},{url:"https://l2-orderly-mainnet-0.t.conduit.xyz"}],295:[{url:"https://mainnet.hashio.io/api"}],296:[{url:"https://testnet.hashio.io/api"}],297:[{url:"https://previewnet.hashio.io/api"}],300:[{url:"https://zksync-era-sepolia.blockpi.network/v1/rpc/public",tracking:"limited",trackingDetails:"We do not collect request data or request origin. We only temporarily record the request method names and IP addresses for 7 days to ensure our service functionality such as load balancing and DDoS protection. All the data is automatically deleted after 7 days and we do not store any user information for longer periods of time. https://blockpi.io/privacy-policy"},{url:"https://sepolia.era.zksync.dev"},{url:"https://zksync-sepolia.drpc.org"},{url:"wss://zksync-sepolia.drpc.org"}],302:[{url:"https://sepolia.rpc.zkcandy.io"}],303:[{url:"https://nc-rpc-test1.neurochain.io"}],305:[{url:"https://mainnet.zksats.io"}],307:[{url:"https://trpc.lovely.network"}],308:[{url:"https://rpc.furtheon.org"}],309:[{url:"https://rpc-testnet3.wyzthchain.org"}],311:[{url:"https://mainapi.omaxray.com"}],313:[{url:"https://nc-rpc-prd1.neurochain.io"},{url:"https://nc-rpc-prd2.neurochain.io"}],314:[{url:"https://api.node.glif.io"},{url:"https://node.filutils.com/rpc/v1"},{url:"https://rpc.ankr.com/filecoin",tracking:"limited",trackingDetails:"For service delivery purposes, we temporarily record IP addresses to set usage limits and monitor for denial of service attacks against our infrastructure. Though we do look at high-level data around the success rate of transactions made over the blockchain RPC, we do not correlate wallet transactions made over the infrastructure to the IP address making the RPC request. Thus, we do not store, exploit, or share any information regarding Personal Identifiable Information (PII), including wallet addresses. https://www.ankr.com/blog/ankrs-ip-address-policy-and-your-privacy/"},{url:"https://filecoin.chainup.net/rpc/v1",tracking:"limited",trackingDetails:"We only collect user IP addresses for the purpose of rate limiting. For more information, please visit https://docs.chainupcloud.com/introduction/products/blockchain-api."},{url:"https://infura.sftproject.io/filecoin/rpc/v1",tracking:"yes",trackingDetails:"Information collected automatically may include usage details, IP addresses, and information collected through cookies and other tracking technologies"},{url:"https://api.chain.love/rpc/v1"},{url:"https://filecoin-mainnet.chainstacklabs.com/rpc/v1"},{url:"https://filfox.info/rpc/v1"},{url:"https://filecoin.drpc.org"},{url:"wss://filecoin.drpc.org"}],321:[{url:"https://rpc-mainnet.kcc.network"},{url:"https://kcc.mytokenpocket.vip"},{url:"https://kcc-rpc.com"},{url:"https://services.tokenview.io/vipapi/nodeservice/kcs?apikey=qVHq2o6jpaakcw3lRstl",tracking:"yes",trackingDetails:"Information about your computer hardware and software may be automatically collected by Tokenview. This information can include such details as your IP address, browser type, domain names, access times, etc.https://services.tokenview.io/en/protocol"},{url:"https://public-rpc.blockpi.io/http/kcc"}],322:[{url:"https://rpc-testnet.kcc.network"}],323:[{url:"https://rpc.cosvm.net"}],324:[{url:"https://zksync-era.blockpi.network/v1/rpc/public",tracking:"limited",trackingDetails:"We do not collect request data or request origin. We only temporarily record the request method names and IP addresses for 7 days to ensure our service functionality such as load balancing and DDoS protection. All the data is automatically deleted after 7 days and we do not store any user information for longer periods of time. https://blockpi.io/privacy-policy"},{url:"https://zksync.meowrpc.com",tracking:"none",trackingDetails:"With the exclusion of data that will be openly visible and available on the blockchain, MEOWRPC does not track or store any kind of user information (such as location, IP address, etc.) that passes through our RPC. For further details regarding our privacy practices, we encourage you to refer to our Privacy Policy. https://privacy.meowrpc.com"},{url:"https://zksync.drpc.org",tracking:"none",trackingDetails:"Specific types of technical data that we may temporarily log include:IP address (only in logs for redirecting requests to the nearest RPC nodes and rate limiting at the free level, which are cleared weekly). The user ID is hidden in the temporary logs, so it is not possible to link them to a specific user.https://drpc.org/privacy-policy"},{url:"https://1rpc.io/zksync2-era",tracking:"none",trackingDetails:"With the exception of data that will be public on chain, all the other metadata / data should remain private to users and other parties should not be able to access or collect it. 1RPC uses many different techniques to prevent the unnecessary collection of user privacy, which prevents tracking from RPC providers. https://docs.1rpc.io/technology/zero-tracking"},{url:"https://mainnet.era.zksync.io"},{url:"wss://zksync.drpc.org"}],333:[{url:"https://mainnet.web3q.io:8545"}],335:[{url:"https://subnets.avax.network/defi-kingdoms/dfk-chain-testnet/rpc"}],336:[{url:"https://rpc.shiden.astar.network:8545"},{url:"https://shiden.public.blastapi.io",tracking:"limited",trackingDetails:"All the information in our logs (log data) can only be accessed for the last 7 days at any certain time, and it is completely purged after 14 days. We do not store any user information for longer periods of time or with any other purposes than investigating potential errors and service failures. https://blastapi.io/privacy-policy"},{url:"https://shiden-rpc.dwellir.com",tracking:"limited",trackingDetails:"Except for the data that is publicly accessible on the blockchain, Dwellir does not collect or keep any user information (like location, IP address, etc.) transmitted via our RPC. For more information about our privacy methods, we suggest checking out our Privacy Policy at https://www.dwellir.com/privacy-policy"},{url:"wss://shiden-rpc.dwellir.com",tracking:"limited",trackingDetails:"Except for the data that is publicly accessible on the blockchain, Dwellir does not collect or keep any user information (like location, IP address, etc.) transmitted via our RPC. For more information about our privacy methods, we suggest checking out our Privacy Policy at https://www.dwellir.com/privacy-policy"},{url:"https://shiden.api.onfinality.io/public",tracking:"limited",trackingDetails:"For the sole purpose of providing our service, we temporarily record IP addresses and origins to check against free limits, provide load balancing, prevent DOS attacks, and to determine where best to locate our nodes. We do not, and will never, correlate or link specific wallet addresses or transactions made over our infrastructure to the IP address or origin making the RPC request. After processing IP addresses, we discard the IP address value within 24 hours. Read more here: https://blog.onfinality.io/how-does-onfinality-deal-with-personal-information/"},{url:"wss://shiden.api.onfinality.io/public-ws"},{url:"wss://shiden.public.blastapi.io"}],338:[{url:"https://evm-t3.cronos.org"},{url:"https://cronos-testnet.drpc.org"},{url:"wss://cronos-testnet.drpc.org"}],345:[{url:"https://rpc01.trias.one"}],361:[{url:"https://eth-rpc-api.thetatoken.org/rpc"}],363:[{url:"https://eth-rpc-api-sapphire.thetatoken.org/rpc"}],364:[{url:"https://eth-rpc-api-amber.thetatoken.org/rpc"}],365:[{url:"https://eth-rpc-api-testnet.thetatoken.org/rpc"}],369:[{url:"https://rpc.pulsechain.com"},{url:"https://pulse-s.projectpi.xyz",tracking:"none",trackingDetails:"When you use Project Pi as an RPC provider we will not store your IP address or any data for more than 24 hours. IP addresses are not connected or correlated to wallet addresses"},{url:"https://pulsechain-rpc.publicnode.com",tracking:"none",trackingDetails:"We do not store or track any user data with the exception of data that will be public on chain. We do not correlate wallets address's with IP's, any data which is needed to transact is deleted after 24 hours. We also do no use any Analytics or 3rd party website tracking. https://www.publicnode.com/privacy"},{url:"wss://pulsechain-rpc.publicnode.com",tracking:"none",trackingDetails:"We do not store or track any user data with the exception of data that will be public on chain. We do not correlate wallets address's with IP's, any data which is needed to transact is deleted after 24 hours. We also do no use any Analytics or 3rd party website tracking. https://www.publicnode.com/privacy"},{url:"https://rpc-pulsechain.g4mm4.io"},{url:"https://evex.cloud/pulserpc"},{url:"wss://evex.cloud/pulsews"},{url:"wss://rpc.pulsechain.com"},{url:"wss://rpc-pulsechain.g4mm4.io"}],371:[{url:"https://rpc-testnet.theconsta.com"}],380:[{url:"https://rpc.testnet.zkamoeba.com:4050"},{url:"https://rpc1.testnet.zkamoeba.com:4050"}],381:[{url:"https://rpc.mainnet.zkamoeba.com/rpc"}],385:[{url:"https://rpc-bitfalls1.lisinski.online"}],388:[{url:"https://mainnet.zkevm.cronos.org"}],395:[{url:"https://rpc1.testnet.camdl.gov.kh"}],399:[{url:"https://rpc.nativ3.network"},{url:"wss://ws.nativ3.network"}],400:[{url:"https://testnet-rpc.hyperonchain.com"}],401:[{url:"https://node1.testnet.ozonechain.io"}],404:[{url:"https://rpc.syndr.com"},{url:"wss://rpc.syndr.com/ws"}],411:[{url:"https://rpc.pepe-chain.vip"}],416:[{url:"https://rpc.sx.technology"}],418:[{url:"https://rpc.testnet.lachain.network"},{url:"https://lachain-testnet.rpc-nodes.cedalio.dev"}],420:[{url:"https://endpoints.omniatech.io/v1/op/goerli/public",tracking:"none",trackingDetails:"All the data and metadata remain private to the users. No third party is able to access, analyze or track it. OMNIA leverages different technologies and approaches to guarantee the privacy of their users, from front-running protection and private mempools, to obfuscation and random dispatching. https://blog.omniatech.io/how-omnia-handles-your-personal-data"},{url:"https://opt-goerli.g.alchemy.com/v2/demo",tracking:"yes",trackingDetails:"We may collect certain information automatically when you use our Services, such as your Internet protocol (IP) address, user settings, MAC address, cookie identifiers, mobile carrier, mobile advertising and other unique identifiers, browser or device information, location information (including approximate location derived from IP address), and Internet service provider. https://www.alchemy.com/policies/privacy-policy"},{url:"https://optimism-goerli.public.blastapi.io",tracking:"limited",trackingDetails:"All the information in our logs (log data) can only be accessed for the last 7 days at any certain time, and it is completely purged after 14 days. We do not store any user information for longer periods of time or with any other purposes than investigating potential errors and service failures. https://blastapi.io/privacy-policy"},{url:"https://rpc.goerli.optimism.gateway.fm",tracking:"yes",trackingDetails:"When you use our services or visit our websites, we may log your device’s IP address for debugging and security reasons. We may retain this information for up to twelve months"},{url:"https://optimism-goerli-rpc.publicnode.com",tracking:"none",trackingDetails:"We do not store or track any user data with the exception of data that will be public on chain. We do not correlate wallets address's with IP's, any data which is needed to transact is deleted after 24 hours. We also do no use any Analytics or 3rd party website tracking. https://www.publicnode.com/privacy"},{url:"wss://optimism-goerli-rpc.publicnode.com",tracking:"none",trackingDetails:"We do not store or track any user data with the exception of data that will be public on chain. We do not correlate wallets address's with IP's, any data which is needed to transact is deleted after 24 hours. We also do no use any Analytics or 3rd party website tracking. https://www.publicnode.com/privacy"},{url:"https://api.zan.top/node/v1/opt/goerli/public",tracking:"limited",trackingDetails:"ZAN Node Service generally does not store any kind of user information (e.g. IP address, location, requst location, request data, etc.) that transits through our RPCs except for one senario ——we may track your IP address when you are using our RPCs and will delete it immediately when you stoping using our RPCs. To learn more, please review our privacy policy at https://a.zan.top/static/Privacy-Policy.pdf"},{url:"https://optimism-goerli.gateway.tenderly.co",tracking:"yes",trackingDetails:"Additionally, if you are an Account Member, we may collect business and transactional data about you (and your business) that accumulates over the normal course of operation regarding providing our Services. This may include transaction records, stored files, user profiles, information about collaborators, analytics data, and other metrics, as well as other types of information created or generated by your interaction with our Services. https://tenderly.co/privacy-policy"},{url:"https://gateway.tenderly.co/public/optimism-goerli",tracking:"yes",trackingDetails:"Additionally, if you are an Account Member, we may collect business and transactional data about you (and your business) that accumulates over the normal course of operation regarding providing our Services. This may include transaction records, stored files, user profiles, information about collaborators, analytics data, and other metrics, as well as other types of information created or generated by your interaction with our Services. https://tenderly.co/privacy-policy"},{url:"https://goerli.optimism.io"},{url:"wss://optimism-goerli.gateway.tenderly.co"},{url:"https://optimism-testnet.drpc.org"},{url:"wss://optimism-testnet.drpc.org"}],422:[{url:"https://mainnet-rpc.vrd.network"}],424:[{url:"https://rpc.publicgoods.network"}],427:[{url:"https://rpc.zeeth.io"}],428:[{url:"https://rpc.verse.gesoten.com"}],434:[{url:"https://evm-rpc.mainnet.boyaa.network"}],443:[{url:"https://testnet.ten.xyz"}],444:[{url:"https://sepolia.synapseprotocol.com"}],456:[{url:"https://chain-rpc.arzio.co"}],462:[{url:"https://testnet-rpc.areon.network"},{url:"https://testnet-rpc2.areon.network"},{url:"https://testnet-rpc3.areon.network"},{url:"https://testnet-rpc4.areon.network"},{url:"https://testnet-rpc5.areon.network"}],463:[{url:"https://mainnet-rpc.areon.network"},{url:"https://mainnet-rpc2.areon.network"},{url:"https://mainnet-rpc3.areon.network"},{url:"https://mainnet-rpc4.areon.network"},{url:"https://mainnet-rpc5.areon.network"}],500:[{url:"https://api.camino.network/ext/bc/C/rpc"}],501:[{url:"https://columbus.camino.network/ext/bc/C/rpc"}],510:[{url:"https://rpc-mainnet.syndicate.io"}],512:[{url:"https://rpc.acuteangle.com"}],513:[{url:"https://rpc-testnet.acuteangle.com"}],516:[{url:"https://gzn.linksme.info"}],520:[{url:"https://datarpc1.xsc.pub"},{url:"https://datarpc2.xsc.pub"},{url:"https://datarpc3.xsc.pub"}],529:[{url:"https://rpc-mainnet.thefirechain.com"}],530:[{url:"https://fx-json-web3.portfolio-x.xyz:8545"},{url:"https://fx-json-web3.functionx.io:8545"}],534:[{url:"https://candle-rpc.com"},{url:"https://rpc.cndlchain.com"}],537:[{url:"https://rpc.optrust.io"}],542:[{url:"https://pawchainx.com"}],545:[{url:"https://testnet.evm.nodes.onflow.org"}],555:[{url:"https://rpc.velaverse.io"}],558:[{url:"https://rpc.tao.network"},{url:"https://rpc.testnet.tao.network"},{url:"http://rpc.testnet.tao.network:8545"},{url:"wss://rpc.tao.network"}],568:[{url:"https://rpc-testnet.dogechain.dog"}],570:[{url:"wss://rpc.rollux.com/wss"},{url:"https://rpc.rollux.com"},{url:"https://rollux.rpc.syscoin.org"},{url:"wss://rollux.rpc.syscoin.org/wss"},{url:"https://rpc.ankr.com/rollux"}],571:[{url:"https://rpc.metatime.com"}],579:[{url:"https://rpc.filenova.org"}],592:[{url:"https://evm.astar.network"},{url:"https://rpc.astar.network:8545"},{url:"https://astar.public.blastapi.io",tracking:"limited",trackingDetails:"All the information in our logs (log data) can only be accessed for the last 7 days at any certain time, and it is completely purged after 14 days. We do not store any user information for longer periods of time or with any other purposes than investigating potential errors and service failures. https://blastapi.io/privacy-policy"},{url:"https://getblock.io/nodes/bsc",tracking:"none",trackingDetails:"We automatically collect certain information through cookies and similar technologies when you visit, use or navigate Website. This information does not reveal your specific identity (like your name or contact information) and does not allow to identify you. However, it may include device and usage information, such as your IP address, browser and device characteristics, its type and version, operating system, language preferences, referring URLs, device name, country, location, information about how and when you use our Website, information about your interaction in our emails, and other technical and statistical information. This information is primarily needed to maintain the security and operation of our Website, and for our internal analytics and reporting purposes.Specifically, as the RPC provider, we do not log and store your IP address, country, location and similar data. https://getblock.io/privacy-policy/"},{url:"https://1rpc.io/astr",tracking:"none",trackingDetails:"With the exception of data that will be public on chain, all the other metadata / data should remain private to users and other parties should not be able to access or collect it. 1RPC uses many different techniques to prevent the unnecessary collection of user privacy, which prevents tracking from RPC providers. https://docs.1rpc.io/technology/zero-tracking"},{url:"https://astar-mainnet.g.alchemy.com/v2/demo",tracking:"yes",trackingDetails:"We may collect certain information automatically when you use our Services, such as your Internet protocol (IP) address, user settings, MAC address, cookie identifiers, mobile carrier, mobile advertising and other unique identifiers, browser or device information, location information (including approximate location derived from IP address), and Internet service provider. https://www.alchemy.com/policies/privacy-policy"},{url:"https://astar.api.onfinality.io/public",tracking:"limited",trackingDetails:"For the sole purpose of providing our service, we temporarily record IP addresses and origins to check against free limits, provide load balancing, prevent DOS attacks, and to determine where best to locate our nodes. We do not, and will never, correlate or link specific wallet addresses or transactions made over our infrastructure to the IP address or origin making the RPC request. After processing IP addresses, we discard the IP address value within 24 hours. Read more here: https://blog.onfinality.io/how-does-onfinality-deal-with-personal-information/"},{url:"wss://astar.api.onfinality.io/public-ws",tracking:"limited",trackingDetails:"For the sole purpose of providing our service, we temporarily record IP addresses and origins to check against free limits, provide load balancing, prevent DOS attacks, and to determine where best to locate our nodes. We do not, and will never, correlate or link specific wallet addresses or transactions made over our infrastructure to the IP address or origin making the RPC request. After processing IP addresses, we discard the IP address value within 24 hours. Read more here: https://blog.onfinality.io/how-does-onfinality-deal-with-personal-information/"},{url:"https://astar-rpc.dwellir.com",tracking:"limited",trackingDetails:"Except for the data that is publicly accessible on the blockchain, Dwellir does not collect or keep any user information (like location, IP address, etc.) transmitted via our RPC. For more information about our privacy methods, we suggest checking out our Privacy Policy at https://www.dwellir.com/privacy-policy"},{url:"wss://astar-rpc.dwellir.com",tracking:"limited",trackingDetails:"Except for the data that is publicly accessible on the blockchain, Dwellir does not collect or keep any user information (like location, IP address, etc.) transmitted via our RPC. For more information about our privacy methods, we suggest checking out our Privacy Policy at https://www.dwellir.com/privacy-policy"}],595:[{url:"https://eth-rpc-tc9.aca-staging.network"},{url:"wss://eth-rpc-tc9.aca-staging.network"}],596:[{url:"https://eth-rpc-karura-testnet.aca-staging.network"},{url:"wss://eth-rpc-karura-testnet.aca-staging.network"}],597:[{url:"https://eth-rpc-acala-testnet.aca-staging.network"},{url:"wss://eth-rpc-acala-testnet.aca-staging.network"}],601:[{url:"https://rpc-testnet.vne.network"}],610:[{url:"https://devnet-rpc.darwinchain.ai"}],612:[{url:"https://rpc.eiob.xyz"}],614:[{url:"https://glq-dataseed.graphlinq.io"}],624:[{url:"https://rpc.zero.thebinaryholdings.com"}],625:[{url:"https://rpc.testnet.thebinaryholdings.com"}],634:[{url:"https://rpc.avocado.instadapp.io"}],646:[{url:"https://previewnet.evm.nodes.onflow.org"}],647:[{url:"https://rpc.toronto.sx.technology"}],648:[{url:"https://rpc-endurance.fusionist.io"}],653:[{url:"https://rpc.kalichain.com"}],654:[{url:"https://mainnet.kalichain.com"}],662:[{url:"https://rpc.ultronsmartchain.io"}],666:[{url:"https://http-testnet.chain.pixie.xyz"},{url:"wss://ws-testnet.chain.pixie.xyz"}],667:[{url:"https://arrakis.gorengine.com/own"},{url:"wss://arrakis.gorengine.com/own"}],668:[{url:"https://rpc.juncachain.com"}],669:[{url:"https://rpc-testnet.juncachain.com"},{url:"wss://ws-testnet.juncachain.com"}],686:[{url:"https://eth-rpc-karura.aca-staging.network"},{url:"https://rpc.evm.karura.network"},{url:"https://karura.api.onfinality.io/public",tracking:"limited",trackingDetails:"For the sole purpose of providing our service, we temporarily record IP addresses and origins to check against free limits, provide load balancing, prevent DOS attacks, and to determine where best to locate our nodes. We do not, and will never, correlate or link specific wallet addresses or transactions made over our infrastructure to the IP address or origin making the RPC request. After processing IP addresses, we discard the IP address value within 24 hours. Read more here: https://blog.onfinality.io/how-does-onfinality-deal-with-personal-information/"},{url:"https://eth-rpc-karura.aca-api.network"},{url:"wss://eth-rpc-karura.aca-api.network"}],690:[{url:"https://rpc.redstonechain.com"},{url:"wss://rpc.redstonechain.com"}],700:[{url:"https://avastar.cc/ext/bc/C/rpc"}],701:[{url:"https://koi-rpc.darwinia.network"}],707:[{url:"https://rpc-mainnet.bcsdev.io"},{url:"wss://rpc-ws-mainnet.bcsdev.io"}],708:[{url:"https://rpc-testnet.bcsdev.io"},{url:"wss://rpc-ws-testnet.bcsdev.io"}],710:[{url:"https://highbury.furya.io"},{url:"https://rest.furya.io"}],713:[{url:"https://rpc-mainnet-5.vrcscan.com"},{url:"https://rpc-mainnet-6.vrcscan.com"},{url:"https://rpc-mainnet-7.vrcscan.com"},{url:"https://rpc-mainnet-8.vrcscan.com"}],719:[{url:"https://puppynet.shibrpc.com"}],721:[{url:"https://rpc.lycanchain.com"},{url:"https://us-east.lycanchain.com"},{url:"https://us-west.lycanchain.com"},{url:"https://eu-north.lycanchain.com"},{url:"https://eu-west.lycanchain.com"},{url:"https://asia-southeast.lycanchain.com"}],727:[{url:"https://data.bluchain.pro"}],730:[{url:"https://rpc.lovely.network"}],741:[{url:"https://node-testnet.vention.network"}],742:[{url:"https://testeth-rpc-api.script.tv/rpc"}],747:[{url:"https://mainnet.evm.nodes.onflow.org"}],766:[{url:"https://rpc.qom.one"}],777:[{url:"https://node.cheapeth.org/rpc"}],786:[{url:"https://node1-mainnet.maalscan.io"},{url:"https://node2-mainnet.maalscan.io"},{url:"https://node3-mainnet.maalscan.io"}],787:[{url:"https://eth-rpc-acala.aca-staging.network"},{url:"https://rpc.evm.acala.network"},{url:"https://eth-rpc-acala.aca-api.network"},{url:"wss://eth-rpc-acala.aca-api.network"}],788:[{url:"https://testnet-rpc.aerochain.id"}],789:[{url:"https://rpc.patex.io"}],799:[{url:"https://rpc.testnet.rupaya.io"}],800:[{url:"https://rpc.lucidcoin.io"}],803:[{url:"https://orig.haichain.io"}],808:[{url:"https://subnets.avax.network/portal-fantasy/testnet/rpc"}],810:[{url:"https://testnet-rpc.haven1.org"}],813:[{url:"https://mainnet.meerlabs.com"},{url:"https://evm-dataseed1.meerscan.io"},{url:"https://evm-dataseed2.meerscan.io"},{url:"https://evm-dataseed3.meerscan.io"},{url:"https://evm-dataseed.meerscan.com"},{url:"https://qng.rpc.qitmeer.io"},{url:"https://rpc.dimai.ai"},{url:"https://rpc.woowow.io"}],814:[{url:"https://rpc-zkevm.thefirechain.com"}],818:[{url:"https://dataseed1.beonechain.com"},{url:"https://dataseed2.beonechain.com"},{url:"https://dataseed-us1.beonechain.com"},{url:"https://dataseed-us2.beonechain.com"},{url:"https://dataseed-uk1.beonechain.com"},{url:"https://dataseed-uk2.beonechain.com"}],820:[{url:"https://rpc.callisto.network"},{url:"https://clo-geth.0xinfra.com"}],822:[{url:"https://rpc-testnet.runic.build"}],831:[{url:"https://devnet.checkdot.io"}],841:[{url:"https://rpc.mainnet.taraxa.io"}],842:[{url:"https://rpc.testnet.taraxa.io"}],852:[{url:"https://eth.jegotrip.net"}],859:[{url:"https://rpc.dev.zeeth.io"}],868:[{url:"https://mainnet-data1.fantasiachain.com"},{url:"https://mainnet-data2.fantasiachain.com"},{url:"https://mainnet-data3.fantasiachain.com"}],876:[{url:"https://rpc.main.oasvrs.bnken.net"}],877:[{url:"https://dxt.dexit.network"}],880:[{url:"https://api.ambros.network"}],888:[{url:"https://gwan-ssl.wandevs.org:56891"},{url:"https://gwan2-ssl.wandevs.org"}],898:[{url:"https://rpc-testnet.maxi.network"}],899:[{url:"https://rpc.maxi.network"}],900:[{url:"https://s0-testnet.garizon.net/rpc"}],901:[{url:"https://s1-testnet.garizon.net/rpc"}],902:[{url:"https://s2-testnet.garizon.net/rpc"}],903:[{url:"https://s3-testnet.garizon.net/rpc"}],910:[{url:"https://layer1test.decentrabone.com"}],911:[{url:"https://rpc.taprootchain.io"}],917:[{url:"https://rinia-rpc1.thefirechain.com"}],919:[{url:"https://sepolia.mode.network"}],927:[{url:"https://rpc.yidark.io"}],943:[{url:"https://pulsetest-s.projectpi.xyz",tracking:"none",trackingDetails:"When you use Project Pi as an RPC provider we will not store your IP address or any data for more than 24 hours. IP addresses are not connected or correlated to wallet addresses"},{url:"https://pulsechain-testnet-rpc.publicnode.com",tracking:"none",trackingDetails:"We do not store or track any user data with the exception of data that will be public on chain. We do not correlate wallets address's with IP's, any data which is needed to transact is deleted after 24 hours. We also do no use any Analytics or 3rd party website tracking. https://www.publicnode.com/privacy"},{url:"wss://pulsechain-testnet-rpc.publicnode.com",tracking:"none",trackingDetails:"We do not store or track any user data with the exception of data that will be public on chain. We do not correlate wallets address's with IP's, any data which is needed to transact is deleted after 24 hours. We also do no use any Analytics or 3rd party website tracking. https://www.publicnode.com/privacy"},{url:"https://rpc.v4.testnet.pulsechain.com"},{url:"wss://rpc.v4.testnet.pulsechain.com"},{url:"https://rpc-testnet-pulsechain.g4mm4.io"},{url:"wss://rpc-testnet-pulsechain.g4mm4.io"}],957:[{url:"https://rpc.lyra.finance"}],963:[{url:"https://rpc.bitcoincode.technology"}],969:[{url:"https://rpc.ethxy.com"}],970:[{url:"https://mainnet-rpc.oortech.com"}],972:[{url:"https://ascraeus-rpc.oortech.com"}],977:[{url:"https://api.nepalblockchain.dev"},{url:"https://api.nepalblockchain.network"}],979:[{url:"https://rpc.testnet.ethxy.com"}],980:[{url:"https://ethapi.topnetwork.org"}],985:[{url:"https://chain.metamemo.one:8501"},{url:"wss://chain.metamemo.one:16801"}],987:[{url:"https://rpc.binarychain.org"}],990:[{url:"https://rpc.eliberty.ngo"}],995:[{url:"https://rpc.5ire.network"}],996:[{url:"https://hk.p.bifrost-rpc.liebi.com"}],997:[{url:"https://rpc-testnet.5ire.network"}],998:[{url:"https://rpc.luckynetwork.org"},{url:"wss://ws.lnscan.org"},{url:"https://rpc.lnscan.org"}],999:[{url:"https://gwan-ssl.wandevs.org:46891"}],1e3:[{url:"https://rpc.gton.network"}],1001:[{url:"https://public-en-baobab.klaytn.net"},{url:"https://klaytn-baobab-rpc.allthatnode.com:8551",tracking:"yes",trackingDetails:"In addition to the Personal Information, the Billing Information, and the Geolocational Information..., we automatically collect certain information when you use the Platform or Website: IP addresses, browser type and language...; information about a mobile device, including universally unique ID (“UUID”), platform type and version (e.g., iOS or Android), carrier and country location, hardware and processor information, and network type; and activity and usage information occurring via the Platform or Website.https://www.allthatnode.com/privacypolicy.dsrv"},{url:"https://rpc.ankr.com/klaytn_testnet",tracking:"limited",trackingDetails:"For service delivery purposes, we temporarily record IP addresses to set usage limits and monitor for denial of service attacks against our infrastructure. Though we do look at high-level data around the success rate of transactions made over the blockchain RPC, we do not correlate wallet transactions made over the infrastructure to the IP address making the RPC request. Thus, we do not store, exploit, or share any information regarding Personal Identifiable Information (PII), including wallet addresses. https://www.ankr.com/blog/ankrs-ip-address-policy-and-your-privacy/"},{url:"https://klaytn-baobab.blockpi.network/v1/rpc/public",tracking:"limited",trackingDetails:"We do not collect request data or request origin. We only temporarily record the request method names and IP addresses for 7 days to ensure our service functionality such as load balancing and DDoS protection. All the data is automatically deleted after 7 days and we do not store any user information for longer periods of time. https://blockpi.io/privacy-policy"},{url:"https://klaytn.api.onfinality.io/public",tracking:"limited",trackingDetails:"For the sole purpose of providing our service, we temporarily record IP addresses and origins to check against free limits, provide load balancing, prevent DOS attacks, and to determine where best to locate our nodes. We do not, and will never, correlate or link specific wallet addresses or transactions made over our infrastructure to the IP address or origin making the RPC request. After processing IP addresses, we discard the IP address value within 24 hours. Read more here: https://blog.onfinality.io/how-does-onfinality-deal-with-personal-information/"},{url:"https://public-en.kairos.node.kaia.io"}],1003:[{url:"https://rpc.softnote.com",tracking:"yes",trackingDetails:"CrispMind collects personal information and uses cookies for site operation, analysis, and enhancement, with no control over third-party cookies.https://softnote.com/privacy/"}],1004:[{url:"https://test.ekta.io:8545"}],1007:[{url:"https://rpc1.newchain.newtonproject.org"}],1008:[{url:"https://mainnet.eurus.network"}],1009:[{url:"https://rpcpriv.jumbochain.org"}],1010:[{url:"https://meta.evrice.com"}],1011:[{url:"https://apievm.rebuschain.com/rpc"}],1012:[{url:"https://global.rpc.mainnet.newtonproject.org"}],1024:[{url:"https://api-para.clover.finance"}],1028:[{url:"https://testrpc.bittorrentchain.io"}],1030:[{url:"https://evm.confluxrpc.com"},{url:"https://conflux-espace-public.unifra.io"}],1031:[{url:"http://128.199.94.183:8041"}],1038:[{url:"https://evm-testnet.bronos.org"}],1073:[{url:"https://json-rpc.evm.testnet.shimmer.network"}],1075:[{url:"https://json-rpc.evm.testnet.iotaledger.net"}],1079:[{url:"https://subnets.avax.network/mintara/testnet/rpc"}],1080:[{url:"https://subnets.avax.network/mintara/mainnet/rpc"}],1088:[{url:"https://andromeda.metis.io/?owner=1088"},{url:"https://metis-mainnet.public.blastapi.io",tracking:"limited",trackingDetails:"All the information in our logs (log data) can only be accessed for the last 7 days at any certain time, and it is completely purged after 14 days. We do not store any user information for longer periods of time or with any other purposes than investigating potential errors and service failures. https://blastapi.io/privacy-policy"},{url:"https://metis.api.onfinality.io/public",tracking:"limited",trackingDetails:"For the sole purpose of providing our service, we temporarily record IP addresses and origins to check against free limits, provide load balancing, prevent DOS attacks, and to determine where best to locate our nodes. We do not, and will never, correlate or link specific wallet addresses or transactions made over our infrastructure to the IP address or origin making the RPC request. After processing IP addresses, we discard the IP address value within 24 hours. Read more here: https://blog.onfinality.io/how-does-onfinality-deal-with-personal-information/"},{url:"https://metis-pokt.nodies.app",tracking:"none",trackingDetails:"What We Do Not Collect: User's IP address, request origin, request data. https://www.blog.pokt.network/rpc-logging-practices/"},{url:"https://metis.drpc.org"},{url:"wss://metis.drpc.org"}],1089:[{url:"https://humans-mainnet-evm.itrocket.net",tracking:"none",trackingDetails:"We do not track, store or process any personal data. You can check our privacy policy here: https://itrocket.net/privacy-policy/"},{url:"https://jsonrpc.humans.nodestake.top"},{url:"https://humans-evm-rpc.staketab.org:443"},{url:"https://evm.humans.stakepool.dev.br"},{url:"https://mainnet-humans-evm.konsortech.xyz"},{url:"https://evm-rpc.mainnet.humans.zone"},{url:"https://json-rpc.humans.bh.rocks"},{url:"https://evm-rpc.humans.huginn.tech"}],1100:[{url:"https://jsonrpc.dymension.nodestake.org"},{url:"https://evm-archive.dymd.bitszn.com"},{url:"https://dymension.liquify.com/json-rpc"},{url:"https://dymension-evm.kynraze.com"},{url:"https://dymension-evm.blockpi.network/v1/rpc/public"},{url:"https://dymension-evm-rpc.publicnode.com"},{url:"wss://dymension-evm-rpc.publicnode.com"}],1101:[{url:"https://rpc.ankr.com/polygon_zkevm",tracking:"limited",trackingDetails:"For service delivery purposes, we temporarily record IP addresses to set usage limits and monitor for denial of service attacks against our infrastructure. Though we do look at high-level data around the success rate of transactions made over the blockchain RPC, we do not correlate wallet transactions made over the infrastructure to the IP address making the RPC request. Thus, we do not store, exploit, or share any information regarding Personal Identifiable Information (PII), including wallet addresses. https://www.ankr.com/blog/ankrs-ip-address-policy-and-your-privacy/"},{url:"https://rpc.polygon-zkevm.gateway.fm",tracking:"yes",trackingDetails:"When you use our services or visit our websites, we may log your device’s IP address for debugging and security reasons. We may retain this information for up to twelve months"},{url:"https://1rpc.io/polygon/zkevm",tracking:"none",trackingDetails:"With the exception of data that will be public on chain, all the other metadata / data should remain private to users and other parties should not be able to access or collect it. 1RPC uses many different techniques to prevent the unnecessary collection of user privacy, which prevents tracking from RPC providers. https://docs.1rpc.io/technology/zero-tracking"},{url:"https://polygon-zkevm.blockpi.network/v1/rpc/public",tracking:"limited",trackingDetails:"We do not collect request data or request origin. We only temporarily record the request method names and IP addresses for 7 days to ensure our service functionality such as load balancing and DDoS protection. All the data is automatically deleted after 7 days and we do not store any user information for longer periods of time. https://blockpi.io/privacy-policy"},{url:"https://polygon-zkevm-mainnet.public.blastapi.io",tracking:"limited",trackingDetails:"All the information in our logs (log data) can only be accessed for the last 7 days at any certain time, and it is completely purged after 14 days. We do not store any user information for longer periods of time or with any other purposes than investigating potential errors and service failures. https://blastapi.io/privacy-policy"},{url:"https://api.zan.top/node/v1/polygonzkevm/mainnet/public",tracking:"limited",trackingDetails:"ZAN Node Service generally does not store any kind of user information (e.g. IP address, location, requst location, request data, etc.) that transits through our RPCs except for one senario ——we may track your IP address when you are using our RPCs and will delete it immediately when you stoping using our RPCs. To learn more, please review our privacy policy at https://a.zan.top/static/Privacy-Policy.pdf"},{url:"https://polygon-zkevm.drpc.org",tracking:"none",trackingDetails:"Specific types of technical data that we may temporarily log include:IP address (only in logs for redirecting requests to the nearest RPC nodes and rate limiting at the free level, which are cleared weekly). The user ID is hidden in the temporary logs, so it is not possible to link them to a specific user.https://drpc.org/privacy-policy"},{url:"https://zkevm-rpc.com"},{url:"wss://polygon-zkevm.drpc.org"}],1107:[{url:"https://testnetq1.blx.org"}],1108:[{url:"https://mainnet.blxq.org"}],1111:[{url:"https://api.wemix.com"},{url:"wss://ws.wemix.com"}],1112:[{url:"https://api.test.wemix.com"},{url:"wss://ws.test.wemix.com"}],1113:[{url:"https://testnet-hub-rpc.bsquared.network"}],1115:[{url:"https://rpc.test.btcs.network"}],1116:[{url:"https://rpc.coredao.org"},{url:"https://core.public.infstones.com"},{url:"https://1rpc.io/core",tracking:"none",trackingDetails:"With the exception of data that will be public on chain, all the other metadata / data should remain private to users and other parties should not be able to access or collect it. 1RPC uses many different techniques to prevent the unnecessary collection of user privacy, which prevents tracking from RPC providers. https://docs.1rpc.io/technology/zero-tracking"},{url:"https://rpc.ankr.com/core",tracking:"limited",trackingDetails:"For service delivery purposes, we temporarily record IP addresses to set usage limits and monitor for denial of service attacks against our infrastructure. Though we do look at high-level data around the success rate of transactions made over the blockchain RPC, we do not correlate wallet transactions made over the infrastructure to the IP address making the RPC request. Thus, we do not store, exploit, or share any information regarding Personal Identifiable Information (PII), including wallet addresses. https://www.ankr.com/blog/ankrs-ip-address-policy-and-your-privacy/"},{url:"https://rpc-core.icecreamswap.com"},{url:"https://core.drpc.org"},{url:"wss://core.drpc.org"}],1117:[{url:"https://mainnet-rpc.dogcoin.me"}],1123:[{url:"https://b2-testnet.alt.technology"},{url:"https://rpc.ankr.com/b2_testnet"},{url:"https://testnet-rpc.bsquared.network"}],1130:[{url:"https://dmc.mydefichain.com/mainnet"},{url:"https://dmc01.mydefichain.com/mainnet"}],1131:[{url:"https://dmc.mydefichain.com/testnet"},{url:"https://dmc01.mydefichain.com/testnet"},{url:"https://eth.testnet.ocean.jellyfishsdk.com"}],1133:[{url:"https://dmc.mydefichain.com/changi"},{url:"https://testnet-dmc.mydefichain.com:20551"}],1135:[{url:"https://rpc.api.lisk.com"}],1138:[{url:"https://testnet-rpc.amstarscan.com"}],1139:[{url:"https://mathchain.maiziqianbao.net/rpc"},{url:"https://mathchain-asia.maiziqianbao.net/rpc"},{url:"https://mathchain-us.maiziqianbao.net/rpc"}],1140:[{url:"https://galois-hk.maiziqianbao.net/rpc"}],1147:[{url:"https://testnet-rpc.flagscan.xyz"}],1149:[{url:"https://plex-rpc.plexfinance.us"}],1170:[{url:"https://json-rpc.origin.uptick.network"}],1177:[{url:"https://s2.tl.web.tr:4041"}],1188:[{url:"https://mainnet.mosscan.com"}],1197:[{url:"https://dataseed.iorachain.com"}],1200:[{url:"https://mainnet-rpc.cuckoo.network"},{url:"wss://mainnet-rpc.cuckoo.network"}],1201:[{url:"https://seed5.evanesco.org:8547"}],1202:[{url:"https://rpc.cadaut.com"},{url:"wss://rpc.cadaut.com/ws"}],1209:[{url:"https://rpc-nodes.saitascan.io"}],1210:[{url:"https://testnet-rpc.cuckoo.network"},{url:"wss://testnet-rpc.cuckoo.network"}],1213:[{url:"https://dataseed.popcateum.org"}],1214:[{url:"https://tapi.entercoin.net"}],1221:[{url:"https://rpc-testnet.cyclenetwork.io"}],1223:[{url:"https://jellyfish-rpc-testnet.cyclenetwork.io"}],1225:[{url:"https://hybrid-testnet.rpc.caldera.xyz/http"},{url:"wss://hybrid-testnet.rpc.caldera.xyz/ws"}],1227:[{url:"https://testnet-chain.btcprotocol.io"}],1229:[{url:"https://mainnet.exzo.technology"}],1230:[{url:"https://ultron-dev.io"}],1231:[{url:"https://ultron-rpc.net"}],1234:[{url:"https://rpc.step.network"}],1235:[{url:"https://rpc.itxchain.com"}],1243:[{url:"https://rpc-main-1.archiechain.io"}],1244:[{url:"https://rpc-test-1.archiechain.io"}],1246:[{url:"https://rpc-cnx.omplatform.com"}],1248:[{url:"https://rpc.dogether.dog"}],1252:[{url:"https://testapi.cicscan.com"}],1280:[{url:"https://nodes.halo.land"}],1284:[{url:"https://rpc.api.moonbeam.network"},{url:"https://moonbeam.api.onfinality.io/public",tracking:"limited",trackingDetails:"For the sole purpose of providing our service, we temporarily record IP addresses and origins to check against free limits, provide load balancing, prevent DOS attacks, and to determine where best to locate our nodes. We do not, and will never, correlate or link specific wallet addresses or transactions made over our infrastructure to the IP address or origin making the RPC request. After processing IP addresses, we discard the IP address value within 24 hours. Read more here: https://blog.onfinality.io/how-does-onfinality-deal-with-personal-information/"},{url:"wss://moonbeam.api.onfinality.io/public-ws",tracking:"limited",trackingDetails:"For the sole purpose of providing our service, we temporarily record IP addresses and origins to check against free limits, provide load balancing, prevent DOS attacks, and to determine where best to locate our nodes. We do not, and will never, correlate or link specific wallet addresses or transactions made over our infrastructure to the IP address or origin making the RPC request. After processing IP addresses, we discard the IP address value within 24 hours. Read more here: https://blog.onfinality.io/how-does-onfinality-deal-with-personal-information/"},{url:"https://moonbeam.unitedbloc.com:3000",tracking:"yes",trackingDetails:"UnitedBloc does not collect or store any PII information. UnitedBloc does use IP addresses and transaction requests solely for service management purposes. Performance measurements such as rate limiting and routing rules require the analysis of IP addresses and response time measurements require the analysis of transaction requests. UnitedBloc does not and will never use RPC requests to front run transactions."},{url:"wss://moonbeam.unitedbloc.com:3001",tracking:"yes",trackingDetails:"UnitedBloc does not collect or store any PII information. UnitedBloc does use IP addresses and transaction requests solely for service management purposes. Performance measurements such as rate limiting and routing rules require the analysis of IP addresses and response time measurements require the analysis of transaction requests. UnitedBloc does not and will never use RPC requests to front run transactions."},{url:"https://moonbeam.public.blastapi.io",tracking:"limited",trackingDetails:"All the information in our logs (log data) can only be accessed for the last 7 days at any certain time, and it is completely purged after 14 days. We do not store any user information for longer periods of time or with any other purposes than investigating potential errors and service failures. https://blastapi.io/privacy-policy"},{url:"https://rpc.ankr.com/moonbeam",tracking:"limited",trackingDetails:"For service delivery purposes, we temporarily record IP addresses to set usage limits and monitor for denial of service attacks against our infrastructure. Though we do look at high-level data around the success rate of transactions made over the blockchain RPC, we do not correlate wallet transactions made over the infrastructure to the IP address making the RPC request. Thus, we do not store, exploit, or share any information regarding Personal Identifiable Information (PII), including wallet addresses. https://www.ankr.com/blog/ankrs-ip-address-policy-and-your-privacy/"},{url:"https://1rpc.io/glmr",tracking:"none",trackingDetails:"With the exception of data that will be public on chain, all the other metadata / data should remain private to users and other parties should not be able to access or collect it. 1RPC uses many different techniques to prevent the unnecessary collection of user privacy, which prevents tracking from RPC providers. https://docs.1rpc.io/technology/zero-tracking"},{url:"https://moonbeam-rpc.dwellir.com",tracking:"limited",trackingDetails:"Except for the data that is publicly accessible on the blockchain, Dwellir does not collect or keep any user information (like location, IP address, etc.) transmitted via our RPC. For more information about our privacy methods, we suggest checking out our Privacy Policy at https://www.dwellir.com/privacy-policy"},{url:"wss://moonbeam-rpc.dwellir.com",tracking:"limited",trackingDetails:"Except for the data that is publicly accessible on the blockchain, Dwellir does not collect or keep any user information (like location, IP address, etc.) transmitted via our RPC. For more information about our privacy methods, we suggest checking out our Privacy Policy at https://www.dwellir.com/privacy-policy"},{url:"https://endpoints.omniatech.io/v1/moonbeam/mainnet/public",tracking:"none",trackingDetails:"All the data and metadata remain private to the users. No third party is able to access, analyze or track it. OMNIA leverages different technologies and approaches to guarantee the privacy of their users, from front-running protection and private mempools, to obfuscation and random dispatching. https://blog.omniatech.io/how-omnia-handles-your-personal-data"},{url:"https://moonbeam-rpc.publicnode.com",tracking:"none",trackingDetails:"We do not store or track any user data with the exception of data that will be public on chain. We do not correlate wallets address's with IP's, any data which is needed to transact is deleted after 24 hours. We also do no use any Analytics or 3rd party website tracking. https://www.publicnode.com/privacy"},{url:"wss://moonbeam-rpc.publicnode.com",tracking:"none",trackingDetails:"We do not store or track any user data with the exception of data that will be public on chain. We do not correlate wallets address's with IP's, any data which is needed to transact is deleted after 24 hours. We also do no use any Analytics or 3rd party website tracking. https://www.publicnode.com/privacy"},{url:"wss://wss.api.moonbeam.network"},{url:"wss://moonbeam.public.blastapi.io"},{url:"https://moonbeam.unitedbloc.com"},{url:"wss://moonbeam.unitedbloc.com"},{url:"https://moonbeam.drpc.org"},{url:"wss://moonbeam.drpc.org"}],1285:[{url:"wss://moonriver.api.onfinality.io/public-ws",tracking:"limited",trackingDetails:"For the sole purpose of providing our service, we temporarily record IP addresses and origins to check against free limits, provide load balancing, prevent DOS attacks, and to determine where best to locate our nodes. We do not, and will never, correlate or link specific wallet addresses or transactions made over our infrastructure to the IP address or origin making the RPC request. After processing IP addresses, we discard the IP address value within 24 hours. Read more here: https://blog.onfinality.io/how-does-onfinality-deal-with-personal-information/"},{url:"https://moonriver.api.onfinality.io/public",tracking:"limited",trackingDetails:"For the sole purpose of providing our service, we temporarily record IP addresses and origins to check against free limits, provide load balancing, prevent DOS attacks, and to determine where best to locate our nodes. We do not, and will never, correlate or link specific wallet addresses or transactions made over our infrastructure to the IP address or origin making the RPC request. After processing IP addresses, we discard the IP address value within 24 hours. Read more here: https://blog.onfinality.io/how-does-onfinality-deal-with-personal-information/"},{url:"https://moonriver.unitedbloc.com:2000",tracking:"yes",trackingDetails:"UnitedBloc does not collect or store any PII information. UnitedBloc does use IP addresses and transaction requests solely for service management purposes. Performance measurements such as rate limiting and routing rules require the analysis of IP addresses and response time measurements require the analysis of transaction requests. UnitedBloc does not and will never use RPC requests to front run transactions."},{url:"wss://moonriver.unitedbloc.com:2001",tracking:"yes",trackingDetails:"UnitedBloc does not collect or store any PII information. UnitedBloc does use IP addresses and transaction requests solely for service management purposes. Performance measurements such as rate limiting and routing rules require the analysis of IP addresses and response time measurements require the analysis of transaction requests. UnitedBloc does not and will never use RPC requests to front run transactions."},{url:"https://moonriver.public.blastapi.io",tracking:"limited",trackingDetails:"All the information in our logs (log data) can only be accessed for the last 7 days at any certain time, and it is completely purged after 14 days. We do not store any user information for longer periods of time or with any other purposes than investigating potential errors and service failures. https://blastapi.io/privacy-policy"},{url:"https://moonriver-rpc.dwellir.com",tracking:"limited",trackingDetails:"Except for the data that is publicly accessible on the blockchain, Dwellir does not collect or keep any user information (like location, IP address, etc.) transmitted via our RPC. For more information about our privacy methods, we suggest checking out our Privacy Policy at https://www.dwellir.com/privacy-policy"},{url:"wss://moonriver-rpc.dwellir.com",tracking:"limited",trackingDetails:"Except for the data that is publicly accessible on the blockchain, Dwellir does not collect or keep any user information (like location, IP address, etc.) transmitted via our RPC. For more information about our privacy methods, we suggest checking out our Privacy Policy at https://www.dwellir.com/privacy-policy"},{url:"https://moonriver-rpc.publicnode.com",tracking:"none",trackingDetails:"We do not store or track any user data with the exception of data that will be public on chain. We do not correlate wallets address's with IP's, any data which is needed to transact is deleted after 24 hours. We also do no use any Analytics or 3rd party website tracking. https://www.publicnode.com/privacy"},{url:"wss://moonriver-rpc.publicnode.com",tracking:"none",trackingDetails:"We do not store or track any user data with the exception of data that will be public on chain. We do not correlate wallets address's with IP's, any data which is needed to transact is deleted after 24 hours. We also do no use any Analytics or 3rd party website tracking. https://www.publicnode.com/privacy"},{url:"https://rpc.api.moonriver.moonbeam.network"},{url:"wss://wss.api.moonriver.moonbeam.network"},{url:"wss://moonriver.public.blastapi.io"},{url:"https://moonriver.unitedbloc.com"},{url:"wss://moonriver.unitedbloc.com"},{url:"https://moonriver.drpc.org"},{url:"wss://moonriver.drpc.org"}],1287:[{url:"https://rpc.testnet.moonbeam.network"},{url:"https://moonbase.unitedbloc.com:1000",tracking:"yes",trackingDetails:"UnitedBloc does not collect or store any PII information. UnitedBloc does use IP addresses and transaction requests solely for service management purposes. Performance measurements such as rate limiting and routing rules require the analysis of IP addresses and response time measurements require the analysis of transaction requests. UnitedBloc does not and will never use RPC requests to front run transactions."},{url:"wss://moonbase.unitedbloc.com:1001",tracking:"yes",trackingDetails:"UnitedBloc does not collect or store any PII information. UnitedBloc does use IP addresses and transaction requests solely for service management purposes. Performance measurements such as rate limiting and routing rules require the analysis of IP addresses and response time measurements require the analysis of transaction requests. UnitedBloc does not and will never use RPC requests to front run transactions."},{url:"https://moonbase-alpha.public.blastapi.io",tracking:"limited",trackingDetails:"All the information in our logs (log data) can only be accessed for the last 7 days at any certain time, and it is completely purged after 14 days. We do not store any user information for longer periods of time or with any other purposes than investigating potential errors and service failures. https://blastapi.io/privacy-policy"},{url:"https://moonbeam-alpha.api.onfinality.io/public",tracking:"limited",trackingDetails:"For the sole purpose of providing our service, we temporarily record IP addresses and origins to check against free limits, provide load balancing, prevent DOS attacks, and to determine where best to locate our nodes. We do not, and will never, correlate or link specific wallet addresses or transactions made over our infrastructure to the IP address or origin making the RPC request. After processing IP addresses, we discard the IP address value within 24 hours. Read more here: https://blog.onfinality.io/how-does-onfinality-deal-with-personal-information/"},{url:"wss://moonbeam-alpha.api.onfinality.io/public-ws",tracking:"limited",trackingDetails:"For the sole purpose of providing our service, we temporarily record IP addresses and origins to check against free limits, provide load balancing, prevent DOS attacks, and to determine where best to locate our nodes. We do not, and will never, correlate or link specific wallet addresses or transactions made over our infrastructure to the IP address or origin making the RPC request. After processing IP addresses, we discard the IP address value within 24 hours. Read more here: https://blog.onfinality.io/how-does-onfinality-deal-with-personal-information/"},{url:"https://rpc.api.moonbase.moonbeam.network"},{url:"wss://wss.api.moonbase.moonbeam.network"},{url:"wss://moonbase-alpha.public.blastapi.io"},{url:"https://moonbase-rpc.dwellir.com"},{url:"wss://moonbase-rpc.dwellir.com"},{url:"https://moonbase.unitedbloc.com"},{url:"wss://moonbase.unitedbloc.com"},{url:"https://moonbase-alpha.drpc.org"},{url:"wss://moonbase-alpha.drpc.org"}],1288:[{url:"https://rpc.api.moonrock.moonbeam.network"},{url:"wss://wss.api.moonrock.moonbeam.network"}],1291:[{url:"https://json-rpc.testnet.swisstronik.com"}],1311:[{url:"https://test.doschain.com/jsonrpc"}],1313:[{url:"https://rpc.jaihochain.com"}],1314:[{url:"https://rpc.alyxchain.com"}],1319:[{url:"https://aia-dataseed1.aiachain.org"},{url:"https://aia-dataseed2.aiachain.org"},{url:"https://aia-dataseed3.aiachain.org"},{url:"https://aia-dataseed4.aiachain.org"}],1320:[{url:"https://aia-dataseed1-testnet.aiachain.org"}],1328:[{url:"https://evm-rpc-testnet.sei-apis.com"},{url:"wss://evm-ws-testnet.sei-apis.com"}],1329:[{url:"https://evm-rpc.sei-apis.com"},{url:"wss://evm-ws.sei-apis.com"}],1337:[{url:"http://127.0.0.1:8545"}],1338:[{url:"https://rpc.atlantischain.network"},{url:"https://elysium-test-rpc.vulcanforged.com"}],1339:[{url:"https://rpc.elysiumchain.tech"},{url:"https://rpc.elysiumchain.us"}],1343:[{url:"https://subnets.avax.network/blitz/testnet/rpc"}],1353:[{url:"https://xapi.cicscan.com"}],1369:[{url:"https://mainnet.zakumi.io"}],1370:[{url:"https://blockchain.ramestta.com"},{url:"https://blockchain2.ramestta.com"}],1377:[{url:"https://testnet.ramestta.com"}],1379:[{url:"https://rpc-api.kalarchain.tech"}],1388:[{url:"https://mainnet-rpc.amstarscan.com"}],1392:[{url:"https://rpc.modchain.net/blockchain.joseon.com/rpc"}],1433:[{url:"https://rpc.rikscan.com"}],1440:[{url:"https://beta.mainnet.livingassets.io/rpc",tracking:"limited",trackingDetails:"The Living Assets network does not store any personal data provided by its users. The network solely communicates on-chain signatures generated by web3 compatible wallets. However, it is possible that clients utilizing the network may necessitate supplementary information from their users to fulfill Know Your Customer obligations. In such cases, explicit consent from the users is mandatory, following standard procedures."},{url:"https://gamma.mainnet.livingassets.io/rpc",tracking:"limited",trackingDetails:"The Living Assets network does not store any personal data provided by its users. The network solely communicates on-chain signatures generated by web3 compatible wallets. However, it is possible that clients utilizing the network may necessitate supplementary information from their users to fulfill Know Your Customer obligations. In such cases, explicit consent from the users is mandatory, following standard procedures."}],1442:[{url:"https://api.zan.top/node/v1/polygonzkevm/testnet/public",tracking:"limited",trackingDetails:"ZAN Node Service generally does not store any kind of user information (e.g. IP address, location, requst location, request data, etc.) that transits through our RPCs except for one senario ——we may track your IP address when you are using our RPCs and will delete it immediately when you stoping using our RPCs. To learn more, please review our privacy policy at https://a.zan.top/static/Privacy-Policy.pdf"},{url:"https://polygon-zkevm-testnet.blockpi.network/v1/rpc/public",tracking:"limited",trackingDetails:"We do not collect request data or request origin. We only temporarily record the request method names and IP addresses for 7 days to ensure our service functionality such as load balancing and DDoS protection. All the data is automatically deleted after 7 days and we do not store any user information for longer periods of time. https://blockpi.io/privacy-policy"},{url:"https://rpc.public.zkevm-test.net"},{url:"https://polygon-zkevm-testnet.drpc.org"},{url:"wss://polygon-zkevm-testnet.drpc.org"}],1452:[{url:"https://rpc.giltestnet.com"}],1453:[{url:"https://istanbul-rpc.metachain.dev"}],1455:[{url:"https://mainnet-rpc.ctexscan.com"}],1456:[{url:"https://mainnet-rpc.zkbase.app"}],1490:[{url:"https://rpc.vitruveo.xyz"}],1499:[{url:"https://rpc-testnet.idos.games"}],1501:[{url:"https://rpc-canary-1.bevm.io"},{url:"https://rpc-canary-2.bevm.io"}],1506:[{url:"https://mainnet.sherpax.io/rpc"}],1507:[{url:"https://sherpax-testnet.chainx.org/rpc"}],1515:[{url:"https://beagle.chat/eth"}],1559:[{url:"https://rpc.tenet.org"},{url:"https://tenet-evm.publicnode.com"},{url:"wss://tenet-evm.publicnode.com"}],1570:[{url:"https://testnet-rpc1.starworksglobal.com"}],1578:[{url:"https://rpc.starworksglobal.com"}],1617:[{url:"https://rpc.etins.org"}],1618:[{url:"https://send.catechain.com"}],1620:[{url:"https://rpc.atheios.org"}],1625:[{url:"https://rpc.gravity.xyz"}],1648:[{url:"https://mainnet.pivotalprotocol.com"}],1657:[{url:"https://dataseed1.btachain.com"}],1663:[{url:"https://gobi-rpc.horizenlabs.io/ethv1"},{url:"https://rpc.ankr.com/horizen_gobi_testnet"}],1686:[{url:"https://testnet-rpc.mintchain.io"}],1687:[{url:"https://sepolia-testnet-rpc.mintchain.io"}],1688:[{url:"https://rpc.ludan.org"}],1701:[{url:"https://geth.anytype.io"}],1707:[{url:"https://rpc.blockchain.or.th"}],1708:[{url:"https://rpc.testnet.blockchain.or.th"}],1717:[{url:"https://mainnet.doric.network"}],1718:[{url:"https://palette-rpc.com:22000"}],1729:[{url:"https://rpc.reya.network"},{url:"wss://ws.reya.network"}],1740:[{url:"https://testnet.rpc.metall2.com"}],1750:[{url:"https://rpc.metall2.com"}],1773:[{url:"https://tea.mining4people.com/rpc"},{url:"http://172.104.194.36:8545"}],1777:[{url:"https://rpc.gaussgang.com"}],1789:[{url:"https://sepolia-rpc.zkbase.app"}],1804:[{url:"https://cacib-saturn-test.francecentral.cloudapp.azure.com"},{url:"wss://cacib-saturn-test.francecentral.cloudapp.azure.com:9443"}],1807:[{url:"https://rabbit.analog-rpc.com"}],1811:[{url:"https://testnet-evm.lif3.com"}],1818:[{url:"https://http-mainnet.cube.network"},{url:"wss://ws-mainnet.cube.network"},{url:"https://http-mainnet-sg.cube.network"},{url:"wss://ws-mainnet-sg.cube.network"},{url:"https://http-mainnet-us.cube.network"},{url:"wss://ws-mainnet-us.cube.network"}],1819:[{url:"https://http-testnet.cube.network"},{url:"wss://ws-testnet.cube.network"},{url:"https://http-testnet-sg.cube.network"},{url:"wss://ws-testnet-sg.cube.network"},{url:"https://http-testnet-jp.cube.network"},{url:"wss://ws-testnet-jp.cube.network"},{url:"https://http-testnet-us.cube.network"},{url:"wss://ws-testnet-us.cube.network"}],1821:[{url:"https://mainnet-data.rubychain.io"},{url:"https://mainnet.rubychain.io"}],1856:[{url:"rpcWorking:false"},{url:"https://tsfapi.europool.me"}],1875:[{url:"https://rpc.whitechain.io"}],1881:[{url:"https://rpc.cartenz.works",tracking:"none",trackingDetails:"We do not collect any personal data from our users. Our platform is built on blockchain technology, which ensures that all transactions are recorded on a public ledger that is accessible to all users. However, this information is anonymous and cannot be linked to any specific individual. https://docs.gitshock.com/users-guide/privacy-policy"}],1890:[{url:"https://replicator.phoenix.lightlink.io/rpc/v1"}],1891:[{url:"https://replicator.pegasus.lightlink.io/rpc/v1"}],1898:[{url:"http://rpc.boyanet.org:8545"},{url:"ws://rpc.boyanet.org:8546"}],1899:[{url:"https://layer2.redefi.world"}],1904:[{url:"https://rpc.sportschainnetwork.xyz"}],1907:[{url:"https://rpc.bitci.com"}],1908:[{url:"https://testnet.bitcichain.com"}],1909:[{url:"https://marklechain-rpc.merklescan.com"}],1911:[{url:"https://rpc.scalind.com"}],1912:[{url:"https://testnet-rchain.rubychain.io"}],1918:[{url:"https://testnet.crescdi.pub.ro"}],1945:[{url:"https://rpc-testnet.onuschain.io"}],1951:[{url:"https://mainnet.d-chain.network/ext/bc/2ZiR1Bro5E59siVuwdNuRFzqL95NkvkbzyLBdrsYR9BLSHV7H4/rpc"}],1953:[{url:"https://rpc0-testnet.selendra.org"},{url:"https://rpc1-testnet.selendra.org"}],1954:[{url:"https://rpc.dexilla.com"}],1956:[{url:"https://rpc-testnet.aiw3.io"}],1961:[{url:"https://rpc0.selendra.org"},{url:"https://rpc1.selendra.org"}],1967:[{url:"https://rpc.metatime.com/eleanor"},{url:"wss://ws.metatime.com/eleanor"}],1969:[{url:"https://testnetrpc.scschain.com"}],1970:[{url:"https://rpc.scschain.com"}],1971:[{url:"https://1971.network/atlr"},{url:"wss://1971.network/atlr"}],1972:[{url:"https://rpc2.redecoin.eu"}],1975:[{url:"https://rpc.onuschain.io"},{url:"wss://ws.onuschain.io"}],1984:[{url:"https://testnet.eurus.network"}],1985:[{url:"http://rpc.satosh.ie"}],1986:[{url:"http://testnet.satosh.ie"}],1987:[{url:"https://jsonrpc.egem.io/custom"}],1992:[{url:"https://rpc.hubble.exchange"},{url:"wss://ws-rpc.hubble.exchange"}],1993:[{url:"https://sepolia.b3.fun"}],1994:[{url:"https://main.ekta.io"}],1995:[{url:"https://testnet.edexa.network/rpc"},{url:"https://io-dataseed1.testnet.edexa.io-market.com/rpc"}],1996:[{url:"https://mainnet.sanko.xyz"}],1997:[{url:"https://rpc.kyotochain.io"}],1998:[{url:"https://rpc.testnet.kyotoprotocol.io:8545"}],2e3:[{url:"https://rpc.dogechain.dog"},{url:"https://rpc-us.dogechain.dog"},{url:"https://rpc-sg.dogechain.dog"},{url:"https://rpc.dogechain.dog"},{url:"https://rpc01-sg.dogechain.dog"},{url:"https://rpc02-sg.dogechain.dog"},{url:"https://rpc03-sg.dogechain.dog"},{url:"https://dogechain.ankr.com",tracking:"limited",trackingDetails:"For service delivery purposes, we temporarily record IP addresses to set usage limits and monitor for denial of service attacks against our infrastructure. Though we do look at high-level data around the success rate of transactions made over the blockchain RPC, we do not correlate wallet transactions made over the infrastructure to the IP address making the RPC request. Thus, we do not store, exploit, or share any information regarding Personal Identifiable Information (PII), including wallet addresses. https://www.ankr.com/blog/ankrs-ip-address-policy-and-your-privacy/"},{url:"https://dogechain-sj.ankr.com",tracking:"limited",trackingDetails:"For service delivery purposes, we temporarily record IP addresses to set usage limits and monitor for denial of service attacks against our infrastructure. Though we do look at high-level data around the success rate of transactions made over the blockchain RPC, we do not correlate wallet transactions made over the infrastructure to the IP address making the RPC request. Thus, we do not store, exploit, or share any information regarding Personal Identifiable Information (PII), including wallet addresses. https://www.ankr.com/blog/ankrs-ip-address-policy-and-your-privacy/"},{url:"https://rpc.ankr.com/dogechain"}],2001:[{url:"https://rpc-mainnet-cardano-evm.c1.milkomeda.com"},{url:"wss://rpc-mainnet-cardano-evm.c1.milkomeda.com"}],2002:[{url:"https://rpc-mainnet-algorand-rollup.a1.milkomeda.com"},{url:"wss://rpc-mainnet-algorand-rollup.a1.milkomeda.com/ws"}],2004:[{url:"http://77.237.237.69:9933"}],2013:[{url:"https://polytopia.org:8545"}],2014:[{url:"https://rpc-testnet.nowscan.io"}],2016:[{url:"https://eu-rpc.mainnetz.io"},{url:"https://mainnet-rpc.mainnetz.io"}],2017:[{url:"https://rpc.telcoin.network"},{url:"https://adiri.tel"},{url:"https://node1.telcoin.network"},{url:"https://node2.telcoin.network"},{url:"https://node3.telcoin.network"},{url:"https://node4.telcoin.network"}],2018:[{url:"https://rpc.dev.publicmint.io:8545"}],2019:[{url:"https://rpc.tst.publicmint.io:8545"}],2020:[{url:"https://rpc.publicmint.io:8545"}],2021:[{url:"https://mainnet2.edgewa.re/evm"},{url:"https://mainnet3.edgewa.re/evm"},{url:"https://edgeware-evm.jelliedowl.net"},{url:"https://edgeware.api.onfinality.io/public",tracking:"limited",trackingDetails:"For the sole purpose of providing our service, we temporarily record IP addresses and origins to check against free limits, provide load balancing, prevent DOS attacks, and to determine where best to locate our nodes. We do not, and will never, correlate or link specific wallet addresses or transactions made over our infrastructure to the IP address or origin making the RPC request. After processing IP addresses, we discard the IP address value within 24 hours. Read more here: https://blog.onfinality.io/how-does-onfinality-deal-with-personal-information/"},{url:"https://edgeware-evm0.jelliedowl.net"},{url:"https://edgeware-evm1.jelliedowl.net"},{url:"https://edgeware-evm2.jelliedowl.net"},{url:"https://edgeware-evm3.jelliedowl.net"},{url:"wss://edgeware.jelliedowl.net"},{url:"wss://edgeware-rpc0.jelliedowl.net"},{url:"wss://edgeware-rpc1.jelliedowl.net"},{url:"wss://edgeware-rpc2.jelliedowl.net"},{url:"wss://edgeware-rpc3.jelliedowl.net"}],2022:[{url:"https://beresheet-evm.jelliedowl.net"},{url:"wss://beresheet.jelliedowl.net"}],2023:[{url:"https://test-taycan.hupayx.io"}],2024:[{url:"https://saturn-rpc.swanchain.io"}],2025:[{url:"https://mainnet.rangersprotocol.com/api/jsonrpc"}],2026:[{url:"https://rpc.edgeless.network/http"}],2031:[{url:"https://fullnode.centrifuge.io"},{url:"wss://fullnode.centrifuge.io"},{url:"https://centrifuge-parachain.api.onfinality.io/public"},{url:"wss://centrifuge-parachain.api.onfinality.io/public-ws"},{url:"https://centrifuge-rpc.dwellir.com"},{url:"wss://centrifuge-rpc.dwellir.com"},{url:"https://rpc-centrifuge.luckyfriday.io"},{url:"wss://rpc-centrifuge.luckyfriday.io"}],2032:[{url:"wss://fullnode.catalyst.cntrfg.com"}],2037:[{url:"https://subnets.avax.network/kiwi/testnet/rpc"}],2038:[{url:"https://subnets.avax.network/shrapnel/testnet/rpc"}],2039:[{url:"https://rpc.alephzero-testnet.gelato.digital"},{url:"wss://rpc.alephzero-testnet.gelato.digital"}],2040:[{url:"https://rpc.vanarchain.com"},{url:"wss://ws.vanarchain.com"}],2043:[{url:"https://astrosat.origintrail.network"},{url:"wss://parachain-rpc.origin-trail.network"}],2044:[{url:"https://subnets.avax.network/shrapnel/mainnet/rpc"}],2047:[{url:"https://web3-rpc-mesos.thestratos.org"}],2048:[{url:"https://web3-rpc.thestratos.org"}],2049:[{url:"https://msc-rpc.movoscan.com"},{url:"https://msc-rpc.movochain.org"},{url:"https://msc-rpc.movoswap.com"}],2077:[{url:"http://rpc.qkacoin.org:8548"},{url:"https://rpc.qkacoin.org"}],2088:[{url:"wss://fullnode.altair.centrifuge.io"},{url:"wss://altair.api.onfinality.io/public-ws"}],2100:[{url:"https://api.ecoball.org/ecoball"}],2101:[{url:"https://api.ecoball.org/espuma"}],2109:[{url:"https://rpc.exosama.com"},{url:"wss://rpc.exosama.com"}],2112:[{url:"https://rpc.uchain.link"}],2121:[{url:"https://rpc1.catenarpc.com"}],2122:[{url:"https://rpc.metaplayer.one"}],2124:[{url:"https://rpc-dubai.mp1network.com"}],2136:[{url:"https://test-market.bigsb.network"},{url:"wss://test-market.bigsb.network"}],2137:[{url:"https://market.bigsb.io"},{url:"wss://market.bigsb.io"}],2138:[{url:"https://rpc.public-2138.defi-oracle.io"},{url:"wss://rpc.public-2138.defi-oracle.io"}],2140:[{url:"https://rpc.onenesslabs.io"}],2141:[{url:"https://rpc.testnet.onenesslabs.io"}],2151:[{url:"https://mainnet.bosagora.org"},{url:"https://rpc.bosagora.org"}],2152:[{url:"https://rpc-mainnet.findora.org"}],2153:[{url:"https://prod-testnet.prod.findora.org:8545"}],2154:[{url:"https://prod-forge.prod.findora.org:8545"}],2162:[{url:"https://rpc.kanda.animechain.ai"}],2199:[{url:"https://rpc.moonsama.com"},{url:"wss://rpc.moonsama.com/ws"}],2202:[{url:"https://rpc.antofy.io"}],2203:[{url:"https://connect.bitcoinevm.com"}],2213:[{url:"https://seed4.evanesco.org:8546"}],2221:[{url:"https://evm.testnet.kava.io"},{url:"https://kava-evm-testnet.rpc.thirdweb.com"},{url:"wss://wevm.testnet.kava.io"},{url:"https://kava-testnet.drpc.org"},{url:"wss://kava-testnet.drpc.org"}],2222:[{url:"https://evm.kava.io"},{url:"https://kava.api.onfinality.io/public",tracking:"limited",trackingDetails:"For the sole purpose of providing our service, we temporarily record IP addresses and origins to check against free limits, provide load balancing, prevent DOS attacks, and to determine where best to locate our nodes. We do not, and will never, correlate or link specific wallet addresses or transactions made over our infrastructure to the IP address or origin making the RPC request. After processing IP addresses, we discard the IP address value within 24 hours. Read more here: https://blog.onfinality.io/how-does-onfinality-deal-with-personal-information/"},{url:"https://kava-evm-rpc.publicnode.com",tracking:"none",trackingDetails:"We do not store or track any user data with the exception of data that will be public on chain. We do not correlate wallets address's with IP's, any data which is needed to transact is deleted after 24 hours. We also do no use any Analytics or 3rd party website tracking. https://www.publicnode.com/privacy"},{url:"https://kava-pokt.nodies.app",tracking:"none",trackingDetails:"What We Do Not Collect: User's IP address, request origin, request data. https://www.blog.pokt.network/rpc-logging-practices/"},{url:"wss://kava-evm-rpc.publicnode.com",tracking:"none",trackingDetails:"We do not store or track any user data with the exception of data that will be public on chain. We do not correlate wallets address's with IP's, any data which is needed to transact is deleted after 24 hours. We also do no use any Analytics or 3rd party website tracking. https://www.publicnode.com/privacy"},{url:"https://evm.kava.chainstacklabs.com",tracking:"yes",trackingDetails:"We process certain personal data to provide you with the core functionality of our Services. Specifically, when you are: Using the Chainstack Console, we process your name, surname, email address (your account identifier), organization name, IP address, all HTTP headers (most importantly User-Agent), cookies; Using the Chainstack Blockchain infrastructure, we process nodes' token stored in Chainstack Vault, IP address and HTTP headers, request body, API token in Chainstack Vault.https://chainstack.com/privacy/"},{url:"wss://wevm.kava.chainstacklabs.com",tracking:"yes",trackingDetails:"We process certain personal data to provide you with the core functionality of our Services. Specifically, when you are: Using the Chainstack Console, we process your name, surname, email address (your account identifier), organization name, IP address, all HTTP headers (most importantly User-Agent), cookies; Using the Chainstack Blockchain infrastructure, we process nodes' token stored in Chainstack Vault, IP address and HTTP headers, request body, API token in Chainstack Vault.https://chainstack.com/privacy/"},{url:"https://rpc.ankr.com/kava_evm",tracking:"limited",trackingDetails:"For service delivery purposes, we temporarily record IP addresses to set usage limits and monitor for denial of service attacks against our infrastructure. Though we do look at high-level data around the success rate of transactions made over the blockchain RPC, we do not correlate wallet transactions made over the infrastructure to the IP address making the RPC request. Thus, we do not store, exploit, or share any information regarding Personal Identifiable Information (PII), including wallet addresses. https://www.ankr.com/blog/ankrs-ip-address-policy-and-your-privacy/"},{url:"https://evm.kava-rpc.com",tracking:"limited",trackingDetails:"For service delivery purposes, we temporarily record IP addresses to set usage limits and monitor for denial of service attacks against our infrastructure. Though we do look at high-level data around the success rate of transactions made over the blockchain RPC, we do not correlate wallet transactions made over the infrastructure to the IP address making the RPC request. Thus, we do not store, exploit, or share any information regarding Personal Identifiable Information (PII), including wallet addresses. https://www.ankr.com/blog/ankrs-ip-address-policy-and-your-privacy/"},{url:"https://kava-rpc.gateway.pokt.network"},{url:"https://kava-evm.rpc.thirdweb.com"},{url:"wss://wevm.kava.io"},{url:"wss://wevm.kava-rpc.com"},{url:"https://kava.drpc.org"},{url:"wss://kava.drpc.org"}],2223:[{url:"https://bc.vcex.xyz"}],2241:[{url:"https://erpc-krest.peaq.network"},{url:"https://krest.unitedbloc.com"}],2300:[{url:"https://rpc.bombchain.com"}],2306:[{url:"https://greendinoswap.com"}],2311:[{url:"https://vesuvius-rpc.litprotocol.com"}],2323:[{url:"https://data-testnet-v1.somanetwork.io",tracking:"yes",trackingDetails:"At SomaNetwork Mainnet Or Testnet, we are committed to protecting your privacy and ensuring the security of your data. This privacy policy summary outlines how we handle and protect your personal information when using our SomaNetwork Mainnet and Testnet services. Please note that this is a summary, and the full privacy policy should be reviewed for complete details soma. 1.We will collect your mobile device information, operation records, transaction records, wallet address and other personal information. https://soma-network.gitbook.io/soma-network/privacy-policy"},{url:"https://block-testnet-v1.somanetwork.io",tracking:"yes",trackingDetails:"At SomaNetwork Mainnet Or Testnet, we are committed to protecting your privacy and ensuring the security of your data. This privacy policy summary outlines how we handle and protect your personal information when using our SomaNetwork Mainnet and Testnet services. Please note that this is a summary, and the full privacy policy should be reviewed for complete details soma. 1.We will collect your mobile device information, operation records, transaction records, wallet address and other personal information. https://soma-network.gitbook.io/soma-network/privacy-policy"},{url:"https://testnet-au-server-2.somanetwork.io"},{url:"https://testnet-au-server-1.somanetwork.io"},{url:"https://testnet-sg-server-1.somanetwork.io"},{url:"https://testnet-sg-server-2.somanetwork.io"}],2330:[{url:"https://rpc0.altcoinchain.org/rpc"}],2331:[{url:"https://rpc.testnet.rss3.io"}],2332:[{url:"https://data-mainnet-v1.somanetwork.io",tracking:"yes",trackingDetails:"At SomaNetwork Mainnet Or Testnet, we are committed to protecting your privacy and ensuring the security of your data. This privacy policy summary outlines how we handle and protect your personal information when using our SomaNetwork Mainnet and Testnet services. Please note that this is a summary, and the full privacy policy should be reviewed for complete details soma. 1.We will collect your mobile device information, operation records, transaction records, wallet address and other personal information. https://soma-network.gitbook.io/soma-network/privacy-policy"},{url:"https://block-mainnet-v1.somanetwork.io",tracking:"yes",trackingDetails:"At SomaNetwork Mainnet Or Testnet, we are committed to protecting your privacy and ensuring the security of your data. This privacy policy summary outlines how we handle and protect your personal information when using our SomaNetwork Mainnet and Testnet services. Please note that this is a summary, and the full privacy policy should be reviewed for complete details soma. 1.We will collect your mobile device information, operation records, transaction records, wallet address and other personal information. https://soma-network.gitbook.io/soma-network/privacy-policy"},{url:"https://id-mainnet.somanetwork.io"},{url:"https://hk-mainnet.somanetwork.io"},{url:"https://sg-mainnet.somanetwork.io"}],2340:[{url:"wss://testnet-rpc.atleta.network:9944"},{url:"https://testnet-rpc.atleta.network:9944"},{url:"https://testnet-rpc.atleta.network"}],2342:[{url:"https://rpc.omniaverse.io"}],2358:[{url:"https://api.sepolia.kroma.network"}],2370:[{url:"https://evm-testnet.nexis.network"}],2399:[{url:"https://bombchain-testnet.ankr.com/bas_full_rpc_1"}],2400:[{url:"https://rpc.tcgverse.xyz"}],2410:[{url:"https://rpc.karak.network"}],2415:[{url:"https://mainnet.xo-dex.com/rpc"},{url:"https://xo-dex.io"}],2425:[{url:"https://rpc-mainnet.kinggamer.org"}],2442:[{url:"https://rpc.cardona.zkevm-rpc.com"}],2458:[{url:"https://rpc-testnet.hybridchain.ai",tracking:"yes",trackingDetails:"HybridChain may automatically collect information regarding your computer hardware and software. This data can encompass details like your IP address, browser type, domain names, access times, and referring website addresses. This collection is in line with HybridChain's privacy policy and aims to optimize service provision and enhance user experience.https://docs.hybridchain.ai/privacy-policy"}],2468:[{url:"https://coredata-mainnet.hybridchain.ai",tracking:"yes",trackingDetails:"HybridChain may automatically collect information regarding your computer hardware and software. This data can encompass details like your IP address, browser type, domain names, access times, and referring website addresses. This collection is in line with HybridChain's privacy policy and aims to optimize service provision and enhance user experience.https://docs.hybridchain.ai/privacy-policy"},{url:"https://rpc-mainnet.hybridchain.ai",tracking:"yes",trackingDetails:"HybridChain may automatically collect information regarding your computer hardware and software. This data can encompass details like your IP address, browser type, domain names, access times, and referring website addresses. This collection is in line with HybridChain's privacy policy and aims to optimize service provision and enhance user experience.https://docs.hybridchain.ai/privacy-policy"}],2484:[{url:"https://rpc-nebulas-testnet.uniultra.xyz"}],2522:[{url:"https://rpc.testnet.frax.com"}],2525:[{url:"https://mainnet.rpc.inevm.com/http"}],2559:[{url:"https://www.kortho-chain.com"}],2569:[{url:"https://api.techpay.io"}],2606:[{url:"https://pocrnet.westeurope.cloudapp.azure.com/http"},{url:"wss://pocrnet.westeurope.cloudapp.azure.com/ws"}],2611:[{url:"https://dataseed2.redlightscan.finance"}],2612:[{url:"https://api.ezchain.com/ext/bc/C/rpc"}],2613:[{url:"https://testnet-api.ezchain.com/ext/bc/C/rpc"}],2625:[{url:"https://rpc-testnet.whitechain.io"}],2648:[{url:"https://testnet-rpc.ailayer.xyz"},{url:"wss://testnet-rpc.ailayer.xyz"}],2649:[{url:"https://mainnet-rpc.ailayer.xyz"},{url:"wss://mainnet-rpc.ailayer.xyz"}],2710:[{url:"https://rpc-testnet.morphl2.io"}],2718:[{url:"https://rpc.klaos.laosfoundation.io"},{url:"wss://rpc.klaos.laosfoundation.io"}],2730:[{url:"https://xr-sepolia-testnet.rpc.caldera.xyz/http"}],2731:[{url:"https://testnet-rpc.timenetwork.io"}],2748:[{url:"https://rpc.nanon.network"}],2777:[{url:"https://rpc.gmnetwork.ai"}],2810:[{url:"https://rpc-quicknode-holesky.morphl2.io"},{url:"wss://rpc-quicknode-holesky.morphl2.io"},{url:"https://rpc-holesky.morphl2.io"}],2882:[{url:"https://node.chips.ooo/wasp/api/v1/chains/iota1pp3d3mnap3ufmgqnjsnw344sqmf5svjh26y2khnmc89sv6788y3r207a8fn/evm"}],2907:[{url:"https://rpc.eluxscan.com"}],2911:[{url:"https://rpc.hychain.com/http"}],2941:[{url:"https://testnet-chain.xenonchain.com"},{url:"https://testnet-dev.xenonchain.com"}],2999:[{url:"https://mainnet.bityuan.com/eth"}],3001:[{url:"https://nikau.centrality.me/public"}],3003:[{url:"https://rpc.canxium.org"}],3011:[{url:"https://api.mainnet.playa3ull.games"}],3031:[{url:"https://rpc-testnet.orlchain.com"}],3033:[{url:"https://testnet.rebus.money/rpc"}],3068:[{url:"https://public-01.mainnet.bifrostnetwork.com/rpc"},{url:"https://public-02.mainnet.bifrostnetwork.com/rpc"}],3084:[{url:"https://subnets.avax.network/xlnetworkt/testnet/rpc"},{url:"wss://subnets.avax.network/xlnetworkt/testnet/ws"}],3100:[{url:"https://fraa-flashbox-2800-rpc.a.stagenet.tanssi.network"},{url:"wss://fraa-flashbox-2800-rpc.a.stagenet.tanssi.network"}],3102:[{url:"https://fraa-dancebox-3050-rpc.a.dancebox.tanssi.network"},{url:"wss://fraa-dancebox-3050-rpc.a.dancebox.tanssi.network"}],3109:[{url:"https://alpha-rpc-node-http.svmscan.io"}],3110:[{url:"https://test-rpc-node-http.svmscan.io"}],3269:[{url:"https://rpcmain.arabianchain.org"}],3270:[{url:"https://rpctestnet.arabianchain.org"}],3306:[{url:"https://dev-rpc.debounce.network"}],3331:[{url:"https://rpc-testnet.zcore.cash"}],3333:[{url:"http://testnet.ethstorage.io:9540"}],3334:[{url:"https://galileo.web3q.io:8545"}],3335:[{url:"http://mainnet.ethstorage.io:9540"}],3338:[{url:"https://peaq.api.onfinality.io/public"},{url:"https://peaq-rpc.dwellir.com"},{url:"https://peaq-rpc.publicnode.com"},{url:"https://evm.peaq.network"}],3400:[{url:"https://rpc.paribu.network"}],3424:[{url:"https://rpc.evolveblockchain.io"}],3434:[{url:"https://testnet-rpc.securechain.ai"}],3456:[{url:"https://testnet-rpc.layeredge.io"}],3490:[{url:"https://gtc-dataseed.gtcscan.io"}],3500:[{url:"https://rpc.testnet.paribuscan.com"}],3501:[{url:"https://rpc.jfinchain.com"},{url:"https://rpc.jfinchain.com",tracking:"limited",trackingDetails:"We do not collect request data or request origin. We only temporarily record the request method names and IP addresses for 7 days to ensure our service functionality such as load balancing and DDoS protection. All the data is automatically deleted after 7 days and we do not store any user information for longer periods of time. https://blockpi.io/privacy-policy"}],3601:[{url:"https://eth-rpc-api.pandoproject.org/rpc"}],3602:[{url:"https://testnet.ethrpc.pandoproject.org/rpc"}],3630:[{url:"https://mainnet-rpc.tycoscan.com"}],3636:[{url:"https://node.botanixlabs.dev"}],3637:[{url:"https://rpc.btxtestchain.com"}],3639:[{url:"https://rpc.ichainscan.com"}],3645:[{url:"https://istanbul.ichainscan.com"}],3666:[{url:"https://rpc.jnsdao.com:8503"}],3690:[{url:"https://rpc1.bittexscan.info"},{url:"https://rpc2.bittexscan.info"}],3693:[{url:"https://rpc.empirenetwork.io"}],3698:[{url:"https://testnet-rpc.senjepowersscan.com"}],3699:[{url:"https://rpc.senjepowersscan.com"}],3737:[{url:"https://rpc.crossbell.io"}],3776:[{url:"https://rpc.startale.com/astar-zkevm"}],3797:[{url:"https://elves-core1.alvey.io"},{url:"https://elves-core2.alvey.io"},{url:"https://elves-core3.alvey.io"}],3799:[{url:"https://testnet-rpc.tangle.tools"},{url:"https://testnet-rpc-archive.tangle.tools"},{url:"wss://testnet-rpc.tangle.tools"},{url:"wss://testnet-rpc-archive.tangle.tools"}],3885:[{url:"https://rpc-zkevm-ghostrider.thefirechain.com"}],3888:[{url:"https://rpc.kalychain.io/rpc"}],3889:[{url:"https://testnetrpc.kalychain.io/rpc"}],3912:[{url:"https://www.dracscan.com/rpc"}],3939:[{url:"https://test.doschain.com"}],3966:[{url:"https://api.dynoprotocol.com"}],3967:[{url:"https://tapi.dynoprotocol.com"}],3993:[{url:"https://rpc-testnet.apexlayer.xyz"}],3999:[{url:"https://mainnet.yuan.org/eth"}],4e3:[{url:"https://node1.ozonechain.io"}],4001:[{url:"https://rpc-testnet.peperium.io"}],4002:[{url:"https://rpc.testnet.fantom.network"},{url:"https://endpoints.omniatech.io/v1/fantom/testnet/public",tracking:"none",trackingDetails:"All the data and metadata remain private to the users. No third party is able to access, analyze or track it. OMNIA leverages different technologies and approaches to guarantee the privacy of their users, from front-running protection and private mempools, to obfuscation and random dispatching. https://blog.omniatech.io/how-omnia-handles-your-personal-data"},{url:"https://rpc.ankr.com/fantom_testnet",tracking:"limited",trackingDetails:"For service delivery purposes, we temporarily record IP addresses to set usage limits and monitor for denial of service attacks against our infrastructure. Though we do look at high-level data around the success rate of transactions made over the blockchain RPC, we do not correlate wallet transactions made over the infrastructure to the IP address making the RPC request. Thus, we do not store, exploit, or share any information regarding Personal Identifiable Information (PII), including wallet addresses. https://www.ankr.com/blog/ankrs-ip-address-policy-and-your-privacy/"},{url:"https://fantom-testnet.public.blastapi.io",tracking:"limited",trackingDetails:"All the information in our logs (log data) can only be accessed for the last 7 days at any certain time, and it is completely purged after 14 days. We do not store any user information for longer periods of time or with any other purposes than investigating potential errors and service failures. https://blastapi.io/privacy-policy"},{url:"https://fantom-testnet-rpc.publicnode.com",tracking:"none",trackingDetails:"We do not store or track any user data with the exception of data that will be public on chain. We do not correlate wallets address's with IP's, any data which is needed to transact is deleted after 24 hours. We also do no use any Analytics or 3rd party website tracking. https://www.publicnode.com/privacy"},{url:"wss://fantom-testnet-rpc.publicnode.com",tracking:"none",trackingDetails:"We do not store or track any user data with the exception of data that will be public on chain. We do not correlate wallets address's with IP's, any data which is needed to transact is deleted after 24 hours. We also do no use any Analytics or 3rd party website tracking. https://www.publicnode.com/privacy"},{url:"https://fantom.api.onfinality.io/public",tracking:"limited",trackingDetails:"For the sole purpose of providing our service, we temporarily record IP addresses and origins to check against free limits, provide load balancing, prevent DOS attacks, and to determine where best to locate our nodes. We do not, and will never, correlate or link specific wallet addresses or transactions made over our infrastructure to the IP address or origin making the RPC request. After processing IP addresses, we discard the IP address value within 24 hours. Read more here: https://blog.onfinality.io/how-does-onfinality-deal-with-personal-information/"},{url:"https://fantom-testnet.drpc.org"},{url:"wss://fantom-testnet.drpc.org"}],4003:[{url:"https://x1-fastnet.xen.network"}],4040:[{url:"https://rpc-dev.carbonium.network"},{url:"https://server-testnet.carbonium.network"}],4048:[{url:"https://rpc.gpu.net"}],4058:[{url:"https://rpc1.ocean.bahamutchain.com"}],4061:[{url:"https://rpc.n3.nahmii.io"}],4062:[{url:"https://rpc.testnet.nahmii.io"}],4078:[{url:"https://muster.alt.technology"}],4080:[{url:"https://rpc.tobescan.com"}],4090:[{url:"https://rpc1.oasis.bahamutchain.com"}],4096:[{url:"https://testnet-rpc.bitindi.org"}],4099:[{url:"https://mainnet-rpc.bitindi.org"}],4102:[{url:"https://eth-ds.testnet.aioz.network"}],4139:[{url:"https://humans-testnet-evm.itrocket.net",tracking:"none",trackingDetails:"We do not track, store or process any personal data. You can check our privacy policy here: https://itrocket.net/privacy-policy/"},{url:"https://evm-rpc.testnet.humans.zone"}],4141:[{url:"https://testnet-rpc.tipboxcoin.net"}],4157:[{url:"https://rpc.testnet.ms"}],4162:[{url:"https://rpc.sx-rollup.gelato.digital"}],4181:[{url:"https://rpc1.phi.network"},{url:"https://rpc2.phi.network"}],4200:[{url:"https://rpc.merlinchain.io"},{url:"https://merlin-mainnet-enterprise.unifra.io"},{url:"https://rpc-merlin.rockx.com"}],4201:[{url:"https://rpc.testnet.lukso.network"},{url:"wss://ws-rpc.testnet.lukso.network"}],4202:[{url:"https://rpc.sepolia-api.lisk.com"}],4242:[{url:"https://rpc.chain.nexi.technology"},{url:"https://chain.nexilix.com"},{url:"https://chain.nexi.evmnode.online"}],4243:[{url:"https://chain.nexiv2.nexilix.com"},{url:"https://rpc.chainv1.nexi.technology"}],4337:[{url:"https://build.onbeam.com/rpc"},{url:"wss://build.onbeam.com/ws"},{url:"https://subnets.avax.network/beam/mainnet/rpc"},{url:"wss://subnets.avax.network/beam/mainnet/ws"}],4400:[{url:"https://rpc.creditsmartchain.com"}],4444:[{url:"https://janus.htmlcoin.dev/janus"},{url:"https://janus.htmlcoin.com/api"}],4460:[{url:"https://l2-orderly-l2-4460-sepolia-8tc3sd7dvy.t.conduit.xyz"}],4544:[{url:"https://testnet.emoney.network"}],4613:[{url:"https://rpc.verylabs.io"}],4653:[{url:"https://chain-rpc.gold.dev"}],4689:[{url:"https://rpc.ankr.com/iotex",tracking:"limited",trackingDetails:"For service delivery purposes, we temporarily record IP addresses to set usage limits and monitor for denial of service attacks against our infrastructure. Though we do look at high-level data around the success rate of transactions made over the blockchain RPC, we do not correlate wallet transactions made over the infrastructure to the IP address making the RPC request. Thus, we do not store, exploit, or share any information regarding Personal Identifiable Information (PII), including wallet addresses. https://www.ankr.com/blog/ankrs-ip-address-policy-and-your-privacy/"},{url:"https://babel-api.mainnet.iotex.io"},{url:"https://babel-api.mainnet.iotex.one"},{url:"https://babel-api.fastblocks.io"},{url:"https://iotexrpc.com",tracking:"limited",trackingDetails:"For service delivery purposes, we temporarily record IP addresses to set usage limits and monitor for denial of service attacks against our infrastructure. Though we do look at high-level data around the success rate of transactions made over the blockchain RPC, we do not correlate wallet transactions made over the infrastructure to the IP address making the RPC request. Thus, we do not store, exploit, or share any information regarding Personal Identifiable Information (PII), including wallet addresses. https://www.ankr.com/blog/ankrs-ip-address-policy-and-your-privacy/"},{url:"https://iotex-network.rpc.thirdweb.com",tracking:"yes",trackingDetails:"Server logs automatically record information and details about your online interactions with us. For example, server logs may record information about your visit to our Site on a particular time and day and collect information such as your device ID and IP address.https://thirdweb.com/privacy"},{url:"https://iotex.api.onfinality.io/public",tracking:"limited",trackingDetails:"For the sole purpose of providing our service, we temporarily record IP addresses and origins to check against free limits, provide load balancing, prevent DOS attacks, and to determine where best to locate our nodes. We do not, and will never, correlate or link specific wallet addresses or transactions made over our infrastructure to the IP address or origin making the RPC request. After processing IP addresses, we discard the IP address value within 24 hours. Read more here: https://blog.onfinality.io/how-does-onfinality-deal-with-personal-information/"}],4690:[{url:"https://babel-api.testnet.iotex.io"}],4759:[{url:"https://rpc.meversetestnet.io"}],4777:[{url:"https://testnet.blackfort.network/rpc"}],4893:[{url:"https://rpc.gcscan.io"}],4918:[{url:"https://rpc-evm-testnet.venidium.io"}],4919:[{url:"https://rpc.venidium.io"}],4999:[{url:"https://mainnet.blackfort.network/rpc"},{url:"https://mainnet-1.blackfort.network/rpc"},{url:"https://mainnet-2.blackfort.network/rpc"},{url:"https://mainnet-3.blackfort.network/rpc"}],5e3:[{url:"https://mantle-rpc.publicnode.com",tracking:"none",trackingDetails:"We do not store or track any user data with the exception of data that will be public on chain. We do not correlate wallets address's with IP's, any data which is needed to transact is deleted after 24 hours. We also do no use any Analytics or 3rd party website tracking. https://www.publicnode.com/privacy"},{url:"wss://mantle-rpc.publicnode.com",tracking:"none",trackingDetails:"We do not store or track any user data with the exception of data that will be public on chain. We do not correlate wallets address's with IP's, any data which is needed to transact is deleted after 24 hours. We also do no use any Analytics or 3rd party website tracking. https://www.publicnode.com/privacy"},{url:"https://mantle-mainnet.public.blastapi.io",tracking:"limited",trackingDetails:"All the information in our logs (log data) can only be accessed for the last 7 days at any certain time, and it is completely purged after 14 days. We do not store any user information for longer periods of time or with any other purposes than investigating potential errors and service failures. https://blastapi.io/privacy-policy"},{url:"https://mantle.drpc.org",tracking:"none",trackingDetails:"Specific types of technical data that we may temporarily log include:IP address (only in logs for redirecting requests to the nearest RPC nodes and rate limiting at the free level, which are cleared weekly). The user ID is hidden in the temporary logs, so it is not possible to link them to a specific user.https://drpc.org/privacy-policy"},{url:"https://rpc.ankr.com/mantle",tracking:"limited",trackingDetails:"For service delivery purposes, we temporarily record IP addresses to set usage limits and monitor for denial of service attacks against our infrastructure. Though we do look at high-level data around the success rate of transactions made over the blockchain RPC, we do not correlate wallet transactions made over the infrastructure to the IP address making the RPC request. Thus, we do not store, exploit, or share any information regarding Personal Identifiable Information (PII), including wallet addresses. https://www.ankr.com/blog/ankrs-ip-address-policy-and-your-privacy/"},{url:"https://1rpc.io/mantle",tracking:"none",trackingDetails:"With the exception of data that will be public on chain, all the other metadata / data should remain private to users and other parties should not be able to access or collect it. 1RPC uses many different techniques to prevent the unnecessary collection of user privacy, which prevents tracking from RPC providers. https://docs.1rpc.io/technology/zero-tracking"},{url:"https://rpc.mantle.xyz"}],5001:[{url:"https://rpc.testnet.mantle.xyz"}],5002:[{url:"https://node0.treasurenet.io"},{url:"https://node1.treasurenet.io"},{url:"https://node2.treasurenet.io"},{url:"https://node3.treasurenet.io"}],5003:[{url:"https://rpc.sepolia.mantle.xyz"}],5005:[{url:"https://node0.testnet.treasurenet.io"},{url:"https://node1.testnet.treasurenet.io"},{url:"https://node2.testnet.treasurenet.io"},{url:"https://node3.testnet.treasurenet.io"}],5039:[{url:"https://subnets.avax.network/onigiri/testnet/rpc"}],5040:[{url:"https://subnets.avax.network/onigiri/mainnet/rpc"}],5051:[{url:"https://nollie-rpc.skatechain.org"}],5100:[{url:"https://rpc-testnet.syndicate.io"}],5101:[{url:"https://rpc-frame.syndicate.io"}],5102:[{url:"https://rpc-sic-testnet-zvr7tlkzsi.t.conduit.xyz"}],5103:[{url:"https://rpc-coordinape-testnet-vs9se3oc4v.t.conduit.xyz"}],5104:[{url:"https://rpc-charmverse-testnet-g6blnaebes.t.conduit.xyz"}],5105:[{url:"https://rpc-superloyalty-testnet-1m5gwjbsv1.t.conduit.xyz"}],5106:[{url:"https://rpc-azra-testnet-6hz86owb1n.t.conduit.xyz"}],5112:[{url:"https://rpc.ham.fun"}],5151:[{url:"https://testnet-rpc.mechain.tech"}],5165:[{url:"https://bahamut-rpc.publicnode.com",tracking:"none",trackingDetails:"We do not store or track any user data with the exception of data that will be public on chain. We do not correlate wallets address's with IP's, any data which is needed to transact is deleted after 24 hours. We also do no use any Analytics or 3rd party website tracking. https://www.publicnode.com/privacy"},{url:"wss://bahamut-rpc.publicnode.com",tracking:"none",trackingDetails:"We do not store or track any user data with the exception of data that will be public on chain. We do not correlate wallets address's with IP's, any data which is needed to transact is deleted after 24 hours. We also do no use any Analytics or 3rd party website tracking. https://www.publicnode.com/privacy"},{url:"https://rpc1.bahamut.io"},{url:"https://rpc2.bahamut.io"},{url:"wss://ws1.sahara.bahamutchain.com"},{url:"wss://ws2.sahara.bahamutchain.com"}],5169:[{url:"https://rpc.main.smartlayer.network"}],5177:[{url:"https://mainnet-rpc.tlxscan.com"}],5197:[{url:"https://mainnet.eraswap.network"},{url:"https://rpc-mumbai.mainnet.eraswap.network"}],5234:[{url:"https://explorer-rpc-http.mainnet.stages.humanode.io"}],5315:[{url:"https://network.uzmigames.com.br"}],5317:[{url:"https://rpctest.optrust.io"}],5321:[{url:"https://rpc.testnet.itxchain.com"}],5333:[{url:"https://rpc1.netsbo.io"},{url:"https://rpc2.netsbo.io"}],5353:[{url:"https://nodetestnet-station-one.tritanium.network"},{url:"https://nodetestnet-station-two.tritanium.network"}],5372:[{url:"https://settlus-test-eth.settlus.io"}],5424:[{url:"https://mainnet.edexa.network/rpc"},{url:"https://mainnet.edexa.com/rpc"},{url:"https://io-dataseed1.mainnet.edexa.io-market.com/rpc"}],5439:[{url:"https://mainnet.egochain.org"}],5522:[{url:"https://testnet.vexascan.com/evmapi"}],5551:[{url:"https://l2.nahmii.io"}],5555:[{url:"https://rpc.chainverse.info"}],5611:[{url:"https://opbnb-testnet-rpc.bnbchain.org"},{url:"https://opbnb-testnet.nodereal.io/v1/64a9df0874fb4a93b9d0a3849de012d3"},{url:"wss://opbnb-testnet.nodereal.io/ws/v1/64a9df0874fb4a93b9d0a3849de012d3"},{url:"https://opbnb-testnet.nodereal.io/v1/e9a36765eb8a40b9bd12e680a1fd2bc5"},{url:"wss://opbnb-testnet.nodereal.io/ws/v1/e9a36765eb8a40b9bd12e680a1fd2bc5"},{url:"https://opbnb-testnet-rpc.publicnode.com"},{url:"wss://opbnb-testnet-rpc.publicnode.com"}],5615:[{url:"https://rpc-testnet.arcturuschain.io"}],5616:[{url:"http://185.99.196.3:8545"}],5656:[{url:"https://rpc-main1.qiblockchain.online"},{url:"https://rpc-main2.qiblockchain.online"}],5675:[{url:"https://rpctest.filenova.org"}],5678:[{url:"https://fraa-dancebox-3001-rpc.a.dancebox.tanssi.network"},{url:"wss://fraa-dancebox-3001-rpc.a.dancebox.tanssi.network"}],5700:[{url:"https://syscoin-tanenbaum-evm-rpc.publicnode.com",tracking:"none",trackingDetails:"We do not store or track any user data with the exception of data that will be public on chain. We do not correlate wallets address's with IP's, any data which is needed to transact is deleted after 24 hours. We also do no use any Analytics or 3rd party website tracking. https://www.publicnode.com/privacy"},{url:"wss://syscoin-tanenbaum-evm-rpc.publicnode.com",tracking:"none",trackingDetails:"We do not store or track any user data with the exception of data that will be public on chain. We do not correlate wallets address's with IP's, any data which is needed to transact is deleted after 24 hours. We also do no use any Analytics or 3rd party website tracking. https://www.publicnode.com/privacy"},{url:"https://rollux.rpc.tanenbaum.io"},{url:"wss://rollux.rpc.tanenbaum.io/wss"},{url:"https://rpc.tanenbaum.io"},{url:"wss://rpc.tanenbaum.io/wss"},{url:"https://syscoin-tanenbaum-evm.publicnode.com"},{url:"wss://syscoin-tanenbaum-evm.publicnode.com"}],5729:[{url:"https://rpc-testnet.hika.network"}],5758:[{url:"https://testnet-rpc.satoshichain.io"}],5777:[{url:"https://127.0.0.1:7545"}],5845:[{url:"https://rpc.tangle.tools"},{url:"wss://rpc.tangle.tools"}],5851:[{url:"http://polaris1.ont.io:20339"},{url:"http://polaris2.ont.io:20339"},{url:"http://polaris3.ont.io:20339"},{url:"http://polaris4.ont.io:20339"},{url:"https://polaris1.ont.io:10339"},{url:"https://polaris2.ont.io:10339"},{url:"https://polaris3.ont.io:10339"},{url:"https://polaris4.ont.io:10339"}],5858:[{url:"https://rpc.cthscan.com"}],5869:[{url:"https://proxy.wegochain.io"},{url:"http://wallet.wegochain.io:7764"}],6e3:[{url:"https://fullnode-testnet.bouncebitapi.com"}],6001:[{url:"https://fullnode-mainnet.bouncebitapi.com"}],6065:[{url:"https://rpc-test.tresleches.finance"}],6066:[{url:"https://rpc.tresleches.finance"},{url:"https://rpc.treschain.io"}],6102:[{url:"https://testnet.cascadia.foundation"}],6118:[{url:"https://node-api.alp.uptn.io/v1/ext/rpc"}],6119:[{url:"https://node-api.uptn.io/v1/ext/rpc"}],6283:[{url:"https://rpc.laos.laosfoundation.io"},{url:"wss://rpc.laos.laosfoundation.io"}],6321:[{url:"https://jsonrpc.euphoria.aura.network"}],6322:[{url:"https://jsonrpc.aura.network"}],6363:[{url:"https://dsc-rpc.digitsoul.co.th"}],6398:[{url:"https://rpc.connext-sepolia.gelato.digital"}],6502:[{url:"https://peerpay.su.gy/p2p"}],6550:[{url:"https://testnetrpc.flamma.network"}],6552:[{url:"https://testnet-rpc.scolcoin.com"}],6565:[{url:"https://rpc-testnet-v1.foxchain.app"},{url:"https://rpc2-testnet-v1.foxchain.app"},{url:"https://rpc3-testnet-v1.foxchain.app"}],6626:[{url:"https://http-mainnet.chain.pixie.xyz"},{url:"wss://ws-mainnet.chain.pixie.xyz"}],6660:[{url:"https://testnet-rpc.latestcoin.io"}],6661:[{url:"https://rpc-mainnet.cybria.io"}],6666:[{url:"https://l2-rpc.cybascan.io"}],6678:[{url:"https://rpc1-mainnet.emc.network"}],6688:[{url:"https://iris-evm-rpc.publicnode.com",tracking:"none",trackingDetails:"We do not store or track any user data with the exception of data that will be public on chain. We do not correlate wallets address's with IP's, any data which is needed to transact is deleted after 24 hours. We also do no use any Analytics or 3rd party website tracking. https://www.publicnode.com/privacy"},{url:"wss://iris-evm-rpc.publicnode.com",tracking:"none",trackingDetails:"We do not store or track any user data with the exception of data that will be public on chain. We do not correlate wallets address's with IP's, any data which is needed to transact is deleted after 24 hours. We also do no use any Analytics or 3rd party website tracking. https://www.publicnode.com/privacy"},{url:"https://evmrpc.irishub-1.irisnet.org"},{url:"https://iris-evm.publicnode.com"},{url:"wss://iris-evm.publicnode.com"}],6699:[{url:"https://rpc.oxscan.io"}],6701:[{url:"https://chain.paxb.io"}],6779:[{url:"https://rpc.compverse.io"},{url:"https://rpc-useast1.compverse.io"}],6789:[{url:"https://rpc-mainnet.goldsmartchain.com"}],6805:[{url:"https://racemainnet.io"}],6806:[{url:"https://racetestnet.io"}],6868:[{url:"https://rpc.poolsmobility.com"}],6969:[{url:"https://rpc.tombchain.com"}],6999:[{url:"https://seed0.polysmartchain.com"},{url:"https://seed1.polysmartchain.com"},{url:"https://seed2.polysmartchain.com"}],7e3:[{url:"https://zetachain-evm.blockpi.network/v1/rpc/public",tracking:"limited",trackingDetails:"We do not collect request data or request origin. We only temporarily record the request method names and IP addresses for 7 days to ensure our service functionality such as load balancing and DDoS protection. All the data is automatically deleted after 7 days and we do not store any user information for longer periods of time. https://blockpi.io/privacy-policy"},{url:"https://zetachain-mainnet-archive.allthatnode.com:8545",tracking:"yes",trackingDetails:"In addition to the Personal Information, the Billing Information, and the Geolocational Information..., we automatically collect certain information when you use the Platform or Website: IP addresses, browser type and language...; information about a mobile device, including universally unique ID (“UUID”), platform type and version (e.g., iOS or Android), carrier and country location, hardware and processor information, and network type; and activity and usage information occurring via the Platform or Website.https://www.allthatnode.com/privacypolicy.dsrv"},{url:"wss://zetachain-mainnet-archive.allthatnode.com:8546",tracking:"yes",trackingDetails:"In addition to the Personal Information, the Billing Information, and the Geolocational Information..., we automatically collect certain information when you use the Platform or Website: IP addresses, browser type and language...; information about a mobile device, including universally unique ID (“UUID”), platform type and version (e.g., iOS or Android), carrier and country location, hardware and processor information, and network type; and activity and usage information occurring via the Platform or Website.https://www.allthatnode.com/privacypolicy.dsrv"},{url:"https://zeta.rpcgrid.com",tracking:"none",trackingDetails:"Only strictly functional data is automatically collected by the RPC. None of this data is directly exported or used for commercial purposes. https://rpcgrid.com/privacy-policy"},{url:"wss://zeta.rpcgrid.com",tracking:"none",trackingDetails:"Only strictly functional data is automatically collected by the RPC. None of this data is directly exported or used for commercial purposes. https://rpcgrid.com/privacy-policy"},{url:"https://zetachain-mainnet.g.allthatnode.com/archive/evm"},{url:"https://zeta-chain.drpc.org"},{url:"https://zetachain-mainnet.public.blastapi.io"},{url:"https://7000.rpc.thirdweb.com"}],7001:[{url:"https://zetachain-athens-evm.blockpi.network/v1/rpc/public",tracking:"limited",trackingDetails:"We do not collect request data or request origin. We only temporarily record the request method names and IP addresses for 7 days to ensure our service functionality such as load balancing and DDoS protection. All the data is automatically deleted after 7 days and we do not store any user information for longer periods of time. https://blockpi.io/privacy-policy"},{url:"https://zetachain-testnet.public.blastapi.io"},{url:"https://zetachain-athens.g.allthatnode.com/archive/evm"},{url:"https://7001.rpc.thirdweb.com"},{url:"https://zeta-chain-testnet.drpc.org"}],7007:[{url:"https://rpc.bstchain.io"}],7027:[{url:"https://rpc.ella.network"}],7070:[{url:"https://planq-rpc.nodies.app"},{url:"https://jsonrpc.planq.nodestake.top"},{url:"https://evm-rpc.planq.network"}],7077:[{url:"https://evm-rpc-atlas.planq.network"}],7100:[{url:"https://rpc.numecrypto.com"}],7171:[{url:"https://connect.bit-rock.io"},{url:"https://brockrpc.io"}],7222:[{url:"https://evm-rpc.devnet-3.nibiru.fi"}],7244:[{url:"https://testnet-rpc.zeuschainscan.io"}],7300:[{url:"https://rpc-xpla-verse.xpla.dev"}],7331:[{url:"https://evm.klyntar.org/kly_evm_rpc"},{url:"https://evm.klyntarscan.org/kly_evm_rpc"}],7332:[{url:"https://eon-rpc.horizenlabs.io/ethv1"},{url:"https://rpc.ankr.com/horizen_eon"}],7341:[{url:"https://rpc.shyft.network"}],7484:[{url:"https://rpc.x.raba.app"},{url:"wss://rpc.x.raba.app/ws"}],7518:[{url:"https://rpc.meversemainnet.io"}],7560:[{url:"https://cyber.alt.technology"},{url:"wss://cyber-ws.alt.technology"},{url:"https://rpc.cyber.co"},{url:"wss://rpc.cyber.co"}],7575:[{url:"https://testnet.adilchain-rpc.io"}],7576:[{url:"https://adilchain-rpc.io"}],7668:[{url:"https://root.rootnet.live/archive"},{url:"wss://root.rootnet.live/archive/ws"}],7672:[{url:"https://porcini.rootnet.app/archive"},{url:"wss://porcini.rootnet.app/archive/ws"}],7700:[{url:"https://canto.gravitychain.io"},{url:"https://canto.evm.chandrastation.com"},{url:"https://jsonrpc.canto.nodestake.top"},{url:"https://canto.dexvaults.com"},{url:"wss://canto.gravitychain.io:8546"},{url:"wss://canto.dexvaults.com/ws"},{url:"https://canto-rpc.ansybl.io"},{url:"https://canto.slingshot.finance"},{url:"https://mainnode.plexnode.org:8545"}],7701:[{url:"https://testnet-archive.plexnode.wtf"}],7771:[{url:"https://testnet.bit-rock.io"}],7774:[{url:"https://mainnet-rpc-1.gdccscan.io"}],7775:[{url:"https://testnet-rpc1.gdccscan.io"}],7776:[{url:"https://rpc1.pandasea.io"}],7777:[{url:"https://testnet1.rotw.games"},{url:"https://testnet2.rotw.games"},{url:"https://testnet3.rotw.games"},{url:"https://testnet4.rotw.games"},{url:"https://testnet5.rotw.games"},{url:"https://testnet1.riseofthewarbots.com"},{url:"https://testnet2.riseofthewarbots.com"},{url:"https://testnet3.riseofthewarbots.com"},{url:"https://testnet4.riseofthewarbots.com"},{url:"https://testnet5.riseofthewarbots.com"}],7778:[{url:"https://validator-mainnet.orenium.org"},{url:"https://rpc-oracle-mainnet.orenium.org"},{url:"https://portalmainnet.orenium.org"}],7798:[{url:"https://long.rpc.openex.network"}],7860:[{url:"https://node1.maalscan.io"},{url:"https://rpc-bntest.maalscan.io"}],7862:[{url:"https://node1-mainnet-new.maalscan.io"},{url:"https://node2-mainnet-new.maalscan.io"},{url:"https://node3-mainnet-new.maalscan.io"}],7863:[{url:"https://node-testnet.maalscan.io"},{url:"https://node2-testnet.maalscan.io"}],7878:[{url:"https://hatlas.rpc.hazlor.com:8545"},{url:"wss://hatlas.rpc.hazlor.com:8546"}],7887:[{url:"https://rpc.kinto.xyz/http"},{url:"https://kinto-mainnet.calderachain.xyz/http"}],7895:[{url:"https://rpc-athena.ardescan.com",tracking:"yes",trackingDetails:" (ARD) Ardenium Athena, we prioritize the protection of your privacy and the security of your data. This privacy policy summary provides an overview of how we handle and safeguard your personal information when you use our Ardenium Athena Explorer Blockchain services. However, please note that this is only a summary, and for complete details, we encourage you to review the full privacy policy available at soma, Information Collection: When you use our services, we may collect personal information, such as mobile device details, operation records, transaction records, wallet addresses, and other relevant data. For a more comprehensive understanding, please refer to our full privacy policy at https://docs.ardenium.wiki/ardenium-network/disclaimer."}],7923:[{url:"https://rpc.dotblox.io"}],7924:[{url:"https://mainnet-rpc.mochain.app"}],7979:[{url:"https://main.doschain.com"}],8e3:[{url:"https://dataseed.testnet.teleport.network"},{url:"https://evm-rpc.teleport.network"}],8001:[{url:"https://evm-rpc.testnet.teleport.network"}],8008:[{url:"https://rpc.polynomial.fi"}],8029:[{url:"https://testnet.mdgl.io"}],8047:[{url:"https://rpc0.come.boat"}],8054:[{url:"https://rpc.sepolia.karak.network"}],8080:[{url:"https://liberty10.shardeum.org"}],8081:[{url:"https://dapps.shardeum.org",tracking:"yes",trackingDetails:"Shardeum follows a standard procedure of using log files. These files log visitors when they visit websites... The information collected by log files includes IP addresses, browser type, ISP, date and time stamp, referring/exit pages, and potentially the number of clicks.https://shardeum.org/privacy-policy/"},{url:"https://liberty20.shardeum.org"}],8082:[{url:"https://sphinx.shardeum.org",tracking:"yes",trackingDetails:"Shardeum follows a standard procedure of using log files. These files log visitors when they visit websites... The information collected by log files includes IP addresses, browser type, ISP, date and time stamp, referring/exit pages, and potentially the number of clicks.https://shardeum.org/privacy-policy/"}],8086:[{url:"https://rpc.biteth.org"}],8087:[{url:"https://rpc.e-dollar.org"}],8098:[{url:"https://u0ma6t6heb:KDNwOsRDGcyM2Oeui1p431Bteb4rvcWkuPgQNHwB4FM@u0xy4x6x82-u0e2mg517m-rpc.us0-aws.kaleido.io"}],8131:[{url:"https://testnet.meerlabs.com"},{url:"https://testnet-qng.rpc.qitmeer.io"},{url:"https://meer.testnet.meerfans.club"}],8181:[{url:"https://pre-boc1.beonechain.com"}],8192:[{url:"https://rpc.toruschain.com"}],8194:[{url:"https://rpc.testnet.toruschain.com"}],8217:[{url:"https://public-en-cypress.klaytn.net"},{url:"https://klaytn-mainnet-rpc.allthatnode.com:8551",tracking:"yes",trackingDetails:"In addition to the Personal Information, the Billing Information, and the Geolocational Information..., we automatically collect certain information when you use the Platform or Website: IP addresses, browser type and language...; information about a mobile device, including universally unique ID (“UUID”), platform type and version (e.g., iOS or Android), carrier and country location, hardware and processor information, and network type; and activity and usage information occurring via the Platform or Website.https://www.allthatnode.com/privacypolicy.dsrv"},{url:"https://rpc.ankr.com/klaytn ",tracking:"limited",trackingDetails:"For service delivery purposes, we temporarily record IP addresses to set usage limits and monitor for denial of service attacks against our infrastructure. Though we do look at high-level data around the success rate of transactions made over the blockchain RPC, we do not correlate wallet transactions made over the infrastructure to the IP address making the RPC request. Thus, we do not store, exploit, or share any information regarding Personal Identifiable Information (PII), including wallet addresses. https://www.ankr.com/blog/ankrs-ip-address-policy-and-your-privacy/"},{url:"https://klaytn.blockpi.network/v1/rpc/public",tracking:"limited",trackingDetails:"We do not collect request data or request origin. We only temporarily record the request method names and IP addresses for 7 days to ensure our service functionality such as load balancing and DDoS protection. All the data is automatically deleted after 7 days and we do not store any user information for longer periods of time. https://blockpi.io/privacy-policy"},{url:"https://klaytn.api.onfinality.io/public",tracking:"limited",trackingDetails:"For the sole purpose of providing our service, we temporarily record IP addresses and origins to check against free limits, provide load balancing, prevent DOS attacks, and to determine where best to locate our nodes. We do not, and will never, correlate or link specific wallet addresses or transactions made over our infrastructure to the IP address or origin making the RPC request. After processing IP addresses, we discard the IP address value within 24 hours. Read more here: https://blog.onfinality.io/how-does-onfinality-deal-with-personal-information/"},{url:"https://1rpc.io/klay",tracking:"none",trackingDetails:"With the exception of data that will be public on chain, all the other metadata / data should remain private to users and other parties should not be able to access or collect it. 1RPC uses many different techniques to prevent the unnecessary collection of user privacy, which prevents tracking from RPC providers. https://docs.1rpc.io/technology/zero-tracking"},{url:"https://klaytn-pokt.nodies.app",tracking:"none",trackingDetails:"What We Do Not Collect: User's IP address, request origin, request data. https://www.blog.pokt.network/rpc-logging-practices/"},{url:"https://klaytn.drpc.org",tracking:"none",trackingDetails:"Specific types of technical data that we may temporarily log include:IP address (only in logs for redirecting requests to the nearest RPC nodes and rate limiting at the free level, which are cleared weekly). The user ID is hidden in the temporary logs, so it is not possible to link them to a specific user.https://drpc.org/privacy-policy"},{url:"https://public-en.node.kaia.io"}],8227:[{url:"https://subnets.avax.network/space/mainnet/rpc"}],8272:[{url:"https://rpc.blocktonscan.com"}],8285:[{url:"https://www.krotho-test.net"}],8329:[{url:"https://rpc.lorenzo-protocol.xyz"}],8333:[{url:"https://mainnet-rpc.b3.fun"}],8387:[{url:"https://api.dracones.net"}],8453:[{url:"https://base.llamarpc.com",tracking:"none",trackingDetails:"LlamaNodes is open-source and does not track or store user information that transits through our RPCs (location, IP, wallet, etc). To learn more, have a look at the public Privacy Policy in our docs: https://llamanodes.notion.site/Privacy-Practices-f20fd8fdd02a469d9d4f42a5989bb936",isOpenSource:true},{url:"https://mainnet.base.org"},{url:"https://developer-access-mainnet.base.org"},{url:"https://base-mainnet.diamondswap.org/rpc",tracking:"limited",trackingDetails:"We record limited metadata from requests. This data is stored for a maximum of 90 days and is solely used for debugging, identifying suspicious activity, and generating analytics."},{url:"https://base.blockpi.network/v1/rpc/public",tracking:"limited",trackingDetails:"We do not collect request data or request origin. We only temporarily record the request method names and IP addresses for 7 days to ensure our service functionality such as load balancing and DDoS protection. All the data is automatically deleted after 7 days and we do not store any user information for longer periods of time. https://blockpi.io/privacy-policy"},{url:"https://1rpc.io/base",tracking:"none",trackingDetails:"With the exception of data that will be public on chain, all the other metadata / data should remain private to users and other parties should not be able to access or collect it. 1RPC uses many different techniques to prevent the unnecessary collection of user privacy, which prevents tracking from RPC providers. https://docs.1rpc.io/technology/zero-tracking"},{url:"https://base-pokt.nodies.app",tracking:"none",trackingDetails:"What We Do Not Collect: User's IP address, request origin, request data. https://www.blog.pokt.network/rpc-logging-practices/"},{url:"https://base.meowrpc.com",tracking:"none",trackingDetails:"With the exclusion of data that will be openly visible and available on the blockchain, MEOWRPC does not track or store any kind of user information (such as location, IP address, etc.) that passes through our RPC. For further details regarding our privacy practices, we encourage you to refer to our Privacy Policy. https://privacy.meowrpc.com"},{url:"https://base-mainnet.public.blastapi.io",tracking:"limited",trackingDetails:"All the information in our logs (log data) can only be accessed for the last 7 days at any certain time, and it is completely purged after 14 days. We do not store any user information for longer periods of time or with any other purposes than investigating potential errors and service failures. https://blastapi.io/privacy-policy"},{url:"https://base.gateway.tenderly.co",tracking:"yes",trackingDetails:"Additionally, if you are an Account Member, we may collect business and transactional data about you (and your business) that accumulates over the normal course of operation regarding providing our Services. This may include transaction records, stored files, user profiles, information about collaborators, analytics data, and other metrics, as well as other types of information created or generated by your interaction with our Services. https://tenderly.co/privacy-policy"},{url:"https://gateway.tenderly.co/public/base",tracking:"yes",trackingDetails:"Additionally, if you are an Account Member, we may collect business and transactional data about you (and your business) that accumulates over the normal course of operation regarding providing our Services. This may include transaction records, stored files, user profiles, information about collaborators, analytics data, and other metrics, as well as other types of information created or generated by your interaction with our Services. https://tenderly.co/privacy-policy"},{url:"https://rpc.notadegen.com/base"},{url:"https://base-rpc.publicnode.com",tracking:"none",trackingDetails:"We do not store or track any user data with the exception of data that will be public on chain. We do not correlate wallets address's with IP's, any data which is needed to transact is deleted after 24 hours. We also do no use any Analytics or 3rd party website tracking. https://www.publicnode.com/privacy"},{url:"wss://base-rpc.publicnode.com",tracking:"none",trackingDetails:"We do not store or track any user data with the exception of data that will be public on chain. We do not correlate wallets address's with IP's, any data which is needed to transact is deleted after 24 hours. We also do no use any Analytics or 3rd party website tracking. https://www.publicnode.com/privacy"},{url:"https://base.drpc.org",tracking:"none",trackingDetails:"Specific types of technical data that we may temporarily log include:IP address (only in logs for redirecting requests to the nearest RPC nodes and rate limiting at the free level, which are cleared weekly). The user ID is hidden in the temporary logs, so it is not possible to link them to a specific user.https://drpc.org/privacy-policy"},{url:"https://endpoints.omniatech.io/v1/base/mainnet/public",tracking:"none",trackingDetails:"All the data and metadata remain private to the users. No third party is able to access, analyze or track it. OMNIA leverages different technologies and approaches to guarantee the privacy of their users, from front-running protection and private mempools, to obfuscation and random dispatching. https://blog.omniatech.io/how-omnia-handles-your-personal-data"},{url:"https://base.api.onfinality.io/public",tracking:"limited",trackingDetails:"For the sole purpose of providing our service, we temporarily record IP addresses and origins to check against free limits, provide load balancing, prevent DOS attacks, and to determine where best to locate our nodes. We do not, and will never, correlate or link specific wallet addresses or transactions made over our infrastructure to the IP address or origin making the RPC request. After processing IP addresses, we discard the IP address value within 24 hours. Read more here: https://blog.onfinality.io/how-does-onfinality-deal-with-personal-information/"},{url:"wss://base.gateway.tenderly.co"}],8545:[{url:"https://rpcv1-dn-1.chakrachain.io"}],8654:[{url:"https://mainnet.buildwithtoki.com/v0/rpc"}],8655:[{url:"https://testnet.buildwithtoki.com/v0/rpc"}],8668:[{url:"https://mainnet-rpc.helachain.com"}],8723:[{url:"https://mainnet-web3.wolot.io"}],8724:[{url:"https://testnet-web3.wolot.io"}],8726:[{url:"https://mainnet-validator.storagechain.io"}],8727:[{url:"https://testnet-validator.storagechain.io"}],8732:[{url:"https://rpc.bullionsx.org"}],8738:[{url:"https://rpc.alph.network"},{url:"wss://rpc.alph.network"}],8768:[{url:"https://node1.tmyblockchain.org/rpc"}],8822:[{url:"https://json-rpc.evm.iotaledger.net"},{url:"https://ws.json-rpc.evm.iotaledger.net"}],8844:[{url:"https://rpc.testnet.hydrachain.org"}],8848:[{url:"https://rpc-mainnet.ma.ro"}],8866:[{url:"https://mainnet.lumio.io"}],8869:[{url:"https://rpc.lif3.com"}],8880:[{url:"https://rpc.unique.network"},{url:"https://eu-rpc.unique.network"},{url:"https://asia-rpc.unique.network"},{url:"https://us-rpc.unique.network"}],8881:[{url:"https://rpc-quartz.unique.network"},{url:"https://quartz.api.onfinality.io/public-ws"},{url:"https://eu-rpc-quartz.unique.network"},{url:"https://asia-rpc-quartz.unique.network"},{url:"https://us-rpc-quartz.unique.network"}],8882:[{url:"https://rpc-opal.unique.network"},{url:"https://us-rpc-opal.unique.network"},{url:"https://eu-rpc-opal.unique.network"},{url:"https://asia-rpc-opal.unique.network"}],8883:[{url:"https://rpc-sapphire.unique.network"},{url:"https://us-rpc-sapphire.unique.network"},{url:"https://eu-rpc-sapphire.unique.network"},{url:"https://asia-rpc-sapphire.unique.network"}],8886:[{url:"https://eu-testnet.avenium.io"},{url:"https://connect-testnet.avenium.io"}],8888:[{url:"https://mainnet.xana.net/rpc"}],8889:[{url:"https://vsc-dataseed.vyvo.org:8889"}],8890:[{url:"https://rpc-dev-testnet.orenium.org"},{url:"https://rpc-testnet.orenium.org"},{url:"https://rpc-orc.oredex.finance"},{url:"https://testnet-rpc.oredex.finance"},{url:"https://oredex-node.oredex.finance"}],8898:[{url:"https://dataseed.mmtscan.io"},{url:"https://dataseed1.mmtscan.io"},{url:"https://dataseed2.mmtscan.io"}],8899:[{url:"https://rpc-l1.jibchain.net"},{url:"https://jib-rpc.inan.in.th"},{url:"https://rpc-l1.jbc.aomwara.in.th"},{url:"https://rpc-l1.jbc.xpool.pw"},{url:"https://rpc-l1.inan.in.th"}],8911:[{url:"https://rpc.algen.network"}],8912:[{url:"https://rpc.test.algen.network"}],8921:[{url:"https://rpc.alg2.algen.network"}],8922:[{url:"https://rpc.alg2-test.algen.network"}],8989:[{url:"https://rpc-asia.gmmtchain.io"}],8995:[{url:"https://core.bloxberg.org"}],9e3:[{url:"https://evmos-testnet-json.qubelabs.io"},{url:"https://evmos-tjson.antrixy.org"},{url:"https://evmos-testnet-rpc.kingsuper.services"},{url:"https://rpc.evmos.test.theamsolutions.info"},{url:"https://api.evmos-test.theamsolutions.info"},{url:"https://rpc.evmos.testnet.node75.org"},{url:"https://rpc-evm.testnet.evmos.dragonstake.io"},{url:"https://evmos-testnet-rpc.stake-town.com"},{url:"https://evmos-testnet-jsonrpc.stake-town.com"},{url:"https://api.evmos-test.theamsolutions.info"},{url:"https://jsonrpc-t.evmos.nodestake.top"},{url:"https://evmos-testnet-jsonrpc.autostake.com"},{url:"https://evmos-testnet-jsonrpc.alkadeta.com"},{url:"https://evm-rpc.evmost.silentvalidator.com"},{url:"https://testnet-evm-rpc-evmos.hoodrun.io"},{url:"https://alphab.ai/rpc/eth/evmos_testnet"},{url:"https://t-evmos-jsonrpc.kalia.network"},{url:"https://jsonrpc-evmos-testnet.mzonder.com"},{url:"https://evmos-testnet.lava.build/lava-referer-16223de7-12c0-49f3-8d87-e5f1e6a0eb3b"},{url:"https://evmos-testnet.lava.build"},{url:"https://eth.bd.evmos.dev:8545"},{url:"https://evmos-testnet-evm-rpc.publicnode.com"},{url:"wss://evmos-testnet-evm-rpc.publicnode.com"}],9001:[{url:"https://evmos.lava.build",tracking:"yes",trackingDetails:"We, our service providers, and our business partners may automatically log information about you, your computer or mobile device, and your interaction over time with the Service..., such as: Device data, ...your computer or mobile device's operating system type and version, manufacturer and model, browser type, screen resolution, RAM and disk size, CPU usage, device type (e.g., phone, tablet), IP address, unique identifiers (including identifiers used for advertising purposes), language settings, mobile device carrier, radio/network information (e.g., Wi-Fi, LTE, 3G), and general location information such as city, state or geographic area. https://www.lavanet.xyz/privacy-policy"},{url:"https://evmos-mainnet-jsonrpc.autostake.com",tracking:"limited",trackingDetails:"When you browse our marketing pages, we’ll track that for statistical purposes (like conversion rates and to test new designs). We also store any information you volunteer, like surveys, for as long as it makes sense.https://autostake.com/privacy-policy"},{url:"https://evmos-pokt.nodies.app",tracking:"none",trackingDetails:"What We Do Not Collect: User's IP address, request origin, request data. https://www.blog.pokt.network/rpc-logging-practices/"},{url:"https://evmos-mainnet.public.blastapi.io",tracking:"limited",trackingDetails:"All the information in our logs (log data) can only be accessed for the last 7 days at any certain time, and it is completely purged after 14 days. We do not store any user information for longer periods of time or with any other purposes than investigating potential errors and service failures. https://blastapi.io/privacy-policy"},{url:"https://evmos-evm-rpc.publicnode.com",tracking:"none",trackingDetails:"We do not store or track any user data with the exception of data that will be public on chain. We do not correlate wallets address's with IP's, any data which is needed to transact is deleted after 24 hours. We also do no use any Analytics or 3rd party website tracking. https://www.publicnode.com/privacy"},{url:"wss://evmos-evm-rpc.publicnode.com",tracking:"none",trackingDetails:"We do not store or track any user data with the exception of data that will be public on chain. We do not correlate wallets address's with IP's, any data which is needed to transact is deleted after 24 hours. We also do no use any Analytics or 3rd party website tracking. https://www.publicnode.com/privacy"},{url:"https://jsonrpc-evmos.goldenratiostaking.net"},{url:"https://evmos.api.onfinality.io/public",tracking:"limited",trackingDetails:"For the sole purpose of providing our service, we temporarily record IP addresses and origins to check against free limits, provide load balancing, prevent DOS attacks, and to determine where best to locate our nodes. We do not, and will never, correlate or link specific wallet addresses or transactions made over our infrastructure to the IP address or origin making the RPC request. After processing IP addresses, we discard the IP address value within 24 hours. Read more here: https://blog.onfinality.io/how-does-onfinality-deal-with-personal-information/"},{url:"https://evmos-jsonrpc.cyphercore.io",tracking:"yes",trackingDetails:"We collect information about you in various ways when you use our website. This includes information you provide directly to us, information we collect automatically, and information we obtain from third-party sources.https://cyphercore.io/privacy-policy/"},{url:"https://eth.bd.evmos.org:8545"},{url:"https://evmos-json-rpc.stakely.io"},{url:"https://jsonrpc-evmos-ia.cosmosia.notional.ventures"},{url:"https://json-rpc.evmos.blockhunters.org"},{url:"https://evmos-json-rpc.agoranodes.com"},{url:"https://evmos-json.antrixy.org"},{url:"https://jsonrpc.evmos.nodestake.top"},{url:"https://evmos-jsonrpc.alkadeta.com"},{url:"https://evmos-json.qubelabs.io"},{url:"https://evmos-rpc.theamsolutions.info"},{url:"https://evmos-api.theamsolutions.info"},{url:"https://evmos-jsonrpc.theamsolutions.info"},{url:"https://evm-rpc-evmos.hoodrun.io"},{url:"https://evmos-json-rpc.0base.dev"},{url:"https://json-rpc.evmos.tcnetwork.io"},{url:"https://rpc-evm.evmos.dragonstake.io"},{url:"https://evmosevm.rpc.stakin-nodes.com"},{url:"https://evmos-jsonrpc.stake-town.com"},{url:"https://json-rpc-evmos.mainnet.validatrium.club"},{url:"https://rpc-evmos.imperator.co"},{url:"https://evm-rpc.evmos.silentvalidator.com"},{url:"https://alphab.ai/rpc/eth/evmos"},{url:"https://evmos-jsonrpc.kalia.network"},{url:"https://jsonrpc-evmos.mzonder.com"},{url:"https://evmos.lava.build/lava-referer-16223de7-12c0-49f3-8d87-e5f1e6a0eb3b",tracking:"yes",trackingDetails:"We, our service providers, and our business partners may automatically log information about you, your computer or mobile device, and your interaction over time with the Service..., such as: Device data, ...your computer or mobile device's operating system type and version, manufacturer and model, browser type, screen resolution, RAM and disk size, CPU usage, device type (e.g., phone, tablet), IP address, unique identifiers (including identifiers used for advertising purposes), language settings, mobile device carrier, radio/network information (e.g., Wi-Fi, LTE, 3G), and general location information such as city, state or geographic area. https://www.lavanet.xyz/privacy-policy"},{url:"wss://evmos.lava.build/websocket"}],9007:[{url:"https://rpc-testnet-nodes.shidoscan.com"},{url:"wss://wss-testnet-nodes.shidoscan.com"}],9008:[{url:"https://rpc-nodes.shidoscan.com"},{url:"wss://wss-nodes.shidoscan.com"},{url:"https://rpc-delta-nodes.shidoscan.com"},{url:"wss://wss-delta-nodes.shidoscan.com"}],9012:[{url:"https://mainnet.berylbit.io"}],9024:[{url:"https://rpc-testnet-nodes.nexablockscan.io"}],9025:[{url:"https://rpc-nodes.nexablockscan.io"},{url:"wss://wss-nodes.nexablockscan.io"},{url:"https://rpc-nodes-delta.nexablockscan.io"}],9069:[{url:"https://rpc.nexus.mainnet.apexfusion.org"}],9070:[{url:"https://rpc.nexus.testnet.apexfusion.org"}],9100:[{url:"rpcWorking:false"},{url:"https://genesis-gn.com"},{url:"wss://genesis-gn.com"}],9223:[{url:"https://chain-rpc.codefin.pro"}],9339:[{url:"https://testnet-rpc.dogcoin.me"}],9372:[{url:"https://rpc.testnet.oasys.games"}],9393:[{url:"https://sepolia-dela.deperp.com"}],9395:[{url:"https://mainnet-rpc.evokescan.org"}],9496:[{url:"https://testnet.wvm.dev"},{url:"https://testnet-rpc.wvm.dev"}],9527:[{url:"https://robin.rangersprotocol.com/api/jsonrpc"}],9528:[{url:"https://qeasyweb3.com"}],9559:[{url:"https://testnet.neonlink.io"}],9700:[{url:"https://dev-rpc.oortech.com"}],9728:[{url:"https://testnet.bnb.boba.network"},{url:"wss://wss.testnet.bnb.boba.network"},{url:"https://replica.testnet.bnb.boba.network"},{url:"wss://replica-wss.testnet.bnb.boba.network"},{url:"https://boba-bnb-testnet.gateway.tenderly.co"},{url:"wss://boba-bnb-testnet.gateway.tenderly.co"}],9768:[{url:"https://testnet-rpc.mainnetz.io"}],9779:[{url:"https://rpc-mainnet.pepenetwork.io"}],9789:[{url:"https://rpc.testnet.tabichain.com"}],9790:[{url:"https://evm-api.carbon.network"}],9792:[{url:"https://test-evm-api.carbon.network"}],9797:[{url:"https://rpc.optimusz7.com"}],9818:[{url:"https://data-aws-testnet.imperiumchain.com"},{url:"https://data-aws2-testnet.imperiumchain.com"}],9819:[{url:"https://data-aws-mainnet.imperiumchain.com"},{url:"https://data-aws2-mainnet.imperiumchain.com"}],9876:[{url:"https://rpctestnet.binarychain.org"}],9888:[{url:"https://dl-rpc.dogelayer.org"}],9898:[{url:"https://rpc.larissa.network"}],9911:[{url:"https://rpc.escscan.com"}],9977:[{url:"https://testnet-msc.mindchain.info"},{url:"wss://testnet-msc.mindchain.info/ws"}],9980:[{url:"https://rpc.combonetwork.io"}],9981:[{url:"https://main-rpc.volleychain.com"}],9990:[{url:"https://rpcpc1-qa.agung.peaq.network"}],9996:[{url:"https://rpc-msc.mindchain.info"},{url:"https://seednode.mindchain.info"},{url:"https://archive.mindchain.info"},{url:"https://mind-smart-chain.rpc.thirdweb.com"},{url:"wss://archive.mindchain.info/ws"},{url:"wss://seednode.mindchain.info/ws"}],9997:[{url:"https://testnet-rollup-api.altlayer.io"}],9998:[{url:"https://zitcoin.us"}],9999:[{url:"https://geth.dev.bccloud.net"}],1e4:[{url:"https://smartbch.fountainhead.cash/mainnet"},{url:"https://global.uat.cash"},{url:"https://rpc.uatvo.com"},{url:"https://smartbch.greyh.at"},{url:"https://rpc-mainnet.smartbch.org"},{url:"https://smartbch.devops.cash/mainnet"}],10001:[{url:"https://rpc-testnet.smartbch.org"},{url:"https://smartbch.devops.cash/testnet"}],10024:[{url:"https://node1.testnet.gaiaopen.network"},{url:"https://node1.mainnet.gon.network"},{url:"https://node2.mainnet.gon.network"},{url:"https://node3.mainnet.gon.network"},{url:"https://node4.mainnet.gon.network"}],10081:[{url:"https://rpc-1.testnet.japanopenchain.org:8545"},{url:"https://rpc-2.testnet.japanopenchain.org:8545"},{url:"https://rpc-3.testnet.japanopenchain.org"}],10086:[{url:"http://geth.free.idcfengye.com"}],10096:[{url:"https://web3.metanovaverse.com"}],10101:[{url:"https://eu.mainnet.xixoio.com"},{url:"https://us.mainnet.xixoio.com"},{url:"https://asia.mainnet.xixoio.com"}],10200:[{url:"https://rpc.chiadochain.net"},{url:"https://rpc.chiado.gnosis.gateway.fm",tracking:"yes",trackingDetails:"When you use our services or visit our websites, we may log your device’s IP address for debugging and security reasons. We may retain this information for up to twelve months"},{url:" https://endpoints.omniatech.io/v1/gnosis/chiado/public",tracking:"none",trackingDetails:"All the data and metadata remain private to the users. No third party is able to access, analyze or track it. OMNIA leverages different technologies and approaches to guarantee the privacy of their users, from front-running protection and private mempools, to obfuscation and random dispatching. https://blog.omniatech.io/how-omnia-handles-your-personal-data"},{url:"https://gnosis-chiado-rpc.publicnode.com",tracking:"none",trackingDetails:"We do not store or track any user data with the exception of data that will be public on chain. We do not correlate wallets address's with IP's, any data which is needed to transact is deleted after 24 hours. We also do no use any Analytics or 3rd party website tracking. https://www.publicnode.com/privacy"},{url:"wss://gnosis-chiado-rpc.publicnode.com",tracking:"none",trackingDetails:"We do not store or track any user data with the exception of data that will be public on chain. We do not correlate wallets address's with IP's, any data which is needed to transact is deleted after 24 hours. We also do no use any Analytics or 3rd party website tracking. https://www.publicnode.com/privacy"},{url:"https://1rpc.io/gnosis",tracking:"none",trackingDetails:"With the exception of data that will be public on chain, all the other metadata / data should remain private to users and other parties should not be able to access or collect it. 1RPC uses many different techniques to prevent the unnecessary collection of user privacy, which prevents tracking from RPC providers. https://docs.1rpc.io/technology/zero-tracking"},{url:"wss://rpc.chiadochain.net/wss"},{url:"https://gnosis-chiado.drpc.org"},{url:"wss://gnosis-chiado.drpc.org"}],10201:[{url:"https://rpc.maxxchain.org"},{url:"https://rpc1.maxxchain.org"},{url:"https://rpc2.maxxchain.org"}],10222:[{url:"https://glc-dataseed.glscan.io"}],10242:[{url:"https://rpc.arthera.net"}],10243:[{url:"https://rpc-test.arthera.net"}],10248:[{url:"https://node.0xtchain.com"}],10321:[{url:"https://rpc.taoevm.io"}],10324:[{url:"https://testnet-rpc.taoevm.io"}],10395:[{url:"https://gwangju.worldland.foundation"}],10507:[{url:"https://mainnetrpc.num.network"}],10508:[{url:"https://testnetrpc.num.network"}],10823:[{url:"http://node106.cryptocoinpay.info:8545"},{url:"ws://node106.cryptocoinpay.info:8546"}],10849:[{url:"https://subnets.avax.network/lamina1/mainnet/rpc"}],10850:[{url:"https://subnets.avax.network/lamina1id/mainnet/rpc"}],10946:[{url:"https://rpc.quadrans.io"},{url:"https://rpcna.quadrans.io"},{url:"https://rpceu.quadrans.io"}],10947:[{url:"https://rpctest.quadrans.io"},{url:"https://rpctest2.quadrans.io"}],11011:[{url:"https://sepolia.shape.network"}],11110:[{url:"https://rpc.astranaut.io"},{url:"https://rpc1.astranaut.io"}],11111:[{url:"https://api.trywagmi.xyz/rpc"},{url:"https://subnets.avax.network/wagmi/wagmi-chain-testnet/rpc"}],11115:[{url:"https://rpc.astranaut.dev"}],11119:[{url:"https://mainnet-rpc.hashbit.org"},{url:"https://rpc.hashbit.org"}],11124:[{url:"https://api.testnet.abs.xyz"}],11221:[{url:"https://rpc.shinescan.io"}],11227:[{url:"https://subnets.avax.network/jiritsutes/testnet/rpc"}],11235:[{url:"https://haqq-evm-rpc.publicnode.com",tracking:"none",trackingDetails:"We do not store or track any user data with the exception of data that will be public on chain. We do not correlate wallets address's with IP's, any data which is needed to transact is deleted after 24 hours. We also do no use any Analytics or 3rd party website tracking. https://www.publicnode.com/privacy"},{url:"wss://haqq-evm-rpc.publicnode.com",tracking:"none",trackingDetails:"We do not store or track any user data with the exception of data that will be public on chain. We do not correlate wallets address's with IP's, any data which is needed to transact is deleted after 24 hours. We also do no use any Analytics or 3rd party website tracking. https://www.publicnode.com/privacy"},{url:"https://rpc.eth.haqq.network"},{url:"https://haqq.drpc.org"},{url:"wss://haqq.drpc.org"}],11501:[{url:"https://rpc-mainnet-1.bevm.io"},{url:"https://rpc-mainnet-2.bevm.io"}],11503:[{url:"https://testnet.bevm.io"}],11521:[{url:"https://rpc-satschain-1.bevm.io"}],11612:[{url:"https://testnet-rpc.sardisnetwork.com"}],11822:[{url:"https://betanet-rpc1.artela.network"}],11891:[{url:"https://rpc.polygonsupernet.public.arianee.net"}],12001:[{url:"https://rpc.flash.fuse.io"}],12009:[{url:"https://mainnet-rpc.satoshichain.io"}],12020:[{url:"https://rpc.aternoschain.com"}],12051:[{url:"https://betaenv.singularity.gold:18545"}],12052:[{url:"https://zerorpc.singularity.gold"}],12123:[{url:"https://rpc.brcchain.io"}],12306:[{url:"https://node1.fibo-api.asia"},{url:"https://node2.fibo-api.asia"},{url:"https://node3.fibo-api.asia"},{url:"https://node4.fibo-api.asia"},{url:"https://node5.fibo-api.asia"},{url:"https://node6.fibo-api.asia"},{url:"https://node7.fibo-api.asia"},{url:"https://node1.fibo-rpc.asia"},{url:"https://node2.fibo-rpc.asia"},{url:"https://node3.fibo-rpc.asia"},{url:"https://node4.fibo-rpc.asia"},{url:"https://node5.fibo-rpc.asia"},{url:"https://node6.fibo-rpc.asia"},{url:"https://node7.fibo-rpc.asia"}],12321:[{url:"https://rpc.blgchain.com"}],12324:[{url:"https://rpc-mainnet.l3x.com"}],12325:[{url:"https://rpc-testnet.l3x.com"}],12345:[{url:"https://rpc.testnet.step.network"}],12553:[{url:"https://rpc.rss3.io"}],12715:[{url:"https://testnet-rpc.rikscan.com"}],12781:[{url:"https://subnets.avax.network/playdappte/testnet/rpc"}],12890:[{url:"https://testnet-rpc.quantumscan.org"}],12898:[{url:"https://rpc.letsplayfair.ai/ext/bc/2hhXFNp1jR4RuqvCmWQnBtt9CZnCmmyGr7TNTkxt7XY7pAzHMY/rpc"}],13e3:[{url:"https://rpc.ssquad.games"}],13308:[{url:"https://rpc.creditsmartchain.com"}],13337:[{url:"https://build.onbeam.com/rpc/testnet"},{url:"wss://build.onbeam.com/ws/testnet"},{url:"https://subnets.avax.network/beam/testnet/rpc"},{url:"wss://subnets.avax.network/beam/testnet/ws"}],13371:[{url:"https://rpc.immutable.com"},{url:"https://immutable-zkevm.drpc.org"},{url:"wss://immutable-zkevm.drpc.org"}],13381:[{url:"https://rpc.phoenixplorer.com"}],13396:[{url:"https://subnets.avax.network/masanetwork/mainnet/rpc"}],13473:[{url:"https://rpc.testnet.immutable.com"},{url:"https://immutable-zkevm-testnet.drpc.org"},{url:"wss://immutable-zkevm-testnet.drpc.org"}],13505:[{url:"https://rpc-sepolia.gravity.xyz"}],13600:[{url:"https://mainnet-rpc.qbitscan.com"}],13812:[{url:"https://gateway.opn.network/node/ext/bc/2VsZe5DstWw2bfgdx3YbjKcMsJnNDjni95sZorBEdk9L9Qr9Fr/rpc"}],14e3:[{url:"https://www.3sps.net"}],14324:[{url:"https://testnet-rpc.evolveblockchain.io"}],14333:[{url:"https://test-rpc.vitruveo.xyz"}],14801:[{url:"http://rpc.satori.vana.org"}],14853:[{url:"https://explorer-rpc-http.testnet5.stages.humanode.io"}],15003:[{url:"https://rpc.dev.immutable.com"}],15257:[{url:"https://testnet-rpc.poodl.org"}],15259:[{url:"https://rpc.poodl.org"}],15430:[{url:"https://mainnet-rpc.kymaticscan.online"}],15551:[{url:"https://api.mainnetloop.com",tracking:"limited",trackingDetails:"Loop Network follows a standard procedure of using log files. These files log visitors when they visit websites. All hosting companies do this and a part of hosting services' analytics. The information collected by log files include internet protocol (IP) addresses, browser type, Internet Service Provider (ISP), date and time stamp, referring/exit pages, and possibly the number of clicks. https://www.getloop.network/privacypolicy"}],15555:[{url:"https://api.testnet-dev.trust.one"}],15557:[{url:"https://api.testnet.evm.eosnetwork.com",tracking:"yes",trackingDetails:"We collect information about your device and internet connection, including the device’s unique device identifier, IP address, operating system, and browser type, mobile network information"}],16e3:[{url:"https://mainnet.metadot.network"}],16001:[{url:"https://testnet.metadot.network"}],16116:[{url:"https://rpc.defi-verse.org"}],16166:[{url:"https://pubnodes.cypherium.io/rpc"}],16180:[{url:"https://subnets.avax.network/plyr/mainnet/rpc"}],16350:[{url:"https://rpc.ankr.com/incentiv_devnet"}],16481:[{url:"https://sepolia.pivotalprotocol.com"}],16507:[{url:"https://rpc.genesys.network"}],16600:[{url:"https://rpc-testnet.0g.ai"}],16688:[{url:"https://evmrpc.nyancat.irisnet.org"}],16718:[{url:"https://network.ambrosus.io"}],16888:[{url:"https://testnet-rpc.ivarex.com"}],17e3:[{url:"https://ethereum-holesky-rpc.publicnode.com",tracking:"none",trackingDetails:"We do not store or track any user data with the exception of data that will be public on chain. We do not correlate wallets address's with IP's, any data which is needed to transact is deleted after 24 hours. We also do no use any Analytics or 3rd party website tracking. https://www.publicnode.com/privacy"},{url:"wss://etherem-holesky-rpc.publicnode.com",tracking:"none",trackingDetails:"We do not store or track any user data with the exception of data that will be public on chain. We do not correlate wallets address's with IP's, any data which is needed to transact is deleted after 24 hours. We also do no use any Analytics or 3rd party website tracking. https://www.publicnode.com/privacy"},{url:"https://1rpc.io/holesky",tracking:"none",trackingDetails:"With the exception of data that will be public on chain, all the other metadata / data should remain private to users and other parties should not be able to access or collect it. 1RPC uses many different techniques to prevent the unnecessary collection of user privacy, which prevents tracking from RPC providers. https://docs.1rpc.io/technology/zero-tracking"},{url:"https://ethereum-holesky.blockpi.network/v1/rpc/public",tracking:"limited",trackingDetails:"We do not collect request data or request origin. We only temporarily record the request method names and IP addresses for 7 days to ensure our service functionality such as load balancing and DDoS protection. All the data is automatically deleted after 7 days and we do not store any user information for longer periods of time. https://blockpi.io/privacy-policy"},{url:"https://holesky-rpc.nocturnode.tech",tracking:"none",trackingDetails:"As a fundamental practice, we do not collect, store, or process any personal information from our users. This non-collection policy ensures absolute data security and privacy for our users.https://nocturnode.tech/privacy"},{url:"https://rpc.holesky.ethpandaops.io"},{url:"wss://ethereum-holesky-rpc.publicnode.com"},{url:"https://holesky.drpc.org"},{url:"wss://holesky.drpc.org"},{url:"https://rpc-holesky.rockx.com"}],17069:[{url:"https://rpc.garnetchain.com"},{url:"wss://rpc.garnetchain.com"}],17071:[{url:"https://rpc.onchainpoints.xyz"},{url:"https://rpc-onchain-points-8n0qkkpr2j.t.conduit.xyz/{CONDUIT_API_KEY}"}],17117:[{url:"https://rpc-testnet.defi-verse.org"}],17171:[{url:"https://mainnet-rpc.oneg8.network"}],17172:[{url:"https://subnets.avax.network/eclipse/testnet/rpc"}],17180:[{url:"https://palette-opennet.com:22000"}],17217:[{url:"https://api.kon-wallet.com"}],17777:[{url:"https://api.evm.eosnetwork.com",tracking:"yes",trackingDetails:"We collect information about your device and internet connection, including the device’s unique device identifier, IP address, operating system, and browser type, mobile network information"}],18e3:[{url:"https://rpc.fod.games"}],18122:[{url:"https://beefledgerwallet.com:8544"}],18159:[{url:"https://mainnet-rpc.memescan.io"},{url:"https://mainnet-rpc2.memescan.io"},{url:"https://mainnet-rpc3.memescan.io"},{url:"https://mainnet-rpc4.memescan.io"}],18181:[{url:"https://testnet-rpc.oneg8.network"}],18233:[{url:"https://rpc.unreal-orbit.gelato.digital"},{url:"wss://ws.unreal-orbit.gelato.digital"}],18686:[{url:"https://rpc.mxc.com"}],18888:[{url:"https://titan-json-rpc.titanlab.io"},{url:"https://titan-json-rpc-tokyo.titanlab.io"},{url:"https://titan-json-rpc-seoul.titanlab.io"},{url:"https://titan-json-rpc-hongkong.titanlab.io"}],18889:[{url:"https://titan-testnet-json-rpc.titanlab.io"},{url:"https://titan-testnet-json-rpc-1.titanlab.io"},{url:"https://titan-testnet-json-rpc-2.titanlab.io"}],19011:[{url:"https://rpc.mainnet.oasys.homeverse.games"}],19077:[{url:"https://atlantis-web3.blockxnet.com"}],19191:[{url:"https://web3.blockxnet.com"}],19224:[{url:"https://rpc.decentraconnect.io"}],19527:[{url:"https://magnet-rpc.magport.io"}],19600:[{url:"https://lbry.nl/rpc"}],19845:[{url:"https://seed.btcix.org/rpc"}],20001:[{url:"https://mainnet-http-rpc.camelark.com"}],20041:[{url:"https://nizascan.io/rpc"}],20073:[{url:"https://testnet.nizascan.io/rpc"}],20729:[{url:"https://testnet-rpc.callisto.network"}],20736:[{url:"https://rpc-chain.p12.games"}],20765:[{url:"https://subnets.avax.network/jono11/testnet/rpc"}],21004:[{url:"https://rpc.c4ei.net"}],21133:[{url:"https://rpc.c4ex.net"}],21223:[{url:"https://rpc.dcpay.io"}],21224:[{url:"https://testnet-rpc.dcpay.io"}],21337:[{url:"https://cennznet.unfrastructure.io/public"}],21363:[{url:"https://service.lestnet.org"}],21816:[{url:"https://seed.omlira.com"},{url:"https://seed.omchain.io"}],21912:[{url:"http://rpc-mainnet.nftruth.io:8545"},{url:"ws://rpc-mainnet.nftruth.io:8645"}],22023:[{url:"https://taycan-rpc.hupayx.io:8545"}],22040:[{url:"https://network.ambrosus-test.io"}],22222:[{url:"https://api.nautilus.nautchain.xyz"}],22324:[{url:"https://testnet-rpc.goldxchain.io"}],22776:[{url:"https://rpc.maplabs.io"}],23006:[{url:"https://testnet-rpc.antofy.io"}],23118:[{url:"https://testrpc.opside.network"}],23294:[{url:"https://1rpc.io/oasis/sapphire",tracking:"none",trackingDetails:"With the exception of data that will be public on chain, all the other metadata / data should remain private to users and other parties should not be able to access or collect it. 1RPC uses many different techniques to prevent the unnecessary collection of user privacy, which prevents tracking from RPC providers. https://docs.1rpc.io/technology/zero-tracking"},{url:"https://sapphire.oasis.io"},{url:"wss://sapphire.oasis.io/ws"}],23295:[{url:"https://testnet.sapphire.oasis.io"},{url:"wss://testnet.sapphire.oasis.io/ws"}],23451:[{url:"https://rpc.dreyerx.com"}],23452:[{url:"https://testnet-rpc.dreyerx.com"}],23888:[{url:"http://testnet-rpc.blastblockchain.com"}],24076:[{url:"https://testnet-rpc.kymaticscan.online"}],24734:[{url:"https://node1.mintme.com"}],25186:[{url:"https://mainnet.liquidlayer.network"}],25839:[{url:"https://testnet-rpc.alvey.io"}],25888:[{url:"https://www.hammerchain.io/rpc"}],25925:[{url:"https://rpc-testnet.bitkubchain.io"},{url:"wss://wss-testnet.bitkubchain.io"}],26026:[{url:"http://testnet.dev.svcs.ferrumnetwork.io:9933"}],26482:[{url:"https://ducx-testnet-node1.rocknblock.io"},{url:"https://ducx-testnet-node2.rocknblock.io"}],26483:[{url:"https://ducx-mainnet-node1.rocknblock.io"},{url:"https://ducx-mainnet-node2.rocknblock.io"},{url:"https://ducx-mainnet-node3.rocknblock.io"}],26600:[{url:"https://mainnet-rpc.hertzscan.com"}],26863:[{url:"https://rpc1.oasischain.io"},{url:"https://rpc2.oasischain.io"},{url:"https://rpc3.oasischain.io"}],27181:[{url:"https://rpc.klaosnova.laosfoundation.io"},{url:"wss://rpc.klaosnova.laosfoundation.io"}],27483:[{url:"https://sepolia-rpc.nanon.network"}],27827:[{url:"https://subnets.avax.network/zeroonemai/mainnet/rpc"}],28516:[{url:"https://rpc-sepolia.vizing.com"}],28518:[{url:"https://rpc.vizing.com"}],28528:[{url:"https://alpha-1-replica-0.bedrock-goerli.optimism.io"},{url:"https://alpha-1-replica-1.bedrock-goerli.optimism.io"},{url:"https://alpha-1-replica-2.bedrock-goerli.optimism.io"},{url:"https://alpha-1-replica-2.bedrock-goerli.optimism.io"}],28882:[{url:"https://sepolia.boba.network"},{url:"https://boba-sepolia.gateway.tenderly.co"},{url:"https://gateway.tenderly.co/public/boba-sepolia"},{url:"wss://boba-sepolia.gateway.tenderly.co"},{url:"wss://gateway.tenderly.co/public/boba-sepolia"}],29112:[{url:"https://testnet-rpc.hychain.com/http"}],29223:[{url:"https://nexa.sh/metanet"}],29536:[{url:"https://testnet-rpc.kaichain.net"}],29548:[{url:"https://rpc.oasys.mycryptoheroes.net"}],30067:[{url:"https://testnet-rpc0.piecenetwork.com"}],30088:[{url:"https://blockchain.miyou.io"},{url:"https://blockchain.miyoulab.com"}],30103:[{url:"https://cerium-rpc.canxium.net"}],30732:[{url:"https://mevm.testnet.imola.movementlabs.xyz"}],31102:[{url:"rpcWorking:false"},{url:"https://api.esn.gonspool.com"}],31223:[{url:"https://mainnet-rpc.cloudtx.finance"}],31224:[{url:"https://testnet-rpc.cloudtx.finance"}],31337:[{url:"https://testnet-rpc.gochain.io"}],31414:[{url:"https://testnet-rpc.evokescan.org"}],31753:[{url:"https://rpc.xchainscan.com"}],31754:[{url:"https://rpc.xchaintest.net"}],32001:[{url:"https://rpc-holesky.w3gamez.network"}],32382:[{url:"https://node.sanr.app"}],32520:[{url:"https://rpc.icecreamswap.com"},{url:"https://nodes.vefinetwork.org/bitgert"},{url:"https://flux-rpc.brisescan.com"},{url:"https://flux-rpc1.brisescan.com"},{url:"https://flux-rpc2.brisescan.com"},{url:"https://rpc-1.chainrpc.com"},{url:"https://rpc-2.chainrpc.com"},{url:"https://node1.serverrpc.com"},{url:"https://node2.serverrpc.com"},{url:"https://mainnet-rpc.brisescan.com"},{url:"https://chainrpc.com"},{url:"https://serverrpc.com"}],32659:[{url:"https://mainnet.fusionnetwork.io"},{url:"wss://mainnet.fusionnetwork.io"}],32769:[{url:"https://api.zilliqa.com"}],32990:[{url:"https://zilliqa-isolated-server.zilliqa.com"}],33033:[{url:"https://json-rpc.entangle.fi"}],33101:[{url:"https://dev-api.zilliqa.com"}],33103:[{url:"https://api.zq2-prototestnet.zilliqa.com"}],33111:[{url:"https://rpc.curtis.apechain.com"}],33133:[{url:"https://evm-testnet.entangle.fi"}],33210:[{url:"https://subnets.avax.network/cloudverse/mainnet/rpc"}],33333:[{url:"https://rpc.avescoin.io"}],33385:[{url:"https://api.devnet.zilliqa.com"}],33401:[{url:"https://rpc.slingshotdao.com"}],33469:[{url:"https://api.zq2-devnet.zilliqa.com"}],33979:[{url:"https://rpc-mainnet.funkichain.com"},{url:"wss://rpc-mainnet.funkichain.com"}],34443:[{url:"https://1rpc.io/mode",tracking:"none",trackingDetails:"With the exception of data that will be public on chain, all the other metadata / data should remain private to users and other parties should not be able to access or collect it. 1RPC uses many different techniques to prevent the unnecessary collection of user privacy, which prevents tracking from RPC providers. https://docs.1rpc.io/technology/zero-tracking"},{url:"https://mainnet.mode.network"},{url:"https://mode.drpc.org"},{url:"wss://mode.drpc.org"}],34504:[{url:"https://mainnet-rpc.zeuschainscan.io"}],35011:[{url:"https://rpc.j2o.io",tracking:"limited",trackingDetails:"We do not collect request data or request origin. We only temporarily record the request method names and IP addresses for 7 days to ensure our service functionality such as load balancing and DDoS protection. All the data is automatically deleted after 7 days and we do not store any user information for longer periods of time. https://blockpi.io/privacy-policy"}],35441:[{url:"https://rpc.q.org",tracking:"limited",trackingDetails:"Our system records data and information about the computer used by the user automatically and with every visit on our website. The following data are collected: Information regarding the type and version of internet browser used to access the website, Operating system, IP address, Date and time of each access, Web page from which the user was redirected to our page, Web pages and resources that were visited, The data mentioned above are saved for a maximum time period of 30 days.https://q.org/privacy-policy"}],35443:[{url:"https://rpc.qtestnet.org"}],38400:[{url:"https://cm.rangersprotocol.com/api/jsonrpc"}],38401:[{url:"https://robin-cm.rangersprotocol.com/api/jsonrpc"}],39656:[{url:"https://mainnet-rpc.prmscan.org"}],39797:[{url:"https://nodeapi.energi.network"},{url:"https://explorer.energi.network/api/eth-rpc"}],39815:[{url:"https://mainnet.oho.ai"},{url:"https://mainnet-rpc.ohoscan.com"},{url:"https://mainnet-rpc2.ohoscan.com"}],41455:[{url:"https://rpc.alephzero.raas.gelato.cloud"},{url:"wss://ws.alephzero.raas.gelato.cloud"}],41500:[{url:"https://connect.opulent-x.com"}],42069:[{url:"rpcWorking:false"}],42072:[{url:"https://testnet-rpc.agentlayer.xyz"}],42161:[{url:"https://arbitrum.llamarpc.com",tracking:"none",trackingDetails:"LlamaNodes is open-source and does not track or store user information that transits through our RPCs (location, IP, wallet, etc). To learn more, have a look at the public Privacy Policy in our docs: https://llamanodes.notion.site/Privacy-Practices-f20fd8fdd02a469d9d4f42a5989bb936",isOpenSource:true},{url:"https://arb1.arbitrum.io/rpc"},{url:"https://rpc.ankr.com/arbitrum",tracking:"limited",trackingDetails:"For service delivery purposes, we temporarily record IP addresses to set usage limits and monitor for denial of service attacks against our infrastructure. Though we do look at high-level data around the success rate of transactions made over the blockchain RPC, we do not correlate wallet transactions made over the infrastructure to the IP address making the RPC request. Thus, we do not store, exploit, or share any information regarding Personal Identifiable Information (PII), including wallet addresses. https://www.ankr.com/blog/ankrs-ip-address-policy-and-your-privacy/"},{url:"https://1rpc.io/arb",tracking:"none",trackingDetails:"With the exception of data that will be public on chain, all the other metadata / data should remain private to users and other parties should not be able to access or collect it. 1RPC uses many different techniques to prevent the unnecessary collection of user privacy, which prevents tracking from RPC providers. https://docs.1rpc.io/technology/zero-tracking"},{url:"https://arb-pokt.nodies.app",tracking:"none",trackingDetails:"What We Do Not Collect: User's IP address, request origin, request data. https://www.blog.pokt.network/rpc-logging-practices/"},{url:"https://arb-mainnet.g.alchemy.com/v2/demo",tracking:"yes",trackingDetails:"We may collect certain information automatically when you use our Services, such as your Internet protocol (IP) address, user settings, MAC address, cookie identifiers, mobile carrier, mobile advertising and other unique identifiers, browser or device information, location information (including approximate location derived from IP address), and Internet service provider. https://www.alchemy.com/policies/privacy-policy"},{url:"https://arbitrum.blockpi.network/v1/rpc/public",tracking:"limited",trackingDetails:"We do not collect request data or request origin. We only temporarily record the request method names and IP addresses for 7 days to ensure our service functionality such as load balancing and DDoS protection. All the data is automatically deleted after 7 days and we do not store any user information for longer periods of time. https://blockpi.io/privacy-policy"},{url:"https://arbitrum-one.public.blastapi.io",tracking:"limited",trackingDetails:"All the information in our logs (log data) can only be accessed for the last 7 days at any certain time, and it is completely purged after 14 days. We do not store any user information for longer periods of time or with any other purposes than investigating potential errors and service failures. https://blastapi.io/privacy-policy"},{url:"https://endpoints.omniatech.io/v1/arbitrum/one/public",tracking:"none",trackingDetails:"All the data and metadata remain private to the users. No third party is able to access, analyze or track it. OMNIA leverages different technologies and approaches to guarantee the privacy of their users, from front-running protection and private mempools, to obfuscation and random dispatching. https://blog.omniatech.io/how-omnia-handles-your-personal-data"},{url:"https://arb-mainnet-public.unifra.io",tracking:"limited",trackingDetails:"Regarding the RPC(remote procedure call) data, we do not collect request data or request origin. We temporarily record the request method names and IP addresses for 7 days to ensure our service functionality such as load balancing and DDoS protection. All the data is automatically deleted after 7 days. Only the amounts of RPC requests of users are recorded for accounting and billing purposes within longer time. https://unifra.io/"},{url:"https://rpc.arb1.arbitrum.gateway.fm",tracking:"yes",trackingDetails:"When you use our services or visit our websites, we may log your device’s IP address for debugging and security reasons. We may retain this information for up to twelve months"},{url:"https://arbitrum-one-rpc.publicnode.com",tracking:"none",trackingDetails:"We do not store or track any user data with the exception of data that will be public on chain. We do not correlate wallets address's with IP's, any data which is needed to transact is deleted after 24 hours. We also do no use any Analytics or 3rd party website tracking. https://www.publicnode.com/privacy"},{url:"wss://arbitrum-one-rpc.publicnode.com",tracking:"none",trackingDetails:"We do not store or track any user data with the exception of data that will be public on chain. We do not correlate wallets address's with IP's, any data which is needed to transact is deleted after 24 hours. We also do no use any Analytics or 3rd party website tracking. https://www.publicnode.com/privacy"},{url:"https://arbitrum.meowrpc.com",tracking:"none",trackingDetails:"With the exclusion of data that will be openly visible and available on the blockchain, MEOWRPC does not track or store any kind of user information (such as location, IP address, etc.) that passes through our RPC. For further details regarding our privacy practices, we encourage you to refer to our Privacy Policy. https://privacy.meowrpc.com"},{url:"https://api.zan.top/node/v1/arb/one/public",tracking:"limited",trackingDetails:"ZAN Node Service generally does not store any kind of user information (e.g. IP address, location, requst location, request data, etc.) that transits through our RPCs except for one senario ——we may track your IP address when you are using our RPCs and will delete it immediately when you stoping using our RPCs. To learn more, please review our privacy policy at https://a.zan.top/static/Privacy-Policy.pdf"},{url:"https://arbitrum.drpc.org",tracking:"none",trackingDetails:"Specific types of technical data that we may temporarily log include:IP address (only in logs for redirecting requests to the nearest RPC nodes and rate limiting at the free level, which are cleared weekly). The user ID is hidden in the temporary logs, so it is not possible to link them to a specific user.https://drpc.org/privacy-policy"},{url:"https://rpc.tornadoeth.cash/arbitrum",tracking:"none",trackingDetails:"TornadoRPC prioritizes user privacy and data security. We do not track or store any user information that passes through our RPC, except for data that is clearly visible on the blockchain. For detailed information about our privacy practices, see our Privacy Policy: https://rpc.tornadoeth.cash/privacy"},{url:"https://arb-mainnet.g.alchemy.com/v2/${ALCHEMY_API_KEY}"},{url:"https://arbitrum-one.publicnode.com"},{url:"wss://arbitrum-one.publicnode.com"}],42170:[{url:"https://nova.arbitrum.io/rpc"},{url:"https://arbitrum-nova.public.blastapi.io",tracking:"limited",trackingDetails:"All the information in our logs (log data) can only be accessed for the last 7 days at any certain time, and it is completely purged after 14 days. We do not store any user information for longer periods of time or with any other purposes than investigating potential errors and service failures. https://blastapi.io/privacy-policy"},{url:"https://arbitrum-nova.blockpi.network/v1/rpc/public",tracking:"limited",trackingDetails:"We do not collect request data or request origin. We only temporarily record the request method names and IP addresses for 7 days to ensure our service functionality such as load balancing and DDoS protection. All the data is automatically deleted after 7 days and we do not store any user information for longer periods of time. https://blockpi.io/privacy-policy"},{url:"https://arbitrum-nova-rpc.publicnode.com",tracking:"none",trackingDetails:"We do not store or track any user data with the exception of data that will be public on chain. We do not correlate wallets address's with IP's, any data which is needed to transact is deleted after 24 hours. We also do no use any Analytics or 3rd party website tracking. https://www.publicnode.com/privacy"},{url:"wss://arbitrum-nova-rpc.publicnode.com",tracking:"none",trackingDetails:"We do not store or track any user data with the exception of data that will be public on chain. We do not correlate wallets address's with IP's, any data which is needed to transact is deleted after 24 hours. We also do no use any Analytics or 3rd party website tracking. https://www.publicnode.com/privacy"},{url:"https://arbitrum-nova.drpc.org",tracking:"none",trackingDetails:"Specific types of technical data that we may temporarily log include:IP address (only in logs for redirecting requests to the nearest RPC nodes and rate limiting at the free level, which are cleared weekly). The user ID is hidden in the temporary logs, so it is not possible to link them to a specific user.https://drpc.org/privacy-policy"},{url:"https://arbitrum-nova.publicnode.com"},{url:"wss://arbitrum-nova.publicnode.com"}],42220:[{url:"https://forno.celo.org"},{url:"https://rpc.ankr.com/celo",tracking:"limited",trackingDetails:"For service delivery purposes, we temporarily record IP addresses to set usage limits and monitor for denial of service attacks against our infrastructure. Though we do look at high-level data around the success rate of transactions made over the blockchain RPC, we do not correlate wallet transactions made over the infrastructure to the IP address making the RPC request. Thus, we do not store, exploit, or share any information regarding Personal Identifiable Information (PII), including wallet addresses. https://www.ankr.com/blog/ankrs-ip-address-policy-and-your-privacy/"},{url:"https://1rpc.io/celo",tracking:"none",trackingDetails:"With the exception of data that will be public on chain, all the other metadata / data should remain private to users and other parties should not be able to access or collect it. 1RPC uses many different techniques to prevent the unnecessary collection of user privacy, which prevents tracking from RPC providers. https://docs.1rpc.io/technology/zero-tracking"},{url:"https://celo.api.onfinality.io/public",tracking:"limited",trackingDetails:"For the sole purpose of providing our service, we temporarily record IP addresses and origins to check against free limits, provide load balancing, prevent DOS attacks, and to determine where best to locate our nodes. We do not, and will never, correlate or link specific wallet addresses or transactions made over our infrastructure to the IP address or origin making the RPC request. After processing IP addresses, we discard the IP address value within 24 hours. Read more here: https://blog.onfinality.io/how-does-onfinality-deal-with-personal-information/"},{url:"wss://forno.celo.org/ws"}],42261:[{url:"https://testnet.emerald.oasis.io"},{url:"wss://testnet.emerald.oasis.io/ws"}],42262:[{url:"https://emerald.oasis.dev"},{url:"https://1rpc.io/oasis/emerald",tracking:"none",trackingDetails:"With the exception of data that will be public on chain, all the other metadata / data should remain private to users and other parties should not be able to access or collect it. 1RPC uses many different techniques to prevent the unnecessary collection of user privacy, which prevents tracking from RPC providers. https://docs.1rpc.io/technology/zero-tracking"},{url:"https://emerald.oasis.io"},{url:"wss://emerald.oasis.io/ws"}],42355:[{url:"https://mainnet-rpc.goldxchain.io"}],42421:[{url:"https://enugu-rpc.assetchain.org"}],42766:[{url:"https://rpc.zkfair.io"}],42793:[{url:"https://node.mainnet.etherlink.com"}],42801:[{url:"https://rpc.testnet.verse.gesoten.com"}],42888:[{url:"http://35.215.120.180:8545"}],43110:[{url:"rpcWorking:false"},{url:"https://ava.network:21015/ext/evm/rpc"}],43113:[{url:"https://api.avax-test.network/ext/bc/C/rpc"},{url:"https://endpoints.omniatech.io/v1/avax/fuji/public",tracking:"none",trackingDetails:"All the data and metadata remain private to the users. No third party is able to access, analyze or track it. OMNIA leverages different technologies and approaches to guarantee the privacy of their users, from front-running protection and private mempools, to obfuscation and random dispatching. https://blog.omniatech.io/how-omnia-handles-your-personal-data"},{url:"https://rpc.ankr.com/avalanche_fuji",tracking:"limited",trackingDetails:"For service delivery purposes, we temporarily record IP addresses to set usage limits and monitor for denial of service attacks against our infrastructure. Though we do look at high-level data around the success rate of transactions made over the blockchain RPC, we do not correlate wallet transactions made over the infrastructure to the IP address making the RPC request. Thus, we do not store, exploit, or share any information regarding Personal Identifiable Information (PII), including wallet addresses. https://www.ankr.com/blog/ankrs-ip-address-policy-and-your-privacy/"},{url:"https://rpc.ankr.com/avalanche_fuji-c",tracking:"limited",trackingDetails:"For service delivery purposes, we temporarily record IP addresses to set usage limits and monitor for denial of service attacks against our infrastructure. Though we do look at high-level data around the success rate of transactions made over the blockchain RPC, we do not correlate wallet transactions made over the infrastructure to the IP address making the RPC request. Thus, we do not store, exploit, or share any information regarding Personal Identifiable Information (PII), including wallet addresses. https://www.ankr.com/blog/ankrs-ip-address-policy-and-your-privacy/"},{url:"https://avalanchetestapi.terminet.io/ext/bc/C/rpc"},{url:"https://ava-testnet.public.blastapi.io/ext/bc/C/rpc",tracking:"limited",trackingDetails:"All the information in our logs (log data) can only be accessed for the last 7 days at any certain time, and it is completely purged after 14 days. We do not store any user information for longer periods of time or with any other purposes than investigating potential errors and service failures. https://blastapi.io/privacy-policy"},{url:"https://avalanche-fuji-c-chain-rpc.publicnode.com",tracking:"none",trackingDetails:"We do not store or track any user data with the exception of data that will be public on chain. We do not correlate wallets address's with IP's, any data which is needed to transact is deleted after 24 hours. We also do no use any Analytics or 3rd party website tracking. https://www.publicnode.com/privacy"},{url:"wss://avalanche-fuji-c-chain-rpc.publicnode.com",tracking:"none",trackingDetails:"We do not store or track any user data with the exception of data that will be public on chain. We do not correlate wallets address's with IP's, any data which is needed to transact is deleted after 24 hours. We also do no use any Analytics or 3rd party website tracking. https://www.publicnode.com/privacy"},{url:"https://avalanche-fuji.blockpi.network/v1/rpc/public",tracking:"limited",trackingDetails:"We do not collect request data or request origin. We only temporarily record the request method names and IP addresses for 7 days to ensure our service functionality such as load balancing and DDoS protection. All the data is automatically deleted after 7 days and we do not store any user information for longer periods of time. https://blockpi.io/privacy-policy"},{url:"https://api.zan.top/node/v1/avax/fuji/public/ext/bc/C/rpc",tracking:"limited",trackingDetails:"ZAN Node Service generally does not store any kind of user information (e.g. IP address, location, requst location, request data, etc.) that transits through our RPCs except for one senario ——we may track your IP address when you are using our RPCs and will delete it immediately when you stoping using our RPCs. To learn more, please review our privacy policy at https://a.zan.top/static/Privacy-Policy.pdf"}],43114:[{url:"https://api.avax.network/ext/bc/C/rpc"},{url:"https://avalanche.public-rpc.com"},{url:"https://rpc.ankr.com/avalanche",tracking:"limited",trackingDetails:"For service delivery purposes, we temporarily record IP addresses to set usage limits and monitor for denial of service attacks against our infrastructure. Though we do look at high-level data around the success rate of transactions made over the blockchain RPC, we do not correlate wallet transactions made over the infrastructure to the IP address making the RPC request. Thus, we do not store, exploit, or share any information regarding Personal Identifiable Information (PII), including wallet addresses. https://www.ankr.com/blog/ankrs-ip-address-policy-and-your-privacy/"},{url:"https://blastapi.io/public-api/avalanche",tracking:"limited",trackingDetails:"All the information in our logs (log data) can only be accessed for the last 7 days at any certain time, and it is completely purged after 14 days. We do not store any user information for longer periods of time or with any other purposes than investigating potential errors and service failures. https://blastapi.io/privacy-policy"},{url:"https://ava-mainnet.public.blastapi.io/ext/bc/C/rpc",tracking:"limited",trackingDetails:"All the information in our logs (log data) can only be accessed for the last 7 days at any certain time, and it is completely purged after 14 days. We do not store any user information for longer periods of time or with any other purposes than investigating potential errors and service failures. https://blastapi.io/privacy-policy"},{url:"https://avalancheapi.terminet.io/ext/bc/C/rpc"},{url:"https://avalanche-c-chain-rpc.publicnode.com",tracking:"none",trackingDetails:"We do not store or track any user data with the exception of data that will be public on chain. We do not correlate wallets address's with IP's, any data which is needed to transact is deleted after 24 hours. We also do no use any Analytics or 3rd party website tracking. https://www.publicnode.com/privacy"},{url:"wss://avalanche-c-chain-rpc.publicnode.com",tracking:"none",trackingDetails:"We do not store or track any user data with the exception of data that will be public on chain. We do not correlate wallets address's with IP's, any data which is needed to transact is deleted after 24 hours. We also do no use any Analytics or 3rd party website tracking. https://www.publicnode.com/privacy"},{url:"https://1rpc.io/avax/c",tracking:"none",trackingDetails:"With the exception of data that will be public on chain, all the other metadata / data should remain private to users and other parties should not be able to access or collect it. 1RPC uses many different techniques to prevent the unnecessary collection of user privacy, which prevents tracking from RPC providers. https://docs.1rpc.io/technology/zero-tracking"},{url:"https://avalanche.blockpi.network/v1/rpc/public",tracking:"limited",trackingDetails:"We do not collect request data or request origin. We only temporarily record the request method names and IP addresses for 7 days to ensure our service functionality such as load balancing and DDoS protection. All the data is automatically deleted after 7 days and we do not store any user information for longer periods of time. https://blockpi.io/privacy-policy"},{url:"https://avax-pokt.nodies.app/ext/bc/C/rpc",tracking:"none",trackingDetails:"What We Do Not Collect: User's IP address, request origin, request data. https://www.blog.pokt.network/rpc-logging-practices/"},{url:"https://avalanche.api.onfinality.io/public/ext/bc/C/rpc",tracking:"limited",trackingDetails:"For the sole purpose of providing our service, we temporarily record IP addresses and origins to check against free limits, provide load balancing, prevent DOS attacks, and to determine where best to locate our nodes. We do not, and will never, correlate or link specific wallet addresses or transactions made over our infrastructure to the IP address or origin making the RPC request. After processing IP addresses, we discard the IP address value within 24 hours. Read more here: https://blog.onfinality.io/how-does-onfinality-deal-with-personal-information/"},{url:"https://endpoints.omniatech.io/v1/avax/mainnet/public",tracking:"none",trackingDetails:"All the data and metadata remain private to the users. No third party is able to access, analyze or track it. OMNIA leverages different technologies and approaches to guarantee the privacy of their users, from front-running protection and private mempools, to obfuscation and random dispatching. https://blog.omniatech.io/how-omnia-handles-your-personal-data"},{url:"https://avax.meowrpc.com",tracking:"none",trackingDetails:"With the exclusion of data that will be openly visible and available on the blockchain, MEOWRPC does not track or store any kind of user information (such as location, IP address, etc.) that passes through our RPC. For further details regarding our privacy practices, we encourage you to refer to our Privacy Policy. https://privacy.meowrpc.com"},{url:"https://api.zan.top/node/v1/avax/mainnet/public/ext/bc/C/rpc",tracking:"limited",trackingDetails:"ZAN Node Service generally does not store any kind of user information (e.g. IP address, location, requst location, request data, etc.) that transits through our RPCs except for one senario ——we may track your IP address when you are using our RPCs and will delete it immediately when you stoping using our RPCs. To learn more, please review our privacy policy at https://a.zan.top/static/Privacy-Policy.pdf"},{url:"https://avalanche.drpc.org",tracking:"none",trackingDetails:"Specific types of technical data that we may temporarily log include:IP address (only in logs for redirecting requests to the nearest RPC nodes and rate limiting at the free level, which are cleared weekly). The user ID is hidden in the temporary logs, so it is not possible to link them to a specific user.https://drpc.org/privacy-policy"},{url:"https://rpc.tornadoeth.cash/avax",tracking:"none",trackingDetails:"TornadoRPC prioritizes user privacy and data security. We do not track or store any user information that passes through our RPC, except for data that is clearly visible on the blockchain. For detailed information about our privacy practices, see our Privacy Policy: https://rpc.tornadoeth.cash/privacy"}],43851:[{url:"https://testnet-rpc.zkfair.io"}],44444:[{url:"https://rpc-02.frenscan.io"}],44445:[{url:"https://rpcqtm.avescoin.io"}],44787:[{url:"https://alfajores-forno.celo-testnet.org"},{url:"wss://alfajores-forno.celo-testnet.org/ws"}],45e3:[{url:"https://rpc.autobahn.network"}],45454:[{url:"https://swamps.tc.l2aas.com"}],45510:[{url:"https://rpc.deelance.com"}],45513:[{url:"https://blessnet.calderachain.xyz/http"},{url:"wss://blessnet.calderachain.xyz/ws"}],46688:[{url:"https://testnet.fusionnetwork.io"},{url:"wss://testnet.fusionnetwork.io"}],47763:[{url:"https://mainnet-1.rpc.banelabs.org"},{url:"https://mainnet-2.rpc.banelabs.org"}],47803:[{url:"https://layer1.redefi.world"}],47805:[{url:"https://rpc.rei.network"},{url:"wss://rpc.rei.network"}],48795:[{url:"https://subnets.avax.network/space/testnet/rpc"}],48899:[{url:"http://zircuit1-testnet.p2pify.com"}],48900:[{url:"https://zircuit1-mainnet.p2pify.com"}],49049:[{url:"https://rpc-floripa.wireshape.org"},{url:"https://wireshape-floripa-testnet.rpc.thirdweb.com"}],49088:[{url:"https://public-01.testnet.bifrostnetwork.com/rpc"},{url:"https://public-02.testnet.bifrostnetwork.com/rpc"}],49321:[{url:"https://rpc.gunz.dev/ext/bc/ryk9vkvNuKtewME2PeCgybo9sdWXGmCkBrrx4VPuZPdVdAak8/rpc"}],49797:[{url:"https://nodeapi.test.energi.network"}],50001:[{url:"https://rpc.oracle.liveplex.io"},{url:"https://rpc.oracle.liveplex.io",tracking:"yes",trackingDetails:"Usage Data is collected automatically when using the Service. Usage Data may include information such as Your Device's Internet Protocol address (e.g., IP address), browser type, browser version, the pages of our Service that You visit, the time and date of Your visit, the time spent on those pages, unique device identifiers and other diagnostic data. When You access the Service by or through a mobile device, we may collect certain information automatically, including, but not limited to, the type of mobile device You use, Your mobile device unique ID, the IP address of Your mobile device, Your mobile operating system, the type of mobile Internet browser You use, unique device identifiers and other diagnostic data. We may also collect information that Your browser sends whenever You visit our Service or when You access the Service by or through a mobile device. https://www.liveplex.io/privacypolicy.html"}],50005:[{url:"https://rpc.yooldo-verse.xyz"}],50006:[{url:"https://rpc.testnet.yooldo-verse.xyz"}],50021:[{url:"https://testnet.gton.network"}],51178:[{url:"https://alpha-us-http-geth.lumoz.org"},{url:"https://alpha-hk-http-geth.lumoz.org"}],51712:[{url:"https://mainnet-rpc.sardisnetwork.com"}],52014:[{url:"https://rpc.electroneum.com"}],53277:[{url:"https://rpc.doid.tech"}],53302:[{url:"https://sepolia.superseed.xyz"},{url:"wss://sepolia.superseed.xyz"}],53457:[{url:"https://dodochain-testnet.alt.technology"},{url:"wss://dodochain-testnet.alt.technology/ws"}],53935:[{url:"https://avax-pokt.nodies.app/ext/bc/q2aTwKuyzgs8pynF7UXBZCU7DejbZbZ6EUyHr3JQzYgwNPUPi/rpc",tracking:"none",trackingDetails:"What We Do Not Collect: User's IP address, request origin, request data. https://www.blog.pokt.network/rpc-logging-practices/"},{url:"https://dfkchain.api.onfinality.io/public",tracking:"limited",trackingDetails:"For the sole purpose of providing our service, we temporarily record IP addresses and origins to check against free limits, provide load balancing, prevent DOS attacks, and to determine where best to locate our nodes. We do not, and will never, correlate or link specific wallet addresses or transactions made over our infrastructure to the IP address or origin making the RPC request. After processing IP addresses, we discard the IP address value within 24 hours. Read more here: https://blog.onfinality.io/how-does-onfinality-deal-with-personal-information/"},{url:"https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc"}],54211:[{url:"https://rpc.eth.testedge2.haqq.network"}],54321:[{url:"http://testnet.toronet.org/rpc"}],55004:[{url:"https://rpc.titan.tokamak.network"},{url:"wss://rpc.titan.tokamak.network"}],55551:[{url:"https://rpc-test2.photonchain.io"}],55555:[{url:"https://rei-rpc.moonrhythm.io"}],55556:[{url:"https://rei-testnet-rpc.moonrhythm.io"}],55614:[{url:"https://rpc.flamma.network"}],56026:[{url:"https://nrpc.lambda.im"}],56288:[{url:"https://bnb.boba.network"},{url:"https://boba-bnb.gateway.tenderly.co"},{url:"https://gateway.tenderly.co/public/boba-bnb"},{url:"https://replica.bnb.boba.network"},{url:"wss://boba-bnb.gateway.tenderly.co"},{url:"wss://gateway.tenderly.co/public/boba-bnb"}],56400:[{url:"https://subnets.avax.network/testnetzer/testnet/rpc"}],56789:[{url:"https://nova.velo.org"}],56797:[{url:"https://rpc.testnet.doid.tech"}],57e3:[{url:"https://rpc-tanenbaum.rollux.com"},{url:"https://rpc.ankr.com/rollux_testnet/${ANKR_API_KEY}"},{url:"wss://rpc-tanenbaum.rollux.com/wss"},{url:"https://rollux.rpc.tanenbaum.io"},{url:"wss://rollux.rpc.tanenbaum.io/wss"}],57451:[{url:"https://mainnet-rpc.coinsec.network"}],58008:[{url:"https://sepolia.publicgoods.network"}],59140:[{url:"https://linea-goerli.blockpi.network/v1/rpc/public",tracking:"limited",trackingDetails:"We do not collect request data or request origin. We only temporarily record the request method names and IP addresses for 7 days to ensure our service functionality such as load balancing and DDoS protection. All the data is automatically deleted after 7 days and we do not store any user information for longer periods of time. https://blockpi.io/privacy-policy"},{url:"https://rpc.goerli.linea.build"},{url:"wss://rpc.goerli.linea.build"}],59141:[{url:"https://rpc.sepolia.linea.build"},{url:"wss://rpc.sepolia.linea.build"},{url:"https://linea-sepolia.infura.io/v3/${INFURA_API_KEY}"},{url:"wss://linea-sepolia.infura.io/ws/v3/${INFURA_API_KEY}"}],59144:[{url:"https://linea.blockpi.network/v1/rpc/public",tracking:"limited",trackingDetails:"We do not collect request data or request origin. We only temporarily record the request method names and IP addresses for 7 days to ensure our service functionality such as load balancing and DDoS protection. All the data is automatically deleted after 7 days and we do not store any user information for longer periods of time. https://blockpi.io/privacy-policy"},{url:"https://1rpc.io/linea",tracking:"none",trackingDetails:"With the exception of data that will be public on chain, all the other metadata / data should remain private to users and other parties should not be able to access or collect it. 1RPC uses many different techniques to prevent the unnecessary collection of user privacy, which prevents tracking from RPC providers. https://docs.1rpc.io/technology/zero-tracking"},{url:"https://linea.drpc.org",tracking:"none",trackingDetails:"Specific types of technical data that we may temporarily log include:IP address (only in logs for redirecting requests to the nearest RPC nodes and rate limiting at the free level, which are cleared weekly). The user ID is hidden in the temporary logs, so it is not possible to link them to a specific user.https://drpc.org/privacy-policy"},{url:"https://linea.decubate.com",tracking:"none",trackingDetails:"With the exception of data that will be public on chain, all the other metadata should remain private to users and other parties should not be able to access or collect it. Decubate doesn't store any data related to the user using the RPC. https://docs.decubate.com/rpc-privacy/"},{url:"https://rpc.linea.build"},{url:"wss://rpc.linea.build"}],59902:[{url:"https://sepolia.metisdevops.link"}],59971:[{url:"https://mainnet.genesyscode.io"}],6e4:[{url:"https://test.thinkiumrpc.net"}],60001:[{url:"https://test1.thinkiumrpc.net"}],60002:[{url:"https://test2.thinkiumrpc.net"}],60103:[{url:"https://test103.thinkiumrpc.net"}],60808:[{url:"https://rpc.gobob.xyz"},{url:"wss://rpc.gobob.xyz"},{url:"https://bob-mainnet.public.blastapi.io"},{url:"wss://bob-mainnet.public.blastapi.io"}],61022:[{url:"https://rpc.orangechain.xyz"},{url:"https://hk-rpc.orangechain.xyz"}],61406:[{url:"https://mainnet-rpc.kaichain.net"}],61800:[{url:"https://aium-rpc-dev.viacube.com"}],61803:[{url:"https://eticamainnet.eticascan.org"},{url:"https://eticamainnet.eticaprotocol.org"}],61916:[{url:"https://sgrpc.doken.dev"},{url:"https://nyrpc.doken.dev"},{url:"https://ukrpc.doken.dev"}],62049:[{url:"https://rpc-testnet.optopia.ai"}],62050:[{url:"https://rpc-mainnet.optopia.ai"},{url:"https://rpc-mainnet-2.optopia.ai"}],62298:[{url:"https://rpc.devnet.citrea.xyz"}],62320:[{url:"https://baklava-forno.celo-testnet.org"}],62621:[{url:"https://rpc.mtv.ac"},{url:"https://rpc-eu.mtv.ac"}],62831:[{url:"https://subnets.avax.network/plyr/testnet/rpc"}],62850:[{url:"https://rpc.laossigma.laosfoundation.io"},{url:"wss://rpc.laossigma.laosfoundation.io"}],63e3:[{url:"https://rpc.ecredits.com"}],63001:[{url:"https://rpc.tst.ecredits.com"}],65349:[{url:"https://cratd2c-testnet-node1.cratd2csmartchain.io"},{url:"https://cratd2c-testnet-node2.cratd2csmartchain.io"}],65357:[{url:"https://rpc.vecno.org"}],65450:[{url:"https://mainnet-rpc.scolcoin.com"}],66988:[{url:"https://rpc.test.janusnetwork.io"}],67588:[{url:"http://testnet.cosmicchain.site:3344"}],68770:[{url:"https://rpc.dm2verse.dmm.com"}],69420:[{url:"https://rpc.condrieu.ethdevops.io:8545"}],7e4:[{url:"https://proxy.thinkiumrpc.net"}],70001:[{url:"https://proxy1.thinkiumrpc.net"}],70002:[{url:"https://proxy2.thinkiumrpc.net"}],70103:[{url:"https://proxy103.thinkiumrpc.net"}],70700:[{url:"https://rpc.apex.proofofplay.com"}],71111:[{url:"https://rpc-mainnet.guapcoinx.com"},{url:"https://rpc-mainnet-1.guapcoinx.com"},{url:"https://rpc-mainnet-2.guapcoinx.com"}],71393:[{url:"https://godwoken-testnet-web3-rpc.ckbapp.dev"},{url:"ws://godwoken-testnet-web3-rpc.ckbapp.dev/ws"}],71401:[{url:"https://godwoken-testnet-v1.ckbapp.dev"},{url:"https://v1.testnet.godwoken.io/rpc"}],71402:[{url:"https://v1.mainnet.godwoken.io/rpc"}],72778:[{url:"https://www.ankara-cagacrypto.com"},{url:"wss://wss.ankara-cagacrypto.com"}],72992:[{url:"https://mainnet-rpc.grokchain.dev"}],73114:[{url:"https://rpc1-testnet.icbnetwork.info"},{url:"https://rpc2-testnet.icbnetwork.info"}],73115:[{url:"https://rpc1-mainnet.icbnetwork.info"},{url:"https://rpc2-mainnet.icbnetwork.info"}],73799:[{url:"https://volta-rpc.energyweb.org"},{url:"wss://volta-rpc.energyweb.org/ws"}],73927:[{url:"https://geth.mvm.dev"}],75512:[{url:"https://rpc.geekout-pte.com"}],75513:[{url:"https://rpc-testnet.geekout-pte.com"}],77001:[{url:"https://public-node.api.boraportal.com/bora/mainnet"},{url:"https://public-node.api.boraportal.io/bora/mainnet"}],77238:[{url:"https://testnet-rpc.foundryscan.org"}],77612:[{url:"https://mainnet-rpc.vention.network"}],77677:[{url:"https://sailboat-rpc-mainnet.cyclenetwork.io"}],77777:[{url:"https://www.toronet.org/rpc2"}],78110:[{url:"https://ethnode.primusmoney.com/firenze"}],78281:[{url:"https://dragonfly-rpc.switch.ch"},{url:"https://dragonfly-rpc.kore-technologies.ch"},{url:"https://dragonfly-rpc.phoenix-systems.io"},{url:"https://dragonfly-rpc.block-spirit.ch"}],78430:[{url:"https://subnets.avax.network/amplify/testnet/rpc"}],78431:[{url:"https://subnets.avax.network/bulletin/testnet/rpc"}],78432:[{url:"https://subnets.avax.network/conduit/testnet/rpc"}],78600:[{url:"https://rpc-vanguard.vanarchain.com"},{url:"wss://ws-vanguard.vanarchain.com"}],79879:[{url:"https://rpc-testnet.goldsmartchain.com"}],80001:[{url:"https://rpc-mumbai.maticvigil.com"},{url:"https://endpoints.omniatech.io/v1/matic/mumbai/public",tracking:"none",trackingDetails:"All the data and metadata remain private to the users. No third party is able to access, analyze or track it. OMNIA leverages different technologies and approaches to guarantee the privacy of their users, from front-running protection and private mempools, to obfuscation and random dispatching. https://blog.omniatech.io/how-omnia-handles-your-personal-data"},{url:"https://rpc.ankr.com/polygon_mumbai",tracking:"limited",trackingDetails:"For service delivery purposes, we temporarily record IP addresses to set usage limits and monitor for denial of service attacks against our infrastructure. Though we do look at high-level data around the success rate of transactions made over the blockchain RPC, we do not correlate wallet transactions made over the infrastructure to the IP address making the RPC request. Thus, we do not store, exploit, or share any information regarding Personal Identifiable Information (PII), including wallet addresses. https://www.ankr.com/blog/ankrs-ip-address-policy-and-your-privacy/"},{url:"https://polygontestapi.terminet.io/rpc"},{url:"https://polygon-testnet.public.blastapi.io",tracking:"limited",trackingDetails:"All the information in our logs (log data) can only be accessed for the last 7 days at any certain time, and it is completely purged after 14 days. We do not store any user information for longer periods of time or with any other purposes than investigating potential errors and service failures. https://blastapi.io/privacy-policy"},{url:"https://polygon-mumbai.g.alchemy.com/v2/demo",tracking:"yes",trackingDetails:"We may collect certain information automatically when you use our Services, such as your Internet protocol (IP) address, user settings, MAC address, cookie identifiers, mobile carrier, mobile advertising and other unique identifiers, browser or device information, location information (including approximate location derived from IP address), and Internet service provider. https://www.alchemy.com/policies/privacy-policy"},{url:"https://polygon-mumbai.blockpi.network/v1/rpc/public",tracking:"limited",trackingDetails:"We do not collect request data or request origin. We only temporarily record the request method names and IP addresses for 7 days to ensure our service functionality such as load balancing and DDoS protection. All the data is automatically deleted after 7 days and we do not store any user information for longer periods of time. https://blockpi.io/privacy-policy"},{url:"https://polygon-mumbai-bor-rpc.publicnode.com",tracking:"none",trackingDetails:"We do not store or track any user data with the exception of data that will be public on chain. We do not correlate wallets address's with IP's, any data which is needed to transact is deleted after 24 hours. We also do no use any Analytics or 3rd party website tracking. https://www.publicnode.com/privacy"},{url:"wss://polygon-mumbai-bor-rpc.publicnode.com",tracking:"none",trackingDetails:"We do not store or track any user data with the exception of data that will be public on chain. We do not correlate wallets address's with IP's, any data which is needed to transact is deleted after 24 hours. We also do no use any Analytics or 3rd party website tracking. https://www.publicnode.com/privacy"},{url:"https://polygon-mumbai-pokt.nodies.app",tracking:"none",trackingDetails:"What We Do Not Collect: User's IP address, request origin, request data. https://www.blog.pokt.network/rpc-logging-practices/"},{url:"https://polygon-mumbai.gateway.tenderly.co",tracking:"yes",trackingDetails:"Additionally, if you are an Account Member, we may collect business and transactional data about you (and your business) that accumulates over the normal course of operation regarding providing our Services. This may include transaction records, stored files, user profiles, information about collaborators, analytics data, and other metrics, as well as other types of information created or generated by your interaction with our Services. https://tenderly.co/privacy-policy"},{url:"https://gateway.tenderly.co/public/polygon-mumbai",tracking:"yes",trackingDetails:"Additionally, if you are an Account Member, we may collect business and transactional data about you (and your business) that accumulates over the normal course of operation regarding providing our Services. This may include transaction records, stored files, user profiles, information about collaborators, analytics data, and other metrics, as well as other types of information created or generated by your interaction with our Services. https://tenderly.co/privacy-policy"},{url:"https://api.zan.top/node/v1/polygon/mumbai/public",tracking:"limited",trackingDetails:"ZAN Node Service generally does not store any kind of user information (e.g. IP address, location, requst location, request data, etc.) that transits through our RPCs except for one senario ——we may track your IP address when you are using our RPCs and will delete it immediately when you stoping using our RPCs. To learn more, please review our privacy policy at https://a.zan.top/static/Privacy-Policy.pdf"},{url:"https://polygon-mumbai.api.onfinality.io/public",tracking:"limited",trackingDetails:"For the sole purpose of providing our service, we temporarily record IP addresses and origins to check against free limits, provide load balancing, prevent DOS attacks, and to determine where best to locate our nodes. We do not, and will never, correlate or link specific wallet addresses or transactions made over our infrastructure to the IP address or origin making the RPC request. After processing IP addresses, we discard the IP address value within 24 hours. Read more here: https://blog.onfinality.io/how-does-onfinality-deal-with-personal-information/"},{url:"wss://polygon-mumbai.gateway.tenderly.co"}],80002:[{url:"https://rpc-amoy.polygon.technology"},{url:"https://polygon-amoy-bor-rpc.publicnode.com"},{url:"wss://polygon-amoy-bor-rpc.publicnode.com"}],80008:[{url:"https://rpc.sepolia.polynomial.fi"}],80084:[{url:"https://bartio.rpc.berachain.com"},{url:"https://bera-testnet.nodeinfra.com"},{url:"https://bartio.rpc.b-harvest.io"}],80085:[{url:"https://artio.rpc.berachain.com"},{url:"https://rpc.ankr.com/berachain_testnet"}],80096:[{url:"https://hizoco.net/rpc"}],81041:[{url:"https://mainnet-rpc.nordekscan.com"}],81457:[{url:"https://rpc.blast.io"},{url:"https://blast.din.dev/rpc"},{url:"https://blastl2-mainnet.public.blastapi.io"},{url:"https://blast.blockpi.network/v1/rpc/public"},{url:"https://blast.blockpi.network/v1/rpc/public",tracking:"limited",trackingDetails:"We do not collect request data or request origin. We only temporarily record the request method names and IP addresses for 7 days to ensure our service functionality such as load balancing and DDoS protection. All the data is automatically deleted after 7 days and we do not store any user information for longer periods of time. https://blockpi.io/privacy-policy"},{url:"https://rpc.ankr.com/blast",tracking:"limited",trackingDetails:"For service delivery purposes, we temporarily record IP addresses to set usage limits and monitor for denial of service attacks against our infrastructure. Though we do look at high-level data around the success rate of transactions made over the blockchain RPC, we do not correlate wallet transactions made over the infrastructure to the IP address making the RPC request. Thus, we do not store, exploit, or share any information regarding Personal Identifiable Information (PII), including wallet addresses. https://www.ankr.com/blog/ankrs-ip-address-policy-and-your-privacy/"},{url:"https://blast-rpc.publicnode.com"}],81720:[{url:"https://rpc.quantumscan.org"}],82459:[{url:"https://rpc.test.smartlayer.network"}],83144:[{url:"https://rpc.testnet.xprotocol.org"}],83278:[{url:"http://65.108.151.70:8545"}],83872:[{url:"https://mainnet-rpc.zedscan.net"}],84531:[{url:"https://base-goerli.diamondswap.org/rpc",tracking:"limited",trackingDetails:"We record limited metadata from requests. This data is stored for a maximum of 90 days and is solely used for debugging, identifying suspicious activity, and generating analytics."},{url:"https://base-goerli.public.blastapi.io",tracking:"limited",trackingDetails:"All the information in our logs (log data) can only be accessed for the last 7 days at any certain time, and it is completely purged after 14 days. We do not store any user information for longer periods of time or with any other purposes than investigating potential errors and service failures. https://blastapi.io/privacy-policy"},{url:"https://1rpc.io/base-goerli",tracking:"none",trackingDetails:"With the exception of data that will be public on chain, all the other metadata / data should remain private to users and other parties should not be able to access or collect it. 1RPC uses many different techniques to prevent the unnecessary collection of user privacy, which prevents tracking from RPC providers. https://docs.1rpc.io/technology/zero-tracking"},{url:"https://base-goerli.gateway.tenderly.co",tracking:"yes",trackingDetails:"Additionally, if you are an Account Member, we may collect business and transactional data about you (and your business) that accumulates over the normal course of operation regarding providing our Services. This may include transaction records, stored files, user profiles, information about collaborators, analytics data, and other metrics, as well as other types of information created or generated by your interaction with our Services. https://tenderly.co/privacy-policy"},{url:"https://gateway.tenderly.co/public/base-goerli",tracking:"yes",trackingDetails:"Additionally, if you are an Account Member, we may collect business and transactional data about you (and your business) that accumulates over the normal course of operation regarding providing our Services. This may include transaction records, stored files, user profiles, information about collaborators, analytics data, and other metrics, as well as other types of information created or generated by your interaction with our Services. https://tenderly.co/privacy-policy"},{url:"https://base-goerli-rpc.publicnode.com",tracking:"none",trackingDetails:"We do not store or track any user data with the exception of data that will be public on chain. We do not correlate wallets address's with IP's, any data which is needed to transact is deleted after 24 hours. We also do no use any Analytics or 3rd party website tracking. https://www.publicnode.com/privacy"},{url:"wss://base-goerli-rpc.publicnode.com",tracking:"none",trackingDetails:"We do not store or track any user data with the exception of data that will be public on chain. We do not correlate wallets address's with IP's, any data which is needed to transact is deleted after 24 hours. We also do no use any Analytics or 3rd party website tracking. https://www.publicnode.com/privacy"},{url:"https://endpoints.omniatech.io/v1/base/goerli/public",tracking:"none",trackingDetails:"All the data and metadata remain private to the users. No third party is able to access, analyze or track it. OMNIA leverages different technologies and approaches to guarantee the privacy of their users, from front-running protection and private mempools, to obfuscation and random dispatching. https://blog.omniatech.io/how-omnia-handles-your-personal-data"},{url:"https://goerli.base.org"},{url:"wss://base-goerli.gateway.tenderly.co"}],84532:[{url:"https://rpc.notadegen.com/base/sepolia"},{url:"https://base-sepolia.blockpi.network/v1/rpc/public",tracking:"limited",trackingDetails:"We do not collect request data or request origin. We only temporarily record the request method names and IP addresses for 7 days to ensure our service functionality such as load balancing and DDoS protection. All the data is automatically deleted after 7 days and we do not store any user information for longer periods of time. https://blockpi.io/privacy-policy"},{url:"https://sepolia.base.org"},{url:"https://base-sepolia-rpc.publicnode.com"},{url:"wss://base-sepolia-rpc.publicnode.com"}],84886:[{url:"https://mainnet.aerielab.io"}],85449:[{url:"http://testnet.cybertrust.space:48501"}],88002:[{url:"https://api.proteus.nautchain.xyz/solana"}],88559:[{url:"https://inoai-network.com"}],88800:[{url:"https://rpc.zkas.zeeve.net"}],88817:[{url:"https://rpc-testnet.unit0.dev"}],88819:[{url:"https://rpc-stagenet.unit0.dev"}],88882:[{url:"https://spicy-rpc.chiliz.com"}],88888:[{url:"https://rpc.chiliz.com"},{url:"https://rpc.ankr.com/chiliz"},{url:"https://chiliz.publicnode.com"}],90001:[{url:"https://testnet-fx-json-web3.functionx.io:8545"}],90210:[{url:"https://rpc.beverlyhills.ethdevops.io:8545"}],90354:[{url:"https://rpc-camp-network-4xje7wy105.t.conduit.xyz"}],91002:[{url:"https://triton.api.nautchain.xyz"}],91120:[{url:"https://rpc.chain.metadap.io"},{url:"wss://rpc-ws.chain.metadap.io"}],91715:[{url:"https://test-rpc.combonetwork.io"}],92001:[{url:"https://evm.lambda.top"}],93572:[{url:"https://testnet.liquidlayer.network"}],93747:[{url:"https://rpc.stratovm.io"}],96970:[{url:"https://mantis-rpc.switch.ch"},{url:"https://mantis-rpc.kore-technologies.ch"},{url:"https://mantis-rpc.phoenix-systems.io"}],97435:[{url:"https://rpc-dependent-emerald-whippet-gh6kch3nen.t.conduit.xyz"}],97531:[{url:"https://node.greenchain.app/rpc"}],97970:[{url:"https://testnet-rpc.optimusz7.com"}],98881:[{url:"https://rpc.ebi.xyz"}],99099:[{url:"https://testnet-rpc.eliberty.ngo"}],99876:[{url:"https://rpc1-testnet.emc.network"}],99998:[{url:"https://testnet.rpc.uschain.network"}],99999:[{url:"https://rpc.uschain.network"}],1e5:[{url:"http://jrpc.mainnet.quarkchain.io:38391"}],100001:[{url:"http://eth-jrpc.mainnet.quarkchain.io:39000"},{url:"https://mainnet-s0-ethapi.quarkchain.io"}],100002:[{url:"http://eth-jrpc.mainnet.quarkchain.io:39001"},{url:"https://mainnet-s1-ethapi.quarkchain.io"}],100003:[{url:"http://eth-jrpc.mainnet.quarkchain.io:39002"},{url:"https://mainnet-s2-ethapi.quarkchain.io"}],100004:[{url:"http://eth-jrpc.mainnet.quarkchain.io:39003"},{url:"https://mainnet-s3-ethapi.quarkchain.io"}],100005:[{url:"http://eth-jrpc.mainnet.quarkchain.io:39004"},{url:"https://mainnet-s4-ethapi.quarkchain.io"}],100006:[{url:"http://eth-jrpc.mainnet.quarkchain.io:39005"},{url:"https://mainnet-s5-ethapi.quarkchain.io"}],100007:[{url:"http://eth-jrpc.mainnet.quarkchain.io:39006"},{url:"https://mainnet-s6-ethapi.quarkchain.io"}],100008:[{url:"http://eth-jrpc.mainnet.quarkchain.io:39007"},{url:"https://mainnet-s7-ethapi.quarkchain.io"}],100009:[{url:"https://rpc-mainnet.vechain.energy"}],100010:[{url:"https://rpc-testnet.vechain.energy"}],100011:[{url:"https://mainnet-l2-ethapi.quarkchain.io"}],101010:[{url:"https://gtn.stabilityprotocol.com"}],102031:[{url:"https://rpc.cc3-testnet.creditcoin.network"}],103090:[{url:"https://evm.cryptocurrencydevs.org"},{url:"https://rpc.crystaleum.org"}],103454:[{url:"https://subnets.avax.network/masatestne/testnet/rpc"}],104566:[{url:"https://api.kaspaclassic.world"},{url:"http://80.178.101.118:8000"}],105105:[{url:"https://rpc.stratisevm.com"}],108801:[{url:"rpcWorking:false"},{url:"https://rpc.brochain.org"},{url:"http://rpc.brochain.org"},{url:"https://rpc.brochain.org/mainnet"},{url:"http://rpc.brochain.org/mainnet"}],11e4:[{url:"rpcWorking:false"},{url:"http://jrpc.devnet.quarkchain.io:38391"}],110001:[{url:"http://eth-jrpc.devnet.quarkchain.io:39900"},{url:"https://devnet-s0-ethapi.quarkchain.io"}],110002:[{url:"http://eth-jrpc.devnet.quarkchain.io:39901"},{url:"https://devnet-s1-ethapi.quarkchain.io"}],110003:[{url:"http://eth-jrpc.devnet.quarkchain.io:39902"},{url:"https://devnet-s2-ethapi.quarkchain.io"}],110004:[{url:"http://eth-jrpc.devnet.quarkchain.io:39903"},{url:"https://devnet-s3-ethapi.quarkchain.io"}],110005:[{url:"http://eth-jrpc.devnet.quarkchain.io:39904"},{url:"https://devnet-s4-ethapi.quarkchain.io"}],110006:[{url:"http://eth-jrpc.devnet.quarkchain.io:39905"},{url:"https://devnet-s5-ethapi.quarkchain.io"}],110007:[{url:"http://eth-jrpc.devnet.quarkchain.io:39906"},{url:"https://devnet-s6-ethapi.quarkchain.io"}],110008:[{url:"http://eth-jrpc.devnet.quarkchain.io:39907"},{url:"https://devnet-s7-ethapi.quarkchain.io"}],110011:[{url:"https://testnet-l2-ethapi.quarkchain.io"}],110110:[{url:"https://node99-production-dd5f.up.railway.app:443"},{url:"https://rpc.marscredit.xyz:443"}],111e3:[{url:"https://rpc.test.siberium.net"}],111111:[{url:"https://rpc.main.siberium.net"},{url:"https://rpc.main.siberium.net.ru"}],111188:[{url:"https://tangible-real.gateway.tenderly.co"},{url:"wss://tangible-real.gateway.tenderly.co"},{url:"https://real.drpc.org"},{url:"wss://real.drpc.org"}],112358:[{url:"https://rpc.metachain.one"},{url:"https://rpc2.metachain.one"}],119139:[{url:"https://rpc.testnet.chain.metadap.io"},{url:"wss://rpc-ws.testnet.chain.metadap.io"}],123321:[{url:"https://evm-rpc.gemchain.org"}],123456:[{url:"https://devnet.adilchain-rpc.io"}],128123:[{url:"https://node.ghostnet.etherlink.com"}],131313:[{url:"https://testnode.dioneprotocol.com/ext/bc/D/rpc"}],131419:[{url:"https://rpc.node1.etnd.pro"}],132902:[{url:"https://testnet-rpc.form.network/http"},{url:"wss://testnet-rpc.form.network/ws"}],141319:[{url:"https://testnet-api.magape.io/chain"}],142857:[{url:"https://rpc1.icplaza.pro",tracking:"yes",trackingDetails:"Please be aware that we collect your following information for the purpose of satisfying your needs in ICPlaza services(...) 1.We will collect your mobile device information, operation records, transaction records, wallet address and other personal information. https://www.icplaza.pro/privacy-policy"},{url:"https://rpcmainnet.ic-plaza.org"}],165279:[{url:"https://mainnet-rpc.eclatscan.com"}],167e3:[{url:"https://rpc.mainnet.taiko.xyz"},{url:"wss://ws.mainnet.taiko.xyz"}],167008:[{url:"https://taiko-katla.blockpi.network/v1/rpc/public",tracking:"limited",trackingDetails:"We do not collect request data or request origin. We only temporarily record the request method names and IP addresses for 7 days to ensure our service functionality such as load balancing and DDoS protection. All the data is automatically deleted after 7 days and we do not store any user information for longer periods of time. https://blockpi.io/privacy-policy"},{url:"https://rpc.katla.taiko.xyz"},{url:"wss://ws.katla.taiko.xyz"},{url:"https://taiko-katla.drpc.org"},{url:"wss://taiko-katla.drpc.org"}],167009:[{url:"https://rpc.hekla.taiko.xyz"},{url:"wss://ws.hekla.taiko.xyz"}],175177:[{url:"https://chain-rpc.litprotocol.com/http"}],175188:[{url:"https://yellowstone-rpc.litprotocol.com"}],188710:[{url:"https://mainnet-rpc.biticablockchain.com"}],188881:[{url:"https://testnet.condor.systems/rpc"}],192940:[{url:"https://rpc-testnet.mindnetwork.xyz"},{url:"wss://rpc-testnet.mindnetwork.xyz"}],199991:[{url:"https://testnet-rpc.mazze.io"}],2e5:[{url:"https://rpc_testnet.xfair.ai"},{url:"wss://rpc_testnet.xfair.ai"}],200101:[{url:"https://rpc-devnet-cardano-evm.c1.milkomeda.com"},{url:"wss://rpc-devnet-cardano-evm.c1.milkomeda.com"}],200202:[{url:"https://rpc-devnet-algorand-rollup.a1.milkomeda.com"}],200625:[{url:"https://boot2.akroma.org"},{url:"https://remote.akroma.io"}],200810:[{url:"https://testnet-rpc.bitlayer.org"},{url:"wss://testnet-ws.bitlayer.org"},{url:"https://testnet-rpc.bitlayer-rpc.com"},{url:"wss://testnet-ws.bitlayer-rpc.com"},{url:"https://rpc.ankr.com/bitlayer_testnet"}],200901:[{url:"https://rpc.bitlayer.org"},{url:"https://rpc.bitlayer-rpc.com"},{url:"https://rpc.ankr.com/bitlayer"},{url:"https://rpc-bitlayer.rockx.com"},{url:"wss://ws.bitlayer.org"},{url:"wss://ws.bitlayer-rpc.com"}],201018:[{url:"https://openapi.alaya.network/rpc"},{url:"wss://openapi.alaya.network/ws"}],201030:[{url:"https://devnetopenapi.alaya.network/rpc"},{url:"wss://devnetopenapi.alaya.network/ws"}],201804:[{url:"https://chain-rpc.mythicalgames.com"}],202020:[{url:"https://testnet-val.decimalchain.com/web3"}],202212:[{url:"https://x1-devnet.xen.network"}],202401:[{url:"http://39.119.118.216:8545"}],202624:[{url:"https://jellie-rpc.twala.io"},{url:"wss://jellie-rpc-wss.twala.io"}],204005:[{url:"https://x1-testnet.xen.network"}],205205:[{url:"https://auroria.rpc.stratisevm.com"}],210049:[{url:"https://rpc.gitagi.org"}],210425:[{url:"https://openapi2.platon.network/rpc"},{url:"wss://openapi2.platon.network/ws"}],220315:[{url:"http://node.masnet.ai:8545"}],221230:[{url:"https://eth.reapchain.org"}],221231:[{url:"https://test-eth.reapchain.org"}],222222:[{url:"https://rpc.hydradx.cloud"},{url:"wss://rpc.hydradx.cloud"}],222555:[{url:"https://rpc.deeplnetwork.org"}],222666:[{url:"https://testnet.deeplnetwork.org"}],224168:[{url:"https://mainnet.tafchain.com/v1"}],224422:[{url:"https://rpc1.conet.network"}],224433:[{url:"https://rpc.conet.network"}],229772:[{url:"https://testnet.rpc.abyssprotocol.ai"}],230315:[{url:"https://testnet.hashkeychain/rpc"}],234666:[{url:"https://testnet1.haymo.network"}],240515:[{url:"https://testnet-rpc.orangechain.xyz"}],246529:[{url:"https://rpc.sigma1.artis.network"}],246785:[{url:"https://rpc.tau1.artis.network"}],247253:[{url:"https://rpc-testnet.saakuru.network"}],256256:[{url:"https://mainnet.block.caduceus.foundation"},{url:"wss://mainnet.block.caduceus.foundation"}],262371:[{url:"https://testnet-rpc.eclatscan.com"}],266256:[{url:"https://gzn-test.linksme.info"}],271271:[{url:"https://rpctest.egonscan.com"}],281121:[{url:"rpcWorking:false"},{url:"https://socialsmartchain.digitalnext.business"}],282828:[{url:"https://sepolia.zillnet.io/rpc"}],292003:[{url:"https://testnet.cipherem.com"}],309075:[{url:"https://mainnet-rpc.oneworldchain.org"}],313313:[{url:"https://testnet.saharalabs.ai"}],314159:[{url:"https://filecoin-calibration.chainup.net/rpc/v1",tracking:"limited",trackingDetails:"We only collect user IP addresses for the purpose of rate limiting. For more information, please visit https://docs.chainupcloud.com/introduction/products/blockchain-api."},{url:"https://api.calibration.node.glif.io/rpc/v1"},{url:"https://rpc.ankr.com/filecoin_testnet"},{url:"https://filecoin-calibration.chainstacklabs.com/rpc/v1"},{url:"https://calibration.filfox.info/rpc/v1"},{url:"https://filecoin-calibration.drpc.org"},{url:"wss://filecoin-calibration.drpc.org"}],322202:[{url:"https://mainnet-rpc.parex.network"}],323213:[{url:"https://testnet-rpc.bloomgenesis.com"}],327126:[{url:"https://rpc.wabaworld.com"}],328527:[{url:"https://rpc.nal.network"},{url:"wss://wss.nal.network"}],330844:[{url:"https://mainnet-rpc.tscscan.com"}],333313:[{url:"https://mainnet-rpc.bloomgenesis.com"}],333331:[{url:"https://test.rpc.avescoin.io"}],333333:[{url:"https://rpctest.nativ3.network"},{url:"wss://wstest.nativ3.network"}],333666:[{url:"https://rpc.testnet.oonechain.com"}],333777:[{url:"https://rpc.dev.oonechain.com"}],333888:[{url:"https://sparta-rpc.polis.tech"}],333999:[{url:"https://rpc.polis.tech"}],336655:[{url:"https://rpc-testnet.uniport.network"}],336666:[{url:"https://rpc.uniport.network"}],355110:[{url:"https://mainnet.bitfinity.network"}],355113:[{url:"https://testnet.bitfinity.network"}],360890:[{url:"https://tsub360890-eth-rpc.thetatoken.org/rpc"}],363636:[{url:"https://dgs-rpc.digitsoul.co.th"}],373737:[{url:"https://jsonrpc-test.hap.land"}],381931:[{url:"https://api.metalblockchain.org/ext/bc/C/rpc"}],381932:[{url:"https://tahoe.metalblockchain.org/ext/bc/C/rpc"}],404040:[{url:"https://mainnet-rpc.tipboxcoin.net"}],413413:[{url:"https://rpc1-testnet.aiechain.io"}],420420:[{url:"https://mainnet.kekchain.com"},{url:"https://rpc2.kekchain.com"},{url:"https://kek.interchained.org"},{url:"https://kekchain.interchained.org"}],420666:[{url:"https://testnet.kekchain.com"}],420692:[{url:"https://l2-testnet-rpc.altscan.org"}],421611:[{url:"https://rinkeby.arbitrum.io/rpc"}],421613:[{url:"https://endpoints.omniatech.io/v1/arbitrum/goerli/public",tracking:"none",trackingDetails:"All the data and metadata remain private to the users. No third party is able to access, analyze or track it. OMNIA leverages different technologies and approaches to guarantee the privacy of their users, from front-running protection and private mempools, to obfuscation and random dispatching. https://blog.omniatech.io/how-omnia-handles-your-personal-data"},{url:"https://arb-goerli.g.alchemy.com/v2/demo",tracking:"yes",trackingDetails:"We may collect certain information automatically when you use our Services, such as your Internet protocol (IP) address, user settings, MAC address, cookie identifiers, mobile carrier, mobile advertising and other unique identifiers, browser or device information, location information (including approximate location derived from IP address), and Internet service provider. https://www.alchemy.com/policies/privacy-policy"},{url:"https://arbitrum-goerli.public.blastapi.io",tracking:"limited",trackingDetails:"All the information in our logs (log data) can only be accessed for the last 7 days at any certain time, and it is completely purged after 14 days. We do not store any user information for longer periods of time or with any other purposes than investigating potential errors and service failures. https://blastapi.io/privacy-policy"},{url:"https://rpc.goerli.arbitrum.gateway.fm",tracking:"yes",trackingDetails:"When you use our services or visit our websites, we may log your device’s IP address for debugging and security reasons. We may retain this information for up to twelve months"},{url:"https://arbitrum-goerli-rpc.publicnode.com",tracking:"none",trackingDetails:"We do not store or track any user data with the exception of data that will be public on chain. We do not correlate wallets address's with IP's, any data which is needed to transact is deleted after 24 hours. We also do no use any Analytics or 3rd party website tracking. https://www.publicnode.com/privacy"},{url:"wss://arbitrum-goerli-rpc.publicnode.com",tracking:"none",trackingDetails:"We do not store or track any user data with the exception of data that will be public on chain. We do not correlate wallets address's with IP's, any data which is needed to transact is deleted after 24 hours. We also do no use any Analytics or 3rd party website tracking. https://www.publicnode.com/privacy"},{url:"https://api.zan.top/node/v1/arb/goerli/public",tracking:"limited",trackingDetails:"ZAN Node Service generally does not store any kind of user information (e.g. IP address, location, requst location, request data, etc.) that transits through our RPCs except for one senario ——we may track your IP address when you are using our RPCs and will delete it immediately when you stoping using our RPCs. To learn more, please review our privacy policy at https://a.zan.top/static/Privacy-Policy.pdf"},{url:"https://api.stateless.solutions/arbitrum-one/v1/77abba85-53e4-4430-a332-a46deb9900ea",tracking:"none",trackingDetails:"Through any of our RPC API endpoints, whether public or private, we do not collect personal identifiers such as IP addresses, request origins, or specific request data. https://www.stateless.solutions/api-usage-privacy-policy"},{url:"https://goerli-rollup.arbitrum.io/rpc"},{url:"https://arbitrum-goerli.publicnode.com"},{url:"wss://arbitrum-goerli.publicnode.com"}],421614:[{url:"https://arbitrum-sepolia.blockpi.network/v1/rpc/public ",tracking:"limited",trackingDetails:"We do not collect request data or request origin. We only temporarily record the request method names and IP addresses for 7 days to ensure our service functionality such as load balancing and DDoS protection. All the data is automatically deleted after 7 days and we do not store any user information for longer periods of time. https://blockpi.io/privacy-policy"},{url:"https://sepolia-rollup.arbitrum.io/rpc"}],424242:[{url:"https://rpc.testnet.fastexchain.com"}],431140:[{url:"https://rpc.markr.io/ext",tracking:"none",trackingDetails:"We only collect the minimum necessary information to provide our blockchain RPC service (caching). We do not use your data for commercial purposes. Any collected data is short-term and will be automatically deleted within 24 hours if not actively used. https://www.markr.io/privacy-policy"}],432201:[{url:"https://subnets.avax.network/dexalot/testnet/rpc"}],432204:[{url:"https://subnets.avax.network/dexalot/mainnet/rpc"}],444444:[{url:"https://sepolia.syndr.com/http"},{url:"wss://sepolia.syndr.com/ws"}],444900:[{url:"https://weelinknode1c.gw002.oneitfarm.com"}],471100:[{url:"https://test-rpc.patex.io"}],473861:[{url:"https://mainnet-rpc.ultraproscan.io"}],474142:[{url:"https://baas-rpc.luniverse.io:18545?lChainId=1641349324562974539"}],486487:[{url:"https://rpc.gobbl.io"}],49e4:[{url:"https://nova-0.gemini-3h.subspace.network/ws"}],504441:[{url:"https://subnets.avax.network/playdappne/mainnet/rpc"}],512512:[{url:"https://galaxy.block.caduceus.foundation"},{url:"wss://galaxy.block.caduceus.foundation"}],513100:[{url:"https://rpc.dischain.xyz"}],526916:[{url:"https://rpc.docoin.shop"}],534351:[{url:"https://scroll-sepolia.blockpi.network/v1/rpc/public",tracking:"limited",trackingDetails:"We do not collect request data or request origin. We only temporarily record the request method names and IP addresses for 7 days to ensure our service functionality such as load balancing and DDoS protection. All the data is automatically deleted after 7 days and we do not store any user information for longer periods of time. https://blockpi.io/privacy-policy"},{url:"https://scroll-testnet-public.unifra.io",tracking:"limited",trackingDetails:"Regarding the RPC(remote procedure call) data, we do not collect request data or request origin. We temporarily record the request method names and IP addresses for 7 days to ensure our service functionality such as load balancing and DDoS protection. All the data is automatically deleted after 7 days. Only the amounts of RPC requests of users are recorded for accounting and billing purposes within longer time. https://unifra.io/"},{url:"https://rpc.ankr.com/scroll_sepolia_testnet",tracking:"limited",trackingDetails:"For service delivery purposes, we temporarily record IP addresses to set usage limits and monitor for denial of service attacks against our infrastructure. Though we do look at high-level data around the success rate of transactions made over the blockchain RPC, we do not correlate wallet transactions made over the infrastructure to the IP address making the RPC request. Thus, we do not store, exploit, or share any information regarding Personal Identifiable Information (PII), including wallet addresses. https://www.ankr.com/blog/ankrs-ip-address-policy-and-your-privacy/"},{url:"https://scroll-public.scroll-testnet.quiknode.pro",tracking:"yes",trackingDetails:"Information about your computer hardware and software may be automatically collected by QuickNode. This information can include such details as your IP address, browser type, domain names, access times and referring website addresses.https://www.quicknode.com/privacy"},{url:"https://scroll-sepolia.chainstacklabs.com",tracking:"yes",trackingDetails:"We process certain personal data to provide you with the core functionality of our Services. Specifically, when you are: Using the Chainstack Console, we process your name, surname, email address (your account identifier), organization name, IP address, all HTTP headers (most importantly User-Agent), cookies; Using the Chainstack Blockchain infrastructure, we process nodes' token stored in Chainstack Vault, IP address and HTTP headers, request body, API token in Chainstack Vault.https://chainstack.com/privacy/"},{url:"https://scroll-sepolia.drpc.org",tracking:"none",trackingDetails:"Specific types of technical data that we may temporarily log include:IP address (only in logs for redirecting requests to the nearest RPC nodes and rate limiting at the free level, which are cleared weekly). The user ID is hidden in the temporary logs, so it is not possible to link them to a specific user.https://drpc.org/privacy-policy"},{url:"https://scroll-testnet.rpc.grove.city/v1/a7a7c8e2",tracking:"none",trackingDetails:"What We Do Not Collect: User's IP address, request origin, request data. https://www.blog.pokt.network/rpc-logging-practices/"},{url:"http://scroll-sepolia-rpc.01no.de:8545"},{url:"https://sepolia-rpc.scroll.io"}],534352:[{url:"https://rpc.scroll.io"},{url:"https://rpc-scroll.icecreamswap.com"},{url:"https://scroll-mainnet.public.blastapi.io",tracking:"limited",trackingDetails:"All the information in our logs (log data) can only be accessed for the last 7 days at any certain time, and it is completely purged after 14 days. We do not store any user information for longer periods of time or with any other purposes than investigating potential errors and service failures. https://blastapi.io/privacy-policy"},{url:"https://scroll-mainnet-public.unifra.io",tracking:"limited",trackingDetails:"Regarding the RPC(remote procedure call) data, we do not collect request data or request origin. We temporarily record the request method names and IP addresses for 7 days to ensure our service functionality such as load balancing and DDoS protection. All the data is automatically deleted after 7 days. Only the amounts of RPC requests of users are recorded for accounting and billing purposes within longer time. https://unifra.io/"},{url:"https://scroll.blockpi.network/v1/rpc/public",tracking:"limited",trackingDetails:"We do not collect request data or request origin. We only temporarily record the request method names and IP addresses for 7 days to ensure our service functionality such as load balancing and DDoS protection. All the data is automatically deleted after 7 days and we do not store any user information for longer periods of time. https://blockpi.io/privacy-policy"},{url:"https://1rpc.io/scroll",tracking:"none",trackingDetails:"With the exception of data that will be public on chain, all the other metadata / data should remain private to users and other parties should not be able to access or collect it. 1RPC uses many different techniques to prevent the unnecessary collection of user privacy, which prevents tracking from RPC providers. https://docs.1rpc.io/technology/zero-tracking"},{url:"https://scroll.drpc.org",tracking:"none",trackingDetails:"Specific types of technical data that we may temporarily log include:IP address (only in logs for redirecting requests to the nearest RPC nodes and rate limiting at the free level, which are cleared weekly). The user ID is hidden in the temporary logs, so it is not possible to link them to a specific user.https://drpc.org/privacy-policy"},{url:"https://scroll-mainnet.rpc.grove.city/v1/a7a7c8e2",tracking:"none",trackingDetails:"What We Do Not Collect: User's IP address, request origin, request data. https://www.blog.pokt.network/rpc-logging-practices/"},{url:"https://rpc.ankr.com/scroll"},{url:"https://scroll-mainnet.chainstacklabs.com"}],534849:[{url:"https://rpc.shinarium.org"}],535037:[{url:"https://mainnet-rpc.bescscan.io"}],552981:[{url:"https://testnet-rpc.oneworldchain.org"}],555555:[{url:"https://rpc-testnet.pentagon.games"}],555666:[{url:"https://subnets.avax.network/eclipsecha/testnet/rpc"}],622277:[{url:"https://rpc.hypra.network"},{url:"https://rpc.rethereum.org"},{url:"https://rethereum.rpc.restratagem.com"},{url:"https://rpc.rthcentral.org"},{url:"https://hypra.rpc.thirdweb.com"}],622463:[{url:"https://rpc.testnet.atl.network"}],641230:[{url:"https://brnkc-mainnet.bearnetwork.net"},{url:"https://brnkc-mainnet1.bearnetwork.net"}],651940:[{url:"https://mainnet-rpc.alltra.global"}],656476:[{url:"https://rpc.open-campus-codex.gelato.digital"}],660279:[{url:"https://xai-chain.net/rpc"}],666666:[{url:"https://vpioneer.infragrid.v.network/ethereum/compatible"}],666888:[{url:"https://testnet-rpc.helachain.com"}],686868:[{url:"https://rpc.wonnetwork.org"}],696969:[{url:"https://devnet.galadriel.com"}],710420:[{url:"https://subnets.avax.network/tiltyard/mainnet/rpc"}],713715:[{url:"https://evm-rpc-arctic-1.sei-apis.com"},{url:"https://evm-rpc.arctic-1.seinetwork.io"}],721529:[{url:"https://mainnet-rpc.eramscan.com"}],743111:[{url:"https://testnet.rpc.hemi.network/rpc"}],751230:[{url:"https://brnkc-test.bearnetwork.net"}],752024:[{url:"https://rpc.zkevm.ternoa.network"}],761412:[{url:"https://mainnet-rpc.miexs.com"}],764984:[{url:"https://subnets.avax.network/lamina1tes/testnet/rpc"}],767368:[{url:"https://subnets.avax.network/lamina1id/testnet/rpc"}],776877:[{url:"https://fraa-dancebox-3035-rpc.a.dancebox.tanssi.network"}],800001:[{url:"https://rpc.octa.space"},{url:"wss://rpc.octa.space"}],808080:[{url:"https://rpc-testnet.bizex.io"}],808813:[{url:"https://bob-sepolia.rpc.gobob.xyz"},{url:"wss://bob-sepolia.rpc.gobob.xyz"}],810180:[{url:"https://rpc.zklink.io"},{url:"wss://rpc.zklink.io"}],810181:[{url:"https://sepolia.rpc.zklink.io"},{url:"wss://sepolia.rpc.zklink.io"}],810182:[{url:"https://goerli.rpc.zklink.io"},{url:"wss://goerli.rpc.zklink.io"}],820522:[{url:"https://testnet.tscscan.io/testrpc"}],827431:[{url:"https://mainnet-rpc.curvescan.io"}],839320:[{url:"https://testnet-rpc.prmscan.org"}],84e4:[{url:"https://rpc.runevm.io"}],846e3:[{url:"https://chain.deptofgood.com"}],855456:[{url:"https://fraa-dancebox-3041-rpc.a.dancebox.tanssi.network"},{url:"wss://fraa-dancebox-3041-rpc.a.dancebox.tanssi.network"}],879151:[{url:"https://mainnet-rpc.blxscan.com"}],888882:[{url:"https://rpc.rexxnetwork.com"}],888888:[{url:"https://infragrid.v.network/ethereum/compatible"}],9e5:[{url:"https://api.posichain.org"},{url:"https://api.s0.posichain.org"}],91e4:[{url:"https://api.s0.t.posichain.org"}],912559:[{url:"https://rpc.evm.dusk-3.devnet.astria.org"}],92e4:[{url:"https://api.s0.d.posichain.org"}],920001:[{url:"https://api.s1.d.posichain.org"}],923018:[{url:"https://fncy-testnet-seed.fncy.world"}],955081:[{url:"https://subnets.avax.network/jono12/testnet/rpc"}],955305:[{url:"https://host-76-74-28-226.contentfabric.io/eth"},{url:"https://host-76-74-28-232.contentfabric.io/eth"},{url:"https://host-76-74-29-2.contentfabric.io/eth"},{url:"https://host-76-74-29-8.contentfabric.io/eth"},{url:"https://host-76-74-29-34.contentfabric.io/eth"},{url:"https://host-76-74-29-35.contentfabric.io/eth"},{url:"https://host-154-14-211-98.contentfabric.io/eth"},{url:"https://host-154-14-192-66.contentfabric.io/eth"},{url:"https://host-60-240-133-202.contentfabric.io/eth"},{url:"https://host-64-235-250-98.contentfabric.io/eth"}],978657:[{url:"https://rpc-testnet.treasure.lol/http"},{url:"wss://rpc-testnet.treasure.lol/ws"}],984122:[{url:"https://rpc.forma.art"}],984123:[{url:"https://rpc.sketchpad-1.forma.art"}],988207:[{url:"https://mainnet-rpc.ecroxscan.com"}],998899:[{url:"https://testnet-rpc.supernet.chaingames.io"}],999999:[{url:"https://node1.amchain.net"}],1100789:[{url:"https://testblock.protago-dev.com"}],1127469:[{url:"https://subnets.avax.network/tiltyard/testnet/rpc"}],1234567:[{url:"https://mainnet.sharecle.com"}],1261120:[{url:"https://rpc.zkatana.gelato.digital"},{url:"https://rpc.startale.com/zkatana"},{url:"https://astar-zkatana.drpc.org"},{url:"wss://astar-zkatana.drpc.org"}],1313114:[{url:"https://rpc.ethoprotocol.com"}],1313500:[{url:"https://rpc.xerom.org"}],1337702:[{url:"https://rpc.kintsugi.themerge.dev"}],1337802:[{url:"https://rpc.kiln.themerge.dev"}],1337803:[{url:"https://rpc.zhejiang.ethpandaops.io"}],1398243:[{url:"https://automata-testnet.alt.technology"}],1612127:[{url:"https://albireo-rpc.playfi.ai"}],1637450:[{url:"https://xterio-testnet.alt.technology"}],1731313:[{url:"https://devchain-poa.huabeizhenxuan.com"}],2021398:[{url:"http://rpc.testnet.debank.com"}],2099156:[{url:"https://mainnet.plian.io/pchain"}],2206132:[{url:"https://devnet2openapi.platon.network/rpc"},{url:"wss://devnet2openapi.platon.network/ws"}],2611555:[{url:"https://sc-rpc.dpu.ac.th"}],2702128:[{url:"https://xterio-eth.alt.technology"}],3132023:[{url:"https://mainnet.saharalabs.ai"}],3397901:[{url:"https://funki-testnet.alt.technology"}],3441005:[{url:"https://manta-testnet.calderachain.xyz/http"},{url:"https://manta-pacific-testnet.drpc.org"},{url:"wss://manta-pacific-testnet.drpc.org"}],3441006:[{url:"https://pacific-rpc.sepolia-testnet.manta.network/http"}],4000003:[{url:"https://zero.alt.technology"}],4281033:[{url:"https://worlds-test.calderachain.xyz/http"}],4444444:[{url:"https://altar-rpc.ceremonies.ai"}],4457845:[{url:"https://rpc.zerion.io/v1/zero-sepolia"}],5112023:[{url:"https://rpc-mainnet.numblock.org"}],5167003:[{url:"https://wannsee-rpc.mxc.com"}],5167004:[{url:"https://geneva-rpc.moonchain.com"}],5201420:[{url:"https://testnet-rpc.electroneum.com"}],5318008:[{url:"https://kopli-rpc.reactive.network"},{url:"http://kopli-rpc.rkt.ink"}],5555555:[{url:"https://jsonrpc.imversed.network"},{url:"https://ws-jsonrpc.imversed.network"}],5555558:[{url:"https://jsonrpc-test.imversed.network"},{url:"https://ws-jsonrpc-test.imversed.network"}],6038361:[{url:"https://rpc.startale.com/zkyoto"},{url:"https://rpc.zkyoto.gelato.digital"}],6666665:[{url:"https://rpc.anwang.com"}],6666666:[{url:"https://rpc-testnet.anwang.com"}],7225878:[{url:"https://rpc.saakuru.network"}],7355310:[{url:"https://mainnet-external.openvessel.io"}],7668378:[{url:"https://rpc.testnet.qom.one"}],7762959:[{url:"https://mewapi.musicoin.tw"}],7777777:[{url:"https://rpc.zora.energy"}],8007736:[{url:"https://mainnet.plian.io/child_0"}],8008135:[{url:"https://api.helium.fhenix.zone"}],8080808:[{url:"https://mainnet.hokum.gg"}],8601152:[{url:"https://rpc.testnet8.waterfall.network"}],8794598:[{url:"https://jsonrpc.hap.land"}],9322252:[{url:"https://xcap-mainnet.relay.xcap.network/znzvh2ueyvm2yts5fv5gnul395jbkfb2/rpc1"}],9322253:[{url:"https://xcap-milvine.relay.xcap.network/zj5l55ftsgi027kz4nf14vs8d89inego/rpc1"}],9999999:[{url:"https://rpc.mainnet.fluence.dev"},{url:"wss://ws.mainnet.fluence.dev"}],10067275:[{url:"https://testnet.plian.io/child_test"}],10101010:[{url:"https://mainnet-rpc.soverun.com"}],10241024:[{url:"https://rpc.alienxchain.io/http"}],10241025:[{url:"https://hal-rpc.alienxchain.io/http"},{url:"https://hal.rpc.caldera.xyz/http"}],11145513:[{url:"https://blessnet-sepolia-testnet.rpc.caldera.xyz/http"},{url:"wss://blessnet-sepolia-testnet.rpc.caldera.xyz/ws"}],11155111:[{url:"https://eth-sepolia.g.alchemy.com/v2/demo",tracking:"yes",trackingDetails:"We may collect certain information automatically when you use our Services, such as your Internet protocol (IP) address, user settings, MAC address, cookie identifiers, mobile carrier, mobile advertising and other unique identifiers, browser or device information, location information (including approximate location derived from IP address), and Internet service provider. https://www.alchemy.com/policies/privacy-policy"},{url:"https://endpoints.omniatech.io/v1/eth/sepolia/public",tracking:"none",trackingDetails:"All the data and metadata remain private to the users. No third party is able to access, analyze or track it. OMNIA leverages different technologies and approaches to guarantee the privacy of their users, from front-running protection and private mempools, to obfuscation and random dispatching. https://blog.omniatech.io/how-omnia-handles-your-personal-data"},{url:"https://ethereum-sepolia.blockpi.network/v1/rpc/public",tracking:"limited",trackingDetails:"We do not collect request data or request origin. We only temporarily record the request method names and IP addresses for 7 days to ensure our service functionality such as load balancing and DDoS protection. All the data is automatically deleted after 7 days and we do not store any user information for longer periods of time. https://blockpi.io/privacy-policy"},{url:"https://eth-sepolia.public.blastapi.io",tracking:"limited",trackingDetails:"All the information in our logs (log data) can only be accessed for the last 7 days at any certain time, and it is completely purged after 14 days. We do not store any user information for longer periods of time or with any other purposes than investigating potential errors and service failures. https://blastapi.io/privacy-policy"},{url:"https://eth-sepolia-public.unifra.io",tracking:"limited",trackingDetails:"Regarding the RPC(remote procedure call) data, we do not collect request data or request origin. We temporarily record the request method names and IP addresses for 7 days to ensure our service functionality such as load balancing and DDoS protection. All the data is automatically deleted after 7 days. Only the amounts of RPC requests of users are recorded for accounting and billing purposes within longer time. https://unifra.io/"},{url:"https://sepolia.gateway.tenderly.co",tracking:"yes",trackingDetails:"Additionally, if you are an Account Member, we may collect business and transactional data about you (and your business) that accumulates over the normal course of operation regarding providing our Services. This may include transaction records, stored files, user profiles, information about collaborators, analytics data, and other metrics, as well as other types of information created or generated by your interaction with our Services. https://tenderly.co/privacy-policy"},{url:"https://gateway.tenderly.co/public/sepolia",tracking:"yes",trackingDetails:"Additionally, if you are an Account Member, we may collect business and transactional data about you (and your business) that accumulates over the normal course of operation regarding providing our Services. This may include transaction records, stored files, user profiles, information about collaborators, analytics data, and other metrics, as well as other types of information created or generated by your interaction with our Services. https://tenderly.co/privacy-policy"},{url:"https://sphinx.shardeum.org",tracking:"yes",trackingDetails:"Shardeum follows a standard procedure of using log files. These files log visitors when they visit websites... The information collected by log files includes IP addresses, browser type, ISP, date and time stamp, referring/exit pages, and potentially the number of clicks.https://shardeum.org/privacy-policy/"},{url:"https://dapps.shardeum.org",tracking:"yes",trackingDetails:"Shardeum follows a standard procedure of using log files. These files log visitors when they visit websites... The information collected by log files includes IP addresses, browser type, ISP, date and time stamp, referring/exit pages, and potentially the number of clicks.https://shardeum.org/privacy-policy/"},{url:"https://api.zan.top/node/v1/eth/sepolia/public",tracking:"limited",trackingDetails:"ZAN Node Service generally does not store any kind of user information (e.g. IP address, location, requst location, request data, etc.) that transits through our RPCs except for one senario ——we may track your IP address when you are using our RPCs and will delete it immediately when you stoping using our RPCs. To learn more, please review our privacy policy at https://a.zan.top/static/Privacy-Policy.pdf"},{url:"https://rpc.notadegen.com/eth/sepolia"},{url:"https://ethereum-sepolia-rpc.publicnode.com",tracking:"none",trackingDetails:"We do not store or track any user data with the exception of data that will be public on chain. We do not correlate wallets address's with IP's, any data which is needed to transact is deleted after 24 hours. We also do no use any Analytics or 3rd party website tracking. https://www.publicnode.com/privacy"},{url:"wss://ethereum-sepolia-rpc.publicnode.com",tracking:"none",trackingDetails:"We do not store or track any user data with the exception of data that will be public on chain. We do not correlate wallets address's with IP's, any data which is needed to transact is deleted after 24 hours. We also do no use any Analytics or 3rd party website tracking. https://www.publicnode.com/privacy"},{url:"https://1rpc.io/sepolia",tracking:"none",trackingDetails:"With the exception of data that will be public on chain, all the other metadata / data should remain private to users and other parties should not be able to access or collect it. 1RPC uses many different techniques to prevent the unnecessary collection of user privacy, which prevents tracking from RPC providers. https://docs.1rpc.io/technology/zero-tracking"},{url:"https://eth-sepolia.api.onfinality.io/public",tracking:"limited",trackingDetails:"For the sole purpose of providing our service, we temporarily record IP addresses and origins to check against free limits, provide load balancing, prevent DOS attacks, and to determine where best to locate our nodes. We do not, and will never, correlate or link specific wallet addresses or transactions made over our infrastructure to the IP address or origin making the RPC request. After processing IP addresses, we discard the IP address value within 24 hours. Read more here: https://blog.onfinality.io/how-does-onfinality-deal-with-personal-information/"},{url:"https://rpc.sepolia.org"},{url:"https://rpc2.sepolia.org"},{url:"https://rpc-sepolia.rockx.com"},{url:"https://rpc.sepolia.ethpandaops.io"},{url:"wss://sepolia.gateway.tenderly.co"},{url:"https://sepolia.drpc.org"},{url:"wss://sepolia.drpc.org"}],11155420:[{url:"https://optimism-sepolia.blockpi.network/v1/rpc/public",tracking:"limited",trackingDetails:"We do not collect request data or request origin. We only temporarily record the request method names and IP addresses for 7 days to ensure our service functionality such as load balancing and DDoS protection. All the data is automatically deleted after 7 days and we do not store any user information for longer periods of time. https://blockpi.io/privacy-policy"},{url:"https://sepolia.optimism.io"},{url:"https://optimism-sepolia.drpc.org"},{url:"wss://optimism-sepolia.drpc.org"}],12052024:[{url:"https://test-rpc.mementoblockchain.com/IRkghvI3FfEArEJMr4zC/rpc"}],12227332:[{url:"https://testnet.rpc.banelabs.org"}],13068200:[{url:"https://devnet.coti.io/rpc"}],13371337:[{url:"https://churchill-rpc.pepchain.io"}],14288640:[{url:"https://rpc.anduschain.io/rpc"},{url:"wss://rpc.anduschain.io/ws"}],16658437:[{url:"https://testnet.plian.io/testnet"}],17000920:[{url:"https://testnrpc.lambda.im"}],18071918:[{url:"https://mande-mainnet.public.blastapi.io"}],18289463:[{url:"https://net.iolite.io"}],19850818:[{url:"https://rpc-testnet.dbcwallet.io"}],19880818:[{url:"https://rpc.dbcwallet.io"}],20180427:[{url:"https://free.testnet.stabilityprotocol.com"}],20180430:[{url:"https://jsonapi1.smartmesh.cn"}],20181205:[{url:"https://hz.rpc.qkiscan.cn"},{url:"https://rpc1.qkiscan.cn"},{url:"https://rpc2.qkiscan.cn"},{url:"https://rpc3.qkiscan.cn"},{url:"https://rpc1.qkiscan.io"},{url:"https://rpc2.qkiscan.io"},{url:"https://rpc3.qkiscan.io"},{url:"https://jp.rpc.qkiscan.io"}],20201022:[{url:"https://pegorpc.com"},{url:"https://node1.pegorpc.com"},{url:"https://node2.pegorpc.com"},{url:"https://node3.pegorpc.com"}],20230825:[{url:"https://testnet.vcity.app"}],20240324:[{url:"https://sepolia-rpc.testnet.debank.com"}],20240603:[{url:"https://rpc.mainnet.dbkchain.io"}],20241133:[{url:"https://rpc-proxima.swanchain.io"}],20482050:[{url:"https://testnet.hokum.gg"}],22052002:[{url:"https://edgewallet1.xlon.org"}],27082017:[{url:"https://testnet-rpc.exlscan.com"}],27082022:[{url:"https://rpc.exlscan.com"}],28122024:[{url:"https://rpcv2-testnet.ancient8.gg"}],28945486:[{url:"https://rpc.auxilium.global"}],29032022:[{url:"https://flachain.flaexchange.top"}],35855456:[{url:"https://node.joys.digital"}],37084624:[{url:"https://testnet.skalenodes.com/v1/lanky-ill-funny-testnet"},{url:"wss://testnet.skalenodes.com/v1/ws/lanky-ill-funny-testnet"}],39916801:[{url:"https://kingdomchain.observer/rpc"}],43214913:[{url:"http://174.138.9.169:9650/ext/bc/VUKSzFZKckx4PoZF9gX5QAqLPxbLzvu1vcssPG5QuodaJtdHT/rpc"}],52164803:[{url:"https://rpc.testnet.fluence.dev"},{url:"wss://ws.testnet.fluence.dev"}],61717561:[{url:"https://c.onical.org"},{url:"https://tx.aquacha.in/api"}],65010003:[{url:"https://rpc1.bakerloo.autonity.org"},{url:"wss://rpc1.bakerloo.autonity.org/ws"}],65100003:[{url:"https://rpc1.piccadilly.autonity.org"},{url:"wss://rpc1.piccadilly.autonity.org/ws"}],68840142:[{url:"https://rpc.testnet.frame.xyz/http"}],77787778:[{url:"https://rpc-test.0xhash.io"}],79479957:[{url:"https://rpc.sx-rollup-testnet.t.raas.gelato.cloud"}],88558801:[{url:"https://testnet.rpc.backstop.technology"}],88888888:[{url:"https://rpc.teamblockchain.team",tracking:"none",trackingDetails:"We only store and track data that will be publicly available on the blockchain, and do not collect or retain any other user data. https://policy.teamblockchain.team/"}],94204209:[{url:"https://rpc.polygon-blackberry.gelato.digital"},{url:"wss://ws.polygon-blackberry.gelato.digital"}],99415706:[{url:"https://toys.joys.cash"}],1e8:[{url:"https://rpc.ethos.cool"}],108160679:[{url:"https://evm.orai.io"}],111557560:[{url:"https://cyber-testnet.alt.technology"},{url:"wss://cyber-testnet.alt.technology/ws"},{url:"https://rpc.testnet.cyber.co"},{url:"wss://rpc.testnet.cyber.co"}],123420111:[{url:"https://rpc.opcelestia-raspberry.gelato.digital"},{url:"wss://ws.opcelestia-raspberry.gelato.digital"}],161221135:[{url:"https://testnet-rpc.plumenetwork.xyz/http"},{url:"wss://testnet-rpc.plumenetwork.xyz/ws"}],168587773:[{url:"https://blast-sepolia.blockpi.network/v1/rpc/public",tracking:"limited",trackingDetails:"We do not collect request data or request origin. We only temporarily record the request method names and IP addresses for 7 days to ensure our service functionality such as load balancing and DDoS protection. All the data is automatically deleted after 7 days and we do not store any user information for longer periods of time. https://blockpi.io/privacy-policy"},{url:"https://sepolia.blast.io"},{url:"https://blast-sepolia.drpc.org"},{url:"wss://blast-sepolia.drpc.org"}],192837465:[{url:"https://mainnet.gather.network"}],222000222:[{url:"https://testnet-rpc.meld.com"}],245022926:[{url:"https://devnet.neonevm.org"},{url:"https://neon-evm-devnet.drpc.org"},{url:"wss://neon-evm-devnet.drpc.org"}],245022929:[{url:"https://devnet.rollup.neonevm.org"}],245022934:[{url:"https://neon-proxy-mainnet.solana.p2p.org"},{url:"https://neon-mainnet.everstake.one"},{url:"https://neon-evm.drpc.org"},{url:"wss://neon-evm.drpc.org"}],278611351:[{url:"https://mainnet.skalenodes.com/v1/turbulent-unique-scheat"}],311752642:[{url:"https://mainnet-rpc.oneledger.network"}],328527624:[{url:"https://testnet-rpc.nal.network"}],333000333:[{url:"https://rpc-1.meld.com"}],356256156:[{url:"https://testnet.gather.network"}],476462898:[{url:"https://skopje-rpc.gptprotocol.io"}],486217935:[{url:"https://devnet.gather.network"}],531050104:[{url:"https://rpc.testnet.sophon.xyz"}],666666666:[{url:"https://rpc.degen.tips"}],888888888:[{url:"https://rpc.ancient8.gg"}],889910245:[{url:"https://rpc-testnet.ptcscan.io"}],889910246:[{url:"https://rpc.ptcscan.io"}],974399131:[{url:"https://testnet.skalenodes.com/v1/giant-half-dual-testnet"}],999999999:[{url:"https://sepolia.rpc.zora.energy"}],1020352220:[{url:"https://testnet.skalenodes.com/v1/aware-fake-trim-testnet"},{url:"wss://testnet.skalenodes.com/v1/ws/aware-fake-trim-testnet"}],1122334455:[{url:"https://rpc.iposlab.com"},{url:"https://rpc2.iposlab.com"}],1146703430:[{url:"http://cybeth1.cyberdeck.eu:8545"}],1273227453:[{url:"https://mainnet.skalenodes.com/v1/wan-red-ain"}],1313161554:[{url:"https://mainnet.aurora.dev"},{url:"https://endpoints.omniatech.io/v1/aurora/mainnet/public",tracking:"none",trackingDetails:"All the data and metadata remain private to the users. No third party is able to access, analyze or track it. OMNIA leverages different technologies and approaches to guarantee the privacy of their users, from front-running protection and private mempools, to obfuscation and random dispatching. https://blog.omniatech.io/how-omnia-handles-your-personal-data"},{url:"https://1rpc.io/aurora",tracking:"none",trackingDetails:"With the exception of data that will be public on chain, all the other metadata / data should remain private to users and other parties should not be able to access or collect it. 1RPC uses many different techniques to prevent the unnecessary collection of user privacy, which prevents tracking from RPC providers. https://docs.1rpc.io/technology/zero-tracking"},{url:"https://aurora.drpc.org",tracking:"none",trackingDetails:"Specific types of technical data that we may temporarily log include:IP address (only in logs for redirecting requests to the nearest RPC nodes and rate limiting at the free level, which are cleared weekly). The user ID is hidden in the temporary logs, so it is not possible to link them to a specific user.https://drpc.org/privacy-policy"},{url:"wss://aurora.drpc.org"}],1313161555:[{url:"https://endpoints.omniatech.io/v1/aurora/testnet/public",tracking:"none",trackingDetails:"All the data and metadata remain private to the users. No third party is able to access, analyze or track it. OMNIA leverages different technologies and approaches to guarantee the privacy of their users, from front-running protection and private mempools, to obfuscation and random dispatching. https://blog.omniatech.io/how-omnia-handles-your-personal-data"},{url:"https://testnet.aurora.dev"},{url:"https://aurora-testnet.drpc.org"},{url:"wss://aurora-testnet.drpc.org"}],1313161560:[{url:"https://powergold.aurora.dev"}],1350216234:[{url:"https://mainnet.skalenodes.com/v1/parallel-stormy-spica"},{url:"wss://mainnet.skalenodes.com/v1/ws/parallel-stormy-spica"}],1351057110:[{url:"https://staging-v3.skalenodes.com/v1/staging-fast-active-bellatrix"}],1380012617:[{url:"https://rari.calderachain.xyz/http"}],1380996178:[{url:"https://rpc.raptorchain.io/web3"}],1444673419:[{url:"https://testnet.skalenodes.com/v1/juicy-low-small-testnet"}],1482601649:[{url:"https://mainnet.skalenodes.com/v1/green-giddy-denebola"},{url:"wss://mainnet-proxy.skalenodes.com/v1/ws/green-giddy-denebola"}],1511670449:[{url:"https://rpc.gptprotocol.io"}],1564830818:[{url:"https://mainnet.skalenodes.com/v1/honorable-steel-rasalhague"}],16666e5:[{url:"https://api.harmony.one"},{url:"https://a.api.s0.t.hmny.io"},{url:"https://api.s0.t.hmny.io"},{url:"https://rpc.ankr.com/harmony",tracking:"limited",trackingDetails:"For service delivery purposes, we temporarily record IP addresses to set usage limits and monitor for denial of service attacks against our infrastructure. Though we do look at high-level data around the success rate of transactions made over the blockchain RPC, we do not correlate wallet transactions made over the infrastructure to the IP address making the RPC request. Thus, we do not store, exploit, or share any information regarding Personal Identifiable Information (PII), including wallet addresses. https://www.ankr.com/blog/ankrs-ip-address-policy-and-your-privacy/"},{url:"https://harmony.api.onfinality.io/public",tracking:"limited",trackingDetails:"For the sole purpose of providing our service, we temporarily record IP addresses and origins to check against free limits, provide load balancing, prevent DOS attacks, and to determine where best to locate our nodes. We do not, and will never, correlate or link specific wallet addresses or transactions made over our infrastructure to the IP address or origin making the RPC request. After processing IP addresses, we discard the IP address value within 24 hours. Read more here: https://blog.onfinality.io/how-does-onfinality-deal-with-personal-information/"},{url:"https://1rpc.io/one",tracking:"none",trackingDetails:"With the exception of data that will be public on chain, all the other metadata / data should remain private to users and other parties should not be able to access or collect it. 1RPC uses many different techniques to prevent the unnecessary collection of user privacy, which prevents tracking from RPC providers. https://docs.1rpc.io/technology/zero-tracking"},{url:"https://hmyone-pokt.nodies.app",tracking:"none",trackingDetails:"What We Do Not Collect: User's IP address, request origin, request data. https://www.blog.pokt.network/rpc-logging-practices/"},{url:"https://endpoints.omniatech.io/v1/harmony/mainnet-0/public",tracking:"none",trackingDetails:"All the data and metadata remain private to the users. No third party is able to access, analyze or track it. OMNIA leverages different technologies and approaches to guarantee the privacy of their users, from front-running protection and private mempools, to obfuscation and random dispatching. https://blog.omniatech.io/how-omnia-handles-your-personal-data"},{url:"https://harmony-0.drpc.org"},{url:"wss://harmony-0.drpc.org"}],1666600001:[{url:"https://s1.api.harmony.one"},{url:"https://api.s1.t.hmny.io"},{url:"https://harmony-1.drpc.org"},{url:"wss://harmony-1.drpc.org"}],16667e5:[{url:"https://endpoints.omniatech.io/v1/harmony/testnet-0/public",tracking:"none",trackingDetails:"All the data and metadata remain private to the users. No third party is able to access, analyze or track it. OMNIA leverages different technologies and approaches to guarantee the privacy of their users, from front-running protection and private mempools, to obfuscation and random dispatching. https://blog.omniatech.io/how-omnia-handles-your-personal-data"},{url:"https://api.s0.b.hmny.io"}],1666700001:[{url:"https://api.s1.b.hmny.io"}],16669e5:[{url:"https://api.s0.ps.hmny.io"}],1666900001:[{url:"https://api.s1.ps.hmny.io"}],1802203764:[{url:"https://sepolia-rpc.kakarot.org"}],1903648807:[{url:"https://gemutest-rpc.gemuchain.io"}],1918988905:[{url:"https://testnet.rpc.rarichain.org/http"}],2021121117:[{url:"https://23.92.21.121:8545"}],2046399126:[{url:"https://mainnet.skalenodes.com/v1/elated-tan-skat"},{url:"wss://mainnet.skalenodes.com/v1/elated-tan-skat"}],3125659152:[{url:"https://wallrpc.pirl.io"}],4216137055:[{url:"https://frankenstein-rpc.oneledger.network"}],11297108109:[{url:"https://palm-mainnet.infura.io/v3/3a961d6501e54add9a41aa53f15de99b",tracking:"limited",trackingDetails:"We collect wallet and IP address information. The purpose of this collection is to ensure successful transaction propagation, execution, and other important service functionality such as load balancing and DDoS protection. IP addresses and wallet address data relating to a transaction are not stored together or in a way that allows our systems to associate those two pieces of data. We retain and delete user data such as IP address and wallet address pursuant to our data retention policy. https://consensys.net/blog/news/consensys-data-retention-update/"},{url:"https://palm-mainnet.public.blastapi.io",tracking:"limited",trackingDetails:"All the information in our logs (log data) can only be accessed for the last 7 days at any certain time, and it is completely purged after 14 days. We do not store any user information for longer periods of time or with any other purposes than investigating potential errors and service failures. https://blastapi.io/privacy-policy"}],11297108099:[{url:"https://palm-testnet.public.blastapi.io",tracking:"limited",trackingDetails:"All the information in our logs (log data) can only be accessed for the last 7 days at any certain time, and it is completely purged after 14 days. We do not store any user information for longer periods of time or with any other purposes than investigating potential errors and service failures. https://blastapi.io/privacy-policy"}],28872323069:[{url:"https://testnet.gitswarm.com:2096"}],37714555429:[{url:"https://testnet-v2.xai-chain.net/rpc"}],88153591557:[{url:"https://rpc.arb-blueberry.gelato.digital"},{url:"wss://ws.arb-blueberry.gelato.digital"}],111222333444:[{url:"https://londonpublic.alphabetnetwork.org"},{url:"wss://londonpublic.alphabetnetwork.org/ws"},{url:"https://main-rpc.com"},{url:"wss://main-rpc.com/ws"}],123420000220:[{url:"https://rpc-123420000220.raas-testnet.gelato.digital"},{url:"wss://ws-123420000220.raas-testnet.gelato.digital"}],197710212030:[{url:"https://rpc.ntity.io"}],197710212031:[{url:"https://blockchain.haradev.com"}],202402181627:[{url:"https://gmnetwork-testnet.alt.technology"}],383414847825:[{url:"https://smart.zeniq.network:9545"}],666301171999:[{url:"https://mainnet.ipdc.io"}],6022140761023:[{url:"https://molereum.jdubedition.com"}],2713017997578e3:[{url:"https://dchaintestnet-2713017997578000-1.jsonrpc.testnet.sagarpc.io"}],2716446429837e3:[{url:"https://dchain-2716446429837000-1.jsonrpc.sagarpc.io"}]};var xs="0x000000000022D473030F116dDEE9F6B43aC78BA3";var Os="0xAa1bfC0e51969415d64d6dE74f27CDa0587e645b";var Ts="http://127.0.0.1:8545";var Us="http://127.0.0.1:8546";var Ms={...{...Xs},31337:"anvil",1337:"hardhat"};var zs=Object.fromEntries(Object.entries(Ms).map((([Wt,Pt])=>[Pt,Wt])));Reflect.deleteProperty(zs,"geth-testnet");Reflect.deleteProperty(zs,"gochain-testnet");var Ss=Object.fromEntries(Object.entries(zs).map((([,Wt])=>{const Pt=Bs[Wt];return[Wt,{rpcs:Pt}]})));var Ds=Object.fromEntries(Object.entries(zs).map((([,Wt])=>{const Pt=Js[Wt];return[Wt,Pt]})));var js=Object.fromEntries(Object.entries(Ls).map((([Wt,Pt])=>[Wt,Pt])));function getNetworkName(Wt){const Pt=Ms[Wt];if(!Pt){console.error(`Unknown network ID: ${Wt}`)}return Pt??"Unknown Network"}function getNetworkId(Wt){const Pt=zs[Wt];if(!Pt){console.error(`Unknown network name: ${Wt}`)}return Pt??-1}function getNetworkFaucets(Wt){const Pt=ks[Wt];if(!Pt){console.error(`There may not be any faucets for network ID: ${Wt}`)}return Pt??[]}function getNetworkExplorer(Wt){const Pt=Ds[Wt];if(!Pt){console.error(`There may not be any explorers for network ID: ${Wt}`)}return Pt??[]}function getNetworkRpcs(Wt){const Pt=Ss[Wt];if(!Pt){console.error(`There may not be any RPCs for network ID: ${Wt}`)}return Pt??[]}function getNetworkCurrency(Wt){const Pt=js[Wt];if(!Pt){console.error(`There may not be a currency for network ID: ${Wt}`)}return Pt??{name:"Unknown Token",symbol:"UNK",decimals:18}}function getNetworkData(Wt){return{name:getNetworkName(Wt),id:Wt,rpcs:getNetworkRpcs(Wt),currency:getNetworkCurrency(Wt),explorers:getNetworkExplorer(Wt),faucets:getNetworkFaucets(Wt)}}var _s=__toESM(rs());function getRpcUrls(Wt){const Pt=[];Wt.forEach((Wt=>{if(typeof Wt=="string"){Pt.push(Wt)}else{Pt.push(Wt.url)}}));return Pt}var Ks=class{constructor(){this.ok=this.ok.bind(this);this.info=this.info.bind(this);this.error=this.error.bind(this);this.fatal=this.fatal.bind(this);this.debug=this.debug.bind(this);this.verbose=this.verbose.bind(this)}log(Wt,Pt,en){this._logWithStack(Wt,Pt,en)}fatal(Wt,Pt){this._logWithStack(qs.FATAL,Wt,Pt)}error(Wt,Pt){this._logWithStack(qs.ERROR,Wt,Pt)}ok(Wt,Pt){this._logWithStack("ok",Wt,Pt)}info(Wt,Pt){this._logWithStack(qs.INFO,Wt,Pt)}debug(Wt,Pt){this._logWithStack(qs.DEBUG,Wt,Pt)}verbose(Wt,Pt){this._logWithStack(qs.VERBOSE,Wt,Pt)}getStackTrace(){try{throw new Error}catch(Wt){return Wt.stack?.split("\n")}}_logWithStack(Wt,Pt,en){if(!en){this._log(Wt,Pt);return}else if(typeof en==="string"){this._log(Wt,`${Pt} - ${en}`);return}else if(typeof en==="object"&&!(en.error||en?.stack)){this._log(Wt,`${Pt} ${!this._isEmpty(en)?JSON.stringify(en,null,2):""}`);return}const tn=en;let nn=tn?.error?.stack||tn?.stack;const an=this.getStackTrace();if(an){an.splice(0,4);nn=an.filter((Wt=>Wt.includes(".ts:"))).join("\n")}const In={...tn};delete In.message;delete In.name;delete In.stack;if(!this._isEmpty(In)){this._log(Wt,In)}if(nn&&typeof nn=="string"){const Pt=this._formatStackTrace(nn,1);const en=this._colorizeText(Pt,Ps.dim);this._log(Wt,en)}else if(nn&&Array.isArray(nn)){const Pt=this._formatStackTrace(nn.join("\n"),1);const en=this._colorizeText(Pt,Ps.dim);this._log(Wt,en)}}_colorizeText(Wt,Pt){if(!Pt){throw new Error(`Invalid color: ${Pt}`)}return Pt.concat(Wt).concat(Ps.reset)}_formatStackTrace(Wt,Pt=0,en=""){const tn=Wt.split("\n");for(let Wt=0;Wt`${en}${Wt.replace(/\s*at\s*/," ↳ ")}`)).join("\n")}_isEmpty(Wt){return!Reflect.ownKeys(Wt).some((Pt=>typeof Wt[String(Pt)]!=="function"))}_log(Wt,Pt){const en={fatal:"×",ok:"✓",error:"⚠",info:"›",debug:"››",verbose:"💬",none:""};const tn=en[Wt];const nn=typeof Pt==="string"?Pt:JSON.stringify(Pt,null,2);if(!nn||nn==="{}"||nn.trim()===""){return}const an=nn.split("\n");const In=an.map(((Wt,Pt)=>{const en=Pt===0?`\t${tn}`:`\t${" ".repeat(tn.length)}`;return`${en} ${Wt}`})).join("\n");const rn=In;const sn={fatal:["error",Ps.fgRed],ok:["log",Ps.fgGreen],error:["warn",Ps.fgYellow],info:["info",Ps.dim],debug:["debug",Ps.fgMagenta],verbose:["debug",Ps.dim],none:["log",Ps.reset]};const on=console[sn[Wt][0]];if(typeof on==="function"&&rn.length>0){on(this._colorizeText(rn,sn[Wt][1]))}else{throw new Error(rn)}}};var Ps={reset:"",bright:"",dim:"",underscore:"",blink:"",reverse:"",hidden:"",fgBlack:"",fgRed:"",fgGreen:"",fgYellow:"",fgBlue:"",fgMagenta:"",fgCyan:"",fgWhite:"",bgBlack:"",bgRed:"",bgGreen:"",bgYellow:"",bgBlue:"",bgMagenta:"",bgCyan:"",bgWhite:""};var qs={FATAL:"fatal",ERROR:"error",INFO:"info",VERBOSE:"verbose",DEBUG:"debug",NONE:"none"};function bind(Wt,Pt){return function wrap(){return Wt.apply(Pt,arguments)}}var{toString:$s}=Object.prototype;var{getPrototypeOf:eo}=Object;var to=(Wt=>Pt=>{const en=$s.call(Pt);return Wt[en]||(Wt[en]=en.slice(8,-1).toLowerCase())})(Object.create(null));var kindOfTest=Wt=>{Wt=Wt.toLowerCase();return Pt=>to(Pt)===Wt};var typeOfTest=Wt=>Pt=>typeof Pt===Wt;var{isArray:no}=Array;var lo=typeOfTest("undefined");function isBuffer(Wt){return Wt!==null&&!lo(Wt)&&Wt.constructor!==null&&!lo(Wt.constructor)&&ro(Wt.constructor.isBuffer)&&Wt.constructor.isBuffer(Wt)}var ao=kindOfTest("ArrayBuffer");function isArrayBufferView(Wt){let Pt;if(typeof ArrayBuffer!=="undefined"&&ArrayBuffer.isView){Pt=ArrayBuffer.isView(Wt)}else{Pt=Wt&&Wt.buffer&&ao(Wt.buffer)}return Pt}var Io=typeOfTest("string");var ro=typeOfTest("function");var so=typeOfTest("number");var isObject=Wt=>Wt!==null&&typeof Wt==="object";var isBoolean=Wt=>Wt===true||Wt===false;var isPlainObject=Wt=>{if(to(Wt)!=="object"){return false}const Pt=eo(Wt);return(Pt===null||Pt===Object.prototype||Object.getPrototypeOf(Pt)===null)&&!(Symbol.toStringTag in Wt)&&!(Symbol.iterator in Wt)};var oo=kindOfTest("Date");var co=kindOfTest("File");var io=kindOfTest("Blob");var uo=kindOfTest("FileList");var isStream=Wt=>isObject(Wt)&&ro(Wt.pipe);var isFormData=Wt=>{let Pt;return Wt&&(typeof FormData==="function"&&Wt instanceof FormData||ro(Wt.append)&&((Pt=to(Wt))==="formdata"||Pt==="object"&&ro(Wt.toString)&&Wt.toString()==="[object FormData]"))};var po=kindOfTest("URLSearchParams");var[mo,bo,Go,ho]=["ReadableStream","Request","Response","Headers"].map(kindOfTest);var trim=Wt=>Wt.trim?Wt.trim():Wt.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"");function forEach(Wt,Pt,{allOwnKeys:en=false}={}){if(Wt===null||typeof Wt==="undefined"){return}let tn;let nn;if(typeof Wt!=="object"){Wt=[Wt]}if(no(Wt)){for(tn=0,nn=Wt.length;tn0){nn=en[tn];if(Pt===nn.toLowerCase()){return nn}}return null}var Zo=(()=>{if(typeof globalThis!=="undefined")return globalThis;return typeof self!=="undefined"?self:typeof window!=="undefined"?window:global})();var isContextDefined=Wt=>!lo(Wt)&&Wt!==Zo;function merge(){const{caseless:Wt}=isContextDefined(this)&&this||{};const Pt={};const assignValue=(en,tn)=>{const nn=Wt&&findKey(Pt,tn)||tn;if(isPlainObject(Pt[nn])&&isPlainObject(en)){Pt[nn]=merge(Pt[nn],en)}else if(isPlainObject(en)){Pt[nn]=merge({},en)}else if(no(en)){Pt[nn]=en.slice()}else{Pt[nn]=en}};for(let Wt=0,Pt=arguments.length;Wt{forEach(Pt,((Pt,tn)=>{if(en&&ro(Pt)){Wt[tn]=bind(Pt,en)}else{Wt[tn]=Pt}}),{allOwnKeys:tn});return Wt};var stripBOM=Wt=>{if(Wt.charCodeAt(0)===65279){Wt=Wt.slice(1)}return Wt};var inherits=(Wt,Pt,en,tn)=>{Wt.prototype=Object.create(Pt.prototype,tn);Wt.prototype.constructor=Wt;Object.defineProperty(Wt,"super",{value:Pt.prototype});en&&Object.assign(Wt.prototype,en)};var toFlatObject=(Wt,Pt,en,tn)=>{let nn;let an;let In;const rn={};Pt=Pt||{};if(Wt==null)return Pt;do{nn=Object.getOwnPropertyNames(Wt);an=nn.length;while(an-- >0){In=nn[an];if((!tn||tn(In,Wt,Pt))&&!rn[In]){Pt[In]=Wt[In];rn[In]=true}}Wt=en!==false&&eo(Wt)}while(Wt&&(!en||en(Wt,Pt))&&Wt!==Object.prototype);return Pt};var endsWith=(Wt,Pt,en)=>{Wt=String(Wt);if(en===void 0||en>Wt.length){en=Wt.length}en-=Pt.length;const tn=Wt.indexOf(Pt,en);return tn!==-1&&tn===en};var toArray=Wt=>{if(!Wt)return null;if(no(Wt))return Wt;let Pt=Wt.length;if(!so(Pt))return null;const en=new Array(Pt);while(Pt-- >0){en[Pt]=Wt[Pt]}return en};var Ao=(Wt=>Pt=>Wt&&Pt instanceof Wt)(typeof Uint8Array!=="undefined"&&eo(Uint8Array));var forEachEntry=(Wt,Pt)=>{const en=Wt&&Wt[Symbol.iterator];const tn=en.call(Wt);let nn;while((nn=tn.next())&&!nn.done){const en=nn.value;Pt.call(Wt,en[0],en[1])}};var matchAll=(Wt,Pt)=>{let en;const tn=[];while((en=Wt.exec(Pt))!==null){tn.push(en)}return tn};var Wo=kindOfTest("HTMLFormElement");var toCamelCase=Wt=>Wt.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,(function replacer(Wt,Pt,en){return Pt.toUpperCase()+en}));var No=(({hasOwnProperty:Wt})=>(Pt,en)=>Wt.call(Pt,en))(Object.prototype);var go=kindOfTest("RegExp");var reduceDescriptors=(Wt,Pt)=>{const en=Object.getOwnPropertyDescriptors(Wt);const tn={};forEach(en,((en,nn)=>{let an;if((an=Pt(en,nn,Wt))!==false){tn[nn]=an||en}}));Object.defineProperties(Wt,tn)};var freezeMethods=Wt=>{reduceDescriptors(Wt,((Pt,en)=>{if(ro(Wt)&&["arguments","caller","callee"].indexOf(en)!==-1){return false}const tn=Wt[en];if(!ro(tn))return;Pt.enumerable=false;if("writable"in Pt){Pt.writable=false;return}if(!Pt.set){Pt.set=()=>{throw Error("Can not rewrite read-only method '"+en+"'")}}}))};var toObjectSet=(Wt,Pt)=>{const en={};const define2=Wt=>{Wt.forEach((Wt=>{en[Wt]=true}))};no(Wt)?define2(Wt):define2(String(Wt).split(Pt));return en};var noop=()=>{};var toFiniteNumber=(Wt,Pt)=>Wt!=null&&Number.isFinite(Wt=+Wt)?Wt:Pt;var yo="abcdefghijklmnopqrstuvwxyz";var vo="0123456789";var Yo={DIGIT:vo,ALPHA:yo,ALPHA_DIGIT:yo+yo.toUpperCase()+vo};var generateString=(Wt=16,Pt=Yo.ALPHA_DIGIT)=>{let en="";const{length:tn}=Pt;while(Wt--){en+=Pt[Math.random()*tn|0]}return en};function isSpecCompliantForm(Wt){return!!(Wt&&ro(Wt.append)&&Wt[Symbol.toStringTag]==="FormData"&&Wt[Symbol.iterator])}var toJSONObject=Wt=>{const Pt=new Array(10);const visit=(Wt,en)=>{if(isObject(Wt)){if(Pt.indexOf(Wt)>=0){return}if(!("toJSON"in Wt)){Pt[en]=Wt;const tn=no(Wt)?[]:{};forEach(Wt,((Wt,Pt)=>{const nn=visit(Wt,en+1);!lo(nn)&&(tn[Pt]=nn)}));Pt[en]=void 0;return tn}}return Wt};return visit(Wt,0)};var Eo=kindOfTest("AsyncFunction");var isThenable=Wt=>Wt&&(isObject(Wt)||ro(Wt))&&ro(Wt.then)&&ro(Wt.catch);var Vo={isArray:no,isArrayBuffer:ao,isBuffer:isBuffer,isFormData:isFormData,isArrayBufferView:isArrayBufferView,isString:Io,isNumber:so,isBoolean:isBoolean,isObject:isObject,isPlainObject:isPlainObject,isReadableStream:mo,isRequest:bo,isResponse:Go,isHeaders:ho,isUndefined:lo,isDate:oo,isFile:co,isBlob:io,isRegExp:go,isFunction:ro,isStream:isStream,isURLSearchParams:po,isTypedArray:Ao,isFileList:uo,forEach:forEach,merge:merge,extend:extend,trim:trim,stripBOM:stripBOM,inherits:inherits,toFlatObject:toFlatObject,kindOf:to,kindOfTest:kindOfTest,endsWith:endsWith,toArray:toArray,forEachEntry:forEachEntry,matchAll:matchAll,isHTMLForm:Wo,hasOwnProperty:No,hasOwnProp:No,reduceDescriptors:reduceDescriptors,freezeMethods:freezeMethods,toObjectSet:toObjectSet,toCamelCase:toCamelCase,noop:noop,toFiniteNumber:toFiniteNumber,findKey:findKey,global:Zo,isContextDefined:isContextDefined,ALPHABET:Yo,generateString:generateString,isSpecCompliantForm:isSpecCompliantForm,toJSONObject:toJSONObject,isAsyncFn:Eo,isThenable:isThenable};function AxiosError(Wt,Pt,en,tn,nn){Error.call(this);if(Error.captureStackTrace){Error.captureStackTrace(this,this.constructor)}else{this.stack=(new Error).stack}this.message=Wt;this.name="AxiosError";Pt&&(this.code=Pt);en&&(this.config=en);tn&&(this.request=tn);nn&&(this.response=nn)}Vo.inherits(AxiosError,Error,{toJSON:function toJSON(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:Vo.toJSONObject(this.config),code:this.code,status:this.response&&this.response.status?this.response.status:null}}});var Ro=AxiosError.prototype;var wo={};["ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","ECONNABORTED","ETIMEDOUT","ERR_NETWORK","ERR_FR_TOO_MANY_REDIRECTS","ERR_DEPRECATED","ERR_BAD_RESPONSE","ERR_BAD_REQUEST","ERR_CANCELED","ERR_NOT_SUPPORT","ERR_INVALID_URL"].forEach((Wt=>{wo[Wt]={value:Wt}}));Object.defineProperties(AxiosError,wo);Object.defineProperty(Ro,"isAxiosError",{value:true});AxiosError.from=(Wt,Pt,en,tn,nn,an)=>{const In=Object.create(Ro);Vo.toFlatObject(Wt,In,(function filter2(Wt){return Wt!==Error.prototype}),(Wt=>Wt!=="isAxiosError"));AxiosError.call(In,Wt.message,Pt,en,tn,nn);In.cause=Wt;In.name=Wt.name;an&&Object.assign(In,an);return In};var Fo=AxiosError;var Qo=__toESM(ys(),1);var fo=Qo.default;function isVisitable(Wt){return Vo.isPlainObject(Wt)||Vo.isArray(Wt)}function removeBrackets(Wt){return Vo.endsWith(Wt,"[]")?Wt.slice(0,-2):Wt}function renderKey(Wt,Pt,en){if(!Wt)return Pt;return Wt.concat(Pt).map((function each(Wt,Pt){Wt=removeBrackets(Wt);return!en&&Pt?"["+Wt+"]":Wt})).join(en?".":"")}function isFlatArray(Wt){return Vo.isArray(Wt)&&!Wt.some(isVisitable)}var Ho=Vo.toFlatObject(Vo,{},null,(function filter(Wt){return/^is[A-Z]/.test(Wt)}));function toFormData(Wt,Pt,en){if(!Vo.isObject(Wt)){throw new TypeError("target must be an object")}Pt=Pt||new(fo||FormData);en=Vo.toFlatObject(en,{metaTokens:true,dots:false,indexes:false},false,(function defined(Wt,Pt){return!Vo.isUndefined(Pt[Wt])}));const tn=en.metaTokens;const nn=en.visitor||defaultVisitor;const an=en.dots;const In=en.indexes;const rn=en.Blob||typeof Blob!=="undefined"&&Blob;const sn=rn&&Vo.isSpecCompliantForm(Pt);if(!Vo.isFunction(nn)){throw new TypeError("visitor must be a function")}function convertValue(Wt){if(Wt===null)return"";if(Vo.isDate(Wt)){return Wt.toISOString()}if(!sn&&Vo.isBlob(Wt)){throw new Fo("Blob is not supported. Use a Buffer instead.")}if(Vo.isArrayBuffer(Wt)||Vo.isTypedArray(Wt)){return sn&&typeof Blob==="function"?new Blob([Wt]):Buffer.from(Wt)}return Wt}function defaultVisitor(Wt,en,nn){let rn=Wt;if(Wt&&!nn&&typeof Wt==="object"){if(Vo.endsWith(en,"{}")){en=tn?en:en.slice(0,-2);Wt=JSON.stringify(Wt)}else if(Vo.isArray(Wt)&&isFlatArray(Wt)||(Vo.isFileList(Wt)||Vo.endsWith(en,"[]"))&&(rn=Vo.toArray(Wt))){en=removeBrackets(en);rn.forEach((function each(Wt,tn){!(Vo.isUndefined(Wt)||Wt===null)&&Pt.append(In===true?renderKey([en],tn,an):In===null?en:en+"[]",convertValue(Wt))}));return false}}if(isVisitable(Wt)){return true}Pt.append(renderKey(nn,en,an),convertValue(Wt));return false}const on=[];const cn=Object.assign(Ho,{defaultVisitor:defaultVisitor,convertValue:convertValue,isVisitable:isVisitable});function build(Wt,en){if(Vo.isUndefined(Wt))return;if(on.indexOf(Wt)!==-1){throw Error("Circular reference detected in "+en.join("."))}on.push(Wt);Vo.forEach(Wt,(function each(Wt,tn){const an=!(Vo.isUndefined(Wt)||Wt===null)&&nn.call(Pt,Wt,Vo.isString(tn)?tn.trim():tn,en,cn);if(an===true){build(Wt,en?en.concat(tn):[tn])}}));on.pop()}if(!Vo.isObject(Wt)){throw new TypeError("data must be an object")}build(Wt);return Pt}var Co=toFormData;function encode(Wt){const Pt={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"};return encodeURIComponent(Wt).replace(/[!'()~]|%20|%00/g,(function replacer(Wt){return Pt[Wt]}))}function AxiosURLSearchParams(Wt,Pt){this._pairs=[];Wt&&Co(Wt,this,Pt)}var Xo=AxiosURLSearchParams.prototype;Xo.append=function append(Wt,Pt){this._pairs.push([Wt,Pt])};Xo.toString=function toString2(Wt){const Pt=Wt?function(Pt){return Wt.call(this,Pt,encode)}:encode;return this._pairs.map((function each(Wt){return Pt(Wt[0])+"="+Pt(Wt[1])}),"").join("&")};var ko=AxiosURLSearchParams;function encode2(Wt){return encodeURIComponent(Wt).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}function buildURL(Wt,Pt,en){if(!Pt){return Wt}const tn=en&&en.encode||encode2;const nn=en&&en.serialize;let an;if(nn){an=nn(Pt,en)}else{an=Vo.isURLSearchParams(Pt)?Pt.toString():new ko(Pt,en).toString(tn)}if(an){const Pt=Wt.indexOf("#");if(Pt!==-1){Wt=Wt.slice(0,Pt)}Wt+=(Wt.indexOf("?")===-1?"?":"&")+an}return Wt}var Jo=class{constructor(){this.handlers=[]}use(Wt,Pt,en){this.handlers.push({fulfilled:Wt,rejected:Pt,synchronous:en?en.synchronous:false,runWhen:en?en.runWhen:null});return this.handlers.length-1}eject(Wt){if(this.handlers[Wt]){this.handlers[Wt]=null}}clear(){if(this.handlers){this.handlers=[]}}forEach(Wt){Vo.forEach(this.handlers,(function forEachHandler(Pt){if(Pt!==null){Wt(Pt)}}))}};var Lo=Jo;var Bo={silentJSONParsing:true,forcedJSONParsing:true,clarifyTimeoutError:false};var xo=__toESM(en(87016),1);var Oo=xo.default.URLSearchParams;var To={isNode:true,classes:{URLSearchParams:Oo,FormData:fo,Blob:typeof Blob!=="undefined"&&Blob||null},protocols:["http","https","file","data"]};var Uo={};__export(Uo,{hasBrowserEnv:()=>Mo,hasStandardBrowserEnv:()=>zo,hasStandardBrowserWebWorkerEnv:()=>So,origin:()=>Do});var Mo=typeof window!=="undefined"&&typeof document!=="undefined";var zo=(Wt=>Mo&&["ReactNative","NativeScript","NS"].indexOf(Wt)<0)(typeof navigator!=="undefined"&&navigator.product);var So=(()=>typeof WorkerGlobalScope!=="undefined"&&self instanceof WorkerGlobalScope&&typeof self.importScripts==="function")();var Do=Mo&&window.location.href||"http://localhost";var jo={...Uo,...To};function toURLEncodedForm(Wt,Pt){return Co(Wt,new jo.classes.URLSearchParams,Object.assign({visitor:function(Wt,Pt,en,tn){if(jo.isNode&&Vo.isBuffer(Wt)){this.append(Pt,Wt.toString("base64"));return false}return tn.defaultVisitor.apply(this,arguments)}},Pt))}function parsePropPath(Wt){return Vo.matchAll(/\w+|\[(\w*)]/g,Wt).map((Wt=>Wt[0]==="[]"?"":Wt[1]||Wt[0]))}function arrayToObject(Wt){const Pt={};const en=Object.keys(Wt);let tn;const nn=en.length;let an;for(tn=0;tn=Wt.length;nn=!nn&&Vo.isArray(en)?en.length:nn;if(In){if(Vo.hasOwnProp(en,nn)){en[nn]=[en[nn],Pt]}else{en[nn]=Pt}return!an}if(!en[nn]||!Vo.isObject(en[nn])){en[nn]=[]}const rn=buildPath(Wt,Pt,en[nn],tn);if(rn&&Vo.isArray(en[nn])){en[nn]=arrayToObject(en[nn])}return!an}if(Vo.isFormData(Wt)&&Vo.isFunction(Wt.entries)){const Pt={};Vo.forEachEntry(Wt,((Wt,en)=>{buildPath(parsePropPath(Wt),en,Pt,0)}));return Pt}return null}var _o=formDataToJSON;function stringifySafely(Wt,Pt,en){if(Vo.isString(Wt)){try{(Pt||JSON.parse)(Wt);return Vo.trim(Wt)}catch(Wt){if(Wt.name!=="SyntaxError"){throw Wt}}}return(en||JSON.stringify)(Wt)}var Ko={transitional:Bo,adapter:["xhr","http","fetch"],transformRequest:[function transformRequest(Wt,Pt){const en=Pt.getContentType()||"";const tn=en.indexOf("application/json")>-1;const nn=Vo.isObject(Wt);if(nn&&Vo.isHTMLForm(Wt)){Wt=new FormData(Wt)}const an=Vo.isFormData(Wt);if(an){return tn?JSON.stringify(_o(Wt)):Wt}if(Vo.isArrayBuffer(Wt)||Vo.isBuffer(Wt)||Vo.isStream(Wt)||Vo.isFile(Wt)||Vo.isBlob(Wt)||Vo.isReadableStream(Wt)){return Wt}if(Vo.isArrayBufferView(Wt)){return Wt.buffer}if(Vo.isURLSearchParams(Wt)){Pt.setContentType("application/x-www-form-urlencoded;charset=utf-8",false);return Wt.toString()}let In;if(nn){if(en.indexOf("application/x-www-form-urlencoded")>-1){return toURLEncodedForm(Wt,this.formSerializer).toString()}if((In=Vo.isFileList(Wt))||en.indexOf("multipart/form-data")>-1){const Pt=this.env&&this.env.FormData;return Co(In?{"files[]":Wt}:Wt,Pt&&new Pt,this.formSerializer)}}if(nn||tn){Pt.setContentType("application/json",false);return stringifySafely(Wt)}return Wt}],transformResponse:[function transformResponse(Wt){const Pt=this.transitional||Ko.transitional;const en=Pt&&Pt.forcedJSONParsing;const tn=this.responseType==="json";if(Vo.isResponse(Wt)||Vo.isReadableStream(Wt)){return Wt}if(Wt&&Vo.isString(Wt)&&(en&&!this.responseType||tn)){const en=Pt&&Pt.silentJSONParsing;const nn=!en&&tn;try{return JSON.parse(Wt)}catch(Wt){if(nn){if(Wt.name==="SyntaxError"){throw Fo.from(Wt,Fo.ERR_BAD_RESPONSE,this,null,this.response)}throw Wt}}}return Wt}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:jo.classes.FormData,Blob:jo.classes.Blob},validateStatus:function validateStatus(Wt){return Wt>=200&&Wt<300},headers:{common:{Accept:"application/json, text/plain, */*","Content-Type":void 0}}};Vo.forEach(["delete","get","head","post","put","patch"],(Wt=>{Ko.headers[Wt]={}}));var Po=Ko;var qo=Vo.toObjectSet(["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"]);var parseHeaders_default=Wt=>{const Pt={};let en;let tn;let nn;Wt&&Wt.split("\n").forEach((function parser(Wt){nn=Wt.indexOf(":");en=Wt.substring(0,nn).trim().toLowerCase();tn=Wt.substring(nn+1).trim();if(!en||Pt[en]&&qo[en]){return}if(en==="set-cookie"){if(Pt[en]){Pt[en].push(tn)}else{Pt[en]=[tn]}}else{Pt[en]=Pt[en]?Pt[en]+", "+tn:tn}}));return Pt};var $o=Symbol("internals");function normalizeHeader(Wt){return Wt&&String(Wt).trim().toLowerCase()}function normalizeValue(Wt){if(Wt===false||Wt==null){return Wt}return Vo.isArray(Wt)?Wt.map(normalizeValue):String(Wt)}function parseTokens(Wt){const Pt=Object.create(null);const en=/([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g;let tn;while(tn=en.exec(Wt)){Pt[tn[1]]=tn[2]}return Pt}var isValidHeaderName=Wt=>/^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(Wt.trim());function matchHeaderValue(Wt,Pt,en,tn,nn){if(Vo.isFunction(tn)){return tn.call(this,Pt,en)}if(nn){Pt=en}if(!Vo.isString(Pt))return;if(Vo.isString(tn)){return Pt.indexOf(tn)!==-1}if(Vo.isRegExp(tn)){return tn.test(Pt)}}function formatHeader(Wt){return Wt.trim().toLowerCase().replace(/([a-z\d])(\w*)/g,((Wt,Pt,en)=>Pt.toUpperCase()+en))}function buildAccessors(Wt,Pt){const en=Vo.toCamelCase(" "+Pt);["get","set","has"].forEach((tn=>{Object.defineProperty(Wt,tn+en,{value:function(Wt,en,nn){return this[tn].call(this,Pt,Wt,en,nn)},configurable:true})}))}var ec=class{constructor(Wt){Wt&&this.set(Wt)}set(Wt,Pt,en){const tn=this;function setHeader(Wt,Pt,en){const nn=normalizeHeader(Pt);if(!nn){throw new Error("header name must be a non-empty string")}const an=Vo.findKey(tn,nn);if(!an||tn[an]===void 0||en===true||en===void 0&&tn[an]!==false){tn[an||Pt]=normalizeValue(Wt)}}const setHeaders=(Wt,Pt)=>Vo.forEach(Wt,((Wt,en)=>setHeader(Wt,en,Pt)));if(Vo.isPlainObject(Wt)||Wt instanceof this.constructor){setHeaders(Wt,Pt)}else if(Vo.isString(Wt)&&(Wt=Wt.trim())&&!isValidHeaderName(Wt)){setHeaders(parseHeaders_default(Wt),Pt)}else if(Vo.isHeaders(Wt)){for(const[Pt,tn]of Wt.entries()){setHeader(tn,Pt,en)}}else{Wt!=null&&setHeader(Pt,Wt,en)}return this}get(Wt,Pt){Wt=normalizeHeader(Wt);if(Wt){const en=Vo.findKey(this,Wt);if(en){const Wt=this[en];if(!Pt){return Wt}if(Pt===true){return parseTokens(Wt)}if(Vo.isFunction(Pt)){return Pt.call(this,Wt,en)}if(Vo.isRegExp(Pt)){return Pt.exec(Wt)}throw new TypeError("parser must be boolean|regexp|function")}}}has(Wt,Pt){Wt=normalizeHeader(Wt);if(Wt){const en=Vo.findKey(this,Wt);return!!(en&&this[en]!==void 0&&(!Pt||matchHeaderValue(this,this[en],en,Pt)))}return false}delete(Wt,Pt){const en=this;let tn=false;function deleteHeader(Wt){Wt=normalizeHeader(Wt);if(Wt){const nn=Vo.findKey(en,Wt);if(nn&&(!Pt||matchHeaderValue(en,en[nn],nn,Pt))){delete en[nn];tn=true}}}if(Vo.isArray(Wt)){Wt.forEach(deleteHeader)}else{deleteHeader(Wt)}return tn}clear(Wt){const Pt=Object.keys(this);let en=Pt.length;let tn=false;while(en--){const nn=Pt[en];if(!Wt||matchHeaderValue(this,this[nn],nn,Wt,true)){delete this[nn];tn=true}}return tn}normalize(Wt){const Pt=this;const en={};Vo.forEach(this,((tn,nn)=>{const an=Vo.findKey(en,nn);if(an){Pt[an]=normalizeValue(tn);delete Pt[nn];return}const In=Wt?formatHeader(nn):String(nn).trim();if(In!==nn){delete Pt[nn]}Pt[In]=normalizeValue(tn);en[In]=true}));return this}concat(...Wt){return this.constructor.concat(this,...Wt)}toJSON(Wt){const Pt=Object.create(null);Vo.forEach(this,((en,tn)=>{en!=null&&en!==false&&(Pt[tn]=Wt&&Vo.isArray(en)?en.join(", "):en)}));return Pt}[Symbol.iterator](){return Object.entries(this.toJSON())[Symbol.iterator]()}toString(){return Object.entries(this.toJSON()).map((([Wt,Pt])=>Wt+": "+Pt)).join("\n")}get[Symbol.toStringTag](){return"AxiosHeaders"}static from(Wt){return Wt instanceof this?Wt:new this(Wt)}static concat(Wt,...Pt){const en=new this(Wt);Pt.forEach((Wt=>en.set(Wt)));return en}static accessor(Wt){const Pt=this[$o]=this[$o]={accessors:{}};const en=Pt.accessors;const tn=this.prototype;function defineAccessor(Wt){const Pt=normalizeHeader(Wt);if(!en[Pt]){buildAccessors(tn,Wt);en[Pt]=true}}Vo.isArray(Wt)?Wt.forEach(defineAccessor):defineAccessor(Wt);return this}};ec.accessor(["Content-Type","Content-Length","Accept","Accept-Encoding","User-Agent","Authorization"]);Vo.reduceDescriptors(ec.prototype,(({value:Wt},Pt)=>{let en=Pt[0].toUpperCase()+Pt.slice(1);return{get:()=>Wt,set(Wt){this[en]=Wt}}}));Vo.freezeMethods(ec);var tc=ec;function transformData(Wt,Pt){const en=this||Po;const tn=Pt||en;const nn=tc.from(tn.headers);let an=tn.data;Vo.forEach(Wt,(function transform(Wt){an=Wt.call(en,an,nn.normalize(),Pt?Pt.status:void 0)}));nn.normalize();return an}function isCancel(Wt){return!!(Wt&&Wt.__CANCEL__)}function CanceledError(Wt,Pt,en){Fo.call(this,Wt==null?"canceled":Wt,Fo.ERR_CANCELED,Pt,en);this.name="CanceledError"}Vo.inherits(CanceledError,Fo,{__CANCEL__:true});var nc=CanceledError;function settle(Wt,Pt,en){const tn=en.config.validateStatus;if(!en.status||!tn||tn(en.status)){Wt(en)}else{Pt(new Fo("Request failed with status code "+en.status,[Fo.ERR_BAD_REQUEST,Fo.ERR_BAD_RESPONSE][Math.floor(en.status/100)-4],en.config,en.request,en))}}function isAbsoluteURL(Wt){return/^([a-z][a-z\d+\-.]*:)?\/\//i.test(Wt)}function combineURLs(Wt,Pt){return Pt?Wt.replace(/\/?\/$/,"")+"/"+Pt.replace(/^\/+/,""):Wt}function buildFullPath(Wt,Pt){if(Wt&&!isAbsoluteURL(Pt)){return combineURLs(Wt,Pt)}return Pt}var lc=__toESM(vs(),1);var ac=__toESM(en(58611),1);var Ic=__toESM(en(65692),1);var rc=__toESM(en(39023),1);var sc=__toESM(Hs(),1);var oc=__toESM(en(43106),1);var cc="1.7.2";function parseProtocol(Wt){const Pt=/^([-+\w]{1,25})(:?\/\/|:)/.exec(Wt);return Pt&&Pt[1]||""}var ic=/^(?:([^;]+);)?(?:[^;]+;)?(base64|),([\s\S]*)$/;function fromDataURI(Wt,Pt,en){const tn=en&&en.Blob||jo.classes.Blob;const nn=parseProtocol(Wt);if(Pt===void 0&&tn){Pt=true}if(nn==="data"){Wt=nn.length?Wt.slice(nn.length+1):Wt;const en=ic.exec(Wt);if(!en){throw new Fo("Invalid URL",Fo.ERR_INVALID_URL)}const an=en[1];const In=en[2];const rn=en[3];const sn=Buffer.from(decodeURIComponent(rn),In?"base64":"utf8");if(Pt){if(!tn){throw new Fo("Blob is not supported",Fo.ERR_NOT_SUPPORT)}return new tn([sn],{type:an})}return sn}throw new Fo("Unsupported protocol "+nn,Fo.ERR_NOT_SUPPORT)}var dc=__toESM(en(2203),1);var uc=__toESM(en(2203),1);function throttle(Wt,Pt){let en=0;const tn=1e3/Pt;let nn=null;return function throttled(){const Pt=this===true;const an=Date.now();if(Pt||an-en>tn){if(nn){clearTimeout(nn);nn=null}en=an;return Wt.apply(null,arguments)}if(!nn){nn=setTimeout((()=>{nn=null;en=Date.now();return Wt.apply(null,arguments)}),tn-(an-en))}}}var pc=throttle;function speedometer(Wt,Pt){Wt=Wt||10;const en=new Array(Wt);const tn=new Array(Wt);let nn=0;let an=0;let In;Pt=Pt!==void 0?Pt:1e3;return function push(rn){const sn=Date.now();const on=tn[an];if(!In){In=sn}en[nn]=rn;tn[nn]=sn;let cn=an;let dn=0;while(cn!==nn){dn+=en[cn++];cn=cn%Wt}nn=(nn+1)%Wt;if(nn===an){an=(an+1)%Wt}if(sn-In!Vo.isUndefined(Pt[Wt])));super({readableHighWaterMark:Wt.chunkSize});const Pt=this;const en=this[bc]={length:Wt.length,timeWindow:Wt.timeWindow,ticksRate:Wt.ticksRate,chunkSize:Wt.chunkSize,maxRate:Wt.maxRate,minChunkSize:Wt.minChunkSize,bytesSeen:0,isCaptured:false,notifiedBytesLoaded:0,ts:Date.now(),bytes:0,onReadCallback:null};const tn=mc(en.ticksRate*Wt.samplesCount,en.timeWindow);this.on("newListener",(Wt=>{if(Wt==="progress"){if(!en.isCaptured){en.isCaptured=true}}}));let nn=0;en.updateProgress=pc((function throttledHandler(){const Wt=en.length;const an=en.bytesSeen;const In=an-nn;if(!In||Pt.destroyed)return;const rn=tn(In);nn=an;process.nextTick((()=>{Pt.emit("progress",{loaded:an,total:Wt,progress:Wt?an/Wt:void 0,bytes:In,rate:rn?rn:void 0,estimated:rn&&Wt&&an<=Wt?(Wt-an)/rn:void 0,lengthComputable:Wt!=null})}))}),en.ticksRate);const onFinish=()=>{en.updateProgress.call(true)};this.once("end",onFinish);this.once("error",onFinish)}_read(Wt){const Pt=this[bc];if(Pt.onReadCallback){Pt.onReadCallback()}return super._read(Wt)}_transform(Wt,Pt,en){const tn=this;const nn=this[bc];const an=nn.maxRate;const In=this.readableHighWaterMark;const rn=nn.timeWindow;const sn=1e3/rn;const on=an/sn;const cn=nn.minChunkSize!==false?Math.max(nn.minChunkSize,on*.01):0;function pushChunk(Wt,Pt){const en=Buffer.byteLength(Wt);nn.bytesSeen+=en;nn.bytes+=en;if(nn.isCaptured){nn.updateProgress()}if(tn.push(Wt)){process.nextTick(Pt)}else{nn.onReadCallback=()=>{nn.onReadCallback=null;process.nextTick(Pt)}}}const transformChunk=(Wt,Pt)=>{const en=Buffer.byteLength(Wt);let tn=null;let sn=In;let dn;let un=0;if(an){const Wt=Date.now();if(!nn.ts||(un=Wt-nn.ts)>=rn){nn.ts=Wt;dn=on-nn.bytes;nn.bytes=dn<0?-dn:0;un=0}dn=on-nn.bytes}if(an){if(dn<=0){return setTimeout((()=>{Pt(null,Wt)}),rn-un)}if(dnsn&&en-sn>cn){tn=Wt.subarray(sn);Wt=Wt.subarray(0,sn)}pushChunk(Wt,tn?()=>{process.nextTick(Pt,null,tn)}:Pt)};transformChunk(Wt,(function transformNextChunk(Wt,Pt){if(Wt){return en(Wt)}if(Pt){transformChunk(Pt,transformNextChunk)}else{en(null)}}))}setLength(Wt){this[bc].length=+Wt;return this}};var hc=Gc;var Zc=en(24434);var Ac=en(39023);var Wc=en(2203);var{asyncIterator:Nc}=Symbol;var readBlob=async function*(Wt){if(Wt.stream){yield*Wt.stream()}else if(Wt.arrayBuffer){yield await Wt.arrayBuffer()}else if(Wt[Nc]){yield*Wt[Nc]()}else{yield Wt}};var gc=readBlob;var yc=Vo.ALPHABET.ALPHA_DIGIT+"-_";var vc=new Ac.TextEncoder;var Yc="\r\n";var Ec=vc.encode(Yc);var Vc=2;var Rc=class{constructor(Wt,Pt){const{escapeName:en}=this.constructor;const tn=Vo.isString(Pt);let nn=`Content-Disposition: form-data; name="${en(Wt)}"${!tn&&Pt.name?`; filename="${en(Pt.name)}"`:""}${Yc}`;if(tn){Pt=vc.encode(String(Pt).replace(/\r?\n|\r\n?/g,Yc))}else{nn+=`Content-Type: ${Pt.type||"application/octet-stream"}${Yc}`}this.headers=vc.encode(nn+Yc);this.contentLength=tn?Pt.byteLength:Pt.size;this.size=this.headers.byteLength+this.contentLength+Vc;this.name=Wt;this.value=Pt}async*encode(){yield this.headers;const{value:Wt}=this;if(Vo.isTypedArray(Wt)){yield Wt}else{yield*gc(Wt)}yield Ec}static escapeName(Wt){return String(Wt).replace(/[\r\n"]/g,(Wt=>({"\r":"%0D","\n":"%0A",'"':"%22"}[Wt])))}};var formDataToStream=(Wt,Pt,en)=>{const{tag:tn="form-data-boundary",size:nn=25,boundary:an=tn+"-"+Vo.generateString(nn,yc)}=en||{};if(!Vo.isFormData(Wt)){throw TypeError("FormData instance required")}if(an.length<1||an.length>70){throw Error("boundary must be 10-70 characters long")}const In=vc.encode("--"+an+Yc);const rn=vc.encode("--"+an+"--"+Yc+Yc);let sn=rn.byteLength;const on=Array.from(Wt.entries()).map((([Wt,Pt])=>{const en=new Rc(Wt,Pt);sn+=en.size;return en}));sn+=In.byteLength*on.length;sn=Vo.toFiniteNumber(sn);const cn={"Content-Type":`multipart/form-data; boundary=${an}`};if(Number.isFinite(sn)){cn["Content-Length"]=sn}Pt&&Pt(cn);return Wc.Readable.from(async function*(){for(const Wt of on){yield In;yield*Wt.encode()}yield rn}())};var wc=formDataToStream;var Fc=__toESM(en(2203),1);var Qc=class extends Fc.default.Transform{__transform(Wt,Pt,en){this.push(Wt);en()}_transform(Wt,Pt,en){if(Wt.length!==0){this._transform=this.__transform;if(Wt[0]!==120){const Wt=Buffer.alloc(2);Wt[0]=120;Wt[1]=156;this.push(Wt,Pt)}}this.__transform(Wt,Pt,en)}};var fc=Qc;var callbackify=(Wt,Pt)=>Vo.isAsyncFn(Wt)?function(...en){const tn=en.pop();Wt.apply(this,en).then((Wt=>{try{Pt?tn(null,...Pt(Wt)):tn(null,Wt)}catch(Wt){tn(Wt)}}),tn)}:Wt;var Hc=callbackify;var Cc={flush:oc.default.constants.Z_SYNC_FLUSH,finishFlush:oc.default.constants.Z_SYNC_FLUSH};var Xc={flush:oc.default.constants.BROTLI_OPERATION_FLUSH,finishFlush:oc.default.constants.BROTLI_OPERATION_FLUSH};var kc=Vo.isFunction(oc.default.createBrotliDecompress);var{http:Jc,https:Lc}=sc.default;var Bc=/https:?/;var xc=jo.protocols.map((Wt=>Wt+":"));function dispatchBeforeRedirect(Wt,Pt){if(Wt.beforeRedirects.proxy){Wt.beforeRedirects.proxy(Wt)}if(Wt.beforeRedirects.config){Wt.beforeRedirects.config(Wt,Pt)}}function setProxy(Wt,Pt,en){let tn=Pt;if(!tn&&tn!==false){const Wt=(0,lc.getProxyForUrl)(en);if(Wt){tn=new URL(Wt)}}if(tn){if(tn.username){tn.auth=(tn.username||"")+":"+(tn.password||"")}if(tn.auth){if(tn.auth.username||tn.auth.password){tn.auth=(tn.auth.username||"")+":"+(tn.auth.password||"")}const Pt=Buffer.from(tn.auth,"utf8").toString("base64");Wt.headers["Proxy-Authorization"]="Basic "+Pt}Wt.headers.host=Wt.hostname+(Wt.port?":"+Wt.port:"");const Pt=tn.hostname||tn.host;Wt.hostname=Pt;Wt.host=Pt;Wt.port=tn.port;Wt.path=en;if(tn.protocol){Wt.protocol=tn.protocol.includes(":")?tn.protocol:`${tn.protocol}:`}}Wt.beforeRedirects.proxy=function beforeRedirect(Wt){setProxy(Wt,Pt,Wt.href)}}var Oc=typeof process!=="undefined"&&Vo.kindOf(process)==="process";var wrapAsync=Wt=>new Promise(((Pt,en)=>{let tn;let nn;const done=(Wt,Pt)=>{if(nn)return;nn=true;tn&&tn(Wt,Pt)};const _resolve=Wt=>{done(Wt);Pt(Wt)};const _reject=Wt=>{done(Wt,true);en(Wt)};Wt(_resolve,_reject,(Wt=>tn=Wt)).catch(_reject)}));var resolveFamily=({address:Wt,family:Pt})=>{if(!Vo.isString(Wt)){throw TypeError("address must be a string")}return{address:Wt,family:Pt||(Wt.indexOf(".")<0?6:4)}};var buildAddressEntry=(Wt,Pt)=>resolveFamily(Vo.isObject(Wt)?Wt:{address:Wt,family:Pt});var Tc=Oc&&function httpAdapter(Wt){return wrapAsync((async function dispatchHttpRequest(Pt,en,tn){let{data:nn,lookup:an,family:In}=Wt;const{responseType:rn,responseEncoding:sn}=Wt;const on=Wt.method.toUpperCase();let cn;let dn=false;let un;if(an){const Wt=Hc(an,(Wt=>Vo.isArray(Wt)?Wt:[Wt]));an=(Pt,en,tn)=>{Wt(Pt,en,((Wt,Pt,nn)=>{if(Wt){return tn(Wt)}const an=Vo.isArray(Pt)?Pt.map((Wt=>buildAddressEntry(Wt))):[buildAddressEntry(Pt,nn)];en.all?tn(Wt,an):tn(Wt,an[0].address,an[0].family)}))}}const pn=new Zc.EventEmitter;const onFinished=()=>{if(Wt.cancelToken){Wt.cancelToken.unsubscribe(abort)}if(Wt.signal){Wt.signal.removeEventListener("abort",abort)}pn.removeAllListeners()};tn(((Wt,Pt)=>{cn=true;if(Pt){dn=true;onFinished()}}));function abort(Pt){pn.emit("abort",!Pt||Pt.type?new nc(null,Wt,un):Pt)}pn.once("abort",en);if(Wt.cancelToken||Wt.signal){Wt.cancelToken&&Wt.cancelToken.subscribe(abort);if(Wt.signal){Wt.signal.aborted?abort():Wt.signal.addEventListener("abort",abort)}}const mn=buildFullPath(Wt.baseURL,Wt.url);const bn=new URL(mn,"http://localhost");const Gn=bn.protocol||xc[0];if(Gn==="data:"){let tn;if(on!=="GET"){return settle(Pt,en,{status:405,statusText:"method not allowed",headers:{},config:Wt})}try{tn=fromDataURI(Wt.url,rn==="blob",{Blob:Wt.env&&Wt.env.Blob})}catch(Pt){throw Fo.from(Pt,Fo.ERR_BAD_REQUEST,Wt)}if(rn==="text"){tn=tn.toString(sn);if(!sn||sn==="utf8"){tn=Vo.stripBOM(tn)}}else if(rn==="stream"){tn=dc.default.Readable.from(tn)}return settle(Pt,en,{data:tn,status:200,statusText:"OK",headers:new tc,config:Wt})}if(xc.indexOf(Gn)===-1){return en(new Fo("Unsupported protocol "+Gn,Fo.ERR_BAD_REQUEST,Wt))}const hn=tc.from(Wt.headers).normalize();hn.set("User-Agent","axios/"+cc,false);const Zn=Wt.onDownloadProgress;const An=Wt.onUploadProgress;const Wn=Wt.maxRate;let Nn=void 0;let gn=void 0;if(Vo.isSpecCompliantForm(nn)){const Wt=hn.getContentType(/boundary=([-_\w\d]{10,70})/i);nn=wc(nn,(Wt=>{hn.set(Wt)}),{tag:`axios-${cc}-boundary`,boundary:Wt&&Wt[1]||void 0})}else if(Vo.isFormData(nn)&&Vo.isFunction(nn.getHeaders)){hn.set(nn.getHeaders());if(!hn.hasContentLength()){try{const Wt=await rc.default.promisify(nn.getLength).call(nn);Number.isFinite(Wt)&&Wt>=0&&hn.setContentLength(Wt)}catch(Wt){}}}else if(Vo.isBlob(nn)){nn.size&&hn.setContentType(nn.type||"application/octet-stream");hn.setContentLength(nn.size||0);nn=dc.default.Readable.from(gc(nn))}else if(nn&&!Vo.isStream(nn)){if(Buffer.isBuffer(nn)){}else if(Vo.isArrayBuffer(nn)){nn=Buffer.from(new Uint8Array(nn))}else if(Vo.isString(nn)){nn=Buffer.from(nn,"utf-8")}else{return en(new Fo("Data after transformation must be a string, an ArrayBuffer, a Buffer, or a Stream",Fo.ERR_BAD_REQUEST,Wt))}hn.setContentLength(nn.length,false);if(Wt.maxBodyLength>-1&&nn.length>Wt.maxBodyLength){return en(new Fo("Request body larger than maxBodyLength limit",Fo.ERR_BAD_REQUEST,Wt))}}const yn=Vo.toFiniteNumber(hn.getContentLength());if(Vo.isArray(Wn)){Nn=Wn[0];gn=Wn[1]}else{Nn=gn=Wn}if(nn&&(An||Nn)){if(!Vo.isStream(nn)){nn=dc.default.Readable.from(nn,{objectMode:false})}nn=dc.default.pipeline([nn,new hc({length:yn,maxRate:Vo.toFiniteNumber(Nn)})],Vo.noop);An&&nn.on("progress",(Wt=>{An(Object.assign(Wt,{upload:true}))}))}let vn=void 0;if(Wt.auth){const Pt=Wt.auth.username||"";const en=Wt.auth.password||"";vn=Pt+":"+en}if(!vn&&bn.username){const Wt=bn.username;const Pt=bn.password;vn=Wt+":"+Pt}vn&&hn.delete("authorization");let Yn;try{Yn=buildURL(bn.pathname+bn.search,Wt.params,Wt.paramsSerializer).replace(/^\?/,"")}catch(Pt){const tn=new Error(Pt.message);tn.config=Wt;tn.url=Wt.url;tn.exists=true;return en(tn)}hn.set("Accept-Encoding","gzip, compress, deflate"+(kc?", br":""),false);const En={path:Yn,method:on,headers:hn.toJSON(),agents:{http:Wt.httpAgent,https:Wt.httpsAgent},auth:vn,protocol:Gn,family:In,beforeRedirect:dispatchBeforeRedirect,beforeRedirects:{}};!Vo.isUndefined(an)&&(En.lookup=an);if(Wt.socketPath){En.socketPath=Wt.socketPath}else{En.hostname=bn.hostname;En.port=bn.port;setProxy(En,Wt.proxy,Gn+"//"+bn.hostname+(bn.port?":"+bn.port:"")+En.path)}let Vn;const Rn=Bc.test(En.protocol);En.agent=Rn?Wt.httpsAgent:Wt.httpAgent;if(Wt.transport){Vn=Wt.transport}else if(Wt.maxRedirects===0){Vn=Rn?Ic.default:ac.default}else{if(Wt.maxRedirects){En.maxRedirects=Wt.maxRedirects}if(Wt.beforeRedirect){En.beforeRedirects.config=Wt.beforeRedirect}Vn=Rn?Lc:Jc}if(Wt.maxBodyLength>-1){En.maxBodyLength=Wt.maxBodyLength}else{En.maxBodyLength=Infinity}if(Wt.insecureHTTPParser){En.insecureHTTPParser=Wt.insecureHTTPParser}un=Vn.request(En,(function handleResponse(tn){if(un.destroyed)return;const nn=[tn];const an=+tn.headers["content-length"];if(Zn){const Wt=new hc({length:Vo.toFiniteNumber(an),maxRate:Vo.toFiniteNumber(gn)});Zn&&Wt.on("progress",(Wt=>{Zn(Object.assign(Wt,{download:true}))}));nn.push(Wt)}let In=tn;const cn=tn.req||un;if(Wt.decompress!==false&&tn.headers["content-encoding"]){if(on==="HEAD"||tn.statusCode===204){delete tn.headers["content-encoding"]}switch((tn.headers["content-encoding"]||"").toLowerCase()){case"gzip":case"x-gzip":case"compress":case"x-compress":nn.push(oc.default.createUnzip(Cc));delete tn.headers["content-encoding"];break;case"deflate":nn.push(new fc);nn.push(oc.default.createUnzip(Cc));delete tn.headers["content-encoding"];break;case"br":if(kc){nn.push(oc.default.createBrotliDecompress(Xc));delete tn.headers["content-encoding"]}}}In=nn.length>1?dc.default.pipeline(nn,Vo.noop):nn[0];const mn=dc.default.finished(In,(()=>{mn();onFinished()}));const bn={status:tn.statusCode,statusText:tn.statusMessage,headers:new tc(tn.headers),config:Wt,request:cn};if(rn==="stream"){bn.data=In;settle(Pt,en,bn)}else{const tn=[];let nn=0;In.on("data",(function handleStreamData(Pt){tn.push(Pt);nn+=Pt.length;if(Wt.maxContentLength>-1&&nn>Wt.maxContentLength){dn=true;In.destroy();en(new Fo("maxContentLength size of "+Wt.maxContentLength+" exceeded",Fo.ERR_BAD_RESPONSE,Wt,cn))}}));In.on("aborted",(function handlerStreamAborted(){if(dn){return}const Pt=new Fo("maxContentLength size of "+Wt.maxContentLength+" exceeded",Fo.ERR_BAD_RESPONSE,Wt,cn);In.destroy(Pt);en(Pt)}));In.on("error",(function handleStreamError(Pt){if(un.destroyed)return;en(Fo.from(Pt,null,Wt,cn))}));In.on("end",(function handleStreamEnd(){try{let Wt=tn.length===1?tn[0]:Buffer.concat(tn);if(rn!=="arraybuffer"){Wt=Wt.toString(sn);if(!sn||sn==="utf8"){Wt=Vo.stripBOM(Wt)}}bn.data=Wt}catch(Pt){return en(Fo.from(Pt,null,Wt,bn.request,bn))}settle(Pt,en,bn)}))}pn.once("abort",(Wt=>{if(!In.destroyed){In.emit("error",Wt);In.destroy()}}))}));pn.once("abort",(Wt=>{en(Wt);un.destroy(Wt)}));un.on("error",(function handleRequestError(Pt){en(Fo.from(Pt,null,Wt,un))}));un.on("socket",(function handleRequestSocket(Wt){Wt.setKeepAlive(true,1e3*60)}));if(Wt.timeout){const Pt=parseInt(Wt.timeout,10);if(Number.isNaN(Pt)){en(new Fo("error trying to parse `config.timeout` to int",Fo.ERR_BAD_OPTION_VALUE,Wt,un));return}un.setTimeout(Pt,(function handleRequestTimeout(){if(cn)return;let Pt=Wt.timeout?"timeout of "+Wt.timeout+"ms exceeded":"timeout exceeded";const tn=Wt.transitional||Bo;if(Wt.timeoutErrorMessage){Pt=Wt.timeoutErrorMessage}en(new Fo(Pt,tn.clarifyTimeoutError?Fo.ETIMEDOUT:Fo.ECONNABORTED,Wt,un));abort()}))}if(Vo.isStream(nn)){let Pt=false;let en=false;nn.on("end",(()=>{Pt=true}));nn.once("error",(Wt=>{en=true;un.destroy(Wt)}));nn.on("close",(()=>{if(!Pt&&!en){abort(new nc("Request stream has been aborted",Wt,un))}}));nn.pipe(un)}else{un.end(nn)}}))};var progressEventReducer_default=(Wt,Pt,en=3)=>{let tn=0;const nn=mc(50,250);return pc((en=>{const an=en.loaded;const In=en.lengthComputable?en.total:void 0;const rn=an-tn;const sn=nn(rn);const on=an<=In;tn=an;const cn={loaded:an,total:In,progress:In?an/In:void 0,bytes:rn,rate:sn?sn:void 0,estimated:sn&&In&&on?(In-an)/sn:void 0,event:en,lengthComputable:In!=null};cn[Pt?"download":"upload"]=true;Wt(cn)}),en)};var Uc=jo.hasStandardBrowserEnv?function standardBrowserEnv(){const Wt=/(msie|trident)/i.test(navigator.userAgent);const Pt=document.createElement("a");let en;function resolveURL(en){let tn=en;if(Wt){Pt.setAttribute("href",tn);tn=Pt.href}Pt.setAttribute("href",tn);return{href:Pt.href,protocol:Pt.protocol?Pt.protocol.replace(/:$/,""):"",host:Pt.host,search:Pt.search?Pt.search.replace(/^\?/,""):"",hash:Pt.hash?Pt.hash.replace(/^#/,""):"",hostname:Pt.hostname,port:Pt.port,pathname:Pt.pathname.charAt(0)==="/"?Pt.pathname:"/"+Pt.pathname}}en=resolveURL(window.location.href);return function isURLSameOrigin(Wt){const Pt=Vo.isString(Wt)?resolveURL(Wt):Wt;return Pt.protocol===en.protocol&&Pt.host===en.host}}():function nonStandardBrowserEnv(){return function isURLSameOrigin(){return true}}();var Mc=jo.hasStandardBrowserEnv?{write(Wt,Pt,en,tn,nn,an){const In=[Wt+"="+encodeURIComponent(Pt)];Vo.isNumber(en)&&In.push("expires="+new Date(en).toGMTString());Vo.isString(tn)&&In.push("path="+tn);Vo.isString(nn)&&In.push("domain="+nn);an===true&&In.push("secure");document.cookie=In.join("; ")},read(Wt){const Pt=document.cookie.match(new RegExp("(^|;\\s*)("+Wt+")=([^;]*)"));return Pt?decodeURIComponent(Pt[3]):null},remove(Wt){this.write(Wt,"",Date.now()-864e5)}}:{write(){},read(){return null},remove(){}};var headersToObject=Wt=>Wt instanceof tc?{...Wt}:Wt;function mergeConfig(Wt,Pt){Pt=Pt||{};const en={};function getMergedValue(Wt,Pt,en){if(Vo.isPlainObject(Wt)&&Vo.isPlainObject(Pt)){return Vo.merge.call({caseless:en},Wt,Pt)}else if(Vo.isPlainObject(Pt)){return Vo.merge({},Pt)}else if(Vo.isArray(Pt)){return Pt.slice()}return Pt}function mergeDeepProperties(Wt,Pt,en){if(!Vo.isUndefined(Pt)){return getMergedValue(Wt,Pt,en)}else if(!Vo.isUndefined(Wt)){return getMergedValue(void 0,Wt,en)}}function valueFromConfig2(Wt,Pt){if(!Vo.isUndefined(Pt)){return getMergedValue(void 0,Pt)}}function defaultToConfig2(Wt,Pt){if(!Vo.isUndefined(Pt)){return getMergedValue(void 0,Pt)}else if(!Vo.isUndefined(Wt)){return getMergedValue(void 0,Wt)}}function mergeDirectKeys(en,tn,nn){if(nn in Pt){return getMergedValue(en,tn)}else if(nn in Wt){return getMergedValue(void 0,en)}}const tn={url:valueFromConfig2,method:valueFromConfig2,data:valueFromConfig2,baseURL:defaultToConfig2,transformRequest:defaultToConfig2,transformResponse:defaultToConfig2,paramsSerializer:defaultToConfig2,timeout:defaultToConfig2,timeoutMessage:defaultToConfig2,withCredentials:defaultToConfig2,withXSRFToken:defaultToConfig2,adapter:defaultToConfig2,responseType:defaultToConfig2,xsrfCookieName:defaultToConfig2,xsrfHeaderName:defaultToConfig2,onUploadProgress:defaultToConfig2,onDownloadProgress:defaultToConfig2,decompress:defaultToConfig2,maxContentLength:defaultToConfig2,maxBodyLength:defaultToConfig2,beforeRedirect:defaultToConfig2,transport:defaultToConfig2,httpAgent:defaultToConfig2,httpsAgent:defaultToConfig2,cancelToken:defaultToConfig2,socketPath:defaultToConfig2,responseEncoding:defaultToConfig2,validateStatus:mergeDirectKeys,headers:(Wt,Pt)=>mergeDeepProperties(headersToObject(Wt),headersToObject(Pt),true)};Vo.forEach(Object.keys(Object.assign({},Wt,Pt)),(function computeConfigValue(nn){const an=tn[nn]||mergeDeepProperties;const In=an(Wt[nn],Pt[nn],nn);Vo.isUndefined(In)&&an!==mergeDirectKeys||(en[nn]=In)}));return en}var resolveConfig_default=Wt=>{const Pt=mergeConfig({},Wt);let{data:en,withXSRFToken:tn,xsrfHeaderName:nn,xsrfCookieName:an,headers:In,auth:rn}=Pt;Pt.headers=In=tc.from(In);Pt.url=buildURL(buildFullPath(Pt.baseURL,Pt.url),Wt.params,Wt.paramsSerializer);if(rn){In.set("Authorization","Basic "+btoa((rn.username||"")+":"+(rn.password?unescape(encodeURIComponent(rn.password)):"")))}let sn;if(Vo.isFormData(en)){if(jo.hasStandardBrowserEnv||jo.hasStandardBrowserWebWorkerEnv){In.setContentType(void 0)}else if((sn=In.getContentType())!==false){const[Wt,...Pt]=sn?sn.split(";").map((Wt=>Wt.trim())).filter(Boolean):[];In.setContentType([Wt||"multipart/form-data",...Pt].join("; "))}}if(jo.hasStandardBrowserEnv){tn&&Vo.isFunction(tn)&&(tn=tn(Pt));if(tn||tn!==false&&Uc(Pt.url)){const Wt=nn&&an&&Mc.read(an);if(Wt){In.set(nn,Wt)}}}return Pt};var zc=typeof XMLHttpRequest!=="undefined";var Sc=zc&&function(Wt){return new Promise((function dispatchXhrRequest(Pt,en){const tn=resolveConfig_default(Wt);let nn=tn.data;const an=tc.from(tn.headers).normalize();let{responseType:In}=tn;let rn;function done(){if(tn.cancelToken){tn.cancelToken.unsubscribe(rn)}if(tn.signal){tn.signal.removeEventListener("abort",rn)}}let sn=new XMLHttpRequest;sn.open(tn.method.toUpperCase(),tn.url,true);sn.timeout=tn.timeout;function onloadend(){if(!sn){return}const tn=tc.from("getAllResponseHeaders"in sn&&sn.getAllResponseHeaders());const nn=!In||In==="text"||In==="json"?sn.responseText:sn.response;const an={data:nn,status:sn.status,statusText:sn.statusText,headers:tn,config:Wt,request:sn};settle((function _resolve(Wt){Pt(Wt);done()}),(function _reject(Wt){en(Wt);done()}),an);sn=null}if("onloadend"in sn){sn.onloadend=onloadend}else{sn.onreadystatechange=function handleLoad(){if(!sn||sn.readyState!==4){return}if(sn.status===0&&!(sn.responseURL&&sn.responseURL.indexOf("file:")===0)){return}setTimeout(onloadend)}}sn.onabort=function handleAbort(){if(!sn){return}en(new Fo("Request aborted",Fo.ECONNABORTED,tn,sn));sn=null};sn.onerror=function handleError(){en(new Fo("Network Error",Fo.ERR_NETWORK,tn,sn));sn=null};sn.ontimeout=function handleTimeout(){let Wt=tn.timeout?"timeout of "+tn.timeout+"ms exceeded":"timeout exceeded";const Pt=tn.transitional||Bo;if(tn.timeoutErrorMessage){Wt=tn.timeoutErrorMessage}en(new Fo(Wt,Pt.clarifyTimeoutError?Fo.ETIMEDOUT:Fo.ECONNABORTED,tn,sn));sn=null};nn===void 0&&an.setContentType(null);if("setRequestHeader"in sn){Vo.forEach(an.toJSON(),(function setRequestHeader(Wt,Pt){sn.setRequestHeader(Pt,Wt)}))}if(!Vo.isUndefined(tn.withCredentials)){sn.withCredentials=!!tn.withCredentials}if(In&&In!=="json"){sn.responseType=tn.responseType}if(typeof tn.onDownloadProgress==="function"){sn.addEventListener("progress",progressEventReducer_default(tn.onDownloadProgress,true))}if(typeof tn.onUploadProgress==="function"&&sn.upload){sn.upload.addEventListener("progress",progressEventReducer_default(tn.onUploadProgress))}if(tn.cancelToken||tn.signal){rn=Pt=>{if(!sn){return}en(!Pt||Pt.type?new nc(null,Wt,sn):Pt);sn.abort();sn=null};tn.cancelToken&&tn.cancelToken.subscribe(rn);if(tn.signal){tn.signal.aborted?rn():tn.signal.addEventListener("abort",rn)}}const on=parseProtocol(tn.url);if(on&&jo.protocols.indexOf(on)===-1){en(new Fo("Unsupported protocol "+on+":",Fo.ERR_BAD_REQUEST,Wt));return}sn.send(nn||null)}))};var composeSignals=(Wt,Pt)=>{let en=new AbortController;let tn;const onabort=function(Wt){if(!tn){tn=true;unsubscribe();const Pt=Wt instanceof Error?Wt:this.reason;en.abort(Pt instanceof Fo?Pt:new nc(Pt instanceof Error?Pt.message:Pt))}};let nn=Pt&&setTimeout((()=>{onabort(new Fo(`timeout ${Pt} of ms exceeded`,Fo.ETIMEDOUT))}),Pt);const unsubscribe=()=>{if(Wt){nn&&clearTimeout(nn);nn=null;Wt.forEach((Wt=>{Wt&&(Wt.removeEventListener?Wt.removeEventListener("abort",onabort):Wt.unsubscribe(onabort))}));Wt=null}};Wt.forEach((Wt=>Wt&&Wt.addEventListener&&Wt.addEventListener("abort",onabort)));const{signal:an}=en;an.unsubscribe=unsubscribe;return[an,()=>{nn&&clearTimeout(nn);nn=null}]};var Dc=composeSignals;var streamChunk=function*(Wt,Pt){let en=Wt.byteLength;if(!Pt||en{const an=readBytes(Wt,Pt,nn);let In=0;return new ReadableStream({type:"bytes",async pull(Wt){const{done:Pt,value:nn}=await an.next();if(Pt){Wt.close();tn();return}let rn=nn.byteLength;en&&en(In+=rn);Wt.enqueue(new Uint8Array(nn))},cancel(Wt){tn(Wt);return an.return()}},{highWaterMark:2})};var fetchProgressDecorator=(Wt,Pt)=>{const en=Wt!=null;return tn=>setTimeout((()=>Pt({lengthComputable:en,total:Wt,loaded:tn})))};var jc=typeof fetch==="function"&&typeof Request==="function"&&typeof Response==="function";var _c=jc&&typeof ReadableStream==="function";var Kc=jc&&(typeof TextEncoder==="function"?(Wt=>Pt=>Wt.encode(Pt))(new TextEncoder):async Wt=>new Uint8Array(await new Response(Wt).arrayBuffer()));var Pc=_c&&(()=>{let Wt=false;const Pt=new Request(jo.origin,{body:new ReadableStream,method:"POST",get duplex(){Wt=true;return"half"}}).headers.has("Content-Type");return Wt&&!Pt})();var qc=64*1024;var $c=_c&&!!(()=>{try{return Vo.isReadableStream(new Response("").body)}catch(Wt){}})();var ei={stream:$c&&(Wt=>Wt.body)};jc&&(Wt=>{["text","arrayBuffer","blob","formData","stream"].forEach((Pt=>{!ei[Pt]&&(ei[Pt]=Vo.isFunction(Wt[Pt])?Wt=>Wt[Pt]():(Wt,en)=>{throw new Fo(`Response type '${Pt}' is not supported`,Fo.ERR_NOT_SUPPORT,en)})}))})(new Response);var getBodyLength=async Wt=>{if(Wt==null){return 0}if(Vo.isBlob(Wt)){return Wt.size}if(Vo.isSpecCompliantForm(Wt)){return(await new Request(Wt).arrayBuffer()).byteLength}if(Vo.isArrayBufferView(Wt)){return Wt.byteLength}if(Vo.isURLSearchParams(Wt)){Wt=Wt+""}if(Vo.isString(Wt)){return(await Kc(Wt)).byteLength}};var resolveBodyLength=async(Wt,Pt)=>{const en=Vo.toFiniteNumber(Wt.getContentLength());return en==null?getBodyLength(Pt):en};var ti=jc&&(async Wt=>{let{url:Pt,method:en,data:tn,signal:nn,cancelToken:an,timeout:In,onDownloadProgress:rn,onUploadProgress:sn,responseType:on,headers:cn,withCredentials:dn="same-origin",fetchOptions:un}=resolveConfig_default(Wt);on=on?(on+"").toLowerCase():"text";let[pn,mn]=nn||an||In?Dc([nn,an],In):[];let bn,Gn;const onFinish=()=>{!bn&&setTimeout((()=>{pn&&pn.unsubscribe()}));bn=true};let hn;try{if(sn&&Pc&&en!=="get"&&en!=="head"&&(hn=await resolveBodyLength(cn,tn))!==0){let Wt=new Request(Pt,{method:"POST",body:tn,duplex:"half"});let en;if(Vo.isFormData(tn)&&(en=Wt.headers.get("content-type"))){cn.setContentType(en)}if(Wt.body){tn=trackStream(Wt.body,qc,fetchProgressDecorator(hn,progressEventReducer_default(sn)),null,Kc)}}if(!Vo.isString(dn)){dn=dn?"cors":"omit"}Gn=new Request(Pt,{...un,signal:pn,method:en.toUpperCase(),headers:cn.normalize().toJSON(),body:tn,duplex:"half",withCredentials:dn});let nn=await fetch(Gn);const an=$c&&(on==="stream"||on==="response");if($c&&(rn||an)){const Wt={};["status","statusText","headers"].forEach((Pt=>{Wt[Pt]=nn[Pt]}));const Pt=Vo.toFiniteNumber(nn.headers.get("content-length"));nn=new Response(trackStream(nn.body,qc,rn&&fetchProgressDecorator(Pt,progressEventReducer_default(rn,true)),an&&onFinish,Kc),Wt)}on=on||"text";let In=await ei[Vo.findKey(ei,on)||"text"](nn,Wt);!an&&onFinish();mn&&mn();return await new Promise(((Pt,en)=>{settle(Pt,en,{data:In,headers:tc.from(nn.headers),status:nn.status,statusText:nn.statusText,config:Wt,request:Gn})}))}catch(Pt){onFinish();if(Pt&&Pt.name==="TypeError"&&/fetch/i.test(Pt.message)){throw Object.assign(new Fo("Network Error",Fo.ERR_NETWORK,Wt,Gn),{cause:Pt.cause||Pt})}throw Fo.from(Pt,Pt&&Pt.code,Wt,Gn)}});var ni={http:Tc,xhr:Sc,fetch:ti};Vo.forEach(ni,((Wt,Pt)=>{if(Wt){try{Object.defineProperty(Wt,"name",{value:Pt})}catch(Wt){}Object.defineProperty(Wt,"adapterName",{value:Pt})}}));var renderReason=Wt=>`- ${Wt}`;var isResolvedHandle=Wt=>Vo.isFunction(Wt)||Wt===null||Wt===false;var li={getAdapter:Wt=>{Wt=Vo.isArray(Wt)?Wt:[Wt];const{length:Pt}=Wt;let en;let tn;const nn={};for(let an=0;an`adapter ${Wt} `+(Pt===false?"is not supported by the environment":"is not available in the build")));let en=Pt?Wt.length>1?"since :\n"+Wt.map(renderReason).join("\n"):" "+renderReason(Wt[0]):"as no adapter specified";throw new Fo(`There is no suitable adapter to dispatch the request `+en,"ERR_NOT_SUPPORT")}return tn},adapters:ni};function throwIfCancellationRequested(Wt){if(Wt.cancelToken){Wt.cancelToken.throwIfRequested()}if(Wt.signal&&Wt.signal.aborted){throw new nc(null,Wt)}}function dispatchRequest(Wt){throwIfCancellationRequested(Wt);Wt.headers=tc.from(Wt.headers);Wt.data=transformData.call(Wt,Wt.transformRequest);if(["post","put","patch"].indexOf(Wt.method)!==-1){Wt.headers.setContentType("application/x-www-form-urlencoded",false)}const Pt=li.getAdapter(Wt.adapter||Po.adapter);return Pt(Wt).then((function onAdapterResolution(Pt){throwIfCancellationRequested(Wt);Pt.data=transformData.call(Wt,Wt.transformResponse,Pt);Pt.headers=tc.from(Pt.headers);return Pt}),(function onAdapterRejection(Pt){if(!isCancel(Pt)){throwIfCancellationRequested(Wt);if(Pt&&Pt.response){Pt.response.data=transformData.call(Wt,Wt.transformResponse,Pt.response);Pt.response.headers=tc.from(Pt.response.headers)}}return Promise.reject(Pt)}))}var ai={};["object","boolean","number","function","string","symbol"].forEach(((Wt,Pt)=>{ai[Wt]=function validator(en){return typeof en===Wt||"a"+(Pt<1?"n ":" ")+Wt}}));var Ii={};ai.transitional=function transitional(Wt,Pt,en){function formatMessage(Wt,Pt){return"[Axios v"+cc+"] Transitional option '"+Wt+"'"+Pt+(en?". "+en:"")}return(en,tn,nn)=>{if(Wt===false){throw new Fo(formatMessage(tn," has been removed"+(Pt?" in "+Pt:"")),Fo.ERR_DEPRECATED)}if(Pt&&!Ii[tn]){Ii[tn]=true;console.warn(formatMessage(tn," has been deprecated since v"+Pt+" and will be removed in the near future"))}return Wt?Wt(en,tn,nn):true}};function assertOptions(Wt,Pt,en){if(typeof Wt!=="object"){throw new Fo("options must be an object",Fo.ERR_BAD_OPTION_VALUE)}const tn=Object.keys(Wt);let nn=tn.length;while(nn-- >0){const an=tn[nn];const In=Pt[an];if(In){const Pt=Wt[an];const en=Pt===void 0||In(Pt,an,Wt);if(en!==true){throw new Fo("option "+an+" must be "+en,Fo.ERR_BAD_OPTION_VALUE)}continue}if(en!==true){throw new Fo("Unknown option "+an,Fo.ERR_BAD_OPTION)}}}var ri={assertOptions:assertOptions,validators:ai};var si=ri.validators;var oi=class{constructor(Wt){this.defaults=Wt;this.interceptors={request:new Lo,response:new Lo}}async request(Wt,Pt){try{return await this._request(Wt,Pt)}catch(Wt){if(Wt instanceof Error){let Pt;Error.captureStackTrace?Error.captureStackTrace(Pt={}):Pt=new Error;const en=Pt.stack?Pt.stack.replace(/^.+\n/,""):"";try{if(!Wt.stack){Wt.stack=en}else if(en&&!String(Wt.stack).endsWith(en.replace(/^.+\n.+\n/,""))){Wt.stack+="\n"+en}}catch(Wt){}}throw Wt}}_request(Wt,Pt){if(typeof Wt==="string"){Pt=Pt||{};Pt.url=Wt}else{Pt=Wt||{}}Pt=mergeConfig(this.defaults,Pt);const{transitional:en,paramsSerializer:tn,headers:nn}=Pt;if(en!==void 0){ri.assertOptions(en,{silentJSONParsing:si.transitional(si.boolean),forcedJSONParsing:si.transitional(si.boolean),clarifyTimeoutError:si.transitional(si.boolean)},false)}if(tn!=null){if(Vo.isFunction(tn)){Pt.paramsSerializer={serialize:tn}}else{ri.assertOptions(tn,{encode:si.function,serialize:si.function},true)}}Pt.method=(Pt.method||this.defaults.method||"get").toLowerCase();let an=nn&&Vo.merge(nn.common,nn[Pt.method]);nn&&Vo.forEach(["delete","get","head","post","put","patch","common"],(Wt=>{delete nn[Wt]}));Pt.headers=tc.concat(an,nn);const In=[];let rn=true;this.interceptors.request.forEach((function unshiftRequestInterceptors(Wt){if(typeof Wt.runWhen==="function"&&Wt.runWhen(Pt)===false){return}rn=rn&&Wt.synchronous;In.unshift(Wt.fulfilled,Wt.rejected)}));const sn=[];this.interceptors.response.forEach((function pushResponseInterceptors(Wt){sn.push(Wt.fulfilled,Wt.rejected)}));let on;let cn=0;let dn;if(!rn){const Wt=[dispatchRequest.bind(this),void 0];Wt.unshift.apply(Wt,In);Wt.push.apply(Wt,sn);dn=Wt.length;on=Promise.resolve(Pt);while(cn{if(!en._listeners)return;let Pt=en._listeners.length;while(Pt-- >0){en._listeners[Pt](Wt)}en._listeners=null}));this.promise.then=Wt=>{let Pt;const tn=new Promise((Wt=>{en.subscribe(Wt);Pt=Wt})).then(Wt);tn.cancel=function reject(){en.unsubscribe(Pt)};return tn};Wt((function cancel(Wt,tn,nn){if(en.reason){return}en.reason=new nc(Wt,tn,nn);Pt(en.reason)}))}throwIfRequested(){if(this.reason){throw this.reason}}subscribe(Wt){if(this.reason){Wt(this.reason);return}if(this._listeners){this._listeners.push(Wt)}else{this._listeners=[Wt]}}unsubscribe(Wt){if(!this._listeners){return}const Pt=this._listeners.indexOf(Wt);if(Pt!==-1){this._listeners.splice(Pt,1)}}static source(){let Wt;const Pt=new _CancelToken((function executor(Pt){Wt=Pt}));return{token:Pt,cancel:Wt}}};var di=ii;function spread(Wt){return function wrap(Pt){return Wt.apply(null,Pt)}}function isAxiosError(Wt){return Vo.isObject(Wt)&&Wt.isAxiosError===true}var ui={Continue:100,SwitchingProtocols:101,Processing:102,EarlyHints:103,Ok:200,Created:201,Accepted:202,NonAuthoritativeInformation:203,NoContent:204,ResetContent:205,PartialContent:206,MultiStatus:207,AlreadyReported:208,ImUsed:226,MultipleChoices:300,MovedPermanently:301,Found:302,SeeOther:303,NotModified:304,UseProxy:305,Unused:306,TemporaryRedirect:307,PermanentRedirect:308,BadRequest:400,Unauthorized:401,PaymentRequired:402,Forbidden:403,NotFound:404,MethodNotAllowed:405,NotAcceptable:406,ProxyAuthenticationRequired:407,RequestTimeout:408,Conflict:409,Gone:410,LengthRequired:411,PreconditionFailed:412,PayloadTooLarge:413,UriTooLong:414,UnsupportedMediaType:415,RangeNotSatisfiable:416,ExpectationFailed:417,ImATeapot:418,MisdirectedRequest:421,UnprocessableEntity:422,Locked:423,FailedDependency:424,TooEarly:425,UpgradeRequired:426,PreconditionRequired:428,TooManyRequests:429,RequestHeaderFieldsTooLarge:431,UnavailableForLegalReasons:451,InternalServerError:500,NotImplemented:501,BadGateway:502,ServiceUnavailable:503,GatewayTimeout:504,HttpVersionNotSupported:505,VariantAlsoNegotiates:506,InsufficientStorage:507,LoopDetected:508,NotExtended:510,NetworkAuthenticationRequired:511};Object.entries(ui).forEach((([Wt,Pt])=>{ui[Pt]=Wt}));var pi=ui;function createInstance(Wt){const Pt=new ci(Wt);const en=bind(ci.prototype.request,Pt);Vo.extend(en,ci.prototype,Pt,{allOwnKeys:true});Vo.extend(en,Pt,null,{allOwnKeys:true});en.create=function create(Pt){return createInstance(mergeConfig(Wt,Pt))};return en}var mi=createInstance(Po);mi.Axios=ci;mi.CanceledError=nc;mi.CancelToken=di;mi.isCancel=isCancel;mi.VERSION=cc;mi.toFormData=Co;mi.AxiosError=Fo;mi.Cancel=mi.CanceledError;mi.all=function all(Wt){return Promise.all(Wt)};mi.spread=spread;mi.isAxiosError=isAxiosError;mi.mergeConfig=mergeConfig;mi.AxiosHeaders=tc;mi.formToJSON=Wt=>_o(Vo.isHTMLForm(Wt)?new FormData(Wt):Wt);mi.getAdapter=li.getAdapter;mi.HttpStatusCode=pi;mi.default=mi;var bi=mi;var{Axios:Gi,AxiosError:hi,CanceledError:Zi,isCancel:Ai,CancelToken:Wi,VERSION:Ni,all:gi,Cancel:yi,isAxiosError:vi,spread:Yi,toFormData:Ei,AxiosHeaders:Vi,HttpStatusCode:Ri,formToJSON:wi,getAdapter:Fi,mergeConfig:Qi}=bi;var fi=JSON.stringify({jsonrpc:"2.0",method:"eth_getBlockByNumber",params:["latest",false],id:1});var Hi=class _RPCService{static async makeRpcRequest(Wt,Pt,en){const tn=bi.create({timeout:Pt,headers:en});const nn=performance.now();try{await tn.post(Wt,fi);return{rpcUrl:Wt,duration:performance.now()-nn,success:true}}catch(Pt){if(Pt instanceof hi){const en=Pt.code==="ECONNABORTED";return{rpcUrl:Wt,success:false,duration:en?performance.now()-nn:0,error:en?"timeout":Pt.message}}return{rpcUrl:Wt,success:false,duration:0,error:`${Pt}`}}}static async testRpcPerformance(Wt,Pt,en,tn,nn){async function requestEndpoint(Wt){try{return await _RPCService.makeRpcRequest(Wt,nn,tn)}catch(Pt){console.error(`Failed to reach endpoint. ${Pt}`);throw new Error(Wt)}}const an=en.map((Wt=>requestEndpoint(Wt)));const In=await Promise.allSettled(an);In.forEach((tn=>{if(tn.status==="fulfilled"&&tn.value.success){Pt[`${Wt}__${tn.value.rpcUrl}`]=tn.value.duration}else if(tn.status==="fulfilled"){const Wt=tn.value;const Pt=en.indexOf(Wt.rpcUrl);if(Pt>-1){en.splice(Pt,1)}}}));return{latencies:Pt,runtimeRpcs:en}}static async findFastestRpc(Wt,Pt){try{const en=Object.entries(Wt).filter((([Wt])=>Wt.startsWith(`${Pt}__`))).reduce(((Wt,[Pt,en])=>{Wt[Pt]=en;return Wt}),{});return Object.keys(en).reduce(((Wt,Pt)=>en[Wt]0&&parseInt(an,16)>0&&In.match(/[0-9|a-f|A-F|x]/gm)?.join("").length===66}catch(Wt){return false}}};var Ci=class{static getLatencies(Wt,Pt){if(Wt==="browser"){if(this.bypassForTests())return{};const Wt=JSON.parse(localStorage.getItem("rpcLatencies")||"{}");return Object.keys(Wt).reduce(((en,tn)=>{if(tn.startsWith(`${Pt}__`)){en[tn]=Wt[tn]}return en}),{})}return{}}static getRefreshLatencies(Wt){if(Wt==="browser"){if(this.bypassForTests())return 0;const Wt=JSON.parse(localStorage.getItem("refreshLatencies")||"0");if(typeof Wt==="number"){return Wt}else{return 0}}return 0}static setLatencies(Wt,Pt){if(Wt==="browser"){if(this.bypassForTests())return;localStorage.setItem("rpcLatencies",JSON.stringify(Pt))}}static setRefreshLatencies(Wt,Pt){if(Wt==="browser"){if(this.bypassForTests())return;localStorage.setItem("refreshLatencies",JSON.stringify(Pt))}}static bypassForTests(){if(typeof localStorage==="undefined"){console.log("Passing test because localStorage is not defined.");return true}}};var Xi="No RPCs available";function shuffleArray(Wt){for(let Pt=Wt.length-1;Pt>0;Pt--){const en=Math.floor(Math.random()*(Pt+1));[Wt[Pt],Wt[en]]=[Wt[en],Wt[Pt]]}}var ki=class _RPCHandler{static _instance=null;_provider=null;_networkId;_networkName;_env="node";_rpcTimeout=Number.MAX_SAFE_INTEGER;_cacheRefreshCycles=10;_refreshLatencies=0;_autoStorage=false;_runtimeRpcs=[];_latencies={};_networkRpcs;_proxySettings={disabled:false,retryCount:3,retryDelay:100,logTier:"ok",logger:new Ks,strictLogs:true,moduleName:"RPCHandler"};constructor(Wt){this._networkId=Wt.networkId;this._networkRpcs=this._filterRpcs(Ss[this._networkId].rpcs,Wt.tracking||"yes");this._networkName=Ms[this._networkId];this._initialize(Wt);this.log.bind(this);this.metadataMaker.bind(this);this.createProviderProxy.bind(this);this.getProvider.bind(this);this.getFastestRpcProvider.bind(this);this.getLatencies.bind(this);this.getRefreshLatencies.bind(this);this.getCacheRefreshCycles.bind(this);this.getRuntimeRpcs.bind(this);this.getNetworkId.bind(this);this.getNetworkName.bind(this);this.getNetworkRpcs.bind(this);this.testRpcPerformance.bind(this)}async getFirstAvailableRpcProvider(){const Wt=[...Ss[this._networkId].rpcs];shuffleArray(Wt);for(const Pt of Wt){try{const Wt=await Hi.makeRpcRequest(Pt.url,this._rpcTimeout,{"Content-Type":"application/json"});if(Wt.success){return new _s.JsonRpcProvider({url:Pt.url,skipFetchSetup:true},Number(this._networkId))}else{console.error(`Failed to reach endpoint ${Pt.url}. ${Wt.error}`)}}catch(Wt){console.error(`Failed to reach endpoint ${Pt.url}. ${Wt}`)}}return null}async getFastestRpcProvider(){let Wt=await this.testRpcPerformance();if(Wt&&Wt?.connection.url.includes("localhost")&&!(this._networkId==="31337"||this._networkId==="1337")){Wt=await this.testRpcPerformance()}this._provider=this.createProviderProxy(Wt,this);this.log("ok",`[${this.proxySettings.moduleName}] Provider initialized: `,{provider:this._provider?.connection.url});this.log("info",`[${this.proxySettings.moduleName}]`,{latencies:this._latencies});return this._provider}get proxySettings(){return this._proxySettings}set proxySettings(Wt){this._proxySettings=Wt}createProviderProxy(Wt,Pt){if(this.proxySettings.disabled)return Wt;return new Proxy(Wt,{get:function(Wt,en){if(typeof Wt[en]!=="function"){return Wt[en]}if(typeof Wt[en]==="function"){return async function(...tn){try{const nn=await Wt[en](...tn);if(nn){Pt.log("verbose",`[${Pt.proxySettings.moduleName}] Successfully called provider method ${en}`,Pt.metadataMaker(nn,en,tn,{rpc:Wt.connection.url}));return nn}}catch(nn){Pt.log("error",`[${Pt.proxySettings.moduleName}] Failed to call provider method ${en}, retrying...`,Pt.metadataMaker(nn,en,tn,{rpc:Wt.connection.url}))}const nn=Pt.getLatencies();const an=Object.entries(nn).sort(((Wt,Pt)=>Wt[1]-Pt[1]));if(!an.length){throw Pt.log("fatal",`[${Pt.proxySettings.moduleName}] ${Xi}`,Pt.metadataMaker(new Error(Xi),"createProviderProxy",tn,{sortedLatencies:an,networks:Pt._networkRpcs}))}Pt.log("debug",`[${Pt.proxySettings.moduleName}] Current provider failed, retrying with next fastest provider...`,Pt.metadataMaker({},en,tn));let In=Pt._proxySettings.retryCount;let rn;let sn=null;while(In>0){for(const[Wt]of an){Pt.log("debug",`[${Pt.proxySettings.moduleName}] Connected to: ${Wt}`);try{rn=new _s.JsonRpcProvider({url:Wt.split("__")[1],skipFetchSetup:true},Number(Pt._networkId));const nn=await rn[en](...tn);if(nn){Pt.log("verbose",`[${Pt.proxySettings.moduleName}] Successfully called provider method ${en}`,Pt.metadataMaker(nn,en,tn,{rpc:Wt}));sn=nn;In=0}}catch(Wt){if(In===1){Pt.log("fatal",`[${Pt.proxySettings.moduleName}] Failed to call provider method ${en} after ${Pt._proxySettings.retryCount} attempts`,Pt.metadataMaker(Wt,en,tn));throw Wt}else{Pt.log("debug",`[${Pt.proxySettings.moduleName}] Retrying in ${Pt._proxySettings.retryDelay}ms...`);Pt.log("debug",`[${Pt.proxySettings.moduleName}] Call number: ${Pt._proxySettings.retryCount-In+1}`);await new Promise((Wt=>setTimeout(Wt,Pt._proxySettings.retryDelay)))}}}if(sn){break}In--}return sn}}return Wt[en]}})}populateRuntimeFromNetwork(Wt){return Wt.map((Wt=>{if(Wt.startsWith(`${this._networkId}__`)){return Wt.split("__")[1]}return Wt}))}async testRpcPerformance(){const Wt=Object.keys(this._latencies).filter((Wt=>Wt.startsWith(`${this._networkId}__`))).length<=1||this._refreshLatencies>=this._cacheRefreshCycles;if(Wt){this._runtimeRpcs=getRpcUrls(this._networkRpcs);this._refreshLatencies=0}else if(this._latencies&&Object.keys(this._latencies).length>0){this._runtimeRpcs=this.populateRuntimeFromNetwork(Object.keys(this._latencies))}else if(this._runtimeRpcs.length===0){this._runtimeRpcs=getRpcUrls(this._networkRpcs)}await this._testRpcPerformance();const Pt=await Hi.findFastestRpc(this._latencies,this._networkId);if(!Pt){throw this.log("fatal",`[${this.proxySettings.moduleName}] Failed to find fastest RPC`,this.metadataMaker(new Error(Xi),"testRpcPerformance",[],{latencies:this._latencies,networkId:this._networkId}))}this._provider=this.createProviderProxy(new _s.JsonRpcProvider({url:Pt,skipFetchSetup:true},Number(this._networkId)),this);if(this._autoStorage){Ci.setLatencies(this._env,this._latencies);Ci.setRefreshLatencies(this._env,this._refreshLatencies)}if(!this._provider){throw this.log("fatal",`[${this.proxySettings.moduleName}] Failed to create provider`,this.metadataMaker(new Error("No provider available"),"testRpcPerformance",[],{latencies:this._latencies,fastestRpcUrl:Pt}))}return this._provider}getProvider(){if(!this._provider){throw this.log("fatal",`[${this.proxySettings.moduleName}] Provider is not initialized`,this.metadataMaker(new Error("Provider is not initialized"),"getProvider",[],{networkRpcs:this._networkRpcs,runtimeRpcs:this._runtimeRpcs,latencies:this._latencies}))}return this._provider}static getInstance(Wt){if(!_RPCHandler._instance){if(!Wt){throw new Error("Config is required to initialize RPCHandler")}_RPCHandler._instance=new _RPCHandler(Wt)}return _RPCHandler._instance}clearInstance(){_RPCHandler._instance=null}getRuntimeRpcs(){return this._runtimeRpcs}getNetworkId(){return this._networkId}getNetworkName(){return this._networkName}getNetworkRpcs(){return this._networkRpcs}getLatencies(){return this._latencies}getRefreshLatencies(){return this._refreshLatencies}getCacheRefreshCycles(){return this._cacheRefreshCycles}async _testRpcPerformance(){const{latencies:Wt,runtimeRpcs:Pt}=await Hi.testRpcPerformance(this._networkId,this._latencies,this._runtimeRpcs,{"Content-Type":"application/json"},this._rpcTimeout);this._runtimeRpcs=Pt;this._latencies=Wt;this._refreshLatencies++;Ci.setLatencies(this._env,this._latencies);Ci.setRefreshLatencies(this._env,this._refreshLatencies)}metadataMaker(Wt,Pt,en,tn){const nn=Wt instanceof Error?Wt:void 0;if(nn){return{error:nn,method:Pt,args:en,metadata:tn}}else{return{method:Pt,args:en,metadata:tn}}}log(Wt,Pt,en){if(!this._proxySettings?.logger){this.proxySettings.logger=new Ks}let tn=this._proxySettings?.logTier;if(!tn){this.proxySettings.logTier="ok";tn=this.proxySettings.logTier}else if(tn==="none"){return}const nn=this.proxySettings.strictLogs;if(nn&&tn===Wt){this.proxySettings.logger?.[Wt](Pt,en)}else if(tn==="verbose"||!nn){this.proxySettings.logger?.log(Wt,Pt,en)}}_updateConfig(Wt){if(Wt.proxySettings){this._proxySettings={...this._proxySettings,...Wt.proxySettings,logger:Wt.proxySettings.logger||this.proxySettings.logger,logTier:Wt.proxySettings.logTier||this.proxySettings.logTier}}if(Wt.networkName){this._networkName=Wt.networkName}if(Wt.cacheRefreshCycles){this._cacheRefreshCycles=Wt.cacheRefreshCycles}if(Wt.rpcTimeout){this._rpcTimeout=Wt.rpcTimeout}if(Wt.autoStorage){this._autoStorage=true;this._latencies=Ci.getLatencies(this._env,this._networkId);this._refreshLatencies=Ci.getRefreshLatencies(this._env)}}_filterRpcs(Wt,Pt){return Wt.filter((Wt=>{if(Pt=="yes"){return true}else if(Pt=="limited"){return Wt.tracking=="limited"||Wt.tracking=="none"}else if(Pt=="none"){return Wt.tracking=="none"}return false}))}_initialize(Wt){this._env=typeof window==="undefined"?"node":"browser";if(Wt.networkRpcs&&Wt.networkRpcs.length>0){if(this._networkId==="31337"||this._networkId==="1337"){this._networkRpcs=[{url:Ts},{url:Us}]}else if(this._networkRpcs?.length>0){this._networkRpcs=[...this._networkRpcs,...Wt.networkRpcs]}else{this._networkRpcs=Wt.networkRpcs}}if(Wt.runtimeRpcs&&Wt.runtimeRpcs.length>0){if(this._networkId==="31337"||this._networkId==="1337"){this._runtimeRpcs=[`${Ts}`,`${Us}`,...Wt.runtimeRpcs]}else if(this._runtimeRpcs?.length>0){this._runtimeRpcs=[...this._runtimeRpcs,...Wt.runtimeRpcs]}else{this._runtimeRpcs=Wt.runtimeRpcs}}this._updateConfig(Wt)}};0&&0; +/*! Bundled license information: -/***/ 10733: -/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) { +js-sha3/src/sha3.js: + (** + * [js-sha3]{@link https://github.com/emn178/js-sha3} + * + * @version 0.8.0 + * @author Chen, Yi-Cyuan [emn178@gmail.com] + * @copyright Chen, Yi-Cyuan 2015-2018 + * @license MIT + *) +mime-db/index.js: + (*! + * mime-db + * Copyright(c) 2014 Jonathan Ong + * Copyright(c) 2015-2022 Douglas Christopher Wilson + * MIT Licensed + *) -var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { - if (k2 === undefined) 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 === undefined) k2 = k; - o[k2] = m[k]; -})); -var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { - Object.defineProperty(o, "default", { enumerable: true, value: v }); -}) : function(o, v) { - o["default"] = v; -}); -var __importStar = (this && this.__importStar) || function (mod) { - if (mod && mod.__esModule) return mod; - var result = {}; - if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); - __setModuleDefault(result, mod); - return result; -}; -Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.issue = exports.issueCommand = void 0; -const os = __importStar(__nccwpck_require__(70857)); -const utils_1 = __nccwpck_require__(7201); +mime-types/index.js: + (*! + * mime-types + * Copyright(c) 2014 Jonathan Ong + * Copyright(c) 2015 Douglas Christopher Wilson + * MIT Licensed + *) +*/},10221:(Wt,Pt,en)=>{if(process.env.NODE_ENV==="production"){Wt.exports=en(42600)}else{Wt.exports=en(10948)}},10948:(Wt,Pt,en)=>{var tn;tn={value:true};function _interopDefault(Wt){return Wt&&typeof Wt==="object"&&"default"in Wt?Wt["default"]:Wt}var nn=_interopDefault(en(9889));var an=en(91839);var In=en(18202);var rn=en(98322);var sn="0x000000000022D473030F116dDEE9F6B43aC78BA3";function permit2Address(Wt){switch(Wt){case 324:return"0x0000000000225e31D15943971F47aD3022F714Fa";default:return sn}}var on=In.BigNumber.from("0xffffffffffff");var cn=In.BigNumber.from("0xffffffffffffffffffffffffffffffffffffffff");var dn=In.BigNumber.from("0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");var un=cn;var pn=on;var mn=on;var bn=dn;var Gn=dn;var hn=dn;var Zn=In.BigNumber.from(0);var An="Permit2";function permit2Domain(Wt,Pt){return{name:An,chainId:Pt,verifyingContract:Wt}}var Wn=[{name:"token",type:"address"},{name:"amount",type:"uint160"},{name:"expiration",type:"uint48"},{name:"nonce",type:"uint48"}];var Nn={PermitSingle:[{name:"details",type:"PermitDetails"},{name:"spender",type:"address"},{name:"sigDeadline",type:"uint256"}],PermitDetails:Wn};var gn={PermitBatch:[{name:"details",type:"PermitDetails[]"},{name:"spender",type:"address"},{name:"sigDeadline",type:"uint256"}],PermitDetails:Wn};function isPermit(Wt){return!Array.isArray(Wt.details)}var yn=function(){function AllowanceTransfer(){}AllowanceTransfer.getPermitData=function getPermitData(Wt,Pt,en){!hn.gte(Wt.sigDeadline)?nn(false,"SIG_DEADLINE_OUT_OF_RANGE"):void 0;var tn=permit2Domain(Pt,en);if(isPermit(Wt)){validatePermitDetails(Wt.details);return{domain:tn,types:Nn,values:Wt}}else{Wt.details.forEach(validatePermitDetails);return{domain:tn,types:gn,values:Wt}}};AllowanceTransfer.hash=function hash$1(Wt,Pt,en){var tn=AllowanceTransfer.getPermitData(Wt,Pt,en),nn=tn.domain,In=tn.types,rn=tn.values;return an._TypedDataEncoder.hash(nn,In,rn)};return AllowanceTransfer}();function validatePermitDetails(Wt){!mn.gte(Wt.nonce)?nn(false,"NONCE_OUT_OF_RANGE"):void 0;!un.gte(Wt.amount)?nn(false,"AMOUNT_OUT_OF_RANGE"):void 0;!pn.gte(Wt.expiration)?nn(false,"EXPIRATION_OUT_OF_RANGE"):void 0}function _regeneratorRuntime(){_regeneratorRuntime=function(){return Pt};var Wt,Pt={},en=Object.prototype,tn=en.hasOwnProperty,nn=Object.defineProperty||function(Wt,Pt,en){Wt[Pt]=en.value},an="function"==typeof Symbol?Symbol:{},In=an.iterator||"@@iterator",rn=an.asyncIterator||"@@asyncIterator",sn=an.toStringTag||"@@toStringTag";function define(Wt,Pt,en){return Object.defineProperty(Wt,Pt,{value:en,enumerable:!0,configurable:!0,writable:!0}),Wt[Pt]}try{define({},"")}catch(Wt){define=function(Wt,Pt,en){return Wt[Pt]=en}}function wrap(Wt,Pt,en,tn){var an=Pt&&Pt.prototype instanceof Generator?Pt:Generator,In=Object.create(an.prototype),rn=new Context(tn||[]);return nn(In,"_invoke",{value:makeInvokeMethod(Wt,en,rn)}),In}function tryCatch(Wt,Pt,en){try{return{type:"normal",arg:Wt.call(Pt,en)}}catch(Wt){return{type:"throw",arg:Wt}}}Pt.wrap=wrap;var on="suspendedStart",cn="suspendedYield",dn="executing",un="completed",pn={};function Generator(){}function GeneratorFunction(){}function GeneratorFunctionPrototype(){}var mn={};define(mn,In,(function(){return this}));var bn=Object.getPrototypeOf,Gn=bn&&bn(bn(values([])));Gn&&Gn!==en&&tn.call(Gn,In)&&(mn=Gn);var hn=GeneratorFunctionPrototype.prototype=Generator.prototype=Object.create(mn);function defineIteratorMethods(Wt){["next","throw","return"].forEach((function(Pt){define(Wt,Pt,(function(Wt){return this._invoke(Pt,Wt)}))}))}function AsyncIterator(Wt,Pt){function invoke(en,nn,an,In){var rn=tryCatch(Wt[en],Wt,nn);if("throw"!==rn.type){var sn=rn.arg,on=sn.value;return on&&"object"==typeof on&&tn.call(on,"__await")?Pt.resolve(on.__await).then((function(Wt){invoke("next",Wt,an,In)}),(function(Wt){invoke("throw",Wt,an,In)})):Pt.resolve(on).then((function(Wt){sn.value=Wt,an(sn)}),(function(Wt){return invoke("throw",Wt,an,In)}))}In(rn.arg)}var en;nn(this,"_invoke",{value:function(Wt,tn){function callInvokeWithMethodAndArg(){return new Pt((function(Pt,en){invoke(Wt,tn,Pt,en)}))}return en=en?en.then(callInvokeWithMethodAndArg,callInvokeWithMethodAndArg):callInvokeWithMethodAndArg()}})}function makeInvokeMethod(Pt,en,tn){var nn=on;return function(an,In){if(nn===dn)throw new Error("Generator is already running");if(nn===un){if("throw"===an)throw In;return{value:Wt,done:!0}}for(tn.method=an,tn.arg=In;;){var rn=tn.delegate;if(rn){var sn=maybeInvokeDelegate(rn,tn);if(sn){if(sn===pn)continue;return sn}}if("next"===tn.method)tn.sent=tn._sent=tn.arg;else if("throw"===tn.method){if(nn===on)throw nn=un,tn.arg;tn.dispatchException(tn.arg)}else"return"===tn.method&&tn.abrupt("return",tn.arg);nn=dn;var mn=tryCatch(Pt,en,tn);if("normal"===mn.type){if(nn=tn.done?un:cn,mn.arg===pn)continue;return{value:mn.arg,done:tn.done}}"throw"===mn.type&&(nn=un,tn.method="throw",tn.arg=mn.arg)}}}function maybeInvokeDelegate(Pt,en){var tn=en.method,nn=Pt.iterator[tn];if(nn===Wt)return en.delegate=null,"throw"===tn&&Pt.iterator.return&&(en.method="return",en.arg=Wt,maybeInvokeDelegate(Pt,en),"throw"===en.method)||"return"!==tn&&(en.method="throw",en.arg=new TypeError("The iterator does not provide a '"+tn+"' method")),pn;var an=tryCatch(nn,Pt.iterator,en.arg);if("throw"===an.type)return en.method="throw",en.arg=an.arg,en.delegate=null,pn;var In=an.arg;return In?In.done?(en[Pt.resultName]=In.value,en.next=Pt.nextLoc,"return"!==en.method&&(en.method="next",en.arg=Wt),en.delegate=null,pn):In:(en.method="throw",en.arg=new TypeError("iterator result is not an object"),en.delegate=null,pn)}function pushTryEntry(Wt){var Pt={tryLoc:Wt[0]};1 in Wt&&(Pt.catchLoc=Wt[1]),2 in Wt&&(Pt.finallyLoc=Wt[2],Pt.afterLoc=Wt[3]),this.tryEntries.push(Pt)}function resetTryEntry(Wt){var Pt=Wt.completion||{};Pt.type="normal",delete Pt.arg,Wt.completion=Pt}function Context(Wt){this.tryEntries=[{tryLoc:"root"}],Wt.forEach(pushTryEntry,this),this.reset(!0)}function values(Pt){if(Pt||""===Pt){var en=Pt[In];if(en)return en.call(Pt);if("function"==typeof Pt.next)return Pt;if(!isNaN(Pt.length)){var nn=-1,an=function next(){for(;++nn=0;--nn){var an=this.tryEntries[nn],In=an.completion;if("root"===an.tryLoc)return handle("end");if(an.tryLoc<=this.prev){var rn=tn.call(an,"catchLoc"),sn=tn.call(an,"finallyLoc");if(rn&&sn){if(this.prev=0;--en){var nn=this.tryEntries[en];if(nn.tryLoc<=this.prev&&tn.call(nn,"finallyLoc")&&this.prev=0;--Pt){var en=this.tryEntries[Pt];if(en.finallyLoc===Wt)return this.complete(en.completion,en.afterLoc),resetTryEntry(en),pn}},catch:function(Wt){for(var Pt=this.tryEntries.length-1;Pt>=0;--Pt){var en=this.tryEntries[Pt];if(en.tryLoc===Wt){var tn=en.completion;if("throw"===tn.type){var nn=tn.arg;resetTryEntry(en)}return nn}}throw new Error("illegal catch attempt")},delegateYield:function(Pt,en,tn){return this.delegate={iterator:values(Pt),resultName:en,nextLoc:tn},"next"===this.method&&(this.arg=Wt),pn}},Pt}function asyncGeneratorStep(Wt,Pt,en,tn,nn,an,In){try{var rn=Wt[an](In);var sn=rn.value}catch(Wt){en(Wt);return}if(rn.done){Pt(sn)}else{Promise.resolve(sn).then(tn,nn)}}function _asyncToGenerator(Wt){return function(){var Pt=this,en=arguments;return new Promise((function(tn,nn){var an=Wt.apply(Pt,en);function _next(Wt){asyncGeneratorStep(an,tn,nn,_next,_throw,"next",Wt)}function _throw(Wt){asyncGeneratorStep(an,tn,nn,_next,_throw,"throw",Wt)}_next(undefined)}))}}function _extends(){_extends=Object.assign?Object.assign.bind():function(Wt){for(var Pt=1;Pt{var tn;tn={value:!0};var nn,an=(nn=en(9889))&&"object"==typeof nn&&"default"in nn?nn.default:nn,In=en(91839),rn=en(18202),sn=en(98322),on=rn.BigNumber.from("0xffffffffffff"),cn=rn.BigNumber.from("0xffffffffffffffffffffffffffffffffffffffff"),dn=rn.BigNumber.from("0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"),un=cn,pn=on,mn=on,bn=dn,Gn=dn,hn=dn,Zn=rn.BigNumber.from(0);function f(Wt,Pt){return{name:"Permit2",chainId:Pt,verifyingContract:Wt}}var An=[{name:"token",type:"address"},{name:"amount",type:"uint160"},{name:"expiration",type:"uint48"},{name:"nonce",type:"uint48"}],Wn={PermitSingle:[{name:"details",type:"PermitDetails"},{name:"spender",type:"address"},{name:"sigDeadline",type:"uint256"}],PermitDetails:An},Nn={PermitBatch:[{name:"details",type:"PermitDetails[]"},{name:"spender",type:"address"},{name:"sigDeadline",type:"uint256"}],PermitDetails:An},gn=function(){function e(){}return e.getPermitData=function(Wt,Pt,en){hn.gte(Wt.sigDeadline)||an(!1);var tn=f(Pt,en);return function(Wt){return!Array.isArray(Wt.details)}(Wt)?(w(Wt.details),{domain:tn,types:Wn,values:Wt}):(Wt.details.forEach(w),{domain:tn,types:Nn,values:Wt})},e.hash=function(Wt,Pt,en){var tn=e.getPermitData(Wt,Pt,en);return In._TypedDataEncoder.hash(tn.domain,tn.types,tn.values)},e}();function w(Wt){mn.gte(Wt.nonce)||an(!1),un.gte(Wt.amount)||an(!1),pn.gte(Wt.expiration)||an(!1)}function x(){x=function(){return Pt};var Wt,Pt={},en=Object.prototype,tn=en.hasOwnProperty,nn=Object.defineProperty||function(Wt,Pt,en){Wt[Pt]=en.value},an="function"==typeof Symbol?Symbol:{},In=an.iterator||"@@iterator",rn=an.asyncIterator||"@@asyncIterator",sn=an.toStringTag||"@@toStringTag";function u(Wt,Pt,en){return Object.defineProperty(Wt,Pt,{value:en,enumerable:!0,configurable:!0,writable:!0}),Wt[Pt]}try{u({},"")}catch(Wt){u=function(Wt,Pt,en){return Wt[Pt]=en}}function y(Wt,Pt,en,tn){var an=Object.create((Pt&&Pt.prototype instanceof h?Pt:h).prototype),In=new L(tn||[]);return nn(an,"_invoke",{value:E(Wt,en,In)}),an}function d(Wt,Pt,en){try{return{type:"normal",arg:Wt.call(Pt,en)}}catch(Wt){return{type:"throw",arg:Wt}}}Pt.wrap=y;var on="suspendedStart",cn="executing",dn="completed",un={};function h(){}function T(){}function v(){}var pn={};u(pn,In,(function(){return this}));var mn=Object.getPrototypeOf,bn=mn&&mn(mn(N([])));bn&&bn!==en&&tn.call(bn,In)&&(pn=bn);var Gn=v.prototype=h.prototype=Object.create(pn);function k(Wt){["next","throw","return"].forEach((function(Pt){u(Wt,Pt,(function(Wt){return this._invoke(Pt,Wt)}))}))}function A(Wt,Pt){function n(en,nn,an,In){var rn=d(Wt[en],Wt,nn);if("throw"!==rn.type){var sn=rn.arg,on=sn.value;return on&&"object"==typeof on&&tn.call(on,"__await")?Pt.resolve(on.__await).then((function(Wt){n("next",Wt,an,In)}),(function(Wt){n("throw",Wt,an,In)})):Pt.resolve(on).then((function(Wt){sn.value=Wt,an(sn)}),(function(Wt){return n("throw",Wt,an,In)}))}In(rn.arg)}var en;nn(this,"_invoke",{value:function(Wt,tn){function a(){return new Pt((function(Pt,en){n(Wt,tn,Pt,en)}))}return en=en?en.then(a,a):a()}})}function E(Pt,en,tn){var nn=on;return function(an,In){if(nn===cn)throw new Error("Generator is already running");if(nn===dn){if("throw"===an)throw In;return{value:Wt,done:!0}}for(tn.method=an,tn.arg=In;;){var rn=tn.delegate;if(rn){var sn=D(rn,tn);if(sn){if(sn===un)continue;return sn}}if("next"===tn.method)tn.sent=tn._sent=tn.arg;else if("throw"===tn.method){if(nn===on)throw nn=dn,tn.arg;tn.dispatchException(tn.arg)}else"return"===tn.method&&tn.abrupt("return",tn.arg);nn=cn;var pn=d(Pt,en,tn);if("normal"===pn.type){if(nn=tn.done?dn:"suspendedYield",pn.arg===un)continue;return{value:pn.arg,done:tn.done}}"throw"===pn.type&&(nn=dn,tn.method="throw",tn.arg=pn.arg)}}}function D(Pt,en){var tn=en.method,nn=Pt.iterator[tn];if(nn===Wt)return en.delegate=null,"throw"===tn&&Pt.iterator.return&&(en.method="return",en.arg=Wt,D(Pt,en),"throw"===en.method)||"return"!==tn&&(en.method="throw",en.arg=new TypeError("The iterator does not provide a '"+tn+"' method")),un;var an=d(nn,Pt.iterator,en.arg);if("throw"===an.type)return en.method="throw",en.arg=an.arg,en.delegate=null,un;var In=an.arg;return In?In.done?(en[Pt.resultName]=In.value,en.next=Pt.nextLoc,"return"!==en.method&&(en.method="next",en.arg=Wt),en.delegate=null,un):In:(en.method="throw",en.arg=new TypeError("iterator result is not an object"),en.delegate=null,un)}function S(Wt){var Pt={tryLoc:Wt[0]};1 in Wt&&(Pt.catchLoc=Wt[1]),2 in Wt&&(Pt.finallyLoc=Wt[2],Pt.afterLoc=Wt[3]),this.tryEntries.push(Pt)}function I(Wt){var Pt=Wt.completion||{};Pt.type="normal",delete Pt.arg,Wt.completion=Pt}function L(Wt){this.tryEntries=[{tryLoc:"root"}],Wt.forEach(S,this),this.reset(!0)}function N(Pt){if(Pt||""===Pt){var en=Pt[In];if(en)return en.call(Pt);if("function"==typeof Pt.next)return Pt;if(!isNaN(Pt.length)){var nn=-1,an=function n(){for(;++nn=0;--nn){var an=this.tryEntries[nn],In=an.completion;if("root"===an.tryLoc)return a("end");if(an.tryLoc<=this.prev){var rn=tn.call(an,"catchLoc"),sn=tn.call(an,"finallyLoc");if(rn&&sn){if(this.prev=0;--en){var nn=this.tryEntries[en];if(nn.tryLoc<=this.prev&&tn.call(nn,"finallyLoc")&&this.prev=0;--Pt){var en=this.tryEntries[Pt];if(en.finallyLoc===Wt)return this.complete(en.completion,en.afterLoc),I(en),un}},catch:function(Wt){for(var Pt=this.tryEntries.length-1;Pt>=0;--Pt){var en=this.tryEntries[Pt];if(en.tryLoc===Wt){var tn=en.completion;if("throw"===tn.type){var nn=tn.arg;I(en)}return nn}}throw new Error("illegal catch attempt")},delegateYield:function(Pt,en,tn){return this.delegate={iterator:N(Pt),resultName:en,nextLoc:tn},"next"===this.method&&(this.arg=Wt),un}},Pt}function b(Wt,Pt,en,tn,nn,an,In){try{var rn=Wt[an](In),sn=rn.value}catch(Wt){return void en(Wt)}rn.done?Pt(sn):Promise.resolve(sn).then(tn,nn)}function P(Wt){return function(){var Pt=this,en=arguments;return new Promise((function(tn,nn){var an=Wt.apply(Pt,en);function s(Wt){b(an,tn,nn,s,o,"next",Wt)}function o(Wt){b(an,tn,nn,s,o,"throw",Wt)}s(void 0)}))}}function k(){return(k=Object.assign?Object.assign.bind():function(Wt){for(var Pt=1;Pt{Object.defineProperty(Pt,"__esModule",{value:true});var tn=en(16577);class AbortSignal extends tn.EventTarget{constructor(){super();throw new TypeError("AbortSignal cannot be constructed directly")}get aborted(){const Wt=nn.get(this);if(typeof Wt!=="boolean"){throw new TypeError(`Expected 'this' to be an 'AbortSignal' object, but got ${this===null?"null":typeof this}`)}return Wt}}tn.defineEventAttribute(AbortSignal.prototype,"abort");function createAbortSignal(){const Wt=Object.create(AbortSignal.prototype);tn.EventTarget.call(Wt);nn.set(Wt,false);return Wt}function abortSignal(Wt){if(nn.get(Wt)!==false){return}nn.set(Wt,true);Wt.dispatchEvent({type:"abort"})}const nn=new WeakMap;Object.defineProperties(AbortSignal.prototype,{aborted:{enumerable:true}});if(typeof Symbol==="function"&&typeof Symbol.toStringTag==="symbol"){Object.defineProperty(AbortSignal.prototype,Symbol.toStringTag,{configurable:true,value:"AbortSignal"})}class AbortController{constructor(){an.set(this,createAbortSignal())}get signal(){return getSignal(this)}abort(){abortSignal(getSignal(this))}}const an=new WeakMap;function getSignal(Wt){const Pt=an.get(Wt);if(Pt==null){throw new TypeError(`Expected 'this' to be an 'AbortController' object, but got ${Wt===null?"null":typeof Wt}`)}return Pt}Object.defineProperties(AbortController.prototype,{signal:{enumerable:true},abort:{enumerable:true}});if(typeof Symbol==="function"&&typeof Symbol.toStringTag==="symbol"){Object.defineProperty(AbortController.prototype,Symbol.toStringTag,{configurable:true,value:"AbortController"})}Pt.AbortController=AbortController;Pt.AbortSignal=AbortSignal;Pt["default"]=AbortController;Wt.exports=AbortController;Wt.exports.AbortController=Wt.exports["default"]=AbortController;Wt.exports.AbortSignal=AbortSignal},31965:function(Wt){(function(Pt){function checkInt(Wt){return parseInt(Wt)===Wt}function checkInts(Wt){if(!checkInt(Wt.length)){return false}for(var Pt=0;Pt255){return false}}return true}function coerceArray(Wt,Pt){if(Wt.buffer&&ArrayBuffer.isView(Wt)&&Wt.name==="Uint8Array"){if(Pt){if(Wt.slice){Wt=Wt.slice()}else{Wt=Array.prototype.slice.call(Wt)}}return Wt}if(Array.isArray(Wt)){if(!checkInts(Wt)){throw new Error("Array contains invalid value: "+Wt)}return new Uint8Array(Wt)}if(checkInt(Wt.length)&&checkInts(Wt)){return new Uint8Array(Wt)}throw new Error("unsupported array-like object")}function createArray(Wt){return new Uint8Array(Wt)}function copyArray(Wt,Pt,en,tn,nn){if(tn!=null||nn!=null){if(Wt.slice){Wt=Wt.slice(tn,nn)}else{Wt=Array.prototype.slice.call(Wt,tn,nn)}}Pt.set(Wt,en)}var en=function(){function toBytes(Wt){var Pt=[],en=0;Wt=encodeURI(Wt);while(en191&&tn<224){Pt.push(String.fromCharCode((tn&31)<<6|Wt[en+1]&63));en+=2}else{Pt.push(String.fromCharCode((tn&15)<<12|(Wt[en+1]&63)<<6|Wt[en+2]&63));en+=3}}return Pt.join("")}return{toBytes:toBytes,fromBytes:fromBytes}}();var tn=function(){function toBytes(Wt){var Pt=[];for(var en=0;en>4]+Wt[nn&15])}return en.join("")}return{toBytes:toBytes,fromBytes:fromBytes}}();var nn={16:10,24:12,32:14};var an=[1,2,4,8,16,32,64,128,27,54,108,216,171,77,154,47,94,188,99,198,151,53,106,212,179,125,250,239,197,145];var In=[99,124,119,123,242,107,111,197,48,1,103,43,254,215,171,118,202,130,201,125,250,89,71,240,173,212,162,175,156,164,114,192,183,253,147,38,54,63,247,204,52,165,229,241,113,216,49,21,4,199,35,195,24,150,5,154,7,18,128,226,235,39,178,117,9,131,44,26,27,110,90,160,82,59,214,179,41,227,47,132,83,209,0,237,32,252,177,91,106,203,190,57,74,76,88,207,208,239,170,251,67,77,51,133,69,249,2,127,80,60,159,168,81,163,64,143,146,157,56,245,188,182,218,33,16,255,243,210,205,12,19,236,95,151,68,23,196,167,126,61,100,93,25,115,96,129,79,220,34,42,144,136,70,238,184,20,222,94,11,219,224,50,58,10,73,6,36,92,194,211,172,98,145,149,228,121,231,200,55,109,141,213,78,169,108,86,244,234,101,122,174,8,186,120,37,46,28,166,180,198,232,221,116,31,75,189,139,138,112,62,181,102,72,3,246,14,97,53,87,185,134,193,29,158,225,248,152,17,105,217,142,148,155,30,135,233,206,85,40,223,140,161,137,13,191,230,66,104,65,153,45,15,176,84,187,22];var rn=[82,9,106,213,48,54,165,56,191,64,163,158,129,243,215,251,124,227,57,130,155,47,255,135,52,142,67,68,196,222,233,203,84,123,148,50,166,194,35,61,238,76,149,11,66,250,195,78,8,46,161,102,40,217,36,178,118,91,162,73,109,139,209,37,114,248,246,100,134,104,152,22,212,164,92,204,93,101,182,146,108,112,72,80,253,237,185,218,94,21,70,87,167,141,157,132,144,216,171,0,140,188,211,10,247,228,88,5,184,179,69,6,208,44,30,143,202,63,15,2,193,175,189,3,1,19,138,107,58,145,17,65,79,103,220,234,151,242,207,206,240,180,230,115,150,172,116,34,231,173,53,133,226,249,55,232,28,117,223,110,71,241,26,113,29,41,197,137,111,183,98,14,170,24,190,27,252,86,62,75,198,210,121,32,154,219,192,254,120,205,90,244,31,221,168,51,136,7,199,49,177,18,16,89,39,128,236,95,96,81,127,169,25,181,74,13,45,229,122,159,147,201,156,239,160,224,59,77,174,42,245,176,200,235,187,60,131,83,153,97,23,43,4,126,186,119,214,38,225,105,20,99,85,33,12,125];var sn=[3328402341,4168907908,4000806809,4135287693,4294111757,3597364157,3731845041,2445657428,1613770832,33620227,3462883241,1445669757,3892248089,3050821474,1303096294,3967186586,2412431941,528646813,2311702848,4202528135,4026202645,2992200171,2387036105,4226871307,1101901292,3017069671,1604494077,1169141738,597466303,1403299063,3832705686,2613100635,1974974402,3791519004,1033081774,1277568618,1815492186,2118074177,4126668546,2211236943,1748251740,1369810420,3521504564,4193382664,3799085459,2883115123,1647391059,706024767,134480908,2512897874,1176707941,2646852446,806885416,932615841,168101135,798661301,235341577,605164086,461406363,3756188221,3454790438,1311188841,2142417613,3933566367,302582043,495158174,1479289972,874125870,907746093,3698224818,3025820398,1537253627,2756858614,1983593293,3084310113,2108928974,1378429307,3722699582,1580150641,327451799,2790478837,3117535592,0,3253595436,1075847264,3825007647,2041688520,3059440621,3563743934,2378943302,1740553945,1916352843,2487896798,2555137236,2958579944,2244988746,3151024235,3320835882,1336584933,3992714006,2252555205,2588757463,1714631509,293963156,2319795663,3925473552,67240454,4269768577,2689618160,2017213508,631218106,1269344483,2723238387,1571005438,2151694528,93294474,1066570413,563977660,1882732616,4059428100,1673313503,2008463041,2950355573,1109467491,537923632,3858759450,4260623118,3218264685,2177748300,403442708,638784309,3287084079,3193921505,899127202,2286175436,773265209,2479146071,1437050866,4236148354,2050833735,3362022572,3126681063,840505643,3866325909,3227541664,427917720,2655997905,2749160575,1143087718,1412049534,999329963,193497219,2353415882,3354324521,1807268051,672404540,2816401017,3160301282,369822493,2916866934,3688947771,1681011286,1949973070,336202270,2454276571,201721354,1210328172,3093060836,2680341085,3184776046,1135389935,3294782118,965841320,831886756,3554993207,4068047243,3588745010,2345191491,1849112409,3664604599,26054028,2983581028,2622377682,1235855840,3630984372,2891339514,4092916743,3488279077,3395642799,4101667470,1202630377,268961816,1874508501,4034427016,1243948399,1546530418,941366308,1470539505,1941222599,2546386513,3421038627,2715671932,3899946140,1042226977,2521517021,1639824860,227249030,260737669,3765465232,2084453954,1907733956,3429263018,2420656344,100860677,4160157185,470683154,3261161891,1781871967,2924959737,1773779408,394692241,2579611992,974986535,664706745,3655459128,3958962195,731420851,571543859,3530123707,2849626480,126783113,865375399,765172662,1008606754,361203602,3387549984,2278477385,2857719295,1344809080,2782912378,59542671,1503764984,160008576,437062935,1707065306,3622233649,2218934982,3496503480,2185314755,697932208,1512910199,504303377,2075177163,2824099068,1841019862,739644986];var on=[2781242211,2230877308,2582542199,2381740923,234877682,3184946027,2984144751,1418839493,1348481072,50462977,2848876391,2102799147,434634494,1656084439,3863849899,2599188086,1167051466,2636087938,1082771913,2281340285,368048890,3954334041,3381544775,201060592,3963727277,1739838676,4250903202,3930435503,3206782108,4149453988,2531553906,1536934080,3262494647,484572669,2923271059,1783375398,1517041206,1098792767,49674231,1334037708,1550332980,4098991525,886171109,150598129,2481090929,1940642008,1398944049,1059722517,201851908,1385547719,1699095331,1587397571,674240536,2704774806,252314885,3039795866,151914247,908333586,2602270848,1038082786,651029483,1766729511,3447698098,2682942837,454166793,2652734339,1951935532,775166490,758520603,3000790638,4004797018,4217086112,4137964114,1299594043,1639438038,3464344499,2068982057,1054729187,1901997871,2534638724,4121318227,1757008337,0,750906861,1614815264,535035132,3363418545,3988151131,3201591914,1183697867,3647454910,1265776953,3734260298,3566750796,3903871064,1250283471,1807470800,717615087,3847203498,384695291,3313910595,3617213773,1432761139,2484176261,3481945413,283769337,100925954,2180939647,4037038160,1148730428,3123027871,3813386408,4087501137,4267549603,3229630528,2315620239,2906624658,3156319645,1215313976,82966005,3747855548,3245848246,1974459098,1665278241,807407632,451280895,251524083,1841287890,1283575245,337120268,891687699,801369324,3787349855,2721421207,3431482436,959321879,1469301956,4065699751,2197585534,1199193405,2898814052,3887750493,724703513,2514908019,2696962144,2551808385,3516813135,2141445340,1715741218,2119445034,2872807568,2198571144,3398190662,700968686,3547052216,1009259540,2041044702,3803995742,487983883,1991105499,1004265696,1449407026,1316239930,504629770,3683797321,168560134,1816667172,3837287516,1570751170,1857934291,4014189740,2797888098,2822345105,2754712981,936633572,2347923833,852879335,1133234376,1500395319,3084545389,2348912013,1689376213,3533459022,3762923945,3034082412,4205598294,133428468,634383082,2949277029,2398386810,3913789102,403703816,3580869306,2297460856,1867130149,1918643758,607656988,4049053350,3346248884,1368901318,600565992,2090982877,2632479860,557719327,3717614411,3697393085,2249034635,2232388234,2430627952,1115438654,3295786421,2865522278,3633334344,84280067,33027830,303828494,2747425121,1600795957,4188952407,3496589753,2434238086,1486471617,658119965,3106381470,953803233,334231800,3005978776,857870609,3151128937,1890179545,2298973838,2805175444,3056442267,574365214,2450884487,550103529,1233637070,4289353045,2018519080,2057691103,2399374476,4166623649,2148108681,387583245,3664101311,836232934,3330556482,3100665960,3280093505,2955516313,2002398509,287182607,3413881008,4238890068,3597515707,975967766];var cn=[1671808611,2089089148,2006576759,2072901243,4061003762,1807603307,1873927791,3310653893,810573872,16974337,1739181671,729634347,4263110654,3613570519,2883997099,1989864566,3393556426,2191335298,3376449993,2106063485,4195741690,1508618841,1204391495,4027317232,2917941677,3563566036,2734514082,2951366063,2629772188,2767672228,1922491506,3227229120,3082974647,4246528509,2477669779,644500518,911895606,1061256767,4144166391,3427763148,878471220,2784252325,3845444069,4043897329,1905517169,3631459288,827548209,356461077,67897348,3344078279,593839651,3277757891,405286936,2527147926,84871685,2595565466,118033927,305538066,2157648768,3795705826,3945188843,661212711,2999812018,1973414517,152769033,2208177539,745822252,439235610,455947803,1857215598,1525593178,2700827552,1391895634,994932283,3596728278,3016654259,695947817,3812548067,795958831,2224493444,1408607827,3513301457,0,3979133421,543178784,4229948412,2982705585,1542305371,1790891114,3410398667,3201918910,961245753,1256100938,1289001036,1491644504,3477767631,3496721360,4012557807,2867154858,4212583931,1137018435,1305975373,861234739,2241073541,1171229253,4178635257,33948674,2139225727,1357946960,1011120188,2679776671,2833468328,1374921297,2751356323,1086357568,2408187279,2460827538,2646352285,944271416,4110742005,3168756668,3066132406,3665145818,560153121,271589392,4279952895,4077846003,3530407890,3444343245,202643468,322250259,3962553324,1608629855,2543990167,1154254916,389623319,3294073796,2817676711,2122513534,1028094525,1689045092,1575467613,422261273,1939203699,1621147744,2174228865,1339137615,3699352540,577127458,712922154,2427141008,2290289544,1187679302,3995715566,3100863416,339486740,3732514782,1591917662,186455563,3681988059,3762019296,844522546,978220090,169743370,1239126601,101321734,611076132,1558493276,3260915650,3547250131,2901361580,1655096418,2443721105,2510565781,3828863972,2039214713,3878868455,3359869896,928607799,1840765549,2374762893,3580146133,1322425422,2850048425,1823791212,1459268694,4094161908,3928346602,1706019429,2056189050,2934523822,135794696,3134549946,2022240376,628050469,779246638,472135708,2800834470,3032970164,3327236038,3894660072,3715932637,1956440180,522272287,1272813131,3185336765,2340818315,2323976074,1888542832,1044544574,3049550261,1722469478,1222152264,50660867,4127324150,236067854,1638122081,895445557,1475980887,3117443513,2257655686,3243809217,489110045,2662934430,3778599393,4162055160,2561878936,288563729,1773916777,3648039385,2391345038,2493985684,2612407707,505560094,2274497927,3911240169,3460925390,1442818645,678973480,3749357023,2358182796,2717407649,2306869641,219617805,3218761151,3862026214,1120306242,1756942440,1103331905,2578459033,762796589,252780047,2966125488,1425844308,3151392187,372911126];var dn=[1667474886,2088535288,2004326894,2071694838,4075949567,1802223062,1869591006,3318043793,808472672,16843522,1734846926,724270422,4278065639,3621216949,2880169549,1987484396,3402253711,2189597983,3385409673,2105378810,4210693615,1499065266,1195886990,4042263547,2913856577,3570689971,2728590687,2947541573,2627518243,2762274643,1920112356,3233831835,3082273397,4261223649,2475929149,640051788,909531756,1061110142,4160160501,3435941763,875846760,2779116625,3857003729,4059105529,1903268834,3638064043,825316194,353713962,67374088,3351728789,589522246,3284360861,404236336,2526454071,84217610,2593830191,117901582,303183396,2155911963,3806477791,3958056653,656894286,2998062463,1970642922,151591698,2206440989,741110872,437923380,454765878,1852748508,1515908788,2694904667,1381168804,993742198,3604373943,3014905469,690584402,3823320797,791638366,2223281939,1398011302,3520161977,0,3991743681,538992704,4244381667,2981218425,1532751286,1785380564,3419096717,3200178535,960056178,1246420628,1280103576,1482221744,3486468741,3503319995,4025428677,2863326543,4227536621,1128514950,1296947098,859002214,2240123921,1162203018,4193849577,33687044,2139062782,1347481760,1010582648,2678045221,2829640523,1364325282,2745433693,1077985408,2408548869,2459086143,2644360225,943212656,4126475505,3166494563,3065430391,3671750063,555836226,269496352,4294908645,4092792573,3537006015,3452783745,202118168,320025894,3974901699,1600119230,2543297077,1145359496,387397934,3301201811,2812801621,2122220284,1027426170,1684319432,1566435258,421079858,1936954854,1616945344,2172753945,1330631070,3705438115,572679748,707427924,2425400123,2290647819,1179044492,4008585671,3099120491,336870440,3739122087,1583276732,185277718,3688593069,3772791771,842159716,976899700,168435220,1229577106,101059084,606366792,1549591736,3267517855,3553849021,2897014595,1650632388,2442242105,2509612081,3840161747,2038008818,3890688725,3368567691,926374254,1835907034,2374863873,3587531953,1313788572,2846482505,1819063512,1448540844,4109633523,3941213647,1701162954,2054852340,2930698567,134748176,3132806511,2021165296,623210314,774795868,471606328,2795958615,3031746419,3334885783,3907527627,3722280097,1953799400,522133822,1263263126,3183336545,2341176845,2324333839,1886425312,1044267644,3048588401,1718004428,1212733584,50529542,4143317495,235803164,1633788866,892690282,1465383342,3115962473,2256965911,3250673817,488449850,2661202215,3789633753,4177007595,2560144171,286339874,1768537042,3654906025,2391705863,2492770099,2610673197,505291324,2273808917,3924369609,3469625735,1431699370,673740880,3755965093,2358021891,2711746649,2307489801,218961690,3217021541,3873845719,1111672452,1751693520,1094828930,2576986153,757954394,252645662,2964376443,1414855848,3149649517,370555436];var un=[1374988112,2118214995,437757123,975658646,1001089995,530400753,2902087851,1273168787,540080725,2910219766,2295101073,4110568485,1340463100,3307916247,641025152,3043140495,3736164937,632953703,1172967064,1576976609,3274667266,2169303058,2370213795,1809054150,59727847,361929877,3211623147,2505202138,3569255213,1484005843,1239443753,2395588676,1975683434,4102977912,2572697195,666464733,3202437046,4035489047,3374361702,2110667444,1675577880,3843699074,2538681184,1649639237,2976151520,3144396420,4269907996,4178062228,1883793496,2403728665,2497604743,1383856311,2876494627,1917518562,3810496343,1716890410,3001755655,800440835,2261089178,3543599269,807962610,599762354,33778362,3977675356,2328828971,2809771154,4077384432,1315562145,1708848333,101039829,3509871135,3299278474,875451293,2733856160,92987698,2767645557,193195065,1080094634,1584504582,3178106961,1042385657,2531067453,3711829422,1306967366,2438237621,1908694277,67556463,1615861247,429456164,3602770327,2302690252,1742315127,2968011453,126454664,3877198648,2043211483,2709260871,2084704233,4169408201,0,159417987,841739592,504459436,1817866830,4245618683,260388950,1034867998,908933415,168810852,1750902305,2606453969,607530554,202008497,2472011535,3035535058,463180190,2160117071,1641816226,1517767529,470948374,3801332234,3231722213,1008918595,303765277,235474187,4069246893,766945465,337553864,1475418501,2943682380,4003061179,2743034109,4144047775,1551037884,1147550661,1543208500,2336434550,3408119516,3069049960,3102011747,3610369226,1113818384,328671808,2227573024,2236228733,3535486456,2935566865,3341394285,496906059,3702665459,226906860,2009195472,733156972,2842737049,294930682,1206477858,2835123396,2700099354,1451044056,573804783,2269728455,3644379585,2362090238,2564033334,2801107407,2776292904,3669462566,1068351396,742039012,1350078989,1784663195,1417561698,4136440770,2430122216,775550814,2193862645,2673705150,1775276924,1876241833,3475313331,3366754619,270040487,3902563182,3678124923,3441850377,1851332852,3969562369,2203032232,3868552805,2868897406,566021896,4011190502,3135740889,1248802510,3936291284,699432150,832877231,708780849,3332740144,899835584,1951317047,4236429990,3767586992,866637845,4043610186,1106041591,2144161806,395441711,1984812685,1139781709,3433712980,3835036895,2664543715,1282050075,3240894392,1181045119,2640243204,25965917,4203181171,4211818798,3009879386,2463879762,3910161971,1842759443,2597806476,933301370,1509430414,3943906441,3467192302,3076639029,3776767469,2051518780,2631065433,1441952575,404016761,1942435775,1408749034,1610459739,3745345300,2017778566,3400528769,3110650942,941896748,3265478751,371049330,3168937228,675039627,4279080257,967311729,135050206,3635733660,1683407248,2076935265,3576870512,1215061108,3501741890];var pn=[1347548327,1400783205,3273267108,2520393566,3409685355,4045380933,2880240216,2471224067,1428173050,4138563181,2441661558,636813900,4233094615,3620022987,2149987652,2411029155,1239331162,1730525723,2554718734,3781033664,46346101,310463728,2743944855,3328955385,3875770207,2501218972,3955191162,3667219033,768917123,3545789473,692707433,1150208456,1786102409,2029293177,1805211710,3710368113,3065962831,401639597,1724457132,3028143674,409198410,2196052529,1620529459,1164071807,3769721975,2226875310,486441376,2499348523,1483753576,428819965,2274680428,3075636216,598438867,3799141122,1474502543,711349675,129166120,53458370,2592523643,2782082824,4063242375,2988687269,3120694122,1559041666,730517276,2460449204,4042459122,2706270690,3446004468,3573941694,533804130,2328143614,2637442643,2695033685,839224033,1973745387,957055980,2856345839,106852767,1371368976,4181598602,1033297158,2933734917,1179510461,3046200461,91341917,1862534868,4284502037,605657339,2547432937,3431546947,2003294622,3182487618,2282195339,954669403,3682191598,1201765386,3917234703,3388507166,0,2198438022,1211247597,2887651696,1315723890,4227665663,1443857720,507358933,657861945,1678381017,560487590,3516619604,975451694,2970356327,261314535,3535072918,2652609425,1333838021,2724322336,1767536459,370938394,182621114,3854606378,1128014560,487725847,185469197,2918353863,3106780840,3356761769,2237133081,1286567175,3152976349,4255350624,2683765030,3160175349,3309594171,878443390,1988838185,3704300486,1756818940,1673061617,3403100636,272786309,1075025698,545572369,2105887268,4174560061,296679730,1841768865,1260232239,4091327024,3960309330,3497509347,1814803222,2578018489,4195456072,575138148,3299409036,446754879,3629546796,4011996048,3347532110,3252238545,4270639778,915985419,3483825537,681933534,651868046,2755636671,3828103837,223377554,2607439820,1649704518,3270937875,3901806776,1580087799,4118987695,3198115200,2087309459,2842678573,3016697106,1003007129,2802849917,1860738147,2077965243,164439672,4100872472,32283319,2827177882,1709610350,2125135846,136428751,3874428392,3652904859,3460984630,3572145929,3593056380,2939266226,824852259,818324884,3224740454,930369212,2801566410,2967507152,355706840,1257309336,4148292826,243256656,790073846,2373340630,1296297904,1422699085,3756299780,3818836405,457992840,3099667487,2135319889,77422314,1560382517,1945798516,788204353,1521706781,1385356242,870912086,325965383,2358957921,2050466060,2388260884,2313884476,4006521127,901210569,3990953189,1014646705,1503449823,1062597235,2031621326,3212035895,3931371469,1533017514,350174575,2256028891,2177544179,1052338372,741876788,1606591296,1914052035,213705253,2334669897,1107234197,1899603969,3725069491,2631447780,2422494913,1635502980,1893020342,1950903388,1120974935];var mn=[2807058932,1699970625,2764249623,1586903591,1808481195,1173430173,1487645946,59984867,4199882800,1844882806,1989249228,1277555970,3623636965,3419915562,1149249077,2744104290,1514790577,459744698,244860394,3235995134,1963115311,4027744588,2544078150,4190530515,1608975247,2627016082,2062270317,1507497298,2200818878,567498868,1764313568,3359936201,2305455554,2037970062,1047239e3,1910319033,1337376481,2904027272,2892417312,984907214,1243112415,830661914,861968209,2135253587,2011214180,2927934315,2686254721,731183368,1750626376,4246310725,1820824798,4172763771,3542330227,48394827,2404901663,2871682645,671593195,3254988725,2073724613,145085239,2280796200,2779915199,1790575107,2187128086,472615631,3029510009,4075877127,3802222185,4107101658,3201631749,1646252340,4270507174,1402811438,1436590835,3778151818,3950355702,3963161475,4020912224,2667994737,273792366,2331590177,104699613,95345982,3175501286,2377486676,1560637892,3564045318,369057872,4213447064,3919042237,1137477952,2658625497,1119727848,2340947849,1530455833,4007360968,172466556,266959938,516552836,0,2256734592,3980931627,1890328081,1917742170,4294704398,945164165,3575528878,958871085,3647212047,2787207260,1423022939,775562294,1739656202,3876557655,2530391278,2443058075,3310321856,547512796,1265195639,437656594,3121275539,719700128,3762502690,387781147,218828297,3350065803,2830708150,2848461854,428169201,122466165,3720081049,1627235199,648017665,4122762354,1002783846,2117360635,695634755,3336358691,4234721005,4049844452,3704280881,2232435299,574624663,287343814,612205898,1039717051,840019705,2708326185,793451934,821288114,1391201670,3822090177,376187827,3113855344,1224348052,1679968233,2361698556,1058709744,752375421,2431590963,1321699145,3519142200,2734591178,188127444,2177869557,3727205754,2384911031,3215212461,2648976442,2450346104,3432737375,1180849278,331544205,3102249176,4150144569,2952102595,2159976285,2474404304,766078933,313773861,2570832044,2108100632,1668212892,3145456443,2013908262,418672217,3070356634,2594734927,1852171925,3867060991,3473416636,3907448597,2614737639,919489135,164948639,2094410160,2997825956,590424639,2486224549,1723872674,3157750862,3399941250,3501252752,3625268135,2555048196,3673637356,1343127501,4130281361,3599595085,2957853679,1297403050,81781910,3051593425,2283490410,532201772,1367295589,3926170974,895287692,1953757831,1093597963,492483431,3528626907,1446242576,1192455638,1636604631,209336225,344873464,1015671571,669961897,3375740769,3857572124,2973530695,3747192018,1933530610,3464042516,935293895,3454686199,2858115069,1863638845,3683022916,4085369519,3292445032,875313188,1080017571,3279033885,621591778,1233856572,2504130317,24197544,3017672716,3835484340,3247465558,2220981195,3060847922,1551124588,1463996600];var bn=[4104605777,1097159550,396673818,660510266,2875968315,2638606623,4200115116,3808662347,821712160,1986918061,3430322568,38544885,3856137295,718002117,893681702,1654886325,2975484382,3122358053,3926825029,4274053469,796197571,1290801793,1184342925,3556361835,2405426947,2459735317,1836772287,1381620373,3196267988,1948373848,3764988233,3385345166,3263785589,2390325492,1480485785,3111247143,3780097726,2293045232,548169417,3459953789,3746175075,439452389,1362321559,1400849762,1685577905,1806599355,2174754046,137073913,1214797936,1174215055,3731654548,2079897426,1943217067,1258480242,529487843,1437280870,3945269170,3049390895,3313212038,923313619,679998e3,3215307299,57326082,377642221,3474729866,2041877159,133361907,1776460110,3673476453,96392454,878845905,2801699524,777231668,4082475170,2330014213,4142626212,2213296395,1626319424,1906247262,1846563261,562755902,3708173718,1040559837,3871163981,1418573201,3294430577,114585348,1343618912,2566595609,3186202582,1078185097,3651041127,3896688048,2307622919,425408743,3371096953,2081048481,1108339068,2216610296,0,2156299017,736970802,292596766,1517440620,251657213,2235061775,2933202493,758720310,265905162,1554391400,1532285339,908999204,174567692,1474760595,4002861748,2610011675,3234156416,3693126241,2001430874,303699484,2478443234,2687165888,585122620,454499602,151849742,2345119218,3064510765,514443284,4044981591,1963412655,2581445614,2137062819,19308535,1928707164,1715193156,4219352155,1126790795,600235211,3992742070,3841024952,836553431,1669664834,2535604243,3323011204,1243905413,3141400786,4180808110,698445255,2653899549,2989552604,2253581325,3252932727,3004591147,1891211689,2487810577,3915653703,4237083816,4030667424,2100090966,865136418,1229899655,953270745,3399679628,3557504664,4118925222,2061379749,3079546586,2915017791,983426092,2022837584,1607244650,2118541908,2366882550,3635996816,972512814,3283088770,1568718495,3499326569,3576539503,621982671,2895723464,410887952,2623762152,1002142683,645401037,1494807662,2595684844,1335535747,2507040230,4293295786,3167684641,367585007,3885750714,1865862730,2668221674,2960971305,2763173681,1059270954,2777952454,2724642869,1320957812,2194319100,2429595872,2815956275,77089521,3973773121,3444575871,2448830231,1305906550,4021308739,2857194700,2516901860,3518358430,1787304780,740276417,1699839814,1592394909,2352307457,2272556026,188821243,1729977011,3687994002,274084841,3594982253,3613494426,2701949495,4162096729,322734571,2837966542,1640576439,484830689,1202797690,3537852828,4067639125,349075736,3342319475,4157467219,4255800159,1030690015,1155237496,2951971274,1757691577,607398968,2738905026,499347990,3794078908,1011452712,227885567,2818666809,213114376,3034881240,1455525988,3414450555,850817237,1817998408,3092726480];var Gn=[0,235474187,470948374,303765277,941896748,908933415,607530554,708780849,1883793496,2118214995,1817866830,1649639237,1215061108,1181045119,1417561698,1517767529,3767586992,4003061179,4236429990,4069246893,3635733660,3602770327,3299278474,3400528769,2430122216,2664543715,2362090238,2193862645,2835123396,2801107407,3035535058,3135740889,3678124923,3576870512,3341394285,3374361702,3810496343,3977675356,4279080257,4043610186,2876494627,2776292904,3076639029,3110650942,2472011535,2640243204,2403728665,2169303058,1001089995,899835584,666464733,699432150,59727847,226906860,530400753,294930682,1273168787,1172967064,1475418501,1509430414,1942435775,2110667444,1876241833,1641816226,2910219766,2743034109,2976151520,3211623147,2505202138,2606453969,2302690252,2269728455,3711829422,3543599269,3240894392,3475313331,3843699074,3943906441,4178062228,4144047775,1306967366,1139781709,1374988112,1610459739,1975683434,2076935265,1775276924,1742315127,1034867998,866637845,566021896,800440835,92987698,193195065,429456164,395441711,1984812685,2017778566,1784663195,1683407248,1315562145,1080094634,1383856311,1551037884,101039829,135050206,437757123,337553864,1042385657,807962610,573804783,742039012,2531067453,2564033334,2328828971,2227573024,2935566865,2700099354,3001755655,3168937228,3868552805,3902563182,4203181171,4102977912,3736164937,3501741890,3265478751,3433712980,1106041591,1340463100,1576976609,1408749034,2043211483,2009195472,1708848333,1809054150,832877231,1068351396,766945465,599762354,159417987,126454664,361929877,463180190,2709260871,2943682380,3178106961,3009879386,2572697195,2538681184,2236228733,2336434550,3509871135,3745345300,3441850377,3274667266,3910161971,3877198648,4110568485,4211818798,2597806476,2497604743,2261089178,2295101073,2733856160,2902087851,3202437046,2968011453,3936291284,3835036895,4136440770,4169408201,3535486456,3702665459,3467192302,3231722213,2051518780,1951317047,1716890410,1750902305,1113818384,1282050075,1584504582,1350078989,168810852,67556463,371049330,404016761,841739592,1008918595,775550814,540080725,3969562369,3801332234,4035489047,4269907996,3569255213,3669462566,3366754619,3332740144,2631065433,2463879762,2160117071,2395588676,2767645557,2868897406,3102011747,3069049960,202008497,33778362,270040487,504459436,875451293,975658646,675039627,641025152,2084704233,1917518562,1615861247,1851332852,1147550661,1248802510,1484005843,1451044056,933301370,967311729,733156972,632953703,260388950,25965917,328671808,496906059,1206477858,1239443753,1543208500,1441952575,2144161806,1908694277,1675577880,1842759443,3610369226,3644379585,3408119516,3307916247,4011190502,3776767469,4077384432,4245618683,2809771154,2842737049,3144396420,3043140495,2673705150,2438237621,2203032232,2370213795];var hn=[0,185469197,370938394,487725847,741876788,657861945,975451694,824852259,1483753576,1400783205,1315723890,1164071807,1950903388,2135319889,1649704518,1767536459,2967507152,3152976349,2801566410,2918353863,2631447780,2547432937,2328143614,2177544179,3901806776,3818836405,4270639778,4118987695,3299409036,3483825537,3535072918,3652904859,2077965243,1893020342,1841768865,1724457132,1474502543,1559041666,1107234197,1257309336,598438867,681933534,901210569,1052338372,261314535,77422314,428819965,310463728,3409685355,3224740454,3710368113,3593056380,3875770207,3960309330,4045380933,4195456072,2471224067,2554718734,2237133081,2388260884,3212035895,3028143674,2842678573,2724322336,4138563181,4255350624,3769721975,3955191162,3667219033,3516619604,3431546947,3347532110,2933734917,2782082824,3099667487,3016697106,2196052529,2313884476,2499348523,2683765030,1179510461,1296297904,1347548327,1533017514,1786102409,1635502980,2087309459,2003294622,507358933,355706840,136428751,53458370,839224033,957055980,605657339,790073846,2373340630,2256028891,2607439820,2422494913,2706270690,2856345839,3075636216,3160175349,3573941694,3725069491,3273267108,3356761769,4181598602,4063242375,4011996048,3828103837,1033297158,915985419,730517276,545572369,296679730,446754879,129166120,213705253,1709610350,1860738147,1945798516,2029293177,1239331162,1120974935,1606591296,1422699085,4148292826,4233094615,3781033664,3931371469,3682191598,3497509347,3446004468,3328955385,2939266226,2755636671,3106780840,2988687269,2198438022,2282195339,2501218972,2652609425,1201765386,1286567175,1371368976,1521706781,1805211710,1620529459,2105887268,1988838185,533804130,350174575,164439672,46346101,870912086,954669403,636813900,788204353,2358957921,2274680428,2592523643,2441661558,2695033685,2880240216,3065962831,3182487618,3572145929,3756299780,3270937875,3388507166,4174560061,4091327024,4006521127,3854606378,1014646705,930369212,711349675,560487590,272786309,457992840,106852767,223377554,1678381017,1862534868,1914052035,2031621326,1211247597,1128014560,1580087799,1428173050,32283319,182621114,401639597,486441376,768917123,651868046,1003007129,818324884,1503449823,1385356242,1333838021,1150208456,1973745387,2125135846,1673061617,1756818940,2970356327,3120694122,2802849917,2887651696,2637442643,2520393566,2334669897,2149987652,3917234703,3799141122,4284502037,4100872472,3309594171,3460984630,3545789473,3629546796,2050466060,1899603969,1814803222,1730525723,1443857720,1560382517,1075025698,1260232239,575138148,692707433,878443390,1062597235,243256656,91341917,409198410,325965383,3403100636,3252238545,3704300486,3620022987,3874428392,3990953189,4042459122,4227665663,2460449204,2578018489,2226875310,2411029155,3198115200,3046200461,2827177882,2743944855];var Zn=[0,218828297,437656594,387781147,875313188,958871085,775562294,590424639,1750626376,1699970625,1917742170,2135253587,1551124588,1367295589,1180849278,1265195639,3501252752,3720081049,3399941250,3350065803,3835484340,3919042237,4270507174,4085369519,3102249176,3051593425,2734591178,2952102595,2361698556,2177869557,2530391278,2614737639,3145456443,3060847922,2708326185,2892417312,2404901663,2187128086,2504130317,2555048196,3542330227,3727205754,3375740769,3292445032,3876557655,3926170974,4246310725,4027744588,1808481195,1723872674,1910319033,2094410160,1608975247,1391201670,1173430173,1224348052,59984867,244860394,428169201,344873464,935293895,984907214,766078933,547512796,1844882806,1627235199,2011214180,2062270317,1507497298,1423022939,1137477952,1321699145,95345982,145085239,532201772,313773861,830661914,1015671571,731183368,648017665,3175501286,2957853679,2807058932,2858115069,2305455554,2220981195,2474404304,2658625497,3575528878,3625268135,3473416636,3254988725,3778151818,3963161475,4213447064,4130281361,3599595085,3683022916,3432737375,3247465558,3802222185,4020912224,4172763771,4122762354,3201631749,3017672716,2764249623,2848461854,2331590177,2280796200,2431590963,2648976442,104699613,188127444,472615631,287343814,840019705,1058709744,671593195,621591778,1852171925,1668212892,1953757831,2037970062,1514790577,1463996600,1080017571,1297403050,3673637356,3623636965,3235995134,3454686199,4007360968,3822090177,4107101658,4190530515,2997825956,3215212461,2830708150,2779915199,2256734592,2340947849,2627016082,2443058075,172466556,122466165,273792366,492483431,1047239e3,861968209,612205898,695634755,1646252340,1863638845,2013908262,1963115311,1446242576,1530455833,1277555970,1093597963,1636604631,1820824798,2073724613,1989249228,1436590835,1487645946,1337376481,1119727848,164948639,81781910,331544205,516552836,1039717051,821288114,669961897,719700128,2973530695,3157750862,2871682645,2787207260,2232435299,2283490410,2667994737,2450346104,3647212047,3564045318,3279033885,3464042516,3980931627,3762502690,4150144569,4199882800,3070356634,3121275539,2904027272,2686254721,2200818878,2384911031,2570832044,2486224549,3747192018,3528626907,3310321856,3359936201,3950355702,3867060991,4049844452,4234721005,1739656202,1790575107,2108100632,1890328081,1402811438,1586903591,1233856572,1149249077,266959938,48394827,369057872,418672217,1002783846,919489135,567498868,752375421,209336225,24197544,376187827,459744698,945164165,895287692,574624663,793451934,1679968233,1764313568,2117360635,1933530610,1343127501,1560637892,1243112415,1192455638,3704280881,3519142200,3336358691,3419915562,3907448597,3857572124,4075877127,4294704398,3029510009,3113855344,2927934315,2744104290,2159976285,2377486676,2594734927,2544078150];var An=[0,151849742,303699484,454499602,607398968,758720310,908999204,1059270954,1214797936,1097159550,1517440620,1400849762,1817998408,1699839814,2118541908,2001430874,2429595872,2581445614,2194319100,2345119218,3034881240,3186202582,2801699524,2951971274,3635996816,3518358430,3399679628,3283088770,4237083816,4118925222,4002861748,3885750714,1002142683,850817237,698445255,548169417,529487843,377642221,227885567,77089521,1943217067,2061379749,1640576439,1757691577,1474760595,1592394909,1174215055,1290801793,2875968315,2724642869,3111247143,2960971305,2405426947,2253581325,2638606623,2487810577,3808662347,3926825029,4044981591,4162096729,3342319475,3459953789,3576539503,3693126241,1986918061,2137062819,1685577905,1836772287,1381620373,1532285339,1078185097,1229899655,1040559837,923313619,740276417,621982671,439452389,322734571,137073913,19308535,3871163981,4021308739,4104605777,4255800159,3263785589,3414450555,3499326569,3651041127,2933202493,2815956275,3167684641,3049390895,2330014213,2213296395,2566595609,2448830231,1305906550,1155237496,1607244650,1455525988,1776460110,1626319424,2079897426,1928707164,96392454,213114376,396673818,514443284,562755902,679998e3,865136418,983426092,3708173718,3557504664,3474729866,3323011204,4180808110,4030667424,3945269170,3794078908,2507040230,2623762152,2272556026,2390325492,2975484382,3092726480,2738905026,2857194700,3973773121,3856137295,4274053469,4157467219,3371096953,3252932727,3673476453,3556361835,2763173681,2915017791,3064510765,3215307299,2156299017,2307622919,2459735317,2610011675,2081048481,1963412655,1846563261,1729977011,1480485785,1362321559,1243905413,1126790795,878845905,1030690015,645401037,796197571,274084841,425408743,38544885,188821243,3613494426,3731654548,3313212038,3430322568,4082475170,4200115116,3780097726,3896688048,2668221674,2516901860,2366882550,2216610296,3141400786,2989552604,2837966542,2687165888,1202797690,1320957812,1437280870,1554391400,1669664834,1787304780,1906247262,2022837584,265905162,114585348,499347990,349075736,736970802,585122620,972512814,821712160,2595684844,2478443234,2293045232,2174754046,3196267988,3079546586,2895723464,2777952454,3537852828,3687994002,3234156416,3385345166,4142626212,4293295786,3841024952,3992742070,174567692,57326082,410887952,292596766,777231668,660510266,1011452712,893681702,1108339068,1258480242,1343618912,1494807662,1715193156,1865862730,1948373848,2100090966,2701949495,2818666809,3004591147,3122358053,2235061775,2352307457,2535604243,2653899549,3915653703,3764988233,4219352155,4067639125,3444575871,3294430577,3746175075,3594982253,836553431,953270745,600235211,718002117,367585007,484830689,133361907,251657213,2041877159,1891211689,1806599355,1654886325,1568718495,1418573201,1335535747,1184342925];function convertToInt32(Wt){var Pt=[];for(var en=0;en>2;this._Ke[sn][Pt%4]=rn[Pt];this._Kd[Wt-sn][Pt%4]=rn[Pt]}var on=0;var cn=tn,dn;while(cn>16&255]<<24^In[dn>>8&255]<<16^In[dn&255]<<8^In[dn>>24&255]^an[on]<<24;on+=1;if(tn!=8){for(var Pt=1;Pt>8&255]<<8^In[dn>>16&255]<<16^In[dn>>24&255]<<24;for(var Pt=tn/2+1;Pt>2;pn=cn%4;this._Ke[un][pn]=rn[Pt];this._Kd[Wt-un][pn]=rn[Pt++];cn++}}for(var un=1;un>24&255]^hn[dn>>16&255]^Zn[dn>>8&255]^An[dn&255]}}};AES.prototype.encrypt=function(Wt){if(Wt.length!=16){throw new Error("invalid plaintext size (must be 16 bytes)")}var Pt=this._Ke.length-1;var en=[0,0,0,0];var tn=convertToInt32(Wt);for(var nn=0;nn<4;nn++){tn[nn]^=this._Ke[0][nn]}for(var an=1;an>24&255]^on[tn[(nn+1)%4]>>16&255]^cn[tn[(nn+2)%4]>>8&255]^dn[tn[(nn+3)%4]&255]^this._Ke[an][nn]}tn=en.slice()}var rn=createArray(16),un;for(var nn=0;nn<4;nn++){un=this._Ke[Pt][nn];rn[4*nn]=(In[tn[nn]>>24&255]^un>>24)&255;rn[4*nn+1]=(In[tn[(nn+1)%4]>>16&255]^un>>16)&255;rn[4*nn+2]=(In[tn[(nn+2)%4]>>8&255]^un>>8)&255;rn[4*nn+3]=(In[tn[(nn+3)%4]&255]^un)&255}return rn};AES.prototype.decrypt=function(Wt){if(Wt.length!=16){throw new Error("invalid ciphertext size (must be 16 bytes)")}var Pt=this._Kd.length-1;var en=[0,0,0,0];var tn=convertToInt32(Wt);for(var nn=0;nn<4;nn++){tn[nn]^=this._Kd[0][nn]}for(var an=1;an>24&255]^pn[tn[(nn+3)%4]>>16&255]^mn[tn[(nn+2)%4]>>8&255]^bn[tn[(nn+1)%4]&255]^this._Kd[an][nn]}tn=en.slice()}var In=createArray(16),sn;for(var nn=0;nn<4;nn++){sn=this._Kd[Pt][nn];In[4*nn]=(rn[tn[nn]>>24&255]^sn>>24)&255;In[4*nn+1]=(rn[tn[(nn+3)%4]>>16&255]^sn>>16)&255;In[4*nn+2]=(rn[tn[(nn+2)%4]>>8&255]^sn>>8)&255;In[4*nn+3]=(rn[tn[(nn+1)%4]&255]^sn)&255}return In};var ModeOfOperationECB=function(Wt){if(!(this instanceof ModeOfOperationECB)){throw Error("AES must be instanitated with `new`")}this.description="Electronic Code Block";this.name="ecb";this._aes=new AES(Wt)};ModeOfOperationECB.prototype.encrypt=function(Wt){Wt=coerceArray(Wt);if(Wt.length%16!==0){throw new Error("invalid plaintext size (must be multiple of 16 bytes)")}var Pt=createArray(Wt.length);var en=createArray(16);for(var tn=0;tn=0;--Pt){this._counter[Pt]=Wt%256;Wt=Wt>>8}};Counter.prototype.setBytes=function(Wt){Wt=coerceArray(Wt,true);if(Wt.length!=16){throw new Error("invalid counter bytes size (must be 16 bytes)")}this._counter=Wt};Counter.prototype.increment=function(){for(var Wt=15;Wt>=0;Wt--){if(this._counter[Wt]===255){this._counter[Wt]=0}else{this._counter[Wt]++;break}}};var ModeOfOperationCTR=function(Wt,Pt){if(!(this instanceof ModeOfOperationCTR)){throw Error("AES must be instanitated with `new`")}this.description="Counter";this.name="ctr";if(!(Pt instanceof Counter)){Pt=new Counter(Pt)}this._counter=Pt;this._remainingCounter=null;this._remainingCounterIndex=16;this._aes=new AES(Wt)};ModeOfOperationCTR.prototype.encrypt=function(Wt){var Pt=coerceArray(Wt,true);for(var en=0;en16){throw new Error("PKCS#7 padding byte out of range")}var en=Wt.length-Pt;for(var tn=0;tn{tn.once("response",Wt).once("error",Pt).end()}));tn.then=nn.then.bind(nn);return tn}Pt.req=req},98894:function(Wt,Pt,en){var tn=this&&this.__createBinding||(Object.create?function(Wt,Pt,en,tn){if(tn===undefined)tn=en;var nn=Object.getOwnPropertyDescriptor(Pt,en);if(!nn||("get"in nn?!Pt.__esModule:nn.writable||nn.configurable)){nn={enumerable:true,get:function(){return Pt[en]}}}Object.defineProperty(Wt,tn,nn)}:function(Wt,Pt,en,tn){if(tn===undefined)tn=en;Wt[tn]=Pt[en]});var nn=this&&this.__setModuleDefault||(Object.create?function(Wt,Pt){Object.defineProperty(Wt,"default",{enumerable:true,value:Pt})}:function(Wt,Pt){Wt["default"]=Pt});var an=this&&this.__importStar||function(Wt){if(Wt&&Wt.__esModule)return Wt;var Pt={};if(Wt!=null)for(var en in Wt)if(en!=="default"&&Object.prototype.hasOwnProperty.call(Wt,en))tn(Pt,Wt,en);nn(Pt,Wt);return Pt};var In=this&&this.__exportStar||function(Wt,Pt){for(var en in Wt)if(en!=="default"&&!Object.prototype.hasOwnProperty.call(Pt,en))tn(Pt,Wt,en)};Object.defineProperty(Pt,"__esModule",{value:true});Pt.Agent=void 0;const rn=an(en(69278));const sn=an(en(58611));const on=en(65692);In(en(15183),Pt);const cn=Symbol("AgentBaseInternalState");class Agent extends sn.Agent{constructor(Wt){super(Wt);this[cn]={}}isSecureEndpoint(Wt){if(Wt){if(typeof Wt.secureEndpoint==="boolean"){return Wt.secureEndpoint}if(typeof Wt.protocol==="string"){return Wt.protocol==="https:"}}const{stack:Pt}=new Error;if(typeof Pt!=="string")return false;return Pt.split("\n").some((Wt=>Wt.indexOf("(https.js:")!==-1||Wt.indexOf("node:https:")!==-1))}incrementSockets(Wt){if(this.maxSockets===Infinity&&this.maxTotalSockets===Infinity){return null}if(!this.sockets[Wt]){this.sockets[Wt]=[]}const Pt=new rn.Socket({writable:false});this.sockets[Wt].push(Pt);this.totalSocketCount++;return Pt}decrementSockets(Wt,Pt){if(!this.sockets[Wt]||Pt===null){return}const en=this.sockets[Wt];const tn=en.indexOf(Pt);if(tn!==-1){en.splice(tn,1);this.totalSocketCount--;if(en.length===0){delete this.sockets[Wt]}}}getName(Wt){const Pt=typeof Wt.secureEndpoint==="boolean"?Wt.secureEndpoint:this.isSecureEndpoint(Wt);if(Pt){return on.Agent.prototype.getName.call(this,Wt)}return super.getName(Wt)}createSocket(Wt,Pt,en){const tn={...Pt,secureEndpoint:this.isSecureEndpoint(Pt)};const nn=this.getName(tn);const an=this.incrementSockets(nn);Promise.resolve().then((()=>this.connect(Wt,tn))).then((In=>{this.decrementSockets(nn,an);if(In instanceof sn.Agent){try{return In.addRequest(Wt,tn)}catch(Wt){return en(Wt)}}this[cn].currentSocket=In;super.createSocket(Wt,Pt,en)}),(Wt=>{this.decrementSockets(nn,an);en(Wt)}))}createConnection(){const Wt=this[cn].currentSocket;this[cn].currentSocket=undefined;if(!Wt){throw new Error("No socket was returned in the `connect()` function")}return Wt}get defaultPort(){return this[cn].defaultPort??(this.protocol==="https:"?443:80)}set defaultPort(Wt){if(this[cn]){this[cn].defaultPort=Wt}}get protocol(){return this[cn].protocol??(this.isSecureEndpoint()?"https:":"http:")}set protocol(Wt){if(this[cn]){this[cn].protocol=Wt}}}Pt.Agent=Agent},3873:(Wt,Pt,en)=>{Wt.exports=en(12532);Wt.exports.HttpsAgent=en(10414);Wt.exports.constants=en(16160)},12532:(Wt,Pt,en)=>{const tn=en(58611).Agent;const nn=en(33724);const an=en(39023).debuglog("agentkeepalive");const{INIT_SOCKET:In,CURRENT_ID:rn,CREATE_ID:sn,SOCKET_CREATED_TIME:on,SOCKET_NAME:cn,SOCKET_REQUEST_COUNT:dn,SOCKET_REQUEST_FINISHED_COUNT:un}=en(16160);let pn=1;const mn=parseInt(process.version.split(".",1)[0].substring(1));if(mn>=11&&mn<=12){pn=2}else if(mn>=13){pn=3}function deprecate(Wt){console.log("[agentkeepalive:deprecated] %s",Wt)}class Agent extends tn{constructor(Wt){Wt=Wt||{};Wt.keepAlive=Wt.keepAlive!==false;if(Wt.freeSocketTimeout===undefined){Wt.freeSocketTimeout=4e3}if(Wt.keepAliveTimeout){deprecate("options.keepAliveTimeout is deprecated, please use options.freeSocketTimeout instead");Wt.freeSocketTimeout=Wt.keepAliveTimeout;delete Wt.keepAliveTimeout}if(Wt.freeSocketKeepAliveTimeout){deprecate("options.freeSocketKeepAliveTimeout is deprecated, please use options.freeSocketTimeout instead");Wt.freeSocketTimeout=Wt.freeSocketKeepAliveTimeout;delete Wt.freeSocketKeepAliveTimeout}if(Wt.timeout===undefined){Wt.timeout=Math.max(Wt.freeSocketTimeout*2,8e3)}Wt.timeout=nn(Wt.timeout);Wt.freeSocketTimeout=nn(Wt.freeSocketTimeout);Wt.socketActiveTTL=Wt.socketActiveTTL?nn(Wt.socketActiveTTL):0;super(Wt);this[rn]=0;this.createSocketCount=0;this.createSocketCountLastCheck=0;this.createSocketErrorCount=0;this.createSocketErrorCountLastCheck=0;this.closeSocketCount=0;this.closeSocketCountLastCheck=0;this.errorSocketCount=0;this.errorSocketCountLastCheck=0;this.requestCount=0;this.requestCountLastCheck=0;this.timeoutSocketCount=0;this.timeoutSocketCountLastCheck=0;this.on("free",(Wt=>{const Pt=this.calcSocketTimeout(Wt);if(Pt>0&&Wt.timeout!==Pt){Wt.setTimeout(Pt)}}))}get freeSocketKeepAliveTimeout(){deprecate("agent.freeSocketKeepAliveTimeout is deprecated, please use agent.options.freeSocketTimeout instead");return this.options.freeSocketTimeout}get timeout(){deprecate("agent.timeout is deprecated, please use agent.options.timeout instead");return this.options.timeout}get socketActiveTTL(){deprecate("agent.socketActiveTTL is deprecated, please use agent.options.socketActiveTTL instead");return this.options.socketActiveTTL}calcSocketTimeout(Wt){let Pt=this.options.freeSocketTimeout;const en=this.options.socketActiveTTL;if(en){const tn=Date.now()-Wt[on];const nn=en-tn;if(nn<=0){return nn}if(Pt&&nn{if(en)return;en=true;if(tn){this.createSocketErrorCount++;return Pt(tn)}this[In](nn,Wt);Pt(tn,nn)};const tn=super.createConnection(Wt,onNewCreate);if(tn)onNewCreate(null,tn);return tn}get statusChanged(){const Wt=this.createSocketCount!==this.createSocketCountLastCheck||this.createSocketErrorCount!==this.createSocketErrorCountLastCheck||this.closeSocketCount!==this.closeSocketCountLastCheck||this.errorSocketCount!==this.errorSocketCountLastCheck||this.timeoutSocketCount!==this.timeoutSocketCountLastCheck||this.requestCount!==this.requestCountLastCheck;if(Wt){this.createSocketCountLastCheck=this.createSocketCount;this.createSocketErrorCountLastCheck=this.createSocketErrorCount;this.closeSocketCountLastCheck=this.closeSocketCount;this.errorSocketCountLastCheck=this.errorSocketCount;this.timeoutSocketCountLastCheck=this.timeoutSocketCount;this.requestCountLastCheck=this.requestCount}return Wt}getCurrentStatus(){return{createSocketCount:this.createSocketCount,createSocketErrorCount:this.createSocketErrorCount,closeSocketCount:this.closeSocketCount,errorSocketCount:this.errorSocketCount,timeoutSocketCount:this.timeoutSocketCount,requestCount:this.requestCount,freeSockets:inspect(this.freeSockets),sockets:inspect(this.sockets),requests:inspect(this.requests)}}}function getSocketTimeout(Wt){return Wt.timeout||Wt._idleTimeout}function installListeners(Wt,Pt,en){an("%s create, timeout %sms",Pt[cn],getSocketTimeout(Pt));function onFree(){if(!Pt._httpMessage&&Pt[dn]===1)return;Pt[un]++;Wt.requestCount++;an("%s(requests: %s, finished: %s) free",Pt[cn],Pt[dn],Pt[un]);const tn=Wt.getName(en);if(Pt.writable&&Wt.requests[tn]&&Wt.requests[tn].length){Pt[dn]++;an("%s(requests: %s, finished: %s) will be reuse on agent free event",Pt[cn],Pt[dn],Pt[un])}}Pt.on("free",onFree);function onClose(en){an("%s(requests: %s, finished: %s) close, isError: %s",Pt[cn],Pt[dn],Pt[un],en);Wt.closeSocketCount++}Pt.on("close",onClose);function onTimeout(){const tn=Pt.listeners("timeout").length;const nn=getSocketTimeout(Pt);const In=Pt._httpMessage;const rn=In&&In.listeners("timeout").length||0;an("%s(requests: %s, finished: %s) timeout after %sms, listeners %s, defaultTimeoutListenerCount %s, hasHttpRequest %s, HttpRequest timeoutListenerCount %s",Pt[cn],Pt[dn],Pt[un],nn,tn,pn,!!In,rn);if(an.enabled){an("timeout listeners: %s",Pt.listeners("timeout").map((Wt=>Wt.name)).join(", "))}Wt.timeoutSocketCount++;const sn=Wt.getName(en);if(Wt.freeSockets[sn]&&Wt.freeSockets[sn].indexOf(Pt)!==-1){Pt.destroy();Wt.removeSocket(Pt,en);an("%s is free, destroy quietly",Pt[cn])}else{if(rn===0){const tn=new Error("Socket timeout");tn.code="ERR_SOCKET_TIMEOUT";tn.timeout=nn;Pt.destroy(tn);Wt.removeSocket(Pt,en);an("%s destroy with timeout error",Pt[cn])}}}Pt.on("timeout",onTimeout);function onError(en){const tn=Pt.listeners("error").length;an("%s(requests: %s, finished: %s) error: %s, listenerCount: %s",Pt[cn],Pt[dn],Pt[un],en,tn);Wt.errorSocketCount++;if(tn===1){an("%s emit uncaught error event",Pt[cn]);Pt.removeListener("error",onError);Pt.emit("error",en)}}Pt.on("error",onError);function onRemove(){an("%s(requests: %s, finished: %s) agentRemove",Pt[cn],Pt[dn],Pt[un]);Pt.removeListener("close",onClose);Pt.removeListener("error",onError);Pt.removeListener("free",onFree);Pt.removeListener("timeout",onTimeout);Pt.removeListener("agentRemove",onRemove)}Pt.on("agentRemove",onRemove)}Wt.exports=Agent;function inspect(Wt){const Pt={};for(const en in Wt){Pt[en]=Wt[en].length}return Pt}},16160:Wt=>{Wt.exports={CURRENT_ID:Symbol("agentkeepalive#currentId"),CREATE_ID:Symbol("agentkeepalive#createId"),INIT_SOCKET:Symbol("agentkeepalive#initSocket"),CREATE_HTTPS_CONNECTION:Symbol("agentkeepalive#createHttpsConnection"),SOCKET_CREATED_TIME:Symbol("agentkeepalive#socketCreatedTime"),SOCKET_NAME:Symbol("agentkeepalive#socketName"),SOCKET_REQUEST_COUNT:Symbol("agentkeepalive#socketRequestCount"),SOCKET_REQUEST_FINISHED_COUNT:Symbol("agentkeepalive#socketRequestFinishedCount")}},10414:(Wt,Pt,en)=>{const tn=en(65692).Agent;const nn=en(12532);const{INIT_SOCKET:an,CREATE_HTTPS_CONNECTION:In}=en(16160);class HttpsAgent extends nn{constructor(Wt){super(Wt);this.defaultPort=443;this.protocol="https:";this.maxCachedSessions=this.options.maxCachedSessions;if(this.maxCachedSessions===undefined){this.maxCachedSessions=100}this._sessionCache={map:{},list:[]}}createConnection(Wt,Pt){const en=this[In](Wt,Pt);this[an](en,Wt);return en}}HttpsAgent.prototype[In]=tn.prototype.createConnection;["getName","_getSession","_cacheSession","_evictSession"].forEach((function(Wt){if(typeof tn.prototype[Wt]==="function"){HttpsAgent.prototype[Wt]=tn.prototype[Wt]}}));Wt.exports=HttpsAgent},31324:(Wt,Pt,en)=>{Wt.exports={parallel:en(83857),serial:en(31054),serialOrdered:en(53961)}},24818:Wt=>{Wt.exports=abort;function abort(Wt){Object.keys(Wt.jobs).forEach(clean.bind(Wt));Wt.jobs={}}function clean(Wt){if(typeof this.jobs[Wt]=="function"){this.jobs[Wt]()}}},78452:(Wt,Pt,en)=>{var tn=en(6819);Wt.exports=async;function async(Wt){var Pt=false;tn((function(){Pt=true}));return function async_callback(en,nn){if(Pt){Wt(en,nn)}else{tn((function nextTick_callback(){Wt(en,nn)}))}}}},6819:Wt=>{Wt.exports=defer;function defer(Wt){var Pt=typeof setImmediate=="function"?setImmediate:typeof process=="object"&&typeof process.nextTick=="function"?process.nextTick:null;if(Pt){Pt(Wt)}else{setTimeout(Wt,0)}}},24902:(Wt,Pt,en)=>{var tn=en(78452),nn=en(24818);Wt.exports=iterate;function iterate(Wt,Pt,en,tn){var an=en["keyedList"]?en["keyedList"][en.index]:en.index;en.jobs[an]=runJob(Pt,an,Wt[an],(function(Wt,Pt){if(!(an in en.jobs)){return}delete en.jobs[an];if(Wt){nn(en)}else{en.results[an]=Pt}tn(Wt,en.results)}))}function runJob(Wt,Pt,en,nn){var an;if(Wt.length==2){an=Wt(en,tn(nn))}else{an=Wt(en,Pt,tn(nn))}return an}},81721:Wt=>{Wt.exports=state;function state(Wt,Pt){var en=!Array.isArray(Wt),tn={index:0,keyedList:en||Pt?Object.keys(Wt):null,jobs:{},results:en?{}:[],size:en?Object.keys(Wt).length:Wt.length};if(Pt){tn.keyedList.sort(en?Pt:function(en,tn){return Pt(Wt[en],Wt[tn])})}return tn}},33351:(Wt,Pt,en)=>{var tn=en(24818),nn=en(78452);Wt.exports=terminator;function terminator(Wt){if(!Object.keys(this.jobs).length){return}this.index=this.size;tn(this);nn(Wt)(null,this.results)}},83857:(Wt,Pt,en)=>{var tn=en(24902),nn=en(81721),an=en(33351);Wt.exports=parallel;function parallel(Wt,Pt,en){var In=nn(Wt);while(In.index<(In["keyedList"]||Wt).length){tn(Wt,Pt,In,(function(Wt,Pt){if(Wt){en(Wt,Pt);return}if(Object.keys(In.jobs).length===0){en(null,In.results);return}}));In.index++}return an.bind(In,en)}},31054:(Wt,Pt,en)=>{var tn=en(53961);Wt.exports=serial;function serial(Wt,Pt,en){return tn(Wt,Pt,null,en)}},53961:(Wt,Pt,en)=>{var tn=en(24902),nn=en(81721),an=en(33351);Wt.exports=serialOrdered;Wt.exports.ascending=ascending;Wt.exports.descending=descending;function serialOrdered(Wt,Pt,en,In){var rn=nn(Wt,en);tn(Wt,Pt,rn,(function iteratorHandler(en,nn){if(en){In(en,nn);return}rn.index++;if(rn.index<(rn["keyedList"]||Wt).length){tn(Wt,Pt,rn,iteratorHandler);return}In(null,rn.results)}));return an.bind(rn,In)}function ascending(Wt,Pt){return WtPt?1:0}function descending(Wt,Pt){return-1*ascending(Wt,Pt)}},38793:(Wt,Pt)=>{Pt.byteLength=byteLength;Pt.toByteArray=toByteArray;Pt.fromByteArray=fromByteArray;var en=[];var tn=[];var nn=typeof Uint8Array!=="undefined"?Uint8Array:Array;var an="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";for(var In=0,rn=an.length;In0){throw new Error("Invalid string. Length must be a multiple of 4")}var en=Wt.indexOf("=");if(en===-1)en=Pt;var tn=en===Pt?0:4-en%4;return[en,tn]}function byteLength(Wt){var Pt=getLens(Wt);var en=Pt[0];var tn=Pt[1];return(en+tn)*3/4-tn}function _byteLength(Wt,Pt,en){return(Pt+en)*3/4-en}function toByteArray(Wt){var Pt;var en=getLens(Wt);var an=en[0];var In=en[1];var rn=new nn(_byteLength(Wt,an,In));var sn=0;var on=In>0?an-4:an;var cn;for(cn=0;cn>16&255;rn[sn++]=Pt>>8&255;rn[sn++]=Pt&255}if(In===2){Pt=tn[Wt.charCodeAt(cn)]<<2|tn[Wt.charCodeAt(cn+1)]>>4;rn[sn++]=Pt&255}if(In===1){Pt=tn[Wt.charCodeAt(cn)]<<10|tn[Wt.charCodeAt(cn+1)]<<4|tn[Wt.charCodeAt(cn+2)]>>2;rn[sn++]=Pt>>8&255;rn[sn++]=Pt&255}return rn}function tripletToBase64(Wt){return en[Wt>>18&63]+en[Wt>>12&63]+en[Wt>>6&63]+en[Wt&63]}function encodeChunk(Wt,Pt,en){var tn;var nn=[];for(var an=Pt;ansn?sn:rn+In))}if(nn===1){Pt=Wt[tn-1];an.push(en[Pt>>2]+en[Pt<<4&63]+"==")}else if(nn===2){Pt=(Wt[tn-2]<<8)+Wt[tn-1];an.push(en[Pt>>10]+en[Pt>>4&63]+en[Pt<<2&63]+"=")}return an.join("")}},15051:Wt=>{var Pt="qpzry9x8gf2tvdw0s3jn54khce6mua7l";var en={};for(var tn=0;tn>25;return(Wt&33554431)<<5^-(Pt>>0&1)&996825010^-(Pt>>1&1)&642813549^-(Pt>>2&1)&513874426^-(Pt>>3&1)&1027748829^-(Pt>>4&1)&705979059}function prefixChk(Wt){var Pt=1;for(var en=0;en126)return"Invalid prefix ("+Wt+")";Pt=polymodStep(Pt)^tn>>5}Pt=polymodStep(Pt);for(en=0;entn)throw new TypeError("Exceeds length limit");Wt=Wt.toLowerCase();var nn=prefixChk(Wt);if(typeof nn==="string")throw new Error(nn);var an=Wt+"1";for(var In=0;In>5!==0)throw new Error("Non 5-bit word");nn=polymodStep(nn)^rn;an+=Pt.charAt(rn)}for(In=0;In<6;++In){nn=polymodStep(nn)}nn^=1;for(In=0;In<6;++In){var sn=nn>>(5-In)*5&31;an+=Pt.charAt(sn)}return an}function __decode(Wt,Pt){Pt=Pt||90;if(Wt.length<8)return Wt+" too short";if(Wt.length>Pt)return"Exceeds length limit";var tn=Wt.toLowerCase();var nn=Wt.toUpperCase();if(Wt!==tn&&Wt!==nn)return"Mixed-case string "+Wt;Wt=tn;var an=Wt.lastIndexOf("1");if(an===-1)return"No separator character for "+Wt;if(an===0)return"Missing prefix for "+Wt;var In=Wt.slice(0,an);var rn=Wt.slice(an+1);if(rn.length<6)return"Data too short";var sn=prefixChk(In);if(typeof sn==="string")return sn;var on=[];for(var cn=0;cn=rn.length)continue;on.push(un)}if(sn!==1)return"Invalid checksum for "+Wt;return{prefix:In,words:on}}function decodeUnsafe(){var Wt=__decode.apply(null,arguments);if(typeof Wt==="object")return Wt}function decode(Wt){var Pt=__decode.apply(null,arguments);if(typeof Pt==="object")return Pt;throw new Error(Pt)}function convert(Wt,Pt,en,tn){var nn=0;var an=0;var In=(1<=en){an-=en;rn.push(nn>>an&In)}}if(tn){if(an>0){rn.push(nn<=Pt)return"Excess padding";if(nn<{var tn=en(11063);var nn=en(22027);var an=en(59934);var In=Function.bind;var rn=In.bind(In);function bindApi(Wt,Pt,en){var tn=rn(an,null).apply(null,en?[Pt,en]:[Pt]);Wt.api={remove:tn};Wt.remove=tn;["before","error","after","wrap"].forEach((function(tn){var an=en?[Pt,tn,en]:[Pt,tn];Wt[tn]=Wt.api[tn]=rn(nn,null).apply(null,an)}))}function HookSingular(){var Wt="h";var Pt={registry:{}};var en=tn.bind(null,Pt,Wt);bindApi(en,Pt,Wt);return en}function HookCollection(){var Wt={registry:{}};var Pt=tn.bind(null,Wt);bindApi(Pt,Wt);return Pt}var sn=false;function Hook(){if(!sn){console.warn('[before-after-hook]: "Hook()" repurposing warning, use "Hook.Collection()". Read more: https://git.io/upgrade-before-after-hook-to-1.4');sn=true}return HookCollection()}Hook.Singular=HookSingular.bind();Hook.Collection=HookCollection.bind();Wt.exports=Hook;Wt.exports.Hook=Hook;Wt.exports.Singular=Hook.Singular;Wt.exports.Collection=Hook.Collection},22027:Wt=>{Wt.exports=addHook;function addHook(Wt,Pt,en,tn){var nn=tn;if(!Wt.registry[en]){Wt.registry[en]=[]}if(Pt==="before"){tn=function(Wt,Pt){return Promise.resolve().then(nn.bind(null,Pt)).then(Wt.bind(null,Pt))}}if(Pt==="after"){tn=function(Wt,Pt){var en;return Promise.resolve().then(Wt.bind(null,Pt)).then((function(Wt){en=Wt;return nn(en,Pt)})).then((function(){return en}))}}if(Pt==="error"){tn=function(Wt,Pt){return Promise.resolve().then(Wt.bind(null,Pt)).catch((function(Wt){return nn(Wt,Pt)}))}}Wt.registry[en].push({hook:tn,orig:nn})}},11063:Wt=>{Wt.exports=register;function register(Wt,Pt,en,tn){if(typeof en!=="function"){throw new Error("method for before hook must be a function")}if(!tn){tn={}}if(Array.isArray(Pt)){return Pt.reverse().reduce((function(Pt,en){return register.bind(null,Wt,en,Pt,tn)}),en)()}return Promise.resolve().then((function(){if(!Wt.registry[Pt]){return en(tn)}return Wt.registry[Pt].reduce((function(Wt,Pt){return Pt.hook.bind(null,Wt,tn)}),en)()}))}},59934:Wt=>{Wt.exports=removeHook;function removeHook(Wt,Pt,en){if(!Wt.registry[Pt]){return}var tn=Wt.registry[Pt].map((function(Wt){return Wt.orig})).indexOf(en);if(tn===-1){return}Wt.registry[Pt].splice(tn,1)}},10633:function(Wt,Pt,en){Wt=en.nmd(Wt);(function(Wt,Pt){"use strict";function assert(Wt,Pt){if(!Wt)throw new Error(Pt||"Assertion failed")}function inherits(Wt,Pt){Wt.super_=Pt;var TempCtor=function(){};TempCtor.prototype=Pt.prototype;Wt.prototype=new TempCtor;Wt.prototype.constructor=Wt}function BN(Wt,Pt,en){if(BN.isBN(Wt)){return Wt}this.negative=0;this.words=null;this.length=0;this.red=null;if(Wt!==null){if(Pt==="le"||Pt==="be"){en=Pt;Pt=10}this._init(Wt||0,Pt||10,en||"be")}}if(typeof Wt==="object"){Wt.exports=BN}else{Pt.BN=BN}BN.BN=BN;BN.wordSize=26;var tn;try{if(typeof window!=="undefined"&&typeof window.Buffer!=="undefined"){tn=window.Buffer}else{tn=en(20181).Buffer}}catch(Wt){}BN.isBN=function isBN(Wt){if(Wt instanceof BN){return true}return Wt!==null&&typeof Wt==="object"&&Wt.constructor.wordSize===BN.wordSize&&Array.isArray(Wt.words)};BN.max=function max(Wt,Pt){if(Wt.cmp(Pt)>0)return Wt;return Pt};BN.min=function min(Wt,Pt){if(Wt.cmp(Pt)<0)return Wt;return Pt};BN.prototype._init=function init(Wt,Pt,en){if(typeof Wt==="number"){return this._initNumber(Wt,Pt,en)}if(typeof Wt==="object"){return this._initArray(Wt,Pt,en)}if(Pt==="hex"){Pt=16}assert(Pt===(Pt|0)&&Pt>=2&&Pt<=36);Wt=Wt.toString().replace(/\s+/g,"");var tn=0;if(Wt[0]==="-"){tn++;this.negative=1}if(tn=0;tn-=3){an=Wt[tn]|Wt[tn-1]<<8|Wt[tn-2]<<16;this.words[nn]|=an<>>26-In&67108863;In+=24;if(In>=26){In-=26;nn++}}}else if(en==="le"){for(tn=0,nn=0;tn>>26-In&67108863;In+=24;if(In>=26){In-=26;nn++}}}return this._strip()};function parseHex4Bits(Wt,Pt){var en=Wt.charCodeAt(Pt);if(en>=48&&en<=57){return en-48}else if(en>=65&&en<=70){return en-55}else if(en>=97&&en<=102){return en-87}else{assert(false,"Invalid character in "+Wt)}}function parseHexByte(Wt,Pt,en){var tn=parseHex4Bits(Wt,en);if(en-1>=Pt){tn|=parseHex4Bits(Wt,en-1)<<4}return tn}BN.prototype._parseHex=function _parseHex(Wt,Pt,en){this.length=Math.ceil((Wt.length-Pt)/6);this.words=new Array(this.length);for(var tn=0;tn=Pt;tn-=2){In=parseHexByte(Wt,Pt,tn)<=18){nn-=18;an+=1;this.words[an]|=In>>>26}else{nn+=8}}}else{var rn=Wt.length-Pt;for(tn=rn%2===0?Pt+1:Pt;tn=18){nn-=18;an+=1;this.words[an]|=In>>>26}else{nn+=8}}}this._strip()};function parseBase(Wt,Pt,en,tn){var nn=0;var an=0;var In=Math.min(Wt.length,en);for(var rn=Pt;rn=49){an=sn-49+10}else if(sn>=17){an=sn-17+10}else{an=sn}assert(sn>=0&&an1&&this.words[this.length-1]===0){this.length--}return this._normSign()};BN.prototype._normSign=function _normSign(){if(this.length===1&&this.words[0]===0){this.negative=0}return this};if(typeof Symbol!=="undefined"&&typeof Symbol.for==="function"){try{BN.prototype[Symbol.for("nodejs.util.inspect.custom")]=inspect}catch(Wt){BN.prototype.inspect=inspect}}else{BN.prototype.inspect=inspect}function inspect(){return(this.red?""}var nn=["","0","00","000","0000","00000","000000","0000000","00000000","000000000","0000000000","00000000000","000000000000","0000000000000","00000000000000","000000000000000","0000000000000000","00000000000000000","000000000000000000","0000000000000000000","00000000000000000000","000000000000000000000","0000000000000000000000","00000000000000000000000","000000000000000000000000","0000000000000000000000000"];var an=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5];var In=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];BN.prototype.toString=function toString(Wt,Pt){Wt=Wt||10;Pt=Pt|0||1;var en;if(Wt===16||Wt==="hex"){en="";var tn=0;var rn=0;for(var sn=0;sn>>24-tn&16777215;tn+=2;if(tn>=26){tn-=26;sn--}if(rn!==0||sn!==this.length-1){en=nn[6-cn.length]+cn+en}else{en=cn+en}}if(rn!==0){en=rn.toString(16)+en}while(en.length%Pt!==0){en="0"+en}if(this.negative!==0){en="-"+en}return en}if(Wt===(Wt|0)&&Wt>=2&&Wt<=36){var dn=an[Wt];var un=In[Wt];en="";var pn=this.clone();pn.negative=0;while(!pn.isZero()){var mn=pn.modrn(un).toString(Wt);pn=pn.idivn(un);if(!pn.isZero()){en=nn[dn-mn.length]+mn+en}else{en=mn+en}}if(this.isZero()){en="0"+en}while(en.length%Pt!==0){en="0"+en}if(this.negative!==0){en="-"+en}return en}assert(false,"Base should be between 2 and 36")};BN.prototype.toNumber=function toNumber(){var Wt=this.words[0];if(this.length===2){Wt+=this.words[1]*67108864}else if(this.length===3&&this.words[2]===1){Wt+=4503599627370496+this.words[1]*67108864}else if(this.length>2){assert(false,"Number can only safely store up to 53 bits")}return this.negative!==0?-Wt:Wt};BN.prototype.toJSON=function toJSON(){return this.toString(16,2)};if(tn){BN.prototype.toBuffer=function toBuffer(Wt,Pt){return this.toArrayLike(tn,Wt,Pt)}}BN.prototype.toArray=function toArray(Wt,Pt){return this.toArrayLike(Array,Wt,Pt)};var rn=function allocate(Wt,Pt){if(Wt.allocUnsafe){return Wt.allocUnsafe(Pt)}return new Wt(Pt)};BN.prototype.toArrayLike=function toArrayLike(Wt,Pt,en){this._strip();var tn=this.byteLength();var nn=en||Math.max(1,tn);assert(tn<=nn,"byte array longer than desired length");assert(nn>0,"Requested array length <= 0");var an=rn(Wt,nn);var In=Pt==="le"?"LE":"BE";this["_toArrayLike"+In](an,tn);return an};BN.prototype._toArrayLikeLE=function _toArrayLikeLE(Wt,Pt){var en=0;var tn=0;for(var nn=0,an=0;nn>8&255}if(en>16&255}if(an===6){if(en>24&255}tn=0;an=0}else{tn=In>>>24;an+=2}}if(en=0){Wt[en--]=In>>8&255}if(en>=0){Wt[en--]=In>>16&255}if(an===6){if(en>=0){Wt[en--]=In>>24&255}tn=0;an=0}else{tn=In>>>24;an+=2}}if(en>=0){Wt[en--]=tn;while(en>=0){Wt[en--]=0}}};if(Math.clz32){BN.prototype._countBits=function _countBits(Wt){return 32-Math.clz32(Wt)}}else{BN.prototype._countBits=function _countBits(Wt){var Pt=Wt;var en=0;if(Pt>=4096){en+=13;Pt>>>=13}if(Pt>=64){en+=7;Pt>>>=7}if(Pt>=8){en+=4;Pt>>>=4}if(Pt>=2){en+=2;Pt>>>=2}return en+Pt}}BN.prototype._zeroBits=function _zeroBits(Wt){if(Wt===0)return 26;var Pt=Wt;var en=0;if((Pt&8191)===0){en+=13;Pt>>>=13}if((Pt&127)===0){en+=7;Pt>>>=7}if((Pt&15)===0){en+=4;Pt>>>=4}if((Pt&3)===0){en+=2;Pt>>>=2}if((Pt&1)===0){en++}return en};BN.prototype.bitLength=function bitLength(){var Wt=this.words[this.length-1];var Pt=this._countBits(Wt);return(this.length-1)*26+Pt};function toBitArray(Wt){var Pt=new Array(Wt.bitLength());for(var en=0;en>>nn&1}return Pt}BN.prototype.zeroBits=function zeroBits(){if(this.isZero())return 0;var Wt=0;for(var Pt=0;PtWt.length)return this.clone().ior(Wt);return Wt.clone().ior(this)};BN.prototype.uor=function uor(Wt){if(this.length>Wt.length)return this.clone().iuor(Wt);return Wt.clone().iuor(this)};BN.prototype.iuand=function iuand(Wt){var Pt;if(this.length>Wt.length){Pt=Wt}else{Pt=this}for(var en=0;enWt.length)return this.clone().iand(Wt);return Wt.clone().iand(this)};BN.prototype.uand=function uand(Wt){if(this.length>Wt.length)return this.clone().iuand(Wt);return Wt.clone().iuand(this)};BN.prototype.iuxor=function iuxor(Wt){var Pt;var en;if(this.length>Wt.length){Pt=this;en=Wt}else{Pt=Wt;en=this}for(var tn=0;tnWt.length)return this.clone().ixor(Wt);return Wt.clone().ixor(this)};BN.prototype.uxor=function uxor(Wt){if(this.length>Wt.length)return this.clone().iuxor(Wt);return Wt.clone().iuxor(this)};BN.prototype.inotn=function inotn(Wt){assert(typeof Wt==="number"&&Wt>=0);var Pt=Math.ceil(Wt/26)|0;var en=Wt%26;this._expand(Pt);if(en>0){Pt--}for(var tn=0;tn0){this.words[tn]=~this.words[tn]&67108863>>26-en}return this._strip()};BN.prototype.notn=function notn(Wt){return this.clone().inotn(Wt)};BN.prototype.setn=function setn(Wt,Pt){assert(typeof Wt==="number"&&Wt>=0);var en=Wt/26|0;var tn=Wt%26;this._expand(en+1);if(Pt){this.words[en]=this.words[en]|1<Wt.length){en=this;tn=Wt}else{en=Wt;tn=this}var nn=0;for(var an=0;an>>26}for(;nn!==0&&an>>26}this.length=en.length;if(nn!==0){this.words[this.length]=nn;this.length++}else if(en!==this){for(;anWt.length)return this.clone().iadd(Wt);return Wt.clone().iadd(this)};BN.prototype.isub=function isub(Wt){if(Wt.negative!==0){Wt.negative=0;var Pt=this.iadd(Wt);Wt.negative=1;return Pt._normSign()}else if(this.negative!==0){this.negative=0;this.iadd(Wt);this.negative=1;return this._normSign()}var en=this.cmp(Wt);if(en===0){this.negative=0;this.length=1;this.words[0]=0;return this}var tn,nn;if(en>0){tn=this;nn=Wt}else{tn=Wt;nn=this}var an=0;for(var In=0;In>26;this.words[In]=Pt&67108863}for(;an!==0&&In>26;this.words[In]=Pt&67108863}if(an===0&&In>>26;var dn=sn&67108863;var un=Math.min(on,Pt.length-1);for(var pn=Math.max(0,on-Wt.length+1);pn<=un;pn++){var mn=on-pn|0;nn=Wt.words[mn]|0;an=Pt.words[pn]|0;In=nn*an+dn;cn+=In/67108864|0;dn=In&67108863}en.words[on]=dn|0;sn=cn|0}if(sn!==0){en.words[on]=sn|0}else{en.length--}return en._strip()}var sn=function comb10MulTo(Wt,Pt,en){var tn=Wt.words;var nn=Pt.words;var an=en.words;var In=0;var rn;var sn;var on;var cn=tn[0]|0;var dn=cn&8191;var un=cn>>>13;var pn=tn[1]|0;var mn=pn&8191;var bn=pn>>>13;var Gn=tn[2]|0;var hn=Gn&8191;var Zn=Gn>>>13;var An=tn[3]|0;var Wn=An&8191;var Nn=An>>>13;var gn=tn[4]|0;var yn=gn&8191;var vn=gn>>>13;var Yn=tn[5]|0;var En=Yn&8191;var Vn=Yn>>>13;var Rn=tn[6]|0;var wn=Rn&8191;var Fn=Rn>>>13;var Qn=tn[7]|0;var fn=Qn&8191;var Hn=Qn>>>13;var Cn=tn[8]|0;var Xn=Cn&8191;var kn=Cn>>>13;var Jn=tn[9]|0;var Ln=Jn&8191;var Bn=Jn>>>13;var xn=nn[0]|0;var On=xn&8191;var Tn=xn>>>13;var Un=nn[1]|0;var Mn=Un&8191;var zn=Un>>>13;var Sn=nn[2]|0;var Dn=Sn&8191;var jn=Sn>>>13;var _n=nn[3]|0;var Kn=_n&8191;var Pn=_n>>>13;var qn=nn[4]|0;var $n=qn&8191;var el=qn>>>13;var tl=nn[5]|0;var nl=tl&8191;var ll=tl>>>13;var al=nn[6]|0;var Il=al&8191;var rl=al>>>13;var sl=nn[7]|0;var ol=sl&8191;var cl=sl>>>13;var il=nn[8]|0;var dl=il&8191;var ul=il>>>13;var pl=nn[9]|0;var ml=pl&8191;var bl=pl>>>13;en.negative=Wt.negative^Pt.negative;en.length=19;rn=Math.imul(dn,On);sn=Math.imul(dn,Tn);sn=sn+Math.imul(un,On)|0;on=Math.imul(un,Tn);var Gl=(In+rn|0)+((sn&8191)<<13)|0;In=(on+(sn>>>13)|0)+(Gl>>>26)|0;Gl&=67108863;rn=Math.imul(mn,On);sn=Math.imul(mn,Tn);sn=sn+Math.imul(bn,On)|0;on=Math.imul(bn,Tn);rn=rn+Math.imul(dn,Mn)|0;sn=sn+Math.imul(dn,zn)|0;sn=sn+Math.imul(un,Mn)|0;on=on+Math.imul(un,zn)|0;var hl=(In+rn|0)+((sn&8191)<<13)|0;In=(on+(sn>>>13)|0)+(hl>>>26)|0;hl&=67108863;rn=Math.imul(hn,On);sn=Math.imul(hn,Tn);sn=sn+Math.imul(Zn,On)|0;on=Math.imul(Zn,Tn);rn=rn+Math.imul(mn,Mn)|0;sn=sn+Math.imul(mn,zn)|0;sn=sn+Math.imul(bn,Mn)|0;on=on+Math.imul(bn,zn)|0;rn=rn+Math.imul(dn,Dn)|0;sn=sn+Math.imul(dn,jn)|0;sn=sn+Math.imul(un,Dn)|0;on=on+Math.imul(un,jn)|0;var Zl=(In+rn|0)+((sn&8191)<<13)|0;In=(on+(sn>>>13)|0)+(Zl>>>26)|0;Zl&=67108863;rn=Math.imul(Wn,On);sn=Math.imul(Wn,Tn);sn=sn+Math.imul(Nn,On)|0;on=Math.imul(Nn,Tn);rn=rn+Math.imul(hn,Mn)|0;sn=sn+Math.imul(hn,zn)|0;sn=sn+Math.imul(Zn,Mn)|0;on=on+Math.imul(Zn,zn)|0;rn=rn+Math.imul(mn,Dn)|0;sn=sn+Math.imul(mn,jn)|0;sn=sn+Math.imul(bn,Dn)|0;on=on+Math.imul(bn,jn)|0;rn=rn+Math.imul(dn,Kn)|0;sn=sn+Math.imul(dn,Pn)|0;sn=sn+Math.imul(un,Kn)|0;on=on+Math.imul(un,Pn)|0;var Al=(In+rn|0)+((sn&8191)<<13)|0;In=(on+(sn>>>13)|0)+(Al>>>26)|0;Al&=67108863;rn=Math.imul(yn,On);sn=Math.imul(yn,Tn);sn=sn+Math.imul(vn,On)|0;on=Math.imul(vn,Tn);rn=rn+Math.imul(Wn,Mn)|0;sn=sn+Math.imul(Wn,zn)|0;sn=sn+Math.imul(Nn,Mn)|0;on=on+Math.imul(Nn,zn)|0;rn=rn+Math.imul(hn,Dn)|0;sn=sn+Math.imul(hn,jn)|0;sn=sn+Math.imul(Zn,Dn)|0;on=on+Math.imul(Zn,jn)|0;rn=rn+Math.imul(mn,Kn)|0;sn=sn+Math.imul(mn,Pn)|0;sn=sn+Math.imul(bn,Kn)|0;on=on+Math.imul(bn,Pn)|0;rn=rn+Math.imul(dn,$n)|0;sn=sn+Math.imul(dn,el)|0;sn=sn+Math.imul(un,$n)|0;on=on+Math.imul(un,el)|0;var Wl=(In+rn|0)+((sn&8191)<<13)|0;In=(on+(sn>>>13)|0)+(Wl>>>26)|0;Wl&=67108863;rn=Math.imul(En,On);sn=Math.imul(En,Tn);sn=sn+Math.imul(Vn,On)|0;on=Math.imul(Vn,Tn);rn=rn+Math.imul(yn,Mn)|0;sn=sn+Math.imul(yn,zn)|0;sn=sn+Math.imul(vn,Mn)|0;on=on+Math.imul(vn,zn)|0;rn=rn+Math.imul(Wn,Dn)|0;sn=sn+Math.imul(Wn,jn)|0;sn=sn+Math.imul(Nn,Dn)|0;on=on+Math.imul(Nn,jn)|0;rn=rn+Math.imul(hn,Kn)|0;sn=sn+Math.imul(hn,Pn)|0;sn=sn+Math.imul(Zn,Kn)|0;on=on+Math.imul(Zn,Pn)|0;rn=rn+Math.imul(mn,$n)|0;sn=sn+Math.imul(mn,el)|0;sn=sn+Math.imul(bn,$n)|0;on=on+Math.imul(bn,el)|0;rn=rn+Math.imul(dn,nl)|0;sn=sn+Math.imul(dn,ll)|0;sn=sn+Math.imul(un,nl)|0;on=on+Math.imul(un,ll)|0;var Nl=(In+rn|0)+((sn&8191)<<13)|0;In=(on+(sn>>>13)|0)+(Nl>>>26)|0;Nl&=67108863;rn=Math.imul(wn,On);sn=Math.imul(wn,Tn);sn=sn+Math.imul(Fn,On)|0;on=Math.imul(Fn,Tn);rn=rn+Math.imul(En,Mn)|0;sn=sn+Math.imul(En,zn)|0;sn=sn+Math.imul(Vn,Mn)|0;on=on+Math.imul(Vn,zn)|0;rn=rn+Math.imul(yn,Dn)|0;sn=sn+Math.imul(yn,jn)|0;sn=sn+Math.imul(vn,Dn)|0;on=on+Math.imul(vn,jn)|0;rn=rn+Math.imul(Wn,Kn)|0;sn=sn+Math.imul(Wn,Pn)|0;sn=sn+Math.imul(Nn,Kn)|0;on=on+Math.imul(Nn,Pn)|0;rn=rn+Math.imul(hn,$n)|0;sn=sn+Math.imul(hn,el)|0;sn=sn+Math.imul(Zn,$n)|0;on=on+Math.imul(Zn,el)|0;rn=rn+Math.imul(mn,nl)|0;sn=sn+Math.imul(mn,ll)|0;sn=sn+Math.imul(bn,nl)|0;on=on+Math.imul(bn,ll)|0;rn=rn+Math.imul(dn,Il)|0;sn=sn+Math.imul(dn,rl)|0;sn=sn+Math.imul(un,Il)|0;on=on+Math.imul(un,rl)|0;var gl=(In+rn|0)+((sn&8191)<<13)|0;In=(on+(sn>>>13)|0)+(gl>>>26)|0;gl&=67108863;rn=Math.imul(fn,On);sn=Math.imul(fn,Tn);sn=sn+Math.imul(Hn,On)|0;on=Math.imul(Hn,Tn);rn=rn+Math.imul(wn,Mn)|0;sn=sn+Math.imul(wn,zn)|0;sn=sn+Math.imul(Fn,Mn)|0;on=on+Math.imul(Fn,zn)|0;rn=rn+Math.imul(En,Dn)|0;sn=sn+Math.imul(En,jn)|0;sn=sn+Math.imul(Vn,Dn)|0;on=on+Math.imul(Vn,jn)|0;rn=rn+Math.imul(yn,Kn)|0;sn=sn+Math.imul(yn,Pn)|0;sn=sn+Math.imul(vn,Kn)|0;on=on+Math.imul(vn,Pn)|0;rn=rn+Math.imul(Wn,$n)|0;sn=sn+Math.imul(Wn,el)|0;sn=sn+Math.imul(Nn,$n)|0;on=on+Math.imul(Nn,el)|0;rn=rn+Math.imul(hn,nl)|0;sn=sn+Math.imul(hn,ll)|0;sn=sn+Math.imul(Zn,nl)|0;on=on+Math.imul(Zn,ll)|0;rn=rn+Math.imul(mn,Il)|0;sn=sn+Math.imul(mn,rl)|0;sn=sn+Math.imul(bn,Il)|0;on=on+Math.imul(bn,rl)|0;rn=rn+Math.imul(dn,ol)|0;sn=sn+Math.imul(dn,cl)|0;sn=sn+Math.imul(un,ol)|0;on=on+Math.imul(un,cl)|0;var yl=(In+rn|0)+((sn&8191)<<13)|0;In=(on+(sn>>>13)|0)+(yl>>>26)|0;yl&=67108863;rn=Math.imul(Xn,On);sn=Math.imul(Xn,Tn);sn=sn+Math.imul(kn,On)|0;on=Math.imul(kn,Tn);rn=rn+Math.imul(fn,Mn)|0;sn=sn+Math.imul(fn,zn)|0;sn=sn+Math.imul(Hn,Mn)|0;on=on+Math.imul(Hn,zn)|0;rn=rn+Math.imul(wn,Dn)|0;sn=sn+Math.imul(wn,jn)|0;sn=sn+Math.imul(Fn,Dn)|0;on=on+Math.imul(Fn,jn)|0;rn=rn+Math.imul(En,Kn)|0;sn=sn+Math.imul(En,Pn)|0;sn=sn+Math.imul(Vn,Kn)|0;on=on+Math.imul(Vn,Pn)|0;rn=rn+Math.imul(yn,$n)|0;sn=sn+Math.imul(yn,el)|0;sn=sn+Math.imul(vn,$n)|0;on=on+Math.imul(vn,el)|0;rn=rn+Math.imul(Wn,nl)|0;sn=sn+Math.imul(Wn,ll)|0;sn=sn+Math.imul(Nn,nl)|0;on=on+Math.imul(Nn,ll)|0;rn=rn+Math.imul(hn,Il)|0;sn=sn+Math.imul(hn,rl)|0;sn=sn+Math.imul(Zn,Il)|0;on=on+Math.imul(Zn,rl)|0;rn=rn+Math.imul(mn,ol)|0;sn=sn+Math.imul(mn,cl)|0;sn=sn+Math.imul(bn,ol)|0;on=on+Math.imul(bn,cl)|0;rn=rn+Math.imul(dn,dl)|0;sn=sn+Math.imul(dn,ul)|0;sn=sn+Math.imul(un,dl)|0;on=on+Math.imul(un,ul)|0;var vl=(In+rn|0)+((sn&8191)<<13)|0;In=(on+(sn>>>13)|0)+(vl>>>26)|0;vl&=67108863;rn=Math.imul(Ln,On);sn=Math.imul(Ln,Tn);sn=sn+Math.imul(Bn,On)|0;on=Math.imul(Bn,Tn);rn=rn+Math.imul(Xn,Mn)|0;sn=sn+Math.imul(Xn,zn)|0;sn=sn+Math.imul(kn,Mn)|0;on=on+Math.imul(kn,zn)|0;rn=rn+Math.imul(fn,Dn)|0;sn=sn+Math.imul(fn,jn)|0;sn=sn+Math.imul(Hn,Dn)|0;on=on+Math.imul(Hn,jn)|0;rn=rn+Math.imul(wn,Kn)|0;sn=sn+Math.imul(wn,Pn)|0;sn=sn+Math.imul(Fn,Kn)|0;on=on+Math.imul(Fn,Pn)|0;rn=rn+Math.imul(En,$n)|0;sn=sn+Math.imul(En,el)|0;sn=sn+Math.imul(Vn,$n)|0;on=on+Math.imul(Vn,el)|0;rn=rn+Math.imul(yn,nl)|0;sn=sn+Math.imul(yn,ll)|0;sn=sn+Math.imul(vn,nl)|0;on=on+Math.imul(vn,ll)|0;rn=rn+Math.imul(Wn,Il)|0;sn=sn+Math.imul(Wn,rl)|0;sn=sn+Math.imul(Nn,Il)|0;on=on+Math.imul(Nn,rl)|0;rn=rn+Math.imul(hn,ol)|0;sn=sn+Math.imul(hn,cl)|0;sn=sn+Math.imul(Zn,ol)|0;on=on+Math.imul(Zn,cl)|0;rn=rn+Math.imul(mn,dl)|0;sn=sn+Math.imul(mn,ul)|0;sn=sn+Math.imul(bn,dl)|0;on=on+Math.imul(bn,ul)|0;rn=rn+Math.imul(dn,ml)|0;sn=sn+Math.imul(dn,bl)|0;sn=sn+Math.imul(un,ml)|0;on=on+Math.imul(un,bl)|0;var Yl=(In+rn|0)+((sn&8191)<<13)|0;In=(on+(sn>>>13)|0)+(Yl>>>26)|0;Yl&=67108863;rn=Math.imul(Ln,Mn);sn=Math.imul(Ln,zn);sn=sn+Math.imul(Bn,Mn)|0;on=Math.imul(Bn,zn);rn=rn+Math.imul(Xn,Dn)|0;sn=sn+Math.imul(Xn,jn)|0;sn=sn+Math.imul(kn,Dn)|0;on=on+Math.imul(kn,jn)|0;rn=rn+Math.imul(fn,Kn)|0;sn=sn+Math.imul(fn,Pn)|0;sn=sn+Math.imul(Hn,Kn)|0;on=on+Math.imul(Hn,Pn)|0;rn=rn+Math.imul(wn,$n)|0;sn=sn+Math.imul(wn,el)|0;sn=sn+Math.imul(Fn,$n)|0;on=on+Math.imul(Fn,el)|0;rn=rn+Math.imul(En,nl)|0;sn=sn+Math.imul(En,ll)|0;sn=sn+Math.imul(Vn,nl)|0;on=on+Math.imul(Vn,ll)|0;rn=rn+Math.imul(yn,Il)|0;sn=sn+Math.imul(yn,rl)|0;sn=sn+Math.imul(vn,Il)|0;on=on+Math.imul(vn,rl)|0;rn=rn+Math.imul(Wn,ol)|0;sn=sn+Math.imul(Wn,cl)|0;sn=sn+Math.imul(Nn,ol)|0;on=on+Math.imul(Nn,cl)|0;rn=rn+Math.imul(hn,dl)|0;sn=sn+Math.imul(hn,ul)|0;sn=sn+Math.imul(Zn,dl)|0;on=on+Math.imul(Zn,ul)|0;rn=rn+Math.imul(mn,ml)|0;sn=sn+Math.imul(mn,bl)|0;sn=sn+Math.imul(bn,ml)|0;on=on+Math.imul(bn,bl)|0;var El=(In+rn|0)+((sn&8191)<<13)|0;In=(on+(sn>>>13)|0)+(El>>>26)|0;El&=67108863;rn=Math.imul(Ln,Dn);sn=Math.imul(Ln,jn);sn=sn+Math.imul(Bn,Dn)|0;on=Math.imul(Bn,jn);rn=rn+Math.imul(Xn,Kn)|0;sn=sn+Math.imul(Xn,Pn)|0;sn=sn+Math.imul(kn,Kn)|0;on=on+Math.imul(kn,Pn)|0;rn=rn+Math.imul(fn,$n)|0;sn=sn+Math.imul(fn,el)|0;sn=sn+Math.imul(Hn,$n)|0;on=on+Math.imul(Hn,el)|0;rn=rn+Math.imul(wn,nl)|0;sn=sn+Math.imul(wn,ll)|0;sn=sn+Math.imul(Fn,nl)|0;on=on+Math.imul(Fn,ll)|0;rn=rn+Math.imul(En,Il)|0;sn=sn+Math.imul(En,rl)|0;sn=sn+Math.imul(Vn,Il)|0;on=on+Math.imul(Vn,rl)|0;rn=rn+Math.imul(yn,ol)|0;sn=sn+Math.imul(yn,cl)|0;sn=sn+Math.imul(vn,ol)|0;on=on+Math.imul(vn,cl)|0;rn=rn+Math.imul(Wn,dl)|0;sn=sn+Math.imul(Wn,ul)|0;sn=sn+Math.imul(Nn,dl)|0;on=on+Math.imul(Nn,ul)|0;rn=rn+Math.imul(hn,ml)|0;sn=sn+Math.imul(hn,bl)|0;sn=sn+Math.imul(Zn,ml)|0;on=on+Math.imul(Zn,bl)|0;var Vl=(In+rn|0)+((sn&8191)<<13)|0;In=(on+(sn>>>13)|0)+(Vl>>>26)|0;Vl&=67108863;rn=Math.imul(Ln,Kn);sn=Math.imul(Ln,Pn);sn=sn+Math.imul(Bn,Kn)|0;on=Math.imul(Bn,Pn);rn=rn+Math.imul(Xn,$n)|0;sn=sn+Math.imul(Xn,el)|0;sn=sn+Math.imul(kn,$n)|0;on=on+Math.imul(kn,el)|0;rn=rn+Math.imul(fn,nl)|0;sn=sn+Math.imul(fn,ll)|0;sn=sn+Math.imul(Hn,nl)|0;on=on+Math.imul(Hn,ll)|0;rn=rn+Math.imul(wn,Il)|0;sn=sn+Math.imul(wn,rl)|0;sn=sn+Math.imul(Fn,Il)|0;on=on+Math.imul(Fn,rl)|0;rn=rn+Math.imul(En,ol)|0;sn=sn+Math.imul(En,cl)|0;sn=sn+Math.imul(Vn,ol)|0;on=on+Math.imul(Vn,cl)|0;rn=rn+Math.imul(yn,dl)|0;sn=sn+Math.imul(yn,ul)|0;sn=sn+Math.imul(vn,dl)|0;on=on+Math.imul(vn,ul)|0;rn=rn+Math.imul(Wn,ml)|0;sn=sn+Math.imul(Wn,bl)|0;sn=sn+Math.imul(Nn,ml)|0;on=on+Math.imul(Nn,bl)|0;var Rl=(In+rn|0)+((sn&8191)<<13)|0;In=(on+(sn>>>13)|0)+(Rl>>>26)|0;Rl&=67108863;rn=Math.imul(Ln,$n);sn=Math.imul(Ln,el);sn=sn+Math.imul(Bn,$n)|0;on=Math.imul(Bn,el);rn=rn+Math.imul(Xn,nl)|0;sn=sn+Math.imul(Xn,ll)|0;sn=sn+Math.imul(kn,nl)|0;on=on+Math.imul(kn,ll)|0;rn=rn+Math.imul(fn,Il)|0;sn=sn+Math.imul(fn,rl)|0;sn=sn+Math.imul(Hn,Il)|0;on=on+Math.imul(Hn,rl)|0;rn=rn+Math.imul(wn,ol)|0;sn=sn+Math.imul(wn,cl)|0;sn=sn+Math.imul(Fn,ol)|0;on=on+Math.imul(Fn,cl)|0;rn=rn+Math.imul(En,dl)|0;sn=sn+Math.imul(En,ul)|0;sn=sn+Math.imul(Vn,dl)|0;on=on+Math.imul(Vn,ul)|0;rn=rn+Math.imul(yn,ml)|0;sn=sn+Math.imul(yn,bl)|0;sn=sn+Math.imul(vn,ml)|0;on=on+Math.imul(vn,bl)|0;var wl=(In+rn|0)+((sn&8191)<<13)|0;In=(on+(sn>>>13)|0)+(wl>>>26)|0;wl&=67108863;rn=Math.imul(Ln,nl);sn=Math.imul(Ln,ll);sn=sn+Math.imul(Bn,nl)|0;on=Math.imul(Bn,ll);rn=rn+Math.imul(Xn,Il)|0;sn=sn+Math.imul(Xn,rl)|0;sn=sn+Math.imul(kn,Il)|0;on=on+Math.imul(kn,rl)|0;rn=rn+Math.imul(fn,ol)|0;sn=sn+Math.imul(fn,cl)|0;sn=sn+Math.imul(Hn,ol)|0;on=on+Math.imul(Hn,cl)|0;rn=rn+Math.imul(wn,dl)|0;sn=sn+Math.imul(wn,ul)|0;sn=sn+Math.imul(Fn,dl)|0;on=on+Math.imul(Fn,ul)|0;rn=rn+Math.imul(En,ml)|0;sn=sn+Math.imul(En,bl)|0;sn=sn+Math.imul(Vn,ml)|0;on=on+Math.imul(Vn,bl)|0;var Fl=(In+rn|0)+((sn&8191)<<13)|0;In=(on+(sn>>>13)|0)+(Fl>>>26)|0;Fl&=67108863;rn=Math.imul(Ln,Il);sn=Math.imul(Ln,rl);sn=sn+Math.imul(Bn,Il)|0;on=Math.imul(Bn,rl);rn=rn+Math.imul(Xn,ol)|0;sn=sn+Math.imul(Xn,cl)|0;sn=sn+Math.imul(kn,ol)|0;on=on+Math.imul(kn,cl)|0;rn=rn+Math.imul(fn,dl)|0;sn=sn+Math.imul(fn,ul)|0;sn=sn+Math.imul(Hn,dl)|0;on=on+Math.imul(Hn,ul)|0;rn=rn+Math.imul(wn,ml)|0;sn=sn+Math.imul(wn,bl)|0;sn=sn+Math.imul(Fn,ml)|0;on=on+Math.imul(Fn,bl)|0;var Ql=(In+rn|0)+((sn&8191)<<13)|0;In=(on+(sn>>>13)|0)+(Ql>>>26)|0;Ql&=67108863;rn=Math.imul(Ln,ol);sn=Math.imul(Ln,cl);sn=sn+Math.imul(Bn,ol)|0;on=Math.imul(Bn,cl);rn=rn+Math.imul(Xn,dl)|0;sn=sn+Math.imul(Xn,ul)|0;sn=sn+Math.imul(kn,dl)|0;on=on+Math.imul(kn,ul)|0;rn=rn+Math.imul(fn,ml)|0;sn=sn+Math.imul(fn,bl)|0;sn=sn+Math.imul(Hn,ml)|0;on=on+Math.imul(Hn,bl)|0;var fl=(In+rn|0)+((sn&8191)<<13)|0;In=(on+(sn>>>13)|0)+(fl>>>26)|0;fl&=67108863;rn=Math.imul(Ln,dl);sn=Math.imul(Ln,ul);sn=sn+Math.imul(Bn,dl)|0;on=Math.imul(Bn,ul);rn=rn+Math.imul(Xn,ml)|0;sn=sn+Math.imul(Xn,bl)|0;sn=sn+Math.imul(kn,ml)|0;on=on+Math.imul(kn,bl)|0;var Hl=(In+rn|0)+((sn&8191)<<13)|0;In=(on+(sn>>>13)|0)+(Hl>>>26)|0;Hl&=67108863;rn=Math.imul(Ln,ml);sn=Math.imul(Ln,bl);sn=sn+Math.imul(Bn,ml)|0;on=Math.imul(Bn,bl);var Cl=(In+rn|0)+((sn&8191)<<13)|0;In=(on+(sn>>>13)|0)+(Cl>>>26)|0;Cl&=67108863;an[0]=Gl;an[1]=hl;an[2]=Zl;an[3]=Al;an[4]=Wl;an[5]=Nl;an[6]=gl;an[7]=yl;an[8]=vl;an[9]=Yl;an[10]=El;an[11]=Vl;an[12]=Rl;an[13]=wl;an[14]=Fl;an[15]=Ql;an[16]=fl;an[17]=Hl;an[18]=Cl;if(In!==0){an[19]=In;en.length++}return en};if(!Math.imul){sn=smallMulTo}function bigMulTo(Wt,Pt,en){en.negative=Pt.negative^Wt.negative;en.length=Wt.length+Pt.length;var tn=0;var nn=0;for(var an=0;an>>26)|0;nn+=In>>>26;In&=67108863}en.words[an]=rn;tn=In;In=nn}if(tn!==0){en.words[an]=tn}else{en.length--}return en._strip()}function jumboMulTo(Wt,Pt,en){return bigMulTo(Wt,Pt,en)}BN.prototype.mulTo=function mulTo(Wt,Pt){var en;var tn=this.length+Wt.length;if(this.length===10&&Wt.length===10){en=sn(this,Wt,Pt)}else if(tn<63){en=smallMulTo(this,Wt,Pt)}else if(tn<1024){en=bigMulTo(this,Wt,Pt)}else{en=jumboMulTo(this,Wt,Pt)}return en};function FFTM(Wt,Pt){this.x=Wt;this.y=Pt}FFTM.prototype.makeRBT=function makeRBT(Wt){var Pt=new Array(Wt);var en=BN.prototype._countBits(Wt)-1;for(var tn=0;tn>=1}return tn};FFTM.prototype.permute=function permute(Wt,Pt,en,tn,nn,an){for(var In=0;In>>1){nn++}return 1<>>13;en[2*an+1]=nn&8191;nn=nn>>>13}for(an=2*Pt;an>=26;en+=nn/67108864|0;en+=an>>>26;this.words[tn]=an&67108863}if(en!==0){this.words[tn]=en;this.length++}return Pt?this.ineg():this};BN.prototype.muln=function muln(Wt){return this.clone().imuln(Wt)};BN.prototype.sqr=function sqr(){return this.mul(this)};BN.prototype.isqr=function isqr(){return this.imul(this.clone())};BN.prototype.pow=function pow(Wt){var Pt=toBitArray(Wt);if(Pt.length===0)return new BN(1);var en=this;for(var tn=0;tn=0);var Pt=Wt%26;var en=(Wt-Pt)/26;var tn=67108863>>>26-Pt<<26-Pt;var nn;if(Pt!==0){var an=0;for(nn=0;nn>>26-Pt}if(an){this.words[nn]=an;this.length++}}if(en!==0){for(nn=this.length-1;nn>=0;nn--){this.words[nn+en]=this.words[nn]}for(nn=0;nn=0);var tn;if(Pt){tn=(Pt-Pt%26)/26}else{tn=0}var nn=Wt%26;var an=Math.min((Wt-nn)/26,this.length);var In=67108863^67108863>>>nn<an){this.length-=an;for(sn=0;sn=0&&(on!==0||sn>=tn);sn--){var cn=this.words[sn]|0;this.words[sn]=on<<26-nn|cn>>>nn;on=cn&In}if(rn&&on!==0){rn.words[rn.length++]=on}if(this.length===0){this.words[0]=0;this.length=1}return this._strip()};BN.prototype.ishrn=function ishrn(Wt,Pt,en){assert(this.negative===0);return this.iushrn(Wt,Pt,en)};BN.prototype.shln=function shln(Wt){return this.clone().ishln(Wt)};BN.prototype.ushln=function ushln(Wt){return this.clone().iushln(Wt)};BN.prototype.shrn=function shrn(Wt){return this.clone().ishrn(Wt)};BN.prototype.ushrn=function ushrn(Wt){return this.clone().iushrn(Wt)};BN.prototype.testn=function testn(Wt){assert(typeof Wt==="number"&&Wt>=0);var Pt=Wt%26;var en=(Wt-Pt)/26;var tn=1<=0);var Pt=Wt%26;var en=(Wt-Pt)/26;assert(this.negative===0,"imaskn works only with positive numbers");if(this.length<=en){return this}if(Pt!==0){en++}this.length=Math.min(en,this.length);if(Pt!==0){var tn=67108863^67108863>>>Pt<=67108864;Pt++){this.words[Pt]-=67108864;if(Pt===this.length-1){this.words[Pt+1]=1}else{this.words[Pt+1]++}}this.length=Math.max(this.length,Pt+1);return this};BN.prototype.isubn=function isubn(Wt){assert(typeof Wt==="number");assert(Wt<67108864);if(Wt<0)return this.iaddn(-Wt);if(this.negative!==0){this.negative=0;this.iaddn(Wt);this.negative=1;return this}this.words[0]-=Wt;if(this.length===1&&this.words[0]<0){this.words[0]=-this.words[0];this.negative=1}else{for(var Pt=0;Pt>26)-(rn/67108864|0);this.words[nn+en]=an&67108863}for(;nn>26;this.words[nn+en]=an&67108863}if(In===0)return this._strip();assert(In===-1);In=0;for(nn=0;nn>26;this.words[nn]=an&67108863}this.negative=1;return this._strip()};BN.prototype._wordDiv=function _wordDiv(Wt,Pt){var en=this.length-Wt.length;var tn=this.clone();var nn=Wt;var an=nn.words[nn.length-1]|0;var In=this._countBits(an);en=26-In;if(en!==0){nn=nn.ushln(en);tn.iushln(en);an=nn.words[nn.length-1]|0}var rn=tn.length-nn.length;var sn;if(Pt!=="mod"){sn=new BN(null);sn.length=rn+1;sn.words=new Array(sn.length);for(var on=0;on=0;dn--){var un=(tn.words[nn.length+dn]|0)*67108864+(tn.words[nn.length+dn-1]|0);un=Math.min(un/an|0,67108863);tn._ishlnsubmul(nn,un,dn);while(tn.negative!==0){un--;tn.negative=0;tn._ishlnsubmul(nn,1,dn);if(!tn.isZero()){tn.negative^=1}}if(sn){sn.words[dn]=un}}if(sn){sn._strip()}tn._strip();if(Pt!=="div"&&en!==0){tn.iushrn(en)}return{div:sn||null,mod:tn}};BN.prototype.divmod=function divmod(Wt,Pt,en){assert(!Wt.isZero());if(this.isZero()){return{div:new BN(0),mod:new BN(0)}}var tn,nn,an;if(this.negative!==0&&Wt.negative===0){an=this.neg().divmod(Wt,Pt);if(Pt!=="mod"){tn=an.div.neg()}if(Pt!=="div"){nn=an.mod.neg();if(en&&nn.negative!==0){nn.iadd(Wt)}}return{div:tn,mod:nn}}if(this.negative===0&&Wt.negative!==0){an=this.divmod(Wt.neg(),Pt);if(Pt!=="mod"){tn=an.div.neg()}return{div:tn,mod:an.mod}}if((this.negative&Wt.negative)!==0){an=this.neg().divmod(Wt.neg(),Pt);if(Pt!=="div"){nn=an.mod.neg();if(en&&nn.negative!==0){nn.isub(Wt)}}return{div:an.div,mod:nn}}if(Wt.length>this.length||this.cmp(Wt)<0){return{div:new BN(0),mod:this}}if(Wt.length===1){if(Pt==="div"){return{div:this.divn(Wt.words[0]),mod:null}}if(Pt==="mod"){return{div:null,mod:new BN(this.modrn(Wt.words[0]))}}return{div:this.divn(Wt.words[0]),mod:new BN(this.modrn(Wt.words[0]))}}return this._wordDiv(Wt,Pt)};BN.prototype.div=function div(Wt){return this.divmod(Wt,"div",false).div};BN.prototype.mod=function mod(Wt){return this.divmod(Wt,"mod",false).mod};BN.prototype.umod=function umod(Wt){return this.divmod(Wt,"mod",true).mod};BN.prototype.divRound=function divRound(Wt){var Pt=this.divmod(Wt);if(Pt.mod.isZero())return Pt.div;var en=Pt.div.negative!==0?Pt.mod.isub(Wt):Pt.mod;var tn=Wt.ushrn(1);var nn=Wt.andln(1);var an=en.cmp(tn);if(an<0||nn===1&&an===0)return Pt.div;return Pt.div.negative!==0?Pt.div.isubn(1):Pt.div.iaddn(1)};BN.prototype.modrn=function modrn(Wt){var Pt=Wt<0;if(Pt)Wt=-Wt;assert(Wt<=67108863);var en=(1<<26)%Wt;var tn=0;for(var nn=this.length-1;nn>=0;nn--){tn=(en*tn+(this.words[nn]|0))%Wt}return Pt?-tn:tn};BN.prototype.modn=function modn(Wt){return this.modrn(Wt)};BN.prototype.idivn=function idivn(Wt){var Pt=Wt<0;if(Pt)Wt=-Wt;assert(Wt<=67108863);var en=0;for(var tn=this.length-1;tn>=0;tn--){var nn=(this.words[tn]|0)+en*67108864;this.words[tn]=nn/Wt|0;en=nn%Wt}this._strip();return Pt?this.ineg():this};BN.prototype.divn=function divn(Wt){return this.clone().idivn(Wt)};BN.prototype.egcd=function egcd(Wt){assert(Wt.negative===0);assert(!Wt.isZero());var Pt=this;var en=Wt.clone();if(Pt.negative!==0){Pt=Pt.umod(Wt)}else{Pt=Pt.clone()}var tn=new BN(1);var nn=new BN(0);var an=new BN(0);var In=new BN(1);var rn=0;while(Pt.isEven()&&en.isEven()){Pt.iushrn(1);en.iushrn(1);++rn}var sn=en.clone();var on=Pt.clone();while(!Pt.isZero()){for(var cn=0,dn=1;(Pt.words[0]&dn)===0&&cn<26;++cn,dn<<=1);if(cn>0){Pt.iushrn(cn);while(cn-- >0){if(tn.isOdd()||nn.isOdd()){tn.iadd(sn);nn.isub(on)}tn.iushrn(1);nn.iushrn(1)}}for(var un=0,pn=1;(en.words[0]&pn)===0&&un<26;++un,pn<<=1);if(un>0){en.iushrn(un);while(un-- >0){if(an.isOdd()||In.isOdd()){an.iadd(sn);In.isub(on)}an.iushrn(1);In.iushrn(1)}}if(Pt.cmp(en)>=0){Pt.isub(en);tn.isub(an);nn.isub(In)}else{en.isub(Pt);an.isub(tn);In.isub(nn)}}return{a:an,b:In,gcd:en.iushln(rn)}};BN.prototype._invmp=function _invmp(Wt){assert(Wt.negative===0);assert(!Wt.isZero());var Pt=this;var en=Wt.clone();if(Pt.negative!==0){Pt=Pt.umod(Wt)}else{Pt=Pt.clone()}var tn=new BN(1);var nn=new BN(0);var an=en.clone();while(Pt.cmpn(1)>0&&en.cmpn(1)>0){for(var In=0,rn=1;(Pt.words[0]&rn)===0&&In<26;++In,rn<<=1);if(In>0){Pt.iushrn(In);while(In-- >0){if(tn.isOdd()){tn.iadd(an)}tn.iushrn(1)}}for(var sn=0,on=1;(en.words[0]&on)===0&&sn<26;++sn,on<<=1);if(sn>0){en.iushrn(sn);while(sn-- >0){if(nn.isOdd()){nn.iadd(an)}nn.iushrn(1)}}if(Pt.cmp(en)>=0){Pt.isub(en);tn.isub(nn)}else{en.isub(Pt);nn.isub(tn)}}var cn;if(Pt.cmpn(1)===0){cn=tn}else{cn=nn}if(cn.cmpn(0)<0){cn.iadd(Wt)}return cn};BN.prototype.gcd=function gcd(Wt){if(this.isZero())return Wt.abs();if(Wt.isZero())return this.abs();var Pt=this.clone();var en=Wt.clone();Pt.negative=0;en.negative=0;for(var tn=0;Pt.isEven()&&en.isEven();tn++){Pt.iushrn(1);en.iushrn(1)}do{while(Pt.isEven()){Pt.iushrn(1)}while(en.isEven()){en.iushrn(1)}var nn=Pt.cmp(en);if(nn<0){var an=Pt;Pt=en;en=an}else if(nn===0||en.cmpn(1)===0){break}Pt.isub(en)}while(true);return en.iushln(tn)};BN.prototype.invm=function invm(Wt){return this.egcd(Wt).a.umod(Wt)};BN.prototype.isEven=function isEven(){return(this.words[0]&1)===0};BN.prototype.isOdd=function isOdd(){return(this.words[0]&1)===1};BN.prototype.andln=function andln(Wt){return this.words[0]&Wt};BN.prototype.bincn=function bincn(Wt){assert(typeof Wt==="number");var Pt=Wt%26;var en=(Wt-Pt)/26;var tn=1<>>26;In&=67108863;this.words[an]=In}if(nn!==0){this.words[an]=nn;this.length++}return this};BN.prototype.isZero=function isZero(){return this.length===1&&this.words[0]===0};BN.prototype.cmpn=function cmpn(Wt){var Pt=Wt<0;if(this.negative!==0&&!Pt)return-1;if(this.negative===0&&Pt)return 1;this._strip();var en;if(this.length>1){en=1}else{if(Pt){Wt=-Wt}assert(Wt<=67108863,"Number is too big");var tn=this.words[0]|0;en=tn===Wt?0:tnWt.length)return 1;if(this.length=0;en--){var tn=this.words[en]|0;var nn=Wt.words[en]|0;if(tn===nn)continue;if(tnnn){Pt=1}break}return Pt};BN.prototype.gtn=function gtn(Wt){return this.cmpn(Wt)===1};BN.prototype.gt=function gt(Wt){return this.cmp(Wt)===1};BN.prototype.gten=function gten(Wt){return this.cmpn(Wt)>=0};BN.prototype.gte=function gte(Wt){return this.cmp(Wt)>=0};BN.prototype.ltn=function ltn(Wt){return this.cmpn(Wt)===-1};BN.prototype.lt=function lt(Wt){return this.cmp(Wt)===-1};BN.prototype.lten=function lten(Wt){return this.cmpn(Wt)<=0};BN.prototype.lte=function lte(Wt){return this.cmp(Wt)<=0};BN.prototype.eqn=function eqn(Wt){return this.cmpn(Wt)===0};BN.prototype.eq=function eq(Wt){return this.cmp(Wt)===0};BN.red=function red(Wt){return new Red(Wt)};BN.prototype.toRed=function toRed(Wt){assert(!this.red,"Already a number in reduction context");assert(this.negative===0,"red works only with positives");return Wt.convertTo(this)._forceRed(Wt)};BN.prototype.fromRed=function fromRed(){assert(this.red,"fromRed works only with numbers in reduction context");return this.red.convertFrom(this)};BN.prototype._forceRed=function _forceRed(Wt){this.red=Wt;return this};BN.prototype.forceRed=function forceRed(Wt){assert(!this.red,"Already a number in reduction context");return this._forceRed(Wt)};BN.prototype.redAdd=function redAdd(Wt){assert(this.red,"redAdd works only with red numbers");return this.red.add(this,Wt)};BN.prototype.redIAdd=function redIAdd(Wt){assert(this.red,"redIAdd works only with red numbers");return this.red.iadd(this,Wt)};BN.prototype.redSub=function redSub(Wt){assert(this.red,"redSub works only with red numbers");return this.red.sub(this,Wt)};BN.prototype.redISub=function redISub(Wt){assert(this.red,"redISub works only with red numbers");return this.red.isub(this,Wt)};BN.prototype.redShl=function redShl(Wt){assert(this.red,"redShl works only with red numbers");return this.red.shl(this,Wt)};BN.prototype.redMul=function redMul(Wt){assert(this.red,"redMul works only with red numbers");this.red._verify2(this,Wt);return this.red.mul(this,Wt)};BN.prototype.redIMul=function redIMul(Wt){assert(this.red,"redMul works only with red numbers");this.red._verify2(this,Wt);return this.red.imul(this,Wt)};BN.prototype.redSqr=function redSqr(){assert(this.red,"redSqr works only with red numbers");this.red._verify1(this);return this.red.sqr(this)};BN.prototype.redISqr=function redISqr(){assert(this.red,"redISqr works only with red numbers");this.red._verify1(this);return this.red.isqr(this)};BN.prototype.redSqrt=function redSqrt(){assert(this.red,"redSqrt works only with red numbers");this.red._verify1(this);return this.red.sqrt(this)};BN.prototype.redInvm=function redInvm(){assert(this.red,"redInvm works only with red numbers");this.red._verify1(this);return this.red.invm(this)};BN.prototype.redNeg=function redNeg(){assert(this.red,"redNeg works only with red numbers");this.red._verify1(this);return this.red.neg(this)};BN.prototype.redPow=function redPow(Wt){assert(this.red&&!Wt.red,"redPow(normalNum)");this.red._verify1(this);return this.red.pow(this,Wt)};var on={k256:null,p224:null,p192:null,p25519:null};function MPrime(Wt,Pt){this.name=Wt;this.p=new BN(Pt,16);this.n=this.p.bitLength();this.k=new BN(1).iushln(this.n).isub(this.p);this.tmp=this._tmp()}MPrime.prototype._tmp=function _tmp(){var Wt=new BN(null);Wt.words=new Array(Math.ceil(this.n/13));return Wt};MPrime.prototype.ireduce=function ireduce(Wt){var Pt=Wt;var en;do{this.split(Pt,this.tmp);Pt=this.imulK(Pt);Pt=Pt.iadd(this.tmp);en=Pt.bitLength()}while(en>this.n);var tn=en0){Pt.isub(this.p)}else{if(Pt.strip!==undefined){Pt.strip()}else{Pt._strip()}}return Pt};MPrime.prototype.split=function split(Wt,Pt){Wt.iushrn(this.n,0,Pt)};MPrime.prototype.imulK=function imulK(Wt){return Wt.imul(this.k)};function K256(){MPrime.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}inherits(K256,MPrime);K256.prototype.split=function split(Wt,Pt){var en=4194303;var tn=Math.min(Wt.length,9);for(var nn=0;nn>>22;an=In}an>>>=22;Wt.words[nn-10]=an;if(an===0&&Wt.length>10){Wt.length-=10}else{Wt.length-=9}};K256.prototype.imulK=function imulK(Wt){Wt.words[Wt.length]=0;Wt.words[Wt.length+1]=0;Wt.length+=2;var Pt=0;for(var en=0;en>>=26;Wt.words[en]=nn;Pt=tn}if(Pt!==0){Wt.words[Wt.length++]=Pt}return Wt};BN._prime=function prime(Wt){if(on[Wt])return on[Wt];var prime;if(Wt==="k256"){prime=new K256}else if(Wt==="p224"){prime=new P224}else if(Wt==="p192"){prime=new P192}else if(Wt==="p25519"){prime=new P25519}else{throw new Error("Unknown prime "+Wt)}on[Wt]=prime;return prime};function Red(Wt){if(typeof Wt==="string"){var Pt=BN._prime(Wt);this.m=Pt.p;this.prime=Pt}else{assert(Wt.gtn(1),"modulus must be greater than 1");this.m=Wt;this.prime=null}}Red.prototype._verify1=function _verify1(Wt){assert(Wt.negative===0,"red works only with positives");assert(Wt.red,"red works only with red numbers")};Red.prototype._verify2=function _verify2(Wt,Pt){assert((Wt.negative|Pt.negative)===0,"red works only with positives");assert(Wt.red&&Wt.red===Pt.red,"red works only with red numbers")};Red.prototype.imod=function imod(Wt){if(this.prime)return this.prime.ireduce(Wt)._forceRed(this);move(Wt,Wt.umod(this.m)._forceRed(this));return Wt};Red.prototype.neg=function neg(Wt){if(Wt.isZero()){return Wt.clone()}return this.m.sub(Wt)._forceRed(this)};Red.prototype.add=function add(Wt,Pt){this._verify2(Wt,Pt);var en=Wt.add(Pt);if(en.cmp(this.m)>=0){en.isub(this.m)}return en._forceRed(this)};Red.prototype.iadd=function iadd(Wt,Pt){this._verify2(Wt,Pt);var en=Wt.iadd(Pt);if(en.cmp(this.m)>=0){en.isub(this.m)}return en};Red.prototype.sub=function sub(Wt,Pt){this._verify2(Wt,Pt);var en=Wt.sub(Pt);if(en.cmpn(0)<0){en.iadd(this.m)}return en._forceRed(this)};Red.prototype.isub=function isub(Wt,Pt){this._verify2(Wt,Pt);var en=Wt.isub(Pt);if(en.cmpn(0)<0){en.iadd(this.m)}return en};Red.prototype.shl=function shl(Wt,Pt){this._verify1(Wt);return this.imod(Wt.ushln(Pt))};Red.prototype.imul=function imul(Wt,Pt){this._verify2(Wt,Pt);return this.imod(Wt.imul(Pt))};Red.prototype.mul=function mul(Wt,Pt){this._verify2(Wt,Pt);return this.imod(Wt.mul(Pt))};Red.prototype.isqr=function isqr(Wt){return this.imul(Wt,Wt.clone())};Red.prototype.sqr=function sqr(Wt){return this.mul(Wt,Wt)};Red.prototype.sqrt=function sqrt(Wt){if(Wt.isZero())return Wt.clone();var Pt=this.m.andln(3);assert(Pt%2===1);if(Pt===3){var en=this.m.add(new BN(1)).iushrn(2);return this.pow(Wt,en)}var tn=this.m.subn(1);var nn=0;while(!tn.isZero()&&tn.andln(1)===0){nn++;tn.iushrn(1)}assert(!tn.isZero());var an=new BN(1).toRed(this);var In=an.redNeg();var rn=this.m.subn(1).iushrn(1);var sn=this.m.bitLength();sn=new BN(2*sn*sn).toRed(this);while(this.pow(sn,rn).cmp(In)!==0){sn.redIAdd(In)}var on=this.pow(sn,tn);var cn=this.pow(Wt,tn.addn(1).iushrn(1));var dn=this.pow(Wt,tn);var un=nn;while(dn.cmp(an)!==0){var pn=dn;for(var mn=0;pn.cmp(an)!==0;mn++){pn=pn.redSqr()}assert(mn=0;nn--){var on=Pt.words[nn];for(var cn=sn-1;cn>=0;cn--){var dn=on>>cn&1;if(an!==tn[0]){an=this.sqr(an)}if(dn===0&&In===0){rn=0;continue}In<<=1;In|=dn;rn++;if(rn!==en&&(nn!==0||cn!==0))continue;an=this.mul(an,tn[In]);rn=0;In=0}sn=26}return an};Red.prototype.convertTo=function convertTo(Wt){var Pt=Wt.umod(this.m);return Pt===Wt?Pt.clone():Pt};Red.prototype.convertFrom=function convertFrom(Wt){var Pt=Wt.clone();Pt.red=null;return Pt};BN.mont=function mont(Wt){return new Mont(Wt)};function Mont(Wt){Red.call(this,Wt);this.shift=this.m.bitLength();if(this.shift%26!==0){this.shift+=26-this.shift%26}this.r=new BN(1).iushln(this.shift);this.r2=this.imod(this.r.sqr());this.rinv=this.r._invmp(this.m);this.minv=this.rinv.mul(this.r).isubn(1).div(this.m);this.minv=this.minv.umod(this.r);this.minv=this.r.sub(this.minv)}inherits(Mont,Red);Mont.prototype.convertTo=function convertTo(Wt){return this.imod(Wt.ushln(this.shift))};Mont.prototype.convertFrom=function convertFrom(Wt){var Pt=this.imod(Wt.mul(this.rinv));Pt.red=null;return Pt};Mont.prototype.imul=function imul(Wt,Pt){if(Wt.isZero()||Pt.isZero()){Wt.words[0]=0;Wt.length=1;return Wt}var en=Wt.imul(Pt);var tn=en.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m);var nn=en.isub(tn).iushrn(this.shift);var an=nn;if(nn.cmp(this.m)>=0){an=nn.isub(this.m)}else if(nn.cmpn(0)<0){an=nn.iadd(this.m)}return an._forceRed(this)};Mont.prototype.mul=function mul(Wt,Pt){if(Wt.isZero()||Pt.isZero())return new BN(0)._forceRed(this);var en=Wt.mul(Pt);var tn=en.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m);var nn=en.isub(tn).iushrn(this.shift);var an=nn;if(nn.cmp(this.m)>=0){an=nn.isub(this.m)}else if(nn.cmpn(0)<0){an=nn.iadd(this.m)}return an._forceRed(this)};Mont.prototype.invm=function invm(Wt){var Pt=this.imod(Wt._invmp(this.m).mul(this.r2));return Pt._forceRed(this)}})(false||Wt,this)},63251:function(Wt){(function(Pt,en){true?Wt.exports=en():0})(this,(function(){"use strict";var Wt=typeof globalThis!=="undefined"?globalThis:typeof window!=="undefined"?window:typeof global!=="undefined"?global:typeof self!=="undefined"?self:{};function getCjsExportFromNamespace(Wt){return Wt&&Wt["default"]||Wt}var load=function(Wt,Pt,en={}){var tn,nn,an;for(tn in Pt){an=Pt[tn];en[tn]=(nn=Wt[tn])!=null?nn:an}return en};var overwrite=function(Wt,Pt,en={}){var tn,nn;for(tn in Wt){nn=Wt[tn];if(Pt[tn]!==void 0){en[tn]=nn}}return en};var Pt={load:load,overwrite:overwrite};var en;en=class DLList{constructor(Wt,Pt){this.incr=Wt;this.decr=Pt;this._first=null;this._last=null;this.length=0}push(Wt){var Pt;this.length++;if(typeof this.incr==="function"){this.incr()}Pt={value:Wt,prev:this._last,next:null};if(this._last!=null){this._last.next=Pt;this._last=Pt}else{this._first=this._last=Pt}return void 0}shift(){var Wt;if(this._first==null){return}else{this.length--;if(typeof this.decr==="function"){this.decr()}}Wt=this._first.value;if((this._first=this._first.next)!=null){this._first.prev=null}else{this._last=null}return Wt}first(){if(this._first!=null){return this._first.value}}getArray(){var Wt,Pt,en;Wt=this._first;en=[];while(Wt!=null){en.push((Pt=Wt,Wt=Wt.next,Pt.value))}return en}forEachShift(Wt){var Pt;Pt=this.shift();while(Pt!=null){Wt(Pt),Pt=this.shift()}return void 0}debug(){var Wt,Pt,en,tn,nn;Wt=this._first;nn=[];while(Wt!=null){nn.push((Pt=Wt,Wt=Wt.next,{value:Pt.value,prev:(en=Pt.prev)!=null?en.value:void 0,next:(tn=Pt.next)!=null?tn.value:void 0}))}return nn}};var tn=en;var nn;nn=class Events{constructor(Wt){this.instance=Wt;this._events={};if(this.instance.on!=null||this.instance.once!=null||this.instance.removeAllListeners!=null){throw new Error("An Emitter already exists for this object")}this.instance.on=(Wt,Pt)=>this._addListener(Wt,"many",Pt);this.instance.once=(Wt,Pt)=>this._addListener(Wt,"once",Pt);this.instance.removeAllListeners=(Wt=null)=>{if(Wt!=null){return delete this._events[Wt]}else{return this._events={}}}}_addListener(Wt,Pt,en){var tn;if((tn=this._events)[Wt]==null){tn[Wt]=[]}this._events[Wt].push({cb:en,status:Pt});return this.instance}listenerCount(Wt){if(this._events[Wt]!=null){return this._events[Wt].length}else{return 0}}async trigger(Wt,...Pt){var en,tn;try{if(Wt!=="debug"){this.trigger("debug",`Event triggered: ${Wt}`,Pt)}if(this._events[Wt]==null){return}this._events[Wt]=this._events[Wt].filter((function(Wt){return Wt.status!=="none"}));tn=this._events[Wt].map((async Wt=>{var en,tn;if(Wt.status==="none"){return}if(Wt.status==="once"){Wt.status="none"}try{tn=typeof Wt.cb==="function"?Wt.cb(...Pt):void 0;if(typeof(tn!=null?tn.then:void 0)==="function"){return await tn}else{return tn}}catch(Wt){en=Wt;{this.trigger("error",en)}return null}}));return(await Promise.all(tn)).find((function(Wt){return Wt!=null}))}catch(Wt){en=Wt;{this.trigger("error",en)}return null}}};var an=nn;var In,rn,sn;In=tn;rn=an;sn=class Queues{constructor(Wt){var Pt;this.Events=new rn(this);this._length=0;this._lists=function(){var en,tn,nn;nn=[];for(Pt=en=1,tn=Wt;1<=tn?en<=tn:en>=tn;Pt=1<=tn?++en:--en){nn.push(new In((()=>this.incr()),(()=>this.decr())))}return nn}.call(this)}incr(){if(this._length++===0){return this.Events.trigger("leftzero")}}decr(){if(--this._length===0){return this.Events.trigger("zero")}}push(Wt){return this._lists[Wt.options.priority].push(Wt)}queued(Wt){if(Wt!=null){return this._lists[Wt].length}else{return this._length}}shiftAll(Wt){return this._lists.forEach((function(Pt){return Pt.forEachShift(Wt)}))}getFirst(Wt=this._lists){var Pt,en,tn;for(Pt=0,en=Wt.length;Pt0){return tn}}return[]}shiftLastFrom(Wt){return this.getFirst(this._lists.slice(Wt).reverse()).shift()}};var on=sn;var cn;cn=class BottleneckError extends Error{};var dn=cn;var un,pn,mn,bn,Gn;bn=10;pn=5;Gn=Pt;un=dn;mn=class Job{constructor(Wt,Pt,en,tn,nn,an,In,rn){this.task=Wt;this.args=Pt;this.rejectOnDrop=nn;this.Events=an;this._states=In;this.Promise=rn;this.options=Gn.load(en,tn);this.options.priority=this._sanitizePriority(this.options.priority);if(this.options.id===tn.id){this.options.id=`${this.options.id}-${this._randomIndex()}`}this.promise=new this.Promise(((Wt,Pt)=>{this._resolve=Wt;this._reject=Pt}));this.retryCount=0}_sanitizePriority(Wt){var Pt;Pt=~~Wt!==Wt?pn:Wt;if(Pt<0){return 0}else if(Pt>bn-1){return bn-1}else{return Pt}}_randomIndex(){return Math.random().toString(36).slice(2)}doDrop({error:Wt,message:Pt="This job has been dropped by Bottleneck"}={}){if(this._states.remove(this.options.id)){if(this.rejectOnDrop){this._reject(Wt!=null?Wt:new un(Pt))}this.Events.trigger("dropped",{args:this.args,options:this.options,task:this.task,promise:this.promise});return true}else{return false}}_assertStatus(Wt){var Pt;Pt=this._states.jobStatus(this.options.id);if(!(Pt===Wt||Wt==="DONE"&&Pt===null)){throw new un(`Invalid job status ${Pt}, expected ${Wt}. Please open an issue at https://github.com/SGrondin/bottleneck/issues`)}}doReceive(){this._states.start(this.options.id);return this.Events.trigger("received",{args:this.args,options:this.options})}doQueue(Wt,Pt){this._assertStatus("RECEIVED");this._states.next(this.options.id);return this.Events.trigger("queued",{args:this.args,options:this.options,reachedHWM:Wt,blocked:Pt})}doRun(){if(this.retryCount===0){this._assertStatus("QUEUED");this._states.next(this.options.id)}else{this._assertStatus("EXECUTING")}return this.Events.trigger("scheduled",{args:this.args,options:this.options})}async doExecute(Wt,Pt,en,tn){var nn,an,In;if(this.retryCount===0){this._assertStatus("RUNNING");this._states.next(this.options.id)}else{this._assertStatus("EXECUTING")}an={args:this.args,options:this.options,retryCount:this.retryCount};this.Events.trigger("executing",an);try{In=await(Wt!=null?Wt.schedule(this.options,this.task,...this.args):this.task(...this.args));if(Pt()){this.doDone(an);await tn(this.options,an);this._assertStatus("DONE");return this._resolve(In)}}catch(Wt){nn=Wt;return this._onFailure(nn,an,Pt,en,tn)}}doExpire(Wt,Pt,en){var tn,nn;if(this._states.jobStatus(this.options.id==="RUNNING")){this._states.next(this.options.id)}this._assertStatus("EXECUTING");nn={args:this.args,options:this.options,retryCount:this.retryCount};tn=new un(`This job timed out after ${this.options.expiration} ms.`);return this._onFailure(tn,nn,Wt,Pt,en)}async _onFailure(Wt,Pt,en,tn,nn){var an,In;if(en()){an=await this.Events.trigger("failed",Wt,Pt);if(an!=null){In=~~an;this.Events.trigger("retry",`Retrying ${this.options.id} after ${In} ms`,Pt);this.retryCount++;return tn(In)}else{this.doDone(Pt);await nn(this.options,Pt);this._assertStatus("DONE");return this._reject(Wt)}}}doDone(Wt){this._assertStatus("EXECUTING");this._states.next(this.options.id);return this.Events.trigger("done",Wt)}};var hn=mn;var Zn,An,Wn;Wn=Pt;Zn=dn;An=class LocalDatastore{constructor(Wt,Pt,en){this.instance=Wt;this.storeOptions=Pt;this.clientId=this.instance._randomIndex();Wn.load(en,en,this);this._nextRequest=this._lastReservoirRefresh=this._lastReservoirIncrease=Date.now();this._running=0;this._done=0;this._unblockTime=0;this.ready=this.Promise.resolve();this.clients={};this._startHeartbeat()}_startHeartbeat(){var Wt;if(this.heartbeat==null&&(this.storeOptions.reservoirRefreshInterval!=null&&this.storeOptions.reservoirRefreshAmount!=null||this.storeOptions.reservoirIncreaseInterval!=null&&this.storeOptions.reservoirIncreaseAmount!=null)){return typeof(Wt=this.heartbeat=setInterval((()=>{var Wt,Pt,en,tn,nn;tn=Date.now();if(this.storeOptions.reservoirRefreshInterval!=null&&tn>=this._lastReservoirRefresh+this.storeOptions.reservoirRefreshInterval){this._lastReservoirRefresh=tn;this.storeOptions.reservoir=this.storeOptions.reservoirRefreshAmount;this.instance._drainAll(this.computeCapacity())}if(this.storeOptions.reservoirIncreaseInterval!=null&&tn>=this._lastReservoirIncrease+this.storeOptions.reservoirIncreaseInterval){({reservoirIncreaseAmount:Wt,reservoirIncreaseMaximum:en,reservoir:nn}=this.storeOptions);this._lastReservoirIncrease=tn;Pt=en!=null?Math.min(Wt,en-nn):Wt;if(Pt>0){this.storeOptions.reservoir+=Pt;return this.instance._drainAll(this.computeCapacity())}}}),this.heartbeatInterval)).unref==="function"?Wt.unref():void 0}else{return clearInterval(this.heartbeat)}}async __publish__(Wt){await this.yieldLoop();return this.instance.Events.trigger("message",Wt.toString())}async __disconnect__(Wt){await this.yieldLoop();clearInterval(this.heartbeat);return this.Promise.resolve()}yieldLoop(Wt=0){return new this.Promise((function(Pt,en){return setTimeout(Pt,Wt)}))}computePenalty(){var Wt;return(Wt=this.storeOptions.penalty)!=null?Wt:15*this.storeOptions.minTime||5e3}async __updateSettings__(Wt){await this.yieldLoop();Wn.overwrite(Wt,Wt,this.storeOptions);this._startHeartbeat();this.instance._drainAll(this.computeCapacity());return true}async __running__(){await this.yieldLoop();return this._running}async __queued__(){await this.yieldLoop();return this.instance.queued()}async __done__(){await this.yieldLoop();return this._done}async __groupCheck__(Wt){await this.yieldLoop();return this._nextRequest+this.timeout=Wt}check(Wt,Pt){return this.conditionsCheck(Wt)&&this._nextRequest-Pt<=0}async __check__(Wt){var Pt;await this.yieldLoop();Pt=Date.now();return this.check(Wt,Pt)}async __register__(Wt,Pt,en){var tn,nn;await this.yieldLoop();tn=Date.now();if(this.conditionsCheck(Pt)){this._running+=Pt;if(this.storeOptions.reservoir!=null){this.storeOptions.reservoir-=Pt}nn=Math.max(this._nextRequest-tn,0);this._nextRequest=tn+nn+this.storeOptions.minTime;return{success:true,wait:nn,reservoir:this.storeOptions.reservoir}}else{return{success:false}}}strategyIsBlock(){return this.storeOptions.strategy===3}async __submit__(Wt,Pt){var en,tn,nn;await this.yieldLoop();if(this.storeOptions.maxConcurrent!=null&&Pt>this.storeOptions.maxConcurrent){throw new Zn(`Impossible to add a job having a weight of ${Pt} to a limiter having a maxConcurrent setting of ${this.storeOptions.maxConcurrent}`)}tn=Date.now();nn=this.storeOptions.highWater!=null&&Wt===this.storeOptions.highWater&&!this.check(Pt,tn);en=this.strategyIsBlock()&&(nn||this.isBlocked(tn));if(en){this._unblockTime=tn+this.computePenalty();this._nextRequest=this._unblockTime+this.storeOptions.minTime;this.instance._dropAllQueued()}return{reachedHWM:nn,blocked:en,strategy:this.storeOptions.strategy}}async __free__(Wt,Pt){await this.yieldLoop();this._running-=Pt;this._done+=Pt;this.instance._drainAll(this.computeCapacity());return{running:this._running}}};var Nn=An;var gn,yn;gn=dn;yn=class States{constructor(Wt){this.status=Wt;this._jobs={};this.counts=this.status.map((function(){return 0}))}next(Wt){var Pt,en;Pt=this._jobs[Wt];en=Pt+1;if(Pt!=null&&en{Wt[this.status[en]]=Pt;return Wt}),{})}};var vn=yn;var Yn,En;Yn=tn;En=class Sync{constructor(Wt,Pt){this.schedule=this.schedule.bind(this);this.name=Wt;this.Promise=Pt;this._running=0;this._queue=new Yn}isEmpty(){return this._queue.length===0}async _tryToRun(){var Wt,Pt,en,tn,nn,an,In;if(this._running<1&&this._queue.length>0){this._running++;({task:In,args:Wt,resolve:nn,reject:tn}=this._queue.shift());Pt=await async function(){try{an=await In(...Wt);return function(){return nn(an)}}catch(Wt){en=Wt;return function(){return tn(en)}}}();this._running--;this._tryToRun();return Pt()}}schedule(Wt,...Pt){var en,tn,nn;nn=tn=null;en=new this.Promise((function(Wt,Pt){nn=Wt;return tn=Pt}));this._queue.push({task:Wt,args:Pt,resolve:nn,reject:tn});this._tryToRun();return en}};var Vn=En;var Rn="2.19.5";var wn={version:Rn};var Fn=Object.freeze({version:Rn,default:wn});var require$$2=()=>console.log("You must import the full version of Bottleneck in order to use this feature.");var require$$3=()=>console.log("You must import the full version of Bottleneck in order to use this feature.");var require$$4=()=>console.log("You must import the full version of Bottleneck in order to use this feature.");var Qn,fn,Hn,Cn,Xn,kn;kn=Pt;Qn=an;Cn=require$$2;Hn=require$$3;Xn=require$$4;fn=function(){class Group{constructor(Wt={}){this.deleteKey=this.deleteKey.bind(this);this.limiterOptions=Wt;kn.load(this.limiterOptions,this.defaults,this);this.Events=new Qn(this);this.instances={};this.Bottleneck=tl;this._startAutoCleanup();this.sharedConnection=this.connection!=null;if(this.connection==null){if(this.limiterOptions.datastore==="redis"){this.connection=new Cn(Object.assign({},this.limiterOptions,{Events:this.Events}))}else if(this.limiterOptions.datastore==="ioredis"){this.connection=new Hn(Object.assign({},this.limiterOptions,{Events:this.Events}))}}}key(Wt=""){var Pt;return(Pt=this.instances[Wt])!=null?Pt:(()=>{var Pt;Pt=this.instances[Wt]=new this.Bottleneck(Object.assign(this.limiterOptions,{id:`${this.id}-${Wt}`,timeout:this.timeout,connection:this.connection}));this.Events.trigger("created",Pt,Wt);return Pt})()}async deleteKey(Wt=""){var Pt,en;en=this.instances[Wt];if(this.connection){Pt=await this.connection.__runCommand__(["del",...Xn.allKeys(`${this.id}-${Wt}`)])}if(en!=null){delete this.instances[Wt];await en.disconnect()}return en!=null||Pt>0}limiters(){var Wt,Pt,en,tn;Pt=this.instances;en=[];for(Wt in Pt){tn=Pt[Wt];en.push({key:Wt,limiter:tn})}return en}keys(){return Object.keys(this.instances)}async clusterKeys(){var Wt,Pt,en,tn,nn,an,In,rn,sn;if(this.connection==null){return this.Promise.resolve(this.keys())}an=[];Wt=null;sn=`b_${this.id}-`.length;Pt="_settings".length;while(Wt!==0){[rn,en]=await this.connection.__runCommand__(["scan",Wt!=null?Wt:0,"match",`b_${this.id}-*_settings`,"count",1e4]);Wt=~~rn;for(tn=0,In=en.length;tn{var Wt,Pt,en,tn,nn,an;nn=Date.now();en=this.instances;tn=[];for(Pt in en){an=en[Pt];try{if(await an._store.__groupCheck__(nn)){tn.push(this.deleteKey(Pt))}else{tn.push(void 0)}}catch(Pt){Wt=Pt;tn.push(an.Events.trigger("error",Wt))}}return tn}),this.timeout/2)).unref==="function"?Wt.unref():void 0}updateSettings(Wt={}){kn.overwrite(Wt,this.defaults,this);kn.overwrite(Wt,Wt,this.limiterOptions);if(Wt.timeout!=null){return this._startAutoCleanup()}}disconnect(Wt=true){var Pt;if(!this.sharedConnection){return(Pt=this.connection)!=null?Pt.disconnect(Wt):void 0}}}Group.prototype.defaults={timeout:1e3*60*5,connection:null,Promise:Promise,id:"group-key"};return Group}.call(Wt);var Jn=fn;var Ln,Bn,xn;xn=Pt;Bn=an;Ln=function(){class Batcher{constructor(Wt={}){this.options=Wt;xn.load(this.options,this.defaults,this);this.Events=new Bn(this);this._arr=[];this._resetPromise();this._lastFlush=Date.now()}_resetPromise(){return this._promise=new this.Promise(((Wt,Pt)=>this._resolve=Wt))}_flush(){clearTimeout(this._timeout);this._lastFlush=Date.now();this._resolve();this.Events.trigger("batch",this._arr);this._arr=[];return this._resetPromise()}add(Wt){var Pt;this._arr.push(Wt);Pt=this._promise;if(this._arr.length===this.maxSize){this._flush()}else if(this.maxTime!=null&&this._arr.length===1){this._timeout=setTimeout((()=>this._flush()),this.maxTime)}return Pt}}Batcher.prototype.defaults={maxTime:null,maxSize:null,Promise:Promise};return Batcher}.call(Wt);var On=Ln;var require$$4$1=()=>console.log("You must import the full version of Bottleneck in order to use this feature.");var Tn=getCjsExportFromNamespace(Fn);var Un,Mn,zn,Sn,Dn,jn,_n,Kn,Pn,qn,$n,el=[].splice;jn=10;Mn=5;$n=Pt;_n=on;Sn=hn;Dn=Nn;Kn=require$$4$1;zn=an;Pn=vn;qn=Vn;Un=function(){class Bottleneck{constructor(Wt={},...Pt){var en,tn;this._addToQueue=this._addToQueue.bind(this);this._validateOptions(Wt,Pt);$n.load(Wt,this.instanceDefaults,this);this._queues=new _n(jn);this._scheduled={};this._states=new Pn(["RECEIVED","QUEUED","RUNNING","EXECUTING"].concat(this.trackDoneStatus?["DONE"]:[]));this._limiter=null;this.Events=new zn(this);this._submitLock=new qn("submit",this.Promise);this._registerLock=new qn("register",this.Promise);tn=$n.load(Wt,this.storeDefaults,{});this._store=function(){if(this.datastore==="redis"||this.datastore==="ioredis"||this.connection!=null){en=$n.load(Wt,this.redisStoreDefaults,{});return new Kn(this,tn,en)}else if(this.datastore==="local"){en=$n.load(Wt,this.localStoreDefaults,{});return new Dn(this,tn,en)}else{throw new Bottleneck.prototype.BottleneckError(`Invalid datastore type: ${this.datastore}`)}}.call(this);this._queues.on("leftzero",(()=>{var Wt;return(Wt=this._store.heartbeat)!=null?typeof Wt.ref==="function"?Wt.ref():void 0:void 0}));this._queues.on("zero",(()=>{var Wt;return(Wt=this._store.heartbeat)!=null?typeof Wt.unref==="function"?Wt.unref():void 0:void 0}))}_validateOptions(Wt,Pt){if(!(Wt!=null&&typeof Wt==="object"&&Pt.length===0)){throw new Bottleneck.prototype.BottleneckError("Bottleneck v2 takes a single object argument. Refer to https://github.com/SGrondin/bottleneck#upgrading-to-v2 if you're upgrading from Bottleneck v1.")}}ready(){return this._store.ready}clients(){return this._store.clients}channel(){return`b_${this.id}`}channel_client(){return`b_${this.id}_${this._store.clientId}`}publish(Wt){return this._store.__publish__(Wt)}disconnect(Wt=true){return this._store.__disconnect__(Wt)}chain(Wt){this._limiter=Wt;return this}queued(Wt){return this._queues.queued(Wt)}clusterQueued(){return this._store.__queued__()}empty(){return this.queued()===0&&this._submitLock.isEmpty()}running(){return this._store.__running__()}done(){return this._store.__done__()}jobStatus(Wt){return this._states.jobStatus(Wt)}jobs(Wt){return this._states.statusJobs(Wt)}counts(){return this._states.statusCounts()}_randomIndex(){return Math.random().toString(36).slice(2)}check(Wt=1){return this._store.__check__(Wt)}_clearGlobalState(Wt){if(this._scheduled[Wt]!=null){clearTimeout(this._scheduled[Wt].expiration);delete this._scheduled[Wt];return true}else{return false}}async _free(Wt,Pt,en,tn){var nn,an;try{({running:an}=await this._store.__free__(Wt,en.weight));this.Events.trigger("debug",`Freed ${en.id}`,tn);if(an===0&&this.empty()){return this.Events.trigger("idle")}}catch(Wt){nn=Wt;return this.Events.trigger("error",nn)}}_run(Wt,Pt,en){var tn,nn,an;Pt.doRun();tn=this._clearGlobalState.bind(this,Wt);an=this._run.bind(this,Wt,Pt);nn=this._free.bind(this,Wt,Pt);return this._scheduled[Wt]={timeout:setTimeout((()=>Pt.doExecute(this._limiter,tn,an,nn)),en),expiration:Pt.options.expiration!=null?setTimeout((function(){return Pt.doExpire(tn,an,nn)}),en+Pt.options.expiration):void 0,job:Pt}}_drainOne(Wt){return this._registerLock.schedule((()=>{var Pt,en,tn,nn,an;if(this.queued()===0){return this.Promise.resolve(null)}an=this._queues.getFirst();({options:nn,args:Pt}=tn=an.first());if(Wt!=null&&nn.weight>Wt){return this.Promise.resolve(null)}this.Events.trigger("debug",`Draining ${nn.id}`,{args:Pt,options:nn});en=this._randomIndex();return this._store.__register__(en,nn.weight,nn.expiration).then((({success:Wt,wait:In,reservoir:rn})=>{var sn;this.Events.trigger("debug",`Drained ${nn.id}`,{success:Wt,args:Pt,options:nn});if(Wt){an.shift();sn=this.empty();if(sn){this.Events.trigger("empty")}if(rn===0){this.Events.trigger("depleted",sn)}this._run(en,tn,In);return this.Promise.resolve(nn.weight)}else{return this.Promise.resolve(null)}}))}))}_drainAll(Wt,Pt=0){return this._drainOne(Wt).then((en=>{var tn;if(en!=null){tn=Wt!=null?Wt-en:Wt;return this._drainAll(tn,Pt+en)}else{return this.Promise.resolve(Pt)}})).catch((Wt=>this.Events.trigger("error",Wt)))}_dropAllQueued(Wt){return this._queues.shiftAll((function(Pt){return Pt.doDrop({message:Wt})}))}stop(Wt={}){var Pt,en;Wt=$n.load(Wt,this.stopDefaults);en=Wt=>{var Pt;Pt=()=>{var Pt;Pt=this._states.counts;return Pt[0]+Pt[1]+Pt[2]+Pt[3]===Wt};return new this.Promise(((Wt,en)=>{if(Pt()){return Wt()}else{return this.on("done",(()=>{if(Pt()){this.removeAllListeners("done");return Wt()}}))}}))};Pt=Wt.dropWaitingJobs?(this._run=function(Pt,en){return en.doDrop({message:Wt.dropErrorMessage})},this._drainOne=()=>this.Promise.resolve(null),this._registerLock.schedule((()=>this._submitLock.schedule((()=>{var Pt,tn,nn;tn=this._scheduled;for(Pt in tn){nn=tn[Pt];if(this.jobStatus(nn.job.options.id)==="RUNNING"){clearTimeout(nn.timeout);clearTimeout(nn.expiration);nn.job.doDrop({message:Wt.dropErrorMessage})}}this._dropAllQueued(Wt.dropErrorMessage);return en(0)}))))):this.schedule({priority:jn-1,weight:0},(()=>en(1)));this._receive=function(Pt){return Pt._reject(new Bottleneck.prototype.BottleneckError(Wt.enqueueErrorMessage))};this.stop=()=>this.Promise.reject(new Bottleneck.prototype.BottleneckError("stop() has already been called"));return Pt}async _addToQueue(Wt){var Pt,en,tn,nn,an,In,rn;({args:Pt,options:nn}=Wt);try{({reachedHWM:an,blocked:en,strategy:rn}=await this._store.__submit__(this.queued(),nn.weight))}catch(en){tn=en;this.Events.trigger("debug",`Could not queue ${nn.id}`,{args:Pt,options:nn,error:tn});Wt.doDrop({error:tn});return false}if(en){Wt.doDrop();return true}else if(an){In=rn===Bottleneck.prototype.strategy.LEAK?this._queues.shiftLastFrom(nn.priority):rn===Bottleneck.prototype.strategy.OVERFLOW_PRIORITY?this._queues.shiftLastFrom(nn.priority+1):rn===Bottleneck.prototype.strategy.OVERFLOW?Wt:void 0;if(In!=null){In.doDrop()}if(In==null||rn===Bottleneck.prototype.strategy.OVERFLOW){if(In==null){Wt.doDrop()}return an}}Wt.doQueue(an,en);this._queues.push(Wt);await this._drainAll();return an}_receive(Wt){if(this._states.jobStatus(Wt.options.id)!=null){Wt._reject(new Bottleneck.prototype.BottleneckError(`A job with the same id already exists (id=${Wt.options.id})`));return false}else{Wt.doReceive();return this._submitLock.schedule(this._addToQueue,Wt)}}submit(...Wt){var Pt,en,tn,nn,an,In,rn;if(typeof Wt[0]==="function"){an=Wt,[en,...Wt]=an,[Pt]=el.call(Wt,-1);nn=$n.load({},this.jobDefaults)}else{In=Wt,[nn,en,...Wt]=In,[Pt]=el.call(Wt,-1);nn=$n.load(nn,this.jobDefaults)}rn=(...Wt)=>new this.Promise((function(Pt,tn){return en(...Wt,(function(...Wt){return(Wt[0]!=null?tn:Pt)(Wt)}))}));tn=new Sn(rn,Wt,nn,this.jobDefaults,this.rejectOnDrop,this.Events,this._states,this.Promise);tn.promise.then((function(Wt){return typeof Pt==="function"?Pt(...Wt):void 0})).catch((function(Wt){if(Array.isArray(Wt)){return typeof Pt==="function"?Pt(...Wt):void 0}else{return typeof Pt==="function"?Pt(Wt):void 0}}));return this._receive(tn)}schedule(...Wt){var Pt,en,tn;if(typeof Wt[0]==="function"){[tn,...Wt]=Wt;en={}}else{[en,tn,...Wt]=Wt}Pt=new Sn(tn,Wt,en,this.jobDefaults,this.rejectOnDrop,this.Events,this._states,this.Promise);this._receive(Pt);return Pt.promise}wrap(Wt){var Pt,en;Pt=this.schedule.bind(this);en=function(...en){return Pt(Wt.bind(this),...en)};en.withOptions=function(en,...tn){return Pt(en,Wt,...tn)};return en}async updateSettings(Wt={}){await this._store.__updateSettings__($n.overwrite(Wt,this.storeDefaults));$n.overwrite(Wt,this.instanceDefaults,this);return this}currentReservoir(){return this._store.__currentReservoir__()}incrementReservoir(Wt=0){return this._store.__incrementReservoir__(Wt)}}Bottleneck.default=Bottleneck;Bottleneck.Events=zn;Bottleneck.version=Bottleneck.prototype.version=Tn.version;Bottleneck.strategy=Bottleneck.prototype.strategy={LEAK:1,OVERFLOW:2,OVERFLOW_PRIORITY:4,BLOCK:3};Bottleneck.BottleneckError=Bottleneck.prototype.BottleneckError=dn;Bottleneck.Group=Bottleneck.prototype.Group=Jn;Bottleneck.RedisConnection=Bottleneck.prototype.RedisConnection=require$$2;Bottleneck.IORedisConnection=Bottleneck.prototype.IORedisConnection=require$$3;Bottleneck.Batcher=Bottleneck.prototype.Batcher=On;Bottleneck.prototype.jobDefaults={priority:Mn,weight:1,expiration:null,id:""};Bottleneck.prototype.storeDefaults={maxConcurrent:null,minTime:0,highWater:null,strategy:Bottleneck.prototype.strategy.LEAK,penalty:null,reservoir:null,reservoirRefreshInterval:null,reservoirRefreshAmount:null,reservoirIncreaseInterval:null,reservoirIncreaseAmount:null,reservoirIncreaseMaximum:null};Bottleneck.prototype.localStoreDefaults={Promise:Promise,timeout:null,heartbeatInterval:250};Bottleneck.prototype.redisStoreDefaults={Promise:Promise,timeout:null,heartbeatInterval:5e3,clientTimeout:1e4,Redis:null,clientOptions:{},clusterNodes:null,clearDatastore:false,connection:null};Bottleneck.prototype.instanceDefaults={datastore:"local",connection:null,id:"",rejectOnDrop:true,trackDoneStatus:false,Promise:Promise};Bottleneck.prototype.stopDefaults={enqueueErrorMessage:"This limiter has been stopped and cannot accept new jobs.",dropWaitingJobs:true,dropErrorMessage:"This limiter has been stopped."};return Bottleneck}.call(Wt);var tl=Un;var nl=tl;return nl}))},49586:(Wt,Pt,en)=>{var tn;Wt.exports=function rand(Wt){if(!tn)tn=new Rand(null);return tn.generate(Wt)};function Rand(Wt){this.rand=Wt}Wt.exports.Rand=Rand;Rand.prototype.generate=function generate(Wt){return this._rand(Wt)};Rand.prototype._rand=function _rand(Wt){if(this.rand.getBytes)return this.rand.getBytes(Wt);var Pt=new Uint8Array(Wt);for(var en=0;en{var tn=en(39023);var nn=en(2203).Stream;var an=en(72710);Wt.exports=CombinedStream;function CombinedStream(){this.writable=false;this.readable=true;this.dataSize=0;this.maxDataSize=2*1024*1024;this.pauseStreams=true;this._released=false;this._streams=[];this._currentStream=null;this._insideLoop=false;this._pendingNext=false}tn.inherits(CombinedStream,nn);CombinedStream.create=function(Wt){var Pt=new this;Wt=Wt||{};for(var en in Wt){Pt[en]=Wt[en]}return Pt};CombinedStream.isStreamLike=function(Wt){return typeof Wt!=="function"&&typeof Wt!=="string"&&typeof Wt!=="boolean"&&typeof Wt!=="number"&&!Buffer.isBuffer(Wt)};CombinedStream.prototype.append=function(Wt){var Pt=CombinedStream.isStreamLike(Wt);if(Pt){if(!(Wt instanceof an)){var en=an.create(Wt,{maxDataSize:Infinity,pauseStream:this.pauseStreams});Wt.on("data",this._checkDataSize.bind(this));Wt=en}this._handleErrors(Wt);if(this.pauseStreams){Wt.pause()}}this._streams.push(Wt);return this};CombinedStream.prototype.pipe=function(Wt,Pt){nn.prototype.pipe.call(this,Wt,Pt);this.resume();return Wt};CombinedStream.prototype._getNext=function(){this._currentStream=null;if(this._insideLoop){this._pendingNext=true;return}this._insideLoop=true;try{do{this._pendingNext=false;this._realGetNext()}while(this._pendingNext)}finally{this._insideLoop=false}};CombinedStream.prototype._realGetNext=function(){var Wt=this._streams.shift();if(typeof Wt=="undefined"){this.end();return}if(typeof Wt!=="function"){this._pipeNext(Wt);return}var Pt=Wt;Pt(function(Wt){var Pt=CombinedStream.isStreamLike(Wt);if(Pt){Wt.on("data",this._checkDataSize.bind(this));this._handleErrors(Wt)}this._pipeNext(Wt)}.bind(this))};CombinedStream.prototype._pipeNext=function(Wt){this._currentStream=Wt;var Pt=CombinedStream.isStreamLike(Wt);if(Pt){Wt.on("end",this._getNext.bind(this));Wt.pipe(this,{end:false});return}var en=Wt;this.write(en);this._getNext()};CombinedStream.prototype._handleErrors=function(Wt){var Pt=this;Wt.on("error",(function(Wt){Pt._emitError(Wt)}))};CombinedStream.prototype.write=function(Wt){this.emit("data",Wt)};CombinedStream.prototype.pause=function(){if(!this.pauseStreams){return}if(this.pauseStreams&&this._currentStream&&typeof this._currentStream.pause=="function")this._currentStream.pause();this.emit("pause")};CombinedStream.prototype.resume=function(){if(!this._released){this._released=true;this.writable=true;this._getNext()}if(this.pauseStreams&&this._currentStream&&typeof this._currentStream.resume=="function")this._currentStream.resume();this.emit("resume")};CombinedStream.prototype.end=function(){this._reset();this.emit("end")};CombinedStream.prototype.destroy=function(){this._reset();this.emit("close")};CombinedStream.prototype._reset=function(){this.writable=false;this._streams=[];this._currentStream=null};CombinedStream.prototype._checkDataSize=function(){this._updateDataSize();if(this.dataSize<=this.maxDataSize){return}var Wt="DelayedStream#maxDataSize of "+this.maxDataSize+" bytes exceeded.";this._emitError(new Error(Wt))};CombinedStream.prototype._updateDataSize=function(){this.dataSize=0;var Wt=this;this._streams.forEach((function(Pt){if(!Pt.dataSize){return}Wt.dataSize+=Pt.dataSize}));if(this._currentStream&&this._currentStream.dataSize){this.dataSize+=this._currentStream.dataSize}};CombinedStream.prototype._emitError=function(Wt){this._reset();this.emit("error",Wt)}},99712:(Wt,Pt,en)=>{var tn=en(97900);var nn=en(65170);var an=en(28660);var In=en(25985);var{dashedToCamelCase:rn}=en(87800);var sn=en(93322);var on=function CSSStyleDeclaration(Wt){this._values={};this._importants={};this._length=0;this._onChange=Wt;this._setInProgress=false};on.prototype={constructor:on,getPropertyValue:function(Wt){if(!this._values.hasOwnProperty(Wt)){return""}return this._values[Wt].toString()},setProperty:function(Wt,Pt,en){if(Pt===undefined){return}if(Pt===null||Pt===""){this.removeProperty(Wt);return}var tn=Wt.indexOf("--")===0;if(tn){this._setProperty(Wt,Pt,en);return}var In=Wt.toLowerCase();if(!nn.has(In)&&!an.has(In)){return}this[In]=Pt;this._importants[In]=en},_setProperty:function(Wt,Pt,en){if(Pt===undefined){return}if(Pt===null||Pt===""){this.removeProperty(Wt);return}var tn;if(this._onChange){tn=this.cssText}if(this._values[Wt]){var nn=Array.prototype.indexOf.call(this,Wt);if(nn<0){this[this._length]=Wt;this._length++}}else{this[this._length]=Wt;this._length++}this._values[Wt]=Pt;this._importants[Wt]=en;if(this._onChange&&this.cssText!==tn&&!this._setInProgress){this._onChange(this.cssText)}},removeProperty:function(Wt){if(!this._values.hasOwnProperty(Wt)){return""}var Pt=this._values[Wt];delete this._values[Wt];delete this._importants[Wt];var en=Array.prototype.indexOf.call(this,Wt);if(en<0){return Pt}Array.prototype.splice.call(this,en,1);if(this._onChange){this._onChange(this.cssText)}return Pt},getPropertyPriority:function(Wt){return this._importants[Wt]||""},getPropertyCSSValue:function(){return},getPropertyShorthand:function(){return},isPropertyImplicit:function(){return},item:function(Wt){Wt=parseInt(Wt,10);if(Wt<0||Wt>=this._length){return""}return this[Wt]}};Object.defineProperties(on.prototype,{cssText:{get:function(){var Wt=[];var Pt;var en;var tn;var nn;for(Pt=0;Pt{var tn=en(73040);Wt.exports=new Set(["background-position-x","background-position-y","background-repeat-x","background-repeat-y","color-interpolation","color-profile","color-rendering","css-float","enable-background","fill","fill-opacity","fill-rule","glyph-orientation-horizontal","image-rendering","kerning","marker","marker-end","marker-mid","marker-offset","marker-start","marks","pointer-events","shape-rendering","size","src","stop-color","stop-opacity","stroke","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke-width","text-anchor","text-line-through","text-line-through-color","text-line-through-mode","text-line-through-style","text-line-through-width","text-overline","text-overline-color","text-overline-mode","text-overline-style","text-overline-width","text-rendering","text-underline","text-underline-color","text-underline-mode","text-underline-style","text-underline-width","unicode-range","vector-effect"].concat(tn))},65170:Wt=>{Wt.exports=new Set(["-webkit-line-clamp","accent-color","align-content","align-items","align-self","alignment-baseline","all","anchor-name","anchor-scope","animation","animation-composition","animation-delay","animation-direction","animation-duration","animation-fill-mode","animation-iteration-count","animation-name","animation-play-state","animation-range","animation-range-end","animation-range-start","animation-timeline","animation-timing-function","appearance","aspect-ratio","azimuth","backface-visibility","background","background-attachment","background-blend-mode","background-clip","background-color","background-image","background-origin","background-position","background-repeat","background-size","baseline-shift","baseline-source","block-ellipsis","block-size","bookmark-label","bookmark-level","bookmark-state","border","border-block","border-block-color","border-block-end","border-block-end-color","border-block-end-style","border-block-end-width","border-block-start","border-block-start-color","border-block-start-style","border-block-start-width","border-block-style","border-block-width","border-bottom","border-bottom-color","border-bottom-left-radius","border-bottom-right-radius","border-bottom-style","border-bottom-width","border-boundary","border-collapse","border-color","border-end-end-radius","border-end-start-radius","border-image","border-image-outset","border-image-repeat","border-image-slice","border-image-source","border-image-width","border-inline","border-inline-color","border-inline-end","border-inline-end-color","border-inline-end-style","border-inline-end-width","border-inline-start","border-inline-start-color","border-inline-start-style","border-inline-start-width","border-inline-style","border-inline-width","border-left","border-left-color","border-left-style","border-left-width","border-radius","border-right","border-right-color","border-right-style","border-right-width","border-spacing","border-start-end-radius","border-start-start-radius","border-style","border-top","border-top-color","border-top-left-radius","border-top-right-radius","border-top-style","border-top-width","border-width","bottom","box-decoration-break","box-shadow","box-sizing","box-snap","break-after","break-before","break-inside","caption-side","caret","caret-color","caret-shape","clear","clip","clip-path","clip-rule","color","color-adjust","color-interpolation-filters","color-scheme","column-count","column-fill","column-gap","column-rule","column-rule-color","column-rule-style","column-rule-width","column-span","column-width","columns","contain","contain-intrinsic-block-size","contain-intrinsic-height","contain-intrinsic-inline-size","contain-intrinsic-size","contain-intrinsic-width","container","container-name","container-type","content","content-visibility","continue","counter-increment","counter-reset","counter-set","cue","cue-after","cue-before","cursor","direction","display","dominant-baseline","elevation","empty-cells","filter","flex","flex-basis","flex-direction","flex-flow","flex-grow","flex-shrink","flex-wrap","float","flood-color","flood-opacity","flow-from","flow-into","font","font-family","font-feature-settings","font-kerning","font-language-override","font-optical-sizing","font-palette","font-size","font-size-adjust","font-stretch","font-style","font-synthesis","font-synthesis-position","font-synthesis-small-caps","font-synthesis-style","font-synthesis-weight","font-variant","font-variant-alternates","font-variant-caps","font-variant-east-asian","font-variant-emoji","font-variant-ligatures","font-variant-numeric","font-variant-position","font-variation-settings","font-weight","font-width","footnote-display","footnote-policy","forced-color-adjust","gap","glyph-orientation-vertical","grid","grid-area","grid-auto-columns","grid-auto-flow","grid-auto-rows","grid-column","grid-column-end","grid-column-start","grid-row","grid-row-end","grid-row-start","grid-template","grid-template-areas","grid-template-columns","grid-template-rows","hanging-punctuation","height","hyphenate-character","hyphenate-limit-chars","hyphenate-limit-last","hyphenate-limit-lines","hyphenate-limit-zone","hyphens","image-orientation","image-rendering","image-resolution","initial-letter","initial-letter-align","initial-letter-wrap","inline-size","inline-sizing","inset","inset-area","inset-block","inset-block-end","inset-block-start","inset-inline","inset-inline-end","inset-inline-start","isolation","justify-content","justify-items","justify-self","left","letter-spacing","lighting-color","line-break","line-clamp","line-fit-edge","line-grid","line-height","line-padding","line-snap","list-style","list-style-image","list-style-position","list-style-type","margin","margin-block","margin-block-end","margin-block-start","margin-bottom","margin-inline","margin-inline-end","margin-inline-start","margin-left","margin-right","margin-top","margin-trim","marker-side","mask","mask-border","mask-border-mode","mask-border-outset","mask-border-repeat","mask-border-slice","mask-border-source","mask-border-width","mask-clip","mask-composite","mask-image","mask-mode","mask-origin","mask-position","mask-repeat","mask-size","mask-type","max-block-size","max-height","max-inline-size","max-lines","max-width","min-block-size","min-height","min-inline-size","min-intrinsic-sizing","min-width","mix-blend-mode","nav-down","nav-left","nav-right","nav-up","object-fit","object-position","offset","offset-anchor","offset-distance","offset-path","offset-position","offset-rotate","opacity","order","orphans","outline","outline-color","outline-offset","outline-style","outline-width","overflow","overflow-anchor","overflow-block","overflow-clip-margin","overflow-clip-margin-block","overflow-clip-margin-block-end","overflow-clip-margin-block-start","overflow-clip-margin-bottom","overflow-clip-margin-inline","overflow-clip-margin-inline-end","overflow-clip-margin-inline-start","overflow-clip-margin-left","overflow-clip-margin-right","overflow-clip-margin-top","overflow-inline","overflow-wrap","overflow-x","overflow-y","padding","padding-block","padding-block-end","padding-block-start","padding-bottom","padding-inline","padding-inline-end","padding-inline-start","padding-left","padding-right","padding-top","page","page-break-after","page-break-before","page-break-inside","pause","pause-after","pause-before","perspective","perspective-origin","pitch","pitch-range","place-content","place-items","place-self","play-during","position","position-anchor","position-try","position-try-options","position-try-order","print-color-adjust","quotes","region-fragment","resize","rest","rest-after","rest-before","richness","right","rotate","row-gap","ruby-align","ruby-merge","ruby-overhang","ruby-position","running","scale","scroll-behavior","scroll-margin","scroll-margin-block","scroll-margin-block-end","scroll-margin-block-start","scroll-margin-bottom","scroll-margin-inline","scroll-margin-inline-end","scroll-margin-inline-start","scroll-margin-left","scroll-margin-right","scroll-margin-top","scroll-padding","scroll-padding-block","scroll-padding-block-end","scroll-padding-block-start","scroll-padding-bottom","scroll-padding-inline","scroll-padding-inline-end","scroll-padding-inline-start","scroll-padding-left","scroll-padding-right","scroll-padding-top","scroll-snap-align","scroll-snap-stop","scroll-snap-type","scroll-timeline","scroll-timeline-axis","scroll-timeline-name","scrollbar-color","scrollbar-gutter","scrollbar-width","shape-image-threshold","shape-inside","shape-margin","shape-outside","spatial-navigation-action","spatial-navigation-contain","spatial-navigation-function","speak","speak-as","speak-header","speak-numeral","speak-punctuation","speech-rate","stress","string-set","tab-size","table-layout","text-align","text-align-all","text-align-last","text-autospace","text-box","text-box-edge","text-box-trim","text-combine-upright","text-decoration","text-decoration-color","text-decoration-line","text-decoration-skip","text-decoration-skip-box","text-decoration-skip-ink","text-decoration-skip-inset","text-decoration-skip-self","text-decoration-skip-spaces","text-decoration-style","text-decoration-thickness","text-emphasis","text-emphasis-color","text-emphasis-position","text-emphasis-skip","text-emphasis-style","text-group-align","text-indent","text-justify","text-orientation","text-overflow","text-shadow","text-spacing","text-spacing-trim","text-transform","text-underline-offset","text-underline-position","text-wrap","text-wrap-mode","text-wrap-style","timeline-scope","top","transform","transform-box","transform-origin","transform-style","transition","transition-delay","transition-duration","transition-property","transition-timing-function","translate","unicode-bidi","user-select","vertical-align","view-timeline","view-timeline-axis","view-timeline-inset","view-timeline-name","view-transition-name","visibility","voice-balance","voice-duration","voice-family","voice-pitch","voice-range","voice-rate","voice-stress","voice-volume","volume","white-space","white-space-collapse","white-space-trim","widows","width","will-change","word-break","word-space-transform","word-spacing","word-wrap","wrap-after","wrap-before","wrap-flow","wrap-inside","wrap-through","writing-mode","z-index"])},73040:Wt=>{Wt.exports=["animation","animation-delay","animation-direction","animation-duration","animation-fill-mode","animation-iteration-count","animation-name","animation-play-state","animation-timing-function","appearance","aspect-ratio","backface-visibility","background-clip","background-composite","background-origin","background-size","border-after","border-after-color","border-after-style","border-after-width","border-before","border-before-color","border-before-style","border-before-width","border-end","border-end-color","border-end-style","border-end-width","border-fit","border-horizontal-spacing","border-image","border-radius","border-start","border-start-color","border-start-style","border-start-width","border-vertical-spacing","box-align","box-direction","box-flex","box-flex-group","box-lines","box-ordinal-group","box-orient","box-pack","box-reflect","box-shadow","color-correction","column-axis","column-break-after","column-break-before","column-break-inside","column-count","column-gap","column-rule","column-rule-color","column-rule-style","column-rule-width","columns","column-span","column-width","filter","flex-align","flex-direction","flex-flow","flex-item-align","flex-line-pack","flex-order","flex-pack","flex-wrap","flow-from","flow-into","font-feature-settings","font-kerning","font-size-delta","font-smoothing","font-variant-ligatures","highlight","hyphenate-character","hyphenate-limit-after","hyphenate-limit-before","hyphenate-limit-lines","hyphens","line-align","line-box-contain","line-break","line-clamp","line-grid","line-snap","locale","logical-height","logical-width","margin-after","margin-after-collapse","margin-before","margin-before-collapse","margin-bottom-collapse","margin-collapse","margin-end","margin-start","margin-top-collapse","marquee","marquee-direction","marquee-increment","marquee-repetition","marquee-speed","marquee-style","mask","mask-attachment","mask-box-image","mask-box-image-outset","mask-box-image-repeat","mask-box-image-slice","mask-box-image-source","mask-box-image-width","mask-clip","mask-composite","mask-image","mask-origin","mask-position","mask-position-x","mask-position-y","mask-repeat","mask-repeat-x","mask-repeat-y","mask-size","match-nearest-mail-blockquote-color","max-logical-height","max-logical-width","min-logical-height","min-logical-width","nbsp-mode","overflow-scrolling","padding-after","padding-before","padding-end","padding-start","perspective","perspective-origin","perspective-origin-x","perspective-origin-y","print-color-adjust","region-break-after","region-break-before","region-break-inside","region-overflow","rtl-ordering","svg-shadow","tap-highlight-color","text-combine","text-decorations-in-effect","text-emphasis","text-emphasis-color","text-emphasis-position","text-emphasis-style","text-fill-color","text-orientation","text-security","text-size-adjust","text-stroke","text-stroke-color","text-stroke-width","transform","transform-origin","transform-origin-x","transform-origin-y","transform-origin-z","transform-style","transition","transition-delay","transition-duration","transition-property","transition-timing-function","user-drag","user-modify","user-select","wrap","wrap-flow","wrap-margin","wrap-padding","wrap-shape-inside","wrap-shape-outside","wrap-through","writing-mode","zoom"].map((Wt=>"webkit-"+Wt))},4525:Wt=>{Wt.exports.POSITION_AT_SHORTHAND={first:0,second:1}},25985:Wt=>{Wt.exports=new Set(["azimuth","background","background-attachment","background-color","background-image","background-position","background-repeat","border","border-bottom","border-bottom-color","border-bottom-style","border-bottom-width","border-collapse","border-color","border-left","border-left-color","border-left-style","border-left-width","border-right","border-right-color","border-right-style","border-right-width","border-spacing","border-style","border-top","border-top-color","border-top-style","border-top-width","border-width","bottom","clear","clip","color","css-float","flex","flex-basis","flex-grow","flex-shrink","float","flood-color","font","font-family","font-size","font-style","font-variant","font-weight","height","left","lighting-color","line-height","margin","margin-bottom","margin-left","margin-right","margin-top","opacity","outline-color","padding","padding-bottom","padding-left","padding-right","padding-top","right","stop-color","text-line-through-color","text-overline-color","text-underline-color","top","webkit-border-after-color","webkit-border-before-color","webkit-border-end-color","webkit-border-start-color","webkit-column-rule-color","webkit-match-nearest-mail-blockquote-color","webkit-tap-highlight-color","webkit-text-emphasis-color","webkit-text-fill-color","webkit-text-stroke-color","width"])},87800:(Wt,Pt,en)=>{const tn=en(13680);const{hslToRgb:nn}=en(84907);Pt.TYPES={INTEGER:1,NUMBER:2,LENGTH:3,PERCENT:4,URL:5,COLOR:6,STRING:7,ANGLE:8,KEYWORD:9,NULL_OR_EMPTY_STR:10,CALC:11};var an=/^[-+]?[0-9]+$/;var In=/^[-+]?[0-9]*\.?[0-9]+$/;var rn=/^(0|[-+]?[0-9]*\.?[0-9]+(in|cm|em|mm|pt|pc|px|ex|rem|vh|vw|ch))$/;var sn=/^[-+]?[0-9]*\.?[0-9]+%$/;var on=/^url\(\s*([^)]*)\s*\)$/;var cn=/^("[^"]*"|'[^']*')$/;var dn=/^#([0-9a-fA-F]{3,4}){1,2}$/;var un=/^rgb\(([^)]*)\)$/;var pn=/^rgba\(([^)]*)\)$/;var mn=/^calc\(([^)]*)\)$/;var bn=/^hsla?\(\s*(-?\d+|-?\d*.\d+)\s*,\s*(-?\d+|-?\d*.\d+)%\s*,\s*(-?\d+|-?\d*.\d+)%\s*(,\s*(-?\d+|-?\d*.\d+)\s*)?\)/;var Gn=/^([-+]?[0-9]*\.?[0-9]+)(deg|grad|rad)$/;Pt.valueType=function valueType(Wt){if(Wt===""||Wt===null){return Pt.TYPES.NULL_OR_EMPTY_STR}if(typeof Wt==="number"){Wt=Wt.toString()}if(typeof Wt!=="string"){return undefined}if(an.test(Wt)){return Pt.TYPES.INTEGER}if(In.test(Wt)){return Pt.TYPES.NUMBER}if(rn.test(Wt)){return Pt.TYPES.LENGTH}if(sn.test(Wt)){return Pt.TYPES.PERCENT}if(on.test(Wt)){return Pt.TYPES.URL}if(mn.test(Wt)){return Pt.TYPES.CALC}if(cn.test(Wt)){return Pt.TYPES.STRING}if(Gn.test(Wt)){return Pt.TYPES.ANGLE}if(dn.test(Wt)){return Pt.TYPES.COLOR}var en=un.exec(Wt);var nn;if(en!==null){nn=en[1].split(/\s*,\s*/);if(nn.length!==3){return undefined}if(nn.every(sn.test.bind(sn))||nn.every(an.test.bind(an))){return Pt.TYPES.COLOR}return undefined}en=pn.exec(Wt);if(en!==null){nn=en[1].split(/\s*,\s*/);if(nn.length!==4){return undefined}if(nn.slice(0,3).every(sn.test.bind(sn))||nn.slice(0,3).every(an.test.bind(an))){if(In.test(nn[3])){return Pt.TYPES.COLOR}}return undefined}if(bn.test(Wt)){return Pt.TYPES.COLOR}Wt=Wt.toLowerCase();if(tn.includes(Wt)){return Pt.TYPES.COLOR}switch(Wt){case"activeborder":case"activecaption":case"appworkspace":case"background":case"buttonface":case"buttonhighlight":case"buttonshadow":case"buttontext":case"captiontext":case"graytext":case"highlight":case"highlighttext":case"inactiveborder":case"inactivecaption":case"inactivecaptiontext":case"infobackground":case"infotext":case"menu":case"menutext":case"scrollbar":case"threeddarkshadow":case"threedface":case"threedhighlight":case"threedlightshadow":case"threedshadow":case"window":case"windowframe":case"windowtext":return Pt.TYPES.COLOR;default:return Pt.TYPES.KEYWORD}};Pt.parseInteger=function parseInteger(Wt){var en=Pt.valueType(Wt);if(en===Pt.TYPES.NULL_OR_EMPTY_STR){return Wt}if(en!==Pt.TYPES.INTEGER){return undefined}return String(parseInt(Wt,10))};Pt.parseNumber=function parseNumber(Wt){var en=Pt.valueType(Wt);if(en===Pt.TYPES.NULL_OR_EMPTY_STR){return Wt}if(en!==Pt.TYPES.NUMBER&&en!==Pt.TYPES.INTEGER){return undefined}return String(parseFloat(Wt))};Pt.parseLength=function parseLength(Wt){if(Wt===0||Wt==="0"){return"0px"}var en=Pt.valueType(Wt);if(en===Pt.TYPES.NULL_OR_EMPTY_STR){return Wt}if(en!==Pt.TYPES.LENGTH){return undefined}return Wt};Pt.parsePercent=function parsePercent(Wt){if(Wt===0||Wt==="0"){return"0%"}var en=Pt.valueType(Wt);if(en===Pt.TYPES.NULL_OR_EMPTY_STR){return Wt}if(en!==Pt.TYPES.PERCENT){return undefined}return Wt};Pt.parseMeasurement=function parseMeasurement(Wt){var en=Pt.valueType(Wt);if(en===Pt.TYPES.CALC){return Wt}var tn=Pt.parseLength(Wt);if(tn!==undefined){return tn}return Pt.parsePercent(Wt)};Pt.parseUrl=function parseUrl(Wt){var en=Pt.valueType(Wt);if(en===Pt.TYPES.NULL_OR_EMPTY_STR){return Wt}var tn=on.exec(Wt);if(!tn){return undefined}var nn=tn[1];if((nn[0]==='"'||nn[0]==="'")&&nn[0]!==nn[nn.length-1]){return undefined}if(nn[0]==='"'||nn[0]==="'"){nn=nn.substr(1,nn.length-2)}var an;for(an=0;an=Wt.length){return undefined}return Wt};Pt.parseColor=function parseColor(Wt){var en=Pt.valueType(Wt);if(en===Pt.TYPES.NULL_OR_EMPTY_STR){return Wt}var tn,rn,on,cn,mn,Gn,hn=1;var Zn;var An=dn.exec(Wt);if(An){var Wn=Wt.substr(1);var Nn=Wt.substr(1);if(Nn.length===3||Nn.length===4){Nn=Nn[0]+Nn[0]+Nn[1]+Nn[1]+Nn[2]+Nn[2];if(Wn.length===4){Nn=Nn+Wn[3]+Wn[3]}}tn=parseInt(Nn.substr(0,2),16);rn=parseInt(Nn.substr(2,2),16);on=parseInt(Nn.substr(4,2),16);if(Nn.length===8){var gn=Nn.substr(6,2);var yn=Number((parseInt(gn,16)/255).toFixed(3));return"rgba("+tn+", "+rn+", "+on+", "+yn+")"}return"rgb("+tn+", "+rn+", "+on+")"}An=un.exec(Wt);if(An){Zn=An[1].split(/\s*,\s*/);if(Zn.length!==3){return undefined}if(Zn.every(sn.test.bind(sn))){tn=Math.floor(parseFloat(Zn[0].slice(0,-1))*255/100);rn=Math.floor(parseFloat(Zn[1].slice(0,-1))*255/100);on=Math.floor(parseFloat(Zn[2].slice(0,-1))*255/100)}else if(Zn.every(an.test.bind(an))){tn=parseInt(Zn[0],10);rn=parseInt(Zn[1],10);on=parseInt(Zn[2],10)}else{return undefined}tn=Math.min(255,Math.max(0,tn));rn=Math.min(255,Math.max(0,rn));on=Math.min(255,Math.max(0,on));return"rgb("+tn+", "+rn+", "+on+")"}An=pn.exec(Wt);if(An){Zn=An[1].split(/\s*,\s*/);if(Zn.length!==4){return undefined}if(Zn.slice(0,3).every(sn.test.bind(sn))){tn=Math.floor(parseFloat(Zn[0].slice(0,-1))*255/100);rn=Math.floor(parseFloat(Zn[1].slice(0,-1))*255/100);on=Math.floor(parseFloat(Zn[2].slice(0,-1))*255/100);hn=parseFloat(Zn[3])}else if(Zn.slice(0,3).every(an.test.bind(an))){tn=parseInt(Zn[0],10);rn=parseInt(Zn[1],10);on=parseInt(Zn[2],10);hn=parseFloat(Zn[3])}else{return undefined}if(isNaN(hn)){hn=1}tn=Math.min(255,Math.max(0,tn));rn=Math.min(255,Math.max(0,rn));on=Math.min(255,Math.max(0,on));hn=Math.min(1,Math.max(0,hn));if(hn===1){return"rgb("+tn+", "+rn+", "+on+")"}return"rgba("+tn+", "+rn+", "+on+", "+hn+")"}An=bn.exec(Wt);if(An){const[,Wt,Pt,en,tn=""]=An;const an=parseFloat(tn.replace(",","").trim());if(!Wt||!Pt||!en){return undefined}cn=parseFloat(Wt);mn=parseInt(Pt,10);Gn=parseInt(en,10);if(an&&In.test(an)){hn=parseFloat(an)}const[rn,sn,on]=nn(cn,mn/100,Gn/100);if(!tn||hn===1){return"rgb("+rn+", "+sn+", "+on+")"}return"rgba("+rn+", "+sn+", "+on+", "+hn+")"}if(en===Pt.TYPES.COLOR){return Wt}return undefined};Pt.parseAngle=function parseAngle(Wt){var en=Pt.valueType(Wt);if(en===Pt.TYPES.NULL_OR_EMPTY_STR){return Wt}if(en!==Pt.TYPES.ANGLE){return undefined}var tn=Gn.exec(Wt);var nn=parseFloat(tn[1]);if(tn[2]==="rad"){nn*=180/Math.PI}else if(tn[2]==="grad"){nn*=360/400}while(nn<0){nn+=360}while(nn>360){nn-=360}return nn+"deg"};Pt.parseKeyword=function parseKeyword(Wt,en){var tn=Pt.valueType(Wt);if(tn===Pt.TYPES.NULL_OR_EMPTY_STR){return Wt}if(tn!==Pt.TYPES.KEYWORD){return undefined}Wt=Wt.toString().toLowerCase();var nn;for(nn=0;nn4){return undefined}if(!In.every(en)){return undefined}In=In.map((function(Wt){return tn(Wt)}));this._setProperty(Wt+Pt,In.join(" "));if(In.length===1){In[1]=In[0]}if(In.length===2){In[2]=In[0]}if(In.length===3){In[3]=In[1]}for(var rn=0;rn<4;rn++){var sn=Wt+"-"+nn[rn]+Pt;this.removeProperty(sn);if(In[rn]!==""){this._values[sn]=In[rn]}}return an}};Pt.subImplicitSetter=function(Wt,Pt,en,tn){var nn=Wt+"-"+Pt;var an=[Wt+"-top",Wt+"-right",Wt+"-bottom",Wt+"-left"];return function(Pt){if(typeof Pt==="number"){Pt=Pt.toString()}if(Pt===null){Pt=""}if(typeof Pt!=="string"){return undefined}if(!en(Pt)){return undefined}Pt=tn(Pt);this._setProperty(nn,Pt);var In=this.getPropertyPriority(Wt);var rn=an.map((Wt=>this._values[Wt]));var sn=an.map((Wt=>this.getPropertyPriority(Wt)));if(rn.every((Wt=>Wt!==""&&Wt!=null))&&sn.every((Wt=>Wt===sn[0]))&&sn[0]===In){for(var on=0;on{var tn=en(87800);var nn=en(4525);var an;an={set:function(Wt){var Pt=tn.valueType(Wt);if(Pt===tn.TYPES.ANGLE){return this._setProperty("azimuth",tn.parseAngle(Wt))}if(Pt===tn.TYPES.KEYWORD){var en=Wt.toLowerCase().trim().split(/\s+/);var nn=false;if(en.length>2){return}var an=en.indexOf("behind");nn=an!==-1;if(en.length===2){if(!nn){return}en.splice(an,1)}if(en[0]==="leftwards"||en[0]==="rightwards"){if(nn){return}return this._setProperty("azimuth",en[0])}if(en[0]==="behind"){return this._setProperty("azimuth","180deg")}switch(en[0]){case"left-side":return this._setProperty("azimuth","270deg");case"far-left":return this._setProperty("azimuth",(nn?240:300)+"deg");case"left":return this._setProperty("azimuth",(nn?220:320)+"deg");case"center-left":return this._setProperty("azimuth",(nn?200:340)+"deg");case"center":return this._setProperty("azimuth",(nn?180:0)+"deg");case"center-right":return this._setProperty("azimuth",(nn?160:20)+"deg");case"right":return this._setProperty("azimuth",(nn?140:40)+"deg");case"far-right":return this._setProperty("azimuth",(nn?120:60)+"deg");case"right-side":return this._setProperty("azimuth","90deg");default:return}}},get:function(){return this.getPropertyValue("azimuth")},enumerable:true,configurable:true};var In,rn;var sn=function parse(Wt){var Pt=tn.parseColor(Wt);if(Pt!==undefined){return Pt}if(tn.valueType(Wt)===tn.TYPES.KEYWORD&&(Wt.toLowerCase()==="transparent"||Wt.toLowerCase()==="inherit")){return Wt}return undefined};In=function isValid(Wt){return sn(Wt)!==undefined};rn={set:function(Wt){var Pt=sn(Wt);if(Pt===undefined){return}this._setProperty("background-color",Pt)},get:function(){return this.getPropertyValue("background-color")},enumerable:true,configurable:true};var on,cn;var dn=function parse(Wt){var Pt=tn.parseUrl(Wt);if(Pt!==undefined){return Pt}if(tn.valueType(Wt)===tn.TYPES.KEYWORD&&(Wt.toLowerCase()==="none"||Wt.toLowerCase()==="inherit")){return Wt}return undefined};on=function isValid(Wt){return dn(Wt)!==undefined};cn={set:function(Wt){this._setProperty("background-image",dn(Wt))},get:function(){return this.getPropertyValue("background-image")},enumerable:true,configurable:true};var un,pn;var mn=function parse(Wt){if(tn.valueType(Wt)===tn.TYPES.KEYWORD&&(Wt.toLowerCase()==="repeat"||Wt.toLowerCase()==="repeat-x"||Wt.toLowerCase()==="repeat-y"||Wt.toLowerCase()==="no-repeat"||Wt.toLowerCase()==="inherit")){return Wt}return undefined};un=function isValid(Wt){return mn(Wt)!==undefined};pn={set:function(Wt){this._setProperty("background-repeat",mn(Wt))},get:function(){return this.getPropertyValue("background-repeat")},enumerable:true,configurable:true};var bn,Gn;var hn=bn=function isValid(Wt){return tn.valueType(Wt)===tn.TYPES.KEYWORD&&(Wt.toLowerCase()==="scroll"||Wt.toLowerCase()==="fixed"||Wt.toLowerCase()==="inherit")};Gn={set:function(Wt){if(!hn(Wt)){return}this._setProperty("background-attachment",Wt)},get:function(){return this.getPropertyValue("background-attachment")},enumerable:true,configurable:true};var Zn,An;var Wn=["top","center","bottom","left","right"];var Nn=function parse(Wt){if(Wt===""||Wt===null){return undefined}var Pt=Wt.split(/\s+/);if(Pt.length>2||Pt.length<1){return undefined}var en=[];Pt.forEach((function(Wt,Pt){en[Pt]=tn.valueType(Wt)}));if(Pt.length===1){if(en[0]===tn.TYPES.LENGTH||en[0]===tn.TYPES.PERCENT){return Wt}if(en[0]===tn.TYPES.KEYWORD){if(Wn.indexOf(Wt.toLowerCase())!==-1||Wt.toLowerCase()==="inherit"){return Wt}}return undefined}if((en[0]===tn.TYPES.LENGTH||en[0]===tn.TYPES.PERCENT)&&(en[1]===tn.TYPES.LENGTH||en[1]===tn.TYPES.PERCENT)){return Wt}if(en[0]!==tn.TYPES.KEYWORD||en[1]!==tn.TYPES.KEYWORD){return undefined}if(Wn.indexOf(Pt[0])!==-1&&Wn.indexOf(Pt[1])!==-1){return Wt}return undefined};Zn=function isValid(Wt){return Nn(Wt)!==undefined};An={set:function(Wt){this._setProperty("background-position",Nn(Wt))},get:function(){return this.getPropertyValue("background-position")},enumerable:true,configurable:true};var gn;var yn={"background-color":{isValid:In,definition:rn},"background-image":{isValid:on,definition:cn},"background-repeat":{isValid:un,definition:pn},"background-attachment":{isValid:bn,definition:Gn},"background-position":{isValid:Zn,definition:An}};gn={set:tn.shorthandSetter("background",yn),get:tn.shorthandGetter("background",yn),enumerable:true,configurable:true};var vn,Yn;var En=["thin","medium","thick"];vn=function parse(Wt){var Pt=tn.parseLength(Wt);if(Pt!==undefined){return true}if(typeof Wt!=="string"){return false}if(Wt===""){return true}Wt=Wt.toLowerCase();if(En.indexOf(Wt)===-1){return false}return true};var Vn=vn;var borderWidth_local_var_parser=function(Wt){var Pt=tn.parseLength(Wt);if(Pt!==undefined){return Pt}if(Vn(Wt)){return Wt.toLowerCase()}return undefined};Yn={set:tn.implicitSetter("border","width",Vn,borderWidth_local_var_parser),get:function(){return this.getPropertyValue("border-width")},enumerable:true,configurable:true};var Rn,wn;var Fn=["none","hidden","dotted","dashed","solid","double","groove","ridge","inset","outset"];Rn=function parse(Wt){return typeof Wt==="string"&&(Wt===""||Fn.indexOf(Wt)!==-1)};var Qn=Rn;var borderStyle_local_var_parser=function(Wt){if(Qn(Wt)){return Wt.toLowerCase()}return undefined};wn={set:tn.implicitSetter("border","style",Qn,borderStyle_local_var_parser),get:function(){return this.getPropertyValue("border-style")},enumerable:true,configurable:true};var fn,Hn;fn=function parse(Wt){if(typeof Wt!=="string"){return false}return Wt===""||Wt.toLowerCase()==="transparent"||tn.valueType(Wt)===tn.TYPES.COLOR};var Cn=fn;var borderColor_local_var_parser=function(Wt){if(Cn(Wt)){return Wt.toLowerCase()}return undefined};Hn={set:tn.implicitSetter("border","color",Cn,borderColor_local_var_parser),get:function(){return this.getPropertyValue("border-color")},enumerable:true,configurable:true};var Xn;var kn={"border-width":{isValid:vn,definition:Yn},"border-style":{isValid:Rn,definition:wn},"border-color":{isValid:fn,definition:Hn}};var Jn=tn.shorthandSetter("border",kn);var Ln=tn.shorthandGetter("border",kn);Xn={set:function(Wt){if(Wt.toString().toLowerCase()==="none"){Wt=""}Jn.call(this,Wt);this.removeProperty("border-top");this.removeProperty("border-left");this.removeProperty("border-right");this.removeProperty("border-bottom");this._values["border-top"]=this._values.border;this._values["border-left"]=this._values.border;this._values["border-right"]=this._values.border;this._values["border-bottom"]=this._values.border},get:Ln,enumerable:true,configurable:true};var Bn,xn;var On=Bn=vn;xn={set:function(Wt){if(On(Wt)){this._setProperty("border-bottom-width",Wt)}},get:function(){return this.getPropertyValue("border-bottom-width")},enumerable:true,configurable:true};var Tn,Un;Tn=Rn;Un={set:function(Wt){if(Rn(Wt)){if(Wt.toLowerCase()==="none"){Wt="";this.removeProperty("border-bottom-width")}this._setProperty("border-bottom-style",Wt)}},get:function(){return this.getPropertyValue("border-bottom-style")},enumerable:true,configurable:true};var Mn,zn;var Sn=Mn=fn;zn={set:function(Wt){if(Sn(Wt)){this._setProperty("border-bottom-color",Wt)}},get:function(){return this.getPropertyValue("border-bottom-color")},enumerable:true,configurable:true};var Dn;var jn={"border-bottom-width":{isValid:Bn,definition:xn},"border-bottom-style":{isValid:Tn,definition:Un},"border-bottom-color":{isValid:Mn,definition:zn}};Dn={set:tn.shorthandSetter("border-bottom",jn),get:tn.shorthandGetter("border-bottom",jn),enumerable:true,configurable:true};var _n;var Kn=function parse(Wt){if(tn.valueType(Wt)===tn.TYPES.KEYWORD&&(Wt.toLowerCase()==="collapse"||Wt.toLowerCase()==="separate"||Wt.toLowerCase()==="inherit")){return Wt}return undefined};_n={set:function(Wt){this._setProperty("border-collapse",Kn(Wt))},get:function(){return this.getPropertyValue("border-collapse")},enumerable:true,configurable:true};var Pn,qn;var $n=Pn=vn;qn={set:function(Wt){if($n(Wt)){this._setProperty("border-left-width",Wt)}},get:function(){return this.getPropertyValue("border-left-width")},enumerable:true,configurable:true};var el,tl;el=Rn;tl={set:function(Wt){if(Rn(Wt)){if(Wt.toLowerCase()==="none"){Wt="";this.removeProperty("border-left-width")}this._setProperty("border-left-style",Wt)}},get:function(){return this.getPropertyValue("border-left-style")},enumerable:true,configurable:true};var nl,ll;var al=nl=fn;ll={set:function(Wt){if(al(Wt)){this._setProperty("border-left-color",Wt)}},get:function(){return this.getPropertyValue("border-left-color")},enumerable:true,configurable:true};var Il;var rl={"border-left-width":{isValid:Pn,definition:qn},"border-left-style":{isValid:el,definition:tl},"border-left-color":{isValid:nl,definition:ll}};Il={set:tn.shorthandSetter("border-left",rl),get:tn.shorthandGetter("border-left",rl),enumerable:true,configurable:true};var sl,ol;var cl=sl=vn;ol={set:function(Wt){if(cl(Wt)){this._setProperty("border-right-width",Wt)}},get:function(){return this.getPropertyValue("border-right-width")},enumerable:true,configurable:true};var il,dl;il=Rn;dl={set:function(Wt){if(Rn(Wt)){if(Wt.toLowerCase()==="none"){Wt="";this.removeProperty("border-right-width")}this._setProperty("border-right-style",Wt)}},get:function(){return this.getPropertyValue("border-right-style")},enumerable:true,configurable:true};var ul,pl;var ml=ul=fn;pl={set:function(Wt){if(ml(Wt)){this._setProperty("border-right-color",Wt)}},get:function(){return this.getPropertyValue("border-right-color")},enumerable:true,configurable:true};var bl;var Gl={"border-right-width":{isValid:sl,definition:ol},"border-right-style":{isValid:il,definition:dl},"border-right-color":{isValid:ul,definition:pl}};bl={set:tn.shorthandSetter("border-right",Gl),get:tn.shorthandGetter("border-right",Gl),enumerable:true,configurable:true};var hl;var Zl=function parse(Wt){if(Wt===""||Wt===null){return undefined}if(Wt===0){return"0px"}if(Wt.toLowerCase()==="inherit"){return Wt}var Pt=Wt.split(/\s+/);if(Pt.length!==1&&Pt.length!==2){return undefined}Pt.forEach((function(Wt){if(tn.valueType(Wt)!==tn.TYPES.LENGTH){return undefined}}));return Wt};hl={set:function(Wt){this._setProperty("border-spacing",Zl(Wt))},get:function(){return this.getPropertyValue("border-spacing")},enumerable:true,configurable:true};var Al,Wl;Al=vn;Wl={set:function(Wt){if(vn(Wt)){this._setProperty("border-top-width",Wt)}},get:function(){return this.getPropertyValue("border-top-width")},enumerable:true,configurable:true};var Nl,gl;Nl=Rn;gl={set:function(Wt){if(Rn(Wt)){if(Wt.toLowerCase()==="none"){Wt="";this.removeProperty("border-top-width")}this._setProperty("border-top-style",Wt)}},get:function(){return this.getPropertyValue("border-top-style")},enumerable:true,configurable:true};var yl,vl;var Yl=yl=fn;vl={set:function(Wt){if(Yl(Wt)){this._setProperty("border-top-color",Wt)}},get:function(){return this.getPropertyValue("border-top-color")},enumerable:true,configurable:true};var El;var Vl={"border-top-width":{isValid:Al,definition:Wl},"border-top-style":{isValid:Nl,definition:gl},"border-top-color":{isValid:yl,definition:vl}};El={set:tn.shorthandSetter("border-top",Vl),get:tn.shorthandGetter("border-top",Vl),enumerable:true,configurable:true};var Rl;Rl={set:function(Wt){this._setProperty("bottom",tn.parseMeasurement(Wt))},get:function(){return this.getPropertyValue("bottom")},enumerable:true,configurable:true};var wl;var Fl=["none","left","right","both","inherit"];wl={set:function(Wt){this._setProperty("clear",tn.parseKeyword(Wt,Fl))},get:function(){return this.getPropertyValue("clear")},enumerable:true,configurable:true};var Ql;var fl=/^rect\((.*)\)$/i;var clip_local_var_parse=function(Wt){if(Wt===""||Wt===null){return Wt}if(typeof Wt!=="string"){return undefined}Wt=Wt.toLowerCase();if(Wt==="auto"||Wt==="inherit"){return Wt}var Pt=Wt.match(fl);if(!Pt){return undefined}var en=Pt[1].split(/\s*,\s*/);if(en.length!==4){return undefined}var nn=en.every((function(Wt,Pt){var nn=tn.parseMeasurement(Wt);en[Pt]=nn;return nn!==undefined}));if(!nn){return undefined}en=en.join(", ");return Wt.replace(Pt[1],en)};Ql={set:function(Wt){this._setProperty("clip",clip_local_var_parse(Wt))},get:function(){return this.getPropertyValue("clip")},enumerable:true,configurable:true};var Hl;Hl={set:function(Wt){this._setProperty("color",tn.parseColor(Wt))},get:function(){return this.getPropertyValue("color")},enumerable:true,configurable:true};var Cl;Cl={set:function(Wt){this._setProperty("float",Wt)},get:function(){return this.getPropertyValue("float")},enumerable:true,configurable:true};var Xl,kl;Xl=function isValid(Wt,Pt){return tn.parseNumber(Wt)!==undefined&&Pt===nn.POSITION_AT_SHORTHAND.first};kl={set:function(Wt){this._setProperty("flex-grow",tn.parseNumber(Wt))},get:function(){return this.getPropertyValue("flex-grow")},enumerable:true,configurable:true};var Jl,Ll;Jl=function isValid(Wt,Pt){return tn.parseNumber(Wt)!==undefined&&Pt===nn.POSITION_AT_SHORTHAND.second};Ll={set:function(Wt){this._setProperty("flex-shrink",tn.parseNumber(Wt))},get:function(){return this.getPropertyValue("flex-shrink")},enumerable:true,configurable:true};var Bl,xl;function flexBasis_local_fn_parse(Wt){if(String(Wt).toLowerCase()==="auto"){return"auto"}if(String(Wt).toLowerCase()==="inherit"){return"inherit"}return tn.parseMeasurement(Wt)}Bl=function isValid(Wt){return flexBasis_local_fn_parse(Wt)!==undefined};xl={set:function(Wt){this._setProperty("flex-basis",flexBasis_local_fn_parse(Wt))},get:function(){return this.getPropertyValue("flex-basis")},enumerable:true,configurable:true};var Ol,Tl;var Ul={"flex-grow":{isValid:Xl,definition:kl},"flex-shrink":{isValid:Jl,definition:Ll},"flex-basis":{isValid:Bl,definition:xl}};var Ml=tn.shorthandSetter("flex",Ul);Ol=function isValid(Wt){return tn.shorthandParser(Wt,Ul)!==undefined};Tl={set:function(Wt){var Pt=String(Wt).trim().toLowerCase();if(Pt==="none"){Ml.call(this,"0 0 auto");return}if(Pt==="initial"){Ml.call(this,"0 1 auto");return}if(Pt==="auto"){this.removeProperty("flex-grow");this.removeProperty("flex-shrink");this.setProperty("flex-basis",Pt);return}Ml.call(this,Wt)},get:tn.shorthandGetter("flex",Ul),enumerable:true,configurable:true};var zl;zl={set:function(Wt){this._setProperty("float",Wt)},get:function(){return this.getPropertyValue("float")},enumerable:true,configurable:true};var Sl;Sl={set:function(Wt){this._setProperty("flood-color",tn.parseColor(Wt))},get:function(){return this.getPropertyValue("flood-color")},enumerable:true,configurable:true};var Dl,jl;var _l=/\s*,\s*/;Dl=function isValid(Wt){if(Wt===""||Wt===null){return true}var Pt=Wt.split(_l);var en=Pt.length;var nn;var an;for(nn=0;nnWt.toLowerCase()===Pt));return nn?Pt:tn.parseMeasurement(Wt)}Pl={set:function(Wt){this._setProperty("font-size",fontSize_local_fn_parse(Wt))},get:function(){return this.getPropertyValue("font-size")},enumerable:true,configurable:true};var lI,uI;var mI=["normal","italic","oblique","inherit"];lI=function(Wt){return mI.indexOf(Wt.toLowerCase())!==-1};uI={set:function(Wt){this._setProperty("font-style",Wt)},get:function(){return this.getPropertyValue("font-style")},enumerable:true,configurable:true};var ZI,WI;var vI=["normal","small-caps","inherit"];ZI=function isValid(Wt){return vI.indexOf(Wt.toLowerCase())!==-1};WI={set:function(Wt){this._setProperty("font-variant",Wt)},get:function(){return this.getPropertyValue("font-variant")},enumerable:true,configurable:true};var VI,XI;var LI=["normal","bold","bolder","lighter","100","200","300","400","500","600","700","800","900","inherit"];VI=function isValid(Wt){return LI.indexOf(Wt.toLowerCase())!==-1};XI={set:function(Wt){this._setProperty("font-weight",Wt)},get:function(){return this.getPropertyValue("font-weight")},enumerable:true,configurable:true};var xI,OI;xI=function isValid(Wt){var Pt=tn.valueType(Wt);return Pt===tn.TYPES.KEYWORD&&Wt.toLowerCase()==="normal"||Wt.toLowerCase()==="inherit"||Pt===tn.TYPES.NUMBER||Pt===tn.TYPES.LENGTH||Pt===tn.TYPES.PERCENT};OI={set:function(Wt){this._setProperty("line-height",Wt)},get:function(){return this.getPropertyValue("line-height")},enumerable:true,configurable:true};var TI;var zI={"font-family":{isValid:Dl,definition:jl},"font-size":{isValid:Kl,definition:Pl},"font-style":{isValid:lI,definition:uI},"font-variant":{isValid:ZI,definition:WI},"font-weight":{isValid:VI,definition:XI},"line-height":{isValid:xI,definition:OI}};var jI=["caption","icon","menu","message-box","small-caption","status-bar","inherit"];var qI=tn.shorthandSetter("font",zI);TI={set:function(Wt){var Pt=tn.shorthandParser(Wt,zI);if(Pt!==undefined){return qI.call(this,Wt)}if(tn.valueType(Wt)===tn.TYPES.KEYWORD&&jI.indexOf(Wt.toLowerCase())!==-1){this._setProperty("font",Wt)}},get:tn.shorthandGetter("font",zI),enumerable:true,configurable:true};var $I;function height_local_fn_parse(Wt){if(String(Wt).toLowerCase()==="auto"){return"auto"}if(String(Wt).toLowerCase()==="inherit"){return"inherit"}return tn.parseMeasurement(Wt)}$I={set:function(Wt){this._setProperty("height",height_local_fn_parse(Wt))},get:function(){return this.getPropertyValue("height")},enumerable:true,configurable:true};var Zr;Zr={set:function(Wt){this._setProperty("left",tn.parseMeasurement(Wt))},get:function(){return this.getPropertyValue("left")},enumerable:true,configurable:true};var Qr;Qr={set:function(Wt){this._setProperty("lighting-color",tn.parseColor(Wt))},get:function(){return this.getPropertyValue("lighting-color")},enumerable:true,configurable:true};var Jr,zr,jr;var $r=tn.TYPES;var margin_local_var_isValid=function(Wt){if(Wt.toLowerCase()==="auto"){return true}var Pt=tn.valueType(Wt);return Pt===$r.NULL_OR_EMPTY_STR||Pt===$r.LENGTH||Pt===$r.PERCENT||Pt===$r.CALC||Pt===$r.INTEGER&&(Wt==="0"||Wt===0)};var margin_local_var_parser=function(Wt){var Pt=Wt.toLowerCase();if(Pt==="auto"){return Pt}return tn.parseMeasurement(Wt)};var es=tn.implicitSetter("margin","",margin_local_var_isValid,margin_local_var_parser);var ts=tn.implicitSetter("margin","",(function(){return true}),(function(Wt){return Wt}));Jr={set:function(Wt){if(typeof Wt==="number"){Wt=String(Wt)}if(Wt===null){Wt=""}if(typeof Wt!=="string"){return}var Pt=Wt.toLowerCase();switch(Pt){case"inherit":case"initial":case"unset":case"":ts.call(this,Pt);break;default:es.call(this,Wt);break}},get:function(){return this.getPropertyValue("margin")},enumerable:true,configurable:true};zr=margin_local_var_isValid;jr=margin_local_var_parser;var ns;ns={set:tn.subImplicitSetter("margin","bottom",{definition:Jr,isValid:zr,parser:jr}.isValid,{definition:Jr,isValid:zr,parser:jr}.parser),get:function(){return this.getPropertyValue("margin-bottom")},enumerable:true,configurable:true};var ls;ls={set:tn.subImplicitSetter("margin","left",{definition:Jr,isValid:zr,parser:jr}.isValid,{definition:Jr,isValid:zr,parser:jr}.parser),get:function(){return this.getPropertyValue("margin-left")},enumerable:true,configurable:true};var as;as={set:tn.subImplicitSetter("margin","right",{definition:Jr,isValid:zr,parser:jr}.isValid,{definition:Jr,isValid:zr,parser:jr}.parser),get:function(){return this.getPropertyValue("margin-right")},enumerable:true,configurable:true};var Is;Is={set:tn.subImplicitSetter("margin","top",{definition:Jr,isValid:zr,parser:jr}.isValid,{definition:Jr,isValid:zr,parser:jr}.parser),get:function(){return this.getPropertyValue("margin-top")},enumerable:true,configurable:true};var rs;rs={set:function(Wt){this._setProperty("opacity",tn.parseNumber(Wt))},get:function(){return this.getPropertyValue("opacity")},enumerable:true,configurable:true};var ss;ss={set:function(Wt){this._setProperty("outline-color",tn.parseColor(Wt))},get:function(){return this.getPropertyValue("outline-color")},enumerable:true,configurable:true};var os,cs,is;var ds=tn.TYPES;var padding_local_var_isValid=function(Wt){var Pt=tn.valueType(Wt);return Pt===ds.NULL_OR_EMPTY_STR||Pt===ds.LENGTH||Pt===ds.PERCENT||Pt===ds.CALC||Pt===ds.INTEGER&&(Wt==="0"||Wt===0)};var padding_local_var_parser=function(Wt){return tn.parseMeasurement(Wt)};var us=tn.implicitSetter("padding","",padding_local_var_isValid,padding_local_var_parser);var ps=tn.implicitSetter("padding","",(function(){return true}),(function(Wt){return Wt}));os={set:function(Wt){if(typeof Wt==="number"){Wt=String(Wt)}if(Wt===null){Wt=""}if(typeof Wt!=="string"){return}var Pt=Wt.toLowerCase();switch(Pt){case"inherit":case"initial":case"unset":case"":ps.call(this,Pt);break;default:us.call(this,Wt);break}},get:function(){return this.getPropertyValue("padding")},enumerable:true,configurable:true};cs=padding_local_var_isValid;is=padding_local_var_parser;var ms;ms={set:tn.subImplicitSetter("padding","bottom",{definition:os,isValid:cs,parser:is}.isValid,{definition:os,isValid:cs,parser:is}.parser),get:function(){return this.getPropertyValue("padding-bottom")},enumerable:true,configurable:true};var bs;bs={set:tn.subImplicitSetter("padding","left",{definition:os,isValid:cs,parser:is}.isValid,{definition:os,isValid:cs,parser:is}.parser),get:function(){return this.getPropertyValue("padding-left")},enumerable:true,configurable:true};var Gs;Gs={set:tn.subImplicitSetter("padding","right",{definition:os,isValid:cs,parser:is}.isValid,{definition:os,isValid:cs,parser:is}.parser),get:function(){return this.getPropertyValue("padding-right")},enumerable:true,configurable:true};var hs;hs={set:tn.subImplicitSetter("padding","top",{definition:os,isValid:cs,parser:is}.isValid,{definition:os,isValid:cs,parser:is}.parser),get:function(){return this.getPropertyValue("padding-top")},enumerable:true,configurable:true};var Zs;Zs={set:function(Wt){this._setProperty("right",tn.parseMeasurement(Wt))},get:function(){return this.getPropertyValue("right")},enumerable:true,configurable:true};var As;As={set:function(Wt){this._setProperty("stop-color",tn.parseColor(Wt))},get:function(){return this.getPropertyValue("stop-color")},enumerable:true,configurable:true};var Ws;Ws={set:function(Wt){this._setProperty("text-line-through-color",tn.parseColor(Wt))},get:function(){return this.getPropertyValue("text-line-through-color")},enumerable:true,configurable:true};var Ns;Ns={set:function(Wt){this._setProperty("text-overline-color",tn.parseColor(Wt))},get:function(){return this.getPropertyValue("text-overline-color")},enumerable:true,configurable:true};var gs;gs={set:function(Wt){this._setProperty("text-underline-color",tn.parseColor(Wt))},get:function(){return this.getPropertyValue("text-underline-color")},enumerable:true,configurable:true};var ys;ys={set:function(Wt){this._setProperty("top",tn.parseMeasurement(Wt))},get:function(){return this.getPropertyValue("top")},enumerable:true,configurable:true};var vs;vs={set:function(Wt){this._setProperty("-webkit-border-after-color",tn.parseColor(Wt))},get:function(){return this.getPropertyValue("-webkit-border-after-color")},enumerable:true,configurable:true};var Ys;Ys={set:function(Wt){this._setProperty("-webkit-border-before-color",tn.parseColor(Wt))},get:function(){return this.getPropertyValue("-webkit-border-before-color")},enumerable:true,configurable:true};var Es;Es={set:function(Wt){this._setProperty("-webkit-border-end-color",tn.parseColor(Wt))},get:function(){return this.getPropertyValue("-webkit-border-end-color")},enumerable:true,configurable:true};var Vs;Vs={set:function(Wt){this._setProperty("-webkit-border-start-color",tn.parseColor(Wt))},get:function(){return this.getPropertyValue("-webkit-border-start-color")},enumerable:true,configurable:true};var Rs;Rs={set:function(Wt){this._setProperty("-webkit-column-rule-color",tn.parseColor(Wt))},get:function(){return this.getPropertyValue("-webkit-column-rule-color")},enumerable:true,configurable:true};var ws;ws={set:function(Wt){this._setProperty("-webkit-match-nearest-mail-blockquote-color",tn.parseColor(Wt))},get:function(){return this.getPropertyValue("-webkit-match-nearest-mail-blockquote-color")},enumerable:true,configurable:true};var Fs;Fs={set:function(Wt){this._setProperty("-webkit-tap-highlight-color",tn.parseColor(Wt))},get:function(){return this.getPropertyValue("-webkit-tap-highlight-color")},enumerable:true,configurable:true};var Qs;Qs={set:function(Wt){this._setProperty("-webkit-text-emphasis-color",tn.parseColor(Wt))},get:function(){return this.getPropertyValue("-webkit-text-emphasis-color")},enumerable:true,configurable:true};var fs;fs={set:function(Wt){this._setProperty("-webkit-text-fill-color",tn.parseColor(Wt))},get:function(){return this.getPropertyValue("-webkit-text-fill-color")},enumerable:true,configurable:true};var Hs;Hs={set:function(Wt){this._setProperty("-webkit-text-stroke-color",tn.parseColor(Wt))},get:function(){return this.getPropertyValue("-webkit-text-stroke-color")},enumerable:true,configurable:true};var Cs;function width_local_fn_parse(Wt){if(String(Wt).toLowerCase()==="auto"){return"auto"}if(String(Wt).toLowerCase()==="inherit"){return"inherit"}return tn.parseMeasurement(Wt)}Cs={set:function(Wt){this._setProperty("width",width_local_fn_parse(Wt))},get:function(){return this.getPropertyValue("width")},enumerable:true,configurable:true};Wt.exports=function(Wt){Object.defineProperties(Wt,{azimuth:an,backgroundColor:rn,"background-color":rn,backgroundImage:cn,"background-image":cn,backgroundRepeat:pn,"background-repeat":pn,backgroundAttachment:Gn,"background-attachment":Gn,backgroundPosition:An,"background-position":An,background:gn,borderWidth:Yn,"border-width":Yn,borderStyle:wn,"border-style":wn,borderColor:Hn,"border-color":Hn,border:Xn,borderBottomWidth:xn,"border-bottom-width":xn,borderBottomStyle:Un,"border-bottom-style":Un,borderBottomColor:zn,"border-bottom-color":zn,borderBottom:Dn,"border-bottom":Dn,borderCollapse:_n,"border-collapse":_n,borderLeftWidth:qn,"border-left-width":qn,borderLeftStyle:tl,"border-left-style":tl,borderLeftColor:ll,"border-left-color":ll,borderLeft:Il,"border-left":Il,borderRightWidth:ol,"border-right-width":ol,borderRightStyle:dl,"border-right-style":dl,borderRightColor:pl,"border-right-color":pl,borderRight:bl,"border-right":bl,borderSpacing:hl,"border-spacing":hl,borderTopWidth:Wl,"border-top-width":Wl,borderTopStyle:gl,"border-top-style":gl,borderTopColor:vl,"border-top-color":vl,borderTop:El,"border-top":El,bottom:Rl,clear:wl,clip:Ql,color:Hl,cssFloat:Cl,"css-float":Cl,flexGrow:kl,"flex-grow":kl,flexShrink:Ll,"flex-shrink":Ll,flexBasis:xl,"flex-basis":xl,flex:Tl,float:zl,floodColor:Sl,"flood-color":Sl,fontFamily:jl,"font-family":jl,fontSize:Pl,"font-size":Pl,fontStyle:uI,"font-style":uI,fontVariant:WI,"font-variant":WI,fontWeight:XI,"font-weight":XI,lineHeight:OI,"line-height":OI,font:TI,height:$I,left:Zr,lightingColor:Qr,"lighting-color":Qr,margin:Jr,marginBottom:ns,"margin-bottom":ns,marginLeft:ls,"margin-left":ls,marginRight:as,"margin-right":as,marginTop:Is,"margin-top":Is,opacity:rs,outlineColor:ss,"outline-color":ss,padding:os,paddingBottom:ms,"padding-bottom":ms,paddingLeft:bs,"padding-left":bs,paddingRight:Gs,"padding-right":Gs,paddingTop:hs,"padding-top":hs,right:Zs,stopColor:As,"stop-color":As,textLineThroughColor:Ws,"text-line-through-color":Ws,textOverlineColor:Ns,"text-overline-color":Ns,textUnderlineColor:gs,"text-underline-color":gs,top:ys,webkitBorderAfterColor:vs,"webkit-border-after-color":vs,webkitBorderBeforeColor:Ys,"webkit-border-before-color":Ys,webkitBorderEndColor:Es,"webkit-border-end-color":Es,webkitBorderStartColor:Vs,"webkit-border-start-color":Vs,webkitColumnRuleColor:Rs,"webkit-column-rule-color":Rs,webkitMatchNearestMailBlockquoteColor:ws,"webkit-match-nearest-mail-blockquote-color":ws,webkitTapHighlightColor:Fs,"webkit-tap-highlight-color":Fs,webkitTextEmphasisColor:Qs,"webkit-text-emphasis-color":Qs,webkitTextFillColor:fs,"webkit-text-fill-color":fs,webkitTextStrokeColor:Hs,"webkit-text-stroke-color":Hs,width:Cs})}},84907:(Wt,Pt)=>{const en=360;const tn=12;const nn=255;Pt.hslToRgb=(Wt,Pt,an)=>{Wt=Wt%en;if(Wt<0){Wt+=en}function f(nn){const In=(nn+Wt/(en/tn))%tn;const rn=Pt*Math.min(an,1-an);return an-rn*Math.max(-1,Math.min(In-3,9-In,1))}return[f(0),f(8),f(4)].map((Wt=>Math.round(Wt*nn)))}},93322:Wt=>{Wt.exports=function getBasicPropertyDescriptor(Wt){return{set:function(Pt){this._setProperty(Wt,Pt)},get:function(){return this.getPropertyValue(Wt)},enumerable:true,configurable:true}}},11140:(Wt,Pt,en)=>{var tn={CSSRule:en(77813).CSSRule,CSSGroupingRule:en(4644).CSSGroupingRule};tn.CSSConditionRule=function CSSConditionRule(){tn.CSSGroupingRule.call(this);this.cssRules=[]};tn.CSSConditionRule.prototype=new tn.CSSGroupingRule;tn.CSSConditionRule.prototype.constructor=tn.CSSConditionRule;tn.CSSConditionRule.prototype.conditionText="";tn.CSSConditionRule.prototype.cssText="";Pt.CSSConditionRule=tn.CSSConditionRule},67294:(Wt,Pt,en)=>{var tn={CSSRule:en(77813).CSSRule,CSSGroupingRule:en(4644).CSSGroupingRule,CSSConditionRule:en(11140).CSSConditionRule};tn.CSSContainerRule=function CSSContainerRule(){tn.CSSConditionRule.call(this)};tn.CSSContainerRule.prototype=new tn.CSSConditionRule;tn.CSSContainerRule.prototype.constructor=tn.CSSContainerRule;tn.CSSContainerRule.prototype.type=17;Object.defineProperties(tn.CSSContainerRule.prototype,{conditionText:{get:function(){return this.containerText},set:function(Wt){this.containerText=Wt},configurable:true,enumerable:true},cssText:{get:function(){var Wt=[];for(var Pt=0,en=this.cssRules.length;Pt{var tn={CSSRule:en(77813).CSSRule,MatcherList:en(4570).MatcherList};tn.CSSDocumentRule=function CSSDocumentRule(){tn.CSSRule.call(this);this.matcher=new tn.MatcherList;this.cssRules=[]};tn.CSSDocumentRule.prototype=new tn.CSSRule;tn.CSSDocumentRule.prototype.constructor=tn.CSSDocumentRule;tn.CSSDocumentRule.prototype.type=10;Object.defineProperty(tn.CSSDocumentRule.prototype,"cssText",{get:function(){var Wt=[];for(var Pt=0,en=this.cssRules.length;Pt{var tn={CSSStyleDeclaration:en(80692).CSSStyleDeclaration,CSSRule:en(77813).CSSRule};tn.CSSFontFaceRule=function CSSFontFaceRule(){tn.CSSRule.call(this);this.style=new tn.CSSStyleDeclaration;this.style.parentRule=this};tn.CSSFontFaceRule.prototype=new tn.CSSRule;tn.CSSFontFaceRule.prototype.constructor=tn.CSSFontFaceRule;tn.CSSFontFaceRule.prototype.type=5;Object.defineProperty(tn.CSSFontFaceRule.prototype,"cssText",{get:function(){return"@font-face {"+this.style.cssText+"}"}});Pt.CSSFontFaceRule=tn.CSSFontFaceRule},4644:(Wt,Pt,en)=>{var tn={CSSRule:en(77813).CSSRule,parse:en(13759).parse};tn.CSSGroupingRule=function CSSGroupingRule(){tn.CSSRule.call(this);this.cssRules=[]};tn.CSSGroupingRule.prototype=new tn.CSSRule;tn.CSSGroupingRule.prototype.constructor=tn.CSSGroupingRule;tn.CSSGroupingRule.prototype.insertRule=function insertRule(Wt,Pt){if(Pt<0||Pt>this.cssRules.length){throw new RangeError("INDEX_SIZE_ERR")}var en=tn.parse(Wt).cssRules[0];en.parentRule=this;this.cssRules.splice(Pt,0,en);return Pt};tn.CSSGroupingRule.prototype.deleteRule=function deleteRule(Wt){if(Wt<0||Wt>=this.cssRules.length){throw new RangeError("INDEX_SIZE_ERR")}this.cssRules.splice(Wt,1)[0].parentRule=null};Pt.CSSGroupingRule=tn.CSSGroupingRule},24455:(Wt,Pt,en)=>{var tn={CSSRule:en(77813).CSSRule};tn.CSSHostRule=function CSSHostRule(){tn.CSSRule.call(this);this.cssRules=[]};tn.CSSHostRule.prototype=new tn.CSSRule;tn.CSSHostRule.prototype.constructor=tn.CSSHostRule;tn.CSSHostRule.prototype.type=1001;Object.defineProperty(tn.CSSHostRule.prototype,"cssText",{get:function(){var Wt=[];for(var Pt=0,en=this.cssRules.length;Pt{var tn={CSSRule:en(77813).CSSRule,CSSStyleSheet:en(94883).CSSStyleSheet,MediaList:en(92044).MediaList};tn.CSSImportRule=function CSSImportRule(){tn.CSSRule.call(this);this.href="";this.media=new tn.MediaList;this.styleSheet=new tn.CSSStyleSheet};tn.CSSImportRule.prototype=new tn.CSSRule;tn.CSSImportRule.prototype.constructor=tn.CSSImportRule;tn.CSSImportRule.prototype.type=3;Object.defineProperty(tn.CSSImportRule.prototype,"cssText",{get:function(){var Wt=this.media.mediaText;return"@import url("+this.href+")"+(Wt?" "+Wt:"")+";"},set:function(Wt){var Pt=0;var en="";var tn="";var nn;for(var an;an=Wt.charAt(Pt);Pt++){switch(an){case" ":case"\t":case"\r":case"\n":case"\f":if(en==="after-import"){en="url"}else{tn+=an}break;case"@":if(!en&&Wt.indexOf("@import",Pt)===Pt){en="after-import";Pt+="import".length;tn=""}break;case"u":if(en==="url"&&Wt.indexOf("url(",Pt)===Pt){nn=Wt.indexOf(")",Pt+1);if(nn===-1){throw Pt+': ")" not found'}Pt+="url(".length;var In=Wt.slice(Pt,nn);if(In[0]===In[In.length-1]){if(In[0]==='"'||In[0]==="'"){In=In.slice(1,-1)}}this.href=In;Pt=nn;en="media"}break;case'"':if(en==="url"){nn=Wt.indexOf('"',Pt+1);if(!nn){throw Pt+": '\"' not found"}this.href=Wt.slice(Pt+1,nn);Pt=nn;en="media"}break;case"'":if(en==="url"){nn=Wt.indexOf("'",Pt+1);if(!nn){throw Pt+': "\'" not found'}this.href=Wt.slice(Pt+1,nn);Pt=nn;en="media"}break;case";":if(en==="media"){if(tn){this.media.mediaText=tn.trim()}}break;default:if(en==="media"){tn+=an}break}}}});Pt.CSSImportRule=tn.CSSImportRule},67529:(Wt,Pt,en)=>{var tn={CSSRule:en(77813).CSSRule,CSSStyleDeclaration:en(80692).CSSStyleDeclaration};tn.CSSKeyframeRule=function CSSKeyframeRule(){tn.CSSRule.call(this);this.keyText="";this.style=new tn.CSSStyleDeclaration;this.style.parentRule=this};tn.CSSKeyframeRule.prototype=new tn.CSSRule;tn.CSSKeyframeRule.prototype.constructor=tn.CSSKeyframeRule;tn.CSSKeyframeRule.prototype.type=8;Object.defineProperty(tn.CSSKeyframeRule.prototype,"cssText",{get:function(){return this.keyText+" {"+this.style.cssText+"} "}});Pt.CSSKeyframeRule=tn.CSSKeyframeRule},46212:(Wt,Pt,en)=>{var tn={CSSRule:en(77813).CSSRule};tn.CSSKeyframesRule=function CSSKeyframesRule(){tn.CSSRule.call(this);this.name="";this.cssRules=[]};tn.CSSKeyframesRule.prototype=new tn.CSSRule;tn.CSSKeyframesRule.prototype.constructor=tn.CSSKeyframesRule;tn.CSSKeyframesRule.prototype.type=7;Object.defineProperty(tn.CSSKeyframesRule.prototype,"cssText",{get:function(){var Wt=[];for(var Pt=0,en=this.cssRules.length;Pt{var tn={CSSRule:en(77813).CSSRule,CSSGroupingRule:en(4644).CSSGroupingRule,CSSConditionRule:en(11140).CSSConditionRule,MediaList:en(92044).MediaList};tn.CSSMediaRule=function CSSMediaRule(){tn.CSSConditionRule.call(this);this.media=new tn.MediaList};tn.CSSMediaRule.prototype=new tn.CSSConditionRule;tn.CSSMediaRule.prototype.constructor=tn.CSSMediaRule;tn.CSSMediaRule.prototype.type=4;Object.defineProperties(tn.CSSMediaRule.prototype,{conditionText:{get:function(){return this.media.mediaText},set:function(Wt){this.media.mediaText=Wt},configurable:true,enumerable:true},cssText:{get:function(){var Wt=[];for(var Pt=0,en=this.cssRules.length;Pt{var en={};en.CSSRule=function CSSRule(){this.parentRule=null;this.parentStyleSheet=null};en.CSSRule.UNKNOWN_RULE=0;en.CSSRule.STYLE_RULE=1;en.CSSRule.CHARSET_RULE=2;en.CSSRule.IMPORT_RULE=3;en.CSSRule.MEDIA_RULE=4;en.CSSRule.FONT_FACE_RULE=5;en.CSSRule.PAGE_RULE=6;en.CSSRule.KEYFRAMES_RULE=7;en.CSSRule.KEYFRAME_RULE=8;en.CSSRule.MARGIN_RULE=9;en.CSSRule.NAMESPACE_RULE=10;en.CSSRule.COUNTER_STYLE_RULE=11;en.CSSRule.SUPPORTS_RULE=12;en.CSSRule.DOCUMENT_RULE=13;en.CSSRule.FONT_FEATURE_VALUES_RULE=14;en.CSSRule.VIEWPORT_RULE=15;en.CSSRule.REGION_STYLE_RULE=16;en.CSSRule.CONTAINER_RULE=17;en.CSSRule.STARTING_STYLE_RULE=1002;en.CSSRule.prototype={constructor:en.CSSRule};Pt.CSSRule=en.CSSRule},30192:(Wt,Pt,en)=>{var tn={CSSRule:en(77813).CSSRule};tn.CSSStartingStyleRule=function CSSStartingStyleRule(){tn.CSSRule.call(this);this.cssRules=[]};tn.CSSStartingStyleRule.prototype=new tn.CSSRule;tn.CSSStartingStyleRule.prototype.constructor=tn.CSSStartingStyleRule;tn.CSSStartingStyleRule.prototype.type=1002;Object.defineProperty(tn.CSSStartingStyleRule.prototype,"cssText",{get:function(){var Wt=[];for(var Pt=0,en=this.cssRules.length;Pt{var tn={};tn.CSSStyleDeclaration=function CSSStyleDeclaration(){this.length=0;this.parentRule=null;this._importants={}};tn.CSSStyleDeclaration.prototype={constructor:tn.CSSStyleDeclaration,getPropertyValue:function(Wt){return this[Wt]||""},setProperty:function(Wt,Pt,en){if(this[Wt]){var tn=Array.prototype.indexOf.call(this,Wt);if(tn<0){this[this.length]=Wt;this.length++}}else{this[this.length]=Wt;this.length++}this[Wt]=Pt+"";this._importants[Wt]=en},removeProperty:function(Wt){if(!(Wt in this)){return""}var Pt=Array.prototype.indexOf.call(this,Wt);if(Pt<0){return""}var en=this[Wt];this[Wt]="";Array.prototype.splice.call(this,Pt,1);return en},getPropertyCSSValue:function(){},getPropertyPriority:function(Wt){return this._importants[Wt]||""},getPropertyShorthand:function(){},isPropertyImplicit:function(){},get cssText(){var Wt=[];for(var Pt=0,en=this.length;Pt{var tn={CSSStyleDeclaration:en(80692).CSSStyleDeclaration,CSSRule:en(77813).CSSRule};tn.CSSStyleRule=function CSSStyleRule(){tn.CSSRule.call(this);this.selectorText="";this.style=new tn.CSSStyleDeclaration;this.style.parentRule=this};tn.CSSStyleRule.prototype=new tn.CSSRule;tn.CSSStyleRule.prototype.constructor=tn.CSSStyleRule;tn.CSSStyleRule.prototype.type=1;Object.defineProperty(tn.CSSStyleRule.prototype,"cssText",{get:function(){var Wt;if(this.selectorText){Wt=this.selectorText+" {"+this.style.cssText+"}"}else{Wt=""}return Wt},set:function(Wt){var Pt=tn.CSSStyleRule.parse(Wt);this.style=Pt.style;this.selectorText=Pt.selectorText}});tn.CSSStyleRule.parse=function(Wt){var Pt=0;var en="selector";var nn;var an=Pt;var In="";var rn={selector:true,value:true};var sn=new tn.CSSStyleRule;var on,cn="";for(var dn;dn=Wt.charAt(Pt);Pt++){switch(dn){case" ":case"\t":case"\r":case"\n":case"\f":if(rn[en]){switch(Wt.charAt(Pt-1)){case" ":case"\t":case"\r":case"\n":case"\f":break;default:In+=" ";break}}break;case'"':an=Pt+1;nn=Wt.indexOf('"',an)+1;if(!nn){throw'" is missing'}In+=Wt.slice(Pt,nn);Pt=nn-1;break;case"'":an=Pt+1;nn=Wt.indexOf("'",an)+1;if(!nn){throw"' is missing"}In+=Wt.slice(Pt,nn);Pt=nn-1;break;case"/":if(Wt.charAt(Pt+1)==="*"){Pt+=2;nn=Wt.indexOf("*/",Pt);if(nn===-1){throw new SyntaxError("Missing */")}else{Pt=nn+1}}else{In+=dn}break;case"{":if(en==="selector"){sn.selectorText=In.trim();In="";en="name"}break;case":":if(en==="name"){on=In.trim();In="";en="value"}else{In+=dn}break;case"!":if(en==="value"&&Wt.indexOf("!important",Pt)===Pt){cn="important";Pt+="important".length}else{In+=dn}break;case";":if(en==="value"){sn.style.setProperty(on,In.trim(),cn);cn="";In="";en="name"}else{In+=dn}break;case"}":if(en==="value"){sn.style.setProperty(on,In.trim(),cn);cn="";In=""}else if(en==="name"){break}else{In+=dn}en="selector";break;default:In+=dn;break}}return sn};Pt.CSSStyleRule=tn.CSSStyleRule},94883:(Wt,Pt,en)=>{var tn={StyleSheet:en(84742).StyleSheet,CSSStyleRule:en(59060).CSSStyleRule};tn.CSSStyleSheet=function CSSStyleSheet(){tn.StyleSheet.call(this);this.cssRules=[]};tn.CSSStyleSheet.prototype=new tn.StyleSheet;tn.CSSStyleSheet.prototype.constructor=tn.CSSStyleSheet;tn.CSSStyleSheet.prototype.insertRule=function(Wt,Pt){if(Pt<0||Pt>this.cssRules.length){throw new RangeError("INDEX_SIZE_ERR")}var en=tn.parse(Wt).cssRules[0];en.parentStyleSheet=this;this.cssRules.splice(Pt,0,en);return Pt};tn.CSSStyleSheet.prototype.deleteRule=function(Wt){if(Wt<0||Wt>=this.cssRules.length){throw new RangeError("INDEX_SIZE_ERR")}this.cssRules.splice(Wt,1)};tn.CSSStyleSheet.prototype.toString=function(){var Wt="";var Pt=this.cssRules;for(var en=0;en{var tn={CSSRule:en(77813).CSSRule,CSSGroupingRule:en(4644).CSSGroupingRule,CSSConditionRule:en(11140).CSSConditionRule};tn.CSSSupportsRule=function CSSSupportsRule(){tn.CSSConditionRule.call(this)};tn.CSSSupportsRule.prototype=new tn.CSSConditionRule;tn.CSSSupportsRule.prototype.constructor=tn.CSSSupportsRule;tn.CSSSupportsRule.prototype.type=12;Object.defineProperty(tn.CSSSupportsRule.prototype,"cssText",{get:function(){var Wt=[];for(var Pt=0,en=this.cssRules.length;Pt{var en={};en.CSSValue=function CSSValue(){};en.CSSValue.prototype={constructor:en.CSSValue,set cssText(Wt){var Pt=this._getConstructorName();throw new Error('DOMException: property "cssText" of "'+Pt+'" is readonly and can not be replaced with "'+Wt+'"!')},get cssText(){var Wt=this._getConstructorName();throw new Error('getter "cssText" of "'+Wt+'" is not implemented!')},_getConstructorName:function(){var Wt=this.constructor.toString(),Pt=Wt.match(/function\s([^\(]+)/),en=Pt[1];return en}};Pt.CSSValue=en.CSSValue},73648:(Wt,Pt,en)=>{var tn={CSSValue:en(57366).CSSValue};tn.CSSValueExpression=function CSSValueExpression(Wt,Pt){this._token=Wt;this._idx=Pt};tn.CSSValueExpression.prototype=new tn.CSSValue;tn.CSSValueExpression.prototype.constructor=tn.CSSValueExpression;tn.CSSValueExpression.prototype.parse=function(){var Wt=this._token,Pt=this._idx;var en="",tn="",nn="",an,In=[];for(;;++Pt){en=Wt.charAt(Pt);if(en===""){nn="css expression error: unfinished expression!";break}switch(en){case"(":In.push(en);tn+=en;break;case")":In.pop(en);tn+=en;break;case"/":if(an=this._parseJSComment(Wt,Pt)){if(an.error){nn="css expression error: unfinished comment in expression!"}else{Pt=an.idx}}else if(an=this._parseJSRexExp(Wt,Pt)){Pt=an.idx;tn+=an.text}else{tn+=en}break;case"'":case'"':an=this._parseJSString(Wt,Pt,en);if(an){Pt=an.idx;tn+=an.text}else{tn+=en}break;default:tn+=en;break}if(nn){break}if(In.length===0){break}}var rn;if(nn){rn={error:nn}}else{rn={idx:Pt,expression:tn}}return rn};tn.CSSValueExpression.prototype._parseJSComment=function(Wt,Pt){var en=Wt.charAt(Pt+1),tn;if(en==="/"||en==="*"){var nn=Pt,an,In;if(en==="/"){In="\n"}else if(en==="*"){In="*/"}an=Wt.indexOf(In,nn+1+1);if(an!==-1){an=an+In.length-1;tn=Wt.substring(Pt,an+1);return{idx:an,text:tn}}else{var rn="css expression error: unfinished comment in expression!";return{error:rn}}}else{return false}};tn.CSSValueExpression.prototype._parseJSString=function(Wt,Pt,en){var tn=this._findMatchedIdx(Wt,Pt,en),nn;if(tn===-1){return false}else{nn=Wt.substring(Pt,tn+en.length);return{idx:tn,text:nn}}};tn.CSSValueExpression.prototype._parseJSRexExp=function(Wt,Pt){var en=Wt.substring(0,Pt).replace(/\s+$/,""),tn=[/^$/,/\($/,/\[$/,/\!$/,/\+$/,/\-$/,/\*$/,/\/\s+/,/\%$/,/\=$/,/\>$/,/<$/,/\&$/,/\|$/,/\^$/,/\~$/,/\?$/,/\,$/,/delete$/,/in$/,/instanceof$/,/new$/,/typeof$/,/void$/];var nn=tn.some((function(Wt){return Wt.test(en)}));if(!nn){return false}else{var an="/";return this._parseJSString(Wt,Pt,an)}};tn.CSSValueExpression.prototype._findMatchedIdx=function(Wt,Pt,en){var tn=Pt,nn;var an=-1;while(true){nn=Wt.indexOf(en,tn+1);if(nn===-1){nn=an;break}else{var In=Wt.substring(Pt+1,nn),rn=In.match(/\\+$/);if(!rn||rn[0]%2===0){break}else{tn=nn}}}var sn=Wt.indexOf("\n",Pt+1);if(sn{var en={};en.MatcherList=function MatcherList(){this.length=0};en.MatcherList.prototype={constructor:en.MatcherList,get matcherText(){return Array.prototype.join.call(this,", ")},set matcherText(Wt){var Pt=Wt.split(",");var en=this.length=Pt.length;for(var tn=0;tn{var en={};en.MediaList=function MediaList(){this.length=0};en.MediaList.prototype={constructor:en.MediaList,get mediaText(){return Array.prototype.join.call(this,", ")},set mediaText(Wt){var Pt=Wt.split(",");var en=this.length=Pt.length;for(var tn=0;tn{var en={};en.StyleSheet=function StyleSheet(){this.parentStyleSheet=null};Pt.StyleSheet=en.StyleSheet},96849:(Wt,Pt,en)=>{var tn={CSSStyleSheet:en(94883).CSSStyleSheet,CSSRule:en(77813).CSSRule,CSSStyleRule:en(59060).CSSStyleRule,CSSGroupingRule:en(4644).CSSGroupingRule,CSSConditionRule:en(11140).CSSConditionRule,CSSMediaRule:en(11049).CSSMediaRule,CSSContainerRule:en(67294).CSSContainerRule,CSSSupportsRule:en(90673).CSSSupportsRule,CSSStyleDeclaration:en(80692).CSSStyleDeclaration,CSSKeyframeRule:en(67529).CSSKeyframeRule,CSSKeyframesRule:en(46212).CSSKeyframesRule};tn.clone=function clone(Wt){var Pt=new tn.CSSStyleSheet;var en=Wt.cssRules;if(!en){return Pt}for(var nn=0,an=en.length;nn{Pt.CSSStyleDeclaration=en(80692).CSSStyleDeclaration;Pt.CSSRule=en(77813).CSSRule;Pt.CSSGroupingRule=en(4644).CSSGroupingRule;Pt.CSSConditionRule=en(11140).CSSConditionRule;Pt.CSSStyleRule=en(59060).CSSStyleRule;Pt.MediaList=en(92044).MediaList;Pt.CSSMediaRule=en(11049).CSSMediaRule;Pt.CSSContainerRule=en(67294).CSSContainerRule;Pt.CSSSupportsRule=en(90673).CSSSupportsRule;Pt.CSSImportRule=en(99420).CSSImportRule;Pt.CSSFontFaceRule=en(57865).CSSFontFaceRule;Pt.CSSHostRule=en(24455).CSSHostRule;Pt.CSSStartingStyleRule=en(30192).CSSStartingStyleRule;Pt.StyleSheet=en(84742).StyleSheet;Pt.CSSStyleSheet=en(94883).CSSStyleSheet;Pt.CSSKeyframesRule=en(46212).CSSKeyframesRule;Pt.CSSKeyframeRule=en(67529).CSSKeyframeRule;Pt.MatcherList=en(4570).MatcherList;Pt.CSSDocumentRule=en(72696).CSSDocumentRule;Pt.CSSValue=en(57366).CSSValue;Pt.CSSValueExpression=en(73648).CSSValueExpression;Pt.parse=en(13759).parse;Pt.clone=en(96849).clone},13759:(Wt,Pt,en)=>{var tn={};tn.parse=function parse(Wt){var Pt=0;var en="before-selector";var nn;var an="";var In=0;var rn={selector:true,value:true,"value-parenthesis":true,atRule:true,"importRule-begin":true,importRule:true,atBlock:true,containerBlock:true,conditionBlock:true,"documentRule-begin":true};var sn=new tn.CSSStyleSheet;var on=sn;var cn;var dn=[];var un=false;var pn;var mn,bn="",Gn,hn,Zn,An,Wn,Nn,gn,yn,vn,Yn;var En=/@(-(?:\w+-)+)?keyframes/g;var parseError=function(en){var tn=Wt.substring(0,Pt).split("\n");var nn=tn.length;var an=tn.pop().length+1;var In=new Error(en+" (line "+nn+", char "+an+")");In.line=nn;In["char"]=an;In.styleSheet=sn;throw In};for(var Vn;Vn=Wt.charAt(Pt);Pt++){switch(Vn){case" ":case"\t":case"\r":case"\n":case"\f":if(rn[en]){an+=Vn}break;case'"':nn=Pt+1;do{nn=Wt.indexOf('"',nn)+1;if(!nn){parseError('Unmatched "')}}while(Wt[nn-2]==="\\");an+=Wt.slice(Pt,nn);Pt=nn-1;switch(en){case"before-value":en="value";break;case"importRule-begin":en="importRule";break}break;case"'":nn=Pt+1;do{nn=Wt.indexOf("'",nn)+1;if(!nn){parseError("Unmatched '")}}while(Wt[nn-2]==="\\");an+=Wt.slice(Pt,nn);Pt=nn-1;switch(en){case"before-value":en="value";break;case"importRule-begin":en="importRule";break}break;case"/":if(Wt.charAt(Pt+1)==="*"){Pt+=2;nn=Wt.indexOf("*/",Pt);if(nn===-1){parseError("Missing */")}else{Pt=nn+1}}else{an+=Vn}if(en==="importRule-begin"){an+=" ";en="importRule"}break;case"@":if(Wt.indexOf("@-moz-document",Pt)===Pt){en="documentRule-begin";yn=new tn.CSSDocumentRule;yn.__starts=Pt;Pt+="-moz-document".length;an="";break}else if(Wt.indexOf("@media",Pt)===Pt){en="atBlock";hn=new tn.CSSMediaRule;hn.__starts=Pt;Pt+="media".length;an="";break}else if(Wt.indexOf("@container",Pt)===Pt){en="containerBlock";Zn=new tn.CSSContainerRule;Zn.__starts=Pt;Pt+="container".length;an="";break}else if(Wt.indexOf("@supports",Pt)===Pt){en="conditionBlock";An=new tn.CSSSupportsRule;An.__starts=Pt;Pt+="supports".length;an="";break}else if(Wt.indexOf("@host",Pt)===Pt){en="hostRule-begin";Pt+="host".length;vn=new tn.CSSHostRule;vn.__starts=Pt;an="";break}else if(Wt.indexOf("@starting-style",Pt)===Pt){en="startingStyleRule-begin";Pt+="starting-style".length;Yn=new tn.CSSStartingStyleRule;Yn.__starts=Pt;an="";break}else if(Wt.indexOf("@import",Pt)===Pt){en="importRule-begin";Pt+="import".length;an+="@import";break}else if(Wt.indexOf("@font-face",Pt)===Pt){en="fontFaceRule-begin";Pt+="font-face".length;Nn=new tn.CSSFontFaceRule;Nn.__starts=Pt;an="";break}else{En.lastIndex=Pt;var Rn=En.exec(Wt);if(Rn&&Rn.index===Pt){en="keyframesRule-begin";gn=new tn.CSSKeyframesRule;gn.__starts=Pt;gn._vendorPrefix=Rn[1];Pt+=Rn[0].length-1;an="";break}else if(en==="selector"){en="atRule"}}an+=Vn;break;case"{":if(en==="selector"||en==="atRule"){Gn.selectorText=an.trim();Gn.style.__starts=Pt;an="";en="before-name"}else if(en==="atBlock"){hn.media.mediaText=an.trim();if(cn){dn.push(cn)}on=cn=hn;hn.parentStyleSheet=sn;an="";en="before-selector"}else if(en==="containerBlock"){Zn.containerText=an.trim();if(cn){dn.push(cn)}on=cn=Zn;Zn.parentStyleSheet=sn;an="";en="before-selector"}else if(en==="conditionBlock"){An.conditionText=an.trim();if(cn){dn.push(cn)}on=cn=An;An.parentStyleSheet=sn;an="";en="before-selector"}else if(en==="hostRule-begin"){if(cn){dn.push(cn)}on=cn=vn;vn.parentStyleSheet=sn;an="";en="before-selector"}else if(en==="startingStyleRule-begin"){if(cn){dn.push(cn)}on=cn=Yn;Yn.parentStyleSheet=sn;an="";en="before-selector"}else if(en==="fontFaceRule-begin"){if(cn){Nn.parentRule=cn}Nn.parentStyleSheet=sn;Gn=Nn;an="";en="before-name"}else if(en==="keyframesRule-begin"){gn.name=an.trim();if(cn){dn.push(cn);gn.parentRule=cn}gn.parentStyleSheet=sn;on=cn=gn;an="";en="keyframeRule-begin"}else if(en==="keyframeRule-begin"){Gn=new tn.CSSKeyframeRule;Gn.keyText=an.trim();Gn.__starts=Pt;an="";en="before-name"}else if(en==="documentRule-begin"){yn.matcher.matcherText=an.trim();if(cn){dn.push(cn);yn.parentRule=cn}on=cn=yn;yn.parentStyleSheet=sn;an="";en="before-selector"}break;case":":if(en==="name"){mn=an.trim();an="";en="before-value"}else{an+=Vn}break;case"(":if(en==="value"){if(an.trim()==="expression"){var wn=new tn.CSSValueExpression(Wt,Pt).parse();if(wn.error){parseError(wn.error)}else{an+=wn.expression;Pt=wn.idx}}else{en="value-parenthesis";In=1;an+=Vn}}else if(en==="value-parenthesis"){In++;an+=Vn}else{an+=Vn}break;case")":if(en==="value-parenthesis"){In--;if(In===0)en="value"}an+=Vn;break;case"!":if(en==="value"&&Wt.indexOf("!important",Pt)===Pt){bn="important";Pt+="important".length}else{an+=Vn}break;case";":switch(en){case"value":Gn.style.setProperty(mn,an.trim(),bn);bn="";an="";en="before-name";break;case"atRule":an="";en="before-selector";break;case"importRule":Wn=new tn.CSSImportRule;Wn.parentStyleSheet=Wn.styleSheet.parentStyleSheet=sn;Wn.cssText=an+Vn;sn.cssRules.push(Wn);an="";en="before-selector";break;default:an+=Vn;break}break;case"}":switch(en){case"value":Gn.style.setProperty(mn,an.trim(),bn);bn="";case"before-name":case"name":Gn.__ends=Pt+1;if(cn){Gn.parentRule=cn}Gn.parentStyleSheet=sn;on.cssRules.push(Gn);an="";if(on.constructor===tn.CSSKeyframesRule){en="keyframeRule-begin"}else{en="before-selector"}break;case"keyframeRule-begin":case"before-selector":case"selector":if(!cn){parseError("Unexpected }")}un=dn.length>0;while(dn.length>0){cn=dn.pop();if(cn.constructor.name==="CSSMediaRule"||cn.constructor.name==="CSSSupportsRule"||cn.constructor.name==="CSSContainerRule"||cn.constructor.name==="CSSStartingStyleRule"){pn=on;on=cn;on.cssRules.push(pn);break}if(dn.length===0){un=false}}if(!un){on.__ends=Pt+1;sn.cssRules.push(on);on=sn;cn=null}an="";en="before-selector";break}break;default:switch(en){case"before-selector":en="selector";Gn=new tn.CSSStyleRule;Gn.__starts=Pt;break;case"before-name":en="name";break;case"before-value":en="value";break;case"importRule-begin":en="importRule";break}an+=Vn;break}}return sn};Pt.parse=tn.parse;tn.CSSStyleSheet=en(94883).CSSStyleSheet;tn.CSSStyleRule=en(59060).CSSStyleRule;tn.CSSImportRule=en(99420).CSSImportRule;tn.CSSGroupingRule=en(4644).CSSGroupingRule;tn.CSSMediaRule=en(11049).CSSMediaRule;tn.CSSContainerRule=en(67294).CSSContainerRule;tn.CSSConditionRule=en(11140).CSSConditionRule;tn.CSSSupportsRule=en(90673).CSSSupportsRule;tn.CSSFontFaceRule=en(57865).CSSFontFaceRule;tn.CSSHostRule=en(24455).CSSHostRule;tn.CSSStartingStyleRule=en(30192).CSSStartingStyleRule;tn.CSSStyleDeclaration=en(80692).CSSStyleDeclaration;tn.CSSKeyframeRule=en(67529).CSSKeyframeRule;tn.CSSKeyframesRule=en(46212).CSSKeyframesRule;tn.CSSValueExpression=en(73648).CSSValueExpression;tn.CSSDocumentRule=en(72696).CSSDocumentRule},32946:(Wt,Pt,en)=>{const tn=en(59344);const{parseURL:nn,serializeURL:an,percentDecodeString:In}=en(78012);const{stripLeadingAndTrailingASCIIWhitespace:rn,isomorphicDecode:sn,forgivingBase64Decode:on}=en(92424);Wt.exports=Pt=>{const en=nn(Pt);if(en===null){return null}return Wt.exports.fromURLRecord(en)};Wt.exports.fromURLRecord=Wt=>{if(Wt.scheme!=="data"){return null}const Pt=an(Wt,true).substring("data:".length);let en=0;let nn="";while(en{Pt.stripLeadingAndTrailingASCIIWhitespace=Wt=>Wt.replace(/^[ \t\n\f\r]+/u,"").replace(/[ \t\n\f\r]+$/u,"");Pt.isomorphicDecode=Wt=>Array.from(Wt,(Wt=>String.fromCodePoint(Wt))).join("");Pt.forgivingBase64Decode=Wt=>{let Pt;try{Pt=atob(Wt)}catch{return null}return Uint8Array.from(Pt,(Wt=>Wt.codePointAt(0)))}},6110:(Wt,Pt,en)=>{Pt.formatArgs=formatArgs;Pt.save=save;Pt.load=load;Pt.useColors=useColors;Pt.storage=localstorage();Pt.destroy=(()=>{let Wt=false;return()=>{if(!Wt){Wt=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`.")}}})();Pt.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 Wt;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&&(Wt=navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/))&&parseInt(Wt[1],10)>=31||typeof navigator!=="undefined"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)}function formatArgs(Pt){Pt[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+Pt[0]+(this.useColors?"%c ":" ")+"+"+Wt.exports.humanize(this.diff);if(!this.useColors){return}const en="color: "+this.color;Pt.splice(1,0,en,"color: inherit");let tn=0;let nn=0;Pt[0].replace(/%[a-zA-Z%]/g,(Wt=>{if(Wt==="%%"){return}tn++;if(Wt==="%c"){nn=tn}}));Pt.splice(nn,0,en)}Pt.log=console.debug||console.log||(()=>{});function save(Wt){try{if(Wt){Pt.storage.setItem("debug",Wt)}else{Pt.storage.removeItem("debug")}}catch(Wt){}}function load(){let Wt;try{Wt=Pt.storage.getItem("debug")}catch(Wt){}if(!Wt&&typeof process!=="undefined"&&"env"in process){Wt=process.env.DEBUG}return Wt}function localstorage(){try{return localStorage}catch(Wt){}}Wt.exports=en(40897)(Pt);const{formatters:tn}=Wt.exports;tn.j=function(Wt){try{return JSON.stringify(Wt)}catch(Wt){return"[UnexpectedJSONParseError]: "+Wt.message}}},40897:(Wt,Pt,en)=>{function setup(Wt){createDebug.debug=createDebug;createDebug.default=createDebug;createDebug.coerce=coerce;createDebug.disable=disable;createDebug.enable=enable;createDebug.enabled=enabled;createDebug.humanize=en(70744);createDebug.destroy=destroy;Object.keys(Wt).forEach((Pt=>{createDebug[Pt]=Wt[Pt]}));createDebug.names=[];createDebug.skips=[];createDebug.formatters={};function selectColor(Wt){let Pt=0;for(let en=0;en{if(Pt==="%%"){return"%"}an++;const nn=createDebug.formatters[tn];if(typeof nn==="function"){const tn=Wt[an];Pt=nn.call(en,tn);Wt.splice(an,1);an--}return Pt}));createDebug.formatArgs.call(en,Wt);const In=en.log||createDebug.log;In.apply(en,Wt)}debug.namespace=Wt;debug.useColors=createDebug.useColors();debug.color=createDebug.selectColor(Wt);debug.extend=extend;debug.destroy=createDebug.destroy;Object.defineProperty(debug,"enabled",{enumerable:true,configurable:false,get:()=>{if(en!==null){return en}if(tn!==createDebug.namespaces){tn=createDebug.namespaces;nn=createDebug.enabled(Wt)}return nn},set:Wt=>{en=Wt}});if(typeof createDebug.init==="function"){createDebug.init(debug)}return debug}function extend(Wt,Pt){const en=createDebug(this.namespace+(typeof Pt==="undefined"?":":Pt)+Wt);en.log=this.log;return en}function enable(Wt){createDebug.save(Wt);createDebug.namespaces=Wt;createDebug.names=[];createDebug.skips=[];const Pt=(typeof Wt==="string"?Wt:"").trim().replace(" ",",").split(",").filter(Boolean);for(const Wt of Pt){if(Wt[0]==="-"){createDebug.skips.push(Wt.slice(1))}else{createDebug.names.push(Wt)}}}function matchesTemplate(Wt,Pt){let en=0;let tn=0;let nn=-1;let an=0;while(en"-"+Wt))].join(",");createDebug.enable("");return Wt}function enabled(Wt){for(const Pt of createDebug.skips){if(matchesTemplate(Wt,Pt)){return false}}for(const Pt of createDebug.names){if(matchesTemplate(Wt,Pt)){return true}}return false}function coerce(Wt){if(Wt instanceof Error){return Wt.stack||Wt.message}return Wt}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}Wt.exports=setup},2830:(Wt,Pt,en)=>{if(typeof process==="undefined"||process.type==="renderer"||process.browser===true||process.__nwjs){Wt.exports=en(6110)}else{Wt.exports=en(95108)}},95108:(Wt,Pt,en)=>{const tn=en(52018);const nn=en(39023);Pt.init=init;Pt.log=log;Pt.formatArgs=formatArgs;Pt.save=save;Pt.load=load;Pt.useColors=useColors;Pt.destroy=nn.deprecate((()=>{}),"Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.");Pt.colors=[6,2,3,4,5,1];try{const Wt=en(21450);if(Wt&&(Wt.stderr||Wt).level>=2){Pt.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(Wt){}Pt.inspectOpts=Object.keys(process.env).filter((Wt=>/^debug_/i.test(Wt))).reduce(((Wt,Pt)=>{const en=Pt.substring(6).toLowerCase().replace(/_([a-z])/g,((Wt,Pt)=>Pt.toUpperCase()));let tn=process.env[Pt];if(/^(yes|on|true|enabled)$/i.test(tn)){tn=true}else if(/^(no|off|false|disabled)$/i.test(tn)){tn=false}else if(tn==="null"){tn=null}else{tn=Number(tn)}Wt[en]=tn;return Wt}),{});function useColors(){return"colors"in Pt.inspectOpts?Boolean(Pt.inspectOpts.colors):tn.isatty(process.stderr.fd)}function formatArgs(Pt){const{namespace:en,useColors:tn}=this;if(tn){const tn=this.color;const nn="[3"+(tn<8?tn:"8;5;"+tn);const an=` ${nn};1m${en} `;Pt[0]=an+Pt[0].split("\n").join("\n"+an);Pt.push(nn+"m+"+Wt.exports.humanize(this.diff)+"")}else{Pt[0]=getDate()+en+" "+Pt[0]}}function getDate(){if(Pt.inspectOpts.hideDate){return""}return(new Date).toISOString()+" "}function log(...Wt){return process.stderr.write(nn.formatWithOptions(Pt.inspectOpts,...Wt)+"\n")}function save(Wt){if(Wt){process.env.DEBUG=Wt}else{delete process.env.DEBUG}}function load(){return process.env.DEBUG}function init(Wt){Wt.inspectOpts={};const en=Object.keys(Pt.inspectOpts);for(let tn=0;tnWt.trim())).join(" ")};an.O=function(Wt){this.inspectOpts.colors=this.useColors;return nn.inspect(Wt,this.inspectOpts)}},92183:function(Wt){(function(Pt){"use strict"; +/*! + * decimal.js v10.4.3 + * An arbitrary-precision Decimal type for JavaScript. + * https://github.com/MikeMcl/decimal.js + * Copyright (c) 2022 Michael Mclaughlin + * MIT Licence + */var en=9e15,tn=1e9,nn="0123456789abcdef",an="2.3025850929940456840179914546843642076011014886287729760333279009675726096773524802359972050895982983419677840422862486334095254650828067566662873690987816894829072083255546808437998948262331985283935053089653777326288461633662222876982198867465436674744042432743651550489343149393914796194044002221051017141748003688084012647080685567743216228355220114804663715659121373450747856947683463616792101806445070648000277502684916746550586856935673420670581136429224554405758925724208241314695689016758940256776311356919292033376587141660230105703089634572075440370847469940168269282808481184289314848524948644871927809676271275775397027668605952496716674183485704422507197965004714951050492214776567636938662976979522110718264549734772662425709429322582798502585509785265383207606726317164309505995087807523710333101197857547331541421808427543863591778117054309827482385045648019095610299291824318237525357709750539565187697510374970888692180205189339507238539205144634197265287286965110862571492198849978748873771345686209167058",In="3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679821480865132823066470938446095505822317253594081284811174502841027019385211055596446229489549303819644288109756659334461284756482337867831652712019091456485669234603486104543266482133936072602491412737245870066063155881748815209209628292540917153643678925903600113305305488204665213841469519415116094330572703657595919530921861173819326117931051185480744623799627495673518857527248912279381830119491298336733624406566430860213949463952247371907021798609437027705392171762931767523846748184676694051320005681271452635608277857713427577896091736371787214684409012249534301465495853710507922796892589235420199561121290219608640344181598136297747713099605187072113499999983729780499510597317328160963185950244594553469083026425223082533446850352619311881710100031378387528865875332083814206171776691473035982534904287554687311595628638823537875937519577818577805321712268066130019278766111959092164201989380952572010654858632789",rn={precision:20,rounding:4,modulo:1,toExpNeg:-7,toExpPos:21,minE:-en,maxE:en,crypto:false},sn,on,cn,dn,un=true,pn="[DecimalError] ",mn=pn+"Invalid argument: ",bn=pn+"Precision limit exceeded",Gn=pn+"crypto unavailable",hn="[object Decimal]",Zn=Math.floor,An=Math.pow,Wn=/^0b([01]+(\.[01]*)?|\.[01]+)(p[+-]?\d+)?$/i,Nn=/^0x([0-9a-f]+(\.[0-9a-f]*)?|\.[0-9a-f]+)(p[+-]?\d+)?$/i,gn=/^0o([0-7]+(\.[0-7]*)?|\.[0-7]+)(p[+-]?\d+)?$/i,yn=/^(\d+(\.\d*)?|\.\d+)(e[+-]?\d+)?$/i,vn=1e7,Yn=7,En=9007199254740991,Vn=an.length-1,Rn=In.length-1,wn={toStringTag:hn};wn.absoluteValue=wn.abs=function(){var Wt=new this.constructor(this);if(Wt.s<0)Wt.s=1;return finalise(Wt)};wn.ceil=function(){return finalise(new this.constructor(this),this.e+1,2)};wn.clampedTo=wn.clamp=function(Wt,Pt){var en,tn=this,nn=tn.constructor;Wt=new nn(Wt);Pt=new nn(Pt);if(!Wt.s||!Pt.s)return new nn(NaN);if(Wt.gt(Pt))throw Error(mn+Pt);en=tn.cmp(Wt);return en<0?Wt:tn.cmp(Pt)>0?Pt:new nn(tn)};wn.comparedTo=wn.cmp=function(Wt){var Pt,en,tn,nn,an=this,In=an.d,rn=(Wt=new an.constructor(Wt)).d,sn=an.s,on=Wt.s;if(!In||!rn){return!sn||!on?NaN:sn!==on?sn:In===rn?0:!In^sn<0?1:-1}if(!In[0]||!rn[0])return In[0]?sn:rn[0]?-on:0;if(sn!==on)return sn;if(an.e!==Wt.e)return an.e>Wt.e^sn<0?1:-1;tn=In.length;nn=rn.length;for(Pt=0,en=tnrn[Pt]^sn<0?1:-1}return tn===nn?0:tn>nn^sn<0?1:-1};wn.cosine=wn.cos=function(){var Wt,Pt,en=this,tn=en.constructor;if(!en.d)return new tn(NaN);if(!en.d[0])return new tn(1);Wt=tn.precision;Pt=tn.rounding;tn.precision=Wt+Math.max(en.e,en.sd())+Yn;tn.rounding=1;en=cosine(tn,toLessThanHalfPi(tn,en));tn.precision=Wt;tn.rounding=Pt;return finalise(dn==2||dn==3?en.neg():en,Wt,Pt,true)};wn.cubeRoot=wn.cbrt=function(){var Wt,Pt,en,tn,nn,an,In,rn,sn,on,cn=this,dn=cn.constructor;if(!cn.isFinite()||cn.isZero())return new dn(cn);un=false;an=cn.s*An(cn.s*cn,1/3);if(!an||Math.abs(an)==1/0){en=digitsToString(cn.d);Wt=cn.e;if(an=(Wt-en.length+1)%3)en+=an==1||an==-2?"0":"00";an=An(en,1/3);Wt=Zn((Wt+1)/3)-(Wt%3==(Wt<0?-1:2));if(an==1/0){en="5e"+Wt}else{en=an.toExponential();en=en.slice(0,en.indexOf("e")+1)+Wt}tn=new dn(en);tn.s=cn.s}else{tn=new dn(an.toString())}In=(Wt=dn.precision)+3;for(;;){rn=tn;sn=rn.times(rn).times(rn);on=sn.plus(cn);tn=Fn(on.plus(cn).times(rn),on.plus(sn),In+2,1);if(digitsToString(rn.d).slice(0,In)===(en=digitsToString(tn.d)).slice(0,In)){en=en.slice(In-3,In+1);if(en=="9999"||!nn&&en=="4999"){if(!nn){finalise(rn,Wt+1,0);if(rn.times(rn).times(rn).eq(cn)){tn=rn;break}}In+=4;nn=1}else{if(!+en||!+en.slice(1)&&en.charAt(0)=="5"){finalise(tn,Wt+1,1);Pt=!tn.times(tn).times(tn).eq(cn)}break}}}un=true;return finalise(tn,Wt,dn.rounding,Pt)};wn.decimalPlaces=wn.dp=function(){var Wt,Pt=this.d,en=NaN;if(Pt){Wt=Pt.length-1;en=(Wt-Zn(this.e/Yn))*Yn;Wt=Pt[Wt];if(Wt)for(;Wt%10==0;Wt/=10)en--;if(en<0)en=0}return en};wn.dividedBy=wn.div=function(Wt){return Fn(this,new this.constructor(Wt))};wn.dividedToIntegerBy=wn.divToInt=function(Wt){var Pt=this,en=Pt.constructor;return finalise(Fn(Pt,new en(Wt),0,1,1),en.precision,en.rounding)};wn.equals=wn.eq=function(Wt){return this.cmp(Wt)===0};wn.floor=function(){return finalise(new this.constructor(this),this.e+1,3)};wn.greaterThan=wn.gt=function(Wt){return this.cmp(Wt)>0};wn.greaterThanOrEqualTo=wn.gte=function(Wt){var Pt=this.cmp(Wt);return Pt==1||Pt===0};wn.hyperbolicCosine=wn.cosh=function(){var Wt,Pt,en,tn,nn,an=this,In=an.constructor,rn=new In(1);if(!an.isFinite())return new In(an.s?1/0:NaN);if(an.isZero())return rn;en=In.precision;tn=In.rounding;In.precision=en+Math.max(an.e,an.sd())+4;In.rounding=1;nn=an.d.length;if(nn<32){Wt=Math.ceil(nn/3);Pt=(1/tinyPow(4,Wt)).toString()}else{Wt=16;Pt="2.3283064365386962890625e-10"}an=taylorSeries(In,1,an.times(Pt),new In(1),true);var sn,on=Wt,cn=new In(8);for(;on--;){sn=an.times(an);an=rn.minus(sn.times(cn.minus(sn.times(cn))))}return finalise(an,In.precision=en,In.rounding=tn,true)};wn.hyperbolicSine=wn.sinh=function(){var Wt,Pt,en,tn,nn=this,an=nn.constructor;if(!nn.isFinite()||nn.isZero())return new an(nn);Pt=an.precision;en=an.rounding;an.precision=Pt+Math.max(nn.e,nn.sd())+4;an.rounding=1;tn=nn.d.length;if(tn<3){nn=taylorSeries(an,2,nn,nn,true)}else{Wt=1.4*Math.sqrt(tn);Wt=Wt>16?16:Wt|0;nn=nn.times(1/tinyPow(5,Wt));nn=taylorSeries(an,2,nn,nn,true);var In,rn=new an(5),sn=new an(16),on=new an(20);for(;Wt--;){In=nn.times(nn);nn=nn.times(rn.plus(In.times(sn.times(In).plus(on))))}}an.precision=Pt;an.rounding=en;return finalise(nn,Pt,en,true)};wn.hyperbolicTangent=wn.tanh=function(){var Wt,Pt,en=this,tn=en.constructor;if(!en.isFinite())return new tn(en.s);if(en.isZero())return new tn(en);Wt=tn.precision;Pt=tn.rounding;tn.precision=Wt+7;tn.rounding=1;return Fn(en.sinh(),en.cosh(),tn.precision=Wt,tn.rounding=Pt)};wn.inverseCosine=wn.acos=function(){var Wt,Pt=this,en=Pt.constructor,tn=Pt.abs().cmp(1),nn=en.precision,an=en.rounding;if(tn!==-1){return tn===0?Pt.isNeg()?getPi(en,nn,an):new en(0):new en(NaN)}if(Pt.isZero())return getPi(en,nn+4,an).times(.5);en.precision=nn+6;en.rounding=1;Pt=Pt.asin();Wt=getPi(en,nn+4,an).times(.5);en.precision=nn;en.rounding=an;return Wt.minus(Pt)};wn.inverseHyperbolicCosine=wn.acosh=function(){var Wt,Pt,en=this,tn=en.constructor;if(en.lte(1))return new tn(en.eq(1)?0:NaN);if(!en.isFinite())return new tn(en);Wt=tn.precision;Pt=tn.rounding;tn.precision=Wt+Math.max(Math.abs(en.e),en.sd())+4;tn.rounding=1;un=false;en=en.times(en).minus(1).sqrt().plus(en);un=true;tn.precision=Wt;tn.rounding=Pt;return en.ln()};wn.inverseHyperbolicSine=wn.asinh=function(){var Wt,Pt,en=this,tn=en.constructor;if(!en.isFinite()||en.isZero())return new tn(en);Wt=tn.precision;Pt=tn.rounding;tn.precision=Wt+2*Math.max(Math.abs(en.e),en.sd())+6;tn.rounding=1;un=false;en=en.times(en).plus(1).sqrt().plus(en);un=true;tn.precision=Wt;tn.rounding=Pt;return en.ln()};wn.inverseHyperbolicTangent=wn.atanh=function(){var Wt,Pt,en,tn,nn=this,an=nn.constructor;if(!nn.isFinite())return new an(NaN);if(nn.e>=0)return new an(nn.abs().eq(1)?nn.s/0:nn.isZero()?nn:NaN);Wt=an.precision;Pt=an.rounding;tn=nn.sd();if(Math.max(tn,Wt)<2*-nn.e-1)return finalise(new an(nn),Wt,Pt,true);an.precision=en=tn-nn.e;nn=Fn(nn.plus(1),new an(1).minus(nn),en+Wt,1);an.precision=Wt+4;an.rounding=1;nn=nn.ln();an.precision=Wt;an.rounding=Pt;return nn.times(.5)};wn.inverseSine=wn.asin=function(){var Wt,Pt,en,tn,nn=this,an=nn.constructor;if(nn.isZero())return new an(nn);Pt=nn.abs().cmp(1);en=an.precision;tn=an.rounding;if(Pt!==-1){if(Pt===0){Wt=getPi(an,en+4,tn).times(.5);Wt.s=nn.s;return Wt}return new an(NaN)}an.precision=en+6;an.rounding=1;nn=nn.div(new an(1).minus(nn.times(nn)).sqrt().plus(1)).atan();an.precision=en;an.rounding=tn;return nn.times(2)};wn.inverseTangent=wn.atan=function(){var Wt,Pt,en,tn,nn,an,In,rn,sn,on=this,cn=on.constructor,dn=cn.precision,pn=cn.rounding;if(!on.isFinite()){if(!on.s)return new cn(NaN);if(dn+4<=Rn){In=getPi(cn,dn+4,pn).times(.5);In.s=on.s;return In}}else if(on.isZero()){return new cn(on)}else if(on.abs().eq(1)&&dn+4<=Rn){In=getPi(cn,dn+4,pn).times(.25);In.s=on.s;return In}cn.precision=rn=dn+10;cn.rounding=1;en=Math.min(28,rn/Yn+2|0);for(Wt=en;Wt;--Wt)on=on.div(on.times(on).plus(1).sqrt().plus(1));un=false;Pt=Math.ceil(rn/Yn);tn=1;sn=on.times(on);In=new cn(on);nn=on;for(;Wt!==-1;){nn=nn.times(sn);an=In.minus(nn.div(tn+=2));nn=nn.times(sn);In=an.plus(nn.div(tn+=2));if(In.d[Pt]!==void 0)for(Wt=Pt;In.d[Wt]===an.d[Wt]&&Wt--;);}if(en)In=In.times(2<this.d.length-2};wn.isNaN=function(){return!this.s};wn.isNegative=wn.isNeg=function(){return this.s<0};wn.isPositive=wn.isPos=function(){return this.s>0};wn.isZero=function(){return!!this.d&&this.d[0]===0};wn.lessThan=wn.lt=function(Wt){return this.cmp(Wt)<0};wn.lessThanOrEqualTo=wn.lte=function(Wt){return this.cmp(Wt)<1};wn.logarithm=wn.log=function(Wt){var Pt,en,tn,nn,an,In,rn,sn,on=this,cn=on.constructor,dn=cn.precision,pn=cn.rounding,mn=5;if(Wt==null){Wt=new cn(10);Pt=true}else{Wt=new cn(Wt);en=Wt.d;if(Wt.s<0||!en||!en[0]||Wt.eq(1))return new cn(NaN);Pt=Wt.eq(10)}en=on.d;if(on.s<0||!en||!en[0]||on.eq(1)){return new cn(en&&!en[0]?-1/0:on.s!=1?NaN:en?0:1/0)}if(Pt){if(en.length>1){an=true}else{for(nn=en[0];nn%10===0;)nn/=10;an=nn!==1}}un=false;rn=dn+mn;In=naturalLogarithm(on,rn);tn=Pt?getLn10(cn,rn+10):naturalLogarithm(Wt,rn);sn=Fn(In,tn,rn,1);if(checkRoundingDigits(sn.d,nn=dn,pn)){do{rn+=10;In=naturalLogarithm(on,rn);tn=Pt?getLn10(cn,rn+10):naturalLogarithm(Wt,rn);sn=Fn(In,tn,rn,1);if(!an){if(+digitsToString(sn.d).slice(nn+1,nn+15)+1==1e14){sn=finalise(sn,dn+1,0)}break}}while(checkRoundingDigits(sn.d,nn+=10,pn))}un=true;return finalise(sn,dn,pn)};wn.minus=wn.sub=function(Wt){var Pt,en,tn,nn,an,In,rn,sn,on,cn,dn,pn,mn=this,bn=mn.constructor;Wt=new bn(Wt);if(!mn.d||!Wt.d){if(!mn.s||!Wt.s)Wt=new bn(NaN);else if(mn.d)Wt.s=-Wt.s;else Wt=new bn(Wt.d||mn.s!==Wt.s?mn:NaN);return Wt}if(mn.s!=Wt.s){Wt.s=-Wt.s;return mn.plus(Wt)}on=mn.d;pn=Wt.d;rn=bn.precision;sn=bn.rounding;if(!on[0]||!pn[0]){if(pn[0])Wt.s=-Wt.s;else if(on[0])Wt=new bn(mn);else return new bn(sn===3?-0:0);return un?finalise(Wt,rn,sn):Wt}en=Zn(Wt.e/Yn);cn=Zn(mn.e/Yn);on=on.slice();an=cn-en;if(an){dn=an<0;if(dn){Pt=on;an=-an;In=pn.length}else{Pt=pn;en=cn;In=on.length}tn=Math.max(Math.ceil(rn/Yn),In)+2;if(an>tn){an=tn;Pt.length=1}Pt.reverse();for(tn=an;tn--;)Pt.push(0);Pt.reverse()}else{tn=on.length;In=pn.length;dn=tn0;--tn)on[In++]=0;for(tn=pn.length;tn>an;){if(on[--tn]In?an+1:In+1;if(nn>In){nn=In;en.length=1}en.reverse();for(;nn--;)en.push(0);en.reverse()}In=on.length;nn=cn.length;if(In-nn<0){nn=In;en=cn;cn=on;on=en}for(Pt=0;nn;){Pt=(on[--nn]=on[nn]+cn[nn]+Pt)/vn|0;on[nn]%=vn}if(Pt){on.unshift(Pt);++tn}for(In=on.length;on[--In]==0;)on.pop();Wt.d=on;Wt.e=getBase10Exponent(on,tn);return un?finalise(Wt,rn,sn):Wt};wn.precision=wn.sd=function(Wt){var Pt,en=this;if(Wt!==void 0&&Wt!==!!Wt&&Wt!==1&&Wt!==0)throw Error(mn+Wt);if(en.d){Pt=getPrecision(en.d);if(Wt&&en.e+1>Pt)Pt=en.e+1}else{Pt=NaN}return Pt};wn.round=function(){var Wt=this,Pt=Wt.constructor;return finalise(new Pt(Wt),Wt.e+1,Pt.rounding)};wn.sine=wn.sin=function(){var Wt,Pt,en=this,tn=en.constructor;if(!en.isFinite())return new tn(NaN);if(en.isZero())return new tn(en);Wt=tn.precision;Pt=tn.rounding;tn.precision=Wt+Math.max(en.e,en.sd())+Yn;tn.rounding=1;en=sine(tn,toLessThanHalfPi(tn,en));tn.precision=Wt;tn.rounding=Pt;return finalise(dn>2?en.neg():en,Wt,Pt,true)};wn.squareRoot=wn.sqrt=function(){var Wt,Pt,en,tn,nn,an,In=this,rn=In.d,sn=In.e,on=In.s,cn=In.constructor;if(on!==1||!rn||!rn[0]){return new cn(!on||on<0&&(!rn||rn[0])?NaN:rn?In:1/0)}un=false;on=Math.sqrt(+In);if(on==0||on==1/0){Pt=digitsToString(rn);if((Pt.length+sn)%2==0)Pt+="0";on=Math.sqrt(Pt);sn=Zn((sn+1)/2)-(sn<0||sn%2);if(on==1/0){Pt="5e"+sn}else{Pt=on.toExponential();Pt=Pt.slice(0,Pt.indexOf("e")+1)+sn}tn=new cn(Pt)}else{tn=new cn(on.toString())}en=(sn=cn.precision)+3;for(;;){an=tn;tn=an.plus(Fn(In,an,en+2,1)).times(.5);if(digitsToString(an.d).slice(0,en)===(Pt=digitsToString(tn.d)).slice(0,en)){Pt=Pt.slice(en-3,en+1);if(Pt=="9999"||!nn&&Pt=="4999"){if(!nn){finalise(an,sn+1,0);if(an.times(an).eq(In)){tn=an;break}}en+=4;nn=1}else{if(!+Pt||!+Pt.slice(1)&&Pt.charAt(0)=="5"){finalise(tn,sn+1,1);Wt=!tn.times(tn).eq(In)}break}}}un=true;return finalise(tn,sn,cn.rounding,Wt)};wn.tangent=wn.tan=function(){var Wt,Pt,en=this,tn=en.constructor;if(!en.isFinite())return new tn(NaN);if(en.isZero())return new tn(en);Wt=tn.precision;Pt=tn.rounding;tn.precision=Wt+10;tn.rounding=1;en=en.sin();en.s=1;en=Fn(en,new tn(1).minus(en.times(en)).sqrt(),Wt+10,0);tn.precision=Wt;tn.rounding=Pt;return finalise(dn==2||dn==4?en.neg():en,Wt,Pt,true)};wn.times=wn.mul=function(Wt){var Pt,en,tn,nn,an,In,rn,sn,on,cn=this,dn=cn.constructor,pn=cn.d,mn=(Wt=new dn(Wt)).d;Wt.s*=cn.s;if(!pn||!pn[0]||!mn||!mn[0]){return new dn(!Wt.s||pn&&!pn[0]&&!mn||mn&&!mn[0]&&!pn?NaN:!pn||!mn?Wt.s/0:Wt.s*0)}en=Zn(cn.e/Yn)+Zn(Wt.e/Yn);sn=pn.length;on=mn.length;if(sn=0;){Pt=0;for(nn=sn+tn;nn>tn;){rn=an[nn]+mn[tn]*pn[nn-tn-1]+Pt;an[nn--]=rn%vn|0;Pt=rn/vn|0}an[nn]=(an[nn]+Pt)%vn|0}for(;!an[--In];)an.pop();if(Pt)++en;else an.shift();Wt.d=an;Wt.e=getBase10Exponent(an,en);return un?finalise(Wt,dn.precision,dn.rounding):Wt};wn.toBinary=function(Wt,Pt){return toStringBinary(this,2,Wt,Pt)};wn.toDecimalPlaces=wn.toDP=function(Wt,Pt){var en=this,nn=en.constructor;en=new nn(en);if(Wt===void 0)return en;checkInt32(Wt,0,tn);if(Pt===void 0)Pt=nn.rounding;else checkInt32(Pt,0,8);return finalise(en,Wt+en.e+1,Pt)};wn.toExponential=function(Wt,Pt){var en,nn=this,an=nn.constructor;if(Wt===void 0){en=finiteToString(nn,true)}else{checkInt32(Wt,0,tn);if(Pt===void 0)Pt=an.rounding;else checkInt32(Pt,0,8);nn=finalise(new an(nn),Wt+1,Pt);en=finiteToString(nn,true,Wt+1)}return nn.isNeg()&&!nn.isZero()?"-"+en:en};wn.toFixed=function(Wt,Pt){var en,nn,an=this,In=an.constructor;if(Wt===void 0){en=finiteToString(an)}else{checkInt32(Wt,0,tn);if(Pt===void 0)Pt=In.rounding;else checkInt32(Pt,0,8);nn=finalise(new In(an),Wt+an.e+1,Pt);en=finiteToString(nn,false,Wt+nn.e+1)}return an.isNeg()&&!an.isZero()?"-"+en:en};wn.toFraction=function(Wt){var Pt,en,tn,nn,an,In,rn,sn,on,cn,dn,pn,bn=this,Gn=bn.d,hn=bn.constructor;if(!Gn)return new hn(bn);on=en=new hn(1);tn=sn=new hn(0);Pt=new hn(tn);an=Pt.e=getPrecision(Gn)-bn.e-1;In=an%Yn;Pt.d[0]=An(10,In<0?Yn+In:In);if(Wt==null){Wt=an>0?Pt:on}else{rn=new hn(Wt);if(!rn.isInt()||rn.lt(on))throw Error(mn+rn);Wt=rn.gt(Pt)?an>0?Pt:on:rn}un=false;rn=new hn(digitsToString(Gn));cn=hn.precision;hn.precision=an=Gn.length*Yn*2;for(;;){dn=Fn(rn,Pt,0,1,1);nn=en.plus(dn.times(tn));if(nn.cmp(Wt)==1)break;en=tn;tn=nn;nn=on;on=sn.plus(dn.times(nn));sn=nn;nn=Pt;Pt=rn.minus(dn.times(nn));rn=nn}nn=Fn(Wt.minus(en),tn,0,1,1);sn=sn.plus(nn.times(on));en=en.plus(nn.times(tn));sn.s=on.s=bn.s;pn=Fn(on,tn,an,1).minus(bn).abs().cmp(Fn(sn,en,an,1).minus(bn).abs())<1?[on,tn]:[sn,en];hn.precision=cn;un=true;return pn};wn.toHexadecimal=wn.toHex=function(Wt,Pt){return toStringBinary(this,16,Wt,Pt)};wn.toNearest=function(Wt,Pt){var en=this,tn=en.constructor;en=new tn(en);if(Wt==null){if(!en.d)return en;Wt=new tn(1);Pt=tn.rounding}else{Wt=new tn(Wt);if(Pt===void 0){Pt=tn.rounding}else{checkInt32(Pt,0,8)}if(!en.d)return Wt.s?en:Wt;if(!Wt.d){if(Wt.s)Wt.s=en.s;return Wt}}if(Wt.d[0]){un=false;en=Fn(en,Wt,0,Pt,1).times(Wt);un=true;finalise(en)}else{Wt.s=en.s;en=Wt}return en};wn.toNumber=function(){return+this};wn.toOctal=function(Wt,Pt){return toStringBinary(this,8,Wt,Pt)};wn.toPower=wn.pow=function(Wt){var Pt,en,tn,nn,an,In,rn=this,sn=rn.constructor,on=+(Wt=new sn(Wt));if(!rn.d||!Wt.d||!rn.d[0]||!Wt.d[0])return new sn(An(+rn,on));rn=new sn(rn);if(rn.eq(1))return rn;tn=sn.precision;an=sn.rounding;if(Wt.eq(1))return finalise(rn,tn,an);Pt=Zn(Wt.e/Yn);if(Pt>=Wt.d.length-1&&(en=on<0?-on:on)<=En){nn=intPow(sn,rn,en,tn);return Wt.s<0?new sn(1).div(nn):finalise(nn,tn,an)}In=rn.s;if(In<0){if(Ptsn.maxE+1||Pt0?In/0:0);un=false;sn.rounding=rn.s=1;en=Math.min(12,(Pt+"").length);nn=naturalExponential(Wt.times(naturalLogarithm(rn,tn+en)),tn);if(nn.d){nn=finalise(nn,tn+5,1);if(checkRoundingDigits(nn.d,tn,an)){Pt=tn+10;nn=finalise(naturalExponential(Wt.times(naturalLogarithm(rn,Pt+en)),Pt),Pt+5,1);if(+digitsToString(nn.d).slice(tn+1,tn+15)+1==1e14){nn=finalise(nn,tn+1,0)}}}nn.s=In;un=true;sn.rounding=an;return finalise(nn,tn,an)};wn.toPrecision=function(Wt,Pt){var en,nn=this,an=nn.constructor;if(Wt===void 0){en=finiteToString(nn,nn.e<=an.toExpNeg||nn.e>=an.toExpPos)}else{checkInt32(Wt,1,tn);if(Pt===void 0)Pt=an.rounding;else checkInt32(Pt,0,8);nn=finalise(new an(nn),Wt,Pt);en=finiteToString(nn,Wt<=nn.e||nn.e<=an.toExpNeg,Wt)}return nn.isNeg()&&!nn.isZero()?"-"+en:en};wn.toSignificantDigits=wn.toSD=function(Wt,Pt){var en=this,nn=en.constructor;if(Wt===void 0){Wt=nn.precision;Pt=nn.rounding}else{checkInt32(Wt,1,tn);if(Pt===void 0)Pt=nn.rounding;else checkInt32(Pt,0,8)}return finalise(new nn(en),Wt,Pt)};wn.toString=function(){var Wt=this,Pt=Wt.constructor,en=finiteToString(Wt,Wt.e<=Pt.toExpNeg||Wt.e>=Pt.toExpPos);return Wt.isNeg()&&!Wt.isZero()?"-"+en:en};wn.truncated=wn.trunc=function(){return finalise(new this.constructor(this),this.e+1,1)};wn.valueOf=wn.toJSON=function(){var Wt=this,Pt=Wt.constructor,en=finiteToString(Wt,Wt.e<=Pt.toExpNeg||Wt.e>=Pt.toExpPos);return Wt.isNeg()?"-"+en:en};function digitsToString(Wt){var Pt,en,tn,nn=Wt.length-1,an="",In=Wt[0];if(nn>0){an+=In;for(Pt=1;Pten){throw Error(mn+Wt)}}function checkRoundingDigits(Wt,Pt,en,tn){var nn,an,In,rn;for(an=Wt[0];an>=10;an/=10)--Pt;if(--Pt<0){Pt+=Yn;nn=0}else{nn=Math.ceil((Pt+1)/Yn);Pt%=Yn}an=An(10,Yn-Pt);rn=Wt[nn]%an|0;if(tn==null){if(Pt<3){if(Pt==0)rn=rn/100|0;else if(Pt==1)rn=rn/10|0;In=en<4&&rn==99999||en>3&&rn==49999||rn==5e4||rn==0}else{In=(en<4&&rn+1==an||en>3&&rn+1==an/2)&&(Wt[nn+1]/an/100|0)==An(10,Pt-2)-1||(rn==an/2||rn==0)&&(Wt[nn+1]/an/100|0)==0}}else{if(Pt<4){if(Pt==0)rn=rn/1e3|0;else if(Pt==1)rn=rn/100|0;else if(Pt==2)rn=rn/10|0;In=(tn||en<4)&&rn==9999||!tn&&en>3&&rn==4999}else{In=((tn||en<4)&&rn+1==an||!tn&&en>3&&rn+1==an/2)&&(Wt[nn+1]/an/1e3|0)==An(10,Pt-3)-1}}return In}function convertBase(Wt,Pt,en){var tn,an=[0],In,rn=0,sn=Wt.length;for(;rnen-1){if(an[tn+1]===void 0)an[tn+1]=0;an[tn+1]+=an[tn]/en|0;an[tn]%=en}}}return an.reverse()}function cosine(Wt,Pt){var en,tn,nn;if(Pt.isZero())return Pt;tn=Pt.d.length;if(tn<32){en=Math.ceil(tn/3);nn=(1/tinyPow(4,en)).toString()}else{en=16;nn="2.3283064365386962890625e-10"}Wt.precision+=en;Pt=taylorSeries(Wt,1,Pt.times(nn),new Wt(1));for(var an=en;an--;){var In=Pt.times(Pt);Pt=In.times(In).minus(In).times(8).plus(1)}Wt.precision-=en;return Pt}var Fn=function(){function multiplyInteger(Wt,Pt,en){var tn,nn=0,an=Wt.length;for(Wt=Wt.slice();an--;){tn=Wt[an]*Pt+nn;Wt[an]=tn%en|0;nn=tn/en|0}if(nn)Wt.unshift(nn);return Wt}function compare(Wt,Pt,en,tn){var nn,an;if(en!=tn){an=en>tn?1:-1}else{for(nn=an=0;nnPt[nn]?1:-1;break}}}return an}function subtract(Wt,Pt,en,tn){var nn=0;for(;en--;){Wt[en]-=nn;nn=Wt[en]1;)Wt.shift()}return function(Wt,Pt,en,tn,nn,an){var In,rn,sn,cn,dn,un,pn,mn,bn,Gn,hn,An,Wn,Nn,gn,yn,En,Vn,Rn,wn,Fn=Wt.constructor,Qn=Wt.s==Pt.s?1:-1,fn=Wt.d,Hn=Pt.d;if(!fn||!fn[0]||!Hn||!Hn[0]){return new Fn(!Wt.s||!Pt.s||(fn?Hn&&fn[0]==Hn[0]:!Hn)?NaN:fn&&fn[0]==0||!Hn?Qn*0:Qn/0)}if(an){dn=1;rn=Wt.e-Pt.e}else{an=vn;dn=Yn;rn=Zn(Wt.e/dn)-Zn(Pt.e/dn)}Rn=Hn.length;En=fn.length;bn=new Fn(Qn);Gn=bn.d=[];for(sn=0;Hn[sn]==(fn[sn]||0);sn++);if(Hn[sn]>(fn[sn]||0))rn--;if(en==null){Nn=en=Fn.precision;tn=Fn.rounding}else if(nn){Nn=en+(Wt.e-Pt.e)+1}else{Nn=en}if(Nn<0){Gn.push(1);un=true}else{Nn=Nn/dn+2|0;sn=0;if(Rn==1){cn=0;Hn=Hn[0];Nn++;for(;(sn1){Hn=multiplyInteger(Hn,cn,an);fn=multiplyInteger(fn,cn,an);Rn=Hn.length;En=fn.length}yn=Rn;hn=fn.slice(0,Rn);An=hn.length;for(;An=an/2)++Vn;do{cn=0;In=compare(Hn,hn,Rn,An);if(In<0){Wn=hn[0];if(Rn!=An)Wn=Wn*an+(hn[1]||0);cn=Wn/Vn|0;if(cn>1){if(cn>=an)cn=an-1;pn=multiplyInteger(Hn,cn,an);mn=pn.length;An=hn.length;In=compare(pn,hn,mn,An);if(In==1){cn--;subtract(pn,Rn=10;cn/=10)sn++;bn.e=sn+rn*dn-1;finalise(bn,nn?en+bn.e+1:en,tn,un)}return bn}}();function finalise(Wt,Pt,en,tn){var nn,an,In,rn,sn,on,cn,dn,pn,mn=Wt.constructor;e:if(Pt!=null){dn=Wt.d;if(!dn)return Wt;for(nn=1,rn=dn[0];rn>=10;rn/=10)nn++;an=Pt-nn;if(an<0){an+=Yn;In=Pt;cn=dn[pn=0];sn=cn/An(10,nn-In-1)%10|0}else{pn=Math.ceil((an+1)/Yn);rn=dn.length;if(pn>=rn){if(tn){for(;rn++<=pn;)dn.push(0);cn=sn=0;nn=1;an%=Yn;In=an-Yn+1}else{break e}}else{cn=rn=dn[pn];for(nn=1;rn>=10;rn/=10)nn++;an%=Yn;In=an-Yn+nn;sn=In<0?0:cn/An(10,nn-In-1)%10|0}}tn=tn||Pt<0||dn[pn+1]!==void 0||(In<0?cn:cn%An(10,nn-In-1));on=en<4?(sn||tn)&&(en==0||en==(Wt.s<0?3:2)):sn>5||sn==5&&(en==4||tn||en==6&&(an>0?In>0?cn/An(10,nn-In):0:dn[pn-1])%10&1||en==(Wt.s<0?8:7));if(Pt<1||!dn[0]){dn.length=0;if(on){Pt-=Wt.e+1;dn[0]=An(10,(Yn-Pt%Yn)%Yn);Wt.e=-Pt||0}else{dn[0]=Wt.e=0}return Wt}if(an==0){dn.length=pn;rn=1;pn--}else{dn.length=pn+1;rn=An(10,Yn-an);dn[pn]=In>0?(cn/An(10,nn-In)%An(10,In)|0)*rn:0}if(on){for(;;){if(pn==0){for(an=1,In=dn[0];In>=10;In/=10)an++;In=dn[0]+=rn;for(rn=1;In>=10;In/=10)rn++;if(an!=rn){Wt.e++;if(dn[0]==vn)dn[0]=1}break}else{dn[pn]+=rn;if(dn[pn]!=vn)break;dn[pn--]=0;rn=1}}}for(an=dn.length;dn[--an]===0;)dn.pop()}if(un){if(Wt.e>mn.maxE){Wt.d=null;Wt.e=NaN}else if(Wt.e0){an=an.charAt(0)+"."+an.slice(1)+getZeroString(tn)}else if(In>1){an=an.charAt(0)+"."+an.slice(1)}an=an+(Wt.e<0?"e":"e+")+Wt.e}else if(nn<0){an="0."+getZeroString(-nn-1)+an;if(en&&(tn=en-In)>0)an+=getZeroString(tn)}else if(nn>=In){an+=getZeroString(nn+1-In);if(en&&(tn=en-nn-1)>0)an=an+"."+getZeroString(tn)}else{if((tn=nn+1)0){if(nn+1===In)an+=".";an+=getZeroString(tn)}}return an}function getBase10Exponent(Wt,Pt){var en=Wt[0];for(Pt*=Yn;en>=10;en/=10)Pt++;return Pt}function getLn10(Wt,Pt,en){if(Pt>Vn){un=true;if(en)Wt.precision=en;throw Error(bn)}return finalise(new Wt(an),Pt,1,true)}function getPi(Wt,Pt,en){if(Pt>Rn)throw Error(bn);return finalise(new Wt(In),Pt,en,true)}function getPrecision(Wt){var Pt=Wt.length-1,en=Pt*Yn+1;Pt=Wt[Pt];if(Pt){for(;Pt%10==0;Pt/=10)en--;for(Pt=Wt[0];Pt>=10;Pt/=10)en++}return en}function getZeroString(Wt){var Pt="";for(;Wt--;)Pt+="0";return Pt}function intPow(Wt,Pt,en,tn){var nn,an=new Wt(1),In=Math.ceil(tn/Yn+4);un=false;for(;;){if(en%2){an=an.times(Pt);if(truncate(an.d,In))nn=true}en=Zn(en/2);if(en===0){en=an.d.length-1;if(nn&&an.d[en]===0)++an.d[en];break}Pt=Pt.times(Pt);truncate(Pt.d,In)}un=true;return an}function isOdd(Wt){return Wt.d[Wt.d.length-1]&1}function maxOrMin(Wt,Pt,en){var tn,nn=new Wt(Pt[0]),an=0;for(;++an17){return new pn(Wt.d?!Wt.d[0]?1:Wt.s<0?0:1/0:Wt.s?Wt.s<0?0:Wt:0/0)}if(Pt==null){un=false;sn=bn}else{sn=Pt}rn=new pn(.03125);while(Wt.e>-2){Wt=Wt.times(rn);dn+=5}tn=Math.log(An(2,dn))/Math.LN10*2+5|0;sn+=tn;en=an=In=new pn(1);pn.precision=sn;for(;;){an=finalise(an.times(Wt),sn,1);en=en.times(++cn);rn=In.plus(Fn(an,en,sn,1));if(digitsToString(rn.d).slice(0,sn)===digitsToString(In.d).slice(0,sn)){nn=dn;while(nn--)In=finalise(In.times(In),sn,1);if(Pt==null){if(on<3&&checkRoundingDigits(In.d,sn-tn,mn,on)){pn.precision=sn+=10;en=an=rn=new pn(1);cn=0;on++}else{return finalise(In,pn.precision=bn,mn,un=true)}}else{pn.precision=bn;return In}}In=rn}}function naturalLogarithm(Wt,Pt){var en,tn,nn,an,In,rn,sn,on,cn,dn,pn,mn=1,bn=10,Gn=Wt,hn=Gn.d,Zn=Gn.constructor,An=Zn.rounding,Wn=Zn.precision;if(Gn.s<0||!hn||!hn[0]||!Gn.e&&hn[0]==1&&hn.length==1){return new Zn(hn&&!hn[0]?-1/0:Gn.s!=1?NaN:hn?0:Gn)}if(Pt==null){un=false;cn=Wn}else{cn=Pt}Zn.precision=cn+=bn;en=digitsToString(hn);tn=en.charAt(0);if(Math.abs(an=Gn.e)<15e14){while(tn<7&&tn!=1||tn==1&&en.charAt(1)>3){Gn=Gn.times(Wt);en=digitsToString(Gn.d);tn=en.charAt(0);mn++}an=Gn.e;if(tn>1){Gn=new Zn("0."+en);an++}else{Gn=new Zn(tn+"."+en.slice(1))}}else{on=getLn10(Zn,cn+2,Wn).times(an+"");Gn=naturalLogarithm(new Zn(tn+"."+en.slice(1)),cn-bn).plus(on);Zn.precision=Wn;return Pt==null?finalise(Gn,Wn,An,un=true):Gn}dn=Gn;sn=In=Gn=Fn(Gn.minus(1),Gn.plus(1),cn,1);pn=finalise(Gn.times(Gn),cn,1);nn=3;for(;;){In=finalise(In.times(pn),cn,1);on=sn.plus(Fn(In,new Zn(nn),cn,1));if(digitsToString(on.d).slice(0,cn)===digitsToString(sn.d).slice(0,cn)){sn=sn.times(2);if(an!==0)sn=sn.plus(getLn10(Zn,cn+2,Wn).times(an+""));sn=Fn(sn,new Zn(mn),cn,1);if(Pt==null){if(checkRoundingDigits(sn.d,cn-bn,An,rn)){Zn.precision=cn+=bn;on=In=Gn=Fn(dn.minus(1),dn.plus(1),cn,1);pn=finalise(Gn.times(Gn),cn,1);nn=rn=1}else{return finalise(sn,Zn.precision=Wn,An,un=true)}}else{Zn.precision=Wn;return sn}}sn=on;nn+=2}}function nonFiniteToString(Wt){return String(Wt.s*Wt.s/0)}function parseDecimal(Wt,Pt){var en,tn,nn;if((en=Pt.indexOf("."))>-1)Pt=Pt.replace(".","");if((tn=Pt.search(/e/i))>0){if(en<0)en=tn;en+=+Pt.slice(tn+1);Pt=Pt.substring(0,tn)}else if(en<0){en=Pt.length}for(tn=0;Pt.charCodeAt(tn)===48;tn++);for(nn=Pt.length;Pt.charCodeAt(nn-1)===48;--nn);Pt=Pt.slice(tn,nn);if(Pt){nn-=tn;Wt.e=en=en-tn-1;Wt.d=[];tn=(en+1)%Yn;if(en<0)tn+=Yn;if(tnWt.constructor.maxE){Wt.d=null;Wt.e=NaN}else if(Wt.e-1){Pt=Pt.replace(/(\d)_(?=\d)/g,"$1");if(yn.test(Pt))return parseDecimal(Wt,Pt)}else if(Pt==="Infinity"||Pt==="NaN"){if(!+Pt)Wt.s=NaN;Wt.e=NaN;Wt.d=null;return Wt}if(Nn.test(Pt)){en=16;Pt=Pt.toLowerCase()}else if(Wn.test(Pt)){en=2}else if(gn.test(Pt)){en=8}else{throw Error(mn+Pt)}an=Pt.search(/p/i);if(an>0){on=+Pt.slice(an+1);Pt=Pt.substring(2,an)}else{Pt=Pt.slice(2)}an=Pt.indexOf(".");In=an>=0;tn=Wt.constructor;if(In){Pt=Pt.replace(".","");rn=Pt.length;an=rn-an;nn=intPow(tn,new tn(en),an,an*2)}cn=convertBase(Pt,en,vn);dn=cn.length-1;for(an=dn;cn[an]===0;--an)cn.pop();if(an<0)return new tn(Wt.s*0);Wt.e=getBase10Exponent(cn,dn);Wt.d=cn;un=false;if(In)Wt=Fn(Wt,nn,rn*4);if(on)Wt=Wt.times(Math.abs(on)<54?An(2,on):sn.pow(2,on));un=true;return Wt}function sine(Wt,Pt){var en,tn=Pt.d.length;if(tn<3){return Pt.isZero()?Pt:taylorSeries(Wt,2,Pt,Pt)}en=1.4*Math.sqrt(tn);en=en>16?16:en|0;Pt=Pt.times(1/tinyPow(5,en));Pt=taylorSeries(Wt,2,Pt,Pt);var nn,an=new Wt(5),In=new Wt(16),rn=new Wt(20);for(;en--;){nn=Pt.times(Pt);Pt=Pt.times(an.plus(nn.times(In.times(nn).minus(rn))))}return Pt}function taylorSeries(Wt,Pt,en,tn,nn){var an,In,rn,sn,on=1,cn=Wt.precision,dn=Math.ceil(cn/Yn);un=false;sn=en.times(en);rn=new Wt(tn);for(;;){In=Fn(rn.times(sn),new Wt(Pt++*Pt++),cn,1);rn=nn?tn.plus(In):tn.minus(In);tn=Fn(In.times(sn),new Wt(Pt++*Pt++),cn,1);In=rn.plus(tn);if(In.d[dn]!==void 0){for(an=dn;In.d[an]===rn.d[an]&&an--;);if(an==-1)break}an=rn;rn=tn;tn=In;In=an;on++}un=true;In.d.length=dn+1;return In}function tinyPow(Wt,Pt){var en=Wt;while(--Pt)en*=Wt;return en}function toLessThanHalfPi(Wt,Pt){var en,tn=Pt.s<0,nn=getPi(Wt,Wt.precision,1),an=nn.times(.5);Pt=Pt.abs();if(Pt.lte(an)){dn=tn?4:1;return Pt}en=Pt.divToInt(nn);if(en.isZero()){dn=tn?3:2}else{Pt=Pt.minus(en.times(nn));if(Pt.lte(an)){dn=isOdd(en)?tn?2:3:tn?4:1;return Pt}dn=isOdd(en)?tn?1:4:tn?3:2}return Pt.minus(nn).abs()}function toStringBinary(Wt,Pt,en,an){var In,rn,sn,cn,dn,un,pn,mn,bn,Gn=Wt.constructor,hn=en!==void 0;if(hn){checkInt32(en,1,tn);if(an===void 0)an=Gn.rounding;else checkInt32(an,0,8)}else{en=Gn.precision;an=Gn.rounding}if(!Wt.isFinite()){pn=nonFiniteToString(Wt)}else{pn=finiteToString(Wt);sn=pn.indexOf(".");if(hn){In=2;if(Pt==16){en=en*4-3}else if(Pt==8){en=en*3-2}}else{In=Pt}if(sn>=0){pn=pn.replace(".","");bn=new Gn(1);bn.e=pn.length-sn;bn.d=convertBase(finiteToString(bn),10,In);bn.e=bn.d.length}mn=convertBase(pn,10,In);rn=dn=mn.length;for(;mn[--dn]==0;)mn.pop();if(!mn[0]){pn=hn?"0p+0":"0"}else{if(sn<0){rn--}else{Wt=new Gn(Wt);Wt.d=mn;Wt.e=rn;Wt=Fn(Wt,bn,en,an,0,In);mn=Wt.d;rn=Wt.e;un=on}sn=mn[en];cn=In/2;un=un||mn[en+1]!==void 0;un=an<4?(sn!==void 0||un)&&(an===0||an===(Wt.s<0?3:2)):sn>cn||sn===cn&&(an===4||un||an===6&&mn[en-1]&1||an===(Wt.s<0?8:7));mn.length=en;if(un){for(;++mn[--en]>In-1;){mn[en]=0;if(!en){++rn;mn.unshift(1)}}}for(dn=mn.length;!mn[dn-1];--dn);for(sn=0,pn="";sn1){if(Pt==16||Pt==8){sn=Pt==16?4:3;for(--dn;dn%sn;dn++)pn+="0";mn=convertBase(pn,In,Pt);for(dn=mn.length;!mn[dn-1];--dn);for(sn=1,pn="1.";sndn)for(rn-=dn;rn--;)pn+="0";else if(rnPt){Wt.length=Pt;return true}}function abs(Wt){return new this(Wt).abs()}function acos(Wt){return new this(Wt).acos()}function acosh(Wt){return new this(Wt).acosh()}function add(Wt,Pt){return new this(Wt).plus(Pt)}function asin(Wt){return new this(Wt).asin()}function asinh(Wt){return new this(Wt).asinh()}function atan(Wt){return new this(Wt).atan()}function atanh(Wt){return new this(Wt).atanh()}function atan2(Wt,Pt){Wt=new this(Wt);Pt=new this(Pt);var en,tn=this.precision,nn=this.rounding,an=tn+4;if(!Wt.s||!Pt.s){en=new this(NaN)}else if(!Wt.d&&!Pt.d){en=getPi(this,an,1).times(Pt.s>0?.25:.75);en.s=Wt.s}else if(!Pt.d||Wt.isZero()){en=Pt.s<0?getPi(this,tn,nn):new this(0);en.s=Wt.s}else if(!Wt.d||Pt.isZero()){en=getPi(this,an,1).times(.5);en.s=Wt.s}else if(Pt.s<0){this.precision=an;this.rounding=1;en=this.atan(Fn(Wt,Pt,an,1));Pt=getPi(this,an,1);this.precision=tn;this.rounding=nn;en=Wt.s<0?en.minus(Pt):en.plus(Pt)}else{en=this.atan(Fn(Wt,Pt,an,1))}return en}function cbrt(Wt){return new this(Wt).cbrt()}function ceil(Wt){return finalise(Wt=new this(Wt),Wt.e+1,2)}function clamp(Wt,Pt,en){return new this(Wt).clamp(Pt,en)}function config(Wt){if(!Wt||typeof Wt!=="object")throw Error(pn+"Object expected");var Pt,nn,an,In=Wt.defaults===true,sn=["precision",1,tn,"rounding",0,8,"toExpNeg",-en,0,"toExpPos",0,en,"maxE",0,en,"minE",-en,0,"modulo",0,9];for(Pt=0;Pt=sn[Pt+1]&&an<=sn[Pt+2])this[nn]=an;else throw Error(mn+nn+": "+an)}}if(nn="crypto",In)this[nn]=rn[nn];if((an=Wt[nn])!==void 0){if(an===true||an===false||an===0||an===1){if(an){if(typeof crypto!="undefined"&&crypto&&(crypto.getRandomValues||crypto.randomBytes)){this[nn]=true}else{throw Error(Gn)}}else{this[nn]=false}}else{throw Error(mn+nn+": "+an)}}return this}function cos(Wt){return new this(Wt).cos()}function cosh(Wt){return new this(Wt).cosh()}function clone(Wt){var Pt,en,tn;function Decimal(Wt){var Pt,en,tn,nn=this;if(!(nn instanceof Decimal))return new Decimal(Wt);nn.constructor=Decimal;if(isDecimalInstance(Wt)){nn.s=Wt.s;if(un){if(!Wt.d||Wt.e>Decimal.maxE){nn.e=NaN;nn.d=null}else if(Wt.e=10;en/=10)Pt++;if(un){if(Pt>Decimal.maxE){nn.e=NaN;nn.d=null}else if(Pt=429e7){Pt[In]=crypto.getRandomValues(new Uint32Array(1))[0]}else{sn[In++]=an%1e7}}}else if(crypto.randomBytes){Pt=crypto.randomBytes(nn*=4);for(;In=214e7){crypto.randomBytes(4).copy(Pt,In)}else{sn.push(an%1e7);In+=4}}In=nn/4}else{throw Error(Gn)}nn=sn[--In];Wt%=Yn;if(nn&&Wt){an=An(10,Yn-Wt);sn[In]=(nn/an|0)*an}for(;sn[In]===0;In--)sn.pop();if(In<0){en=0;sn=[0]}else{en=-1;for(;sn[0]===0;en-=Yn)sn.shift();for(nn=1,an=sn[0];an>=10;an/=10)nn++;if(nn{var tn=en(2203).Stream;var nn=en(39023);Wt.exports=DelayedStream;function DelayedStream(){this.source=null;this.dataSize=0;this.maxDataSize=1024*1024;this.pauseStream=true;this._maxDataSizeExceeded=false;this._released=false;this._bufferedEvents=[]}nn.inherits(DelayedStream,tn);DelayedStream.create=function(Wt,Pt){var en=new this;Pt=Pt||{};for(var tn in Pt){en[tn]=Pt[tn]}en.source=Wt;var nn=Wt.emit;Wt.emit=function(){en._handleEmit(arguments);return nn.apply(Wt,arguments)};Wt.on("error",(function(){}));if(en.pauseStream){Wt.pause()}return en};Object.defineProperty(DelayedStream.prototype,"readable",{configurable:true,enumerable:true,get:function(){return this.source.readable}});DelayedStream.prototype.setEncoding=function(){return this.source.setEncoding.apply(this.source,arguments)};DelayedStream.prototype.resume=function(){if(!this._released){this.release()}this.source.resume()};DelayedStream.prototype.pause=function(){this.source.pause()};DelayedStream.prototype.release=function(){this._released=true;this._bufferedEvents.forEach(function(Wt){this.emit.apply(this,Wt)}.bind(this));this._bufferedEvents=[]};DelayedStream.prototype.pipe=function(){var Wt=tn.prototype.pipe.apply(this,arguments);this.resume();return Wt};DelayedStream.prototype._handleEmit=function(Wt){if(this._released){this.emit.apply(this,Wt);return}if(Wt[0]==="data"){this.dataSize+=Wt[1].length;this._checkIfMaxDataSizeExceeded()}this._bufferedEvents.push(Wt)};DelayedStream.prototype._checkIfMaxDataSizeExceeded=function(){if(this._maxDataSizeExceeded){return}if(this.dataSize<=this.maxDataSize){return}this._maxDataSizeExceeded=true;var Wt="DelayedStream#maxDataSize of "+this.maxDataSize+" bytes exceeded.";this.emit("error",new Error(Wt))}},14150:(Wt,Pt)=>{Object.defineProperty(Pt,"__esModule",{value:true});class Deprecation extends Error{constructor(Wt){super(Wt);if(Error.captureStackTrace){Error.captureStackTrace(this,this.constructor)}this.name="Deprecation"}}Pt.Deprecation=Deprecation},52874:(Wt,Pt,en)=>{(function(){en(18889).config(Object.assign({},en(39990),en(4531)(process.argv)))})()},4531:Wt=>{const Pt=/^dotenv_config_(encoding|path|debug|override|DOTENV_KEY)=(.+)$/;Wt.exports=function optionMatcher(Wt){return Wt.reduce((function(Wt,en){const tn=en.match(Pt);if(tn){Wt[tn[1]]=tn[2]}return Wt}),{})}},39990:Wt=>{const Pt={};if(process.env.DOTENV_CONFIG_ENCODING!=null){Pt.encoding=process.env.DOTENV_CONFIG_ENCODING}if(process.env.DOTENV_CONFIG_PATH!=null){Pt.path=process.env.DOTENV_CONFIG_PATH}if(process.env.DOTENV_CONFIG_DEBUG!=null){Pt.debug=process.env.DOTENV_CONFIG_DEBUG}if(process.env.DOTENV_CONFIG_OVERRIDE!=null){Pt.override=process.env.DOTENV_CONFIG_OVERRIDE}if(process.env.DOTENV_CONFIG_DOTENV_KEY!=null){Pt.DOTENV_KEY=process.env.DOTENV_CONFIG_DOTENV_KEY}Wt.exports=Pt},18889:(Wt,Pt,en)=>{const tn=en(79896);const nn=en(16928);const an=en(70857);const In=en(76982);const rn=en(80056);const sn=rn.version;const on=/(?:^|^)\s*(?:export\s+)?([\w.-]+)(?:\s*=\s*?|:\s+?)(\s*'(?:\\'|[^'])*'|\s*"(?:\\"|[^"])*"|\s*`(?:\\`|[^`])*`|[^#\r\n]+)?\s*(?:#.*)?(?:$|$)/gm;function parse(Wt){const Pt={};let en=Wt.toString();en=en.replace(/\r\n?/gm,"\n");let tn;while((tn=on.exec(en))!=null){const Wt=tn[1];let en=tn[2]||"";en=en.trim();const nn=en[0];en=en.replace(/^(['"`])([\s\S]*)\1$/gm,"$2");if(nn==='"'){en=en.replace(/\\n/g,"\n");en=en.replace(/\\r/g,"\r")}Pt[Wt]=en}return Pt}function _parseVault(Wt){const Pt=_vaultPath(Wt);const en=cn.configDotenv({path:Pt});if(!en.parsed){const Wt=new Error(`MISSING_DATA: Cannot parse ${Pt} for an unknown reason`);Wt.code="MISSING_DATA";throw Wt}const tn=_dotenvKey(Wt).split(",");const nn=tn.length;let an;for(let Wt=0;Wt=nn){throw Pt}}}return cn.parse(an)}function _log(Wt){console.log(`[dotenv@${sn}][INFO] ${Wt}`)}function _warn(Wt){console.log(`[dotenv@${sn}][WARN] ${Wt}`)}function _debug(Wt){console.log(`[dotenv@${sn}][DEBUG] ${Wt}`)}function _dotenvKey(Wt){if(Wt&&Wt.DOTENV_KEY&&Wt.DOTENV_KEY.length>0){return Wt.DOTENV_KEY}if(process.env.DOTENV_KEY&&process.env.DOTENV_KEY.length>0){return process.env.DOTENV_KEY}return""}function _instructions(Wt,Pt){let en;try{en=new URL(Pt)}catch(Wt){if(Wt.code==="ERR_INVALID_URL"){const Wt=new Error("INVALID_DOTENV_KEY: Wrong format. Must be in valid uri format like dotenv://:key_1234@dotenvx.com/vault/.env.vault?environment=development");Wt.code="INVALID_DOTENV_KEY";throw Wt}throw Wt}const tn=en.password;if(!tn){const Wt=new Error("INVALID_DOTENV_KEY: Missing key part");Wt.code="INVALID_DOTENV_KEY";throw Wt}const nn=en.searchParams.get("environment");if(!nn){const Wt=new Error("INVALID_DOTENV_KEY: Missing environment part");Wt.code="INVALID_DOTENV_KEY";throw Wt}const an=`DOTENV_VAULT_${nn.toUpperCase()}`;const In=Wt.parsed[an];if(!In){const Wt=new Error(`NOT_FOUND_DOTENV_ENVIRONMENT: Cannot locate environment ${an} in your .env.vault file.`);Wt.code="NOT_FOUND_DOTENV_ENVIRONMENT";throw Wt}return{ciphertext:In,key:tn}}function _vaultPath(Wt){let Pt=null;if(Wt&&Wt.path&&Wt.path.length>0){if(Array.isArray(Wt.path)){for(const en of Wt.path){if(tn.existsSync(en)){Pt=en.endsWith(".vault")?en:`${en}.vault`}}}else{Pt=Wt.path.endsWith(".vault")?Wt.path:`${Wt.path}.vault`}}else{Pt=nn.resolve(process.cwd(),".env.vault")}if(tn.existsSync(Pt)){return Pt}return null}function _resolveHome(Wt){return Wt[0]==="~"?nn.join(an.homedir(),Wt.slice(1)):Wt}function _configVault(Wt){_log("Loading env from encrypted .env.vault");const Pt=cn._parseVault(Wt);let en=process.env;if(Wt&&Wt.processEnv!=null){en=Wt.processEnv}cn.populate(en,Pt,Wt);return{parsed:Pt}}function configDotenv(Wt){const Pt=nn.resolve(process.cwd(),".env");let en="utf8";const an=Boolean(Wt&&Wt.debug);if(Wt&&Wt.encoding){en=Wt.encoding}else{if(an){_debug("No encoding is specified. UTF-8 is used by default")}}let In=[Pt];if(Wt&&Wt.path){if(!Array.isArray(Wt.path)){In=[_resolveHome(Wt.path)]}else{In=[];for(const Pt of Wt.path){In.push(_resolveHome(Pt))}}}let rn;const sn={};for(const Pt of In){try{const nn=cn.parse(tn.readFileSync(Pt,{encoding:en}));cn.populate(sn,nn,Wt)}catch(Wt){if(an){_debug(`Failed to load ${Pt} ${Wt.message}`)}rn=Wt}}let on=process.env;if(Wt&&Wt.processEnv!=null){on=Wt.processEnv}cn.populate(on,sn,Wt);if(rn){return{parsed:sn,error:rn}}else{return{parsed:sn}}}function config(Wt){if(_dotenvKey(Wt).length===0){return cn.configDotenv(Wt)}const Pt=_vaultPath(Wt);if(!Pt){_warn(`You set DOTENV_KEY but you are missing a .env.vault file at ${Pt}. Did you forget to build it?`);return cn.configDotenv(Wt)}return cn._configVault(Wt)}function decrypt(Wt,Pt){const en=Buffer.from(Pt.slice(-64),"hex");let tn=Buffer.from(Wt,"base64");const nn=tn.subarray(0,12);const an=tn.subarray(-16);tn=tn.subarray(12,-16);try{const Wt=In.createDecipheriv("aes-256-gcm",en,nn);Wt.setAuthTag(an);return`${Wt.update(tn)}${Wt.final()}`}catch(Wt){const Pt=Wt instanceof RangeError;const en=Wt.message==="Invalid key length";const tn=Wt.message==="Unsupported state or unable to authenticate data";if(Pt||en){const Wt=new Error("INVALID_DOTENV_KEY: It must be 64 characters long (or more)");Wt.code="INVALID_DOTENV_KEY";throw Wt}else if(tn){const Wt=new Error("DECRYPTION_FAILED: Please check your DOTENV_KEY");Wt.code="DECRYPTION_FAILED";throw Wt}else{throw Wt}}}function populate(Wt,Pt,en={}){const tn=Boolean(en&&en.debug);const nn=Boolean(en&&en.override);if(typeof Pt!=="object"){const Wt=new Error("OBJECT_REQUIRED: Please check the processEnv argument being passed to populate");Wt.code="OBJECT_REQUIRED";throw Wt}for(const en of Object.keys(Pt)){if(Object.prototype.hasOwnProperty.call(Wt,en)){if(nn===true){Wt[en]=Pt[en]}if(tn){if(nn===true){_debug(`"${en}" is already defined and WAS overwritten`)}else{_debug(`"${en}" is already defined and was NOT overwritten`)}}}else{Wt[en]=Pt[en]}}}const cn={configDotenv:configDotenv,_configVault:_configVault,_parseVault:_parseVault,config:config,decrypt:decrypt,parse:parse,populate:populate};Wt.exports.configDotenv=cn.configDotenv;Wt.exports._configVault=cn._configVault;Wt.exports._parseVault=cn._parseVault;Wt.exports.config=cn.config;Wt.exports.decrypt=cn.decrypt;Wt.exports.parse=cn.parse;Wt.exports.populate=cn.populate;Wt.exports=cn},57034:(Wt,Pt,en)=>{var tn=Pt;tn.version=en(1636).rE;tn.utils=en(5028);tn.rand=en(49586);tn.curve=en(57773);tn.curves=en(30997);tn.ec=en(75070);tn.eddsa=en(93225)},58088:(Wt,Pt,en)=>{var tn=en(7967);var nn=en(5028);var an=nn.getNAF;var In=nn.getJSF;var rn=nn.assert;function BaseCurve(Wt,Pt){this.type=Wt;this.p=new tn(Pt.p,16);this.red=Pt.prime?tn.red(Pt.prime):tn.mont(this.p);this.zero=new tn(0).toRed(this.red);this.one=new tn(1).toRed(this.red);this.two=new tn(2).toRed(this.red);this.n=Pt.n&&new tn(Pt.n,16);this.g=Pt.g&&this.pointFromJSON(Pt.g,Pt.gRed);this._wnafT1=new Array(4);this._wnafT2=new Array(4);this._wnafT3=new Array(4);this._wnafT4=new Array(4);this._bitLength=this.n?this.n.bitLength():0;var en=this.n&&this.p.div(this.n);if(!en||en.cmpn(100)>0){this.redN=null}else{this._maxwellTrick=true;this.redN=this.n.toRed(this.red)}}Wt.exports=BaseCurve;BaseCurve.prototype.point=function point(){throw new Error("Not implemented")};BaseCurve.prototype.validate=function validate(){throw new Error("Not implemented")};BaseCurve.prototype._fixedNafMul=function _fixedNafMul(Wt,Pt){rn(Wt.precomputed);var en=Wt._getDoubles();var tn=an(Pt,1,this._bitLength);var nn=(1<=sn;cn--)on=(on<<1)+tn[cn];In.push(on)}var dn=this.jpoint(null,null,null);var un=this.jpoint(null,null,null);for(var pn=nn;pn>0;pn--){for(sn=0;sn=0;on--){for(var cn=0;on>=0&&In[on]===0;on--)cn++;if(on>=0)cn++;sn=sn.dblp(cn);if(on<0)break;var dn=In[on];rn(dn!==0);if(Wt.type==="affine"){if(dn>0)sn=sn.mixedAdd(nn[dn-1>>1]);else sn=sn.mixedAdd(nn[-dn-1>>1].neg())}else{if(dn>0)sn=sn.add(nn[dn-1>>1]);else sn=sn.add(nn[-dn-1>>1].neg())}}return Wt.type==="affine"?sn.toP():sn};BaseCurve.prototype._wnafMulAdd=function _wnafMulAdd(Wt,Pt,en,tn,nn){var rn=this._wnafT1;var sn=this._wnafT2;var on=this._wnafT3;var cn=0;var dn;var un;var pn;for(dn=0;dn=1;dn-=2){var bn=dn-1;var Gn=dn;if(rn[bn]!==1||rn[Gn]!==1){on[bn]=an(en[bn],rn[bn],this._bitLength);on[Gn]=an(en[Gn],rn[Gn],this._bitLength);cn=Math.max(on[bn].length,cn);cn=Math.max(on[Gn].length,cn);continue}var hn=[Pt[bn],null,null,Pt[Gn]];if(Pt[bn].y.cmp(Pt[Gn].y)===0){hn[1]=Pt[bn].add(Pt[Gn]);hn[2]=Pt[bn].toJ().mixedAdd(Pt[Gn].neg())}else if(Pt[bn].y.cmp(Pt[Gn].y.redNeg())===0){hn[1]=Pt[bn].toJ().mixedAdd(Pt[Gn]);hn[2]=Pt[bn].add(Pt[Gn].neg())}else{hn[1]=Pt[bn].toJ().mixedAdd(Pt[Gn]);hn[2]=Pt[bn].toJ().mixedAdd(Pt[Gn].neg())}var Zn=[-3,-1,-5,-7,0,7,5,1,3];var An=In(en[bn],en[Gn]);cn=Math.max(An[0].length,cn);on[bn]=new Array(cn);on[Gn]=new Array(cn);for(un=0;un=0;dn--){var vn=0;while(dn>=0){var Yn=true;for(un=0;un=0)vn++;gn=gn.dblp(vn);if(dn<0)break;for(un=0;un0)pn=sn[un][En-1>>1];else if(En<0)pn=sn[un][-En-1>>1].neg();if(pn.type==="affine")gn=gn.mixedAdd(pn);else gn=gn.add(pn)}}for(dn=0;dn=Math.ceil((Wt.bitLength()+1)/Pt.step)};BasePoint.prototype._getDoubles=function _getDoubles(Wt,Pt){if(this.precomputed&&this.precomputed.doubles)return this.precomputed.doubles;var en=[this];var tn=this;for(var nn=0;nn{var tn=en(5028);var nn=en(7967);var an=en(39598);var In=en(58088);var rn=tn.assert;function EdwardsCurve(Wt){this.twisted=(Wt.a|0)!==1;this.mOneA=this.twisted&&(Wt.a|0)===-1;this.extended=this.mOneA;In.call(this,"edwards",Wt);this.a=new nn(Wt.a,16).umod(this.red.m);this.a=this.a.toRed(this.red);this.c=new nn(Wt.c,16).toRed(this.red);this.c2=this.c.redSqr();this.d=new nn(Wt.d,16).toRed(this.red);this.dd=this.d.redAdd(this.d);rn(!this.twisted||this.c.fromRed().cmpn(1)===0);this.oneC=(Wt.c|0)===1}an(EdwardsCurve,In);Wt.exports=EdwardsCurve;EdwardsCurve.prototype._mulA=function _mulA(Wt){if(this.mOneA)return Wt.redNeg();else return this.a.redMul(Wt)};EdwardsCurve.prototype._mulC=function _mulC(Wt){if(this.oneC)return Wt;else return this.c.redMul(Wt)};EdwardsCurve.prototype.jpoint=function jpoint(Wt,Pt,en,tn){return this.point(Wt,Pt,en,tn)};EdwardsCurve.prototype.pointFromX=function pointFromX(Wt,Pt){Wt=new nn(Wt,16);if(!Wt.red)Wt=Wt.toRed(this.red);var en=Wt.redSqr();var tn=this.c2.redSub(this.a.redMul(en));var an=this.one.redSub(this.c2.redMul(this.d).redMul(en));var In=tn.redMul(an.redInvm());var rn=In.redSqrt();if(rn.redSqr().redSub(In).cmp(this.zero)!==0)throw new Error("invalid point");var sn=rn.fromRed().isOdd();if(Pt&&!sn||!Pt&&sn)rn=rn.redNeg();return this.point(Wt,rn)};EdwardsCurve.prototype.pointFromY=function pointFromY(Wt,Pt){Wt=new nn(Wt,16);if(!Wt.red)Wt=Wt.toRed(this.red);var en=Wt.redSqr();var tn=en.redSub(this.c2);var an=en.redMul(this.d).redMul(this.c2).redSub(this.a);var In=tn.redMul(an.redInvm());if(In.cmp(this.zero)===0){if(Pt)throw new Error("invalid point");else return this.point(this.zero,Wt)}var rn=In.redSqrt();if(rn.redSqr().redSub(In).cmp(this.zero)!==0)throw new Error("invalid point");if(rn.fromRed().isOdd()!==Pt)rn=rn.redNeg();return this.point(rn,Wt)};EdwardsCurve.prototype.validate=function validate(Wt){if(Wt.isInfinity())return true;Wt.normalize();var Pt=Wt.x.redSqr();var en=Wt.y.redSqr();var tn=Pt.redMul(this.a).redAdd(en);var nn=this.c2.redMul(this.one.redAdd(this.d.redMul(Pt).redMul(en)));return tn.cmp(nn)===0};function Point(Wt,Pt,en,tn,an){In.BasePoint.call(this,Wt,"projective");if(Pt===null&&en===null&&tn===null){this.x=this.curve.zero;this.y=this.curve.one;this.z=this.curve.one;this.t=this.curve.zero;this.zOne=true}else{this.x=new nn(Pt,16);this.y=new nn(en,16);this.z=tn?new nn(tn,16):this.curve.one;this.t=an&&new nn(an,16);if(!this.x.red)this.x=this.x.toRed(this.curve.red);if(!this.y.red)this.y=this.y.toRed(this.curve.red);if(!this.z.red)this.z=this.z.toRed(this.curve.red);if(this.t&&!this.t.red)this.t=this.t.toRed(this.curve.red);this.zOne=this.z===this.curve.one;if(this.curve.extended&&!this.t){this.t=this.x.redMul(this.y);if(!this.zOne)this.t=this.t.redMul(this.z.redInvm())}}}an(Point,In.BasePoint);EdwardsCurve.prototype.pointFromJSON=function pointFromJSON(Wt){return Point.fromJSON(this,Wt)};EdwardsCurve.prototype.point=function point(Wt,Pt,en,tn){return new Point(this,Wt,Pt,en,tn)};Point.fromJSON=function fromJSON(Wt,Pt){return new Point(Wt,Pt[0],Pt[1],Pt[2])};Point.prototype.inspect=function inspect(){if(this.isInfinity())return"";return""};Point.prototype.isInfinity=function isInfinity(){return this.x.cmpn(0)===0&&(this.y.cmp(this.z)===0||this.zOne&&this.y.cmp(this.curve.c)===0)};Point.prototype._extDbl=function _extDbl(){var Wt=this.x.redSqr();var Pt=this.y.redSqr();var en=this.z.redSqr();en=en.redIAdd(en);var tn=this.curve._mulA(Wt);var nn=this.x.redAdd(this.y).redSqr().redISub(Wt).redISub(Pt);var an=tn.redAdd(Pt);var In=an.redSub(en);var rn=tn.redSub(Pt);var sn=nn.redMul(In);var on=an.redMul(rn);var cn=nn.redMul(rn);var dn=In.redMul(an);return this.curve.point(sn,on,dn,cn)};Point.prototype._projDbl=function _projDbl(){var Wt=this.x.redAdd(this.y).redSqr();var Pt=this.x.redSqr();var en=this.y.redSqr();var tn;var nn;var an;var In;var rn;var sn;if(this.curve.twisted){In=this.curve._mulA(Pt);var on=In.redAdd(en);if(this.zOne){tn=Wt.redSub(Pt).redSub(en).redMul(on.redSub(this.curve.two));nn=on.redMul(In.redSub(en));an=on.redSqr().redSub(on).redSub(on)}else{rn=this.z.redSqr();sn=on.redSub(rn).redISub(rn);tn=Wt.redSub(Pt).redISub(en).redMul(sn);nn=on.redMul(In.redSub(en));an=on.redMul(sn)}}else{In=Pt.redAdd(en);rn=this.curve._mulC(this.z).redSqr();sn=In.redSub(rn).redSub(rn);tn=this.curve._mulC(Wt.redISub(In)).redMul(sn);nn=this.curve._mulC(In).redMul(Pt.redISub(en));an=In.redMul(sn)}return this.curve.point(tn,nn,an)};Point.prototype.dbl=function dbl(){if(this.isInfinity())return this;if(this.curve.extended)return this._extDbl();else return this._projDbl()};Point.prototype._extAdd=function _extAdd(Wt){var Pt=this.y.redSub(this.x).redMul(Wt.y.redSub(Wt.x));var en=this.y.redAdd(this.x).redMul(Wt.y.redAdd(Wt.x));var tn=this.t.redMul(this.curve.dd).redMul(Wt.t);var nn=this.z.redMul(Wt.z.redAdd(Wt.z));var an=en.redSub(Pt);var In=nn.redSub(tn);var rn=nn.redAdd(tn);var sn=en.redAdd(Pt);var on=an.redMul(In);var cn=rn.redMul(sn);var dn=an.redMul(sn);var un=In.redMul(rn);return this.curve.point(on,cn,un,dn)};Point.prototype._projAdd=function _projAdd(Wt){var Pt=this.z.redMul(Wt.z);var en=Pt.redSqr();var tn=this.x.redMul(Wt.x);var nn=this.y.redMul(Wt.y);var an=this.curve.d.redMul(tn).redMul(nn);var In=en.redSub(an);var rn=en.redAdd(an);var sn=this.x.redAdd(this.y).redMul(Wt.x.redAdd(Wt.y)).redISub(tn).redISub(nn);var on=Pt.redMul(In).redMul(sn);var cn;var dn;if(this.curve.twisted){cn=Pt.redMul(rn).redMul(nn.redSub(this.curve._mulA(tn)));dn=In.redMul(rn)}else{cn=Pt.redMul(rn).redMul(nn.redSub(tn));dn=this.curve._mulC(In).redMul(rn)}return this.curve.point(on,cn,dn)};Point.prototype.add=function add(Wt){if(this.isInfinity())return Wt;if(Wt.isInfinity())return this;if(this.curve.extended)return this._extAdd(Wt);else return this._projAdd(Wt)};Point.prototype.mul=function mul(Wt){if(this._hasDoubles(Wt))return this.curve._fixedNafMul(this,Wt);else return this.curve._wnafMul(this,Wt)};Point.prototype.mulAdd=function mulAdd(Wt,Pt,en){return this.curve._wnafMulAdd(1,[this,Pt],[Wt,en],2,false)};Point.prototype.jmulAdd=function jmulAdd(Wt,Pt,en){return this.curve._wnafMulAdd(1,[this,Pt],[Wt,en],2,true)};Point.prototype.normalize=function normalize(){if(this.zOne)return this;var Wt=this.z.redInvm();this.x=this.x.redMul(Wt);this.y=this.y.redMul(Wt);if(this.t)this.t=this.t.redMul(Wt);this.z=this.curve.one;this.zOne=true;return this};Point.prototype.neg=function neg(){return this.curve.point(this.x.redNeg(),this.y,this.z,this.t&&this.t.redNeg())};Point.prototype.getX=function getX(){this.normalize();return this.x.fromRed()};Point.prototype.getY=function getY(){this.normalize();return this.y.fromRed()};Point.prototype.eq=function eq(Wt){return this===Wt||this.getX().cmp(Wt.getX())===0&&this.getY().cmp(Wt.getY())===0};Point.prototype.eqXToP=function eqXToP(Wt){var Pt=Wt.toRed(this.curve.red).redMul(this.z);if(this.x.cmp(Pt)===0)return true;var en=Wt.clone();var tn=this.curve.redN.redMul(this.z);for(;;){en.iadd(this.curve.n);if(en.cmp(this.curve.p)>=0)return false;Pt.redIAdd(tn);if(this.x.cmp(Pt)===0)return true}};Point.prototype.toP=Point.prototype.normalize;Point.prototype.mixedAdd=Point.prototype.add},57773:(Wt,Pt,en)=>{var tn=Pt;tn.base=en(58088);tn.short=en(23639);tn.mont=en(71047);tn.edwards=en(79981)},71047:(Wt,Pt,en)=>{var tn=en(7967);var nn=en(39598);var an=en(58088);var In=en(5028);function MontCurve(Wt){an.call(this,"mont",Wt);this.a=new tn(Wt.a,16).toRed(this.red);this.b=new tn(Wt.b,16).toRed(this.red);this.i4=new tn(4).toRed(this.red).redInvm();this.two=new tn(2).toRed(this.red);this.a24=this.i4.redMul(this.a.redAdd(this.two))}nn(MontCurve,an);Wt.exports=MontCurve;MontCurve.prototype.validate=function validate(Wt){var Pt=Wt.normalize().x;var en=Pt.redSqr();var tn=en.redMul(Pt).redAdd(en.redMul(this.a)).redAdd(Pt);var nn=tn.redSqrt();return nn.redSqr().cmp(tn)===0};function Point(Wt,Pt,en){an.BasePoint.call(this,Wt,"projective");if(Pt===null&&en===null){this.x=this.curve.one;this.z=this.curve.zero}else{this.x=new tn(Pt,16);this.z=new tn(en,16);if(!this.x.red)this.x=this.x.toRed(this.curve.red);if(!this.z.red)this.z=this.z.toRed(this.curve.red)}}nn(Point,an.BasePoint);MontCurve.prototype.decodePoint=function decodePoint(Wt,Pt){return this.point(In.toArray(Wt,Pt),1)};MontCurve.prototype.point=function point(Wt,Pt){return new Point(this,Wt,Pt)};MontCurve.prototype.pointFromJSON=function pointFromJSON(Wt){return Point.fromJSON(this,Wt)};Point.prototype.precompute=function precompute(){};Point.prototype._encode=function _encode(){return this.getX().toArray("be",this.curve.p.byteLength())};Point.fromJSON=function fromJSON(Wt,Pt){return new Point(Wt,Pt[0],Pt[1]||Wt.one)};Point.prototype.inspect=function inspect(){if(this.isInfinity())return"";return""};Point.prototype.isInfinity=function isInfinity(){return this.z.cmpn(0)===0};Point.prototype.dbl=function dbl(){var Wt=this.x.redAdd(this.z);var Pt=Wt.redSqr();var en=this.x.redSub(this.z);var tn=en.redSqr();var nn=Pt.redSub(tn);var an=Pt.redMul(tn);var In=nn.redMul(tn.redAdd(this.curve.a24.redMul(nn)));return this.curve.point(an,In)};Point.prototype.add=function add(){throw new Error("Not supported on Montgomery curve")};Point.prototype.diffAdd=function diffAdd(Wt,Pt){var en=this.x.redAdd(this.z);var tn=this.x.redSub(this.z);var nn=Wt.x.redAdd(Wt.z);var an=Wt.x.redSub(Wt.z);var In=an.redMul(en);var rn=nn.redMul(tn);var sn=Pt.z.redMul(In.redAdd(rn).redSqr());var on=Pt.x.redMul(In.redISub(rn).redSqr());return this.curve.point(sn,on)};Point.prototype.mul=function mul(Wt){var Pt=Wt.clone();var en=this;var tn=this.curve.point(null,null);var nn=this;for(var an=[];Pt.cmpn(0)!==0;Pt.iushrn(1))an.push(Pt.andln(1));for(var In=an.length-1;In>=0;In--){if(an[In]===0){en=en.diffAdd(tn,nn);tn=tn.dbl()}else{tn=en.diffAdd(tn,nn);en=en.dbl()}}return tn};Point.prototype.mulAdd=function mulAdd(){throw new Error("Not supported on Montgomery curve")};Point.prototype.jumlAdd=function jumlAdd(){throw new Error("Not supported on Montgomery curve")};Point.prototype.eq=function eq(Wt){return this.getX().cmp(Wt.getX())===0};Point.prototype.normalize=function normalize(){this.x=this.x.redMul(this.z.redInvm());this.z=this.curve.one;return this};Point.prototype.getX=function getX(){this.normalize();return this.x.fromRed()}},23639:(Wt,Pt,en)=>{var tn=en(5028);var nn=en(7967);var an=en(39598);var In=en(58088);var rn=tn.assert;function ShortCurve(Wt){In.call(this,"short",Wt);this.a=new nn(Wt.a,16).toRed(this.red);this.b=new nn(Wt.b,16).toRed(this.red);this.tinv=this.two.redInvm();this.zeroA=this.a.fromRed().cmpn(0)===0;this.threeA=this.a.fromRed().sub(this.p).cmpn(-3)===0;this.endo=this._getEndomorphism(Wt);this._endoWnafT1=new Array(4);this._endoWnafT2=new Array(4)}an(ShortCurve,In);Wt.exports=ShortCurve;ShortCurve.prototype._getEndomorphism=function _getEndomorphism(Wt){if(!this.zeroA||!this.g||!this.n||this.p.modn(3)!==1)return;var Pt;var en;if(Wt.beta){Pt=new nn(Wt.beta,16).toRed(this.red)}else{var tn=this._getEndoRoots(this.p);Pt=tn[0].cmp(tn[1])<0?tn[0]:tn[1];Pt=Pt.toRed(this.red)}if(Wt.lambda){en=new nn(Wt.lambda,16)}else{var an=this._getEndoRoots(this.n);if(this.g.mul(an[0]).x.cmp(this.g.x.redMul(Pt))===0){en=an[0]}else{en=an[1];rn(this.g.mul(en).x.cmp(this.g.x.redMul(Pt))===0)}}var In;if(Wt.basis){In=Wt.basis.map((function(Wt){return{a:new nn(Wt.a,16),b:new nn(Wt.b,16)}}))}else{In=this._getEndoBasis(en)}return{beta:Pt,lambda:en,basis:In}};ShortCurve.prototype._getEndoRoots=function _getEndoRoots(Wt){var Pt=Wt===this.p?this.red:nn.mont(Wt);var en=new nn(2).toRed(Pt).redInvm();var tn=en.redNeg();var an=new nn(3).toRed(Pt).redNeg().redSqrt().redMul(en);var In=tn.redAdd(an).fromRed();var rn=tn.redSub(an).fromRed();return[In,rn]};ShortCurve.prototype._getEndoBasis=function _getEndoBasis(Wt){var Pt=this.n.ushrn(Math.floor(this.n.bitLength()/2));var en=Wt;var tn=this.n.clone();var an=new nn(1);var In=new nn(0);var rn=new nn(0);var sn=new nn(1);var on;var cn;var dn;var un;var pn;var mn;var bn;var Gn=0;var hn;var Zn;while(en.cmpn(0)!==0){var An=tn.div(en);hn=tn.sub(An.mul(en));Zn=rn.sub(An.mul(an));var Wn=sn.sub(An.mul(In));if(!dn&&hn.cmp(Pt)<0){on=bn.neg();cn=an;dn=hn.neg();un=Zn}else if(dn&&++Gn===2){break}bn=hn;tn=en;en=hn;rn=an;an=Zn;sn=In;In=Wn}pn=hn.neg();mn=Zn;var Nn=dn.sqr().add(un.sqr());var gn=pn.sqr().add(mn.sqr());if(gn.cmp(Nn)>=0){pn=on;mn=cn}if(dn.negative){dn=dn.neg();un=un.neg()}if(pn.negative){pn=pn.neg();mn=mn.neg()}return[{a:dn,b:un},{a:pn,b:mn}]};ShortCurve.prototype._endoSplit=function _endoSplit(Wt){var Pt=this.endo.basis;var en=Pt[0];var tn=Pt[1];var nn=tn.b.mul(Wt).divRound(this.n);var an=en.b.neg().mul(Wt).divRound(this.n);var In=nn.mul(en.a);var rn=an.mul(tn.a);var sn=nn.mul(en.b);var on=an.mul(tn.b);var cn=Wt.sub(In).sub(rn);var dn=sn.add(on).neg();return{k1:cn,k2:dn}};ShortCurve.prototype.pointFromX=function pointFromX(Wt,Pt){Wt=new nn(Wt,16);if(!Wt.red)Wt=Wt.toRed(this.red);var en=Wt.redSqr().redMul(Wt).redIAdd(Wt.redMul(this.a)).redIAdd(this.b);var tn=en.redSqrt();if(tn.redSqr().redSub(en).cmp(this.zero)!==0)throw new Error("invalid point");var an=tn.fromRed().isOdd();if(Pt&&!an||!Pt&&an)tn=tn.redNeg();return this.point(Wt,tn)};ShortCurve.prototype.validate=function validate(Wt){if(Wt.inf)return true;var Pt=Wt.x;var en=Wt.y;var tn=this.a.redMul(Pt);var nn=Pt.redSqr().redMul(Pt).redIAdd(tn).redIAdd(this.b);return en.redSqr().redISub(nn).cmpn(0)===0};ShortCurve.prototype._endoWnafMulAdd=function _endoWnafMulAdd(Wt,Pt,en){var tn=this._endoWnafT1;var nn=this._endoWnafT2;for(var an=0;an";return""};Point.prototype.isInfinity=function isInfinity(){return this.inf};Point.prototype.add=function add(Wt){if(this.inf)return Wt;if(Wt.inf)return this;if(this.eq(Wt))return this.dbl();if(this.neg().eq(Wt))return this.curve.point(null,null);if(this.x.cmp(Wt.x)===0)return this.curve.point(null,null);var Pt=this.y.redSub(Wt.y);if(Pt.cmpn(0)!==0)Pt=Pt.redMul(this.x.redSub(Wt.x).redInvm());var en=Pt.redSqr().redISub(this.x).redISub(Wt.x);var tn=Pt.redMul(this.x.redSub(en)).redISub(this.y);return this.curve.point(en,tn)};Point.prototype.dbl=function dbl(){if(this.inf)return this;var Wt=this.y.redAdd(this.y);if(Wt.cmpn(0)===0)return this.curve.point(null,null);var Pt=this.curve.a;var en=this.x.redSqr();var tn=Wt.redInvm();var nn=en.redAdd(en).redIAdd(en).redIAdd(Pt).redMul(tn);var an=nn.redSqr().redISub(this.x.redAdd(this.x));var In=nn.redMul(this.x.redSub(an)).redISub(this.y);return this.curve.point(an,In)};Point.prototype.getX=function getX(){return this.x.fromRed()};Point.prototype.getY=function getY(){return this.y.fromRed()};Point.prototype.mul=function mul(Wt){Wt=new nn(Wt,16);if(this.isInfinity())return this;else if(this._hasDoubles(Wt))return this.curve._fixedNafMul(this,Wt);else if(this.curve.endo)return this.curve._endoWnafMulAdd([this],[Wt]);else return this.curve._wnafMul(this,Wt)};Point.prototype.mulAdd=function mulAdd(Wt,Pt,en){var tn=[this,Pt];var nn=[Wt,en];if(this.curve.endo)return this.curve._endoWnafMulAdd(tn,nn);else return this.curve._wnafMulAdd(1,tn,nn,2)};Point.prototype.jmulAdd=function jmulAdd(Wt,Pt,en){var tn=[this,Pt];var nn=[Wt,en];if(this.curve.endo)return this.curve._endoWnafMulAdd(tn,nn,true);else return this.curve._wnafMulAdd(1,tn,nn,2,true)};Point.prototype.eq=function eq(Wt){return this===Wt||this.inf===Wt.inf&&(this.inf||this.x.cmp(Wt.x)===0&&this.y.cmp(Wt.y)===0)};Point.prototype.neg=function neg(Wt){if(this.inf)return this;var Pt=this.curve.point(this.x,this.y.redNeg());if(Wt&&this.precomputed){var en=this.precomputed;var negate=function(Wt){return Wt.neg()};Pt.precomputed={naf:en.naf&&{wnd:en.naf.wnd,points:en.naf.points.map(negate)},doubles:en.doubles&&{step:en.doubles.step,points:en.doubles.points.map(negate)}}}return Pt};Point.prototype.toJ=function toJ(){if(this.inf)return this.curve.jpoint(null,null,null);var Wt=this.curve.jpoint(this.x,this.y,this.curve.one);return Wt};function JPoint(Wt,Pt,en,tn){In.BasePoint.call(this,Wt,"jacobian");if(Pt===null&&en===null&&tn===null){this.x=this.curve.one;this.y=this.curve.one;this.z=new nn(0)}else{this.x=new nn(Pt,16);this.y=new nn(en,16);this.z=new nn(tn,16)}if(!this.x.red)this.x=this.x.toRed(this.curve.red);if(!this.y.red)this.y=this.y.toRed(this.curve.red);if(!this.z.red)this.z=this.z.toRed(this.curve.red);this.zOne=this.z===this.curve.one}an(JPoint,In.BasePoint);ShortCurve.prototype.jpoint=function jpoint(Wt,Pt,en){return new JPoint(this,Wt,Pt,en)};JPoint.prototype.toP=function toP(){if(this.isInfinity())return this.curve.point(null,null);var Wt=this.z.redInvm();var Pt=Wt.redSqr();var en=this.x.redMul(Pt);var tn=this.y.redMul(Pt).redMul(Wt);return this.curve.point(en,tn)};JPoint.prototype.neg=function neg(){return this.curve.jpoint(this.x,this.y.redNeg(),this.z)};JPoint.prototype.add=function add(Wt){if(this.isInfinity())return Wt;if(Wt.isInfinity())return this;var Pt=Wt.z.redSqr();var en=this.z.redSqr();var tn=this.x.redMul(Pt);var nn=Wt.x.redMul(en);var an=this.y.redMul(Pt.redMul(Wt.z));var In=Wt.y.redMul(en.redMul(this.z));var rn=tn.redSub(nn);var sn=an.redSub(In);if(rn.cmpn(0)===0){if(sn.cmpn(0)!==0)return this.curve.jpoint(null,null,null);else return this.dbl()}var on=rn.redSqr();var cn=on.redMul(rn);var dn=tn.redMul(on);var un=sn.redSqr().redIAdd(cn).redISub(dn).redISub(dn);var pn=sn.redMul(dn.redISub(un)).redISub(an.redMul(cn));var mn=this.z.redMul(Wt.z).redMul(rn);return this.curve.jpoint(un,pn,mn)};JPoint.prototype.mixedAdd=function mixedAdd(Wt){if(this.isInfinity())return Wt.toJ();if(Wt.isInfinity())return this;var Pt=this.z.redSqr();var en=this.x;var tn=Wt.x.redMul(Pt);var nn=this.y;var an=Wt.y.redMul(Pt).redMul(this.z);var In=en.redSub(tn);var rn=nn.redSub(an);if(In.cmpn(0)===0){if(rn.cmpn(0)!==0)return this.curve.jpoint(null,null,null);else return this.dbl()}var sn=In.redSqr();var on=sn.redMul(In);var cn=en.redMul(sn);var dn=rn.redSqr().redIAdd(on).redISub(cn).redISub(cn);var un=rn.redMul(cn.redISub(dn)).redISub(nn.redMul(on));var pn=this.z.redMul(In);return this.curve.jpoint(dn,un,pn)};JPoint.prototype.dblp=function dblp(Wt){if(Wt===0)return this;if(this.isInfinity())return this;if(!Wt)return this.dbl();var Pt;if(this.curve.zeroA||this.curve.threeA){var en=this;for(Pt=0;Pt=0)return false;en.redIAdd(nn);if(this.x.cmp(en)===0)return true}};JPoint.prototype.inspect=function inspect(){if(this.isInfinity())return"";return""};JPoint.prototype.isInfinity=function isInfinity(){return this.z.cmpn(0)===0}},30997:(Wt,Pt,en)=>{var tn=Pt;var nn=en(27477);var an=en(57773);var In=en(5028);var rn=In.assert;function PresetCurve(Wt){if(Wt.type==="short")this.curve=new an.short(Wt);else if(Wt.type==="edwards")this.curve=new an.edwards(Wt);else this.curve=new an.mont(Wt);this.g=this.curve.g;this.n=this.curve.n;this.hash=Wt.hash;rn(this.g.validate(),"Invalid curve");rn(this.g.mul(this.n).isInfinity(),"Invalid curve, G*N != O")}tn.PresetCurve=PresetCurve;function defineCurve(Wt,Pt){Object.defineProperty(tn,Wt,{configurable:true,enumerable:true,get:function(){var en=new PresetCurve(Pt);Object.defineProperty(tn,Wt,{configurable:true,enumerable:true,value:en});return en}})}defineCurve("p192",{type:"short",prime:"p192",p:"ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff",a:"ffffffff ffffffff ffffffff fffffffe ffffffff fffffffc",b:"64210519 e59c80e7 0fa7e9ab 72243049 feb8deec c146b9b1",n:"ffffffff ffffffff ffffffff 99def836 146bc9b1 b4d22831",hash:nn.sha256,gRed:false,g:["188da80e b03090f6 7cbf20eb 43a18800 f4ff0afd 82ff1012","07192b95 ffc8da78 631011ed 6b24cdd5 73f977a1 1e794811"]});defineCurve("p224",{type:"short",prime:"p224",p:"ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001",a:"ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff fffffffe",b:"b4050a85 0c04b3ab f5413256 5044b0b7 d7bfd8ba 270b3943 2355ffb4",n:"ffffffff ffffffff ffffffff ffff16a2 e0b8f03e 13dd2945 5c5c2a3d",hash:nn.sha256,gRed:false,g:["b70e0cbd 6bb4bf7f 321390b9 4a03c1d3 56c21122 343280d6 115c1d21","bd376388 b5f723fb 4c22dfe6 cd4375a0 5a074764 44d58199 85007e34"]});defineCurve("p256",{type:"short",prime:null,p:"ffffffff 00000001 00000000 00000000 00000000 ffffffff ffffffff ffffffff",a:"ffffffff 00000001 00000000 00000000 00000000 ffffffff ffffffff fffffffc",b:"5ac635d8 aa3a93e7 b3ebbd55 769886bc 651d06b0 cc53b0f6 3bce3c3e 27d2604b",n:"ffffffff 00000000 ffffffff ffffffff bce6faad a7179e84 f3b9cac2 fc632551",hash:nn.sha256,gRed:false,g:["6b17d1f2 e12c4247 f8bce6e5 63a440f2 77037d81 2deb33a0 f4a13945 d898c296","4fe342e2 fe1a7f9b 8ee7eb4a 7c0f9e16 2bce3357 6b315ece cbb64068 37bf51f5"]});defineCurve("p384",{type:"short",prime:null,p:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff "+"fffffffe ffffffff 00000000 00000000 ffffffff",a:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff "+"fffffffe ffffffff 00000000 00000000 fffffffc",b:"b3312fa7 e23ee7e4 988e056b e3f82d19 181d9c6e fe814112 0314088f "+"5013875a c656398d 8a2ed19d 2a85c8ed d3ec2aef",n:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff c7634d81 "+"f4372ddf 581a0db2 48b0a77a ecec196a ccc52973",hash:nn.sha384,gRed:false,g:["aa87ca22 be8b0537 8eb1c71e f320ad74 6e1d3b62 8ba79b98 59f741e0 82542a38 "+"5502f25d bf55296c 3a545e38 72760ab7","3617de4a 96262c6f 5d9e98bf 9292dc29 f8f41dbd 289a147c e9da3113 b5f0b8c0 "+"0a60b1ce 1d7e819d 7a431d7c 90ea0e5f"]});defineCurve("p521",{type:"short",prime:null,p:"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff "+"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff "+"ffffffff ffffffff ffffffff ffffffff ffffffff",a:"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff "+"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff "+"ffffffff ffffffff ffffffff ffffffff fffffffc",b:"00000051 953eb961 8e1c9a1f 929a21a0 b68540ee a2da725b "+"99b315f3 b8b48991 8ef109e1 56193951 ec7e937b 1652c0bd "+"3bb1bf07 3573df88 3d2c34f1 ef451fd4 6b503f00",n:"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff "+"ffffffff ffffffff fffffffa 51868783 bf2f966b 7fcc0148 "+"f709a5d0 3bb5c9b8 899c47ae bb6fb71e 91386409",hash:nn.sha512,gRed:false,g:["000000c6 858e06b7 0404e9cd 9e3ecb66 2395b442 9c648139 "+"053fb521 f828af60 6b4d3dba a14b5e77 efe75928 fe1dc127 "+"a2ffa8de 3348b3c1 856a429b f97e7e31 c2e5bd66","00000118 39296a78 9a3bc004 5c8a5fb4 2c7d1bd9 98f54449 "+"579b4468 17afbd17 273e662c 97ee7299 5ef42640 c550b901 "+"3fad0761 353c7086 a272c240 88be9476 9fd16650"]});defineCurve("curve25519",{type:"mont",prime:"p25519",p:"7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed",a:"76d06",b:"1",n:"1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed",hash:nn.sha256,gRed:false,g:["9"]});defineCurve("ed25519",{type:"edwards",prime:"p25519",p:"7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed",a:"-1",c:"1",d:"52036cee2b6ffe73 8cc740797779e898 00700a4d4141d8ab 75eb4dca135978a3",n:"1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed",hash:nn.sha256,gRed:false,g:["216936d3cd6e53fec0a4e231fdd6dc5c692cc7609525a7b2c9562d608f25d51a","6666666666666666666666666666666666666666666666666666666666666658"]});var sn;try{sn=en(82252)}catch(Wt){sn=undefined}defineCurve("secp256k1",{type:"short",prime:"k256",p:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f",a:"0",b:"7",n:"ffffffff ffffffff ffffffff fffffffe baaedce6 af48a03b bfd25e8c d0364141",h:"1",hash:nn.sha256,beta:"7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee",lambda:"5363ad4cc05c30e0a5261c028812645a122e22ea20816678df02967c1b23bd72",basis:[{a:"3086d221a7d46bcde86c90e49284eb15",b:"-e4437ed6010e88286f547fa90abfe4c3"},{a:"114ca50f7a8e2f3f657c1108d9d44cfd8",b:"3086d221a7d46bcde86c90e49284eb15"}],gRed:false,g:["79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798","483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8",sn]})},75070:(Wt,Pt,en)=>{var tn=en(7967);var nn=en(63768);var an=en(5028);var In=en(30997);var rn=en(49586);var sn=an.assert;var on=en(53993);var cn=en(24816);function EC(Wt){if(!(this instanceof EC))return new EC(Wt);if(typeof Wt==="string"){sn(Object.prototype.hasOwnProperty.call(In,Wt),"Unknown curve "+Wt);Wt=In[Wt]}if(Wt instanceof In.PresetCurve)Wt={curve:Wt};this.curve=Wt.curve.curve;this.n=this.curve.n;this.nh=this.n.ushrn(1);this.g=this.curve.g;this.g=Wt.curve.g;this.g.precompute(Wt.curve.n.bitLength()+1);this.hash=Wt.hash||Wt.curve.hash}Wt.exports=EC;EC.prototype.keyPair=function keyPair(Wt){return new on(this,Wt)};EC.prototype.keyFromPrivate=function keyFromPrivate(Wt,Pt){return on.fromPrivate(this,Wt,Pt)};EC.prototype.keyFromPublic=function keyFromPublic(Wt,Pt){return on.fromPublic(this,Wt,Pt)};EC.prototype.genKeyPair=function genKeyPair(Wt){if(!Wt)Wt={};var Pt=new nn({hash:this.hash,pers:Wt.pers,persEnc:Wt.persEnc||"utf8",entropy:Wt.entropy||rn(this.hash.hmacStrength),entropyEnc:Wt.entropy&&Wt.entropyEnc||"utf8",nonce:this.n.toArray()});var en=this.n.byteLength();var an=this.n.sub(new tn(2));for(;;){var In=new tn(Pt.generate(en));if(In.cmp(an)>0)continue;In.iaddn(1);return this.keyFromPrivate(In)}};EC.prototype._truncateToN=function _truncateToN(Wt,Pt){var en=Wt.byteLength()*8-this.n.bitLength();if(en>0)Wt=Wt.ushrn(en);if(!Pt&&Wt.cmp(this.n)>=0)return Wt.sub(this.n);else return Wt};EC.prototype.sign=function sign(Wt,Pt,en,an){if(typeof en==="object"){an=en;en=null}if(!an)an={};Pt=this.keyFromPrivate(Pt,en);Wt=this._truncateToN(new tn(Wt,16));var In=this.n.byteLength();var rn=Pt.getPrivate().toArray("be",In);var sn=Wt.toArray("be",In);var on=new nn({hash:this.hash,entropy:rn,nonce:sn,pers:an.pers,persEnc:an.persEnc||"utf8"});var dn=this.n.sub(new tn(1));for(var un=0;;un++){var pn=an.k?an.k(un):new tn(on.generate(this.n.byteLength()));pn=this._truncateToN(pn,true);if(pn.cmpn(1)<=0||pn.cmp(dn)>=0)continue;var mn=this.g.mul(pn);if(mn.isInfinity())continue;var bn=mn.getX();var Gn=bn.umod(this.n);if(Gn.cmpn(0)===0)continue;var hn=pn.invm(this.n).mul(Gn.mul(Pt.getPrivate()).iadd(Wt));hn=hn.umod(this.n);if(hn.cmpn(0)===0)continue;var Zn=(mn.getY().isOdd()?1:0)|(bn.cmp(Gn)!==0?2:0);if(an.canonical&&hn.cmp(this.nh)>0){hn=this.n.sub(hn);Zn^=1}return new cn({r:Gn,s:hn,recoveryParam:Zn})}};EC.prototype.verify=function verify(Wt,Pt,en,nn){Wt=this._truncateToN(new tn(Wt,16));en=this.keyFromPublic(en,nn);Pt=new cn(Pt,"hex");var an=Pt.r;var In=Pt.s;if(an.cmpn(1)<0||an.cmp(this.n)>=0)return false;if(In.cmpn(1)<0||In.cmp(this.n)>=0)return false;var rn=In.invm(this.n);var sn=rn.mul(Wt).umod(this.n);var on=rn.mul(an).umod(this.n);var dn;if(!this.curve._maxwellTrick){dn=this.g.mulAdd(sn,en.getPublic(),on);if(dn.isInfinity())return false;return dn.getX().umod(this.n).cmp(an)===0}dn=this.g.jmulAdd(sn,en.getPublic(),on);if(dn.isInfinity())return false;return dn.eqXToP(an)};EC.prototype.recoverPubKey=function(Wt,Pt,en,nn){sn((3&en)===en,"The recovery param is more than two bits");Pt=new cn(Pt,nn);var an=this.n;var In=new tn(Wt);var rn=Pt.r;var on=Pt.s;var dn=en&1;var un=en>>1;if(rn.cmp(this.curve.p.umod(this.curve.n))>=0&&un)throw new Error("Unable to find sencond key candinate");if(un)rn=this.curve.pointFromX(rn.add(this.curve.n),dn);else rn=this.curve.pointFromX(rn,dn);var pn=Pt.r.invm(an);var mn=an.sub(In).mul(pn).umod(an);var bn=on.mul(pn).umod(an);return this.g.mulAdd(mn,rn,bn)};EC.prototype.getKeyRecoveryParam=function(Wt,Pt,en,tn){Pt=new cn(Pt,tn);if(Pt.recoveryParam!==null)return Pt.recoveryParam;for(var nn=0;nn<4;nn++){var an;try{an=this.recoverPubKey(Wt,Pt,nn)}catch(Wt){continue}if(an.eq(en))return nn}throw new Error("Unable to find valid recovery factor")}},53993:(Wt,Pt,en)=>{var tn=en(7967);var nn=en(5028);var an=nn.assert;function KeyPair(Wt,Pt){this.ec=Wt;this.priv=null;this.pub=null;if(Pt.priv)this._importPrivate(Pt.priv,Pt.privEnc);if(Pt.pub)this._importPublic(Pt.pub,Pt.pubEnc)}Wt.exports=KeyPair;KeyPair.fromPublic=function fromPublic(Wt,Pt,en){if(Pt instanceof KeyPair)return Pt;return new KeyPair(Wt,{pub:Pt,pubEnc:en})};KeyPair.fromPrivate=function fromPrivate(Wt,Pt,en){if(Pt instanceof KeyPair)return Pt;return new KeyPair(Wt,{priv:Pt,privEnc:en})};KeyPair.prototype.validate=function validate(){var Wt=this.getPublic();if(Wt.isInfinity())return{result:false,reason:"Invalid public key"};if(!Wt.validate())return{result:false,reason:"Public key is not a point"};if(!Wt.mul(this.ec.curve.n).isInfinity())return{result:false,reason:"Public key * N != O"};return{result:true,reason:null}};KeyPair.prototype.getPublic=function getPublic(Wt,Pt){if(typeof Wt==="string"){Pt=Wt;Wt=null}if(!this.pub)this.pub=this.ec.g.mul(this.priv);if(!Pt)return this.pub;return this.pub.encode(Pt,Wt)};KeyPair.prototype.getPrivate=function getPrivate(Wt){if(Wt==="hex")return this.priv.toString(16,2);else return this.priv};KeyPair.prototype._importPrivate=function _importPrivate(Wt,Pt){this.priv=new tn(Wt,Pt||16);this.priv=this.priv.umod(this.ec.curve.n)};KeyPair.prototype._importPublic=function _importPublic(Wt,Pt){if(Wt.x||Wt.y){if(this.ec.curve.type==="mont"){an(Wt.x,"Need x coordinate")}else if(this.ec.curve.type==="short"||this.ec.curve.type==="edwards"){an(Wt.x&&Wt.y,"Need both x and y coordinate")}this.pub=this.ec.curve.point(Wt.x,Wt.y);return}this.pub=this.ec.curve.decodePoint(Wt,Pt)};KeyPair.prototype.derive=function derive(Wt){if(!Wt.validate()){an(Wt.validate(),"public point not validated")}return Wt.mul(this.priv).getX()};KeyPair.prototype.sign=function sign(Wt,Pt,en){return this.ec.sign(Wt,this,Pt,en)};KeyPair.prototype.verify=function verify(Wt,Pt){return this.ec.verify(Wt,Pt,this)};KeyPair.prototype.inspect=function inspect(){return""}},24816:(Wt,Pt,en)=>{var tn=en(7967);var nn=en(5028);var an=nn.assert;function Signature(Wt,Pt){if(Wt instanceof Signature)return Wt;if(this._importDER(Wt,Pt))return;an(Wt.r&&Wt.s,"Signature without r or s");this.r=new tn(Wt.r,16);this.s=new tn(Wt.s,16);if(Wt.recoveryParam===undefined)this.recoveryParam=null;else this.recoveryParam=Wt.recoveryParam}Wt.exports=Signature;function Position(){this.place=0}function getLength(Wt,Pt){var en=Wt[Pt.place++];if(!(en&128)){return en}var tn=en&15;if(tn===0||tn>4){return false}var nn=0;for(var an=0,In=Pt.place;an>>=0}if(nn<=127){return false}Pt.place=In;return nn}function rmPadding(Wt){var Pt=0;var en=Wt.length-1;while(!Wt[Pt]&&!(Wt[Pt+1]&128)&&Pt>>3);Wt.push(en|128);while(--en){Wt.push(Pt>>>(en<<3)&255)}Wt.push(Pt)}Signature.prototype.toDER=function toDER(Wt){var Pt=this.r.toArray();var en=this.s.toArray();if(Pt[0]&128)Pt=[0].concat(Pt);if(en[0]&128)en=[0].concat(en);Pt=rmPadding(Pt);en=rmPadding(en);while(!en[0]&&!(en[1]&128)){en=en.slice(1)}var tn=[2];constructLength(tn,Pt.length);tn=tn.concat(Pt);tn.push(2);constructLength(tn,en.length);var an=tn.concat(en);var In=[48];constructLength(In,an.length);In=In.concat(an);return nn.encode(In,Wt)}},93225:(Wt,Pt,en)=>{var tn=en(27477);var nn=en(30997);var an=en(5028);var In=an.assert;var rn=an.parseBytes;var sn=en(83898);var on=en(52303);function EDDSA(Wt){In(Wt==="ed25519","only tested with ed25519 so far");if(!(this instanceof EDDSA))return new EDDSA(Wt);Wt=nn[Wt].curve;this.curve=Wt;this.g=Wt.g;this.g.precompute(Wt.n.bitLength()+1);this.pointClass=Wt.point().constructor;this.encodingLength=Math.ceil(Wt.n.bitLength()/8);this.hash=tn.sha512}Wt.exports=EDDSA;EDDSA.prototype.sign=function sign(Wt,Pt){Wt=rn(Wt);var en=this.keyFromSecret(Pt);var tn=this.hashInt(en.messagePrefix(),Wt);var nn=this.g.mul(tn);var an=this.encodePoint(nn);var In=this.hashInt(an,en.pubBytes(),Wt).mul(en.priv());var sn=tn.add(In).umod(this.curve.n);return this.makeSignature({R:nn,S:sn,Rencoded:an})};EDDSA.prototype.verify=function verify(Wt,Pt,en){Wt=rn(Wt);Pt=this.makeSignature(Pt);var tn=this.keyFromPublic(en);var nn=this.hashInt(Pt.Rencoded(),tn.pubBytes(),Wt);var an=this.g.mul(Pt.S());var In=Pt.R().add(tn.pub().mul(nn));return In.eq(an)};EDDSA.prototype.hashInt=function hashInt(){var Wt=this.hash();for(var Pt=0;Pt{var tn=en(5028);var nn=tn.assert;var an=tn.parseBytes;var In=tn.cachedProperty;function KeyPair(Wt,Pt){this.eddsa=Wt;this._secret=an(Pt.secret);if(Wt.isPoint(Pt.pub))this._pub=Pt.pub;else this._pubBytes=an(Pt.pub)}KeyPair.fromPublic=function fromPublic(Wt,Pt){if(Pt instanceof KeyPair)return Pt;return new KeyPair(Wt,{pub:Pt})};KeyPair.fromSecret=function fromSecret(Wt,Pt){if(Pt instanceof KeyPair)return Pt;return new KeyPair(Wt,{secret:Pt})};KeyPair.prototype.secret=function secret(){return this._secret};In(KeyPair,"pubBytes",(function pubBytes(){return this.eddsa.encodePoint(this.pub())}));In(KeyPair,"pub",(function pub(){if(this._pubBytes)return this.eddsa.decodePoint(this._pubBytes);return this.eddsa.g.mul(this.priv())}));In(KeyPair,"privBytes",(function privBytes(){var Wt=this.eddsa;var Pt=this.hash();var en=Wt.encodingLength-1;var tn=Pt.slice(0,Wt.encodingLength);tn[0]&=248;tn[en]&=127;tn[en]|=64;return tn}));In(KeyPair,"priv",(function priv(){return this.eddsa.decodeInt(this.privBytes())}));In(KeyPair,"hash",(function hash(){return this.eddsa.hash().update(this.secret()).digest()}));In(KeyPair,"messagePrefix",(function messagePrefix(){return this.hash().slice(this.eddsa.encodingLength)}));KeyPair.prototype.sign=function sign(Wt){nn(this._secret,"KeyPair can only verify");return this.eddsa.sign(Wt,this)};KeyPair.prototype.verify=function verify(Wt,Pt){return this.eddsa.verify(Wt,Pt,this)};KeyPair.prototype.getSecret=function getSecret(Wt){nn(this._secret,"KeyPair is public only");return tn.encode(this.secret(),Wt)};KeyPair.prototype.getPublic=function getPublic(Wt){return tn.encode(this.pubBytes(),Wt)};Wt.exports=KeyPair},52303:(Wt,Pt,en)=>{var tn=en(7967);var nn=en(5028);var an=nn.assert;var In=nn.cachedProperty;var rn=nn.parseBytes;function Signature(Wt,Pt){this.eddsa=Wt;if(typeof Pt!=="object")Pt=rn(Pt);if(Array.isArray(Pt)){Pt={R:Pt.slice(0,Wt.encodingLength),S:Pt.slice(Wt.encodingLength)}}an(Pt.R&&Pt.S,"Signature without R or S");if(Wt.isPoint(Pt.R))this._R=Pt.R;if(Pt.S instanceof tn)this._S=Pt.S;this._Rencoded=Array.isArray(Pt.R)?Pt.R:Pt.Rencoded;this._Sencoded=Array.isArray(Pt.S)?Pt.S:Pt.Sencoded}In(Signature,"S",(function S(){return this.eddsa.decodeInt(this.Sencoded())}));In(Signature,"R",(function R(){return this.eddsa.decodePoint(this.Rencoded())}));In(Signature,"Rencoded",(function Rencoded(){return this.eddsa.encodePoint(this.R())}));In(Signature,"Sencoded",(function Sencoded(){return this.eddsa.encodeInt(this.S())}));Signature.prototype.toBytes=function toBytes(){return this.Rencoded().concat(this.Sencoded())};Signature.prototype.toHex=function toHex(){return nn.encode(this.toBytes(),"hex").toUpperCase()};Wt.exports=Signature},82252:Wt=>{Wt.exports={doubles:{step:4,points:[["e60fce93b59e9ec53011aabc21c23e97b2a31369b87a5ae9c44ee89e2a6dec0a","f7e3507399e595929db99f34f57937101296891e44d23f0be1f32cce69616821"],["8282263212c609d9ea2a6e3e172de238d8c39cabd5ac1ca10646e23fd5f51508","11f8a8098557dfe45e8256e830b60ace62d613ac2f7b17bed31b6eaff6e26caf"],["175e159f728b865a72f99cc6c6fc846de0b93833fd2222ed73fce5b551e5b739","d3506e0d9e3c79eba4ef97a51ff71f5eacb5955add24345c6efa6ffee9fed695"],["363d90d447b00c9c99ceac05b6262ee053441c7e55552ffe526bad8f83ff4640","4e273adfc732221953b445397f3363145b9a89008199ecb62003c7f3bee9de9"],["8b4b5f165df3c2be8c6244b5b745638843e4a781a15bcd1b69f79a55dffdf80c","4aad0a6f68d308b4b3fbd7813ab0da04f9e336546162ee56b3eff0c65fd4fd36"],["723cbaa6e5db996d6bf771c00bd548c7b700dbffa6c0e77bcb6115925232fcda","96e867b5595cc498a921137488824d6e2660a0653779494801dc069d9eb39f5f"],["eebfa4d493bebf98ba5feec812c2d3b50947961237a919839a533eca0e7dd7fa","5d9a8ca3970ef0f269ee7edaf178089d9ae4cdc3a711f712ddfd4fdae1de8999"],["100f44da696e71672791d0a09b7bde459f1215a29b3c03bfefd7835b39a48db0","cdd9e13192a00b772ec8f3300c090666b7ff4a18ff5195ac0fbd5cd62bc65a09"],["e1031be262c7ed1b1dc9227a4a04c017a77f8d4464f3b3852c8acde6e534fd2d","9d7061928940405e6bb6a4176597535af292dd419e1ced79a44f18f29456a00d"],["feea6cae46d55b530ac2839f143bd7ec5cf8b266a41d6af52d5e688d9094696d","e57c6b6c97dce1bab06e4e12bf3ecd5c981c8957cc41442d3155debf18090088"],["da67a91d91049cdcb367be4be6ffca3cfeed657d808583de33fa978bc1ec6cb1","9bacaa35481642bc41f463f7ec9780e5dec7adc508f740a17e9ea8e27a68be1d"],["53904faa0b334cdda6e000935ef22151ec08d0f7bb11069f57545ccc1a37b7c0","5bc087d0bc80106d88c9eccac20d3c1c13999981e14434699dcb096b022771c8"],["8e7bcd0bd35983a7719cca7764ca906779b53a043a9b8bcaeff959f43ad86047","10b7770b2a3da4b3940310420ca9514579e88e2e47fd68b3ea10047e8460372a"],["385eed34c1cdff21e6d0818689b81bde71a7f4f18397e6690a841e1599c43862","283bebc3e8ea23f56701de19e9ebf4576b304eec2086dc8cc0458fe5542e5453"],["6f9d9b803ecf191637c73a4413dfa180fddf84a5947fbc9c606ed86c3fac3a7","7c80c68e603059ba69b8e2a30e45c4d47ea4dd2f5c281002d86890603a842160"],["3322d401243c4e2582a2147c104d6ecbf774d163db0f5e5313b7e0e742d0e6bd","56e70797e9664ef5bfb019bc4ddaf9b72805f63ea2873af624f3a2e96c28b2a0"],["85672c7d2de0b7da2bd1770d89665868741b3f9af7643397721d74d28134ab83","7c481b9b5b43b2eb6374049bfa62c2e5e77f17fcc5298f44c8e3094f790313a6"],["948bf809b1988a46b06c9f1919413b10f9226c60f668832ffd959af60c82a0a","53a562856dcb6646dc6b74c5d1c3418c6d4dff08c97cd2bed4cb7f88d8c8e589"],["6260ce7f461801c34f067ce0f02873a8f1b0e44dfc69752accecd819f38fd8e8","bc2da82b6fa5b571a7f09049776a1ef7ecd292238051c198c1a84e95b2b4ae17"],["e5037de0afc1d8d43d8348414bbf4103043ec8f575bfdc432953cc8d2037fa2d","4571534baa94d3b5f9f98d09fb990bddbd5f5b03ec481f10e0e5dc841d755bda"],["e06372b0f4a207adf5ea905e8f1771b4e7e8dbd1c6a6c5b725866a0ae4fce725","7a908974bce18cfe12a27bb2ad5a488cd7484a7787104870b27034f94eee31dd"],["213c7a715cd5d45358d0bbf9dc0ce02204b10bdde2a3f58540ad6908d0559754","4b6dad0b5ae462507013ad06245ba190bb4850f5f36a7eeddff2c27534b458f2"],["4e7c272a7af4b34e8dbb9352a5419a87e2838c70adc62cddf0cc3a3b08fbd53c","17749c766c9d0b18e16fd09f6def681b530b9614bff7dd33e0b3941817dcaae6"],["fea74e3dbe778b1b10f238ad61686aa5c76e3db2be43057632427e2840fb27b6","6e0568db9b0b13297cf674deccb6af93126b596b973f7b77701d3db7f23cb96f"],["76e64113f677cf0e10a2570d599968d31544e179b760432952c02a4417bdde39","c90ddf8dee4e95cf577066d70681f0d35e2a33d2b56d2032b4b1752d1901ac01"],["c738c56b03b2abe1e8281baa743f8f9a8f7cc643df26cbee3ab150242bcbb891","893fb578951ad2537f718f2eacbfbbbb82314eef7880cfe917e735d9699a84c3"],["d895626548b65b81e264c7637c972877d1d72e5f3a925014372e9f6588f6c14b","febfaa38f2bc7eae728ec60818c340eb03428d632bb067e179363ed75d7d991f"],["b8da94032a957518eb0f6433571e8761ceffc73693e84edd49150a564f676e03","2804dfa44805a1e4d7c99cc9762808b092cc584d95ff3b511488e4e74efdf6e7"],["e80fea14441fb33a7d8adab9475d7fab2019effb5156a792f1a11778e3c0df5d","eed1de7f638e00771e89768ca3ca94472d155e80af322ea9fcb4291b6ac9ec78"],["a301697bdfcd704313ba48e51d567543f2a182031efd6915ddc07bbcc4e16070","7370f91cfb67e4f5081809fa25d40f9b1735dbf7c0a11a130c0d1a041e177ea1"],["90ad85b389d6b936463f9d0512678de208cc330b11307fffab7ac63e3fb04ed4","e507a3620a38261affdcbd9427222b839aefabe1582894d991d4d48cb6ef150"],["8f68b9d2f63b5f339239c1ad981f162ee88c5678723ea3351b7b444c9ec4c0da","662a9f2dba063986de1d90c2b6be215dbbea2cfe95510bfdf23cbf79501fff82"],["e4f3fb0176af85d65ff99ff9198c36091f48e86503681e3e6686fd5053231e11","1e63633ad0ef4f1c1661a6d0ea02b7286cc7e74ec951d1c9822c38576feb73bc"],["8c00fa9b18ebf331eb961537a45a4266c7034f2f0d4e1d0716fb6eae20eae29e","efa47267fea521a1a9dc343a3736c974c2fadafa81e36c54e7d2a4c66702414b"],["e7a26ce69dd4829f3e10cec0a9e98ed3143d084f308b92c0997fddfc60cb3e41","2a758e300fa7984b471b006a1aafbb18d0a6b2c0420e83e20e8a9421cf2cfd51"],["b6459e0ee3662ec8d23540c223bcbdc571cbcb967d79424f3cf29eb3de6b80ef","67c876d06f3e06de1dadf16e5661db3c4b3ae6d48e35b2ff30bf0b61a71ba45"],["d68a80c8280bb840793234aa118f06231d6f1fc67e73c5a5deda0f5b496943e8","db8ba9fff4b586d00c4b1f9177b0e28b5b0e7b8f7845295a294c84266b133120"],["324aed7df65c804252dc0270907a30b09612aeb973449cea4095980fc28d3d5d","648a365774b61f2ff130c0c35aec1f4f19213b0c7e332843967224af96ab7c84"],["4df9c14919cde61f6d51dfdbe5fee5dceec4143ba8d1ca888e8bd373fd054c96","35ec51092d8728050974c23a1d85d4b5d506cdc288490192ebac06cad10d5d"],["9c3919a84a474870faed8a9c1cc66021523489054d7f0308cbfc99c8ac1f98cd","ddb84f0f4a4ddd57584f044bf260e641905326f76c64c8e6be7e5e03d4fc599d"],["6057170b1dd12fdf8de05f281d8e06bb91e1493a8b91d4cc5a21382120a959e5","9a1af0b26a6a4807add9a2daf71df262465152bc3ee24c65e899be932385a2a8"],["a576df8e23a08411421439a4518da31880cef0fba7d4df12b1a6973eecb94266","40a6bf20e76640b2c92b97afe58cd82c432e10a7f514d9f3ee8be11ae1b28ec8"],["7778a78c28dec3e30a05fe9629de8c38bb30d1f5cf9a3a208f763889be58ad71","34626d9ab5a5b22ff7098e12f2ff580087b38411ff24ac563b513fc1fd9f43ac"],["928955ee637a84463729fd30e7afd2ed5f96274e5ad7e5cb09eda9c06d903ac","c25621003d3f42a827b78a13093a95eeac3d26efa8a8d83fc5180e935bcd091f"],["85d0fef3ec6db109399064f3a0e3b2855645b4a907ad354527aae75163d82751","1f03648413a38c0be29d496e582cf5663e8751e96877331582c237a24eb1f962"],["ff2b0dce97eece97c1c9b6041798b85dfdfb6d8882da20308f5404824526087e","493d13fef524ba188af4c4dc54d07936c7b7ed6fb90e2ceb2c951e01f0c29907"],["827fbbe4b1e880ea9ed2b2e6301b212b57f1ee148cd6dd28780e5e2cf856e241","c60f9c923c727b0b71bef2c67d1d12687ff7a63186903166d605b68baec293ec"],["eaa649f21f51bdbae7be4ae34ce6e5217a58fdce7f47f9aa7f3b58fa2120e2b3","be3279ed5bbbb03ac69a80f89879aa5a01a6b965f13f7e59d47a5305ba5ad93d"],["e4a42d43c5cf169d9391df6decf42ee541b6d8f0c9a137401e23632dda34d24f","4d9f92e716d1c73526fc99ccfb8ad34ce886eedfa8d8e4f13a7f7131deba9414"],["1ec80fef360cbdd954160fadab352b6b92b53576a88fea4947173b9d4300bf19","aeefe93756b5340d2f3a4958a7abbf5e0146e77f6295a07b671cdc1cc107cefd"],["146a778c04670c2f91b00af4680dfa8bce3490717d58ba889ddb5928366642be","b318e0ec3354028add669827f9d4b2870aaa971d2f7e5ed1d0b297483d83efd0"],["fa50c0f61d22e5f07e3acebb1aa07b128d0012209a28b9776d76a8793180eef9","6b84c6922397eba9b72cd2872281a68a5e683293a57a213b38cd8d7d3f4f2811"],["da1d61d0ca721a11b1a5bf6b7d88e8421a288ab5d5bba5220e53d32b5f067ec2","8157f55a7c99306c79c0766161c91e2966a73899d279b48a655fba0f1ad836f1"],["a8e282ff0c9706907215ff98e8fd416615311de0446f1e062a73b0610d064e13","7f97355b8db81c09abfb7f3c5b2515888b679a3e50dd6bd6cef7c73111f4cc0c"],["174a53b9c9a285872d39e56e6913cab15d59b1fa512508c022f382de8319497c","ccc9dc37abfc9c1657b4155f2c47f9e6646b3a1d8cb9854383da13ac079afa73"],["959396981943785c3d3e57edf5018cdbe039e730e4918b3d884fdff09475b7ba","2e7e552888c331dd8ba0386a4b9cd6849c653f64c8709385e9b8abf87524f2fd"],["d2a63a50ae401e56d645a1153b109a8fcca0a43d561fba2dbb51340c9d82b151","e82d86fb6443fcb7565aee58b2948220a70f750af484ca52d4142174dcf89405"],["64587e2335471eb890ee7896d7cfdc866bacbdbd3839317b3436f9b45617e073","d99fcdd5bf6902e2ae96dd6447c299a185b90a39133aeab358299e5e9faf6589"],["8481bde0e4e4d885b3a546d3e549de042f0aa6cea250e7fd358d6c86dd45e458","38ee7b8cba5404dd84a25bf39cecb2ca900a79c42b262e556d64b1b59779057e"],["13464a57a78102aa62b6979ae817f4637ffcfed3c4b1ce30bcd6303f6caf666b","69be159004614580ef7e433453ccb0ca48f300a81d0942e13f495a907f6ecc27"],["bc4a9df5b713fe2e9aef430bcc1dc97a0cd9ccede2f28588cada3a0d2d83f366","d3a81ca6e785c06383937adf4b798caa6e8a9fbfa547b16d758d666581f33c1"],["8c28a97bf8298bc0d23d8c749452a32e694b65e30a9472a3954ab30fe5324caa","40a30463a3305193378fedf31f7cc0eb7ae784f0451cb9459e71dc73cbef9482"],["8ea9666139527a8c1dd94ce4f071fd23c8b350c5a4bb33748c4ba111faccae0","620efabbc8ee2782e24e7c0cfb95c5d735b783be9cf0f8e955af34a30e62b945"],["dd3625faef5ba06074669716bbd3788d89bdde815959968092f76cc4eb9a9787","7a188fa3520e30d461da2501045731ca941461982883395937f68d00c644a573"],["f710d79d9eb962297e4f6232b40e8f7feb2bc63814614d692c12de752408221e","ea98e67232d3b3295d3b535532115ccac8612c721851617526ae47a9c77bfc82"]]},naf:{wnd:7,points:[["f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9","388f7b0f632de8140fe337e62a37f3566500a99934c2231b6cb9fd7584b8e672"],["2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4","d8ac222636e5e3d6d4dba9dda6c9c426f788271bab0d6840dca87d3aa6ac62d6"],["5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc","6aebca40ba255960a3178d6d861a54dba813d0b813fde7b5a5082628087264da"],["acd484e2f0c7f65309ad178a9f559abde09796974c57e714c35f110dfc27ccbe","cc338921b0a7d9fd64380971763b61e9add888a4375f8e0f05cc262ac64f9c37"],["774ae7f858a9411e5ef4246b70c65aac5649980be5c17891bbec17895da008cb","d984a032eb6b5e190243dd56d7b7b365372db1e2dff9d6a8301d74c9c953c61b"],["f28773c2d975288bc7d1d205c3748651b075fbc6610e58cddeeddf8f19405aa8","ab0902e8d880a89758212eb65cdaf473a1a06da521fa91f29b5cb52db03ed81"],["d7924d4f7d43ea965a465ae3095ff41131e5946f3c85f79e44adbcf8e27e080e","581e2872a86c72a683842ec228cc6defea40af2bd896d3a5c504dc9ff6a26b58"],["defdea4cdb677750a420fee807eacf21eb9898ae79b9768766e4faa04a2d4a34","4211ab0694635168e997b0ead2a93daeced1f4a04a95c0f6cfb199f69e56eb77"],["2b4ea0a797a443d293ef5cff444f4979f06acfebd7e86d277475656138385b6c","85e89bc037945d93b343083b5a1c86131a01f60c50269763b570c854e5c09b7a"],["352bbf4a4cdd12564f93fa332ce333301d9ad40271f8107181340aef25be59d5","321eb4075348f534d59c18259dda3e1f4a1b3b2e71b1039c67bd3d8bcf81998c"],["2fa2104d6b38d11b0230010559879124e42ab8dfeff5ff29dc9cdadd4ecacc3f","2de1068295dd865b64569335bd5dd80181d70ecfc882648423ba76b532b7d67"],["9248279b09b4d68dab21a9b066edda83263c3d84e09572e269ca0cd7f5453714","73016f7bf234aade5d1aa71bdea2b1ff3fc0de2a887912ffe54a32ce97cb3402"],["daed4f2be3a8bf278e70132fb0beb7522f570e144bf615c07e996d443dee8729","a69dce4a7d6c98e8d4a1aca87ef8d7003f83c230f3afa726ab40e52290be1c55"],["c44d12c7065d812e8acf28d7cbb19f9011ecd9e9fdf281b0e6a3b5e87d22e7db","2119a460ce326cdc76c45926c982fdac0e106e861edf61c5a039063f0e0e6482"],["6a245bf6dc698504c89a20cfded60853152b695336c28063b61c65cbd269e6b4","e022cf42c2bd4a708b3f5126f16a24ad8b33ba48d0423b6efd5e6348100d8a82"],["1697ffa6fd9de627c077e3d2fe541084ce13300b0bec1146f95ae57f0d0bd6a5","b9c398f186806f5d27561506e4557433a2cf15009e498ae7adee9d63d01b2396"],["605bdb019981718b986d0f07e834cb0d9deb8360ffb7f61df982345ef27a7479","2972d2de4f8d20681a78d93ec96fe23c26bfae84fb14db43b01e1e9056b8c49"],["62d14dab4150bf497402fdc45a215e10dcb01c354959b10cfe31c7e9d87ff33d","80fc06bd8cc5b01098088a1950eed0db01aa132967ab472235f5642483b25eaf"],["80c60ad0040f27dade5b4b06c408e56b2c50e9f56b9b8b425e555c2f86308b6f","1c38303f1cc5c30f26e66bad7fe72f70a65eed4cbe7024eb1aa01f56430bd57a"],["7a9375ad6167ad54aa74c6348cc54d344cc5dc9487d847049d5eabb0fa03c8fb","d0e3fa9eca8726909559e0d79269046bdc59ea10c70ce2b02d499ec224dc7f7"],["d528ecd9b696b54c907a9ed045447a79bb408ec39b68df504bb51f459bc3ffc9","eecf41253136e5f99966f21881fd656ebc4345405c520dbc063465b521409933"],["49370a4b5f43412ea25f514e8ecdad05266115e4a7ecb1387231808f8b45963","758f3f41afd6ed428b3081b0512fd62a54c3f3afbb5b6764b653052a12949c9a"],["77f230936ee88cbbd73df930d64702ef881d811e0e1498e2f1c13eb1fc345d74","958ef42a7886b6400a08266e9ba1b37896c95330d97077cbbe8eb3c7671c60d6"],["f2dac991cc4ce4b9ea44887e5c7c0bce58c80074ab9d4dbaeb28531b7739f530","e0dedc9b3b2f8dad4da1f32dec2531df9eb5fbeb0598e4fd1a117dba703a3c37"],["463b3d9f662621fb1b4be8fbbe2520125a216cdfc9dae3debcba4850c690d45b","5ed430d78c296c3543114306dd8622d7c622e27c970a1de31cb377b01af7307e"],["f16f804244e46e2a09232d4aff3b59976b98fac14328a2d1a32496b49998f247","cedabd9b82203f7e13d206fcdf4e33d92a6c53c26e5cce26d6579962c4e31df6"],["caf754272dc84563b0352b7a14311af55d245315ace27c65369e15f7151d41d1","cb474660ef35f5f2a41b643fa5e460575f4fa9b7962232a5c32f908318a04476"],["2600ca4b282cb986f85d0f1709979d8b44a09c07cb86d7c124497bc86f082120","4119b88753c15bd6a693b03fcddbb45d5ac6be74ab5f0ef44b0be9475a7e4b40"],["7635ca72d7e8432c338ec53cd12220bc01c48685e24f7dc8c602a7746998e435","91b649609489d613d1d5e590f78e6d74ecfc061d57048bad9e76f302c5b9c61"],["754e3239f325570cdbbf4a87deee8a66b7f2b33479d468fbc1a50743bf56cc18","673fb86e5bda30fb3cd0ed304ea49a023ee33d0197a695d0c5d98093c536683"],["e3e6bd1071a1e96aff57859c82d570f0330800661d1c952f9fe2694691d9b9e8","59c9e0bba394e76f40c0aa58379a3cb6a5a2283993e90c4167002af4920e37f5"],["186b483d056a033826ae73d88f732985c4ccb1f32ba35f4b4cc47fdcf04aa6eb","3b952d32c67cf77e2e17446e204180ab21fb8090895138b4a4a797f86e80888b"],["df9d70a6b9876ce544c98561f4be4f725442e6d2b737d9c91a8321724ce0963f","55eb2dafd84d6ccd5f862b785dc39d4ab157222720ef9da217b8c45cf2ba2417"],["5edd5cc23c51e87a497ca815d5dce0f8ab52554f849ed8995de64c5f34ce7143","efae9c8dbc14130661e8cec030c89ad0c13c66c0d17a2905cdc706ab7399a868"],["290798c2b6476830da12fe02287e9e777aa3fba1c355b17a722d362f84614fba","e38da76dcd440621988d00bcf79af25d5b29c094db2a23146d003afd41943e7a"],["af3c423a95d9f5b3054754efa150ac39cd29552fe360257362dfdecef4053b45","f98a3fd831eb2b749a93b0e6f35cfb40c8cd5aa667a15581bc2feded498fd9c6"],["766dbb24d134e745cccaa28c99bf274906bb66b26dcf98df8d2fed50d884249a","744b1152eacbe5e38dcc887980da38b897584a65fa06cedd2c924f97cbac5996"],["59dbf46f8c94759ba21277c33784f41645f7b44f6c596a58ce92e666191abe3e","c534ad44175fbc300f4ea6ce648309a042ce739a7919798cd85e216c4a307f6e"],["f13ada95103c4537305e691e74e9a4a8dd647e711a95e73cb62dc6018cfd87b8","e13817b44ee14de663bf4bc808341f326949e21a6a75c2570778419bdaf5733d"],["7754b4fa0e8aced06d4167a2c59cca4cda1869c06ebadfb6488550015a88522c","30e93e864e669d82224b967c3020b8fa8d1e4e350b6cbcc537a48b57841163a2"],["948dcadf5990e048aa3874d46abef9d701858f95de8041d2a6828c99e2262519","e491a42537f6e597d5d28a3224b1bc25df9154efbd2ef1d2cbba2cae5347d57e"],["7962414450c76c1689c7b48f8202ec37fb224cf5ac0bfa1570328a8a3d7c77ab","100b610ec4ffb4760d5c1fc133ef6f6b12507a051f04ac5760afa5b29db83437"],["3514087834964b54b15b160644d915485a16977225b8847bb0dd085137ec47ca","ef0afbb2056205448e1652c48e8127fc6039e77c15c2378b7e7d15a0de293311"],["d3cc30ad6b483e4bc79ce2c9dd8bc54993e947eb8df787b442943d3f7b527eaf","8b378a22d827278d89c5e9be8f9508ae3c2ad46290358630afb34db04eede0a4"],["1624d84780732860ce1c78fcbfefe08b2b29823db913f6493975ba0ff4847610","68651cf9b6da903e0914448c6cd9d4ca896878f5282be4c8cc06e2a404078575"],["733ce80da955a8a26902c95633e62a985192474b5af207da6df7b4fd5fc61cd4","f5435a2bd2badf7d485a4d8b8db9fcce3e1ef8e0201e4578c54673bc1dc5ea1d"],["15d9441254945064cf1a1c33bbd3b49f8966c5092171e699ef258dfab81c045c","d56eb30b69463e7234f5137b73b84177434800bacebfc685fc37bbe9efe4070d"],["a1d0fcf2ec9de675b612136e5ce70d271c21417c9d2b8aaaac138599d0717940","edd77f50bcb5a3cab2e90737309667f2641462a54070f3d519212d39c197a629"],["e22fbe15c0af8ccc5780c0735f84dbe9a790badee8245c06c7ca37331cb36980","a855babad5cd60c88b430a69f53a1a7a38289154964799be43d06d77d31da06"],["311091dd9860e8e20ee13473c1155f5f69635e394704eaa74009452246cfa9b3","66db656f87d1f04fffd1f04788c06830871ec5a64feee685bd80f0b1286d8374"],["34c1fd04d301be89b31c0442d3e6ac24883928b45a9340781867d4232ec2dbdf","9414685e97b1b5954bd46f730174136d57f1ceeb487443dc5321857ba73abee"],["f219ea5d6b54701c1c14de5b557eb42a8d13f3abbcd08affcc2a5e6b049b8d63","4cb95957e83d40b0f73af4544cccf6b1f4b08d3c07b27fb8d8c2962a400766d1"],["d7b8740f74a8fbaab1f683db8f45de26543a5490bca627087236912469a0b448","fa77968128d9c92ee1010f337ad4717eff15db5ed3c049b3411e0315eaa4593b"],["32d31c222f8f6f0ef86f7c98d3a3335ead5bcd32abdd94289fe4d3091aa824bf","5f3032f5892156e39ccd3d7915b9e1da2e6dac9e6f26e961118d14b8462e1661"],["7461f371914ab32671045a155d9831ea8793d77cd59592c4340f86cbc18347b5","8ec0ba238b96bec0cbdddcae0aa442542eee1ff50c986ea6b39847b3cc092ff6"],["ee079adb1df1860074356a25aa38206a6d716b2c3e67453d287698bad7b2b2d6","8dc2412aafe3be5c4c5f37e0ecc5f9f6a446989af04c4e25ebaac479ec1c8c1e"],["16ec93e447ec83f0467b18302ee620f7e65de331874c9dc72bfd8616ba9da6b5","5e4631150e62fb40d0e8c2a7ca5804a39d58186a50e497139626778e25b0674d"],["eaa5f980c245f6f038978290afa70b6bd8855897f98b6aa485b96065d537bd99","f65f5d3e292c2e0819a528391c994624d784869d7e6ea67fb18041024edc07dc"],["78c9407544ac132692ee1910a02439958ae04877151342ea96c4b6b35a49f51","f3e0319169eb9b85d5404795539a5e68fa1fbd583c064d2462b675f194a3ddb4"],["494f4be219a1a77016dcd838431aea0001cdc8ae7a6fc688726578d9702857a5","42242a969283a5f339ba7f075e36ba2af925ce30d767ed6e55f4b031880d562c"],["a598a8030da6d86c6bc7f2f5144ea549d28211ea58faa70ebf4c1e665c1fe9b5","204b5d6f84822c307e4b4a7140737aec23fc63b65b35f86a10026dbd2d864e6b"],["c41916365abb2b5d09192f5f2dbeafec208f020f12570a184dbadc3e58595997","4f14351d0087efa49d245b328984989d5caf9450f34bfc0ed16e96b58fa9913"],["841d6063a586fa475a724604da03bc5b92a2e0d2e0a36acfe4c73a5514742881","73867f59c0659e81904f9a1c7543698e62562d6744c169ce7a36de01a8d6154"],["5e95bb399a6971d376026947f89bde2f282b33810928be4ded112ac4d70e20d5","39f23f366809085beebfc71181313775a99c9aed7d8ba38b161384c746012865"],["36e4641a53948fd476c39f8a99fd974e5ec07564b5315d8bf99471bca0ef2f66","d2424b1b1abe4eb8164227b085c9aa9456ea13493fd563e06fd51cf5694c78fc"],["336581ea7bfbbb290c191a2f507a41cf5643842170e914faeab27c2c579f726","ead12168595fe1be99252129b6e56b3391f7ab1410cd1e0ef3dcdcabd2fda224"],["8ab89816dadfd6b6a1f2634fcf00ec8403781025ed6890c4849742706bd43ede","6fdcef09f2f6d0a044e654aef624136f503d459c3e89845858a47a9129cdd24e"],["1e33f1a746c9c5778133344d9299fcaa20b0938e8acff2544bb40284b8c5fb94","60660257dd11b3aa9c8ed618d24edff2306d320f1d03010e33a7d2057f3b3b6"],["85b7c1dcb3cec1b7ee7f30ded79dd20a0ed1f4cc18cbcfcfa410361fd8f08f31","3d98a9cdd026dd43f39048f25a8847f4fcafad1895d7a633c6fed3c35e999511"],["29df9fbd8d9e46509275f4b125d6d45d7fbe9a3b878a7af872a2800661ac5f51","b4c4fe99c775a606e2d8862179139ffda61dc861c019e55cd2876eb2a27d84b"],["a0b1cae06b0a847a3fea6e671aaf8adfdfe58ca2f768105c8082b2e449fce252","ae434102edde0958ec4b19d917a6a28e6b72da1834aff0e650f049503a296cf2"],["4e8ceafb9b3e9a136dc7ff67e840295b499dfb3b2133e4ba113f2e4c0e121e5","cf2174118c8b6d7a4b48f6d534ce5c79422c086a63460502b827ce62a326683c"],["d24a44e047e19b6f5afb81c7ca2f69080a5076689a010919f42725c2b789a33b","6fb8d5591b466f8fc63db50f1c0f1c69013f996887b8244d2cdec417afea8fa3"],["ea01606a7a6c9cdd249fdfcfacb99584001edd28abbab77b5104e98e8e3b35d4","322af4908c7312b0cfbfe369f7a7b3cdb7d4494bc2823700cfd652188a3ea98d"],["af8addbf2b661c8a6c6328655eb96651252007d8c5ea31be4ad196de8ce2131f","6749e67c029b85f52a034eafd096836b2520818680e26ac8f3dfbcdb71749700"],["e3ae1974566ca06cc516d47e0fb165a674a3dabcfca15e722f0e3450f45889","2aeabe7e4531510116217f07bf4d07300de97e4874f81f533420a72eeb0bd6a4"],["591ee355313d99721cf6993ffed1e3e301993ff3ed258802075ea8ced397e246","b0ea558a113c30bea60fc4775460c7901ff0b053d25ca2bdeee98f1a4be5d196"],["11396d55fda54c49f19aa97318d8da61fa8584e47b084945077cf03255b52984","998c74a8cd45ac01289d5833a7beb4744ff536b01b257be4c5767bea93ea57a4"],["3c5d2a1ba39c5a1790000738c9e0c40b8dcdfd5468754b6405540157e017aa7a","b2284279995a34e2f9d4de7396fc18b80f9b8b9fdd270f6661f79ca4c81bd257"],["cc8704b8a60a0defa3a99a7299f2e9c3fbc395afb04ac078425ef8a1793cc030","bdd46039feed17881d1e0862db347f8cf395b74fc4bcdc4e940b74e3ac1f1b13"],["c533e4f7ea8555aacd9777ac5cad29b97dd4defccc53ee7ea204119b2889b197","6f0a256bc5efdf429a2fb6242f1a43a2d9b925bb4a4b3a26bb8e0f45eb596096"],["c14f8f2ccb27d6f109f6d08d03cc96a69ba8c34eec07bbcf566d48e33da6593","c359d6923bb398f7fd4473e16fe1c28475b740dd098075e6c0e8649113dc3a38"],["a6cbc3046bc6a450bac24789fa17115a4c9739ed75f8f21ce441f72e0b90e6ef","21ae7f4680e889bb130619e2c0f95a360ceb573c70603139862afd617fa9b9f"],["347d6d9a02c48927ebfb86c1359b1caf130a3c0267d11ce6344b39f99d43cc38","60ea7f61a353524d1c987f6ecec92f086d565ab687870cb12689ff1e31c74448"],["da6545d2181db8d983f7dcb375ef5866d47c67b1bf31c8cf855ef7437b72656a","49b96715ab6878a79e78f07ce5680c5d6673051b4935bd897fea824b77dc208a"],["c40747cc9d012cb1a13b8148309c6de7ec25d6945d657146b9d5994b8feb1111","5ca560753be2a12fc6de6caf2cb489565db936156b9514e1bb5e83037e0fa2d4"],["4e42c8ec82c99798ccf3a610be870e78338c7f713348bd34c8203ef4037f3502","7571d74ee5e0fb92a7a8b33a07783341a5492144cc54bcc40a94473693606437"],["3775ab7089bc6af823aba2e1af70b236d251cadb0c86743287522a1b3b0dedea","be52d107bcfa09d8bcb9736a828cfa7fac8db17bf7a76a2c42ad961409018cf7"],["cee31cbf7e34ec379d94fb814d3d775ad954595d1314ba8846959e3e82f74e26","8fd64a14c06b589c26b947ae2bcf6bfa0149ef0be14ed4d80f448a01c43b1c6d"],["b4f9eaea09b6917619f6ea6a4eb5464efddb58fd45b1ebefcdc1a01d08b47986","39e5c9925b5a54b07433a4f18c61726f8bb131c012ca542eb24a8ac07200682a"],["d4263dfc3d2df923a0179a48966d30ce84e2515afc3dccc1b77907792ebcc60e","62dfaf07a0f78feb30e30d6295853ce189e127760ad6cf7fae164e122a208d54"],["48457524820fa65a4f8d35eb6930857c0032acc0a4a2de422233eeda897612c4","25a748ab367979d98733c38a1fa1c2e7dc6cc07db2d60a9ae7a76aaa49bd0f77"],["dfeeef1881101f2cb11644f3a2afdfc2045e19919152923f367a1767c11cceda","ecfb7056cf1de042f9420bab396793c0c390bde74b4bbdff16a83ae09a9a7517"],["6d7ef6b17543f8373c573f44e1f389835d89bcbc6062ced36c82df83b8fae859","cd450ec335438986dfefa10c57fea9bcc521a0959b2d80bbf74b190dca712d10"],["e75605d59102a5a2684500d3b991f2e3f3c88b93225547035af25af66e04541f","f5c54754a8f71ee540b9b48728473e314f729ac5308b06938360990e2bfad125"],["eb98660f4c4dfaa06a2be453d5020bc99a0c2e60abe388457dd43fefb1ed620c","6cb9a8876d9cb8520609af3add26cd20a0a7cd8a9411131ce85f44100099223e"],["13e87b027d8514d35939f2e6892b19922154596941888336dc3563e3b8dba942","fef5a3c68059a6dec5d624114bf1e91aac2b9da568d6abeb2570d55646b8adf1"],["ee163026e9fd6fe017c38f06a5be6fc125424b371ce2708e7bf4491691e5764a","1acb250f255dd61c43d94ccc670d0f58f49ae3fa15b96623e5430da0ad6c62b2"],["b268f5ef9ad51e4d78de3a750c2dc89b1e626d43505867999932e5db33af3d80","5f310d4b3c99b9ebb19f77d41c1dee018cf0d34fd4191614003e945a1216e423"],["ff07f3118a9df035e9fad85eb6c7bfe42b02f01ca99ceea3bf7ffdba93c4750d","438136d603e858a3a5c440c38eccbaddc1d2942114e2eddd4740d098ced1f0d8"],["8d8b9855c7c052a34146fd20ffb658bea4b9f69e0d825ebec16e8c3ce2b526a1","cdb559eedc2d79f926baf44fb84ea4d44bcf50fee51d7ceb30e2e7f463036758"],["52db0b5384dfbf05bfa9d472d7ae26dfe4b851ceca91b1eba54263180da32b63","c3b997d050ee5d423ebaf66a6db9f57b3180c902875679de924b69d84a7b375"],["e62f9490d3d51da6395efd24e80919cc7d0f29c3f3fa48c6fff543becbd43352","6d89ad7ba4876b0b22c2ca280c682862f342c8591f1daf5170e07bfd9ccafa7d"],["7f30ea2476b399b4957509c88f77d0191afa2ff5cb7b14fd6d8e7d65aaab1193","ca5ef7d4b231c94c3b15389a5f6311e9daff7bb67b103e9880ef4bff637acaec"],["5098ff1e1d9f14fb46a210fada6c903fef0fb7b4a1dd1d9ac60a0361800b7a00","9731141d81fc8f8084d37c6e7542006b3ee1b40d60dfe5362a5b132fd17ddc0"],["32b78c7de9ee512a72895be6b9cbefa6e2f3c4ccce445c96b9f2c81e2778ad58","ee1849f513df71e32efc3896ee28260c73bb80547ae2275ba497237794c8753c"],["e2cb74fddc8e9fbcd076eef2a7c72b0ce37d50f08269dfc074b581550547a4f7","d3aa2ed71c9dd2247a62df062736eb0baddea9e36122d2be8641abcb005cc4a4"],["8438447566d4d7bedadc299496ab357426009a35f235cb141be0d99cd10ae3a8","c4e1020916980a4da5d01ac5e6ad330734ef0d7906631c4f2390426b2edd791f"],["4162d488b89402039b584c6fc6c308870587d9c46f660b878ab65c82c711d67e","67163e903236289f776f22c25fb8a3afc1732f2b84b4e95dbda47ae5a0852649"],["3fad3fa84caf0f34f0f89bfd2dcf54fc175d767aec3e50684f3ba4a4bf5f683d","cd1bc7cb6cc407bb2f0ca647c718a730cf71872e7d0d2a53fa20efcdfe61826"],["674f2600a3007a00568c1a7ce05d0816c1fb84bf1370798f1c69532faeb1a86b","299d21f9413f33b3edf43b257004580b70db57da0b182259e09eecc69e0d38a5"],["d32f4da54ade74abb81b815ad1fb3b263d82d6c692714bcff87d29bd5ee9f08f","f9429e738b8e53b968e99016c059707782e14f4535359d582fc416910b3eea87"],["30e4e670435385556e593657135845d36fbb6931f72b08cb1ed954f1e3ce3ff6","462f9bce619898638499350113bbc9b10a878d35da70740dc695a559eb88db7b"],["be2062003c51cc3004682904330e4dee7f3dcd10b01e580bf1971b04d4cad297","62188bc49d61e5428573d48a74e1c655b1c61090905682a0d5558ed72dccb9bc"],["93144423ace3451ed29e0fb9ac2af211cb6e84a601df5993c419859fff5df04a","7c10dfb164c3425f5c71a3f9d7992038f1065224f72bb9d1d902a6d13037b47c"],["b015f8044f5fcbdcf21ca26d6c34fb8197829205c7b7d2a7cb66418c157b112c","ab8c1e086d04e813744a655b2df8d5f83b3cdc6faa3088c1d3aea1454e3a1d5f"],["d5e9e1da649d97d89e4868117a465a3a4f8a18de57a140d36b3f2af341a21b52","4cb04437f391ed73111a13cc1d4dd0db1693465c2240480d8955e8592f27447a"],["d3ae41047dd7ca065dbf8ed77b992439983005cd72e16d6f996a5316d36966bb","bd1aeb21ad22ebb22a10f0303417c6d964f8cdd7df0aca614b10dc14d125ac46"],["463e2763d885f958fc66cdd22800f0a487197d0a82e377b49f80af87c897b065","bfefacdb0e5d0fd7df3a311a94de062b26b80c61fbc97508b79992671ef7ca7f"],["7985fdfd127c0567c6f53ec1bb63ec3158e597c40bfe747c83cddfc910641917","603c12daf3d9862ef2b25fe1de289aed24ed291e0ec6708703a5bd567f32ed03"],["74a1ad6b5f76e39db2dd249410eac7f99e74c59cb83d2d0ed5ff1543da7703e9","cc6157ef18c9c63cd6193d83631bbea0093e0968942e8c33d5737fd790e0db08"],["30682a50703375f602d416664ba19b7fc9bab42c72747463a71d0896b22f6da3","553e04f6b018b4fa6c8f39e7f311d3176290d0e0f19ca73f17714d9977a22ff8"],["9e2158f0d7c0d5f26c3791efefa79597654e7a2b2464f52b1ee6c1347769ef57","712fcdd1b9053f09003a3481fa7762e9ffd7c8ef35a38509e2fbf2629008373"],["176e26989a43c9cfeba4029c202538c28172e566e3c4fce7322857f3be327d66","ed8cc9d04b29eb877d270b4878dc43c19aefd31f4eee09ee7b47834c1fa4b1c3"],["75d46efea3771e6e68abb89a13ad747ecf1892393dfc4f1b7004788c50374da8","9852390a99507679fd0b86fd2b39a868d7efc22151346e1a3ca4726586a6bed8"],["809a20c67d64900ffb698c4c825f6d5f2310fb0451c869345b7319f645605721","9e994980d9917e22b76b061927fa04143d096ccc54963e6a5ebfa5f3f8e286c1"],["1b38903a43f7f114ed4500b4eac7083fdefece1cf29c63528d563446f972c180","4036edc931a60ae889353f77fd53de4a2708b26b6f5da72ad3394119daf408f9"]]}}},5028:(Wt,Pt,en)=>{var tn=Pt;var nn=en(7967);var an=en(63798);var In=en(88660);tn.assert=an;tn.toArray=In.toArray;tn.zero2=In.zero2;tn.toHex=In.toHex;tn.encode=In.encode;function getNAF(Wt,Pt,en){var tn=new Array(Math.max(Wt.bitLength(),en)+1);tn.fill(0);var nn=1<(nn>>1)-1)rn=(nn>>1)-sn;else rn=sn;an.isubn(rn)}else{rn=0}tn[In]=rn;an.iushrn(1)}return tn}tn.getNAF=getNAF;function getJSF(Wt,Pt){var en=[[],[]];Wt=Wt.clone();Pt=Pt.clone();var tn=0;var nn=0;var an;while(Wt.cmpn(-tn)>0||Pt.cmpn(-nn)>0){var In=Wt.andln(3)+tn&3;var rn=Pt.andln(3)+nn&3;if(In===3)In=-1;if(rn===3)rn=-1;var sn;if((In&1)===0){sn=0}else{an=Wt.andln(7)+tn&7;if((an===3||an===5)&&rn===2)sn=-In;else sn=In}en[0].push(sn);var on;if((rn&1)===0){on=0}else{an=Pt.andln(7)+nn&7;if((an===3||an===5)&&In===2)on=-rn;else on=rn}en[1].push(on);if(2*tn===sn+1)tn=1-tn;if(2*nn===on+1)nn=1-nn;Wt.iushrn(1);Pt.iushrn(1)}return en}tn.getJSF=getJSF;function cachedProperty(Wt,Pt,en){var tn="_"+Pt;Wt.prototype[Pt]=function cachedProperty(){return this[tn]!==undefined?this[tn]:this[tn]=en.call(this)}}tn.cachedProperty=cachedProperty;function parseBytes(Wt){return typeof Wt==="string"?tn.toArray(Wt,"hex"):Wt}tn.parseBytes=parseBytes;function intFromLE(Wt){return new nn(Wt,"hex","le")}tn.intFromLE=intFromLE},7967:function(Wt,Pt,en){Wt=en.nmd(Wt);(function(Wt,Pt){"use strict";function assert(Wt,Pt){if(!Wt)throw new Error(Pt||"Assertion failed")}function inherits(Wt,Pt){Wt.super_=Pt;var TempCtor=function(){};TempCtor.prototype=Pt.prototype;Wt.prototype=new TempCtor;Wt.prototype.constructor=Wt}function BN(Wt,Pt,en){if(BN.isBN(Wt)){return Wt}this.negative=0;this.words=null;this.length=0;this.red=null;if(Wt!==null){if(Pt==="le"||Pt==="be"){en=Pt;Pt=10}this._init(Wt||0,Pt||10,en||"be")}}if(typeof Wt==="object"){Wt.exports=BN}else{Pt.BN=BN}BN.BN=BN;BN.wordSize=26;var tn;try{if(typeof window!=="undefined"&&typeof window.Buffer!=="undefined"){tn=window.Buffer}else{tn=en(20181).Buffer}}catch(Wt){}BN.isBN=function isBN(Wt){if(Wt instanceof BN){return true}return Wt!==null&&typeof Wt==="object"&&Wt.constructor.wordSize===BN.wordSize&&Array.isArray(Wt.words)};BN.max=function max(Wt,Pt){if(Wt.cmp(Pt)>0)return Wt;return Pt};BN.min=function min(Wt,Pt){if(Wt.cmp(Pt)<0)return Wt;return Pt};BN.prototype._init=function init(Wt,Pt,en){if(typeof Wt==="number"){return this._initNumber(Wt,Pt,en)}if(typeof Wt==="object"){return this._initArray(Wt,Pt,en)}if(Pt==="hex"){Pt=16}assert(Pt===(Pt|0)&&Pt>=2&&Pt<=36);Wt=Wt.toString().replace(/\s+/g,"");var tn=0;if(Wt[0]==="-"){tn++;this.negative=1}if(tn=0;tn-=3){an=Wt[tn]|Wt[tn-1]<<8|Wt[tn-2]<<16;this.words[nn]|=an<>>26-In&67108863;In+=24;if(In>=26){In-=26;nn++}}}else if(en==="le"){for(tn=0,nn=0;tn>>26-In&67108863;In+=24;if(In>=26){In-=26;nn++}}}return this.strip()};function parseHex4Bits(Wt,Pt){var en=Wt.charCodeAt(Pt);if(en>=65&&en<=70){return en-55}else if(en>=97&&en<=102){return en-87}else{return en-48&15}}function parseHexByte(Wt,Pt,en){var tn=parseHex4Bits(Wt,en);if(en-1>=Pt){tn|=parseHex4Bits(Wt,en-1)<<4}return tn}BN.prototype._parseHex=function _parseHex(Wt,Pt,en){this.length=Math.ceil((Wt.length-Pt)/6);this.words=new Array(this.length);for(var tn=0;tn=Pt;tn-=2){In=parseHexByte(Wt,Pt,tn)<=18){nn-=18;an+=1;this.words[an]|=In>>>26}else{nn+=8}}}else{var rn=Wt.length-Pt;for(tn=rn%2===0?Pt+1:Pt;tn=18){nn-=18;an+=1;this.words[an]|=In>>>26}else{nn+=8}}}this.strip()};function parseBase(Wt,Pt,en,tn){var nn=0;var an=Math.min(Wt.length,en);for(var In=Pt;In=49){nn+=rn-49+10}else if(rn>=17){nn+=rn-17+10}else{nn+=rn}}return nn}BN.prototype._parseBase=function _parseBase(Wt,Pt,en){this.words=[0];this.length=1;for(var tn=0,nn=1;nn<=67108863;nn*=Pt){tn++}tn--;nn=nn/Pt|0;var an=Wt.length-en;var In=an%tn;var rn=Math.min(an,an-In)+en;var sn=0;for(var on=en;on1&&this.words[this.length-1]===0){this.length--}return this._normSign()};BN.prototype._normSign=function _normSign(){if(this.length===1&&this.words[0]===0){this.negative=0}return this};BN.prototype.inspect=function inspect(){return(this.red?""};var nn=["","0","00","000","0000","00000","000000","0000000","00000000","000000000","0000000000","00000000000","000000000000","0000000000000","00000000000000","000000000000000","0000000000000000","00000000000000000","000000000000000000","0000000000000000000","00000000000000000000","000000000000000000000","0000000000000000000000","00000000000000000000000","000000000000000000000000","0000000000000000000000000"];var an=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5];var In=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];BN.prototype.toString=function toString(Wt,Pt){Wt=Wt||10;Pt=Pt|0||1;var en;if(Wt===16||Wt==="hex"){en="";var tn=0;var rn=0;for(var sn=0;sn>>24-tn&16777215;tn+=2;if(tn>=26){tn-=26;sn--}if(rn!==0||sn!==this.length-1){en=nn[6-cn.length]+cn+en}else{en=cn+en}}if(rn!==0){en=rn.toString(16)+en}while(en.length%Pt!==0){en="0"+en}if(this.negative!==0){en="-"+en}return en}if(Wt===(Wt|0)&&Wt>=2&&Wt<=36){var dn=an[Wt];var un=In[Wt];en="";var pn=this.clone();pn.negative=0;while(!pn.isZero()){var mn=pn.modn(un).toString(Wt);pn=pn.idivn(un);if(!pn.isZero()){en=nn[dn-mn.length]+mn+en}else{en=mn+en}}if(this.isZero()){en="0"+en}while(en.length%Pt!==0){en="0"+en}if(this.negative!==0){en="-"+en}return en}assert(false,"Base should be between 2 and 36")};BN.prototype.toNumber=function toNumber(){var Wt=this.words[0];if(this.length===2){Wt+=this.words[1]*67108864}else if(this.length===3&&this.words[2]===1){Wt+=4503599627370496+this.words[1]*67108864}else if(this.length>2){assert(false,"Number can only safely store up to 53 bits")}return this.negative!==0?-Wt:Wt};BN.prototype.toJSON=function toJSON(){return this.toString(16)};BN.prototype.toBuffer=function toBuffer(Wt,Pt){assert(typeof tn!=="undefined");return this.toArrayLike(tn,Wt,Pt)};BN.prototype.toArray=function toArray(Wt,Pt){return this.toArrayLike(Array,Wt,Pt)};BN.prototype.toArrayLike=function toArrayLike(Wt,Pt,en){var tn=this.byteLength();var nn=en||Math.max(1,tn);assert(tn<=nn,"byte array longer than desired length");assert(nn>0,"Requested array length <= 0");this.strip();var an=Pt==="le";var In=new Wt(nn);var rn,sn;var on=this.clone();if(!an){for(sn=0;sn=4096){en+=13;Pt>>>=13}if(Pt>=64){en+=7;Pt>>>=7}if(Pt>=8){en+=4;Pt>>>=4}if(Pt>=2){en+=2;Pt>>>=2}return en+Pt}}BN.prototype._zeroBits=function _zeroBits(Wt){if(Wt===0)return 26;var Pt=Wt;var en=0;if((Pt&8191)===0){en+=13;Pt>>>=13}if((Pt&127)===0){en+=7;Pt>>>=7}if((Pt&15)===0){en+=4;Pt>>>=4}if((Pt&3)===0){en+=2;Pt>>>=2}if((Pt&1)===0){en++}return en};BN.prototype.bitLength=function bitLength(){var Wt=this.words[this.length-1];var Pt=this._countBits(Wt);return(this.length-1)*26+Pt};function toBitArray(Wt){var Pt=new Array(Wt.bitLength());for(var en=0;en>>nn}return Pt}BN.prototype.zeroBits=function zeroBits(){if(this.isZero())return 0;var Wt=0;for(var Pt=0;PtWt.length)return this.clone().ior(Wt);return Wt.clone().ior(this)};BN.prototype.uor=function uor(Wt){if(this.length>Wt.length)return this.clone().iuor(Wt);return Wt.clone().iuor(this)};BN.prototype.iuand=function iuand(Wt){var Pt;if(this.length>Wt.length){Pt=Wt}else{Pt=this}for(var en=0;enWt.length)return this.clone().iand(Wt);return Wt.clone().iand(this)};BN.prototype.uand=function uand(Wt){if(this.length>Wt.length)return this.clone().iuand(Wt);return Wt.clone().iuand(this)};BN.prototype.iuxor=function iuxor(Wt){var Pt;var en;if(this.length>Wt.length){Pt=this;en=Wt}else{Pt=Wt;en=this}for(var tn=0;tnWt.length)return this.clone().ixor(Wt);return Wt.clone().ixor(this)};BN.prototype.uxor=function uxor(Wt){if(this.length>Wt.length)return this.clone().iuxor(Wt);return Wt.clone().iuxor(this)};BN.prototype.inotn=function inotn(Wt){assert(typeof Wt==="number"&&Wt>=0);var Pt=Math.ceil(Wt/26)|0;var en=Wt%26;this._expand(Pt);if(en>0){Pt--}for(var tn=0;tn0){this.words[tn]=~this.words[tn]&67108863>>26-en}return this.strip()};BN.prototype.notn=function notn(Wt){return this.clone().inotn(Wt)};BN.prototype.setn=function setn(Wt,Pt){assert(typeof Wt==="number"&&Wt>=0);var en=Wt/26|0;var tn=Wt%26;this._expand(en+1);if(Pt){this.words[en]=this.words[en]|1<Wt.length){en=this;tn=Wt}else{en=Wt;tn=this}var nn=0;for(var an=0;an>>26}for(;nn!==0&&an>>26}this.length=en.length;if(nn!==0){this.words[this.length]=nn;this.length++}else if(en!==this){for(;anWt.length)return this.clone().iadd(Wt);return Wt.clone().iadd(this)};BN.prototype.isub=function isub(Wt){if(Wt.negative!==0){Wt.negative=0;var Pt=this.iadd(Wt);Wt.negative=1;return Pt._normSign()}else if(this.negative!==0){this.negative=0;this.iadd(Wt);this.negative=1;return this._normSign()}var en=this.cmp(Wt);if(en===0){this.negative=0;this.length=1;this.words[0]=0;return this}var tn,nn;if(en>0){tn=this;nn=Wt}else{tn=Wt;nn=this}var an=0;for(var In=0;In>26;this.words[In]=Pt&67108863}for(;an!==0&&In>26;this.words[In]=Pt&67108863}if(an===0&&In>>26;var dn=sn&67108863;var un=Math.min(on,Pt.length-1);for(var pn=Math.max(0,on-Wt.length+1);pn<=un;pn++){var mn=on-pn|0;nn=Wt.words[mn]|0;an=Pt.words[pn]|0;In=nn*an+dn;cn+=In/67108864|0;dn=In&67108863}en.words[on]=dn|0;sn=cn|0}if(sn!==0){en.words[on]=sn|0}else{en.length--}return en.strip()}var rn=function comb10MulTo(Wt,Pt,en){var tn=Wt.words;var nn=Pt.words;var an=en.words;var In=0;var rn;var sn;var on;var cn=tn[0]|0;var dn=cn&8191;var un=cn>>>13;var pn=tn[1]|0;var mn=pn&8191;var bn=pn>>>13;var Gn=tn[2]|0;var hn=Gn&8191;var Zn=Gn>>>13;var An=tn[3]|0;var Wn=An&8191;var Nn=An>>>13;var gn=tn[4]|0;var yn=gn&8191;var vn=gn>>>13;var Yn=tn[5]|0;var En=Yn&8191;var Vn=Yn>>>13;var Rn=tn[6]|0;var wn=Rn&8191;var Fn=Rn>>>13;var Qn=tn[7]|0;var fn=Qn&8191;var Hn=Qn>>>13;var Cn=tn[8]|0;var Xn=Cn&8191;var kn=Cn>>>13;var Jn=tn[9]|0;var Ln=Jn&8191;var Bn=Jn>>>13;var xn=nn[0]|0;var On=xn&8191;var Tn=xn>>>13;var Un=nn[1]|0;var Mn=Un&8191;var zn=Un>>>13;var Sn=nn[2]|0;var Dn=Sn&8191;var jn=Sn>>>13;var _n=nn[3]|0;var Kn=_n&8191;var Pn=_n>>>13;var qn=nn[4]|0;var $n=qn&8191;var el=qn>>>13;var tl=nn[5]|0;var nl=tl&8191;var ll=tl>>>13;var al=nn[6]|0;var Il=al&8191;var rl=al>>>13;var sl=nn[7]|0;var ol=sl&8191;var cl=sl>>>13;var il=nn[8]|0;var dl=il&8191;var ul=il>>>13;var pl=nn[9]|0;var ml=pl&8191;var bl=pl>>>13;en.negative=Wt.negative^Pt.negative;en.length=19;rn=Math.imul(dn,On);sn=Math.imul(dn,Tn);sn=sn+Math.imul(un,On)|0;on=Math.imul(un,Tn);var Gl=(In+rn|0)+((sn&8191)<<13)|0;In=(on+(sn>>>13)|0)+(Gl>>>26)|0;Gl&=67108863;rn=Math.imul(mn,On);sn=Math.imul(mn,Tn);sn=sn+Math.imul(bn,On)|0;on=Math.imul(bn,Tn);rn=rn+Math.imul(dn,Mn)|0;sn=sn+Math.imul(dn,zn)|0;sn=sn+Math.imul(un,Mn)|0;on=on+Math.imul(un,zn)|0;var hl=(In+rn|0)+((sn&8191)<<13)|0;In=(on+(sn>>>13)|0)+(hl>>>26)|0;hl&=67108863;rn=Math.imul(hn,On);sn=Math.imul(hn,Tn);sn=sn+Math.imul(Zn,On)|0;on=Math.imul(Zn,Tn);rn=rn+Math.imul(mn,Mn)|0;sn=sn+Math.imul(mn,zn)|0;sn=sn+Math.imul(bn,Mn)|0;on=on+Math.imul(bn,zn)|0;rn=rn+Math.imul(dn,Dn)|0;sn=sn+Math.imul(dn,jn)|0;sn=sn+Math.imul(un,Dn)|0;on=on+Math.imul(un,jn)|0;var Zl=(In+rn|0)+((sn&8191)<<13)|0;In=(on+(sn>>>13)|0)+(Zl>>>26)|0;Zl&=67108863;rn=Math.imul(Wn,On);sn=Math.imul(Wn,Tn);sn=sn+Math.imul(Nn,On)|0;on=Math.imul(Nn,Tn);rn=rn+Math.imul(hn,Mn)|0;sn=sn+Math.imul(hn,zn)|0;sn=sn+Math.imul(Zn,Mn)|0;on=on+Math.imul(Zn,zn)|0;rn=rn+Math.imul(mn,Dn)|0;sn=sn+Math.imul(mn,jn)|0;sn=sn+Math.imul(bn,Dn)|0;on=on+Math.imul(bn,jn)|0;rn=rn+Math.imul(dn,Kn)|0;sn=sn+Math.imul(dn,Pn)|0;sn=sn+Math.imul(un,Kn)|0;on=on+Math.imul(un,Pn)|0;var Al=(In+rn|0)+((sn&8191)<<13)|0;In=(on+(sn>>>13)|0)+(Al>>>26)|0;Al&=67108863;rn=Math.imul(yn,On);sn=Math.imul(yn,Tn);sn=sn+Math.imul(vn,On)|0;on=Math.imul(vn,Tn);rn=rn+Math.imul(Wn,Mn)|0;sn=sn+Math.imul(Wn,zn)|0;sn=sn+Math.imul(Nn,Mn)|0;on=on+Math.imul(Nn,zn)|0;rn=rn+Math.imul(hn,Dn)|0;sn=sn+Math.imul(hn,jn)|0;sn=sn+Math.imul(Zn,Dn)|0;on=on+Math.imul(Zn,jn)|0;rn=rn+Math.imul(mn,Kn)|0;sn=sn+Math.imul(mn,Pn)|0;sn=sn+Math.imul(bn,Kn)|0;on=on+Math.imul(bn,Pn)|0;rn=rn+Math.imul(dn,$n)|0;sn=sn+Math.imul(dn,el)|0;sn=sn+Math.imul(un,$n)|0;on=on+Math.imul(un,el)|0;var Wl=(In+rn|0)+((sn&8191)<<13)|0;In=(on+(sn>>>13)|0)+(Wl>>>26)|0;Wl&=67108863;rn=Math.imul(En,On);sn=Math.imul(En,Tn);sn=sn+Math.imul(Vn,On)|0;on=Math.imul(Vn,Tn);rn=rn+Math.imul(yn,Mn)|0;sn=sn+Math.imul(yn,zn)|0;sn=sn+Math.imul(vn,Mn)|0;on=on+Math.imul(vn,zn)|0;rn=rn+Math.imul(Wn,Dn)|0;sn=sn+Math.imul(Wn,jn)|0;sn=sn+Math.imul(Nn,Dn)|0;on=on+Math.imul(Nn,jn)|0;rn=rn+Math.imul(hn,Kn)|0;sn=sn+Math.imul(hn,Pn)|0;sn=sn+Math.imul(Zn,Kn)|0;on=on+Math.imul(Zn,Pn)|0;rn=rn+Math.imul(mn,$n)|0;sn=sn+Math.imul(mn,el)|0;sn=sn+Math.imul(bn,$n)|0;on=on+Math.imul(bn,el)|0;rn=rn+Math.imul(dn,nl)|0;sn=sn+Math.imul(dn,ll)|0;sn=sn+Math.imul(un,nl)|0;on=on+Math.imul(un,ll)|0;var Nl=(In+rn|0)+((sn&8191)<<13)|0;In=(on+(sn>>>13)|0)+(Nl>>>26)|0;Nl&=67108863;rn=Math.imul(wn,On);sn=Math.imul(wn,Tn);sn=sn+Math.imul(Fn,On)|0;on=Math.imul(Fn,Tn);rn=rn+Math.imul(En,Mn)|0;sn=sn+Math.imul(En,zn)|0;sn=sn+Math.imul(Vn,Mn)|0;on=on+Math.imul(Vn,zn)|0;rn=rn+Math.imul(yn,Dn)|0;sn=sn+Math.imul(yn,jn)|0;sn=sn+Math.imul(vn,Dn)|0;on=on+Math.imul(vn,jn)|0;rn=rn+Math.imul(Wn,Kn)|0;sn=sn+Math.imul(Wn,Pn)|0;sn=sn+Math.imul(Nn,Kn)|0;on=on+Math.imul(Nn,Pn)|0;rn=rn+Math.imul(hn,$n)|0;sn=sn+Math.imul(hn,el)|0;sn=sn+Math.imul(Zn,$n)|0;on=on+Math.imul(Zn,el)|0;rn=rn+Math.imul(mn,nl)|0;sn=sn+Math.imul(mn,ll)|0;sn=sn+Math.imul(bn,nl)|0;on=on+Math.imul(bn,ll)|0;rn=rn+Math.imul(dn,Il)|0;sn=sn+Math.imul(dn,rl)|0;sn=sn+Math.imul(un,Il)|0;on=on+Math.imul(un,rl)|0;var gl=(In+rn|0)+((sn&8191)<<13)|0;In=(on+(sn>>>13)|0)+(gl>>>26)|0;gl&=67108863;rn=Math.imul(fn,On);sn=Math.imul(fn,Tn);sn=sn+Math.imul(Hn,On)|0;on=Math.imul(Hn,Tn);rn=rn+Math.imul(wn,Mn)|0;sn=sn+Math.imul(wn,zn)|0;sn=sn+Math.imul(Fn,Mn)|0;on=on+Math.imul(Fn,zn)|0;rn=rn+Math.imul(En,Dn)|0;sn=sn+Math.imul(En,jn)|0;sn=sn+Math.imul(Vn,Dn)|0;on=on+Math.imul(Vn,jn)|0;rn=rn+Math.imul(yn,Kn)|0;sn=sn+Math.imul(yn,Pn)|0;sn=sn+Math.imul(vn,Kn)|0;on=on+Math.imul(vn,Pn)|0;rn=rn+Math.imul(Wn,$n)|0;sn=sn+Math.imul(Wn,el)|0;sn=sn+Math.imul(Nn,$n)|0;on=on+Math.imul(Nn,el)|0;rn=rn+Math.imul(hn,nl)|0;sn=sn+Math.imul(hn,ll)|0;sn=sn+Math.imul(Zn,nl)|0;on=on+Math.imul(Zn,ll)|0;rn=rn+Math.imul(mn,Il)|0;sn=sn+Math.imul(mn,rl)|0;sn=sn+Math.imul(bn,Il)|0;on=on+Math.imul(bn,rl)|0;rn=rn+Math.imul(dn,ol)|0;sn=sn+Math.imul(dn,cl)|0;sn=sn+Math.imul(un,ol)|0;on=on+Math.imul(un,cl)|0;var yl=(In+rn|0)+((sn&8191)<<13)|0;In=(on+(sn>>>13)|0)+(yl>>>26)|0;yl&=67108863;rn=Math.imul(Xn,On);sn=Math.imul(Xn,Tn);sn=sn+Math.imul(kn,On)|0;on=Math.imul(kn,Tn);rn=rn+Math.imul(fn,Mn)|0;sn=sn+Math.imul(fn,zn)|0;sn=sn+Math.imul(Hn,Mn)|0;on=on+Math.imul(Hn,zn)|0;rn=rn+Math.imul(wn,Dn)|0;sn=sn+Math.imul(wn,jn)|0;sn=sn+Math.imul(Fn,Dn)|0;on=on+Math.imul(Fn,jn)|0;rn=rn+Math.imul(En,Kn)|0;sn=sn+Math.imul(En,Pn)|0;sn=sn+Math.imul(Vn,Kn)|0;on=on+Math.imul(Vn,Pn)|0;rn=rn+Math.imul(yn,$n)|0;sn=sn+Math.imul(yn,el)|0;sn=sn+Math.imul(vn,$n)|0;on=on+Math.imul(vn,el)|0;rn=rn+Math.imul(Wn,nl)|0;sn=sn+Math.imul(Wn,ll)|0;sn=sn+Math.imul(Nn,nl)|0;on=on+Math.imul(Nn,ll)|0;rn=rn+Math.imul(hn,Il)|0;sn=sn+Math.imul(hn,rl)|0;sn=sn+Math.imul(Zn,Il)|0;on=on+Math.imul(Zn,rl)|0;rn=rn+Math.imul(mn,ol)|0;sn=sn+Math.imul(mn,cl)|0;sn=sn+Math.imul(bn,ol)|0;on=on+Math.imul(bn,cl)|0;rn=rn+Math.imul(dn,dl)|0;sn=sn+Math.imul(dn,ul)|0;sn=sn+Math.imul(un,dl)|0;on=on+Math.imul(un,ul)|0;var vl=(In+rn|0)+((sn&8191)<<13)|0;In=(on+(sn>>>13)|0)+(vl>>>26)|0;vl&=67108863;rn=Math.imul(Ln,On);sn=Math.imul(Ln,Tn);sn=sn+Math.imul(Bn,On)|0;on=Math.imul(Bn,Tn);rn=rn+Math.imul(Xn,Mn)|0;sn=sn+Math.imul(Xn,zn)|0;sn=sn+Math.imul(kn,Mn)|0;on=on+Math.imul(kn,zn)|0;rn=rn+Math.imul(fn,Dn)|0;sn=sn+Math.imul(fn,jn)|0;sn=sn+Math.imul(Hn,Dn)|0;on=on+Math.imul(Hn,jn)|0;rn=rn+Math.imul(wn,Kn)|0;sn=sn+Math.imul(wn,Pn)|0;sn=sn+Math.imul(Fn,Kn)|0;on=on+Math.imul(Fn,Pn)|0;rn=rn+Math.imul(En,$n)|0;sn=sn+Math.imul(En,el)|0;sn=sn+Math.imul(Vn,$n)|0;on=on+Math.imul(Vn,el)|0;rn=rn+Math.imul(yn,nl)|0;sn=sn+Math.imul(yn,ll)|0;sn=sn+Math.imul(vn,nl)|0;on=on+Math.imul(vn,ll)|0;rn=rn+Math.imul(Wn,Il)|0;sn=sn+Math.imul(Wn,rl)|0;sn=sn+Math.imul(Nn,Il)|0;on=on+Math.imul(Nn,rl)|0;rn=rn+Math.imul(hn,ol)|0;sn=sn+Math.imul(hn,cl)|0;sn=sn+Math.imul(Zn,ol)|0;on=on+Math.imul(Zn,cl)|0;rn=rn+Math.imul(mn,dl)|0;sn=sn+Math.imul(mn,ul)|0;sn=sn+Math.imul(bn,dl)|0;on=on+Math.imul(bn,ul)|0;rn=rn+Math.imul(dn,ml)|0;sn=sn+Math.imul(dn,bl)|0;sn=sn+Math.imul(un,ml)|0;on=on+Math.imul(un,bl)|0;var Yl=(In+rn|0)+((sn&8191)<<13)|0;In=(on+(sn>>>13)|0)+(Yl>>>26)|0;Yl&=67108863;rn=Math.imul(Ln,Mn);sn=Math.imul(Ln,zn);sn=sn+Math.imul(Bn,Mn)|0;on=Math.imul(Bn,zn);rn=rn+Math.imul(Xn,Dn)|0;sn=sn+Math.imul(Xn,jn)|0;sn=sn+Math.imul(kn,Dn)|0;on=on+Math.imul(kn,jn)|0;rn=rn+Math.imul(fn,Kn)|0;sn=sn+Math.imul(fn,Pn)|0;sn=sn+Math.imul(Hn,Kn)|0;on=on+Math.imul(Hn,Pn)|0;rn=rn+Math.imul(wn,$n)|0;sn=sn+Math.imul(wn,el)|0;sn=sn+Math.imul(Fn,$n)|0;on=on+Math.imul(Fn,el)|0;rn=rn+Math.imul(En,nl)|0;sn=sn+Math.imul(En,ll)|0;sn=sn+Math.imul(Vn,nl)|0;on=on+Math.imul(Vn,ll)|0;rn=rn+Math.imul(yn,Il)|0;sn=sn+Math.imul(yn,rl)|0;sn=sn+Math.imul(vn,Il)|0;on=on+Math.imul(vn,rl)|0;rn=rn+Math.imul(Wn,ol)|0;sn=sn+Math.imul(Wn,cl)|0;sn=sn+Math.imul(Nn,ol)|0;on=on+Math.imul(Nn,cl)|0;rn=rn+Math.imul(hn,dl)|0;sn=sn+Math.imul(hn,ul)|0;sn=sn+Math.imul(Zn,dl)|0;on=on+Math.imul(Zn,ul)|0;rn=rn+Math.imul(mn,ml)|0;sn=sn+Math.imul(mn,bl)|0;sn=sn+Math.imul(bn,ml)|0;on=on+Math.imul(bn,bl)|0;var El=(In+rn|0)+((sn&8191)<<13)|0;In=(on+(sn>>>13)|0)+(El>>>26)|0;El&=67108863;rn=Math.imul(Ln,Dn);sn=Math.imul(Ln,jn);sn=sn+Math.imul(Bn,Dn)|0;on=Math.imul(Bn,jn);rn=rn+Math.imul(Xn,Kn)|0;sn=sn+Math.imul(Xn,Pn)|0;sn=sn+Math.imul(kn,Kn)|0;on=on+Math.imul(kn,Pn)|0;rn=rn+Math.imul(fn,$n)|0;sn=sn+Math.imul(fn,el)|0;sn=sn+Math.imul(Hn,$n)|0;on=on+Math.imul(Hn,el)|0;rn=rn+Math.imul(wn,nl)|0;sn=sn+Math.imul(wn,ll)|0;sn=sn+Math.imul(Fn,nl)|0;on=on+Math.imul(Fn,ll)|0;rn=rn+Math.imul(En,Il)|0;sn=sn+Math.imul(En,rl)|0;sn=sn+Math.imul(Vn,Il)|0;on=on+Math.imul(Vn,rl)|0;rn=rn+Math.imul(yn,ol)|0;sn=sn+Math.imul(yn,cl)|0;sn=sn+Math.imul(vn,ol)|0;on=on+Math.imul(vn,cl)|0;rn=rn+Math.imul(Wn,dl)|0;sn=sn+Math.imul(Wn,ul)|0;sn=sn+Math.imul(Nn,dl)|0;on=on+Math.imul(Nn,ul)|0;rn=rn+Math.imul(hn,ml)|0;sn=sn+Math.imul(hn,bl)|0;sn=sn+Math.imul(Zn,ml)|0;on=on+Math.imul(Zn,bl)|0;var Vl=(In+rn|0)+((sn&8191)<<13)|0;In=(on+(sn>>>13)|0)+(Vl>>>26)|0;Vl&=67108863;rn=Math.imul(Ln,Kn);sn=Math.imul(Ln,Pn);sn=sn+Math.imul(Bn,Kn)|0;on=Math.imul(Bn,Pn);rn=rn+Math.imul(Xn,$n)|0;sn=sn+Math.imul(Xn,el)|0;sn=sn+Math.imul(kn,$n)|0;on=on+Math.imul(kn,el)|0;rn=rn+Math.imul(fn,nl)|0;sn=sn+Math.imul(fn,ll)|0;sn=sn+Math.imul(Hn,nl)|0;on=on+Math.imul(Hn,ll)|0;rn=rn+Math.imul(wn,Il)|0;sn=sn+Math.imul(wn,rl)|0;sn=sn+Math.imul(Fn,Il)|0;on=on+Math.imul(Fn,rl)|0;rn=rn+Math.imul(En,ol)|0;sn=sn+Math.imul(En,cl)|0;sn=sn+Math.imul(Vn,ol)|0;on=on+Math.imul(Vn,cl)|0;rn=rn+Math.imul(yn,dl)|0;sn=sn+Math.imul(yn,ul)|0;sn=sn+Math.imul(vn,dl)|0;on=on+Math.imul(vn,ul)|0;rn=rn+Math.imul(Wn,ml)|0;sn=sn+Math.imul(Wn,bl)|0;sn=sn+Math.imul(Nn,ml)|0;on=on+Math.imul(Nn,bl)|0;var Rl=(In+rn|0)+((sn&8191)<<13)|0;In=(on+(sn>>>13)|0)+(Rl>>>26)|0;Rl&=67108863;rn=Math.imul(Ln,$n);sn=Math.imul(Ln,el);sn=sn+Math.imul(Bn,$n)|0;on=Math.imul(Bn,el);rn=rn+Math.imul(Xn,nl)|0;sn=sn+Math.imul(Xn,ll)|0;sn=sn+Math.imul(kn,nl)|0;on=on+Math.imul(kn,ll)|0;rn=rn+Math.imul(fn,Il)|0;sn=sn+Math.imul(fn,rl)|0;sn=sn+Math.imul(Hn,Il)|0;on=on+Math.imul(Hn,rl)|0;rn=rn+Math.imul(wn,ol)|0;sn=sn+Math.imul(wn,cl)|0;sn=sn+Math.imul(Fn,ol)|0;on=on+Math.imul(Fn,cl)|0;rn=rn+Math.imul(En,dl)|0;sn=sn+Math.imul(En,ul)|0;sn=sn+Math.imul(Vn,dl)|0;on=on+Math.imul(Vn,ul)|0;rn=rn+Math.imul(yn,ml)|0;sn=sn+Math.imul(yn,bl)|0;sn=sn+Math.imul(vn,ml)|0;on=on+Math.imul(vn,bl)|0;var wl=(In+rn|0)+((sn&8191)<<13)|0;In=(on+(sn>>>13)|0)+(wl>>>26)|0;wl&=67108863;rn=Math.imul(Ln,nl);sn=Math.imul(Ln,ll);sn=sn+Math.imul(Bn,nl)|0;on=Math.imul(Bn,ll);rn=rn+Math.imul(Xn,Il)|0;sn=sn+Math.imul(Xn,rl)|0;sn=sn+Math.imul(kn,Il)|0;on=on+Math.imul(kn,rl)|0;rn=rn+Math.imul(fn,ol)|0;sn=sn+Math.imul(fn,cl)|0;sn=sn+Math.imul(Hn,ol)|0;on=on+Math.imul(Hn,cl)|0;rn=rn+Math.imul(wn,dl)|0;sn=sn+Math.imul(wn,ul)|0;sn=sn+Math.imul(Fn,dl)|0;on=on+Math.imul(Fn,ul)|0;rn=rn+Math.imul(En,ml)|0;sn=sn+Math.imul(En,bl)|0;sn=sn+Math.imul(Vn,ml)|0;on=on+Math.imul(Vn,bl)|0;var Fl=(In+rn|0)+((sn&8191)<<13)|0;In=(on+(sn>>>13)|0)+(Fl>>>26)|0;Fl&=67108863;rn=Math.imul(Ln,Il);sn=Math.imul(Ln,rl);sn=sn+Math.imul(Bn,Il)|0;on=Math.imul(Bn,rl);rn=rn+Math.imul(Xn,ol)|0;sn=sn+Math.imul(Xn,cl)|0;sn=sn+Math.imul(kn,ol)|0;on=on+Math.imul(kn,cl)|0;rn=rn+Math.imul(fn,dl)|0;sn=sn+Math.imul(fn,ul)|0;sn=sn+Math.imul(Hn,dl)|0;on=on+Math.imul(Hn,ul)|0;rn=rn+Math.imul(wn,ml)|0;sn=sn+Math.imul(wn,bl)|0;sn=sn+Math.imul(Fn,ml)|0;on=on+Math.imul(Fn,bl)|0;var Ql=(In+rn|0)+((sn&8191)<<13)|0;In=(on+(sn>>>13)|0)+(Ql>>>26)|0;Ql&=67108863;rn=Math.imul(Ln,ol);sn=Math.imul(Ln,cl);sn=sn+Math.imul(Bn,ol)|0;on=Math.imul(Bn,cl);rn=rn+Math.imul(Xn,dl)|0;sn=sn+Math.imul(Xn,ul)|0;sn=sn+Math.imul(kn,dl)|0;on=on+Math.imul(kn,ul)|0;rn=rn+Math.imul(fn,ml)|0;sn=sn+Math.imul(fn,bl)|0;sn=sn+Math.imul(Hn,ml)|0;on=on+Math.imul(Hn,bl)|0;var fl=(In+rn|0)+((sn&8191)<<13)|0;In=(on+(sn>>>13)|0)+(fl>>>26)|0;fl&=67108863;rn=Math.imul(Ln,dl);sn=Math.imul(Ln,ul);sn=sn+Math.imul(Bn,dl)|0;on=Math.imul(Bn,ul);rn=rn+Math.imul(Xn,ml)|0;sn=sn+Math.imul(Xn,bl)|0;sn=sn+Math.imul(kn,ml)|0;on=on+Math.imul(kn,bl)|0;var Hl=(In+rn|0)+((sn&8191)<<13)|0;In=(on+(sn>>>13)|0)+(Hl>>>26)|0;Hl&=67108863;rn=Math.imul(Ln,ml);sn=Math.imul(Ln,bl);sn=sn+Math.imul(Bn,ml)|0;on=Math.imul(Bn,bl);var Cl=(In+rn|0)+((sn&8191)<<13)|0;In=(on+(sn>>>13)|0)+(Cl>>>26)|0;Cl&=67108863;an[0]=Gl;an[1]=hl;an[2]=Zl;an[3]=Al;an[4]=Wl;an[5]=Nl;an[6]=gl;an[7]=yl;an[8]=vl;an[9]=Yl;an[10]=El;an[11]=Vl;an[12]=Rl;an[13]=wl;an[14]=Fl;an[15]=Ql;an[16]=fl;an[17]=Hl;an[18]=Cl;if(In!==0){an[19]=In;en.length++}return en};if(!Math.imul){rn=smallMulTo}function bigMulTo(Wt,Pt,en){en.negative=Pt.negative^Wt.negative;en.length=Wt.length+Pt.length;var tn=0;var nn=0;for(var an=0;an>>26)|0;nn+=In>>>26;In&=67108863}en.words[an]=rn;tn=In;In=nn}if(tn!==0){en.words[an]=tn}else{en.length--}return en.strip()}function jumboMulTo(Wt,Pt,en){var tn=new FFTM;return tn.mulp(Wt,Pt,en)}BN.prototype.mulTo=function mulTo(Wt,Pt){var en;var tn=this.length+Wt.length;if(this.length===10&&Wt.length===10){en=rn(this,Wt,Pt)}else if(tn<63){en=smallMulTo(this,Wt,Pt)}else if(tn<1024){en=bigMulTo(this,Wt,Pt)}else{en=jumboMulTo(this,Wt,Pt)}return en};function FFTM(Wt,Pt){this.x=Wt;this.y=Pt}FFTM.prototype.makeRBT=function makeRBT(Wt){var Pt=new Array(Wt);var en=BN.prototype._countBits(Wt)-1;for(var tn=0;tn>=1}return tn};FFTM.prototype.permute=function permute(Wt,Pt,en,tn,nn,an){for(var In=0;In>>1){nn++}return 1<>>13;en[2*an+1]=nn&8191;nn=nn>>>13}for(an=2*Pt;an>=26;Pt+=tn/67108864|0;Pt+=nn>>>26;this.words[en]=nn&67108863}if(Pt!==0){this.words[en]=Pt;this.length++}return this};BN.prototype.muln=function muln(Wt){return this.clone().imuln(Wt)};BN.prototype.sqr=function sqr(){return this.mul(this)};BN.prototype.isqr=function isqr(){return this.imul(this.clone())};BN.prototype.pow=function pow(Wt){var Pt=toBitArray(Wt);if(Pt.length===0)return new BN(1);var en=this;for(var tn=0;tn=0);var Pt=Wt%26;var en=(Wt-Pt)/26;var tn=67108863>>>26-Pt<<26-Pt;var nn;if(Pt!==0){var an=0;for(nn=0;nn>>26-Pt}if(an){this.words[nn]=an;this.length++}}if(en!==0){for(nn=this.length-1;nn>=0;nn--){this.words[nn+en]=this.words[nn]}for(nn=0;nn=0);var tn;if(Pt){tn=(Pt-Pt%26)/26}else{tn=0}var nn=Wt%26;var an=Math.min((Wt-nn)/26,this.length);var In=67108863^67108863>>>nn<an){this.length-=an;for(sn=0;sn=0&&(on!==0||sn>=tn);sn--){var cn=this.words[sn]|0;this.words[sn]=on<<26-nn|cn>>>nn;on=cn&In}if(rn&&on!==0){rn.words[rn.length++]=on}if(this.length===0){this.words[0]=0;this.length=1}return this.strip()};BN.prototype.ishrn=function ishrn(Wt,Pt,en){assert(this.negative===0);return this.iushrn(Wt,Pt,en)};BN.prototype.shln=function shln(Wt){return this.clone().ishln(Wt)};BN.prototype.ushln=function ushln(Wt){return this.clone().iushln(Wt)};BN.prototype.shrn=function shrn(Wt){return this.clone().ishrn(Wt)};BN.prototype.ushrn=function ushrn(Wt){return this.clone().iushrn(Wt)};BN.prototype.testn=function testn(Wt){assert(typeof Wt==="number"&&Wt>=0);var Pt=Wt%26;var en=(Wt-Pt)/26;var tn=1<=0);var Pt=Wt%26;var en=(Wt-Pt)/26;assert(this.negative===0,"imaskn works only with positive numbers");if(this.length<=en){return this}if(Pt!==0){en++}this.length=Math.min(en,this.length);if(Pt!==0){var tn=67108863^67108863>>>Pt<=67108864;Pt++){this.words[Pt]-=67108864;if(Pt===this.length-1){this.words[Pt+1]=1}else{this.words[Pt+1]++}}this.length=Math.max(this.length,Pt+1);return this};BN.prototype.isubn=function isubn(Wt){assert(typeof Wt==="number");assert(Wt<67108864);if(Wt<0)return this.iaddn(-Wt);if(this.negative!==0){this.negative=0;this.iaddn(Wt);this.negative=1;return this}this.words[0]-=Wt;if(this.length===1&&this.words[0]<0){this.words[0]=-this.words[0];this.negative=1}else{for(var Pt=0;Pt>26)-(rn/67108864|0);this.words[nn+en]=an&67108863}for(;nn>26;this.words[nn+en]=an&67108863}if(In===0)return this.strip();assert(In===-1);In=0;for(nn=0;nn>26;this.words[nn]=an&67108863}this.negative=1;return this.strip()};BN.prototype._wordDiv=function _wordDiv(Wt,Pt){var en=this.length-Wt.length;var tn=this.clone();var nn=Wt;var an=nn.words[nn.length-1]|0;var In=this._countBits(an);en=26-In;if(en!==0){nn=nn.ushln(en);tn.iushln(en);an=nn.words[nn.length-1]|0}var rn=tn.length-nn.length;var sn;if(Pt!=="mod"){sn=new BN(null);sn.length=rn+1;sn.words=new Array(sn.length);for(var on=0;on=0;dn--){var un=(tn.words[nn.length+dn]|0)*67108864+(tn.words[nn.length+dn-1]|0);un=Math.min(un/an|0,67108863);tn._ishlnsubmul(nn,un,dn);while(tn.negative!==0){un--;tn.negative=0;tn._ishlnsubmul(nn,1,dn);if(!tn.isZero()){tn.negative^=1}}if(sn){sn.words[dn]=un}}if(sn){sn.strip()}tn.strip();if(Pt!=="div"&&en!==0){tn.iushrn(en)}return{div:sn||null,mod:tn}};BN.prototype.divmod=function divmod(Wt,Pt,en){assert(!Wt.isZero());if(this.isZero()){return{div:new BN(0),mod:new BN(0)}}var tn,nn,an;if(this.negative!==0&&Wt.negative===0){an=this.neg().divmod(Wt,Pt);if(Pt!=="mod"){tn=an.div.neg()}if(Pt!=="div"){nn=an.mod.neg();if(en&&nn.negative!==0){nn.iadd(Wt)}}return{div:tn,mod:nn}}if(this.negative===0&&Wt.negative!==0){an=this.divmod(Wt.neg(),Pt);if(Pt!=="mod"){tn=an.div.neg()}return{div:tn,mod:an.mod}}if((this.negative&Wt.negative)!==0){an=this.neg().divmod(Wt.neg(),Pt);if(Pt!=="div"){nn=an.mod.neg();if(en&&nn.negative!==0){nn.isub(Wt)}}return{div:an.div,mod:nn}}if(Wt.length>this.length||this.cmp(Wt)<0){return{div:new BN(0),mod:this}}if(Wt.length===1){if(Pt==="div"){return{div:this.divn(Wt.words[0]),mod:null}}if(Pt==="mod"){return{div:null,mod:new BN(this.modn(Wt.words[0]))}}return{div:this.divn(Wt.words[0]),mod:new BN(this.modn(Wt.words[0]))}}return this._wordDiv(Wt,Pt)};BN.prototype.div=function div(Wt){return this.divmod(Wt,"div",false).div};BN.prototype.mod=function mod(Wt){return this.divmod(Wt,"mod",false).mod};BN.prototype.umod=function umod(Wt){return this.divmod(Wt,"mod",true).mod};BN.prototype.divRound=function divRound(Wt){var Pt=this.divmod(Wt);if(Pt.mod.isZero())return Pt.div;var en=Pt.div.negative!==0?Pt.mod.isub(Wt):Pt.mod;var tn=Wt.ushrn(1);var nn=Wt.andln(1);var an=en.cmp(tn);if(an<0||nn===1&&an===0)return Pt.div;return Pt.div.negative!==0?Pt.div.isubn(1):Pt.div.iaddn(1)};BN.prototype.modn=function modn(Wt){assert(Wt<=67108863);var Pt=(1<<26)%Wt;var en=0;for(var tn=this.length-1;tn>=0;tn--){en=(Pt*en+(this.words[tn]|0))%Wt}return en};BN.prototype.idivn=function idivn(Wt){assert(Wt<=67108863);var Pt=0;for(var en=this.length-1;en>=0;en--){var tn=(this.words[en]|0)+Pt*67108864;this.words[en]=tn/Wt|0;Pt=tn%Wt}return this.strip()};BN.prototype.divn=function divn(Wt){return this.clone().idivn(Wt)};BN.prototype.egcd=function egcd(Wt){assert(Wt.negative===0);assert(!Wt.isZero());var Pt=this;var en=Wt.clone();if(Pt.negative!==0){Pt=Pt.umod(Wt)}else{Pt=Pt.clone()}var tn=new BN(1);var nn=new BN(0);var an=new BN(0);var In=new BN(1);var rn=0;while(Pt.isEven()&&en.isEven()){Pt.iushrn(1);en.iushrn(1);++rn}var sn=en.clone();var on=Pt.clone();while(!Pt.isZero()){for(var cn=0,dn=1;(Pt.words[0]&dn)===0&&cn<26;++cn,dn<<=1);if(cn>0){Pt.iushrn(cn);while(cn-- >0){if(tn.isOdd()||nn.isOdd()){tn.iadd(sn);nn.isub(on)}tn.iushrn(1);nn.iushrn(1)}}for(var un=0,pn=1;(en.words[0]&pn)===0&&un<26;++un,pn<<=1);if(un>0){en.iushrn(un);while(un-- >0){if(an.isOdd()||In.isOdd()){an.iadd(sn);In.isub(on)}an.iushrn(1);In.iushrn(1)}}if(Pt.cmp(en)>=0){Pt.isub(en);tn.isub(an);nn.isub(In)}else{en.isub(Pt);an.isub(tn);In.isub(nn)}}return{a:an,b:In,gcd:en.iushln(rn)}};BN.prototype._invmp=function _invmp(Wt){assert(Wt.negative===0);assert(!Wt.isZero());var Pt=this;var en=Wt.clone();if(Pt.negative!==0){Pt=Pt.umod(Wt)}else{Pt=Pt.clone()}var tn=new BN(1);var nn=new BN(0);var an=en.clone();while(Pt.cmpn(1)>0&&en.cmpn(1)>0){for(var In=0,rn=1;(Pt.words[0]&rn)===0&&In<26;++In,rn<<=1);if(In>0){Pt.iushrn(In);while(In-- >0){if(tn.isOdd()){tn.iadd(an)}tn.iushrn(1)}}for(var sn=0,on=1;(en.words[0]&on)===0&&sn<26;++sn,on<<=1);if(sn>0){en.iushrn(sn);while(sn-- >0){if(nn.isOdd()){nn.iadd(an)}nn.iushrn(1)}}if(Pt.cmp(en)>=0){Pt.isub(en);tn.isub(nn)}else{en.isub(Pt);nn.isub(tn)}}var cn;if(Pt.cmpn(1)===0){cn=tn}else{cn=nn}if(cn.cmpn(0)<0){cn.iadd(Wt)}return cn};BN.prototype.gcd=function gcd(Wt){if(this.isZero())return Wt.abs();if(Wt.isZero())return this.abs();var Pt=this.clone();var en=Wt.clone();Pt.negative=0;en.negative=0;for(var tn=0;Pt.isEven()&&en.isEven();tn++){Pt.iushrn(1);en.iushrn(1)}do{while(Pt.isEven()){Pt.iushrn(1)}while(en.isEven()){en.iushrn(1)}var nn=Pt.cmp(en);if(nn<0){var an=Pt;Pt=en;en=an}else if(nn===0||en.cmpn(1)===0){break}Pt.isub(en)}while(true);return en.iushln(tn)};BN.prototype.invm=function invm(Wt){return this.egcd(Wt).a.umod(Wt)};BN.prototype.isEven=function isEven(){return(this.words[0]&1)===0};BN.prototype.isOdd=function isOdd(){return(this.words[0]&1)===1};BN.prototype.andln=function andln(Wt){return this.words[0]&Wt};BN.prototype.bincn=function bincn(Wt){assert(typeof Wt==="number");var Pt=Wt%26;var en=(Wt-Pt)/26;var tn=1<>>26;In&=67108863;this.words[an]=In}if(nn!==0){this.words[an]=nn;this.length++}return this};BN.prototype.isZero=function isZero(){return this.length===1&&this.words[0]===0};BN.prototype.cmpn=function cmpn(Wt){var Pt=Wt<0;if(this.negative!==0&&!Pt)return-1;if(this.negative===0&&Pt)return 1;this.strip();var en;if(this.length>1){en=1}else{if(Pt){Wt=-Wt}assert(Wt<=67108863,"Number is too big");var tn=this.words[0]|0;en=tn===Wt?0:tnWt.length)return 1;if(this.length=0;en--){var tn=this.words[en]|0;var nn=Wt.words[en]|0;if(tn===nn)continue;if(tnnn){Pt=1}break}return Pt};BN.prototype.gtn=function gtn(Wt){return this.cmpn(Wt)===1};BN.prototype.gt=function gt(Wt){return this.cmp(Wt)===1};BN.prototype.gten=function gten(Wt){return this.cmpn(Wt)>=0};BN.prototype.gte=function gte(Wt){return this.cmp(Wt)>=0};BN.prototype.ltn=function ltn(Wt){return this.cmpn(Wt)===-1};BN.prototype.lt=function lt(Wt){return this.cmp(Wt)===-1};BN.prototype.lten=function lten(Wt){return this.cmpn(Wt)<=0};BN.prototype.lte=function lte(Wt){return this.cmp(Wt)<=0};BN.prototype.eqn=function eqn(Wt){return this.cmpn(Wt)===0};BN.prototype.eq=function eq(Wt){return this.cmp(Wt)===0};BN.red=function red(Wt){return new Red(Wt)};BN.prototype.toRed=function toRed(Wt){assert(!this.red,"Already a number in reduction context");assert(this.negative===0,"red works only with positives");return Wt.convertTo(this)._forceRed(Wt)};BN.prototype.fromRed=function fromRed(){assert(this.red,"fromRed works only with numbers in reduction context");return this.red.convertFrom(this)};BN.prototype._forceRed=function _forceRed(Wt){this.red=Wt;return this};BN.prototype.forceRed=function forceRed(Wt){assert(!this.red,"Already a number in reduction context");return this._forceRed(Wt)};BN.prototype.redAdd=function redAdd(Wt){assert(this.red,"redAdd works only with red numbers");return this.red.add(this,Wt)};BN.prototype.redIAdd=function redIAdd(Wt){assert(this.red,"redIAdd works only with red numbers");return this.red.iadd(this,Wt)};BN.prototype.redSub=function redSub(Wt){assert(this.red,"redSub works only with red numbers");return this.red.sub(this,Wt)};BN.prototype.redISub=function redISub(Wt){assert(this.red,"redISub works only with red numbers");return this.red.isub(this,Wt)};BN.prototype.redShl=function redShl(Wt){assert(this.red,"redShl works only with red numbers");return this.red.shl(this,Wt)};BN.prototype.redMul=function redMul(Wt){assert(this.red,"redMul works only with red numbers");this.red._verify2(this,Wt);return this.red.mul(this,Wt)};BN.prototype.redIMul=function redIMul(Wt){assert(this.red,"redMul works only with red numbers");this.red._verify2(this,Wt);return this.red.imul(this,Wt)};BN.prototype.redSqr=function redSqr(){assert(this.red,"redSqr works only with red numbers");this.red._verify1(this);return this.red.sqr(this)};BN.prototype.redISqr=function redISqr(){assert(this.red,"redISqr works only with red numbers");this.red._verify1(this);return this.red.isqr(this)};BN.prototype.redSqrt=function redSqrt(){assert(this.red,"redSqrt works only with red numbers");this.red._verify1(this);return this.red.sqrt(this)};BN.prototype.redInvm=function redInvm(){assert(this.red,"redInvm works only with red numbers");this.red._verify1(this);return this.red.invm(this)};BN.prototype.redNeg=function redNeg(){assert(this.red,"redNeg works only with red numbers");this.red._verify1(this);return this.red.neg(this)};BN.prototype.redPow=function redPow(Wt){assert(this.red&&!Wt.red,"redPow(normalNum)");this.red._verify1(this);return this.red.pow(this,Wt)};var sn={k256:null,p224:null,p192:null,p25519:null};function MPrime(Wt,Pt){this.name=Wt;this.p=new BN(Pt,16);this.n=this.p.bitLength();this.k=new BN(1).iushln(this.n).isub(this.p);this.tmp=this._tmp()}MPrime.prototype._tmp=function _tmp(){var Wt=new BN(null);Wt.words=new Array(Math.ceil(this.n/13));return Wt};MPrime.prototype.ireduce=function ireduce(Wt){var Pt=Wt;var en;do{this.split(Pt,this.tmp);Pt=this.imulK(Pt);Pt=Pt.iadd(this.tmp);en=Pt.bitLength()}while(en>this.n);var tn=en0){Pt.isub(this.p)}else{if(Pt.strip!==undefined){Pt.strip()}else{Pt._strip()}}return Pt};MPrime.prototype.split=function split(Wt,Pt){Wt.iushrn(this.n,0,Pt)};MPrime.prototype.imulK=function imulK(Wt){return Wt.imul(this.k)};function K256(){MPrime.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}inherits(K256,MPrime);K256.prototype.split=function split(Wt,Pt){var en=4194303;var tn=Math.min(Wt.length,9);for(var nn=0;nn>>22;an=In}an>>>=22;Wt.words[nn-10]=an;if(an===0&&Wt.length>10){Wt.length-=10}else{Wt.length-=9}};K256.prototype.imulK=function imulK(Wt){Wt.words[Wt.length]=0;Wt.words[Wt.length+1]=0;Wt.length+=2;var Pt=0;for(var en=0;en>>=26;Wt.words[en]=nn;Pt=tn}if(Pt!==0){Wt.words[Wt.length++]=Pt}return Wt};BN._prime=function prime(Wt){if(sn[Wt])return sn[Wt];var prime;if(Wt==="k256"){prime=new K256}else if(Wt==="p224"){prime=new P224}else if(Wt==="p192"){prime=new P192}else if(Wt==="p25519"){prime=new P25519}else{throw new Error("Unknown prime "+Wt)}sn[Wt]=prime;return prime};function Red(Wt){if(typeof Wt==="string"){var Pt=BN._prime(Wt);this.m=Pt.p;this.prime=Pt}else{assert(Wt.gtn(1),"modulus must be greater than 1");this.m=Wt;this.prime=null}}Red.prototype._verify1=function _verify1(Wt){assert(Wt.negative===0,"red works only with positives");assert(Wt.red,"red works only with red numbers")};Red.prototype._verify2=function _verify2(Wt,Pt){assert((Wt.negative|Pt.negative)===0,"red works only with positives");assert(Wt.red&&Wt.red===Pt.red,"red works only with red numbers")};Red.prototype.imod=function imod(Wt){if(this.prime)return this.prime.ireduce(Wt)._forceRed(this);return Wt.umod(this.m)._forceRed(this)};Red.prototype.neg=function neg(Wt){if(Wt.isZero()){return Wt.clone()}return this.m.sub(Wt)._forceRed(this)};Red.prototype.add=function add(Wt,Pt){this._verify2(Wt,Pt);var en=Wt.add(Pt);if(en.cmp(this.m)>=0){en.isub(this.m)}return en._forceRed(this)};Red.prototype.iadd=function iadd(Wt,Pt){this._verify2(Wt,Pt);var en=Wt.iadd(Pt);if(en.cmp(this.m)>=0){en.isub(this.m)}return en};Red.prototype.sub=function sub(Wt,Pt){this._verify2(Wt,Pt);var en=Wt.sub(Pt);if(en.cmpn(0)<0){en.iadd(this.m)}return en._forceRed(this)};Red.prototype.isub=function isub(Wt,Pt){this._verify2(Wt,Pt);var en=Wt.isub(Pt);if(en.cmpn(0)<0){en.iadd(this.m)}return en};Red.prototype.shl=function shl(Wt,Pt){this._verify1(Wt);return this.imod(Wt.ushln(Pt))};Red.prototype.imul=function imul(Wt,Pt){this._verify2(Wt,Pt);return this.imod(Wt.imul(Pt))};Red.prototype.mul=function mul(Wt,Pt){this._verify2(Wt,Pt);return this.imod(Wt.mul(Pt))};Red.prototype.isqr=function isqr(Wt){return this.imul(Wt,Wt.clone())};Red.prototype.sqr=function sqr(Wt){return this.mul(Wt,Wt)};Red.prototype.sqrt=function sqrt(Wt){if(Wt.isZero())return Wt.clone();var Pt=this.m.andln(3);assert(Pt%2===1);if(Pt===3){var en=this.m.add(new BN(1)).iushrn(2);return this.pow(Wt,en)}var tn=this.m.subn(1);var nn=0;while(!tn.isZero()&&tn.andln(1)===0){nn++;tn.iushrn(1)}assert(!tn.isZero());var an=new BN(1).toRed(this);var In=an.redNeg();var rn=this.m.subn(1).iushrn(1);var sn=this.m.bitLength();sn=new BN(2*sn*sn).toRed(this);while(this.pow(sn,rn).cmp(In)!==0){sn.redIAdd(In)}var on=this.pow(sn,tn);var cn=this.pow(Wt,tn.addn(1).iushrn(1));var dn=this.pow(Wt,tn);var un=nn;while(dn.cmp(an)!==0){var pn=dn;for(var mn=0;pn.cmp(an)!==0;mn++){pn=pn.redSqr()}assert(mn=0;nn--){var on=Pt.words[nn];for(var cn=sn-1;cn>=0;cn--){var dn=on>>cn&1;if(an!==tn[0]){an=this.sqr(an)}if(dn===0&&In===0){rn=0;continue}In<<=1;In|=dn;rn++;if(rn!==en&&(nn!==0||cn!==0))continue;an=this.mul(an,tn[In]);rn=0;In=0}sn=26}return an};Red.prototype.convertTo=function convertTo(Wt){var Pt=Wt.umod(this.m);return Pt===Wt?Pt.clone():Pt};Red.prototype.convertFrom=function convertFrom(Wt){var Pt=Wt.clone();Pt.red=null;return Pt};BN.mont=function mont(Wt){return new Mont(Wt)};function Mont(Wt){Red.call(this,Wt);this.shift=this.m.bitLength();if(this.shift%26!==0){this.shift+=26-this.shift%26}this.r=new BN(1).iushln(this.shift);this.r2=this.imod(this.r.sqr());this.rinv=this.r._invmp(this.m);this.minv=this.rinv.mul(this.r).isubn(1).div(this.m);this.minv=this.minv.umod(this.r);this.minv=this.r.sub(this.minv)}inherits(Mont,Red);Mont.prototype.convertTo=function convertTo(Wt){return this.imod(Wt.ushln(this.shift))};Mont.prototype.convertFrom=function convertFrom(Wt){var Pt=this.imod(Wt.mul(this.rinv));Pt.red=null;return Pt};Mont.prototype.imul=function imul(Wt,Pt){if(Wt.isZero()||Pt.isZero()){Wt.words[0]=0;Wt.length=1;return Wt}var en=Wt.imul(Pt);var tn=en.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m);var nn=en.isub(tn).iushrn(this.shift);var an=nn;if(nn.cmp(this.m)>=0){an=nn.isub(this.m)}else if(nn.cmpn(0)<0){an=nn.iadd(this.m)}return an._forceRed(this)};Mont.prototype.mul=function mul(Wt,Pt){if(Wt.isZero()||Pt.isZero())return new BN(0)._forceRed(this);var en=Wt.mul(Pt);var tn=en.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m);var nn=en.isub(tn).iushrn(this.shift);var an=nn;if(nn.cmp(this.m)>=0){an=nn.isub(this.m)}else if(nn.cmpn(0)<0){an=nn.iadd(this.m)}return an._forceRed(this)};Mont.prototype.invm=function invm(Wt){var Pt=this.imod(Wt._invmp(this.m).mul(this.r2));return Pt._forceRed(this)}})(false||Wt,this)},24056:(Wt,Pt,en)=>{var tn=en(31748);Wt.exports.C=convert;function convert(Wt,Pt,en){en=checkEncoding(en||"UTF-8");Pt=checkEncoding(Pt||"UTF-8");Wt=Wt||"";var tn;if(en!=="UTF-8"&&typeof Wt==="string"){Wt=Buffer.from(Wt,"binary")}if(en===Pt){if(typeof Wt==="string"){tn=Buffer.from(Wt)}else{tn=Wt}}else{try{tn=convertIconvLite(Wt,Pt,en)}catch(Pt){console.error(Pt);tn=Wt}}if(typeof tn==="string"){tn=Buffer.from(tn,"utf-8")}return tn}function convertIconvLite(Wt,Pt,en){if(Pt==="UTF-8"){return tn.decode(Wt,en)}else if(en==="UTF-8"){return tn.encode(Wt,Pt)}else{return tn.encode(tn.decode(Wt,en),Pt)}}function checkEncoding(Wt){return(Wt||"").toString().trim().replace(/^latin[\-_]?(\d+)$/i,"ISO-8859-$1").replace(/^win(?:dows)?[\-_]?(\d+)$/i,"WINDOWS-$1").replace(/^utf[\-_]?(\d+)$/i,"UTF-$1").replace(/^ks_c_5601\-1987$/i,"CP949").replace(/^us[\-_]?ascii$/i,"ASCII").toUpperCase()}},31469:function(Wt,Pt,en){var tn=this&&this.__createBinding||(Object.create?function(Wt,Pt,en,tn){if(tn===undefined)tn=en;var nn=Object.getOwnPropertyDescriptor(Pt,en);if(!nn||("get"in nn?!Pt.__esModule:nn.writable||nn.configurable)){nn={enumerable:true,get:function(){return Pt[en]}}}Object.defineProperty(Wt,tn,nn)}:function(Wt,Pt,en,tn){if(tn===undefined)tn=en;Wt[tn]=Pt[en]});var nn=this&&this.__setModuleDefault||(Object.create?function(Wt,Pt){Object.defineProperty(Wt,"default",{enumerable:true,value:Pt})}:function(Wt,Pt){Wt["default"]=Pt});var an=this&&this.__importStar||function(Wt){if(Wt&&Wt.__esModule)return Wt;var Pt={};if(Wt!=null)for(var en in Wt)if(en!=="default"&&Object.prototype.hasOwnProperty.call(Wt,en))tn(Pt,Wt,en);nn(Pt,Wt);return Pt};var In=this&&this.__importDefault||function(Wt){return Wt&&Wt.__esModule?Wt:{default:Wt}};Object.defineProperty(Pt,"__esModule",{value:true});Pt.decodeXML=Pt.decodeHTMLStrict=Pt.decodeHTMLAttribute=Pt.decodeHTML=Pt.determineBranch=Pt.EntityDecoder=Pt.DecodingMode=Pt.BinTrieFlags=Pt.fromCodePoint=Pt.replaceCodePoint=Pt.decodeCodePoint=Pt.xmlDecodeTree=Pt.htmlDecodeTree=void 0;var rn=In(en(90828));Pt.htmlDecodeTree=rn.default;var sn=In(en(62060));Pt.xmlDecodeTree=sn.default;var on=an(en(74487));Pt.decodeCodePoint=on.default;var cn=en(74487);Object.defineProperty(Pt,"replaceCodePoint",{enumerable:true,get:function(){return cn.replaceCodePoint}});Object.defineProperty(Pt,"fromCodePoint",{enumerable:true,get:function(){return cn.fromCodePoint}});var dn;(function(Wt){Wt[Wt["NUM"]=35]="NUM";Wt[Wt["SEMI"]=59]="SEMI";Wt[Wt["EQUALS"]=61]="EQUALS";Wt[Wt["ZERO"]=48]="ZERO";Wt[Wt["NINE"]=57]="NINE";Wt[Wt["LOWER_A"]=97]="LOWER_A";Wt[Wt["LOWER_F"]=102]="LOWER_F";Wt[Wt["LOWER_X"]=120]="LOWER_X";Wt[Wt["LOWER_Z"]=122]="LOWER_Z";Wt[Wt["UPPER_A"]=65]="UPPER_A";Wt[Wt["UPPER_F"]=70]="UPPER_F";Wt[Wt["UPPER_Z"]=90]="UPPER_Z"})(dn||(dn={}));var un=32;var pn;(function(Wt){Wt[Wt["VALUE_LENGTH"]=49152]="VALUE_LENGTH";Wt[Wt["BRANCH_LENGTH"]=16256]="BRANCH_LENGTH";Wt[Wt["JUMP_TABLE"]=127]="JUMP_TABLE"})(pn=Pt.BinTrieFlags||(Pt.BinTrieFlags={}));function isNumber(Wt){return Wt>=dn.ZERO&&Wt<=dn.NINE}function isHexadecimalCharacter(Wt){return Wt>=dn.UPPER_A&&Wt<=dn.UPPER_F||Wt>=dn.LOWER_A&&Wt<=dn.LOWER_F}function isAsciiAlphaNumeric(Wt){return Wt>=dn.UPPER_A&&Wt<=dn.UPPER_Z||Wt>=dn.LOWER_A&&Wt<=dn.LOWER_Z||isNumber(Wt)}function isEntityInAttributeInvalidEnd(Wt){return Wt===dn.EQUALS||isAsciiAlphaNumeric(Wt)}var mn;(function(Wt){Wt[Wt["EntityStart"]=0]="EntityStart";Wt[Wt["NumericStart"]=1]="NumericStart";Wt[Wt["NumericDecimal"]=2]="NumericDecimal";Wt[Wt["NumericHex"]=3]="NumericHex";Wt[Wt["NamedEntity"]=4]="NamedEntity"})(mn||(mn={}));var bn;(function(Wt){Wt[Wt["Legacy"]=0]="Legacy";Wt[Wt["Strict"]=1]="Strict";Wt[Wt["Attribute"]=2]="Attribute"})(bn=Pt.DecodingMode||(Pt.DecodingMode={}));var Gn=function(){function EntityDecoder(Wt,Pt,en){this.decodeTree=Wt;this.emitCodePoint=Pt;this.errors=en;this.state=mn.EntityStart;this.consumed=1;this.result=0;this.treeIndex=0;this.excess=1;this.decodeMode=bn.Strict}EntityDecoder.prototype.startEntity=function(Wt){this.decodeMode=Wt;this.state=mn.EntityStart;this.result=0;this.treeIndex=0;this.excess=1;this.consumed=1};EntityDecoder.prototype.write=function(Wt,Pt){switch(this.state){case mn.EntityStart:{if(Wt.charCodeAt(Pt)===dn.NUM){this.state=mn.NumericStart;this.consumed+=1;return this.stateNumericStart(Wt,Pt+1)}this.state=mn.NamedEntity;return this.stateNamedEntity(Wt,Pt)}case mn.NumericStart:{return this.stateNumericStart(Wt,Pt)}case mn.NumericDecimal:{return this.stateNumericDecimal(Wt,Pt)}case mn.NumericHex:{return this.stateNumericHex(Wt,Pt)}case mn.NamedEntity:{return this.stateNamedEntity(Wt,Pt)}}};EntityDecoder.prototype.stateNumericStart=function(Wt,Pt){if(Pt>=Wt.length){return-1}if((Wt.charCodeAt(Pt)|un)===dn.LOWER_X){this.state=mn.NumericHex;this.consumed+=1;return this.stateNumericHex(Wt,Pt+1)}this.state=mn.NumericDecimal;return this.stateNumericDecimal(Wt,Pt)};EntityDecoder.prototype.addToNumericResult=function(Wt,Pt,en,tn){if(Pt!==en){var nn=en-Pt;this.result=this.result*Math.pow(tn,nn)+parseInt(Wt.substr(Pt,nn),tn);this.consumed+=nn}};EntityDecoder.prototype.stateNumericHex=function(Wt,Pt){var en=Pt;while(Pt>14;for(;Pt>14;if(nn!==0){if(an===dn.SEMI){return this.emitNamedEntityData(this.treeIndex,nn,this.consumed+this.excess)}if(this.decodeMode!==bn.Strict){this.result=this.treeIndex;this.consumed+=this.excess;this.excess=0}}}return-1};EntityDecoder.prototype.emitNotTerminatedNamedEntity=function(){var Wt;var Pt=this,en=Pt.result,tn=Pt.decodeTree;var nn=(tn[en]&pn.VALUE_LENGTH)>>14;this.emitNamedEntityData(en,nn,this.consumed);(Wt=this.errors)===null||Wt===void 0?void 0:Wt.missingSemicolonAfterCharacterReference();return this.consumed};EntityDecoder.prototype.emitNamedEntityData=function(Wt,Pt,en){var tn=this.decodeTree;this.emitCodePoint(Pt===1?tn[Wt]&~pn.VALUE_LENGTH:tn[Wt+1],en);if(Pt===3){this.emitCodePoint(tn[Wt+2],en)}return en};EntityDecoder.prototype.end=function(){var Wt;switch(this.state){case mn.NamedEntity:{return this.result!==0&&(this.decodeMode!==bn.Attribute||this.result===this.treeIndex)?this.emitNotTerminatedNamedEntity():0}case mn.NumericDecimal:{return this.emitNumericEntity(0,2)}case mn.NumericHex:{return this.emitNumericEntity(0,3)}case mn.NumericStart:{(Wt=this.errors)===null||Wt===void 0?void 0:Wt.absenceOfDigitsInNumericCharacterReference(this.consumed);return 0}case mn.EntityStart:{return 0}}};return EntityDecoder}();Pt.EntityDecoder=Gn;function getDecoder(Wt){var Pt="";var en=new Gn(Wt,(function(Wt){return Pt+=(0,on.fromCodePoint)(Wt)}));return function decodeWithTrie(Wt,tn){var nn=0;var an=0;while((an=Wt.indexOf("&",an))>=0){Pt+=Wt.slice(nn,an);en.startEntity(tn);var In=en.write(Wt,an+1);if(In<0){nn=an+en.end();break}nn=an+In;an=In===0?nn+1:nn}var rn=Pt+Wt.slice(nn);Pt="";return rn}}function determineBranch(Wt,Pt,en,tn){var nn=(Pt&pn.BRANCH_LENGTH)>>7;var an=Pt&pn.JUMP_TABLE;if(nn===0){return an!==0&&tn===an?en:-1}if(an){var In=tn-an;return In<0||In>=nn?-1:Wt[en+In]-1}var rn=en;var sn=rn+nn-1;while(rn<=sn){var on=rn+sn>>>1;var cn=Wt[on];if(cntn){sn=on-1}else{return Wt[on+nn]}}return-1}Pt.determineBranch=determineBranch;var hn=getDecoder(rn.default);var Zn=getDecoder(sn.default);function decodeHTML(Wt,Pt){if(Pt===void 0){Pt=bn.Legacy}return hn(Wt,Pt)}Pt.decodeHTML=decodeHTML;function decodeHTMLAttribute(Wt){return hn(Wt,bn.Attribute)}Pt.decodeHTMLAttribute=decodeHTMLAttribute;function decodeHTMLStrict(Wt){return hn(Wt,bn.Strict)}Pt.decodeHTMLStrict=decodeHTMLStrict;function decodeXML(Wt){return Zn(Wt,bn.Strict)}Pt.decodeXML=decodeXML},74487:(Wt,Pt)=>{var en;Object.defineProperty(Pt,"__esModule",{value:true});Pt.replaceCodePoint=Pt.fromCodePoint=void 0;var tn=new Map([[0,65533],[128,8364],[130,8218],[131,402],[132,8222],[133,8230],[134,8224],[135,8225],[136,710],[137,8240],[138,352],[139,8249],[140,338],[142,381],[145,8216],[146,8217],[147,8220],[148,8221],[149,8226],[150,8211],[151,8212],[152,732],[153,8482],[154,353],[155,8250],[156,339],[158,382],[159,376]]);Pt.fromCodePoint=(en=String.fromCodePoint)!==null&&en!==void 0?en:function(Wt){var Pt="";if(Wt>65535){Wt-=65536;Pt+=String.fromCharCode(Wt>>>10&1023|55296);Wt=56320|Wt&1023}Pt+=String.fromCharCode(Wt);return Pt};function replaceCodePoint(Wt){var Pt;if(Wt>=55296&&Wt<=57343||Wt>1114111){return 65533}return(Pt=tn.get(Wt))!==null&&Pt!==void 0?Pt:Wt}Pt.replaceCodePoint=replaceCodePoint;function decodeCodePoint(Wt){return(0,Pt.fromCodePoint)(replaceCodePoint(Wt))}Pt["default"]=decodeCodePoint},6104:(Wt,Pt)=>{Object.defineProperty(Pt,"__esModule",{value:true});Pt.escapeText=Pt.escapeAttribute=Pt.escapeUTF8=Pt.escape=Pt.encodeXML=Pt.getCodePoint=Pt.xmlReplacer=void 0;Pt.xmlReplacer=/["&'<>$\x80-\uFFFF]/g;var en=new Map([[34,"""],[38,"&"],[39,"'"],[60,"<"],[62,">"]]);Pt.getCodePoint=String.prototype.codePointAt!=null?function(Wt,Pt){return Wt.codePointAt(Pt)}:function(Wt,Pt){return(Wt.charCodeAt(Pt)&64512)===55296?(Wt.charCodeAt(Pt)-55296)*1024+Wt.charCodeAt(Pt+1)-56320+65536:Wt.charCodeAt(Pt)};function encodeXML(Wt){var tn="";var nn=0;var an;while((an=Pt.xmlReplacer.exec(Wt))!==null){var In=an.index;var rn=Wt.charCodeAt(In);var sn=en.get(rn);if(sn!==undefined){tn+=Wt.substring(nn,In)+sn;nn=In+1}else{tn+="".concat(Wt.substring(nn,In),"&#x").concat((0,Pt.getCodePoint)(Wt,In).toString(16),";");nn=Pt.xmlReplacer.lastIndex+=Number((rn&64512)===55296)}}return tn+Wt.substr(nn)}Pt.encodeXML=encodeXML;Pt.escape=encodeXML;function getEscaper(Wt,Pt){return function escape(en){var tn;var nn=0;var an="";while(tn=Wt.exec(en)){if(nn!==tn.index){an+=en.substring(nn,tn.index)}an+=Pt.get(tn[0].charCodeAt(0));nn=tn.index+1}return an+en.substring(nn)}}Pt.escapeUTF8=getEscaper(/[&<>'"]/g,en);Pt.escapeAttribute=getEscaper(/["&\u00A0]/g,new Map([[34,"""],[38,"&"],[160," "]]));Pt.escapeText=getEscaper(/[&<>\u00A0]/g,new Map([[38,"&"],[60,"<"],[62,">"],[160," "]]))},90828:(Wt,Pt)=>{Object.defineProperty(Pt,"__esModule",{value:true});Pt["default"]=new Uint16Array('ᵁ<Õıʊҝջאٵ۞ޢߖࠏ੊ઑඡ๭༉༦჊ረዡᐕᒝᓃᓟᔥ\0\0\0\0\0\0ᕫᛍᦍᰒᷝ὾⁠↰⊍⏀⏻⑂⠤⤒ⴈ⹈⿎〖㊺㘹㞬㣾㨨㩱㫠㬮ࠀEMabcfglmnoprstu\\bfms„‹•˜¦³¹ÈÏlig耻Æ䃆P耻&䀦cute耻Á䃁reve;䄂Āiyx}rc耻Â䃂;䐐r;쀀𝔄rave耻À䃀pha;䎑acr;䄀d;橓Āgp¡on;䄄f;쀀𝔸plyFunction;恡ing耻Å䃅Ācs¾Ãr;쀀𝒜ign;扔ilde耻Ã䃃ml耻Ä䃄ЀaceforsuåûþėĜĢħĪĀcrêòkslash;或Ŷöø;櫧ed;挆y;䐑ƀcrtąċĔause;戵noullis;愬a;䎒r;쀀𝔅pf;쀀𝔹eve;䋘còēmpeq;扎܀HOacdefhilorsuōőŖƀƞƢƵƷƺǜȕɳɸɾcy;䐧PY耻©䂩ƀcpyŝŢźute;䄆Ā;iŧŨ拒talDifferentialD;慅leys;愭ȀaeioƉƎƔƘron;䄌dil耻Ç䃇rc;䄈nint;戰ot;䄊ĀdnƧƭilla;䂸terDot;䂷òſi;䎧rcleȀDMPTLJNjǑǖot;抙inus;抖lus;投imes;抗oĀcsǢǸkwiseContourIntegral;戲eCurlyĀDQȃȏoubleQuote;思uote;怙ȀlnpuȞȨɇɕonĀ;eȥȦ户;橴ƀgitȯȶȺruent;扡nt;戯ourIntegral;戮ĀfrɌɎ;愂oduct;成nterClockwiseContourIntegral;戳oss;樯cr;쀀𝒞pĀ;Cʄʅ拓ap;才րDJSZacefiosʠʬʰʴʸˋ˗ˡ˦̳ҍĀ;oŹʥtrahd;椑cy;䐂cy;䐅cy;䐏ƀgrsʿ˄ˇger;怡r;憡hv;櫤Āayː˕ron;䄎;䐔lĀ;t˝˞戇a;䎔r;쀀𝔇Āaf˫̧Ācm˰̢riticalȀADGT̖̜̀̆cute;䂴oŴ̋̍;䋙bleAcute;䋝rave;䁠ilde;䋜ond;拄ferentialD;慆Ѱ̽\0\0\0͔͂\0Ѕf;쀀𝔻ƀ;DE͈͉͍䂨ot;惜qual;扐blèCDLRUVͣͲ΂ϏϢϸontourIntegraìȹoɴ͹\0\0ͻ»͉nArrow;懓Āeo·ΤftƀARTΐΖΡrrow;懐ightArrow;懔eåˊngĀLRΫτeftĀARγιrrow;柸ightArrow;柺ightArrow;柹ightĀATϘϞrrow;懒ee;抨pɁϩ\0\0ϯrrow;懑ownArrow;懕erticalBar;戥ǹABLRTaВЪаўѿͼrrowƀ;BUНОТ憓ar;椓pArrow;懵reve;䌑eft˒к\0ц\0ѐightVector;楐eeVector;楞ectorĀ;Bљњ憽ar;楖ightǔѧ\0ѱeeVector;楟ectorĀ;BѺѻ懁ar;楗eeĀ;A҆҇护rrow;憧ĀctҒҗr;쀀𝒟rok;䄐ࠀNTacdfglmopqstuxҽӀӄӋӞӢӧӮӵԡԯԶՒ՝ՠեG;䅊H耻Ð䃐cute耻É䃉ƀaiyӒӗӜron;䄚rc耻Ê䃊;䐭ot;䄖r;쀀𝔈rave耻È䃈ement;戈ĀapӺӾcr;䄒tyɓԆ\0\0ԒmallSquare;旻erySmallSquare;斫ĀgpԦԪon;䄘f;쀀𝔼silon;䎕uĀaiԼՉlĀ;TՂՃ橵ilde;扂librium;懌Āci՗՚r;愰m;橳a;䎗ml耻Ë䃋Āipժկsts;戃onentialE;慇ʀcfiosօֈ֍ֲ׌y;䐤r;쀀𝔉lledɓ֗\0\0֣mallSquare;旼erySmallSquare;斪Ͱֺ\0ֿ\0\0ׄf;쀀𝔽All;戀riertrf;愱cò׋؀JTabcdfgorstר׬ׯ׺؀ؒؖ؛؝أ٬ٲcy;䐃耻>䀾mmaĀ;d׷׸䎓;䏜reve;䄞ƀeiy؇،ؐdil;䄢rc;䄜;䐓ot;䄠r;쀀𝔊;拙pf;쀀𝔾eater̀EFGLSTصلَٖٛ٦qualĀ;Lؾؿ扥ess;招ullEqual;执reater;檢ess;扷lantEqual;橾ilde;扳cr;쀀𝒢;扫ЀAacfiosuڅڋږڛڞڪھۊRDcy;䐪Āctڐڔek;䋇;䁞irc;䄤r;愌lbertSpace;愋ǰگ\0ڲf;愍izontalLine;攀Āctۃۅòکrok;䄦mpńېۘownHumðįqual;扏܀EJOacdfgmnostuۺ۾܃܇܎ܚܞܡܨ݄ݸދޏޕcy;䐕lig;䄲cy;䐁cute耻Í䃍Āiyܓܘrc耻Î䃎;䐘ot;䄰r;愑rave耻Ì䃌ƀ;apܠܯܿĀcgܴܷr;䄪inaryI;慈lieóϝǴ݉\0ݢĀ;eݍݎ戬Āgrݓݘral;戫section;拂isibleĀCTݬݲomma;恣imes;恢ƀgptݿރވon;䄮f;쀀𝕀a;䎙cr;愐ilde;䄨ǫޚ\0ޞcy;䐆l耻Ï䃏ʀcfosuެ޷޼߂ߐĀiyޱ޵rc;䄴;䐙r;쀀𝔍pf;쀀𝕁ǣ߇\0ߌr;쀀𝒥rcy;䐈kcy;䐄΀HJacfosߤߨ߽߬߱ࠂࠈcy;䐥cy;䐌ppa;䎚Āey߶߻dil;䄶;䐚r;쀀𝔎pf;쀀𝕂cr;쀀𝒦րJTaceflmostࠥࠩࠬࡐࡣ঳সে্਷ੇcy;䐉耻<䀼ʀcmnpr࠷࠼ࡁࡄࡍute;䄹bda;䎛g;柪lacetrf;愒r;憞ƀaeyࡗ࡜ࡡron;䄽dil;䄻;䐛Āfsࡨ॰tԀACDFRTUVarࡾࢩࢱࣦ࣠ࣼयज़ΐ४Ānrࢃ࢏gleBracket;柨rowƀ;BR࢙࢚࢞憐ar;懤ightArrow;懆eiling;挈oǵࢷ\0ࣃbleBracket;柦nǔࣈ\0࣒eeVector;楡ectorĀ;Bࣛࣜ懃ar;楙loor;挊ightĀAV࣯ࣵrrow;憔ector;楎Āerँगeƀ;AVउऊऐ抣rrow;憤ector;楚iangleƀ;BEतथऩ抲ar;槏qual;抴pƀDTVषूौownVector;楑eeVector;楠ectorĀ;Bॖॗ憿ar;楘ectorĀ;B॥०憼ar;楒ightáΜs̀EFGLSTॾঋকঝঢভqualGreater;拚ullEqual;扦reater;扶ess;檡lantEqual;橽ilde;扲r;쀀𝔏Ā;eঽা拘ftarrow;懚idot;䄿ƀnpw৔ਖਛgȀLRlr৞৷ਂਐeftĀAR০৬rrow;柵ightArrow;柷ightArrow;柶eftĀarγਊightáοightáϊf;쀀𝕃erĀLRਢਬeftArrow;憙ightArrow;憘ƀchtਾੀੂòࡌ;憰rok;䅁;扪Ѐacefiosuਗ਼੝੠੷੼અઋ઎p;椅y;䐜Ādl੥੯iumSpace;恟lintrf;愳r;쀀𝔐nusPlus;戓pf;쀀𝕄cò੶;䎜ҀJacefostuણધભીଔଙඑ඗ඞcy;䐊cute;䅃ƀaey઴હાron;䅇dil;䅅;䐝ƀgswે૰଎ativeƀMTV૓૟૨ediumSpace;怋hiĀcn૦૘ë૙eryThiî૙tedĀGL૸ଆreaterGreateòٳessLesóੈLine;䀊r;쀀𝔑ȀBnptଢନଷ଺reak;恠BreakingSpace;䂠f;愕ڀ;CDEGHLNPRSTV୕ୖ୪୼஡௫ఄ౞಄ದ೘ൡඅ櫬Āou୛୤ngruent;扢pCap;扭oubleVerticalBar;戦ƀlqxஃஊ஛ement;戉ualĀ;Tஒஓ扠ilde;쀀≂̸ists;戄reater΀;EFGLSTஶஷ஽௉௓௘௥扯qual;扱ullEqual;쀀≧̸reater;쀀≫̸ess;批lantEqual;쀀⩾̸ilde;扵umpń௲௽ownHump;쀀≎̸qual;쀀≏̸eĀfsఊధtTriangleƀ;BEచఛడ拪ar;쀀⧏̸qual;括s̀;EGLSTవశ఼ౄోౘ扮qual;扰reater;扸ess;쀀≪̸lantEqual;쀀⩽̸ilde;扴estedĀGL౨౹reaterGreater;쀀⪢̸essLess;쀀⪡̸recedesƀ;ESಒಓಛ技qual;쀀⪯̸lantEqual;拠ĀeiಫಹverseElement;戌ghtTriangleƀ;BEೋೌ೒拫ar;쀀⧐̸qual;拭ĀquೝഌuareSuĀbp೨೹setĀ;E೰ೳ쀀⊏̸qual;拢ersetĀ;Eഃആ쀀⊐̸qual;拣ƀbcpഓതൎsetĀ;Eഛഞ쀀⊂⃒qual;抈ceedsȀ;ESTലള഻െ抁qual;쀀⪰̸lantEqual;拡ilde;쀀≿̸ersetĀ;E൘൛쀀⊃⃒qual;抉ildeȀ;EFT൮൯൵ൿ扁qual;扄ullEqual;扇ilde;扉erticalBar;戤cr;쀀𝒩ilde耻Ñ䃑;䎝܀Eacdfgmoprstuvලෂ෉෕ෛ෠෧෼ขภยา฿ไlig;䅒cute耻Ó䃓Āiy෎ීrc耻Ô䃔;䐞blac;䅐r;쀀𝔒rave耻Ò䃒ƀaei෮ෲ෶cr;䅌ga;䎩cron;䎟pf;쀀𝕆enCurlyĀDQฎบoubleQuote;怜uote;怘;橔Āclวฬr;쀀𝒪ash耻Ø䃘iŬื฼de耻Õ䃕es;樷ml耻Ö䃖erĀBP๋๠Āar๐๓r;怾acĀek๚๜;揞et;掴arenthesis;揜Ҁacfhilors๿ງຊຏຒດຝະ໼rtialD;戂y;䐟r;쀀𝔓i;䎦;䎠usMinus;䂱Āipຢອncareplanåڝf;愙Ȁ;eio຺ູ໠໤檻cedesȀ;EST່້໏໚扺qual;檯lantEqual;扼ilde;找me;怳Ādp໩໮uct;戏ortionĀ;aȥ໹l;戝Āci༁༆r;쀀𝒫;䎨ȀUfos༑༖༛༟OT耻"䀢r;쀀𝔔pf;愚cr;쀀𝒬؀BEacefhiorsu༾གྷཇའཱིྦྷྪྭ႖ႩႴႾarr;椐G耻®䂮ƀcnrཎནབute;䅔g;柫rĀ;tཛྷཝ憠l;椖ƀaeyཧཬཱron;䅘dil;䅖;䐠Ā;vླྀཹ愜erseĀEUྂྙĀlq྇ྎement;戋uilibrium;懋pEquilibrium;楯r»ཹo;䎡ghtЀACDFTUVa࿁࿫࿳ဢဨၛႇϘĀnr࿆࿒gleBracket;柩rowƀ;BL࿜࿝࿡憒ar;懥eftArrow;懄eiling;按oǵ࿹\0စbleBracket;柧nǔည\0နeeVector;楝ectorĀ;Bဝသ懂ar;楕loor;挋Āerိ၃eƀ;AVဵံြ抢rrow;憦ector;楛iangleƀ;BEၐၑၕ抳ar;槐qual;抵pƀDTVၣၮၸownVector;楏eeVector;楜ectorĀ;Bႂႃ憾ar;楔ectorĀ;B႑႒懀ar;楓Āpuႛ႞f;愝ndImplies;楰ightarrow;懛ĀchႹႼr;愛;憱leDelayed;槴ڀHOacfhimoqstuფჱჷჽᄙᄞᅑᅖᅡᅧᆵᆻᆿĀCcჩხHcy;䐩y;䐨FTcy;䐬cute;䅚ʀ;aeiyᄈᄉᄎᄓᄗ檼ron;䅠dil;䅞rc;䅜;䐡r;쀀𝔖ortȀDLRUᄪᄴᄾᅉownArrow»ОeftArrow»࢚ightArrow»࿝pArrow;憑gma;䎣allCircle;战pf;쀀𝕊ɲᅭ\0\0ᅰt;戚areȀ;ISUᅻᅼᆉᆯ斡ntersection;抓uĀbpᆏᆞsetĀ;Eᆗᆘ抏qual;抑ersetĀ;Eᆨᆩ抐qual;抒nion;抔cr;쀀𝒮ar;拆ȀbcmpᇈᇛሉላĀ;sᇍᇎ拐etĀ;Eᇍᇕqual;抆ĀchᇠህeedsȀ;ESTᇭᇮᇴᇿ扻qual;檰lantEqual;扽ilde;承Tháྌ;我ƀ;esሒሓሣ拑rsetĀ;Eሜም抃qual;抇et»ሓրHRSacfhiorsሾቄ቉ቕ቞ቱቶኟዂወዑORN耻Þ䃞ADE;愢ĀHc቎ቒcy;䐋y;䐦Ābuቚቜ;䀉;䎤ƀaeyብቪቯron;䅤dil;䅢;䐢r;쀀𝔗Āeiቻ኉Dzኀ\0ኇefore;戴a;䎘Ācn኎ኘkSpace;쀀  Space;怉ldeȀ;EFTካኬኲኼ戼qual;扃ullEqual;扅ilde;扈pf;쀀𝕋ipleDot;惛Āctዖዛr;쀀𝒯rok;䅦ૡዷጎጚጦ\0ጬጱ\0\0\0\0\0ጸጽ፷ᎅ\0᏿ᐄᐊᐐĀcrዻጁute耻Ú䃚rĀ;oጇገ憟cir;楉rǣጓ\0጖y;䐎ve;䅬Āiyጞጣrc耻Û䃛;䐣blac;䅰r;쀀𝔘rave耻Ù䃙acr;䅪Ādiፁ፩erĀBPፈ፝Āarፍፐr;䁟acĀekፗፙ;揟et;掵arenthesis;揝onĀ;P፰፱拃lus;抎Āgp፻፿on;䅲f;쀀𝕌ЀADETadps᎕ᎮᎸᏄϨᏒᏗᏳrrowƀ;BDᅐᎠᎤar;椒ownArrow;懅ownArrow;憕quilibrium;楮eeĀ;AᏋᏌ报rrow;憥ownáϳerĀLRᏞᏨeftArrow;憖ightArrow;憗iĀ;lᏹᏺ䏒on;䎥ing;䅮cr;쀀𝒰ilde;䅨ml耻Ü䃜ҀDbcdefosvᐧᐬᐰᐳᐾᒅᒊᒐᒖash;披ar;櫫y;䐒ashĀ;lᐻᐼ抩;櫦Āerᑃᑅ;拁ƀbtyᑌᑐᑺar;怖Ā;iᑏᑕcalȀBLSTᑡᑥᑪᑴar;戣ine;䁼eparator;杘ilde;所ThinSpace;怊r;쀀𝔙pf;쀀𝕍cr;쀀𝒱dash;抪ʀcefosᒧᒬᒱᒶᒼirc;䅴dge;拀r;쀀𝔚pf;쀀𝕎cr;쀀𝒲Ȁfiosᓋᓐᓒᓘr;쀀𝔛;䎞pf;쀀𝕏cr;쀀𝒳ҀAIUacfosuᓱᓵᓹᓽᔄᔏᔔᔚᔠcy;䐯cy;䐇cy;䐮cute耻Ý䃝Āiyᔉᔍrc;䅶;䐫r;쀀𝔜pf;쀀𝕐cr;쀀𝒴ml;䅸ЀHacdefosᔵᔹᔿᕋᕏᕝᕠᕤcy;䐖cute;䅹Āayᕄᕉron;䅽;䐗ot;䅻Dzᕔ\0ᕛoWidtè૙a;䎖r;愨pf;愤cr;쀀𝒵௡ᖃᖊᖐ\0ᖰᖶᖿ\0\0\0\0ᗆᗛᗫᙟ᙭\0ᚕ᚛ᚲᚹ\0ᚾcute耻á䃡reve;䄃̀;Ediuyᖜᖝᖡᖣᖨᖭ戾;쀀∾̳;房rc耻â䃢te肻´̆;䐰lig耻æ䃦Ā;r²ᖺ;쀀𝔞rave耻à䃠ĀepᗊᗖĀfpᗏᗔsym;愵èᗓha;䎱ĀapᗟcĀclᗤᗧr;䄁g;樿ɤᗰ\0\0ᘊʀ;adsvᗺᗻᗿᘁᘇ戧nd;橕;橜lope;橘;橚΀;elmrszᘘᘙᘛᘞᘿᙏᙙ戠;榤e»ᘙsdĀ;aᘥᘦ戡ѡᘰᘲᘴᘶᘸᘺᘼᘾ;榨;榩;榪;榫;榬;榭;榮;榯tĀ;vᙅᙆ戟bĀ;dᙌᙍ抾;榝Āptᙔᙗh;戢»¹arr;捼Āgpᙣᙧon;䄅f;쀀𝕒΀;Eaeiop዁ᙻᙽᚂᚄᚇᚊ;橰cir;橯;扊d;手s;䀧roxĀ;e዁ᚒñᚃing耻å䃥ƀctyᚡᚦᚨr;쀀𝒶;䀪mpĀ;e዁ᚯñʈilde耻ã䃣ml耻ä䃤Āciᛂᛈoninôɲnt;樑ࠀNabcdefiklnoprsu᛭ᛱᜰ᜼ᝃᝈ᝸᝽០៦ᠹᡐᜍ᤽᥈ᥰot;櫭Ācrᛶ᜞kȀcepsᜀᜅᜍᜓong;扌psilon;䏶rime;怵imĀ;e᜚᜛戽q;拍Ŷᜢᜦee;抽edĀ;gᜬᜭ挅e»ᜭrkĀ;t፜᜷brk;掶Āoyᜁᝁ;䐱quo;怞ʀcmprtᝓ᝛ᝡᝤᝨausĀ;eĊĉptyv;榰séᜌnoõēƀahwᝯ᝱ᝳ;䎲;愶een;扬r;쀀𝔟g΀costuvwឍឝឳេ៕៛៞ƀaiuបពរðݠrc;旯p»፱ƀdptឤឨឭot;樀lus;樁imes;樂ɱឹ\0\0ើcup;樆ar;昅riangleĀdu៍្own;施p;斳plus;樄eåᑄåᒭarow;植ƀako៭ᠦᠵĀcn៲ᠣkƀlst៺֫᠂ozenge;槫riangleȀ;dlr᠒᠓᠘᠝斴own;斾eft;旂ight;斸k;搣Ʊᠫ\0ᠳƲᠯ\0ᠱ;斒;斑4;斓ck;斈ĀeoᠾᡍĀ;qᡃᡆ쀀=⃥uiv;쀀≡⃥t;挐Ȁptwxᡙᡞᡧᡬf;쀀𝕓Ā;tᏋᡣom»Ꮜtie;拈؀DHUVbdhmptuvᢅᢖᢪᢻᣗᣛᣬ᣿ᤅᤊᤐᤡȀLRlrᢎᢐᢒᢔ;敗;敔;敖;敓ʀ;DUduᢡᢢᢤᢦᢨ敐;敦;敩;敤;敧ȀLRlrᢳᢵᢷᢹ;敝;敚;敜;教΀;HLRhlrᣊᣋᣍᣏᣑᣓᣕ救;敬;散;敠;敫;敢;敟ox;槉ȀLRlrᣤᣦᣨᣪ;敕;敒;攐;攌ʀ;DUduڽ᣷᣹᣻᣽;敥;敨;攬;攴inus;抟lus;択imes;抠ȀLRlrᤙᤛᤝ᤟;敛;敘;攘;攔΀;HLRhlrᤰᤱᤳᤵᤷ᤻᤹攂;敪;敡;敞;攼;攤;攜Āevģ᥂bar耻¦䂦Ȁceioᥑᥖᥚᥠr;쀀𝒷mi;恏mĀ;e᜚᜜lƀ;bhᥨᥩᥫ䁜;槅sub;柈Ŭᥴ᥾lĀ;e᥹᥺怢t»᥺pƀ;Eeįᦅᦇ;檮Ā;qۜۛೡᦧ\0᧨ᨑᨕᨲ\0ᨷᩐ\0\0᪴\0\0᫁\0\0ᬡᬮ᭍᭒\0᯽\0ᰌƀcpr᦭ᦲ᧝ute;䄇̀;abcdsᦿᧀᧄ᧊᧕᧙戩nd;橄rcup;橉Āau᧏᧒p;橋p;橇ot;橀;쀀∩︀Āeo᧢᧥t;恁îړȀaeiu᧰᧻ᨁᨅǰ᧵\0᧸s;橍on;䄍dil耻ç䃧rc;䄉psĀ;sᨌᨍ橌m;橐ot;䄋ƀdmnᨛᨠᨦil肻¸ƭptyv;榲t脀¢;eᨭᨮ䂢räƲr;쀀𝔠ƀceiᨽᩀᩍy;䑇ckĀ;mᩇᩈ朓ark»ᩈ;䏇r΀;Ecefms᩟᩠ᩢᩫ᪤᪪᪮旋;槃ƀ;elᩩᩪᩭ䋆q;扗eɡᩴ\0\0᪈rrowĀlr᩼᪁eft;憺ight;憻ʀRSacd᪒᪔᪖᪚᪟»ཇ;擈st;抛irc;抚ash;抝nint;樐id;櫯cir;槂ubsĀ;u᪻᪼晣it»᪼ˬ᫇᫔᫺\0ᬊonĀ;eᫍᫎ䀺Ā;qÇÆɭ᫙\0\0᫢aĀ;t᫞᫟䀬;䁀ƀ;fl᫨᫩᫫戁îᅠeĀmx᫱᫶ent»᫩eóɍǧ᫾\0ᬇĀ;dኻᬂot;橭nôɆƀfryᬐᬔᬗ;쀀𝕔oäɔ脀©;sŕᬝr;愗Āaoᬥᬩrr;憵ss;朗Ācuᬲᬷr;쀀𝒸Ābpᬼ᭄Ā;eᭁᭂ櫏;櫑Ā;eᭉᭊ櫐;櫒dot;拯΀delprvw᭠᭬᭷ᮂᮬᯔ᯹arrĀlr᭨᭪;椸;椵ɰ᭲\0\0᭵r;拞c;拟arrĀ;p᭿ᮀ憶;椽̀;bcdosᮏᮐᮖᮡᮥᮨ截rcap;橈Āauᮛᮞp;橆p;橊ot;抍r;橅;쀀∪︀Ȁalrv᮵ᮿᯞᯣrrĀ;mᮼᮽ憷;椼yƀevwᯇᯔᯘqɰᯎ\0\0ᯒreã᭳uã᭵ee;拎edge;拏en耻¤䂤earrowĀlrᯮ᯳eft»ᮀight»ᮽeäᯝĀciᰁᰇoninôǷnt;戱lcty;挭ঀAHabcdefhijlorstuwz᰸᰻᰿ᱝᱩᱵᲊᲞᲬᲷ᳻᳿ᴍᵻᶑᶫᶻ᷆᷍rò΁ar;楥Ȁglrs᱈ᱍ᱒᱔ger;怠eth;愸òᄳhĀ;vᱚᱛ怐»ऊūᱡᱧarow;椏aã̕Āayᱮᱳron;䄏;䐴ƀ;ao̲ᱼᲄĀgrʿᲁr;懊tseq;橷ƀglmᲑᲔᲘ耻°䂰ta;䎴ptyv;榱ĀirᲣᲨsht;楿;쀀𝔡arĀlrᲳᲵ»ࣜ»သʀaegsv᳂͸᳖᳜᳠mƀ;oș᳊᳔ndĀ;ș᳑uit;晦amma;䏝in;拲ƀ;io᳧᳨᳸䃷de脀÷;o᳧ᳰntimes;拇nø᳷cy;䑒cɯᴆ\0\0ᴊrn;挞op;挍ʀlptuwᴘᴝᴢᵉᵕlar;䀤f;쀀𝕕ʀ;emps̋ᴭᴷᴽᵂqĀ;d͒ᴳot;扑inus;戸lus;戔quare;抡blebarwedgåúnƀadhᄮᵝᵧownarrowóᲃarpoonĀlrᵲᵶefôᲴighôᲶŢᵿᶅkaro÷གɯᶊ\0\0ᶎrn;挟op;挌ƀcotᶘᶣᶦĀryᶝᶡ;쀀𝒹;䑕l;槶rok;䄑Ādrᶰᶴot;拱iĀ;fᶺ᠖斿Āah᷀᷃ròЩaòྦangle;榦Āci᷒ᷕy;䑟grarr;柿ऀDacdefglmnopqrstuxḁḉḙḸոḼṉṡṾấắẽỡἪἷὄ὎὚ĀDoḆᴴoôᲉĀcsḎḔute耻é䃩ter;橮ȀaioyḢḧḱḶron;䄛rĀ;cḭḮ扖耻ê䃪lon;払;䑍ot;䄗ĀDrṁṅot;扒;쀀𝔢ƀ;rsṐṑṗ檚ave耻è䃨Ā;dṜṝ檖ot;檘Ȁ;ilsṪṫṲṴ檙nters;揧;愓Ā;dṹṺ檕ot;檗ƀapsẅẉẗcr;䄓tyƀ;svẒẓẕ戅et»ẓpĀ1;ẝẤijạả;怄;怅怃ĀgsẪẬ;䅋p;怂ĀgpẴẸon;䄙f;쀀𝕖ƀalsỄỎỒrĀ;sỊị拕l;槣us;橱iƀ;lvỚớở䎵on»ớ;䏵ȀcsuvỪỳἋἣĀioữḱrc»Ḯɩỹ\0\0ỻíՈantĀglἂἆtr»ṝess»Ṻƀaeiἒ἖Ἒls;䀽st;扟vĀ;DȵἠD;橸parsl;槥ĀDaἯἳot;打rr;楱ƀcdiἾὁỸr;愯oô͒ĀahὉὋ;䎷耻ð䃰Āmrὓὗl耻ë䃫o;悬ƀcipὡὤὧl;䀡sôծĀeoὬὴctatioîՙnentialåչৡᾒ\0ᾞ\0ᾡᾧ\0\0ῆῌ\0ΐ\0ῦῪ \0 ⁚llingdotseñṄy;䑄male;晀ƀilrᾭᾳ῁lig;耀ffiɩᾹ\0\0᾽g;耀ffig;耀ffl;쀀𝔣lig;耀filig;쀀fjƀaltῙ῜ῡt;晭ig;耀flns;斱of;䆒ǰ΅\0ῳf;쀀𝕗ĀakֿῷĀ;vῼ´拔;櫙artint;樍Āao‌⁕Ācs‑⁒ႉ‸⁅⁈\0⁐β•‥‧‪‬\0‮耻½䂽;慓耻¼䂼;慕;慙;慛Ƴ‴\0‶;慔;慖ʴ‾⁁\0\0⁃耻¾䂾;慗;慜5;慘ƶ⁌\0⁎;慚;慝8;慞l;恄wn;挢cr;쀀𝒻ࢀEabcdefgijlnorstv₂₉₟₥₰₴⃰⃵⃺⃿℃ℒℸ̗ℾ⅒↞Ā;lٍ₇;檌ƀcmpₐₕ₝ute;䇵maĀ;dₜ᳚䎳;檆reve;䄟Āiy₪₮rc;䄝;䐳ot;䄡Ȁ;lqsؾق₽⃉ƀ;qsؾٌ⃄lanô٥Ȁ;cdl٥⃒⃥⃕c;檩otĀ;o⃜⃝檀Ā;l⃢⃣檂;檄Ā;e⃪⃭쀀⋛︀s;檔r;쀀𝔤Ā;gٳ؛mel;愷cy;䑓Ȁ;Eajٚℌℎℐ;檒;檥;檤ȀEaesℛℝ℩ℴ;扩pĀ;p℣ℤ檊rox»ℤĀ;q℮ℯ檈Ā;q℮ℛim;拧pf;쀀𝕘Āci⅃ⅆr;愊mƀ;el٫ⅎ⅐;檎;檐茀>;cdlqr׮ⅠⅪⅮⅳⅹĀciⅥⅧ;檧r;橺ot;拗Par;榕uest;橼ʀadelsↄⅪ←ٖ↛ǰ↉\0↎proø₞r;楸qĀlqؿ↖lesó₈ií٫Āen↣↭rtneqq;쀀≩︀Å↪ԀAabcefkosy⇄⇇⇱⇵⇺∘∝∯≨≽ròΠȀilmr⇐⇔⇗⇛rsðᒄf»․ilôکĀdr⇠⇤cy;䑊ƀ;cwࣴ⇫⇯ir;楈;憭ar;意irc;䄥ƀalr∁∎∓rtsĀ;u∉∊晥it»∊lip;怦con;抹r;쀀𝔥sĀew∣∩arow;椥arow;椦ʀamopr∺∾≃≞≣rr;懿tht;戻kĀlr≉≓eftarrow;憩ightarrow;憪f;쀀𝕙bar;怕ƀclt≯≴≸r;쀀𝒽asè⇴rok;䄧Ābp⊂⊇ull;恃hen»ᱛૡ⊣\0⊪\0⊸⋅⋎\0⋕⋳\0\0⋸⌢⍧⍢⍿\0⎆⎪⎴cute耻í䃭ƀ;iyݱ⊰⊵rc耻î䃮;䐸Ācx⊼⊿y;䐵cl耻¡䂡ĀfrΟ⋉;쀀𝔦rave耻ì䃬Ȁ;inoܾ⋝⋩⋮Āin⋢⋦nt;樌t;戭fin;槜ta;愩lig;䄳ƀaop⋾⌚⌝ƀcgt⌅⌈⌗r;䄫ƀelpܟ⌏⌓inåގarôܠh;䄱f;抷ed;䆵ʀ;cfotӴ⌬⌱⌽⍁are;愅inĀ;t⌸⌹戞ie;槝doô⌙ʀ;celpݗ⍌⍐⍛⍡al;抺Āgr⍕⍙eróᕣã⍍arhk;樗rod;樼Ȁcgpt⍯⍲⍶⍻y;䑑on;䄯f;쀀𝕚a;䎹uest耻¿䂿Āci⎊⎏r;쀀𝒾nʀ;EdsvӴ⎛⎝⎡ӳ;拹ot;拵Ā;v⎦⎧拴;拳Ā;iݷ⎮lde;䄩ǫ⎸\0⎼cy;䑖l耻ï䃯̀cfmosu⏌⏗⏜⏡⏧⏵Āiy⏑⏕rc;䄵;䐹r;쀀𝔧ath;䈷pf;쀀𝕛ǣ⏬\0⏱r;쀀𝒿rcy;䑘kcy;䑔Ѐacfghjos␋␖␢␧␭␱␵␻ppaĀ;v␓␔䎺;䏰Āey␛␠dil;䄷;䐺r;쀀𝔨reen;䄸cy;䑅cy;䑜pf;쀀𝕜cr;쀀𝓀஀ABEHabcdefghjlmnoprstuv⑰⒁⒆⒍⒑┎┽╚▀♎♞♥♹♽⚚⚲⛘❝❨➋⟀⠁⠒ƀart⑷⑺⑼rò৆òΕail;椛arr;椎Ā;gঔ⒋;檋ar;楢ॣ⒥\0⒪\0⒱\0\0\0\0\0⒵Ⓔ\0ⓆⓈⓍ\0⓹ute;䄺mptyv;榴raîࡌbda;䎻gƀ;dlࢎⓁⓃ;榑åࢎ;檅uo耻«䂫rЀ;bfhlpst࢙ⓞⓦⓩ⓫⓮⓱⓵Ā;f࢝ⓣs;椟s;椝ë≒p;憫l;椹im;楳l;憢ƀ;ae⓿─┄檫il;椙Ā;s┉┊檭;쀀⪭︀ƀabr┕┙┝rr;椌rk;杲Āak┢┬cĀek┨┪;䁻;䁛Āes┱┳;榋lĀdu┹┻;榏;榍Ȁaeuy╆╋╖╘ron;䄾Ādi═╔il;䄼ìࢰâ┩;䐻Ȁcqrs╣╦╭╽a;椶uoĀ;rนᝆĀdu╲╷har;楧shar;楋h;憲ʀ;fgqs▋▌উ◳◿扤tʀahlrt▘▤▷◂◨rrowĀ;t࢙□aé⓶arpoonĀdu▯▴own»њp»०eftarrows;懇ightƀahs◍◖◞rrowĀ;sࣴࢧarpoonó྘quigarro÷⇰hreetimes;拋ƀ;qs▋ও◺lanôবʀ;cdgsব☊☍☝☨c;檨otĀ;o☔☕橿Ā;r☚☛檁;檃Ā;e☢☥쀀⋚︀s;檓ʀadegs☳☹☽♉♋pproøⓆot;拖qĀgq♃♅ôউgtò⒌ôছiíলƀilr♕࣡♚sht;楼;쀀𝔩Ā;Eজ♣;檑š♩♶rĀdu▲♮Ā;l॥♳;楪lk;斄cy;䑙ʀ;achtੈ⚈⚋⚑⚖rò◁orneòᴈard;楫ri;旺Āio⚟⚤dot;䅀ustĀ;a⚬⚭掰che»⚭ȀEaes⚻⚽⛉⛔;扨pĀ;p⛃⛄檉rox»⛄Ā;q⛎⛏檇Ā;q⛎⚻im;拦Ѐabnoptwz⛩⛴⛷✚✯❁❇❐Ānr⛮⛱g;柬r;懽rëࣁgƀlmr⛿✍✔eftĀar০✇ightá৲apsto;柼ightá৽parrowĀlr✥✩efô⓭ight;憬ƀafl✶✹✽r;榅;쀀𝕝us;樭imes;樴š❋❏st;戗áፎƀ;ef❗❘᠀旊nge»❘arĀ;l❤❥䀨t;榓ʀachmt❳❶❼➅➇ròࢨorneòᶌarĀ;d྘➃;業;怎ri;抿̀achiqt➘➝ੀ➢➮➻quo;怹r;쀀𝓁mƀ;egল➪➬;檍;檏Ābu┪➳oĀ;rฟ➹;怚rok;䅂萀<;cdhilqrࠫ⟒☹⟜⟠⟥⟪⟰Āci⟗⟙;檦r;橹reå◲mes;拉arr;楶uest;橻ĀPi⟵⟹ar;榖ƀ;ef⠀भ᠛旃rĀdu⠇⠍shar;楊har;楦Āen⠗⠡rtneqq;쀀≨︀Å⠞܀Dacdefhilnopsu⡀⡅⢂⢎⢓⢠⢥⢨⣚⣢⣤ઃ⣳⤂Dot;戺Ȁclpr⡎⡒⡣⡽r耻¯䂯Āet⡗⡙;時Ā;e⡞⡟朠se»⡟Ā;sျ⡨toȀ;dluျ⡳⡷⡻owîҌefôएðᏑker;斮Āoy⢇⢌mma;権;䐼ash;怔asuredangle»ᘦr;쀀𝔪o;愧ƀcdn⢯⢴⣉ro耻µ䂵Ȁ;acdᑤ⢽⣀⣄sôᚧir;櫰ot肻·Ƶusƀ;bd⣒ᤃ⣓戒Ā;uᴼ⣘;横ţ⣞⣡p;櫛ò−ðઁĀdp⣩⣮els;抧f;쀀𝕞Āct⣸⣽r;쀀𝓂pos»ᖝƀ;lm⤉⤊⤍䎼timap;抸ఀGLRVabcdefghijlmoprstuvw⥂⥓⥾⦉⦘⧚⧩⨕⨚⩘⩝⪃⪕⪤⪨⬄⬇⭄⭿⮮ⰴⱧⱼ⳩Āgt⥇⥋;쀀⋙̸Ā;v⥐௏쀀≫⃒ƀelt⥚⥲⥶ftĀar⥡⥧rrow;懍ightarrow;懎;쀀⋘̸Ā;v⥻ే쀀≪⃒ightarrow;懏ĀDd⦎⦓ash;抯ash;抮ʀbcnpt⦣⦧⦬⦱⧌la»˞ute;䅄g;쀀∠⃒ʀ;Eiop඄⦼⧀⧅⧈;쀀⩰̸d;쀀≋̸s;䅉roø඄urĀ;a⧓⧔普lĀ;s⧓ସdz⧟\0⧣p肻 ଷmpĀ;e௹ఀʀaeouy⧴⧾⨃⨐⨓ǰ⧹\0⧻;橃on;䅈dil;䅆ngĀ;dൾ⨊ot;쀀⩭̸p;橂;䐽ash;怓΀;Aadqsxஒ⨩⨭⨻⩁⩅⩐rr;懗rĀhr⨳⨶k;椤Ā;oᏲᏰot;쀀≐̸uiöୣĀei⩊⩎ar;椨í஘istĀ;s஠டr;쀀𝔫ȀEest௅⩦⩹⩼ƀ;qs஼⩭௡ƀ;qs஼௅⩴lanô௢ií௪Ā;rஶ⪁»ஷƀAap⪊⪍⪑rò⥱rr;憮ar;櫲ƀ;svྍ⪜ྌĀ;d⪡⪢拼;拺cy;䑚΀AEadest⪷⪺⪾⫂⫅⫶⫹rò⥦;쀀≦̸rr;憚r;急Ȁ;fqs఻⫎⫣⫯tĀar⫔⫙rro÷⫁ightarro÷⪐ƀ;qs఻⪺⫪lanôౕĀ;sౕ⫴»శiíౝĀ;rవ⫾iĀ;eచథiäඐĀpt⬌⬑f;쀀𝕟膀¬;in⬙⬚⬶䂬nȀ;Edvஉ⬤⬨⬮;쀀⋹̸ot;쀀⋵̸ǡஉ⬳⬵;拷;拶iĀ;vಸ⬼ǡಸ⭁⭃;拾;拽ƀaor⭋⭣⭩rȀ;ast୻⭕⭚⭟lleì୻l;쀀⫽⃥;쀀∂̸lint;樔ƀ;ceಒ⭰⭳uåಥĀ;cಘ⭸Ā;eಒ⭽ñಘȀAait⮈⮋⮝⮧rò⦈rrƀ;cw⮔⮕⮙憛;쀀⤳̸;쀀↝̸ghtarrow»⮕riĀ;eೋೖ΀chimpqu⮽⯍⯙⬄୸⯤⯯Ȁ;cerല⯆ഷ⯉uå൅;쀀𝓃ortɭ⬅\0\0⯖ará⭖mĀ;e൮⯟Ā;q൴൳suĀbp⯫⯭å೸åഋƀbcp⯶ⰑⰙȀ;Ees⯿ⰀഢⰄ抄;쀀⫅̸etĀ;eഛⰋqĀ;qണⰀcĀ;eലⰗñസȀ;EesⰢⰣൟⰧ抅;쀀⫆̸etĀ;e൘ⰮqĀ;qൠⰣȀgilrⰽⰿⱅⱇìௗlde耻ñ䃱çృiangleĀlrⱒⱜeftĀ;eచⱚñదightĀ;eೋⱥñ೗Ā;mⱬⱭ䎽ƀ;esⱴⱵⱹ䀣ro;愖p;怇ҀDHadgilrsⲏⲔⲙⲞⲣⲰⲶⳓⳣash;抭arr;椄p;쀀≍⃒ash;抬ĀetⲨⲬ;쀀≥⃒;쀀>⃒nfin;槞ƀAetⲽⳁⳅrr;椂;쀀≤⃒Ā;rⳊⳍ쀀<⃒ie;쀀⊴⃒ĀAtⳘⳜrr;椃rie;쀀⊵⃒im;쀀∼⃒ƀAan⳰⳴ⴂrr;懖rĀhr⳺⳽k;椣Ā;oᏧᏥear;椧ቓ᪕\0\0\0\0\0\0\0\0\0\0\0\0\0ⴭ\0ⴸⵈⵠⵥ⵲ⶄᬇ\0\0ⶍⶫ\0ⷈⷎ\0ⷜ⸙⸫⸾⹃Ācsⴱ᪗ute耻ó䃳ĀiyⴼⵅrĀ;c᪞ⵂ耻ô䃴;䐾ʀabios᪠ⵒⵗLjⵚlac;䅑v;樸old;榼lig;䅓Ācr⵩⵭ir;榿;쀀𝔬ͯ⵹\0\0⵼\0ⶂn;䋛ave耻ò䃲;槁Ābmⶈ෴ar;榵Ȁacitⶕ⶘ⶥⶨrò᪀Āir⶝ⶠr;榾oss;榻nå๒;槀ƀaeiⶱⶵⶹcr;䅍ga;䏉ƀcdnⷀⷅǍron;䎿;榶pf;쀀𝕠ƀaelⷔ⷗ǒr;榷rp;榹΀;adiosvⷪⷫⷮ⸈⸍⸐⸖戨rò᪆Ȁ;efmⷷⷸ⸂⸅橝rĀ;oⷾⷿ愴f»ⷿ耻ª䂪耻º䂺gof;抶r;橖lope;橗;橛ƀclo⸟⸡⸧ò⸁ash耻ø䃸l;折iŬⸯ⸴de耻õ䃵esĀ;aǛ⸺s;樶ml耻ö䃶bar;挽ૡ⹞\0⹽\0⺀⺝\0⺢⺹\0\0⻋ຜ\0⼓\0\0⼫⾼\0⿈rȀ;astЃ⹧⹲຅脀¶;l⹭⹮䂶leìЃɩ⹸\0\0⹻m;櫳;櫽y;䐿rʀcimpt⺋⺏⺓ᡥ⺗nt;䀥od;䀮il;怰enk;怱r;쀀𝔭ƀimo⺨⺰⺴Ā;v⺭⺮䏆;䏕maô੶ne;明ƀ;tv⺿⻀⻈䏀chfork»´;䏖Āau⻏⻟nĀck⻕⻝kĀ;h⇴⻛;愎ö⇴sҀ;abcdemst⻳⻴ᤈ⻹⻽⼄⼆⼊⼎䀫cir;樣ir;樢Āouᵀ⼂;樥;橲n肻±ຝim;樦wo;樧ƀipu⼙⼠⼥ntint;樕f;쀀𝕡nd耻£䂣Ԁ;Eaceinosu່⼿⽁⽄⽇⾁⾉⾒⽾⾶;檳p;檷uå໙Ā;c໎⽌̀;acens່⽙⽟⽦⽨⽾pproø⽃urlyeñ໙ñ໎ƀaes⽯⽶⽺pprox;檹qq;檵im;拨iíໟmeĀ;s⾈ຮ怲ƀEas⽸⾐⽺ð⽵ƀdfp໬⾙⾯ƀals⾠⾥⾪lar;挮ine;挒urf;挓Ā;t໻⾴ï໻rel;抰Āci⿀⿅r;쀀𝓅;䏈ncsp;怈̀fiopsu⿚⋢⿟⿥⿫⿱r;쀀𝔮pf;쀀𝕢rime;恗cr;쀀𝓆ƀaeo⿸〉〓tĀei⿾々rnionóڰnt;樖stĀ;e【】䀿ñἙô༔઀ABHabcdefhilmnoprstux぀けさすムㄎㄫㅇㅢㅲㆎ㈆㈕㈤㈩㉘㉮㉲㊐㊰㊷ƀartぇおがròႳòϝail;検aròᱥar;楤΀cdenqrtとふへみわゔヌĀeuねぱ;쀀∽̱te;䅕iãᅮmptyv;榳gȀ;del࿑らるろ;榒;榥å࿑uo耻»䂻rր;abcfhlpstw࿜ガクシスゼゾダッデナp;極Ā;f࿠ゴs;椠;椳s;椞ë≝ð✮l;楅im;楴l;憣;憝Āaiパフil;椚oĀ;nホボ戶aló༞ƀabrョリヮrò៥rk;杳ĀakンヽcĀekヹ・;䁽;䁝Āes㄂㄄;榌lĀduㄊㄌ;榎;榐Ȁaeuyㄗㄜㄧㄩron;䅙Ādiㄡㄥil;䅗ì࿲âヺ;䑀Ȁclqsㄴㄷㄽㅄa;椷dhar;楩uoĀ;rȎȍh;憳ƀacgㅎㅟངlȀ;ipsླྀㅘㅛႜnåႻarôྩt;断ƀilrㅩဣㅮsht;楽;쀀𝔯ĀaoㅷㆆrĀduㅽㅿ»ѻĀ;l႑ㆄ;楬Ā;vㆋㆌ䏁;䏱ƀgns㆕ㇹㇼht̀ahlrstㆤㆰ㇂㇘㇤㇮rrowĀ;t࿜ㆭaéトarpoonĀduㆻㆿowîㅾp»႒eftĀah㇊㇐rrowó࿪arpoonóՑightarrows;應quigarro÷ニhreetimes;拌g;䋚ingdotseñἲƀahm㈍㈐㈓rò࿪aòՑ;怏oustĀ;a㈞㈟掱che»㈟mid;櫮Ȁabpt㈲㈽㉀㉒Ānr㈷㈺g;柭r;懾rëဃƀafl㉇㉊㉎r;榆;쀀𝕣us;樮imes;樵Āap㉝㉧rĀ;g㉣㉤䀩t;榔olint;樒arò㇣Ȁachq㉻㊀Ⴜ㊅quo;怺r;쀀𝓇Ābu・㊊oĀ;rȔȓƀhir㊗㊛㊠reåㇸmes;拊iȀ;efl㊪ၙᠡ㊫方tri;槎luhar;楨;愞ൡ㋕㋛㋟㌬㌸㍱\0㍺㎤\0\0㏬㏰\0㐨㑈㑚㒭㒱㓊㓱\0㘖\0\0㘳cute;䅛quï➺Ԁ;Eaceinpsyᇭ㋳㋵㋿㌂㌋㌏㌟㌦㌩;檴ǰ㋺\0㋼;檸on;䅡uåᇾĀ;dᇳ㌇il;䅟rc;䅝ƀEas㌖㌘㌛;檶p;檺im;择olint;樓iíሄ;䑁otƀ;be㌴ᵇ㌵担;橦΀Aacmstx㍆㍊㍗㍛㍞㍣㍭rr;懘rĀhr㍐㍒ë∨Ā;oਸ਼਴t耻§䂧i;䀻war;椩mĀin㍩ðnuóñt;朶rĀ;o㍶⁕쀀𝔰Ȁacoy㎂㎆㎑㎠rp;景Āhy㎋㎏cy;䑉;䑈rtɭ㎙\0\0㎜iäᑤaraì⹯耻­䂭Āgm㎨㎴maƀ;fv㎱㎲㎲䏃;䏂Ѐ;deglnprካ㏅㏉㏎㏖㏞㏡㏦ot;橪Ā;q኱ኰĀ;E㏓㏔檞;檠Ā;E㏛㏜檝;檟e;扆lus;樤arr;楲aròᄽȀaeit㏸㐈㐏㐗Āls㏽㐄lsetmé㍪hp;樳parsl;槤Ādlᑣ㐔e;挣Ā;e㐜㐝檪Ā;s㐢㐣檬;쀀⪬︀ƀflp㐮㐳㑂tcy;䑌Ā;b㐸㐹䀯Ā;a㐾㐿槄r;挿f;쀀𝕤aĀdr㑍ЂesĀ;u㑔㑕晠it»㑕ƀcsu㑠㑹㒟Āau㑥㑯pĀ;sᆈ㑫;쀀⊓︀pĀ;sᆴ㑵;쀀⊔︀uĀbp㑿㒏ƀ;esᆗᆜ㒆etĀ;eᆗ㒍ñᆝƀ;esᆨᆭ㒖etĀ;eᆨ㒝ñᆮƀ;afᅻ㒦ְrť㒫ֱ»ᅼaròᅈȀcemt㒹㒾㓂㓅r;쀀𝓈tmîñiì㐕aræᆾĀar㓎㓕rĀ;f㓔ឿ昆Āan㓚㓭ightĀep㓣㓪psiloîỠhé⺯s»⡒ʀbcmnp㓻㕞ሉ㖋㖎Ҁ;Edemnprs㔎㔏㔑㔕㔞㔣㔬㔱㔶抂;櫅ot;檽Ā;dᇚ㔚ot;櫃ult;櫁ĀEe㔨㔪;櫋;把lus;檿arr;楹ƀeiu㔽㕒㕕tƀ;en㔎㕅㕋qĀ;qᇚ㔏eqĀ;q㔫㔨m;櫇Ābp㕚㕜;櫕;櫓c̀;acensᇭ㕬㕲㕹㕻㌦pproø㋺urlyeñᇾñᇳƀaes㖂㖈㌛pproø㌚qñ㌗g;晪ڀ123;Edehlmnps㖩㖬㖯ሜ㖲㖴㗀㗉㗕㗚㗟㗨㗭耻¹䂹耻²䂲耻³䂳;櫆Āos㖹㖼t;檾ub;櫘Ā;dሢ㗅ot;櫄sĀou㗏㗒l;柉b;櫗arr;楻ult;櫂ĀEe㗤㗦;櫌;抋lus;櫀ƀeiu㗴㘉㘌tƀ;enሜ㗼㘂qĀ;qሢ㖲eqĀ;q㗧㗤m;櫈Ābp㘑㘓;櫔;櫖ƀAan㘜㘠㘭rr;懙rĀhr㘦㘨ë∮Ā;oਫ਩war;椪lig耻ß䃟௡㙑㙝㙠ዎ㙳㙹\0㙾㛂\0\0\0\0\0㛛㜃\0㜉㝬\0\0\0㞇ɲ㙖\0\0㙛get;挖;䏄rë๟ƀaey㙦㙫㙰ron;䅥dil;䅣;䑂lrec;挕r;쀀𝔱Ȁeiko㚆㚝㚵㚼Dz㚋\0㚑eĀ4fኄኁaƀ;sv㚘㚙㚛䎸ym;䏑Ācn㚢㚲kĀas㚨㚮pproø዁im»ኬsðኞĀas㚺㚮ð዁rn耻þ䃾Ǭ̟㛆⋧es膀×;bd㛏㛐㛘䃗Ā;aᤏ㛕r;樱;樰ƀeps㛡㛣㜀á⩍Ȁ;bcf҆㛬㛰㛴ot;挶ir;櫱Ā;o㛹㛼쀀𝕥rk;櫚á㍢rime;怴ƀaip㜏㜒㝤dåቈ΀adempst㜡㝍㝀㝑㝗㝜㝟ngleʀ;dlqr㜰㜱㜶㝀㝂斵own»ᶻeftĀ;e⠀㜾ñम;扜ightĀ;e㊪㝋ñၚot;旬inus;樺lus;樹b;槍ime;樻ezium;揢ƀcht㝲㝽㞁Āry㝷㝻;쀀𝓉;䑆cy;䑛rok;䅧Āio㞋㞎xô᝷headĀlr㞗㞠eftarro÷ࡏightarrow»ཝऀAHabcdfghlmoprstuw㟐㟓㟗㟤㟰㟼㠎㠜㠣㠴㡑㡝㡫㢩㣌㣒㣪㣶ròϭar;楣Ācr㟜㟢ute耻ú䃺òᅐrǣ㟪\0㟭y;䑞ve;䅭Āiy㟵㟺rc耻û䃻;䑃ƀabh㠃㠆㠋ròᎭlac;䅱aòᏃĀir㠓㠘sht;楾;쀀𝔲rave耻ù䃹š㠧㠱rĀlr㠬㠮»ॗ»ႃlk;斀Āct㠹㡍ɯ㠿\0\0㡊rnĀ;e㡅㡆挜r»㡆op;挏ri;旸Āal㡖㡚cr;䅫肻¨͉Āgp㡢㡦on;䅳f;쀀𝕦̀adhlsuᅋ㡸㡽፲㢑㢠ownáᎳarpoonĀlr㢈㢌efô㠭ighô㠯iƀ;hl㢙㢚㢜䏅»ᏺon»㢚parrows;懈ƀcit㢰㣄㣈ɯ㢶\0\0㣁rnĀ;e㢼㢽挝r»㢽op;挎ng;䅯ri;旹cr;쀀𝓊ƀdir㣙㣝㣢ot;拰lde;䅩iĀ;f㜰㣨»᠓Āam㣯㣲rò㢨l耻ü䃼angle;榧ހABDacdeflnoprsz㤜㤟㤩㤭㦵㦸㦽㧟㧤㧨㧳㧹㧽㨁㨠ròϷarĀ;v㤦㤧櫨;櫩asèϡĀnr㤲㤷grt;榜΀eknprst㓣㥆㥋㥒㥝㥤㦖appá␕othinçẖƀhir㓫⻈㥙opô⾵Ā;hᎷ㥢ïㆍĀiu㥩㥭gmá㎳Ābp㥲㦄setneqĀ;q㥽㦀쀀⊊︀;쀀⫋︀setneqĀ;q㦏㦒쀀⊋︀;쀀⫌︀Āhr㦛㦟etá㚜iangleĀlr㦪㦯eft»थight»ၑy;䐲ash»ံƀelr㧄㧒㧗ƀ;beⷪ㧋㧏ar;抻q;扚lip;拮Ābt㧜ᑨaòᑩr;쀀𝔳tré㦮suĀbp㧯㧱»ജ»൙pf;쀀𝕧roð໻tré㦴Ācu㨆㨋r;쀀𝓋Ābp㨐㨘nĀEe㦀㨖»㥾nĀEe㦒㨞»㦐igzag;榚΀cefoprs㨶㨻㩖㩛㩔㩡㩪irc;䅵Ādi㩀㩑Ābg㩅㩉ar;機eĀ;qᗺ㩏;扙erp;愘r;쀀𝔴pf;쀀𝕨Ā;eᑹ㩦atèᑹcr;쀀𝓌ૣណ㪇\0㪋\0㪐㪛\0\0㪝㪨㪫㪯\0\0㫃㫎\0㫘ៜ៟tré៑r;쀀𝔵ĀAa㪔㪗ròσrò৶;䎾ĀAa㪡㪤ròθrò৫að✓is;拻ƀdptឤ㪵㪾Āfl㪺ឩ;쀀𝕩imåឲĀAa㫇㫊ròώròਁĀcq㫒ីr;쀀𝓍Āpt៖㫜ré។Ѐacefiosu㫰㫽㬈㬌㬑㬕㬛㬡cĀuy㫶㫻te耻ý䃽;䑏Āiy㬂㬆rc;䅷;䑋n耻¥䂥r;쀀𝔶cy;䑗pf;쀀𝕪cr;쀀𝓎Ācm㬦㬩y;䑎l耻ÿ䃿Ԁacdefhiosw㭂㭈㭔㭘㭤㭩㭭㭴㭺㮀cute;䅺Āay㭍㭒ron;䅾;䐷ot;䅼Āet㭝㭡træᕟa;䎶r;쀀𝔷cy;䐶grarr;懝pf;쀀𝕫cr;쀀𝓏Ājn㮅㮇;怍j;怌'.split("").map((function(Wt){return Wt.charCodeAt(0)})))},62060:(Wt,Pt)=>{Object.defineProperty(Pt,"__esModule",{value:true});Pt["default"]=new Uint16Array("Ȁaglq\tɭ\0\0p;䀦os;䀧t;䀾t;䀼uot;䀢".split("").map((function(Wt){return Wt.charCodeAt(0)})))},38558:(Wt,Pt)=>{Object.defineProperty(Pt,"__esModule",{value:true});Pt.version=void 0;Pt.version="ethers/5.7.2"},17868:function(Wt,Pt,en){var tn=this&&this.__createBinding||(Object.create?function(Wt,Pt,en,tn){if(tn===undefined)tn=en;Object.defineProperty(Wt,tn,{enumerable:true,get:function(){return Pt[en]}})}:function(Wt,Pt,en,tn){if(tn===undefined)tn=en;Wt[tn]=Pt[en]});var nn=this&&this.__setModuleDefault||(Object.create?function(Wt,Pt){Object.defineProperty(Wt,"default",{enumerable:true,value:Pt})}:function(Wt,Pt){Wt["default"]=Pt});var an=this&&this.__importStar||function(Wt){if(Wt&&Wt.__esModule)return Wt;var Pt={};if(Wt!=null)for(var en in Wt)if(en!=="default"&&Object.prototype.hasOwnProperty.call(Wt,en))tn(Pt,Wt,en);nn(Pt,Wt);return Pt};Object.defineProperty(Pt,"__esModule",{value:true});Pt.Wordlist=Pt.version=Pt.wordlists=Pt.utils=Pt.logger=Pt.errors=Pt.constants=Pt.FixedNumber=Pt.BigNumber=Pt.ContractFactory=Pt.Contract=Pt.BaseContract=Pt.providers=Pt.getDefaultProvider=Pt.VoidSigner=Pt.Wallet=Pt.Signer=void 0;var In=en(98322);Object.defineProperty(Pt,"BaseContract",{enumerable:true,get:function(){return In.BaseContract}});Object.defineProperty(Pt,"Contract",{enumerable:true,get:function(){return In.Contract}});Object.defineProperty(Pt,"ContractFactory",{enumerable:true,get:function(){return In.ContractFactory}});var rn=en(18202);Object.defineProperty(Pt,"BigNumber",{enumerable:true,get:function(){return rn.BigNumber}});Object.defineProperty(Pt,"FixedNumber",{enumerable:true,get:function(){return rn.FixedNumber}});var sn=en(53870);Object.defineProperty(Pt,"Signer",{enumerable:true,get:function(){return sn.Signer}});Object.defineProperty(Pt,"VoidSigner",{enumerable:true,get:function(){return sn.VoidSigner}});var on=en(30806);Object.defineProperty(Pt,"Wallet",{enumerable:true,get:function(){return on.Wallet}});var cn=an(en(99848));Pt.constants=cn;var dn=an(en(74983));Pt.providers=dn;var un=en(74983);Object.defineProperty(Pt,"getDefaultProvider",{enumerable:true,get:function(){return un.getDefaultProvider}});var pn=en(78168);Object.defineProperty(Pt,"Wordlist",{enumerable:true,get:function(){return pn.Wordlist}});Object.defineProperty(Pt,"wordlists",{enumerable:true,get:function(){return pn.wordlists}});var mn=an(en(15304));Pt.utils=mn;var bn=en(76127);Object.defineProperty(Pt,"errors",{enumerable:true,get:function(){return bn.ErrorCode}});var Gn=en(38558);Object.defineProperty(Pt,"version",{enumerable:true,get:function(){return Gn.version}});var hn=new bn.Logger(Gn.version);Pt.logger=hn},94653:function(Wt,Pt,en){var tn=this&&this.__createBinding||(Object.create?function(Wt,Pt,en,tn){if(tn===undefined)tn=en;Object.defineProperty(Wt,tn,{enumerable:true,get:function(){return Pt[en]}})}:function(Wt,Pt,en,tn){if(tn===undefined)tn=en;Wt[tn]=Pt[en]});var nn=this&&this.__setModuleDefault||(Object.create?function(Wt,Pt){Object.defineProperty(Wt,"default",{enumerable:true,value:Pt})}:function(Wt,Pt){Wt["default"]=Pt});var an=this&&this.__importStar||function(Wt){if(Wt&&Wt.__esModule)return Wt;var Pt={};if(Wt!=null)for(var en in Wt)if(en!=="default"&&Object.prototype.hasOwnProperty.call(Wt,en))tn(Pt,Wt,en);nn(Pt,Wt);return Pt};Object.defineProperty(Pt,"__esModule",{value:true});Pt.Wordlist=Pt.version=Pt.wordlists=Pt.utils=Pt.logger=Pt.errors=Pt.constants=Pt.FixedNumber=Pt.BigNumber=Pt.ContractFactory=Pt.Contract=Pt.BaseContract=Pt.providers=Pt.getDefaultProvider=Pt.VoidSigner=Pt.Wallet=Pt.Signer=Pt.ethers=void 0;var In=an(en(17868));Pt.ethers=In;try{var rn=window;if(rn._ethers==null){rn._ethers=In}}catch(Wt){}var sn=en(17868);Object.defineProperty(Pt,"Signer",{enumerable:true,get:function(){return sn.Signer}});Object.defineProperty(Pt,"Wallet",{enumerable:true,get:function(){return sn.Wallet}});Object.defineProperty(Pt,"VoidSigner",{enumerable:true,get:function(){return sn.VoidSigner}});Object.defineProperty(Pt,"getDefaultProvider",{enumerable:true,get:function(){return sn.getDefaultProvider}});Object.defineProperty(Pt,"providers",{enumerable:true,get:function(){return sn.providers}});Object.defineProperty(Pt,"BaseContract",{enumerable:true,get:function(){return sn.BaseContract}});Object.defineProperty(Pt,"Contract",{enumerable:true,get:function(){return sn.Contract}});Object.defineProperty(Pt,"ContractFactory",{enumerable:true,get:function(){return sn.ContractFactory}});Object.defineProperty(Pt,"BigNumber",{enumerable:true,get:function(){return sn.BigNumber}});Object.defineProperty(Pt,"FixedNumber",{enumerable:true,get:function(){return sn.FixedNumber}});Object.defineProperty(Pt,"constants",{enumerable:true,get:function(){return sn.constants}});Object.defineProperty(Pt,"errors",{enumerable:true,get:function(){return sn.errors}});Object.defineProperty(Pt,"logger",{enumerable:true,get:function(){return sn.logger}});Object.defineProperty(Pt,"utils",{enumerable:true,get:function(){return sn.utils}});Object.defineProperty(Pt,"wordlists",{enumerable:true,get:function(){return sn.wordlists}});Object.defineProperty(Pt,"version",{enumerable:true,get:function(){return sn.version}});Object.defineProperty(Pt,"Wordlist",{enumerable:true,get:function(){return sn.Wordlist}})},15304:function(Wt,Pt,en){var tn=this&&this.__createBinding||(Object.create?function(Wt,Pt,en,tn){if(tn===undefined)tn=en;Object.defineProperty(Wt,tn,{enumerable:true,get:function(){return Pt[en]}})}:function(Wt,Pt,en,tn){if(tn===undefined)tn=en;Wt[tn]=Pt[en]});var nn=this&&this.__setModuleDefault||(Object.create?function(Wt,Pt){Object.defineProperty(Wt,"default",{enumerable:true,value:Pt})}:function(Wt,Pt){Wt["default"]=Pt});var an=this&&this.__importStar||function(Wt){if(Wt&&Wt.__esModule)return Wt;var Pt={};if(Wt!=null)for(var en in Wt)if(en!=="default"&&Object.prototype.hasOwnProperty.call(Wt,en))tn(Pt,Wt,en);nn(Pt,Wt);return Pt};Object.defineProperty(Pt,"__esModule",{value:true});Pt.formatBytes32String=Pt.Utf8ErrorFuncs=Pt.toUtf8String=Pt.toUtf8CodePoints=Pt.toUtf8Bytes=Pt._toEscapedUtf8String=Pt.nameprep=Pt.hexDataSlice=Pt.hexDataLength=Pt.hexZeroPad=Pt.hexValue=Pt.hexStripZeros=Pt.hexConcat=Pt.isHexString=Pt.hexlify=Pt.base64=Pt.base58=Pt.TransactionDescription=Pt.LogDescription=Pt.Interface=Pt.SigningKey=Pt.HDNode=Pt.defaultPath=Pt.isBytesLike=Pt.isBytes=Pt.zeroPad=Pt.stripZeros=Pt.concat=Pt.arrayify=Pt.shallowCopy=Pt.resolveProperties=Pt.getStatic=Pt.defineReadOnly=Pt.deepCopy=Pt.checkProperties=Pt.poll=Pt.fetchJson=Pt._fetchData=Pt.RLP=Pt.Logger=Pt.checkResultErrors=Pt.FormatTypes=Pt.ParamType=Pt.FunctionFragment=Pt.EventFragment=Pt.ErrorFragment=Pt.ConstructorFragment=Pt.Fragment=Pt.defaultAbiCoder=Pt.AbiCoder=void 0;Pt.Indexed=Pt.Utf8ErrorReason=Pt.UnicodeNormalizationForm=Pt.SupportedAlgorithm=Pt.mnemonicToSeed=Pt.isValidMnemonic=Pt.entropyToMnemonic=Pt.mnemonicToEntropy=Pt.getAccountPath=Pt.verifyTypedData=Pt.verifyMessage=Pt.recoverPublicKey=Pt.computePublicKey=Pt.recoverAddress=Pt.computeAddress=Pt.getJsonWalletAddress=Pt.TransactionTypes=Pt.serializeTransaction=Pt.parseTransaction=Pt.accessListify=Pt.joinSignature=Pt.splitSignature=Pt.soliditySha256=Pt.solidityKeccak256=Pt.solidityPack=Pt.shuffled=Pt.randomBytes=Pt.sha512=Pt.sha256=Pt.ripemd160=Pt.keccak256=Pt.computeHmac=Pt.commify=Pt.parseUnits=Pt.formatUnits=Pt.parseEther=Pt.formatEther=Pt.isAddress=Pt.getCreate2Address=Pt.getContractAddress=Pt.getIcapAddress=Pt.getAddress=Pt._TypedDataEncoder=Pt.id=Pt.isValidName=Pt.namehash=Pt.hashMessage=Pt.dnsEncode=Pt.parseBytes32String=void 0;var In=en(30219);Object.defineProperty(Pt,"AbiCoder",{enumerable:true,get:function(){return In.AbiCoder}});Object.defineProperty(Pt,"checkResultErrors",{enumerable:true,get:function(){return In.checkResultErrors}});Object.defineProperty(Pt,"ConstructorFragment",{enumerable:true,get:function(){return In.ConstructorFragment}});Object.defineProperty(Pt,"defaultAbiCoder",{enumerable:true,get:function(){return In.defaultAbiCoder}});Object.defineProperty(Pt,"ErrorFragment",{enumerable:true,get:function(){return In.ErrorFragment}});Object.defineProperty(Pt,"EventFragment",{enumerable:true,get:function(){return In.EventFragment}});Object.defineProperty(Pt,"FormatTypes",{enumerable:true,get:function(){return In.FormatTypes}});Object.defineProperty(Pt,"Fragment",{enumerable:true,get:function(){return In.Fragment}});Object.defineProperty(Pt,"FunctionFragment",{enumerable:true,get:function(){return In.FunctionFragment}});Object.defineProperty(Pt,"Indexed",{enumerable:true,get:function(){return In.Indexed}});Object.defineProperty(Pt,"Interface",{enumerable:true,get:function(){return In.Interface}});Object.defineProperty(Pt,"LogDescription",{enumerable:true,get:function(){return In.LogDescription}});Object.defineProperty(Pt,"ParamType",{enumerable:true,get:function(){return In.ParamType}});Object.defineProperty(Pt,"TransactionDescription",{enumerable:true,get:function(){return In.TransactionDescription}});var rn=en(75745);Object.defineProperty(Pt,"getAddress",{enumerable:true,get:function(){return rn.getAddress}});Object.defineProperty(Pt,"getCreate2Address",{enumerable:true,get:function(){return rn.getCreate2Address}});Object.defineProperty(Pt,"getContractAddress",{enumerable:true,get:function(){return rn.getContractAddress}});Object.defineProperty(Pt,"getIcapAddress",{enumerable:true,get:function(){return rn.getIcapAddress}});Object.defineProperty(Pt,"isAddress",{enumerable:true,get:function(){return rn.isAddress}});var sn=an(en(99032));Pt.base64=sn;var on=en(31426);Object.defineProperty(Pt,"base58",{enumerable:true,get:function(){return on.Base58}});var cn=en(42006);Object.defineProperty(Pt,"arrayify",{enumerable:true,get:function(){return cn.arrayify}});Object.defineProperty(Pt,"concat",{enumerable:true,get:function(){return cn.concat}});Object.defineProperty(Pt,"hexConcat",{enumerable:true,get:function(){return cn.hexConcat}});Object.defineProperty(Pt,"hexDataSlice",{enumerable:true,get:function(){return cn.hexDataSlice}});Object.defineProperty(Pt,"hexDataLength",{enumerable:true,get:function(){return cn.hexDataLength}});Object.defineProperty(Pt,"hexlify",{enumerable:true,get:function(){return cn.hexlify}});Object.defineProperty(Pt,"hexStripZeros",{enumerable:true,get:function(){return cn.hexStripZeros}});Object.defineProperty(Pt,"hexValue",{enumerable:true,get:function(){return cn.hexValue}});Object.defineProperty(Pt,"hexZeroPad",{enumerable:true,get:function(){return cn.hexZeroPad}});Object.defineProperty(Pt,"isBytes",{enumerable:true,get:function(){return cn.isBytes}});Object.defineProperty(Pt,"isBytesLike",{enumerable:true,get:function(){return cn.isBytesLike}});Object.defineProperty(Pt,"isHexString",{enumerable:true,get:function(){return cn.isHexString}});Object.defineProperty(Pt,"joinSignature",{enumerable:true,get:function(){return cn.joinSignature}});Object.defineProperty(Pt,"zeroPad",{enumerable:true,get:function(){return cn.zeroPad}});Object.defineProperty(Pt,"splitSignature",{enumerable:true,get:function(){return cn.splitSignature}});Object.defineProperty(Pt,"stripZeros",{enumerable:true,get:function(){return cn.stripZeros}});var dn=en(91839);Object.defineProperty(Pt,"_TypedDataEncoder",{enumerable:true,get:function(){return dn._TypedDataEncoder}});Object.defineProperty(Pt,"dnsEncode",{enumerable:true,get:function(){return dn.dnsEncode}});Object.defineProperty(Pt,"hashMessage",{enumerable:true,get:function(){return dn.hashMessage}});Object.defineProperty(Pt,"id",{enumerable:true,get:function(){return dn.id}});Object.defineProperty(Pt,"isValidName",{enumerable:true,get:function(){return dn.isValidName}});Object.defineProperty(Pt,"namehash",{enumerable:true,get:function(){return dn.namehash}});var un=en(13067);Object.defineProperty(Pt,"defaultPath",{enumerable:true,get:function(){return un.defaultPath}});Object.defineProperty(Pt,"entropyToMnemonic",{enumerable:true,get:function(){return un.entropyToMnemonic}});Object.defineProperty(Pt,"getAccountPath",{enumerable:true,get:function(){return un.getAccountPath}});Object.defineProperty(Pt,"HDNode",{enumerable:true,get:function(){return un.HDNode}});Object.defineProperty(Pt,"isValidMnemonic",{enumerable:true,get:function(){return un.isValidMnemonic}});Object.defineProperty(Pt,"mnemonicToEntropy",{enumerable:true,get:function(){return un.mnemonicToEntropy}});Object.defineProperty(Pt,"mnemonicToSeed",{enumerable:true,get:function(){return un.mnemonicToSeed}});var pn=en(3582);Object.defineProperty(Pt,"getJsonWalletAddress",{enumerable:true,get:function(){return pn.getJsonWalletAddress}});var mn=en(56938);Object.defineProperty(Pt,"keccak256",{enumerable:true,get:function(){return mn.keccak256}});var bn=en(76127);Object.defineProperty(Pt,"Logger",{enumerable:true,get:function(){return bn.Logger}});var Gn=en(66935);Object.defineProperty(Pt,"computeHmac",{enumerable:true,get:function(){return Gn.computeHmac}});Object.defineProperty(Pt,"ripemd160",{enumerable:true,get:function(){return Gn.ripemd160}});Object.defineProperty(Pt,"sha256",{enumerable:true,get:function(){return Gn.sha256}});Object.defineProperty(Pt,"sha512",{enumerable:true,get:function(){return Gn.sha512}});var hn=en(18550);Object.defineProperty(Pt,"solidityKeccak256",{enumerable:true,get:function(){return hn.keccak256}});Object.defineProperty(Pt,"solidityPack",{enumerable:true,get:function(){return hn.pack}});Object.defineProperty(Pt,"soliditySha256",{enumerable:true,get:function(){return hn.sha256}});var Zn=en(53728);Object.defineProperty(Pt,"randomBytes",{enumerable:true,get:function(){return Zn.randomBytes}});Object.defineProperty(Pt,"shuffled",{enumerable:true,get:function(){return Zn.shuffled}});var An=en(61338);Object.defineProperty(Pt,"checkProperties",{enumerable:true,get:function(){return An.checkProperties}});Object.defineProperty(Pt,"deepCopy",{enumerable:true,get:function(){return An.deepCopy}});Object.defineProperty(Pt,"defineReadOnly",{enumerable:true,get:function(){return An.defineReadOnly}});Object.defineProperty(Pt,"getStatic",{enumerable:true,get:function(){return An.getStatic}});Object.defineProperty(Pt,"resolveProperties",{enumerable:true,get:function(){return An.resolveProperties}});Object.defineProperty(Pt,"shallowCopy",{enumerable:true,get:function(){return An.shallowCopy}});var Wn=an(en(37659));Pt.RLP=Wn;var Nn=en(63928);Object.defineProperty(Pt,"computePublicKey",{enumerable:true,get:function(){return Nn.computePublicKey}});Object.defineProperty(Pt,"recoverPublicKey",{enumerable:true,get:function(){return Nn.recoverPublicKey}});Object.defineProperty(Pt,"SigningKey",{enumerable:true,get:function(){return Nn.SigningKey}});var gn=en(13859);Object.defineProperty(Pt,"formatBytes32String",{enumerable:true,get:function(){return gn.formatBytes32String}});Object.defineProperty(Pt,"nameprep",{enumerable:true,get:function(){return gn.nameprep}});Object.defineProperty(Pt,"parseBytes32String",{enumerable:true,get:function(){return gn.parseBytes32String}});Object.defineProperty(Pt,"_toEscapedUtf8String",{enumerable:true,get:function(){return gn._toEscapedUtf8String}});Object.defineProperty(Pt,"toUtf8Bytes",{enumerable:true,get:function(){return gn.toUtf8Bytes}});Object.defineProperty(Pt,"toUtf8CodePoints",{enumerable:true,get:function(){return gn.toUtf8CodePoints}});Object.defineProperty(Pt,"toUtf8String",{enumerable:true,get:function(){return gn.toUtf8String}});Object.defineProperty(Pt,"Utf8ErrorFuncs",{enumerable:true,get:function(){return gn.Utf8ErrorFuncs}});var yn=en(62394);Object.defineProperty(Pt,"accessListify",{enumerable:true,get:function(){return yn.accessListify}});Object.defineProperty(Pt,"computeAddress",{enumerable:true,get:function(){return yn.computeAddress}});Object.defineProperty(Pt,"parseTransaction",{enumerable:true,get:function(){return yn.parse}});Object.defineProperty(Pt,"recoverAddress",{enumerable:true,get:function(){return yn.recoverAddress}});Object.defineProperty(Pt,"serializeTransaction",{enumerable:true,get:function(){return yn.serialize}});Object.defineProperty(Pt,"TransactionTypes",{enumerable:true,get:function(){return yn.TransactionTypes}});var vn=en(32534);Object.defineProperty(Pt,"commify",{enumerable:true,get:function(){return vn.commify}});Object.defineProperty(Pt,"formatEther",{enumerable:true,get:function(){return vn.formatEther}});Object.defineProperty(Pt,"parseEther",{enumerable:true,get:function(){return vn.parseEther}});Object.defineProperty(Pt,"formatUnits",{enumerable:true,get:function(){return vn.formatUnits}});Object.defineProperty(Pt,"parseUnits",{enumerable:true,get:function(){return vn.parseUnits}});var Yn=en(30806);Object.defineProperty(Pt,"verifyMessage",{enumerable:true,get:function(){return Yn.verifyMessage}});Object.defineProperty(Pt,"verifyTypedData",{enumerable:true,get:function(){return Yn.verifyTypedData}});var En=en(72239);Object.defineProperty(Pt,"_fetchData",{enumerable:true,get:function(){return En._fetchData}});Object.defineProperty(Pt,"fetchJson",{enumerable:true,get:function(){return En.fetchJson}});Object.defineProperty(Pt,"poll",{enumerable:true,get:function(){return En.poll}});var Vn=en(66935);Object.defineProperty(Pt,"SupportedAlgorithm",{enumerable:true,get:function(){return Vn.SupportedAlgorithm}});var Rn=en(13859);Object.defineProperty(Pt,"UnicodeNormalizationForm",{enumerable:true,get:function(){return Rn.UnicodeNormalizationForm}});Object.defineProperty(Pt,"Utf8ErrorReason",{enumerable:true,get:function(){return Rn.Utf8ErrorReason}})},16577:(Wt,Pt)=>{ /** - * Commands - * - * Command Format: - * ::name key=value,key=value::message - * - * Examples: - * ::warning::This is the message - * ::set-env name=MY_VAR::some value + * @author Toru Nagashima + * @copyright 2015 Toru Nagashima. All rights reserved. + * See LICENSE file in root directory for full license. */ -function issueCommand(command, properties, message) { - const cmd = new Command(command, properties, message); - process.stdout.write(cmd.toString() + os.EOL); -} -exports.issueCommand = issueCommand; -function issue(name, message = '') { - issueCommand(name, {}, message); -} -exports.issue = issue; -const CMD_STRING = '::'; -class Command { - constructor(command, properties, message) { - if (!command) { - command = 'missing.command'; - } - this.command = command; - this.properties = properties; - this.message = message; - } - toString() { - let cmdStr = CMD_STRING + this.command; - if (this.properties && Object.keys(this.properties).length > 0) { - cmdStr += ' '; - let first = true; - for (const key in this.properties) { - if (this.properties.hasOwnProperty(key)) { - const val = this.properties[key]; - if (val) { - if (first) { - first = false; - } - else { - cmdStr += ','; - } - cmdStr += `${key}=${escapeProperty(val)}`; - } - } - } - } - cmdStr += `${CMD_STRING}${escapeData(this.message)}`; - return cmdStr; - } -} -function escapeData(s) { - return (0, utils_1.toCommandValue)(s) - .replace(/%/g, '%25') - .replace(/\r/g, '%0D') - .replace(/\n/g, '%0A'); -} -function escapeProperty(s) { - return (0, utils_1.toCommandValue)(s) - .replace(/%/g, '%25') - .replace(/\r/g, '%0D') - .replace(/\n/g, '%0A') - .replace(/:/g, '%3A') - .replace(/,/g, '%2C'); -} -//# sourceMappingURL=command.js.map - -/***/ }), - -/***/ 90641: -/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) { - - -var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { - if (k2 === undefined) 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 === undefined) k2 = k; - o[k2] = m[k]; -})); -var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { - Object.defineProperty(o, "default", { enumerable: true, value: v }); -}) : function(o, v) { - o["default"] = v; -}); -var __importStar = (this && this.__importStar) || function (mod) { - if (mod && mod.__esModule) return mod; - var result = {}; - if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); - __setModuleDefault(result, mod); - return result; -}; -var __awaiter = (this && this.__awaiter) || function (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, reject) { - function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } - function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } - function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); -}; -Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.platform = exports.toPlatformPath = exports.toWin32Path = exports.toPosixPath = exports.markdownSummary = exports.summary = exports.getIDToken = exports.getState = exports.saveState = exports.group = exports.endGroup = exports.startGroup = exports.info = exports.notice = exports.warning = exports.error = exports.debug = exports.isDebug = exports.setFailed = exports.setCommandEcho = exports.setOutput = exports.getBooleanInput = exports.getMultilineInput = exports.getInput = exports.addPath = exports.setSecret = exports.exportVariable = exports.ExitCode = void 0; -const command_1 = __nccwpck_require__(10733); -const file_command_1 = __nccwpck_require__(95552); -const utils_1 = __nccwpck_require__(7201); -const os = __importStar(__nccwpck_require__(70857)); -const path = __importStar(__nccwpck_require__(16928)); -const oidc_utils_1 = __nccwpck_require__(64967); -/** - * The code to exit an action +Object.defineProperty(Pt,"__esModule",{value:true});const en=new WeakMap;const tn=new WeakMap;function pd(Wt){const Pt=en.get(Wt);console.assert(Pt!=null,"'this' is expected an Event object, but got",Wt);return Pt}function setCancelFlag(Wt){if(Wt.passiveListener!=null){if(typeof console!=="undefined"&&typeof console.error==="function"){console.error("Unable to preventDefault inside passive event listener invocation.",Wt.passiveListener)}return}if(!Wt.event.cancelable){return}Wt.canceled=true;if(typeof Wt.event.preventDefault==="function"){Wt.event.preventDefault()}}function Event(Wt,Pt){en.set(this,{eventTarget:Wt,event:Pt,eventPhase:2,currentTarget:Wt,canceled:false,stopped:false,immediateStopped:false,passiveListener:null,timeStamp:Pt.timeStamp||Date.now()});Object.defineProperty(this,"isTrusted",{value:false,enumerable:true});const tn=Object.keys(Pt);for(let Wt=0;Wt0){const Wt=new Array(arguments.length);for(let Pt=0;Pt{var tn=en(35630);var nn=en(39023);var an=en(16928);var In=en(58611);var rn=en(65692);var sn=en(87016).parse;var on=en(79896);var cn=en(2203).Stream;var dn=en(14096);var un=en(31324);var pn=en(11835);Wt.exports=FormData;nn.inherits(FormData,tn);function FormData(Wt){if(!(this instanceof FormData)){return new FormData(Wt)}this._overheadLength=0;this._valueLength=0;this._valuesToMeasure=[];tn.call(this);Wt=Wt||{};for(var Pt in Wt){this[Pt]=Wt[Pt]}}FormData.LINE_BREAK="\r\n";FormData.DEFAULT_CONTENT_TYPE="application/octet-stream";FormData.prototype.append=function(Wt,Pt,en){en=en||{};if(typeof en=="string"){en={filename:en}}var nn=tn.prototype.append.bind(this);if(typeof Pt=="number"){Pt=""+Pt}if(Array.isArray(Pt)){this._error(new Error("Arrays are not supported."));return}var an=this._multiPartHeader(Wt,Pt,en);var In=this._multiPartFooter();nn(an);nn(Pt);nn(In);this._trackLength(an,Pt,en)};FormData.prototype._trackLength=function(Wt,Pt,en){var tn=0;if(en.knownLength!=null){tn+=+en.knownLength}else if(Buffer.isBuffer(Pt)){tn=Pt.length}else if(typeof Pt==="string"){tn=Buffer.byteLength(Pt)}this._valueLength+=tn;this._overheadLength+=Buffer.byteLength(Wt)+FormData.LINE_BREAK.length;if(!Pt||!Pt.path&&!(Pt.readable&&Pt.hasOwnProperty("httpVersion"))&&!(Pt instanceof cn)){return}if(!en.knownLength){this._valuesToMeasure.push(Pt)}};FormData.prototype._lengthRetriever=function(Wt,Pt){if(Wt.hasOwnProperty("fd")){if(Wt.end!=undefined&&Wt.end!=Infinity&&Wt.start!=undefined){Pt(null,Wt.end+1-(Wt.start?Wt.start:0))}else{on.stat(Wt.path,(function(en,tn){var nn;if(en){Pt(en);return}nn=tn.size-(Wt.start?Wt.start:0);Pt(null,nn)}))}}else if(Wt.hasOwnProperty("httpVersion")){Pt(null,+Wt.headers["content-length"])}else if(Wt.hasOwnProperty("httpModule")){Wt.on("response",(function(en){Wt.pause();Pt(null,+en.headers["content-length"])}));Wt.resume()}else{Pt("Unknown stream")}};FormData.prototype._multiPartHeader=function(Wt,Pt,en){if(typeof en.header=="string"){return en.header}var tn=this._getContentDisposition(Pt,en);var nn=this._getContentType(Pt,en);var an="";var In={"Content-Disposition":["form-data",'name="'+Wt+'"'].concat(tn||[]),"Content-Type":[].concat(nn||[])};if(typeof en.header=="object"){pn(In,en.header)}var rn;for(var sn in In){if(!In.hasOwnProperty(sn))continue;rn=In[sn];if(rn==null){continue}if(!Array.isArray(rn)){rn=[rn]}if(rn.length){an+=sn+": "+rn.join("; ")+FormData.LINE_BREAK}}return"--"+this.getBoundary()+FormData.LINE_BREAK+an+FormData.LINE_BREAK};FormData.prototype._getContentDisposition=function(Wt,Pt){var en,tn;if(typeof Pt.filepath==="string"){en=an.normalize(Pt.filepath).replace(/\\/g,"/")}else if(Pt.filename||Wt.name||Wt.path){en=an.basename(Pt.filename||Wt.name||Wt.path)}else if(Wt.readable&&Wt.hasOwnProperty("httpVersion")){en=an.basename(Wt.client._httpMessage.path||"")}if(en){tn='filename="'+en+'"'}return tn};FormData.prototype._getContentType=function(Wt,Pt){var en=Pt.contentType;if(!en&&Wt.name){en=dn.lookup(Wt.name)}if(!en&&Wt.path){en=dn.lookup(Wt.path)}if(!en&&Wt.readable&&Wt.hasOwnProperty("httpVersion")){en=Wt.headers["content-type"]}if(!en&&(Pt.filepath||Pt.filename)){en=dn.lookup(Pt.filepath||Pt.filename)}if(!en&&typeof Wt=="object"){en=FormData.DEFAULT_CONTENT_TYPE}return en};FormData.prototype._multiPartFooter=function(){return function(Wt){var Pt=FormData.LINE_BREAK;var en=this._streams.length===0;if(en){Pt+=this._lastBoundary()}Wt(Pt)}.bind(this)};FormData.prototype._lastBoundary=function(){return"--"+this.getBoundary()+"--"+FormData.LINE_BREAK};FormData.prototype.getHeaders=function(Wt){var Pt;var en={"content-type":"multipart/form-data; boundary="+this.getBoundary()};for(Pt in Wt){if(Wt.hasOwnProperty(Pt)){en[Pt.toLowerCase()]=Wt[Pt]}}return en};FormData.prototype.setBoundary=function(Wt){this._boundary=Wt};FormData.prototype.getBoundary=function(){if(!this._boundary){this._generateBoundary()}return this._boundary};FormData.prototype.getBuffer=function(){var Wt=new Buffer.alloc(0);var Pt=this.getBoundary();for(var en=0,tn=this._streams.length;en{Wt.exports=function(Wt,Pt){Object.keys(Pt).forEach((function(en){Wt[en]=Wt[en]||Pt[en]}));return Wt}},83813:Wt=>{Wt.exports=(Wt,Pt=process.argv)=>{const en=Wt.startsWith("-")?"":Wt.length===1?"-":"--";const tn=Pt.indexOf(en+Wt);const nn=Pt.indexOf("--");return tn!==-1&&(nn===-1||tn{var tn=Pt;tn.utils=en(23215);tn.common=en(77265);tn.sha=en(10316);tn.ripemd=en(38831);tn.hmac=en(96535);tn.sha1=tn.sha.sha1;tn.sha256=tn.sha.sha256;tn.sha224=tn.sha.sha224;tn.sha384=tn.sha.sha384;tn.sha512=tn.sha.sha512;tn.ripemd160=tn.ripemd.ripemd160},77265:(Wt,Pt,en)=>{var tn=en(23215);var nn=en(63798);function BlockHash(){this.pending=null;this.pendingTotal=0;this.blockSize=this.constructor.blockSize;this.outSize=this.constructor.outSize;this.hmacStrength=this.constructor.hmacStrength;this.padLength=this.constructor.padLength/8;this.endian="big";this._delta8=this.blockSize/8;this._delta32=this.blockSize/32}Pt.BlockHash=BlockHash;BlockHash.prototype.update=function update(Wt,Pt){Wt=tn.toArray(Wt,Pt);if(!this.pending)this.pending=Wt;else this.pending=this.pending.concat(Wt);this.pendingTotal+=Wt.length;if(this.pending.length>=this._delta8){Wt=this.pending;var en=Wt.length%this._delta8;this.pending=Wt.slice(Wt.length-en,Wt.length);if(this.pending.length===0)this.pending=null;Wt=tn.join32(Wt,0,Wt.length-en,this.endian);for(var nn=0;nn>>24&255;tn[nn++]=Wt>>>16&255;tn[nn++]=Wt>>>8&255;tn[nn++]=Wt&255}else{tn[nn++]=Wt&255;tn[nn++]=Wt>>>8&255;tn[nn++]=Wt>>>16&255;tn[nn++]=Wt>>>24&255;tn[nn++]=0;tn[nn++]=0;tn[nn++]=0;tn[nn++]=0;for(an=8;an{var tn=en(23215);var nn=en(63798);function Hmac(Wt,Pt,en){if(!(this instanceof Hmac))return new Hmac(Wt,Pt,en);this.Hash=Wt;this.blockSize=Wt.blockSize/8;this.outSize=Wt.outSize/8;this.inner=null;this.outer=null;this._init(tn.toArray(Pt,en))}Wt.exports=Hmac;Hmac.prototype._init=function init(Wt){if(Wt.length>this.blockSize)Wt=(new this.Hash).update(Wt).digest();nn(Wt.length<=this.blockSize);for(var Pt=Wt.length;Pt{var tn=en(23215);var nn=en(77265);var an=tn.rotl32;var In=tn.sum32;var rn=tn.sum32_3;var sn=tn.sum32_4;var on=nn.BlockHash;function RIPEMD160(){if(!(this instanceof RIPEMD160))return new RIPEMD160;on.call(this);this.h=[1732584193,4023233417,2562383102,271733878,3285377520];this.endian="little"}tn.inherits(RIPEMD160,on);Pt.ripemd160=RIPEMD160;RIPEMD160.blockSize=512;RIPEMD160.outSize=160;RIPEMD160.hmacStrength=192;RIPEMD160.padLength=64;RIPEMD160.prototype._update=function update(Wt,Pt){var en=this.h[0];var tn=this.h[1];var nn=this.h[2];var on=this.h[3];var mn=this.h[4];var bn=en;var Gn=tn;var hn=nn;var Zn=on;var An=mn;for(var Wn=0;Wn<80;Wn++){var Nn=In(an(sn(en,f(Wn,tn,nn,on),Wt[cn[Wn]+Pt],K(Wn)),un[Wn]),mn);en=mn;mn=on;on=an(nn,10);nn=tn;tn=Nn;Nn=In(an(sn(bn,f(79-Wn,Gn,hn,Zn),Wt[dn[Wn]+Pt],Kh(Wn)),pn[Wn]),An);bn=An;An=Zn;Zn=an(hn,10);hn=Gn;Gn=Nn}Nn=rn(this.h[1],nn,Zn);this.h[1]=rn(this.h[2],on,An);this.h[2]=rn(this.h[3],mn,bn);this.h[3]=rn(this.h[4],en,Gn);this.h[4]=rn(this.h[0],tn,hn);this.h[0]=Nn};RIPEMD160.prototype._digest=function digest(Wt){if(Wt==="hex")return tn.toHex32(this.h,"little");else return tn.split32(this.h,"little")};function f(Wt,Pt,en,tn){if(Wt<=15)return Pt^en^tn;else if(Wt<=31)return Pt&en|~Pt&tn;else if(Wt<=47)return(Pt|~en)^tn;else if(Wt<=63)return Pt&tn|en&~tn;else return Pt^(en|~tn)}function K(Wt){if(Wt<=15)return 0;else if(Wt<=31)return 1518500249;else if(Wt<=47)return 1859775393;else if(Wt<=63)return 2400959708;else return 2840853838}function Kh(Wt){if(Wt<=15)return 1352829926;else if(Wt<=31)return 1548603684;else if(Wt<=47)return 1836072691;else if(Wt<=63)return 2053994217;else return 0}var cn=[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,7,4,13,1,10,6,15,3,12,0,9,5,2,14,11,8,3,10,14,4,9,15,8,1,2,7,0,6,13,11,5,12,1,9,11,10,0,8,12,4,13,3,7,15,14,5,6,2,4,0,5,9,7,12,2,10,14,1,3,8,11,6,15,13];var dn=[5,14,7,0,9,2,11,4,13,6,15,8,1,10,3,12,6,11,3,7,0,13,5,10,14,15,8,12,4,9,1,2,15,5,1,3,7,14,6,9,11,8,12,2,10,0,4,13,8,6,4,1,3,11,15,0,5,12,2,13,9,7,10,14,12,15,10,4,1,5,8,7,6,2,13,14,0,3,9,11];var un=[11,14,15,12,5,8,7,9,11,13,14,15,6,7,9,8,7,6,8,13,11,9,7,15,7,12,15,9,11,7,13,12,11,13,6,7,14,9,13,15,14,8,13,6,5,12,7,5,11,12,14,15,14,15,9,8,9,14,5,6,8,6,5,12,9,15,5,11,6,8,13,12,5,12,13,14,11,8,5,6];var pn=[8,9,9,11,13,15,15,5,7,7,8,11,14,14,12,6,9,13,15,7,12,8,9,11,7,7,12,7,6,15,13,11,9,7,15,11,8,6,6,14,12,13,5,14,13,13,7,5,15,5,8,11,14,14,6,14,6,9,12,9,12,5,15,8,8,5,12,9,12,5,14,6,8,13,6,5,15,13,11,11]},10316:(Wt,Pt,en)=>{Pt.sha1=en(2576);Pt.sha224=en(33239);Pt.sha256=en(27190);Pt.sha384=en(1926);Pt.sha512=en(82423)},2576:(Wt,Pt,en)=>{var tn=en(23215);var nn=en(77265);var an=en(49562);var In=tn.rotl32;var rn=tn.sum32;var sn=tn.sum32_5;var on=an.ft_1;var cn=nn.BlockHash;var dn=[1518500249,1859775393,2400959708,3395469782];function SHA1(){if(!(this instanceof SHA1))return new SHA1;cn.call(this);this.h=[1732584193,4023233417,2562383102,271733878,3285377520];this.W=new Array(80)}tn.inherits(SHA1,cn);Wt.exports=SHA1;SHA1.blockSize=512;SHA1.outSize=160;SHA1.hmacStrength=80;SHA1.padLength=64;SHA1.prototype._update=function _update(Wt,Pt){var en=this.W;for(var tn=0;tn<16;tn++)en[tn]=Wt[Pt+tn];for(;tn{var tn=en(23215);var nn=en(27190);function SHA224(){if(!(this instanceof SHA224))return new SHA224;nn.call(this);this.h=[3238371032,914150663,812702999,4144912697,4290775857,1750603025,1694076839,3204075428]}tn.inherits(SHA224,nn);Wt.exports=SHA224;SHA224.blockSize=512;SHA224.outSize=224;SHA224.hmacStrength=192;SHA224.padLength=64;SHA224.prototype._digest=function digest(Wt){if(Wt==="hex")return tn.toHex32(this.h.slice(0,7),"big");else return tn.split32(this.h.slice(0,7),"big")}},27190:(Wt,Pt,en)=>{var tn=en(23215);var nn=en(77265);var an=en(49562);var In=en(63798);var rn=tn.sum32;var sn=tn.sum32_4;var on=tn.sum32_5;var cn=an.ch32;var dn=an.maj32;var un=an.s0_256;var pn=an.s1_256;var mn=an.g0_256;var bn=an.g1_256;var Gn=nn.BlockHash;var hn=[1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298];function SHA256(){if(!(this instanceof SHA256))return new SHA256;Gn.call(this);this.h=[1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225];this.k=hn;this.W=new Array(64)}tn.inherits(SHA256,Gn);Wt.exports=SHA256;SHA256.blockSize=512;SHA256.outSize=256;SHA256.hmacStrength=192;SHA256.padLength=64;SHA256.prototype._update=function _update(Wt,Pt){var en=this.W;for(var tn=0;tn<16;tn++)en[tn]=Wt[Pt+tn];for(;tn{var tn=en(23215);var nn=en(82423);function SHA384(){if(!(this instanceof SHA384))return new SHA384;nn.call(this);this.h=[3418070365,3238371032,1654270250,914150663,2438529370,812702999,355462360,4144912697,1731405415,4290775857,2394180231,1750603025,3675008525,1694076839,1203062813,3204075428]}tn.inherits(SHA384,nn);Wt.exports=SHA384;SHA384.blockSize=1024;SHA384.outSize=384;SHA384.hmacStrength=192;SHA384.padLength=128;SHA384.prototype._digest=function digest(Wt){if(Wt==="hex")return tn.toHex32(this.h.slice(0,12),"big");else return tn.split32(this.h.slice(0,12),"big")}},82423:(Wt,Pt,en)=>{var tn=en(23215);var nn=en(77265);var an=en(63798);var In=tn.rotr64_hi;var rn=tn.rotr64_lo;var sn=tn.shr64_hi;var on=tn.shr64_lo;var cn=tn.sum64;var dn=tn.sum64_hi;var un=tn.sum64_lo;var pn=tn.sum64_4_hi;var mn=tn.sum64_4_lo;var bn=tn.sum64_5_hi;var Gn=tn.sum64_5_lo;var hn=nn.BlockHash;var Zn=[1116352408,3609767458,1899447441,602891725,3049323471,3964484399,3921009573,2173295548,961987163,4081628472,1508970993,3053834265,2453635748,2937671579,2870763221,3664609560,3624381080,2734883394,310598401,1164996542,607225278,1323610764,1426881987,3590304994,1925078388,4068182383,2162078206,991336113,2614888103,633803317,3248222580,3479774868,3835390401,2666613458,4022224774,944711139,264347078,2341262773,604807628,2007800933,770255983,1495990901,1249150122,1856431235,1555081692,3175218132,1996064986,2198950837,2554220882,3999719339,2821834349,766784016,2952996808,2566594879,3210313671,3203337956,3336571891,1034457026,3584528711,2466948901,113926993,3758326383,338241895,168717936,666307205,1188179964,773529912,1546045734,1294757372,1522805485,1396182291,2643833823,1695183700,2343527390,1986661051,1014477480,2177026350,1206759142,2456956037,344077627,2730485921,1290863460,2820302411,3158454273,3259730800,3505952657,3345764771,106217008,3516065817,3606008344,3600352804,1432725776,4094571909,1467031594,275423344,851169720,430227734,3100823752,506948616,1363258195,659060556,3750685593,883997877,3785050280,958139571,3318307427,1322822218,3812723403,1537002063,2003034995,1747873779,3602036899,1955562222,1575990012,2024104815,1125592928,2227730452,2716904306,2361852424,442776044,2428436474,593698344,2756734187,3733110249,3204031479,2999351573,3329325298,3815920427,3391569614,3928383900,3515267271,566280711,3940187606,3454069534,4118630271,4000239992,116418474,1914138554,174292421,2731055270,289380356,3203993006,460393269,320620315,685471733,587496836,852142971,1086792851,1017036298,365543100,1126000580,2618297676,1288033470,3409855158,1501505948,4234509866,1607167915,987167468,1816402316,1246189591];function SHA512(){if(!(this instanceof SHA512))return new SHA512;hn.call(this);this.h=[1779033703,4089235720,3144134277,2227873595,1013904242,4271175723,2773480762,1595750129,1359893119,2917565137,2600822924,725511199,528734635,4215389547,1541459225,327033209];this.k=Zn;this.W=new Array(160)}tn.inherits(SHA512,hn);Wt.exports=SHA512;SHA512.blockSize=1024;SHA512.outSize=512;SHA512.hmacStrength=192;SHA512.padLength=128;SHA512.prototype._prepareBlock=function _prepareBlock(Wt,Pt){var en=this.W;for(var tn=0;tn<32;tn++)en[tn]=Wt[Pt+tn];for(;tn{var tn=en(23215);var nn=tn.rotr32;function ft_1(Wt,Pt,en,tn){if(Wt===0)return ch32(Pt,en,tn);if(Wt===1||Wt===3)return p32(Pt,en,tn);if(Wt===2)return maj32(Pt,en,tn)}Pt.ft_1=ft_1;function ch32(Wt,Pt,en){return Wt&Pt^~Wt&en}Pt.ch32=ch32;function maj32(Wt,Pt,en){return Wt&Pt^Wt&en^Pt&en}Pt.maj32=maj32;function p32(Wt,Pt,en){return Wt^Pt^en}Pt.p32=p32;function s0_256(Wt){return nn(Wt,2)^nn(Wt,13)^nn(Wt,22)}Pt.s0_256=s0_256;function s1_256(Wt){return nn(Wt,6)^nn(Wt,11)^nn(Wt,25)}Pt.s1_256=s1_256;function g0_256(Wt){return nn(Wt,7)^nn(Wt,18)^Wt>>>3}Pt.g0_256=g0_256;function g1_256(Wt){return nn(Wt,17)^nn(Wt,19)^Wt>>>10}Pt.g1_256=g1_256},23215:(Wt,Pt,en)=>{var tn=en(63798);var nn=en(39598);Pt.inherits=nn;function isSurrogatePair(Wt,Pt){if((Wt.charCodeAt(Pt)&64512)!==55296){return false}if(Pt<0||Pt+1>=Wt.length){return false}return(Wt.charCodeAt(Pt+1)&64512)===56320}function toArray(Wt,Pt){if(Array.isArray(Wt))return Wt.slice();if(!Wt)return[];var en=[];if(typeof Wt==="string"){if(!Pt){var tn=0;for(var nn=0;nn>6|192;en[tn++]=an&63|128}else if(isSurrogatePair(Wt,nn)){an=65536+((an&1023)<<10)+(Wt.charCodeAt(++nn)&1023);en[tn++]=an>>18|240;en[tn++]=an>>12&63|128;en[tn++]=an>>6&63|128;en[tn++]=an&63|128}else{en[tn++]=an>>12|224;en[tn++]=an>>6&63|128;en[tn++]=an&63|128}}}else if(Pt==="hex"){Wt=Wt.replace(/[^a-z0-9]+/gi,"");if(Wt.length%2!==0)Wt="0"+Wt;for(nn=0;nn>>24|Wt>>>8&65280|Wt<<8&16711680|(Wt&255)<<24;return Pt>>>0}Pt.htonl=htonl;function toHex32(Wt,Pt){var en="";for(var tn=0;tn>>0}return In}Pt.join32=join32;function split32(Wt,Pt){var en=new Array(Wt.length*4);for(var tn=0,nn=0;tn>>24;en[nn+1]=an>>>16&255;en[nn+2]=an>>>8&255;en[nn+3]=an&255}else{en[nn+3]=an>>>24;en[nn+2]=an>>>16&255;en[nn+1]=an>>>8&255;en[nn]=an&255}}return en}Pt.split32=split32;function rotr32(Wt,Pt){return Wt>>>Pt|Wt<<32-Pt}Pt.rotr32=rotr32;function rotl32(Wt,Pt){return Wt<>>32-Pt}Pt.rotl32=rotl32;function sum32(Wt,Pt){return Wt+Pt>>>0}Pt.sum32=sum32;function sum32_3(Wt,Pt,en){return Wt+Pt+en>>>0}Pt.sum32_3=sum32_3;function sum32_4(Wt,Pt,en,tn){return Wt+Pt+en+tn>>>0}Pt.sum32_4=sum32_4;function sum32_5(Wt,Pt,en,tn,nn){return Wt+Pt+en+tn+nn>>>0}Pt.sum32_5=sum32_5;function sum64(Wt,Pt,en,tn){var nn=Wt[Pt];var an=Wt[Pt+1];var In=tn+an>>>0;var rn=(In>>0;Wt[Pt+1]=In}Pt.sum64=sum64;function sum64_hi(Wt,Pt,en,tn){var nn=Pt+tn>>>0;var an=(nn>>0}Pt.sum64_hi=sum64_hi;function sum64_lo(Wt,Pt,en,tn){var nn=Pt+tn;return nn>>>0}Pt.sum64_lo=sum64_lo;function sum64_4_hi(Wt,Pt,en,tn,nn,an,In,rn){var sn=0;var on=Pt;on=on+tn>>>0;sn+=on>>0;sn+=on>>0;sn+=on>>0}Pt.sum64_4_hi=sum64_4_hi;function sum64_4_lo(Wt,Pt,en,tn,nn,an,In,rn){var sn=Pt+tn+an+rn;return sn>>>0}Pt.sum64_4_lo=sum64_4_lo;function sum64_5_hi(Wt,Pt,en,tn,nn,an,In,rn,sn,on){var cn=0;var dn=Pt;dn=dn+tn>>>0;cn+=dn>>0;cn+=dn>>0;cn+=dn>>0;cn+=dn>>0}Pt.sum64_5_hi=sum64_5_hi;function sum64_5_lo(Wt,Pt,en,tn,nn,an,In,rn,sn,on){var cn=Pt+tn+an+rn+on;return cn>>>0}Pt.sum64_5_lo=sum64_5_lo;function rotr64_hi(Wt,Pt,en){var tn=Pt<<32-en|Wt>>>en;return tn>>>0}Pt.rotr64_hi=rotr64_hi;function rotr64_lo(Wt,Pt,en){var tn=Wt<<32-en|Pt>>>en;return tn>>>0}Pt.rotr64_lo=rotr64_lo;function shr64_hi(Wt,Pt,en){return Wt>>>en}Pt.shr64_hi=shr64_hi;function shr64_lo(Wt,Pt,en){var tn=Wt<<32-en|Pt>>>en;return tn>>>0}Pt.shr64_lo=shr64_lo},63768:(Wt,Pt,en)=>{var tn=en(27477);var nn=en(88660);var an=en(63798);function HmacDRBG(Wt){if(!(this instanceof HmacDRBG))return new HmacDRBG(Wt);this.hash=Wt.hash;this.predResist=!!Wt.predResist;this.outLen=this.hash.outSize;this.minEntropy=Wt.minEntropy||this.hash.hmacStrength;this._reseed=null;this.reseedInterval=null;this.K=null;this.V=null;var Pt=nn.toArray(Wt.entropy,Wt.entropyEnc||"hex");var en=nn.toArray(Wt.nonce,Wt.nonceEnc||"hex");var tn=nn.toArray(Wt.pers,Wt.persEnc||"hex");an(Pt.length>=this.minEntropy/8,"Not enough entropy. Minimum is: "+this.minEntropy+" bits");this._init(Pt,en,tn)}Wt.exports=HmacDRBG;HmacDRBG.prototype._init=function init(Wt,Pt,en){var tn=Wt.concat(Pt).concat(en);this.K=new Array(this.outLen/8);this.V=new Array(this.outLen/8);for(var nn=0;nn=this.minEntropy/8,"Not enough entropy. Minimum is: "+this.minEntropy+" bits");this._update(Wt.concat(en||[]));this._reseed=1};HmacDRBG.prototype.generate=function generate(Wt,Pt,en,tn){if(this._reseed>this.reseedInterval)throw new Error("Reseed is required");if(typeof Pt!=="string"){tn=en;en=Pt;Pt=null}if(en){en=nn.toArray(en,tn||"hex");this._update(en)}var an=[];while(an.length{const tn=en(86476);Wt.exports=(Wt,{transportLayerEncodingLabel:Pt,defaultEncoding:en="windows-1252"}={})=>{let nn=tn.getBOMEncoding(Wt);if(nn===null&&Pt!==undefined){nn=tn.labelToName(Pt)}if(nn===null){nn=prescanMetaCharset(Wt)}if(nn===null){nn=en}return nn};function prescanMetaCharset(Wt){const Pt=Math.min(Wt.byteLength,1024);for(let en=0;en=65&&an<=90||an>=97&&an<=122){for(en+=2;en=65&&tn<=90){nn+=String.fromCharCode(tn+32)}else{nn+=String.fromCharCode(tn)}}tn=Wt[Pt];if(isSpaceCharacter(tn)){for(Pt++;Pt=65&&tn<=90){an+=String.fromCharCode(tn+32)}else{an+=String.fromCharCode(tn)}}}if(tn===62){return{attr:{name:nn,value:an},i:Pt}}if(tn>=65&&tn<=90){an+=String.fromCharCode(tn+32)}else{an+=String.fromCharCode(tn)}for(Pt++;Pt=65&&tn<=90){an+=String.fromCharCode(tn+32)}else{an+=String.fromCharCode(tn)}}}return{i:Pt}}function extractCharacterEncodingFromMeta(Wt){let Pt=0;while(true){const en=Wt.substring(Pt).search(/charset/iu);if(en===-1){return null}let tn=Pt+en+"charset".length;while(isSpaceCharacter(Wt[tn].charCodeAt(0))){++tn}if(Wt[tn]!=="="){Pt=tn-1;continue}++tn;while(isSpaceCharacter(Wt[tn].charCodeAt(0))){++tn}Pt=tn;break}if(Wt[Pt]==='"'||Wt[Pt]==="'"){const en=Wt.indexOf(Wt[Pt],Pt+1);if(en!==-1){return tn.labelToName(Wt.substring(Pt+1,en))}return null}if(Wt.length===Pt+1){return null}const en=Wt.substring(Pt+1).search(/\x09|\x0A|\x0C|\x0D|\x20|;/u);const nn=en===-1?Wt.length:Pt+en+1;return tn.labelToName(Wt.substring(Pt,nn))}function isSpaceCharacter(Wt){return Wt===9||Wt===10||Wt===12||Wt===13||Wt===32}},81970:function(Wt,Pt,en){var tn=this&&this.__createBinding||(Object.create?function(Wt,Pt,en,tn){if(tn===undefined)tn=en;var nn=Object.getOwnPropertyDescriptor(Pt,en);if(!nn||("get"in nn?!Pt.__esModule:nn.writable||nn.configurable)){nn={enumerable:true,get:function(){return Pt[en]}}}Object.defineProperty(Wt,tn,nn)}:function(Wt,Pt,en,tn){if(tn===undefined)tn=en;Wt[tn]=Pt[en]});var nn=this&&this.__setModuleDefault||(Object.create?function(Wt,Pt){Object.defineProperty(Wt,"default",{enumerable:true,value:Pt})}:function(Wt,Pt){Wt["default"]=Pt});var an=this&&this.__importStar||function(Wt){if(Wt&&Wt.__esModule)return Wt;var Pt={};if(Wt!=null)for(var en in Wt)if(en!=="default"&&Object.prototype.hasOwnProperty.call(Wt,en))tn(Pt,Wt,en);nn(Pt,Wt);return Pt};var In=this&&this.__importDefault||function(Wt){return Wt&&Wt.__esModule?Wt:{default:Wt}};Object.defineProperty(Pt,"__esModule",{value:true});Pt.HttpProxyAgent=void 0;const rn=an(en(69278));const sn=an(en(64756));const on=In(en(2830));const cn=en(24434);const dn=en(98894);const un=en(87016);const pn=(0,on.default)("http-proxy-agent");class HttpProxyAgent extends dn.Agent{constructor(Wt,Pt){super(Pt);this.proxy=typeof Wt==="string"?new un.URL(Wt):Wt;this.proxyHeaders=Pt?.headers??{};pn("Creating new HttpProxyAgent instance: %o",this.proxy.href);const en=(this.proxy.hostname||this.proxy.host).replace(/^\[|\]$/g,"");const tn=this.proxy.port?parseInt(this.proxy.port,10):this.proxy.protocol==="https:"?443:80;this.connectOpts={...Pt?omit(Pt,"headers"):null,host:en,port:tn}}addRequest(Wt,Pt){Wt._header=null;this.setRequestProps(Wt,Pt);super.addRequest(Wt,Pt)}setRequestProps(Wt,Pt){const{proxy:en}=this;const tn=Pt.secureEndpoint?"https:":"http:";const nn=Wt.getHeader("host")||"localhost";const an=`${tn}//${nn}`;const In=new un.URL(Wt.path,an);if(Pt.port!==80){In.port=String(Pt.port)}Wt.path=String(In);const rn=typeof this.proxyHeaders==="function"?this.proxyHeaders():{...this.proxyHeaders};if(en.username||en.password){const Wt=`${decodeURIComponent(en.username)}:${decodeURIComponent(en.password)}`;rn["Proxy-Authorization"]=`Basic ${Buffer.from(Wt).toString("base64")}`}if(!rn["Proxy-Connection"]){rn["Proxy-Connection"]=this.keepAlive?"Keep-Alive":"close"}for(const Pt of Object.keys(rn)){const en=rn[Pt];if(en){Wt.setHeader(Pt,en)}}}async connect(Wt,Pt){Wt._header=null;if(!Wt.path.includes("://")){this.setRequestProps(Wt,Pt)}let en;let tn;pn("Regenerating stored HTTP header string for request");Wt._implicitHeader();if(Wt.outputData&&Wt.outputData.length>0){pn("Patching connection write() output buffer with updated header");en=Wt.outputData[0].data;tn=en.indexOf("\r\n\r\n")+4;Wt.outputData[0].data=Wt._header+en.substring(tn);pn("Output buffer: %o",Wt.outputData[0].data)}let nn;if(this.proxy.protocol==="https:"){pn("Creating `tls.Socket`: %o",this.connectOpts);nn=sn.connect(this.connectOpts)}else{pn("Creating `net.Socket`: %o",this.connectOpts);nn=rn.connect(this.connectOpts)}await(0,cn.once)(nn,"connect");return nn}}HttpProxyAgent.protocols=["http","https"];Pt.HttpProxyAgent=HttpProxyAgent;function omit(Wt,...Pt){const en={};let tn;for(tn in Wt){if(!Pt.includes(tn)){en[tn]=Wt[tn]}}return en}},3669:function(Wt,Pt,en){var tn=this&&this.__createBinding||(Object.create?function(Wt,Pt,en,tn){if(tn===undefined)tn=en;var nn=Object.getOwnPropertyDescriptor(Pt,en);if(!nn||("get"in nn?!Pt.__esModule:nn.writable||nn.configurable)){nn={enumerable:true,get:function(){return Pt[en]}}}Object.defineProperty(Wt,tn,nn)}:function(Wt,Pt,en,tn){if(tn===undefined)tn=en;Wt[tn]=Pt[en]});var nn=this&&this.__setModuleDefault||(Object.create?function(Wt,Pt){Object.defineProperty(Wt,"default",{enumerable:true,value:Pt})}:function(Wt,Pt){Wt["default"]=Pt});var an=this&&this.__importStar||function(Wt){if(Wt&&Wt.__esModule)return Wt;var Pt={};if(Wt!=null)for(var en in Wt)if(en!=="default"&&Object.prototype.hasOwnProperty.call(Wt,en))tn(Pt,Wt,en);nn(Pt,Wt);return Pt};var In=this&&this.__importDefault||function(Wt){return Wt&&Wt.__esModule?Wt:{default:Wt}};Object.defineProperty(Pt,"__esModule",{value:true});Pt.HttpsProxyAgent=void 0;const rn=an(en(69278));const sn=an(en(64756));const on=In(en(42613));const cn=In(en(2830));const dn=en(98894);const un=en(87016);const pn=en(37943);const mn=(0,cn.default)("https-proxy-agent");const setServernameFromNonIpHost=Wt=>{if(Wt.servername===undefined&&Wt.host&&!rn.isIP(Wt.host)){return{...Wt,servername:Wt.host}}return Wt};class HttpsProxyAgent extends dn.Agent{constructor(Wt,Pt){super(Pt);this.options={path:undefined};this.proxy=typeof Wt==="string"?new un.URL(Wt):Wt;this.proxyHeaders=Pt?.headers??{};mn("Creating new HttpsProxyAgent instance: %o",this.proxy.href);const en=(this.proxy.hostname||this.proxy.host).replace(/^\[|\]$/g,"");const tn=this.proxy.port?parseInt(this.proxy.port,10):this.proxy.protocol==="https:"?443:80;this.connectOpts={ALPNProtocols:["http/1.1"],...Pt?omit(Pt,"headers"):null,host:en,port:tn}}async connect(Wt,Pt){const{proxy:en}=this;if(!Pt.host){throw new TypeError('No "host" provided')}let tn;if(en.protocol==="https:"){mn("Creating `tls.Socket`: %o",this.connectOpts);tn=sn.connect(setServernameFromNonIpHost(this.connectOpts))}else{mn("Creating `net.Socket`: %o",this.connectOpts);tn=rn.connect(this.connectOpts)}const nn=typeof this.proxyHeaders==="function"?this.proxyHeaders():{...this.proxyHeaders};const an=rn.isIPv6(Pt.host)?`[${Pt.host}]`:Pt.host;let In=`CONNECT ${an}:${Pt.port} HTTP/1.1\r\n`;if(en.username||en.password){const Wt=`${decodeURIComponent(en.username)}:${decodeURIComponent(en.password)}`;nn["Proxy-Authorization"]=`Basic ${Buffer.from(Wt).toString("base64")}`}nn.Host=`${an}:${Pt.port}`;if(!nn["Proxy-Connection"]){nn["Proxy-Connection"]=this.keepAlive?"Keep-Alive":"close"}for(const Wt of Object.keys(nn)){In+=`${Wt}: ${nn[Wt]}\r\n`}const cn=(0,pn.parseProxyResponse)(tn);tn.write(`${In}\r\n`);const{connect:dn,buffered:un}=await cn;Wt.emit("proxyConnect",dn);this.emit("proxyConnect",dn,Wt);if(dn.statusCode===200){Wt.once("socket",resume);if(Pt.secureEndpoint){mn("Upgrading socket connection to TLS");return sn.connect({...omit(setServernameFromNonIpHost(Pt),"host","path","port"),socket:tn})}return tn}tn.destroy();const bn=new rn.Socket({writable:false});bn.readable=true;Wt.once("socket",(Wt=>{mn("Replaying proxy buffer for failed request");(0,on.default)(Wt.listenerCount("data")>0);Wt.push(un);Wt.push(null)}));return bn}}HttpsProxyAgent.protocols=["http","https"];Pt.HttpsProxyAgent=HttpsProxyAgent;function resume(Wt){Wt.resume()}function omit(Wt,...Pt){const en={};let tn;for(tn in Wt){if(!Pt.includes(tn)){en[tn]=Wt[tn]}}return en}},37943:function(Wt,Pt,en){var tn=this&&this.__importDefault||function(Wt){return Wt&&Wt.__esModule?Wt:{default:Wt}};Object.defineProperty(Pt,"__esModule",{value:true});Pt.parseProxyResponse=void 0;const nn=tn(en(2830));const an=(0,nn.default)("https-proxy-agent:parse-proxy-response");function parseProxyResponse(Wt){return new Promise(((Pt,en)=>{let tn=0;const nn=[];function read(){const Pt=Wt.read();if(Pt)ondata(Pt);else Wt.once("readable",read)}function cleanup(){Wt.removeListener("end",onend);Wt.removeListener("error",onerror);Wt.removeListener("readable",read)}function onend(){cleanup();an("onend");en(new Error("Proxy connection ended before receiving CONNECT response"))}function onerror(Wt){cleanup();an("onerror %o",Wt);en(Wt)}function ondata(In){nn.push(In);tn+=In.length;const rn=Buffer.concat(nn,tn);const sn=rn.indexOf("\r\n\r\n");if(sn===-1){an("have not received end of HTTP headers yet...");read();return}const on=rn.slice(0,sn).toString("ascii").split("\r\n");const cn=on.shift();if(!cn){Wt.destroy();return en(new Error("No header received from proxy CONNECT response"))}const dn=cn.split(" ");const un=+dn[1];const pn=dn.slice(2).join(" ");const mn={};for(const Pt of on){if(!Pt)continue;const tn=Pt.indexOf(":");if(tn===-1){Wt.destroy();return en(new Error(`Invalid header from proxy CONNECT response: "${Pt}"`))}const nn=Pt.slice(0,tn).toLowerCase();const an=Pt.slice(tn+1).trimStart();const In=mn[nn];if(typeof In==="string"){mn[nn]=[In,an]}else if(Array.isArray(In)){In.push(an)}else{mn[nn]=an}}an("got proxy server response: %o %o",cn,mn);cleanup();Pt({connect:{statusCode:un,statusText:pn,headers:mn},buffered:rn})}Wt.on("error",onerror);Wt.on("end",onend);read()}))}Pt.parseProxyResponse=parseProxyResponse},33724:(Wt,Pt,en)=>{ +/*! + * humanize-ms - index.js + * Copyright(c) 2014 dead_horse + * MIT Licensed */ -var ExitCode; -(function (ExitCode) { - /** - * A code indicating that the action was successful - */ - ExitCode[ExitCode["Success"] = 0] = "Success"; - /** - * A code indicating that the action was a failure - */ - ExitCode[ExitCode["Failure"] = 1] = "Failure"; -})(ExitCode || (exports.ExitCode = ExitCode = {})); -//----------------------------------------------------------------------- -// Variables -//----------------------------------------------------------------------- +var tn=en(39023);var nn=en(70744);Wt.exports=function(Wt){if(typeof Wt==="number")return Wt;var Pt=nn(Wt);if(Pt===undefined){var en=new Error(tn.format("humanize-ms(%j) result undefined",Wt));console.warn(en.stack)}return Pt}},7978:(Wt,Pt,en)=>{var tn=en(12803).Buffer;Pt._dbcs=DBCSCodec;var nn=-1,an=-2,In=-10,rn=-1e3,sn=new Array(256),on=-1;for(var cn=0;cn<256;cn++)sn[cn]=nn;function DBCSCodec(Wt,Pt){this.encodingName=Wt.encodingName;if(!Wt)throw new Error("DBCS codec is called without the data.");if(!Wt.table)throw new Error("Encoding '"+this.encodingName+"' has no data.");var en=Wt.table();this.decodeTables=[];this.decodeTables[0]=sn.slice(0);this.decodeTableSeq=[];for(var tn=0;tnrn){throw new Error("gb18030 decode tables conflict at byte 2")}var pn=this.decodeTables[rn-dn[un]];for(var mn=129;mn<=254;mn++){if(pn[mn]===nn){pn[mn]=rn-on}else if(pn[mn]===rn-on){continue}else if(pn[mn]>rn){throw new Error("gb18030 decode tables conflict at byte 3")}var bn=this.decodeTables[rn-pn[mn]];for(var Gn=48;Gn<=57;Gn++){if(bn[Gn]===nn)bn[Gn]=an}}}}}this.defaultCharUnicode=Pt.defaultCharUnicode;this.encodeTable=[];this.encodeTableSeq=[];var hn={};if(Wt.encodeSkipVals)for(var tn=0;tn0;Wt>>>=8)Pt.push(Wt&255);if(Pt.length==0)Pt.push(0);var en=this.decodeTables[0];for(var tn=Pt.length-1;tn>0;tn--){var an=en[Pt[tn]];if(an==nn){en[Pt[tn]]=rn-this.decodeTables.length;this.decodeTables.push(en=sn.slice(0))}else if(an<=rn){en=this.decodeTables[rn-an]}else throw new Error("Overwrite byte in "+this.encodingName+", addr: "+Wt.toString(16))}return en};DBCSCodec.prototype._addDecodeChunk=function(Wt){var Pt=parseInt(Wt[0],16);var en=this._getDecodeTrieNode(Pt);Pt=Pt&255;for(var tn=1;tn255)throw new Error("Incorrect chunk in "+this.encodingName+" at addr "+Wt[0]+": too long"+Pt)};DBCSCodec.prototype._getEncodeBucket=function(Wt){var Pt=Wt>>8;if(this.encodeTable[Pt]===undefined)this.encodeTable[Pt]=sn.slice(0);return this.encodeTable[Pt]};DBCSCodec.prototype._setEncodeChar=function(Wt,Pt){var en=this._getEncodeBucket(Wt);var tn=Wt&255;if(en[tn]<=In)this.encodeTableSeq[In-en[tn]][on]=Pt;else if(en[tn]==nn)en[tn]=Pt};DBCSCodec.prototype._setEncodeSequence=function(Wt,Pt){var en=Wt[0];var tn=this._getEncodeBucket(en);var an=en&255;var rn;if(tn[an]<=In){rn=this.encodeTableSeq[In-tn[an]]}else{rn={};if(tn[an]!==nn)rn[on]=tn[an];tn[an]=In-this.encodeTableSeq.length;this.encodeTableSeq.push(rn)}for(var sn=1;sn=0){this._setEncodeChar(on,cn);nn=true}else if(on<=rn){var dn=rn-on;if(!an[dn]){var un=cn<<8>>>0;if(this._fillEncodeTable(dn,un,en))nn=true;else an[dn]=true}}else if(on<=In){this._setEncodeSequence(this.decodeTableSeq[In-on],cn);nn=true}}return nn};function DBCSEncoder(Wt,Pt){this.leadSurrogate=-1;this.seqObj=undefined;this.encodeTable=Pt.encodeTable;this.encodeTableSeq=Pt.encodeTableSeq;this.defaultCharSingleByte=Pt.defCharSB;this.gb18030=Pt.gb18030}DBCSEncoder.prototype.write=function(Wt){var Pt=tn.alloc(Wt.length*(this.gb18030?4:3)),en=this.leadSurrogate,an=this.seqObj,rn=-1,sn=0,cn=0;while(true){if(rn===-1){if(sn==Wt.length)break;var dn=Wt.charCodeAt(sn++)}else{var dn=rn;rn=-1}if(55296<=dn&&dn<57344){if(dn<56320){if(en===-1){en=dn;continue}else{en=dn;dn=nn}}else{if(en!==-1){dn=65536+(en-55296)*1024+(dn-56320);en=-1}else{dn=nn}}}else if(en!==-1){rn=dn;dn=nn;en=-1}var un=nn;if(an!==undefined&&dn!=nn){var pn=an[dn];if(typeof pn==="object"){an=pn;continue}else if(typeof pn=="number"){un=pn}else if(pn==undefined){pn=an[on];if(pn!==undefined){un=pn;rn=dn}else{}}an=undefined}else if(dn>=0){var mn=this.encodeTable[dn>>8];if(mn!==undefined)un=mn[dn&255];if(un<=In){an=this.encodeTableSeq[In-un];continue}if(un==nn&&this.gb18030){var bn=findIdx(this.gb18030.uChars,dn);if(bn!=-1){var un=this.gb18030.gbChars[bn]+(dn-this.gb18030.uChars[bn]);Pt[cn++]=129+Math.floor(un/12600);un=un%12600;Pt[cn++]=48+Math.floor(un/1260);un=un%1260;Pt[cn++]=129+Math.floor(un/10);un=un%10;Pt[cn++]=48+un;continue}}}if(un===nn)un=this.defaultCharSingleByte;if(un<256){Pt[cn++]=un}else if(un<65536){Pt[cn++]=un>>8;Pt[cn++]=un&255}else if(un<16777216){Pt[cn++]=un>>16;Pt[cn++]=un>>8&255;Pt[cn++]=un&255}else{Pt[cn++]=un>>>24;Pt[cn++]=un>>>16&255;Pt[cn++]=un>>>8&255;Pt[cn++]=un&255}}this.seqObj=an;this.leadSurrogate=en;return Pt.slice(0,cn)};DBCSEncoder.prototype.end=function(){if(this.leadSurrogate===-1&&this.seqObj===undefined)return;var Wt=tn.alloc(10),Pt=0;if(this.seqObj){var en=this.seqObj[on];if(en!==undefined){if(en<256){Wt[Pt++]=en}else{Wt[Pt++]=en>>8;Wt[Pt++]=en&255}}else{}this.seqObj=undefined}if(this.leadSurrogate!==-1){Wt[Pt++]=this.defaultCharSingleByte;this.leadSurrogate=-1}return Wt.slice(0,Pt)};DBCSEncoder.prototype.findIdx=findIdx;function DBCSDecoder(Wt,Pt){this.nodeIdx=0;this.prevBytes=[];this.decodeTables=Pt.decodeTables;this.decodeTableSeq=Pt.decodeTableSeq;this.defaultCharUnicode=Pt.defaultCharUnicode;this.gb18030=Pt.gb18030}DBCSDecoder.prototype.write=function(Wt){var Pt=tn.alloc(Wt.length*2),en=this.nodeIdx,sn=this.prevBytes,on=this.prevBytes.length,cn=-this.prevBytes.length,dn;for(var un=0,pn=0;un=0?Wt[un]:sn[un+on];var dn=this.decodeTables[en][mn];if(dn>=0){}else if(dn===nn){dn=this.defaultCharUnicode.charCodeAt(0);un=cn}else if(dn===an){if(un>=3){var bn=(Wt[un-3]-129)*12600+(Wt[un-2]-48)*1260+(Wt[un-1]-129)*10+(mn-48)}else{var bn=(sn[un-3+on]-129)*12600+((un-2>=0?Wt[un-2]:sn[un-2+on])-48)*1260+((un-1>=0?Wt[un-1]:sn[un-1+on])-129)*10+(mn-48)}var Gn=findIdx(this.gb18030.gbChars,bn);dn=this.gb18030.uChars[Gn]+bn-this.gb18030.gbChars[Gn]}else if(dn<=rn){en=rn-dn;continue}else if(dn<=In){var hn=this.decodeTableSeq[In-dn];for(var Zn=0;Zn>8}dn=hn[hn.length-1]}else throw new Error("iconv-lite internal error: invalid decoding table value "+dn+" at "+en+"/"+mn);if(dn>=65536){dn-=65536;var An=55296|dn>>10;Pt[pn++]=An&255;Pt[pn++]=An>>8;dn=56320|dn&1023}Pt[pn++]=dn&255;Pt[pn++]=dn>>8;en=0;cn=un+1}this.nodeIdx=en;this.prevBytes=cn>=0?Array.prototype.slice.call(Wt,cn):sn.slice(cn+on).concat(Array.prototype.slice.call(Wt));return Pt.slice(0,pn).toString("ucs2")};DBCSDecoder.prototype.end=function(){var Wt="";while(this.prevBytes.length>0){Wt+=this.defaultCharUnicode;var Pt=this.prevBytes.slice(1);this.prevBytes=[];this.nodeIdx=0;if(Pt.length>0)Wt+=this.write(Pt)}this.prevBytes=[];this.nodeIdx=0;return Wt};function findIdx(Wt,Pt){if(Wt[0]>Pt)return-1;var en=0,tn=Wt.length;while(en>1);if(Wt[nn]<=Pt)en=nn;else tn=nn}return en}},11802:(Wt,Pt,en)=>{Wt.exports={shiftjis:{type:"_dbcs",table:function(){return en(40679)},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 en(56406)},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 en(74488)}},gbk:{type:"_dbcs",table:function(){return en(74488).concat(en(55914))}},xgbk:"gbk",isoir58:"gbk",gb18030:{type:"_dbcs",table:function(){return en(74488).concat(en(55914))},gb18030:function(){return en(99129)},encodeSkipVals:[128],encodeAdd:{"€":41699}},chinese:"gb18030",windows949:"cp949",ms949:"cp949",949:"cp949",cp949:{type:"_dbcs",table:function(){return en(21166)}},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 en(72324)}},big5:"big5hkscs",big5hkscs:{type:"_dbcs",table:function(){return en(72324).concat(en(43267))},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"}},27585:(Wt,Pt,en)=>{var tn=[en(72356),en(62021),en(8771),en(28231),en(82473),en(97083),en(69487),en(7978),en(11802)];for(var nn=0;nn{var tn=en(12803).Buffer;Wt.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(Wt,Pt){this.enc=Wt.encodingName;this.bomAware=Wt.bomAware;if(this.enc==="base64")this.encoder=InternalEncoderBase64;else if(this.enc==="cesu8"){this.enc="utf8";this.encoder=InternalEncoderCesu8;if(tn.from("eda0bdedb2a9","hex").toString()!=="💩"){this.decoder=InternalDecoderCesu8;this.defaultCharUnicode=Pt.defaultCharUnicode}}}InternalCodec.prototype.encoder=InternalEncoder;InternalCodec.prototype.decoder=InternalDecoder;var nn=en(13193).StringDecoder;if(!nn.prototype.end)nn.prototype.end=function(){};function InternalDecoder(Wt,Pt){this.decoder=new nn(Pt.enc)}InternalDecoder.prototype.write=function(Wt){if(!tn.isBuffer(Wt)){Wt=tn.from(Wt)}return this.decoder.write(Wt)};InternalDecoder.prototype.end=function(){return this.decoder.end()};function InternalEncoder(Wt,Pt){this.enc=Pt.enc}InternalEncoder.prototype.write=function(Wt){return tn.from(Wt,this.enc)};InternalEncoder.prototype.end=function(){};function InternalEncoderBase64(Wt,Pt){this.prevStr=""}InternalEncoderBase64.prototype.write=function(Wt){Wt=this.prevStr+Wt;var Pt=Wt.length-Wt.length%4;this.prevStr=Wt.slice(Pt);Wt=Wt.slice(0,Pt);return tn.from(Wt,"base64")};InternalEncoderBase64.prototype.end=function(){return tn.from(this.prevStr,"base64")};function InternalEncoderCesu8(Wt,Pt){}InternalEncoderCesu8.prototype.write=function(Wt){var Pt=tn.alloc(Wt.length*3),en=0;for(var nn=0;nn>>6);Pt[en++]=128+(an&63)}else{Pt[en++]=224+(an>>>12);Pt[en++]=128+(an>>>6&63);Pt[en++]=128+(an&63)}}return Pt.slice(0,en)};InternalEncoderCesu8.prototype.end=function(){};function InternalDecoderCesu8(Wt,Pt){this.acc=0;this.contBytes=0;this.accBytes=0;this.defaultCharUnicode=Pt.defaultCharUnicode}InternalDecoderCesu8.prototype.write=function(Wt){var Pt=this.acc,en=this.contBytes,tn=this.accBytes,nn="";for(var an=0;an0){nn+=this.defaultCharUnicode;en=0}if(In<128){nn+=String.fromCharCode(In)}else if(In<224){Pt=In&31;en=1;tn=1}else if(In<240){Pt=In&15;en=2;tn=1}else{nn+=this.defaultCharUnicode}}else{if(en>0){Pt=Pt<<6|In&63;en--;tn++;if(en===0){if(tn===2&&Pt<128&&Pt>0)nn+=this.defaultCharUnicode;else if(tn===3&&Pt<2048)nn+=this.defaultCharUnicode;else nn+=String.fromCharCode(Pt)}}else{nn+=this.defaultCharUnicode}}}this.acc=Pt;this.contBytes=en;this.accBytes=tn;return nn};InternalDecoderCesu8.prototype.end=function(){var Wt=0;if(this.contBytes>0)Wt+=this.defaultCharUnicode;return Wt}},82473:(Wt,Pt,en)=>{var tn=en(12803).Buffer;Pt._sbcs=SBCSCodec;function SBCSCodec(Wt,Pt){if(!Wt)throw new Error("SBCS codec is called without the data.");if(!Wt.chars||Wt.chars.length!==128&&Wt.chars.length!==256)throw new Error("Encoding '"+Wt.type+"' has incorrect 'chars' (must be of len 128 or 256)");if(Wt.chars.length===128){var en="";for(var nn=0;nn<128;nn++)en+=String.fromCharCode(nn);Wt.chars=en+Wt.chars}this.decodeBuf=tn.from(Wt.chars,"ucs2");var an=tn.alloc(65536,Pt.defaultCharSingleByte.charCodeAt(0));for(var nn=0;nn{Wt.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\b\t\n\v\f\r !\"#$٪&'()*+,-./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:"ÄÅÇÉÑÖÜáàâäãåçéèêëíìîïñóòôöõúùûü†°¢£§•¶ß®©™´¨≠ÆØ∞±≤≥¥µ∂∑∏π∫ªºΩæø¿¡¬√ƒ≈∆«»… ÀÃÕŒœ–—“”‘’÷◊ÿŸ⁄¤‹›fifl‡·‚„‰ÂÊÁËÈÍÎÏÌÓÔ�ÒÚÛÙıˆ˜¯˘˙˚¸˝˛ˇ"},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ÚỤỪỬỮ\b\t\n\v\f\rỨỰỲỶỸÝỴ !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ÀẢÃÁẠẶẬÈẺẼÉẸỆÌỈĨÍỊÒỎÕÓỌỘỜỞỠỚỢÙỦŨ ĂÂÊÔƠƯĐăâêôơưđẶ̀̀̉̃́àảãáạẲằẳẵắẴẮẦẨẪẤỀặầẩẫấậèỂẻẽéẹềểễếệìỉỄẾỒĩíịòỔỏõóọồổỗốộờởỡớợùỖủũúụừửữứựỳỷỹýỵỐ"},georgianacademy:{type:"_sbcs",chars:"€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿აბგდევზთიკლმნოპჟრსტუფქღყშჩცძწჭხჯჰჱჲჳჴჵჶçèéêëìíîïðñòóôõö÷øùúûüýþÿ"},georgianps:{type:"_sbcs",chars:"€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿აბგდევზჱთიკლმნჲოპჟრსტჳუფქღყშჩცძწჭხჴჯჰჵæçèéêëìíîïðñòóôõö÷øùúûüýþÿ"},pt154:{type:"_sbcs",chars:"ҖҒӮғ„…ҶҮҲүҠӢҢҚҺҸҗ‘’“”•–—ҳҷҡӣңқһҹ ЎўЈӨҘҰ§Ё©Ә«¬ӯ®Ҝ°ұІіҙө¶·ё№ә»јҪҫҝАБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмнопрстуфхцчшщъыьэюя"},viscii:{type:"_sbcs",chars:"\0ẲẴẪ\b\t\n\v\f\rỶỸỴ !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ẠẮẰẶẤẦẨẬẼẸẾỀỂỄỆỐỒỔỖỘỢỚỜỞỊỎỌỈỦŨỤỲÕắằặấầẩậẽẹếềểễệốồổỗỠƠộờởịỰỨỪỬơớƯÀÁÂÃẢĂẳẵÈÉÊẺÌÍĨỳĐứÒÓÔạỷừửÙÚỹỵÝỡưàáâãảăữẫèéêẻìíĩỉđựòóôõỏọụùúũủýợỮ"},iso646cn:{type:"_sbcs",chars:"\0\b\t\n\v\f\r !\"#¥%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}‾��������������������������������������������������������������������������������������������������������������������������������"},iso646jp:{type:"_sbcs",chars:"\0\b\t\n\v\f\r !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[¥]^_`abcdefghijklmnopqrstuvwxyz{|}‾��������������������������������������������������������������������������������������������������������������������������������"},hproman8:{type:"_sbcs",chars:"€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ÀÂÈÊËÎÏ´ˋˆ¨˜ÙÛ₤¯Ýý°ÇçÑñ¡¿¤£¥§ƒ¢âêôûáéóúàèòùäëöüÅîØÆåíøæÄìÖÜÉïßÔÁÃãÐðÍÌÓÒÕõŠšÚŸÿÞþ·µ¶¾—¼½ªº«■»±�"},macintosh:{type:"_sbcs",chars:"ÄÅÇÉÑÖÜáàâäãåçéèêëíìîïñóòôöõúùûü†°¢£§•¶ß®©™´¨≠ÆØ∞±≤≥¥µ∂∑∏π∫ªºΩæø¿¡¬√ƒ≈∆«»… ÀÃÕŒœ–—“”‘’÷◊ÿŸ⁄¤‹›fifl‡·‚„‰ÂÊÁËÈÍÎÏÌÓÔ�ÒÚÛÙıˆ˜¯˘˙˚¸˝˛ˇ"},ascii:{type:"_sbcs",chars:"��������������������������������������������������������������������������������������������������������������������������������"},tis620:{type:"_sbcs",chars:"���������������������������������กขฃคฅฆงจฉชซฌญฎฏฐฑฒณดตถทธนบปผฝพฟภมยรฤลฦวศษสหฬอฮฯะัาำิีึืฺุู����฿เแโใไๅๆ็่้๊๋์ํ๎๏๐๑๒๓๔๕๖๗๘๙๚๛����"}}},97083:Wt=>{Wt.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",1e4:"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"}},8771:(Wt,Pt,en)=>{var tn=en(12803).Buffer;Pt.utf16be=Utf16BECodec;function Utf16BECodec(){}Utf16BECodec.prototype.encoder=Utf16BEEncoder;Utf16BECodec.prototype.decoder=Utf16BEDecoder;Utf16BECodec.prototype.bomAware=true;function Utf16BEEncoder(){}Utf16BEEncoder.prototype.write=function(Wt){var Pt=tn.from(Wt,"ucs2");for(var en=0;en=100){break e}}}}if(an>nn)return"utf-16be";if(an{var tn=en(12803).Buffer;Pt._utf32=Utf32Codec;function Utf32Codec(Wt,Pt){this.iconv=Pt;this.bomAware=true;this.isLE=Wt.isLE}Pt.utf32le={type:"_utf32",isLE:true};Pt.utf32be={type:"_utf32",isLE:false};Pt.ucs4le="utf32le";Pt.ucs4be="utf32be";Utf32Codec.prototype.encoder=Utf32Encoder;Utf32Codec.prototype.decoder=Utf32Decoder;function Utf32Encoder(Wt,Pt){this.isLE=Pt.isLE;this.highSurrogate=0}Utf32Encoder.prototype.write=function(Wt){var Pt=tn.from(Wt,"ucs2");var en=tn.alloc(Pt.length*2);var nn=this.isLE?en.writeUInt32LE:en.writeUInt32BE;var an=0;for(var In=0;In0){for(;Pt1114111){en=tn}if(en>=65536){en-=65536;var nn=55296|en>>10;Wt[Pt++]=nn&255;Wt[Pt++]=nn>>8;var en=56320|en&1023}Wt[Pt++]=en&255;Wt[Pt++]=en>>8;return Pt}Utf32Decoder.prototype.end=function(){this.overflow.length=0};Pt.utf32=Utf32AutoCodec;Pt.ucs4="utf32";function Utf32AutoCodec(Wt,Pt){this.iconv=Pt}Utf32AutoCodec.prototype.encoder=Utf32AutoEncoder;Utf32AutoCodec.prototype.decoder=Utf32AutoDecoder;function Utf32AutoEncoder(Wt,Pt){Wt=Wt||{};if(Wt.addBOM===undefined)Wt.addBOM=true;this.encoder=Pt.iconv.getEncoder(Wt.defaultEncoding||"utf-32le",Wt)}Utf32AutoEncoder.prototype.write=function(Wt){return this.encoder.write(Wt)};Utf32AutoEncoder.prototype.end=function(){return this.encoder.end()};function Utf32AutoDecoder(Wt,Pt){this.decoder=null;this.initialBufs=[];this.initialBufsLen=0;this.options=Wt||{};this.iconv=Pt.iconv}Utf32AutoDecoder.prototype.write=function(Wt){if(!this.decoder){this.initialBufs.push(Wt);this.initialBufsLen+=Wt.length;if(this.initialBufsLen<32)return"";var Pt=detectEncoding(this.initialBufs,this.options.defaultEncoding);this.decoder=this.iconv.getDecoder(Pt,this.options);var en="";for(var tn=0;tn16)an++;if(en[3]!==0||en[2]>16)nn++;if(en[0]===0&&en[1]===0&&(en[2]!==0||en[3]!==0))rn++;if((en[0]!==0||en[1]!==0)&&en[2]===0&&en[3]===0)In++;en.length=0;tn++;if(tn>=100){break e}}}}if(rn-an>In-nn)return"utf-32be";if(rn-an{var tn=en(12803).Buffer;Pt.utf7=Utf7Codec;Pt.unicode11utf7="utf7";function Utf7Codec(Wt,Pt){this.iconv=Pt}Utf7Codec.prototype.encoder=Utf7Encoder;Utf7Codec.prototype.decoder=Utf7Decoder;Utf7Codec.prototype.bomAware=true;var nn=/[^A-Za-z0-9'\(\),-\.\/:\? \n\r\t]+/g;function Utf7Encoder(Wt,Pt){this.iconv=Pt.iconv}Utf7Encoder.prototype.write=function(Wt){return tn.from(Wt.replace(nn,function(Wt){return"+"+(Wt==="+"?"":this.iconv.encode(Wt,"utf16-be").toString("base64").replace(/=+$/,""))+"-"}.bind(this)))};Utf7Encoder.prototype.end=function(){};function Utf7Decoder(Wt,Pt){this.iconv=Pt.iconv;this.inBase64=false;this.base64Accum=""}var an=/[A-Za-z0-9\/+]/;var In=[];for(var rn=0;rn<256;rn++)In[rn]=an.test(String.fromCharCode(rn));var sn="+".charCodeAt(0),on="-".charCodeAt(0),cn="&".charCodeAt(0);Utf7Decoder.prototype.write=function(Wt){var Pt="",en=0,nn=this.inBase64,an=this.base64Accum;for(var rn=0;rn0)Wt=this.iconv.decode(tn.from(this.base64Accum,"base64"),"utf16-be");this.inBase64=false;this.base64Accum="";return Wt};Pt.utf7imap=Utf7IMAPCodec;function Utf7IMAPCodec(Wt,Pt){this.iconv=Pt}Utf7IMAPCodec.prototype.encoder=Utf7IMAPEncoder;Utf7IMAPCodec.prototype.decoder=Utf7IMAPDecoder;Utf7IMAPCodec.prototype.bomAware=true;function Utf7IMAPEncoder(Wt,Pt){this.iconv=Pt.iconv;this.inBase64=false;this.base64Accum=tn.alloc(6);this.base64AccumIdx=0}Utf7IMAPEncoder.prototype.write=function(Wt){var Pt=this.inBase64,en=this.base64Accum,nn=this.base64AccumIdx,an=tn.alloc(Wt.length*5+10),In=0;for(var rn=0;rn0){In+=an.write(en.slice(0,nn).toString("base64").replace(/\//g,",").replace(/=+$/,""),In);nn=0}an[In++]=on;Pt=false}if(!Pt){an[In++]=sn;if(sn===cn)an[In++]=on}}else{if(!Pt){an[In++]=cn;Pt=true}if(Pt){en[nn++]=sn>>8;en[nn++]=sn&255;if(nn==en.length){In+=an.write(en.toString("base64").replace(/\//g,","),In);nn=0}}}}this.inBase64=Pt;this.base64AccumIdx=nn;return an.slice(0,In)};Utf7IMAPEncoder.prototype.end=function(){var Wt=tn.alloc(10),Pt=0;if(this.inBase64){if(this.base64AccumIdx>0){Pt+=Wt.write(this.base64Accum.slice(0,this.base64AccumIdx).toString("base64").replace(/\//g,",").replace(/=+$/,""),Pt);this.base64AccumIdx=0}Wt[Pt++]=on;this.inBase64=false}return Wt.slice(0,Pt)};function Utf7IMAPDecoder(Wt,Pt){this.iconv=Pt.iconv;this.inBase64=false;this.base64Accum=""}var dn=In.slice();dn[",".charCodeAt(0)]=true;Utf7IMAPDecoder.prototype.write=function(Wt){var Pt="",en=0,nn=this.inBase64,an=this.base64Accum;for(var In=0;In0)Wt=this.iconv.decode(tn.from(this.base64Accum,"base64"),"utf16-be");this.inBase64=false;this.base64Accum="";return Wt}},74250:(Wt,Pt)=>{var en="\ufeff";Pt.PrependBOM=PrependBOMWrapper;function PrependBOMWrapper(Wt,Pt){this.encoder=Wt;this.addBOM=true}PrependBOMWrapper.prototype.write=function(Wt){if(this.addBOM){Wt=en+Wt;this.addBOM=false}return this.encoder.write(Wt)};PrependBOMWrapper.prototype.end=function(){return this.encoder.end()};Pt.StripBOM=StripBOMWrapper;function StripBOMWrapper(Wt,Pt){this.decoder=Wt;this.pass=false;this.options=Pt||{}}StripBOMWrapper.prototype.write=function(Wt){var Pt=this.decoder.write(Wt);if(this.pass||!Pt)return Pt;if(Pt[0]===en){Pt=Pt.slice(1);if(typeof this.options.stripBOM==="function")this.options.stripBOM()}this.pass=true;return Pt};StripBOMWrapper.prototype.end=function(){return this.decoder.end()}},31748:(Wt,Pt,en)=>{var tn=en(12803).Buffer;var nn=en(74250),an=Wt.exports;an.encodings=null;an.defaultCharUnicode="�";an.defaultCharSingleByte="?";an.encode=function encode(Wt,Pt,en){Wt=""+(Wt||"");var nn=an.getEncoder(Pt,en);var In=nn.write(Wt);var rn=nn.end();return rn&&rn.length>0?tn.concat([In,rn]):In};an.decode=function decode(Wt,Pt,en){if(typeof Wt==="string"){if(!an.skipDecodeWarning){console.error("Iconv-lite warning: decode()-ing strings is deprecated. Refer to https://github.com/ashtuchkin/iconv-lite/wiki/Use-Buffers-when-decoding");an.skipDecodeWarning=true}Wt=tn.from(""+(Wt||""),"binary")}var nn=an.getDecoder(Pt,en);var In=nn.write(Wt);var rn=nn.end();return rn?In+rn:In};an.encodingExists=function encodingExists(Wt){try{an.getCodec(Wt);return true}catch(Wt){return false}};an.toEncoding=an.encode;an.fromEncoding=an.decode;an._codecDataCache={};an.getCodec=function getCodec(Wt){if(!an.encodings)an.encodings=en(27585);var Pt=an._canonicalizeEncoding(Wt);var tn={};while(true){var nn=an._codecDataCache[Pt];if(nn)return nn;var In=an.encodings[Pt];switch(typeof In){case"string":Pt=In;break;case"object":for(var rn in In)tn[rn]=In[rn];if(!tn.encodingName)tn.encodingName=Pt;Pt=In.type;break;case"function":if(!tn.encodingName)tn.encodingName=Pt;nn=new In(tn,an);an._codecDataCache[tn.encodingName]=nn;return nn;default:throw new Error("Encoding not recognized: '"+Wt+"' (searched as: '"+Pt+"')")}}};an._canonicalizeEncoding=function(Wt){return(""+Wt).toLowerCase().replace(/:\d{4}$|[^0-9a-z]/g,"")};an.getEncoder=function getEncoder(Wt,Pt){var en=an.getCodec(Wt),tn=new en.encoder(Pt,en);if(en.bomAware&&Pt&&Pt.addBOM)tn=new nn.PrependBOM(tn,Pt);return tn};an.getDecoder=function getDecoder(Wt,Pt){var en=an.getCodec(Wt),tn=new en.decoder(Pt,en);if(en.bomAware&&!(Pt&&Pt.stripBOM===false))tn=new nn.StripBOM(tn,Pt);return tn};an.enableStreamingAPI=function enableStreamingAPI(Wt){if(an.supportsStreams)return;var Pt=en(42281)(Wt);an.IconvLiteEncoderStream=Pt.IconvLiteEncoderStream;an.IconvLiteDecoderStream=Pt.IconvLiteDecoderStream;an.encodeStream=function encodeStream(Wt,Pt){return new an.IconvLiteEncoderStream(an.getEncoder(Wt,Pt),Pt)};an.decodeStream=function decodeStream(Wt,Pt){return new an.IconvLiteDecoderStream(an.getDecoder(Wt,Pt),Pt)};an.supportsStreams=true};var In;try{In=en(2203)}catch(Wt){}if(In&&In.Transform){an.enableStreamingAPI(In)}else{an.encodeStream=an.decodeStream=function(){throw new Error("iconv-lite Streaming API is not enabled. Use iconv.enableStreamingAPI(require('stream')); to enable it.")}}if(false){}},42281:(Wt,Pt,en)=>{var tn=en(12803).Buffer;Wt.exports=function(Wt){var Pt=Wt.Transform;function IconvLiteEncoderStream(Wt,en){this.conv=Wt;en=en||{};en.decodeStrings=false;Pt.call(this,en)}IconvLiteEncoderStream.prototype=Object.create(Pt.prototype,{constructor:{value:IconvLiteEncoderStream}});IconvLiteEncoderStream.prototype._transform=function(Wt,Pt,en){if(typeof Wt!="string")return en(new Error("Iconv encoding stream needs strings as its input."));try{var tn=this.conv.write(Wt);if(tn&&tn.length)this.push(tn);en()}catch(Wt){en(Wt)}};IconvLiteEncoderStream.prototype._flush=function(Wt){try{var Pt=this.conv.end();if(Pt&&Pt.length)this.push(Pt);Wt()}catch(Pt){Wt(Pt)}};IconvLiteEncoderStream.prototype.collect=function(Wt){var Pt=[];this.on("error",Wt);this.on("data",(function(Wt){Pt.push(Wt)}));this.on("end",(function(){Wt(null,tn.concat(Pt))}));return this};function IconvLiteDecoderStream(Wt,en){this.conv=Wt;en=en||{};en.encoding=this.encoding="utf8";Pt.call(this,en)}IconvLiteDecoderStream.prototype=Object.create(Pt.prototype,{constructor:{value:IconvLiteDecoderStream}});IconvLiteDecoderStream.prototype._transform=function(Wt,Pt,en){if(!tn.isBuffer(Wt)&&!(Wt instanceof Uint8Array))return en(new Error("Iconv decoding stream needs buffers as its input."));try{var nn=this.conv.write(Wt);if(nn&&nn.length)this.push(nn,this.encoding);en()}catch(Wt){en(Wt)}};IconvLiteDecoderStream.prototype._flush=function(Wt){try{var Pt=this.conv.end();if(Pt&&Pt.length)this.push(Pt,this.encoding);Wt()}catch(Pt){Wt(Pt)}};IconvLiteDecoderStream.prototype.collect=function(Wt){var Pt="";this.on("error",Wt);this.on("data",(function(Wt){Pt+=Wt}));this.on("end",(function(){Wt(null,Pt)}));return this};return{IconvLiteEncoderStream:IconvLiteEncoderStream,IconvLiteDecoderStream:IconvLiteDecoderStream}}},39598:(Wt,Pt,en)=>{try{var tn=en(39023);if(typeof tn.inherits!=="function")throw"";Wt.exports=tn.inherits}catch(Pt){Wt.exports=en(26589)}},26589:Wt=>{if(typeof Object.create==="function"){Wt.exports=function inherits(Wt,Pt){if(Pt){Wt.super_=Pt;Wt.prototype=Object.create(Pt.prototype,{constructor:{value:Wt,enumerable:false,writable:true,configurable:true}})}}}else{Wt.exports=function inherits(Wt,Pt){if(Pt){Wt.super_=Pt;var TempCtor=function(){};TempCtor.prototype=Pt.prototype;Wt.prototype=new TempCtor;Wt.prototype.constructor=Wt}}}},93132:Wt=>{var Pt=/^[a-z](?:[\.0-9_a-z\xB7\xC0-\xD6\xD8-\xF6\xF8-\u037D\u037F-\u1FFF\u200C\u200D\u203F\u2040\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]|[\uD800-\uDB7F][\uDC00-\uDFFF])*-(?:[\x2D\.0-9_a-z\xB7\xC0-\xD6\xD8-\xF6\xF8-\u037D\u037F-\u1FFF\u200C\u200D\u203F\u2040\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]|[\uD800-\uDB7F][\uDC00-\uDFFF])*$/;var isPotentialCustomElementName=function(Wt){return Pt.test(Wt)};Wt.exports=isPotentialCustomElementName},22157:Wt=>{ /** - * Sets env variable for this action and future actions in the job - * @param name the name of the variable to set - * @param val the value of the variable. Non-string values will be converted to a string via JSON.stringify + * [js-sha3]{@link https://github.com/emn178/js-sha3} + * + * @version 0.8.0 + * @author Chen, Yi-Cyuan [emn178@gmail.com] + * @copyright Chen, Yi-Cyuan 2015-2018 + * @license MIT */ -// eslint-disable-next-line @typescript-eslint/no-explicit-any -function exportVariable(name, val) { - const convertedVal = (0, utils_1.toCommandValue)(val); - process.env[name] = convertedVal; - const filePath = process.env['GITHUB_ENV'] || ''; - if (filePath) { - return (0, file_command_1.issueFileCommand)('ENV', (0, file_command_1.prepareKeyValueMessage)(name, val)); - } - (0, command_1.issueCommand)('set-env', { name }, convertedVal); -} -exports.exportVariable = exportVariable; -/** - * Registers a secret which will get masked from logs - * @param secret value of the secret +(function(){"use strict";var Pt="input is invalid type";var en="finalize already called";var tn=typeof window==="object";var nn=tn?window:{};if(nn.JS_SHA3_NO_WINDOW){tn=false}var an=!tn&&typeof self==="object";var In=!nn.JS_SHA3_NO_NODE_JS&&typeof process==="object"&&process.versions&&process.versions.node;if(In){nn=global}else if(an){nn=self}var rn=!nn.JS_SHA3_NO_COMMON_JS&&"object"==="object"&&Wt.exports;var sn=typeof define==="function"&&define.amd;var on=!nn.JS_SHA3_NO_ARRAY_BUFFER&&typeof ArrayBuffer!=="undefined";var cn="0123456789abcdef".split("");var dn=[31,7936,2031616,520093696];var un=[4,1024,262144,67108864];var pn=[1,256,65536,16777216];var mn=[6,1536,393216,100663296];var bn=[0,8,16,24];var Gn=[1,0,32898,0,32906,2147483648,2147516416,2147483648,32907,0,2147483649,0,2147516545,2147483648,32777,2147483648,138,0,136,0,2147516425,0,2147483658,0,2147516555,0,139,2147483648,32905,2147483648,32771,2147483648,32770,2147483648,128,2147483648,32778,0,2147483658,2147483648,2147516545,2147483648,32896,2147483648,2147483649,0,2147516424,2147483648];var hn=[224,256,384,512];var Zn=[128,256];var An=["hex","buffer","arrayBuffer","array","digest"];var Wn={128:168,256:136};if(nn.JS_SHA3_NO_NODE_JS||!Array.isArray){Array.isArray=function(Wt){return Object.prototype.toString.call(Wt)==="[object Array]"}}if(on&&(nn.JS_SHA3_NO_ARRAY_BUFFER_IS_VIEW||!ArrayBuffer.isView)){ArrayBuffer.isView=function(Wt){return typeof Wt==="object"&&Wt.buffer&&Wt.buffer.constructor===ArrayBuffer}}var createOutputMethod=function(Wt,Pt,en){return function(tn){return new Keccak(Wt,Pt,Wt).update(tn)[en]()}};var createShakeOutputMethod=function(Wt,Pt,en){return function(tn,nn){return new Keccak(Wt,Pt,nn).update(tn)[en]()}};var createCshakeOutputMethod=function(Wt,Pt,en){return function(Pt,tn,nn,an){return gn["cshake"+Wt].update(Pt,tn,nn,an)[en]()}};var createKmacOutputMethod=function(Wt,Pt,en){return function(Pt,tn,nn,an){return gn["kmac"+Wt].update(Pt,tn,nn,an)[en]()}};var createOutputMethods=function(Wt,Pt,en,tn){for(var nn=0;nn>5;this.byteCount=this.blockCount<<2;this.outputBlocks=en>>5;this.extraBytes=(en&31)>>3;for(var tn=0;tn<50;++tn){this.s[tn]=0}}Keccak.prototype.update=function(Wt){if(this.finalized){throw new Error(en)}var tn,nn=typeof Wt;if(nn!=="string"){if(nn==="object"){if(Wt===null){throw new Error(Pt)}else if(on&&Wt.constructor===ArrayBuffer){Wt=new Uint8Array(Wt)}else if(!Array.isArray(Wt)){if(!on||!ArrayBuffer.isView(Wt)){throw new Error(Pt)}}}else{throw new Error(Pt)}tn=true}var an=this.blocks,In=this.byteCount,rn=Wt.length,sn=this.blockCount,cn=0,dn=this.s,un,pn;while(cn>2]|=Wt[cn]<>2]|=pn<>2]|=(192|pn>>6)<>2]|=(128|pn&63)<=57344){an[un>>2]|=(224|pn>>12)<>2]|=(128|pn>>6&63)<>2]|=(128|pn&63)<>2]|=(240|pn>>18)<>2]|=(128|pn>>12&63)<>2]|=(128|pn>>6&63)<>2]|=(128|pn&63)<=In){this.start=un-In;this.block=an[sn];for(un=0;un>8;en=Wt&255;while(en>0){nn.unshift(en);Wt=Wt>>8;en=Wt&255;++tn}if(Pt){nn.push(tn)}else{nn.unshift(tn)}this.update(nn);return nn.length};Keccak.prototype.encodeString=function(Wt){var en,tn=typeof Wt;if(tn!=="string"){if(tn==="object"){if(Wt===null){throw new Error(Pt)}else if(on&&Wt.constructor===ArrayBuffer){Wt=new Uint8Array(Wt)}else if(!Array.isArray(Wt)){if(!on||!ArrayBuffer.isView(Wt)){throw new Error(Pt)}}}else{throw new Error(Pt)}en=true}var nn=0,an=Wt.length;if(en){nn=an}else{for(var In=0;In=57344){nn+=3}else{rn=65536+((rn&1023)<<10|Wt.charCodeAt(++In)&1023);nn+=4}}}nn+=this.encode(nn*8);this.update(Wt);return nn};Keccak.prototype.bytepad=function(Wt,Pt){var en=this.encode(Pt);for(var tn=0;tn>2]|=this.padding[Pt&3];if(this.lastByteIndex===this.byteCount){Wt[0]=Wt[en];for(Pt=1;Pt>4&15]+cn[rn&15]+cn[rn>>12&15]+cn[rn>>8&15]+cn[rn>>20&15]+cn[rn>>16&15]+cn[rn>>28&15]+cn[rn>>24&15]}if(an%Wt===0){f(Pt);nn=0}}if(tn){rn=Pt[nn];In+=cn[rn>>4&15]+cn[rn&15];if(tn>1){In+=cn[rn>>12&15]+cn[rn>>8&15]}if(tn>2){In+=cn[rn>>20&15]+cn[rn>>16&15]}}return In};Keccak.prototype.arrayBuffer=function(){this.finalize();var Wt=this.blockCount,Pt=this.s,en=this.outputBlocks,tn=this.extraBytes,nn=0,an=0;var In=this.outputBits>>3;var rn;if(tn){rn=new ArrayBuffer(en+1<<2)}else{rn=new ArrayBuffer(In)}var sn=new Uint32Array(rn);while(an>8&255;In[rn+2]=sn>>16&255;In[rn+3]=sn>>24&255}if(an%Wt===0){f(Pt)}}if(tn){rn=an<<2;sn=Pt[nn];In[rn]=sn&255;if(tn>1){In[rn+1]=sn>>8&255}if(tn>2){In[rn+2]=sn>>16&255}}return In};function Kmac(Wt,Pt,en){Keccak.call(this,Wt,Pt,en)}Kmac.prototype=new Keccak;Kmac.prototype.finalize=function(){this.encode(this.outputBits,true);return Keccak.prototype.finalize.call(this)};var f=function(Wt){var Pt,en,tn,nn,an,In,rn,sn,on,cn,dn,un,pn,mn,bn,hn,Zn,An,Wn,Nn,gn,yn,vn,Yn,En,Vn,Rn,wn,Fn,Qn,fn,Hn,Cn,Xn,kn,Jn,Ln,Bn,xn,On,Tn,Un,Mn,zn,Sn,Dn,jn,_n,Kn,Pn,qn,$n,el,tl,nl,ll,al,Il,rl,sl,ol,cl,il;for(tn=0;tn<48;tn+=2){nn=Wt[0]^Wt[10]^Wt[20]^Wt[30]^Wt[40];an=Wt[1]^Wt[11]^Wt[21]^Wt[31]^Wt[41];In=Wt[2]^Wt[12]^Wt[22]^Wt[32]^Wt[42];rn=Wt[3]^Wt[13]^Wt[23]^Wt[33]^Wt[43];sn=Wt[4]^Wt[14]^Wt[24]^Wt[34]^Wt[44];on=Wt[5]^Wt[15]^Wt[25]^Wt[35]^Wt[45];cn=Wt[6]^Wt[16]^Wt[26]^Wt[36]^Wt[46];dn=Wt[7]^Wt[17]^Wt[27]^Wt[37]^Wt[47];un=Wt[8]^Wt[18]^Wt[28]^Wt[38]^Wt[48];pn=Wt[9]^Wt[19]^Wt[29]^Wt[39]^Wt[49];Pt=un^(In<<1|rn>>>31);en=pn^(rn<<1|In>>>31);Wt[0]^=Pt;Wt[1]^=en;Wt[10]^=Pt;Wt[11]^=en;Wt[20]^=Pt;Wt[21]^=en;Wt[30]^=Pt;Wt[31]^=en;Wt[40]^=Pt;Wt[41]^=en;Pt=nn^(sn<<1|on>>>31);en=an^(on<<1|sn>>>31);Wt[2]^=Pt;Wt[3]^=en;Wt[12]^=Pt;Wt[13]^=en;Wt[22]^=Pt;Wt[23]^=en;Wt[32]^=Pt;Wt[33]^=en;Wt[42]^=Pt;Wt[43]^=en;Pt=In^(cn<<1|dn>>>31);en=rn^(dn<<1|cn>>>31);Wt[4]^=Pt;Wt[5]^=en;Wt[14]^=Pt;Wt[15]^=en;Wt[24]^=Pt;Wt[25]^=en;Wt[34]^=Pt;Wt[35]^=en;Wt[44]^=Pt;Wt[45]^=en;Pt=sn^(un<<1|pn>>>31);en=on^(pn<<1|un>>>31);Wt[6]^=Pt;Wt[7]^=en;Wt[16]^=Pt;Wt[17]^=en;Wt[26]^=Pt;Wt[27]^=en;Wt[36]^=Pt;Wt[37]^=en;Wt[46]^=Pt;Wt[47]^=en;Pt=cn^(nn<<1|an>>>31);en=dn^(an<<1|nn>>>31);Wt[8]^=Pt;Wt[9]^=en;Wt[18]^=Pt;Wt[19]^=en;Wt[28]^=Pt;Wt[29]^=en;Wt[38]^=Pt;Wt[39]^=en;Wt[48]^=Pt;Wt[49]^=en;mn=Wt[0];bn=Wt[1];Dn=Wt[11]<<4|Wt[10]>>>28;jn=Wt[10]<<4|Wt[11]>>>28;wn=Wt[20]<<3|Wt[21]>>>29;Fn=Wt[21]<<3|Wt[20]>>>29;sl=Wt[31]<<9|Wt[30]>>>23;ol=Wt[30]<<9|Wt[31]>>>23;Un=Wt[40]<<18|Wt[41]>>>14;Mn=Wt[41]<<18|Wt[40]>>>14;Xn=Wt[2]<<1|Wt[3]>>>31;kn=Wt[3]<<1|Wt[2]>>>31;hn=Wt[13]<<12|Wt[12]>>>20;Zn=Wt[12]<<12|Wt[13]>>>20;_n=Wt[22]<<10|Wt[23]>>>22;Kn=Wt[23]<<10|Wt[22]>>>22;Qn=Wt[33]<<13|Wt[32]>>>19;fn=Wt[32]<<13|Wt[33]>>>19;cl=Wt[42]<<2|Wt[43]>>>30;il=Wt[43]<<2|Wt[42]>>>30;tl=Wt[5]<<30|Wt[4]>>>2;nl=Wt[4]<<30|Wt[5]>>>2;Jn=Wt[14]<<6|Wt[15]>>>26;Ln=Wt[15]<<6|Wt[14]>>>26;An=Wt[25]<<11|Wt[24]>>>21;Wn=Wt[24]<<11|Wt[25]>>>21;Pn=Wt[34]<<15|Wt[35]>>>17;qn=Wt[35]<<15|Wt[34]>>>17;Hn=Wt[45]<<29|Wt[44]>>>3;Cn=Wt[44]<<29|Wt[45]>>>3;Yn=Wt[6]<<28|Wt[7]>>>4;En=Wt[7]<<28|Wt[6]>>>4;ll=Wt[17]<<23|Wt[16]>>>9;al=Wt[16]<<23|Wt[17]>>>9;Bn=Wt[26]<<25|Wt[27]>>>7;xn=Wt[27]<<25|Wt[26]>>>7;Nn=Wt[36]<<21|Wt[37]>>>11;gn=Wt[37]<<21|Wt[36]>>>11;$n=Wt[47]<<24|Wt[46]>>>8;el=Wt[46]<<24|Wt[47]>>>8;zn=Wt[8]<<27|Wt[9]>>>5;Sn=Wt[9]<<27|Wt[8]>>>5;Vn=Wt[18]<<20|Wt[19]>>>12;Rn=Wt[19]<<20|Wt[18]>>>12;Il=Wt[29]<<7|Wt[28]>>>25;rl=Wt[28]<<7|Wt[29]>>>25;On=Wt[38]<<8|Wt[39]>>>24;Tn=Wt[39]<<8|Wt[38]>>>24;yn=Wt[48]<<14|Wt[49]>>>18;vn=Wt[49]<<14|Wt[48]>>>18;Wt[0]=mn^~hn&An;Wt[1]=bn^~Zn&Wn;Wt[10]=Yn^~Vn&wn;Wt[11]=En^~Rn&Fn;Wt[20]=Xn^~Jn&Bn;Wt[21]=kn^~Ln&xn;Wt[30]=zn^~Dn&_n;Wt[31]=Sn^~jn&Kn;Wt[40]=tl^~ll&Il;Wt[41]=nl^~al&rl;Wt[2]=hn^~An&Nn;Wt[3]=Zn^~Wn&gn;Wt[12]=Vn^~wn&Qn;Wt[13]=Rn^~Fn&fn;Wt[22]=Jn^~Bn&On;Wt[23]=Ln^~xn&Tn;Wt[32]=Dn^~_n&Pn;Wt[33]=jn^~Kn&qn;Wt[42]=ll^~Il&sl;Wt[43]=al^~rl&ol;Wt[4]=An^~Nn&yn;Wt[5]=Wn^~gn&vn;Wt[14]=wn^~Qn&Hn;Wt[15]=Fn^~fn&Cn;Wt[24]=Bn^~On&Un;Wt[25]=xn^~Tn&Mn;Wt[34]=_n^~Pn&$n;Wt[35]=Kn^~qn⪙Wt[44]=Il^~sl&cl;Wt[45]=rl^~ol&il;Wt[6]=Nn^~yn&mn;Wt[7]=gn^~vn&bn;Wt[16]=Qn^~Hn&Yn;Wt[17]=fn^~Cn&En;Wt[26]=On^~Un&Xn;Wt[27]=Tn^~Mn&kn;Wt[36]=Pn^~$n&zn;Wt[37]=qn^~el&Sn;Wt[46]=sl^~cl&tl;Wt[47]=ol^~il&nl;Wt[8]=yn^~mn&hn;Wt[9]=vn^~bn&Zn;Wt[18]=Hn^~Yn&Vn;Wt[19]=Cn^~En&Rn;Wt[28]=Un^~Xn&Jn;Wt[29]=Mn^~kn&Ln;Wt[38]=$n^~zn&Dn;Wt[39]=el^~Sn&jn;Wt[48]=cl^~tl≪Wt[49]=il^~nl&al;Wt[0]^=Gn[tn];Wt[1]^=Gn[tn+1]}};if(rn){Wt.exports=gn}else{for(vn=0;vn{var tn;const nn=en(16928);const an=en(79896).promises;const In=en(69154);const rn=en(96684);const sn=en(45528);const on=en(78012);const cn=en(86476);const{URL:dn}=en(78012);const un=en(59344);const pn=en(87094);const mn=en(68224);const{createWindow:bn}=en(30398);const{parseIntoDocument:Gn}=en(13430);const{fragmentSerialization:hn}=en(49446);const Zn=en(79414);const An=en(13858);class CookieJar extends rn.CookieJar{constructor(Wt,Pt){super(Wt,{looseMode:true,...Pt})}}const Wn=Symbol("window");let Nn=null;class JSDOM{constructor(Wt="",Pt={}){const en=new un(Pt.contentType===undefined?"text/html":Pt.contentType);const{html:tn,encoding:nn}=normalizeHTML(Wt,en);Pt=transformOptions(Pt,nn,en);this[Wn]=bn(Pt.windowOptions);const an=pn.implForWrapper(this[Wn]._document);Pt.beforeParse(this[Wn]._globalProxy);Gn(tn,an);an.close()}get window(){return this[Wn]._globalProxy}get virtualConsole(){return this[Wn]._virtualConsole}get cookieJar(){return pn.implForWrapper(this[Wn]._document)._cookieJar}serialize(){return hn(pn.implForWrapper(this[Wn]._document),{requireWellFormed:false})}nodeLocation(Wt){if(!pn.implForWrapper(this[Wn]._document)._parseOptions.sourceCodeLocationInfo){throw new Error("Location information was not saved for this jsdom. Use includeNodeLocations during creation.")}return pn.implForWrapper(Wt).sourceCodeLocation}getInternalVMContext(){if(!In.isContext(this[Wn])){throw new TypeError("This jsdom was not configured to allow script running. "+"Use the runScripts option during creation.")}return this[Wn]}reconfigure(Wt){if("windowTop"in Wt){this[Wn]._top=Wt.windowTop}if("url"in Wt){const Pt=pn.implForWrapper(this[Wn]._document);const en=on.parseURL(Wt.url);if(en===null){throw new TypeError(`Could not parse "${Wt.url}" as a URL`)}Pt._URL=en;Pt._origin=on.serializeURLOrigin(Pt._URL);this[Wn]._sessionHistory.currentEntry.url=en}}static fragment(Wt=""){if(!Nn){Nn=(new JSDOM).window.document}const Pt=Nn.createElement("template");Pt.innerHTML=Wt;return Pt.content}static fromURL(Wt,Pt={}){return Promise.resolve().then((()=>{const en=new dn(Wt);const tn=en.hash;en.hash="";Wt=en.href;Pt=normalizeFromURLOptions(Pt);const nn=resourcesToResourceLoader(Pt.resources);const an=nn.constructor===An?new Zn:nn;const In=an.fetch(Wt,{accept:"text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8",cookieJar:Pt.cookieJar,referrer:Pt.referrer});return In.then((Wt=>{const en=In.response;Pt=Object.assign(Pt,{url:In.href+tn,contentType:en.headers["content-type"],referrer:In.getHeader("referer")??undefined});return new JSDOM(Wt,Pt)}))}))}static async fromFile(Wt,Pt={}){Pt=normalizeFromFileOptions(Wt,Pt);const en=await an.readFile(Wt);return new JSDOM(en,Pt)}}function normalizeFromURLOptions(Wt){if(Wt.url!==undefined){throw new TypeError("Cannot supply a url option when using fromURL")}if(Wt.contentType!==undefined){throw new TypeError("Cannot supply a contentType option when using fromURL")}const Pt={...Wt};if(Wt.referrer!==undefined){Pt.referrer=new dn(Wt.referrer).href}if(Wt.cookieJar===undefined){Pt.cookieJar=new CookieJar}return Pt}function normalizeFromFileOptions(Wt,Pt){const en={...Pt};if(en.contentType===undefined){const Pt=nn.extname(Wt);if(Pt===".xhtml"||Pt===".xht"||Pt===".xml"){en.contentType="application/xhtml+xml"}}if(en.url===undefined){en.url=new dn("file:"+nn.resolve(Wt))}return en}function transformOptions(Wt,Pt,en){const tn={windowOptions:{url:"about:blank",referrer:"",contentType:"text/html",parsingMode:"html",parseOptions:{sourceCodeLocationInfo:false,scriptingEnabled:false},runScripts:undefined,encoding:Pt,pretendToBeVisual:false,storageQuota:5e6,resourceLoader:undefined,virtualConsole:undefined,cookieJar:undefined},beforeParse(){}};if(!en.isHTML()&&!en.isXML()){throw new RangeError(`The given content type of "${Wt.contentType}" was not a HTML or XML content type`)}tn.windowOptions.contentType=en.essence;tn.windowOptions.parsingMode=en.isHTML()?"html":"xml";if(Wt.url!==undefined){tn.windowOptions.url=new dn(Wt.url).href}if(Wt.referrer!==undefined){tn.windowOptions.referrer=new dn(Wt.referrer).href}if(Wt.includeNodeLocations){if(tn.windowOptions.parsingMode==="xml"){throw new TypeError("Cannot set includeNodeLocations to true with an XML content type")}tn.windowOptions.parseOptions={sourceCodeLocationInfo:true}}tn.windowOptions.cookieJar=Wt.cookieJar===undefined?new CookieJar:Wt.cookieJar;tn.windowOptions.virtualConsole=Wt.virtualConsole===undefined?(new mn).sendTo(console):Wt.virtualConsole;if(!(tn.windowOptions.virtualConsole instanceof mn)){throw new TypeError("virtualConsole must be an instance of VirtualConsole")}tn.windowOptions.resourceLoader=resourcesToResourceLoader(Wt.resources);if(Wt.runScripts!==undefined){tn.windowOptions.runScripts=String(Wt.runScripts);if(tn.windowOptions.runScripts==="dangerously"){tn.windowOptions.parseOptions.scriptingEnabled=true}else if(tn.windowOptions.runScripts!=="outside-only"){throw new RangeError(`runScripts must be undefined, "dangerously", or "outside-only"`)}}if(Wt.beforeParse!==undefined){tn.beforeParse=Wt.beforeParse}if(Wt.pretendToBeVisual!==undefined){tn.windowOptions.pretendToBeVisual=Boolean(Wt.pretendToBeVisual)}if(Wt.storageQuota!==undefined){tn.windowOptions.storageQuota=Number(Wt.storageQuota)}return tn}function normalizeHTML(Wt,Pt){let en="UTF-8";if(ArrayBuffer.isView(Wt)){Wt=Buffer.from(Wt.buffer,Wt.byteOffset,Wt.byteLength)}else if(Wt instanceof ArrayBuffer){Wt=Buffer.from(Wt)}if(Buffer.isBuffer(Wt)){en=sn(Wt,{defaultEncoding:Pt.isXML()?"UTF-8":"windows-1252",transportLayerEncodingLabel:Pt.parameters.get("charset")});Wt=cn.decode(Wt,en)}else{Wt=String(Wt)}return{html:Wt,encoding:en}}function resourcesToResourceLoader(Wt){switch(Wt){case undefined:{return new An}case"usable":{return new Zn}default:{if(!(Wt instanceof Zn)){throw new TypeError("resources must be an instance of ResourceLoader")}return Wt}}}Pt.un=JSDOM;tn=mn;tn=CookieJar;tn=Zn;tn=rn},30398:(Wt,Pt,en)=>{const tn=en(69154);const nn=en(37125);const{CSSStyleDeclaration:an}=en(99712);const In=en(8172);const{installInterfaces:rn}=en(96533);const{define:sn,mixin:on}=en(35702);const cn=en(41423);const dn=en(29122);const un=en(69117);const pn=en(25295);const mn=en(98574);const bn=en(54414);const{fireAPageTransitionEvent:Gn}=en(24639);const hn=en(59397);const Zn=en(32065);const An=en(16694);const Wn=en(87094);const Nn=en(14764).implementation;const gn=en(21183);const yn=en(33111);const vn=en(18516);const Yn=en(60618);const En=en(7569);const Vn=en(42235);const Rn=en(19346);const wn=en(90778);const Fn=en(1417);const Qn=en(12323);const{getCurrentEventHandlerValue:fn}=en(15676);const{fireAnEvent:Hn}=en(83350);const Cn=en(1072);const{getDeclarationForElement:Xn,getResolvedValue:kn,propertiesWithResolvedValueImplemented:Jn,SHADOW_DOM_PSEUDO_REGEXP:Ln}=en(86024);const Bn=en(46193);const xn=en(75282);const On=en(27206).implementation;const Tn=en(64473).implementation;const Un=new Set(["abort","autocomplete","autocompleteerror","blur","cancel","canplay","canplaythrough","change","click","close","contextmenu","cuechange","dblclick","drag","dragend","dragenter","dragleave","dragover","dragstart","drop","durationchange","emptied","ended","focus","input","invalid","keydown","keypress","keyup","load","loadeddata","loadedmetadata","loadstart","mousedown","mouseenter","mouseleave","mousemove","mouseout","mouseover","mouseup","wheel","pause","play","playing","progress","ratechange","reset","resize","scroll","securitypolicyviolation","seeked","seeking","select","sort","stalled","submit","suspend","timeupdate","toggle","volumechange","waiting","afterprint","beforeprint","hashchange","languagechange","message","messageerror","offline","online","pagehide","pageshow","popstate","rejectionhandled","storage","unhandledrejection","unload"]);Pt.createWindow=function(Wt){return new Window(Wt)};const Mn=Object.entries(xn).filter((([Wt])=>Wt in global));function setupWindow(Wt,{runScripts:Pt}){if(Pt==="outside-only"||Pt==="dangerously"){contextifyWindow(Wt);for(const[Pt,en]of Mn){const nn={...en,value:tn.runInContext(Pt,Wt)};Object.defineProperty(Wt,Pt,nn)}}else{for(const[Pt,en]of Mn){const tn={...en,value:global[Pt]};Object.defineProperty(Wt,Pt,tn)}}rn(Wt,["Window"]);const en=Wt.EventTarget;const nn=function Window(){throw new TypeError("Illegal constructor")};Object.setPrototypeOf(nn,en);Object.defineProperty(Wt,"Window",{configurable:true,writable:true,value:nn});const an=Object.create(en.prototype);Object.defineProperties(an,{constructor:{value:nn,writable:true,configurable:true},[Symbol.toStringTag]:{value:"Window",configurable:true}});nn.prototype=an;Object.setPrototypeOf(Wt,an);dn.setup(Wt,Wt);on(Wt,Tn.prototype);on(Wt,On.prototype);Wt._initGlobalEvents();Object.defineProperty(Wt,"onbeforeunload",{configurable:true,enumerable:true,get(){return Wn.tryWrapperForImpl(fn(this,"beforeunload"))},set(Pt){if(!Wn.isObject(Pt)){Pt=null}else{Pt=mn.convert(Wt,Pt,{context:"Failed to set the 'onbeforeunload' property on 'Window': The provided value"})}this._setEventHandlerFor("beforeunload",Pt)}});Object.defineProperty(Wt,"onerror",{configurable:true,enumerable:true,get(){return Wn.tryWrapperForImpl(fn(this,"error"))},set(Pt){if(!Wn.isObject(Pt)){Pt=null}else{Pt=bn.convert(Wt,Pt,{context:"Failed to set the 'onerror' property on 'Window': The provided value"})}this._setEventHandlerFor("error",Pt)}});for(const Pt of Un){Object.defineProperty(Wt,`on${Pt}`,{configurable:true,enumerable:true,get(){return Wn.tryWrapperForImpl(fn(this,Pt))},set(en){if(!Wn.isObject(en)){en=null}else{en=un.convert(Wt,en,{context:`Failed to set the 'on${Pt}' property on 'Window': The provided value`})}this._setEventHandlerFor(Pt,en)}})}Wt._globalObject=Wt}function makeReplaceablePropertyDescriptor(Wt,Pt){const en={set(en){Object.defineProperty(Pt,Wt,{configurable:true,enumerable:true,writable:true,value:en})}};Object.defineProperty(en.set,"name",{value:`set ${Wt}`});return en}function Window(Wt){setupWindow(this,{runScripts:Wt.runScripts});const Pt=performance.now();const en=this;this._resourceLoader=Wt.resourceLoader;this._globalProxy=this;Object.defineProperty(Wn.implForWrapper(this),Wn.wrapperSymbol,{get:()=>this._globalProxy});this._document=yn.createWrapper(en,{parsingMode:Wt.parsingMode,contentType:Wt.contentType,encoding:Wt.encoding,cookieJar:Wt.cookieJar,url:Wt.url,lastModified:Wt.lastModified,referrer:Wt.referrer,parseOptions:Wt.parseOptions,defaultView:this._globalProxy,global:this,parentOrigin:Wt.parentOrigin},{alwaysUseDocumentClass:true});if(tn.isContext(en)){const Pn=Wn.implForWrapper(en._document);Pn._defaultView=en._globalProxy=tn.runInContext("this",en)}const rn=Wn.implForWrapper(this._document)._origin;this._origin=rn;this._sessionHistory=new Cn({document:Wn.implForWrapper(this._document),url:Wn.implForWrapper(this._document)._URL,stateObject:null},this);this._virtualConsole=Wt.virtualConsole;this._runScripts=Wt.runScripts;this._parent=this._top=this._globalProxy;this._frameElement=null;this._length=0;this._currentEvent=undefined;this._pretendToBeVisual=Wt.pretendToBeVisual;this._storageQuota=Wt.storageQuota;if(Wt.commonForOrigin&&Wt.commonForOrigin[rn]){this._commonForOrigin=Wt.commonForOrigin}else{this._commonForOrigin={[rn]:{localStorageArea:new Map,sessionStorageArea:new Map,windowsInSameOrigin:[this]}}}this._currentOriginData=this._commonForOrigin[rn];this._localStorage=wn.create(en,[],{associatedWindow:this,storageArea:this._currentOriginData.localStorageArea,type:"localStorage",url:this._document.documentURI,storageQuota:this._storageQuota});this._sessionStorage=wn.create(en,[],{associatedWindow:this,storageArea:this._currentOriginData.sessionStorageArea,type:"sessionStorage",url:this._document.documentURI,storageQuota:this._storageQuota});this._selection=Fn.createImpl(en);this.getSelection=function(){return en._selection};const on=gn.create(en);const dn=gn.create(en);const un=gn.create(en);const mn=gn.create(en);const bn=gn.create(en);const fn=gn.create(en);const xn=vn.create(en);const On=Yn.create(en,[],{userAgent:this._resourceLoader._userAgent});const Tn=En.create(en,[],{timeOrigin:performance.timeOrigin+Pt,nowAtTimeOrigin:Pt});const Un=Vn.create(en);const Mn=Rn.create(en);this._customElementRegistry=Bn.create(en);sn(this,{get length(){return en._length},get window(){return en._globalProxy},get frameElement(){return Wn.wrapperForImpl(en._frameElement)},get frames(){return en._globalProxy},get self(){return en._globalProxy},get parent(){return en._parent},get top(){return en._top},get document(){return en._document},get external(){return xn},get location(){return Wn.wrapperForImpl(Wn.implForWrapper(en._document)._location)},set location(Wt){Reflect.set(en.location,"href",Wt)},get history(){return Wn.wrapperForImpl(Wn.implForWrapper(en._document)._history)},get navigator(){return On},get locationbar(){return on},get menubar(){return dn},get personalbar(){return un},get scrollbars(){return mn},get statusbar(){return bn},get toolbar(){return fn},get performance(){return Tn},get screen(){return Un},get crypto(){return Mn},get origin(){return en._origin},get localStorage(){if(Wn.implForWrapper(this._document)._origin==="null"){throw An.create(en,["localStorage is not available for opaque origins","SecurityError"])}return this._localStorage},get sessionStorage(){if(Wn.implForWrapper(this._document)._origin==="null"){throw An.create(en,["sessionStorage is not available for opaque origins","SecurityError"])}return this._sessionStorage},get customElements(){return this._customElementRegistry},get event(){return en._currentEvent?Wn.wrapperForImpl(en._currentEvent):undefined}});Object.defineProperties(this,{self:makeReplaceablePropertyDescriptor("self",en),locationbar:makeReplaceablePropertyDescriptor("locationbar",en),menubar:makeReplaceablePropertyDescriptor("menubar",en),personalbar:makeReplaceablePropertyDescriptor("personalbar",en),scrollbars:makeReplaceablePropertyDescriptor("scrollbars",en),statusbar:makeReplaceablePropertyDescriptor("statusbar",en),toolbar:makeReplaceablePropertyDescriptor("toolbar",en),frames:makeReplaceablePropertyDescriptor("frames",en),parent:makeReplaceablePropertyDescriptor("parent",en),external:makeReplaceablePropertyDescriptor("external",en),length:makeReplaceablePropertyDescriptor("length",en),screen:makeReplaceablePropertyDescriptor("screen",en),origin:makeReplaceablePropertyDescriptor("origin",en),event:makeReplaceablePropertyDescriptor("event",en),window:{configurable:false},document:{configurable:false},location:{configurable:false},top:{configurable:false}});hn.initializeWindow(this,this._globalProxy);const zn=new Map;let Sn=0;this.setTimeout=function(Wt,Pt=0,...tn){if(typeof Wt!=="function"){Wt=nn.DOMString(Wt)}Pt=nn.long(Pt);return timerInitializationSteps(Wt,Pt,tn,{methodContext:en,repeat:false})};this.setInterval=function(Wt,Pt=0,...tn){if(typeof Wt!=="function"){Wt=nn.DOMString(Wt)}Pt=nn.long(Pt);return timerInitializationSteps(Wt,Pt,tn,{methodContext:en,repeat:true})};this.clearTimeout=function(Wt=0){Wt=nn.long(Wt);const Pt=zn.get(Wt);if(Pt){clearTimeout(Pt);zn.delete(Wt)}};this.clearInterval=function(Wt=0){Wt=nn.long(Wt);const Pt=zn.get(Wt);if(Pt){clearTimeout(Pt);zn.delete(Wt)}};function timerInitializationSteps(Wt,Pt,nn,{methodContext:an,repeat:In,previousHandle:rn}){if(!an._document){return 0}const sn=an._globalProxy;const on=rn!==undefined?rn:++Sn;function task(){if(!zn.has(on)){return}try{if(typeof Wt==="function"){Wt.apply(sn,nn)}else if(en._runScripts==="dangerously"){tn.runInContext(Wt,en,{filename:en.location.href,displayErrors:false})}}catch(Wt){Qn(en,Wt,en.location.href)}if(zn.has(on)){if(In){timerInitializationSteps(Wt,Pt,nn,{methodContext:an,repeat:true,previousHandle:on})}else{zn.delete(on)}}}if(Pt<0){Pt=0}const cn=setTimeout(task,Pt);zn.set(on,cn);return on}this.queueMicrotask=function(Wt){Wt=pn.convert(this,Wt);queueMicrotask((()=>{try{Wt()}catch(Wt){Qn(en,Wt,en.location.href)}}))};let Dn=0;const jn=new Map;let _n=null;let Kn=0;if(this._pretendToBeVisual){this.requestAnimationFrame=function(Wt){Wt=pn.convert(this,Wt);const en=++Dn;jn.set(en,Wt);++Kn;if(Kn===1){_n=setInterval((()=>{runAnimationFrameCallbacks(performance.now()-Pt)}),1e3/60)}return en};this.cancelAnimationFrame=function(Wt){Wt=nn["unsigned long"](Wt);removeAnimationFrameCallback(Wt)};function runAnimationFrameCallbacks(Wt){const Pt=[...jn.keys()];for(const tn of Pt){if(jn.has(tn)){const Pt=jn.get(tn);removeAnimationFrameCallback(tn);try{Pt(Wt)}catch(Wt){Qn(en,Wt,en.location.href)}}}}function removeAnimationFrameCallback(Wt){if(jn.has(Wt)){--Kn;if(Kn===0){clearInterval(_n)}}jn.delete(Wt)}}function stopAllTimers(){for(const Wt of zn.values()){clearTimeout(Wt)}zn.clear();clearInterval(_n)}function Option(Wt,Pt,tn,an){if(Wt===undefined){Wt=""}Wt=nn.DOMString(Wt);if(Pt!==undefined){Pt=nn.DOMString(Pt)}tn=nn.boolean(tn);an=nn.boolean(an);const In=en._document.createElement("option");const rn=Wn.implForWrapper(In);if(Wt!==""){rn.text=Wt}if(Pt!==undefined){rn.setAttributeNS(null,"value",Pt)}if(tn){rn.setAttributeNS(null,"selected","")}rn._selectedness=an;return In}Object.defineProperty(Option,"prototype",{value:this.HTMLOptionElement.prototype,configurable:false,enumerable:false,writable:false});Object.defineProperty(en,"Option",{value:Option,configurable:true,enumerable:false,writable:true});function Image(...Wt){const Pt=en._document.createElement("img");const tn=Wn.implForWrapper(Pt);if(Wt.length>0){tn.setAttributeNS(null,"width",String(Wt[0]))}if(Wt.length>1){tn.setAttributeNS(null,"height",String(Wt[1]))}return Pt}Object.defineProperty(Image,"prototype",{value:this.HTMLImageElement.prototype,configurable:false,enumerable:false,writable:false});Object.defineProperty(en,"Image",{value:Image,configurable:true,enumerable:false,writable:true});function Audio(Wt){const Pt=en._document.createElement("audio");const tn=Wn.implForWrapper(Pt);tn.setAttributeNS(null,"preload","auto");if(Wt!==undefined){tn.setAttributeNS(null,"src",String(Wt))}return Pt}Object.defineProperty(Audio,"prototype",{value:this.HTMLAudioElement.prototype,configurable:false,enumerable:false,writable:false});Object.defineProperty(en,"Audio",{value:Audio,configurable:true,enumerable:false,writable:true});this.postMessage=Zn(en);this.atob=function(Wt){try{return atob(Wt)}catch(Wt){throw An.create(en,["The string to be decoded contains invalid characters.","InvalidCharacterError"])}};this.btoa=function(Wt){try{return btoa(Wt)}catch(Wt){throw An.create(en,["The string to be encoded contains invalid characters.","InvalidCharacterError"])}};this.stop=function(){const Wt=Wn.implForWrapper(this._document)._requestManager;if(Wt){Wt.close()}};this.close=function(){for(let Wt=0;Wt{en.setProperty(Wt,rn.getPropertyValue(Wt),rn.getPropertyPriority(Wt))}));const sn=Object.keys(Jn);tn.call(sn,(Pt=>{en.setProperty(Pt,kn(Wt,Pt))}));return en};this.getSelection=function(){return en._document.getSelection()};this.captureEvents=function(){};this.releaseEvents=function(){};function wrapConsoleMethod(Wt){return(...Pt)=>{en._virtualConsole.emit(Wt,...Pt)}}this.console={assert:wrapConsoleMethod("assert"),clear:wrapConsoleMethod("clear"),count:wrapConsoleMethod("count"),countReset:wrapConsoleMethod("countReset"),debug:wrapConsoleMethod("debug"),dir:wrapConsoleMethod("dir"),dirxml:wrapConsoleMethod("dirxml"),error:wrapConsoleMethod("error"),group:wrapConsoleMethod("group"),groupCollapsed:wrapConsoleMethod("groupCollapsed"),groupEnd:wrapConsoleMethod("groupEnd"),info:wrapConsoleMethod("info"),log:wrapConsoleMethod("log"),table:wrapConsoleMethod("table"),time:wrapConsoleMethod("time"),timeLog:wrapConsoleMethod("timeLog"),timeEnd:wrapConsoleMethod("timeEnd"),trace:wrapConsoleMethod("trace"),warn:wrapConsoleMethod("warn")};function notImplementedMethod(Wt){return function(){In(Wt,en)}}sn(this,{name:"",status:"",devicePixelRatio:1,innerWidth:1024,innerHeight:768,outerWidth:1024,outerHeight:768,pageXOffset:0,pageYOffset:0,screenX:0,screenLeft:0,screenY:0,screenTop:0,scrollX:0,scrollY:0,alert:notImplementedMethod("window.alert"),blur:notImplementedMethod("window.blur"),confirm:notImplementedMethod("window.confirm"),focus:notImplementedMethod("window.focus"),moveBy:notImplementedMethod("window.moveBy"),moveTo:notImplementedMethod("window.moveTo"),open:notImplementedMethod("window.open"),print:notImplementedMethod("window.print"),prompt:notImplementedMethod("window.prompt"),resizeBy:notImplementedMethod("window.resizeBy"),resizeTo:notImplementedMethod("window.resizeTo"),scroll:notImplementedMethod("window.scroll"),scrollBy:notImplementedMethod("window.scrollBy"),scrollTo:notImplementedMethod("window.scrollTo")});process.nextTick((()=>{if(!en.document){return}if(en.document.readyState==="complete"){Hn("load",en,undefined,{},true)}else{en.document.addEventListener("load",(()=>{Hn("load",en,undefined,{},true);if(!en._document){return}const Wt=Wn.implForWrapper(en._document);if(!Wt._pageShowingFlag){Wt._pageShowingFlag=true;Gn("pageshow",en,false)}}))}}))}function contextifyWindow(Wt){if(tn.isContext(Wt)){return}tn.createContext(Wt)}},77078:Wt=>{Wt.exports=`\n/*\n * The default style sheet used to render HTML.\n *\n * Copyright (C) 2000 Lars Knoll (knoll@kde.org)\n * Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Apple Inc. All rights reserved.\n *\n * This library is free software; you can redistribute it and/or\n * modify it under the terms of the GNU Library General Public\n * License as published by the Free Software Foundation; either\n * version 2 of the License, or (at your option) any later version.\n *\n * This library is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\n * Library General Public License for more details.\n *\n * You should have received a copy of the GNU Library General Public License\n * along with this library; see the file COPYING.LIB. If not, write to\n * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,\n * Boston, MA 02110-1301, USA.\n *\n */\n\n@namespace "http://www.w3.org/1999/xhtml";\n\nhtml {\n display: block\n}\n\n:root {\n scroll-blocks-on: start-touch wheel-event\n}\n\n/* children of the element all have display:none */\nhead {\n display: none\n}\n\nmeta {\n display: none\n}\n\ntitle {\n display: none\n}\n\nlink {\n display: none\n}\n\nstyle {\n display: none\n}\n\nscript {\n display: none\n}\n\n/* generic block-level elements */\n\nbody {\n display: block;\n margin: 8px\n}\n\np {\n display: block;\n -webkit-margin-before: 1__qem;\n -webkit-margin-after: 1__qem;\n -webkit-margin-start: 0;\n -webkit-margin-end: 0;\n}\n\ndiv {\n display: block\n}\n\nlayer {\n display: block\n}\n\narticle, aside, footer, header, hgroup, main, nav, section {\n display: block\n}\n\nmarquee {\n display: inline-block;\n}\n\naddress {\n display: block\n}\n\nblockquote {\n display: block;\n -webkit-margin-before: 1__qem;\n -webkit-margin-after: 1em;\n -webkit-margin-start: 40px;\n -webkit-margin-end: 40px;\n}\n\nfigcaption {\n display: block\n}\n\nfigure {\n display: block;\n -webkit-margin-before: 1em;\n -webkit-margin-after: 1em;\n -webkit-margin-start: 40px;\n -webkit-margin-end: 40px;\n}\n\nq {\n display: inline\n}\n\n/* nwmatcher does not support ::before and ::after, so we can't render q\ncorrectly: https://html.spec.whatwg.org/multipage/rendering.html#phrasing-content-3\nTODO: add q::before and q::after selectors\n*/\n\ncenter {\n display: block;\n /* special centering to be able to emulate the html4/netscape behaviour */\n text-align: -webkit-center\n}\n\nhr {\n display: block;\n -webkit-margin-before: 0.5em;\n -webkit-margin-after: 0.5em;\n -webkit-margin-start: auto;\n -webkit-margin-end: auto;\n border-style: inset;\n border-width: 1px;\n box-sizing: border-box\n}\n\nmap {\n display: inline\n}\n\nvideo {\n object-fit: contain;\n}\n\n/* heading elements */\n\nh1 {\n display: block;\n font-size: 2em;\n -webkit-margin-before: 0.67__qem;\n -webkit-margin-after: 0.67em;\n -webkit-margin-start: 0;\n -webkit-margin-end: 0;\n font-weight: bold\n}\n\narticle h1,\naside h1,\nnav h1,\nsection h1 {\n font-size: 1.5em;\n -webkit-margin-before: 0.83__qem;\n -webkit-margin-after: 0.83em;\n}\n\narticle article h1,\narticle aside h1,\narticle nav h1,\narticle section h1,\naside article h1,\naside aside h1,\naside nav h1,\naside section h1,\nnav article h1,\nnav aside h1,\nnav nav h1,\nnav section h1,\nsection article h1,\nsection aside h1,\nsection nav h1,\nsection section h1 {\n font-size: 1.17em;\n -webkit-margin-before: 1__qem;\n -webkit-margin-after: 1em;\n}\n\n/* Remaining selectors are deleted because nwmatcher does not support\n:matches() and expanding the selectors manually would be far too verbose.\nAlso see https://html.spec.whatwg.org/multipage/rendering.html#sections-and-headings\nTODO: rewrite to use :matches() when nwmatcher supports it.\n*/\n\nh2 {\n display: block;\n font-size: 1.5em;\n -webkit-margin-before: 0.83__qem;\n -webkit-margin-after: 0.83em;\n -webkit-margin-start: 0;\n -webkit-margin-end: 0;\n font-weight: bold\n}\n\nh3 {\n display: block;\n font-size: 1.17em;\n -webkit-margin-before: 1__qem;\n -webkit-margin-after: 1em;\n -webkit-margin-start: 0;\n -webkit-margin-end: 0;\n font-weight: bold\n}\n\nh4 {\n display: block;\n -webkit-margin-before: 1.33__qem;\n -webkit-margin-after: 1.33em;\n -webkit-margin-start: 0;\n -webkit-margin-end: 0;\n font-weight: bold\n}\n\nh5 {\n display: block;\n font-size: .83em;\n -webkit-margin-before: 1.67__qem;\n -webkit-margin-after: 1.67em;\n -webkit-margin-start: 0;\n -webkit-margin-end: 0;\n font-weight: bold\n}\n\nh6 {\n display: block;\n font-size: .67em;\n -webkit-margin-before: 2.33__qem;\n -webkit-margin-after: 2.33em;\n -webkit-margin-start: 0;\n -webkit-margin-end: 0;\n font-weight: bold\n}\n\n/* tables */\n\ntable {\n display: table;\n border-collapse: separate;\n border-spacing: 2px;\n border-color: gray\n}\n\nthead {\n display: table-header-group;\n vertical-align: middle;\n border-color: inherit\n}\n\ntbody {\n display: table-row-group;\n vertical-align: middle;\n border-color: inherit\n}\n\ntfoot {\n display: table-footer-group;\n vertical-align: middle;\n border-color: inherit\n}\n\n/* for tables without table section elements (can happen with XHTML or dynamically created tables) */\ntable > tr {\n vertical-align: middle;\n}\n\ncol {\n display: table-column\n}\n\ncolgroup {\n display: table-column-group\n}\n\ntr {\n display: table-row;\n vertical-align: inherit;\n border-color: inherit\n}\n\ntd, th {\n display: table-cell;\n vertical-align: inherit\n}\n\nth {\n font-weight: bold\n}\n\ncaption {\n display: table-caption;\n text-align: -webkit-center\n}\n\n/* lists */\n\nul, menu, dir {\n display: block;\n list-style-type: disc;\n -webkit-margin-before: 1__qem;\n -webkit-margin-after: 1em;\n -webkit-margin-start: 0;\n -webkit-margin-end: 0;\n -webkit-padding-start: 40px\n}\n\nol {\n display: block;\n list-style-type: decimal;\n -webkit-margin-before: 1__qem;\n -webkit-margin-after: 1em;\n -webkit-margin-start: 0;\n -webkit-margin-end: 0;\n -webkit-padding-start: 40px\n}\n\nli {\n display: list-item;\n text-align: -webkit-match-parent;\n}\n\nul ul, ol ul {\n list-style-type: circle\n}\n\nol ol ul, ol ul ul, ul ol ul, ul ul ul {\n list-style-type: square\n}\n\ndd {\n display: block;\n -webkit-margin-start: 40px\n}\n\ndl {\n display: block;\n -webkit-margin-before: 1__qem;\n -webkit-margin-after: 1em;\n -webkit-margin-start: 0;\n -webkit-margin-end: 0;\n}\n\ndt {\n display: block\n}\n\nol ul, ul ol, ul ul, ol ol {\n -webkit-margin-before: 0;\n -webkit-margin-after: 0\n}\n\n/* form elements */\n\nform {\n display: block;\n margin-top: 0__qem;\n}\n\nlabel {\n cursor: default;\n}\n\nlegend {\n display: block;\n -webkit-padding-start: 2px;\n -webkit-padding-end: 2px;\n border: none\n}\n\nfieldset {\n display: block;\n -webkit-margin-start: 2px;\n -webkit-margin-end: 2px;\n -webkit-padding-before: 0.35em;\n -webkit-padding-start: 0.75em;\n -webkit-padding-end: 0.75em;\n -webkit-padding-after: 0.625em;\n border: 2px groove ThreeDFace;\n min-width: -webkit-min-content;\n}\n\nbutton {\n -webkit-appearance: button;\n}\n\n/* Form controls don't go vertical. */\ninput, textarea, select, button, meter, progress {\n -webkit-writing-mode: horizontal-tb !important;\n}\n\ninput, textarea, select, button {\n margin: 0__qem;\n font: -webkit-small-control;\n text-rendering: auto; /* FIXME: Remove when tabs work with optimizeLegibility. */\n color: initial;\n letter-spacing: normal;\n word-spacing: normal;\n line-height: normal;\n text-transform: none;\n text-indent: 0;\n text-shadow: none;\n display: inline-block;\n text-align: start;\n}\n\n/* TODO: Add " i" to attribute matchers to support case-insensitive matching */\ninput[type="hidden"] {\n display: none\n}\n\ninput {\n -webkit-appearance: textfield;\n padding: 1px;\n background-color: white;\n border: 2px inset;\n -webkit-rtl-ordering: logical;\n -webkit-user-select: text;\n cursor: auto;\n}\n\ninput[type="search"] {\n -webkit-appearance: searchfield;\n box-sizing: border-box;\n}\n\nselect {\n border-radius: 5px;\n}\n\ntextarea {\n -webkit-appearance: textarea;\n background-color: white;\n border: 1px solid;\n -webkit-rtl-ordering: logical;\n -webkit-user-select: text;\n flex-direction: column;\n resize: auto;\n cursor: auto;\n padding: 2px;\n white-space: pre-wrap;\n word-wrap: break-word;\n}\n\ninput[type="password"] {\n -webkit-text-security: disc !important;\n}\n\ninput[type="hidden"], input[type="image"], input[type="file"] {\n -webkit-appearance: initial;\n padding: initial;\n background-color: initial;\n border: initial;\n}\n\ninput[type="file"] {\n align-items: baseline;\n color: inherit;\n text-align: start !important;\n}\n\ninput[type="radio"], input[type="checkbox"] {\n margin: 3px 0.5ex;\n padding: initial;\n background-color: initial;\n border: initial;\n}\n\ninput[type="button"], input[type="submit"], input[type="reset"] {\n -webkit-appearance: push-button;\n -webkit-user-select: none;\n white-space: pre\n}\n\ninput[type="button"], input[type="submit"], input[type="reset"], button {\n align-items: flex-start;\n text-align: center;\n cursor: default;\n color: ButtonText;\n padding: 2px 6px 3px 6px;\n border: 2px outset ButtonFace;\n background-color: ButtonFace;\n box-sizing: border-box\n}\n\ninput[type="range"] {\n -webkit-appearance: slider-horizontal;\n padding: initial;\n border: initial;\n margin: 2px;\n color: #909090;\n}\n\ninput[type="button"]:disabled, input[type="submit"]:disabled, input[type="reset"]:disabled,\nbutton:disabled, select:disabled, optgroup:disabled, option:disabled,\nselect[disabled]>option {\n color: GrayText\n}\n\ninput[type="button"]:active, input[type="submit"]:active, input[type="reset"]:active, button:active {\n border-style: inset\n}\n\ninput[type="button"]:active:disabled, input[type="submit"]:active:disabled, input[type="reset"]:active:disabled, button:active:disabled {\n border-style: outset\n}\n\ndatalist {\n display: none\n}\n\narea {\n display: inline;\n cursor: pointer;\n}\n\nparam {\n display: none\n}\n\ninput[type="checkbox"] {\n -webkit-appearance: checkbox;\n box-sizing: border-box;\n}\n\ninput[type="radio"] {\n -webkit-appearance: radio;\n box-sizing: border-box;\n}\n\ninput[type="color"] {\n -webkit-appearance: square-button;\n width: 44px;\n height: 23px;\n background-color: ButtonFace;\n /* Same as native_theme_base. */\n border: 1px #a9a9a9 solid;\n padding: 1px 2px;\n}\n\ninput[type="color"][list] {\n -webkit-appearance: menulist;\n width: 88px;\n height: 23px\n}\n\nselect {\n -webkit-appearance: menulist;\n box-sizing: border-box;\n align-items: center;\n border: 1px solid;\n white-space: pre;\n -webkit-rtl-ordering: logical;\n color: black;\n background-color: white;\n cursor: default;\n}\n\noptgroup {\n font-weight: bolder;\n display: block;\n}\n\noption {\n font-weight: normal;\n display: block;\n padding: 0 2px 1px 2px;\n white-space: pre;\n min-height: 1.2em;\n}\n\noutput {\n display: inline;\n}\n\n/* meter */\n\nmeter {\n -webkit-appearance: meter;\n box-sizing: border-box;\n display: inline-block;\n height: 1em;\n width: 5em;\n vertical-align: -0.2em;\n}\n\n/* progress */\n\nprogress {\n -webkit-appearance: progress-bar;\n box-sizing: border-box;\n display: inline-block;\n height: 1em;\n width: 10em;\n vertical-align: -0.2em;\n}\n\n/* inline elements */\n\nu, ins {\n text-decoration: underline\n}\n\nstrong, b {\n font-weight: bold\n}\n\ni, cite, em, var, address, dfn {\n font-style: italic\n}\n\ntt, code, kbd, samp {\n font-family: monospace\n}\n\npre, xmp, plaintext, listing {\n display: block;\n font-family: monospace;\n white-space: pre;\n margin: 1__qem 0\n}\n\nmark {\n background-color: yellow;\n color: black\n}\n\nbig {\n font-size: larger\n}\n\nsmall {\n font-size: smaller\n}\n\ns, strike, del {\n text-decoration: line-through\n}\n\nsub {\n vertical-align: sub;\n font-size: smaller\n}\n\nsup {\n vertical-align: super;\n font-size: smaller\n}\n\nnobr {\n white-space: nowrap\n}\n\n/* states */\n\n:focus {\n outline: auto 5px -webkit-focus-ring-color\n}\n\n/* Read-only text fields do not show a focus ring but do still receive focus */\nhtml:focus, body:focus, input[readonly]:focus {\n outline: none\n}\n\nembed:focus, iframe:focus, object:focus {\n outline: none\n}\n\ninput:focus, textarea:focus, select:focus {\n outline-offset: -2px\n}\n\ninput[type="button"]:focus,\ninput[type="checkbox"]:focus,\ninput[type="file"]:focus,\ninput[type="hidden"]:focus,\ninput[type="image"]:focus,\ninput[type="radio"]:focus,\ninput[type="reset"]:focus,\ninput[type="search"]:focus,\ninput[type="submit"]:focus {\n outline-offset: 0\n}\n\n/* HTML5 ruby elements */\n\nruby, rt {\n text-indent: 0; /* blocks used for ruby rendering should not trigger this */\n}\n\nrt {\n line-height: normal;\n -webkit-text-emphasis: none;\n}\n\nruby > rt {\n display: block;\n font-size: 50%;\n text-align: start;\n}\n\nruby > rp {\n display: none;\n}\n\n/* other elements */\n\nnoframes {\n display: none\n}\n\nframeset, frame {\n display: block\n}\n\nframeset {\n border-color: inherit\n}\n\niframe {\n border: 2px inset\n}\n\ndetails {\n display: block\n}\n\nsummary {\n display: block\n}\n\ntemplate {\n display: none\n}\n\nbdi, output {\n unicode-bidi: -webkit-isolate;\n}\n\nbdo {\n unicode-bidi: bidi-override;\n}\n\ntextarea[dir=auto] {\n unicode-bidi: -webkit-plaintext;\n}\n\ndialog:not([open]) {\n display: none\n}\n\ndialog {\n position: absolute;\n left: 0;\n right: 0;\n width: -webkit-fit-content;\n height: -webkit-fit-content;\n margin: auto;\n border: solid;\n padding: 1em;\n background: white;\n color: black\n}\n\n[hidden] {\n display: none\n}\n\n/* noscript is handled internally, as it depends on settings. */\n\n`},8172:Wt=>{Wt.exports=function(Wt,Pt){if(!Pt){return}const en=new Error(`Not implemented: ${Wt}`);en.type="not implemented";Pt._virtualConsole.emit("jsdomError",en)}},78221:(Wt,Pt,en)=>{const tn=en(50069);const{createElement:nn}=en(94202);const{HTML_NS:an}=en(98071);const In=en(80842);const rn=en(98938);const sn=en(40196);const on=en(22918);const cn=en(69936);const dn=en(7206);const un=en(70329);const{customElementReactionsStack:pn,invokeCEReactions:mn,lookupCEDefinition:bn}=en(8348);class JSDOMParse5Adapter{constructor(Wt,Pt={}){this._documentImpl=Wt;this._globalObject=Wt._globalObject;this._fragment=Pt.fragment||false;this._currentElement=undefined}_ownerDocument(){const{_currentElement:Wt}=this;if(Wt){return Wt.localName==="template"&&Wt.namespaceURI===an?Wt.content._ownerDocument:Wt._ownerDocument}return this._documentImpl}createDocument(){return this._documentImpl}createDocumentFragment(){const Wt=this._ownerDocument();return rn.createImpl(this._globalObject,[],{ownerDocument:Wt})}createElement(Wt,Pt,en){const tn=this._ownerDocument();const an=en.find((Wt=>Wt.name==="is"));const In=an?an.value:null;const rn=bn(tn,Pt,Wt);let sn=false;if(rn!==null&&!this._fragment){sn=true}if(sn){tn._throwOnDynamicMarkupInsertionCounter++;pn.push([])}const on=nn(tn,Wt,Pt,null,In,sn);this.adoptAttributes(on,en);if(sn){const Wt=pn.pop();mn(Wt);tn._throwOnDynamicMarkupInsertionCounter--}if("_parserInserted"in on){on._parserInserted=true}return on}createCommentNode(Wt){const Pt=this._ownerDocument();return on.createImpl(this._globalObject,[],{data:Wt,ownerDocument:Pt})}appendChild(Wt,Pt){Wt._append(Pt)}insertBefore(Wt,Pt,en){Wt._insert(Pt,en)}setTemplateContent(Wt,Pt){const{_ownerDocument:en,_host:tn}=Wt._templateContents;Pt._ownerDocument=en;Pt._host=tn;Wt._templateContents=Pt}setDocumentType(Wt,Pt,en,tn){const nn=this._ownerDocument();const an=In.createImpl(this._globalObject,[],{name:Pt,publicId:en,systemId:tn,ownerDocument:nn});Wt._append(an)}setDocumentMode(Wt,Pt){Wt._mode=Pt}detachNode(Wt){Wt.remove()}insertText(Wt,Pt){const{lastChild:en}=Wt;if(en&&en.nodeType===dn.TEXT_NODE){en.data+=Pt}else{const en=this._ownerDocument();const tn=sn.createImpl(this._globalObject,[],{data:Pt,ownerDocument:en});Wt._append(tn)}}insertTextBefore(Wt,Pt,en){const{previousSibling:tn}=en;if(tn&&tn.nodeType===dn.TEXT_NODE){tn.data+=Pt}else{const tn=this._ownerDocument();const nn=sn.createImpl(this._globalObject,[],{data:Pt,ownerDocument:tn});Wt._append(nn,en)}}adoptAttributes(Wt,Pt){for(const en of Pt){const Pt=en.prefix===""?null:en.prefix;cn.setAttributeValue(Wt,en.name,en.value,Pt,en.namespace)}}onItemPush(Wt){this._currentElement=Wt;Wt._pushedOnStackOfOpenElements?.()}onItemPop(Wt,Pt){this._currentElement=Pt;Wt._poppedOffStackOfOpenElements?.()}}Object.assign(JSDOMParse5Adapter.prototype,un);function parseFragment(Wt,Pt){const en=Pt.localName==="template"&&Pt.namespaceURI===an?Pt.content._ownerDocument:Pt._ownerDocument;const nn={...en._parseOptions,sourceCodeLocationInfo:false,treeAdapter:new JSDOMParse5Adapter(en,{fragment:true})};return tn.parseFragment(Pt,Wt,nn)}function parseIntoDocument(Wt,Pt){const en={...Pt._parseOptions,treeAdapter:new JSDOMParse5Adapter(Pt)};return tn.parse(Wt,en)}Wt.exports={parseFragment:parseFragment,parseIntoDocument:parseIntoDocument}},13430:(Wt,Pt,en)=>{const tn=en(12779);const nn=en(78221);function parseFragment(Wt,Pt){const{_parsingMode:en}=Pt._ownerDocument;let an;if(en==="html"){an=nn.parseFragment}else if(en==="xml"){an=tn.parseFragment}return an(Wt,Pt)}function parseIntoDocument(Wt,Pt){const{_parsingMode:en}=Pt;let an;if(en==="html"){an=nn.parseIntoDocument}else if(en==="xml"){an=tn.parseIntoDocument}return an(Wt,Pt)}Wt.exports={parseFragment:parseFragment,parseIntoDocument:parseIntoDocument}},12779:(Wt,Pt,en)=>{const{SaxesParser:tn}=en(59800);const nn=en(16694);const{createElement:an}=en(94202);const In=en(98938);const rn=en(80842);const sn=en(37711);const on=en(22918);const cn=en(34786);const dn=en(40196);const un=en(69936);const{HTML_NS:pn}=en(98071);const mn=//i;const bn=/]+)/i;function parseDocType(Wt,Pt,en){if(mn.test(en)){return createDocumentType(Wt,Pt,"html","","")}const tn=bn.exec(en);if(tn){return createDocumentType(Wt,Pt,tn[1],tn[2],tn[3])}const nn=Gn.exec(en);if(nn){return createDocumentType(Wt,Pt,nn[1],"",nn[2])}const an=hn.exec(en)[1]||"html";return createDocumentType(Wt,Pt,an,"","")}function createDocumentType(Wt,Pt,en,tn,nn){return rn.createImpl(Wt,[],{ownerDocument:Pt,name:en,publicId:tn,systemId:nn})}function isHTMLTemplateElement(Wt){return Wt.tagName==="template"&&Wt.namespaceURI===pn}function createParser(Wt,Pt,en){const In=new tn({...en,xmlns:true,defaultXMLVersion:"1.0",forceXMLVersion:true});const rn=[Wt];function getOwnerDocument(){const Wt=rn[rn.length-1];return isHTMLTemplateElement(Wt)?Wt._templateContents._ownerDocument:Wt._ownerDocument}function appendChild(Wt){const Pt=rn[rn.length-1];if(isHTMLTemplateElement(Pt)){Pt._templateContents._insert(Wt,null)}else{Pt._insert(Wt,null)}}In.on("text",en.fragment?Wt=>{const en=getOwnerDocument();appendChild(dn.createImpl(Pt,[],{data:Wt,ownerDocument:en}))}:Wt=>{if(rn.length>1){const en=getOwnerDocument();appendChild(dn.createImpl(Pt,[],{data:Wt,ownerDocument:en}))}});In.on("cdata",(Wt=>{const en=getOwnerDocument();appendChild(sn.createImpl(Pt,[],{data:Wt,ownerDocument:en}))}));In.on("opentag",(Wt=>{const{local:Pt,attributes:en}=Wt;const tn=getOwnerDocument();const nn=Wt.uri===""?null:Wt.uri;const In=Wt.prefix===""?null:Wt.prefix;const sn=en.is===undefined?null:en.is.value;const on=an(tn,Pt,nn,In,sn,true);if(Pt==="script"&&nn===pn){on._parserInserted=true}for(const Wt of Object.keys(en)){const{prefix:Pt,local:tn,uri:nn,value:an}=en[Wt];un.setAttributeValue(on,tn,an,Pt===""?null:Pt,nn===""?null:nn)}appendChild(on);rn.push(on)}));In.on("closetag",(()=>{const Wt=rn.pop();if(Wt.localName==="script"&&Wt.namespaceURI===pn){Wt._eval()}}));In.on("comment",(Wt=>{const en=getOwnerDocument();appendChild(on.createImpl(Pt,[],{data:Wt,ownerDocument:en}))}));In.on("processinginstruction",(({target:Wt,body:en})=>{const tn=getOwnerDocument();appendChild(cn.createImpl(Pt,[],{target:Wt,data:en,ownerDocument:tn}))}));In.on("doctype",(Wt=>{const en=getOwnerDocument();appendChild(parseDocType(Pt,en,``));const tn=//g;let nn;while(nn=tn.exec(Wt)){const[,Wt,Pt]=nn;if(!(Wt in In.ENTITIES)){In.ENTITIES[Wt]=Pt}}}));In.on("error",(Wt=>{throw nn.create(Pt,[Wt.message,"SyntaxError"])}));return In}function parseFragment(Wt,Pt){const{_globalObject:en,_ownerDocument:tn}=Pt;const nn=In.createImpl(en,[],{ownerDocument:tn});const an=createParser(nn,en,{fragment:true,resolvePrefix(Wt){return Pt.lookupNamespaceURI(Wt)||undefined}});an.write(Wt).close();return nn}function parseIntoDocument(Wt,Pt){const{_globalObject:en}=Pt;const tn=createParser(Pt,en,{fileName:Pt.location&&Pt.location.href});tn.write(Wt).close();return Pt}Wt.exports={parseFragment:parseFragment,parseIntoDocument:parseIntoDocument}},76177:Wt=>{class QueueItem{constructor(Wt,Pt,en){this.onLoad=Wt;this.onError=Pt;this.data=null;this.error=null;this.dependentItem=en}}Wt.exports=class AsyncResourceQueue{constructor(){this.items=new Set;this.dependentItems=new Set}count(){return this.items.size+this.dependentItems.size}_notify(){if(this._listener){this._listener()}}_check(Wt){let Pt;if(Wt.onError&&Wt.error){Pt=Wt.onError(Wt.error)}else if(Wt.onLoad&&Wt.data){Pt=Wt.onLoad(Wt.data)}Pt.then((()=>{this.items.delete(Wt);this.dependentItems.delete(Wt);if(this.count()===0){this._notify()}}))}setListener(Wt){this._listener=Wt}push(Wt,Pt,en,tn){const nn=this;const an=new QueueItem(Pt,en,tn);nn.items.add(an);return Wt.then((Wt=>{an.data=Wt;if(tn&&!tn.finished){nn.dependentItems.add(an);return nn.items.delete(an)}if(Pt){return nn._check(an)}nn.items.delete(an);if(nn.count()===0){nn._notify()}return null})).catch((Wt=>{an.error=Wt;if(tn&&!tn.finished){nn.dependentItems.add(an);return nn.items.delete(an)}if(en){return nn._check(an)}nn.items.delete(an);if(nn.count()===0){nn._notify()}return null}))}notifyItem(Wt){for(const Pt of this.dependentItems){if(Pt.dependentItem===Wt){this._check(Pt)}}}}},13858:(Wt,Pt,en)=>{const tn=en(79414);Wt.exports=class NoOpResourceLoader extends tn{fetch(){return null}}},1846:(Wt,Pt,en)=>{const tn=en(87094);const{fireAnEvent:nn}=en(83350);Wt.exports=class PerDocumentResourceLoader{constructor(Wt){this._document=Wt;this._defaultEncoding=Wt._encoding;this._resourceLoader=Wt._defaultView?Wt._defaultView._resourceLoader:null;this._requestManager=Wt._requestManager;this._queue=Wt._queue;this._deferQueue=Wt._deferQueue;this._asyncQueue=Wt._asyncQueue}fetch(Wt,{element:Pt,onLoad:en,onError:an}){const In=this._resourceLoader.fetch(Wt,{cookieJar:this._document._cookieJar,element:tn.wrapperForImpl(Pt),referrer:this._document.URL});if(In===null){return null}this._requestManager.add(In);const onErrorWrapped=en=>{this._requestManager.remove(In);if(an){an(en)}nn("error",Pt);const tn=new Error(`Could not load ${Pt.localName}: "${Wt}"`);tn.type="resource loading";tn.detail=en;this._document._defaultView._virtualConsole.emit("jsdomError",tn);return Promise.resolve()};const onLoadWrapped=tn=>{this._requestManager.remove(In);this._addCookies(Wt,In.response?In.response.headers:{});try{const Wt=en?en(tn):undefined;return Promise.resolve(Wt).then((()=>{nn("load",Pt);return Promise.resolve()})).catch((Wt=>onErrorWrapped(Wt)))}catch(Wt){return onErrorWrapped(Wt)}};if(Pt.localName==="script"&&Pt.hasAttributeNS(null,"async")){this._asyncQueue.push(In,onLoadWrapped,onErrorWrapped,this._queue.getLastScript())}else if(Pt.localName==="script"&&Pt.hasAttributeNS(null,"defer")&&this._document.readyState!=="interactive"){this._deferQueue.push(In,onLoadWrapped,onErrorWrapped,false,Pt)}else{this._queue.push(In,onLoadWrapped,onErrorWrapped,false,Pt)}return In}_addCookies(Wt,Pt){let en=Pt["set-cookie"];if(!en){return}if(!Array.isArray(en)){en=[en]}en.forEach((Pt=>{this._document._cookieJar.setCookieSync(Pt,Wt,{http:true,ignoreError:true})}))}}},36577:Wt=>{Wt.exports=class RequestManager{constructor(){this.openedRequests=[]}add(Wt){this.openedRequests.push(Wt)}remove(Wt){const Pt=this.openedRequests.indexOf(Wt);if(Pt!==-1){this.openedRequests.splice(Pt,1)}}close(){for(const Wt of this.openedRequests){Wt.abort()}this.openedRequests=[]}size(){return this.openedRequests.length}}},79414:(Wt,Pt,en)=>{const tn=en(79896);const{fileURLToPath:nn}=en(87016);const{parseURL:an}=en(78012);const In=en(32946).fromURLRecord;const rn=en(92949).rE;const sn=en(96577);const on=en(13907);const cn=Object.prototype.toString.call(process)!=="[object process]";Wt.exports=class ResourceLoader{constructor({strictSSL:Wt=true,proxy:Pt=undefined,userAgent:en=`Mozilla/5.0 (${process.platform||"unknown OS"}) AppleWebKit/537.36 `+`(KHTML, like Gecko) jsdom/${rn}`}={}){this._strictSSL=Wt;this._proxy=Pt;this._userAgent=en}_readDataURL(Wt){const Pt=In(Wt);let en;const tn=new Promise((Wt=>{en=setTimeout(Wt,0,Buffer.from(Pt.body))}));tn.abort=()=>{if(en!==undefined){clearTimeout(en)}};return tn}_readFile(Wt){let Pt,en;const nn=new Promise(((nn,an)=>{Pt=tn.createReadStream(Wt);let In=Buffer.alloc(0);en=an;Pt.on("error",an);Pt.on("data",(Wt=>{In=Buffer.concat([In,Wt])}));Pt.on("end",(()=>{nn(In)}))}));nn.abort=()=>{Pt.destroy();const Wt=new Error("request canceled by user");Wt.isAbortError=true;en(Wt)};return nn}fetch(Wt,{accept:Pt,cookieJar:en,referrer:tn}={}){const In=an(Wt);if(!In){return Promise.reject(new Error(`Tried to fetch invalid URL ${Wt}`))}switch(In.scheme){case"data":{return this._readDataURL(In)}case"http":case"https":{const nn=sn(this._proxy,this._strictSSL);const an={"User-Agent":this._userAgent,"Accept-Language":"en","Accept-Encoding":"gzip",Accept:Pt||"*/*"};if(tn&&!cn){an.Referer=tn}const In=new on(Wt,{followRedirects:true,cookieJar:en,agents:nn},{headers:an});const rn=new Promise(((Wt,Pt)=>{const en=[];In.once("response",(Wt=>{rn.response=Wt;const{statusCode:en}=Wt;if(en<200||en>299){In.abort();Pt(new Error(`Resource was not loaded. Status: ${en}`))}}));In.on("data",(Wt=>{en.push(Wt)}));In.on("end",(()=>Wt(Buffer.concat(en))));In.on("error",Pt)}));In.on("end",(()=>{rn.href=In.currentURL}));rn.abort=In.abort.bind(In);rn.getHeader=Wt=>an[Wt]||In.getHeader(Wt);In.end();return rn}case"file":{try{return this._readFile(nn(Wt))}catch(Wt){return Promise.reject(Wt)}}default:{return Promise.reject(new Error(`Tried to fetch URL ${Wt} with invalid scheme ${In.scheme}`))}}}}},10406:Wt=>{Wt.exports=class ResourceQueue{constructor({paused:Wt,asyncQueue:Pt}={}){this.paused=Boolean(Wt);this._asyncQueue=Pt}getLastScript(){let Wt=this.tail;while(Wt){if(Wt.isScript){return Wt}Wt=Wt.prev}return null}_moreScripts(){let Wt=false;let Pt=this.tail;while(Pt&&!Wt){Wt=Pt.isScript;Pt=Pt.prev}return Wt}_notify(){if(this._listener){this._listener()}}setListener(Wt){this._listener=Wt}push(Wt,Pt,en,tn,nn){const an=nn?nn.localName==="script":false;if(!Wt){if(an&&!this._moreScripts()){return Pt()}Wt=Promise.resolve()}const In=this;const rn={isScript:an,err:null,element:nn,fired:false,data:null,keepLast:tn,prev:In.tail,check(){if(!In.paused&&!this.prev&&this.fired){let Wt;if(this.err&&en){Wt=en(this.err)}if(!this.err&&Pt){Wt=Pt(this.data)}Promise.resolve(Wt).then((()=>{if(this.next){this.next.prev=null;this.next.check()}else{In.tail=null;In._notify()}this.finished=true;if(In._asyncQueue){In._asyncQueue.notifyItem(this)}}))}}};if(In.tail){if(In.tail.keepLast){if(In.tail.prev){In.tail.prev.next=rn}rn.prev=In.tail.prev;In.tail.prev=rn;rn.next=In.tail}else{In.tail.next=rn;In.tail=rn}}else{In.tail=rn}return Wt.then((Wt=>{rn.fired=1;rn.data=Wt;rn.check()})).catch((Wt=>{rn.fired=true;rn.err=Wt;rn.check()}))}resume(){if(!this.paused){return}this.paused=false;let Wt=this.tail;while(Wt&&Wt.prev){Wt=Wt.prev}if(Wt){Wt.check()}}}},56973:(Wt,Pt,en)=>{const tn=en(28144);const nn=en(99712);Pt.addToCore=Wt=>{Wt.StyleSheet=tn.StyleSheet;Wt.MediaList=tn.MediaList;Wt.CSSStyleSheet=tn.CSSStyleSheet;Wt.CSSRule=tn.CSSRule;Wt.CSSStyleRule=tn.CSSStyleRule;Wt.CSSMediaRule=tn.CSSMediaRule;Wt.CSSImportRule=tn.CSSImportRule;Wt.CSSStyleDeclaration=nn.CSSStyleDeclaration}},30060:Wt=>{Wt.exports=Wt=>{var Pt={};function getNodeName(Wt){return Wt.constructor.name==="Attr"?Wt.name:Wt.nodeName}var en=Pt.Stream=function Stream(Wt){this.original=this.str=Wt;this.peeked=null;this.prev=null;this.prevprev=null};en.prototype={peek:function(){if(this.peeked)return this.peeked;var Wt=this.re.exec(this.str);if(!Wt)return null;this.str=this.str.substr(Wt[0].length);return this.peeked=Wt[1]},peek2:function(){this.peek();var Wt=this.re.exec(this.str);if(!Wt)return null;return Wt[1]},pop:function(){var Wt=this.peek();this.peeked=null;this.prevprev=this.prev;this.prev=Wt;return Wt},trypop:function(Wt){var Pt=this.peek();if(Pt===Wt)return this.pop();if(Array.isArray(Wt)){for(var en=0;en=|[*/|+\\-=<>]";var rn='"[^"]*"|'+"'[^']*'";var sn="[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+";var on="\\$"+nn;var cn="\\*|"+tn+":\\*|"+nn;var dn="[ \t\r\n]*";var un="comment|text|processing-instruction|node";var pn=new RegExp("^"+dn+"("+sn+"|"+an+"|"+cn+"|"+In+"|"+rn+"|"+on+")");en.prototype.re=pn;en.prototype.startsWithNcNameRe=new RegExp("^"+tn);en.prototype.isQnameRe=new RegExp("^"+nn+"$");en.prototype.isNumberRe=new RegExp("^"+sn+"$")})();var tn=Pt.parse=function parse(Wt,Pt){var en=orExpr(Wt,Pt);var tn,nn=[];while(tn=Wt.pop()){nn.push(tn)}if(nn.length)throw new pn(pn.INVALID_EXPRESSION_ERR,"Position "+Wt.position()+": Unparsed tokens: "+nn.join(" "));return en};function binaryL(Wt,Pt,en,tn){var nn=Wt(Pt,en);if(nn==null)return null;var an;while(an=Pt.trypop(tn)){var In=Wt(Pt,en);if(In==null)throw new pn(pn.INVALID_EXPRESSION_ERR,"Position "+Pt.position()+": Expected something after "+an);nn=en.node(an,nn,In)}return nn}function binaryR(Wt,Pt,en,tn){var nn=Wt(Pt,en);if(nn==null)return null;var an=Pt.trypop(tn);if(an){var In=binaryR(Pt,en);if(In==null)throw new pn(pn.INVALID_EXPRESSION_ERR,"Position "+Pt.position()+": Expected something after "+an);return en.node(an,nn,In)}else{return nn}}function locationPath(Wt,Pt){return absoluteLocationPath(Wt,Pt)||relativeLocationPath(null,Wt,Pt)}function absoluteLocationPath(Wt,Pt){var en=Wt.peek();if("/"===en||"//"===en){var tn=Pt.node("Root");return relativeLocationPath(tn,Wt,Pt,true)}else{return null}}function relativeLocationPath(Wt,Pt,en,tn){if(null==Wt){Wt=step(Pt,en);if(null==Wt)return Wt}var nn;while(nn=Pt.trypop(["/","//"])){if("//"===nn){Wt=en.node("/",Wt,en.node("Axis","descendant-or-self","node",undefined))}var an=step(Pt,en);if(null==an&&"/"===nn&&tn)return Wt;else tn=false;if(null==an)throw new pn(pn.INVALID_EXPRESSION_ERR,"Position "+Pt.position()+": Expected step after "+nn);Wt=en.node("/",Wt,an)}return Wt}function step(Wt,Pt){var en=Wt.trypop([".",".."]);if("."===en)return Pt.node("Axis","self","node");if(".."===en)return Pt.node("Axis","parent","node");var tn=axisSpecifier(Wt,Pt);var nn=nodeTypeTest(Wt,Pt);var an;if(null==nn)an=nodeNameTest(Wt,Pt);if(null==tn&&null==nn&&null==an)return null;if(null==nn&&null==an)throw new pn(pn.INVALID_EXPRESSION_ERR,"Position "+Wt.position()+": Expected nodeTest after axisSpecifier "+tn);if(null==tn)tn="child";if(null==nn){if("attribute"===tn)nn="attribute";else if("namespace"===tn)nn="namespace";else nn="element"}var In=Pt.node("Axis",tn,nn,an);var rn;while(null!=(rn=predicate(In,Wt,Pt))){In=rn}return In}function axisSpecifier(Wt,Pt){var en=Wt.trypop("@");if(null!=en)return"attribute";var tn=Wt.trypopaxisname();if(null!=tn){var nn=Wt.trypop("::");if(null==nn)throw new pn(pn.INVALID_EXPRESSION_ERR,"Position "+Wt.position()+": Should not happen. Should be ::.");return tn}}function nodeTypeTest(Wt,Pt){if("("!==Wt.peek2()){return null}var en=Wt.trypop(["comment","text","processing-instruction","node"]);if(null!=en){if(null==Wt.trypop("("))throw new pn(pn.INVALID_EXPRESSION_ERR,"Position "+Wt.position()+": Should not happen.");var tn=undefined;if(en=="processing-instruction"){tn=Wt.trypopliteral()}if(null==Wt.trypop(")"))throw new pn(pn.INVALID_EXPRESSION_ERR,"Position "+Wt.position()+": Expected close parens.");return en}}function nodeNameTest(Wt,Pt){var en=Wt.trypopnametest();if(en!=null)return en;else return null}function predicate(Wt,Pt,en){if(null==Pt.trypop("["))return null;var tn=orExpr(Pt,en);if(null==tn)throw new pn(pn.INVALID_EXPRESSION_ERR,"Position "+Pt.position()+": Expected expression after [");if(null==Pt.trypop("]"))throw new pn(pn.INVALID_EXPRESSION_ERR,"Position "+Pt.position()+": Expected ] after expression.");return en.node("Predicate",Wt,tn)}function primaryExpr(Wt,Pt){var en=Wt.trypopliteral();if(null==en)en=Wt.trypopnumber();if(null!=en){return en}var tn=Wt.trypopvarref();if(null!=tn)return Pt.node("VariableReference",tn);var nn=functionCall(Wt,Pt);if(null!=nn){return nn}if(Wt.trypop("(")){var an=orExpr(Wt,Pt);if(null==an)throw new pn(pn.INVALID_EXPRESSION_ERR,"Position "+Wt.position()+": Expected expression after (.");if(null==Wt.trypop(")"))throw new pn(pn.INVALID_EXPRESSION_ERR,"Position "+Wt.position()+": Expected ) after expression.");return an}return null}function functionCall(Wt,Pt){var en=Wt.trypopfuncname(Wt,Pt);if(null==en)return null;if(null==Wt.trypop("("))throw new pn(pn.INVALID_EXPRESSION_ERR,"Position "+Wt.position()+": Expected ( ) after function name.");var tn=[];var nn=true;while(null==Wt.trypop(")")){if(!nn&&null==Wt.trypop(","))throw new pn(pn.INVALID_EXPRESSION_ERR,"Position "+Wt.position()+": Expected , between arguments of the function.");nn=false;var an=orExpr(Wt,Pt);if(an==null)throw new pn(pn.INVALID_EXPRESSION_ERR,"Position "+Wt.position()+": Expected expression as argument of function.");tn.push(an)}return Pt.node("FunctionCall",en,tn)}function unionExpr(Wt,Pt){return binaryL(pathExpr,Wt,Pt,"|")}function pathExpr(Wt,Pt){var en=filterExpr(Wt,Pt);if(null==en){var tn=locationPath(Wt,Pt);if(null==tn){throw new Error;throw new pn(pn.INVALID_EXPRESSION_ERR,"Position "+Wt.position()+": The expression shouldn't be empty...")}return Pt.node("PathExpr",tn)}var nn=relativeLocationPath(en,Wt,Pt,false);if(en===nn)return nn;else return Pt.node("PathExpr",nn)}function filterExpr(Wt,Pt){var en=primaryExpr(Wt,Pt);if(en==null)return null;var tn,nn=en;while(null!=(tn=predicate(nn,Wt,Pt))){nn=tn}return nn}function orExpr(Wt,Pt){var en=(Wt.peeked||"")+Wt.str;var tn=binaryL(andExpr,Wt,Pt,"or");var nn=(Wt.peeked||"")+Wt.str;return tn}function andExpr(Wt,Pt){return binaryL(equalityExpr,Wt,Pt,"and")}function equalityExpr(Wt,Pt){return binaryL(relationalExpr,Wt,Pt,["=","!="])}function relationalExpr(Wt,Pt){return binaryL(additiveExpr,Wt,Pt,["<",">","<=",">="])}function additiveExpr(Wt,Pt){return binaryL(multiplicativeExpr,Wt,Pt,["+","-"])}function multiplicativeExpr(Wt,Pt){return binaryL(unaryExpr,Wt,Pt,["*","div","mod"])}function unaryExpr(Wt,Pt){if(Wt.trypop("-")){var en=unaryExpr(Wt,Pt);if(null==en)throw new pn(pn.INVALID_EXPRESSION_ERR,"Position "+Wt.position()+": Expected unary expression after -");return Pt.node("UnaryMinus",en)}else return unionExpr(Wt,Pt)}var nn={node:function(){return Array.prototype.slice.call(arguments)}};function optimize(Wt){}function NodeMultiSet(Wt){this.nodes=[];this.pos=[];this.lasts=[];this.nextPos=[];this.seriesIndexes=[];this.isReverseAxis=Wt;this._pushToNodes=Wt?Array.prototype.unshift:Array.prototype.push}NodeMultiSet.prototype={pushSeries:function pushSeries(){this.nextPos.push(1);this.seriesIndexes.push(this.nodes.length)},popSeries:function popSeries(){console.assert(0=0;sn--){if(In===rn[sn]){an.pushSeries();rn.splice(sn,sn+1);pn++}}if(pn&&nn.matches(In)){an.addNode(In)}}console.assert(0===rn.length);for(var sn=0;sn=0;mn--){if(null==In.pos[un][mn]){In.pos[un].splice(mn,mn+1)}else{pn.unshift(sn[mn]-1)}}}return In}function descendantDfs(Wt,Pt,en,tn,nn,an,In){while(0=0;--on){In.nodes.splice(rn[on],rn[on],sn[on]);In.pos.splice(rn[on],rn[on],[1]);In.lasts.splice(rn[on],rn[on],[1])}return In}function ancestorHelper(Wt,Pt,en,tn,nn){var an=new NodeMatcher(Pt,en,tn);var In=[];for(var rn=0;rn0;--rn){if(sn===In[rn][In[rn].length-1]){mn.push(In[rn].length);bn.push(dn[rn]);In[rn].pop();if(0===In[rn].length){In.splice(rn,rn+1);dn.splice(rn,rn+1)}}}if(0===In[0].length){In.shift();dn.shift()}pn.nodes.push(sn);pn.pos.push(mn);pn.lasts.push(bn)}return pn}function addressVector(Wt){var Pt=[Wt];if(null!=Wt.ownerElement){Wt=Wt.ownerElement;Pt.push(-1)}while(null!=Wt){var en=0;while(null!=Wt.previousSibling){Wt=Wt.previousSibling;en++}Pt.push(en);Wt=Wt.parentNode}return Pt}function addressComparator(Wt,Pt){var en=Math.min(Wt.length-1,Pt.length-1),tn=Wt.length,nn=Pt.length;if(Wt[0]===Pt[0])return 0;var an;for(var In=0;In0){In.push(tn);tn=null;an=null}else if(getNodeName(en)getNodeName(tn)){In.push(tn);tn=null;an=null}else if(en!==tn){In.push(tn);tn=null;an=null}else{console.assert(en===tn,rn);tn=null;an=null}}while(en){In.push(en);en=Wt.shift()}while(tn){In.push(tn);tn=Pt.shift()}return In}function comparisonHelper(Wt,Pt,en,tn){var nn;if(tn)nn=rn.number;else nn="boolean"===typeof Pt||"boolean"===typeof en?rn["boolean"]:"number"===typeof Pt||"number"===typeof en?rn.number:rn.string;if("object"===typeof Pt&&"object"===typeof en){var an={};for(var In=0;In0&&parent===an[an.length-1])continue;an.push(parent);In.push([1])}return{nodes:an,pos:In,lasts:In}},preceding:function preceding(Wt,Pt,en,tn){return precedingHelper(Wt,Pt,en,tn)},"preceding-sibling":function precedingSibling(Wt,Pt,en,tn){return followingSiblingHelper(Wt,Pt,en,tn,Array.prototype.pop,(function(){return this[this.length-1]}),(function(Wt){return Wt.previousSibling}),false,true)},self:function self(Wt,Pt,en,tn){var nn=[],an=[];var In=new NodeMatcher(Pt,en,tn);for(var rn=0;rn0:!!Wt},last:function last(){console.assert(Array.isArray(this.pos));console.assert(Array.isArray(this.lasts));console.assert(1===this.pos.length);console.assert(1===this.lasts.length);console.assert(1===this.lasts[0].length);return this.lasts[0][0]},position:function position(){console.assert(Array.isArray(this.pos));console.assert(Array.isArray(this.lasts));console.assert(1===this.pos.length);console.assert(1===this.lasts.length);console.assert(1===this.pos[0].length);return this.pos[0][0]},count:function count(Wt){if("object"!==typeof Wt)throw new pn(pn.INVALID_EXPRESSION_ERR,"Position "+stream.position()+": Function count(node-set) "+"got wrong argument type: "+Wt);return Wt.nodes.length},id:function id(Wt){var Pt={nodes:[]};var en=this.nodes[0].ownerDocument||this.nodes[0];console.assert(en);var tn;if("object"===typeof Wt){tn=[];for(var nn=0;nn":function(Wt,Pt){return comparisonHelper((function(Wt,Pt){return rn.number(Wt)>rn.number(Pt)}),Wt,Pt,true)},">=":function(Wt,Pt){return comparisonHelper((function(Wt,Pt){return rn.number(Wt)>=rn.number(Pt)}),Wt,Pt,true)},and:function(Wt,Pt){return rn["boolean"](Wt)&&rn["boolean"](Pt)},or:function(Wt,Pt){return rn["boolean"](Wt)||rn["boolean"](Pt)},"|":function(Wt,Pt){return{nodes:mergeNodeLists(Wt.nodes,Pt.nodes)}},"=":function(Wt,Pt){if("object"===typeof Wt&&"object"===typeof Pt){var en={};for(var tn=0;tn{const tn=en(78845);class AbortControllerImpl{constructor(Wt){this.signal=tn.createImpl(Wt,[])}abort(Wt){this.signal._signalAbort(Wt)}}Wt.exports={implementation:AbortControllerImpl}},3793:(Wt,Pt,en)=>{const{setupForSimpleEventAccessors:tn}=en(15676);const{fireAnEvent:nn}=en(83350);const an=en(92697).implementation;const In=en(78845);const rn=en(16694);class AbortSignalImpl extends an{constructor(Wt,Pt,en){super(Wt,Pt,en);this._ownerDocument=Wt.document;this.reason=undefined;this.abortAlgorithms=new Set}get aborted(){return this.reason!==undefined}throwIfAborted(){if(this.aborted){throw this.reason}}static abort(Wt,Pt){const en=In.createImpl(Wt,[]);if(Pt!==undefined){en.reason=Pt}else{en.reason=rn.create(Wt,["The operation was aborted.","AbortError"])}return en}static timeout(Wt,Pt){const en=In.createImpl(Wt,[]);Wt.setTimeout((()=>{en._signalAbort(rn.create(Wt,["The operation timed out.","TimeoutError"]))}),Pt);return en}_signalAbort(Wt){if(this.aborted){return}if(Wt!==undefined){this.reason=Wt}else{this.reason=rn.create(this._globalObject,["The operation was aborted.","AbortError"])}for(const Wt of this.abortAlgorithms){Wt()}this.abortAlgorithms.clear();nn("abort",this)}_addAlgorithm(Wt){if(this.aborted){return}this.abortAlgorithms.add(Wt)}_removeAlgorithm(Wt){this.abortAlgorithms.delete(Wt)}}tn(AbortSignalImpl.prototype,["abort"]);Wt.exports={implementation:AbortSignalImpl}},69936:(Wt,Pt,en)=>{const tn=en(16694);const{HTML_NS:nn}=en(98071);const{asciiLowercase:an}=en(97205);const{queueAttributeMutationRecord:In}=en(69358);const{enqueueCECallbackReaction:rn}=en(8348);Pt.hasAttribute=function(Wt,Pt){return Wt._attributeList.includes(Pt)};Pt.hasAttributeByName=function(Wt,Pt){return Wt._attributesByNameMap.has(Pt)};Pt.hasAttributeByNameNS=function(Wt,Pt,en){return Wt._attributeList.some((Wt=>Wt._localName===en&&Wt._namespace===Pt))};Pt.changeAttribute=(Wt,Pt,en)=>{const{_localName:tn,_namespace:nn,_value:an}=Pt;In(Wt,tn,nn,an);if(Wt._ceState==="custom"){rn(Wt,"attributeChangedCallback",[tn,an,en,nn])}Pt._value=en;Wt._attrModified(Pt._qualifiedName,en,an)};Pt.appendAttribute=function(Wt,Pt){const{_localName:en,_namespace:tn,_value:nn}=Pt;In(Wt,en,tn,null);if(Wt._ceState==="custom"){rn(Wt,"attributeChangedCallback",[en,null,nn,tn])}const an=Wt._attributeList;an.push(Pt);Pt._element=Wt;const sn=Pt._qualifiedName;const on=Wt._attributesByNameMap;let cn=on.get(sn);if(!cn){cn=[];on.set(sn,cn)}cn.push(Pt);Wt._attrModified(sn,nn,null)};Pt.removeAttribute=function(Wt,Pt){const{_localName:en,_namespace:tn,_value:nn}=Pt;In(Wt,en,tn,nn);if(Wt._ceState==="custom"){rn(Wt,"attributeChangedCallback",[en,nn,null,tn])}const an=Wt._attributeList;for(let en=0;en{const tn=Wt._element;if(tn===null){Wt._value=en}else{Pt.changeAttribute(tn,Wt,en)}};Pt.removeAttributeByName=function(Wt,en){const tn=Pt.getAttributeByName(Wt,en);if(tn!==null){Pt.removeAttribute(Wt,tn)}return tn};Pt.removeAttributeByNameNS=function(Wt,en,tn){const nn=Pt.getAttributeByNameNS(Wt,en,tn);if(nn!==null){Pt.removeAttribute(Wt,nn)}return nn};Pt.attributeNames=function(Wt){return Wt._attributeList.map((Wt=>Wt._qualifiedName))};Pt.hasAttributes=function(Wt){return Wt._attributeList.length>0}},5371:(Wt,Pt,en)=>{const{setAnExistingAttributeValue:tn}=en(69936);const nn=en(52746).implementation;const{ATTRIBUTE_NODE:an}=en(7206);Pt.implementation=class AttrImpl extends nn{constructor(Wt,Pt,en){super(Wt,Pt,en);this._namespace=en.namespace!==undefined?en.namespace:null;this._namespacePrefix=en.namespacePrefix!==undefined?en.namespacePrefix:null;this._localName=en.localName;this._value=en.value!==undefined?en.value:"";this._element=en.element!==undefined?en.element:null;this.nodeType=an;this.specified=true}get namespaceURI(){return this._namespace}get prefix(){return this._namespacePrefix}get localName(){return this._localName}get name(){return this._qualifiedName}get nodeName(){return this._qualifiedName}get value(){return this._value}set value(Wt){tn(this,Wt)}get ownerElement(){return this._element}get _qualifiedName(){if(this._namespacePrefix===null){return this._localName}return this._namespacePrefix+":"+this._localName}}},84817:(Wt,Pt,en)=>{const tn=en(16694);const nn=en(87094);const an=en(69936);const{HTML_NS:In}=en(98071);Pt.implementation=class NamedNodeMapImpl{constructor(Wt,Pt,en){this._element=en.element;this._globalObject=Wt}get _attributeList(){return this._element._attributeList}get[nn.supportedPropertyIndices](){return this._attributeList.keys()}get length(){return this._attributeList.length}item(Wt){if(Wt>=this._attributeList.length){return null}return this._attributeList[Wt]}get[nn.supportedPropertyNames](){const Wt=new Set(this._attributeList.map((Wt=>Wt._qualifiedName)));const Pt=this._element;if(Pt._namespaceURI===In&&Pt._ownerDocument._parsingMode==="html"){for(const Pt of Wt){const en=Pt.toLowerCase();if(en!==Pt){Wt.delete(Pt)}}}return Wt}getNamedItem(Wt){return an.getAttributeByName(this._element,Wt)}getNamedItemNS(Wt,Pt){return an.getAttributeByNameNS(this._element,Wt,Pt)}setNamedItem(Wt){return an.setAttribute(this._element,Wt)}setNamedItemNS(Wt){return an.setAttribute(this._element,Wt)}removeNamedItem(Wt){const Pt=an.removeAttributeByName(this._element,Wt);if(Pt===null){throw tn.create(this._globalObject,["Tried to remove an attribute that was not present","NotFoundError"])}return Pt}removeNamedItemNS(Wt,Pt){const en=an.removeAttributeByNameNS(this._element,Wt,Pt);if(en===null){throw tn.create(this._globalObject,["Tried to remove an attribute that was not present","NotFoundError"])}return en}}},95449:(Wt,Pt,en)=>{const tn=en(47180);const{isDisabled:nn}=en(10588);const{closest:an}=en(83521);const{fireAnEvent:In}=en(83350);Pt.D=class DefaultConstraintValidationImpl{get willValidate(){return this._isCandidateForConstraintValidation()}get validity(){if(!this._validity){this._validity=tn.createImpl(this._globalObject,[],{element:this})}return this._validity}checkValidity(){if(!this._isCandidateForConstraintValidation()){return true}if(this._satisfiesConstraints()){return true}In("invalid",this,undefined,{cancelable:true});return false}setCustomValidity(Wt){this._customValidityErrorMessage=Wt}reportValidity(){return this.checkValidity()}get validationMessage(){const{validity:Wt}=this;if(!this._isCandidateForConstraintValidation()||this._satisfiesConstraints()){return""}const Pt=Wt.customError;if(Pt){return this._customValidityErrorMessage}return"Constraints not satisfied"}_isCandidateForConstraintValidation(){return!nn(this)&&an(this,"datalist")===null&&!this._barredFromConstraintValidationSpecialization()}_isBarredFromConstraintValidation(){return!this._isCandidateForConstraintValidation()}_satisfiesConstraints(){return this.validity.valid}}},93399:(Wt,Pt)=>{Pt.implementation=class ValidityStateImpl{constructor(Wt,Pt,en){const{element:tn,state:nn={}}=en;this._element=tn;this._state=nn}get badInput(){return this._failsConstraint("badInput")}get customError(){return this._element._customValidityErrorMessage!==""}get patternMismatch(){return this._failsConstraint("patternMismatch")}get rangeOverflow(){return this._failsConstraint("rangeOverflow")}get rangeUnderflow(){return this._failsConstraint("rangeUnderflow")}get stepMismatch(){return this._failsConstraint("stepMismatch")}get tooLong(){return this._failsConstraint("tooLong")}get tooShort(){return this._failsConstraint("tooShort")}get typeMismatch(){return this._failsConstraint("typeMismatch")}get valueMissing(){return this._failsConstraint("valueMissing")}_failsConstraint(Wt){const Pt=this._state[Wt];if(Pt){return Pt()}return false}get valid(){return!(this.badInput||this.valueMissing||this.customError||this.patternMismatch||this.rangeOverflow||this.rangeUnderflow||this.stepMismatch||this.tooLong||this.tooShort||this.typeMismatch)}}},32001:(Wt,Pt,en)=>{const tn=en(76982);const nn=en(16694);class CryptoImpl{constructor(Wt){this._globalObject=Wt}getRandomValues(Wt){const Pt=getTypedArrayTypeName(Wt);if(!(Pt==="Int8Array"||Pt==="Uint8Array"||Pt==="Uint8ClampedArray"||Pt==="Int16Array"||Pt==="Uint16Array"||Pt==="Int32Array"||Pt==="Uint32Array"||Pt==="BigInt64Array"||Pt==="BigUint64Array")){throw nn.create(this._globalObject,[`getRandomValues() only accepts integer typed arrays`,"TypeMismatchError"])}if(Wt.byteLength>65536){throw nn.create(this._globalObject,[`getRandomValues() cannot generate more than 65536 bytes of random values; `+`${Wt.byteLength} bytes were requested`,"QuotaExceededError"])}tn.randomFillSync(Wt);return Wt}randomUUID(){return tn.randomUUID()}}Pt.implementation=CryptoImpl;function getTypedArrayTypeName(Wt){const Pt=Wt.constructor;const en=[Pt.name];let tn=Object.getPrototypeOf(Pt);while(tn){en.push(tn.name);tn=Object.getPrototypeOf(tn)}while(en.length>0&&en[en.length-1]!=="TypedArray"){en.pop()}en.reverse();return en[1]}},86096:(Wt,Pt,en)=>{const tn=en(87094);Pt.implementation=class StyleSheetList{constructor(){this._list=[]}get length(){return this._list.length}item(Wt){const Pt=this._list[Wt];return Pt!==undefined?Pt:null}get[tn.supportedPropertyIndices](){return this._list.keys()}_add(Wt){const{_list:Pt}=this;if(!Pt.includes(Wt)){Pt.push(Wt)}}_remove(Wt){const{_list:Pt}=this;const en=Pt.indexOf(Wt);if(en>=0){Pt.splice(en,1)}}}},1742:(Wt,Pt,en)=>{const tn=en(37125);const nn=en(16694);const an=en(7206);const{HTML_NS:In}=en(98071);const{getHTMLElementInterface:rn}=en(94202);const{shadowIncludingInclusiveDescendantsIterator:sn}=en(60470);const{isValidCustomElementName:on,tryUpgradeElement:cn,enqueueCEUpgradeReaction:dn}=en(8348);const un=en(87094);const pn=en(25295);const mn=en(76312);const bn=["connectedCallback","disconnectedCallback","adoptedCallback","attributeChangedCallback"];function convertToSequenceDOMString(Wt){if(!Wt||!Wt[Symbol.iterator]){throw new TypeError("Invalid Sequence")}return Array.from(Wt,tn.DOMString)}function isConstructor(Wt){if(typeof Wt!=="function"){return false}try{const Pt=new Proxy(Wt,{construct(){return{}}});new Pt;return true}catch{return false}}class CustomElementRegistryImpl{constructor(Wt){this._customElementDefinitions=[];this._elementDefinitionIsRunning=false;this._whenDefinedPromiseMap=Object.create(null);this._globalObject=Wt}define(Wt,Pt,en){const{_globalObject:tn}=this;const an=Pt.objectReference;if(!isConstructor(an)){throw new TypeError("Constructor argument is not a constructor.")}if(!on(Wt)){throw nn.create(tn,["Name argument is not a valid custom element name.","SyntaxError"])}const cn=this._customElementDefinitions.some((Pt=>Pt.name===Wt));if(cn){throw nn.create(tn,["This name has already been registered in the registry.","NotSupportedError"])}const Gn=this._customElementDefinitions.some((Wt=>Wt.objectReference===an));if(Gn){throw nn.create(tn,["This constructor has already been registered in the registry.","NotSupportedError"])}let hn=Wt;let Zn=null;if(en!==undefined&&en.extends){Zn=en.extends}if(Zn!==null){if(on(Zn)){throw nn.create(tn,["Option extends value can't be a valid custom element name.","NotSupportedError"])}const Wt=rn(Zn);if(Wt===mn){throw nn.create(tn,[`${Zn} is an HTMLUnknownElement.`,"NotSupportedError"])}hn=Zn}if(this._elementDefinitionIsRunning){throw nn.create(tn,["Invalid nested custom element definition.","NotSupportedError"])}this._elementDefinitionIsRunning=true;let An=false;let Wn=false;let Nn=[];const gn={connectedCallback:null,disconnectedCallback:null,adoptedCallback:null,attributeChangedCallback:null};let yn;try{const{prototype:Wt}=an;if(typeof Wt!=="object"){throw new TypeError("Invalid constructor prototype.")}for(const Pt of bn){const en=Wt[Pt];if(en!==undefined){gn[Pt]=pn.convert(tn,en,{context:`The lifecycle callback "${Pt}"`})}}if(gn.attributeChangedCallback!==null){const Wt=an.observedAttributes;if(Wt!==undefined){Nn=convertToSequenceDOMString(Wt)}}let Pt=[];const en=an.disabledFeatures;if(en){Pt=convertToSequenceDOMString(en)}An=Pt.includes("internals");Wn=Pt.includes("shadow")}catch(Wt){yn=Wt}finally{this._elementDefinitionIsRunning=false}if(yn!==undefined){throw yn}const vn={name:Wt,localName:hn,constructor:Pt,objectReference:an,observedAttributes:Nn,lifecycleCallbacks:gn,disableShadow:Wn,disableInternals:An,constructionStack:[]};this._customElementDefinitions.push(vn);const Yn=un.implForWrapper(this._globalObject._document);const En=[];for(const Pt of sn(Yn)){if(Pt._namespaceURI===In&&Pt._localName===hn&&(Zn===null||Pt._isValue===Wt)){En.push(Pt)}}for(const Wt of En){dn(Wt,vn)}if(this._whenDefinedPromiseMap[Wt]!==undefined){this._whenDefinedPromiseMap[Wt].resolve(an);delete this._whenDefinedPromiseMap[Wt]}}get(Wt){const Pt=this._customElementDefinitions.find((Pt=>Pt.name===Wt));return Pt&&Pt.objectReference}whenDefined(Wt){if(!on(Wt)){return Promise.reject(nn.create(this._globalObject,["Name argument is not a valid custom element name.","SyntaxError"]))}const Pt=this._customElementDefinitions.find((Pt=>Pt.name===Wt));if(Pt){return Promise.resolve(Pt.objectReference)}if(this._whenDefinedPromiseMap[Wt]===undefined){let Pt;const en=new Promise((Wt=>{Pt=Wt}));this._whenDefinedPromiseMap[Wt]={promise:en,resolve:Pt}}return this._whenDefinedPromiseMap[Wt].promise}upgrade(Wt){for(const Pt of sn(Wt)){if(Pt.nodeType===an.ELEMENT_NODE){cn(Pt)}}}}Wt.exports={implementation:CustomElementRegistryImpl}},72742:Wt=>{class ElementInternalsImpl{constructor(Wt,Pt,{targetElement:en}){this._targetElement=en}get shadowRoot(){const Wt=this._targetElement._shadowRoot;if(!Wt||!Wt._availableToElementInternals){return null}return Wt}_reflectGetTheElement(){return this._targetElement}_reflectGetTheContentAttribute(Wt){return this._targetElement._internalContentAttributeMap.get(Wt)??null}_reflectSetTheContentAttribute(Wt,Pt){this._targetElement._internalContentAttributeMap.set(Wt,Pt)}_reflectDeleteTheContentAttribute(Wt){this._targetElement._internalContentAttributeMap.delete(Wt)}}Wt.exports={implementation:ElementInternalsImpl}},33111:(Wt,Pt,en)=>{const tn=en(63399);const nn=en(18946);const{wrapperForImpl:an}=en(87094);Pt.createImpl=(Wt,Pt,{alwaysUseDocumentClass:en=false}={})=>{if(Pt.parsingMode==="xml"&&!en){return tn.createImpl(Wt,[],{options:Pt})}return nn.createImpl(Wt,[],{options:Pt})};Pt.createWrapper=(...Wt)=>an(Pt.createImpl(...Wt))},67352:(Wt,Pt,en)=>{const{parseIntoDocument:tn}=en(13430);const nn=en(87094);const an=en(18946);Pt.implementation=class DOMParserImpl{constructor(Wt){this._globalObject=Wt}parseFromString(Wt,Pt){switch(String(Pt)){case"text/html":{return this.createScriptingDisabledDocument("html",Pt,Wt)}case"text/xml":case"application/xml":case"application/xhtml+xml":case"image/svg+xml":{try{return this.createScriptingDisabledDocument("xml",Pt,Wt)}catch(Wt){const en=this.createScriptingDisabledDocument("xml",Pt);const tn=en.createElementNS("http://www.mozilla.org/newlayout/xml/parsererror.xml","parsererror");tn.textContent=Wt.message;en.appendChild(tn);return en}}default:throw new TypeError("Invalid contentType")}}createScriptingDisabledDocument(Wt,Pt,en){const In=an.createImpl(this._globalObject,[],{options:{parsingMode:Wt,encoding:"UTF-8",contentType:Pt,readyState:"complete",scriptingDisabled:true,url:nn.implForWrapper(this._globalObject._document).URL}});if(en!==undefined){tn(en,In)}return In}}},97066:(Wt,Pt,en)=>{const{parseFragment:tn}=en(13430);const{HTML_NS:nn}=en(98071);const{isShadowRoot:an}=en(60470);const In=en(7206);const{fragmentSerialization:rn}=en(49446);Pt.D=class InnerHTMLImpl{get innerHTML(){return rn(this,{outer:false,requireWellFormed:true,globalObject:this._globalObject})}set innerHTML(Wt){const Pt=an(this)?this.host:this;const en=tn(Wt,Pt);let rn=this;if(this.nodeType===In.ELEMENT_NODE&&this.localName==="template"&&this.namespaceURI===nn){rn=this._templateContents}rn._replaceAll(en)}}},22534:(Wt,Pt,en)=>{const tn=en(3481);const nn=en(16694);const an=en(87094);Pt.implementation=class XMLSerializerImpl{constructor(Wt){this._globalObject=Wt}serializeToString(Wt){try{return tn(an.wrapperForImpl(Wt),{requireWellFormed:false})}catch(Wt){throw nn.create(this._globalObject,[Wt.message,"InvalidStateError"])}}}},70329:(Wt,Pt,en)=>{const tn=en(7206);const{domSymbolTree:nn}=en(38542);Pt.getFirstChild=Wt=>Wt.firstChild;Pt.getChildNodes=Wt=>nn.childrenToArray(Wt);Pt.getParentNode=Wt=>Wt.parentNode;Pt.getAttrList=Wt=>{const Pt=[...Wt._attributeList];if(Wt._isValue&&Pt.every((Wt=>Wt.name!=="is"))){Pt.unshift({name:"is",namespace:null,prefix:null,value:Wt._isValue})}return Pt};Pt.getTagName=Wt=>Wt._qualifiedName;Pt.getNamespaceURI=Wt=>Wt.namespaceURI;Pt.getTextNodeContent=Pt.getCommentNodeContent=Wt=>Wt.data;Pt.getDocumentTypeNodeName=Wt=>Wt.name;Pt.getDocumentTypeNodePublicId=Wt=>Wt.publicId;Pt.getDocumentTypeNodeSystemId=Wt=>Wt.systemId;Pt.getTemplateContent=Wt=>Wt._templateContents;Pt.getDocumentMode=Wt=>Wt._mode;Pt.isTextNode=Wt=>Wt.nodeType===tn.TEXT_NODE;Pt.isCommentNode=Wt=>Wt.nodeType===tn.COMMENT_NODE;Pt.isDocumentTypeNode=Wt=>Wt.nodeType===tn.DOCUMENT_TYPE_NODE;Pt.isElementNode=Wt=>Wt.nodeType===tn.ELEMENT_NODE;Pt.setNodeSourceCodeLocation=(Wt,Pt)=>{Wt.sourceCodeLocation=Pt};Pt.getNodeSourceCodeLocation=Wt=>Wt.sourceCodeLocation;Pt.updateNodeSourceCodeLocation=(Wt,Pt)=>{Object.assign(Wt.sourceCodeLocation,Pt)}},49446:(Wt,Pt,en)=>{const tn=en(3481);const nn=en(50069);const an=en(16694);const In=en(87094);const rn=en(70329);const sn=en(7206);Wt.exports.fragmentSerialization=(Wt,{outer:Pt,requireWellFormed:en,globalObject:on})=>{const cn=Wt.nodeType===sn.DOCUMENT_NODE?Wt:Wt._ownerDocument;if(cn._parsingMode==="html"){const en={...cn._parseOptions,treeAdapter:rn};return Pt?nn.serializeOuter(Wt,en):nn.serialize(Wt,en)}const dn=Pt?[Wt]:Wt.childNodes;try{let Wt="";for(let Pt=0;Pt{const tn=en(23934).implementation;const nn=en(80321);class CloseEventImpl extends tn{}CloseEventImpl.defaultInit=nn.convert(undefined,undefined);Pt.implementation=CloseEventImpl},89076:(Wt,Pt,en)=>{const tn=en(1412).implementation;const nn=en(30155);class CompositionEventImpl extends tn{initCompositionEvent(Wt,Pt,en,tn,nn){if(this._dispatchFlag){return}this.initUIEvent(Wt,Pt,en,tn,0);this.data=nn}}CompositionEventImpl.defaultInit=nn.convert(undefined,undefined);Wt.exports={implementation:CompositionEventImpl}},80769:(Wt,Pt,en)=>{const tn=en(23934).implementation;const nn=en(87404);class CustomEventImpl extends tn{initCustomEvent(Wt,Pt,en,tn){if(this._dispatchFlag){return}this.initEvent(Wt,Pt,en);this.detail=tn}}CustomEventImpl.defaultInit=nn.convert(undefined,undefined);Wt.exports={implementation:CustomEventImpl}},23472:(Wt,Pt,en)=>{const tn=en(23934).implementation;const nn=en(92439);class ErrorEventImpl extends tn{}ErrorEventImpl.defaultInit=nn.convert(undefined,undefined);Wt.exports={implementation:ErrorEventImpl}},23934:(Wt,Pt,en)=>{const tn=en(87094);const nn=en(31893);class EventImpl{constructor(Wt,Pt,en){const[tn,nn=this.constructor.defaultInit]=Pt;this.type=tn;this.bubbles=false;this.cancelable=false;for(const Wt in nn){if(Wt in this.constructor.defaultInit){this[Wt]=nn[Wt]}}for(const Wt in this.constructor.defaultInit){if(!(Wt in this)){this[Wt]=this.constructor.defaultInit[Wt]}}this.target=null;this.currentTarget=null;this.eventPhase=0;this._globalObject=Wt;this._initializedFlag=true;this._stopPropagationFlag=false;this._stopImmediatePropagationFlag=false;this._canceledFlag=false;this._inPassiveListenerFlag=false;this._dispatchFlag=false;this._path=[];this.isTrusted=en.isTrusted||false;this.timeStamp=Date.now()}_setTheCanceledFlag(){if(this.cancelable&&!this._inPassiveListenerFlag){this._canceledFlag=true}}get srcElement(){return this.target}get returnValue(){return!this._canceledFlag}set returnValue(Wt){if(Wt===false){this._setTheCanceledFlag()}}get defaultPrevented(){return this._canceledFlag}stopPropagation(){this._stopPropagationFlag=true}get cancelBubble(){return this._stopPropagationFlag}set cancelBubble(Wt){if(Wt){this._stopPropagationFlag=true}}stopImmediatePropagation(){this._stopPropagationFlag=true;this._stopImmediatePropagationFlag=true}preventDefault(){this._setTheCanceledFlag()}composedPath(){const Wt=[];const{currentTarget:Pt,_path:en}=this;if(en.length===0){return Wt}Wt.push(Pt);let nn=0;let an=0;for(let Wt=en.length-1;Wt>=0;Wt--){const{item:In,rootOfClosedTree:rn,slotInClosedTree:sn}=en[Wt];if(rn){an++}if(In===tn.implForWrapper(Pt)){nn=Wt;break}if(sn){an--}}let In=an;let rn=an;for(let Pt=nn-1;Pt>=0;Pt--){const{item:nn,rootOfClosedTree:an,slotInClosedTree:sn}=en[Pt];if(an){In++}if(In<=rn){Wt.unshift(tn.wrapperForImpl(nn))}if(sn){In--;if(In{class EventModifierMixinImpl{getModifierState(Wt){if(Wt==="Control"){return Boolean(this.ctrlKey)}if(["Alt","Meta","Shift"].includes(Wt)){return Boolean(this[`${Wt.toLowerCase()}Key`])}return Boolean(this[`modifier${Wt}`])}}Pt.D=EventModifierMixinImpl},92697:(Wt,Pt,en)=>{const tn=en(16694);const nn=en(12323);const an=en(87094);const{nodeRoot:In}=en(39471);const{isNode:rn,isShadowRoot:sn,isSlotable:on,getEventTargetParent:cn,isShadowInclusiveAncestor:dn,retarget:un}=en(60470);const pn=en(8002);const mn={NONE:0,CAPTURING_PHASE:1,AT_TARGET:2,BUBBLING_PHASE:3};class EventTargetImpl{constructor(Wt){this._globalObject=Wt;this._eventListeners=Object.create(null)}addEventListener(Wt,Pt,en){en=normalizeEventHandlerOptions(en,["capture","once","passive"]);if(en.signal!==null&&en.signal.aborted){return}if(Pt===null){return}if(!this._eventListeners[Wt]){this._eventListeners[Wt]=[]}for(let tn=0;tn{this.removeEventListener(Wt,Pt,en)}))}}removeEventListener(Wt,Pt,en){en=normalizeEventHandlerOptions(en,["capture"]);if(Pt===null){return}if(!this._eventListeners[Wt]){return}for(let tn=0;tn=0&&Nn===-1;Pt--){if(Wt._path[Pt].target!==null){Nn=Pt}}const gn=Wt._path[Nn];tn=rn(gn.target)&&sn(In(gn.target))||rn(gn.relatedTarget)&&sn(In(gn.relatedTarget));if(nn!==null&&nn._legacyPreActivationBehavior){nn._legacyPreActivationBehavior()}for(let Pt=Wt._path.length-1;Pt>=0;--Pt){const en=Wt._path[Pt];if(en.target!==null){Wt.eventPhase=mn.AT_TARGET}else{Wt.eventPhase=mn.CAPTURING_PHASE}invokeEventListeners(en,Wt,"capturing")}for(let Pt=0;Pt=0;Wt--){const en=Pt._path[Wt];if(en.target){Pt.target=en.target;break}}Pt.relatedTarget=an.wrapperForImpl(Wt.relatedTarget);if(Pt._stopPropagationFlag){return}Pt.currentTarget=an.wrapperForImpl(Wt.item);const nn=Wt.item._eventListeners;innerInvokeEventListeners(Pt,nn,en,Wt.itemInShadowTree)}function innerInvokeEventListeners(Wt,Pt,en,tn){let In=false;const{type:rn,target:sn}=Wt;const on=an.wrapperForImpl(sn);if(!Pt||!Pt[rn]){return In}const cn=Pt[rn].slice();for(let an=0;anWt!=="capture"))}for(const tn of Pt){en[tn]=Boolean(Wt[tn])}if(Wt.signal!==undefined){en.signal=Wt.signal}return en}function appendToEventPath(Wt,Pt,en,tn,nn,an){const on=rn(Pt)&&sn(In(Pt));const cn=sn(Pt)&&Pt.mode==="closed";Wt._path.push({item:Pt,itemInShadowTree:on,target:en,relatedTarget:tn,touchTargets:nn,rootOfClosedTree:cn,slotInClosedTree:an})}},35334:(Wt,Pt,en)=>{const tn=en(1412).implementation;const nn=en(24237);class FocusEventImpl extends tn{}FocusEventImpl.defaultInit=nn.convert(undefined,undefined);Pt.implementation=FocusEventImpl},44694:(Wt,Pt,en)=>{const tn=en(23934).implementation;const nn=en(57061);class HashChangeEventImpl extends tn{}HashChangeEventImpl.defaultInit=nn.convert(undefined,undefined);Wt.exports={implementation:HashChangeEventImpl}},8010:(Wt,Pt,en)=>{const tn=en(1412).implementation;const nn=en(18929);class InputEventImpl extends tn{}InputEventImpl.defaultInit=nn.convert(undefined,undefined);Wt.exports={implementation:InputEventImpl}},26839:(Wt,Pt,en)=>{const{mixin:tn}=en(35702);const nn=en(80220).D;const an=en(1412).implementation;const In=en(38602);class KeyboardEventImpl extends an{initKeyboardEvent(Wt,Pt,en,tn,nn,an,In,rn,sn,on){if(this._dispatchFlag){return}this.initUIEvent(Wt,Pt,en,tn,0);this.key=nn;this.location=an;this.ctrlKey=In;this.altKey=rn;this.shiftKey=sn;this.metaKey=on}}tn(KeyboardEventImpl.prototype,nn.prototype);KeyboardEventImpl.defaultInit=In.convert(undefined,undefined);Wt.exports={implementation:KeyboardEventImpl}},44613:(Wt,Pt,en)=>{const tn=en(23934).implementation;const nn=en(83688);class MessageEventImpl extends tn{initMessageEvent(Wt,Pt,en,tn,nn,an,In,rn){if(this._dispatchFlag){return}this.initEvent(Wt,Pt,en);this.data=tn;this.origin=nn;this.lastEventId=an;this.source=In;this.ports=rn}}MessageEventImpl.defaultInit=nn.convert(undefined,undefined);Wt.exports={implementation:MessageEventImpl}},95889:(Wt,Pt,en)=>{const{mixin:tn}=en(35702);const nn=en(80220).D;const an=en(1412).implementation;const In=en(5316);class MouseEventImpl extends an{get x(){return this.clientX}get y(){return this.clientY}get pageX(){return this.clientX}get pageY(){return this.clientY}get offsetX(){return this.pageX}get offsetY(){return this.pageY}initMouseEvent(Wt,Pt,en,tn,nn,an,In,rn,sn,on,cn,dn,un,pn,mn){if(this._dispatchFlag){return}this.initUIEvent(Wt,Pt,en,tn,nn);this.screenX=an;this.screenY=In;this.clientX=rn;this.clientY=sn;this.ctrlKey=on;this.altKey=cn;this.shiftKey=dn;this.metaKey=un;this.button=pn;this.relatedTarget=mn}}tn(MouseEventImpl.prototype,nn.prototype);MouseEventImpl.defaultInit=In.convert(undefined,undefined);Wt.exports={implementation:MouseEventImpl}},43402:(Wt,Pt,en)=>{const tn=en(23934).implementation;const nn=en(92457);class PageTransitionEventImpl extends tn{initPageTransitionEvent(Wt,Pt,en,tn){if(this._dispatchFlag){return}this.initEvent(Wt,Pt,en);this.persisted=tn}}PageTransitionEventImpl.defaultInit=nn.convert(undefined,undefined);Pt.implementation=PageTransitionEventImpl},22374:(Wt,Pt,en)=>{const tn=en(23934).implementation;const nn=en(34685);class PopStateEventImpl extends tn{}PopStateEventImpl.defaultInit=nn.convert(undefined,undefined);Pt.implementation=PopStateEventImpl},91561:(Wt,Pt,en)=>{const tn=en(23934).implementation;const nn=en(10140);class ProgressEventImpl extends tn{}ProgressEventImpl.defaultInit=nn.convert(undefined,undefined);Wt.exports={implementation:ProgressEventImpl}},60563:(Wt,Pt,en)=>{const tn=en(23934).implementation;const nn=en(38089);class StorageEventImpl extends tn{initStorageEvent(Wt,Pt,en,tn,nn,an,In,rn){if(this._dispatchFlag){return}this.initEvent(Wt,Pt,en);this.key=tn;this.oldValue=nn;this.newValue=an;this.url=In;this.storageArea=rn}}StorageEventImpl.defaultInit=nn.convert(undefined,undefined);Wt.exports={implementation:StorageEventImpl}},68710:(Wt,Pt,en)=>{const tn=en(23934).implementation;const nn=en(17189);class SubmitEventImpl extends tn{}SubmitEventImpl.defaultInit=nn.convert(undefined,undefined);Wt.exports={implementation:SubmitEventImpl}},85861:(Wt,Pt,en)=>{const tn=en(1412).implementation;const nn=en(93616);class TouchEventImpl extends tn{}TouchEventImpl.defaultInit=nn.convert(undefined,undefined);Wt.exports={implementation:TouchEventImpl}},1412:(Wt,Pt,en)=>{const tn=en(87094);const nn=en(27019);const an=en(23934).implementation;function isWindow(Wt){if(typeof Wt!=="object"){return false}const Pt=tn.wrapperForImpl(Wt);if(typeof Pt==="object"){return Pt===Pt._globalProxy}return isWindow(tn.implForWrapper(Wt))}class UIEventImpl extends an{constructor(Wt,Pt,en){const tn=Pt[1];if(tn&&tn.view!==null&&tn.view!==undefined){if(!isWindow(tn.view)){throw new TypeError(`Failed to construct '${new.target.name.replace(/Impl$/,"")}': member view is not of `+"type Window.")}}super(Wt,Pt,en)}initUIEvent(Wt,Pt,en,tn,nn){if(tn!==null){if(!isWindow(tn)){throw new TypeError(`Failed to execute 'initUIEvent' on '${this.constructor.name.replace(/Impl$/,"")}': `+"parameter 4 is not of type 'Window'.")}}if(this._dispatchFlag){return}this.initEvent(Wt,Pt,en);this.view=tn;this.detail=nn}}UIEventImpl.defaultInit=nn.convert(undefined,undefined);Wt.exports={implementation:UIEventImpl}},84829:(Wt,Pt,en)=>{const tn=en(95889).implementation;const nn=en(50816);class WheelEventImpl extends tn{}WheelEventImpl.defaultInit=nn.convert(undefined,undefined);Wt.exports={implementation:WheelEventImpl}},77275:(Wt,Pt,en)=>{const{isForbidden:tn,isForbiddenResponse:nn,isPrivilegedNoCORSRequest:an,isNoCORSSafelistedRequest:In,isCORSWhitelisted:rn}=en(30409);const sn=en(55974);function assertName(Wt){if(!Wt.match(/^[!#$%&'*+\-.^`|~\w]+$/)){throw new TypeError("name is invalid")}}function assertValue(Wt){if(Wt.match(/[\0\r\n]/)){throw new TypeError("value is invalid")}}function normalizeValue(Wt){return Wt.replace(/^[\n\r\t ]+|[\n\r\t ]+$/g,"")}class HeadersImpl{constructor(Wt,Pt){this.guard="none";this.headersList=new sn;if(Pt[0]){this._fill(Pt[0])}}_fill(Wt){if(Array.isArray(Wt)){for(const Pt of Wt){if(Pt.length!==2){throw new TypeError("init is invalid")}this.append(Pt[0],Pt[1])}}else{for(const Pt of Object.keys(Wt)){this.append(Pt,Wt[Pt])}}}has(Wt){assertName(Wt);return this.headersList.contains(Wt)}get(Wt){assertName(Wt);return this.headersList.get(Wt)}_removePrivilegedNoCORSHeaders(){this.headersList.delete("range")}append(Wt,Pt){Pt=normalizeValue(Pt);assertName(Wt);assertValue(Pt);switch(this.guard){case"immutable":throw new TypeError("Headers is immutable");case"request":if(tn(Wt)){return}break;case"request-no-cors":{let en=this.get(Wt);if(en===null){en=Pt}else{en+=`, ${Pt}`}if(!rn(Wt,Pt)){return}break}case"response":if(nn(Wt)){return}break}this.headersList.append(Wt,Pt);this._removePrivilegedNoCORSHeaders()}set(Wt,Pt){Pt=normalizeValue(Pt);assertName(Wt);assertValue(Pt);switch(this.guard){case"immutable":throw new TypeError("Headers is immutable");case"request":if(tn(Wt)){return}break;case"request-no-cors":{if(!rn(Wt,Pt)){return}break}case"response":if(nn(Wt)){return}break}this.headersList.set(Wt,Pt);this._removePrivilegedNoCORSHeaders()}delete(Wt){assertName(Wt);switch(this.guard){case"immutable":throw new TypeError("Headers is immutable");case"request":if(tn(Wt)){return}break;case"request-no-cors":{if(!In(Wt)&&!an(Wt)){return}break}case"response":if(nn(Wt)){return}break}this.headersList.delete(Wt);this._removePrivilegedNoCORSHeaders()}*[Symbol.iterator](){for(const Wt of this.headersList.sortAndCombine()){yield Wt}}}Pt.implementation=HeadersImpl},55974:Wt=>{class HeaderList{constructor(){this.headers=new Map}append(Wt,Pt){const en=this.headers.get(Wt.toLowerCase());if(en){Wt=en[0].name;en.push({name:Wt,value:Pt})}else{this.headers.set(Wt.toLowerCase(),[{name:Wt,value:Pt}])}}contains(Wt){return this.headers.has(Wt.toLowerCase())}get(Wt){Wt=Wt.toLowerCase();const Pt=this.headers.get(Wt);if(!Pt){return null}return Pt.map((Wt=>Wt.value)).join(", ")}delete(Wt){this.headers.delete(Wt.toLowerCase())}set(Wt,Pt){const en=Wt.toLowerCase();this.headers.delete(en);this.headers.set(en,[{name:Wt,value:Pt}])}sortAndCombine(){const Wt=[...this.headers.keys()].sort();return Wt.map((Wt=>[Wt,this.get(Wt)]))}}Wt.exports=HeaderList},30409:(Wt,Pt,en)=>{const tn=en(59344);const nn=new Set(["range"]);function isPrivilegedNoCORSRequest(Wt){return nn.has(Wt.toLowerCase())}const an=new Set([`accept`,`accept-language`,`content-language`,`content-type`]);function isNoCORSSafelistedRequest(Wt){return an.has(Wt.toLowerCase())}const In=new Set([`accept-charset`,`accept-encoding`,`access-control-request-headers`,`access-control-request-method`,`connection`,`content-length`,`cookie`,`cookie2`,`date`,`dnt`,`expect`,`host`,`keep-alive`,`origin`,`referer`,`te`,`trailer`,`transfer-encoding`,`upgrade`,`via`]);function isForbidden(Wt){Wt=Wt.toLowerCase();return In.has(Wt)||Wt.startsWith("proxy-")||Wt.startsWith("sec-")}const rn=new Set(["set-cookie","set-cookie2"]);function isForbiddenResponse(Wt){return rn.has(Wt.toLowerCase())}const sn=/[\x00-\x08\x0A-\x1F"():<>?@[\\\]{}\x7F]/;function isCORSWhitelisted(Wt,Pt){Wt=Wt.toLowerCase();switch(Wt){case"accept":if(Pt.match(sn)){return false}break;case"accept-language":case"content-language":if(Pt.match(/[^\x30-\x39\x41-\x5A\x61-\x7A *,\-.;=]/)){return false}break;case"content-type":{if(Pt.match(sn)){return false}const Wt=tn.parse(Pt);if(Wt===null){return false}if(!["application/x-www-form-urlencoded","multipart/form-data","text/plain"].includes(Wt.essence)){return false}break}default:return false}if(Buffer.from(Pt).length>128){return false}return true}Wt.exports={isPrivilegedNoCORSRequest:isPrivilegedNoCORSRequest,isNoCORSSafelistedRequest:isNoCORSSafelistedRequest,isForbidden:isForbidden,isForbiddenResponse:isForbiddenResponse,isCORSWhitelisted:isCORSWhitelisted}},23369:(Wt,Pt,en)=>{const tn=en(42960);const{isArrayBuffer:nn}=en(87094);function convertLineEndingsToNative(Wt){return Wt.replace(/\r\n|\r|\n/g,"\n")}Pt.implementation=class BlobImpl{constructor(Wt,Pt){const en=Pt[0];const an=Pt[1];const In=[];if(en!==undefined){for(const Wt of en){let Pt;if(nn(Wt)){Pt=Buffer.from(Wt)}else if(ArrayBuffer.isView(Wt)){Pt=Buffer.from(Wt.buffer,Wt.byteOffset,Wt.byteLength)}else if(tn.isImpl(Wt)){Pt=Wt._buffer}else{let en=Wt;if(an.endings==="native"){en=convertLineEndingsToNative(Wt)}Pt=Buffer.from(en)}In.push(Pt)}}this._buffer=Buffer.concat(In);this._globalObject=Wt;this.type=an.type;if(/[^\u0020-\u007E]/.test(this.type)){this.type=""}else{this.type=this.type.toLowerCase()}}get size(){return this._buffer.length}slice(Wt,Pt,en){const{size:nn}=this;let an,In,rn;if(Wt===undefined){an=0}else if(Wt<0){an=Math.max(nn+Wt,0)}else{an=Math.min(Wt,nn)}if(Pt===undefined){In=nn}else if(Pt<0){In=Math.max(nn+Pt,0)}else{In=Math.min(Pt,nn)}if(en===undefined){rn=""}else{rn=en}const sn=Math.max(In-an,0);const on=this._buffer;const cn=on.slice(an,an+sn);const dn=tn.createImpl(this._globalObject,[[],{type:rn}],{});dn._buffer=cn;return dn}}},78202:(Wt,Pt,en)=>{const tn=en(23369).implementation;Pt.implementation=class FileImpl extends tn{constructor(Wt,[Pt,en,tn],nn){super(Wt,[Pt,tn],nn);this.name=en;this.lastModified="lastModified"in tn?tn.lastModified:Date.now()}}},95346:(Wt,Pt,en)=>{const tn=en(87094);Pt.implementation=class FileListImpl extends Array{constructor(){super(0)}item(Wt){return this[Wt]||null}get[tn.supportedPropertyIndices](){return this.keys()}}},78135:(Wt,Pt,en)=>{const tn=en(86476);const nn=en(59344);const an=en(16694);const In=en(92697).implementation;const rn=en(90442);const{setupForSimpleEventAccessors:sn}=en(15676);const{fireAnEvent:on}=en(83350);const{copyToArrayBufferInNewRealm:cn}=en(71179);const dn=Object.freeze({EMPTY:0,LOADING:1,DONE:2});const un=["loadstart","progress","load","abort","error","loadend"];class FileReaderImpl extends In{constructor(Wt,Pt,en){super(Wt,Pt,en);this.error=null;this.readyState=dn.EMPTY;this.result=null;this._globalObject=Wt;this._ownerDocument=Wt.document;this._terminated=false}readAsArrayBuffer(Wt){this._readFile(Wt,"buffer")}readAsBinaryString(Wt){this._readFile(Wt,"binaryString")}readAsDataURL(Wt){this._readFile(Wt,"dataURL")}readAsText(Wt,Pt){this._readFile(Wt,"text",tn.labelToName(Pt)||"UTF-8")}abort(){if(this.readyState===dn.EMPTY||this.readyState===dn.DONE){this.result=null;return}if(this.readyState===dn.LOADING){this.readyState=dn.DONE;this.result=null}this._terminated=true;this._fireProgressEvent("abort");this._fireProgressEvent("loadend")}_fireProgressEvent(Wt,Pt){on(Wt,this,rn,Pt)}_readFile(Wt,Pt,en){if(this.readyState===dn.LOADING){throw an.create(this._globalObject,["The object is in an invalid state.","InvalidStateError"])}this.readyState=dn.LOADING;setImmediate((()=>{if(this._terminated){this._terminated=false;return}this._fireProgressEvent("loadstart");let an=Wt._buffer;if(!an){an=Buffer.alloc(0)}this._fireProgressEvent("progress",{lengthComputable:!isNaN(Wt.size),total:Wt.size,loaded:an.length});setImmediate((()=>{if(this._terminated){this._terminated=false;return}switch(Pt){case"binaryString":{this.result=an.toString("binary");break}case"dataURL":{const Pt=nn.parse(Wt.type)||"application/octet-stream";this.result=`data:${Pt};base64,${an.toString("base64")}`;break}case"text":{this.result=tn.decode(an,en);break}case"buffer":default:{this.result=cn(an,this._globalObject);break}}this.readyState=dn.DONE;this._fireProgressEvent("load");this._fireProgressEvent("loadend")}))}))}}sn(FileReaderImpl.prototype,un);Pt.implementation=FileReaderImpl},92325:(Wt,Pt,en)=>{const tn=en(37125);const nn=en(87094);const an=nn.implSymbol;const In=nn.ctorRegistrySymbol;const rn="AbortController";Pt.is=Wt=>nn.isObject(Wt)&&nn.hasOwn(Wt,an)&&Wt[an]instanceof on.implementation;Pt.isImpl=Wt=>nn.isObject(Wt)&&Wt instanceof on.implementation;Pt.convert=(Wt,en,{context:tn="The provided value"}={})=>{if(Pt.is(en)){return nn.implForWrapper(en)}throw new Wt.TypeError(`${tn} is not of type 'AbortController'.`)};function makeWrapper(Wt,Pt){let en;if(Pt!==undefined){en=Pt.prototype}if(!nn.isObject(en)){en=Wt[In]["AbortController"].prototype}return Object.create(en)}Pt.create=(Wt,en,tn)=>{const nn=makeWrapper(Wt);return Pt.setup(nn,Wt,en,tn)};Pt.createImpl=(Wt,en,tn)=>{const an=Pt.create(Wt,en,tn);return nn.implForWrapper(an)};Pt._internalSetup=(Wt,Pt)=>{};Pt.setup=(Wt,en,tn=[],In={})=>{In.wrapper=Wt;Pt._internalSetup(Wt,en);Object.defineProperty(Wt,an,{value:new on.implementation(en,tn,In),configurable:true});Wt[an][nn.wrapperSymbol]=Wt;if(on.init){on.init(Wt[an])}return Wt};Pt["new"]=(Wt,en)=>{const tn=makeWrapper(Wt,en);Pt._internalSetup(tn,Wt);Object.defineProperty(tn,an,{value:Object.create(on.implementation.prototype),configurable:true});tn[an][nn.wrapperSymbol]=tn;if(on.init){on.init(tn[an])}return tn[an]};const sn=new Set(["Window","Worker"]);Pt.install=(Wt,en)=>{if(!en.some((Wt=>sn.has(Wt)))){return}const In=nn.initCtorRegistry(Wt);class AbortController{constructor(){return Pt.setup(Object.create(new.target.prototype),Wt,undefined)}abort(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'abort' called on an object that is not a valid instance of AbortController.")}const nn=[];{let Pt=arguments[0];if(Pt!==undefined){Pt=tn["any"](Pt,{context:"Failed to execute 'abort' on 'AbortController': parameter 1",globals:Wt})}nn.push(Pt)}return en[an].abort(...nn)}get signal(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get signal' called on an object that is not a valid instance of AbortController.")}return nn.getSameObject(this,"signal",(()=>nn.tryWrapperForImpl(en[an]["signal"])))}}Object.defineProperties(AbortController.prototype,{abort:{enumerable:true},signal:{enumerable:true},[Symbol.toStringTag]:{value:"AbortController",configurable:true}});In[rn]=AbortController;Object.defineProperty(Wt,rn,{configurable:true,writable:true,value:AbortController})};const on=en(62937)},78845:(Wt,Pt,en)=>{const tn=en(37125);const nn=en(87094);const an=en(69117);const In=nn.implSymbol;const rn=nn.ctorRegistrySymbol;const sn=en(29122);const on="AbortSignal";Pt.is=Wt=>nn.isObject(Wt)&&nn.hasOwn(Wt,In)&&Wt[In]instanceof dn.implementation;Pt.isImpl=Wt=>nn.isObject(Wt)&&Wt instanceof dn.implementation;Pt.convert=(Wt,en,{context:tn="The provided value"}={})=>{if(Pt.is(en)){return nn.implForWrapper(en)}throw new Wt.TypeError(`${tn} is not of type 'AbortSignal'.`)};function makeWrapper(Wt,Pt){let en;if(Pt!==undefined){en=Pt.prototype}if(!nn.isObject(en)){en=Wt[rn]["AbortSignal"].prototype}return Object.create(en)}Pt.create=(Wt,en,tn)=>{const nn=makeWrapper(Wt);return Pt.setup(nn,Wt,en,tn)};Pt.createImpl=(Wt,en,tn)=>{const an=Pt.create(Wt,en,tn);return nn.implForWrapper(an)};Pt._internalSetup=(Wt,Pt)=>{sn._internalSetup(Wt,Pt)};Pt.setup=(Wt,en,tn=[],an={})=>{an.wrapper=Wt;Pt._internalSetup(Wt,en);Object.defineProperty(Wt,In,{value:new dn.implementation(en,tn,an),configurable:true});Wt[In][nn.wrapperSymbol]=Wt;if(dn.init){dn.init(Wt[In])}return Wt};Pt["new"]=(Wt,en)=>{const tn=makeWrapper(Wt,en);Pt._internalSetup(tn,Wt);Object.defineProperty(tn,In,{value:Object.create(dn.implementation.prototype),configurable:true});tn[In][nn.wrapperSymbol]=tn;if(dn.init){dn.init(tn[In])}return tn[In]};const cn=new Set(["Window","Worker"]);Pt.install=(Wt,en)=>{if(!en.some((Wt=>cn.has(Wt)))){return}const rn=nn.initCtorRegistry(Wt);class AbortSignal extends Wt.EventTarget{constructor(){throw new Wt.TypeError("Illegal constructor")}throwIfAborted(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'throwIfAborted' called on an object that is not a valid instance of AbortSignal.")}return en[In].throwIfAborted()}get aborted(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get aborted' called on an object that is not a valid instance of AbortSignal.")}return en[In]["aborted"]}get reason(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get reason' called on an object that is not a valid instance of AbortSignal.")}return en[In]["reason"]}get onabort(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get onabort' called on an object that is not a valid instance of AbortSignal.")}return nn.tryWrapperForImpl(en[In]["onabort"])}set onabort(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set onabort' called on an object that is not a valid instance of AbortSignal.")}if(!nn.isObject(en)){en=null}else{en=an.convert(Wt,en,{context:"Failed to set the 'onabort' property on 'AbortSignal': The provided value"})}tn[In]["onabort"]=en}static abort(){const Pt=[];{let en=arguments[0];if(en!==undefined){en=tn["any"](en,{context:"Failed to execute 'abort' on 'AbortSignal': parameter 1",globals:Wt})}Pt.push(en)}return nn.tryWrapperForImpl(dn.implementation.abort(Wt,...Pt))}static timeout(Pt){if(arguments.length<1){throw new Wt.TypeError(`Failed to execute 'timeout' on 'AbortSignal': 1 argument required, but only ${arguments.length} present.`)}const en=[];{let Pt=arguments[0];Pt=tn["unsigned long long"](Pt,{context:"Failed to execute 'timeout' on 'AbortSignal': parameter 1",globals:Wt,enforceRange:true});en.push(Pt)}return nn.tryWrapperForImpl(dn.implementation.timeout(Wt,...en))}}Object.defineProperties(AbortSignal.prototype,{throwIfAborted:{enumerable:true},aborted:{enumerable:true},reason:{enumerable:true},onabort:{enumerable:true},[Symbol.toStringTag]:{value:"AbortSignal",configurable:true}});Object.defineProperties(AbortSignal,{abort:{enumerable:true},timeout:{enumerable:true}});rn[on]=AbortSignal;Object.defineProperty(Wt,on,{configurable:true,writable:true,value:AbortSignal})};const dn=en(3793)},77632:(Wt,Pt,en)=>{const tn=en(37125);const nn=en(87094);const an=nn.implSymbol;const In=nn.ctorRegistrySymbol;const rn="AbstractRange";Pt.is=Wt=>nn.isObject(Wt)&&nn.hasOwn(Wt,an)&&Wt[an]instanceof on.implementation;Pt.isImpl=Wt=>nn.isObject(Wt)&&Wt instanceof on.implementation;Pt.convert=(Wt,en,{context:tn="The provided value"}={})=>{if(Pt.is(en)){return nn.implForWrapper(en)}throw new Wt.TypeError(`${tn} is not of type 'AbstractRange'.`)};function makeWrapper(Wt,Pt){let en;if(Pt!==undefined){en=Pt.prototype}if(!nn.isObject(en)){en=Wt[In]["AbstractRange"].prototype}return Object.create(en)}Pt.create=(Wt,en,tn)=>{const nn=makeWrapper(Wt);return Pt.setup(nn,Wt,en,tn)};Pt.createImpl=(Wt,en,tn)=>{const an=Pt.create(Wt,en,tn);return nn.implForWrapper(an)};Pt._internalSetup=(Wt,Pt)=>{};Pt.setup=(Wt,en,tn=[],In={})=>{In.wrapper=Wt;Pt._internalSetup(Wt,en);Object.defineProperty(Wt,an,{value:new on.implementation(en,tn,In),configurable:true});Wt[an][nn.wrapperSymbol]=Wt;if(on.init){on.init(Wt[an])}return Wt};Pt["new"]=(Wt,en)=>{const tn=makeWrapper(Wt,en);Pt._internalSetup(tn,Wt);Object.defineProperty(tn,an,{value:Object.create(on.implementation.prototype),configurable:true});tn[an][nn.wrapperSymbol]=tn;if(on.init){on.init(tn[an])}return tn[an]};const sn=new Set(["Window"]);Pt.install=(Wt,en)=>{if(!en.some((Wt=>sn.has(Wt)))){return}const tn=nn.initCtorRegistry(Wt);class AbstractRange{constructor(){throw new Wt.TypeError("Illegal constructor")}get startContainer(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get startContainer' called on an object that is not a valid instance of AbstractRange.")}return nn.tryWrapperForImpl(en[an]["startContainer"])}get startOffset(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get startOffset' called on an object that is not a valid instance of AbstractRange.")}return en[an]["startOffset"]}get endContainer(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get endContainer' called on an object that is not a valid instance of AbstractRange.")}return nn.tryWrapperForImpl(en[an]["endContainer"])}get endOffset(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get endOffset' called on an object that is not a valid instance of AbstractRange.")}return en[an]["endOffset"]}get collapsed(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get collapsed' called on an object that is not a valid instance of AbstractRange.")}return en[an]["collapsed"]}}Object.defineProperties(AbstractRange.prototype,{startContainer:{enumerable:true},startOffset:{enumerable:true},endContainer:{enumerable:true},endOffset:{enumerable:true},collapsed:{enumerable:true},[Symbol.toStringTag]:{value:"AbstractRange",configurable:true}});tn[rn]=AbstractRange;Object.defineProperty(Wt,rn,{configurable:true,writable:true,value:AbstractRange})};const on=en(63891)},95158:(Wt,Pt,en)=>{const tn=en(37125);const nn=en(87094);const an=en(78845);const In=en(61537);Pt._convertInherit=(Wt,Pt,en,{context:nn="The provided value"}={})=>{In._convertInherit(Wt,Pt,en,{context:nn});{const an="once";let In=Pt===undefined||Pt===null?undefined:Pt[an];if(In!==undefined){In=tn["boolean"](In,{context:nn+" has member 'once' that",globals:Wt});en[an]=In}else{en[an]=false}}{const an="passive";let In=Pt===undefined||Pt===null?undefined:Pt[an];if(In!==undefined){In=tn["boolean"](In,{context:nn+" has member 'passive' that",globals:Wt});en[an]=In}else{en[an]=false}}{const tn="signal";let In=Pt===undefined||Pt===null?undefined:Pt[tn];if(In!==undefined){In=an.convert(Wt,In,{context:nn+" has member 'signal' that"});en[tn]=In}}};Pt.convert=(Wt,en,{context:tn="The provided value"}={})=>{if(en!==undefined&&typeof en!=="object"&&typeof en!=="function"){throw new Wt.TypeError(`${tn} is not an object.`)}const nn=Object.create(null);Pt._convertInherit(Wt,en,nn,{context:tn});return nn}},34894:(Wt,Pt,en)=>{const tn=en(37125);const nn=en(87094);Pt._convertInherit=(Wt,Pt,en,{context:nn="The provided value"}={})=>{{const an="flatten";let In=Pt===undefined||Pt===null?undefined:Pt[an];if(In!==undefined){In=tn["boolean"](In,{context:nn+" has member 'flatten' that",globals:Wt});en[an]=In}else{en[an]=false}}};Pt.convert=(Wt,en,{context:tn="The provided value"}={})=>{if(en!==undefined&&typeof en!=="object"&&typeof en!=="function"){throw new Wt.TypeError(`${tn} is not an object.`)}const nn=Object.create(null);Pt._convertInherit(Wt,en,nn,{context:tn});return nn}},17552:(Wt,Pt,en)=>{const tn=en(37125);const nn=en(87094);const an=en(8348).ceReactionsPreSteps;const In=en(8348).ceReactionsPostSteps;const rn=nn.implSymbol;const sn=nn.ctorRegistrySymbol;const on=en(24171);const cn="Attr";Pt.is=Wt=>nn.isObject(Wt)&&nn.hasOwn(Wt,rn)&&Wt[rn]instanceof un.implementation;Pt.isImpl=Wt=>nn.isObject(Wt)&&Wt instanceof un.implementation;Pt.convert=(Wt,en,{context:tn="The provided value"}={})=>{if(Pt.is(en)){return nn.implForWrapper(en)}throw new Wt.TypeError(`${tn} is not of type 'Attr'.`)};function makeWrapper(Wt,Pt){let en;if(Pt!==undefined){en=Pt.prototype}if(!nn.isObject(en)){en=Wt[sn]["Attr"].prototype}return Object.create(en)}Pt.create=(Wt,en,tn)=>{const nn=makeWrapper(Wt);return Pt.setup(nn,Wt,en,tn)};Pt.createImpl=(Wt,en,tn)=>{const an=Pt.create(Wt,en,tn);return nn.implForWrapper(an)};Pt._internalSetup=(Wt,Pt)=>{on._internalSetup(Wt,Pt)};Pt.setup=(Wt,en,tn=[],an={})=>{an.wrapper=Wt;Pt._internalSetup(Wt,en);Object.defineProperty(Wt,rn,{value:new un.implementation(en,tn,an),configurable:true});Wt[rn][nn.wrapperSymbol]=Wt;if(un.init){un.init(Wt[rn])}return Wt};Pt["new"]=(Wt,en)=>{const tn=makeWrapper(Wt,en);Pt._internalSetup(tn,Wt);Object.defineProperty(tn,rn,{value:Object.create(un.implementation.prototype),configurable:true});tn[rn][nn.wrapperSymbol]=tn;if(un.init){un.init(tn[rn])}return tn[rn]};const dn=new Set(["Window"]);Pt.install=(Wt,en)=>{if(!en.some((Wt=>dn.has(Wt)))){return}const sn=nn.initCtorRegistry(Wt);class Attr extends Wt.Node{constructor(){throw new Wt.TypeError("Illegal constructor")}get namespaceURI(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get namespaceURI' called on an object that is not a valid instance of Attr.")}return en[rn]["namespaceURI"]}get prefix(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get prefix' called on an object that is not a valid instance of Attr.")}return en[rn]["prefix"]}get localName(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get localName' called on an object that is not a valid instance of Attr.")}return en[rn]["localName"]}get name(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get name' called on an object that is not a valid instance of Attr.")}return en[rn]["name"]}get value(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get value' called on an object that is not a valid instance of Attr.")}an(Wt);try{return en[rn]["value"]}finally{In(Wt)}}set value(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set value' called on an object that is not a valid instance of Attr.")}en=tn["DOMString"](en,{context:"Failed to set the 'value' property on 'Attr': The provided value",globals:Wt});an(Wt);try{nn[rn]["value"]=en}finally{In(Wt)}}get ownerElement(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get ownerElement' called on an object that is not a valid instance of Attr.")}return nn.tryWrapperForImpl(en[rn]["ownerElement"])}get specified(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get specified' called on an object that is not a valid instance of Attr.")}return en[rn]["specified"]}}Object.defineProperties(Attr.prototype,{namespaceURI:{enumerable:true},prefix:{enumerable:true},localName:{enumerable:true},name:{enumerable:true},value:{enumerable:true},ownerElement:{enumerable:true},specified:{enumerable:true},[Symbol.toStringTag]:{value:"Attr",configurable:true}});sn[cn]=Attr;Object.defineProperty(Wt,cn,{configurable:true,writable:true,value:Attr})};const un=en(5371)},21183:(Wt,Pt,en)=>{const tn=en(37125);const nn=en(87094);const an=nn.implSymbol;const In=nn.ctorRegistrySymbol;const rn="BarProp";Pt.is=Wt=>nn.isObject(Wt)&&nn.hasOwn(Wt,an)&&Wt[an]instanceof on.implementation;Pt.isImpl=Wt=>nn.isObject(Wt)&&Wt instanceof on.implementation;Pt.convert=(Wt,en,{context:tn="The provided value"}={})=>{if(Pt.is(en)){return nn.implForWrapper(en)}throw new Wt.TypeError(`${tn} is not of type 'BarProp'.`)};function makeWrapper(Wt,Pt){let en;if(Pt!==undefined){en=Pt.prototype}if(!nn.isObject(en)){en=Wt[In]["BarProp"].prototype}return Object.create(en)}Pt.create=(Wt,en,tn)=>{const nn=makeWrapper(Wt);return Pt.setup(nn,Wt,en,tn)};Pt.createImpl=(Wt,en,tn)=>{const an=Pt.create(Wt,en,tn);return nn.implForWrapper(an)};Pt._internalSetup=(Wt,Pt)=>{};Pt.setup=(Wt,en,tn=[],In={})=>{In.wrapper=Wt;Pt._internalSetup(Wt,en);Object.defineProperty(Wt,an,{value:new on.implementation(en,tn,In),configurable:true});Wt[an][nn.wrapperSymbol]=Wt;if(on.init){on.init(Wt[an])}return Wt};Pt["new"]=(Wt,en)=>{const tn=makeWrapper(Wt,en);Pt._internalSetup(tn,Wt);Object.defineProperty(tn,an,{value:Object.create(on.implementation.prototype),configurable:true});tn[an][nn.wrapperSymbol]=tn;if(on.init){on.init(tn[an])}return tn[an]};const sn=new Set(["Window"]);Pt.install=(Wt,en)=>{if(!en.some((Wt=>sn.has(Wt)))){return}const tn=nn.initCtorRegistry(Wt);class BarProp{constructor(){throw new Wt.TypeError("Illegal constructor")}get visible(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get visible' called on an object that is not a valid instance of BarProp.")}return en[an]["visible"]}}Object.defineProperties(BarProp.prototype,{visible:{enumerable:true},[Symbol.toStringTag]:{value:"BarProp",configurable:true}});tn[rn]=BarProp;Object.defineProperty(Wt,rn,{configurable:true,writable:true,value:BarProp})};const on=en(55357)},32334:(Wt,Pt)=>{const en=new Set(["blob","arraybuffer"]);Pt.enumerationValues=en;Pt.convert=(Wt,Pt,{context:tn="The provided value"}={})=>{const nn=`${Pt}`;if(!en.has(nn)){throw new Wt.TypeError(`${tn} '${nn}' is not a valid enumeration value for BinaryType`)}return nn}},42960:(Wt,Pt,en)=>{const tn=en(37125);const nn=en(87094);const an=en(71675);const In=nn.implSymbol;const rn=nn.ctorRegistrySymbol;const sn="Blob";Pt.is=Wt=>nn.isObject(Wt)&&nn.hasOwn(Wt,In)&&Wt[In]instanceof cn.implementation;Pt.isImpl=Wt=>nn.isObject(Wt)&&Wt instanceof cn.implementation;Pt.convert=(Wt,en,{context:tn="The provided value"}={})=>{if(Pt.is(en)){return nn.implForWrapper(en)}throw new Wt.TypeError(`${tn} is not of type 'Blob'.`)};function makeWrapper(Wt,Pt){let en;if(Pt!==undefined){en=Pt.prototype}if(!nn.isObject(en)){en=Wt[rn]["Blob"].prototype}return Object.create(en)}Pt.create=(Wt,en,tn)=>{const nn=makeWrapper(Wt);return Pt.setup(nn,Wt,en,tn)};Pt.createImpl=(Wt,en,tn)=>{const an=Pt.create(Wt,en,tn);return nn.implForWrapper(an)};Pt._internalSetup=(Wt,Pt)=>{};Pt.setup=(Wt,en,tn=[],an={})=>{an.wrapper=Wt;Pt._internalSetup(Wt,en);Object.defineProperty(Wt,In,{value:new cn.implementation(en,tn,an),configurable:true});Wt[In][nn.wrapperSymbol]=Wt;if(cn.init){cn.init(Wt[In])}return Wt};Pt["new"]=(Wt,en)=>{const tn=makeWrapper(Wt,en);Pt._internalSetup(tn,Wt);Object.defineProperty(tn,In,{value:Object.create(cn.implementation.prototype),configurable:true});tn[In][nn.wrapperSymbol]=tn;if(cn.init){cn.init(tn[In])}return tn[In]};const on=new Set(["Window","Worker"]);Pt.install=(Wt,en)=>{if(!en.some((Wt=>on.has(Wt)))){return}const rn=nn.initCtorRegistry(Wt);class Blob{constructor(){const en=[];{let an=arguments[0];if(an!==undefined){if(!nn.isObject(an)){throw new Wt.TypeError("Failed to construct 'Blob': parameter 1"+" is not an iterable object.")}else{const en=[];const In=an;for(let an of In){if(Pt.is(an)){an=nn.implForWrapper(an)}else if(nn.isArrayBuffer(an)){}else if(ArrayBuffer.isView(an)){}else{an=tn["USVString"](an,{context:"Failed to construct 'Blob': parameter 1"+"'s element",globals:Wt})}en.push(an)}an=en}}en.push(an)}{let Pt=arguments[1];Pt=an.convert(Wt,Pt,{context:"Failed to construct 'Blob': parameter 2"});en.push(Pt)}return Pt.setup(Object.create(new.target.prototype),Wt,en)}slice(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'slice' called on an object that is not a valid instance of Blob.")}const an=[];{let Pt=arguments[0];if(Pt!==undefined){Pt=tn["long long"](Pt,{context:"Failed to execute 'slice' on 'Blob': parameter 1",globals:Wt,clamp:true})}an.push(Pt)}{let Pt=arguments[1];if(Pt!==undefined){Pt=tn["long long"](Pt,{context:"Failed to execute 'slice' on 'Blob': parameter 2",globals:Wt,clamp:true})}an.push(Pt)}{let Pt=arguments[2];if(Pt!==undefined){Pt=tn["DOMString"](Pt,{context:"Failed to execute 'slice' on 'Blob': parameter 3",globals:Wt})}an.push(Pt)}return nn.tryWrapperForImpl(en[In].slice(...an))}get size(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get size' called on an object that is not a valid instance of Blob.")}return en[In]["size"]}get type(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get type' called on an object that is not a valid instance of Blob.")}return en[In]["type"]}}Object.defineProperties(Blob.prototype,{slice:{enumerable:true},size:{enumerable:true},type:{enumerable:true},[Symbol.toStringTag]:{value:"Blob",configurable:true}});rn[sn]=Blob;Object.defineProperty(Wt,sn,{configurable:true,writable:true,value:Blob})};const cn=en(23369)},12283:(Wt,Pt,en)=>{const tn=en(37125);const nn=en(87094);Pt.convert=(Wt,Pt,{context:en="The provided value"}={})=>{if(typeof Pt!=="function"){throw new Wt.TypeError(en+" is not a function")}function invokeTheCallbackFunction(Wt){const en=nn.tryWrapperForImpl(this);let tn;Wt=nn.tryWrapperForImpl(Wt);tn=Reflect.apply(Pt,en,[Wt])}invokeTheCallbackFunction.construct=Wt=>{Wt=nn.tryWrapperForImpl(Wt);let en=Reflect.construct(Pt,[Wt])};invokeTheCallbackFunction[nn.wrapperSymbol]=Pt;invokeTheCallbackFunction.objectReference=Pt;return invokeTheCallbackFunction}},71675:(Wt,Pt,en)=>{const tn=en(37125);const nn=en(87094);const an=en(15992);Pt._convertInherit=(Wt,Pt,en,{context:nn="The provided value"}={})=>{{const tn="endings";let In=Pt===undefined||Pt===null?undefined:Pt[tn];if(In!==undefined){In=an.convert(Wt,In,{context:nn+" has member 'endings' that"});en[tn]=In}else{en[tn]="transparent"}}{const an="type";let In=Pt===undefined||Pt===null?undefined:Pt[an];if(In!==undefined){In=tn["DOMString"](In,{context:nn+" has member 'type' that",globals:Wt});en[an]=In}else{en[an]=""}}};Pt.convert=(Wt,en,{context:tn="The provided value"}={})=>{if(en!==undefined&&typeof en!=="object"&&typeof en!=="function"){throw new Wt.TypeError(`${tn} is not an object.`)}const nn=Object.create(null);Pt._convertInherit(Wt,en,nn,{context:tn});return nn}},37711:(Wt,Pt,en)=>{const tn=en(37125);const nn=en(87094);const an=nn.implSymbol;const In=nn.ctorRegistrySymbol;const rn=en(40196);const sn="CDATASection";Pt.is=Wt=>nn.isObject(Wt)&&nn.hasOwn(Wt,an)&&Wt[an]instanceof cn.implementation;Pt.isImpl=Wt=>nn.isObject(Wt)&&Wt instanceof cn.implementation;Pt.convert=(Wt,en,{context:tn="The provided value"}={})=>{if(Pt.is(en)){return nn.implForWrapper(en)}throw new Wt.TypeError(`${tn} is not of type 'CDATASection'.`)};function makeWrapper(Wt,Pt){let en;if(Pt!==undefined){en=Pt.prototype}if(!nn.isObject(en)){en=Wt[In]["CDATASection"].prototype}return Object.create(en)}Pt.create=(Wt,en,tn)=>{const nn=makeWrapper(Wt);return Pt.setup(nn,Wt,en,tn)};Pt.createImpl=(Wt,en,tn)=>{const an=Pt.create(Wt,en,tn);return nn.implForWrapper(an)};Pt._internalSetup=(Wt,Pt)=>{rn._internalSetup(Wt,Pt)};Pt.setup=(Wt,en,tn=[],In={})=>{In.wrapper=Wt;Pt._internalSetup(Wt,en);Object.defineProperty(Wt,an,{value:new cn.implementation(en,tn,In),configurable:true});Wt[an][nn.wrapperSymbol]=Wt;if(cn.init){cn.init(Wt[an])}return Wt};Pt["new"]=(Wt,en)=>{const tn=makeWrapper(Wt,en);Pt._internalSetup(tn,Wt);Object.defineProperty(tn,an,{value:Object.create(cn.implementation.prototype),configurable:true});tn[an][nn.wrapperSymbol]=tn;if(cn.init){cn.init(tn[an])}return tn[an]};const on=new Set(["Window"]);Pt.install=(Wt,Pt)=>{if(!Pt.some((Wt=>on.has(Wt)))){return}const en=nn.initCtorRegistry(Wt);class CDATASection extends Wt.Text{constructor(){throw new Wt.TypeError("Illegal constructor")}}Object.defineProperties(CDATASection.prototype,{[Symbol.toStringTag]:{value:"CDATASection",configurable:true}});en[sn]=CDATASection;Object.defineProperty(Wt,sn,{configurable:true,writable:true,value:CDATASection})};const cn=en(40590)},30052:(Wt,Pt,en)=>{const tn=en(37125);const nn=en(87094);const an=en(24171);const In=en(8348).ceReactionsPreSteps;const rn=en(8348).ceReactionsPostSteps;const sn=nn.implSymbol;const on=nn.ctorRegistrySymbol;const cn="CharacterData";Pt.is=Wt=>nn.isObject(Wt)&&nn.hasOwn(Wt,sn)&&Wt[sn]instanceof un.implementation;Pt.isImpl=Wt=>nn.isObject(Wt)&&Wt instanceof un.implementation;Pt.convert=(Wt,en,{context:tn="The provided value"}={})=>{if(Pt.is(en)){return nn.implForWrapper(en)}throw new Wt.TypeError(`${tn} is not of type 'CharacterData'.`)};function makeWrapper(Wt,Pt){let en;if(Pt!==undefined){en=Pt.prototype}if(!nn.isObject(en)){en=Wt[on]["CharacterData"].prototype}return Object.create(en)}Pt.create=(Wt,en,tn)=>{const nn=makeWrapper(Wt);return Pt.setup(nn,Wt,en,tn)};Pt.createImpl=(Wt,en,tn)=>{const an=Pt.create(Wt,en,tn);return nn.implForWrapper(an)};Pt._internalSetup=(Wt,Pt)=>{an._internalSetup(Wt,Pt)};Pt.setup=(Wt,en,tn=[],an={})=>{an.wrapper=Wt;Pt._internalSetup(Wt,en);Object.defineProperty(Wt,sn,{value:new un.implementation(en,tn,an),configurable:true});Wt[sn][nn.wrapperSymbol]=Wt;if(un.init){un.init(Wt[sn])}return Wt};Pt["new"]=(Wt,en)=>{const tn=makeWrapper(Wt,en);Pt._internalSetup(tn,Wt);Object.defineProperty(tn,sn,{value:Object.create(un.implementation.prototype),configurable:true});tn[sn][nn.wrapperSymbol]=tn;if(un.init){un.init(tn[sn])}return tn[sn]};const dn=new Set(["Window"]);Pt.install=(Wt,en)=>{if(!en.some((Wt=>dn.has(Wt)))){return}const on=nn.initCtorRegistry(Wt);class CharacterData extends Wt.Node{constructor(){throw new Wt.TypeError("Illegal constructor")}substringData(en,nn){const an=this!==null&&this!==undefined?this:Wt;if(!Pt.is(an)){throw new Wt.TypeError("'substringData' called on an object that is not a valid instance of CharacterData.")}if(arguments.length<2){throw new Wt.TypeError(`Failed to execute 'substringData' on 'CharacterData': 2 arguments required, but only ${arguments.length} present.`)}const In=[];{let Pt=arguments[0];Pt=tn["unsigned long"](Pt,{context:"Failed to execute 'substringData' on 'CharacterData': parameter 1",globals:Wt});In.push(Pt)}{let Pt=arguments[1];Pt=tn["unsigned long"](Pt,{context:"Failed to execute 'substringData' on 'CharacterData': parameter 2",globals:Wt});In.push(Pt)}return an[sn].substringData(...In)}appendData(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'appendData' called on an object that is not a valid instance of CharacterData.")}if(arguments.length<1){throw new Wt.TypeError(`Failed to execute 'appendData' on 'CharacterData': 1 argument required, but only ${arguments.length} present.`)}const an=[];{let Pt=arguments[0];Pt=tn["DOMString"](Pt,{context:"Failed to execute 'appendData' on 'CharacterData': parameter 1",globals:Wt});an.push(Pt)}return nn[sn].appendData(...an)}insertData(en,nn){const an=this!==null&&this!==undefined?this:Wt;if(!Pt.is(an)){throw new Wt.TypeError("'insertData' called on an object that is not a valid instance of CharacterData.")}if(arguments.length<2){throw new Wt.TypeError(`Failed to execute 'insertData' on 'CharacterData': 2 arguments required, but only ${arguments.length} present.`)}const In=[];{let Pt=arguments[0];Pt=tn["unsigned long"](Pt,{context:"Failed to execute 'insertData' on 'CharacterData': parameter 1",globals:Wt});In.push(Pt)}{let Pt=arguments[1];Pt=tn["DOMString"](Pt,{context:"Failed to execute 'insertData' on 'CharacterData': parameter 2",globals:Wt});In.push(Pt)}return an[sn].insertData(...In)}deleteData(en,nn){const an=this!==null&&this!==undefined?this:Wt;if(!Pt.is(an)){throw new Wt.TypeError("'deleteData' called on an object that is not a valid instance of CharacterData.")}if(arguments.length<2){throw new Wt.TypeError(`Failed to execute 'deleteData' on 'CharacterData': 2 arguments required, but only ${arguments.length} present.`)}const In=[];{let Pt=arguments[0];Pt=tn["unsigned long"](Pt,{context:"Failed to execute 'deleteData' on 'CharacterData': parameter 1",globals:Wt});In.push(Pt)}{let Pt=arguments[1];Pt=tn["unsigned long"](Pt,{context:"Failed to execute 'deleteData' on 'CharacterData': parameter 2",globals:Wt});In.push(Pt)}return an[sn].deleteData(...In)}replaceData(en,nn,an){const In=this!==null&&this!==undefined?this:Wt;if(!Pt.is(In)){throw new Wt.TypeError("'replaceData' called on an object that is not a valid instance of CharacterData.")}if(arguments.length<3){throw new Wt.TypeError(`Failed to execute 'replaceData' on 'CharacterData': 3 arguments required, but only ${arguments.length} present.`)}const rn=[];{let Pt=arguments[0];Pt=tn["unsigned long"](Pt,{context:"Failed to execute 'replaceData' on 'CharacterData': parameter 1",globals:Wt});rn.push(Pt)}{let Pt=arguments[1];Pt=tn["unsigned long"](Pt,{context:"Failed to execute 'replaceData' on 'CharacterData': parameter 2",globals:Wt});rn.push(Pt)}{let Pt=arguments[2];Pt=tn["DOMString"](Pt,{context:"Failed to execute 'replaceData' on 'CharacterData': parameter 3",globals:Wt});rn.push(Pt)}return In[sn].replaceData(...rn)}before(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'before' called on an object that is not a valid instance of CharacterData.")}const on=[];for(let Pt=0;Pt{const tn=en(37125);const nn=en(87094);const an=en(80321);const In=nn.implSymbol;const rn=nn.ctorRegistrySymbol;const sn=en(94431);const on="CloseEvent";Pt.is=Wt=>nn.isObject(Wt)&&nn.hasOwn(Wt,In)&&Wt[In]instanceof dn.implementation;Pt.isImpl=Wt=>nn.isObject(Wt)&&Wt instanceof dn.implementation;Pt.convert=(Wt,en,{context:tn="The provided value"}={})=>{if(Pt.is(en)){return nn.implForWrapper(en)}throw new Wt.TypeError(`${tn} is not of type 'CloseEvent'.`)};function makeWrapper(Wt,Pt){let en;if(Pt!==undefined){en=Pt.prototype}if(!nn.isObject(en)){en=Wt[rn]["CloseEvent"].prototype}return Object.create(en)}Pt.create=(Wt,en,tn)=>{const nn=makeWrapper(Wt);return Pt.setup(nn,Wt,en,tn)};Pt.createImpl=(Wt,en,tn)=>{const an=Pt.create(Wt,en,tn);return nn.implForWrapper(an)};Pt._internalSetup=(Wt,Pt)=>{sn._internalSetup(Wt,Pt)};Pt.setup=(Wt,en,tn=[],an={})=>{an.wrapper=Wt;Pt._internalSetup(Wt,en);Object.defineProperty(Wt,In,{value:new dn.implementation(en,tn,an),configurable:true});Wt[In][nn.wrapperSymbol]=Wt;if(dn.init){dn.init(Wt[In])}return Wt};Pt["new"]=(Wt,en)=>{const tn=makeWrapper(Wt,en);Pt._internalSetup(tn,Wt);Object.defineProperty(tn,In,{value:Object.create(dn.implementation.prototype),configurable:true});tn[In][nn.wrapperSymbol]=tn;if(dn.init){dn.init(tn[In])}return tn[In]};const cn=new Set(["Window","Worker"]);Pt.install=(Wt,en)=>{if(!en.some((Wt=>cn.has(Wt)))){return}const rn=nn.initCtorRegistry(Wt);class CloseEvent extends Wt.Event{constructor(en){if(arguments.length<1){throw new Wt.TypeError(`Failed to construct 'CloseEvent': 1 argument required, but only ${arguments.length} present.`)}const nn=[];{let Pt=arguments[0];Pt=tn["DOMString"](Pt,{context:"Failed to construct 'CloseEvent': parameter 1",globals:Wt});nn.push(Pt)}{let Pt=arguments[1];Pt=an.convert(Wt,Pt,{context:"Failed to construct 'CloseEvent': parameter 2"});nn.push(Pt)}return Pt.setup(Object.create(new.target.prototype),Wt,nn)}get wasClean(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get wasClean' called on an object that is not a valid instance of CloseEvent.")}return en[In]["wasClean"]}get code(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get code' called on an object that is not a valid instance of CloseEvent.")}return en[In]["code"]}get reason(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get reason' called on an object that is not a valid instance of CloseEvent.")}return en[In]["reason"]}}Object.defineProperties(CloseEvent.prototype,{wasClean:{enumerable:true},code:{enumerable:true},reason:{enumerable:true},[Symbol.toStringTag]:{value:"CloseEvent",configurable:true}});rn[on]=CloseEvent;Object.defineProperty(Wt,on,{configurable:true,writable:true,value:CloseEvent})};const dn=en(53642)},80321:(Wt,Pt,en)=>{const tn=en(37125);const nn=en(87094);const an=en(31893);Pt._convertInherit=(Wt,Pt,en,{context:nn="The provided value"}={})=>{an._convertInherit(Wt,Pt,en,{context:nn});{const an="code";let In=Pt===undefined||Pt===null?undefined:Pt[an];if(In!==undefined){In=tn["unsigned short"](In,{context:nn+" has member 'code' that",globals:Wt});en[an]=In}else{en[an]=0}}{const an="reason";let In=Pt===undefined||Pt===null?undefined:Pt[an];if(In!==undefined){In=tn["USVString"](In,{context:nn+" has member 'reason' that",globals:Wt});en[an]=In}else{en[an]=""}}{const an="wasClean";let In=Pt===undefined||Pt===null?undefined:Pt[an];if(In!==undefined){In=tn["boolean"](In,{context:nn+" has member 'wasClean' that",globals:Wt});en[an]=In}else{en[an]=false}}};Pt.convert=(Wt,en,{context:tn="The provided value"}={})=>{if(en!==undefined&&typeof en!=="object"&&typeof en!=="function"){throw new Wt.TypeError(`${tn} is not an object.`)}const nn=Object.create(null);Pt._convertInherit(Wt,en,nn,{context:tn});return nn}},22918:(Wt,Pt,en)=>{const tn=en(37125);const nn=en(87094);const an=nn.implSymbol;const In=nn.ctorRegistrySymbol;const rn=en(30052);const sn="Comment";Pt.is=Wt=>nn.isObject(Wt)&&nn.hasOwn(Wt,an)&&Wt[an]instanceof cn.implementation;Pt.isImpl=Wt=>nn.isObject(Wt)&&Wt instanceof cn.implementation;Pt.convert=(Wt,en,{context:tn="The provided value"}={})=>{if(Pt.is(en)){return nn.implForWrapper(en)}throw new Wt.TypeError(`${tn} is not of type 'Comment'.`)};function makeWrapper(Wt,Pt){let en;if(Pt!==undefined){en=Pt.prototype}if(!nn.isObject(en)){en=Wt[In]["Comment"].prototype}return Object.create(en)}Pt.create=(Wt,en,tn)=>{const nn=makeWrapper(Wt);return Pt.setup(nn,Wt,en,tn)};Pt.createImpl=(Wt,en,tn)=>{const an=Pt.create(Wt,en,tn);return nn.implForWrapper(an)};Pt._internalSetup=(Wt,Pt)=>{rn._internalSetup(Wt,Pt)};Pt.setup=(Wt,en,tn=[],In={})=>{In.wrapper=Wt;Pt._internalSetup(Wt,en);Object.defineProperty(Wt,an,{value:new cn.implementation(en,tn,In),configurable:true});Wt[an][nn.wrapperSymbol]=Wt;if(cn.init){cn.init(Wt[an])}return Wt};Pt["new"]=(Wt,en)=>{const tn=makeWrapper(Wt,en);Pt._internalSetup(tn,Wt);Object.defineProperty(tn,an,{value:Object.create(cn.implementation.prototype),configurable:true});tn[an][nn.wrapperSymbol]=tn;if(cn.init){cn.init(tn[an])}return tn[an]};const on=new Set(["Window"]);Pt.install=(Wt,en)=>{if(!en.some((Wt=>on.has(Wt)))){return}const an=nn.initCtorRegistry(Wt);class Comment extends Wt.CharacterData{constructor(){const en=[];{let Pt=arguments[0];if(Pt!==undefined){Pt=tn["DOMString"](Pt,{context:"Failed to construct 'Comment': parameter 1",globals:Wt})}else{Pt=""}en.push(Pt)}return Pt.setup(Object.create(new.target.prototype),Wt,en)}}Object.defineProperties(Comment.prototype,{[Symbol.toStringTag]:{value:"Comment",configurable:true}});an[sn]=Comment;Object.defineProperty(Wt,sn,{configurable:true,writable:true,value:Comment})};const cn=en(72773)},2921:(Wt,Pt,en)=>{const tn=en(37125);const nn=en(87094);const an=en(30155);const In=nn.implSymbol;const rn=nn.ctorRegistrySymbol;const sn=en(38921);const on="CompositionEvent";Pt.is=Wt=>nn.isObject(Wt)&&nn.hasOwn(Wt,In)&&Wt[In]instanceof dn.implementation;Pt.isImpl=Wt=>nn.isObject(Wt)&&Wt instanceof dn.implementation;Pt.convert=(Wt,en,{context:tn="The provided value"}={})=>{if(Pt.is(en)){return nn.implForWrapper(en)}throw new Wt.TypeError(`${tn} is not of type 'CompositionEvent'.`)};function makeWrapper(Wt,Pt){let en;if(Pt!==undefined){en=Pt.prototype}if(!nn.isObject(en)){en=Wt[rn]["CompositionEvent"].prototype}return Object.create(en)}Pt.create=(Wt,en,tn)=>{const nn=makeWrapper(Wt);return Pt.setup(nn,Wt,en,tn)};Pt.createImpl=(Wt,en,tn)=>{const an=Pt.create(Wt,en,tn);return nn.implForWrapper(an)};Pt._internalSetup=(Wt,Pt)=>{sn._internalSetup(Wt,Pt)};Pt.setup=(Wt,en,tn=[],an={})=>{an.wrapper=Wt;Pt._internalSetup(Wt,en);Object.defineProperty(Wt,In,{value:new dn.implementation(en,tn,an),configurable:true});Wt[In][nn.wrapperSymbol]=Wt;if(dn.init){dn.init(Wt[In])}return Wt};Pt["new"]=(Wt,en)=>{const tn=makeWrapper(Wt,en);Pt._internalSetup(tn,Wt);Object.defineProperty(tn,In,{value:Object.create(dn.implementation.prototype),configurable:true});tn[In][nn.wrapperSymbol]=tn;if(dn.init){dn.init(tn[In])}return tn[In]};const cn=new Set(["Window"]);Pt.install=(Wt,en)=>{if(!en.some((Wt=>cn.has(Wt)))){return}const rn=nn.initCtorRegistry(Wt);class CompositionEvent extends Wt.UIEvent{constructor(en){if(arguments.length<1){throw new Wt.TypeError(`Failed to construct 'CompositionEvent': 1 argument required, but only ${arguments.length} present.`)}const nn=[];{let Pt=arguments[0];Pt=tn["DOMString"](Pt,{context:"Failed to construct 'CompositionEvent': parameter 1",globals:Wt});nn.push(Pt)}{let Pt=arguments[1];Pt=an.convert(Wt,Pt,{context:"Failed to construct 'CompositionEvent': parameter 2"});nn.push(Pt)}return Pt.setup(Object.create(new.target.prototype),Wt,nn)}initCompositionEvent(en){const an=this!==null&&this!==undefined?this:Wt;if(!Pt.is(an)){throw new Wt.TypeError("'initCompositionEvent' called on an object that is not a valid instance of CompositionEvent.")}if(arguments.length<1){throw new Wt.TypeError(`Failed to execute 'initCompositionEvent' on 'CompositionEvent': 1 argument required, but only ${arguments.length} present.`)}const rn=[];{let Pt=arguments[0];Pt=tn["DOMString"](Pt,{context:"Failed to execute 'initCompositionEvent' on 'CompositionEvent': parameter 1",globals:Wt});rn.push(Pt)}{let Pt=arguments[1];if(Pt!==undefined){Pt=tn["boolean"](Pt,{context:"Failed to execute 'initCompositionEvent' on 'CompositionEvent': parameter 2",globals:Wt})}else{Pt=false}rn.push(Pt)}{let Pt=arguments[2];if(Pt!==undefined){Pt=tn["boolean"](Pt,{context:"Failed to execute 'initCompositionEvent' on 'CompositionEvent': parameter 3",globals:Wt})}else{Pt=false}rn.push(Pt)}{let Wt=arguments[3];if(Wt!==undefined){if(Wt===null||Wt===undefined){Wt=null}else{Wt=nn.tryImplForWrapper(Wt)}}else{Wt=null}rn.push(Wt)}{let Pt=arguments[4];if(Pt!==undefined){Pt=tn["DOMString"](Pt,{context:"Failed to execute 'initCompositionEvent' on 'CompositionEvent': parameter 5",globals:Wt})}else{Pt=""}rn.push(Pt)}return an[In].initCompositionEvent(...rn)}get data(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get data' called on an object that is not a valid instance of CompositionEvent.")}return en[In]["data"]}}Object.defineProperties(CompositionEvent.prototype,{initCompositionEvent:{enumerable:true},data:{enumerable:true},[Symbol.toStringTag]:{value:"CompositionEvent",configurable:true}});rn[on]=CompositionEvent;Object.defineProperty(Wt,on,{configurable:true,writable:true,value:CompositionEvent})};const dn=en(89076)},30155:(Wt,Pt,en)=>{const tn=en(37125);const nn=en(87094);const an=en(27019);Pt._convertInherit=(Wt,Pt,en,{context:nn="The provided value"}={})=>{an._convertInherit(Wt,Pt,en,{context:nn});{const an="data";let In=Pt===undefined||Pt===null?undefined:Pt[an];if(In!==undefined){In=tn["DOMString"](In,{context:nn+" has member 'data' that",globals:Wt});en[an]=In}else{en[an]=""}}};Pt.convert=(Wt,en,{context:tn="The provided value"}={})=>{if(en!==undefined&&typeof en!=="object"&&typeof en!=="function"){throw new Wt.TypeError(`${tn} is not an object.`)}const nn=Object.create(null);Pt._convertInherit(Wt,en,nn,{context:tn});return nn}},19346:(Wt,Pt,en)=>{const tn=en(37125);const nn=en(87094);const an=nn.implSymbol;const In=nn.ctorRegistrySymbol;const rn="Crypto";Pt.is=Wt=>nn.isObject(Wt)&&nn.hasOwn(Wt,an)&&Wt[an]instanceof on.implementation;Pt.isImpl=Wt=>nn.isObject(Wt)&&Wt instanceof on.implementation;Pt.convert=(Wt,en,{context:tn="The provided value"}={})=>{if(Pt.is(en)){return nn.implForWrapper(en)}throw new Wt.TypeError(`${tn} is not of type 'Crypto'.`)};function makeWrapper(Wt,Pt){let en;if(Pt!==undefined){en=Pt.prototype}if(!nn.isObject(en)){en=Wt[In]["Crypto"].prototype}return Object.create(en)}Pt.create=(Wt,en,tn)=>{const nn=makeWrapper(Wt);return Pt.setup(nn,Wt,en,tn)};Pt.createImpl=(Wt,en,tn)=>{const an=Pt.create(Wt,en,tn);return nn.implForWrapper(an)};Pt._internalSetup=(Wt,Pt)=>{};Pt.setup=(Wt,en,tn=[],In={})=>{In.wrapper=Wt;Pt._internalSetup(Wt,en);Object.defineProperty(Wt,an,{value:new on.implementation(en,tn,In),configurable:true});Wt[an][nn.wrapperSymbol]=Wt;if(on.init){on.init(Wt[an])}return Wt};Pt["new"]=(Wt,en)=>{const tn=makeWrapper(Wt,en);Pt._internalSetup(tn,Wt);Object.defineProperty(tn,an,{value:Object.create(on.implementation.prototype),configurable:true});tn[an][nn.wrapperSymbol]=tn;if(on.init){on.init(tn[an])}return tn[an]};const sn=new Set(["Window","Worker"]);Pt.install=(Wt,en)=>{if(!en.some((Wt=>sn.has(Wt)))){return}const tn=nn.initCtorRegistry(Wt);class Crypto{constructor(){throw new Wt.TypeError("Illegal constructor")}getRandomValues(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'getRandomValues' called on an object that is not a valid instance of Crypto.")}if(arguments.length<1){throw new Wt.TypeError(`Failed to execute 'getRandomValues' on 'Crypto': 1 argument required, but only ${arguments.length} present.`)}const nn=[];{let Pt=arguments[0];if(ArrayBuffer.isView(Pt)){}else{throw new Wt.TypeError("Failed to execute 'getRandomValues' on 'Crypto': parameter 1"+" is not of any supported type.")}nn.push(Pt)}return tn[an].getRandomValues(...nn)}randomUUID(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'randomUUID' called on an object that is not a valid instance of Crypto.")}return en[an].randomUUID()}}Object.defineProperties(Crypto.prototype,{getRandomValues:{enumerable:true},randomUUID:{enumerable:true},[Symbol.toStringTag]:{value:"Crypto",configurable:true}});tn[rn]=Crypto;Object.defineProperty(Wt,rn,{configurable:true,writable:true,value:Crypto})};const on=en(32001)},30292:(Wt,Pt,en)=>{const tn=en(37125);const nn=en(87094);Pt.convert=(Wt,Pt,{context:en="The provided value"}={})=>{if(typeof Pt!=="function"){throw new Wt.TypeError(en+" is not a function")}function invokeTheCallbackFunction(){const an=nn.tryWrapperForImpl(this);let In;In=Reflect.apply(Pt,an,[]);In=tn["any"](In,{context:en,globals:Wt});return In}invokeTheCallbackFunction.construct=()=>{let nn=Reflect.construct(Pt,[]);nn=tn["any"](nn,{context:en,globals:Wt});return nn};invokeTheCallbackFunction[nn.wrapperSymbol]=Pt;invokeTheCallbackFunction.objectReference=Pt;return invokeTheCallbackFunction}},46193:(Wt,Pt,en)=>{const tn=en(37125);const nn=en(87094);const an=en(30292);const In=en(93202);const rn=en(8348).ceReactionsPreSteps;const sn=en(8348).ceReactionsPostSteps;const on=en(24171);const cn=nn.implSymbol;const dn=nn.ctorRegistrySymbol;const un="CustomElementRegistry";Pt.is=Wt=>nn.isObject(Wt)&&nn.hasOwn(Wt,cn)&&Wt[cn]instanceof mn.implementation;Pt.isImpl=Wt=>nn.isObject(Wt)&&Wt instanceof mn.implementation;Pt.convert=(Wt,en,{context:tn="The provided value"}={})=>{if(Pt.is(en)){return nn.implForWrapper(en)}throw new Wt.TypeError(`${tn} is not of type 'CustomElementRegistry'.`)};function makeWrapper(Wt,Pt){let en;if(Pt!==undefined){en=Pt.prototype}if(!nn.isObject(en)){en=Wt[dn]["CustomElementRegistry"].prototype}return Object.create(en)}Pt.create=(Wt,en,tn)=>{const nn=makeWrapper(Wt);return Pt.setup(nn,Wt,en,tn)};Pt.createImpl=(Wt,en,tn)=>{const an=Pt.create(Wt,en,tn);return nn.implForWrapper(an)};Pt._internalSetup=(Wt,Pt)=>{};Pt.setup=(Wt,en,tn=[],an={})=>{an.wrapper=Wt;Pt._internalSetup(Wt,en);Object.defineProperty(Wt,cn,{value:new mn.implementation(en,tn,an),configurable:true});Wt[cn][nn.wrapperSymbol]=Wt;if(mn.init){mn.init(Wt[cn])}return Wt};Pt["new"]=(Wt,en)=>{const tn=makeWrapper(Wt,en);Pt._internalSetup(tn,Wt);Object.defineProperty(tn,cn,{value:Object.create(mn.implementation.prototype),configurable:true});tn[cn][nn.wrapperSymbol]=tn;if(mn.init){mn.init(tn[cn])}return tn[cn]};const pn=new Set(["Window"]);Pt.install=(Wt,en)=>{if(!en.some((Wt=>pn.has(Wt)))){return}const dn=nn.initCtorRegistry(Wt);class CustomElementRegistry{constructor(){throw new Wt.TypeError("Illegal constructor")}define(en,nn){const on=this!==null&&this!==undefined?this:Wt;if(!Pt.is(on)){throw new Wt.TypeError("'define' called on an object that is not a valid instance of CustomElementRegistry.")}if(arguments.length<2){throw new Wt.TypeError(`Failed to execute 'define' on 'CustomElementRegistry': 2 arguments required, but only ${arguments.length} present.`)}const dn=[];{let Pt=arguments[0];Pt=tn["DOMString"](Pt,{context:"Failed to execute 'define' on 'CustomElementRegistry': parameter 1",globals:Wt});dn.push(Pt)}{let Pt=arguments[1];Pt=an.convert(Wt,Pt,{context:"Failed to execute 'define' on 'CustomElementRegistry': parameter 2"});dn.push(Pt)}{let Pt=arguments[2];Pt=In.convert(Wt,Pt,{context:"Failed to execute 'define' on 'CustomElementRegistry': parameter 3"});dn.push(Pt)}rn(Wt);try{return on[cn].define(...dn)}finally{sn(Wt)}}get(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'get' called on an object that is not a valid instance of CustomElementRegistry.")}if(arguments.length<1){throw new Wt.TypeError(`Failed to execute 'get' on 'CustomElementRegistry': 1 argument required, but only ${arguments.length} present.`)}const an=[];{let Pt=arguments[0];Pt=tn["DOMString"](Pt,{context:"Failed to execute 'get' on 'CustomElementRegistry': parameter 1",globals:Wt});an.push(Pt)}return nn[cn].get(...an)}whenDefined(en){try{const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'whenDefined' called on an object that is not a valid instance of CustomElementRegistry.")}if(arguments.length<1){throw new Wt.TypeError(`Failed to execute 'whenDefined' on 'CustomElementRegistry': 1 argument required, but only ${arguments.length} present.`)}const an=[];{let Pt=arguments[0];Pt=tn["DOMString"](Pt,{context:"Failed to execute 'whenDefined' on 'CustomElementRegistry': parameter 1",globals:Wt});an.push(Pt)}return nn.tryWrapperForImpl(en[cn].whenDefined(...an))}catch(Pt){return Wt.Promise.reject(Pt)}}upgrade(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'upgrade' called on an object that is not a valid instance of CustomElementRegistry.")}if(arguments.length<1){throw new Wt.TypeError(`Failed to execute 'upgrade' on 'CustomElementRegistry': 1 argument required, but only ${arguments.length} present.`)}const nn=[];{let Pt=arguments[0];Pt=on.convert(Wt,Pt,{context:"Failed to execute 'upgrade' on 'CustomElementRegistry': parameter 1"});nn.push(Pt)}rn(Wt);try{return tn[cn].upgrade(...nn)}finally{sn(Wt)}}}Object.defineProperties(CustomElementRegistry.prototype,{define:{enumerable:true},get:{enumerable:true},whenDefined:{enumerable:true},upgrade:{enumerable:true},[Symbol.toStringTag]:{value:"CustomElementRegistry",configurable:true}});dn[un]=CustomElementRegistry;Object.defineProperty(Wt,un,{configurable:true,writable:true,value:CustomElementRegistry})};const mn=en(1742)},73050:(Wt,Pt,en)=>{const tn=en(37125);const nn=en(87094);const an=en(87404);const In=nn.implSymbol;const rn=nn.ctorRegistrySymbol;const sn=en(94431);const on="CustomEvent";Pt.is=Wt=>nn.isObject(Wt)&&nn.hasOwn(Wt,In)&&Wt[In]instanceof dn.implementation;Pt.isImpl=Wt=>nn.isObject(Wt)&&Wt instanceof dn.implementation;Pt.convert=(Wt,en,{context:tn="The provided value"}={})=>{if(Pt.is(en)){return nn.implForWrapper(en)}throw new Wt.TypeError(`${tn} is not of type 'CustomEvent'.`)};function makeWrapper(Wt,Pt){let en;if(Pt!==undefined){en=Pt.prototype}if(!nn.isObject(en)){en=Wt[rn]["CustomEvent"].prototype}return Object.create(en)}Pt.create=(Wt,en,tn)=>{const nn=makeWrapper(Wt);return Pt.setup(nn,Wt,en,tn)};Pt.createImpl=(Wt,en,tn)=>{const an=Pt.create(Wt,en,tn);return nn.implForWrapper(an)};Pt._internalSetup=(Wt,Pt)=>{sn._internalSetup(Wt,Pt)};Pt.setup=(Wt,en,tn=[],an={})=>{an.wrapper=Wt;Pt._internalSetup(Wt,en);Object.defineProperty(Wt,In,{value:new dn.implementation(en,tn,an),configurable:true});Wt[In][nn.wrapperSymbol]=Wt;if(dn.init){dn.init(Wt[In])}return Wt};Pt["new"]=(Wt,en)=>{const tn=makeWrapper(Wt,en);Pt._internalSetup(tn,Wt);Object.defineProperty(tn,In,{value:Object.create(dn.implementation.prototype),configurable:true});tn[In][nn.wrapperSymbol]=tn;if(dn.init){dn.init(tn[In])}return tn[In]};const cn=new Set(["Window","Worker"]);Pt.install=(Wt,en)=>{if(!en.some((Wt=>cn.has(Wt)))){return}const rn=nn.initCtorRegistry(Wt);class CustomEvent extends Wt.Event{constructor(en){if(arguments.length<1){throw new Wt.TypeError(`Failed to construct 'CustomEvent': 1 argument required, but only ${arguments.length} present.`)}const nn=[];{let Pt=arguments[0];Pt=tn["DOMString"](Pt,{context:"Failed to construct 'CustomEvent': parameter 1",globals:Wt});nn.push(Pt)}{let Pt=arguments[1];Pt=an.convert(Wt,Pt,{context:"Failed to construct 'CustomEvent': parameter 2"});nn.push(Pt)}return Pt.setup(Object.create(new.target.prototype),Wt,nn)}initCustomEvent(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'initCustomEvent' called on an object that is not a valid instance of CustomEvent.")}if(arguments.length<1){throw new Wt.TypeError(`Failed to execute 'initCustomEvent' on 'CustomEvent': 1 argument required, but only ${arguments.length} present.`)}const an=[];{let Pt=arguments[0];Pt=tn["DOMString"](Pt,{context:"Failed to execute 'initCustomEvent' on 'CustomEvent': parameter 1",globals:Wt});an.push(Pt)}{let Pt=arguments[1];if(Pt!==undefined){Pt=tn["boolean"](Pt,{context:"Failed to execute 'initCustomEvent' on 'CustomEvent': parameter 2",globals:Wt})}else{Pt=false}an.push(Pt)}{let Pt=arguments[2];if(Pt!==undefined){Pt=tn["boolean"](Pt,{context:"Failed to execute 'initCustomEvent' on 'CustomEvent': parameter 3",globals:Wt})}else{Pt=false}an.push(Pt)}{let Pt=arguments[3];if(Pt!==undefined){Pt=tn["any"](Pt,{context:"Failed to execute 'initCustomEvent' on 'CustomEvent': parameter 4",globals:Wt})}else{Pt=null}an.push(Pt)}return nn[In].initCustomEvent(...an)}get detail(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get detail' called on an object that is not a valid instance of CustomEvent.")}return en[In]["detail"]}}Object.defineProperties(CustomEvent.prototype,{initCustomEvent:{enumerable:true},detail:{enumerable:true},[Symbol.toStringTag]:{value:"CustomEvent",configurable:true}});rn[on]=CustomEvent;Object.defineProperty(Wt,on,{configurable:true,writable:true,value:CustomEvent})};const dn=en(80769)},87404:(Wt,Pt,en)=>{const tn=en(37125);const nn=en(87094);const an=en(31893);Pt._convertInherit=(Wt,Pt,en,{context:nn="The provided value"}={})=>{an._convertInherit(Wt,Pt,en,{context:nn});{const an="detail";let In=Pt===undefined||Pt===null?undefined:Pt[an];if(In!==undefined){In=tn["any"](In,{context:nn+" has member 'detail' that",globals:Wt});en[an]=In}else{en[an]=null}}};Pt.convert=(Wt,en,{context:tn="The provided value"}={})=>{if(en!==undefined&&typeof en!=="object"&&typeof en!=="function"){throw new Wt.TypeError(`${tn} is not an object.`)}const nn=Object.create(null);Pt._convertInherit(Wt,en,nn,{context:tn});return nn}},16694:(Wt,Pt,en)=>{const tn=en(37125);const nn=en(87094);const an=nn.implSymbol;const In=nn.ctorRegistrySymbol;const rn="DOMException";Pt.is=Wt=>nn.isObject(Wt)&&nn.hasOwn(Wt,an)&&Wt[an]instanceof on.implementation;Pt.isImpl=Wt=>nn.isObject(Wt)&&Wt instanceof on.implementation;Pt.convert=(Wt,en,{context:tn="The provided value"}={})=>{if(Pt.is(en)){return nn.implForWrapper(en)}throw new Wt.TypeError(`${tn} is not of type 'DOMException'.`)};function makeWrapper(Wt,Pt){let en;if(Pt!==undefined){en=Pt.prototype}if(!nn.isObject(en)){en=Wt[In]["DOMException"].prototype}return Object.create(en)}Pt.create=(Wt,en,tn)=>{const nn=makeWrapper(Wt);return Pt.setup(nn,Wt,en,tn)};Pt.createImpl=(Wt,en,tn)=>{const an=Pt.create(Wt,en,tn);return nn.implForWrapper(an)};Pt._internalSetup=(Wt,Pt)=>{};Pt.setup=(Wt,en,tn=[],In={})=>{In.wrapper=Wt;Pt._internalSetup(Wt,en);Object.defineProperty(Wt,an,{value:new on.implementation(en,tn,In),configurable:true});Wt[an][nn.wrapperSymbol]=Wt;if(on.init){on.init(Wt[an])}return Wt};Pt["new"]=(Wt,en)=>{const tn=makeWrapper(Wt,en);Pt._internalSetup(tn,Wt);Object.defineProperty(tn,an,{value:Object.create(on.implementation.prototype),configurable:true});tn[an][nn.wrapperSymbol]=tn;if(on.init){on.init(tn[an])}return tn[an]};const sn=new Set(["Window","Worker"]);Pt.install=(Wt,en)=>{if(!en.some((Wt=>sn.has(Wt)))){return}const In=nn.initCtorRegistry(Wt);class DOMException{constructor(){const en=[];{let Pt=arguments[0];if(Pt!==undefined){Pt=tn["DOMString"](Pt,{context:"Failed to construct 'DOMException': parameter 1",globals:Wt})}else{Pt=""}en.push(Pt)}{let Pt=arguments[1];if(Pt!==undefined){Pt=tn["DOMString"](Pt,{context:"Failed to construct 'DOMException': parameter 2",globals:Wt})}else{Pt="Error"}en.push(Pt)}return Pt.setup(Object.create(new.target.prototype),Wt,en)}get name(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get name' called on an object that is not a valid instance of DOMException.")}return en[an]["name"]}get message(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get message' called on an object that is not a valid instance of DOMException.")}return en[an]["message"]}get code(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get code' called on an object that is not a valid instance of DOMException.")}return en[an]["code"]}}Object.defineProperties(DOMException.prototype,{name:{enumerable:true},message:{enumerable:true},code:{enumerable:true},[Symbol.toStringTag]:{value:"DOMException",configurable:true},INDEX_SIZE_ERR:{value:1,enumerable:true},DOMSTRING_SIZE_ERR:{value:2,enumerable:true},HIERARCHY_REQUEST_ERR:{value:3,enumerable:true},WRONG_DOCUMENT_ERR:{value:4,enumerable:true},INVALID_CHARACTER_ERR:{value:5,enumerable:true},NO_DATA_ALLOWED_ERR:{value:6,enumerable:true},NO_MODIFICATION_ALLOWED_ERR:{value:7,enumerable:true},NOT_FOUND_ERR:{value:8,enumerable:true},NOT_SUPPORTED_ERR:{value:9,enumerable:true},INUSE_ATTRIBUTE_ERR:{value:10,enumerable:true},INVALID_STATE_ERR:{value:11,enumerable:true},SYNTAX_ERR:{value:12,enumerable:true},INVALID_MODIFICATION_ERR:{value:13,enumerable:true},NAMESPACE_ERR:{value:14,enumerable:true},INVALID_ACCESS_ERR:{value:15,enumerable:true},VALIDATION_ERR:{value:16,enumerable:true},TYPE_MISMATCH_ERR:{value:17,enumerable:true},SECURITY_ERR:{value:18,enumerable:true},NETWORK_ERR:{value:19,enumerable:true},ABORT_ERR:{value:20,enumerable:true},URL_MISMATCH_ERR:{value:21,enumerable:true},QUOTA_EXCEEDED_ERR:{value:22,enumerable:true},TIMEOUT_ERR:{value:23,enumerable:true},INVALID_NODE_TYPE_ERR:{value:24,enumerable:true},DATA_CLONE_ERR:{value:25,enumerable:true}});Object.defineProperties(DOMException,{INDEX_SIZE_ERR:{value:1,enumerable:true},DOMSTRING_SIZE_ERR:{value:2,enumerable:true},HIERARCHY_REQUEST_ERR:{value:3,enumerable:true},WRONG_DOCUMENT_ERR:{value:4,enumerable:true},INVALID_CHARACTER_ERR:{value:5,enumerable:true},NO_DATA_ALLOWED_ERR:{value:6,enumerable:true},NO_MODIFICATION_ALLOWED_ERR:{value:7,enumerable:true},NOT_FOUND_ERR:{value:8,enumerable:true},NOT_SUPPORTED_ERR:{value:9,enumerable:true},INUSE_ATTRIBUTE_ERR:{value:10,enumerable:true},INVALID_STATE_ERR:{value:11,enumerable:true},SYNTAX_ERR:{value:12,enumerable:true},INVALID_MODIFICATION_ERR:{value:13,enumerable:true},NAMESPACE_ERR:{value:14,enumerable:true},INVALID_ACCESS_ERR:{value:15,enumerable:true},VALIDATION_ERR:{value:16,enumerable:true},TYPE_MISMATCH_ERR:{value:17,enumerable:true},SECURITY_ERR:{value:18,enumerable:true},NETWORK_ERR:{value:19,enumerable:true},ABORT_ERR:{value:20,enumerable:true},URL_MISMATCH_ERR:{value:21,enumerable:true},QUOTA_EXCEEDED_ERR:{value:22,enumerable:true},TIMEOUT_ERR:{value:23,enumerable:true},INVALID_NODE_TYPE_ERR:{value:24,enumerable:true},DATA_CLONE_ERR:{value:25,enumerable:true}});In[rn]=DOMException;Object.defineProperty(Wt,rn,{configurable:true,writable:true,value:DOMException})};const on=en(64629)},26017:(Wt,Pt,en)=>{const tn=en(37125);const nn=en(87094);const an=en(80842);const In=nn.implSymbol;const rn=nn.ctorRegistrySymbol;const sn="DOMImplementation";Pt.is=Wt=>nn.isObject(Wt)&&nn.hasOwn(Wt,In)&&Wt[In]instanceof cn.implementation;Pt.isImpl=Wt=>nn.isObject(Wt)&&Wt instanceof cn.implementation;Pt.convert=(Wt,en,{context:tn="The provided value"}={})=>{if(Pt.is(en)){return nn.implForWrapper(en)}throw new Wt.TypeError(`${tn} is not of type 'DOMImplementation'.`)};function makeWrapper(Wt,Pt){let en;if(Pt!==undefined){en=Pt.prototype}if(!nn.isObject(en)){en=Wt[rn]["DOMImplementation"].prototype}return Object.create(en)}Pt.create=(Wt,en,tn)=>{const nn=makeWrapper(Wt);return Pt.setup(nn,Wt,en,tn)};Pt.createImpl=(Wt,en,tn)=>{const an=Pt.create(Wt,en,tn);return nn.implForWrapper(an)};Pt._internalSetup=(Wt,Pt)=>{};Pt.setup=(Wt,en,tn=[],an={})=>{an.wrapper=Wt;Pt._internalSetup(Wt,en);Object.defineProperty(Wt,In,{value:new cn.implementation(en,tn,an),configurable:true});Wt[In][nn.wrapperSymbol]=Wt;if(cn.init){cn.init(Wt[In])}return Wt};Pt["new"]=(Wt,en)=>{const tn=makeWrapper(Wt,en);Pt._internalSetup(tn,Wt);Object.defineProperty(tn,In,{value:Object.create(cn.implementation.prototype),configurable:true});tn[In][nn.wrapperSymbol]=tn;if(cn.init){cn.init(tn[In])}return tn[In]};const on=new Set(["Window"]);Pt.install=(Wt,en)=>{if(!en.some((Wt=>on.has(Wt)))){return}const rn=nn.initCtorRegistry(Wt);class DOMImplementation{constructor(){throw new Wt.TypeError("Illegal constructor")}createDocumentType(en,an,rn){const sn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(sn)){throw new Wt.TypeError("'createDocumentType' called on an object that is not a valid instance of DOMImplementation.")}if(arguments.length<3){throw new Wt.TypeError(`Failed to execute 'createDocumentType' on 'DOMImplementation': 3 arguments required, but only ${arguments.length} present.`)}const on=[];{let Pt=arguments[0];Pt=tn["DOMString"](Pt,{context:"Failed to execute 'createDocumentType' on 'DOMImplementation': parameter 1",globals:Wt});on.push(Pt)}{let Pt=arguments[1];Pt=tn["DOMString"](Pt,{context:"Failed to execute 'createDocumentType' on 'DOMImplementation': parameter 2",globals:Wt});on.push(Pt)}{let Pt=arguments[2];Pt=tn["DOMString"](Pt,{context:"Failed to execute 'createDocumentType' on 'DOMImplementation': parameter 3",globals:Wt});on.push(Pt)}return nn.tryWrapperForImpl(sn[In].createDocumentType(...on))}createDocument(en,rn){const sn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(sn)){throw new Wt.TypeError("'createDocument' called on an object that is not a valid instance of DOMImplementation.")}if(arguments.length<2){throw new Wt.TypeError(`Failed to execute 'createDocument' on 'DOMImplementation': 2 arguments required, but only ${arguments.length} present.`)}const on=[];{let Pt=arguments[0];if(Pt===null||Pt===undefined){Pt=null}else{Pt=tn["DOMString"](Pt,{context:"Failed to execute 'createDocument' on 'DOMImplementation': parameter 1",globals:Wt})}on.push(Pt)}{let Pt=arguments[1];Pt=tn["DOMString"](Pt,{context:"Failed to execute 'createDocument' on 'DOMImplementation': parameter 2",globals:Wt,treatNullAsEmptyString:true});on.push(Pt)}{let Pt=arguments[2];if(Pt!==undefined){if(Pt===null||Pt===undefined){Pt=null}else{Pt=an.convert(Wt,Pt,{context:"Failed to execute 'createDocument' on 'DOMImplementation': parameter 3"})}}else{Pt=null}on.push(Pt)}return nn.tryWrapperForImpl(sn[In].createDocument(...on))}createHTMLDocument(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'createHTMLDocument' called on an object that is not a valid instance of DOMImplementation.")}const an=[];{let Pt=arguments[0];if(Pt!==undefined){Pt=tn["DOMString"](Pt,{context:"Failed to execute 'createHTMLDocument' on 'DOMImplementation': parameter 1",globals:Wt})}an.push(Pt)}return nn.tryWrapperForImpl(en[In].createHTMLDocument(...an))}hasFeature(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'hasFeature' called on an object that is not a valid instance of DOMImplementation.")}return en[In].hasFeature()}}Object.defineProperties(DOMImplementation.prototype,{createDocumentType:{enumerable:true},createDocument:{enumerable:true},createHTMLDocument:{enumerable:true},hasFeature:{enumerable:true},[Symbol.toStringTag]:{value:"DOMImplementation",configurable:true}});rn[sn]=DOMImplementation;Object.defineProperty(Wt,sn,{configurable:true,writable:true,value:DOMImplementation})};const cn=en(6423)},93136:(Wt,Pt,en)=>{const tn=en(37125);const nn=en(87094);const an=en(36521);const In=nn.implSymbol;const rn=nn.ctorRegistrySymbol;const sn="DOMParser";Pt.is=Wt=>nn.isObject(Wt)&&nn.hasOwn(Wt,In)&&Wt[In]instanceof cn.implementation;Pt.isImpl=Wt=>nn.isObject(Wt)&&Wt instanceof cn.implementation;Pt.convert=(Wt,en,{context:tn="The provided value"}={})=>{if(Pt.is(en)){return nn.implForWrapper(en)}throw new Wt.TypeError(`${tn} is not of type 'DOMParser'.`)};function makeWrapper(Wt,Pt){let en;if(Pt!==undefined){en=Pt.prototype}if(!nn.isObject(en)){en=Wt[rn]["DOMParser"].prototype}return Object.create(en)}Pt.create=(Wt,en,tn)=>{const nn=makeWrapper(Wt);return Pt.setup(nn,Wt,en,tn)};Pt.createImpl=(Wt,en,tn)=>{const an=Pt.create(Wt,en,tn);return nn.implForWrapper(an)};Pt._internalSetup=(Wt,Pt)=>{};Pt.setup=(Wt,en,tn=[],an={})=>{an.wrapper=Wt;Pt._internalSetup(Wt,en);Object.defineProperty(Wt,In,{value:new cn.implementation(en,tn,an),configurable:true});Wt[In][nn.wrapperSymbol]=Wt;if(cn.init){cn.init(Wt[In])}return Wt};Pt["new"]=(Wt,en)=>{const tn=makeWrapper(Wt,en);Pt._internalSetup(tn,Wt);Object.defineProperty(tn,In,{value:Object.create(cn.implementation.prototype),configurable:true});tn[In][nn.wrapperSymbol]=tn;if(cn.init){cn.init(tn[In])}return tn[In]};const on=new Set(["Window"]);Pt.install=(Wt,en)=>{if(!en.some((Wt=>on.has(Wt)))){return}const rn=nn.initCtorRegistry(Wt);class DOMParser{constructor(){return Pt.setup(Object.create(new.target.prototype),Wt,undefined)}parseFromString(en,rn){const sn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(sn)){throw new Wt.TypeError("'parseFromString' called on an object that is not a valid instance of DOMParser.")}if(arguments.length<2){throw new Wt.TypeError(`Failed to execute 'parseFromString' on 'DOMParser': 2 arguments required, but only ${arguments.length} present.`)}const on=[];{let Pt=arguments[0];Pt=tn["DOMString"](Pt,{context:"Failed to execute 'parseFromString' on 'DOMParser': parameter 1",globals:Wt});on.push(Pt)}{let Pt=arguments[1];Pt=an.convert(Wt,Pt,{context:"Failed to execute 'parseFromString' on 'DOMParser': parameter 2"});on.push(Pt)}return nn.tryWrapperForImpl(sn[In].parseFromString(...on))}}Object.defineProperties(DOMParser.prototype,{parseFromString:{enumerable:true},[Symbol.toStringTag]:{value:"DOMParser",configurable:true}});rn[sn]=DOMParser;Object.defineProperty(Wt,sn,{configurable:true,writable:true,value:DOMParser})};const cn=en(67352)},8469:(Wt,Pt,en)=>{const tn=en(37125);const nn=en(87094);const an=en(46199);const In=nn.implSymbol;const rn=nn.ctorRegistrySymbol;const sn=en(59163);const on="DOMRect";Pt.is=Wt=>nn.isObject(Wt)&&nn.hasOwn(Wt,In)&&Wt[In]instanceof dn.implementation;Pt.isImpl=Wt=>nn.isObject(Wt)&&Wt instanceof dn.implementation;Pt.convert=(Wt,en,{context:tn="The provided value"}={})=>{if(Pt.is(en)){return nn.implForWrapper(en)}throw new Wt.TypeError(`${tn} is not of type 'DOMRect'.`)};function makeWrapper(Wt,Pt){let en;if(Pt!==undefined){en=Pt.prototype}if(!nn.isObject(en)){en=Wt[rn]["DOMRect"].prototype}return Object.create(en)}Pt.create=(Wt,en,tn)=>{const nn=makeWrapper(Wt);return Pt.setup(nn,Wt,en,tn)};Pt.createImpl=(Wt,en,tn)=>{const an=Pt.create(Wt,en,tn);return nn.implForWrapper(an)};Pt._internalSetup=(Wt,Pt)=>{sn._internalSetup(Wt,Pt)};Pt.setup=(Wt,en,tn=[],an={})=>{an.wrapper=Wt;Pt._internalSetup(Wt,en);Object.defineProperty(Wt,In,{value:new dn.implementation(en,tn,an),configurable:true});Wt[In][nn.wrapperSymbol]=Wt;if(dn.init){dn.init(Wt[In])}return Wt};Pt["new"]=(Wt,en)=>{const tn=makeWrapper(Wt,en);Pt._internalSetup(tn,Wt);Object.defineProperty(tn,In,{value:Object.create(dn.implementation.prototype),configurable:true});tn[In][nn.wrapperSymbol]=tn;if(dn.init){dn.init(tn[In])}return tn[In]};const cn=new Set(["Window","Worker"]);Pt.install=(Wt,en)=>{if(!en.some((Wt=>cn.has(Wt)))){return}const rn=nn.initCtorRegistry(Wt);class DOMRect extends Wt.DOMRectReadOnly{constructor(){const en=[];{let Pt=arguments[0];if(Pt!==undefined){Pt=tn["unrestricted double"](Pt,{context:"Failed to construct 'DOMRect': parameter 1",globals:Wt})}else{Pt=0}en.push(Pt)}{let Pt=arguments[1];if(Pt!==undefined){Pt=tn["unrestricted double"](Pt,{context:"Failed to construct 'DOMRect': parameter 2",globals:Wt})}else{Pt=0}en.push(Pt)}{let Pt=arguments[2];if(Pt!==undefined){Pt=tn["unrestricted double"](Pt,{context:"Failed to construct 'DOMRect': parameter 3",globals:Wt})}else{Pt=0}en.push(Pt)}{let Pt=arguments[3];if(Pt!==undefined){Pt=tn["unrestricted double"](Pt,{context:"Failed to construct 'DOMRect': parameter 4",globals:Wt})}else{Pt=0}en.push(Pt)}return Pt.setup(Object.create(new.target.prototype),Wt,en)}get x(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get x' called on an object that is not a valid instance of DOMRect.")}return en[In]["x"]}set x(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set x' called on an object that is not a valid instance of DOMRect.")}en=tn["unrestricted double"](en,{context:"Failed to set the 'x' property on 'DOMRect': The provided value",globals:Wt});nn[In]["x"]=en}get y(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get y' called on an object that is not a valid instance of DOMRect.")}return en[In]["y"]}set y(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set y' called on an object that is not a valid instance of DOMRect.")}en=tn["unrestricted double"](en,{context:"Failed to set the 'y' property on 'DOMRect': The provided value",globals:Wt});nn[In]["y"]=en}get width(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get width' called on an object that is not a valid instance of DOMRect.")}return en[In]["width"]}set width(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set width' called on an object that is not a valid instance of DOMRect.")}en=tn["unrestricted double"](en,{context:"Failed to set the 'width' property on 'DOMRect': The provided value",globals:Wt});nn[In]["width"]=en}get height(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get height' called on an object that is not a valid instance of DOMRect.")}return en[In]["height"]}set height(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set height' called on an object that is not a valid instance of DOMRect.")}en=tn["unrestricted double"](en,{context:"Failed to set the 'height' property on 'DOMRect': The provided value",globals:Wt});nn[In]["height"]=en}static fromRect(){const Pt=[];{let en=arguments[0];en=an.convert(Wt,en,{context:"Failed to execute 'fromRect' on 'DOMRect': parameter 1"});Pt.push(en)}return nn.tryWrapperForImpl(dn.implementation.fromRect(Wt,...Pt))}}Object.defineProperties(DOMRect.prototype,{x:{enumerable:true},y:{enumerable:true},width:{enumerable:true},height:{enumerable:true},[Symbol.toStringTag]:{value:"DOMRect",configurable:true}});Object.defineProperties(DOMRect,{fromRect:{enumerable:true}});rn[on]=DOMRect;Object.defineProperty(Wt,on,{configurable:true,writable:true,value:DOMRect})};const dn=en(78467)},46199:(Wt,Pt,en)=>{const tn=en(37125);const nn=en(87094);Pt._convertInherit=(Wt,Pt,en,{context:nn="The provided value"}={})=>{{const an="height";let In=Pt===undefined||Pt===null?undefined:Pt[an];if(In!==undefined){In=tn["unrestricted double"](In,{context:nn+" has member 'height' that",globals:Wt});en[an]=In}else{en[an]=0}}{const an="width";let In=Pt===undefined||Pt===null?undefined:Pt[an];if(In!==undefined){In=tn["unrestricted double"](In,{context:nn+" has member 'width' that",globals:Wt});en[an]=In}else{en[an]=0}}{const an="x";let In=Pt===undefined||Pt===null?undefined:Pt[an];if(In!==undefined){In=tn["unrestricted double"](In,{context:nn+" has member 'x' that",globals:Wt});en[an]=In}else{en[an]=0}}{const an="y";let In=Pt===undefined||Pt===null?undefined:Pt[an];if(In!==undefined){In=tn["unrestricted double"](In,{context:nn+" has member 'y' that",globals:Wt});en[an]=In}else{en[an]=0}}};Pt.convert=(Wt,en,{context:tn="The provided value"}={})=>{if(en!==undefined&&typeof en!=="object"&&typeof en!=="function"){throw new Wt.TypeError(`${tn} is not an object.`)}const nn=Object.create(null);Pt._convertInherit(Wt,en,nn,{context:tn});return nn}},59163:(Wt,Pt,en)=>{const tn=en(37125);const nn=en(87094);const an=en(46199);const In=nn.implSymbol;const rn=nn.ctorRegistrySymbol;const sn="DOMRectReadOnly";Pt.is=Wt=>nn.isObject(Wt)&&nn.hasOwn(Wt,In)&&Wt[In]instanceof cn.implementation;Pt.isImpl=Wt=>nn.isObject(Wt)&&Wt instanceof cn.implementation;Pt.convert=(Wt,en,{context:tn="The provided value"}={})=>{if(Pt.is(en)){return nn.implForWrapper(en)}throw new Wt.TypeError(`${tn} is not of type 'DOMRectReadOnly'.`)};function makeWrapper(Wt,Pt){let en;if(Pt!==undefined){en=Pt.prototype}if(!nn.isObject(en)){en=Wt[rn]["DOMRectReadOnly"].prototype}return Object.create(en)}Pt.create=(Wt,en,tn)=>{const nn=makeWrapper(Wt);return Pt.setup(nn,Wt,en,tn)};Pt.createImpl=(Wt,en,tn)=>{const an=Pt.create(Wt,en,tn);return nn.implForWrapper(an)};Pt._internalSetup=(Wt,Pt)=>{};Pt.setup=(Wt,en,tn=[],an={})=>{an.wrapper=Wt;Pt._internalSetup(Wt,en);Object.defineProperty(Wt,In,{value:new cn.implementation(en,tn,an),configurable:true});Wt[In][nn.wrapperSymbol]=Wt;if(cn.init){cn.init(Wt[In])}return Wt};Pt["new"]=(Wt,en)=>{const tn=makeWrapper(Wt,en);Pt._internalSetup(tn,Wt);Object.defineProperty(tn,In,{value:Object.create(cn.implementation.prototype),configurable:true});tn[In][nn.wrapperSymbol]=tn;if(cn.init){cn.init(tn[In])}return tn[In]};const on=new Set(["Window","Worker"]);Pt.install=(Wt,en)=>{if(!en.some((Wt=>on.has(Wt)))){return}const rn=nn.initCtorRegistry(Wt);class DOMRectReadOnly{constructor(){const en=[];{let Pt=arguments[0];if(Pt!==undefined){Pt=tn["unrestricted double"](Pt,{context:"Failed to construct 'DOMRectReadOnly': parameter 1",globals:Wt})}else{Pt=0}en.push(Pt)}{let Pt=arguments[1];if(Pt!==undefined){Pt=tn["unrestricted double"](Pt,{context:"Failed to construct 'DOMRectReadOnly': parameter 2",globals:Wt})}else{Pt=0}en.push(Pt)}{let Pt=arguments[2];if(Pt!==undefined){Pt=tn["unrestricted double"](Pt,{context:"Failed to construct 'DOMRectReadOnly': parameter 3",globals:Wt})}else{Pt=0}en.push(Pt)}{let Pt=arguments[3];if(Pt!==undefined){Pt=tn["unrestricted double"](Pt,{context:"Failed to construct 'DOMRectReadOnly': parameter 4",globals:Wt})}else{Pt=0}en.push(Pt)}return Pt.setup(Object.create(new.target.prototype),Wt,en)}toJSON(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'toJSON' called on an object that is not a valid instance of DOMRectReadOnly.")}return en[In].toJSON()}get x(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get x' called on an object that is not a valid instance of DOMRectReadOnly.")}return en[In]["x"]}get y(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get y' called on an object that is not a valid instance of DOMRectReadOnly.")}return en[In]["y"]}get width(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get width' called on an object that is not a valid instance of DOMRectReadOnly.")}return en[In]["width"]}get height(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get height' called on an object that is not a valid instance of DOMRectReadOnly.")}return en[In]["height"]}get top(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get top' called on an object that is not a valid instance of DOMRectReadOnly.")}return en[In]["top"]}get right(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get right' called on an object that is not a valid instance of DOMRectReadOnly.")}return en[In]["right"]}get bottom(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get bottom' called on an object that is not a valid instance of DOMRectReadOnly.")}return en[In]["bottom"]}get left(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get left' called on an object that is not a valid instance of DOMRectReadOnly.")}return en[In]["left"]}static fromRect(){const Pt=[];{let en=arguments[0];en=an.convert(Wt,en,{context:"Failed to execute 'fromRect' on 'DOMRectReadOnly': parameter 1"});Pt.push(en)}return nn.tryWrapperForImpl(cn.implementation.fromRect(Wt,...Pt))}}Object.defineProperties(DOMRectReadOnly.prototype,{toJSON:{enumerable:true},x:{enumerable:true},y:{enumerable:true},width:{enumerable:true},height:{enumerable:true},top:{enumerable:true},right:{enumerable:true},bottom:{enumerable:true},left:{enumerable:true},[Symbol.toStringTag]:{value:"DOMRectReadOnly",configurable:true}});Object.defineProperties(DOMRectReadOnly,{fromRect:{enumerable:true}});rn[sn]=DOMRectReadOnly;Object.defineProperty(Wt,sn,{configurable:true,writable:true,value:DOMRectReadOnly})};const cn=en(82025)},94258:(Wt,Pt,en)=>{const tn=en(37125);const nn=en(87094);const an=en(8348).ceReactionsPreSteps;const In=en(8348).ceReactionsPostSteps;const rn=nn.implSymbol;const sn=nn.ctorRegistrySymbol;const on="DOMStringMap";Pt.is=Wt=>nn.isObject(Wt)&&nn.hasOwn(Wt,rn)&&Wt[rn]instanceof un.implementation;Pt.isImpl=Wt=>nn.isObject(Wt)&&Wt instanceof un.implementation;Pt.convert=(Wt,en,{context:tn="The provided value"}={})=>{if(Pt.is(en)){return nn.implForWrapper(en)}throw new Wt.TypeError(`${tn} is not of type 'DOMStringMap'.`)};function makeWrapper(Wt,Pt){let en;if(Pt!==undefined){en=Pt.prototype}if(!nn.isObject(en)){en=Wt[sn]["DOMStringMap"].prototype}return Object.create(en)}function makeProxy(Wt,Pt){let en=dn.get(Pt);if(en===undefined){en=new ProxyHandler(Pt);dn.set(Pt,en)}return new Proxy(Wt,en)}Pt.create=(Wt,en,tn)=>{const nn=makeWrapper(Wt);return Pt.setup(nn,Wt,en,tn)};Pt.createImpl=(Wt,en,tn)=>{const an=Pt.create(Wt,en,tn);return nn.implForWrapper(an)};Pt._internalSetup=(Wt,Pt)=>{};Pt.setup=(Wt,en,tn=[],an={})=>{an.wrapper=Wt;Pt._internalSetup(Wt,en);Object.defineProperty(Wt,rn,{value:new un.implementation(en,tn,an),configurable:true});Wt=makeProxy(Wt,en);Wt[rn][nn.wrapperSymbol]=Wt;if(un.init){un.init(Wt[rn])}return Wt};Pt["new"]=(Wt,en)=>{let tn=makeWrapper(Wt,en);Pt._internalSetup(tn,Wt);Object.defineProperty(tn,rn,{value:Object.create(un.implementation.prototype),configurable:true});tn=makeProxy(tn,Wt);tn[rn][nn.wrapperSymbol]=tn;if(un.init){un.init(tn[rn])}return tn[rn]};const cn=new Set(["Window"]);Pt.install=(Wt,Pt)=>{if(!Pt.some((Wt=>cn.has(Wt)))){return}const en=nn.initCtorRegistry(Wt);class DOMStringMap{constructor(){throw new Wt.TypeError("Illegal constructor")}}Object.defineProperties(DOMStringMap.prototype,{[Symbol.toStringTag]:{value:"DOMStringMap",configurable:true}});en[on]=DOMStringMap;Object.defineProperty(Wt,on,{configurable:true,writable:true,value:DOMStringMap})};const dn=new WeakMap;class ProxyHandler{constructor(Wt){this._globalObject=Wt}get(Wt,Pt,en){if(typeof Pt==="symbol"){return Reflect.get(Wt,Pt,en)}const tn=this.getOwnPropertyDescriptor(Wt,Pt);if(tn===undefined){const tn=Object.getPrototypeOf(Wt);if(tn===null){return undefined}return Reflect.get(Wt,Pt,en)}if(!tn.get&&!tn.set){return tn.value}const nn=tn.get;if(nn===undefined){return undefined}return Reflect.apply(nn,en,[])}has(Wt,Pt){if(typeof Pt==="symbol"){return Reflect.has(Wt,Pt)}const en=this.getOwnPropertyDescriptor(Wt,Pt);if(en!==undefined){return true}const tn=Object.getPrototypeOf(Wt);if(tn!==null){return Reflect.has(tn,Pt)}return false}ownKeys(Wt){const Pt=new Set;for(const en of Wt[rn][nn.supportedPropertyNames]){if(!nn.hasOwn(Wt,en)){Pt.add(`${en}`)}}for(const en of Reflect.ownKeys(Wt)){Pt.add(en)}return[...Pt]}getOwnPropertyDescriptor(Wt,Pt){if(typeof Pt==="symbol"){return Reflect.getOwnPropertyDescriptor(Wt,Pt)}let en=false;const tn=Wt[rn][nn.namedGet](Pt);if(tn!==undefined&&!nn.hasOwn(Wt,Pt)&&!en){return{writable:true,enumerable:true,configurable:true,value:nn.tryWrapperForImpl(tn)}}return Reflect.getOwnPropertyDescriptor(Wt,Pt)}set(Wt,Pt,en,sn){if(typeof Pt==="symbol"){return Reflect.set(Wt,Pt,en,sn)}if(Wt[rn][nn.wrapperSymbol]===sn){const sn=this._globalObject;if(typeof Pt==="string"){let on=en;on=tn["DOMString"](on,{context:"Failed to set the '"+Pt+"' property on 'DOMStringMap': The provided value",globals:sn});an(sn);try{const en=!(Wt[rn][nn.namedGet](Pt)!==undefined);if(en){Wt[rn][nn.namedSetNew](Pt,on)}else{Wt[rn][nn.namedSetExisting](Pt,on)}}finally{In(sn)}return true}}let on;if(on===undefined){on=Reflect.getOwnPropertyDescriptor(Wt,Pt)}if(on===undefined){const tn=Reflect.getPrototypeOf(Wt);if(tn!==null){return Reflect.set(tn,Pt,en,sn)}on={writable:true,enumerable:true,configurable:true,value:undefined}}if(!on.writable){return false}if(!nn.isObject(sn)){return false}const cn=Reflect.getOwnPropertyDescriptor(sn,Pt);let dn;if(cn!==undefined){if(cn.get||cn.set){return false}if(!cn.writable){return false}dn={value:en}}else{dn={writable:true,enumerable:true,configurable:true,value:en}}return Reflect.defineProperty(sn,Pt,dn)}defineProperty(Wt,Pt,en){if(typeof Pt==="symbol"){return Reflect.defineProperty(Wt,Pt,en)}const sn=this._globalObject;if(en.get||en.set){return false}let on=en.value;on=tn["DOMString"](on,{context:"Failed to set the '"+Pt+"' property on 'DOMStringMap': The provided value",globals:sn});an(sn);try{const en=!(Wt[rn][nn.namedGet](Pt)!==undefined);if(en){Wt[rn][nn.namedSetNew](Pt,on)}else{Wt[rn][nn.namedSetExisting](Pt,on)}}finally{In(sn)}return true}deleteProperty(Wt,Pt){if(typeof Pt==="symbol"){return Reflect.deleteProperty(Wt,Pt)}const en=this._globalObject;if(Wt[rn][nn.namedGet](Pt)!==undefined&&!nn.hasOwn(Wt,Pt)){an(en);try{Wt[rn][nn.namedDelete](Pt);return true}finally{In(en)}}return Reflect.deleteProperty(Wt,Pt)}preventExtensions(){return false}}const un=en(45073)},24406:(Wt,Pt,en)=>{const tn=en(37125);const nn=en(87094);const an=en(8348).ceReactionsPreSteps;const In=en(8348).ceReactionsPostSteps;const rn=nn.implSymbol;const sn=nn.ctorRegistrySymbol;const on="DOMTokenList";Pt.is=Wt=>nn.isObject(Wt)&&nn.hasOwn(Wt,rn)&&Wt[rn]instanceof un.implementation;Pt.isImpl=Wt=>nn.isObject(Wt)&&Wt instanceof un.implementation;Pt.convert=(Wt,en,{context:tn="The provided value"}={})=>{if(Pt.is(en)){return nn.implForWrapper(en)}throw new Wt.TypeError(`${tn} is not of type 'DOMTokenList'.`)};function makeWrapper(Wt,Pt){let en;if(Pt!==undefined){en=Pt.prototype}if(!nn.isObject(en)){en=Wt[sn]["DOMTokenList"].prototype}return Object.create(en)}function makeProxy(Wt,Pt){let en=dn.get(Pt);if(en===undefined){en=new ProxyHandler(Pt);dn.set(Pt,en)}return new Proxy(Wt,en)}Pt.create=(Wt,en,tn)=>{const nn=makeWrapper(Wt);return Pt.setup(nn,Wt,en,tn)};Pt.createImpl=(Wt,en,tn)=>{const an=Pt.create(Wt,en,tn);return nn.implForWrapper(an)};Pt._internalSetup=(Wt,Pt)=>{};Pt.setup=(Wt,en,tn=[],an={})=>{an.wrapper=Wt;Pt._internalSetup(Wt,en);Object.defineProperty(Wt,rn,{value:new un.implementation(en,tn,an),configurable:true});Wt=makeProxy(Wt,en);Wt[rn][nn.wrapperSymbol]=Wt;if(un.init){un.init(Wt[rn])}return Wt};Pt["new"]=(Wt,en)=>{let tn=makeWrapper(Wt,en);Pt._internalSetup(tn,Wt);Object.defineProperty(tn,rn,{value:Object.create(un.implementation.prototype),configurable:true});tn=makeProxy(tn,Wt);tn[rn][nn.wrapperSymbol]=tn;if(un.init){un.init(tn[rn])}return tn[rn]};const cn=new Set(["Window"]);Pt.install=(Wt,en)=>{if(!en.some((Wt=>cn.has(Wt)))){return}const sn=nn.initCtorRegistry(Wt);class DOMTokenList{constructor(){throw new Wt.TypeError("Illegal constructor")}item(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'item' called on an object that is not a valid instance of DOMTokenList.")}if(arguments.length<1){throw new Wt.TypeError(`Failed to execute 'item' on 'DOMTokenList': 1 argument required, but only ${arguments.length} present.`)}const an=[];{let Pt=arguments[0];Pt=tn["unsigned long"](Pt,{context:"Failed to execute 'item' on 'DOMTokenList': parameter 1",globals:Wt});an.push(Pt)}return nn[rn].item(...an)}contains(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'contains' called on an object that is not a valid instance of DOMTokenList.")}if(arguments.length<1){throw new Wt.TypeError(`Failed to execute 'contains' on 'DOMTokenList': 1 argument required, but only ${arguments.length} present.`)}const an=[];{let Pt=arguments[0];Pt=tn["DOMString"](Pt,{context:"Failed to execute 'contains' on 'DOMTokenList': parameter 1",globals:Wt});an.push(Pt)}return nn[rn].contains(...an)}add(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'add' called on an object that is not a valid instance of DOMTokenList.")}const nn=[];for(let Pt=0;Pt>>0;const an=Wt[rn].item(tn);if(an!==null){return{writable:false,enumerable:true,configurable:true,value:nn.tryWrapperForImpl(an)}}en=true}return Reflect.getOwnPropertyDescriptor(Wt,Pt)}set(Wt,Pt,en,tn){if(typeof Pt==="symbol"){return Reflect.set(Wt,Pt,en,tn)}if(Wt[rn][nn.wrapperSymbol]===tn){const Wt=this._globalObject}let an;if(nn.isArrayIndexPropName(Pt)){const en=Pt>>>0;const tn=Wt[rn].item(en);if(tn!==null){an={writable:false,enumerable:true,configurable:true,value:nn.tryWrapperForImpl(tn)}}}if(an===undefined){an=Reflect.getOwnPropertyDescriptor(Wt,Pt)}if(an===undefined){const nn=Reflect.getPrototypeOf(Wt);if(nn!==null){return Reflect.set(nn,Pt,en,tn)}an={writable:true,enumerable:true,configurable:true,value:undefined}}if(!an.writable){return false}if(!nn.isObject(tn)){return false}const In=Reflect.getOwnPropertyDescriptor(tn,Pt);let sn;if(In!==undefined){if(In.get||In.set){return false}if(!In.writable){return false}sn={value:en}}else{sn={writable:true,enumerable:true,configurable:true,value:en}}return Reflect.defineProperty(tn,Pt,sn)}defineProperty(Wt,Pt,en){if(typeof Pt==="symbol"){return Reflect.defineProperty(Wt,Pt,en)}const tn=this._globalObject;if(nn.isArrayIndexPropName(Pt)){return false}return Reflect.defineProperty(Wt,Pt,en)}deleteProperty(Wt,Pt){if(typeof Pt==="symbol"){return Reflect.deleteProperty(Wt,Pt)}const en=this._globalObject;if(nn.isArrayIndexPropName(Pt)){const en=Pt>>>0;return!(Wt[rn].item(en)!==null)}return Reflect.deleteProperty(Wt,Pt)}preventExtensions(){return false}}const un=en(55621)},18946:(Wt,Pt,en)=>{const tn=en(37125);const nn=en(87094);const an=en(41234);const In=en(8348).ceReactionsPreSteps;const rn=en(8348).ceReactionsPostSteps;const sn=en(24171);const on=en(7921);const cn=en(48708);const dn=en(69117);const un=en(54414);const pn=nn.implSymbol;const mn=nn.ctorRegistrySymbol;const bn="Document";Pt.is=Wt=>nn.isObject(Wt)&&nn.hasOwn(Wt,pn)&&Wt[pn]instanceof Zn.implementation;Pt.isImpl=Wt=>nn.isObject(Wt)&&Wt instanceof Zn.implementation;Pt.convert=(Wt,en,{context:tn="The provided value"}={})=>{if(Pt.is(en)){return nn.implForWrapper(en)}throw new Wt.TypeError(`${tn} is not of type 'Document'.`)};function makeWrapper(Wt,Pt){let en;if(Pt!==undefined){en=Pt.prototype}if(!nn.isObject(en)){en=Wt[mn]["Document"].prototype}return Object.create(en)}Pt.create=(Wt,en,tn)=>{const nn=makeWrapper(Wt);return Pt.setup(nn,Wt,en,tn)};Pt.createImpl=(Wt,en,tn)=>{const an=Pt.create(Wt,en,tn);return nn.implForWrapper(an)};function getUnforgeables(Wt){let en=Gn.get(Wt);if(en===undefined){en=Object.create(null);nn.define(en,{get location(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get location' called on an object that is not a valid instance of Document.")}return nn.tryWrapperForImpl(en[pn]["location"])},set location(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set location' called on an object that is not a valid instance of Document.")}const an=tn["location"];if(!nn.isObject(an)){throw new Wt.TypeError("Property 'location' is not an object")}Reflect.set(an,"href",en)}});Object.defineProperties(en,{location:{configurable:false}});Gn.set(Wt,en)}return en}Pt._internalSetup=(Wt,Pt)=>{sn._internalSetup(Wt,Pt);nn.define(Wt,getUnforgeables(Pt))};Pt.setup=(Wt,en,tn=[],an={})=>{an.wrapper=Wt;Pt._internalSetup(Wt,en);Object.defineProperty(Wt,pn,{value:new Zn.implementation(en,tn,an),configurable:true});Wt[pn][nn.wrapperSymbol]=Wt;if(Zn.init){Zn.init(Wt[pn])}return Wt};Pt["new"]=(Wt,en)=>{const tn=makeWrapper(Wt,en);Pt._internalSetup(tn,Wt);Object.defineProperty(tn,pn,{value:Object.create(Zn.implementation.prototype),configurable:true});tn[pn][nn.wrapperSymbol]=tn;if(Zn.init){Zn.init(tn[pn])}return tn[pn]};const Gn=new WeakMap;const hn=new Set(["Window"]);Pt.install=(Wt,en)=>{if(!en.some((Wt=>hn.has(Wt)))){return}const mn=nn.initCtorRegistry(Wt);class Document extends Wt.Node{constructor(){return Pt.setup(Object.create(new.target.prototype),Wt,undefined)}getElementsByTagName(en){const an=this!==null&&this!==undefined?this:Wt;if(!Pt.is(an)){throw new Wt.TypeError("'getElementsByTagName' called on an object that is not a valid instance of Document.")}if(arguments.length<1){throw new Wt.TypeError(`Failed to execute 'getElementsByTagName' on 'Document': 1 argument required, but only ${arguments.length} present.`)}const In=[];{let Pt=arguments[0];Pt=tn["DOMString"](Pt,{context:"Failed to execute 'getElementsByTagName' on 'Document': parameter 1",globals:Wt});In.push(Pt)}return nn.tryWrapperForImpl(an[pn].getElementsByTagName(...In))}getElementsByTagNameNS(en,an){const In=this!==null&&this!==undefined?this:Wt;if(!Pt.is(In)){throw new Wt.TypeError("'getElementsByTagNameNS' called on an object that is not a valid instance of Document.")}if(arguments.length<2){throw new Wt.TypeError(`Failed to execute 'getElementsByTagNameNS' on 'Document': 2 arguments required, but only ${arguments.length} present.`)}const rn=[];{let Pt=arguments[0];if(Pt===null||Pt===undefined){Pt=null}else{Pt=tn["DOMString"](Pt,{context:"Failed to execute 'getElementsByTagNameNS' on 'Document': parameter 1",globals:Wt})}rn.push(Pt)}{let Pt=arguments[1];Pt=tn["DOMString"](Pt,{context:"Failed to execute 'getElementsByTagNameNS' on 'Document': parameter 2",globals:Wt});rn.push(Pt)}return nn.tryWrapperForImpl(In[pn].getElementsByTagNameNS(...rn))}getElementsByClassName(en){const an=this!==null&&this!==undefined?this:Wt;if(!Pt.is(an)){throw new Wt.TypeError("'getElementsByClassName' called on an object that is not a valid instance of Document.")}if(arguments.length<1){throw new Wt.TypeError(`Failed to execute 'getElementsByClassName' on 'Document': 1 argument required, but only ${arguments.length} present.`)}const In=[];{let Pt=arguments[0];Pt=tn["DOMString"](Pt,{context:"Failed to execute 'getElementsByClassName' on 'Document': parameter 1",globals:Wt});In.push(Pt)}return nn.tryWrapperForImpl(an[pn].getElementsByClassName(...In))}createElement(en){const sn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(sn)){throw new Wt.TypeError("'createElement' called on an object that is not a valid instance of Document.")}if(arguments.length<1){throw new Wt.TypeError(`Failed to execute 'createElement' on 'Document': 1 argument required, but only ${arguments.length} present.`)}const on=[];{let Pt=arguments[0];Pt=tn["DOMString"](Pt,{context:"Failed to execute 'createElement' on 'Document': parameter 1",globals:Wt});on.push(Pt)}{let Pt=arguments[1];if(Pt!==undefined){if(Pt===null||Pt===undefined){Pt=an.convert(Wt,Pt,{context:"Failed to execute 'createElement' on 'Document': parameter 2"})}else if(nn.isObject(Pt)){Pt=an.convert(Wt,Pt,{context:"Failed to execute 'createElement' on 'Document': parameter 2"+" dictionary"})}else{Pt=tn["DOMString"](Pt,{context:"Failed to execute 'createElement' on 'Document': parameter 2",globals:Wt})}}on.push(Pt)}In(Wt);try{return nn.tryWrapperForImpl(sn[pn].createElement(...on))}finally{rn(Wt)}}createElementNS(en,sn){const on=this!==null&&this!==undefined?this:Wt;if(!Pt.is(on)){throw new Wt.TypeError("'createElementNS' called on an object that is not a valid instance of Document.")}if(arguments.length<2){throw new Wt.TypeError(`Failed to execute 'createElementNS' on 'Document': 2 arguments required, but only ${arguments.length} present.`)}const cn=[];{let Pt=arguments[0];if(Pt===null||Pt===undefined){Pt=null}else{Pt=tn["DOMString"](Pt,{context:"Failed to execute 'createElementNS' on 'Document': parameter 1",globals:Wt})}cn.push(Pt)}{let Pt=arguments[1];Pt=tn["DOMString"](Pt,{context:"Failed to execute 'createElementNS' on 'Document': parameter 2",globals:Wt});cn.push(Pt)}{let Pt=arguments[2];if(Pt!==undefined){if(Pt===null||Pt===undefined){Pt=an.convert(Wt,Pt,{context:"Failed to execute 'createElementNS' on 'Document': parameter 3"})}else if(nn.isObject(Pt)){Pt=an.convert(Wt,Pt,{context:"Failed to execute 'createElementNS' on 'Document': parameter 3"+" dictionary"})}else{Pt=tn["DOMString"](Pt,{context:"Failed to execute 'createElementNS' on 'Document': parameter 3",globals:Wt})}}cn.push(Pt)}In(Wt);try{return nn.tryWrapperForImpl(on[pn].createElementNS(...cn))}finally{rn(Wt)}}createDocumentFragment(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'createDocumentFragment' called on an object that is not a valid instance of Document.")}return nn.tryWrapperForImpl(en[pn].createDocumentFragment())}createTextNode(en){const an=this!==null&&this!==undefined?this:Wt;if(!Pt.is(an)){throw new Wt.TypeError("'createTextNode' called on an object that is not a valid instance of Document.")}if(arguments.length<1){throw new Wt.TypeError(`Failed to execute 'createTextNode' on 'Document': 1 argument required, but only ${arguments.length} present.`)}const In=[];{let Pt=arguments[0];Pt=tn["DOMString"](Pt,{context:"Failed to execute 'createTextNode' on 'Document': parameter 1",globals:Wt});In.push(Pt)}return nn.tryWrapperForImpl(an[pn].createTextNode(...In))}createCDATASection(en){const an=this!==null&&this!==undefined?this:Wt;if(!Pt.is(an)){throw new Wt.TypeError("'createCDATASection' called on an object that is not a valid instance of Document.")}if(arguments.length<1){throw new Wt.TypeError(`Failed to execute 'createCDATASection' on 'Document': 1 argument required, but only ${arguments.length} present.`)}const In=[];{let Pt=arguments[0];Pt=tn["DOMString"](Pt,{context:"Failed to execute 'createCDATASection' on 'Document': parameter 1",globals:Wt});In.push(Pt)}return nn.tryWrapperForImpl(an[pn].createCDATASection(...In))}createComment(en){const an=this!==null&&this!==undefined?this:Wt;if(!Pt.is(an)){throw new Wt.TypeError("'createComment' called on an object that is not a valid instance of Document.")}if(arguments.length<1){throw new Wt.TypeError(`Failed to execute 'createComment' on 'Document': 1 argument required, but only ${arguments.length} present.`)}const In=[];{let Pt=arguments[0];Pt=tn["DOMString"](Pt,{context:"Failed to execute 'createComment' on 'Document': parameter 1",globals:Wt});In.push(Pt)}return nn.tryWrapperForImpl(an[pn].createComment(...In))}createProcessingInstruction(en,an){const In=this!==null&&this!==undefined?this:Wt;if(!Pt.is(In)){throw new Wt.TypeError("'createProcessingInstruction' called on an object that is not a valid instance of Document.")}if(arguments.length<2){throw new Wt.TypeError(`Failed to execute 'createProcessingInstruction' on 'Document': 2 arguments required, but only ${arguments.length} present.`)}const rn=[];{let Pt=arguments[0];Pt=tn["DOMString"](Pt,{context:"Failed to execute 'createProcessingInstruction' on 'Document': parameter 1",globals:Wt});rn.push(Pt)}{let Pt=arguments[1];Pt=tn["DOMString"](Pt,{context:"Failed to execute 'createProcessingInstruction' on 'Document': parameter 2",globals:Wt});rn.push(Pt)}return nn.tryWrapperForImpl(In[pn].createProcessingInstruction(...rn))}importNode(en){const an=this!==null&&this!==undefined?this:Wt;if(!Pt.is(an)){throw new Wt.TypeError("'importNode' called on an object that is not a valid instance of Document.")}if(arguments.length<1){throw new Wt.TypeError(`Failed to execute 'importNode' on 'Document': 1 argument required, but only ${arguments.length} present.`)}const on=[];{let Pt=arguments[0];Pt=sn.convert(Wt,Pt,{context:"Failed to execute 'importNode' on 'Document': parameter 1"});on.push(Pt)}{let Pt=arguments[1];if(Pt!==undefined){Pt=tn["boolean"](Pt,{context:"Failed to execute 'importNode' on 'Document': parameter 2",globals:Wt})}else{Pt=false}on.push(Pt)}In(Wt);try{return nn.tryWrapperForImpl(an[pn].importNode(...on))}finally{rn(Wt)}}adoptNode(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'adoptNode' called on an object that is not a valid instance of Document.")}if(arguments.length<1){throw new Wt.TypeError(`Failed to execute 'adoptNode' on 'Document': 1 argument required, but only ${arguments.length} present.`)}const an=[];{let Pt=arguments[0];Pt=sn.convert(Wt,Pt,{context:"Failed to execute 'adoptNode' on 'Document': parameter 1"});an.push(Pt)}In(Wt);try{return nn.tryWrapperForImpl(tn[pn].adoptNode(...an))}finally{rn(Wt)}}createAttribute(en){const an=this!==null&&this!==undefined?this:Wt;if(!Pt.is(an)){throw new Wt.TypeError("'createAttribute' called on an object that is not a valid instance of Document.")}if(arguments.length<1){throw new Wt.TypeError(`Failed to execute 'createAttribute' on 'Document': 1 argument required, but only ${arguments.length} present.`)}const In=[];{let Pt=arguments[0];Pt=tn["DOMString"](Pt,{context:"Failed to execute 'createAttribute' on 'Document': parameter 1",globals:Wt});In.push(Pt)}return nn.tryWrapperForImpl(an[pn].createAttribute(...In))}createAttributeNS(en,an){const In=this!==null&&this!==undefined?this:Wt;if(!Pt.is(In)){throw new Wt.TypeError("'createAttributeNS' called on an object that is not a valid instance of Document.")}if(arguments.length<2){throw new Wt.TypeError(`Failed to execute 'createAttributeNS' on 'Document': 2 arguments required, but only ${arguments.length} present.`)}const rn=[];{let Pt=arguments[0];if(Pt===null||Pt===undefined){Pt=null}else{Pt=tn["DOMString"](Pt,{context:"Failed to execute 'createAttributeNS' on 'Document': parameter 1",globals:Wt})}rn.push(Pt)}{let Pt=arguments[1];Pt=tn["DOMString"](Pt,{context:"Failed to execute 'createAttributeNS' on 'Document': parameter 2",globals:Wt});rn.push(Pt)}return nn.tryWrapperForImpl(In[pn].createAttributeNS(...rn))}createEvent(en){const an=this!==null&&this!==undefined?this:Wt;if(!Pt.is(an)){throw new Wt.TypeError("'createEvent' called on an object that is not a valid instance of Document.")}if(arguments.length<1){throw new Wt.TypeError(`Failed to execute 'createEvent' on 'Document': 1 argument required, but only ${arguments.length} present.`)}const In=[];{let Pt=arguments[0];Pt=tn["DOMString"](Pt,{context:"Failed to execute 'createEvent' on 'Document': parameter 1",globals:Wt});In.push(Pt)}return nn.tryWrapperForImpl(an[pn].createEvent(...In))}createRange(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'createRange' called on an object that is not a valid instance of Document.")}return nn.tryWrapperForImpl(en[pn].createRange())}createNodeIterator(en){const an=this!==null&&this!==undefined?this:Wt;if(!Pt.is(an)){throw new Wt.TypeError("'createNodeIterator' called on an object that is not a valid instance of Document.")}if(arguments.length<1){throw new Wt.TypeError(`Failed to execute 'createNodeIterator' on 'Document': 1 argument required, but only ${arguments.length} present.`)}const In=[];{let Pt=arguments[0];Pt=sn.convert(Wt,Pt,{context:"Failed to execute 'createNodeIterator' on 'Document': parameter 1"});In.push(Pt)}{let Pt=arguments[1];if(Pt!==undefined){Pt=tn["unsigned long"](Pt,{context:"Failed to execute 'createNodeIterator' on 'Document': parameter 2",globals:Wt})}else{Pt=4294967295}In.push(Pt)}{let Pt=arguments[2];if(Pt!==undefined){if(Pt===null||Pt===undefined){Pt=null}else{Pt=on.convert(Wt,Pt,{context:"Failed to execute 'createNodeIterator' on 'Document': parameter 3"})}}else{Pt=null}In.push(Pt)}return nn.tryWrapperForImpl(an[pn].createNodeIterator(...In))}createTreeWalker(en){const an=this!==null&&this!==undefined?this:Wt;if(!Pt.is(an)){throw new Wt.TypeError("'createTreeWalker' called on an object that is not a valid instance of Document.")}if(arguments.length<1){throw new Wt.TypeError(`Failed to execute 'createTreeWalker' on 'Document': 1 argument required, but only ${arguments.length} present.`)}const In=[];{let Pt=arguments[0];Pt=sn.convert(Wt,Pt,{context:"Failed to execute 'createTreeWalker' on 'Document': parameter 1"});In.push(Pt)}{let Pt=arguments[1];if(Pt!==undefined){Pt=tn["unsigned long"](Pt,{context:"Failed to execute 'createTreeWalker' on 'Document': parameter 2",globals:Wt})}else{Pt=4294967295}In.push(Pt)}{let Pt=arguments[2];if(Pt!==undefined){if(Pt===null||Pt===undefined){Pt=null}else{Pt=on.convert(Wt,Pt,{context:"Failed to execute 'createTreeWalker' on 'Document': parameter 3"})}}else{Pt=null}In.push(Pt)}return nn.tryWrapperForImpl(an[pn].createTreeWalker(...In))}getElementsByName(en){const an=this!==null&&this!==undefined?this:Wt;if(!Pt.is(an)){throw new Wt.TypeError("'getElementsByName' called on an object that is not a valid instance of Document.")}if(arguments.length<1){throw new Wt.TypeError(`Failed to execute 'getElementsByName' on 'Document': 1 argument required, but only ${arguments.length} present.`)}const In=[];{let Pt=arguments[0];Pt=tn["DOMString"](Pt,{context:"Failed to execute 'getElementsByName' on 'Document': parameter 1",globals:Wt});In.push(Pt)}return nn.tryWrapperForImpl(an[pn].getElementsByName(...In))}open(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'open' called on an object that is not a valid instance of Document.")}const an=[];{let Pt=arguments[0];if(Pt!==undefined){Pt=tn["DOMString"](Pt,{context:"Failed to execute 'open' on 'Document': parameter 1",globals:Wt})}else{Pt="text/html"}an.push(Pt)}{let Pt=arguments[1];if(Pt!==undefined){Pt=tn["DOMString"](Pt,{context:"Failed to execute 'open' on 'Document': parameter 2",globals:Wt})}else{Pt=""}an.push(Pt)}In(Wt);try{return nn.tryWrapperForImpl(en[pn].open(...an))}finally{rn(Wt)}}close(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'close' called on an object that is not a valid instance of Document.")}In(Wt);try{return en[pn].close()}finally{rn(Wt)}}write(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'write' called on an object that is not a valid instance of Document.")}const nn=[];for(let Pt=0;Ptnn.tryWrapperForImpl(en[pn]["implementation"])))}get URL(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get URL' called on an object that is not a valid instance of Document.")}return en[pn]["URL"]}get documentURI(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get documentURI' called on an object that is not a valid instance of Document.")}return en[pn]["documentURI"]}get compatMode(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get compatMode' called on an object that is not a valid instance of Document.")}return en[pn]["compatMode"]}get characterSet(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get characterSet' called on an object that is not a valid instance of Document.")}return en[pn]["characterSet"]}get charset(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get charset' called on an object that is not a valid instance of Document.")}return en[pn]["charset"]}get inputEncoding(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get inputEncoding' called on an object that is not a valid instance of Document.")}return en[pn]["inputEncoding"]}get contentType(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get contentType' called on an object that is not a valid instance of Document.")}return en[pn]["contentType"]}get doctype(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get doctype' called on an object that is not a valid instance of Document.")}return nn.tryWrapperForImpl(en[pn]["doctype"])}get documentElement(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get documentElement' called on an object that is not a valid instance of Document.")}return nn.tryWrapperForImpl(en[pn]["documentElement"])}get referrer(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get referrer' called on an object that is not a valid instance of Document.")}return en[pn]["referrer"]}get cookie(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get cookie' called on an object that is not a valid instance of Document.")}return en[pn]["cookie"]}set cookie(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set cookie' called on an object that is not a valid instance of Document.")}en=tn["USVString"](en,{context:"Failed to set the 'cookie' property on 'Document': The provided value",globals:Wt});nn[pn]["cookie"]=en}get lastModified(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get lastModified' called on an object that is not a valid instance of Document.")}return en[pn]["lastModified"]}get readyState(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get readyState' called on an object that is not a valid instance of Document.")}return nn.tryWrapperForImpl(en[pn]["readyState"])}get title(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get title' called on an object that is not a valid instance of Document.")}In(Wt);try{return en[pn]["title"]}finally{rn(Wt)}}set title(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set title' called on an object that is not a valid instance of Document.")}en=tn["DOMString"](en,{context:"Failed to set the 'title' property on 'Document': The provided value",globals:Wt});In(Wt);try{nn[pn]["title"]=en}finally{rn(Wt)}}get dir(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get dir' called on an object that is not a valid instance of Document.")}In(Wt);try{return en[pn]["dir"]}finally{rn(Wt)}}set dir(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set dir' called on an object that is not a valid instance of Document.")}en=tn["DOMString"](en,{context:"Failed to set the 'dir' property on 'Document': The provided value",globals:Wt});In(Wt);try{nn[pn]["dir"]=en}finally{rn(Wt)}}get body(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get body' called on an object that is not a valid instance of Document.")}In(Wt);try{return nn.tryWrapperForImpl(en[pn]["body"])}finally{rn(Wt)}}set body(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set body' called on an object that is not a valid instance of Document.")}if(en===null||en===undefined){en=null}else{en=cn.convert(Wt,en,{context:"Failed to set the 'body' property on 'Document': The provided value"})}In(Wt);try{tn[pn]["body"]=en}finally{rn(Wt)}}get head(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get head' called on an object that is not a valid instance of Document.")}return nn.tryWrapperForImpl(en[pn]["head"])}get images(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get images' called on an object that is not a valid instance of Document.")}return nn.getSameObject(this,"images",(()=>nn.tryWrapperForImpl(en[pn]["images"])))}get embeds(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get embeds' called on an object that is not a valid instance of Document.")}return nn.getSameObject(this,"embeds",(()=>nn.tryWrapperForImpl(en[pn]["embeds"])))}get plugins(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get plugins' called on an object that is not a valid instance of Document.")}return nn.getSameObject(this,"plugins",(()=>nn.tryWrapperForImpl(en[pn]["plugins"])))}get links(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get links' called on an object that is not a valid instance of Document.")}return nn.getSameObject(this,"links",(()=>nn.tryWrapperForImpl(en[pn]["links"])))}get forms(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get forms' called on an object that is not a valid instance of Document.")}return nn.getSameObject(this,"forms",(()=>nn.tryWrapperForImpl(en[pn]["forms"])))}get scripts(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get scripts' called on an object that is not a valid instance of Document.")}return nn.getSameObject(this,"scripts",(()=>nn.tryWrapperForImpl(en[pn]["scripts"])))}get currentScript(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get currentScript' called on an object that is not a valid instance of Document.")}return nn.tryWrapperForImpl(en[pn]["currentScript"])}get defaultView(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get defaultView' called on an object that is not a valid instance of Document.")}return nn.tryWrapperForImpl(en[pn]["defaultView"])}get onreadystatechange(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){return}return nn.tryWrapperForImpl(en[pn]["onreadystatechange"])}set onreadystatechange(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){return}if(!nn.isObject(en)){en=null}else{en=dn.convert(Wt,en,{context:"Failed to set the 'onreadystatechange' property on 'Document': The provided value"})}tn[pn]["onreadystatechange"]=en}get anchors(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get anchors' called on an object that is not a valid instance of Document.")}return nn.getSameObject(this,"anchors",(()=>nn.tryWrapperForImpl(en[pn]["anchors"])))}get applets(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get applets' called on an object that is not a valid instance of Document.")}return nn.getSameObject(this,"applets",(()=>nn.tryWrapperForImpl(en[pn]["applets"])))}get styleSheets(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get styleSheets' called on an object that is not a valid instance of Document.")}return nn.getSameObject(this,"styleSheets",(()=>nn.tryWrapperForImpl(en[pn]["styleSheets"])))}get hidden(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get hidden' called on an object that is not a valid instance of Document.")}return en[pn]["hidden"]}get visibilityState(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get visibilityState' called on an object that is not a valid instance of Document.")}return nn.tryWrapperForImpl(en[pn]["visibilityState"])}get onvisibilitychange(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get onvisibilitychange' called on an object that is not a valid instance of Document.")}return nn.tryWrapperForImpl(en[pn]["onvisibilitychange"])}set onvisibilitychange(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set onvisibilitychange' called on an object that is not a valid instance of Document.")}if(!nn.isObject(en)){en=null}else{en=dn.convert(Wt,en,{context:"Failed to set the 'onvisibilitychange' property on 'Document': The provided value"})}tn[pn]["onvisibilitychange"]=en}get onabort(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get onabort' called on an object that is not a valid instance of Document.")}return nn.tryWrapperForImpl(en[pn]["onabort"])}set onabort(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set onabort' called on an object that is not a valid instance of Document.")}if(!nn.isObject(en)){en=null}else{en=dn.convert(Wt,en,{context:"Failed to set the 'onabort' property on 'Document': The provided value"})}tn[pn]["onabort"]=en}get onauxclick(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get onauxclick' called on an object that is not a valid instance of Document.")}return nn.tryWrapperForImpl(en[pn]["onauxclick"])}set onauxclick(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set onauxclick' called on an object that is not a valid instance of Document.")}if(!nn.isObject(en)){en=null}else{en=dn.convert(Wt,en,{context:"Failed to set the 'onauxclick' property on 'Document': The provided value"})}tn[pn]["onauxclick"]=en}get onbeforeinput(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get onbeforeinput' called on an object that is not a valid instance of Document.")}return nn.tryWrapperForImpl(en[pn]["onbeforeinput"])}set onbeforeinput(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set onbeforeinput' called on an object that is not a valid instance of Document.")}if(!nn.isObject(en)){en=null}else{en=dn.convert(Wt,en,{context:"Failed to set the 'onbeforeinput' property on 'Document': The provided value"})}tn[pn]["onbeforeinput"]=en}get onbeforematch(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get onbeforematch' called on an object that is not a valid instance of Document.")}return nn.tryWrapperForImpl(en[pn]["onbeforematch"])}set onbeforematch(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set onbeforematch' called on an object that is not a valid instance of Document.")}if(!nn.isObject(en)){en=null}else{en=dn.convert(Wt,en,{context:"Failed to set the 'onbeforematch' property on 'Document': The provided value"})}tn[pn]["onbeforematch"]=en}get onbeforetoggle(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get onbeforetoggle' called on an object that is not a valid instance of Document.")}return nn.tryWrapperForImpl(en[pn]["onbeforetoggle"])}set onbeforetoggle(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set onbeforetoggle' called on an object that is not a valid instance of Document.")}if(!nn.isObject(en)){en=null}else{en=dn.convert(Wt,en,{context:"Failed to set the 'onbeforetoggle' property on 'Document': The provided value"})}tn[pn]["onbeforetoggle"]=en}get onblur(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get onblur' called on an object that is not a valid instance of Document.")}return nn.tryWrapperForImpl(en[pn]["onblur"])}set onblur(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set onblur' called on an object that is not a valid instance of Document.")}if(!nn.isObject(en)){en=null}else{en=dn.convert(Wt,en,{context:"Failed to set the 'onblur' property on 'Document': The provided value"})}tn[pn]["onblur"]=en}get oncancel(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get oncancel' called on an object that is not a valid instance of Document.")}return nn.tryWrapperForImpl(en[pn]["oncancel"])}set oncancel(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set oncancel' called on an object that is not a valid instance of Document.")}if(!nn.isObject(en)){en=null}else{en=dn.convert(Wt,en,{context:"Failed to set the 'oncancel' property on 'Document': The provided value"})}tn[pn]["oncancel"]=en}get oncanplay(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get oncanplay' called on an object that is not a valid instance of Document.")}return nn.tryWrapperForImpl(en[pn]["oncanplay"])}set oncanplay(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set oncanplay' called on an object that is not a valid instance of Document.")}if(!nn.isObject(en)){en=null}else{en=dn.convert(Wt,en,{context:"Failed to set the 'oncanplay' property on 'Document': The provided value"})}tn[pn]["oncanplay"]=en}get oncanplaythrough(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get oncanplaythrough' called on an object that is not a valid instance of Document.")}return nn.tryWrapperForImpl(en[pn]["oncanplaythrough"])}set oncanplaythrough(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set oncanplaythrough' called on an object that is not a valid instance of Document.")}if(!nn.isObject(en)){en=null}else{en=dn.convert(Wt,en,{context:"Failed to set the 'oncanplaythrough' property on 'Document': The provided value"})}tn[pn]["oncanplaythrough"]=en}get onchange(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get onchange' called on an object that is not a valid instance of Document.")}return nn.tryWrapperForImpl(en[pn]["onchange"])}set onchange(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set onchange' called on an object that is not a valid instance of Document.")}if(!nn.isObject(en)){en=null}else{en=dn.convert(Wt,en,{context:"Failed to set the 'onchange' property on 'Document': The provided value"})}tn[pn]["onchange"]=en}get onclick(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get onclick' called on an object that is not a valid instance of Document.")}return nn.tryWrapperForImpl(en[pn]["onclick"])}set onclick(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set onclick' called on an object that is not a valid instance of Document.")}if(!nn.isObject(en)){en=null}else{en=dn.convert(Wt,en,{context:"Failed to set the 'onclick' property on 'Document': The provided value"})}tn[pn]["onclick"]=en}get onclose(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get onclose' called on an object that is not a valid instance of Document.")}return nn.tryWrapperForImpl(en[pn]["onclose"])}set onclose(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set onclose' called on an object that is not a valid instance of Document.")}if(!nn.isObject(en)){en=null}else{en=dn.convert(Wt,en,{context:"Failed to set the 'onclose' property on 'Document': The provided value"})}tn[pn]["onclose"]=en}get oncontextlost(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get oncontextlost' called on an object that is not a valid instance of Document.")}return nn.tryWrapperForImpl(en[pn]["oncontextlost"])}set oncontextlost(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set oncontextlost' called on an object that is not a valid instance of Document.")}if(!nn.isObject(en)){en=null}else{en=dn.convert(Wt,en,{context:"Failed to set the 'oncontextlost' property on 'Document': The provided value"})}tn[pn]["oncontextlost"]=en}get oncontextmenu(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get oncontextmenu' called on an object that is not a valid instance of Document.")}return nn.tryWrapperForImpl(en[pn]["oncontextmenu"])}set oncontextmenu(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set oncontextmenu' called on an object that is not a valid instance of Document.")}if(!nn.isObject(en)){en=null}else{en=dn.convert(Wt,en,{context:"Failed to set the 'oncontextmenu' property on 'Document': The provided value"})}tn[pn]["oncontextmenu"]=en}get oncontextrestored(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get oncontextrestored' called on an object that is not a valid instance of Document.")}return nn.tryWrapperForImpl(en[pn]["oncontextrestored"])}set oncontextrestored(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set oncontextrestored' called on an object that is not a valid instance of Document.")}if(!nn.isObject(en)){en=null}else{en=dn.convert(Wt,en,{context:"Failed to set the 'oncontextrestored' property on 'Document': The provided value"})}tn[pn]["oncontextrestored"]=en}get oncopy(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get oncopy' called on an object that is not a valid instance of Document.")}return nn.tryWrapperForImpl(en[pn]["oncopy"])}set oncopy(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set oncopy' called on an object that is not a valid instance of Document.")}if(!nn.isObject(en)){en=null}else{en=dn.convert(Wt,en,{context:"Failed to set the 'oncopy' property on 'Document': The provided value"})}tn[pn]["oncopy"]=en}get oncuechange(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get oncuechange' called on an object that is not a valid instance of Document.")}return nn.tryWrapperForImpl(en[pn]["oncuechange"])}set oncuechange(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set oncuechange' called on an object that is not a valid instance of Document.")}if(!nn.isObject(en)){en=null}else{en=dn.convert(Wt,en,{context:"Failed to set the 'oncuechange' property on 'Document': The provided value"})}tn[pn]["oncuechange"]=en}get oncut(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get oncut' called on an object that is not a valid instance of Document.")}return nn.tryWrapperForImpl(en[pn]["oncut"])}set oncut(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set oncut' called on an object that is not a valid instance of Document.")}if(!nn.isObject(en)){en=null}else{en=dn.convert(Wt,en,{context:"Failed to set the 'oncut' property on 'Document': The provided value"})}tn[pn]["oncut"]=en}get ondblclick(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get ondblclick' called on an object that is not a valid instance of Document.")}return nn.tryWrapperForImpl(en[pn]["ondblclick"])}set ondblclick(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set ondblclick' called on an object that is not a valid instance of Document.")}if(!nn.isObject(en)){en=null}else{en=dn.convert(Wt,en,{context:"Failed to set the 'ondblclick' property on 'Document': The provided value"})}tn[pn]["ondblclick"]=en}get ondrag(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get ondrag' called on an object that is not a valid instance of Document.")}return nn.tryWrapperForImpl(en[pn]["ondrag"])}set ondrag(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set ondrag' called on an object that is not a valid instance of Document.")}if(!nn.isObject(en)){en=null}else{en=dn.convert(Wt,en,{context:"Failed to set the 'ondrag' property on 'Document': The provided value"})}tn[pn]["ondrag"]=en}get ondragend(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get ondragend' called on an object that is not a valid instance of Document.")}return nn.tryWrapperForImpl(en[pn]["ondragend"])}set ondragend(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set ondragend' called on an object that is not a valid instance of Document.")}if(!nn.isObject(en)){en=null}else{en=dn.convert(Wt,en,{context:"Failed to set the 'ondragend' property on 'Document': The provided value"})}tn[pn]["ondragend"]=en}get ondragenter(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get ondragenter' called on an object that is not a valid instance of Document.")}return nn.tryWrapperForImpl(en[pn]["ondragenter"])}set ondragenter(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set ondragenter' called on an object that is not a valid instance of Document.")}if(!nn.isObject(en)){en=null}else{en=dn.convert(Wt,en,{context:"Failed to set the 'ondragenter' property on 'Document': The provided value"})}tn[pn]["ondragenter"]=en}get ondragleave(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get ondragleave' called on an object that is not a valid instance of Document.")}return nn.tryWrapperForImpl(en[pn]["ondragleave"])}set ondragleave(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set ondragleave' called on an object that is not a valid instance of Document.")}if(!nn.isObject(en)){en=null}else{en=dn.convert(Wt,en,{context:"Failed to set the 'ondragleave' property on 'Document': The provided value"})}tn[pn]["ondragleave"]=en}get ondragover(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get ondragover' called on an object that is not a valid instance of Document.")}return nn.tryWrapperForImpl(en[pn]["ondragover"])}set ondragover(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set ondragover' called on an object that is not a valid instance of Document.")}if(!nn.isObject(en)){en=null}else{en=dn.convert(Wt,en,{context:"Failed to set the 'ondragover' property on 'Document': The provided value"})}tn[pn]["ondragover"]=en}get ondragstart(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get ondragstart' called on an object that is not a valid instance of Document.")}return nn.tryWrapperForImpl(en[pn]["ondragstart"])}set ondragstart(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set ondragstart' called on an object that is not a valid instance of Document.")}if(!nn.isObject(en)){en=null}else{en=dn.convert(Wt,en,{context:"Failed to set the 'ondragstart' property on 'Document': The provided value"})}tn[pn]["ondragstart"]=en}get ondrop(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get ondrop' called on an object that is not a valid instance of Document.")}return nn.tryWrapperForImpl(en[pn]["ondrop"])}set ondrop(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set ondrop' called on an object that is not a valid instance of Document.")}if(!nn.isObject(en)){en=null}else{en=dn.convert(Wt,en,{context:"Failed to set the 'ondrop' property on 'Document': The provided value"})}tn[pn]["ondrop"]=en}get ondurationchange(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get ondurationchange' called on an object that is not a valid instance of Document.")}return nn.tryWrapperForImpl(en[pn]["ondurationchange"])}set ondurationchange(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set ondurationchange' called on an object that is not a valid instance of Document.")}if(!nn.isObject(en)){en=null}else{en=dn.convert(Wt,en,{context:"Failed to set the 'ondurationchange' property on 'Document': The provided value"})}tn[pn]["ondurationchange"]=en}get onemptied(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get onemptied' called on an object that is not a valid instance of Document.")}return nn.tryWrapperForImpl(en[pn]["onemptied"])}set onemptied(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set onemptied' called on an object that is not a valid instance of Document.")}if(!nn.isObject(en)){en=null}else{en=dn.convert(Wt,en,{context:"Failed to set the 'onemptied' property on 'Document': The provided value"})}tn[pn]["onemptied"]=en}get onended(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get onended' called on an object that is not a valid instance of Document.")}return nn.tryWrapperForImpl(en[pn]["onended"])}set onended(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set onended' called on an object that is not a valid instance of Document.")}if(!nn.isObject(en)){en=null}else{en=dn.convert(Wt,en,{context:"Failed to set the 'onended' property on 'Document': The provided value"})}tn[pn]["onended"]=en}get onerror(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get onerror' called on an object that is not a valid instance of Document.")}return nn.tryWrapperForImpl(en[pn]["onerror"])}set onerror(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set onerror' called on an object that is not a valid instance of Document.")}if(!nn.isObject(en)){en=null}else{en=un.convert(Wt,en,{context:"Failed to set the 'onerror' property on 'Document': The provided value"})}tn[pn]["onerror"]=en}get onfocus(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get onfocus' called on an object that is not a valid instance of Document.")}return nn.tryWrapperForImpl(en[pn]["onfocus"])}set onfocus(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set onfocus' called on an object that is not a valid instance of Document.")}if(!nn.isObject(en)){en=null}else{en=dn.convert(Wt,en,{context:"Failed to set the 'onfocus' property on 'Document': The provided value"})}tn[pn]["onfocus"]=en}get onformdata(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get onformdata' called on an object that is not a valid instance of Document.")}return nn.tryWrapperForImpl(en[pn]["onformdata"])}set onformdata(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set onformdata' called on an object that is not a valid instance of Document.")}if(!nn.isObject(en)){en=null}else{en=dn.convert(Wt,en,{context:"Failed to set the 'onformdata' property on 'Document': The provided value"})}tn[pn]["onformdata"]=en}get oninput(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get oninput' called on an object that is not a valid instance of Document.")}return nn.tryWrapperForImpl(en[pn]["oninput"])}set oninput(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set oninput' called on an object that is not a valid instance of Document.")}if(!nn.isObject(en)){en=null}else{en=dn.convert(Wt,en,{context:"Failed to set the 'oninput' property on 'Document': The provided value"})}tn[pn]["oninput"]=en}get oninvalid(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get oninvalid' called on an object that is not a valid instance of Document.")}return nn.tryWrapperForImpl(en[pn]["oninvalid"])}set oninvalid(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set oninvalid' called on an object that is not a valid instance of Document.")}if(!nn.isObject(en)){en=null}else{en=dn.convert(Wt,en,{context:"Failed to set the 'oninvalid' property on 'Document': The provided value"})}tn[pn]["oninvalid"]=en}get onkeydown(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get onkeydown' called on an object that is not a valid instance of Document.")}return nn.tryWrapperForImpl(en[pn]["onkeydown"])}set onkeydown(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set onkeydown' called on an object that is not a valid instance of Document.")}if(!nn.isObject(en)){en=null}else{en=dn.convert(Wt,en,{context:"Failed to set the 'onkeydown' property on 'Document': The provided value"})}tn[pn]["onkeydown"]=en}get onkeypress(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get onkeypress' called on an object that is not a valid instance of Document.")}return nn.tryWrapperForImpl(en[pn]["onkeypress"])}set onkeypress(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set onkeypress' called on an object that is not a valid instance of Document.")}if(!nn.isObject(en)){en=null}else{en=dn.convert(Wt,en,{context:"Failed to set the 'onkeypress' property on 'Document': The provided value"})}tn[pn]["onkeypress"]=en}get onkeyup(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get onkeyup' called on an object that is not a valid instance of Document.")}return nn.tryWrapperForImpl(en[pn]["onkeyup"])}set onkeyup(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set onkeyup' called on an object that is not a valid instance of Document.")}if(!nn.isObject(en)){en=null}else{en=dn.convert(Wt,en,{context:"Failed to set the 'onkeyup' property on 'Document': The provided value"})}tn[pn]["onkeyup"]=en}get onload(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get onload' called on an object that is not a valid instance of Document.")}return nn.tryWrapperForImpl(en[pn]["onload"])}set onload(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set onload' called on an object that is not a valid instance of Document.")}if(!nn.isObject(en)){en=null}else{en=dn.convert(Wt,en,{context:"Failed to set the 'onload' property on 'Document': The provided value"})}tn[pn]["onload"]=en}get onloadeddata(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get onloadeddata' called on an object that is not a valid instance of Document.")}return nn.tryWrapperForImpl(en[pn]["onloadeddata"])}set onloadeddata(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set onloadeddata' called on an object that is not a valid instance of Document.")}if(!nn.isObject(en)){en=null}else{en=dn.convert(Wt,en,{context:"Failed to set the 'onloadeddata' property on 'Document': The provided value"})}tn[pn]["onloadeddata"]=en}get onloadedmetadata(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get onloadedmetadata' called on an object that is not a valid instance of Document.")}return nn.tryWrapperForImpl(en[pn]["onloadedmetadata"])}set onloadedmetadata(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set onloadedmetadata' called on an object that is not a valid instance of Document.")}if(!nn.isObject(en)){en=null}else{en=dn.convert(Wt,en,{context:"Failed to set the 'onloadedmetadata' property on 'Document': The provided value"})}tn[pn]["onloadedmetadata"]=en}get onloadstart(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get onloadstart' called on an object that is not a valid instance of Document.")}return nn.tryWrapperForImpl(en[pn]["onloadstart"])}set onloadstart(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set onloadstart' called on an object that is not a valid instance of Document.")}if(!nn.isObject(en)){en=null}else{en=dn.convert(Wt,en,{context:"Failed to set the 'onloadstart' property on 'Document': The provided value"})}tn[pn]["onloadstart"]=en}get onmousedown(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get onmousedown' called on an object that is not a valid instance of Document.")}return nn.tryWrapperForImpl(en[pn]["onmousedown"])}set onmousedown(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set onmousedown' called on an object that is not a valid instance of Document.")}if(!nn.isObject(en)){en=null}else{en=dn.convert(Wt,en,{context:"Failed to set the 'onmousedown' property on 'Document': The provided value"})}tn[pn]["onmousedown"]=en}get onmouseenter(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){return}return nn.tryWrapperForImpl(en[pn]["onmouseenter"])}set onmouseenter(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){return}if(!nn.isObject(en)){en=null}else{en=dn.convert(Wt,en,{context:"Failed to set the 'onmouseenter' property on 'Document': The provided value"})}tn[pn]["onmouseenter"]=en}get onmouseleave(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){return}return nn.tryWrapperForImpl(en[pn]["onmouseleave"])}set onmouseleave(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){return}if(!nn.isObject(en)){en=null}else{en=dn.convert(Wt,en,{context:"Failed to set the 'onmouseleave' property on 'Document': The provided value"})}tn[pn]["onmouseleave"]=en}get onmousemove(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get onmousemove' called on an object that is not a valid instance of Document.")}return nn.tryWrapperForImpl(en[pn]["onmousemove"])}set onmousemove(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set onmousemove' called on an object that is not a valid instance of Document.")}if(!nn.isObject(en)){en=null}else{en=dn.convert(Wt,en,{context:"Failed to set the 'onmousemove' property on 'Document': The provided value"})}tn[pn]["onmousemove"]=en}get onmouseout(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get onmouseout' called on an object that is not a valid instance of Document.")}return nn.tryWrapperForImpl(en[pn]["onmouseout"])}set onmouseout(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set onmouseout' called on an object that is not a valid instance of Document.")}if(!nn.isObject(en)){en=null}else{en=dn.convert(Wt,en,{context:"Failed to set the 'onmouseout' property on 'Document': The provided value"})}tn[pn]["onmouseout"]=en}get onmouseover(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get onmouseover' called on an object that is not a valid instance of Document.")}return nn.tryWrapperForImpl(en[pn]["onmouseover"])}set onmouseover(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set onmouseover' called on an object that is not a valid instance of Document.")}if(!nn.isObject(en)){en=null}else{en=dn.convert(Wt,en,{context:"Failed to set the 'onmouseover' property on 'Document': The provided value"})}tn[pn]["onmouseover"]=en}get onmouseup(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get onmouseup' called on an object that is not a valid instance of Document.")}return nn.tryWrapperForImpl(en[pn]["onmouseup"])}set onmouseup(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set onmouseup' called on an object that is not a valid instance of Document.")}if(!nn.isObject(en)){en=null}else{en=dn.convert(Wt,en,{context:"Failed to set the 'onmouseup' property on 'Document': The provided value"})}tn[pn]["onmouseup"]=en}get onpaste(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get onpaste' called on an object that is not a valid instance of Document.")}return nn.tryWrapperForImpl(en[pn]["onpaste"])}set onpaste(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set onpaste' called on an object that is not a valid instance of Document.")}if(!nn.isObject(en)){en=null}else{en=dn.convert(Wt,en,{context:"Failed to set the 'onpaste' property on 'Document': The provided value"})}tn[pn]["onpaste"]=en}get onpause(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get onpause' called on an object that is not a valid instance of Document.")}return nn.tryWrapperForImpl(en[pn]["onpause"])}set onpause(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set onpause' called on an object that is not a valid instance of Document.")}if(!nn.isObject(en)){en=null}else{en=dn.convert(Wt,en,{context:"Failed to set the 'onpause' property on 'Document': The provided value"})}tn[pn]["onpause"]=en}get onplay(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get onplay' called on an object that is not a valid instance of Document.")}return nn.tryWrapperForImpl(en[pn]["onplay"])}set onplay(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set onplay' called on an object that is not a valid instance of Document.")}if(!nn.isObject(en)){en=null}else{en=dn.convert(Wt,en,{context:"Failed to set the 'onplay' property on 'Document': The provided value"})}tn[pn]["onplay"]=en}get onplaying(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get onplaying' called on an object that is not a valid instance of Document.")}return nn.tryWrapperForImpl(en[pn]["onplaying"])}set onplaying(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set onplaying' called on an object that is not a valid instance of Document.")}if(!nn.isObject(en)){en=null}else{en=dn.convert(Wt,en,{context:"Failed to set the 'onplaying' property on 'Document': The provided value"})}tn[pn]["onplaying"]=en}get onprogress(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get onprogress' called on an object that is not a valid instance of Document.")}return nn.tryWrapperForImpl(en[pn]["onprogress"])}set onprogress(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set onprogress' called on an object that is not a valid instance of Document.")}if(!nn.isObject(en)){en=null}else{en=dn.convert(Wt,en,{context:"Failed to set the 'onprogress' property on 'Document': The provided value"})}tn[pn]["onprogress"]=en}get onratechange(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get onratechange' called on an object that is not a valid instance of Document.")}return nn.tryWrapperForImpl(en[pn]["onratechange"])}set onratechange(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set onratechange' called on an object that is not a valid instance of Document.")}if(!nn.isObject(en)){en=null}else{en=dn.convert(Wt,en,{context:"Failed to set the 'onratechange' property on 'Document': The provided value"})}tn[pn]["onratechange"]=en}get onreset(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get onreset' called on an object that is not a valid instance of Document.")}return nn.tryWrapperForImpl(en[pn]["onreset"])}set onreset(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set onreset' called on an object that is not a valid instance of Document.")}if(!nn.isObject(en)){en=null}else{en=dn.convert(Wt,en,{context:"Failed to set the 'onreset' property on 'Document': The provided value"})}tn[pn]["onreset"]=en}get onresize(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get onresize' called on an object that is not a valid instance of Document.")}return nn.tryWrapperForImpl(en[pn]["onresize"])}set onresize(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set onresize' called on an object that is not a valid instance of Document.")}if(!nn.isObject(en)){en=null}else{en=dn.convert(Wt,en,{context:"Failed to set the 'onresize' property on 'Document': The provided value"})}tn[pn]["onresize"]=en}get onscroll(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get onscroll' called on an object that is not a valid instance of Document.")}return nn.tryWrapperForImpl(en[pn]["onscroll"])}set onscroll(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set onscroll' called on an object that is not a valid instance of Document.")}if(!nn.isObject(en)){en=null}else{en=dn.convert(Wt,en,{context:"Failed to set the 'onscroll' property on 'Document': The provided value"})}tn[pn]["onscroll"]=en}get onscrollend(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get onscrollend' called on an object that is not a valid instance of Document.")}return nn.tryWrapperForImpl(en[pn]["onscrollend"])}set onscrollend(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set onscrollend' called on an object that is not a valid instance of Document.")}if(!nn.isObject(en)){en=null}else{en=dn.convert(Wt,en,{context:"Failed to set the 'onscrollend' property on 'Document': The provided value"})}tn[pn]["onscrollend"]=en}get onsecuritypolicyviolation(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get onsecuritypolicyviolation' called on an object that is not a valid instance of Document.")}return nn.tryWrapperForImpl(en[pn]["onsecuritypolicyviolation"])}set onsecuritypolicyviolation(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set onsecuritypolicyviolation' called on an object that is not a valid instance of Document.")}if(!nn.isObject(en)){en=null}else{en=dn.convert(Wt,en,{context:"Failed to set the 'onsecuritypolicyviolation' property on 'Document': The provided value"})}tn[pn]["onsecuritypolicyviolation"]=en}get onseeked(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get onseeked' called on an object that is not a valid instance of Document.")}return nn.tryWrapperForImpl(en[pn]["onseeked"])}set onseeked(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set onseeked' called on an object that is not a valid instance of Document.")}if(!nn.isObject(en)){en=null}else{en=dn.convert(Wt,en,{context:"Failed to set the 'onseeked' property on 'Document': The provided value"})}tn[pn]["onseeked"]=en}get onseeking(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get onseeking' called on an object that is not a valid instance of Document.")}return nn.tryWrapperForImpl(en[pn]["onseeking"])}set onseeking(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set onseeking' called on an object that is not a valid instance of Document.")}if(!nn.isObject(en)){en=null}else{en=dn.convert(Wt,en,{context:"Failed to set the 'onseeking' property on 'Document': The provided value"})}tn[pn]["onseeking"]=en}get onselect(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get onselect' called on an object that is not a valid instance of Document.")}return nn.tryWrapperForImpl(en[pn]["onselect"])}set onselect(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set onselect' called on an object that is not a valid instance of Document.")}if(!nn.isObject(en)){en=null}else{en=dn.convert(Wt,en,{context:"Failed to set the 'onselect' property on 'Document': The provided value"})}tn[pn]["onselect"]=en}get onslotchange(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get onslotchange' called on an object that is not a valid instance of Document.")}return nn.tryWrapperForImpl(en[pn]["onslotchange"])}set onslotchange(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set onslotchange' called on an object that is not a valid instance of Document.")}if(!nn.isObject(en)){en=null}else{en=dn.convert(Wt,en,{context:"Failed to set the 'onslotchange' property on 'Document': The provided value"})}tn[pn]["onslotchange"]=en}get onstalled(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get onstalled' called on an object that is not a valid instance of Document.")}return nn.tryWrapperForImpl(en[pn]["onstalled"])}set onstalled(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set onstalled' called on an object that is not a valid instance of Document.")}if(!nn.isObject(en)){en=null}else{en=dn.convert(Wt,en,{context:"Failed to set the 'onstalled' property on 'Document': The provided value"})}tn[pn]["onstalled"]=en}get onsubmit(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get onsubmit' called on an object that is not a valid instance of Document.")}return nn.tryWrapperForImpl(en[pn]["onsubmit"])}set onsubmit(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set onsubmit' called on an object that is not a valid instance of Document.")}if(!nn.isObject(en)){en=null}else{en=dn.convert(Wt,en,{context:"Failed to set the 'onsubmit' property on 'Document': The provided value"})}tn[pn]["onsubmit"]=en}get onsuspend(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get onsuspend' called on an object that is not a valid instance of Document.")}return nn.tryWrapperForImpl(en[pn]["onsuspend"])}set onsuspend(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set onsuspend' called on an object that is not a valid instance of Document.")}if(!nn.isObject(en)){en=null}else{en=dn.convert(Wt,en,{context:"Failed to set the 'onsuspend' property on 'Document': The provided value"})}tn[pn]["onsuspend"]=en}get ontimeupdate(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get ontimeupdate' called on an object that is not a valid instance of Document.")}return nn.tryWrapperForImpl(en[pn]["ontimeupdate"])}set ontimeupdate(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set ontimeupdate' called on an object that is not a valid instance of Document.")}if(!nn.isObject(en)){en=null}else{en=dn.convert(Wt,en,{context:"Failed to set the 'ontimeupdate' property on 'Document': The provided value"})}tn[pn]["ontimeupdate"]=en}get ontoggle(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get ontoggle' called on an object that is not a valid instance of Document.")}return nn.tryWrapperForImpl(en[pn]["ontoggle"])}set ontoggle(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set ontoggle' called on an object that is not a valid instance of Document.")}if(!nn.isObject(en)){en=null}else{en=dn.convert(Wt,en,{context:"Failed to set the 'ontoggle' property on 'Document': The provided value"})}tn[pn]["ontoggle"]=en}get onvolumechange(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get onvolumechange' called on an object that is not a valid instance of Document.")}return nn.tryWrapperForImpl(en[pn]["onvolumechange"])}set onvolumechange(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set onvolumechange' called on an object that is not a valid instance of Document.")}if(!nn.isObject(en)){en=null}else{en=dn.convert(Wt,en,{context:"Failed to set the 'onvolumechange' property on 'Document': The provided value"})}tn[pn]["onvolumechange"]=en}get onwaiting(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get onwaiting' called on an object that is not a valid instance of Document.")}return nn.tryWrapperForImpl(en[pn]["onwaiting"])}set onwaiting(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set onwaiting' called on an object that is not a valid instance of Document.")}if(!nn.isObject(en)){en=null}else{en=dn.convert(Wt,en,{context:"Failed to set the 'onwaiting' property on 'Document': The provided value"})}tn[pn]["onwaiting"]=en}get onwebkitanimationend(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get onwebkitanimationend' called on an object that is not a valid instance of Document.")}return nn.tryWrapperForImpl(en[pn]["onwebkitanimationend"])}set onwebkitanimationend(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set onwebkitanimationend' called on an object that is not a valid instance of Document.")}if(!nn.isObject(en)){en=null}else{en=dn.convert(Wt,en,{context:"Failed to set the 'onwebkitanimationend' property on 'Document': The provided value"})}tn[pn]["onwebkitanimationend"]=en}get onwebkitanimationiteration(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get onwebkitanimationiteration' called on an object that is not a valid instance of Document.")}return nn.tryWrapperForImpl(en[pn]["onwebkitanimationiteration"])}set onwebkitanimationiteration(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set onwebkitanimationiteration' called on an object that is not a valid instance of Document.")}if(!nn.isObject(en)){en=null}else{en=dn.convert(Wt,en,{context:"Failed to set the 'onwebkitanimationiteration' property on 'Document': The provided value"})}tn[pn]["onwebkitanimationiteration"]=en}get onwebkitanimationstart(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get onwebkitanimationstart' called on an object that is not a valid instance of Document.")}return nn.tryWrapperForImpl(en[pn]["onwebkitanimationstart"])}set onwebkitanimationstart(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set onwebkitanimationstart' called on an object that is not a valid instance of Document.")}if(!nn.isObject(en)){en=null}else{en=dn.convert(Wt,en,{context:"Failed to set the 'onwebkitanimationstart' property on 'Document': The provided value"})}tn[pn]["onwebkitanimationstart"]=en}get onwebkittransitionend(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get onwebkittransitionend' called on an object that is not a valid instance of Document.")}return nn.tryWrapperForImpl(en[pn]["onwebkittransitionend"])}set onwebkittransitionend(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set onwebkittransitionend' called on an object that is not a valid instance of Document.")}if(!nn.isObject(en)){en=null}else{en=dn.convert(Wt,en,{context:"Failed to set the 'onwebkittransitionend' property on 'Document': The provided value"})}tn[pn]["onwebkittransitionend"]=en}get onwheel(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get onwheel' called on an object that is not a valid instance of Document.")}return nn.tryWrapperForImpl(en[pn]["onwheel"])}set onwheel(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set onwheel' called on an object that is not a valid instance of Document.")}if(!nn.isObject(en)){en=null}else{en=dn.convert(Wt,en,{context:"Failed to set the 'onwheel' property on 'Document': The provided value"})}tn[pn]["onwheel"]=en}get ontouchstart(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get ontouchstart' called on an object that is not a valid instance of Document.")}return nn.tryWrapperForImpl(en[pn]["ontouchstart"])}set ontouchstart(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set ontouchstart' called on an object that is not a valid instance of Document.")}if(!nn.isObject(en)){en=null}else{en=dn.convert(Wt,en,{context:"Failed to set the 'ontouchstart' property on 'Document': The provided value"})}tn[pn]["ontouchstart"]=en}get ontouchend(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get ontouchend' called on an object that is not a valid instance of Document.")}return nn.tryWrapperForImpl(en[pn]["ontouchend"])}set ontouchend(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set ontouchend' called on an object that is not a valid instance of Document.")}if(!nn.isObject(en)){en=null}else{en=dn.convert(Wt,en,{context:"Failed to set the 'ontouchend' property on 'Document': The provided value"})}tn[pn]["ontouchend"]=en}get ontouchmove(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get ontouchmove' called on an object that is not a valid instance of Document.")}return nn.tryWrapperForImpl(en[pn]["ontouchmove"])}set ontouchmove(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set ontouchmove' called on an object that is not a valid instance of Document.")}if(!nn.isObject(en)){en=null}else{en=dn.convert(Wt,en,{context:"Failed to set the 'ontouchmove' property on 'Document': The provided value"})}tn[pn]["ontouchmove"]=en}get ontouchcancel(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get ontouchcancel' called on an object that is not a valid instance of Document.")}return nn.tryWrapperForImpl(en[pn]["ontouchcancel"])}set ontouchcancel(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set ontouchcancel' called on an object that is not a valid instance of Document.")}if(!nn.isObject(en)){en=null}else{en=dn.convert(Wt,en,{context:"Failed to set the 'ontouchcancel' property on 'Document': The provided value"})}tn[pn]["ontouchcancel"]=en}get activeElement(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get activeElement' called on an object that is not a valid instance of Document.")}return nn.tryWrapperForImpl(en[pn]["activeElement"])}get children(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get children' called on an object that is not a valid instance of Document.")}return nn.getSameObject(this,"children",(()=>nn.tryWrapperForImpl(en[pn]["children"])))}get firstElementChild(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get firstElementChild' called on an object that is not a valid instance of Document.")}return nn.tryWrapperForImpl(en[pn]["firstElementChild"])}get lastElementChild(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get lastElementChild' called on an object that is not a valid instance of Document.")}return nn.tryWrapperForImpl(en[pn]["lastElementChild"])}get childElementCount(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get childElementCount' called on an object that is not a valid instance of Document.")}return en[pn]["childElementCount"]}}Object.defineProperties(Document.prototype,{getElementsByTagName:{enumerable:true},getElementsByTagNameNS:{enumerable:true},getElementsByClassName:{enumerable:true},createElement:{enumerable:true},createElementNS:{enumerable:true},createDocumentFragment:{enumerable:true},createTextNode:{enumerable:true},createCDATASection:{enumerable:true},createComment:{enumerable:true},createProcessingInstruction:{enumerable:true},importNode:{enumerable:true},adoptNode:{enumerable:true},createAttribute:{enumerable:true},createAttributeNS:{enumerable:true},createEvent:{enumerable:true},createRange:{enumerable:true},createNodeIterator:{enumerable:true},createTreeWalker:{enumerable:true},getElementsByName:{enumerable:true},open:{enumerable:true},close:{enumerable:true},write:{enumerable:true},writeln:{enumerable:true},hasFocus:{enumerable:true},clear:{enumerable:true},captureEvents:{enumerable:true},releaseEvents:{enumerable:true},getSelection:{enumerable:true},getElementById:{enumerable:true},prepend:{enumerable:true},append:{enumerable:true},replaceChildren:{enumerable:true},querySelector:{enumerable:true},querySelectorAll:{enumerable:true},implementation:{enumerable:true},URL:{enumerable:true},documentURI:{enumerable:true},compatMode:{enumerable:true},characterSet:{enumerable:true},charset:{enumerable:true},inputEncoding:{enumerable:true},contentType:{enumerable:true},doctype:{enumerable:true},documentElement:{enumerable:true},referrer:{enumerable:true},cookie:{enumerable:true},lastModified:{enumerable:true},readyState:{enumerable:true},title:{enumerable:true},dir:{enumerable:true},body:{enumerable:true},head:{enumerable:true},images:{enumerable:true},embeds:{enumerable:true},plugins:{enumerable:true},links:{enumerable:true},forms:{enumerable:true},scripts:{enumerable:true},currentScript:{enumerable:true},defaultView:{enumerable:true},onreadystatechange:{enumerable:true},anchors:{enumerable:true},applets:{enumerable:true},styleSheets:{enumerable:true},hidden:{enumerable:true},visibilityState:{enumerable:true},onvisibilitychange:{enumerable:true},onabort:{enumerable:true},onauxclick:{enumerable:true},onbeforeinput:{enumerable:true},onbeforematch:{enumerable:true},onbeforetoggle:{enumerable:true},onblur:{enumerable:true},oncancel:{enumerable:true},oncanplay:{enumerable:true},oncanplaythrough:{enumerable:true},onchange:{enumerable:true},onclick:{enumerable:true},onclose:{enumerable:true},oncontextlost:{enumerable:true},oncontextmenu:{enumerable:true},oncontextrestored:{enumerable:true},oncopy:{enumerable:true},oncuechange:{enumerable:true},oncut:{enumerable:true},ondblclick:{enumerable:true},ondrag:{enumerable:true},ondragend:{enumerable:true},ondragenter:{enumerable:true},ondragleave:{enumerable:true},ondragover:{enumerable:true},ondragstart:{enumerable:true},ondrop:{enumerable:true},ondurationchange:{enumerable:true},onemptied:{enumerable:true},onended:{enumerable:true},onerror:{enumerable:true},onfocus:{enumerable:true},onformdata:{enumerable:true},oninput:{enumerable:true},oninvalid:{enumerable:true},onkeydown:{enumerable:true},onkeypress:{enumerable:true},onkeyup:{enumerable:true},onload:{enumerable:true},onloadeddata:{enumerable:true},onloadedmetadata:{enumerable:true},onloadstart:{enumerable:true},onmousedown:{enumerable:true},onmouseenter:{enumerable:true},onmouseleave:{enumerable:true},onmousemove:{enumerable:true},onmouseout:{enumerable:true},onmouseover:{enumerable:true},onmouseup:{enumerable:true},onpaste:{enumerable:true},onpause:{enumerable:true},onplay:{enumerable:true},onplaying:{enumerable:true},onprogress:{enumerable:true},onratechange:{enumerable:true},onreset:{enumerable:true},onresize:{enumerable:true},onscroll:{enumerable:true},onscrollend:{enumerable:true},onsecuritypolicyviolation:{enumerable:true},onseeked:{enumerable:true},onseeking:{enumerable:true},onselect:{enumerable:true},onslotchange:{enumerable:true},onstalled:{enumerable:true},onsubmit:{enumerable:true},onsuspend:{enumerable:true},ontimeupdate:{enumerable:true},ontoggle:{enumerable:true},onvolumechange:{enumerable:true},onwaiting:{enumerable:true},onwebkitanimationend:{enumerable:true},onwebkitanimationiteration:{enumerable:true},onwebkitanimationstart:{enumerable:true},onwebkittransitionend:{enumerable:true},onwheel:{enumerable:true},ontouchstart:{enumerable:true},ontouchend:{enumerable:true},ontouchmove:{enumerable:true},ontouchcancel:{enumerable:true},activeElement:{enumerable:true},children:{enumerable:true},firstElementChild:{enumerable:true},lastElementChild:{enumerable:true},childElementCount:{enumerable:true},[Symbol.toStringTag]:{value:"Document",configurable:true},[Symbol.unscopables]:{value:{prepend:true,append:true,replaceChildren:true,__proto__:null},configurable:true}});mn[bn]=Document;Object.defineProperty(Wt,bn,{configurable:true,writable:true,value:Document})};const Zn=en(34641)},98938:(Wt,Pt,en)=>{const tn=en(37125);const nn=en(87094);const an=en(24171);const In=en(8348).ceReactionsPreSteps;const rn=en(8348).ceReactionsPostSteps;const sn=nn.implSymbol;const on=nn.ctorRegistrySymbol;const cn="DocumentFragment";Pt.is=Wt=>nn.isObject(Wt)&&nn.hasOwn(Wt,sn)&&Wt[sn]instanceof un.implementation;Pt.isImpl=Wt=>nn.isObject(Wt)&&Wt instanceof un.implementation;Pt.convert=(Wt,en,{context:tn="The provided value"}={})=>{if(Pt.is(en)){return nn.implForWrapper(en)}throw new Wt.TypeError(`${tn} is not of type 'DocumentFragment'.`)};function makeWrapper(Wt,Pt){let en;if(Pt!==undefined){en=Pt.prototype}if(!nn.isObject(en)){en=Wt[on]["DocumentFragment"].prototype}return Object.create(en)}Pt.create=(Wt,en,tn)=>{const nn=makeWrapper(Wt);return Pt.setup(nn,Wt,en,tn)};Pt.createImpl=(Wt,en,tn)=>{const an=Pt.create(Wt,en,tn);return nn.implForWrapper(an)};Pt._internalSetup=(Wt,Pt)=>{an._internalSetup(Wt,Pt)};Pt.setup=(Wt,en,tn=[],an={})=>{an.wrapper=Wt;Pt._internalSetup(Wt,en);Object.defineProperty(Wt,sn,{value:new un.implementation(en,tn,an),configurable:true});Wt[sn][nn.wrapperSymbol]=Wt;if(un.init){un.init(Wt[sn])}return Wt};Pt["new"]=(Wt,en)=>{const tn=makeWrapper(Wt,en);Pt._internalSetup(tn,Wt);Object.defineProperty(tn,sn,{value:Object.create(un.implementation.prototype),configurable:true});tn[sn][nn.wrapperSymbol]=tn;if(un.init){un.init(tn[sn])}return tn[sn]};const dn=new Set(["Window"]);Pt.install=(Wt,en)=>{if(!en.some((Wt=>dn.has(Wt)))){return}const on=nn.initCtorRegistry(Wt);class DocumentFragment extends Wt.Node{constructor(){return Pt.setup(Object.create(new.target.prototype),Wt,undefined)}getElementById(en){const an=this!==null&&this!==undefined?this:Wt;if(!Pt.is(an)){throw new Wt.TypeError("'getElementById' called on an object that is not a valid instance of DocumentFragment.")}if(arguments.length<1){throw new Wt.TypeError(`Failed to execute 'getElementById' on 'DocumentFragment': 1 argument required, but only ${arguments.length} present.`)}const In=[];{let Pt=arguments[0];Pt=tn["DOMString"](Pt,{context:"Failed to execute 'getElementById' on 'DocumentFragment': parameter 1",globals:Wt});In.push(Pt)}return nn.tryWrapperForImpl(an[sn].getElementById(...In))}prepend(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'prepend' called on an object that is not a valid instance of DocumentFragment.")}const on=[];for(let Pt=0;Ptnn.tryWrapperForImpl(en[sn]["children"])))}get firstElementChild(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get firstElementChild' called on an object that is not a valid instance of DocumentFragment.")}return nn.tryWrapperForImpl(en[sn]["firstElementChild"])}get lastElementChild(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get lastElementChild' called on an object that is not a valid instance of DocumentFragment.")}return nn.tryWrapperForImpl(en[sn]["lastElementChild"])}get childElementCount(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get childElementCount' called on an object that is not a valid instance of DocumentFragment.")}return en[sn]["childElementCount"]}}Object.defineProperties(DocumentFragment.prototype,{getElementById:{enumerable:true},prepend:{enumerable:true},append:{enumerable:true},replaceChildren:{enumerable:true},querySelector:{enumerable:true},querySelectorAll:{enumerable:true},children:{enumerable:true},firstElementChild:{enumerable:true},lastElementChild:{enumerable:true},childElementCount:{enumerable:true},[Symbol.toStringTag]:{value:"DocumentFragment",configurable:true},[Symbol.unscopables]:{value:{prepend:true,append:true,replaceChildren:true,__proto__:null},configurable:true}});on[cn]=DocumentFragment;Object.defineProperty(Wt,cn,{configurable:true,writable:true,value:DocumentFragment})};const un=en(98089)},80842:(Wt,Pt,en)=>{const tn=en(37125);const nn=en(87094);const an=en(24171);const In=en(8348).ceReactionsPreSteps;const rn=en(8348).ceReactionsPostSteps;const sn=nn.implSymbol;const on=nn.ctorRegistrySymbol;const cn="DocumentType";Pt.is=Wt=>nn.isObject(Wt)&&nn.hasOwn(Wt,sn)&&Wt[sn]instanceof un.implementation;Pt.isImpl=Wt=>nn.isObject(Wt)&&Wt instanceof un.implementation;Pt.convert=(Wt,en,{context:tn="The provided value"}={})=>{if(Pt.is(en)){return nn.implForWrapper(en)}throw new Wt.TypeError(`${tn} is not of type 'DocumentType'.`)};function makeWrapper(Wt,Pt){let en;if(Pt!==undefined){en=Pt.prototype}if(!nn.isObject(en)){en=Wt[on]["DocumentType"].prototype}return Object.create(en)}Pt.create=(Wt,en,tn)=>{const nn=makeWrapper(Wt);return Pt.setup(nn,Wt,en,tn)};Pt.createImpl=(Wt,en,tn)=>{const an=Pt.create(Wt,en,tn);return nn.implForWrapper(an)};Pt._internalSetup=(Wt,Pt)=>{an._internalSetup(Wt,Pt)};Pt.setup=(Wt,en,tn=[],an={})=>{an.wrapper=Wt;Pt._internalSetup(Wt,en);Object.defineProperty(Wt,sn,{value:new un.implementation(en,tn,an),configurable:true});Wt[sn][nn.wrapperSymbol]=Wt;if(un.init){un.init(Wt[sn])}return Wt};Pt["new"]=(Wt,en)=>{const tn=makeWrapper(Wt,en);Pt._internalSetup(tn,Wt);Object.defineProperty(tn,sn,{value:Object.create(un.implementation.prototype),configurable:true});tn[sn][nn.wrapperSymbol]=tn;if(un.init){un.init(tn[sn])}return tn[sn]};const dn=new Set(["Window"]);Pt.install=(Wt,en)=>{if(!en.some((Wt=>dn.has(Wt)))){return}const on=nn.initCtorRegistry(Wt);class DocumentType extends Wt.Node{constructor(){throw new Wt.TypeError("Illegal constructor")}before(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'before' called on an object that is not a valid instance of DocumentType.")}const on=[];for(let Pt=0;Pt{const tn=en(37125);const nn=en(87094);const an=en(8348).ceReactionsPreSteps;const In=en(8348).ceReactionsPostSteps;const rn=en(17552);const sn=en(82921);const on=en(24171);const cn=nn.implSymbol;const dn=nn.ctorRegistrySymbol;const un="Element";Pt.is=Wt=>nn.isObject(Wt)&&nn.hasOwn(Wt,cn)&&Wt[cn]instanceof mn.implementation;Pt.isImpl=Wt=>nn.isObject(Wt)&&Wt instanceof mn.implementation;Pt.convert=(Wt,en,{context:tn="The provided value"}={})=>{if(Pt.is(en)){return nn.implForWrapper(en)}throw new Wt.TypeError(`${tn} is not of type 'Element'.`)};function makeWrapper(Wt,Pt){let en;if(Pt!==undefined){en=Pt.prototype}if(!nn.isObject(en)){en=Wt[dn]["Element"].prototype}return Object.create(en)}Pt.create=(Wt,en,tn)=>{const nn=makeWrapper(Wt);return Pt.setup(nn,Wt,en,tn)};Pt.createImpl=(Wt,en,tn)=>{const an=Pt.create(Wt,en,tn);return nn.implForWrapper(an)};Pt._internalSetup=(Wt,Pt)=>{on._internalSetup(Wt,Pt)};Pt.setup=(Wt,en,tn=[],an={})=>{an.wrapper=Wt;Pt._internalSetup(Wt,en);Object.defineProperty(Wt,cn,{value:new mn.implementation(en,tn,an),configurable:true});Wt[cn][nn.wrapperSymbol]=Wt;if(mn.init){mn.init(Wt[cn])}return Wt};Pt["new"]=(Wt,en)=>{const tn=makeWrapper(Wt,en);Pt._internalSetup(tn,Wt);Object.defineProperty(tn,cn,{value:Object.create(mn.implementation.prototype),configurable:true});tn[cn][nn.wrapperSymbol]=tn;if(mn.init){mn.init(tn[cn])}return tn[cn]};const pn=new Set(["Window"]);Pt.install=(Wt,en)=>{if(!en.some((Wt=>pn.has(Wt)))){return}const dn=nn.initCtorRegistry(Wt);class Element extends Wt.Node{constructor(){throw new Wt.TypeError("Illegal constructor")}hasAttributes(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'hasAttributes' called on an object that is not a valid instance of Element.")}return en[cn].hasAttributes()}getAttributeNames(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'getAttributeNames' called on an object that is not a valid instance of Element.")}return nn.tryWrapperForImpl(en[cn].getAttributeNames())}getAttribute(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'getAttribute' called on an object that is not a valid instance of Element.")}if(arguments.length<1){throw new Wt.TypeError(`Failed to execute 'getAttribute' on 'Element': 1 argument required, but only ${arguments.length} present.`)}const an=[];{let Pt=arguments[0];Pt=tn["DOMString"](Pt,{context:"Failed to execute 'getAttribute' on 'Element': parameter 1",globals:Wt});an.push(Pt)}return nn[cn].getAttribute(...an)}getAttributeNS(en,nn){const an=this!==null&&this!==undefined?this:Wt;if(!Pt.is(an)){throw new Wt.TypeError("'getAttributeNS' called on an object that is not a valid instance of Element.")}if(arguments.length<2){throw new Wt.TypeError(`Failed to execute 'getAttributeNS' on 'Element': 2 arguments required, but only ${arguments.length} present.`)}const In=[];{let Pt=arguments[0];if(Pt===null||Pt===undefined){Pt=null}else{Pt=tn["DOMString"](Pt,{context:"Failed to execute 'getAttributeNS' on 'Element': parameter 1",globals:Wt})}In.push(Pt)}{let Pt=arguments[1];Pt=tn["DOMString"](Pt,{context:"Failed to execute 'getAttributeNS' on 'Element': parameter 2",globals:Wt});In.push(Pt)}return an[cn].getAttributeNS(...In)}setAttribute(en,nn){const rn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(rn)){throw new Wt.TypeError("'setAttribute' called on an object that is not a valid instance of Element.")}if(arguments.length<2){throw new Wt.TypeError(`Failed to execute 'setAttribute' on 'Element': 2 arguments required, but only ${arguments.length} present.`)}const sn=[];{let Pt=arguments[0];Pt=tn["DOMString"](Pt,{context:"Failed to execute 'setAttribute' on 'Element': parameter 1",globals:Wt});sn.push(Pt)}{let Pt=arguments[1];Pt=tn["DOMString"](Pt,{context:"Failed to execute 'setAttribute' on 'Element': parameter 2",globals:Wt});sn.push(Pt)}an(Wt);try{return rn[cn].setAttribute(...sn)}finally{In(Wt)}}setAttributeNS(en,nn,rn){const sn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(sn)){throw new Wt.TypeError("'setAttributeNS' called on an object that is not a valid instance of Element.")}if(arguments.length<3){throw new Wt.TypeError(`Failed to execute 'setAttributeNS' on 'Element': 3 arguments required, but only ${arguments.length} present.`)}const on=[];{let Pt=arguments[0];if(Pt===null||Pt===undefined){Pt=null}else{Pt=tn["DOMString"](Pt,{context:"Failed to execute 'setAttributeNS' on 'Element': parameter 1",globals:Wt})}on.push(Pt)}{let Pt=arguments[1];Pt=tn["DOMString"](Pt,{context:"Failed to execute 'setAttributeNS' on 'Element': parameter 2",globals:Wt});on.push(Pt)}{let Pt=arguments[2];Pt=tn["DOMString"](Pt,{context:"Failed to execute 'setAttributeNS' on 'Element': parameter 3",globals:Wt});on.push(Pt)}an(Wt);try{return sn[cn].setAttributeNS(...on)}finally{In(Wt)}}removeAttribute(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'removeAttribute' called on an object that is not a valid instance of Element.")}if(arguments.length<1){throw new Wt.TypeError(`Failed to execute 'removeAttribute' on 'Element': 1 argument required, but only ${arguments.length} present.`)}const rn=[];{let Pt=arguments[0];Pt=tn["DOMString"](Pt,{context:"Failed to execute 'removeAttribute' on 'Element': parameter 1",globals:Wt});rn.push(Pt)}an(Wt);try{return nn[cn].removeAttribute(...rn)}finally{In(Wt)}}removeAttributeNS(en,nn){const rn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(rn)){throw new Wt.TypeError("'removeAttributeNS' called on an object that is not a valid instance of Element.")}if(arguments.length<2){throw new Wt.TypeError(`Failed to execute 'removeAttributeNS' on 'Element': 2 arguments required, but only ${arguments.length} present.`)}const sn=[];{let Pt=arguments[0];if(Pt===null||Pt===undefined){Pt=null}else{Pt=tn["DOMString"](Pt,{context:"Failed to execute 'removeAttributeNS' on 'Element': parameter 1",globals:Wt})}sn.push(Pt)}{let Pt=arguments[1];Pt=tn["DOMString"](Pt,{context:"Failed to execute 'removeAttributeNS' on 'Element': parameter 2",globals:Wt});sn.push(Pt)}an(Wt);try{return rn[cn].removeAttributeNS(...sn)}finally{In(Wt)}}toggleAttribute(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'toggleAttribute' called on an object that is not a valid instance of Element.")}if(arguments.length<1){throw new Wt.TypeError(`Failed to execute 'toggleAttribute' on 'Element': 1 argument required, but only ${arguments.length} present.`)}const rn=[];{let Pt=arguments[0];Pt=tn["DOMString"](Pt,{context:"Failed to execute 'toggleAttribute' on 'Element': parameter 1",globals:Wt});rn.push(Pt)}{let Pt=arguments[1];if(Pt!==undefined){Pt=tn["boolean"](Pt,{context:"Failed to execute 'toggleAttribute' on 'Element': parameter 2",globals:Wt})}rn.push(Pt)}an(Wt);try{return nn[cn].toggleAttribute(...rn)}finally{In(Wt)}}hasAttribute(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'hasAttribute' called on an object that is not a valid instance of Element.")}if(arguments.length<1){throw new Wt.TypeError(`Failed to execute 'hasAttribute' on 'Element': 1 argument required, but only ${arguments.length} present.`)}const an=[];{let Pt=arguments[0];Pt=tn["DOMString"](Pt,{context:"Failed to execute 'hasAttribute' on 'Element': parameter 1",globals:Wt});an.push(Pt)}return nn[cn].hasAttribute(...an)}hasAttributeNS(en,nn){const an=this!==null&&this!==undefined?this:Wt;if(!Pt.is(an)){throw new Wt.TypeError("'hasAttributeNS' called on an object that is not a valid instance of Element.")}if(arguments.length<2){throw new Wt.TypeError(`Failed to execute 'hasAttributeNS' on 'Element': 2 arguments required, but only ${arguments.length} present.`)}const In=[];{let Pt=arguments[0];if(Pt===null||Pt===undefined){Pt=null}else{Pt=tn["DOMString"](Pt,{context:"Failed to execute 'hasAttributeNS' on 'Element': parameter 1",globals:Wt})}In.push(Pt)}{let Pt=arguments[1];Pt=tn["DOMString"](Pt,{context:"Failed to execute 'hasAttributeNS' on 'Element': parameter 2",globals:Wt});In.push(Pt)}return an[cn].hasAttributeNS(...In)}getAttributeNode(en){const an=this!==null&&this!==undefined?this:Wt;if(!Pt.is(an)){throw new Wt.TypeError("'getAttributeNode' called on an object that is not a valid instance of Element.")}if(arguments.length<1){throw new Wt.TypeError(`Failed to execute 'getAttributeNode' on 'Element': 1 argument required, but only ${arguments.length} present.`)}const In=[];{let Pt=arguments[0];Pt=tn["DOMString"](Pt,{context:"Failed to execute 'getAttributeNode' on 'Element': parameter 1",globals:Wt});In.push(Pt)}return nn.tryWrapperForImpl(an[cn].getAttributeNode(...In))}getAttributeNodeNS(en,an){const In=this!==null&&this!==undefined?this:Wt;if(!Pt.is(In)){throw new Wt.TypeError("'getAttributeNodeNS' called on an object that is not a valid instance of Element.")}if(arguments.length<2){throw new Wt.TypeError(`Failed to execute 'getAttributeNodeNS' on 'Element': 2 arguments required, but only ${arguments.length} present.`)}const rn=[];{let Pt=arguments[0];if(Pt===null||Pt===undefined){Pt=null}else{Pt=tn["DOMString"](Pt,{context:"Failed to execute 'getAttributeNodeNS' on 'Element': parameter 1",globals:Wt})}rn.push(Pt)}{let Pt=arguments[1];Pt=tn["DOMString"](Pt,{context:"Failed to execute 'getAttributeNodeNS' on 'Element': parameter 2",globals:Wt});rn.push(Pt)}return nn.tryWrapperForImpl(In[cn].getAttributeNodeNS(...rn))}setAttributeNode(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'setAttributeNode' called on an object that is not a valid instance of Element.")}if(arguments.length<1){throw new Wt.TypeError(`Failed to execute 'setAttributeNode' on 'Element': 1 argument required, but only ${arguments.length} present.`)}const sn=[];{let Pt=arguments[0];Pt=rn.convert(Wt,Pt,{context:"Failed to execute 'setAttributeNode' on 'Element': parameter 1"});sn.push(Pt)}an(Wt);try{return nn.tryWrapperForImpl(tn[cn].setAttributeNode(...sn))}finally{In(Wt)}}setAttributeNodeNS(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'setAttributeNodeNS' called on an object that is not a valid instance of Element.")}if(arguments.length<1){throw new Wt.TypeError(`Failed to execute 'setAttributeNodeNS' on 'Element': 1 argument required, but only ${arguments.length} present.`)}const sn=[];{let Pt=arguments[0];Pt=rn.convert(Wt,Pt,{context:"Failed to execute 'setAttributeNodeNS' on 'Element': parameter 1"});sn.push(Pt)}an(Wt);try{return nn.tryWrapperForImpl(tn[cn].setAttributeNodeNS(...sn))}finally{In(Wt)}}removeAttributeNode(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'removeAttributeNode' called on an object that is not a valid instance of Element.")}if(arguments.length<1){throw new Wt.TypeError(`Failed to execute 'removeAttributeNode' on 'Element': 1 argument required, but only ${arguments.length} present.`)}const sn=[];{let Pt=arguments[0];Pt=rn.convert(Wt,Pt,{context:"Failed to execute 'removeAttributeNode' on 'Element': parameter 1"});sn.push(Pt)}an(Wt);try{return nn.tryWrapperForImpl(tn[cn].removeAttributeNode(...sn))}finally{In(Wt)}}attachShadow(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'attachShadow' called on an object that is not a valid instance of Element.")}if(arguments.length<1){throw new Wt.TypeError(`Failed to execute 'attachShadow' on 'Element': 1 argument required, but only ${arguments.length} present.`)}const an=[];{let Pt=arguments[0];Pt=sn.convert(Wt,Pt,{context:"Failed to execute 'attachShadow' on 'Element': parameter 1"});an.push(Pt)}return nn.tryWrapperForImpl(tn[cn].attachShadow(...an))}closest(en){const an=this!==null&&this!==undefined?this:Wt;if(!Pt.is(an)){throw new Wt.TypeError("'closest' called on an object that is not a valid instance of Element.")}if(arguments.length<1){throw new Wt.TypeError(`Failed to execute 'closest' on 'Element': 1 argument required, but only ${arguments.length} present.`)}const In=[];{let Pt=arguments[0];Pt=tn["DOMString"](Pt,{context:"Failed to execute 'closest' on 'Element': parameter 1",globals:Wt});In.push(Pt)}return nn.tryWrapperForImpl(an[cn].closest(...In))}matches(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'matches' called on an object that is not a valid instance of Element.")}if(arguments.length<1){throw new Wt.TypeError(`Failed to execute 'matches' on 'Element': 1 argument required, but only ${arguments.length} present.`)}const an=[];{let Pt=arguments[0];Pt=tn["DOMString"](Pt,{context:"Failed to execute 'matches' on 'Element': parameter 1",globals:Wt});an.push(Pt)}return nn[cn].matches(...an)}webkitMatchesSelector(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'webkitMatchesSelector' called on an object that is not a valid instance of Element.")}if(arguments.length<1){throw new Wt.TypeError(`Failed to execute 'webkitMatchesSelector' on 'Element': 1 argument required, but only ${arguments.length} present.`)}const an=[];{let Pt=arguments[0];Pt=tn["DOMString"](Pt,{context:"Failed to execute 'webkitMatchesSelector' on 'Element': parameter 1",globals:Wt});an.push(Pt)}return nn[cn].webkitMatchesSelector(...an)}getElementsByTagName(en){const an=this!==null&&this!==undefined?this:Wt;if(!Pt.is(an)){throw new Wt.TypeError("'getElementsByTagName' called on an object that is not a valid instance of Element.")}if(arguments.length<1){throw new Wt.TypeError(`Failed to execute 'getElementsByTagName' on 'Element': 1 argument required, but only ${arguments.length} present.`)}const In=[];{let Pt=arguments[0];Pt=tn["DOMString"](Pt,{context:"Failed to execute 'getElementsByTagName' on 'Element': parameter 1",globals:Wt});In.push(Pt)}return nn.tryWrapperForImpl(an[cn].getElementsByTagName(...In))}getElementsByTagNameNS(en,an){const In=this!==null&&this!==undefined?this:Wt;if(!Pt.is(In)){throw new Wt.TypeError("'getElementsByTagNameNS' called on an object that is not a valid instance of Element.")}if(arguments.length<2){throw new Wt.TypeError(`Failed to execute 'getElementsByTagNameNS' on 'Element': 2 arguments required, but only ${arguments.length} present.`)}const rn=[];{let Pt=arguments[0];if(Pt===null||Pt===undefined){Pt=null}else{Pt=tn["DOMString"](Pt,{context:"Failed to execute 'getElementsByTagNameNS' on 'Element': parameter 1",globals:Wt})}rn.push(Pt)}{let Pt=arguments[1];Pt=tn["DOMString"](Pt,{context:"Failed to execute 'getElementsByTagNameNS' on 'Element': parameter 2",globals:Wt});rn.push(Pt)}return nn.tryWrapperForImpl(In[cn].getElementsByTagNameNS(...rn))}getElementsByClassName(en){const an=this!==null&&this!==undefined?this:Wt;if(!Pt.is(an)){throw new Wt.TypeError("'getElementsByClassName' called on an object that is not a valid instance of Element.")}if(arguments.length<1){throw new Wt.TypeError(`Failed to execute 'getElementsByClassName' on 'Element': 1 argument required, but only ${arguments.length} present.`)}const In=[];{let Pt=arguments[0];Pt=tn["DOMString"](Pt,{context:"Failed to execute 'getElementsByClassName' on 'Element': parameter 1",globals:Wt});In.push(Pt)}return nn.tryWrapperForImpl(an[cn].getElementsByClassName(...In))}insertAdjacentElement(en,rn){const sn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(sn)){throw new Wt.TypeError("'insertAdjacentElement' called on an object that is not a valid instance of Element.")}if(arguments.length<2){throw new Wt.TypeError(`Failed to execute 'insertAdjacentElement' on 'Element': 2 arguments required, but only ${arguments.length} present.`)}const on=[];{let Pt=arguments[0];Pt=tn["DOMString"](Pt,{context:"Failed to execute 'insertAdjacentElement' on 'Element': parameter 1",globals:Wt});on.push(Pt)}{let en=arguments[1];en=Pt.convert(Wt,en,{context:"Failed to execute 'insertAdjacentElement' on 'Element': parameter 2"});on.push(en)}an(Wt);try{return nn.tryWrapperForImpl(sn[cn].insertAdjacentElement(...on))}finally{In(Wt)}}insertAdjacentText(en,nn){const an=this!==null&&this!==undefined?this:Wt;if(!Pt.is(an)){throw new Wt.TypeError("'insertAdjacentText' called on an object that is not a valid instance of Element.")}if(arguments.length<2){throw new Wt.TypeError(`Failed to execute 'insertAdjacentText' on 'Element': 2 arguments required, but only ${arguments.length} present.`)}const In=[];{let Pt=arguments[0];Pt=tn["DOMString"](Pt,{context:"Failed to execute 'insertAdjacentText' on 'Element': parameter 1",globals:Wt});In.push(Pt)}{let Pt=arguments[1];Pt=tn["DOMString"](Pt,{context:"Failed to execute 'insertAdjacentText' on 'Element': parameter 2",globals:Wt});In.push(Pt)}return an[cn].insertAdjacentText(...In)}insertAdjacentHTML(en,nn){const rn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(rn)){throw new Wt.TypeError("'insertAdjacentHTML' called on an object that is not a valid instance of Element.")}if(arguments.length<2){throw new Wt.TypeError(`Failed to execute 'insertAdjacentHTML' on 'Element': 2 arguments required, but only ${arguments.length} present.`)}const sn=[];{let Pt=arguments[0];Pt=tn["DOMString"](Pt,{context:"Failed to execute 'insertAdjacentHTML' on 'Element': parameter 1",globals:Wt});sn.push(Pt)}{let Pt=arguments[1];Pt=tn["DOMString"](Pt,{context:"Failed to execute 'insertAdjacentHTML' on 'Element': parameter 2",globals:Wt});sn.push(Pt)}an(Wt);try{return rn[cn].insertAdjacentHTML(...sn)}finally{In(Wt)}}getClientRects(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'getClientRects' called on an object that is not a valid instance of Element.")}return nn.tryWrapperForImpl(en[cn].getClientRects())}getBoundingClientRect(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'getBoundingClientRect' called on an object that is not a valid instance of Element.")}return nn.tryWrapperForImpl(en[cn].getBoundingClientRect())}before(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'before' called on an object that is not a valid instance of Element.")}const rn=[];for(let Pt=0;Ptnn.tryWrapperForImpl(en[cn]["classList"])))}set classList(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set classList' called on an object that is not a valid instance of Element.")}const an=tn["classList"];if(!nn.isObject(an)){throw new Wt.TypeError("Property 'classList' is not an object")}Reflect.set(an,"value",en)}get slot(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get slot' called on an object that is not a valid instance of Element.")}an(Wt);try{const Wt=en[cn]._reflectGetTheContentAttribute("slot");return Wt===null?"":Wt}finally{In(Wt)}}set slot(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set slot' called on an object that is not a valid instance of Element.")}en=tn["DOMString"](en,{context:"Failed to set the 'slot' property on 'Element': The provided value",globals:Wt});an(Wt);try{nn[cn]._reflectSetTheContentAttribute("slot",en)}finally{In(Wt)}}get attributes(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get attributes' called on an object that is not a valid instance of Element.")}return nn.getSameObject(this,"attributes",(()=>nn.tryWrapperForImpl(en[cn]["attributes"])))}get shadowRoot(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get shadowRoot' called on an object that is not a valid instance of Element.")}return nn.tryWrapperForImpl(en[cn]["shadowRoot"])}get outerHTML(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get outerHTML' called on an object that is not a valid instance of Element.")}an(Wt);try{return en[cn]["outerHTML"]}finally{In(Wt)}}set outerHTML(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set outerHTML' called on an object that is not a valid instance of Element.")}en=tn["DOMString"](en,{context:"Failed to set the 'outerHTML' property on 'Element': The provided value",globals:Wt,treatNullAsEmptyString:true});an(Wt);try{nn[cn]["outerHTML"]=en}finally{In(Wt)}}get scrollTop(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get scrollTop' called on an object that is not a valid instance of Element.")}return en[cn]["scrollTop"]}set scrollTop(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set scrollTop' called on an object that is not a valid instance of Element.")}en=tn["unrestricted double"](en,{context:"Failed to set the 'scrollTop' property on 'Element': The provided value",globals:Wt});nn[cn]["scrollTop"]=en}get scrollLeft(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get scrollLeft' called on an object that is not a valid instance of Element.")}return en[cn]["scrollLeft"]}set scrollLeft(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set scrollLeft' called on an object that is not a valid instance of Element.")}en=tn["unrestricted double"](en,{context:"Failed to set the 'scrollLeft' property on 'Element': The provided value",globals:Wt});nn[cn]["scrollLeft"]=en}get scrollWidth(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get scrollWidth' called on an object that is not a valid instance of Element.")}return en[cn]["scrollWidth"]}get scrollHeight(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get scrollHeight' called on an object that is not a valid instance of Element.")}return en[cn]["scrollHeight"]}get clientTop(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get clientTop' called on an object that is not a valid instance of Element.")}return en[cn]["clientTop"]}get clientLeft(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get clientLeft' called on an object that is not a valid instance of Element.")}return en[cn]["clientLeft"]}get clientWidth(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get clientWidth' called on an object that is not a valid instance of Element.")}return en[cn]["clientWidth"]}get clientHeight(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get clientHeight' called on an object that is not a valid instance of Element.")}return en[cn]["clientHeight"]}get innerHTML(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get innerHTML' called on an object that is not a valid instance of Element.")}an(Wt);try{return en[cn]["innerHTML"]}finally{In(Wt)}}set innerHTML(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set innerHTML' called on an object that is not a valid instance of Element.")}en=tn["DOMString"](en,{context:"Failed to set the 'innerHTML' property on 'Element': The provided value",globals:Wt,treatNullAsEmptyString:true});an(Wt);try{nn[cn]["innerHTML"]=en}finally{In(Wt)}}get role(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get role' called on an object that is not a valid instance of Element.")}an(Wt);try{return en[cn]._reflectGetTheContentAttribute("role")}finally{In(Wt)}}set role(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set role' called on an object that is not a valid instance of Element.")}if(en===null||en===undefined){en=null}else{en=tn["DOMString"](en,{context:"Failed to set the 'role' property on 'Element': The provided value",globals:Wt})}an(Wt);try{if(en===null){nn[cn]._reflectDeleteTheContentAttribute("role")}else{nn[cn]._reflectSetTheContentAttribute("role",en)}}finally{In(Wt)}}get ariaAtomic(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get ariaAtomic' called on an object that is not a valid instance of Element.")}an(Wt);try{return en[cn]._reflectGetTheContentAttribute("aria-atomic")}finally{In(Wt)}}set ariaAtomic(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set ariaAtomic' called on an object that is not a valid instance of Element.")}if(en===null||en===undefined){en=null}else{en=tn["DOMString"](en,{context:"Failed to set the 'ariaAtomic' property on 'Element': The provided value",globals:Wt})}an(Wt);try{if(en===null){nn[cn]._reflectDeleteTheContentAttribute("aria-atomic")}else{nn[cn]._reflectSetTheContentAttribute("aria-atomic",en)}}finally{In(Wt)}}get ariaAutoComplete(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get ariaAutoComplete' called on an object that is not a valid instance of Element.")}an(Wt);try{return en[cn]._reflectGetTheContentAttribute("aria-autocomplete")}finally{In(Wt)}}set ariaAutoComplete(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set ariaAutoComplete' called on an object that is not a valid instance of Element.")}if(en===null||en===undefined){en=null}else{en=tn["DOMString"](en,{context:"Failed to set the 'ariaAutoComplete' property on 'Element': The provided value",globals:Wt})}an(Wt);try{if(en===null){nn[cn]._reflectDeleteTheContentAttribute("aria-autocomplete")}else{nn[cn]._reflectSetTheContentAttribute("aria-autocomplete",en)}}finally{In(Wt)}}get ariaBusy(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get ariaBusy' called on an object that is not a valid instance of Element.")}an(Wt);try{return en[cn]._reflectGetTheContentAttribute("aria-busy")}finally{In(Wt)}}set ariaBusy(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set ariaBusy' called on an object that is not a valid instance of Element.")}if(en===null||en===undefined){en=null}else{en=tn["DOMString"](en,{context:"Failed to set the 'ariaBusy' property on 'Element': The provided value",globals:Wt})}an(Wt);try{if(en===null){nn[cn]._reflectDeleteTheContentAttribute("aria-busy")}else{nn[cn]._reflectSetTheContentAttribute("aria-busy",en)}}finally{In(Wt)}}get ariaChecked(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get ariaChecked' called on an object that is not a valid instance of Element.")}an(Wt);try{return en[cn]._reflectGetTheContentAttribute("aria-checked")}finally{In(Wt)}}set ariaChecked(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set ariaChecked' called on an object that is not a valid instance of Element.")}if(en===null||en===undefined){en=null}else{en=tn["DOMString"](en,{context:"Failed to set the 'ariaChecked' property on 'Element': The provided value",globals:Wt})}an(Wt);try{if(en===null){nn[cn]._reflectDeleteTheContentAttribute("aria-checked")}else{nn[cn]._reflectSetTheContentAttribute("aria-checked",en)}}finally{In(Wt)}}get ariaColCount(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get ariaColCount' called on an object that is not a valid instance of Element.")}an(Wt);try{return en[cn]._reflectGetTheContentAttribute("aria-colcount")}finally{In(Wt)}}set ariaColCount(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set ariaColCount' called on an object that is not a valid instance of Element.")}if(en===null||en===undefined){en=null}else{en=tn["DOMString"](en,{context:"Failed to set the 'ariaColCount' property on 'Element': The provided value",globals:Wt})}an(Wt);try{if(en===null){nn[cn]._reflectDeleteTheContentAttribute("aria-colcount")}else{nn[cn]._reflectSetTheContentAttribute("aria-colcount",en)}}finally{In(Wt)}}get ariaColIndex(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get ariaColIndex' called on an object that is not a valid instance of Element.")}an(Wt);try{return en[cn]._reflectGetTheContentAttribute("aria-colindex")}finally{In(Wt)}}set ariaColIndex(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set ariaColIndex' called on an object that is not a valid instance of Element.")}if(en===null||en===undefined){en=null}else{en=tn["DOMString"](en,{context:"Failed to set the 'ariaColIndex' property on 'Element': The provided value",globals:Wt})}an(Wt);try{if(en===null){nn[cn]._reflectDeleteTheContentAttribute("aria-colindex")}else{nn[cn]._reflectSetTheContentAttribute("aria-colindex",en)}}finally{In(Wt)}}get ariaColIndexText(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get ariaColIndexText' called on an object that is not a valid instance of Element.")}an(Wt);try{return en[cn]._reflectGetTheContentAttribute("aria-colindextext")}finally{In(Wt)}}set ariaColIndexText(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set ariaColIndexText' called on an object that is not a valid instance of Element.")}if(en===null||en===undefined){en=null}else{en=tn["DOMString"](en,{context:"Failed to set the 'ariaColIndexText' property on 'Element': The provided value",globals:Wt})}an(Wt);try{if(en===null){nn[cn]._reflectDeleteTheContentAttribute("aria-colindextext")}else{nn[cn]._reflectSetTheContentAttribute("aria-colindextext",en)}}finally{In(Wt)}}get ariaColSpan(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get ariaColSpan' called on an object that is not a valid instance of Element.")}an(Wt);try{return en[cn]._reflectGetTheContentAttribute("aria-colspan")}finally{In(Wt)}}set ariaColSpan(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set ariaColSpan' called on an object that is not a valid instance of Element.")}if(en===null||en===undefined){en=null}else{en=tn["DOMString"](en,{context:"Failed to set the 'ariaColSpan' property on 'Element': The provided value",globals:Wt})}an(Wt);try{if(en===null){nn[cn]._reflectDeleteTheContentAttribute("aria-colspan")}else{nn[cn]._reflectSetTheContentAttribute("aria-colspan",en)}}finally{In(Wt)}}get ariaCurrent(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get ariaCurrent' called on an object that is not a valid instance of Element.")}an(Wt);try{return en[cn]._reflectGetTheContentAttribute("aria-current")}finally{In(Wt)}}set ariaCurrent(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set ariaCurrent' called on an object that is not a valid instance of Element.")}if(en===null||en===undefined){en=null}else{en=tn["DOMString"](en,{context:"Failed to set the 'ariaCurrent' property on 'Element': The provided value",globals:Wt})}an(Wt);try{if(en===null){nn[cn]._reflectDeleteTheContentAttribute("aria-current")}else{nn[cn]._reflectSetTheContentAttribute("aria-current",en)}}finally{In(Wt)}}get ariaDescription(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get ariaDescription' called on an object that is not a valid instance of Element.")}an(Wt);try{return en[cn]._reflectGetTheContentAttribute("aria-description")}finally{In(Wt)}}set ariaDescription(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set ariaDescription' called on an object that is not a valid instance of Element.")}if(en===null||en===undefined){en=null}else{en=tn["DOMString"](en,{context:"Failed to set the 'ariaDescription' property on 'Element': The provided value",globals:Wt})}an(Wt);try{if(en===null){nn[cn]._reflectDeleteTheContentAttribute("aria-description")}else{nn[cn]._reflectSetTheContentAttribute("aria-description",en)}}finally{In(Wt)}}get ariaDisabled(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get ariaDisabled' called on an object that is not a valid instance of Element.")}an(Wt);try{return en[cn]._reflectGetTheContentAttribute("aria-disabled")}finally{In(Wt)}}set ariaDisabled(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set ariaDisabled' called on an object that is not a valid instance of Element.")}if(en===null||en===undefined){en=null}else{en=tn["DOMString"](en,{context:"Failed to set the 'ariaDisabled' property on 'Element': The provided value",globals:Wt})}an(Wt);try{if(en===null){nn[cn]._reflectDeleteTheContentAttribute("aria-disabled")}else{nn[cn]._reflectSetTheContentAttribute("aria-disabled",en)}}finally{In(Wt)}}get ariaExpanded(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get ariaExpanded' called on an object that is not a valid instance of Element.")}an(Wt);try{return en[cn]._reflectGetTheContentAttribute("aria-expanded")}finally{In(Wt)}}set ariaExpanded(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set ariaExpanded' called on an object that is not a valid instance of Element.")}if(en===null||en===undefined){en=null}else{en=tn["DOMString"](en,{context:"Failed to set the 'ariaExpanded' property on 'Element': The provided value",globals:Wt})}an(Wt);try{if(en===null){nn[cn]._reflectDeleteTheContentAttribute("aria-expanded")}else{nn[cn]._reflectSetTheContentAttribute("aria-expanded",en)}}finally{In(Wt)}}get ariaHasPopup(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get ariaHasPopup' called on an object that is not a valid instance of Element.")}an(Wt);try{return en[cn]._reflectGetTheContentAttribute("aria-haspopup")}finally{In(Wt)}}set ariaHasPopup(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set ariaHasPopup' called on an object that is not a valid instance of Element.")}if(en===null||en===undefined){en=null}else{en=tn["DOMString"](en,{context:"Failed to set the 'ariaHasPopup' property on 'Element': The provided value",globals:Wt})}an(Wt);try{if(en===null){nn[cn]._reflectDeleteTheContentAttribute("aria-haspopup")}else{nn[cn]._reflectSetTheContentAttribute("aria-haspopup",en)}}finally{In(Wt)}}get ariaHidden(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get ariaHidden' called on an object that is not a valid instance of Element.")}an(Wt);try{return en[cn]._reflectGetTheContentAttribute("aria-hidden")}finally{In(Wt)}}set ariaHidden(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set ariaHidden' called on an object that is not a valid instance of Element.")}if(en===null||en===undefined){en=null}else{en=tn["DOMString"](en,{context:"Failed to set the 'ariaHidden' property on 'Element': The provided value",globals:Wt})}an(Wt);try{if(en===null){nn[cn]._reflectDeleteTheContentAttribute("aria-hidden")}else{nn[cn]._reflectSetTheContentAttribute("aria-hidden",en)}}finally{In(Wt)}}get ariaInvalid(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get ariaInvalid' called on an object that is not a valid instance of Element.")}an(Wt);try{return en[cn]._reflectGetTheContentAttribute("aria-invalid")}finally{In(Wt)}}set ariaInvalid(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set ariaInvalid' called on an object that is not a valid instance of Element.")}if(en===null||en===undefined){en=null}else{en=tn["DOMString"](en,{context:"Failed to set the 'ariaInvalid' property on 'Element': The provided value",globals:Wt})}an(Wt);try{if(en===null){nn[cn]._reflectDeleteTheContentAttribute("aria-invalid")}else{nn[cn]._reflectSetTheContentAttribute("aria-invalid",en)}}finally{In(Wt)}}get ariaKeyShortcuts(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get ariaKeyShortcuts' called on an object that is not a valid instance of Element.")}an(Wt);try{return en[cn]._reflectGetTheContentAttribute("aria-keyshortcuts")}finally{In(Wt)}}set ariaKeyShortcuts(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set ariaKeyShortcuts' called on an object that is not a valid instance of Element.")}if(en===null||en===undefined){en=null}else{en=tn["DOMString"](en,{context:"Failed to set the 'ariaKeyShortcuts' property on 'Element': The provided value",globals:Wt})}an(Wt);try{if(en===null){nn[cn]._reflectDeleteTheContentAttribute("aria-keyshortcuts")}else{nn[cn]._reflectSetTheContentAttribute("aria-keyshortcuts",en)}}finally{In(Wt)}}get ariaLabel(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get ariaLabel' called on an object that is not a valid instance of Element.")}an(Wt);try{return en[cn]._reflectGetTheContentAttribute("aria-label")}finally{In(Wt)}}set ariaLabel(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set ariaLabel' called on an object that is not a valid instance of Element.")}if(en===null||en===undefined){en=null}else{en=tn["DOMString"](en,{context:"Failed to set the 'ariaLabel' property on 'Element': The provided value",globals:Wt})}an(Wt);try{if(en===null){nn[cn]._reflectDeleteTheContentAttribute("aria-label")}else{nn[cn]._reflectSetTheContentAttribute("aria-label",en)}}finally{In(Wt)}}get ariaLevel(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get ariaLevel' called on an object that is not a valid instance of Element.")}an(Wt);try{return en[cn]._reflectGetTheContentAttribute("aria-level")}finally{In(Wt)}}set ariaLevel(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set ariaLevel' called on an object that is not a valid instance of Element.")}if(en===null||en===undefined){en=null}else{en=tn["DOMString"](en,{context:"Failed to set the 'ariaLevel' property on 'Element': The provided value",globals:Wt})}an(Wt);try{if(en===null){nn[cn]._reflectDeleteTheContentAttribute("aria-level")}else{nn[cn]._reflectSetTheContentAttribute("aria-level",en)}}finally{In(Wt)}}get ariaLive(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get ariaLive' called on an object that is not a valid instance of Element.")}an(Wt);try{return en[cn]._reflectGetTheContentAttribute("aria-live")}finally{In(Wt)}}set ariaLive(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set ariaLive' called on an object that is not a valid instance of Element.")}if(en===null||en===undefined){en=null}else{en=tn["DOMString"](en,{context:"Failed to set the 'ariaLive' property on 'Element': The provided value",globals:Wt})}an(Wt);try{if(en===null){nn[cn]._reflectDeleteTheContentAttribute("aria-live")}else{nn[cn]._reflectSetTheContentAttribute("aria-live",en)}}finally{In(Wt)}}get ariaModal(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get ariaModal' called on an object that is not a valid instance of Element.")}an(Wt);try{return en[cn]._reflectGetTheContentAttribute("aria-modal")}finally{In(Wt)}}set ariaModal(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set ariaModal' called on an object that is not a valid instance of Element.")}if(en===null||en===undefined){en=null}else{en=tn["DOMString"](en,{context:"Failed to set the 'ariaModal' property on 'Element': The provided value",globals:Wt})}an(Wt);try{if(en===null){nn[cn]._reflectDeleteTheContentAttribute("aria-modal")}else{nn[cn]._reflectSetTheContentAttribute("aria-modal",en)}}finally{In(Wt)}}get ariaMultiLine(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get ariaMultiLine' called on an object that is not a valid instance of Element.")}an(Wt);try{return en[cn]._reflectGetTheContentAttribute("aria-multiline")}finally{In(Wt)}}set ariaMultiLine(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set ariaMultiLine' called on an object that is not a valid instance of Element.")}if(en===null||en===undefined){en=null}else{en=tn["DOMString"](en,{context:"Failed to set the 'ariaMultiLine' property on 'Element': The provided value",globals:Wt})}an(Wt);try{if(en===null){nn[cn]._reflectDeleteTheContentAttribute("aria-multiline")}else{nn[cn]._reflectSetTheContentAttribute("aria-multiline",en)}}finally{In(Wt)}}get ariaMultiSelectable(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get ariaMultiSelectable' called on an object that is not a valid instance of Element.")}an(Wt);try{return en[cn]._reflectGetTheContentAttribute("aria-multiselectable")}finally{In(Wt)}}set ariaMultiSelectable(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set ariaMultiSelectable' called on an object that is not a valid instance of Element.")}if(en===null||en===undefined){en=null}else{en=tn["DOMString"](en,{context:"Failed to set the 'ariaMultiSelectable' property on 'Element': The provided value",globals:Wt})}an(Wt);try{if(en===null){nn[cn]._reflectDeleteTheContentAttribute("aria-multiselectable")}else{nn[cn]._reflectSetTheContentAttribute("aria-multiselectable",en)}}finally{In(Wt)}}get ariaOrientation(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get ariaOrientation' called on an object that is not a valid instance of Element.")}an(Wt);try{return en[cn]._reflectGetTheContentAttribute("aria-orientation")}finally{In(Wt)}}set ariaOrientation(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set ariaOrientation' called on an object that is not a valid instance of Element.")}if(en===null||en===undefined){en=null}else{en=tn["DOMString"](en,{context:"Failed to set the 'ariaOrientation' property on 'Element': The provided value",globals:Wt})}an(Wt);try{if(en===null){nn[cn]._reflectDeleteTheContentAttribute("aria-orientation")}else{nn[cn]._reflectSetTheContentAttribute("aria-orientation",en)}}finally{In(Wt)}}get ariaPlaceholder(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get ariaPlaceholder' called on an object that is not a valid instance of Element.")}an(Wt);try{return en[cn]._reflectGetTheContentAttribute("aria-placeholder")}finally{In(Wt)}}set ariaPlaceholder(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set ariaPlaceholder' called on an object that is not a valid instance of Element.")}if(en===null||en===undefined){en=null}else{en=tn["DOMString"](en,{context:"Failed to set the 'ariaPlaceholder' property on 'Element': The provided value",globals:Wt})}an(Wt);try{if(en===null){nn[cn]._reflectDeleteTheContentAttribute("aria-placeholder")}else{nn[cn]._reflectSetTheContentAttribute("aria-placeholder",en)}}finally{In(Wt)}}get ariaPosInSet(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get ariaPosInSet' called on an object that is not a valid instance of Element.")}an(Wt);try{return en[cn]._reflectGetTheContentAttribute("aria-posinset")}finally{In(Wt)}}set ariaPosInSet(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set ariaPosInSet' called on an object that is not a valid instance of Element.")}if(en===null||en===undefined){en=null}else{en=tn["DOMString"](en,{context:"Failed to set the 'ariaPosInSet' property on 'Element': The provided value",globals:Wt})}an(Wt);try{if(en===null){nn[cn]._reflectDeleteTheContentAttribute("aria-posinset")}else{nn[cn]._reflectSetTheContentAttribute("aria-posinset",en)}}finally{In(Wt)}}get ariaPressed(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get ariaPressed' called on an object that is not a valid instance of Element.")}an(Wt);try{return en[cn]._reflectGetTheContentAttribute("aria-pressed")}finally{In(Wt)}}set ariaPressed(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set ariaPressed' called on an object that is not a valid instance of Element.")}if(en===null||en===undefined){en=null}else{en=tn["DOMString"](en,{context:"Failed to set the 'ariaPressed' property on 'Element': The provided value",globals:Wt})}an(Wt);try{if(en===null){nn[cn]._reflectDeleteTheContentAttribute("aria-pressed")}else{nn[cn]._reflectSetTheContentAttribute("aria-pressed",en)}}finally{In(Wt)}}get ariaReadOnly(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get ariaReadOnly' called on an object that is not a valid instance of Element.")}an(Wt);try{return en[cn]._reflectGetTheContentAttribute("aria-readonly")}finally{In(Wt)}}set ariaReadOnly(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set ariaReadOnly' called on an object that is not a valid instance of Element.")}if(en===null||en===undefined){en=null}else{en=tn["DOMString"](en,{context:"Failed to set the 'ariaReadOnly' property on 'Element': The provided value",globals:Wt})}an(Wt);try{if(en===null){nn[cn]._reflectDeleteTheContentAttribute("aria-readonly")}else{nn[cn]._reflectSetTheContentAttribute("aria-readonly",en)}}finally{In(Wt)}}get ariaRequired(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get ariaRequired' called on an object that is not a valid instance of Element.")}an(Wt);try{return en[cn]._reflectGetTheContentAttribute("aria-required")}finally{In(Wt)}}set ariaRequired(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set ariaRequired' called on an object that is not a valid instance of Element.")}if(en===null||en===undefined){en=null}else{en=tn["DOMString"](en,{context:"Failed to set the 'ariaRequired' property on 'Element': The provided value",globals:Wt})}an(Wt);try{if(en===null){nn[cn]._reflectDeleteTheContentAttribute("aria-required")}else{nn[cn]._reflectSetTheContentAttribute("aria-required",en)}}finally{In(Wt)}}get ariaRoleDescription(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get ariaRoleDescription' called on an object that is not a valid instance of Element.")}an(Wt);try{return en[cn]._reflectGetTheContentAttribute("aria-roledescription")}finally{In(Wt)}}set ariaRoleDescription(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set ariaRoleDescription' called on an object that is not a valid instance of Element.")}if(en===null||en===undefined){en=null}else{en=tn["DOMString"](en,{context:"Failed to set the 'ariaRoleDescription' property on 'Element': The provided value",globals:Wt})}an(Wt);try{if(en===null){nn[cn]._reflectDeleteTheContentAttribute("aria-roledescription")}else{nn[cn]._reflectSetTheContentAttribute("aria-roledescription",en)}}finally{In(Wt)}}get ariaRowCount(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get ariaRowCount' called on an object that is not a valid instance of Element.")}an(Wt);try{return en[cn]._reflectGetTheContentAttribute("aria-rowcount")}finally{In(Wt)}}set ariaRowCount(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set ariaRowCount' called on an object that is not a valid instance of Element.")}if(en===null||en===undefined){en=null}else{en=tn["DOMString"](en,{context:"Failed to set the 'ariaRowCount' property on 'Element': The provided value",globals:Wt})}an(Wt);try{if(en===null){nn[cn]._reflectDeleteTheContentAttribute("aria-rowcount")}else{nn[cn]._reflectSetTheContentAttribute("aria-rowcount",en)}}finally{In(Wt)}}get ariaRowIndex(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get ariaRowIndex' called on an object that is not a valid instance of Element.")}an(Wt);try{return en[cn]._reflectGetTheContentAttribute("aria-rowindex")}finally{In(Wt)}}set ariaRowIndex(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set ariaRowIndex' called on an object that is not a valid instance of Element.")}if(en===null||en===undefined){en=null}else{en=tn["DOMString"](en,{context:"Failed to set the 'ariaRowIndex' property on 'Element': The provided value",globals:Wt})}an(Wt);try{if(en===null){nn[cn]._reflectDeleteTheContentAttribute("aria-rowindex")}else{nn[cn]._reflectSetTheContentAttribute("aria-rowindex",en)}}finally{In(Wt)}}get ariaRowIndexText(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get ariaRowIndexText' called on an object that is not a valid instance of Element.")}an(Wt);try{return en[cn]._reflectGetTheContentAttribute("aria-rowindextext")}finally{In(Wt)}}set ariaRowIndexText(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set ariaRowIndexText' called on an object that is not a valid instance of Element.")}if(en===null||en===undefined){en=null}else{en=tn["DOMString"](en,{context:"Failed to set the 'ariaRowIndexText' property on 'Element': The provided value",globals:Wt})}an(Wt);try{if(en===null){nn[cn]._reflectDeleteTheContentAttribute("aria-rowindextext")}else{nn[cn]._reflectSetTheContentAttribute("aria-rowindextext",en)}}finally{In(Wt)}}get ariaRowSpan(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get ariaRowSpan' called on an object that is not a valid instance of Element.")}an(Wt);try{return en[cn]._reflectGetTheContentAttribute("aria-rowspan")}finally{In(Wt)}}set ariaRowSpan(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set ariaRowSpan' called on an object that is not a valid instance of Element.")}if(en===null||en===undefined){en=null}else{en=tn["DOMString"](en,{context:"Failed to set the 'ariaRowSpan' property on 'Element': The provided value",globals:Wt})}an(Wt);try{if(en===null){nn[cn]._reflectDeleteTheContentAttribute("aria-rowspan")}else{nn[cn]._reflectSetTheContentAttribute("aria-rowspan",en)}}finally{In(Wt)}}get ariaSelected(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get ariaSelected' called on an object that is not a valid instance of Element.")}an(Wt);try{return en[cn]._reflectGetTheContentAttribute("aria-selected")}finally{In(Wt)}}set ariaSelected(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set ariaSelected' called on an object that is not a valid instance of Element.")}if(en===null||en===undefined){en=null}else{en=tn["DOMString"](en,{context:"Failed to set the 'ariaSelected' property on 'Element': The provided value",globals:Wt})}an(Wt);try{if(en===null){nn[cn]._reflectDeleteTheContentAttribute("aria-selected")}else{nn[cn]._reflectSetTheContentAttribute("aria-selected",en)}}finally{In(Wt)}}get ariaSetSize(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get ariaSetSize' called on an object that is not a valid instance of Element.")}an(Wt);try{return en[cn]._reflectGetTheContentAttribute("aria-setsize")}finally{In(Wt)}}set ariaSetSize(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set ariaSetSize' called on an object that is not a valid instance of Element.")}if(en===null||en===undefined){en=null}else{en=tn["DOMString"](en,{context:"Failed to set the 'ariaSetSize' property on 'Element': The provided value",globals:Wt})}an(Wt);try{if(en===null){nn[cn]._reflectDeleteTheContentAttribute("aria-setsize")}else{nn[cn]._reflectSetTheContentAttribute("aria-setsize",en)}}finally{In(Wt)}}get ariaSort(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get ariaSort' called on an object that is not a valid instance of Element.")}an(Wt);try{return en[cn]._reflectGetTheContentAttribute("aria-sort")}finally{In(Wt)}}set ariaSort(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set ariaSort' called on an object that is not a valid instance of Element.")}if(en===null||en===undefined){en=null}else{en=tn["DOMString"](en,{context:"Failed to set the 'ariaSort' property on 'Element': The provided value",globals:Wt})}an(Wt);try{if(en===null){nn[cn]._reflectDeleteTheContentAttribute("aria-sort")}else{nn[cn]._reflectSetTheContentAttribute("aria-sort",en)}}finally{In(Wt)}}get ariaValueMax(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get ariaValueMax' called on an object that is not a valid instance of Element.")}an(Wt);try{return en[cn]._reflectGetTheContentAttribute("aria-valuemax")}finally{In(Wt)}}set ariaValueMax(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set ariaValueMax' called on an object that is not a valid instance of Element.")}if(en===null||en===undefined){en=null}else{en=tn["DOMString"](en,{context:"Failed to set the 'ariaValueMax' property on 'Element': The provided value",globals:Wt})}an(Wt);try{if(en===null){nn[cn]._reflectDeleteTheContentAttribute("aria-valuemax")}else{nn[cn]._reflectSetTheContentAttribute("aria-valuemax",en)}}finally{In(Wt)}}get ariaValueMin(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get ariaValueMin' called on an object that is not a valid instance of Element.")}an(Wt);try{return en[cn]._reflectGetTheContentAttribute("aria-valuemin")}finally{In(Wt)}}set ariaValueMin(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set ariaValueMin' called on an object that is not a valid instance of Element.")}if(en===null||en===undefined){en=null}else{en=tn["DOMString"](en,{context:"Failed to set the 'ariaValueMin' property on 'Element': The provided value",globals:Wt})}an(Wt);try{if(en===null){nn[cn]._reflectDeleteTheContentAttribute("aria-valuemin")}else{nn[cn]._reflectSetTheContentAttribute("aria-valuemin",en)}}finally{In(Wt)}}get ariaValueNow(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get ariaValueNow' called on an object that is not a valid instance of Element.")}an(Wt);try{return en[cn]._reflectGetTheContentAttribute("aria-valuenow")}finally{In(Wt)}}set ariaValueNow(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set ariaValueNow' called on an object that is not a valid instance of Element.")}if(en===null||en===undefined){en=null}else{en=tn["DOMString"](en,{context:"Failed to set the 'ariaValueNow' property on 'Element': The provided value",globals:Wt})}an(Wt);try{if(en===null){nn[cn]._reflectDeleteTheContentAttribute("aria-valuenow")}else{nn[cn]._reflectSetTheContentAttribute("aria-valuenow",en)}}finally{In(Wt)}}get ariaValueText(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get ariaValueText' called on an object that is not a valid instance of Element.")}an(Wt);try{return en[cn]._reflectGetTheContentAttribute("aria-valuetext")}finally{In(Wt)}}set ariaValueText(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set ariaValueText' called on an object that is not a valid instance of Element.")}if(en===null||en===undefined){en=null}else{en=tn["DOMString"](en,{context:"Failed to set the 'ariaValueText' property on 'Element': The provided value",globals:Wt})}an(Wt);try{if(en===null){nn[cn]._reflectDeleteTheContentAttribute("aria-valuetext")}else{nn[cn]._reflectSetTheContentAttribute("aria-valuetext",en)}}finally{In(Wt)}}get ariaRelevant(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get ariaRelevant' called on an object that is not a valid instance of Element.")}an(Wt);try{return en[cn]._reflectGetTheContentAttribute("aria-relevant")}finally{In(Wt)}}set ariaRelevant(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set ariaRelevant' called on an object that is not a valid instance of Element.")}if(en===null||en===undefined){en=null}else{en=tn["DOMString"](en,{context:"Failed to set the 'ariaRelevant' property on 'Element': The provided value",globals:Wt})}an(Wt);try{if(en===null){nn[cn]._reflectDeleteTheContentAttribute("aria-relevant")}else{nn[cn]._reflectSetTheContentAttribute("aria-relevant",en)}}finally{In(Wt)}}get previousElementSibling(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get previousElementSibling' called on an object that is not a valid instance of Element.")}return nn.tryWrapperForImpl(en[cn]["previousElementSibling"])}get nextElementSibling(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get nextElementSibling' called on an object that is not a valid instance of Element.")}return nn.tryWrapperForImpl(en[cn]["nextElementSibling"])}get children(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get children' called on an object that is not a valid instance of Element.")}return nn.getSameObject(this,"children",(()=>nn.tryWrapperForImpl(en[cn]["children"])))}get firstElementChild(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get firstElementChild' called on an object that is not a valid instance of Element.")}return nn.tryWrapperForImpl(en[cn]["firstElementChild"])}get lastElementChild(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get lastElementChild' called on an object that is not a valid instance of Element.")}return nn.tryWrapperForImpl(en[cn]["lastElementChild"])}get childElementCount(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get childElementCount' called on an object that is not a valid instance of Element.")}return en[cn]["childElementCount"]}get assignedSlot(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get assignedSlot' called on an object that is not a valid instance of Element.")}return nn.tryWrapperForImpl(en[cn]["assignedSlot"])}}Object.defineProperties(Element.prototype,{hasAttributes:{enumerable:true},getAttributeNames:{enumerable:true},getAttribute:{enumerable:true},getAttributeNS:{enumerable:true},setAttribute:{enumerable:true},setAttributeNS:{enumerable:true},removeAttribute:{enumerable:true},removeAttributeNS:{enumerable:true},toggleAttribute:{enumerable:true},hasAttribute:{enumerable:true},hasAttributeNS:{enumerable:true},getAttributeNode:{enumerable:true},getAttributeNodeNS:{enumerable:true},setAttributeNode:{enumerable:true},setAttributeNodeNS:{enumerable:true},removeAttributeNode:{enumerable:true},attachShadow:{enumerable:true},closest:{enumerable:true},matches:{enumerable:true},webkitMatchesSelector:{enumerable:true},getElementsByTagName:{enumerable:true},getElementsByTagNameNS:{enumerable:true},getElementsByClassName:{enumerable:true},insertAdjacentElement:{enumerable:true},insertAdjacentText:{enumerable:true},insertAdjacentHTML:{enumerable:true},getClientRects:{enumerable:true},getBoundingClientRect:{enumerable:true},before:{enumerable:true},after:{enumerable:true},replaceWith:{enumerable:true},remove:{enumerable:true},prepend:{enumerable:true},append:{enumerable:true},replaceChildren:{enumerable:true},querySelector:{enumerable:true},querySelectorAll:{enumerable:true},namespaceURI:{enumerable:true},prefix:{enumerable:true},localName:{enumerable:true},tagName:{enumerable:true},id:{enumerable:true},className:{enumerable:true},classList:{enumerable:true},slot:{enumerable:true},attributes:{enumerable:true},shadowRoot:{enumerable:true},outerHTML:{enumerable:true},scrollTop:{enumerable:true},scrollLeft:{enumerable:true},scrollWidth:{enumerable:true},scrollHeight:{enumerable:true},clientTop:{enumerable:true},clientLeft:{enumerable:true},clientWidth:{enumerable:true},clientHeight:{enumerable:true},innerHTML:{enumerable:true},role:{enumerable:true},ariaAtomic:{enumerable:true},ariaAutoComplete:{enumerable:true},ariaBusy:{enumerable:true},ariaChecked:{enumerable:true},ariaColCount:{enumerable:true},ariaColIndex:{enumerable:true},ariaColIndexText:{enumerable:true},ariaColSpan:{enumerable:true},ariaCurrent:{enumerable:true},ariaDescription:{enumerable:true},ariaDisabled:{enumerable:true},ariaExpanded:{enumerable:true},ariaHasPopup:{enumerable:true},ariaHidden:{enumerable:true},ariaInvalid:{enumerable:true},ariaKeyShortcuts:{enumerable:true},ariaLabel:{enumerable:true},ariaLevel:{enumerable:true},ariaLive:{enumerable:true},ariaModal:{enumerable:true},ariaMultiLine:{enumerable:true},ariaMultiSelectable:{enumerable:true},ariaOrientation:{enumerable:true},ariaPlaceholder:{enumerable:true},ariaPosInSet:{enumerable:true},ariaPressed:{enumerable:true},ariaReadOnly:{enumerable:true},ariaRequired:{enumerable:true},ariaRoleDescription:{enumerable:true},ariaRowCount:{enumerable:true},ariaRowIndex:{enumerable:true},ariaRowIndexText:{enumerable:true},ariaRowSpan:{enumerable:true},ariaSelected:{enumerable:true},ariaSetSize:{enumerable:true},ariaSort:{enumerable:true},ariaValueMax:{enumerable:true},ariaValueMin:{enumerable:true},ariaValueNow:{enumerable:true},ariaValueText:{enumerable:true},ariaRelevant:{enumerable:true},previousElementSibling:{enumerable:true},nextElementSibling:{enumerable:true},children:{enumerable:true},firstElementChild:{enumerable:true},lastElementChild:{enumerable:true},childElementCount:{enumerable:true},assignedSlot:{enumerable:true},[Symbol.toStringTag]:{value:"Element",configurable:true},[Symbol.unscopables]:{value:{slot:true,before:true,after:true,replaceWith:true,remove:true,prepend:true,append:true,replaceChildren:true,__proto__:null},configurable:true}});dn[un]=Element;Object.defineProperty(Wt,un,{configurable:true,writable:true,value:Element})};const mn=en(54782)},41234:(Wt,Pt,en)=>{const tn=en(37125);const nn=en(87094);Pt._convertInherit=(Wt,Pt,en,{context:nn="The provided value"}={})=>{{const an="is";let In=Pt===undefined||Pt===null?undefined:Pt[an];if(In!==undefined){In=tn["DOMString"](In,{context:nn+" has member 'is' that",globals:Wt});en[an]=In}}};Pt.convert=(Wt,en,{context:tn="The provided value"}={})=>{if(en!==undefined&&typeof en!=="object"&&typeof en!=="function"){throw new Wt.TypeError(`${tn} is not an object.`)}const nn=Object.create(null);Pt._convertInherit(Wt,en,nn,{context:tn});return nn}},93202:(Wt,Pt,en)=>{const tn=en(37125);const nn=en(87094);Pt._convertInherit=(Wt,Pt,en,{context:nn="The provided value"}={})=>{{const an="extends";let In=Pt===undefined||Pt===null?undefined:Pt[an];if(In!==undefined){In=tn["DOMString"](In,{context:nn+" has member 'extends' that",globals:Wt});en[an]=In}}};Pt.convert=(Wt,en,{context:tn="The provided value"}={})=>{if(en!==undefined&&typeof en!=="object"&&typeof en!=="function"){throw new Wt.TypeError(`${tn} is not an object.`)}const nn=Object.create(null);Pt._convertInherit(Wt,en,nn,{context:tn});return nn}},1745:(Wt,Pt,en)=>{const tn=en(37125);const nn=en(87094);const an=en(8348).ceReactionsPreSteps;const In=en(8348).ceReactionsPostSteps;const rn=nn.implSymbol;const sn=nn.ctorRegistrySymbol;const on="ElementInternals";Pt.is=Wt=>nn.isObject(Wt)&&nn.hasOwn(Wt,rn)&&Wt[rn]instanceof dn.implementation;Pt.isImpl=Wt=>nn.isObject(Wt)&&Wt instanceof dn.implementation;Pt.convert=(Wt,en,{context:tn="The provided value"}={})=>{if(Pt.is(en)){return nn.implForWrapper(en)}throw new Wt.TypeError(`${tn} is not of type 'ElementInternals'.`)};function makeWrapper(Wt,Pt){let en;if(Pt!==undefined){en=Pt.prototype}if(!nn.isObject(en)){en=Wt[sn]["ElementInternals"].prototype}return Object.create(en)}Pt.create=(Wt,en,tn)=>{const nn=makeWrapper(Wt);return Pt.setup(nn,Wt,en,tn)};Pt.createImpl=(Wt,en,tn)=>{const an=Pt.create(Wt,en,tn);return nn.implForWrapper(an)};Pt._internalSetup=(Wt,Pt)=>{};Pt.setup=(Wt,en,tn=[],an={})=>{an.wrapper=Wt;Pt._internalSetup(Wt,en);Object.defineProperty(Wt,rn,{value:new dn.implementation(en,tn,an),configurable:true});Wt[rn][nn.wrapperSymbol]=Wt;if(dn.init){dn.init(Wt[rn])}return Wt};Pt["new"]=(Wt,en)=>{const tn=makeWrapper(Wt,en);Pt._internalSetup(tn,Wt);Object.defineProperty(tn,rn,{value:Object.create(dn.implementation.prototype),configurable:true});tn[rn][nn.wrapperSymbol]=tn;if(dn.init){dn.init(tn[rn])}return tn[rn]};const cn=new Set(["Window"]);Pt.install=(Wt,en)=>{if(!en.some((Wt=>cn.has(Wt)))){return}const sn=nn.initCtorRegistry(Wt);class ElementInternals{constructor(){throw new Wt.TypeError("Illegal constructor")}get shadowRoot(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get shadowRoot' called on an object that is not a valid instance of ElementInternals.")}return nn.tryWrapperForImpl(en[rn]["shadowRoot"])}get role(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get role' called on an object that is not a valid instance of ElementInternals.")}an(Wt);try{return en[rn]._reflectGetTheContentAttribute("role")}finally{In(Wt)}}set role(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set role' called on an object that is not a valid instance of ElementInternals.")}if(en===null||en===undefined){en=null}else{en=tn["DOMString"](en,{context:"Failed to set the 'role' property on 'ElementInternals': The provided value",globals:Wt})}an(Wt);try{if(en===null){nn[rn]._reflectDeleteTheContentAttribute("role")}else{nn[rn]._reflectSetTheContentAttribute("role",en)}}finally{In(Wt)}}get ariaAtomic(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get ariaAtomic' called on an object that is not a valid instance of ElementInternals.")}an(Wt);try{return en[rn]._reflectGetTheContentAttribute("aria-atomic")}finally{In(Wt)}}set ariaAtomic(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set ariaAtomic' called on an object that is not a valid instance of ElementInternals.")}if(en===null||en===undefined){en=null}else{en=tn["DOMString"](en,{context:"Failed to set the 'ariaAtomic' property on 'ElementInternals': The provided value",globals:Wt})}an(Wt);try{if(en===null){nn[rn]._reflectDeleteTheContentAttribute("aria-atomic")}else{nn[rn]._reflectSetTheContentAttribute("aria-atomic",en)}}finally{In(Wt)}}get ariaAutoComplete(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get ariaAutoComplete' called on an object that is not a valid instance of ElementInternals.")}an(Wt);try{return en[rn]._reflectGetTheContentAttribute("aria-autocomplete")}finally{In(Wt)}}set ariaAutoComplete(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set ariaAutoComplete' called on an object that is not a valid instance of ElementInternals.")}if(en===null||en===undefined){en=null}else{en=tn["DOMString"](en,{context:"Failed to set the 'ariaAutoComplete' property on 'ElementInternals': The provided value",globals:Wt})}an(Wt);try{if(en===null){nn[rn]._reflectDeleteTheContentAttribute("aria-autocomplete")}else{nn[rn]._reflectSetTheContentAttribute("aria-autocomplete",en)}}finally{In(Wt)}}get ariaBusy(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get ariaBusy' called on an object that is not a valid instance of ElementInternals.")}an(Wt);try{return en[rn]._reflectGetTheContentAttribute("aria-busy")}finally{In(Wt)}}set ariaBusy(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set ariaBusy' called on an object that is not a valid instance of ElementInternals.")}if(en===null||en===undefined){en=null}else{en=tn["DOMString"](en,{context:"Failed to set the 'ariaBusy' property on 'ElementInternals': The provided value",globals:Wt})}an(Wt);try{if(en===null){nn[rn]._reflectDeleteTheContentAttribute("aria-busy")}else{nn[rn]._reflectSetTheContentAttribute("aria-busy",en)}}finally{In(Wt)}}get ariaChecked(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get ariaChecked' called on an object that is not a valid instance of ElementInternals.")}an(Wt);try{return en[rn]._reflectGetTheContentAttribute("aria-checked")}finally{In(Wt)}}set ariaChecked(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set ariaChecked' called on an object that is not a valid instance of ElementInternals.")}if(en===null||en===undefined){en=null}else{en=tn["DOMString"](en,{context:"Failed to set the 'ariaChecked' property on 'ElementInternals': The provided value",globals:Wt})}an(Wt);try{if(en===null){nn[rn]._reflectDeleteTheContentAttribute("aria-checked")}else{nn[rn]._reflectSetTheContentAttribute("aria-checked",en)}}finally{In(Wt)}}get ariaColCount(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get ariaColCount' called on an object that is not a valid instance of ElementInternals.")}an(Wt);try{return en[rn]._reflectGetTheContentAttribute("aria-colcount")}finally{In(Wt)}}set ariaColCount(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set ariaColCount' called on an object that is not a valid instance of ElementInternals.")}if(en===null||en===undefined){en=null}else{en=tn["DOMString"](en,{context:"Failed to set the 'ariaColCount' property on 'ElementInternals': The provided value",globals:Wt})}an(Wt);try{if(en===null){nn[rn]._reflectDeleteTheContentAttribute("aria-colcount")}else{nn[rn]._reflectSetTheContentAttribute("aria-colcount",en)}}finally{In(Wt)}}get ariaColIndex(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get ariaColIndex' called on an object that is not a valid instance of ElementInternals.")}an(Wt);try{return en[rn]._reflectGetTheContentAttribute("aria-colindex")}finally{In(Wt)}}set ariaColIndex(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set ariaColIndex' called on an object that is not a valid instance of ElementInternals.")}if(en===null||en===undefined){en=null}else{en=tn["DOMString"](en,{context:"Failed to set the 'ariaColIndex' property on 'ElementInternals': The provided value",globals:Wt})}an(Wt);try{if(en===null){nn[rn]._reflectDeleteTheContentAttribute("aria-colindex")}else{nn[rn]._reflectSetTheContentAttribute("aria-colindex",en)}}finally{In(Wt)}}get ariaColIndexText(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get ariaColIndexText' called on an object that is not a valid instance of ElementInternals.")}an(Wt);try{return en[rn]._reflectGetTheContentAttribute("aria-colindextext")}finally{In(Wt)}}set ariaColIndexText(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set ariaColIndexText' called on an object that is not a valid instance of ElementInternals.")}if(en===null||en===undefined){en=null}else{en=tn["DOMString"](en,{context:"Failed to set the 'ariaColIndexText' property on 'ElementInternals': The provided value",globals:Wt})}an(Wt);try{if(en===null){nn[rn]._reflectDeleteTheContentAttribute("aria-colindextext")}else{nn[rn]._reflectSetTheContentAttribute("aria-colindextext",en)}}finally{In(Wt)}}get ariaColSpan(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get ariaColSpan' called on an object that is not a valid instance of ElementInternals.")}an(Wt);try{return en[rn]._reflectGetTheContentAttribute("aria-colspan")}finally{In(Wt)}}set ariaColSpan(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set ariaColSpan' called on an object that is not a valid instance of ElementInternals.")}if(en===null||en===undefined){en=null}else{en=tn["DOMString"](en,{context:"Failed to set the 'ariaColSpan' property on 'ElementInternals': The provided value",globals:Wt})}an(Wt);try{if(en===null){nn[rn]._reflectDeleteTheContentAttribute("aria-colspan")}else{nn[rn]._reflectSetTheContentAttribute("aria-colspan",en)}}finally{In(Wt)}}get ariaCurrent(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get ariaCurrent' called on an object that is not a valid instance of ElementInternals.")}an(Wt);try{return en[rn]._reflectGetTheContentAttribute("aria-current")}finally{In(Wt)}}set ariaCurrent(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set ariaCurrent' called on an object that is not a valid instance of ElementInternals.")}if(en===null||en===undefined){en=null}else{en=tn["DOMString"](en,{context:"Failed to set the 'ariaCurrent' property on 'ElementInternals': The provided value",globals:Wt})}an(Wt);try{if(en===null){nn[rn]._reflectDeleteTheContentAttribute("aria-current")}else{nn[rn]._reflectSetTheContentAttribute("aria-current",en)}}finally{In(Wt)}}get ariaDescription(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get ariaDescription' called on an object that is not a valid instance of ElementInternals.")}an(Wt);try{return en[rn]._reflectGetTheContentAttribute("aria-description")}finally{In(Wt)}}set ariaDescription(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set ariaDescription' called on an object that is not a valid instance of ElementInternals.")}if(en===null||en===undefined){en=null}else{en=tn["DOMString"](en,{context:"Failed to set the 'ariaDescription' property on 'ElementInternals': The provided value",globals:Wt})}an(Wt);try{if(en===null){nn[rn]._reflectDeleteTheContentAttribute("aria-description")}else{nn[rn]._reflectSetTheContentAttribute("aria-description",en)}}finally{In(Wt)}}get ariaDisabled(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get ariaDisabled' called on an object that is not a valid instance of ElementInternals.")}an(Wt);try{return en[rn]._reflectGetTheContentAttribute("aria-disabled")}finally{In(Wt)}}set ariaDisabled(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set ariaDisabled' called on an object that is not a valid instance of ElementInternals.")}if(en===null||en===undefined){en=null}else{en=tn["DOMString"](en,{context:"Failed to set the 'ariaDisabled' property on 'ElementInternals': The provided value",globals:Wt})}an(Wt);try{if(en===null){nn[rn]._reflectDeleteTheContentAttribute("aria-disabled")}else{nn[rn]._reflectSetTheContentAttribute("aria-disabled",en)}}finally{In(Wt)}}get ariaExpanded(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get ariaExpanded' called on an object that is not a valid instance of ElementInternals.")}an(Wt);try{return en[rn]._reflectGetTheContentAttribute("aria-expanded")}finally{In(Wt)}}set ariaExpanded(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set ariaExpanded' called on an object that is not a valid instance of ElementInternals.")}if(en===null||en===undefined){en=null}else{en=tn["DOMString"](en,{context:"Failed to set the 'ariaExpanded' property on 'ElementInternals': The provided value",globals:Wt})}an(Wt);try{if(en===null){nn[rn]._reflectDeleteTheContentAttribute("aria-expanded")}else{nn[rn]._reflectSetTheContentAttribute("aria-expanded",en)}}finally{In(Wt)}}get ariaHasPopup(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get ariaHasPopup' called on an object that is not a valid instance of ElementInternals.")}an(Wt);try{return en[rn]._reflectGetTheContentAttribute("aria-haspopup")}finally{In(Wt)}}set ariaHasPopup(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set ariaHasPopup' called on an object that is not a valid instance of ElementInternals.")}if(en===null||en===undefined){en=null}else{en=tn["DOMString"](en,{context:"Failed to set the 'ariaHasPopup' property on 'ElementInternals': The provided value",globals:Wt})}an(Wt);try{if(en===null){nn[rn]._reflectDeleteTheContentAttribute("aria-haspopup")}else{nn[rn]._reflectSetTheContentAttribute("aria-haspopup",en)}}finally{In(Wt)}}get ariaHidden(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get ariaHidden' called on an object that is not a valid instance of ElementInternals.")}an(Wt);try{return en[rn]._reflectGetTheContentAttribute("aria-hidden")}finally{In(Wt)}}set ariaHidden(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set ariaHidden' called on an object that is not a valid instance of ElementInternals.")}if(en===null||en===undefined){en=null}else{en=tn["DOMString"](en,{context:"Failed to set the 'ariaHidden' property on 'ElementInternals': The provided value",globals:Wt})}an(Wt);try{if(en===null){nn[rn]._reflectDeleteTheContentAttribute("aria-hidden")}else{nn[rn]._reflectSetTheContentAttribute("aria-hidden",en)}}finally{In(Wt)}}get ariaInvalid(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get ariaInvalid' called on an object that is not a valid instance of ElementInternals.")}an(Wt);try{return en[rn]._reflectGetTheContentAttribute("aria-invalid")}finally{In(Wt)}}set ariaInvalid(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set ariaInvalid' called on an object that is not a valid instance of ElementInternals.")}if(en===null||en===undefined){en=null}else{en=tn["DOMString"](en,{context:"Failed to set the 'ariaInvalid' property on 'ElementInternals': The provided value",globals:Wt})}an(Wt);try{if(en===null){nn[rn]._reflectDeleteTheContentAttribute("aria-invalid")}else{nn[rn]._reflectSetTheContentAttribute("aria-invalid",en)}}finally{In(Wt)}}get ariaKeyShortcuts(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get ariaKeyShortcuts' called on an object that is not a valid instance of ElementInternals.")}an(Wt);try{return en[rn]._reflectGetTheContentAttribute("aria-keyshortcuts")}finally{In(Wt)}}set ariaKeyShortcuts(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set ariaKeyShortcuts' called on an object that is not a valid instance of ElementInternals.")}if(en===null||en===undefined){en=null}else{en=tn["DOMString"](en,{context:"Failed to set the 'ariaKeyShortcuts' property on 'ElementInternals': The provided value",globals:Wt})}an(Wt);try{if(en===null){nn[rn]._reflectDeleteTheContentAttribute("aria-keyshortcuts")}else{nn[rn]._reflectSetTheContentAttribute("aria-keyshortcuts",en)}}finally{In(Wt)}}get ariaLabel(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get ariaLabel' called on an object that is not a valid instance of ElementInternals.")}an(Wt);try{return en[rn]._reflectGetTheContentAttribute("aria-label")}finally{In(Wt)}}set ariaLabel(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set ariaLabel' called on an object that is not a valid instance of ElementInternals.")}if(en===null||en===undefined){en=null}else{en=tn["DOMString"](en,{context:"Failed to set the 'ariaLabel' property on 'ElementInternals': The provided value",globals:Wt})}an(Wt);try{if(en===null){nn[rn]._reflectDeleteTheContentAttribute("aria-label")}else{nn[rn]._reflectSetTheContentAttribute("aria-label",en)}}finally{In(Wt)}}get ariaLevel(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get ariaLevel' called on an object that is not a valid instance of ElementInternals.")}an(Wt);try{return en[rn]._reflectGetTheContentAttribute("aria-level")}finally{In(Wt)}}set ariaLevel(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set ariaLevel' called on an object that is not a valid instance of ElementInternals.")}if(en===null||en===undefined){en=null}else{en=tn["DOMString"](en,{context:"Failed to set the 'ariaLevel' property on 'ElementInternals': The provided value",globals:Wt})}an(Wt);try{if(en===null){nn[rn]._reflectDeleteTheContentAttribute("aria-level")}else{nn[rn]._reflectSetTheContentAttribute("aria-level",en)}}finally{In(Wt)}}get ariaLive(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get ariaLive' called on an object that is not a valid instance of ElementInternals.")}an(Wt);try{return en[rn]._reflectGetTheContentAttribute("aria-live")}finally{In(Wt)}}set ariaLive(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set ariaLive' called on an object that is not a valid instance of ElementInternals.")}if(en===null||en===undefined){en=null}else{en=tn["DOMString"](en,{context:"Failed to set the 'ariaLive' property on 'ElementInternals': The provided value",globals:Wt})}an(Wt);try{if(en===null){nn[rn]._reflectDeleteTheContentAttribute("aria-live")}else{nn[rn]._reflectSetTheContentAttribute("aria-live",en)}}finally{In(Wt)}}get ariaModal(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get ariaModal' called on an object that is not a valid instance of ElementInternals.")}an(Wt);try{return en[rn]._reflectGetTheContentAttribute("aria-modal")}finally{In(Wt)}}set ariaModal(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set ariaModal' called on an object that is not a valid instance of ElementInternals.")}if(en===null||en===undefined){en=null}else{en=tn["DOMString"](en,{context:"Failed to set the 'ariaModal' property on 'ElementInternals': The provided value",globals:Wt})}an(Wt);try{if(en===null){nn[rn]._reflectDeleteTheContentAttribute("aria-modal")}else{nn[rn]._reflectSetTheContentAttribute("aria-modal",en)}}finally{In(Wt)}}get ariaMultiLine(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get ariaMultiLine' called on an object that is not a valid instance of ElementInternals.")}an(Wt);try{return en[rn]._reflectGetTheContentAttribute("aria-multiline")}finally{In(Wt)}}set ariaMultiLine(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set ariaMultiLine' called on an object that is not a valid instance of ElementInternals.")}if(en===null||en===undefined){en=null}else{en=tn["DOMString"](en,{context:"Failed to set the 'ariaMultiLine' property on 'ElementInternals': The provided value",globals:Wt})}an(Wt);try{if(en===null){nn[rn]._reflectDeleteTheContentAttribute("aria-multiline")}else{nn[rn]._reflectSetTheContentAttribute("aria-multiline",en)}}finally{In(Wt)}}get ariaMultiSelectable(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get ariaMultiSelectable' called on an object that is not a valid instance of ElementInternals.")}an(Wt);try{return en[rn]._reflectGetTheContentAttribute("aria-multiselectable")}finally{In(Wt)}}set ariaMultiSelectable(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set ariaMultiSelectable' called on an object that is not a valid instance of ElementInternals.")}if(en===null||en===undefined){en=null}else{en=tn["DOMString"](en,{context:"Failed to set the 'ariaMultiSelectable' property on 'ElementInternals': The provided value",globals:Wt})}an(Wt);try{if(en===null){nn[rn]._reflectDeleteTheContentAttribute("aria-multiselectable")}else{nn[rn]._reflectSetTheContentAttribute("aria-multiselectable",en)}}finally{In(Wt)}}get ariaOrientation(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get ariaOrientation' called on an object that is not a valid instance of ElementInternals.")}an(Wt);try{return en[rn]._reflectGetTheContentAttribute("aria-orientation")}finally{In(Wt)}}set ariaOrientation(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set ariaOrientation' called on an object that is not a valid instance of ElementInternals.")}if(en===null||en===undefined){en=null}else{en=tn["DOMString"](en,{context:"Failed to set the 'ariaOrientation' property on 'ElementInternals': The provided value",globals:Wt})}an(Wt);try{if(en===null){nn[rn]._reflectDeleteTheContentAttribute("aria-orientation")}else{nn[rn]._reflectSetTheContentAttribute("aria-orientation",en)}}finally{In(Wt)}}get ariaPlaceholder(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get ariaPlaceholder' called on an object that is not a valid instance of ElementInternals.")}an(Wt);try{return en[rn]._reflectGetTheContentAttribute("aria-placeholder")}finally{In(Wt)}}set ariaPlaceholder(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set ariaPlaceholder' called on an object that is not a valid instance of ElementInternals.")}if(en===null||en===undefined){en=null}else{en=tn["DOMString"](en,{context:"Failed to set the 'ariaPlaceholder' property on 'ElementInternals': The provided value",globals:Wt})}an(Wt);try{if(en===null){nn[rn]._reflectDeleteTheContentAttribute("aria-placeholder")}else{nn[rn]._reflectSetTheContentAttribute("aria-placeholder",en)}}finally{In(Wt)}}get ariaPosInSet(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get ariaPosInSet' called on an object that is not a valid instance of ElementInternals.")}an(Wt);try{return en[rn]._reflectGetTheContentAttribute("aria-posinset")}finally{In(Wt)}}set ariaPosInSet(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set ariaPosInSet' called on an object that is not a valid instance of ElementInternals.")}if(en===null||en===undefined){en=null}else{en=tn["DOMString"](en,{context:"Failed to set the 'ariaPosInSet' property on 'ElementInternals': The provided value",globals:Wt})}an(Wt);try{if(en===null){nn[rn]._reflectDeleteTheContentAttribute("aria-posinset")}else{nn[rn]._reflectSetTheContentAttribute("aria-posinset",en)}}finally{In(Wt)}}get ariaPressed(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get ariaPressed' called on an object that is not a valid instance of ElementInternals.")}an(Wt);try{return en[rn]._reflectGetTheContentAttribute("aria-pressed")}finally{In(Wt)}}set ariaPressed(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set ariaPressed' called on an object that is not a valid instance of ElementInternals.")}if(en===null||en===undefined){en=null}else{en=tn["DOMString"](en,{context:"Failed to set the 'ariaPressed' property on 'ElementInternals': The provided value",globals:Wt})}an(Wt);try{if(en===null){nn[rn]._reflectDeleteTheContentAttribute("aria-pressed")}else{nn[rn]._reflectSetTheContentAttribute("aria-pressed",en)}}finally{In(Wt)}}get ariaReadOnly(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get ariaReadOnly' called on an object that is not a valid instance of ElementInternals.")}an(Wt);try{return en[rn]._reflectGetTheContentAttribute("aria-readonly")}finally{In(Wt)}}set ariaReadOnly(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set ariaReadOnly' called on an object that is not a valid instance of ElementInternals.")}if(en===null||en===undefined){en=null}else{en=tn["DOMString"](en,{context:"Failed to set the 'ariaReadOnly' property on 'ElementInternals': The provided value",globals:Wt})}an(Wt);try{if(en===null){nn[rn]._reflectDeleteTheContentAttribute("aria-readonly")}else{nn[rn]._reflectSetTheContentAttribute("aria-readonly",en)}}finally{In(Wt)}}get ariaRequired(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get ariaRequired' called on an object that is not a valid instance of ElementInternals.")}an(Wt);try{return en[rn]._reflectGetTheContentAttribute("aria-required")}finally{In(Wt)}}set ariaRequired(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set ariaRequired' called on an object that is not a valid instance of ElementInternals.")}if(en===null||en===undefined){en=null}else{en=tn["DOMString"](en,{context:"Failed to set the 'ariaRequired' property on 'ElementInternals': The provided value",globals:Wt})}an(Wt);try{if(en===null){nn[rn]._reflectDeleteTheContentAttribute("aria-required")}else{nn[rn]._reflectSetTheContentAttribute("aria-required",en)}}finally{In(Wt)}}get ariaRoleDescription(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get ariaRoleDescription' called on an object that is not a valid instance of ElementInternals.")}an(Wt);try{return en[rn]._reflectGetTheContentAttribute("aria-roledescription")}finally{In(Wt)}}set ariaRoleDescription(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set ariaRoleDescription' called on an object that is not a valid instance of ElementInternals.")}if(en===null||en===undefined){en=null}else{en=tn["DOMString"](en,{context:"Failed to set the 'ariaRoleDescription' property on 'ElementInternals': The provided value",globals:Wt})}an(Wt);try{if(en===null){nn[rn]._reflectDeleteTheContentAttribute("aria-roledescription")}else{nn[rn]._reflectSetTheContentAttribute("aria-roledescription",en)}}finally{In(Wt)}}get ariaRowCount(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get ariaRowCount' called on an object that is not a valid instance of ElementInternals.")}an(Wt);try{return en[rn]._reflectGetTheContentAttribute("aria-rowcount")}finally{In(Wt)}}set ariaRowCount(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set ariaRowCount' called on an object that is not a valid instance of ElementInternals.")}if(en===null||en===undefined){en=null}else{en=tn["DOMString"](en,{context:"Failed to set the 'ariaRowCount' property on 'ElementInternals': The provided value",globals:Wt})}an(Wt);try{if(en===null){nn[rn]._reflectDeleteTheContentAttribute("aria-rowcount")}else{nn[rn]._reflectSetTheContentAttribute("aria-rowcount",en)}}finally{In(Wt)}}get ariaRowIndex(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get ariaRowIndex' called on an object that is not a valid instance of ElementInternals.")}an(Wt);try{return en[rn]._reflectGetTheContentAttribute("aria-rowindex")}finally{In(Wt)}}set ariaRowIndex(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set ariaRowIndex' called on an object that is not a valid instance of ElementInternals.")}if(en===null||en===undefined){en=null}else{en=tn["DOMString"](en,{context:"Failed to set the 'ariaRowIndex' property on 'ElementInternals': The provided value",globals:Wt})}an(Wt);try{if(en===null){nn[rn]._reflectDeleteTheContentAttribute("aria-rowindex")}else{nn[rn]._reflectSetTheContentAttribute("aria-rowindex",en)}}finally{In(Wt)}}get ariaRowIndexText(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get ariaRowIndexText' called on an object that is not a valid instance of ElementInternals.")}an(Wt);try{return en[rn]._reflectGetTheContentAttribute("aria-rowindextext")}finally{In(Wt)}}set ariaRowIndexText(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set ariaRowIndexText' called on an object that is not a valid instance of ElementInternals.")}if(en===null||en===undefined){en=null}else{en=tn["DOMString"](en,{context:"Failed to set the 'ariaRowIndexText' property on 'ElementInternals': The provided value",globals:Wt})}an(Wt);try{if(en===null){nn[rn]._reflectDeleteTheContentAttribute("aria-rowindextext")}else{nn[rn]._reflectSetTheContentAttribute("aria-rowindextext",en)}}finally{In(Wt)}}get ariaRowSpan(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get ariaRowSpan' called on an object that is not a valid instance of ElementInternals.")}an(Wt);try{return en[rn]._reflectGetTheContentAttribute("aria-rowspan")}finally{In(Wt)}}set ariaRowSpan(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set ariaRowSpan' called on an object that is not a valid instance of ElementInternals.")}if(en===null||en===undefined){en=null}else{en=tn["DOMString"](en,{context:"Failed to set the 'ariaRowSpan' property on 'ElementInternals': The provided value",globals:Wt})}an(Wt);try{if(en===null){nn[rn]._reflectDeleteTheContentAttribute("aria-rowspan")}else{nn[rn]._reflectSetTheContentAttribute("aria-rowspan",en)}}finally{In(Wt)}}get ariaSelected(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get ariaSelected' called on an object that is not a valid instance of ElementInternals.")}an(Wt);try{return en[rn]._reflectGetTheContentAttribute("aria-selected")}finally{In(Wt)}}set ariaSelected(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set ariaSelected' called on an object that is not a valid instance of ElementInternals.")}if(en===null||en===undefined){en=null}else{en=tn["DOMString"](en,{context:"Failed to set the 'ariaSelected' property on 'ElementInternals': The provided value",globals:Wt})}an(Wt);try{if(en===null){nn[rn]._reflectDeleteTheContentAttribute("aria-selected")}else{nn[rn]._reflectSetTheContentAttribute("aria-selected",en)}}finally{In(Wt)}}get ariaSetSize(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get ariaSetSize' called on an object that is not a valid instance of ElementInternals.")}an(Wt);try{return en[rn]._reflectGetTheContentAttribute("aria-setsize")}finally{In(Wt)}}set ariaSetSize(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set ariaSetSize' called on an object that is not a valid instance of ElementInternals.")}if(en===null||en===undefined){en=null}else{en=tn["DOMString"](en,{context:"Failed to set the 'ariaSetSize' property on 'ElementInternals': The provided value",globals:Wt})}an(Wt);try{if(en===null){nn[rn]._reflectDeleteTheContentAttribute("aria-setsize")}else{nn[rn]._reflectSetTheContentAttribute("aria-setsize",en)}}finally{In(Wt)}}get ariaSort(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get ariaSort' called on an object that is not a valid instance of ElementInternals.")}an(Wt);try{return en[rn]._reflectGetTheContentAttribute("aria-sort")}finally{In(Wt)}}set ariaSort(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set ariaSort' called on an object that is not a valid instance of ElementInternals.")}if(en===null||en===undefined){en=null}else{en=tn["DOMString"](en,{context:"Failed to set the 'ariaSort' property on 'ElementInternals': The provided value",globals:Wt})}an(Wt);try{if(en===null){nn[rn]._reflectDeleteTheContentAttribute("aria-sort")}else{nn[rn]._reflectSetTheContentAttribute("aria-sort",en)}}finally{In(Wt)}}get ariaValueMax(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get ariaValueMax' called on an object that is not a valid instance of ElementInternals.")}an(Wt);try{return en[rn]._reflectGetTheContentAttribute("aria-valuemax")}finally{In(Wt)}}set ariaValueMax(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set ariaValueMax' called on an object that is not a valid instance of ElementInternals.")}if(en===null||en===undefined){en=null}else{en=tn["DOMString"](en,{context:"Failed to set the 'ariaValueMax' property on 'ElementInternals': The provided value",globals:Wt})}an(Wt);try{if(en===null){nn[rn]._reflectDeleteTheContentAttribute("aria-valuemax")}else{nn[rn]._reflectSetTheContentAttribute("aria-valuemax",en)}}finally{In(Wt)}}get ariaValueMin(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get ariaValueMin' called on an object that is not a valid instance of ElementInternals.")}an(Wt);try{return en[rn]._reflectGetTheContentAttribute("aria-valuemin")}finally{In(Wt)}}set ariaValueMin(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set ariaValueMin' called on an object that is not a valid instance of ElementInternals.")}if(en===null||en===undefined){en=null}else{en=tn["DOMString"](en,{context:"Failed to set the 'ariaValueMin' property on 'ElementInternals': The provided value",globals:Wt})}an(Wt);try{if(en===null){nn[rn]._reflectDeleteTheContentAttribute("aria-valuemin")}else{nn[rn]._reflectSetTheContentAttribute("aria-valuemin",en)}}finally{In(Wt)}}get ariaValueNow(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get ariaValueNow' called on an object that is not a valid instance of ElementInternals.")}an(Wt);try{return en[rn]._reflectGetTheContentAttribute("aria-valuenow")}finally{In(Wt)}}set ariaValueNow(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set ariaValueNow' called on an object that is not a valid instance of ElementInternals.")}if(en===null||en===undefined){en=null}else{en=tn["DOMString"](en,{context:"Failed to set the 'ariaValueNow' property on 'ElementInternals': The provided value",globals:Wt})}an(Wt);try{if(en===null){nn[rn]._reflectDeleteTheContentAttribute("aria-valuenow")}else{nn[rn]._reflectSetTheContentAttribute("aria-valuenow",en)}}finally{In(Wt)}}get ariaValueText(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get ariaValueText' called on an object that is not a valid instance of ElementInternals.")}an(Wt);try{return en[rn]._reflectGetTheContentAttribute("aria-valuetext")}finally{In(Wt)}}set ariaValueText(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set ariaValueText' called on an object that is not a valid instance of ElementInternals.")}if(en===null||en===undefined){en=null}else{en=tn["DOMString"](en,{context:"Failed to set the 'ariaValueText' property on 'ElementInternals': The provided value",globals:Wt})}an(Wt);try{if(en===null){nn[rn]._reflectDeleteTheContentAttribute("aria-valuetext")}else{nn[rn]._reflectSetTheContentAttribute("aria-valuetext",en)}}finally{In(Wt)}}get ariaRelevant(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get ariaRelevant' called on an object that is not a valid instance of ElementInternals.")}an(Wt);try{return en[rn]._reflectGetTheContentAttribute("aria-relevant")}finally{In(Wt)}}set ariaRelevant(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set ariaRelevant' called on an object that is not a valid instance of ElementInternals.")}if(en===null||en===undefined){en=null}else{en=tn["DOMString"](en,{context:"Failed to set the 'ariaRelevant' property on 'ElementInternals': The provided value",globals:Wt})}an(Wt);try{if(en===null){nn[rn]._reflectDeleteTheContentAttribute("aria-relevant")}else{nn[rn]._reflectSetTheContentAttribute("aria-relevant",en)}}finally{In(Wt)}}}Object.defineProperties(ElementInternals.prototype,{shadowRoot:{enumerable:true},role:{enumerable:true},ariaAtomic:{enumerable:true},ariaAutoComplete:{enumerable:true},ariaBusy:{enumerable:true},ariaChecked:{enumerable:true},ariaColCount:{enumerable:true},ariaColIndex:{enumerable:true},ariaColIndexText:{enumerable:true},ariaColSpan:{enumerable:true},ariaCurrent:{enumerable:true},ariaDescription:{enumerable:true},ariaDisabled:{enumerable:true},ariaExpanded:{enumerable:true},ariaHasPopup:{enumerable:true},ariaHidden:{enumerable:true},ariaInvalid:{enumerable:true},ariaKeyShortcuts:{enumerable:true},ariaLabel:{enumerable:true},ariaLevel:{enumerable:true},ariaLive:{enumerable:true},ariaModal:{enumerable:true},ariaMultiLine:{enumerable:true},ariaMultiSelectable:{enumerable:true},ariaOrientation:{enumerable:true},ariaPlaceholder:{enumerable:true},ariaPosInSet:{enumerable:true},ariaPressed:{enumerable:true},ariaReadOnly:{enumerable:true},ariaRequired:{enumerable:true},ariaRoleDescription:{enumerable:true},ariaRowCount:{enumerable:true},ariaRowIndex:{enumerable:true},ariaRowIndexText:{enumerable:true},ariaRowSpan:{enumerable:true},ariaSelected:{enumerable:true},ariaSetSize:{enumerable:true},ariaSort:{enumerable:true},ariaValueMax:{enumerable:true},ariaValueMin:{enumerable:true},ariaValueNow:{enumerable:true},ariaValueText:{enumerable:true},ariaRelevant:{enumerable:true},[Symbol.toStringTag]:{value:"ElementInternals",configurable:true}});sn[on]=ElementInternals;Object.defineProperty(Wt,on,{configurable:true,writable:true,value:ElementInternals})};const dn=en(72742)},15992:(Wt,Pt)=>{const en=new Set(["transparent","native"]);Pt.enumerationValues=en;Pt.convert=(Wt,Pt,{context:tn="The provided value"}={})=>{const nn=`${Pt}`;if(!en.has(nn)){throw new Wt.TypeError(`${tn} '${nn}' is not a valid enumeration value for EndingType`)}return nn}},89045:(Wt,Pt,en)=>{const tn=en(37125);const nn=en(87094);const an=en(92439);const In=nn.implSymbol;const rn=nn.ctorRegistrySymbol;const sn=en(94431);const on="ErrorEvent";Pt.is=Wt=>nn.isObject(Wt)&&nn.hasOwn(Wt,In)&&Wt[In]instanceof dn.implementation;Pt.isImpl=Wt=>nn.isObject(Wt)&&Wt instanceof dn.implementation;Pt.convert=(Wt,en,{context:tn="The provided value"}={})=>{if(Pt.is(en)){return nn.implForWrapper(en)}throw new Wt.TypeError(`${tn} is not of type 'ErrorEvent'.`)};function makeWrapper(Wt,Pt){let en;if(Pt!==undefined){en=Pt.prototype}if(!nn.isObject(en)){en=Wt[rn]["ErrorEvent"].prototype}return Object.create(en)}Pt.create=(Wt,en,tn)=>{const nn=makeWrapper(Wt);return Pt.setup(nn,Wt,en,tn)};Pt.createImpl=(Wt,en,tn)=>{const an=Pt.create(Wt,en,tn);return nn.implForWrapper(an)};Pt._internalSetup=(Wt,Pt)=>{sn._internalSetup(Wt,Pt)};Pt.setup=(Wt,en,tn=[],an={})=>{an.wrapper=Wt;Pt._internalSetup(Wt,en);Object.defineProperty(Wt,In,{value:new dn.implementation(en,tn,an),configurable:true});Wt[In][nn.wrapperSymbol]=Wt;if(dn.init){dn.init(Wt[In])}return Wt};Pt["new"]=(Wt,en)=>{const tn=makeWrapper(Wt,en);Pt._internalSetup(tn,Wt);Object.defineProperty(tn,In,{value:Object.create(dn.implementation.prototype),configurable:true});tn[In][nn.wrapperSymbol]=tn;if(dn.init){dn.init(tn[In])}return tn[In]};const cn=new Set(["Window","Worker"]);Pt.install=(Wt,en)=>{if(!en.some((Wt=>cn.has(Wt)))){return}const rn=nn.initCtorRegistry(Wt);class ErrorEvent extends Wt.Event{constructor(en){if(arguments.length<1){throw new Wt.TypeError(`Failed to construct 'ErrorEvent': 1 argument required, but only ${arguments.length} present.`)}const nn=[];{let Pt=arguments[0];Pt=tn["DOMString"](Pt,{context:"Failed to construct 'ErrorEvent': parameter 1",globals:Wt});nn.push(Pt)}{let Pt=arguments[1];Pt=an.convert(Wt,Pt,{context:"Failed to construct 'ErrorEvent': parameter 2"});nn.push(Pt)}return Pt.setup(Object.create(new.target.prototype),Wt,nn)}get message(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get message' called on an object that is not a valid instance of ErrorEvent.")}return en[In]["message"]}get filename(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get filename' called on an object that is not a valid instance of ErrorEvent.")}return en[In]["filename"]}get lineno(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get lineno' called on an object that is not a valid instance of ErrorEvent.")}return en[In]["lineno"]}get colno(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get colno' called on an object that is not a valid instance of ErrorEvent.")}return en[In]["colno"]}get error(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get error' called on an object that is not a valid instance of ErrorEvent.")}return en[In]["error"]}}Object.defineProperties(ErrorEvent.prototype,{message:{enumerable:true},filename:{enumerable:true},lineno:{enumerable:true},colno:{enumerable:true},error:{enumerable:true},[Symbol.toStringTag]:{value:"ErrorEvent",configurable:true}});rn[on]=ErrorEvent;Object.defineProperty(Wt,on,{configurable:true,writable:true,value:ErrorEvent})};const dn=en(23472)},92439:(Wt,Pt,en)=>{const tn=en(37125);const nn=en(87094);const an=en(31893);Pt._convertInherit=(Wt,Pt,en,{context:nn="The provided value"}={})=>{an._convertInherit(Wt,Pt,en,{context:nn});{const an="colno";let In=Pt===undefined||Pt===null?undefined:Pt[an];if(In!==undefined){In=tn["unsigned long"](In,{context:nn+" has member 'colno' that",globals:Wt});en[an]=In}else{en[an]=0}}{const an="error";let In=Pt===undefined||Pt===null?undefined:Pt[an];if(In!==undefined){In=tn["any"](In,{context:nn+" has member 'error' that",globals:Wt});en[an]=In}else{en[an]=null}}{const an="filename";let In=Pt===undefined||Pt===null?undefined:Pt[an];if(In!==undefined){In=tn["USVString"](In,{context:nn+" has member 'filename' that",globals:Wt});en[an]=In}else{en[an]=""}}{const an="lineno";let In=Pt===undefined||Pt===null?undefined:Pt[an];if(In!==undefined){In=tn["unsigned long"](In,{context:nn+" has member 'lineno' that",globals:Wt});en[an]=In}else{en[an]=0}}{const an="message";let In=Pt===undefined||Pt===null?undefined:Pt[an];if(In!==undefined){In=tn["DOMString"](In,{context:nn+" has member 'message' that",globals:Wt});en[an]=In}else{en[an]=""}}};Pt.convert=(Wt,en,{context:tn="The provided value"}={})=>{if(en!==undefined&&typeof en!=="object"&&typeof en!=="function"){throw new Wt.TypeError(`${tn} is not an object.`)}const nn=Object.create(null);Pt._convertInherit(Wt,en,nn,{context:tn});return nn}},94431:(Wt,Pt,en)=>{const tn=en(37125);const nn=en(87094);const an=en(31893);const In=nn.implSymbol;const rn=nn.ctorRegistrySymbol;const sn="Event";Pt.is=Wt=>nn.isObject(Wt)&&nn.hasOwn(Wt,In)&&Wt[In]instanceof dn.implementation;Pt.isImpl=Wt=>nn.isObject(Wt)&&Wt instanceof dn.implementation;Pt.convert=(Wt,en,{context:tn="The provided value"}={})=>{if(Pt.is(en)){return nn.implForWrapper(en)}throw new Wt.TypeError(`${tn} is not of type 'Event'.`)};function makeWrapper(Wt,Pt){let en;if(Pt!==undefined){en=Pt.prototype}if(!nn.isObject(en)){en=Wt[rn]["Event"].prototype}return Object.create(en)}Pt.create=(Wt,en,tn)=>{const nn=makeWrapper(Wt);return Pt.setup(nn,Wt,en,tn)};Pt.createImpl=(Wt,en,tn)=>{const an=Pt.create(Wt,en,tn);return nn.implForWrapper(an)};function getUnforgeables(Wt){let en=on.get(Wt);if(en===undefined){en=Object.create(null);nn.define(en,{get isTrusted(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get isTrusted' called on an object that is not a valid instance of Event.")}return en[In]["isTrusted"]}});Object.defineProperties(en,{isTrusted:{configurable:false}});on.set(Wt,en)}return en}Pt._internalSetup=(Wt,Pt)=>{nn.define(Wt,getUnforgeables(Pt))};Pt.setup=(Wt,en,tn=[],an={})=>{an.wrapper=Wt;Pt._internalSetup(Wt,en);Object.defineProperty(Wt,In,{value:new dn.implementation(en,tn,an),configurable:true});Wt[In][nn.wrapperSymbol]=Wt;if(dn.init){dn.init(Wt[In])}return Wt};Pt["new"]=(Wt,en)=>{const tn=makeWrapper(Wt,en);Pt._internalSetup(tn,Wt);Object.defineProperty(tn,In,{value:Object.create(dn.implementation.prototype),configurable:true});tn[In][nn.wrapperSymbol]=tn;if(dn.init){dn.init(tn[In])}return tn[In]};const on=new WeakMap;const cn=new Set(["Window","Worker","AudioWorklet"]);Pt.install=(Wt,en)=>{if(!en.some((Wt=>cn.has(Wt)))){return}const rn=nn.initCtorRegistry(Wt);class Event{constructor(en){if(arguments.length<1){throw new Wt.TypeError(`Failed to construct 'Event': 1 argument required, but only ${arguments.length} present.`)}const nn=[];{let Pt=arguments[0];Pt=tn["DOMString"](Pt,{context:"Failed to construct 'Event': parameter 1",globals:Wt});nn.push(Pt)}{let Pt=arguments[1];Pt=an.convert(Wt,Pt,{context:"Failed to construct 'Event': parameter 2"});nn.push(Pt)}return Pt.setup(Object.create(new.target.prototype),Wt,nn)}composedPath(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'composedPath' called on an object that is not a valid instance of Event.")}return nn.tryWrapperForImpl(en[In].composedPath())}stopPropagation(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'stopPropagation' called on an object that is not a valid instance of Event.")}return en[In].stopPropagation()}stopImmediatePropagation(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'stopImmediatePropagation' called on an object that is not a valid instance of Event.")}return en[In].stopImmediatePropagation()}preventDefault(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'preventDefault' called on an object that is not a valid instance of Event.")}return en[In].preventDefault()}initEvent(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'initEvent' called on an object that is not a valid instance of Event.")}if(arguments.length<1){throw new Wt.TypeError(`Failed to execute 'initEvent' on 'Event': 1 argument required, but only ${arguments.length} present.`)}const an=[];{let Pt=arguments[0];Pt=tn["DOMString"](Pt,{context:"Failed to execute 'initEvent' on 'Event': parameter 1",globals:Wt});an.push(Pt)}{let Pt=arguments[1];if(Pt!==undefined){Pt=tn["boolean"](Pt,{context:"Failed to execute 'initEvent' on 'Event': parameter 2",globals:Wt})}else{Pt=false}an.push(Pt)}{let Pt=arguments[2];if(Pt!==undefined){Pt=tn["boolean"](Pt,{context:"Failed to execute 'initEvent' on 'Event': parameter 3",globals:Wt})}else{Pt=false}an.push(Pt)}return nn[In].initEvent(...an)}get type(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get type' called on an object that is not a valid instance of Event.")}return en[In]["type"]}get target(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get target' called on an object that is not a valid instance of Event.")}return nn.tryWrapperForImpl(en[In]["target"])}get srcElement(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get srcElement' called on an object that is not a valid instance of Event.")}return nn.tryWrapperForImpl(en[In]["srcElement"])}get currentTarget(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get currentTarget' called on an object that is not a valid instance of Event.")}return nn.tryWrapperForImpl(en[In]["currentTarget"])}get eventPhase(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get eventPhase' called on an object that is not a valid instance of Event.")}return en[In]["eventPhase"]}get cancelBubble(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get cancelBubble' called on an object that is not a valid instance of Event.")}return en[In]["cancelBubble"]}set cancelBubble(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set cancelBubble' called on an object that is not a valid instance of Event.")}en=tn["boolean"](en,{context:"Failed to set the 'cancelBubble' property on 'Event': The provided value",globals:Wt});nn[In]["cancelBubble"]=en}get bubbles(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get bubbles' called on an object that is not a valid instance of Event.")}return en[In]["bubbles"]}get cancelable(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get cancelable' called on an object that is not a valid instance of Event.")}return en[In]["cancelable"]}get returnValue(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get returnValue' called on an object that is not a valid instance of Event.")}return en[In]["returnValue"]}set returnValue(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set returnValue' called on an object that is not a valid instance of Event.")}en=tn["boolean"](en,{context:"Failed to set the 'returnValue' property on 'Event': The provided value",globals:Wt});nn[In]["returnValue"]=en}get defaultPrevented(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get defaultPrevented' called on an object that is not a valid instance of Event.")}return en[In]["defaultPrevented"]}get composed(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get composed' called on an object that is not a valid instance of Event.")}return en[In]["composed"]}get timeStamp(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get timeStamp' called on an object that is not a valid instance of Event.")}return en[In]["timeStamp"]}}Object.defineProperties(Event.prototype,{composedPath:{enumerable:true},stopPropagation:{enumerable:true},stopImmediatePropagation:{enumerable:true},preventDefault:{enumerable:true},initEvent:{enumerable:true},type:{enumerable:true},target:{enumerable:true},srcElement:{enumerable:true},currentTarget:{enumerable:true},eventPhase:{enumerable:true},cancelBubble:{enumerable:true},bubbles:{enumerable:true},cancelable:{enumerable:true},returnValue:{enumerable:true},defaultPrevented:{enumerable:true},composed:{enumerable:true},timeStamp:{enumerable:true},[Symbol.toStringTag]:{value:"Event",configurable:true},NONE:{value:0,enumerable:true},CAPTURING_PHASE:{value:1,enumerable:true},AT_TARGET:{value:2,enumerable:true},BUBBLING_PHASE:{value:3,enumerable:true}});Object.defineProperties(Event,{NONE:{value:0,enumerable:true},CAPTURING_PHASE:{value:1,enumerable:true},AT_TARGET:{value:2,enumerable:true},BUBBLING_PHASE:{value:3,enumerable:true}});rn[sn]=Event;Object.defineProperty(Wt,sn,{configurable:true,writable:true,value:Event})};const dn=en(23934)},69117:(Wt,Pt,en)=>{const tn=en(37125);const nn=en(87094);Pt.convert=(Wt,Pt,{context:en="The provided value"}={})=>{function invokeTheCallbackFunction(an){const In=nn.tryWrapperForImpl(this);let rn;if(typeof Pt==="function"){an=nn.tryWrapperForImpl(an);rn=Reflect.apply(Pt,In,[an])}rn=tn["any"](rn,{context:en,globals:Wt});return rn}invokeTheCallbackFunction.construct=an=>{an=nn.tryWrapperForImpl(an);let In=Reflect.construct(Pt,[an]);In=tn["any"](In,{context:en,globals:Wt});return In};invokeTheCallbackFunction[nn.wrapperSymbol]=Pt;invokeTheCallbackFunction.objectReference=Pt;return invokeTheCallbackFunction}},31893:(Wt,Pt,en)=>{const tn=en(37125);const nn=en(87094);Pt._convertInherit=(Wt,Pt,en,{context:nn="The provided value"}={})=>{{const an="bubbles";let In=Pt===undefined||Pt===null?undefined:Pt[an];if(In!==undefined){In=tn["boolean"](In,{context:nn+" has member 'bubbles' that",globals:Wt});en[an]=In}else{en[an]=false}}{const an="cancelable";let In=Pt===undefined||Pt===null?undefined:Pt[an];if(In!==undefined){In=tn["boolean"](In,{context:nn+" has member 'cancelable' that",globals:Wt});en[an]=In}else{en[an]=false}}{const an="composed";let In=Pt===undefined||Pt===null?undefined:Pt[an];if(In!==undefined){In=tn["boolean"](In,{context:nn+" has member 'composed' that",globals:Wt});en[an]=In}else{en[an]=false}}};Pt.convert=(Wt,en,{context:tn="The provided value"}={})=>{if(en!==undefined&&typeof en!=="object"&&typeof en!=="function"){throw new Wt.TypeError(`${tn} is not an object.`)}const nn=Object.create(null);Pt._convertInherit(Wt,en,nn,{context:tn});return nn}},85375:(Wt,Pt,en)=>{const tn=en(37125);const nn=en(87094);Pt.convert=(Wt,Pt,{context:en="The provided value"}={})=>{if(!nn.isObject(Pt)){throw new Wt.TypeError(`${en} is not an object.`)}function callTheUserObjectsOperation(tn){let an=nn.tryWrapperForImpl(this);let In=Pt;let rn=In;if(typeof In!=="function"){rn=In["handleEvent"];if(typeof rn!=="function"){throw new Wt.TypeError(`${en} does not correctly implement EventListener.`)}an=In}tn=nn.tryWrapperForImpl(tn);let sn=Reflect.apply(rn,an,[tn])}callTheUserObjectsOperation[nn.wrapperSymbol]=Pt;callTheUserObjectsOperation.objectReference=Pt;return callTheUserObjectsOperation};Pt.install=(Wt,Pt)=>{}},61537:(Wt,Pt,en)=>{const tn=en(37125);const nn=en(87094);Pt._convertInherit=(Wt,Pt,en,{context:nn="The provided value"}={})=>{{const an="capture";let In=Pt===undefined||Pt===null?undefined:Pt[an];if(In!==undefined){In=tn["boolean"](In,{context:nn+" has member 'capture' that",globals:Wt});en[an]=In}else{en[an]=false}}};Pt.convert=(Wt,en,{context:tn="The provided value"}={})=>{if(en!==undefined&&typeof en!=="object"&&typeof en!=="function"){throw new Wt.TypeError(`${tn} is not an object.`)}const nn=Object.create(null);Pt._convertInherit(Wt,en,nn,{context:tn});return nn}},6588:(Wt,Pt,en)=>{const tn=en(37125);const nn=en(87094);const an=en(27019);Pt._convertInherit=(Wt,Pt,en,{context:nn="The provided value"}={})=>{an._convertInherit(Wt,Pt,en,{context:nn});{const an="altKey";let In=Pt===undefined||Pt===null?undefined:Pt[an];if(In!==undefined){In=tn["boolean"](In,{context:nn+" has member 'altKey' that",globals:Wt});en[an]=In}else{en[an]=false}}{const an="ctrlKey";let In=Pt===undefined||Pt===null?undefined:Pt[an];if(In!==undefined){In=tn["boolean"](In,{context:nn+" has member 'ctrlKey' that",globals:Wt});en[an]=In}else{en[an]=false}}{const an="metaKey";let In=Pt===undefined||Pt===null?undefined:Pt[an];if(In!==undefined){In=tn["boolean"](In,{context:nn+" has member 'metaKey' that",globals:Wt});en[an]=In}else{en[an]=false}}{const an="modifierAltGraph";let In=Pt===undefined||Pt===null?undefined:Pt[an];if(In!==undefined){In=tn["boolean"](In,{context:nn+" has member 'modifierAltGraph' that",globals:Wt});en[an]=In}else{en[an]=false}}{const an="modifierCapsLock";let In=Pt===undefined||Pt===null?undefined:Pt[an];if(In!==undefined){In=tn["boolean"](In,{context:nn+" has member 'modifierCapsLock' that",globals:Wt});en[an]=In}else{en[an]=false}}{const an="modifierFn";let In=Pt===undefined||Pt===null?undefined:Pt[an];if(In!==undefined){In=tn["boolean"](In,{context:nn+" has member 'modifierFn' that",globals:Wt});en[an]=In}else{en[an]=false}}{const an="modifierFnLock";let In=Pt===undefined||Pt===null?undefined:Pt[an];if(In!==undefined){In=tn["boolean"](In,{context:nn+" has member 'modifierFnLock' that",globals:Wt});en[an]=In}else{en[an]=false}}{const an="modifierHyper";let In=Pt===undefined||Pt===null?undefined:Pt[an];if(In!==undefined){In=tn["boolean"](In,{context:nn+" has member 'modifierHyper' that",globals:Wt});en[an]=In}else{en[an]=false}}{const an="modifierNumLock";let In=Pt===undefined||Pt===null?undefined:Pt[an];if(In!==undefined){In=tn["boolean"](In,{context:nn+" has member 'modifierNumLock' that",globals:Wt});en[an]=In}else{en[an]=false}}{const an="modifierScrollLock";let In=Pt===undefined||Pt===null?undefined:Pt[an];if(In!==undefined){In=tn["boolean"](In,{context:nn+" has member 'modifierScrollLock' that",globals:Wt});en[an]=In}else{en[an]=false}}{const an="modifierSuper";let In=Pt===undefined||Pt===null?undefined:Pt[an];if(In!==undefined){In=tn["boolean"](In,{context:nn+" has member 'modifierSuper' that",globals:Wt});en[an]=In}else{en[an]=false}}{const an="modifierSymbol";let In=Pt===undefined||Pt===null?undefined:Pt[an];if(In!==undefined){In=tn["boolean"](In,{context:nn+" has member 'modifierSymbol' that",globals:Wt});en[an]=In}else{en[an]=false}}{const an="modifierSymbolLock";let In=Pt===undefined||Pt===null?undefined:Pt[an];if(In!==undefined){In=tn["boolean"](In,{context:nn+" has member 'modifierSymbolLock' that",globals:Wt});en[an]=In}else{en[an]=false}}{const an="shiftKey";let In=Pt===undefined||Pt===null?undefined:Pt[an];if(In!==undefined){In=tn["boolean"](In,{context:nn+" has member 'shiftKey' that",globals:Wt});en[an]=In}else{en[an]=false}}};Pt.convert=(Wt,en,{context:tn="The provided value"}={})=>{if(en!==undefined&&typeof en!=="object"&&typeof en!=="function"){throw new Wt.TypeError(`${tn} is not an object.`)}const nn=Object.create(null);Pt._convertInherit(Wt,en,nn,{context:tn});return nn}},29122:(Wt,Pt,en)=>{const tn=en(37125);const nn=en(87094);const an=en(85375);const In=en(95158);const rn=en(61537);const sn=en(94431);const on=nn.implSymbol;const cn=nn.ctorRegistrySymbol;const dn="EventTarget";Pt.is=Wt=>nn.isObject(Wt)&&nn.hasOwn(Wt,on)&&Wt[on]instanceof pn.implementation;Pt.isImpl=Wt=>nn.isObject(Wt)&&Wt instanceof pn.implementation;Pt.convert=(Wt,en,{context:tn="The provided value"}={})=>{if(Pt.is(en)){return nn.implForWrapper(en)}throw new Wt.TypeError(`${tn} is not of type 'EventTarget'.`)};function makeWrapper(Wt,Pt){let en;if(Pt!==undefined){en=Pt.prototype}if(!nn.isObject(en)){en=Wt[cn]["EventTarget"].prototype}return Object.create(en)}Pt.create=(Wt,en,tn)=>{const nn=makeWrapper(Wt);return Pt.setup(nn,Wt,en,tn)};Pt.createImpl=(Wt,en,tn)=>{const an=Pt.create(Wt,en,tn);return nn.implForWrapper(an)};Pt._internalSetup=(Wt,Pt)=>{};Pt.setup=(Wt,en,tn=[],an={})=>{an.wrapper=Wt;Pt._internalSetup(Wt,en);Object.defineProperty(Wt,on,{value:new pn.implementation(en,tn,an),configurable:true});Wt[on][nn.wrapperSymbol]=Wt;if(pn.init){pn.init(Wt[on])}return Wt};Pt["new"]=(Wt,en)=>{const tn=makeWrapper(Wt,en);Pt._internalSetup(tn,Wt);Object.defineProperty(tn,on,{value:Object.create(pn.implementation.prototype),configurable:true});tn[on][nn.wrapperSymbol]=tn;if(pn.init){pn.init(tn[on])}return tn[on]};const un=new Set(["Window","Worker","AudioWorklet"]);Pt.install=(Wt,en)=>{if(!en.some((Wt=>un.has(Wt)))){return}const cn=nn.initCtorRegistry(Wt);class EventTarget{constructor(){return Pt.setup(Object.create(new.target.prototype),Wt,undefined)}addEventListener(en,rn){const sn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(sn)){throw new Wt.TypeError("'addEventListener' called on an object that is not a valid instance of EventTarget.")}if(arguments.length<2){throw new Wt.TypeError(`Failed to execute 'addEventListener' on 'EventTarget': 2 arguments required, but only ${arguments.length} present.`)}const cn=[];{let Pt=arguments[0];Pt=tn["DOMString"](Pt,{context:"Failed to execute 'addEventListener' on 'EventTarget': parameter 1",globals:Wt});cn.push(Pt)}{let Pt=arguments[1];if(Pt===null||Pt===undefined){Pt=null}else{Pt=an.convert(Wt,Pt,{context:"Failed to execute 'addEventListener' on 'EventTarget': parameter 2"})}cn.push(Pt)}{let Pt=arguments[2];if(Pt!==undefined){if(Pt===null||Pt===undefined){Pt=In.convert(Wt,Pt,{context:"Failed to execute 'addEventListener' on 'EventTarget': parameter 3"})}else if(nn.isObject(Pt)){Pt=In.convert(Wt,Pt,{context:"Failed to execute 'addEventListener' on 'EventTarget': parameter 3"+" dictionary"})}else if(typeof Pt==="boolean"){Pt=tn["boolean"](Pt,{context:"Failed to execute 'addEventListener' on 'EventTarget': parameter 3",globals:Wt})}else{Pt=tn["boolean"](Pt,{context:"Failed to execute 'addEventListener' on 'EventTarget': parameter 3",globals:Wt})}}cn.push(Pt)}return sn[on].addEventListener(...cn)}removeEventListener(en,In){const sn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(sn)){throw new Wt.TypeError("'removeEventListener' called on an object that is not a valid instance of EventTarget.")}if(arguments.length<2){throw new Wt.TypeError(`Failed to execute 'removeEventListener' on 'EventTarget': 2 arguments required, but only ${arguments.length} present.`)}const cn=[];{let Pt=arguments[0];Pt=tn["DOMString"](Pt,{context:"Failed to execute 'removeEventListener' on 'EventTarget': parameter 1",globals:Wt});cn.push(Pt)}{let Pt=arguments[1];if(Pt===null||Pt===undefined){Pt=null}else{Pt=an.convert(Wt,Pt,{context:"Failed to execute 'removeEventListener' on 'EventTarget': parameter 2"})}cn.push(Pt)}{let Pt=arguments[2];if(Pt!==undefined){if(Pt===null||Pt===undefined){Pt=rn.convert(Wt,Pt,{context:"Failed to execute 'removeEventListener' on 'EventTarget': parameter 3"})}else if(nn.isObject(Pt)){Pt=rn.convert(Wt,Pt,{context:"Failed to execute 'removeEventListener' on 'EventTarget': parameter 3"+" dictionary"})}else if(typeof Pt==="boolean"){Pt=tn["boolean"](Pt,{context:"Failed to execute 'removeEventListener' on 'EventTarget': parameter 3",globals:Wt})}else{Pt=tn["boolean"](Pt,{context:"Failed to execute 'removeEventListener' on 'EventTarget': parameter 3",globals:Wt})}}cn.push(Pt)}return sn[on].removeEventListener(...cn)}dispatchEvent(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'dispatchEvent' called on an object that is not a valid instance of EventTarget.")}if(arguments.length<1){throw new Wt.TypeError(`Failed to execute 'dispatchEvent' on 'EventTarget': 1 argument required, but only ${arguments.length} present.`)}const nn=[];{let Pt=arguments[0];Pt=sn.convert(Wt,Pt,{context:"Failed to execute 'dispatchEvent' on 'EventTarget': parameter 1"});nn.push(Pt)}return tn[on].dispatchEvent(...nn)}}Object.defineProperties(EventTarget.prototype,{addEventListener:{enumerable:true},removeEventListener:{enumerable:true},dispatchEvent:{enumerable:true},[Symbol.toStringTag]:{value:"EventTarget",configurable:true}});cn[dn]=EventTarget;Object.defineProperty(Wt,dn,{configurable:true,writable:true,value:EventTarget})};const pn=en(92697)},18516:(Wt,Pt,en)=>{const tn=en(37125);const nn=en(87094);const an=nn.implSymbol;const In=nn.ctorRegistrySymbol;const rn="External";Pt.is=Wt=>nn.isObject(Wt)&&nn.hasOwn(Wt,an)&&Wt[an]instanceof on.implementation;Pt.isImpl=Wt=>nn.isObject(Wt)&&Wt instanceof on.implementation;Pt.convert=(Wt,en,{context:tn="The provided value"}={})=>{if(Pt.is(en)){return nn.implForWrapper(en)}throw new Wt.TypeError(`${tn} is not of type 'External'.`)};function makeWrapper(Wt,Pt){let en;if(Pt!==undefined){en=Pt.prototype}if(!nn.isObject(en)){en=Wt[In]["External"].prototype}return Object.create(en)}Pt.create=(Wt,en,tn)=>{const nn=makeWrapper(Wt);return Pt.setup(nn,Wt,en,tn)};Pt.createImpl=(Wt,en,tn)=>{const an=Pt.create(Wt,en,tn);return nn.implForWrapper(an)};Pt._internalSetup=(Wt,Pt)=>{};Pt.setup=(Wt,en,tn=[],In={})=>{In.wrapper=Wt;Pt._internalSetup(Wt,en);Object.defineProperty(Wt,an,{value:new on.implementation(en,tn,In),configurable:true});Wt[an][nn.wrapperSymbol]=Wt;if(on.init){on.init(Wt[an])}return Wt};Pt["new"]=(Wt,en)=>{const tn=makeWrapper(Wt,en);Pt._internalSetup(tn,Wt);Object.defineProperty(tn,an,{value:Object.create(on.implementation.prototype),configurable:true});tn[an][nn.wrapperSymbol]=tn;if(on.init){on.init(tn[an])}return tn[an]};const sn=new Set(["Window"]);Pt.install=(Wt,en)=>{if(!en.some((Wt=>sn.has(Wt)))){return}const tn=nn.initCtorRegistry(Wt);class External{constructor(){throw new Wt.TypeError("Illegal constructor")}AddSearchProvider(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'AddSearchProvider' called on an object that is not a valid instance of External.")}return en[an].AddSearchProvider()}IsSearchProviderInstalled(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'IsSearchProviderInstalled' called on an object that is not a valid instance of External.")}return en[an].IsSearchProviderInstalled()}}Object.defineProperties(External.prototype,{AddSearchProvider:{enumerable:true},IsSearchProviderInstalled:{enumerable:true},[Symbol.toStringTag]:{value:"External",configurable:true}});tn[rn]=External;Object.defineProperty(Wt,rn,{configurable:true,writable:true,value:External})};const on=en(72990)},96689:(Wt,Pt,en)=>{const tn=en(37125);const nn=en(87094);const an=en(42960);const In=en(92384);const rn=nn.implSymbol;const sn=nn.ctorRegistrySymbol;const on="File";Pt.is=Wt=>nn.isObject(Wt)&&nn.hasOwn(Wt,rn)&&Wt[rn]instanceof dn.implementation;Pt.isImpl=Wt=>nn.isObject(Wt)&&Wt instanceof dn.implementation;Pt.convert=(Wt,en,{context:tn="The provided value"}={})=>{if(Pt.is(en)){return nn.implForWrapper(en)}throw new Wt.TypeError(`${tn} is not of type 'File'.`)};function makeWrapper(Wt,Pt){let en;if(Pt!==undefined){en=Pt.prototype}if(!nn.isObject(en)){en=Wt[sn]["File"].prototype}return Object.create(en)}Pt.create=(Wt,en,tn)=>{const nn=makeWrapper(Wt);return Pt.setup(nn,Wt,en,tn)};Pt.createImpl=(Wt,en,tn)=>{const an=Pt.create(Wt,en,tn);return nn.implForWrapper(an)};Pt._internalSetup=(Wt,Pt)=>{an._internalSetup(Wt,Pt)};Pt.setup=(Wt,en,tn=[],an={})=>{an.wrapper=Wt;Pt._internalSetup(Wt,en);Object.defineProperty(Wt,rn,{value:new dn.implementation(en,tn,an),configurable:true});Wt[rn][nn.wrapperSymbol]=Wt;if(dn.init){dn.init(Wt[rn])}return Wt};Pt["new"]=(Wt,en)=>{const tn=makeWrapper(Wt,en);Pt._internalSetup(tn,Wt);Object.defineProperty(tn,rn,{value:Object.create(dn.implementation.prototype),configurable:true});tn[rn][nn.wrapperSymbol]=tn;if(dn.init){dn.init(tn[rn])}return tn[rn]};const cn=new Set(["Window","Worker"]);Pt.install=(Wt,en)=>{if(!en.some((Wt=>cn.has(Wt)))){return}const sn=nn.initCtorRegistry(Wt);class File extends Wt.Blob{constructor(en,rn){if(arguments.length<2){throw new Wt.TypeError(`Failed to construct 'File': 2 arguments required, but only ${arguments.length} present.`)}const sn=[];{let Pt=arguments[0];if(!nn.isObject(Pt)){throw new Wt.TypeError("Failed to construct 'File': parameter 1"+" is not an iterable object.")}else{const en=[];const In=Pt;for(let Pt of In){if(an.is(Pt)){Pt=nn.implForWrapper(Pt)}else if(nn.isArrayBuffer(Pt)){}else if(ArrayBuffer.isView(Pt)){}else{Pt=tn["USVString"](Pt,{context:"Failed to construct 'File': parameter 1"+"'s element",globals:Wt})}en.push(Pt)}Pt=en}sn.push(Pt)}{let Pt=arguments[1];Pt=tn["USVString"](Pt,{context:"Failed to construct 'File': parameter 2",globals:Wt});sn.push(Pt)}{let Pt=arguments[2];Pt=In.convert(Wt,Pt,{context:"Failed to construct 'File': parameter 3"});sn.push(Pt)}return Pt.setup(Object.create(new.target.prototype),Wt,sn)}get name(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get name' called on an object that is not a valid instance of File.")}return en[rn]["name"]}get lastModified(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get lastModified' called on an object that is not a valid instance of File.")}return en[rn]["lastModified"]}}Object.defineProperties(File.prototype,{name:{enumerable:true},lastModified:{enumerable:true},[Symbol.toStringTag]:{value:"File",configurable:true}});sn[on]=File;Object.defineProperty(Wt,on,{configurable:true,writable:true,value:File})};const dn=en(78202)},12373:(Wt,Pt,en)=>{const tn=en(37125);const nn=en(87094);const an=nn.implSymbol;const In=nn.ctorRegistrySymbol;const rn="FileList";Pt.is=Wt=>nn.isObject(Wt)&&nn.hasOwn(Wt,an)&&Wt[an]instanceof cn.implementation;Pt.isImpl=Wt=>nn.isObject(Wt)&&Wt instanceof cn.implementation;Pt.convert=(Wt,en,{context:tn="The provided value"}={})=>{if(Pt.is(en)){return nn.implForWrapper(en)}throw new Wt.TypeError(`${tn} is not of type 'FileList'.`)};function makeWrapper(Wt,Pt){let en;if(Pt!==undefined){en=Pt.prototype}if(!nn.isObject(en)){en=Wt[In]["FileList"].prototype}return Object.create(en)}function makeProxy(Wt,Pt){let en=on.get(Pt);if(en===undefined){en=new ProxyHandler(Pt);on.set(Pt,en)}return new Proxy(Wt,en)}Pt.create=(Wt,en,tn)=>{const nn=makeWrapper(Wt);return Pt.setup(nn,Wt,en,tn)};Pt.createImpl=(Wt,en,tn)=>{const an=Pt.create(Wt,en,tn);return nn.implForWrapper(an)};Pt._internalSetup=(Wt,Pt)=>{};Pt.setup=(Wt,en,tn=[],In={})=>{In.wrapper=Wt;Pt._internalSetup(Wt,en);Object.defineProperty(Wt,an,{value:new cn.implementation(en,tn,In),configurable:true});Wt=makeProxy(Wt,en);Wt[an][nn.wrapperSymbol]=Wt;if(cn.init){cn.init(Wt[an])}return Wt};Pt["new"]=(Wt,en)=>{let tn=makeWrapper(Wt,en);Pt._internalSetup(tn,Wt);Object.defineProperty(tn,an,{value:Object.create(cn.implementation.prototype),configurable:true});tn=makeProxy(tn,Wt);tn[an][nn.wrapperSymbol]=tn;if(cn.init){cn.init(tn[an])}return tn[an]};const sn=new Set(["Window","Worker"]);Pt.install=(Wt,en)=>{if(!en.some((Wt=>sn.has(Wt)))){return}const In=nn.initCtorRegistry(Wt);class FileList{constructor(){throw new Wt.TypeError("Illegal constructor")}item(en){const In=this!==null&&this!==undefined?this:Wt;if(!Pt.is(In)){throw new Wt.TypeError("'item' called on an object that is not a valid instance of FileList.")}if(arguments.length<1){throw new Wt.TypeError(`Failed to execute 'item' on 'FileList': 1 argument required, but only ${arguments.length} present.`)}const rn=[];{let Pt=arguments[0];Pt=tn["unsigned long"](Pt,{context:"Failed to execute 'item' on 'FileList': parameter 1",globals:Wt});rn.push(Pt)}return nn.tryWrapperForImpl(In[an].item(...rn))}get length(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get length' called on an object that is not a valid instance of FileList.")}return en[an]["length"]}}Object.defineProperties(FileList.prototype,{item:{enumerable:true},length:{enumerable:true},[Symbol.toStringTag]:{value:"FileList",configurable:true},[Symbol.iterator]:{value:Wt.Array.prototype[Symbol.iterator],configurable:true,writable:true}});In[rn]=FileList;Object.defineProperty(Wt,rn,{configurable:true,writable:true,value:FileList})};const on=new WeakMap;class ProxyHandler{constructor(Wt){this._globalObject=Wt}get(Wt,Pt,en){if(typeof Pt==="symbol"){return Reflect.get(Wt,Pt,en)}const tn=this.getOwnPropertyDescriptor(Wt,Pt);if(tn===undefined){const tn=Object.getPrototypeOf(Wt);if(tn===null){return undefined}return Reflect.get(Wt,Pt,en)}if(!tn.get&&!tn.set){return tn.value}const nn=tn.get;if(nn===undefined){return undefined}return Reflect.apply(nn,en,[])}has(Wt,Pt){if(typeof Pt==="symbol"){return Reflect.has(Wt,Pt)}const en=this.getOwnPropertyDescriptor(Wt,Pt);if(en!==undefined){return true}const tn=Object.getPrototypeOf(Wt);if(tn!==null){return Reflect.has(tn,Pt)}return false}ownKeys(Wt){const Pt=new Set;for(const en of Wt[an][nn.supportedPropertyIndices]){Pt.add(`${en}`)}for(const en of Reflect.ownKeys(Wt)){Pt.add(en)}return[...Pt]}getOwnPropertyDescriptor(Wt,Pt){if(typeof Pt==="symbol"){return Reflect.getOwnPropertyDescriptor(Wt,Pt)}let en=false;if(nn.isArrayIndexPropName(Pt)){const tn=Pt>>>0;const In=Wt[an].item(tn);if(In!==null){return{writable:false,enumerable:true,configurable:true,value:nn.tryWrapperForImpl(In)}}en=true}return Reflect.getOwnPropertyDescriptor(Wt,Pt)}set(Wt,Pt,en,tn){if(typeof Pt==="symbol"){return Reflect.set(Wt,Pt,en,tn)}if(Wt[an][nn.wrapperSymbol]===tn){const Wt=this._globalObject}let In;if(nn.isArrayIndexPropName(Pt)){const en=Pt>>>0;const tn=Wt[an].item(en);if(tn!==null){In={writable:false,enumerable:true,configurable:true,value:nn.tryWrapperForImpl(tn)}}}if(In===undefined){In=Reflect.getOwnPropertyDescriptor(Wt,Pt)}if(In===undefined){const nn=Reflect.getPrototypeOf(Wt);if(nn!==null){return Reflect.set(nn,Pt,en,tn)}In={writable:true,enumerable:true,configurable:true,value:undefined}}if(!In.writable){return false}if(!nn.isObject(tn)){return false}const rn=Reflect.getOwnPropertyDescriptor(tn,Pt);let sn;if(rn!==undefined){if(rn.get||rn.set){return false}if(!rn.writable){return false}sn={value:en}}else{sn={writable:true,enumerable:true,configurable:true,value:en}}return Reflect.defineProperty(tn,Pt,sn)}defineProperty(Wt,Pt,en){if(typeof Pt==="symbol"){return Reflect.defineProperty(Wt,Pt,en)}const tn=this._globalObject;if(nn.isArrayIndexPropName(Pt)){return false}return Reflect.defineProperty(Wt,Pt,en)}deleteProperty(Wt,Pt){if(typeof Pt==="symbol"){return Reflect.deleteProperty(Wt,Pt)}const en=this._globalObject;if(nn.isArrayIndexPropName(Pt)){const en=Pt>>>0;return!(Wt[an].item(en)!==null)}return Reflect.deleteProperty(Wt,Pt)}preventExtensions(){return false}}const cn=en(95346)},92384:(Wt,Pt,en)=>{const tn=en(37125);const nn=en(87094);const an=en(71675);Pt._convertInherit=(Wt,Pt,en,{context:nn="The provided value"}={})=>{an._convertInherit(Wt,Pt,en,{context:nn});{const an="lastModified";let In=Pt===undefined||Pt===null?undefined:Pt[an];if(In!==undefined){In=tn["long long"](In,{context:nn+" has member 'lastModified' that",globals:Wt});en[an]=In}}};Pt.convert=(Wt,en,{context:tn="The provided value"}={})=>{if(en!==undefined&&typeof en!=="object"&&typeof en!=="function"){throw new Wt.TypeError(`${tn} is not an object.`)}const nn=Object.create(null);Pt._convertInherit(Wt,en,nn,{context:tn});return nn}},49962:(Wt,Pt,en)=>{const tn=en(37125);const nn=en(87094);const an=en(42960);const In=en(69117);const rn=nn.implSymbol;const sn=nn.ctorRegistrySymbol;const on=en(29122);const cn="FileReader";Pt.is=Wt=>nn.isObject(Wt)&&nn.hasOwn(Wt,rn)&&Wt[rn]instanceof un.implementation;Pt.isImpl=Wt=>nn.isObject(Wt)&&Wt instanceof un.implementation;Pt.convert=(Wt,en,{context:tn="The provided value"}={})=>{if(Pt.is(en)){return nn.implForWrapper(en)}throw new Wt.TypeError(`${tn} is not of type 'FileReader'.`)};function makeWrapper(Wt,Pt){let en;if(Pt!==undefined){en=Pt.prototype}if(!nn.isObject(en)){en=Wt[sn]["FileReader"].prototype}return Object.create(en)}Pt.create=(Wt,en,tn)=>{const nn=makeWrapper(Wt);return Pt.setup(nn,Wt,en,tn)};Pt.createImpl=(Wt,en,tn)=>{const an=Pt.create(Wt,en,tn);return nn.implForWrapper(an)};Pt._internalSetup=(Wt,Pt)=>{on._internalSetup(Wt,Pt)};Pt.setup=(Wt,en,tn=[],an={})=>{an.wrapper=Wt;Pt._internalSetup(Wt,en);Object.defineProperty(Wt,rn,{value:new un.implementation(en,tn,an),configurable:true});Wt[rn][nn.wrapperSymbol]=Wt;if(un.init){un.init(Wt[rn])}return Wt};Pt["new"]=(Wt,en)=>{const tn=makeWrapper(Wt,en);Pt._internalSetup(tn,Wt);Object.defineProperty(tn,rn,{value:Object.create(un.implementation.prototype),configurable:true});tn[rn][nn.wrapperSymbol]=tn;if(un.init){un.init(tn[rn])}return tn[rn]};const dn=new Set(["Window","Worker"]);Pt.install=(Wt,en)=>{if(!en.some((Wt=>dn.has(Wt)))){return}const sn=nn.initCtorRegistry(Wt);class FileReader extends Wt.EventTarget{constructor(){return Pt.setup(Object.create(new.target.prototype),Wt,undefined)}readAsArrayBuffer(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'readAsArrayBuffer' called on an object that is not a valid instance of FileReader.")}if(arguments.length<1){throw new Wt.TypeError(`Failed to execute 'readAsArrayBuffer' on 'FileReader': 1 argument required, but only ${arguments.length} present.`)}const nn=[];{let Pt=arguments[0];Pt=an.convert(Wt,Pt,{context:"Failed to execute 'readAsArrayBuffer' on 'FileReader': parameter 1"});nn.push(Pt)}return tn[rn].readAsArrayBuffer(...nn)}readAsBinaryString(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'readAsBinaryString' called on an object that is not a valid instance of FileReader.")}if(arguments.length<1){throw new Wt.TypeError(`Failed to execute 'readAsBinaryString' on 'FileReader': 1 argument required, but only ${arguments.length} present.`)}const nn=[];{let Pt=arguments[0];Pt=an.convert(Wt,Pt,{context:"Failed to execute 'readAsBinaryString' on 'FileReader': parameter 1"});nn.push(Pt)}return tn[rn].readAsBinaryString(...nn)}readAsText(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'readAsText' called on an object that is not a valid instance of FileReader.")}if(arguments.length<1){throw new Wt.TypeError(`Failed to execute 'readAsText' on 'FileReader': 1 argument required, but only ${arguments.length} present.`)}const In=[];{let Pt=arguments[0];Pt=an.convert(Wt,Pt,{context:"Failed to execute 'readAsText' on 'FileReader': parameter 1"});In.push(Pt)}{let Pt=arguments[1];if(Pt!==undefined){Pt=tn["DOMString"](Pt,{context:"Failed to execute 'readAsText' on 'FileReader': parameter 2",globals:Wt})}In.push(Pt)}return nn[rn].readAsText(...In)}readAsDataURL(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'readAsDataURL' called on an object that is not a valid instance of FileReader.")}if(arguments.length<1){throw new Wt.TypeError(`Failed to execute 'readAsDataURL' on 'FileReader': 1 argument required, but only ${arguments.length} present.`)}const nn=[];{let Pt=arguments[0];Pt=an.convert(Wt,Pt,{context:"Failed to execute 'readAsDataURL' on 'FileReader': parameter 1"});nn.push(Pt)}return tn[rn].readAsDataURL(...nn)}abort(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'abort' called on an object that is not a valid instance of FileReader.")}return en[rn].abort()}get readyState(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get readyState' called on an object that is not a valid instance of FileReader.")}return en[rn]["readyState"]}get result(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get result' called on an object that is not a valid instance of FileReader.")}return nn.tryWrapperForImpl(en[rn]["result"])}get error(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get error' called on an object that is not a valid instance of FileReader.")}return nn.tryWrapperForImpl(en[rn]["error"])}get onloadstart(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get onloadstart' called on an object that is not a valid instance of FileReader.")}return nn.tryWrapperForImpl(en[rn]["onloadstart"])}set onloadstart(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set onloadstart' called on an object that is not a valid instance of FileReader.")}if(!nn.isObject(en)){en=null}else{en=In.convert(Wt,en,{context:"Failed to set the 'onloadstart' property on 'FileReader': The provided value"})}tn[rn]["onloadstart"]=en}get onprogress(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get onprogress' called on an object that is not a valid instance of FileReader.")}return nn.tryWrapperForImpl(en[rn]["onprogress"])}set onprogress(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set onprogress' called on an object that is not a valid instance of FileReader.")}if(!nn.isObject(en)){en=null}else{en=In.convert(Wt,en,{context:"Failed to set the 'onprogress' property on 'FileReader': The provided value"})}tn[rn]["onprogress"]=en}get onload(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get onload' called on an object that is not a valid instance of FileReader.")}return nn.tryWrapperForImpl(en[rn]["onload"])}set onload(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set onload' called on an object that is not a valid instance of FileReader.")}if(!nn.isObject(en)){en=null}else{en=In.convert(Wt,en,{context:"Failed to set the 'onload' property on 'FileReader': The provided value"})}tn[rn]["onload"]=en}get onabort(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get onabort' called on an object that is not a valid instance of FileReader.")}return nn.tryWrapperForImpl(en[rn]["onabort"])}set onabort(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set onabort' called on an object that is not a valid instance of FileReader.")}if(!nn.isObject(en)){en=null}else{en=In.convert(Wt,en,{context:"Failed to set the 'onabort' property on 'FileReader': The provided value"})}tn[rn]["onabort"]=en}get onerror(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get onerror' called on an object that is not a valid instance of FileReader.")}return nn.tryWrapperForImpl(en[rn]["onerror"])}set onerror(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set onerror' called on an object that is not a valid instance of FileReader.")}if(!nn.isObject(en)){en=null}else{en=In.convert(Wt,en,{context:"Failed to set the 'onerror' property on 'FileReader': The provided value"})}tn[rn]["onerror"]=en}get onloadend(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get onloadend' called on an object that is not a valid instance of FileReader.")}return nn.tryWrapperForImpl(en[rn]["onloadend"])}set onloadend(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set onloadend' called on an object that is not a valid instance of FileReader.")}if(!nn.isObject(en)){en=null}else{en=In.convert(Wt,en,{context:"Failed to set the 'onloadend' property on 'FileReader': The provided value"})}tn[rn]["onloadend"]=en}}Object.defineProperties(FileReader.prototype,{readAsArrayBuffer:{enumerable:true},readAsBinaryString:{enumerable:true},readAsText:{enumerable:true},readAsDataURL:{enumerable:true},abort:{enumerable:true},readyState:{enumerable:true},result:{enumerable:true},error:{enumerable:true},onloadstart:{enumerable:true},onprogress:{enumerable:true},onload:{enumerable:true},onabort:{enumerable:true},onerror:{enumerable:true},onloadend:{enumerable:true},[Symbol.toStringTag]:{value:"FileReader",configurable:true},EMPTY:{value:0,enumerable:true},LOADING:{value:1,enumerable:true},DONE:{value:2,enumerable:true}});Object.defineProperties(FileReader,{EMPTY:{value:0,enumerable:true},LOADING:{value:1,enumerable:true},DONE:{value:2,enumerable:true}});sn[cn]=FileReader;Object.defineProperty(Wt,cn,{configurable:true,writable:true,value:FileReader})};const un=en(78135)},32103:(Wt,Pt,en)=>{const tn=en(37125);const nn=en(87094);const an=en(24237);const In=nn.implSymbol;const rn=nn.ctorRegistrySymbol;const sn=en(38921);const on="FocusEvent";Pt.is=Wt=>nn.isObject(Wt)&&nn.hasOwn(Wt,In)&&Wt[In]instanceof dn.implementation;Pt.isImpl=Wt=>nn.isObject(Wt)&&Wt instanceof dn.implementation;Pt.convert=(Wt,en,{context:tn="The provided value"}={})=>{if(Pt.is(en)){return nn.implForWrapper(en)}throw new Wt.TypeError(`${tn} is not of type 'FocusEvent'.`)};function makeWrapper(Wt,Pt){let en;if(Pt!==undefined){en=Pt.prototype}if(!nn.isObject(en)){en=Wt[rn]["FocusEvent"].prototype}return Object.create(en)}Pt.create=(Wt,en,tn)=>{const nn=makeWrapper(Wt);return Pt.setup(nn,Wt,en,tn)};Pt.createImpl=(Wt,en,tn)=>{const an=Pt.create(Wt,en,tn);return nn.implForWrapper(an)};Pt._internalSetup=(Wt,Pt)=>{sn._internalSetup(Wt,Pt)};Pt.setup=(Wt,en,tn=[],an={})=>{an.wrapper=Wt;Pt._internalSetup(Wt,en);Object.defineProperty(Wt,In,{value:new dn.implementation(en,tn,an),configurable:true});Wt[In][nn.wrapperSymbol]=Wt;if(dn.init){dn.init(Wt[In])}return Wt};Pt["new"]=(Wt,en)=>{const tn=makeWrapper(Wt,en);Pt._internalSetup(tn,Wt);Object.defineProperty(tn,In,{value:Object.create(dn.implementation.prototype),configurable:true});tn[In][nn.wrapperSymbol]=tn;if(dn.init){dn.init(tn[In])}return tn[In]};const cn=new Set(["Window"]);Pt.install=(Wt,en)=>{if(!en.some((Wt=>cn.has(Wt)))){return}const rn=nn.initCtorRegistry(Wt);class FocusEvent extends Wt.UIEvent{constructor(en){if(arguments.length<1){throw new Wt.TypeError(`Failed to construct 'FocusEvent': 1 argument required, but only ${arguments.length} present.`)}const nn=[];{let Pt=arguments[0];Pt=tn["DOMString"](Pt,{context:"Failed to construct 'FocusEvent': parameter 1",globals:Wt});nn.push(Pt)}{let Pt=arguments[1];Pt=an.convert(Wt,Pt,{context:"Failed to construct 'FocusEvent': parameter 2"});nn.push(Pt)}return Pt.setup(Object.create(new.target.prototype),Wt,nn)}get relatedTarget(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get relatedTarget' called on an object that is not a valid instance of FocusEvent.")}return nn.tryWrapperForImpl(en[In]["relatedTarget"])}}Object.defineProperties(FocusEvent.prototype,{relatedTarget:{enumerable:true},[Symbol.toStringTag]:{value:"FocusEvent",configurable:true}});rn[on]=FocusEvent;Object.defineProperty(Wt,on,{configurable:true,writable:true,value:FocusEvent})};const dn=en(35334)},24237:(Wt,Pt,en)=>{const tn=en(37125);const nn=en(87094);const an=en(29122);const In=en(27019);Pt._convertInherit=(Wt,Pt,en,{context:tn="The provided value"}={})=>{In._convertInherit(Wt,Pt,en,{context:tn});{const nn="relatedTarget";let In=Pt===undefined||Pt===null?undefined:Pt[nn];if(In!==undefined){if(In===null||In===undefined){In=null}else{In=an.convert(Wt,In,{context:tn+" has member 'relatedTarget' that"})}en[nn]=In}else{en[nn]=null}}};Pt.convert=(Wt,en,{context:tn="The provided value"}={})=>{if(en!==undefined&&typeof en!=="object"&&typeof en!=="function"){throw new Wt.TypeError(`${tn} is not an object.`)}const nn=Object.create(null);Pt._convertInherit(Wt,en,nn,{context:tn});return nn}},48241:(Wt,Pt,en)=>{const tn=en(37125);const nn=en(87094);const an=en(618);const In=en(48708);const rn=en(42960);const sn=en(25295);const on=nn.newObjectInRealm;const cn=nn.implSymbol;const dn=nn.ctorRegistrySymbol;const un="FormData";Pt.is=Wt=>nn.isObject(Wt)&&nn.hasOwn(Wt,cn)&&Wt[cn]instanceof mn.implementation;Pt.isImpl=Wt=>nn.isObject(Wt)&&Wt instanceof mn.implementation;Pt.convert=(Wt,en,{context:tn="The provided value"}={})=>{if(Pt.is(en)){return nn.implForWrapper(en)}throw new Wt.TypeError(`${tn} is not of type 'FormData'.`)};Pt.createDefaultIterator=(Wt,Pt,en)=>{const tn=Wt[dn];const an=tn["FormData Iterator"];const In=Object.create(an);Object.defineProperty(In,nn.iterInternalSymbol,{value:{target:Pt,kind:en,index:0},configurable:true});return In};function makeWrapper(Wt,Pt){let en;if(Pt!==undefined){en=Pt.prototype}if(!nn.isObject(en)){en=Wt[dn]["FormData"].prototype}return Object.create(en)}Pt.create=(Wt,en,tn)=>{const nn=makeWrapper(Wt);return Pt.setup(nn,Wt,en,tn)};Pt.createImpl=(Wt,en,tn)=>{const an=Pt.create(Wt,en,tn);return nn.implForWrapper(an)};Pt._internalSetup=(Wt,Pt)=>{};Pt.setup=(Wt,en,tn=[],an={})=>{an.wrapper=Wt;Pt._internalSetup(Wt,en);Object.defineProperty(Wt,cn,{value:new mn.implementation(en,tn,an),configurable:true});Wt[cn][nn.wrapperSymbol]=Wt;if(mn.init){mn.init(Wt[cn])}return Wt};Pt["new"]=(Wt,en)=>{const tn=makeWrapper(Wt,en);Pt._internalSetup(tn,Wt);Object.defineProperty(tn,cn,{value:Object.create(mn.implementation.prototype),configurable:true});tn[cn][nn.wrapperSymbol]=tn;if(mn.init){mn.init(tn[cn])}return tn[cn]};const pn=new Set(["Window","Worker"]);Pt.install=(Wt,en)=>{if(!en.some((Wt=>pn.has(Wt)))){return}const dn=nn.initCtorRegistry(Wt);class FormData{constructor(){const en=[];{let Pt=arguments[0];if(Pt!==undefined){Pt=an.convert(Wt,Pt,{context:"Failed to construct 'FormData': parameter 1"})}en.push(Pt)}{let Pt=arguments[1];if(Pt!==undefined){if(Pt===null||Pt===undefined){Pt=null}else{Pt=In.convert(Wt,Pt,{context:"Failed to construct 'FormData': parameter 2"})}}else{Pt=null}en.push(Pt)}return Pt.setup(Object.create(new.target.prototype),Wt,en)}append(en,nn){const an=this!==null&&this!==undefined?this:Wt;if(!Pt.is(an)){throw new Wt.TypeError("'append' called on an object that is not a valid instance of FormData.")}if(arguments.length<2){throw new Wt.TypeError(`Failed to execute 'append' on 'FormData': 2 arguments required, but only ${arguments.length} present.`)}const In=[];switch(arguments.length){case 2:{let Pt=arguments[0];Pt=tn["USVString"](Pt,{context:"Failed to execute 'append' on 'FormData': parameter 1",globals:Wt});In.push(Pt)}{let Pt=arguments[1];if(rn.is(Pt)){{let Pt=arguments[1];Pt=rn.convert(Wt,Pt,{context:"Failed to execute 'append' on 'FormData': parameter 2"});In.push(Pt)}}else{{let Pt=arguments[1];Pt=tn["USVString"](Pt,{context:"Failed to execute 'append' on 'FormData': parameter 2",globals:Wt});In.push(Pt)}}}break;default:{let Pt=arguments[0];Pt=tn["USVString"](Pt,{context:"Failed to execute 'append' on 'FormData': parameter 1",globals:Wt});In.push(Pt)}{let Pt=arguments[1];Pt=rn.convert(Wt,Pt,{context:"Failed to execute 'append' on 'FormData': parameter 2"});In.push(Pt)}{let Pt=arguments[2];if(Pt!==undefined){Pt=tn["USVString"](Pt,{context:"Failed to execute 'append' on 'FormData': parameter 3",globals:Wt})}In.push(Pt)}}return an[cn].append(...In)}delete(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'delete' called on an object that is not a valid instance of FormData.")}if(arguments.length<1){throw new Wt.TypeError(`Failed to execute 'delete' on 'FormData': 1 argument required, but only ${arguments.length} present.`)}const an=[];{let Pt=arguments[0];Pt=tn["USVString"](Pt,{context:"Failed to execute 'delete' on 'FormData': parameter 1",globals:Wt});an.push(Pt)}return nn[cn].delete(...an)}get(en){const an=this!==null&&this!==undefined?this:Wt;if(!Pt.is(an)){throw new Wt.TypeError("'get' called on an object that is not a valid instance of FormData.")}if(arguments.length<1){throw new Wt.TypeError(`Failed to execute 'get' on 'FormData': 1 argument required, but only ${arguments.length} present.`)}const In=[];{let Pt=arguments[0];Pt=tn["USVString"](Pt,{context:"Failed to execute 'get' on 'FormData': parameter 1",globals:Wt});In.push(Pt)}return nn.tryWrapperForImpl(an[cn].get(...In))}getAll(en){const an=this!==null&&this!==undefined?this:Wt;if(!Pt.is(an)){throw new Wt.TypeError("'getAll' called on an object that is not a valid instance of FormData.")}if(arguments.length<1){throw new Wt.TypeError(`Failed to execute 'getAll' on 'FormData': 1 argument required, but only ${arguments.length} present.`)}const In=[];{let Pt=arguments[0];Pt=tn["USVString"](Pt,{context:"Failed to execute 'getAll' on 'FormData': parameter 1",globals:Wt});In.push(Pt)}return nn.tryWrapperForImpl(an[cn].getAll(...In))}has(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'has' called on an object that is not a valid instance of FormData.")}if(arguments.length<1){throw new Wt.TypeError(`Failed to execute 'has' on 'FormData': 1 argument required, but only ${arguments.length} present.`)}const an=[];{let Pt=arguments[0];Pt=tn["USVString"](Pt,{context:"Failed to execute 'has' on 'FormData': parameter 1",globals:Wt});an.push(Pt)}return nn[cn].has(...an)}set(en,nn){const an=this!==null&&this!==undefined?this:Wt;if(!Pt.is(an)){throw new Wt.TypeError("'set' called on an object that is not a valid instance of FormData.")}if(arguments.length<2){throw new Wt.TypeError(`Failed to execute 'set' on 'FormData': 2 arguments required, but only ${arguments.length} present.`)}const In=[];switch(arguments.length){case 2:{let Pt=arguments[0];Pt=tn["USVString"](Pt,{context:"Failed to execute 'set' on 'FormData': parameter 1",globals:Wt});In.push(Pt)}{let Pt=arguments[1];if(rn.is(Pt)){{let Pt=arguments[1];Pt=rn.convert(Wt,Pt,{context:"Failed to execute 'set' on 'FormData': parameter 2"});In.push(Pt)}}else{{let Pt=arguments[1];Pt=tn["USVString"](Pt,{context:"Failed to execute 'set' on 'FormData': parameter 2",globals:Wt});In.push(Pt)}}}break;default:{let Pt=arguments[0];Pt=tn["USVString"](Pt,{context:"Failed to execute 'set' on 'FormData': parameter 1",globals:Wt});In.push(Pt)}{let Pt=arguments[1];Pt=rn.convert(Wt,Pt,{context:"Failed to execute 'set' on 'FormData': parameter 2"});In.push(Pt)}{let Pt=arguments[2];if(Pt!==undefined){Pt=tn["USVString"](Pt,{context:"Failed to execute 'set' on 'FormData': parameter 3",globals:Wt})}In.push(Pt)}}return an[cn].set(...In)}keys(){if(!Pt.is(this)){throw new Wt.TypeError("'keys' called on an object that is not a valid instance of FormData.")}return Pt.createDefaultIterator(Wt,this,"key")}values(){if(!Pt.is(this)){throw new Wt.TypeError("'values' called on an object that is not a valid instance of FormData.")}return Pt.createDefaultIterator(Wt,this,"value")}entries(){if(!Pt.is(this)){throw new Wt.TypeError("'entries' called on an object that is not a valid instance of FormData.")}return Pt.createDefaultIterator(Wt,this,"key+value")}forEach(en){if(!Pt.is(this)){throw new Wt.TypeError("'forEach' called on an object that is not a valid instance of FormData.")}if(arguments.length<1){throw new Wt.TypeError("Failed to execute 'forEach' on 'iterable': 1 argument required, but only 0 present.")}en=sn.convert(Wt,en,{context:"Failed to execute 'forEach' on 'iterable': The callback provided as parameter 1"});const tn=arguments[1];let an=Array.from(this[cn]);let In=0;while(In=rn){return on(Wt,{value:undefined,done:true})}const sn=In[an];Pt.index=an+1;return on(Wt,nn.iteratorResult(sn.map(nn.tryWrapperForImpl),tn))}});Object.defineProperty(Wt,un,{configurable:true,writable:true,value:FormData})};const mn=en(52703)},25295:(Wt,Pt,en)=>{const tn=en(37125);const nn=en(87094);Pt.convert=(Wt,Pt,{context:en="The provided value"}={})=>{if(typeof Pt!=="function"){throw new Wt.TypeError(en+" is not a function")}function invokeTheCallbackFunction(...an){const In=nn.tryWrapperForImpl(this);let rn;for(let Wt=0;Wt{for(let Wt=0;Wt{const tn=en(37125);const nn=en(87094);Pt._convertInherit=(Wt,Pt,en,{context:nn="The provided value"}={})=>{{const an="composed";let In=Pt===undefined||Pt===null?undefined:Pt[an];if(In!==undefined){In=tn["boolean"](In,{context:nn+" has member 'composed' that",globals:Wt});en[an]=In}else{en[an]=false}}};Pt.convert=(Wt,en,{context:tn="The provided value"}={})=>{if(en!==undefined&&typeof en!=="object"&&typeof en!=="function"){throw new Wt.TypeError(`${tn} is not an object.`)}const nn=Object.create(null);Pt._convertInherit(Wt,en,nn,{context:tn});return nn}},68403:(Wt,Pt,en)=>{const tn=en(37125);const nn=en(87094);const an=en(84175).HTMLConstructor;const In=en(8348).ceReactionsPreSteps;const rn=en(8348).ceReactionsPostSteps;const sn=nn.implSymbol;const on=nn.ctorRegistrySymbol;const cn=en(48708);const dn="HTMLAnchorElement";Pt.is=Wt=>nn.isObject(Wt)&&nn.hasOwn(Wt,sn)&&Wt[sn]instanceof pn.implementation;Pt.isImpl=Wt=>nn.isObject(Wt)&&Wt instanceof pn.implementation;Pt.convert=(Wt,en,{context:tn="The provided value"}={})=>{if(Pt.is(en)){return nn.implForWrapper(en)}throw new Wt.TypeError(`${tn} is not of type 'HTMLAnchorElement'.`)};function makeWrapper(Wt,Pt){let en;if(Pt!==undefined){en=Pt.prototype}if(!nn.isObject(en)){en=Wt[on]["HTMLAnchorElement"].prototype}return Object.create(en)}Pt.create=(Wt,en,tn)=>{const nn=makeWrapper(Wt);return Pt.setup(nn,Wt,en,tn)};Pt.createImpl=(Wt,en,tn)=>{const an=Pt.create(Wt,en,tn);return nn.implForWrapper(an)};Pt._internalSetup=(Wt,Pt)=>{cn._internalSetup(Wt,Pt)};Pt.setup=(Wt,en,tn=[],an={})=>{an.wrapper=Wt;Pt._internalSetup(Wt,en);Object.defineProperty(Wt,sn,{value:new pn.implementation(en,tn,an),configurable:true});Wt[sn][nn.wrapperSymbol]=Wt;if(pn.init){pn.init(Wt[sn])}return Wt};Pt["new"]=(Wt,en)=>{const tn=makeWrapper(Wt,en);Pt._internalSetup(tn,Wt);Object.defineProperty(tn,sn,{value:Object.create(pn.implementation.prototype),configurable:true});tn[sn][nn.wrapperSymbol]=tn;if(pn.init){pn.init(tn[sn])}return tn[sn]};const un=new Set(["Window"]);Pt.install=(Wt,en)=>{if(!en.some((Wt=>un.has(Wt)))){return}const on=nn.initCtorRegistry(Wt);class HTMLAnchorElement extends Wt.HTMLElement{constructor(){return an(Wt,dn,new.target)}get target(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get target' called on an object that is not a valid instance of HTMLAnchorElement.")}In(Wt);try{const Wt=en[sn]._reflectGetTheContentAttribute("target");return Wt===null?"":Wt}finally{rn(Wt)}}set target(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set target' called on an object that is not a valid instance of HTMLAnchorElement.")}en=tn["DOMString"](en,{context:"Failed to set the 'target' property on 'HTMLAnchorElement': The provided value",globals:Wt});In(Wt);try{nn[sn]._reflectSetTheContentAttribute("target",en)}finally{rn(Wt)}}get download(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get download' called on an object that is not a valid instance of HTMLAnchorElement.")}In(Wt);try{const Wt=en[sn]._reflectGetTheContentAttribute("download");return Wt===null?"":Wt}finally{rn(Wt)}}set download(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set download' called on an object that is not a valid instance of HTMLAnchorElement.")}en=tn["DOMString"](en,{context:"Failed to set the 'download' property on 'HTMLAnchorElement': The provided value",globals:Wt});In(Wt);try{nn[sn]._reflectSetTheContentAttribute("download",en)}finally{rn(Wt)}}get rel(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get rel' called on an object that is not a valid instance of HTMLAnchorElement.")}In(Wt);try{const Wt=en[sn]._reflectGetTheContentAttribute("rel");return Wt===null?"":Wt}finally{rn(Wt)}}set rel(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set rel' called on an object that is not a valid instance of HTMLAnchorElement.")}en=tn["DOMString"](en,{context:"Failed to set the 'rel' property on 'HTMLAnchorElement': The provided value",globals:Wt});In(Wt);try{nn[sn]._reflectSetTheContentAttribute("rel",en)}finally{rn(Wt)}}get relList(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get relList' called on an object that is not a valid instance of HTMLAnchorElement.")}return nn.getSameObject(this,"relList",(()=>nn.tryWrapperForImpl(en[sn]["relList"])))}set relList(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set relList' called on an object that is not a valid instance of HTMLAnchorElement.")}const an=tn["relList"];if(!nn.isObject(an)){throw new Wt.TypeError("Property 'relList' is not an object")}Reflect.set(an,"value",en)}get hreflang(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get hreflang' called on an object that is not a valid instance of HTMLAnchorElement.")}In(Wt);try{const Wt=en[sn]._reflectGetTheContentAttribute("hreflang");return Wt===null?"":Wt}finally{rn(Wt)}}set hreflang(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set hreflang' called on an object that is not a valid instance of HTMLAnchorElement.")}en=tn["DOMString"](en,{context:"Failed to set the 'hreflang' property on 'HTMLAnchorElement': The provided value",globals:Wt});In(Wt);try{nn[sn]._reflectSetTheContentAttribute("hreflang",en)}finally{rn(Wt)}}get type(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get type' called on an object that is not a valid instance of HTMLAnchorElement.")}In(Wt);try{const Wt=en[sn]._reflectGetTheContentAttribute("type");return Wt===null?"":Wt}finally{rn(Wt)}}set type(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set type' called on an object that is not a valid instance of HTMLAnchorElement.")}en=tn["DOMString"](en,{context:"Failed to set the 'type' property on 'HTMLAnchorElement': The provided value",globals:Wt});In(Wt);try{nn[sn]._reflectSetTheContentAttribute("type",en)}finally{rn(Wt)}}get text(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get text' called on an object that is not a valid instance of HTMLAnchorElement.")}In(Wt);try{return en[sn]["text"]}finally{rn(Wt)}}set text(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set text' called on an object that is not a valid instance of HTMLAnchorElement.")}en=tn["DOMString"](en,{context:"Failed to set the 'text' property on 'HTMLAnchorElement': The provided value",globals:Wt});In(Wt);try{nn[sn]["text"]=en}finally{rn(Wt)}}get coords(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get coords' called on an object that is not a valid instance of HTMLAnchorElement.")}In(Wt);try{const Wt=en[sn]._reflectGetTheContentAttribute("coords");return Wt===null?"":Wt}finally{rn(Wt)}}set coords(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set coords' called on an object that is not a valid instance of HTMLAnchorElement.")}en=tn["DOMString"](en,{context:"Failed to set the 'coords' property on 'HTMLAnchorElement': The provided value",globals:Wt});In(Wt);try{nn[sn]._reflectSetTheContentAttribute("coords",en)}finally{rn(Wt)}}get charset(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get charset' called on an object that is not a valid instance of HTMLAnchorElement.")}In(Wt);try{const Wt=en[sn]._reflectGetTheContentAttribute("charset");return Wt===null?"":Wt}finally{rn(Wt)}}set charset(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set charset' called on an object that is not a valid instance of HTMLAnchorElement.")}en=tn["DOMString"](en,{context:"Failed to set the 'charset' property on 'HTMLAnchorElement': The provided value",globals:Wt});In(Wt);try{nn[sn]._reflectSetTheContentAttribute("charset",en)}finally{rn(Wt)}}get name(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get name' called on an object that is not a valid instance of HTMLAnchorElement.")}In(Wt);try{const Wt=en[sn]._reflectGetTheContentAttribute("name");return Wt===null?"":Wt}finally{rn(Wt)}}set name(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set name' called on an object that is not a valid instance of HTMLAnchorElement.")}en=tn["DOMString"](en,{context:"Failed to set the 'name' property on 'HTMLAnchorElement': The provided value",globals:Wt});In(Wt);try{nn[sn]._reflectSetTheContentAttribute("name",en)}finally{rn(Wt)}}get rev(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get rev' called on an object that is not a valid instance of HTMLAnchorElement.")}In(Wt);try{const Wt=en[sn]._reflectGetTheContentAttribute("rev");return Wt===null?"":Wt}finally{rn(Wt)}}set rev(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set rev' called on an object that is not a valid instance of HTMLAnchorElement.")}en=tn["DOMString"](en,{context:"Failed to set the 'rev' property on 'HTMLAnchorElement': The provided value",globals:Wt});In(Wt);try{nn[sn]._reflectSetTheContentAttribute("rev",en)}finally{rn(Wt)}}get shape(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get shape' called on an object that is not a valid instance of HTMLAnchorElement.")}In(Wt);try{const Wt=en[sn]._reflectGetTheContentAttribute("shape");return Wt===null?"":Wt}finally{rn(Wt)}}set shape(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set shape' called on an object that is not a valid instance of HTMLAnchorElement.")}en=tn["DOMString"](en,{context:"Failed to set the 'shape' property on 'HTMLAnchorElement': The provided value",globals:Wt});In(Wt);try{nn[sn]._reflectSetTheContentAttribute("shape",en)}finally{rn(Wt)}}get href(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get href' called on an object that is not a valid instance of HTMLAnchorElement.")}In(Wt);try{return en[sn]["href"]}finally{rn(Wt)}}set href(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set href' called on an object that is not a valid instance of HTMLAnchorElement.")}en=tn["USVString"](en,{context:"Failed to set the 'href' property on 'HTMLAnchorElement': The provided value",globals:Wt});In(Wt);try{nn[sn]["href"]=en}finally{rn(Wt)}}toString(){const en=this;if(!Pt.is(en)){throw new Wt.TypeError("'toString' called on an object that is not a valid instance of HTMLAnchorElement.")}In(Wt);try{return en[sn]["href"]}finally{rn(Wt)}}get origin(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get origin' called on an object that is not a valid instance of HTMLAnchorElement.")}return en[sn]["origin"]}get protocol(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get protocol' called on an object that is not a valid instance of HTMLAnchorElement.")}In(Wt);try{return en[sn]["protocol"]}finally{rn(Wt)}}set protocol(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set protocol' called on an object that is not a valid instance of HTMLAnchorElement.")}en=tn["USVString"](en,{context:"Failed to set the 'protocol' property on 'HTMLAnchorElement': The provided value",globals:Wt});In(Wt);try{nn[sn]["protocol"]=en}finally{rn(Wt)}}get username(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get username' called on an object that is not a valid instance of HTMLAnchorElement.")}In(Wt);try{return en[sn]["username"]}finally{rn(Wt)}}set username(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set username' called on an object that is not a valid instance of HTMLAnchorElement.")}en=tn["USVString"](en,{context:"Failed to set the 'username' property on 'HTMLAnchorElement': The provided value",globals:Wt});In(Wt);try{nn[sn]["username"]=en}finally{rn(Wt)}}get password(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get password' called on an object that is not a valid instance of HTMLAnchorElement.")}In(Wt);try{return en[sn]["password"]}finally{rn(Wt)}}set password(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set password' called on an object that is not a valid instance of HTMLAnchorElement.")}en=tn["USVString"](en,{context:"Failed to set the 'password' property on 'HTMLAnchorElement': The provided value",globals:Wt});In(Wt);try{nn[sn]["password"]=en}finally{rn(Wt)}}get host(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get host' called on an object that is not a valid instance of HTMLAnchorElement.")}In(Wt);try{return en[sn]["host"]}finally{rn(Wt)}}set host(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set host' called on an object that is not a valid instance of HTMLAnchorElement.")}en=tn["USVString"](en,{context:"Failed to set the 'host' property on 'HTMLAnchorElement': The provided value",globals:Wt});In(Wt);try{nn[sn]["host"]=en}finally{rn(Wt)}}get hostname(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get hostname' called on an object that is not a valid instance of HTMLAnchorElement.")}In(Wt);try{return en[sn]["hostname"]}finally{rn(Wt)}}set hostname(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set hostname' called on an object that is not a valid instance of HTMLAnchorElement.")}en=tn["USVString"](en,{context:"Failed to set the 'hostname' property on 'HTMLAnchorElement': The provided value",globals:Wt});In(Wt);try{nn[sn]["hostname"]=en}finally{rn(Wt)}}get port(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get port' called on an object that is not a valid instance of HTMLAnchorElement.")}In(Wt);try{return en[sn]["port"]}finally{rn(Wt)}}set port(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set port' called on an object that is not a valid instance of HTMLAnchorElement.")}en=tn["USVString"](en,{context:"Failed to set the 'port' property on 'HTMLAnchorElement': The provided value",globals:Wt});In(Wt);try{nn[sn]["port"]=en}finally{rn(Wt)}}get pathname(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get pathname' called on an object that is not a valid instance of HTMLAnchorElement.")}In(Wt);try{return en[sn]["pathname"]}finally{rn(Wt)}}set pathname(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set pathname' called on an object that is not a valid instance of HTMLAnchorElement.")}en=tn["USVString"](en,{context:"Failed to set the 'pathname' property on 'HTMLAnchorElement': The provided value",globals:Wt});In(Wt);try{nn[sn]["pathname"]=en}finally{rn(Wt)}}get search(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get search' called on an object that is not a valid instance of HTMLAnchorElement.")}In(Wt);try{return en[sn]["search"]}finally{rn(Wt)}}set search(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set search' called on an object that is not a valid instance of HTMLAnchorElement.")}en=tn["USVString"](en,{context:"Failed to set the 'search' property on 'HTMLAnchorElement': The provided value",globals:Wt});In(Wt);try{nn[sn]["search"]=en}finally{rn(Wt)}}get hash(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get hash' called on an object that is not a valid instance of HTMLAnchorElement.")}In(Wt);try{return en[sn]["hash"]}finally{rn(Wt)}}set hash(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set hash' called on an object that is not a valid instance of HTMLAnchorElement.")}en=tn["USVString"](en,{context:"Failed to set the 'hash' property on 'HTMLAnchorElement': The provided value",globals:Wt});In(Wt);try{nn[sn]["hash"]=en}finally{rn(Wt)}}}Object.defineProperties(HTMLAnchorElement.prototype,{target:{enumerable:true},download:{enumerable:true},rel:{enumerable:true},relList:{enumerable:true},hreflang:{enumerable:true},type:{enumerable:true},text:{enumerable:true},coords:{enumerable:true},charset:{enumerable:true},name:{enumerable:true},rev:{enumerable:true},shape:{enumerable:true},href:{enumerable:true},toString:{enumerable:true},origin:{enumerable:true},protocol:{enumerable:true},username:{enumerable:true},password:{enumerable:true},host:{enumerable:true},hostname:{enumerable:true},port:{enumerable:true},pathname:{enumerable:true},search:{enumerable:true},hash:{enumerable:true},[Symbol.toStringTag]:{value:"HTMLAnchorElement",configurable:true}});on[dn]=HTMLAnchorElement;Object.defineProperty(Wt,dn,{configurable:true,writable:true,value:HTMLAnchorElement})};const pn=en(49786)},13915:(Wt,Pt,en)=>{const tn=en(37125);const nn=en(87094);const an=en(84175).HTMLConstructor;const In=en(8348).ceReactionsPreSteps;const rn=en(8348).ceReactionsPostSteps;const sn=nn.implSymbol;const on=nn.ctorRegistrySymbol;const cn=en(48708);const dn="HTMLAreaElement";Pt.is=Wt=>nn.isObject(Wt)&&nn.hasOwn(Wt,sn)&&Wt[sn]instanceof pn.implementation;Pt.isImpl=Wt=>nn.isObject(Wt)&&Wt instanceof pn.implementation;Pt.convert=(Wt,en,{context:tn="The provided value"}={})=>{if(Pt.is(en)){return nn.implForWrapper(en)}throw new Wt.TypeError(`${tn} is not of type 'HTMLAreaElement'.`)};function makeWrapper(Wt,Pt){let en;if(Pt!==undefined){en=Pt.prototype}if(!nn.isObject(en)){en=Wt[on]["HTMLAreaElement"].prototype}return Object.create(en)}Pt.create=(Wt,en,tn)=>{const nn=makeWrapper(Wt);return Pt.setup(nn,Wt,en,tn)};Pt.createImpl=(Wt,en,tn)=>{const an=Pt.create(Wt,en,tn);return nn.implForWrapper(an)};Pt._internalSetup=(Wt,Pt)=>{cn._internalSetup(Wt,Pt)};Pt.setup=(Wt,en,tn=[],an={})=>{an.wrapper=Wt;Pt._internalSetup(Wt,en);Object.defineProperty(Wt,sn,{value:new pn.implementation(en,tn,an),configurable:true});Wt[sn][nn.wrapperSymbol]=Wt;if(pn.init){pn.init(Wt[sn])}return Wt};Pt["new"]=(Wt,en)=>{const tn=makeWrapper(Wt,en);Pt._internalSetup(tn,Wt);Object.defineProperty(tn,sn,{value:Object.create(pn.implementation.prototype),configurable:true});tn[sn][nn.wrapperSymbol]=tn;if(pn.init){pn.init(tn[sn])}return tn[sn]};const un=new Set(["Window"]);Pt.install=(Wt,en)=>{if(!en.some((Wt=>un.has(Wt)))){return}const on=nn.initCtorRegistry(Wt);class HTMLAreaElement extends Wt.HTMLElement{constructor(){return an(Wt,dn,new.target)}get alt(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get alt' called on an object that is not a valid instance of HTMLAreaElement.")}In(Wt);try{const Wt=en[sn]._reflectGetTheContentAttribute("alt");return Wt===null?"":Wt}finally{rn(Wt)}}set alt(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set alt' called on an object that is not a valid instance of HTMLAreaElement.")}en=tn["DOMString"](en,{context:"Failed to set the 'alt' property on 'HTMLAreaElement': The provided value",globals:Wt});In(Wt);try{nn[sn]._reflectSetTheContentAttribute("alt",en)}finally{rn(Wt)}}get coords(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get coords' called on an object that is not a valid instance of HTMLAreaElement.")}In(Wt);try{const Wt=en[sn]._reflectGetTheContentAttribute("coords");return Wt===null?"":Wt}finally{rn(Wt)}}set coords(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set coords' called on an object that is not a valid instance of HTMLAreaElement.")}en=tn["DOMString"](en,{context:"Failed to set the 'coords' property on 'HTMLAreaElement': The provided value",globals:Wt});In(Wt);try{nn[sn]._reflectSetTheContentAttribute("coords",en)}finally{rn(Wt)}}get shape(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get shape' called on an object that is not a valid instance of HTMLAreaElement.")}In(Wt);try{const Wt=en[sn]._reflectGetTheContentAttribute("shape");return Wt===null?"":Wt}finally{rn(Wt)}}set shape(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set shape' called on an object that is not a valid instance of HTMLAreaElement.")}en=tn["DOMString"](en,{context:"Failed to set the 'shape' property on 'HTMLAreaElement': The provided value",globals:Wt});In(Wt);try{nn[sn]._reflectSetTheContentAttribute("shape",en)}finally{rn(Wt)}}get target(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get target' called on an object that is not a valid instance of HTMLAreaElement.")}In(Wt);try{const Wt=en[sn]._reflectGetTheContentAttribute("target");return Wt===null?"":Wt}finally{rn(Wt)}}set target(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set target' called on an object that is not a valid instance of HTMLAreaElement.")}en=tn["DOMString"](en,{context:"Failed to set the 'target' property on 'HTMLAreaElement': The provided value",globals:Wt});In(Wt);try{nn[sn]._reflectSetTheContentAttribute("target",en)}finally{rn(Wt)}}get rel(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get rel' called on an object that is not a valid instance of HTMLAreaElement.")}In(Wt);try{const Wt=en[sn]._reflectGetTheContentAttribute("rel");return Wt===null?"":Wt}finally{rn(Wt)}}set rel(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set rel' called on an object that is not a valid instance of HTMLAreaElement.")}en=tn["DOMString"](en,{context:"Failed to set the 'rel' property on 'HTMLAreaElement': The provided value",globals:Wt});In(Wt);try{nn[sn]._reflectSetTheContentAttribute("rel",en)}finally{rn(Wt)}}get relList(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get relList' called on an object that is not a valid instance of HTMLAreaElement.")}return nn.getSameObject(this,"relList",(()=>nn.tryWrapperForImpl(en[sn]["relList"])))}set relList(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set relList' called on an object that is not a valid instance of HTMLAreaElement.")}const an=tn["relList"];if(!nn.isObject(an)){throw new Wt.TypeError("Property 'relList' is not an object")}Reflect.set(an,"value",en)}get noHref(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get noHref' called on an object that is not a valid instance of HTMLAreaElement.")}In(Wt);try{return en[sn]._reflectGetTheContentAttribute("nohref")!==null}finally{rn(Wt)}}set noHref(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set noHref' called on an object that is not a valid instance of HTMLAreaElement.")}en=tn["boolean"](en,{context:"Failed to set the 'noHref' property on 'HTMLAreaElement': The provided value",globals:Wt});In(Wt);try{if(en){nn[sn]._reflectSetTheContentAttribute("nohref","")}else{nn[sn]._reflectDeleteTheContentAttribute("nohref")}}finally{rn(Wt)}}get href(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get href' called on an object that is not a valid instance of HTMLAreaElement.")}In(Wt);try{return en[sn]["href"]}finally{rn(Wt)}}set href(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set href' called on an object that is not a valid instance of HTMLAreaElement.")}en=tn["USVString"](en,{context:"Failed to set the 'href' property on 'HTMLAreaElement': The provided value",globals:Wt});In(Wt);try{nn[sn]["href"]=en}finally{rn(Wt)}}toString(){const en=this;if(!Pt.is(en)){throw new Wt.TypeError("'toString' called on an object that is not a valid instance of HTMLAreaElement.")}In(Wt);try{return en[sn]["href"]}finally{rn(Wt)}}get origin(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get origin' called on an object that is not a valid instance of HTMLAreaElement.")}return en[sn]["origin"]}get protocol(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get protocol' called on an object that is not a valid instance of HTMLAreaElement.")}In(Wt);try{return en[sn]["protocol"]}finally{rn(Wt)}}set protocol(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set protocol' called on an object that is not a valid instance of HTMLAreaElement.")}en=tn["USVString"](en,{context:"Failed to set the 'protocol' property on 'HTMLAreaElement': The provided value",globals:Wt});In(Wt);try{nn[sn]["protocol"]=en}finally{rn(Wt)}}get username(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get username' called on an object that is not a valid instance of HTMLAreaElement.")}In(Wt);try{return en[sn]["username"]}finally{rn(Wt)}}set username(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set username' called on an object that is not a valid instance of HTMLAreaElement.")}en=tn["USVString"](en,{context:"Failed to set the 'username' property on 'HTMLAreaElement': The provided value",globals:Wt});In(Wt);try{nn[sn]["username"]=en}finally{rn(Wt)}}get password(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get password' called on an object that is not a valid instance of HTMLAreaElement.")}In(Wt);try{return en[sn]["password"]}finally{rn(Wt)}}set password(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set password' called on an object that is not a valid instance of HTMLAreaElement.")}en=tn["USVString"](en,{context:"Failed to set the 'password' property on 'HTMLAreaElement': The provided value",globals:Wt});In(Wt);try{nn[sn]["password"]=en}finally{rn(Wt)}}get host(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get host' called on an object that is not a valid instance of HTMLAreaElement.")}In(Wt);try{return en[sn]["host"]}finally{rn(Wt)}}set host(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set host' called on an object that is not a valid instance of HTMLAreaElement.")}en=tn["USVString"](en,{context:"Failed to set the 'host' property on 'HTMLAreaElement': The provided value",globals:Wt});In(Wt);try{nn[sn]["host"]=en}finally{rn(Wt)}}get hostname(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get hostname' called on an object that is not a valid instance of HTMLAreaElement.")}In(Wt);try{return en[sn]["hostname"]}finally{rn(Wt)}}set hostname(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set hostname' called on an object that is not a valid instance of HTMLAreaElement.")}en=tn["USVString"](en,{context:"Failed to set the 'hostname' property on 'HTMLAreaElement': The provided value",globals:Wt});In(Wt);try{nn[sn]["hostname"]=en}finally{rn(Wt)}}get port(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get port' called on an object that is not a valid instance of HTMLAreaElement.")}In(Wt);try{return en[sn]["port"]}finally{rn(Wt)}}set port(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set port' called on an object that is not a valid instance of HTMLAreaElement.")}en=tn["USVString"](en,{context:"Failed to set the 'port' property on 'HTMLAreaElement': The provided value",globals:Wt});In(Wt);try{nn[sn]["port"]=en}finally{rn(Wt)}}get pathname(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get pathname' called on an object that is not a valid instance of HTMLAreaElement.")}In(Wt);try{return en[sn]["pathname"]}finally{rn(Wt)}}set pathname(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set pathname' called on an object that is not a valid instance of HTMLAreaElement.")}en=tn["USVString"](en,{context:"Failed to set the 'pathname' property on 'HTMLAreaElement': The provided value",globals:Wt});In(Wt);try{nn[sn]["pathname"]=en}finally{rn(Wt)}}get search(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get search' called on an object that is not a valid instance of HTMLAreaElement.")}In(Wt);try{return en[sn]["search"]}finally{rn(Wt)}}set search(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set search' called on an object that is not a valid instance of HTMLAreaElement.")}en=tn["USVString"](en,{context:"Failed to set the 'search' property on 'HTMLAreaElement': The provided value",globals:Wt});In(Wt);try{nn[sn]["search"]=en}finally{rn(Wt)}}get hash(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get hash' called on an object that is not a valid instance of HTMLAreaElement.")}In(Wt);try{return en[sn]["hash"]}finally{rn(Wt)}}set hash(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set hash' called on an object that is not a valid instance of HTMLAreaElement.")}en=tn["USVString"](en,{context:"Failed to set the 'hash' property on 'HTMLAreaElement': The provided value",globals:Wt});In(Wt);try{nn[sn]["hash"]=en}finally{rn(Wt)}}}Object.defineProperties(HTMLAreaElement.prototype,{alt:{enumerable:true},coords:{enumerable:true},shape:{enumerable:true},target:{enumerable:true},rel:{enumerable:true},relList:{enumerable:true},noHref:{enumerable:true},href:{enumerable:true},toString:{enumerable:true},origin:{enumerable:true},protocol:{enumerable:true},username:{enumerable:true},password:{enumerable:true},host:{enumerable:true},hostname:{enumerable:true},port:{enumerable:true},pathname:{enumerable:true},search:{enumerable:true},hash:{enumerable:true},[Symbol.toStringTag]:{value:"HTMLAreaElement",configurable:true}});on[dn]=HTMLAreaElement;Object.defineProperty(Wt,dn,{configurable:true,writable:true,value:HTMLAreaElement})};const pn=en(35962)},41952:(Wt,Pt,en)=>{const tn=en(37125);const nn=en(87094);const an=en(84175).HTMLConstructor;const In=nn.implSymbol;const rn=nn.ctorRegistrySymbol;const sn=en(1366);const on="HTMLAudioElement";Pt.is=Wt=>nn.isObject(Wt)&&nn.hasOwn(Wt,In)&&Wt[In]instanceof dn.implementation;Pt.isImpl=Wt=>nn.isObject(Wt)&&Wt instanceof dn.implementation;Pt.convert=(Wt,en,{context:tn="The provided value"}={})=>{if(Pt.is(en)){return nn.implForWrapper(en)}throw new Wt.TypeError(`${tn} is not of type 'HTMLAudioElement'.`)};function makeWrapper(Wt,Pt){let en;if(Pt!==undefined){en=Pt.prototype}if(!nn.isObject(en)){en=Wt[rn]["HTMLAudioElement"].prototype}return Object.create(en)}Pt.create=(Wt,en,tn)=>{const nn=makeWrapper(Wt);return Pt.setup(nn,Wt,en,tn)};Pt.createImpl=(Wt,en,tn)=>{const an=Pt.create(Wt,en,tn);return nn.implForWrapper(an)};Pt._internalSetup=(Wt,Pt)=>{sn._internalSetup(Wt,Pt)};Pt.setup=(Wt,en,tn=[],an={})=>{an.wrapper=Wt;Pt._internalSetup(Wt,en);Object.defineProperty(Wt,In,{value:new dn.implementation(en,tn,an),configurable:true});Wt[In][nn.wrapperSymbol]=Wt;if(dn.init){dn.init(Wt[In])}return Wt};Pt["new"]=(Wt,en)=>{const tn=makeWrapper(Wt,en);Pt._internalSetup(tn,Wt);Object.defineProperty(tn,In,{value:Object.create(dn.implementation.prototype),configurable:true});tn[In][nn.wrapperSymbol]=tn;if(dn.init){dn.init(tn[In])}return tn[In]};const cn=new Set(["Window"]);Pt.install=(Wt,Pt)=>{if(!Pt.some((Wt=>cn.has(Wt)))){return}const en=nn.initCtorRegistry(Wt);class HTMLAudioElement extends Wt.HTMLMediaElement{constructor(){return an(Wt,on,new.target)}}Object.defineProperties(HTMLAudioElement.prototype,{[Symbol.toStringTag]:{value:"HTMLAudioElement",configurable:true}});en[on]=HTMLAudioElement;Object.defineProperty(Wt,on,{configurable:true,writable:true,value:HTMLAudioElement})};const dn=en(98867)},29044:(Wt,Pt,en)=>{const tn=en(37125);const nn=en(87094);const an=en(84175).HTMLConstructor;const In=en(8348).ceReactionsPreSteps;const rn=en(8348).ceReactionsPostSteps;const sn=nn.implSymbol;const on=nn.ctorRegistrySymbol;const cn=en(48708);const dn="HTMLBRElement";Pt.is=Wt=>nn.isObject(Wt)&&nn.hasOwn(Wt,sn)&&Wt[sn]instanceof pn.implementation;Pt.isImpl=Wt=>nn.isObject(Wt)&&Wt instanceof pn.implementation;Pt.convert=(Wt,en,{context:tn="The provided value"}={})=>{if(Pt.is(en)){return nn.implForWrapper(en)}throw new Wt.TypeError(`${tn} is not of type 'HTMLBRElement'.`)};function makeWrapper(Wt,Pt){let en;if(Pt!==undefined){en=Pt.prototype}if(!nn.isObject(en)){en=Wt[on]["HTMLBRElement"].prototype}return Object.create(en)}Pt.create=(Wt,en,tn)=>{const nn=makeWrapper(Wt);return Pt.setup(nn,Wt,en,tn)};Pt.createImpl=(Wt,en,tn)=>{const an=Pt.create(Wt,en,tn);return nn.implForWrapper(an)};Pt._internalSetup=(Wt,Pt)=>{cn._internalSetup(Wt,Pt)};Pt.setup=(Wt,en,tn=[],an={})=>{an.wrapper=Wt;Pt._internalSetup(Wt,en);Object.defineProperty(Wt,sn,{value:new pn.implementation(en,tn,an),configurable:true});Wt[sn][nn.wrapperSymbol]=Wt;if(pn.init){pn.init(Wt[sn])}return Wt};Pt["new"]=(Wt,en)=>{const tn=makeWrapper(Wt,en);Pt._internalSetup(tn,Wt);Object.defineProperty(tn,sn,{value:Object.create(pn.implementation.prototype),configurable:true});tn[sn][nn.wrapperSymbol]=tn;if(pn.init){pn.init(tn[sn])}return tn[sn]};const un=new Set(["Window"]);Pt.install=(Wt,en)=>{if(!en.some((Wt=>un.has(Wt)))){return}const on=nn.initCtorRegistry(Wt);class HTMLBRElement extends Wt.HTMLElement{constructor(){return an(Wt,dn,new.target)}get clear(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get clear' called on an object that is not a valid instance of HTMLBRElement.")}In(Wt);try{const Wt=en[sn]._reflectGetTheContentAttribute("clear");return Wt===null?"":Wt}finally{rn(Wt)}}set clear(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set clear' called on an object that is not a valid instance of HTMLBRElement.")}en=tn["DOMString"](en,{context:"Failed to set the 'clear' property on 'HTMLBRElement': The provided value",globals:Wt});In(Wt);try{nn[sn]._reflectSetTheContentAttribute("clear",en)}finally{rn(Wt)}}}Object.defineProperties(HTMLBRElement.prototype,{clear:{enumerable:true},[Symbol.toStringTag]:{value:"HTMLBRElement",configurable:true}});on[dn]=HTMLBRElement;Object.defineProperty(Wt,dn,{configurable:true,writable:true,value:HTMLBRElement})};const pn=en(64775)},65735:(Wt,Pt,en)=>{const tn=en(37125);const nn=en(87094);const an=en(84175).HTMLConstructor;const In=en(8348).ceReactionsPreSteps;const rn=en(8348).ceReactionsPostSteps;const sn=nn.implSymbol;const on=nn.ctorRegistrySymbol;const cn=en(48708);const dn="HTMLBaseElement";Pt.is=Wt=>nn.isObject(Wt)&&nn.hasOwn(Wt,sn)&&Wt[sn]instanceof pn.implementation;Pt.isImpl=Wt=>nn.isObject(Wt)&&Wt instanceof pn.implementation;Pt.convert=(Wt,en,{context:tn="The provided value"}={})=>{if(Pt.is(en)){return nn.implForWrapper(en)}throw new Wt.TypeError(`${tn} is not of type 'HTMLBaseElement'.`)};function makeWrapper(Wt,Pt){let en;if(Pt!==undefined){en=Pt.prototype}if(!nn.isObject(en)){en=Wt[on]["HTMLBaseElement"].prototype}return Object.create(en)}Pt.create=(Wt,en,tn)=>{const nn=makeWrapper(Wt);return Pt.setup(nn,Wt,en,tn)};Pt.createImpl=(Wt,en,tn)=>{const an=Pt.create(Wt,en,tn);return nn.implForWrapper(an)};Pt._internalSetup=(Wt,Pt)=>{cn._internalSetup(Wt,Pt)};Pt.setup=(Wt,en,tn=[],an={})=>{an.wrapper=Wt;Pt._internalSetup(Wt,en);Object.defineProperty(Wt,sn,{value:new pn.implementation(en,tn,an),configurable:true});Wt[sn][nn.wrapperSymbol]=Wt;if(pn.init){pn.init(Wt[sn])}return Wt};Pt["new"]=(Wt,en)=>{const tn=makeWrapper(Wt,en);Pt._internalSetup(tn,Wt);Object.defineProperty(tn,sn,{value:Object.create(pn.implementation.prototype),configurable:true});tn[sn][nn.wrapperSymbol]=tn;if(pn.init){pn.init(tn[sn])}return tn[sn]};const un=new Set(["Window"]);Pt.install=(Wt,en)=>{if(!en.some((Wt=>un.has(Wt)))){return}const on=nn.initCtorRegistry(Wt);class HTMLBaseElement extends Wt.HTMLElement{constructor(){return an(Wt,dn,new.target)}get href(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get href' called on an object that is not a valid instance of HTMLBaseElement.")}In(Wt);try{return en[sn]["href"]}finally{rn(Wt)}}set href(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set href' called on an object that is not a valid instance of HTMLBaseElement.")}en=tn["USVString"](en,{context:"Failed to set the 'href' property on 'HTMLBaseElement': The provided value",globals:Wt});In(Wt);try{nn[sn]["href"]=en}finally{rn(Wt)}}get target(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get target' called on an object that is not a valid instance of HTMLBaseElement.")}In(Wt);try{const Wt=en[sn]._reflectGetTheContentAttribute("target");return Wt===null?"":Wt}finally{rn(Wt)}}set target(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set target' called on an object that is not a valid instance of HTMLBaseElement.")}en=tn["DOMString"](en,{context:"Failed to set the 'target' property on 'HTMLBaseElement': The provided value",globals:Wt});In(Wt);try{nn[sn]._reflectSetTheContentAttribute("target",en)}finally{rn(Wt)}}}Object.defineProperties(HTMLBaseElement.prototype,{href:{enumerable:true},target:{enumerable:true},[Symbol.toStringTag]:{value:"HTMLBaseElement",configurable:true}});on[dn]=HTMLBaseElement;Object.defineProperty(Wt,dn,{configurable:true,writable:true,value:HTMLBaseElement})};const pn=en(99254)},83220:(Wt,Pt,en)=>{const tn=en(37125);const nn=en(87094);const an=en(84175).HTMLConstructor;const In=en(8348).ceReactionsPreSteps;const rn=en(8348).ceReactionsPostSteps;const sn=en(69117);const on=en(98574);const cn=nn.implSymbol;const dn=nn.ctorRegistrySymbol;const un=en(48708);const pn="HTMLBodyElement";Pt.is=Wt=>nn.isObject(Wt)&&nn.hasOwn(Wt,cn)&&Wt[cn]instanceof bn.implementation;Pt.isImpl=Wt=>nn.isObject(Wt)&&Wt instanceof bn.implementation;Pt.convert=(Wt,en,{context:tn="The provided value"}={})=>{if(Pt.is(en)){return nn.implForWrapper(en)}throw new Wt.TypeError(`${tn} is not of type 'HTMLBodyElement'.`)};function makeWrapper(Wt,Pt){let en;if(Pt!==undefined){en=Pt.prototype}if(!nn.isObject(en)){en=Wt[dn]["HTMLBodyElement"].prototype}return Object.create(en)}Pt.create=(Wt,en,tn)=>{const nn=makeWrapper(Wt);return Pt.setup(nn,Wt,en,tn)};Pt.createImpl=(Wt,en,tn)=>{const an=Pt.create(Wt,en,tn);return nn.implForWrapper(an)};Pt._internalSetup=(Wt,Pt)=>{un._internalSetup(Wt,Pt)};Pt.setup=(Wt,en,tn=[],an={})=>{an.wrapper=Wt;Pt._internalSetup(Wt,en);Object.defineProperty(Wt,cn,{value:new bn.implementation(en,tn,an),configurable:true});Wt[cn][nn.wrapperSymbol]=Wt;if(bn.init){bn.init(Wt[cn])}return Wt};Pt["new"]=(Wt,en)=>{const tn=makeWrapper(Wt,en);Pt._internalSetup(tn,Wt);Object.defineProperty(tn,cn,{value:Object.create(bn.implementation.prototype),configurable:true});tn[cn][nn.wrapperSymbol]=tn;if(bn.init){bn.init(tn[cn])}return tn[cn]};const mn=new Set(["Window"]);Pt.install=(Wt,en)=>{if(!en.some((Wt=>mn.has(Wt)))){return}const dn=nn.initCtorRegistry(Wt);class HTMLBodyElement extends Wt.HTMLElement{constructor(){return an(Wt,pn,new.target)}get text(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get text' called on an object that is not a valid instance of HTMLBodyElement.")}In(Wt);try{const Wt=en[cn]._reflectGetTheContentAttribute("text");return Wt===null?"":Wt}finally{rn(Wt)}}set text(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set text' called on an object that is not a valid instance of HTMLBodyElement.")}en=tn["DOMString"](en,{context:"Failed to set the 'text' property on 'HTMLBodyElement': The provided value",globals:Wt,treatNullAsEmptyString:true});In(Wt);try{nn[cn]._reflectSetTheContentAttribute("text",en)}finally{rn(Wt)}}get link(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get link' called on an object that is not a valid instance of HTMLBodyElement.")}In(Wt);try{const Wt=en[cn]._reflectGetTheContentAttribute("link");return Wt===null?"":Wt}finally{rn(Wt)}}set link(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set link' called on an object that is not a valid instance of HTMLBodyElement.")}en=tn["DOMString"](en,{context:"Failed to set the 'link' property on 'HTMLBodyElement': The provided value",globals:Wt,treatNullAsEmptyString:true});In(Wt);try{nn[cn]._reflectSetTheContentAttribute("link",en)}finally{rn(Wt)}}get vLink(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get vLink' called on an object that is not a valid instance of HTMLBodyElement.")}In(Wt);try{const Wt=en[cn]._reflectGetTheContentAttribute("vlink");return Wt===null?"":Wt}finally{rn(Wt)}}set vLink(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set vLink' called on an object that is not a valid instance of HTMLBodyElement.")}en=tn["DOMString"](en,{context:"Failed to set the 'vLink' property on 'HTMLBodyElement': The provided value",globals:Wt,treatNullAsEmptyString:true});In(Wt);try{nn[cn]._reflectSetTheContentAttribute("vlink",en)}finally{rn(Wt)}}get aLink(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get aLink' called on an object that is not a valid instance of HTMLBodyElement.")}In(Wt);try{const Wt=en[cn]._reflectGetTheContentAttribute("alink");return Wt===null?"":Wt}finally{rn(Wt)}}set aLink(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set aLink' called on an object that is not a valid instance of HTMLBodyElement.")}en=tn["DOMString"](en,{context:"Failed to set the 'aLink' property on 'HTMLBodyElement': The provided value",globals:Wt,treatNullAsEmptyString:true});In(Wt);try{nn[cn]._reflectSetTheContentAttribute("alink",en)}finally{rn(Wt)}}get bgColor(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get bgColor' called on an object that is not a valid instance of HTMLBodyElement.")}In(Wt);try{const Wt=en[cn]._reflectGetTheContentAttribute("bgcolor");return Wt===null?"":Wt}finally{rn(Wt)}}set bgColor(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set bgColor' called on an object that is not a valid instance of HTMLBodyElement.")}en=tn["DOMString"](en,{context:"Failed to set the 'bgColor' property on 'HTMLBodyElement': The provided value",globals:Wt,treatNullAsEmptyString:true});In(Wt);try{nn[cn]._reflectSetTheContentAttribute("bgcolor",en)}finally{rn(Wt)}}get background(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get background' called on an object that is not a valid instance of HTMLBodyElement.")}In(Wt);try{const Wt=en[cn]._reflectGetTheContentAttribute("background");return Wt===null?"":Wt}finally{rn(Wt)}}set background(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set background' called on an object that is not a valid instance of HTMLBodyElement.")}en=tn["DOMString"](en,{context:"Failed to set the 'background' property on 'HTMLBodyElement': The provided value",globals:Wt});In(Wt);try{nn[cn]._reflectSetTheContentAttribute("background",en)}finally{rn(Wt)}}get onafterprint(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get onafterprint' called on an object that is not a valid instance of HTMLBodyElement.")}return nn.tryWrapperForImpl(en[cn]["onafterprint"])}set onafterprint(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set onafterprint' called on an object that is not a valid instance of HTMLBodyElement.")}if(!nn.isObject(en)){en=null}else{en=sn.convert(Wt,en,{context:"Failed to set the 'onafterprint' property on 'HTMLBodyElement': The provided value"})}tn[cn]["onafterprint"]=en}get onbeforeprint(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get onbeforeprint' called on an object that is not a valid instance of HTMLBodyElement.")}return nn.tryWrapperForImpl(en[cn]["onbeforeprint"])}set onbeforeprint(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set onbeforeprint' called on an object that is not a valid instance of HTMLBodyElement.")}if(!nn.isObject(en)){en=null}else{en=sn.convert(Wt,en,{context:"Failed to set the 'onbeforeprint' property on 'HTMLBodyElement': The provided value"})}tn[cn]["onbeforeprint"]=en}get onbeforeunload(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get onbeforeunload' called on an object that is not a valid instance of HTMLBodyElement.")}return nn.tryWrapperForImpl(en[cn]["onbeforeunload"])}set onbeforeunload(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set onbeforeunload' called on an object that is not a valid instance of HTMLBodyElement.")}if(!nn.isObject(en)){en=null}else{en=on.convert(Wt,en,{context:"Failed to set the 'onbeforeunload' property on 'HTMLBodyElement': The provided value"})}tn[cn]["onbeforeunload"]=en}get onhashchange(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get onhashchange' called on an object that is not a valid instance of HTMLBodyElement.")}return nn.tryWrapperForImpl(en[cn]["onhashchange"])}set onhashchange(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set onhashchange' called on an object that is not a valid instance of HTMLBodyElement.")}if(!nn.isObject(en)){en=null}else{en=sn.convert(Wt,en,{context:"Failed to set the 'onhashchange' property on 'HTMLBodyElement': The provided value"})}tn[cn]["onhashchange"]=en}get onlanguagechange(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get onlanguagechange' called on an object that is not a valid instance of HTMLBodyElement.")}return nn.tryWrapperForImpl(en[cn]["onlanguagechange"])}set onlanguagechange(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set onlanguagechange' called on an object that is not a valid instance of HTMLBodyElement.")}if(!nn.isObject(en)){en=null}else{en=sn.convert(Wt,en,{context:"Failed to set the 'onlanguagechange' property on 'HTMLBodyElement': The provided value"})}tn[cn]["onlanguagechange"]=en}get onmessage(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get onmessage' called on an object that is not a valid instance of HTMLBodyElement.")}return nn.tryWrapperForImpl(en[cn]["onmessage"])}set onmessage(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set onmessage' called on an object that is not a valid instance of HTMLBodyElement.")}if(!nn.isObject(en)){en=null}else{en=sn.convert(Wt,en,{context:"Failed to set the 'onmessage' property on 'HTMLBodyElement': The provided value"})}tn[cn]["onmessage"]=en}get onmessageerror(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get onmessageerror' called on an object that is not a valid instance of HTMLBodyElement.")}return nn.tryWrapperForImpl(en[cn]["onmessageerror"])}set onmessageerror(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set onmessageerror' called on an object that is not a valid instance of HTMLBodyElement.")}if(!nn.isObject(en)){en=null}else{en=sn.convert(Wt,en,{context:"Failed to set the 'onmessageerror' property on 'HTMLBodyElement': The provided value"})}tn[cn]["onmessageerror"]=en}get onoffline(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get onoffline' called on an object that is not a valid instance of HTMLBodyElement.")}return nn.tryWrapperForImpl(en[cn]["onoffline"])}set onoffline(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set onoffline' called on an object that is not a valid instance of HTMLBodyElement.")}if(!nn.isObject(en)){en=null}else{en=sn.convert(Wt,en,{context:"Failed to set the 'onoffline' property on 'HTMLBodyElement': The provided value"})}tn[cn]["onoffline"]=en}get ononline(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get ononline' called on an object that is not a valid instance of HTMLBodyElement.")}return nn.tryWrapperForImpl(en[cn]["ononline"])}set ononline(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set ononline' called on an object that is not a valid instance of HTMLBodyElement.")}if(!nn.isObject(en)){en=null}else{en=sn.convert(Wt,en,{context:"Failed to set the 'ononline' property on 'HTMLBodyElement': The provided value"})}tn[cn]["ononline"]=en}get onpagehide(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get onpagehide' called on an object that is not a valid instance of HTMLBodyElement.")}return nn.tryWrapperForImpl(en[cn]["onpagehide"])}set onpagehide(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set onpagehide' called on an object that is not a valid instance of HTMLBodyElement.")}if(!nn.isObject(en)){en=null}else{en=sn.convert(Wt,en,{context:"Failed to set the 'onpagehide' property on 'HTMLBodyElement': The provided value"})}tn[cn]["onpagehide"]=en}get onpageshow(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get onpageshow' called on an object that is not a valid instance of HTMLBodyElement.")}return nn.tryWrapperForImpl(en[cn]["onpageshow"])}set onpageshow(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set onpageshow' called on an object that is not a valid instance of HTMLBodyElement.")}if(!nn.isObject(en)){en=null}else{en=sn.convert(Wt,en,{context:"Failed to set the 'onpageshow' property on 'HTMLBodyElement': The provided value"})}tn[cn]["onpageshow"]=en}get onpopstate(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get onpopstate' called on an object that is not a valid instance of HTMLBodyElement.")}return nn.tryWrapperForImpl(en[cn]["onpopstate"])}set onpopstate(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set onpopstate' called on an object that is not a valid instance of HTMLBodyElement.")}if(!nn.isObject(en)){en=null}else{en=sn.convert(Wt,en,{context:"Failed to set the 'onpopstate' property on 'HTMLBodyElement': The provided value"})}tn[cn]["onpopstate"]=en}get onrejectionhandled(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get onrejectionhandled' called on an object that is not a valid instance of HTMLBodyElement.")}return nn.tryWrapperForImpl(en[cn]["onrejectionhandled"])}set onrejectionhandled(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set onrejectionhandled' called on an object that is not a valid instance of HTMLBodyElement.")}if(!nn.isObject(en)){en=null}else{en=sn.convert(Wt,en,{context:"Failed to set the 'onrejectionhandled' property on 'HTMLBodyElement': The provided value"})}tn[cn]["onrejectionhandled"]=en}get onstorage(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get onstorage' called on an object that is not a valid instance of HTMLBodyElement.")}return nn.tryWrapperForImpl(en[cn]["onstorage"])}set onstorage(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set onstorage' called on an object that is not a valid instance of HTMLBodyElement.")}if(!nn.isObject(en)){en=null}else{en=sn.convert(Wt,en,{context:"Failed to set the 'onstorage' property on 'HTMLBodyElement': The provided value"})}tn[cn]["onstorage"]=en}get onunhandledrejection(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get onunhandledrejection' called on an object that is not a valid instance of HTMLBodyElement.")}return nn.tryWrapperForImpl(en[cn]["onunhandledrejection"])}set onunhandledrejection(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set onunhandledrejection' called on an object that is not a valid instance of HTMLBodyElement.")}if(!nn.isObject(en)){en=null}else{en=sn.convert(Wt,en,{context:"Failed to set the 'onunhandledrejection' property on 'HTMLBodyElement': The provided value"})}tn[cn]["onunhandledrejection"]=en}get onunload(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get onunload' called on an object that is not a valid instance of HTMLBodyElement.")}return nn.tryWrapperForImpl(en[cn]["onunload"])}set onunload(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set onunload' called on an object that is not a valid instance of HTMLBodyElement.")}if(!nn.isObject(en)){en=null}else{en=sn.convert(Wt,en,{context:"Failed to set the 'onunload' property on 'HTMLBodyElement': The provided value"})}tn[cn]["onunload"]=en}}Object.defineProperties(HTMLBodyElement.prototype,{text:{enumerable:true},link:{enumerable:true},vLink:{enumerable:true},aLink:{enumerable:true},bgColor:{enumerable:true},background:{enumerable:true},onafterprint:{enumerable:true},onbeforeprint:{enumerable:true},onbeforeunload:{enumerable:true},onhashchange:{enumerable:true},onlanguagechange:{enumerable:true},onmessage:{enumerable:true},onmessageerror:{enumerable:true},onoffline:{enumerable:true},ononline:{enumerable:true},onpagehide:{enumerable:true},onpageshow:{enumerable:true},onpopstate:{enumerable:true},onrejectionhandled:{enumerable:true},onstorage:{enumerable:true},onunhandledrejection:{enumerable:true},onunload:{enumerable:true},[Symbol.toStringTag]:{value:"HTMLBodyElement",configurable:true}});dn[pn]=HTMLBodyElement;Object.defineProperty(Wt,pn,{configurable:true,writable:true,value:HTMLBodyElement})};const bn=en(57063)},22544:(Wt,Pt,en)=>{const tn=en(37125);const nn=en(87094);const an=en(84175).HTMLConstructor;const In=en(8348).ceReactionsPreSteps;const rn=en(8348).ceReactionsPostSteps;const sn=nn.implSymbol;const on=nn.ctorRegistrySymbol;const cn=en(48708);const dn="HTMLButtonElement";Pt.is=Wt=>nn.isObject(Wt)&&nn.hasOwn(Wt,sn)&&Wt[sn]instanceof pn.implementation;Pt.isImpl=Wt=>nn.isObject(Wt)&&Wt instanceof pn.implementation;Pt.convert=(Wt,en,{context:tn="The provided value"}={})=>{if(Pt.is(en)){return nn.implForWrapper(en)}throw new Wt.TypeError(`${tn} is not of type 'HTMLButtonElement'.`)};function makeWrapper(Wt,Pt){let en;if(Pt!==undefined){en=Pt.prototype}if(!nn.isObject(en)){en=Wt[on]["HTMLButtonElement"].prototype}return Object.create(en)}Pt.create=(Wt,en,tn)=>{const nn=makeWrapper(Wt);return Pt.setup(nn,Wt,en,tn)};Pt.createImpl=(Wt,en,tn)=>{const an=Pt.create(Wt,en,tn);return nn.implForWrapper(an)};Pt._internalSetup=(Wt,Pt)=>{cn._internalSetup(Wt,Pt)};Pt.setup=(Wt,en,tn=[],an={})=>{an.wrapper=Wt;Pt._internalSetup(Wt,en);Object.defineProperty(Wt,sn,{value:new pn.implementation(en,tn,an),configurable:true});Wt[sn][nn.wrapperSymbol]=Wt;if(pn.init){pn.init(Wt[sn])}return Wt};Pt["new"]=(Wt,en)=>{const tn=makeWrapper(Wt,en);Pt._internalSetup(tn,Wt);Object.defineProperty(tn,sn,{value:Object.create(pn.implementation.prototype),configurable:true});tn[sn][nn.wrapperSymbol]=tn;if(pn.init){pn.init(tn[sn])}return tn[sn]};const un=new Set(["Window"]);Pt.install=(Wt,en)=>{if(!en.some((Wt=>un.has(Wt)))){return}const on=nn.initCtorRegistry(Wt);class HTMLButtonElement extends Wt.HTMLElement{constructor(){return an(Wt,dn,new.target)}checkValidity(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'checkValidity' called on an object that is not a valid instance of HTMLButtonElement.")}return en[sn].checkValidity()}reportValidity(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'reportValidity' called on an object that is not a valid instance of HTMLButtonElement.")}return en[sn].reportValidity()}setCustomValidity(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'setCustomValidity' called on an object that is not a valid instance of HTMLButtonElement.")}if(arguments.length<1){throw new Wt.TypeError(`Failed to execute 'setCustomValidity' on 'HTMLButtonElement': 1 argument required, but only ${arguments.length} present.`)}const an=[];{let Pt=arguments[0];Pt=tn["DOMString"](Pt,{context:"Failed to execute 'setCustomValidity' on 'HTMLButtonElement': parameter 1",globals:Wt});an.push(Pt)}return nn[sn].setCustomValidity(...an)}get autofocus(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get autofocus' called on an object that is not a valid instance of HTMLButtonElement.")}In(Wt);try{return en[sn]._reflectGetTheContentAttribute("autofocus")!==null}finally{rn(Wt)}}set autofocus(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set autofocus' called on an object that is not a valid instance of HTMLButtonElement.")}en=tn["boolean"](en,{context:"Failed to set the 'autofocus' property on 'HTMLButtonElement': The provided value",globals:Wt});In(Wt);try{if(en){nn[sn]._reflectSetTheContentAttribute("autofocus","")}else{nn[sn]._reflectDeleteTheContentAttribute("autofocus")}}finally{rn(Wt)}}get disabled(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get disabled' called on an object that is not a valid instance of HTMLButtonElement.")}In(Wt);try{return en[sn]._reflectGetTheContentAttribute("disabled")!==null}finally{rn(Wt)}}set disabled(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set disabled' called on an object that is not a valid instance of HTMLButtonElement.")}en=tn["boolean"](en,{context:"Failed to set the 'disabled' property on 'HTMLButtonElement': The provided value",globals:Wt});In(Wt);try{if(en){nn[sn]._reflectSetTheContentAttribute("disabled","")}else{nn[sn]._reflectDeleteTheContentAttribute("disabled")}}finally{rn(Wt)}}get form(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get form' called on an object that is not a valid instance of HTMLButtonElement.")}return nn.tryWrapperForImpl(en[sn]["form"])}get formNoValidate(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get formNoValidate' called on an object that is not a valid instance of HTMLButtonElement.")}In(Wt);try{return en[sn]._reflectGetTheContentAttribute("formnovalidate")!==null}finally{rn(Wt)}}set formNoValidate(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set formNoValidate' called on an object that is not a valid instance of HTMLButtonElement.")}en=tn["boolean"](en,{context:"Failed to set the 'formNoValidate' property on 'HTMLButtonElement': The provided value",globals:Wt});In(Wt);try{if(en){nn[sn]._reflectSetTheContentAttribute("formnovalidate","")}else{nn[sn]._reflectDeleteTheContentAttribute("formnovalidate")}}finally{rn(Wt)}}get formTarget(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get formTarget' called on an object that is not a valid instance of HTMLButtonElement.")}In(Wt);try{const Wt=en[sn]._reflectGetTheContentAttribute("formtarget");return Wt===null?"":Wt}finally{rn(Wt)}}set formTarget(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set formTarget' called on an object that is not a valid instance of HTMLButtonElement.")}en=tn["DOMString"](en,{context:"Failed to set the 'formTarget' property on 'HTMLButtonElement': The provided value",globals:Wt});In(Wt);try{nn[sn]._reflectSetTheContentAttribute("formtarget",en)}finally{rn(Wt)}}get name(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get name' called on an object that is not a valid instance of HTMLButtonElement.")}In(Wt);try{const Wt=en[sn]._reflectGetTheContentAttribute("name");return Wt===null?"":Wt}finally{rn(Wt)}}set name(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set name' called on an object that is not a valid instance of HTMLButtonElement.")}en=tn["DOMString"](en,{context:"Failed to set the 'name' property on 'HTMLButtonElement': The provided value",globals:Wt});In(Wt);try{nn[sn]._reflectSetTheContentAttribute("name",en)}finally{rn(Wt)}}get type(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get type' called on an object that is not a valid instance of HTMLButtonElement.")}In(Wt);try{return en[sn]["type"]}finally{rn(Wt)}}set type(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set type' called on an object that is not a valid instance of HTMLButtonElement.")}en=tn["DOMString"](en,{context:"Failed to set the 'type' property on 'HTMLButtonElement': The provided value",globals:Wt});In(Wt);try{nn[sn]["type"]=en}finally{rn(Wt)}}get value(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get value' called on an object that is not a valid instance of HTMLButtonElement.")}In(Wt);try{const Wt=en[sn]._reflectGetTheContentAttribute("value");return Wt===null?"":Wt}finally{rn(Wt)}}set value(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set value' called on an object that is not a valid instance of HTMLButtonElement.")}en=tn["DOMString"](en,{context:"Failed to set the 'value' property on 'HTMLButtonElement': The provided value",globals:Wt});In(Wt);try{nn[sn]._reflectSetTheContentAttribute("value",en)}finally{rn(Wt)}}get willValidate(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get willValidate' called on an object that is not a valid instance of HTMLButtonElement.")}return en[sn]["willValidate"]}get validity(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get validity' called on an object that is not a valid instance of HTMLButtonElement.")}return nn.tryWrapperForImpl(en[sn]["validity"])}get validationMessage(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get validationMessage' called on an object that is not a valid instance of HTMLButtonElement.")}return en[sn]["validationMessage"]}get labels(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get labels' called on an object that is not a valid instance of HTMLButtonElement.")}return nn.tryWrapperForImpl(en[sn]["labels"])}}Object.defineProperties(HTMLButtonElement.prototype,{checkValidity:{enumerable:true},reportValidity:{enumerable:true},setCustomValidity:{enumerable:true},autofocus:{enumerable:true},disabled:{enumerable:true},form:{enumerable:true},formNoValidate:{enumerable:true},formTarget:{enumerable:true},name:{enumerable:true},type:{enumerable:true},value:{enumerable:true},willValidate:{enumerable:true},validity:{enumerable:true},validationMessage:{enumerable:true},labels:{enumerable:true},[Symbol.toStringTag]:{value:"HTMLButtonElement",configurable:true}});on[dn]=HTMLButtonElement;Object.defineProperty(Wt,dn,{configurable:true,writable:true,value:HTMLButtonElement})};const pn=en(3403)},22312:(Wt,Pt,en)=>{const tn=en(37125);const nn=en(87094);const an=en(84175).HTMLConstructor;const In=en(12283);const rn=en(8348).ceReactionsPreSteps;const sn=en(8348).ceReactionsPostSteps;const on=nn.implSymbol;const cn=nn.ctorRegistrySymbol;const dn=en(48708);const un="HTMLCanvasElement";Pt.is=Wt=>nn.isObject(Wt)&&nn.hasOwn(Wt,on)&&Wt[on]instanceof mn.implementation;Pt.isImpl=Wt=>nn.isObject(Wt)&&Wt instanceof mn.implementation;Pt.convert=(Wt,en,{context:tn="The provided value"}={})=>{if(Pt.is(en)){return nn.implForWrapper(en)}throw new Wt.TypeError(`${tn} is not of type 'HTMLCanvasElement'.`)};function makeWrapper(Wt,Pt){let en;if(Pt!==undefined){en=Pt.prototype}if(!nn.isObject(en)){en=Wt[cn]["HTMLCanvasElement"].prototype}return Object.create(en)}Pt.create=(Wt,en,tn)=>{const nn=makeWrapper(Wt);return Pt.setup(nn,Wt,en,tn)};Pt.createImpl=(Wt,en,tn)=>{const an=Pt.create(Wt,en,tn);return nn.implForWrapper(an)};Pt._internalSetup=(Wt,Pt)=>{dn._internalSetup(Wt,Pt)};Pt.setup=(Wt,en,tn=[],an={})=>{an.wrapper=Wt;Pt._internalSetup(Wt,en);Object.defineProperty(Wt,on,{value:new mn.implementation(en,tn,an),configurable:true});Wt[on][nn.wrapperSymbol]=Wt;if(mn.init){mn.init(Wt[on])}return Wt};Pt["new"]=(Wt,en)=>{const tn=makeWrapper(Wt,en);Pt._internalSetup(tn,Wt);Object.defineProperty(tn,on,{value:Object.create(mn.implementation.prototype),configurable:true});tn[on][nn.wrapperSymbol]=tn;if(mn.init){mn.init(tn[on])}return tn[on]};const pn=new Set(["Window"]);Pt.install=(Wt,en)=>{if(!en.some((Wt=>pn.has(Wt)))){return}const cn=nn.initCtorRegistry(Wt);class HTMLCanvasElement extends Wt.HTMLElement{constructor(){return an(Wt,un,new.target)}getContext(en){const an=this!==null&&this!==undefined?this:Wt;if(!Pt.is(an)){throw new Wt.TypeError("'getContext' called on an object that is not a valid instance of HTMLCanvasElement.")}if(arguments.length<1){throw new Wt.TypeError(`Failed to execute 'getContext' on 'HTMLCanvasElement': 1 argument required, but only ${arguments.length} present.`)}const In=[];{let Pt=arguments[0];Pt=tn["DOMString"](Pt,{context:"Failed to execute 'getContext' on 'HTMLCanvasElement': parameter 1",globals:Wt});In.push(Pt)}for(let Pt=1;Pt{const tn=en(37125);const nn=en(87094);const an=nn.implSymbol;const In=nn.ctorRegistrySymbol;const rn="HTMLCollection";Pt.is=Wt=>nn.isObject(Wt)&&nn.hasOwn(Wt,an)&&Wt[an]instanceof cn.implementation;Pt.isImpl=Wt=>nn.isObject(Wt)&&Wt instanceof cn.implementation;Pt.convert=(Wt,en,{context:tn="The provided value"}={})=>{if(Pt.is(en)){return nn.implForWrapper(en)}throw new Wt.TypeError(`${tn} is not of type 'HTMLCollection'.`)};function makeWrapper(Wt,Pt){let en;if(Pt!==undefined){en=Pt.prototype}if(!nn.isObject(en)){en=Wt[In]["HTMLCollection"].prototype}return Object.create(en)}function makeProxy(Wt,Pt){let en=on.get(Pt);if(en===undefined){en=new ProxyHandler(Pt);on.set(Pt,en)}return new Proxy(Wt,en)}Pt.create=(Wt,en,tn)=>{const nn=makeWrapper(Wt);return Pt.setup(nn,Wt,en,tn)};Pt.createImpl=(Wt,en,tn)=>{const an=Pt.create(Wt,en,tn);return nn.implForWrapper(an)};Pt._internalSetup=(Wt,Pt)=>{};Pt.setup=(Wt,en,tn=[],In={})=>{In.wrapper=Wt;Pt._internalSetup(Wt,en);Object.defineProperty(Wt,an,{value:new cn.implementation(en,tn,In),configurable:true});Wt=makeProxy(Wt,en);Wt[an][nn.wrapperSymbol]=Wt;if(cn.init){cn.init(Wt[an])}return Wt};Pt["new"]=(Wt,en)=>{let tn=makeWrapper(Wt,en);Pt._internalSetup(tn,Wt);Object.defineProperty(tn,an,{value:Object.create(cn.implementation.prototype),configurable:true});tn=makeProxy(tn,Wt);tn[an][nn.wrapperSymbol]=tn;if(cn.init){cn.init(tn[an])}return tn[an]};const sn=new Set(["Window"]);Pt.install=(Wt,en)=>{if(!en.some((Wt=>sn.has(Wt)))){return}const In=nn.initCtorRegistry(Wt);class HTMLCollection{constructor(){throw new Wt.TypeError("Illegal constructor")}item(en){const In=this!==null&&this!==undefined?this:Wt;if(!Pt.is(In)){throw new Wt.TypeError("'item' called on an object that is not a valid instance of HTMLCollection.")}if(arguments.length<1){throw new Wt.TypeError(`Failed to execute 'item' on 'HTMLCollection': 1 argument required, but only ${arguments.length} present.`)}const rn=[];{let Pt=arguments[0];Pt=tn["unsigned long"](Pt,{context:"Failed to execute 'item' on 'HTMLCollection': parameter 1",globals:Wt});rn.push(Pt)}return nn.tryWrapperForImpl(In[an].item(...rn))}namedItem(en){const In=this!==null&&this!==undefined?this:Wt;if(!Pt.is(In)){throw new Wt.TypeError("'namedItem' called on an object that is not a valid instance of HTMLCollection.")}if(arguments.length<1){throw new Wt.TypeError(`Failed to execute 'namedItem' on 'HTMLCollection': 1 argument required, but only ${arguments.length} present.`)}const rn=[];{let Pt=arguments[0];Pt=tn["DOMString"](Pt,{context:"Failed to execute 'namedItem' on 'HTMLCollection': parameter 1",globals:Wt});rn.push(Pt)}return nn.tryWrapperForImpl(In[an].namedItem(...rn))}get length(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get length' called on an object that is not a valid instance of HTMLCollection.")}return en[an]["length"]}}Object.defineProperties(HTMLCollection.prototype,{item:{enumerable:true},namedItem:{enumerable:true},length:{enumerable:true},[Symbol.toStringTag]:{value:"HTMLCollection",configurable:true},[Symbol.iterator]:{value:Wt.Array.prototype[Symbol.iterator],configurable:true,writable:true}});In[rn]=HTMLCollection;Object.defineProperty(Wt,rn,{configurable:true,writable:true,value:HTMLCollection})};const on=new WeakMap;class ProxyHandler{constructor(Wt){this._globalObject=Wt}get(Wt,Pt,en){if(typeof Pt==="symbol"){return Reflect.get(Wt,Pt,en)}const tn=this.getOwnPropertyDescriptor(Wt,Pt);if(tn===undefined){const tn=Object.getPrototypeOf(Wt);if(tn===null){return undefined}return Reflect.get(Wt,Pt,en)}if(!tn.get&&!tn.set){return tn.value}const nn=tn.get;if(nn===undefined){return undefined}return Reflect.apply(nn,en,[])}has(Wt,Pt){if(typeof Pt==="symbol"){return Reflect.has(Wt,Pt)}const en=this.getOwnPropertyDescriptor(Wt,Pt);if(en!==undefined){return true}const tn=Object.getPrototypeOf(Wt);if(tn!==null){return Reflect.has(tn,Pt)}return false}ownKeys(Wt){const Pt=new Set;for(const en of Wt[an][nn.supportedPropertyIndices]){Pt.add(`${en}`)}for(const en of Wt[an][nn.supportedPropertyNames]){if(!(en in Wt)){Pt.add(`${en}`)}}for(const en of Reflect.ownKeys(Wt)){Pt.add(en)}return[...Pt]}getOwnPropertyDescriptor(Wt,Pt){if(typeof Pt==="symbol"){return Reflect.getOwnPropertyDescriptor(Wt,Pt)}let en=false;if(nn.isArrayIndexPropName(Pt)){const tn=Pt>>>0;const In=Wt[an].item(tn);if(In!==null){return{writable:false,enumerable:true,configurable:true,value:nn.tryWrapperForImpl(In)}}en=true}const tn=Wt[an].namedItem(Pt);if(tn!==null&&!(Pt in Wt)&&!en){return{writable:false,enumerable:false,configurable:true,value:nn.tryWrapperForImpl(tn)}}return Reflect.getOwnPropertyDescriptor(Wt,Pt)}set(Wt,Pt,en,tn){if(typeof Pt==="symbol"){return Reflect.set(Wt,Pt,en,tn)}if(Wt[an][nn.wrapperSymbol]===tn){const Wt=this._globalObject}let In;if(nn.isArrayIndexPropName(Pt)){const en=Pt>>>0;const tn=Wt[an].item(en);if(tn!==null){In={writable:false,enumerable:true,configurable:true,value:nn.tryWrapperForImpl(tn)}}}if(In===undefined){In=Reflect.getOwnPropertyDescriptor(Wt,Pt)}if(In===undefined){const nn=Reflect.getPrototypeOf(Wt);if(nn!==null){return Reflect.set(nn,Pt,en,tn)}In={writable:true,enumerable:true,configurable:true,value:undefined}}if(!In.writable){return false}if(!nn.isObject(tn)){return false}const rn=Reflect.getOwnPropertyDescriptor(tn,Pt);let sn;if(rn!==undefined){if(rn.get||rn.set){return false}if(!rn.writable){return false}sn={value:en}}else{sn={writable:true,enumerable:true,configurable:true,value:en}}return Reflect.defineProperty(tn,Pt,sn)}defineProperty(Wt,Pt,en){if(typeof Pt==="symbol"){return Reflect.defineProperty(Wt,Pt,en)}const tn=this._globalObject;if(nn.isArrayIndexPropName(Pt)){return false}if(!nn.hasOwn(Wt,Pt)){const en=!(Wt[an].namedItem(Pt)!==null);if(!en){return false}}return Reflect.defineProperty(Wt,Pt,en)}deleteProperty(Wt,Pt){if(typeof Pt==="symbol"){return Reflect.deleteProperty(Wt,Pt)}const en=this._globalObject;if(nn.isArrayIndexPropName(Pt)){const en=Pt>>>0;return!(Wt[an].item(en)!==null)}if(Wt[an].namedItem(Pt)!==null&&!(Pt in Wt)){return false}return Reflect.deleteProperty(Wt,Pt)}preventExtensions(){return false}}const cn=en(76041)},12334:(Wt,Pt,en)=>{const tn=en(37125);const nn=en(87094);const an=en(84175).HTMLConstructor;const In=en(8348).ceReactionsPreSteps;const rn=en(8348).ceReactionsPostSteps;const sn=nn.implSymbol;const on=nn.ctorRegistrySymbol;const cn=en(48708);const dn="HTMLDListElement";Pt.is=Wt=>nn.isObject(Wt)&&nn.hasOwn(Wt,sn)&&Wt[sn]instanceof pn.implementation;Pt.isImpl=Wt=>nn.isObject(Wt)&&Wt instanceof pn.implementation;Pt.convert=(Wt,en,{context:tn="The provided value"}={})=>{if(Pt.is(en)){return nn.implForWrapper(en)}throw new Wt.TypeError(`${tn} is not of type 'HTMLDListElement'.`)};function makeWrapper(Wt,Pt){let en;if(Pt!==undefined){en=Pt.prototype}if(!nn.isObject(en)){en=Wt[on]["HTMLDListElement"].prototype}return Object.create(en)}Pt.create=(Wt,en,tn)=>{const nn=makeWrapper(Wt);return Pt.setup(nn,Wt,en,tn)};Pt.createImpl=(Wt,en,tn)=>{const an=Pt.create(Wt,en,tn);return nn.implForWrapper(an)};Pt._internalSetup=(Wt,Pt)=>{cn._internalSetup(Wt,Pt)};Pt.setup=(Wt,en,tn=[],an={})=>{an.wrapper=Wt;Pt._internalSetup(Wt,en);Object.defineProperty(Wt,sn,{value:new pn.implementation(en,tn,an),configurable:true});Wt[sn][nn.wrapperSymbol]=Wt;if(pn.init){pn.init(Wt[sn])}return Wt};Pt["new"]=(Wt,en)=>{const tn=makeWrapper(Wt,en);Pt._internalSetup(tn,Wt);Object.defineProperty(tn,sn,{value:Object.create(pn.implementation.prototype),configurable:true});tn[sn][nn.wrapperSymbol]=tn;if(pn.init){pn.init(tn[sn])}return tn[sn]};const un=new Set(["Window"]);Pt.install=(Wt,en)=>{if(!en.some((Wt=>un.has(Wt)))){return}const on=nn.initCtorRegistry(Wt);class HTMLDListElement extends Wt.HTMLElement{constructor(){return an(Wt,dn,new.target)}get compact(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get compact' called on an object that is not a valid instance of HTMLDListElement.")}In(Wt);try{return en[sn]._reflectGetTheContentAttribute("compact")!==null}finally{rn(Wt)}}set compact(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set compact' called on an object that is not a valid instance of HTMLDListElement.")}en=tn["boolean"](en,{context:"Failed to set the 'compact' property on 'HTMLDListElement': The provided value",globals:Wt});In(Wt);try{if(en){nn[sn]._reflectSetTheContentAttribute("compact","")}else{nn[sn]._reflectDeleteTheContentAttribute("compact")}}finally{rn(Wt)}}}Object.defineProperties(HTMLDListElement.prototype,{compact:{enumerable:true},[Symbol.toStringTag]:{value:"HTMLDListElement",configurable:true}});on[dn]=HTMLDListElement;Object.defineProperty(Wt,dn,{configurable:true,writable:true,value:HTMLDListElement})};const pn=en(83341)},74452:(Wt,Pt,en)=>{const tn=en(37125);const nn=en(87094);const an=en(84175).HTMLConstructor;const In=en(8348).ceReactionsPreSteps;const rn=en(8348).ceReactionsPostSteps;const sn=nn.implSymbol;const on=nn.ctorRegistrySymbol;const cn=en(48708);const dn="HTMLDataElement";Pt.is=Wt=>nn.isObject(Wt)&&nn.hasOwn(Wt,sn)&&Wt[sn]instanceof pn.implementation;Pt.isImpl=Wt=>nn.isObject(Wt)&&Wt instanceof pn.implementation;Pt.convert=(Wt,en,{context:tn="The provided value"}={})=>{if(Pt.is(en)){return nn.implForWrapper(en)}throw new Wt.TypeError(`${tn} is not of type 'HTMLDataElement'.`)};function makeWrapper(Wt,Pt){let en;if(Pt!==undefined){en=Pt.prototype}if(!nn.isObject(en)){en=Wt[on]["HTMLDataElement"].prototype}return Object.create(en)}Pt.create=(Wt,en,tn)=>{const nn=makeWrapper(Wt);return Pt.setup(nn,Wt,en,tn)};Pt.createImpl=(Wt,en,tn)=>{const an=Pt.create(Wt,en,tn);return nn.implForWrapper(an)};Pt._internalSetup=(Wt,Pt)=>{cn._internalSetup(Wt,Pt)};Pt.setup=(Wt,en,tn=[],an={})=>{an.wrapper=Wt;Pt._internalSetup(Wt,en);Object.defineProperty(Wt,sn,{value:new pn.implementation(en,tn,an),configurable:true});Wt[sn][nn.wrapperSymbol]=Wt;if(pn.init){pn.init(Wt[sn])}return Wt};Pt["new"]=(Wt,en)=>{const tn=makeWrapper(Wt,en);Pt._internalSetup(tn,Wt);Object.defineProperty(tn,sn,{value:Object.create(pn.implementation.prototype),configurable:true});tn[sn][nn.wrapperSymbol]=tn;if(pn.init){pn.init(tn[sn])}return tn[sn]};const un=new Set(["Window"]);Pt.install=(Wt,en)=>{if(!en.some((Wt=>un.has(Wt)))){return}const on=nn.initCtorRegistry(Wt);class HTMLDataElement extends Wt.HTMLElement{constructor(){return an(Wt,dn,new.target)}get value(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get value' called on an object that is not a valid instance of HTMLDataElement.")}In(Wt);try{const Wt=en[sn]._reflectGetTheContentAttribute("value");return Wt===null?"":Wt}finally{rn(Wt)}}set value(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set value' called on an object that is not a valid instance of HTMLDataElement.")}en=tn["DOMString"](en,{context:"Failed to set the 'value' property on 'HTMLDataElement': The provided value",globals:Wt});In(Wt);try{nn[sn]._reflectSetTheContentAttribute("value",en)}finally{rn(Wt)}}}Object.defineProperties(HTMLDataElement.prototype,{value:{enumerable:true},[Symbol.toStringTag]:{value:"HTMLDataElement",configurable:true}});on[dn]=HTMLDataElement;Object.defineProperty(Wt,dn,{configurable:true,writable:true,value:HTMLDataElement})};const pn=en(2615)},89272:(Wt,Pt,en)=>{const tn=en(37125);const nn=en(87094);const an=en(84175).HTMLConstructor;const In=nn.implSymbol;const rn=nn.ctorRegistrySymbol;const sn=en(48708);const on="HTMLDataListElement";Pt.is=Wt=>nn.isObject(Wt)&&nn.hasOwn(Wt,In)&&Wt[In]instanceof dn.implementation;Pt.isImpl=Wt=>nn.isObject(Wt)&&Wt instanceof dn.implementation;Pt.convert=(Wt,en,{context:tn="The provided value"}={})=>{if(Pt.is(en)){return nn.implForWrapper(en)}throw new Wt.TypeError(`${tn} is not of type 'HTMLDataListElement'.`)};function makeWrapper(Wt,Pt){let en;if(Pt!==undefined){en=Pt.prototype}if(!nn.isObject(en)){en=Wt[rn]["HTMLDataListElement"].prototype}return Object.create(en)}Pt.create=(Wt,en,tn)=>{const nn=makeWrapper(Wt);return Pt.setup(nn,Wt,en,tn)};Pt.createImpl=(Wt,en,tn)=>{const an=Pt.create(Wt,en,tn);return nn.implForWrapper(an)};Pt._internalSetup=(Wt,Pt)=>{sn._internalSetup(Wt,Pt)};Pt.setup=(Wt,en,tn=[],an={})=>{an.wrapper=Wt;Pt._internalSetup(Wt,en);Object.defineProperty(Wt,In,{value:new dn.implementation(en,tn,an),configurable:true});Wt[In][nn.wrapperSymbol]=Wt;if(dn.init){dn.init(Wt[In])}return Wt};Pt["new"]=(Wt,en)=>{const tn=makeWrapper(Wt,en);Pt._internalSetup(tn,Wt);Object.defineProperty(tn,In,{value:Object.create(dn.implementation.prototype),configurable:true});tn[In][nn.wrapperSymbol]=tn;if(dn.init){dn.init(tn[In])}return tn[In]};const cn=new Set(["Window"]);Pt.install=(Wt,en)=>{if(!en.some((Wt=>cn.has(Wt)))){return}const tn=nn.initCtorRegistry(Wt);class HTMLDataListElement extends Wt.HTMLElement{constructor(){return an(Wt,on,new.target)}get options(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get options' called on an object that is not a valid instance of HTMLDataListElement.")}return nn.getSameObject(this,"options",(()=>nn.tryWrapperForImpl(en[In]["options"])))}}Object.defineProperties(HTMLDataListElement.prototype,{options:{enumerable:true},[Symbol.toStringTag]:{value:"HTMLDataListElement",configurable:true}});tn[on]=HTMLDataListElement;Object.defineProperty(Wt,on,{configurable:true,writable:true,value:HTMLDataListElement})};const dn=en(31483)},88796:(Wt,Pt,en)=>{const tn=en(37125);const nn=en(87094);const an=en(84175).HTMLConstructor;const In=en(8348).ceReactionsPreSteps;const rn=en(8348).ceReactionsPostSteps;const sn=nn.implSymbol;const on=nn.ctorRegistrySymbol;const cn=en(48708);const dn="HTMLDetailsElement";Pt.is=Wt=>nn.isObject(Wt)&&nn.hasOwn(Wt,sn)&&Wt[sn]instanceof pn.implementation;Pt.isImpl=Wt=>nn.isObject(Wt)&&Wt instanceof pn.implementation;Pt.convert=(Wt,en,{context:tn="The provided value"}={})=>{if(Pt.is(en)){return nn.implForWrapper(en)}throw new Wt.TypeError(`${tn} is not of type 'HTMLDetailsElement'.`)};function makeWrapper(Wt,Pt){let en;if(Pt!==undefined){en=Pt.prototype}if(!nn.isObject(en)){en=Wt[on]["HTMLDetailsElement"].prototype}return Object.create(en)}Pt.create=(Wt,en,tn)=>{const nn=makeWrapper(Wt);return Pt.setup(nn,Wt,en,tn)};Pt.createImpl=(Wt,en,tn)=>{const an=Pt.create(Wt,en,tn);return nn.implForWrapper(an)};Pt._internalSetup=(Wt,Pt)=>{cn._internalSetup(Wt,Pt)};Pt.setup=(Wt,en,tn=[],an={})=>{an.wrapper=Wt;Pt._internalSetup(Wt,en);Object.defineProperty(Wt,sn,{value:new pn.implementation(en,tn,an),configurable:true});Wt[sn][nn.wrapperSymbol]=Wt;if(pn.init){pn.init(Wt[sn])}return Wt};Pt["new"]=(Wt,en)=>{const tn=makeWrapper(Wt,en);Pt._internalSetup(tn,Wt);Object.defineProperty(tn,sn,{value:Object.create(pn.implementation.prototype),configurable:true});tn[sn][nn.wrapperSymbol]=tn;if(pn.init){pn.init(tn[sn])}return tn[sn]};const un=new Set(["Window"]);Pt.install=(Wt,en)=>{if(!en.some((Wt=>un.has(Wt)))){return}const on=nn.initCtorRegistry(Wt);class HTMLDetailsElement extends Wt.HTMLElement{constructor(){return an(Wt,dn,new.target)}get open(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get open' called on an object that is not a valid instance of HTMLDetailsElement.")}In(Wt);try{return en[sn]._reflectGetTheContentAttribute("open")!==null}finally{rn(Wt)}}set open(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set open' called on an object that is not a valid instance of HTMLDetailsElement.")}en=tn["boolean"](en,{context:"Failed to set the 'open' property on 'HTMLDetailsElement': The provided value",globals:Wt});In(Wt);try{if(en){nn[sn]._reflectSetTheContentAttribute("open","")}else{nn[sn]._reflectDeleteTheContentAttribute("open")}}finally{rn(Wt)}}}Object.defineProperties(HTMLDetailsElement.prototype,{open:{enumerable:true},[Symbol.toStringTag]:{value:"HTMLDetailsElement",configurable:true}});on[dn]=HTMLDetailsElement;Object.defineProperty(Wt,dn,{configurable:true,writable:true,value:HTMLDetailsElement})};const pn=en(19175)},55328:(Wt,Pt,en)=>{const tn=en(37125);const nn=en(87094);const an=en(84175).HTMLConstructor;const In=en(8348).ceReactionsPreSteps;const rn=en(8348).ceReactionsPostSteps;const sn=nn.implSymbol;const on=nn.ctorRegistrySymbol;const cn=en(48708);const dn="HTMLDialogElement";Pt.is=Wt=>nn.isObject(Wt)&&nn.hasOwn(Wt,sn)&&Wt[sn]instanceof pn.implementation;Pt.isImpl=Wt=>nn.isObject(Wt)&&Wt instanceof pn.implementation;Pt.convert=(Wt,en,{context:tn="The provided value"}={})=>{if(Pt.is(en)){return nn.implForWrapper(en)}throw new Wt.TypeError(`${tn} is not of type 'HTMLDialogElement'.`)};function makeWrapper(Wt,Pt){let en;if(Pt!==undefined){en=Pt.prototype}if(!nn.isObject(en)){en=Wt[on]["HTMLDialogElement"].prototype}return Object.create(en)}Pt.create=(Wt,en,tn)=>{const nn=makeWrapper(Wt);return Pt.setup(nn,Wt,en,tn)};Pt.createImpl=(Wt,en,tn)=>{const an=Pt.create(Wt,en,tn);return nn.implForWrapper(an)};Pt._internalSetup=(Wt,Pt)=>{cn._internalSetup(Wt,Pt)};Pt.setup=(Wt,en,tn=[],an={})=>{an.wrapper=Wt;Pt._internalSetup(Wt,en);Object.defineProperty(Wt,sn,{value:new pn.implementation(en,tn,an),configurable:true});Wt[sn][nn.wrapperSymbol]=Wt;if(pn.init){pn.init(Wt[sn])}return Wt};Pt["new"]=(Wt,en)=>{const tn=makeWrapper(Wt,en);Pt._internalSetup(tn,Wt);Object.defineProperty(tn,sn,{value:Object.create(pn.implementation.prototype),configurable:true});tn[sn][nn.wrapperSymbol]=tn;if(pn.init){pn.init(tn[sn])}return tn[sn]};const un=new Set(["Window"]);Pt.install=(Wt,en)=>{if(!en.some((Wt=>un.has(Wt)))){return}const on=nn.initCtorRegistry(Wt);class HTMLDialogElement extends Wt.HTMLElement{constructor(){return an(Wt,dn,new.target)}get open(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get open' called on an object that is not a valid instance of HTMLDialogElement.")}In(Wt);try{return en[sn]._reflectGetTheContentAttribute("open")!==null}finally{rn(Wt)}}set open(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set open' called on an object that is not a valid instance of HTMLDialogElement.")}en=tn["boolean"](en,{context:"Failed to set the 'open' property on 'HTMLDialogElement': The provided value",globals:Wt});In(Wt);try{if(en){nn[sn]._reflectSetTheContentAttribute("open","")}else{nn[sn]._reflectDeleteTheContentAttribute("open")}}finally{rn(Wt)}}}Object.defineProperties(HTMLDialogElement.prototype,{open:{enumerable:true},[Symbol.toStringTag]:{value:"HTMLDialogElement",configurable:true}});on[dn]=HTMLDialogElement;Object.defineProperty(Wt,dn,{configurable:true,writable:true,value:HTMLDialogElement})};const pn=en(96563)},69559:(Wt,Pt,en)=>{const tn=en(37125);const nn=en(87094);const an=en(84175).HTMLConstructor;const In=en(8348).ceReactionsPreSteps;const rn=en(8348).ceReactionsPostSteps;const sn=nn.implSymbol;const on=nn.ctorRegistrySymbol;const cn=en(48708);const dn="HTMLDirectoryElement";Pt.is=Wt=>nn.isObject(Wt)&&nn.hasOwn(Wt,sn)&&Wt[sn]instanceof pn.implementation;Pt.isImpl=Wt=>nn.isObject(Wt)&&Wt instanceof pn.implementation;Pt.convert=(Wt,en,{context:tn="The provided value"}={})=>{if(Pt.is(en)){return nn.implForWrapper(en)}throw new Wt.TypeError(`${tn} is not of type 'HTMLDirectoryElement'.`)};function makeWrapper(Wt,Pt){let en;if(Pt!==undefined){en=Pt.prototype}if(!nn.isObject(en)){en=Wt[on]["HTMLDirectoryElement"].prototype}return Object.create(en)}Pt.create=(Wt,en,tn)=>{const nn=makeWrapper(Wt);return Pt.setup(nn,Wt,en,tn)};Pt.createImpl=(Wt,en,tn)=>{const an=Pt.create(Wt,en,tn);return nn.implForWrapper(an)};Pt._internalSetup=(Wt,Pt)=>{cn._internalSetup(Wt,Pt)};Pt.setup=(Wt,en,tn=[],an={})=>{an.wrapper=Wt;Pt._internalSetup(Wt,en);Object.defineProperty(Wt,sn,{value:new pn.implementation(en,tn,an),configurable:true});Wt[sn][nn.wrapperSymbol]=Wt;if(pn.init){pn.init(Wt[sn])}return Wt};Pt["new"]=(Wt,en)=>{const tn=makeWrapper(Wt,en);Pt._internalSetup(tn,Wt);Object.defineProperty(tn,sn,{value:Object.create(pn.implementation.prototype),configurable:true});tn[sn][nn.wrapperSymbol]=tn;if(pn.init){pn.init(tn[sn])}return tn[sn]};const un=new Set(["Window"]);Pt.install=(Wt,en)=>{if(!en.some((Wt=>un.has(Wt)))){return}const on=nn.initCtorRegistry(Wt);class HTMLDirectoryElement extends Wt.HTMLElement{constructor(){return an(Wt,dn,new.target)}get compact(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get compact' called on an object that is not a valid instance of HTMLDirectoryElement.")}In(Wt);try{return en[sn]._reflectGetTheContentAttribute("compact")!==null}finally{rn(Wt)}}set compact(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set compact' called on an object that is not a valid instance of HTMLDirectoryElement.")}en=tn["boolean"](en,{context:"Failed to set the 'compact' property on 'HTMLDirectoryElement': The provided value",globals:Wt});In(Wt);try{if(en){nn[sn]._reflectSetTheContentAttribute("compact","")}else{nn[sn]._reflectDeleteTheContentAttribute("compact")}}finally{rn(Wt)}}}Object.defineProperties(HTMLDirectoryElement.prototype,{compact:{enumerable:true},[Symbol.toStringTag]:{value:"HTMLDirectoryElement",configurable:true}});on[dn]=HTMLDirectoryElement;Object.defineProperty(Wt,dn,{configurable:true,writable:true,value:HTMLDirectoryElement})};const pn=en(69158)},32567:(Wt,Pt,en)=>{const tn=en(37125);const nn=en(87094);const an=en(84175).HTMLConstructor;const In=en(8348).ceReactionsPreSteps;const rn=en(8348).ceReactionsPostSteps;const sn=nn.implSymbol;const on=nn.ctorRegistrySymbol;const cn=en(48708);const dn="HTMLDivElement";Pt.is=Wt=>nn.isObject(Wt)&&nn.hasOwn(Wt,sn)&&Wt[sn]instanceof pn.implementation;Pt.isImpl=Wt=>nn.isObject(Wt)&&Wt instanceof pn.implementation;Pt.convert=(Wt,en,{context:tn="The provided value"}={})=>{if(Pt.is(en)){return nn.implForWrapper(en)}throw new Wt.TypeError(`${tn} is not of type 'HTMLDivElement'.`)};function makeWrapper(Wt,Pt){let en;if(Pt!==undefined){en=Pt.prototype}if(!nn.isObject(en)){en=Wt[on]["HTMLDivElement"].prototype}return Object.create(en)}Pt.create=(Wt,en,tn)=>{const nn=makeWrapper(Wt);return Pt.setup(nn,Wt,en,tn)};Pt.createImpl=(Wt,en,tn)=>{const an=Pt.create(Wt,en,tn);return nn.implForWrapper(an)};Pt._internalSetup=(Wt,Pt)=>{cn._internalSetup(Wt,Pt)};Pt.setup=(Wt,en,tn=[],an={})=>{an.wrapper=Wt;Pt._internalSetup(Wt,en);Object.defineProperty(Wt,sn,{value:new pn.implementation(en,tn,an),configurable:true});Wt[sn][nn.wrapperSymbol]=Wt;if(pn.init){pn.init(Wt[sn])}return Wt};Pt["new"]=(Wt,en)=>{const tn=makeWrapper(Wt,en);Pt._internalSetup(tn,Wt);Object.defineProperty(tn,sn,{value:Object.create(pn.implementation.prototype),configurable:true});tn[sn][nn.wrapperSymbol]=tn;if(pn.init){pn.init(tn[sn])}return tn[sn]};const un=new Set(["Window"]);Pt.install=(Wt,en)=>{if(!en.some((Wt=>un.has(Wt)))){return}const on=nn.initCtorRegistry(Wt);class HTMLDivElement extends Wt.HTMLElement{constructor(){return an(Wt,dn,new.target)}get align(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get align' called on an object that is not a valid instance of HTMLDivElement.")}In(Wt);try{const Wt=en[sn]._reflectGetTheContentAttribute("align");return Wt===null?"":Wt}finally{rn(Wt)}}set align(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set align' called on an object that is not a valid instance of HTMLDivElement.")}en=tn["DOMString"](en,{context:"Failed to set the 'align' property on 'HTMLDivElement': The provided value",globals:Wt});In(Wt);try{nn[sn]._reflectSetTheContentAttribute("align",en)}finally{rn(Wt)}}}Object.defineProperties(HTMLDivElement.prototype,{align:{enumerable:true},[Symbol.toStringTag]:{value:"HTMLDivElement",configurable:true}});on[dn]=HTMLDivElement;Object.defineProperty(Wt,dn,{configurable:true,writable:true,value:HTMLDivElement})};const pn=en(93702)},48708:(Wt,Pt,en)=>{const tn=en(37125);const nn=en(87094);const an=en(84175).HTMLConstructor;const In=en(8348).ceReactionsPreSteps;const rn=en(8348).ceReactionsPostSteps;const sn=en(69117);const on=en(54414);const cn=nn.implSymbol;const dn=nn.ctorRegistrySymbol;const un=en(41423);const pn="HTMLElement";Pt.is=Wt=>nn.isObject(Wt)&&nn.hasOwn(Wt,cn)&&Wt[cn]instanceof bn.implementation;Pt.isImpl=Wt=>nn.isObject(Wt)&&Wt instanceof bn.implementation;Pt.convert=(Wt,en,{context:tn="The provided value"}={})=>{if(Pt.is(en)){return nn.implForWrapper(en)}throw new Wt.TypeError(`${tn} is not of type 'HTMLElement'.`)};function makeWrapper(Wt,Pt){let en;if(Pt!==undefined){en=Pt.prototype}if(!nn.isObject(en)){en=Wt[dn]["HTMLElement"].prototype}return Object.create(en)}Pt.create=(Wt,en,tn)=>{const nn=makeWrapper(Wt);return Pt.setup(nn,Wt,en,tn)};Pt.createImpl=(Wt,en,tn)=>{const an=Pt.create(Wt,en,tn);return nn.implForWrapper(an)};Pt._internalSetup=(Wt,Pt)=>{un._internalSetup(Wt,Pt)};Pt.setup=(Wt,en,tn=[],an={})=>{an.wrapper=Wt;Pt._internalSetup(Wt,en);Object.defineProperty(Wt,cn,{value:new bn.implementation(en,tn,an),configurable:true});Wt[cn][nn.wrapperSymbol]=Wt;if(bn.init){bn.init(Wt[cn])}return Wt};Pt["new"]=(Wt,en)=>{const tn=makeWrapper(Wt,en);Pt._internalSetup(tn,Wt);Object.defineProperty(tn,cn,{value:Object.create(bn.implementation.prototype),configurable:true});tn[cn][nn.wrapperSymbol]=tn;if(bn.init){bn.init(tn[cn])}return tn[cn]};const mn=new Set(["Window"]);Pt.install=(Wt,en)=>{if(!en.some((Wt=>mn.has(Wt)))){return}const dn=nn.initCtorRegistry(Wt);class HTMLElement extends Wt.Element{constructor(){return an(Wt,pn,new.target)}click(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'click' called on an object that is not a valid instance of HTMLElement.")}return en[cn].click()}attachInternals(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'attachInternals' called on an object that is not a valid instance of HTMLElement.")}return nn.tryWrapperForImpl(en[cn].attachInternals())}focus(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'focus' called on an object that is not a valid instance of HTMLElement.")}return en[cn].focus()}blur(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'blur' called on an object that is not a valid instance of HTMLElement.")}return en[cn].blur()}get title(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get title' called on an object that is not a valid instance of HTMLElement.")}In(Wt);try{const Wt=en[cn]._reflectGetTheContentAttribute("title");return Wt===null?"":Wt}finally{rn(Wt)}}set title(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set title' called on an object that is not a valid instance of HTMLElement.")}en=tn["DOMString"](en,{context:"Failed to set the 'title' property on 'HTMLElement': The provided value",globals:Wt});In(Wt);try{nn[cn]._reflectSetTheContentAttribute("title",en)}finally{rn(Wt)}}get lang(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get lang' called on an object that is not a valid instance of HTMLElement.")}In(Wt);try{const Wt=en[cn]._reflectGetTheContentAttribute("lang");return Wt===null?"":Wt}finally{rn(Wt)}}set lang(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set lang' called on an object that is not a valid instance of HTMLElement.")}en=tn["DOMString"](en,{context:"Failed to set the 'lang' property on 'HTMLElement': The provided value",globals:Wt});In(Wt);try{nn[cn]._reflectSetTheContentAttribute("lang",en)}finally{rn(Wt)}}get translate(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get translate' called on an object that is not a valid instance of HTMLElement.")}In(Wt);try{return en[cn]["translate"]}finally{rn(Wt)}}set translate(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set translate' called on an object that is not a valid instance of HTMLElement.")}en=tn["boolean"](en,{context:"Failed to set the 'translate' property on 'HTMLElement': The provided value",globals:Wt});In(Wt);try{nn[cn]["translate"]=en}finally{rn(Wt)}}get dir(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get dir' called on an object that is not a valid instance of HTMLElement.")}In(Wt);try{return en[cn]["dir"]}finally{rn(Wt)}}set dir(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set dir' called on an object that is not a valid instance of HTMLElement.")}en=tn["DOMString"](en,{context:"Failed to set the 'dir' property on 'HTMLElement': The provided value",globals:Wt});In(Wt);try{nn[cn]["dir"]=en}finally{rn(Wt)}}get hidden(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get hidden' called on an object that is not a valid instance of HTMLElement.")}In(Wt);try{return en[cn]._reflectGetTheContentAttribute("hidden")!==null}finally{rn(Wt)}}set hidden(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set hidden' called on an object that is not a valid instance of HTMLElement.")}en=tn["boolean"](en,{context:"Failed to set the 'hidden' property on 'HTMLElement': The provided value",globals:Wt});In(Wt);try{if(en){nn[cn]._reflectSetTheContentAttribute("hidden","")}else{nn[cn]._reflectDeleteTheContentAttribute("hidden")}}finally{rn(Wt)}}get accessKey(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get accessKey' called on an object that is not a valid instance of HTMLElement.")}In(Wt);try{const Wt=en[cn]._reflectGetTheContentAttribute("accesskey");return Wt===null?"":Wt}finally{rn(Wt)}}set accessKey(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set accessKey' called on an object that is not a valid instance of HTMLElement.")}en=tn["DOMString"](en,{context:"Failed to set the 'accessKey' property on 'HTMLElement': The provided value",globals:Wt});In(Wt);try{nn[cn]._reflectSetTheContentAttribute("accesskey",en)}finally{rn(Wt)}}get draggable(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get draggable' called on an object that is not a valid instance of HTMLElement.")}In(Wt);try{return en[cn]["draggable"]}finally{rn(Wt)}}set draggable(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set draggable' called on an object that is not a valid instance of HTMLElement.")}en=tn["boolean"](en,{context:"Failed to set the 'draggable' property on 'HTMLElement': The provided value",globals:Wt});In(Wt);try{nn[cn]["draggable"]=en}finally{rn(Wt)}}get offsetParent(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get offsetParent' called on an object that is not a valid instance of HTMLElement.")}return nn.tryWrapperForImpl(en[cn]["offsetParent"])}get offsetTop(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get offsetTop' called on an object that is not a valid instance of HTMLElement.")}return en[cn]["offsetTop"]}get offsetLeft(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get offsetLeft' called on an object that is not a valid instance of HTMLElement.")}return en[cn]["offsetLeft"]}get offsetWidth(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get offsetWidth' called on an object that is not a valid instance of HTMLElement.")}return en[cn]["offsetWidth"]}get offsetHeight(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get offsetHeight' called on an object that is not a valid instance of HTMLElement.")}return en[cn]["offsetHeight"]}get style(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get style' called on an object that is not a valid instance of HTMLElement.")}return nn.getSameObject(this,"style",(()=>nn.tryWrapperForImpl(en[cn]["style"])))}set style(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set style' called on an object that is not a valid instance of HTMLElement.")}const an=tn["style"];if(!nn.isObject(an)){throw new Wt.TypeError("Property 'style' is not an object")}Reflect.set(an,"cssText",en)}get onabort(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get onabort' called on an object that is not a valid instance of HTMLElement.")}return nn.tryWrapperForImpl(en[cn]["onabort"])}set onabort(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set onabort' called on an object that is not a valid instance of HTMLElement.")}if(!nn.isObject(en)){en=null}else{en=sn.convert(Wt,en,{context:"Failed to set the 'onabort' property on 'HTMLElement': The provided value"})}tn[cn]["onabort"]=en}get onauxclick(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get onauxclick' called on an object that is not a valid instance of HTMLElement.")}return nn.tryWrapperForImpl(en[cn]["onauxclick"])}set onauxclick(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set onauxclick' called on an object that is not a valid instance of HTMLElement.")}if(!nn.isObject(en)){en=null}else{en=sn.convert(Wt,en,{context:"Failed to set the 'onauxclick' property on 'HTMLElement': The provided value"})}tn[cn]["onauxclick"]=en}get onbeforeinput(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get onbeforeinput' called on an object that is not a valid instance of HTMLElement.")}return nn.tryWrapperForImpl(en[cn]["onbeforeinput"])}set onbeforeinput(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set onbeforeinput' called on an object that is not a valid instance of HTMLElement.")}if(!nn.isObject(en)){en=null}else{en=sn.convert(Wt,en,{context:"Failed to set the 'onbeforeinput' property on 'HTMLElement': The provided value"})}tn[cn]["onbeforeinput"]=en}get onbeforematch(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get onbeforematch' called on an object that is not a valid instance of HTMLElement.")}return nn.tryWrapperForImpl(en[cn]["onbeforematch"])}set onbeforematch(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set onbeforematch' called on an object that is not a valid instance of HTMLElement.")}if(!nn.isObject(en)){en=null}else{en=sn.convert(Wt,en,{context:"Failed to set the 'onbeforematch' property on 'HTMLElement': The provided value"})}tn[cn]["onbeforematch"]=en}get onbeforetoggle(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get onbeforetoggle' called on an object that is not a valid instance of HTMLElement.")}return nn.tryWrapperForImpl(en[cn]["onbeforetoggle"])}set onbeforetoggle(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set onbeforetoggle' called on an object that is not a valid instance of HTMLElement.")}if(!nn.isObject(en)){en=null}else{en=sn.convert(Wt,en,{context:"Failed to set the 'onbeforetoggle' property on 'HTMLElement': The provided value"})}tn[cn]["onbeforetoggle"]=en}get onblur(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get onblur' called on an object that is not a valid instance of HTMLElement.")}return nn.tryWrapperForImpl(en[cn]["onblur"])}set onblur(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set onblur' called on an object that is not a valid instance of HTMLElement.")}if(!nn.isObject(en)){en=null}else{en=sn.convert(Wt,en,{context:"Failed to set the 'onblur' property on 'HTMLElement': The provided value"})}tn[cn]["onblur"]=en}get oncancel(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get oncancel' called on an object that is not a valid instance of HTMLElement.")}return nn.tryWrapperForImpl(en[cn]["oncancel"])}set oncancel(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set oncancel' called on an object that is not a valid instance of HTMLElement.")}if(!nn.isObject(en)){en=null}else{en=sn.convert(Wt,en,{context:"Failed to set the 'oncancel' property on 'HTMLElement': The provided value"})}tn[cn]["oncancel"]=en}get oncanplay(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get oncanplay' called on an object that is not a valid instance of HTMLElement.")}return nn.tryWrapperForImpl(en[cn]["oncanplay"])}set oncanplay(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set oncanplay' called on an object that is not a valid instance of HTMLElement.")}if(!nn.isObject(en)){en=null}else{en=sn.convert(Wt,en,{context:"Failed to set the 'oncanplay' property on 'HTMLElement': The provided value"})}tn[cn]["oncanplay"]=en}get oncanplaythrough(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get oncanplaythrough' called on an object that is not a valid instance of HTMLElement.")}return nn.tryWrapperForImpl(en[cn]["oncanplaythrough"])}set oncanplaythrough(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set oncanplaythrough' called on an object that is not a valid instance of HTMLElement.")}if(!nn.isObject(en)){en=null}else{en=sn.convert(Wt,en,{context:"Failed to set the 'oncanplaythrough' property on 'HTMLElement': The provided value"})}tn[cn]["oncanplaythrough"]=en}get onchange(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get onchange' called on an object that is not a valid instance of HTMLElement.")}return nn.tryWrapperForImpl(en[cn]["onchange"])}set onchange(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set onchange' called on an object that is not a valid instance of HTMLElement.")}if(!nn.isObject(en)){en=null}else{en=sn.convert(Wt,en,{context:"Failed to set the 'onchange' property on 'HTMLElement': The provided value"})}tn[cn]["onchange"]=en}get onclick(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get onclick' called on an object that is not a valid instance of HTMLElement.")}return nn.tryWrapperForImpl(en[cn]["onclick"])}set onclick(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set onclick' called on an object that is not a valid instance of HTMLElement.")}if(!nn.isObject(en)){en=null}else{en=sn.convert(Wt,en,{context:"Failed to set the 'onclick' property on 'HTMLElement': The provided value"})}tn[cn]["onclick"]=en}get onclose(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get onclose' called on an object that is not a valid instance of HTMLElement.")}return nn.tryWrapperForImpl(en[cn]["onclose"])}set onclose(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set onclose' called on an object that is not a valid instance of HTMLElement.")}if(!nn.isObject(en)){en=null}else{en=sn.convert(Wt,en,{context:"Failed to set the 'onclose' property on 'HTMLElement': The provided value"})}tn[cn]["onclose"]=en}get oncontextlost(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get oncontextlost' called on an object that is not a valid instance of HTMLElement.")}return nn.tryWrapperForImpl(en[cn]["oncontextlost"])}set oncontextlost(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set oncontextlost' called on an object that is not a valid instance of HTMLElement.")}if(!nn.isObject(en)){en=null}else{en=sn.convert(Wt,en,{context:"Failed to set the 'oncontextlost' property on 'HTMLElement': The provided value"})}tn[cn]["oncontextlost"]=en}get oncontextmenu(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get oncontextmenu' called on an object that is not a valid instance of HTMLElement.")}return nn.tryWrapperForImpl(en[cn]["oncontextmenu"])}set oncontextmenu(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set oncontextmenu' called on an object that is not a valid instance of HTMLElement.")}if(!nn.isObject(en)){en=null}else{en=sn.convert(Wt,en,{context:"Failed to set the 'oncontextmenu' property on 'HTMLElement': The provided value"})}tn[cn]["oncontextmenu"]=en}get oncontextrestored(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get oncontextrestored' called on an object that is not a valid instance of HTMLElement.")}return nn.tryWrapperForImpl(en[cn]["oncontextrestored"])}set oncontextrestored(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set oncontextrestored' called on an object that is not a valid instance of HTMLElement.")}if(!nn.isObject(en)){en=null}else{en=sn.convert(Wt,en,{context:"Failed to set the 'oncontextrestored' property on 'HTMLElement': The provided value"})}tn[cn]["oncontextrestored"]=en}get oncopy(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get oncopy' called on an object that is not a valid instance of HTMLElement.")}return nn.tryWrapperForImpl(en[cn]["oncopy"])}set oncopy(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set oncopy' called on an object that is not a valid instance of HTMLElement.")}if(!nn.isObject(en)){en=null}else{en=sn.convert(Wt,en,{context:"Failed to set the 'oncopy' property on 'HTMLElement': The provided value"})}tn[cn]["oncopy"]=en}get oncuechange(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get oncuechange' called on an object that is not a valid instance of HTMLElement.")}return nn.tryWrapperForImpl(en[cn]["oncuechange"])}set oncuechange(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set oncuechange' called on an object that is not a valid instance of HTMLElement.")}if(!nn.isObject(en)){en=null}else{en=sn.convert(Wt,en,{context:"Failed to set the 'oncuechange' property on 'HTMLElement': The provided value"})}tn[cn]["oncuechange"]=en}get oncut(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get oncut' called on an object that is not a valid instance of HTMLElement.")}return nn.tryWrapperForImpl(en[cn]["oncut"])}set oncut(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set oncut' called on an object that is not a valid instance of HTMLElement.")}if(!nn.isObject(en)){en=null}else{en=sn.convert(Wt,en,{context:"Failed to set the 'oncut' property on 'HTMLElement': The provided value"})}tn[cn]["oncut"]=en}get ondblclick(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get ondblclick' called on an object that is not a valid instance of HTMLElement.")}return nn.tryWrapperForImpl(en[cn]["ondblclick"])}set ondblclick(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set ondblclick' called on an object that is not a valid instance of HTMLElement.")}if(!nn.isObject(en)){en=null}else{en=sn.convert(Wt,en,{context:"Failed to set the 'ondblclick' property on 'HTMLElement': The provided value"})}tn[cn]["ondblclick"]=en}get ondrag(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get ondrag' called on an object that is not a valid instance of HTMLElement.")}return nn.tryWrapperForImpl(en[cn]["ondrag"])}set ondrag(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set ondrag' called on an object that is not a valid instance of HTMLElement.")}if(!nn.isObject(en)){en=null}else{en=sn.convert(Wt,en,{context:"Failed to set the 'ondrag' property on 'HTMLElement': The provided value"})}tn[cn]["ondrag"]=en}get ondragend(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get ondragend' called on an object that is not a valid instance of HTMLElement.")}return nn.tryWrapperForImpl(en[cn]["ondragend"])}set ondragend(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set ondragend' called on an object that is not a valid instance of HTMLElement.")}if(!nn.isObject(en)){en=null}else{en=sn.convert(Wt,en,{context:"Failed to set the 'ondragend' property on 'HTMLElement': The provided value"})}tn[cn]["ondragend"]=en}get ondragenter(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get ondragenter' called on an object that is not a valid instance of HTMLElement.")}return nn.tryWrapperForImpl(en[cn]["ondragenter"])}set ondragenter(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set ondragenter' called on an object that is not a valid instance of HTMLElement.")}if(!nn.isObject(en)){en=null}else{en=sn.convert(Wt,en,{context:"Failed to set the 'ondragenter' property on 'HTMLElement': The provided value"})}tn[cn]["ondragenter"]=en}get ondragleave(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get ondragleave' called on an object that is not a valid instance of HTMLElement.")}return nn.tryWrapperForImpl(en[cn]["ondragleave"])}set ondragleave(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set ondragleave' called on an object that is not a valid instance of HTMLElement.")}if(!nn.isObject(en)){en=null}else{en=sn.convert(Wt,en,{context:"Failed to set the 'ondragleave' property on 'HTMLElement': The provided value"})}tn[cn]["ondragleave"]=en}get ondragover(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get ondragover' called on an object that is not a valid instance of HTMLElement.")}return nn.tryWrapperForImpl(en[cn]["ondragover"])}set ondragover(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set ondragover' called on an object that is not a valid instance of HTMLElement.")}if(!nn.isObject(en)){en=null}else{en=sn.convert(Wt,en,{context:"Failed to set the 'ondragover' property on 'HTMLElement': The provided value"})}tn[cn]["ondragover"]=en}get ondragstart(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get ondragstart' called on an object that is not a valid instance of HTMLElement.")}return nn.tryWrapperForImpl(en[cn]["ondragstart"])}set ondragstart(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set ondragstart' called on an object that is not a valid instance of HTMLElement.")}if(!nn.isObject(en)){en=null}else{en=sn.convert(Wt,en,{context:"Failed to set the 'ondragstart' property on 'HTMLElement': The provided value"})}tn[cn]["ondragstart"]=en}get ondrop(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get ondrop' called on an object that is not a valid instance of HTMLElement.")}return nn.tryWrapperForImpl(en[cn]["ondrop"])}set ondrop(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set ondrop' called on an object that is not a valid instance of HTMLElement.")}if(!nn.isObject(en)){en=null}else{en=sn.convert(Wt,en,{context:"Failed to set the 'ondrop' property on 'HTMLElement': The provided value"})}tn[cn]["ondrop"]=en}get ondurationchange(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get ondurationchange' called on an object that is not a valid instance of HTMLElement.")}return nn.tryWrapperForImpl(en[cn]["ondurationchange"])}set ondurationchange(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set ondurationchange' called on an object that is not a valid instance of HTMLElement.")}if(!nn.isObject(en)){en=null}else{en=sn.convert(Wt,en,{context:"Failed to set the 'ondurationchange' property on 'HTMLElement': The provided value"})}tn[cn]["ondurationchange"]=en}get onemptied(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get onemptied' called on an object that is not a valid instance of HTMLElement.")}return nn.tryWrapperForImpl(en[cn]["onemptied"])}set onemptied(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set onemptied' called on an object that is not a valid instance of HTMLElement.")}if(!nn.isObject(en)){en=null}else{en=sn.convert(Wt,en,{context:"Failed to set the 'onemptied' property on 'HTMLElement': The provided value"})}tn[cn]["onemptied"]=en}get onended(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get onended' called on an object that is not a valid instance of HTMLElement.")}return nn.tryWrapperForImpl(en[cn]["onended"])}set onended(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set onended' called on an object that is not a valid instance of HTMLElement.")}if(!nn.isObject(en)){en=null}else{en=sn.convert(Wt,en,{context:"Failed to set the 'onended' property on 'HTMLElement': The provided value"})}tn[cn]["onended"]=en}get onerror(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get onerror' called on an object that is not a valid instance of HTMLElement.")}return nn.tryWrapperForImpl(en[cn]["onerror"])}set onerror(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set onerror' called on an object that is not a valid instance of HTMLElement.")}if(!nn.isObject(en)){en=null}else{en=on.convert(Wt,en,{context:"Failed to set the 'onerror' property on 'HTMLElement': The provided value"})}tn[cn]["onerror"]=en}get onfocus(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get onfocus' called on an object that is not a valid instance of HTMLElement.")}return nn.tryWrapperForImpl(en[cn]["onfocus"])}set onfocus(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set onfocus' called on an object that is not a valid instance of HTMLElement.")}if(!nn.isObject(en)){en=null}else{en=sn.convert(Wt,en,{context:"Failed to set the 'onfocus' property on 'HTMLElement': The provided value"})}tn[cn]["onfocus"]=en}get onformdata(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get onformdata' called on an object that is not a valid instance of HTMLElement.")}return nn.tryWrapperForImpl(en[cn]["onformdata"])}set onformdata(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set onformdata' called on an object that is not a valid instance of HTMLElement.")}if(!nn.isObject(en)){en=null}else{en=sn.convert(Wt,en,{context:"Failed to set the 'onformdata' property on 'HTMLElement': The provided value"})}tn[cn]["onformdata"]=en}get oninput(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get oninput' called on an object that is not a valid instance of HTMLElement.")}return nn.tryWrapperForImpl(en[cn]["oninput"])}set oninput(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set oninput' called on an object that is not a valid instance of HTMLElement.")}if(!nn.isObject(en)){en=null}else{en=sn.convert(Wt,en,{context:"Failed to set the 'oninput' property on 'HTMLElement': The provided value"})}tn[cn]["oninput"]=en}get oninvalid(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get oninvalid' called on an object that is not a valid instance of HTMLElement.")}return nn.tryWrapperForImpl(en[cn]["oninvalid"])}set oninvalid(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set oninvalid' called on an object that is not a valid instance of HTMLElement.")}if(!nn.isObject(en)){en=null}else{en=sn.convert(Wt,en,{context:"Failed to set the 'oninvalid' property on 'HTMLElement': The provided value"})}tn[cn]["oninvalid"]=en}get onkeydown(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get onkeydown' called on an object that is not a valid instance of HTMLElement.")}return nn.tryWrapperForImpl(en[cn]["onkeydown"])}set onkeydown(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set onkeydown' called on an object that is not a valid instance of HTMLElement.")}if(!nn.isObject(en)){en=null}else{en=sn.convert(Wt,en,{context:"Failed to set the 'onkeydown' property on 'HTMLElement': The provided value"})}tn[cn]["onkeydown"]=en}get onkeypress(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get onkeypress' called on an object that is not a valid instance of HTMLElement.")}return nn.tryWrapperForImpl(en[cn]["onkeypress"])}set onkeypress(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set onkeypress' called on an object that is not a valid instance of HTMLElement.")}if(!nn.isObject(en)){en=null}else{en=sn.convert(Wt,en,{context:"Failed to set the 'onkeypress' property on 'HTMLElement': The provided value"})}tn[cn]["onkeypress"]=en}get onkeyup(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get onkeyup' called on an object that is not a valid instance of HTMLElement.")}return nn.tryWrapperForImpl(en[cn]["onkeyup"])}set onkeyup(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set onkeyup' called on an object that is not a valid instance of HTMLElement.")}if(!nn.isObject(en)){en=null}else{en=sn.convert(Wt,en,{context:"Failed to set the 'onkeyup' property on 'HTMLElement': The provided value"})}tn[cn]["onkeyup"]=en}get onload(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get onload' called on an object that is not a valid instance of HTMLElement.")}return nn.tryWrapperForImpl(en[cn]["onload"])}set onload(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set onload' called on an object that is not a valid instance of HTMLElement.")}if(!nn.isObject(en)){en=null}else{en=sn.convert(Wt,en,{context:"Failed to set the 'onload' property on 'HTMLElement': The provided value"})}tn[cn]["onload"]=en}get onloadeddata(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get onloadeddata' called on an object that is not a valid instance of HTMLElement.")}return nn.tryWrapperForImpl(en[cn]["onloadeddata"])}set onloadeddata(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set onloadeddata' called on an object that is not a valid instance of HTMLElement.")}if(!nn.isObject(en)){en=null}else{en=sn.convert(Wt,en,{context:"Failed to set the 'onloadeddata' property on 'HTMLElement': The provided value"})}tn[cn]["onloadeddata"]=en}get onloadedmetadata(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get onloadedmetadata' called on an object that is not a valid instance of HTMLElement.")}return nn.tryWrapperForImpl(en[cn]["onloadedmetadata"])}set onloadedmetadata(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set onloadedmetadata' called on an object that is not a valid instance of HTMLElement.")}if(!nn.isObject(en)){en=null}else{en=sn.convert(Wt,en,{context:"Failed to set the 'onloadedmetadata' property on 'HTMLElement': The provided value"})}tn[cn]["onloadedmetadata"]=en}get onloadstart(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get onloadstart' called on an object that is not a valid instance of HTMLElement.")}return nn.tryWrapperForImpl(en[cn]["onloadstart"])}set onloadstart(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set onloadstart' called on an object that is not a valid instance of HTMLElement.")}if(!nn.isObject(en)){en=null}else{en=sn.convert(Wt,en,{context:"Failed to set the 'onloadstart' property on 'HTMLElement': The provided value"})}tn[cn]["onloadstart"]=en}get onmousedown(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get onmousedown' called on an object that is not a valid instance of HTMLElement.")}return nn.tryWrapperForImpl(en[cn]["onmousedown"])}set onmousedown(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set onmousedown' called on an object that is not a valid instance of HTMLElement.")}if(!nn.isObject(en)){en=null}else{en=sn.convert(Wt,en,{context:"Failed to set the 'onmousedown' property on 'HTMLElement': The provided value"})}tn[cn]["onmousedown"]=en}get onmouseenter(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){return}return nn.tryWrapperForImpl(en[cn]["onmouseenter"])}set onmouseenter(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){return}if(!nn.isObject(en)){en=null}else{en=sn.convert(Wt,en,{context:"Failed to set the 'onmouseenter' property on 'HTMLElement': The provided value"})}tn[cn]["onmouseenter"]=en}get onmouseleave(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){return}return nn.tryWrapperForImpl(en[cn]["onmouseleave"])}set onmouseleave(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){return}if(!nn.isObject(en)){en=null}else{en=sn.convert(Wt,en,{context:"Failed to set the 'onmouseleave' property on 'HTMLElement': The provided value"})}tn[cn]["onmouseleave"]=en}get onmousemove(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get onmousemove' called on an object that is not a valid instance of HTMLElement.")}return nn.tryWrapperForImpl(en[cn]["onmousemove"])}set onmousemove(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set onmousemove' called on an object that is not a valid instance of HTMLElement.")}if(!nn.isObject(en)){en=null}else{en=sn.convert(Wt,en,{context:"Failed to set the 'onmousemove' property on 'HTMLElement': The provided value"})}tn[cn]["onmousemove"]=en}get onmouseout(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get onmouseout' called on an object that is not a valid instance of HTMLElement.")}return nn.tryWrapperForImpl(en[cn]["onmouseout"])}set onmouseout(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set onmouseout' called on an object that is not a valid instance of HTMLElement.")}if(!nn.isObject(en)){en=null}else{en=sn.convert(Wt,en,{context:"Failed to set the 'onmouseout' property on 'HTMLElement': The provided value"})}tn[cn]["onmouseout"]=en}get onmouseover(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get onmouseover' called on an object that is not a valid instance of HTMLElement.")}return nn.tryWrapperForImpl(en[cn]["onmouseover"])}set onmouseover(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set onmouseover' called on an object that is not a valid instance of HTMLElement.")}if(!nn.isObject(en)){en=null}else{en=sn.convert(Wt,en,{context:"Failed to set the 'onmouseover' property on 'HTMLElement': The provided value"})}tn[cn]["onmouseover"]=en}get onmouseup(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get onmouseup' called on an object that is not a valid instance of HTMLElement.")}return nn.tryWrapperForImpl(en[cn]["onmouseup"])}set onmouseup(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set onmouseup' called on an object that is not a valid instance of HTMLElement.")}if(!nn.isObject(en)){en=null}else{en=sn.convert(Wt,en,{context:"Failed to set the 'onmouseup' property on 'HTMLElement': The provided value"})}tn[cn]["onmouseup"]=en}get onpaste(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get onpaste' called on an object that is not a valid instance of HTMLElement.")}return nn.tryWrapperForImpl(en[cn]["onpaste"])}set onpaste(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set onpaste' called on an object that is not a valid instance of HTMLElement.")}if(!nn.isObject(en)){en=null}else{en=sn.convert(Wt,en,{context:"Failed to set the 'onpaste' property on 'HTMLElement': The provided value"})}tn[cn]["onpaste"]=en}get onpause(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get onpause' called on an object that is not a valid instance of HTMLElement.")}return nn.tryWrapperForImpl(en[cn]["onpause"])}set onpause(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set onpause' called on an object that is not a valid instance of HTMLElement.")}if(!nn.isObject(en)){en=null}else{en=sn.convert(Wt,en,{context:"Failed to set the 'onpause' property on 'HTMLElement': The provided value"})}tn[cn]["onpause"]=en}get onplay(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get onplay' called on an object that is not a valid instance of HTMLElement.")}return nn.tryWrapperForImpl(en[cn]["onplay"])}set onplay(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set onplay' called on an object that is not a valid instance of HTMLElement.")}if(!nn.isObject(en)){en=null}else{en=sn.convert(Wt,en,{context:"Failed to set the 'onplay' property on 'HTMLElement': The provided value"})}tn[cn]["onplay"]=en}get onplaying(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get onplaying' called on an object that is not a valid instance of HTMLElement.")}return nn.tryWrapperForImpl(en[cn]["onplaying"])}set onplaying(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set onplaying' called on an object that is not a valid instance of HTMLElement.")}if(!nn.isObject(en)){en=null}else{en=sn.convert(Wt,en,{context:"Failed to set the 'onplaying' property on 'HTMLElement': The provided value"})}tn[cn]["onplaying"]=en}get onprogress(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get onprogress' called on an object that is not a valid instance of HTMLElement.")}return nn.tryWrapperForImpl(en[cn]["onprogress"])}set onprogress(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set onprogress' called on an object that is not a valid instance of HTMLElement.")}if(!nn.isObject(en)){en=null}else{en=sn.convert(Wt,en,{context:"Failed to set the 'onprogress' property on 'HTMLElement': The provided value"})}tn[cn]["onprogress"]=en}get onratechange(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get onratechange' called on an object that is not a valid instance of HTMLElement.")}return nn.tryWrapperForImpl(en[cn]["onratechange"])}set onratechange(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set onratechange' called on an object that is not a valid instance of HTMLElement.")}if(!nn.isObject(en)){en=null}else{en=sn.convert(Wt,en,{context:"Failed to set the 'onratechange' property on 'HTMLElement': The provided value"})}tn[cn]["onratechange"]=en}get onreset(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get onreset' called on an object that is not a valid instance of HTMLElement.")}return nn.tryWrapperForImpl(en[cn]["onreset"])}set onreset(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set onreset' called on an object that is not a valid instance of HTMLElement.")}if(!nn.isObject(en)){en=null}else{en=sn.convert(Wt,en,{context:"Failed to set the 'onreset' property on 'HTMLElement': The provided value"})}tn[cn]["onreset"]=en}get onresize(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get onresize' called on an object that is not a valid instance of HTMLElement.")}return nn.tryWrapperForImpl(en[cn]["onresize"])}set onresize(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set onresize' called on an object that is not a valid instance of HTMLElement.")}if(!nn.isObject(en)){en=null}else{en=sn.convert(Wt,en,{context:"Failed to set the 'onresize' property on 'HTMLElement': The provided value"})}tn[cn]["onresize"]=en}get onscroll(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get onscroll' called on an object that is not a valid instance of HTMLElement.")}return nn.tryWrapperForImpl(en[cn]["onscroll"])}set onscroll(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set onscroll' called on an object that is not a valid instance of HTMLElement.")}if(!nn.isObject(en)){en=null}else{en=sn.convert(Wt,en,{context:"Failed to set the 'onscroll' property on 'HTMLElement': The provided value"})}tn[cn]["onscroll"]=en}get onscrollend(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get onscrollend' called on an object that is not a valid instance of HTMLElement.")}return nn.tryWrapperForImpl(en[cn]["onscrollend"])}set onscrollend(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set onscrollend' called on an object that is not a valid instance of HTMLElement.")}if(!nn.isObject(en)){en=null}else{en=sn.convert(Wt,en,{context:"Failed to set the 'onscrollend' property on 'HTMLElement': The provided value"})}tn[cn]["onscrollend"]=en}get onsecuritypolicyviolation(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get onsecuritypolicyviolation' called on an object that is not a valid instance of HTMLElement.")}return nn.tryWrapperForImpl(en[cn]["onsecuritypolicyviolation"])}set onsecuritypolicyviolation(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set onsecuritypolicyviolation' called on an object that is not a valid instance of HTMLElement.")}if(!nn.isObject(en)){en=null}else{en=sn.convert(Wt,en,{context:"Failed to set the 'onsecuritypolicyviolation' property on 'HTMLElement': The provided value"})}tn[cn]["onsecuritypolicyviolation"]=en}get onseeked(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get onseeked' called on an object that is not a valid instance of HTMLElement.")}return nn.tryWrapperForImpl(en[cn]["onseeked"])}set onseeked(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set onseeked' called on an object that is not a valid instance of HTMLElement.")}if(!nn.isObject(en)){en=null}else{en=sn.convert(Wt,en,{context:"Failed to set the 'onseeked' property on 'HTMLElement': The provided value"})}tn[cn]["onseeked"]=en}get onseeking(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get onseeking' called on an object that is not a valid instance of HTMLElement.")}return nn.tryWrapperForImpl(en[cn]["onseeking"])}set onseeking(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set onseeking' called on an object that is not a valid instance of HTMLElement.")}if(!nn.isObject(en)){en=null}else{en=sn.convert(Wt,en,{context:"Failed to set the 'onseeking' property on 'HTMLElement': The provided value"})}tn[cn]["onseeking"]=en}get onselect(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get onselect' called on an object that is not a valid instance of HTMLElement.")}return nn.tryWrapperForImpl(en[cn]["onselect"])}set onselect(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set onselect' called on an object that is not a valid instance of HTMLElement.")}if(!nn.isObject(en)){en=null}else{en=sn.convert(Wt,en,{context:"Failed to set the 'onselect' property on 'HTMLElement': The provided value"})}tn[cn]["onselect"]=en}get onslotchange(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get onslotchange' called on an object that is not a valid instance of HTMLElement.")}return nn.tryWrapperForImpl(en[cn]["onslotchange"])}set onslotchange(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set onslotchange' called on an object that is not a valid instance of HTMLElement.")}if(!nn.isObject(en)){en=null}else{en=sn.convert(Wt,en,{context:"Failed to set the 'onslotchange' property on 'HTMLElement': The provided value"})}tn[cn]["onslotchange"]=en}get onstalled(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get onstalled' called on an object that is not a valid instance of HTMLElement.")}return nn.tryWrapperForImpl(en[cn]["onstalled"])}set onstalled(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set onstalled' called on an object that is not a valid instance of HTMLElement.")}if(!nn.isObject(en)){en=null}else{en=sn.convert(Wt,en,{context:"Failed to set the 'onstalled' property on 'HTMLElement': The provided value"})}tn[cn]["onstalled"]=en}get onsubmit(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get onsubmit' called on an object that is not a valid instance of HTMLElement.")}return nn.tryWrapperForImpl(en[cn]["onsubmit"])}set onsubmit(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set onsubmit' called on an object that is not a valid instance of HTMLElement.")}if(!nn.isObject(en)){en=null}else{en=sn.convert(Wt,en,{context:"Failed to set the 'onsubmit' property on 'HTMLElement': The provided value"})}tn[cn]["onsubmit"]=en}get onsuspend(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get onsuspend' called on an object that is not a valid instance of HTMLElement.")}return nn.tryWrapperForImpl(en[cn]["onsuspend"])}set onsuspend(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set onsuspend' called on an object that is not a valid instance of HTMLElement.")}if(!nn.isObject(en)){en=null}else{en=sn.convert(Wt,en,{context:"Failed to set the 'onsuspend' property on 'HTMLElement': The provided value"})}tn[cn]["onsuspend"]=en}get ontimeupdate(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get ontimeupdate' called on an object that is not a valid instance of HTMLElement.")}return nn.tryWrapperForImpl(en[cn]["ontimeupdate"])}set ontimeupdate(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set ontimeupdate' called on an object that is not a valid instance of HTMLElement.")}if(!nn.isObject(en)){en=null}else{en=sn.convert(Wt,en,{context:"Failed to set the 'ontimeupdate' property on 'HTMLElement': The provided value"})}tn[cn]["ontimeupdate"]=en}get ontoggle(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get ontoggle' called on an object that is not a valid instance of HTMLElement.")}return nn.tryWrapperForImpl(en[cn]["ontoggle"])}set ontoggle(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set ontoggle' called on an object that is not a valid instance of HTMLElement.")}if(!nn.isObject(en)){en=null}else{en=sn.convert(Wt,en,{context:"Failed to set the 'ontoggle' property on 'HTMLElement': The provided value"})}tn[cn]["ontoggle"]=en}get onvolumechange(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get onvolumechange' called on an object that is not a valid instance of HTMLElement.")}return nn.tryWrapperForImpl(en[cn]["onvolumechange"])}set onvolumechange(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set onvolumechange' called on an object that is not a valid instance of HTMLElement.")}if(!nn.isObject(en)){en=null}else{en=sn.convert(Wt,en,{context:"Failed to set the 'onvolumechange' property on 'HTMLElement': The provided value"})}tn[cn]["onvolumechange"]=en}get onwaiting(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get onwaiting' called on an object that is not a valid instance of HTMLElement.")}return nn.tryWrapperForImpl(en[cn]["onwaiting"])}set onwaiting(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set onwaiting' called on an object that is not a valid instance of HTMLElement.")}if(!nn.isObject(en)){en=null}else{en=sn.convert(Wt,en,{context:"Failed to set the 'onwaiting' property on 'HTMLElement': The provided value"})}tn[cn]["onwaiting"]=en}get onwebkitanimationend(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get onwebkitanimationend' called on an object that is not a valid instance of HTMLElement.")}return nn.tryWrapperForImpl(en[cn]["onwebkitanimationend"])}set onwebkitanimationend(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set onwebkitanimationend' called on an object that is not a valid instance of HTMLElement.")}if(!nn.isObject(en)){en=null}else{en=sn.convert(Wt,en,{context:"Failed to set the 'onwebkitanimationend' property on 'HTMLElement': The provided value"})}tn[cn]["onwebkitanimationend"]=en}get onwebkitanimationiteration(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get onwebkitanimationiteration' called on an object that is not a valid instance of HTMLElement.")}return nn.tryWrapperForImpl(en[cn]["onwebkitanimationiteration"])}set onwebkitanimationiteration(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set onwebkitanimationiteration' called on an object that is not a valid instance of HTMLElement.")}if(!nn.isObject(en)){en=null}else{en=sn.convert(Wt,en,{context:"Failed to set the 'onwebkitanimationiteration' property on 'HTMLElement': The provided value"})}tn[cn]["onwebkitanimationiteration"]=en}get onwebkitanimationstart(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get onwebkitanimationstart' called on an object that is not a valid instance of HTMLElement.")}return nn.tryWrapperForImpl(en[cn]["onwebkitanimationstart"])}set onwebkitanimationstart(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set onwebkitanimationstart' called on an object that is not a valid instance of HTMLElement.")}if(!nn.isObject(en)){en=null}else{en=sn.convert(Wt,en,{context:"Failed to set the 'onwebkitanimationstart' property on 'HTMLElement': The provided value"})}tn[cn]["onwebkitanimationstart"]=en}get onwebkittransitionend(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get onwebkittransitionend' called on an object that is not a valid instance of HTMLElement.")}return nn.tryWrapperForImpl(en[cn]["onwebkittransitionend"])}set onwebkittransitionend(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set onwebkittransitionend' called on an object that is not a valid instance of HTMLElement.")}if(!nn.isObject(en)){en=null}else{en=sn.convert(Wt,en,{context:"Failed to set the 'onwebkittransitionend' property on 'HTMLElement': The provided value"})}tn[cn]["onwebkittransitionend"]=en}get onwheel(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get onwheel' called on an object that is not a valid instance of HTMLElement.")}return nn.tryWrapperForImpl(en[cn]["onwheel"])}set onwheel(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set onwheel' called on an object that is not a valid instance of HTMLElement.")}if(!nn.isObject(en)){en=null}else{en=sn.convert(Wt,en,{context:"Failed to set the 'onwheel' property on 'HTMLElement': The provided value"})}tn[cn]["onwheel"]=en}get ontouchstart(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get ontouchstart' called on an object that is not a valid instance of HTMLElement.")}return nn.tryWrapperForImpl(en[cn]["ontouchstart"])}set ontouchstart(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set ontouchstart' called on an object that is not a valid instance of HTMLElement.")}if(!nn.isObject(en)){en=null}else{en=sn.convert(Wt,en,{context:"Failed to set the 'ontouchstart' property on 'HTMLElement': The provided value"})}tn[cn]["ontouchstart"]=en}get ontouchend(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get ontouchend' called on an object that is not a valid instance of HTMLElement.")}return nn.tryWrapperForImpl(en[cn]["ontouchend"])}set ontouchend(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set ontouchend' called on an object that is not a valid instance of HTMLElement.")}if(!nn.isObject(en)){en=null}else{en=sn.convert(Wt,en,{context:"Failed to set the 'ontouchend' property on 'HTMLElement': The provided value"})}tn[cn]["ontouchend"]=en}get ontouchmove(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get ontouchmove' called on an object that is not a valid instance of HTMLElement.")}return nn.tryWrapperForImpl(en[cn]["ontouchmove"])}set ontouchmove(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set ontouchmove' called on an object that is not a valid instance of HTMLElement.")}if(!nn.isObject(en)){en=null}else{en=sn.convert(Wt,en,{context:"Failed to set the 'ontouchmove' property on 'HTMLElement': The provided value"})}tn[cn]["ontouchmove"]=en}get ontouchcancel(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get ontouchcancel' called on an object that is not a valid instance of HTMLElement.")}return nn.tryWrapperForImpl(en[cn]["ontouchcancel"])}set ontouchcancel(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set ontouchcancel' called on an object that is not a valid instance of HTMLElement.")}if(!nn.isObject(en)){en=null}else{en=sn.convert(Wt,en,{context:"Failed to set the 'ontouchcancel' property on 'HTMLElement': The provided value"})}tn[cn]["ontouchcancel"]=en}get dataset(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get dataset' called on an object that is not a valid instance of HTMLElement.")}return nn.getSameObject(this,"dataset",(()=>nn.tryWrapperForImpl(en[cn]["dataset"])))}get nonce(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get nonce' called on an object that is not a valid instance of HTMLElement.")}const tn=en[cn]._reflectGetTheContentAttribute("nonce");return tn===null?"":tn}set nonce(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set nonce' called on an object that is not a valid instance of HTMLElement.")}en=tn["DOMString"](en,{context:"Failed to set the 'nonce' property on 'HTMLElement': The provided value",globals:Wt});nn[cn]._reflectSetTheContentAttribute("nonce",en)}get tabIndex(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get tabIndex' called on an object that is not a valid instance of HTMLElement.")}In(Wt);try{return en[cn]["tabIndex"]}finally{rn(Wt)}}set tabIndex(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set tabIndex' called on an object that is not a valid instance of HTMLElement.")}en=tn["long"](en,{context:"Failed to set the 'tabIndex' property on 'HTMLElement': The provided value",globals:Wt});In(Wt);try{nn[cn]["tabIndex"]=en}finally{rn(Wt)}}}Object.defineProperties(HTMLElement.prototype,{click:{enumerable:true},attachInternals:{enumerable:true},focus:{enumerable:true},blur:{enumerable:true},title:{enumerable:true},lang:{enumerable:true},translate:{enumerable:true},dir:{enumerable:true},hidden:{enumerable:true},accessKey:{enumerable:true},draggable:{enumerable:true},offsetParent:{enumerable:true},offsetTop:{enumerable:true},offsetLeft:{enumerable:true},offsetWidth:{enumerable:true},offsetHeight:{enumerable:true},style:{enumerable:true},onabort:{enumerable:true},onauxclick:{enumerable:true},onbeforeinput:{enumerable:true},onbeforematch:{enumerable:true},onbeforetoggle:{enumerable:true},onblur:{enumerable:true},oncancel:{enumerable:true},oncanplay:{enumerable:true},oncanplaythrough:{enumerable:true},onchange:{enumerable:true},onclick:{enumerable:true},onclose:{enumerable:true},oncontextlost:{enumerable:true},oncontextmenu:{enumerable:true},oncontextrestored:{enumerable:true},oncopy:{enumerable:true},oncuechange:{enumerable:true},oncut:{enumerable:true},ondblclick:{enumerable:true},ondrag:{enumerable:true},ondragend:{enumerable:true},ondragenter:{enumerable:true},ondragleave:{enumerable:true},ondragover:{enumerable:true},ondragstart:{enumerable:true},ondrop:{enumerable:true},ondurationchange:{enumerable:true},onemptied:{enumerable:true},onended:{enumerable:true},onerror:{enumerable:true},onfocus:{enumerable:true},onformdata:{enumerable:true},oninput:{enumerable:true},oninvalid:{enumerable:true},onkeydown:{enumerable:true},onkeypress:{enumerable:true},onkeyup:{enumerable:true},onload:{enumerable:true},onloadeddata:{enumerable:true},onloadedmetadata:{enumerable:true},onloadstart:{enumerable:true},onmousedown:{enumerable:true},onmouseenter:{enumerable:true},onmouseleave:{enumerable:true},onmousemove:{enumerable:true},onmouseout:{enumerable:true},onmouseover:{enumerable:true},onmouseup:{enumerable:true},onpaste:{enumerable:true},onpause:{enumerable:true},onplay:{enumerable:true},onplaying:{enumerable:true},onprogress:{enumerable:true},onratechange:{enumerable:true},onreset:{enumerable:true},onresize:{enumerable:true},onscroll:{enumerable:true},onscrollend:{enumerable:true},onsecuritypolicyviolation:{enumerable:true},onseeked:{enumerable:true},onseeking:{enumerable:true},onselect:{enumerable:true},onslotchange:{enumerable:true},onstalled:{enumerable:true},onsubmit:{enumerable:true},onsuspend:{enumerable:true},ontimeupdate:{enumerable:true},ontoggle:{enumerable:true},onvolumechange:{enumerable:true},onwaiting:{enumerable:true},onwebkitanimationend:{enumerable:true},onwebkitanimationiteration:{enumerable:true},onwebkitanimationstart:{enumerable:true},onwebkittransitionend:{enumerable:true},onwheel:{enumerable:true},ontouchstart:{enumerable:true},ontouchend:{enumerable:true},ontouchmove:{enumerable:true},ontouchcancel:{enumerable:true},dataset:{enumerable:true},nonce:{enumerable:true},tabIndex:{enumerable:true},[Symbol.toStringTag]:{value:"HTMLElement",configurable:true}});dn[pn]=HTMLElement;Object.defineProperty(Wt,pn,{configurable:true,writable:true,value:HTMLElement})};const bn=en(95927)},28393:(Wt,Pt,en)=>{const tn=en(37125);const nn=en(87094);const an=en(84175).HTMLConstructor;const In=en(30962).parseURLToResultingURLRecord;const rn=en(78012).serializeURL;const sn=en(8348).ceReactionsPreSteps;const on=en(8348).ceReactionsPostSteps;const cn=nn.implSymbol;const dn=nn.ctorRegistrySymbol;const un=en(48708);const pn="HTMLEmbedElement";Pt.is=Wt=>nn.isObject(Wt)&&nn.hasOwn(Wt,cn)&&Wt[cn]instanceof bn.implementation;Pt.isImpl=Wt=>nn.isObject(Wt)&&Wt instanceof bn.implementation;Pt.convert=(Wt,en,{context:tn="The provided value"}={})=>{if(Pt.is(en)){return nn.implForWrapper(en)}throw new Wt.TypeError(`${tn} is not of type 'HTMLEmbedElement'.`)};function makeWrapper(Wt,Pt){let en;if(Pt!==undefined){en=Pt.prototype}if(!nn.isObject(en)){en=Wt[dn]["HTMLEmbedElement"].prototype}return Object.create(en)}Pt.create=(Wt,en,tn)=>{const nn=makeWrapper(Wt);return Pt.setup(nn,Wt,en,tn)};Pt.createImpl=(Wt,en,tn)=>{const an=Pt.create(Wt,en,tn);return nn.implForWrapper(an)};Pt._internalSetup=(Wt,Pt)=>{un._internalSetup(Wt,Pt)};Pt.setup=(Wt,en,tn=[],an={})=>{an.wrapper=Wt;Pt._internalSetup(Wt,en);Object.defineProperty(Wt,cn,{value:new bn.implementation(en,tn,an),configurable:true});Wt[cn][nn.wrapperSymbol]=Wt;if(bn.init){bn.init(Wt[cn])}return Wt};Pt["new"]=(Wt,en)=>{const tn=makeWrapper(Wt,en);Pt._internalSetup(tn,Wt);Object.defineProperty(tn,cn,{value:Object.create(bn.implementation.prototype),configurable:true});tn[cn][nn.wrapperSymbol]=tn;if(bn.init){bn.init(tn[cn])}return tn[cn]};const mn=new Set(["Window"]);Pt.install=(Wt,en)=>{if(!en.some((Wt=>mn.has(Wt)))){return}const dn=nn.initCtorRegistry(Wt);class HTMLEmbedElement extends Wt.HTMLElement{constructor(){return an(Wt,pn,new.target)}get src(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get src' called on an object that is not a valid instance of HTMLEmbedElement.")}sn(Wt);try{const Wt=en[cn]._reflectGetTheContentAttribute("src");if(Wt===null){return""}const Pt=In(Wt,en[cn]._ownerDocument);if(Pt!==null){return rn(Pt)}return tn.USVString(Wt)}finally{on(Wt)}}set src(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set src' called on an object that is not a valid instance of HTMLEmbedElement.")}en=tn["USVString"](en,{context:"Failed to set the 'src' property on 'HTMLEmbedElement': The provided value",globals:Wt});sn(Wt);try{nn[cn]._reflectSetTheContentAttribute("src",en)}finally{on(Wt)}}get type(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get type' called on an object that is not a valid instance of HTMLEmbedElement.")}sn(Wt);try{const Wt=en[cn]._reflectGetTheContentAttribute("type");return Wt===null?"":Wt}finally{on(Wt)}}set type(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set type' called on an object that is not a valid instance of HTMLEmbedElement.")}en=tn["DOMString"](en,{context:"Failed to set the 'type' property on 'HTMLEmbedElement': The provided value",globals:Wt});sn(Wt);try{nn[cn]._reflectSetTheContentAttribute("type",en)}finally{on(Wt)}}get width(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get width' called on an object that is not a valid instance of HTMLEmbedElement.")}sn(Wt);try{const Wt=en[cn]._reflectGetTheContentAttribute("width");return Wt===null?"":Wt}finally{on(Wt)}}set width(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set width' called on an object that is not a valid instance of HTMLEmbedElement.")}en=tn["DOMString"](en,{context:"Failed to set the 'width' property on 'HTMLEmbedElement': The provided value",globals:Wt});sn(Wt);try{nn[cn]._reflectSetTheContentAttribute("width",en)}finally{on(Wt)}}get height(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get height' called on an object that is not a valid instance of HTMLEmbedElement.")}sn(Wt);try{const Wt=en[cn]._reflectGetTheContentAttribute("height");return Wt===null?"":Wt}finally{on(Wt)}}set height(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set height' called on an object that is not a valid instance of HTMLEmbedElement.")}en=tn["DOMString"](en,{context:"Failed to set the 'height' property on 'HTMLEmbedElement': The provided value",globals:Wt});sn(Wt);try{nn[cn]._reflectSetTheContentAttribute("height",en)}finally{on(Wt)}}get align(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get align' called on an object that is not a valid instance of HTMLEmbedElement.")}sn(Wt);try{const Wt=en[cn]._reflectGetTheContentAttribute("align");return Wt===null?"":Wt}finally{on(Wt)}}set align(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set align' called on an object that is not a valid instance of HTMLEmbedElement.")}en=tn["DOMString"](en,{context:"Failed to set the 'align' property on 'HTMLEmbedElement': The provided value",globals:Wt});sn(Wt);try{nn[cn]._reflectSetTheContentAttribute("align",en)}finally{on(Wt)}}get name(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get name' called on an object that is not a valid instance of HTMLEmbedElement.")}sn(Wt);try{const Wt=en[cn]._reflectGetTheContentAttribute("name");return Wt===null?"":Wt}finally{on(Wt)}}set name(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set name' called on an object that is not a valid instance of HTMLEmbedElement.")}en=tn["DOMString"](en,{context:"Failed to set the 'name' property on 'HTMLEmbedElement': The provided value",globals:Wt});sn(Wt);try{nn[cn]._reflectSetTheContentAttribute("name",en)}finally{on(Wt)}}}Object.defineProperties(HTMLEmbedElement.prototype,{src:{enumerable:true},type:{enumerable:true},width:{enumerable:true},height:{enumerable:true},align:{enumerable:true},name:{enumerable:true},[Symbol.toStringTag]:{value:"HTMLEmbedElement",configurable:true}});dn[pn]=HTMLEmbedElement;Object.defineProperty(Wt,pn,{configurable:true,writable:true,value:HTMLEmbedElement})};const bn=en(4012)},56092:(Wt,Pt,en)=>{const tn=en(37125);const nn=en(87094);const an=en(84175).HTMLConstructor;const In=en(8348).ceReactionsPreSteps;const rn=en(8348).ceReactionsPostSteps;const sn=nn.implSymbol;const on=nn.ctorRegistrySymbol;const cn=en(48708);const dn="HTMLFieldSetElement";Pt.is=Wt=>nn.isObject(Wt)&&nn.hasOwn(Wt,sn)&&Wt[sn]instanceof pn.implementation;Pt.isImpl=Wt=>nn.isObject(Wt)&&Wt instanceof pn.implementation;Pt.convert=(Wt,en,{context:tn="The provided value"}={})=>{if(Pt.is(en)){return nn.implForWrapper(en)}throw new Wt.TypeError(`${tn} is not of type 'HTMLFieldSetElement'.`)};function makeWrapper(Wt,Pt){let en;if(Pt!==undefined){en=Pt.prototype}if(!nn.isObject(en)){en=Wt[on]["HTMLFieldSetElement"].prototype}return Object.create(en)}Pt.create=(Wt,en,tn)=>{const nn=makeWrapper(Wt);return Pt.setup(nn,Wt,en,tn)};Pt.createImpl=(Wt,en,tn)=>{const an=Pt.create(Wt,en,tn);return nn.implForWrapper(an)};Pt._internalSetup=(Wt,Pt)=>{cn._internalSetup(Wt,Pt)};Pt.setup=(Wt,en,tn=[],an={})=>{an.wrapper=Wt;Pt._internalSetup(Wt,en);Object.defineProperty(Wt,sn,{value:new pn.implementation(en,tn,an),configurable:true});Wt[sn][nn.wrapperSymbol]=Wt;if(pn.init){pn.init(Wt[sn])}return Wt};Pt["new"]=(Wt,en)=>{const tn=makeWrapper(Wt,en);Pt._internalSetup(tn,Wt);Object.defineProperty(tn,sn,{value:Object.create(pn.implementation.prototype),configurable:true});tn[sn][nn.wrapperSymbol]=tn;if(pn.init){pn.init(tn[sn])}return tn[sn]};const un=new Set(["Window"]);Pt.install=(Wt,en)=>{if(!en.some((Wt=>un.has(Wt)))){return}const on=nn.initCtorRegistry(Wt);class HTMLFieldSetElement extends Wt.HTMLElement{constructor(){return an(Wt,dn,new.target)}checkValidity(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'checkValidity' called on an object that is not a valid instance of HTMLFieldSetElement.")}return en[sn].checkValidity()}reportValidity(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'reportValidity' called on an object that is not a valid instance of HTMLFieldSetElement.")}return en[sn].reportValidity()}setCustomValidity(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'setCustomValidity' called on an object that is not a valid instance of HTMLFieldSetElement.")}if(arguments.length<1){throw new Wt.TypeError(`Failed to execute 'setCustomValidity' on 'HTMLFieldSetElement': 1 argument required, but only ${arguments.length} present.`)}const an=[];{let Pt=arguments[0];Pt=tn["DOMString"](Pt,{context:"Failed to execute 'setCustomValidity' on 'HTMLFieldSetElement': parameter 1",globals:Wt});an.push(Pt)}return nn[sn].setCustomValidity(...an)}get disabled(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get disabled' called on an object that is not a valid instance of HTMLFieldSetElement.")}In(Wt);try{return en[sn]._reflectGetTheContentAttribute("disabled")!==null}finally{rn(Wt)}}set disabled(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set disabled' called on an object that is not a valid instance of HTMLFieldSetElement.")}en=tn["boolean"](en,{context:"Failed to set the 'disabled' property on 'HTMLFieldSetElement': The provided value",globals:Wt});In(Wt);try{if(en){nn[sn]._reflectSetTheContentAttribute("disabled","")}else{nn[sn]._reflectDeleteTheContentAttribute("disabled")}}finally{rn(Wt)}}get form(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get form' called on an object that is not a valid instance of HTMLFieldSetElement.")}return nn.tryWrapperForImpl(en[sn]["form"])}get name(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get name' called on an object that is not a valid instance of HTMLFieldSetElement.")}In(Wt);try{const Wt=en[sn]._reflectGetTheContentAttribute("name");return Wt===null?"":Wt}finally{rn(Wt)}}set name(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set name' called on an object that is not a valid instance of HTMLFieldSetElement.")}en=tn["DOMString"](en,{context:"Failed to set the 'name' property on 'HTMLFieldSetElement': The provided value",globals:Wt});In(Wt);try{nn[sn]._reflectSetTheContentAttribute("name",en)}finally{rn(Wt)}}get type(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get type' called on an object that is not a valid instance of HTMLFieldSetElement.")}return en[sn]["type"]}get elements(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get elements' called on an object that is not a valid instance of HTMLFieldSetElement.")}return nn.getSameObject(this,"elements",(()=>nn.tryWrapperForImpl(en[sn]["elements"])))}get willValidate(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get willValidate' called on an object that is not a valid instance of HTMLFieldSetElement.")}return en[sn]["willValidate"]}get validity(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get validity' called on an object that is not a valid instance of HTMLFieldSetElement.")}return nn.getSameObject(this,"validity",(()=>nn.tryWrapperForImpl(en[sn]["validity"])))}get validationMessage(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get validationMessage' called on an object that is not a valid instance of HTMLFieldSetElement.")}return en[sn]["validationMessage"]}}Object.defineProperties(HTMLFieldSetElement.prototype,{checkValidity:{enumerable:true},reportValidity:{enumerable:true},setCustomValidity:{enumerable:true},disabled:{enumerable:true},form:{enumerable:true},name:{enumerable:true},type:{enumerable:true},elements:{enumerable:true},willValidate:{enumerable:true},validity:{enumerable:true},validationMessage:{enumerable:true},[Symbol.toStringTag]:{value:"HTMLFieldSetElement",configurable:true}});on[dn]=HTMLFieldSetElement;Object.defineProperty(Wt,dn,{configurable:true,writable:true,value:HTMLFieldSetElement})};const pn=en(59615)},75431:(Wt,Pt,en)=>{const tn=en(37125);const nn=en(87094);const an=en(84175).HTMLConstructor;const In=en(8348).ceReactionsPreSteps;const rn=en(8348).ceReactionsPostSteps;const sn=nn.implSymbol;const on=nn.ctorRegistrySymbol;const cn=en(48708);const dn="HTMLFontElement";Pt.is=Wt=>nn.isObject(Wt)&&nn.hasOwn(Wt,sn)&&Wt[sn]instanceof pn.implementation;Pt.isImpl=Wt=>nn.isObject(Wt)&&Wt instanceof pn.implementation;Pt.convert=(Wt,en,{context:tn="The provided value"}={})=>{if(Pt.is(en)){return nn.implForWrapper(en)}throw new Wt.TypeError(`${tn} is not of type 'HTMLFontElement'.`)};function makeWrapper(Wt,Pt){let en;if(Pt!==undefined){en=Pt.prototype}if(!nn.isObject(en)){en=Wt[on]["HTMLFontElement"].prototype}return Object.create(en)}Pt.create=(Wt,en,tn)=>{const nn=makeWrapper(Wt);return Pt.setup(nn,Wt,en,tn)};Pt.createImpl=(Wt,en,tn)=>{const an=Pt.create(Wt,en,tn);return nn.implForWrapper(an)};Pt._internalSetup=(Wt,Pt)=>{cn._internalSetup(Wt,Pt)};Pt.setup=(Wt,en,tn=[],an={})=>{an.wrapper=Wt;Pt._internalSetup(Wt,en);Object.defineProperty(Wt,sn,{value:new pn.implementation(en,tn,an),configurable:true});Wt[sn][nn.wrapperSymbol]=Wt;if(pn.init){pn.init(Wt[sn])}return Wt};Pt["new"]=(Wt,en)=>{const tn=makeWrapper(Wt,en);Pt._internalSetup(tn,Wt);Object.defineProperty(tn,sn,{value:Object.create(pn.implementation.prototype),configurable:true});tn[sn][nn.wrapperSymbol]=tn;if(pn.init){pn.init(tn[sn])}return tn[sn]};const un=new Set(["Window"]);Pt.install=(Wt,en)=>{if(!en.some((Wt=>un.has(Wt)))){return}const on=nn.initCtorRegistry(Wt);class HTMLFontElement extends Wt.HTMLElement{constructor(){return an(Wt,dn,new.target)}get color(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get color' called on an object that is not a valid instance of HTMLFontElement.")}In(Wt);try{const Wt=en[sn]._reflectGetTheContentAttribute("color");return Wt===null?"":Wt}finally{rn(Wt)}}set color(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set color' called on an object that is not a valid instance of HTMLFontElement.")}en=tn["DOMString"](en,{context:"Failed to set the 'color' property on 'HTMLFontElement': The provided value",globals:Wt,treatNullAsEmptyString:true});In(Wt);try{nn[sn]._reflectSetTheContentAttribute("color",en)}finally{rn(Wt)}}get face(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get face' called on an object that is not a valid instance of HTMLFontElement.")}In(Wt);try{const Wt=en[sn]._reflectGetTheContentAttribute("face");return Wt===null?"":Wt}finally{rn(Wt)}}set face(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set face' called on an object that is not a valid instance of HTMLFontElement.")}en=tn["DOMString"](en,{context:"Failed to set the 'face' property on 'HTMLFontElement': The provided value",globals:Wt});In(Wt);try{nn[sn]._reflectSetTheContentAttribute("face",en)}finally{rn(Wt)}}get size(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get size' called on an object that is not a valid instance of HTMLFontElement.")}In(Wt);try{const Wt=en[sn]._reflectGetTheContentAttribute("size");return Wt===null?"":Wt}finally{rn(Wt)}}set size(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set size' called on an object that is not a valid instance of HTMLFontElement.")}en=tn["DOMString"](en,{context:"Failed to set the 'size' property on 'HTMLFontElement': The provided value",globals:Wt});In(Wt);try{nn[sn]._reflectSetTheContentAttribute("size",en)}finally{rn(Wt)}}}Object.defineProperties(HTMLFontElement.prototype,{color:{enumerable:true},face:{enumerable:true},size:{enumerable:true},[Symbol.toStringTag]:{value:"HTMLFontElement",configurable:true}});on[dn]=HTMLFontElement;Object.defineProperty(Wt,dn,{configurable:true,writable:true,value:HTMLFontElement})};const pn=en(49758)},59470:(Wt,Pt,en)=>{const tn=en(37125);const nn=en(87094);const an=nn.implSymbol;const In=nn.ctorRegistrySymbol;const rn=en(13506);const sn="HTMLFormControlsCollection";Pt.is=Wt=>nn.isObject(Wt)&&nn.hasOwn(Wt,an)&&Wt[an]instanceof dn.implementation;Pt.isImpl=Wt=>nn.isObject(Wt)&&Wt instanceof dn.implementation;Pt.convert=(Wt,en,{context:tn="The provided value"}={})=>{if(Pt.is(en)){return nn.implForWrapper(en)}throw new Wt.TypeError(`${tn} is not of type 'HTMLFormControlsCollection'.`)};function makeWrapper(Wt,Pt){let en;if(Pt!==undefined){en=Pt.prototype}if(!nn.isObject(en)){en=Wt[In]["HTMLFormControlsCollection"].prototype}return Object.create(en)}function makeProxy(Wt,Pt){let en=cn.get(Pt);if(en===undefined){en=new ProxyHandler(Pt);cn.set(Pt,en)}return new Proxy(Wt,en)}Pt.create=(Wt,en,tn)=>{const nn=makeWrapper(Wt);return Pt.setup(nn,Wt,en,tn)};Pt.createImpl=(Wt,en,tn)=>{const an=Pt.create(Wt,en,tn);return nn.implForWrapper(an)};Pt._internalSetup=(Wt,Pt)=>{rn._internalSetup(Wt,Pt)};Pt.setup=(Wt,en,tn=[],In={})=>{In.wrapper=Wt;Pt._internalSetup(Wt,en);Object.defineProperty(Wt,an,{value:new dn.implementation(en,tn,In),configurable:true});Wt=makeProxy(Wt,en);Wt[an][nn.wrapperSymbol]=Wt;if(dn.init){dn.init(Wt[an])}return Wt};Pt["new"]=(Wt,en)=>{let tn=makeWrapper(Wt,en);Pt._internalSetup(tn,Wt);Object.defineProperty(tn,an,{value:Object.create(dn.implementation.prototype),configurable:true});tn=makeProxy(tn,Wt);tn[an][nn.wrapperSymbol]=tn;if(dn.init){dn.init(tn[an])}return tn[an]};const on=new Set(["Window"]);Pt.install=(Wt,en)=>{if(!en.some((Wt=>on.has(Wt)))){return}const In=nn.initCtorRegistry(Wt);class HTMLFormControlsCollection extends Wt.HTMLCollection{constructor(){throw new Wt.TypeError("Illegal constructor")}namedItem(en){const In=this!==null&&this!==undefined?this:Wt;if(!Pt.is(In)){throw new Wt.TypeError("'namedItem' called on an object that is not a valid instance of HTMLFormControlsCollection.")}if(arguments.length<1){throw new Wt.TypeError(`Failed to execute 'namedItem' on 'HTMLFormControlsCollection': 1 argument required, but only ${arguments.length} present.`)}const rn=[];{let Pt=arguments[0];Pt=tn["DOMString"](Pt,{context:"Failed to execute 'namedItem' on 'HTMLFormControlsCollection': parameter 1",globals:Wt});rn.push(Pt)}return nn.tryWrapperForImpl(In[an].namedItem(...rn))}}Object.defineProperties(HTMLFormControlsCollection.prototype,{namedItem:{enumerable:true},[Symbol.toStringTag]:{value:"HTMLFormControlsCollection",configurable:true},[Symbol.iterator]:{value:Wt.Array.prototype[Symbol.iterator],configurable:true,writable:true}});In[sn]=HTMLFormControlsCollection;Object.defineProperty(Wt,sn,{configurable:true,writable:true,value:HTMLFormControlsCollection})};const cn=new WeakMap;class ProxyHandler{constructor(Wt){this._globalObject=Wt}get(Wt,Pt,en){if(typeof Pt==="symbol"){return Reflect.get(Wt,Pt,en)}const tn=this.getOwnPropertyDescriptor(Wt,Pt);if(tn===undefined){const tn=Object.getPrototypeOf(Wt);if(tn===null){return undefined}return Reflect.get(Wt,Pt,en)}if(!tn.get&&!tn.set){return tn.value}const nn=tn.get;if(nn===undefined){return undefined}return Reflect.apply(nn,en,[])}has(Wt,Pt){if(typeof Pt==="symbol"){return Reflect.has(Wt,Pt)}const en=this.getOwnPropertyDescriptor(Wt,Pt);if(en!==undefined){return true}const tn=Object.getPrototypeOf(Wt);if(tn!==null){return Reflect.has(tn,Pt)}return false}ownKeys(Wt){const Pt=new Set;for(const en of Wt[an][nn.supportedPropertyIndices]){Pt.add(`${en}`)}for(const en of Wt[an][nn.supportedPropertyNames]){if(!(en in Wt)){Pt.add(`${en}`)}}for(const en of Reflect.ownKeys(Wt)){Pt.add(en)}return[...Pt]}getOwnPropertyDescriptor(Wt,Pt){if(typeof Pt==="symbol"){return Reflect.getOwnPropertyDescriptor(Wt,Pt)}let en=false;if(nn.isArrayIndexPropName(Pt)){const tn=Pt>>>0;const In=Wt[an].item(tn);if(In!==null){return{writable:false,enumerable:true,configurable:true,value:nn.tryWrapperForImpl(In)}}en=true}const tn=Wt[an].namedItem(Pt);if(tn!==null&&!(Pt in Wt)&&!en){return{writable:false,enumerable:true,configurable:true,value:nn.tryWrapperForImpl(tn)}}return Reflect.getOwnPropertyDescriptor(Wt,Pt)}set(Wt,Pt,en,tn){if(typeof Pt==="symbol"){return Reflect.set(Wt,Pt,en,tn)}if(Wt[an][nn.wrapperSymbol]===tn){const Wt=this._globalObject}let In;if(nn.isArrayIndexPropName(Pt)){const en=Pt>>>0;const tn=Wt[an].item(en);if(tn!==null){In={writable:false,enumerable:true,configurable:true,value:nn.tryWrapperForImpl(tn)}}}if(In===undefined){In=Reflect.getOwnPropertyDescriptor(Wt,Pt)}if(In===undefined){const nn=Reflect.getPrototypeOf(Wt);if(nn!==null){return Reflect.set(nn,Pt,en,tn)}In={writable:true,enumerable:true,configurable:true,value:undefined}}if(!In.writable){return false}if(!nn.isObject(tn)){return false}const rn=Reflect.getOwnPropertyDescriptor(tn,Pt);let sn;if(rn!==undefined){if(rn.get||rn.set){return false}if(!rn.writable){return false}sn={value:en}}else{sn={writable:true,enumerable:true,configurable:true,value:en}}return Reflect.defineProperty(tn,Pt,sn)}defineProperty(Wt,Pt,en){if(typeof Pt==="symbol"){return Reflect.defineProperty(Wt,Pt,en)}const tn=this._globalObject;if(nn.isArrayIndexPropName(Pt)){return false}if(!nn.hasOwn(Wt,Pt)){const en=!(Wt[an].namedItem(Pt)!==null);if(!en){return false}}return Reflect.defineProperty(Wt,Pt,en)}deleteProperty(Wt,Pt){if(typeof Pt==="symbol"){return Reflect.deleteProperty(Wt,Pt)}const en=this._globalObject;if(nn.isArrayIndexPropName(Pt)){const en=Pt>>>0;return!(Wt[an].item(en)!==null)}if(Wt[an].namedItem(Pt)!==null&&!(Pt in Wt)){return false}return Reflect.deleteProperty(Wt,Pt)}preventExtensions(){return false}}const dn=en(12085)},618:(Wt,Pt,en)=>{const tn=en(37125);const nn=en(87094);const an=en(84175).HTMLConstructor;const In=en(48708);const rn=en(8348).ceReactionsPreSteps;const sn=en(8348).ceReactionsPostSteps;const on=nn.implSymbol;const cn=nn.ctorRegistrySymbol;const dn="HTMLFormElement";Pt.is=Wt=>nn.isObject(Wt)&&nn.hasOwn(Wt,on)&&Wt[on]instanceof pn.implementation;Pt.isImpl=Wt=>nn.isObject(Wt)&&Wt instanceof pn.implementation;Pt.convert=(Wt,en,{context:tn="The provided value"}={})=>{if(Pt.is(en)){return nn.implForWrapper(en)}throw new Wt.TypeError(`${tn} is not of type 'HTMLFormElement'.`)};function makeWrapper(Wt,Pt){let en;if(Pt!==undefined){en=Pt.prototype}if(!nn.isObject(en)){en=Wt[cn]["HTMLFormElement"].prototype}return Object.create(en)}Pt.create=(Wt,en,tn)=>{const nn=makeWrapper(Wt);return Pt.setup(nn,Wt,en,tn)};Pt.createImpl=(Wt,en,tn)=>{const an=Pt.create(Wt,en,tn);return nn.implForWrapper(an)};Pt._internalSetup=(Wt,Pt)=>{In._internalSetup(Wt,Pt)};Pt.setup=(Wt,en,tn=[],an={})=>{an.wrapper=Wt;Pt._internalSetup(Wt,en);Object.defineProperty(Wt,on,{value:new pn.implementation(en,tn,an),configurable:true});Wt[on][nn.wrapperSymbol]=Wt;if(pn.init){pn.init(Wt[on])}return Wt};Pt["new"]=(Wt,en)=>{const tn=makeWrapper(Wt,en);Pt._internalSetup(tn,Wt);Object.defineProperty(tn,on,{value:Object.create(pn.implementation.prototype),configurable:true});tn[on][nn.wrapperSymbol]=tn;if(pn.init){pn.init(tn[on])}return tn[on]};const un=new Set(["Window"]);Pt.install=(Wt,en)=>{if(!en.some((Wt=>un.has(Wt)))){return}const cn=nn.initCtorRegistry(Wt);class HTMLFormElement extends Wt.HTMLElement{constructor(){return an(Wt,dn,new.target)}submit(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'submit' called on an object that is not a valid instance of HTMLFormElement.")}return en[on].submit()}requestSubmit(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'requestSubmit' called on an object that is not a valid instance of HTMLFormElement.")}const tn=[];{let Pt=arguments[0];if(Pt!==undefined){Pt=In.convert(Wt,Pt,{context:"Failed to execute 'requestSubmit' on 'HTMLFormElement': parameter 1"})}tn.push(Pt)}return en[on].requestSubmit(...tn)}reset(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'reset' called on an object that is not a valid instance of HTMLFormElement.")}rn(Wt);try{return en[on].reset()}finally{sn(Wt)}}checkValidity(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'checkValidity' called on an object that is not a valid instance of HTMLFormElement.")}return en[on].checkValidity()}reportValidity(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'reportValidity' called on an object that is not a valid instance of HTMLFormElement.")}return en[on].reportValidity()}get acceptCharset(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get acceptCharset' called on an object that is not a valid instance of HTMLFormElement.")}rn(Wt);try{const Wt=en[on]._reflectGetTheContentAttribute("accept-charset");return Wt===null?"":Wt}finally{sn(Wt)}}set acceptCharset(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set acceptCharset' called on an object that is not a valid instance of HTMLFormElement.")}en=tn["DOMString"](en,{context:"Failed to set the 'acceptCharset' property on 'HTMLFormElement': The provided value",globals:Wt});rn(Wt);try{nn[on]._reflectSetTheContentAttribute("accept-charset",en)}finally{sn(Wt)}}get action(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get action' called on an object that is not a valid instance of HTMLFormElement.")}rn(Wt);try{return en[on]["action"]}finally{sn(Wt)}}set action(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set action' called on an object that is not a valid instance of HTMLFormElement.")}en=tn["USVString"](en,{context:"Failed to set the 'action' property on 'HTMLFormElement': The provided value",globals:Wt});rn(Wt);try{nn[on]["action"]=en}finally{sn(Wt)}}get enctype(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get enctype' called on an object that is not a valid instance of HTMLFormElement.")}rn(Wt);try{return en[on]["enctype"]}finally{sn(Wt)}}set enctype(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set enctype' called on an object that is not a valid instance of HTMLFormElement.")}en=tn["DOMString"](en,{context:"Failed to set the 'enctype' property on 'HTMLFormElement': The provided value",globals:Wt});rn(Wt);try{nn[on]["enctype"]=en}finally{sn(Wt)}}get method(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get method' called on an object that is not a valid instance of HTMLFormElement.")}rn(Wt);try{return en[on]["method"]}finally{sn(Wt)}}set method(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set method' called on an object that is not a valid instance of HTMLFormElement.")}en=tn["DOMString"](en,{context:"Failed to set the 'method' property on 'HTMLFormElement': The provided value",globals:Wt});rn(Wt);try{nn[on]["method"]=en}finally{sn(Wt)}}get name(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get name' called on an object that is not a valid instance of HTMLFormElement.")}rn(Wt);try{const Wt=en[on]._reflectGetTheContentAttribute("name");return Wt===null?"":Wt}finally{sn(Wt)}}set name(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set name' called on an object that is not a valid instance of HTMLFormElement.")}en=tn["DOMString"](en,{context:"Failed to set the 'name' property on 'HTMLFormElement': The provided value",globals:Wt});rn(Wt);try{nn[on]._reflectSetTheContentAttribute("name",en)}finally{sn(Wt)}}get noValidate(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get noValidate' called on an object that is not a valid instance of HTMLFormElement.")}rn(Wt);try{return en[on]._reflectGetTheContentAttribute("novalidate")!==null}finally{sn(Wt)}}set noValidate(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set noValidate' called on an object that is not a valid instance of HTMLFormElement.")}en=tn["boolean"](en,{context:"Failed to set the 'noValidate' property on 'HTMLFormElement': The provided value",globals:Wt});rn(Wt);try{if(en){nn[on]._reflectSetTheContentAttribute("novalidate","")}else{nn[on]._reflectDeleteTheContentAttribute("novalidate")}}finally{sn(Wt)}}get target(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get target' called on an object that is not a valid instance of HTMLFormElement.")}rn(Wt);try{const Wt=en[on]._reflectGetTheContentAttribute("target");return Wt===null?"":Wt}finally{sn(Wt)}}set target(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set target' called on an object that is not a valid instance of HTMLFormElement.")}en=tn["DOMString"](en,{context:"Failed to set the 'target' property on 'HTMLFormElement': The provided value",globals:Wt});rn(Wt);try{nn[on]._reflectSetTheContentAttribute("target",en)}finally{sn(Wt)}}get elements(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get elements' called on an object that is not a valid instance of HTMLFormElement.")}return nn.getSameObject(this,"elements",(()=>nn.tryWrapperForImpl(en[on]["elements"])))}get length(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get length' called on an object that is not a valid instance of HTMLFormElement.")}return en[on]["length"]}}Object.defineProperties(HTMLFormElement.prototype,{submit:{enumerable:true},requestSubmit:{enumerable:true},reset:{enumerable:true},checkValidity:{enumerable:true},reportValidity:{enumerable:true},acceptCharset:{enumerable:true},action:{enumerable:true},enctype:{enumerable:true},method:{enumerable:true},name:{enumerable:true},noValidate:{enumerable:true},target:{enumerable:true},elements:{enumerable:true},length:{enumerable:true},[Symbol.toStringTag]:{value:"HTMLFormElement",configurable:true}});cn[dn]=HTMLFormElement;Object.defineProperty(Wt,dn,{configurable:true,writable:true,value:HTMLFormElement})};const pn=en(70161)},58713:(Wt,Pt,en)=>{const tn=en(37125);const nn=en(87094);const an=en(84175).HTMLConstructor;const In=en(8348).ceReactionsPreSteps;const rn=en(8348).ceReactionsPostSteps;const sn=en(30962).parseURLToResultingURLRecord;const on=en(78012).serializeURL;const cn=nn.implSymbol;const dn=nn.ctorRegistrySymbol;const un=en(48708);const pn="HTMLFrameElement";Pt.is=Wt=>nn.isObject(Wt)&&nn.hasOwn(Wt,cn)&&Wt[cn]instanceof bn.implementation;Pt.isImpl=Wt=>nn.isObject(Wt)&&Wt instanceof bn.implementation;Pt.convert=(Wt,en,{context:tn="The provided value"}={})=>{if(Pt.is(en)){return nn.implForWrapper(en)}throw new Wt.TypeError(`${tn} is not of type 'HTMLFrameElement'.`)};function makeWrapper(Wt,Pt){let en;if(Pt!==undefined){en=Pt.prototype}if(!nn.isObject(en)){en=Wt[dn]["HTMLFrameElement"].prototype}return Object.create(en)}Pt.create=(Wt,en,tn)=>{const nn=makeWrapper(Wt);return Pt.setup(nn,Wt,en,tn)};Pt.createImpl=(Wt,en,tn)=>{const an=Pt.create(Wt,en,tn);return nn.implForWrapper(an)};Pt._internalSetup=(Wt,Pt)=>{un._internalSetup(Wt,Pt)};Pt.setup=(Wt,en,tn=[],an={})=>{an.wrapper=Wt;Pt._internalSetup(Wt,en);Object.defineProperty(Wt,cn,{value:new bn.implementation(en,tn,an),configurable:true});Wt[cn][nn.wrapperSymbol]=Wt;if(bn.init){bn.init(Wt[cn])}return Wt};Pt["new"]=(Wt,en)=>{const tn=makeWrapper(Wt,en);Pt._internalSetup(tn,Wt);Object.defineProperty(tn,cn,{value:Object.create(bn.implementation.prototype),configurable:true});tn[cn][nn.wrapperSymbol]=tn;if(bn.init){bn.init(tn[cn])}return tn[cn]};const mn=new Set(["Window"]);Pt.install=(Wt,en)=>{if(!en.some((Wt=>mn.has(Wt)))){return}const dn=nn.initCtorRegistry(Wt);class HTMLFrameElement extends Wt.HTMLElement{constructor(){return an(Wt,pn,new.target)}get name(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get name' called on an object that is not a valid instance of HTMLFrameElement.")}In(Wt);try{const Wt=en[cn]._reflectGetTheContentAttribute("name");return Wt===null?"":Wt}finally{rn(Wt)}}set name(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set name' called on an object that is not a valid instance of HTMLFrameElement.")}en=tn["DOMString"](en,{context:"Failed to set the 'name' property on 'HTMLFrameElement': The provided value",globals:Wt});In(Wt);try{nn[cn]._reflectSetTheContentAttribute("name",en)}finally{rn(Wt)}}get scrolling(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get scrolling' called on an object that is not a valid instance of HTMLFrameElement.")}In(Wt);try{const Wt=en[cn]._reflectGetTheContentAttribute("scrolling");return Wt===null?"":Wt}finally{rn(Wt)}}set scrolling(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set scrolling' called on an object that is not a valid instance of HTMLFrameElement.")}en=tn["DOMString"](en,{context:"Failed to set the 'scrolling' property on 'HTMLFrameElement': The provided value",globals:Wt});In(Wt);try{nn[cn]._reflectSetTheContentAttribute("scrolling",en)}finally{rn(Wt)}}get src(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get src' called on an object that is not a valid instance of HTMLFrameElement.")}In(Wt);try{const Wt=en[cn]._reflectGetTheContentAttribute("src");if(Wt===null){return""}const Pt=sn(Wt,en[cn]._ownerDocument);if(Pt!==null){return on(Pt)}return tn.USVString(Wt)}finally{rn(Wt)}}set src(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set src' called on an object that is not a valid instance of HTMLFrameElement.")}en=tn["USVString"](en,{context:"Failed to set the 'src' property on 'HTMLFrameElement': The provided value",globals:Wt});In(Wt);try{nn[cn]._reflectSetTheContentAttribute("src",en)}finally{rn(Wt)}}get frameBorder(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get frameBorder' called on an object that is not a valid instance of HTMLFrameElement.")}In(Wt);try{const Wt=en[cn]._reflectGetTheContentAttribute("frameborder");return Wt===null?"":Wt}finally{rn(Wt)}}set frameBorder(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set frameBorder' called on an object that is not a valid instance of HTMLFrameElement.")}en=tn["DOMString"](en,{context:"Failed to set the 'frameBorder' property on 'HTMLFrameElement': The provided value",globals:Wt});In(Wt);try{nn[cn]._reflectSetTheContentAttribute("frameborder",en)}finally{rn(Wt)}}get longDesc(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get longDesc' called on an object that is not a valid instance of HTMLFrameElement.")}In(Wt);try{const Wt=en[cn]._reflectGetTheContentAttribute("longdesc");if(Wt===null){return""}const Pt=sn(Wt,en[cn]._ownerDocument);if(Pt!==null){return on(Pt)}return tn.USVString(Wt)}finally{rn(Wt)}}set longDesc(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set longDesc' called on an object that is not a valid instance of HTMLFrameElement.")}en=tn["USVString"](en,{context:"Failed to set the 'longDesc' property on 'HTMLFrameElement': The provided value",globals:Wt});In(Wt);try{nn[cn]._reflectSetTheContentAttribute("longdesc",en)}finally{rn(Wt)}}get noResize(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get noResize' called on an object that is not a valid instance of HTMLFrameElement.")}In(Wt);try{return en[cn]._reflectGetTheContentAttribute("noresize")!==null}finally{rn(Wt)}}set noResize(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set noResize' called on an object that is not a valid instance of HTMLFrameElement.")}en=tn["boolean"](en,{context:"Failed to set the 'noResize' property on 'HTMLFrameElement': The provided value",globals:Wt});In(Wt);try{if(en){nn[cn]._reflectSetTheContentAttribute("noresize","")}else{nn[cn]._reflectDeleteTheContentAttribute("noresize")}}finally{rn(Wt)}}get contentDocument(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get contentDocument' called on an object that is not a valid instance of HTMLFrameElement.")}return nn.tryWrapperForImpl(en[cn]["contentDocument"])}get contentWindow(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get contentWindow' called on an object that is not a valid instance of HTMLFrameElement.")}return nn.tryWrapperForImpl(en[cn]["contentWindow"])}get marginHeight(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get marginHeight' called on an object that is not a valid instance of HTMLFrameElement.")}In(Wt);try{const Wt=en[cn]._reflectGetTheContentAttribute("marginheight");return Wt===null?"":Wt}finally{rn(Wt)}}set marginHeight(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set marginHeight' called on an object that is not a valid instance of HTMLFrameElement.")}en=tn["DOMString"](en,{context:"Failed to set the 'marginHeight' property on 'HTMLFrameElement': The provided value",globals:Wt,treatNullAsEmptyString:true});In(Wt);try{nn[cn]._reflectSetTheContentAttribute("marginheight",en)}finally{rn(Wt)}}get marginWidth(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get marginWidth' called on an object that is not a valid instance of HTMLFrameElement.")}In(Wt);try{const Wt=en[cn]._reflectGetTheContentAttribute("marginwidth");return Wt===null?"":Wt}finally{rn(Wt)}}set marginWidth(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set marginWidth' called on an object that is not a valid instance of HTMLFrameElement.")}en=tn["DOMString"](en,{context:"Failed to set the 'marginWidth' property on 'HTMLFrameElement': The provided value",globals:Wt,treatNullAsEmptyString:true});In(Wt);try{nn[cn]._reflectSetTheContentAttribute("marginwidth",en)}finally{rn(Wt)}}}Object.defineProperties(HTMLFrameElement.prototype,{name:{enumerable:true},scrolling:{enumerable:true},src:{enumerable:true},frameBorder:{enumerable:true},longDesc:{enumerable:true},noResize:{enumerable:true},contentDocument:{enumerable:true},contentWindow:{enumerable:true},marginHeight:{enumerable:true},marginWidth:{enumerable:true},[Symbol.toStringTag]:{value:"HTMLFrameElement",configurable:true}});dn[pn]=HTMLFrameElement;Object.defineProperty(Wt,pn,{configurable:true,writable:true,value:HTMLFrameElement})};const bn=en(7700)},83849:(Wt,Pt,en)=>{const tn=en(37125);const nn=en(87094);const an=en(84175).HTMLConstructor;const In=en(8348).ceReactionsPreSteps;const rn=en(8348).ceReactionsPostSteps;const sn=en(69117);const on=en(98574);const cn=nn.implSymbol;const dn=nn.ctorRegistrySymbol;const un=en(48708);const pn="HTMLFrameSetElement";Pt.is=Wt=>nn.isObject(Wt)&&nn.hasOwn(Wt,cn)&&Wt[cn]instanceof bn.implementation;Pt.isImpl=Wt=>nn.isObject(Wt)&&Wt instanceof bn.implementation;Pt.convert=(Wt,en,{context:tn="The provided value"}={})=>{if(Pt.is(en)){return nn.implForWrapper(en)}throw new Wt.TypeError(`${tn} is not of type 'HTMLFrameSetElement'.`)};function makeWrapper(Wt,Pt){let en;if(Pt!==undefined){en=Pt.prototype}if(!nn.isObject(en)){en=Wt[dn]["HTMLFrameSetElement"].prototype}return Object.create(en)}Pt.create=(Wt,en,tn)=>{const nn=makeWrapper(Wt);return Pt.setup(nn,Wt,en,tn)};Pt.createImpl=(Wt,en,tn)=>{const an=Pt.create(Wt,en,tn);return nn.implForWrapper(an)};Pt._internalSetup=(Wt,Pt)=>{un._internalSetup(Wt,Pt)};Pt.setup=(Wt,en,tn=[],an={})=>{an.wrapper=Wt;Pt._internalSetup(Wt,en);Object.defineProperty(Wt,cn,{value:new bn.implementation(en,tn,an),configurable:true});Wt[cn][nn.wrapperSymbol]=Wt;if(bn.init){bn.init(Wt[cn])}return Wt};Pt["new"]=(Wt,en)=>{const tn=makeWrapper(Wt,en);Pt._internalSetup(tn,Wt);Object.defineProperty(tn,cn,{value:Object.create(bn.implementation.prototype),configurable:true});tn[cn][nn.wrapperSymbol]=tn;if(bn.init){bn.init(tn[cn])}return tn[cn]};const mn=new Set(["Window"]);Pt.install=(Wt,en)=>{if(!en.some((Wt=>mn.has(Wt)))){return}const dn=nn.initCtorRegistry(Wt);class HTMLFrameSetElement extends Wt.HTMLElement{constructor(){return an(Wt,pn,new.target)}get cols(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get cols' called on an object that is not a valid instance of HTMLFrameSetElement.")}In(Wt);try{const Wt=en[cn]._reflectGetTheContentAttribute("cols");return Wt===null?"":Wt}finally{rn(Wt)}}set cols(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set cols' called on an object that is not a valid instance of HTMLFrameSetElement.")}en=tn["DOMString"](en,{context:"Failed to set the 'cols' property on 'HTMLFrameSetElement': The provided value",globals:Wt});In(Wt);try{nn[cn]._reflectSetTheContentAttribute("cols",en)}finally{rn(Wt)}}get rows(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get rows' called on an object that is not a valid instance of HTMLFrameSetElement.")}In(Wt);try{const Wt=en[cn]._reflectGetTheContentAttribute("rows");return Wt===null?"":Wt}finally{rn(Wt)}}set rows(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set rows' called on an object that is not a valid instance of HTMLFrameSetElement.")}en=tn["DOMString"](en,{context:"Failed to set the 'rows' property on 'HTMLFrameSetElement': The provided value",globals:Wt});In(Wt);try{nn[cn]._reflectSetTheContentAttribute("rows",en)}finally{rn(Wt)}}get onafterprint(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get onafterprint' called on an object that is not a valid instance of HTMLFrameSetElement.")}return nn.tryWrapperForImpl(en[cn]["onafterprint"])}set onafterprint(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set onafterprint' called on an object that is not a valid instance of HTMLFrameSetElement.")}if(!nn.isObject(en)){en=null}else{en=sn.convert(Wt,en,{context:"Failed to set the 'onafterprint' property on 'HTMLFrameSetElement': The provided value"})}tn[cn]["onafterprint"]=en}get onbeforeprint(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get onbeforeprint' called on an object that is not a valid instance of HTMLFrameSetElement.")}return nn.tryWrapperForImpl(en[cn]["onbeforeprint"])}set onbeforeprint(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set onbeforeprint' called on an object that is not a valid instance of HTMLFrameSetElement.")}if(!nn.isObject(en)){en=null}else{en=sn.convert(Wt,en,{context:"Failed to set the 'onbeforeprint' property on 'HTMLFrameSetElement': The provided value"})}tn[cn]["onbeforeprint"]=en}get onbeforeunload(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get onbeforeunload' called on an object that is not a valid instance of HTMLFrameSetElement.")}return nn.tryWrapperForImpl(en[cn]["onbeforeunload"])}set onbeforeunload(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set onbeforeunload' called on an object that is not a valid instance of HTMLFrameSetElement.")}if(!nn.isObject(en)){en=null}else{en=on.convert(Wt,en,{context:"Failed to set the 'onbeforeunload' property on 'HTMLFrameSetElement': The provided value"})}tn[cn]["onbeforeunload"]=en}get onhashchange(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get onhashchange' called on an object that is not a valid instance of HTMLFrameSetElement.")}return nn.tryWrapperForImpl(en[cn]["onhashchange"])}set onhashchange(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set onhashchange' called on an object that is not a valid instance of HTMLFrameSetElement.")}if(!nn.isObject(en)){en=null}else{en=sn.convert(Wt,en,{context:"Failed to set the 'onhashchange' property on 'HTMLFrameSetElement': The provided value"})}tn[cn]["onhashchange"]=en}get onlanguagechange(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get onlanguagechange' called on an object that is not a valid instance of HTMLFrameSetElement.")}return nn.tryWrapperForImpl(en[cn]["onlanguagechange"])}set onlanguagechange(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set onlanguagechange' called on an object that is not a valid instance of HTMLFrameSetElement.")}if(!nn.isObject(en)){en=null}else{en=sn.convert(Wt,en,{context:"Failed to set the 'onlanguagechange' property on 'HTMLFrameSetElement': The provided value"})}tn[cn]["onlanguagechange"]=en}get onmessage(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get onmessage' called on an object that is not a valid instance of HTMLFrameSetElement.")}return nn.tryWrapperForImpl(en[cn]["onmessage"])}set onmessage(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set onmessage' called on an object that is not a valid instance of HTMLFrameSetElement.")}if(!nn.isObject(en)){en=null}else{en=sn.convert(Wt,en,{context:"Failed to set the 'onmessage' property on 'HTMLFrameSetElement': The provided value"})}tn[cn]["onmessage"]=en}get onmessageerror(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get onmessageerror' called on an object that is not a valid instance of HTMLFrameSetElement.")}return nn.tryWrapperForImpl(en[cn]["onmessageerror"])}set onmessageerror(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set onmessageerror' called on an object that is not a valid instance of HTMLFrameSetElement.")}if(!nn.isObject(en)){en=null}else{en=sn.convert(Wt,en,{context:"Failed to set the 'onmessageerror' property on 'HTMLFrameSetElement': The provided value"})}tn[cn]["onmessageerror"]=en}get onoffline(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get onoffline' called on an object that is not a valid instance of HTMLFrameSetElement.")}return nn.tryWrapperForImpl(en[cn]["onoffline"])}set onoffline(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set onoffline' called on an object that is not a valid instance of HTMLFrameSetElement.")}if(!nn.isObject(en)){en=null}else{en=sn.convert(Wt,en,{context:"Failed to set the 'onoffline' property on 'HTMLFrameSetElement': The provided value"})}tn[cn]["onoffline"]=en}get ononline(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get ononline' called on an object that is not a valid instance of HTMLFrameSetElement.")}return nn.tryWrapperForImpl(en[cn]["ononline"])}set ononline(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set ononline' called on an object that is not a valid instance of HTMLFrameSetElement.")}if(!nn.isObject(en)){en=null}else{en=sn.convert(Wt,en,{context:"Failed to set the 'ononline' property on 'HTMLFrameSetElement': The provided value"})}tn[cn]["ononline"]=en}get onpagehide(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get onpagehide' called on an object that is not a valid instance of HTMLFrameSetElement.")}return nn.tryWrapperForImpl(en[cn]["onpagehide"])}set onpagehide(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set onpagehide' called on an object that is not a valid instance of HTMLFrameSetElement.")}if(!nn.isObject(en)){en=null}else{en=sn.convert(Wt,en,{context:"Failed to set the 'onpagehide' property on 'HTMLFrameSetElement': The provided value"})}tn[cn]["onpagehide"]=en}get onpageshow(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get onpageshow' called on an object that is not a valid instance of HTMLFrameSetElement.")}return nn.tryWrapperForImpl(en[cn]["onpageshow"])}set onpageshow(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set onpageshow' called on an object that is not a valid instance of HTMLFrameSetElement.")}if(!nn.isObject(en)){en=null}else{en=sn.convert(Wt,en,{context:"Failed to set the 'onpageshow' property on 'HTMLFrameSetElement': The provided value"})}tn[cn]["onpageshow"]=en}get onpopstate(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get onpopstate' called on an object that is not a valid instance of HTMLFrameSetElement.")}return nn.tryWrapperForImpl(en[cn]["onpopstate"])}set onpopstate(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set onpopstate' called on an object that is not a valid instance of HTMLFrameSetElement.")}if(!nn.isObject(en)){en=null}else{en=sn.convert(Wt,en,{context:"Failed to set the 'onpopstate' property on 'HTMLFrameSetElement': The provided value"})}tn[cn]["onpopstate"]=en}get onrejectionhandled(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get onrejectionhandled' called on an object that is not a valid instance of HTMLFrameSetElement.")}return nn.tryWrapperForImpl(en[cn]["onrejectionhandled"])}set onrejectionhandled(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set onrejectionhandled' called on an object that is not a valid instance of HTMLFrameSetElement.")}if(!nn.isObject(en)){en=null}else{en=sn.convert(Wt,en,{context:"Failed to set the 'onrejectionhandled' property on 'HTMLFrameSetElement': The provided value"})}tn[cn]["onrejectionhandled"]=en}get onstorage(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get onstorage' called on an object that is not a valid instance of HTMLFrameSetElement.")}return nn.tryWrapperForImpl(en[cn]["onstorage"])}set onstorage(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set onstorage' called on an object that is not a valid instance of HTMLFrameSetElement.")}if(!nn.isObject(en)){en=null}else{en=sn.convert(Wt,en,{context:"Failed to set the 'onstorage' property on 'HTMLFrameSetElement': The provided value"})}tn[cn]["onstorage"]=en}get onunhandledrejection(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get onunhandledrejection' called on an object that is not a valid instance of HTMLFrameSetElement.")}return nn.tryWrapperForImpl(en[cn]["onunhandledrejection"])}set onunhandledrejection(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set onunhandledrejection' called on an object that is not a valid instance of HTMLFrameSetElement.")}if(!nn.isObject(en)){en=null}else{en=sn.convert(Wt,en,{context:"Failed to set the 'onunhandledrejection' property on 'HTMLFrameSetElement': The provided value"})}tn[cn]["onunhandledrejection"]=en}get onunload(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get onunload' called on an object that is not a valid instance of HTMLFrameSetElement.")}return nn.tryWrapperForImpl(en[cn]["onunload"])}set onunload(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set onunload' called on an object that is not a valid instance of HTMLFrameSetElement.")}if(!nn.isObject(en)){en=null}else{en=sn.convert(Wt,en,{context:"Failed to set the 'onunload' property on 'HTMLFrameSetElement': The provided value"})}tn[cn]["onunload"]=en}}Object.defineProperties(HTMLFrameSetElement.prototype,{cols:{enumerable:true},rows:{enumerable:true},onafterprint:{enumerable:true},onbeforeprint:{enumerable:true},onbeforeunload:{enumerable:true},onhashchange:{enumerable:true},onlanguagechange:{enumerable:true},onmessage:{enumerable:true},onmessageerror:{enumerable:true},onoffline:{enumerable:true},ononline:{enumerable:true},onpagehide:{enumerable:true},onpageshow:{enumerable:true},onpopstate:{enumerable:true},onrejectionhandled:{enumerable:true},onstorage:{enumerable:true},onunhandledrejection:{enumerable:true},onunload:{enumerable:true},[Symbol.toStringTag]:{value:"HTMLFrameSetElement",configurable:true}});dn[pn]=HTMLFrameSetElement;Object.defineProperty(Wt,pn,{configurable:true,writable:true,value:HTMLFrameSetElement})};const bn=en(67660)},11610:(Wt,Pt,en)=>{const tn=en(37125);const nn=en(87094);const an=en(84175).HTMLConstructor;const In=en(8348).ceReactionsPreSteps;const rn=en(8348).ceReactionsPostSteps;const sn=nn.implSymbol;const on=nn.ctorRegistrySymbol;const cn=en(48708);const dn="HTMLHRElement";Pt.is=Wt=>nn.isObject(Wt)&&nn.hasOwn(Wt,sn)&&Wt[sn]instanceof pn.implementation;Pt.isImpl=Wt=>nn.isObject(Wt)&&Wt instanceof pn.implementation;Pt.convert=(Wt,en,{context:tn="The provided value"}={})=>{if(Pt.is(en)){return nn.implForWrapper(en)}throw new Wt.TypeError(`${tn} is not of type 'HTMLHRElement'.`)};function makeWrapper(Wt,Pt){let en;if(Pt!==undefined){en=Pt.prototype}if(!nn.isObject(en)){en=Wt[on]["HTMLHRElement"].prototype}return Object.create(en)}Pt.create=(Wt,en,tn)=>{const nn=makeWrapper(Wt);return Pt.setup(nn,Wt,en,tn)};Pt.createImpl=(Wt,en,tn)=>{const an=Pt.create(Wt,en,tn);return nn.implForWrapper(an)};Pt._internalSetup=(Wt,Pt)=>{cn._internalSetup(Wt,Pt)};Pt.setup=(Wt,en,tn=[],an={})=>{an.wrapper=Wt;Pt._internalSetup(Wt,en);Object.defineProperty(Wt,sn,{value:new pn.implementation(en,tn,an),configurable:true});Wt[sn][nn.wrapperSymbol]=Wt;if(pn.init){pn.init(Wt[sn])}return Wt};Pt["new"]=(Wt,en)=>{const tn=makeWrapper(Wt,en);Pt._internalSetup(tn,Wt);Object.defineProperty(tn,sn,{value:Object.create(pn.implementation.prototype),configurable:true});tn[sn][nn.wrapperSymbol]=tn;if(pn.init){pn.init(tn[sn])}return tn[sn]};const un=new Set(["Window"]);Pt.install=(Wt,en)=>{if(!en.some((Wt=>un.has(Wt)))){return}const on=nn.initCtorRegistry(Wt);class HTMLHRElement extends Wt.HTMLElement{constructor(){return an(Wt,dn,new.target)}get align(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get align' called on an object that is not a valid instance of HTMLHRElement.")}In(Wt);try{const Wt=en[sn]._reflectGetTheContentAttribute("align");return Wt===null?"":Wt}finally{rn(Wt)}}set align(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set align' called on an object that is not a valid instance of HTMLHRElement.")}en=tn["DOMString"](en,{context:"Failed to set the 'align' property on 'HTMLHRElement': The provided value",globals:Wt});In(Wt);try{nn[sn]._reflectSetTheContentAttribute("align",en)}finally{rn(Wt)}}get color(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get color' called on an object that is not a valid instance of HTMLHRElement.")}In(Wt);try{const Wt=en[sn]._reflectGetTheContentAttribute("color");return Wt===null?"":Wt}finally{rn(Wt)}}set color(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set color' called on an object that is not a valid instance of HTMLHRElement.")}en=tn["DOMString"](en,{context:"Failed to set the 'color' property on 'HTMLHRElement': The provided value",globals:Wt});In(Wt);try{nn[sn]._reflectSetTheContentAttribute("color",en)}finally{rn(Wt)}}get noShade(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get noShade' called on an object that is not a valid instance of HTMLHRElement.")}In(Wt);try{return en[sn]._reflectGetTheContentAttribute("noshade")!==null}finally{rn(Wt)}}set noShade(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set noShade' called on an object that is not a valid instance of HTMLHRElement.")}en=tn["boolean"](en,{context:"Failed to set the 'noShade' property on 'HTMLHRElement': The provided value",globals:Wt});In(Wt);try{if(en){nn[sn]._reflectSetTheContentAttribute("noshade","")}else{nn[sn]._reflectDeleteTheContentAttribute("noshade")}}finally{rn(Wt)}}get size(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get size' called on an object that is not a valid instance of HTMLHRElement.")}In(Wt);try{const Wt=en[sn]._reflectGetTheContentAttribute("size");return Wt===null?"":Wt}finally{rn(Wt)}}set size(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set size' called on an object that is not a valid instance of HTMLHRElement.")}en=tn["DOMString"](en,{context:"Failed to set the 'size' property on 'HTMLHRElement': The provided value",globals:Wt});In(Wt);try{nn[sn]._reflectSetTheContentAttribute("size",en)}finally{rn(Wt)}}get width(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get width' called on an object that is not a valid instance of HTMLHRElement.")}In(Wt);try{const Wt=en[sn]._reflectGetTheContentAttribute("width");return Wt===null?"":Wt}finally{rn(Wt)}}set width(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set width' called on an object that is not a valid instance of HTMLHRElement.")}en=tn["DOMString"](en,{context:"Failed to set the 'width' property on 'HTMLHRElement': The provided value",globals:Wt});In(Wt);try{nn[sn]._reflectSetTheContentAttribute("width",en)}finally{rn(Wt)}}}Object.defineProperties(HTMLHRElement.prototype,{align:{enumerable:true},color:{enumerable:true},noShade:{enumerable:true},size:{enumerable:true},width:{enumerable:true},[Symbol.toStringTag]:{value:"HTMLHRElement",configurable:true}});on[dn]=HTMLHRElement;Object.defineProperty(Wt,dn,{configurable:true,writable:true,value:HTMLHRElement})};const pn=en(46505)},51382:(Wt,Pt,en)=>{const tn=en(37125);const nn=en(87094);const an=en(84175).HTMLConstructor;const In=nn.implSymbol;const rn=nn.ctorRegistrySymbol;const sn=en(48708);const on="HTMLHeadElement";Pt.is=Wt=>nn.isObject(Wt)&&nn.hasOwn(Wt,In)&&Wt[In]instanceof dn.implementation;Pt.isImpl=Wt=>nn.isObject(Wt)&&Wt instanceof dn.implementation;Pt.convert=(Wt,en,{context:tn="The provided value"}={})=>{if(Pt.is(en)){return nn.implForWrapper(en)}throw new Wt.TypeError(`${tn} is not of type 'HTMLHeadElement'.`)};function makeWrapper(Wt,Pt){let en;if(Pt!==undefined){en=Pt.prototype}if(!nn.isObject(en)){en=Wt[rn]["HTMLHeadElement"].prototype}return Object.create(en)}Pt.create=(Wt,en,tn)=>{const nn=makeWrapper(Wt);return Pt.setup(nn,Wt,en,tn)};Pt.createImpl=(Wt,en,tn)=>{const an=Pt.create(Wt,en,tn);return nn.implForWrapper(an)};Pt._internalSetup=(Wt,Pt)=>{sn._internalSetup(Wt,Pt)};Pt.setup=(Wt,en,tn=[],an={})=>{an.wrapper=Wt;Pt._internalSetup(Wt,en);Object.defineProperty(Wt,In,{value:new dn.implementation(en,tn,an),configurable:true});Wt[In][nn.wrapperSymbol]=Wt;if(dn.init){dn.init(Wt[In])}return Wt};Pt["new"]=(Wt,en)=>{const tn=makeWrapper(Wt,en);Pt._internalSetup(tn,Wt);Object.defineProperty(tn,In,{value:Object.create(dn.implementation.prototype),configurable:true});tn[In][nn.wrapperSymbol]=tn;if(dn.init){dn.init(tn[In])}return tn[In]};const cn=new Set(["Window"]);Pt.install=(Wt,Pt)=>{if(!Pt.some((Wt=>cn.has(Wt)))){return}const en=nn.initCtorRegistry(Wt);class HTMLHeadElement extends Wt.HTMLElement{constructor(){return an(Wt,on,new.target)}}Object.defineProperties(HTMLHeadElement.prototype,{[Symbol.toStringTag]:{value:"HTMLHeadElement",configurable:true}});en[on]=HTMLHeadElement;Object.defineProperty(Wt,on,{configurable:true,writable:true,value:HTMLHeadElement})};const dn=en(69573)},39564:(Wt,Pt,en)=>{const tn=en(37125);const nn=en(87094);const an=en(84175).HTMLConstructor;const In=en(8348).ceReactionsPreSteps;const rn=en(8348).ceReactionsPostSteps;const sn=nn.implSymbol;const on=nn.ctorRegistrySymbol;const cn=en(48708);const dn="HTMLHeadingElement";Pt.is=Wt=>nn.isObject(Wt)&&nn.hasOwn(Wt,sn)&&Wt[sn]instanceof pn.implementation;Pt.isImpl=Wt=>nn.isObject(Wt)&&Wt instanceof pn.implementation;Pt.convert=(Wt,en,{context:tn="The provided value"}={})=>{if(Pt.is(en)){return nn.implForWrapper(en)}throw new Wt.TypeError(`${tn} is not of type 'HTMLHeadingElement'.`)};function makeWrapper(Wt,Pt){let en;if(Pt!==undefined){en=Pt.prototype}if(!nn.isObject(en)){en=Wt[on]["HTMLHeadingElement"].prototype}return Object.create(en)}Pt.create=(Wt,en,tn)=>{const nn=makeWrapper(Wt);return Pt.setup(nn,Wt,en,tn)};Pt.createImpl=(Wt,en,tn)=>{const an=Pt.create(Wt,en,tn);return nn.implForWrapper(an)};Pt._internalSetup=(Wt,Pt)=>{cn._internalSetup(Wt,Pt)};Pt.setup=(Wt,en,tn=[],an={})=>{an.wrapper=Wt;Pt._internalSetup(Wt,en);Object.defineProperty(Wt,sn,{value:new pn.implementation(en,tn,an),configurable:true});Wt[sn][nn.wrapperSymbol]=Wt;if(pn.init){pn.init(Wt[sn])}return Wt};Pt["new"]=(Wt,en)=>{const tn=makeWrapper(Wt,en);Pt._internalSetup(tn,Wt);Object.defineProperty(tn,sn,{value:Object.create(pn.implementation.prototype),configurable:true});tn[sn][nn.wrapperSymbol]=tn;if(pn.init){pn.init(tn[sn])}return tn[sn]};const un=new Set(["Window"]);Pt.install=(Wt,en)=>{if(!en.some((Wt=>un.has(Wt)))){return}const on=nn.initCtorRegistry(Wt);class HTMLHeadingElement extends Wt.HTMLElement{constructor(){return an(Wt,dn,new.target)}get align(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get align' called on an object that is not a valid instance of HTMLHeadingElement.")}In(Wt);try{const Wt=en[sn]._reflectGetTheContentAttribute("align");return Wt===null?"":Wt}finally{rn(Wt)}}set align(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set align' called on an object that is not a valid instance of HTMLHeadingElement.")}en=tn["DOMString"](en,{context:"Failed to set the 'align' property on 'HTMLHeadingElement': The provided value",globals:Wt});In(Wt);try{nn[sn]._reflectSetTheContentAttribute("align",en)}finally{rn(Wt)}}}Object.defineProperties(HTMLHeadingElement.prototype,{align:{enumerable:true},[Symbol.toStringTag]:{value:"HTMLHeadingElement",configurable:true}});on[dn]=HTMLHeadingElement;Object.defineProperty(Wt,dn,{configurable:true,writable:true,value:HTMLHeadingElement})};const pn=en(77031)},40031:(Wt,Pt,en)=>{const tn=en(37125);const nn=en(87094);const an=en(84175).HTMLConstructor;const In=en(8348).ceReactionsPreSteps;const rn=en(8348).ceReactionsPostSteps;const sn=nn.implSymbol;const on=nn.ctorRegistrySymbol;const cn=en(48708);const dn="HTMLHtmlElement";Pt.is=Wt=>nn.isObject(Wt)&&nn.hasOwn(Wt,sn)&&Wt[sn]instanceof pn.implementation;Pt.isImpl=Wt=>nn.isObject(Wt)&&Wt instanceof pn.implementation;Pt.convert=(Wt,en,{context:tn="The provided value"}={})=>{if(Pt.is(en)){return nn.implForWrapper(en)}throw new Wt.TypeError(`${tn} is not of type 'HTMLHtmlElement'.`)};function makeWrapper(Wt,Pt){let en;if(Pt!==undefined){en=Pt.prototype}if(!nn.isObject(en)){en=Wt[on]["HTMLHtmlElement"].prototype}return Object.create(en)}Pt.create=(Wt,en,tn)=>{const nn=makeWrapper(Wt);return Pt.setup(nn,Wt,en,tn)};Pt.createImpl=(Wt,en,tn)=>{const an=Pt.create(Wt,en,tn);return nn.implForWrapper(an)};Pt._internalSetup=(Wt,Pt)=>{cn._internalSetup(Wt,Pt)};Pt.setup=(Wt,en,tn=[],an={})=>{an.wrapper=Wt;Pt._internalSetup(Wt,en);Object.defineProperty(Wt,sn,{value:new pn.implementation(en,tn,an),configurable:true});Wt[sn][nn.wrapperSymbol]=Wt;if(pn.init){pn.init(Wt[sn])}return Wt};Pt["new"]=(Wt,en)=>{const tn=makeWrapper(Wt,en);Pt._internalSetup(tn,Wt);Object.defineProperty(tn,sn,{value:Object.create(pn.implementation.prototype),configurable:true});tn[sn][nn.wrapperSymbol]=tn;if(pn.init){pn.init(tn[sn])}return tn[sn]};const un=new Set(["Window"]);Pt.install=(Wt,en)=>{if(!en.some((Wt=>un.has(Wt)))){return}const on=nn.initCtorRegistry(Wt);class HTMLHtmlElement extends Wt.HTMLElement{constructor(){return an(Wt,dn,new.target)}get version(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get version' called on an object that is not a valid instance of HTMLHtmlElement.")}In(Wt);try{const Wt=en[sn]._reflectGetTheContentAttribute("version");return Wt===null?"":Wt}finally{rn(Wt)}}set version(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set version' called on an object that is not a valid instance of HTMLHtmlElement.")}en=tn["DOMString"](en,{context:"Failed to set the 'version' property on 'HTMLHtmlElement': The provided value",globals:Wt});In(Wt);try{nn[sn]._reflectSetTheContentAttribute("version",en)}finally{rn(Wt)}}}Object.defineProperties(HTMLHtmlElement.prototype,{version:{enumerable:true},[Symbol.toStringTag]:{value:"HTMLHtmlElement",configurable:true}});on[dn]=HTMLHtmlElement;Object.defineProperty(Wt,dn,{configurable:true,writable:true,value:HTMLHtmlElement})};const pn=en(48366)},58720:(Wt,Pt,en)=>{const tn=en(37125);const nn=en(87094);const an=en(84175).HTMLConstructor;const In=en(30962).parseURLToResultingURLRecord;const rn=en(78012).serializeURL;const sn=en(8348).ceReactionsPreSteps;const on=en(8348).ceReactionsPostSteps;const cn=nn.implSymbol;const dn=nn.ctorRegistrySymbol;const un=en(48708);const pn="HTMLIFrameElement";Pt.is=Wt=>nn.isObject(Wt)&&nn.hasOwn(Wt,cn)&&Wt[cn]instanceof bn.implementation;Pt.isImpl=Wt=>nn.isObject(Wt)&&Wt instanceof bn.implementation;Pt.convert=(Wt,en,{context:tn="The provided value"}={})=>{if(Pt.is(en)){return nn.implForWrapper(en)}throw new Wt.TypeError(`${tn} is not of type 'HTMLIFrameElement'.`)};function makeWrapper(Wt,Pt){let en;if(Pt!==undefined){en=Pt.prototype}if(!nn.isObject(en)){en=Wt[dn]["HTMLIFrameElement"].prototype}return Object.create(en)}Pt.create=(Wt,en,tn)=>{const nn=makeWrapper(Wt);return Pt.setup(nn,Wt,en,tn)};Pt.createImpl=(Wt,en,tn)=>{const an=Pt.create(Wt,en,tn);return nn.implForWrapper(an)};Pt._internalSetup=(Wt,Pt)=>{un._internalSetup(Wt,Pt)};Pt.setup=(Wt,en,tn=[],an={})=>{an.wrapper=Wt;Pt._internalSetup(Wt,en);Object.defineProperty(Wt,cn,{value:new bn.implementation(en,tn,an),configurable:true});Wt[cn][nn.wrapperSymbol]=Wt;if(bn.init){bn.init(Wt[cn])}return Wt};Pt["new"]=(Wt,en)=>{const tn=makeWrapper(Wt,en);Pt._internalSetup(tn,Wt);Object.defineProperty(tn,cn,{value:Object.create(bn.implementation.prototype),configurable:true});tn[cn][nn.wrapperSymbol]=tn;if(bn.init){bn.init(tn[cn])}return tn[cn]};const mn=new Set(["Window"]);Pt.install=(Wt,en)=>{if(!en.some((Wt=>mn.has(Wt)))){return}const dn=nn.initCtorRegistry(Wt);class HTMLIFrameElement extends Wt.HTMLElement{constructor(){return an(Wt,pn,new.target)}getSVGDocument(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'getSVGDocument' called on an object that is not a valid instance of HTMLIFrameElement.")}return nn.tryWrapperForImpl(en[cn].getSVGDocument())}get src(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get src' called on an object that is not a valid instance of HTMLIFrameElement.")}sn(Wt);try{const Wt=en[cn]._reflectGetTheContentAttribute("src");if(Wt===null){return""}const Pt=In(Wt,en[cn]._ownerDocument);if(Pt!==null){return rn(Pt)}return tn.USVString(Wt)}finally{on(Wt)}}set src(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set src' called on an object that is not a valid instance of HTMLIFrameElement.")}en=tn["USVString"](en,{context:"Failed to set the 'src' property on 'HTMLIFrameElement': The provided value",globals:Wt});sn(Wt);try{nn[cn]._reflectSetTheContentAttribute("src",en)}finally{on(Wt)}}get srcdoc(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get srcdoc' called on an object that is not a valid instance of HTMLIFrameElement.")}sn(Wt);try{const Wt=en[cn]._reflectGetTheContentAttribute("srcdoc");return Wt===null?"":Wt}finally{on(Wt)}}set srcdoc(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set srcdoc' called on an object that is not a valid instance of HTMLIFrameElement.")}en=tn["DOMString"](en,{context:"Failed to set the 'srcdoc' property on 'HTMLIFrameElement': The provided value",globals:Wt});sn(Wt);try{nn[cn]._reflectSetTheContentAttribute("srcdoc",en)}finally{on(Wt)}}get name(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get name' called on an object that is not a valid instance of HTMLIFrameElement.")}sn(Wt);try{const Wt=en[cn]._reflectGetTheContentAttribute("name");return Wt===null?"":Wt}finally{on(Wt)}}set name(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set name' called on an object that is not a valid instance of HTMLIFrameElement.")}en=tn["DOMString"](en,{context:"Failed to set the 'name' property on 'HTMLIFrameElement': The provided value",globals:Wt});sn(Wt);try{nn[cn]._reflectSetTheContentAttribute("name",en)}finally{on(Wt)}}get allowFullscreen(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get allowFullscreen' called on an object that is not a valid instance of HTMLIFrameElement.")}sn(Wt);try{return en[cn]._reflectGetTheContentAttribute("allowfullscreen")!==null}finally{on(Wt)}}set allowFullscreen(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set allowFullscreen' called on an object that is not a valid instance of HTMLIFrameElement.")}en=tn["boolean"](en,{context:"Failed to set the 'allowFullscreen' property on 'HTMLIFrameElement': The provided value",globals:Wt});sn(Wt);try{if(en){nn[cn]._reflectSetTheContentAttribute("allowfullscreen","")}else{nn[cn]._reflectDeleteTheContentAttribute("allowfullscreen")}}finally{on(Wt)}}get width(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get width' called on an object that is not a valid instance of HTMLIFrameElement.")}sn(Wt);try{const Wt=en[cn]._reflectGetTheContentAttribute("width");return Wt===null?"":Wt}finally{on(Wt)}}set width(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set width' called on an object that is not a valid instance of HTMLIFrameElement.")}en=tn["DOMString"](en,{context:"Failed to set the 'width' property on 'HTMLIFrameElement': The provided value",globals:Wt});sn(Wt);try{nn[cn]._reflectSetTheContentAttribute("width",en)}finally{on(Wt)}}get height(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get height' called on an object that is not a valid instance of HTMLIFrameElement.")}sn(Wt);try{const Wt=en[cn]._reflectGetTheContentAttribute("height");return Wt===null?"":Wt}finally{on(Wt)}}set height(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set height' called on an object that is not a valid instance of HTMLIFrameElement.")}en=tn["DOMString"](en,{context:"Failed to set the 'height' property on 'HTMLIFrameElement': The provided value",globals:Wt});sn(Wt);try{nn[cn]._reflectSetTheContentAttribute("height",en)}finally{on(Wt)}}get contentDocument(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get contentDocument' called on an object that is not a valid instance of HTMLIFrameElement.")}return nn.tryWrapperForImpl(en[cn]["contentDocument"])}get contentWindow(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get contentWindow' called on an object that is not a valid instance of HTMLIFrameElement.")}return nn.tryWrapperForImpl(en[cn]["contentWindow"])}get align(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get align' called on an object that is not a valid instance of HTMLIFrameElement.")}sn(Wt);try{const Wt=en[cn]._reflectGetTheContentAttribute("align");return Wt===null?"":Wt}finally{on(Wt)}}set align(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set align' called on an object that is not a valid instance of HTMLIFrameElement.")}en=tn["DOMString"](en,{context:"Failed to set the 'align' property on 'HTMLIFrameElement': The provided value",globals:Wt});sn(Wt);try{nn[cn]._reflectSetTheContentAttribute("align",en)}finally{on(Wt)}}get scrolling(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get scrolling' called on an object that is not a valid instance of HTMLIFrameElement.")}sn(Wt);try{const Wt=en[cn]._reflectGetTheContentAttribute("scrolling");return Wt===null?"":Wt}finally{on(Wt)}}set scrolling(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set scrolling' called on an object that is not a valid instance of HTMLIFrameElement.")}en=tn["DOMString"](en,{context:"Failed to set the 'scrolling' property on 'HTMLIFrameElement': The provided value",globals:Wt});sn(Wt);try{nn[cn]._reflectSetTheContentAttribute("scrolling",en)}finally{on(Wt)}}get frameBorder(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get frameBorder' called on an object that is not a valid instance of HTMLIFrameElement.")}sn(Wt);try{const Wt=en[cn]._reflectGetTheContentAttribute("frameborder");return Wt===null?"":Wt}finally{on(Wt)}}set frameBorder(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set frameBorder' called on an object that is not a valid instance of HTMLIFrameElement.")}en=tn["DOMString"](en,{context:"Failed to set the 'frameBorder' property on 'HTMLIFrameElement': The provided value",globals:Wt});sn(Wt);try{nn[cn]._reflectSetTheContentAttribute("frameborder",en)}finally{on(Wt)}}get longDesc(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get longDesc' called on an object that is not a valid instance of HTMLIFrameElement.")}sn(Wt);try{const Wt=en[cn]._reflectGetTheContentAttribute("longdesc");if(Wt===null){return""}const Pt=In(Wt,en[cn]._ownerDocument);if(Pt!==null){return rn(Pt)}return tn.USVString(Wt)}finally{on(Wt)}}set longDesc(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set longDesc' called on an object that is not a valid instance of HTMLIFrameElement.")}en=tn["USVString"](en,{context:"Failed to set the 'longDesc' property on 'HTMLIFrameElement': The provided value",globals:Wt});sn(Wt);try{nn[cn]._reflectSetTheContentAttribute("longdesc",en)}finally{on(Wt)}}get marginHeight(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get marginHeight' called on an object that is not a valid instance of HTMLIFrameElement.")}sn(Wt);try{const Wt=en[cn]._reflectGetTheContentAttribute("marginheight");return Wt===null?"":Wt}finally{on(Wt)}}set marginHeight(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set marginHeight' called on an object that is not a valid instance of HTMLIFrameElement.")}en=tn["DOMString"](en,{context:"Failed to set the 'marginHeight' property on 'HTMLIFrameElement': The provided value",globals:Wt,treatNullAsEmptyString:true});sn(Wt);try{nn[cn]._reflectSetTheContentAttribute("marginheight",en)}finally{on(Wt)}}get marginWidth(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get marginWidth' called on an object that is not a valid instance of HTMLIFrameElement.")}sn(Wt);try{const Wt=en[cn]._reflectGetTheContentAttribute("marginwidth");return Wt===null?"":Wt}finally{on(Wt)}}set marginWidth(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set marginWidth' called on an object that is not a valid instance of HTMLIFrameElement.")}en=tn["DOMString"](en,{context:"Failed to set the 'marginWidth' property on 'HTMLIFrameElement': The provided value",globals:Wt,treatNullAsEmptyString:true});sn(Wt);try{nn[cn]._reflectSetTheContentAttribute("marginwidth",en)}finally{on(Wt)}}}Object.defineProperties(HTMLIFrameElement.prototype,{getSVGDocument:{enumerable:true},src:{enumerable:true},srcdoc:{enumerable:true},name:{enumerable:true},allowFullscreen:{enumerable:true},width:{enumerable:true},height:{enumerable:true},contentDocument:{enumerable:true},contentWindow:{enumerable:true},align:{enumerable:true},scrolling:{enumerable:true},frameBorder:{enumerable:true},longDesc:{enumerable:true},marginHeight:{enumerable:true},marginWidth:{enumerable:true},[Symbol.toStringTag]:{value:"HTMLIFrameElement",configurable:true}});dn[pn]=HTMLIFrameElement;Object.defineProperty(Wt,pn,{configurable:true,writable:true,value:HTMLIFrameElement})};const bn=en(73531)},32741:(Wt,Pt,en)=>{const tn=en(37125);const nn=en(87094);const an=en(84175).HTMLConstructor;const In=en(8348).ceReactionsPreSteps;const rn=en(8348).ceReactionsPostSteps;const sn=en(30962).parseURLToResultingURLRecord;const on=en(78012).serializeURL;const cn=en(97205).parseNonNegativeInteger;const dn=nn.implSymbol;const un=nn.ctorRegistrySymbol;const pn=en(48708);const mn="HTMLImageElement";Pt.is=Wt=>nn.isObject(Wt)&&nn.hasOwn(Wt,dn)&&Wt[dn]instanceof Gn.implementation;Pt.isImpl=Wt=>nn.isObject(Wt)&&Wt instanceof Gn.implementation;Pt.convert=(Wt,en,{context:tn="The provided value"}={})=>{if(Pt.is(en)){return nn.implForWrapper(en)}throw new Wt.TypeError(`${tn} is not of type 'HTMLImageElement'.`)};function makeWrapper(Wt,Pt){let en;if(Pt!==undefined){en=Pt.prototype}if(!nn.isObject(en)){en=Wt[un]["HTMLImageElement"].prototype}return Object.create(en)}Pt.create=(Wt,en,tn)=>{const nn=makeWrapper(Wt);return Pt.setup(nn,Wt,en,tn)};Pt.createImpl=(Wt,en,tn)=>{const an=Pt.create(Wt,en,tn);return nn.implForWrapper(an)};Pt._internalSetup=(Wt,Pt)=>{pn._internalSetup(Wt,Pt)};Pt.setup=(Wt,en,tn=[],an={})=>{an.wrapper=Wt;Pt._internalSetup(Wt,en);Object.defineProperty(Wt,dn,{value:new Gn.implementation(en,tn,an),configurable:true});Wt[dn][nn.wrapperSymbol]=Wt;if(Gn.init){Gn.init(Wt[dn])}return Wt};Pt["new"]=(Wt,en)=>{const tn=makeWrapper(Wt,en);Pt._internalSetup(tn,Wt);Object.defineProperty(tn,dn,{value:Object.create(Gn.implementation.prototype),configurable:true});tn[dn][nn.wrapperSymbol]=tn;if(Gn.init){Gn.init(tn[dn])}return tn[dn]};const bn=new Set(["Window"]);Pt.install=(Wt,en)=>{if(!en.some((Wt=>bn.has(Wt)))){return}const un=nn.initCtorRegistry(Wt);class HTMLImageElement extends Wt.HTMLElement{constructor(){return an(Wt,mn,new.target)}get alt(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get alt' called on an object that is not a valid instance of HTMLImageElement.")}In(Wt);try{const Wt=en[dn]._reflectGetTheContentAttribute("alt");return Wt===null?"":Wt}finally{rn(Wt)}}set alt(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set alt' called on an object that is not a valid instance of HTMLImageElement.")}en=tn["DOMString"](en,{context:"Failed to set the 'alt' property on 'HTMLImageElement': The provided value",globals:Wt});In(Wt);try{nn[dn]._reflectSetTheContentAttribute("alt",en)}finally{rn(Wt)}}get src(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get src' called on an object that is not a valid instance of HTMLImageElement.")}In(Wt);try{const Wt=en[dn]._reflectGetTheContentAttribute("src");if(Wt===null){return""}const Pt=sn(Wt,en[dn]._ownerDocument);if(Pt!==null){return on(Pt)}return tn.USVString(Wt)}finally{rn(Wt)}}set src(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set src' called on an object that is not a valid instance of HTMLImageElement.")}en=tn["USVString"](en,{context:"Failed to set the 'src' property on 'HTMLImageElement': The provided value",globals:Wt});In(Wt);try{nn[dn]._reflectSetTheContentAttribute("src",en)}finally{rn(Wt)}}get srcset(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get srcset' called on an object that is not a valid instance of HTMLImageElement.")}In(Wt);try{const Wt=en[dn]._reflectGetTheContentAttribute("srcset");return Wt===null?"":tn.USVString(Wt)}finally{rn(Wt)}}set srcset(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set srcset' called on an object that is not a valid instance of HTMLImageElement.")}en=tn["USVString"](en,{context:"Failed to set the 'srcset' property on 'HTMLImageElement': The provided value",globals:Wt});In(Wt);try{nn[dn]._reflectSetTheContentAttribute("srcset",en)}finally{rn(Wt)}}get sizes(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get sizes' called on an object that is not a valid instance of HTMLImageElement.")}In(Wt);try{const Wt=en[dn]._reflectGetTheContentAttribute("sizes");return Wt===null?"":Wt}finally{rn(Wt)}}set sizes(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set sizes' called on an object that is not a valid instance of HTMLImageElement.")}en=tn["DOMString"](en,{context:"Failed to set the 'sizes' property on 'HTMLImageElement': The provided value",globals:Wt});In(Wt);try{nn[dn]._reflectSetTheContentAttribute("sizes",en)}finally{rn(Wt)}}get crossOrigin(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get crossOrigin' called on an object that is not a valid instance of HTMLImageElement.")}In(Wt);try{return en[dn]._reflectGetTheContentAttribute("crossorigin")}finally{rn(Wt)}}set crossOrigin(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set crossOrigin' called on an object that is not a valid instance of HTMLImageElement.")}if(en===null||en===undefined){en=null}else{en=tn["DOMString"](en,{context:"Failed to set the 'crossOrigin' property on 'HTMLImageElement': The provided value",globals:Wt})}In(Wt);try{if(en===null){nn[dn]._reflectDeleteTheContentAttribute("crossorigin")}else{nn[dn]._reflectSetTheContentAttribute("crossorigin",en)}}finally{rn(Wt)}}get useMap(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get useMap' called on an object that is not a valid instance of HTMLImageElement.")}In(Wt);try{const Wt=en[dn]._reflectGetTheContentAttribute("usemap");return Wt===null?"":Wt}finally{rn(Wt)}}set useMap(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set useMap' called on an object that is not a valid instance of HTMLImageElement.")}en=tn["DOMString"](en,{context:"Failed to set the 'useMap' property on 'HTMLImageElement': The provided value",globals:Wt});In(Wt);try{nn[dn]._reflectSetTheContentAttribute("usemap",en)}finally{rn(Wt)}}get isMap(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get isMap' called on an object that is not a valid instance of HTMLImageElement.")}In(Wt);try{return en[dn]._reflectGetTheContentAttribute("ismap")!==null}finally{rn(Wt)}}set isMap(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set isMap' called on an object that is not a valid instance of HTMLImageElement.")}en=tn["boolean"](en,{context:"Failed to set the 'isMap' property on 'HTMLImageElement': The provided value",globals:Wt});In(Wt);try{if(en){nn[dn]._reflectSetTheContentAttribute("ismap","")}else{nn[dn]._reflectDeleteTheContentAttribute("ismap")}}finally{rn(Wt)}}get width(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get width' called on an object that is not a valid instance of HTMLImageElement.")}In(Wt);try{return en[dn]["width"]}finally{rn(Wt)}}set width(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set width' called on an object that is not a valid instance of HTMLImageElement.")}en=tn["unsigned long"](en,{context:"Failed to set the 'width' property on 'HTMLImageElement': The provided value",globals:Wt});In(Wt);try{nn[dn]["width"]=en}finally{rn(Wt)}}get height(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get height' called on an object that is not a valid instance of HTMLImageElement.")}In(Wt);try{return en[dn]["height"]}finally{rn(Wt)}}set height(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set height' called on an object that is not a valid instance of HTMLImageElement.")}en=tn["unsigned long"](en,{context:"Failed to set the 'height' property on 'HTMLImageElement': The provided value",globals:Wt});In(Wt);try{nn[dn]["height"]=en}finally{rn(Wt)}}get naturalWidth(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get naturalWidth' called on an object that is not a valid instance of HTMLImageElement.")}return en[dn]["naturalWidth"]}get naturalHeight(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get naturalHeight' called on an object that is not a valid instance of HTMLImageElement.")}return en[dn]["naturalHeight"]}get complete(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get complete' called on an object that is not a valid instance of HTMLImageElement.")}return en[dn]["complete"]}get currentSrc(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get currentSrc' called on an object that is not a valid instance of HTMLImageElement.")}return en[dn]["currentSrc"]}get name(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get name' called on an object that is not a valid instance of HTMLImageElement.")}In(Wt);try{const Wt=en[dn]._reflectGetTheContentAttribute("name");return Wt===null?"":Wt}finally{rn(Wt)}}set name(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set name' called on an object that is not a valid instance of HTMLImageElement.")}en=tn["DOMString"](en,{context:"Failed to set the 'name' property on 'HTMLImageElement': The provided value",globals:Wt});In(Wt);try{nn[dn]._reflectSetTheContentAttribute("name",en)}finally{rn(Wt)}}get lowsrc(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get lowsrc' called on an object that is not a valid instance of HTMLImageElement.")}In(Wt);try{const Wt=en[dn]._reflectGetTheContentAttribute("lowsrc");if(Wt===null){return""}const Pt=sn(Wt,en[dn]._ownerDocument);if(Pt!==null){return on(Pt)}return tn.USVString(Wt)}finally{rn(Wt)}}set lowsrc(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set lowsrc' called on an object that is not a valid instance of HTMLImageElement.")}en=tn["USVString"](en,{context:"Failed to set the 'lowsrc' property on 'HTMLImageElement': The provided value",globals:Wt});In(Wt);try{nn[dn]._reflectSetTheContentAttribute("lowsrc",en)}finally{rn(Wt)}}get align(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get align' called on an object that is not a valid instance of HTMLImageElement.")}In(Wt);try{const Wt=en[dn]._reflectGetTheContentAttribute("align");return Wt===null?"":Wt}finally{rn(Wt)}}set align(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set align' called on an object that is not a valid instance of HTMLImageElement.")}en=tn["DOMString"](en,{context:"Failed to set the 'align' property on 'HTMLImageElement': The provided value",globals:Wt});In(Wt);try{nn[dn]._reflectSetTheContentAttribute("align",en)}finally{rn(Wt)}}get hspace(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get hspace' called on an object that is not a valid instance of HTMLImageElement.")}In(Wt);try{let Wt=en[dn]._reflectGetTheContentAttribute("hspace");if(Wt!==null){Wt=cn(Wt);if(Wt!==null&&Wt>=0&&Wt<=2147483647){return Wt}}return 0}finally{rn(Wt)}}set hspace(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set hspace' called on an object that is not a valid instance of HTMLImageElement.")}en=tn["unsigned long"](en,{context:"Failed to set the 'hspace' property on 'HTMLImageElement': The provided value",globals:Wt});In(Wt);try{const Wt=en<=2147483647&&en>=0?en:0;nn[dn]._reflectSetTheContentAttribute("hspace",String(Wt))}finally{rn(Wt)}}get vspace(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get vspace' called on an object that is not a valid instance of HTMLImageElement.")}In(Wt);try{let Wt=en[dn]._reflectGetTheContentAttribute("vspace");if(Wt!==null){Wt=cn(Wt);if(Wt!==null&&Wt>=0&&Wt<=2147483647){return Wt}}return 0}finally{rn(Wt)}}set vspace(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set vspace' called on an object that is not a valid instance of HTMLImageElement.")}en=tn["unsigned long"](en,{context:"Failed to set the 'vspace' property on 'HTMLImageElement': The provided value",globals:Wt});In(Wt);try{const Wt=en<=2147483647&&en>=0?en:0;nn[dn]._reflectSetTheContentAttribute("vspace",String(Wt))}finally{rn(Wt)}}get longDesc(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get longDesc' called on an object that is not a valid instance of HTMLImageElement.")}In(Wt);try{const Wt=en[dn]._reflectGetTheContentAttribute("longdesc");if(Wt===null){return""}const Pt=sn(Wt,en[dn]._ownerDocument);if(Pt!==null){return on(Pt)}return tn.USVString(Wt)}finally{rn(Wt)}}set longDesc(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set longDesc' called on an object that is not a valid instance of HTMLImageElement.")}en=tn["USVString"](en,{context:"Failed to set the 'longDesc' property on 'HTMLImageElement': The provided value",globals:Wt});In(Wt);try{nn[dn]._reflectSetTheContentAttribute("longdesc",en)}finally{rn(Wt)}}get border(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get border' called on an object that is not a valid instance of HTMLImageElement.")}In(Wt);try{const Wt=en[dn]._reflectGetTheContentAttribute("border");return Wt===null?"":Wt}finally{rn(Wt)}}set border(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set border' called on an object that is not a valid instance of HTMLImageElement.")}en=tn["DOMString"](en,{context:"Failed to set the 'border' property on 'HTMLImageElement': The provided value",globals:Wt,treatNullAsEmptyString:true});In(Wt);try{nn[dn]._reflectSetTheContentAttribute("border",en)}finally{rn(Wt)}}}Object.defineProperties(HTMLImageElement.prototype,{alt:{enumerable:true},src:{enumerable:true},srcset:{enumerable:true},sizes:{enumerable:true},crossOrigin:{enumerable:true},useMap:{enumerable:true},isMap:{enumerable:true},width:{enumerable:true},height:{enumerable:true},naturalWidth:{enumerable:true},naturalHeight:{enumerable:true},complete:{enumerable:true},currentSrc:{enumerable:true},name:{enumerable:true},lowsrc:{enumerable:true},align:{enumerable:true},hspace:{enumerable:true},vspace:{enumerable:true},longDesc:{enumerable:true},border:{enumerable:true},[Symbol.toStringTag]:{value:"HTMLImageElement",configurable:true}});un[mn]=HTMLImageElement;Object.defineProperty(Wt,mn,{configurable:true,writable:true,value:HTMLImageElement})};const Gn=en(38352)},18142:(Wt,Pt,en)=>{const tn=en(37125);const nn=en(87094);const an=en(84175).HTMLConstructor;const In=en(74150);const rn=en(8348).ceReactionsPreSteps;const sn=en(8348).ceReactionsPostSteps;const on=en(12373);const cn=en(97205).parseNonNegativeInteger;const dn=en(16694).create;const un=en(30962).parseURLToResultingURLRecord;const pn=en(78012).serializeURL;const mn=nn.implSymbol;const bn=nn.ctorRegistrySymbol;const Gn=en(48708);const hn="HTMLInputElement";Pt.is=Wt=>nn.isObject(Wt)&&nn.hasOwn(Wt,mn)&&Wt[mn]instanceof An.implementation;Pt.isImpl=Wt=>nn.isObject(Wt)&&Wt instanceof An.implementation;Pt.convert=(Wt,en,{context:tn="The provided value"}={})=>{if(Pt.is(en)){return nn.implForWrapper(en)}throw new Wt.TypeError(`${tn} is not of type 'HTMLInputElement'.`)};function makeWrapper(Wt,Pt){let en;if(Pt!==undefined){en=Pt.prototype}if(!nn.isObject(en)){en=Wt[bn]["HTMLInputElement"].prototype}return Object.create(en)}Pt.create=(Wt,en,tn)=>{const nn=makeWrapper(Wt);return Pt.setup(nn,Wt,en,tn)};Pt.createImpl=(Wt,en,tn)=>{const an=Pt.create(Wt,en,tn);return nn.implForWrapper(an)};Pt._internalSetup=(Wt,Pt)=>{Gn._internalSetup(Wt,Pt)};Pt.setup=(Wt,en,tn=[],an={})=>{an.wrapper=Wt;Pt._internalSetup(Wt,en);Object.defineProperty(Wt,mn,{value:new An.implementation(en,tn,an),configurable:true});Wt[mn][nn.wrapperSymbol]=Wt;if(An.init){An.init(Wt[mn])}return Wt};Pt["new"]=(Wt,en)=>{const tn=makeWrapper(Wt,en);Pt._internalSetup(tn,Wt);Object.defineProperty(tn,mn,{value:Object.create(An.implementation.prototype),configurable:true});tn[mn][nn.wrapperSymbol]=tn;if(An.init){An.init(tn[mn])}return tn[mn]};const Zn=new Set(["Window"]);Pt.install=(Wt,en)=>{if(!en.some((Wt=>Zn.has(Wt)))){return}const bn=nn.initCtorRegistry(Wt);class HTMLInputElement extends Wt.HTMLElement{constructor(){return an(Wt,hn,new.target)}stepUp(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'stepUp' called on an object that is not a valid instance of HTMLInputElement.")}const nn=[];{let Pt=arguments[0];if(Pt!==undefined){Pt=tn["long"](Pt,{context:"Failed to execute 'stepUp' on 'HTMLInputElement': parameter 1",globals:Wt})}else{Pt=1}nn.push(Pt)}return en[mn].stepUp(...nn)}stepDown(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'stepDown' called on an object that is not a valid instance of HTMLInputElement.")}const nn=[];{let Pt=arguments[0];if(Pt!==undefined){Pt=tn["long"](Pt,{context:"Failed to execute 'stepDown' on 'HTMLInputElement': parameter 1",globals:Wt})}else{Pt=1}nn.push(Pt)}return en[mn].stepDown(...nn)}checkValidity(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'checkValidity' called on an object that is not a valid instance of HTMLInputElement.")}return en[mn].checkValidity()}reportValidity(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'reportValidity' called on an object that is not a valid instance of HTMLInputElement.")}return en[mn].reportValidity()}setCustomValidity(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'setCustomValidity' called on an object that is not a valid instance of HTMLInputElement.")}if(arguments.length<1){throw new Wt.TypeError(`Failed to execute 'setCustomValidity' on 'HTMLInputElement': 1 argument required, but only ${arguments.length} present.`)}const an=[];{let Pt=arguments[0];Pt=tn["DOMString"](Pt,{context:"Failed to execute 'setCustomValidity' on 'HTMLInputElement': parameter 1",globals:Wt});an.push(Pt)}return nn[mn].setCustomValidity(...an)}select(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'select' called on an object that is not a valid instance of HTMLInputElement.")}return en[mn].select()}setRangeText(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'setRangeText' called on an object that is not a valid instance of HTMLInputElement.")}if(arguments.length<1){throw new Wt.TypeError(`Failed to execute 'setRangeText' on 'HTMLInputElement': 1 argument required, but only ${arguments.length} present.`)}const an=[];switch(arguments.length){case 1:{let Pt=arguments[0];Pt=tn["DOMString"](Pt,{context:"Failed to execute 'setRangeText' on 'HTMLInputElement': parameter 1",globals:Wt});an.push(Pt)}break;case 2:throw new Wt.TypeError(`Failed to execute 'setRangeText' on 'HTMLInputElement': only ${arguments.length} arguments present.`);break;case 3:{let Pt=arguments[0];Pt=tn["DOMString"](Pt,{context:"Failed to execute 'setRangeText' on 'HTMLInputElement': parameter 1",globals:Wt});an.push(Pt)}{let Pt=arguments[1];Pt=tn["unsigned long"](Pt,{context:"Failed to execute 'setRangeText' on 'HTMLInputElement': parameter 2",globals:Wt});an.push(Pt)}{let Pt=arguments[2];Pt=tn["unsigned long"](Pt,{context:"Failed to execute 'setRangeText' on 'HTMLInputElement': parameter 3",globals:Wt});an.push(Pt)}break;default:{let Pt=arguments[0];Pt=tn["DOMString"](Pt,{context:"Failed to execute 'setRangeText' on 'HTMLInputElement': parameter 1",globals:Wt});an.push(Pt)}{let Pt=arguments[1];Pt=tn["unsigned long"](Pt,{context:"Failed to execute 'setRangeText' on 'HTMLInputElement': parameter 2",globals:Wt});an.push(Pt)}{let Pt=arguments[2];Pt=tn["unsigned long"](Pt,{context:"Failed to execute 'setRangeText' on 'HTMLInputElement': parameter 3",globals:Wt});an.push(Pt)}{let Pt=arguments[3];if(Pt!==undefined){Pt=In.convert(Wt,Pt,{context:"Failed to execute 'setRangeText' on 'HTMLInputElement': parameter 4"})}else{Pt="preserve"}an.push(Pt)}}return nn[mn].setRangeText(...an)}setSelectionRange(en,nn){const an=this!==null&&this!==undefined?this:Wt;if(!Pt.is(an)){throw new Wt.TypeError("'setSelectionRange' called on an object that is not a valid instance of HTMLInputElement.")}if(arguments.length<2){throw new Wt.TypeError(`Failed to execute 'setSelectionRange' on 'HTMLInputElement': 2 arguments required, but only ${arguments.length} present.`)}const In=[];{let Pt=arguments[0];Pt=tn["unsigned long"](Pt,{context:"Failed to execute 'setSelectionRange' on 'HTMLInputElement': parameter 1",globals:Wt});In.push(Pt)}{let Pt=arguments[1];Pt=tn["unsigned long"](Pt,{context:"Failed to execute 'setSelectionRange' on 'HTMLInputElement': parameter 2",globals:Wt});In.push(Pt)}{let Pt=arguments[2];if(Pt!==undefined){Pt=tn["DOMString"](Pt,{context:"Failed to execute 'setSelectionRange' on 'HTMLInputElement': parameter 3",globals:Wt})}In.push(Pt)}return an[mn].setSelectionRange(...In)}get accept(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get accept' called on an object that is not a valid instance of HTMLInputElement.")}rn(Wt);try{const Wt=en[mn]._reflectGetTheContentAttribute("accept");return Wt===null?"":Wt}finally{sn(Wt)}}set accept(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set accept' called on an object that is not a valid instance of HTMLInputElement.")}en=tn["DOMString"](en,{context:"Failed to set the 'accept' property on 'HTMLInputElement': The provided value",globals:Wt});rn(Wt);try{nn[mn]._reflectSetTheContentAttribute("accept",en)}finally{sn(Wt)}}get alt(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get alt' called on an object that is not a valid instance of HTMLInputElement.")}rn(Wt);try{const Wt=en[mn]._reflectGetTheContentAttribute("alt");return Wt===null?"":Wt}finally{sn(Wt)}}set alt(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set alt' called on an object that is not a valid instance of HTMLInputElement.")}en=tn["DOMString"](en,{context:"Failed to set the 'alt' property on 'HTMLInputElement': The provided value",globals:Wt});rn(Wt);try{nn[mn]._reflectSetTheContentAttribute("alt",en)}finally{sn(Wt)}}get autocomplete(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get autocomplete' called on an object that is not a valid instance of HTMLInputElement.")}rn(Wt);try{const Wt=en[mn]._reflectGetTheContentAttribute("autocomplete");return Wt===null?"":Wt}finally{sn(Wt)}}set autocomplete(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set autocomplete' called on an object that is not a valid instance of HTMLInputElement.")}en=tn["DOMString"](en,{context:"Failed to set the 'autocomplete' property on 'HTMLInputElement': The provided value",globals:Wt});rn(Wt);try{nn[mn]._reflectSetTheContentAttribute("autocomplete",en)}finally{sn(Wt)}}get autofocus(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get autofocus' called on an object that is not a valid instance of HTMLInputElement.")}rn(Wt);try{return en[mn]._reflectGetTheContentAttribute("autofocus")!==null}finally{sn(Wt)}}set autofocus(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set autofocus' called on an object that is not a valid instance of HTMLInputElement.")}en=tn["boolean"](en,{context:"Failed to set the 'autofocus' property on 'HTMLInputElement': The provided value",globals:Wt});rn(Wt);try{if(en){nn[mn]._reflectSetTheContentAttribute("autofocus","")}else{nn[mn]._reflectDeleteTheContentAttribute("autofocus")}}finally{sn(Wt)}}get defaultChecked(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get defaultChecked' called on an object that is not a valid instance of HTMLInputElement.")}rn(Wt);try{return en[mn]._reflectGetTheContentAttribute("checked")!==null}finally{sn(Wt)}}set defaultChecked(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set defaultChecked' called on an object that is not a valid instance of HTMLInputElement.")}en=tn["boolean"](en,{context:"Failed to set the 'defaultChecked' property on 'HTMLInputElement': The provided value",globals:Wt});rn(Wt);try{if(en){nn[mn]._reflectSetTheContentAttribute("checked","")}else{nn[mn]._reflectDeleteTheContentAttribute("checked")}}finally{sn(Wt)}}get checked(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get checked' called on an object that is not a valid instance of HTMLInputElement.")}return en[mn]["checked"]}set checked(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set checked' called on an object that is not a valid instance of HTMLInputElement.")}en=tn["boolean"](en,{context:"Failed to set the 'checked' property on 'HTMLInputElement': The provided value",globals:Wt});nn[mn]["checked"]=en}get dirName(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get dirName' called on an object that is not a valid instance of HTMLInputElement.")}rn(Wt);try{const Wt=en[mn]._reflectGetTheContentAttribute("dirname");return Wt===null?"":Wt}finally{sn(Wt)}}set dirName(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set dirName' called on an object that is not a valid instance of HTMLInputElement.")}en=tn["DOMString"](en,{context:"Failed to set the 'dirName' property on 'HTMLInputElement': The provided value",globals:Wt});rn(Wt);try{nn[mn]._reflectSetTheContentAttribute("dirname",en)}finally{sn(Wt)}}get disabled(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get disabled' called on an object that is not a valid instance of HTMLInputElement.")}rn(Wt);try{return en[mn]._reflectGetTheContentAttribute("disabled")!==null}finally{sn(Wt)}}set disabled(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set disabled' called on an object that is not a valid instance of HTMLInputElement.")}en=tn["boolean"](en,{context:"Failed to set the 'disabled' property on 'HTMLInputElement': The provided value",globals:Wt});rn(Wt);try{if(en){nn[mn]._reflectSetTheContentAttribute("disabled","")}else{nn[mn]._reflectDeleteTheContentAttribute("disabled")}}finally{sn(Wt)}}get form(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get form' called on an object that is not a valid instance of HTMLInputElement.")}return nn.tryWrapperForImpl(en[mn]["form"])}get files(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get files' called on an object that is not a valid instance of HTMLInputElement.")}return nn.tryWrapperForImpl(en[mn]["files"])}set files(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set files' called on an object that is not a valid instance of HTMLInputElement.")}if(en===null||en===undefined){en=null}else{en=on.convert(Wt,en,{context:"Failed to set the 'files' property on 'HTMLInputElement': The provided value"})}tn[mn]["files"]=en}get formNoValidate(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get formNoValidate' called on an object that is not a valid instance of HTMLInputElement.")}rn(Wt);try{return en[mn]._reflectGetTheContentAttribute("formnovalidate")!==null}finally{sn(Wt)}}set formNoValidate(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set formNoValidate' called on an object that is not a valid instance of HTMLInputElement.")}en=tn["boolean"](en,{context:"Failed to set the 'formNoValidate' property on 'HTMLInputElement': The provided value",globals:Wt});rn(Wt);try{if(en){nn[mn]._reflectSetTheContentAttribute("formnovalidate","")}else{nn[mn]._reflectDeleteTheContentAttribute("formnovalidate")}}finally{sn(Wt)}}get formTarget(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get formTarget' called on an object that is not a valid instance of HTMLInputElement.")}rn(Wt);try{const Wt=en[mn]._reflectGetTheContentAttribute("formtarget");return Wt===null?"":Wt}finally{sn(Wt)}}set formTarget(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set formTarget' called on an object that is not a valid instance of HTMLInputElement.")}en=tn["DOMString"](en,{context:"Failed to set the 'formTarget' property on 'HTMLInputElement': The provided value",globals:Wt});rn(Wt);try{nn[mn]._reflectSetTheContentAttribute("formtarget",en)}finally{sn(Wt)}}get indeterminate(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get indeterminate' called on an object that is not a valid instance of HTMLInputElement.")}return en[mn]["indeterminate"]}set indeterminate(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set indeterminate' called on an object that is not a valid instance of HTMLInputElement.")}en=tn["boolean"](en,{context:"Failed to set the 'indeterminate' property on 'HTMLInputElement': The provided value",globals:Wt});nn[mn]["indeterminate"]=en}get inputMode(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get inputMode' called on an object that is not a valid instance of HTMLInputElement.")}rn(Wt);try{const Wt=en[mn]._reflectGetTheContentAttribute("inputmode");return Wt===null?"":Wt}finally{sn(Wt)}}set inputMode(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set inputMode' called on an object that is not a valid instance of HTMLInputElement.")}en=tn["DOMString"](en,{context:"Failed to set the 'inputMode' property on 'HTMLInputElement': The provided value",globals:Wt});rn(Wt);try{nn[mn]._reflectSetTheContentAttribute("inputmode",en)}finally{sn(Wt)}}get list(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get list' called on an object that is not a valid instance of HTMLInputElement.")}return nn.tryWrapperForImpl(en[mn]["list"])}get max(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get max' called on an object that is not a valid instance of HTMLInputElement.")}rn(Wt);try{const Wt=en[mn]._reflectGetTheContentAttribute("max");return Wt===null?"":Wt}finally{sn(Wt)}}set max(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set max' called on an object that is not a valid instance of HTMLInputElement.")}en=tn["DOMString"](en,{context:"Failed to set the 'max' property on 'HTMLInputElement': The provided value",globals:Wt});rn(Wt);try{nn[mn]._reflectSetTheContentAttribute("max",en)}finally{sn(Wt)}}get maxLength(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get maxLength' called on an object that is not a valid instance of HTMLInputElement.")}rn(Wt);try{let Wt=en[mn]._reflectGetTheContentAttribute("maxlength");if(Wt!==null){Wt=cn(Wt);if(Wt!==null&&tn.long(Wt)===Wt){return Wt}}return-1}finally{sn(Wt)}}set maxLength(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set maxLength' called on an object that is not a valid instance of HTMLInputElement.")}en=tn["long"](en,{context:"Failed to set the 'maxLength' property on 'HTMLInputElement': The provided value",globals:Wt});rn(Wt);try{if(en<0){throw dn(Wt,[`The negative value ${en} cannot be set for the maxLength property.`,"IndexSizeError"])}nn[mn]._reflectSetTheContentAttribute("maxlength",String(en))}finally{sn(Wt)}}get min(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get min' called on an object that is not a valid instance of HTMLInputElement.")}rn(Wt);try{const Wt=en[mn]._reflectGetTheContentAttribute("min");return Wt===null?"":Wt}finally{sn(Wt)}}set min(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set min' called on an object that is not a valid instance of HTMLInputElement.")}en=tn["DOMString"](en,{context:"Failed to set the 'min' property on 'HTMLInputElement': The provided value",globals:Wt});rn(Wt);try{nn[mn]._reflectSetTheContentAttribute("min",en)}finally{sn(Wt)}}get minLength(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get minLength' called on an object that is not a valid instance of HTMLInputElement.")}rn(Wt);try{let Wt=en[mn]._reflectGetTheContentAttribute("minlength");if(Wt!==null){Wt=cn(Wt);if(Wt!==null&&tn.long(Wt)===Wt){return Wt}}return-1}finally{sn(Wt)}}set minLength(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set minLength' called on an object that is not a valid instance of HTMLInputElement.")}en=tn["long"](en,{context:"Failed to set the 'minLength' property on 'HTMLInputElement': The provided value",globals:Wt});rn(Wt);try{if(en<0){throw dn(Wt,[`The negative value ${en} cannot be set for the minLength property.`,"IndexSizeError"])}nn[mn]._reflectSetTheContentAttribute("minlength",String(en))}finally{sn(Wt)}}get multiple(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get multiple' called on an object that is not a valid instance of HTMLInputElement.")}rn(Wt);try{return en[mn]._reflectGetTheContentAttribute("multiple")!==null}finally{sn(Wt)}}set multiple(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set multiple' called on an object that is not a valid instance of HTMLInputElement.")}en=tn["boolean"](en,{context:"Failed to set the 'multiple' property on 'HTMLInputElement': The provided value",globals:Wt});rn(Wt);try{if(en){nn[mn]._reflectSetTheContentAttribute("multiple","")}else{nn[mn]._reflectDeleteTheContentAttribute("multiple")}}finally{sn(Wt)}}get name(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get name' called on an object that is not a valid instance of HTMLInputElement.")}rn(Wt);try{const Wt=en[mn]._reflectGetTheContentAttribute("name");return Wt===null?"":Wt}finally{sn(Wt)}}set name(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set name' called on an object that is not a valid instance of HTMLInputElement.")}en=tn["DOMString"](en,{context:"Failed to set the 'name' property on 'HTMLInputElement': The provided value",globals:Wt});rn(Wt);try{nn[mn]._reflectSetTheContentAttribute("name",en)}finally{sn(Wt)}}get pattern(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get pattern' called on an object that is not a valid instance of HTMLInputElement.")}rn(Wt);try{const Wt=en[mn]._reflectGetTheContentAttribute("pattern");return Wt===null?"":Wt}finally{sn(Wt)}}set pattern(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set pattern' called on an object that is not a valid instance of HTMLInputElement.")}en=tn["DOMString"](en,{context:"Failed to set the 'pattern' property on 'HTMLInputElement': The provided value",globals:Wt});rn(Wt);try{nn[mn]._reflectSetTheContentAttribute("pattern",en)}finally{sn(Wt)}}get placeholder(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get placeholder' called on an object that is not a valid instance of HTMLInputElement.")}rn(Wt);try{const Wt=en[mn]._reflectGetTheContentAttribute("placeholder");return Wt===null?"":Wt}finally{sn(Wt)}}set placeholder(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set placeholder' called on an object that is not a valid instance of HTMLInputElement.")}en=tn["DOMString"](en,{context:"Failed to set the 'placeholder' property on 'HTMLInputElement': The provided value",globals:Wt});rn(Wt);try{nn[mn]._reflectSetTheContentAttribute("placeholder",en)}finally{sn(Wt)}}get readOnly(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get readOnly' called on an object that is not a valid instance of HTMLInputElement.")}rn(Wt);try{return en[mn]._reflectGetTheContentAttribute("readonly")!==null}finally{sn(Wt)}}set readOnly(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set readOnly' called on an object that is not a valid instance of HTMLInputElement.")}en=tn["boolean"](en,{context:"Failed to set the 'readOnly' property on 'HTMLInputElement': The provided value",globals:Wt});rn(Wt);try{if(en){nn[mn]._reflectSetTheContentAttribute("readonly","")}else{nn[mn]._reflectDeleteTheContentAttribute("readonly")}}finally{sn(Wt)}}get required(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get required' called on an object that is not a valid instance of HTMLInputElement.")}rn(Wt);try{return en[mn]._reflectGetTheContentAttribute("required")!==null}finally{sn(Wt)}}set required(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set required' called on an object that is not a valid instance of HTMLInputElement.")}en=tn["boolean"](en,{context:"Failed to set the 'required' property on 'HTMLInputElement': The provided value",globals:Wt});rn(Wt);try{if(en){nn[mn]._reflectSetTheContentAttribute("required","")}else{nn[mn]._reflectDeleteTheContentAttribute("required")}}finally{sn(Wt)}}get size(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get size' called on an object that is not a valid instance of HTMLInputElement.")}rn(Wt);try{let Wt=en[mn]._reflectGetTheContentAttribute("size");if(Wt!==null){Wt=cn(Wt);if(Wt!==null&&Wt>=1&&Wt<=2147483647){return Wt}}return 20}finally{sn(Wt)}}set size(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set size' called on an object that is not a valid instance of HTMLInputElement.")}en=tn["unsigned long"](en,{context:"Failed to set the 'size' property on 'HTMLInputElement': The provided value",globals:Wt});rn(Wt);try{if(en===0){throw dn(Wt,[`The value ${en} cannot be set for the size property.`,"IndexSizeError"])}const Pt=en<=2147483647&&en>=1?en:20;nn[mn]._reflectSetTheContentAttribute("size",String(Pt))}finally{sn(Wt)}}get src(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get src' called on an object that is not a valid instance of HTMLInputElement.")}rn(Wt);try{const Wt=en[mn]._reflectGetTheContentAttribute("src");if(Wt===null){return""}const Pt=un(Wt,en[mn]._ownerDocument);if(Pt!==null){return pn(Pt)}return tn.USVString(Wt)}finally{sn(Wt)}}set src(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set src' called on an object that is not a valid instance of HTMLInputElement.")}en=tn["USVString"](en,{context:"Failed to set the 'src' property on 'HTMLInputElement': The provided value",globals:Wt});rn(Wt);try{nn[mn]._reflectSetTheContentAttribute("src",en)}finally{sn(Wt)}}get step(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get step' called on an object that is not a valid instance of HTMLInputElement.")}rn(Wt);try{const Wt=en[mn]._reflectGetTheContentAttribute("step");return Wt===null?"":Wt}finally{sn(Wt)}}set step(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set step' called on an object that is not a valid instance of HTMLInputElement.")}en=tn["DOMString"](en,{context:"Failed to set the 'step' property on 'HTMLInputElement': The provided value",globals:Wt});rn(Wt);try{nn[mn]._reflectSetTheContentAttribute("step",en)}finally{sn(Wt)}}get type(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get type' called on an object that is not a valid instance of HTMLInputElement.")}rn(Wt);try{return en[mn]["type"]}finally{sn(Wt)}}set type(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set type' called on an object that is not a valid instance of HTMLInputElement.")}en=tn["DOMString"](en,{context:"Failed to set the 'type' property on 'HTMLInputElement': The provided value",globals:Wt});rn(Wt);try{nn[mn]["type"]=en}finally{sn(Wt)}}get defaultValue(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get defaultValue' called on an object that is not a valid instance of HTMLInputElement.")}rn(Wt);try{const Wt=en[mn]._reflectGetTheContentAttribute("value");return Wt===null?"":Wt}finally{sn(Wt)}}set defaultValue(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set defaultValue' called on an object that is not a valid instance of HTMLInputElement.")}en=tn["DOMString"](en,{context:"Failed to set the 'defaultValue' property on 'HTMLInputElement': The provided value",globals:Wt});rn(Wt);try{nn[mn]._reflectSetTheContentAttribute("value",en)}finally{sn(Wt)}}get value(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get value' called on an object that is not a valid instance of HTMLInputElement.")}rn(Wt);try{return en[mn]["value"]}finally{sn(Wt)}}set value(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set value' called on an object that is not a valid instance of HTMLInputElement.")}en=tn["DOMString"](en,{context:"Failed to set the 'value' property on 'HTMLInputElement': The provided value",globals:Wt,treatNullAsEmptyString:true});rn(Wt);try{nn[mn]["value"]=en}finally{sn(Wt)}}get valueAsDate(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get valueAsDate' called on an object that is not a valid instance of HTMLInputElement.")}return en[mn]["valueAsDate"]}set valueAsDate(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set valueAsDate' called on an object that is not a valid instance of HTMLInputElement.")}if(en===null||en===undefined){en=null}else{en=tn["object"](en,{context:"Failed to set the 'valueAsDate' property on 'HTMLInputElement': The provided value",globals:Wt})}nn[mn]["valueAsDate"]=en}get valueAsNumber(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get valueAsNumber' called on an object that is not a valid instance of HTMLInputElement.")}return en[mn]["valueAsNumber"]}set valueAsNumber(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set valueAsNumber' called on an object that is not a valid instance of HTMLInputElement.")}en=tn["unrestricted double"](en,{context:"Failed to set the 'valueAsNumber' property on 'HTMLInputElement': The provided value",globals:Wt});nn[mn]["valueAsNumber"]=en}get willValidate(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get willValidate' called on an object that is not a valid instance of HTMLInputElement.")}return en[mn]["willValidate"]}get validity(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get validity' called on an object that is not a valid instance of HTMLInputElement.")}return nn.tryWrapperForImpl(en[mn]["validity"])}get validationMessage(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get validationMessage' called on an object that is not a valid instance of HTMLInputElement.")}return en[mn]["validationMessage"]}get labels(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get labels' called on an object that is not a valid instance of HTMLInputElement.")}return nn.tryWrapperForImpl(en[mn]["labels"])}get selectionStart(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get selectionStart' called on an object that is not a valid instance of HTMLInputElement.")}return en[mn]["selectionStart"]}set selectionStart(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set selectionStart' called on an object that is not a valid instance of HTMLInputElement.")}if(en===null||en===undefined){en=null}else{en=tn["unsigned long"](en,{context:"Failed to set the 'selectionStart' property on 'HTMLInputElement': The provided value",globals:Wt})}nn[mn]["selectionStart"]=en}get selectionEnd(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get selectionEnd' called on an object that is not a valid instance of HTMLInputElement.")}return en[mn]["selectionEnd"]}set selectionEnd(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set selectionEnd' called on an object that is not a valid instance of HTMLInputElement.")}if(en===null||en===undefined){en=null}else{en=tn["unsigned long"](en,{context:"Failed to set the 'selectionEnd' property on 'HTMLInputElement': The provided value",globals:Wt})}nn[mn]["selectionEnd"]=en}get selectionDirection(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get selectionDirection' called on an object that is not a valid instance of HTMLInputElement.")}return en[mn]["selectionDirection"]}set selectionDirection(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set selectionDirection' called on an object that is not a valid instance of HTMLInputElement.")}if(en===null||en===undefined){en=null}else{en=tn["DOMString"](en,{context:"Failed to set the 'selectionDirection' property on 'HTMLInputElement': The provided value",globals:Wt})}nn[mn]["selectionDirection"]=en}get align(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get align' called on an object that is not a valid instance of HTMLInputElement.")}rn(Wt);try{const Wt=en[mn]._reflectGetTheContentAttribute("align");return Wt===null?"":Wt}finally{sn(Wt)}}set align(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set align' called on an object that is not a valid instance of HTMLInputElement.")}en=tn["DOMString"](en,{context:"Failed to set the 'align' property on 'HTMLInputElement': The provided value",globals:Wt});rn(Wt);try{nn[mn]._reflectSetTheContentAttribute("align",en)}finally{sn(Wt)}}get useMap(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get useMap' called on an object that is not a valid instance of HTMLInputElement.")}rn(Wt);try{const Wt=en[mn]._reflectGetTheContentAttribute("usemap");return Wt===null?"":Wt}finally{sn(Wt)}}set useMap(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set useMap' called on an object that is not a valid instance of HTMLInputElement.")}en=tn["DOMString"](en,{context:"Failed to set the 'useMap' property on 'HTMLInputElement': The provided value",globals:Wt});rn(Wt);try{nn[mn]._reflectSetTheContentAttribute("usemap",en)}finally{sn(Wt)}}}Object.defineProperties(HTMLInputElement.prototype,{stepUp:{enumerable:true},stepDown:{enumerable:true},checkValidity:{enumerable:true},reportValidity:{enumerable:true},setCustomValidity:{enumerable:true},select:{enumerable:true},setRangeText:{enumerable:true},setSelectionRange:{enumerable:true},accept:{enumerable:true},alt:{enumerable:true},autocomplete:{enumerable:true},autofocus:{enumerable:true},defaultChecked:{enumerable:true},checked:{enumerable:true},dirName:{enumerable:true},disabled:{enumerable:true},form:{enumerable:true},files:{enumerable:true},formNoValidate:{enumerable:true},formTarget:{enumerable:true},indeterminate:{enumerable:true},inputMode:{enumerable:true},list:{enumerable:true},max:{enumerable:true},maxLength:{enumerable:true},min:{enumerable:true},minLength:{enumerable:true},multiple:{enumerable:true},name:{enumerable:true},pattern:{enumerable:true},placeholder:{enumerable:true},readOnly:{enumerable:true},required:{enumerable:true},size:{enumerable:true},src:{enumerable:true},step:{enumerable:true},type:{enumerable:true},defaultValue:{enumerable:true},value:{enumerable:true},valueAsDate:{enumerable:true},valueAsNumber:{enumerable:true},willValidate:{enumerable:true},validity:{enumerable:true},validationMessage:{enumerable:true},labels:{enumerable:true},selectionStart:{enumerable:true},selectionEnd:{enumerable:true},selectionDirection:{enumerable:true},align:{enumerable:true},useMap:{enumerable:true},[Symbol.toStringTag]:{value:"HTMLInputElement",configurable:true}});bn[hn]=HTMLInputElement;Object.defineProperty(Wt,hn,{configurable:true,writable:true,value:HTMLInputElement})};const An=en(141)},80225:(Wt,Pt,en)=>{const tn=en(37125);const nn=en(87094);const an=en(84175).HTMLConstructor;const In=en(97205).parseInteger;const rn=en(8348).ceReactionsPreSteps;const sn=en(8348).ceReactionsPostSteps;const on=nn.implSymbol;const cn=nn.ctorRegistrySymbol;const dn=en(48708);const un="HTMLLIElement";Pt.is=Wt=>nn.isObject(Wt)&&nn.hasOwn(Wt,on)&&Wt[on]instanceof mn.implementation;Pt.isImpl=Wt=>nn.isObject(Wt)&&Wt instanceof mn.implementation;Pt.convert=(Wt,en,{context:tn="The provided value"}={})=>{if(Pt.is(en)){return nn.implForWrapper(en)}throw new Wt.TypeError(`${tn} is not of type 'HTMLLIElement'.`)};function makeWrapper(Wt,Pt){let en;if(Pt!==undefined){en=Pt.prototype}if(!nn.isObject(en)){en=Wt[cn]["HTMLLIElement"].prototype}return Object.create(en)}Pt.create=(Wt,en,tn)=>{const nn=makeWrapper(Wt);return Pt.setup(nn,Wt,en,tn)};Pt.createImpl=(Wt,en,tn)=>{const an=Pt.create(Wt,en,tn);return nn.implForWrapper(an)};Pt._internalSetup=(Wt,Pt)=>{dn._internalSetup(Wt,Pt)};Pt.setup=(Wt,en,tn=[],an={})=>{an.wrapper=Wt;Pt._internalSetup(Wt,en);Object.defineProperty(Wt,on,{value:new mn.implementation(en,tn,an),configurable:true});Wt[on][nn.wrapperSymbol]=Wt;if(mn.init){mn.init(Wt[on])}return Wt};Pt["new"]=(Wt,en)=>{const tn=makeWrapper(Wt,en);Pt._internalSetup(tn,Wt);Object.defineProperty(tn,on,{value:Object.create(mn.implementation.prototype),configurable:true});tn[on][nn.wrapperSymbol]=tn;if(mn.init){mn.init(tn[on])}return tn[on]};const pn=new Set(["Window"]);Pt.install=(Wt,en)=>{if(!en.some((Wt=>pn.has(Wt)))){return}const cn=nn.initCtorRegistry(Wt);class HTMLLIElement extends Wt.HTMLElement{constructor(){return an(Wt,un,new.target)}get value(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get value' called on an object that is not a valid instance of HTMLLIElement.")}rn(Wt);try{let Wt=en[on]._reflectGetTheContentAttribute("value");if(Wt!==null){Wt=In(Wt);if(Wt!==null&&tn.long(Wt)===Wt){return Wt}}return 0}finally{sn(Wt)}}set value(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set value' called on an object that is not a valid instance of HTMLLIElement.")}en=tn["long"](en,{context:"Failed to set the 'value' property on 'HTMLLIElement': The provided value",globals:Wt});rn(Wt);try{nn[on]._reflectSetTheContentAttribute("value",String(en))}finally{sn(Wt)}}get type(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get type' called on an object that is not a valid instance of HTMLLIElement.")}rn(Wt);try{const Wt=en[on]._reflectGetTheContentAttribute("type");return Wt===null?"":Wt}finally{sn(Wt)}}set type(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set type' called on an object that is not a valid instance of HTMLLIElement.")}en=tn["DOMString"](en,{context:"Failed to set the 'type' property on 'HTMLLIElement': The provided value",globals:Wt});rn(Wt);try{nn[on]._reflectSetTheContentAttribute("type",en)}finally{sn(Wt)}}}Object.defineProperties(HTMLLIElement.prototype,{value:{enumerable:true},type:{enumerable:true},[Symbol.toStringTag]:{value:"HTMLLIElement",configurable:true}});cn[un]=HTMLLIElement;Object.defineProperty(Wt,un,{configurable:true,writable:true,value:HTMLLIElement})};const mn=en(2804)},30124:(Wt,Pt,en)=>{const tn=en(37125);const nn=en(87094);const an=en(84175).HTMLConstructor;const In=en(8348).ceReactionsPreSteps;const rn=en(8348).ceReactionsPostSteps;const sn=nn.implSymbol;const on=nn.ctorRegistrySymbol;const cn=en(48708);const dn="HTMLLabelElement";Pt.is=Wt=>nn.isObject(Wt)&&nn.hasOwn(Wt,sn)&&Wt[sn]instanceof pn.implementation;Pt.isImpl=Wt=>nn.isObject(Wt)&&Wt instanceof pn.implementation;Pt.convert=(Wt,en,{context:tn="The provided value"}={})=>{if(Pt.is(en)){return nn.implForWrapper(en)}throw new Wt.TypeError(`${tn} is not of type 'HTMLLabelElement'.`)};function makeWrapper(Wt,Pt){let en;if(Pt!==undefined){en=Pt.prototype}if(!nn.isObject(en)){en=Wt[on]["HTMLLabelElement"].prototype}return Object.create(en)}Pt.create=(Wt,en,tn)=>{const nn=makeWrapper(Wt);return Pt.setup(nn,Wt,en,tn)};Pt.createImpl=(Wt,en,tn)=>{const an=Pt.create(Wt,en,tn);return nn.implForWrapper(an)};Pt._internalSetup=(Wt,Pt)=>{cn._internalSetup(Wt,Pt)};Pt.setup=(Wt,en,tn=[],an={})=>{an.wrapper=Wt;Pt._internalSetup(Wt,en);Object.defineProperty(Wt,sn,{value:new pn.implementation(en,tn,an),configurable:true});Wt[sn][nn.wrapperSymbol]=Wt;if(pn.init){pn.init(Wt[sn])}return Wt};Pt["new"]=(Wt,en)=>{const tn=makeWrapper(Wt,en);Pt._internalSetup(tn,Wt);Object.defineProperty(tn,sn,{value:Object.create(pn.implementation.prototype),configurable:true});tn[sn][nn.wrapperSymbol]=tn;if(pn.init){pn.init(tn[sn])}return tn[sn]};const un=new Set(["Window"]);Pt.install=(Wt,en)=>{if(!en.some((Wt=>un.has(Wt)))){return}const on=nn.initCtorRegistry(Wt);class HTMLLabelElement extends Wt.HTMLElement{constructor(){return an(Wt,dn,new.target)}get form(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get form' called on an object that is not a valid instance of HTMLLabelElement.")}return nn.tryWrapperForImpl(en[sn]["form"])}get htmlFor(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get htmlFor' called on an object that is not a valid instance of HTMLLabelElement.")}In(Wt);try{const Wt=en[sn]._reflectGetTheContentAttribute("for");return Wt===null?"":Wt}finally{rn(Wt)}}set htmlFor(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set htmlFor' called on an object that is not a valid instance of HTMLLabelElement.")}en=tn["DOMString"](en,{context:"Failed to set the 'htmlFor' property on 'HTMLLabelElement': The provided value",globals:Wt});In(Wt);try{nn[sn]._reflectSetTheContentAttribute("for",en)}finally{rn(Wt)}}get control(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get control' called on an object that is not a valid instance of HTMLLabelElement.")}return nn.tryWrapperForImpl(en[sn]["control"])}}Object.defineProperties(HTMLLabelElement.prototype,{form:{enumerable:true},htmlFor:{enumerable:true},control:{enumerable:true},[Symbol.toStringTag]:{value:"HTMLLabelElement",configurable:true}});on[dn]=HTMLLabelElement;Object.defineProperty(Wt,dn,{configurable:true,writable:true,value:HTMLLabelElement})};const pn=en(26159)},49299:(Wt,Pt,en)=>{const tn=en(37125);const nn=en(87094);const an=en(84175).HTMLConstructor;const In=en(8348).ceReactionsPreSteps;const rn=en(8348).ceReactionsPostSteps;const sn=nn.implSymbol;const on=nn.ctorRegistrySymbol;const cn=en(48708);const dn="HTMLLegendElement";Pt.is=Wt=>nn.isObject(Wt)&&nn.hasOwn(Wt,sn)&&Wt[sn]instanceof pn.implementation;Pt.isImpl=Wt=>nn.isObject(Wt)&&Wt instanceof pn.implementation;Pt.convert=(Wt,en,{context:tn="The provided value"}={})=>{if(Pt.is(en)){return nn.implForWrapper(en)}throw new Wt.TypeError(`${tn} is not of type 'HTMLLegendElement'.`)};function makeWrapper(Wt,Pt){let en;if(Pt!==undefined){en=Pt.prototype}if(!nn.isObject(en)){en=Wt[on]["HTMLLegendElement"].prototype}return Object.create(en)}Pt.create=(Wt,en,tn)=>{const nn=makeWrapper(Wt);return Pt.setup(nn,Wt,en,tn)};Pt.createImpl=(Wt,en,tn)=>{const an=Pt.create(Wt,en,tn);return nn.implForWrapper(an)};Pt._internalSetup=(Wt,Pt)=>{cn._internalSetup(Wt,Pt)};Pt.setup=(Wt,en,tn=[],an={})=>{an.wrapper=Wt;Pt._internalSetup(Wt,en);Object.defineProperty(Wt,sn,{value:new pn.implementation(en,tn,an),configurable:true});Wt[sn][nn.wrapperSymbol]=Wt;if(pn.init){pn.init(Wt[sn])}return Wt};Pt["new"]=(Wt,en)=>{const tn=makeWrapper(Wt,en);Pt._internalSetup(tn,Wt);Object.defineProperty(tn,sn,{value:Object.create(pn.implementation.prototype),configurable:true});tn[sn][nn.wrapperSymbol]=tn;if(pn.init){pn.init(tn[sn])}return tn[sn]};const un=new Set(["Window"]);Pt.install=(Wt,en)=>{if(!en.some((Wt=>un.has(Wt)))){return}const on=nn.initCtorRegistry(Wt);class HTMLLegendElement extends Wt.HTMLElement{constructor(){return an(Wt,dn,new.target)}get form(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get form' called on an object that is not a valid instance of HTMLLegendElement.")}return nn.tryWrapperForImpl(en[sn]["form"])}get align(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get align' called on an object that is not a valid instance of HTMLLegendElement.")}In(Wt);try{const Wt=en[sn]._reflectGetTheContentAttribute("align");return Wt===null?"":Wt}finally{rn(Wt)}}set align(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set align' called on an object that is not a valid instance of HTMLLegendElement.")}en=tn["DOMString"](en,{context:"Failed to set the 'align' property on 'HTMLLegendElement': The provided value",globals:Wt});In(Wt);try{nn[sn]._reflectSetTheContentAttribute("align",en)}finally{rn(Wt)}}}Object.defineProperties(HTMLLegendElement.prototype,{form:{enumerable:true},align:{enumerable:true},[Symbol.toStringTag]:{value:"HTMLLegendElement",configurable:true}});on[dn]=HTMLLegendElement;Object.defineProperty(Wt,dn,{configurable:true,writable:true,value:HTMLLegendElement})};const pn=en(98778)},62928:(Wt,Pt,en)=>{const tn=en(37125);const nn=en(87094);const an=en(84175).HTMLConstructor;const In=en(30962).parseURLToResultingURLRecord;const rn=en(78012).serializeURL;const sn=en(8348).ceReactionsPreSteps;const on=en(8348).ceReactionsPostSteps;const cn=nn.implSymbol;const dn=nn.ctorRegistrySymbol;const un=en(48708);const pn="HTMLLinkElement";Pt.is=Wt=>nn.isObject(Wt)&&nn.hasOwn(Wt,cn)&&Wt[cn]instanceof bn.implementation;Pt.isImpl=Wt=>nn.isObject(Wt)&&Wt instanceof bn.implementation;Pt.convert=(Wt,en,{context:tn="The provided value"}={})=>{if(Pt.is(en)){return nn.implForWrapper(en)}throw new Wt.TypeError(`${tn} is not of type 'HTMLLinkElement'.`)};function makeWrapper(Wt,Pt){let en;if(Pt!==undefined){en=Pt.prototype}if(!nn.isObject(en)){en=Wt[dn]["HTMLLinkElement"].prototype}return Object.create(en)}Pt.create=(Wt,en,tn)=>{const nn=makeWrapper(Wt);return Pt.setup(nn,Wt,en,tn)};Pt.createImpl=(Wt,en,tn)=>{const an=Pt.create(Wt,en,tn);return nn.implForWrapper(an)};Pt._internalSetup=(Wt,Pt)=>{un._internalSetup(Wt,Pt)};Pt.setup=(Wt,en,tn=[],an={})=>{an.wrapper=Wt;Pt._internalSetup(Wt,en);Object.defineProperty(Wt,cn,{value:new bn.implementation(en,tn,an),configurable:true});Wt[cn][nn.wrapperSymbol]=Wt;if(bn.init){bn.init(Wt[cn])}return Wt};Pt["new"]=(Wt,en)=>{const tn=makeWrapper(Wt,en);Pt._internalSetup(tn,Wt);Object.defineProperty(tn,cn,{value:Object.create(bn.implementation.prototype),configurable:true});tn[cn][nn.wrapperSymbol]=tn;if(bn.init){bn.init(tn[cn])}return tn[cn]};const mn=new Set(["Window"]);Pt.install=(Wt,en)=>{if(!en.some((Wt=>mn.has(Wt)))){return}const dn=nn.initCtorRegistry(Wt);class HTMLLinkElement extends Wt.HTMLElement{constructor(){return an(Wt,pn,new.target)}get href(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get href' called on an object that is not a valid instance of HTMLLinkElement.")}sn(Wt);try{const Wt=en[cn]._reflectGetTheContentAttribute("href");if(Wt===null){return""}const Pt=In(Wt,en[cn]._ownerDocument);if(Pt!==null){return rn(Pt)}return tn.USVString(Wt)}finally{on(Wt)}}set href(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set href' called on an object that is not a valid instance of HTMLLinkElement.")}en=tn["USVString"](en,{context:"Failed to set the 'href' property on 'HTMLLinkElement': The provided value",globals:Wt});sn(Wt);try{nn[cn]._reflectSetTheContentAttribute("href",en)}finally{on(Wt)}}get crossOrigin(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get crossOrigin' called on an object that is not a valid instance of HTMLLinkElement.")}sn(Wt);try{return en[cn]._reflectGetTheContentAttribute("crossorigin")}finally{on(Wt)}}set crossOrigin(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set crossOrigin' called on an object that is not a valid instance of HTMLLinkElement.")}if(en===null||en===undefined){en=null}else{en=tn["DOMString"](en,{context:"Failed to set the 'crossOrigin' property on 'HTMLLinkElement': The provided value",globals:Wt})}sn(Wt);try{if(en===null){nn[cn]._reflectDeleteTheContentAttribute("crossorigin")}else{nn[cn]._reflectSetTheContentAttribute("crossorigin",en)}}finally{on(Wt)}}get rel(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get rel' called on an object that is not a valid instance of HTMLLinkElement.")}sn(Wt);try{const Wt=en[cn]._reflectGetTheContentAttribute("rel");return Wt===null?"":Wt}finally{on(Wt)}}set rel(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set rel' called on an object that is not a valid instance of HTMLLinkElement.")}en=tn["DOMString"](en,{context:"Failed to set the 'rel' property on 'HTMLLinkElement': The provided value",globals:Wt});sn(Wt);try{nn[cn]._reflectSetTheContentAttribute("rel",en)}finally{on(Wt)}}get relList(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get relList' called on an object that is not a valid instance of HTMLLinkElement.")}return nn.getSameObject(this,"relList",(()=>nn.tryWrapperForImpl(en[cn]["relList"])))}set relList(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set relList' called on an object that is not a valid instance of HTMLLinkElement.")}const an=tn["relList"];if(!nn.isObject(an)){throw new Wt.TypeError("Property 'relList' is not an object")}Reflect.set(an,"value",en)}get media(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get media' called on an object that is not a valid instance of HTMLLinkElement.")}sn(Wt);try{const Wt=en[cn]._reflectGetTheContentAttribute("media");return Wt===null?"":Wt}finally{on(Wt)}}set media(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set media' called on an object that is not a valid instance of HTMLLinkElement.")}en=tn["DOMString"](en,{context:"Failed to set the 'media' property on 'HTMLLinkElement': The provided value",globals:Wt});sn(Wt);try{nn[cn]._reflectSetTheContentAttribute("media",en)}finally{on(Wt)}}get hreflang(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get hreflang' called on an object that is not a valid instance of HTMLLinkElement.")}sn(Wt);try{const Wt=en[cn]._reflectGetTheContentAttribute("hreflang");return Wt===null?"":Wt}finally{on(Wt)}}set hreflang(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set hreflang' called on an object that is not a valid instance of HTMLLinkElement.")}en=tn["DOMString"](en,{context:"Failed to set the 'hreflang' property on 'HTMLLinkElement': The provided value",globals:Wt});sn(Wt);try{nn[cn]._reflectSetTheContentAttribute("hreflang",en)}finally{on(Wt)}}get type(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get type' called on an object that is not a valid instance of HTMLLinkElement.")}sn(Wt);try{const Wt=en[cn]._reflectGetTheContentAttribute("type");return Wt===null?"":Wt}finally{on(Wt)}}set type(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set type' called on an object that is not a valid instance of HTMLLinkElement.")}en=tn["DOMString"](en,{context:"Failed to set the 'type' property on 'HTMLLinkElement': The provided value",globals:Wt});sn(Wt);try{nn[cn]._reflectSetTheContentAttribute("type",en)}finally{on(Wt)}}get charset(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get charset' called on an object that is not a valid instance of HTMLLinkElement.")}sn(Wt);try{const Wt=en[cn]._reflectGetTheContentAttribute("charset");return Wt===null?"":Wt}finally{on(Wt)}}set charset(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set charset' called on an object that is not a valid instance of HTMLLinkElement.")}en=tn["DOMString"](en,{context:"Failed to set the 'charset' property on 'HTMLLinkElement': The provided value",globals:Wt});sn(Wt);try{nn[cn]._reflectSetTheContentAttribute("charset",en)}finally{on(Wt)}}get rev(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get rev' called on an object that is not a valid instance of HTMLLinkElement.")}sn(Wt);try{const Wt=en[cn]._reflectGetTheContentAttribute("rev");return Wt===null?"":Wt}finally{on(Wt)}}set rev(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set rev' called on an object that is not a valid instance of HTMLLinkElement.")}en=tn["DOMString"](en,{context:"Failed to set the 'rev' property on 'HTMLLinkElement': The provided value",globals:Wt});sn(Wt);try{nn[cn]._reflectSetTheContentAttribute("rev",en)}finally{on(Wt)}}get target(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get target' called on an object that is not a valid instance of HTMLLinkElement.")}sn(Wt);try{const Wt=en[cn]._reflectGetTheContentAttribute("target");return Wt===null?"":Wt}finally{on(Wt)}}set target(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set target' called on an object that is not a valid instance of HTMLLinkElement.")}en=tn["DOMString"](en,{context:"Failed to set the 'target' property on 'HTMLLinkElement': The provided value",globals:Wt});sn(Wt);try{nn[cn]._reflectSetTheContentAttribute("target",en)}finally{on(Wt)}}get sheet(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get sheet' called on an object that is not a valid instance of HTMLLinkElement.")}return nn.tryWrapperForImpl(en[cn]["sheet"])}}Object.defineProperties(HTMLLinkElement.prototype,{href:{enumerable:true},crossOrigin:{enumerable:true},rel:{enumerable:true},relList:{enumerable:true},media:{enumerable:true},hreflang:{enumerable:true},type:{enumerable:true},charset:{enumerable:true},rev:{enumerable:true},target:{enumerable:true},sheet:{enumerable:true},[Symbol.toStringTag]:{value:"HTMLLinkElement",configurable:true}});dn[pn]=HTMLLinkElement;Object.defineProperty(Wt,pn,{configurable:true,writable:true,value:HTMLLinkElement})};const bn=en(7443)},11416:(Wt,Pt,en)=>{const tn=en(37125);const nn=en(87094);const an=en(84175).HTMLConstructor;const In=en(8348).ceReactionsPreSteps;const rn=en(8348).ceReactionsPostSteps;const sn=nn.implSymbol;const on=nn.ctorRegistrySymbol;const cn=en(48708);const dn="HTMLMapElement";Pt.is=Wt=>nn.isObject(Wt)&&nn.hasOwn(Wt,sn)&&Wt[sn]instanceof pn.implementation;Pt.isImpl=Wt=>nn.isObject(Wt)&&Wt instanceof pn.implementation;Pt.convert=(Wt,en,{context:tn="The provided value"}={})=>{if(Pt.is(en)){return nn.implForWrapper(en)}throw new Wt.TypeError(`${tn} is not of type 'HTMLMapElement'.`)};function makeWrapper(Wt,Pt){let en;if(Pt!==undefined){en=Pt.prototype}if(!nn.isObject(en)){en=Wt[on]["HTMLMapElement"].prototype}return Object.create(en)}Pt.create=(Wt,en,tn)=>{const nn=makeWrapper(Wt);return Pt.setup(nn,Wt,en,tn)};Pt.createImpl=(Wt,en,tn)=>{const an=Pt.create(Wt,en,tn);return nn.implForWrapper(an)};Pt._internalSetup=(Wt,Pt)=>{cn._internalSetup(Wt,Pt)};Pt.setup=(Wt,en,tn=[],an={})=>{an.wrapper=Wt;Pt._internalSetup(Wt,en);Object.defineProperty(Wt,sn,{value:new pn.implementation(en,tn,an),configurable:true});Wt[sn][nn.wrapperSymbol]=Wt;if(pn.init){pn.init(Wt[sn])}return Wt};Pt["new"]=(Wt,en)=>{const tn=makeWrapper(Wt,en);Pt._internalSetup(tn,Wt);Object.defineProperty(tn,sn,{value:Object.create(pn.implementation.prototype),configurable:true});tn[sn][nn.wrapperSymbol]=tn;if(pn.init){pn.init(tn[sn])}return tn[sn]};const un=new Set(["Window"]);Pt.install=(Wt,en)=>{if(!en.some((Wt=>un.has(Wt)))){return}const on=nn.initCtorRegistry(Wt);class HTMLMapElement extends Wt.HTMLElement{constructor(){return an(Wt,dn,new.target)}get name(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get name' called on an object that is not a valid instance of HTMLMapElement.")}In(Wt);try{const Wt=en[sn]._reflectGetTheContentAttribute("name");return Wt===null?"":Wt}finally{rn(Wt)}}set name(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set name' called on an object that is not a valid instance of HTMLMapElement.")}en=tn["DOMString"](en,{context:"Failed to set the 'name' property on 'HTMLMapElement': The provided value",globals:Wt});In(Wt);try{nn[sn]._reflectSetTheContentAttribute("name",en)}finally{rn(Wt)}}get areas(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get areas' called on an object that is not a valid instance of HTMLMapElement.")}return nn.getSameObject(this,"areas",(()=>nn.tryWrapperForImpl(en[sn]["areas"])))}}Object.defineProperties(HTMLMapElement.prototype,{name:{enumerable:true},areas:{enumerable:true},[Symbol.toStringTag]:{value:"HTMLMapElement",configurable:true}});on[dn]=HTMLMapElement;Object.defineProperty(Wt,dn,{configurable:true,writable:true,value:HTMLMapElement})};const pn=en(62859)},29062:(Wt,Pt,en)=>{const tn=en(37125);const nn=en(87094);const an=en(84175).HTMLConstructor;const In=en(8348).ceReactionsPreSteps;const rn=en(8348).ceReactionsPostSteps;const sn=en(97205).parseNonNegativeInteger;const on=nn.implSymbol;const cn=nn.ctorRegistrySymbol;const dn=en(48708);const un="HTMLMarqueeElement";Pt.is=Wt=>nn.isObject(Wt)&&nn.hasOwn(Wt,on)&&Wt[on]instanceof mn.implementation;Pt.isImpl=Wt=>nn.isObject(Wt)&&Wt instanceof mn.implementation;Pt.convert=(Wt,en,{context:tn="The provided value"}={})=>{if(Pt.is(en)){return nn.implForWrapper(en)}throw new Wt.TypeError(`${tn} is not of type 'HTMLMarqueeElement'.`)};function makeWrapper(Wt,Pt){let en;if(Pt!==undefined){en=Pt.prototype}if(!nn.isObject(en)){en=Wt[cn]["HTMLMarqueeElement"].prototype}return Object.create(en)}Pt.create=(Wt,en,tn)=>{const nn=makeWrapper(Wt);return Pt.setup(nn,Wt,en,tn)};Pt.createImpl=(Wt,en,tn)=>{const an=Pt.create(Wt,en,tn);return nn.implForWrapper(an)};Pt._internalSetup=(Wt,Pt)=>{dn._internalSetup(Wt,Pt)};Pt.setup=(Wt,en,tn=[],an={})=>{an.wrapper=Wt;Pt._internalSetup(Wt,en);Object.defineProperty(Wt,on,{value:new mn.implementation(en,tn,an),configurable:true});Wt[on][nn.wrapperSymbol]=Wt;if(mn.init){mn.init(Wt[on])}return Wt};Pt["new"]=(Wt,en)=>{const tn=makeWrapper(Wt,en);Pt._internalSetup(tn,Wt);Object.defineProperty(tn,on,{value:Object.create(mn.implementation.prototype),configurable:true});tn[on][nn.wrapperSymbol]=tn;if(mn.init){mn.init(tn[on])}return tn[on]};const pn=new Set(["Window"]);Pt.install=(Wt,en)=>{if(!en.some((Wt=>pn.has(Wt)))){return}const cn=nn.initCtorRegistry(Wt);class HTMLMarqueeElement extends Wt.HTMLElement{constructor(){return an(Wt,un,new.target)}get behavior(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get behavior' called on an object that is not a valid instance of HTMLMarqueeElement.")}In(Wt);try{const Wt=en[on]._reflectGetTheContentAttribute("behavior");return Wt===null?"":Wt}finally{rn(Wt)}}set behavior(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set behavior' called on an object that is not a valid instance of HTMLMarqueeElement.")}en=tn["DOMString"](en,{context:"Failed to set the 'behavior' property on 'HTMLMarqueeElement': The provided value",globals:Wt});In(Wt);try{nn[on]._reflectSetTheContentAttribute("behavior",en)}finally{rn(Wt)}}get bgColor(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get bgColor' called on an object that is not a valid instance of HTMLMarqueeElement.")}In(Wt);try{const Wt=en[on]._reflectGetTheContentAttribute("bgcolor");return Wt===null?"":Wt}finally{rn(Wt)}}set bgColor(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set bgColor' called on an object that is not a valid instance of HTMLMarqueeElement.")}en=tn["DOMString"](en,{context:"Failed to set the 'bgColor' property on 'HTMLMarqueeElement': The provided value",globals:Wt});In(Wt);try{nn[on]._reflectSetTheContentAttribute("bgcolor",en)}finally{rn(Wt)}}get direction(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get direction' called on an object that is not a valid instance of HTMLMarqueeElement.")}In(Wt);try{const Wt=en[on]._reflectGetTheContentAttribute("direction");return Wt===null?"":Wt}finally{rn(Wt)}}set direction(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set direction' called on an object that is not a valid instance of HTMLMarqueeElement.")}en=tn["DOMString"](en,{context:"Failed to set the 'direction' property on 'HTMLMarqueeElement': The provided value",globals:Wt});In(Wt);try{nn[on]._reflectSetTheContentAttribute("direction",en)}finally{rn(Wt)}}get height(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get height' called on an object that is not a valid instance of HTMLMarqueeElement.")}In(Wt);try{const Wt=en[on]._reflectGetTheContentAttribute("height");return Wt===null?"":Wt}finally{rn(Wt)}}set height(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set height' called on an object that is not a valid instance of HTMLMarqueeElement.")}en=tn["DOMString"](en,{context:"Failed to set the 'height' property on 'HTMLMarqueeElement': The provided value",globals:Wt});In(Wt);try{nn[on]._reflectSetTheContentAttribute("height",en)}finally{rn(Wt)}}get hspace(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get hspace' called on an object that is not a valid instance of HTMLMarqueeElement.")}In(Wt);try{let Wt=en[on]._reflectGetTheContentAttribute("hspace");if(Wt!==null){Wt=sn(Wt);if(Wt!==null&&Wt>=0&&Wt<=2147483647){return Wt}}return 0}finally{rn(Wt)}}set hspace(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set hspace' called on an object that is not a valid instance of HTMLMarqueeElement.")}en=tn["unsigned long"](en,{context:"Failed to set the 'hspace' property on 'HTMLMarqueeElement': The provided value",globals:Wt});In(Wt);try{const Wt=en<=2147483647&&en>=0?en:0;nn[on]._reflectSetTheContentAttribute("hspace",String(Wt))}finally{rn(Wt)}}get scrollAmount(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get scrollAmount' called on an object that is not a valid instance of HTMLMarqueeElement.")}In(Wt);try{let Wt=en[on]._reflectGetTheContentAttribute("scrollamount");if(Wt!==null){Wt=sn(Wt);if(Wt!==null&&Wt>=0&&Wt<=2147483647){return Wt}}return 0}finally{rn(Wt)}}set scrollAmount(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set scrollAmount' called on an object that is not a valid instance of HTMLMarqueeElement.")}en=tn["unsigned long"](en,{context:"Failed to set the 'scrollAmount' property on 'HTMLMarqueeElement': The provided value",globals:Wt});In(Wt);try{const Wt=en<=2147483647&&en>=0?en:0;nn[on]._reflectSetTheContentAttribute("scrollamount",String(Wt))}finally{rn(Wt)}}get scrollDelay(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get scrollDelay' called on an object that is not a valid instance of HTMLMarqueeElement.")}In(Wt);try{let Wt=en[on]._reflectGetTheContentAttribute("scrolldelay");if(Wt!==null){Wt=sn(Wt);if(Wt!==null&&Wt>=0&&Wt<=2147483647){return Wt}}return 0}finally{rn(Wt)}}set scrollDelay(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set scrollDelay' called on an object that is not a valid instance of HTMLMarqueeElement.")}en=tn["unsigned long"](en,{context:"Failed to set the 'scrollDelay' property on 'HTMLMarqueeElement': The provided value",globals:Wt});In(Wt);try{const Wt=en<=2147483647&&en>=0?en:0;nn[on]._reflectSetTheContentAttribute("scrolldelay",String(Wt))}finally{rn(Wt)}}get trueSpeed(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get trueSpeed' called on an object that is not a valid instance of HTMLMarqueeElement.")}In(Wt);try{return en[on]._reflectGetTheContentAttribute("truespeed")!==null}finally{rn(Wt)}}set trueSpeed(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set trueSpeed' called on an object that is not a valid instance of HTMLMarqueeElement.")}en=tn["boolean"](en,{context:"Failed to set the 'trueSpeed' property on 'HTMLMarqueeElement': The provided value",globals:Wt});In(Wt);try{if(en){nn[on]._reflectSetTheContentAttribute("truespeed","")}else{nn[on]._reflectDeleteTheContentAttribute("truespeed")}}finally{rn(Wt)}}get vspace(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get vspace' called on an object that is not a valid instance of HTMLMarqueeElement.")}In(Wt);try{let Wt=en[on]._reflectGetTheContentAttribute("vspace");if(Wt!==null){Wt=sn(Wt);if(Wt!==null&&Wt>=0&&Wt<=2147483647){return Wt}}return 0}finally{rn(Wt)}}set vspace(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set vspace' called on an object that is not a valid instance of HTMLMarqueeElement.")}en=tn["unsigned long"](en,{context:"Failed to set the 'vspace' property on 'HTMLMarqueeElement': The provided value",globals:Wt});In(Wt);try{const Wt=en<=2147483647&&en>=0?en:0;nn[on]._reflectSetTheContentAttribute("vspace",String(Wt))}finally{rn(Wt)}}get width(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get width' called on an object that is not a valid instance of HTMLMarqueeElement.")}In(Wt);try{const Wt=en[on]._reflectGetTheContentAttribute("width");return Wt===null?"":Wt}finally{rn(Wt)}}set width(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set width' called on an object that is not a valid instance of HTMLMarqueeElement.")}en=tn["DOMString"](en,{context:"Failed to set the 'width' property on 'HTMLMarqueeElement': The provided value",globals:Wt});In(Wt);try{nn[on]._reflectSetTheContentAttribute("width",en)}finally{rn(Wt)}}}Object.defineProperties(HTMLMarqueeElement.prototype,{behavior:{enumerable:true},bgColor:{enumerable:true},direction:{enumerable:true},height:{enumerable:true},hspace:{enumerable:true},scrollAmount:{enumerable:true},scrollDelay:{enumerable:true},trueSpeed:{enumerable:true},vspace:{enumerable:true},width:{enumerable:true},[Symbol.toStringTag]:{value:"HTMLMarqueeElement",configurable:true}});cn[un]=HTMLMarqueeElement;Object.defineProperty(Wt,un,{configurable:true,writable:true,value:HTMLMarqueeElement})};const mn=en(90157)},1366:(Wt,Pt,en)=>{const tn=en(37125);const nn=en(87094);const an=en(27655);const In=en(30962).parseURLToResultingURLRecord;const rn=en(78012).serializeURL;const sn=en(8348).ceReactionsPreSteps;const on=en(8348).ceReactionsPostSteps;const cn=nn.implSymbol;const dn=nn.ctorRegistrySymbol;const un=en(48708);const pn="HTMLMediaElement";Pt.is=Wt=>nn.isObject(Wt)&&nn.hasOwn(Wt,cn)&&Wt[cn]instanceof bn.implementation;Pt.isImpl=Wt=>nn.isObject(Wt)&&Wt instanceof bn.implementation;Pt.convert=(Wt,en,{context:tn="The provided value"}={})=>{if(Pt.is(en)){return nn.implForWrapper(en)}throw new Wt.TypeError(`${tn} is not of type 'HTMLMediaElement'.`)};function makeWrapper(Wt,Pt){let en;if(Pt!==undefined){en=Pt.prototype}if(!nn.isObject(en)){en=Wt[dn]["HTMLMediaElement"].prototype}return Object.create(en)}Pt.create=(Wt,en,tn)=>{const nn=makeWrapper(Wt);return Pt.setup(nn,Wt,en,tn)};Pt.createImpl=(Wt,en,tn)=>{const an=Pt.create(Wt,en,tn);return nn.implForWrapper(an)};Pt._internalSetup=(Wt,Pt)=>{un._internalSetup(Wt,Pt)};Pt.setup=(Wt,en,tn=[],an={})=>{an.wrapper=Wt;Pt._internalSetup(Wt,en);Object.defineProperty(Wt,cn,{value:new bn.implementation(en,tn,an),configurable:true});Wt[cn][nn.wrapperSymbol]=Wt;if(bn.init){bn.init(Wt[cn])}return Wt};Pt["new"]=(Wt,en)=>{const tn=makeWrapper(Wt,en);Pt._internalSetup(tn,Wt);Object.defineProperty(tn,cn,{value:Object.create(bn.implementation.prototype),configurable:true});tn[cn][nn.wrapperSymbol]=tn;if(bn.init){bn.init(tn[cn])}return tn[cn]};const mn=new Set(["Window"]);Pt.install=(Wt,en)=>{if(!en.some((Wt=>mn.has(Wt)))){return}const dn=nn.initCtorRegistry(Wt);class HTMLMediaElement extends Wt.HTMLElement{constructor(){throw new Wt.TypeError("Illegal constructor")}load(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'load' called on an object that is not a valid instance of HTMLMediaElement.")}return en[cn].load()}canPlayType(en){const an=this!==null&&this!==undefined?this:Wt;if(!Pt.is(an)){throw new Wt.TypeError("'canPlayType' called on an object that is not a valid instance of HTMLMediaElement.")}if(arguments.length<1){throw new Wt.TypeError(`Failed to execute 'canPlayType' on 'HTMLMediaElement': 1 argument required, but only ${arguments.length} present.`)}const In=[];{let Pt=arguments[0];Pt=tn["DOMString"](Pt,{context:"Failed to execute 'canPlayType' on 'HTMLMediaElement': parameter 1",globals:Wt});In.push(Pt)}return nn.tryWrapperForImpl(an[cn].canPlayType(...In))}play(){try{const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'play' called on an object that is not a valid instance of HTMLMediaElement.")}return nn.tryWrapperForImpl(en[cn].play())}catch(Pt){return Wt.Promise.reject(Pt)}}pause(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'pause' called on an object that is not a valid instance of HTMLMediaElement.")}return en[cn].pause()}addTextTrack(en){const In=this!==null&&this!==undefined?this:Wt;if(!Pt.is(In)){throw new Wt.TypeError("'addTextTrack' called on an object that is not a valid instance of HTMLMediaElement.")}if(arguments.length<1){throw new Wt.TypeError(`Failed to execute 'addTextTrack' on 'HTMLMediaElement': 1 argument required, but only ${arguments.length} present.`)}const rn=[];{let Pt=arguments[0];Pt=an.convert(Wt,Pt,{context:"Failed to execute 'addTextTrack' on 'HTMLMediaElement': parameter 1"});rn.push(Pt)}{let Pt=arguments[1];if(Pt!==undefined){Pt=tn["DOMString"](Pt,{context:"Failed to execute 'addTextTrack' on 'HTMLMediaElement': parameter 2",globals:Wt})}else{Pt=""}rn.push(Pt)}{let Pt=arguments[2];if(Pt!==undefined){Pt=tn["DOMString"](Pt,{context:"Failed to execute 'addTextTrack' on 'HTMLMediaElement': parameter 3",globals:Wt})}else{Pt=""}rn.push(Pt)}return nn.tryWrapperForImpl(In[cn].addTextTrack(...rn))}get src(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get src' called on an object that is not a valid instance of HTMLMediaElement.")}sn(Wt);try{const Wt=en[cn]._reflectGetTheContentAttribute("src");if(Wt===null){return""}const Pt=In(Wt,en[cn]._ownerDocument);if(Pt!==null){return rn(Pt)}return tn.USVString(Wt)}finally{on(Wt)}}set src(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set src' called on an object that is not a valid instance of HTMLMediaElement.")}en=tn["USVString"](en,{context:"Failed to set the 'src' property on 'HTMLMediaElement': The provided value",globals:Wt});sn(Wt);try{nn[cn]._reflectSetTheContentAttribute("src",en)}finally{on(Wt)}}get currentSrc(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get currentSrc' called on an object that is not a valid instance of HTMLMediaElement.")}return en[cn]["currentSrc"]}get crossOrigin(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get crossOrigin' called on an object that is not a valid instance of HTMLMediaElement.")}sn(Wt);try{return en[cn]._reflectGetTheContentAttribute("crossorigin")}finally{on(Wt)}}set crossOrigin(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set crossOrigin' called on an object that is not a valid instance of HTMLMediaElement.")}if(en===null||en===undefined){en=null}else{en=tn["DOMString"](en,{context:"Failed to set the 'crossOrigin' property on 'HTMLMediaElement': The provided value",globals:Wt})}sn(Wt);try{if(en===null){nn[cn]._reflectDeleteTheContentAttribute("crossorigin")}else{nn[cn]._reflectSetTheContentAttribute("crossorigin",en)}}finally{on(Wt)}}get networkState(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get networkState' called on an object that is not a valid instance of HTMLMediaElement.")}return en[cn]["networkState"]}get preload(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get preload' called on an object that is not a valid instance of HTMLMediaElement.")}sn(Wt);try{const Wt=en[cn]._reflectGetTheContentAttribute("preload");return Wt===null?"":Wt}finally{on(Wt)}}set preload(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set preload' called on an object that is not a valid instance of HTMLMediaElement.")}en=tn["DOMString"](en,{context:"Failed to set the 'preload' property on 'HTMLMediaElement': The provided value",globals:Wt});sn(Wt);try{nn[cn]._reflectSetTheContentAttribute("preload",en)}finally{on(Wt)}}get buffered(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get buffered' called on an object that is not a valid instance of HTMLMediaElement.")}return nn.tryWrapperForImpl(en[cn]["buffered"])}get readyState(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get readyState' called on an object that is not a valid instance of HTMLMediaElement.")}return en[cn]["readyState"]}get seeking(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get seeking' called on an object that is not a valid instance of HTMLMediaElement.")}return en[cn]["seeking"]}get currentTime(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get currentTime' called on an object that is not a valid instance of HTMLMediaElement.")}return en[cn]["currentTime"]}set currentTime(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set currentTime' called on an object that is not a valid instance of HTMLMediaElement.")}en=tn["double"](en,{context:"Failed to set the 'currentTime' property on 'HTMLMediaElement': The provided value",globals:Wt});nn[cn]["currentTime"]=en}get duration(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get duration' called on an object that is not a valid instance of HTMLMediaElement.")}return en[cn]["duration"]}get paused(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get paused' called on an object that is not a valid instance of HTMLMediaElement.")}return en[cn]["paused"]}get defaultPlaybackRate(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get defaultPlaybackRate' called on an object that is not a valid instance of HTMLMediaElement.")}return en[cn]["defaultPlaybackRate"]}set defaultPlaybackRate(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set defaultPlaybackRate' called on an object that is not a valid instance of HTMLMediaElement.")}en=tn["double"](en,{context:"Failed to set the 'defaultPlaybackRate' property on 'HTMLMediaElement': The provided value",globals:Wt});nn[cn]["defaultPlaybackRate"]=en}get playbackRate(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get playbackRate' called on an object that is not a valid instance of HTMLMediaElement.")}return en[cn]["playbackRate"]}set playbackRate(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set playbackRate' called on an object that is not a valid instance of HTMLMediaElement.")}en=tn["double"](en,{context:"Failed to set the 'playbackRate' property on 'HTMLMediaElement': The provided value",globals:Wt});nn[cn]["playbackRate"]=en}get played(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get played' called on an object that is not a valid instance of HTMLMediaElement.")}return nn.tryWrapperForImpl(en[cn]["played"])}get seekable(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get seekable' called on an object that is not a valid instance of HTMLMediaElement.")}return nn.tryWrapperForImpl(en[cn]["seekable"])}get ended(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get ended' called on an object that is not a valid instance of HTMLMediaElement.")}return en[cn]["ended"]}get autoplay(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get autoplay' called on an object that is not a valid instance of HTMLMediaElement.")}sn(Wt);try{return en[cn]._reflectGetTheContentAttribute("autoplay")!==null}finally{on(Wt)}}set autoplay(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set autoplay' called on an object that is not a valid instance of HTMLMediaElement.")}en=tn["boolean"](en,{context:"Failed to set the 'autoplay' property on 'HTMLMediaElement': The provided value",globals:Wt});sn(Wt);try{if(en){nn[cn]._reflectSetTheContentAttribute("autoplay","")}else{nn[cn]._reflectDeleteTheContentAttribute("autoplay")}}finally{on(Wt)}}get loop(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get loop' called on an object that is not a valid instance of HTMLMediaElement.")}sn(Wt);try{return en[cn]._reflectGetTheContentAttribute("loop")!==null}finally{on(Wt)}}set loop(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set loop' called on an object that is not a valid instance of HTMLMediaElement.")}en=tn["boolean"](en,{context:"Failed to set the 'loop' property on 'HTMLMediaElement': The provided value",globals:Wt});sn(Wt);try{if(en){nn[cn]._reflectSetTheContentAttribute("loop","")}else{nn[cn]._reflectDeleteTheContentAttribute("loop")}}finally{on(Wt)}}get controls(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get controls' called on an object that is not a valid instance of HTMLMediaElement.")}sn(Wt);try{return en[cn]._reflectGetTheContentAttribute("controls")!==null}finally{on(Wt)}}set controls(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set controls' called on an object that is not a valid instance of HTMLMediaElement.")}en=tn["boolean"](en,{context:"Failed to set the 'controls' property on 'HTMLMediaElement': The provided value",globals:Wt});sn(Wt);try{if(en){nn[cn]._reflectSetTheContentAttribute("controls","")}else{nn[cn]._reflectDeleteTheContentAttribute("controls")}}finally{on(Wt)}}get volume(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get volume' called on an object that is not a valid instance of HTMLMediaElement.")}return en[cn]["volume"]}set volume(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set volume' called on an object that is not a valid instance of HTMLMediaElement.")}en=tn["double"](en,{context:"Failed to set the 'volume' property on 'HTMLMediaElement': The provided value",globals:Wt});nn[cn]["volume"]=en}get muted(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get muted' called on an object that is not a valid instance of HTMLMediaElement.")}return en[cn]["muted"]}set muted(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set muted' called on an object that is not a valid instance of HTMLMediaElement.")}en=tn["boolean"](en,{context:"Failed to set the 'muted' property on 'HTMLMediaElement': The provided value",globals:Wt});nn[cn]["muted"]=en}get defaultMuted(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get defaultMuted' called on an object that is not a valid instance of HTMLMediaElement.")}sn(Wt);try{return en[cn]._reflectGetTheContentAttribute("muted")!==null}finally{on(Wt)}}set defaultMuted(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set defaultMuted' called on an object that is not a valid instance of HTMLMediaElement.")}en=tn["boolean"](en,{context:"Failed to set the 'defaultMuted' property on 'HTMLMediaElement': The provided value",globals:Wt});sn(Wt);try{if(en){nn[cn]._reflectSetTheContentAttribute("muted","")}else{nn[cn]._reflectDeleteTheContentAttribute("muted")}}finally{on(Wt)}}get audioTracks(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get audioTracks' called on an object that is not a valid instance of HTMLMediaElement.")}return nn.getSameObject(this,"audioTracks",(()=>nn.tryWrapperForImpl(en[cn]["audioTracks"])))}get videoTracks(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get videoTracks' called on an object that is not a valid instance of HTMLMediaElement.")}return nn.getSameObject(this,"videoTracks",(()=>nn.tryWrapperForImpl(en[cn]["videoTracks"])))}get textTracks(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get textTracks' called on an object that is not a valid instance of HTMLMediaElement.")}return nn.getSameObject(this,"textTracks",(()=>nn.tryWrapperForImpl(en[cn]["textTracks"])))}}Object.defineProperties(HTMLMediaElement.prototype,{load:{enumerable:true},canPlayType:{enumerable:true},play:{enumerable:true},pause:{enumerable:true},addTextTrack:{enumerable:true},src:{enumerable:true},currentSrc:{enumerable:true},crossOrigin:{enumerable:true},networkState:{enumerable:true},preload:{enumerable:true},buffered:{enumerable:true},readyState:{enumerable:true},seeking:{enumerable:true},currentTime:{enumerable:true},duration:{enumerable:true},paused:{enumerable:true},defaultPlaybackRate:{enumerable:true},playbackRate:{enumerable:true},played:{enumerable:true},seekable:{enumerable:true},ended:{enumerable:true},autoplay:{enumerable:true},loop:{enumerable:true},controls:{enumerable:true},volume:{enumerable:true},muted:{enumerable:true},defaultMuted:{enumerable:true},audioTracks:{enumerable:true},videoTracks:{enumerable:true},textTracks:{enumerable:true},[Symbol.toStringTag]:{value:"HTMLMediaElement",configurable:true},NETWORK_EMPTY:{value:0,enumerable:true},NETWORK_IDLE:{value:1,enumerable:true},NETWORK_LOADING:{value:2,enumerable:true},NETWORK_NO_SOURCE:{value:3,enumerable:true},HAVE_NOTHING:{value:0,enumerable:true},HAVE_METADATA:{value:1,enumerable:true},HAVE_CURRENT_DATA:{value:2,enumerable:true},HAVE_FUTURE_DATA:{value:3,enumerable:true},HAVE_ENOUGH_DATA:{value:4,enumerable:true}});Object.defineProperties(HTMLMediaElement,{NETWORK_EMPTY:{value:0,enumerable:true},NETWORK_IDLE:{value:1,enumerable:true},NETWORK_LOADING:{value:2,enumerable:true},NETWORK_NO_SOURCE:{value:3,enumerable:true},HAVE_NOTHING:{value:0,enumerable:true},HAVE_METADATA:{value:1,enumerable:true},HAVE_CURRENT_DATA:{value:2,enumerable:true},HAVE_FUTURE_DATA:{value:3,enumerable:true},HAVE_ENOUGH_DATA:{value:4,enumerable:true}});dn[pn]=HTMLMediaElement;Object.defineProperty(Wt,pn,{configurable:true,writable:true,value:HTMLMediaElement})};const bn=en(4229)},59877:(Wt,Pt,en)=>{const tn=en(37125);const nn=en(87094);const an=en(84175).HTMLConstructor;const In=en(8348).ceReactionsPreSteps;const rn=en(8348).ceReactionsPostSteps;const sn=nn.implSymbol;const on=nn.ctorRegistrySymbol;const cn=en(48708);const dn="HTMLMenuElement";Pt.is=Wt=>nn.isObject(Wt)&&nn.hasOwn(Wt,sn)&&Wt[sn]instanceof pn.implementation;Pt.isImpl=Wt=>nn.isObject(Wt)&&Wt instanceof pn.implementation;Pt.convert=(Wt,en,{context:tn="The provided value"}={})=>{if(Pt.is(en)){return nn.implForWrapper(en)}throw new Wt.TypeError(`${tn} is not of type 'HTMLMenuElement'.`)};function makeWrapper(Wt,Pt){let en;if(Pt!==undefined){en=Pt.prototype}if(!nn.isObject(en)){en=Wt[on]["HTMLMenuElement"].prototype}return Object.create(en)}Pt.create=(Wt,en,tn)=>{const nn=makeWrapper(Wt);return Pt.setup(nn,Wt,en,tn)};Pt.createImpl=(Wt,en,tn)=>{const an=Pt.create(Wt,en,tn);return nn.implForWrapper(an)};Pt._internalSetup=(Wt,Pt)=>{cn._internalSetup(Wt,Pt)};Pt.setup=(Wt,en,tn=[],an={})=>{an.wrapper=Wt;Pt._internalSetup(Wt,en);Object.defineProperty(Wt,sn,{value:new pn.implementation(en,tn,an),configurable:true});Wt[sn][nn.wrapperSymbol]=Wt;if(pn.init){pn.init(Wt[sn])}return Wt};Pt["new"]=(Wt,en)=>{const tn=makeWrapper(Wt,en);Pt._internalSetup(tn,Wt);Object.defineProperty(tn,sn,{value:Object.create(pn.implementation.prototype),configurable:true});tn[sn][nn.wrapperSymbol]=tn;if(pn.init){pn.init(tn[sn])}return tn[sn]};const un=new Set(["Window"]);Pt.install=(Wt,en)=>{if(!en.some((Wt=>un.has(Wt)))){return}const on=nn.initCtorRegistry(Wt);class HTMLMenuElement extends Wt.HTMLElement{constructor(){return an(Wt,dn,new.target)}get compact(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get compact' called on an object that is not a valid instance of HTMLMenuElement.")}In(Wt);try{return en[sn]._reflectGetTheContentAttribute("compact")!==null}finally{rn(Wt)}}set compact(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set compact' called on an object that is not a valid instance of HTMLMenuElement.")}en=tn["boolean"](en,{context:"Failed to set the 'compact' property on 'HTMLMenuElement': The provided value",globals:Wt});In(Wt);try{if(en){nn[sn]._reflectSetTheContentAttribute("compact","")}else{nn[sn]._reflectDeleteTheContentAttribute("compact")}}finally{rn(Wt)}}}Object.defineProperties(HTMLMenuElement.prototype,{compact:{enumerable:true},[Symbol.toStringTag]:{value:"HTMLMenuElement",configurable:true}});on[dn]=HTMLMenuElement;Object.defineProperty(Wt,dn,{configurable:true,writable:true,value:HTMLMenuElement})};const pn=en(65088)},62087:(Wt,Pt,en)=>{const tn=en(37125);const nn=en(87094);const an=en(84175).HTMLConstructor;const In=en(8348).ceReactionsPreSteps;const rn=en(8348).ceReactionsPostSteps;const sn=nn.implSymbol;const on=nn.ctorRegistrySymbol;const cn=en(48708);const dn="HTMLMetaElement";Pt.is=Wt=>nn.isObject(Wt)&&nn.hasOwn(Wt,sn)&&Wt[sn]instanceof pn.implementation;Pt.isImpl=Wt=>nn.isObject(Wt)&&Wt instanceof pn.implementation;Pt.convert=(Wt,en,{context:tn="The provided value"}={})=>{if(Pt.is(en)){return nn.implForWrapper(en)}throw new Wt.TypeError(`${tn} is not of type 'HTMLMetaElement'.`)};function makeWrapper(Wt,Pt){let en;if(Pt!==undefined){en=Pt.prototype}if(!nn.isObject(en)){en=Wt[on]["HTMLMetaElement"].prototype}return Object.create(en)}Pt.create=(Wt,en,tn)=>{const nn=makeWrapper(Wt);return Pt.setup(nn,Wt,en,tn)};Pt.createImpl=(Wt,en,tn)=>{const an=Pt.create(Wt,en,tn);return nn.implForWrapper(an)};Pt._internalSetup=(Wt,Pt)=>{cn._internalSetup(Wt,Pt)};Pt.setup=(Wt,en,tn=[],an={})=>{an.wrapper=Wt;Pt._internalSetup(Wt,en);Object.defineProperty(Wt,sn,{value:new pn.implementation(en,tn,an),configurable:true});Wt[sn][nn.wrapperSymbol]=Wt;if(pn.init){pn.init(Wt[sn])}return Wt};Pt["new"]=(Wt,en)=>{const tn=makeWrapper(Wt,en);Pt._internalSetup(tn,Wt);Object.defineProperty(tn,sn,{value:Object.create(pn.implementation.prototype),configurable:true});tn[sn][nn.wrapperSymbol]=tn;if(pn.init){pn.init(tn[sn])}return tn[sn]};const un=new Set(["Window"]);Pt.install=(Wt,en)=>{if(!en.some((Wt=>un.has(Wt)))){return}const on=nn.initCtorRegistry(Wt);class HTMLMetaElement extends Wt.HTMLElement{constructor(){return an(Wt,dn,new.target)}get name(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get name' called on an object that is not a valid instance of HTMLMetaElement.")}In(Wt);try{const Wt=en[sn]._reflectGetTheContentAttribute("name");return Wt===null?"":Wt}finally{rn(Wt)}}set name(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set name' called on an object that is not a valid instance of HTMLMetaElement.")}en=tn["DOMString"](en,{context:"Failed to set the 'name' property on 'HTMLMetaElement': The provided value",globals:Wt});In(Wt);try{nn[sn]._reflectSetTheContentAttribute("name",en)}finally{rn(Wt)}}get httpEquiv(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get httpEquiv' called on an object that is not a valid instance of HTMLMetaElement.")}In(Wt);try{const Wt=en[sn]._reflectGetTheContentAttribute("http-equiv");return Wt===null?"":Wt}finally{rn(Wt)}}set httpEquiv(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set httpEquiv' called on an object that is not a valid instance of HTMLMetaElement.")}en=tn["DOMString"](en,{context:"Failed to set the 'httpEquiv' property on 'HTMLMetaElement': The provided value",globals:Wt});In(Wt);try{nn[sn]._reflectSetTheContentAttribute("http-equiv",en)}finally{rn(Wt)}}get content(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get content' called on an object that is not a valid instance of HTMLMetaElement.")}In(Wt);try{const Wt=en[sn]._reflectGetTheContentAttribute("content");return Wt===null?"":Wt}finally{rn(Wt)}}set content(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set content' called on an object that is not a valid instance of HTMLMetaElement.")}en=tn["DOMString"](en,{context:"Failed to set the 'content' property on 'HTMLMetaElement': The provided value",globals:Wt});In(Wt);try{nn[sn]._reflectSetTheContentAttribute("content",en)}finally{rn(Wt)}}get scheme(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get scheme' called on an object that is not a valid instance of HTMLMetaElement.")}In(Wt);try{const Wt=en[sn]._reflectGetTheContentAttribute("scheme");return Wt===null?"":Wt}finally{rn(Wt)}}set scheme(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set scheme' called on an object that is not a valid instance of HTMLMetaElement.")}en=tn["DOMString"](en,{context:"Failed to set the 'scheme' property on 'HTMLMetaElement': The provided value",globals:Wt});In(Wt);try{nn[sn]._reflectSetTheContentAttribute("scheme",en)}finally{rn(Wt)}}}Object.defineProperties(HTMLMetaElement.prototype,{name:{enumerable:true},httpEquiv:{enumerable:true},content:{enumerable:true},scheme:{enumerable:true},[Symbol.toStringTag]:{value:"HTMLMetaElement",configurable:true}});on[dn]=HTMLMetaElement;Object.defineProperty(Wt,dn,{configurable:true,writable:true,value:HTMLMetaElement})};const pn=en(62406)},8805:(Wt,Pt,en)=>{const tn=en(37125);const nn=en(87094);const an=en(84175).HTMLConstructor;const In=en(8348).ceReactionsPreSteps;const rn=en(8348).ceReactionsPostSteps;const sn=nn.implSymbol;const on=nn.ctorRegistrySymbol;const cn=en(48708);const dn="HTMLMeterElement";Pt.is=Wt=>nn.isObject(Wt)&&nn.hasOwn(Wt,sn)&&Wt[sn]instanceof pn.implementation;Pt.isImpl=Wt=>nn.isObject(Wt)&&Wt instanceof pn.implementation;Pt.convert=(Wt,en,{context:tn="The provided value"}={})=>{if(Pt.is(en)){return nn.implForWrapper(en)}throw new Wt.TypeError(`${tn} is not of type 'HTMLMeterElement'.`)};function makeWrapper(Wt,Pt){let en;if(Pt!==undefined){en=Pt.prototype}if(!nn.isObject(en)){en=Wt[on]["HTMLMeterElement"].prototype}return Object.create(en)}Pt.create=(Wt,en,tn)=>{const nn=makeWrapper(Wt);return Pt.setup(nn,Wt,en,tn)};Pt.createImpl=(Wt,en,tn)=>{const an=Pt.create(Wt,en,tn);return nn.implForWrapper(an)};Pt._internalSetup=(Wt,Pt)=>{cn._internalSetup(Wt,Pt)};Pt.setup=(Wt,en,tn=[],an={})=>{an.wrapper=Wt;Pt._internalSetup(Wt,en);Object.defineProperty(Wt,sn,{value:new pn.implementation(en,tn,an),configurable:true});Wt[sn][nn.wrapperSymbol]=Wt;if(pn.init){pn.init(Wt[sn])}return Wt};Pt["new"]=(Wt,en)=>{const tn=makeWrapper(Wt,en);Pt._internalSetup(tn,Wt);Object.defineProperty(tn,sn,{value:Object.create(pn.implementation.prototype),configurable:true});tn[sn][nn.wrapperSymbol]=tn;if(pn.init){pn.init(tn[sn])}return tn[sn]};const un=new Set(["Window"]);Pt.install=(Wt,en)=>{if(!en.some((Wt=>un.has(Wt)))){return}const on=nn.initCtorRegistry(Wt);class HTMLMeterElement extends Wt.HTMLElement{constructor(){return an(Wt,dn,new.target)}get value(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get value' called on an object that is not a valid instance of HTMLMeterElement.")}In(Wt);try{return en[sn]["value"]}finally{rn(Wt)}}set value(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set value' called on an object that is not a valid instance of HTMLMeterElement.")}en=tn["double"](en,{context:"Failed to set the 'value' property on 'HTMLMeterElement': The provided value",globals:Wt});In(Wt);try{nn[sn]["value"]=en}finally{rn(Wt)}}get min(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get min' called on an object that is not a valid instance of HTMLMeterElement.")}In(Wt);try{return en[sn]["min"]}finally{rn(Wt)}}set min(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set min' called on an object that is not a valid instance of HTMLMeterElement.")}en=tn["double"](en,{context:"Failed to set the 'min' property on 'HTMLMeterElement': The provided value",globals:Wt});In(Wt);try{nn[sn]["min"]=en}finally{rn(Wt)}}get max(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get max' called on an object that is not a valid instance of HTMLMeterElement.")}In(Wt);try{return en[sn]["max"]}finally{rn(Wt)}}set max(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set max' called on an object that is not a valid instance of HTMLMeterElement.")}en=tn["double"](en,{context:"Failed to set the 'max' property on 'HTMLMeterElement': The provided value",globals:Wt});In(Wt);try{nn[sn]["max"]=en}finally{rn(Wt)}}get low(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get low' called on an object that is not a valid instance of HTMLMeterElement.")}In(Wt);try{return en[sn]["low"]}finally{rn(Wt)}}set low(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set low' called on an object that is not a valid instance of HTMLMeterElement.")}en=tn["double"](en,{context:"Failed to set the 'low' property on 'HTMLMeterElement': The provided value",globals:Wt});In(Wt);try{nn[sn]["low"]=en}finally{rn(Wt)}}get high(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get high' called on an object that is not a valid instance of HTMLMeterElement.")}In(Wt);try{return en[sn]["high"]}finally{rn(Wt)}}set high(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set high' called on an object that is not a valid instance of HTMLMeterElement.")}en=tn["double"](en,{context:"Failed to set the 'high' property on 'HTMLMeterElement': The provided value",globals:Wt});In(Wt);try{nn[sn]["high"]=en}finally{rn(Wt)}}get optimum(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get optimum' called on an object that is not a valid instance of HTMLMeterElement.")}In(Wt);try{return en[sn]["optimum"]}finally{rn(Wt)}}set optimum(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set optimum' called on an object that is not a valid instance of HTMLMeterElement.")}en=tn["double"](en,{context:"Failed to set the 'optimum' property on 'HTMLMeterElement': The provided value",globals:Wt});In(Wt);try{nn[sn]["optimum"]=en}finally{rn(Wt)}}get labels(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get labels' called on an object that is not a valid instance of HTMLMeterElement.")}return nn.tryWrapperForImpl(en[sn]["labels"])}}Object.defineProperties(HTMLMeterElement.prototype,{value:{enumerable:true},min:{enumerable:true},max:{enumerable:true},low:{enumerable:true},high:{enumerable:true},optimum:{enumerable:true},labels:{enumerable:true},[Symbol.toStringTag]:{value:"HTMLMeterElement",configurable:true}});on[dn]=HTMLMeterElement;Object.defineProperty(Wt,dn,{configurable:true,writable:true,value:HTMLMeterElement})};const pn=en(81016)},18390:(Wt,Pt,en)=>{const tn=en(37125);const nn=en(87094);const an=en(84175).HTMLConstructor;const In=en(30962).parseURLToResultingURLRecord;const rn=en(78012).serializeURL;const sn=en(8348).ceReactionsPreSteps;const on=en(8348).ceReactionsPostSteps;const cn=nn.implSymbol;const dn=nn.ctorRegistrySymbol;const un=en(48708);const pn="HTMLModElement";Pt.is=Wt=>nn.isObject(Wt)&&nn.hasOwn(Wt,cn)&&Wt[cn]instanceof bn.implementation;Pt.isImpl=Wt=>nn.isObject(Wt)&&Wt instanceof bn.implementation;Pt.convert=(Wt,en,{context:tn="The provided value"}={})=>{if(Pt.is(en)){return nn.implForWrapper(en)}throw new Wt.TypeError(`${tn} is not of type 'HTMLModElement'.`)};function makeWrapper(Wt,Pt){let en;if(Pt!==undefined){en=Pt.prototype}if(!nn.isObject(en)){en=Wt[dn]["HTMLModElement"].prototype}return Object.create(en)}Pt.create=(Wt,en,tn)=>{const nn=makeWrapper(Wt);return Pt.setup(nn,Wt,en,tn)};Pt.createImpl=(Wt,en,tn)=>{const an=Pt.create(Wt,en,tn);return nn.implForWrapper(an)};Pt._internalSetup=(Wt,Pt)=>{un._internalSetup(Wt,Pt)};Pt.setup=(Wt,en,tn=[],an={})=>{an.wrapper=Wt;Pt._internalSetup(Wt,en);Object.defineProperty(Wt,cn,{value:new bn.implementation(en,tn,an),configurable:true});Wt[cn][nn.wrapperSymbol]=Wt;if(bn.init){bn.init(Wt[cn])}return Wt};Pt["new"]=(Wt,en)=>{const tn=makeWrapper(Wt,en);Pt._internalSetup(tn,Wt);Object.defineProperty(tn,cn,{value:Object.create(bn.implementation.prototype),configurable:true});tn[cn][nn.wrapperSymbol]=tn;if(bn.init){bn.init(tn[cn])}return tn[cn]};const mn=new Set(["Window"]);Pt.install=(Wt,en)=>{if(!en.some((Wt=>mn.has(Wt)))){return}const dn=nn.initCtorRegistry(Wt);class HTMLModElement extends Wt.HTMLElement{constructor(){return an(Wt,pn,new.target)}get cite(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get cite' called on an object that is not a valid instance of HTMLModElement.")}sn(Wt);try{const Wt=en[cn]._reflectGetTheContentAttribute("cite");if(Wt===null){return""}const Pt=In(Wt,en[cn]._ownerDocument);if(Pt!==null){return rn(Pt)}return tn.USVString(Wt)}finally{on(Wt)}}set cite(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set cite' called on an object that is not a valid instance of HTMLModElement.")}en=tn["USVString"](en,{context:"Failed to set the 'cite' property on 'HTMLModElement': The provided value",globals:Wt});sn(Wt);try{nn[cn]._reflectSetTheContentAttribute("cite",en)}finally{on(Wt)}}get dateTime(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get dateTime' called on an object that is not a valid instance of HTMLModElement.")}sn(Wt);try{const Wt=en[cn]._reflectGetTheContentAttribute("datetime");return Wt===null?"":Wt}finally{on(Wt)}}set dateTime(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set dateTime' called on an object that is not a valid instance of HTMLModElement.")}en=tn["DOMString"](en,{context:"Failed to set the 'dateTime' property on 'HTMLModElement': The provided value",globals:Wt});sn(Wt);try{nn[cn]._reflectSetTheContentAttribute("datetime",en)}finally{on(Wt)}}}Object.defineProperties(HTMLModElement.prototype,{cite:{enumerable:true},dateTime:{enumerable:true},[Symbol.toStringTag]:{value:"HTMLModElement",configurable:true}});dn[pn]=HTMLModElement;Object.defineProperty(Wt,pn,{configurable:true,writable:true,value:HTMLModElement})};const bn=en(79557)},72053:(Wt,Pt,en)=>{const tn=en(37125);const nn=en(87094);const an=en(84175).HTMLConstructor;const In=en(8348).ceReactionsPreSteps;const rn=en(8348).ceReactionsPostSteps;const sn=nn.implSymbol;const on=nn.ctorRegistrySymbol;const cn=en(48708);const dn="HTMLOListElement";Pt.is=Wt=>nn.isObject(Wt)&&nn.hasOwn(Wt,sn)&&Wt[sn]instanceof pn.implementation;Pt.isImpl=Wt=>nn.isObject(Wt)&&Wt instanceof pn.implementation;Pt.convert=(Wt,en,{context:tn="The provided value"}={})=>{if(Pt.is(en)){return nn.implForWrapper(en)}throw new Wt.TypeError(`${tn} is not of type 'HTMLOListElement'.`)};function makeWrapper(Wt,Pt){let en;if(Pt!==undefined){en=Pt.prototype}if(!nn.isObject(en)){en=Wt[on]["HTMLOListElement"].prototype}return Object.create(en)}Pt.create=(Wt,en,tn)=>{const nn=makeWrapper(Wt);return Pt.setup(nn,Wt,en,tn)};Pt.createImpl=(Wt,en,tn)=>{const an=Pt.create(Wt,en,tn);return nn.implForWrapper(an)};Pt._internalSetup=(Wt,Pt)=>{cn._internalSetup(Wt,Pt)};Pt.setup=(Wt,en,tn=[],an={})=>{an.wrapper=Wt;Pt._internalSetup(Wt,en);Object.defineProperty(Wt,sn,{value:new pn.implementation(en,tn,an),configurable:true});Wt[sn][nn.wrapperSymbol]=Wt;if(pn.init){pn.init(Wt[sn])}return Wt};Pt["new"]=(Wt,en)=>{const tn=makeWrapper(Wt,en);Pt._internalSetup(tn,Wt);Object.defineProperty(tn,sn,{value:Object.create(pn.implementation.prototype),configurable:true});tn[sn][nn.wrapperSymbol]=tn;if(pn.init){pn.init(tn[sn])}return tn[sn]};const un=new Set(["Window"]);Pt.install=(Wt,en)=>{if(!en.some((Wt=>un.has(Wt)))){return}const on=nn.initCtorRegistry(Wt);class HTMLOListElement extends Wt.HTMLElement{constructor(){return an(Wt,dn,new.target)}get reversed(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get reversed' called on an object that is not a valid instance of HTMLOListElement.")}In(Wt);try{return en[sn]._reflectGetTheContentAttribute("reversed")!==null}finally{rn(Wt)}}set reversed(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set reversed' called on an object that is not a valid instance of HTMLOListElement.")}en=tn["boolean"](en,{context:"Failed to set the 'reversed' property on 'HTMLOListElement': The provided value",globals:Wt});In(Wt);try{if(en){nn[sn]._reflectSetTheContentAttribute("reversed","")}else{nn[sn]._reflectDeleteTheContentAttribute("reversed")}}finally{rn(Wt)}}get start(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get start' called on an object that is not a valid instance of HTMLOListElement.")}In(Wt);try{return en[sn]["start"]}finally{rn(Wt)}}set start(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set start' called on an object that is not a valid instance of HTMLOListElement.")}en=tn["long"](en,{context:"Failed to set the 'start' property on 'HTMLOListElement': The provided value",globals:Wt});In(Wt);try{nn[sn]["start"]=en}finally{rn(Wt)}}get type(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get type' called on an object that is not a valid instance of HTMLOListElement.")}In(Wt);try{const Wt=en[sn]._reflectGetTheContentAttribute("type");return Wt===null?"":Wt}finally{rn(Wt)}}set type(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set type' called on an object that is not a valid instance of HTMLOListElement.")}en=tn["DOMString"](en,{context:"Failed to set the 'type' property on 'HTMLOListElement': The provided value",globals:Wt});In(Wt);try{nn[sn]._reflectSetTheContentAttribute("type",en)}finally{rn(Wt)}}get compact(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get compact' called on an object that is not a valid instance of HTMLOListElement.")}In(Wt);try{return en[sn]._reflectGetTheContentAttribute("compact")!==null}finally{rn(Wt)}}set compact(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set compact' called on an object that is not a valid instance of HTMLOListElement.")}en=tn["boolean"](en,{context:"Failed to set the 'compact' property on 'HTMLOListElement': The provided value",globals:Wt});In(Wt);try{if(en){nn[sn]._reflectSetTheContentAttribute("compact","")}else{nn[sn]._reflectDeleteTheContentAttribute("compact")}}finally{rn(Wt)}}}Object.defineProperties(HTMLOListElement.prototype,{reversed:{enumerable:true},start:{enumerable:true},type:{enumerable:true},compact:{enumerable:true},[Symbol.toStringTag]:{value:"HTMLOListElement",configurable:true}});on[dn]=HTMLOListElement;Object.defineProperty(Wt,dn,{configurable:true,writable:true,value:HTMLOListElement})};const pn=en(4656)},63149:(Wt,Pt,en)=>{const tn=en(37125);const nn=en(87094);const an=en(84175).HTMLConstructor;const In=en(30962).parseURLToResultingURLRecord;const rn=en(78012).serializeURL;const sn=en(8348).ceReactionsPreSteps;const on=en(8348).ceReactionsPostSteps;const cn=en(97205).parseNonNegativeInteger;const dn=nn.implSymbol;const un=nn.ctorRegistrySymbol;const pn=en(48708);const mn="HTMLObjectElement";Pt.is=Wt=>nn.isObject(Wt)&&nn.hasOwn(Wt,dn)&&Wt[dn]instanceof Gn.implementation;Pt.isImpl=Wt=>nn.isObject(Wt)&&Wt instanceof Gn.implementation;Pt.convert=(Wt,en,{context:tn="The provided value"}={})=>{if(Pt.is(en)){return nn.implForWrapper(en)}throw new Wt.TypeError(`${tn} is not of type 'HTMLObjectElement'.`)};function makeWrapper(Wt,Pt){let en;if(Pt!==undefined){en=Pt.prototype}if(!nn.isObject(en)){en=Wt[un]["HTMLObjectElement"].prototype}return Object.create(en)}Pt.create=(Wt,en,tn)=>{const nn=makeWrapper(Wt);return Pt.setup(nn,Wt,en,tn)};Pt.createImpl=(Wt,en,tn)=>{const an=Pt.create(Wt,en,tn);return nn.implForWrapper(an)};Pt._internalSetup=(Wt,Pt)=>{pn._internalSetup(Wt,Pt)};Pt.setup=(Wt,en,tn=[],an={})=>{an.wrapper=Wt;Pt._internalSetup(Wt,en);Object.defineProperty(Wt,dn,{value:new Gn.implementation(en,tn,an),configurable:true});Wt[dn][nn.wrapperSymbol]=Wt;if(Gn.init){Gn.init(Wt[dn])}return Wt};Pt["new"]=(Wt,en)=>{const tn=makeWrapper(Wt,en);Pt._internalSetup(tn,Wt);Object.defineProperty(tn,dn,{value:Object.create(Gn.implementation.prototype),configurable:true});tn[dn][nn.wrapperSymbol]=tn;if(Gn.init){Gn.init(tn[dn])}return tn[dn]};const bn=new Set(["Window"]);Pt.install=(Wt,en)=>{if(!en.some((Wt=>bn.has(Wt)))){return}const un=nn.initCtorRegistry(Wt);class HTMLObjectElement extends Wt.HTMLElement{constructor(){return an(Wt,mn,new.target)}checkValidity(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'checkValidity' called on an object that is not a valid instance of HTMLObjectElement.")}return en[dn].checkValidity()}reportValidity(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'reportValidity' called on an object that is not a valid instance of HTMLObjectElement.")}return en[dn].reportValidity()}setCustomValidity(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'setCustomValidity' called on an object that is not a valid instance of HTMLObjectElement.")}if(arguments.length<1){throw new Wt.TypeError(`Failed to execute 'setCustomValidity' on 'HTMLObjectElement': 1 argument required, but only ${arguments.length} present.`)}const an=[];{let Pt=arguments[0];Pt=tn["DOMString"](Pt,{context:"Failed to execute 'setCustomValidity' on 'HTMLObjectElement': parameter 1",globals:Wt});an.push(Pt)}return nn[dn].setCustomValidity(...an)}get data(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get data' called on an object that is not a valid instance of HTMLObjectElement.")}sn(Wt);try{const Wt=en[dn]._reflectGetTheContentAttribute("data");if(Wt===null){return""}const Pt=In(Wt,en[dn]._ownerDocument);if(Pt!==null){return rn(Pt)}return tn.USVString(Wt)}finally{on(Wt)}}set data(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set data' called on an object that is not a valid instance of HTMLObjectElement.")}en=tn["USVString"](en,{context:"Failed to set the 'data' property on 'HTMLObjectElement': The provided value",globals:Wt});sn(Wt);try{nn[dn]._reflectSetTheContentAttribute("data",en)}finally{on(Wt)}}get type(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get type' called on an object that is not a valid instance of HTMLObjectElement.")}sn(Wt);try{const Wt=en[dn]._reflectGetTheContentAttribute("type");return Wt===null?"":Wt}finally{on(Wt)}}set type(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set type' called on an object that is not a valid instance of HTMLObjectElement.")}en=tn["DOMString"](en,{context:"Failed to set the 'type' property on 'HTMLObjectElement': The provided value",globals:Wt});sn(Wt);try{nn[dn]._reflectSetTheContentAttribute("type",en)}finally{on(Wt)}}get name(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get name' called on an object that is not a valid instance of HTMLObjectElement.")}sn(Wt);try{const Wt=en[dn]._reflectGetTheContentAttribute("name");return Wt===null?"":Wt}finally{on(Wt)}}set name(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set name' called on an object that is not a valid instance of HTMLObjectElement.")}en=tn["DOMString"](en,{context:"Failed to set the 'name' property on 'HTMLObjectElement': The provided value",globals:Wt});sn(Wt);try{nn[dn]._reflectSetTheContentAttribute("name",en)}finally{on(Wt)}}get useMap(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get useMap' called on an object that is not a valid instance of HTMLObjectElement.")}sn(Wt);try{const Wt=en[dn]._reflectGetTheContentAttribute("usemap");return Wt===null?"":Wt}finally{on(Wt)}}set useMap(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set useMap' called on an object that is not a valid instance of HTMLObjectElement.")}en=tn["DOMString"](en,{context:"Failed to set the 'useMap' property on 'HTMLObjectElement': The provided value",globals:Wt});sn(Wt);try{nn[dn]._reflectSetTheContentAttribute("usemap",en)}finally{on(Wt)}}get form(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get form' called on an object that is not a valid instance of HTMLObjectElement.")}return nn.tryWrapperForImpl(en[dn]["form"])}get width(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get width' called on an object that is not a valid instance of HTMLObjectElement.")}sn(Wt);try{const Wt=en[dn]._reflectGetTheContentAttribute("width");return Wt===null?"":Wt}finally{on(Wt)}}set width(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set width' called on an object that is not a valid instance of HTMLObjectElement.")}en=tn["DOMString"](en,{context:"Failed to set the 'width' property on 'HTMLObjectElement': The provided value",globals:Wt});sn(Wt);try{nn[dn]._reflectSetTheContentAttribute("width",en)}finally{on(Wt)}}get height(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get height' called on an object that is not a valid instance of HTMLObjectElement.")}sn(Wt);try{const Wt=en[dn]._reflectGetTheContentAttribute("height");return Wt===null?"":Wt}finally{on(Wt)}}set height(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set height' called on an object that is not a valid instance of HTMLObjectElement.")}en=tn["DOMString"](en,{context:"Failed to set the 'height' property on 'HTMLObjectElement': The provided value",globals:Wt});sn(Wt);try{nn[dn]._reflectSetTheContentAttribute("height",en)}finally{on(Wt)}}get contentDocument(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get contentDocument' called on an object that is not a valid instance of HTMLObjectElement.")}return nn.tryWrapperForImpl(en[dn]["contentDocument"])}get willValidate(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get willValidate' called on an object that is not a valid instance of HTMLObjectElement.")}return en[dn]["willValidate"]}get validity(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get validity' called on an object that is not a valid instance of HTMLObjectElement.")}return nn.tryWrapperForImpl(en[dn]["validity"])}get validationMessage(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get validationMessage' called on an object that is not a valid instance of HTMLObjectElement.")}return en[dn]["validationMessage"]}get align(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get align' called on an object that is not a valid instance of HTMLObjectElement.")}sn(Wt);try{const Wt=en[dn]._reflectGetTheContentAttribute("align");return Wt===null?"":Wt}finally{on(Wt)}}set align(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set align' called on an object that is not a valid instance of HTMLObjectElement.")}en=tn["DOMString"](en,{context:"Failed to set the 'align' property on 'HTMLObjectElement': The provided value",globals:Wt});sn(Wt);try{nn[dn]._reflectSetTheContentAttribute("align",en)}finally{on(Wt)}}get archive(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get archive' called on an object that is not a valid instance of HTMLObjectElement.")}sn(Wt);try{const Wt=en[dn]._reflectGetTheContentAttribute("archive");return Wt===null?"":Wt}finally{on(Wt)}}set archive(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set archive' called on an object that is not a valid instance of HTMLObjectElement.")}en=tn["DOMString"](en,{context:"Failed to set the 'archive' property on 'HTMLObjectElement': The provided value",globals:Wt});sn(Wt);try{nn[dn]._reflectSetTheContentAttribute("archive",en)}finally{on(Wt)}}get code(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get code' called on an object that is not a valid instance of HTMLObjectElement.")}sn(Wt);try{const Wt=en[dn]._reflectGetTheContentAttribute("code");return Wt===null?"":Wt}finally{on(Wt)}}set code(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set code' called on an object that is not a valid instance of HTMLObjectElement.")}en=tn["DOMString"](en,{context:"Failed to set the 'code' property on 'HTMLObjectElement': The provided value",globals:Wt});sn(Wt);try{nn[dn]._reflectSetTheContentAttribute("code",en)}finally{on(Wt)}}get declare(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get declare' called on an object that is not a valid instance of HTMLObjectElement.")}sn(Wt);try{return en[dn]._reflectGetTheContentAttribute("declare")!==null}finally{on(Wt)}}set declare(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set declare' called on an object that is not a valid instance of HTMLObjectElement.")}en=tn["boolean"](en,{context:"Failed to set the 'declare' property on 'HTMLObjectElement': The provided value",globals:Wt});sn(Wt);try{if(en){nn[dn]._reflectSetTheContentAttribute("declare","")}else{nn[dn]._reflectDeleteTheContentAttribute("declare")}}finally{on(Wt)}}get hspace(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get hspace' called on an object that is not a valid instance of HTMLObjectElement.")}sn(Wt);try{let Wt=en[dn]._reflectGetTheContentAttribute("hspace");if(Wt!==null){Wt=cn(Wt);if(Wt!==null&&Wt>=0&&Wt<=2147483647){return Wt}}return 0}finally{on(Wt)}}set hspace(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set hspace' called on an object that is not a valid instance of HTMLObjectElement.")}en=tn["unsigned long"](en,{context:"Failed to set the 'hspace' property on 'HTMLObjectElement': The provided value",globals:Wt});sn(Wt);try{const Wt=en<=2147483647&&en>=0?en:0;nn[dn]._reflectSetTheContentAttribute("hspace",String(Wt))}finally{on(Wt)}}get standby(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get standby' called on an object that is not a valid instance of HTMLObjectElement.")}sn(Wt);try{const Wt=en[dn]._reflectGetTheContentAttribute("standby");return Wt===null?"":Wt}finally{on(Wt)}}set standby(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set standby' called on an object that is not a valid instance of HTMLObjectElement.")}en=tn["DOMString"](en,{context:"Failed to set the 'standby' property on 'HTMLObjectElement': The provided value",globals:Wt});sn(Wt);try{nn[dn]._reflectSetTheContentAttribute("standby",en)}finally{on(Wt)}}get vspace(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get vspace' called on an object that is not a valid instance of HTMLObjectElement.")}sn(Wt);try{let Wt=en[dn]._reflectGetTheContentAttribute("vspace");if(Wt!==null){Wt=cn(Wt);if(Wt!==null&&Wt>=0&&Wt<=2147483647){return Wt}}return 0}finally{on(Wt)}}set vspace(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set vspace' called on an object that is not a valid instance of HTMLObjectElement.")}en=tn["unsigned long"](en,{context:"Failed to set the 'vspace' property on 'HTMLObjectElement': The provided value",globals:Wt});sn(Wt);try{const Wt=en<=2147483647&&en>=0?en:0;nn[dn]._reflectSetTheContentAttribute("vspace",String(Wt))}finally{on(Wt)}}get codeBase(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get codeBase' called on an object that is not a valid instance of HTMLObjectElement.")}sn(Wt);try{const Wt=en[dn]._reflectGetTheContentAttribute("codebase");if(Wt===null){return""}const Pt=In(Wt,en[dn]._ownerDocument);if(Pt!==null){return rn(Pt)}return tn.USVString(Wt)}finally{on(Wt)}}set codeBase(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set codeBase' called on an object that is not a valid instance of HTMLObjectElement.")}en=tn["DOMString"](en,{context:"Failed to set the 'codeBase' property on 'HTMLObjectElement': The provided value",globals:Wt});sn(Wt);try{nn[dn]._reflectSetTheContentAttribute("codebase",en)}finally{on(Wt)}}get codeType(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get codeType' called on an object that is not a valid instance of HTMLObjectElement.")}sn(Wt);try{const Wt=en[dn]._reflectGetTheContentAttribute("codetype");return Wt===null?"":Wt}finally{on(Wt)}}set codeType(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set codeType' called on an object that is not a valid instance of HTMLObjectElement.")}en=tn["DOMString"](en,{context:"Failed to set the 'codeType' property on 'HTMLObjectElement': The provided value",globals:Wt});sn(Wt);try{nn[dn]._reflectSetTheContentAttribute("codetype",en)}finally{on(Wt)}}get border(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get border' called on an object that is not a valid instance of HTMLObjectElement.")}sn(Wt);try{const Wt=en[dn]._reflectGetTheContentAttribute("border");return Wt===null?"":Wt}finally{on(Wt)}}set border(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set border' called on an object that is not a valid instance of HTMLObjectElement.")}en=tn["DOMString"](en,{context:"Failed to set the 'border' property on 'HTMLObjectElement': The provided value",globals:Wt,treatNullAsEmptyString:true});sn(Wt);try{nn[dn]._reflectSetTheContentAttribute("border",en)}finally{on(Wt)}}}Object.defineProperties(HTMLObjectElement.prototype,{checkValidity:{enumerable:true},reportValidity:{enumerable:true},setCustomValidity:{enumerable:true},data:{enumerable:true},type:{enumerable:true},name:{enumerable:true},useMap:{enumerable:true},form:{enumerable:true},width:{enumerable:true},height:{enumerable:true},contentDocument:{enumerable:true},willValidate:{enumerable:true},validity:{enumerable:true},validationMessage:{enumerable:true},align:{enumerable:true},archive:{enumerable:true},code:{enumerable:true},declare:{enumerable:true},hspace:{enumerable:true},standby:{enumerable:true},vspace:{enumerable:true},codeBase:{enumerable:true},codeType:{enumerable:true},border:{enumerable:true},[Symbol.toStringTag]:{value:"HTMLObjectElement",configurable:true}});un[mn]=HTMLObjectElement;Object.defineProperty(Wt,mn,{configurable:true,writable:true,value:HTMLObjectElement})};const Gn=en(12096)},77988:(Wt,Pt,en)=>{const tn=en(37125);const nn=en(87094);const an=en(84175).HTMLConstructor;const In=en(8348).ceReactionsPreSteps;const rn=en(8348).ceReactionsPostSteps;const sn=nn.implSymbol;const on=nn.ctorRegistrySymbol;const cn=en(48708);const dn="HTMLOptGroupElement";Pt.is=Wt=>nn.isObject(Wt)&&nn.hasOwn(Wt,sn)&&Wt[sn]instanceof pn.implementation;Pt.isImpl=Wt=>nn.isObject(Wt)&&Wt instanceof pn.implementation;Pt.convert=(Wt,en,{context:tn="The provided value"}={})=>{if(Pt.is(en)){return nn.implForWrapper(en)}throw new Wt.TypeError(`${tn} is not of type 'HTMLOptGroupElement'.`)};function makeWrapper(Wt,Pt){let en;if(Pt!==undefined){en=Pt.prototype}if(!nn.isObject(en)){en=Wt[on]["HTMLOptGroupElement"].prototype}return Object.create(en)}Pt.create=(Wt,en,tn)=>{const nn=makeWrapper(Wt);return Pt.setup(nn,Wt,en,tn)};Pt.createImpl=(Wt,en,tn)=>{const an=Pt.create(Wt,en,tn);return nn.implForWrapper(an)};Pt._internalSetup=(Wt,Pt)=>{cn._internalSetup(Wt,Pt)};Pt.setup=(Wt,en,tn=[],an={})=>{an.wrapper=Wt;Pt._internalSetup(Wt,en);Object.defineProperty(Wt,sn,{value:new pn.implementation(en,tn,an),configurable:true});Wt[sn][nn.wrapperSymbol]=Wt;if(pn.init){pn.init(Wt[sn])}return Wt};Pt["new"]=(Wt,en)=>{const tn=makeWrapper(Wt,en);Pt._internalSetup(tn,Wt);Object.defineProperty(tn,sn,{value:Object.create(pn.implementation.prototype),configurable:true});tn[sn][nn.wrapperSymbol]=tn;if(pn.init){pn.init(tn[sn])}return tn[sn]};const un=new Set(["Window"]);Pt.install=(Wt,en)=>{if(!en.some((Wt=>un.has(Wt)))){return}const on=nn.initCtorRegistry(Wt);class HTMLOptGroupElement extends Wt.HTMLElement{constructor(){return an(Wt,dn,new.target)}get disabled(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get disabled' called on an object that is not a valid instance of HTMLOptGroupElement.")}In(Wt);try{return en[sn]._reflectGetTheContentAttribute("disabled")!==null}finally{rn(Wt)}}set disabled(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set disabled' called on an object that is not a valid instance of HTMLOptGroupElement.")}en=tn["boolean"](en,{context:"Failed to set the 'disabled' property on 'HTMLOptGroupElement': The provided value",globals:Wt});In(Wt);try{if(en){nn[sn]._reflectSetTheContentAttribute("disabled","")}else{nn[sn]._reflectDeleteTheContentAttribute("disabled")}}finally{rn(Wt)}}get label(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get label' called on an object that is not a valid instance of HTMLOptGroupElement.")}In(Wt);try{const Wt=en[sn]._reflectGetTheContentAttribute("label");return Wt===null?"":Wt}finally{rn(Wt)}}set label(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set label' called on an object that is not a valid instance of HTMLOptGroupElement.")}en=tn["DOMString"](en,{context:"Failed to set the 'label' property on 'HTMLOptGroupElement': The provided value",globals:Wt});In(Wt);try{nn[sn]._reflectSetTheContentAttribute("label",en)}finally{rn(Wt)}}}Object.defineProperties(HTMLOptGroupElement.prototype,{disabled:{enumerable:true},label:{enumerable:true},[Symbol.toStringTag]:{value:"HTMLOptGroupElement",configurable:true}});on[dn]=HTMLOptGroupElement;Object.defineProperty(Wt,dn,{configurable:true,writable:true,value:HTMLOptGroupElement})};const pn=en(16175)},37491:(Wt,Pt,en)=>{const tn=en(37125);const nn=en(87094);const an=en(84175).HTMLConstructor;const In=en(8348).ceReactionsPreSteps;const rn=en(8348).ceReactionsPostSteps;const sn=nn.implSymbol;const on=nn.ctorRegistrySymbol;const cn=en(48708);const dn="HTMLOptionElement";Pt.is=Wt=>nn.isObject(Wt)&&nn.hasOwn(Wt,sn)&&Wt[sn]instanceof pn.implementation;Pt.isImpl=Wt=>nn.isObject(Wt)&&Wt instanceof pn.implementation;Pt.convert=(Wt,en,{context:tn="The provided value"}={})=>{if(Pt.is(en)){return nn.implForWrapper(en)}throw new Wt.TypeError(`${tn} is not of type 'HTMLOptionElement'.`)};function makeWrapper(Wt,Pt){let en;if(Pt!==undefined){en=Pt.prototype}if(!nn.isObject(en)){en=Wt[on]["HTMLOptionElement"].prototype}return Object.create(en)}Pt.create=(Wt,en,tn)=>{const nn=makeWrapper(Wt);return Pt.setup(nn,Wt,en,tn)};Pt.createImpl=(Wt,en,tn)=>{const an=Pt.create(Wt,en,tn);return nn.implForWrapper(an)};Pt._internalSetup=(Wt,Pt)=>{cn._internalSetup(Wt,Pt)};Pt.setup=(Wt,en,tn=[],an={})=>{an.wrapper=Wt;Pt._internalSetup(Wt,en);Object.defineProperty(Wt,sn,{value:new pn.implementation(en,tn,an),configurable:true});Wt[sn][nn.wrapperSymbol]=Wt;if(pn.init){pn.init(Wt[sn])}return Wt};Pt["new"]=(Wt,en)=>{const tn=makeWrapper(Wt,en);Pt._internalSetup(tn,Wt);Object.defineProperty(tn,sn,{value:Object.create(pn.implementation.prototype),configurable:true});tn[sn][nn.wrapperSymbol]=tn;if(pn.init){pn.init(tn[sn])}return tn[sn]};const un=new Set(["Window"]);Pt.install=(Wt,en)=>{if(!en.some((Wt=>un.has(Wt)))){return}const on=nn.initCtorRegistry(Wt);class HTMLOptionElement extends Wt.HTMLElement{constructor(){return an(Wt,dn,new.target)}get disabled(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get disabled' called on an object that is not a valid instance of HTMLOptionElement.")}In(Wt);try{return en[sn]._reflectGetTheContentAttribute("disabled")!==null}finally{rn(Wt)}}set disabled(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set disabled' called on an object that is not a valid instance of HTMLOptionElement.")}en=tn["boolean"](en,{context:"Failed to set the 'disabled' property on 'HTMLOptionElement': The provided value",globals:Wt});In(Wt);try{if(en){nn[sn]._reflectSetTheContentAttribute("disabled","")}else{nn[sn]._reflectDeleteTheContentAttribute("disabled")}}finally{rn(Wt)}}get form(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get form' called on an object that is not a valid instance of HTMLOptionElement.")}return nn.tryWrapperForImpl(en[sn]["form"])}get label(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get label' called on an object that is not a valid instance of HTMLOptionElement.")}In(Wt);try{return en[sn]["label"]}finally{rn(Wt)}}set label(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set label' called on an object that is not a valid instance of HTMLOptionElement.")}en=tn["DOMString"](en,{context:"Failed to set the 'label' property on 'HTMLOptionElement': The provided value",globals:Wt});In(Wt);try{nn[sn]["label"]=en}finally{rn(Wt)}}get defaultSelected(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get defaultSelected' called on an object that is not a valid instance of HTMLOptionElement.")}In(Wt);try{return en[sn]._reflectGetTheContentAttribute("selected")!==null}finally{rn(Wt)}}set defaultSelected(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set defaultSelected' called on an object that is not a valid instance of HTMLOptionElement.")}en=tn["boolean"](en,{context:"Failed to set the 'defaultSelected' property on 'HTMLOptionElement': The provided value",globals:Wt});In(Wt);try{if(en){nn[sn]._reflectSetTheContentAttribute("selected","")}else{nn[sn]._reflectDeleteTheContentAttribute("selected")}}finally{rn(Wt)}}get selected(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get selected' called on an object that is not a valid instance of HTMLOptionElement.")}return en[sn]["selected"]}set selected(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set selected' called on an object that is not a valid instance of HTMLOptionElement.")}en=tn["boolean"](en,{context:"Failed to set the 'selected' property on 'HTMLOptionElement': The provided value",globals:Wt});nn[sn]["selected"]=en}get value(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get value' called on an object that is not a valid instance of HTMLOptionElement.")}In(Wt);try{return en[sn]["value"]}finally{rn(Wt)}}set value(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set value' called on an object that is not a valid instance of HTMLOptionElement.")}en=tn["DOMString"](en,{context:"Failed to set the 'value' property on 'HTMLOptionElement': The provided value",globals:Wt});In(Wt);try{nn[sn]["value"]=en}finally{rn(Wt)}}get text(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get text' called on an object that is not a valid instance of HTMLOptionElement.")}In(Wt);try{return en[sn]["text"]}finally{rn(Wt)}}set text(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set text' called on an object that is not a valid instance of HTMLOptionElement.")}en=tn["DOMString"](en,{context:"Failed to set the 'text' property on 'HTMLOptionElement': The provided value",globals:Wt});In(Wt);try{nn[sn]["text"]=en}finally{rn(Wt)}}get index(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get index' called on an object that is not a valid instance of HTMLOptionElement.")}return en[sn]["index"]}}Object.defineProperties(HTMLOptionElement.prototype,{disabled:{enumerable:true},form:{enumerable:true},label:{enumerable:true},defaultSelected:{enumerable:true},selected:{enumerable:true},value:{enumerable:true},text:{enumerable:true},index:{enumerable:true},[Symbol.toStringTag]:{value:"HTMLOptionElement",configurable:true}});on[dn]=HTMLOptionElement;Object.defineProperty(Wt,dn,{configurable:true,writable:true,value:HTMLOptionElement})};const pn=en(1002)},71834:(Wt,Pt,en)=>{const tn=en(37125);const nn=en(87094);const an=en(37491);const In=en(77988);const rn=en(48708);const sn=en(8348).ceReactionsPreSteps;const on=en(8348).ceReactionsPostSteps;const cn=nn.implSymbol;const dn=nn.ctorRegistrySymbol;const un=en(13506);const pn="HTMLOptionsCollection";Pt.is=Wt=>nn.isObject(Wt)&&nn.hasOwn(Wt,cn)&&Wt[cn]instanceof Gn.implementation;Pt.isImpl=Wt=>nn.isObject(Wt)&&Wt instanceof Gn.implementation;Pt.convert=(Wt,en,{context:tn="The provided value"}={})=>{if(Pt.is(en)){return nn.implForWrapper(en)}throw new Wt.TypeError(`${tn} is not of type 'HTMLOptionsCollection'.`)};function makeWrapper(Wt,Pt){let en;if(Pt!==undefined){en=Pt.prototype}if(!nn.isObject(en)){en=Wt[dn]["HTMLOptionsCollection"].prototype}return Object.create(en)}function makeProxy(Wt,Pt){let en=bn.get(Pt);if(en===undefined){en=new ProxyHandler(Pt);bn.set(Pt,en)}return new Proxy(Wt,en)}Pt.create=(Wt,en,tn)=>{const nn=makeWrapper(Wt);return Pt.setup(nn,Wt,en,tn)};Pt.createImpl=(Wt,en,tn)=>{const an=Pt.create(Wt,en,tn);return nn.implForWrapper(an)};Pt._internalSetup=(Wt,Pt)=>{un._internalSetup(Wt,Pt)};Pt.setup=(Wt,en,tn=[],an={})=>{an.wrapper=Wt;Pt._internalSetup(Wt,en);Object.defineProperty(Wt,cn,{value:new Gn.implementation(en,tn,an),configurable:true});Wt=makeProxy(Wt,en);Wt[cn][nn.wrapperSymbol]=Wt;if(Gn.init){Gn.init(Wt[cn])}return Wt};Pt["new"]=(Wt,en)=>{let tn=makeWrapper(Wt,en);Pt._internalSetup(tn,Wt);Object.defineProperty(tn,cn,{value:Object.create(Gn.implementation.prototype),configurable:true});tn=makeProxy(tn,Wt);tn[cn][nn.wrapperSymbol]=tn;if(Gn.init){Gn.init(tn[cn])}return tn[cn]};const mn=new Set(["Window"]);Pt.install=(Wt,en)=>{if(!en.some((Wt=>mn.has(Wt)))){return}const dn=nn.initCtorRegistry(Wt);class HTMLOptionsCollection extends Wt.HTMLCollection{constructor(){throw new Wt.TypeError("Illegal constructor")}add(en){const dn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(dn)){throw new Wt.TypeError("'add' called on an object that is not a valid instance of HTMLOptionsCollection.")}if(arguments.length<1){throw new Wt.TypeError(`Failed to execute 'add' on 'HTMLOptionsCollection': 1 argument required, but only ${arguments.length} present.`)}const un=[];{let Pt=arguments[0];if(an.is(Pt)||In.is(Pt)){Pt=nn.implForWrapper(Pt)}else{throw new Wt.TypeError("Failed to execute 'add' on 'HTMLOptionsCollection': parameter 1"+" is not of any supported type.")}un.push(Pt)}{let Pt=arguments[1];if(Pt!==undefined){if(Pt===null||Pt===undefined){Pt=null}else{if(rn.is(Pt)){Pt=nn.implForWrapper(Pt)}else if(typeof Pt==="number"){Pt=tn["long"](Pt,{context:"Failed to execute 'add' on 'HTMLOptionsCollection': parameter 2",globals:Wt})}else{Pt=tn["long"](Pt,{context:"Failed to execute 'add' on 'HTMLOptionsCollection': parameter 2",globals:Wt})}}}else{Pt=null}un.push(Pt)}sn(Wt);try{return dn[cn].add(...un)}finally{on(Wt)}}remove(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'remove' called on an object that is not a valid instance of HTMLOptionsCollection.")}if(arguments.length<1){throw new Wt.TypeError(`Failed to execute 'remove' on 'HTMLOptionsCollection': 1 argument required, but only ${arguments.length} present.`)}const an=[];{let Pt=arguments[0];Pt=tn["long"](Pt,{context:"Failed to execute 'remove' on 'HTMLOptionsCollection': parameter 1",globals:Wt});an.push(Pt)}sn(Wt);try{return nn[cn].remove(...an)}finally{on(Wt)}}get length(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get length' called on an object that is not a valid instance of HTMLOptionsCollection.")}sn(Wt);try{return en[cn]["length"]}finally{on(Wt)}}set length(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set length' called on an object that is not a valid instance of HTMLOptionsCollection.")}en=tn["unsigned long"](en,{context:"Failed to set the 'length' property on 'HTMLOptionsCollection': The provided value",globals:Wt});sn(Wt);try{nn[cn]["length"]=en}finally{on(Wt)}}get selectedIndex(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get selectedIndex' called on an object that is not a valid instance of HTMLOptionsCollection.")}return en[cn]["selectedIndex"]}set selectedIndex(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set selectedIndex' called on an object that is not a valid instance of HTMLOptionsCollection.")}en=tn["long"](en,{context:"Failed to set the 'selectedIndex' property on 'HTMLOptionsCollection': The provided value",globals:Wt});nn[cn]["selectedIndex"]=en}}Object.defineProperties(HTMLOptionsCollection.prototype,{add:{enumerable:true},remove:{enumerable:true},length:{enumerable:true},selectedIndex:{enumerable:true},[Symbol.toStringTag]:{value:"HTMLOptionsCollection",configurable:true},[Symbol.iterator]:{value:Wt.Array.prototype[Symbol.iterator],configurable:true,writable:true}});dn[pn]=HTMLOptionsCollection;Object.defineProperty(Wt,pn,{configurable:true,writable:true,value:HTMLOptionsCollection})};const bn=new WeakMap;class ProxyHandler{constructor(Wt){this._globalObject=Wt}get(Wt,Pt,en){if(typeof Pt==="symbol"){return Reflect.get(Wt,Pt,en)}const tn=this.getOwnPropertyDescriptor(Wt,Pt);if(tn===undefined){const tn=Object.getPrototypeOf(Wt);if(tn===null){return undefined}return Reflect.get(Wt,Pt,en)}if(!tn.get&&!tn.set){return tn.value}const nn=tn.get;if(nn===undefined){return undefined}return Reflect.apply(nn,en,[])}has(Wt,Pt){if(typeof Pt==="symbol"){return Reflect.has(Wt,Pt)}const en=this.getOwnPropertyDescriptor(Wt,Pt);if(en!==undefined){return true}const tn=Object.getPrototypeOf(Wt);if(tn!==null){return Reflect.has(tn,Pt)}return false}ownKeys(Wt){const Pt=new Set;for(const en of Wt[cn][nn.supportedPropertyIndices]){Pt.add(`${en}`)}for(const en of Wt[cn][nn.supportedPropertyNames]){if(!(en in Wt)){Pt.add(`${en}`)}}for(const en of Reflect.ownKeys(Wt)){Pt.add(en)}return[...Pt]}getOwnPropertyDescriptor(Wt,Pt){if(typeof Pt==="symbol"){return Reflect.getOwnPropertyDescriptor(Wt,Pt)}let en=false;if(nn.isArrayIndexPropName(Pt)){const tn=Pt>>>0;const an=Wt[cn].item(tn);if(an!==null){return{writable:true,enumerable:true,configurable:true,value:nn.tryWrapperForImpl(an)}}en=true}const tn=Wt[cn].namedItem(Pt);if(tn!==null&&!(Pt in Wt)&&!en){return{writable:false,enumerable:true,configurable:true,value:nn.tryWrapperForImpl(tn)}}return Reflect.getOwnPropertyDescriptor(Wt,Pt)}set(Wt,Pt,en,tn){if(typeof Pt==="symbol"){return Reflect.set(Wt,Pt,en,tn)}if(Wt[cn][nn.wrapperSymbol]===tn){const tn=this._globalObject;if(nn.isArrayIndexPropName(Pt)){const In=Pt>>>0;let rn=en;if(rn===null||rn===undefined){rn=null}else{rn=an.convert(tn,rn,{context:"Failed to set the "+In+" property on 'HTMLOptionsCollection': The provided value"})}sn(tn);try{const Pt=!(Wt[cn].item(In)!==null);if(Pt){Wt[cn][nn.indexedSetNew](In,rn)}else{Wt[cn][nn.indexedSetExisting](In,rn)}}finally{on(tn)}return true}}let In;if(nn.isArrayIndexPropName(Pt)){const en=Pt>>>0;const tn=Wt[cn].item(en);if(tn!==null){In={writable:true,enumerable:true,configurable:true,value:nn.tryWrapperForImpl(tn)}}}if(In===undefined){In=Reflect.getOwnPropertyDescriptor(Wt,Pt)}if(In===undefined){const nn=Reflect.getPrototypeOf(Wt);if(nn!==null){return Reflect.set(nn,Pt,en,tn)}In={writable:true,enumerable:true,configurable:true,value:undefined}}if(!In.writable){return false}if(!nn.isObject(tn)){return false}const rn=Reflect.getOwnPropertyDescriptor(tn,Pt);let dn;if(rn!==undefined){if(rn.get||rn.set){return false}if(!rn.writable){return false}dn={value:en}}else{dn={writable:true,enumerable:true,configurable:true,value:en}}return Reflect.defineProperty(tn,Pt,dn)}defineProperty(Wt,Pt,en){if(typeof Pt==="symbol"){return Reflect.defineProperty(Wt,Pt,en)}const tn=this._globalObject;if(nn.isArrayIndexPropName(Pt)){if(en.get||en.set){return false}const In=Pt>>>0;let rn=en.value;if(rn===null||rn===undefined){rn=null}else{rn=an.convert(tn,rn,{context:"Failed to set the "+In+" property on 'HTMLOptionsCollection': The provided value"})}sn(tn);try{const Pt=!(Wt[cn].item(In)!==null);if(Pt){Wt[cn][nn.indexedSetNew](In,rn)}else{Wt[cn][nn.indexedSetExisting](In,rn)}}finally{on(tn)}return true}if(!nn.hasOwn(Wt,Pt)){const en=!(Wt[cn].namedItem(Pt)!==null);if(!en){return false}}return Reflect.defineProperty(Wt,Pt,en)}deleteProperty(Wt,Pt){if(typeof Pt==="symbol"){return Reflect.deleteProperty(Wt,Pt)}const en=this._globalObject;if(nn.isArrayIndexPropName(Pt)){const en=Pt>>>0;return!(Wt[cn].item(en)!==null)}if(Wt[cn].namedItem(Pt)!==null&&!(Pt in Wt)){return false}return Reflect.deleteProperty(Wt,Pt)}preventExtensions(){return false}}const Gn=en(1465)},41035:(Wt,Pt,en)=>{const tn=en(37125);const nn=en(87094);const an=en(84175).HTMLConstructor;const In=en(8348).ceReactionsPreSteps;const rn=en(8348).ceReactionsPostSteps;const sn=nn.implSymbol;const on=nn.ctorRegistrySymbol;const cn=en(48708);const dn="HTMLOutputElement";Pt.is=Wt=>nn.isObject(Wt)&&nn.hasOwn(Wt,sn)&&Wt[sn]instanceof pn.implementation;Pt.isImpl=Wt=>nn.isObject(Wt)&&Wt instanceof pn.implementation;Pt.convert=(Wt,en,{context:tn="The provided value"}={})=>{if(Pt.is(en)){return nn.implForWrapper(en)}throw new Wt.TypeError(`${tn} is not of type 'HTMLOutputElement'.`)};function makeWrapper(Wt,Pt){let en;if(Pt!==undefined){en=Pt.prototype}if(!nn.isObject(en)){en=Wt[on]["HTMLOutputElement"].prototype}return Object.create(en)}Pt.create=(Wt,en,tn)=>{const nn=makeWrapper(Wt);return Pt.setup(nn,Wt,en,tn)};Pt.createImpl=(Wt,en,tn)=>{const an=Pt.create(Wt,en,tn);return nn.implForWrapper(an)};Pt._internalSetup=(Wt,Pt)=>{cn._internalSetup(Wt,Pt)};Pt.setup=(Wt,en,tn=[],an={})=>{an.wrapper=Wt;Pt._internalSetup(Wt,en);Object.defineProperty(Wt,sn,{value:new pn.implementation(en,tn,an),configurable:true});Wt[sn][nn.wrapperSymbol]=Wt;if(pn.init){pn.init(Wt[sn])}return Wt};Pt["new"]=(Wt,en)=>{const tn=makeWrapper(Wt,en);Pt._internalSetup(tn,Wt);Object.defineProperty(tn,sn,{value:Object.create(pn.implementation.prototype),configurable:true});tn[sn][nn.wrapperSymbol]=tn;if(pn.init){pn.init(tn[sn])}return tn[sn]};const un=new Set(["Window"]);Pt.install=(Wt,en)=>{if(!en.some((Wt=>un.has(Wt)))){return}const on=nn.initCtorRegistry(Wt);class HTMLOutputElement extends Wt.HTMLElement{constructor(){return an(Wt,dn,new.target)}checkValidity(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'checkValidity' called on an object that is not a valid instance of HTMLOutputElement.")}return en[sn].checkValidity()}reportValidity(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'reportValidity' called on an object that is not a valid instance of HTMLOutputElement.")}return en[sn].reportValidity()}setCustomValidity(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'setCustomValidity' called on an object that is not a valid instance of HTMLOutputElement.")}if(arguments.length<1){throw new Wt.TypeError(`Failed to execute 'setCustomValidity' on 'HTMLOutputElement': 1 argument required, but only ${arguments.length} present.`)}const an=[];{let Pt=arguments[0];Pt=tn["DOMString"](Pt,{context:"Failed to execute 'setCustomValidity' on 'HTMLOutputElement': parameter 1",globals:Wt});an.push(Pt)}return nn[sn].setCustomValidity(...an)}get htmlFor(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get htmlFor' called on an object that is not a valid instance of HTMLOutputElement.")}return nn.getSameObject(this,"htmlFor",(()=>nn.tryWrapperForImpl(en[sn]["htmlFor"])))}set htmlFor(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set htmlFor' called on an object that is not a valid instance of HTMLOutputElement.")}const an=tn["htmlFor"];if(!nn.isObject(an)){throw new Wt.TypeError("Property 'htmlFor' is not an object")}Reflect.set(an,"value",en)}get form(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get form' called on an object that is not a valid instance of HTMLOutputElement.")}return nn.tryWrapperForImpl(en[sn]["form"])}get name(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get name' called on an object that is not a valid instance of HTMLOutputElement.")}In(Wt);try{const Wt=en[sn]._reflectGetTheContentAttribute("name");return Wt===null?"":Wt}finally{rn(Wt)}}set name(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set name' called on an object that is not a valid instance of HTMLOutputElement.")}en=tn["DOMString"](en,{context:"Failed to set the 'name' property on 'HTMLOutputElement': The provided value",globals:Wt});In(Wt);try{nn[sn]._reflectSetTheContentAttribute("name",en)}finally{rn(Wt)}}get type(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get type' called on an object that is not a valid instance of HTMLOutputElement.")}return en[sn]["type"]}get defaultValue(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get defaultValue' called on an object that is not a valid instance of HTMLOutputElement.")}In(Wt);try{return en[sn]["defaultValue"]}finally{rn(Wt)}}set defaultValue(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set defaultValue' called on an object that is not a valid instance of HTMLOutputElement.")}en=tn["DOMString"](en,{context:"Failed to set the 'defaultValue' property on 'HTMLOutputElement': The provided value",globals:Wt});In(Wt);try{nn[sn]["defaultValue"]=en}finally{rn(Wt)}}get value(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get value' called on an object that is not a valid instance of HTMLOutputElement.")}In(Wt);try{return en[sn]["value"]}finally{rn(Wt)}}set value(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set value' called on an object that is not a valid instance of HTMLOutputElement.")}en=tn["DOMString"](en,{context:"Failed to set the 'value' property on 'HTMLOutputElement': The provided value",globals:Wt});In(Wt);try{nn[sn]["value"]=en}finally{rn(Wt)}}get willValidate(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get willValidate' called on an object that is not a valid instance of HTMLOutputElement.")}return en[sn]["willValidate"]}get validity(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get validity' called on an object that is not a valid instance of HTMLOutputElement.")}return nn.tryWrapperForImpl(en[sn]["validity"])}get validationMessage(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get validationMessage' called on an object that is not a valid instance of HTMLOutputElement.")}return en[sn]["validationMessage"]}get labels(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get labels' called on an object that is not a valid instance of HTMLOutputElement.")}return nn.tryWrapperForImpl(en[sn]["labels"])}}Object.defineProperties(HTMLOutputElement.prototype,{checkValidity:{enumerable:true},reportValidity:{enumerable:true},setCustomValidity:{enumerable:true},htmlFor:{enumerable:true},form:{enumerable:true},name:{enumerable:true},type:{enumerable:true},defaultValue:{enumerable:true},value:{enumerable:true},willValidate:{enumerable:true},validity:{enumerable:true},validationMessage:{enumerable:true},labels:{enumerable:true},[Symbol.toStringTag]:{value:"HTMLOutputElement",configurable:true}});on[dn]=HTMLOutputElement;Object.defineProperty(Wt,dn,{configurable:true,writable:true,value:HTMLOutputElement})};const pn=en(8138)},31632:(Wt,Pt,en)=>{const tn=en(37125);const nn=en(87094);const an=en(84175).HTMLConstructor;const In=en(8348).ceReactionsPreSteps;const rn=en(8348).ceReactionsPostSteps;const sn=nn.implSymbol;const on=nn.ctorRegistrySymbol;const cn=en(48708);const dn="HTMLParagraphElement";Pt.is=Wt=>nn.isObject(Wt)&&nn.hasOwn(Wt,sn)&&Wt[sn]instanceof pn.implementation;Pt.isImpl=Wt=>nn.isObject(Wt)&&Wt instanceof pn.implementation;Pt.convert=(Wt,en,{context:tn="The provided value"}={})=>{if(Pt.is(en)){return nn.implForWrapper(en)}throw new Wt.TypeError(`${tn} is not of type 'HTMLParagraphElement'.`)};function makeWrapper(Wt,Pt){let en;if(Pt!==undefined){en=Pt.prototype}if(!nn.isObject(en)){en=Wt[on]["HTMLParagraphElement"].prototype}return Object.create(en)}Pt.create=(Wt,en,tn)=>{const nn=makeWrapper(Wt);return Pt.setup(nn,Wt,en,tn)};Pt.createImpl=(Wt,en,tn)=>{const an=Pt.create(Wt,en,tn);return nn.implForWrapper(an)};Pt._internalSetup=(Wt,Pt)=>{cn._internalSetup(Wt,Pt)};Pt.setup=(Wt,en,tn=[],an={})=>{an.wrapper=Wt;Pt._internalSetup(Wt,en);Object.defineProperty(Wt,sn,{value:new pn.implementation(en,tn,an),configurable:true});Wt[sn][nn.wrapperSymbol]=Wt;if(pn.init){pn.init(Wt[sn])}return Wt};Pt["new"]=(Wt,en)=>{const tn=makeWrapper(Wt,en);Pt._internalSetup(tn,Wt);Object.defineProperty(tn,sn,{value:Object.create(pn.implementation.prototype),configurable:true});tn[sn][nn.wrapperSymbol]=tn;if(pn.init){pn.init(tn[sn])}return tn[sn]};const un=new Set(["Window"]);Pt.install=(Wt,en)=>{if(!en.some((Wt=>un.has(Wt)))){return}const on=nn.initCtorRegistry(Wt);class HTMLParagraphElement extends Wt.HTMLElement{constructor(){return an(Wt,dn,new.target)}get align(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get align' called on an object that is not a valid instance of HTMLParagraphElement.")}In(Wt);try{const Wt=en[sn]._reflectGetTheContentAttribute("align");return Wt===null?"":Wt}finally{rn(Wt)}}set align(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set align' called on an object that is not a valid instance of HTMLParagraphElement.")}en=tn["DOMString"](en,{context:"Failed to set the 'align' property on 'HTMLParagraphElement': The provided value",globals:Wt});In(Wt);try{nn[sn]._reflectSetTheContentAttribute("align",en)}finally{rn(Wt)}}}Object.defineProperties(HTMLParagraphElement.prototype,{align:{enumerable:true},[Symbol.toStringTag]:{value:"HTMLParagraphElement",configurable:true}});on[dn]=HTMLParagraphElement;Object.defineProperty(Wt,dn,{configurable:true,writable:true,value:HTMLParagraphElement})};const pn=en(62627)},21325:(Wt,Pt,en)=>{const tn=en(37125);const nn=en(87094);const an=en(84175).HTMLConstructor;const In=en(8348).ceReactionsPreSteps;const rn=en(8348).ceReactionsPostSteps;const sn=nn.implSymbol;const on=nn.ctorRegistrySymbol;const cn=en(48708);const dn="HTMLParamElement";Pt.is=Wt=>nn.isObject(Wt)&&nn.hasOwn(Wt,sn)&&Wt[sn]instanceof pn.implementation;Pt.isImpl=Wt=>nn.isObject(Wt)&&Wt instanceof pn.implementation;Pt.convert=(Wt,en,{context:tn="The provided value"}={})=>{if(Pt.is(en)){return nn.implForWrapper(en)}throw new Wt.TypeError(`${tn} is not of type 'HTMLParamElement'.`)};function makeWrapper(Wt,Pt){let en;if(Pt!==undefined){en=Pt.prototype}if(!nn.isObject(en)){en=Wt[on]["HTMLParamElement"].prototype}return Object.create(en)}Pt.create=(Wt,en,tn)=>{const nn=makeWrapper(Wt);return Pt.setup(nn,Wt,en,tn)};Pt.createImpl=(Wt,en,tn)=>{const an=Pt.create(Wt,en,tn);return nn.implForWrapper(an)};Pt._internalSetup=(Wt,Pt)=>{cn._internalSetup(Wt,Pt)};Pt.setup=(Wt,en,tn=[],an={})=>{an.wrapper=Wt;Pt._internalSetup(Wt,en);Object.defineProperty(Wt,sn,{value:new pn.implementation(en,tn,an),configurable:true});Wt[sn][nn.wrapperSymbol]=Wt;if(pn.init){pn.init(Wt[sn])}return Wt};Pt["new"]=(Wt,en)=>{const tn=makeWrapper(Wt,en);Pt._internalSetup(tn,Wt);Object.defineProperty(tn,sn,{value:Object.create(pn.implementation.prototype),configurable:true});tn[sn][nn.wrapperSymbol]=tn;if(pn.init){pn.init(tn[sn])}return tn[sn]};const un=new Set(["Window"]);Pt.install=(Wt,en)=>{if(!en.some((Wt=>un.has(Wt)))){return}const on=nn.initCtorRegistry(Wt);class HTMLParamElement extends Wt.HTMLElement{constructor(){return an(Wt,dn,new.target)}get name(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get name' called on an object that is not a valid instance of HTMLParamElement.")}In(Wt);try{const Wt=en[sn]._reflectGetTheContentAttribute("name");return Wt===null?"":Wt}finally{rn(Wt)}}set name(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set name' called on an object that is not a valid instance of HTMLParamElement.")}en=tn["DOMString"](en,{context:"Failed to set the 'name' property on 'HTMLParamElement': The provided value",globals:Wt});In(Wt);try{nn[sn]._reflectSetTheContentAttribute("name",en)}finally{rn(Wt)}}get value(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get value' called on an object that is not a valid instance of HTMLParamElement.")}In(Wt);try{const Wt=en[sn]._reflectGetTheContentAttribute("value");return Wt===null?"":Wt}finally{rn(Wt)}}set value(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set value' called on an object that is not a valid instance of HTMLParamElement.")}en=tn["DOMString"](en,{context:"Failed to set the 'value' property on 'HTMLParamElement': The provided value",globals:Wt});In(Wt);try{nn[sn]._reflectSetTheContentAttribute("value",en)}finally{rn(Wt)}}get type(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get type' called on an object that is not a valid instance of HTMLParamElement.")}In(Wt);try{const Wt=en[sn]._reflectGetTheContentAttribute("type");return Wt===null?"":Wt}finally{rn(Wt)}}set type(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set type' called on an object that is not a valid instance of HTMLParamElement.")}en=tn["DOMString"](en,{context:"Failed to set the 'type' property on 'HTMLParamElement': The provided value",globals:Wt});In(Wt);try{nn[sn]._reflectSetTheContentAttribute("type",en)}finally{rn(Wt)}}get valueType(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get valueType' called on an object that is not a valid instance of HTMLParamElement.")}In(Wt);try{const Wt=en[sn]._reflectGetTheContentAttribute("valuetype");return Wt===null?"":Wt}finally{rn(Wt)}}set valueType(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set valueType' called on an object that is not a valid instance of HTMLParamElement.")}en=tn["DOMString"](en,{context:"Failed to set the 'valueType' property on 'HTMLParamElement': The provided value",globals:Wt});In(Wt);try{nn[sn]._reflectSetTheContentAttribute("valuetype",en)}finally{rn(Wt)}}}Object.defineProperties(HTMLParamElement.prototype,{name:{enumerable:true},value:{enumerable:true},type:{enumerable:true},valueType:{enumerable:true},[Symbol.toStringTag]:{value:"HTMLParamElement",configurable:true}});on[dn]=HTMLParamElement;Object.defineProperty(Wt,dn,{configurable:true,writable:true,value:HTMLParamElement})};const pn=en(4328)},58224:(Wt,Pt,en)=>{const tn=en(37125);const nn=en(87094);const an=en(84175).HTMLConstructor;const In=nn.implSymbol;const rn=nn.ctorRegistrySymbol;const sn=en(48708);const on="HTMLPictureElement";Pt.is=Wt=>nn.isObject(Wt)&&nn.hasOwn(Wt,In)&&Wt[In]instanceof dn.implementation;Pt.isImpl=Wt=>nn.isObject(Wt)&&Wt instanceof dn.implementation;Pt.convert=(Wt,en,{context:tn="The provided value"}={})=>{if(Pt.is(en)){return nn.implForWrapper(en)}throw new Wt.TypeError(`${tn} is not of type 'HTMLPictureElement'.`)};function makeWrapper(Wt,Pt){let en;if(Pt!==undefined){en=Pt.prototype}if(!nn.isObject(en)){en=Wt[rn]["HTMLPictureElement"].prototype}return Object.create(en)}Pt.create=(Wt,en,tn)=>{const nn=makeWrapper(Wt);return Pt.setup(nn,Wt,en,tn)};Pt.createImpl=(Wt,en,tn)=>{const an=Pt.create(Wt,en,tn);return nn.implForWrapper(an)};Pt._internalSetup=(Wt,Pt)=>{sn._internalSetup(Wt,Pt)};Pt.setup=(Wt,en,tn=[],an={})=>{an.wrapper=Wt;Pt._internalSetup(Wt,en);Object.defineProperty(Wt,In,{value:new dn.implementation(en,tn,an),configurable:true});Wt[In][nn.wrapperSymbol]=Wt;if(dn.init){dn.init(Wt[In])}return Wt};Pt["new"]=(Wt,en)=>{const tn=makeWrapper(Wt,en);Pt._internalSetup(tn,Wt);Object.defineProperty(tn,In,{value:Object.create(dn.implementation.prototype),configurable:true});tn[In][nn.wrapperSymbol]=tn;if(dn.init){dn.init(tn[In])}return tn[In]};const cn=new Set(["Window"]);Pt.install=(Wt,Pt)=>{if(!Pt.some((Wt=>cn.has(Wt)))){return}const en=nn.initCtorRegistry(Wt);class HTMLPictureElement extends Wt.HTMLElement{constructor(){return an(Wt,on,new.target)}}Object.defineProperties(HTMLPictureElement.prototype,{[Symbol.toStringTag]:{value:"HTMLPictureElement",configurable:true}});en[on]=HTMLPictureElement;Object.defineProperty(Wt,on,{configurable:true,writable:true,value:HTMLPictureElement})};const dn=en(42195)},19929:(Wt,Pt,en)=>{const tn=en(37125);const nn=en(87094);const an=en(84175).HTMLConstructor;const In=en(97205).parseInteger;const rn=en(8348).ceReactionsPreSteps;const sn=en(8348).ceReactionsPostSteps;const on=nn.implSymbol;const cn=nn.ctorRegistrySymbol;const dn=en(48708);const un="HTMLPreElement";Pt.is=Wt=>nn.isObject(Wt)&&nn.hasOwn(Wt,on)&&Wt[on]instanceof mn.implementation;Pt.isImpl=Wt=>nn.isObject(Wt)&&Wt instanceof mn.implementation;Pt.convert=(Wt,en,{context:tn="The provided value"}={})=>{if(Pt.is(en)){return nn.implForWrapper(en)}throw new Wt.TypeError(`${tn} is not of type 'HTMLPreElement'.`)};function makeWrapper(Wt,Pt){let en;if(Pt!==undefined){en=Pt.prototype}if(!nn.isObject(en)){en=Wt[cn]["HTMLPreElement"].prototype}return Object.create(en)}Pt.create=(Wt,en,tn)=>{const nn=makeWrapper(Wt);return Pt.setup(nn,Wt,en,tn)};Pt.createImpl=(Wt,en,tn)=>{const an=Pt.create(Wt,en,tn);return nn.implForWrapper(an)};Pt._internalSetup=(Wt,Pt)=>{dn._internalSetup(Wt,Pt)};Pt.setup=(Wt,en,tn=[],an={})=>{an.wrapper=Wt;Pt._internalSetup(Wt,en);Object.defineProperty(Wt,on,{value:new mn.implementation(en,tn,an),configurable:true});Wt[on][nn.wrapperSymbol]=Wt;if(mn.init){mn.init(Wt[on])}return Wt};Pt["new"]=(Wt,en)=>{const tn=makeWrapper(Wt,en);Pt._internalSetup(tn,Wt);Object.defineProperty(tn,on,{value:Object.create(mn.implementation.prototype),configurable:true});tn[on][nn.wrapperSymbol]=tn;if(mn.init){mn.init(tn[on])}return tn[on]};const pn=new Set(["Window"]);Pt.install=(Wt,en)=>{if(!en.some((Wt=>pn.has(Wt)))){return}const cn=nn.initCtorRegistry(Wt);class HTMLPreElement extends Wt.HTMLElement{constructor(){return an(Wt,un,new.target)}get width(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get width' called on an object that is not a valid instance of HTMLPreElement.")}rn(Wt);try{let Wt=en[on]._reflectGetTheContentAttribute("width");if(Wt!==null){Wt=In(Wt);if(Wt!==null&&tn.long(Wt)===Wt){return Wt}}return 0}finally{sn(Wt)}}set width(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set width' called on an object that is not a valid instance of HTMLPreElement.")}en=tn["long"](en,{context:"Failed to set the 'width' property on 'HTMLPreElement': The provided value",globals:Wt});rn(Wt);try{nn[on]._reflectSetTheContentAttribute("width",String(en))}finally{sn(Wt)}}}Object.defineProperties(HTMLPreElement.prototype,{width:{enumerable:true},[Symbol.toStringTag]:{value:"HTMLPreElement",configurable:true}});cn[un]=HTMLPreElement;Object.defineProperty(Wt,un,{configurable:true,writable:true,value:HTMLPreElement})};const mn=en(79236)},84049:(Wt,Pt,en)=>{const tn=en(37125);const nn=en(87094);const an=en(84175).HTMLConstructor;const In=en(8348).ceReactionsPreSteps;const rn=en(8348).ceReactionsPostSteps;const sn=en(97205).parseFloatingPointNumber;const on=nn.implSymbol;const cn=nn.ctorRegistrySymbol;const dn=en(48708);const un="HTMLProgressElement";Pt.is=Wt=>nn.isObject(Wt)&&nn.hasOwn(Wt,on)&&Wt[on]instanceof mn.implementation;Pt.isImpl=Wt=>nn.isObject(Wt)&&Wt instanceof mn.implementation;Pt.convert=(Wt,en,{context:tn="The provided value"}={})=>{if(Pt.is(en)){return nn.implForWrapper(en)}throw new Wt.TypeError(`${tn} is not of type 'HTMLProgressElement'.`)};function makeWrapper(Wt,Pt){let en;if(Pt!==undefined){en=Pt.prototype}if(!nn.isObject(en)){en=Wt[cn]["HTMLProgressElement"].prototype}return Object.create(en)}Pt.create=(Wt,en,tn)=>{const nn=makeWrapper(Wt);return Pt.setup(nn,Wt,en,tn)};Pt.createImpl=(Wt,en,tn)=>{const an=Pt.create(Wt,en,tn);return nn.implForWrapper(an)};Pt._internalSetup=(Wt,Pt)=>{dn._internalSetup(Wt,Pt)};Pt.setup=(Wt,en,tn=[],an={})=>{an.wrapper=Wt;Pt._internalSetup(Wt,en);Object.defineProperty(Wt,on,{value:new mn.implementation(en,tn,an),configurable:true});Wt[on][nn.wrapperSymbol]=Wt;if(mn.init){mn.init(Wt[on])}return Wt};Pt["new"]=(Wt,en)=>{const tn=makeWrapper(Wt,en);Pt._internalSetup(tn,Wt);Object.defineProperty(tn,on,{value:Object.create(mn.implementation.prototype),configurable:true});tn[on][nn.wrapperSymbol]=tn;if(mn.init){mn.init(tn[on])}return tn[on]};const pn=new Set(["Window"]);Pt.install=(Wt,en)=>{if(!en.some((Wt=>pn.has(Wt)))){return}const cn=nn.initCtorRegistry(Wt);class HTMLProgressElement extends Wt.HTMLElement{constructor(){return an(Wt,un,new.target)}get value(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get value' called on an object that is not a valid instance of HTMLProgressElement.")}In(Wt);try{return en[on]["value"]}finally{rn(Wt)}}set value(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set value' called on an object that is not a valid instance of HTMLProgressElement.")}en=tn["double"](en,{context:"Failed to set the 'value' property on 'HTMLProgressElement': The provided value",globals:Wt});In(Wt);try{nn[on]["value"]=en}finally{rn(Wt)}}get max(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get max' called on an object that is not a valid instance of HTMLProgressElement.")}In(Wt);try{let Wt=en[on]._reflectGetTheContentAttribute("max");if(Wt!==null){Wt=sn(Wt);if(Wt!==null&&Wt>0){return Wt}}return 1}finally{rn(Wt)}}set max(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set max' called on an object that is not a valid instance of HTMLProgressElement.")}en=tn["double"](en,{context:"Failed to set the 'max' property on 'HTMLProgressElement': The provided value",globals:Wt});In(Wt);try{if(en>0){nn[on]._reflectSetTheContentAttribute("max",String(en))}}finally{rn(Wt)}}get position(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get position' called on an object that is not a valid instance of HTMLProgressElement.")}return en[on]["position"]}get labels(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get labels' called on an object that is not a valid instance of HTMLProgressElement.")}return nn.tryWrapperForImpl(en[on]["labels"])}}Object.defineProperties(HTMLProgressElement.prototype,{value:{enumerable:true},max:{enumerable:true},position:{enumerable:true},labels:{enumerable:true},[Symbol.toStringTag]:{value:"HTMLProgressElement",configurable:true}});cn[un]=HTMLProgressElement;Object.defineProperty(Wt,un,{configurable:true,writable:true,value:HTMLProgressElement})};const mn=en(17348)},44106:(Wt,Pt,en)=>{const tn=en(37125);const nn=en(87094);const an=en(84175).HTMLConstructor;const In=en(30962).parseURLToResultingURLRecord;const rn=en(78012).serializeURL;const sn=en(8348).ceReactionsPreSteps;const on=en(8348).ceReactionsPostSteps;const cn=nn.implSymbol;const dn=nn.ctorRegistrySymbol;const un=en(48708);const pn="HTMLQuoteElement";Pt.is=Wt=>nn.isObject(Wt)&&nn.hasOwn(Wt,cn)&&Wt[cn]instanceof bn.implementation;Pt.isImpl=Wt=>nn.isObject(Wt)&&Wt instanceof bn.implementation;Pt.convert=(Wt,en,{context:tn="The provided value"}={})=>{if(Pt.is(en)){return nn.implForWrapper(en)}throw new Wt.TypeError(`${tn} is not of type 'HTMLQuoteElement'.`)};function makeWrapper(Wt,Pt){let en;if(Pt!==undefined){en=Pt.prototype}if(!nn.isObject(en)){en=Wt[dn]["HTMLQuoteElement"].prototype}return Object.create(en)}Pt.create=(Wt,en,tn)=>{const nn=makeWrapper(Wt);return Pt.setup(nn,Wt,en,tn)};Pt.createImpl=(Wt,en,tn)=>{const an=Pt.create(Wt,en,tn);return nn.implForWrapper(an)};Pt._internalSetup=(Wt,Pt)=>{un._internalSetup(Wt,Pt)};Pt.setup=(Wt,en,tn=[],an={})=>{an.wrapper=Wt;Pt._internalSetup(Wt,en);Object.defineProperty(Wt,cn,{value:new bn.implementation(en,tn,an),configurable:true});Wt[cn][nn.wrapperSymbol]=Wt;if(bn.init){bn.init(Wt[cn])}return Wt};Pt["new"]=(Wt,en)=>{const tn=makeWrapper(Wt,en);Pt._internalSetup(tn,Wt);Object.defineProperty(tn,cn,{value:Object.create(bn.implementation.prototype),configurable:true});tn[cn][nn.wrapperSymbol]=tn;if(bn.init){bn.init(tn[cn])}return tn[cn]};const mn=new Set(["Window"]);Pt.install=(Wt,en)=>{if(!en.some((Wt=>mn.has(Wt)))){return}const dn=nn.initCtorRegistry(Wt);class HTMLQuoteElement extends Wt.HTMLElement{constructor(){return an(Wt,pn,new.target)}get cite(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get cite' called on an object that is not a valid instance of HTMLQuoteElement.")}sn(Wt);try{const Wt=en[cn]._reflectGetTheContentAttribute("cite");if(Wt===null){return""}const Pt=In(Wt,en[cn]._ownerDocument);if(Pt!==null){return rn(Pt)}return tn.USVString(Wt)}finally{on(Wt)}}set cite(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set cite' called on an object that is not a valid instance of HTMLQuoteElement.")}en=tn["USVString"](en,{context:"Failed to set the 'cite' property on 'HTMLQuoteElement': The provided value",globals:Wt});sn(Wt);try{nn[cn]._reflectSetTheContentAttribute("cite",en)}finally{on(Wt)}}}Object.defineProperties(HTMLQuoteElement.prototype,{cite:{enumerable:true},[Symbol.toStringTag]:{value:"HTMLQuoteElement",configurable:true}});dn[pn]=HTMLQuoteElement;Object.defineProperty(Wt,pn,{configurable:true,writable:true,value:HTMLQuoteElement})};const bn=en(66081)},52157:(Wt,Pt,en)=>{const tn=en(37125);const nn=en(87094);const an=en(84175).HTMLConstructor;const In=en(30962).parseURLToResultingURLRecord;const rn=en(78012).serializeURL;const sn=en(8348).ceReactionsPreSteps;const on=en(8348).ceReactionsPostSteps;const cn=nn.implSymbol;const dn=nn.ctorRegistrySymbol;const un=en(48708);const pn="HTMLScriptElement";Pt.is=Wt=>nn.isObject(Wt)&&nn.hasOwn(Wt,cn)&&Wt[cn]instanceof bn.implementation;Pt.isImpl=Wt=>nn.isObject(Wt)&&Wt instanceof bn.implementation;Pt.convert=(Wt,en,{context:tn="The provided value"}={})=>{if(Pt.is(en)){return nn.implForWrapper(en)}throw new Wt.TypeError(`${tn} is not of type 'HTMLScriptElement'.`)};function makeWrapper(Wt,Pt){let en;if(Pt!==undefined){en=Pt.prototype}if(!nn.isObject(en)){en=Wt[dn]["HTMLScriptElement"].prototype}return Object.create(en)}Pt.create=(Wt,en,tn)=>{const nn=makeWrapper(Wt);return Pt.setup(nn,Wt,en,tn)};Pt.createImpl=(Wt,en,tn)=>{const an=Pt.create(Wt,en,tn);return nn.implForWrapper(an)};Pt._internalSetup=(Wt,Pt)=>{un._internalSetup(Wt,Pt)};Pt.setup=(Wt,en,tn=[],an={})=>{an.wrapper=Wt;Pt._internalSetup(Wt,en);Object.defineProperty(Wt,cn,{value:new bn.implementation(en,tn,an),configurable:true});Wt[cn][nn.wrapperSymbol]=Wt;if(bn.init){bn.init(Wt[cn])}return Wt};Pt["new"]=(Wt,en)=>{const tn=makeWrapper(Wt,en);Pt._internalSetup(tn,Wt);Object.defineProperty(tn,cn,{value:Object.create(bn.implementation.prototype),configurable:true});tn[cn][nn.wrapperSymbol]=tn;if(bn.init){bn.init(tn[cn])}return tn[cn]};const mn=new Set(["Window"]);Pt.install=(Wt,en)=>{if(!en.some((Wt=>mn.has(Wt)))){return}const dn=nn.initCtorRegistry(Wt);class HTMLScriptElement extends Wt.HTMLElement{constructor(){return an(Wt,pn,new.target)}get src(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get src' called on an object that is not a valid instance of HTMLScriptElement.")}sn(Wt);try{const Wt=en[cn]._reflectGetTheContentAttribute("src");if(Wt===null){return""}const Pt=In(Wt,en[cn]._ownerDocument);if(Pt!==null){return rn(Pt)}return tn.USVString(Wt)}finally{on(Wt)}}set src(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set src' called on an object that is not a valid instance of HTMLScriptElement.")}en=tn["USVString"](en,{context:"Failed to set the 'src' property on 'HTMLScriptElement': The provided value",globals:Wt});sn(Wt);try{nn[cn]._reflectSetTheContentAttribute("src",en)}finally{on(Wt)}}get type(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get type' called on an object that is not a valid instance of HTMLScriptElement.")}sn(Wt);try{const Wt=en[cn]._reflectGetTheContentAttribute("type");return Wt===null?"":Wt}finally{on(Wt)}}set type(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set type' called on an object that is not a valid instance of HTMLScriptElement.")}en=tn["DOMString"](en,{context:"Failed to set the 'type' property on 'HTMLScriptElement': The provided value",globals:Wt});sn(Wt);try{nn[cn]._reflectSetTheContentAttribute("type",en)}finally{on(Wt)}}get defer(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get defer' called on an object that is not a valid instance of HTMLScriptElement.")}sn(Wt);try{return en[cn]._reflectGetTheContentAttribute("defer")!==null}finally{on(Wt)}}set defer(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set defer' called on an object that is not a valid instance of HTMLScriptElement.")}en=tn["boolean"](en,{context:"Failed to set the 'defer' property on 'HTMLScriptElement': The provided value",globals:Wt});sn(Wt);try{if(en){nn[cn]._reflectSetTheContentAttribute("defer","")}else{nn[cn]._reflectDeleteTheContentAttribute("defer")}}finally{on(Wt)}}get crossOrigin(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get crossOrigin' called on an object that is not a valid instance of HTMLScriptElement.")}sn(Wt);try{return en[cn]._reflectGetTheContentAttribute("crossorigin")}finally{on(Wt)}}set crossOrigin(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set crossOrigin' called on an object that is not a valid instance of HTMLScriptElement.")}if(en===null||en===undefined){en=null}else{en=tn["DOMString"](en,{context:"Failed to set the 'crossOrigin' property on 'HTMLScriptElement': The provided value",globals:Wt})}sn(Wt);try{if(en===null){nn[cn]._reflectDeleteTheContentAttribute("crossorigin")}else{nn[cn]._reflectSetTheContentAttribute("crossorigin",en)}}finally{on(Wt)}}get text(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get text' called on an object that is not a valid instance of HTMLScriptElement.")}sn(Wt);try{return en[cn]["text"]}finally{on(Wt)}}set text(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set text' called on an object that is not a valid instance of HTMLScriptElement.")}en=tn["DOMString"](en,{context:"Failed to set the 'text' property on 'HTMLScriptElement': The provided value",globals:Wt});sn(Wt);try{nn[cn]["text"]=en}finally{on(Wt)}}get charset(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get charset' called on an object that is not a valid instance of HTMLScriptElement.")}sn(Wt);try{const Wt=en[cn]._reflectGetTheContentAttribute("charset");return Wt===null?"":Wt}finally{on(Wt)}}set charset(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set charset' called on an object that is not a valid instance of HTMLScriptElement.")}en=tn["DOMString"](en,{context:"Failed to set the 'charset' property on 'HTMLScriptElement': The provided value",globals:Wt});sn(Wt);try{nn[cn]._reflectSetTheContentAttribute("charset",en)}finally{on(Wt)}}get event(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get event' called on an object that is not a valid instance of HTMLScriptElement.")}sn(Wt);try{const Wt=en[cn]._reflectGetTheContentAttribute("event");return Wt===null?"":Wt}finally{on(Wt)}}set event(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set event' called on an object that is not a valid instance of HTMLScriptElement.")}en=tn["DOMString"](en,{context:"Failed to set the 'event' property on 'HTMLScriptElement': The provided value",globals:Wt});sn(Wt);try{nn[cn]._reflectSetTheContentAttribute("event",en)}finally{on(Wt)}}get htmlFor(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get htmlFor' called on an object that is not a valid instance of HTMLScriptElement.")}sn(Wt);try{const Wt=en[cn]._reflectGetTheContentAttribute("for");return Wt===null?"":Wt}finally{on(Wt)}}set htmlFor(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set htmlFor' called on an object that is not a valid instance of HTMLScriptElement.")}en=tn["DOMString"](en,{context:"Failed to set the 'htmlFor' property on 'HTMLScriptElement': The provided value",globals:Wt});sn(Wt);try{nn[cn]._reflectSetTheContentAttribute("for",en)}finally{on(Wt)}}}Object.defineProperties(HTMLScriptElement.prototype,{src:{enumerable:true},type:{enumerable:true},defer:{enumerable:true},crossOrigin:{enumerable:true},text:{enumerable:true},charset:{enumerable:true},event:{enumerable:true},htmlFor:{enumerable:true},[Symbol.toStringTag]:{value:"HTMLScriptElement",configurable:true}});dn[pn]=HTMLScriptElement;Object.defineProperty(Wt,pn,{configurable:true,writable:true,value:HTMLScriptElement})};const bn=en(61856)},63996:(Wt,Pt,en)=>{const tn=en(37125);const nn=en(87094);const an=en(84175).HTMLConstructor;const In=en(37491);const rn=en(77988);const sn=en(48708);const on=en(8348).ceReactionsPreSteps;const cn=en(8348).ceReactionsPostSteps;const dn=en(97205).parseNonNegativeInteger;const un=nn.implSymbol;const pn=nn.ctorRegistrySymbol;const mn="HTMLSelectElement";Pt.is=Wt=>nn.isObject(Wt)&&nn.hasOwn(Wt,un)&&Wt[un]instanceof hn.implementation;Pt.isImpl=Wt=>nn.isObject(Wt)&&Wt instanceof hn.implementation;Pt.convert=(Wt,en,{context:tn="The provided value"}={})=>{if(Pt.is(en)){return nn.implForWrapper(en)}throw new Wt.TypeError(`${tn} is not of type 'HTMLSelectElement'.`)};function makeWrapper(Wt,Pt){let en;if(Pt!==undefined){en=Pt.prototype}if(!nn.isObject(en)){en=Wt[pn]["HTMLSelectElement"].prototype}return Object.create(en)}function makeProxy(Wt,Pt){let en=Gn.get(Pt);if(en===undefined){en=new ProxyHandler(Pt);Gn.set(Pt,en)}return new Proxy(Wt,en)}Pt.create=(Wt,en,tn)=>{const nn=makeWrapper(Wt);return Pt.setup(nn,Wt,en,tn)};Pt.createImpl=(Wt,en,tn)=>{const an=Pt.create(Wt,en,tn);return nn.implForWrapper(an)};Pt._internalSetup=(Wt,Pt)=>{sn._internalSetup(Wt,Pt)};Pt.setup=(Wt,en,tn=[],an={})=>{an.wrapper=Wt;Pt._internalSetup(Wt,en);Object.defineProperty(Wt,un,{value:new hn.implementation(en,tn,an),configurable:true});Wt=makeProxy(Wt,en);Wt[un][nn.wrapperSymbol]=Wt;if(hn.init){hn.init(Wt[un])}return Wt};Pt["new"]=(Wt,en)=>{let tn=makeWrapper(Wt,en);Pt._internalSetup(tn,Wt);Object.defineProperty(tn,un,{value:Object.create(hn.implementation.prototype),configurable:true});tn=makeProxy(tn,Wt);tn[un][nn.wrapperSymbol]=tn;if(hn.init){hn.init(tn[un])}return tn[un]};const bn=new Set(["Window"]);Pt.install=(Wt,en)=>{if(!en.some((Wt=>bn.has(Wt)))){return}const pn=nn.initCtorRegistry(Wt);class HTMLSelectElement extends Wt.HTMLElement{constructor(){return an(Wt,mn,new.target)}item(en){const an=this!==null&&this!==undefined?this:Wt;if(!Pt.is(an)){throw new Wt.TypeError("'item' called on an object that is not a valid instance of HTMLSelectElement.")}if(arguments.length<1){throw new Wt.TypeError(`Failed to execute 'item' on 'HTMLSelectElement': 1 argument required, but only ${arguments.length} present.`)}const In=[];{let Pt=arguments[0];Pt=tn["unsigned long"](Pt,{context:"Failed to execute 'item' on 'HTMLSelectElement': parameter 1",globals:Wt});In.push(Pt)}return nn.tryWrapperForImpl(an[un].item(...In))}namedItem(en){const an=this!==null&&this!==undefined?this:Wt;if(!Pt.is(an)){throw new Wt.TypeError("'namedItem' called on an object that is not a valid instance of HTMLSelectElement.")}if(arguments.length<1){throw new Wt.TypeError(`Failed to execute 'namedItem' on 'HTMLSelectElement': 1 argument required, but only ${arguments.length} present.`)}const In=[];{let Pt=arguments[0];Pt=tn["DOMString"](Pt,{context:"Failed to execute 'namedItem' on 'HTMLSelectElement': parameter 1",globals:Wt});In.push(Pt)}return nn.tryWrapperForImpl(an[un].namedItem(...In))}add(en){const an=this!==null&&this!==undefined?this:Wt;if(!Pt.is(an)){throw new Wt.TypeError("'add' called on an object that is not a valid instance of HTMLSelectElement.")}if(arguments.length<1){throw new Wt.TypeError(`Failed to execute 'add' on 'HTMLSelectElement': 1 argument required, but only ${arguments.length} present.`)}const dn=[];{let Pt=arguments[0];if(In.is(Pt)||rn.is(Pt)){Pt=nn.implForWrapper(Pt)}else{throw new Wt.TypeError("Failed to execute 'add' on 'HTMLSelectElement': parameter 1"+" is not of any supported type.")}dn.push(Pt)}{let Pt=arguments[1];if(Pt!==undefined){if(Pt===null||Pt===undefined){Pt=null}else{if(sn.is(Pt)){Pt=nn.implForWrapper(Pt)}else if(typeof Pt==="number"){Pt=tn["long"](Pt,{context:"Failed to execute 'add' on 'HTMLSelectElement': parameter 2",globals:Wt})}else{Pt=tn["long"](Pt,{context:"Failed to execute 'add' on 'HTMLSelectElement': parameter 2",globals:Wt})}}}else{Pt=null}dn.push(Pt)}on(Wt);try{return an[un].add(...dn)}finally{cn(Wt)}}remove(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'remove' called on an object that is not a valid instance of HTMLSelectElement.")}const nn=[];switch(arguments.length){case 0:break;default:{let Pt=arguments[0];Pt=tn["long"](Pt,{context:"Failed to execute 'remove' on 'HTMLSelectElement': parameter 1",globals:Wt});nn.push(Pt)}}on(Wt);try{return en[un].remove(...nn)}finally{cn(Wt)}}checkValidity(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'checkValidity' called on an object that is not a valid instance of HTMLSelectElement.")}return en[un].checkValidity()}reportValidity(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'reportValidity' called on an object that is not a valid instance of HTMLSelectElement.")}return en[un].reportValidity()}setCustomValidity(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'setCustomValidity' called on an object that is not a valid instance of HTMLSelectElement.")}if(arguments.length<1){throw new Wt.TypeError(`Failed to execute 'setCustomValidity' on 'HTMLSelectElement': 1 argument required, but only ${arguments.length} present.`)}const an=[];{let Pt=arguments[0];Pt=tn["DOMString"](Pt,{context:"Failed to execute 'setCustomValidity' on 'HTMLSelectElement': parameter 1",globals:Wt});an.push(Pt)}return nn[un].setCustomValidity(...an)}get autofocus(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get autofocus' called on an object that is not a valid instance of HTMLSelectElement.")}on(Wt);try{return en[un]._reflectGetTheContentAttribute("autofocus")!==null}finally{cn(Wt)}}set autofocus(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set autofocus' called on an object that is not a valid instance of HTMLSelectElement.")}en=tn["boolean"](en,{context:"Failed to set the 'autofocus' property on 'HTMLSelectElement': The provided value",globals:Wt});on(Wt);try{if(en){nn[un]._reflectSetTheContentAttribute("autofocus","")}else{nn[un]._reflectDeleteTheContentAttribute("autofocus")}}finally{cn(Wt)}}get disabled(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get disabled' called on an object that is not a valid instance of HTMLSelectElement.")}on(Wt);try{return en[un]._reflectGetTheContentAttribute("disabled")!==null}finally{cn(Wt)}}set disabled(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set disabled' called on an object that is not a valid instance of HTMLSelectElement.")}en=tn["boolean"](en,{context:"Failed to set the 'disabled' property on 'HTMLSelectElement': The provided value",globals:Wt});on(Wt);try{if(en){nn[un]._reflectSetTheContentAttribute("disabled","")}else{nn[un]._reflectDeleteTheContentAttribute("disabled")}}finally{cn(Wt)}}get form(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get form' called on an object that is not a valid instance of HTMLSelectElement.")}return nn.tryWrapperForImpl(en[un]["form"])}get multiple(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get multiple' called on an object that is not a valid instance of HTMLSelectElement.")}on(Wt);try{return en[un]._reflectGetTheContentAttribute("multiple")!==null}finally{cn(Wt)}}set multiple(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set multiple' called on an object that is not a valid instance of HTMLSelectElement.")}en=tn["boolean"](en,{context:"Failed to set the 'multiple' property on 'HTMLSelectElement': The provided value",globals:Wt});on(Wt);try{if(en){nn[un]._reflectSetTheContentAttribute("multiple","")}else{nn[un]._reflectDeleteTheContentAttribute("multiple")}}finally{cn(Wt)}}get name(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get name' called on an object that is not a valid instance of HTMLSelectElement.")}on(Wt);try{const Wt=en[un]._reflectGetTheContentAttribute("name");return Wt===null?"":Wt}finally{cn(Wt)}}set name(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set name' called on an object that is not a valid instance of HTMLSelectElement.")}en=tn["DOMString"](en,{context:"Failed to set the 'name' property on 'HTMLSelectElement': The provided value",globals:Wt});on(Wt);try{nn[un]._reflectSetTheContentAttribute("name",en)}finally{cn(Wt)}}get required(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get required' called on an object that is not a valid instance of HTMLSelectElement.")}on(Wt);try{return en[un]._reflectGetTheContentAttribute("required")!==null}finally{cn(Wt)}}set required(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set required' called on an object that is not a valid instance of HTMLSelectElement.")}en=tn["boolean"](en,{context:"Failed to set the 'required' property on 'HTMLSelectElement': The provided value",globals:Wt});on(Wt);try{if(en){nn[un]._reflectSetTheContentAttribute("required","")}else{nn[un]._reflectDeleteTheContentAttribute("required")}}finally{cn(Wt)}}get size(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get size' called on an object that is not a valid instance of HTMLSelectElement.")}on(Wt);try{let Wt=en[un]._reflectGetTheContentAttribute("size");if(Wt!==null){Wt=dn(Wt);if(Wt!==null&&Wt>=0&&Wt<=2147483647){return Wt}}return 0}finally{cn(Wt)}}set size(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set size' called on an object that is not a valid instance of HTMLSelectElement.")}en=tn["unsigned long"](en,{context:"Failed to set the 'size' property on 'HTMLSelectElement': The provided value",globals:Wt});on(Wt);try{const Wt=en<=2147483647&&en>=0?en:0;nn[un]._reflectSetTheContentAttribute("size",String(Wt))}finally{cn(Wt)}}get type(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get type' called on an object that is not a valid instance of HTMLSelectElement.")}return en[un]["type"]}get options(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get options' called on an object that is not a valid instance of HTMLSelectElement.")}return nn.getSameObject(this,"options",(()=>nn.tryWrapperForImpl(en[un]["options"])))}get length(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get length' called on an object that is not a valid instance of HTMLSelectElement.")}on(Wt);try{return en[un]["length"]}finally{cn(Wt)}}set length(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set length' called on an object that is not a valid instance of HTMLSelectElement.")}en=tn["unsigned long"](en,{context:"Failed to set the 'length' property on 'HTMLSelectElement': The provided value",globals:Wt});on(Wt);try{nn[un]["length"]=en}finally{cn(Wt)}}get selectedOptions(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get selectedOptions' called on an object that is not a valid instance of HTMLSelectElement.")}return nn.getSameObject(this,"selectedOptions",(()=>nn.tryWrapperForImpl(en[un]["selectedOptions"])))}get selectedIndex(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get selectedIndex' called on an object that is not a valid instance of HTMLSelectElement.")}return en[un]["selectedIndex"]}set selectedIndex(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set selectedIndex' called on an object that is not a valid instance of HTMLSelectElement.")}en=tn["long"](en,{context:"Failed to set the 'selectedIndex' property on 'HTMLSelectElement': The provided value",globals:Wt});nn[un]["selectedIndex"]=en}get value(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get value' called on an object that is not a valid instance of HTMLSelectElement.")}return en[un]["value"]}set value(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set value' called on an object that is not a valid instance of HTMLSelectElement.")}en=tn["DOMString"](en,{context:"Failed to set the 'value' property on 'HTMLSelectElement': The provided value",globals:Wt});nn[un]["value"]=en}get willValidate(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get willValidate' called on an object that is not a valid instance of HTMLSelectElement.")}return en[un]["willValidate"]}get validity(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get validity' called on an object that is not a valid instance of HTMLSelectElement.")}return nn.tryWrapperForImpl(en[un]["validity"])}get validationMessage(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get validationMessage' called on an object that is not a valid instance of HTMLSelectElement.")}return en[un]["validationMessage"]}get labels(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get labels' called on an object that is not a valid instance of HTMLSelectElement.")}return nn.tryWrapperForImpl(en[un]["labels"])}}Object.defineProperties(HTMLSelectElement.prototype,{item:{enumerable:true},namedItem:{enumerable:true},add:{enumerable:true},remove:{enumerable:true},checkValidity:{enumerable:true},reportValidity:{enumerable:true},setCustomValidity:{enumerable:true},autofocus:{enumerable:true},disabled:{enumerable:true},form:{enumerable:true},multiple:{enumerable:true},name:{enumerable:true},required:{enumerable:true},size:{enumerable:true},type:{enumerable:true},options:{enumerable:true},length:{enumerable:true},selectedOptions:{enumerable:true},selectedIndex:{enumerable:true},value:{enumerable:true},willValidate:{enumerable:true},validity:{enumerable:true},validationMessage:{enumerable:true},labels:{enumerable:true},[Symbol.toStringTag]:{value:"HTMLSelectElement",configurable:true},[Symbol.iterator]:{value:Wt.Array.prototype[Symbol.iterator],configurable:true,writable:true}});pn[mn]=HTMLSelectElement;Object.defineProperty(Wt,mn,{configurable:true,writable:true,value:HTMLSelectElement})};const Gn=new WeakMap;class ProxyHandler{constructor(Wt){this._globalObject=Wt}get(Wt,Pt,en){if(typeof Pt==="symbol"){return Reflect.get(Wt,Pt,en)}const tn=this.getOwnPropertyDescriptor(Wt,Pt);if(tn===undefined){const tn=Object.getPrototypeOf(Wt);if(tn===null){return undefined}return Reflect.get(Wt,Pt,en)}if(!tn.get&&!tn.set){return tn.value}const nn=tn.get;if(nn===undefined){return undefined}return Reflect.apply(nn,en,[])}has(Wt,Pt){if(typeof Pt==="symbol"){return Reflect.has(Wt,Pt)}const en=this.getOwnPropertyDescriptor(Wt,Pt);if(en!==undefined){return true}const tn=Object.getPrototypeOf(Wt);if(tn!==null){return Reflect.has(tn,Pt)}return false}ownKeys(Wt){const Pt=new Set;for(const en of Wt[un][nn.supportedPropertyIndices]){Pt.add(`${en}`)}for(const en of Reflect.ownKeys(Wt)){Pt.add(en)}return[...Pt]}getOwnPropertyDescriptor(Wt,Pt){if(typeof Pt==="symbol"){return Reflect.getOwnPropertyDescriptor(Wt,Pt)}let en=false;if(nn.isArrayIndexPropName(Pt)){const tn=Pt>>>0;const an=Wt[un].item(tn);if(an!==null){return{writable:true,enumerable:true,configurable:true,value:nn.tryWrapperForImpl(an)}}en=true}return Reflect.getOwnPropertyDescriptor(Wt,Pt)}set(Wt,Pt,en,tn){if(typeof Pt==="symbol"){return Reflect.set(Wt,Pt,en,tn)}if(Wt[un][nn.wrapperSymbol]===tn){const tn=this._globalObject;if(nn.isArrayIndexPropName(Pt)){const an=Pt>>>0;let rn=en;if(rn===null||rn===undefined){rn=null}else{rn=In.convert(tn,rn,{context:"Failed to set the "+an+" property on 'HTMLSelectElement': The provided value"})}on(tn);try{const Pt=!(Wt[un].item(an)!==null);if(Pt){Wt[un][nn.indexedSetNew](an,rn)}else{Wt[un][nn.indexedSetExisting](an,rn)}}finally{cn(tn)}return true}}let an;if(nn.isArrayIndexPropName(Pt)){const en=Pt>>>0;const tn=Wt[un].item(en);if(tn!==null){an={writable:true,enumerable:true,configurable:true,value:nn.tryWrapperForImpl(tn)}}}if(an===undefined){an=Reflect.getOwnPropertyDescriptor(Wt,Pt)}if(an===undefined){const nn=Reflect.getPrototypeOf(Wt);if(nn!==null){return Reflect.set(nn,Pt,en,tn)}an={writable:true,enumerable:true,configurable:true,value:undefined}}if(!an.writable){return false}if(!nn.isObject(tn)){return false}const rn=Reflect.getOwnPropertyDescriptor(tn,Pt);let sn;if(rn!==undefined){if(rn.get||rn.set){return false}if(!rn.writable){return false}sn={value:en}}else{sn={writable:true,enumerable:true,configurable:true,value:en}}return Reflect.defineProperty(tn,Pt,sn)}defineProperty(Wt,Pt,en){if(typeof Pt==="symbol"){return Reflect.defineProperty(Wt,Pt,en)}const tn=this._globalObject;if(nn.isArrayIndexPropName(Pt)){if(en.get||en.set){return false}const an=Pt>>>0;let rn=en.value;if(rn===null||rn===undefined){rn=null}else{rn=In.convert(tn,rn,{context:"Failed to set the "+an+" property on 'HTMLSelectElement': The provided value"})}on(tn);try{const Pt=!(Wt[un].item(an)!==null);if(Pt){Wt[un][nn.indexedSetNew](an,rn)}else{Wt[un][nn.indexedSetExisting](an,rn)}}finally{cn(tn)}return true}return Reflect.defineProperty(Wt,Pt,en)}deleteProperty(Wt,Pt){if(typeof Pt==="symbol"){return Reflect.deleteProperty(Wt,Pt)}const en=this._globalObject;if(nn.isArrayIndexPropName(Pt)){const en=Pt>>>0;return!(Wt[un].item(en)!==null)}return Reflect.deleteProperty(Wt,Pt)}preventExtensions(){return false}}const hn=en(34143)},89856:(Wt,Pt,en)=>{const tn=en(37125);const nn=en(87094);const an=en(84175).HTMLConstructor;const In=en(34894);const rn=en(8348).ceReactionsPreSteps;const sn=en(8348).ceReactionsPostSteps;const on=nn.implSymbol;const cn=nn.ctorRegistrySymbol;const dn=en(48708);const un="HTMLSlotElement";Pt.is=Wt=>nn.isObject(Wt)&&nn.hasOwn(Wt,on)&&Wt[on]instanceof mn.implementation;Pt.isImpl=Wt=>nn.isObject(Wt)&&Wt instanceof mn.implementation;Pt.convert=(Wt,en,{context:tn="The provided value"}={})=>{if(Pt.is(en)){return nn.implForWrapper(en)}throw new Wt.TypeError(`${tn} is not of type 'HTMLSlotElement'.`)};function makeWrapper(Wt,Pt){let en;if(Pt!==undefined){en=Pt.prototype}if(!nn.isObject(en)){en=Wt[cn]["HTMLSlotElement"].prototype}return Object.create(en)}Pt.create=(Wt,en,tn)=>{const nn=makeWrapper(Wt);return Pt.setup(nn,Wt,en,tn)};Pt.createImpl=(Wt,en,tn)=>{const an=Pt.create(Wt,en,tn);return nn.implForWrapper(an)};Pt._internalSetup=(Wt,Pt)=>{dn._internalSetup(Wt,Pt)};Pt.setup=(Wt,en,tn=[],an={})=>{an.wrapper=Wt;Pt._internalSetup(Wt,en);Object.defineProperty(Wt,on,{value:new mn.implementation(en,tn,an),configurable:true});Wt[on][nn.wrapperSymbol]=Wt;if(mn.init){mn.init(Wt[on])}return Wt};Pt["new"]=(Wt,en)=>{const tn=makeWrapper(Wt,en);Pt._internalSetup(tn,Wt);Object.defineProperty(tn,on,{value:Object.create(mn.implementation.prototype),configurable:true});tn[on][nn.wrapperSymbol]=tn;if(mn.init){mn.init(tn[on])}return tn[on]};const pn=new Set(["Window"]);Pt.install=(Wt,en)=>{if(!en.some((Wt=>pn.has(Wt)))){return}const cn=nn.initCtorRegistry(Wt);class HTMLSlotElement extends Wt.HTMLElement{constructor(){return an(Wt,un,new.target)}assignedNodes(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'assignedNodes' called on an object that is not a valid instance of HTMLSlotElement.")}const tn=[];{let Pt=arguments[0];Pt=In.convert(Wt,Pt,{context:"Failed to execute 'assignedNodes' on 'HTMLSlotElement': parameter 1"});tn.push(Pt)}return nn.tryWrapperForImpl(en[on].assignedNodes(...tn))}assignedElements(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'assignedElements' called on an object that is not a valid instance of HTMLSlotElement.")}const tn=[];{let Pt=arguments[0];Pt=In.convert(Wt,Pt,{context:"Failed to execute 'assignedElements' on 'HTMLSlotElement': parameter 1"});tn.push(Pt)}return nn.tryWrapperForImpl(en[on].assignedElements(...tn))}get name(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get name' called on an object that is not a valid instance of HTMLSlotElement.")}rn(Wt);try{const Wt=en[on]._reflectGetTheContentAttribute("name");return Wt===null?"":Wt}finally{sn(Wt)}}set name(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set name' called on an object that is not a valid instance of HTMLSlotElement.")}en=tn["DOMString"](en,{context:"Failed to set the 'name' property on 'HTMLSlotElement': The provided value",globals:Wt});rn(Wt);try{nn[on]._reflectSetTheContentAttribute("name",en)}finally{sn(Wt)}}}Object.defineProperties(HTMLSlotElement.prototype,{assignedNodes:{enumerable:true},assignedElements:{enumerable:true},name:{enumerable:true},[Symbol.toStringTag]:{value:"HTMLSlotElement",configurable:true}});cn[un]=HTMLSlotElement;Object.defineProperty(Wt,un,{configurable:true,writable:true,value:HTMLSlotElement})};const mn=en(80011)},11863:(Wt,Pt,en)=>{const tn=en(37125);const nn=en(87094);const an=en(84175).HTMLConstructor;const In=en(30962).parseURLToResultingURLRecord;const rn=en(78012).serializeURL;const sn=en(8348).ceReactionsPreSteps;const on=en(8348).ceReactionsPostSteps;const cn=nn.implSymbol;const dn=nn.ctorRegistrySymbol;const un=en(48708);const pn="HTMLSourceElement";Pt.is=Wt=>nn.isObject(Wt)&&nn.hasOwn(Wt,cn)&&Wt[cn]instanceof bn.implementation;Pt.isImpl=Wt=>nn.isObject(Wt)&&Wt instanceof bn.implementation;Pt.convert=(Wt,en,{context:tn="The provided value"}={})=>{if(Pt.is(en)){return nn.implForWrapper(en)}throw new Wt.TypeError(`${tn} is not of type 'HTMLSourceElement'.`)};function makeWrapper(Wt,Pt){let en;if(Pt!==undefined){en=Pt.prototype}if(!nn.isObject(en)){en=Wt[dn]["HTMLSourceElement"].prototype}return Object.create(en)}Pt.create=(Wt,en,tn)=>{const nn=makeWrapper(Wt);return Pt.setup(nn,Wt,en,tn)};Pt.createImpl=(Wt,en,tn)=>{const an=Pt.create(Wt,en,tn);return nn.implForWrapper(an)};Pt._internalSetup=(Wt,Pt)=>{un._internalSetup(Wt,Pt)};Pt.setup=(Wt,en,tn=[],an={})=>{an.wrapper=Wt;Pt._internalSetup(Wt,en);Object.defineProperty(Wt,cn,{value:new bn.implementation(en,tn,an),configurable:true});Wt[cn][nn.wrapperSymbol]=Wt;if(bn.init){bn.init(Wt[cn])}return Wt};Pt["new"]=(Wt,en)=>{const tn=makeWrapper(Wt,en);Pt._internalSetup(tn,Wt);Object.defineProperty(tn,cn,{value:Object.create(bn.implementation.prototype),configurable:true});tn[cn][nn.wrapperSymbol]=tn;if(bn.init){bn.init(tn[cn])}return tn[cn]};const mn=new Set(["Window"]);Pt.install=(Wt,en)=>{if(!en.some((Wt=>mn.has(Wt)))){return}const dn=nn.initCtorRegistry(Wt);class HTMLSourceElement extends Wt.HTMLElement{constructor(){return an(Wt,pn,new.target)}get src(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get src' called on an object that is not a valid instance of HTMLSourceElement.")}sn(Wt);try{const Wt=en[cn]._reflectGetTheContentAttribute("src");if(Wt===null){return""}const Pt=In(Wt,en[cn]._ownerDocument);if(Pt!==null){return rn(Pt)}return tn.USVString(Wt)}finally{on(Wt)}}set src(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set src' called on an object that is not a valid instance of HTMLSourceElement.")}en=tn["USVString"](en,{context:"Failed to set the 'src' property on 'HTMLSourceElement': The provided value",globals:Wt});sn(Wt);try{nn[cn]._reflectSetTheContentAttribute("src",en)}finally{on(Wt)}}get type(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get type' called on an object that is not a valid instance of HTMLSourceElement.")}sn(Wt);try{const Wt=en[cn]._reflectGetTheContentAttribute("type");return Wt===null?"":Wt}finally{on(Wt)}}set type(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set type' called on an object that is not a valid instance of HTMLSourceElement.")}en=tn["DOMString"](en,{context:"Failed to set the 'type' property on 'HTMLSourceElement': The provided value",globals:Wt});sn(Wt);try{nn[cn]._reflectSetTheContentAttribute("type",en)}finally{on(Wt)}}get srcset(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get srcset' called on an object that is not a valid instance of HTMLSourceElement.")}sn(Wt);try{const Wt=en[cn]._reflectGetTheContentAttribute("srcset");return Wt===null?"":tn.USVString(Wt)}finally{on(Wt)}}set srcset(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set srcset' called on an object that is not a valid instance of HTMLSourceElement.")}en=tn["USVString"](en,{context:"Failed to set the 'srcset' property on 'HTMLSourceElement': The provided value",globals:Wt});sn(Wt);try{nn[cn]._reflectSetTheContentAttribute("srcset",en)}finally{on(Wt)}}get sizes(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get sizes' called on an object that is not a valid instance of HTMLSourceElement.")}sn(Wt);try{const Wt=en[cn]._reflectGetTheContentAttribute("sizes");return Wt===null?"":Wt}finally{on(Wt)}}set sizes(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set sizes' called on an object that is not a valid instance of HTMLSourceElement.")}en=tn["DOMString"](en,{context:"Failed to set the 'sizes' property on 'HTMLSourceElement': The provided value",globals:Wt});sn(Wt);try{nn[cn]._reflectSetTheContentAttribute("sizes",en)}finally{on(Wt)}}get media(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get media' called on an object that is not a valid instance of HTMLSourceElement.")}sn(Wt);try{const Wt=en[cn]._reflectGetTheContentAttribute("media");return Wt===null?"":Wt}finally{on(Wt)}}set media(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set media' called on an object that is not a valid instance of HTMLSourceElement.")}en=tn["DOMString"](en,{context:"Failed to set the 'media' property on 'HTMLSourceElement': The provided value",globals:Wt});sn(Wt);try{nn[cn]._reflectSetTheContentAttribute("media",en)}finally{on(Wt)}}}Object.defineProperties(HTMLSourceElement.prototype,{src:{enumerable:true},type:{enumerable:true},srcset:{enumerable:true},sizes:{enumerable:true},media:{enumerable:true},[Symbol.toStringTag]:{value:"HTMLSourceElement",configurable:true}});dn[pn]=HTMLSourceElement;Object.defineProperty(Wt,pn,{configurable:true,writable:true,value:HTMLSourceElement})};const bn=en(51769)},33632:(Wt,Pt,en)=>{const tn=en(37125);const nn=en(87094);const an=en(84175).HTMLConstructor;const In=nn.implSymbol;const rn=nn.ctorRegistrySymbol;const sn=en(48708);const on="HTMLSpanElement";Pt.is=Wt=>nn.isObject(Wt)&&nn.hasOwn(Wt,In)&&Wt[In]instanceof dn.implementation;Pt.isImpl=Wt=>nn.isObject(Wt)&&Wt instanceof dn.implementation;Pt.convert=(Wt,en,{context:tn="The provided value"}={})=>{if(Pt.is(en)){return nn.implForWrapper(en)}throw new Wt.TypeError(`${tn} is not of type 'HTMLSpanElement'.`)};function makeWrapper(Wt,Pt){let en;if(Pt!==undefined){en=Pt.prototype}if(!nn.isObject(en)){en=Wt[rn]["HTMLSpanElement"].prototype}return Object.create(en)}Pt.create=(Wt,en,tn)=>{const nn=makeWrapper(Wt);return Pt.setup(nn,Wt,en,tn)};Pt.createImpl=(Wt,en,tn)=>{const an=Pt.create(Wt,en,tn);return nn.implForWrapper(an)};Pt._internalSetup=(Wt,Pt)=>{sn._internalSetup(Wt,Pt)};Pt.setup=(Wt,en,tn=[],an={})=>{an.wrapper=Wt;Pt._internalSetup(Wt,en);Object.defineProperty(Wt,In,{value:new dn.implementation(en,tn,an),configurable:true});Wt[In][nn.wrapperSymbol]=Wt;if(dn.init){dn.init(Wt[In])}return Wt};Pt["new"]=(Wt,en)=>{const tn=makeWrapper(Wt,en);Pt._internalSetup(tn,Wt);Object.defineProperty(tn,In,{value:Object.create(dn.implementation.prototype),configurable:true});tn[In][nn.wrapperSymbol]=tn;if(dn.init){dn.init(tn[In])}return tn[In]};const cn=new Set(["Window"]);Pt.install=(Wt,Pt)=>{if(!Pt.some((Wt=>cn.has(Wt)))){return}const en=nn.initCtorRegistry(Wt);class HTMLSpanElement extends Wt.HTMLElement{constructor(){return an(Wt,on,new.target)}}Object.defineProperties(HTMLSpanElement.prototype,{[Symbol.toStringTag]:{value:"HTMLSpanElement",configurable:true}});en[on]=HTMLSpanElement;Object.defineProperty(Wt,on,{configurable:true,writable:true,value:HTMLSpanElement})};const dn=en(76107)},97737:(Wt,Pt,en)=>{const tn=en(37125);const nn=en(87094);const an=en(84175).HTMLConstructor;const In=en(8348).ceReactionsPreSteps;const rn=en(8348).ceReactionsPostSteps;const sn=nn.implSymbol;const on=nn.ctorRegistrySymbol;const cn=en(48708);const dn="HTMLStyleElement";Pt.is=Wt=>nn.isObject(Wt)&&nn.hasOwn(Wt,sn)&&Wt[sn]instanceof pn.implementation;Pt.isImpl=Wt=>nn.isObject(Wt)&&Wt instanceof pn.implementation;Pt.convert=(Wt,en,{context:tn="The provided value"}={})=>{if(Pt.is(en)){return nn.implForWrapper(en)}throw new Wt.TypeError(`${tn} is not of type 'HTMLStyleElement'.`)};function makeWrapper(Wt,Pt){let en;if(Pt!==undefined){en=Pt.prototype}if(!nn.isObject(en)){en=Wt[on]["HTMLStyleElement"].prototype}return Object.create(en)}Pt.create=(Wt,en,tn)=>{const nn=makeWrapper(Wt);return Pt.setup(nn,Wt,en,tn)};Pt.createImpl=(Wt,en,tn)=>{const an=Pt.create(Wt,en,tn);return nn.implForWrapper(an)};Pt._internalSetup=(Wt,Pt)=>{cn._internalSetup(Wt,Pt)};Pt.setup=(Wt,en,tn=[],an={})=>{an.wrapper=Wt;Pt._internalSetup(Wt,en);Object.defineProperty(Wt,sn,{value:new pn.implementation(en,tn,an),configurable:true});Wt[sn][nn.wrapperSymbol]=Wt;if(pn.init){pn.init(Wt[sn])}return Wt};Pt["new"]=(Wt,en)=>{const tn=makeWrapper(Wt,en);Pt._internalSetup(tn,Wt);Object.defineProperty(tn,sn,{value:Object.create(pn.implementation.prototype),configurable:true});tn[sn][nn.wrapperSymbol]=tn;if(pn.init){pn.init(tn[sn])}return tn[sn]};const un=new Set(["Window"]);Pt.install=(Wt,en)=>{if(!en.some((Wt=>un.has(Wt)))){return}const on=nn.initCtorRegistry(Wt);class HTMLStyleElement extends Wt.HTMLElement{constructor(){return an(Wt,dn,new.target)}get media(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get media' called on an object that is not a valid instance of HTMLStyleElement.")}In(Wt);try{const Wt=en[sn]._reflectGetTheContentAttribute("media");return Wt===null?"":Wt}finally{rn(Wt)}}set media(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set media' called on an object that is not a valid instance of HTMLStyleElement.")}en=tn["DOMString"](en,{context:"Failed to set the 'media' property on 'HTMLStyleElement': The provided value",globals:Wt});In(Wt);try{nn[sn]._reflectSetTheContentAttribute("media",en)}finally{rn(Wt)}}get type(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get type' called on an object that is not a valid instance of HTMLStyleElement.")}In(Wt);try{const Wt=en[sn]._reflectGetTheContentAttribute("type");return Wt===null?"":Wt}finally{rn(Wt)}}set type(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set type' called on an object that is not a valid instance of HTMLStyleElement.")}en=tn["DOMString"](en,{context:"Failed to set the 'type' property on 'HTMLStyleElement': The provided value",globals:Wt});In(Wt);try{nn[sn]._reflectSetTheContentAttribute("type",en)}finally{rn(Wt)}}get sheet(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get sheet' called on an object that is not a valid instance of HTMLStyleElement.")}return nn.tryWrapperForImpl(en[sn]["sheet"])}}Object.defineProperties(HTMLStyleElement.prototype,{media:{enumerable:true},type:{enumerable:true},sheet:{enumerable:true},[Symbol.toStringTag]:{value:"HTMLStyleElement",configurable:true}});on[dn]=HTMLStyleElement;Object.defineProperty(Wt,dn,{configurable:true,writable:true,value:HTMLStyleElement})};const pn=en(6516)},41450:(Wt,Pt,en)=>{const tn=en(37125);const nn=en(87094);const an=en(84175).HTMLConstructor;const In=en(8348).ceReactionsPreSteps;const rn=en(8348).ceReactionsPostSteps;const sn=nn.implSymbol;const on=nn.ctorRegistrySymbol;const cn=en(48708);const dn="HTMLTableCaptionElement";Pt.is=Wt=>nn.isObject(Wt)&&nn.hasOwn(Wt,sn)&&Wt[sn]instanceof pn.implementation;Pt.isImpl=Wt=>nn.isObject(Wt)&&Wt instanceof pn.implementation;Pt.convert=(Wt,en,{context:tn="The provided value"}={})=>{if(Pt.is(en)){return nn.implForWrapper(en)}throw new Wt.TypeError(`${tn} is not of type 'HTMLTableCaptionElement'.`)};function makeWrapper(Wt,Pt){let en;if(Pt!==undefined){en=Pt.prototype}if(!nn.isObject(en)){en=Wt[on]["HTMLTableCaptionElement"].prototype}return Object.create(en)}Pt.create=(Wt,en,tn)=>{const nn=makeWrapper(Wt);return Pt.setup(nn,Wt,en,tn)};Pt.createImpl=(Wt,en,tn)=>{const an=Pt.create(Wt,en,tn);return nn.implForWrapper(an)};Pt._internalSetup=(Wt,Pt)=>{cn._internalSetup(Wt,Pt)};Pt.setup=(Wt,en,tn=[],an={})=>{an.wrapper=Wt;Pt._internalSetup(Wt,en);Object.defineProperty(Wt,sn,{value:new pn.implementation(en,tn,an),configurable:true});Wt[sn][nn.wrapperSymbol]=Wt;if(pn.init){pn.init(Wt[sn])}return Wt};Pt["new"]=(Wt,en)=>{const tn=makeWrapper(Wt,en);Pt._internalSetup(tn,Wt);Object.defineProperty(tn,sn,{value:Object.create(pn.implementation.prototype),configurable:true});tn[sn][nn.wrapperSymbol]=tn;if(pn.init){pn.init(tn[sn])}return tn[sn]};const un=new Set(["Window"]);Pt.install=(Wt,en)=>{if(!en.some((Wt=>un.has(Wt)))){return}const on=nn.initCtorRegistry(Wt);class HTMLTableCaptionElement extends Wt.HTMLElement{constructor(){return an(Wt,dn,new.target)}get align(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get align' called on an object that is not a valid instance of HTMLTableCaptionElement.")}In(Wt);try{const Wt=en[sn]._reflectGetTheContentAttribute("align");return Wt===null?"":Wt}finally{rn(Wt)}}set align(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set align' called on an object that is not a valid instance of HTMLTableCaptionElement.")}en=tn["DOMString"](en,{context:"Failed to set the 'align' property on 'HTMLTableCaptionElement': The provided value",globals:Wt});In(Wt);try{nn[sn]._reflectSetTheContentAttribute("align",en)}finally{rn(Wt)}}}Object.defineProperties(HTMLTableCaptionElement.prototype,{align:{enumerable:true},[Symbol.toStringTag]:{value:"HTMLTableCaptionElement",configurable:true}});on[dn]=HTMLTableCaptionElement;Object.defineProperty(Wt,dn,{configurable:true,writable:true,value:HTMLTableCaptionElement})};const pn=en(5257)},43902:(Wt,Pt,en)=>{const tn=en(37125);const nn=en(87094);const an=en(84175).HTMLConstructor;const In=en(97205).parseNonNegativeInteger;const rn=en(8348).ceReactionsPreSteps;const sn=en(8348).ceReactionsPostSteps;const on=nn.implSymbol;const cn=nn.ctorRegistrySymbol;const dn=en(48708);const un="HTMLTableCellElement";Pt.is=Wt=>nn.isObject(Wt)&&nn.hasOwn(Wt,on)&&Wt[on]instanceof mn.implementation;Pt.isImpl=Wt=>nn.isObject(Wt)&&Wt instanceof mn.implementation;Pt.convert=(Wt,en,{context:tn="The provided value"}={})=>{if(Pt.is(en)){return nn.implForWrapper(en)}throw new Wt.TypeError(`${tn} is not of type 'HTMLTableCellElement'.`)};function makeWrapper(Wt,Pt){let en;if(Pt!==undefined){en=Pt.prototype}if(!nn.isObject(en)){en=Wt[cn]["HTMLTableCellElement"].prototype}return Object.create(en)}Pt.create=(Wt,en,tn)=>{const nn=makeWrapper(Wt);return Pt.setup(nn,Wt,en,tn)};Pt.createImpl=(Wt,en,tn)=>{const an=Pt.create(Wt,en,tn);return nn.implForWrapper(an)};Pt._internalSetup=(Wt,Pt)=>{dn._internalSetup(Wt,Pt)};Pt.setup=(Wt,en,tn=[],an={})=>{an.wrapper=Wt;Pt._internalSetup(Wt,en);Object.defineProperty(Wt,on,{value:new mn.implementation(en,tn,an),configurable:true});Wt[on][nn.wrapperSymbol]=Wt;if(mn.init){mn.init(Wt[on])}return Wt};Pt["new"]=(Wt,en)=>{const tn=makeWrapper(Wt,en);Pt._internalSetup(tn,Wt);Object.defineProperty(tn,on,{value:Object.create(mn.implementation.prototype),configurable:true});tn[on][nn.wrapperSymbol]=tn;if(mn.init){mn.init(tn[on])}return tn[on]};const pn=new Set(["Window"]);Pt.install=(Wt,en)=>{if(!en.some((Wt=>pn.has(Wt)))){return}const cn=nn.initCtorRegistry(Wt);class HTMLTableCellElement extends Wt.HTMLElement{constructor(){return an(Wt,un,new.target)}get colSpan(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get colSpan' called on an object that is not a valid instance of HTMLTableCellElement.")}rn(Wt);try{let Wt=en[on]._reflectGetTheContentAttribute("colspan");if(Wt!==null){Wt=In(Wt);if(Wt!==null){if(Wt<1){return 1}else if(Wt>=1&&Wt<=1e3){return Wt}else{return 1e3}}}return 1}finally{sn(Wt)}}set colSpan(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set colSpan' called on an object that is not a valid instance of HTMLTableCellElement.")}en=tn["unsigned long"](en,{context:"Failed to set the 'colSpan' property on 'HTMLTableCellElement': The provided value",globals:Wt});rn(Wt);try{const Wt=en<=2147483647&&en>=0?en:1;nn[on]._reflectSetTheContentAttribute("colspan",String(Wt))}finally{sn(Wt)}}get rowSpan(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get rowSpan' called on an object that is not a valid instance of HTMLTableCellElement.")}rn(Wt);try{let Wt=en[on]._reflectGetTheContentAttribute("rowspan");if(Wt!==null){Wt=In(Wt);if(Wt!==null){if(Wt<0){return 0}else if(Wt>=0&&Wt<=65534){return Wt}else{return 65534}}}return 1}finally{sn(Wt)}}set rowSpan(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set rowSpan' called on an object that is not a valid instance of HTMLTableCellElement.")}en=tn["unsigned long"](en,{context:"Failed to set the 'rowSpan' property on 'HTMLTableCellElement': The provided value",globals:Wt});rn(Wt);try{const Wt=en<=2147483647&&en>=0?en:1;nn[on]._reflectSetTheContentAttribute("rowspan",String(Wt))}finally{sn(Wt)}}get headers(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get headers' called on an object that is not a valid instance of HTMLTableCellElement.")}rn(Wt);try{const Wt=en[on]._reflectGetTheContentAttribute("headers");return Wt===null?"":Wt}finally{sn(Wt)}}set headers(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set headers' called on an object that is not a valid instance of HTMLTableCellElement.")}en=tn["DOMString"](en,{context:"Failed to set the 'headers' property on 'HTMLTableCellElement': The provided value",globals:Wt});rn(Wt);try{nn[on]._reflectSetTheContentAttribute("headers",en)}finally{sn(Wt)}}get cellIndex(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get cellIndex' called on an object that is not a valid instance of HTMLTableCellElement.")}return en[on]["cellIndex"]}get scope(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get scope' called on an object that is not a valid instance of HTMLTableCellElement.")}rn(Wt);try{return en[on]["scope"]}finally{sn(Wt)}}set scope(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set scope' called on an object that is not a valid instance of HTMLTableCellElement.")}en=tn["DOMString"](en,{context:"Failed to set the 'scope' property on 'HTMLTableCellElement': The provided value",globals:Wt});rn(Wt);try{nn[on]["scope"]=en}finally{sn(Wt)}}get abbr(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get abbr' called on an object that is not a valid instance of HTMLTableCellElement.")}rn(Wt);try{const Wt=en[on]._reflectGetTheContentAttribute("abbr");return Wt===null?"":Wt}finally{sn(Wt)}}set abbr(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set abbr' called on an object that is not a valid instance of HTMLTableCellElement.")}en=tn["DOMString"](en,{context:"Failed to set the 'abbr' property on 'HTMLTableCellElement': The provided value",globals:Wt});rn(Wt);try{nn[on]._reflectSetTheContentAttribute("abbr",en)}finally{sn(Wt)}}get align(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get align' called on an object that is not a valid instance of HTMLTableCellElement.")}rn(Wt);try{const Wt=en[on]._reflectGetTheContentAttribute("align");return Wt===null?"":Wt}finally{sn(Wt)}}set align(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set align' called on an object that is not a valid instance of HTMLTableCellElement.")}en=tn["DOMString"](en,{context:"Failed to set the 'align' property on 'HTMLTableCellElement': The provided value",globals:Wt});rn(Wt);try{nn[on]._reflectSetTheContentAttribute("align",en)}finally{sn(Wt)}}get axis(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get axis' called on an object that is not a valid instance of HTMLTableCellElement.")}rn(Wt);try{const Wt=en[on]._reflectGetTheContentAttribute("axis");return Wt===null?"":Wt}finally{sn(Wt)}}set axis(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set axis' called on an object that is not a valid instance of HTMLTableCellElement.")}en=tn["DOMString"](en,{context:"Failed to set the 'axis' property on 'HTMLTableCellElement': The provided value",globals:Wt});rn(Wt);try{nn[on]._reflectSetTheContentAttribute("axis",en)}finally{sn(Wt)}}get height(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get height' called on an object that is not a valid instance of HTMLTableCellElement.")}rn(Wt);try{const Wt=en[on]._reflectGetTheContentAttribute("height");return Wt===null?"":Wt}finally{sn(Wt)}}set height(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set height' called on an object that is not a valid instance of HTMLTableCellElement.")}en=tn["DOMString"](en,{context:"Failed to set the 'height' property on 'HTMLTableCellElement': The provided value",globals:Wt});rn(Wt);try{nn[on]._reflectSetTheContentAttribute("height",en)}finally{sn(Wt)}}get width(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get width' called on an object that is not a valid instance of HTMLTableCellElement.")}rn(Wt);try{const Wt=en[on]._reflectGetTheContentAttribute("width");return Wt===null?"":Wt}finally{sn(Wt)}}set width(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set width' called on an object that is not a valid instance of HTMLTableCellElement.")}en=tn["DOMString"](en,{context:"Failed to set the 'width' property on 'HTMLTableCellElement': The provided value",globals:Wt});rn(Wt);try{nn[on]._reflectSetTheContentAttribute("width",en)}finally{sn(Wt)}}get ch(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get ch' called on an object that is not a valid instance of HTMLTableCellElement.")}rn(Wt);try{const Wt=en[on]._reflectGetTheContentAttribute("char");return Wt===null?"":Wt}finally{sn(Wt)}}set ch(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set ch' called on an object that is not a valid instance of HTMLTableCellElement.")}en=tn["DOMString"](en,{context:"Failed to set the 'ch' property on 'HTMLTableCellElement': The provided value",globals:Wt});rn(Wt);try{nn[on]._reflectSetTheContentAttribute("char",en)}finally{sn(Wt)}}get chOff(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get chOff' called on an object that is not a valid instance of HTMLTableCellElement.")}rn(Wt);try{const Wt=en[on]._reflectGetTheContentAttribute("charoff");return Wt===null?"":Wt}finally{sn(Wt)}}set chOff(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set chOff' called on an object that is not a valid instance of HTMLTableCellElement.")}en=tn["DOMString"](en,{context:"Failed to set the 'chOff' property on 'HTMLTableCellElement': The provided value",globals:Wt});rn(Wt);try{nn[on]._reflectSetTheContentAttribute("charoff",en)}finally{sn(Wt)}}get noWrap(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get noWrap' called on an object that is not a valid instance of HTMLTableCellElement.")}rn(Wt);try{return en[on]._reflectGetTheContentAttribute("nowrap")!==null}finally{sn(Wt)}}set noWrap(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set noWrap' called on an object that is not a valid instance of HTMLTableCellElement.")}en=tn["boolean"](en,{context:"Failed to set the 'noWrap' property on 'HTMLTableCellElement': The provided value",globals:Wt});rn(Wt);try{if(en){nn[on]._reflectSetTheContentAttribute("nowrap","")}else{nn[on]._reflectDeleteTheContentAttribute("nowrap")}}finally{sn(Wt)}}get vAlign(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get vAlign' called on an object that is not a valid instance of HTMLTableCellElement.")}rn(Wt);try{const Wt=en[on]._reflectGetTheContentAttribute("valign");return Wt===null?"":Wt}finally{sn(Wt)}}set vAlign(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set vAlign' called on an object that is not a valid instance of HTMLTableCellElement.")}en=tn["DOMString"](en,{context:"Failed to set the 'vAlign' property on 'HTMLTableCellElement': The provided value",globals:Wt});rn(Wt);try{nn[on]._reflectSetTheContentAttribute("valign",en)}finally{sn(Wt)}}get bgColor(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get bgColor' called on an object that is not a valid instance of HTMLTableCellElement.")}rn(Wt);try{const Wt=en[on]._reflectGetTheContentAttribute("bgcolor");return Wt===null?"":Wt}finally{sn(Wt)}}set bgColor(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set bgColor' called on an object that is not a valid instance of HTMLTableCellElement.")}en=tn["DOMString"](en,{context:"Failed to set the 'bgColor' property on 'HTMLTableCellElement': The provided value",globals:Wt,treatNullAsEmptyString:true});rn(Wt);try{nn[on]._reflectSetTheContentAttribute("bgcolor",en)}finally{sn(Wt)}}}Object.defineProperties(HTMLTableCellElement.prototype,{colSpan:{enumerable:true},rowSpan:{enumerable:true},headers:{enumerable:true},cellIndex:{enumerable:true},scope:{enumerable:true},abbr:{enumerable:true},align:{enumerable:true},axis:{enumerable:true},height:{enumerable:true},width:{enumerable:true},ch:{enumerable:true},chOff:{enumerable:true},noWrap:{enumerable:true},vAlign:{enumerable:true},bgColor:{enumerable:true},[Symbol.toStringTag]:{value:"HTMLTableCellElement",configurable:true}});cn[un]=HTMLTableCellElement;Object.defineProperty(Wt,un,{configurable:true,writable:true,value:HTMLTableCellElement})};const mn=en(67157)},42986:(Wt,Pt,en)=>{const tn=en(37125);const nn=en(87094);const an=en(84175).HTMLConstructor;const In=en(97205).parseNonNegativeInteger;const rn=en(8348).ceReactionsPreSteps;const sn=en(8348).ceReactionsPostSteps;const on=nn.implSymbol;const cn=nn.ctorRegistrySymbol;const dn=en(48708);const un="HTMLTableColElement";Pt.is=Wt=>nn.isObject(Wt)&&nn.hasOwn(Wt,on)&&Wt[on]instanceof mn.implementation;Pt.isImpl=Wt=>nn.isObject(Wt)&&Wt instanceof mn.implementation;Pt.convert=(Wt,en,{context:tn="The provided value"}={})=>{if(Pt.is(en)){return nn.implForWrapper(en)}throw new Wt.TypeError(`${tn} is not of type 'HTMLTableColElement'.`)};function makeWrapper(Wt,Pt){let en;if(Pt!==undefined){en=Pt.prototype}if(!nn.isObject(en)){en=Wt[cn]["HTMLTableColElement"].prototype}return Object.create(en)}Pt.create=(Wt,en,tn)=>{const nn=makeWrapper(Wt);return Pt.setup(nn,Wt,en,tn)};Pt.createImpl=(Wt,en,tn)=>{const an=Pt.create(Wt,en,tn);return nn.implForWrapper(an)};Pt._internalSetup=(Wt,Pt)=>{dn._internalSetup(Wt,Pt)};Pt.setup=(Wt,en,tn=[],an={})=>{an.wrapper=Wt;Pt._internalSetup(Wt,en);Object.defineProperty(Wt,on,{value:new mn.implementation(en,tn,an),configurable:true});Wt[on][nn.wrapperSymbol]=Wt;if(mn.init){mn.init(Wt[on])}return Wt};Pt["new"]=(Wt,en)=>{const tn=makeWrapper(Wt,en);Pt._internalSetup(tn,Wt);Object.defineProperty(tn,on,{value:Object.create(mn.implementation.prototype),configurable:true});tn[on][nn.wrapperSymbol]=tn;if(mn.init){mn.init(tn[on])}return tn[on]};const pn=new Set(["Window"]);Pt.install=(Wt,en)=>{if(!en.some((Wt=>pn.has(Wt)))){return}const cn=nn.initCtorRegistry(Wt);class HTMLTableColElement extends Wt.HTMLElement{constructor(){return an(Wt,un,new.target)}get span(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get span' called on an object that is not a valid instance of HTMLTableColElement.")}rn(Wt);try{let Wt=en[on]._reflectGetTheContentAttribute("span");if(Wt!==null){Wt=In(Wt);if(Wt!==null){if(Wt<1){return 1}else if(Wt>=1&&Wt<=1e3){return Wt}else{return 1e3}}}return 1}finally{sn(Wt)}}set span(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set span' called on an object that is not a valid instance of HTMLTableColElement.")}en=tn["unsigned long"](en,{context:"Failed to set the 'span' property on 'HTMLTableColElement': The provided value",globals:Wt});rn(Wt);try{const Wt=en<=2147483647&&en>=0?en:1;nn[on]._reflectSetTheContentAttribute("span",String(Wt))}finally{sn(Wt)}}get align(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get align' called on an object that is not a valid instance of HTMLTableColElement.")}rn(Wt);try{const Wt=en[on]._reflectGetTheContentAttribute("align");return Wt===null?"":Wt}finally{sn(Wt)}}set align(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set align' called on an object that is not a valid instance of HTMLTableColElement.")}en=tn["DOMString"](en,{context:"Failed to set the 'align' property on 'HTMLTableColElement': The provided value",globals:Wt});rn(Wt);try{nn[on]._reflectSetTheContentAttribute("align",en)}finally{sn(Wt)}}get ch(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get ch' called on an object that is not a valid instance of HTMLTableColElement.")}rn(Wt);try{const Wt=en[on]._reflectGetTheContentAttribute("char");return Wt===null?"":Wt}finally{sn(Wt)}}set ch(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set ch' called on an object that is not a valid instance of HTMLTableColElement.")}en=tn["DOMString"](en,{context:"Failed to set the 'ch' property on 'HTMLTableColElement': The provided value",globals:Wt});rn(Wt);try{nn[on]._reflectSetTheContentAttribute("char",en)}finally{sn(Wt)}}get chOff(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get chOff' called on an object that is not a valid instance of HTMLTableColElement.")}rn(Wt);try{const Wt=en[on]._reflectGetTheContentAttribute("charoff");return Wt===null?"":Wt}finally{sn(Wt)}}set chOff(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set chOff' called on an object that is not a valid instance of HTMLTableColElement.")}en=tn["DOMString"](en,{context:"Failed to set the 'chOff' property on 'HTMLTableColElement': The provided value",globals:Wt});rn(Wt);try{nn[on]._reflectSetTheContentAttribute("charoff",en)}finally{sn(Wt)}}get vAlign(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get vAlign' called on an object that is not a valid instance of HTMLTableColElement.")}rn(Wt);try{const Wt=en[on]._reflectGetTheContentAttribute("valign");return Wt===null?"":Wt}finally{sn(Wt)}}set vAlign(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set vAlign' called on an object that is not a valid instance of HTMLTableColElement.")}en=tn["DOMString"](en,{context:"Failed to set the 'vAlign' property on 'HTMLTableColElement': The provided value",globals:Wt});rn(Wt);try{nn[on]._reflectSetTheContentAttribute("valign",en)}finally{sn(Wt)}}get width(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get width' called on an object that is not a valid instance of HTMLTableColElement.")}rn(Wt);try{const Wt=en[on]._reflectGetTheContentAttribute("width");return Wt===null?"":Wt}finally{sn(Wt)}}set width(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set width' called on an object that is not a valid instance of HTMLTableColElement.")}en=tn["DOMString"](en,{context:"Failed to set the 'width' property on 'HTMLTableColElement': The provided value",globals:Wt});rn(Wt);try{nn[on]._reflectSetTheContentAttribute("width",en)}finally{sn(Wt)}}}Object.defineProperties(HTMLTableColElement.prototype,{span:{enumerable:true},align:{enumerable:true},ch:{enumerable:true},chOff:{enumerable:true},vAlign:{enumerable:true},width:{enumerable:true},[Symbol.toStringTag]:{value:"HTMLTableColElement",configurable:true}});cn[un]=HTMLTableColElement;Object.defineProperty(Wt,un,{configurable:true,writable:true,value:HTMLTableColElement})};const mn=en(9553)},22810:(Wt,Pt,en)=>{const tn=en(37125);const nn=en(87094);const an=en(84175).HTMLConstructor;const In=en(8348).ceReactionsPreSteps;const rn=en(8348).ceReactionsPostSteps;const sn=en(41450);const on=en(98506);const cn=nn.implSymbol;const dn=nn.ctorRegistrySymbol;const un=en(48708);const pn="HTMLTableElement";Pt.is=Wt=>nn.isObject(Wt)&&nn.hasOwn(Wt,cn)&&Wt[cn]instanceof bn.implementation;Pt.isImpl=Wt=>nn.isObject(Wt)&&Wt instanceof bn.implementation;Pt.convert=(Wt,en,{context:tn="The provided value"}={})=>{if(Pt.is(en)){return nn.implForWrapper(en)}throw new Wt.TypeError(`${tn} is not of type 'HTMLTableElement'.`)};function makeWrapper(Wt,Pt){let en;if(Pt!==undefined){en=Pt.prototype}if(!nn.isObject(en)){en=Wt[dn]["HTMLTableElement"].prototype}return Object.create(en)}Pt.create=(Wt,en,tn)=>{const nn=makeWrapper(Wt);return Pt.setup(nn,Wt,en,tn)};Pt.createImpl=(Wt,en,tn)=>{const an=Pt.create(Wt,en,tn);return nn.implForWrapper(an)};Pt._internalSetup=(Wt,Pt)=>{un._internalSetup(Wt,Pt)};Pt.setup=(Wt,en,tn=[],an={})=>{an.wrapper=Wt;Pt._internalSetup(Wt,en);Object.defineProperty(Wt,cn,{value:new bn.implementation(en,tn,an),configurable:true});Wt[cn][nn.wrapperSymbol]=Wt;if(bn.init){bn.init(Wt[cn])}return Wt};Pt["new"]=(Wt,en)=>{const tn=makeWrapper(Wt,en);Pt._internalSetup(tn,Wt);Object.defineProperty(tn,cn,{value:Object.create(bn.implementation.prototype),configurable:true});tn[cn][nn.wrapperSymbol]=tn;if(bn.init){bn.init(tn[cn])}return tn[cn]};const mn=new Set(["Window"]);Pt.install=(Wt,en)=>{if(!en.some((Wt=>mn.has(Wt)))){return}const dn=nn.initCtorRegistry(Wt);class HTMLTableElement extends Wt.HTMLElement{constructor(){return an(Wt,pn,new.target)}createCaption(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'createCaption' called on an object that is not a valid instance of HTMLTableElement.")}return nn.tryWrapperForImpl(en[cn].createCaption())}deleteCaption(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'deleteCaption' called on an object that is not a valid instance of HTMLTableElement.")}In(Wt);try{return en[cn].deleteCaption()}finally{rn(Wt)}}createTHead(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'createTHead' called on an object that is not a valid instance of HTMLTableElement.")}return nn.tryWrapperForImpl(en[cn].createTHead())}deleteTHead(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'deleteTHead' called on an object that is not a valid instance of HTMLTableElement.")}In(Wt);try{return en[cn].deleteTHead()}finally{rn(Wt)}}createTFoot(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'createTFoot' called on an object that is not a valid instance of HTMLTableElement.")}return nn.tryWrapperForImpl(en[cn].createTFoot())}deleteTFoot(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'deleteTFoot' called on an object that is not a valid instance of HTMLTableElement.")}In(Wt);try{return en[cn].deleteTFoot()}finally{rn(Wt)}}createTBody(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'createTBody' called on an object that is not a valid instance of HTMLTableElement.")}return nn.tryWrapperForImpl(en[cn].createTBody())}insertRow(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'insertRow' called on an object that is not a valid instance of HTMLTableElement.")}const an=[];{let Pt=arguments[0];if(Pt!==undefined){Pt=tn["long"](Pt,{context:"Failed to execute 'insertRow' on 'HTMLTableElement': parameter 1",globals:Wt})}else{Pt=-1}an.push(Pt)}return nn.tryWrapperForImpl(en[cn].insertRow(...an))}deleteRow(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'deleteRow' called on an object that is not a valid instance of HTMLTableElement.")}if(arguments.length<1){throw new Wt.TypeError(`Failed to execute 'deleteRow' on 'HTMLTableElement': 1 argument required, but only ${arguments.length} present.`)}const an=[];{let Pt=arguments[0];Pt=tn["long"](Pt,{context:"Failed to execute 'deleteRow' on 'HTMLTableElement': parameter 1",globals:Wt});an.push(Pt)}In(Wt);try{return nn[cn].deleteRow(...an)}finally{rn(Wt)}}get caption(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get caption' called on an object that is not a valid instance of HTMLTableElement.")}In(Wt);try{return nn.tryWrapperForImpl(en[cn]["caption"])}finally{rn(Wt)}}set caption(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set caption' called on an object that is not a valid instance of HTMLTableElement.")}if(en===null||en===undefined){en=null}else{en=sn.convert(Wt,en,{context:"Failed to set the 'caption' property on 'HTMLTableElement': The provided value"})}In(Wt);try{tn[cn]["caption"]=en}finally{rn(Wt)}}get tHead(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get tHead' called on an object that is not a valid instance of HTMLTableElement.")}In(Wt);try{return nn.tryWrapperForImpl(en[cn]["tHead"])}finally{rn(Wt)}}set tHead(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set tHead' called on an object that is not a valid instance of HTMLTableElement.")}if(en===null||en===undefined){en=null}else{en=on.convert(Wt,en,{context:"Failed to set the 'tHead' property on 'HTMLTableElement': The provided value"})}In(Wt);try{tn[cn]["tHead"]=en}finally{rn(Wt)}}get tFoot(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get tFoot' called on an object that is not a valid instance of HTMLTableElement.")}In(Wt);try{return nn.tryWrapperForImpl(en[cn]["tFoot"])}finally{rn(Wt)}}set tFoot(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set tFoot' called on an object that is not a valid instance of HTMLTableElement.")}if(en===null||en===undefined){en=null}else{en=on.convert(Wt,en,{context:"Failed to set the 'tFoot' property on 'HTMLTableElement': The provided value"})}In(Wt);try{tn[cn]["tFoot"]=en}finally{rn(Wt)}}get tBodies(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get tBodies' called on an object that is not a valid instance of HTMLTableElement.")}return nn.getSameObject(this,"tBodies",(()=>nn.tryWrapperForImpl(en[cn]["tBodies"])))}get rows(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get rows' called on an object that is not a valid instance of HTMLTableElement.")}return nn.getSameObject(this,"rows",(()=>nn.tryWrapperForImpl(en[cn]["rows"])))}get align(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get align' called on an object that is not a valid instance of HTMLTableElement.")}In(Wt);try{const Wt=en[cn]._reflectGetTheContentAttribute("align");return Wt===null?"":Wt}finally{rn(Wt)}}set align(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set align' called on an object that is not a valid instance of HTMLTableElement.")}en=tn["DOMString"](en,{context:"Failed to set the 'align' property on 'HTMLTableElement': The provided value",globals:Wt});In(Wt);try{nn[cn]._reflectSetTheContentAttribute("align",en)}finally{rn(Wt)}}get border(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get border' called on an object that is not a valid instance of HTMLTableElement.")}In(Wt);try{const Wt=en[cn]._reflectGetTheContentAttribute("border");return Wt===null?"":Wt}finally{rn(Wt)}}set border(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set border' called on an object that is not a valid instance of HTMLTableElement.")}en=tn["DOMString"](en,{context:"Failed to set the 'border' property on 'HTMLTableElement': The provided value",globals:Wt});In(Wt);try{nn[cn]._reflectSetTheContentAttribute("border",en)}finally{rn(Wt)}}get frame(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get frame' called on an object that is not a valid instance of HTMLTableElement.")}In(Wt);try{const Wt=en[cn]._reflectGetTheContentAttribute("frame");return Wt===null?"":Wt}finally{rn(Wt)}}set frame(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set frame' called on an object that is not a valid instance of HTMLTableElement.")}en=tn["DOMString"](en,{context:"Failed to set the 'frame' property on 'HTMLTableElement': The provided value",globals:Wt});In(Wt);try{nn[cn]._reflectSetTheContentAttribute("frame",en)}finally{rn(Wt)}}get rules(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get rules' called on an object that is not a valid instance of HTMLTableElement.")}In(Wt);try{const Wt=en[cn]._reflectGetTheContentAttribute("rules");return Wt===null?"":Wt}finally{rn(Wt)}}set rules(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set rules' called on an object that is not a valid instance of HTMLTableElement.")}en=tn["DOMString"](en,{context:"Failed to set the 'rules' property on 'HTMLTableElement': The provided value",globals:Wt});In(Wt);try{nn[cn]._reflectSetTheContentAttribute("rules",en)}finally{rn(Wt)}}get summary(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get summary' called on an object that is not a valid instance of HTMLTableElement.")}In(Wt);try{const Wt=en[cn]._reflectGetTheContentAttribute("summary");return Wt===null?"":Wt}finally{rn(Wt)}}set summary(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set summary' called on an object that is not a valid instance of HTMLTableElement.")}en=tn["DOMString"](en,{context:"Failed to set the 'summary' property on 'HTMLTableElement': The provided value",globals:Wt});In(Wt);try{nn[cn]._reflectSetTheContentAttribute("summary",en)}finally{rn(Wt)}}get width(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get width' called on an object that is not a valid instance of HTMLTableElement.")}In(Wt);try{const Wt=en[cn]._reflectGetTheContentAttribute("width");return Wt===null?"":Wt}finally{rn(Wt)}}set width(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set width' called on an object that is not a valid instance of HTMLTableElement.")}en=tn["DOMString"](en,{context:"Failed to set the 'width' property on 'HTMLTableElement': The provided value",globals:Wt});In(Wt);try{nn[cn]._reflectSetTheContentAttribute("width",en)}finally{rn(Wt)}}get bgColor(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get bgColor' called on an object that is not a valid instance of HTMLTableElement.")}In(Wt);try{const Wt=en[cn]._reflectGetTheContentAttribute("bgcolor");return Wt===null?"":Wt}finally{rn(Wt)}}set bgColor(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set bgColor' called on an object that is not a valid instance of HTMLTableElement.")}en=tn["DOMString"](en,{context:"Failed to set the 'bgColor' property on 'HTMLTableElement': The provided value",globals:Wt,treatNullAsEmptyString:true});In(Wt);try{nn[cn]._reflectSetTheContentAttribute("bgcolor",en)}finally{rn(Wt)}}get cellPadding(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get cellPadding' called on an object that is not a valid instance of HTMLTableElement.")}In(Wt);try{const Wt=en[cn]._reflectGetTheContentAttribute("cellpadding");return Wt===null?"":Wt}finally{rn(Wt)}}set cellPadding(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set cellPadding' called on an object that is not a valid instance of HTMLTableElement.")}en=tn["DOMString"](en,{context:"Failed to set the 'cellPadding' property on 'HTMLTableElement': The provided value",globals:Wt,treatNullAsEmptyString:true});In(Wt);try{nn[cn]._reflectSetTheContentAttribute("cellpadding",en)}finally{rn(Wt)}}get cellSpacing(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get cellSpacing' called on an object that is not a valid instance of HTMLTableElement.")}In(Wt);try{const Wt=en[cn]._reflectGetTheContentAttribute("cellspacing");return Wt===null?"":Wt}finally{rn(Wt)}}set cellSpacing(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set cellSpacing' called on an object that is not a valid instance of HTMLTableElement.")}en=tn["DOMString"](en,{context:"Failed to set the 'cellSpacing' property on 'HTMLTableElement': The provided value",globals:Wt,treatNullAsEmptyString:true});In(Wt);try{nn[cn]._reflectSetTheContentAttribute("cellspacing",en)}finally{rn(Wt)}}}Object.defineProperties(HTMLTableElement.prototype,{createCaption:{enumerable:true},deleteCaption:{enumerable:true},createTHead:{enumerable:true},deleteTHead:{enumerable:true},createTFoot:{enumerable:true},deleteTFoot:{enumerable:true},createTBody:{enumerable:true},insertRow:{enumerable:true},deleteRow:{enumerable:true},caption:{enumerable:true},tHead:{enumerable:true},tFoot:{enumerable:true},tBodies:{enumerable:true},rows:{enumerable:true},align:{enumerable:true},border:{enumerable:true},frame:{enumerable:true},rules:{enumerable:true},summary:{enumerable:true},width:{enumerable:true},bgColor:{enumerable:true},cellPadding:{enumerable:true},cellSpacing:{enumerable:true},[Symbol.toStringTag]:{value:"HTMLTableElement",configurable:true}});dn[pn]=HTMLTableElement;Object.defineProperty(Wt,pn,{configurable:true,writable:true,value:HTMLTableElement})};const bn=en(9689)},60260:(Wt,Pt,en)=>{const tn=en(37125);const nn=en(87094);const an=en(84175).HTMLConstructor;const In=en(8348).ceReactionsPreSteps;const rn=en(8348).ceReactionsPostSteps;const sn=nn.implSymbol;const on=nn.ctorRegistrySymbol;const cn=en(48708);const dn="HTMLTableRowElement";Pt.is=Wt=>nn.isObject(Wt)&&nn.hasOwn(Wt,sn)&&Wt[sn]instanceof pn.implementation;Pt.isImpl=Wt=>nn.isObject(Wt)&&Wt instanceof pn.implementation;Pt.convert=(Wt,en,{context:tn="The provided value"}={})=>{if(Pt.is(en)){return nn.implForWrapper(en)}throw new Wt.TypeError(`${tn} is not of type 'HTMLTableRowElement'.`)};function makeWrapper(Wt,Pt){let en;if(Pt!==undefined){en=Pt.prototype}if(!nn.isObject(en)){en=Wt[on]["HTMLTableRowElement"].prototype}return Object.create(en)}Pt.create=(Wt,en,tn)=>{const nn=makeWrapper(Wt);return Pt.setup(nn,Wt,en,tn)};Pt.createImpl=(Wt,en,tn)=>{const an=Pt.create(Wt,en,tn);return nn.implForWrapper(an)};Pt._internalSetup=(Wt,Pt)=>{cn._internalSetup(Wt,Pt)};Pt.setup=(Wt,en,tn=[],an={})=>{an.wrapper=Wt;Pt._internalSetup(Wt,en);Object.defineProperty(Wt,sn,{value:new pn.implementation(en,tn,an),configurable:true});Wt[sn][nn.wrapperSymbol]=Wt;if(pn.init){pn.init(Wt[sn])}return Wt};Pt["new"]=(Wt,en)=>{const tn=makeWrapper(Wt,en);Pt._internalSetup(tn,Wt);Object.defineProperty(tn,sn,{value:Object.create(pn.implementation.prototype),configurable:true});tn[sn][nn.wrapperSymbol]=tn;if(pn.init){pn.init(tn[sn])}return tn[sn]};const un=new Set(["Window"]);Pt.install=(Wt,en)=>{if(!en.some((Wt=>un.has(Wt)))){return}const on=nn.initCtorRegistry(Wt);class HTMLTableRowElement extends Wt.HTMLElement{constructor(){return an(Wt,dn,new.target)}insertCell(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'insertCell' called on an object that is not a valid instance of HTMLTableRowElement.")}const an=[];{let Pt=arguments[0];if(Pt!==undefined){Pt=tn["long"](Pt,{context:"Failed to execute 'insertCell' on 'HTMLTableRowElement': parameter 1",globals:Wt})}else{Pt=-1}an.push(Pt)}return nn.tryWrapperForImpl(en[sn].insertCell(...an))}deleteCell(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'deleteCell' called on an object that is not a valid instance of HTMLTableRowElement.")}if(arguments.length<1){throw new Wt.TypeError(`Failed to execute 'deleteCell' on 'HTMLTableRowElement': 1 argument required, but only ${arguments.length} present.`)}const an=[];{let Pt=arguments[0];Pt=tn["long"](Pt,{context:"Failed to execute 'deleteCell' on 'HTMLTableRowElement': parameter 1",globals:Wt});an.push(Pt)}In(Wt);try{return nn[sn].deleteCell(...an)}finally{rn(Wt)}}get rowIndex(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get rowIndex' called on an object that is not a valid instance of HTMLTableRowElement.")}return en[sn]["rowIndex"]}get sectionRowIndex(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get sectionRowIndex' called on an object that is not a valid instance of HTMLTableRowElement.")}return en[sn]["sectionRowIndex"]}get cells(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get cells' called on an object that is not a valid instance of HTMLTableRowElement.")}return nn.getSameObject(this,"cells",(()=>nn.tryWrapperForImpl(en[sn]["cells"])))}get align(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get align' called on an object that is not a valid instance of HTMLTableRowElement.")}In(Wt);try{const Wt=en[sn]._reflectGetTheContentAttribute("align");return Wt===null?"":Wt}finally{rn(Wt)}}set align(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set align' called on an object that is not a valid instance of HTMLTableRowElement.")}en=tn["DOMString"](en,{context:"Failed to set the 'align' property on 'HTMLTableRowElement': The provided value",globals:Wt});In(Wt);try{nn[sn]._reflectSetTheContentAttribute("align",en)}finally{rn(Wt)}}get ch(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get ch' called on an object that is not a valid instance of HTMLTableRowElement.")}In(Wt);try{const Wt=en[sn]._reflectGetTheContentAttribute("char");return Wt===null?"":Wt}finally{rn(Wt)}}set ch(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set ch' called on an object that is not a valid instance of HTMLTableRowElement.")}en=tn["DOMString"](en,{context:"Failed to set the 'ch' property on 'HTMLTableRowElement': The provided value",globals:Wt});In(Wt);try{nn[sn]._reflectSetTheContentAttribute("char",en)}finally{rn(Wt)}}get chOff(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get chOff' called on an object that is not a valid instance of HTMLTableRowElement.")}In(Wt);try{const Wt=en[sn]._reflectGetTheContentAttribute("charoff");return Wt===null?"":Wt}finally{rn(Wt)}}set chOff(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set chOff' called on an object that is not a valid instance of HTMLTableRowElement.")}en=tn["DOMString"](en,{context:"Failed to set the 'chOff' property on 'HTMLTableRowElement': The provided value",globals:Wt});In(Wt);try{nn[sn]._reflectSetTheContentAttribute("charoff",en)}finally{rn(Wt)}}get vAlign(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get vAlign' called on an object that is not a valid instance of HTMLTableRowElement.")}In(Wt);try{const Wt=en[sn]._reflectGetTheContentAttribute("valign");return Wt===null?"":Wt}finally{rn(Wt)}}set vAlign(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set vAlign' called on an object that is not a valid instance of HTMLTableRowElement.")}en=tn["DOMString"](en,{context:"Failed to set the 'vAlign' property on 'HTMLTableRowElement': The provided value",globals:Wt});In(Wt);try{nn[sn]._reflectSetTheContentAttribute("valign",en)}finally{rn(Wt)}}get bgColor(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get bgColor' called on an object that is not a valid instance of HTMLTableRowElement.")}In(Wt);try{const Wt=en[sn]._reflectGetTheContentAttribute("bgcolor");return Wt===null?"":Wt}finally{rn(Wt)}}set bgColor(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set bgColor' called on an object that is not a valid instance of HTMLTableRowElement.")}en=tn["DOMString"](en,{context:"Failed to set the 'bgColor' property on 'HTMLTableRowElement': The provided value",globals:Wt,treatNullAsEmptyString:true});In(Wt);try{nn[sn]._reflectSetTheContentAttribute("bgcolor",en)}finally{rn(Wt)}}}Object.defineProperties(HTMLTableRowElement.prototype,{insertCell:{enumerable:true},deleteCell:{enumerable:true},rowIndex:{enumerable:true},sectionRowIndex:{enumerable:true},cells:{enumerable:true},align:{enumerable:true},ch:{enumerable:true},chOff:{enumerable:true},vAlign:{enumerable:true},bgColor:{enumerable:true},[Symbol.toStringTag]:{value:"HTMLTableRowElement",configurable:true}});on[dn]=HTMLTableRowElement;Object.defineProperty(Wt,dn,{configurable:true,writable:true,value:HTMLTableRowElement})};const pn=en(91119)},98506:(Wt,Pt,en)=>{const tn=en(37125);const nn=en(87094);const an=en(84175).HTMLConstructor;const In=en(8348).ceReactionsPreSteps;const rn=en(8348).ceReactionsPostSteps;const sn=nn.implSymbol;const on=nn.ctorRegistrySymbol;const cn=en(48708);const dn="HTMLTableSectionElement";Pt.is=Wt=>nn.isObject(Wt)&&nn.hasOwn(Wt,sn)&&Wt[sn]instanceof pn.implementation;Pt.isImpl=Wt=>nn.isObject(Wt)&&Wt instanceof pn.implementation;Pt.convert=(Wt,en,{context:tn="The provided value"}={})=>{if(Pt.is(en)){return nn.implForWrapper(en)}throw new Wt.TypeError(`${tn} is not of type 'HTMLTableSectionElement'.`)};function makeWrapper(Wt,Pt){let en;if(Pt!==undefined){en=Pt.prototype}if(!nn.isObject(en)){en=Wt[on]["HTMLTableSectionElement"].prototype}return Object.create(en)}Pt.create=(Wt,en,tn)=>{const nn=makeWrapper(Wt);return Pt.setup(nn,Wt,en,tn)};Pt.createImpl=(Wt,en,tn)=>{const an=Pt.create(Wt,en,tn);return nn.implForWrapper(an)};Pt._internalSetup=(Wt,Pt)=>{cn._internalSetup(Wt,Pt)};Pt.setup=(Wt,en,tn=[],an={})=>{an.wrapper=Wt;Pt._internalSetup(Wt,en);Object.defineProperty(Wt,sn,{value:new pn.implementation(en,tn,an),configurable:true});Wt[sn][nn.wrapperSymbol]=Wt;if(pn.init){pn.init(Wt[sn])}return Wt};Pt["new"]=(Wt,en)=>{const tn=makeWrapper(Wt,en);Pt._internalSetup(tn,Wt);Object.defineProperty(tn,sn,{value:Object.create(pn.implementation.prototype),configurable:true});tn[sn][nn.wrapperSymbol]=tn;if(pn.init){pn.init(tn[sn])}return tn[sn]};const un=new Set(["Window"]);Pt.install=(Wt,en)=>{if(!en.some((Wt=>un.has(Wt)))){return}const on=nn.initCtorRegistry(Wt);class HTMLTableSectionElement extends Wt.HTMLElement{constructor(){return an(Wt,dn,new.target)}insertRow(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'insertRow' called on an object that is not a valid instance of HTMLTableSectionElement.")}const an=[];{let Pt=arguments[0];if(Pt!==undefined){Pt=tn["long"](Pt,{context:"Failed to execute 'insertRow' on 'HTMLTableSectionElement': parameter 1",globals:Wt})}else{Pt=-1}an.push(Pt)}return nn.tryWrapperForImpl(en[sn].insertRow(...an))}deleteRow(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'deleteRow' called on an object that is not a valid instance of HTMLTableSectionElement.")}if(arguments.length<1){throw new Wt.TypeError(`Failed to execute 'deleteRow' on 'HTMLTableSectionElement': 1 argument required, but only ${arguments.length} present.`)}const an=[];{let Pt=arguments[0];Pt=tn["long"](Pt,{context:"Failed to execute 'deleteRow' on 'HTMLTableSectionElement': parameter 1",globals:Wt});an.push(Pt)}In(Wt);try{return nn[sn].deleteRow(...an)}finally{rn(Wt)}}get rows(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get rows' called on an object that is not a valid instance of HTMLTableSectionElement.")}return nn.getSameObject(this,"rows",(()=>nn.tryWrapperForImpl(en[sn]["rows"])))}get align(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get align' called on an object that is not a valid instance of HTMLTableSectionElement.")}In(Wt);try{const Wt=en[sn]._reflectGetTheContentAttribute("align");return Wt===null?"":Wt}finally{rn(Wt)}}set align(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set align' called on an object that is not a valid instance of HTMLTableSectionElement.")}en=tn["DOMString"](en,{context:"Failed to set the 'align' property on 'HTMLTableSectionElement': The provided value",globals:Wt});In(Wt);try{nn[sn]._reflectSetTheContentAttribute("align",en)}finally{rn(Wt)}}get ch(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get ch' called on an object that is not a valid instance of HTMLTableSectionElement.")}In(Wt);try{const Wt=en[sn]._reflectGetTheContentAttribute("char");return Wt===null?"":Wt}finally{rn(Wt)}}set ch(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set ch' called on an object that is not a valid instance of HTMLTableSectionElement.")}en=tn["DOMString"](en,{context:"Failed to set the 'ch' property on 'HTMLTableSectionElement': The provided value",globals:Wt});In(Wt);try{nn[sn]._reflectSetTheContentAttribute("char",en)}finally{rn(Wt)}}get chOff(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get chOff' called on an object that is not a valid instance of HTMLTableSectionElement.")}In(Wt);try{const Wt=en[sn]._reflectGetTheContentAttribute("charoff");return Wt===null?"":Wt}finally{rn(Wt)}}set chOff(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set chOff' called on an object that is not a valid instance of HTMLTableSectionElement.")}en=tn["DOMString"](en,{context:"Failed to set the 'chOff' property on 'HTMLTableSectionElement': The provided value",globals:Wt});In(Wt);try{nn[sn]._reflectSetTheContentAttribute("charoff",en)}finally{rn(Wt)}}get vAlign(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get vAlign' called on an object that is not a valid instance of HTMLTableSectionElement.")}In(Wt);try{const Wt=en[sn]._reflectGetTheContentAttribute("valign");return Wt===null?"":Wt}finally{rn(Wt)}}set vAlign(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set vAlign' called on an object that is not a valid instance of HTMLTableSectionElement.")}en=tn["DOMString"](en,{context:"Failed to set the 'vAlign' property on 'HTMLTableSectionElement': The provided value",globals:Wt});In(Wt);try{nn[sn]._reflectSetTheContentAttribute("valign",en)}finally{rn(Wt)}}}Object.defineProperties(HTMLTableSectionElement.prototype,{insertRow:{enumerable:true},deleteRow:{enumerable:true},rows:{enumerable:true},align:{enumerable:true},ch:{enumerable:true},chOff:{enumerable:true},vAlign:{enumerable:true},[Symbol.toStringTag]:{value:"HTMLTableSectionElement",configurable:true}});on[dn]=HTMLTableSectionElement;Object.defineProperty(Wt,dn,{configurable:true,writable:true,value:HTMLTableSectionElement})};const pn=en(55264)},2894:(Wt,Pt,en)=>{const tn=en(37125);const nn=en(87094);const an=en(84175).HTMLConstructor;const In=nn.implSymbol;const rn=nn.ctorRegistrySymbol;const sn=en(48708);const on="HTMLTemplateElement";Pt.is=Wt=>nn.isObject(Wt)&&nn.hasOwn(Wt,In)&&Wt[In]instanceof dn.implementation;Pt.isImpl=Wt=>nn.isObject(Wt)&&Wt instanceof dn.implementation;Pt.convert=(Wt,en,{context:tn="The provided value"}={})=>{if(Pt.is(en)){return nn.implForWrapper(en)}throw new Wt.TypeError(`${tn} is not of type 'HTMLTemplateElement'.`)};function makeWrapper(Wt,Pt){let en;if(Pt!==undefined){en=Pt.prototype}if(!nn.isObject(en)){en=Wt[rn]["HTMLTemplateElement"].prototype}return Object.create(en)}Pt.create=(Wt,en,tn)=>{const nn=makeWrapper(Wt);return Pt.setup(nn,Wt,en,tn)};Pt.createImpl=(Wt,en,tn)=>{const an=Pt.create(Wt,en,tn);return nn.implForWrapper(an)};Pt._internalSetup=(Wt,Pt)=>{sn._internalSetup(Wt,Pt)};Pt.setup=(Wt,en,tn=[],an={})=>{an.wrapper=Wt;Pt._internalSetup(Wt,en);Object.defineProperty(Wt,In,{value:new dn.implementation(en,tn,an),configurable:true});Wt[In][nn.wrapperSymbol]=Wt;if(dn.init){dn.init(Wt[In])}return Wt};Pt["new"]=(Wt,en)=>{const tn=makeWrapper(Wt,en);Pt._internalSetup(tn,Wt);Object.defineProperty(tn,In,{value:Object.create(dn.implementation.prototype),configurable:true});tn[In][nn.wrapperSymbol]=tn;if(dn.init){dn.init(tn[In])}return tn[In]};const cn=new Set(["Window"]);Pt.install=(Wt,en)=>{if(!en.some((Wt=>cn.has(Wt)))){return}const tn=nn.initCtorRegistry(Wt);class HTMLTemplateElement extends Wt.HTMLElement{constructor(){return an(Wt,on,new.target)}get content(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get content' called on an object that is not a valid instance of HTMLTemplateElement.")}return nn.tryWrapperForImpl(en[In]["content"])}}Object.defineProperties(HTMLTemplateElement.prototype,{content:{enumerable:true},[Symbol.toStringTag]:{value:"HTMLTemplateElement",configurable:true}});tn[on]=HTMLTemplateElement;Object.defineProperty(Wt,on,{configurable:true,writable:true,value:HTMLTemplateElement})};const dn=en(86029)},40382:(Wt,Pt,en)=>{const tn=en(37125);const nn=en(87094);const an=en(84175).HTMLConstructor;const In=en(74150);const rn=en(8348).ceReactionsPreSteps;const sn=en(8348).ceReactionsPostSteps;const on=en(97205).parseNonNegativeInteger;const cn=en(16694).create;const dn=nn.implSymbol;const un=nn.ctorRegistrySymbol;const pn=en(48708);const mn="HTMLTextAreaElement";Pt.is=Wt=>nn.isObject(Wt)&&nn.hasOwn(Wt,dn)&&Wt[dn]instanceof Gn.implementation;Pt.isImpl=Wt=>nn.isObject(Wt)&&Wt instanceof Gn.implementation;Pt.convert=(Wt,en,{context:tn="The provided value"}={})=>{if(Pt.is(en)){return nn.implForWrapper(en)}throw new Wt.TypeError(`${tn} is not of type 'HTMLTextAreaElement'.`)};function makeWrapper(Wt,Pt){let en;if(Pt!==undefined){en=Pt.prototype}if(!nn.isObject(en)){en=Wt[un]["HTMLTextAreaElement"].prototype}return Object.create(en)}Pt.create=(Wt,en,tn)=>{const nn=makeWrapper(Wt);return Pt.setup(nn,Wt,en,tn)};Pt.createImpl=(Wt,en,tn)=>{const an=Pt.create(Wt,en,tn);return nn.implForWrapper(an)};Pt._internalSetup=(Wt,Pt)=>{pn._internalSetup(Wt,Pt)};Pt.setup=(Wt,en,tn=[],an={})=>{an.wrapper=Wt;Pt._internalSetup(Wt,en);Object.defineProperty(Wt,dn,{value:new Gn.implementation(en,tn,an),configurable:true});Wt[dn][nn.wrapperSymbol]=Wt;if(Gn.init){Gn.init(Wt[dn])}return Wt};Pt["new"]=(Wt,en)=>{const tn=makeWrapper(Wt,en);Pt._internalSetup(tn,Wt);Object.defineProperty(tn,dn,{value:Object.create(Gn.implementation.prototype),configurable:true});tn[dn][nn.wrapperSymbol]=tn;if(Gn.init){Gn.init(tn[dn])}return tn[dn]};const bn=new Set(["Window"]);Pt.install=(Wt,en)=>{if(!en.some((Wt=>bn.has(Wt)))){return}const un=nn.initCtorRegistry(Wt);class HTMLTextAreaElement extends Wt.HTMLElement{constructor(){return an(Wt,mn,new.target)}checkValidity(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'checkValidity' called on an object that is not a valid instance of HTMLTextAreaElement.")}return en[dn].checkValidity()}reportValidity(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'reportValidity' called on an object that is not a valid instance of HTMLTextAreaElement.")}return en[dn].reportValidity()}setCustomValidity(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'setCustomValidity' called on an object that is not a valid instance of HTMLTextAreaElement.")}if(arguments.length<1){throw new Wt.TypeError(`Failed to execute 'setCustomValidity' on 'HTMLTextAreaElement': 1 argument required, but only ${arguments.length} present.`)}const an=[];{let Pt=arguments[0];Pt=tn["DOMString"](Pt,{context:"Failed to execute 'setCustomValidity' on 'HTMLTextAreaElement': parameter 1",globals:Wt});an.push(Pt)}return nn[dn].setCustomValidity(...an)}select(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'select' called on an object that is not a valid instance of HTMLTextAreaElement.")}return en[dn].select()}setRangeText(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'setRangeText' called on an object that is not a valid instance of HTMLTextAreaElement.")}if(arguments.length<1){throw new Wt.TypeError(`Failed to execute 'setRangeText' on 'HTMLTextAreaElement': 1 argument required, but only ${arguments.length} present.`)}const an=[];switch(arguments.length){case 1:{let Pt=arguments[0];Pt=tn["DOMString"](Pt,{context:"Failed to execute 'setRangeText' on 'HTMLTextAreaElement': parameter 1",globals:Wt});an.push(Pt)}break;case 2:throw new Wt.TypeError(`Failed to execute 'setRangeText' on 'HTMLTextAreaElement': only ${arguments.length} arguments present.`);break;case 3:{let Pt=arguments[0];Pt=tn["DOMString"](Pt,{context:"Failed to execute 'setRangeText' on 'HTMLTextAreaElement': parameter 1",globals:Wt});an.push(Pt)}{let Pt=arguments[1];Pt=tn["unsigned long"](Pt,{context:"Failed to execute 'setRangeText' on 'HTMLTextAreaElement': parameter 2",globals:Wt});an.push(Pt)}{let Pt=arguments[2];Pt=tn["unsigned long"](Pt,{context:"Failed to execute 'setRangeText' on 'HTMLTextAreaElement': parameter 3",globals:Wt});an.push(Pt)}break;default:{let Pt=arguments[0];Pt=tn["DOMString"](Pt,{context:"Failed to execute 'setRangeText' on 'HTMLTextAreaElement': parameter 1",globals:Wt});an.push(Pt)}{let Pt=arguments[1];Pt=tn["unsigned long"](Pt,{context:"Failed to execute 'setRangeText' on 'HTMLTextAreaElement': parameter 2",globals:Wt});an.push(Pt)}{let Pt=arguments[2];Pt=tn["unsigned long"](Pt,{context:"Failed to execute 'setRangeText' on 'HTMLTextAreaElement': parameter 3",globals:Wt});an.push(Pt)}{let Pt=arguments[3];if(Pt!==undefined){Pt=In.convert(Wt,Pt,{context:"Failed to execute 'setRangeText' on 'HTMLTextAreaElement': parameter 4"})}else{Pt="preserve"}an.push(Pt)}}return nn[dn].setRangeText(...an)}setSelectionRange(en,nn){const an=this!==null&&this!==undefined?this:Wt;if(!Pt.is(an)){throw new Wt.TypeError("'setSelectionRange' called on an object that is not a valid instance of HTMLTextAreaElement.")}if(arguments.length<2){throw new Wt.TypeError(`Failed to execute 'setSelectionRange' on 'HTMLTextAreaElement': 2 arguments required, but only ${arguments.length} present.`)}const In=[];{let Pt=arguments[0];Pt=tn["unsigned long"](Pt,{context:"Failed to execute 'setSelectionRange' on 'HTMLTextAreaElement': parameter 1",globals:Wt});In.push(Pt)}{let Pt=arguments[1];Pt=tn["unsigned long"](Pt,{context:"Failed to execute 'setSelectionRange' on 'HTMLTextAreaElement': parameter 2",globals:Wt});In.push(Pt)}{let Pt=arguments[2];if(Pt!==undefined){Pt=tn["DOMString"](Pt,{context:"Failed to execute 'setSelectionRange' on 'HTMLTextAreaElement': parameter 3",globals:Wt})}In.push(Pt)}return an[dn].setSelectionRange(...In)}get autocomplete(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get autocomplete' called on an object that is not a valid instance of HTMLTextAreaElement.")}rn(Wt);try{const Wt=en[dn]._reflectGetTheContentAttribute("autocomplete");return Wt===null?"":Wt}finally{sn(Wt)}}set autocomplete(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set autocomplete' called on an object that is not a valid instance of HTMLTextAreaElement.")}en=tn["DOMString"](en,{context:"Failed to set the 'autocomplete' property on 'HTMLTextAreaElement': The provided value",globals:Wt});rn(Wt);try{nn[dn]._reflectSetTheContentAttribute("autocomplete",en)}finally{sn(Wt)}}get autofocus(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get autofocus' called on an object that is not a valid instance of HTMLTextAreaElement.")}rn(Wt);try{return en[dn]._reflectGetTheContentAttribute("autofocus")!==null}finally{sn(Wt)}}set autofocus(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set autofocus' called on an object that is not a valid instance of HTMLTextAreaElement.")}en=tn["boolean"](en,{context:"Failed to set the 'autofocus' property on 'HTMLTextAreaElement': The provided value",globals:Wt});rn(Wt);try{if(en){nn[dn]._reflectSetTheContentAttribute("autofocus","")}else{nn[dn]._reflectDeleteTheContentAttribute("autofocus")}}finally{sn(Wt)}}get cols(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get cols' called on an object that is not a valid instance of HTMLTextAreaElement.")}rn(Wt);try{let Wt=en[dn]._reflectGetTheContentAttribute("cols");if(Wt!==null){Wt=on(Wt);if(Wt!==null&&Wt>=1&&Wt<=2147483647){return Wt}}return 20}finally{sn(Wt)}}set cols(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set cols' called on an object that is not a valid instance of HTMLTextAreaElement.")}en=tn["unsigned long"](en,{context:"Failed to set the 'cols' property on 'HTMLTextAreaElement': The provided value",globals:Wt});rn(Wt);try{const Wt=en<=2147483647&&en>=1?en:20;nn[dn]._reflectSetTheContentAttribute("cols",String(Wt))}finally{sn(Wt)}}get dirName(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get dirName' called on an object that is not a valid instance of HTMLTextAreaElement.")}rn(Wt);try{const Wt=en[dn]._reflectGetTheContentAttribute("dirname");return Wt===null?"":Wt}finally{sn(Wt)}}set dirName(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set dirName' called on an object that is not a valid instance of HTMLTextAreaElement.")}en=tn["DOMString"](en,{context:"Failed to set the 'dirName' property on 'HTMLTextAreaElement': The provided value",globals:Wt});rn(Wt);try{nn[dn]._reflectSetTheContentAttribute("dirname",en)}finally{sn(Wt)}}get disabled(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get disabled' called on an object that is not a valid instance of HTMLTextAreaElement.")}rn(Wt);try{return en[dn]._reflectGetTheContentAttribute("disabled")!==null}finally{sn(Wt)}}set disabled(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set disabled' called on an object that is not a valid instance of HTMLTextAreaElement.")}en=tn["boolean"](en,{context:"Failed to set the 'disabled' property on 'HTMLTextAreaElement': The provided value",globals:Wt});rn(Wt);try{if(en){nn[dn]._reflectSetTheContentAttribute("disabled","")}else{nn[dn]._reflectDeleteTheContentAttribute("disabled")}}finally{sn(Wt)}}get form(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get form' called on an object that is not a valid instance of HTMLTextAreaElement.")}return nn.tryWrapperForImpl(en[dn]["form"])}get inputMode(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get inputMode' called on an object that is not a valid instance of HTMLTextAreaElement.")}rn(Wt);try{const Wt=en[dn]._reflectGetTheContentAttribute("inputmode");return Wt===null?"":Wt}finally{sn(Wt)}}set inputMode(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set inputMode' called on an object that is not a valid instance of HTMLTextAreaElement.")}en=tn["DOMString"](en,{context:"Failed to set the 'inputMode' property on 'HTMLTextAreaElement': The provided value",globals:Wt});rn(Wt);try{nn[dn]._reflectSetTheContentAttribute("inputmode",en)}finally{sn(Wt)}}get maxLength(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get maxLength' called on an object that is not a valid instance of HTMLTextAreaElement.")}rn(Wt);try{let Wt=en[dn]._reflectGetTheContentAttribute("maxlength");if(Wt!==null){Wt=on(Wt);if(Wt!==null&&tn.long(Wt)===Wt){return Wt}}return-1}finally{sn(Wt)}}set maxLength(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set maxLength' called on an object that is not a valid instance of HTMLTextAreaElement.")}en=tn["long"](en,{context:"Failed to set the 'maxLength' property on 'HTMLTextAreaElement': The provided value",globals:Wt});rn(Wt);try{if(en<0){throw cn(Wt,[`The negative value ${en} cannot be set for the maxLength property.`,"IndexSizeError"])}nn[dn]._reflectSetTheContentAttribute("maxlength",String(en))}finally{sn(Wt)}}get minLength(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get minLength' called on an object that is not a valid instance of HTMLTextAreaElement.")}rn(Wt);try{let Wt=en[dn]._reflectGetTheContentAttribute("minlength");if(Wt!==null){Wt=on(Wt);if(Wt!==null&&tn.long(Wt)===Wt){return Wt}}return-1}finally{sn(Wt)}}set minLength(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set minLength' called on an object that is not a valid instance of HTMLTextAreaElement.")}en=tn["long"](en,{context:"Failed to set the 'minLength' property on 'HTMLTextAreaElement': The provided value",globals:Wt});rn(Wt);try{if(en<0){throw cn(Wt,[`The negative value ${en} cannot be set for the minLength property.`,"IndexSizeError"])}nn[dn]._reflectSetTheContentAttribute("minlength",String(en))}finally{sn(Wt)}}get name(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get name' called on an object that is not a valid instance of HTMLTextAreaElement.")}rn(Wt);try{const Wt=en[dn]._reflectGetTheContentAttribute("name");return Wt===null?"":Wt}finally{sn(Wt)}}set name(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set name' called on an object that is not a valid instance of HTMLTextAreaElement.")}en=tn["DOMString"](en,{context:"Failed to set the 'name' property on 'HTMLTextAreaElement': The provided value",globals:Wt});rn(Wt);try{nn[dn]._reflectSetTheContentAttribute("name",en)}finally{sn(Wt)}}get placeholder(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get placeholder' called on an object that is not a valid instance of HTMLTextAreaElement.")}rn(Wt);try{const Wt=en[dn]._reflectGetTheContentAttribute("placeholder");return Wt===null?"":Wt}finally{sn(Wt)}}set placeholder(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set placeholder' called on an object that is not a valid instance of HTMLTextAreaElement.")}en=tn["DOMString"](en,{context:"Failed to set the 'placeholder' property on 'HTMLTextAreaElement': The provided value",globals:Wt});rn(Wt);try{nn[dn]._reflectSetTheContentAttribute("placeholder",en)}finally{sn(Wt)}}get readOnly(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get readOnly' called on an object that is not a valid instance of HTMLTextAreaElement.")}rn(Wt);try{return en[dn]._reflectGetTheContentAttribute("readonly")!==null}finally{sn(Wt)}}set readOnly(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set readOnly' called on an object that is not a valid instance of HTMLTextAreaElement.")}en=tn["boolean"](en,{context:"Failed to set the 'readOnly' property on 'HTMLTextAreaElement': The provided value",globals:Wt});rn(Wt);try{if(en){nn[dn]._reflectSetTheContentAttribute("readonly","")}else{nn[dn]._reflectDeleteTheContentAttribute("readonly")}}finally{sn(Wt)}}get required(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get required' called on an object that is not a valid instance of HTMLTextAreaElement.")}rn(Wt);try{return en[dn]._reflectGetTheContentAttribute("required")!==null}finally{sn(Wt)}}set required(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set required' called on an object that is not a valid instance of HTMLTextAreaElement.")}en=tn["boolean"](en,{context:"Failed to set the 'required' property on 'HTMLTextAreaElement': The provided value",globals:Wt});rn(Wt);try{if(en){nn[dn]._reflectSetTheContentAttribute("required","")}else{nn[dn]._reflectDeleteTheContentAttribute("required")}}finally{sn(Wt)}}get rows(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get rows' called on an object that is not a valid instance of HTMLTextAreaElement.")}rn(Wt);try{let Wt=en[dn]._reflectGetTheContentAttribute("rows");if(Wt!==null){Wt=on(Wt);if(Wt!==null&&Wt>=1&&Wt<=2147483647){return Wt}}return 2}finally{sn(Wt)}}set rows(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set rows' called on an object that is not a valid instance of HTMLTextAreaElement.")}en=tn["unsigned long"](en,{context:"Failed to set the 'rows' property on 'HTMLTextAreaElement': The provided value",globals:Wt});rn(Wt);try{const Wt=en<=2147483647&&en>=1?en:2;nn[dn]._reflectSetTheContentAttribute("rows",String(Wt))}finally{sn(Wt)}}get wrap(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get wrap' called on an object that is not a valid instance of HTMLTextAreaElement.")}rn(Wt);try{const Wt=en[dn]._reflectGetTheContentAttribute("wrap");return Wt===null?"":Wt}finally{sn(Wt)}}set wrap(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set wrap' called on an object that is not a valid instance of HTMLTextAreaElement.")}en=tn["DOMString"](en,{context:"Failed to set the 'wrap' property on 'HTMLTextAreaElement': The provided value",globals:Wt});rn(Wt);try{nn[dn]._reflectSetTheContentAttribute("wrap",en)}finally{sn(Wt)}}get type(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get type' called on an object that is not a valid instance of HTMLTextAreaElement.")}return en[dn]["type"]}get defaultValue(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get defaultValue' called on an object that is not a valid instance of HTMLTextAreaElement.")}rn(Wt);try{return en[dn]["defaultValue"]}finally{sn(Wt)}}set defaultValue(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set defaultValue' called on an object that is not a valid instance of HTMLTextAreaElement.")}en=tn["DOMString"](en,{context:"Failed to set the 'defaultValue' property on 'HTMLTextAreaElement': The provided value",globals:Wt});rn(Wt);try{nn[dn]["defaultValue"]=en}finally{sn(Wt)}}get value(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get value' called on an object that is not a valid instance of HTMLTextAreaElement.")}rn(Wt);try{return en[dn]["value"]}finally{sn(Wt)}}set value(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set value' called on an object that is not a valid instance of HTMLTextAreaElement.")}en=tn["DOMString"](en,{context:"Failed to set the 'value' property on 'HTMLTextAreaElement': The provided value",globals:Wt,treatNullAsEmptyString:true});rn(Wt);try{nn[dn]["value"]=en}finally{sn(Wt)}}get textLength(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get textLength' called on an object that is not a valid instance of HTMLTextAreaElement.")}return en[dn]["textLength"]}get willValidate(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get willValidate' called on an object that is not a valid instance of HTMLTextAreaElement.")}return en[dn]["willValidate"]}get validity(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get validity' called on an object that is not a valid instance of HTMLTextAreaElement.")}return nn.tryWrapperForImpl(en[dn]["validity"])}get validationMessage(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get validationMessage' called on an object that is not a valid instance of HTMLTextAreaElement.")}return en[dn]["validationMessage"]}get labels(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get labels' called on an object that is not a valid instance of HTMLTextAreaElement.")}return nn.tryWrapperForImpl(en[dn]["labels"])}get selectionStart(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get selectionStart' called on an object that is not a valid instance of HTMLTextAreaElement.")}return en[dn]["selectionStart"]}set selectionStart(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set selectionStart' called on an object that is not a valid instance of HTMLTextAreaElement.")}en=tn["unsigned long"](en,{context:"Failed to set the 'selectionStart' property on 'HTMLTextAreaElement': The provided value",globals:Wt});nn[dn]["selectionStart"]=en}get selectionEnd(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get selectionEnd' called on an object that is not a valid instance of HTMLTextAreaElement.")}return en[dn]["selectionEnd"]}set selectionEnd(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set selectionEnd' called on an object that is not a valid instance of HTMLTextAreaElement.")}en=tn["unsigned long"](en,{context:"Failed to set the 'selectionEnd' property on 'HTMLTextAreaElement': The provided value",globals:Wt});nn[dn]["selectionEnd"]=en}get selectionDirection(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get selectionDirection' called on an object that is not a valid instance of HTMLTextAreaElement.")}return en[dn]["selectionDirection"]}set selectionDirection(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set selectionDirection' called on an object that is not a valid instance of HTMLTextAreaElement.")}en=tn["DOMString"](en,{context:"Failed to set the 'selectionDirection' property on 'HTMLTextAreaElement': The provided value",globals:Wt});nn[dn]["selectionDirection"]=en}}Object.defineProperties(HTMLTextAreaElement.prototype,{checkValidity:{enumerable:true},reportValidity:{enumerable:true},setCustomValidity:{enumerable:true},select:{enumerable:true},setRangeText:{enumerable:true},setSelectionRange:{enumerable:true},autocomplete:{enumerable:true},autofocus:{enumerable:true},cols:{enumerable:true},dirName:{enumerable:true},disabled:{enumerable:true},form:{enumerable:true},inputMode:{enumerable:true},maxLength:{enumerable:true},minLength:{enumerable:true},name:{enumerable:true},placeholder:{enumerable:true},readOnly:{enumerable:true},required:{enumerable:true},rows:{enumerable:true},wrap:{enumerable:true},type:{enumerable:true},defaultValue:{enumerable:true},value:{enumerable:true},textLength:{enumerable:true},willValidate:{enumerable:true},validity:{enumerable:true},validationMessage:{enumerable:true},labels:{enumerable:true},selectionStart:{enumerable:true},selectionEnd:{enumerable:true},selectionDirection:{enumerable:true},[Symbol.toStringTag]:{value:"HTMLTextAreaElement",configurable:true}});un[mn]=HTMLTextAreaElement;Object.defineProperty(Wt,mn,{configurable:true,writable:true,value:HTMLTextAreaElement})};const Gn=en(46285)},67099:(Wt,Pt,en)=>{const tn=en(37125);const nn=en(87094);const an=en(84175).HTMLConstructor;const In=en(8348).ceReactionsPreSteps;const rn=en(8348).ceReactionsPostSteps;const sn=nn.implSymbol;const on=nn.ctorRegistrySymbol;const cn=en(48708);const dn="HTMLTimeElement";Pt.is=Wt=>nn.isObject(Wt)&&nn.hasOwn(Wt,sn)&&Wt[sn]instanceof pn.implementation;Pt.isImpl=Wt=>nn.isObject(Wt)&&Wt instanceof pn.implementation;Pt.convert=(Wt,en,{context:tn="The provided value"}={})=>{if(Pt.is(en)){return nn.implForWrapper(en)}throw new Wt.TypeError(`${tn} is not of type 'HTMLTimeElement'.`)};function makeWrapper(Wt,Pt){let en;if(Pt!==undefined){en=Pt.prototype}if(!nn.isObject(en)){en=Wt[on]["HTMLTimeElement"].prototype}return Object.create(en)}Pt.create=(Wt,en,tn)=>{const nn=makeWrapper(Wt);return Pt.setup(nn,Wt,en,tn)};Pt.createImpl=(Wt,en,tn)=>{const an=Pt.create(Wt,en,tn);return nn.implForWrapper(an)};Pt._internalSetup=(Wt,Pt)=>{cn._internalSetup(Wt,Pt)};Pt.setup=(Wt,en,tn=[],an={})=>{an.wrapper=Wt;Pt._internalSetup(Wt,en);Object.defineProperty(Wt,sn,{value:new pn.implementation(en,tn,an),configurable:true});Wt[sn][nn.wrapperSymbol]=Wt;if(pn.init){pn.init(Wt[sn])}return Wt};Pt["new"]=(Wt,en)=>{const tn=makeWrapper(Wt,en);Pt._internalSetup(tn,Wt);Object.defineProperty(tn,sn,{value:Object.create(pn.implementation.prototype),configurable:true});tn[sn][nn.wrapperSymbol]=tn;if(pn.init){pn.init(tn[sn])}return tn[sn]};const un=new Set(["Window"]);Pt.install=(Wt,en)=>{if(!en.some((Wt=>un.has(Wt)))){return}const on=nn.initCtorRegistry(Wt);class HTMLTimeElement extends Wt.HTMLElement{constructor(){return an(Wt,dn,new.target)}get dateTime(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get dateTime' called on an object that is not a valid instance of HTMLTimeElement.")}In(Wt);try{const Wt=en[sn]._reflectGetTheContentAttribute("datetime");return Wt===null?"":Wt}finally{rn(Wt)}}set dateTime(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set dateTime' called on an object that is not a valid instance of HTMLTimeElement.")}en=tn["DOMString"](en,{context:"Failed to set the 'dateTime' property on 'HTMLTimeElement': The provided value",globals:Wt});In(Wt);try{nn[sn]._reflectSetTheContentAttribute("datetime",en)}finally{rn(Wt)}}}Object.defineProperties(HTMLTimeElement.prototype,{dateTime:{enumerable:true},[Symbol.toStringTag]:{value:"HTMLTimeElement",configurable:true}});on[dn]=HTMLTimeElement;Object.defineProperty(Wt,dn,{configurable:true,writable:true,value:HTMLTimeElement})};const pn=en(81914)},84584:(Wt,Pt,en)=>{const tn=en(37125);const nn=en(87094);const an=en(84175).HTMLConstructor;const In=en(8348).ceReactionsPreSteps;const rn=en(8348).ceReactionsPostSteps;const sn=nn.implSymbol;const on=nn.ctorRegistrySymbol;const cn=en(48708);const dn="HTMLTitleElement";Pt.is=Wt=>nn.isObject(Wt)&&nn.hasOwn(Wt,sn)&&Wt[sn]instanceof pn.implementation;Pt.isImpl=Wt=>nn.isObject(Wt)&&Wt instanceof pn.implementation;Pt.convert=(Wt,en,{context:tn="The provided value"}={})=>{if(Pt.is(en)){return nn.implForWrapper(en)}throw new Wt.TypeError(`${tn} is not of type 'HTMLTitleElement'.`)};function makeWrapper(Wt,Pt){let en;if(Pt!==undefined){en=Pt.prototype}if(!nn.isObject(en)){en=Wt[on]["HTMLTitleElement"].prototype}return Object.create(en)}Pt.create=(Wt,en,tn)=>{const nn=makeWrapper(Wt);return Pt.setup(nn,Wt,en,tn)};Pt.createImpl=(Wt,en,tn)=>{const an=Pt.create(Wt,en,tn);return nn.implForWrapper(an)};Pt._internalSetup=(Wt,Pt)=>{cn._internalSetup(Wt,Pt)};Pt.setup=(Wt,en,tn=[],an={})=>{an.wrapper=Wt;Pt._internalSetup(Wt,en);Object.defineProperty(Wt,sn,{value:new pn.implementation(en,tn,an),configurable:true});Wt[sn][nn.wrapperSymbol]=Wt;if(pn.init){pn.init(Wt[sn])}return Wt};Pt["new"]=(Wt,en)=>{const tn=makeWrapper(Wt,en);Pt._internalSetup(tn,Wt);Object.defineProperty(tn,sn,{value:Object.create(pn.implementation.prototype),configurable:true});tn[sn][nn.wrapperSymbol]=tn;if(pn.init){pn.init(tn[sn])}return tn[sn]};const un=new Set(["Window"]);Pt.install=(Wt,en)=>{if(!en.some((Wt=>un.has(Wt)))){return}const on=nn.initCtorRegistry(Wt);class HTMLTitleElement extends Wt.HTMLElement{constructor(){return an(Wt,dn,new.target)}get text(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get text' called on an object that is not a valid instance of HTMLTitleElement.")}In(Wt);try{return en[sn]["text"]}finally{rn(Wt)}}set text(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set text' called on an object that is not a valid instance of HTMLTitleElement.")}en=tn["DOMString"](en,{context:"Failed to set the 'text' property on 'HTMLTitleElement': The provided value",globals:Wt});In(Wt);try{nn[sn]["text"]=en}finally{rn(Wt)}}}Object.defineProperties(HTMLTitleElement.prototype,{text:{enumerable:true},[Symbol.toStringTag]:{value:"HTMLTitleElement",configurable:true}});on[dn]=HTMLTitleElement;Object.defineProperty(Wt,dn,{configurable:true,writable:true,value:HTMLTitleElement})};const pn=en(93891)},74203:(Wt,Pt,en)=>{const tn=en(37125);const nn=en(87094);const an=en(84175).HTMLConstructor;const In=en(8348).ceReactionsPreSteps;const rn=en(8348).ceReactionsPostSteps;const sn=en(30962).parseURLToResultingURLRecord;const on=en(78012).serializeURL;const cn=nn.implSymbol;const dn=nn.ctorRegistrySymbol;const un=en(48708);const pn="HTMLTrackElement";Pt.is=Wt=>nn.isObject(Wt)&&nn.hasOwn(Wt,cn)&&Wt[cn]instanceof bn.implementation;Pt.isImpl=Wt=>nn.isObject(Wt)&&Wt instanceof bn.implementation;Pt.convert=(Wt,en,{context:tn="The provided value"}={})=>{if(Pt.is(en)){return nn.implForWrapper(en)}throw new Wt.TypeError(`${tn} is not of type 'HTMLTrackElement'.`)};function makeWrapper(Wt,Pt){let en;if(Pt!==undefined){en=Pt.prototype}if(!nn.isObject(en)){en=Wt[dn]["HTMLTrackElement"].prototype}return Object.create(en)}Pt.create=(Wt,en,tn)=>{const nn=makeWrapper(Wt);return Pt.setup(nn,Wt,en,tn)};Pt.createImpl=(Wt,en,tn)=>{const an=Pt.create(Wt,en,tn);return nn.implForWrapper(an)};Pt._internalSetup=(Wt,Pt)=>{un._internalSetup(Wt,Pt)};Pt.setup=(Wt,en,tn=[],an={})=>{an.wrapper=Wt;Pt._internalSetup(Wt,en);Object.defineProperty(Wt,cn,{value:new bn.implementation(en,tn,an),configurable:true});Wt[cn][nn.wrapperSymbol]=Wt;if(bn.init){bn.init(Wt[cn])}return Wt};Pt["new"]=(Wt,en)=>{const tn=makeWrapper(Wt,en);Pt._internalSetup(tn,Wt);Object.defineProperty(tn,cn,{value:Object.create(bn.implementation.prototype),configurable:true});tn[cn][nn.wrapperSymbol]=tn;if(bn.init){bn.init(tn[cn])}return tn[cn]};const mn=new Set(["Window"]);Pt.install=(Wt,en)=>{if(!en.some((Wt=>mn.has(Wt)))){return}const dn=nn.initCtorRegistry(Wt);class HTMLTrackElement extends Wt.HTMLElement{constructor(){return an(Wt,pn,new.target)}get kind(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get kind' called on an object that is not a valid instance of HTMLTrackElement.")}In(Wt);try{const Wt=en[cn]._reflectGetTheContentAttribute("kind");return Wt===null?"":Wt}finally{rn(Wt)}}set kind(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set kind' called on an object that is not a valid instance of HTMLTrackElement.")}en=tn["DOMString"](en,{context:"Failed to set the 'kind' property on 'HTMLTrackElement': The provided value",globals:Wt});In(Wt);try{nn[cn]._reflectSetTheContentAttribute("kind",en)}finally{rn(Wt)}}get src(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get src' called on an object that is not a valid instance of HTMLTrackElement.")}In(Wt);try{const Wt=en[cn]._reflectGetTheContentAttribute("src");if(Wt===null){return""}const Pt=sn(Wt,en[cn]._ownerDocument);if(Pt!==null){return on(Pt)}return tn.USVString(Wt)}finally{rn(Wt)}}set src(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set src' called on an object that is not a valid instance of HTMLTrackElement.")}en=tn["USVString"](en,{context:"Failed to set the 'src' property on 'HTMLTrackElement': The provided value",globals:Wt});In(Wt);try{nn[cn]._reflectSetTheContentAttribute("src",en)}finally{rn(Wt)}}get srclang(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get srclang' called on an object that is not a valid instance of HTMLTrackElement.")}In(Wt);try{const Wt=en[cn]._reflectGetTheContentAttribute("srclang");return Wt===null?"":Wt}finally{rn(Wt)}}set srclang(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set srclang' called on an object that is not a valid instance of HTMLTrackElement.")}en=tn["DOMString"](en,{context:"Failed to set the 'srclang' property on 'HTMLTrackElement': The provided value",globals:Wt});In(Wt);try{nn[cn]._reflectSetTheContentAttribute("srclang",en)}finally{rn(Wt)}}get label(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get label' called on an object that is not a valid instance of HTMLTrackElement.")}In(Wt);try{const Wt=en[cn]._reflectGetTheContentAttribute("label");return Wt===null?"":Wt}finally{rn(Wt)}}set label(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set label' called on an object that is not a valid instance of HTMLTrackElement.")}en=tn["DOMString"](en,{context:"Failed to set the 'label' property on 'HTMLTrackElement': The provided value",globals:Wt});In(Wt);try{nn[cn]._reflectSetTheContentAttribute("label",en)}finally{rn(Wt)}}get default(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get default' called on an object that is not a valid instance of HTMLTrackElement.")}In(Wt);try{return en[cn]._reflectGetTheContentAttribute("default")!==null}finally{rn(Wt)}}set default(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set default' called on an object that is not a valid instance of HTMLTrackElement.")}en=tn["boolean"](en,{context:"Failed to set the 'default' property on 'HTMLTrackElement': The provided value",globals:Wt});In(Wt);try{if(en){nn[cn]._reflectSetTheContentAttribute("default","")}else{nn[cn]._reflectDeleteTheContentAttribute("default")}}finally{rn(Wt)}}get readyState(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get readyState' called on an object that is not a valid instance of HTMLTrackElement.")}return en[cn]["readyState"]}}Object.defineProperties(HTMLTrackElement.prototype,{kind:{enumerable:true},src:{enumerable:true},srclang:{enumerable:true},label:{enumerable:true},default:{enumerable:true},readyState:{enumerable:true},[Symbol.toStringTag]:{value:"HTMLTrackElement",configurable:true},NONE:{value:0,enumerable:true},LOADING:{value:1,enumerable:true},LOADED:{value:2,enumerable:true},ERROR:{value:3,enumerable:true}});Object.defineProperties(HTMLTrackElement,{NONE:{value:0,enumerable:true},LOADING:{value:1,enumerable:true},LOADED:{value:2,enumerable:true},ERROR:{value:3,enumerable:true}});dn[pn]=HTMLTrackElement;Object.defineProperty(Wt,pn,{configurable:true,writable:true,value:HTMLTrackElement})};const bn=en(55266)},55295:(Wt,Pt,en)=>{const tn=en(37125);const nn=en(87094);const an=en(84175).HTMLConstructor;const In=en(8348).ceReactionsPreSteps;const rn=en(8348).ceReactionsPostSteps;const sn=nn.implSymbol;const on=nn.ctorRegistrySymbol;const cn=en(48708);const dn="HTMLUListElement";Pt.is=Wt=>nn.isObject(Wt)&&nn.hasOwn(Wt,sn)&&Wt[sn]instanceof pn.implementation;Pt.isImpl=Wt=>nn.isObject(Wt)&&Wt instanceof pn.implementation;Pt.convert=(Wt,en,{context:tn="The provided value"}={})=>{if(Pt.is(en)){return nn.implForWrapper(en)}throw new Wt.TypeError(`${tn} is not of type 'HTMLUListElement'.`)};function makeWrapper(Wt,Pt){let en;if(Pt!==undefined){en=Pt.prototype}if(!nn.isObject(en)){en=Wt[on]["HTMLUListElement"].prototype}return Object.create(en)}Pt.create=(Wt,en,tn)=>{const nn=makeWrapper(Wt);return Pt.setup(nn,Wt,en,tn)};Pt.createImpl=(Wt,en,tn)=>{const an=Pt.create(Wt,en,tn);return nn.implForWrapper(an)};Pt._internalSetup=(Wt,Pt)=>{cn._internalSetup(Wt,Pt)};Pt.setup=(Wt,en,tn=[],an={})=>{an.wrapper=Wt;Pt._internalSetup(Wt,en);Object.defineProperty(Wt,sn,{value:new pn.implementation(en,tn,an),configurable:true});Wt[sn][nn.wrapperSymbol]=Wt;if(pn.init){pn.init(Wt[sn])}return Wt};Pt["new"]=(Wt,en)=>{const tn=makeWrapper(Wt,en);Pt._internalSetup(tn,Wt);Object.defineProperty(tn,sn,{value:Object.create(pn.implementation.prototype),configurable:true});tn[sn][nn.wrapperSymbol]=tn;if(pn.init){pn.init(tn[sn])}return tn[sn]};const un=new Set(["Window"]);Pt.install=(Wt,en)=>{if(!en.some((Wt=>un.has(Wt)))){return}const on=nn.initCtorRegistry(Wt);class HTMLUListElement extends Wt.HTMLElement{constructor(){return an(Wt,dn,new.target)}get compact(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get compact' called on an object that is not a valid instance of HTMLUListElement.")}In(Wt);try{return en[sn]._reflectGetTheContentAttribute("compact")!==null}finally{rn(Wt)}}set compact(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set compact' called on an object that is not a valid instance of HTMLUListElement.")}en=tn["boolean"](en,{context:"Failed to set the 'compact' property on 'HTMLUListElement': The provided value",globals:Wt});In(Wt);try{if(en){nn[sn]._reflectSetTheContentAttribute("compact","")}else{nn[sn]._reflectDeleteTheContentAttribute("compact")}}finally{rn(Wt)}}get type(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get type' called on an object that is not a valid instance of HTMLUListElement.")}In(Wt);try{const Wt=en[sn]._reflectGetTheContentAttribute("type");return Wt===null?"":Wt}finally{rn(Wt)}}set type(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set type' called on an object that is not a valid instance of HTMLUListElement.")}en=tn["DOMString"](en,{context:"Failed to set the 'type' property on 'HTMLUListElement': The provided value",globals:Wt});In(Wt);try{nn[sn]._reflectSetTheContentAttribute("type",en)}finally{rn(Wt)}}}Object.defineProperties(HTMLUListElement.prototype,{compact:{enumerable:true},type:{enumerable:true},[Symbol.toStringTag]:{value:"HTMLUListElement",configurable:true}});on[dn]=HTMLUListElement;Object.defineProperty(Wt,dn,{configurable:true,writable:true,value:HTMLUListElement})};const pn=en(63174)},76312:(Wt,Pt,en)=>{const tn=en(37125);const nn=en(87094);const an=nn.implSymbol;const In=nn.ctorRegistrySymbol;const rn=en(48708);const sn="HTMLUnknownElement";Pt.is=Wt=>nn.isObject(Wt)&&nn.hasOwn(Wt,an)&&Wt[an]instanceof cn.implementation;Pt.isImpl=Wt=>nn.isObject(Wt)&&Wt instanceof cn.implementation;Pt.convert=(Wt,en,{context:tn="The provided value"}={})=>{if(Pt.is(en)){return nn.implForWrapper(en)}throw new Wt.TypeError(`${tn} is not of type 'HTMLUnknownElement'.`)};function makeWrapper(Wt,Pt){let en;if(Pt!==undefined){en=Pt.prototype}if(!nn.isObject(en)){en=Wt[In]["HTMLUnknownElement"].prototype}return Object.create(en)}Pt.create=(Wt,en,tn)=>{const nn=makeWrapper(Wt);return Pt.setup(nn,Wt,en,tn)};Pt.createImpl=(Wt,en,tn)=>{const an=Pt.create(Wt,en,tn);return nn.implForWrapper(an)};Pt._internalSetup=(Wt,Pt)=>{rn._internalSetup(Wt,Pt)};Pt.setup=(Wt,en,tn=[],In={})=>{In.wrapper=Wt;Pt._internalSetup(Wt,en);Object.defineProperty(Wt,an,{value:new cn.implementation(en,tn,In),configurable:true});Wt[an][nn.wrapperSymbol]=Wt;if(cn.init){cn.init(Wt[an])}return Wt};Pt["new"]=(Wt,en)=>{const tn=makeWrapper(Wt,en);Pt._internalSetup(tn,Wt);Object.defineProperty(tn,an,{value:Object.create(cn.implementation.prototype),configurable:true});tn[an][nn.wrapperSymbol]=tn;if(cn.init){cn.init(tn[an])}return tn[an]};const on=new Set(["Window"]);Pt.install=(Wt,Pt)=>{if(!Pt.some((Wt=>on.has(Wt)))){return}const en=nn.initCtorRegistry(Wt);class HTMLUnknownElement extends Wt.HTMLElement{constructor(){throw new Wt.TypeError("Illegal constructor")}}Object.defineProperties(HTMLUnknownElement.prototype,{[Symbol.toStringTag]:{value:"HTMLUnknownElement",configurable:true}});en[sn]=HTMLUnknownElement;Object.defineProperty(Wt,sn,{configurable:true,writable:true,value:HTMLUnknownElement})};const cn=en(64675)},10915:(Wt,Pt,en)=>{const tn=en(37125);const nn=en(87094);const an=en(84175).HTMLConstructor;const In=en(97205).parseNonNegativeInteger;const rn=en(8348).ceReactionsPreSteps;const sn=en(8348).ceReactionsPostSteps;const on=en(30962).parseURLToResultingURLRecord;const cn=en(78012).serializeURL;const dn=nn.implSymbol;const un=nn.ctorRegistrySymbol;const pn=en(1366);const mn="HTMLVideoElement";Pt.is=Wt=>nn.isObject(Wt)&&nn.hasOwn(Wt,dn)&&Wt[dn]instanceof Gn.implementation;Pt.isImpl=Wt=>nn.isObject(Wt)&&Wt instanceof Gn.implementation;Pt.convert=(Wt,en,{context:tn="The provided value"}={})=>{if(Pt.is(en)){return nn.implForWrapper(en)}throw new Wt.TypeError(`${tn} is not of type 'HTMLVideoElement'.`)};function makeWrapper(Wt,Pt){let en;if(Pt!==undefined){en=Pt.prototype}if(!nn.isObject(en)){en=Wt[un]["HTMLVideoElement"].prototype}return Object.create(en)}Pt.create=(Wt,en,tn)=>{const nn=makeWrapper(Wt);return Pt.setup(nn,Wt,en,tn)};Pt.createImpl=(Wt,en,tn)=>{const an=Pt.create(Wt,en,tn);return nn.implForWrapper(an)};Pt._internalSetup=(Wt,Pt)=>{pn._internalSetup(Wt,Pt)};Pt.setup=(Wt,en,tn=[],an={})=>{an.wrapper=Wt;Pt._internalSetup(Wt,en);Object.defineProperty(Wt,dn,{value:new Gn.implementation(en,tn,an),configurable:true});Wt[dn][nn.wrapperSymbol]=Wt;if(Gn.init){Gn.init(Wt[dn])}return Wt};Pt["new"]=(Wt,en)=>{const tn=makeWrapper(Wt,en);Pt._internalSetup(tn,Wt);Object.defineProperty(tn,dn,{value:Object.create(Gn.implementation.prototype),configurable:true});tn[dn][nn.wrapperSymbol]=tn;if(Gn.init){Gn.init(tn[dn])}return tn[dn]};const bn=new Set(["Window"]);Pt.install=(Wt,en)=>{if(!en.some((Wt=>bn.has(Wt)))){return}const un=nn.initCtorRegistry(Wt);class HTMLVideoElement extends Wt.HTMLMediaElement{constructor(){return an(Wt,mn,new.target)}get width(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get width' called on an object that is not a valid instance of HTMLVideoElement.")}rn(Wt);try{let Wt=en[dn]._reflectGetTheContentAttribute("width");if(Wt!==null){Wt=In(Wt);if(Wt!==null&&Wt>=0&&Wt<=2147483647){return Wt}}return 0}finally{sn(Wt)}}set width(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set width' called on an object that is not a valid instance of HTMLVideoElement.")}en=tn["unsigned long"](en,{context:"Failed to set the 'width' property on 'HTMLVideoElement': The provided value",globals:Wt});rn(Wt);try{const Wt=en<=2147483647&&en>=0?en:0;nn[dn]._reflectSetTheContentAttribute("width",String(Wt))}finally{sn(Wt)}}get height(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get height' called on an object that is not a valid instance of HTMLVideoElement.")}rn(Wt);try{let Wt=en[dn]._reflectGetTheContentAttribute("height");if(Wt!==null){Wt=In(Wt);if(Wt!==null&&Wt>=0&&Wt<=2147483647){return Wt}}return 0}finally{sn(Wt)}}set height(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set height' called on an object that is not a valid instance of HTMLVideoElement.")}en=tn["unsigned long"](en,{context:"Failed to set the 'height' property on 'HTMLVideoElement': The provided value",globals:Wt});rn(Wt);try{const Wt=en<=2147483647&&en>=0?en:0;nn[dn]._reflectSetTheContentAttribute("height",String(Wt))}finally{sn(Wt)}}get videoWidth(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get videoWidth' called on an object that is not a valid instance of HTMLVideoElement.")}return en[dn]["videoWidth"]}get videoHeight(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get videoHeight' called on an object that is not a valid instance of HTMLVideoElement.")}return en[dn]["videoHeight"]}get poster(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get poster' called on an object that is not a valid instance of HTMLVideoElement.")}rn(Wt);try{const Wt=en[dn]._reflectGetTheContentAttribute("poster");if(Wt===null){return""}const Pt=on(Wt,en[dn]._ownerDocument);if(Pt!==null){return cn(Pt)}return tn.USVString(Wt)}finally{sn(Wt)}}set poster(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set poster' called on an object that is not a valid instance of HTMLVideoElement.")}en=tn["USVString"](en,{context:"Failed to set the 'poster' property on 'HTMLVideoElement': The provided value",globals:Wt});rn(Wt);try{nn[dn]._reflectSetTheContentAttribute("poster",en)}finally{sn(Wt)}}get playsInline(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get playsInline' called on an object that is not a valid instance of HTMLVideoElement.")}rn(Wt);try{return en[dn]._reflectGetTheContentAttribute("playsinline")!==null}finally{sn(Wt)}}set playsInline(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set playsInline' called on an object that is not a valid instance of HTMLVideoElement.")}en=tn["boolean"](en,{context:"Failed to set the 'playsInline' property on 'HTMLVideoElement': The provided value",globals:Wt});rn(Wt);try{if(en){nn[dn]._reflectSetTheContentAttribute("playsinline","")}else{nn[dn]._reflectDeleteTheContentAttribute("playsinline")}}finally{sn(Wt)}}}Object.defineProperties(HTMLVideoElement.prototype,{width:{enumerable:true},height:{enumerable:true},videoWidth:{enumerable:true},videoHeight:{enumerable:true},poster:{enumerable:true},playsInline:{enumerable:true},[Symbol.toStringTag]:{value:"HTMLVideoElement",configurable:true}});un[mn]=HTMLVideoElement;Object.defineProperty(Wt,mn,{configurable:true,writable:true,value:HTMLVideoElement})};const Gn=en(2242)},90863:(Wt,Pt,en)=>{const tn=en(37125);const nn=en(87094);const an=en(57061);const In=nn.implSymbol;const rn=nn.ctorRegistrySymbol;const sn=en(94431);const on="HashChangeEvent";Pt.is=Wt=>nn.isObject(Wt)&&nn.hasOwn(Wt,In)&&Wt[In]instanceof dn.implementation;Pt.isImpl=Wt=>nn.isObject(Wt)&&Wt instanceof dn.implementation;Pt.convert=(Wt,en,{context:tn="The provided value"}={})=>{if(Pt.is(en)){return nn.implForWrapper(en)}throw new Wt.TypeError(`${tn} is not of type 'HashChangeEvent'.`)};function makeWrapper(Wt,Pt){let en;if(Pt!==undefined){en=Pt.prototype}if(!nn.isObject(en)){en=Wt[rn]["HashChangeEvent"].prototype}return Object.create(en)}Pt.create=(Wt,en,tn)=>{const nn=makeWrapper(Wt);return Pt.setup(nn,Wt,en,tn)};Pt.createImpl=(Wt,en,tn)=>{const an=Pt.create(Wt,en,tn);return nn.implForWrapper(an)};Pt._internalSetup=(Wt,Pt)=>{sn._internalSetup(Wt,Pt)};Pt.setup=(Wt,en,tn=[],an={})=>{an.wrapper=Wt;Pt._internalSetup(Wt,en);Object.defineProperty(Wt,In,{value:new dn.implementation(en,tn,an),configurable:true});Wt[In][nn.wrapperSymbol]=Wt;if(dn.init){dn.init(Wt[In])}return Wt};Pt["new"]=(Wt,en)=>{const tn=makeWrapper(Wt,en);Pt._internalSetup(tn,Wt);Object.defineProperty(tn,In,{value:Object.create(dn.implementation.prototype),configurable:true});tn[In][nn.wrapperSymbol]=tn;if(dn.init){dn.init(tn[In])}return tn[In]};const cn=new Set(["Window"]);Pt.install=(Wt,en)=>{if(!en.some((Wt=>cn.has(Wt)))){return}const rn=nn.initCtorRegistry(Wt);class HashChangeEvent extends Wt.Event{constructor(en){if(arguments.length<1){throw new Wt.TypeError(`Failed to construct 'HashChangeEvent': 1 argument required, but only ${arguments.length} present.`)}const nn=[];{let Pt=arguments[0];Pt=tn["DOMString"](Pt,{context:"Failed to construct 'HashChangeEvent': parameter 1",globals:Wt});nn.push(Pt)}{let Pt=arguments[1];Pt=an.convert(Wt,Pt,{context:"Failed to construct 'HashChangeEvent': parameter 2"});nn.push(Pt)}return Pt.setup(Object.create(new.target.prototype),Wt,nn)}get oldURL(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get oldURL' called on an object that is not a valid instance of HashChangeEvent.")}return en[In]["oldURL"]}get newURL(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get newURL' called on an object that is not a valid instance of HashChangeEvent.")}return en[In]["newURL"]}}Object.defineProperties(HashChangeEvent.prototype,{oldURL:{enumerable:true},newURL:{enumerable:true},[Symbol.toStringTag]:{value:"HashChangeEvent",configurable:true}});rn[on]=HashChangeEvent;Object.defineProperty(Wt,on,{configurable:true,writable:true,value:HashChangeEvent})};const dn=en(44694)},57061:(Wt,Pt,en)=>{const tn=en(37125);const nn=en(87094);const an=en(31893);Pt._convertInherit=(Wt,Pt,en,{context:nn="The provided value"}={})=>{an._convertInherit(Wt,Pt,en,{context:nn});{const an="newURL";let In=Pt===undefined||Pt===null?undefined:Pt[an];if(In!==undefined){In=tn["USVString"](In,{context:nn+" has member 'newURL' that",globals:Wt});en[an]=In}else{en[an]=""}}{const an="oldURL";let In=Pt===undefined||Pt===null?undefined:Pt[an];if(In!==undefined){In=tn["USVString"](In,{context:nn+" has member 'oldURL' that",globals:Wt});en[an]=In}else{en[an]=""}}};Pt.convert=(Wt,en,{context:tn="The provided value"}={})=>{if(en!==undefined&&typeof en!=="object"&&typeof en!=="function"){throw new Wt.TypeError(`${tn} is not an object.`)}const nn=Object.create(null);Pt._convertInherit(Wt,en,nn,{context:tn});return nn}},16605:(Wt,Pt,en)=>{const tn=en(37125);const nn=en(87094);const an=en(25295);const In=nn.newObjectInRealm;const rn=nn.implSymbol;const sn=nn.ctorRegistrySymbol;const on="Headers";Pt.is=Wt=>nn.isObject(Wt)&&nn.hasOwn(Wt,rn)&&Wt[rn]instanceof dn.implementation;Pt.isImpl=Wt=>nn.isObject(Wt)&&Wt instanceof dn.implementation;Pt.convert=(Wt,en,{context:tn="The provided value"}={})=>{if(Pt.is(en)){return nn.implForWrapper(en)}throw new Wt.TypeError(`${tn} is not of type 'Headers'.`)};Pt.createDefaultIterator=(Wt,Pt,en)=>{const tn=Wt[sn];const an=tn["Headers Iterator"];const In=Object.create(an);Object.defineProperty(In,nn.iterInternalSymbol,{value:{target:Pt,kind:en,index:0},configurable:true});return In};function makeWrapper(Wt,Pt){let en;if(Pt!==undefined){en=Pt.prototype}if(!nn.isObject(en)){en=Wt[sn]["Headers"].prototype}return Object.create(en)}Pt.create=(Wt,en,tn)=>{const nn=makeWrapper(Wt);return Pt.setup(nn,Wt,en,tn)};Pt.createImpl=(Wt,en,tn)=>{const an=Pt.create(Wt,en,tn);return nn.implForWrapper(an)};Pt._internalSetup=(Wt,Pt)=>{};Pt.setup=(Wt,en,tn=[],an={})=>{an.wrapper=Wt;Pt._internalSetup(Wt,en);Object.defineProperty(Wt,rn,{value:new dn.implementation(en,tn,an),configurable:true});Wt[rn][nn.wrapperSymbol]=Wt;if(dn.init){dn.init(Wt[rn])}return Wt};Pt["new"]=(Wt,en)=>{const tn=makeWrapper(Wt,en);Pt._internalSetup(tn,Wt);Object.defineProperty(tn,rn,{value:Object.create(dn.implementation.prototype),configurable:true});tn[rn][nn.wrapperSymbol]=tn;if(dn.init){dn.init(tn[rn])}return tn[rn]};const cn=new Set(["Window","Worker"]);Pt.install=(Wt,en)=>{if(!en.some((Wt=>cn.has(Wt)))){return}const sn=nn.initCtorRegistry(Wt);class Headers{constructor(){const en=[];{let Pt=arguments[0];if(Pt!==undefined){if(nn.isObject(Pt)){if(Pt[Symbol.iterator]!==undefined){if(!nn.isObject(Pt)){throw new Wt.TypeError("Failed to construct 'Headers': parameter 1"+" sequence"+" is not an iterable object.")}else{const en=[];const an=Pt;for(let Pt of an){if(!nn.isObject(Pt)){throw new Wt.TypeError("Failed to construct 'Headers': parameter 1"+" sequence"+"'s element"+" is not an iterable object.")}else{const en=[];const nn=Pt;for(let Pt of nn){Pt=tn["ByteString"](Pt,{context:"Failed to construct 'Headers': parameter 1"+" sequence"+"'s element"+"'s element",globals:Wt});en.push(Pt)}Pt=en}en.push(Pt)}Pt=en}}else{if(!nn.isObject(Pt)){throw new Wt.TypeError("Failed to construct 'Headers': parameter 1"+" record"+" is not an object.")}else{const en=Object.create(null);for(const nn of Reflect.ownKeys(Pt)){const an=Object.getOwnPropertyDescriptor(Pt,nn);if(an&&an.enumerable){let an=nn;an=tn["ByteString"](an,{context:"Failed to construct 'Headers': parameter 1"+" record"+"'s key",globals:Wt});let In=Pt[nn];In=tn["ByteString"](In,{context:"Failed to construct 'Headers': parameter 1"+" record"+"'s value",globals:Wt});en[an]=In}}Pt=en}}}else{throw new Wt.TypeError("Failed to construct 'Headers': parameter 1"+" is not of any supported type.")}}en.push(Pt)}return Pt.setup(Object.create(new.target.prototype),Wt,en)}append(en,nn){const an=this!==null&&this!==undefined?this:Wt;if(!Pt.is(an)){throw new Wt.TypeError("'append' called on an object that is not a valid instance of Headers.")}if(arguments.length<2){throw new Wt.TypeError(`Failed to execute 'append' on 'Headers': 2 arguments required, but only ${arguments.length} present.`)}const In=[];{let Pt=arguments[0];Pt=tn["ByteString"](Pt,{context:"Failed to execute 'append' on 'Headers': parameter 1",globals:Wt});In.push(Pt)}{let Pt=arguments[1];Pt=tn["ByteString"](Pt,{context:"Failed to execute 'append' on 'Headers': parameter 2",globals:Wt});In.push(Pt)}return an[rn].append(...In)}delete(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'delete' called on an object that is not a valid instance of Headers.")}if(arguments.length<1){throw new Wt.TypeError(`Failed to execute 'delete' on 'Headers': 1 argument required, but only ${arguments.length} present.`)}const an=[];{let Pt=arguments[0];Pt=tn["ByteString"](Pt,{context:"Failed to execute 'delete' on 'Headers': parameter 1",globals:Wt});an.push(Pt)}return nn[rn].delete(...an)}get(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'get' called on an object that is not a valid instance of Headers.")}if(arguments.length<1){throw new Wt.TypeError(`Failed to execute 'get' on 'Headers': 1 argument required, but only ${arguments.length} present.`)}const an=[];{let Pt=arguments[0];Pt=tn["ByteString"](Pt,{context:"Failed to execute 'get' on 'Headers': parameter 1",globals:Wt});an.push(Pt)}return nn[rn].get(...an)}has(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'has' called on an object that is not a valid instance of Headers.")}if(arguments.length<1){throw new Wt.TypeError(`Failed to execute 'has' on 'Headers': 1 argument required, but only ${arguments.length} present.`)}const an=[];{let Pt=arguments[0];Pt=tn["ByteString"](Pt,{context:"Failed to execute 'has' on 'Headers': parameter 1",globals:Wt});an.push(Pt)}return nn[rn].has(...an)}set(en,nn){const an=this!==null&&this!==undefined?this:Wt;if(!Pt.is(an)){throw new Wt.TypeError("'set' called on an object that is not a valid instance of Headers.")}if(arguments.length<2){throw new Wt.TypeError(`Failed to execute 'set' on 'Headers': 2 arguments required, but only ${arguments.length} present.`)}const In=[];{let Pt=arguments[0];Pt=tn["ByteString"](Pt,{context:"Failed to execute 'set' on 'Headers': parameter 1",globals:Wt});In.push(Pt)}{let Pt=arguments[1];Pt=tn["ByteString"](Pt,{context:"Failed to execute 'set' on 'Headers': parameter 2",globals:Wt});In.push(Pt)}return an[rn].set(...In)}keys(){if(!Pt.is(this)){throw new Wt.TypeError("'keys' called on an object that is not a valid instance of Headers.")}return Pt.createDefaultIterator(Wt,this,"key")}values(){if(!Pt.is(this)){throw new Wt.TypeError("'values' called on an object that is not a valid instance of Headers.")}return Pt.createDefaultIterator(Wt,this,"value")}entries(){if(!Pt.is(this)){throw new Wt.TypeError("'entries' called on an object that is not a valid instance of Headers.")}return Pt.createDefaultIterator(Wt,this,"key+value")}forEach(en){if(!Pt.is(this)){throw new Wt.TypeError("'forEach' called on an object that is not a valid instance of Headers.")}if(arguments.length<1){throw new Wt.TypeError("Failed to execute 'forEach' on 'iterable': 1 argument required, but only 0 present.")}en=an.convert(Wt,en,{context:"Failed to execute 'forEach' on 'iterable': The callback provided as parameter 1"});const tn=arguments[1];let In=Array.from(this[rn]);let sn=0;while(sn=on){return In(Wt,{value:undefined,done:true})}const cn=sn[an];Pt.index=an+1;return In(Wt,nn.iteratorResult(cn.map(nn.tryWrapperForImpl),tn))}});Object.defineProperty(Wt,on,{configurable:true,writable:true,value:Headers})};const dn=en(77275)},81415:(Wt,Pt,en)=>{const tn=en(37125);const nn=en(87094);const an=nn.implSymbol;const In=nn.ctorRegistrySymbol;const rn="History";Pt.is=Wt=>nn.isObject(Wt)&&nn.hasOwn(Wt,an)&&Wt[an]instanceof on.implementation;Pt.isImpl=Wt=>nn.isObject(Wt)&&Wt instanceof on.implementation;Pt.convert=(Wt,en,{context:tn="The provided value"}={})=>{if(Pt.is(en)){return nn.implForWrapper(en)}throw new Wt.TypeError(`${tn} is not of type 'History'.`)};function makeWrapper(Wt,Pt){let en;if(Pt!==undefined){en=Pt.prototype}if(!nn.isObject(en)){en=Wt[In]["History"].prototype}return Object.create(en)}Pt.create=(Wt,en,tn)=>{const nn=makeWrapper(Wt);return Pt.setup(nn,Wt,en,tn)};Pt.createImpl=(Wt,en,tn)=>{const an=Pt.create(Wt,en,tn);return nn.implForWrapper(an)};Pt._internalSetup=(Wt,Pt)=>{};Pt.setup=(Wt,en,tn=[],In={})=>{In.wrapper=Wt;Pt._internalSetup(Wt,en);Object.defineProperty(Wt,an,{value:new on.implementation(en,tn,In),configurable:true});Wt[an][nn.wrapperSymbol]=Wt;if(on.init){on.init(Wt[an])}return Wt};Pt["new"]=(Wt,en)=>{const tn=makeWrapper(Wt,en);Pt._internalSetup(tn,Wt);Object.defineProperty(tn,an,{value:Object.create(on.implementation.prototype),configurable:true});tn[an][nn.wrapperSymbol]=tn;if(on.init){on.init(tn[an])}return tn[an]};const sn=new Set(["Window"]);Pt.install=(Wt,en)=>{if(!en.some((Wt=>sn.has(Wt)))){return}const In=nn.initCtorRegistry(Wt);class History{constructor(){throw new Wt.TypeError("Illegal constructor")}go(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'go' called on an object that is not a valid instance of History.")}const nn=[];{let Pt=arguments[0];if(Pt!==undefined){Pt=tn["long"](Pt,{context:"Failed to execute 'go' on 'History': parameter 1",globals:Wt})}else{Pt=0}nn.push(Pt)}return en[an].go(...nn)}back(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'back' called on an object that is not a valid instance of History.")}return en[an].back()}forward(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'forward' called on an object that is not a valid instance of History.")}return en[an].forward()}pushState(en,nn){const In=this!==null&&this!==undefined?this:Wt;if(!Pt.is(In)){throw new Wt.TypeError("'pushState' called on an object that is not a valid instance of History.")}if(arguments.length<2){throw new Wt.TypeError(`Failed to execute 'pushState' on 'History': 2 arguments required, but only ${arguments.length} present.`)}const rn=[];{let Pt=arguments[0];Pt=tn["any"](Pt,{context:"Failed to execute 'pushState' on 'History': parameter 1",globals:Wt});rn.push(Pt)}{let Pt=arguments[1];Pt=tn["DOMString"](Pt,{context:"Failed to execute 'pushState' on 'History': parameter 2",globals:Wt});rn.push(Pt)}{let Pt=arguments[2];if(Pt!==undefined){if(Pt===null||Pt===undefined){Pt=null}else{Pt=tn["USVString"](Pt,{context:"Failed to execute 'pushState' on 'History': parameter 3",globals:Wt})}}else{Pt=null}rn.push(Pt)}return In[an].pushState(...rn)}replaceState(en,nn){const In=this!==null&&this!==undefined?this:Wt;if(!Pt.is(In)){throw new Wt.TypeError("'replaceState' called on an object that is not a valid instance of History.")}if(arguments.length<2){throw new Wt.TypeError(`Failed to execute 'replaceState' on 'History': 2 arguments required, but only ${arguments.length} present.`)}const rn=[];{let Pt=arguments[0];Pt=tn["any"](Pt,{context:"Failed to execute 'replaceState' on 'History': parameter 1",globals:Wt});rn.push(Pt)}{let Pt=arguments[1];Pt=tn["DOMString"](Pt,{context:"Failed to execute 'replaceState' on 'History': parameter 2",globals:Wt});rn.push(Pt)}{let Pt=arguments[2];if(Pt!==undefined){if(Pt===null||Pt===undefined){Pt=null}else{Pt=tn["USVString"](Pt,{context:"Failed to execute 'replaceState' on 'History': parameter 3",globals:Wt})}}else{Pt=null}rn.push(Pt)}return In[an].replaceState(...rn)}get length(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get length' called on an object that is not a valid instance of History.")}return en[an]["length"]}get state(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get state' called on an object that is not a valid instance of History.")}return en[an]["state"]}}Object.defineProperties(History.prototype,{go:{enumerable:true},back:{enumerable:true},forward:{enumerable:true},pushState:{enumerable:true},replaceState:{enumerable:true},length:{enumerable:true},state:{enumerable:true},[Symbol.toStringTag]:{value:"History",configurable:true}});In[rn]=History;Object.defineProperty(Wt,rn,{configurable:true,writable:true,value:History})};const on=en(77589)},13979:(Wt,Pt,en)=>{const tn=en(37125);const nn=en(87094);const an=en(18929);const In=nn.implSymbol;const rn=nn.ctorRegistrySymbol;const sn=en(38921);const on="InputEvent";Pt.is=Wt=>nn.isObject(Wt)&&nn.hasOwn(Wt,In)&&Wt[In]instanceof dn.implementation;Pt.isImpl=Wt=>nn.isObject(Wt)&&Wt instanceof dn.implementation;Pt.convert=(Wt,en,{context:tn="The provided value"}={})=>{if(Pt.is(en)){return nn.implForWrapper(en)}throw new Wt.TypeError(`${tn} is not of type 'InputEvent'.`)};function makeWrapper(Wt,Pt){let en;if(Pt!==undefined){en=Pt.prototype}if(!nn.isObject(en)){en=Wt[rn]["InputEvent"].prototype}return Object.create(en)}Pt.create=(Wt,en,tn)=>{const nn=makeWrapper(Wt);return Pt.setup(nn,Wt,en,tn)};Pt.createImpl=(Wt,en,tn)=>{const an=Pt.create(Wt,en,tn);return nn.implForWrapper(an)};Pt._internalSetup=(Wt,Pt)=>{sn._internalSetup(Wt,Pt)};Pt.setup=(Wt,en,tn=[],an={})=>{an.wrapper=Wt;Pt._internalSetup(Wt,en);Object.defineProperty(Wt,In,{value:new dn.implementation(en,tn,an),configurable:true});Wt[In][nn.wrapperSymbol]=Wt;if(dn.init){dn.init(Wt[In])}return Wt};Pt["new"]=(Wt,en)=>{const tn=makeWrapper(Wt,en);Pt._internalSetup(tn,Wt);Object.defineProperty(tn,In,{value:Object.create(dn.implementation.prototype),configurable:true});tn[In][nn.wrapperSymbol]=tn;if(dn.init){dn.init(tn[In])}return tn[In]};const cn=new Set(["Window"]);Pt.install=(Wt,en)=>{if(!en.some((Wt=>cn.has(Wt)))){return}const rn=nn.initCtorRegistry(Wt);class InputEvent extends Wt.UIEvent{constructor(en){if(arguments.length<1){throw new Wt.TypeError(`Failed to construct 'InputEvent': 1 argument required, but only ${arguments.length} present.`)}const nn=[];{let Pt=arguments[0];Pt=tn["DOMString"](Pt,{context:"Failed to construct 'InputEvent': parameter 1",globals:Wt});nn.push(Pt)}{let Pt=arguments[1];Pt=an.convert(Wt,Pt,{context:"Failed to construct 'InputEvent': parameter 2"});nn.push(Pt)}return Pt.setup(Object.create(new.target.prototype),Wt,nn)}get data(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get data' called on an object that is not a valid instance of InputEvent.")}return en[In]["data"]}get isComposing(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get isComposing' called on an object that is not a valid instance of InputEvent.")}return en[In]["isComposing"]}get inputType(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get inputType' called on an object that is not a valid instance of InputEvent.")}return en[In]["inputType"]}}Object.defineProperties(InputEvent.prototype,{data:{enumerable:true},isComposing:{enumerable:true},inputType:{enumerable:true},[Symbol.toStringTag]:{value:"InputEvent",configurable:true}});rn[on]=InputEvent;Object.defineProperty(Wt,on,{configurable:true,writable:true,value:InputEvent})};const dn=en(8010)},18929:(Wt,Pt,en)=>{const tn=en(37125);const nn=en(87094);const an=en(27019);Pt._convertInherit=(Wt,Pt,en,{context:nn="The provided value"}={})=>{an._convertInherit(Wt,Pt,en,{context:nn});{const an="data";let In=Pt===undefined||Pt===null?undefined:Pt[an];if(In!==undefined){if(In===null||In===undefined){In=null}else{In=tn["DOMString"](In,{context:nn+" has member 'data' that",globals:Wt})}en[an]=In}else{en[an]=null}}{const an="inputType";let In=Pt===undefined||Pt===null?undefined:Pt[an];if(In!==undefined){In=tn["DOMString"](In,{context:nn+" has member 'inputType' that",globals:Wt});en[an]=In}else{en[an]=""}}{const an="isComposing";let In=Pt===undefined||Pt===null?undefined:Pt[an];if(In!==undefined){In=tn["boolean"](In,{context:nn+" has member 'isComposing' that",globals:Wt});en[an]=In}else{en[an]=false}}};Pt.convert=(Wt,en,{context:tn="The provided value"}={})=>{if(en!==undefined&&typeof en!=="object"&&typeof en!=="function"){throw new Wt.TypeError(`${tn} is not an object.`)}const nn=Object.create(null);Pt._convertInherit(Wt,en,nn,{context:tn});return nn}},78628:(Wt,Pt,en)=>{const tn=en(37125);const nn=en(87094);const an=en(38602);const In=nn.implSymbol;const rn=nn.ctorRegistrySymbol;const sn=en(38921);const on="KeyboardEvent";Pt.is=Wt=>nn.isObject(Wt)&&nn.hasOwn(Wt,In)&&Wt[In]instanceof dn.implementation;Pt.isImpl=Wt=>nn.isObject(Wt)&&Wt instanceof dn.implementation;Pt.convert=(Wt,en,{context:tn="The provided value"}={})=>{if(Pt.is(en)){return nn.implForWrapper(en)}throw new Wt.TypeError(`${tn} is not of type 'KeyboardEvent'.`)};function makeWrapper(Wt,Pt){let en;if(Pt!==undefined){en=Pt.prototype}if(!nn.isObject(en)){en=Wt[rn]["KeyboardEvent"].prototype}return Object.create(en)}Pt.create=(Wt,en,tn)=>{const nn=makeWrapper(Wt);return Pt.setup(nn,Wt,en,tn)};Pt.createImpl=(Wt,en,tn)=>{const an=Pt.create(Wt,en,tn);return nn.implForWrapper(an)};Pt._internalSetup=(Wt,Pt)=>{sn._internalSetup(Wt,Pt)};Pt.setup=(Wt,en,tn=[],an={})=>{an.wrapper=Wt;Pt._internalSetup(Wt,en);Object.defineProperty(Wt,In,{value:new dn.implementation(en,tn,an),configurable:true});Wt[In][nn.wrapperSymbol]=Wt;if(dn.init){dn.init(Wt[In])}return Wt};Pt["new"]=(Wt,en)=>{const tn=makeWrapper(Wt,en);Pt._internalSetup(tn,Wt);Object.defineProperty(tn,In,{value:Object.create(dn.implementation.prototype),configurable:true});tn[In][nn.wrapperSymbol]=tn;if(dn.init){dn.init(tn[In])}return tn[In]};const cn=new Set(["Window"]);Pt.install=(Wt,en)=>{if(!en.some((Wt=>cn.has(Wt)))){return}const rn=nn.initCtorRegistry(Wt);class KeyboardEvent extends Wt.UIEvent{constructor(en){if(arguments.length<1){throw new Wt.TypeError(`Failed to construct 'KeyboardEvent': 1 argument required, but only ${arguments.length} present.`)}const nn=[];{let Pt=arguments[0];Pt=tn["DOMString"](Pt,{context:"Failed to construct 'KeyboardEvent': parameter 1",globals:Wt});nn.push(Pt)}{let Pt=arguments[1];Pt=an.convert(Wt,Pt,{context:"Failed to construct 'KeyboardEvent': parameter 2"});nn.push(Pt)}return Pt.setup(Object.create(new.target.prototype),Wt,nn)}getModifierState(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'getModifierState' called on an object that is not a valid instance of KeyboardEvent.")}if(arguments.length<1){throw new Wt.TypeError(`Failed to execute 'getModifierState' on 'KeyboardEvent': 1 argument required, but only ${arguments.length} present.`)}const an=[];{let Pt=arguments[0];Pt=tn["DOMString"](Pt,{context:"Failed to execute 'getModifierState' on 'KeyboardEvent': parameter 1",globals:Wt});an.push(Pt)}return nn[In].getModifierState(...an)}initKeyboardEvent(en){const an=this!==null&&this!==undefined?this:Wt;if(!Pt.is(an)){throw new Wt.TypeError("'initKeyboardEvent' called on an object that is not a valid instance of KeyboardEvent.")}if(arguments.length<1){throw new Wt.TypeError(`Failed to execute 'initKeyboardEvent' on 'KeyboardEvent': 1 argument required, but only ${arguments.length} present.`)}const rn=[];{let Pt=arguments[0];Pt=tn["DOMString"](Pt,{context:"Failed to execute 'initKeyboardEvent' on 'KeyboardEvent': parameter 1",globals:Wt});rn.push(Pt)}{let Pt=arguments[1];if(Pt!==undefined){Pt=tn["boolean"](Pt,{context:"Failed to execute 'initKeyboardEvent' on 'KeyboardEvent': parameter 2",globals:Wt})}else{Pt=false}rn.push(Pt)}{let Pt=arguments[2];if(Pt!==undefined){Pt=tn["boolean"](Pt,{context:"Failed to execute 'initKeyboardEvent' on 'KeyboardEvent': parameter 3",globals:Wt})}else{Pt=false}rn.push(Pt)}{let Wt=arguments[3];if(Wt!==undefined){if(Wt===null||Wt===undefined){Wt=null}else{Wt=nn.tryImplForWrapper(Wt)}}else{Wt=null}rn.push(Wt)}{let Pt=arguments[4];if(Pt!==undefined){Pt=tn["DOMString"](Pt,{context:"Failed to execute 'initKeyboardEvent' on 'KeyboardEvent': parameter 5",globals:Wt})}else{Pt=""}rn.push(Pt)}{let Pt=arguments[5];if(Pt!==undefined){Pt=tn["unsigned long"](Pt,{context:"Failed to execute 'initKeyboardEvent' on 'KeyboardEvent': parameter 6",globals:Wt})}else{Pt=0}rn.push(Pt)}{let Pt=arguments[6];if(Pt!==undefined){Pt=tn["boolean"](Pt,{context:"Failed to execute 'initKeyboardEvent' on 'KeyboardEvent': parameter 7",globals:Wt})}else{Pt=false}rn.push(Pt)}{let Pt=arguments[7];if(Pt!==undefined){Pt=tn["boolean"](Pt,{context:"Failed to execute 'initKeyboardEvent' on 'KeyboardEvent': parameter 8",globals:Wt})}else{Pt=false}rn.push(Pt)}{let Pt=arguments[8];if(Pt!==undefined){Pt=tn["boolean"](Pt,{context:"Failed to execute 'initKeyboardEvent' on 'KeyboardEvent': parameter 9",globals:Wt})}else{Pt=false}rn.push(Pt)}{let Pt=arguments[9];if(Pt!==undefined){Pt=tn["boolean"](Pt,{context:"Failed to execute 'initKeyboardEvent' on 'KeyboardEvent': parameter 10",globals:Wt})}else{Pt=false}rn.push(Pt)}return an[In].initKeyboardEvent(...rn)}get key(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get key' called on an object that is not a valid instance of KeyboardEvent.")}return en[In]["key"]}get code(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get code' called on an object that is not a valid instance of KeyboardEvent.")}return en[In]["code"]}get location(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get location' called on an object that is not a valid instance of KeyboardEvent.")}return en[In]["location"]}get ctrlKey(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get ctrlKey' called on an object that is not a valid instance of KeyboardEvent.")}return en[In]["ctrlKey"]}get shiftKey(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get shiftKey' called on an object that is not a valid instance of KeyboardEvent.")}return en[In]["shiftKey"]}get altKey(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get altKey' called on an object that is not a valid instance of KeyboardEvent.")}return en[In]["altKey"]}get metaKey(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get metaKey' called on an object that is not a valid instance of KeyboardEvent.")}return en[In]["metaKey"]}get repeat(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get repeat' called on an object that is not a valid instance of KeyboardEvent.")}return en[In]["repeat"]}get isComposing(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get isComposing' called on an object that is not a valid instance of KeyboardEvent.")}return en[In]["isComposing"]}get charCode(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get charCode' called on an object that is not a valid instance of KeyboardEvent.")}return en[In]["charCode"]}get keyCode(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get keyCode' called on an object that is not a valid instance of KeyboardEvent.")}return en[In]["keyCode"]}}Object.defineProperties(KeyboardEvent.prototype,{getModifierState:{enumerable:true},initKeyboardEvent:{enumerable:true},key:{enumerable:true},code:{enumerable:true},location:{enumerable:true},ctrlKey:{enumerable:true},shiftKey:{enumerable:true},altKey:{enumerable:true},metaKey:{enumerable:true},repeat:{enumerable:true},isComposing:{enumerable:true},charCode:{enumerable:true},keyCode:{enumerable:true},[Symbol.toStringTag]:{value:"KeyboardEvent",configurable:true},DOM_KEY_LOCATION_STANDARD:{value:0,enumerable:true},DOM_KEY_LOCATION_LEFT:{value:1,enumerable:true},DOM_KEY_LOCATION_RIGHT:{value:2,enumerable:true},DOM_KEY_LOCATION_NUMPAD:{value:3,enumerable:true}});Object.defineProperties(KeyboardEvent,{DOM_KEY_LOCATION_STANDARD:{value:0,enumerable:true},DOM_KEY_LOCATION_LEFT:{value:1,enumerable:true},DOM_KEY_LOCATION_RIGHT:{value:2,enumerable:true},DOM_KEY_LOCATION_NUMPAD:{value:3,enumerable:true}});rn[on]=KeyboardEvent;Object.defineProperty(Wt,on,{configurable:true,writable:true,value:KeyboardEvent})};const dn=en(26839)},38602:(Wt,Pt,en)=>{const tn=en(37125);const nn=en(87094);const an=en(6588);Pt._convertInherit=(Wt,Pt,en,{context:nn="The provided value"}={})=>{an._convertInherit(Wt,Pt,en,{context:nn});{const an="charCode";let In=Pt===undefined||Pt===null?undefined:Pt[an];if(In!==undefined){In=tn["unsigned long"](In,{context:nn+" has member 'charCode' that",globals:Wt});en[an]=In}else{en[an]=0}}{const an="code";let In=Pt===undefined||Pt===null?undefined:Pt[an];if(In!==undefined){In=tn["DOMString"](In,{context:nn+" has member 'code' that",globals:Wt});en[an]=In}else{en[an]=""}}{const an="isComposing";let In=Pt===undefined||Pt===null?undefined:Pt[an];if(In!==undefined){In=tn["boolean"](In,{context:nn+" has member 'isComposing' that",globals:Wt});en[an]=In}else{en[an]=false}}{const an="key";let In=Pt===undefined||Pt===null?undefined:Pt[an];if(In!==undefined){In=tn["DOMString"](In,{context:nn+" has member 'key' that",globals:Wt});en[an]=In}else{en[an]=""}}{const an="keyCode";let In=Pt===undefined||Pt===null?undefined:Pt[an];if(In!==undefined){In=tn["unsigned long"](In,{context:nn+" has member 'keyCode' that",globals:Wt});en[an]=In}else{en[an]=0}}{const an="location";let In=Pt===undefined||Pt===null?undefined:Pt[an];if(In!==undefined){In=tn["unsigned long"](In,{context:nn+" has member 'location' that",globals:Wt});en[an]=In}else{en[an]=0}}{const an="repeat";let In=Pt===undefined||Pt===null?undefined:Pt[an];if(In!==undefined){In=tn["boolean"](In,{context:nn+" has member 'repeat' that",globals:Wt});en[an]=In}else{en[an]=false}}};Pt.convert=(Wt,en,{context:tn="The provided value"}={})=>{if(en!==undefined&&typeof en!=="object"&&typeof en!=="function"){throw new Wt.TypeError(`${tn} is not an object.`)}const nn=Object.create(null);Pt._convertInherit(Wt,en,nn,{context:tn});return nn}},79972:(Wt,Pt,en)=>{const tn=en(37125);const nn=en(87094);const an=nn.implSymbol;const In=nn.ctorRegistrySymbol;const rn="Location";Pt.is=Wt=>nn.isObject(Wt)&&nn.hasOwn(Wt,an)&&Wt[an]instanceof cn.implementation;Pt.isImpl=Wt=>nn.isObject(Wt)&&Wt instanceof cn.implementation;Pt.convert=(Wt,en,{context:tn="The provided value"}={})=>{if(Pt.is(en)){return nn.implForWrapper(en)}throw new Wt.TypeError(`${tn} is not of type 'Location'.`)};function makeWrapper(Wt,Pt){let en;if(Pt!==undefined){en=Pt.prototype}if(!nn.isObject(en)){en=Wt[In]["Location"].prototype}return Object.create(en)}Pt.create=(Wt,en,tn)=>{const nn=makeWrapper(Wt);return Pt.setup(nn,Wt,en,tn)};Pt.createImpl=(Wt,en,tn)=>{const an=Pt.create(Wt,en,tn);return nn.implForWrapper(an)};function getUnforgeables(Wt){let en=sn.get(Wt);if(en===undefined){en=Object.create(null);nn.define(en,{assign(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'assign' called on an object that is not a valid instance of Location.")}if(arguments.length<1){throw new Wt.TypeError(`Failed to execute 'assign' on 'Location': 1 argument required, but only ${arguments.length} present.`)}const In=[];{let Pt=arguments[0];Pt=tn["USVString"](Pt,{context:"Failed to execute 'assign' on 'Location': parameter 1",globals:Wt});In.push(Pt)}return nn[an].assign(...In)},replace(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'replace' called on an object that is not a valid instance of Location.")}if(arguments.length<1){throw new Wt.TypeError(`Failed to execute 'replace' on 'Location': 1 argument required, but only ${arguments.length} present.`)}const In=[];{let Pt=arguments[0];Pt=tn["USVString"](Pt,{context:"Failed to execute 'replace' on 'Location': parameter 1",globals:Wt});In.push(Pt)}return nn[an].replace(...In)},reload(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'reload' called on an object that is not a valid instance of Location.")}return en[an].reload()},get href(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get href' called on an object that is not a valid instance of Location.")}return en[an]["href"]},set href(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set href' called on an object that is not a valid instance of Location.")}en=tn["USVString"](en,{context:"Failed to set the 'href' property on 'Location': The provided value",globals:Wt});nn[an]["href"]=en},toString(){const en=this;if(!Pt.is(en)){throw new Wt.TypeError("'toString' called on an object that is not a valid instance of Location.")}return en[an]["href"]},get origin(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get origin' called on an object that is not a valid instance of Location.")}return en[an]["origin"]},get protocol(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get protocol' called on an object that is not a valid instance of Location.")}return en[an]["protocol"]},set protocol(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set protocol' called on an object that is not a valid instance of Location.")}en=tn["USVString"](en,{context:"Failed to set the 'protocol' property on 'Location': The provided value",globals:Wt});nn[an]["protocol"]=en},get host(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get host' called on an object that is not a valid instance of Location.")}return en[an]["host"]},set host(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set host' called on an object that is not a valid instance of Location.")}en=tn["USVString"](en,{context:"Failed to set the 'host' property on 'Location': The provided value",globals:Wt});nn[an]["host"]=en},get hostname(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get hostname' called on an object that is not a valid instance of Location.")}return en[an]["hostname"]},set hostname(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set hostname' called on an object that is not a valid instance of Location.")}en=tn["USVString"](en,{context:"Failed to set the 'hostname' property on 'Location': The provided value",globals:Wt});nn[an]["hostname"]=en},get port(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get port' called on an object that is not a valid instance of Location.")}return en[an]["port"]},set port(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set port' called on an object that is not a valid instance of Location.")}en=tn["USVString"](en,{context:"Failed to set the 'port' property on 'Location': The provided value",globals:Wt});nn[an]["port"]=en},get pathname(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get pathname' called on an object that is not a valid instance of Location.")}return en[an]["pathname"]},set pathname(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set pathname' called on an object that is not a valid instance of Location.")}en=tn["USVString"](en,{context:"Failed to set the 'pathname' property on 'Location': The provided value",globals:Wt});nn[an]["pathname"]=en},get search(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get search' called on an object that is not a valid instance of Location.")}return en[an]["search"]},set search(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set search' called on an object that is not a valid instance of Location.")}en=tn["USVString"](en,{context:"Failed to set the 'search' property on 'Location': The provided value",globals:Wt});nn[an]["search"]=en},get hash(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get hash' called on an object that is not a valid instance of Location.")}return en[an]["hash"]},set hash(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set hash' called on an object that is not a valid instance of Location.")}en=tn["USVString"](en,{context:"Failed to set the 'hash' property on 'Location': The provided value",globals:Wt});nn[an]["hash"]=en}});Object.defineProperties(en,{assign:{configurable:false,writable:false},replace:{configurable:false,writable:false},reload:{configurable:false,writable:false},href:{configurable:false},toString:{configurable:false,writable:false},origin:{configurable:false},protocol:{configurable:false},host:{configurable:false},hostname:{configurable:false},port:{configurable:false},pathname:{configurable:false},search:{configurable:false},hash:{configurable:false}});sn.set(Wt,en)}return en}Pt._internalSetup=(Wt,Pt)=>{nn.define(Wt,getUnforgeables(Pt))};Pt.setup=(Wt,en,tn=[],In={})=>{In.wrapper=Wt;Pt._internalSetup(Wt,en);Object.defineProperty(Wt,an,{value:new cn.implementation(en,tn,In),configurable:true});Wt[an][nn.wrapperSymbol]=Wt;if(cn.init){cn.init(Wt[an])}return Wt};Pt["new"]=(Wt,en)=>{const tn=makeWrapper(Wt,en);Pt._internalSetup(tn,Wt);Object.defineProperty(tn,an,{value:Object.create(cn.implementation.prototype),configurable:true});tn[an][nn.wrapperSymbol]=tn;if(cn.init){cn.init(tn[an])}return tn[an]};const sn=new WeakMap;const on=new Set(["Window"]);Pt.install=(Wt,Pt)=>{if(!Pt.some((Wt=>on.has(Wt)))){return}const en=nn.initCtorRegistry(Wt);class Location{constructor(){throw new Wt.TypeError("Illegal constructor")}}Object.defineProperties(Location.prototype,{[Symbol.toStringTag]:{value:"Location",configurable:true}});en[rn]=Location;Object.defineProperty(Wt,rn,{configurable:true,writable:true,value:Location})};const cn=en(88666)},74374:(Wt,Pt,en)=>{const tn=en(37125);const nn=en(87094);const an=en(83688);const In=nn.implSymbol;const rn=nn.ctorRegistrySymbol;const sn=en(94431);const on="MessageEvent";Pt.is=Wt=>nn.isObject(Wt)&&nn.hasOwn(Wt,In)&&Wt[In]instanceof dn.implementation;Pt.isImpl=Wt=>nn.isObject(Wt)&&Wt instanceof dn.implementation;Pt.convert=(Wt,en,{context:tn="The provided value"}={})=>{if(Pt.is(en)){return nn.implForWrapper(en)}throw new Wt.TypeError(`${tn} is not of type 'MessageEvent'.`)};function makeWrapper(Wt,Pt){let en;if(Pt!==undefined){en=Pt.prototype}if(!nn.isObject(en)){en=Wt[rn]["MessageEvent"].prototype}return Object.create(en)}Pt.create=(Wt,en,tn)=>{const nn=makeWrapper(Wt);return Pt.setup(nn,Wt,en,tn)};Pt.createImpl=(Wt,en,tn)=>{const an=Pt.create(Wt,en,tn);return nn.implForWrapper(an)};Pt._internalSetup=(Wt,Pt)=>{sn._internalSetup(Wt,Pt)};Pt.setup=(Wt,en,tn=[],an={})=>{an.wrapper=Wt;Pt._internalSetup(Wt,en);Object.defineProperty(Wt,In,{value:new dn.implementation(en,tn,an),configurable:true});Wt[In][nn.wrapperSymbol]=Wt;if(dn.init){dn.init(Wt[In])}return Wt};Pt["new"]=(Wt,en)=>{const tn=makeWrapper(Wt,en);Pt._internalSetup(tn,Wt);Object.defineProperty(tn,In,{value:Object.create(dn.implementation.prototype),configurable:true});tn[In][nn.wrapperSymbol]=tn;if(dn.init){dn.init(tn[In])}return tn[In]};const cn=new Set(["Window","Worker","AudioWorklet"]);Pt.install=(Wt,en)=>{if(!en.some((Wt=>cn.has(Wt)))){return}const rn=nn.initCtorRegistry(Wt);class MessageEvent extends Wt.Event{constructor(en){if(arguments.length<1){throw new Wt.TypeError(`Failed to construct 'MessageEvent': 1 argument required, but only ${arguments.length} present.`)}const nn=[];{let Pt=arguments[0];Pt=tn["DOMString"](Pt,{context:"Failed to construct 'MessageEvent': parameter 1",globals:Wt});nn.push(Pt)}{let Pt=arguments[1];Pt=an.convert(Wt,Pt,{context:"Failed to construct 'MessageEvent': parameter 2"});nn.push(Pt)}return Pt.setup(Object.create(new.target.prototype),Wt,nn)}initMessageEvent(en){const an=this!==null&&this!==undefined?this:Wt;if(!Pt.is(an)){throw new Wt.TypeError("'initMessageEvent' called on an object that is not a valid instance of MessageEvent.")}if(arguments.length<1){throw new Wt.TypeError(`Failed to execute 'initMessageEvent' on 'MessageEvent': 1 argument required, but only ${arguments.length} present.`)}const rn=[];{let Pt=arguments[0];Pt=tn["DOMString"](Pt,{context:"Failed to execute 'initMessageEvent' on 'MessageEvent': parameter 1",globals:Wt});rn.push(Pt)}{let Pt=arguments[1];if(Pt!==undefined){Pt=tn["boolean"](Pt,{context:"Failed to execute 'initMessageEvent' on 'MessageEvent': parameter 2",globals:Wt})}else{Pt=false}rn.push(Pt)}{let Pt=arguments[2];if(Pt!==undefined){Pt=tn["boolean"](Pt,{context:"Failed to execute 'initMessageEvent' on 'MessageEvent': parameter 3",globals:Wt})}else{Pt=false}rn.push(Pt)}{let Pt=arguments[3];if(Pt!==undefined){Pt=tn["any"](Pt,{context:"Failed to execute 'initMessageEvent' on 'MessageEvent': parameter 4",globals:Wt})}else{Pt=null}rn.push(Pt)}{let Pt=arguments[4];if(Pt!==undefined){Pt=tn["USVString"](Pt,{context:"Failed to execute 'initMessageEvent' on 'MessageEvent': parameter 5",globals:Wt})}else{Pt=""}rn.push(Pt)}{let Pt=arguments[5];if(Pt!==undefined){Pt=tn["DOMString"](Pt,{context:"Failed to execute 'initMessageEvent' on 'MessageEvent': parameter 6",globals:Wt})}else{Pt=""}rn.push(Pt)}{let Wt=arguments[6];if(Wt!==undefined){if(Wt===null||Wt===undefined){Wt=null}else{Wt=nn.tryImplForWrapper(Wt)}}else{Wt=null}rn.push(Wt)}{let Pt=arguments[7];if(Pt!==undefined){if(!nn.isObject(Pt)){throw new Wt.TypeError("Failed to execute 'initMessageEvent' on 'MessageEvent': parameter 8"+" is not an iterable object.")}else{const Wt=[];const en=Pt;for(let Pt of en){Pt=nn.tryImplForWrapper(Pt);Wt.push(Pt)}Pt=Wt}}else{Pt=[]}rn.push(Pt)}return an[In].initMessageEvent(...rn)}get data(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get data' called on an object that is not a valid instance of MessageEvent.")}return en[In]["data"]}get origin(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get origin' called on an object that is not a valid instance of MessageEvent.")}return en[In]["origin"]}get lastEventId(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get lastEventId' called on an object that is not a valid instance of MessageEvent.")}return en[In]["lastEventId"]}get source(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get source' called on an object that is not a valid instance of MessageEvent.")}return nn.tryWrapperForImpl(en[In]["source"])}get ports(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get ports' called on an object that is not a valid instance of MessageEvent.")}return nn.tryWrapperForImpl(en[In]["ports"])}}Object.defineProperties(MessageEvent.prototype,{initMessageEvent:{enumerable:true},data:{enumerable:true},origin:{enumerable:true},lastEventId:{enumerable:true},source:{enumerable:true},ports:{enumerable:true},[Symbol.toStringTag]:{value:"MessageEvent",configurable:true}});rn[on]=MessageEvent;Object.defineProperty(Wt,on,{configurable:true,writable:true,value:MessageEvent})};const dn=en(44613)},83688:(Wt,Pt,en)=>{const tn=en(37125);const nn=en(87094);const an=en(31893);Pt._convertInherit=(Wt,Pt,en,{context:In="The provided value"}={})=>{an._convertInherit(Wt,Pt,en,{context:In});{const nn="data";let an=Pt===undefined||Pt===null?undefined:Pt[nn];if(an!==undefined){an=tn["any"](an,{context:In+" has member 'data' that",globals:Wt});en[nn]=an}else{en[nn]=null}}{const nn="lastEventId";let an=Pt===undefined||Pt===null?undefined:Pt[nn];if(an!==undefined){an=tn["DOMString"](an,{context:In+" has member 'lastEventId' that",globals:Wt});en[nn]=an}else{en[nn]=""}}{const nn="origin";let an=Pt===undefined||Pt===null?undefined:Pt[nn];if(an!==undefined){an=tn["USVString"](an,{context:In+" has member 'origin' that",globals:Wt});en[nn]=an}else{en[nn]=""}}{const tn="ports";let an=Pt===undefined||Pt===null?undefined:Pt[tn];if(an!==undefined){if(!nn.isObject(an)){throw new Wt.TypeError(In+" has member 'ports' that"+" is not an iterable object.")}else{const Wt=[];const Pt=an;for(let en of Pt){en=nn.tryImplForWrapper(en);Wt.push(en)}an=Wt}en[tn]=an}else{en[tn]=[]}}{const Wt="source";let tn=Pt===undefined||Pt===null?undefined:Pt[Wt];if(tn!==undefined){if(tn===null||tn===undefined){tn=null}else{tn=nn.tryImplForWrapper(tn)}en[Wt]=tn}else{en[Wt]=null}}};Pt.convert=(Wt,en,{context:tn="The provided value"}={})=>{if(en!==undefined&&typeof en!=="object"&&typeof en!=="function"){throw new Wt.TypeError(`${tn} is not an object.`)}const nn=Object.create(null);Pt._convertInherit(Wt,en,nn,{context:tn});return nn}},30199:(Wt,Pt,en)=>{const tn=en(37125);const nn=en(87094);const an=nn.implSymbol;const In=nn.ctorRegistrySymbol;const rn="MimeType";Pt.is=Wt=>nn.isObject(Wt)&&nn.hasOwn(Wt,an)&&Wt[an]instanceof on.implementation;Pt.isImpl=Wt=>nn.isObject(Wt)&&Wt instanceof on.implementation;Pt.convert=(Wt,en,{context:tn="The provided value"}={})=>{if(Pt.is(en)){return nn.implForWrapper(en)}throw new Wt.TypeError(`${tn} is not of type 'MimeType'.`)};function makeWrapper(Wt,Pt){let en;if(Pt!==undefined){en=Pt.prototype}if(!nn.isObject(en)){en=Wt[In]["MimeType"].prototype}return Object.create(en)}Pt.create=(Wt,en,tn)=>{const nn=makeWrapper(Wt);return Pt.setup(nn,Wt,en,tn)};Pt.createImpl=(Wt,en,tn)=>{const an=Pt.create(Wt,en,tn);return nn.implForWrapper(an)};Pt._internalSetup=(Wt,Pt)=>{};Pt.setup=(Wt,en,tn=[],In={})=>{In.wrapper=Wt;Pt._internalSetup(Wt,en);Object.defineProperty(Wt,an,{value:new on.implementation(en,tn,In),configurable:true});Wt[an][nn.wrapperSymbol]=Wt;if(on.init){on.init(Wt[an])}return Wt};Pt["new"]=(Wt,en)=>{const tn=makeWrapper(Wt,en);Pt._internalSetup(tn,Wt);Object.defineProperty(tn,an,{value:Object.create(on.implementation.prototype),configurable:true});tn[an][nn.wrapperSymbol]=tn;if(on.init){on.init(tn[an])}return tn[an]};const sn=new Set(["Window"]);Pt.install=(Wt,en)=>{if(!en.some((Wt=>sn.has(Wt)))){return}const tn=nn.initCtorRegistry(Wt);class MimeType{constructor(){throw new Wt.TypeError("Illegal constructor")}get type(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get type' called on an object that is not a valid instance of MimeType.")}return en[an]["type"]}get description(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get description' called on an object that is not a valid instance of MimeType.")}return en[an]["description"]}get suffixes(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get suffixes' called on an object that is not a valid instance of MimeType.")}return en[an]["suffixes"]}get enabledPlugin(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get enabledPlugin' called on an object that is not a valid instance of MimeType.")}return en[an]["enabledPlugin"]}}Object.defineProperties(MimeType.prototype,{type:{enumerable:true},description:{enumerable:true},suffixes:{enumerable:true},enabledPlugin:{enumerable:true},[Symbol.toStringTag]:{value:"MimeType",configurable:true}});tn[rn]=MimeType;Object.defineProperty(Wt,rn,{configurable:true,writable:true,value:MimeType})};const on=en(87442)},41086:(Wt,Pt,en)=>{const tn=en(37125);const nn=en(87094);const an=nn.implSymbol;const In=nn.ctorRegistrySymbol;const rn="MimeTypeArray";Pt.is=Wt=>nn.isObject(Wt)&&nn.hasOwn(Wt,an)&&Wt[an]instanceof cn.implementation;Pt.isImpl=Wt=>nn.isObject(Wt)&&Wt instanceof cn.implementation;Pt.convert=(Wt,en,{context:tn="The provided value"}={})=>{if(Pt.is(en)){return nn.implForWrapper(en)}throw new Wt.TypeError(`${tn} is not of type 'MimeTypeArray'.`)};function makeWrapper(Wt,Pt){let en;if(Pt!==undefined){en=Pt.prototype}if(!nn.isObject(en)){en=Wt[In]["MimeTypeArray"].prototype}return Object.create(en)}function makeProxy(Wt,Pt){let en=on.get(Pt);if(en===undefined){en=new ProxyHandler(Pt);on.set(Pt,en)}return new Proxy(Wt,en)}Pt.create=(Wt,en,tn)=>{const nn=makeWrapper(Wt);return Pt.setup(nn,Wt,en,tn)};Pt.createImpl=(Wt,en,tn)=>{const an=Pt.create(Wt,en,tn);return nn.implForWrapper(an)};Pt._internalSetup=(Wt,Pt)=>{};Pt.setup=(Wt,en,tn=[],In={})=>{In.wrapper=Wt;Pt._internalSetup(Wt,en);Object.defineProperty(Wt,an,{value:new cn.implementation(en,tn,In),configurable:true});Wt=makeProxy(Wt,en);Wt[an][nn.wrapperSymbol]=Wt;if(cn.init){cn.init(Wt[an])}return Wt};Pt["new"]=(Wt,en)=>{let tn=makeWrapper(Wt,en);Pt._internalSetup(tn,Wt);Object.defineProperty(tn,an,{value:Object.create(cn.implementation.prototype),configurable:true});tn=makeProxy(tn,Wt);tn[an][nn.wrapperSymbol]=tn;if(cn.init){cn.init(tn[an])}return tn[an]};const sn=new Set(["Window"]);Pt.install=(Wt,en)=>{if(!en.some((Wt=>sn.has(Wt)))){return}const In=nn.initCtorRegistry(Wt);class MimeTypeArray{constructor(){throw new Wt.TypeError("Illegal constructor")}item(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'item' called on an object that is not a valid instance of MimeTypeArray.")}if(arguments.length<1){throw new Wt.TypeError(`Failed to execute 'item' on 'MimeTypeArray': 1 argument required, but only ${arguments.length} present.`)}const In=[];{let Pt=arguments[0];Pt=tn["unsigned long"](Pt,{context:"Failed to execute 'item' on 'MimeTypeArray': parameter 1",globals:Wt});In.push(Pt)}return nn[an].item(...In)}namedItem(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'namedItem' called on an object that is not a valid instance of MimeTypeArray.")}if(arguments.length<1){throw new Wt.TypeError(`Failed to execute 'namedItem' on 'MimeTypeArray': 1 argument required, but only ${arguments.length} present.`)}const In=[];{let Pt=arguments[0];Pt=tn["DOMString"](Pt,{context:"Failed to execute 'namedItem' on 'MimeTypeArray': parameter 1",globals:Wt});In.push(Pt)}return nn[an].namedItem(...In)}get length(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get length' called on an object that is not a valid instance of MimeTypeArray.")}return en[an]["length"]}}Object.defineProperties(MimeTypeArray.prototype,{item:{enumerable:true},namedItem:{enumerable:true},length:{enumerable:true},[Symbol.toStringTag]:{value:"MimeTypeArray",configurable:true},[Symbol.iterator]:{value:Wt.Array.prototype[Symbol.iterator],configurable:true,writable:true}});In[rn]=MimeTypeArray;Object.defineProperty(Wt,rn,{configurable:true,writable:true,value:MimeTypeArray})};const on=new WeakMap;class ProxyHandler{constructor(Wt){this._globalObject=Wt}get(Wt,Pt,en){if(typeof Pt==="symbol"){return Reflect.get(Wt,Pt,en)}const tn=this.getOwnPropertyDescriptor(Wt,Pt);if(tn===undefined){const tn=Object.getPrototypeOf(Wt);if(tn===null){return undefined}return Reflect.get(Wt,Pt,en)}if(!tn.get&&!tn.set){return tn.value}const nn=tn.get;if(nn===undefined){return undefined}return Reflect.apply(nn,en,[])}has(Wt,Pt){if(typeof Pt==="symbol"){return Reflect.has(Wt,Pt)}const en=this.getOwnPropertyDescriptor(Wt,Pt);if(en!==undefined){return true}const tn=Object.getPrototypeOf(Wt);if(tn!==null){return Reflect.has(tn,Pt)}return false}ownKeys(Wt){const Pt=new Set;for(const en of Wt[an][nn.supportedPropertyIndices]){Pt.add(`${en}`)}for(const en of Reflect.ownKeys(Wt)){Pt.add(en)}return[...Pt]}getOwnPropertyDescriptor(Wt,Pt){if(typeof Pt==="symbol"){return Reflect.getOwnPropertyDescriptor(Wt,Pt)}let en=false;if(nn.isArrayIndexPropName(Pt)){const tn=Pt>>>0;const In=Wt[an].item(tn);if(In!==null){return{writable:false,enumerable:true,configurable:true,value:nn.tryWrapperForImpl(In)}}en=true}return Reflect.getOwnPropertyDescriptor(Wt,Pt)}set(Wt,Pt,en,tn){if(typeof Pt==="symbol"){return Reflect.set(Wt,Pt,en,tn)}if(Wt[an][nn.wrapperSymbol]===tn){const Wt=this._globalObject}let In;if(nn.isArrayIndexPropName(Pt)){const en=Pt>>>0;const tn=Wt[an].item(en);if(tn!==null){In={writable:false,enumerable:true,configurable:true,value:nn.tryWrapperForImpl(tn)}}}if(In===undefined){In=Reflect.getOwnPropertyDescriptor(Wt,Pt)}if(In===undefined){const nn=Reflect.getPrototypeOf(Wt);if(nn!==null){return Reflect.set(nn,Pt,en,tn)}In={writable:true,enumerable:true,configurable:true,value:undefined}}if(!In.writable){return false}if(!nn.isObject(tn)){return false}const rn=Reflect.getOwnPropertyDescriptor(tn,Pt);let sn;if(rn!==undefined){if(rn.get||rn.set){return false}if(!rn.writable){return false}sn={value:en}}else{sn={writable:true,enumerable:true,configurable:true,value:en}}return Reflect.defineProperty(tn,Pt,sn)}defineProperty(Wt,Pt,en){if(typeof Pt==="symbol"){return Reflect.defineProperty(Wt,Pt,en)}const tn=this._globalObject;if(nn.isArrayIndexPropName(Pt)){return false}return Reflect.defineProperty(Wt,Pt,en)}deleteProperty(Wt,Pt){if(typeof Pt==="symbol"){return Reflect.deleteProperty(Wt,Pt)}const en=this._globalObject;if(nn.isArrayIndexPropName(Pt)){const en=Pt>>>0;return!(Wt[an].item(en)!==null)}return Reflect.deleteProperty(Wt,Pt)}preventExtensions(){return false}}const cn=en(1233)},8002:(Wt,Pt,en)=>{const tn=en(37125);const nn=en(87094);const an=en(5316);const In=en(29122);const rn=nn.implSymbol;const sn=nn.ctorRegistrySymbol;const on=en(38921);const cn="MouseEvent";Pt.is=Wt=>nn.isObject(Wt)&&nn.hasOwn(Wt,rn)&&Wt[rn]instanceof un.implementation;Pt.isImpl=Wt=>nn.isObject(Wt)&&Wt instanceof un.implementation;Pt.convert=(Wt,en,{context:tn="The provided value"}={})=>{if(Pt.is(en)){return nn.implForWrapper(en)}throw new Wt.TypeError(`${tn} is not of type 'MouseEvent'.`)};function makeWrapper(Wt,Pt){let en;if(Pt!==undefined){en=Pt.prototype}if(!nn.isObject(en)){en=Wt[sn]["MouseEvent"].prototype}return Object.create(en)}Pt.create=(Wt,en,tn)=>{const nn=makeWrapper(Wt);return Pt.setup(nn,Wt,en,tn)};Pt.createImpl=(Wt,en,tn)=>{const an=Pt.create(Wt,en,tn);return nn.implForWrapper(an)};Pt._internalSetup=(Wt,Pt)=>{on._internalSetup(Wt,Pt)};Pt.setup=(Wt,en,tn=[],an={})=>{an.wrapper=Wt;Pt._internalSetup(Wt,en);Object.defineProperty(Wt,rn,{value:new un.implementation(en,tn,an),configurable:true});Wt[rn][nn.wrapperSymbol]=Wt;if(un.init){un.init(Wt[rn])}return Wt};Pt["new"]=(Wt,en)=>{const tn=makeWrapper(Wt,en);Pt._internalSetup(tn,Wt);Object.defineProperty(tn,rn,{value:Object.create(un.implementation.prototype),configurable:true});tn[rn][nn.wrapperSymbol]=tn;if(un.init){un.init(tn[rn])}return tn[rn]};const dn=new Set(["Window"]);Pt.install=(Wt,en)=>{if(!en.some((Wt=>dn.has(Wt)))){return}const sn=nn.initCtorRegistry(Wt);class MouseEvent extends Wt.UIEvent{constructor(en){if(arguments.length<1){throw new Wt.TypeError(`Failed to construct 'MouseEvent': 1 argument required, but only ${arguments.length} present.`)}const nn=[];{let Pt=arguments[0];Pt=tn["DOMString"](Pt,{context:"Failed to construct 'MouseEvent': parameter 1",globals:Wt});nn.push(Pt)}{let Pt=arguments[1];Pt=an.convert(Wt,Pt,{context:"Failed to construct 'MouseEvent': parameter 2"});nn.push(Pt)}return Pt.setup(Object.create(new.target.prototype),Wt,nn)}getModifierState(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'getModifierState' called on an object that is not a valid instance of MouseEvent.")}if(arguments.length<1){throw new Wt.TypeError(`Failed to execute 'getModifierState' on 'MouseEvent': 1 argument required, but only ${arguments.length} present.`)}const an=[];{let Pt=arguments[0];Pt=tn["DOMString"](Pt,{context:"Failed to execute 'getModifierState' on 'MouseEvent': parameter 1",globals:Wt});an.push(Pt)}return nn[rn].getModifierState(...an)}initMouseEvent(en){const an=this!==null&&this!==undefined?this:Wt;if(!Pt.is(an)){throw new Wt.TypeError("'initMouseEvent' called on an object that is not a valid instance of MouseEvent.")}if(arguments.length<1){throw new Wt.TypeError(`Failed to execute 'initMouseEvent' on 'MouseEvent': 1 argument required, but only ${arguments.length} present.`)}const sn=[];{let Pt=arguments[0];Pt=tn["DOMString"](Pt,{context:"Failed to execute 'initMouseEvent' on 'MouseEvent': parameter 1",globals:Wt});sn.push(Pt)}{let Pt=arguments[1];if(Pt!==undefined){Pt=tn["boolean"](Pt,{context:"Failed to execute 'initMouseEvent' on 'MouseEvent': parameter 2",globals:Wt})}else{Pt=false}sn.push(Pt)}{let Pt=arguments[2];if(Pt!==undefined){Pt=tn["boolean"](Pt,{context:"Failed to execute 'initMouseEvent' on 'MouseEvent': parameter 3",globals:Wt})}else{Pt=false}sn.push(Pt)}{let Wt=arguments[3];if(Wt!==undefined){if(Wt===null||Wt===undefined){Wt=null}else{Wt=nn.tryImplForWrapper(Wt)}}else{Wt=null}sn.push(Wt)}{let Pt=arguments[4];if(Pt!==undefined){Pt=tn["long"](Pt,{context:"Failed to execute 'initMouseEvent' on 'MouseEvent': parameter 5",globals:Wt})}else{Pt=0}sn.push(Pt)}{let Pt=arguments[5];if(Pt!==undefined){Pt=tn["long"](Pt,{context:"Failed to execute 'initMouseEvent' on 'MouseEvent': parameter 6",globals:Wt})}else{Pt=0}sn.push(Pt)}{let Pt=arguments[6];if(Pt!==undefined){Pt=tn["long"](Pt,{context:"Failed to execute 'initMouseEvent' on 'MouseEvent': parameter 7",globals:Wt})}else{Pt=0}sn.push(Pt)}{let Pt=arguments[7];if(Pt!==undefined){Pt=tn["long"](Pt,{context:"Failed to execute 'initMouseEvent' on 'MouseEvent': parameter 8",globals:Wt})}else{Pt=0}sn.push(Pt)}{let Pt=arguments[8];if(Pt!==undefined){Pt=tn["long"](Pt,{context:"Failed to execute 'initMouseEvent' on 'MouseEvent': parameter 9",globals:Wt})}else{Pt=0}sn.push(Pt)}{let Pt=arguments[9];if(Pt!==undefined){Pt=tn["boolean"](Pt,{context:"Failed to execute 'initMouseEvent' on 'MouseEvent': parameter 10",globals:Wt})}else{Pt=0}sn.push(Pt)}{let Pt=arguments[10];if(Pt!==undefined){Pt=tn["boolean"](Pt,{context:"Failed to execute 'initMouseEvent' on 'MouseEvent': parameter 11",globals:Wt})}else{Pt=0}sn.push(Pt)}{let Pt=arguments[11];if(Pt!==undefined){Pt=tn["boolean"](Pt,{context:"Failed to execute 'initMouseEvent' on 'MouseEvent': parameter 12",globals:Wt})}else{Pt=0}sn.push(Pt)}{let Pt=arguments[12];if(Pt!==undefined){Pt=tn["boolean"](Pt,{context:"Failed to execute 'initMouseEvent' on 'MouseEvent': parameter 13",globals:Wt})}else{Pt=0}sn.push(Pt)}{let Pt=arguments[13];if(Pt!==undefined){Pt=tn["short"](Pt,{context:"Failed to execute 'initMouseEvent' on 'MouseEvent': parameter 14",globals:Wt})}else{Pt=0}sn.push(Pt)}{let Pt=arguments[14];if(Pt!==undefined){if(Pt===null||Pt===undefined){Pt=null}else{Pt=In.convert(Wt,Pt,{context:"Failed to execute 'initMouseEvent' on 'MouseEvent': parameter 15"})}}else{Pt=null}sn.push(Pt)}return an[rn].initMouseEvent(...sn)}get screenX(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get screenX' called on an object that is not a valid instance of MouseEvent.")}return en[rn]["screenX"]}get screenY(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get screenY' called on an object that is not a valid instance of MouseEvent.")}return en[rn]["screenY"]}get clientX(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get clientX' called on an object that is not a valid instance of MouseEvent.")}return en[rn]["clientX"]}get clientY(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get clientY' called on an object that is not a valid instance of MouseEvent.")}return en[rn]["clientY"]}get ctrlKey(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get ctrlKey' called on an object that is not a valid instance of MouseEvent.")}return en[rn]["ctrlKey"]}get shiftKey(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get shiftKey' called on an object that is not a valid instance of MouseEvent.")}return en[rn]["shiftKey"]}get altKey(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get altKey' called on an object that is not a valid instance of MouseEvent.")}return en[rn]["altKey"]}get metaKey(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get metaKey' called on an object that is not a valid instance of MouseEvent.")}return en[rn]["metaKey"]}get button(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get button' called on an object that is not a valid instance of MouseEvent.")}return en[rn]["button"]}get buttons(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get buttons' called on an object that is not a valid instance of MouseEvent.")}return en[rn]["buttons"]}get relatedTarget(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get relatedTarget' called on an object that is not a valid instance of MouseEvent.")}return nn.tryWrapperForImpl(en[rn]["relatedTarget"])}get pageX(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get pageX' called on an object that is not a valid instance of MouseEvent.")}return en[rn]["pageX"]}get pageY(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get pageY' called on an object that is not a valid instance of MouseEvent.")}return en[rn]["pageY"]}get x(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get x' called on an object that is not a valid instance of MouseEvent.")}return en[rn]["x"]}get y(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get y' called on an object that is not a valid instance of MouseEvent.")}return en[rn]["y"]}get offsetX(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get offsetX' called on an object that is not a valid instance of MouseEvent.")}return en[rn]["offsetX"]}get offsetY(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get offsetY' called on an object that is not a valid instance of MouseEvent.")}return en[rn]["offsetY"]}}Object.defineProperties(MouseEvent.prototype,{getModifierState:{enumerable:true},initMouseEvent:{enumerable:true},screenX:{enumerable:true},screenY:{enumerable:true},clientX:{enumerable:true},clientY:{enumerable:true},ctrlKey:{enumerable:true},shiftKey:{enumerable:true},altKey:{enumerable:true},metaKey:{enumerable:true},button:{enumerable:true},buttons:{enumerable:true},relatedTarget:{enumerable:true},pageX:{enumerable:true},pageY:{enumerable:true},x:{enumerable:true},y:{enumerable:true},offsetX:{enumerable:true},offsetY:{enumerable:true},[Symbol.toStringTag]:{value:"MouseEvent",configurable:true}});sn[cn]=MouseEvent;Object.defineProperty(Wt,cn,{configurable:true,writable:true,value:MouseEvent})};const un=en(95889)},5316:(Wt,Pt,en)=>{const tn=en(37125);const nn=en(87094);const an=en(29122);const In=en(6588);Pt._convertInherit=(Wt,Pt,en,{context:nn="The provided value"}={})=>{In._convertInherit(Wt,Pt,en,{context:nn});{const an="button";let In=Pt===undefined||Pt===null?undefined:Pt[an];if(In!==undefined){In=tn["short"](In,{context:nn+" has member 'button' that",globals:Wt});en[an]=In}else{en[an]=0}}{const an="buttons";let In=Pt===undefined||Pt===null?undefined:Pt[an];if(In!==undefined){In=tn["unsigned short"](In,{context:nn+" has member 'buttons' that",globals:Wt});en[an]=In}else{en[an]=0}}{const an="clientX";let In=Pt===undefined||Pt===null?undefined:Pt[an];if(In!==undefined){In=tn["long"](In,{context:nn+" has member 'clientX' that",globals:Wt});en[an]=In}else{en[an]=0}}{const an="clientX";let In=Pt===undefined||Pt===null?undefined:Pt[an];if(In!==undefined){In=tn["double"](In,{context:nn+" has member 'clientX' that",globals:Wt});en[an]=In}else{en[an]=0}}{const an="clientY";let In=Pt===undefined||Pt===null?undefined:Pt[an];if(In!==undefined){In=tn["long"](In,{context:nn+" has member 'clientY' that",globals:Wt});en[an]=In}else{en[an]=0}}{const an="clientY";let In=Pt===undefined||Pt===null?undefined:Pt[an];if(In!==undefined){In=tn["double"](In,{context:nn+" has member 'clientY' that",globals:Wt});en[an]=In}else{en[an]=0}}{const tn="relatedTarget";let In=Pt===undefined||Pt===null?undefined:Pt[tn];if(In!==undefined){if(In===null||In===undefined){In=null}else{In=an.convert(Wt,In,{context:nn+" has member 'relatedTarget' that"})}en[tn]=In}else{en[tn]=null}}{const an="screenX";let In=Pt===undefined||Pt===null?undefined:Pt[an];if(In!==undefined){In=tn["long"](In,{context:nn+" has member 'screenX' that",globals:Wt});en[an]=In}else{en[an]=0}}{const an="screenX";let In=Pt===undefined||Pt===null?undefined:Pt[an];if(In!==undefined){In=tn["double"](In,{context:nn+" has member 'screenX' that",globals:Wt});en[an]=In}else{en[an]=0}}{const an="screenY";let In=Pt===undefined||Pt===null?undefined:Pt[an];if(In!==undefined){In=tn["long"](In,{context:nn+" has member 'screenY' that",globals:Wt});en[an]=In}else{en[an]=0}}{const an="screenY";let In=Pt===undefined||Pt===null?undefined:Pt[an];if(In!==undefined){In=tn["double"](In,{context:nn+" has member 'screenY' that",globals:Wt});en[an]=In}else{en[an]=0}}};Pt.convert=(Wt,en,{context:tn="The provided value"}={})=>{if(en!==undefined&&typeof en!=="object"&&typeof en!=="function"){throw new Wt.TypeError(`${tn} is not an object.`)}const nn=Object.create(null);Pt._convertInherit(Wt,en,nn,{context:tn});return nn}},73735:(Wt,Pt,en)=>{const tn=en(37125);const nn=en(87094);Pt.convert=(Wt,Pt,{context:en="The provided value"}={})=>{if(typeof Pt!=="function"){throw new Wt.TypeError(en+" is not a function")}function invokeTheCallbackFunction(Wt,en){const tn=nn.tryWrapperForImpl(this);let an;Wt=nn.tryWrapperForImpl(Wt);en=nn.tryWrapperForImpl(en);an=Reflect.apply(Pt,tn,[Wt,en])}invokeTheCallbackFunction.construct=(Wt,en)=>{Wt=nn.tryWrapperForImpl(Wt);en=nn.tryWrapperForImpl(en);let tn=Reflect.construct(Pt,[Wt,en])};invokeTheCallbackFunction[nn.wrapperSymbol]=Pt;invokeTheCallbackFunction.objectReference=Pt;return invokeTheCallbackFunction}},90314:(Wt,Pt,en)=>{const tn=en(37125);const nn=en(87094);const an=en(73735);const In=en(24171);const rn=en(33308);const sn=nn.implSymbol;const on=nn.ctorRegistrySymbol;const cn="MutationObserver";Pt.is=Wt=>nn.isObject(Wt)&&nn.hasOwn(Wt,sn)&&Wt[sn]instanceof un.implementation;Pt.isImpl=Wt=>nn.isObject(Wt)&&Wt instanceof un.implementation;Pt.convert=(Wt,en,{context:tn="The provided value"}={})=>{if(Pt.is(en)){return nn.implForWrapper(en)}throw new Wt.TypeError(`${tn} is not of type 'MutationObserver'.`)};function makeWrapper(Wt,Pt){let en;if(Pt!==undefined){en=Pt.prototype}if(!nn.isObject(en)){en=Wt[on]["MutationObserver"].prototype}return Object.create(en)}Pt.create=(Wt,en,tn)=>{const nn=makeWrapper(Wt);return Pt.setup(nn,Wt,en,tn)};Pt.createImpl=(Wt,en,tn)=>{const an=Pt.create(Wt,en,tn);return nn.implForWrapper(an)};Pt._internalSetup=(Wt,Pt)=>{};Pt.setup=(Wt,en,tn=[],an={})=>{an.wrapper=Wt;Pt._internalSetup(Wt,en);Object.defineProperty(Wt,sn,{value:new un.implementation(en,tn,an),configurable:true});Wt[sn][nn.wrapperSymbol]=Wt;if(un.init){un.init(Wt[sn])}return Wt};Pt["new"]=(Wt,en)=>{const tn=makeWrapper(Wt,en);Pt._internalSetup(tn,Wt);Object.defineProperty(tn,sn,{value:Object.create(un.implementation.prototype),configurable:true});tn[sn][nn.wrapperSymbol]=tn;if(un.init){un.init(tn[sn])}return tn[sn]};const dn=new Set(["Window"]);Pt.install=(Wt,en)=>{if(!en.some((Wt=>dn.has(Wt)))){return}const tn=nn.initCtorRegistry(Wt);class MutationObserver{constructor(en){if(arguments.length<1){throw new Wt.TypeError(`Failed to construct 'MutationObserver': 1 argument required, but only ${arguments.length} present.`)}const tn=[];{let Pt=arguments[0];Pt=an.convert(Wt,Pt,{context:"Failed to construct 'MutationObserver': parameter 1"});tn.push(Pt)}return Pt.setup(Object.create(new.target.prototype),Wt,tn)}observe(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'observe' called on an object that is not a valid instance of MutationObserver.")}if(arguments.length<1){throw new Wt.TypeError(`Failed to execute 'observe' on 'MutationObserver': 1 argument required, but only ${arguments.length} present.`)}const nn=[];{let Pt=arguments[0];Pt=In.convert(Wt,Pt,{context:"Failed to execute 'observe' on 'MutationObserver': parameter 1"});nn.push(Pt)}{let Pt=arguments[1];Pt=rn.convert(Wt,Pt,{context:"Failed to execute 'observe' on 'MutationObserver': parameter 2"});nn.push(Pt)}return tn[sn].observe(...nn)}disconnect(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'disconnect' called on an object that is not a valid instance of MutationObserver.")}return en[sn].disconnect()}takeRecords(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'takeRecords' called on an object that is not a valid instance of MutationObserver.")}return nn.tryWrapperForImpl(en[sn].takeRecords())}}Object.defineProperties(MutationObserver.prototype,{observe:{enumerable:true},disconnect:{enumerable:true},takeRecords:{enumerable:true},[Symbol.toStringTag]:{value:"MutationObserver",configurable:true}});tn[cn]=MutationObserver;Object.defineProperty(Wt,cn,{configurable:true,writable:true,value:MutationObserver})};const un=en(26208)},33308:(Wt,Pt,en)=>{const tn=en(37125);const nn=en(87094);Pt._convertInherit=(Wt,Pt,en,{context:an="The provided value"}={})=>{{const In="attributeFilter";let rn=Pt===undefined||Pt===null?undefined:Pt[In];if(rn!==undefined){if(!nn.isObject(rn)){throw new Wt.TypeError(an+" has member 'attributeFilter' that"+" is not an iterable object.")}else{const Pt=[];const en=rn;for(let nn of en){nn=tn["DOMString"](nn,{context:an+" has member 'attributeFilter' that"+"'s element",globals:Wt});Pt.push(nn)}rn=Pt}en[In]=rn}}{const nn="attributeOldValue";let In=Pt===undefined||Pt===null?undefined:Pt[nn];if(In!==undefined){In=tn["boolean"](In,{context:an+" has member 'attributeOldValue' that",globals:Wt});en[nn]=In}}{const nn="attributes";let In=Pt===undefined||Pt===null?undefined:Pt[nn];if(In!==undefined){In=tn["boolean"](In,{context:an+" has member 'attributes' that",globals:Wt});en[nn]=In}}{const nn="characterData";let In=Pt===undefined||Pt===null?undefined:Pt[nn];if(In!==undefined){In=tn["boolean"](In,{context:an+" has member 'characterData' that",globals:Wt});en[nn]=In}}{const nn="characterDataOldValue";let In=Pt===undefined||Pt===null?undefined:Pt[nn];if(In!==undefined){In=tn["boolean"](In,{context:an+" has member 'characterDataOldValue' that",globals:Wt});en[nn]=In}}{const nn="childList";let In=Pt===undefined||Pt===null?undefined:Pt[nn];if(In!==undefined){In=tn["boolean"](In,{context:an+" has member 'childList' that",globals:Wt});en[nn]=In}else{en[nn]=false}}{const nn="subtree";let In=Pt===undefined||Pt===null?undefined:Pt[nn];if(In!==undefined){In=tn["boolean"](In,{context:an+" has member 'subtree' that",globals:Wt});en[nn]=In}else{en[nn]=false}}};Pt.convert=(Wt,en,{context:tn="The provided value"}={})=>{if(en!==undefined&&typeof en!=="object"&&typeof en!=="function"){throw new Wt.TypeError(`${tn} is not an object.`)}const nn=Object.create(null);Pt._convertInherit(Wt,en,nn,{context:tn});return nn}},84761:(Wt,Pt,en)=>{const tn=en(37125);const nn=en(87094);const an=nn.implSymbol;const In=nn.ctorRegistrySymbol;const rn="MutationRecord";Pt.is=Wt=>nn.isObject(Wt)&&nn.hasOwn(Wt,an)&&Wt[an]instanceof on.implementation;Pt.isImpl=Wt=>nn.isObject(Wt)&&Wt instanceof on.implementation;Pt.convert=(Wt,en,{context:tn="The provided value"}={})=>{if(Pt.is(en)){return nn.implForWrapper(en)}throw new Wt.TypeError(`${tn} is not of type 'MutationRecord'.`)};function makeWrapper(Wt,Pt){let en;if(Pt!==undefined){en=Pt.prototype}if(!nn.isObject(en)){en=Wt[In]["MutationRecord"].prototype}return Object.create(en)}Pt.create=(Wt,en,tn)=>{const nn=makeWrapper(Wt);return Pt.setup(nn,Wt,en,tn)};Pt.createImpl=(Wt,en,tn)=>{const an=Pt.create(Wt,en,tn);return nn.implForWrapper(an)};Pt._internalSetup=(Wt,Pt)=>{};Pt.setup=(Wt,en,tn=[],In={})=>{In.wrapper=Wt;Pt._internalSetup(Wt,en);Object.defineProperty(Wt,an,{value:new on.implementation(en,tn,In),configurable:true});Wt[an][nn.wrapperSymbol]=Wt;if(on.init){on.init(Wt[an])}return Wt};Pt["new"]=(Wt,en)=>{const tn=makeWrapper(Wt,en);Pt._internalSetup(tn,Wt);Object.defineProperty(tn,an,{value:Object.create(on.implementation.prototype),configurable:true});tn[an][nn.wrapperSymbol]=tn;if(on.init){on.init(tn[an])}return tn[an]};const sn=new Set(["Window"]);Pt.install=(Wt,en)=>{if(!en.some((Wt=>sn.has(Wt)))){return}const tn=nn.initCtorRegistry(Wt);class MutationRecord{constructor(){throw new Wt.TypeError("Illegal constructor")}get type(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get type' called on an object that is not a valid instance of MutationRecord.")}return en[an]["type"]}get target(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get target' called on an object that is not a valid instance of MutationRecord.")}return nn.getSameObject(this,"target",(()=>nn.tryWrapperForImpl(en[an]["target"])))}get addedNodes(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get addedNodes' called on an object that is not a valid instance of MutationRecord.")}return nn.getSameObject(this,"addedNodes",(()=>nn.tryWrapperForImpl(en[an]["addedNodes"])))}get removedNodes(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get removedNodes' called on an object that is not a valid instance of MutationRecord.")}return nn.getSameObject(this,"removedNodes",(()=>nn.tryWrapperForImpl(en[an]["removedNodes"])))}get previousSibling(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get previousSibling' called on an object that is not a valid instance of MutationRecord.")}return nn.tryWrapperForImpl(en[an]["previousSibling"])}get nextSibling(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get nextSibling' called on an object that is not a valid instance of MutationRecord.")}return nn.tryWrapperForImpl(en[an]["nextSibling"])}get attributeName(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get attributeName' called on an object that is not a valid instance of MutationRecord.")}return en[an]["attributeName"]}get attributeNamespace(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get attributeNamespace' called on an object that is not a valid instance of MutationRecord.")}return en[an]["attributeNamespace"]}get oldValue(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get oldValue' called on an object that is not a valid instance of MutationRecord.")}return en[an]["oldValue"]}}Object.defineProperties(MutationRecord.prototype,{type:{enumerable:true},target:{enumerable:true},addedNodes:{enumerable:true},removedNodes:{enumerable:true},previousSibling:{enumerable:true},nextSibling:{enumerable:true},attributeName:{enumerable:true},attributeNamespace:{enumerable:true},oldValue:{enumerable:true},[Symbol.toStringTag]:{value:"MutationRecord",configurable:true}});tn[rn]=MutationRecord;Object.defineProperty(Wt,rn,{configurable:true,writable:true,value:MutationRecord})};const on=en(86637)},89762:(Wt,Pt,en)=>{const tn=en(37125);const nn=en(87094);const an=en(17552);const In=en(8348).ceReactionsPreSteps;const rn=en(8348).ceReactionsPostSteps;const sn=nn.implSymbol;const on=nn.ctorRegistrySymbol;const cn="NamedNodeMap";Pt.is=Wt=>nn.isObject(Wt)&&nn.hasOwn(Wt,sn)&&Wt[sn]instanceof pn.implementation;Pt.isImpl=Wt=>nn.isObject(Wt)&&Wt instanceof pn.implementation;Pt.convert=(Wt,en,{context:tn="The provided value"}={})=>{if(Pt.is(en)){return nn.implForWrapper(en)}throw new Wt.TypeError(`${tn} is not of type 'NamedNodeMap'.`)};function makeWrapper(Wt,Pt){let en;if(Pt!==undefined){en=Pt.prototype}if(!nn.isObject(en)){en=Wt[on]["NamedNodeMap"].prototype}return Object.create(en)}function makeProxy(Wt,Pt){let en=un.get(Pt);if(en===undefined){en=new ProxyHandler(Pt);un.set(Pt,en)}return new Proxy(Wt,en)}Pt.create=(Wt,en,tn)=>{const nn=makeWrapper(Wt);return Pt.setup(nn,Wt,en,tn)};Pt.createImpl=(Wt,en,tn)=>{const an=Pt.create(Wt,en,tn);return nn.implForWrapper(an)};Pt._internalSetup=(Wt,Pt)=>{};Pt.setup=(Wt,en,tn=[],an={})=>{an.wrapper=Wt;Pt._internalSetup(Wt,en);Object.defineProperty(Wt,sn,{value:new pn.implementation(en,tn,an),configurable:true});Wt=makeProxy(Wt,en);Wt[sn][nn.wrapperSymbol]=Wt;if(pn.init){pn.init(Wt[sn])}return Wt};Pt["new"]=(Wt,en)=>{let tn=makeWrapper(Wt,en);Pt._internalSetup(tn,Wt);Object.defineProperty(tn,sn,{value:Object.create(pn.implementation.prototype),configurable:true});tn=makeProxy(tn,Wt);tn[sn][nn.wrapperSymbol]=tn;if(pn.init){pn.init(tn[sn])}return tn[sn]};const dn=new Set(["Window"]);Pt.install=(Wt,en)=>{if(!en.some((Wt=>dn.has(Wt)))){return}const on=nn.initCtorRegistry(Wt);class NamedNodeMap{constructor(){throw new Wt.TypeError("Illegal constructor")}item(en){const an=this!==null&&this!==undefined?this:Wt;if(!Pt.is(an)){throw new Wt.TypeError("'item' called on an object that is not a valid instance of NamedNodeMap.")}if(arguments.length<1){throw new Wt.TypeError(`Failed to execute 'item' on 'NamedNodeMap': 1 argument required, but only ${arguments.length} present.`)}const In=[];{let Pt=arguments[0];Pt=tn["unsigned long"](Pt,{context:"Failed to execute 'item' on 'NamedNodeMap': parameter 1",globals:Wt});In.push(Pt)}return nn.tryWrapperForImpl(an[sn].item(...In))}getNamedItem(en){const an=this!==null&&this!==undefined?this:Wt;if(!Pt.is(an)){throw new Wt.TypeError("'getNamedItem' called on an object that is not a valid instance of NamedNodeMap.")}if(arguments.length<1){throw new Wt.TypeError(`Failed to execute 'getNamedItem' on 'NamedNodeMap': 1 argument required, but only ${arguments.length} present.`)}const In=[];{let Pt=arguments[0];Pt=tn["DOMString"](Pt,{context:"Failed to execute 'getNamedItem' on 'NamedNodeMap': parameter 1",globals:Wt});In.push(Pt)}return nn.tryWrapperForImpl(an[sn].getNamedItem(...In))}getNamedItemNS(en,an){const In=this!==null&&this!==undefined?this:Wt;if(!Pt.is(In)){throw new Wt.TypeError("'getNamedItemNS' called on an object that is not a valid instance of NamedNodeMap.")}if(arguments.length<2){throw new Wt.TypeError(`Failed to execute 'getNamedItemNS' on 'NamedNodeMap': 2 arguments required, but only ${arguments.length} present.`)}const rn=[];{let Pt=arguments[0];if(Pt===null||Pt===undefined){Pt=null}else{Pt=tn["DOMString"](Pt,{context:"Failed to execute 'getNamedItemNS' on 'NamedNodeMap': parameter 1",globals:Wt})}rn.push(Pt)}{let Pt=arguments[1];Pt=tn["DOMString"](Pt,{context:"Failed to execute 'getNamedItemNS' on 'NamedNodeMap': parameter 2",globals:Wt});rn.push(Pt)}return nn.tryWrapperForImpl(In[sn].getNamedItemNS(...rn))}setNamedItem(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'setNamedItem' called on an object that is not a valid instance of NamedNodeMap.")}if(arguments.length<1){throw new Wt.TypeError(`Failed to execute 'setNamedItem' on 'NamedNodeMap': 1 argument required, but only ${arguments.length} present.`)}const on=[];{let Pt=arguments[0];Pt=an.convert(Wt,Pt,{context:"Failed to execute 'setNamedItem' on 'NamedNodeMap': parameter 1"});on.push(Pt)}In(Wt);try{return nn.tryWrapperForImpl(tn[sn].setNamedItem(...on))}finally{rn(Wt)}}setNamedItemNS(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'setNamedItemNS' called on an object that is not a valid instance of NamedNodeMap.")}if(arguments.length<1){throw new Wt.TypeError(`Failed to execute 'setNamedItemNS' on 'NamedNodeMap': 1 argument required, but only ${arguments.length} present.`)}const on=[];{let Pt=arguments[0];Pt=an.convert(Wt,Pt,{context:"Failed to execute 'setNamedItemNS' on 'NamedNodeMap': parameter 1"});on.push(Pt)}In(Wt);try{return nn.tryWrapperForImpl(tn[sn].setNamedItemNS(...on))}finally{rn(Wt)}}removeNamedItem(en){const an=this!==null&&this!==undefined?this:Wt;if(!Pt.is(an)){throw new Wt.TypeError("'removeNamedItem' called on an object that is not a valid instance of NamedNodeMap.")}if(arguments.length<1){throw new Wt.TypeError(`Failed to execute 'removeNamedItem' on 'NamedNodeMap': 1 argument required, but only ${arguments.length} present.`)}const on=[];{let Pt=arguments[0];Pt=tn["DOMString"](Pt,{context:"Failed to execute 'removeNamedItem' on 'NamedNodeMap': parameter 1",globals:Wt});on.push(Pt)}In(Wt);try{return nn.tryWrapperForImpl(an[sn].removeNamedItem(...on))}finally{rn(Wt)}}removeNamedItemNS(en,an){const on=this!==null&&this!==undefined?this:Wt;if(!Pt.is(on)){throw new Wt.TypeError("'removeNamedItemNS' called on an object that is not a valid instance of NamedNodeMap.")}if(arguments.length<2){throw new Wt.TypeError(`Failed to execute 'removeNamedItemNS' on 'NamedNodeMap': 2 arguments required, but only ${arguments.length} present.`)}const cn=[];{let Pt=arguments[0];if(Pt===null||Pt===undefined){Pt=null}else{Pt=tn["DOMString"](Pt,{context:"Failed to execute 'removeNamedItemNS' on 'NamedNodeMap': parameter 1",globals:Wt})}cn.push(Pt)}{let Pt=arguments[1];Pt=tn["DOMString"](Pt,{context:"Failed to execute 'removeNamedItemNS' on 'NamedNodeMap': parameter 2",globals:Wt});cn.push(Pt)}In(Wt);try{return nn.tryWrapperForImpl(on[sn].removeNamedItemNS(...cn))}finally{rn(Wt)}}get length(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get length' called on an object that is not a valid instance of NamedNodeMap.")}return en[sn]["length"]}}Object.defineProperties(NamedNodeMap.prototype,{item:{enumerable:true},getNamedItem:{enumerable:true},getNamedItemNS:{enumerable:true},setNamedItem:{enumerable:true},setNamedItemNS:{enumerable:true},removeNamedItem:{enumerable:true},removeNamedItemNS:{enumerable:true},length:{enumerable:true},[Symbol.toStringTag]:{value:"NamedNodeMap",configurable:true},[Symbol.iterator]:{value:Wt.Array.prototype[Symbol.iterator],configurable:true,writable:true}});on[cn]=NamedNodeMap;Object.defineProperty(Wt,cn,{configurable:true,writable:true,value:NamedNodeMap})};const un=new WeakMap;class ProxyHandler{constructor(Wt){this._globalObject=Wt}get(Wt,Pt,en){if(typeof Pt==="symbol"){return Reflect.get(Wt,Pt,en)}const tn=this.getOwnPropertyDescriptor(Wt,Pt);if(tn===undefined){const tn=Object.getPrototypeOf(Wt);if(tn===null){return undefined}return Reflect.get(Wt,Pt,en)}if(!tn.get&&!tn.set){return tn.value}const nn=tn.get;if(nn===undefined){return undefined}return Reflect.apply(nn,en,[])}has(Wt,Pt){if(typeof Pt==="symbol"){return Reflect.has(Wt,Pt)}const en=this.getOwnPropertyDescriptor(Wt,Pt);if(en!==undefined){return true}const tn=Object.getPrototypeOf(Wt);if(tn!==null){return Reflect.has(tn,Pt)}return false}ownKeys(Wt){const Pt=new Set;for(const en of Wt[sn][nn.supportedPropertyIndices]){Pt.add(`${en}`)}for(const en of Wt[sn][nn.supportedPropertyNames]){if(!(en in Wt)){Pt.add(`${en}`)}}for(const en of Reflect.ownKeys(Wt)){Pt.add(en)}return[...Pt]}getOwnPropertyDescriptor(Wt,Pt){if(typeof Pt==="symbol"){return Reflect.getOwnPropertyDescriptor(Wt,Pt)}let en=false;if(nn.isArrayIndexPropName(Pt)){const tn=Pt>>>0;const an=Wt[sn].item(tn);if(an!==null){return{writable:false,enumerable:true,configurable:true,value:nn.tryWrapperForImpl(an)}}en=true}const tn=Wt[sn].getNamedItem(Pt);if(tn!==null&&!(Pt in Wt)&&!en){return{writable:false,enumerable:false,configurable:true,value:nn.tryWrapperForImpl(tn)}}return Reflect.getOwnPropertyDescriptor(Wt,Pt)}set(Wt,Pt,en,tn){if(typeof Pt==="symbol"){return Reflect.set(Wt,Pt,en,tn)}if(Wt[sn][nn.wrapperSymbol]===tn){const Wt=this._globalObject}let an;if(nn.isArrayIndexPropName(Pt)){const en=Pt>>>0;const tn=Wt[sn].item(en);if(tn!==null){an={writable:false,enumerable:true,configurable:true,value:nn.tryWrapperForImpl(tn)}}}if(an===undefined){an=Reflect.getOwnPropertyDescriptor(Wt,Pt)}if(an===undefined){const nn=Reflect.getPrototypeOf(Wt);if(nn!==null){return Reflect.set(nn,Pt,en,tn)}an={writable:true,enumerable:true,configurable:true,value:undefined}}if(!an.writable){return false}if(!nn.isObject(tn)){return false}const In=Reflect.getOwnPropertyDescriptor(tn,Pt);let rn;if(In!==undefined){if(In.get||In.set){return false}if(!In.writable){return false}rn={value:en}}else{rn={writable:true,enumerable:true,configurable:true,value:en}}return Reflect.defineProperty(tn,Pt,rn)}defineProperty(Wt,Pt,en){if(typeof Pt==="symbol"){return Reflect.defineProperty(Wt,Pt,en)}const tn=this._globalObject;if(nn.isArrayIndexPropName(Pt)){return false}if(!nn.hasOwn(Wt,Pt)){const en=!(Wt[sn].getNamedItem(Pt)!==null);if(!en){return false}}return Reflect.defineProperty(Wt,Pt,en)}deleteProperty(Wt,Pt){if(typeof Pt==="symbol"){return Reflect.deleteProperty(Wt,Pt)}const en=this._globalObject;if(nn.isArrayIndexPropName(Pt)){const en=Pt>>>0;return!(Wt[sn].item(en)!==null)}if(Wt[sn].getNamedItem(Pt)!==null&&!(Pt in Wt)){return false}return Reflect.deleteProperty(Wt,Pt)}preventExtensions(){return false}}const pn=en(84817)},60618:(Wt,Pt,en)=>{const tn=en(37125);const nn=en(87094);const an=nn.implSymbol;const In=nn.ctorRegistrySymbol;const rn="Navigator";Pt.is=Wt=>nn.isObject(Wt)&&nn.hasOwn(Wt,an)&&Wt[an]instanceof on.implementation;Pt.isImpl=Wt=>nn.isObject(Wt)&&Wt instanceof on.implementation;Pt.convert=(Wt,en,{context:tn="The provided value"}={})=>{if(Pt.is(en)){return nn.implForWrapper(en)}throw new Wt.TypeError(`${tn} is not of type 'Navigator'.`)};function makeWrapper(Wt,Pt){let en;if(Pt!==undefined){en=Pt.prototype}if(!nn.isObject(en)){en=Wt[In]["Navigator"].prototype}return Object.create(en)}Pt.create=(Wt,en,tn)=>{const nn=makeWrapper(Wt);return Pt.setup(nn,Wt,en,tn)};Pt.createImpl=(Wt,en,tn)=>{const an=Pt.create(Wt,en,tn);return nn.implForWrapper(an)};Pt._internalSetup=(Wt,Pt)=>{};Pt.setup=(Wt,en,tn=[],In={})=>{In.wrapper=Wt;Pt._internalSetup(Wt,en);Object.defineProperty(Wt,an,{value:new on.implementation(en,tn,In),configurable:true});Wt[an][nn.wrapperSymbol]=Wt;if(on.init){on.init(Wt[an])}return Wt};Pt["new"]=(Wt,en)=>{const tn=makeWrapper(Wt,en);Pt._internalSetup(tn,Wt);Object.defineProperty(tn,an,{value:Object.create(on.implementation.prototype),configurable:true});tn[an][nn.wrapperSymbol]=tn;if(on.init){on.init(tn[an])}return tn[an]};const sn=new Set(["Window"]);Pt.install=(Wt,en)=>{if(!en.some((Wt=>sn.has(Wt)))){return}const tn=nn.initCtorRegistry(Wt);class Navigator{constructor(){throw new Wt.TypeError("Illegal constructor")}javaEnabled(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'javaEnabled' called on an object that is not a valid instance of Navigator.")}return en[an].javaEnabled()}get appCodeName(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get appCodeName' called on an object that is not a valid instance of Navigator.")}return en[an]["appCodeName"]}get appName(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get appName' called on an object that is not a valid instance of Navigator.")}return en[an]["appName"]}get appVersion(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get appVersion' called on an object that is not a valid instance of Navigator.")}return en[an]["appVersion"]}get platform(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get platform' called on an object that is not a valid instance of Navigator.")}return en[an]["platform"]}get product(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get product' called on an object that is not a valid instance of Navigator.")}return en[an]["product"]}get productSub(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get productSub' called on an object that is not a valid instance of Navigator.")}return en[an]["productSub"]}get userAgent(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get userAgent' called on an object that is not a valid instance of Navigator.")}return en[an]["userAgent"]}get vendor(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get vendor' called on an object that is not a valid instance of Navigator.")}return en[an]["vendor"]}get vendorSub(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get vendorSub' called on an object that is not a valid instance of Navigator.")}return en[an]["vendorSub"]}get language(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get language' called on an object that is not a valid instance of Navigator.")}return en[an]["language"]}get languages(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get languages' called on an object that is not a valid instance of Navigator.")}return nn.tryWrapperForImpl(en[an]["languages"])}get onLine(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get onLine' called on an object that is not a valid instance of Navigator.")}return en[an]["onLine"]}get cookieEnabled(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get cookieEnabled' called on an object that is not a valid instance of Navigator.")}return en[an]["cookieEnabled"]}get plugins(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get plugins' called on an object that is not a valid instance of Navigator.")}return nn.getSameObject(this,"plugins",(()=>nn.tryWrapperForImpl(en[an]["plugins"])))}get mimeTypes(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get mimeTypes' called on an object that is not a valid instance of Navigator.")}return nn.getSameObject(this,"mimeTypes",(()=>nn.tryWrapperForImpl(en[an]["mimeTypes"])))}get hardwareConcurrency(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get hardwareConcurrency' called on an object that is not a valid instance of Navigator.")}return en[an]["hardwareConcurrency"]}}Object.defineProperties(Navigator.prototype,{javaEnabled:{enumerable:true},appCodeName:{enumerable:true},appName:{enumerable:true},appVersion:{enumerable:true},platform:{enumerable:true},product:{enumerable:true},productSub:{enumerable:true},userAgent:{enumerable:true},vendor:{enumerable:true},vendorSub:{enumerable:true},language:{enumerable:true},languages:{enumerable:true},onLine:{enumerable:true},cookieEnabled:{enumerable:true},plugins:{enumerable:true},mimeTypes:{enumerable:true},hardwareConcurrency:{enumerable:true},[Symbol.toStringTag]:{value:"Navigator",configurable:true}});tn[rn]=Navigator;Object.defineProperty(Wt,rn,{configurable:true,writable:true,value:Navigator})};const on=en(76605)},24171:(Wt,Pt,en)=>{const tn=en(37125);const nn=en(87094);const an=en(1433);const In=en(8348).ceReactionsPreSteps;const rn=en(8348).ceReactionsPostSteps;const sn=nn.implSymbol;const on=nn.ctorRegistrySymbol;const cn=en(29122);const dn="Node";Pt.is=Wt=>nn.isObject(Wt)&&nn.hasOwn(Wt,sn)&&Wt[sn]instanceof pn.implementation;Pt.isImpl=Wt=>nn.isObject(Wt)&&Wt instanceof pn.implementation;Pt.convert=(Wt,en,{context:tn="The provided value"}={})=>{if(Pt.is(en)){return nn.implForWrapper(en)}throw new Wt.TypeError(`${tn} is not of type 'Node'.`)};function makeWrapper(Wt,Pt){let en;if(Pt!==undefined){en=Pt.prototype}if(!nn.isObject(en)){en=Wt[on]["Node"].prototype}return Object.create(en)}Pt.create=(Wt,en,tn)=>{const nn=makeWrapper(Wt);return Pt.setup(nn,Wt,en,tn)};Pt.createImpl=(Wt,en,tn)=>{const an=Pt.create(Wt,en,tn);return nn.implForWrapper(an)};Pt._internalSetup=(Wt,Pt)=>{cn._internalSetup(Wt,Pt)};Pt.setup=(Wt,en,tn=[],an={})=>{an.wrapper=Wt;Pt._internalSetup(Wt,en);Object.defineProperty(Wt,sn,{value:new pn.implementation(en,tn,an),configurable:true});Wt[sn][nn.wrapperSymbol]=Wt;if(pn.init){pn.init(Wt[sn])}return Wt};Pt["new"]=(Wt,en)=>{const tn=makeWrapper(Wt,en);Pt._internalSetup(tn,Wt);Object.defineProperty(tn,sn,{value:Object.create(pn.implementation.prototype),configurable:true});tn[sn][nn.wrapperSymbol]=tn;if(pn.init){pn.init(tn[sn])}return tn[sn]};const un=new Set(["Window"]);Pt.install=(Wt,en)=>{if(!en.some((Wt=>un.has(Wt)))){return}const on=nn.initCtorRegistry(Wt);class Node extends Wt.EventTarget{constructor(){throw new Wt.TypeError("Illegal constructor")}getRootNode(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'getRootNode' called on an object that is not a valid instance of Node.")}const tn=[];{let Pt=arguments[0];Pt=an.convert(Wt,Pt,{context:"Failed to execute 'getRootNode' on 'Node': parameter 1"});tn.push(Pt)}return nn.tryWrapperForImpl(en[sn].getRootNode(...tn))}hasChildNodes(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'hasChildNodes' called on an object that is not a valid instance of Node.")}return en[sn].hasChildNodes()}normalize(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'normalize' called on an object that is not a valid instance of Node.")}In(Wt);try{return en[sn].normalize()}finally{rn(Wt)}}cloneNode(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'cloneNode' called on an object that is not a valid instance of Node.")}const an=[];{let Pt=arguments[0];if(Pt!==undefined){Pt=tn["boolean"](Pt,{context:"Failed to execute 'cloneNode' on 'Node': parameter 1",globals:Wt})}else{Pt=false}an.push(Pt)}In(Wt);try{return nn.tryWrapperForImpl(en[sn].cloneNode(...an))}finally{rn(Wt)}}isEqualNode(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'isEqualNode' called on an object that is not a valid instance of Node.")}if(arguments.length<1){throw new Wt.TypeError(`Failed to execute 'isEqualNode' on 'Node': 1 argument required, but only ${arguments.length} present.`)}const nn=[];{let en=arguments[0];if(en===null||en===undefined){en=null}else{en=Pt.convert(Wt,en,{context:"Failed to execute 'isEqualNode' on 'Node': parameter 1"})}nn.push(en)}return tn[sn].isEqualNode(...nn)}isSameNode(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'isSameNode' called on an object that is not a valid instance of Node.")}if(arguments.length<1){throw new Wt.TypeError(`Failed to execute 'isSameNode' on 'Node': 1 argument required, but only ${arguments.length} present.`)}const nn=[];{let en=arguments[0];if(en===null||en===undefined){en=null}else{en=Pt.convert(Wt,en,{context:"Failed to execute 'isSameNode' on 'Node': parameter 1"})}nn.push(en)}return tn[sn].isSameNode(...nn)}compareDocumentPosition(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'compareDocumentPosition' called on an object that is not a valid instance of Node.")}if(arguments.length<1){throw new Wt.TypeError(`Failed to execute 'compareDocumentPosition' on 'Node': 1 argument required, but only ${arguments.length} present.`)}const nn=[];{let en=arguments[0];en=Pt.convert(Wt,en,{context:"Failed to execute 'compareDocumentPosition' on 'Node': parameter 1"});nn.push(en)}return tn[sn].compareDocumentPosition(...nn)}contains(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'contains' called on an object that is not a valid instance of Node.")}if(arguments.length<1){throw new Wt.TypeError(`Failed to execute 'contains' on 'Node': 1 argument required, but only ${arguments.length} present.`)}const nn=[];{let en=arguments[0];if(en===null||en===undefined){en=null}else{en=Pt.convert(Wt,en,{context:"Failed to execute 'contains' on 'Node': parameter 1"})}nn.push(en)}return tn[sn].contains(...nn)}lookupPrefix(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'lookupPrefix' called on an object that is not a valid instance of Node.")}if(arguments.length<1){throw new Wt.TypeError(`Failed to execute 'lookupPrefix' on 'Node': 1 argument required, but only ${arguments.length} present.`)}const an=[];{let Pt=arguments[0];if(Pt===null||Pt===undefined){Pt=null}else{Pt=tn["DOMString"](Pt,{context:"Failed to execute 'lookupPrefix' on 'Node': parameter 1",globals:Wt})}an.push(Pt)}return nn[sn].lookupPrefix(...an)}lookupNamespaceURI(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'lookupNamespaceURI' called on an object that is not a valid instance of Node.")}if(arguments.length<1){throw new Wt.TypeError(`Failed to execute 'lookupNamespaceURI' on 'Node': 1 argument required, but only ${arguments.length} present.`)}const an=[];{let Pt=arguments[0];if(Pt===null||Pt===undefined){Pt=null}else{Pt=tn["DOMString"](Pt,{context:"Failed to execute 'lookupNamespaceURI' on 'Node': parameter 1",globals:Wt})}an.push(Pt)}return nn[sn].lookupNamespaceURI(...an)}isDefaultNamespace(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'isDefaultNamespace' called on an object that is not a valid instance of Node.")}if(arguments.length<1){throw new Wt.TypeError(`Failed to execute 'isDefaultNamespace' on 'Node': 1 argument required, but only ${arguments.length} present.`)}const an=[];{let Pt=arguments[0];if(Pt===null||Pt===undefined){Pt=null}else{Pt=tn["DOMString"](Pt,{context:"Failed to execute 'isDefaultNamespace' on 'Node': parameter 1",globals:Wt})}an.push(Pt)}return nn[sn].isDefaultNamespace(...an)}insertBefore(en,tn){const an=this!==null&&this!==undefined?this:Wt;if(!Pt.is(an)){throw new Wt.TypeError("'insertBefore' called on an object that is not a valid instance of Node.")}if(arguments.length<2){throw new Wt.TypeError(`Failed to execute 'insertBefore' on 'Node': 2 arguments required, but only ${arguments.length} present.`)}const on=[];{let en=arguments[0];en=Pt.convert(Wt,en,{context:"Failed to execute 'insertBefore' on 'Node': parameter 1"});on.push(en)}{let en=arguments[1];if(en===null||en===undefined){en=null}else{en=Pt.convert(Wt,en,{context:"Failed to execute 'insertBefore' on 'Node': parameter 2"})}on.push(en)}In(Wt);try{return nn.tryWrapperForImpl(an[sn].insertBefore(...on))}finally{rn(Wt)}}appendChild(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'appendChild' called on an object that is not a valid instance of Node.")}if(arguments.length<1){throw new Wt.TypeError(`Failed to execute 'appendChild' on 'Node': 1 argument required, but only ${arguments.length} present.`)}const an=[];{let en=arguments[0];en=Pt.convert(Wt,en,{context:"Failed to execute 'appendChild' on 'Node': parameter 1"});an.push(en)}In(Wt);try{return nn.tryWrapperForImpl(tn[sn].appendChild(...an))}finally{rn(Wt)}}replaceChild(en,tn){const an=this!==null&&this!==undefined?this:Wt;if(!Pt.is(an)){throw new Wt.TypeError("'replaceChild' called on an object that is not a valid instance of Node.")}if(arguments.length<2){throw new Wt.TypeError(`Failed to execute 'replaceChild' on 'Node': 2 arguments required, but only ${arguments.length} present.`)}const on=[];{let en=arguments[0];en=Pt.convert(Wt,en,{context:"Failed to execute 'replaceChild' on 'Node': parameter 1"});on.push(en)}{let en=arguments[1];en=Pt.convert(Wt,en,{context:"Failed to execute 'replaceChild' on 'Node': parameter 2"});on.push(en)}In(Wt);try{return nn.tryWrapperForImpl(an[sn].replaceChild(...on))}finally{rn(Wt)}}removeChild(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'removeChild' called on an object that is not a valid instance of Node.")}if(arguments.length<1){throw new Wt.TypeError(`Failed to execute 'removeChild' on 'Node': 1 argument required, but only ${arguments.length} present.`)}const an=[];{let en=arguments[0];en=Pt.convert(Wt,en,{context:"Failed to execute 'removeChild' on 'Node': parameter 1"});an.push(en)}In(Wt);try{return nn.tryWrapperForImpl(tn[sn].removeChild(...an))}finally{rn(Wt)}}get nodeType(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get nodeType' called on an object that is not a valid instance of Node.")}return en[sn]["nodeType"]}get nodeName(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get nodeName' called on an object that is not a valid instance of Node.")}return en[sn]["nodeName"]}get baseURI(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get baseURI' called on an object that is not a valid instance of Node.")}return en[sn]["baseURI"]}get isConnected(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get isConnected' called on an object that is not a valid instance of Node.")}return en[sn]["isConnected"]}get ownerDocument(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get ownerDocument' called on an object that is not a valid instance of Node.")}return nn.tryWrapperForImpl(en[sn]["ownerDocument"])}get parentNode(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get parentNode' called on an object that is not a valid instance of Node.")}return nn.tryWrapperForImpl(en[sn]["parentNode"])}get parentElement(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get parentElement' called on an object that is not a valid instance of Node.")}return nn.tryWrapperForImpl(en[sn]["parentElement"])}get childNodes(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get childNodes' called on an object that is not a valid instance of Node.")}return nn.getSameObject(this,"childNodes",(()=>nn.tryWrapperForImpl(en[sn]["childNodes"])))}get firstChild(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get firstChild' called on an object that is not a valid instance of Node.")}return nn.tryWrapperForImpl(en[sn]["firstChild"])}get lastChild(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get lastChild' called on an object that is not a valid instance of Node.")}return nn.tryWrapperForImpl(en[sn]["lastChild"])}get previousSibling(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get previousSibling' called on an object that is not a valid instance of Node.")}return nn.tryWrapperForImpl(en[sn]["previousSibling"])}get nextSibling(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get nextSibling' called on an object that is not a valid instance of Node.")}return nn.tryWrapperForImpl(en[sn]["nextSibling"])}get nodeValue(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get nodeValue' called on an object that is not a valid instance of Node.")}In(Wt);try{return en[sn]["nodeValue"]}finally{rn(Wt)}}set nodeValue(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set nodeValue' called on an object that is not a valid instance of Node.")}if(en===null||en===undefined){en=null}else{en=tn["DOMString"](en,{context:"Failed to set the 'nodeValue' property on 'Node': The provided value",globals:Wt})}In(Wt);try{nn[sn]["nodeValue"]=en}finally{rn(Wt)}}get textContent(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get textContent' called on an object that is not a valid instance of Node.")}In(Wt);try{return en[sn]["textContent"]}finally{rn(Wt)}}set textContent(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set textContent' called on an object that is not a valid instance of Node.")}if(en===null||en===undefined){en=null}else{en=tn["DOMString"](en,{context:"Failed to set the 'textContent' property on 'Node': The provided value",globals:Wt})}In(Wt);try{nn[sn]["textContent"]=en}finally{rn(Wt)}}}Object.defineProperties(Node.prototype,{getRootNode:{enumerable:true},hasChildNodes:{enumerable:true},normalize:{enumerable:true},cloneNode:{enumerable:true},isEqualNode:{enumerable:true},isSameNode:{enumerable:true},compareDocumentPosition:{enumerable:true},contains:{enumerable:true},lookupPrefix:{enumerable:true},lookupNamespaceURI:{enumerable:true},isDefaultNamespace:{enumerable:true},insertBefore:{enumerable:true},appendChild:{enumerable:true},replaceChild:{enumerable:true},removeChild:{enumerable:true},nodeType:{enumerable:true},nodeName:{enumerable:true},baseURI:{enumerable:true},isConnected:{enumerable:true},ownerDocument:{enumerable:true},parentNode:{enumerable:true},parentElement:{enumerable:true},childNodes:{enumerable:true},firstChild:{enumerable:true},lastChild:{enumerable:true},previousSibling:{enumerable:true},nextSibling:{enumerable:true},nodeValue:{enumerable:true},textContent:{enumerable:true},[Symbol.toStringTag]:{value:"Node",configurable:true},ELEMENT_NODE:{value:1,enumerable:true},ATTRIBUTE_NODE:{value:2,enumerable:true},TEXT_NODE:{value:3,enumerable:true},CDATA_SECTION_NODE:{value:4,enumerable:true},ENTITY_REFERENCE_NODE:{value:5,enumerable:true},ENTITY_NODE:{value:6,enumerable:true},PROCESSING_INSTRUCTION_NODE:{value:7,enumerable:true},COMMENT_NODE:{value:8,enumerable:true},DOCUMENT_NODE:{value:9,enumerable:true},DOCUMENT_TYPE_NODE:{value:10,enumerable:true},DOCUMENT_FRAGMENT_NODE:{value:11,enumerable:true},NOTATION_NODE:{value:12,enumerable:true},DOCUMENT_POSITION_DISCONNECTED:{value:1,enumerable:true},DOCUMENT_POSITION_PRECEDING:{value:2,enumerable:true},DOCUMENT_POSITION_FOLLOWING:{value:4,enumerable:true},DOCUMENT_POSITION_CONTAINS:{value:8,enumerable:true},DOCUMENT_POSITION_CONTAINED_BY:{value:16,enumerable:true},DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC:{value:32,enumerable:true}});Object.defineProperties(Node,{ELEMENT_NODE:{value:1,enumerable:true},ATTRIBUTE_NODE:{value:2,enumerable:true},TEXT_NODE:{value:3,enumerable:true},CDATA_SECTION_NODE:{value:4,enumerable:true},ENTITY_REFERENCE_NODE:{value:5,enumerable:true},ENTITY_NODE:{value:6,enumerable:true},PROCESSING_INSTRUCTION_NODE:{value:7,enumerable:true},COMMENT_NODE:{value:8,enumerable:true},DOCUMENT_NODE:{value:9,enumerable:true},DOCUMENT_TYPE_NODE:{value:10,enumerable:true},DOCUMENT_FRAGMENT_NODE:{value:11,enumerable:true},NOTATION_NODE:{value:12,enumerable:true},DOCUMENT_POSITION_DISCONNECTED:{value:1,enumerable:true},DOCUMENT_POSITION_PRECEDING:{value:2,enumerable:true},DOCUMENT_POSITION_FOLLOWING:{value:4,enumerable:true},DOCUMENT_POSITION_CONTAINS:{value:8,enumerable:true},DOCUMENT_POSITION_CONTAINED_BY:{value:16,enumerable:true},DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC:{value:32,enumerable:true}});on[dn]=Node;Object.defineProperty(Wt,dn,{configurable:true,writable:true,value:Node})};const pn=en(52746)},7921:(Wt,Pt,en)=>{const tn=en(37125);const nn=en(87094);Pt.convert=(Wt,Pt,{context:en="The provided value"}={})=>{if(!nn.isObject(Pt)){throw new Wt.TypeError(`${en} is not an object.`)}function callTheUserObjectsOperation(an){let In=nn.tryWrapperForImpl(this);let rn=Pt;let sn=rn;if(typeof rn!=="function"){sn=rn["acceptNode"];if(typeof sn!=="function"){throw new Wt.TypeError(`${en} does not correctly implement NodeFilter.`)}In=rn}an=nn.tryWrapperForImpl(an);let on=Reflect.apply(sn,In,[an]);on=tn["unsigned short"](on,{context:en,globals:Wt});return on}callTheUserObjectsOperation[nn.wrapperSymbol]=Pt;callTheUserObjectsOperation.objectReference=Pt;return callTheUserObjectsOperation};const an=new Set(["Window"]);Pt.install=(Wt,Pt)=>{if(!Pt.some((Wt=>an.has(Wt)))){return}const en=nn.initCtorRegistry(Wt);const NodeFilter=()=>{throw new Wt.TypeError("Illegal invocation")};Object.defineProperties(NodeFilter,{FILTER_ACCEPT:{value:1,enumerable:true},FILTER_REJECT:{value:2,enumerable:true},FILTER_SKIP:{value:3,enumerable:true},SHOW_ALL:{value:4294967295,enumerable:true},SHOW_ELEMENT:{value:1,enumerable:true},SHOW_ATTRIBUTE:{value:2,enumerable:true},SHOW_TEXT:{value:4,enumerable:true},SHOW_CDATA_SECTION:{value:8,enumerable:true},SHOW_ENTITY_REFERENCE:{value:16,enumerable:true},SHOW_ENTITY:{value:32,enumerable:true},SHOW_PROCESSING_INSTRUCTION:{value:64,enumerable:true},SHOW_COMMENT:{value:128,enumerable:true},SHOW_DOCUMENT:{value:256,enumerable:true},SHOW_DOCUMENT_TYPE:{value:512,enumerable:true},SHOW_DOCUMENT_FRAGMENT:{value:1024,enumerable:true},SHOW_NOTATION:{value:2048,enumerable:true}});Object.defineProperty(Wt,"NodeFilter",{configurable:true,writable:true,value:NodeFilter})}},71497:(Wt,Pt,en)=>{const tn=en(37125);const nn=en(87094);const an=nn.implSymbol;const In=nn.ctorRegistrySymbol;const rn="NodeIterator";Pt.is=Wt=>nn.isObject(Wt)&&nn.hasOwn(Wt,an)&&Wt[an]instanceof on.implementation;Pt.isImpl=Wt=>nn.isObject(Wt)&&Wt instanceof on.implementation;Pt.convert=(Wt,en,{context:tn="The provided value"}={})=>{if(Pt.is(en)){return nn.implForWrapper(en)}throw new Wt.TypeError(`${tn} is not of type 'NodeIterator'.`)};function makeWrapper(Wt,Pt){let en;if(Pt!==undefined){en=Pt.prototype}if(!nn.isObject(en)){en=Wt[In]["NodeIterator"].prototype}return Object.create(en)}Pt.create=(Wt,en,tn)=>{const nn=makeWrapper(Wt);return Pt.setup(nn,Wt,en,tn)};Pt.createImpl=(Wt,en,tn)=>{const an=Pt.create(Wt,en,tn);return nn.implForWrapper(an)};Pt._internalSetup=(Wt,Pt)=>{};Pt.setup=(Wt,en,tn=[],In={})=>{In.wrapper=Wt;Pt._internalSetup(Wt,en);Object.defineProperty(Wt,an,{value:new on.implementation(en,tn,In),configurable:true});Wt[an][nn.wrapperSymbol]=Wt;if(on.init){on.init(Wt[an])}return Wt};Pt["new"]=(Wt,en)=>{const tn=makeWrapper(Wt,en);Pt._internalSetup(tn,Wt);Object.defineProperty(tn,an,{value:Object.create(on.implementation.prototype),configurable:true});tn[an][nn.wrapperSymbol]=tn;if(on.init){on.init(tn[an])}return tn[an]};const sn=new Set(["Window"]);Pt.install=(Wt,en)=>{if(!en.some((Wt=>sn.has(Wt)))){return}const tn=nn.initCtorRegistry(Wt);class NodeIterator{constructor(){throw new Wt.TypeError("Illegal constructor")}nextNode(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'nextNode' called on an object that is not a valid instance of NodeIterator.")}return nn.tryWrapperForImpl(en[an].nextNode())}previousNode(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'previousNode' called on an object that is not a valid instance of NodeIterator.")}return nn.tryWrapperForImpl(en[an].previousNode())}detach(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'detach' called on an object that is not a valid instance of NodeIterator.")}return en[an].detach()}get root(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get root' called on an object that is not a valid instance of NodeIterator.")}return nn.getSameObject(this,"root",(()=>nn.tryWrapperForImpl(en[an]["root"])))}get referenceNode(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get referenceNode' called on an object that is not a valid instance of NodeIterator.")}return nn.tryWrapperForImpl(en[an]["referenceNode"])}get pointerBeforeReferenceNode(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get pointerBeforeReferenceNode' called on an object that is not a valid instance of NodeIterator.")}return en[an]["pointerBeforeReferenceNode"]}get whatToShow(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get whatToShow' called on an object that is not a valid instance of NodeIterator.")}return en[an]["whatToShow"]}get filter(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get filter' called on an object that is not a valid instance of NodeIterator.")}return nn.tryWrapperForImpl(en[an]["filter"])}}Object.defineProperties(NodeIterator.prototype,{nextNode:{enumerable:true},previousNode:{enumerable:true},detach:{enumerable:true},root:{enumerable:true},referenceNode:{enumerable:true},pointerBeforeReferenceNode:{enumerable:true},whatToShow:{enumerable:true},filter:{enumerable:true},[Symbol.toStringTag]:{value:"NodeIterator",configurable:true}});tn[rn]=NodeIterator;Object.defineProperty(Wt,rn,{configurable:true,writable:true,value:NodeIterator})};const on=en(15847)},49747:(Wt,Pt,en)=>{const tn=en(37125);const nn=en(87094);const an=nn.implSymbol;const In=nn.ctorRegistrySymbol;const rn="NodeList";Pt.is=Wt=>nn.isObject(Wt)&&nn.hasOwn(Wt,an)&&Wt[an]instanceof cn.implementation;Pt.isImpl=Wt=>nn.isObject(Wt)&&Wt instanceof cn.implementation;Pt.convert=(Wt,en,{context:tn="The provided value"}={})=>{if(Pt.is(en)){return nn.implForWrapper(en)}throw new Wt.TypeError(`${tn} is not of type 'NodeList'.`)};function makeWrapper(Wt,Pt){let en;if(Pt!==undefined){en=Pt.prototype}if(!nn.isObject(en)){en=Wt[In]["NodeList"].prototype}return Object.create(en)}function makeProxy(Wt,Pt){let en=on.get(Pt);if(en===undefined){en=new ProxyHandler(Pt);on.set(Pt,en)}return new Proxy(Wt,en)}Pt.create=(Wt,en,tn)=>{const nn=makeWrapper(Wt);return Pt.setup(nn,Wt,en,tn)};Pt.createImpl=(Wt,en,tn)=>{const an=Pt.create(Wt,en,tn);return nn.implForWrapper(an)};Pt._internalSetup=(Wt,Pt)=>{};Pt.setup=(Wt,en,tn=[],In={})=>{In.wrapper=Wt;Pt._internalSetup(Wt,en);Object.defineProperty(Wt,an,{value:new cn.implementation(en,tn,In),configurable:true});Wt=makeProxy(Wt,en);Wt[an][nn.wrapperSymbol]=Wt;if(cn.init){cn.init(Wt[an])}return Wt};Pt["new"]=(Wt,en)=>{let tn=makeWrapper(Wt,en);Pt._internalSetup(tn,Wt);Object.defineProperty(tn,an,{value:Object.create(cn.implementation.prototype),configurable:true});tn=makeProxy(tn,Wt);tn[an][nn.wrapperSymbol]=tn;if(cn.init){cn.init(tn[an])}return tn[an]};const sn=new Set(["Window"]);Pt.install=(Wt,en)=>{if(!en.some((Wt=>sn.has(Wt)))){return}const In=nn.initCtorRegistry(Wt);class NodeList{constructor(){throw new Wt.TypeError("Illegal constructor")}item(en){const In=this!==null&&this!==undefined?this:Wt;if(!Pt.is(In)){throw new Wt.TypeError("'item' called on an object that is not a valid instance of NodeList.")}if(arguments.length<1){throw new Wt.TypeError(`Failed to execute 'item' on 'NodeList': 1 argument required, but only ${arguments.length} present.`)}const rn=[];{let Pt=arguments[0];Pt=tn["unsigned long"](Pt,{context:"Failed to execute 'item' on 'NodeList': parameter 1",globals:Wt});rn.push(Pt)}return nn.tryWrapperForImpl(In[an].item(...rn))}get length(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get length' called on an object that is not a valid instance of NodeList.")}return en[an]["length"]}}Object.defineProperties(NodeList.prototype,{item:{enumerable:true},length:{enumerable:true},[Symbol.toStringTag]:{value:"NodeList",configurable:true},[Symbol.iterator]:{value:Wt.Array.prototype[Symbol.iterator],configurable:true,writable:true},keys:{value:Wt.Array.prototype.keys,configurable:true,enumerable:true,writable:true},values:{value:Wt.Array.prototype.values,configurable:true,enumerable:true,writable:true},entries:{value:Wt.Array.prototype.entries,configurable:true,enumerable:true,writable:true},forEach:{value:Wt.Array.prototype.forEach,configurable:true,enumerable:true,writable:true}});In[rn]=NodeList;Object.defineProperty(Wt,rn,{configurable:true,writable:true,value:NodeList})};const on=new WeakMap;class ProxyHandler{constructor(Wt){this._globalObject=Wt}get(Wt,Pt,en){if(typeof Pt==="symbol"){return Reflect.get(Wt,Pt,en)}const tn=this.getOwnPropertyDescriptor(Wt,Pt);if(tn===undefined){const tn=Object.getPrototypeOf(Wt);if(tn===null){return undefined}return Reflect.get(Wt,Pt,en)}if(!tn.get&&!tn.set){return tn.value}const nn=tn.get;if(nn===undefined){return undefined}return Reflect.apply(nn,en,[])}has(Wt,Pt){if(typeof Pt==="symbol"){return Reflect.has(Wt,Pt)}const en=this.getOwnPropertyDescriptor(Wt,Pt);if(en!==undefined){return true}const tn=Object.getPrototypeOf(Wt);if(tn!==null){return Reflect.has(tn,Pt)}return false}ownKeys(Wt){const Pt=new Set;for(const en of Wt[an][nn.supportedPropertyIndices]){Pt.add(`${en}`)}for(const en of Reflect.ownKeys(Wt)){Pt.add(en)}return[...Pt]}getOwnPropertyDescriptor(Wt,Pt){if(typeof Pt==="symbol"){return Reflect.getOwnPropertyDescriptor(Wt,Pt)}let en=false;if(nn.isArrayIndexPropName(Pt)){const tn=Pt>>>0;const In=Wt[an].item(tn);if(In!==null){return{writable:false,enumerable:true,configurable:true,value:nn.tryWrapperForImpl(In)}}en=true}return Reflect.getOwnPropertyDescriptor(Wt,Pt)}set(Wt,Pt,en,tn){if(typeof Pt==="symbol"){return Reflect.set(Wt,Pt,en,tn)}if(Wt[an][nn.wrapperSymbol]===tn){const Wt=this._globalObject}let In;if(nn.isArrayIndexPropName(Pt)){const en=Pt>>>0;const tn=Wt[an].item(en);if(tn!==null){In={writable:false,enumerable:true,configurable:true,value:nn.tryWrapperForImpl(tn)}}}if(In===undefined){In=Reflect.getOwnPropertyDescriptor(Wt,Pt)}if(In===undefined){const nn=Reflect.getPrototypeOf(Wt);if(nn!==null){return Reflect.set(nn,Pt,en,tn)}In={writable:true,enumerable:true,configurable:true,value:undefined}}if(!In.writable){return false}if(!nn.isObject(tn)){return false}const rn=Reflect.getOwnPropertyDescriptor(tn,Pt);let sn;if(rn!==undefined){if(rn.get||rn.set){return false}if(!rn.writable){return false}sn={value:en}}else{sn={writable:true,enumerable:true,configurable:true,value:en}}return Reflect.defineProperty(tn,Pt,sn)}defineProperty(Wt,Pt,en){if(typeof Pt==="symbol"){return Reflect.defineProperty(Wt,Pt,en)}const tn=this._globalObject;if(nn.isArrayIndexPropName(Pt)){return false}return Reflect.defineProperty(Wt,Pt,en)}deleteProperty(Wt,Pt){if(typeof Pt==="symbol"){return Reflect.deleteProperty(Wt,Pt)}const en=this._globalObject;if(nn.isArrayIndexPropName(Pt)){const en=Pt>>>0;return!(Wt[an].item(en)!==null)}return Reflect.deleteProperty(Wt,Pt)}preventExtensions(){return false}}const cn=en(5922)},98574:(Wt,Pt,en)=>{const tn=en(37125);const nn=en(87094);Pt.convert=(Wt,Pt,{context:en="The provided value"}={})=>{function invokeTheCallbackFunction(an){const In=nn.tryWrapperForImpl(this);let rn;if(typeof Pt==="function"){an=nn.tryWrapperForImpl(an);rn=Reflect.apply(Pt,In,[an])}if(rn===null||rn===undefined){rn=null}else{rn=tn["DOMString"](rn,{context:en,globals:Wt})}return rn}invokeTheCallbackFunction.construct=an=>{an=nn.tryWrapperForImpl(an);let In=Reflect.construct(Pt,[an]);if(In===null||In===undefined){In=null}else{In=tn["DOMString"](In,{context:en,globals:Wt})}return In};invokeTheCallbackFunction[nn.wrapperSymbol]=Pt;invokeTheCallbackFunction.objectReference=Pt;return invokeTheCallbackFunction}},54414:(Wt,Pt,en)=>{const tn=en(37125);const nn=en(87094);Pt.convert=(Wt,Pt,{context:en="The provided value"}={})=>{function invokeTheCallbackFunction(...an){const In=nn.tryWrapperForImpl(this);let rn;if(typeof Pt==="function"){for(let Wt=0;Wt5){an.length=5}rn=Reflect.apply(Pt,In,an)}rn=tn["any"](rn,{context:en,globals:Wt});return rn}invokeTheCallbackFunction.construct=(...an)=>{for(let Wt=0;Wt5){an.length=5}let In=Reflect.construct(Pt,an);In=tn["any"](In,{context:en,globals:Wt});return In};invokeTheCallbackFunction[nn.wrapperSymbol]=Pt;invokeTheCallbackFunction.objectReference=Pt;return invokeTheCallbackFunction}},21379:(Wt,Pt,en)=>{const tn=en(37125);const nn=en(87094);const an=en(92457);const In=nn.implSymbol;const rn=nn.ctorRegistrySymbol;const sn=en(94431);const on="PageTransitionEvent";Pt.is=Wt=>nn.isObject(Wt)&&nn.hasOwn(Wt,In)&&Wt[In]instanceof dn.implementation;Pt.isImpl=Wt=>nn.isObject(Wt)&&Wt instanceof dn.implementation;Pt.convert=(Wt,en,{context:tn="The provided value"}={})=>{if(Pt.is(en)){return nn.implForWrapper(en)}throw new Wt.TypeError(`${tn} is not of type 'PageTransitionEvent'.`)};function makeWrapper(Wt,Pt){let en;if(Pt!==undefined){en=Pt.prototype}if(!nn.isObject(en)){en=Wt[rn]["PageTransitionEvent"].prototype}return Object.create(en)}Pt.create=(Wt,en,tn)=>{const nn=makeWrapper(Wt);return Pt.setup(nn,Wt,en,tn)};Pt.createImpl=(Wt,en,tn)=>{const an=Pt.create(Wt,en,tn);return nn.implForWrapper(an)};Pt._internalSetup=(Wt,Pt)=>{sn._internalSetup(Wt,Pt)};Pt.setup=(Wt,en,tn=[],an={})=>{an.wrapper=Wt;Pt._internalSetup(Wt,en);Object.defineProperty(Wt,In,{value:new dn.implementation(en,tn,an),configurable:true});Wt[In][nn.wrapperSymbol]=Wt;if(dn.init){dn.init(Wt[In])}return Wt};Pt["new"]=(Wt,en)=>{const tn=makeWrapper(Wt,en);Pt._internalSetup(tn,Wt);Object.defineProperty(tn,In,{value:Object.create(dn.implementation.prototype),configurable:true});tn[In][nn.wrapperSymbol]=tn;if(dn.init){dn.init(tn[In])}return tn[In]};const cn=new Set(["Window"]);Pt.install=(Wt,en)=>{if(!en.some((Wt=>cn.has(Wt)))){return}const rn=nn.initCtorRegistry(Wt);class PageTransitionEvent extends Wt.Event{constructor(en){if(arguments.length<1){throw new Wt.TypeError(`Failed to construct 'PageTransitionEvent': 1 argument required, but only ${arguments.length} present.`)}const nn=[];{let Pt=arguments[0];Pt=tn["DOMString"](Pt,{context:"Failed to construct 'PageTransitionEvent': parameter 1",globals:Wt});nn.push(Pt)}{let Pt=arguments[1];Pt=an.convert(Wt,Pt,{context:"Failed to construct 'PageTransitionEvent': parameter 2"});nn.push(Pt)}return Pt.setup(Object.create(new.target.prototype),Wt,nn)}get persisted(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get persisted' called on an object that is not a valid instance of PageTransitionEvent.")}return en[In]["persisted"]}}Object.defineProperties(PageTransitionEvent.prototype,{persisted:{enumerable:true},[Symbol.toStringTag]:{value:"PageTransitionEvent",configurable:true}});rn[on]=PageTransitionEvent;Object.defineProperty(Wt,on,{configurable:true,writable:true,value:PageTransitionEvent})};const dn=en(43402)},92457:(Wt,Pt,en)=>{const tn=en(37125);const nn=en(87094);const an=en(31893);Pt._convertInherit=(Wt,Pt,en,{context:nn="The provided value"}={})=>{an._convertInherit(Wt,Pt,en,{context:nn});{const an="persisted";let In=Pt===undefined||Pt===null?undefined:Pt[an];if(In!==undefined){In=tn["boolean"](In,{context:nn+" has member 'persisted' that",globals:Wt});en[an]=In}else{en[an]=false}}};Pt.convert=(Wt,en,{context:tn="The provided value"}={})=>{if(en!==undefined&&typeof en!=="object"&&typeof en!=="function"){throw new Wt.TypeError(`${tn} is not an object.`)}const nn=Object.create(null);Pt._convertInherit(Wt,en,nn,{context:tn});return nn}},7569:(Wt,Pt,en)=>{const tn=en(37125);const nn=en(87094);const an=nn.implSymbol;const In=nn.ctorRegistrySymbol;const rn=en(29122);const sn="Performance";Pt.is=Wt=>nn.isObject(Wt)&&nn.hasOwn(Wt,an)&&Wt[an]instanceof cn.implementation;Pt.isImpl=Wt=>nn.isObject(Wt)&&Wt instanceof cn.implementation;Pt.convert=(Wt,en,{context:tn="The provided value"}={})=>{if(Pt.is(en)){return nn.implForWrapper(en)}throw new Wt.TypeError(`${tn} is not of type 'Performance'.`)};function makeWrapper(Wt,Pt){let en;if(Pt!==undefined){en=Pt.prototype}if(!nn.isObject(en)){en=Wt[In]["Performance"].prototype}return Object.create(en)}Pt.create=(Wt,en,tn)=>{const nn=makeWrapper(Wt);return Pt.setup(nn,Wt,en,tn)};Pt.createImpl=(Wt,en,tn)=>{const an=Pt.create(Wt,en,tn);return nn.implForWrapper(an)};Pt._internalSetup=(Wt,Pt)=>{rn._internalSetup(Wt,Pt)};Pt.setup=(Wt,en,tn=[],In={})=>{In.wrapper=Wt;Pt._internalSetup(Wt,en);Object.defineProperty(Wt,an,{value:new cn.implementation(en,tn,In),configurable:true});Wt[an][nn.wrapperSymbol]=Wt;if(cn.init){cn.init(Wt[an])}return Wt};Pt["new"]=(Wt,en)=>{const tn=makeWrapper(Wt,en);Pt._internalSetup(tn,Wt);Object.defineProperty(tn,an,{value:Object.create(cn.implementation.prototype),configurable:true});tn[an][nn.wrapperSymbol]=tn;if(cn.init){cn.init(tn[an])}return tn[an]};const on=new Set(["Window","Worker"]);Pt.install=(Wt,en)=>{if(!en.some((Wt=>on.has(Wt)))){return}const tn=nn.initCtorRegistry(Wt);class Performance extends Wt.EventTarget{constructor(){throw new Wt.TypeError("Illegal constructor")}now(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'now' called on an object that is not a valid instance of Performance.")}return nn.tryWrapperForImpl(en[an].now())}toJSON(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'toJSON' called on an object that is not a valid instance of Performance.")}return en[an].toJSON()}get timeOrigin(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get timeOrigin' called on an object that is not a valid instance of Performance.")}return nn.tryWrapperForImpl(en[an]["timeOrigin"])}}Object.defineProperties(Performance.prototype,{now:{enumerable:true},toJSON:{enumerable:true},timeOrigin:{enumerable:true},[Symbol.toStringTag]:{value:"Performance",configurable:true}});tn[sn]=Performance;Object.defineProperty(Wt,sn,{configurable:true,writable:true,value:Performance})};const cn=en(4139)},39168:(Wt,Pt,en)=>{const tn=en(37125);const nn=en(87094);const an=nn.implSymbol;const In=nn.ctorRegistrySymbol;const rn="Plugin";Pt.is=Wt=>nn.isObject(Wt)&&nn.hasOwn(Wt,an)&&Wt[an]instanceof cn.implementation;Pt.isImpl=Wt=>nn.isObject(Wt)&&Wt instanceof cn.implementation;Pt.convert=(Wt,en,{context:tn="The provided value"}={})=>{if(Pt.is(en)){return nn.implForWrapper(en)}throw new Wt.TypeError(`${tn} is not of type 'Plugin'.`)};function makeWrapper(Wt,Pt){let en;if(Pt!==undefined){en=Pt.prototype}if(!nn.isObject(en)){en=Wt[In]["Plugin"].prototype}return Object.create(en)}function makeProxy(Wt,Pt){let en=on.get(Pt);if(en===undefined){en=new ProxyHandler(Pt);on.set(Pt,en)}return new Proxy(Wt,en)}Pt.create=(Wt,en,tn)=>{const nn=makeWrapper(Wt);return Pt.setup(nn,Wt,en,tn)};Pt.createImpl=(Wt,en,tn)=>{const an=Pt.create(Wt,en,tn);return nn.implForWrapper(an)};Pt._internalSetup=(Wt,Pt)=>{};Pt.setup=(Wt,en,tn=[],In={})=>{In.wrapper=Wt;Pt._internalSetup(Wt,en);Object.defineProperty(Wt,an,{value:new cn.implementation(en,tn,In),configurable:true});Wt=makeProxy(Wt,en);Wt[an][nn.wrapperSymbol]=Wt;if(cn.init){cn.init(Wt[an])}return Wt};Pt["new"]=(Wt,en)=>{let tn=makeWrapper(Wt,en);Pt._internalSetup(tn,Wt);Object.defineProperty(tn,an,{value:Object.create(cn.implementation.prototype),configurable:true});tn=makeProxy(tn,Wt);tn[an][nn.wrapperSymbol]=tn;if(cn.init){cn.init(tn[an])}return tn[an]};const sn=new Set(["Window"]);Pt.install=(Wt,en)=>{if(!en.some((Wt=>sn.has(Wt)))){return}const In=nn.initCtorRegistry(Wt);class Plugin{constructor(){throw new Wt.TypeError("Illegal constructor")}item(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'item' called on an object that is not a valid instance of Plugin.")}if(arguments.length<1){throw new Wt.TypeError(`Failed to execute 'item' on 'Plugin': 1 argument required, but only ${arguments.length} present.`)}const In=[];{let Pt=arguments[0];Pt=tn["unsigned long"](Pt,{context:"Failed to execute 'item' on 'Plugin': parameter 1",globals:Wt});In.push(Pt)}return nn[an].item(...In)}namedItem(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'namedItem' called on an object that is not a valid instance of Plugin.")}if(arguments.length<1){throw new Wt.TypeError(`Failed to execute 'namedItem' on 'Plugin': 1 argument required, but only ${arguments.length} present.`)}const In=[];{let Pt=arguments[0];Pt=tn["DOMString"](Pt,{context:"Failed to execute 'namedItem' on 'Plugin': parameter 1",globals:Wt});In.push(Pt)}return nn[an].namedItem(...In)}get name(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get name' called on an object that is not a valid instance of Plugin.")}return en[an]["name"]}get description(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get description' called on an object that is not a valid instance of Plugin.")}return en[an]["description"]}get filename(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get filename' called on an object that is not a valid instance of Plugin.")}return en[an]["filename"]}get length(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get length' called on an object that is not a valid instance of Plugin.")}return en[an]["length"]}}Object.defineProperties(Plugin.prototype,{item:{enumerable:true},namedItem:{enumerable:true},name:{enumerable:true},description:{enumerable:true},filename:{enumerable:true},length:{enumerable:true},[Symbol.toStringTag]:{value:"Plugin",configurable:true},[Symbol.iterator]:{value:Wt.Array.prototype[Symbol.iterator],configurable:true,writable:true}});In[rn]=Plugin;Object.defineProperty(Wt,rn,{configurable:true,writable:true,value:Plugin})};const on=new WeakMap;class ProxyHandler{constructor(Wt){this._globalObject=Wt}get(Wt,Pt,en){if(typeof Pt==="symbol"){return Reflect.get(Wt,Pt,en)}const tn=this.getOwnPropertyDescriptor(Wt,Pt);if(tn===undefined){const tn=Object.getPrototypeOf(Wt);if(tn===null){return undefined}return Reflect.get(Wt,Pt,en)}if(!tn.get&&!tn.set){return tn.value}const nn=tn.get;if(nn===undefined){return undefined}return Reflect.apply(nn,en,[])}has(Wt,Pt){if(typeof Pt==="symbol"){return Reflect.has(Wt,Pt)}const en=this.getOwnPropertyDescriptor(Wt,Pt);if(en!==undefined){return true}const tn=Object.getPrototypeOf(Wt);if(tn!==null){return Reflect.has(tn,Pt)}return false}ownKeys(Wt){const Pt=new Set;for(const en of Wt[an][nn.supportedPropertyIndices]){Pt.add(`${en}`)}for(const en of Reflect.ownKeys(Wt)){Pt.add(en)}return[...Pt]}getOwnPropertyDescriptor(Wt,Pt){if(typeof Pt==="symbol"){return Reflect.getOwnPropertyDescriptor(Wt,Pt)}let en=false;if(nn.isArrayIndexPropName(Pt)){const tn=Pt>>>0;if(Wt[an][nn.supportsPropertyIndex](tn)){const Pt=Wt[an].item(tn);return{writable:false,enumerable:true,configurable:true,value:nn.tryWrapperForImpl(Pt)}}en=true}return Reflect.getOwnPropertyDescriptor(Wt,Pt)}set(Wt,Pt,en,tn){if(typeof Pt==="symbol"){return Reflect.set(Wt,Pt,en,tn)}if(Wt[an][nn.wrapperSymbol]===tn){const Wt=this._globalObject}let In;if(nn.isArrayIndexPropName(Pt)){const en=Pt>>>0;if(Wt[an][nn.supportsPropertyIndex](en)){const Pt=Wt[an].item(en);In={writable:false,enumerable:true,configurable:true,value:nn.tryWrapperForImpl(Pt)}}}if(In===undefined){In=Reflect.getOwnPropertyDescriptor(Wt,Pt)}if(In===undefined){const nn=Reflect.getPrototypeOf(Wt);if(nn!==null){return Reflect.set(nn,Pt,en,tn)}In={writable:true,enumerable:true,configurable:true,value:undefined}}if(!In.writable){return false}if(!nn.isObject(tn)){return false}const rn=Reflect.getOwnPropertyDescriptor(tn,Pt);let sn;if(rn!==undefined){if(rn.get||rn.set){return false}if(!rn.writable){return false}sn={value:en}}else{sn={writable:true,enumerable:true,configurable:true,value:en}}return Reflect.defineProperty(tn,Pt,sn)}defineProperty(Wt,Pt,en){if(typeof Pt==="symbol"){return Reflect.defineProperty(Wt,Pt,en)}const tn=this._globalObject;if(nn.isArrayIndexPropName(Pt)){return false}return Reflect.defineProperty(Wt,Pt,en)}deleteProperty(Wt,Pt){if(typeof Pt==="symbol"){return Reflect.deleteProperty(Wt,Pt)}const en=this._globalObject;if(nn.isArrayIndexPropName(Pt)){const en=Pt>>>0;return!Wt[an][nn.supportsPropertyIndex](en)}return Reflect.deleteProperty(Wt,Pt)}preventExtensions(){return false}}const cn=en(47447)},86599:(Wt,Pt,en)=>{const tn=en(37125);const nn=en(87094);const an=nn.implSymbol;const In=nn.ctorRegistrySymbol;const rn="PluginArray";Pt.is=Wt=>nn.isObject(Wt)&&nn.hasOwn(Wt,an)&&Wt[an]instanceof cn.implementation;Pt.isImpl=Wt=>nn.isObject(Wt)&&Wt instanceof cn.implementation;Pt.convert=(Wt,en,{context:tn="The provided value"}={})=>{if(Pt.is(en)){return nn.implForWrapper(en)}throw new Wt.TypeError(`${tn} is not of type 'PluginArray'.`)};function makeWrapper(Wt,Pt){let en;if(Pt!==undefined){en=Pt.prototype}if(!nn.isObject(en)){en=Wt[In]["PluginArray"].prototype}return Object.create(en)}function makeProxy(Wt,Pt){let en=on.get(Pt);if(en===undefined){en=new ProxyHandler(Pt);on.set(Pt,en)}return new Proxy(Wt,en)}Pt.create=(Wt,en,tn)=>{const nn=makeWrapper(Wt);return Pt.setup(nn,Wt,en,tn)};Pt.createImpl=(Wt,en,tn)=>{const an=Pt.create(Wt,en,tn);return nn.implForWrapper(an)};Pt._internalSetup=(Wt,Pt)=>{};Pt.setup=(Wt,en,tn=[],In={})=>{In.wrapper=Wt;Pt._internalSetup(Wt,en);Object.defineProperty(Wt,an,{value:new cn.implementation(en,tn,In),configurable:true});Wt=makeProxy(Wt,en);Wt[an][nn.wrapperSymbol]=Wt;if(cn.init){cn.init(Wt[an])}return Wt};Pt["new"]=(Wt,en)=>{let tn=makeWrapper(Wt,en);Pt._internalSetup(tn,Wt);Object.defineProperty(tn,an,{value:Object.create(cn.implementation.prototype),configurable:true});tn=makeProxy(tn,Wt);tn[an][nn.wrapperSymbol]=tn;if(cn.init){cn.init(tn[an])}return tn[an]};const sn=new Set(["Window"]);Pt.install=(Wt,en)=>{if(!en.some((Wt=>sn.has(Wt)))){return}const In=nn.initCtorRegistry(Wt);class PluginArray{constructor(){throw new Wt.TypeError("Illegal constructor")}refresh(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'refresh' called on an object that is not a valid instance of PluginArray.")}return en[an].refresh()}item(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'item' called on an object that is not a valid instance of PluginArray.")}if(arguments.length<1){throw new Wt.TypeError(`Failed to execute 'item' on 'PluginArray': 1 argument required, but only ${arguments.length} present.`)}const In=[];{let Pt=arguments[0];Pt=tn["unsigned long"](Pt,{context:"Failed to execute 'item' on 'PluginArray': parameter 1",globals:Wt});In.push(Pt)}return nn[an].item(...In)}namedItem(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'namedItem' called on an object that is not a valid instance of PluginArray.")}if(arguments.length<1){throw new Wt.TypeError(`Failed to execute 'namedItem' on 'PluginArray': 1 argument required, but only ${arguments.length} present.`)}const In=[];{let Pt=arguments[0];Pt=tn["DOMString"](Pt,{context:"Failed to execute 'namedItem' on 'PluginArray': parameter 1",globals:Wt});In.push(Pt)}return nn[an].namedItem(...In)}get length(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get length' called on an object that is not a valid instance of PluginArray.")}return en[an]["length"]}}Object.defineProperties(PluginArray.prototype,{refresh:{enumerable:true},item:{enumerable:true},namedItem:{enumerable:true},length:{enumerable:true},[Symbol.toStringTag]:{value:"PluginArray",configurable:true},[Symbol.iterator]:{value:Wt.Array.prototype[Symbol.iterator],configurable:true,writable:true}});In[rn]=PluginArray;Object.defineProperty(Wt,rn,{configurable:true,writable:true,value:PluginArray})};const on=new WeakMap;class ProxyHandler{constructor(Wt){this._globalObject=Wt}get(Wt,Pt,en){if(typeof Pt==="symbol"){return Reflect.get(Wt,Pt,en)}const tn=this.getOwnPropertyDescriptor(Wt,Pt);if(tn===undefined){const tn=Object.getPrototypeOf(Wt);if(tn===null){return undefined}return Reflect.get(Wt,Pt,en)}if(!tn.get&&!tn.set){return tn.value}const nn=tn.get;if(nn===undefined){return undefined}return Reflect.apply(nn,en,[])}has(Wt,Pt){if(typeof Pt==="symbol"){return Reflect.has(Wt,Pt)}const en=this.getOwnPropertyDescriptor(Wt,Pt);if(en!==undefined){return true}const tn=Object.getPrototypeOf(Wt);if(tn!==null){return Reflect.has(tn,Pt)}return false}ownKeys(Wt){const Pt=new Set;for(const en of Wt[an][nn.supportedPropertyIndices]){Pt.add(`${en}`)}for(const en of Reflect.ownKeys(Wt)){Pt.add(en)}return[...Pt]}getOwnPropertyDescriptor(Wt,Pt){if(typeof Pt==="symbol"){return Reflect.getOwnPropertyDescriptor(Wt,Pt)}let en=false;if(nn.isArrayIndexPropName(Pt)){const tn=Pt>>>0;const In=Wt[an].item(tn);if(In!==null){return{writable:false,enumerable:true,configurable:true,value:nn.tryWrapperForImpl(In)}}en=true}return Reflect.getOwnPropertyDescriptor(Wt,Pt)}set(Wt,Pt,en,tn){if(typeof Pt==="symbol"){return Reflect.set(Wt,Pt,en,tn)}if(Wt[an][nn.wrapperSymbol]===tn){const Wt=this._globalObject}let In;if(nn.isArrayIndexPropName(Pt)){const en=Pt>>>0;const tn=Wt[an].item(en);if(tn!==null){In={writable:false,enumerable:true,configurable:true,value:nn.tryWrapperForImpl(tn)}}}if(In===undefined){In=Reflect.getOwnPropertyDescriptor(Wt,Pt)}if(In===undefined){const nn=Reflect.getPrototypeOf(Wt);if(nn!==null){return Reflect.set(nn,Pt,en,tn)}In={writable:true,enumerable:true,configurable:true,value:undefined}}if(!In.writable){return false}if(!nn.isObject(tn)){return false}const rn=Reflect.getOwnPropertyDescriptor(tn,Pt);let sn;if(rn!==undefined){if(rn.get||rn.set){return false}if(!rn.writable){return false}sn={value:en}}else{sn={writable:true,enumerable:true,configurable:true,value:en}}return Reflect.defineProperty(tn,Pt,sn)}defineProperty(Wt,Pt,en){if(typeof Pt==="symbol"){return Reflect.defineProperty(Wt,Pt,en)}const tn=this._globalObject;if(nn.isArrayIndexPropName(Pt)){return false}return Reflect.defineProperty(Wt,Pt,en)}deleteProperty(Wt,Pt){if(typeof Pt==="symbol"){return Reflect.deleteProperty(Wt,Pt)}const en=this._globalObject;if(nn.isArrayIndexPropName(Pt)){const en=Pt>>>0;return!(Wt[an].item(en)!==null)}return Reflect.deleteProperty(Wt,Pt)}preventExtensions(){return false}}const cn=en(6514)},38007:(Wt,Pt,en)=>{const tn=en(37125);const nn=en(87094);const an=en(34685);const In=nn.implSymbol;const rn=nn.ctorRegistrySymbol;const sn=en(94431);const on="PopStateEvent";Pt.is=Wt=>nn.isObject(Wt)&&nn.hasOwn(Wt,In)&&Wt[In]instanceof dn.implementation;Pt.isImpl=Wt=>nn.isObject(Wt)&&Wt instanceof dn.implementation;Pt.convert=(Wt,en,{context:tn="The provided value"}={})=>{if(Pt.is(en)){return nn.implForWrapper(en)}throw new Wt.TypeError(`${tn} is not of type 'PopStateEvent'.`)};function makeWrapper(Wt,Pt){let en;if(Pt!==undefined){en=Pt.prototype}if(!nn.isObject(en)){en=Wt[rn]["PopStateEvent"].prototype}return Object.create(en)}Pt.create=(Wt,en,tn)=>{const nn=makeWrapper(Wt);return Pt.setup(nn,Wt,en,tn)};Pt.createImpl=(Wt,en,tn)=>{const an=Pt.create(Wt,en,tn);return nn.implForWrapper(an)};Pt._internalSetup=(Wt,Pt)=>{sn._internalSetup(Wt,Pt)};Pt.setup=(Wt,en,tn=[],an={})=>{an.wrapper=Wt;Pt._internalSetup(Wt,en);Object.defineProperty(Wt,In,{value:new dn.implementation(en,tn,an),configurable:true});Wt[In][nn.wrapperSymbol]=Wt;if(dn.init){dn.init(Wt[In])}return Wt};Pt["new"]=(Wt,en)=>{const tn=makeWrapper(Wt,en);Pt._internalSetup(tn,Wt);Object.defineProperty(tn,In,{value:Object.create(dn.implementation.prototype),configurable:true});tn[In][nn.wrapperSymbol]=tn;if(dn.init){dn.init(tn[In])}return tn[In]};const cn=new Set(["Window"]);Pt.install=(Wt,en)=>{if(!en.some((Wt=>cn.has(Wt)))){return}const rn=nn.initCtorRegistry(Wt);class PopStateEvent extends Wt.Event{constructor(en){if(arguments.length<1){throw new Wt.TypeError(`Failed to construct 'PopStateEvent': 1 argument required, but only ${arguments.length} present.`)}const nn=[];{let Pt=arguments[0];Pt=tn["DOMString"](Pt,{context:"Failed to construct 'PopStateEvent': parameter 1",globals:Wt});nn.push(Pt)}{let Pt=arguments[1];Pt=an.convert(Wt,Pt,{context:"Failed to construct 'PopStateEvent': parameter 2"});nn.push(Pt)}return Pt.setup(Object.create(new.target.prototype),Wt,nn)}get state(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get state' called on an object that is not a valid instance of PopStateEvent.")}return en[In]["state"]}}Object.defineProperties(PopStateEvent.prototype,{state:{enumerable:true},[Symbol.toStringTag]:{value:"PopStateEvent",configurable:true}});rn[on]=PopStateEvent;Object.defineProperty(Wt,on,{configurable:true,writable:true,value:PopStateEvent})};const dn=en(22374)},34685:(Wt,Pt,en)=>{const tn=en(37125);const nn=en(87094);const an=en(31893);Pt._convertInherit=(Wt,Pt,en,{context:nn="The provided value"}={})=>{an._convertInherit(Wt,Pt,en,{context:nn});{const an="state";let In=Pt===undefined||Pt===null?undefined:Pt[an];if(In!==undefined){In=tn["any"](In,{context:nn+" has member 'state' that",globals:Wt});en[an]=In}else{en[an]=null}}};Pt.convert=(Wt,en,{context:tn="The provided value"}={})=>{if(en!==undefined&&typeof en!=="object"&&typeof en!=="function"){throw new Wt.TypeError(`${tn} is not an object.`)}const nn=Object.create(null);Pt._convertInherit(Wt,en,nn,{context:tn});return nn}},34786:(Wt,Pt,en)=>{const tn=en(37125);const nn=en(87094);const an=nn.implSymbol;const In=nn.ctorRegistrySymbol;const rn=en(30052);const sn="ProcessingInstruction";Pt.is=Wt=>nn.isObject(Wt)&&nn.hasOwn(Wt,an)&&Wt[an]instanceof cn.implementation;Pt.isImpl=Wt=>nn.isObject(Wt)&&Wt instanceof cn.implementation;Pt.convert=(Wt,en,{context:tn="The provided value"}={})=>{if(Pt.is(en)){return nn.implForWrapper(en)}throw new Wt.TypeError(`${tn} is not of type 'ProcessingInstruction'.`)};function makeWrapper(Wt,Pt){let en;if(Pt!==undefined){en=Pt.prototype}if(!nn.isObject(en)){en=Wt[In]["ProcessingInstruction"].prototype}return Object.create(en)}Pt.create=(Wt,en,tn)=>{const nn=makeWrapper(Wt);return Pt.setup(nn,Wt,en,tn)};Pt.createImpl=(Wt,en,tn)=>{const an=Pt.create(Wt,en,tn);return nn.implForWrapper(an)};Pt._internalSetup=(Wt,Pt)=>{rn._internalSetup(Wt,Pt)};Pt.setup=(Wt,en,tn=[],In={})=>{In.wrapper=Wt;Pt._internalSetup(Wt,en);Object.defineProperty(Wt,an,{value:new cn.implementation(en,tn,In),configurable:true});Wt[an][nn.wrapperSymbol]=Wt;if(cn.init){cn.init(Wt[an])}return Wt};Pt["new"]=(Wt,en)=>{const tn=makeWrapper(Wt,en);Pt._internalSetup(tn,Wt);Object.defineProperty(tn,an,{value:Object.create(cn.implementation.prototype),configurable:true});tn[an][nn.wrapperSymbol]=tn;if(cn.init){cn.init(tn[an])}return tn[an]};const on=new Set(["Window"]);Pt.install=(Wt,en)=>{if(!en.some((Wt=>on.has(Wt)))){return}const tn=nn.initCtorRegistry(Wt);class ProcessingInstruction extends Wt.CharacterData{constructor(){throw new Wt.TypeError("Illegal constructor")}get target(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get target' called on an object that is not a valid instance of ProcessingInstruction.")}return en[an]["target"]}}Object.defineProperties(ProcessingInstruction.prototype,{target:{enumerable:true},[Symbol.toStringTag]:{value:"ProcessingInstruction",configurable:true}});tn[sn]=ProcessingInstruction;Object.defineProperty(Wt,sn,{configurable:true,writable:true,value:ProcessingInstruction})};const cn=en(21425)},90442:(Wt,Pt,en)=>{const tn=en(37125);const nn=en(87094);const an=en(10140);const In=nn.implSymbol;const rn=nn.ctorRegistrySymbol;const sn=en(94431);const on="ProgressEvent";Pt.is=Wt=>nn.isObject(Wt)&&nn.hasOwn(Wt,In)&&Wt[In]instanceof dn.implementation;Pt.isImpl=Wt=>nn.isObject(Wt)&&Wt instanceof dn.implementation;Pt.convert=(Wt,en,{context:tn="The provided value"}={})=>{if(Pt.is(en)){return nn.implForWrapper(en)}throw new Wt.TypeError(`${tn} is not of type 'ProgressEvent'.`)};function makeWrapper(Wt,Pt){let en;if(Pt!==undefined){en=Pt.prototype}if(!nn.isObject(en)){en=Wt[rn]["ProgressEvent"].prototype}return Object.create(en)}Pt.create=(Wt,en,tn)=>{const nn=makeWrapper(Wt);return Pt.setup(nn,Wt,en,tn)};Pt.createImpl=(Wt,en,tn)=>{const an=Pt.create(Wt,en,tn);return nn.implForWrapper(an)};Pt._internalSetup=(Wt,Pt)=>{sn._internalSetup(Wt,Pt)};Pt.setup=(Wt,en,tn=[],an={})=>{an.wrapper=Wt;Pt._internalSetup(Wt,en);Object.defineProperty(Wt,In,{value:new dn.implementation(en,tn,an),configurable:true});Wt[In][nn.wrapperSymbol]=Wt;if(dn.init){dn.init(Wt[In])}return Wt};Pt["new"]=(Wt,en)=>{const tn=makeWrapper(Wt,en);Pt._internalSetup(tn,Wt);Object.defineProperty(tn,In,{value:Object.create(dn.implementation.prototype),configurable:true});tn[In][nn.wrapperSymbol]=tn;if(dn.init){dn.init(tn[In])}return tn[In]};const cn=new Set(["Window","DedicatedWorker","SharedWorker"]);Pt.install=(Wt,en)=>{if(!en.some((Wt=>cn.has(Wt)))){return}const rn=nn.initCtorRegistry(Wt);class ProgressEvent extends Wt.Event{constructor(en){if(arguments.length<1){throw new Wt.TypeError(`Failed to construct 'ProgressEvent': 1 argument required, but only ${arguments.length} present.`)}const nn=[];{let Pt=arguments[0];Pt=tn["DOMString"](Pt,{context:"Failed to construct 'ProgressEvent': parameter 1",globals:Wt});nn.push(Pt)}{let Pt=arguments[1];Pt=an.convert(Wt,Pt,{context:"Failed to construct 'ProgressEvent': parameter 2"});nn.push(Pt)}return Pt.setup(Object.create(new.target.prototype),Wt,nn)}get lengthComputable(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get lengthComputable' called on an object that is not a valid instance of ProgressEvent.")}return en[In]["lengthComputable"]}get loaded(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get loaded' called on an object that is not a valid instance of ProgressEvent.")}return en[In]["loaded"]}get total(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get total' called on an object that is not a valid instance of ProgressEvent.")}return en[In]["total"]}}Object.defineProperties(ProgressEvent.prototype,{lengthComputable:{enumerable:true},loaded:{enumerable:true},total:{enumerable:true},[Symbol.toStringTag]:{value:"ProgressEvent",configurable:true}});rn[on]=ProgressEvent;Object.defineProperty(Wt,on,{configurable:true,writable:true,value:ProgressEvent})};const dn=en(91561)},10140:(Wt,Pt,en)=>{const tn=en(37125);const nn=en(87094);const an=en(31893);Pt._convertInherit=(Wt,Pt,en,{context:nn="The provided value"}={})=>{an._convertInherit(Wt,Pt,en,{context:nn});{const an="lengthComputable";let In=Pt===undefined||Pt===null?undefined:Pt[an];if(In!==undefined){In=tn["boolean"](In,{context:nn+" has member 'lengthComputable' that",globals:Wt});en[an]=In}else{en[an]=false}}{const an="loaded";let In=Pt===undefined||Pt===null?undefined:Pt[an];if(In!==undefined){In=tn["unsigned long long"](In,{context:nn+" has member 'loaded' that",globals:Wt});en[an]=In}else{en[an]=0}}{const an="total";let In=Pt===undefined||Pt===null?undefined:Pt[an];if(In!==undefined){In=tn["unsigned long long"](In,{context:nn+" has member 'total' that",globals:Wt});en[an]=In}else{en[an]=0}}};Pt.convert=(Wt,en,{context:tn="The provided value"}={})=>{if(en!==undefined&&typeof en!=="object"&&typeof en!=="function"){throw new Wt.TypeError(`${tn} is not an object.`)}const nn=Object.create(null);Pt._convertInherit(Wt,en,nn,{context:tn});return nn}},9344:(Wt,Pt,en)=>{const tn=en(37125);const nn=en(87094);const an=nn.implSymbol;const In=nn.ctorRegistrySymbol;const rn=en(49747);const sn="RadioNodeList";Pt.is=Wt=>nn.isObject(Wt)&&nn.hasOwn(Wt,an)&&Wt[an]instanceof dn.implementation;Pt.isImpl=Wt=>nn.isObject(Wt)&&Wt instanceof dn.implementation;Pt.convert=(Wt,en,{context:tn="The provided value"}={})=>{if(Pt.is(en)){return nn.implForWrapper(en)}throw new Wt.TypeError(`${tn} is not of type 'RadioNodeList'.`)};function makeWrapper(Wt,Pt){let en;if(Pt!==undefined){en=Pt.prototype}if(!nn.isObject(en)){en=Wt[In]["RadioNodeList"].prototype}return Object.create(en)}function makeProxy(Wt,Pt){let en=cn.get(Pt);if(en===undefined){en=new ProxyHandler(Pt);cn.set(Pt,en)}return new Proxy(Wt,en)}Pt.create=(Wt,en,tn)=>{const nn=makeWrapper(Wt);return Pt.setup(nn,Wt,en,tn)};Pt.createImpl=(Wt,en,tn)=>{const an=Pt.create(Wt,en,tn);return nn.implForWrapper(an)};Pt._internalSetup=(Wt,Pt)=>{rn._internalSetup(Wt,Pt)};Pt.setup=(Wt,en,tn=[],In={})=>{In.wrapper=Wt;Pt._internalSetup(Wt,en);Object.defineProperty(Wt,an,{value:new dn.implementation(en,tn,In),configurable:true});Wt=makeProxy(Wt,en);Wt[an][nn.wrapperSymbol]=Wt;if(dn.init){dn.init(Wt[an])}return Wt};Pt["new"]=(Wt,en)=>{let tn=makeWrapper(Wt,en);Pt._internalSetup(tn,Wt);Object.defineProperty(tn,an,{value:Object.create(dn.implementation.prototype),configurable:true});tn=makeProxy(tn,Wt);tn[an][nn.wrapperSymbol]=tn;if(dn.init){dn.init(tn[an])}return tn[an]};const on=new Set(["Window"]);Pt.install=(Wt,en)=>{if(!en.some((Wt=>on.has(Wt)))){return}const In=nn.initCtorRegistry(Wt);class RadioNodeList extends Wt.NodeList{constructor(){throw new Wt.TypeError("Illegal constructor")}get value(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get value' called on an object that is not a valid instance of RadioNodeList.")}return en[an]["value"]}set value(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set value' called on an object that is not a valid instance of RadioNodeList.")}en=tn["DOMString"](en,{context:"Failed to set the 'value' property on 'RadioNodeList': The provided value",globals:Wt});nn[an]["value"]=en}}Object.defineProperties(RadioNodeList.prototype,{value:{enumerable:true},[Symbol.toStringTag]:{value:"RadioNodeList",configurable:true},[Symbol.iterator]:{value:Wt.Array.prototype[Symbol.iterator],configurable:true,writable:true}});In[sn]=RadioNodeList;Object.defineProperty(Wt,sn,{configurable:true,writable:true,value:RadioNodeList})};const cn=new WeakMap;class ProxyHandler{constructor(Wt){this._globalObject=Wt}get(Wt,Pt,en){if(typeof Pt==="symbol"){return Reflect.get(Wt,Pt,en)}const tn=this.getOwnPropertyDescriptor(Wt,Pt);if(tn===undefined){const tn=Object.getPrototypeOf(Wt);if(tn===null){return undefined}return Reflect.get(Wt,Pt,en)}if(!tn.get&&!tn.set){return tn.value}const nn=tn.get;if(nn===undefined){return undefined}return Reflect.apply(nn,en,[])}has(Wt,Pt){if(typeof Pt==="symbol"){return Reflect.has(Wt,Pt)}const en=this.getOwnPropertyDescriptor(Wt,Pt);if(en!==undefined){return true}const tn=Object.getPrototypeOf(Wt);if(tn!==null){return Reflect.has(tn,Pt)}return false}ownKeys(Wt){const Pt=new Set;for(const en of Wt[an][nn.supportedPropertyIndices]){Pt.add(`${en}`)}for(const en of Reflect.ownKeys(Wt)){Pt.add(en)}return[...Pt]}getOwnPropertyDescriptor(Wt,Pt){if(typeof Pt==="symbol"){return Reflect.getOwnPropertyDescriptor(Wt,Pt)}let en=false;if(nn.isArrayIndexPropName(Pt)){const tn=Pt>>>0;const In=Wt[an].item(tn);if(In!==null){return{writable:false,enumerable:true,configurable:true,value:nn.tryWrapperForImpl(In)}}en=true}return Reflect.getOwnPropertyDescriptor(Wt,Pt)}set(Wt,Pt,en,tn){if(typeof Pt==="symbol"){return Reflect.set(Wt,Pt,en,tn)}if(Wt[an][nn.wrapperSymbol]===tn){const Wt=this._globalObject}let In;if(nn.isArrayIndexPropName(Pt)){const en=Pt>>>0;const tn=Wt[an].item(en);if(tn!==null){In={writable:false,enumerable:true,configurable:true,value:nn.tryWrapperForImpl(tn)}}}if(In===undefined){In=Reflect.getOwnPropertyDescriptor(Wt,Pt)}if(In===undefined){const nn=Reflect.getPrototypeOf(Wt);if(nn!==null){return Reflect.set(nn,Pt,en,tn)}In={writable:true,enumerable:true,configurable:true,value:undefined}}if(!In.writable){return false}if(!nn.isObject(tn)){return false}const rn=Reflect.getOwnPropertyDescriptor(tn,Pt);let sn;if(rn!==undefined){if(rn.get||rn.set){return false}if(!rn.writable){return false}sn={value:en}}else{sn={writable:true,enumerable:true,configurable:true,value:en}}return Reflect.defineProperty(tn,Pt,sn)}defineProperty(Wt,Pt,en){if(typeof Pt==="symbol"){return Reflect.defineProperty(Wt,Pt,en)}const tn=this._globalObject;if(nn.isArrayIndexPropName(Pt)){return false}return Reflect.defineProperty(Wt,Pt,en)}deleteProperty(Wt,Pt){if(typeof Pt==="symbol"){return Reflect.deleteProperty(Wt,Pt)}const en=this._globalObject;if(nn.isArrayIndexPropName(Pt)){const en=Pt>>>0;return!(Wt[an].item(en)!==null)}return Reflect.deleteProperty(Wt,Pt)}preventExtensions(){return false}}const dn=en(73827)},60190:(Wt,Pt,en)=>{const tn=en(37125);const nn=en(87094);const an=en(24171);const In=en(8348).ceReactionsPreSteps;const rn=en(8348).ceReactionsPostSteps;const sn=nn.implSymbol;const on=nn.ctorRegistrySymbol;const cn=en(77632);const dn="Range";Pt.is=Wt=>nn.isObject(Wt)&&nn.hasOwn(Wt,sn)&&Wt[sn]instanceof pn.implementation;Pt.isImpl=Wt=>nn.isObject(Wt)&&Wt instanceof pn.implementation;Pt.convert=(Wt,en,{context:tn="The provided value"}={})=>{if(Pt.is(en)){return nn.implForWrapper(en)}throw new Wt.TypeError(`${tn} is not of type 'Range'.`)};function makeWrapper(Wt,Pt){let en;if(Pt!==undefined){en=Pt.prototype}if(!nn.isObject(en)){en=Wt[on]["Range"].prototype}return Object.create(en)}Pt.create=(Wt,en,tn)=>{const nn=makeWrapper(Wt);return Pt.setup(nn,Wt,en,tn)};Pt.createImpl=(Wt,en,tn)=>{const an=Pt.create(Wt,en,tn);return nn.implForWrapper(an)};Pt._internalSetup=(Wt,Pt)=>{cn._internalSetup(Wt,Pt)};Pt.setup=(Wt,en,tn=[],an={})=>{an.wrapper=Wt;Pt._internalSetup(Wt,en);Object.defineProperty(Wt,sn,{value:new pn.implementation(en,tn,an),configurable:true});Wt[sn][nn.wrapperSymbol]=Wt;if(pn.init){pn.init(Wt[sn])}return Wt};Pt["new"]=(Wt,en)=>{const tn=makeWrapper(Wt,en);Pt._internalSetup(tn,Wt);Object.defineProperty(tn,sn,{value:Object.create(pn.implementation.prototype),configurable:true});tn[sn][nn.wrapperSymbol]=tn;if(pn.init){pn.init(tn[sn])}return tn[sn]};const un=new Set(["Window"]);Pt.install=(Wt,en)=>{if(!en.some((Wt=>un.has(Wt)))){return}const on=nn.initCtorRegistry(Wt);class Range extends Wt.AbstractRange{constructor(){return Pt.setup(Object.create(new.target.prototype),Wt,undefined)}setStart(en,nn){const In=this!==null&&this!==undefined?this:Wt;if(!Pt.is(In)){throw new Wt.TypeError("'setStart' called on an object that is not a valid instance of Range.")}if(arguments.length<2){throw new Wt.TypeError(`Failed to execute 'setStart' on 'Range': 2 arguments required, but only ${arguments.length} present.`)}const rn=[];{let Pt=arguments[0];Pt=an.convert(Wt,Pt,{context:"Failed to execute 'setStart' on 'Range': parameter 1"});rn.push(Pt)}{let Pt=arguments[1];Pt=tn["unsigned long"](Pt,{context:"Failed to execute 'setStart' on 'Range': parameter 2",globals:Wt});rn.push(Pt)}return In[sn].setStart(...rn)}setEnd(en,nn){const In=this!==null&&this!==undefined?this:Wt;if(!Pt.is(In)){throw new Wt.TypeError("'setEnd' called on an object that is not a valid instance of Range.")}if(arguments.length<2){throw new Wt.TypeError(`Failed to execute 'setEnd' on 'Range': 2 arguments required, but only ${arguments.length} present.`)}const rn=[];{let Pt=arguments[0];Pt=an.convert(Wt,Pt,{context:"Failed to execute 'setEnd' on 'Range': parameter 1"});rn.push(Pt)}{let Pt=arguments[1];Pt=tn["unsigned long"](Pt,{context:"Failed to execute 'setEnd' on 'Range': parameter 2",globals:Wt});rn.push(Pt)}return In[sn].setEnd(...rn)}setStartBefore(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'setStartBefore' called on an object that is not a valid instance of Range.")}if(arguments.length<1){throw new Wt.TypeError(`Failed to execute 'setStartBefore' on 'Range': 1 argument required, but only ${arguments.length} present.`)}const nn=[];{let Pt=arguments[0];Pt=an.convert(Wt,Pt,{context:"Failed to execute 'setStartBefore' on 'Range': parameter 1"});nn.push(Pt)}return tn[sn].setStartBefore(...nn)}setStartAfter(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'setStartAfter' called on an object that is not a valid instance of Range.")}if(arguments.length<1){throw new Wt.TypeError(`Failed to execute 'setStartAfter' on 'Range': 1 argument required, but only ${arguments.length} present.`)}const nn=[];{let Pt=arguments[0];Pt=an.convert(Wt,Pt,{context:"Failed to execute 'setStartAfter' on 'Range': parameter 1"});nn.push(Pt)}return tn[sn].setStartAfter(...nn)}setEndBefore(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'setEndBefore' called on an object that is not a valid instance of Range.")}if(arguments.length<1){throw new Wt.TypeError(`Failed to execute 'setEndBefore' on 'Range': 1 argument required, but only ${arguments.length} present.`)}const nn=[];{let Pt=arguments[0];Pt=an.convert(Wt,Pt,{context:"Failed to execute 'setEndBefore' on 'Range': parameter 1"});nn.push(Pt)}return tn[sn].setEndBefore(...nn)}setEndAfter(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'setEndAfter' called on an object that is not a valid instance of Range.")}if(arguments.length<1){throw new Wt.TypeError(`Failed to execute 'setEndAfter' on 'Range': 1 argument required, but only ${arguments.length} present.`)}const nn=[];{let Pt=arguments[0];Pt=an.convert(Wt,Pt,{context:"Failed to execute 'setEndAfter' on 'Range': parameter 1"});nn.push(Pt)}return tn[sn].setEndAfter(...nn)}collapse(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'collapse' called on an object that is not a valid instance of Range.")}const nn=[];{let Pt=arguments[0];if(Pt!==undefined){Pt=tn["boolean"](Pt,{context:"Failed to execute 'collapse' on 'Range': parameter 1",globals:Wt})}else{Pt=false}nn.push(Pt)}return en[sn].collapse(...nn)}selectNode(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'selectNode' called on an object that is not a valid instance of Range.")}if(arguments.length<1){throw new Wt.TypeError(`Failed to execute 'selectNode' on 'Range': 1 argument required, but only ${arguments.length} present.`)}const nn=[];{let Pt=arguments[0];Pt=an.convert(Wt,Pt,{context:"Failed to execute 'selectNode' on 'Range': parameter 1"});nn.push(Pt)}return tn[sn].selectNode(...nn)}selectNodeContents(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'selectNodeContents' called on an object that is not a valid instance of Range.")}if(arguments.length<1){throw new Wt.TypeError(`Failed to execute 'selectNodeContents' on 'Range': 1 argument required, but only ${arguments.length} present.`)}const nn=[];{let Pt=arguments[0];Pt=an.convert(Wt,Pt,{context:"Failed to execute 'selectNodeContents' on 'Range': parameter 1"});nn.push(Pt)}return tn[sn].selectNodeContents(...nn)}compareBoundaryPoints(en,nn){const an=this!==null&&this!==undefined?this:Wt;if(!Pt.is(an)){throw new Wt.TypeError("'compareBoundaryPoints' called on an object that is not a valid instance of Range.")}if(arguments.length<2){throw new Wt.TypeError(`Failed to execute 'compareBoundaryPoints' on 'Range': 2 arguments required, but only ${arguments.length} present.`)}const In=[];{let Pt=arguments[0];Pt=tn["unsigned short"](Pt,{context:"Failed to execute 'compareBoundaryPoints' on 'Range': parameter 1",globals:Wt});In.push(Pt)}{let en=arguments[1];en=Pt.convert(Wt,en,{context:"Failed to execute 'compareBoundaryPoints' on 'Range': parameter 2"});In.push(en)}return an[sn].compareBoundaryPoints(...In)}deleteContents(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'deleteContents' called on an object that is not a valid instance of Range.")}In(Wt);try{return en[sn].deleteContents()}finally{rn(Wt)}}extractContents(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'extractContents' called on an object that is not a valid instance of Range.")}In(Wt);try{return nn.tryWrapperForImpl(en[sn].extractContents())}finally{rn(Wt)}}cloneContents(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'cloneContents' called on an object that is not a valid instance of Range.")}In(Wt);try{return nn.tryWrapperForImpl(en[sn].cloneContents())}finally{rn(Wt)}}insertNode(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'insertNode' called on an object that is not a valid instance of Range.")}if(arguments.length<1){throw new Wt.TypeError(`Failed to execute 'insertNode' on 'Range': 1 argument required, but only ${arguments.length} present.`)}const nn=[];{let Pt=arguments[0];Pt=an.convert(Wt,Pt,{context:"Failed to execute 'insertNode' on 'Range': parameter 1"});nn.push(Pt)}In(Wt);try{return tn[sn].insertNode(...nn)}finally{rn(Wt)}}surroundContents(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'surroundContents' called on an object that is not a valid instance of Range.")}if(arguments.length<1){throw new Wt.TypeError(`Failed to execute 'surroundContents' on 'Range': 1 argument required, but only ${arguments.length} present.`)}const nn=[];{let Pt=arguments[0];Pt=an.convert(Wt,Pt,{context:"Failed to execute 'surroundContents' on 'Range': parameter 1"});nn.push(Pt)}In(Wt);try{return tn[sn].surroundContents(...nn)}finally{rn(Wt)}}cloneRange(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'cloneRange' called on an object that is not a valid instance of Range.")}return nn.tryWrapperForImpl(en[sn].cloneRange())}detach(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'detach' called on an object that is not a valid instance of Range.")}return en[sn].detach()}isPointInRange(en,nn){const In=this!==null&&this!==undefined?this:Wt;if(!Pt.is(In)){throw new Wt.TypeError("'isPointInRange' called on an object that is not a valid instance of Range.")}if(arguments.length<2){throw new Wt.TypeError(`Failed to execute 'isPointInRange' on 'Range': 2 arguments required, but only ${arguments.length} present.`)}const rn=[];{let Pt=arguments[0];Pt=an.convert(Wt,Pt,{context:"Failed to execute 'isPointInRange' on 'Range': parameter 1"});rn.push(Pt)}{let Pt=arguments[1];Pt=tn["unsigned long"](Pt,{context:"Failed to execute 'isPointInRange' on 'Range': parameter 2",globals:Wt});rn.push(Pt)}return In[sn].isPointInRange(...rn)}comparePoint(en,nn){const In=this!==null&&this!==undefined?this:Wt;if(!Pt.is(In)){throw new Wt.TypeError("'comparePoint' called on an object that is not a valid instance of Range.")}if(arguments.length<2){throw new Wt.TypeError(`Failed to execute 'comparePoint' on 'Range': 2 arguments required, but only ${arguments.length} present.`)}const rn=[];{let Pt=arguments[0];Pt=an.convert(Wt,Pt,{context:"Failed to execute 'comparePoint' on 'Range': parameter 1"});rn.push(Pt)}{let Pt=arguments[1];Pt=tn["unsigned long"](Pt,{context:"Failed to execute 'comparePoint' on 'Range': parameter 2",globals:Wt});rn.push(Pt)}return In[sn].comparePoint(...rn)}intersectsNode(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'intersectsNode' called on an object that is not a valid instance of Range.")}if(arguments.length<1){throw new Wt.TypeError(`Failed to execute 'intersectsNode' on 'Range': 1 argument required, but only ${arguments.length} present.`)}const nn=[];{let Pt=arguments[0];Pt=an.convert(Wt,Pt,{context:"Failed to execute 'intersectsNode' on 'Range': parameter 1"});nn.push(Pt)}return tn[sn].intersectsNode(...nn)}toString(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'toString' called on an object that is not a valid instance of Range.")}return en[sn].toString()}createContextualFragment(en){const an=this!==null&&this!==undefined?this:Wt;if(!Pt.is(an)){throw new Wt.TypeError("'createContextualFragment' called on an object that is not a valid instance of Range.")}if(arguments.length<1){throw new Wt.TypeError(`Failed to execute 'createContextualFragment' on 'Range': 1 argument required, but only ${arguments.length} present.`)}const on=[];{let Pt=arguments[0];Pt=tn["DOMString"](Pt,{context:"Failed to execute 'createContextualFragment' on 'Range': parameter 1",globals:Wt});on.push(Pt)}In(Wt);try{return nn.tryWrapperForImpl(an[sn].createContextualFragment(...on))}finally{rn(Wt)}}get commonAncestorContainer(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get commonAncestorContainer' called on an object that is not a valid instance of Range.")}return nn.tryWrapperForImpl(en[sn]["commonAncestorContainer"])}}Object.defineProperties(Range.prototype,{setStart:{enumerable:true},setEnd:{enumerable:true},setStartBefore:{enumerable:true},setStartAfter:{enumerable:true},setEndBefore:{enumerable:true},setEndAfter:{enumerable:true},collapse:{enumerable:true},selectNode:{enumerable:true},selectNodeContents:{enumerable:true},compareBoundaryPoints:{enumerable:true},deleteContents:{enumerable:true},extractContents:{enumerable:true},cloneContents:{enumerable:true},insertNode:{enumerable:true},surroundContents:{enumerable:true},cloneRange:{enumerable:true},detach:{enumerable:true},isPointInRange:{enumerable:true},comparePoint:{enumerable:true},intersectsNode:{enumerable:true},toString:{enumerable:true},createContextualFragment:{enumerable:true},commonAncestorContainer:{enumerable:true},[Symbol.toStringTag]:{value:"Range",configurable:true},START_TO_START:{value:0,enumerable:true},START_TO_END:{value:1,enumerable:true},END_TO_END:{value:2,enumerable:true},END_TO_START:{value:3,enumerable:true}});Object.defineProperties(Range,{START_TO_START:{value:0,enumerable:true},START_TO_END:{value:1,enumerable:true},END_TO_END:{value:2,enumerable:true},END_TO_START:{value:3,enumerable:true}});on[dn]=Range;Object.defineProperty(Wt,dn,{configurable:true,writable:true,value:Range})};const pn=en(41869)},5505:(Wt,Pt,en)=>{const tn=en(37125);const nn=en(87094);const an=nn.implSymbol;const In=nn.ctorRegistrySymbol;const rn="SVGAnimatedString";Pt.is=Wt=>nn.isObject(Wt)&&nn.hasOwn(Wt,an)&&Wt[an]instanceof on.implementation;Pt.isImpl=Wt=>nn.isObject(Wt)&&Wt instanceof on.implementation;Pt.convert=(Wt,en,{context:tn="The provided value"}={})=>{if(Pt.is(en)){return nn.implForWrapper(en)}throw new Wt.TypeError(`${tn} is not of type 'SVGAnimatedString'.`)};function makeWrapper(Wt,Pt){let en;if(Pt!==undefined){en=Pt.prototype}if(!nn.isObject(en)){en=Wt[In]["SVGAnimatedString"].prototype}return Object.create(en)}Pt.create=(Wt,en,tn)=>{const nn=makeWrapper(Wt);return Pt.setup(nn,Wt,en,tn)};Pt.createImpl=(Wt,en,tn)=>{const an=Pt.create(Wt,en,tn);return nn.implForWrapper(an)};Pt._internalSetup=(Wt,Pt)=>{};Pt.setup=(Wt,en,tn=[],In={})=>{In.wrapper=Wt;Pt._internalSetup(Wt,en);Object.defineProperty(Wt,an,{value:new on.implementation(en,tn,In),configurable:true});Wt[an][nn.wrapperSymbol]=Wt;if(on.init){on.init(Wt[an])}return Wt};Pt["new"]=(Wt,en)=>{const tn=makeWrapper(Wt,en);Pt._internalSetup(tn,Wt);Object.defineProperty(tn,an,{value:Object.create(on.implementation.prototype),configurable:true});tn[an][nn.wrapperSymbol]=tn;if(on.init){on.init(tn[an])}return tn[an]};const sn=new Set(["Window"]);Pt.install=(Wt,en)=>{if(!en.some((Wt=>sn.has(Wt)))){return}const In=nn.initCtorRegistry(Wt);class SVGAnimatedString{constructor(){throw new Wt.TypeError("Illegal constructor")}get baseVal(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get baseVal' called on an object that is not a valid instance of SVGAnimatedString.")}return en[an]["baseVal"]}set baseVal(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set baseVal' called on an object that is not a valid instance of SVGAnimatedString.")}en=tn["DOMString"](en,{context:"Failed to set the 'baseVal' property on 'SVGAnimatedString': The provided value",globals:Wt});nn[an]["baseVal"]=en}get animVal(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get animVal' called on an object that is not a valid instance of SVGAnimatedString.")}return en[an]["animVal"]}}Object.defineProperties(SVGAnimatedString.prototype,{baseVal:{enumerable:true},animVal:{enumerable:true},[Symbol.toStringTag]:{value:"SVGAnimatedString",configurable:true}});In[rn]=SVGAnimatedString;Object.defineProperty(Wt,rn,{configurable:true,writable:true,value:SVGAnimatedString})};const on=en(48665)},70321:(Wt,Pt,en)=>{const tn=en(37125);const nn=en(87094);const an=en(69117);const In=en(54414);const rn=en(8348).ceReactionsPreSteps;const sn=en(8348).ceReactionsPostSteps;const on=nn.implSymbol;const cn=nn.ctorRegistrySymbol;const dn=en(41423);const un="SVGElement";Pt.is=Wt=>nn.isObject(Wt)&&nn.hasOwn(Wt,on)&&Wt[on]instanceof mn.implementation;Pt.isImpl=Wt=>nn.isObject(Wt)&&Wt instanceof mn.implementation;Pt.convert=(Wt,en,{context:tn="The provided value"}={})=>{if(Pt.is(en)){return nn.implForWrapper(en)}throw new Wt.TypeError(`${tn} is not of type 'SVGElement'.`)};function makeWrapper(Wt,Pt){let en;if(Pt!==undefined){en=Pt.prototype}if(!nn.isObject(en)){en=Wt[cn]["SVGElement"].prototype}return Object.create(en)}Pt.create=(Wt,en,tn)=>{const nn=makeWrapper(Wt);return Pt.setup(nn,Wt,en,tn)};Pt.createImpl=(Wt,en,tn)=>{const an=Pt.create(Wt,en,tn);return nn.implForWrapper(an)};Pt._internalSetup=(Wt,Pt)=>{dn._internalSetup(Wt,Pt)};Pt.setup=(Wt,en,tn=[],an={})=>{an.wrapper=Wt;Pt._internalSetup(Wt,en);Object.defineProperty(Wt,on,{value:new mn.implementation(en,tn,an),configurable:true});Wt[on][nn.wrapperSymbol]=Wt;if(mn.init){mn.init(Wt[on])}return Wt};Pt["new"]=(Wt,en)=>{const tn=makeWrapper(Wt,en);Pt._internalSetup(tn,Wt);Object.defineProperty(tn,on,{value:Object.create(mn.implementation.prototype),configurable:true});tn[on][nn.wrapperSymbol]=tn;if(mn.init){mn.init(tn[on])}return tn[on]};const pn=new Set(["Window"]);Pt.install=(Wt,en)=>{if(!en.some((Wt=>pn.has(Wt)))){return}const cn=nn.initCtorRegistry(Wt);class SVGElement extends Wt.Element{constructor(){throw new Wt.TypeError("Illegal constructor")}focus(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'focus' called on an object that is not a valid instance of SVGElement.")}return en[on].focus()}blur(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'blur' called on an object that is not a valid instance of SVGElement.")}return en[on].blur()}get className(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get className' called on an object that is not a valid instance of SVGElement.")}return nn.getSameObject(this,"className",(()=>nn.tryWrapperForImpl(en[on]["className"])))}get ownerSVGElement(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get ownerSVGElement' called on an object that is not a valid instance of SVGElement.")}return nn.tryWrapperForImpl(en[on]["ownerSVGElement"])}get viewportElement(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get viewportElement' called on an object that is not a valid instance of SVGElement.")}return nn.tryWrapperForImpl(en[on]["viewportElement"])}get style(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get style' called on an object that is not a valid instance of SVGElement.")}return nn.getSameObject(this,"style",(()=>nn.tryWrapperForImpl(en[on]["style"])))}set style(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set style' called on an object that is not a valid instance of SVGElement.")}const an=tn["style"];if(!nn.isObject(an)){throw new Wt.TypeError("Property 'style' is not an object")}Reflect.set(an,"cssText",en)}get onabort(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get onabort' called on an object that is not a valid instance of SVGElement.")}return nn.tryWrapperForImpl(en[on]["onabort"])}set onabort(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set onabort' called on an object that is not a valid instance of SVGElement.")}if(!nn.isObject(en)){en=null}else{en=an.convert(Wt,en,{context:"Failed to set the 'onabort' property on 'SVGElement': The provided value"})}tn[on]["onabort"]=en}get onauxclick(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get onauxclick' called on an object that is not a valid instance of SVGElement.")}return nn.tryWrapperForImpl(en[on]["onauxclick"])}set onauxclick(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set onauxclick' called on an object that is not a valid instance of SVGElement.")}if(!nn.isObject(en)){en=null}else{en=an.convert(Wt,en,{context:"Failed to set the 'onauxclick' property on 'SVGElement': The provided value"})}tn[on]["onauxclick"]=en}get onbeforeinput(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get onbeforeinput' called on an object that is not a valid instance of SVGElement.")}return nn.tryWrapperForImpl(en[on]["onbeforeinput"])}set onbeforeinput(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set onbeforeinput' called on an object that is not a valid instance of SVGElement.")}if(!nn.isObject(en)){en=null}else{en=an.convert(Wt,en,{context:"Failed to set the 'onbeforeinput' property on 'SVGElement': The provided value"})}tn[on]["onbeforeinput"]=en}get onbeforematch(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get onbeforematch' called on an object that is not a valid instance of SVGElement.")}return nn.tryWrapperForImpl(en[on]["onbeforematch"])}set onbeforematch(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set onbeforematch' called on an object that is not a valid instance of SVGElement.")}if(!nn.isObject(en)){en=null}else{en=an.convert(Wt,en,{context:"Failed to set the 'onbeforematch' property on 'SVGElement': The provided value"})}tn[on]["onbeforematch"]=en}get onbeforetoggle(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get onbeforetoggle' called on an object that is not a valid instance of SVGElement.")}return nn.tryWrapperForImpl(en[on]["onbeforetoggle"])}set onbeforetoggle(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set onbeforetoggle' called on an object that is not a valid instance of SVGElement.")}if(!nn.isObject(en)){en=null}else{en=an.convert(Wt,en,{context:"Failed to set the 'onbeforetoggle' property on 'SVGElement': The provided value"})}tn[on]["onbeforetoggle"]=en}get onblur(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get onblur' called on an object that is not a valid instance of SVGElement.")}return nn.tryWrapperForImpl(en[on]["onblur"])}set onblur(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set onblur' called on an object that is not a valid instance of SVGElement.")}if(!nn.isObject(en)){en=null}else{en=an.convert(Wt,en,{context:"Failed to set the 'onblur' property on 'SVGElement': The provided value"})}tn[on]["onblur"]=en}get oncancel(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get oncancel' called on an object that is not a valid instance of SVGElement.")}return nn.tryWrapperForImpl(en[on]["oncancel"])}set oncancel(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set oncancel' called on an object that is not a valid instance of SVGElement.")}if(!nn.isObject(en)){en=null}else{en=an.convert(Wt,en,{context:"Failed to set the 'oncancel' property on 'SVGElement': The provided value"})}tn[on]["oncancel"]=en}get oncanplay(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get oncanplay' called on an object that is not a valid instance of SVGElement.")}return nn.tryWrapperForImpl(en[on]["oncanplay"])}set oncanplay(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set oncanplay' called on an object that is not a valid instance of SVGElement.")}if(!nn.isObject(en)){en=null}else{en=an.convert(Wt,en,{context:"Failed to set the 'oncanplay' property on 'SVGElement': The provided value"})}tn[on]["oncanplay"]=en}get oncanplaythrough(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get oncanplaythrough' called on an object that is not a valid instance of SVGElement.")}return nn.tryWrapperForImpl(en[on]["oncanplaythrough"])}set oncanplaythrough(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set oncanplaythrough' called on an object that is not a valid instance of SVGElement.")}if(!nn.isObject(en)){en=null}else{en=an.convert(Wt,en,{context:"Failed to set the 'oncanplaythrough' property on 'SVGElement': The provided value"})}tn[on]["oncanplaythrough"]=en}get onchange(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get onchange' called on an object that is not a valid instance of SVGElement.")}return nn.tryWrapperForImpl(en[on]["onchange"])}set onchange(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set onchange' called on an object that is not a valid instance of SVGElement.")}if(!nn.isObject(en)){en=null}else{en=an.convert(Wt,en,{context:"Failed to set the 'onchange' property on 'SVGElement': The provided value"})}tn[on]["onchange"]=en}get onclick(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get onclick' called on an object that is not a valid instance of SVGElement.")}return nn.tryWrapperForImpl(en[on]["onclick"])}set onclick(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set onclick' called on an object that is not a valid instance of SVGElement.")}if(!nn.isObject(en)){en=null}else{en=an.convert(Wt,en,{context:"Failed to set the 'onclick' property on 'SVGElement': The provided value"})}tn[on]["onclick"]=en}get onclose(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get onclose' called on an object that is not a valid instance of SVGElement.")}return nn.tryWrapperForImpl(en[on]["onclose"])}set onclose(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set onclose' called on an object that is not a valid instance of SVGElement.")}if(!nn.isObject(en)){en=null}else{en=an.convert(Wt,en,{context:"Failed to set the 'onclose' property on 'SVGElement': The provided value"})}tn[on]["onclose"]=en}get oncontextlost(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get oncontextlost' called on an object that is not a valid instance of SVGElement.")}return nn.tryWrapperForImpl(en[on]["oncontextlost"])}set oncontextlost(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set oncontextlost' called on an object that is not a valid instance of SVGElement.")}if(!nn.isObject(en)){en=null}else{en=an.convert(Wt,en,{context:"Failed to set the 'oncontextlost' property on 'SVGElement': The provided value"})}tn[on]["oncontextlost"]=en}get oncontextmenu(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get oncontextmenu' called on an object that is not a valid instance of SVGElement.")}return nn.tryWrapperForImpl(en[on]["oncontextmenu"])}set oncontextmenu(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set oncontextmenu' called on an object that is not a valid instance of SVGElement.")}if(!nn.isObject(en)){en=null}else{en=an.convert(Wt,en,{context:"Failed to set the 'oncontextmenu' property on 'SVGElement': The provided value"})}tn[on]["oncontextmenu"]=en}get oncontextrestored(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get oncontextrestored' called on an object that is not a valid instance of SVGElement.")}return nn.tryWrapperForImpl(en[on]["oncontextrestored"])}set oncontextrestored(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set oncontextrestored' called on an object that is not a valid instance of SVGElement.")}if(!nn.isObject(en)){en=null}else{en=an.convert(Wt,en,{context:"Failed to set the 'oncontextrestored' property on 'SVGElement': The provided value"})}tn[on]["oncontextrestored"]=en}get oncopy(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get oncopy' called on an object that is not a valid instance of SVGElement.")}return nn.tryWrapperForImpl(en[on]["oncopy"])}set oncopy(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set oncopy' called on an object that is not a valid instance of SVGElement.")}if(!nn.isObject(en)){en=null}else{en=an.convert(Wt,en,{context:"Failed to set the 'oncopy' property on 'SVGElement': The provided value"})}tn[on]["oncopy"]=en}get oncuechange(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get oncuechange' called on an object that is not a valid instance of SVGElement.")}return nn.tryWrapperForImpl(en[on]["oncuechange"])}set oncuechange(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set oncuechange' called on an object that is not a valid instance of SVGElement.")}if(!nn.isObject(en)){en=null}else{en=an.convert(Wt,en,{context:"Failed to set the 'oncuechange' property on 'SVGElement': The provided value"})}tn[on]["oncuechange"]=en}get oncut(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get oncut' called on an object that is not a valid instance of SVGElement.")}return nn.tryWrapperForImpl(en[on]["oncut"])}set oncut(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set oncut' called on an object that is not a valid instance of SVGElement.")}if(!nn.isObject(en)){en=null}else{en=an.convert(Wt,en,{context:"Failed to set the 'oncut' property on 'SVGElement': The provided value"})}tn[on]["oncut"]=en}get ondblclick(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get ondblclick' called on an object that is not a valid instance of SVGElement.")}return nn.tryWrapperForImpl(en[on]["ondblclick"])}set ondblclick(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set ondblclick' called on an object that is not a valid instance of SVGElement.")}if(!nn.isObject(en)){en=null}else{en=an.convert(Wt,en,{context:"Failed to set the 'ondblclick' property on 'SVGElement': The provided value"})}tn[on]["ondblclick"]=en}get ondrag(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get ondrag' called on an object that is not a valid instance of SVGElement.")}return nn.tryWrapperForImpl(en[on]["ondrag"])}set ondrag(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set ondrag' called on an object that is not a valid instance of SVGElement.")}if(!nn.isObject(en)){en=null}else{en=an.convert(Wt,en,{context:"Failed to set the 'ondrag' property on 'SVGElement': The provided value"})}tn[on]["ondrag"]=en}get ondragend(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get ondragend' called on an object that is not a valid instance of SVGElement.")}return nn.tryWrapperForImpl(en[on]["ondragend"])}set ondragend(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set ondragend' called on an object that is not a valid instance of SVGElement.")}if(!nn.isObject(en)){en=null}else{en=an.convert(Wt,en,{context:"Failed to set the 'ondragend' property on 'SVGElement': The provided value"})}tn[on]["ondragend"]=en}get ondragenter(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get ondragenter' called on an object that is not a valid instance of SVGElement.")}return nn.tryWrapperForImpl(en[on]["ondragenter"])}set ondragenter(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set ondragenter' called on an object that is not a valid instance of SVGElement.")}if(!nn.isObject(en)){en=null}else{en=an.convert(Wt,en,{context:"Failed to set the 'ondragenter' property on 'SVGElement': The provided value"})}tn[on]["ondragenter"]=en}get ondragleave(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get ondragleave' called on an object that is not a valid instance of SVGElement.")}return nn.tryWrapperForImpl(en[on]["ondragleave"])}set ondragleave(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set ondragleave' called on an object that is not a valid instance of SVGElement.")}if(!nn.isObject(en)){en=null}else{en=an.convert(Wt,en,{context:"Failed to set the 'ondragleave' property on 'SVGElement': The provided value"})}tn[on]["ondragleave"]=en}get ondragover(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get ondragover' called on an object that is not a valid instance of SVGElement.")}return nn.tryWrapperForImpl(en[on]["ondragover"])}set ondragover(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set ondragover' called on an object that is not a valid instance of SVGElement.")}if(!nn.isObject(en)){en=null}else{en=an.convert(Wt,en,{context:"Failed to set the 'ondragover' property on 'SVGElement': The provided value"})}tn[on]["ondragover"]=en}get ondragstart(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get ondragstart' called on an object that is not a valid instance of SVGElement.")}return nn.tryWrapperForImpl(en[on]["ondragstart"])}set ondragstart(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set ondragstart' called on an object that is not a valid instance of SVGElement.")}if(!nn.isObject(en)){en=null}else{en=an.convert(Wt,en,{context:"Failed to set the 'ondragstart' property on 'SVGElement': The provided value"})}tn[on]["ondragstart"]=en}get ondrop(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get ondrop' called on an object that is not a valid instance of SVGElement.")}return nn.tryWrapperForImpl(en[on]["ondrop"])}set ondrop(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set ondrop' called on an object that is not a valid instance of SVGElement.")}if(!nn.isObject(en)){en=null}else{en=an.convert(Wt,en,{context:"Failed to set the 'ondrop' property on 'SVGElement': The provided value"})}tn[on]["ondrop"]=en}get ondurationchange(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get ondurationchange' called on an object that is not a valid instance of SVGElement.")}return nn.tryWrapperForImpl(en[on]["ondurationchange"])}set ondurationchange(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set ondurationchange' called on an object that is not a valid instance of SVGElement.")}if(!nn.isObject(en)){en=null}else{en=an.convert(Wt,en,{context:"Failed to set the 'ondurationchange' property on 'SVGElement': The provided value"})}tn[on]["ondurationchange"]=en}get onemptied(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get onemptied' called on an object that is not a valid instance of SVGElement.")}return nn.tryWrapperForImpl(en[on]["onemptied"])}set onemptied(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set onemptied' called on an object that is not a valid instance of SVGElement.")}if(!nn.isObject(en)){en=null}else{en=an.convert(Wt,en,{context:"Failed to set the 'onemptied' property on 'SVGElement': The provided value"})}tn[on]["onemptied"]=en}get onended(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get onended' called on an object that is not a valid instance of SVGElement.")}return nn.tryWrapperForImpl(en[on]["onended"])}set onended(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set onended' called on an object that is not a valid instance of SVGElement.")}if(!nn.isObject(en)){en=null}else{en=an.convert(Wt,en,{context:"Failed to set the 'onended' property on 'SVGElement': The provided value"})}tn[on]["onended"]=en}get onerror(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get onerror' called on an object that is not a valid instance of SVGElement.")}return nn.tryWrapperForImpl(en[on]["onerror"])}set onerror(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set onerror' called on an object that is not a valid instance of SVGElement.")}if(!nn.isObject(en)){en=null}else{en=In.convert(Wt,en,{context:"Failed to set the 'onerror' property on 'SVGElement': The provided value"})}tn[on]["onerror"]=en}get onfocus(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get onfocus' called on an object that is not a valid instance of SVGElement.")}return nn.tryWrapperForImpl(en[on]["onfocus"])}set onfocus(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set onfocus' called on an object that is not a valid instance of SVGElement.")}if(!nn.isObject(en)){en=null}else{en=an.convert(Wt,en,{context:"Failed to set the 'onfocus' property on 'SVGElement': The provided value"})}tn[on]["onfocus"]=en}get onformdata(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get onformdata' called on an object that is not a valid instance of SVGElement.")}return nn.tryWrapperForImpl(en[on]["onformdata"])}set onformdata(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set onformdata' called on an object that is not a valid instance of SVGElement.")}if(!nn.isObject(en)){en=null}else{en=an.convert(Wt,en,{context:"Failed to set the 'onformdata' property on 'SVGElement': The provided value"})}tn[on]["onformdata"]=en}get oninput(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get oninput' called on an object that is not a valid instance of SVGElement.")}return nn.tryWrapperForImpl(en[on]["oninput"])}set oninput(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set oninput' called on an object that is not a valid instance of SVGElement.")}if(!nn.isObject(en)){en=null}else{en=an.convert(Wt,en,{context:"Failed to set the 'oninput' property on 'SVGElement': The provided value"})}tn[on]["oninput"]=en}get oninvalid(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get oninvalid' called on an object that is not a valid instance of SVGElement.")}return nn.tryWrapperForImpl(en[on]["oninvalid"])}set oninvalid(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set oninvalid' called on an object that is not a valid instance of SVGElement.")}if(!nn.isObject(en)){en=null}else{en=an.convert(Wt,en,{context:"Failed to set the 'oninvalid' property on 'SVGElement': The provided value"})}tn[on]["oninvalid"]=en}get onkeydown(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get onkeydown' called on an object that is not a valid instance of SVGElement.")}return nn.tryWrapperForImpl(en[on]["onkeydown"])}set onkeydown(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set onkeydown' called on an object that is not a valid instance of SVGElement.")}if(!nn.isObject(en)){en=null}else{en=an.convert(Wt,en,{context:"Failed to set the 'onkeydown' property on 'SVGElement': The provided value"})}tn[on]["onkeydown"]=en}get onkeypress(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get onkeypress' called on an object that is not a valid instance of SVGElement.")}return nn.tryWrapperForImpl(en[on]["onkeypress"])}set onkeypress(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set onkeypress' called on an object that is not a valid instance of SVGElement.")}if(!nn.isObject(en)){en=null}else{en=an.convert(Wt,en,{context:"Failed to set the 'onkeypress' property on 'SVGElement': The provided value"})}tn[on]["onkeypress"]=en}get onkeyup(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get onkeyup' called on an object that is not a valid instance of SVGElement.")}return nn.tryWrapperForImpl(en[on]["onkeyup"])}set onkeyup(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set onkeyup' called on an object that is not a valid instance of SVGElement.")}if(!nn.isObject(en)){en=null}else{en=an.convert(Wt,en,{context:"Failed to set the 'onkeyup' property on 'SVGElement': The provided value"})}tn[on]["onkeyup"]=en}get onload(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get onload' called on an object that is not a valid instance of SVGElement.")}return nn.tryWrapperForImpl(en[on]["onload"])}set onload(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set onload' called on an object that is not a valid instance of SVGElement.")}if(!nn.isObject(en)){en=null}else{en=an.convert(Wt,en,{context:"Failed to set the 'onload' property on 'SVGElement': The provided value"})}tn[on]["onload"]=en}get onloadeddata(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get onloadeddata' called on an object that is not a valid instance of SVGElement.")}return nn.tryWrapperForImpl(en[on]["onloadeddata"])}set onloadeddata(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set onloadeddata' called on an object that is not a valid instance of SVGElement.")}if(!nn.isObject(en)){en=null}else{en=an.convert(Wt,en,{context:"Failed to set the 'onloadeddata' property on 'SVGElement': The provided value"})}tn[on]["onloadeddata"]=en}get onloadedmetadata(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get onloadedmetadata' called on an object that is not a valid instance of SVGElement.")}return nn.tryWrapperForImpl(en[on]["onloadedmetadata"])}set onloadedmetadata(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set onloadedmetadata' called on an object that is not a valid instance of SVGElement.")}if(!nn.isObject(en)){en=null}else{en=an.convert(Wt,en,{context:"Failed to set the 'onloadedmetadata' property on 'SVGElement': The provided value"})}tn[on]["onloadedmetadata"]=en}get onloadstart(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get onloadstart' called on an object that is not a valid instance of SVGElement.")}return nn.tryWrapperForImpl(en[on]["onloadstart"])}set onloadstart(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set onloadstart' called on an object that is not a valid instance of SVGElement.")}if(!nn.isObject(en)){en=null}else{en=an.convert(Wt,en,{context:"Failed to set the 'onloadstart' property on 'SVGElement': The provided value"})}tn[on]["onloadstart"]=en}get onmousedown(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get onmousedown' called on an object that is not a valid instance of SVGElement.")}return nn.tryWrapperForImpl(en[on]["onmousedown"])}set onmousedown(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set onmousedown' called on an object that is not a valid instance of SVGElement.")}if(!nn.isObject(en)){en=null}else{en=an.convert(Wt,en,{context:"Failed to set the 'onmousedown' property on 'SVGElement': The provided value"})}tn[on]["onmousedown"]=en}get onmouseenter(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){return}return nn.tryWrapperForImpl(en[on]["onmouseenter"])}set onmouseenter(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){return}if(!nn.isObject(en)){en=null}else{en=an.convert(Wt,en,{context:"Failed to set the 'onmouseenter' property on 'SVGElement': The provided value"})}tn[on]["onmouseenter"]=en}get onmouseleave(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){return}return nn.tryWrapperForImpl(en[on]["onmouseleave"])}set onmouseleave(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){return}if(!nn.isObject(en)){en=null}else{en=an.convert(Wt,en,{context:"Failed to set the 'onmouseleave' property on 'SVGElement': The provided value"})}tn[on]["onmouseleave"]=en}get onmousemove(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get onmousemove' called on an object that is not a valid instance of SVGElement.")}return nn.tryWrapperForImpl(en[on]["onmousemove"])}set onmousemove(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set onmousemove' called on an object that is not a valid instance of SVGElement.")}if(!nn.isObject(en)){en=null}else{en=an.convert(Wt,en,{context:"Failed to set the 'onmousemove' property on 'SVGElement': The provided value"})}tn[on]["onmousemove"]=en}get onmouseout(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get onmouseout' called on an object that is not a valid instance of SVGElement.")}return nn.tryWrapperForImpl(en[on]["onmouseout"])}set onmouseout(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set onmouseout' called on an object that is not a valid instance of SVGElement.")}if(!nn.isObject(en)){en=null}else{en=an.convert(Wt,en,{context:"Failed to set the 'onmouseout' property on 'SVGElement': The provided value"})}tn[on]["onmouseout"]=en}get onmouseover(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get onmouseover' called on an object that is not a valid instance of SVGElement.")}return nn.tryWrapperForImpl(en[on]["onmouseover"])}set onmouseover(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set onmouseover' called on an object that is not a valid instance of SVGElement.")}if(!nn.isObject(en)){en=null}else{en=an.convert(Wt,en,{context:"Failed to set the 'onmouseover' property on 'SVGElement': The provided value"})}tn[on]["onmouseover"]=en}get onmouseup(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get onmouseup' called on an object that is not a valid instance of SVGElement.")}return nn.tryWrapperForImpl(en[on]["onmouseup"])}set onmouseup(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set onmouseup' called on an object that is not a valid instance of SVGElement.")}if(!nn.isObject(en)){en=null}else{en=an.convert(Wt,en,{context:"Failed to set the 'onmouseup' property on 'SVGElement': The provided value"})}tn[on]["onmouseup"]=en}get onpaste(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get onpaste' called on an object that is not a valid instance of SVGElement.")}return nn.tryWrapperForImpl(en[on]["onpaste"])}set onpaste(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set onpaste' called on an object that is not a valid instance of SVGElement.")}if(!nn.isObject(en)){en=null}else{en=an.convert(Wt,en,{context:"Failed to set the 'onpaste' property on 'SVGElement': The provided value"})}tn[on]["onpaste"]=en}get onpause(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get onpause' called on an object that is not a valid instance of SVGElement.")}return nn.tryWrapperForImpl(en[on]["onpause"])}set onpause(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set onpause' called on an object that is not a valid instance of SVGElement.")}if(!nn.isObject(en)){en=null}else{en=an.convert(Wt,en,{context:"Failed to set the 'onpause' property on 'SVGElement': The provided value"})}tn[on]["onpause"]=en}get onplay(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get onplay' called on an object that is not a valid instance of SVGElement.")}return nn.tryWrapperForImpl(en[on]["onplay"])}set onplay(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set onplay' called on an object that is not a valid instance of SVGElement.")}if(!nn.isObject(en)){en=null}else{en=an.convert(Wt,en,{context:"Failed to set the 'onplay' property on 'SVGElement': The provided value"})}tn[on]["onplay"]=en}get onplaying(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get onplaying' called on an object that is not a valid instance of SVGElement.")}return nn.tryWrapperForImpl(en[on]["onplaying"])}set onplaying(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set onplaying' called on an object that is not a valid instance of SVGElement.")}if(!nn.isObject(en)){en=null}else{en=an.convert(Wt,en,{context:"Failed to set the 'onplaying' property on 'SVGElement': The provided value"})}tn[on]["onplaying"]=en}get onprogress(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get onprogress' called on an object that is not a valid instance of SVGElement.")}return nn.tryWrapperForImpl(en[on]["onprogress"])}set onprogress(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set onprogress' called on an object that is not a valid instance of SVGElement.")}if(!nn.isObject(en)){en=null}else{en=an.convert(Wt,en,{context:"Failed to set the 'onprogress' property on 'SVGElement': The provided value"})}tn[on]["onprogress"]=en}get onratechange(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get onratechange' called on an object that is not a valid instance of SVGElement.")}return nn.tryWrapperForImpl(en[on]["onratechange"])}set onratechange(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set onratechange' called on an object that is not a valid instance of SVGElement.")}if(!nn.isObject(en)){en=null}else{en=an.convert(Wt,en,{context:"Failed to set the 'onratechange' property on 'SVGElement': The provided value"})}tn[on]["onratechange"]=en}get onreset(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get onreset' called on an object that is not a valid instance of SVGElement.")}return nn.tryWrapperForImpl(en[on]["onreset"])}set onreset(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set onreset' called on an object that is not a valid instance of SVGElement.")}if(!nn.isObject(en)){en=null}else{en=an.convert(Wt,en,{context:"Failed to set the 'onreset' property on 'SVGElement': The provided value"})}tn[on]["onreset"]=en}get onresize(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get onresize' called on an object that is not a valid instance of SVGElement.")}return nn.tryWrapperForImpl(en[on]["onresize"])}set onresize(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set onresize' called on an object that is not a valid instance of SVGElement.")}if(!nn.isObject(en)){en=null}else{en=an.convert(Wt,en,{context:"Failed to set the 'onresize' property on 'SVGElement': The provided value"})}tn[on]["onresize"]=en}get onscroll(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get onscroll' called on an object that is not a valid instance of SVGElement.")}return nn.tryWrapperForImpl(en[on]["onscroll"])}set onscroll(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set onscroll' called on an object that is not a valid instance of SVGElement.")}if(!nn.isObject(en)){en=null}else{en=an.convert(Wt,en,{context:"Failed to set the 'onscroll' property on 'SVGElement': The provided value"})}tn[on]["onscroll"]=en}get onscrollend(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get onscrollend' called on an object that is not a valid instance of SVGElement.")}return nn.tryWrapperForImpl(en[on]["onscrollend"])}set onscrollend(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set onscrollend' called on an object that is not a valid instance of SVGElement.")}if(!nn.isObject(en)){en=null}else{en=an.convert(Wt,en,{context:"Failed to set the 'onscrollend' property on 'SVGElement': The provided value"})}tn[on]["onscrollend"]=en}get onsecuritypolicyviolation(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get onsecuritypolicyviolation' called on an object that is not a valid instance of SVGElement.")}return nn.tryWrapperForImpl(en[on]["onsecuritypolicyviolation"])}set onsecuritypolicyviolation(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set onsecuritypolicyviolation' called on an object that is not a valid instance of SVGElement.")}if(!nn.isObject(en)){en=null}else{en=an.convert(Wt,en,{context:"Failed to set the 'onsecuritypolicyviolation' property on 'SVGElement': The provided value"})}tn[on]["onsecuritypolicyviolation"]=en}get onseeked(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get onseeked' called on an object that is not a valid instance of SVGElement.")}return nn.tryWrapperForImpl(en[on]["onseeked"])}set onseeked(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set onseeked' called on an object that is not a valid instance of SVGElement.")}if(!nn.isObject(en)){en=null}else{en=an.convert(Wt,en,{context:"Failed to set the 'onseeked' property on 'SVGElement': The provided value"})}tn[on]["onseeked"]=en}get onseeking(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get onseeking' called on an object that is not a valid instance of SVGElement.")}return nn.tryWrapperForImpl(en[on]["onseeking"])}set onseeking(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set onseeking' called on an object that is not a valid instance of SVGElement.")}if(!nn.isObject(en)){en=null}else{en=an.convert(Wt,en,{context:"Failed to set the 'onseeking' property on 'SVGElement': The provided value"})}tn[on]["onseeking"]=en}get onselect(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get onselect' called on an object that is not a valid instance of SVGElement.")}return nn.tryWrapperForImpl(en[on]["onselect"])}set onselect(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set onselect' called on an object that is not a valid instance of SVGElement.")}if(!nn.isObject(en)){en=null}else{en=an.convert(Wt,en,{context:"Failed to set the 'onselect' property on 'SVGElement': The provided value"})}tn[on]["onselect"]=en}get onslotchange(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get onslotchange' called on an object that is not a valid instance of SVGElement.")}return nn.tryWrapperForImpl(en[on]["onslotchange"])}set onslotchange(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set onslotchange' called on an object that is not a valid instance of SVGElement.")}if(!nn.isObject(en)){en=null}else{en=an.convert(Wt,en,{context:"Failed to set the 'onslotchange' property on 'SVGElement': The provided value"})}tn[on]["onslotchange"]=en}get onstalled(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get onstalled' called on an object that is not a valid instance of SVGElement.")}return nn.tryWrapperForImpl(en[on]["onstalled"])}set onstalled(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set onstalled' called on an object that is not a valid instance of SVGElement.")}if(!nn.isObject(en)){en=null}else{en=an.convert(Wt,en,{context:"Failed to set the 'onstalled' property on 'SVGElement': The provided value"})}tn[on]["onstalled"]=en}get onsubmit(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get onsubmit' called on an object that is not a valid instance of SVGElement.")}return nn.tryWrapperForImpl(en[on]["onsubmit"])}set onsubmit(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set onsubmit' called on an object that is not a valid instance of SVGElement.")}if(!nn.isObject(en)){en=null}else{en=an.convert(Wt,en,{context:"Failed to set the 'onsubmit' property on 'SVGElement': The provided value"})}tn[on]["onsubmit"]=en}get onsuspend(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get onsuspend' called on an object that is not a valid instance of SVGElement.")}return nn.tryWrapperForImpl(en[on]["onsuspend"])}set onsuspend(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set onsuspend' called on an object that is not a valid instance of SVGElement.")}if(!nn.isObject(en)){en=null}else{en=an.convert(Wt,en,{context:"Failed to set the 'onsuspend' property on 'SVGElement': The provided value"})}tn[on]["onsuspend"]=en}get ontimeupdate(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get ontimeupdate' called on an object that is not a valid instance of SVGElement.")}return nn.tryWrapperForImpl(en[on]["ontimeupdate"])}set ontimeupdate(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set ontimeupdate' called on an object that is not a valid instance of SVGElement.")}if(!nn.isObject(en)){en=null}else{en=an.convert(Wt,en,{context:"Failed to set the 'ontimeupdate' property on 'SVGElement': The provided value"})}tn[on]["ontimeupdate"]=en}get ontoggle(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get ontoggle' called on an object that is not a valid instance of SVGElement.")}return nn.tryWrapperForImpl(en[on]["ontoggle"])}set ontoggle(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set ontoggle' called on an object that is not a valid instance of SVGElement.")}if(!nn.isObject(en)){en=null}else{en=an.convert(Wt,en,{context:"Failed to set the 'ontoggle' property on 'SVGElement': The provided value"})}tn[on]["ontoggle"]=en}get onvolumechange(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get onvolumechange' called on an object that is not a valid instance of SVGElement.")}return nn.tryWrapperForImpl(en[on]["onvolumechange"])}set onvolumechange(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set onvolumechange' called on an object that is not a valid instance of SVGElement.")}if(!nn.isObject(en)){en=null}else{en=an.convert(Wt,en,{context:"Failed to set the 'onvolumechange' property on 'SVGElement': The provided value"})}tn[on]["onvolumechange"]=en}get onwaiting(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get onwaiting' called on an object that is not a valid instance of SVGElement.")}return nn.tryWrapperForImpl(en[on]["onwaiting"])}set onwaiting(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set onwaiting' called on an object that is not a valid instance of SVGElement.")}if(!nn.isObject(en)){en=null}else{en=an.convert(Wt,en,{context:"Failed to set the 'onwaiting' property on 'SVGElement': The provided value"})}tn[on]["onwaiting"]=en}get onwebkitanimationend(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get onwebkitanimationend' called on an object that is not a valid instance of SVGElement.")}return nn.tryWrapperForImpl(en[on]["onwebkitanimationend"])}set onwebkitanimationend(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set onwebkitanimationend' called on an object that is not a valid instance of SVGElement.")}if(!nn.isObject(en)){en=null}else{en=an.convert(Wt,en,{context:"Failed to set the 'onwebkitanimationend' property on 'SVGElement': The provided value"})}tn[on]["onwebkitanimationend"]=en}get onwebkitanimationiteration(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get onwebkitanimationiteration' called on an object that is not a valid instance of SVGElement.")}return nn.tryWrapperForImpl(en[on]["onwebkitanimationiteration"])}set onwebkitanimationiteration(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set onwebkitanimationiteration' called on an object that is not a valid instance of SVGElement.")}if(!nn.isObject(en)){en=null}else{en=an.convert(Wt,en,{context:"Failed to set the 'onwebkitanimationiteration' property on 'SVGElement': The provided value"})}tn[on]["onwebkitanimationiteration"]=en}get onwebkitanimationstart(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get onwebkitanimationstart' called on an object that is not a valid instance of SVGElement.")}return nn.tryWrapperForImpl(en[on]["onwebkitanimationstart"])}set onwebkitanimationstart(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set onwebkitanimationstart' called on an object that is not a valid instance of SVGElement.")}if(!nn.isObject(en)){en=null}else{en=an.convert(Wt,en,{context:"Failed to set the 'onwebkitanimationstart' property on 'SVGElement': The provided value"})}tn[on]["onwebkitanimationstart"]=en}get onwebkittransitionend(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get onwebkittransitionend' called on an object that is not a valid instance of SVGElement.")}return nn.tryWrapperForImpl(en[on]["onwebkittransitionend"])}set onwebkittransitionend(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set onwebkittransitionend' called on an object that is not a valid instance of SVGElement.")}if(!nn.isObject(en)){en=null}else{en=an.convert(Wt,en,{context:"Failed to set the 'onwebkittransitionend' property on 'SVGElement': The provided value"})}tn[on]["onwebkittransitionend"]=en}get onwheel(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get onwheel' called on an object that is not a valid instance of SVGElement.")}return nn.tryWrapperForImpl(en[on]["onwheel"])}set onwheel(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set onwheel' called on an object that is not a valid instance of SVGElement.")}if(!nn.isObject(en)){en=null}else{en=an.convert(Wt,en,{context:"Failed to set the 'onwheel' property on 'SVGElement': The provided value"})}tn[on]["onwheel"]=en}get ontouchstart(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get ontouchstart' called on an object that is not a valid instance of SVGElement.")}return nn.tryWrapperForImpl(en[on]["ontouchstart"])}set ontouchstart(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set ontouchstart' called on an object that is not a valid instance of SVGElement.")}if(!nn.isObject(en)){en=null}else{en=an.convert(Wt,en,{context:"Failed to set the 'ontouchstart' property on 'SVGElement': The provided value"})}tn[on]["ontouchstart"]=en}get ontouchend(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get ontouchend' called on an object that is not a valid instance of SVGElement.")}return nn.tryWrapperForImpl(en[on]["ontouchend"])}set ontouchend(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set ontouchend' called on an object that is not a valid instance of SVGElement.")}if(!nn.isObject(en)){en=null}else{en=an.convert(Wt,en,{context:"Failed to set the 'ontouchend' property on 'SVGElement': The provided value"})}tn[on]["ontouchend"]=en}get ontouchmove(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get ontouchmove' called on an object that is not a valid instance of SVGElement.")}return nn.tryWrapperForImpl(en[on]["ontouchmove"])}set ontouchmove(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set ontouchmove' called on an object that is not a valid instance of SVGElement.")}if(!nn.isObject(en)){en=null}else{en=an.convert(Wt,en,{context:"Failed to set the 'ontouchmove' property on 'SVGElement': The provided value"})}tn[on]["ontouchmove"]=en}get ontouchcancel(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get ontouchcancel' called on an object that is not a valid instance of SVGElement.")}return nn.tryWrapperForImpl(en[on]["ontouchcancel"])}set ontouchcancel(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set ontouchcancel' called on an object that is not a valid instance of SVGElement.")}if(!nn.isObject(en)){en=null}else{en=an.convert(Wt,en,{context:"Failed to set the 'ontouchcancel' property on 'SVGElement': The provided value"})}tn[on]["ontouchcancel"]=en}get dataset(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get dataset' called on an object that is not a valid instance of SVGElement.")}return nn.getSameObject(this,"dataset",(()=>nn.tryWrapperForImpl(en[on]["dataset"])))}get nonce(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get nonce' called on an object that is not a valid instance of SVGElement.")}const tn=en[on]._reflectGetTheContentAttribute("nonce");return tn===null?"":tn}set nonce(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set nonce' called on an object that is not a valid instance of SVGElement.")}en=tn["DOMString"](en,{context:"Failed to set the 'nonce' property on 'SVGElement': The provided value",globals:Wt});nn[on]._reflectSetTheContentAttribute("nonce",en)}get tabIndex(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get tabIndex' called on an object that is not a valid instance of SVGElement.")}rn(Wt);try{return en[on]["tabIndex"]}finally{sn(Wt)}}set tabIndex(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set tabIndex' called on an object that is not a valid instance of SVGElement.")}en=tn["long"](en,{context:"Failed to set the 'tabIndex' property on 'SVGElement': The provided value",globals:Wt});rn(Wt);try{nn[on]["tabIndex"]=en}finally{sn(Wt)}}}Object.defineProperties(SVGElement.prototype,{focus:{enumerable:true},blur:{enumerable:true},className:{enumerable:true},ownerSVGElement:{enumerable:true},viewportElement:{enumerable:true},style:{enumerable:true},onabort:{enumerable:true},onauxclick:{enumerable:true},onbeforeinput:{enumerable:true},onbeforematch:{enumerable:true},onbeforetoggle:{enumerable:true},onblur:{enumerable:true},oncancel:{enumerable:true},oncanplay:{enumerable:true},oncanplaythrough:{enumerable:true},onchange:{enumerable:true},onclick:{enumerable:true},onclose:{enumerable:true},oncontextlost:{enumerable:true},oncontextmenu:{enumerable:true},oncontextrestored:{enumerable:true},oncopy:{enumerable:true},oncuechange:{enumerable:true},oncut:{enumerable:true},ondblclick:{enumerable:true},ondrag:{enumerable:true},ondragend:{enumerable:true},ondragenter:{enumerable:true},ondragleave:{enumerable:true},ondragover:{enumerable:true},ondragstart:{enumerable:true},ondrop:{enumerable:true},ondurationchange:{enumerable:true},onemptied:{enumerable:true},onended:{enumerable:true},onerror:{enumerable:true},onfocus:{enumerable:true},onformdata:{enumerable:true},oninput:{enumerable:true},oninvalid:{enumerable:true},onkeydown:{enumerable:true},onkeypress:{enumerable:true},onkeyup:{enumerable:true},onload:{enumerable:true},onloadeddata:{enumerable:true},onloadedmetadata:{enumerable:true},onloadstart:{enumerable:true},onmousedown:{enumerable:true},onmouseenter:{enumerable:true},onmouseleave:{enumerable:true},onmousemove:{enumerable:true},onmouseout:{enumerable:true},onmouseover:{enumerable:true},onmouseup:{enumerable:true},onpaste:{enumerable:true},onpause:{enumerable:true},onplay:{enumerable:true},onplaying:{enumerable:true},onprogress:{enumerable:true},onratechange:{enumerable:true},onreset:{enumerable:true},onresize:{enumerable:true},onscroll:{enumerable:true},onscrollend:{enumerable:true},onsecuritypolicyviolation:{enumerable:true},onseeked:{enumerable:true},onseeking:{enumerable:true},onselect:{enumerable:true},onslotchange:{enumerable:true},onstalled:{enumerable:true},onsubmit:{enumerable:true},onsuspend:{enumerable:true},ontimeupdate:{enumerable:true},ontoggle:{enumerable:true},onvolumechange:{enumerable:true},onwaiting:{enumerable:true},onwebkitanimationend:{enumerable:true},onwebkitanimationiteration:{enumerable:true},onwebkitanimationstart:{enumerable:true},onwebkittransitionend:{enumerable:true},onwheel:{enumerable:true},ontouchstart:{enumerable:true},ontouchend:{enumerable:true},ontouchmove:{enumerable:true},ontouchcancel:{enumerable:true},dataset:{enumerable:true},nonce:{enumerable:true},tabIndex:{enumerable:true},[Symbol.toStringTag]:{value:"SVGElement",configurable:true}});cn[un]=SVGElement;Object.defineProperty(Wt,un,{configurable:true,writable:true,value:SVGElement})};const mn=en(72156)},91398:(Wt,Pt,en)=>{const tn=en(37125);const nn=en(87094);const an=nn.implSymbol;const In=nn.ctorRegistrySymbol;const rn=en(70321);const sn="SVGGraphicsElement";Pt.is=Wt=>nn.isObject(Wt)&&nn.hasOwn(Wt,an)&&Wt[an]instanceof cn.implementation;Pt.isImpl=Wt=>nn.isObject(Wt)&&Wt instanceof cn.implementation;Pt.convert=(Wt,en,{context:tn="The provided value"}={})=>{if(Pt.is(en)){return nn.implForWrapper(en)}throw new Wt.TypeError(`${tn} is not of type 'SVGGraphicsElement'.`)};function makeWrapper(Wt,Pt){let en;if(Pt!==undefined){en=Pt.prototype}if(!nn.isObject(en)){en=Wt[In]["SVGGraphicsElement"].prototype}return Object.create(en)}Pt.create=(Wt,en,tn)=>{const nn=makeWrapper(Wt);return Pt.setup(nn,Wt,en,tn)};Pt.createImpl=(Wt,en,tn)=>{const an=Pt.create(Wt,en,tn);return nn.implForWrapper(an)};Pt._internalSetup=(Wt,Pt)=>{rn._internalSetup(Wt,Pt)};Pt.setup=(Wt,en,tn=[],In={})=>{In.wrapper=Wt;Pt._internalSetup(Wt,en);Object.defineProperty(Wt,an,{value:new cn.implementation(en,tn,In),configurable:true});Wt[an][nn.wrapperSymbol]=Wt;if(cn.init){cn.init(Wt[an])}return Wt};Pt["new"]=(Wt,en)=>{const tn=makeWrapper(Wt,en);Pt._internalSetup(tn,Wt);Object.defineProperty(tn,an,{value:Object.create(cn.implementation.prototype),configurable:true});tn[an][nn.wrapperSymbol]=tn;if(cn.init){cn.init(tn[an])}return tn[an]};const on=new Set(["Window"]);Pt.install=(Wt,en)=>{if(!en.some((Wt=>on.has(Wt)))){return}const tn=nn.initCtorRegistry(Wt);class SVGGraphicsElement extends Wt.SVGElement{constructor(){throw new Wt.TypeError("Illegal constructor")}get requiredExtensions(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get requiredExtensions' called on an object that is not a valid instance of SVGGraphicsElement.")}return nn.getSameObject(this,"requiredExtensions",(()=>nn.tryWrapperForImpl(en[an]["requiredExtensions"])))}get systemLanguage(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get systemLanguage' called on an object that is not a valid instance of SVGGraphicsElement.")}return nn.getSameObject(this,"systemLanguage",(()=>nn.tryWrapperForImpl(en[an]["systemLanguage"])))}}Object.defineProperties(SVGGraphicsElement.prototype,{requiredExtensions:{enumerable:true},systemLanguage:{enumerable:true},[Symbol.toStringTag]:{value:"SVGGraphicsElement",configurable:true}});tn[sn]=SVGGraphicsElement;Object.defineProperty(Wt,sn,{configurable:true,writable:true,value:SVGGraphicsElement})};const cn=en(9133)},35168:(Wt,Pt,en)=>{const tn=en(37125);const nn=en(87094);const an=nn.implSymbol;const In=nn.ctorRegistrySymbol;const rn="SVGNumber";Pt.is=Wt=>nn.isObject(Wt)&&nn.hasOwn(Wt,an)&&Wt[an]instanceof on.implementation;Pt.isImpl=Wt=>nn.isObject(Wt)&&Wt instanceof on.implementation;Pt.convert=(Wt,en,{context:tn="The provided value"}={})=>{if(Pt.is(en)){return nn.implForWrapper(en)}throw new Wt.TypeError(`${tn} is not of type 'SVGNumber'.`)};function makeWrapper(Wt,Pt){let en;if(Pt!==undefined){en=Pt.prototype}if(!nn.isObject(en)){en=Wt[In]["SVGNumber"].prototype}return Object.create(en)}Pt.create=(Wt,en,tn)=>{const nn=makeWrapper(Wt);return Pt.setup(nn,Wt,en,tn)};Pt.createImpl=(Wt,en,tn)=>{const an=Pt.create(Wt,en,tn);return nn.implForWrapper(an)};Pt._internalSetup=(Wt,Pt)=>{};Pt.setup=(Wt,en,tn=[],In={})=>{In.wrapper=Wt;Pt._internalSetup(Wt,en);Object.defineProperty(Wt,an,{value:new on.implementation(en,tn,In),configurable:true});Wt[an][nn.wrapperSymbol]=Wt;if(on.init){on.init(Wt[an])}return Wt};Pt["new"]=(Wt,en)=>{const tn=makeWrapper(Wt,en);Pt._internalSetup(tn,Wt);Object.defineProperty(tn,an,{value:Object.create(on.implementation.prototype),configurable:true});tn[an][nn.wrapperSymbol]=tn;if(on.init){on.init(tn[an])}return tn[an]};const sn=new Set(["Window"]);Pt.install=(Wt,en)=>{if(!en.some((Wt=>sn.has(Wt)))){return}const In=nn.initCtorRegistry(Wt);class SVGNumber{constructor(){throw new Wt.TypeError("Illegal constructor")}get value(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get value' called on an object that is not a valid instance of SVGNumber.")}return en[an]["value"]}set value(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set value' called on an object that is not a valid instance of SVGNumber.")}en=tn["float"](en,{context:"Failed to set the 'value' property on 'SVGNumber': The provided value",globals:Wt});nn[an]["value"]=en}}Object.defineProperties(SVGNumber.prototype,{value:{enumerable:true},[Symbol.toStringTag]:{value:"SVGNumber",configurable:true}});In[rn]=SVGNumber;Object.defineProperty(Wt,rn,{configurable:true,writable:true,value:SVGNumber})};const on=en(29954)},60787:(Wt,Pt,en)=>{const tn=en(37125);const nn=en(87094);const an=en(69117);const In=en(98574);const rn=nn.implSymbol;const sn=nn.ctorRegistrySymbol;const on=en(91398);const cn="SVGSVGElement";Pt.is=Wt=>nn.isObject(Wt)&&nn.hasOwn(Wt,rn)&&Wt[rn]instanceof un.implementation;Pt.isImpl=Wt=>nn.isObject(Wt)&&Wt instanceof un.implementation;Pt.convert=(Wt,en,{context:tn="The provided value"}={})=>{if(Pt.is(en)){return nn.implForWrapper(en)}throw new Wt.TypeError(`${tn} is not of type 'SVGSVGElement'.`)};function makeWrapper(Wt,Pt){let en;if(Pt!==undefined){en=Pt.prototype}if(!nn.isObject(en)){en=Wt[sn]["SVGSVGElement"].prototype}return Object.create(en)}Pt.create=(Wt,en,tn)=>{const nn=makeWrapper(Wt);return Pt.setup(nn,Wt,en,tn)};Pt.createImpl=(Wt,en,tn)=>{const an=Pt.create(Wt,en,tn);return nn.implForWrapper(an)};Pt._internalSetup=(Wt,Pt)=>{on._internalSetup(Wt,Pt)};Pt.setup=(Wt,en,tn=[],an={})=>{an.wrapper=Wt;Pt._internalSetup(Wt,en);Object.defineProperty(Wt,rn,{value:new un.implementation(en,tn,an),configurable:true});Wt[rn][nn.wrapperSymbol]=Wt;if(un.init){un.init(Wt[rn])}return Wt};Pt["new"]=(Wt,en)=>{const tn=makeWrapper(Wt,en);Pt._internalSetup(tn,Wt);Object.defineProperty(tn,rn,{value:Object.create(un.implementation.prototype),configurable:true});tn[rn][nn.wrapperSymbol]=tn;if(un.init){un.init(tn[rn])}return tn[rn]};const dn=new Set(["Window"]);Pt.install=(Wt,en)=>{if(!en.some((Wt=>dn.has(Wt)))){return}const sn=nn.initCtorRegistry(Wt);class SVGSVGElement extends Wt.SVGGraphicsElement{constructor(){throw new Wt.TypeError("Illegal constructor")}createSVGNumber(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'createSVGNumber' called on an object that is not a valid instance of SVGSVGElement.")}return nn.tryWrapperForImpl(en[rn].createSVGNumber())}getElementById(en){const an=this!==null&&this!==undefined?this:Wt;if(!Pt.is(an)){throw new Wt.TypeError("'getElementById' called on an object that is not a valid instance of SVGSVGElement.")}if(arguments.length<1){throw new Wt.TypeError(`Failed to execute 'getElementById' on 'SVGSVGElement': 1 argument required, but only ${arguments.length} present.`)}const In=[];{let Pt=arguments[0];Pt=tn["DOMString"](Pt,{context:"Failed to execute 'getElementById' on 'SVGSVGElement': parameter 1",globals:Wt});In.push(Pt)}return nn.tryWrapperForImpl(an[rn].getElementById(...In))}suspendRedraw(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'suspendRedraw' called on an object that is not a valid instance of SVGSVGElement.")}if(arguments.length<1){throw new Wt.TypeError(`Failed to execute 'suspendRedraw' on 'SVGSVGElement': 1 argument required, but only ${arguments.length} present.`)}const an=[];{let Pt=arguments[0];Pt=tn["unsigned long"](Pt,{context:"Failed to execute 'suspendRedraw' on 'SVGSVGElement': parameter 1",globals:Wt});an.push(Pt)}return nn[rn].suspendRedraw(...an)}unsuspendRedraw(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'unsuspendRedraw' called on an object that is not a valid instance of SVGSVGElement.")}if(arguments.length<1){throw new Wt.TypeError(`Failed to execute 'unsuspendRedraw' on 'SVGSVGElement': 1 argument required, but only ${arguments.length} present.`)}const an=[];{let Pt=arguments[0];Pt=tn["unsigned long"](Pt,{context:"Failed to execute 'unsuspendRedraw' on 'SVGSVGElement': parameter 1",globals:Wt});an.push(Pt)}return nn[rn].unsuspendRedraw(...an)}unsuspendRedrawAll(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'unsuspendRedrawAll' called on an object that is not a valid instance of SVGSVGElement.")}return en[rn].unsuspendRedrawAll()}forceRedraw(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'forceRedraw' called on an object that is not a valid instance of SVGSVGElement.")}return en[rn].forceRedraw()}get onafterprint(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get onafterprint' called on an object that is not a valid instance of SVGSVGElement.")}return nn.tryWrapperForImpl(en[rn]["onafterprint"])}set onafterprint(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set onafterprint' called on an object that is not a valid instance of SVGSVGElement.")}if(!nn.isObject(en)){en=null}else{en=an.convert(Wt,en,{context:"Failed to set the 'onafterprint' property on 'SVGSVGElement': The provided value"})}tn[rn]["onafterprint"]=en}get onbeforeprint(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get onbeforeprint' called on an object that is not a valid instance of SVGSVGElement.")}return nn.tryWrapperForImpl(en[rn]["onbeforeprint"])}set onbeforeprint(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set onbeforeprint' called on an object that is not a valid instance of SVGSVGElement.")}if(!nn.isObject(en)){en=null}else{en=an.convert(Wt,en,{context:"Failed to set the 'onbeforeprint' property on 'SVGSVGElement': The provided value"})}tn[rn]["onbeforeprint"]=en}get onbeforeunload(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get onbeforeunload' called on an object that is not a valid instance of SVGSVGElement.")}return nn.tryWrapperForImpl(en[rn]["onbeforeunload"])}set onbeforeunload(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set onbeforeunload' called on an object that is not a valid instance of SVGSVGElement.")}if(!nn.isObject(en)){en=null}else{en=In.convert(Wt,en,{context:"Failed to set the 'onbeforeunload' property on 'SVGSVGElement': The provided value"})}tn[rn]["onbeforeunload"]=en}get onhashchange(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get onhashchange' called on an object that is not a valid instance of SVGSVGElement.")}return nn.tryWrapperForImpl(en[rn]["onhashchange"])}set onhashchange(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set onhashchange' called on an object that is not a valid instance of SVGSVGElement.")}if(!nn.isObject(en)){en=null}else{en=an.convert(Wt,en,{context:"Failed to set the 'onhashchange' property on 'SVGSVGElement': The provided value"})}tn[rn]["onhashchange"]=en}get onlanguagechange(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get onlanguagechange' called on an object that is not a valid instance of SVGSVGElement.")}return nn.tryWrapperForImpl(en[rn]["onlanguagechange"])}set onlanguagechange(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set onlanguagechange' called on an object that is not a valid instance of SVGSVGElement.")}if(!nn.isObject(en)){en=null}else{en=an.convert(Wt,en,{context:"Failed to set the 'onlanguagechange' property on 'SVGSVGElement': The provided value"})}tn[rn]["onlanguagechange"]=en}get onmessage(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get onmessage' called on an object that is not a valid instance of SVGSVGElement.")}return nn.tryWrapperForImpl(en[rn]["onmessage"])}set onmessage(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set onmessage' called on an object that is not a valid instance of SVGSVGElement.")}if(!nn.isObject(en)){en=null}else{en=an.convert(Wt,en,{context:"Failed to set the 'onmessage' property on 'SVGSVGElement': The provided value"})}tn[rn]["onmessage"]=en}get onmessageerror(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get onmessageerror' called on an object that is not a valid instance of SVGSVGElement.")}return nn.tryWrapperForImpl(en[rn]["onmessageerror"])}set onmessageerror(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set onmessageerror' called on an object that is not a valid instance of SVGSVGElement.")}if(!nn.isObject(en)){en=null}else{en=an.convert(Wt,en,{context:"Failed to set the 'onmessageerror' property on 'SVGSVGElement': The provided value"})}tn[rn]["onmessageerror"]=en}get onoffline(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get onoffline' called on an object that is not a valid instance of SVGSVGElement.")}return nn.tryWrapperForImpl(en[rn]["onoffline"])}set onoffline(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set onoffline' called on an object that is not a valid instance of SVGSVGElement.")}if(!nn.isObject(en)){en=null}else{en=an.convert(Wt,en,{context:"Failed to set the 'onoffline' property on 'SVGSVGElement': The provided value"})}tn[rn]["onoffline"]=en}get ononline(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get ononline' called on an object that is not a valid instance of SVGSVGElement.")}return nn.tryWrapperForImpl(en[rn]["ononline"])}set ononline(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set ononline' called on an object that is not a valid instance of SVGSVGElement.")}if(!nn.isObject(en)){en=null}else{en=an.convert(Wt,en,{context:"Failed to set the 'ononline' property on 'SVGSVGElement': The provided value"})}tn[rn]["ononline"]=en}get onpagehide(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get onpagehide' called on an object that is not a valid instance of SVGSVGElement.")}return nn.tryWrapperForImpl(en[rn]["onpagehide"])}set onpagehide(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set onpagehide' called on an object that is not a valid instance of SVGSVGElement.")}if(!nn.isObject(en)){en=null}else{en=an.convert(Wt,en,{context:"Failed to set the 'onpagehide' property on 'SVGSVGElement': The provided value"})}tn[rn]["onpagehide"]=en}get onpageshow(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get onpageshow' called on an object that is not a valid instance of SVGSVGElement.")}return nn.tryWrapperForImpl(en[rn]["onpageshow"])}set onpageshow(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set onpageshow' called on an object that is not a valid instance of SVGSVGElement.")}if(!nn.isObject(en)){en=null}else{en=an.convert(Wt,en,{context:"Failed to set the 'onpageshow' property on 'SVGSVGElement': The provided value"})}tn[rn]["onpageshow"]=en}get onpopstate(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get onpopstate' called on an object that is not a valid instance of SVGSVGElement.")}return nn.tryWrapperForImpl(en[rn]["onpopstate"])}set onpopstate(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set onpopstate' called on an object that is not a valid instance of SVGSVGElement.")}if(!nn.isObject(en)){en=null}else{en=an.convert(Wt,en,{context:"Failed to set the 'onpopstate' property on 'SVGSVGElement': The provided value"})}tn[rn]["onpopstate"]=en}get onrejectionhandled(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get onrejectionhandled' called on an object that is not a valid instance of SVGSVGElement.")}return nn.tryWrapperForImpl(en[rn]["onrejectionhandled"])}set onrejectionhandled(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set onrejectionhandled' called on an object that is not a valid instance of SVGSVGElement.")}if(!nn.isObject(en)){en=null}else{en=an.convert(Wt,en,{context:"Failed to set the 'onrejectionhandled' property on 'SVGSVGElement': The provided value"})}tn[rn]["onrejectionhandled"]=en}get onstorage(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get onstorage' called on an object that is not a valid instance of SVGSVGElement.")}return nn.tryWrapperForImpl(en[rn]["onstorage"])}set onstorage(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set onstorage' called on an object that is not a valid instance of SVGSVGElement.")}if(!nn.isObject(en)){en=null}else{en=an.convert(Wt,en,{context:"Failed to set the 'onstorage' property on 'SVGSVGElement': The provided value"})}tn[rn]["onstorage"]=en}get onunhandledrejection(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get onunhandledrejection' called on an object that is not a valid instance of SVGSVGElement.")}return nn.tryWrapperForImpl(en[rn]["onunhandledrejection"])}set onunhandledrejection(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set onunhandledrejection' called on an object that is not a valid instance of SVGSVGElement.")}if(!nn.isObject(en)){en=null}else{en=an.convert(Wt,en,{context:"Failed to set the 'onunhandledrejection' property on 'SVGSVGElement': The provided value"})}tn[rn]["onunhandledrejection"]=en}get onunload(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get onunload' called on an object that is not a valid instance of SVGSVGElement.")}return nn.tryWrapperForImpl(en[rn]["onunload"])}set onunload(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set onunload' called on an object that is not a valid instance of SVGSVGElement.")}if(!nn.isObject(en)){en=null}else{en=an.convert(Wt,en,{context:"Failed to set the 'onunload' property on 'SVGSVGElement': The provided value"})}tn[rn]["onunload"]=en}}Object.defineProperties(SVGSVGElement.prototype,{createSVGNumber:{enumerable:true},getElementById:{enumerable:true},suspendRedraw:{enumerable:true},unsuspendRedraw:{enumerable:true},unsuspendRedrawAll:{enumerable:true},forceRedraw:{enumerable:true},onafterprint:{enumerable:true},onbeforeprint:{enumerable:true},onbeforeunload:{enumerable:true},onhashchange:{enumerable:true},onlanguagechange:{enumerable:true},onmessage:{enumerable:true},onmessageerror:{enumerable:true},onoffline:{enumerable:true},ononline:{enumerable:true},onpagehide:{enumerable:true},onpageshow:{enumerable:true},onpopstate:{enumerable:true},onrejectionhandled:{enumerable:true},onstorage:{enumerable:true},onunhandledrejection:{enumerable:true},onunload:{enumerable:true},[Symbol.toStringTag]:{value:"SVGSVGElement",configurable:true}});sn[cn]=SVGSVGElement;Object.defineProperty(Wt,cn,{configurable:true,writable:true,value:SVGSVGElement})};const un=en(53362)},48780:(Wt,Pt,en)=>{const tn=en(37125);const nn=en(87094);const an=nn.implSymbol;const In=nn.ctorRegistrySymbol;const rn="SVGStringList";Pt.is=Wt=>nn.isObject(Wt)&&nn.hasOwn(Wt,an)&&Wt[an]instanceof cn.implementation;Pt.isImpl=Wt=>nn.isObject(Wt)&&Wt instanceof cn.implementation;Pt.convert=(Wt,en,{context:tn="The provided value"}={})=>{if(Pt.is(en)){return nn.implForWrapper(en)}throw new Wt.TypeError(`${tn} is not of type 'SVGStringList'.`)};function makeWrapper(Wt,Pt){let en;if(Pt!==undefined){en=Pt.prototype}if(!nn.isObject(en)){en=Wt[In]["SVGStringList"].prototype}return Object.create(en)}function makeProxy(Wt,Pt){let en=on.get(Pt);if(en===undefined){en=new ProxyHandler(Pt);on.set(Pt,en)}return new Proxy(Wt,en)}Pt.create=(Wt,en,tn)=>{const nn=makeWrapper(Wt);return Pt.setup(nn,Wt,en,tn)};Pt.createImpl=(Wt,en,tn)=>{const an=Pt.create(Wt,en,tn);return nn.implForWrapper(an)};Pt._internalSetup=(Wt,Pt)=>{};Pt.setup=(Wt,en,tn=[],In={})=>{In.wrapper=Wt;Pt._internalSetup(Wt,en);Object.defineProperty(Wt,an,{value:new cn.implementation(en,tn,In),configurable:true});Wt=makeProxy(Wt,en);Wt[an][nn.wrapperSymbol]=Wt;if(cn.init){cn.init(Wt[an])}return Wt};Pt["new"]=(Wt,en)=>{let tn=makeWrapper(Wt,en);Pt._internalSetup(tn,Wt);Object.defineProperty(tn,an,{value:Object.create(cn.implementation.prototype),configurable:true});tn=makeProxy(tn,Wt);tn[an][nn.wrapperSymbol]=tn;if(cn.init){cn.init(tn[an])}return tn[an]};const sn=new Set(["Window"]);Pt.install=(Wt,en)=>{if(!en.some((Wt=>sn.has(Wt)))){return}const In=nn.initCtorRegistry(Wt);class SVGStringList{constructor(){throw new Wt.TypeError("Illegal constructor")}clear(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'clear' called on an object that is not a valid instance of SVGStringList.")}return en[an].clear()}initialize(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'initialize' called on an object that is not a valid instance of SVGStringList.")}if(arguments.length<1){throw new Wt.TypeError(`Failed to execute 'initialize' on 'SVGStringList': 1 argument required, but only ${arguments.length} present.`)}const In=[];{let Pt=arguments[0];Pt=tn["DOMString"](Pt,{context:"Failed to execute 'initialize' on 'SVGStringList': parameter 1",globals:Wt});In.push(Pt)}return nn[an].initialize(...In)}getItem(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'getItem' called on an object that is not a valid instance of SVGStringList.")}if(arguments.length<1){throw new Wt.TypeError(`Failed to execute 'getItem' on 'SVGStringList': 1 argument required, but only ${arguments.length} present.`)}const In=[];{let Pt=arguments[0];Pt=tn["unsigned long"](Pt,{context:"Failed to execute 'getItem' on 'SVGStringList': parameter 1",globals:Wt});In.push(Pt)}return nn[an].getItem(...In)}insertItemBefore(en,nn){const In=this!==null&&this!==undefined?this:Wt;if(!Pt.is(In)){throw new Wt.TypeError("'insertItemBefore' called on an object that is not a valid instance of SVGStringList.")}if(arguments.length<2){throw new Wt.TypeError(`Failed to execute 'insertItemBefore' on 'SVGStringList': 2 arguments required, but only ${arguments.length} present.`)}const rn=[];{let Pt=arguments[0];Pt=tn["DOMString"](Pt,{context:"Failed to execute 'insertItemBefore' on 'SVGStringList': parameter 1",globals:Wt});rn.push(Pt)}{let Pt=arguments[1];Pt=tn["unsigned long"](Pt,{context:"Failed to execute 'insertItemBefore' on 'SVGStringList': parameter 2",globals:Wt});rn.push(Pt)}return In[an].insertItemBefore(...rn)}replaceItem(en,nn){const In=this!==null&&this!==undefined?this:Wt;if(!Pt.is(In)){throw new Wt.TypeError("'replaceItem' called on an object that is not a valid instance of SVGStringList.")}if(arguments.length<2){throw new Wt.TypeError(`Failed to execute 'replaceItem' on 'SVGStringList': 2 arguments required, but only ${arguments.length} present.`)}const rn=[];{let Pt=arguments[0];Pt=tn["DOMString"](Pt,{context:"Failed to execute 'replaceItem' on 'SVGStringList': parameter 1",globals:Wt});rn.push(Pt)}{let Pt=arguments[1];Pt=tn["unsigned long"](Pt,{context:"Failed to execute 'replaceItem' on 'SVGStringList': parameter 2",globals:Wt});rn.push(Pt)}return In[an].replaceItem(...rn)}removeItem(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'removeItem' called on an object that is not a valid instance of SVGStringList.")}if(arguments.length<1){throw new Wt.TypeError(`Failed to execute 'removeItem' on 'SVGStringList': 1 argument required, but only ${arguments.length} present.`)}const In=[];{let Pt=arguments[0];Pt=tn["unsigned long"](Pt,{context:"Failed to execute 'removeItem' on 'SVGStringList': parameter 1",globals:Wt});In.push(Pt)}return nn[an].removeItem(...In)}appendItem(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'appendItem' called on an object that is not a valid instance of SVGStringList.")}if(arguments.length<1){throw new Wt.TypeError(`Failed to execute 'appendItem' on 'SVGStringList': 1 argument required, but only ${arguments.length} present.`)}const In=[];{let Pt=arguments[0];Pt=tn["DOMString"](Pt,{context:"Failed to execute 'appendItem' on 'SVGStringList': parameter 1",globals:Wt});In.push(Pt)}return nn[an].appendItem(...In)}get length(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get length' called on an object that is not a valid instance of SVGStringList.")}return en[an]["length"]}get numberOfItems(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get numberOfItems' called on an object that is not a valid instance of SVGStringList.")}return en[an]["numberOfItems"]}}Object.defineProperties(SVGStringList.prototype,{clear:{enumerable:true},initialize:{enumerable:true},getItem:{enumerable:true},insertItemBefore:{enumerable:true},replaceItem:{enumerable:true},removeItem:{enumerable:true},appendItem:{enumerable:true},length:{enumerable:true},numberOfItems:{enumerable:true},[Symbol.toStringTag]:{value:"SVGStringList",configurable:true},[Symbol.iterator]:{value:Wt.Array.prototype[Symbol.iterator],configurable:true,writable:true}});In[rn]=SVGStringList;Object.defineProperty(Wt,rn,{configurable:true,writable:true,value:SVGStringList})};const on=new WeakMap;class ProxyHandler{constructor(Wt){this._globalObject=Wt}get(Wt,Pt,en){if(typeof Pt==="symbol"){return Reflect.get(Wt,Pt,en)}const tn=this.getOwnPropertyDescriptor(Wt,Pt);if(tn===undefined){const tn=Object.getPrototypeOf(Wt);if(tn===null){return undefined}return Reflect.get(Wt,Pt,en)}if(!tn.get&&!tn.set){return tn.value}const nn=tn.get;if(nn===undefined){return undefined}return Reflect.apply(nn,en,[])}has(Wt,Pt){if(typeof Pt==="symbol"){return Reflect.has(Wt,Pt)}const en=this.getOwnPropertyDescriptor(Wt,Pt);if(en!==undefined){return true}const tn=Object.getPrototypeOf(Wt);if(tn!==null){return Reflect.has(tn,Pt)}return false}ownKeys(Wt){const Pt=new Set;for(const en of Wt[an][nn.supportedPropertyIndices]){Pt.add(`${en}`)}for(const en of Reflect.ownKeys(Wt)){Pt.add(en)}return[...Pt]}getOwnPropertyDescriptor(Wt,Pt){if(typeof Pt==="symbol"){return Reflect.getOwnPropertyDescriptor(Wt,Pt)}let en=false;if(nn.isArrayIndexPropName(Pt)){const tn=Pt>>>0;if(Wt[an][nn.supportsPropertyIndex](tn)){const Pt=Wt[an].getItem(tn);return{writable:true,enumerable:true,configurable:true,value:nn.tryWrapperForImpl(Pt)}}en=true}return Reflect.getOwnPropertyDescriptor(Wt,Pt)}set(Wt,Pt,en,In){if(typeof Pt==="symbol"){return Reflect.set(Wt,Pt,en,In)}if(Wt[an][nn.wrapperSymbol]===In){const In=this._globalObject;if(nn.isArrayIndexPropName(Pt)){const rn=Pt>>>0;let sn=en;sn=tn["DOMString"](sn,{context:"Failed to set the "+rn+" property on 'SVGStringList': The provided value",globals:In});const on=!Wt[an][nn.supportsPropertyIndex](rn);if(on){Wt[an][nn.indexedSetNew](rn,sn)}else{Wt[an][nn.indexedSetExisting](rn,sn)}return true}}let rn;if(nn.isArrayIndexPropName(Pt)){const en=Pt>>>0;if(Wt[an][nn.supportsPropertyIndex](en)){const Pt=Wt[an].getItem(en);rn={writable:true,enumerable:true,configurable:true,value:nn.tryWrapperForImpl(Pt)}}}if(rn===undefined){rn=Reflect.getOwnPropertyDescriptor(Wt,Pt)}if(rn===undefined){const tn=Reflect.getPrototypeOf(Wt);if(tn!==null){return Reflect.set(tn,Pt,en,In)}rn={writable:true,enumerable:true,configurable:true,value:undefined}}if(!rn.writable){return false}if(!nn.isObject(In)){return false}const sn=Reflect.getOwnPropertyDescriptor(In,Pt);let on;if(sn!==undefined){if(sn.get||sn.set){return false}if(!sn.writable){return false}on={value:en}}else{on={writable:true,enumerable:true,configurable:true,value:en}}return Reflect.defineProperty(In,Pt,on)}defineProperty(Wt,Pt,en){if(typeof Pt==="symbol"){return Reflect.defineProperty(Wt,Pt,en)}const In=this._globalObject;if(nn.isArrayIndexPropName(Pt)){if(en.get||en.set){return false}const rn=Pt>>>0;let sn=en.value;sn=tn["DOMString"](sn,{context:"Failed to set the "+rn+" property on 'SVGStringList': The provided value",globals:In});const on=!Wt[an][nn.supportsPropertyIndex](rn);if(on){Wt[an][nn.indexedSetNew](rn,sn)}else{Wt[an][nn.indexedSetExisting](rn,sn)}return true}return Reflect.defineProperty(Wt,Pt,en)}deleteProperty(Wt,Pt){if(typeof Pt==="symbol"){return Reflect.deleteProperty(Wt,Pt)}const en=this._globalObject;if(nn.isArrayIndexPropName(Pt)){const en=Pt>>>0;return!Wt[an][nn.supportsPropertyIndex](en)}return Reflect.deleteProperty(Wt,Pt)}preventExtensions(){return false}}const cn=en(51178)},93815:(Wt,Pt,en)=>{const tn=en(37125);const nn=en(87094);const an=nn.implSymbol;const In=nn.ctorRegistrySymbol;const rn=en(70321);const sn="SVGTitleElement";Pt.is=Wt=>nn.isObject(Wt)&&nn.hasOwn(Wt,an)&&Wt[an]instanceof cn.implementation;Pt.isImpl=Wt=>nn.isObject(Wt)&&Wt instanceof cn.implementation;Pt.convert=(Wt,en,{context:tn="The provided value"}={})=>{if(Pt.is(en)){return nn.implForWrapper(en)}throw new Wt.TypeError(`${tn} is not of type 'SVGTitleElement'.`)};function makeWrapper(Wt,Pt){let en;if(Pt!==undefined){en=Pt.prototype}if(!nn.isObject(en)){en=Wt[In]["SVGTitleElement"].prototype}return Object.create(en)}Pt.create=(Wt,en,tn)=>{const nn=makeWrapper(Wt);return Pt.setup(nn,Wt,en,tn)};Pt.createImpl=(Wt,en,tn)=>{const an=Pt.create(Wt,en,tn);return nn.implForWrapper(an)};Pt._internalSetup=(Wt,Pt)=>{rn._internalSetup(Wt,Pt)};Pt.setup=(Wt,en,tn=[],In={})=>{In.wrapper=Wt;Pt._internalSetup(Wt,en);Object.defineProperty(Wt,an,{value:new cn.implementation(en,tn,In),configurable:true});Wt[an][nn.wrapperSymbol]=Wt;if(cn.init){cn.init(Wt[an])}return Wt};Pt["new"]=(Wt,en)=>{const tn=makeWrapper(Wt,en);Pt._internalSetup(tn,Wt);Object.defineProperty(tn,an,{value:Object.create(cn.implementation.prototype),configurable:true});tn[an][nn.wrapperSymbol]=tn;if(cn.init){cn.init(tn[an])}return tn[an]};const on=new Set(["Window"]);Pt.install=(Wt,Pt)=>{if(!Pt.some((Wt=>on.has(Wt)))){return}const en=nn.initCtorRegistry(Wt);class SVGTitleElement extends Wt.SVGElement{constructor(){throw new Wt.TypeError("Illegal constructor")}}Object.defineProperties(SVGTitleElement.prototype,{[Symbol.toStringTag]:{value:"SVGTitleElement",configurable:true}});en[sn]=SVGTitleElement;Object.defineProperty(Wt,sn,{configurable:true,writable:true,value:SVGTitleElement})};const cn=en(52774)},42235:(Wt,Pt,en)=>{const tn=en(37125);const nn=en(87094);const an=nn.implSymbol;const In=nn.ctorRegistrySymbol;const rn="Screen";Pt.is=Wt=>nn.isObject(Wt)&&nn.hasOwn(Wt,an)&&Wt[an]instanceof on.implementation;Pt.isImpl=Wt=>nn.isObject(Wt)&&Wt instanceof on.implementation;Pt.convert=(Wt,en,{context:tn="The provided value"}={})=>{if(Pt.is(en)){return nn.implForWrapper(en)}throw new Wt.TypeError(`${tn} is not of type 'Screen'.`)};function makeWrapper(Wt,Pt){let en;if(Pt!==undefined){en=Pt.prototype}if(!nn.isObject(en)){en=Wt[In]["Screen"].prototype}return Object.create(en)}Pt.create=(Wt,en,tn)=>{const nn=makeWrapper(Wt);return Pt.setup(nn,Wt,en,tn)};Pt.createImpl=(Wt,en,tn)=>{const an=Pt.create(Wt,en,tn);return nn.implForWrapper(an)};Pt._internalSetup=(Wt,Pt)=>{};Pt.setup=(Wt,en,tn=[],In={})=>{In.wrapper=Wt;Pt._internalSetup(Wt,en);Object.defineProperty(Wt,an,{value:new on.implementation(en,tn,In),configurable:true});Wt[an][nn.wrapperSymbol]=Wt;if(on.init){on.init(Wt[an])}return Wt};Pt["new"]=(Wt,en)=>{const tn=makeWrapper(Wt,en);Pt._internalSetup(tn,Wt);Object.defineProperty(tn,an,{value:Object.create(on.implementation.prototype),configurable:true});tn[an][nn.wrapperSymbol]=tn;if(on.init){on.init(tn[an])}return tn[an]};const sn=new Set(["Window"]);Pt.install=(Wt,en)=>{if(!en.some((Wt=>sn.has(Wt)))){return}const tn=nn.initCtorRegistry(Wt);class Screen{constructor(){throw new Wt.TypeError("Illegal constructor")}get availWidth(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get availWidth' called on an object that is not a valid instance of Screen.")}return en[an]["availWidth"]}get availHeight(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get availHeight' called on an object that is not a valid instance of Screen.")}return en[an]["availHeight"]}get width(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get width' called on an object that is not a valid instance of Screen.")}return en[an]["width"]}get height(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get height' called on an object that is not a valid instance of Screen.")}return en[an]["height"]}get colorDepth(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get colorDepth' called on an object that is not a valid instance of Screen.")}return en[an]["colorDepth"]}get pixelDepth(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get pixelDepth' called on an object that is not a valid instance of Screen.")}return en[an]["pixelDepth"]}}Object.defineProperties(Screen.prototype,{availWidth:{enumerable:true},availHeight:{enumerable:true},width:{enumerable:true},height:{enumerable:true},colorDepth:{enumerable:true},pixelDepth:{enumerable:true},[Symbol.toStringTag]:{value:"Screen",configurable:true}});tn[rn]=Screen;Object.defineProperty(Wt,rn,{configurable:true,writable:true,value:Screen})};const on=en(56599)},1417:(Wt,Pt,en)=>{const tn=en(37125);const nn=en(87094);const an=en(60190);const In=en(24171);const rn=en(8348).ceReactionsPreSteps;const sn=en(8348).ceReactionsPostSteps;const on=nn.implSymbol;const cn=nn.ctorRegistrySymbol;const dn="Selection";Pt.is=Wt=>nn.isObject(Wt)&&nn.hasOwn(Wt,on)&&Wt[on]instanceof pn.implementation;Pt.isImpl=Wt=>nn.isObject(Wt)&&Wt instanceof pn.implementation;Pt.convert=(Wt,en,{context:tn="The provided value"}={})=>{if(Pt.is(en)){return nn.implForWrapper(en)}throw new Wt.TypeError(`${tn} is not of type 'Selection'.`)};function makeWrapper(Wt,Pt){let en;if(Pt!==undefined){en=Pt.prototype}if(!nn.isObject(en)){en=Wt[cn]["Selection"].prototype}return Object.create(en)}Pt.create=(Wt,en,tn)=>{const nn=makeWrapper(Wt);return Pt.setup(nn,Wt,en,tn)};Pt.createImpl=(Wt,en,tn)=>{const an=Pt.create(Wt,en,tn);return nn.implForWrapper(an)};Pt._internalSetup=(Wt,Pt)=>{};Pt.setup=(Wt,en,tn=[],an={})=>{an.wrapper=Wt;Pt._internalSetup(Wt,en);Object.defineProperty(Wt,on,{value:new pn.implementation(en,tn,an),configurable:true});Wt[on][nn.wrapperSymbol]=Wt;if(pn.init){pn.init(Wt[on])}return Wt};Pt["new"]=(Wt,en)=>{const tn=makeWrapper(Wt,en);Pt._internalSetup(tn,Wt);Object.defineProperty(tn,on,{value:Object.create(pn.implementation.prototype),configurable:true});tn[on][nn.wrapperSymbol]=tn;if(pn.init){pn.init(tn[on])}return tn[on]};const un=new Set(["Window"]);Pt.install=(Wt,en)=>{if(!en.some((Wt=>un.has(Wt)))){return}const cn=nn.initCtorRegistry(Wt);class Selection{constructor(){throw new Wt.TypeError("Illegal constructor")}getRangeAt(en){const an=this!==null&&this!==undefined?this:Wt;if(!Pt.is(an)){throw new Wt.TypeError("'getRangeAt' called on an object that is not a valid instance of Selection.")}if(arguments.length<1){throw new Wt.TypeError(`Failed to execute 'getRangeAt' on 'Selection': 1 argument required, but only ${arguments.length} present.`)}const In=[];{let Pt=arguments[0];Pt=tn["unsigned long"](Pt,{context:"Failed to execute 'getRangeAt' on 'Selection': parameter 1",globals:Wt});In.push(Pt)}return nn.tryWrapperForImpl(an[on].getRangeAt(...In))}addRange(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'addRange' called on an object that is not a valid instance of Selection.")}if(arguments.length<1){throw new Wt.TypeError(`Failed to execute 'addRange' on 'Selection': 1 argument required, but only ${arguments.length} present.`)}const nn=[];{let Pt=arguments[0];Pt=an.convert(Wt,Pt,{context:"Failed to execute 'addRange' on 'Selection': parameter 1"});nn.push(Pt)}return tn[on].addRange(...nn)}removeRange(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'removeRange' called on an object that is not a valid instance of Selection.")}if(arguments.length<1){throw new Wt.TypeError(`Failed to execute 'removeRange' on 'Selection': 1 argument required, but only ${arguments.length} present.`)}const nn=[];{let Pt=arguments[0];Pt=an.convert(Wt,Pt,{context:"Failed to execute 'removeRange' on 'Selection': parameter 1"});nn.push(Pt)}return tn[on].removeRange(...nn)}removeAllRanges(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'removeAllRanges' called on an object that is not a valid instance of Selection.")}return en[on].removeAllRanges()}empty(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'empty' called on an object that is not a valid instance of Selection.")}return en[on].empty()}collapse(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'collapse' called on an object that is not a valid instance of Selection.")}if(arguments.length<1){throw new Wt.TypeError(`Failed to execute 'collapse' on 'Selection': 1 argument required, but only ${arguments.length} present.`)}const an=[];{let Pt=arguments[0];if(Pt===null||Pt===undefined){Pt=null}else{Pt=In.convert(Wt,Pt,{context:"Failed to execute 'collapse' on 'Selection': parameter 1"})}an.push(Pt)}{let Pt=arguments[1];if(Pt!==undefined){Pt=tn["unsigned long"](Pt,{context:"Failed to execute 'collapse' on 'Selection': parameter 2",globals:Wt})}else{Pt=0}an.push(Pt)}return nn[on].collapse(...an)}setPosition(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'setPosition' called on an object that is not a valid instance of Selection.")}if(arguments.length<1){throw new Wt.TypeError(`Failed to execute 'setPosition' on 'Selection': 1 argument required, but only ${arguments.length} present.`)}const an=[];{let Pt=arguments[0];if(Pt===null||Pt===undefined){Pt=null}else{Pt=In.convert(Wt,Pt,{context:"Failed to execute 'setPosition' on 'Selection': parameter 1"})}an.push(Pt)}{let Pt=arguments[1];if(Pt!==undefined){Pt=tn["unsigned long"](Pt,{context:"Failed to execute 'setPosition' on 'Selection': parameter 2",globals:Wt})}else{Pt=0}an.push(Pt)}return nn[on].setPosition(...an)}collapseToStart(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'collapseToStart' called on an object that is not a valid instance of Selection.")}return en[on].collapseToStart()}collapseToEnd(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'collapseToEnd' called on an object that is not a valid instance of Selection.")}return en[on].collapseToEnd()}extend(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'extend' called on an object that is not a valid instance of Selection.")}if(arguments.length<1){throw new Wt.TypeError(`Failed to execute 'extend' on 'Selection': 1 argument required, but only ${arguments.length} present.`)}const an=[];{let Pt=arguments[0];Pt=In.convert(Wt,Pt,{context:"Failed to execute 'extend' on 'Selection': parameter 1"});an.push(Pt)}{let Pt=arguments[1];if(Pt!==undefined){Pt=tn["unsigned long"](Pt,{context:"Failed to execute 'extend' on 'Selection': parameter 2",globals:Wt})}else{Pt=0}an.push(Pt)}return nn[on].extend(...an)}setBaseAndExtent(en,nn,an,rn){const sn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(sn)){throw new Wt.TypeError("'setBaseAndExtent' called on an object that is not a valid instance of Selection.")}if(arguments.length<4){throw new Wt.TypeError(`Failed to execute 'setBaseAndExtent' on 'Selection': 4 arguments required, but only ${arguments.length} present.`)}const cn=[];{let Pt=arguments[0];Pt=In.convert(Wt,Pt,{context:"Failed to execute 'setBaseAndExtent' on 'Selection': parameter 1"});cn.push(Pt)}{let Pt=arguments[1];Pt=tn["unsigned long"](Pt,{context:"Failed to execute 'setBaseAndExtent' on 'Selection': parameter 2",globals:Wt});cn.push(Pt)}{let Pt=arguments[2];Pt=In.convert(Wt,Pt,{context:"Failed to execute 'setBaseAndExtent' on 'Selection': parameter 3"});cn.push(Pt)}{let Pt=arguments[3];Pt=tn["unsigned long"](Pt,{context:"Failed to execute 'setBaseAndExtent' on 'Selection': parameter 4",globals:Wt});cn.push(Pt)}return sn[on].setBaseAndExtent(...cn)}selectAllChildren(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'selectAllChildren' called on an object that is not a valid instance of Selection.")}if(arguments.length<1){throw new Wt.TypeError(`Failed to execute 'selectAllChildren' on 'Selection': 1 argument required, but only ${arguments.length} present.`)}const nn=[];{let Pt=arguments[0];Pt=In.convert(Wt,Pt,{context:"Failed to execute 'selectAllChildren' on 'Selection': parameter 1"});nn.push(Pt)}return tn[on].selectAllChildren(...nn)}deleteFromDocument(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'deleteFromDocument' called on an object that is not a valid instance of Selection.")}rn(Wt);try{return en[on].deleteFromDocument()}finally{sn(Wt)}}containsNode(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'containsNode' called on an object that is not a valid instance of Selection.")}if(arguments.length<1){throw new Wt.TypeError(`Failed to execute 'containsNode' on 'Selection': 1 argument required, but only ${arguments.length} present.`)}const an=[];{let Pt=arguments[0];Pt=In.convert(Wt,Pt,{context:"Failed to execute 'containsNode' on 'Selection': parameter 1"});an.push(Pt)}{let Pt=arguments[1];if(Pt!==undefined){Pt=tn["boolean"](Pt,{context:"Failed to execute 'containsNode' on 'Selection': parameter 2",globals:Wt})}else{Pt=false}an.push(Pt)}return nn[on].containsNode(...an)}toString(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'toString' called on an object that is not a valid instance of Selection.")}return en[on].toString()}get anchorNode(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get anchorNode' called on an object that is not a valid instance of Selection.")}return nn.tryWrapperForImpl(en[on]["anchorNode"])}get anchorOffset(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get anchorOffset' called on an object that is not a valid instance of Selection.")}return en[on]["anchorOffset"]}get focusNode(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get focusNode' called on an object that is not a valid instance of Selection.")}return nn.tryWrapperForImpl(en[on]["focusNode"])}get focusOffset(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get focusOffset' called on an object that is not a valid instance of Selection.")}return en[on]["focusOffset"]}get isCollapsed(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get isCollapsed' called on an object that is not a valid instance of Selection.")}return en[on]["isCollapsed"]}get rangeCount(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get rangeCount' called on an object that is not a valid instance of Selection.")}return en[on]["rangeCount"]}get type(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get type' called on an object that is not a valid instance of Selection.")}return en[on]["type"]}}Object.defineProperties(Selection.prototype,{getRangeAt:{enumerable:true},addRange:{enumerable:true},removeRange:{enumerable:true},removeAllRanges:{enumerable:true},empty:{enumerable:true},collapse:{enumerable:true},setPosition:{enumerable:true},collapseToStart:{enumerable:true},collapseToEnd:{enumerable:true},extend:{enumerable:true},setBaseAndExtent:{enumerable:true},selectAllChildren:{enumerable:true},deleteFromDocument:{enumerable:true},containsNode:{enumerable:true},toString:{enumerable:true},anchorNode:{enumerable:true},anchorOffset:{enumerable:true},focusNode:{enumerable:true},focusOffset:{enumerable:true},isCollapsed:{enumerable:true},rangeCount:{enumerable:true},type:{enumerable:true},[Symbol.toStringTag]:{value:"Selection",configurable:true}});cn[dn]=Selection;Object.defineProperty(Wt,dn,{configurable:true,writable:true,value:Selection})};const pn=en(985)},74150:(Wt,Pt)=>{const en=new Set(["select","start","end","preserve"]);Pt.enumerationValues=en;Pt.convert=(Wt,Pt,{context:tn="The provided value"}={})=>{const nn=`${Pt}`;if(!en.has(nn)){throw new Wt.TypeError(`${tn} '${nn}' is not a valid enumeration value for SelectionMode`)}return nn}},21283:(Wt,Pt,en)=>{const tn=en(37125);const nn=en(87094);const an=en(8348).ceReactionsPreSteps;const In=en(8348).ceReactionsPostSteps;const rn=nn.implSymbol;const sn=nn.ctorRegistrySymbol;const on=en(98938);const cn="ShadowRoot";Pt.is=Wt=>nn.isObject(Wt)&&nn.hasOwn(Wt,rn)&&Wt[rn]instanceof un.implementation;Pt.isImpl=Wt=>nn.isObject(Wt)&&Wt instanceof un.implementation;Pt.convert=(Wt,en,{context:tn="The provided value"}={})=>{if(Pt.is(en)){return nn.implForWrapper(en)}throw new Wt.TypeError(`${tn} is not of type 'ShadowRoot'.`)};function makeWrapper(Wt,Pt){let en;if(Pt!==undefined){en=Pt.prototype}if(!nn.isObject(en)){en=Wt[sn]["ShadowRoot"].prototype}return Object.create(en)}Pt.create=(Wt,en,tn)=>{const nn=makeWrapper(Wt);return Pt.setup(nn,Wt,en,tn)};Pt.createImpl=(Wt,en,tn)=>{const an=Pt.create(Wt,en,tn);return nn.implForWrapper(an)};Pt._internalSetup=(Wt,Pt)=>{on._internalSetup(Wt,Pt)};Pt.setup=(Wt,en,tn=[],an={})=>{an.wrapper=Wt;Pt._internalSetup(Wt,en);Object.defineProperty(Wt,rn,{value:new un.implementation(en,tn,an),configurable:true});Wt[rn][nn.wrapperSymbol]=Wt;if(un.init){un.init(Wt[rn])}return Wt};Pt["new"]=(Wt,en)=>{const tn=makeWrapper(Wt,en);Pt._internalSetup(tn,Wt);Object.defineProperty(tn,rn,{value:Object.create(un.implementation.prototype),configurable:true});tn[rn][nn.wrapperSymbol]=tn;if(un.init){un.init(tn[rn])}return tn[rn]};const dn=new Set(["Window"]);Pt.install=(Wt,en)=>{if(!en.some((Wt=>dn.has(Wt)))){return}const sn=nn.initCtorRegistry(Wt);class ShadowRoot extends Wt.DocumentFragment{constructor(){throw new Wt.TypeError("Illegal constructor")}get mode(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get mode' called on an object that is not a valid instance of ShadowRoot.")}return nn.tryWrapperForImpl(en[rn]["mode"])}get host(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get host' called on an object that is not a valid instance of ShadowRoot.")}return nn.tryWrapperForImpl(en[rn]["host"])}get innerHTML(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get innerHTML' called on an object that is not a valid instance of ShadowRoot.")}an(Wt);try{return en[rn]["innerHTML"]}finally{In(Wt)}}set innerHTML(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set innerHTML' called on an object that is not a valid instance of ShadowRoot.")}en=tn["DOMString"](en,{context:"Failed to set the 'innerHTML' property on 'ShadowRoot': The provided value",globals:Wt,treatNullAsEmptyString:true});an(Wt);try{nn[rn]["innerHTML"]=en}finally{In(Wt)}}get activeElement(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get activeElement' called on an object that is not a valid instance of ShadowRoot.")}return nn.tryWrapperForImpl(en[rn]["activeElement"])}}Object.defineProperties(ShadowRoot.prototype,{mode:{enumerable:true},host:{enumerable:true},innerHTML:{enumerable:true},activeElement:{enumerable:true},[Symbol.toStringTag]:{value:"ShadowRoot",configurable:true}});sn[cn]=ShadowRoot;Object.defineProperty(Wt,cn,{configurable:true,writable:true,value:ShadowRoot})};const un=en(2114)},82921:(Wt,Pt,en)=>{const tn=en(37125);const nn=en(87094);const an=en(58844);Pt._convertInherit=(Wt,Pt,en,{context:tn="The provided value"}={})=>{{const nn="mode";let In=Pt===undefined||Pt===null?undefined:Pt[nn];if(In!==undefined){In=an.convert(Wt,In,{context:tn+" has member 'mode' that"});en[nn]=In}else{throw new Wt.TypeError("mode is required in 'ShadowRootInit'")}}};Pt.convert=(Wt,en,{context:tn="The provided value"}={})=>{if(en!==undefined&&typeof en!=="object"&&typeof en!=="function"){throw new Wt.TypeError(`${tn} is not an object.`)}const nn=Object.create(null);Pt._convertInherit(Wt,en,nn,{context:tn});return nn}},58844:(Wt,Pt)=>{const en=new Set(["open","closed"]);Pt.enumerationValues=en;Pt.convert=(Wt,Pt,{context:tn="The provided value"}={})=>{const nn=`${Pt}`;if(!en.has(nn)){throw new Wt.TypeError(`${tn} '${nn}' is not a valid enumeration value for ShadowRootMode`)}return nn}},40096:(Wt,Pt,en)=>{const tn=en(37125);const nn=en(87094);const an=en(36166);const In=nn.implSymbol;const rn=nn.ctorRegistrySymbol;const sn=en(77632);const on="StaticRange";Pt.is=Wt=>nn.isObject(Wt)&&nn.hasOwn(Wt,In)&&Wt[In]instanceof dn.implementation;Pt.isImpl=Wt=>nn.isObject(Wt)&&Wt instanceof dn.implementation;Pt.convert=(Wt,en,{context:tn="The provided value"}={})=>{if(Pt.is(en)){return nn.implForWrapper(en)}throw new Wt.TypeError(`${tn} is not of type 'StaticRange'.`)};function makeWrapper(Wt,Pt){let en;if(Pt!==undefined){en=Pt.prototype}if(!nn.isObject(en)){en=Wt[rn]["StaticRange"].prototype}return Object.create(en)}Pt.create=(Wt,en,tn)=>{const nn=makeWrapper(Wt);return Pt.setup(nn,Wt,en,tn)};Pt.createImpl=(Wt,en,tn)=>{const an=Pt.create(Wt,en,tn);return nn.implForWrapper(an)};Pt._internalSetup=(Wt,Pt)=>{sn._internalSetup(Wt,Pt)};Pt.setup=(Wt,en,tn=[],an={})=>{an.wrapper=Wt;Pt._internalSetup(Wt,en);Object.defineProperty(Wt,In,{value:new dn.implementation(en,tn,an),configurable:true});Wt[In][nn.wrapperSymbol]=Wt;if(dn.init){dn.init(Wt[In])}return Wt};Pt["new"]=(Wt,en)=>{const tn=makeWrapper(Wt,en);Pt._internalSetup(tn,Wt);Object.defineProperty(tn,In,{value:Object.create(dn.implementation.prototype),configurable:true});tn[In][nn.wrapperSymbol]=tn;if(dn.init){dn.init(tn[In])}return tn[In]};const cn=new Set(["Window"]);Pt.install=(Wt,en)=>{if(!en.some((Wt=>cn.has(Wt)))){return}const tn=nn.initCtorRegistry(Wt);class StaticRange extends Wt.AbstractRange{constructor(en){if(arguments.length<1){throw new Wt.TypeError(`Failed to construct 'StaticRange': 1 argument required, but only ${arguments.length} present.`)}const tn=[];{let Pt=arguments[0];Pt=an.convert(Wt,Pt,{context:"Failed to construct 'StaticRange': parameter 1"});tn.push(Pt)}return Pt.setup(Object.create(new.target.prototype),Wt,tn)}}Object.defineProperties(StaticRange.prototype,{[Symbol.toStringTag]:{value:"StaticRange",configurable:true}});tn[on]=StaticRange;Object.defineProperty(Wt,on,{configurable:true,writable:true,value:StaticRange})};const dn=en(57315)},36166:(Wt,Pt,en)=>{const tn=en(37125);const nn=en(87094);const an=en(24171);Pt._convertInherit=(Wt,Pt,en,{context:nn="The provided value"}={})=>{{const tn="endContainer";let In=Pt===undefined||Pt===null?undefined:Pt[tn];if(In!==undefined){In=an.convert(Wt,In,{context:nn+" has member 'endContainer' that"});en[tn]=In}else{throw new Wt.TypeError("endContainer is required in 'StaticRangeInit'")}}{const an="endOffset";let In=Pt===undefined||Pt===null?undefined:Pt[an];if(In!==undefined){In=tn["unsigned long"](In,{context:nn+" has member 'endOffset' that",globals:Wt});en[an]=In}else{throw new Wt.TypeError("endOffset is required in 'StaticRangeInit'")}}{const tn="startContainer";let In=Pt===undefined||Pt===null?undefined:Pt[tn];if(In!==undefined){In=an.convert(Wt,In,{context:nn+" has member 'startContainer' that"});en[tn]=In}else{throw new Wt.TypeError("startContainer is required in 'StaticRangeInit'")}}{const an="startOffset";let In=Pt===undefined||Pt===null?undefined:Pt[an];if(In!==undefined){In=tn["unsigned long"](In,{context:nn+" has member 'startOffset' that",globals:Wt});en[an]=In}else{throw new Wt.TypeError("startOffset is required in 'StaticRangeInit'")}}};Pt.convert=(Wt,en,{context:tn="The provided value"}={})=>{if(en!==undefined&&typeof en!=="object"&&typeof en!=="function"){throw new Wt.TypeError(`${tn} is not an object.`)}const nn=Object.create(null);Pt._convertInherit(Wt,en,nn,{context:tn});return nn}},90778:(Wt,Pt,en)=>{const tn=en(37125);const nn=en(87094);const an=nn.implSymbol;const In=nn.ctorRegistrySymbol;const rn="Storage";Pt.is=Wt=>nn.isObject(Wt)&&nn.hasOwn(Wt,an)&&Wt[an]instanceof cn.implementation;Pt.isImpl=Wt=>nn.isObject(Wt)&&Wt instanceof cn.implementation;Pt.convert=(Wt,en,{context:tn="The provided value"}={})=>{if(Pt.is(en)){return nn.implForWrapper(en)}throw new Wt.TypeError(`${tn} is not of type 'Storage'.`)};function makeWrapper(Wt,Pt){let en;if(Pt!==undefined){en=Pt.prototype}if(!nn.isObject(en)){en=Wt[In]["Storage"].prototype}return Object.create(en)}function makeProxy(Wt,Pt){let en=on.get(Pt);if(en===undefined){en=new ProxyHandler(Pt);on.set(Pt,en)}return new Proxy(Wt,en)}Pt.create=(Wt,en,tn)=>{const nn=makeWrapper(Wt);return Pt.setup(nn,Wt,en,tn)};Pt.createImpl=(Wt,en,tn)=>{const an=Pt.create(Wt,en,tn);return nn.implForWrapper(an)};Pt._internalSetup=(Wt,Pt)=>{};Pt.setup=(Wt,en,tn=[],In={})=>{In.wrapper=Wt;Pt._internalSetup(Wt,en);Object.defineProperty(Wt,an,{value:new cn.implementation(en,tn,In),configurable:true});Wt=makeProxy(Wt,en);Wt[an][nn.wrapperSymbol]=Wt;if(cn.init){cn.init(Wt[an])}return Wt};Pt["new"]=(Wt,en)=>{let tn=makeWrapper(Wt,en);Pt._internalSetup(tn,Wt);Object.defineProperty(tn,an,{value:Object.create(cn.implementation.prototype),configurable:true});tn=makeProxy(tn,Wt);tn[an][nn.wrapperSymbol]=tn;if(cn.init){cn.init(tn[an])}return tn[an]};const sn=new Set(["Window"]);Pt.install=(Wt,en)=>{if(!en.some((Wt=>sn.has(Wt)))){return}const In=nn.initCtorRegistry(Wt);class Storage{constructor(){throw new Wt.TypeError("Illegal constructor")}key(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'key' called on an object that is not a valid instance of Storage.")}if(arguments.length<1){throw new Wt.TypeError(`Failed to execute 'key' on 'Storage': 1 argument required, but only ${arguments.length} present.`)}const In=[];{let Pt=arguments[0];Pt=tn["unsigned long"](Pt,{context:"Failed to execute 'key' on 'Storage': parameter 1",globals:Wt});In.push(Pt)}return nn[an].key(...In)}getItem(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'getItem' called on an object that is not a valid instance of Storage.")}if(arguments.length<1){throw new Wt.TypeError(`Failed to execute 'getItem' on 'Storage': 1 argument required, but only ${arguments.length} present.`)}const In=[];{let Pt=arguments[0];Pt=tn["DOMString"](Pt,{context:"Failed to execute 'getItem' on 'Storage': parameter 1",globals:Wt});In.push(Pt)}return nn[an].getItem(...In)}setItem(en,nn){const In=this!==null&&this!==undefined?this:Wt;if(!Pt.is(In)){throw new Wt.TypeError("'setItem' called on an object that is not a valid instance of Storage.")}if(arguments.length<2){throw new Wt.TypeError(`Failed to execute 'setItem' on 'Storage': 2 arguments required, but only ${arguments.length} present.`)}const rn=[];{let Pt=arguments[0];Pt=tn["DOMString"](Pt,{context:"Failed to execute 'setItem' on 'Storage': parameter 1",globals:Wt});rn.push(Pt)}{let Pt=arguments[1];Pt=tn["DOMString"](Pt,{context:"Failed to execute 'setItem' on 'Storage': parameter 2",globals:Wt});rn.push(Pt)}return In[an].setItem(...rn)}removeItem(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'removeItem' called on an object that is not a valid instance of Storage.")}if(arguments.length<1){throw new Wt.TypeError(`Failed to execute 'removeItem' on 'Storage': 1 argument required, but only ${arguments.length} present.`)}const In=[];{let Pt=arguments[0];Pt=tn["DOMString"](Pt,{context:"Failed to execute 'removeItem' on 'Storage': parameter 1",globals:Wt});In.push(Pt)}return nn[an].removeItem(...In)}clear(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'clear' called on an object that is not a valid instance of Storage.")}return en[an].clear()}get length(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get length' called on an object that is not a valid instance of Storage.")}return en[an]["length"]}}Object.defineProperties(Storage.prototype,{key:{enumerable:true},getItem:{enumerable:true},setItem:{enumerable:true},removeItem:{enumerable:true},clear:{enumerable:true},length:{enumerable:true},[Symbol.toStringTag]:{value:"Storage",configurable:true}});In[rn]=Storage;Object.defineProperty(Wt,rn,{configurable:true,writable:true,value:Storage})};const on=new WeakMap;class ProxyHandler{constructor(Wt){this._globalObject=Wt}get(Wt,Pt,en){if(typeof Pt==="symbol"){return Reflect.get(Wt,Pt,en)}const tn=this.getOwnPropertyDescriptor(Wt,Pt);if(tn===undefined){const tn=Object.getPrototypeOf(Wt);if(tn===null){return undefined}return Reflect.get(Wt,Pt,en)}if(!tn.get&&!tn.set){return tn.value}const nn=tn.get;if(nn===undefined){return undefined}return Reflect.apply(nn,en,[])}has(Wt,Pt){if(typeof Pt==="symbol"){return Reflect.has(Wt,Pt)}const en=this.getOwnPropertyDescriptor(Wt,Pt);if(en!==undefined){return true}const tn=Object.getPrototypeOf(Wt);if(tn!==null){return Reflect.has(tn,Pt)}return false}ownKeys(Wt){const Pt=new Set;for(const en of Wt[an][nn.supportedPropertyNames]){if(!(en in Wt)){Pt.add(`${en}`)}}for(const en of Reflect.ownKeys(Wt)){Pt.add(en)}return[...Pt]}getOwnPropertyDescriptor(Wt,Pt){if(typeof Pt==="symbol"){return Reflect.getOwnPropertyDescriptor(Wt,Pt)}let en=false;const tn=Wt[an].getItem(Pt);if(tn!==null&&!(Pt in Wt)&&!en){return{writable:true,enumerable:true,configurable:true,value:nn.tryWrapperForImpl(tn)}}return Reflect.getOwnPropertyDescriptor(Wt,Pt)}set(Wt,Pt,en,In){if(typeof Pt==="symbol"){return Reflect.set(Wt,Pt,en,In)}if(Wt[an][nn.wrapperSymbol]===In){const nn=this._globalObject;if(typeof Pt==="string"){let In=en;In=tn["DOMString"](In,{context:"Failed to set the '"+Pt+"' property on 'Storage': The provided value",globals:nn});Wt[an].setItem(Pt,In);return true}}let rn;if(rn===undefined){rn=Reflect.getOwnPropertyDescriptor(Wt,Pt)}if(rn===undefined){const tn=Reflect.getPrototypeOf(Wt);if(tn!==null){return Reflect.set(tn,Pt,en,In)}rn={writable:true,enumerable:true,configurable:true,value:undefined}}if(!rn.writable){return false}if(!nn.isObject(In)){return false}const sn=Reflect.getOwnPropertyDescriptor(In,Pt);let on;if(sn!==undefined){if(sn.get||sn.set){return false}if(!sn.writable){return false}on={value:en}}else{on={writable:true,enumerable:true,configurable:true,value:en}}return Reflect.defineProperty(In,Pt,on)}defineProperty(Wt,Pt,en){if(typeof Pt==="symbol"){return Reflect.defineProperty(Wt,Pt,en)}const In=this._globalObject;if(!nn.hasOwn(Wt,Pt)){if(en.get||en.set){return false}let nn=en.value;nn=tn["DOMString"](nn,{context:"Failed to set the '"+Pt+"' property on 'Storage': The provided value",globals:In});Wt[an].setItem(Pt,nn);return true}return Reflect.defineProperty(Wt,Pt,en)}deleteProperty(Wt,Pt){if(typeof Pt==="symbol"){return Reflect.deleteProperty(Wt,Pt)}const en=this._globalObject;if(Wt[an].getItem(Pt)!==null&&!(Pt in Wt)){Wt[an].removeItem(Pt);return true}return Reflect.deleteProperty(Wt,Pt)}preventExtensions(){return false}}const cn=en(16899)},38704:(Wt,Pt,en)=>{const tn=en(37125);const nn=en(87094);const an=en(38089);const In=en(90778);const rn=nn.implSymbol;const sn=nn.ctorRegistrySymbol;const on=en(94431);const cn="StorageEvent";Pt.is=Wt=>nn.isObject(Wt)&&nn.hasOwn(Wt,rn)&&Wt[rn]instanceof un.implementation;Pt.isImpl=Wt=>nn.isObject(Wt)&&Wt instanceof un.implementation;Pt.convert=(Wt,en,{context:tn="The provided value"}={})=>{if(Pt.is(en)){return nn.implForWrapper(en)}throw new Wt.TypeError(`${tn} is not of type 'StorageEvent'.`)};function makeWrapper(Wt,Pt){let en;if(Pt!==undefined){en=Pt.prototype}if(!nn.isObject(en)){en=Wt[sn]["StorageEvent"].prototype}return Object.create(en)}Pt.create=(Wt,en,tn)=>{const nn=makeWrapper(Wt);return Pt.setup(nn,Wt,en,tn)};Pt.createImpl=(Wt,en,tn)=>{const an=Pt.create(Wt,en,tn);return nn.implForWrapper(an)};Pt._internalSetup=(Wt,Pt)=>{on._internalSetup(Wt,Pt)};Pt.setup=(Wt,en,tn=[],an={})=>{an.wrapper=Wt;Pt._internalSetup(Wt,en);Object.defineProperty(Wt,rn,{value:new un.implementation(en,tn,an),configurable:true});Wt[rn][nn.wrapperSymbol]=Wt;if(un.init){un.init(Wt[rn])}return Wt};Pt["new"]=(Wt,en)=>{const tn=makeWrapper(Wt,en);Pt._internalSetup(tn,Wt);Object.defineProperty(tn,rn,{value:Object.create(un.implementation.prototype),configurable:true});tn[rn][nn.wrapperSymbol]=tn;if(un.init){un.init(tn[rn])}return tn[rn]};const dn=new Set(["Window"]);Pt.install=(Wt,en)=>{if(!en.some((Wt=>dn.has(Wt)))){return}const sn=nn.initCtorRegistry(Wt);class StorageEvent extends Wt.Event{constructor(en){if(arguments.length<1){throw new Wt.TypeError(`Failed to construct 'StorageEvent': 1 argument required, but only ${arguments.length} present.`)}const nn=[];{let Pt=arguments[0];Pt=tn["DOMString"](Pt,{context:"Failed to construct 'StorageEvent': parameter 1",globals:Wt});nn.push(Pt)}{let Pt=arguments[1];Pt=an.convert(Wt,Pt,{context:"Failed to construct 'StorageEvent': parameter 2"});nn.push(Pt)}return Pt.setup(Object.create(new.target.prototype),Wt,nn)}initStorageEvent(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'initStorageEvent' called on an object that is not a valid instance of StorageEvent.")}if(arguments.length<1){throw new Wt.TypeError(`Failed to execute 'initStorageEvent' on 'StorageEvent': 1 argument required, but only ${arguments.length} present.`)}const an=[];{let Pt=arguments[0];Pt=tn["DOMString"](Pt,{context:"Failed to execute 'initStorageEvent' on 'StorageEvent': parameter 1",globals:Wt});an.push(Pt)}{let Pt=arguments[1];if(Pt!==undefined){Pt=tn["boolean"](Pt,{context:"Failed to execute 'initStorageEvent' on 'StorageEvent': parameter 2",globals:Wt})}else{Pt=false}an.push(Pt)}{let Pt=arguments[2];if(Pt!==undefined){Pt=tn["boolean"](Pt,{context:"Failed to execute 'initStorageEvent' on 'StorageEvent': parameter 3",globals:Wt})}else{Pt=false}an.push(Pt)}{let Pt=arguments[3];if(Pt!==undefined){if(Pt===null||Pt===undefined){Pt=null}else{Pt=tn["DOMString"](Pt,{context:"Failed to execute 'initStorageEvent' on 'StorageEvent': parameter 4",globals:Wt})}}else{Pt=null}an.push(Pt)}{let Pt=arguments[4];if(Pt!==undefined){if(Pt===null||Pt===undefined){Pt=null}else{Pt=tn["DOMString"](Pt,{context:"Failed to execute 'initStorageEvent' on 'StorageEvent': parameter 5",globals:Wt})}}else{Pt=null}an.push(Pt)}{let Pt=arguments[5];if(Pt!==undefined){if(Pt===null||Pt===undefined){Pt=null}else{Pt=tn["DOMString"](Pt,{context:"Failed to execute 'initStorageEvent' on 'StorageEvent': parameter 6",globals:Wt})}}else{Pt=null}an.push(Pt)}{let Pt=arguments[6];if(Pt!==undefined){Pt=tn["USVString"](Pt,{context:"Failed to execute 'initStorageEvent' on 'StorageEvent': parameter 7",globals:Wt})}else{Pt=""}an.push(Pt)}{let Pt=arguments[7];if(Pt!==undefined){if(Pt===null||Pt===undefined){Pt=null}else{Pt=In.convert(Wt,Pt,{context:"Failed to execute 'initStorageEvent' on 'StorageEvent': parameter 8"})}}else{Pt=null}an.push(Pt)}return nn[rn].initStorageEvent(...an)}get key(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get key' called on an object that is not a valid instance of StorageEvent.")}return en[rn]["key"]}get oldValue(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get oldValue' called on an object that is not a valid instance of StorageEvent.")}return en[rn]["oldValue"]}get newValue(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get newValue' called on an object that is not a valid instance of StorageEvent.")}return en[rn]["newValue"]}get url(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get url' called on an object that is not a valid instance of StorageEvent.")}return en[rn]["url"]}get storageArea(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get storageArea' called on an object that is not a valid instance of StorageEvent.")}return nn.tryWrapperForImpl(en[rn]["storageArea"])}}Object.defineProperties(StorageEvent.prototype,{initStorageEvent:{enumerable:true},key:{enumerable:true},oldValue:{enumerable:true},newValue:{enumerable:true},url:{enumerable:true},storageArea:{enumerable:true},[Symbol.toStringTag]:{value:"StorageEvent",configurable:true}});sn[cn]=StorageEvent;Object.defineProperty(Wt,cn,{configurable:true,writable:true,value:StorageEvent})};const un=en(60563)},38089:(Wt,Pt,en)=>{const tn=en(37125);const nn=en(87094);const an=en(90778);const In=en(31893);Pt._convertInherit=(Wt,Pt,en,{context:nn="The provided value"}={})=>{In._convertInherit(Wt,Pt,en,{context:nn});{const an="key";let In=Pt===undefined||Pt===null?undefined:Pt[an];if(In!==undefined){if(In===null||In===undefined){In=null}else{In=tn["DOMString"](In,{context:nn+" has member 'key' that",globals:Wt})}en[an]=In}else{en[an]=null}}{const an="newValue";let In=Pt===undefined||Pt===null?undefined:Pt[an];if(In!==undefined){if(In===null||In===undefined){In=null}else{In=tn["DOMString"](In,{context:nn+" has member 'newValue' that",globals:Wt})}en[an]=In}else{en[an]=null}}{const an="oldValue";let In=Pt===undefined||Pt===null?undefined:Pt[an];if(In!==undefined){if(In===null||In===undefined){In=null}else{In=tn["DOMString"](In,{context:nn+" has member 'oldValue' that",globals:Wt})}en[an]=In}else{en[an]=null}}{const tn="storageArea";let In=Pt===undefined||Pt===null?undefined:Pt[tn];if(In!==undefined){if(In===null||In===undefined){In=null}else{In=an.convert(Wt,In,{context:nn+" has member 'storageArea' that"})}en[tn]=In}else{en[tn]=null}}{const an="url";let In=Pt===undefined||Pt===null?undefined:Pt[an];if(In!==undefined){In=tn["USVString"](In,{context:nn+" has member 'url' that",globals:Wt});en[an]=In}else{en[an]=""}}};Pt.convert=(Wt,en,{context:tn="The provided value"}={})=>{if(en!==undefined&&typeof en!=="object"&&typeof en!=="function"){throw new Wt.TypeError(`${tn} is not an object.`)}const nn=Object.create(null);Pt._convertInherit(Wt,en,nn,{context:tn});return nn}},25911:(Wt,Pt,en)=>{const tn=en(37125);const nn=en(87094);const an=nn.implSymbol;const In=nn.ctorRegistrySymbol;const rn="StyleSheetList";Pt.is=Wt=>nn.isObject(Wt)&&nn.hasOwn(Wt,an)&&Wt[an]instanceof cn.implementation;Pt.isImpl=Wt=>nn.isObject(Wt)&&Wt instanceof cn.implementation;Pt.convert=(Wt,en,{context:tn="The provided value"}={})=>{if(Pt.is(en)){return nn.implForWrapper(en)}throw new Wt.TypeError(`${tn} is not of type 'StyleSheetList'.`)};function makeWrapper(Wt,Pt){let en;if(Pt!==undefined){en=Pt.prototype}if(!nn.isObject(en)){en=Wt[In]["StyleSheetList"].prototype}return Object.create(en)}function makeProxy(Wt,Pt){let en=on.get(Pt);if(en===undefined){en=new ProxyHandler(Pt);on.set(Pt,en)}return new Proxy(Wt,en)}Pt.create=(Wt,en,tn)=>{const nn=makeWrapper(Wt);return Pt.setup(nn,Wt,en,tn)};Pt.createImpl=(Wt,en,tn)=>{const an=Pt.create(Wt,en,tn);return nn.implForWrapper(an)};Pt._internalSetup=(Wt,Pt)=>{};Pt.setup=(Wt,en,tn=[],In={})=>{In.wrapper=Wt;Pt._internalSetup(Wt,en);Object.defineProperty(Wt,an,{value:new cn.implementation(en,tn,In),configurable:true});Wt=makeProxy(Wt,en);Wt[an][nn.wrapperSymbol]=Wt;if(cn.init){cn.init(Wt[an])}return Wt};Pt["new"]=(Wt,en)=>{let tn=makeWrapper(Wt,en);Pt._internalSetup(tn,Wt);Object.defineProperty(tn,an,{value:Object.create(cn.implementation.prototype),configurable:true});tn=makeProxy(tn,Wt);tn[an][nn.wrapperSymbol]=tn;if(cn.init){cn.init(tn[an])}return tn[an]};const sn=new Set(["Window"]);Pt.install=(Wt,en)=>{if(!en.some((Wt=>sn.has(Wt)))){return}const In=nn.initCtorRegistry(Wt);class StyleSheetList{constructor(){throw new Wt.TypeError("Illegal constructor")}item(en){const In=this!==null&&this!==undefined?this:Wt;if(!Pt.is(In)){throw new Wt.TypeError("'item' called on an object that is not a valid instance of StyleSheetList.")}if(arguments.length<1){throw new Wt.TypeError(`Failed to execute 'item' on 'StyleSheetList': 1 argument required, but only ${arguments.length} present.`)}const rn=[];{let Pt=arguments[0];Pt=tn["unsigned long"](Pt,{context:"Failed to execute 'item' on 'StyleSheetList': parameter 1",globals:Wt});rn.push(Pt)}return nn.tryWrapperForImpl(In[an].item(...rn))}get length(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get length' called on an object that is not a valid instance of StyleSheetList.")}return en[an]["length"]}}Object.defineProperties(StyleSheetList.prototype,{item:{enumerable:true},length:{enumerable:true},[Symbol.toStringTag]:{value:"StyleSheetList",configurable:true},[Symbol.iterator]:{value:Wt.Array.prototype[Symbol.iterator],configurable:true,writable:true}});In[rn]=StyleSheetList;Object.defineProperty(Wt,rn,{configurable:true,writable:true,value:StyleSheetList})};const on=new WeakMap;class ProxyHandler{constructor(Wt){this._globalObject=Wt}get(Wt,Pt,en){if(typeof Pt==="symbol"){return Reflect.get(Wt,Pt,en)}const tn=this.getOwnPropertyDescriptor(Wt,Pt);if(tn===undefined){const tn=Object.getPrototypeOf(Wt);if(tn===null){return undefined}return Reflect.get(Wt,Pt,en)}if(!tn.get&&!tn.set){return tn.value}const nn=tn.get;if(nn===undefined){return undefined}return Reflect.apply(nn,en,[])}has(Wt,Pt){if(typeof Pt==="symbol"){return Reflect.has(Wt,Pt)}const en=this.getOwnPropertyDescriptor(Wt,Pt);if(en!==undefined){return true}const tn=Object.getPrototypeOf(Wt);if(tn!==null){return Reflect.has(tn,Pt)}return false}ownKeys(Wt){const Pt=new Set;for(const en of Wt[an][nn.supportedPropertyIndices]){Pt.add(`${en}`)}for(const en of Reflect.ownKeys(Wt)){Pt.add(en)}return[...Pt]}getOwnPropertyDescriptor(Wt,Pt){if(typeof Pt==="symbol"){return Reflect.getOwnPropertyDescriptor(Wt,Pt)}let en=false;if(nn.isArrayIndexPropName(Pt)){const tn=Pt>>>0;const In=Wt[an].item(tn);if(In!==null){return{writable:false,enumerable:true,configurable:true,value:nn.tryWrapperForImpl(In)}}en=true}return Reflect.getOwnPropertyDescriptor(Wt,Pt)}set(Wt,Pt,en,tn){if(typeof Pt==="symbol"){return Reflect.set(Wt,Pt,en,tn)}if(Wt[an][nn.wrapperSymbol]===tn){const Wt=this._globalObject}let In;if(nn.isArrayIndexPropName(Pt)){const en=Pt>>>0;const tn=Wt[an].item(en);if(tn!==null){In={writable:false,enumerable:true,configurable:true,value:nn.tryWrapperForImpl(tn)}}}if(In===undefined){In=Reflect.getOwnPropertyDescriptor(Wt,Pt)}if(In===undefined){const nn=Reflect.getPrototypeOf(Wt);if(nn!==null){return Reflect.set(nn,Pt,en,tn)}In={writable:true,enumerable:true,configurable:true,value:undefined}}if(!In.writable){return false}if(!nn.isObject(tn)){return false}const rn=Reflect.getOwnPropertyDescriptor(tn,Pt);let sn;if(rn!==undefined){if(rn.get||rn.set){return false}if(!rn.writable){return false}sn={value:en}}else{sn={writable:true,enumerable:true,configurable:true,value:en}}return Reflect.defineProperty(tn,Pt,sn)}defineProperty(Wt,Pt,en){if(typeof Pt==="symbol"){return Reflect.defineProperty(Wt,Pt,en)}const tn=this._globalObject;if(nn.isArrayIndexPropName(Pt)){return false}return Reflect.defineProperty(Wt,Pt,en)}deleteProperty(Wt,Pt){if(typeof Pt==="symbol"){return Reflect.deleteProperty(Wt,Pt)}const en=this._globalObject;if(nn.isArrayIndexPropName(Pt)){const en=Pt>>>0;return!(Wt[an].item(en)!==null)}return Reflect.deleteProperty(Wt,Pt)}preventExtensions(){return false}}const cn=en(86096)},3823:(Wt,Pt,en)=>{const tn=en(37125);const nn=en(87094);const an=en(17189);const In=nn.implSymbol;const rn=nn.ctorRegistrySymbol;const sn=en(94431);const on="SubmitEvent";Pt.is=Wt=>nn.isObject(Wt)&&nn.hasOwn(Wt,In)&&Wt[In]instanceof dn.implementation;Pt.isImpl=Wt=>nn.isObject(Wt)&&Wt instanceof dn.implementation;Pt.convert=(Wt,en,{context:tn="The provided value"}={})=>{if(Pt.is(en)){return nn.implForWrapper(en)}throw new Wt.TypeError(`${tn} is not of type 'SubmitEvent'.`)};function makeWrapper(Wt,Pt){let en;if(Pt!==undefined){en=Pt.prototype}if(!nn.isObject(en)){en=Wt[rn]["SubmitEvent"].prototype}return Object.create(en)}Pt.create=(Wt,en,tn)=>{const nn=makeWrapper(Wt);return Pt.setup(nn,Wt,en,tn)};Pt.createImpl=(Wt,en,tn)=>{const an=Pt.create(Wt,en,tn);return nn.implForWrapper(an)};Pt._internalSetup=(Wt,Pt)=>{sn._internalSetup(Wt,Pt)};Pt.setup=(Wt,en,tn=[],an={})=>{an.wrapper=Wt;Pt._internalSetup(Wt,en);Object.defineProperty(Wt,In,{value:new dn.implementation(en,tn,an),configurable:true});Wt[In][nn.wrapperSymbol]=Wt;if(dn.init){dn.init(Wt[In])}return Wt};Pt["new"]=(Wt,en)=>{const tn=makeWrapper(Wt,en);Pt._internalSetup(tn,Wt);Object.defineProperty(tn,In,{value:Object.create(dn.implementation.prototype),configurable:true});tn[In][nn.wrapperSymbol]=tn;if(dn.init){dn.init(tn[In])}return tn[In]};const cn=new Set(["Window"]);Pt.install=(Wt,en)=>{if(!en.some((Wt=>cn.has(Wt)))){return}const rn=nn.initCtorRegistry(Wt);class SubmitEvent extends Wt.Event{constructor(en){if(arguments.length<1){throw new Wt.TypeError(`Failed to construct 'SubmitEvent': 1 argument required, but only ${arguments.length} present.`)}const nn=[];{let Pt=arguments[0];Pt=tn["DOMString"](Pt,{context:"Failed to construct 'SubmitEvent': parameter 1",globals:Wt});nn.push(Pt)}{let Pt=arguments[1];Pt=an.convert(Wt,Pt,{context:"Failed to construct 'SubmitEvent': parameter 2"});nn.push(Pt)}return Pt.setup(Object.create(new.target.prototype),Wt,nn)}get submitter(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get submitter' called on an object that is not a valid instance of SubmitEvent.")}return nn.tryWrapperForImpl(en[In]["submitter"])}}Object.defineProperties(SubmitEvent.prototype,{submitter:{enumerable:true},[Symbol.toStringTag]:{value:"SubmitEvent",configurable:true}});rn[on]=SubmitEvent;Object.defineProperty(Wt,on,{configurable:true,writable:true,value:SubmitEvent})};const dn=en(68710)},17189:(Wt,Pt,en)=>{const tn=en(37125);const nn=en(87094);const an=en(48708);const In=en(31893);Pt._convertInherit=(Wt,Pt,en,{context:tn="The provided value"}={})=>{In._convertInherit(Wt,Pt,en,{context:tn});{const nn="submitter";let In=Pt===undefined||Pt===null?undefined:Pt[nn];if(In!==undefined){if(In===null||In===undefined){In=null}else{In=an.convert(Wt,In,{context:tn+" has member 'submitter' that"})}en[nn]=In}else{en[nn]=null}}};Pt.convert=(Wt,en,{context:tn="The provided value"}={})=>{if(en!==undefined&&typeof en!=="object"&&typeof en!=="function"){throw new Wt.TypeError(`${tn} is not an object.`)}const nn=Object.create(null);Pt._convertInherit(Wt,en,nn,{context:tn});return nn}},36521:(Wt,Pt)=>{const en=new Set(["text/html","text/xml","application/xml","application/xhtml+xml","image/svg+xml"]);Pt.enumerationValues=en;Pt.convert=(Wt,Pt,{context:tn="The provided value"}={})=>{const nn=`${Pt}`;if(!en.has(nn)){throw new Wt.TypeError(`${tn} '${nn}' is not a valid enumeration value for SupportedType`)}return nn}},40196:(Wt,Pt,en)=>{const tn=en(37125);const nn=en(87094);const an=nn.implSymbol;const In=nn.ctorRegistrySymbol;const rn=en(30052);const sn="Text";Pt.is=Wt=>nn.isObject(Wt)&&nn.hasOwn(Wt,an)&&Wt[an]instanceof cn.implementation;Pt.isImpl=Wt=>nn.isObject(Wt)&&Wt instanceof cn.implementation;Pt.convert=(Wt,en,{context:tn="The provided value"}={})=>{if(Pt.is(en)){return nn.implForWrapper(en)}throw new Wt.TypeError(`${tn} is not of type 'Text'.`)};function makeWrapper(Wt,Pt){let en;if(Pt!==undefined){en=Pt.prototype}if(!nn.isObject(en)){en=Wt[In]["Text"].prototype}return Object.create(en)}Pt.create=(Wt,en,tn)=>{const nn=makeWrapper(Wt);return Pt.setup(nn,Wt,en,tn)};Pt.createImpl=(Wt,en,tn)=>{const an=Pt.create(Wt,en,tn);return nn.implForWrapper(an)};Pt._internalSetup=(Wt,Pt)=>{rn._internalSetup(Wt,Pt)};Pt.setup=(Wt,en,tn=[],In={})=>{In.wrapper=Wt;Pt._internalSetup(Wt,en);Object.defineProperty(Wt,an,{value:new cn.implementation(en,tn,In),configurable:true});Wt[an][nn.wrapperSymbol]=Wt;if(cn.init){cn.init(Wt[an])}return Wt};Pt["new"]=(Wt,en)=>{const tn=makeWrapper(Wt,en);Pt._internalSetup(tn,Wt);Object.defineProperty(tn,an,{value:Object.create(cn.implementation.prototype),configurable:true});tn[an][nn.wrapperSymbol]=tn;if(cn.init){cn.init(tn[an])}return tn[an]};const on=new Set(["Window"]);Pt.install=(Wt,en)=>{if(!en.some((Wt=>on.has(Wt)))){return}const In=nn.initCtorRegistry(Wt);class Text extends Wt.CharacterData{constructor(){const en=[];{let Pt=arguments[0];if(Pt!==undefined){Pt=tn["DOMString"](Pt,{context:"Failed to construct 'Text': parameter 1",globals:Wt})}else{Pt=""}en.push(Pt)}return Pt.setup(Object.create(new.target.prototype),Wt,en)}splitText(en){const In=this!==null&&this!==undefined?this:Wt;if(!Pt.is(In)){throw new Wt.TypeError("'splitText' called on an object that is not a valid instance of Text.")}if(arguments.length<1){throw new Wt.TypeError(`Failed to execute 'splitText' on 'Text': 1 argument required, but only ${arguments.length} present.`)}const rn=[];{let Pt=arguments[0];Pt=tn["unsigned long"](Pt,{context:"Failed to execute 'splitText' on 'Text': parameter 1",globals:Wt});rn.push(Pt)}return nn.tryWrapperForImpl(In[an].splitText(...rn))}get wholeText(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get wholeText' called on an object that is not a valid instance of Text.")}return en[an]["wholeText"]}get assignedSlot(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get assignedSlot' called on an object that is not a valid instance of Text.")}return nn.tryWrapperForImpl(en[an]["assignedSlot"])}}Object.defineProperties(Text.prototype,{splitText:{enumerable:true},wholeText:{enumerable:true},assignedSlot:{enumerable:true},[Symbol.toStringTag]:{value:"Text",configurable:true}});In[sn]=Text;Object.defineProperty(Wt,sn,{configurable:true,writable:true,value:Text})};const cn=en(4247)},27655:(Wt,Pt)=>{const en=new Set(["subtitles","captions","descriptions","chapters","metadata"]);Pt.enumerationValues=en;Pt.convert=(Wt,Pt,{context:tn="The provided value"}={})=>{const nn=`${Pt}`;if(!en.has(nn)){throw new Wt.TypeError(`${tn} '${nn}' is not a valid enumeration value for TextTrackKind`)}return nn}},13246:(Wt,Pt,en)=>{const tn=en(37125);const nn=en(87094);const an=en(93616);const In=nn.implSymbol;const rn=nn.ctorRegistrySymbol;const sn=en(38921);const on="TouchEvent";Pt.is=Wt=>nn.isObject(Wt)&&nn.hasOwn(Wt,In)&&Wt[In]instanceof dn.implementation;Pt.isImpl=Wt=>nn.isObject(Wt)&&Wt instanceof dn.implementation;Pt.convert=(Wt,en,{context:tn="The provided value"}={})=>{if(Pt.is(en)){return nn.implForWrapper(en)}throw new Wt.TypeError(`${tn} is not of type 'TouchEvent'.`)};function makeWrapper(Wt,Pt){let en;if(Pt!==undefined){en=Pt.prototype}if(!nn.isObject(en)){en=Wt[rn]["TouchEvent"].prototype}return Object.create(en)}Pt.create=(Wt,en,tn)=>{const nn=makeWrapper(Wt);return Pt.setup(nn,Wt,en,tn)};Pt.createImpl=(Wt,en,tn)=>{const an=Pt.create(Wt,en,tn);return nn.implForWrapper(an)};Pt._internalSetup=(Wt,Pt)=>{sn._internalSetup(Wt,Pt)};Pt.setup=(Wt,en,tn=[],an={})=>{an.wrapper=Wt;Pt._internalSetup(Wt,en);Object.defineProperty(Wt,In,{value:new dn.implementation(en,tn,an),configurable:true});Wt[In][nn.wrapperSymbol]=Wt;if(dn.init){dn.init(Wt[In])}return Wt};Pt["new"]=(Wt,en)=>{const tn=makeWrapper(Wt,en);Pt._internalSetup(tn,Wt);Object.defineProperty(tn,In,{value:Object.create(dn.implementation.prototype),configurable:true});tn[In][nn.wrapperSymbol]=tn;if(dn.init){dn.init(tn[In])}return tn[In]};const cn=new Set(["Window"]);Pt.install=(Wt,en)=>{if(!en.some((Wt=>cn.has(Wt)))){return}const rn=nn.initCtorRegistry(Wt);class TouchEvent extends Wt.UIEvent{constructor(en){if(arguments.length<1){throw new Wt.TypeError(`Failed to construct 'TouchEvent': 1 argument required, but only ${arguments.length} present.`)}const nn=[];{let Pt=arguments[0];Pt=tn["DOMString"](Pt,{context:"Failed to construct 'TouchEvent': parameter 1",globals:Wt});nn.push(Pt)}{let Pt=arguments[1];Pt=an.convert(Wt,Pt,{context:"Failed to construct 'TouchEvent': parameter 2"});nn.push(Pt)}return Pt.setup(Object.create(new.target.prototype),Wt,nn)}get touches(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get touches' called on an object that is not a valid instance of TouchEvent.")}return nn.tryWrapperForImpl(en[In]["touches"])}get targetTouches(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get targetTouches' called on an object that is not a valid instance of TouchEvent.")}return nn.tryWrapperForImpl(en[In]["targetTouches"])}get changedTouches(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get changedTouches' called on an object that is not a valid instance of TouchEvent.")}return nn.tryWrapperForImpl(en[In]["changedTouches"])}get altKey(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get altKey' called on an object that is not a valid instance of TouchEvent.")}return en[In]["altKey"]}get metaKey(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get metaKey' called on an object that is not a valid instance of TouchEvent.")}return en[In]["metaKey"]}get ctrlKey(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get ctrlKey' called on an object that is not a valid instance of TouchEvent.")}return en[In]["ctrlKey"]}get shiftKey(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get shiftKey' called on an object that is not a valid instance of TouchEvent.")}return en[In]["shiftKey"]}}Object.defineProperties(TouchEvent.prototype,{touches:{enumerable:true},targetTouches:{enumerable:true},changedTouches:{enumerable:true},altKey:{enumerable:true},metaKey:{enumerable:true},ctrlKey:{enumerable:true},shiftKey:{enumerable:true},[Symbol.toStringTag]:{value:"TouchEvent",configurable:true}});rn[on]=TouchEvent;Object.defineProperty(Wt,on,{configurable:true,writable:true,value:TouchEvent})};const dn=en(85861)},93616:(Wt,Pt,en)=>{const tn=en(37125);const nn=en(87094);const an=en(6588);Pt._convertInherit=(Wt,Pt,en,{context:tn="The provided value"}={})=>{an._convertInherit(Wt,Pt,en,{context:tn});{const an="changedTouches";let In=Pt===undefined||Pt===null?undefined:Pt[an];if(In!==undefined){if(!nn.isObject(In)){throw new Wt.TypeError(tn+" has member 'changedTouches' that"+" is not an iterable object.")}else{const Wt=[];const Pt=In;for(let en of Pt){en=nn.tryImplForWrapper(en);Wt.push(en)}In=Wt}en[an]=In}else{en[an]=[]}}{const an="targetTouches";let In=Pt===undefined||Pt===null?undefined:Pt[an];if(In!==undefined){if(!nn.isObject(In)){throw new Wt.TypeError(tn+" has member 'targetTouches' that"+" is not an iterable object.")}else{const Wt=[];const Pt=In;for(let en of Pt){en=nn.tryImplForWrapper(en);Wt.push(en)}In=Wt}en[an]=In}else{en[an]=[]}}{const an="touches";let In=Pt===undefined||Pt===null?undefined:Pt[an];if(In!==undefined){if(!nn.isObject(In)){throw new Wt.TypeError(tn+" has member 'touches' that"+" is not an iterable object.")}else{const Wt=[];const Pt=In;for(let en of Pt){en=nn.tryImplForWrapper(en);Wt.push(en)}In=Wt}en[an]=In}else{en[an]=[]}}};Pt.convert=(Wt,en,{context:tn="The provided value"}={})=>{if(en!==undefined&&typeof en!=="object"&&typeof en!=="function"){throw new Wt.TypeError(`${tn} is not an object.`)}const nn=Object.create(null);Pt._convertInherit(Wt,en,nn,{context:tn});return nn}},77821:(Wt,Pt,en)=>{const tn=en(37125);const nn=en(87094);const an=en(24171);const In=nn.implSymbol;const rn=nn.ctorRegistrySymbol;const sn="TreeWalker";Pt.is=Wt=>nn.isObject(Wt)&&nn.hasOwn(Wt,In)&&Wt[In]instanceof cn.implementation;Pt.isImpl=Wt=>nn.isObject(Wt)&&Wt instanceof cn.implementation;Pt.convert=(Wt,en,{context:tn="The provided value"}={})=>{if(Pt.is(en)){return nn.implForWrapper(en)}throw new Wt.TypeError(`${tn} is not of type 'TreeWalker'.`)};function makeWrapper(Wt,Pt){let en;if(Pt!==undefined){en=Pt.prototype}if(!nn.isObject(en)){en=Wt[rn]["TreeWalker"].prototype}return Object.create(en)}Pt.create=(Wt,en,tn)=>{const nn=makeWrapper(Wt);return Pt.setup(nn,Wt,en,tn)};Pt.createImpl=(Wt,en,tn)=>{const an=Pt.create(Wt,en,tn);return nn.implForWrapper(an)};Pt._internalSetup=(Wt,Pt)=>{};Pt.setup=(Wt,en,tn=[],an={})=>{an.wrapper=Wt;Pt._internalSetup(Wt,en);Object.defineProperty(Wt,In,{value:new cn.implementation(en,tn,an),configurable:true});Wt[In][nn.wrapperSymbol]=Wt;if(cn.init){cn.init(Wt[In])}return Wt};Pt["new"]=(Wt,en)=>{const tn=makeWrapper(Wt,en);Pt._internalSetup(tn,Wt);Object.defineProperty(tn,In,{value:Object.create(cn.implementation.prototype),configurable:true});tn[In][nn.wrapperSymbol]=tn;if(cn.init){cn.init(tn[In])}return tn[In]};const on=new Set(["Window"]);Pt.install=(Wt,en)=>{if(!en.some((Wt=>on.has(Wt)))){return}const tn=nn.initCtorRegistry(Wt);class TreeWalker{constructor(){throw new Wt.TypeError("Illegal constructor")}parentNode(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'parentNode' called on an object that is not a valid instance of TreeWalker.")}return nn.tryWrapperForImpl(en[In].parentNode())}firstChild(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'firstChild' called on an object that is not a valid instance of TreeWalker.")}return nn.tryWrapperForImpl(en[In].firstChild())}lastChild(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'lastChild' called on an object that is not a valid instance of TreeWalker.")}return nn.tryWrapperForImpl(en[In].lastChild())}previousSibling(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'previousSibling' called on an object that is not a valid instance of TreeWalker.")}return nn.tryWrapperForImpl(en[In].previousSibling())}nextSibling(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'nextSibling' called on an object that is not a valid instance of TreeWalker.")}return nn.tryWrapperForImpl(en[In].nextSibling())}previousNode(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'previousNode' called on an object that is not a valid instance of TreeWalker.")}return nn.tryWrapperForImpl(en[In].previousNode())}nextNode(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'nextNode' called on an object that is not a valid instance of TreeWalker.")}return nn.tryWrapperForImpl(en[In].nextNode())}get root(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get root' called on an object that is not a valid instance of TreeWalker.")}return nn.getSameObject(this,"root",(()=>nn.tryWrapperForImpl(en[In]["root"])))}get whatToShow(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get whatToShow' called on an object that is not a valid instance of TreeWalker.")}return en[In]["whatToShow"]}get filter(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get filter' called on an object that is not a valid instance of TreeWalker.")}return nn.tryWrapperForImpl(en[In]["filter"])}get currentNode(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get currentNode' called on an object that is not a valid instance of TreeWalker.")}return nn.tryWrapperForImpl(en[In]["currentNode"])}set currentNode(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set currentNode' called on an object that is not a valid instance of TreeWalker.")}en=an.convert(Wt,en,{context:"Failed to set the 'currentNode' property on 'TreeWalker': The provided value"});tn[In]["currentNode"]=en}}Object.defineProperties(TreeWalker.prototype,{parentNode:{enumerable:true},firstChild:{enumerable:true},lastChild:{enumerable:true},previousSibling:{enumerable:true},nextSibling:{enumerable:true},previousNode:{enumerable:true},nextNode:{enumerable:true},root:{enumerable:true},whatToShow:{enumerable:true},filter:{enumerable:true},currentNode:{enumerable:true},[Symbol.toStringTag]:{value:"TreeWalker",configurable:true}});tn[sn]=TreeWalker;Object.defineProperty(Wt,sn,{configurable:true,writable:true,value:TreeWalker})};const cn=en(97223)},38921:(Wt,Pt,en)=>{const tn=en(37125);const nn=en(87094);const an=en(27019);const In=nn.implSymbol;const rn=nn.ctorRegistrySymbol;const sn=en(94431);const on="UIEvent";Pt.is=Wt=>nn.isObject(Wt)&&nn.hasOwn(Wt,In)&&Wt[In]instanceof dn.implementation;Pt.isImpl=Wt=>nn.isObject(Wt)&&Wt instanceof dn.implementation;Pt.convert=(Wt,en,{context:tn="The provided value"}={})=>{if(Pt.is(en)){return nn.implForWrapper(en)}throw new Wt.TypeError(`${tn} is not of type 'UIEvent'.`)};function makeWrapper(Wt,Pt){let en;if(Pt!==undefined){en=Pt.prototype}if(!nn.isObject(en)){en=Wt[rn]["UIEvent"].prototype}return Object.create(en)}Pt.create=(Wt,en,tn)=>{const nn=makeWrapper(Wt);return Pt.setup(nn,Wt,en,tn)};Pt.createImpl=(Wt,en,tn)=>{const an=Pt.create(Wt,en,tn);return nn.implForWrapper(an)};Pt._internalSetup=(Wt,Pt)=>{sn._internalSetup(Wt,Pt)};Pt.setup=(Wt,en,tn=[],an={})=>{an.wrapper=Wt;Pt._internalSetup(Wt,en);Object.defineProperty(Wt,In,{value:new dn.implementation(en,tn,an),configurable:true});Wt[In][nn.wrapperSymbol]=Wt;if(dn.init){dn.init(Wt[In])}return Wt};Pt["new"]=(Wt,en)=>{const tn=makeWrapper(Wt,en);Pt._internalSetup(tn,Wt);Object.defineProperty(tn,In,{value:Object.create(dn.implementation.prototype),configurable:true});tn[In][nn.wrapperSymbol]=tn;if(dn.init){dn.init(tn[In])}return tn[In]};const cn=new Set(["Window"]);Pt.install=(Wt,en)=>{if(!en.some((Wt=>cn.has(Wt)))){return}const rn=nn.initCtorRegistry(Wt);class UIEvent extends Wt.Event{constructor(en){if(arguments.length<1){throw new Wt.TypeError(`Failed to construct 'UIEvent': 1 argument required, but only ${arguments.length} present.`)}const nn=[];{let Pt=arguments[0];Pt=tn["DOMString"](Pt,{context:"Failed to construct 'UIEvent': parameter 1",globals:Wt});nn.push(Pt)}{let Pt=arguments[1];Pt=an.convert(Wt,Pt,{context:"Failed to construct 'UIEvent': parameter 2"});nn.push(Pt)}return Pt.setup(Object.create(new.target.prototype),Wt,nn)}initUIEvent(en){const an=this!==null&&this!==undefined?this:Wt;if(!Pt.is(an)){throw new Wt.TypeError("'initUIEvent' called on an object that is not a valid instance of UIEvent.")}if(arguments.length<1){throw new Wt.TypeError(`Failed to execute 'initUIEvent' on 'UIEvent': 1 argument required, but only ${arguments.length} present.`)}const rn=[];{let Pt=arguments[0];Pt=tn["DOMString"](Pt,{context:"Failed to execute 'initUIEvent' on 'UIEvent': parameter 1",globals:Wt});rn.push(Pt)}{let Pt=arguments[1];if(Pt!==undefined){Pt=tn["boolean"](Pt,{context:"Failed to execute 'initUIEvent' on 'UIEvent': parameter 2",globals:Wt})}else{Pt=false}rn.push(Pt)}{let Pt=arguments[2];if(Pt!==undefined){Pt=tn["boolean"](Pt,{context:"Failed to execute 'initUIEvent' on 'UIEvent': parameter 3",globals:Wt})}else{Pt=false}rn.push(Pt)}{let Wt=arguments[3];if(Wt!==undefined){if(Wt===null||Wt===undefined){Wt=null}else{Wt=nn.tryImplForWrapper(Wt)}}else{Wt=null}rn.push(Wt)}{let Pt=arguments[4];if(Pt!==undefined){Pt=tn["long"](Pt,{context:"Failed to execute 'initUIEvent' on 'UIEvent': parameter 5",globals:Wt})}else{Pt=0}rn.push(Pt)}return an[In].initUIEvent(...rn)}get view(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get view' called on an object that is not a valid instance of UIEvent.")}return nn.tryWrapperForImpl(en[In]["view"])}get detail(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get detail' called on an object that is not a valid instance of UIEvent.")}return en[In]["detail"]}get which(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get which' called on an object that is not a valid instance of UIEvent.")}return en[In]["which"]}}Object.defineProperties(UIEvent.prototype,{initUIEvent:{enumerable:true},view:{enumerable:true},detail:{enumerable:true},which:{enumerable:true},[Symbol.toStringTag]:{value:"UIEvent",configurable:true}});rn[on]=UIEvent;Object.defineProperty(Wt,on,{configurable:true,writable:true,value:UIEvent})};const dn=en(1412)},27019:(Wt,Pt,en)=>{const tn=en(37125);const nn=en(87094);const an=en(31893);Pt._convertInherit=(Wt,Pt,en,{context:In="The provided value"}={})=>{an._convertInherit(Wt,Pt,en,{context:In});{const nn="detail";let an=Pt===undefined||Pt===null?undefined:Pt[nn];if(an!==undefined){an=tn["long"](an,{context:In+" has member 'detail' that",globals:Wt});en[nn]=an}else{en[nn]=0}}{const Wt="view";let tn=Pt===undefined||Pt===null?undefined:Pt[Wt];if(tn!==undefined){if(tn===null||tn===undefined){tn=null}else{tn=nn.tryImplForWrapper(tn)}en[Wt]=tn}else{en[Wt]=null}}{const nn="which";let an=Pt===undefined||Pt===null?undefined:Pt[nn];if(an!==undefined){an=tn["unsigned long"](an,{context:In+" has member 'which' that",globals:Wt});en[nn]=an}else{en[nn]=0}}};Pt.convert=(Wt,en,{context:tn="The provided value"}={})=>{if(en!==undefined&&typeof en!=="object"&&typeof en!=="function"){throw new Wt.TypeError(`${tn} is not an object.`)}const nn=Object.create(null);Pt._convertInherit(Wt,en,nn,{context:tn});return nn}},47180:(Wt,Pt,en)=>{const tn=en(37125);const nn=en(87094);const an=nn.implSymbol;const In=nn.ctorRegistrySymbol;const rn="ValidityState";Pt.is=Wt=>nn.isObject(Wt)&&nn.hasOwn(Wt,an)&&Wt[an]instanceof on.implementation;Pt.isImpl=Wt=>nn.isObject(Wt)&&Wt instanceof on.implementation;Pt.convert=(Wt,en,{context:tn="The provided value"}={})=>{if(Pt.is(en)){return nn.implForWrapper(en)}throw new Wt.TypeError(`${tn} is not of type 'ValidityState'.`)};function makeWrapper(Wt,Pt){let en;if(Pt!==undefined){en=Pt.prototype}if(!nn.isObject(en)){en=Wt[In]["ValidityState"].prototype}return Object.create(en)}Pt.create=(Wt,en,tn)=>{const nn=makeWrapper(Wt);return Pt.setup(nn,Wt,en,tn)};Pt.createImpl=(Wt,en,tn)=>{const an=Pt.create(Wt,en,tn);return nn.implForWrapper(an)};Pt._internalSetup=(Wt,Pt)=>{};Pt.setup=(Wt,en,tn=[],In={})=>{In.wrapper=Wt;Pt._internalSetup(Wt,en);Object.defineProperty(Wt,an,{value:new on.implementation(en,tn,In),configurable:true});Wt[an][nn.wrapperSymbol]=Wt;if(on.init){on.init(Wt[an])}return Wt};Pt["new"]=(Wt,en)=>{const tn=makeWrapper(Wt,en);Pt._internalSetup(tn,Wt);Object.defineProperty(tn,an,{value:Object.create(on.implementation.prototype),configurable:true});tn[an][nn.wrapperSymbol]=tn;if(on.init){on.init(tn[an])}return tn[an]};const sn=new Set(["Window"]);Pt.install=(Wt,en)=>{if(!en.some((Wt=>sn.has(Wt)))){return}const tn=nn.initCtorRegistry(Wt);class ValidityState{constructor(){throw new Wt.TypeError("Illegal constructor")}get valueMissing(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get valueMissing' called on an object that is not a valid instance of ValidityState.")}return en[an]["valueMissing"]}get typeMismatch(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get typeMismatch' called on an object that is not a valid instance of ValidityState.")}return en[an]["typeMismatch"]}get patternMismatch(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get patternMismatch' called on an object that is not a valid instance of ValidityState.")}return en[an]["patternMismatch"]}get tooLong(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get tooLong' called on an object that is not a valid instance of ValidityState.")}return en[an]["tooLong"]}get tooShort(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get tooShort' called on an object that is not a valid instance of ValidityState.")}return en[an]["tooShort"]}get rangeUnderflow(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get rangeUnderflow' called on an object that is not a valid instance of ValidityState.")}return en[an]["rangeUnderflow"]}get rangeOverflow(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get rangeOverflow' called on an object that is not a valid instance of ValidityState.")}return en[an]["rangeOverflow"]}get stepMismatch(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get stepMismatch' called on an object that is not a valid instance of ValidityState.")}return en[an]["stepMismatch"]}get badInput(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get badInput' called on an object that is not a valid instance of ValidityState.")}return en[an]["badInput"]}get customError(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get customError' called on an object that is not a valid instance of ValidityState.")}return en[an]["customError"]}get valid(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get valid' called on an object that is not a valid instance of ValidityState.")}return en[an]["valid"]}}Object.defineProperties(ValidityState.prototype,{valueMissing:{enumerable:true},typeMismatch:{enumerable:true},patternMismatch:{enumerable:true},tooLong:{enumerable:true},tooShort:{enumerable:true},rangeUnderflow:{enumerable:true},rangeOverflow:{enumerable:true},stepMismatch:{enumerable:true},badInput:{enumerable:true},customError:{enumerable:true},valid:{enumerable:true},[Symbol.toStringTag]:{value:"ValidityState",configurable:true}});tn[rn]=ValidityState;Object.defineProperty(Wt,rn,{configurable:true,writable:true,value:ValidityState})};const on=en(93399)},2572:(Wt,Pt,en)=>{const tn=en(37125);const nn=en(87094);const an=en(42960);const In=en(69117);const rn=en(32334);const sn=nn.implSymbol;const on=nn.ctorRegistrySymbol;const cn=en(29122);const dn="WebSocket";Pt.is=Wt=>nn.isObject(Wt)&&nn.hasOwn(Wt,sn)&&Wt[sn]instanceof pn.implementation;Pt.isImpl=Wt=>nn.isObject(Wt)&&Wt instanceof pn.implementation;Pt.convert=(Wt,en,{context:tn="The provided value"}={})=>{if(Pt.is(en)){return nn.implForWrapper(en)}throw new Wt.TypeError(`${tn} is not of type 'WebSocket'.`)};function makeWrapper(Wt,Pt){let en;if(Pt!==undefined){en=Pt.prototype}if(!nn.isObject(en)){en=Wt[on]["WebSocket"].prototype}return Object.create(en)}Pt.create=(Wt,en,tn)=>{const nn=makeWrapper(Wt);return Pt.setup(nn,Wt,en,tn)};Pt.createImpl=(Wt,en,tn)=>{const an=Pt.create(Wt,en,tn);return nn.implForWrapper(an)};Pt._internalSetup=(Wt,Pt)=>{cn._internalSetup(Wt,Pt)};Pt.setup=(Wt,en,tn=[],an={})=>{an.wrapper=Wt;Pt._internalSetup(Wt,en);Object.defineProperty(Wt,sn,{value:new pn.implementation(en,tn,an),configurable:true});Wt[sn][nn.wrapperSymbol]=Wt;if(pn.init){pn.init(Wt[sn])}return Wt};Pt["new"]=(Wt,en)=>{const tn=makeWrapper(Wt,en);Pt._internalSetup(tn,Wt);Object.defineProperty(tn,sn,{value:Object.create(pn.implementation.prototype),configurable:true});tn[sn][nn.wrapperSymbol]=tn;if(pn.init){pn.init(tn[sn])}return tn[sn]};const un=new Set(["Window","Worker"]);Pt.install=(Wt,en)=>{if(!en.some((Wt=>un.has(Wt)))){return}const on=nn.initCtorRegistry(Wt);class WebSocket extends Wt.EventTarget{constructor(en){if(arguments.length<1){throw new Wt.TypeError(`Failed to construct 'WebSocket': 1 argument required, but only ${arguments.length} present.`)}const an=[];{let Pt=arguments[0];Pt=tn["USVString"](Pt,{context:"Failed to construct 'WebSocket': parameter 1",globals:Wt});an.push(Pt)}{let Pt=arguments[1];if(Pt!==undefined){if(nn.isObject(Pt)){if(Pt[Symbol.iterator]!==undefined){if(!nn.isObject(Pt)){throw new Wt.TypeError("Failed to construct 'WebSocket': parameter 2"+" sequence"+" is not an iterable object.")}else{const en=[];const nn=Pt;for(let Pt of nn){Pt=tn["DOMString"](Pt,{context:"Failed to construct 'WebSocket': parameter 2"+" sequence"+"'s element",globals:Wt});en.push(Pt)}Pt=en}}else{}}else{Pt=tn["DOMString"](Pt,{context:"Failed to construct 'WebSocket': parameter 2",globals:Wt})}}else{Pt=[]}an.push(Pt)}return Pt.setup(Object.create(new.target.prototype),Wt,an)}close(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'close' called on an object that is not a valid instance of WebSocket.")}const nn=[];{let Pt=arguments[0];if(Pt!==undefined){Pt=tn["unsigned short"](Pt,{context:"Failed to execute 'close' on 'WebSocket': parameter 1",globals:Wt,clamp:true})}nn.push(Pt)}{let Pt=arguments[1];if(Pt!==undefined){Pt=tn["USVString"](Pt,{context:"Failed to execute 'close' on 'WebSocket': parameter 2",globals:Wt})}nn.push(Pt)}return en[sn].close(...nn)}send(en){const In=this!==null&&this!==undefined?this:Wt;if(!Pt.is(In)){throw new Wt.TypeError("'send' called on an object that is not a valid instance of WebSocket.")}if(arguments.length<1){throw new Wt.TypeError(`Failed to execute 'send' on 'WebSocket': 1 argument required, but only ${arguments.length} present.`)}const rn=[];{let Pt=arguments[0];if(an.is(Pt)){{let Pt=arguments[0];Pt=an.convert(Wt,Pt,{context:"Failed to execute 'send' on 'WebSocket': parameter 1"});rn.push(Pt)}}else if(nn.isArrayBuffer(Pt)){{let Pt=arguments[0];Pt=tn["ArrayBuffer"](Pt,{context:"Failed to execute 'send' on 'WebSocket': parameter 1",globals:Wt});rn.push(Pt)}}else if(ArrayBuffer.isView(Pt)){{let Pt=arguments[0];if(ArrayBuffer.isView(Pt)){}else{throw new Wt.TypeError("Failed to execute 'send' on 'WebSocket': parameter 1"+" is not of any supported type.")}rn.push(Pt)}}else{{let Pt=arguments[0];Pt=tn["USVString"](Pt,{context:"Failed to execute 'send' on 'WebSocket': parameter 1",globals:Wt});rn.push(Pt)}}}return In[sn].send(...rn)}get url(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get url' called on an object that is not a valid instance of WebSocket.")}return en[sn]["url"]}get readyState(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get readyState' called on an object that is not a valid instance of WebSocket.")}return en[sn]["readyState"]}get bufferedAmount(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get bufferedAmount' called on an object that is not a valid instance of WebSocket.")}return en[sn]["bufferedAmount"]}get onopen(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get onopen' called on an object that is not a valid instance of WebSocket.")}return nn.tryWrapperForImpl(en[sn]["onopen"])}set onopen(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set onopen' called on an object that is not a valid instance of WebSocket.")}if(!nn.isObject(en)){en=null}else{en=In.convert(Wt,en,{context:"Failed to set the 'onopen' property on 'WebSocket': The provided value"})}tn[sn]["onopen"]=en}get onerror(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get onerror' called on an object that is not a valid instance of WebSocket.")}return nn.tryWrapperForImpl(en[sn]["onerror"])}set onerror(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set onerror' called on an object that is not a valid instance of WebSocket.")}if(!nn.isObject(en)){en=null}else{en=In.convert(Wt,en,{context:"Failed to set the 'onerror' property on 'WebSocket': The provided value"})}tn[sn]["onerror"]=en}get onclose(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get onclose' called on an object that is not a valid instance of WebSocket.")}return nn.tryWrapperForImpl(en[sn]["onclose"])}set onclose(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set onclose' called on an object that is not a valid instance of WebSocket.")}if(!nn.isObject(en)){en=null}else{en=In.convert(Wt,en,{context:"Failed to set the 'onclose' property on 'WebSocket': The provided value"})}tn[sn]["onclose"]=en}get extensions(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get extensions' called on an object that is not a valid instance of WebSocket.")}return en[sn]["extensions"]}get protocol(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get protocol' called on an object that is not a valid instance of WebSocket.")}return en[sn]["protocol"]}get onmessage(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get onmessage' called on an object that is not a valid instance of WebSocket.")}return nn.tryWrapperForImpl(en[sn]["onmessage"])}set onmessage(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set onmessage' called on an object that is not a valid instance of WebSocket.")}if(!nn.isObject(en)){en=null}else{en=In.convert(Wt,en,{context:"Failed to set the 'onmessage' property on 'WebSocket': The provided value"})}tn[sn]["onmessage"]=en}get binaryType(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get binaryType' called on an object that is not a valid instance of WebSocket.")}return nn.tryWrapperForImpl(en[sn]["binaryType"])}set binaryType(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set binaryType' called on an object that is not a valid instance of WebSocket.")}en=`${en}`;if(!rn.enumerationValues.has(en)){return}tn[sn]["binaryType"]=en}}Object.defineProperties(WebSocket.prototype,{close:{enumerable:true},send:{enumerable:true},url:{enumerable:true},readyState:{enumerable:true},bufferedAmount:{enumerable:true},onopen:{enumerable:true},onerror:{enumerable:true},onclose:{enumerable:true},extensions:{enumerable:true},protocol:{enumerable:true},onmessage:{enumerable:true},binaryType:{enumerable:true},[Symbol.toStringTag]:{value:"WebSocket",configurable:true},CONNECTING:{value:0,enumerable:true},OPEN:{value:1,enumerable:true},CLOSING:{value:2,enumerable:true},CLOSED:{value:3,enumerable:true}});Object.defineProperties(WebSocket,{CONNECTING:{value:0,enumerable:true},OPEN:{value:1,enumerable:true},CLOSING:{value:2,enumerable:true},CLOSED:{value:3,enumerable:true}});on[dn]=WebSocket;Object.defineProperty(Wt,dn,{configurable:true,writable:true,value:WebSocket})};const pn=en(14764)},18990:(Wt,Pt,en)=>{const tn=en(37125);const nn=en(87094);const an=en(50816);const In=nn.implSymbol;const rn=nn.ctorRegistrySymbol;const sn=en(8002);const on="WheelEvent";Pt.is=Wt=>nn.isObject(Wt)&&nn.hasOwn(Wt,In)&&Wt[In]instanceof dn.implementation;Pt.isImpl=Wt=>nn.isObject(Wt)&&Wt instanceof dn.implementation;Pt.convert=(Wt,en,{context:tn="The provided value"}={})=>{if(Pt.is(en)){return nn.implForWrapper(en)}throw new Wt.TypeError(`${tn} is not of type 'WheelEvent'.`)};function makeWrapper(Wt,Pt){let en;if(Pt!==undefined){en=Pt.prototype}if(!nn.isObject(en)){en=Wt[rn]["WheelEvent"].prototype}return Object.create(en)}Pt.create=(Wt,en,tn)=>{const nn=makeWrapper(Wt);return Pt.setup(nn,Wt,en,tn)};Pt.createImpl=(Wt,en,tn)=>{const an=Pt.create(Wt,en,tn);return nn.implForWrapper(an)};Pt._internalSetup=(Wt,Pt)=>{sn._internalSetup(Wt,Pt)};Pt.setup=(Wt,en,tn=[],an={})=>{an.wrapper=Wt;Pt._internalSetup(Wt,en);Object.defineProperty(Wt,In,{value:new dn.implementation(en,tn,an),configurable:true});Wt[In][nn.wrapperSymbol]=Wt;if(dn.init){dn.init(Wt[In])}return Wt};Pt["new"]=(Wt,en)=>{const tn=makeWrapper(Wt,en);Pt._internalSetup(tn,Wt);Object.defineProperty(tn,In,{value:Object.create(dn.implementation.prototype),configurable:true});tn[In][nn.wrapperSymbol]=tn;if(dn.init){dn.init(tn[In])}return tn[In]};const cn=new Set(["Window"]);Pt.install=(Wt,en)=>{if(!en.some((Wt=>cn.has(Wt)))){return}const rn=nn.initCtorRegistry(Wt);class WheelEvent extends Wt.MouseEvent{constructor(en){if(arguments.length<1){throw new Wt.TypeError(`Failed to construct 'WheelEvent': 1 argument required, but only ${arguments.length} present.`)}const nn=[];{let Pt=arguments[0];Pt=tn["DOMString"](Pt,{context:"Failed to construct 'WheelEvent': parameter 1",globals:Wt});nn.push(Pt)}{let Pt=arguments[1];Pt=an.convert(Wt,Pt,{context:"Failed to construct 'WheelEvent': parameter 2"});nn.push(Pt)}return Pt.setup(Object.create(new.target.prototype),Wt,nn)}get deltaX(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get deltaX' called on an object that is not a valid instance of WheelEvent.")}return en[In]["deltaX"]}get deltaY(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get deltaY' called on an object that is not a valid instance of WheelEvent.")}return en[In]["deltaY"]}get deltaZ(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get deltaZ' called on an object that is not a valid instance of WheelEvent.")}return en[In]["deltaZ"]}get deltaMode(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get deltaMode' called on an object that is not a valid instance of WheelEvent.")}return en[In]["deltaMode"]}}Object.defineProperties(WheelEvent.prototype,{deltaX:{enumerable:true},deltaY:{enumerable:true},deltaZ:{enumerable:true},deltaMode:{enumerable:true},[Symbol.toStringTag]:{value:"WheelEvent",configurable:true},DOM_DELTA_PIXEL:{value:0,enumerable:true},DOM_DELTA_LINE:{value:1,enumerable:true},DOM_DELTA_PAGE:{value:2,enumerable:true}});Object.defineProperties(WheelEvent,{DOM_DELTA_PIXEL:{value:0,enumerable:true},DOM_DELTA_LINE:{value:1,enumerable:true},DOM_DELTA_PAGE:{value:2,enumerable:true}});rn[on]=WheelEvent;Object.defineProperty(Wt,on,{configurable:true,writable:true,value:WheelEvent})};const dn=en(84829)},50816:(Wt,Pt,en)=>{const tn=en(37125);const nn=en(87094);const an=en(5316);Pt._convertInherit=(Wt,Pt,en,{context:nn="The provided value"}={})=>{an._convertInherit(Wt,Pt,en,{context:nn});{const an="deltaMode";let In=Pt===undefined||Pt===null?undefined:Pt[an];if(In!==undefined){In=tn["unsigned long"](In,{context:nn+" has member 'deltaMode' that",globals:Wt});en[an]=In}else{en[an]=0}}{const an="deltaX";let In=Pt===undefined||Pt===null?undefined:Pt[an];if(In!==undefined){In=tn["double"](In,{context:nn+" has member 'deltaX' that",globals:Wt});en[an]=In}else{en[an]=0}}{const an="deltaY";let In=Pt===undefined||Pt===null?undefined:Pt[an];if(In!==undefined){In=tn["double"](In,{context:nn+" has member 'deltaY' that",globals:Wt});en[an]=In}else{en[an]=0}}{const an="deltaZ";let In=Pt===undefined||Pt===null?undefined:Pt[an];if(In!==undefined){In=tn["double"](In,{context:nn+" has member 'deltaZ' that",globals:Wt});en[an]=In}else{en[an]=0}}};Pt.convert=(Wt,en,{context:tn="The provided value"}={})=>{if(en!==undefined&&typeof en!=="object"&&typeof en!=="function"){throw new Wt.TypeError(`${tn} is not an object.`)}const nn=Object.create(null);Pt._convertInherit(Wt,en,nn,{context:tn});return nn}},63399:(Wt,Pt,en)=>{const tn=en(37125);const nn=en(87094);const an=nn.implSymbol;const In=nn.ctorRegistrySymbol;const rn=en(18946);const sn="XMLDocument";Pt.is=Wt=>nn.isObject(Wt)&&nn.hasOwn(Wt,an)&&Wt[an]instanceof cn.implementation;Pt.isImpl=Wt=>nn.isObject(Wt)&&Wt instanceof cn.implementation;Pt.convert=(Wt,en,{context:tn="The provided value"}={})=>{if(Pt.is(en)){return nn.implForWrapper(en)}throw new Wt.TypeError(`${tn} is not of type 'XMLDocument'.`)};function makeWrapper(Wt,Pt){let en;if(Pt!==undefined){en=Pt.prototype}if(!nn.isObject(en)){en=Wt[In]["XMLDocument"].prototype}return Object.create(en)}Pt.create=(Wt,en,tn)=>{const nn=makeWrapper(Wt);return Pt.setup(nn,Wt,en,tn)};Pt.createImpl=(Wt,en,tn)=>{const an=Pt.create(Wt,en,tn);return nn.implForWrapper(an)};Pt._internalSetup=(Wt,Pt)=>{rn._internalSetup(Wt,Pt)};Pt.setup=(Wt,en,tn=[],In={})=>{In.wrapper=Wt;Pt._internalSetup(Wt,en);Object.defineProperty(Wt,an,{value:new cn.implementation(en,tn,In),configurable:true});Wt[an][nn.wrapperSymbol]=Wt;if(cn.init){cn.init(Wt[an])}return Wt};Pt["new"]=(Wt,en)=>{const tn=makeWrapper(Wt,en);Pt._internalSetup(tn,Wt);Object.defineProperty(tn,an,{value:Object.create(cn.implementation.prototype),configurable:true});tn[an][nn.wrapperSymbol]=tn;if(cn.init){cn.init(tn[an])}return tn[an]};const on=new Set(["Window"]);Pt.install=(Wt,Pt)=>{if(!Pt.some((Wt=>on.has(Wt)))){return}const en=nn.initCtorRegistry(Wt);class XMLDocument extends Wt.Document{constructor(){throw new Wt.TypeError("Illegal constructor")}}Object.defineProperties(XMLDocument.prototype,{[Symbol.toStringTag]:{value:"XMLDocument",configurable:true}});en[sn]=XMLDocument;Object.defineProperty(Wt,sn,{configurable:true,writable:true,value:XMLDocument})};const cn=en(27494)},55137:(Wt,Pt,en)=>{const tn=en(37125);const nn=en(87094);const an=en(18946);const In=en(42960);const rn=en(48241);const sn=en(69117);const on=en(75482);const cn=nn.implSymbol;const dn=nn.ctorRegistrySymbol;const un=en(5480);const pn="XMLHttpRequest";Pt.is=Wt=>nn.isObject(Wt)&&nn.hasOwn(Wt,cn)&&Wt[cn]instanceof bn.implementation;Pt.isImpl=Wt=>nn.isObject(Wt)&&Wt instanceof bn.implementation;Pt.convert=(Wt,en,{context:tn="The provided value"}={})=>{if(Pt.is(en)){return nn.implForWrapper(en)}throw new Wt.TypeError(`${tn} is not of type 'XMLHttpRequest'.`)};function makeWrapper(Wt,Pt){let en;if(Pt!==undefined){en=Pt.prototype}if(!nn.isObject(en)){en=Wt[dn]["XMLHttpRequest"].prototype}return Object.create(en)}Pt.create=(Wt,en,tn)=>{const nn=makeWrapper(Wt);return Pt.setup(nn,Wt,en,tn)};Pt.createImpl=(Wt,en,tn)=>{const an=Pt.create(Wt,en,tn);return nn.implForWrapper(an)};Pt._internalSetup=(Wt,Pt)=>{un._internalSetup(Wt,Pt)};Pt.setup=(Wt,en,tn=[],an={})=>{an.wrapper=Wt;Pt._internalSetup(Wt,en);Object.defineProperty(Wt,cn,{value:new bn.implementation(en,tn,an),configurable:true});Wt[cn][nn.wrapperSymbol]=Wt;if(bn.init){bn.init(Wt[cn])}return Wt};Pt["new"]=(Wt,en)=>{const tn=makeWrapper(Wt,en);Pt._internalSetup(tn,Wt);Object.defineProperty(tn,cn,{value:Object.create(bn.implementation.prototype),configurable:true});tn[cn][nn.wrapperSymbol]=tn;if(bn.init){bn.init(tn[cn])}return tn[cn]};const mn=new Set(["Window","DedicatedWorker","SharedWorker"]);Pt.install=(Wt,en)=>{if(!en.some((Wt=>mn.has(Wt)))){return}const dn=nn.initCtorRegistry(Wt);class XMLHttpRequest extends Wt.XMLHttpRequestEventTarget{constructor(){return Pt.setup(Object.create(new.target.prototype),Wt,undefined)}open(en,nn){const an=this!==null&&this!==undefined?this:Wt;if(!Pt.is(an)){throw new Wt.TypeError("'open' called on an object that is not a valid instance of XMLHttpRequest.")}if(arguments.length<2){throw new Wt.TypeError(`Failed to execute 'open' on 'XMLHttpRequest': 2 arguments required, but only ${arguments.length} present.`)}const In=[];switch(arguments.length){case 2:{let Pt=arguments[0];Pt=tn["ByteString"](Pt,{context:"Failed to execute 'open' on 'XMLHttpRequest': parameter 1",globals:Wt});In.push(Pt)}{let Pt=arguments[1];Pt=tn["USVString"](Pt,{context:"Failed to execute 'open' on 'XMLHttpRequest': parameter 2",globals:Wt});In.push(Pt)}break;case 3:{let Pt=arguments[0];Pt=tn["ByteString"](Pt,{context:"Failed to execute 'open' on 'XMLHttpRequest': parameter 1",globals:Wt});In.push(Pt)}{let Pt=arguments[1];Pt=tn["USVString"](Pt,{context:"Failed to execute 'open' on 'XMLHttpRequest': parameter 2",globals:Wt});In.push(Pt)}{let Pt=arguments[2];Pt=tn["boolean"](Pt,{context:"Failed to execute 'open' on 'XMLHttpRequest': parameter 3",globals:Wt});In.push(Pt)}break;case 4:{let Pt=arguments[0];Pt=tn["ByteString"](Pt,{context:"Failed to execute 'open' on 'XMLHttpRequest': parameter 1",globals:Wt});In.push(Pt)}{let Pt=arguments[1];Pt=tn["USVString"](Pt,{context:"Failed to execute 'open' on 'XMLHttpRequest': parameter 2",globals:Wt});In.push(Pt)}{let Pt=arguments[2];Pt=tn["boolean"](Pt,{context:"Failed to execute 'open' on 'XMLHttpRequest': parameter 3",globals:Wt});In.push(Pt)}{let Pt=arguments[3];if(Pt!==undefined){if(Pt===null||Pt===undefined){Pt=null}else{Pt=tn["USVString"](Pt,{context:"Failed to execute 'open' on 'XMLHttpRequest': parameter 4",globals:Wt})}}else{Pt=null}In.push(Pt)}break;default:{let Pt=arguments[0];Pt=tn["ByteString"](Pt,{context:"Failed to execute 'open' on 'XMLHttpRequest': parameter 1",globals:Wt});In.push(Pt)}{let Pt=arguments[1];Pt=tn["USVString"](Pt,{context:"Failed to execute 'open' on 'XMLHttpRequest': parameter 2",globals:Wt});In.push(Pt)}{let Pt=arguments[2];Pt=tn["boolean"](Pt,{context:"Failed to execute 'open' on 'XMLHttpRequest': parameter 3",globals:Wt});In.push(Pt)}{let Pt=arguments[3];if(Pt!==undefined){if(Pt===null||Pt===undefined){Pt=null}else{Pt=tn["USVString"](Pt,{context:"Failed to execute 'open' on 'XMLHttpRequest': parameter 4",globals:Wt})}}else{Pt=null}In.push(Pt)}{let Pt=arguments[4];if(Pt!==undefined){if(Pt===null||Pt===undefined){Pt=null}else{Pt=tn["USVString"](Pt,{context:"Failed to execute 'open' on 'XMLHttpRequest': parameter 5",globals:Wt})}}else{Pt=null}In.push(Pt)}}return an[cn].open(...In)}setRequestHeader(en,nn){const an=this!==null&&this!==undefined?this:Wt;if(!Pt.is(an)){throw new Wt.TypeError("'setRequestHeader' called on an object that is not a valid instance of XMLHttpRequest.")}if(arguments.length<2){throw new Wt.TypeError(`Failed to execute 'setRequestHeader' on 'XMLHttpRequest': 2 arguments required, but only ${arguments.length} present.`)}const In=[];{let Pt=arguments[0];Pt=tn["ByteString"](Pt,{context:"Failed to execute 'setRequestHeader' on 'XMLHttpRequest': parameter 1",globals:Wt});In.push(Pt)}{let Pt=arguments[1];Pt=tn["ByteString"](Pt,{context:"Failed to execute 'setRequestHeader' on 'XMLHttpRequest': parameter 2",globals:Wt});In.push(Pt)}return an[cn].setRequestHeader(...In)}send(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'send' called on an object that is not a valid instance of XMLHttpRequest.")}const sn=[];{let Pt=arguments[0];if(Pt!==undefined){if(Pt===null||Pt===undefined){Pt=null}else{if(an.is(Pt)||In.is(Pt)||rn.is(Pt)){Pt=nn.implForWrapper(Pt)}else if(nn.isArrayBuffer(Pt)){}else if(ArrayBuffer.isView(Pt)){}else{Pt=tn["USVString"](Pt,{context:"Failed to execute 'send' on 'XMLHttpRequest': parameter 1",globals:Wt})}}}else{Pt=null}sn.push(Pt)}return en[cn].send(...sn)}abort(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'abort' called on an object that is not a valid instance of XMLHttpRequest.")}return en[cn].abort()}getResponseHeader(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'getResponseHeader' called on an object that is not a valid instance of XMLHttpRequest.")}if(arguments.length<1){throw new Wt.TypeError(`Failed to execute 'getResponseHeader' on 'XMLHttpRequest': 1 argument required, but only ${arguments.length} present.`)}const an=[];{let Pt=arguments[0];Pt=tn["ByteString"](Pt,{context:"Failed to execute 'getResponseHeader' on 'XMLHttpRequest': parameter 1",globals:Wt});an.push(Pt)}return nn[cn].getResponseHeader(...an)}getAllResponseHeaders(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'getAllResponseHeaders' called on an object that is not a valid instance of XMLHttpRequest.")}return en[cn].getAllResponseHeaders()}overrideMimeType(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'overrideMimeType' called on an object that is not a valid instance of XMLHttpRequest.")}if(arguments.length<1){throw new Wt.TypeError(`Failed to execute 'overrideMimeType' on 'XMLHttpRequest': 1 argument required, but only ${arguments.length} present.`)}const an=[];{let Pt=arguments[0];Pt=tn["DOMString"](Pt,{context:"Failed to execute 'overrideMimeType' on 'XMLHttpRequest': parameter 1",globals:Wt});an.push(Pt)}return nn[cn].overrideMimeType(...an)}get onreadystatechange(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get onreadystatechange' called on an object that is not a valid instance of XMLHttpRequest.")}return nn.tryWrapperForImpl(en[cn]["onreadystatechange"])}set onreadystatechange(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set onreadystatechange' called on an object that is not a valid instance of XMLHttpRequest.")}if(!nn.isObject(en)){en=null}else{en=sn.convert(Wt,en,{context:"Failed to set the 'onreadystatechange' property on 'XMLHttpRequest': The provided value"})}tn[cn]["onreadystatechange"]=en}get readyState(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get readyState' called on an object that is not a valid instance of XMLHttpRequest.")}return en[cn]["readyState"]}get timeout(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get timeout' called on an object that is not a valid instance of XMLHttpRequest.")}return en[cn]["timeout"]}set timeout(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set timeout' called on an object that is not a valid instance of XMLHttpRequest.")}en=tn["unsigned long"](en,{context:"Failed to set the 'timeout' property on 'XMLHttpRequest': The provided value",globals:Wt});nn[cn]["timeout"]=en}get withCredentials(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get withCredentials' called on an object that is not a valid instance of XMLHttpRequest.")}return en[cn]["withCredentials"]}set withCredentials(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set withCredentials' called on an object that is not a valid instance of XMLHttpRequest.")}en=tn["boolean"](en,{context:"Failed to set the 'withCredentials' property on 'XMLHttpRequest': The provided value",globals:Wt});nn[cn]["withCredentials"]=en}get upload(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get upload' called on an object that is not a valid instance of XMLHttpRequest.")}return nn.getSameObject(this,"upload",(()=>nn.tryWrapperForImpl(en[cn]["upload"])))}get responseURL(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get responseURL' called on an object that is not a valid instance of XMLHttpRequest.")}return en[cn]["responseURL"]}get status(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get status' called on an object that is not a valid instance of XMLHttpRequest.")}return en[cn]["status"]}get statusText(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get statusText' called on an object that is not a valid instance of XMLHttpRequest.")}return en[cn]["statusText"]}get responseType(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get responseType' called on an object that is not a valid instance of XMLHttpRequest.")}return nn.tryWrapperForImpl(en[cn]["responseType"])}set responseType(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set responseType' called on an object that is not a valid instance of XMLHttpRequest.")}en=`${en}`;if(!on.enumerationValues.has(en)){return}tn[cn]["responseType"]=en}get response(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get response' called on an object that is not a valid instance of XMLHttpRequest.")}return en[cn]["response"]}get responseText(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get responseText' called on an object that is not a valid instance of XMLHttpRequest.")}return en[cn]["responseText"]}get responseXML(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get responseXML' called on an object that is not a valid instance of XMLHttpRequest.")}return nn.tryWrapperForImpl(en[cn]["responseXML"])}}Object.defineProperties(XMLHttpRequest.prototype,{open:{enumerable:true},setRequestHeader:{enumerable:true},send:{enumerable:true},abort:{enumerable:true},getResponseHeader:{enumerable:true},getAllResponseHeaders:{enumerable:true},overrideMimeType:{enumerable:true},onreadystatechange:{enumerable:true},readyState:{enumerable:true},timeout:{enumerable:true},withCredentials:{enumerable:true},upload:{enumerable:true},responseURL:{enumerable:true},status:{enumerable:true},statusText:{enumerable:true},responseType:{enumerable:true},response:{enumerable:true},responseText:{enumerable:true},responseXML:{enumerable:true},[Symbol.toStringTag]:{value:"XMLHttpRequest",configurable:true},UNSENT:{value:0,enumerable:true},OPENED:{value:1,enumerable:true},HEADERS_RECEIVED:{value:2,enumerable:true},LOADING:{value:3,enumerable:true},DONE:{value:4,enumerable:true}});Object.defineProperties(XMLHttpRequest,{UNSENT:{value:0,enumerable:true},OPENED:{value:1,enumerable:true},HEADERS_RECEIVED:{value:2,enumerable:true},LOADING:{value:3,enumerable:true},DONE:{value:4,enumerable:true}});dn[pn]=XMLHttpRequest;Object.defineProperty(Wt,pn,{configurable:true,writable:true,value:XMLHttpRequest})};const bn=en(77291)},5480:(Wt,Pt,en)=>{const tn=en(37125);const nn=en(87094);const an=en(69117);const In=nn.implSymbol;const rn=nn.ctorRegistrySymbol;const sn=en(29122);const on="XMLHttpRequestEventTarget";Pt.is=Wt=>nn.isObject(Wt)&&nn.hasOwn(Wt,In)&&Wt[In]instanceof dn.implementation;Pt.isImpl=Wt=>nn.isObject(Wt)&&Wt instanceof dn.implementation;Pt.convert=(Wt,en,{context:tn="The provided value"}={})=>{if(Pt.is(en)){return nn.implForWrapper(en)}throw new Wt.TypeError(`${tn} is not of type 'XMLHttpRequestEventTarget'.`)};function makeWrapper(Wt,Pt){let en;if(Pt!==undefined){en=Pt.prototype}if(!nn.isObject(en)){en=Wt[rn]["XMLHttpRequestEventTarget"].prototype}return Object.create(en)}Pt.create=(Wt,en,tn)=>{const nn=makeWrapper(Wt);return Pt.setup(nn,Wt,en,tn)};Pt.createImpl=(Wt,en,tn)=>{const an=Pt.create(Wt,en,tn);return nn.implForWrapper(an)};Pt._internalSetup=(Wt,Pt)=>{sn._internalSetup(Wt,Pt)};Pt.setup=(Wt,en,tn=[],an={})=>{an.wrapper=Wt;Pt._internalSetup(Wt,en);Object.defineProperty(Wt,In,{value:new dn.implementation(en,tn,an),configurable:true});Wt[In][nn.wrapperSymbol]=Wt;if(dn.init){dn.init(Wt[In])}return Wt};Pt["new"]=(Wt,en)=>{const tn=makeWrapper(Wt,en);Pt._internalSetup(tn,Wt);Object.defineProperty(tn,In,{value:Object.create(dn.implementation.prototype),configurable:true});tn[In][nn.wrapperSymbol]=tn;if(dn.init){dn.init(tn[In])}return tn[In]};const cn=new Set(["Window","DedicatedWorker","SharedWorker"]);Pt.install=(Wt,en)=>{if(!en.some((Wt=>cn.has(Wt)))){return}const tn=nn.initCtorRegistry(Wt);class XMLHttpRequestEventTarget extends Wt.EventTarget{constructor(){throw new Wt.TypeError("Illegal constructor")}get onloadstart(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get onloadstart' called on an object that is not a valid instance of XMLHttpRequestEventTarget.")}return nn.tryWrapperForImpl(en[In]["onloadstart"])}set onloadstart(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set onloadstart' called on an object that is not a valid instance of XMLHttpRequestEventTarget.")}if(!nn.isObject(en)){en=null}else{en=an.convert(Wt,en,{context:"Failed to set the 'onloadstart' property on 'XMLHttpRequestEventTarget': The provided value"})}tn[In]["onloadstart"]=en}get onprogress(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get onprogress' called on an object that is not a valid instance of XMLHttpRequestEventTarget.")}return nn.tryWrapperForImpl(en[In]["onprogress"])}set onprogress(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set onprogress' called on an object that is not a valid instance of XMLHttpRequestEventTarget.")}if(!nn.isObject(en)){en=null}else{en=an.convert(Wt,en,{context:"Failed to set the 'onprogress' property on 'XMLHttpRequestEventTarget': The provided value"})}tn[In]["onprogress"]=en}get onabort(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get onabort' called on an object that is not a valid instance of XMLHttpRequestEventTarget.")}return nn.tryWrapperForImpl(en[In]["onabort"])}set onabort(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set onabort' called on an object that is not a valid instance of XMLHttpRequestEventTarget.")}if(!nn.isObject(en)){en=null}else{en=an.convert(Wt,en,{context:"Failed to set the 'onabort' property on 'XMLHttpRequestEventTarget': The provided value"})}tn[In]["onabort"]=en}get onerror(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get onerror' called on an object that is not a valid instance of XMLHttpRequestEventTarget.")}return nn.tryWrapperForImpl(en[In]["onerror"])}set onerror(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set onerror' called on an object that is not a valid instance of XMLHttpRequestEventTarget.")}if(!nn.isObject(en)){en=null}else{en=an.convert(Wt,en,{context:"Failed to set the 'onerror' property on 'XMLHttpRequestEventTarget': The provided value"})}tn[In]["onerror"]=en}get onload(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get onload' called on an object that is not a valid instance of XMLHttpRequestEventTarget.")}return nn.tryWrapperForImpl(en[In]["onload"])}set onload(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set onload' called on an object that is not a valid instance of XMLHttpRequestEventTarget.")}if(!nn.isObject(en)){en=null}else{en=an.convert(Wt,en,{context:"Failed to set the 'onload' property on 'XMLHttpRequestEventTarget': The provided value"})}tn[In]["onload"]=en}get ontimeout(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get ontimeout' called on an object that is not a valid instance of XMLHttpRequestEventTarget.")}return nn.tryWrapperForImpl(en[In]["ontimeout"])}set ontimeout(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set ontimeout' called on an object that is not a valid instance of XMLHttpRequestEventTarget.")}if(!nn.isObject(en)){en=null}else{en=an.convert(Wt,en,{context:"Failed to set the 'ontimeout' property on 'XMLHttpRequestEventTarget': The provided value"})}tn[In]["ontimeout"]=en}get onloadend(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get onloadend' called on an object that is not a valid instance of XMLHttpRequestEventTarget.")}return nn.tryWrapperForImpl(en[In]["onloadend"])}set onloadend(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'set onloadend' called on an object that is not a valid instance of XMLHttpRequestEventTarget.")}if(!nn.isObject(en)){en=null}else{en=an.convert(Wt,en,{context:"Failed to set the 'onloadend' property on 'XMLHttpRequestEventTarget': The provided value"})}tn[In]["onloadend"]=en}}Object.defineProperties(XMLHttpRequestEventTarget.prototype,{onloadstart:{enumerable:true},onprogress:{enumerable:true},onabort:{enumerable:true},onerror:{enumerable:true},onload:{enumerable:true},ontimeout:{enumerable:true},onloadend:{enumerable:true},[Symbol.toStringTag]:{value:"XMLHttpRequestEventTarget",configurable:true}});tn[on]=XMLHttpRequestEventTarget;Object.defineProperty(Wt,on,{configurable:true,writable:true,value:XMLHttpRequestEventTarget})};const dn=en(60178)},75482:(Wt,Pt)=>{const en=new Set(["","arraybuffer","blob","document","json","text"]);Pt.enumerationValues=en;Pt.convert=(Wt,Pt,{context:tn="The provided value"}={})=>{const nn=`${Pt}`;if(!en.has(nn)){throw new Wt.TypeError(`${tn} '${nn}' is not a valid enumeration value for XMLHttpRequestResponseType`)}return nn}},58096:(Wt,Pt,en)=>{const tn=en(37125);const nn=en(87094);const an=nn.implSymbol;const In=nn.ctorRegistrySymbol;const rn=en(5480);const sn="XMLHttpRequestUpload";Pt.is=Wt=>nn.isObject(Wt)&&nn.hasOwn(Wt,an)&&Wt[an]instanceof cn.implementation;Pt.isImpl=Wt=>nn.isObject(Wt)&&Wt instanceof cn.implementation;Pt.convert=(Wt,en,{context:tn="The provided value"}={})=>{if(Pt.is(en)){return nn.implForWrapper(en)}throw new Wt.TypeError(`${tn} is not of type 'XMLHttpRequestUpload'.`)};function makeWrapper(Wt,Pt){let en;if(Pt!==undefined){en=Pt.prototype}if(!nn.isObject(en)){en=Wt[In]["XMLHttpRequestUpload"].prototype}return Object.create(en)}Pt.create=(Wt,en,tn)=>{const nn=makeWrapper(Wt);return Pt.setup(nn,Wt,en,tn)};Pt.createImpl=(Wt,en,tn)=>{const an=Pt.create(Wt,en,tn);return nn.implForWrapper(an)};Pt._internalSetup=(Wt,Pt)=>{rn._internalSetup(Wt,Pt)};Pt.setup=(Wt,en,tn=[],In={})=>{In.wrapper=Wt;Pt._internalSetup(Wt,en);Object.defineProperty(Wt,an,{value:new cn.implementation(en,tn,In),configurable:true});Wt[an][nn.wrapperSymbol]=Wt;if(cn.init){cn.init(Wt[an])}return Wt};Pt["new"]=(Wt,en)=>{const tn=makeWrapper(Wt,en);Pt._internalSetup(tn,Wt);Object.defineProperty(tn,an,{value:Object.create(cn.implementation.prototype),configurable:true});tn[an][nn.wrapperSymbol]=tn;if(cn.init){cn.init(tn[an])}return tn[an]};const on=new Set(["Window","DedicatedWorker","SharedWorker"]);Pt.install=(Wt,Pt)=>{if(!Pt.some((Wt=>on.has(Wt)))){return}const en=nn.initCtorRegistry(Wt);class XMLHttpRequestUpload extends Wt.XMLHttpRequestEventTarget{constructor(){throw new Wt.TypeError("Illegal constructor")}}Object.defineProperties(XMLHttpRequestUpload.prototype,{[Symbol.toStringTag]:{value:"XMLHttpRequestUpload",configurable:true}});en[sn]=XMLHttpRequestUpload;Object.defineProperty(Wt,sn,{configurable:true,writable:true,value:XMLHttpRequestUpload})};const cn=en(45164)},68174:(Wt,Pt,en)=>{const tn=en(37125);const nn=en(87094);const an=en(24171);const In=nn.implSymbol;const rn=nn.ctorRegistrySymbol;const sn="XMLSerializer";Pt.is=Wt=>nn.isObject(Wt)&&nn.hasOwn(Wt,In)&&Wt[In]instanceof cn.implementation;Pt.isImpl=Wt=>nn.isObject(Wt)&&Wt instanceof cn.implementation;Pt.convert=(Wt,en,{context:tn="The provided value"}={})=>{if(Pt.is(en)){return nn.implForWrapper(en)}throw new Wt.TypeError(`${tn} is not of type 'XMLSerializer'.`)};function makeWrapper(Wt,Pt){let en;if(Pt!==undefined){en=Pt.prototype}if(!nn.isObject(en)){en=Wt[rn]["XMLSerializer"].prototype}return Object.create(en)}Pt.create=(Wt,en,tn)=>{const nn=makeWrapper(Wt);return Pt.setup(nn,Wt,en,tn)};Pt.createImpl=(Wt,en,tn)=>{const an=Pt.create(Wt,en,tn);return nn.implForWrapper(an)};Pt._internalSetup=(Wt,Pt)=>{};Pt.setup=(Wt,en,tn=[],an={})=>{an.wrapper=Wt;Pt._internalSetup(Wt,en);Object.defineProperty(Wt,In,{value:new cn.implementation(en,tn,an),configurable:true});Wt[In][nn.wrapperSymbol]=Wt;if(cn.init){cn.init(Wt[In])}return Wt};Pt["new"]=(Wt,en)=>{const tn=makeWrapper(Wt,en);Pt._internalSetup(tn,Wt);Object.defineProperty(tn,In,{value:Object.create(cn.implementation.prototype),configurable:true});tn[In][nn.wrapperSymbol]=tn;if(cn.init){cn.init(tn[In])}return tn[In]};const on=new Set(["Window"]);Pt.install=(Wt,en)=>{if(!en.some((Wt=>on.has(Wt)))){return}const tn=nn.initCtorRegistry(Wt);class XMLSerializer{constructor(){return Pt.setup(Object.create(new.target.prototype),Wt,undefined)}serializeToString(en){const tn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(tn)){throw new Wt.TypeError("'serializeToString' called on an object that is not a valid instance of XMLSerializer.")}if(arguments.length<1){throw new Wt.TypeError(`Failed to execute 'serializeToString' on 'XMLSerializer': 1 argument required, but only ${arguments.length} present.`)}const nn=[];{let Pt=arguments[0];Pt=an.convert(Wt,Pt,{context:"Failed to execute 'serializeToString' on 'XMLSerializer': parameter 1"});nn.push(Pt)}return tn[In].serializeToString(...nn)}}Object.defineProperties(XMLSerializer.prototype,{serializeToString:{enumerable:true},[Symbol.toStringTag]:{value:"XMLSerializer",configurable:true}});tn[sn]=XMLSerializer;Object.defineProperty(Wt,sn,{configurable:true,writable:true,value:XMLSerializer})};const cn=en(22534)},87094:(Wt,Pt)=>{function isObject(Wt){return typeof Wt==="object"&&Wt!==null||typeof Wt==="function"}const en=Function.prototype.call.bind(Object.prototype.hasOwnProperty);function define(Wt,Pt){for(const en of Reflect.ownKeys(Pt)){const tn=Reflect.getOwnPropertyDescriptor(Pt,en);if(tn&&!Reflect.defineProperty(Wt,en,tn)){throw new TypeError(`Cannot redefine property: ${String(en)}`)}}}function newObjectInRealm(Wt,Pt){const en=initCtorRegistry(Wt);return Object.defineProperties(Object.create(en["%Object.prototype%"]),Object.getOwnPropertyDescriptors(Pt))}const tn=Symbol("wrapper");const nn=Symbol("impl");const an=Symbol("SameObject caches");const In=Symbol.for("[webidl2js] constructor registry");const rn=Object.getPrototypeOf(Object.getPrototypeOf((async function*(){})).prototype);function initCtorRegistry(Wt){if(en(Wt,In)){return Wt[In]}const Pt=Object.create(null);Pt["%Object.prototype%"]=Wt.Object.prototype;Pt["%IteratorPrototype%"]=Object.getPrototypeOf(Object.getPrototypeOf((new Wt.Array)[Symbol.iterator]()));try{Pt["%AsyncIteratorPrototype%"]=Object.getPrototypeOf(Object.getPrototypeOf(Wt.eval("(async function* () {})").prototype))}catch{Pt["%AsyncIteratorPrototype%"]=rn}Wt[In]=Pt;return Pt}function getSameObject(Wt,Pt,en){if(!Wt[an]){Wt[an]=Object.create(null)}if(Pt in Wt[an]){return Wt[an][Pt]}Wt[an][Pt]=en();return Wt[an][Pt]}function wrapperForImpl(Wt){return Wt?Wt[tn]:null}function implForWrapper(Wt){return Wt?Wt[nn]:null}function tryWrapperForImpl(Wt){const Pt=wrapperForImpl(Wt);return Pt?Pt:Wt}function tryImplForWrapper(Wt){const Pt=implForWrapper(Wt);return Pt?Pt:Wt}const sn=Symbol("internal");function isArrayIndexPropName(Wt){if(typeof Wt!=="string"){return false}const Pt=Wt>>>0;if(Pt===2**32-1){return false}const en=`${Pt}`;if(Wt!==en){return false}return true}const on=Object.getOwnPropertyDescriptor(ArrayBuffer.prototype,"byteLength").get;function isArrayBuffer(Wt){try{on.call(Wt);return true}catch(Wt){return false}}function iteratorResult([Wt,Pt],en){let tn;switch(en){case"key":tn=Wt;break;case"value":tn=Pt;break;case"key+value":tn=[Wt,Pt];break}return{value:tn,done:false}}const cn=Symbol("supports property index");const dn=Symbol("supported property indices");const un=Symbol("supports property name");const pn=Symbol("supported property names");const mn=Symbol("indexed property get");const bn=Symbol("indexed property set new");const Gn=Symbol("indexed property set existing");const hn=Symbol("named property get");const Zn=Symbol("named property set new");const An=Symbol("named property set existing");const Wn=Symbol("named property delete");const Nn=Symbol("async iterator get the next iteration result");const gn=Symbol("async iterator return steps");const yn=Symbol("async iterator initialization steps");const vn=Symbol("async iterator end of iteration");Wt.exports=Pt={isObject:isObject,hasOwn:en,define:define,newObjectInRealm:newObjectInRealm,wrapperSymbol:tn,implSymbol:nn,getSameObject:getSameObject,ctorRegistrySymbol:In,initCtorRegistry:initCtorRegistry,wrapperForImpl:wrapperForImpl,implForWrapper:implForWrapper,tryWrapperForImpl:tryWrapperForImpl,tryImplForWrapper:tryImplForWrapper,iterInternalSymbol:sn,isArrayBuffer:isArrayBuffer,isArrayIndexPropName:isArrayIndexPropName,supportsPropertyIndex:cn,supportedPropertyIndices:dn,supportsPropertyName:un,supportedPropertyNames:pn,indexedGet:mn,indexedSetNew:bn,indexedSetExisting:Gn,namedGet:hn,namedSetNew:Zn,namedSetExisting:An,namedDelete:Wn,asyncIteratorNext:Nn,asyncIteratorReturn:gn,asyncIteratorInit:yn,asyncIteratorEOI:vn,iteratorResult:iteratorResult}},78467:(Wt,Pt,en)=>{const tn=en(82025).implementation;const nn=en(8469);class DOMRectImpl extends tn{static fromRect(Wt,Pt){return nn.createImpl(Wt,[Pt.x,Pt.y,Pt.width,Pt.height])}get x(){return super.x}set x(Wt){this._x=Wt}get y(){return super.y}set y(Wt){this._y=Wt}get width(){return super.width}set width(Wt){this._width=Wt}get height(){return super.height}set height(Wt){this._height=Wt}}Pt.implementation=DOMRectImpl},82025:(Wt,Pt,en)=>{const tn=en(59163);class DOMRectReadOnlyImpl{constructor(Wt,[Pt=0,en=0,tn=0,nn=0]){this._globalObject=Wt;this._x=Pt;this._y=en;this._width=tn;this._height=nn}static fromRect(Wt,Pt){return tn.createImpl(Wt,[Pt.x,Pt.y,Pt.width,Pt.height])}get x(){return this._x}get y(){return this._y}get width(){return this._width}get height(){return this._height}get top(){const{height:Wt,y:Pt}=this;return Math.min(Pt,Pt+Wt)}get right(){const{width:Wt,x:Pt}=this;return Math.max(Pt,Pt+Wt)}get bottom(){const{height:Wt,y:Pt}=this;return Math.max(Pt,Pt+Wt)}get left(){const{width:Wt,x:Pt}=this;return Math.min(Pt,Pt+Wt)}toJSON(){return{x:this.x,y:this.y,width:this.width,height:this.height,top:this.top,right:this.right,bottom:this.bottom,left:this.left}}}Pt.implementation=DOMRectReadOnlyImpl},96577:(Wt,Pt,en)=>{const tn=en(58611);const nn=en(65692);const{HttpProxyAgent:an}=en(81970);const{HttpsProxyAgent:In}=en(3669);Wt.exports=function agentFactory(Wt,Pt){const en={keepAlive:true,rejectUnauthorized:Pt};if(Wt){return{https:new In(Wt,en),http:new an(Wt,en)}}return{http:new tn.Agent(en),https:new nn.Agent(en)}}},71179:(Wt,Pt)=>{Pt.copyToArrayBufferInNewRealm=(Wt,Pt)=>{const en=new Pt.ArrayBuffer(Wt.byteLength);const tn=new Uint8Array(en);tn.set(Wt);return en}},28591:(Wt,Pt)=>{const en={__proto__:null,aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]};Pt.getSpecifiedColor=Wt=>{const Pt=Wt.toLowerCase();if(Object.hasOwn(en,Pt)||Pt==="transparent"){return Pt}return sharedSpecifiedAndComputedAndUsed(Wt)};Pt.getComputedOrUsedColor=Wt=>{const Pt=Wt.toLowerCase();const tn=en[Pt];if(tn!==undefined){return`rgb(${tn.join(", ")})`}if(Pt==="transparent"){return"rgba(0, 0, 0, 0)"}return sharedSpecifiedAndComputedAndUsed(Wt)};function sharedSpecifiedAndComputedAndUsed(Wt){if(/^#[0-9A-Fa-f]{6}$/.test(Wt)||/^#[0-9A-Fa-f]{3}$/.test(Wt)){return hexToRGB(Wt.slice(1))}if(/^#[0-9A-Fa-f]{8}$/.test(Wt)||/^#[0-9A-Fa-f]{4}$/.test(Wt)){return hexToRGBA(Wt.slice(1))}if(/^rgba?\(/.test(Wt)){return Wt.split(",").map((Wt=>Wt.trim())).join(", ")}return Wt}function hexToRGB(Wt){if(Wt.length===6){const[Pt,en,tn,nn,an,In]=Wt.split("");return`rgb(${hexesToDecimals([Pt,en],[tn,nn],[an,In]).join(", ")})`}if(Wt.length===3){const[Pt,en,tn]=Wt.split("");return`rgb(${hexesToDecimals([Pt,Pt],[en,en],[tn,tn]).join(", ")})`}return"rgb(0, 0, 0)"}function hexToRGBA(Wt){if(Wt.length===8){const[Pt,en,tn,nn,an,In,rn,sn]=Wt.split("");return`rgba(${hexesToDecimals([Pt,en],[tn,nn],[an,In]).join(", ")}, ${hexToPercent(rn,sn)})`}if(Wt.length===4){const[Pt,en,tn,nn]=Wt.split("");return`rgba(${hexesToDecimals([Pt,Pt],[en,en],[tn,tn]).join(", ")}, ${hexToPercent(nn,nn)})`}return"rgba(0, 0, 0, 1)"}function hexToDecimal(Wt,Pt){return parseInt(Wt,16)*16+parseInt(Pt,16)}function hexesToDecimals(...Wt){return Wt.map((Wt=>hexToDecimal(Wt[0],Wt[1])))}function hexToPercent(Wt,Pt){return Math.floor(1e3*hexToDecimal(Wt,Pt)/255)/1e3}},94202:(Wt,Pt,en)=>{const tn=en(16694);const nn=en(96533);const{implForWrapper:an}=en(87094);const{HTML_NS:In,SVG_NS:rn}=en(98071);const{domSymbolTree:sn}=en(38542);const{validateAndExtract:on}=en(82748);const cn=en(12323);const{isValidCustomElementName:dn,upgradeElement:un,lookupCEDefinition:pn,enqueueCEUpgradeReaction:mn}=en(8348);const bn={[In]:{HTMLElement:["abbr","address","article","aside","b","bdi","bdo","cite","code","dd","dfn","dt","em","figcaption","figure","footer","header","hgroup","i","kbd","main","mark","nav","noscript","rp","rt","ruby","s","samp","section","small","strong","sub","summary","sup","u","var","wbr"],HTMLAnchorElement:["a"],HTMLAreaElement:["area"],HTMLAudioElement:["audio"],HTMLBaseElement:["base"],HTMLBodyElement:["body"],HTMLBRElement:["br"],HTMLButtonElement:["button"],HTMLCanvasElement:["canvas"],HTMLDataElement:["data"],HTMLDataListElement:["datalist"],HTMLDetailsElement:["details"],HTMLDialogElement:["dialog"],HTMLDirectoryElement:["dir"],HTMLDivElement:["div"],HTMLDListElement:["dl"],HTMLEmbedElement:["embed"],HTMLFieldSetElement:["fieldset"],HTMLFontElement:["font"],HTMLFormElement:["form"],HTMLFrameElement:["frame"],HTMLFrameSetElement:["frameset"],HTMLHeadingElement:["h1","h2","h3","h4","h5","h6"],HTMLHeadElement:["head"],HTMLHRElement:["hr"],HTMLHtmlElement:["html"],HTMLIFrameElement:["iframe"],HTMLImageElement:["img"],HTMLInputElement:["input"],HTMLLabelElement:["label"],HTMLLegendElement:["legend"],HTMLLIElement:["li"],HTMLLinkElement:["link"],HTMLMapElement:["map"],HTMLMarqueeElement:["marquee"],HTMLMediaElement:[],HTMLMenuElement:["menu"],HTMLMetaElement:["meta"],HTMLMeterElement:["meter"],HTMLModElement:["del","ins"],HTMLObjectElement:["object"],HTMLOListElement:["ol"],HTMLOptGroupElement:["optgroup"],HTMLOptionElement:["option"],HTMLOutputElement:["output"],HTMLParagraphElement:["p"],HTMLParamElement:["param"],HTMLPictureElement:["picture"],HTMLPreElement:["listing","pre","xmp"],HTMLProgressElement:["progress"],HTMLQuoteElement:["blockquote","q"],HTMLScriptElement:["script"],HTMLSelectElement:["select"],HTMLSlotElement:["slot"],HTMLSourceElement:["source"],HTMLSpanElement:["span"],HTMLStyleElement:["style"],HTMLTableCaptionElement:["caption"],HTMLTableCellElement:["th","td"],HTMLTableColElement:["col","colgroup"],HTMLTableElement:["table"],HTMLTimeElement:["time"],HTMLTitleElement:["title"],HTMLTableRowElement:["tr"],HTMLTableSectionElement:["thead","tbody","tfoot"],HTMLTemplateElement:["template"],HTMLTextAreaElement:["textarea"],HTMLTrackElement:["track"],HTMLUListElement:["ul"],HTMLUnknownElement:[],HTMLVideoElement:["video"]},[rn]:{SVGElement:[],SVGGraphicsElement:[],SVGSVGElement:["svg"],SVGTitleElement:["title"]}};const Gn={};for(const Wt of[In,rn]){Gn[Wt]={};const Pt=Object.keys(bn[Wt]);for(const en of Pt){const Pt=bn[Wt][en];for(const tn of Pt){Gn[Wt][tn]=en}}}const hn=["applet","bgsound","blink","isindex","keygen","multicol","nextid","spacer"];const Zn=["acronym","basefont","big","center","nobr","noembed","noframes","plaintext","rb","rtc","strike","tt"];function getHTMLElementInterface(Wt){if(hn.includes(Wt)){return nn.getInterfaceWrapper("HTMLUnknownElement")}if(Zn.includes(Wt)){return nn.getInterfaceWrapper("HTMLElement")}const Pt=Gn[In][Wt];if(Pt!==undefined){return nn.getInterfaceWrapper(Pt)}if(dn(Wt)){return nn.getInterfaceWrapper("HTMLElement")}return nn.getInterfaceWrapper("HTMLUnknownElement")}function getSVGInterface(Wt){const Pt=Gn[rn][Wt];if(Pt!==undefined){return nn.getInterfaceWrapper(Pt)}return nn.getInterfaceWrapper("SVGElement")}function getValidTagNames(Wt,Pt){if(bn[Wt]&&bn[Wt][Pt]){return bn[Wt][Pt]}return[]}function createElement(Wt,Pt,en,on=null,bn=null,Gn=false){let hn=null;const{_globalObject:Zn}=Wt;const An=pn(Wt,en,Pt,bn);if(An!==null&&An.name!==Pt){const en=getHTMLElementInterface(Pt);hn=en.createImpl(Zn,[],{ownerDocument:Wt,localName:Pt,namespace:In,prefix:on,ceState:"undefined",ceDefinition:null,isValue:bn});if(Gn){un(An,hn)}else{mn(hn,An)}}else if(An!==null){if(Gn){try{const nn=An.constructor;const rn=nn.construct();hn=an(rn);if(!hn._ceState||!hn._ceDefinition||hn._namespaceURI!==In){throw new TypeError("Internal error: Invalid custom element.")}if(hn._attributeList.length!==0){throw tn.create(Zn,["Unexpected attributes.","NotSupportedError"])}if(sn.hasChildren(hn)){throw tn.create(Zn,["Unexpected child nodes.","NotSupportedError"])}if(sn.parent(hn)){throw tn.create(Zn,["Unexpected element parent.","NotSupportedError"])}if(hn._ownerDocument!==Wt){throw tn.create(Zn,["Unexpected element owner document.","NotSupportedError"])}if(hn._namespaceURI!==en){throw tn.create(Zn,["Unexpected element namespace URI.","NotSupportedError"])}if(hn._localName!==Pt){throw tn.create(Zn,["Unexpected element local name.","NotSupportedError"])}hn._prefix=on;hn._isValue=bn}catch(en){cn(Wt._defaultView,en);const tn=nn.getInterfaceWrapper("HTMLUnknownElement");hn=tn.createImpl(Zn,[],{ownerDocument:Wt,localName:Pt,namespace:In,prefix:on,ceState:"failed",ceDefinition:null,isValue:null})}}else{const en=nn.getInterfaceWrapper("HTMLElement");hn=en.createImpl(Zn,[],{ownerDocument:Wt,localName:Pt,namespace:In,prefix:on,ceState:"undefined",ceDefinition:null,isValue:null});mn(hn,An)}}else{let tn;switch(en){case In:tn=getHTMLElementInterface(Pt);break;case rn:tn=getSVGInterface(Pt);break;default:tn=nn.getInterfaceWrapper("Element");break}hn=tn.createImpl(Zn,[],{ownerDocument:Wt,localName:Pt,namespace:en,prefix:on,ceState:"uncustomized",ceDefinition:null,isValue:bn});if(en===In&&(dn(Pt)||bn!==null)){hn._ceState="undefined"}}return hn}function internalCreateElementNSSteps(Wt,Pt,en,tn){const nn=on(Wt._globalObject,Pt,en);let an=null;if(tn&&tn.is!==undefined){an=tn.is}return createElement(Wt,nn.localName,nn.namespace,nn.prefix,an,true)}Wt.exports={createElement:createElement,internalCreateElementNSSteps:internalCreateElementNSSteps,getValidTagNames:getValidTagNames,getHTMLElementInterface:getHTMLElementInterface}},15676:(Wt,Pt,en)=>{const tn=en(87094);const nn=en(89045);const an=en(69117);const In=en(98574);const rn=en(54414);const sn=en(12323);Pt.appendHandler=(Wt,en)=>{tn.tryImplForWrapper(Wt).addEventListener(en,(tn=>{const an=Pt.getCurrentEventHandlerValue(Wt,en);if(an===null){return}const In=nn.isImpl(tn)&&tn.type==="error"&&tn.currentTarget.constructor.name==="Window";let rn=null;if(typeof an==="function"){if(In){rn=an.call(tn.currentTarget,tn.message,tn.filename,tn.lineno,tn.colno,tn.error)}else{rn=an.call(tn.currentTarget,tn)}}if(tn.type==="beforeunload"){if(rn!==null){tn._canceledFlag=true;if(tn.returnValue===""){tn.returnValue=rn}}}else if(In){if(rn===true){tn._canceledFlag=true}}else if(rn===false){tn._canceledFlag=true}}))};Pt.setupForSimpleEventAccessors=(Wt,en)=>{Wt._getEventHandlerFor=function(Wt){return this._eventHandlers?this._eventHandlers[Wt]:undefined};Wt._setEventHandlerFor=function(Wt,en){if(!this._registeredHandlers){this._registeredHandlers=new Set;this._eventHandlers=Object.create(null)}if(!this._registeredHandlers.has(Wt)&&en!==null){this._registeredHandlers.add(Wt);Pt.appendHandler(this,Wt)}this._eventHandlers[Wt]=en};for(const tn of en){Pt.createEventAccessor(Wt,tn)}};Pt.getCurrentEventHandlerValue=(Wt,Pt)=>{const en=Wt._getEventHandlerFor(Pt);if(!en){return null}if(en.body!==undefined){let nn,on,cn;if(Wt.constructor.name==="Window"){nn=null;on=tn.implForWrapper(Wt.document)}else{nn=Wt;on=nn.ownerDocument}const{body:dn}=en;const un=nn!==null&&nn.form?nn.form:null;const pn=Wt.constructor.name==="Window"&&Wt._document?Wt:on.defaultView;try{Function(dn)}catch(en){if(pn){sn(pn,en)}Wt._setEventHandlerFor(Pt,null);return null}const mn=on.defaultView.Function;if(Pt==="error"&&nn===null){const Wt=on?`\n//# sourceURL=${on.URL}`:"";cn=mn(`with (arguments[0]) { return function onerror(event, source, lineno, colno, error) {\n${dn}\n}; }${Wt}`)(pn);cn=rn.convert(pn,cn)}else{const Wt=[];if(nn!==null){Wt.push(tn.wrapperForImpl(on))}if(un!==null){Wt.push(tn.wrapperForImpl(un))}if(nn!==null){Wt.push(tn.wrapperForImpl(nn))}let en=`with (arguments[0]) { return function on${Pt}(event) {\n${dn}\n}; }`;for(const Pt of Wt){en=`with (arguments[0]) { return function () {\n${en}\n}; }`}if(on){en+=`\n//# sourceURL=${on.URL}`}cn=mn(en)(pn);for(const Pt of Wt){cn=cn(Pt)}if(Pt==="beforeunload"){cn=In.convert(pn,cn)}else{cn=an.convert(pn,cn)}}Wt._setEventHandlerFor(Pt,cn)}return Wt._getEventHandlerFor(Pt)};Pt.createEventAccessor=(Wt,en)=>{Object.defineProperty(Wt,"on"+en,{configurable:true,enumerable:true,get(){return Pt.getCurrentEventHandlerValue(this,en)},set(Wt){this._setEventHandlerFor(en,Wt)}})}},8348:(Wt,Pt,en)=>{const tn=en(16694);const nn=en(93132);const an=en(7206);const{HTML_NS:In}=en(98071);const{shadowIncludingRoot:rn}=en(60470);const sn=en(12323);const{implForWrapper:on,wrapperForImpl:cn}=en(87094);class CEReactionsStack{constructor(){this._stack=[];this.backupElementQueue=[];this.processingBackupElementQueue=false}push(Wt){this._stack.push(Wt)}pop(){return this._stack.pop()}get currentElementQueue(){const{_stack:Wt}=this;return Wt[Wt.length-1]}isEmpty(){return this._stack.length===0}}const dn=new CEReactionsStack;function ceReactionsPreSteps(){dn.push([])}function ceReactionsPostSteps(){const Wt=dn.pop();invokeCEReactions(Wt)}const un=new Set(["annotation-xml","color-profile","font-face","font-face-src","font-face-uri","font-face-format","font-face-name","missing-glyph"]);function isValidCustomElementName(Wt){if(un.has(Wt)){return false}return nn(Wt)}function upgradeElement(Wt,Pt){if(Pt._ceState!=="undefined"||Pt._ceState==="uncustomized"){return}Pt._ceDefinition=Wt;Pt._ceState="failed";for(const Wt of Pt._attributeList){const{_localName:en,_namespace:tn,_value:nn}=Wt;enqueueCECallbackReaction(Pt,"attributeChangedCallback",[en,null,nn,tn])}if(rn(Pt).nodeType===an.DOCUMENT_NODE){enqueueCECallbackReaction(Pt,"connectedCallback",[])}Wt.constructionStack.push(Pt);const{constructionStack:en,constructor:nn}=Wt;let In;try{if(Wt.disableShadow===true&&Pt._shadowRoot!==null){throw tn.create(Pt._globalObject,["Can't upgrade a custom element with a shadow root if shadow is disabled","NotSupportedError"])}Pt._ceState="precustomized";const en=nn.construct();const an=on(en);if(an!==Pt){throw new TypeError("Invalid custom element constructor return value")}}catch(Wt){In=Wt}en.pop();if(In!==undefined){Pt._ceDefinition=null;Pt._ceReactionQueue=[];throw In}Pt._ceState="custom"}function tryUpgradeElement(Wt){const{_ownerDocument:Pt,_namespaceURI:en,_localName:tn,_isValue:nn}=Wt;const an=lookupCEDefinition(Pt,en,tn,nn);if(an!==null){enqueueCEUpgradeReaction(Wt,an)}}function lookupCEDefinition(Wt,Pt,en,tn){const nn=null;if(Pt!==In){return nn}if(!Wt._defaultView){return nn}const an=on(Wt._globalObject._customElementRegistry);const rn=an._customElementDefinitions.find((Wt=>Wt.name===Wt.localName&&Wt.localName===en));if(rn!==undefined){return rn}const sn=an._customElementDefinitions.find((Wt=>Wt.name===tn&&Wt.localName===en));if(sn!==undefined){return sn}return nn}function invokeCEReactions(Wt){while(Wt.length>0){const Pt=Wt.shift();const en=Pt._ceReactionQueue;try{while(en.length>0){const Wt=en.shift();switch(Wt.type){case"upgrade":upgradeElement(Wt.definition,Pt);break;case"callback":Wt.callback.apply(cn(Pt),Wt.args);break}}}catch(Wt){sn(Pt._globalObject,Wt)}}}function enqueueElementOnAppropriateElementQueue(Wt){if(dn.isEmpty()){dn.backupElementQueue.push(Wt);if(dn.processingBackupElementQueue){return}dn.processingBackupElementQueue=true;Promise.resolve().then((()=>{const Wt=dn.backupElementQueue;invokeCEReactions(Wt);dn.processingBackupElementQueue=false}))}else{dn.currentElementQueue.push(Wt)}}function enqueueCECallbackReaction(Wt,Pt,en){const{_ceDefinition:{lifecycleCallbacks:tn,observedAttributes:nn}}=Wt;const an=tn[Pt];if(an===null){return}if(Pt==="attributeChangedCallback"){const Wt=en[0];if(!nn.includes(Wt)){return}}Wt._ceReactionQueue.push({type:"callback",callback:an,args:en});enqueueElementOnAppropriateElementQueue(Wt)}function enqueueCEUpgradeReaction(Wt,Pt){Wt._ceReactionQueue.push({type:"upgrade",definition:Pt});enqueueElementOnAppropriateElementQueue(Wt)}Wt.exports={customElementReactionsStack:dn,ceReactionsPreSteps:ceReactionsPreSteps,ceReactionsPostSteps:ceReactionsPostSteps,isValidCustomElementName:isValidCustomElementName,upgradeElement:upgradeElement,tryUpgradeElement:tryUpgradeElement,lookupCEDefinition:lookupCEDefinition,enqueueCEUpgradeReaction:enqueueCEUpgradeReaction,enqueueCECallbackReaction:enqueueCECallbackReaction,invokeCEReactions:invokeCEReactions}},29553:Wt=>{function isLeapYear(Wt){return Wt%400===0||Wt%4===0&&Wt%100!==0}const Pt=[31,28,31,30,31,30,31,31,30,31,30,31];function numberOfDaysInMonthOfYear(Wt,en){if(Wt===2&&isLeapYear(en)){return 29}return Pt[Wt-1]}const en=/^([0-9]{4,})-([0-9]{2})$/;function parseMonthString(Wt){const Pt=en.exec(Wt);if(!Pt){return null}const tn=Number(Pt[1]);if(tn<=0){return null}const nn=Number(Pt[2]);if(nn<1||nn>12){return null}return{year:tn,month:nn}}function isValidMonthString(Wt){return parseMonthString(Wt)!==null}function serializeMonth({year:Wt,month:Pt}){const en=`${Wt}`.padStart(4,"0");const tn=`${Pt}`.padStart(2,"0");return`${en}-${tn}`}const tn=/^([0-9]{4,})-([0-9]{2})-([0-9]{2})$/;function parseDateString(Wt){const Pt=tn.exec(Wt);if(!Pt){return null}const en=Number(Pt[1]);if(en<=0){return null}const nn=Number(Pt[2]);if(nn<1||nn>12){return null}const an=Number(Pt[3]);if(an<1||an>numberOfDaysInMonthOfYear(nn,en)){return null}return{year:en,month:nn,day:an}}function isValidDateString(Wt){return parseDateString(Wt)!==null}function serializeDate(Wt){const Pt=`${Wt.day}`.padStart(2,"0");return`${serializeMonth(Wt)}-${Pt}`}const nn=/^(?:--)?([0-9]{2})-([0-9]{2})$/;function parseYearlessDateString(Wt){const Pt=nn.exec(Wt);if(!Pt){return null}const en=Number(Pt[1]);if(en<1||en>12){return null}const tn=Number(Pt[2]);if(tn<1||tn>numberOfDaysInMonthOfYear(en,4)){return null}return{month:en,day:tn}}function isValidYearlessDateString(Wt){return parseYearlessDateString(Wt)!==null}function serializeYearlessDate({month:Wt,day:Pt}){const en=`${Wt}`.padStart(2,"0");const tn=`${Pt}`.padStart(2,"0");return`${en}-${tn}`}const an=/^([0-9]{2}):([0-9]{2})(?::([0-9]{2}(?:\.([0-9]{1,3}))?))?$/;function parseTimeString(Wt){const Pt=an.exec(Wt);if(!Pt){return null}const en=Number(Pt[1]);if(en<0||en>23){return null}const tn=Number(Pt[2]);if(tn<0||tn>59){return null}const nn=Pt[3]!==undefined?Math.trunc(Number(Pt[3])):0;if(nn<0||nn>=60){return null}const In=Pt[4]!==undefined?Number(Pt[4]):0;return{hour:en,minute:tn,second:nn,millisecond:In}}function isValidTimeString(Wt){return parseTimeString(Wt)!==null}function serializeTime({hour:Wt,minute:Pt,second:en,millisecond:tn}){const nn=`${Wt}`.padStart(2,"0");const an=`${Pt}`.padStart(2,"0");if(en===0&&tn===0){return`${nn}:${an}`}const In=`${en}`.padStart(2,"0");const rn=`${tn}`.padStart(3,"0");return`${nn}:${an}:${In}.${rn}`}function parseLocalDateAndTimeString(Wt,Pt=false){let en=Wt.indexOf("T");if(en<0&&!Pt){en=Wt.indexOf(" ")}if(en<0){return null}const tn=parseDateString(Wt.slice(0,en));if(tn===null){return null}const nn=parseTimeString(Wt.slice(en+1));if(nn===null){return null}return{date:tn,time:nn}}function isValidLocalDateAndTimeString(Wt){return parseLocalDateAndTimeString(Wt)!==null}function isValidNormalizedLocalDateAndTimeString(Wt){return parseLocalDateAndTimeString(Wt,true)!==null}function serializeNormalizedDateAndTime({date:Wt,time:Pt}){return`${serializeDate(Wt)}T${serializeTime(Pt)}`}function weekNumberOfLastDay(Wt){const Pt=new Date(Wt,0);return Pt.getDay()===4||isLeapYear(Wt)&&Pt.getDay()===3?53:52}const In=/^([0-9]{4,5})-W([0-9]{2})$/;function parseWeekString(Wt){const Pt=In.exec(Wt);if(!Pt){return null}const en=Number(Pt[1]);if(en<=0){return null}const tn=Number(Pt[2]);if(tn<1||tn>weekNumberOfLastDay(en)){return null}return{year:en,week:tn}}function isValidWeekString(Wt){return parseWeekString(Wt)!==null}function serializeWeek({year:Wt,week:Pt}){const en=`${Wt}`.padStart(4,"0");const tn=`${Pt}`.padStart(2,"0");return`${en}-W${tn}`}function parseDateAsWeek(Wt){const Pt=864e5;const en=new Date(Date.UTC(Wt.getUTCFullYear(),Wt.getUTCMonth(),Wt.getUTCDate()));en.setUTCDate(en.getUTCDate()+4-(en.getUTCDay()||7));const tn=new Date(Date.UTC(en.getUTCFullYear(),0,1));const nn=Math.ceil(((en-tn)/Pt+1)/7);return{year:en.getUTCFullYear(),week:nn}}function isDate(Wt){try{Date.prototype.valueOf.call(Wt);return true}catch{return false}}Wt.exports={isDate:isDate,numberOfDaysInMonthOfYear:numberOfDaysInMonthOfYear,parseMonthString:parseMonthString,isValidMonthString:isValidMonthString,serializeMonth:serializeMonth,parseDateString:parseDateString,isValidDateString:isValidDateString,serializeDate:serializeDate,parseYearlessDateString:parseYearlessDateString,isValidYearlessDateString:isValidYearlessDateString,serializeYearlessDate:serializeYearlessDate,parseTimeString:parseTimeString,isValidTimeString:isValidTimeString,serializeTime:serializeTime,parseLocalDateAndTimeString:parseLocalDateAndTimeString,isValidLocalDateAndTimeString:isValidLocalDateAndTimeString,isValidNormalizedLocalDateAndTimeString:isValidNormalizedLocalDateAndTimeString,serializeNormalizedDateAndTime:serializeNormalizedDateAndTime,parseDateAsWeek:parseDateAsWeek,weekNumberOfLastDay:weekNumberOfLastDay,parseWeekString:parseWeekString,isValidWeekString:isValidWeekString,serializeWeek:serializeWeek}},27677:(Wt,Pt,en)=>{const{firstChildWithLocalName:tn}=en(83521);const{HTML_NS:nn}=en(98071);Pt.isSummaryForParentDetails=Wt=>{const Pt=Wt.parentNode;if(Pt===null){return false}if(Pt._localName!=="details"||Pt._namespaceURI!==nn){return false}return tn(Pt,"summary")===Wt}},30962:(Wt,Pt,en)=>{const tn=en(78012);const{implForWrapper:nn}=en(87094);Pt.documentBaseURL=Wt=>{const en=Wt.querySelector("base[href]");const tn=Pt.fallbackBaseURL(Wt);if(en===null){return tn}return frozenBaseURL(en,tn)};Pt.documentBaseURLSerialized=Wt=>tn.serializeURL(Pt.documentBaseURL(Wt));Pt.fallbackBaseURL=Wt=>{if(Wt.URL==="about:blank"&&Wt._defaultView&&Wt._defaultView._parent!==Wt._defaultView){const en=nn(Wt._defaultView._parent._document);return Pt.documentBaseURL(en)}return Wt._URL};Pt.parseURLToResultingURLRecord=(Wt,en)=>{const nn=Pt.documentBaseURL(en);return tn.parseURL(Wt,{baseURL:nn})};function frozenBaseURL(Wt,Pt){const en=Wt.getAttributeNS(null,"href");const nn=tn.parseURL(en,{baseURL:Pt});return nn===null?Pt:nn}},83350:(Wt,Pt,en)=>{const tn=en(94431);const{tryImplForWrapper:nn}=en(87094);function createAnEvent(Wt,Pt,en=tn,nn={}){return en.createImpl(Pt,[Wt,nn],{isTrusted:nn.isTrusted!==false})}function fireAnEvent(Wt,Pt,en,tn,an){const In=createAnEvent(Wt,Pt._globalObject,en,tn);return nn(Pt)._dispatch(In,an)}Wt.exports={createAnEvent:createAnEvent,fireAnEvent:fireAnEvent}},11483:(Wt,Pt,en)=>{const tn=en(32103);const nn=en(87094);const{isDisabled:an}=en(10588);const{firstChildWithLocalName:In}=en(83521);const{createAnEvent:rn}=en(83350);const{HTML_NS:sn,SVG_NS:on}=en(98071);const{isRenderedElement:cn}=en(31296);const dn=new Set(["input","select","textarea","button"]);Pt.isFocusableAreaElement=Wt=>{if(Wt._namespaceURI===sn){if(!Wt._ownerDocument._defaultView){return false}if(!Wt.isConnected){return false}if(!Number.isNaN(parseInt(Wt.getAttributeNS(null,"tabindex")))){return true}if(Wt._localName==="iframe"){return true}if(Wt._localName==="a"&&Wt.hasAttributeNS(null,"href")){return true}if(Wt._localName==="summary"&&Wt.parentNode&&Wt.parentNode._localName==="details"&&Wt===In(Wt.parentNode,"summary")){return true}if(dn.has(Wt._localName)&&!an(Wt)){if(Wt._localName==="input"&&Wt.type==="hidden"){return false}return true}if(Wt.hasAttributeNS(null,"contenteditable")){return true}return false}if(Wt._namespaceURI===on){if(!Number.isNaN(parseInt(Wt.getAttributeNS(null,"tabindex")))&&cn(Wt)){return true}if(Wt._localName==="a"&&Wt.hasAttributeNS(null,"href")){return true}return false}return false};Pt.fireFocusEventWithTargetAdjustment=(Wt,Pt,en,{bubbles:an=false}={})=>{if(Pt===null){return}const In=rn(Wt,Pt._globalObject,tn,{bubbles:an,composed:true,relatedTarget:en,view:Pt._ownerDocument._defaultView,detail:0});if(Pt._defaultView){Pt=nn.implForWrapper(Pt._defaultView)}Pt._dispatch(In)}},10588:(Wt,Pt,en)=>{const{isValidFloatingPointNumber:tn,isValidSimpleColor:nn,parseFloatingPointNumber:an,stripLeadingAndTrailingASCIIWhitespace:In,stripNewlines:rn,splitOnCommas:sn}=en(97205);const{isValidDateString:on,isValidMonthString:cn,isValidTimeString:dn,isValidWeekString:un,parseLocalDateAndTimeString:pn,serializeNormalizedDateAndTime:mn}=en(29553);const bn=en(78012);const Gn=en(49747);const{domSymbolTree:hn}=en(38542);const{closest:Zn,firstChildWithLocalName:An}=en(83521);const Wn=en(7206);const{HTML_NS:Nn}=en(98071);Pt.isDisabled=Wt=>{if(Wt.localName==="button"||Wt.localName==="input"||Wt.localName==="select"||Wt.localName==="textarea"){if(Wt.hasAttributeNS(null,"disabled")){return true}}let Pt=Wt.parentNode;while(Pt){if(Pt.localName==="fieldset"&&Pt.hasAttributeNS(null,"disabled")){const en=An(Pt,"legend");if(!en||!en.contains(Wt)){return true}}Pt=Pt.parentNode}return false};const gn=new Set(["button","fieldset","input","object","output","select","textarea"]);Pt.isListed=Wt=>gn.has(Wt._localName)&&Wt.namespaceURI===Nn;const yn=new Set(["button","input","object","select","textarea"]);Pt.isSubmittable=Wt=>yn.has(Wt._localName)&&Wt.namespaceURI===Nn;const vn=new Set(["submit","image"]);Pt.isSubmitButton=Wt=>(Wt._localName==="input"&&vn.has(Wt.type)||Wt._localName==="button"&&Wt.type==="submit")&&Wt.namespaceURI===Nn;const Yn=new Set([...vn,"reset","button"]);Pt.isButton=Wt=>(Wt._localName==="input"&&Yn.has(Wt.type)||Wt._localName==="button")&&Wt.namespaceURI===Nn;Pt.isInteractiveContent=Wt=>{if(Wt.nodeType!==Wn.ELEMENT_NODE){return false}if(Wt.namespaceURI!==Nn){return false}if(Wt.hasAttributeNS(null,"tabindex")){return true}switch(Wt.localName){case"a":return Wt.hasAttributeNS(null,"href");case"audio":case"video":return Wt.hasAttributeNS(null,"controls");case"img":case"object":return Wt.hasAttributeNS(null,"usemap");case"input":return Wt.type!=="hidden";case"button":case"details":case"embed":case"iframe":case"label":case"select":case"textarea":return true}return false};Pt.isLabelable=Wt=>{if(Wt.nodeType!==Wn.ELEMENT_NODE){return false}if(Wt.namespaceURI!==Nn){return false}switch(Wt.localName){case"button":case"meter":case"output":case"progress":case"select":case"textarea":return true;case"input":return Wt.type!=="hidden"}return false};Pt.getLabelsForLabelable=Wt=>{if(!Pt.isLabelable(Wt)){return null}if(!Wt._labels){const Pt=Wt.getRootNode({});Wt._labels=Gn.create(Pt._globalObject,[],{element:Pt,query:()=>{const en=[];for(const tn of hn.treeIterator(Pt)){if(tn.control===Wt){en.push(tn)}}return en}})}return Wt._labels};Pt.isValidEmailAddress=(Wt,Pt=false)=>{const en=new RegExp("^[a-zA-Z0-9.!#$%&'*+\\/=?^_`{|}~-]+@[a-zA-Z0-9]"+"(?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}"+"[a-zA-Z0-9])?)*$");if(Pt){return sn(Wt).every((Wt=>en.test(Wt)))}return en.test(Wt)};Pt.isValidAbsoluteURL=Wt=>bn.parseURL(Wt)!==null;Pt.sanitizeValueByType=(Wt,Pt)=>{switch(Wt.type.toLowerCase()){case"password":case"search":case"tel":case"text":Pt=rn(Pt);break;case"color":Pt=nn(Pt)?Pt.toLowerCase():"#000000";break;case"date":if(!on(Pt)){Pt=""}break;case"datetime-local":{const Wt=pn(Pt);Pt=Wt!==null?mn(Wt):"";break}case"email":if(Wt.hasAttributeNS(null,"multiple")){Pt=Pt.split(",").map((Wt=>In(Wt))).join(",")}else{Pt=rn(Pt);Pt=In(Pt)}break;case"month":if(!cn(Pt)){Pt=""}break;case"number":if(!tn(Pt)||an(Pt)===null){Pt=""}break;case"range":if(!tn(Pt)||an(Pt)===null){const en=Wt._minimum;const tn=Wt._maximum;const nn=tnWt._maximum){Pt=`${Wt._maximum}`}break;case"time":if(!dn(Pt)){Pt=""}break;case"url":Pt=rn(Pt);Pt=In(Pt);break;case"week":if(!un(Pt)){Pt=""}}return Pt};Pt.formOwner=Wt=>{const Pt=Wt.getAttributeNS(null,"form");if(Pt===""){return null}if(Pt===null){return Zn(Wt,"form")}const en=Wt.getRootNode({});let tn;for(const Wt of hn.treeIterator(en)){if(Wt.nodeType===Wn.ELEMENT_NODE&&Wt.getAttributeNS(null,"id")===Pt){tn=Wt;break}}if(tn&&tn.namespaceURI===Nn&&tn.localName==="form"){return tn}return null}},84175:(Wt,Pt,en)=>{const{HTML_NS:tn}=en(98071);const{createElement:nn,getValidTagNames:an}=en(94202);const{implForWrapper:In,wrapperForImpl:rn}=en(87094);const sn=Symbol("already-constructed-marker");function HTMLConstructor(Wt,Pt,en){const on=In(Wt._customElementRegistry);if(en===HTMLConstructor){throw new TypeError("Invalid constructor")}const cn=on._customElementDefinitions.find((Wt=>Wt.objectReference===en));if(cn===undefined){throw new TypeError("Invalid constructor, the constructor is not part of the custom element registry")}let dn=null;if(cn.localName===cn.name){if(Pt!=="HTMLElement"){throw new TypeError("Invalid constructor, autonomous custom element should extend from HTMLElement")}}else{const Wt=an(tn,Pt);if(!Wt.includes(cn.localName)){throw new TypeError(`${cn.localName} is not valid local name for ${Pt}`)}dn=cn.name}let{prototype:un}=en;if(un===null||typeof un!=="object"){un=Wt.HTMLElement.prototype}if(cn.constructionStack.length===0){const Pt=In(Wt.document);const en=nn(Pt,cn.localName,tn);const an=rn(en);Object.setPrototypeOf(an,un);en._ceState="custom";en._ceDefinition=cn;en._isValue=dn;return an}const pn=cn.constructionStack[cn.constructionStack.length-1];const mn=rn(pn);if(pn===sn){throw new TypeError("This instance is already constructed")}Object.setPrototypeOf(mn,un);cn.constructionStack[cn.constructionStack.length-1]=sn;return mn}Wt.exports={HTMLConstructor:HTMLConstructor}},13907:(Wt,Pt,en)=>{const tn=en(58611);const nn=en(65692);const{Writable:an}=en(2203);const In=en(43106);const rn=process.version.replace("v","").split(".");const sn=Number.parseInt(rn[0]);function abortRequest(Wt){Wt.destroy();Wt.removeAllListeners();Wt.on("error",(()=>{}))}Wt.exports=class Request extends an{constructor(Wt,Pt,en){super();Object.assign(this,Pt);this.currentURL=Wt;this._requestOptions=en;this.headers=en.headers;this._ended=false;this._redirectCount=0;this._requestBodyBuffers=[];this._bufferIndex=0;this._performRequest()}abort(){abortRequest(this._currentRequest);this.emit("abort");this.removeAllListeners()}pipeRequest(Wt){Wt.pipe(this._currentRequest)}write(Wt,Pt){if(Wt.length>0){this._requestBodyBuffers.push({data:Wt,encoding:Pt});this._currentRequest.write(Wt,Pt)}}end(){this.emit("request",this._currentRequest);this._ended=true;this._currentRequest.end()}setHeader(Wt,Pt){this.headers[Wt]=Pt;this._currentRequest.setHeader(Wt,Pt)}removeHeader(Wt){delete this.headers[Wt];this._currentRequest.removeHeader(Wt)}toJSON(){const{method:Wt,headers:Pt}=this._requestOptions;return{uri:new URL(this.currentURL),method:Wt,headers:Pt}}_writeNext(Wt){if(this._currentRequest){if(Wt){this.emit("error",Wt)}else if(this._bufferIndex{this._processResponse(Wt)}));let In;if(this._redirectCount===0){this.originalCookieHeader=this.getHeader("Cookie")}if(this.cookieJar){In=this.cookieJar.getCookieStringSync(this.currentURL)}if(In&&In.length){if(this.originalCookieHeader){this.setHeader("Cookie",this.originalCookieHeader+"; "+In)}else{this.setHeader("Cookie",In)}}for(const Wt of["connect","error","socket","timeout"]){this._currentRequest.on(Wt,((...Pt)=>{this.emit(Wt,...Pt)}))}if(this._isRedirect){this._bufferIndex=0;this._writeNext()}}_processResponse(Wt){const Pt=Wt.headers["set-cookie"];if(this.cookieJar&&Array.isArray(Pt)){try{Pt.forEach((Wt=>{this.cookieJar.setCookieSync(Wt,this.currentURL,{ignoreError:true})}))}catch(Wt){this.emit("error",Wt)}}const{statusCode:en}=Wt;const{location:tn}=Wt.headers;const catchResErrors=Wt=>{if(!(sn>=15&&Wt.message==="aborted")){this.emit("error",Wt)}};Wt.on("error",catchResErrors);let nn=null;let an=false;if(typeof tn==="string"&&tn.length&&this.followRedirects&&en>=300&&en<400){nn=tn}else if(en===401&&/^Basic /i.test(Wt.headers["www-authenticate"]||"")&&(this.user&&this.user.length)){this._requestOptions.auth=`${this.user}:${this.pass}`;an=true}if(nn||an){if(++this._redirectCount>21){const Wt=new Error("Maximum number of redirects exceeded");Wt.code="ERR_TOO_MANY_REDIRECTS";this.emit("error",Wt);return}abortRequest(this._currentRequest);Wt.destroy();this._isRedirect=true;if((en===301||en===302)&&this._requestOptions.method==="POST"||en===303&&!/^(?:GET|HEAD)$/.test(this._requestOptions.method)){this._requestOptions.method="GET";this._requestBodyBuffers=[]}let Pt=this._removeMatchingHeaders(/^host$/i);if(!Pt){Pt=new URL(this.currentURL).hostname}const tn=this.currentURL;if(!an){const Wt=nn.startsWith("https:")?new URL(nn):new URL(nn,this.currentURL);if(Wt.hostname!==Pt){this._removeMatchingHeaders(/^authorization$/i)}this.currentURL=Wt.toString()}this.headers.Referer=tn;this.emit("redirect",Wt,this.headers,this.currentURL);try{this._performRequest()}catch(Wt){this.emit("error",Wt)}}else{let Pt=Wt;const tn=this.headers["Accept-Encoding"];const nn=typeof tn==="string"&&(tn.includes("gzip")||tn.includes("deflate"));if(nn&&this._requestOptions.method!=="HEAD"&&en>=200&&en!==204&&en!==304){const en={flush:(In.constants??In).Z_SYNC_FLUSH,finishFlush:(In.constants??In).Z_SYNC_FLUSH};const tn=(Wt.headers["content-encoding"]||"identity").trim().toLowerCase();if(tn==="gzip"){Pt=In.createGunzip(en);Wt.pipe(Pt)}else if(tn==="deflate"){Pt=In.createInflate(en);Wt.pipe(Pt)}}Pt.removeAllListeners("error");this.emit("response",Wt,this.currentURL);Pt.on("data",(Wt=>this.emit("data",Wt)));Pt.once("end",(Wt=>this.emit("end",Wt)));Pt.on("error",catchResErrors);Pt.on("close",(()=>this.emit("close")));this._requestBodyBuffers=[]}}getHeader(Wt,Pt){if(this._currentRequest){return this._currentRequest.getHeader(Wt,Pt)}return null}_removeMatchingHeaders(Wt){let Pt;for(const en in this.headers){if(Wt.test(en)){Pt=this.headers[en];delete this.headers[en]}}return Pt}}},38542:(Wt,Pt,en)=>{const tn=en(86415);Pt.cloningSteps=Symbol("cloning steps");Pt.domSymbolTree=new tn("DOM SymbolTree")},1807:Wt=>{Wt.exports=class IterableWeakSet{constructor(){this._refSet=new Set;this._refMap=new WeakMap;this._finalizationRegistry=new FinalizationRegistry((({ref:Wt,set:Pt})=>Pt.delete(Wt)))}add(Wt){if(!this._refMap.has(Wt)){const Pt=new WeakRef(Wt);this._refMap.set(Wt,Pt);this._refSet.add(Pt);this._finalizationRegistry.register(Wt,{ref:Pt,set:this._refSet},Pt)}return this}delete(Wt){const Pt=this._refMap.get(Wt);if(!Pt){return false}this._refMap.delete(Wt);this._refSet.delete(Pt);this._finalizationRegistry.unregister(Pt);return true}has(Wt){return this._refMap.has(Wt)}*[Symbol.iterator](){for(const Wt of this._refSet){const Pt=Wt.deref();if(Pt===undefined){continue}yield Pt}}}},14161:(Wt,Pt)=>{Pt.parseJSONFromBytes=Wt=>{if(Wt[0]===239&&Wt[1]===187&&Wt[2]===191){Wt=Wt.subarray(3)}const Pt=Wt.toString("utf-8");return JSON.parse(Pt)}},69358:(Wt,Pt,en)=>{const{domSymbolTree:tn}=en(38542);const nn=en(12323);const an=en(94431);const In=en(87094);const rn=en(84761);const sn={ATTRIBUTES:"attributes",CHARACTER_DATA:"characterData",CHILD_LIST:"childList"};let on=false;const cn=new Set;const dn=[];function queueMutationRecord(Wt,Pt,en,nn,an,In,on,dn,un){const pn=new Map;const mn=tn.ancestorsToArray(Pt);for(const tn of mn){for(const In of tn._registeredObserverList){const{options:rn,observer:on}=In;if(!(tn!==Pt&&rn.subtree===false)&&!(Wt===sn.ATTRIBUTES&&rn.attributes!==true)&&!(Wt===sn.ATTRIBUTES&&rn.attributeFilter&&!rn.attributeFilter.some((Wt=>Wt===en||Wt===nn)))&&!(Wt===sn.CHARACTER_DATA&&rn.characterData!==true)&&!(Wt===sn.CHILD_LIST&&rn.childList===false)){if(!pn.has(on)){pn.set(on,null)}if(Wt===sn.ATTRIBUTES&&rn.attributeOldValue===true||Wt===sn.CHARACTER_DATA&&rn.characterDataOldValue===true){pn.set(on,an)}}}}for(const[tn,an]of pn.entries()){const sn=rn.createImpl(Pt._globalObject,[],{type:Wt,target:Pt,attributeName:en,attributeNamespace:nn,oldValue:an,addedNodes:In,removedNodes:on,previousSibling:dn,nextSibling:un});tn._recordQueue.push(sn);cn.add(tn)}queueMutationObserverMicrotask()}function queueTreeMutationRecord(Wt,Pt,en,tn,nn){queueMutationRecord(sn.CHILD_LIST,Wt,null,null,null,Pt,en,tn,nn)}function queueAttributeMutationRecord(Wt,Pt,en,tn){queueMutationRecord(sn.ATTRIBUTES,Wt,Pt,en,tn,[],[],null,null)}function queueMutationObserverMicrotask(){if(on){return}on=true;Promise.resolve().then((()=>{notifyMutationObservers()}))}function notifyMutationObservers(){on=false;const Wt=[...cn].sort(((Wt,Pt)=>Wt._id-Pt._id));cn.clear();const Pt=[...dn];dn.splice(0,dn.length);for(const Pt of Wt){const Wt=[...Pt._recordQueue];Pt._recordQueue=[];for(const Wt of Pt._nodeList){Wt._registeredObserverList=Wt._registeredObserverList.filter((Wt=>Wt.source!==Pt))}if(Wt.length>0){try{const en=In.wrapperForImpl(Pt);Pt._callback.call(en,Wt.map(In.wrapperForImpl),en)}catch(Pt){const{target:en}=Wt[0];const tn=en._ownerDocument._defaultView;nn(tn,Pt)}}}for(const Wt of Pt){const Pt=an.createImpl(Wt._globalObject,["slotchange",{bubbles:true}],{isTrusted:true});Wt._dispatch(Pt)}}Wt.exports={MUTATION_TYPE:sn,queueMutationRecord:queueMutationRecord,queueTreeMutationRecord:queueTreeMutationRecord,queueAttributeMutationRecord:queueAttributeMutationRecord,queueMutationObserverMicrotask:queueMutationObserverMicrotask,signalSlotList:dn}},98071:(Wt,Pt)=>{Pt.HTML_NS="http://www.w3.org/1999/xhtml";Pt.MATHML_NS="http://www.w3.org/1998/Math/MathML";Pt.SVG_NS="http://www.w3.org/2000/svg";Pt.XLINK_NS="http://www.w3.org/1999/xlink";Pt.XML_NS="http://www.w3.org/XML/1998/namespace";Pt.XMLNS_NS="http://www.w3.org/2000/xmlns/"},39471:(Wt,Pt,en)=>{const tn=en(7206);const{domSymbolTree:nn}=en(38542);function nodeLength(Wt){switch(Wt.nodeType){case tn.DOCUMENT_TYPE_NODE:return 0;case tn.TEXT_NODE:case tn.PROCESSING_INSTRUCTION_NODE:case tn.COMMENT_NODE:return Wt.data.length;default:return nn.childrenCount(Wt)}}function nodeRoot(Wt){while(nn.parent(Wt)){Wt=nn.parent(Wt)}return Wt}function isInclusiveAncestor(Wt,Pt){while(Pt){if(Wt===Pt){return true}Pt=nn.parent(Pt)}return false}function isFollowing(Wt,Pt){if(Wt===Pt){return false}let en=Pt;while(en){if(en===Wt){return true}en=nn.following(en)}return false}Wt.exports={nodeLength:nodeLength,nodeRoot:nodeRoot,isInclusiveAncestor:isInclusiveAncestor,isFollowing:isFollowing}},76125:(Wt,Pt,en)=>{const{parseFloatingPointNumber:tn}=en(97205);const{parseDateString:nn,parseLocalDateAndTimeString:an,parseMonthString:In,parseTimeString:rn,parseWeekString:sn,serializeDate:on,serializeMonth:cn,serializeNormalizedDateAndTime:dn,serializeTime:un,serializeWeek:pn,parseDateAsWeek:mn}=en(29553);function getUTCMs(Wt,Pt=1,en=1,tn=0,nn=0,an=0,In=0){if(Wt>99||Wt<0){return Date.UTC(Wt,Pt-1,en,tn,nn,an,In)}const rn=new Date(0);rn.setUTCFullYear(Wt);rn.setUTCMonth(Pt-1);rn.setUTCDate(en);rn.setUTCHours(tn);rn.setUTCMinutes(nn);rn.setUTCSeconds(an,In);return rn.valueOf()}const bn=[-1,0,1,2,3,-3,-2];Pt.convertStringToNumberByType={date(Wt){const Pt=nn(Wt);if(Pt===null){return null}return getUTCMs(Pt.year,Pt.month,Pt.day)},month(Wt){const Pt=In(Wt);if(Pt===null){return null}return(Pt.year-1970)*12+(Pt.month-1)},week(Wt){const Pt=sn(Wt);if(Pt===null){return null}const en=new Date(getUTCMs(Pt.year));const tn=bn[en.getUTCDay()];return en.setUTCDate(1+7*(Pt.week-1)-tn)},time(Wt){const Pt=rn(Wt);if(Pt===null){return null}return((Pt.hour*60+Pt.minute)*60+Pt.second)*1e3+Pt.millisecond},"datetime-local"(Wt){const Pt=an(Wt);if(Pt===null){return null}const{date:{year:en,month:tn,day:nn},time:{hour:In,minute:rn,second:sn,millisecond:on}}=Pt;return getUTCMs(en,tn,nn,In,rn,sn,on)},number:tn,range:tn};Pt.convertStringToDateByType={date(Wt){const en=Pt.convertStringToNumberByType.date(Wt);return en===null?null:new Date(en)},month(Wt){const Pt=In(Wt);if(Pt===null){return null}const en=new Date(0);en.setUTCFullYear(Pt.year);en.setUTCMonth(Pt.month-1);return en},week(Wt){const en=Pt.convertStringToNumberByType.week(Wt);return en===null?null:new Date(en)},time(Wt){const en=Pt.convertStringToNumberByType.time(Wt);return en===null?null:new Date(en)},"datetime-local"(Wt){const en=Pt.convertStringToNumberByType["datetime-local"](Wt);return en===null?null:new Date(en)}};Pt.serializeDateByType={date(Wt){return on({year:Wt.getUTCFullYear(),month:Wt.getUTCMonth()+1,day:Wt.getUTCDate()})},month(Wt){return cn({year:Wt.getUTCFullYear(),month:Wt.getUTCMonth()+1})},week(Wt){return pn(mn(Wt))},time(Wt){return un({hour:Wt.getUTCHours(),minute:Wt.getUTCMinutes(),second:Wt.getUTCSeconds(),millisecond:Wt.getUTCMilliseconds()})},"datetime-local"(Wt){return dn({date:{year:Wt.getUTCFullYear(),month:Wt.getUTCMonth()+1,day:Wt.getUTCDate()},time:{hour:Wt.getUTCHours(),minute:Wt.getUTCMinutes(),second:Wt.getUTCSeconds(),millisecond:Wt.getUTCMilliseconds()}})}};Pt.convertNumberToStringByType={date(Wt){return Pt.serializeDateByType.date(new Date(Wt))},month(Wt){const en=1970+Math.floor(Wt/12);const tn=Wt%12;const nn=new Date(0);nn.setUTCFullYear(en);nn.setUTCMonth(tn);return Pt.serializeDateByType.month(nn)},week(Wt){return Pt.serializeDateByType.week(new Date(Wt))},time(Wt){return Pt.serializeDateByType.time(new Date(Wt))},"datetime-local"(Wt){return Pt.serializeDateByType["datetime-local"](new Date(Wt))},number(Wt){return Wt.toString()},range(Wt){return Wt.toString()}}},14295:Wt=>{Wt.exports=class OrderedSet{constructor(){this._items=[]}append(Wt){if(!this.contains(Wt)){this._items.push(Wt)}}prepend(Wt){if(!this.contains(Wt)){this._items.unshift(Wt)}}replace(Wt,Pt){let en=false;for(let tn=0;tnWt.includes(Pt)))}removePredicate(Wt){for(let Pt=0;Pt{const tn=en(21379);const{fireAnEvent:nn}=en(83350);Pt.fireAPageTransitionEvent=(Wt,Pt,en)=>{const an={persisted:en,cancelable:true,bubbles:true};nn(Wt,Pt,tn,an,true)}},12323:(Wt,Pt,en)=>{const tn=en(39023);const nn=en(87094);const an=en(89045);const{createAnEvent:In}=en(83350);const rn=Symbol("error reporting mode");function reportAnError(Wt,Pt,en,nn,sn,on){if(en[rn]){return false}en[rn]=true;if(typeof sn!=="string"){sn="uncaught exception: "+tn.inspect(nn)}const cn=In("error",en._globalObject,an,{cancelable:true,message:sn,filename:on,lineno:Wt,colno:Pt,error:nn});try{en._dispatch(cn)}finally{en[rn]=false;return cn.defaultPrevented}}Wt.exports=function reportException(Wt,Pt,en){const an=Pt&&Pt.stack;const In=an&&an.split("\n");let rn;if(In){for(let Wt=1;Wt{const tn=en(80501);const nn=en(87094);function initNwsapi(Wt){const{_globalObject:Pt,_ownerDocument:en}=Wt;return tn({document:nn.wrapperForImpl(en),DOMException:Pt.DOMException})}Pt.matchesDontThrow=(Wt,Pt)=>{const en=Wt._ownerDocument;if(!en._nwsapiDontThrow){en._nwsapiDontThrow=initNwsapi(Wt);en._nwsapiDontThrow.configure({LOGERRORS:false,VERBOSITY:false,IDS_DUPES:true,MIXEDCASE:true})}return en._nwsapiDontThrow.match(Pt,nn.wrapperForImpl(Wt))};Pt.addNwsapi=Wt=>{const Pt=Wt._ownerDocument;if(!Pt._nwsapi){Pt._nwsapi=initNwsapi(Wt);Pt._nwsapi.configure({LOGERRORS:false,IDS_DUPES:true,MIXEDCASE:true})}return Pt._nwsapi}},60470:(Wt,Pt,en)=>{const tn=en(7206);const{nodeRoot:nn}=en(39471);const{HTML_NS:an}=en(98071);const{domSymbolTree:In}=en(38542);const{signalSlotList:rn,queueMutationObserverMicrotask:sn}=en(69358);const on=new Set(["article","aside","blockquote","body","div","footer","h1","h2","h3","h4","h5","h6","header","main","nav","p","section","span"]);function isValidHostElementName(Wt){return on.has(Wt)}function isNode(Wt){return Boolean(Wt&&"nodeType"in Wt)}function isShadowRoot(Wt){return Boolean(Wt&&Wt.nodeType===tn.DOCUMENT_FRAGMENT_NODE&&"host"in Wt)}function isSlotable(Wt){return Wt&&(Wt.nodeType===tn.ELEMENT_NODE||Wt.nodeType===tn.TEXT_NODE)}function isSlot(Wt){return Wt&&Wt.localName==="slot"&&Wt._namespaceURI===an}function isShadowInclusiveAncestor(Wt,Pt){while(isNode(Pt)){if(Pt===Wt){return true}if(isShadowRoot(Pt)){Pt=Pt.host}else{Pt=In.parent(Pt)}}return false}function retarget(Wt,Pt){while(true){if(!isNode(Wt)){return Wt}const en=nn(Wt);if(!isShadowRoot(en)||isNode(Pt)&&isShadowInclusiveAncestor(en,Pt)){return Wt}Wt=nn(Wt).host}}function getEventTargetParent(Wt,Pt){return Wt._getTheParent?Wt._getTheParent(Pt):null}function shadowIncludingRoot(Wt){const Pt=nn(Wt);return isShadowRoot(Pt)?shadowIncludingRoot(Pt.host):Pt}function assignSlot(Wt){const Pt=findSlot(Wt);if(Pt){assignSlotable(Pt)}}function assignSlotable(Wt){const Pt=findSlotable(Wt);let en=false;if(Pt.length!==Wt._assignedNodes.length){en=true}else{for(let tn=0;tnPt===Wt))){rn.push(Wt)}sn()}function*shadowIncludingInclusiveDescendantsIterator(Wt){yield Wt;if(Wt._shadowRoot){yield*shadowIncludingInclusiveDescendantsIterator(Wt._shadowRoot)}for(const Pt of In.childrenIterator(Wt)){yield*shadowIncludingInclusiveDescendantsIterator(Pt)}}function*shadowIncludingDescendantsIterator(Wt){if(Wt._shadowRoot){yield*shadowIncludingInclusiveDescendantsIterator(Wt._shadowRoot)}for(const Pt of In.childrenIterator(Wt)){yield*shadowIncludingInclusiveDescendantsIterator(Pt)}}Wt.exports={isValidHostElementName:isValidHostElementName,isNode:isNode,isSlotable:isSlotable,isSlot:isSlot,isShadowRoot:isShadowRoot,isShadowInclusiveAncestor:isShadowInclusiveAncestor,retarget:retarget,getEventTargetParent:getEventTargetParent,shadowIncludingRoot:shadowIncludingRoot,assignSlot:assignSlot,assignSlotable:assignSlotable,assignSlotableForTree:assignSlotableForTree,findSlot:findSlot,findFlattenedSlotables:findFlattenedSlotables,signalSlotChange:signalSlotChange,shadowIncludingInclusiveDescendantsIterator:shadowIncludingInclusiveDescendantsIterator,shadowIncludingDescendantsIterator:shadowIncludingDescendantsIterator}},97205:(Wt,Pt)=>{const en=/^[\t\n\f\r ]$/;Pt.asciiWhitespaceRe=en;Pt.asciiLowercase=Wt=>Wt.replace(/[A-Z]/g,(Wt=>Wt.toLowerCase()));Pt.asciiUppercase=Wt=>Wt.replace(/[a-z]/g,(Wt=>Wt.toUpperCase()));Pt.stripNewlines=Wt=>Wt.replace(/[\n\r]+/g,"");Pt.stripLeadingAndTrailingASCIIWhitespace=Wt=>Wt.replace(/^[ \t\n\f\r]+/,"").replace(/[ \t\n\f\r]+$/,"");Pt.stripAndCollapseASCIIWhitespace=Wt=>Wt.replace(/[ \t\n\f\r]+/g," ").replace(/^[ \t\n\f\r]+/,"").replace(/[ \t\n\f\r]+$/,"");Pt.isValidSimpleColor=Wt=>/^#[a-fA-F\d]{6}$/.test(Wt);Pt.asciiCaseInsensitiveMatch=(Wt,Pt)=>{if(Wt.length!==Pt.length){return false}for(let en=0;en{const Pt=Wt.length-Wt.trimStart().length;if(/[^\t\n\f\r ]/.test(Wt.slice(0,Pt))){return null}const en=parseInt(Wt,10);if(Number.isNaN(en)){return null}return en===0?0:en};Pt.parseNonNegativeInteger=Wt=>{const Pt=tn(Wt);if(Pt===null){return null}if(Pt<0){return null}return Pt};const nn=/^-?(?:\d+|\d*\.\d+)(?:[eE][-+]?\d+)?$/;Pt.isValidFloatingPointNumber=Wt=>nn.test(Wt);Pt.parseFloatingPointNumber=Wt=>{const Pt=Wt.length-Wt.trimStart().length;if(/[^\t\n\f\r ]/.test(Wt.slice(0,Pt))){return null}const en=parseFloat(Wt);return isFinite(en)?en:null};Pt.splitOnASCIIWhitespace=Wt=>{let Pt=0;const tn=[];while(Pt{let Pt=0;const tn=[];while(Ptnn&&en.test(Wt[an-1])){an--}tn.push(Wt.slice(nn,an));if(Pt{const tn=en(28144);const{CSSStyleDeclaration:nn}=en(99712);const an=en(77078);const{getSpecifiedColor:In,getComputedOrUsedColor:rn}=en(28591);const{matchesDontThrow:sn}=en(561);const{forEach:on,indexOf:cn}=Array.prototype;let dn;Pt.propertiesWithResolvedValueImplemented={__proto__:null,visibility:{inherited:true,initial:"visible",computedValue:"as-specified"},"pointer-events":{inherited:true,initial:"auto",computedValue:"as-specified"},"background-color":{inherited:false,initial:"transparent",computedValue:"computed-color"},"border-block-start-color":{inherited:false,initial:"currentcolor",computedValue:"computed-color"},"border-block-end-color":{inherited:false,initial:"currentcolor",computedValue:"computed-color"},"border-inline-start-color":{inherited:false,initial:"currentcolor",computedValue:"computed-color"},"border-inline-end-color":{inherited:false,initial:"currentcolor",computedValue:"computed-color"},"border-top-color":{inherited:false,initial:"currentcolor",computedValue:"computed-color"},"border-right-color":{inherited:false,initial:"currentcolor",computedValue:"computed-color"},"border-bottom-color":{inherited:false,initial:"currentcolor",computedValue:"computed-color"},"border-left-color":{inherited:false,initial:"currentcolor",computedValue:"computed-color"},"caret-color":{inherited:true,initial:"auto",computedValue:"computed-color"},color:{inherited:true,initial:"CanvasText",computedValue:"computed-color"},"outline-color":{inherited:false,initial:"invert",computedValue:"computed-color"}};function forEachMatchingSheetRuleOfElement(Wt,Pt){function handleSheet(en){on.call(en.cssRules,(en=>{if(en.media){if(cn.call(en.media,"screen")!==-1){on.call(en.cssRules,(en=>{if(matches(en,Wt)){Pt(en)}}))}}else if(matches(en,Wt)){Pt(en)}}))}if(!dn){dn=tn.parse(an)}handleSheet(dn);on.call(Wt._ownerDocument.styleSheets._list,handleSheet)}Pt.invalidateStyleCache=Wt=>{if(Wt._attached){Wt._ownerDocument._styleCache=null}};Pt.getDeclarationForElement=Wt=>{let Pt=Wt._ownerDocument._styleCache;if(!Pt){Pt=Wt._ownerDocument._styleCache=new WeakMap}const en=Pt.get(Wt);if(en){return en}const tn=new nn;function handleProperty(Wt,Pt){const en=Wt.getPropertyValue(Pt);if(en==="unset"){tn.removeProperty(Pt)}else{tn.setProperty(Pt,en,Wt.getPropertyPriority(Pt))}}forEachMatchingSheetRuleOfElement(Wt,(Wt=>{on.call(Wt.style,(Pt=>{handleProperty(Wt.style,Pt)}))}));on.call(Wt.style,(Pt=>{handleProperty(Wt.style,Pt)}));Pt.set(Wt,tn);return tn};function matches(Wt,Pt){return sn(Pt,Wt.selectorText)}function getCascadedPropertyValue(Wt,en){return Pt.getDeclarationForElement(Wt).getPropertyValue(en)}function getSpecifiedValue(Wt,en){const{initial:tn,inherited:nn,computedValue:an}=Pt.propertiesWithResolvedValueImplemented[en];const rn=getCascadedPropertyValue(Wt,en);if(rn!==""){if(an==="computed-color"){return In(rn)}return rn}if(nn&&Wt.parentElement!==null){return getComputedValue(Wt.parentElement,en)}return tn}function getComputedValue(Wt,en){const{computedValue:tn,initial:nn}=Pt.propertiesWithResolvedValueImplemented[en];if(tn==="as-specified"){return getSpecifiedValue(Wt,en)}else if(tn==="computed-color"){const Pt=getSpecifiedValue(Wt,en);if(Pt==="currentcolor"){if(en==="color"){if(Wt.parentElement!==null){return getComputedValue(Wt.parentElement,"color")}return nn}return getComputedValue(Wt,"color")}return rn(Pt)}throw new TypeError(`Internal error: unrecognized computed value instruction '${tn}'`)}Pt.getResolvedValue=(Wt,Pt)=>getComputedValue(Wt,Pt);Pt.SHADOW_DOM_PSEUDO_REGEXP=/^::(?:part|slotted)\(/i},38454:(Wt,Pt,en)=>{const tn=en(28144);const nn=en(86476);const an=en(78012);const{invalidateStyleCache:In}=en(86024);Pt.fetchStylesheet=(Wt,Pt)=>{const en=an.parseURL(Pt);return fetchStylesheetInternal(Wt,Pt,en)};Pt.removeStylesheet=(Wt,Pt)=>{const{styleSheets:en}=Pt._ownerDocument;en._remove(Wt);Pt.sheet=null;In(Pt)};Pt.createStylesheet=(Wt,Pt,en)=>{let nn;try{nn=tn.parse(Wt)}catch(en){if(Pt._ownerDocument._defaultView){const en=new Error("Could not parse CSS stylesheet");en.detail=Wt;en.type="css parsing";Pt._ownerDocument._defaultView._virtualConsole.emit("jsdomError",en)}return}scanForImportRules(Pt,nn.cssRules,en);addStylesheet(nn,Pt)};function addStylesheet(Wt,Pt){Pt._ownerDocument.styleSheets._add(Wt);Pt.sheet=Wt;In(Pt)}function fetchStylesheetInternal(Wt,en,tn){const an=Wt._ownerDocument;let In=an._encoding;const rn=an._resourceLoader;if(Wt.localName==="link"&&Wt.hasAttributeNS(null,"charset")){In=nn.labelToName(Wt.getAttributeNS(null,"charset"))}function onStylesheetLoad(en){if(!Wt._attached){return}const an=nn.decode(en,In);if(Wt.sheet){Pt.removeStylesheet(Wt.sheet,Wt)}Pt.createStylesheet(an,Wt,tn)}rn.fetch(en,{element:Wt,onLoad:onStylesheetLoad})}function scanForImportRules(Wt,Pt,en){if(!Pt){return}for(let tn=0;tn{function detach(Wt){if(typeof Wt==="string"){return}throw new TypeError(`jsdom internal error: detaching object of wrong type ${Wt}`)}Pt.detach=detach;function attach(Wt,Pt){if(typeof Wt==="string"){return}throw new TypeError(`jsdom internal error: attaching object of wrong type ${Wt}`)}Pt.attach=attach;function reserializeSpaceSeparatedTokens(Wt){return Wt.join(" ")}Pt.reserializeSpaceSeparatedTokens=reserializeSpaceSeparatedTokens;function reserializeCommaSeparatedTokens(Wt){return Wt.join(", ")}Pt.reserializeCommaSeparatedTokens=reserializeCommaSeparatedTokens},31296:(Wt,Pt,en)=>{const{SVG_NS:tn}=en(98071);const nn=new Set(["clipPath","defs","desc","linearGradient","marker","mask","metadata","pattern","radialGradient","script","style","title","symbol"]);Pt.isRenderedElement=Wt=>{if(nn.has(Wt._localName)){return false}if(!Wt.isConnected){return false}if(Wt.parentElement&&Wt.parentElement._namespaceURI===tn&&!Pt.isRenderedElement(Wt.parentNode)){return false}return true}},29200:(Wt,Pt,en)=>{const{domSymbolTree:tn}=en(38542);const{CDATA_SECTION_NODE:nn,TEXT_NODE:an}=en(7206);Pt.childTextContent=Wt=>{let Pt="";const en=tn.childrenIterator(Wt);for(const Wt of en){if(Wt.nodeType===an||Wt.nodeType===nn){Pt+=Wt.data}}return Pt}},83521:(Wt,Pt,en)=>{const{domSymbolTree:tn}=en(38542);const{HTML_NS:nn}=en(98071);Pt.closest=(Wt,Pt,en=nn)=>{while(Wt){if(Wt.localName===Pt&&Wt.namespaceURI===en){return Wt}Wt=tn.parent(Wt)}return null};Pt.childrenByLocalName=(Wt,Pt,en=nn)=>tn.childrenToArray(Wt,{filter(Wt){return Wt._localName===Pt&&Wt._namespaceURI===en}});Pt.descendantsByLocalName=(Wt,Pt,en=nn)=>tn.treeToArray(Wt,{filter(tn){return tn._localName===Pt&&tn._namespaceURI===en&&tn!==Wt}});Pt.childrenByLocalNames=(Wt,Pt,en=nn)=>tn.childrenToArray(Wt,{filter(Wt){return Pt.has(Wt._localName)&&Wt._namespaceURI===en}});Pt.descendantsByLocalNames=(Wt,Pt,en=nn)=>tn.treeToArray(Wt,{filter(tn){return Pt.has(tn._localName)&&tn._namespaceURI===en&&tn!==Wt}});Pt.firstChildWithLocalName=(Wt,Pt,en=nn)=>{const an=tn.childrenIterator(Wt);for(const Wt of an){if(Wt._localName===Pt&&Wt._namespaceURI===en){return Wt}}return null};Pt.firstChildWithLocalNames=(Wt,Pt,en=nn)=>{const an=tn.childrenIterator(Wt);for(const Wt of an){if(Pt.has(Wt._localName)&&Wt._namespaceURI===en){return Wt}}return null};Pt.firstDescendantWithLocalName=(Wt,Pt,en=nn)=>{const an=tn.treeIterator(Wt);for(const Wt of an){if(Wt._localName===Pt&&Wt._namespaceURI===en){return Wt}}return null}},82748:(Wt,Pt,en)=>{const tn=en(87878);const nn=en(16694);const{XML_NS:an,XMLNS_NS:In}=en(98071);Pt.name=(Wt,Pt)=>{if(!tn.name(Pt)){throw nn.create(Wt,[`"${Pt}" did not match the Name production`,"InvalidCharacterError"])}};Pt.qname=(Wt,Pt)=>{if(!tn.qname(Pt)){throw nn.create(Wt,[`"${Pt}" did not match the QName production`,"InvalidCharacterError"])}};Pt.validateAndExtract=(Wt,en,tn)=>{if(en===""){en=null}Pt.qname(Wt,tn);let rn=null;let sn=tn;const on=tn.indexOf(":");if(on!==-1){rn=tn.substring(0,on);sn=tn.substring(on+1)}if(rn!==null&&en===null){throw nn.create(Wt,["A namespace was given but a prefix was also extracted from the qualifiedName","NamespaceError"])}if(rn==="xml"&&en!==an){throw nn.create(Wt,['A prefix of "xml" was given but the namespace was not the XML namespace',"NamespaceError"])}if((tn==="xmlns"||rn==="xmlns")&&en!==In){throw nn.create(Wt,['A prefix or qualifiedName of "xmlns" was given but the namespace was not the XMLNS namespace',"NamespaceError"])}if(en===In&&tn!=="xmlns"&&rn!=="xmlns"){throw nn.create(Wt,['The XMLNS namespace was given but neither the prefix nor qualifiedName was "xmlns"',"NamespaceError"])}return{namespace:en,prefix:rn,localName:sn}}},4139:(Wt,Pt,en)=>{const tn=en(92697).implementation;class PerformanceImpl extends tn{constructor(Wt,Pt,en){super(Wt,Pt,en);this.timeOrigin=en.timeOrigin;this._nowAtTimeOrigin=en.nowAtTimeOrigin}now(){return performance.now()-this._nowAtTimeOrigin}toJSON(){return{timeOrigin:this.timeOrigin}}}Pt.implementation=PerformanceImpl},96533:(Wt,Pt,en)=>{const tn=en(56973);const nn=en(30060);const an={DOMException:en(16694),URL:en(74108).URL,URLSearchParams:en(74108).URLSearchParams,EventTarget:en(29122),NamedNodeMap:en(89762),Node:en(24171),Attr:en(17552),Element:en(41423),DocumentFragment:en(98938),DOMImplementation:en(26017),Document:en(18946),XMLDocument:en(63399),CharacterData:en(30052),Text:en(40196),CDATASection:en(37711),ProcessingInstruction:en(34786),Comment:en(22918),DocumentType:en(80842),NodeList:en(49747),RadioNodeList:en(9344),HTMLCollection:en(13506),HTMLOptionsCollection:en(71834),DOMStringMap:en(94258),DOMTokenList:en(24406),StyleSheetList:en(25911),HTMLElement:en(48708),HTMLHeadElement:en(51382),HTMLTitleElement:en(84584),HTMLBaseElement:en(65735),HTMLLinkElement:en(62928),HTMLMetaElement:en(62087),HTMLStyleElement:en(97737),HTMLBodyElement:en(83220),HTMLHeadingElement:en(39564),HTMLParagraphElement:en(31632),HTMLHRElement:en(11610),HTMLPreElement:en(19929),HTMLUListElement:en(55295),HTMLOListElement:en(72053),HTMLLIElement:en(80225),HTMLMenuElement:en(59877),HTMLDListElement:en(12334),HTMLDivElement:en(32567),HTMLAnchorElement:en(68403),HTMLAreaElement:en(13915),HTMLBRElement:en(29044),HTMLButtonElement:en(22544),HTMLCanvasElement:en(22312),HTMLDataElement:en(74452),HTMLDataListElement:en(89272),HTMLDetailsElement:en(88796),HTMLDialogElement:en(55328),HTMLDirectoryElement:en(69559),HTMLFieldSetElement:en(56092),HTMLFontElement:en(75431),HTMLFormElement:en(618),HTMLHtmlElement:en(40031),HTMLImageElement:en(32741),HTMLInputElement:en(18142),HTMLLabelElement:en(30124),HTMLLegendElement:en(49299),HTMLMapElement:en(11416),HTMLMarqueeElement:en(29062),HTMLMediaElement:en(1366),HTMLMeterElement:en(8805),HTMLModElement:en(18390),HTMLOptGroupElement:en(77988),HTMLOptionElement:en(37491),HTMLOutputElement:en(41035),HTMLPictureElement:en(58224),HTMLProgressElement:en(84049),HTMLQuoteElement:en(44106),HTMLScriptElement:en(52157),HTMLSelectElement:en(63996),HTMLSlotElement:en(89856),HTMLSourceElement:en(11863),HTMLSpanElement:en(33632),HTMLTableCaptionElement:en(41450),HTMLTableCellElement:en(43902),HTMLTableColElement:en(42986),HTMLTableElement:en(22810),HTMLTimeElement:en(67099),HTMLTableRowElement:en(60260),HTMLTableSectionElement:en(98506),HTMLTemplateElement:en(2894),HTMLTextAreaElement:en(40382),HTMLUnknownElement:en(76312),HTMLFrameElement:en(58713),HTMLFrameSetElement:en(83849),HTMLIFrameElement:en(58720),HTMLEmbedElement:en(28393),HTMLObjectElement:en(63149),HTMLParamElement:en(21325),HTMLVideoElement:en(10915),HTMLAudioElement:en(41952),HTMLTrackElement:en(74203),HTMLFormControlsCollection:en(59470),SVGElement:en(70321),SVGGraphicsElement:en(91398),SVGSVGElement:en(60787),SVGTitleElement:en(93815),SVGAnimatedString:en(5505),SVGNumber:en(35168),SVGStringList:en(48780),Event:en(94431),CloseEvent:en(54123),CustomEvent:en(73050),MessageEvent:en(74374),ErrorEvent:en(89045),HashChangeEvent:en(90863),PopStateEvent:en(38007),StorageEvent:en(38704),ProgressEvent:en(90442),PageTransitionEvent:en(21379),SubmitEvent:en(3823),UIEvent:en(38921),FocusEvent:en(32103),InputEvent:en(13979),MouseEvent:en(8002),KeyboardEvent:en(78628),TouchEvent:en(13246),CompositionEvent:en(2921),WheelEvent:en(18990),BarProp:en(21183),External:en(18516),Location:en(79972),History:en(81415),Screen:en(42235),Performance:en(7569),Navigator:en(60618),Crypto:en(19346),PluginArray:en(86599),MimeTypeArray:en(41086),Plugin:en(39168),MimeType:en(30199),FileReader:en(49962),Blob:en(42960),File:en(96689),FileList:en(12373),ValidityState:en(47180),DOMParser:en(93136),XMLSerializer:en(68174),FormData:en(48241),XMLHttpRequestEventTarget:en(5480),XMLHttpRequestUpload:en(58096),XMLHttpRequest:en(55137),WebSocket:en(2572),NodeFilter:en(7921),NodeIterator:en(71497),TreeWalker:en(77821),AbstractRange:en(77632),Range:en(60190),StaticRange:en(40096),Selection:en(1417),Storage:en(90778),CustomElementRegistry:en(46193),ElementInternals:en(1745),ShadowRoot:en(21283),MutationObserver:en(90314),MutationRecord:en(84761),Headers:en(16605),AbortController:en(92325),AbortSignal:en(78845),DOMRectReadOnly:en(59163),DOMRect:en(8469)};function install(Wt,Pt,en){Object.defineProperty(Wt,Pt,{configurable:true,writable:true,value:en})}Pt.installInterfaces=(Wt,Pt)=>{for(const en of Object.values(an)){en.install(Wt,Pt)}install(Wt,"HTMLDocument",Wt.Document);Object.setPrototypeOf(Wt.DOMException.prototype,Wt.Error.prototype);tn.addToCore(Wt);nn(Wt)};Pt.getInterfaceWrapper=Wt=>an[Wt]},26208:(Wt,Pt,en)=>{const{wrapperForImpl:tn}=en(87094);let nn=0;class MutationObserverImpl{constructor(Wt,Pt){const[en]=Pt;this._callback=en;this._nodeList=[];this._recordQueue=[];this._id=++nn}observe(Wt,Pt){if(("attributeOldValue"in Pt||"attributeFilter"in Pt)&&!("attributes"in Pt)){Pt.attributes=true}if("characterDataOldValue"in Pt&!("characterData"in Pt)){Pt.characterData=true}if(!Pt.childList&&!Pt.attributes&&!Pt.characterData){throw new TypeError("The options object must set at least one of 'attributes', 'characterData', or 'childList' "+"to true.")}else if(Pt.attributeOldValue&&!Pt.attributes){throw new TypeError("The options object may only set 'attributeOldValue' to true when 'attributes' is true or "+"not present.")}else if("attributeFilter"in Pt&&!Pt.attributes){throw new TypeError("The options object may only set 'attributeFilter' when 'attributes' is true or not "+"present.")}else if(Pt.characterDataOldValue&&!Pt.characterData){throw new TypeError("The options object may only set 'characterDataOldValue' to true when 'characterData' is "+"true or not present.")}const en=Wt._registeredObserverList.find((Wt=>Wt.observer===this));if(en){for(const Wt of this._nodeList){Wt._registeredObserverList=Wt._registeredObserverList.filter((Wt=>Wt.source!==en))}en.options=Pt}else{Wt._registeredObserverList.push({observer:this,options:Pt});this._nodeList.push(Wt)}}disconnect(){for(const Wt of this._nodeList){Wt._registeredObserverList=Wt._registeredObserverList.filter((Wt=>Wt.observer!==this))}this._recordQueue=[]}takeRecords(){const Wt=this._recordQueue.map(tn);this._recordQueue=[];return Wt}}Wt.exports={implementation:MutationObserverImpl}},86637:(Wt,Pt,en)=>{const tn=en(49747);class MutationRecordImpl{constructor(Wt,Pt,en){this._globalObject=Wt;this.type=en.type;this.target=en.target;this.previousSibling=en.previousSibling;this.nextSibling=en.nextSibling;this.attributeName=en.attributeName;this.attributeNamespace=en.attributeNamespace;this.oldValue=en.oldValue;this._addedNodes=en.addedNodes;this._removedNodes=en.removedNodes}get addedNodes(){return tn.createImpl(this._globalObject,[],{nodes:this._addedNodes})}get removedNodes(){return tn.createImpl(this._globalObject,[],{nodes:this._removedNodes})}}Wt.exports={implementation:MutationRecordImpl}},59397:(Wt,Pt,en)=>{const tn=Object.prototype.hasOwnProperty;const nn=en(53515);const an=en(7206);const In=en(13506);const{treeOrderSorter:rn}=en(35702);const sn=en(87094);function isNamedPropertyElement(Wt){if("contentWindow"in Wt&&!tn.call(Wt,"contentWindow")){return true}switch(Wt.nodeName){case"A":case"AREA":case"EMBED":case"FORM":case"FRAMESET":case"IMG":case"OBJECT":return true;default:return false}}function namedPropertyResolver(Wt,Pt,en){function getResult(){const Wt=[];for(const tn of en().keys()){if(tn.nodeType!==an.ELEMENT_NODE){continue}if(tn.getAttributeNS(null,"id")===Pt){Wt.push(tn)}else if(tn.getAttributeNS(null,"name")===Pt&&isNamedPropertyElement(tn)){Wt.push(tn)}}Wt.sort(rn);return Wt}const nn=Wt._document;const on=In.create(Wt,[],{element:sn.implForWrapper(nn.documentElement),query:getResult});const{length:cn}=on;for(let Wt=0;Wt{Pt.implementation=class MimeType{}},1233:(Wt,Pt,en)=>{const tn=en(87094);Pt.implementation=class MimeTypeArray{get length(){return 0}item(){return null}namedItem(){return null}get[tn.supportedPropertyIndices](){return[]}}},76605:(Wt,Pt,en)=>{const{mixin:tn}=en(35702);const nn=en(86599);const an=en(41086);const In=en(47694).D;const rn=en(36763).D;const sn=en(96128).D;const on=en(21306).D;const cn=en(61003).D;const dn=en(87626).D;class NavigatorImpl{constructor(Wt,Pt,en){this._globalObject=Wt;this.userAgent=en.userAgent;this.languages=Object.freeze(["en-US","en"]);this.plugins=nn.create(this._globalObject);this.mimeTypes=an.create(this._globalObject)}}tn(NavigatorImpl.prototype,In.prototype);tn(NavigatorImpl.prototype,rn.prototype);tn(NavigatorImpl.prototype,sn.prototype);tn(NavigatorImpl.prototype,on.prototype);tn(NavigatorImpl.prototype,cn.prototype);tn(NavigatorImpl.prototype,dn.prototype);Pt.implementation=NavigatorImpl},87626:(Wt,Pt,en)=>{const tn=en(70857);Pt.D=class NavigatorConcurrentHardwareImpl{get hardwareConcurrency(){return tn.cpus().length}}},21306:(Wt,Pt)=>{Pt.D=class NavigatorCookiesImpl{get cookieEnabled(){return true}}},47694:(Wt,Pt)=>{Pt.D=class NavigatorIDImpl{get appCodeName(){return"Mozilla"}get appName(){return"Netscape"}get appVersion(){return"4.0"}get platform(){return""}get product(){return"Gecko"}get productSub(){return"20030107"}get vendor(){return"Apple Computer, Inc."}get vendorSub(){return""}}},36763:(Wt,Pt)=>{Pt.D=class NavigatorLanguageImpl{get language(){return"en-US"}}},96128:(Wt,Pt)=>{Pt.D=class NavigatorOnLineImpl{get onLine(){return true}}},61003:(Wt,Pt)=>{Pt.D=class NavigatorPluginsImpl{javaEnabled(){return false}}},47447:(Wt,Pt)=>{Pt.implementation=class Plugin{}},6514:(Wt,Pt,en)=>{const tn=en(87094);Pt.implementation=class PluginArray{refresh(){}get length(){return 0}item(){return null}namedItem(){return null}get[tn.supportedPropertyIndices](){return[]}}},82759:Wt=>{Wt.exports=Object.freeze({DOCUMENT_POSITION_DISCONNECTED:1,DOCUMENT_POSITION_PRECEDING:2,DOCUMENT_POSITION_FOLLOWING:4,DOCUMENT_POSITION_CONTAINS:8,DOCUMENT_POSITION_CONTAINED_BY:16,DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC:32})},7206:Wt=>{Wt.exports=Object.freeze({ELEMENT_NODE:1,ATTRIBUTE_NODE:2,TEXT_NODE:3,CDATA_SECTION_NODE:4,ENTITY_REFERENCE_NODE:5,ENTITY_NODE:6,PROCESSING_INSTRUCTION_NODE:7,COMMENT_NODE:8,DOCUMENT_NODE:9,DOCUMENT_TYPE_NODE:10,DOCUMENT_FRAGMENT_NODE:11,NOTATION_NODE:12})},85621:(Wt,Pt,en)=>{const{appendAttribute:tn}=en(69936);const nn=en(7206);const an=en(14295).parse;const{createElement:In}=en(94202);const{HTML_NS:rn,XMLNS_NS:sn}=en(98071);const{cloningSteps:on,domSymbolTree:cn}=en(38542);const{asciiCaseInsensitiveMatch:dn,asciiLowercase:un}=en(97205);const pn=en(13506);Pt.clone=(Wt,en,an)=>{if(en===undefined){en=Wt._ownerDocument}let rn;switch(Wt.nodeType){case nn.DOCUMENT_NODE:rn=Wt._cloneDocument();break;case nn.DOCUMENT_TYPE_NODE:rn=en.implementation.createDocumentType(Wt.name,Wt.publicId,Wt.systemId);break;case nn.ELEMENT_NODE:rn=In(en,Wt._localName,Wt._namespaceURI,Wt._prefix,Wt._isValue,false);for(const nn of Wt._attributeList){tn(rn,Pt.clone(nn,en))}break;case nn.ATTRIBUTE_NODE:rn=en._createAttribute({namespace:Wt._namespace,namespacePrefix:Wt._namespacePrefix,localName:Wt._localName,value:Wt._value});break;case nn.TEXT_NODE:rn=en.createTextNode(Wt._data);break;case nn.CDATA_SECTION_NODE:rn=en.createCDATASection(Wt._data);break;case nn.COMMENT_NODE:rn=en.createComment(Wt._data);break;case nn.PROCESSING_INSTRUCTION_NODE:rn=en.createProcessingInstruction(Wt.target,Wt._data);break;case nn.DOCUMENT_FRAGMENT_NODE:rn=en.createDocumentFragment();break}if(Wt[on]){Wt[on](rn,Wt,en,an)}if(an){for(const tn of cn.childrenIterator(Wt)){const Wt=Pt.clone(tn,en,true);rn._append(Wt)}}return rn};Pt.listOfElementsWithClassNames=(Wt,Pt)=>{const en=an(Wt);if(en.size===0){return pn.createImpl(Pt._globalObject,[],{element:Pt,query:()=>[]})}return pn.createImpl(Pt._globalObject,[],{element:Pt,query:()=>{const Wt=Pt._ownerDocument.compatMode==="BackCompat";return cn.treeToArray(Pt,{filter(tn){if(tn.nodeType!==nn.ELEMENT_NODE||tn===Pt){return false}const{classList:an}=tn;if(Wt){for(const Wt of en){if(!an.tokenSet.some((Pt=>dn(Pt,Wt)))){return false}}}else{for(const Wt of en){if(!an.tokenSet.contains(Wt)){return false}}}return true}})}})};Pt.listOfElementsWithQualifiedName=(Wt,Pt)=>{if(Wt==="*"){return pn.createImpl(Pt._globalObject,[],{element:Pt,query:()=>cn.treeToArray(Pt,{filter:Wt=>Wt.nodeType===nn.ELEMENT_NODE&&Wt!==Pt})})}if(Pt._ownerDocument._parsingMode==="html"){const en=un(Wt);return pn.createImpl(Pt._globalObject,[],{element:Pt,query:()=>cn.treeToArray(Pt,{filter(tn){if(tn.nodeType!==nn.ELEMENT_NODE||tn===Pt){return false}if(tn._namespaceURI===rn){return tn._qualifiedName===en}return tn._qualifiedName===Wt}})})}return pn.createImpl(Pt._globalObject,[],{element:Pt,query:()=>cn.treeToArray(Pt,{filter(en){if(en.nodeType!==nn.ELEMENT_NODE||en===Pt){return false}return en._qualifiedName===Wt}})})};Pt.listOfElementsWithNamespaceAndLocalName=(Wt,Pt,en)=>{if(Wt===""){Wt=null}if(Wt==="*"&&Pt==="*"){return pn.createImpl(en._globalObject,[],{element:en,query:()=>cn.treeToArray(en,{filter:Wt=>Wt.nodeType===nn.ELEMENT_NODE&&Wt!==en})})}if(Wt==="*"){return pn.createImpl(en._globalObject,[],{element:en,query:()=>cn.treeToArray(en,{filter(Wt){if(Wt.nodeType!==nn.ELEMENT_NODE||Wt===en){return false}return Wt._localName===Pt}})})}if(Pt==="*"){return pn.createImpl(en._globalObject,[],{element:en,query:()=>cn.treeToArray(en,{filter(Pt){if(Pt.nodeType!==nn.ELEMENT_NODE||Pt===en){return false}return Pt._namespaceURI===Wt}})})}return pn.createImpl(en._globalObject,[],{element:en,query:()=>cn.treeToArray(en,{filter(tn){if(tn.nodeType!==nn.ELEMENT_NODE||tn===en){return false}return tn._localName===Pt&&tn._namespaceURI===Wt}})})};Pt.convertNodesIntoNode=(Wt,Pt)=>{if(Pt.length===1){return typeof Pt[0]==="string"?Wt.createTextNode(Pt[0]):Pt[0]}const en=Wt.createDocumentFragment();for(let tn=0;tn{if(Wt._namespaceURI===en&&Wt._prefix!==null){return Wt._prefix}for(const Pt of Wt._attributeList){if(Pt._namespacePrefix==="xmlns"&&Pt._value===en){return Pt._localName}}if(Wt.parentElement!==null){return Pt.locateNamespacePrefix(Wt.parentElement,en)}return null};Pt.locateNamespace=(Wt,en)=>{switch(Wt.nodeType){case nn.ELEMENT_NODE:{if(Wt._namespaceURI!==null&&Wt._prefix===en){return Wt._namespaceURI}if(en===null){for(const Pt of Wt._attributeList){if(Pt._namespace===sn&&Pt._namespacePrefix===null&&Pt._localName==="xmlns"){return Pt._value!==""?Pt._value:null}}}else{for(const Pt of Wt._attributeList){if(Pt._namespace===sn&&Pt._namespacePrefix==="xmlns"&&Pt._localName===en){return Pt._value!==""?Pt._value:null}}}if(Wt.parentElement===null){return null}return Pt.locateNamespace(Wt.parentElement,en)}case nn.DOCUMENT_NODE:{if(Wt.documentElement===null){return null}return Pt.locateNamespace(Wt.documentElement,en)}case nn.DOCUMENT_TYPE_NODE:case nn.DOCUMENT_FRAGMENT_NODE:{return null}case nn.ATTRIBUTE_NODE:{if(Wt._element===null){return null}return Pt.locateNamespace(Wt._element,en)}default:{if(Wt.parentElement===null){return null}return Pt.locateNamespace(Wt.parentElement,en)}}}},40590:(Wt,Pt,en)=>{const tn=en(4247).implementation;const nn=en(7206);class CDATASectionImpl extends tn{constructor(Wt,Pt,en){super(Wt,Pt,en);this.nodeType=nn.CDATA_SECTION_NODE}}Wt.exports={implementation:CDATASectionImpl}},62871:(Wt,Pt,en)=>{const tn=en(16694);const{mixin:nn}=en(35702);const an=en(52746).implementation;const In=en(42048).implementation;const rn=en(14918).implementation;const{TEXT_NODE:sn}=en(7206);const{MUTATION_TYPE:on,queueMutationRecord:cn}=en(69358);class CharacterDataImpl extends an{constructor(Wt,Pt,en){super(Wt,Pt,en);this._data=en.data}get data(){return this._data}set data(Wt){this.replaceData(0,this.length,Wt)}get length(){return this._data.length}substringData(Wt,Pt){const{length:en}=this;if(Wt>en){throw tn.create(this._globalObject,["The index is not in the allowed range.","IndexSizeError"])}if(Wt+Pt>en){return this._data.slice(Wt)}return this._data.slice(Wt,Wt+Pt)}appendData(Wt){this.replaceData(this.length,0,Wt)}insertData(Wt,Pt){this.replaceData(Wt,0,Pt)}deleteData(Wt,Pt){this.replaceData(Wt,Pt,"")}replaceData(Wt,Pt,en){const{length:nn}=this;if(Wt>nn){throw tn.create(this._globalObject,["The index is not in the allowed range.","IndexSizeError"])}if(Wt+Pt>nn){Pt=nn-Wt}cn(on.CHARACTER_DATA,this,null,null,this._data,[],[],null,null);const an=this._data.slice(0,Wt);const In=this._data.slice(Wt+Pt);this._data=an+en+In;for(const tn of this._referencedRanges){const{_start:nn,_end:an}=tn;if(nn.node===this&&nn.offset>Wt&&nn.offset<=Wt+Pt){tn._setLiveRangeStart(this,Wt)}if(an.node===this&&an.offset>Wt&&an.offset<=Wt+Pt){tn._setLiveRangeEnd(this,Wt)}if(nn.node===this&&nn.offset>Wt+Pt){tn._setLiveRangeStart(this,nn.offset+en.length-Pt)}if(an.node===this&&an.offset>Wt+Pt){tn._setLiveRangeEnd(this,an.offset+en.length-Pt)}}if(this.nodeType===sn&&this.parentNode){this.parentNode._childTextContentChangeSteps()}}}nn(CharacterDataImpl.prototype,rn.prototype);nn(CharacterDataImpl.prototype,In.prototype);Wt.exports={implementation:CharacterDataImpl}},42048:(Wt,Pt,en)=>{const{convertNodesIntoNode:tn}=en(85621);class ChildNodeImpl{remove(){if(!this.parentNode){return}this.parentNode._remove(this)}after(...Wt){const Pt=this.parentNode;if(Pt){let en=this.nextSibling;let nn=en?Wt.indexOf(en):-1;while(nn!==-1){en=en.nextSibling;if(!en){break}nn=Wt.indexOf(en)}Pt._preInsert(tn(this._ownerDocument,Wt),en)}}before(...Wt){const Pt=this.parentNode;if(Pt){let en=this.previousSibling;let nn=en?Wt.indexOf(en):-1;while(nn!==-1){en=en.previousSibling;if(!en){break}nn=Wt.indexOf(en)}Pt._preInsert(tn(this._ownerDocument,Wt),en?en.nextSibling:Pt.firstChild)}}replaceWith(...Wt){const Pt=this.parentNode;if(Pt){let en=this.nextSibling;let nn=en?Wt.indexOf(en):-1;while(nn!==-1){en=en.nextSibling;if(!en){break}nn=Wt.indexOf(en)}const an=tn(this._ownerDocument,Wt);if(this.parentNode===Pt){Pt._replace(an,this)}else{Pt._preInsert(an,en)}}}}Wt.exports={implementation:ChildNodeImpl}},72773:(Wt,Pt,en)=>{const tn=en(62871).implementation;const nn=en(87094);const an=en(7206);class CommentImpl extends tn{constructor(Wt,Pt,en){super(Wt,Pt,{data:Pt[0],ownerDocument:nn.implForWrapper(Wt._document),...en});this.nodeType=an.COMMENT_NODE}}Wt.exports={implementation:CommentImpl}},6423:(Wt,Pt,en)=>{const tn=en(82748);const{HTML_NS:nn,SVG_NS:an}=en(98071);const{createElement:In,internalCreateElementNSSteps:rn}=en(94202);const sn=en(80842);const on=en(33111);class DOMImplementationImpl{constructor(Wt,Pt,en){this._globalObject=Wt;this._ownerDocument=en.ownerDocument}hasFeature(){return true}createDocumentType(Wt,Pt,en){tn.qname(this._globalObject,Wt);return sn.createImpl(this._globalObject,[],{ownerDocument:this._ownerDocument,name:Wt,publicId:Pt,systemId:en})}createDocument(Wt,Pt,en){let tn="application/xml";if(Wt===nn){tn="application/xhtml+xml"}else if(Wt===an){tn="image/svg+xml"}const In=on.createImpl(this._globalObject,{contentType:tn,parsingMode:"xml",encoding:"UTF-8"});let sn=null;if(Pt!==""){sn=rn(In,Wt,Pt,{})}if(en!==null){In.appendChild(en)}if(sn!==null){In.appendChild(sn)}In._origin=this._ownerDocument._origin;return In}createHTMLDocument(Wt){const Pt=on.createImpl(this._globalObject,{parsingMode:"html",encoding:"UTF-8"});const en=sn.createImpl(this._globalObject,[],{ownerDocument:Pt,name:"html",publicId:"",systemId:""});Pt.appendChild(en);const tn=In(Pt,"html",nn);Pt.appendChild(tn);const an=In(Pt,"head",nn);tn.appendChild(an);if(Wt!==undefined){const en=In(Pt,"title",nn);an.appendChild(en);en.appendChild(Pt.createTextNode(Wt))}const rn=In(Pt,"body",nn);tn.appendChild(rn);return Pt}}Wt.exports={implementation:DOMImplementationImpl}},45073:(Wt,Pt,en)=>{const tn=en(87094);const{setAttributeValue:nn,removeAttributeByName:an}=en(69936);const In=en(82748).name;const rn=en(16694);const sn=/^data-([^A-Z]*)$/;function attrCamelCase(Wt){return Wt.replace(/-([a-z])/g,((Wt,Pt)=>Pt.toUpperCase()))}function attrSnakeCase(Wt){return Wt.replace(/[A-Z]/g,(Wt=>`-${Wt.toLowerCase()}`))}Pt.implementation=class DOMStringMapImpl{constructor(Wt,Pt,en){this._globalObject=Wt;this._element=en.element}get[tn.supportedPropertyNames](){const Wt=new Set;const{attributes:Pt}=this._element;for(let en=0;en{const tn=en(16694);const nn=en(14295);const{asciiLowercase:an}=en(97205);const In=en(87094);const{getAttributeValue:rn,setAttributeValue:sn,hasAttributeByName:on}=en(69936);function validateTokens(Wt,...Pt){for(const en of Pt){if(en===""){throw tn.create(Wt,["The token provided must not be empty.","SyntaxError"])}}for(const en of Pt){if(/[\t\n\f\r ]/.test(en)){throw tn.create(Wt,["The token provided contains HTML space characters, which are not valid in tokens.","InvalidCharacterError"])}}}class DOMTokenListImpl{constructor(Wt,Pt,en){this._globalObject=Wt;this._tokenSet=new nn;this._element=en.element;this._attributeLocalName=en.attributeLocalName;this._supportedTokens=en.supportedTokens;this._dirty=true}attrModified(){this._dirty=true}_syncWithElement(){if(!this._dirty){return}const Wt=rn(this._element,this._attributeLocalName);if(Wt===null){this._tokenSet.empty()}else{this._tokenSet=nn.parse(Wt)}this._dirty=false}_validationSteps(Wt){if(!this._supportedTokens){throw new TypeError(`${this._attributeLocalName} attribute has no supported tokens`)}const Pt=an(Wt);return this._supportedTokens.has(Pt)}_updateSteps(){if(!on(this._element,this._attributeLocalName)&&this._tokenSet.isEmpty()){return}sn(this._element,this._attributeLocalName,this._tokenSet.serialize())}_serializeSteps(){return rn(this._element,this._attributeLocalName)}get tokenSet(){this._syncWithElement();return this._tokenSet}get length(){this._syncWithElement();return this._tokenSet.size}get[In.supportedPropertyIndices](){this._syncWithElement();return this._tokenSet.keys()}item(Wt){this._syncWithElement();if(Wt>=this._tokenSet.size){return null}return this._tokenSet.get(Wt)}contains(Wt){this._syncWithElement();return this._tokenSet.contains(Wt)}add(...Wt){for(const Pt of Wt){validateTokens(this._globalObject,Pt)}this._syncWithElement();for(const Pt of Wt){this._tokenSet.append(Pt)}this._updateSteps()}remove(...Wt){for(const Pt of Wt){validateTokens(this._globalObject,Pt)}this._syncWithElement();this._tokenSet.remove(...Wt);this._updateSteps()}toggle(Wt,Pt=undefined){validateTokens(this._globalObject,Wt);this._syncWithElement();if(this._tokenSet.contains(Wt)){if(Pt===undefined||Pt===false){this._tokenSet.remove(Wt);this._updateSteps();return false}return true}if(Pt===undefined||Pt===true){this._tokenSet.append(Wt);this._updateSteps();return true}return false}replace(Wt,Pt){validateTokens(this._globalObject,Wt,Pt);this._syncWithElement();if(!this._tokenSet.contains(Wt)){return false}this._tokenSet.replace(Wt,Pt);this._updateSteps();return true}supports(Wt){return this._validationSteps(Wt)}get value(){return this._serializeSteps()}set value(Wt){sn(this._element,this._attributeLocalName,Wt)}}Pt.implementation=DOMTokenListImpl},34641:(Wt,Pt,en)=>{const{CookieJar:tn}=en(96684);const nn=en(52746).implementation;const an=en(87094);const In=en(7206);const{mixin:rn,memoizeQuery:sn}=en(35702);const{firstChildWithLocalName:on,firstChildWithLocalNames:cn,firstDescendantWithLocalName:dn}=en(83521);const un=en(78012);const pn=en(25911);const{domSymbolTree:mn}=en(38542);const bn=en(15676);const{asciiLowercase:Gn,stripAndCollapseASCIIWhitespace:hn}=en(97205);const{childTextContent:Zn}=en(29200);const{HTML_NS:An,SVG_NS:Wn}=en(98071);const Nn=en(16694);const{parseIntoDocument:gn}=en(13430);const yn=en(81415);const vn=en(79972);const Yn=en(13506);const En=en(49747);const Vn=en(82748).name;const{validateAndExtract:Rn}=en(82748);const{fireAnEvent:wn}=en(83350);const{shadowIncludingInclusiveDescendantsIterator:Fn}=en(60470);const{enqueueCECallbackReaction:Qn}=en(8348);const{createElement:fn,internalCreateElementNSSteps:Hn}=en(94202);const Cn=en(1807);const Xn=en(86882).implementation;const kn=en(27206).implementation;const Jn=en(70837).implementation;const Ln=en(18394).implementation;const{clone:Bn,listOfElementsWithQualifiedName:xn,listOfElementsWithNamespaceAndLocalName:On,listOfElementsWithClassNames:Tn}=en(85621);const Un=en(17552);const Mn=en(22918);const zn=en(34786);const Sn=en(37711);const Dn=en(40196);const jn=en(98938);const _n=en(26017);const Kn=en(77821);const Pn=en(71497);const qn=en(21283);const $n=en(60190);const el=en(33111);const tl=en(73050);const nl=en(89045);const ll=en(94431);const al=en(32103);const Il=en(90863);const rl=en(78628);const sl=en(74374);const ol=en(8002);const cl=en(38007);const il=en(90442);const dl=en(13246);const ul=en(38921);const pl=en(36577);const ml=en(76177);const bl=en(10406);const Gl=en(1846);function clearChildNodes(Wt){for(let Pt=mn.firstChild(Wt);Pt;Pt=mn.firstChild(Wt)){Wt.removeChild(Pt)}}function pad(Wt){if(Wt<10){return"0"+Wt}return Wt}function toLastModifiedString(Wt){return pad(Wt.getMonth()+1)+"/"+pad(Wt.getDate())+"/"+Wt.getFullYear()+" "+pad(Wt.getHours())+":"+pad(Wt.getMinutes())+":"+pad(Wt.getSeconds())}const hl={customevent:tl,errorevent:nl,event:ll,events:ll,focusevent:al,hashchangeevent:Il,htmlevents:ll,keyboardevent:rl,messageevent:sl,mouseevent:ol,mouseevents:ol,popstateevent:cl,progressevent:il,svgevents:ll,touchevent:dl,uievent:ul,uievents:ul};class DocumentImpl extends nn{constructor(Wt,Pt,en){super(Wt,Pt,en);this._initGlobalEvents();this._ownerDocument=this;this.nodeType=In.DOCUMENT_NODE;if(!en.options){en.options={}}if(!en.options.parsingMode){en.options.parsingMode="xml"}if(!en.options.encoding){en.options.encoding="UTF-8"}if(!en.options.contentType){en.options.contentType=en.options.parsingMode==="xml"?"application/xml":"text/html"}this._parsingMode=en.options.parsingMode;this._implementation=_n.createImpl(this._globalObject,[],{ownerDocument:this});this._defaultView=en.options.defaultView||null;this._global=en.options.global;this._ids=Object.create(null);this._attached=true;this._currentScript=null;this._pageShowingFlag=false;this._cookieJar=en.options.cookieJar;this._parseOptions=en.options.parseOptions||{};this._scriptingDisabled=en.options.scriptingDisabled;if(this._cookieJar===undefined){this._cookieJar=new tn(null,{looseMode:true})}if(this._scriptingDisabled){this._parseOptions.scriptingEnabled=false}this.contentType=en.options.contentType;this._encoding=en.options.encoding;const nn=en.options.url===undefined?"about:blank":en.options.url;const an=un.parseURL(nn);if(an===null){throw new TypeError(`Could not parse "${nn}" as a URL`)}this._URL=an;this._origin=nn==="about:blank"&&en.options.parentOrigin?en.options.parentOrigin:un.serializeURLOrigin(this._URL);this._location=vn.createImpl(this._globalObject,[],{relevantDocument:this});this._history=yn.createImpl(this._globalObject,[],{window:this._defaultView,document:this,actAsIfLocationReloadCalled:()=>this._location.reload()});this._workingNodeIterators=new Cn;this._referrer=en.options.referrer||"";this._lastModified=toLastModifiedString(en.options.lastModified||new Date);this._asyncQueue=new ml;this._queue=new bl({asyncQueue:this._asyncQueue,paused:false});this._deferQueue=new bl({paused:true});this._requestManager=new pl;this._currentDocumentReadiness=en.options.readyState||"loading";this._lastFocusedElement=null;this._resourceLoader=new Gl(this);this._latestEntry=null;this._throwOnDynamicMarkupInsertionCounter=0;this._styleCache=null}_getTheParent(Wt){if(Wt.type==="load"||!this._defaultView){return null}return an.implForWrapper(this._defaultView)}get compatMode(){return this._parsingMode==="xml"||this.doctype?"CSS1Compat":"BackCompat"}get charset(){return this._encoding}get characterSet(){return this._encoding}get inputEncoding(){return this._encoding}get doctype(){for(const Wt of mn.childrenIterator(this)){if(Wt.nodeType===In.DOCUMENT_TYPE_NODE){return Wt}}return null}get URL(){return un.serializeURL(this._URL)}get documentURI(){return un.serializeURL(this._URL)}get location(){return this._defaultView?this._location:null}get documentElement(){for(const Wt of mn.childrenIterator(this)){if(Wt.nodeType===In.ELEMENT_NODE){return Wt}}return null}get implementation(){return this._implementation}set implementation(Wt){this._implementation=Wt}get defaultView(){return this._defaultView}get currentScript(){return this._currentScript}get readyState(){return this._currentDocumentReadiness}set readyState(Wt){this._currentDocumentReadiness=Wt;wn("readystatechange",this)}hasFocus(){return Boolean(this._lastFocusedElement)}_descendantRemoved(Wt,Pt){if(Pt.tagName==="STYLE"){this.styleSheets._remove(Pt.sheet)}super._descendantRemoved(Wt,Pt)}write(...Wt){let Pt="";for(let en=0;en0){throw Nn.create(this._globalObject,["Cannot use document.write while a custom element upgrades","InvalidStateError"])}if(this._writeAfterElement){const Wt=this.createElement("div");Wt.innerHTML=Pt;let en=Wt.firstChild;let tn=this._writeAfterElement;const nn=this._writeAfterElement.parentNode;while(en){const Wt=en;en=en.nextSibling;Wt._isMovingDueToDocumentWrite=true;nn.insertBefore(Wt,tn.nextSibling);Wt._isMovingDueToDocumentWrite=false;tn=Wt}}else if(this.readyState==="loading"){if(this.lastChild){let Wt=this;while(Wt.lastChild&&Wt.lastChild.nodeType===In.ELEMENT_NODE){Wt=Wt.lastChild}Wt.innerHTML=Pt}else{clearChildNodes(this);gn(Pt,this)}}else if(Pt){clearChildNodes(this);gn(Pt,this)}}writeln(...Wt){this.write(...Wt,"\n")}getElementById(Wt){if(!this._ids[Wt]){return null}const Pt=this._ids[Wt].find((Wt=>{let Pt=Wt;while(mn.parent(Pt)){Pt=mn.parent(Pt)}return Pt===this}));return Pt||null}get referrer(){return this._referrer||""}get lastModified(){return this._lastModified}get images(){return this.getElementsByTagName("IMG")}get embeds(){return this.getElementsByTagName("EMBED")}get plugins(){return this.embeds}get links(){return Yn.createImpl(this._globalObject,[],{element:this,query:()=>mn.treeToArray(this,{filter:Wt=>(Wt._localName==="a"||Wt._localName==="area")&&Wt.hasAttributeNS(null,"href")&&Wt._namespaceURI===An})})}get forms(){return this.getElementsByTagName("FORM")}get scripts(){return this.getElementsByTagName("SCRIPT")}get anchors(){return Yn.createImpl(this._globalObject,[],{element:this,query:()=>mn.treeToArray(this,{filter:Wt=>Wt._localName==="a"&&Wt.hasAttributeNS(null,"name")&&Wt._namespaceURI===An})})}get applets(){return Yn.createImpl(this._globalObject,[],{element:this,query:()=>[]})}open(){let Wt=mn.firstChild(this);while(Wt){this.removeChild(Wt);Wt=mn.firstChild(this)}this._modified();return this}close(Wt){if(Wt){this.readyState="complete";wn("DOMContentLoaded",this,undefined,{bubbles:true});wn("load",this);return}this._queue.resume();const Pt=Promise.resolve();const onDOMContentLoad=()=>{const Wt=this;function dispatchEvent(){Wt.readyState="interactive";wn("DOMContentLoaded",Wt,undefined,{bubbles:true})}return new Promise((Wt=>{if(!this._deferQueue.tail){dispatchEvent();Wt();return}this._deferQueue.setListener((()=>{dispatchEvent();Wt()}));this._deferQueue.resume()}))};const onLoad=()=>{const Wt=this;function dispatchEvent(){Wt.readyState="complete";wn("load",Wt)}return new Promise((Wt=>{if(this._asyncQueue.count()===0){dispatchEvent();Wt();return}this._asyncQueue.setListener((()=>{dispatchEvent();Wt()}))}))};this._queue.push(Pt,onDOMContentLoad,null);this._queue.push(Pt,onLoad,null,true)}getElementsByName(Wt){return En.createImpl(this._globalObject,[],{element:this,query:()=>mn.treeToArray(this,{filter:Pt=>Pt.getAttributeNS&&Pt.getAttributeNS(null,"name")===Wt})})}get title(){const{documentElement:Wt}=this;let Pt="";if(Wt&&Wt._localName==="svg"){const en=on(Wt,"title",Wn);if(en){Pt=Zn(en)}}else{const Wt=dn(this,"title");if(Wt){Pt=Zn(Wt)}}Pt=hn(Pt);return Pt}set title(Wt){const{documentElement:Pt}=this;let en;if(Pt&&Pt._localName==="svg"){en=on(Pt,"title",Wn);if(!en){en=this.createElementNS(Wn,"title");this._insert(en,Pt.firstChild)}en.textContent=Wt}else if(Pt&&Pt._namespaceURI===An){const Pt=dn(this,"title");const tn=this.head;if(Pt===null&&tn===null){return}if(Pt!==null){en=Pt}else{en=this.createElement("title");tn._append(en)}en.textContent=Wt}}get dir(){return this.documentElement?this.documentElement.dir:""}set dir(Wt){if(this.documentElement){this.documentElement.dir=Wt}}get head(){return this.documentElement?on(this.documentElement,"head"):null}get body(){const{documentElement:Wt}=this;if(!Wt||Wt._localName!=="html"||Wt._namespaceURI!==An){return null}return cn(this.documentElement,new Set(["body","frameset"]))}set body(Wt){if(Wt===null||Wt._namespaceURI!==An||Wt._localName!=="body"&&Wt._localName!=="frameset"){throw Nn.create(this._globalObject,["Cannot set the body to null or a non-body/frameset element","HierarchyRequestError"])}const Pt=this.body;if(Wt===Pt){return}if(Pt!==null){Pt.parentNode._replace(Wt,Pt);return}const{documentElement:en}=this;if(en===null){throw Nn.create(this._globalObject,["Cannot set the body when there is no document element","HierarchyRequestError"])}en._append(Wt)}_runPreRemovingSteps(Wt){if(Wt===this.activeElement){this._lastFocusedElement=this.body}for(const Pt of this._workingNodeIterators){Pt._preRemovingSteps(Wt)}}createEvent(Wt){const Pt=Wt.toLowerCase();const en=hl[Pt]||null;if(!en){throw Nn.create(this._globalObject,['The provided event type ("'+Wt+'") is invalid',"NotSupportedError"])}const tn=en.createImpl(this._globalObject,[""]);tn._initializedFlag=false;return tn}createRange(){return $n.createImpl(this._globalObject,[],{start:{node:this,offset:0},end:{node:this,offset:0}})}createProcessingInstruction(Wt,Pt){Vn(this._globalObject,Wt);if(Pt.includes("?>")){throw Nn.create(this._globalObject,['Processing instruction data cannot contain the string "?>"',"InvalidCharacterError"])}return zn.createImpl(this._globalObject,[],{ownerDocument:this,target:Wt,data:Pt})}createCDATASection(Wt){if(this._parsingMode==="html"){throw Nn.create(this._globalObject,["Cannot create CDATA sections in HTML documents","NotSupportedError"])}if(Wt.includes("]]>")){throw Nn.create(this._globalObject,['CDATA section data cannot contain the string "]]>"',"InvalidCharacterError"])}return Sn.createImpl(this._globalObject,[],{ownerDocument:this,data:Wt})}createTextNode(Wt){return Dn.createImpl(this._globalObject,[],{ownerDocument:this,data:Wt})}createComment(Wt){return Mn.createImpl(this._globalObject,[],{ownerDocument:this,data:Wt})}createElement(Wt,Pt){Vn(this._globalObject,Wt);if(this._parsingMode==="html"){Wt=Gn(Wt)}let en=null;if(Pt&&Pt.is!==undefined){en=Pt.is}const tn=this._parsingMode==="html"||this.contentType==="application/xhtml+xml"?An:null;return fn(this,Wt,tn,null,en,true)}createElementNS(Wt,Pt,en){return Hn(this,Wt,Pt,en)}createDocumentFragment(){return jn.createImpl(this._globalObject,[],{ownerDocument:this})}createAttribute(Wt){Vn(this._globalObject,Wt);if(this._parsingMode==="html"){Wt=Gn(Wt)}return this._createAttribute({localName:Wt})}createAttributeNS(Wt,Pt){if(Wt===undefined){Wt=null}Wt=Wt!==null?String(Wt):Wt;const en=Rn(this._globalObject,Wt,Pt);return this._createAttribute({namespace:en.namespace,namespacePrefix:en.prefix,localName:en.localName})}_createAttribute({localName:Wt,value:Pt,namespace:en,namespacePrefix:tn}){return Un.createImpl(this._globalObject,[],{localName:Wt,value:Pt,namespace:en,namespacePrefix:tn,ownerDocument:this})}createTreeWalker(Wt,Pt,en){return Kn.createImpl(this._globalObject,[],{root:Wt,whatToShow:Pt,filter:en})}createNodeIterator(Wt,Pt,en){const tn=Pn.createImpl(this._globalObject,[],{root:Wt,whatToShow:Pt,filter:en});this._workingNodeIterators.add(tn);return tn}importNode(Wt,Pt){if(Wt.nodeType===In.DOCUMENT_NODE){throw Nn.create(this._globalObject,["Cannot import a document node","NotSupportedError"])}else if(qn.isImpl(Wt)){throw Nn.create(this._globalObject,["Cannot adopt a shadow root","NotSupportedError"])}return Bn(Wt,this,Pt)}adoptNode(Wt){if(Wt.nodeType===In.DOCUMENT_NODE){throw Nn.create(this._globalObject,["Cannot adopt a document node","NotSupportedError"])}else if(qn.isImpl(Wt)){throw Nn.create(this._globalObject,["Cannot adopt a shadow root","HierarchyRequestError"])}this._adoptNode(Wt);return Wt}_adoptNode(Wt){const Pt=this;const en=Wt._ownerDocument;const tn=mn.parent(Wt);if(tn){tn._remove(Wt)}if(en!==Pt){for(const en of Fn(Wt)){en._ownerDocument=Pt}for(const tn of Fn(Wt)){if(tn._ceState==="custom"){Qn(tn,"adoptedCallback",[an.wrapperForImpl(en),an.wrapperForImpl(Pt)])}}for(const Pt of Fn(Wt)){if(Pt._adoptingSteps){Pt._adoptingSteps(en)}}}}get cookie(){return this._cookieJar.getCookieStringSync(this.URL,{http:false})}set cookie(Wt){Wt=String(Wt);this._cookieJar.setCookieSync(Wt,this.URL,{http:false,ignoreError:true})}clear(){}captureEvents(){}releaseEvents(){}get styleSheets(){if(!this._styleSheets){this._styleSheets=pn.createImpl(this._globalObject)}return this._styleSheets}get hidden(){if(this._defaultView&&this._defaultView._pretendToBeVisual){return false}return true}get visibilityState(){if(this._defaultView&&this._defaultView._pretendToBeVisual){return"visible"}return"prerender"}getSelection(){return this._defaultView?this._defaultView._selection:null}_cloneDocument(){const Wt=el.createImpl(this._globalObject,{contentType:this.contentType,encoding:this._encoding,parsingMode:this._parsingMode});Wt._URL=this._URL;Wt._origin=this._origin;return Wt}}bn.createEventAccessor(DocumentImpl.prototype,"readystatechange");rn(DocumentImpl.prototype,Xn.prototype);rn(DocumentImpl.prototype,kn.prototype);rn(DocumentImpl.prototype,Jn.prototype);rn(DocumentImpl.prototype,Ln.prototype);DocumentImpl.prototype.getElementsByTagName=sn((function(Wt){return xn(Wt,this)}));DocumentImpl.prototype.getElementsByTagNameNS=sn((function(Wt,Pt){return On(Wt,Pt,this)}));DocumentImpl.prototype.getElementsByClassName=sn((function getElementsByClassName(Wt){return Tn(Wt,this)}));Wt.exports={implementation:DocumentImpl}},98089:(Wt,Pt,en)=>{const{mixin:tn}=en(35702);const{domSymbolTree:nn}=en(38542);const an=en(7206);const In=en(52746).implementation;const rn=en(70837).implementation;const sn=en(18394).implementation;const on=en(87094);class DocumentFragmentImpl extends In{constructor(Wt,Pt,en){super(Wt,Pt,{ownerDocument:on.implForWrapper(Wt._document),...en});const{host:tn}=en;this._host=tn;this.nodeType=an.DOCUMENT_FRAGMENT_NODE}getElementById(Wt){if(Wt===""){return null}for(const Pt of nn.treeIterator(this)){if(Pt.nodeType===an.ELEMENT_NODE&&Pt.getAttributeNS(null,"id")===Wt){return Pt}}return null}}tn(DocumentFragmentImpl.prototype,rn.prototype);tn(DocumentFragmentImpl.prototype,sn.prototype);Wt.exports={implementation:DocumentFragmentImpl}},86882:(Wt,Pt,en)=>{const tn=en(7206);const{nodeRoot:nn}=en(39471);const{retarget:an}=en(60470);class DocumentOrShadowRootImpl{get activeElement(){let Wt=this._ownerDocument._lastFocusedElement||this._ownerDocument.body;if(!Wt){return null}Wt=an(Wt,this);if(nn(Wt)!==this){return null}if(Wt.nodeType!==tn.DOCUMENT_NODE){return Wt}if(Wt.body!==null){return Wt.body}return Wt.documentElement}}Wt.exports={implementation:DocumentOrShadowRootImpl}},83017:(Wt,Pt,en)=>{const{mixin:tn}=en(35702);const nn=en(52746).implementation;const an=en(42048).implementation;const In=en(7206);class DocumentTypeImpl extends nn{constructor(Wt,Pt,en){super(Wt,Pt,en);this.nodeType=In.DOCUMENT_TYPE_NODE;this.name=en.name;this.publicId=en.publicId;this.systemId=en.systemId}}tn(DocumentTypeImpl.prototype,an.prototype);Wt.exports={implementation:DocumentTypeImpl}},54782:(Wt,Pt,en)=>{const{addNwsapi:tn}=en(561);const{HTML_NS:nn}=en(98071);const{mixin:an,memoizeQuery:In}=en(35702);const rn=en(87094);const sn=en(52746).implementation;const on=en(18394).implementation;const cn=en(42048).implementation;const dn=en(69936);const un=en(59397);const pn=en(7206);const{parseFragment:mn}=en(13430);const bn=en(97066).D;const{fragmentSerialization:Gn}=en(49446);const{domSymbolTree:hn}=en(38542);const Zn=en(16694);const An=en(24406);const Wn=en(89762);const Nn=en(82748);const{asciiLowercase:gn,asciiUppercase:yn}=en(97205);const{listOfElementsWithQualifiedName:vn,listOfElementsWithNamespaceAndLocalName:Yn,listOfElementsWithClassNames:En}=en(85621);const Vn=en(72498).implementation;const Rn=en(14918).implementation;const wn=en(21283);const Fn=en(40196);const{isValidHostElementName:Qn}=en(60470);const{isValidCustomElementName:fn,lookupCEDefinition:Hn}=en(8348);function attachId(Wt,Pt,en){if(Wt&&Pt&&en){if(!en._ids[Wt]){en._ids[Wt]=[]}en._ids[Wt].push(Pt)}}function detachId(Wt,Pt,en){if(Wt&&Pt&&en){if(en._ids&&en._ids[Wt]){const tn=en._ids[Wt];for(let Wt=0;Wt{const tn=en(99712);class ElementCSSInlineStyle{_initElementCSSInlineStyle(){this._settingCssText=false;this._style=new tn.CSSStyleDeclaration((Wt=>{if(!this._settingCssText){this._settingCssText=true;this.setAttributeNS(null,"style",Wt);this._settingCssText=false}}))}get style(){return this._style}}Wt.exports={implementation:ElementCSSInlineStyle}},27206:(Wt,Pt,en)=>{const{appendHandler:tn,createEventAccessor:nn}=en(15676);const an=new Set(["abort","auxclick","beforeinput","beforematch","beforetoggle","blur","cancel","canplay","canplaythrough","change","click","close","contextlost","contextmenu","contextrestored","copy","cuechange","cut","dblclick","drag","dragend","dragenter","dragleave","dragover","dragstart","drop","durationchange","emptied","ended","error","focus","formdata","input","invalid","keydown","keypress","keyup","load","loadeddata","loadedmetadata","loadstart","mousedown","mouseenter","mouseleave","mousemove","mouseout","mouseover","mouseup","paste","pause","play","playing","progress","ratechange","reset","resize","scroll","scrollend","securitypolicyviolation","seeked","seeking","select","slotchange","stalled","submit","suspend","timeupdate","toggle","volumechange","waiting","webkitanimationend","webkitanimationiteration","webkitanimationstart","webkittransitionend","wheel","touchstart","touchend","touchmove","touchcancel"]);class GlobalEventHandlersImpl{_initGlobalEvents(){this._registeredHandlers=new Set;this._eventHandlers=Object.create(null)}_getEventHandlerTarget(){return this}_getEventHandlerFor(Wt){const Pt=this._getEventHandlerTarget(Wt);if(!Pt){return null}return Pt._eventHandlers[Wt]}_setEventHandlerFor(Wt,Pt){const en=this._getEventHandlerTarget(Wt);if(!en){return}if(!en._registeredHandlers.has(Wt)&&Pt!==null){en._registeredHandlers.add(Wt);tn(en,Wt)}en._eventHandlers[Wt]=Pt}_globalEventChanged(Wt){const Pt="on"+Wt;if(!(Pt in this)){return}const en="_runScripts"in this?this._runScripts:(this._ownerDocument._defaultView||{})._runScripts;if(en!=="dangerously"){return}const tn=this.getAttributeNS(null,Pt);const nn=tn===null?null:{body:tn};this._setEventHandlerFor(Wt,nn)}}for(const Wt of an){nn(GlobalEventHandlersImpl.prototype,Wt)}Wt.exports={implementation:GlobalEventHandlersImpl}},49786:(Wt,Pt,en)=>{const{mixin:tn}=en(35702);const nn=en(24406);const an=en(95927).implementation;const In=en(18590).D;class HTMLAnchorElementImpl extends an{constructor(Wt,Pt,en){super(Wt,Pt,en);this._htmlHyperlinkElementUtilsSetup();this._hasActivationBehavior=true}_activationBehavior(){this._followAHyperlink()}get relList(){if(this._relList===undefined){this._relList=nn.createImpl(this._globalObject,[],{element:this,attributeLocalName:"rel"})}return this._relList}get text(){return this.textContent}set text(Wt){this.textContent=Wt}_attrModified(Wt,Pt,en){super._attrModified(Wt,Pt,en);if(Wt==="rel"&&this._relList!==undefined){this._relList.attrModified()}}}tn(HTMLAnchorElementImpl.prototype,In.prototype);Wt.exports={implementation:HTMLAnchorElementImpl}},35962:(Wt,Pt,en)=>{const{mixin:tn}=en(35702);const nn=en(24406);const an=en(95927).implementation;const In=en(18590).D;class HTMLAreaElementImpl extends an{constructor(Wt,Pt,en){super(Wt,Pt,en);this._htmlHyperlinkElementUtilsSetup();this._hasActivationBehavior=true}_activationBehavior(){this._followAHyperlink()}get relList(){if(this._relList===undefined){this._relList=nn.createImpl(this._globalObject,[],{element:this,attributeLocalName:"rel"})}return this._relList}_attrModified(Wt,Pt,en){super._attrModified(Wt,Pt,en);if(Wt==="rel"&&this._relList!==undefined){this._relList.attrModified()}}}tn(HTMLAreaElementImpl.prototype,In.prototype);Wt.exports={implementation:HTMLAreaElementImpl}},98867:(Wt,Pt,en)=>{const tn=en(4229).implementation;class HTMLAudioElementImpl extends tn{}Wt.exports={implementation:HTMLAudioElementImpl}},64775:(Wt,Pt,en)=>{const tn=en(95927).implementation;class HTMLBRElementImpl extends tn{}Wt.exports={implementation:HTMLBRElementImpl}},99254:(Wt,Pt,en)=>{const tn=en(78012);const nn=en(95927).implementation;const{fallbackBaseURL:an}=en(30962);class HTMLBaseElementImpl extends nn{get href(){const Wt=this._ownerDocument;const Pt=this.hasAttributeNS(null,"href")?this.getAttributeNS(null,"href"):"";const en=tn.parseURL(Pt,{baseURL:an(Wt)});if(en===null){return Pt}return tn.serializeURL(en)}set href(Wt){this.setAttributeNS(null,"href",Wt)}}Wt.exports={implementation:HTMLBaseElementImpl}},57063:(Wt,Pt,en)=>{const{mixin:tn}=en(35702);const nn=en(95927).implementation;const an=en(64473).implementation;class HTMLBodyElementImpl extends nn{constructor(...Wt){super(...Wt);this._proxyWindowEventsToWindow()}}tn(HTMLBodyElementImpl.prototype,an.prototype);Wt.exports={implementation:HTMLBodyElementImpl}},3403:(Wt,Pt,en)=>{const tn=en(95927).implementation;const nn=en(95449).D;const{mixin:an}=en(35702);const{isDisabled:In,formOwner:rn,getLabelsForLabelable:sn}=en(10588);const{asciiLowercase:on}=en(97205);class HTMLButtonElementImpl extends tn{constructor(Wt,Pt,en){super(Wt,Pt,en);this._customValidityErrorMessage="";this._labels=null;this._hasActivationBehavior=true}_activationBehavior(){const{form:Wt}=this;if(Wt&&!In(this)){if(this.type==="submit"){Wt._doRequestSubmit(this)}if(this.type==="reset"){Wt._doReset()}}}_getValue(){const Wt=this.getAttributeNS(null,"value");return Wt===null?"":Wt}get labels(){return sn(this)}get form(){return rn(this)}get type(){const Wt=on(this.getAttributeNS(null,"type")||"");switch(Wt){case"submit":case"reset":case"button":return Wt;default:return"submit"}}set type(Wt){Wt=on(String(Wt));switch(Wt){case"submit":case"reset":case"button":this.setAttributeNS(null,"type",Wt);break;default:this.setAttributeNS(null,"type","submit");break}}_barredFromConstraintValidationSpecialization(){return this.type==="reset"||this.type==="button"}}an(HTMLButtonElementImpl.prototype,nn.prototype);Wt.exports={implementation:HTMLButtonElementImpl}},64379:(Wt,Pt,en)=>{const tn=en(95927).implementation;const nn=en(8172);const an=en(87094);const{Canvas:In}=en(35702);class HTMLCanvasElementImpl extends tn{_attrModified(Wt,Pt,en){if(this._canvas&&(Wt==="width"||Wt==="height")){this._canvas[Wt]=parseInt(Pt)}super._attrModified(Wt,Pt,en)}_getCanvas(){if(In&&!this._canvas){this._canvas=In.createCanvas(this.width,this.height)}return this._canvas}getContext(Wt){const Pt=this._getCanvas();if(Pt){if(!this._context){this._context=Pt.getContext(Wt)||null;if(this._context){this._context.canvas=an.wrapperForImpl(this);wrapNodeCanvasMethod(this._context,"createPattern");wrapNodeCanvasMethod(this._context,"drawImage")}}return this._context}nn("HTMLCanvasElement.prototype.getContext (without installing the canvas npm package)",this._ownerDocument._defaultView);return null}toDataURL(...Wt){const Pt=this._getCanvas();if(Pt){return Pt.toDataURL(...Wt)}nn("HTMLCanvasElement.prototype.toDataURL (without installing the canvas npm package)",this._ownerDocument._defaultView);return null}toBlob(Wt,Pt,en){const tn=this._ownerDocument._defaultView;const an=this._getCanvas();if(an){const nn={};switch(Pt){case"image/jpg":case"image/jpeg":Pt="image/jpeg";nn.quality=en;break;default:Pt="image/png"}an.toBuffer(((en,nn)=>{if(en){throw en}Wt(new tn.Blob([nn],{type:Pt}))}),Pt,nn)}else{nn("HTMLCanvasElement.prototype.toBlob (without installing the canvas npm package)",tn)}}get width(){const Wt=parseInt(this.getAttributeNS(null,"width"));return isNaN(Wt)||Wt<0||Wt>2147483647?300:Wt}set width(Wt){Wt=Wt>2147483647?300:Wt;this.setAttributeNS(null,"width",String(Wt))}get height(){const Wt=parseInt(this.getAttributeNS(null,"height"));return isNaN(Wt)||Wt<0||Wt>2147483647?150:Wt}set height(Wt){Wt=Wt>2147483647?150:Wt;this.setAttributeNS(null,"height",String(Wt))}}function wrapNodeCanvasMethod(Wt,Pt){const en=Wt[Pt];Wt[Pt]=function(Pt,...tn){const nn=an.implForWrapper(Pt);if(nn){if(nn instanceof HTMLCanvasElementImpl&&!nn._canvas){nn._getCanvas()}Pt=nn._image||nn._canvas}return en.call(Wt,Pt,...tn)}}Wt.exports={implementation:HTMLCanvasElementImpl}},76041:(Wt,Pt,en)=>{const tn=en(87094);const{HTML_NS:nn}=en(98071);Pt.implementation=class HTMLCollectionImpl{constructor(Wt,Pt,en){this._list=[];this._version=-1;this._element=en.element;this._query=en.query;this._globalObject=Wt;this._update()}get length(){this._update();return this._list.length}item(Wt){this._update();return this._list[Wt]||null}namedItem(Wt){if(Wt===""){return null}this._update();for(const Pt of this._list){if(Pt.getAttributeNS(null,"id")===Wt){return Pt}if(Pt._namespaceURI===nn){const en=Pt.getAttributeNS(null,"name");if(en===Wt){return Pt}}}return null}_update(){if(this._version{const tn=en(95927).implementation;class HTMLDListElementImpl extends tn{}Wt.exports={implementation:HTMLDListElementImpl}},2615:(Wt,Pt,en)=>{const tn=en(95927).implementation;class HTMLDataElementImpl extends tn{}Wt.exports={implementation:HTMLDataElementImpl}},31483:(Wt,Pt,en)=>{const tn=en(13506);const nn=en(95927).implementation;const{descendantsByLocalName:an}=en(83521);class HTMLDataListElementImpl extends nn{get options(){return tn.createImpl(this._globalObject,[],{element:this,query:()=>an(this,"option")})}}Wt.exports={implementation:HTMLDataListElementImpl}},19175:(Wt,Pt,en)=>{const{fireAnEvent:tn}=en(83350);const nn=en(95927).implementation;class HTMLDetailsElementImpl extends nn{constructor(Wt,Pt,en){super(Wt,Pt,en);this._taskQueue=null}_dispatchToggleEvent(){this._taskQueue=null;tn("toggle",this)}_attrModified(Wt,Pt,en){super._attrModified(Wt,Pt,en);if(Wt==="open"&&this._taskQueue===null){if(Pt!==en&&Pt!==null&&en===null||Pt===null&&en!==null){this._taskQueue=setTimeout(this._dispatchToggleEvent.bind(this),0)}}}}Wt.exports={implementation:HTMLDetailsElementImpl}},96563:(Wt,Pt,en)=>{const tn=en(95927).implementation;class HTMLDialogElementImpl extends tn{}Wt.exports={implementation:HTMLDialogElementImpl}},69158:(Wt,Pt,en)=>{const tn=en(95927).implementation;class HTMLDirectoryElementImpl extends tn{}Wt.exports={implementation:HTMLDirectoryElementImpl}},93702:(Wt,Pt,en)=>{const tn=en(95927).implementation;class HTMLDivElementImpl extends tn{}Wt.exports={implementation:HTMLDivElementImpl}},95927:(Wt,Pt,en)=>{const{mixin:tn}=en(35702);const nn=en(54782).implementation;const an=en(16694);const In=en(8002);const rn=en(1745);const sn=en(16819).implementation;const on=en(27206).implementation;const cn=en(67712).D;const{firstChildWithLocalName:dn}=en(83521);const{isDisabled:un}=en(10588);const{fireAnEvent:pn}=en(83350);const{asciiLowercase:mn}=en(97205);const{lookupCEDefinition:bn}=en(8348);class HTMLElementImpl extends nn{constructor(Wt,Pt,en){super(Wt,Pt,en);this._initHTMLOrSVGElement();this._initElementCSSInlineStyle();this._initGlobalEvents();this._clickInProgress=false;this._hasActivationBehavior=this._localName==="summary";this._attachedInternals=null}_activationBehavior(){const Wt=this.parentNode;if(Wt&&Wt._localName==="details"&&this===dn(Wt,"summary")){if(Wt.hasAttributeNS(null,"open")){Wt.removeAttributeNS(null,"open")}else{Wt.setAttributeNS(null,"open","")}}}get translate(){const Wt=this.getAttributeNS(null,"translate");const Pt=mn(Wt||"");if(Pt==="yes"||Wt&&Pt===""){return true}else if(Pt==="no"){return false}if(this===this.ownerDocument.documentElement){return true}return this.parentElement&&this.parentElement.translate}set translate(Wt){if(Wt===true){this.setAttributeNS(null,"translate","yes")}else{this.setAttributeNS(null,"translate","no")}}click(){if(un(this)){return}if(this._clickInProgress){return}this._clickInProgress=true;pn("click",this,In,{bubbles:true,cancelable:true,composed:true,isTrusted:false,view:this.ownerDocument.defaultView});this._clickInProgress=false}get draggable(){const Wt=mn(this.getAttributeNS(null,"draggable")||"");if(Wt==="true"){return true}else if(Wt==="false"){return false}return this._localName==="img"||this._localName==="a"&&this.hasAttributeNS(null,"href")}set draggable(Wt){this.setAttributeNS(null,"draggable",String(Wt))}get dir(){let Wt=this.getAttributeNS(null,"dir");if(Wt!==null){Wt=Wt.toLowerCase();if(["ltr","rtl","auto"].includes(Wt)){return Wt}}return""}set dir(Wt){this.setAttributeNS(null,"dir",Wt)}attachInternals(){if(this._isValue!==null){throw an.create(this._globalObject,["Unable to attach ElementInternals to a customized built-in element.","NotSupportedError"])}const Wt=bn(this._ownerDocument,this._namespaceURI,this._localName,null);if(Wt===null){throw an.create(this._globalObject,["Unable to attach ElementInternals to non-custom elements.","NotSupportedError"])}if(Wt.disableInternals===true){throw an.create(this._globalObject,["ElementInternals is disabled by disabledFeature static field.","NotSupportedError"])}if(this._attachedInternals!==null){throw an.create(this._globalObject,["ElementInternals for the specified element was already attached.","NotSupportedError"])}if(this._ceState!=="precustomized"&&this._ceState!=="custom"){throw an.create(this._globalObject,["The attachInternals() function cannot be called prior to the execution of the custom element constructor.","NotSupportedError"])}this._attachedInternals=rn.createImpl(this._globalObject,[],{targetElement:this});return this._attachedInternals}_attrModified(Wt,Pt,en){if(Wt==="style"&&Pt!==en&&!this._settingCssText){this._settingCssText=true;this._style.cssText=Pt;this._settingCssText=false}else if(Wt.startsWith("on")){this._globalEventChanged(Wt.substring(2))}super._attrModified(Wt,Pt,en)}get offsetParent(){return null}get offsetTop(){return 0}get offsetLeft(){return 0}get offsetWidth(){return 0}get offsetHeight(){return 0}}tn(HTMLElementImpl.prototype,sn.prototype);tn(HTMLElementImpl.prototype,on.prototype);tn(HTMLElementImpl.prototype,cn.prototype);Wt.exports={implementation:HTMLElementImpl}},4012:(Wt,Pt,en)=>{const tn=en(95927).implementation;class HTMLEmbedElementImpl extends tn{}Wt.exports={implementation:HTMLEmbedElementImpl}},59615:(Wt,Pt,en)=>{const tn=en(13506);const nn=en(95927).implementation;const an=en(95449).D;const{formOwner:In}=en(10588);const{mixin:rn}=en(35702);const{descendantsByLocalNames:sn}=en(83521);const on=new Set(["button","fieldset","input","object","output","select","textarea"]);class HTMLFieldSetElementImpl extends nn{constructor(Wt,Pt,en){super(Wt,Pt,en);this._customValidityErrorMessage=""}get elements(){return tn.createImpl(this._globalObject,[],{element:this,query:()=>sn(this,on)})}get form(){return In(this)}get type(){return"fieldset"}_barredFromConstraintValidationSpecialization(){return true}}rn(HTMLFieldSetElementImpl.prototype,an.prototype);Wt.exports={implementation:HTMLFieldSetElementImpl}},49758:(Wt,Pt,en)=>{const tn=en(95927).implementation;class HTMLFontElementImpl extends tn{}Wt.exports={implementation:HTMLFontElementImpl}},12085:(Wt,Pt,en)=>{const tn=en(76041).implementation;const nn=en(9344);Pt.implementation=class HTMLFormControlsCollectionImpl extends tn{namedItem(Wt){if(Wt===""){return null}this._update();const Pt=nn.createImpl(this._globalObject,[],{element:this,query:()=>this._list.filter((Pt=>Pt.getAttributeNS(null,"id")===Wt||Pt.getAttributeNS(null,"name")===Wt))});switch(Pt.length){case 0:{return null}case 1:{return Pt.item(0)}default:{return Pt}}}}},70161:(Wt,Pt,en)=>{const tn=en(16694);const{serializeURL:nn}=en(78012);const an=en(95927).implementation;const{domSymbolTree:In}=en(38542);const{fireAnEvent:rn}=en(83350);const{formOwner:sn,isListed:on,isSubmittable:cn,isSubmitButton:dn}=en(10588);const un=en(59470);const pn=en(8172);const{parseURLToResultingURLRecord:mn}=en(30962);const bn=en(3823);const Gn=new Set(["application/x-www-form-urlencoded","multipart/form-data","text/plain"]);const hn=new Set(["get","post","dialog"]);const Zn=Symbol("positive");const An=Symbol("negative");class HTMLFormElementImpl extends an{_descendantAdded(Wt,Pt){const en=this;for(const Wt of In.treeIterator(Pt)){if(typeof Wt._changedFormOwner==="function"){Wt._changedFormOwner(en)}}super._descendantAdded(Wt,Pt)}_descendantRemoved(Wt,Pt){for(const Wt of In.treeIterator(Pt)){if(typeof Wt._changedFormOwner==="function"){Wt._changedFormOwner(null)}}super._descendantRemoved(Wt,Pt)}_getSubmittableElementNodes(){return In.treeToArray(this.getRootNode({}),{filter:Wt=>{if(!cn(Wt)){return false}return sn(Wt)===this}})}_getElementNodes(){return In.treeToArray(this.getRootNode({}),{filter:Wt=>{if(!on(Wt)||Wt._localName==="input"&&Wt.type==="image"){return false}return sn(Wt)===this}})}get elements(){return un.createImpl(this._globalObject,[],{element:this.getRootNode({}),query:()=>this._getElementNodes()})}get length(){return this.elements.length}_doRequestSubmit(Wt){if(!this.isConnected){return}this.requestSubmit(Wt)}submit(){pn("HTMLFormElement.prototype.submit",this._ownerDocument._defaultView)}requestSubmit(Wt=null){if(Wt!==null){if(!dn(Wt)){throw new TypeError("The specified element is not a submit button")}if(Wt.form!==this){throw tn.create(this._globalObject,["The specified element is not owned by this form element","NotFoundError"])}}if(!this.hasAttributeNS(null,"novalidate")&&!this.reportValidity()){return}if(!rn("submit",this,bn,{bubbles:true,cancelable:true,submitter:Wt})){return}pn("HTMLFormElement.prototype.requestSubmit",this._ownerDocument._defaultView)}_doReset(){if(!this.isConnected){return}this.reset()}reset(){if(!rn("reset",this,undefined,{bubbles:true,cancelable:true})){return}for(const Wt of this.elements){if(typeof Wt._formReset==="function"){Wt._formReset()}}}get method(){let Wt=this.getAttributeNS(null,"method");if(Wt){Wt=Wt.toLowerCase()}if(hn.has(Wt)){return Wt}return"get"}set method(Wt){this.setAttributeNS(null,"method",Wt)}get enctype(){let Wt=this.getAttributeNS(null,"enctype");if(Wt){Wt=Wt.toLowerCase()}if(Gn.has(Wt)){return Wt}return"application/x-www-form-urlencoded"}set enctype(Wt){this.setAttributeNS(null,"enctype",Wt)}get action(){const Wt=this.getAttributeNS(null,"action");if(Wt===null||Wt===""){return this._ownerDocument.URL}const Pt=mn(Wt,this._ownerDocument);if(Pt===null){return Wt}return nn(Pt)}set action(Wt){this.setAttributeNS(null,"action",Wt)}checkValidity(){return this._staticallyValidateConstraints().result===Zn}reportValidity(){return this.checkValidity()}_staticallyValidateConstraints(){const Wt=[];for(const Pt of this.elements){if(Pt.form===this&&cn(Pt)){Wt.push(Pt)}}const Pt=[];for(const en of Wt){if(en._isCandidateForConstraintValidation()&&!en._satisfiesConstraints()){Pt.push(en)}}if(Pt.length===0){return{result:Zn}}const en=[];for(const Wt of Pt){const Pt=rn("invalid",Wt,undefined,{cancelable:true});if(Pt){en.push(Wt)}}return{result:An,unhandledInvalidControls:en}}}Wt.exports={implementation:HTMLFormElementImpl}},7700:(Wt,Pt,en)=>{const tn=en(59344);const nn=en(86476);const{parseURL:an,serializeURL:In}=en(78012);const rn=en(45528);const sn=en(30398);const on=en(95927).implementation;const{evaluateJavaScriptURL:cn}=en(63714);const{parseIntoDocument:dn}=en(13430);const{documentBaseURL:un}=en(30962);const{fireAnEvent:pn}=en(83350);const{getAttributeValue:mn}=en(69936);const bn=en(87094);function fireLoadEvent(Wt,Pt,en){if(en){pn("load",Pt);return}const tn=Promise.resolve();function onLoad(){pn("load",Pt)}Wt._queue.push(tn,onLoad)}function fetchFrame(Wt,Pt,en,an){const In=en._resourceLoader;let sn;function onFrameLoaded(Wt){const Pt={defaultEncoding:en._encoding};if(sn.response){const Wt=tn.parse(sn.response.headers["content-type"])||new tn("text/plain");Pt.transportLayerEncodingLabel=Wt.parameters.get("charset");if(Wt){if(Wt.isXML()){an._parsingMode="xml"}an.contentType=Wt.essence}}const In=rn(Wt,Pt);an._encoding=In;const on=nn.decode(Wt,an._encoding);try{dn(on,an)}catch(Wt){const{DOMException:Pt}=an._globalObject;if(Wt.constructor.name==="DOMException"&&Wt.code===Pt.SYNTAX_ERR&&an._parsingMode==="xml"){const Pt=an.createElementNS("http://www.mozilla.org/newlayout/xml/parsererror.xml","parsererror");Pt.textContent=Wt.message;while(an.childNodes.length>0){an.removeChild(an.lastChild)}an.appendChild(Pt)}else{throw Wt}}an.close();return new Promise(((Wt,Pt)=>{an.addEventListener("load",Wt);an.addEventListener("error",Pt)}))}sn=In.fetch(Wt,{element:Pt,onLoad:onFrameLoaded})}function canDispatchEvents(Wt,Pt){if(!Pt){return false}return Object.keys(Wt._eventListeners).length===0}function loadFrame(Wt,Pt){if(Wt._contentDocument){if(Wt._contentDocument._defaultView){Wt._contentDocument._defaultView.close()}else{delete Wt._contentDocument}}const en=Wt._ownerDocument;let tn;const nn=mn(Wt,"src");if(nn===""){tn=an("about:blank")}else{tn=an(nn,{baseURL:un(en)||undefined})||an("about:blank")}const rn=In(tn);const on=sn.createWindow({parsingMode:"html",url:tn.scheme==="javascript"?en.URL:rn,parentOrigin:en._origin,resourceLoader:en._defaultView._resourceLoader,referrer:en.URL,cookieJar:en._cookieJar,pool:en._pool,encoding:en._encoding,runScripts:en._defaultView._runScripts,commonForOrigin:en._defaultView._commonForOrigin,pretendToBeVisual:en._defaultView._pretendToBeVisual});const pn=Wt._contentDocument=bn.implForWrapper(on._document);const Gn=en._defaultView;const hn=pn._defaultView;hn._parent=Gn;hn._top=Gn.top;hn._frameElement=Wt;hn._virtualConsole=Gn._virtualConsole;if(en._origin===pn._origin){hn._currentOriginData.windowsInSameOrigin.push(hn)}const Zn=canDispatchEvents(Wt,Pt);if(rn==="about:blank"){dn("",pn);pn.close(Zn);if(Zn){fireLoadEvent(en,Wt,Zn)}else{pn.addEventListener("load",(()=>{fireLoadEvent(en,Wt)}))}}else if(tn.scheme==="javascript"){dn("",pn);pn.close(Zn);const Pt=cn(hn,tn);if(typeof Pt==="string"){pn.body.textContent=Pt}if(Zn){fireLoadEvent(en,Wt,Zn)}else{pn.addEventListener("load",(()=>{fireLoadEvent(en,Wt)}))}}else{fetchFrame(rn,Wt,en,pn)}}function refreshAccessors(Wt){const{_defaultView:Pt}=Wt;if(!Pt){return}const en=Wt.querySelectorAll("iframe,frame");for(let Wt=0;Wt{Object.defineProperty(Pt,en,{configurable:true,enumerable:true,get(){return Wt.contentWindow}})}))}class HTMLFrameElementImpl extends on{constructor(Wt,Pt,en){super(Wt,Pt,en);this._contentDocument=null}_attrModified(Wt,Pt,en){super._attrModified(Wt,Pt,en);if(Wt==="src"){if(this._attached&&this._ownerDocument._defaultView){loadFrame(this)}}}_detach(){super._detach();if(this.contentWindow){this.contentWindow.close()}refreshAccessors(this._ownerDocument)}_attach(){super._attach();if(this._ownerDocument._defaultView){loadFrame(this,true)}refreshAccessors(this._ownerDocument)}get contentDocument(){return this._contentDocument}get contentWindow(){return this.contentDocument?this.contentDocument._defaultView:null}}Wt.exports={implementation:HTMLFrameElementImpl}},67660:(Wt,Pt,en)=>{const{mixin:tn}=en(35702);const nn=en(95927).implementation;const an=en(64473).implementation;class HTMLFrameSetElementImpl extends nn{constructor(...Wt){super(...Wt);this._proxyWindowEventsToWindow()}}tn(HTMLFrameSetElementImpl.prototype,an.prototype);Wt.exports={implementation:HTMLFrameSetElementImpl}},46505:(Wt,Pt,en)=>{const tn=en(95927).implementation;class HTMLHRElementImpl extends tn{}Wt.exports={implementation:HTMLHRElementImpl}},69573:(Wt,Pt,en)=>{const tn=en(95927).implementation;class HTMLHeadElementImpl extends tn{}Wt.exports={implementation:HTMLHeadElementImpl}},77031:(Wt,Pt,en)=>{const tn=en(95927).implementation;class HTMLHeadingElementImpl extends tn{}Wt.exports={implementation:HTMLHeadingElementImpl}},48366:(Wt,Pt,en)=>{const tn=en(95927).implementation;class HTMLHtmlElementImpl extends tn{}Wt.exports={implementation:HTMLHtmlElementImpl}},18590:(Wt,Pt,en)=>{const tn=en(78012);const{parseURLToResultingURLRecord:nn}=en(30962);const{asciiCaseInsensitiveMatch:an}=en(97205);const{navigate:In}=en(63714);Pt.D=class HTMLHyperlinkElementUtilsImpl{_htmlHyperlinkElementUtilsSetup(){this.url=null}_cannotNavigate(){return this._localName!=="a"&&!this.isConnected}_getAnElementsTarget(){if(this.hasAttributeNS(null,"target")){return this.getAttributeNS(null,"target")}const Wt=this._ownerDocument.querySelector("base[target]");if(Wt){return Wt.getAttributeNS(null,"target")}return""}_chooseABrowsingContext(Wt,Pt){let en=null;if(Wt===""||an(Wt,"_self")){en=Pt}else if(an(Wt,"_parent")){en=Pt.parent}else if(an(Wt,"_top")){en=Pt.top}else if(!an(Wt,"_blank")){}return en}_followAHyperlink(){if(this._cannotNavigate()){return}const Wt=this._ownerDocument._defaultView;let Pt="";if(this._localName==="a"||this._localName==="area"){Pt=this._getAnElementsTarget()}const en=this.relList.contains("noreferrer")||this.relList.contains("noopener");const tn=this._chooseABrowsingContext(Pt,Wt,en);if(tn===null){return}const an=nn(this.href,this._ownerDocument);if(an===null){return}setTimeout((()=>{In(tn,an,{})}),0)}toString(){return this.href}get href(){reinitializeURL(this);const{url:Wt}=this;if(Wt===null){const Wt=this.getAttributeNS(null,"href");return Wt===null?"":Wt}return tn.serializeURL(Wt)}set href(Wt){this.setAttributeNS(null,"href",Wt)}get origin(){reinitializeURL(this);if(this.url===null){return""}return tn.serializeURLOrigin(this.url)}get protocol(){reinitializeURL(this);if(this.url===null){return":"}return this.url.scheme+":"}set protocol(Wt){reinitializeURL(this);if(this.url===null){return}tn.basicURLParse(Wt+":",{url:this.url,stateOverride:"scheme start"});updateHref(this)}get username(){reinitializeURL(this);if(this.url===null){return""}return this.url.username}set username(Wt){reinitializeURL(this);const{url:Pt}=this;if(Pt===null||tn.cannotHaveAUsernamePasswordPort(Pt)){return}tn.setTheUsername(Pt,Wt);updateHref(this)}get password(){reinitializeURL(this);const{url:Wt}=this;if(Wt===null){return""}return Wt.password}set password(Wt){reinitializeURL(this);const{url:Pt}=this;if(Pt===null||tn.cannotHaveAUsernamePasswordPort(Pt)){return}tn.setThePassword(Pt,Wt);updateHref(this)}get host(){reinitializeURL(this);const{url:Wt}=this;if(Wt===null||Wt.host===null){return""}if(Wt.port===null){return tn.serializeHost(Wt.host)}return tn.serializeHost(Wt.host)+":"+tn.serializeInteger(Wt.port)}set host(Wt){reinitializeURL(this);const{url:Pt}=this;if(Pt===null||tn.hasAnOpaquePath(Pt)){return}tn.basicURLParse(Wt,{url:Pt,stateOverride:"host"});updateHref(this)}get hostname(){reinitializeURL(this);const{url:Wt}=this;if(Wt===null||Wt.host===null){return""}return tn.serializeHost(Wt.host)}set hostname(Wt){reinitializeURL(this);const{url:Pt}=this;if(Pt===null||tn.hasAnOpaquePath(Pt)){return}tn.basicURLParse(Wt,{url:Pt,stateOverride:"hostname"});updateHref(this)}get port(){reinitializeURL(this);const{url:Wt}=this;if(Wt===null||Wt.port===null){return""}return tn.serializeInteger(Wt.port)}set port(Wt){reinitializeURL(this);const{url:Pt}=this;if(Pt===null||tn.cannotHaveAUsernamePasswordPort(Pt)){return}if(Wt===""){Pt.port=null}else{tn.basicURLParse(Wt,{url:Pt,stateOverride:"port"})}updateHref(this)}get pathname(){reinitializeURL(this);const{url:Wt}=this;if(Wt===null){return""}return tn.serializePath(Wt)}set pathname(Wt){reinitializeURL(this);const{url:Pt}=this;if(Pt===null||tn.hasAnOpaquePath(Pt)){return}Pt.path=[];tn.basicURLParse(Wt,{url:Pt,stateOverride:"path start"});updateHref(this)}get search(){reinitializeURL(this);const{url:Wt}=this;if(Wt===null||Wt.query===null||Wt.query===""){return""}return"?"+Wt.query}set search(Wt){reinitializeURL(this);const{url:Pt}=this;if(Pt===null){return}if(Wt===""){Pt.query=null}else{const en=Wt[0]==="?"?Wt.substring(1):Wt;Pt.query="";tn.basicURLParse(en,{url:Pt,stateOverride:"query",encodingOverride:this._ownerDocument.charset})}updateHref(this)}get hash(){reinitializeURL(this);const{url:Wt}=this;if(Wt===null||Wt.fragment===null||Wt.fragment===""){return""}return"#"+Wt.fragment}set hash(Wt){reinitializeURL(this);const{url:Pt}=this;if(Pt===null){return}if(Wt===""){Pt.fragment=null}else{const en=Wt[0]==="#"?Wt.substring(1):Wt;Pt.fragment="";tn.basicURLParse(en,{url:Pt,stateOverride:"fragment"})}updateHref(this)}};function reinitializeURL(Wt){if(Wt.url!==null&&Wt.url.scheme==="blob"&&tn.hasAnOpaquePath(Wt.url)){return}setTheURL(Wt)}function setTheURL(Wt){const Pt=Wt.getAttributeNS(null,"href");if(Pt===null){Wt.url=null;return}const en=nn(Pt,Wt._ownerDocument);Wt.url=en===null?null:en}function updateHref(Wt){Wt.setAttributeNS(null,"href",tn.serializeURL(Wt.url))}},73531:(Wt,Pt,en)=>{const tn=en(7700).implementation;class HTMLIFrameElementImpl extends tn{}Wt.exports={implementation:HTMLIFrameElementImpl}},38352:(Wt,Pt,en)=>{const tn=en(37125);const{serializeURL:nn}=en(78012);const an=en(95927).implementation;const{Canvas:In}=en(35702);const{parseURLToResultingURLRecord:rn}=en(30962);class HTMLImageElementImpl extends an{constructor(...Wt){super(...Wt);this._currentRequestState="unavailable"}_attrModified(Wt,Pt,en){if(Wt==="src"||(Wt==="srcset"||Wt==="width"||Wt==="sizes")&&Pt!==en){this._updateTheImageData()}super._attrModified(Wt,Pt,en)}get _accept(){return"image/png,image/*;q=0.8,*/*;q=0.5"}get height(){return this.hasAttributeNS(null,"height")?tn["unsigned long"](this.getAttributeNS(null,"height")):this.naturalHeight}set height(Wt){this.setAttributeNS(null,"height",String(Wt))}get width(){return this.hasAttributeNS(null,"width")?tn["unsigned long"](this.getAttributeNS(null,"width")):this.naturalWidth}set width(Wt){this.setAttributeNS(null,"width",String(Wt))}get naturalHeight(){return this._image?this._image.naturalHeight:0}get naturalWidth(){return this._image?this._image.naturalWidth:0}get complete(){const Wt=this.getAttributeNS(null,"src");return Wt===null||Wt===""||this._currentRequestState==="broken"||this._currentRequestState==="completely available"}get currentSrc(){return this._currentSrc||""}_updateTheImageData(){const Wt=this._ownerDocument;if(!Wt._defaultView){return}if(!In){return}if(!this._image){this._image=new In.Image}this._currentSrc=null;this._currentRequestState="unavailable";const Pt=this.getAttributeNS(null,"src");let en=null;if(Pt!==null&&Pt!==""){const Wt=rn(Pt,this._ownerDocument);if(Wt===null){return}en=nn(Wt)}if(en!==null){const tn=Wt._resourceLoader;let nn;const onLoadImage=Wt=>{const{response:en}=nn;if(en&&en.statusCode!==undefined&&en.statusCode!==200){throw new Error("Status code: "+en.statusCode)}let tn=null;this._image.onerror=function(Wt){tn=Wt};this._image.src=Wt;if(tn){throw new Error(tn)}this._currentSrc=Pt;this._currentRequestState="completely available"};nn=tn.fetch(en,{element:this,onLoad:onLoadImage,onError:()=>{this._currentRequestState="broken"}})}else{this._image.src=""}}}Wt.exports={implementation:HTMLImageElementImpl}},141:(Wt,Pt,en)=>{const tn=en(16694);const nn=en(12373);const an=en(92183);const In=en(95927).implementation;const rn=en(87094);const sn=en(95449).D;const on=en(47180);const{mixin:cn}=en(35702);const{domSymbolTree:dn,cloningSteps:un}=en(38542);const{getLabelsForLabelable:pn,formOwner:mn}=en(10588);const{fireAnEvent:bn}=en(83350);const{isDisabled:Gn,isValidEmailAddress:hn,isValidAbsoluteURL:Zn,sanitizeValueByType:An}=en(10588);const{asciiCaseInsensitiveMatch:Wn,asciiLowercase:Nn,parseFloatingPointNumber:gn,splitOnCommas:yn}=en(97205);const{isDate:vn}=en(29553);const{convertStringToNumberByType:Yn,convertStringToDateByType:En,serializeDateByType:Vn,convertNumberToStringByType:Rn}=en(76125);const wn=Symbol("files");const Fn=new Set(["hidden","text","search","tel","url","email","password","date","month","week","time","datetime-local","number","range","color","checkbox","radio","file","submit","image","reset","button"]);const Qn=new Set(["text","search","url","tel","password"]);const fn=new Set(["date","month","week","time","datetime-local","number","range"]);const Hn={valueAsDate:new Set(["date","month","week","time"]),valueAsNumber:fn,select:new Set(["text","search","url","tel","email","password","date","month","week","time","datetime-local","number","color","file"]),selectionStart:Qn,selectionEnd:Qn,selectionDirection:Qn,setRangeText:Qn,setSelectionRange:Qn,stepDown:fn,stepUp:fn};const Cn=new Set(["text","search","url","tel","email","password"]);const Xn=new Set([...Cn,"date","month","week","time","datetime-local","number"]);const kn={list:new Set(["text","search","url","tel","email",...fn,"color"]),max:fn,maxlength:Cn,min:fn,minlength:Cn,multiple:new Set(["email","file"]),pattern:Cn,readonly:Xn,required:new Set([...Xn,"checkbox","radio","file"]),step:fn};const Jn=new Set(["hidden","submit","image","reset","button"]);const Ln=new Set(["checkbox","radio"]);function valueAttributeMode(Wt){if(Jn.has(Wt)){return"default"}if(Ln.has(Wt)){return"default/on"}if(Wt==="file"){return"filename"}return"value"}function getTypeFromAttribute(Wt){if(typeof Wt!=="string"){return"text"}const Pt=Nn(Wt);return Fn.has(Pt)?Pt:"text"}class HTMLInputElementImpl extends In{constructor(Wt,Pt,en){super(Wt,Pt,en);this._selectionStart=this._selectionEnd=0;this._selectionDirection="none";this._value="";this._dirtyValue=false;this._checkedness=false;this._dirtyCheckedness=false;this._preCheckedRadioState=null;this._legacyActivationBehaviorPreviousIndeterminateState=false;this.indeterminate=false;this._customValidityErrorMessage="";this._labels=null;this._hasActivationBehavior=true}get _convertStringToNumber(){return Yn[this.type]}get _convertNumberToString(){return Rn[this.type]}get _convertDateToString(){return Vn[this.type]}get _convertStringToDate(){return En[this.type]}_isStepAligned(Wt){return new an(Wt).minus(this._stepBase).modulo(this._allowedValueStep).isZero()}_stepAlign(Wt,Pt){const en=this._allowedValueStep;const tn=this._stepBase;return new an(Wt).minus(tn).toNearest(en,Pt?an.ROUND_UP:an.ROUND_DOWN).add(tn)}_getValue(){return this._value}_legacyPreActivationBehavior(){if(this.type==="checkbox"){this.checked=!this.checked;this._legacyActivationBehaviorPreviousIndeterminateState=this.indeterminate;this.indeterminate=false}else if(this.type==="radio"){this._preCheckedRadioState=this.checked;this.checked=true}}_legacyCanceledActivationBehavior(){if(this.type==="checkbox"){this.checked=!this.checked;this.indeterminate=this._legacyActivationBehaviorPreviousIndeterminateState}else if(this.type==="radio"){if(this._preCheckedRadioState!==null){this.checked=this._preCheckedRadioState;this._preCheckedRadioState=null}}}_activationBehavior(Wt){if(!this._mutable&&this.type!=="checkbox"&&this.type!=="radio"){return}const{form:Pt}=this;if(this.type==="checkbox"||this.type==="radio"&&!this._preCheckedRadioState){if(this.isConnected){bn("input",this,undefined,{bubbles:true});bn("change",this,undefined,{bubbles:true})}}else if(Pt&&this.type==="image"){this._selectedCoordinate={x:Wt.offsetX,y:Wt.offsetY};Pt._doRequestSubmit(this)}else if(Pt&&this.type==="submit"){Pt._doRequestSubmit(this)}else if(Pt&&this.type==="reset"){Pt._doReset()}}_attrModified(Wt,Pt,en){const tn=rn.wrapperForImpl(this);if(!this._dirtyValue&&Wt==="value"){this._value=An(this,tn.defaultValue)}if(!this._dirtyCheckedness&&Wt==="checked"){this._checkedness=tn.defaultChecked;if(this._checkedness){this._removeOtherRadioCheckedness()}}if(Wt==="name"||Wt==="type"){if(this._checkedness){this._removeOtherRadioCheckedness()}}if(Wt==="type"){const Wt=getTypeFromAttribute(en);const tn=getTypeFromAttribute(Pt);if(Wt!==tn){const Pt=valueAttributeMode(Wt);const en=valueAttributeMode(tn);if(Pt==="value"&&this._value!==""&&(en==="default"||en==="default/on")){this.setAttributeNS(null,"value",this._value)}else if(Pt!=="value"&&en==="value"){this._value=this.getAttributeNS(null,"value")||"";this._dirtyValue=false}else if(Pt!=="filename"&&en==="filename"){this._value=""}this._signalATypeChange();this._value=An(this,this._value);const nn=this._idlMemberApplies("setRangeText",Wt);const an=this._idlMemberApplies("setRangeText",tn);if(!nn&&an){this._selectionStart=0;this._selectionEnd=0;this._selectionDirection="none"}}}super._attrModified(Wt,Pt,en)}_signalATypeChange(){if(this._checkedness){this._removeOtherRadioCheckedness()}}_formReset(){const Wt=rn.wrapperForImpl(this);this._value=An(this,Wt.defaultValue);this._dirtyValue=false;this._checkedness=Wt.defaultChecked;this._dirtyCheckedness=false;if(this._checkedness){this._removeOtherRadioCheckedness()}}_changedFormOwner(){if(this._checkedness){this._removeOtherRadioCheckedness()}}get _otherRadioGroupElements(){const Wt=rn.wrapperForImpl(this);const Pt=this._radioButtonGroupRoot;if(!Pt){return[]}const en=[];const tn=dn.treeIterator(Pt);for(const nn of tn){if(nn._radioButtonGroupRoot!==Pt){continue}const tn=rn.wrapperForImpl(nn);if(!tn.name||tn.name!==Wt.name){continue}if(nn!==this){en.push(nn)}}return en}_removeOtherRadioCheckedness(){for(const Wt of this._otherRadioGroupElements){Wt._checkedness=false}}get _radioButtonGroupRoot(){const Wt=rn.wrapperForImpl(this);if(this.type!=="radio"||!Wt.name){return null}let Pt=dn.parent(this);while(Pt){if(!dn.parent(Pt)||Pt.nodeName.toUpperCase()==="FORM"){return Pt}Pt=dn.parent(Pt)}return null}_someInRadioGroup(Wt){if(this[Wt]){return true}return this._otherRadioGroupElements.some((Pt=>Pt[Wt]))}get _mutable(){return!Gn(this)&&!this._hasAttributeAndApplies("readonly")}get labels(){return pn(this)}get form(){return mn(this)}get checked(){return this._checkedness}set checked(Wt){this._checkedness=Boolean(Wt);this._dirtyCheckedness=true;if(this._checkedness){this._removeOtherRadioCheckedness()}}get value(){switch(valueAttributeMode(this.type)){case"value":return this._getValue();case"default":{const Wt=this.getAttributeNS(null,"value");return Wt!==null?Wt:""}case"default/on":{const Wt=this.getAttributeNS(null,"value");return Wt!==null?Wt:"on"}case"filename":return this.files.length?"C:\\fakepath\\"+this.files[0].name:"";default:throw new Error("jsdom internal error: unknown value attribute mode")}}set value(Wt){switch(valueAttributeMode(this.type)){case"value":{const Pt=this._value;this._value=An(this,Wt);this._dirtyValue=true;if(Pt!==this._value){this._selectionStart=this._selectionEnd=this._getValueLength();this._selectionDirection="none"}break}case"default":case"default/on":this.setAttributeNS(null,"value",Wt);break;case"filename":if(Wt===""){this.files.length=0}else{throw tn.create(this._globalObject,["This input element accepts a filename, which may only be programmatically set to the empty string.","InvalidStateError"])}break;default:throw new Error("jsdom internal error: unknown value attribute mode")}}get valueAsDate(){if(!this._idlMemberApplies("valueAsDate")){return null}const Wt=this._ownerDocument._defaultView;const Pt=this._convertStringToDate(this._value);if(Pt instanceof Date){return new Wt.Date(Pt.getTime())}return null}set valueAsDate(Wt){if(!this._idlMemberApplies("valueAsDate")){throw tn.create(this._globalObject,["Failed to set the 'valueAsDate' property on 'HTMLInputElement': This input element does not support Date "+"values.","InvalidStateError"])}if(Wt!==null&&!vn(Wt)){throw new TypeError("Failed to set the 'valueAsDate' property on 'HTMLInputElement': The provided value is "+"not a Date.")}if(Wt===null||isNaN(Wt)){this._value="";return}this._value=this._convertDateToString(Wt)}get valueAsNumber(){if(!this._idlMemberApplies("valueAsNumber")){return NaN}const Wt=this._convertStringToNumber(this._value);return Wt!==null?Wt:NaN}set valueAsNumber(Wt){if(!isFinite(Wt)&&!isNaN(Wt)){throw new TypeError("Failed to set infinite value as Number")}if(!this._idlMemberApplies("valueAsNumber")){throw tn.create(this._globalObject,["Failed to set the 'valueAsNumber' property on 'HTMLInputElement': This input element does not support "+"Number values.","InvalidStateError"])}if(isNaN(Wt)){this._value=""}else{this._value=this._convertNumberToString(Wt)}}_stepUpdate(Wt,Pt){const en=Pt?"stepUp":"stepDown";if(!this._idlMemberApplies(en)){throw tn.create(this._globalObject,[`Failed to invoke '${en}' method on 'HTMLInputElement': `+"This input element does not support Number values.","InvalidStateError"])}const nn=this._allowedValueStep;if(nn===null){throw tn.create(this._globalObject,[`Failed to invoke '${en}' method on 'HTMLInputElement': `+"This input element does not support value step.","InvalidStateError"])}const In=this._minimum;const rn=this._maximum;if(In!==null&&rn!==null){if(In>rn){return}const Wt=this._stepAlign(an.add(In,nn),false);if(Wt.lt(In)||Wt.gt(rn)){return}}let sn=0;try{sn=this.valueAsNumber;if(isNaN(sn)){sn=0}}catch(Wt){}sn=new an(sn);const on=sn;if(!this._isStepAligned(sn)){sn=this._stepAlign(sn,Pt)}else{let en=an.mul(Wt,nn);if(!Pt){en=en.neg()}sn=sn.add(en)}if(In!==null&&sn.lt(In)){sn=this._stepAlign(In,true)}if(rn!==null&&sn.gt(rn)){sn=this._stepAlign(rn,false)}if(Pt?sn.lt(on):sn.gt(on)){return}this._value=this._convertNumberToString(sn.toNumber())}stepDown(Wt=1){return this._stepUpdate(Wt,false)}stepUp(Wt=1){return this._stepUpdate(Wt,true)}get files(){if(this.type==="file"){this[wn]||=nn.createImpl(this._globalObject)}else{this[wn]=null}return this[wn]}set files(Wt){if(this.type==="file"&&Wt!==null){this[wn]=Wt}}get type(){const Wt=this.getAttributeNS(null,"type");return getTypeFromAttribute(Wt)}set type(Wt){this.setAttributeNS(null,"type",Wt)}_dispatchSelectEvent(){setTimeout((()=>bn("select",this,undefined,{bubbles:true,cancelable:false})),0)}_getValueLength(){return typeof this.value==="string"?this.value.length:0}select(){if(!this._idlMemberApplies("select")){return}this._selectionStart=0;this._selectionEnd=this._getValueLength();this._selectionDirection="none";this._dispatchSelectEvent()}get selectionStart(){if(!this._idlMemberApplies("selectionStart")){return null}return this._selectionStart}set selectionStart(Wt){if(!this._idlMemberApplies("selectionStart")){throw tn.create(this._globalObject,["The object is in an invalid state.","InvalidStateError"])}this.setSelectionRange(Wt,Math.max(Wt,this._selectionEnd),this._selectionDirection)}get selectionEnd(){if(!this._idlMemberApplies("selectionEnd")){return null}return this._selectionEnd}set selectionEnd(Wt){if(!this._idlMemberApplies("selectionEnd")){throw tn.create(this._globalObject,["The object is in an invalid state.","InvalidStateError"])}this.setSelectionRange(this._selectionStart,Wt,this._selectionDirection)}get selectionDirection(){if(!this._idlMemberApplies("selectionDirection")){return null}return this._selectionDirection}set selectionDirection(Wt){if(!this._idlMemberApplies("selectionDirection")){throw tn.create(this._globalObject,["The object is in an invalid state.","InvalidStateError"])}this.setSelectionRange(this._selectionStart,this._selectionEnd,Wt)}setSelectionRange(Wt,Pt,en){if(!this._idlMemberApplies("setSelectionRange")){throw tn.create(this._globalObject,["The object is in an invalid state.","InvalidStateError"])}this._selectionEnd=Math.min(Pt,this._getValueLength());this._selectionStart=Math.min(Wt,this._selectionEnd);this._selectionDirection=en==="forward"||en==="backward"?en:"none";this._dispatchSelectEvent()}setRangeText(Wt,Pt,en,nn="preserve"){if(!this._idlMemberApplies("setRangeText")){throw tn.create(this._globalObject,["The object is in an invalid state.","InvalidStateError"])}if(arguments.length<2){Pt=this._selectionStart;en=this._selectionEnd}else if(Pt>en){throw tn.create(this._globalObject,["The index is not in the allowed range.","IndexSizeError"])}Pt=Math.min(Pt,this._getValueLength());en=Math.min(en,this._getValueLength());const an=this.value;let In=this._selectionStart;let rn=this._selectionEnd;this.value=an.slice(0,Pt)+Wt+an.slice(en);const sn=Pt+Wt.length;if(nn==="select"){this.setSelectionRange(Pt,sn)}else if(nn==="start"){this.setSelectionRange(Pt,Pt)}else if(nn==="end"){this.setSelectionRange(sn,sn)}else{const tn=Wt.length-(en-Pt);if(In>en){In+=tn}else if(In>Pt){In=Pt}if(rn>en){rn+=tn}else if(rn>Pt){rn=sn}this.setSelectionRange(In,rn)}}get list(){const Wt=this._getAttributeIfApplies("list");if(!Wt){return null}const Pt=this.getRootNode({}).getElementById(Wt);if(Pt&&Pt.localName==="datalist"){return Pt}return null}get _minimum(){let Wt=this._defaultMinimum;const Pt=this._getAttributeIfApplies("min");if(Pt!==null&&this._convertStringToNumber!==undefined){const en=this._convertStringToNumber(Pt);if(en!==null){Wt=en}}return Wt}get _maximum(){let Wt=this._defaultMaximum;const Pt=this._getAttributeIfApplies("max");if(Pt!==null&&this._convertStringToNumber!==undefined){const en=this._convertStringToNumber(Pt);if(en!==null){Wt=en}}return Wt}get _defaultMinimum(){if(this.type==="range"){return 0}return null}get _defaultMaximum(){if(this.type==="range"){return 100}return null}get _allowedValueStep(){if(!this._contentAttributeApplies("step")){return null}const Wt=this.getAttributeNS(null,"step");if(Wt===null){return this._defaultStep*this._stepScaleFactor}if(Wn(Wt,"any")){return null}const Pt=gn(Wt);if(Pt===null||Pt<=0){return this._defaultStep*this._stepScaleFactor}return Pt*this._stepScaleFactor}get _stepScaleFactor(){const Wt=24*60*60*1e3;switch(this.type){case"week":return 7*Wt;case"date":return Wt;case"datetime-local":case"datetime":case"time":return 1e3}return 1}get _defaultStep(){if(this.type==="datetime-local"||this.type==="datetime"||this.type==="time"){return 60}return 1}get _stepBase(){if(this._hasAttributeAndApplies("min")){const Wt=this._convertStringToNumber(this.getAttributeNS(null,"min"));if(Wt!==null){return Wt}}if(this.hasAttributeNS(null,"value")){const Wt=this._convertStringToNumber(this.getAttributeNS(null,"value"));if(Wt!==null){return Wt}}if(this._defaultStepBase!==null){return this._defaultStepBase}return 0}get _defaultStepBase(){if(this.type==="week"){return-2592e5}return null}_contentAttributeApplies(Wt){return kn[Wt].has(this.type)}_hasAttributeAndApplies(Wt){return this._contentAttributeApplies(Wt)&&this.hasAttributeNS(null,Wt)}_getAttributeIfApplies(Wt){if(this._contentAttributeApplies(Wt)){return this.getAttributeNS(null,Wt)}return null}_idlMemberApplies(Wt,Pt=this.type){return Hn[Wt].has(Pt)}_barredFromConstraintValidationSpecialization(){const Wt=new Set(["hidden","reset","button"]);const Pt=this._hasAttributeAndApplies("readonly");return Wt.has(this.type)||Pt}get _required(){return this._hasAttributeAndApplies("required")}get _hasAPeriodicDomain(){return this.type==="time"}get _hasAReversedRange(){return this._hasAPeriodicDomain&&this._maximum{const Wt=this._convertStringToNumber(this._value);return Wt!==null&&Wt>this._maximum&&Wt{if(this._required&&valueAttributeMode(this.type)==="value"&&this._mutable&&this._value===""){return true}switch(this.type){case"checkbox":if(this._required&&!this._checkedness){return true}break;case"radio":if(this._someInRadioGroup("_required")&&!this._someInRadioGroup("checked")){return true}break;case"file":if(this._required&&this.files.length===0){return true}break}return false},tooLong:()=>false,tooShort:()=>false,rangeOverflow:()=>{if(this._hasAReversedRange){return reversedRangeSufferingOverUnderflow()}if(this._maximum!==null){const Wt=this._convertStringToNumber(this._value);if(Wt!==null&&Wt>this._maximum){return true}}return false},rangeUnderflow:()=>{if(this._hasAReversedRange){return reversedRangeSufferingOverUnderflow()}if(this._minimum!==null){const Wt=this._convertStringToNumber(this._value);if(Wt!==null&&Wt{if(this._value===""||!this._hasAttributeAndApplies("pattern")){return false}let Wt;try{const Pt=this.getAttributeNS(null,"pattern");new RegExp(Pt,"u");Wt=new RegExp("^(?:"+Pt+")$","u")}catch(Wt){return false}if(this._hasAttributeAndApplies("multiple")){return!yn(this._value).every((Pt=>Wt.test(Pt)))}return!Wt.test(this._value)},stepMismatch:()=>{const Wt=this._allowedValueStep;if(Wt===null){return false}const Pt=this._convertStringToNumber(this._value);return Pt!==null&&!this._isStepAligned(Pt)},typeMismatch:()=>{switch(this.type){case"url":if(this._value!==""&&!Zn(this._value)){return true}break;case"email":if(this._value!==""&&!hn(this._getValue(),this.hasAttributeNS(null,"multiple"))){return true}break}return false}};this._validity=on.createImpl(this._globalObject,[],{element:this,state:Wt})}return this._validity}[un](Wt,Pt){Wt._value=Pt._value;Wt._checkedness=Pt._checkedness;Wt._dirtyValue=Pt._dirtyValue;Wt._dirtyCheckedness=Pt._dirtyCheckedness}}cn(HTMLInputElementImpl.prototype,sn.prototype);Wt.exports={implementation:HTMLInputElementImpl}},2804:(Wt,Pt,en)=>{const tn=en(95927).implementation;class HTMLLIElementImpl extends tn{}Wt.exports={implementation:HTMLLIElementImpl}},26159:(Wt,Pt,en)=>{const tn=en(95927).implementation;const nn=en(8002);const{domSymbolTree:an}=en(38542);const In=en(7206);const{isLabelable:rn,isDisabled:sn,isInteractiveContent:on}=en(10588);const{isInclusiveAncestor:cn}=en(39471);const{fireAnEvent:dn}=en(83350);function sendClickToAssociatedNode(Wt){dn("click",Wt,nn,{bubbles:true,cancelable:true,view:Wt.ownerDocument?Wt.ownerDocument.defaultView:null,screenX:0,screenY:0,clientX:0,clientY:0,button:0,detail:1,relatedTarget:null})}class HTMLLabelElementImpl extends tn{constructor(Wt,Pt,en){super(Wt,Pt,en);this._hasActivationBehavior=true}get control(){if(this.hasAttributeNS(null,"for")){const Wt=this.getAttributeNS(null,"for");if(Wt===""){return null}const Pt=this.getRootNode({});for(const en of an.treeIterator(Pt)){if(en.nodeType===In.ELEMENT_NODE&&en.getAttributeNS(null,"id")===Wt){return rn(en)?en:null}}return null}for(const Wt of an.treeIterator(this)){if(rn(Wt)){return Wt}}return null}get form(){const Wt=this.control;if(Wt){return Wt.form}return null}_activationBehavior(Wt){if(Wt.target&&Wt.target!==this&&cn(this,Wt.target)){for(const Pt of an.ancestorsIterator(Wt.target)){if(Pt===this){break}if(on(Pt)){return}}}const Pt=this.control;if(Pt&&!sn(Pt)){if(Wt.target&&cn(Pt,Wt.target)){return}sendClickToAssociatedNode(Pt)}}}Wt.exports={implementation:HTMLLabelElementImpl}},98778:(Wt,Pt,en)=>{const tn=en(95927).implementation;const{formOwner:nn}=en(10588);const{HTML_NS:an}=en(98071);class HTMLLegendElementImpl extends tn{get form(){const Wt=this.parentNode;if(Wt&&Wt._localName==="fieldset"&&Wt.namespaceURI===an){return nn(Wt)}return null}}Wt.exports={implementation:HTMLLegendElementImpl}},7443:(Wt,Pt,en)=>{const tn=en(24406);const nn=en(95927).implementation;const an=en(87094);const{fetchStylesheet:In,removeStylesheet:rn}=en(38454);const{parseURLToResultingURLRecord:sn}=en(30962);const on=en(78012);class HTMLLinkElementImpl extends nn{constructor(Wt,Pt,en){super(Wt,Pt,en);this.sheet=null}get relList(){if(this._relList===undefined){this._relList=tn.createImpl(this._globalObject,[],{element:this,attributeLocalName:"rel",supportedTokens:new Set(["stylesheet"])})}return this._relList}_attach(){super._attach();maybeFetchAndProcess(this)}_detach(){super._detach();if(this.sheet){rn(this.sheet,this)}}_attrModified(Wt,Pt,en){super._attrModified(Wt,Pt,en);if(Wt==="href"){maybeFetchAndProcess(this)}if(Wt==="rel"&&this._relList!==undefined){this._relList.attrModified()}}get _accept(){return"text/css,*/*;q=0.1"}}Wt.exports={implementation:HTMLLinkElementImpl};function maybeFetchAndProcess(Wt){if(!isExternalResourceLink(Wt)){return}if(!Wt.isConnected||!Wt._ownerDocument._defaultView){return}fetchAndProcess(Wt)}function fetchAndProcess(Wt){const Pt=Wt.getAttributeNS(null,"href");if(Pt===null||Pt===""){return}const en=sn(Pt,Wt._ownerDocument);if(en===null){return}const tn=on.serializeURL(en);In(Wt,tn)}function isExternalResourceLink(Wt){const Pt=an.wrapperForImpl(Wt);if(!/(?:[ \t\n\r\f]|^)stylesheet(?:[ \t\n\r\f]|$)/i.test(Pt.rel)){return false}return Wt.hasAttributeNS(null,"href")}},62859:(Wt,Pt,en)=>{const tn=en(95927).implementation;class HTMLMapElementImpl extends tn{get areas(){return this.getElementsByTagName("AREA")}}Wt.exports={implementation:HTMLMapElementImpl}},90157:(Wt,Pt,en)=>{const tn=en(95927).implementation;class HTMLMarqueeElementImpl extends tn{}Wt.exports={implementation:HTMLMarqueeElementImpl}},4229:(Wt,Pt,en)=>{const tn=en(16694);const nn=en(95927).implementation;const an=en(8172);const{fireAnEvent:In}=en(83350);function getTimeRangeDummy(){return{length:0,start(){return 0},end(){return 0}}}class HTMLMediaElementImpl extends nn{constructor(Wt,Pt,en){super(Wt,Pt,en);this._muted=false;this._volume=1;this.readyState=0;this.networkState=0;this.currentTime=0;this.currentSrc="";this.buffered=getTimeRangeDummy();this.seeking=false;this.duration=NaN;this.paused=true;this.played=getTimeRangeDummy();this.seekable=getTimeRangeDummy();this.ended=false;this.audioTracks=[];this.videoTracks=[];this.textTracks=[]}get defaultPlaybackRate(){if(this._defaultPlaybackRate===undefined){return 1}return this._defaultPlaybackRate}set defaultPlaybackRate(Wt){if(Wt===0){throw tn.create(this._globalObject,["The operation is not supported.","NotSupportedError"])}if(this._defaultPlaybackRate!==Wt){this._defaultPlaybackRate=Wt;this._dispatchRateChange()}}get playbackRate(){if(this._playbackRate===undefined){return 1}return this._playbackRate}set playbackRate(Wt){if(Wt!==this._playbackRate){this._playbackRate=Wt;this._dispatchRateChange()}}get muted(){return this._muted}set muted(Wt){if(Wt!==this._muted){this._muted=Wt;this._dispatchVolumeChange()}}get defaultMuted(){return this.getAttributeNS(null,"muted")!==null}set defaultMuted(Wt){if(Wt){this.setAttributeNS(null,"muted",Wt)}else{this.removeAttributeNS(null,"muted")}}get volume(){return this._volume}set volume(Wt){if(Wt<0||Wt>1){throw tn.create(this._globalObject,["The index is not in the allowed range.","IndexSizeError"])}if(this._volume!==Wt){this._volume=Wt;this._dispatchVolumeChange()}}load(){an("HTMLMediaElement.prototype.load",this._ownerDocument._defaultView)}canPlayType(){return""}play(){an("HTMLMediaElement.prototype.play",this._ownerDocument._defaultView)}pause(){an("HTMLMediaElement.prototype.pause",this._ownerDocument._defaultView)}addTextTrack(){an("HTMLMediaElement.prototype.addTextTrack",this._ownerDocument._defaultView)}_dispatchRateChange(){In("ratechange",this)}_dispatchVolumeChange(){In("volumechange",this)}}Wt.exports={implementation:HTMLMediaElementImpl}},65088:(Wt,Pt,en)=>{const tn=en(95927).implementation;class HTMLMenuElementImpl extends tn{}Wt.exports={implementation:HTMLMenuElementImpl}},62406:(Wt,Pt,en)=>{const tn=en(95927).implementation;class HTMLMetaElementImpl extends tn{}Wt.exports={implementation:HTMLMetaElementImpl}},81016:(Wt,Pt,en)=>{const tn=en(95927).implementation;const{parseFloatingPointNumber:nn}=en(97205);const{getLabelsForLabelable:an}=en(10588);class HTMLMeterElementImpl extends tn{constructor(Wt,Pt,en){super(Wt,Pt,en);this._labels=null}get _minimumValue(){const Wt=this.getAttributeNS(null,"min");if(Wt!==null){const Pt=nn(Wt);if(Pt!==null){return Pt}}return 0}get _maximumValue(){let Wt=1;const Pt=this.getAttributeNS(null,"max");if(Pt!==null){const en=nn(Pt);if(en!==null){Wt=en}}const en=this._minimumValue;return Wt>=en?Wt:en}get _actualValue(){let Wt=0;const Pt=this.getAttributeNS(null,"value");if(Pt!==null){const en=nn(Pt);if(en!==null){Wt=en}}const en=this._minimumValue;if(Wttn?tn:Wt}get _lowBoundary(){const Wt=this._minimumValue;let Pt=Wt;const en=this.getAttributeNS(null,"low");if(en!==null){const Wt=nn(en);if(Wt!==null){Pt=Wt}}if(Pttn?tn:Pt}get _highBoundary(){const Wt=this._maximumValue;let Pt=Wt;const en=this.getAttributeNS(null,"high");if(en!==null){const Wt=nn(en);if(Wt!==null){Pt=Wt}}const tn=this._lowBoundary;if(PtWt?Wt:Pt}get _optimumPoint(){const Wt=this._minimumValue;const Pt=this._maximumValue;let en=(Wt+Pt)/2;const tn=this.getAttributeNS(null,"optimum");if(tn!==null){const Wt=nn(tn);if(Wt!==null){en=Wt}}if(enPt?Pt:en}get labels(){return an(this)}get value(){return this._actualValue}set value(Wt){this.setAttributeNS(null,"value",String(Wt))}get min(){return this._minimumValue}set min(Wt){this.setAttributeNS(null,"min",String(Wt))}get max(){return this._maximumValue}set max(Wt){this.setAttributeNS(null,"max",String(Wt))}get low(){return this._lowBoundary}set low(Wt){this.setAttributeNS(null,"low",String(Wt))}get high(){return this._highBoundary}set high(Wt){this.setAttributeNS(null,"high",String(Wt))}get optimum(){return this._optimumPoint}set optimum(Wt){this.setAttributeNS(null,"optimum",String(Wt))}}Wt.exports={implementation:HTMLMeterElementImpl}},79557:(Wt,Pt,en)=>{const tn=en(95927).implementation;class HTMLModElementImpl extends tn{}Wt.exports={implementation:HTMLModElementImpl}},4656:(Wt,Pt,en)=>{const tn=en(95927).implementation;class HTMLOListElementImpl extends tn{get start(){const Wt=parseInt(this.getAttributeNS(null,"start"));if(!isNaN(Wt)){return Wt}return 1}set start(Wt){this.setAttributeNS(null,"start",Wt)}}Wt.exports={implementation:HTMLOListElementImpl}},12096:(Wt,Pt,en)=>{const tn=en(95927).implementation;const nn=en(95449).D;const{mixin:an}=en(35702);const{formOwner:In}=en(10588);class HTMLObjectElementImpl extends tn{get form(){return In(this)}get contentDocument(){return null}_barredFromConstraintValidationSpecialization(){return true}}an(HTMLObjectElementImpl.prototype,nn.prototype);Wt.exports={implementation:HTMLObjectElementImpl}},16175:(Wt,Pt,en)=>{const tn=en(95927).implementation;class HTMLOptGroupElementImpl extends tn{}Wt.exports={implementation:HTMLOptGroupElementImpl}},1002:(Wt,Pt,en)=>{const tn=en(95927).implementation;const nn=en(7206);const{stripAndCollapseASCIIWhitespace:an}=en(97205);const{domSymbolTree:In}=en(38542);const{HTML_NS:rn,SVG_NS:sn}=en(98071);const{closest:on}=en(83521);const{formOwner:cn}=en(10588);class HTMLOptionElementImpl extends tn{constructor(Wt,Pt,en){super(Wt,Pt,en);this._selectedness=false;this._dirtyness=false}_removeOtherSelectedness(){const Wt=this._selectNode;if(Wt&&!Wt.hasAttributeNS(null,"multiple")){for(const Pt of Wt.options){if(Pt!==this){Pt._selectedness=false}}}}_askForAReset(){const Wt=this._selectNode;if(Wt){Wt._askedForAReset()}}_attrModified(Wt,Pt,en){if(!this._dirtyness&&Wt==="selected"){this._selectedness=this.hasAttributeNS(null,"selected");if(this._selectedness){this._removeOtherSelectedness()}this._askForAReset()}super._attrModified(Wt,Pt,en)}get _selectNode(){let Wt=In.parent(this);if(!Wt){return null}if(Wt.nodeName.toUpperCase()!=="SELECT"){Wt=In.parent(Wt);if(!Wt||Wt.nodeName.toUpperCase()!=="SELECT"){return null}}return Wt}get form(){return cn(this)}get text(){return an(childTextContentExcludingDescendantsOfScript(this))}set text(Wt){this.textContent=Wt}_getValue(){if(this.hasAttributeNS(null,"value")){return this.getAttributeNS(null,"value")}return this.text}get value(){return this._getValue()}set value(Wt){this.setAttributeNS(null,"value",Wt)}get index(){const Wt=on(this,"select");if(Wt===null){return 0}return Wt.options.indexOf(this)}get selected(){return this._selectedness}set selected(Wt){this._dirtyness=true;this._selectedness=Boolean(Wt);if(this._selectedness){this._removeOtherSelectedness()}this._askForAReset();this._modified()}get label(){if(this.hasAttributeNS(null,"label")){return this.getAttributeNS(null,"label")}return this.text}set label(Wt){this.setAttributeNS(null,"label",Wt)}}function childTextContentExcludingDescendantsOfScript(Wt){let Pt="";for(const en of In.childrenIterator(Wt)){if(en._localName==="script"&&(en._namespaceURI===rn||en._namespaceURI===sn)){continue}if(en.nodeType===nn.TEXT_NODE||en.nodeType===nn.CDATA_SECTION_NODE){Pt+=en.nodeValue}else{Pt+=childTextContentExcludingDescendantsOfScript(en)}}return Pt}Wt.exports={implementation:HTMLOptionElementImpl}},1465:(Wt,Pt,en)=>{const tn=en(87094);const nn=en(16694);const{DOCUMENT_POSITION_CONTAINS:an,DOCUMENT_POSITION_CONTAINED_BY:In}=en(82759);const rn=en(41423);const sn=en(24171);const on=en(76041).implementation;Pt.implementation=class HTMLOptionsCollectionImpl extends on{get length(){this._update();return this._list.length}set length(Wt){this._update();if(Wt>this._list.length){const Pt=this._element._ownerDocument;for(let en=this._list.length;en=Wt;Pt--){const Wt=this._list[Pt];this._element.removeChild(Wt)}}}get[tn.supportedPropertyNames](){this._update();const Wt=new Set;for(const Pt of this._list){Wt.add(Pt.getAttributeNS(null,"id"));Wt.add(Pt.getAttributeNS(null,"name"))}return Wt}[tn.indexedSetNew](Wt,Pt){if(Pt===null){this.remove(Wt);return}this._update();const{length:en}=this._list;const tn=Wt-en;if(tn>0){const Wt=this._element._ownerDocument;const Pt=Wt.createDocumentFragment();for(let en=0;en=0){this._element._append(Pt)}else{this._element._replace(Pt,this._list[Wt])}}[tn.indexedSetExisting](Wt,Pt){return this[tn.indexedSetNew](Wt,Pt)}add(Wt,Pt){if(this._element.compareDocumentPosition(Wt)&an){throw nn.create(this._globalObject,["The operation would yield an incorrect node tree.","HierarchyRequestError"])}if(rn.isImpl(Pt)&&!(this._element.compareDocumentPosition(Pt)&In)){throw nn.create(this._globalObject,["The object can not be found here.","NotFoundError"])}if(Wt===Pt){return}let en=null;if(sn.isImpl(Pt)){en=Pt}else if(typeof Pt==="number"){this._update();en=this._list[Pt]||null}const tn=en!==null?en.parentNode:this._element;tn._preInsert(Wt,en)}remove(Wt){this._update();if(this._list.length===0){return}if(Wt<0||Wt>=this._list.length){return}const Pt=this._list[Wt];Pt.parentNode._remove(Pt)}get selectedIndex(){return this._element.selectedIndex}set selectedIndex(Wt){this._element.selectedIndex=Wt}}},67712:(Wt,Pt,en)=>{const tn=en(37125);const{isSummaryForParentDetails:nn}=en(27677);const an=en(11483);const{HTML_NS:In,SVG_NS:rn}=en(98071);const sn=en(94258);const on=new Set(["a","area","button","frame","iframe","input","object","select","textarea"]);class HTMLOrSVGElementImpl{_initHTMLOrSVGElement(){this._tabIndex=0;this._dataset=sn.createImpl(this._globalObject,[],{element:this})}get dataset(){return this._dataset}get tabIndex(){if(!this.hasAttributeNS(null,"tabindex")){if(this.namespaceURI===In&&(on.has(this._localName)||this._localName==="summary"&&nn(this))||this.namespaceURI===rn&&this._localName==="a"){return 0}return-1}return tn.long(this.getAttributeNS(null,"tabindex"))}set tabIndex(Wt){this.setAttributeNS(null,"tabindex",String(Wt))}focus(){if(!an.isFocusableAreaElement(this)){return}const Wt=this._ownerDocument;const Pt=Wt._lastFocusedElement;if(Pt===this){return}Wt._lastFocusedElement=null;if(Pt){an.fireFocusEventWithTargetAdjustment("blur",Pt,this);an.fireFocusEventWithTargetAdjustment("focusout",Pt,this,{bubbles:true})}else{const Pt=Wt._defaultView._frameElement;if(Pt){const Wt=Pt.ownerDocument._lastFocusedElement;Pt.ownerDocument._lastFocusedElement=null;an.fireFocusEventWithTargetAdjustment("blur",Wt,null);an.fireFocusEventWithTargetAdjustment("focusout",Wt,null,{bubbles:true});Pt.ownerDocument._lastFocusedElement=Pt}}Wt._lastFocusedElement=this;an.fireFocusEventWithTargetAdjustment("focus",this,Pt);an.fireFocusEventWithTargetAdjustment("focusin",this,Pt,{bubbles:true})}blur(){if(this._ownerDocument._lastFocusedElement!==this||!an.isFocusableAreaElement(this)){return}this._ownerDocument._lastFocusedElement=null;an.fireFocusEventWithTargetAdjustment("blur",this,this._ownerDocument);an.fireFocusEventWithTargetAdjustment("focusout",this,this._ownerDocument,{bubbles:true});an.fireFocusEventWithTargetAdjustment("focus",this._ownerDocument,this);an.fireFocusEventWithTargetAdjustment("focusin",this._ownerDocument,this,{bubbles:true})}}Pt.D=HTMLOrSVGElementImpl},8138:(Wt,Pt,en)=>{const tn=en(24406);const nn=en(95927).implementation;const an=en(95449).D;const{mixin:In}=en(35702);const{getLabelsForLabelable:rn,formOwner:sn}=en(10588);class HTMLOutputElementImpl extends nn{constructor(Wt,Pt,en){super(Wt,Pt,en);this._labels=null;this._defaultValueOverride=null;this._customValidityErrorMessage=""}_attrModified(Wt,Pt,en){super._attrModified(Wt,Pt,en);if(Wt==="for"&&this._htmlFor!==undefined){this._htmlFor.attrModified()}}_barredFromConstraintValidationSpecialization(){return true}_formReset(){this.textContent=this.defaultValue;this._defaultValueOverride=null}get htmlFor(){if(this._htmlFor===undefined){this._htmlFor=tn.createImpl(this._globalObject,[],{element:this,attributeLocalName:"for"})}return this._htmlFor}get type(){return"output"}get labels(){return rn(this)}get form(){return sn(this)}get value(){return this.textContent}set value(Wt){this._defaultValueOverride=this.defaultValue;this.textContent=Wt}get defaultValue(){if(this._defaultValueOverride!==null){return this._defaultValueOverride}return this.textContent}set defaultValue(Wt){if(this._defaultValueOverride===null){this.textContent=Wt;return}this._defaultValueOverride=Wt}}In(HTMLOutputElementImpl.prototype,an.prototype);Wt.exports={implementation:HTMLOutputElementImpl}},62627:(Wt,Pt,en)=>{const tn=en(95927).implementation;class HTMLParagraphElementImpl extends tn{}Wt.exports={implementation:HTMLParagraphElementImpl}},4328:(Wt,Pt,en)=>{const tn=en(95927).implementation;class HTMLParamElementImpl extends tn{}Wt.exports={implementation:HTMLParamElementImpl}},42195:(Wt,Pt,en)=>{const tn=en(95927).implementation;class HTMLPictureElementImpl extends tn{}Wt.exports={implementation:HTMLPictureElementImpl}},79236:(Wt,Pt,en)=>{const tn=en(95927).implementation;class HTMLPreElementImpl extends tn{}Wt.exports={implementation:HTMLPreElementImpl}},17348:(Wt,Pt,en)=>{const tn=en(95927).implementation;const{getLabelsForLabelable:nn}=en(10588);const{parseFloatingPointNumber:an}=en(97205);class HTMLProgressElementImpl extends tn{constructor(Wt,Pt,en){super(Wt,Pt,en);this._labels=null}get _isDeterminate(){return this.hasAttributeNS(null,"value")}get _value(){const Wt=this.getAttributeNS(null,"value");if(Wt!==null){const Pt=an(Wt);if(Pt!==null&&Pt>0){return Pt}}return 0}get _currentValue(){const Wt=this._value;return Wt>this._maximumValue?this._maximumValue:Wt}get _maximumValue(){const Wt=this.getAttributeNS(null,"max");if(Wt!==null){const Pt=an(Wt);if(Pt!==null&&Pt>0){return Pt}}return 1}get value(){if(this._isDeterminate){return this._currentValue}return 0}set value(Wt){this.setAttributeNS(null,"value",Wt)}get position(){if(!this._isDeterminate){return-1}return this._currentValue/this._maximumValue}get labels(){return nn(this)}}Wt.exports={implementation:HTMLProgressElementImpl}},66081:(Wt,Pt,en)=>{const tn=en(95927).implementation;class HTMLQuoteElementImpl extends tn{}Wt.exports={implementation:HTMLQuoteElementImpl}},61856:(Wt,Pt,en)=>{const tn=en(69154);const nn=en(86476);const an=en(59344);const{serializeURL:In}=en(78012);const rn=en(95927).implementation;const sn=en(12323);const{domSymbolTree:on,cloningSteps:cn}=en(38542);const{asciiLowercase:dn}=en(97205);const{childTextContent:un}=en(29200);const{parseURLToResultingURLRecord:pn}=en(30962);const mn=en(7206);const bn=new Set(["application/ecmascript","application/javascript","application/x-ecmascript","application/x-javascript","text/ecmascript","text/javascript","text/javascript1.0","text/javascript1.1","text/javascript1.2","text/javascript1.3","text/javascript1.4","text/javascript1.5","text/jscript","text/livescript","text/x-ecmascript","text/x-javascript"]);class HTMLScriptElementImpl extends rn{constructor(Wt,Pt,en){super(Wt,Pt,en);this._alreadyStarted=false;this._parserInserted=false}_attach(){super._attach();if(!this._parserInserted||this._isMovingDueToDocumentWrite){this._eval()}}_canRunScript(){const Wt=this._ownerDocument;if(!Wt._defaultView||Wt._defaultView._runScripts!=="dangerously"||Wt._scriptingDisabled){return false}return true}_fetchExternalScript(){const Wt=this._ownerDocument;const Pt=Wt._resourceLoader;const en=nn.labelToName(this.getAttributeNS(null,"charset"))||Wt._encoding;let tn;if(!this._canRunScript()){return}const rn=this.getAttributeNS(null,"src");const sn=pn(rn,this._ownerDocument);if(sn===null){return}const on=In(sn);const onLoadExternalScript=Wt=>{const{response:Pt}=tn;let In;if(Pt&&Pt.statusCode!==undefined&&Pt.statusCode>=400){throw new Error("Status code: "+Pt.statusCode)}if(Pt){In=an.parse(Pt.headers["content-type"])||new an("text/plain")}const rn=nn.getBOMEncoding(Wt)||In&&nn.labelToName(In.parameters.get("charset"))||en;const sn=nn.decode(Wt,rn);this._innerEval(sn,on)};tn=Pt.fetch(on,{element:this,onLoad:onLoadExternalScript})}_fetchInternalScript(){const Wt=this._ownerDocument;if(!this._canRunScript()){return}Wt._queue.push(null,(()=>{this._innerEval(this.text,Wt.URL)}),null,false,this)}_attrModified(Wt,Pt,en){super._attrModified(Wt,Pt,en);if(this._attached&&!this._startedEval&&Wt==="src"&&en===null&&Pt!==null){this._fetchExternalScript()}}_poppedOffStackOfOpenElements(){this._eval()}_eval(){if(this._alreadyStarted){return}if(!this.hasAttributeNS(null,"src")&&this.text.length===0){return}if(!this._attached){return}const Wt=this._getTypeString();const Pt=getType(Wt);if(Pt!=="classic"){return}this._alreadyStarted=true;if(this.hasAttributeNS(null,"src")){this._fetchExternalScript()}else{this._fetchInternalScript()}}_innerEval(Wt,Pt){this._ownerDocument._writeAfterElement=this;processJavaScript(this,Wt,Pt);delete this._ownerDocument._writeAfterElement}_getTypeString(){const Wt=this.getAttributeNS(null,"type");const Pt=this.getAttributeNS(null,"language");if(Wt===""){return"text/javascript"}if(Wt===null&&Pt===""){return"text/javascript"}if(Wt===null&&Pt===null){return"text/javascript"}if(Wt!==null){return Wt.trim()}if(Pt!==null){return"text/"+Pt}return null}get text(){return un(this)}set text(Wt){this.textContent=Wt}[cn](Wt,Pt){Wt._alreadyStarted=Pt._alreadyStarted}}function processJavaScript(Wt,Pt,en){const nn=Wt.ownerDocument;const an=nn&&nn._global;if(an){nn._currentScript=Wt;let In=0;if(!Wt.hasAttributeNS(null,"src")){for(const Pt of on.childrenIterator(Wt)){if(Pt.nodeType===mn.TEXT_NODE){if(Pt.sourceCodeLocation){In=Pt.sourceCodeLocation.startLine-1}break}}}try{tn.runInContext(Pt,an,{filename:en,lineOffset:In,displayErrors:false})}catch(Wt){sn(an,Wt,en)}finally{nn._currentScript=null}}}function getType(Wt){const Pt=dn(Wt);if(bn.has(Pt)){return"classic"}if(Pt==="module"){return"module"}return null}Wt.exports={implementation:HTMLScriptElementImpl}},34143:(Wt,Pt,en)=>{const tn=en(37125);const nn=en(87094);const an=en(47180);const In=en(95449).D;const{mixin:rn}=en(35702);const sn=en(95927).implementation;const on=en(7206);const cn=en(13506);const dn=en(71834);const{domSymbolTree:un}=en(38542);const{getLabelsForLabelable:pn,formOwner:mn,isDisabled:bn}=en(10588);const{parseNonNegativeInteger:Gn}=en(97205);class HTMLSelectElementImpl extends sn{constructor(Wt,Pt,en){super(Wt,Pt,en);this._options=dn.createImpl(this._globalObject,[],{element:this,query:()=>{const Wt=[];for(const Pt of un.childrenIterator(this)){if(Pt._localName==="option"){Wt.push(Pt)}else if(Pt._localName==="optgroup"){for(const en of un.childrenIterator(Pt)){if(en._localName==="option"){Wt.push(en)}}}}return Wt}});this._selectedOptions=null;this._customValidityErrorMessage="";this._labels=null}_formReset(){for(const Wt of this.options){Wt._selectedness=Wt.hasAttributeNS(null,"selected");Wt._dirtyness=false}this._askedForAReset()}_askedForAReset(){if(this.hasAttributeNS(null,"multiple")){return}const Wt=this.options.filter((Wt=>Wt._selectedness));const Pt=this._displaySize;if(Pt===1&&!Wt.length){for(const Wt of this.options){let Pt=Wt.hasAttributeNS(null,"disabled");const en=un.parent(Wt);if(en&&en.nodeName.toUpperCase()==="OPTGROUP"&&en.hasAttributeNS(null,"disabled")){Pt=true}if(!Pt){Wt._selectedness=true;break}}}else if(Wt.length>=2){Wt.forEach(((Pt,en)=>{Pt._selectedness=en===Wt.length-1}))}}_descendantAdded(Wt,Pt){if(Pt.nodeType===on.ELEMENT_NODE){this._askedForAReset()}super._descendantAdded(Wt,Pt)}_descendantRemoved(Wt,Pt){if(Pt.nodeType===on.ELEMENT_NODE){this._askedForAReset()}super._descendantRemoved(Wt,Pt)}_attrModified(Wt,Pt,en){if(Wt==="multiple"||Wt==="size"){this._askedForAReset()}super._attrModified(Wt,Pt,en)}get _displaySize(){if(this.hasAttributeNS(null,"size")){const Wt=Gn(this.getAttributeNS(null,"size"));if(Wt!==null){return Wt}}return this.hasAttributeNS(null,"multiple")?4:1}get _mutable(){return!bn(this)}get options(){return this._options}get selectedOptions(){return cn.createImpl(this._globalObject,[],{element:this,query:()=>un.treeToArray(this,{filter:Wt=>Wt._localName==="option"&&Wt._selectedness===true})})}get selectedIndex(){for(let Wt=0;Wt0){Wt=tn.long(Wt,{context:"Failed to execute 'remove' on 'HTMLSelectElement': parameter 1"});this.options.remove(Wt)}else{super.remove()}}_barredFromConstraintValidationSpecialization(){return this.hasAttributeNS(null,"readonly")}get validity(){if(!this._validity){const Wt={valueMissing:()=>{if(!this.hasAttributeNS(null,"required")){return false}const Wt=this.selectedIndex;return Wt<0||Wt===0&&this._hasPlaceholderOption}};this._validity=an.createImpl(this._globalObject,[],{element:this,state:Wt})}return this._validity}get _hasPlaceholderOption(){return this.hasAttributeNS(null,"required")&&!this.hasAttributeNS(null,"multiple")&&this._displaySize===1&&this.options.length>0&&this.options.item(0).value===""&&this.options.item(0).parentNode._localName!=="optgroup"}}rn(HTMLSelectElementImpl.prototype,In.prototype);Wt.exports={implementation:HTMLSelectElementImpl}},80011:(Wt,Pt,en)=>{const tn=en(87094);const nn=en(48708);const an=en(95927).implementation;const{nodeRoot:In}=en(39471);const{assignSlotableForTree:rn,findFlattenedSlotables:sn}=en(60470);class HTMLSlotElementImpl extends an{constructor(Wt,Pt,en){super(Wt,Pt,en);this._assignedNodes=[]}get name(){return this.getAttributeNS(null,"name")||""}_attrModified(Wt,Pt,en){super._attrModified(Wt,Pt,en);if(Wt==="name"){if(Pt===en){return}if(Pt===null&&en===""){return}if(Pt===""&&en===null){return}rn(In(this))}}assignedNodes(Wt){if(!Wt||!Wt.flatten){return this._assignedNodes.map(tn.wrapperForImpl)}return sn(this).map(tn.wrapperForImpl)}assignedElements(Wt){return this.assignedNodes(Wt).filter(nn.is)}}Wt.exports={implementation:HTMLSlotElementImpl}},51769:(Wt,Pt,en)=>{const tn=en(95927).implementation;class HTMLSourceElementImpl extends tn{}Wt.exports={implementation:HTMLSourceElementImpl}},76107:(Wt,Pt,en)=>{const tn=en(95927).implementation;class HTMLSpanElementImpl extends tn{}Wt.exports={implementation:HTMLSpanElementImpl}},6516:(Wt,Pt,en)=>{const tn=en(95927).implementation;const{removeStylesheet:nn,createStylesheet:an}=en(38454);const{documentBaseURL:In}=en(30962);const{childTextContent:rn}=en(29200);const{asciiCaseInsensitiveMatch:sn}=en(97205);class HTMLStyleElementImpl extends tn{constructor(Wt,Pt,en){super(Wt,Pt,en);this.sheet=null;this._isOnStackOfOpenElements=false}_attach(){super._attach();if(!this._isOnStackOfOpenElements){this._updateAStyleBlock()}}_detach(){super._detach();if(!this._isOnStackOfOpenElements){this._updateAStyleBlock()}}_childTextContentChangeSteps(){super._childTextContentChangeSteps();if(!this._isOnStackOfOpenElements){this._updateAStyleBlock()}}_poppedOffStackOfOpenElements(){this._isOnStackOfOpenElements=false;this._updateAStyleBlock()}_pushedOnStackOfOpenElements(){this._isOnStackOfOpenElements=true}_updateAStyleBlock(){if(this.sheet){nn(this.sheet,this)}if(!this.isConnected||!this._ownerDocument._defaultView){return}const Wt=this.getAttributeNS(null,"type");if(Wt!==null&&Wt!==""&&!sn(Wt,"text/css")){return}const Pt=rn(this);an(Pt,this,In(this._ownerDocument))}}Wt.exports={implementation:HTMLStyleElementImpl}},5257:(Wt,Pt,en)=>{const tn=en(95927).implementation;class HTMLTableCaptionElementImpl extends tn{}Wt.exports={implementation:HTMLTableCaptionElementImpl}},67157:(Wt,Pt,en)=>{const tn=en(95927).implementation;const{asciiLowercase:nn,parseNonNegativeInteger:an}=en(97205);const{closest:In}=en(83521);function reflectedAttributeClampedToRange(Wt,Pt,en,tn=0){if(Wt===null){return tn}const nn=an(Wt);if(nn===null){return tn}if(nnen){return en}return nn}class HTMLTableCellElementImpl extends tn{get colSpan(){return reflectedAttributeClampedToRange(this.getAttributeNS(null,"colspan"),1,1e3,1)}set colSpan(Wt){this.setAttributeNS(null,"colspan",String(Wt))}get rowSpan(){return reflectedAttributeClampedToRange(this.getAttributeNS(null,"rowspan"),0,65534,1)}set rowSpan(Wt){this.setAttributeNS(null,"rowspan",String(Wt))}get cellIndex(){const Wt=In(this,"tr");if(Wt===null){return-1}return Wt.cells.indexOf(this)}get scope(){let Wt=this.getAttributeNS(null,"scope");if(Wt===null){return""}Wt=nn(Wt);if(Wt==="row"||Wt==="col"||Wt==="rowgroup"||Wt==="colgroup"){return Wt}return""}set scope(Wt){this.setAttributeNS(null,"scope",Wt)}}Wt.exports={implementation:HTMLTableCellElementImpl}},9553:(Wt,Pt,en)=>{const tn=en(95927).implementation;class HTMLTableColElementImpl extends tn{}Wt.exports={implementation:HTMLTableColElementImpl}},9689:(Wt,Pt,en)=>{const tn=en(16694);const nn=en(95927).implementation;const{HTML_NS:an}=en(98071);const{domSymbolTree:In}=en(38542);const{firstChildWithLocalName:rn,childrenByLocalName:sn}=en(83521);const on=en(13506);const cn=en(7206);function tHeadInsertionPoint(Wt){const Pt=In.childrenIterator(Wt);for(const Wt of Pt){if(Wt.nodeType!==cn.ELEMENT_NODE){continue}if(Wt._namespaceURI!==an||Wt._localName!=="caption"&&Wt._localName!=="colgroup"){return Wt}}return null}class HTMLTableElementImpl extends nn{get caption(){return rn(this,"caption")}set caption(Wt){const Pt=this.caption;if(Pt!==null){this.removeChild(Pt)}if(Wt!==null){const Pt=this.firstChild;this.insertBefore(Wt,Pt)}}get tHead(){return rn(this,"thead")}set tHead(Wt){if(Wt!==null&&Wt._localName!=="thead"){throw tn.create(this._globalObject,["Cannot set a non-thead element as a table header","HierarchyRequestError"])}const Pt=this.tHead;if(Pt!==null){this.removeChild(Pt)}if(Wt!==null){const Pt=tHeadInsertionPoint(this);this.insertBefore(Wt,Pt)}}get tFoot(){return rn(this,"tfoot")}set tFoot(Wt){if(Wt!==null&&Wt._localName!=="tfoot"){throw tn.create(this._globalObject,["Cannot set a non-tfoot element as a table footer","HierarchyRequestError"])}const Pt=this.tFoot;if(Pt!==null){this.removeChild(Pt)}if(Wt!==null){this.appendChild(Wt)}}get rows(){if(!this._rows){this._rows=on.createImpl(this._globalObject,[],{element:this,query:()=>{const Wt=[];const Pt=[];const en=[];const tn=In.childrenIterator(this);for(const nn of tn){if(nn.nodeType!==cn.ELEMENT_NODE||nn._namespaceURI!==an){continue}if(nn._localName==="thead"){Wt.push(...sn(nn,"tr"))}else if(nn._localName==="tbody"){Pt.push(...sn(nn,"tr"))}else if(nn._localName==="tfoot"){en.push(...sn(nn,"tr"))}else if(nn._localName==="tr"){Pt.push(nn)}}return[...Wt,...Pt,...en]}})}return this._rows}get tBodies(){if(!this._tBodies){this._tBodies=on.createImpl(this._globalObject,[],{element:this,query:()=>sn(this,"tbody")})}return this._tBodies}createTBody(){const Wt=this._ownerDocument.createElement("TBODY");const Pt=sn(this,"tbody");const en=Pt[Pt.length-1];if(en){this.insertBefore(Wt,en.nextSibling)}else{this.appendChild(Wt)}return Wt}createTHead(){let Wt=this.tHead;if(!Wt){Wt=this.tHead=this._ownerDocument.createElement("THEAD")}return Wt}deleteTHead(){this.tHead=null}createTFoot(){let Wt=this.tFoot;if(!Wt){Wt=this.tFoot=this._ownerDocument.createElement("TFOOT")}return Wt}deleteTFoot(){this.tFoot=null}createCaption(){let Wt=this.caption;if(!Wt){Wt=this.caption=this._ownerDocument.createElement("CAPTION")}return Wt}deleteCaption(){const Wt=this.caption;if(Wt){Wt.parentNode.removeChild(Wt)}}insertRow(Wt){if(Wt<-1||Wt>this.rows.length){throw tn.create(this._globalObject,["Cannot insert a row at an index that is less than -1 or greater than the number of existing rows","IndexSizeError"])}const Pt=this._ownerDocument.createElement("tr");if(this.rows.length===0&&this.tBodies.length===0){const Wt=this._ownerDocument.createElement("tbody");Wt.appendChild(Pt);this.appendChild(Wt)}else if(this.rows.length===0){const Wt=this.tBodies.item(this.tBodies.length-1);Wt.appendChild(Pt)}else if(Wt===-1||Wt===this.rows.length){const Wt=this.rows.item(this.rows.length-1).parentNode;Wt.appendChild(Pt)}else{const en=this.rows.item(Wt);const tn=en.parentNode;tn.insertBefore(Pt,en)}return Pt}deleteRow(Wt){const Pt=this.rows.length;if(Wt<-1||Wt>=Pt){throw tn.create(this._globalObject,[`Cannot delete a row at index ${Wt}, where no row exists`,"IndexSizeError"])}if(Wt===-1){if(Pt===0){return}Wt=Pt-1}const en=this.rows.item(Wt);en.parentNode.removeChild(en)}}Wt.exports={implementation:HTMLTableElementImpl}},91119:(Wt,Pt,en)=>{const tn=en(16694);const nn=en(95927).implementation;const an=en(13506);const{HTML_NS:In}=en(98071);const{childrenByLocalNames:rn}=en(83521);const{domSymbolTree:sn}=en(38542);const on=new Set(["td","th"]);class HTMLTableRowElementImpl extends nn{get cells(){if(!this._cells){this._cells=an.createImpl(this._globalObject,[],{element:this,query:()=>rn(this,on)})}return this._cells}get rowIndex(){const Wt=this.parentElement;if(Wt===null||Wt.namespaceURI!==In){return-1}let Pt=Wt;if(Wt.localName==="thead"||Wt.localName==="tbody"||Wt.localName==="tfoot"){Pt=Wt.parentElement}if(Pt===null||Pt.namespaceURI!==In||Pt.localName!=="table"){return-1}return Pt.rows.indexOf(this)}get sectionRowIndex(){const Wt=sn.parent(this);if(Wt===null){return-1}const{rows:Pt}=Wt;if(!Pt){return-1}return Pt.indexOf(this)}insertCell(Wt){const Pt=this._ownerDocument.createElement("TD");const{cells:en}=this;if(Wt<-1||Wt>en.length){throw tn.create(this._globalObject,["The index is not in the allowed range.","IndexSizeError"])}if(Wt===-1||Wt===en.length){this._append(Pt)}else{const tn=en.item(Wt);this._insert(Pt,tn)}return Pt}deleteCell(Wt){const{cells:Pt}=this;if(Wt<-1||Wt>=Pt.length){throw tn.create(this._globalObject,["The index is not in the allowed range.","IndexSizeError"])}if(Wt===-1){if(Pt.length===0){return}Wt=Pt.length-1}const en=Pt.item(Wt);this._remove(en)}}Wt.exports={implementation:HTMLTableRowElementImpl}},55264:(Wt,Pt,en)=>{const tn=en(95927).implementation;const{childrenByLocalName:nn}=en(83521);const an=en(13506);const In=en(16694);class HTMLTableSectionElementImpl extends tn{get rows(){if(!this._rows){this._rows=an.createImpl(this._globalObject,[],{element:this,query:()=>nn(this,"tr")})}return this._rows}insertRow(Wt){if(Wt<-1||Wt>this.rows.length){throw In.create(this._globalObject,["Cannot insert a row at an index that is less than -1 or greater than the number of existing rows","IndexSizeError"])}const Pt=this._ownerDocument.createElement("tr");if(Wt===-1||Wt===this.rows.length){this._append(Pt)}else{const en=this.rows.item(Wt);this._insert(Pt,en)}return Pt}deleteRow(Wt){if(Wt<-1||Wt>=this.rows.length){throw In.create(this._globalObject,[`Cannot delete a row at index ${Wt}, where no row exists`,"IndexSizeError"])}if(Wt===-1){if(this.rows.length>0){const Wt=this.rows.item(this.rows.length-1);this._remove(Wt)}}else{const Pt=this.rows.item(Wt);this._remove(Pt)}}}Wt.exports={implementation:HTMLTableSectionElementImpl}},86029:(Wt,Pt,en)=>{const tn=en(95927).implementation;const nn=en(18946);const an=en(98938);const{cloningSteps:In,domSymbolTree:rn}=en(38542);const{clone:sn}=en(85621);class HTMLTemplateElementImpl extends tn{constructor(Wt,Pt,en){super(Wt,Pt,en);const tn=this._appropriateTemplateContentsOwnerDocument(this._ownerDocument);this._templateContents=an.createImpl(this._globalObject,[],{ownerDocument:tn,host:this})}_appropriateTemplateContentsOwnerDocument(Wt){if(!Wt._isInertTemplateDocument){if(Wt._associatedInertTemplateDocument===undefined){const Pt=nn.createImpl(this._globalObject,[],{options:{parsingMode:Wt._parsingMode,encoding:Wt._encoding}});Pt._isInertTemplateDocument=true;Wt._associatedInertTemplateDocument=Pt}Wt=Wt._associatedInertTemplateDocument}return Wt}_adoptingSteps(){const Wt=this._appropriateTemplateContentsOwnerDocument(this._ownerDocument);Wt._adoptNode(this._templateContents)}get content(){return this._templateContents}[In](Wt,Pt,en,tn){if(!tn){return}for(const en of rn.childrenIterator(Pt._templateContents)){const Pt=sn(en,Wt._templateContents._ownerDocument,true);Wt._templateContents.appendChild(Pt)}}}Wt.exports={implementation:HTMLTemplateElementImpl}},46285:(Wt,Pt,en)=>{const tn=en(95927).implementation;const nn=en(95449).D;const an=en(47180);const{mixin:In}=en(35702);const rn=en(16694);const{cloningSteps:sn}=en(38542);const{isDisabled:on,getLabelsForLabelable:cn,formOwner:dn}=en(10588);const{childTextContent:un}=en(29200);const{fireAnEvent:pn}=en(83350);class HTMLTextAreaElementImpl extends tn{constructor(Wt,Pt,en){super(Wt,Pt,en);this._selectionStart=this._selectionEnd=0;this._selectionDirection="none";this._rawValue="";this._dirtyValue=false;this._customValidityErrorMessage="";this._labels=null}_formReset(){this._rawValue=un(this);this._dirtyValue=false}_getAPIValue(){return this._rawValue.replace(/\r\n/g,"\n").replace(/\r/g,"\n")}_getValue(){const Wt=this._getAPIValue();const Pt=this.getAttributeNS(null,"wrap");return Pt==="hard"?textareaWrappingTransformation(Wt,this.getAttributeNS(null,"cols")??20):Wt}_childTextContentChangeSteps(){super._childTextContentChangeSteps();if(this._dirtyValue===false){this._rawValue=un(this)}}get labels(){return cn(this)}get form(){return dn(this)}get defaultValue(){return un(this)}set defaultValue(Wt){this.textContent=Wt}get value(){return this._getAPIValue()}set value(Wt){const Pt=this._getAPIValue();this._rawValue=Wt;this._dirtyValue=true;if(Pt!==this._getAPIValue()){this._selectionStart=this._selectionEnd=this._getValueLength();this._selectionDirection="none"}}get textLength(){return this.value.length}get type(){return"textarea"}_dispatchSelectEvent(){setTimeout((()=>pn("select",this,undefined,{bubbles:true,cancelable:false})),0)}_getValueLength(){return typeof this.value==="string"?this.value.length:0}select(){this._selectionStart=0;this._selectionEnd=this._getValueLength();this._selectionDirection="none";this._dispatchSelectEvent()}get selectionStart(){return this._selectionStart}set selectionStart(Wt){this.setSelectionRange(Wt,Math.max(Wt,this._selectionEnd),this._selectionDirection)}get selectionEnd(){return this._selectionEnd}set selectionEnd(Wt){this.setSelectionRange(this._selectionStart,Wt,this._selectionDirection)}get selectionDirection(){return this._selectionDirection}set selectionDirection(Wt){this.setSelectionRange(this._selectionStart,this._selectionEnd,Wt)}setSelectionRange(Wt,Pt,en){this._selectionEnd=Math.min(Pt,this._getValueLength());this._selectionStart=Math.min(Wt,this._selectionEnd);this._selectionDirection=en==="forward"||en==="backward"?en:"none";this._dispatchSelectEvent()}setRangeText(Wt,Pt,en,tn="preserve"){if(arguments.length<2){Pt=this._selectionStart;en=this._selectionEnd}else if(Pt>en){throw rn.create(this._globalObject,["The index is not in the allowed range.","IndexSizeError"])}Pt=Math.min(Pt,this._getValueLength());en=Math.min(en,this._getValueLength());const nn=this.value;let an=this._selectionStart;let In=this._selectionEnd;this.value=nn.slice(0,Pt)+Wt+nn.slice(en);const sn=Pt+Wt.length;if(tn==="select"){this.setSelectionRange(Pt,sn)}else if(tn==="start"){this.setSelectionRange(Pt,Pt)}else if(tn==="end"){this.setSelectionRange(sn,sn)}else{const tn=Wt.length-(en-Pt);if(an>en){an+=tn}else if(an>Pt){an=Pt}if(In>en){In+=tn}else if(In>Pt){In=sn}this.setSelectionRange(an,In)}}_barredFromConstraintValidationSpecialization(){return this.hasAttributeNS(null,"readonly")}get _mutable(){return!on(this)&&!this.hasAttributeNS(null,"readonly")}get validity(){if(!this._validity){const Wt={valueMissing:()=>this.hasAttributeNS(null,"required")&&this._mutable&&this.value===""};this._validity=an.createImpl(this._globalObject,[],{element:this,state:Wt})}return this._validity}[sn](Wt,Pt){Wt._dirtyValue=Pt._dirtyValue;Wt._rawValue=Pt._rawValue}}In(HTMLTextAreaElementImpl.prototype,nn.prototype);Wt.exports={implementation:HTMLTextAreaElementImpl};function textareaWrappingTransformation(Wt,Pt){let en=0;let tn=Wt.indexOf("\n");if(tn===-1){tn=Wt.length}while(enPt){tn=en+Pt;Wt=Wt.slice(0,tn)+"\n"+Wt.slice(tn)}en=tn+1;tn=Wt.indexOf("\n",en);if(tn===-1){tn=Wt.length}}return Wt}},81914:(Wt,Pt,en)=>{const tn=en(95927).implementation;class HTMLTimeElementImpl extends tn{}Wt.exports={implementation:HTMLTimeElementImpl}},93891:(Wt,Pt,en)=>{const tn=en(95927).implementation;const{childTextContent:nn}=en(29200);class HTMLTitleElementImpl extends tn{get text(){return nn(this)}set text(Wt){this.textContent=Wt}}Wt.exports={implementation:HTMLTitleElementImpl}},55266:(Wt,Pt,en)=>{const tn=en(95927).implementation;class HTMLTrackElementImpl extends tn{get readyState(){return 0}}Wt.exports={implementation:HTMLTrackElementImpl}},63174:(Wt,Pt,en)=>{const tn=en(95927).implementation;class HTMLUListElementImpl extends tn{}Wt.exports={implementation:HTMLUListElementImpl}},64675:(Wt,Pt,en)=>{const tn=en(95927).implementation;class HTMLUnknownElementImpl extends tn{}Wt.exports={implementation:HTMLUnknownElementImpl}},2242:(Wt,Pt,en)=>{const tn=en(4229).implementation;class HTMLVideoElementImpl extends tn{get videoWidth(){return 0}get videoHeight(){return 0}}Wt.exports={implementation:HTMLVideoElementImpl}},52746:(Wt,Pt,en)=>{const tn=en(16694);const nn=en(92697).implementation;const{simultaneousIterators:an}=en(35702);const In=en(7206);const rn=en(82759);const{clone:sn,locateNamespacePrefix:on,locateNamespace:cn}=en(85621);const{setAnExistingAttributeValue:dn}=en(69936);const un=en(49747);const{nodeRoot:pn,nodeLength:mn,isInclusiveAncestor:bn}=en(39471);const{domSymbolTree:Gn}=en(38542);const{documentBaseURLSerialized:hn}=en(30962);const{queueTreeMutationRecord:Zn}=en(69358);const{enqueueCECallbackReaction:An,tryUpgradeElement:Wn}=en(8348);const{isShadowRoot:Nn,shadowIncludingRoot:gn,assignSlot:yn,assignSlotableForTree:vn,assignSlotable:Yn,signalSlotChange:En,isSlot:Vn,shadowIncludingInclusiveDescendantsIterator:Rn,shadowIncludingDescendantsIterator:wn}=en(60470);const{invalidateStyleCache:Fn}=en(86024);function nodeEquals(Wt,Pt){if(Wt.nodeType!==Pt.nodeType){return false}switch(Wt.nodeType){case In.DOCUMENT_TYPE_NODE:if(Wt.name!==Pt.name||Wt.publicId!==Pt.publicId||Wt.systemId!==Pt.systemId){return false}break;case In.ELEMENT_NODE:if(Wt._namespaceURI!==Pt._namespaceURI||Wt._prefix!==Pt._prefix||Wt._localName!==Pt._localName||Wt._attributes.length!==Pt._attributes.length){return false}break;case In.ATTRIBUTE_NODE:if(Wt._namespace!==Pt._namespace||Wt._localName!==Pt._localName||Wt._value!==Pt._value){return false}break;case In.PROCESSING_INSTRUCTION_NODE:if(Wt._target!==Pt._target||Wt._data!==Pt._data){return false}break;case In.TEXT_NODE:case In.COMMENT_NODE:if(Wt._data!==Pt._data){return false}break}if(Wt.nodeType===In.ELEMENT_NODE&&!attributeListsEqual(Wt,Pt)){return false}for(const en of an(Gn.childrenIterator(Wt),Gn.childrenIterator(Pt))){if(!en[0]||!en[1]){return false}if(!nodeEquals(en[0],en[1])){return false}}return true}function attributeListsEqual(Wt,Pt){const en=Wt._attributeList;const tn=Pt._attributeList;const nn=en.length;const an=tn.length;if(nn!==an){return false}for(let Wt=0;WtnodeEquals(Pt,Wt)))){return false}}return true}function isHostInclusiveAncestor(Wt,Pt){for(const en of Gn.ancestorsIterator(Pt)){if(en===Wt){return true}}const en=pn(Pt);if(en._host){return isHostInclusiveAncestor(Wt,en._host)}return false}class NodeImpl extends nn{constructor(Wt,Pt,en){super(Wt,Pt,en);Gn.initialize(this);this._ownerDocument=en.ownerDocument;this._childNodesList=null;this._childrenList=null;this._version=0;this._memoizedQueries={};this._registeredObserverList=[];this._referencedRanges=new Set}_getTheParent(){if(this._assignedSlot){return this._assignedSlot}return Gn.parent(this)}get parentNode(){return Gn.parent(this)}getRootNode(Wt){return Wt.composed?gn(this):pn(this)}get nodeName(){switch(this.nodeType){case In.ELEMENT_NODE:return this.tagName;case In.ATTRIBUTE_NODE:return this._qualifiedName;case In.TEXT_NODE:return"#text";case In.CDATA_SECTION_NODE:return"#cdata-section";case In.PROCESSING_INSTRUCTION_NODE:return this.target;case In.COMMENT_NODE:return"#comment";case In.DOCUMENT_NODE:return"#document";case In.DOCUMENT_TYPE_NODE:return this.name;case In.DOCUMENT_FRAGMENT_NODE:return"#document-fragment"}return null}get firstChild(){return Gn.firstChild(this)}get isConnected(){const Wt=gn(this);return Wt&&Wt.nodeType===In.DOCUMENT_NODE}get ownerDocument(){return this.nodeType===In.DOCUMENT_NODE?null:this._ownerDocument}get lastChild(){return Gn.lastChild(this)}get childNodes(){if(!this._childNodesList){this._childNodesList=un.createImpl(this._globalObject,[],{element:this,query:()=>Gn.childrenToArray(this)})}else{this._childNodesList._update()}return this._childNodesList}get nextSibling(){return Gn.nextSibling(this)}get previousSibling(){return Gn.previousSibling(this)}_modified(){this._version++;for(const Wt of Gn.ancestorsIterator(this)){Wt._version++}if(this._childrenList){this._childrenList._update()}if(this._childNodesList){this._childNodesList._update()}this._clearMemoizedQueries();Fn(this)}_childTextContentChangeSteps(){Fn(this)}_clearMemoizedQueries(){this._memoizedQueries={};const Wt=Gn.parent(this);if(Wt){Wt._clearMemoizedQueries()}}_descendantRemoved(Wt,Pt){const en=Gn.parent(this);if(en){en._descendantRemoved(Wt,Pt)}}_descendantAdded(Wt,Pt){const en=Gn.parent(this);if(en){en._descendantAdded(Wt,Pt)}}_attach(){this._attached=true;for(const Wt of Gn.childrenIterator(this)){if(Wt._attach){Wt._attach()}}}_detach(){this._attached=false;if(this._ownerDocument&&this._ownerDocument._lastFocusedElement===this){this._ownerDocument._lastFocusedElement=null}for(const Wt of Gn.childrenIterator(this)){if(Wt._detach){Wt._detach()}}}hasChildNodes(){return Gn.hasChildren(this)}normalize(){for(const Wt of Gn.treeToArray(this)){const Pt=Gn.parent(Wt);if(Pt===null||Wt.nodeType!==In.TEXT_NODE){continue}let en=mn(Wt);if(en===0){Pt._remove(Wt);continue}const tn=[];for(const Pt of Gn.previousSiblingsIterator(Wt)){if(Pt.nodeType!==In.TEXT_NODE){break}tn.unshift(Pt)}for(const Pt of Gn.nextSiblingsIterator(Wt)){if(Pt.nodeType!==In.TEXT_NODE){break}tn.push(Pt)}const nn=tn.reduce(((Wt,Pt)=>Wt+Pt._data),"");Wt.replaceData(en,0,nn);let an=Gn.nextSibling(Wt);while(an&&an.nodeType===In.TEXT_NODE){const tn=Gn.index(an);for(const Pt of Wt._referencedRanges){const{_start:tn,_end:nn}=Pt;if(tn.node===an){Pt._setLiveRangeStart(Wt,tn.offset+en)}if(nn.node===an){Pt._setLiveRangeEnd(Wt,nn.offset+en)}}for(const nn of Pt._referencedRanges){const{_start:an,_end:In}=nn;if(an.node===Pt&&an.offset===tn){nn._setLiveRangeStart(Wt,en)}if(In.node===Pt&&In.offset===tn){nn._setLiveRangeEnd(Wt,en)}}en+=mn(an);an=Gn.nextSibling(an)}for(const Wt of tn){Pt._remove(Wt)}}}get parentElement(){const Wt=Gn.parent(this);return Wt!==null&&Wt.nodeType===In.ELEMENT_NODE?Wt:null}get baseURI(){return hn(this._ownerDocument)}compareDocumentPosition(Wt){let Pt=Wt;let en=this;let tn=null;let nn=null;if(Pt.nodeType===In.ATTRIBUTE_NODE){tn=Pt;Pt=tn._element}if(en.nodeType===In.ATTRIBUTE_NODE){nn=en;en=nn._element;if(tn!==null&&Pt!==null&&en===Pt){for(const Wt of en._attributeList){if(nodeEquals(Wt,tn)){return rn.DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC|rn.DOCUMENT_POSITION_PRECEDING}if(nodeEquals(Wt,nn)){return rn.DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC|rn.DOCUMENT_POSITION_FOLLOWING}}}}const an=Gn.compareTreePosition(en,Pt);if(an===rn.DOCUMENT_POSITION_DISCONNECTED){return rn.DOCUMENT_POSITION_DISCONNECTED|rn.DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC|rn.DOCUMENT_POSITION_FOLLOWING}return an}lookupPrefix(Wt){if(Wt===null||Wt===""){return null}switch(this.nodeType){case In.ELEMENT_NODE:{return on(this,Wt)}case In.DOCUMENT_NODE:{return this.documentElement!==null?on(this.documentElement,Wt):null}case In.DOCUMENT_TYPE_NODE:case In.DOCUMENT_FRAGMENT_NODE:{return null}case In.ATTRIBUTE_NODE:{return this._element!==null?on(this._element,Wt):null}default:{return this.parentElement!==null?on(this.parentElement,Wt):null}}}lookupNamespaceURI(Wt){if(Wt===""){Wt=null}return cn(this,Wt)}isDefaultNamespace(Wt){if(Wt===""){Wt=null}const Pt=cn(this,null);return Pt===Wt}contains(Wt){return bn(this,Wt)}isEqualNode(Wt){if(Wt===null){return false}if(this===Wt){return true}return nodeEquals(this,Wt)}isSameNode(Wt){if(this===Wt){return true}return false}cloneNode(Wt){if(Nn(this)){throw tn.create(this._globalObject,["ShadowRoot nodes are not clonable.","NotSupportedError"])}Wt=Boolean(Wt);return sn(this,undefined,Wt)}get nodeValue(){switch(this.nodeType){case In.ATTRIBUTE_NODE:{return this._value}case In.TEXT_NODE:case In.CDATA_SECTION_NODE:case In.PROCESSING_INSTRUCTION_NODE:case In.COMMENT_NODE:{return this._data}default:{return null}}}set nodeValue(Wt){if(Wt===null){Wt=""}switch(this.nodeType){case In.ATTRIBUTE_NODE:{dn(this,Wt);break}case In.TEXT_NODE:case In.CDATA_SECTION_NODE:case In.PROCESSING_INSTRUCTION_NODE:case In.COMMENT_NODE:{this.replaceData(0,this.length,Wt);break}}}get textContent(){switch(this.nodeType){case In.DOCUMENT_FRAGMENT_NODE:case In.ELEMENT_NODE:{let Wt="";for(const Pt of Gn.treeIterator(this)){if(Pt.nodeType===In.TEXT_NODE||Pt.nodeType===In.CDATA_SECTION_NODE){Wt+=Pt.nodeValue}}return Wt}case In.ATTRIBUTE_NODE:{return this._value}case In.TEXT_NODE:case In.CDATA_SECTION_NODE:case In.PROCESSING_INSTRUCTION_NODE:case In.COMMENT_NODE:{return this._data}default:{return null}}}set textContent(Wt){if(Wt===null){Wt=""}switch(this.nodeType){case In.DOCUMENT_FRAGMENT_NODE:case In.ELEMENT_NODE:{let Pt=null;if(Wt!==""){Pt=this._ownerDocument.createTextNode(Wt)}this._replaceAll(Pt);break}case In.ATTRIBUTE_NODE:{dn(this,Wt);break}case In.TEXT_NODE:case In.CDATA_SECTION_NODE:case In.PROCESSING_INSTRUCTION_NODE:case In.COMMENT_NODE:{this.replaceData(0,this.length,Wt);break}}}insertBefore(Wt,Pt){return this._preInsert(Wt,Pt)}appendChild(Wt){return this._append(Wt)}replaceChild(Wt,Pt){return this._replace(Wt,Pt)}removeChild(Wt){return this._preRemove(Wt)}_preInsertValidity(Wt,Pt){const{nodeType:en,nodeName:nn}=Wt;const{nodeType:an,nodeName:rn}=this;if(an!==In.DOCUMENT_NODE&&an!==In.DOCUMENT_FRAGMENT_NODE&&an!==In.ELEMENT_NODE){throw tn.create(this._globalObject,[`Node can't be inserted in a ${rn} parent.`,"HierarchyRequestError"])}if(isHostInclusiveAncestor(Wt,this)){throw tn.create(this._globalObject,["The operation would yield an incorrect node tree.","HierarchyRequestError"])}if(Pt&&Gn.parent(Pt)!==this){throw tn.create(this._globalObject,["The child can not be found in the parent.","NotFoundError"])}if(en!==In.DOCUMENT_FRAGMENT_NODE&&en!==In.DOCUMENT_TYPE_NODE&&en!==In.ELEMENT_NODE&&en!==In.TEXT_NODE&&en!==In.CDATA_SECTION_NODE&&en!==In.PROCESSING_INSTRUCTION_NODE&&en!==In.COMMENT_NODE){throw tn.create(this._globalObject,[`${nn} node can't be inserted in parent node.`,"HierarchyRequestError"])}if(en===In.TEXT_NODE&&an===In.DOCUMENT_NODE||en===In.DOCUMENT_TYPE_NODE&&an!==In.DOCUMENT_NODE){throw tn.create(this._globalObject,[`${nn} node can't be inserted in ${rn} parent.`,"HierarchyRequestError"])}if(an===In.DOCUMENT_NODE){const an=Gn.childrenToArray(Wt);const sn=Gn.childrenToArray(this);switch(en){case In.DOCUMENT_FRAGMENT_NODE:{const Wt=an.filter((Wt=>Wt.nodeType===In.ELEMENT_NODE));if(Wt.length>1){throw tn.create(this._globalObject,[`Invalid insertion of ${nn} node in ${rn} node.`,"HierarchyRequestError"])}const en=an.some((Wt=>Wt.nodeType===In.TEXT_NODE));if(en){throw tn.create(this._globalObject,[`Invalid insertion of ${nn} node in ${rn} node.`,"HierarchyRequestError"])}if(Wt.length===1&&(sn.some((Wt=>Wt.nodeType===In.ELEMENT_NODE))||Pt&&Pt.nodeType===In.DOCUMENT_TYPE_NODE||Pt&&Gn.nextSibling(Pt)&&Gn.nextSibling(Pt).nodeType===In.DOCUMENT_TYPE_NODE)){throw tn.create(this._globalObject,[`Invalid insertion of ${nn} node in ${rn} node.`,"HierarchyRequestError"])}break}case In.ELEMENT_NODE:if(sn.some((Wt=>Wt.nodeType===In.ELEMENT_NODE))||Pt&&Pt.nodeType===In.DOCUMENT_TYPE_NODE||Pt&&Gn.nextSibling(Pt)&&Gn.nextSibling(Pt).nodeType===In.DOCUMENT_TYPE_NODE){throw tn.create(this._globalObject,[`Invalid insertion of ${nn} node in ${rn} node.`,"HierarchyRequestError"])}break;case In.DOCUMENT_TYPE_NODE:if(sn.some((Wt=>Wt.nodeType===In.DOCUMENT_TYPE_NODE))||Pt&&Gn.previousSibling(Pt)&&Gn.previousSibling(Pt).nodeType===In.ELEMENT_NODE||!Pt&&sn.some((Wt=>Wt.nodeType===In.ELEMENT_NODE))){throw tn.create(this._globalObject,[`Invalid insertion of ${nn} node in ${rn} node.`,"HierarchyRequestError"])}break}}}_preInsert(Wt,Pt){this._preInsertValidity(Wt,Pt);let en=Pt;if(en===Wt){en=Gn.nextSibling(Wt)}this._ownerDocument._adoptNode(Wt);this._insert(Wt,en);return Wt}_insert(Wt,Pt,en){const tn=Wt.nodeType===In.DOCUMENT_FRAGMENT_NODE?Gn.childrenCount(Wt):1;if(Pt){const Wt=Gn.index(Pt);for(const Pt of this._referencedRanges){const{_start:en,_end:nn}=Pt;if(en.offset>Wt){Pt._setLiveRangeStart(this,en.offset+tn)}if(nn.offset>Wt){Pt._setLiveRangeEnd(this,nn.offset+tn)}}}const nn=Wt.nodeType===In.DOCUMENT_FRAGMENT_NODE?Gn.childrenToArray(Wt):[Wt];if(Wt.nodeType===In.DOCUMENT_FRAGMENT_NODE){let Pt;while(Pt=Gn.firstChild(Wt)){Wt._remove(Pt,true)}}if(Wt.nodeType===In.DOCUMENT_FRAGMENT_NODE){Zn(Wt,[],nn,null,null)}const an=Pt?Gn.previousSibling(Pt):Gn.lastChild(this);let rn;for(const en of nn){if(!Pt){Gn.appendChild(this,en)}else{Gn.insertBefore(Pt,en)}if(this.nodeType===In.ELEMENT_NODE&&this._shadowRoot!==null&&(en.nodeType===In.ELEMENT_NODE||en.nodeType===In.TEXT_NODE)){yn(en)}this._modified();if(en.nodeType===In.TEXT_NODE||en.nodeType===In.CDATA_SECTION_NODE){this._childTextContentChangeSteps()}if(Vn(this)&&this._assignedNodes.length===0&&Nn(pn(this))){En(this)}const tn=pn(en);if(Nn(tn)){vn(tn)}if(this._attached&&Wt._attach){en._attach()}this._descendantAdded(this,en);if(rn===undefined){rn=en.isConnected}if(rn){for(const Wt of Rn(en)){if(Wt._ceState==="custom"){An(Wt,"connectedCallback",[])}else{Wn(Wt)}}}}if(!en){Zn(this,nn,[],an,Pt)}}_append(Wt){return this._preInsert(Wt,null)}_replace(Wt,Pt){const{nodeType:en,nodeName:nn}=Wt;const{nodeType:an,nodeName:rn}=this;if(an!==In.DOCUMENT_NODE&&an!==In.DOCUMENT_FRAGMENT_NODE&&an!==In.ELEMENT_NODE){throw tn.create(this._globalObject,[`Node can't be inserted in a ${rn} parent.`,"HierarchyRequestError"])}if(isHostInclusiveAncestor(Wt,this)){throw tn.create(this._globalObject,["The operation would yield an incorrect node tree.","HierarchyRequestError"])}if(Pt&&Gn.parent(Pt)!==this){throw tn.create(this._globalObject,["The child can not be found in the parent.","NotFoundError"])}if(en!==In.DOCUMENT_FRAGMENT_NODE&&en!==In.DOCUMENT_TYPE_NODE&&en!==In.ELEMENT_NODE&&en!==In.TEXT_NODE&&en!==In.CDATA_SECTION_NODE&&en!==In.PROCESSING_INSTRUCTION_NODE&&en!==In.COMMENT_NODE){throw tn.create(this._globalObject,[`${nn} node can't be inserted in parent node.`,"HierarchyRequestError"])}if(en===In.TEXT_NODE&&an===In.DOCUMENT_NODE||en===In.DOCUMENT_TYPE_NODE&&an!==In.DOCUMENT_NODE){throw tn.create(this._globalObject,[`${nn} node can't be inserted in ${rn} parent.`,"HierarchyRequestError"])}if(an===In.DOCUMENT_NODE){const an=Gn.childrenToArray(Wt);const sn=Gn.childrenToArray(this);switch(en){case In.DOCUMENT_FRAGMENT_NODE:{const Wt=an.filter((Wt=>Wt.nodeType===In.ELEMENT_NODE));if(Wt.length>1){throw tn.create(this._globalObject,[`Invalid insertion of ${nn} node in ${rn} node.`,"HierarchyRequestError"])}const en=an.some((Wt=>Wt.nodeType===In.TEXT_NODE));if(en){throw tn.create(this._globalObject,[`Invalid insertion of ${nn} node in ${rn} node.`,"HierarchyRequestError"])}const on=sn.filter((Wt=>Wt.nodeType===In.ELEMENT_NODE));if(Wt.length===1&&(on.length===1&&on[0]!==Pt||Pt&&Gn.nextSibling(Pt)&&Gn.nextSibling(Pt).nodeType===In.DOCUMENT_TYPE_NODE)){throw tn.create(this._globalObject,[`Invalid insertion of ${nn} node in ${rn} node.`,"HierarchyRequestError"])}break}case In.ELEMENT_NODE:if(sn.some((Wt=>Wt.nodeType===In.ELEMENT_NODE&&Wt!==Pt))||Pt&&Gn.nextSibling(Pt)&&Gn.nextSibling(Pt).nodeType===In.DOCUMENT_TYPE_NODE){throw tn.create(this._globalObject,[`Invalid insertion of ${nn} node in ${rn} node.`,"HierarchyRequestError"])}break;case In.DOCUMENT_TYPE_NODE:if(sn.some((Wt=>Wt.nodeType===In.DOCUMENT_TYPE_NODE&&Wt!==Pt))||Pt&&Gn.previousSibling(Pt)&&Gn.previousSibling(Pt).nodeType===In.ELEMENT_NODE){throw tn.create(this._globalObject,[`Invalid insertion of ${nn} node in ${rn} node.`,"HierarchyRequestError"])}break}}let sn=Gn.nextSibling(Pt);if(sn===Wt){sn=Gn.nextSibling(Wt)}const on=Gn.previousSibling(Pt);this._ownerDocument._adoptNode(Wt);let cn=[];if(Gn.parent(Pt)){cn=[Pt];this._remove(Pt,true)}const dn=Wt.nodeType===In.DOCUMENT_FRAGMENT_NODE?Gn.childrenToArray(Wt):[Wt];this._insert(Wt,sn,true);Zn(this,dn,cn,on,sn);return Pt}_replaceAll(Wt){if(Wt!==null){this._ownerDocument._adoptNode(Wt)}const Pt=Gn.childrenToArray(this);let en;if(Wt===null){en=[]}else if(Wt.nodeType===In.DOCUMENT_FRAGMENT_NODE){en=Gn.childrenToArray(Wt)}else{en=[Wt]}for(const Wt of Gn.childrenIterator(this)){this._remove(Wt,true)}if(Wt!==null){this._insert(Wt,null,true)}if(en.length>0||Pt.length>0){Zn(this,en,Pt,null,null)}}_preRemove(Wt){if(Gn.parent(Wt)!==this){throw tn.create(this._globalObject,["The node to be removed is not a child of this node.","NotFoundError"])}this._remove(Wt);return Wt}_remove(Wt,Pt){const en=Gn.index(Wt);for(const Pt of Gn.treeIterator(Wt)){for(const Wt of Pt._referencedRanges){const{_start:tn,_end:nn}=Wt;if(tn.node===Pt){Wt._setLiveRangeStart(this,en)}if(nn.node===Pt){Wt._setLiveRangeEnd(this,en)}}}for(const Wt of this._referencedRanges){const{_start:Pt,_end:tn}=Wt;if(Pt.node===this&&Pt.offset>en){Wt._setLiveRangeStart(this,Pt.offset-1)}if(tn.node===this&&tn.offset>en){Wt._setLiveRangeEnd(this,tn.offset-1)}}if(this._ownerDocument){this._ownerDocument._runPreRemovingSteps(Wt)}const tn=Gn.previousSibling(Wt);const nn=Gn.nextSibling(Wt);Gn.remove(Wt);if(Wt._assignedSlot){Yn(Wt._assignedSlot)}if(Vn(this)&&this._assignedNodes.length===0&&Nn(pn(this))){En(this)}let an=Vn(Wt);if(!an){for(const Pt of Gn.treeIterator(Wt)){if(Vn(Pt)){an=true;break}}}if(an){vn(pn(this));vn(Wt)}this._modified();Wt._detach();this._descendantRemoved(this,Wt);if(this.isConnected){if(Wt._ceState==="custom"){An(Wt,"disconnectedCallback",[])}for(const Pt of wn(Wt)){if(Pt._ceState==="custom"){An(Pt,"disconnectedCallback",[])}}}if(!Pt){Zn(this,[],[Wt],tn,nn)}if(Wt.nodeType===In.TEXT_NODE){this._childTextContentChangeSteps()}}}Wt.exports={implementation:NodeImpl}},5922:(Wt,Pt,en)=>{const tn=en(87094);Pt.implementation=class NodeListImpl{constructor(Wt,Pt,en){if(en.nodes){this._list=[...en.nodes];this._isLive=false}else{this._list=[];this._isLive=true;this._version=-1;this._element=en.element;this._query=en.query;this._update()}}get length(){this._update();return this._list.length}item(Wt){this._update();return this._list[Wt]||null}_update(){if(this._isLive){if(this._version{const{domSymbolTree:tn}=en(38542);const nn=en(7206);class NonDocumentTypeChildNodeImpl{get nextElementSibling(){for(const Wt of tn.nextSiblingsIterator(this)){if(Wt.nodeType===nn.ELEMENT_NODE){return Wt}}return null}get previousElementSibling(){for(const Wt of tn.previousSiblingsIterator(this)){if(Wt.nodeType===nn.ELEMENT_NODE){return Wt}}return null}}Wt.exports={implementation:NonDocumentTypeChildNodeImpl}},70837:Wt=>{class NonElementParentNodeImpl{}Wt.exports={implementation:NonElementParentNodeImpl}},18394:(Wt,Pt,en)=>{const tn=en(87094);const nn=en(49747);const an=en(13506);const{addNwsapi:In}=en(561);const{domSymbolTree:rn}=en(38542);const sn=en(7206);const{convertNodesIntoNode:on}=en(85621);class ParentNodeImpl{get children(){if(!this._childrenList){this._childrenList=an.createImpl(this._globalObject,[],{element:this,query:()=>rn.childrenToArray(this,{filter:Wt=>Wt.nodeType===sn.ELEMENT_NODE})})}else{this._childrenList._update()}return this._childrenList}get firstElementChild(){for(const Wt of rn.childrenIterator(this)){if(Wt.nodeType===sn.ELEMENT_NODE){return Wt}}return null}get lastElementChild(){for(const Wt of rn.childrenIterator(this,{reverse:true})){if(Wt.nodeType===sn.ELEMENT_NODE){return Wt}}return null}get childElementCount(){return this.children.length}prepend(...Wt){this._preInsert(on(this._ownerDocument,Wt),this.firstChild)}append(...Wt){this._append(on(this._ownerDocument,Wt))}replaceChildren(...Wt){const Pt=on(this._ownerDocument,Wt);this._preInsertValidity(Pt,null);this._replaceAll(Pt)}querySelector(Wt){if(shouldAlwaysSelectNothing(this)){return null}const Pt=In(this);return tn.implForWrapper(Pt.first(Wt,tn.wrapperForImpl(this)))}querySelectorAll(Wt){if(shouldAlwaysSelectNothing(this)){return nn.create(this._globalObject,[],{nodes:[]})}const Pt=In(this);const en=Pt.select(Wt,tn.wrapperForImpl(this));return nn.create(this._globalObject,[],{nodes:en.map((Wt=>tn.tryImplForWrapper(Wt)))})}}function shouldAlwaysSelectNothing(Wt){return Wt===Wt._ownerDocument&&!Wt.documentElement}Wt.exports={implementation:ParentNodeImpl}},21425:(Wt,Pt,en)=>{const tn=en(62871).implementation;const nn=en(7206);class ProcessingInstructionImpl extends tn{constructor(Wt,Pt,en){super(Wt,Pt,en);this.nodeType=nn.PROCESSING_INSTRUCTION_NODE;this._target=en.target}get target(){return this._target}}Wt.exports={implementation:ProcessingInstructionImpl}},73827:(Wt,Pt,en)=>{const tn=en(5922).implementation;class RadioNodeListImpl extends tn{get value(){this._update();const Wt=this._list.find((Wt=>Wt._localName==="input"&&Wt.type==="radio"&&Wt.checked));if(Wt===undefined){return""}if(!Wt.hasAttributeNS(null,"value")){return"on"}return Wt.getAttributeNS(null,"value")}set value(Wt){let Pt;if(Wt==="on"){Pt=this._list.find((Pt=>Pt._localName==="input"&&Pt.type==="radio"&&(!Pt.hasAttributeNS(null,"value")||Pt.getAttributeNS(null,"value")===Wt)))}else{Pt=this._list.find((Pt=>Pt._localName==="input"&&Pt.type==="radio"&&(Pt.hasAttributeNS(null,"value")&&Pt.getAttributeNS(null,"value")===Wt)))}if(Pt){Pt.checked=true}}}Wt.exports={implementation:RadioNodeListImpl}},72156:(Wt,Pt,en)=>{const{domSymbolTree:tn}=en(38542);const{SVG_NS:nn}=en(98071);const{mixin:an}=en(35702);const In=en(5505);const rn=en(54782).implementation;const sn=en(16819).implementation;const on=en(27206).implementation;const cn=en(67712).D;class SVGElementImpl extends rn{constructor(Wt,Pt,en){super(Wt,Pt,en);this._initHTMLOrSVGElement();this._initElementCSSInlineStyle();this._initGlobalEvents()}_attrModified(Wt,Pt,en){if(Wt==="style"&&Pt!==en&&!this._settingCssText){this._settingCssText=true;this._style.cssText=Pt;this._settingCssText=false}else if(Wt.startsWith("on")){this._globalEventChanged(Wt.substring(2))}super._attrModified(Wt,Pt,en)}get className(){return In.createImpl(this._globalObject,[],{element:this,attribute:"class"})}get ownerSVGElement(){let Wt=tn.parent(this);while(Wt&&Wt.namespaceURI===nn){if(Wt.localName==="svg"){return Wt}Wt=tn.parent(Wt)}return null}get viewportElement(){return this.ownerSVGElement}}SVGElementImpl.attributeRegistry=new Map;an(SVGElementImpl.prototype,sn.prototype);an(SVGElementImpl.prototype,on.prototype);an(SVGElementImpl.prototype,cn.prototype);Pt.implementation=SVGElementImpl},9133:(Wt,Pt,en)=>{const{mixin:tn}=en(35702);const nn=en(72156).implementation;const an=en(72207).D;class SVGGraphicsElementImpl extends nn{}SVGGraphicsElementImpl.attributeRegistry=new Map([...nn.attributeRegistry,...an.attributeRegistry]);tn(SVGGraphicsElementImpl.prototype,an.prototype);Pt.implementation=SVGGraphicsElementImpl},53362:(Wt,Pt,en)=>{const{mixin:tn}=en(35702);const nn=en(35168);const an=en(9133).implementation;const In=en(64473).implementation;const{domSymbolTree:rn}=en(38542);const{ELEMENT_NODE:sn}=en(7206);class SVGSVGElementImpl extends an{constructor(Wt,Pt,en){super(Wt,Pt,en);this._proxyWindowEventsToWindow()}createSVGNumber(){return nn.createImpl(this._globalObject,[],{})}getElementById(Wt){for(const Pt of rn.treeIterator(this)){if(Pt.nodeType===sn&&Pt.getAttributeNS(null,"id")===Wt){return Pt}}return null}suspendRedraw(){return 1}unsuspendRedraw(){}unsuspendRedrawAll(){}forceRedraw(){}}tn(SVGSVGElementImpl.prototype,In.prototype);Wt.exports={implementation:SVGSVGElementImpl}},72207:(Wt,Pt,en)=>{const{splitOnASCIIWhitespace:tn,splitOnCommas:nn}=en(97205);const{reserializeCommaSeparatedTokens:an,reserializeSpaceSeparatedTokens:In}=en(70812);const rn=en(48780);class SVGTestsImpl{get requiredExtensions(){return rn.createImpl(this._globalObject,[],{element:this,attribute:"requiredExtensions"})}get systemLanguage(){return rn.createImpl(this._globalObject,[],{element:this,attribute:"systemLanguage"})}}SVGTestsImpl.attributeRegistry=new Map([["requiredExtensions",{getValue:tn,serialize:In,initialValue:undefined}],["systemLanguage",{getValue:nn,serialize:an,initialValue:undefined}]]);Pt.D=SVGTestsImpl},52774:(Wt,Pt,en)=>{const tn=en(72156).implementation;class SVGTitleElementImpl extends tn{}Wt.exports={implementation:SVGTitleElementImpl}},2114:(Wt,Pt,en)=>{const{nodeRoot:tn}=en(39471);const{mixin:nn}=en(35702);const an=en(98089).implementation;const In=en(86882).implementation;const rn=en(97066).D;class ShadowRootImpl extends an{constructor(Wt,Pt,en){super(Wt,Pt,en);const{mode:tn}=en;this._mode=tn;this._availableToElementInternals=false}_getTheParent(Wt){if(!Wt.composed&&this===tn(Wt._path[0].item)){return null}return this._host}get mode(){return this._mode}get host(){return this._host}}nn(ShadowRootImpl.prototype,In.prototype);nn(ShadowRootImpl.prototype,rn.prototype);Wt.exports={implementation:ShadowRootImpl}},72498:(Wt,Pt,en)=>{const{findSlot:tn,assignSlot:nn,assignSlotable:an}=en(60470);class SlotableMixinImpl{_initSlotableMixin(){this._slotableName=""}_attrModifiedSlotableMixin(Wt,Pt,en){if(Wt==="slot"){if(Pt===en){return}if(Pt===null&&en===""){return}if(Pt===""&&en===null){return}if(Pt===null||Pt===""){this._slotableName=""}else{this._slotableName=Pt}if(this._assignedSlot){an(this._assignedSlot)}nn(this)}}get assignedSlot(){return tn(this,"open")}}Wt.exports={implementation:SlotableMixinImpl}},4247:(Wt,Pt,en)=>{const tn=en(72498).implementation;const nn=en(62871).implementation;const an=en(87094);const{domSymbolTree:In}=en(38542);const rn=en(16694);const sn=en(7206);const{mixin:on}=en(35702);class TextImpl extends nn{constructor(Wt,Pt,en){super(Wt,Pt,{data:Pt[0],ownerDocument:an.implForWrapper(Wt._document),...en});this._initSlotableMixin();this.nodeType=sn.TEXT_NODE}splitText(Wt){const{length:Pt}=this;if(Wt>Pt){throw rn.create(this._globalObject,["The index is not in the allowed range.","IndexSizeError"])}const en=Pt-Wt;const tn=this.substringData(Wt,en);const nn=this._ownerDocument.createTextNode(tn);const an=In.parent(this);if(an!==null){an._insert(nn,this.nextSibling);for(const Pt of this._referencedRanges){const{_start:en,_end:tn}=Pt;if(en.node===this&&en.offset>Wt){Pt._setLiveRangeStart(nn,en.offset-Wt)}if(tn.node===this&&tn.offset>Wt){Pt._setLiveRangeEnd(nn,tn.offset-Wt)}}const Pt=In.index(this);for(const Wt of an._referencedRanges){const{_start:en,_end:tn}=Wt;if(en.node===an&&en.offset===Pt+1){Wt._setLiveRangeStart(an,en.offset+1)}if(tn.node===an&&tn.offset===Pt+1){Wt._setLiveRangeEnd(an,tn.offset+1)}}}this.replaceData(Wt,en,"");return nn}get wholeText(){let Wt=this.textContent;let Pt;let en=this;while((Pt=In.previousSibling(en))&&Pt.nodeType===sn.TEXT_NODE){Wt=Pt.textContent+Wt;en=Pt}en=this;while((Pt=In.nextSibling(en))&&Pt.nodeType===sn.TEXT_NODE){Wt+=Pt.textContent;en=Pt}return Wt}}on(TextImpl.prototype,tn.prototype);Wt.exports={implementation:TextImpl}},64473:(Wt,Pt,en)=>{const{createEventAccessor:tn}=en(15676);const nn=new Set(["afterprint","beforeprint","beforeunload","hashchange","languagechange","message","messageerror","offline","online","pagehide","pageshow","popstate","rejectionhandled","storage","unhandledrejection","unload","blur","error","focus","load","resize","scroll"]);class WindowEventHandlersImpl{_proxyWindowEventsToWindow(){this._getEventHandlerTarget=Wt=>{if(nn.has(Wt)){return this.ownerDocument.defaultView||null}return this}}}for(const Wt of nn){tn(WindowEventHandlersImpl.prototype,Wt)}Wt.exports={implementation:WindowEventHandlersImpl}},27494:(Wt,Pt,en)=>{const tn=en(34641).implementation;Pt.implementation=class XMLDocumentImpl extends tn{}},32065:(Wt,Pt,en)=>{const tn=en(16694);const nn=en(74374);const an=en(87094);const{isValidTargetOrigin:In}=en(35702);const{fireAnEvent:rn}=en(83350);Wt.exports=function(Wt){return function(Pt,en){if(arguments.length<2){throw new TypeError("'postMessage' requires 2 arguments: 'message' and 'targetOrigin'")}en=String(en);if(!In(en)){throw tn.create(Wt,["Failed to execute 'postMessage' on 'Window': "+"Invalid target origin '"+en+"' in a call to 'postMessage'.","SyntaxError"])}if(en!=="*"&&en!==an.implForWrapper(Wt._document)._origin){return}setTimeout((()=>{rn("message",this,nn,{data:Pt})}),0)}}},63891:Wt=>{class AbstractRangeImpl{constructor(Wt,Pt,en){const{start:tn,end:nn}=en;this._start=tn;this._end=nn;this._globalObject=Wt}get startContainer(){return this._start.node}get startOffset(){return this._start.offset}get endContainer(){return this._end.node}get endOffset(){return this._end.offset}get collapsed(){const{_start:Wt,_end:Pt}=this;return Wt.node===Pt.node&&Wt.offset===Pt.offset}}Wt.exports={implementation:AbstractRangeImpl}},41869:(Wt,Pt,en)=>{const tn=en(16694);const{clone:nn}=en(85621);const an=en(7206);const{parseFragment:In}=en(13430);const{HTML_NS:rn}=en(98071);const{domSymbolTree:sn}=en(38542);const{compareBoundaryPointsPosition:on}=en(73242);const{nodeRoot:cn,nodeLength:dn,isInclusiveAncestor:un}=en(39471);const{createElement:pn}=en(94202);const mn=en(63891).implementation;const bn=en(60190);const Gn=en(98938);const{implForWrapper:hn}=en(87094);const Zn={START_TO_START:0,START_TO_END:1,END_TO_END:2,END_TO_START:3};class RangeImpl extends mn{constructor(Wt,Pt,en){super(Wt,Pt,en);const tn={node:hn(Wt._document),offset:0};const{start:nn=tn,end:an=tn}=en;this._setLiveRangeStart(nn.node,nn.offset);this._setLiveRangeEnd(an.node,an.offset)}get commonAncestorContainer(){const{_start:Wt,_end:Pt}=this;for(const en of sn.ancestorsIterator(Wt.node)){if(un(en,Pt.node)){return en}}return null}setStart(Wt,Pt){setBoundaryPointStart(this,Wt,Pt)}setEnd(Wt,Pt){setBoundaryPointEnd(this,Wt,Pt)}setStartBefore(Wt){const Pt=sn.parent(Wt);if(!Pt){throw tn.create(this._globalObject,["The given Node has no parent.","InvalidNodeTypeError"])}setBoundaryPointStart(this,Pt,sn.index(Wt))}setStartAfter(Wt){const Pt=sn.parent(Wt);if(!Pt){throw tn.create(this._globalObject,["The given Node has no parent.","InvalidNodeTypeError"])}setBoundaryPointStart(this,Pt,sn.index(Wt)+1)}setEndBefore(Wt){const Pt=sn.parent(Wt);if(!Pt){throw tn.create(this._globalObject,["The given Node has no parent.","InvalidNodeTypeError"])}setBoundaryPointEnd(this,Pt,sn.index(Wt))}setEndAfter(Wt){const Pt=sn.parent(Wt);if(!Pt){throw tn.create(this._globalObject,["The given Node has no parent.","InvalidNodeTypeError"])}setBoundaryPointEnd(this,Pt,sn.index(Wt)+1)}collapse(Wt){if(Wt){this._setLiveRangeEnd(this._start.node,this._start.offset)}else{this._setLiveRangeStart(this._end.node,this._end.offset)}}selectNode(Wt){selectNodeWithinRange(Wt,this)}selectNodeContents(Wt){if(Wt.nodeType===an.DOCUMENT_TYPE_NODE){throw tn.create(this._globalObject,["DocumentType Node can't be used as boundary point.","InvalidNodeTypeError"])}const Pt=dn(Wt);this._setLiveRangeStart(Wt,0);this._setLiveRangeEnd(Wt,Pt)}compareBoundaryPoints(Wt,Pt){if(Wt!==Zn.START_TO_START&&Wt!==Zn.START_TO_END&&Wt!==Zn.END_TO_END&&Wt!==Zn.END_TO_START){const Wt="The comparison method provided must be one of 'START_TO_START', 'START_TO_END', 'END_TO_END', "+"or 'END_TO_START'.";throw tn.create(this._globalObject,[Wt,"NotSupportedError"])}if(this._root!==Pt._root){throw tn.create(this._globalObject,["The two Ranges are not in the same tree.","WrongDocumentError"])}let en,nn;if(Wt===Zn.START_TO_START){en=this._start;nn=Pt._start}else if(Wt===Zn.START_TO_END){en=this._end;nn=Pt._start}else if(Wt===Zn.END_TO_END){en=this._end;nn=Pt._end}else{en=this._start;nn=Pt._end}return on(en,nn)}deleteContents(){if(this.collapsed){return}const{_start:Wt,_end:Pt}=this;if(Wt.node===Pt.node&&(Wt.node.nodeType===an.TEXT_NODE||Wt.node.nodeType===an.PROCESSING_INSTRUCTION_NODE||Wt.node.nodeType===an.COMMENT_NODE)){Wt.node.replaceData(Wt.offset,Pt.offset-Wt.offset,"");return}const en=[];let tn=this._start.node;const nn=nextNodeDescendant(this._end.node);while(tn&&tn!==nn){if(isContained(tn,this)&&!isContained(sn.parent(tn),this)){en.push(tn)}tn=sn.following(tn)}let In,rn;if(un(Wt.node,Pt.node)){In=Wt.node;rn=Wt.offset}else{let en=Wt.node;while(en&&!un(sn.parent(en),Pt.node)){en=sn.parent(en)}In=sn.parent(en);rn=sn.index(en)+1}if(Wt.node.nodeType===an.TEXT_NODE||Wt.node.nodeType===an.PROCESSING_INSTRUCTION_NODE||Wt.node.nodeType===an.COMMENT_NODE){Wt.node.replaceData(Wt.offset,dn(Wt.node)-Wt.offset,"")}for(const Wt of en){const Pt=sn.parent(Wt);Pt.removeChild(Wt)}if(Pt.node.nodeType===an.TEXT_NODE||Pt.node.nodeType===an.PROCESSING_INSTRUCTION_NODE||Pt.node.nodeType===an.COMMENT_NODE){Pt.node.replaceData(0,Pt.offset,"")}this._setLiveRangeStart(In,rn);this._setLiveRangeEnd(In,rn)}extractContents(){return extractRange(this)}cloneContents(){return cloneRange(this)}insertNode(Wt){insertNodeInRange(Wt,this)}surroundContents(Wt){let Pt=this.commonAncestorContainer;const en=nextNodeDescendant(Pt);while(Pt!==en){if(Pt.nodeType!==an.TEXT_NODE&&isPartiallyContained(Pt,this)){throw tn.create(this._globalObject,["The Range has partially contains a non-Text node.","InvalidStateError"])}Pt=sn.following(Pt)}if(Wt.nodeType===an.DOCUMENT_NODE||Wt.nodeType===an.DOCUMENT_TYPE_NODE||Wt.nodeType===an.DOCUMENT_FRAGMENT_NODE){throw tn.create(this._globalObject,["Invalid element type.","InvalidNodeTypeError"])}const nn=extractRange(this);while(sn.firstChild(Wt)){Wt.removeChild(sn.firstChild(Wt))}insertNodeInRange(Wt,this);Wt.appendChild(nn);selectNodeWithinRange(Wt,this)}cloneRange(){const{_start:Wt,_end:Pt,_globalObject:en}=this;return bn.createImpl(en,[],{start:{node:Wt.node,offset:Wt.offset},end:{node:Pt.node,offset:Pt.offset}})}detach(){}isPointInRange(Wt,Pt){if(cn(Wt)!==this._root){return false}validateSetBoundaryPoint(Wt,Pt);const en={node:Wt,offset:Pt};if(on(en,this._start)===-1||on(en,this._end)===1){return false}return true}comparePoint(Wt,Pt){if(cn(Wt)!==this._root){throw tn.create(this._globalObject,["The given Node and the Range are not in the same tree.","WrongDocumentError"])}validateSetBoundaryPoint(Wt,Pt);const en={node:Wt,offset:Pt};if(on(en,this._start)===-1){return-1}else if(on(en,this._end)===1){return 1}return 0}intersectsNode(Wt){if(cn(Wt)!==this._root){return false}const Pt=sn.parent(Wt);if(!Pt){return true}const en=sn.index(Wt);return on({node:Pt,offset:en},this._end)===-1&&on({node:Pt,offset:en+1},this._start)===1}toString(){let Wt="";const{_start:Pt,_end:en}=this;if(Pt.node===en.node&&Pt.node.nodeType===an.TEXT_NODE){return Pt.node.data.slice(Pt.offset,en.offset)}if(Pt.node.nodeType===an.TEXT_NODE){Wt+=Pt.node.data.slice(Pt.offset)}let tn=Pt.node;const nn=nextNodeDescendant(en.node);while(tn&&tn!==nn){if(tn.nodeType===an.TEXT_NODE&&isContained(tn,this)){Wt+=tn.data}tn=sn.following(tn)}if(en.node.nodeType===an.TEXT_NODE){Wt+=en.node.data.slice(0,en.offset)}return Wt}createContextualFragment(Wt){const{node:Pt}=this._start;let en;switch(Pt.nodeType){case an.DOCUMENT_NODE:case an.DOCUMENT_FRAGMENT_NODE:en=null;break;case an.ELEMENT_NODE:en=Pt;break;case an.TEXT_NODE:case an.COMMENT_NODE:en=Pt.parentElement;break;default:throw new Error("Internal error: Invalid range start node")}if(en===null||en._ownerDocument._parsingMode==="html"&&en._localName==="html"&&en._namespaceURI===rn){en=pn(Pt._ownerDocument,"body",rn)}return In(Wt,en)}get _root(){return cn(this._start.node)}_setLiveRangeStart(Wt,Pt){if(this._start&&this._start.node!==Wt&&this._start.node!==this._end.node){this._start.node._referencedRanges.delete(this)}if(!Wt._referencedRanges.has(this)){Wt._referencedRanges.add(this)}this._start={node:Wt,offset:Pt}}_setLiveRangeEnd(Wt,Pt){if(this._end&&this._end.node!==Wt&&this._end.node!==this._start.node){this._end.node._referencedRanges.delete(this)}if(!Wt._referencedRanges.has(this)){Wt._referencedRanges.add(this)}this._end={node:Wt,offset:Pt}}}function nextNodeDescendant(Wt){while(Wt&&!sn.nextSibling(Wt)){Wt=sn.parent(Wt)}if(!Wt){return null}return sn.nextSibling(Wt)}function validateSetBoundaryPoint(Wt,Pt){if(Wt.nodeType===an.DOCUMENT_TYPE_NODE){throw tn.create(Wt._globalObject,["DocumentType Node can't be used as boundary point.","InvalidNodeTypeError"])}if(Pt>dn(Wt)){throw tn.create(Wt._globalObject,["Offset out of bound.","IndexSizeError"])}}function setBoundaryPointStart(Wt,Pt,en){validateSetBoundaryPoint(Pt,en);const tn={node:Pt,offset:en};if(cn(Pt)!==Wt._root||on(tn,Wt._end)===1){Wt._setLiveRangeEnd(Pt,en)}Wt._setLiveRangeStart(Pt,en)}function setBoundaryPointEnd(Wt,Pt,en){validateSetBoundaryPoint(Pt,en);const tn={node:Pt,offset:en};if(cn(Pt)!==Wt._root||on(tn,Wt._start)===-1){Wt._setLiveRangeStart(Pt,en)}Wt._setLiveRangeEnd(Pt,en)}function selectNodeWithinRange(Wt,Pt){const en=sn.parent(Wt);if(!en){throw tn.create(Wt._globalObject,["The given Node has no parent.","InvalidNodeTypeError"])}const nn=sn.index(Wt);Pt._setLiveRangeStart(en,nn);Pt._setLiveRangeEnd(en,nn+1)}function isContained(Wt,Pt){const{_start:en,_end:tn}=Pt;return on({node:Wt,offset:0},en)===1&&on({node:Wt,offset:dn(Wt)},tn)===-1}function isPartiallyContained(Wt,Pt){const{_start:en,_end:tn}=Pt;return un(Wt,en.node)&&!un(Wt,tn.node)||!un(Wt,en.node)&&un(Wt,tn.node)}function insertNodeInRange(Wt,Pt){const{node:en,offset:nn}=Pt._start;if(en.nodeType===an.PROCESSING_INSTRUCTION_NODE||en.nodeType===an.COMMENT_NODE||en.nodeType===an.TEXT_NODE&&!sn.parent(en)||Wt===en){throw tn.create(Wt._globalObject,["Invalid start node.","HierarchyRequestError"])}let In=en.nodeType===an.TEXT_NODE?en:sn.childrenToArray(en)[nn]||null;const rn=!In?en:sn.parent(In);rn._preInsertValidity(Wt,In);if(en.nodeType===an.TEXT_NODE){In=en.splitText(nn)}if(Wt===In){In=sn.nextSibling(In)}const on=sn.parent(Wt);if(on){on.removeChild(Wt)}let cn=!In?dn(rn):sn.index(In);cn+=Wt.nodeType===an.DOCUMENT_FRAGMENT_NODE?dn(Wt):1;rn.insertBefore(Wt,In);if(Pt.collapsed){Pt._setLiveRangeEnd(rn,cn)}}function cloneRange(Wt){const{_start:Pt,_end:en,_globalObject:In}=Wt;const rn=Gn.createImpl(In,[],{ownerDocument:Pt.node._ownerDocument});if(Wt.collapsed){return rn}if(Pt.node===en.node&&(Pt.node.nodeType===an.TEXT_NODE||Pt.node.nodeType===an.PROCESSING_INSTRUCTION_NODE||Pt.node.nodeType===an.COMMENT_NODE)){const Wt=nn(Pt.node);Wt._data=Wt.substringData(Pt.offset,en.offset-Pt.offset);rn.appendChild(Wt);return rn}let on=Pt.node;while(!un(on,en.node)){on=sn.parent(on)}let cn=null;if(!un(Pt.node,en.node)){let Pt=sn.firstChild(on);while(!cn){if(isPartiallyContained(Pt,Wt)){cn=Pt}Pt=sn.nextSibling(Pt)}}let pn=null;if(!un(en.node,Pt.node)){let Pt=sn.lastChild(on);while(!pn){if(isPartiallyContained(Pt,Wt)){pn=Pt}Pt=sn.previousSibling(Pt)}}const mn=sn.childrenToArray(on).filter((Pt=>isContained(Pt,Wt)));const hn=mn.some((Wt=>Wt.nodeType===an.DOCUMENT_TYPE_NODE));if(hn){throw tn.create(Wt._globalObject,["Invalid document type element.","HierarchyRequestError"])}if(cn!==null&&(cn.nodeType===an.TEXT_NODE||cn.nodeType===an.PROCESSING_INSTRUCTION_NODE||cn.nodeType===an.COMMENT_NODE)){const Wt=nn(Pt.node);Wt._data=Wt.substringData(Pt.offset,dn(Pt.node)-Pt.offset);rn.appendChild(Wt)}else if(cn!==null){const Wt=nn(cn);rn.appendChild(Wt);const en=bn.createImpl(In,[],{start:{node:Pt.node,offset:Pt.offset},end:{node:cn,offset:dn(cn)}});const tn=cloneRange(en);Wt.appendChild(tn)}for(const Wt of mn){const Pt=nn(Wt,undefined,true);rn.appendChild(Pt)}if(pn!==null&&(pn.nodeType===an.TEXT_NODE||pn.nodeType===an.PROCESSING_INSTRUCTION_NODE||pn.nodeType===an.COMMENT_NODE)){const Wt=nn(en.node);Wt._data=Wt.substringData(0,en.offset);rn.appendChild(Wt)}else if(pn!==null){const Wt=nn(pn);rn.appendChild(Wt);const Pt=bn.createImpl(In,[],{start:{node:pn,offset:0},end:{node:en.node,offset:en.offset}});const tn=cloneRange(Pt);Wt.appendChild(tn)}return rn}function extractRange(Wt){const{_start:Pt,_end:en,_globalObject:In}=Wt;const rn=Gn.createImpl(In,[],{ownerDocument:Pt.node._ownerDocument});if(Wt.collapsed){return rn}if(Pt.node===en.node&&(Pt.node.nodeType===an.TEXT_NODE||Pt.node.nodeType===an.PROCESSING_INSTRUCTION_NODE||Pt.node.nodeType===an.COMMENT_NODE)){const Wt=nn(Pt.node);Wt._data=Wt.substringData(Pt.offset,en.offset-Pt.offset);rn.appendChild(Wt);Pt.node.replaceData(Pt.offset,en.offset-Pt.offset,"");return rn}let on=Pt.node;while(!un(on,en.node)){on=sn.parent(on)}let cn=null;if(!un(Pt.node,en.node)){let Pt=sn.firstChild(on);while(!cn){if(isPartiallyContained(Pt,Wt)){cn=Pt}Pt=sn.nextSibling(Pt)}}let pn=null;if(!un(en.node,Pt.node)){let Pt=sn.lastChild(on);while(!pn){if(isPartiallyContained(Pt,Wt)){pn=Pt}Pt=sn.previousSibling(Pt)}}const mn=sn.childrenToArray(on).filter((Pt=>isContained(Pt,Wt)));const hn=mn.some((Wt=>Wt.nodeType===an.DOCUMENT_TYPE_NODE));if(hn){throw tn.create(Wt._globalObject,["Invalid document type element.","HierarchyRequestError"])}let Zn,An;if(un(Pt.node,en.node)){Zn=Pt.node;An=Pt.offset}else{let Wt=Pt.node;while(Wt&&!un(sn.parent(Wt),en.node)){Wt=sn.parent(Wt)}Zn=sn.parent(Wt);An=sn.index(Wt)+1}if(cn!==null&&(cn.nodeType===an.TEXT_NODE||cn.nodeType===an.PROCESSING_INSTRUCTION_NODE||cn.nodeType===an.COMMENT_NODE)){const Wt=nn(Pt.node);Wt._data=Wt.substringData(Pt.offset,dn(Pt.node)-Pt.offset);rn.appendChild(Wt);Pt.node.replaceData(Pt.offset,dn(Pt.node)-Pt.offset,"")}else if(cn!==null){const Wt=nn(cn);rn.appendChild(Wt);const en=bn.createImpl(In,[],{start:{node:Pt.node,offset:Pt.offset},end:{node:cn,offset:dn(cn)}});const tn=extractRange(en);Wt.appendChild(tn)}for(const Wt of mn){rn.appendChild(Wt)}if(pn!==null&&(pn.nodeType===an.TEXT_NODE||pn.nodeType===an.PROCESSING_INSTRUCTION_NODE||pn.nodeType===an.COMMENT_NODE)){const Wt=nn(en.node);Wt._data=Wt.substringData(0,en.offset);rn.appendChild(Wt);en.node.replaceData(0,en.offset,"")}else if(pn!==null){const Wt=nn(pn);rn.appendChild(Wt);const Pt=bn.createImpl(In,[],{start:{node:pn,offset:0},end:{node:en.node,offset:en.offset}});const tn=extractRange(Pt);Wt.appendChild(tn)}Wt._setLiveRangeStart(Zn,An);Wt._setLiveRangeEnd(Zn,An);return rn}Wt.exports={implementation:RangeImpl,setBoundaryPointStart:setBoundaryPointStart,setBoundaryPointEnd:setBoundaryPointEnd}},57315:(Wt,Pt,en)=>{const tn=en(16694);const nn=en(7206);const an=en(63891).implementation;class StaticRangeImpl extends an{constructor(Wt,Pt){const{startContainer:en,startOffset:an,endContainer:In,endOffset:rn}=Pt[0];if(en.nodeType===nn.DOCUMENT_TYPE_NODE||en.nodeType===nn.ATTRIBUTE_NODE||In.nodeType===nn.DOCUMENT_TYPE_NODE||In.nodeType===nn.ATTRIBUTE_NODE){throw tn.create(Wt,["The supplied node is incorrect.","InvalidNodeTypeError"])}super(Wt,[],{start:{node:en,offset:an},end:{node:In,offset:rn}})}}Wt.exports={implementation:StaticRangeImpl}},73242:(Wt,Pt,en)=>{const{domSymbolTree:tn}=en(38542);const{nodeRoot:nn,isFollowing:an,isInclusiveAncestor:In}=en(39471);function compareBoundaryPointsPosition(Wt,Pt){const{node:en,offset:rn}=Wt;const{node:sn,offset:on}=Pt;if(nn(en)!==nn(sn)){throw new Error(`Internal Error: Boundary points should have the same root!`)}if(en===sn){if(rn===on){return 0}else if(rn{const tn=en(16694);const nn=en(7206);const{nodeLength:an,nodeRoot:In}=en(39471);const{domSymbolTree:rn}=en(38542);const{compareBoundaryPointsPosition:sn}=en(73242);const{setBoundaryPointStart:on,setBoundaryPointEnd:cn}=en(41869);const dn=en(60190);const{implForWrapper:un}=en(87094);const pn={FORWARDS:1,BACKWARDS:-1,DIRECTIONLESS:0};class SelectionImpl{constructor(Wt){this._range=null;this._direction=pn.DIRECTIONLESS;this._globalObject=Wt}get anchorNode(){const Wt=this._anchor;return Wt?Wt.node:null}get anchorOffset(){const Wt=this._anchor;return Wt?Wt.offset:0}get focusNode(){const Wt=this._focus;return Wt?Wt.node:null}get focusOffset(){const Wt=this._focus;return Wt?Wt.offset:0}get isCollapsed(){return this._range===null||this._range.collapsed}get rangeCount(){return this._isEmpty()?0:1}get type(){if(this._isEmpty()){return"None"}else if(this._range.collapsed){return"Caret"}return"Range"}getRangeAt(Wt){if(Wt!==0||this._isEmpty()){throw tn.create(this._globalObject,["Invalid range index.","IndexSizeError"])}return this._range}addRange(Wt){if(Wt._root===un(this._globalObject._document)&&this.rangeCount===0){this._associateRange(Wt)}}removeRange(Wt){if(Wt!==this._range){throw tn.create(this._globalObject,["Invalid range.","NotFoundError"])}this._associateRange(null)}removeAllRanges(){this._associateRange(null)}empty(){this.removeAllRanges()}collapse(Wt,Pt){if(Wt===null){this.removeAllRanges();return}if(Wt.nodeType===nn.DOCUMENT_TYPE_NODE){throw tn.create(this._globalObject,["DocumentType Node can't be used as boundary point.","InvalidNodeTypeError"])}if(Pt>an(Wt)){throw tn.create(this._globalObject,["Invalid range index.","IndexSizeError"])}if(In(Wt)!==un(this._globalObject._document)){return}const en=dn.createImpl(this._globalObject,[],{start:{node:Wt,offset:0},end:{node:Wt,offset:0}});on(en,Wt,Pt);cn(en,Wt,Pt);this._associateRange(en)}setPosition(Wt,Pt){this.collapse(Wt,Pt)}collapseToStart(){if(this._isEmpty()){throw tn.create(this._globalObject,["There is no selection to collapse.","InvalidStateError"])}const{node:Wt,offset:Pt}=this._range._start;const en=dn.createImpl(this._globalObject,[],{start:{node:Wt,offset:Pt},end:{node:Wt,offset:Pt}});this._associateRange(en)}collapseToEnd(){if(this._isEmpty()){throw tn.create(this._globalObject,["There is no selection to collapse.","InvalidStateError"])}const{node:Wt,offset:Pt}=this._range._end;const en=dn.createImpl(this._globalObject,[],{start:{node:Wt,offset:Pt},end:{node:Wt,offset:Pt}});this._associateRange(en)}extend(Wt,Pt){if(In(Wt)!==un(this._globalObject._document)){return}if(this._isEmpty()){throw tn.create(this._globalObject,["There is no selection to extend.","InvalidStateError"])}const{_anchor:en}=this;const nn={node:Wt,offset:Pt};const an=dn.createImpl(this._globalObject,[],{start:{node:Wt,offset:0},end:{node:Wt,offset:0}});if(In(Wt)!==this._range._root){on(an,nn.node,nn.offset);cn(an,nn.node,nn.offset)}else if(sn(en,nn)<=0){on(an,en.node,en.offset);cn(an,nn.node,nn.offset)}else{on(an,nn.node,nn.offset);cn(an,en.node,en.offset)}this._associateRange(an);this._direction=sn(nn,en)===-1?pn.BACKWARDS:pn.FORWARDS}setBaseAndExtent(Wt,Pt,en,nn){if(Pt>an(Wt)||nn>an(en)){throw tn.create(this._globalObject,["Invalid anchor or focus offset.","IndexSizeError"])}const rn=un(this._globalObject._document);if(rn!==In(Wt)||rn!==In(en)){return}const on={node:Wt,offset:Pt};const cn={node:en,offset:nn};let mn;if(sn(on,cn)===-1){mn=dn.createImpl(this._globalObject,[],{start:{node:on.node,offset:on.offset},end:{node:cn.node,offset:cn.offset}})}else{mn=dn.createImpl(this._globalObject,[],{start:{node:cn.node,offset:cn.offset},end:{node:on.node,offset:on.offset}})}this._associateRange(mn);this._direction=sn(cn,on)===-1?pn.BACKWARDS:pn.FORWARDS}selectAllChildren(Wt){if(Wt.nodeType===nn.DOCUMENT_TYPE_NODE){throw tn.create(this._globalObject,["DocumentType Node can't be used as boundary point.","InvalidNodeTypeError"])}const Pt=un(this._globalObject._document);if(Pt!==In(Wt)){return}const en=rn.childrenCount(Wt);const an=dn.createImpl(this._globalObject,[],{start:{node:Wt,offset:0},end:{node:Wt,offset:0}});on(an,Wt,0);cn(an,Wt,en);this._associateRange(an)}deleteFromDocument(){if(!this._isEmpty()){this._range.deleteContents()}}containsNode(Wt,Pt){if(this._isEmpty()||In(Wt)!==un(this._globalObject._document)){return false}const{_start:en,_end:tn}=this._range;const nn=sn(en,{node:Wt,offset:0})===-1;const rn=sn(tn,{node:Wt,offset:an(Wt)})===1;return Pt?nn||rn:nn&&rn}toString(){return this._range?this._range.toString():""}_isEmpty(){return this._range===null}get _anchor(){if(!this._range){return null}return this._direction===pn.FORWARDS?this._range._start:this._range._end}get _focus(){if(!this._range){return null}return this._direction===pn.FORWARDS?this._range._end:this._range._start}_associateRange(Wt){this._range=Wt;this._direction=Wt===null?pn.DIRECTIONLESS:pn.FORWARDS}}Wt.exports={implementation:SelectionImpl}},48665:(Wt,Pt)=>{class SVGAnimatedStringImpl{constructor(Wt,Pt,en){this._element=en.element;this._attribute=en.attribute;this._attributeDeprecated=en.attributeDeprecated;this._initialValue=en.initialValue}get baseVal(){if(!this._element.hasAttributeNS(null,this._attribute)){if(this._attributeDeprecated!==undefined&&this._element.hasAttributeNS(null,this._attributeDeprecated)){return this._element.getAttributeNS(null,this._attributeDeprecated)}else if(this._initialValue!==undefined){return this._initialValue}return""}return this._element.getAttributeNS(null,this._attribute)}set baseVal(Wt){if(!this._element.hasAttributeNS(null,this._attribute)&&this._attributeDeprecated!==undefined&&this._element.hasAttributeNS(null,this._attributeDeprecated)){this._element.setAttributeNS(null,this._attributeDeprecated,Wt)}else{this._element.setAttributeNS(null,this._attribute,Wt)}}get animVal(){return this.baseVal}}Pt.implementation=SVGAnimatedStringImpl},51147:(Wt,Pt,en)=>{const tn=en(16694);const nn=en(87094);const{attach:an,detach:In}=en(70812);class List{_initList({element:Wt,attribute:Pt,readOnly:en=false}){this._element=Wt;this._attribute=Pt;this._attributeRegistryEntry=Wt.constructor.attributeRegistry.get(Pt);this._readOnly=en;this._list=[];this._version=-1}get _needsResync(){return this._version=0&&Wt=this._list.length){throw tn.create(this._globalObject,[`The index provided (${Wt}) is greater than or equal to the maximum bound (${this._list.length}).`,"IndexSizeError"])}return this._list[Wt]}insertItemBefore(Wt,Pt){this._synchronize();if(this._readOnly){throw tn.create(this._globalObject,["Attempting to modify a read-only list","NoModificationAllowedError"])}if(Pt>this._list.length){Pt=this._list.length}this._list.splice(Pt,0,Wt);an(Wt,this);this._reserialize();return Wt}replaceItem(Wt,Pt){this._synchronize();if(this._readOnly){throw tn.create(this._globalObject,["Attempting to modify a read-only list","NoModificationAllowedError"])}if(Pt>=this._list.length){throw tn.create(this._globalObject,[`The index provided (${Pt}) is greater than or equal to the maximum bound (${this._list.length}).`,"IndexSizeError"])}In(this._list[Pt]);this._list[Pt]=Wt;an(Wt,this);this._reserialize();return Wt}removeItem(Wt){this._synchronize();if(this._readOnly){throw tn.create(this._globalObject,["Attempting to modify a read-only list","NoModificationAllowedError"])}if(Wt>=this._list.length){throw tn.create(this._globalObject,[`The index provided (${Wt}) is greater than or equal to the maximum bound (${this._list.length}).`,"IndexSizeError"])}const Pt=this._list[Wt];In(Pt);this._list.splice(Wt,1);this._reserialize();return Pt}appendItem(Wt){this._synchronize();this._list.push(Wt);an(Wt,this);this._reserialize();return Wt}[nn.indexedSetNew](Wt,Pt){this.replaceItem(Pt,Wt)}[nn.indexedSetExisting](Wt,Pt){this.replaceItem(Pt,Wt)}}Wt.exports=List},29954:(Wt,Pt,en)=>{const tn=en(16694);class SVGNumberImpl{constructor(Wt,Pt,en){this._parentList=en.parentList;this._value=0}get _readOnly(){if(this._parentList!==undefined){return this._parentList._readOnly}return false}_synchronize(){if(this._parentList!==undefined){this._parentList._synchronize()}}_reserialize(){if(this._parentList!==undefined){this._parentList._reserialize()}}get value(){this._synchronize();return this._value}set value(Wt){if(this._readOnly){throw tn.create(this._globalObject,["Attempting to modify a read-only SVGNumber","NoModificationAllowedError"])}this._value=Wt;this._reserialize()}}Pt.implementation=SVGNumberImpl},51178:(Wt,Pt,en)=>{const{mixin:tn}=en(35702);const nn=en(51147);class SVGStringListImpl{constructor(Wt,Pt,en){this._globalObject=Wt;this._initList(en)}}tn(SVGStringListImpl.prototype,nn.prototype);Pt.implementation=SVGStringListImpl},15847:(Wt,Pt,en)=>{const{domSymbolTree:tn}=en(38542);const{filter:nn,FILTER_ACCEPT:an}=en(87201);Pt.implementation=class NodeIteratorImpl{constructor(Wt,Pt,en){this._active=false;this.root=en.root;this.whatToShow=en.whatToShow;this.filter=en.filter;this._referenceNode=this.root;this._pointerBeforeReferenceNode=true;this._globalObject=Wt}get referenceNode(){return this._referenceNode}get pointerBeforeReferenceNode(){return this._pointerBeforeReferenceNode}nextNode(){return this._traverse("next")}previousNode(){return this._traverse("previous")}detach(){}_preRemovingSteps(Wt){if(!Wt.contains(this._referenceNode)||Wt===this.root){return}if(this._pointerBeforeReferenceNode){let Pt=null;let en=tn.following(Wt,{skipChildren:true});while(en!==null){if(this.root.contains(en)){Pt=en;break}en=tn.following(en,{skipChildren:true})}if(Pt!==null){this._referenceNode=Pt;return}this._pointerBeforeReferenceNode=false}const{previousSibling:Pt}=Wt;this._referenceNode=Pt===null?Wt.parentNode:tn.lastInclusiveDescendant(Wt.previousSibling)}_traverse(Wt){let Pt=this._referenceNode;let en=this._pointerBeforeReferenceNode;while(true){if(Wt==="next"){if(!en){Pt=tn.following(Pt,{root:this.root});if(!Pt){return null}}en=false}else if(Wt==="previous"){if(en){Pt=tn.preceding(Pt,{root:this.root});if(!Pt){return null}}en=true}const In=nn(this,Pt);if(In===an){break}}this._referenceNode=Pt;this._pointerBeforeReferenceNode=en;return Pt}}},97223:(Wt,Pt,en)=>{const tn=en(16694);const{filter:nn,FILTER_ACCEPT:an,FILTER_REJECT:In,FILTER_SKIP:rn}=en(87201);const sn=false;const on=true;const cn=false;const dn=true;Pt.implementation=class TreeWalkerImpl{constructor(Wt,Pt,en){this._active=false;this.root=en.root;this.currentNode=this.root;this.whatToShow=en.whatToShow;this.filter=en.filter;this._globalObject=Wt}get currentNode(){return this._currentNode}set currentNode(Wt){if(Wt===null){throw tn.create(this._globalObject,["Cannot set currentNode to null","NotSupportedError"])}this._currentNode=Wt}parentNode(){let Wt=this._currentNode;while(Wt!==null&&Wt!==this.root){Wt=Wt.parentNode;if(Wt!==null&&nn(this,Wt)===an){return this._currentNode=Wt}}return null}firstChild(){return this._traverseChildren(sn)}lastChild(){return this._traverseChildren(on)}previousSibling(){return this._traverseSiblings(dn)}nextSibling(){return this._traverseSiblings(cn)}previousNode(){let Wt=this._currentNode;while(Wt!==this.root){let Pt=Wt.previousSibling;while(Pt!==null){Wt=Pt;let en=nn(this,Wt);while(en!==In&&Wt.hasChildNodes()){Wt=Wt.lastChild;en=nn(this,Wt)}if(en===an){return this._currentNode=Wt}Pt=Wt.previousSibling}if(Wt===this.root||Wt.parentNode===null){return null}Wt=Wt.parentNode;if(nn(this,Wt)===an){return this._currentNode=Wt}}return null}nextNode(){let Wt=this._currentNode;let Pt=an;for(;;){while(Pt!==In&&Wt.hasChildNodes()){Wt=Wt.firstChild;Pt=nn(this,Wt);if(Pt===an){return this._currentNode=Wt}}do{if(Wt===this.root){return null}const Pt=Wt.nextSibling;if(Pt!==null){Wt=Pt;break}Wt=Wt.parentNode}while(Wt!==null);if(Wt===null){return null}Pt=nn(this,Wt);if(Pt===an){return this._currentNode=Wt}}}_traverseChildren(Wt){let Pt=this._currentNode;Pt=Wt===sn?Pt.firstChild:Pt.lastChild;if(Pt===null){return null}e:for(;;){const en=nn(this,Pt);if(en===an){return this._currentNode=Pt}if(en===rn){const en=Wt===sn?Pt.firstChild:Pt.lastChild;if(en!==null){Pt=en;continue}}for(;;){const en=Wt===sn?Pt.nextSibling:Pt.previousSibling;if(en!==null){Pt=en;continue e}const tn=Pt.parentNode;if(tn===null||tn===this.root||tn===this._currentNode){return null}Pt=tn}}}_traverseSiblings(Wt){let Pt=this._currentNode;if(Pt===this.root){return null}for(;;){let en=Wt===cn?Pt.nextSibling:Pt.previousSibling;while(en!==null){Pt=en;const tn=nn(this,Pt);if(tn===an){return this._currentNode=Pt}en=Wt===cn?Pt.firstChild:Pt.lastChild;if(tn===In||en===null){en=Wt===cn?Pt.nextSibling:Pt.previousSibling}}Pt=Pt.parentNode;if(Pt===null||Pt===this.root){return null}if(nn(this,Pt)===an){return null}}}}},87201:(Wt,Pt,en)=>{const tn=en(16694);const nn=en(37125);Pt.FILTER_ACCEPT=1;Pt.FILTER_REJECT=2;Pt.FILTER_SKIP=3;Pt.filter=(Wt,en)=>{if(Wt._active){throw tn.create(Wt._globalObject,["Recursive node filtering","InvalidStateError"])}const an=en.nodeType-1;if(!(1<{const tn=en(87094);const nn={IndexSizeError:1,HierarchyRequestError:3,WrongDocumentError:4,InvalidCharacterError:5,NoModificationAllowedError:7,NotFoundError:8,NotSupportedError:9,InUseAttributeError:10,InvalidStateError:11,SyntaxError:12,InvalidModificationError:13,NamespaceError:14,InvalidAccessError:15,TypeMismatchError:17,SecurityError:18,NetworkError:19,AbortError:20,URLMismatchError:21,QuotaExceededError:22,TimeoutError:23,InvalidNodeTypeError:24,DataCloneError:25};Pt.implementation=class DOMExceptionImpl{constructor(Wt,[Pt,en]){this.name=en;this.message=Pt}get code(){return nn[this.name]||0}};Pt.init=Wt=>{if(Error.captureStackTrace){const Pt=tn.wrapperForImpl(Wt);Error.captureStackTrace(Pt,Pt.constructor)}}},14764:(Wt,Pt,en)=>{const tn=en(87016);const nn=en(16694);const{parseURL:an,serializeURL:In,serializeURLOrigin:rn}=en(78012);const sn=en(11354);const{setupForSimpleEventAccessors:on}=en(15676);const{fireAnEvent:cn}=en(83350);const{isArrayBuffer:dn}=en(87094);const{copyToArrayBufferInNewRealm:un}=en(71179);const pn=en(92697).implementation;const mn=en(87094);const bn=en(42960);const Gn=en(54123);const hn=en(74374);const Zn=0;const An=1;const Wn=2;const Nn=3;const gn={token:/^[!#$%&'*+\-.^_`|~\dA-Za-z]+$/};const yn=[];yn[sn.CONNECTING]=Zn;yn[sn.OPEN]=An;yn[sn.CLOSING]=Wn;yn[sn.CLOSED]=Nn;function verifySecWebSocketProtocol(Wt){return gn.token.test(Wt)}class PromiseQueues extends WeakMap{get(Wt){const Pt=super.get(Wt);return Pt!==undefined?Pt:Promise.resolve()}}const vn=new WeakMap;const Yn=new PromiseQueues;class WebSocketImpl extends pn{constructor(Wt,Pt,en){super(Wt,Pt,en);this._ownerDocument=mn.implForWrapper(Wt._document);const rn=Pt[0];let on=Pt[1]!==undefined?Pt[1]:[];const cn=an(rn);if(cn===null){throw nn.create(this._globalObject,[`The URL '${rn}' is invalid.`,"SyntaxError"])}if(cn.scheme!=="ws"&&cn.scheme!=="wss"){throw nn.create(this._globalObject,[`The URL's scheme must be either 'ws' or 'wss'. '${cn.scheme}' is not allowed.`,"SyntaxError"])}if(cn.fragment!==null){throw nn.create(this._globalObject,[`The URL contains a fragment identifier ('${cn.fragment}'). Fragment identifiers `+"are not allowed in WebSocket URLs.","SyntaxError"])}if(typeof on==="string"){on=[on]}const dn=new Set;for(const Wt of on){if(!verifySecWebSocketProtocol(Wt)){throw nn.create(this._globalObject,[`The subprotocol '${Wt}' is invalid.`,"SyntaxError"])}const Pt=Wt.toLowerCase();if(dn.has(Pt)){throw nn.create(this._globalObject,[`The subprotocol '${Wt}' is duplicated.`,"SyntaxError"])}dn.add(Pt)}this._urlRecord=cn;this.url=In(cn);const un=tn.parse(this.url);this.extensions="";this.binaryType="blob";this._ws=null;this._readyState=Zn;this._requiredToFail=false;this.bufferedAmount=0;this._sendQueue=[];let pn=vn.get(Wt._globalProxy);if(pn===undefined){pn=new Set;vn.set(Wt._globalProxy,pn)}pn.add(this);Yn.set(this._ownerDocument,Yn.get(this._ownerDocument).then((()=>new Promise((Pt=>{if(this._requiredToFail){Pt();this._readyState=Nn;this._onConnectionClosed(1006,"");return}this._ws=new sn(this.url,on,{headers:{"user-agent":Wt.navigator.userAgent,cookie:this._ownerDocument._cookieJar.getCookieStringSync(un,{http:true}),origin:Wt._origin},rejectUnauthorized:Wt._resourceLoader._strictSSL});this._ws.once("open",(()=>{Pt();this._onConnectionEstablished()}));this._ws.on("message",this._onMessageReceived.bind(this));this._ws.once("close",((...Wt)=>{Pt();this._onConnectionClosed(...Wt)}));this._ws.once("upgrade",(({headers:Wt})=>{if(Array.isArray(Wt["set-cookie"])){for(const Pt of Wt["set-cookie"]){this._ownerDocument._cookieJar.setCookieSync(Pt,un,{http:true,ignoreError:true})}}else if(Wt["set-cookie"]!==undefined){this._ownerDocument._cookieJar.setCookieSync(Wt["set-cookie"],un,{http:true,ignoreError:true})}}));this._ws.once("error",(()=>{Pt();this._requiredToFail=true}))})))))}_makeDisappear(){this._eventListeners=Object.create(null);this._close(1001)}static cleanUpWindow(Wt){const Pt=vn.get(Wt._globalProxy);if(Pt!==undefined){for(const Wt of Pt){Wt._makeDisappear()}}}_onConnectionEstablished(){if(this._ws.extensions!==null){this.extensions=Object.keys(this._ws.extensions).join(", ")}cn("open",this)}_onMessageReceived(Wt,Pt){if(this.readyState!==An){return}let en;if(!Pt){en=Wt.toString()}else if(this.binaryType==="arraybuffer"){if(dn(Wt)){en=Wt}else if(Array.isArray(Wt)){en=un(Buffer.concat(Wt),this._globalObject)}else{en=un(Wt,this._globalObject)}}else{if(!Array.isArray(Wt)){Wt=[Wt]}en=bn.create(this._globalObject,[Wt,{type:""}])}cn("message",this,hn,{data:en,origin:rn(this._urlRecord)})}_onConnectionClosed(Wt,Pt){const en=vn.get(this._ownerDocument._defaultView);en.delete(this);const tn=!this._requiredToFail;if(this._requiredToFail){cn("error",this)}cn("close",this,Gn,{wasClean:tn,code:Wt,reason:Pt.toString()})}get readyState(){if(this._ws!==null){return yn[this._ws.readyState]}return this._readyState}get protocol(){if(this._ws===null){return""}return this._ws.protocol}close(Wt=undefined,Pt=undefined){if(Wt!==undefined&&Wt!==1e3&&!(Wt>=3e3&&Wt<=4999)){throw nn.create(this._globalObject,[`The code must be either 1000, or between 3000 and 4999. ${Wt} is neither.`,"InvalidAccessError"])}if(Pt!==undefined&&Buffer.byteLength(Pt,"utf8")>123){throw nn.create(this._globalObject,["The message must not be greater than 123 bytes.","SyntaxError"])}this._close(Wt,Pt)}_close(Wt=undefined,Pt=undefined){if(this.readyState===Zn){this._requiredToFail=true;if(this._ws!==null){this._ws.terminate()}else{this._readyState=Wn}}else if(this.readyState===An){this._ws.close(Wt,Pt)}}send(Wt){if(this.readyState===Zn){throw nn.create(this._globalObject,["Still in CONNECTING state.","InvalidStateError"])}if(this.readyState!==An){return}if(bn.isImpl(Wt)){Wt=Wt._buffer}let Pt;if(typeof Wt==="string"){Pt=Buffer.byteLength(Wt,"utf8")}else{Pt=Wt.byteLength}this.bufferedAmount+=Pt;this._sendQueue.push([Wt,Pt]);this._scheduleSend()}_actuallySend(){for(const[Wt,Pt]of this._sendQueue.splice(0)){this._ws.send(Wt,{binary:typeof Wt!=="string"},(()=>{this.bufferedAmount-=Pt}))}}_scheduleSend(){if(this._dequeueScheduled){return}this._dequeueScheduled=true;process.nextTick((()=>{this._dequeueScheduled=false;this._actuallySend()}))}}on(WebSocketImpl.prototype,["open","message","error","close"]);Pt.implementation=WebSocketImpl},16899:(Wt,Pt,en)=>{const tn=en(16694);const nn=en(38704);const an=en(87094);const{fireAnEvent:In}=en(83350);class StorageImpl{constructor(Wt,Pt,en){const{associatedWindow:tn,storageArea:nn,url:an,type:In,storageQuota:rn}=en;this._associatedWindow=tn;this._items=nn;this._url=an;this._type=In;this._quota=rn;this._globalObject=Wt}_dispatchStorageEvent(Wt,Pt,en){return this._associatedWindow._currentOriginData.windowsInSameOrigin.filter((Wt=>Wt!==this._associatedWindow)).forEach((tn=>In("storage",tn,nn,{key:Wt,oldValue:Pt,newValue:en,url:this._url,storageArea:tn["_"+this._type]})))}get length(){return this._items.size}key(Wt){if(Wt>=this._items.size){return null}return[...this._items.keys()][Wt]}getItem(Wt){if(this._items.has(Wt)){return this._items.get(Wt)}return null}setItem(Wt,Pt){const en=this._items.get(Wt)||null;if(en===Pt){return}let nn=Wt.length+Pt.length;for(const[Pt,en]of this._items){if(Wt!==Pt){nn+=Pt.length+en.length}}if(nn>this._quota){throw tn.create(this._globalObject,[`The ${this._quota}-code unit storage quota has been exceeded.`,"QuotaExceededError"])}setTimeout(this._dispatchStorageEvent.bind(this),0,Wt,en,Pt);this._items.set(Wt,Pt)}removeItem(Wt){if(this._items.has(Wt)){setTimeout(this._dispatchStorageEvent.bind(this),0,Wt,this._items.get(Wt),null);this._items.delete(Wt)}}clear(){if(this._items.size>0){setTimeout(this._dispatchStorageEvent.bind(this),0,null,null,null);this._items.clear()}}get[an.supportedPropertyNames](){return this._items.keys()}}Wt.exports={implementation:StorageImpl}},55357:(Wt,Pt)=>{class BarPropImpl{}BarPropImpl.prototype.visible=true;Pt.implementation=BarPropImpl},72990:(Wt,Pt)=>{Pt.implementation=class ExternalImpl{AddSearchProvider(){}IsSearchProviderInstalled(){}}},77589:(Wt,Pt,en)=>{const tn=en(16694);const{documentBaseURLSerialized:nn,parseURLToResultingURLRecord:an}=en(30962);const{serializeURL:In}=en(78012);Pt.implementation=class HistoryImpl{constructor(Wt,Pt,en){this._window=en.window;this._document=en.document;this._actAsIfLocationReloadCalled=en.actAsIfLocationReloadCalled;this._state=null;this._globalObject=Wt}_guardAgainstInactiveDocuments(){if(!this._window){throw tn.create(this._globalObject,["History object is associated with a document that is not fully active.","SecurityError"])}}get length(){this._guardAgainstInactiveDocuments();return this._window._sessionHistory.length}get state(){this._guardAgainstInactiveDocuments();return this._state}go(Wt){this._guardAgainstInactiveDocuments();if(Wt===0){this._actAsIfLocationReloadCalled()}else{this._window._sessionHistory.traverseByDelta(Wt)}}back(){this.go(-1)}forward(){this.go(+1)}pushState(Wt,Pt,en){this._sharedPushAndReplaceState(Wt,en,"push")}replaceState(Wt,Pt,en){this._sharedPushAndReplaceState(Wt,en,"replace")}_sharedPushAndReplaceState(Wt,Pt,en){this._guardAgainstInactiveDocuments();let rn=this._document._URL;if(Pt!==null&&Pt.length>0){rn=an(Pt,this._document);if(rn===null){throw tn.create(this._globalObject,[`Could not parse url argument "${Pt}" to ${en}State() against base URL `+`"${nn(this._document)}".`,"SecurityError"])}if(!canHaveItsURLRewritten(this._document,rn)){throw tn.create(this._globalObject,[`${en}State() cannot update history to the URL ${In(rn)}.`,"SecurityError"])}}if(en==="push"){this._window._sessionHistory.removeAllEntriesAfterCurrentEntry();this._window._sessionHistory.clearHistoryTraversalTasks();const Pt={document:this._document,stateObject:Wt,url:rn};this._window._sessionHistory.addEntryAfterCurrentEntry(Pt);this._window._sessionHistory.updateCurrentEntry(Pt)}else{const{currentEntry:Pt}=this._window._sessionHistory;Pt.stateObject=Wt;Pt.url=rn}this._document._URL=rn;this._state=Wt;this._document._latestEntry=this._window._sessionHistory.currentEntry}};function canHaveItsURLRewritten(Wt,Pt){const en=Wt._URL;if(Pt.scheme!==en.scheme||Pt.username!==en.username||Pt.password!==en.password||Pt.host!==en.host||Pt.port!==en.port){return false}if(Pt.scheme==="https"||Pt.scheme==="http"){return true}if(Pt.scheme==="file"&&Pt.path!==en.path){return false}if(Pt.path.join("/")!==en.path.join("/")||Pt.query!==en.query){return false}return true}},88666:(Wt,Pt,en)=>{const tn=en(78012);const nn=en(16694);const{documentBaseURL:an,parseURLToResultingURLRecord:In}=en(30962);const{navigate:rn}=en(63714);Pt.implementation=class LocationImpl{constructor(Wt,Pt,en){this._relevantDocument=en.relevantDocument;this.url=null;this._globalObject=Wt}get _url(){return this._relevantDocument._URL}_locationObjectSetterNavigate(Wt){return this._locationObjectNavigate(Wt)}_locationObjectNavigate(Wt,{replacement:Pt=false}={}){rn(this._relevantDocument._defaultView,Wt,{replacement:Pt,exceptionsEnabled:true})}toString(){return this.href}get href(){return tn.serializeURL(this._url)}set href(Wt){const Pt=tn.parseURL(Wt,{baseURL:an(this._relevantDocument)});if(Pt===null){throw new TypeError(`Could not parse "${Wt}" as a URL`)}this._locationObjectSetterNavigate(Pt)}get origin(){return tn.serializeURLOrigin(this._url)}get protocol(){return this._url.scheme+":"}set protocol(Wt){const Pt={...this._url};const en=tn.basicURLParse(Wt+":",{url:Pt,stateOverride:"scheme start"});if(en===null){throw new TypeError(`Could not parse the URL after setting the procol to "${Wt}"`)}if(Pt.scheme!=="http"&&Pt.scheme!=="https"){return}this._locationObjectSetterNavigate(Pt)}get host(){const Wt=this._url;if(Wt.host===null){return""}if(Wt.port===null){return tn.serializeHost(Wt.host)}return tn.serializeHost(Wt.host)+":"+tn.serializeInteger(Wt.port)}set host(Wt){const Pt={...this._url};if(tn.hasAnOpaquePath(Pt)){return}tn.basicURLParse(Wt,{url:Pt,stateOverride:"host"});this._locationObjectSetterNavigate(Pt)}get hostname(){if(this._url.host===null){return""}return tn.serializeHost(this._url.host)}set hostname(Wt){const Pt={...this._url};if(tn.hasAnOpaquePath(Pt)){return}tn.basicURLParse(Wt,{url:Pt,stateOverride:"hostname"});this._locationObjectSetterNavigate(Pt)}get port(){if(this._url.port===null){return""}return tn.serializeInteger(this._url.port)}set port(Wt){const Pt={...this._url};if(tn.cannotHaveAUsernamePasswordPort(Pt)){return}tn.basicURLParse(Wt,{url:Pt,stateOverride:"port"});this._locationObjectSetterNavigate(Pt)}get pathname(){return tn.serializePath(this._url)}set pathname(Wt){const Pt={...this._url};if(tn.hasAnOpaquePath(Pt)){return}Pt.path=[];tn.basicURLParse(Wt,{url:Pt,stateOverride:"path start"});this._locationObjectSetterNavigate(Pt)}get search(){if(this._url.query===null||this._url.query===""){return""}return"?"+this._url.query}set search(Wt){const Pt={...this._url};if(Wt===""){Pt.query=null}else{const en=Wt[0]==="?"?Wt.substring(1):Wt;Pt.query="";tn.basicURLParse(en,{url:Pt,stateOverride:"query",encodingOverride:this._relevantDocument.charset})}this._locationObjectSetterNavigate(Pt)}get hash(){if(this._url.fragment===null||this._url.fragment===""){return""}return"#"+this._url.fragment}set hash(Wt){const Pt={...this._url};const en=Wt[0]==="#"?Wt.substring(1):Wt;Pt.fragment="";tn.basicURLParse(en,{url:Pt,stateOverride:"fragment"});if(Pt.fragment===this._url.fragment){return}this._locationObjectSetterNavigate(Pt)}assign(Wt){const Pt=In(Wt,this._relevantDocument);if(Pt===null){throw nn.create(this._globalObject,[`Could not resolve the given string "${Wt}" relative to the base URL "${this._relevantDocument.URL}"`,"SyntaxError"])}this._locationObjectNavigate(Pt)}replace(Wt){const Pt=In(Wt,this._relevantDocument);if(Pt===null){throw nn.create(this._globalObject,[`Could not resolve the given string "${Wt}" relative to the base URL "${this._relevantDocument.URL}"`,"SyntaxError"])}this._locationObjectNavigate(Pt,{replacement:true})}reload(){const Wt={replace:true,reloadTriggered:true,exceptionsEnabled:true};rn(this._relevantDocument._defaultView,this._url,Wt)}}},56599:(Wt,Pt)=>{class ScreenImpl{}ScreenImpl.prototype.availWidth=0;ScreenImpl.prototype.availHeight=0;ScreenImpl.prototype.width=0;ScreenImpl.prototype.height=0;ScreenImpl.prototype.colorDepth=24;ScreenImpl.prototype.pixelDepth=24;Pt.implementation=ScreenImpl},1072:(Wt,Pt,en)=>{const tn=en(78012);const nn=en(90863);const an=en(38007);const In=en(8172);const rn=en(87094);const{fireAnEvent:sn}=en(83350);class SessionHistory{constructor(Wt,Pt){this._window=Pt;this._windowImpl=rn.implForWrapper(Pt);this._historyTraversalQueue=new Set;this._entries=[Wt];this._currentIndex=0}_queueHistoryTraversalTask(Wt){const Pt=this._window.setTimeout((()=>{this._historyTraversalQueue.delete(Pt);Wt()}),0);this._historyTraversalQueue.add(Pt)}clearHistoryTraversalTasks(){for(const Wt of this._historyTraversalQueue){this._window.clearTimeout(Wt)}this._historyTraversalQueue.clear()}get length(){return this._entries.length}get currentEntry(){return this._entries[this._currentIndex]}removeAllEntriesAfterCurrentEntry(){this._entries.splice(this._currentIndex+1,Infinity)}traverseByDelta(Wt){this._queueHistoryTraversalTask((()=>{const Pt=this._currentIndex+Wt;if(Pt<0||Pt>=this.length){return}const en=this._entries[Pt];this._queueHistoryTraversalTask((()=>{if(en.document!==this.currentEntry.document){In("Traversing history in a way that would change the window",this._window)}this.traverseHistory(en)}))}))}traverseHistory(Wt,Pt={}){if(!Wt.document){In("Traversing the history to an entry that no longer holds a Document object",this._window)}const en=Boolean(Pt.nonBlockingEvents);const tn=rn.implForWrapper(this._window._document);const{currentEntry:nn}=this;if(nn.title===undefined){nn.title=tn.title}if(Wt.document!==nn.document){In("Traversing the history to an entry with a different Document",this._window)}tn._URL=Wt.url;const an=Wt.url.fragment!==nn.url.fragment&&Wt.document===nn.document;let sn,on;if(an){sn=nn.url;on=Wt.url}if(Pt.replacement){this._entries.splice(this._entries.indexOf(Wt)-1,1)}this.updateCurrentEntry(Wt);const cn=Wt.stateObject;tn._history._state=cn;const dn=Wt.document._latestEntry!==Wt;Wt.document._latestEntry=Wt;const fireEvents=()=>this._fireEvents(dn,an,cn,sn,on);if(en){this._window.setTimeout(fireEvents,0)}else{fireEvents()}}_fireEvents(Wt,Pt,en,In,rn){if(Wt){sn("popstate",this._windowImpl,an,{state:en})}if(Pt){sn("hashchange",this._windowImpl,nn,{oldURL:tn.serializeURL(In),newURL:tn.serializeURL(rn)})}}addEntryAfterCurrentEntry(Wt){this._entries.splice(this._currentIndex+1,0,Wt)}updateCurrentEntry(Wt){this._currentIndex=this._entries.indexOf(Wt)}}Wt.exports=SessionHistory},63714:(Wt,Pt,en)=>{const tn=en(78012);const nn=en(8172);const an=en(12323);const In=en(87094);Pt.evaluateJavaScriptURL=(Wt,Pt)=>{const en=tn.serializeURL(Pt);const nn=en.substring("javascript:".length);const In=Buffer.from(tn.percentDecodeString(nn)).toString();if(Wt._runScripts==="dangerously"){try{return Wt.eval(In)}catch(Pt){an(Wt,Pt,en)}}return undefined};Pt.navigate=(Wt,en,tn)=>{if(!Wt._document){return}const an=In.implForWrapper(Wt._document);const rn=an._URL;if(!tn.reloadTriggered&&urlEquals(rn,en,{excludeFragments:true})){if(en.fragment!==rn.fragment){navigateToFragment(Wt,en,tn)}return}if(en.scheme==="javascript"){setTimeout((()=>{const tn=Pt.evaluateJavaScriptURL(Wt,en);if(typeof tn==="string"){nn("string results from 'javascript:' URLs",Wt)}}),0);return}navigateFetch(Wt)};function navigateToFragment(Wt,Pt,en){const tn=In.implForWrapper(Wt._document);Wt._sessionHistory.clearHistoryTraversalTasks();if(!en.replacement){Wt._sessionHistory.removeAllEntriesAfterCurrentEntry()}const nn={document:tn,url:Pt};Wt._sessionHistory.addEntryAfterCurrentEntry(nn);Wt._sessionHistory.traverseHistory(nn,{nonBlockingEvents:true,replacement:en.replacement})}function navigateFetch(Wt){nn("navigation (except hash changes)",Wt)}function urlEquals(Wt,Pt,en){const nn=tn.serializeURL(Wt,en.excludeFragments);const an=tn.serializeURL(Pt,en.excludeFragments);return nn===an}},52703:(Wt,Pt,en)=>{const tn=en(16694);const nn=en(87094);const{closest:an}=en(83521);const{isDisabled:In,isButton:rn,isSubmitButton:sn}=en(10588);const on=en(42960);const cn=en(96689);const dn=en(37125);Pt.implementation=class FormDataImpl{constructor(Wt,Pt){this._globalObject=Wt;this._entries=[];if(Pt[0]!==undefined){const[Wt,en=null]=Pt;if(en!==null){if(!sn(en)){throw new TypeError("The specified element is not a submit button")}if(en.form!==Wt){throw tn.create(this._globalObject,["The specified element is not owned by this form element","NotFoundError"])}}this._entries=constructTheEntryList(Wt,en)}}append(Wt,Pt,en){const tn=createAnEntry(Wt,Pt,en);this._entries.push(tn)}delete(Wt){this._entries=this._entries.filter((Pt=>Pt.name!==Wt))}get(Wt){const Pt=this._entries.find((Pt=>Pt.name===Wt));return Pt!==undefined?nn.tryWrapperForImpl(Pt.value):null}getAll(Wt){return this._entries.filter((Pt=>Pt.name===Wt)).map((Wt=>nn.tryWrapperForImpl(Wt.value)))}has(Wt){return this._entries.findIndex((Pt=>Pt.name===Wt))!==-1}set(Wt,Pt,en){const tn=createAnEntry(Wt,Pt,en);const nn=this._entries.findIndex((Pt=>Pt.name===Wt));if(nn!==-1){this._entries[nn]=tn;this._entries=this._entries.filter(((Pt,en)=>Pt.name!==Wt||en===nn))}else{this._entries.push(tn)}}*[Symbol.iterator](){for(const Wt of this._entries){yield[Wt.name,nn.tryWrapperForImpl(Wt.value)]}}};function createAnEntry(Wt,Pt,en){const tn={name:Wt};if(on.isImpl(Pt)&&!cn.isImpl(Pt)){const Wt=Pt;Pt=cn.createImpl(Pt._globalObject,[[],"blob",{type:Wt.type}]);Pt._buffer=Wt._buffer}if(cn.isImpl(Pt)&&en!==undefined){const Wt=Pt;Pt=cn.createImpl(Pt._globalObject,[[],en,{type:Wt.type,lastModified:Wt.lastModified}]);Pt._buffer=Wt._buffer}tn.value=Pt;return tn}function constructTheEntryList(Wt,Pt){const en=Wt._getSubmittableElementNodes();const tn=[];for(const nn of en){if(an(nn,"datalist")!==null){continue}if(In(nn)){continue}if(rn(nn)&&nn!==Pt){continue}if(nn.type==="checkbox"&&nn._checkedness===false){continue}if(nn.type==="radio"&&nn._checkedness===false){continue}if(nn.localName==="object"){continue}const en=nn.getAttributeNS(null,"name");if(nn.localName==="input"&&nn.type==="image"){const Wt=en?`${en}.`:"";const Pt=nn._selectedCoordinate??{x:0,y:0};appendAnEntry(tn,`${Wt}x`,Pt.x);appendAnEntry(tn,`${Wt}y`,Pt.y);continue}if(en===null||en===""){continue}if(nn.localName==="select"){for(const Wt of nn.options){if(Wt._selectedness===true&&!In(nn)){appendAnEntry(tn,en,Wt._getValue())}}}else if(nn.localName==="input"&&(nn.type==="checkbox"||nn.type==="radio")){const Wt=nn.hasAttributeNS(null,"value")?nn.getAttributeNS(null,"value"):"on";appendAnEntry(tn,en,Wt)}else if(nn.type==="file"){if(nn.files.length===0){const Pt=cn.createImpl(Wt._globalObject,[[],"",{type:"application/octet-stream"}]);appendAnEntry(tn,en,Pt)}else{for(let Wt=0;Wt{const tn=en(58611).STATUS_CODES;const{spawnSync:nn}=en(35317);const{URL:an}=en(78012);const In=en(86476);const rn=en(96684);const sn=en(59344);const on=en(2898);const cn=en(16694);const{documentBaseURLSerialized:dn}=en(30962);const{asciiCaseInsensitiveMatch:un}=en(97205);const pn=en(87094);const mn=en(18946);const bn=en(42960);const Gn=en(48241);const hn=en(60178).implementation;const Zn=en(58096);const An=en(90442);const{isArrayBuffer:Wn}=en(87094);const{parseIntoDocument:Nn}=en(13430);const{fragmentSerialization:gn}=en(49446);const{setupForSimpleEventAccessors:yn}=en(15676);const{parseJSONFromBytes:vn}=en(14161);const{fireAnEvent:Yn}=en(83350);const{copyToArrayBufferInNewRealm:En}=en(71179);const{READY_STATES:Vn}=on;const Rn=en.ab+"xhr-sync-worker.js";const wn=/^[!#$%&'*+\-.^_`|~0-9A-Za-z]+$/;const Fn=/^[ \t]*(?:[\x21-\x7E\x80-\xFF](?:[ \t][\x21-\x7E\x80-\xFF])?)*[ \t]*$/;const Qn=new Set(["accept-charset","accept-encoding","access-control-request-headers","access-control-request-method","connection","content-length","cookie","cookie2","date","dnt","expect","host","keep-alive","origin","referer","te","trailer","transfer-encoding","upgrade","via"]);const fn=new Set(["set-cookie","set-cookie2"]);const Hn=new Set(["content-type","content-length","user-agent","referer","host","authorization","proxy-authorization","if-modified-since","if-unmodified-since","from","location","max-forwards"]);const Cn=new Set(["cache-control","content-language","content-length","content-type","expires","last-modified","pragma"]);const Xn=new Set(["OPTIONS","GET","HEAD","POST","PUT","DELETE"]);const kn=new Set(["TRACK","TRACE","CONNECT"]);class XMLHttpRequestImpl extends hn{constructor(Wt){super(Wt);const{_ownerDocument:Pt}=this;this.upload=Zn.createImpl(Wt);this.readyState=Vn.UNSENT;this.responseURL="";this.status=0;this.statusText="";this.flag={synchronous:false,withCredentials:false,mimeType:null,auth:null,method:undefined,responseType:"",requestHeaders:{},referrer:Pt.URL,uri:"",timeout:0,body:undefined,formData:false,preflight:false,requestManager:Pt._requestManager,strictSSL:Wt._resourceLoader._strictSSL,proxy:Wt._resourceLoader._proxy,cookieJar:Pt._cookieJar,encoding:Pt._encoding,origin:Wt._origin,userAgent:Wt.navigator.userAgent};this.properties={beforeSend:false,send:false,client:null,timeoutStart:0,timeoutId:0,timeoutFn:null,responseBuffer:null,responseCache:null,responseTextCache:null,responseXMLCache:null,responseHeaders:{},filteredResponseHeaders:[],error:"",uploadComplete:false,uploadListener:false,abortError:false,cookieJar:Pt._cookieJar,bufferStepSize:1*1024*1024,totalReceivedChunkSize:0}}get responseType(){return this.flag.responseType}set responseType(Wt){const{flag:Pt}=this;if(this.readyState===Vn.LOADING||this.readyState===Vn.DONE){throw cn.create(this._globalObject,["The object is in an invalid state.","InvalidStateError"])}if(this.readyState===Vn.OPENED&&Pt.synchronous){throw cn.create(this._globalObject,["The object does not support the operation or argument.","InvalidAccessError"])}Pt.responseType=Wt}get response(){const{properties:Wt}=this;if(Wt.responseCache){return pn.tryWrapperForImpl(Wt.responseCache)}let Pt;const en=Wt.responseBuffer?Wt.responseBuffer.slice(0,Wt.totalReceivedChunkSize):null;switch(this.responseType){case"":case"text":{Pt=this.responseText;break}case"arraybuffer":{if(!en){return null}Pt=En(en,this._globalObject);break}case"blob":{if(!en){return null}const Wt=finalMIMEType(this);Pt=bn.createImpl(this._globalObject,[[new Uint8Array(en)],{type:Wt||""}]);break}case"document":{Pt=this.responseXML;break}case"json":{if(this.readyState!==Vn.DONE||!en){Pt=null}try{Pt=vn(en)}catch(Wt){Pt=null}break}}Wt.responseCache=Pt;return pn.tryWrapperForImpl(Pt)}get responseText(){const{properties:Wt}=this;if(this.responseType!==""&&this.responseType!=="text"){throw cn.create(this._globalObject,["The object is in an invalid state.","InvalidStateError"])}if(this.readyState!==Vn.LOADING&&this.readyState!==Vn.DONE){return""}if(Wt.responseTextCache){return Wt.responseTextCache}const Pt=Wt.responseBuffer?Wt.responseBuffer.slice(0,Wt.totalReceivedChunkSize):null;if(!Pt){return""}const en=finalCharset(this)||In.getBOMEncoding(Pt)||"UTF-8";const tn=In.decode(Pt,en);Wt.responseTextCache=tn;return tn}get responseXML(){const{flag:Wt,properties:Pt}=this;if(this.responseType!==""&&this.responseType!=="document"){throw cn.create(this._globalObject,["The object is in an invalid state.","InvalidStateError"])}if(this.readyState!==Vn.DONE){return null}if(Pt.responseXMLCache){return Pt.responseXMLCache}const en=Pt.responseBuffer?Pt.responseBuffer.slice(0,Pt.totalReceivedChunkSize):null;if(!en){return null}const tn=finalMIMEType(this);let nn=false;let an=false;const rn=sn.parse(tn);if(rn){nn=rn.isHTML();an=rn.isXML();if(!an&&!nn){return null}}if(this.responseType===""&&nn){return null}const on=finalCharset(this)||In.getBOMEncoding(en)||"UTF-8";const dn=In.decode(en,on);if(!dn){return null}const un=mn.createImpl(this._globalObject,[],{options:{url:Wt.uri,lastModified:new Date(getResponseHeader(this,"last-modified")),parsingMode:nn?"html":"xml",cookieJar:{setCookieSync:()=>undefined,getCookieStringSync:()=>""},encoding:on,parseOptions:this._ownerDocument._parseOptions}});try{Nn(dn,un)}catch(Wt){Pt.responseXMLCache=null;return null}un.close();Pt.responseXMLCache=un;return un}get timeout(){return this.flag.timeout}set timeout(Wt){const{flag:Pt,properties:en}=this;if(Pt.synchronous){throw cn.create(this._globalObject,["The object does not support the operation or argument.","InvalidAccessError"])}Pt.timeout=Wt;clearTimeout(en.timeoutId);if(Wt>0&&en.timeoutFn){en.timeoutId=setTimeout(en.timeoutFn,Math.max(0,Wt-((new Date).getTime()-en.timeoutStart)))}else{en.timeoutFn=null;en.timeoutStart=0}}get withCredentials(){return this.flag.withCredentials}set withCredentials(Wt){const{flag:Pt,properties:en}=this;if(!(this.readyState===Vn.UNSENT||this.readyState===Vn.OPENED)){throw cn.create(this._globalObject,["The object is in an invalid state.","InvalidStateError"])}if(en.send){throw cn.create(this._globalObject,["The object is in an invalid state.","InvalidStateError"])}Pt.withCredentials=Wt}abort(){const{properties:Wt}=this;clearTimeout(Wt.timeoutId);Wt.timeoutFn=null;Wt.timeoutStart=0;const{client:Pt}=Wt;if(Pt){Pt.abort();Wt.client=null}if(Wt.abortError){this.readyState=Vn.DONE;Wt.send=false;on.setResponseToNetworkError(this);return}if(this.readyState===Vn.OPENED&&Wt.send||this.readyState===Vn.HEADERS_RECEIVED||this.readyState===Vn.LOADING){on.requestErrorSteps(this,"abort")}if(this.readyState===Vn.DONE){this.readyState=Vn.UNSENT;on.setResponseToNetworkError(this)}}getAllResponseHeaders(){const{properties:Wt,readyState:Pt}=this;if(Pt===Vn.UNSENT||Pt===Vn.OPENED){return""}return Object.keys(Wt.responseHeaders).filter((Pt=>Wt.filteredResponseHeaders.indexOf(Pt)===-1)).map((Pt=>[Pt.toLowerCase(),Wt.responseHeaders[Pt]].join(": "))).join("\r\n")}getResponseHeader(Wt){const{properties:Pt,readyState:en}=this;if(en===Vn.UNSENT||en===Vn.OPENED){return null}const tn=Wt.toLowerCase();if(Pt.filteredResponseHeaders.find((Wt=>tn===Wt.toLowerCase()))){return null}return getResponseHeader(this,tn)}open(Wt,Pt,en,tn,nn){const{flag:In,properties:rn,_ownerDocument:sn}=this;if(!sn){throw cn.create(this._globalObject,["The object is in an invalid state.","InvalidStateError"])}if(!wn.test(Wt)){throw cn.create(this._globalObject,["The string did not match the expected pattern.","SyntaxError"])}const on=Wt.toUpperCase();if(kn.has(on)){throw cn.create(this._globalObject,["The operation is insecure.","SecurityError"])}const{client:un}=rn;if(un&&typeof un.abort==="function"){un.abort()}if(Xn.has(on)){Wt=on}if(typeof en!=="undefined"){In.synchronous=!en}else{In.synchronous=false}if(In.responseType&&In.synchronous){throw cn.create(this._globalObject,["The object does not support the operation or argument.","InvalidAccessError"])}if(In.synchronous&&In.timeout){throw cn.create(this._globalObject,["The object does not support the operation or argument.","InvalidAccessError"])}In.method=Wt;let pn;try{pn=new an(Pt,dn(sn))}catch(Wt){throw cn.create(this._globalObject,["The string did not match the expected pattern.","SyntaxError"])}if(tn||nn&&!pn.username){In.auth={user:tn,pass:nn};pn.username="";pn.password=""}In.uri=pn.href;In.requestHeaders={};In.preflight=false;rn.send=false;rn.uploadListener=false;rn.abortError=false;this.responseURL="";readyStateChange(this,Vn.OPENED)}overrideMimeType(Wt){const{readyState:Pt}=this;if(Pt===Vn.LOADING||Pt===Vn.DONE){throw cn.create(this._globalObject,["The object is in an invalid state.","InvalidStateError"])}this.flag.overrideMIMEType="application/octet-stream";const en=sn.parse(Wt);if(en){this.flag.overrideMIMEType=en.essence;const Wt=en.parameters.get("charset");if(Wt){this.flag.overrideCharset=In.labelToName(Wt)}}}send(Wt){const{flag:Pt,properties:tn,upload:In,_ownerDocument:dn}=this;if(!dn){throw cn.create(this._globalObject,["The object is in an invalid state.","InvalidStateError"])}if(this.readyState!==Vn.OPENED||tn.send){throw cn.create(this._globalObject,["The object is in an invalid state.","InvalidStateError"])}tn.beforeSend=true;try{if(Pt.method==="GET"||Pt.method==="HEAD"){Wt=null}if(Wt!==null){let en=null;let tn=null;if(mn.isImpl(Wt)){en="UTF-8";tn=(Wt._parsingMode==="html"?"text/html":"application/xml")+";charset=UTF-8";Pt.body=gn(Wt,{requireWellFormed:false})}else{if(typeof Wt==="string"){en="UTF-8"}const{buffer:nn,formData:an,contentType:In}=extractBody(Wt);tn=In;Pt.body=nn||an;Pt.formData=Boolean(an)}const nn=on.getRequestHeader(Pt.requestHeaders,"content-type");if(tn!==null&&nn===null){Pt.requestHeaders["Content-Type"]=tn}else if(nn!==null&&en!==null){const Wt=sn.parse(nn);if(Wt){const tn=Wt.parameters.get("charset");if(tn&&!un(tn,en)&&en!==null){Wt.parameters.set("charset",en);on.updateRequestHeader(Pt.requestHeaders,"content-type",Wt.toString())}}}}}finally{if(tn.beforeSend){tn.beforeSend=false}else{throw cn.create(this._globalObject,["The object is in an invalid state.","InvalidStateError"])}}if(Object.keys(In._eventListeners).length>0){tn.uploadListener=true}if(Pt.body&&Pt.body.byteLength===0){Pt.body=null}if(Pt.synchronous){const Wt=JSON.stringify(Pt,(function(Wt,en){if(this===Pt&&Wt==="requestManager"){return null}if(this===Pt&&Wt==="pool"&&en){return{maxSockets:en.maxSockets}}return en}));const an=nn(process.execPath,[en.ab+"xhr-sync-worker.js"],{input:Wt,maxBuffer:Infinity});if(an.status!==0){throw new Error(an.stderr.toString())}if(an.error){if(typeof an.error==="string"){an.error=new Error(an.error)}throw an.error}const In=JSON.parse(an.stdout.toString());const sn=In.properties;if(sn.responseBuffer&&sn.responseBuffer.data){sn.responseBuffer=Buffer.from(sn.responseBuffer.data)}if(sn.cookieJar){sn.cookieJar=rn.CookieJar.deserializeSync(sn.cookieJar,dn._cookieJar.store)}this.readyState=Vn.LOADING;this.status=In.status;this.statusText=In.statusText;this.responseURL=In.responseURL;Object.assign(this.properties,In.properties);if(sn.error){on.dispatchError(this);throw cn.create(this._globalObject,[sn.error,"NetworkError"])}else{const{responseBuffer:Wt}=tn;const Pt=getResponseHeader(this,"content-length")||"0";const en=parseInt(Pt)||Wt.length;const nn={lengthComputable:false};if(en!==0){nn.total=en;nn.loaded=en;nn.lengthComputable=true}Yn("progress",this,An,nn);readyStateChange(this,Vn.DONE);Yn("load",this,An,nn);Yn("loadend",this,An,nn)}}else{tn.send=true;Yn("loadstart",this,An);const en=on.createClient(this);tn.client=en;tn.totalReceivedChunkSize=0;tn.bufferStepSize=1*1024*1024;tn.origin=Pt.origin;en.on("error",(Wt=>{en.removeAllListeners();tn.error=Wt;on.dispatchError(this)}));en.on("response",((Wt,Pt)=>receiveResponse(this,Wt,Pt)));en.on("redirect",((Wt,en,nn)=>{const In=new an(en.Referer);const rn=new an(nn);if(In.origin!==rn.origin&&In.origin!==Pt.origin){tn.origin="null"}en.Origin=tn.origin;if(Pt.origin!==In.origin&&In.protocol!=="data:"){if(!on.validCORSHeaders(this,Wt,Pt,tn,Pt.origin)){return}if(rn.username||rn.password){tn.error="Userinfo forbidden in cors redirect";on.dispatchError(this)}}}));if(Wt!==null&&Wt!==""){tn.uploadComplete=false;setDispatchProgressEvents(this)}else{tn.uploadComplete=true}if(this.timeout>0){tn.timeoutStart=(new Date).getTime();tn.timeoutFn=()=>{en.abort();if(!(this.readyState===Vn.UNSENT||this.readyState===Vn.OPENED&&!tn.send||this.readyState===Vn.DONE)){tn.send=false;let Wt=false;if(!tn.uploadComplete){Yn("progress",In,An);readyStateChange(this,Vn.DONE);Yn("timeout",In,An);Yn("loadend",In,An);Wt=true}Yn("progress",this,An);if(!Wt){readyStateChange(this,Vn.DONE)}Yn("timeout",this,An);Yn("loadend",this,An)}this.readyState=Vn.UNSENT};tn.timeoutId=setTimeout(tn.timeoutFn,this.timeout)}}}setRequestHeader(Wt,Pt){const{flag:en,properties:tn}=this;if(this.readyState!==Vn.OPENED||tn.send){throw cn.create(this._globalObject,["The object is in an invalid state.","InvalidStateError"])}Pt=normalizeHeaderValue(Pt);if(!wn.test(Wt)||!Fn.test(Pt)){throw cn.create(this._globalObject,["The string did not match the expected pattern.","SyntaxError"])}const nn=Wt.toLowerCase();if(Qn.has(nn)||nn.startsWith("sec-")||nn.startsWith("proxy-")){return}const an=Object.keys(en.requestHeaders);let In=an.length;while(In--){const Wt=an[In];if(Wt.toLowerCase()===nn){en.requestHeaders[Wt]+=", "+Pt;return}}en.requestHeaders[Wt]=Pt}}yn(XMLHttpRequestImpl.prototype,["readystatechange"]);function readyStateChange(Wt,Pt){if(Wt.readyState===Pt){return}Wt.readyState=Pt;Yn("readystatechange",Wt)}function receiveResponse(Wt,Pt,en){const{flag:nn,properties:In}=Wt;const{rawHeaders:rn,statusCode:sn}=Pt;let cn=0;const dn={};const un=[];const pn={};const mn=Number(rn.length);for(let Wt=0;Wt{cn+=Wt.length;Zn.loaded=cn}));In.client.on("data",(Pt=>{In.totalReceivedChunkSize+=Pt.length;if(In.totalReceivedChunkSize>=In.bufferStepSize){In.bufferStepSize*=2;while(In.totalReceivedChunkSize>=In.bufferStepSize){In.bufferStepSize*=2}const Wt=Buffer.alloc(In.bufferStepSize);In.responseBuffer.copy(Wt,0,0,In.responseBuffer.length);In.responseBuffer=Wt}Pt.copy(In.responseBuffer,In.totalReceivedChunkSize-Pt.length,0,Pt.length);In.responseCache=null;In.responseTextCache=null;In.responseXMLCache=null;if(Wt.readyState===Vn.HEADERS_RECEIVED){Wt.readyState=Vn.LOADING}Yn("readystatechange",Wt);if(Zn.total!==Zn.loaded||In.totalReceivedChunkSize===cn){if(Wn!==Zn.loaded){Wn=Zn.loaded;Yn("progress",Wt,An,Zn)}}}));In.client.on("end",(()=>{clearTimeout(In.timeoutId);In.timeoutFn=null;In.timeoutStart=0;In.client=null;if(Wn!==Zn.loaded){Yn("progress",Wt,An,Zn)}readyStateChange(Wt,Vn.DONE);Yn("load",Wt,An,Zn);Yn("loadend",Wt,An,Zn)}))}function setDispatchProgressEvents(Wt){const{properties:Pt,upload:en}=Wt;const{client:tn}=Pt;let nn=0;let an=false;const In=tn.headers&&parseInt(on.getRequestHeader(tn.headers,"content-length"));if(In){nn=In;an=true}const rn={lengthComputable:an,total:nn,loaded:0};if(Pt.uploadListener){Yn("loadstart",en,An,rn)}tn.on("request",(Wt=>{Wt.on("response",(()=>{Pt.uploadComplete=true;if(!Pt.uploadListener){return}const Wt={lengthComputable:an,total:nn,loaded:nn};Yn("progress",en,An,Wt);Yn("load",en,An,Wt);Yn("loadend",en,An,Wt)}))}))}function finalMIMEType(Wt){const{flag:Pt}=Wt;return Pt.overrideMIMEType||getResponseHeader(Wt,"content-type")}function finalCharset(Wt){const{flag:Pt}=Wt;if(Pt.overrideCharset){return Pt.overrideCharset}const en=sn.parse(getResponseHeader(Wt,"content-type"));if(en){return In.labelToName(en.parameters.get("charset"))}return null}function getResponseHeader(Wt,Pt){const{properties:en}=Wt;const tn=Object.keys(en.responseHeaders);let nn=tn.length;while(nn--){const Wt=tn[nn];if(Wt.toLowerCase()===Pt){return en.responseHeaders[Wt]}}return null}function normalizeHeaderValue(Wt){return Wt.replace(/^[\x09\x0A\x0D\x20]+/,"").replace(/[\x09\x0A\x0D\x20]+$/,"")}function extractBody(Wt){if(bn.isImpl(Wt)){return{buffer:Wt._buffer,contentType:Wt.type===""?null:Wt.type}}else if(Wn(Wt)){return{buffer:Buffer.from(Wt),contentType:null}}else if(ArrayBuffer.isView(Wt)){return{buffer:Buffer.from(Wt.buffer,Wt.byteOffset,Wt.byteLength),contentType:null}}else if(Gn.isImpl(Wt)){const Pt=[];for(const en of Wt._entries){let Wt;if(bn.isImpl(en.value)){const Pt=en.value;Wt={name:en.name,value:Pt._buffer,options:{filename:Pt.name,contentType:Pt.type,knownLength:Pt.size}}}else{Wt=en}Pt.push(Wt)}return{formData:Pt}}return{buffer:Buffer.from(Wt,"utf-8"),contentType:"text/plain;charset=UTF-8"}}Pt.implementation=XMLHttpRequestImpl},60178:(Wt,Pt,en)=>{const tn=en(92697).implementation;const nn=en(87094);const{setupForSimpleEventAccessors:an}=en(15676);const In=["loadstart","progress","abort","error","load","timeout","loadend"];class XMLHttpRequestEventTargetImpl extends tn{get _ownerDocument(){return nn.implForWrapper(this._globalObject._document)}}an(XMLHttpRequestEventTargetImpl.prototype,In);Pt.implementation=XMLHttpRequestEventTargetImpl},45164:(Wt,Pt,en)=>{const tn=en(60178).implementation;Pt.implementation=class XMLHttpRequestUploadImpl extends tn{}},2898:(Wt,Pt,en)=>{const tn=en(79896);const{EventEmitter:nn}=en(24434);const{URL:an}=en(78012);const In=en(32946);const rn=en(16694);const sn=en(90442);const on=en(96577);const cn=en(13907);const dn=en(96454);const{fireAnEvent:un}=en(83350);const pn=/,[ \t]*/;const mn=new Set(["GET","HEAD","POST"]);const bn=new Set(["accept","accept-language","content-language","content-type"]);const Gn=new Set(["access-control-expose-headers","access-control-allow-headers","access-control-allow-credentials","access-control-allow-origin"]);const hn=Pt.READY_STATES=Object.freeze({UNSENT:0,OPENED:1,HEADERS_RECEIVED:2,LOADING:3,DONE:4});function getRequestHeader(Wt,Pt){const en=Pt.toLowerCase();const tn=Object.keys(Wt);let nn=tn.length;while(nn--){const Pt=tn[nn];if(Pt.toLowerCase()===en){return Wt[Pt]}}return null}function updateRequestHeader(Wt,Pt,en){const tn=Pt.toLowerCase();const nn=Object.keys(Wt);let an=nn.length;while(an--){const Pt=nn[an];if(Pt.toLowerCase()===tn){Wt[Pt]=en}}}function dispatchError(Wt){const Pt=Wt.properties.error;requestErrorSteps(Wt,"error",rn.create(Wt._globalObject,[Pt,"NetworkError"]));if(Wt._ownerDocument){const en=new Error(Pt);en.type="XMLHttpRequest";Wt._ownerDocument._defaultView._virtualConsole.emit("jsdomError",en)}}function validCORSHeaders(Wt,Pt,en,tn,nn){const an=Pt.headers["access-control-allow-origin"];const In=an?an.trim():null;if(In!=="*"&&In!==nn){tn.error="Cross origin "+nn+" forbidden";dispatchError(Wt);return false}const rn=Pt.headers["access-control-allow-credentials"];const sn=rn?rn.trim():null;if(en.withCredentials&&sn!=="true"){tn.error="Credentials forbidden";dispatchError(Wt);return false}return true}function validCORSPreflightHeaders(Wt,Pt,en,tn){if(!validCORSHeaders(Wt,Pt,en,tn,tn.origin)){return false}const nn=Pt.headers["access-control-allow-headers"];const an=new Set(nn?nn.trim().toLowerCase().split(pn):[]);const In=an.has("*")?[]:Object.keys(en.requestHeaders).filter((Wt=>{const Pt=Wt.toLowerCase();return!bn.has(Pt)&&!an.has(Pt)}));if(In.length>0){tn.error="Headers "+In+" forbidden";dispatchError(Wt);return false}return true}function requestErrorSteps(Wt,Pt,en){const{flag:tn,properties:nn,upload:an}=Wt;Wt.readyState=hn.DONE;nn.send=false;setResponseToNetworkError(Wt);if(tn.synchronous){throw en}un("readystatechange",Wt);if(!nn.uploadComplete){nn.uploadComplete=true;if(nn.uploadListener){un(Pt,an,sn,{loaded:0,total:0,lengthComputable:false});un("loadend",an,sn,{loaded:0,total:0,lengthComputable:false})}}un(Pt,Wt,sn,{loaded:0,total:0,lengthComputable:false});un("loadend",Wt,sn,{loaded:0,total:0,lengthComputable:false})}function setResponseToNetworkError(Wt){const{properties:Pt}=Wt;Pt.responseBuffer=Pt.responseCache=Pt.responseTextCache=Pt.responseXMLCache=null;Pt.responseHeaders={};Wt.status=0;Wt.statusText=""}function createClient(Wt){const{flag:Pt,properties:en}=Wt;const rn=new an(Pt.uri);const sn=rn.href;const un=Pt.method.toUpperCase();const{requestManager:pn}=Pt;if(rn.protocol==="file:"){const Pt=new nn;Pt.statusCode=200;Pt.rawHeaders=[];Pt.headers={};const an=rn.pathname.replace(/^file:\/\//,"").replace(/^\/([a-z]):\//i,"$1:/").replace(/%20/g," ");const In=new nn;const sn=tn.createReadStream(an,{encoding:null});sn.on("data",(Wt=>{Pt.emit("data",Wt);In.emit("data",Wt)}));sn.on("end",(()=>{Pt.emit("end");In.emit("end")}));sn.on("error",(Wt=>{In.emit("error",Wt)}));In.abort=function(){sn.destroy();In.emit("abort")};if(pn){const Pt={abort(){en.abortError=true;Wt.abort()}};pn.add(Pt);const tn=pn.remove.bind(pn,Pt);In.on("abort",tn);In.on("error",tn);In.on("end",tn)}process.nextTick((()=>In.emit("response",Pt,rn.href)));return In}if(rn.protocol==="data:"){const Wt=new nn;const Pt=new nn;let en;try{const Pt=In(sn);const tn=Pt.mimeType.toString();en=Buffer.from(Pt.body);Wt.statusCode=200;Wt.rawHeaders=["Content-Type",tn];Wt.headers={"content-type":tn}}catch(Wt){process.nextTick((()=>Pt.emit("error",Wt)));return Pt}Pt.abort=()=>{};process.nextTick((()=>{Pt.emit("response",Wt,rn.href);process.nextTick((()=>{Wt.emit("data",en);Pt.emit("data",en);Wt.emit("end");Pt.emit("end")}))}));return Pt}const Gn=on(Pt.proxy,Pt.strictSSL);const hn={};for(const Wt in Pt.requestHeaders){hn[Wt]=Pt.requestHeaders[Wt]}if(getRequestHeader(Pt.requestHeaders,"referer")===null){hn.Referer=Pt.referrer}if(getRequestHeader(Pt.requestHeaders,"user-agent")===null){hn["User-Agent"]=Pt.userAgent}if(getRequestHeader(Pt.requestHeaders,"accept-language")===null){hn["Accept-Language"]="en"}if(getRequestHeader(Pt.requestHeaders,"accept")===null){hn.Accept="*/*"}const Zn=Pt.origin!==rn.origin;if(Zn){hn.Origin=Pt.origin}const An={rejectUnauthorized:Pt.strictSSL,agents:Gn,followRedirects:true};if(Pt.auth){An.user=Pt.auth.user||"";An.pass=Pt.auth.pass||""}if(Pt.cookieJar&&(!Zn||Pt.withCredentials)){An.cookieJar=Pt.cookieJar}const{body:Wn}=Pt;const Nn=Wn!==undefined&&Wn!==null&&Wn!==""&&!(un==="HEAD"||un==="GET");if(Nn&&getRequestHeader(Pt.requestHeaders,"content-type")===null){hn["Content-Type"]="text/plain;charset=UTF-8"}function doRequest(){try{let Wt=Wn;let en=0;if(Nn){if(Pt.formData){Wt=new dn;for(const Pt of Wn){Wt.append(Pt.name,Pt.value,Pt.options)}en=Wt.getLengthSync();hn["Content-Type"]=`multipart/form-data; boundary=${Wt.getBoundary()}`}else{if(typeof Wn==="string"){en=Buffer.byteLength(Wn)}else{en=Wn.length}Wt=Buffer.isBuffer(Wt)?Wt:Buffer.from(Wt)}hn["Content-Length"]=en}hn["Accept-Encoding"]="gzip, deflate";const tn=new cn(sn,An,{method:Pt.method,headers:hn});if(Nn){if(Pt.formData){Wt.on("error",(Wt=>{tn.emit("error",Wt);tn.abort()}));tn.pipeRequest(Wt)}else{tn.write(Wt)}}return tn}catch(Wt){const Pt=new nn;process.nextTick((()=>Pt.emit("error",Wt)));Pt.end=()=>{};Pt.abort=()=>{};return Pt}}let gn;const yn=Object.keys(Pt.requestHeaders).filter((Wt=>!bn.has(Wt.toLowerCase())));if(Zn&&(!mn.has(un)||yn.length>0||en.uploadListener)){gn=new nn;const tn={};for(const Wt in hn){const Pt=Wt.toLowerCase();if(Pt==="origin"||Pt==="referer"){tn[Wt]=hn[Wt]}}tn["Access-Control-Request-Method"]=Pt.method;if(yn.length>0){tn["Access-Control-Request-Headers"]=yn.join(", ")}tn["User-Agent"]=Pt.userAgent;Pt.preflight=true;const an=Pt.strictSSL;const In=new cn(sn,{agents:Gn,followRedirects:false},{method:"OPTIONS",headers:tn,rejectUnauthorized:an});In.on("response",(tn=>{if(tn.statusCode<200||tn.statusCode>299){gn.emit("error",new Error("Response for preflight has invalid HTTP status code "+tn.statusCode));return}if(!validCORSPreflightHeaders(Wt,tn,Pt,en)){setResponseToNetworkError(Wt);return}const nn=doRequest();nn.on("response",((...Wt)=>gn.emit("response",...Wt)));nn.on("data",(Wt=>gn.emit("data",Wt)));nn.on("end",(()=>gn.emit("end")));nn.on("abort",(()=>gn.emit("abort")));nn.on("request",(Wt=>{gn.headers=nn.headers;gn.emit("request",Wt)}));nn.on("redirect",((...Wt)=>{gn.emit("redirect",...Wt)}));nn.on("error",(Wt=>{gn.emit("error",Wt)}));gn.abort=()=>{nn.abort()};setImmediate((()=>nn.end()))}));In.on("error",(Wt=>{gn.emit("error",Wt)}));gn.abort=()=>{In.abort()};setImmediate((()=>In.end()))}else{gn=doRequest();setImmediate((()=>gn.end()))}if(pn){const Pt={abort(){en.abortError=true;Wt.abort()}};pn.add(Pt);const tn=pn.remove.bind(pn,Pt);gn.on("abort",tn);gn.on("error",tn);gn.on("end",tn)}return gn}Pt.headerListSeparatorRegexp=pn;Pt.simpleHeaders=bn;Pt.preflightHeaders=Gn;Pt.getRequestHeader=getRequestHeader;Pt.updateRequestHeader=updateRequestHeader;Pt.dispatchError=dispatchError;Pt.validCORSHeaders=validCORSHeaders;Pt.requestErrorSteps=requestErrorSteps;Pt.setResponseToNetworkError=setResponseToNetworkError;Pt.createClient=createClient},53515:(Wt,Pt)=>{const en=Symbol("is named property");const tn=Symbol("named property tracker");Pt.create=function(Wt,Pt,en){if(Wt[tn]){throw Error("A NamedPropertiesTracker has already been created for this object")}const nn=new NamedPropertiesTracker(Wt,Pt,en);Wt[tn]=nn;return nn};Pt.get=function(Wt){if(!Wt){return null}return Wt[tn]||null};function NamedPropertiesTracker(Wt,Pt,en){this.object=Wt;this.objectProxy=Pt;this.resolverFunc=en;this.trackedValues=new Map}function newPropertyDescriptor(Wt,Pt){const tn=new Set;function getValues(){return Wt.trackedValues.get(Pt)||tn}const nn={enumerable:true,configurable:true,get(){return Wt.resolverFunc(Wt.object,Pt,getValues)},set(en){Object.defineProperty(Wt.object,Pt,{enumerable:true,configurable:true,writable:true,value:en})}};nn.get[en]=true;nn.set[en]=true;return nn}NamedPropertiesTracker.prototype.track=function(Wt,Pt){if(Wt===undefined||Wt===null||Wt===""){return}let en=this.trackedValues.get(Wt);if(!en){en=new Set;this.trackedValues.set(Wt,en)}en.add(Pt);if(Wt in this.objectProxy){return}const tn=newPropertyDescriptor(this,Wt);Object.defineProperty(this.object,Wt,tn)};NamedPropertiesTracker.prototype.untrack=function(Wt,Pt){if(Wt===undefined||Wt===null||Wt===""){return}const tn=this.trackedValues.get(Wt);if(!tn){return}if(!tn.delete(Pt)){return}if(tn.size===0){this.trackedValues.delete(Wt)}if(tn.size>0){return}const nn=Object.getOwnPropertyDescriptor(this.object,Wt);if(!nn||!nn.get||nn.get[en]!==true){return}delete this.object[Wt]}},35702:(Wt,Pt,en)=>{const tn=en(78012);const{domSymbolTree:nn}=en(38542);const an=en(86415).TreePosition;Pt.define=function define(Wt,Pt){for(const en of Object.getOwnPropertyNames(Pt)){const tn=Object.getOwnPropertyDescriptor(Pt,en);Object.defineProperty(Wt,en,tn)}};Pt.mixin=(Wt,Pt)=>{const en=Reflect.ownKeys(Pt);for(let tn=0;tn2){return Wt}const Pt=In++;return function(...en){if(!this._memoizedQueries){return Wt.apply(this,en)}if(!this._memoizedQueries[Pt]){this._memoizedQueries[Pt]=Object.create(null)}let tn;if(en.length===1&&typeof en[0]==="string"){tn=en[0]}else if(en.length===2&&typeof en[0]==="string"&&typeof en[1]==="string"){tn=en[0]+"::"+en[1]}else{return Wt.apply(this,en)}if(!(tn in this._memoizedQueries[Pt])){this._memoizedQueries[Pt][tn]=Wt.apply(this,en)}return this._memoizedQueries[Pt][tn]}};function isValidAbsoluteURL(Wt){return tn.parseURL(Wt)!==null}Pt.isValidTargetOrigin=function(Wt){return Wt==="*"||Wt==="/"||isValidAbsoluteURL(Wt)};Pt.simultaneousIterators=function*(Wt,Pt){for(;;){const en=Wt.next();const tn=Pt.next();if(en.done&&tn.done){return}yield[en.done?null:en.value,tn.done?null:tn.value]}};Pt.treeOrderSorter=function(Wt,Pt){const en=nn.compareTreePosition(Wt,Pt);if(en&an.PRECEDING){return 1}if(en&an.FOLLOWING){return-1}return 0};try{Pt.Canvas=en(79989)}catch{Pt.Canvas=null}},68224:(Wt,Pt,en)=>{const{EventEmitter:tn}=en(24434);Wt.exports=class VirtualConsole extends tn{constructor(){super();this.on("error",(()=>{}))}sendTo(Wt,Pt){if(Pt===undefined){Pt={}}for(const en of Object.keys(Wt)){if(typeof Wt[en]==="function"){function onMethodCall(...Pt){Wt[en](...Pt)}this.on(en,onMethodCall)}}if(!Pt.omitJSDOMErrors){this.on("jsdomError",(Pt=>Wt.error(Pt.stack,Pt.detail)))}return this}}},37071:function(Wt,Pt,en){!function(Wt){function a(Wt,Pt){"use strict";var en,tn="uint8array",nn=Pt.ready.then((function(){function t(){if(0!==en._sodium_init())throw new Error("libsodium was not correctly initialized.");for(var Pt=["crypto_aead_aegis128l_decrypt","crypto_aead_aegis128l_decrypt_detached","crypto_aead_aegis128l_encrypt","crypto_aead_aegis128l_encrypt_detached","crypto_aead_aegis128l_keygen","crypto_aead_aegis256_decrypt","crypto_aead_aegis256_decrypt_detached","crypto_aead_aegis256_encrypt","crypto_aead_aegis256_encrypt_detached","crypto_aead_aegis256_keygen","crypto_aead_chacha20poly1305_decrypt","crypto_aead_chacha20poly1305_decrypt_detached","crypto_aead_chacha20poly1305_encrypt","crypto_aead_chacha20poly1305_encrypt_detached","crypto_aead_chacha20poly1305_ietf_decrypt","crypto_aead_chacha20poly1305_ietf_decrypt_detached","crypto_aead_chacha20poly1305_ietf_encrypt","crypto_aead_chacha20poly1305_ietf_encrypt_detached","crypto_aead_chacha20poly1305_ietf_keygen","crypto_aead_chacha20poly1305_keygen","crypto_aead_xchacha20poly1305_ietf_decrypt","crypto_aead_xchacha20poly1305_ietf_decrypt_detached","crypto_aead_xchacha20poly1305_ietf_encrypt","crypto_aead_xchacha20poly1305_ietf_encrypt_detached","crypto_aead_xchacha20poly1305_ietf_keygen","crypto_auth","crypto_auth_hmacsha256","crypto_auth_hmacsha256_final","crypto_auth_hmacsha256_init","crypto_auth_hmacsha256_keygen","crypto_auth_hmacsha256_update","crypto_auth_hmacsha256_verify","crypto_auth_hmacsha512","crypto_auth_hmacsha512256","crypto_auth_hmacsha512256_final","crypto_auth_hmacsha512256_init","crypto_auth_hmacsha512256_keygen","crypto_auth_hmacsha512256_update","crypto_auth_hmacsha512256_verify","crypto_auth_hmacsha512_final","crypto_auth_hmacsha512_init","crypto_auth_hmacsha512_keygen","crypto_auth_hmacsha512_update","crypto_auth_hmacsha512_verify","crypto_auth_keygen","crypto_auth_verify","crypto_box_beforenm","crypto_box_curve25519xchacha20poly1305_beforenm","crypto_box_curve25519xchacha20poly1305_detached","crypto_box_curve25519xchacha20poly1305_detached_afternm","crypto_box_curve25519xchacha20poly1305_easy","crypto_box_curve25519xchacha20poly1305_easy_afternm","crypto_box_curve25519xchacha20poly1305_keypair","crypto_box_curve25519xchacha20poly1305_open_detached","crypto_box_curve25519xchacha20poly1305_open_detached_afternm","crypto_box_curve25519xchacha20poly1305_open_easy","crypto_box_curve25519xchacha20poly1305_open_easy_afternm","crypto_box_curve25519xchacha20poly1305_seal","crypto_box_curve25519xchacha20poly1305_seal_open","crypto_box_curve25519xchacha20poly1305_seed_keypair","crypto_box_detached","crypto_box_easy","crypto_box_easy_afternm","crypto_box_keypair","crypto_box_open_detached","crypto_box_open_easy","crypto_box_open_easy_afternm","crypto_box_seal","crypto_box_seal_open","crypto_box_seed_keypair","crypto_core_ed25519_add","crypto_core_ed25519_from_hash","crypto_core_ed25519_from_uniform","crypto_core_ed25519_is_valid_point","crypto_core_ed25519_random","crypto_core_ed25519_scalar_add","crypto_core_ed25519_scalar_complement","crypto_core_ed25519_scalar_invert","crypto_core_ed25519_scalar_mul","crypto_core_ed25519_scalar_negate","crypto_core_ed25519_scalar_random","crypto_core_ed25519_scalar_reduce","crypto_core_ed25519_scalar_sub","crypto_core_ed25519_sub","crypto_core_hchacha20","crypto_core_hsalsa20","crypto_core_ristretto255_add","crypto_core_ristretto255_from_hash","crypto_core_ristretto255_is_valid_point","crypto_core_ristretto255_random","crypto_core_ristretto255_scalar_add","crypto_core_ristretto255_scalar_complement","crypto_core_ristretto255_scalar_invert","crypto_core_ristretto255_scalar_mul","crypto_core_ristretto255_scalar_negate","crypto_core_ristretto255_scalar_random","crypto_core_ristretto255_scalar_reduce","crypto_core_ristretto255_scalar_sub","crypto_core_ristretto255_sub","crypto_generichash","crypto_generichash_blake2b_salt_personal","crypto_generichash_final","crypto_generichash_init","crypto_generichash_keygen","crypto_generichash_update","crypto_hash","crypto_hash_sha256","crypto_hash_sha256_final","crypto_hash_sha256_init","crypto_hash_sha256_update","crypto_hash_sha512","crypto_hash_sha512_final","crypto_hash_sha512_init","crypto_hash_sha512_update","crypto_kdf_derive_from_key","crypto_kdf_keygen","crypto_kx_client_session_keys","crypto_kx_keypair","crypto_kx_seed_keypair","crypto_kx_server_session_keys","crypto_onetimeauth","crypto_onetimeauth_final","crypto_onetimeauth_init","crypto_onetimeauth_keygen","crypto_onetimeauth_update","crypto_onetimeauth_verify","crypto_pwhash","crypto_pwhash_scryptsalsa208sha256","crypto_pwhash_scryptsalsa208sha256_ll","crypto_pwhash_scryptsalsa208sha256_str","crypto_pwhash_scryptsalsa208sha256_str_verify","crypto_pwhash_str","crypto_pwhash_str_needs_rehash","crypto_pwhash_str_verify","crypto_scalarmult","crypto_scalarmult_base","crypto_scalarmult_ed25519","crypto_scalarmult_ed25519_base","crypto_scalarmult_ed25519_base_noclamp","crypto_scalarmult_ed25519_noclamp","crypto_scalarmult_ristretto255","crypto_scalarmult_ristretto255_base","crypto_secretbox_detached","crypto_secretbox_easy","crypto_secretbox_keygen","crypto_secretbox_open_detached","crypto_secretbox_open_easy","crypto_secretstream_xchacha20poly1305_init_pull","crypto_secretstream_xchacha20poly1305_init_push","crypto_secretstream_xchacha20poly1305_keygen","crypto_secretstream_xchacha20poly1305_pull","crypto_secretstream_xchacha20poly1305_push","crypto_secretstream_xchacha20poly1305_rekey","crypto_shorthash","crypto_shorthash_keygen","crypto_shorthash_siphashx24","crypto_sign","crypto_sign_detached","crypto_sign_ed25519_pk_to_curve25519","crypto_sign_ed25519_sk_to_curve25519","crypto_sign_ed25519_sk_to_pk","crypto_sign_ed25519_sk_to_seed","crypto_sign_final_create","crypto_sign_final_verify","crypto_sign_init","crypto_sign_keypair","crypto_sign_open","crypto_sign_seed_keypair","crypto_sign_update","crypto_sign_verify_detached","crypto_stream_chacha20","crypto_stream_chacha20_ietf_xor","crypto_stream_chacha20_ietf_xor_ic","crypto_stream_chacha20_keygen","crypto_stream_chacha20_xor","crypto_stream_chacha20_xor_ic","crypto_stream_keygen","crypto_stream_xchacha20_keygen","crypto_stream_xchacha20_xor","crypto_stream_xchacha20_xor_ic","randombytes_buf","randombytes_buf_deterministic","randombytes_close","randombytes_random","randombytes_set_implementation","randombytes_stir","randombytes_uniform","sodium_version_string"],tn=[x,k,S,T,w,Y,B,A,M,I,K,N,L,O,U,C,P,R,X,G,D,F,V,H,W,q,j,z,J,Q,Z,$,ee,ae,re,te,_e,ne,se,ce,he,oe,pe,ye,ie,le,ue,de,ve,ge,be,fe,me,Ee,xe,ke,Se,Te,we,Ye,Be,Ae,Me,Ie,Ke,Ne,Le,Oe,Ue,Ce,Pe,Re,Xe,Ge,De,Fe,Ve,He,We,qe,je,ze,Je,Qe,Ze,$e,ea,aa,ra,ta,_a,na,sa,ca,ha,oa,pa,ya,ia,la,ua,da,va,ga,ba,fa,ma,Ea,xa,ka,Sa,Ta,wa,Ya,Ba,Aa,Ma,Ia,Ka,Na,La,Oa,Ua,Ca,Pa,Ra,Xa,Ga,Da,Fa,Va,Ha,Wa,qa,ja,za,Ja,Qa,Za,$a,er,ar,rr,tr,_r,nr,sr,cr,hr,or,pr,yr,ir,lr,ur,dr,vr,gr,br,fr,mr,Er,xr,kr,Sr,Tr,wr,Yr,Br,Ar,Mr,Ir,Kr,Nr,Lr,Or,Ur,Cr,Pr,Rr,Xr,Gr,Dr,Fr,Vr,Hr,Wr,qr],nn=0;nn=240?(on=4,rn=!0):cn>=224?(on=3,rn=!0):cn>=192?(on=2,rn=!0):cn<128&&(on=1,rn=!0)}while(!rn);for(var dn=on-(In.length-sn),un=0;un>8&-39)<<8|87+(Pt=Wt[an]>>>4)+(Pt-10>>8&-39),nn+=String.fromCharCode(255&tn)+String.fromCharCode(tn>>>8);return nn}var an={ORIGINAL:1,ORIGINAL_NO_PADDING:3,URLSAFE:5,URLSAFE_NO_PADDING:7};function o(Wt){if(null==Wt)return an.URLSAFE_NO_PADDING;if(Wt!==an.ORIGINAL&&Wt!==an.ORIGINAL_NO_PADDING&&Wt!==an.URLSAFE&&Wt!=an.URLSAFE_NO_PADDING)throw new Error("unsupported base64 variant");return Wt}function p(Wt,Pt){Pt=o(Pt),Wt=E(nn,Wt,"input");var tn,nn=[],an=0|Math.floor(Wt.length/3),In=Wt.length-3*an,rn=4*an+(0!==In?2&Pt?2+(In>>>1):4:0),sn=new u(rn+1),on=d(Wt);return nn.push(on),nn.push(sn.address),0===en._sodium_bin2base64(sn.address,sn.length,on,Wt.length,Pt)&&b(nn,"conversion failed"),sn.length=rn,tn=s(sn.to_Uint8Array()),g(nn),tn}function y(Wt,Pt){var en=Pt||tn;if(!i(en))throw new Error(en+" output format is not available");if(Wt instanceof u){if("uint8array"===en)return Wt.to_Uint8Array();if("text"===en)return s(Wt.to_Uint8Array());if("hex"===en)return c(Wt.to_Uint8Array());if("base64"===en)return p(Wt.to_Uint8Array(),an.URLSAFE_NO_PADDING);throw new Error('What is output format "'+en+'"?')}if("object"==typeof Wt){for(var nn=Object.keys(Wt),In={},rn=0;rn=BigInt(0)){const Wt=Pt>>BigInt(32);Wt>BigInt(4294967295)&&f(In,"subkey_id cannot be more than 64 bits"),sn=Number(Wt),rn=Number(Pt&BigInt(4294967295))}else"number"==typeof Pt&&(0|Pt)===Pt&&Pt>=0?rn=Pt:f(In,"subkey_id must be an unsigned integer or bigint");"string"!=typeof tn&&f(In,"ctx must be a string"),tn=n(tn+"\0"),null!=cn&&tn.length-1!==cn&&f(In,"invalid ctx length");var on=d(tn),cn=tn.length-1;In.push(on),nn=E(In,nn,"key");var dn,un=0|en._crypto_kdf_keybytes();nn.length!==un&&f(In,"invalid key length"),dn=d(nn),In.push(dn);var pn=new u(0|Wt),mn=pn.address;In.push(mn),en._crypto_kdf_derive_from_key(mn,Wt,rn,sn,on,dn);var bn=y(pn,an);return g(In),bn}function Aa(Wt){var Pt=[];l(Wt);var tn=new u(0|en._crypto_kdf_keybytes()),nn=tn.address;Pt.push(nn),en._crypto_kdf_keygen(nn);var an=y(tn,Wt);return g(Pt),an}function Ma(Wt,Pt,tn,nn){var an=[];l(nn),Wt=E(an,Wt,"clientPublicKey");var In,rn=0|en._crypto_kx_publickeybytes();Wt.length!==rn&&f(an,"invalid clientPublicKey length"),In=d(Wt),an.push(In),Pt=E(an,Pt,"clientSecretKey");var sn,on=0|en._crypto_kx_secretkeybytes();Pt.length!==on&&f(an,"invalid clientSecretKey length"),sn=d(Pt),an.push(sn),tn=E(an,tn,"serverPublicKey");var cn,dn=0|en._crypto_kx_publickeybytes();tn.length!==dn&&f(an,"invalid serverPublicKey length"),cn=d(tn),an.push(cn);var un=new u(0|en._crypto_kx_sessionkeybytes()),pn=un.address;an.push(pn);var mn=new u(0|en._crypto_kx_sessionkeybytes()),bn=mn.address;if(an.push(bn),!(0|en._crypto_kx_client_session_keys(pn,bn,In,sn,cn))){var Gn=y({sharedRx:un,sharedTx:mn},nn);return g(an),Gn}b(an,"invalid usage")}function Ia(Wt){var Pt=[];l(Wt);var tn=new u(0|en._crypto_kx_publickeybytes()),nn=tn.address;Pt.push(nn);var an=new u(0|en._crypto_kx_secretkeybytes()),In=an.address;if(Pt.push(In),!(0|en._crypto_kx_keypair(nn,In))){var rn={publicKey:y(tn,Wt),privateKey:y(an,Wt),keyType:"x25519"};return g(Pt),rn}b(Pt,"internal error")}function Ka(Wt,Pt){var tn=[];l(Pt),Wt=E(tn,Wt,"seed");var nn,an=0|en._crypto_kx_seedbytes();Wt.length!==an&&f(tn,"invalid seed length"),nn=d(Wt),tn.push(nn);var In=new u(0|en._crypto_kx_publickeybytes()),rn=In.address;tn.push(rn);var sn=new u(0|en._crypto_kx_secretkeybytes()),on=sn.address;if(tn.push(on),!(0|en._crypto_kx_seed_keypair(rn,on,nn))){var cn={publicKey:y(In,Pt),privateKey:y(sn,Pt),keyType:"x25519"};return g(tn),cn}b(tn,"internal error")}function Na(Wt,Pt,tn,nn){var an=[];l(nn),Wt=E(an,Wt,"serverPublicKey");var In,rn=0|en._crypto_kx_publickeybytes();Wt.length!==rn&&f(an,"invalid serverPublicKey length"),In=d(Wt),an.push(In),Pt=E(an,Pt,"serverSecretKey");var sn,on=0|en._crypto_kx_secretkeybytes();Pt.length!==on&&f(an,"invalid serverSecretKey length"),sn=d(Pt),an.push(sn),tn=E(an,tn,"clientPublicKey");var cn,dn=0|en._crypto_kx_publickeybytes();tn.length!==dn&&f(an,"invalid clientPublicKey length"),cn=d(tn),an.push(cn);var un=new u(0|en._crypto_kx_sessionkeybytes()),pn=un.address;an.push(pn);var mn=new u(0|en._crypto_kx_sessionkeybytes()),bn=mn.address;if(an.push(bn),!(0|en._crypto_kx_server_session_keys(pn,bn,In,sn,cn))){var Gn=y({sharedRx:un,sharedTx:mn},nn);return g(an),Gn}b(an,"invalid usage")}function La(Wt,Pt,tn){var nn=[];l(tn);var an=d(Wt=E(nn,Wt,"message")),In=Wt.length;nn.push(an),Pt=E(nn,Pt,"key");var rn,sn=0|en._crypto_onetimeauth_keybytes();Pt.length!==sn&&f(nn,"invalid key length"),rn=d(Pt),nn.push(rn);var on=new u(0|en._crypto_onetimeauth_bytes()),cn=on.address;if(nn.push(cn),!(0|en._crypto_onetimeauth(cn,an,In,0,rn))){var dn=y(on,tn);return g(nn),dn}b(nn,"invalid usage")}function Oa(Wt,Pt){var tn=[];l(Pt),m(tn,Wt,"state_address");var nn=new u(0|en._crypto_onetimeauth_bytes()),an=nn.address;if(tn.push(an),!(0|en._crypto_onetimeauth_final(Wt,an))){var In=(en._free(Wt),y(nn,Pt));return g(tn),In}b(tn,"invalid usage")}function Ua(Wt,Pt){var tn=[];l(Pt);var nn=null;null!=Wt&&(nn=d(Wt=E(tn,Wt,"key")),Wt.length,tn.push(nn));var an=new u(144).address;if(!(0|en._crypto_onetimeauth_init(an,nn))){var In=an;return g(tn),In}b(tn,"invalid usage")}function Ca(Wt){var Pt=[];l(Wt);var tn=new u(0|en._crypto_onetimeauth_keybytes()),nn=tn.address;Pt.push(nn),en._crypto_onetimeauth_keygen(nn);var an=y(tn,Wt);return g(Pt),an}function Pa(Wt,Pt,tn){var nn=[];l(tn),m(nn,Wt,"state_address");var an=d(Pt=E(nn,Pt,"message_chunk")),In=Pt.length;nn.push(an),0|en._crypto_onetimeauth_update(Wt,an,In)&&b(nn,"invalid usage"),g(nn)}function Ra(Wt,Pt,tn){var nn=[];Wt=E(nn,Wt,"hash");var an,In=0|en._crypto_onetimeauth_bytes();Wt.length!==In&&f(nn,"invalid hash length"),an=d(Wt),nn.push(an);var rn=d(Pt=E(nn,Pt,"message")),sn=Pt.length;nn.push(rn),tn=E(nn,tn,"key");var on,cn=0|en._crypto_onetimeauth_keybytes();tn.length!==cn&&f(nn,"invalid key length"),on=d(tn),nn.push(on);var dn=!(0|en._crypto_onetimeauth_verify(an,rn,sn,0,on));return g(nn),dn}function Xa(Wt,Pt,tn,nn,an,In,rn){var sn=[];l(rn),m(sn,Wt,"keyLength"),("number"!=typeof Wt||(0|Wt)!==Wt||Wt<0)&&f(sn,"keyLength must be an unsigned integer");var on=d(Pt=E(sn,Pt,"password")),cn=Pt.length;sn.push(on),tn=E(sn,tn,"salt");var dn,un=0|en._crypto_pwhash_saltbytes();tn.length!==un&&f(sn,"invalid salt length"),dn=d(tn),sn.push(dn),m(sn,nn,"opsLimit"),("number"!=typeof nn||(0|nn)!==nn||nn<0)&&f(sn,"opsLimit must be an unsigned integer"),m(sn,an,"memLimit"),("number"!=typeof an||(0|an)!==an||an<0)&&f(sn,"memLimit must be an unsigned integer"),m(sn,In,"algorithm"),("number"!=typeof In||(0|In)!==In||In<0)&&f(sn,"algorithm must be an unsigned integer");var pn=new u(0|Wt),mn=pn.address;if(sn.push(mn),!(0|en._crypto_pwhash(mn,Wt,0,on,cn,0,dn,nn,0,an,In))){var bn=y(pn,rn);return g(sn),bn}b(sn,"invalid usage")}function Ga(Wt,Pt,tn,nn,an,In){var rn=[];l(In),m(rn,Wt,"keyLength"),("number"!=typeof Wt||(0|Wt)!==Wt||Wt<0)&&f(rn,"keyLength must be an unsigned integer");var sn=d(Pt=E(rn,Pt,"password")),on=Pt.length;rn.push(sn),tn=E(rn,tn,"salt");var cn,dn=0|en._crypto_pwhash_scryptsalsa208sha256_saltbytes();tn.length!==dn&&f(rn,"invalid salt length"),cn=d(tn),rn.push(cn),m(rn,nn,"opsLimit"),("number"!=typeof nn||(0|nn)!==nn||nn<0)&&f(rn,"opsLimit must be an unsigned integer"),m(rn,an,"memLimit"),("number"!=typeof an||(0|an)!==an||an<0)&&f(rn,"memLimit must be an unsigned integer");var un=new u(0|Wt),pn=un.address;if(rn.push(pn),!(0|en._crypto_pwhash_scryptsalsa208sha256(pn,Wt,0,sn,on,0,cn,nn,0,an))){var mn=y(un,In);return g(rn),mn}b(rn,"invalid usage")}function Da(Wt,Pt,tn,nn,an,In,rn){var sn=[];l(rn);var on=d(Wt=E(sn,Wt,"password")),cn=Wt.length;sn.push(on);var dn=d(Pt=E(sn,Pt,"salt")),un=Pt.length;sn.push(dn),m(sn,tn,"opsLimit"),("number"!=typeof tn||(0|tn)!==tn||tn<0)&&f(sn,"opsLimit must be an unsigned integer"),m(sn,nn,"r"),("number"!=typeof nn||(0|nn)!==nn||nn<0)&&f(sn,"r must be an unsigned integer"),m(sn,an,"p"),("number"!=typeof an||(0|an)!==an||an<0)&&f(sn,"p must be an unsigned integer"),m(sn,In,"keyLength"),("number"!=typeof In||(0|In)!==In||In<0)&&f(sn,"keyLength must be an unsigned integer");var pn=new u(0|In),mn=pn.address;if(sn.push(mn),!(0|en._crypto_pwhash_scryptsalsa208sha256_ll(on,cn,dn,un,tn,0,nn,an,mn,In))){var bn=y(pn,rn);return g(sn),bn}b(sn,"invalid usage")}function Fa(Wt,Pt,tn,nn){var an=[];l(nn);var In=d(Wt=E(an,Wt,"password")),rn=Wt.length;an.push(In),m(an,Pt,"opsLimit"),("number"!=typeof Pt||(0|Pt)!==Pt||Pt<0)&&f(an,"opsLimit must be an unsigned integer"),m(an,tn,"memLimit"),("number"!=typeof tn||(0|tn)!==tn||tn<0)&&f(an,"memLimit must be an unsigned integer");var sn=new u(0|en._crypto_pwhash_scryptsalsa208sha256_strbytes()).address;if(an.push(sn),!(0|en._crypto_pwhash_scryptsalsa208sha256_str(sn,In,rn,0,Pt,0,tn))){var on=en.UTF8ToString(sn);return g(an),on}b(an,"invalid usage")}function Va(Wt,Pt,tn){var nn=[];l(tn),"string"!=typeof Wt&&f(nn,"hashed_password must be a string"),Wt=n(Wt+"\0"),null!=In&&Wt.length-1!==In&&f(nn,"invalid hashed_password length");var an=d(Wt),In=Wt.length-1;nn.push(an);var rn=d(Pt=E(nn,Pt,"password")),sn=Pt.length;nn.push(rn);var on=!(0|en._crypto_pwhash_scryptsalsa208sha256_str_verify(an,rn,sn,0));return g(nn),on}function Ha(Wt,Pt,tn,nn){var an=[];l(nn);var In=d(Wt=E(an,Wt,"password")),rn=Wt.length;an.push(In),m(an,Pt,"opsLimit"),("number"!=typeof Pt||(0|Pt)!==Pt||Pt<0)&&f(an,"opsLimit must be an unsigned integer"),m(an,tn,"memLimit"),("number"!=typeof tn||(0|tn)!==tn||tn<0)&&f(an,"memLimit must be an unsigned integer");var sn=new u(0|en._crypto_pwhash_strbytes()).address;if(an.push(sn),!(0|en._crypto_pwhash_str(sn,In,rn,0,Pt,0,tn))){var on=en.UTF8ToString(sn);return g(an),on}b(an,"invalid usage")}function Wa(Wt,Pt,tn,nn){var an=[];l(nn),"string"!=typeof Wt&&f(an,"hashed_password must be a string"),Wt=n(Wt+"\0"),null!=rn&&Wt.length-1!==rn&&f(an,"invalid hashed_password length");var In=d(Wt),rn=Wt.length-1;an.push(In),m(an,Pt,"opsLimit"),("number"!=typeof Pt||(0|Pt)!==Pt||Pt<0)&&f(an,"opsLimit must be an unsigned integer"),m(an,tn,"memLimit"),("number"!=typeof tn||(0|tn)!==tn||tn<0)&&f(an,"memLimit must be an unsigned integer");var sn=!!(0|en._crypto_pwhash_str_needs_rehash(In,Pt,0,tn));return g(an),sn}function qa(Wt,Pt,tn){var nn=[];l(tn),"string"!=typeof Wt&&f(nn,"hashed_password must be a string"),Wt=n(Wt+"\0"),null!=In&&Wt.length-1!==In&&f(nn,"invalid hashed_password length");var an=d(Wt),In=Wt.length-1;nn.push(an);var rn=d(Pt=E(nn,Pt,"password")),sn=Pt.length;nn.push(rn);var on=!(0|en._crypto_pwhash_str_verify(an,rn,sn,0));return g(nn),on}function ja(Wt,Pt,tn){var nn=[];l(tn),Wt=E(nn,Wt,"privateKey");var an,In=0|en._crypto_scalarmult_scalarbytes();Wt.length!==In&&f(nn,"invalid privateKey length"),an=d(Wt),nn.push(an),Pt=E(nn,Pt,"publicKey");var rn,sn=0|en._crypto_scalarmult_bytes();Pt.length!==sn&&f(nn,"invalid publicKey length"),rn=d(Pt),nn.push(rn);var on=new u(0|en._crypto_scalarmult_bytes()),cn=on.address;if(nn.push(cn),!(0|en._crypto_scalarmult(cn,an,rn))){var dn=y(on,tn);return g(nn),dn}b(nn,"weak public key")}function za(Wt,Pt){var tn=[];l(Pt),Wt=E(tn,Wt,"privateKey");var nn,an=0|en._crypto_scalarmult_scalarbytes();Wt.length!==an&&f(tn,"invalid privateKey length"),nn=d(Wt),tn.push(nn);var In=new u(0|en._crypto_scalarmult_bytes()),rn=In.address;if(tn.push(rn),!(0|en._crypto_scalarmult_base(rn,nn))){var sn=y(In,Pt);return g(tn),sn}b(tn,"unknown error")}function Ja(Wt,Pt,tn){var nn=[];l(tn),Wt=E(nn,Wt,"n");var an,In=0|en._crypto_scalarmult_ed25519_scalarbytes();Wt.length!==In&&f(nn,"invalid n length"),an=d(Wt),nn.push(an),Pt=E(nn,Pt,"p");var rn,sn=0|en._crypto_scalarmult_ed25519_bytes();Pt.length!==sn&&f(nn,"invalid p length"),rn=d(Pt),nn.push(rn);var on=new u(0|en._crypto_scalarmult_ed25519_bytes()),cn=on.address;if(nn.push(cn),!(0|en._crypto_scalarmult_ed25519(cn,an,rn))){var dn=y(on,tn);return g(nn),dn}b(nn,"invalid point or scalar is 0")}function Qa(Wt,Pt){var tn=[];l(Pt),Wt=E(tn,Wt,"scalar");var nn,an=0|en._crypto_scalarmult_ed25519_scalarbytes();Wt.length!==an&&f(tn,"invalid scalar length"),nn=d(Wt),tn.push(nn);var In=new u(0|en._crypto_scalarmult_ed25519_bytes()),rn=In.address;if(tn.push(rn),!(0|en._crypto_scalarmult_ed25519_base(rn,nn))){var sn=y(In,Pt);return g(tn),sn}b(tn,"scalar is 0")}function Za(Wt,Pt){var tn=[];l(Pt),Wt=E(tn,Wt,"scalar");var nn,an=0|en._crypto_scalarmult_ed25519_scalarbytes();Wt.length!==an&&f(tn,"invalid scalar length"),nn=d(Wt),tn.push(nn);var In=new u(0|en._crypto_scalarmult_ed25519_bytes()),rn=In.address;if(tn.push(rn),!(0|en._crypto_scalarmult_ed25519_base_noclamp(rn,nn))){var sn=y(In,Pt);return g(tn),sn}b(tn,"scalar is 0")}function $a(Wt,Pt,tn){var nn=[];l(tn),Wt=E(nn,Wt,"n");var an,In=0|en._crypto_scalarmult_ed25519_scalarbytes();Wt.length!==In&&f(nn,"invalid n length"),an=d(Wt),nn.push(an),Pt=E(nn,Pt,"p");var rn,sn=0|en._crypto_scalarmult_ed25519_bytes();Pt.length!==sn&&f(nn,"invalid p length"),rn=d(Pt),nn.push(rn);var on=new u(0|en._crypto_scalarmult_ed25519_bytes()),cn=on.address;if(nn.push(cn),!(0|en._crypto_scalarmult_ed25519_noclamp(cn,an,rn))){var dn=y(on,tn);return g(nn),dn}b(nn,"invalid point or scalar is 0")}function er(Wt,Pt,tn){var nn=[];l(tn),Wt=E(nn,Wt,"scalar");var an,In=0|en._crypto_scalarmult_ristretto255_scalarbytes();Wt.length!==In&&f(nn,"invalid scalar length"),an=d(Wt),nn.push(an),Pt=E(nn,Pt,"element");var rn,sn=0|en._crypto_scalarmult_ristretto255_bytes();Pt.length!==sn&&f(nn,"invalid element length"),rn=d(Pt),nn.push(rn);var on=new u(0|en._crypto_scalarmult_ristretto255_bytes()),cn=on.address;if(nn.push(cn),!(0|en._crypto_scalarmult_ristretto255(cn,an,rn))){var dn=y(on,tn);return g(nn),dn}b(nn,"result is identity element")}function ar(Wt,Pt){var tn=[];l(Pt),Wt=E(tn,Wt,"scalar");var nn,an=0|en._crypto_core_ristretto255_scalarbytes();Wt.length!==an&&f(tn,"invalid scalar length"),nn=d(Wt),tn.push(nn);var In=new u(0|en._crypto_core_ristretto255_bytes()),rn=In.address;if(tn.push(rn),!(0|en._crypto_scalarmult_ristretto255_base(rn,nn))){var sn=y(In,Pt);return g(tn),sn}b(tn,"scalar is 0")}function rr(Wt,Pt,tn,nn){var an=[];l(nn);var In=d(Wt=E(an,Wt,"message")),rn=Wt.length;an.push(In),Pt=E(an,Pt,"nonce");var sn,on=0|en._crypto_secretbox_noncebytes();Pt.length!==on&&f(an,"invalid nonce length"),sn=d(Pt),an.push(sn),tn=E(an,tn,"key");var cn,dn=0|en._crypto_secretbox_keybytes();tn.length!==dn&&f(an,"invalid key length"),cn=d(tn),an.push(cn);var un=new u(0|rn),pn=un.address;an.push(pn);var mn=new u(0|en._crypto_secretbox_macbytes()),bn=mn.address;if(an.push(bn),!(0|en._crypto_secretbox_detached(pn,bn,In,rn,0,sn,cn))){var Gn=y({mac:mn,cipher:un},nn);return g(an),Gn}b(an,"invalid usage")}function tr(Wt,Pt,tn,nn){var an=[];l(nn);var In=d(Wt=E(an,Wt,"message")),rn=Wt.length;an.push(In),Pt=E(an,Pt,"nonce");var sn,on=0|en._crypto_secretbox_noncebytes();Pt.length!==on&&f(an,"invalid nonce length"),sn=d(Pt),an.push(sn),tn=E(an,tn,"key");var cn,dn=0|en._crypto_secretbox_keybytes();tn.length!==dn&&f(an,"invalid key length"),cn=d(tn),an.push(cn);var un=new u(rn+en._crypto_secretbox_macbytes()|0),pn=un.address;if(an.push(pn),!(0|en._crypto_secretbox_easy(pn,In,rn,0,sn,cn))){var mn=y(un,nn);return g(an),mn}b(an,"invalid usage")}function _r(Wt){var Pt=[];l(Wt);var tn=new u(0|en._crypto_secretbox_keybytes()),nn=tn.address;Pt.push(nn),en._crypto_secretbox_keygen(nn);var an=y(tn,Wt);return g(Pt),an}function nr(Wt,Pt,tn,nn,an){var In=[];l(an);var rn=d(Wt=E(In,Wt,"ciphertext")),sn=Wt.length;In.push(rn),Pt=E(In,Pt,"mac");var on,cn=0|en._crypto_secretbox_macbytes();Pt.length!==cn&&f(In,"invalid mac length"),on=d(Pt),In.push(on),tn=E(In,tn,"nonce");var dn,un=0|en._crypto_secretbox_noncebytes();tn.length!==un&&f(In,"invalid nonce length"),dn=d(tn),In.push(dn),nn=E(In,nn,"key");var pn,mn=0|en._crypto_secretbox_keybytes();nn.length!==mn&&f(In,"invalid key length"),pn=d(nn),In.push(pn);var bn=new u(0|sn),Gn=bn.address;if(In.push(Gn),!(0|en._crypto_secretbox_open_detached(Gn,rn,on,sn,0,dn,pn))){var hn=y(bn,an);return g(In),hn}b(In,"wrong secret key for the given ciphertext")}function sr(Wt,Pt,tn,nn){var an=[];l(nn),Wt=E(an,Wt,"ciphertext");var In,rn=en._crypto_secretbox_macbytes(),sn=Wt.length;sn>>0;return g([]),Pt}function Vr(Wt,Pt){var tn=[];l(Pt);for(var nn=en._malloc(24),an=0;an<6;an++)en.setValue(nn+4*an,en.Runtime.addFunction(Wt[["implementation_name","random","stir","uniform","buf","close"][an]]),"i32");0|en._randombytes_set_implementation(nn)&&b(tn,"unsupported implementation"),g(tn)}function Hr(Wt){l(Wt),en._randombytes_stir()}function Wr(Wt,Pt){var tn=[];l(Pt),m(tn,Wt,"upper_bound"),("number"!=typeof Wt||(0|Wt)!==Wt||Wt<0)&&f(tn,"upper_bound must be an unsigned integer");var nn=en._randombytes_uniform(Wt)>>>0;return g(tn),nn}function qr(){var Wt=en._sodium_version_string(),Pt=en.UTF8ToString(Wt);return g([]),Pt}return u.prototype.to_Uint8Array=function(){var Wt=new Uint8Array(this.length);return Wt.set(en.HEAPU8.subarray(this.address,this.address+this.length)),Wt},Wt.add=function(Wt,Pt){if(!(Wt instanceof Uint8Array&&Pt instanceof Uint8Array))throw new TypeError("Only Uint8Array instances can added");var en=Wt.length,tn=0,nn=0;if(Pt.length!=Wt.length)throw new TypeError("Arguments must have the same length");for(nn=0;nn>=8,tn+=Wt[nn]+Pt[nn],Wt[nn]=255&tn},Wt.base64_variants=an,Wt.compare=function(Wt,Pt){if(!(Wt instanceof Uint8Array&&Pt instanceof Uint8Array))throw new TypeError("Only Uint8Array instances can be compared");if(Wt.length!==Pt.length)throw new TypeError("Only instances of identical length can be compared");for(var en=0,tn=1,nn=Wt.length;nn-- >0;)en|=Pt[nn]-Wt[nn]>>8&tn,tn&=(Pt[nn]^Wt[nn])-1>>8;return en+en+tn-1},Wt.from_base64=function(Wt,Pt){Pt=o(Pt);var tn,nn=[],an=new u(3*(Wt=E(nn,Wt,"input")).length/4),In=d(Wt),rn=v(4),sn=v(4);return nn.push(In),nn.push(an.address),nn.push(an.result_bin_len_p),nn.push(an.b64_end_p),0!==en._sodium_base642bin(an.address,an.length,In,Wt.length,0,rn,sn,Pt)&&b(nn,"invalid input"),en.getValue(sn,"i32")-In!==Wt.length&&b(nn,"incomplete input"),an.length=en.getValue(rn,"i32"),tn=an.to_Uint8Array(),g(nn),tn},Wt.from_hex=function(Wt){var Pt,tn=[],nn=new u((Wt=E(tn,Wt,"input")).length/2),an=d(Wt),In=v(4);return tn.push(an),tn.push(nn.address),tn.push(nn.hex_end_p),0!==en._sodium_hex2bin(nn.address,nn.length,an,Wt.length,0,0,In)&&b(tn,"invalid input"),en.getValue(In,"i32")-an!==Wt.length&&b(tn,"incomplete input"),Pt=nn.to_Uint8Array(),g(tn),Pt},Wt.from_string=n,Wt.increment=function(Wt){if(!(Wt instanceof Uint8Array))throw new TypeError("Only Uint8Array instances can be incremented");for(var Pt=256,en=0,tn=Wt.length;en>=8,Pt+=Wt[en],Wt[en]=255&Pt},Wt.is_zero=function(Wt){if(!(Wt instanceof Uint8Array))throw new TypeError("Only Uint8Array instances can be checked");for(var Pt=0,en=0,tn=Wt.length;en 0");var tn,nn=[],an=v(4),In=1,rn=0,sn=0|Wt.length,on=new u(sn+Pt);nn.push(an),nn.push(on.address);for(var cn=on.address,dn=on.address+sn+Pt;cn>>48|sn>>>32|sn>>>16|sn))-1>>16);return 0!==en._sodium_pad(an,on.address,Wt.length,Pt,on.length)&&b(nn,"internal error"),on.length=en.getValue(an,"i32"),tn=on.to_Uint8Array(),g(nn),tn},Wt.unpad=function(Wt,Pt){if(!(Wt instanceof Uint8Array))throw new TypeError("buffer must be a Uint8Array");if((Pt|=0)<=0)throw new Error("block size must be > 0");var tn=[],nn=d(Wt),an=v(4);return tn.push(nn),tn.push(an),0!==en._sodium_unpad(an,nn,Wt.length,Pt)&&b(tn,"unsupported/invalid padding"),Wt=(Wt=new Uint8Array(Wt)).subarray(0,en.getValue(an,"i32")),g(tn),Wt},Wt.ready=nn,Wt.symbols=function(){return Object.keys(Wt).sort()},Wt.to_base64=p,Wt.to_hex=c,Wt.to_string=s,Wt}var tn="object"==typeof Wt.sodium&&"function"==typeof Wt.sodium.onload?Wt.sodium.onload:null;"function"==typeof define&&define.amd?define(["exports","libsodium"],a):true&&"string"!=typeof Pt.nodeName?a(Pt,en(73371)):Wt.sodium=a(Wt.commonJsStrict={},Wt.libsodium),tn&&Wt.sodium.ready.then((function(){tn(Wt.sodium)}))}(this)},73371:function(Wt,Pt,en){!function(tn){function I(Pt){"use strict";var tn;void 0===(tn=Pt)&&(tn={});var nn=tn;"object"!=typeof nn.sodium&&("object"==typeof global?nn=global:"object"==typeof window&&(nn=window));var an=tn;return tn.ready=new Promise((function(Pt,tn){(In=an).onAbort=tn,In.print=function(Wt){},In.printErr=function(Wt){},In.onRuntimeInitialized=function(){try{In._crypto_secretbox_keybytes(),Pt()}catch(Wt){tn(Wt)}},In.useBackupModule=function(){return new Promise((function(Pt,tn){(In={}).onAbort=tn,In.onRuntimeInitialized=function(){Object.keys(an).forEach((function(Wt){"getRandomValue"!==Wt&&delete an[Wt]})),Object.keys(In).forEach((function(Wt){an[Wt]=In[Wt]})),Pt()};var nn,In=void 0!==In?In:{},rn="object"==typeof window,sn="function"==typeof importScripts,on="object"==typeof process&&"object"==typeof process.versions&&"string"==typeof process.versions.node,cn=Object.assign({},In),dn="";if(on){var un=en(79896),pn=en(16928);dn=import.meta.dirname+"/",nn=Wt=>(Wt=U(Wt)?new URL(Wt):pn.normalize(Wt),un.readFileSync(Wt)),!In.thisProgram&&process.argv.length>1&&process.argv[1].replace(/\\/g,"/"),process.argv.slice(2),true&&(Wt.exports=In)}else(rn||sn)&&(sn?dn=self.location.href:"undefined"!=typeof document&&document.currentScript&&(dn=document.currentScript.src),dn=dn.startsWith("blob:")?"":dn.substr(0,dn.replace(/[?#].*/,"").lastIndexOf("/")+1),sn&&(nn=Wt=>{var Pt=new XMLHttpRequest;return Pt.open("GET",Wt,!1),Pt.responseType="arraybuffer",Pt.send(null),new Uint8Array(Pt.response)}));In.print;var mn,bn=In.printErr||void 0;Object.assign(In,cn),cn=null,In.arguments&&In.arguments,In.thisProgram&&In.thisProgram,In.quit&&In.quit,In.wasmBinary&&(mn=In.wasmBinary);var Gn,hn={Memory:function(Wt){this.buffer=new ArrayBuffer(65536*Wt.initial)},Module:function(Wt){},Instance:function(Wt,Pt){this.exports=function(Wt){for(var Pt,en=new Uint8Array(123),tn=25;tn>=0;--tn)en[48+tn]=52+tn,en[65+tn]=tn,en[97+tn]=26+tn;function B(Wt,Pt,tn){for(var nn,an,In=0,rn=Pt,sn=tn.length,on=Pt+(3*sn>>2)-("="==tn[sn-2])-("="==tn[sn-1]);In>4,rn>2),rn>>0>Un>>>0?on+1|0:on)|0,on=(Il=(cn=Un)>>>0>(Un=Un+Il|0)>>>0?on+1|0:on)+bl|0,rl=ml=Un+pl|0,ml=on=ml>>>0>>0?on+1|0:on,Un=_A(Un^(an[Wt+80|0]|an[Wt+81|0]<<8|an[Wt+82|0]<<16|an[Wt+83|0]<<24)^-79577749,Il^(an[Wt+84|0]|an[Wt+85|0]<<8|an[Wt+86|0]<<16|an[Wt+87|0]<<24)^528734635,32),yl=on=bn,on=on+1013904242|0,Il=Un,Kn=on=(Un=Un-23791573|0)>>>0<4271175723?on+1|0:on,il=_A(Un^cl,on^il,40),on=(on=ml)+(ml=bn)|0,cl=_A(Il^(Zn=cl=il+rl|0),yl^(An=Zn>>>0>>0?on+1|0:on),48),on=Kn+(On=bn)|0,yn=on=(cl=Un+(Wn=cl)|0)>>>0>>0?on+1|0:on,cl=on=_A(il^(gn=cl),ml^on,1),Kn=Un=bn,ml=an[Pt+24|0]|an[Pt+25|0]<<8|an[Pt+26|0]<<16|an[Pt+27|0]<<24,yl=on=an[Pt+28|0]|an[Pt+29|0]<<8|an[Pt+30|0]<<16|an[Pt+31|0]<<24,ul=an[Wt+8|0]|an[Wt+9|0]<<8|an[Wt+10|0]<<16|an[Wt+11|0]<<24,Un=(il=an[Pt+16|0]|an[Pt+17|0]<<8|an[Pt+18|0]<<16|an[Pt+19|0]<<24)+(Il=an[Wt+40|0]|an[Wt+41|0]<<8|an[Wt+42|0]<<16|an[Wt+43|0]<<24)|0,on=(Vl=an[Pt+20|0]|an[Pt+21|0]<<8|an[Pt+22|0]<<16|an[Pt+23|0]<<24)+(wl=an[Wt+44|0]|an[Wt+45|0]<<8|an[Wt+46|0]<<16|an[Wt+47|0]<<24)|0,on=(an[Wt+12|0]|an[Wt+13|0]<<8|an[Wt+14|0]<<16|an[Wt+15|0]<<24)+(Un>>>0>>0?on+1|0:on)|0,on=yl+(rl=(cn=Un)>>>0>(Un=Un+ul|0)>>>0?on+1|0:on)|0,on=(ul=Un+ml|0)>>>0>>0?on+1|0:on,cn=_A(Un^(an[Wt+72|0]|an[Wt+73|0]<<8|an[Wt+74|0]<<16|an[Wt+75|0]<<24)^725511199,rl^(an[Wt+76|0]|an[Wt+77|0]<<8|an[Wt+78|0]<<16|an[Wt+79|0]<<24)^-1694144372,32),mn=_A(Il^(dn=cn-2067093701|0),wl^(Bn=(Cn=Un=bn)-((cn>>>0<2067093701)+1150833018|0)|0),40),on=(Tn=bn)+on|0,on=(Hn=(vn=Un=mn+ul|0)>>>0>>0?on+1|0:on)+Kn|0,on=(vn>>>0>(Un=vn+cl|0)>>>0?on+1|0:on)+Dn|0,on=(Il=(un=Un)>>>0>(Un=Un+sl|0)>>>0?on+1|0:on)+zn|0,Jn=zn=Un+en|0,hn=on=zn>>>0>>0?on+1|0:on,Nn=cl,Nl=Kn,Kn=Un,rl=Il,cl=an[Pt+8|0]|an[Pt+9|0]<<8|an[Pt+10|0]<<16|an[Pt+11|0]<<24,Un=on=an[Pt+12|0]|an[Pt+13|0]<<8|an[Pt+14|0]<<16|an[Pt+15|0]<<24,wl=on=an[0|Wt]|an[Wt+1|0]<<8|an[Wt+2|0]<<16|an[Wt+3|0]<<24,rn=Il=an[Wt+4|0]|an[Wt+5|0]<<8|an[Wt+6|0]<<16|an[Wt+7|0]<<24,Dn=on,on=(vl=an[Pt+4|0]|an[Pt+5|0]<<8|an[Pt+6|0]<<16|an[Pt+7|0]<<24)+(pn=an[Wt+36|0]|an[Wt+37|0]<<8|an[Wt+38|0]<<16|an[Wt+39|0]<<24)|0,on=rn+((zn=an[Wt+32|0]|an[Wt+33|0]<<8|an[Wt+34|0]<<16|an[Wt+35|0]<<24)>>>0>(un=zn+(Il=an[0|Pt]|an[Pt+1|0]<<8|an[Pt+2|0]<<16|an[Pt+3|0]<<24)|0)>>>0?on+1|0:on)|0,on=(ul=(Dn=un+Dn|0)>>>0>>0?on+1|0:on)+Un|0,Al=un=Dn+cl|0,un=on=un>>>0>>0?on+1|0:on,Gn=zn,zn=_A(Dn^(an[Wt+64|0]|an[Wt+65|0]<<8|an[Wt+66|0]<<16|an[Wt+67|0]<<24)^-1377402159,ul^(an[Wt+68|0]|an[Wt+69|0]<<8|an[Wt+70|0]<<16|an[Wt+71|0]<<24)^1359893119,32),ul=on=bn,on=on+1779033703|0,Dn=zn,Fn=on=(zn=zn-205731576|0)>>>0<4089235720?on+1|0:on,pn=_A(Gn^(Yn=zn),on^pn,40),on=(kn=bn)+un|0,Gn=_A(Dn^(un=zn=pn+Al|0),ul^(Vn=pn>>>0>un>>>0?on+1|0:on),48),on=_A(Gn^Kn,(qn=bn)^rl,32),_n=zn=bn,Ln=on,nn=on=an[Pt+60|0]|an[Pt+61|0]<<8|an[Pt+62|0]<<16|an[Pt+63|0]<<24,ul=Al=an[Pt+56|0]|an[Pt+57|0]<<8|an[Pt+58|0]<<16|an[Pt+59|0]<<24,wn=an[Wt+24|0]|an[Wt+25|0]<<8|an[Wt+26|0]<<16|an[Wt+27|0]<<24,zn=(rl=an[Pt+48|0]|an[Pt+49|0]<<8|an[Pt+50|0]<<16|an[Pt+51|0]<<24)+(Dn=an[Wt+56|0]|an[Wt+57|0]<<8|an[Wt+58|0]<<16|an[Wt+59|0]<<24)|0,on=(Yl=an[Pt+52|0]|an[Pt+53|0]<<8|an[Pt+54|0]<<16|an[Pt+55|0]<<24)+(Xn=an[Wt+60|0]|an[Wt+61|0]<<8|an[Wt+62|0]<<16|an[Wt+63|0]<<24)|0,on=(an[Wt+28|0]|an[Wt+29|0]<<8|an[Wt+30|0]<<16|an[Wt+31|0]<<24)+(zn>>>0>>0?on+1|0:on)|0,on=nn+(Kn=(Rn=zn)>>>0>(zn=wn+zn|0)>>>0?on+1|0:on)|0,on=(wn=zn+ul|0)>>>0>>0?on+1|0:on,Kn=_A(zn^(an[Wt+88|0]|an[Wt+89|0]<<8|an[Wt+90|0]<<16|an[Wt+91|0]<<24)^327033209,Kn^(an[Wt+92|0]|an[Wt+93|0]<<8|an[Wt+94|0]<<16|an[Wt+95|0]<<24)^1541459225,32),Dn=_A(Dn^(ul=Kn+1595750129|0),(Rn=Xn)^(Xn=(Qn=zn=bn)-((Kn>>>0<2699217167)+1521486533|0)|0),40),on=(tl=bn)+on|0,zn=_A((wn=zn=Dn+wn|0)^Kn,Qn^(Rn=wn>>>0>>0?on+1|0:on),48),on=Xn+($n=bn)|0,fn=on=(zn=ul+(Xn=zn)|0)>>>0
    >>0?on+1|0:on,on=_n+on|0,jn=Nn^(Kn=Ln+(Qn=zn)|0),Nn=on=Kn>>>0>>0?on+1|0:on,ul=_A(jn,on^Nl,40),on=(Nl=bn)+hn|0,zn=_A(Jn=Ln^(hn=zn=ul+Jn|0),_n^(Ln=hn>>>0
      >>0?on+1|0:on),48),on=Nn+(ll=bn)|0,_n=on=(Nn=Kn+(Jn=zn)|0)>>>0>>0?on+1|0:on,zn=(xn=_A(Nn^ul,Nl^on,1))+(Kn=an[Pt+72|0]|an[Pt+73|0]<<8|an[Pt+74|0]<<16|an[Pt+75|0]<<24)|0,on=(hl=bn)+(Nl=an[Pt+76|0]|an[Pt+77|0]<<8|an[Pt+78|0]<<16|an[Pt+79|0]<<24)|0,gl=zn,Mn=zn>>>0>>0?on+1|0:on,Pn=Gl,zn=an[Pt+96|0]|an[Pt+97|0]<<8|an[Pt+98|0]<<16|an[Pt+99|0]<<24,ul=on=an[Pt+100|0]|an[Pt+101|0]<<8|an[Pt+102|0]<<16|an[Pt+103|0]<<24,Dn=(on=Zn)+(Zn=_A(Qn^Dn,fn^tl,1))|0,on=(Qn=bn)+An|0,on=(Zn>>>0>Dn>>>0?on+1|0:on)+ul|0,on=(An=(An=Dn)>>>0>(Dn=zn+Dn|0)>>>0?on+1|0:on)+Pn|0,jn=fn=Dn+nl|0,fn=on=fn>>>0>>0?on+1|0:on,vn=_A(cn^vn,Hn^Cn,48),Hn=on=_A(vn^Dn,(Cn=bn)^An,32),on=Fn+qn|0,on=(tl=Dn=bn)+(Yn=(Dn=Gn+Yn|0)>>>0>>0?on+1|0:on)|0,Fn=on=(An=Dn)>>>0>(Gn=An+Hn|0)>>>0?on+1|0:on,Zn=_A(Gn^Zn,Qn^on,40),on=(qn=bn)+fn|0,on=(Qn=Zn>>>0>(fn=Dn=Zn+jn|0)>>>0?on+1|0:on)+Mn|0,on=(cn=fn>>>0>(Dn=fn+gl|0)>>>0?on+1|0:on)+Wl|0,gl=Mn=Dn+ol|0,Mn=on=Mn>>>0>>0?on+1|0:on,jn=Dn,Pn=cn,Dn=an[Pt+116|0]|an[Pt+117|0]<<8|an[Pt+118|0]<<16|an[Pt+119|0]<<24,Pt=an[Pt+112|0]|an[Pt+113|0]<<8|an[Pt+114|0]<<16|an[Pt+115|0]<<24,pn=_A(pn^An,Yn^kn,1),on=(kn=bn)+Rn|0,on=((cn=pn+wn|0)>>>0>>0?on+1|0:on)+Dn|0,on=(An=(Yn=cn)>>>0>(cn=Pt+cn|0)>>>0?on+1|0:on)+Wl|0,Rl=Yn=cn+ol|0,Yn=on=Yn>>>0>>0?on+1|0:on,on=_A(cn^Wn,An^On,32),el=cn=bn,Wn=on,An=cn,on=Cn+Bn|0,vn=cn=dn+vn|0,wn=on=cn>>>0>>0?on+1|0:on,on=on+An|0,Rn=cn=cn+Wn|0,On=on=vn>>>0>cn>>>0?on+1|0:on,An=_A(cn^pn,kn^on,40),on=(kn=bn)+Yn|0,Wn=_A((cn=An+Rl|0)^Wn,el^(dn=cn>>>0>>0?on+1|0:on),48),on=_A(Wn^jn,(Rl=bn)^Pn,32),el=pn=bn,Yn=on,jn=pn,mn=_A(mn^vn,wn^Tn,1),on=Vn+(vn=bn)|0,on=((pn=un)>>>0>(un=un+mn|0)>>>0?on+1|0:on)+al|0,on=(un=(pn=un+Sn|0)>>>0>>0?on+1|0:on)+Nl|0,Pn=Vn=pn+Kn|0,Vn=on=Vn>>>0>>0?on+1|0:on,wn=mn,pn=_A(pn^Xn,un^$n,32),on=(Xn=bn)+yn|0,gn=_A(wn^(un=mn=pn+gn|0),(yn=pn>>>0>un>>>0?on+1|0:on)^vn,40),on=($n=bn)+Vn|0,vn=mn=gn+Pn|0,mn=_A(pn^mn,Xn^(Vn=mn>>>0>>0?on+1|0:on),48),on=yn+(sn=bn)|0,yn=mn,Xn=on=(mn=un+mn|0)>>>0>>0?on+1|0:on,on=on+jn|0,on=(wn=mn)>>>0>(mn=mn+Yn|0)>>>0?on+1|0:on,jn=mn,mn^=xn,xn=on,pn=_A(mn,hl^on,40),on=(hl=bn)+Mn|0,Mn=mn=pn+gl|0,on=In+(Pn=pn>>>0>mn>>>0?on+1|0:on)|0,gl=mn=mn+en|0,Cn=on=mn>>>0>>0?on+1|0:on,mn=cn,Bn=nl,Tn=Gl,cn=_A(Hn^fn,Qn^tl,48),on=Fn+(tl=bn)|0,Hn=cn,Fn=on=(un=Gn+cn|0)>>>0>>0?on+1|0:on,cn=_A(un^Zn,qn^on,1),on=(Gn=bn)+Tn|0,on=((Zn=cn+Bn|0)>>>0>>0?on+1|0:on)+dn|0,on=Yl+(mn=(dn=mn+Zn|0)>>>0>>0?on+1|0:on)|0,fn=Zn=dn+rl|0,Zn=on=Zn>>>0>>0?on+1|0:on,dn=_A(dn^yn,mn^sn,32),on=_n+(Qn=bn)|0,yn=dn,Nn=on=(dn=Nn+dn|0)>>>0>>0?on+1|0:on,mn=_A(cn^dn,on^Gn,40),on=(on=Zn)+(Zn=bn)|0,Gn=cn=mn+fn|0,cn=_A(cn^yn,Qn^(fn=cn>>>0>>0?on+1|0:on),48),on=Nn+(qn=bn)|0,Qn=cn,_n=on=(Nn=dn+cn|0)>>>0>>0?on+1|0:on,cn=_A(mn^Nn,Zn^on,1),on=(Zn=bn)+Cn|0,on=nn+(mn=(dn=cn+gl|0)>>>0>>0?on+1|0:on)|0,gl=yn=dn+Al|0,yn=on=yn>>>0>>0?on+1|0:on,Cn=cn,Bn=Zn,on=On+Rl|0,on=(cn=Wn+Rn|0)>>>0>>0?on+1|0:on,Wn=cn,Rn=on,on=_A(cn^An,kn^on,1),An=Zn=bn,cn=on,on=Vn+Dn|0,on=((vn=Pt+vn|0)>>>0>>0?on+1|0:on)+Zn|0,on=Zl+(vn=(Zn=cn+vn|0)>>>0>>0?on+1|0:on)|0,On=Vn=Zn+sl|0,Vn=on=Vn>>>0>>0?on+1|0:on,Zn=_A(Zn^Jn,vn^ll,32),on=Fn+(Jn=bn)|0,vn=Zn,Fn=on=(Fn=un)>>>0>(un=un+Zn|0)>>>0?on+1|0:on,Zn=_A(cn^un,on^An,40),on=(kn=bn)+Vn|0,An=cn=Zn+On|0,cn=_A(Vn=cn^vn,Jn^(vn=cn>>>0>>0?on+1|0:on),48),on=Fn+(ll=bn)|0,Fn=cn,Vn=cn=un+cn|0,Jn=on=cn>>>0>>0?on+1|0:on,On=dn,Tn=mn,cn=_A(gn^wn,Xn^$n,1),on=(un=bn)+En|0,on=Ln+((dn=cn+dl|0)>>>0>>0?on+1|0:on)|0,on=al+(mn=(dn=dn+hn|0)>>>0>>0?on+1|0:on)|0,Ln=hn=dn+Sn|0,hn=on=hn>>>0>>0?on+1|0:on,gn=cn,cn=(dn=_A(dn^Hn,mn^tl,32))+Wn|0,on=(Wn=bn)+Rn|0,mn=cn,un=_A(cn^gn,(Hn=cn>>>0>>0?on+1|0:on)^un,40),on=(tl=bn)+hn|0,hn=cn=un+Ln|0,wn=_A(cn^dn,Wn^(Ln=cn>>>0>>0?on+1|0:on),48),dn=_A(wn^On,(on=Tn)^(Tn=bn),32),on=(On=bn)+Jn|0,Wn=cn=dn+Vn|0,gn=_A(cn^Cn,(Rn=cn>>>0>>0?on+1|0:on)^Bn,40),on=(Cn=bn)+yn|0,yn=cn=gn+gl|0,cn=_A(cn^dn,On^(Xn=cn>>>0>>0?on+1|0:on),48),on=Rn+($n=bn)|0,Rn=cn,On=on=(dn=Wn)>>>0>(Wn=Wn+cn|0)>>>0?on+1|0:on,cn=_A(Wn^gn,Cn^on,1),on=Wl+(gl=bn)|0,Cn=cn,Rl=cn=ol+cn|0,gn=on=cn>>>0
        >>0?on+1|0:on,dn=pl,cn=_A(Zn^Vn,kn^Jn,1),on=fn+(Zn=bn)|0,on=((Vn=Gn)>>>0>(Gn=cn+Gn|0)>>>0?on+1|0:on)+bl|0,on=(Vn=(dn=dn+Gn|0)>>>0>>0?on+1|0:on)+yl|0,Bn=Gn=dn+ml|0,fn=on=Gn>>>0>>0?on+1|0:on,Jn=cn,Gn=_A(Yn^Mn,Pn^el,48),on=_A(Gn^dn,(kn=bn)^Vn,32),el=cn=bn,Yn=on,dn=cn,on=Hn+Tn|0,on=(cn=mn+wn|0)>>>0>>0?on+1|0:on,mn=cn,Hn=on,on=on+dn|0,Vn=cn=cn+Yn|0,wn=on=mn>>>0>cn>>>0?on+1|0:on,dn=_A(cn^Jn,on^Zn,40),on=(on=fn)+(fn=bn)|0,Jn=cn=dn+Bn|0,Mn=on=cn>>>0>>0?on+1|0:on,on=on+gn|0,Pn=on=(Zn=cn+Rl|0)>>>0>>0?on+1|0:on,gn=on,cn=_A(un^mn,Hn^tl,1),on=Un+(un=bn)|0,on=vn+((mn=cn+cl|0)>>>0>>0?on+1|0:on)|0,on=ul+(An=(mn=mn+An|0)>>>0>>0?on+1|0:on)|0,Bn=vn=mn+zn|0,vn=on=vn>>>0>>0?on+1|0:on,Hn=cn,on=_A(mn^Qn,An^qn,32),Tn=cn=bn,mn=on,An=cn,on=kn+xn|0,Qn=cn=Gn+jn|0,xn=on=cn>>>0>>0?on+1|0:on,on=on+An|0,on=(Gn=cn+mn|0)>>>0>>0?on+1|0:on,cn=Gn^Hn,Hn=on,An=_A(cn,on^un,40),on=(qn=bn)+vn|0,un=cn=An+Bn|0,jn=_A(cn^mn,Tn^(vn=cn>>>0>>0?on+1|0:on),48),on=_A(jn^Zn,(tl=bn)^gn,32),Rl=cn=bn,Bn=on,gn=cn,cn=_A(pn^Qn,xn^hl,1),on=Ln+(pn=bn)|0,on=vl+((mn=cn+hn|0)>>>0>>0?on+1|0:on)|0,on=(hn=(mn=mn+Il|0)>>>0>>0?on+1|0:on)+Vl|0,Qn=Ln=mn+il|0,Ln=on=Ln>>>0>>0?on+1|0:on,mn=_A(mn^Fn,hn^ll,32),on=_n+(xn=bn)|0,Fn=mn,hn=pn,pn=on=(mn=Nn+mn|0)>>>0>>0?on+1|0:on,hn=_A(cn^mn,hn^on,40),on=(ll=bn)+Ln|0,Nn=cn=hn+Qn|0,cn=_A(Qn=cn^Fn,xn^(Fn=cn>>>0>>0?on+1|0:on),48),on=pn+(kn=bn)|0,pn=cn,Ln=cn=mn+cn|0,Qn=on=cn>>>0>>0?on+1|0:on,on=on+gn|0,_n=on=(gn=cn+Bn|0)>>>0>>0?on+1|0:on,mn=_A(gn^Cn,gl^on,40),on=Pn+(xn=bn)|0,on=((cn=mn+Zn|0)>>>0>>0?on+1|0:on)+Gl|0,Zn=cn,Pn=cn=cn+nl|0,Cn=on=Zn>>>0>cn>>>0?on+1|0:on,Tn=al,Zn=_A(Yn^Jn,Mn^el,48),on=(hl=bn)+wn|0,Yn=cn=Zn+Vn|0,on=_A(cn^dn,(Vn=cn>>>0>>0?on+1|0:on)^fn,1),fn=dn=bn,cn=on,on=vn+In|0,on=((un=un+en|0)>>>0>>0?on+1|0:on)+dn|0,on=(un=(dn=cn+un|0)>>>0>>0?on+1|0:on)+Tn|0,wn=vn=dn+Sn|0,vn=on=vn>>>0>>0?on+1|0:on,dn=_A(dn^pn,un^kn,32),on=On+(Jn=bn)|0,Wn=on=(pn=dn+Wn|0)>>>0>>0?on+1|0:on,un=_A(cn^pn,on^fn,40),on=(Mn=bn)+vn|0,vn=cn=un+wn|0,dn=_A(cn^dn,Jn^(fn=cn>>>0>>0?on+1|0:on),48),on=Wn+(wn=bn)|0,Jn=on=(Wn=dn+pn|0)>>>0>>0?on+1|0:on,cn=_A(un^Wn,Mn^on,1),on=(Mn=bn)+Cn|0,on=Nl+((pn=cn+Pn|0)>>>0>>0?on+1|0:on)|0,on=(un=(pn=pn+Kn|0)>>>0>>0?on+1|0:on)+En|0,gl=En=pn+dl|0,En=on=En>>>0>>0?on+1|0:on,On=cn,Tn=pn,kn=un,pn=pl,cn=_A(hn^Ln,Qn^ll,1),on=Xn+(hn=bn)|0,on=((un=yn)>>>0>(yn=cn+yn|0)>>>0?on+1|0:on)+bl|0,on=Vl+(un=(pn=pn+yn|0)>>>0>>0?on+1|0:on)|0,Xn=yn=pn+il|0,Ln=on=yn>>>0>>0?on+1|0:on,yn=cn,un=on=_A(pn^Zn,un^hl,32),on=Hn+tl|0,on=(Qn=cn=bn)+(Gn=(cn=Gn+jn|0)>>>0>>0?on+1|0:on)|0,Hn=on=(Zn=cn+un|0)>>>0>>0?on+1|0:on,yn=_A(Zn^yn,on^hn,40),on=(tl=bn)+Ln|0,Ln=_A(Xn=(pn=yn+Xn|0)^un,Qn^(un=pn>>>0>>0?on+1|0:on),48),on=_A(Ln^Tn,(ll=bn)^kn,32),hl=hn=bn,Xn=on,Qn=hn,cn=_A(cn^An,Gn^qn,1),on=ul+(hn=bn)|0,on=Fn+((Gn=cn+zn|0)>>>0>>0?on+1|0:on)|0,on=vl+(Nn=(Gn=Gn+Nn|0)>>>0>>0?on+1|0:on)|0,Tn=An=Gn+Il|0,An=on=An>>>0>>0?on+1|0:on,Fn=cn,jn=hn,Gn=_A(Gn^Rn,Nn^$n,32),on=(Rn=bn)+Vn|0,hn=cn=Gn+Yn|0,Nn=_A(cn^Fn,(Yn=cn>>>0>>0?on+1|0:on)^jn,40),on=(qn=bn)+An|0,Fn=cn=Nn+Tn|0,cn=_A(cn^Gn,Rn^(Vn=cn>>>0>>0?on+1|0:on),48),on=Yn+(Tn=bn)|0,An=cn,Yn=cn=hn+cn|0,Rn=on=cn>>>0>>0?on+1|0:on,on=on+Qn|0,Qn=cn=cn+Xn|0,Gn=Mn,Mn=on=Yn>>>0>cn>>>0?on+1|0:on,Gn=_A(cn^On,Gn^on,40),on=(on=En)+(En=bn)|0,jn=cn=Gn+gl|0,On=on=cn>>>0>>0?on+1|0:on,hn=un,cn=_A(Bn^Pn,Cn^Rl,48),on=_n+($n=bn)|0,_n=cn,un=(cn=gn+cn|0)^mn,mn=on=cn>>>0>>0?on+1|0:on,un=_A(un,on^xn,1),on=(xn=bn)+hn|0,on=nn+((pn=un+pn|0)>>>0>>0?on+1|0:on)|0,on=(hn=(pn=pn+Al|0)>>>0>>0?on+1|0:on)+Un|0,Pn=gn=pn+cl|0,gn=on=gn>>>0>>0?on+1|0:on,pn=_A(pn^An,hn^Tn,32),on=Jn+(Cn=bn)|0,Jn=pn,Wn=on=(hn=Wn+pn|0)>>>0>>0?on+1|0:on,un=_A(un^hn,xn^on,40),on=(on=gn)+(gn=bn)|0,An=pn=un+Pn|0,pn=_A(Bn=pn^Jn,Cn^(Jn=pn>>>0>>0?on+1|0:on),48),on=Wn+(gl=bn)|0,xn=pn,Pn=on=(Wn=hn+pn|0)>>>0>>0?on+1|0:on,pn=_A(un^Wn,gn^on,1),on=(gn=bn)+On|0,on=In+((un=pn+jn|0)>>>0>>0?on+1|0:on)|0,on=Dn+(hn=(un=un+en|0)>>>0>>0?on+1|0:on)|0,Rl=Cn=Pt+un|0,Cn=on=Cn>>>0>>0?on+1|0:on,Bn=pn,Tn=gn,gn=un,kn=hn,pn=_A(Nn^Yn,Rn^qn,1),on=(hn=bn)+fn|0,on=Zl+((un=pn+vn|0)>>>0>>0?on+1|0:on)|0,on=(Nn=(un=un+sl|0)>>>0>>0?on+1|0:on)+Dn|0,fn=vn=Pt+un|0,vn=on=vn>>>0>>0?on+1|0:on,Yn=pn,un=on=_A(un^_n,Nn^$n,32),Nn=pn=bn,on=Hn+ll|0,Hn=on=(pn=Zn+Ln|0)>>>0>>0?on+1|0:on,on=on+Nn|0,on=(Zn=pn)>>>0>(pn=pn+un|0)>>>0?on+1|0:on,Ln=pn,pn^=Yn,Yn=on,hn=_A(pn,on^hn,40),on=(qn=bn)+vn|0,Nn=_A(vn=(pn=hn+fn|0)^un,Nn^(un=pn>>>0>>0?on+1|0:on),48),on=_A(Nn^gn,(on=kn)^(kn=bn),32),$n=gn=bn,vn=on,fn=mn,mn=dn,on=_A(Zn^yn,Hn^tl,1),Rn=dn=bn,Zn=on,on=Vn+yl|0,on=((yn=Fn+ml|0)>>>0>>0?on+1|0:on)+dn|0,yn=on=(dn=Zn+yn|0)>>>0>>0?on+1|0:on,mn=_A(dn^mn,on^wn,32),on=(on=fn)+(fn=bn)|0,Zn=_A((cn=mn+cn|0)^Zn,Rn^(Hn=cn>>>0>>0?on+1|0:on),40),on=yn+(tl=bn)|0,Fn=Zn,on=Yl+((Vn=dn)>>>0>(dn=dn+Zn|0)>>>0?on+1|0:on)|0,Vn=on=(Zn=dn+rl|0)>>>0>>0?on+1|0:on,dn=_A(mn^Zn,fn^on,48),on=Hn+(ll=bn)|0,wn=cn,mn=dn,Hn=cn=cn+dn|0,fn=on=wn>>>0>cn>>>0?on+1|0:on,on=on+gn|0,wn=on=(gn=cn+vn|0)>>>0>>0?on+1|0:on,cn=(yn=_A(gn^Bn,on^Tn,40))+Rl|0,on=(Rl=bn)+Cn|0,Rn=cn,_n=cn>>>0>>0?on+1|0:on,cn=_A(Xn^jn,On^hl,48),on=(Xn=bn)+Mn|0,Qn=dn=cn+Qn|0,Bn=En,En=on=dn>>>0>>0?on+1|0:on,on=_A(dn^Gn,Bn^on,1),jn=dn=bn,Gn=on,on=un+nn|0,on=((pn=pn+Al|0)>>>0>>0?on+1|0:on)+dn|0,on=Nl+(pn=(dn=pn+Gn|0)>>>0>>0?on+1|0:on)|0,On=un=dn+Kn|0,un=on=un>>>0>>0?on+1|0:on,dn=_A(dn^mn,pn^ll,32),on=Pn+(Cn=bn)|0,Mn=dn,dn=(mn=Wn+dn|0)^Gn,Gn=on=mn>>>0>>0?on+1|0:on,pn=_A(dn,jn^on,40),on=(on=un)+(un=bn)|0,jn=dn=pn+On|0,dn=_A(Wn=dn^Mn,Cn^(Mn=dn>>>0>>0?on+1|0:on),48),on=Gn+(ll=bn)|0,Pn=dn,mn=on=(dn=mn+dn|0)>>>0>>0?on+1|0:on,pn=_A(dn^pn,un^on,1),on=(Wn=bn)+_n|0,on=Wl+((un=pn+Rn|0)>>>0>>0?on+1|0:on)|0,on=(Gn=(un=un+ol|0)>>>0
          >>0?on+1|0:on)+al|0,el=On=un+Sn|0,On=on=On>>>0>>0?on+1|0:on,Cn=pn,Bn=un,Tn=Gn,pn=_A(Fn^Hn,fn^tl,1),on=(fn=bn)+Gl|0,on=Jn+(pn>>>0>(un=pn+nl|0)>>>0?on+1|0:on)|0,Gn=on=(un=un+An|0)>>>0>>0?on+1|0:on,on=_A(cn^un,on^Xn,32),Xn=cn=bn,An=on,on=Yn+kn|0,on=(cn=Nn+Ln|0)>>>0>>0?on+1|0:on,Nn=cn,Hn=on,on=Xn+on|0,Yn=cn=cn+An|0,Fn=on=Nn>>>0>cn>>>0?on+1|0:on,cn=_A(cn^pn,fn^on,40),on=Gn+(kn=bn)|0,Ln=cn,on=ul+((cn=un+cn|0)>>>0>>0?on+1|0:on)|0,on=(cn=cn+zn|0)>>>0>>0?on+1|0:on,fn=cn,cn^=An,An=on,Gn=_A(cn,Xn^on,48),on=_A(Gn^Bn,(on=Tn)^(Tn=bn),32),tl=cn=bn,Xn=on,Jn=cn,cn=_A(hn^Nn,Hn^qn,1),on=yl+(un=bn)|0,on=Vn+((pn=cn+ml|0)>>>0>>0?on+1|0:on)|0,on=(hn=(pn=pn+Zn|0)>>>0>>0?on+1|0:on)+Un|0,Vn=Nn=pn+cl|0,Nn=on=Nn>>>0>>0?on+1|0:on,Zn=cn,Hn=un,cn=(pn=_A(pn^xn,hn^gl,32))+Qn|0,on=(Qn=bn)+En|0,un=cn,hn=_A(hn=cn^Zn,(Zn=cn>>>0>>0?on+1|0:on)^Hn,40),on=(qn=bn)+Nn|0,Nn=cn=hn+Vn|0,pn=_A(cn^pn,Qn^(En=cn>>>0>>0?on+1|0:on),48),on=Zn+(Hn=bn)|0,Vn=cn=pn+un|0,Qn=on=cn>>>0>>0?on+1|0:on,on=on+Jn|0,Jn=on=(Zn=cn+Xn|0)>>>0>>0?on+1|0:on,un=_A(Zn^Cn,on^Wn,40),on=(xn=bn)+On|0,On=cn=un+el|0,Cn=on=cn>>>0>>0?on+1|0:on,cn=dn,Wn=mn,mn=pn,dn=_A(vn^Rn,_n^$n,48),on=wn+(el=bn)|0,vn=dn,gn=on=(pn=gn+dn|0)>>>0>>0?on+1|0:on,on=_A(pn^yn,Rl^on,1),wn=dn=bn,yn=on,on=An+El|0,on=((An=fn+dl|0)>>>0
          >>0?on+1|0:on)+dn|0,An=on=(dn=An+yn|0)>>>0>>0?on+1|0:on,mn=_A(dn^mn,on^Hn,32),on=(fn=bn)+Wn|0,yn=_A((cn=mn+cn|0)^yn,wn^(Wn=cn>>>0>>0?on+1|0:on),40),on=An+(Rn=bn)|0,on=vl+((An=dn)>>>0>(dn=dn+yn|0)>>>0?on+1|0:on)|0,Hn=on=(An=dn+Il|0)>>>0>>0?on+1|0:on,dn=_A(mn^An,fn^on,48),on=Wn+($n=bn)|0,fn=dn,wn=on=(Wn=cn+dn|0)>>>0>>0?on+1|0:on,cn=_A(Wn^yn,Rn^on,1),on=(yn=bn)+Cn|0,on=Zl+((dn=cn+On|0)>>>0>>0?on+1|0:on)|0,on=Wl+(mn=(dn=dn+sl|0)>>>0>>0?on+1|0:on)|0,hl=Rn=dn+ol|0,Rn=on=Rn>>>0
            >>0?on+1|0:on,_n=cn,Bn=dn,cn=_A(hn^Vn,Qn^qn,1),on=(hn=bn)+Mn|0,on=Vl+((dn=cn+jn|0)>>>0>>0?on+1|0:on)|0,on=Yl+(Vn=(dn=dn+il|0)>>>0>>0?on+1|0:on)|0,jn=Qn=dn+rl|0,Qn=on=Qn>>>0>>0?on+1|0:on,Mn=cn,on=_A(dn^vn,Vn^el,32),el=cn=bn,dn=on,on=Fn+Tn|0,Yn=cn=Gn+Yn|0,vn=on=cn>>>0>>0?on+1|0:on,on=el+on|0,Fn=on=(Gn=cn+dn|0)>>>0>>0?on+1|0:on,hn=_A(Gn^Mn,on^hn,40),on=(Tn=bn)+Qn|0,Vn=cn=hn+jn|0,Mn=_A(cn^dn,el^(Qn=cn>>>0>>0?on+1|0:on),48),on=_A(Mn^Bn,(el=bn)^mn,32),qn=cn=bn,jn=on,mn=cn,dn=pl,cn=_A(Yn^Ln,vn^kn,1),on=En+(vn=bn)|0,on=((Yn=Nn)>>>0>(Nn=cn+Nn|0)>>>0?on+1|0:on)+bl|0,on=Zl+(Nn=(dn=dn+Nn|0)>>>0>>0?on+1|0:on)|0,Yn=En=dn+sl|0,En=on=En>>>0>>0?on+1|0:on,dn=_A(dn^Pn,Nn^ll,32),on=gn+(Ln=bn)|0,gn=dn,on=(dn=pn+dn|0)>>>0>>0?on+1|0:on,pn=vn,vn=on,pn=_A(cn^dn,pn^on,40),on=(kn=bn)+En|0,Nn=cn=pn+Yn|0,cn=_A(cn^gn,Ln^(En=cn>>>0>>0?on+1|0:on),48),on=vn+(Bn=bn)|0,vn=cn,Yn=cn=dn+cn|0,Ln=on=cn>>>0>>0?on+1|0:on,on=on+mn|0,on=(gn=cn+jn|0)>>>0>>0?on+1|0:on,cn=gn^_n,_n=on,yn=_A(cn,on^yn,40),on=(ll=bn)+Rn|0,Rn=cn=yn+hl|0,Pn=cn>>>0>>0?on+1|0:on,cn=_A(Xn^On,Cn^tl,48),on=Jn+(tl=bn)|0,Xn=cn,on=(cn=Zn+cn|0)>>>0>>0?on+1|0:on,Zn=cn,Jn=on,on=_A(cn^un,on^xn,1),xn=cn=bn,mn=on,on=Qn+Nl|0,on=((dn=Vn+Kn|0)>>>0>>0?on+1|0:on)+cn|0,on=vl+(dn=(cn=dn+mn|0)>>>0>>0?on+1|0:on)|0,Vn=un=cn+Il|0,un=on=un>>>0>>0?on+1|0:on,cn=_A(cn^vn,dn^Bn,32),on=wn+(Qn=bn)|0,vn=cn,Wn=on=(dn=Wn+cn|0)>>>0>>0?on+1|0:on,mn=_A(dn^mn,xn^on,40),on=(xn=bn)+un|0,Vn=cn=mn+Vn|0,cn=_A(un=cn^vn,Qn^(vn=cn>>>0>>0?on+1|0:on),48),on=Wn+(hl=bn)|0,Wn=cn,wn=on=(un=dn+cn|0)>>>0>>0?on+1|0:on,cn=_A(un^mn,xn^on,1),on=(Qn=bn)+Pn|0,on=yl+((dn=cn+Rn|0)>>>0>>0?on+1|0:on)|0,on=(mn=(dn=dn+ml|0)>>>0>>0?on+1|0:on)+Gl|0,gl=xn=dn+nl|0,xn=on=xn>>>0>>0?on+1|0:on,On=cn,Cn=dn,Bn=mn,cn=_A(pn^Yn,kn^Ln,1),on=Vl+(mn=bn)|0,on=Hn+((dn=cn+il|0)>>>0>>0?on+1|0:on)|0,on=El+(pn=(dn=dn+An|0)>>>0>>0?on+1|0:on)|0,Ln=An=dn+dl|0,An=on=An>>>0
            >>0?on+1|0:on,Hn=cn,Yn=mn,on=_A(dn^Xn,pn^tl,32),Xn=cn=bn,pn=on,dn=cn,on=Fn+el|0,on=(cn=Gn+Mn|0)>>>0>>0?on+1|0:on,Gn=cn,Fn=on,on=on+dn|0,on=(mn=cn+pn|0)>>>0>>0?on+1|0:on,cn=mn^Hn,Hn=on,cn=_A(cn,on^Yn,40),on=(on=An)+(An=bn)|0,Yn=dn=cn+Ln|0,Ln=on=dn>>>0>>0?on+1|0:on,Xn=_A(dn^pn,Xn^on,48),on=_A(Xn^Cn,(on=Bn)^(Bn=bn),32),kn=dn=bn,Mn=on,dn=_A(Gn^hn,Fn^Tn,1),on=(Gn=bn)+bl|0,on=En+((pn=dn+pl|0)>>>0>>0?on+1|0:on)|0,on=nn+(hn=(pn=pn+Nn|0)>>>0>>0?on+1|0:on)|0,Tn=Nn=pn+Al|0,Nn=on=Nn>>>0>>0?on+1|0:on,En=dn,Fn=Gn,pn=_A(pn^fn,hn^$n,32),on=(fn=bn)+Jn|0,Gn=dn=pn+Zn|0,dn=(hn=_A(dn^En,(Zn=dn>>>0>>0?on+1|0:on)^Fn,40))+Tn|0,on=(Tn=bn)+Nn|0,En=dn,dn=_A(dn^pn,fn^(Fn=dn>>>0>>0?on+1|0:on),48),on=Zn+(el=bn)|0,fn=dn,Jn=dn=Gn+dn|0,Cn=on=dn>>>0>>0?on+1|0:on,on=kn+on|0,on=(pn=dn+Mn|0)>>>0>>0?on+1|0:on,dn=Qn,Qn=on,Gn=_A(pn^On,dn^on,40),on=(tl=bn)+xn|0,Nn=dn=Gn+gl|0,on=_A(dn^Mn,kn^(xn=dn>>>0>>0?on+1|0:on),48),kn=dn=bn,Mn=on,dn=cn,on=Hn+Bn|0,Hn=cn=mn+Xn|0,Xn=on=cn>>>0>>0?on+1|0:on,on=_A(cn^dn,on^An,1),mn=dn=bn,cn=on,on=Fn+In|0,on=((Zn=En+en|0)>>>0>>0?on+1|0:on)+dn|0,on=ul+(Zn=(dn=cn+Zn|0)>>>0>>0?on+1|0:on)|0,Bn=An=dn+zn|0,An=on=An>>>0>>0?on+1|0:on,En=cn,Fn=mn,cn=_A(Rn^jn,Pn^qn,48),on=_n+(qn=bn)|0,Rn=cn,on=(cn=gn+cn|0)>>>0>>0?on+1|0:on,gn=cn,dn=_A(dn^Wn,Zn^hl,32),_n=on,on=on+(jn=bn)|0,mn=cn=dn+cn|0,Zn=_A(cn^En,(Wn=cn>>>0>>0?on+1|0:on)^Fn,40),on=(Pn=bn)+An|0,An=cn=Zn+Bn|0,cn=_A(cn^dn,jn^(En=cn>>>0>>0?on+1|0:on),48),on=Wn+($n=bn)|0,Fn=cn,jn=on=(Wn=mn+cn|0)>>>0>>0?on+1|0:on,cn=_A(Zn^Wn,Pn^on,1),on=vl+(Bn=bn)|0,Pn=cn,hl=cn=Il+cn|0,mn=on=cn>>>0>>0?on+1|0:on,cn=_A(yn^gn,_n^ll,1),on=(Zn=bn)+Ln|0,on=Yl+((dn=cn+Yn|0)>>>0>>0?on+1|0:on)|0,on=al+(gn=(dn=dn+rl|0)>>>0>>0?on+1|0:on)|0,_n=yn=dn+Sn|0,yn=on=yn>>>0>>0?on+1|0:on,Yn=Zn,dn=_A(dn^fn,gn^el,32),on=wn+(el=bn)|0,Ln=dn,on=(Zn=un+dn|0)>>>0>>0?on+1|0:on,un=Yn,Yn=on,gn=_A(cn^Zn,un^on,40),on=(ll=bn)+yn|0,fn=cn=gn+_n|0,on=(wn=cn>>>0>>0?on+1|0:on)+mn|0,yn=on=(mn=cn+hl|0)>>>0>>0?on+1|0:on,_n=on=_A(mn^Mn,on^kn,32),On=cn=bn,cn=_A(hn^Jn,Cn^Tn,1),on=(un=bn)+vn|0,on=Dn+((dn=cn+Vn|0)>>>0>>0?on+1|0:on)|0,on=(hn=(dn=Pt+dn|0)>>>0>>0?on+1|0:on)+Un|0,Cn=vn=dn+cl|0,vn=on=vn>>>0>>0?on+1|0:on,Vn=cn,Jn=un,dn=_A(dn^Rn,hn^qn,32),on=(Rn=bn)+Xn|0,un=cn=dn+Hn|0,cn=(hn=_A(cn^Vn,(Hn=cn>>>0>>0?on+1|0:on)^Jn,40))+Cn|0,on=(Cn=bn)+vn|0,vn=cn,cn=_A(cn^dn,Rn^(Vn=cn>>>0>>0?on+1|0:on),48),on=Hn+(qn=bn)|0,Hn=cn,Rn=on=(cn=un+cn|0)>>>0>>0?on+1|0:on,on=on+On|0,Xn=on=(un=cn)>>>0>(cn=cn+_n|0)>>>0?on+1|0:on,dn=_A(cn^Pn,Bn^on,40),on=yn+(Bn=bn)|0,Jn=dn,on=In+((dn=mn+dn|0)>>>0>>0?on+1|0:on)|0,Pn=dn=dn+en|0,mn=dn^_n,_n=on=dn>>>0>>0?on+1|0:on,dn=_A(mn,On^on,48),on=Xn+(On=bn)|0,Xn=on=(yn=cn+dn|0)>>>0>>0?on+1|0:on,cn=on=_A(yn^Jn,Bn^on,1),Jn=mn=bn,mn=_A(un^hn,Rn^Cn,1),on=En+(hn=bn)|0,on=Yl+((un=mn+An|0)>>>0>>0?on+1|0:on)|0,on=Zl+(An=(un=un+rl|0)>>>0>>0?on+1|0:on)|0,Bn=En=un+sl|0,En=on=En>>>0>>0?on+1|0:on,Rn=mn,Cn=hn,on=Qn+kn|0,on=(mn=pn+Mn|0)>>>0>>0?on+1|0:on,Qn=mn,Ln=_A(fn^Ln,wn^el,48),hn=_A(un^Ln,An^(el=bn),32),fn=on,on=on+(hl=bn)|0,An=mn=hn+mn|0,mn=_A(mn^Rn,(wn=mn>>>0>>0?on+1|0:on)^Cn,40),on=(Rn=bn)+En|0,Cn=on=(pn=mn+Bn|0)>>>0>>0?on+1|0:on,on=on+Jn|0,on=nn+((Mn=pn)>>>0>(pn=cn+pn|0)>>>0?on+1|0:on)|0,on=(un=(pn=pn+Al|0)>>>0>>0?on+1|0:on)+bl|0,gl=En=pn+pl|0,Bn=on=En>>>0>>0?on+1|0:on,Tn=cn,kn=pn,on=_A(Gn^Qn,fn^tl,1),Gn=pn=bn,cn=on,on=Vn+Vl|0,on=((En=vn+il|0)>>>0>>0?on+1|0:on)+pn|0,on=ul+(En=(pn=cn+En|0)>>>0>>0?on+1|0:on)|0,fn=vn=pn+zn|0,vn=on=vn>>>0>>0?on+1|0:on,Vn=cn,on=_A(pn^Fn,En^$n,32),Qn=cn=bn,pn=on,En=cn,on=Yn+el|0,Yn=cn=Zn+Ln|0,Fn=on=cn>>>0>>0?on+1|0:on,on=on+En|0,on=(Zn=cn+pn|0)>>>0>>0?on+1|0:on,cn=Zn^Vn;Vn=on,En=_A(cn,on^Gn,40),on=(el=bn)+vn|0,Ln=_A(vn=(cn=En+fn|0)^pn,Qn^(pn=cn>>>0>>0?on+1|0:on),48),on=_A(on=Ln^kn,(kn=bn)^un,32),tl=un=bn,fn=on,vn=un,un=_A(gn^Yn,Fn^ll,1),on=al+(gn=bn)|0,on=xn+((Gn=un+Sn|0)>>>0>>0?on+1|0:on)|0,on=yl+(Nn=(Gn=Gn+Nn|0)>>>0>>0?on+1|0:on)|0,Fn=Yn=Gn+ml|0,Yn=on=Yn>>>0>>0?on+1|0:on,Gn=_A(Gn^Hn,Nn^qn,32),on=jn+(Qn=bn)|0,Hn=Gn,Wn=on=(Gn=Wn+Gn|0)>>>0>>0?on+1|0:on,Nn=_A(un^Gn,on^gn,40),on=(qn=bn)+Yn|0,gn=un=Nn+Fn|0,un=_A(Yn=un^Hn,Qn^(Hn=un>>>0>>0?on+1|0:on),48),on=Wn+($n=bn)|0,Yn=un,Fn=un=Gn+un|0,Qn=on=un>>>0>>0?on+1|0:on,on=on+vn|0,on=(Gn=un+fn|0)>>>0>>0?on+1|0:on,un=Jn,Jn=on,Wn=_A(Gn^Tn,un^on,40),on=(xn=bn)+Bn|0,vn=un=Wn+gl|0,un=_A(Bn=un^fn,tl^(fn=un>>>0>>0?on+1|0:on),48),on=Jn+(tl=bn)|0,Jn=un,Gn=on=(un=Gn+un|0)>>>0>>0?on+1|0:on,xn=on=_A(un^Wn,xn^on,1),ll=on,jn=Wn=bn,Wn=pn,pn=mn,mn=_A(hn^Mn,Cn^hl,48),on=wn+(hl=bn)|0,wn=mn,on=(mn=An+mn|0)>>>0>>0?on+1|0:on,An=cn,cn=pn^mn,pn=on,cn=_A(cn,on^Rn,1),on=(Rn=bn)+Wn|0,on=El+(cn>>>0>(hn=An+cn|0)>>>0?on+1|0:on)|0,on=Gl+(An=(hn=hn+dl|0)>>>0
            >>0?on+1|0:on)|0,Mn=Wn=hn+nl|0,Wn=on=Wn>>>0>>0?on+1|0:on,hn=_A(hn^Yn,An^$n,32),on=Xn+(Cn=bn)|0,Yn=on=(An=hn+yn|0)>>>0>>0?on+1|0:on,yn=_A(cn^An,Rn^on,40),on=($n=bn)+Wn|0,Rn=cn=yn+Mn|0,hn=_A(cn^hn,Cn^(Xn=cn>>>0>>0?on+1|0:on),48),on=Yn+(Mn=bn)|0,Cn=cn=hn+An|0,Yn=cn,Bn=on=cn>>>0>>0?on+1|0:on,An=mn,Wn=pn,on=Vn+kn|0,on=(cn=Zn+Ln|0)>>>0>>0?on+1|0:on,Zn=cn,cn^=En,En=on,on=_A(cn,el^on,1),Tn=cn=bn,Vn=on,pn=on,on=Hn+Un|0,on=((mn=gn+cl|0)>>>0>>0?on+1|0:on)+cn|0,gn=on=(cn=mn)>>>0>(mn=pn+mn|0)>>>0?on+1|0:on,pn=_A(dn^mn,on^On,32),on=(on=Wn)+(Wn=bn)|0,Ln=cn=pn+An|0,dn=_A(dn=cn^Vn,Tn^(Vn=cn>>>0>>0?on+1|0:on),40),on=gn+(On=bn)|0,on=Nl+((cn=dn+mn|0)>>>0>>0?on+1|0:on)|0,Tn=on=(An=cn+Kn|0)>>>0>>0?on+1|0:on,Wn=_A(pn^An,Wn^on,48),gl=on=bn,cn=_A(Nn^Fn,Qn^qn,1),on=(pn=bn)+_n|0,on=Wl+((mn=cn+Pn|0)>>>0>>0?on+1|0:on)|0,on=Dn+(Nn=(mn=mn+ol|0)>>>0
              >>0?on+1|0:on)|0,_n=gn=Pt+mn|0,Fn=on=gn>>>0>>0?on+1|0:on,Qn=cn,gn=_A(mn^wn,Nn^hl,32),on=(qn=bn)+En|0,En=cn=gn+Zn|0,mn=_A(cn^Qn,(wn=cn>>>0>>0?on+1|0:on)^pn,40),on=(on=Fn)+(Fn=bn)|0,Qn=cn=mn+_n|0,_n=on=cn>>>0>>0?on+1|0:on,pn=on,on=Dn+jn|0,on=((Nn=Pt+xn|0)>>>0>>0?on+1|0:on)+pn|0,Hn=on=(pn=cn+Nn|0)>>>0>>0?on+1|0:on,cn=_A(pn^Wn,gl^on,32),on=(xn=bn)+Bn|0,Zn=_A((Nn=cn+Yn|0)^ll,(on=Nn>>>0>>0?on+1|0:on)^jn,40),jn=on,on=Gl+(Yn=bn)|0,on=Hn+((Pn=Zn+nl|0)>>>0>>0?on+1|0:on)|0,on=(Hn=pn+Pn|0)>>>0>>0?on+1|0:on,pn=xn,xn=on,pn=_A(cn^Hn,pn^on,48),on=(on=jn)+(jn=bn)|0,cn=Zn^(Nn=pn+Nn|0),Zn=on=Nn>>>0>>0?on+1|0:on,Pn=on=_A(cn,on^Yn,1),ll=on,kn=cn=bn,Yn=un,el=Gn,un=mn,mn=_A(gn^Qn,_n^qn,48),on=wn+(Qn=bn)|0,gn=cn=mn+En|0,En=on=cn>>>0>>0?on+1|0:on,un=_A(cn^un,on^Fn,1),on=(_n=bn)+El|0,on=Tn+((cn=un+dl|0)>>>0>>0?on+1|0:on)|0,An=on=(Gn=cn+An|0)>>>0>>0?on+1|0:on,cn=_A(Gn^hn,on^Mn,32),on=(Fn=bn)+el|0,Yn=hn=cn+Yn|0,wn=on=hn>>>0>>0?on+1|0:on,un=_A(un^hn,on^_n,40),on=Zl+(hl=bn)|0,_n=un,on=An+((un=sl+un|0)>>>0>>0?on+1|0:on)|0,Gn=on=(un=un+Gn|0)>>>0>>0?on+1|0:on,hn=_A(cn^un,on^Fn,48),on=(on=wn)+(wn=bn)|0,Mn=cn=hn+Yn|0,Fn=cn,Tn=on=cn>>>0>>0?on+1|0:on,on=Vn+gl|0,Yn=(cn=Wn+Ln|0)^dn,dn=on=cn>>>0>>0?on+1|0:on,on=_A(Yn,on^On,1),On=An=bn,Yn=on,on=Xn+ul|0,on=((Wn=Rn+zn|0)>>>0>>0?on+1|0:on)+An|0,Vn=on=(Vn=Wn)>>>0>(Wn=Wn+Yn|0)>>>0?on+1|0:on,Ln=An=_A(Wn^Jn,tl^on,32),Rn=on=bn,on=on+En|0,Xn=An=An+gn|0,Jn=on=Ln>>>0>An>>>0?on+1|0:on,An=_A(An^Yn,On^on,40),on=bl+(On=bn)|0,on=Vn+((gn=An+pl|0)>>>0>>0?on+1|0:on)|0,gn=on=(Yn=Wn)>>>0>(Wn=Wn+gn|0)>>>0?on+1|0:on,Yn=_A(Wn^Ln,on^Rn,48),tl=on=bn,En=on,yn=_A(yn^Cn,Bn^$n,1),Vn=on=bn,Ln=mn,on=on+Un|0,on=fn+((mn=yn+cl|0)>>>0>>0?on+1|0:on)|0,on=(mn=mn+vn|0)>>>0>>0?on+1|0:on,vn=mn^Ln,Ln=on,vn=_A(vn,on^Qn,32),on=($n=bn)+dn|0,fn=cn=vn+cn|0,dn=_A(cn^yn,(dn=Vn)^(Vn=cn>>>0>>0?on+1|0:on),40),on=Wl+(Rn=bn)|0,on=Ln+((cn=dn+ol|0)>>>0
                >>0?on+1|0:on)|0,Ln=cn=cn+mn|0,Qn=on=cn>>>0>>0?on+1|0:on,mn=on,on=kn+Yl|0,on=((yn=Pn+rl|0)>>>0>>0?on+1|0:on)+mn|0,Pn=on=(mn=cn+yn|0)>>>0>>0?on+1|0:on,cn=_A(mn^Yn,on^En,32),on=(Cn=bn)+Tn|0,En=_A((yn=cn+Fn|0)^ll,(on=yn>>>0>>0?on+1|0:on)^kn,40),Bn=Fn=bn,kn=on,on=Fn+yl|0,on=Pn+((Fn=En+ml|0)>>>0>>0?on+1|0:on)|0,Pn=on=(Fn=mn+Fn|0)>>>0>>0?on+1|0:on,mn=_A(cn^Fn,on^Cn,48),on=(Cn=bn)+kn|0,cn=(yn=mn+yn|0)^En,En=on=yn>>>0>>0?on+1|0:on,Bn=on=_A(cn,on^Bn,1),kn=cn=bn,el=Nn,qn=hn,hn=dn,dn=_A(vn^Ln,Qn^$n,48),on=(vn=bn)+Vn|0,Vn=cn=dn+fn|0,Ln=on=cn>>>0>>0?on+1|0:on,hn=_A(cn^hn,on^Rn,1),on=(Rn=bn)+vl|0,on=((cn=hn+Il|0)>>>0>>0?on+1|0:on)+gn|0,Wn=on=(Nn=cn+Wn|0)>>>0>>0?on+1|0:on,cn=_A(Nn^qn,on^wn,32),on=(gn=bn)+Zn|0,fn=Zn=cn+el|0,wn=on=Zn>>>0>>0?on+1|0:on,hn=_A(hn^Zn,on^Rn,40),on=nn+(qn=bn)|0,Rn=hn,on=Wn+((hn=Al+hn|0)>>>0>>0?on+1|0:on)|0,Qn=on=(Zn=hn+Nn|0)>>>0>>0?on+1|0:on,hn=_A(cn^Zn,on^gn,48),on=(on=wn)+(wn=bn)|0,fn=cn=hn+fn|0,el=on=cn>>>0>>0?on+1|0:on,Wn=pn,Nn=un,on=Jn+tl|0,pn=on=(cn=Yn+Xn|0)>>>0>>0?on+1|0:on,un=_A(cn^An,on^On,1),on=(An=bn)+al|0,on=((gn=un+Sn|0)>>>0>>0?on+1|0:on)+Gn|0,Gn=_A(Wn^(Nn=Nn+gn|0),(on=Nn>>>0>>0?on+1|0:on)^jn,32),gn=on,Yn=un,on=(Wn=bn)+Ln|0,on=(un=Gn+Vn|0)>>>0>>0?on+1|0:on,Vn=un,un^=Yn,Yn=on,un=_A(un,on^An,40),on=In+(Ln=bn)|0,on=((An=un+en|0)>>>0>>0?on+1|0:on)+gn|0,Xn=on=(gn=An)>>>0>(An=An+Nn|0)>>>0?on+1|0:on,Wn=_A(Gn^An,on^Wn,48),tl=on=bn,Nn=on,Gn=_A(Mn^_n,Tn^hl,1),Jn=on=bn,_n=pn,on=on+Nl|0,on=xn+((pn=Gn+Kn|0)>>>0>>0?on+1|0:on)|0,gn=vn,vn=on=(pn=pn+Hn|0)>>>0>>0?on+1|0:on,gn=_A(dn^pn,gn^on,32),on=($n=bn)+_n|0,Hn=cn=gn+cn|0,dn=_A(cn^Gn,(dn=Jn)^(Jn=cn>>>0>>0?on+1|0:on),40),on=Vl+(_n=bn)|0,on=vn+((cn=dn+il|0)>>>0>>0?on+1|0:on)|0,xn=cn=cn+pn|0,Mn=on=cn>>>0>>0?on+1|0:on,pn=on,on=kn+ul|0,on=((Gn=zn+Bn|0)>>>0>>0?on+1|0:on)+pn|0,vn=on=(pn=cn+Gn|0)>>>0>>0?on+1|0:on,cn=_A(pn^Wn,on^Nn,32),on=(jn=bn)+el|0,Nn=_A((Gn=cn+fn|0)^Bn,(on=Gn>>>0>>0?on+1|0:on)^kn,40),Bn=on,on=Un+(On=bn)|0,on=vn+((Tn=Nn+cl|0)>>>0>>0?on+1|0:on)|0,on=(vn=pn+Tn|0)>>>0>>0?on+1|0:on,pn=jn,jn=on,pn=_A(cn^vn,pn^on,48),on=(on=Bn)+(Bn=bn)|0,cn=(Gn=pn+Gn|0)^Nn,Nn=on=Gn>>>0>>0?on+1|0:on,On=on=_A(cn,on^On,1),Tn=cn=bn,kn=hn,hn=dn,dn=_A(gn^xn,Mn^$n,48),on=(on=Jn)+(Jn=bn)|0,Hn=cn=dn+Hn|0,gn=_n,_n=on=cn>>>0>>0?on+1|0:on,hn=_A(cn^hn,gn^on,1),on=(xn=bn)+yl|0,on=Xn+((cn=hn+ml|0)>>>0>>0?on+1|0:on)|0,gn=An,An=cn+An|0,cn=wn,wn=on=gn>>>0>An>>>0?on+1|0:on,cn=_A(An^kn,cn^on,32),on=(on=En)+(En=bn)|0,Xn=on=(gn=cn+yn|0)>>>0>>0?on+1|0:on,yn=gn,hn=_A(hn^gn,on^xn,40),on=Nl+($n=bn)|0,xn=hn,on=wn+((hn=Kn+hn|0)>>>0>>0?on+1|0:on)|0,wn=on=(gn=hn+An|0)>>>0>>0?on+1|0:on,hn=_A(cn^gn,on^En,48),on=(on=Xn)+(Xn=bn)|0,Mn=cn=hn+yn|0,kn=on=cn>>>0>>0?on+1|0:on,yn=mn,on=Yn+tl|0,mn=on=(cn=Wn+Vn|0)>>>0>>0?on+1|0:on,un=_A(cn^un,on^Ln,1),on=Gl+(Wn=bn)|0,on=Qn+((An=un+nl|0)>>>0>>0?on+1|0:on)|0,Yn=(An=Zn+An|0)^yn,yn=on=An>>>0>>0?on+1|0:on,Zn=_A(Yn,on^Cn,32),En=on=bn,Yn=un,on=on+_n|0,on=(un=Zn+Hn|0)>>>0>>0?on+1|0:on,Vn=un,un^=Yn,Yn=on,un=_A(un,on^Wn,40),on=In+(Ln=bn)|0,on=yn+((Wn=un+en|0)>>>0>>0?on+1|0:on)|0,Qn=on=(Wn=An+Wn|0)>>>0>>0?on+1|0:on,yn=_A(Zn^Wn,on^En,48),tl=on=bn,An=on,Zn=_A(Rn^fn,qn^el,1),Hn=on=bn,fn=mn,on=on+nn|0,on=Pn+((mn=Zn+Al|0)>>>0>>0?on+1|0:on)|0,Fn=on=(mn=mn+Fn|0)>>>0>>0?on+1|0:on,En=_A(dn^mn,on^Jn,32),on=(ll=bn)+fn|0,fn=cn=En+cn|0,dn=_A(cn^Zn,(Rn=cn>>>0>>0?on+1|0:on)^Hn,40),on=Dn+(Jn=bn)|0,on=Fn+((cn=Pt+dn|0)>>>0>>0?on+1|0:on)|0,Fn=cn=cn+mn|0,_n=on=cn>>>0>>0?on+1|0:on,mn=on,on=Tn+Wl|0,on=((Zn=On+ol|0)>>>0
                  >>0?on+1|0:on)+mn|0,Hn=on=(mn=cn+Zn|0)>>>0>>0?on+1|0:on,cn=_A(mn^yn,on^An,32),on=(Pn=bn)+kn|0,An=_A((Zn=cn+Mn|0)^On,(on=Zn>>>0>>0?on+1|0:on)^Tn,40),Cn=on,on=El+(On=bn)|0,on=Hn+((Tn=An+dl|0)>>>0
                  >>0?on+1|0:on)|0,on=(Hn=mn+Tn|0)>>>0>>0?on+1|0:on,mn=Pn,Pn=on,mn=_A(cn^Hn,mn^on,48),on=(on=Cn)+(Cn=bn)|0,cn=(Zn=mn+Zn|0)^An,An=on=Zn>>>0>>0?on+1|0:on,On=on=_A(cn,on^On,1),hl=on,Tn=cn=bn,el=Gn,qn=hn,Gn=dn,dn=_A(En^Fn,_n^ll,48),on=(En=bn)+Rn|0,Fn=cn=dn+fn|0,fn=on=cn>>>0>>0?on+1|0:on,Gn=_A(cn^Gn,on^Jn,1),on=(Jn=bn)+bl|0,on=Qn+((cn=Gn+pl|0)>>>0>>0?on+1|0:on)|0,Wn=on=(hn=cn+Wn|0)>>>0>>0?on+1|0:on,cn=_A(hn^qn,on^Xn,32),on=(Rn=bn)+Nn|0,Xn=on=(Nn=cn+el|0)>>>0>>0?on+1|0:on,Gn=_A(Gn^Nn,on^Jn,40),on=vl+(ll=bn)|0,Qn=Gn,on=Wn+((Gn=Il+Gn|0)>>>0>>0?on+1|0:on)|0,Wn=Gn+hn|0,Gn=Rn,Rn=on=Wn>>>0>>0?on+1|0:on,Gn=_A(cn^Wn,Gn^on,48),on=(on=Xn)+(Xn=bn)|0,Jn=cn=Gn+Nn|0,_n=on=cn>>>0>>0?on+1|0:on,hn=pn,on=Yn+tl|0,pn=on=(cn=yn+Vn|0)>>>0>>0?on+1|0:on,un=_A(cn^un,on^Ln,1),on=(yn=bn)+Vl|0,on=wn+((Nn=un+il|0)>>>0>>0?on+1|0:on)|0,hn=_A(hn^(Nn=Nn+gn|0),(on=Nn>>>0>>0?on+1|0:on)^Bn,32),Yn=gn=bn,gn=on,Vn=un,on=Yn+fn|0,on=(un=hn+Fn|0)>>>0>>0?on+1|0:on,Fn=un,un^=Vn,Vn=on,un=_A(un,on^yn,40),on=Zl+(Ln=bn)|0,on=((yn=un+sl|0)>>>0>>0?on+1|0:on)+gn|0,wn=Yn,Yn=on=(gn=Nn+yn|0)>>>0>>0?on+1|0:on,yn=_A(hn^gn,wn^on,48),tl=on=bn,Nn=on,hn=_A(Mn^xn,kn^$n,1),fn=on=bn,wn=pn,on=on+al|0,on=jn+((pn=hn+Sn|0)>>>0>>0?on+1|0:on)|0,vn=on=(pn=pn+vn|0)>>>0>>0?on+1|0:on,En=_A(dn^pn,on^En,32),on=($n=bn)+wn|0,wn=cn=En+cn|0,dn=_A(cn^hn,(dn=fn)^(fn=cn>>>0>>0?on+1|0:on),40),on=Yl+(xn=bn)|0,on=vn+((cn=dn+rl|0)>>>0>>0?on+1|0:on)|0,Mn=cn=cn+pn|0,jn=on=cn>>>0>>0?on+1|0:on,pn=on,on=Tn+In|0,on=((hn=On+en|0)>>>0>>0?on+1|0:on)+pn|0,vn=on=(pn=cn+hn|0)>>>0>>0?on+1|0:on,cn=_A(pn^yn,on^Nn,32),on=(On=bn)+_n|0,Nn=_A((hn=cn+Jn|0)^hl,(on=hn>>>0>>0?on+1|0:on)^Tn,40),Tn=on,on=yl+(Bn=bn)|0,on=vn+((kn=Nn+ml|0)>>>0>>0?on+1|0:on)|0,on=(vn=pn+kn|0)>>>0>>0?on+1|0:on,pn=On,On=on,pn=_A(cn^vn,pn^on,48),on=(on=Tn)+(Tn=bn)|0,cn=(hn=pn+hn|0)^Nn,Nn=on=hn>>>0>>0?on+1|0:on,Bn=on=_A(cn,on^Bn,1),kn=cn=bn,el=Zn,qn=Gn,Gn=dn,dn=_A(En^Mn,jn^$n,48),on=(En=bn)+fn|0,fn=cn=dn+wn|0,wn=on=cn>>>0>>0?on+1|0:on,Gn=_A(cn^Gn,on^xn,1),on=(xn=bn)+vl|0,on=Yn+((cn=Gn+Il|0)>>>0>>0?on+1|0:on)|0,gn=on=(Zn=cn+gn|0)>>>0>>0?on+1|0:on,cn=_A(Zn^qn,on^Xn,32),on=(Yn=bn)+An|0,Xn=on=(An=cn+el|0)>>>0>>0?on+1|0:on,Gn=_A(Gn^An,on^xn,40),on=al+($n=bn)|0,xn=Gn,on=gn+((Gn=Sn+Gn|0)>>>0>>0?on+1|0:on)|0,gn=Gn+Zn|0,Gn=Yn,Yn=on=gn>>>0>>0?on+1|0:on,Gn=_A(cn^gn,Gn^on,48),on=(on=Xn)+(Xn=bn)|0,Mn=cn=Gn+An|0,jn=on=cn>>>0>>0?on+1|0:on,Zn=mn,on=Vn+tl|0,mn=on=(cn=yn+Fn|0)>>>0>>0?on+1|0:on,un=_A(cn^un,on^Ln,1),on=Yl+(yn=bn)|0,on=Rn+((An=un+rl|0)>>>0>>0?on+1|0:on)|0,Wn=on=(An=An+Wn|0)>>>0>>0?on+1|0:on,Zn=_A(Zn^An,on^Cn,32),Fn=on=bn,Vn=un,on=on+wn|0,on=(un=Zn+fn|0)>>>0>>0?on+1|0:on,Ln=un,un^=Vn,Vn=on,un=_A(un,on^yn,40),on=Wl+(fn=bn)|0,on=Wn+((yn=un+ol|0)>>>0
                    >>0?on+1|0:on)|0,on=(Wn=An+yn|0)>>>0>>0?on+1|0:on,An=Fn,Fn=on,yn=_A(Zn^Wn,An^on,48),tl=on=bn,An=on,Zn=_A(Qn^Jn,_n^ll,1),wn=on=bn,Rn=mn,on=on+Dn|0,on=Pn+((mn=Pt+Zn|0)>>>0>>0?on+1|0:on)|0,Hn=on=(mn=mn+Hn|0)>>>0>>0?on+1|0:on,En=_A(dn^mn,on^En,32),on=(ll=bn)+Rn|0,Rn=cn=En+cn|0,dn=_A(cn^Zn,(dn=wn)^(wn=cn>>>0>>0?on+1|0:on),40),on=Nl+(Qn=bn)|0,on=Hn+((cn=dn+Kn|0)>>>0>>0?on+1|0:on)|0,Jn=cn=cn+mn|0,_n=on=cn>>>0>>0?on+1|0:on,mn=on,on=kn+Gl|0,on=((Zn=Bn+nl|0)>>>0>>0?on+1|0:on)+mn|0,Hn=on=(mn=cn+Zn|0)>>>0>>0?on+1|0:on,cn=_A(mn^yn,on^An,32),on=(Pn=bn)+jn|0,An=_A((Zn=cn+Mn|0)^Bn,(on=Zn>>>0>>0?on+1|0:on)^kn,40),Bn=on,on=nn+(Cn=bn)|0,on=Hn+((kn=An+Al|0)>>>0>>0?on+1|0:on)|0,on=(Hn=mn+kn|0)>>>0>>0?on+1|0:on,mn=Pn,Pn=on,mn=_A(cn^Hn,mn^on,48),on=(on=Bn)+(Bn=bn)|0,cn=(Zn=mn+Zn|0)^An,An=on=Zn>>>0>>0?on+1|0:on,Cn=on=_A(cn,on^Cn,1),kn=cn=bn,el=hn,qn=Gn,Gn=dn,dn=_A(En^Jn,_n^ll,48),on=(En=bn)+wn|0,wn=cn=dn+Rn|0,Rn=on=cn>>>0>>0?on+1|0:on,Gn=_A(cn^Gn,on^Qn,1),on=(Qn=bn)+ul|0,on=Fn+((cn=Gn+zn|0)>>>0>>0?on+1|0:on)|0,Wn=on=(hn=cn+Wn|0)>>>0>>0?on+1|0:on,cn=_A(hn^qn,on^Xn,32),on=(Fn=bn)+Nn|0,Xn=on=(Nn=cn+el|0)>>>0>>0?on+1|0:on,Gn=_A(Gn^Nn,on^Qn,40),on=Vl+(ll=bn)|0,Qn=Gn,on=Wn+((Gn=il+Gn|0)>>>0>>0?on+1|0:on)|0,Wn=Gn+hn|0,Gn=Fn,Fn=on=Wn>>>0>>0?on+1|0:on,Gn=_A(cn^Wn,Gn^on,48),on=(on=Xn)+(Xn=bn)|0,Jn=cn=Gn+Nn|0,_n=on=cn>>>0>>0?on+1|0:on,hn=pn,on=Vn+tl|0,pn=on=(cn=yn+Ln|0)>>>0>>0?on+1|0:on,un=_A(cn^un,on^fn,1),on=(yn=bn)+Zl|0,on=Yn+((Nn=un+sl|0)>>>0>>0?on+1|0:on)|0,gn=on=(Nn=Nn+gn|0)>>>0>>0?on+1|0:on,hn=_A(hn^Nn,on^Tn,32),Yn=on=bn,Vn=un,on=on+Rn|0,on=(un=hn+wn|0)>>>0>>0?on+1|0:on,Ln=un,un^=Vn,Vn=on,un=_A(un,on^yn,40),on=bl+(fn=bn)|0,on=gn+((yn=un+pl|0)>>>0>>0?on+1|0:on)|0,wn=Yn,Yn=on=(gn=Nn+yn|0)>>>0>>0?on+1|0:on,yn=_A(hn^gn,wn^on,48),tl=on=bn,Nn=on,hn=_A(Mn^xn,jn^$n,1),wn=on=bn,Rn=pn,on=on+Un|0,on=On+((pn=hn+cl|0)>>>0>>0?on+1|0:on)|0,vn=on=(pn=pn+vn|0)>>>0>>0?on+1|0:on,En=_A(dn^pn,on^En,32),on=($n=bn)+Rn|0,Rn=cn=En+cn|0,dn=_A(cn^hn,(dn=wn)^(wn=cn>>>0>>0?on+1|0:on),40),on=El+(xn=bn)|0,on=vn+((cn=dn+dl|0)>>>0
                    >>0?on+1|0:on)|0,Mn=cn=cn+pn|0,jn=on=cn>>>0>>0?on+1|0:on,pn=on,on=kn+nn|0,on=((hn=Cn+Al|0)>>>0>>0?on+1|0:on)+pn|0,vn=on=(pn=cn+hn|0)>>>0>>0?on+1|0:on,cn=_A(pn^yn,on^Nn,32),on=(On=bn)+_n|0,Nn=_A((hn=cn+Jn|0)^Cn,(on=hn>>>0>>0?on+1|0:on)^kn,40),Tn=on,on=Yl+(Cn=bn)|0,on=vn+((kn=Nn+rl|0)>>>0>>0?on+1|0:on)|0,on=(vn=pn+kn|0)>>>0>>0?on+1|0:on,pn=On,On=on,pn=_A(cn^vn,pn^on,48),on=(on=Tn)+(Tn=bn)|0,cn=(hn=pn+hn|0)^Nn,Nn=on=hn>>>0>>0?on+1|0:on,Cn=on=_A(cn,on^Cn,1),kn=cn=bn,el=Zn,qn=Gn,Gn=dn,dn=_A(En^Mn,jn^$n,48),on=(En=bn)+wn|0,wn=cn=dn+Rn|0,Rn=on=cn>>>0>>0?on+1|0:on,Gn=_A(cn^Gn,on^xn,1),on=(xn=bn)+Un|0,on=Yn+((cn=Gn+cl|0)>>>0>>0?on+1|0:on)|0,gn=on=(Zn=cn+gn|0)>>>0>>0?on+1|0:on,cn=_A(Zn^qn,on^Xn,32),on=(Yn=bn)+An|0,Xn=on=(An=cn+el|0)>>>0>>0?on+1|0:on,Gn=_A(Gn^An,on^xn,40),on=bl+($n=bn)|0,xn=Gn,on=gn+((Gn=pl+Gn|0)>>>0>>0?on+1|0:on)|0,gn=Gn+Zn|0,Gn=Yn,Yn=on=gn>>>0>>0?on+1|0:on,Gn=_A(cn^gn,Gn^on,48),on=(on=Xn)+(Xn=bn)|0,Mn=cn=Gn+An|0,jn=on=cn>>>0>>0?on+1|0:on,Zn=mn,on=Vn+tl|0,mn=on=(cn=yn+Ln|0)>>>0>>0?on+1|0:on,un=_A(cn^un,on^fn,1),on=Zl+(yn=bn)|0,on=Fn+((An=un+sl|0)>>>0>>0?on+1|0:on)|0,Wn=on=(An=An+Wn|0)>>>0>>0?on+1|0:on,Zn=_A(Zn^An,on^Bn,32),Fn=on=bn,Vn=un,on=on+Rn|0,on=(un=Zn+wn|0)>>>0>>0?on+1|0:on,Ln=un,un^=Vn,Vn=on,un=_A(un,on^yn,40),on=Vl+(fn=bn)|0,on=Wn+((yn=un+il|0)>>>0>>0?on+1|0:on)|0,on=(Wn=An+yn|0)>>>0>>0?on+1|0:on,An=Fn,Fn=on,yn=_A(Zn^Wn,An^on,48),tl=on=bn,An=on,Zn=_A(Qn^Jn,_n^ll,1),wn=on=bn,Rn=mn,on=on+al|0,on=Pn+((mn=Zn+Sn|0)>>>0>>0?on+1|0:on)|0,Hn=on=(mn=mn+Hn|0)>>>0>>0?on+1|0:on,En=_A(dn^mn,on^En,32),on=(ll=bn)+Rn|0,Rn=cn=En+cn|0,dn=_A(cn^Zn,(dn=wn)^(wn=cn>>>0>>0?on+1|0:on),40),on=El+(Qn=bn)|0,on=Hn+((cn=dn+dl|0)>>>0
                    >>0?on+1|0:on)|0,Jn=cn=cn+mn|0,_n=on=cn>>>0>>0?on+1|0:on,mn=on,on=kn+Nl|0,on=((Zn=Cn+Kn|0)>>>0>>0?on+1|0:on)+mn|0,Hn=on=(mn=cn+Zn|0)>>>0>>0?on+1|0:on,cn=_A(mn^yn,on^An,32),on=(Pn=bn)+jn|0,An=_A((Zn=cn+Mn|0)^Cn,(on=Zn>>>0>>0?on+1|0:on)^kn,40),Bn=on,on=Dn+(Cn=bn)|0,on=Hn+((kn=Pt+An|0)>>>0>>0?on+1|0:on)|0,on=(Hn=mn+kn|0)>>>0>>0?on+1|0:on,mn=Pn,Pn=on,mn=_A(cn^Hn,mn^on,48),on=(on=Bn)+(Bn=bn)|0,cn=(Zn=mn+Zn|0)^An,An=on=Zn>>>0>>0?on+1|0:on,Cn=on=_A(cn,on^Cn,1),kn=cn=bn,el=hn,qn=Gn,Gn=dn,dn=_A(En^Jn,_n^ll,48),on=(En=bn)+wn|0,wn=cn=dn+Rn|0,Rn=on=cn>>>0>>0?on+1|0:on,Gn=_A(cn^Gn,on^Qn,1),on=(Qn=bn)+Wl|0,on=Fn+((cn=Gn+ol|0)>>>0>>0?on+1|0:on)|0,Wn=on=(hn=cn+Wn|0)>>>0>>0?on+1|0:on,cn=_A(hn^qn,on^Xn,32),on=(Fn=bn)+Nn|0,Xn=on=(Nn=cn+el|0)>>>0>>0?on+1|0:on,Gn=_A(Gn^Nn,on^Qn,40),on=In+(ll=bn)|0,Qn=Gn,on=Wn+((Gn=en+Gn|0)>>>0>>0?on+1|0:on)|0,Wn=Gn+hn|0,Gn=Fn,Fn=on=Wn>>>0>>0?on+1|0:on,Gn=_A(cn^Wn,Gn^on,48),on=(on=Xn)+(Xn=bn)|0,Jn=cn=Gn+Nn|0,_n=on=cn>>>0>>0?on+1|0:on,hn=pn,on=Vn+tl|0,pn=on=(cn=yn+Ln|0)>>>0>>0?on+1|0:on,un=_A(cn^un,on^fn,1),on=(yn=bn)+Gl|0,on=Yn+((Nn=un+nl|0)>>>0>>0?on+1|0:on)|0,gn=on=(Nn=Nn+gn|0)>>>0>>0?on+1|0:on,hn=_A(hn^Nn,on^Tn,32),Yn=on=bn,Vn=un,on=on+Rn|0,on=(un=hn+wn|0)>>>0>>0?on+1|0:on,Ln=un,un^=Vn,Vn=on,un=_A(un,on^yn,40),on=vl+(fn=bn)|0,on=gn+((yn=un+Il|0)>>>0>>0?on+1|0:on)|0,wn=Yn,Yn=on=(gn=Nn+yn|0)>>>0>>0?on+1|0:on,yn=_A(hn^gn,wn^on,48),tl=on=bn,Nn=on,hn=_A(Mn^xn,jn^$n,1),wn=on=bn,Rn=pn,on=on+yl|0,on=On+((pn=hn+ml|0)>>>0>>0?on+1|0:on)|0,vn=on=(pn=pn+vn|0)>>>0>>0?on+1|0:on,En=_A(dn^pn,on^En,32),on=($n=bn)+Rn|0,Rn=cn=En+cn|0,dn=_A(cn^hn,(dn=wn)^(wn=cn>>>0>>0?on+1|0:on),40),on=ul+(xn=bn)|0,on=vn+((cn=dn+zn|0)>>>0>>0?on+1|0:on)|0,Mn=cn=cn+pn|0,jn=on=cn>>>0>>0?on+1|0:on,pn=on,on=kn+El|0,on=((hn=Cn+dl|0)>>>0
                    >>0?on+1|0:on)+pn|0,vn=on=(pn=cn+hn|0)>>>0>>0?on+1|0:on,cn=_A(pn^yn,on^Nn,32),on=(On=bn)+_n|0,Nn=_A((hn=cn+Jn|0)^Cn,(on=hn>>>0>>0?on+1|0:on)^kn,40),Tn=on,on=bl+(Cn=bn)|0,on=vn+((kn=Nn+pl|0)>>>0>>0?on+1|0:on)|0,on=(vn=pn+kn|0)>>>0>>0?on+1|0:on,pn=On,On=on,pn=_A(cn^vn,pn^on,48),on=(on=Tn)+(Tn=bn)|0,cn=(hn=pn+hn|0)^Nn,Nn=on=hn>>>0>>0?on+1|0:on,Cn=on=_A(cn,on^Cn,1),kn=cn=bn,el=Zn,qn=Gn,Gn=dn,dn=_A(En^Mn,jn^$n,48),on=(En=bn)+wn|0,wn=cn=dn+Rn|0,Rn=on=cn>>>0>>0?on+1|0:on,Gn=_A(cn^Gn,on^xn,1),on=(xn=bn)+Yl|0,on=Yn+((cn=Gn+rl|0)>>>0>>0?on+1|0:on)|0,gn=on=(Zn=cn+gn|0)>>>0>>0?on+1|0:on,cn=_A(Zn^qn,on^Xn,32),on=(Yn=bn)+An|0,Xn=on=(An=cn+el|0)>>>0>>0?on+1|0:on,Gn=_A(Gn^An,on^xn,40),on=nn+($n=bn)|0,xn=Gn,on=gn+((Gn=Al+Gn|0)>>>0>>0?on+1|0:on)|0,gn=Gn+Zn|0,Gn=Yn,Yn=on=gn>>>0>>0?on+1|0:on,Gn=_A(cn^gn,Gn^on,48),on=(on=Xn)+(Xn=bn)|0,Mn=cn=Gn+An|0,jn=on=cn>>>0>>0?on+1|0:on,Zn=mn,on=Vn+tl|0,mn=on=(cn=yn+Ln|0)>>>0>>0?on+1|0:on,un=_A(cn^un,on^fn,1),on=vl+(yn=bn)|0,on=Fn+((An=un+Il|0)>>>0>>0?on+1|0:on)|0,Wn=on=(An=An+Wn|0)>>>0>>0?on+1|0:on,Zn=_A(Zn^An,on^Bn,32),Fn=on=bn,Vn=un,on=on+Rn|0,on=(un=Zn+wn|0)>>>0>>0?on+1|0:on,Ln=un,un^=Vn,Vn=on,un=_A(un,on^yn,40),on=Un+(fn=bn)|0,on=Wn+((yn=un+cl|0)>>>0>>0?on+1|0:on)|0,on=(Wn=An+yn|0)>>>0>>0?on+1|0:on,An=Fn,Fn=on,yn=_A(Zn^Wn,An^on,48),tl=on=bn,An=on,Zn=_A(Qn^Jn,_n^ll,1),wn=on=bn,Rn=mn,on=on+Vl|0,on=Pn+((mn=Zn+il|0)>>>0>>0?on+1|0:on)|0,Hn=on=(mn=mn+Hn|0)>>>0>>0?on+1|0:on,En=_A(dn^mn,on^En,32),on=(ll=bn)+Rn|0,Rn=cn=En+cn|0,dn=_A(cn^Zn,(dn=wn)^(wn=cn>>>0>>0?on+1|0:on),40),on=yl+(Qn=bn)|0,on=Hn+((cn=dn+ml|0)>>>0>>0?on+1|0:on)|0,Jn=cn=cn+mn|0,_n=on=cn>>>0>>0?on+1|0:on,mn=on,on=kn+Zl|0,on=((Zn=Cn+sl|0)>>>0>>0?on+1|0:on)+mn|0,Hn=on=(mn=cn+Zn|0)>>>0>>0?on+1|0:on,cn=_A(mn^yn,on^An,32),on=(Pn=bn)+jn|0,An=_A((Zn=cn+Mn|0)^Cn,(on=Zn>>>0>>0?on+1|0:on)^kn,40),Bn=on,on=In+(Cn=bn)|0,on=Hn+((kn=An+en|0)>>>0>>0?on+1|0:on)|0,on=(Hn=mn+kn|0)>>>0>>0?on+1|0:on,mn=Pn,Pn=on,mn=_A(cn^Hn,mn^on,48),on=(on=Bn)+(Bn=bn)|0,cn=(Zn=mn+Zn|0)^An,An=on=Zn>>>0>>0?on+1|0:on,Cn=on=_A(cn,on^Cn,1),kn=cn=bn,el=hn,qn=Gn,Gn=dn,dn=_A(En^Jn,_n^ll,48),on=(En=bn)+wn|0,wn=cn=dn+Rn|0,Rn=on=cn>>>0>>0?on+1|0:on,Gn=_A(cn^Gn,on^Qn,1),on=(Jn=bn)+al|0,on=Fn+((cn=Gn+Sn|0)>>>0>>0?on+1|0:on)|0,Wn=on=(hn=cn+Wn|0)>>>0>>0?on+1|0:on,cn=_A(hn^qn,on^Xn,32),on=(Fn=bn)+Nn|0,Xn=Nn=cn+el|0,Qn=on=Nn>>>0>>0?on+1|0:on,Gn=_A(Gn^Nn,on^Jn,40),on=Nl+(el=bn)|0,Jn=Gn,on=Wn+((Gn=Kn+Gn|0)>>>0>>0?on+1|0:on)|0,Nn=Gn+hn|0,Gn=Fn,Fn=on=Nn>>>0>>0?on+1|0:on,Gn=_A(cn^Nn,Gn^on,48),on=(on=Qn)+(Qn=bn)|0,Xn=cn=Gn+Xn|0,_n=on=cn>>>0>>0?on+1|0:on,hn=pn,on=Vn+tl|0,pn=on=(cn=yn+Ln|0)>>>0>>0?on+1|0:on,un=_A(cn^un,on^fn,1),on=(yn=bn)+Dn|0,on=Yn+((Wn=Pt+un|0)>>>0>>0?on+1|0:on)|0,gn=on=(Wn=Wn+gn|0)>>>0>>0?on+1|0:on,Yn=hn=_A(hn^Wn,on^Tn,32),Vn=on=bn,Ln=un,on=on+Rn|0,on=(un=hn+wn|0)>>>0>>0?on+1|0:on,fn=un,un^=Ln,Ln=on,un=_A(un,on^yn,40),on=Wl+(wn=bn)|0,on=gn+((hn=un+ol|0)>>>0
                      >>0?on+1|0:on)|0,Rn=(hn=hn+Wn|0)^Yn,Yn=on=hn>>>0>>0?on+1|0:on,Wn=_A(Rn,on^Vn,48),Tn=on=bn,yn=on,Vn=gn=_A(Mn^xn,jn^$n,1),Rn=on=bn,xn=pn,on=on+ul|0,on=On+((pn=gn+zn|0)>>>0>>0?on+1|0:on)|0,on=(pn=pn+vn|0)>>>0>>0?on+1|0:on,vn=En,En=on,gn=_A(dn^pn,vn^on,32),on=(qn=bn)+xn|0,vn=cn=gn+cn|0,dn=_A(dn=cn^Vn,(Vn=cn>>>0>>0?on+1|0:on)^Rn,40),on=Gl+(Rn=bn)|0,on=En+((cn=dn+nl|0)>>>0>>0?on+1|0:on)|0,En=cn=cn+pn|0,xn=on=cn>>>0>>0?on+1|0:on,pn=on,on=kn+Nl|0,on=((On=Kn)>>>0>(Kn=Cn+Kn|0)>>>0?on+1|0:on)+pn|0,Nl=on=(cn=cn+Kn|0)>>>0>>0?on+1|0:on,Kn=_A(cn^Wn,on^yn,32),on=(Mn=bn)+_n|0,yn=_A((pn=Xn+Kn|0)^Cn,(on=pn>>>0>>0?on+1|0:on)^kn,40),On=on,on=Wl+(jn=bn)|0,on=Nl+((Cn=ol)>>>0>(ol=yn+ol|0)>>>0?on+1|0:on)|0,on=(ol=cn+ol|0)>>>0>>0?on+1|0:on,cn=Kn^ol,Kn=on,Wl=_A(cn,on^Mn,48);on=(Nl=bn)+On|0,pn=on=(cn=pn+Wl|0)>>>0>>0?on+1|0:on,on=_A(cn^yn,on^jn,1),yn=bn,Mn=on,jn=Zn,Zn=nl,On=Gl,Gl=_A(gn^En,xn^qn,48),on=(gn=bn)+Vn|0,Vn=Zn,vn=on=(nl=vn+Gl|0)>>>0>>0?on+1|0:on,Zn=_A(dn^(En=nl),on^Rn,1),on=(Rn=bn)+On|0,on=Yn+(Zn>>>0>(nl=Vn+Zn|0)>>>0?on+1|0:on)|0,dn=on=(nl=hn+nl|0)>>>0>>0?on+1|0:on,Gn=_A(Gn^nl,on^Qn,32),on=(on=An)+(An=bn)|0,Yn=hn=Gn+jn|0,Vn=on=hn>>>0>>0?on+1|0:on,hn=_A(hn^Zn,on^Rn,40),on=(Rn=bn)+Yl|0,on=(hn>>>0>(rl=hn+rl|0)>>>0?on+1|0:on)+dn|0,dn=on=(dn=rl)>>>0>(rl=nl+rl|0)>>>0?on+1|0:on,Gn=_A(Gn^rl,on^An,48),on=(Zn=bn)+Vn|0,An=nl=Gn+Yn|0,Yl=on=nl>>>0>>0?on+1|0:on,Yn=Pt,Vn=Dn,on=Ln+Tn|0,nl=on=(Pt=Wn+fn|0)>>>0>>0?on+1|0:on,Dn=_A(Pt^un,on^wn,1),on=(Wn=bn)+Vn|0,on=Fn+((un=Yn+Dn|0)>>>0>>0?on+1|0:on)|0,mn=_A((un=un+Nn|0)^mn,(on=un>>>0>>0?on+1|0:on)^Bn,32),Yn=on,Fn=sl,sl=Dn,on=(Nn=bn)+vn|0,vn=Wn,Wn=on=(Dn=mn+En|0)>>>0>>0?on+1|0:on,sl=_A(Dn^sl,vn^on,40),on=(En=bn)+Zl|0,on=((Zl=Fn+sl|0)>>>0>>0?on+1|0:on)+Yn|0,Yn=Zl,un=mn^(Zl=un+Zl|0),mn=on=Yn>>>0>Zl>>>0?on+1|0:on,on=_A(un,on^Nn,48),Ln=un=bn,Nn=on,vn=Sn,Yn=al,Sn=_A(Xn^Jn,_n^el,1),Vn=on=bn,on=on+El|0,on=Pn+((Sn=(Fn=Sn)+dl|0)>>>0
                      >>0?on+1|0:on)|0,dl=on=(Sn=Hn+Sn|0)>>>0>>0?on+1|0:on,al=_A(Sn^Gl,on^gn,32),on=(Hn=bn)+nl|0,nl=Pt=al+Pt|0,Gl=_A(Pt^Fn,(gn=Pt>>>0>>0?on+1|0:on)^Vn,40),on=(on=Yn)+(Yn=bn)|0,on=dl+((Pt=Gl+vn|0)>>>0>>0?on+1|0:on)|0,dl=Pt=Pt+Sn|0,El=on=Pt>>>0>>0?on+1|0:on,Sn=on,on=yn+vl|0,on=((Fn=Il)>>>0>(Il=Mn+Il|0)>>>0?on+1|0:on)+Sn|0,vl=on=(Sn=Pt+Il|0)>>>0>>0?on+1|0:on,Il=_A(Nn^Sn,on^un,32),on=(Fn=bn)+Yl|0,un=Pt=Il+An|0,Pt=_A(Pt^Mn,(vn=yn)^(yn=Pt>>>0>>0?on+1|0:on),40),on=Vl+(Vn=bn)|0,Vl=Pt,on=vl+((Pt=il+Pt|0)>>>0>>0?on+1|0:on)|0,on=(Pt=Pt+Sn|0)>>>0>>0?on+1|0:on,vl=Pt,fn=(an[Wt+8|0]|an[Wt+9|0]<<8|an[Wt+10|0]<<16|an[Wt+11|0]<<24)^Pt,vn=on,wn=on^(an[Wt+12|0]|an[Wt+13|0]<<8|an[Wt+14|0]<<16|an[Wt+15|0]<<24),Sn=_A(al^dl,Hn^El,48),on=(dl=bn)+gn|0,gn=Pt=Sn+nl|0,El=on=Pt>>>0>>0?on+1|0:on,al=pl,on=Wn+Ln|0,pl=on=(Pt=Nn+Dn|0)>>>0>>0?on+1|0:on,sl=_A(Pt^sl,on^En,1),on=(Nn=bn)+bl|0,on=((al=sl+al|0)>>>0>>0?on+1|0:on)+dn|0,al=on=(bl=al+rl|0)>>>0>>0?on+1|0:on,nl=_A(bl^Wl,on^Nl,32),on=(Dn=bn)+El|0,rl=on=(il=nl+gn|0)>>>0>>0?on+1|0:on,Wl=nl,nl=_A(sl^il,on^Nn,40),on=(dn=bn)+yl|0,on=(nl>>>0>(sl=nl+ml|0)>>>0?on+1|0:on)+al|0,Wn=Dn,Dn=on=(bl=sl+bl|0)>>>0>>0?on+1|0:on,sl=_A(Wl^(ml=bl),Wn^on,48),on=(Nn=bn)+rl|0,on=(al=sl+il|0)>>>0>>0?on+1|0:on,il=al,al^=fn,tn[Wt+8|0]=al,tn[Wt+9|0]=al>>>8,tn[Wt+10|0]=al>>>16,tn[Wt+11|0]=al>>>24,rl=on,on^=wn,tn[Wt+12|0]=on,tn[Wt+13|0]=on>>>8,tn[Wt+14|0]=on>>>16,tn[Wt+15|0]=on>>>24,bl=Pt,al=pl,Pt=Sn,Sn=_A(hn^An,Rn^Yl,1),on=(yl=bn)+In|0,on=(Sn>>>0>(pl=Sn+en|0)>>>0?on+1|0:on)+Kn|0,ol=on=(An=pl)>>>0>(pl=ol+pl|0)>>>0?on+1|0:on,Pt=_A(Pt^pl,on^dl,32),on=(on=al)+(al=bn)|0,dl=on=(bl=Pt+bl|0)>>>0>>0?on+1|0:on,Wl=Pt,bl=_A(Sn^(Kn=bl),on^yl,40),on=(hn=bn)+nn|0,on=ol+((Pt=bl+Al|0)>>>0>>0?on+1|0:on)|0,on=(Pt=Pt+pl|0)>>>0>>0?on+1|0:on,ol=Pt,Pt^=Wl,Wl=on,pl=_A(Pt,on^al,48),on=(An=bn)+dl|0,Kn=Pt=pl+Kn|0,dl=Pt>>>0>>0?on+1|0:on,Gl=Pt=_A(gn^Gl,Yn^El,1),yl=on=bn,on=on+Un|0,on=mn+((Pt=Pt+cl|0)>>>0>>0?on+1|0:on)|0,Un=on=(Sn=Pt+Zl|0)>>>0>>0?on+1|0:on,Pt=(al=_A(Gn^Sn,on^Zn,32))+cn|0,on=(cn=bn)+pn|0,Zl=Pt,Pt=(cl=_A(mn=Pt^Gl,(Gl=Pt>>>0>>0?on+1|0:on)^yl,40))+zn|0,on=(zn=bn)+ul|0,on=Un+(Pt>>>0>>0?on+1|0:on)|0,on=(Un=Pt+Sn|0)>>>0>>0?on+1|0:on,Sn=Un^wl^Kn,tn[0|(Pt=Wt)]=Sn,tn[Pt+1|0]=Sn>>>8,tn[Pt+2|0]=Sn>>>16,tn[Pt+3|0]=Sn>>>24,Sn=on^rn^dl,tn[Pt+4|0]=Sn,tn[Pt+5|0]=Sn>>>8,tn[Pt+6|0]=Sn>>>16,tn[Pt+7|0]=Sn>>>24,Sn=(al=_A(Un^al,on^cn,48))+Zl|0,on=(Zl=bn)+Gl|0,on=(Gl=Sn>>>0>>0?on+1|0:on)^(an[Pt+20|0]|an[Pt+21|0]<<8|an[Pt+22|0]<<16|an[Pt+23|0]<<24)^Wl,Un=(an[Pt+16|0]|an[Pt+17|0]<<8|an[Pt+18|0]<<16|an[Pt+19|0]<<24)^ol^Sn,tn[Pt+16|0]=Un,tn[Pt+17|0]=Un>>>8,tn[Pt+18|0]=Un>>>16,tn[Pt+19|0]=Un>>>24,tn[Pt+20|0]=on,tn[Pt+21|0]=on>>>8,tn[Pt+22|0]=on>>>16,tn[Pt+23|0]=on>>>24,Pt=_A(Il^vl,vn^Fn,48),Un=bn,ol=an[Wt+36|0]|an[Wt+37|0]<<8|an[Wt+38|0]<<16|an[Wt+39|0]<<24,on=(an[Wt+32|0]|an[Wt+33|0]<<8|an[Wt+34|0]<<16|an[Wt+35|0]<<24)^_A(nl^il,dn^rl,1)^Pt,tn[Wt+32|0]=on,tn[Wt+33|0]=on>>>8,tn[Wt+34|0]=on>>>16,tn[Wt+35|0]=on>>>24,on=bn^ol^Un,tn[Wt+36|0]=on,tn[Wt+37|0]=on>>>8,tn[Wt+38|0]=on>>>16,tn[Wt+39|0]=on>>>24,on=yn+Un|0,on=(ol=Pt+un|0)>>>0>>0?on+1|0:on,nl=(an[(Pt=Wt)+28|0]|an[Pt+29|0]<<8|an[Pt+30|0]<<16|an[Pt+31|0]<<24)^Dn^on,Un=(an[Pt+24|0]|an[Pt+25|0]<<8|an[Pt+26|0]<<16|an[Pt+27|0]<<24)^ml^ol,tn[Pt+24|0]=Un,tn[Pt+25|0]=Un>>>8,tn[Pt+26|0]=Un>>>16,tn[Pt+27|0]=Un>>>24,tn[Pt+28|0]=nl,tn[Pt+29|0]=nl>>>8,tn[Pt+30|0]=nl>>>16,tn[Pt+31|0]=nl>>>24,nl=an[Pt+44|0]|an[Pt+45|0]<<8|an[Pt+46|0]<<16|an[Pt+47|0]<<24,Pt=pl^(an[Pt+40|0]|an[Pt+41|0]<<8|an[Pt+42|0]<<16|an[Pt+43|0]<<24)^_A(Sn^cl,zn^Gl,1),tn[Wt+40|0]=Pt,tn[Wt+41|0]=Pt>>>8,tn[Wt+42|0]=Pt>>>16,tn[Wt+43|0]=Pt>>>24,Pt=An^bn^nl,tn[Wt+44|0]=Pt,tn[Wt+45|0]=Pt>>>8,tn[Wt+46|0]=Pt>>>16,tn[Wt+47|0]=Pt>>>24,Sn=an[Wt+60|0]|an[Wt+61|0]<<8|an[Wt+62|0]<<16|an[Wt+63|0]<<24,Pt=al^(an[Wt+56|0]|an[Wt+57|0]<<8|an[Wt+58|0]<<16|an[Wt+59|0]<<24)^_A(Kn^bl,hn^dl,1),tn[Wt+56|0]=Pt,tn[Wt+57|0]=Pt>>>8,tn[Wt+58|0]=Pt>>>16,tn[Wt+59|0]=Pt>>>24,Pt=Zl^bn^Sn,tn[Wt+60|0]=Pt,tn[Wt+61|0]=Pt>>>8,tn[Wt+62|0]=Pt>>>16,tn[Wt+63|0]=Pt>>>24,Sn=an[Wt+52|0]|an[Wt+53|0]<<8|an[Wt+54|0]<<16|an[Wt+55|0]<<24,Pt=sl^(an[Wt+48|0]|an[Wt+49|0]<<8|an[Wt+50|0]<<16|an[Wt+51|0]<<24)^_A(ol^Vl,on^Vn,1),tn[Wt+48|0]=Pt,tn[Wt+49|0]=Pt>>>8,tn[Wt+50|0]=Pt>>>16,tn[Wt+51|0]=Pt>>>24,Pt=Nn^bn^Sn,tn[Wt+52|0]=Pt,tn[Wt+53|0]=Pt>>>8,tn[Wt+54|0]=Pt>>>16,tn[Wt+55|0]=Pt>>>24}function k(Wt,Pt,en,In,rn,sn,on){var cn,dn,un,pn,Gn,hn,Zn,An,Wn,Nn,gn,yn,vn,Yn,En,Vn,Rn,wn,Fn,Qn,fn,Hn,Cn,Xn,kn,Jn,Ln,Bn,xn,On,Tn,Un,Mn,zn,Sn,Dn,jn,_n,Kn,Pn,qn,$n,el,tl,nl,ll,al,Il,rl=0,sl=0,ol=0,cl=0,il=0,dl=0,ul=0,pl=0,ml=0,bl=0,Gl=0,hl=0,Zl=0,Al=0,Wl=0,Nl=0,gl=0,yl=0,vl=0,Yl=0,El=0,Vl=0,Rl=0,wl=0,Fl=0,Ql=0,fl=0,Hl=0,Cl=0,Xl=0,kl=0,Jl=0,Ll=0,Bl=0,xl=0,Ol=0,Tl=0,Ul=0,Ml=0,zl=0,Sl=0,Dl=0,jl=0,_l=0,Kl=0,Pl=0;return mn=un=mn-560|0,MA(ol=un+352|0),on&&W(ol,35120,34,0),FA(un+288|0,sn,32,0),W(dl=un+352|0,un+320|0,32,0),W(dl,en,In,rn),v(dl,pl=un+224|0),bl=an[(sl=sn)+32|0]|an[sl+33|0]<<8|an[sl+34|0]<<16|an[sl+35|0]<<24,Gl=an[sl+36|0]|an[sl+37|0]<<8|an[sl+38|0]<<16|an[sl+39|0]<<24,cl=an[sl+40|0]|an[sl+41|0]<<8|an[sl+42|0]<<16|an[sl+43|0]<<24,rl=an[sl+44|0]|an[sl+45|0]<<8|an[sl+46|0]<<16|an[sl+47|0]<<24,ol=an[sl+48|0]|an[sl+49|0]<<8|an[sl+50|0]<<16|an[sl+51|0]<<24,sn=an[sl+52|0]|an[sl+53|0]<<8|an[sl+54|0]<<16|an[sl+55|0]<<24,il=an[sl+60|0]|an[sl+61|0]<<8|an[sl+62|0]<<16|an[sl+63|0]<<24,sl=an[sl+56|0]|an[sl+57|0]<<8|an[sl+58|0]<<16|an[sl+59|0]<<24,tn[Wt+56|0]=sl,tn[Wt+57|0]=sl>>>8,tn[Wt+58|0]=sl>>>16,tn[Wt+59|0]=sl>>>24,tn[Wt+60|0]=il,tn[Wt+61|0]=il>>>8,tn[Wt+62|0]=il>>>16,tn[Wt+63|0]=il>>>24,tn[Wt+48|0]=ol,tn[Wt+49|0]=ol>>>8,tn[Wt+50|0]=ol>>>16,tn[Wt+51|0]=ol>>>24,tn[Wt+52|0]=sn,tn[Wt+53|0]=sn>>>8,tn[Wt+54|0]=sn>>>16,tn[Wt+55|0]=sn>>>24,tn[Wt+40|0]=cl,tn[Wt+41|0]=cl>>>8,tn[Wt+42|0]=cl>>>16,tn[Wt+43|0]=cl>>>24,tn[Wt+44|0]=rl,tn[Wt+45|0]=rl>>>8,tn[Wt+46|0]=rl>>>16,tn[Wt+47|0]=rl>>>24,tn[0|(sn=Wt+32|0)]=bl,tn[sn+1|0]=bl>>>8,tn[sn+2|0]=bl>>>16,tn[sn+3|0]=bl>>>24,tn[sn+4|0]=Gl,tn[sn+5|0]=Gl>>>8,tn[sn+6|0]=Gl>>>16,tn[sn+7|0]=Gl>>>24,s(pl),Z(un,pl),mA(Wt,un),MA(dl),on&&W(dl,35120,34,0),W(on=un+352|0,Wt,64,0),W(on,en,In,rn),v(on,ul=un+160|0),s(ul),tn[un+288|0]=248&an[un+288|0],tn[un+319|0]=63&an[un+319|0]|64,en=an[23+(Wt=dn=un+288|0)|0],cl=PA(pn=an[Wt+21|0]|an[Wt+22|0]<<8|en<<16&2031616,0,Gn=(an[ul+28|0]|an[ul+29|0]<<8|an[ul+30|0]<<16|an[ul+31|0]<<24)>>>7|0,0),ol=bn,en=(Wt=an[ul+27|0])>>>24|0,rn=Wt<<8|(rl=an[ul+23|0]|an[ul+24|0]<<8|an[ul+25|0]<<16|an[ul+26|0]<<24)>>>24,Wt=PA(hn=2097151&((3&(Gl=(Wt=(In=an[ul+28|0])>>>16|0)|en))<<30|(en=(In<<=16)|rn)>>>2),0,Zn=(on=an[dn+23|0]|an[dn+24|0]<<8|an[dn+25|0]<<16|an[dn+26|0]<<24)>>>5&2097151,0),en=bn+ol|0,In=Wt>>>0>(rn=Wt+cl|0)>>>0?en+1|0:en,Wt=PA(An=(en=an[ul+23|0])<<16&2031616|an[ul+21|0]|an[ul+22|0]<<8,0,Wn=(an[dn+28|0]|an[dn+29|0]<<8|an[dn+30|0]<<16|an[dn+31|0]<<24)>>>7|0,0),In=bn+In|0,ol=en=Wt+rn|0,rn=Wt>>>0>en>>>0?In+1|0:In,In=(Wt=an[dn+27|0])>>>24|0,on=Wt<<8|on>>>24,Wt=PA(Nn=2097151&((3&(In|=en=(Wt=an[dn+28|0])>>>16|0))<<30|(en=(Wt<<=16)|on)>>>2),0,gn=rl>>>5&2097151,0),en=bn+rn|0,sl=In=Wt+ol|0,rn=Wt>>>0>In>>>0?en+1|0:en,rl=PA(Zn,0,gn,0),ol=bn,en=(Wt=an[dn+19|0])>>>24|0,on=Wt<<8|(yl=an[dn+15|0]|an[dn+16|0]<<8|an[dn+17|0]<<16|an[dn+18|0]<<24)>>>24,In=en,en=PA(yn=(7&(In|=en=(Wt=an[dn+20|0])>>>16|0))<<29|(en=(Wt<<=16)|on)>>>3,Gl=In>>>3|0,Gn,0),Wt=bn+ol|0,Wt=en>>>0>(In=en+rl|0)>>>0?Wt+1|0:Wt,on=(en=PA(pn,0,hn,0))+In|0,In=bn+Wt|0,en=en>>>0>(rl=on)>>>0?In+1|0:In,In=(Wt=an[ul+19|0])>>>24|0,ol=Wt<<8|(Wl=an[ul+15|0]|an[ul+16|0]<<8|an[ul+17|0]<<16|an[ul+18|0]<<24)>>>24,Wt=PA(vn=(7&(cl=(Wt=(on=an[ul+20|0])>>>16|0)|In))<<29|(In=(on<<=16)|ol)>>>3,Yn=cl>>>3|0,Wn,0),en=bn+en|0,en=Wt>>>0>(In=Wt+rl|0)>>>0?en+1|0:en,Wt=PA(An,0,Nn,0),en=bn+en|0,bl=en=Wt>>>0>(pl=Wt+In|0)>>>0?en+1|0:en,hl=Wt=en-((pl>>>0<4293918720)-1|0)|0,In=(en=Wt>>>21|0)+rn|0,rl=In=(Wt=(2097151&Wt)<<11|(cl=pl- -1048576|0)>>>21)>>>0>(sl=Wt+sl|0)>>>0?In+1|0:In,Al=Wt=In-((sl>>>0<4293918720)-1|0)|0,il=(2097151&Wt)<<11|(ol=sl- -1048576|0)>>>21,on=Wt>>>21|0,Wt=PA(Wn,0,gn,0),en=bn,In=Wt,Wt=PA(Gn,0,Zn,0),en=bn+en|0,en=Wt>>>0>(In=In+Wt|0)>>>0?en+1|0:en,Zl=(Wt=In)+(In=PA(hn,0,Nn,0))|0,Wt=bn+en|0,Wt=In>>>0>Zl>>>0?Wt+1|0:Wt,dl=Zl-(en=-2097152&(In=Zl- -1048576|0))|0,en=(Wt-((131071&(rn=Wt-((Zl>>>0<4293918720)-1|0)|0))+(en>>>0>Zl>>>0)|0)|0)+on|0,xn=en=(Wt=il+dl|0)>>>0
                      >>0?en+1|0:en,On=Wt,dl=PA(Wt,en,470296,0),il=bn,en=PA(Gn,0,Nn,0),Wt=bn,on=en,en=PA(hn,0,Wn,0),Wt=bn+Wt|0,en=en>>>0>(on=on+en|0)>>>0?Wt+1|0:Wt,Wt=rn>>>21|0,rn=(2097151&rn)<<11|In>>>21,In=Wt+en|0,Vl=rn=(In=rn>>>0>(on=rn+on|0)>>>0?In+1|0:In)-((on>>>0<4293918720)-1|0)|0,Wt=on-(en=-2097152&(El=on- -1048576|0))|0,Tn=on=In-((131071&rn)+(en>>>0>on>>>0)|0)|0,Un=en=sl-(In=-2097152&ol)|0,Mn=rn=rl-((In>>>0>sl>>>0)+Al|0)|0,zn=Wt,In=PA(Wt,on,666643,0),Wt=bn+il|0,Wt=In>>>0>(on=In+dl|0)>>>0?Wt+1|0:Wt,In=PA(en,rn,654183,0),en=bn+Wt|0,ml=rn=In+on|0,ol=In>>>0>rn>>>0?en+1|0:en,Zl=pl-(Wt=-2097152&cl)|0,hl=bl-((Wt>>>0>pl>>>0)+hl|0)|0,en=PA(hn,0,yn,Gl),In=bn,rn=(Wt=en)+(en=PA(En=yl>>>6&2097151,0,Gn,0))|0,Wt=bn+In|0,Wt=en>>>0>rn>>>0?Wt+1|0:Wt,en=PA(Zn,0,An,0),In=bn+Wt|0,In=en>>>0>(rn=en+rn|0)>>>0?In+1|0:In,Wt=PA(pn,0,gn,0),en=bn+In|0,en=Wt>>>0>(rn=Wt+rn|0)>>>0?en+1|0:en,In=PA(Wn,0,Vn=Wl>>>6&2097151,0),Wt=bn+en|0,Wt=In>>>0>(rn=In+rn|0)>>>0?Wt+1|0:Wt,In=PA(Nn,0,vn,Yn),en=bn+Wt|0,pl=rn=In+rn|0,on=In>>>0>rn>>>0?en+1|0:en,en=(Wt=an[dn+14|0])>>>24|0,rn=Wt<<8|(bl=an[dn+10|0]|an[dn+11|0]<<8|an[dn+12|0]<<16|an[dn+13|0]<<24)>>>24,en=PA(Rn=2097151&((1&(en|=Wt=(In=an[dn+15|0])>>>16|0))<<31|(Wt=(In<<=16)|rn)>>>1),0,Gn,0),Wt=bn,In=en,en=PA(hn,0,En,0),Wt=bn+Wt|0,Wt=en>>>0>(In=In+en|0)>>>0?Wt+1|0:Wt,rn=(en=PA(gn,0,yn,Gl))+In|0,In=bn+Wt|0,In=en>>>0>rn>>>0?In+1|0:In,Wt=PA(Zn,0,vn,Yn),en=bn+In|0,en=Wt>>>0>(rn=Wt+rn|0)>>>0?en+1|0:en,Wt=PA(pn,0,An,0),en=bn+en|0,cl=In=Wt+rn|0,rn=Wt>>>0>In>>>0?en+1|0:en,en=(Wt=an[ul+14|0])>>>24|0,rl=Wt<<8|(sl=an[ul+10|0]|an[ul+11|0]<<8|an[ul+12|0]<<16|an[ul+13|0]<<24)>>>24,In=en,en=(Wt=an[ul+15|0])>>>16|0,en=PA(wn=2097151&((1&(en|=In))<<31|(Wt=Wt<<16|rl)>>>1),0,Wn,0),Wt=bn+rn|0,Wt=en>>>0>(In=en+cl|0)>>>0?Wt+1|0:Wt,en=PA(Nn,0,Vn,0),Wt=bn+Wt|0,rl=Wt=en>>>0>(cl=en+In|0)>>>0?Wt+1|0:Wt,Rl=en=Wt-((cl>>>0<4293918720)-1|0)|0,In=(Wt=en>>>21|0)+on|0,il=In=(en=(2097151&en)<<11|(dl=cl- -1048576|0)>>>21)>>>0>(Al=en+pl|0)>>>0?In+1|0:In,vl=en=In-((Al>>>0<4293918720)-1|0)|0,Wt=(Wt=en>>>21|0)+hl|0,Sn=Wt=(en=(In=(2097151&en)<<11|(pl=Al- -1048576|0)>>>21)+Zl|0)>>>0>>0?Wt+1|0:Wt,Dn=en,Wt=PA(en,Wt,-997805,-1),en=bn+ol|0,ml=In=Wt+ml|0,ol=Wt>>>0>In>>>0?en+1|0:en,Zl=(Ql=an[23+(cn=un+224|0)|0]|an[cn+24|0]<<8|an[cn+25|0]<<16|an[cn+26|0]<<24)>>>5&2097151,In=PA(Fn=(Wt=an[dn+2|0])<<16&2031616|an[0|dn]|an[dn+1|0]<<8,0,gn,0),en=bn,rn=(Wt=PA(An,0,Qn=(on=an[dn+2|0]|an[dn+3|0]<<8|an[dn+4|0]<<16|an[dn+5|0]<<24)>>>5&2097151,0))+In|0,In=bn+en|0,In=Wt>>>0>rn>>>0?In+1|0:In,Wt=PA(fn=(an[dn+7|0]|an[dn+8|0]<<8|an[dn+9|0]<<16|an[dn+10|0]<<24)>>>7&2097151,0,Vn,0),en=bn+In|0,en=Wt>>>0>(rn=Wt+rn|0)>>>0?en+1|0:en,In=PA(wn,0,Hn=bl>>>4&2097151,0),Wt=bn+en|0,bl=rn=In+rn|0,rn=In>>>0>rn>>>0?Wt+1|0:Wt,on=(en=an[dn+6|0])<<8|on>>>24,In=Wt=en>>>24|0,en=(Wt=an[dn+7|0])>>>16|0,en=PA(Cn=2097151&((3&(en|=In))<<30|(Wt=Wt<<16|on)>>>2),0,vn,Yn),Wt=bn+rn|0,Wt=en>>>0>(In=en+bl|0)>>>0?Wt+1|0:Wt,rn=(en=PA(En,0,Xn=(an[ul+7|0]|an[ul+8|0]<<8|an[ul+9|0]<<16|an[ul+10|0]<<24)>>>7&2097151,0))+In|0,In=bn+Wt|0,In=en>>>0>rn>>>0?In+1|0:In,en=PA(Rn,0,Yl=sl>>>4&2097151,0),Wt=bn+In|0,on=en>>>0>(rn=en+rn|0)>>>0?Wt+1|0:Wt,Wt=(en=an[ul+6|0])>>>24|0,bl=en<<8|(sl=an[ul+2|0]|an[ul+3|0]<<8|an[ul+4|0]<<16|an[ul+5|0]<<24)>>>24,en=Wt,Wt=PA(yn,Gl,kn=2097151&((3&(en|=In=(Wt=an[ul+7|0])>>>16|0))<<30|(Wt=Wt<<16|bl)>>>2),0),en=bn+on|0,en=Wt>>>0>(In=Wt+rn|0)>>>0?en+1|0:en,rn=In,In=PA(Jn=(Wt=an[ul+2|0])<<16&2031616|an[0|ul]|an[ul+1|0]<<8,0,Zn,0),Wt=bn+en|0,Wt=In>>>0>(rn=rn+In|0)>>>0?Wt+1|0:Wt,en=PA(pn,0,Ln=sl>>>5&2097151,0),Wt=bn+Wt|0,Wt=en>>>0>(In=en+rn|0)>>>0?Wt+1|0:Wt,en=In,bl=In=In+Zl|0,on=en=en>>>0>In>>>0?Wt+1|0:Wt,rn=an[cn+21|0]|an[cn+22|0]<<8,Wt=PA(An,0,Fn,0),en=bn,sl=(In=Wt)+(Wt=PA(vn,Yn,Qn,0))|0,In=bn+en|0,In=Wt>>>0>sl>>>0?In+1|0:In,Wt=PA(wn,0,fn,0),en=bn+In|0,en=Wt>>>0>(sl=Wt+sl|0)>>>0?en+1|0:en,Wt=PA(Hn,0,Yl,0),en=bn+en|0,en=Wt>>>0>(In=Wt+sl|0)>>>0?en+1|0:en,sl=(Wt=In)+(In=PA(Vn,0,Cn,0))|0,Wt=bn+en|0,Wt=In>>>0>sl>>>0?Wt+1|0:Wt,en=PA(En,0,kn,0),Wt=bn+Wt|0,Wt=en>>>0>(In=en+sl|0)>>>0?Wt+1|0:Wt,sl=(en=PA(Rn,0,Xn,0))+In|0,In=bn+Wt|0,In=en>>>0>sl>>>0?In+1|0:In,Wt=PA(yn,Gl,Ln,0),en=bn+In|0,en=Wt>>>0>(sl=Wt+sl|0)>>>0?en+1|0:en,Wt=PA(pn,0,Jn,0),en=bn+en|0,Wt=Wt>>>0>(In=Wt+sl|0)>>>0?en+1|0:en,en=(en=In)>>>0>(In=In+rn|0)>>>0?Wt+1|0:Wt,rn=In,In=(Wt=an[cn+23|0])<<16&2031616,Wt=en,In=Wt=In>>>0>(rn=rn+In|0)>>>0?Wt+1|0:Wt,ul=Wt=Wt-((rn>>>0<4293918720)-1|0)|0,en=(en=Wt>>>21|0)+on|0,Wt=(en=(on=bl=(Wt=(2097151&Wt)<<11|(sl=rn- -1048576|0)>>>21)+bl|0)>>>0>>0?en+1|0:en)+ol|0,Wt=(ol=on+ml|0)>>>0>>0?Wt+1|0:Wt,Wl=on- -1048576|0,Nl=on=en-((on>>>0<4293918720)-1|0)|0,gl=ol-(en=-2097152&Wl)|0,wl=Wt-((en>>>0>ol>>>0)+on|0)|0,bl=rn,ol=In,Wt=PA(Un,Mn,470296,0),en=bn,In=Wt,Wt=PA(On,xn,666643,0),en=bn+en|0,en=Wt>>>0>(In=In+Wt|0)>>>0?en+1|0:en,rn=(Wt=In)+(In=PA(Dn,Sn,654183,0))|0,Wt=bn+en|0,yl=rn,on=In>>>0>rn>>>0?Wt+1|0:Wt,en=PA(vn,Yn,Fn,0),Wt=bn,In=en,en=PA(Vn,0,Qn,0),Wt=bn+Wt|0,Wt=en>>>0>(In=In+en|0)>>>0?Wt+1|0:Wt,rn=(en=In)+(In=PA(fn,0,Yl,0))|0,en=bn+Wt|0,en=In>>>0>rn>>>0?en+1|0:en,Wt=PA(Hn,0,Xn,0),In=bn+en|0,In=Wt>>>0>(rn=Wt+rn|0)>>>0?In+1|0:In,Wt=PA(wn,0,Cn,0),en=bn+In|0,en=Wt>>>0>(rn=Wt+rn|0)>>>0?en+1|0:en,In=PA(En,0,Ln,0),Wt=bn+en|0,Wt=In>>>0>(rn=In+rn|0)>>>0?Wt+1|0:Wt,en=PA(Rn,0,kn,0),Wt=bn+Wt|0,Wt=en>>>0>(In=en+rn|0)>>>0?Wt+1|0:Wt,rn=(en=In)+(In=PA(yn,Gl,Jn,0))|0,en=bn+Wt|0,Zl=rn,In=In>>>0>rn>>>0?en+1|0:en,en=(Wt=an[cn+19|0])>>>24|0,hl=Wt<<8|(ml=an[cn+15|0]|an[cn+16|0]<<8|an[cn+17|0]<<16|an[cn+18|0]<<24)>>>24,In=((Fl=(Wt=(rn=an[cn+20|0])>>>16|0)|en)>>>3|0)+In|0,Zl=rn=(en=(7&Fl)<<29|(en=(rn<<=16)|hl)>>>3)+Zl|0,rn=en>>>0>rn>>>0?In+1|0:In,hl=ml>>>6&2097151,Wt=PA(Vn,0,Fn,0),en=bn,In=Wt,Wt=PA(wn,0,Qn,0),en=bn+en|0,en=Wt>>>0>(In=In+Wt|0)>>>0?en+1|0:en,ml=(Wt=In)+(In=PA(fn,0,Xn,0))|0,Wt=bn+en|0,Wt=In>>>0>ml>>>0?Wt+1|0:Wt,In=PA(Hn,0,kn,0),en=bn+Wt|0,en=In>>>0>(ml=In+ml|0)>>>0?en+1|0:en,In=PA(Cn,0,Yl,0),Wt=bn+en|0,Wt=In>>>0>(ml=In+ml|0)>>>0?Wt+1|0:Wt,en=PA(En,0,Jn,0),In=bn+Wt|0,In=en>>>0>(ml=en+ml|0)>>>0?In+1|0:In,Wt=PA(Rn,0,Ln,0),en=bn+In|0,Wt=Wt>>>0>(ml=Wt+ml|0)>>>0?en+1|0:en,xl=Wt=(Hl=ml+hl|0)>>>0>>0?Wt+1|0:Wt,Dl=Wt=Wt-((Hl>>>0<4293918720)-1|0)|0,In=(2097151&Wt)<<11|(Ll=Hl- -1048576|0)>>>21,Wt=(Wt>>>21|0)+rn|0,Tl=Wt=In>>>0>(Ol=In+Zl|0)>>>0?Wt+1|0:Wt,jl=Wt=Wt-((Ol>>>0<4293918720)-1|0)|0,In=(2097151&Wt)<<11|(Xl=Ol- -1048576|0)>>>21,Wt=(Wt>>>21|0)+on|0,en=(In>>>0>(rn=In+yl|0)>>>0?Wt+1|0:Wt)+ol|0,ol=(In=rn+bl|0)-(Wt=-2097152&sl)|0,ul=Wt=(en=In>>>0>>0?en+1|0:en)-((Wt>>>0>In>>>0)+ul|0)|0,_l=Wt=Wt-((ol>>>0<4293918720)-1|0)|0,In=(2097151&Wt)<<11|(kl=ol- -1048576|0)>>>21,Wt=(Wt>>21)+wl|0,rn=Wt=In>>>0>(on=In+gl|0)>>>0?Wt+1|0:Wt,Sl=Wt=Wt-((on>>>0<4293918720)-1|0)|0,Jl=(2097151&Wt)<<11|(yl=on- -1048576|0)>>>21,bl=Wt>>21,Fl=Al-(Wt=-2097152&pl)|0,vl=il-((Wt>>>0>Al>>>0)+vl|0)|0,Wt=PA(Gn,0,Wn,0),Bl=en=bn,gl=Wt,ml=Wt- -1048576|0,Cl=en=en-((Wt>>>0<4293918720)-1|0)|0,jn=Wt=en>>>21|0,Wt=PA(Bn=(2097151&en)<<11|ml>>>21,Wt,-683901,-1),en=bn+rl|0,en=Wt>>>0>(In=Wt+cl|0)>>>0?en+1|0:en,pl=In-(Wt=-2097152&dl)|0,sl=en-((Wt>>>0>In>>>0)+Rl|0)|0,en=PA(gn,0,En,0),Wt=bn,In=en,en=PA(Gn,0,Hn,0),Wt=bn+Wt|0,Wt=en>>>0>(In=In+en|0)>>>0?Wt+1|0:Wt,en=PA(hn,0,Rn,0),Wt=bn+Wt|0,Wt=en>>>0>(In=en+In|0)>>>0?Wt+1|0:Wt,rl=(en=In)+(In=PA(An,0,yn,Gl))|0,en=bn+Wt|0,en=In>>>0>rl>>>0?en+1|0:en,Wt=PA(Zn,0,Vn,0),In=bn+en|0,In=Wt>>>0>(rl=Wt+rl|0)>>>0?In+1|0:In,Wt=PA(pn,0,vn,Yn),en=bn+In|0,en=Wt>>>0>(rl=Wt+rl|0)>>>0?en+1|0:en,In=PA(Wn,0,Yl,0),Wt=bn+en|0,Wt=In>>>0>(rl=In+rl|0)>>>0?Wt+1|0:Wt,en=PA(Nn,0,wn,0),Wt=bn+Wt|0,cl=In=en+rl|0,rl=en>>>0>In>>>0?Wt+1|0:Wt,Wt=PA(hn,0,Hn,0),en=bn,In=Wt,Wt=PA(Gn,0,fn,0),en=bn+en|0,en=Wt>>>0>(In=In+Wt|0)>>>0?en+1|0:en,il=(Wt=PA(An,0,En,0))+In|0,In=bn+en|0,In=Wt>>>0>il>>>0?In+1|0:In,Wt=PA(gn,0,Rn,0),en=bn+In|0,en=Wt>>>0>(il=Wt+il|0)>>>0?en+1|0:en,In=PA(yn,Gl,vn,Yn),Wt=bn+en|0,Wt=In>>>0>(il=In+il|0)>>>0?Wt+1|0:Wt,en=PA(Zn,0,wn,0),Wt=bn+Wt|0,Wt=en>>>0>(In=en+il|0)>>>0?Wt+1|0:Wt,il=(en=In)+(In=PA(pn,0,Vn,0))|0,en=bn+Wt|0,en=In>>>0>il>>>0?en+1|0:en,Wt=PA(Wn,0,Xn,0),In=bn+en|0,In=Wt>>>0>(il=Wt+il|0)>>>0?In+1|0:In,Wt=PA(Nn,0,Yl,0),en=bn+In|0,hl=en=Wt>>>0>(Zl=Wt+il|0)>>>0?en+1|0:en,Ml=Wt=en-((Zl>>>0<4293918720)-1|0)|0,en=(2097151&Wt)<<11|(Al=Zl- -1048576|0)>>>21,Wt=(Wt>>>21|0)+rl|0,dl=Wt=en>>>0>(Rl=en+cl|0)>>>0?Wt+1|0:Wt,fl=Wt=Wt-((Rl>>>0<4293918720)-1|0)|0,en=(In=Wt>>>21|0)+sl|0,pl=en=(Wt=(2097151&Wt)<<11|(il=Rl- -1048576|0)>>>21)>>>0>(wl=Wt+pl|0)>>>0?en+1|0:en,Ul=Wt=en-((wl>>>0<4293918720)-1|0)|0,rl=(2097151&Wt)<<11|(sl=wl- -1048576|0)>>>21,Wt=(Wt>>21)+vl|0,_n=Wt=(en=rl+Fl|0)>>>0>>0?Wt+1|0:Wt,Kn=en,Wt=PA(en,Wt,-683901,-1),en=bn+bl|0,Jl=In=Wt+Jl|0,bl=Wt>>>0>In>>>0?en+1|0:en,Wt=PA(hn,0,Fn,0),en=bn,In=Wt,Wt=PA(gn,0,Qn,0),en=bn+en|0,en=Wt>>>0>(In=In+Wt|0)>>>0?en+1|0:en,rl=(Wt=In)+(In=PA(vn,Yn,fn,0))|0,Wt=bn+en|0,Wt=In>>>0>rl>>>0?Wt+1|0:Wt,en=PA(Vn,0,Hn,0),In=bn+Wt|0,In=en>>>0>(rl=en+rl|0)>>>0?In+1|0:In,en=PA(An,0,Cn,0),Wt=bn+In|0,Wt=en>>>0>(rl=en+rl|0)>>>0?Wt+1|0:Wt,In=PA(En,0,Yl,0),en=bn+Wt|0,en=In>>>0>(rl=In+rl|0)>>>0?en+1|0:en,Wt=PA(Rn,0,wn,0),en=bn+en|0,en=Wt>>>0>(In=Wt+rl|0)>>>0?en+1|0:en,rl=(Wt=In)+(In=PA(yn,Gl,Xn,0))|0,Wt=bn+en|0,Wt=In>>>0>rl>>>0?Wt+1|0:Wt,en=PA(Zn,0,Ln,0),In=bn+Wt|0,In=en>>>0>(rl=en+rl|0)>>>0?In+1|0:In,en=PA(pn,0,kn,0),Wt=bn+In|0,Wt=en>>>0>(rl=en+rl|0)>>>0?Wt+1|0:Wt,In=PA(Nn,0,Jn,0),en=bn+Wt|0,vl=rl=In+rl|0,In=In>>>0>rl>>>0?en+1|0:en,en=(Wt=an[cn+27|0])>>>24|0,cl=Wt<<8|Ql>>>24,rl=2097151&((3&(en|=Wt=(rl=an[cn+28|0])>>>16|0))<<30|(Wt=(rl<<=16)|cl)>>>2),en=In,cl=Wt=rl+vl|0,rl=Wt>>>0>>0?en+1|0:en,Fl=PA(zn,Tn,470296,0),vl=bn,Wt=(In=(2097151&Vl)<<11|El>>>21)+(gl-(en=-2097152&ml)|0)|0,en=Bl-((524287&Cl)+(en>>>0>gl>>>0)|0)+(Vl>>>21)|0,Pn=en=Wt>>>0>>0?en+1|0:en,qn=Wt,en=PA(Wt,en,666643,0),Wt=bn+vl|0,Wt=en>>>0>(In=en+Fl|0)>>>0?Wt+1|0:Wt,ml=(en=PA(On,xn,654183,0))+In|0,In=bn+Wt|0,In=en>>>0>ml>>>0?In+1|0:In,en=PA(Un,Mn,-997805,-1),Wt=bn+In|0,Wt=en>>>0>(ml=en+ml|0)>>>0?Wt+1|0:Wt,In=PA(Dn,Sn,136657,0),en=bn+Wt|0,Wl=(Wt=(2097151&Nl)<<11|Wl>>>21)+(ml=In+ml|0)|0,en=(Nl>>>21|0)+(In>>>0>ml>>>0?en+1|0:en)|0,Cl=ml=rl-((cl>>>0<4293918720)-1|0)|0,Wt=(Wt>>>0>Wl>>>0?en+1|0:en)+rl|0,en=(rl=cl+Wl|0)-(In=-2097152&(Bl=cl- -1048576|0))|0,In=(Wt=(Wt=rl>>>0>>0?Wt+1|0:Wt)-((In>>>0>rl>>>0)+ml|0)|0)+bl|0,Fl=rl=Wt-((en>>>0<4293918720)-1|0)|0,gl=(In=(cl=en+Jl|0)>>>0>>0?In+1|0:In)-(((en=-2097152&(vl=en- -1048576|0))>>>0>cl>>>0)+rl|0)|0,Ql=Wt=cl-en|0,rl=on,on=rn,zl=wl-(Wt=-2097152&sl)|0,ml=pl-((Wt>>>0>wl>>>0)+Ul|0)|0,Wt=PA(qn,Pn,-683901,-1),en=bn,rn=(In=Wt)+(Wt=PA(Bn,jn,136657,0))|0,In=bn+en|0,en=dl+(Wt>>>0>rn>>>0?In+1|0:In)|0,il=(In=rn+Rl|0)-(Wt=-2097152&il)|0,pl=(en=In>>>0>>0?en+1|0:en)-((Wt>>>0>In>>>0)+fl|0)|0,en=PA(Bn,jn,-997805,-1),Wt=bn+hl|0,Wt=en>>>0>(In=en+Zl|0)>>>0?Wt+1|0:Wt,rn=(en=PA(qn,Pn,136657,0))+In|0,In=bn+Wt|0,In=en>>>0>rn>>>0?In+1|0:In,Wt=PA(zn,Tn,-683901,-1),en=bn+In|0,en=Wt>>>0>(rn=Wt+rn|0)>>>0?en+1|0:en,sl=rn-(Wt=-2097152&Al)|0,bl=en-((Wt>>>0>rn>>>0)+Ml|0)|0,en=PA(gn,0,Hn,0),Wt=bn,In=en,en=PA(hn,0,fn,0),Wt=bn+Wt|0,Wt=en>>>0>(In=In+en|0)>>>0?Wt+1|0:Wt,rn=(en=PA(Gn,0,Cn,0))+In|0,In=bn+Wt|0,In=en>>>0>rn>>>0?In+1|0:In,Wt=PA(vn,Yn,En,0),en=bn+In|0,en=Wt>>>0>(rn=Wt+rn|0)>>>0?en+1|0:en,In=PA(An,0,Rn,0),Wt=bn+en|0,Wt=In>>>0>(rn=In+rn|0)>>>0?Wt+1|0:Wt,In=PA(yn,Gl,Vn,0),en=bn+Wt|0,en=In>>>0>(rn=In+rn|0)>>>0?en+1|0:en,In=PA(Zn,0,Yl,0),Wt=bn+en|0,Wt=In>>>0>(rn=In+rn|0)>>>0?Wt+1|0:Wt,en=PA(pn,0,wn,0),In=bn+Wt|0,In=en>>>0>(rn=en+rn|0)>>>0?In+1|0:In,Wt=PA(Wn,0,kn,0),en=bn+In|0,en=Wt>>>0>(rn=Wt+rn|0)>>>0?en+1|0:en,In=PA(Nn,0,Xn,0),Wt=bn+en|0,cl=rn=In+rn|0,rn=In>>>0>rn>>>0?Wt+1|0:Wt,Wt=PA(gn,0,fn,0),en=bn,In=Wt,Wt=PA(Gn,0,Qn,0),en=bn+en|0,en=Wt>>>0>(In=In+Wt|0)>>>0?en+1|0:en,dl=(Wt=In)+(In=PA(An,0,Hn,0))|0,Wt=bn+en|0,Wt=In>>>0>dl>>>0?Wt+1|0:Wt,en=PA(hn,0,Cn,0),In=bn+Wt|0,In=en>>>0>(dl=en+dl|0)>>>0?In+1|0:In,Wt=PA(En,0,Vn,0),en=bn+In|0,en=Wt>>>0>(dl=Wt+dl|0)>>>0?en+1|0:en,In=PA(vn,Yn,Rn,0),Wt=bn+en|0,Wt=In>>>0>(dl=In+dl|0)>>>0?Wt+1|0:Wt,In=PA(yn,Gl,wn,0),en=bn+Wt|0,en=In>>>0>(dl=In+dl|0)>>>0?en+1|0:en,In=PA(Zn,0,Xn,0),Wt=bn+en|0,Wt=In>>>0>(dl=In+dl|0)>>>0?Wt+1|0:Wt,en=PA(pn,0,Yl,0),In=bn+Wt|0,In=en>>>0>(dl=en+dl|0)>>>0?In+1|0:In,dl=(Wt=PA(Wn,0,Ln,0))+dl|0,en=bn+In|0,In=PA(Nn,0,kn,0),Wt=bn+(Wt>>>0>dl>>>0?en+1|0:en)|0,wl=Wt=In>>>0>(Ul=In+dl|0)>>>0?Wt+1|0:Wt,el=Wt=Wt-((Ul>>>0<4293918720)-1|0)|0,In=(2097151&Wt)<<11|(Vl=Ul- -1048576|0)>>>21,Wt=(Wt>>>21|0)+rn|0,El=Wt=In>>>0>(Jl=In+cl|0)>>>0?Wt+1|0:Wt,tl=Wt=Wt-((Jl>>>0<4293918720)-1|0)|0,In=(2097151&Wt)<<11|(Nl=Jl- -1048576|0)>>>21,Wt=(Wt>>>21|0)+bl|0,Wl=Wt=In>>>0>(Rl=In+sl|0)>>>0?Wt+1|0:Wt,nl=Wt=Wt-((Rl>>>0<4293918720)-1|0)|0,In=(2097151&Wt)<<11|(hl=Rl- -1048576|0)>>>21,Wt=(Wt>>21)+pl|0,rn=Wt=In>>>0>(sl=In+il|0)>>>0?Wt+1|0:Wt,pl=Wt=Wt-((sl>>>0<4293918720)-1|0)|0,bl=(2097151&Wt)<<11|(In=sl- -1048576|0)>>>21,Wt=(Wt>>21)+ml|0,Ml=Wt=(cl=bl+zl|0)>>>0>>0?Wt+1|0:Wt,fl=cl,Wt=PA(cl,Wt,-683901,-1),en=bn,cl=Wt,Wt=PA(Kn,_n,136657,0),en=bn+en|0,Wt=(Wt>>>0>(cl=cl+Wt|0)>>>0?en+1|0:en)+on|0,Kl=(on=rl+cl|0)-(en=-2097152&yl)|0,Pl=(Wt=on>>>0>>0?Wt+1|0:Wt)-((en>>>0>on>>>0)+Sl|0)|0,bl=ol,cl=ul,ol=PA(fl,Ml,136657,0),on=bn,zl=Wt=sl-(en=-2097152&In)|0,$n=rn=rn-((en>>>0>sl>>>0)+pl|0)|0,In=PA(Kn,_n,-997805,-1),en=bn+on|0,en=In>>>0>(ol=In+ol|0)>>>0?en+1|0:en,In=PA(Wt,rn,-683901,-1),Wt=bn+en|0,Sl=rn=In+ol|0,rl=In>>>0>rn>>>0?Wt+1|0:Wt,Wt=PA(Dn,Sn,470296,0),en=bn,rn=(In=Wt)+(Wt=PA(Un,Mn,666643,0))|0,In=bn+en|0,en=Tl+(Wt>>>0>rn>>>0?In+1|0:In)|0,yl=Wt=rn+Ol|0,on=en=Wt>>>0
                        >>0?en+1|0:en,en=PA(Dn,Sn,666643,0),Wt=bn+xl|0,Wt=en>>>0>(In=en+Hl|0)>>>0?Wt+1|0:Wt,il=In-(en=-2097152&Ll)|0,Zl=Wt-((en>>>0>In>>>0)+Dl|0)|0,en=PA(wn,0,Fn,0),Wt=bn,In=en,en=PA(Qn,0,Yl,0),Wt=bn+Wt|0,Wt=en>>>0>(In=In+en|0)>>>0?Wt+1|0:Wt,rn=(en=In)+(In=PA(fn,0,kn,0))|0,en=bn+Wt|0,en=In>>>0>rn>>>0?en+1|0:en,In=PA(Hn,0,Ln,0),Wt=bn+en|0,Wt=In>>>0>(rn=In+rn|0)>>>0?Wt+1|0:Wt,en=PA(Cn,0,Xn,0),In=bn+Wt|0,In=en>>>0>(rn=en+rn|0)>>>0?In+1|0:In,Wt=PA(Rn,0,Jn,0),en=bn+In|0,sl=rn=Wt+rn|0,rn=Wt>>>0>rn>>>0?en+1|0:en,en=(Wt=an[cn+14|0])>>>24|0,ol=Wt<<8|(pl=an[cn+10|0]|an[cn+11|0]<<8|an[cn+12|0]<<16|an[cn+13|0]<<24)>>>24,en=2097151&((1&(en|=In=(Wt=an[cn+15|0])>>>16|0))<<31|(Wt=ol|Wt<<16)>>>1),Wt=rn,sl=In=en+sl|0,rn=en>>>0>In>>>0?Wt+1|0:Wt,ol=pl>>>4&2097151,Wt=PA(Fn,0,Yl,0),en=bn,In=Wt,Wt=PA(Qn,0,Xn,0),en=bn+en|0,en=Wt>>>0>(In=In+Wt|0)>>>0?en+1|0:en,Wt=PA(fn,0,Ln,0),en=bn+en|0,en=Wt>>>0>(In=Wt+In|0)>>>0?en+1|0:en,pl=(Wt=In)+(In=PA(Hn,0,Jn,0))|0,Wt=bn+en|0,Wt=In>>>0>pl>>>0?Wt+1|0:Wt,en=PA(Cn,0,kn,0),In=bn+Wt|0,Wt=en>>>0>(pl=en+pl|0)>>>0?In+1|0:In,ul=Wt=(Ll=ol+pl|0)>>>0>>0?Wt+1|0:Wt,ll=Wt=Wt-((Ll>>>0<4293918720)-1|0)|0,en=(In=Wt>>>21|0)+rn|0,Al=en=(Wt=(2097151&Wt)<<11|(ml=Ll- -1048576|0)>>>21)>>>0>(Tl=Wt+sl|0)>>>0?en+1|0:en,al=Wt=en-((Tl>>>0<4293918720)-1|0)|0,en=(2097151&Wt)<<11|(dl=Tl- -1048576|0)>>>21,Wt=(Wt>>>21|0)+Zl|0,pl=Wt=en>>>0>(il=en+il|0)>>>0?Wt+1|0:Wt,Il=Wt=Wt-((il>>>0<4293918720)-1|0)|0,en=(In=Wt>>21)+on|0,Dl=en=(en=(Wt=(2097151&Wt)<<11|(sl=il- -1048576|0)>>>21)>>>0>(rn=Wt+yl|0)>>>0?en+1|0:en)-(((In=-2097152&Xl)>>>0>rn>>>0)+jl|0)|0,Xl=Wt=rn-In|0,ol=Wt- -1048576|0,jl=Wt=en-((Wt>>>0<4293918720)-1|0)|0,In=(en=Wt>>21)+rl|0,en=((Wt=(2097151&Wt)<<11|ol>>>21)>>>0>(rn=Wt+Sl|0)>>>0?In+1|0:In)+cl|0,Hl=en=(en=(Wt=rn)>>>0>(rn=rn+bl|0)>>>0?en+1|0:en)-(((In=-2097152&kl)>>>0>rn>>>0)+_l|0)|0,cl=Wt=rn-In|0,on=Wt- -1048576|0,xl=Wt=en-((Wt>>>0<4293918720)-1|0)|0,In=(en=Wt>>21)+Pl|0,kl=Wt=(In=(Wt=(2097151&Wt)<<11|on>>>21)>>>0>(rl=Wt+Kl|0)>>>0?In+1|0:In)-((rl>>>0<4293918720)-1|0)|0,yl=Ql- -1048576|0,Zl=gl-((Ql>>>0<4293918720)-1|0)|0,bl=(2097151&Wt)<<11|(rn=rl- -1048576|0)>>>21,Wt=(Wt>>21)+gl|0,_l=(Ql=bl+Ql|0)-(en=-2097152&yl)|0,Kl=(bl>>>0>Ql>>>0?Wt+1|0:Wt)-((en>>>0>Ql>>>0)+Zl|0)|0,Pl=rl-(Wt=-2097152&rn)|0,Sl=In-((Wt>>>0>rl>>>0)+kl|0)|0,Ol=cl-(Wt=-2097152&on)|0,Ql=Hl-((Wt>>>0>cl>>>0)+xl|0)|0,Wt=PA(fl,Ml,-997805,-1),en=bn,In=Wt,Wt=PA(Kn,_n,654183,0),en=bn+en|0,en=Wt>>>0>(In=In+Wt|0)>>>0?en+1|0:en,rn=(Wt=In)+(In=PA(zl,$n,136657,0))|0,Wt=bn+en|0,en=Dl+(In>>>0>rn>>>0?Wt+1|0:Wt)|0,Hl=(In=rn+Xl|0)-(Wt=-2097152&ol)|0,xl=(en=In>>>0>>0?en+1|0:en)-((Wt>>>0>In>>>0)+jl|0)|0,Xl=Rl-(Wt=-2097152&hl)|0,gl=Wl-((Wt>>>0>Rl>>>0)+nl|0)|0,en=PA(qn,Pn,-997805,-1),Wt=bn,In=en,en=PA(Bn,jn,654183,0),Wt=bn+Wt|0,Wt=en>>>0>(In=In+en|0)>>>0?Wt+1|0:Wt,rn=(en=In)+(In=PA(zn,Tn,136657,0))|0,en=bn+Wt|0,en=In>>>0>rn>>>0?en+1|0:en,Wt=PA(On,xn,-683901,-1),In=bn+en|0,en=El+(Wt>>>0>(rn=Wt+rn|0)>>>0?In+1|0:In)|0,hl=(In=rn+Jl|0)-(Wt=-2097152&Nl)|0,Wl=(en=In>>>0>>0?en+1|0:en)-((Wt>>>0>In>>>0)+tl|0)|0,en=PA(qn,Pn,654183,0),Wt=bn,In=en,en=PA(Bn,jn,470296,0),Wt=bn+Wt|0,Wt=en>>>0>(In=In+en|0)>>>0?Wt+1|0:Wt,rn=(en=PA(zn,Tn,-997805,-1))+In|0,In=bn+Wt|0,en=wl+(en>>>0>rn>>>0?In+1|0:In)|0,en=(Wt=rn+Ul|0)>>>0
                          >>0?en+1|0:en,In=Wt,Wt=PA(On,xn,136657,0),en=bn+en|0,en=Wt>>>0>(In=In+Wt|0)>>>0?en+1|0:en,rn=(Wt=In)+(In=PA(Un,Mn,-683901,-1))|0,Wt=bn+en|0,ol=rn-(en=-2097152&Vl)|0,on=(In>>>0>rn>>>0?Wt+1|0:Wt)-((en>>>0>rn>>>0)+el|0)|0,rn=(an[cn+28|0]|an[cn+29|0]<<8|an[cn+30|0]<<16|an[cn+31|0]<<24)>>>7|0,Wt=PA(Gn,0,Fn,0),en=bn,rl=(In=Wt)+(Wt=PA(hn,0,Qn,0))|0,In=bn+en|0,In=Wt>>>0>rl>>>0?In+1|0:In,Wt=PA(An,0,fn,0),en=bn+In|0,en=Wt>>>0>(rl=Wt+rl|0)>>>0?en+1|0:en,In=PA(vn,Yn,Hn,0),Wt=bn+en|0,Wt=In>>>0>(rl=In+rl|0)>>>0?Wt+1|0:Wt,In=PA(gn,0,Cn,0),en=bn+Wt|0,en=In>>>0>(rl=In+rl|0)>>>0?en+1|0:en,In=PA(En,0,wn,0),Wt=bn+en|0,Wt=In>>>0>(rl=In+rl|0)>>>0?Wt+1|0:Wt,en=PA(Vn,0,Rn,0),In=bn+Wt|0,In=en>>>0>(rl=en+rl|0)>>>0?In+1|0:In,Wt=PA(yn,Gl,Yl,0),en=bn+In|0,en=Wt>>>0>(rl=Wt+rl|0)>>>0?en+1|0:en,In=PA(Zn,0,kn,0),Wt=bn+en|0,Wt=In>>>0>(rl=In+rl|0)>>>0?Wt+1|0:Wt,In=PA(pn,0,Xn,0),en=bn+Wt|0,en=In>>>0>(rl=In+rl|0)>>>0?en+1|0:en,In=PA(Wn,0,Jn,0),Wt=bn+en|0,Wt=In>>>0>(rl=In+rl|0)>>>0?Wt+1|0:Wt,en=PA(Nn,0,Ln,0),In=bn+Wt|0,en=In=en>>>0>(rl=en+rl|0)>>>0?In+1|0:In,El=(In=(2097151&Cl)<<11|Bl>>>21)+(Wt=rn+rl|0)|0,Wt=(Cl>>>21|0)+(en=Wt>>>0>>0?en+1|0:en)|0,bl=Wt=In>>>0>El>>>0?Wt+1|0:Wt,kl=en=Wt-((El>>>0<4293918720)-1|0)|0,In=(Wt=en>>>21|0)+on|0,cl=In=(en=(2097151&en)<<11|(Gl=El- -1048576|0)>>>21)>>>0>(Nl=en+ol|0)>>>0?In+1|0:In,Bl=en=In-((Nl>>>0<4293918720)-1|0)|0,Wt=(Wt=en>>21)+Wl|0,ol=Wt=(en=(2097151&en)<<11|(rl=Nl- -1048576|0)>>>21)>>>0>(hl=en+hl|0)>>>0?Wt+1|0:Wt,Vl=en=Wt-((hl>>>0<4293918720)-1|0)|0,In=(Wt=en>>21)+gl|0,Cl=In=(en=(rn=(2097151&en)<<11|(on=hl- -1048576|0)>>>21)+Xl|0)>>>0>>0?In+1|0:In,gl=en,Wt=PA(en,In,-683901,-1),en=bn+xl|0,Wl=In=Wt+Hl|0,rn=Wt>>>0>In>>>0?en+1|0:en,en=PA(Kn,_n,470296,0),Wt=bn+pl|0,Wt=en>>>0>(il=en+il|0)>>>0?Wt+1|0:Wt,en=PA(fl,Ml,654183,0),Wt=bn+(Wt-(((In=-2097152&sl)>>>0>il>>>0)+Il|0)|0)|0,Wt=en>>>0>(sl=en+(il-In|0)|0)>>>0?Wt+1|0:Wt,In=PA(zl,$n,-997805,-1),en=bn+Wt|0,en=In>>>0>(sl=In+sl|0)>>>0?en+1|0:en,wl=In=hl-(Wt=-2097152&on)|0,Yl=ol=ol-((Wt>>>0>hl>>>0)+Vl|0)|0,sl=(on=PA(gl,Cl,136657,0))+sl|0,Wt=bn+en|0,In=PA(In,ol,-683901,-1),en=bn+(on>>>0>sl>>>0?Wt+1|0:Wt)|0,ol=en=In>>>0>(pl=In+sl|0)>>>0?en+1|0:en,Vl=Wt=en-((pl>>>0<4293918720)-1|0)|0,en=(2097151&Wt)<<11|(on=pl- -1048576|0)>>>21,Wt=(Wt>>21)+rn|0,hl=en=(Wt=en>>>0>(sl=en+Wl|0)>>>0?Wt+1|0:Wt)-((sl>>>0<4293918720)-1|0)|0,il=(2097151&en)<<11|(rn=sl- -1048576|0)>>>21,en=(en>>21)+Ql|0,Ol=Wl=il+Ol|0,Wl=il>>>0>Wl>>>0?en+1|0:en,Ql=sl-(en=-2097152&rn)|0,Ul=Wt-((en>>>0>sl>>>0)+hl|0)|0,Hl=pl-(Wt=-2097152&on)|0,xl=ol-((Wt>>>0>pl>>>0)+Vl|0)|0,Wt=PA(Kn,_n,666643,0),In=Al+bn|0,In=(on=Wt+Tl|0)>>>0>>0?In+1|0:In,rn=(Wt=PA(fl,Ml,470296,0))+(on-(en=-2097152&dl)|0)|0,en=bn+(In-((en>>>0>on>>>0)+al|0)|0)|0,en=Wt>>>0>rn>>>0?en+1|0:en,In=PA(zl,$n,654183,0),Wt=bn+en|0,sl=rn=In+rn|0,rn=In>>>0>rn>>>0?Wt+1|0:Wt,on=Nl-(Wt=-2097152&rl)|0,ol=cl-((Wt>>>0>Nl>>>0)+Bl|0)|0,Wt=PA(qn,Pn,470296,0),en=bn,In=Wt,Wt=PA(Bn,jn,666643,0),en=bn+en|0,en=Wt>>>0>(In=In+Wt|0)>>>0?en+1|0:en,Wt=PA(zn,Tn,654183,0),en=bn+en|0,en=Wt>>>0>(In=Wt+In|0)>>>0?en+1|0:en,rl=(Wt=In)+(In=PA(On,xn,-997805,-1))|0,Wt=bn+en|0,Wt=In>>>0>rl>>>0?Wt+1|0:Wt,en=PA(Un,Mn,136657,0),Wt=bn+Wt|0,Wt=en>>>0>(In=en+rl|0)>>>0?Wt+1|0:Wt,rl=(en=PA(Dn,Sn,-683901,-1))+In|0,In=bn+Wt|0,en=bl+(en>>>0>rl>>>0?In+1|0:In)|0,Nl=(In=(2097151&Fl)<<11|vl>>>21)+((rl=rl+El|0)-(Wt=-2097152&Gl)|0)|0,Wt=((en=rl>>>0>>0?en+1|0:en)-((Wt>>>0>rl>>>0)+kl|0)|0)+(Fl>>21)|0,hl=Wt=In>>>0>Nl>>>0?Wt+1|0:Wt,Xl=Wt=Wt-((Nl>>>0<4293918720)-1|0)|0,en=on,on=(2097151&Wt)<<11|(dl=Nl- -1048576|0)>>>21,Wt=(Wt>>21)+ol|0,Vl=Wt=(In=en+on|0)>>>0>>0?Wt+1|0:Wt,El=In,Wt=PA(In,Wt,-683901,-1),en=bn+rn|0,en=Wt>>>0>(In=Wt+sl|0)>>>0?en+1|0:en,rn=(Wt=In)+(In=PA(gl,Cl,-997805,-1))|0,Wt=bn+en|0,Wt=In>>>0>rn>>>0?Wt+1|0:Wt,en=PA(wl,Yl,136657,0),In=bn+Wt|0,vl=rn=en+rn|0,cl=en>>>0>rn>>>0?In+1|0:In,sl=Ll-(Wt=-2097152&ml)|0,bl=ul-((Wt>>>0>Ll>>>0)+ll|0)|0,en=PA(Fn,0,Xn,0),Wt=bn,In=en,en=PA(Qn,0,kn,0),Wt=bn+Wt|0,Wt=en>>>0>(In=In+en|0)>>>0?Wt+1|0:Wt,en=PA(fn,0,Jn,0),Wt=bn+Wt|0,Wt=en>>>0>(In=en+In|0)>>>0?Wt+1|0:Wt,rn=(en=PA(Cn,0,Ln,0))+In|0,In=bn+Wt|0,en=en>>>0>rn>>>0?In+1|0:In,Gl=In=(Wt=(an[cn+7|0]|an[cn+8|0]<<8|an[cn+9|0]<<16|an[cn+10|0]<<24)>>>7&2097151)+rn|0,rl=Wt>>>0>In>>>0?en+1|0:en,Wt=PA(Fn,0,kn,0),en=bn,In=Wt,Wt=PA(Qn,0,Ln,0),en=bn+en|0,en=Wt>>>0>(In=In+Wt|0)>>>0?en+1|0:en,rn=(Wt=In)+(In=PA(Cn,0,Jn,0))|0,Wt=bn+en|0,ol=rn,rn=In>>>0>rn>>>0?Wt+1|0:Wt,Wt=(en=an[cn+6|0])>>>24|0,on=en<<8|(kl=an[cn+2|0]|an[cn+3|0]<<8|an[cn+4|0]<<16|an[cn+5|0]<<24)>>>24,In=Wt,en=(Wt=an[cn+7|0])>>>16|0,en|=In,In=rn,on=In=(Wt=2097151&((3&en)<<30|(Wt=Wt<<16|on)>>>2))>>>0>(ol=Wt+ol|0)>>>0?In+1|0:In,Jl=Wt=In-((ol>>>0<4293918720)-1|0)|0,In=(2097151&Wt)<<11|(Al=ol- -1048576|0)>>>21,Wt=(Wt>>>21|0)+rl|0,il=Wt=In>>>0>(ul=In+Gl|0)>>>0?Wt+1|0:Wt,Bl=Wt=Wt-((ul>>>0<4293918720)-1|0)|0,In=(en=Wt>>>21|0)+bl|0,In=(Wt=(2097151&Wt)<<11|(pl=ul- -1048576|0)>>>21)>>>0>(rn=Wt+sl|0)>>>0?In+1|0:In,en=PA(fl,Ml,666643,0),Wt=bn+In|0,Wt=en>>>0>(rn=en+rn|0)>>>0?Wt+1|0:Wt,en=PA(zl,$n,470296,0),Wt=bn+Wt|0,Wt=en>>>0>(In=en+rn|0)>>>0?Wt+1|0:Wt,rn=(en=In)+(In=PA(El,Vl,136657,0))|0,en=bn+Wt|0,en=In>>>0>rn>>>0?en+1|0:en,Wt=PA(gl,Cl,654183,0),en=bn+en|0,en=Wt>>>0>(In=Wt+rn|0)>>>0?en+1|0:en,sl=(Wt=PA(wl,Yl,-997805,-1))+In|0,In=bn+en|0,bl=In=Wt>>>0>sl>>>0?In+1|0:In,Fl=Wt=In-((sl>>>0<4293918720)-1|0)|0,In=(2097151&Wt)<<11|(Gl=sl- -1048576|0)>>>21,Wt=(Wt>>21)+cl|0,vl=In=(Wt=In>>>0>(rn=In+vl|0)>>>0?Wt+1|0:Wt)-((rn>>>0<4293918720)-1|0)|0,rl=(2097151&In)<<11|(cl=rn- -1048576|0)>>>21,In=(In>>21)+xl|0,Rl=ml=rl+Hl|0,ml=rl>>>0>ml>>>0?In+1|0:In,rl=rn,en=Wt,rn=(Nl-(Wt=-2097152&dl)|0)+(dl=(2097151&Zl)<<11|yl>>>21)|0,Wt=(hl-((Wt>>>0>Nl>>>0)+Xl|0)|0)+(Zl>>21)|0,Zl=Wt=rn>>>0
                          >>0?Wt+1|0:Wt,Hl=Wt=Wt-((rn>>>0<4293918720)-1|0)|0,Nl=In=Wt>>21,Wt=PA(fl=(2097151&Wt)<<11|(hl=rn- -1048576|0)>>>21,In,-683901,-1),en=bn+en|0,en=Wt>>>0>(In=Wt+rl|0)>>>0?en+1|0:en,xl=In-(Wt=-2097152&cl)|0,Ll=en-((Wt>>>0>In>>>0)+vl|0)|0,en=PA(fl,Nl,136657,0),Wt=bn+bl|0,Wt=en>>>0>(In=en+sl|0)>>>0?Wt+1|0:Wt,Tl=In-(en=-2097152&Gl)|0,Fl=Wt-((en>>>0>In>>>0)+Fl|0)|0,en=PA(zl,$n,666643,0),Wt=bn+(il-(((In=-2097152&pl)>>>0>ul>>>0)+Bl|0)|0)|0,Wt=en>>>0>(rl=en+(ul-In|0)|0)>>>0?Wt+1|0:Wt,In=PA(El,Vl,-997805,-1),en=bn+Wt|0,en=In>>>0>(rl=In+rl|0)>>>0?en+1|0:en,Wt=PA(gl,Cl,470296,0),In=bn+en|0,In=Wt>>>0>(rl=Wt+rl|0)>>>0?In+1|0:In,en=PA(wl,Yl,654183,0),Wt=bn+In|0,vl=rl=en+rl|0,bl=en>>>0>rl>>>0?Wt+1|0:Wt,In=kl>>>5&2097151,Wt=PA(Fn,0,Ln,0),en=bn,cl=Wt,Wt=PA(Qn,0,Jn,0),en=bn+en|0,Wt=Wt>>>0>(rl=cl+Wt|0)>>>0?en+1|0:en,cl=en=In+rl|0,In=Wt=en>>>0>>0?Wt+1|0:Wt,ul=(en=PA(Fn,0,Jn,0))+(Wt=(Wt=an[cn+2|0])<<16&2031616|an[0|cn]|an[cn+1|0]<<8)|0,en=bn,dl=en=Wt>>>0>ul>>>0?en+1|0:en,Xl=en=en-((ul>>>0<4293918720)-1|0)|0,Wt=(Wt=en>>>21|0)+In|0,pl=Wt=(en=(2097151&en)<<11|(il=ul- -1048576|0)>>>21)>>>0>(yl=en+cl|0)>>>0?Wt+1|0:Wt,kl=en=Wt-((yl>>>0<4293918720)-1|0)|0,In=(2097151&en)<<11|(sl=yl- -1048576|0)>>>21,en=(en>>>21|0)+on|0,en=In>>>0>(rl=In+ol|0)>>>0?en+1|0:en,In=PA(El,Vl,654183,0),Wt=bn+(en-(((on=-2097152&Al)>>>0>rl>>>0)+Jl|0)|0)|0,Wt=In>>>0>(ol=In+(rl-on|0)|0)>>>0?Wt+1|0:Wt,en=PA(gl,Cl,666643,0),Wt=bn+Wt|0,Wt=en>>>0>(In=en+ol|0)>>>0?Wt+1|0:Wt,Gl=(en=In)+(In=PA(wl,Yl,470296,0))|0,en=bn+Wt|0,cl=en=In>>>0>Gl>>>0?en+1|0:en,Bl=en=en-((Gl>>>0<4293918720)-1|0)|0,In=(Wt=en>>21)+bl|0,Al=en=(In=(en=(2097151&en)<<11|(rl=Gl- -1048576|0)>>>21)>>>0>(ol=en+vl|0)>>>0?In+1|0:In)-((ol>>>0<4293918720)-1|0)|0,bl=(2097151&en)<<11|(on=ol- -1048576|0)>>>21,en=(en>>21)+Fl|0,Cl=gl=bl+Tl|0,bl=bl>>>0>gl>>>0?en+1|0:en,Wt=PA(fl,Nl,-997805,-1),en=bn+In|0,en=Wt>>>0>(ol=Wt+ol|0)>>>0?en+1|0:en,Fl=ol-(Wt=-2097152&on)|0,vl=en-((Wt>>>0>ol>>>0)+Al|0)|0,en=PA(fl,Nl,654183,0),Wt=bn+cl|0,Wt=en>>>0>(In=en+Gl|0)>>>0?Wt+1|0:Wt,gl=In-(en=-2097152&rl)|0,Al=Wt-((en>>>0>In>>>0)+Bl|0)|0,Wt=PA(El,Vl,470296,0),In=bn+(pl-(((en=-2097152&sl)>>>0>yl>>>0)+kl|0)|0)|0,In=Wt>>>0>(on=Wt+(yl-en|0)|0)>>>0?In+1|0:In,en=PA(wl,Yl,666643,0),Wt=bn+In|0,ol=on=en+on|0,In=en>>>0>on>>>0?Wt+1|0:Wt,en=PA(El,Vl,666643,0),Wt=bn+(dl-((4095&Xl)+((on=-2097152&il)>>>0>ul>>>0)|0)|0)|0,Gl=Wt=en>>>0>(sl=en+(ul-on|0)|0)>>>0?Wt+1|0:Wt,dl=Wt=Wt-((sl>>>0<4293918720)-1|0)|0,on=(2097151&Wt)<<11|(cl=sl- -1048576|0)>>>21,Wt=(Wt>>21)+In|0,In=Wt=on>>>0>(rl=on+ol|0)>>>0?Wt+1|0:Wt,il=Wt=Wt-((rl>>>0<4293918720)-1|0)|0,on=(2097151&Wt)<<11|(ol=rl- -1048576|0)>>>21,Wt=(Wt>>21)+Al|0,on=on>>>0>(pl=on+gl|0)>>>0?Wt+1|0:Wt,Wt=PA(fl,Nl,470296,0),In=bn+In|0,In=Wt>>>0>(en=Wt+rl|0)>>>0?In+1|0:In,rl=en-(Wt=-2097152&ol)|0,ol=In-((Wt>>>0>en>>>0)+il|0)|0,en=PA(fl,Nl,666643,0),Wt=bn+(Gl-(((In=-2097152&cl)>>>0>sl>>>0)+dl|0)|0)|0,en=(In=(Wt=en>>>0>(Al=en+(sl-In|0)|0)>>>0?Wt+1|0:Wt)>>21)+ol|0,Wt=(Wt=(en=(Wt=(2097151&Wt)<<11|Al>>>21)>>>0>(dl=Wt+rl|0)>>>0?en+1|0:en)>>21)+on|0,en=(en=(Wt=(en=(2097151&en)<<11|dl>>>21)>>>0>(il=en+pl|0)>>>0?Wt+1|0:Wt)>>21)+vl|0,In=(Wt=(en=(Wt=(2097151&Wt)<<11|il>>>21)>>>0>(on=Wt+Fl|0)>>>0?en+1|0:en)>>21)+bl|0,Wt=(en=(In=(en=(2097151&en)<<11|on>>>21)>>>0>(pl=en+Cl|0)>>>0?In+1|0:In)>>21)+Ll|0,en=(In=(Wt=(In=(2097151&In)<<11|pl>>>21)>>>0>(sl=In+xl|0)>>>0?Wt+1|0:Wt)>>21)+ml|0,Wt=(Wt=(en=(Wt=(2097151&Wt)<<11|sl>>>21)>>>0>(bl=Wt+Rl|0)>>>0?en+1|0:en)>>21)+Ul|0,en=(en=(Wt=(en=(2097151&en)<<11|bl>>>21)>>>0>(Gl=en+Ql|0)>>>0?Wt+1|0:Wt)>>21)+Wl|0,In=(Wt=(en=(Wt=(2097151&Wt)<<11|Gl>>>21)>>>0>(cl=Wt+Ol|0)>>>0?en+1|0:en)>>21)+Sl|0,Wt=(en=(In=(en=(2097151&en)<<11|cl>>>21)>>>0>(rl=en+Pl|0)>>>0?In+1|0:In)>>21)+Kl|0,hl=(ml=rn-(en=-2097152&hl)|0)+((2097151&(Wt=(In=(2097151&In)<<11|rl>>>21)>>>0>(ol=In+_l|0)>>>0?Wt+1|0:Wt))<<11|ol>>>21)|0,Wt=(Zl-((en>>>0>rn>>>0)+Hl|0)|0)+(Wt>>21)|0,Zl=en=(Wt=ml>>>0>hl>>>0?Wt+1|0:Wt)>>21,Al=(Wt=PA(Wl=(2097151&Wt)<<11|hl>>>21,en,666643,0))+(en=2097151&Al)|0,Wt=bn,rn=Wt=en>>>0>Al>>>0?Wt+1|0:Wt,tn[0|sn]=Al,tn[sn+1|0]=(255&Wt)<<24|Al>>>8,Wt=2097151&dl,en=PA(Wl,Zl,470296,0)+Wt|0,In=bn,Wt=(rn>>21)+(Wt>>>0>en>>>0?In+1|0:In)|0,Wt=(dl=(ml=(2097151&rn)<<11|Al>>>21)+en|0)>>>0>>0?Wt+1|0:Wt,tn[sn+4|0]=(2047&Wt)<<21|dl>>>11,en=Wt,In=dl,tn[sn+3|0]=(7&Wt)<<29|In>>>3,tn[sn+2|0]=31&((65535&rn)<<16|Al>>>16)|In<<5,rn=2097151&il,il=PA(Wl,Zl,654183,0)+rn|0,Wt=bn,dl=(2097151&en)<<11|In>>>21,en=(en>>21)+(rn=rn>>>0>il>>>0?Wt+1|0:Wt)|0,Wt=en=(il=dl+il|0)>>>0
                          >>0?en+1|0:en,tn[sn+6|0]=(63&Wt)<<26|il>>>6,rn=il,il=0,tn[sn+5|0]=il<<13|(1572864&In)>>>19|rn<<2,In=2097151&on,on=PA(Wl,Zl,-997805,-1)+In|0,en=bn,en=In>>>0>on>>>0?en+1|0:en,il=(2097151&(In=Wt))<<11|rn>>>21,In=(Wt>>=21)+en|0,In=(on=il+on|0)>>>0>>0?In+1|0:In,tn[sn+9|0]=(511&In)<<23|on>>>9,tn[sn+8|0]=(1&In)<<31|on>>>1,en=0,tn[sn+7|0]=en<<18|(2080768&rn)>>>14|on<<7,en=2097151&pl,rn=PA(Wl,Zl,136657,0)+en|0,Wt=bn,Wt=en>>>0>rn>>>0?Wt+1|0:Wt,pl=(2097151&(en=In))<<11|on>>>21,en=Wt+(In=en>>21)|0,en=(rn=pl+rn|0)>>>0>>0?en+1|0:en,tn[sn+12|0]=(4095&en)<<20|rn>>>12,In=rn,tn[sn+11|0]=(15&en)<<28|In>>>4,rn=0,tn[sn+10|0]=rn<<15|(1966080&on)>>>17|In<<4,rn=2097151&sl,on=PA(Wl,Zl,-683901,-1)+rn|0,Wt=bn,Wt=rn>>>0>on>>>0?Wt+1|0:Wt,rn=en,en=Wt+(en>>=21)|0,en=(rn=(sl=on)+(on=(2097151&rn)<<11|In>>>21)|0)>>>0>>0?en+1|0:en,tn[sn+14|0]=(127&en)<<25|rn>>>7,on=0,tn[sn+13|0]=on<<12|(1048576&In)>>>20|rn<<1,Wt=en>>21,In=(en=(2097151&en)<<11|rn>>>21)>>>0>(on=en+(2097151&bl)|0)>>>0?Wt+1|0:Wt,tn[sn+17|0]=(1023&In)<<22|on>>>10,tn[sn+16|0]=(3&In)<<30|on>>>2,en=0,tn[sn+15|0]=en<<17|(2064384&rn)>>>15|on<<6,Wt=In>>21,Wt=(en=(2097151&In)<<11|on>>>21)>>>0>(In=en+(2097151&Gl)|0)>>>0?Wt+1|0:Wt,tn[sn+20|0]=(8191&Wt)<<19|In>>>13,tn[sn+19|0]=(31&Wt)<<27|In>>>5,rn=(en=2097151&cl)+(cl=(2097151&Wt)<<11|In>>>21)|0,en=Wt>>21,en=rn>>>0>>0?en+1|0:en,cl=rn,tn[sn+21|0]=rn,Gl=0,tn[sn+18|0]=Gl<<14|(1835008&on)>>>18|In<<3,tn[sn+22|0]=(255&en)<<24|rn>>>8,In=en>>21,In=(rn=(on=(2097151&en)<<11|rn>>>21)+(2097151&rl)|0)>>>0>>0?In+1|0:In,tn[sn+25|0]=(2047&In)<<21|rn>>>11,tn[sn+24|0]=(7&In)<<29|rn>>>3,tn[sn+23|0]=31&((65535&en)<<16|cl>>>16)|rn<<5,Wt=In>>21,Wt=(en=(2097151&In)<<11|rn>>>21)>>>0>(In=en+(2097151&ol)|0)>>>0?Wt+1|0:Wt,tn[sn+27|0]=(63&Wt)<<26|In>>>6,on=0,tn[sn+26|0]=on<<13|(1572864&rn)>>>19|In<<2,en=Wt,Wt>>=21,en=(rn=(ol=(2097151&en)<<11|In>>>21)+(on=2097151&hl)|0)>>>0>>0?Wt+1|0:Wt,tn[sn+31|0]=(131071&en)<<15|rn>>>17,Wt=rn,tn[sn+30|0]=(511&en)<<23|Wt>>>9,rn=0,tn[sn+28|0]=rn<<18|(2080768&In)>>>14|Wt<<7,tn[sn+29|0]=ol+hl>>>1,MI(dn,64),MI(cn,64),Pt&&(nn[Pt>>2]=64,nn[Pt+4>>2]=0),mn=un+560|0,0}function n(Wt,Pt,en,tn){for(var In=0,rn=0,sn=0,on=0,cn=0,dn=0,un=0,pn=0,mn=0,Gn=0,hn=0,Zn=0,An=0,Wn=0,Nn=0,gn=0,yn=0,vn=0,Yn=0,En=0,Vn=0,Rn=0,wn=0,Fn=0,Qn=0,fn=0,Hn=0,Cn=0,Xn=0,kn=0,Jn=0,Ln=0,Bn=0,xn=0,On=0,Tn=0,Un=0;sn=(In=cn<<3)+en|0,rn=an[0|(In=Pt+In|0)]|an[In+1|0]<<8|an[In+2|0]<<16|an[In+3|0]<<24,Vn=an[In+4|0]|an[In+5|0]<<8|an[In+6|0]<<16|an[In+7|0]<<24,dn=rn<<24|(65280&rn)<<8,un=(on=16711680&rn)<<24,on=on>>>8|0,In=(mn=-16777216&rn)>>>24|0,nn[sn>>2]=un|mn<<8|-16777216&((255&Vn)<<24|rn>>>8)|16711680&((16777215&Vn)<<8|rn>>>24)|Vn>>>8&65280|Vn>>>24,rn=In|on|dn,In=0,nn[sn+4>>2]=rn|In,16!=(0|(cn=cn+1|0)););for(Pt=nn[Wt+4>>2],nn[tn>>2]=nn[Wt>>2],nn[tn+4>>2]=Pt,Pt=nn[Wt+60>>2],nn[tn+56>>2]=nn[Wt+56>>2],nn[tn+60>>2]=Pt,Pt=nn[Wt+52>>2],nn[tn+48>>2]=nn[Wt+48>>2],nn[tn+52>>2]=Pt,Pt=nn[Wt+44>>2],nn[tn+40>>2]=nn[Wt+40>>2],nn[tn+44>>2]=Pt,Pt=nn[Wt+36>>2],nn[tn+32>>2]=nn[Wt+32>>2],nn[tn+36>>2]=Pt,Pt=nn[Wt+28>>2],nn[tn+24>>2]=nn[Wt+24>>2],nn[tn+28>>2]=Pt,Pt=nn[Wt+20>>2],nn[tn+16>>2]=nn[Wt+16>>2],nn[tn+20>>2]=Pt,Pt=nn[Wt+12>>2],nn[tn+8>>2]=nn[Wt+8>>2],nn[tn+12>>2]=Pt;sn=nn[tn+56>>2],on=nn[tn+60>>2],In=nn[(Pt=Vn=(Rn=Un<<3)+en|0)>>2],Pt=nn[Pt+4>>2],yn=rn=nn[tn+36>>2],rn=_A(Wn=nn[tn+32>>2],rn,50),cn=bn,rn=_A(Wn,yn,46)^rn,cn^=bn,rn=_A(Wn,yn,23)^rn,Pt=(bn^cn)+Pt|0,Pt=(In=rn+In|0)>>>0>>0?Pt+1|0:Pt,In=(cn=nn[(rn=Rn+33968|0)>>2])+In|0,Pt=nn[rn+4>>2]+Pt|0,Pt=In>>>0>>0?Pt+1|0:Pt,rn=(cn=((un=nn[tn+48>>2])^(Gn=nn[tn+40>>2]))&Wn^un)+In|0,In=(((Nn=nn[tn+52>>2])^(vn=nn[tn+44>>2]))&yn^Nn)+Pt|0,Pt=(rn>>>0>>0?In+1|0:In)+on|0,Pt=(sn=rn+sn|0)>>>0>>0?Pt+1|0:Pt,cn=(rn=nn[tn+24>>2])+sn|0,In=nn[tn+28>>2]+Pt|0,hn=In=rn>>>0>cn>>>0?In+1|0:In,nn[tn+24>>2]=cn,nn[tn+28>>2]=In,gn=In=nn[tn+4>>2],In=_A(rn=nn[tn>>2],In,36),on=bn,In=_A(rn,gn,30)^In,on^=bn,mn=sn+(_A(rn,gn,25)^In)|0,In=Pt+(bn^on)|0,In=sn>>>0>mn>>>0?In+1|0:In,dn=(Pt=mn)+(mn=rn&((on=nn[tn+16>>2])|(sn=nn[tn+8>>2]))|sn&on)|0,Pt=(Pt=In)+(gn&((In=nn[tn+20>>2])|(Zn=nn[tn+12>>2]))|In&Zn)|0,mn=Pt=dn>>>0>>0?Pt+1|0:Pt,nn[tn+56>>2]=dn,nn[tn+60>>2]=Pt,pn=on,An=In,En=nn[(Pt=Jn=(Yn=8|Rn)+en|0)>>2],Fn=nn[Pt+4>>2],In=((yn^vn)&hn^vn)+Nn|0,In=(Pt=(on=(Gn^Wn)&cn^Gn)+un|0)>>>0>>0?In+1|0:In,on=_A(cn,hn,50),un=bn,on=_A(cn,hn,46)^on,un^=bn,on=(Nn=_A(cn,hn,23)^on)+Pt|0,Pt=(bn^un)+In|0,Pt=(on>>>0>>0?Pt+1|0:Pt)+Fn|0,Pt=(In=on+En|0)>>>0>>0?Pt+1|0:Pt,on=(on=In)+(un=nn[(In=Yn+33968|0)>>2])|0,In=nn[In+4>>2]+Pt|0,In=(Pt=on>>>0>>0?In+1|0:In)+An|0,Nn=In=(un=on+pn|0)>>>0>>0?In+1|0:In,nn[tn+16>>2]=un,nn[tn+20>>2]=In,Pt=Pt+((Zn|gn)&mn|Zn&gn)|0,Pt=(In=on+((rn|sn)&dn|rn&sn)|0)>>>0>>0?Pt+1|0:Pt,on=_A(dn,mn,36),pn=bn,on=_A(dn,mn,30)^on,pn^=bn,An=In,In=_A(dn,mn,25)^on,Pt=(bn^pn)+Pt|0,pn=Pt=In>>>0>(on=An+In|0)>>>0?Pt+1|0:Pt,nn[tn+48>>2]=on,nn[tn+52>>2]=Pt,An=sn,Yn=Zn,Pt=(Zn=nn[(In=Hn=(sn=16|Rn)+en|0)>>2])+Gn|0,In=nn[In+4>>2]+vn|0,In=Pt>>>0>>0?In+1|0:In,sn=(Gn=Pt)+(Zn=nn[(Pt=sn+33968|0)>>2])|0,Pt=nn[Pt+4>>2]+In|0,Pt=((hn^yn)&Nn^yn)+(Pt=sn>>>0>>0?Pt+1|0:Pt)|0,Pt=(In=(In=sn)+(sn=(cn^Wn)&un^Wn)|0)>>>0>>0?Pt+1|0:Pt,sn=_A(un,Nn,50),Zn=bn,sn=_A(un,Nn,46)^sn,Zn^=bn,sn=(Gn=_A(un,Nn,23)^sn)+In|0,In=(bn^Zn)+Pt|0,In=(Gn=sn>>>0>>0?In+1|0:In)+Yn|0,Yn=In=(Zn=sn)>>>0>(sn=sn+An|0)>>>0?In+1|0:In,nn[tn+8>>2]=sn,nn[tn+12>>2]=In,Pt=_A(on,pn,36),In=bn,Pt=_A(on,pn,30)^Pt,In^=bn,vn=_A(on,pn,25)^Pt,Pt=((mn|gn)&pn|mn&gn)+(bn^In)|0,In=Gn+((An=vn+((rn|dn)&on|rn&dn)|0)>>>0>>0?Pt+1|0:Pt)|0,Zn=In=(Gn=Zn+An|0)>>>0>>0?In+1|0:In,nn[tn+40>>2]=Gn,nn[tn+44>>2]=In,An=rn,In=(In=Wn)+(Wn=nn[(Pt=Ln=(rn=24|Rn)+en|0)>>2])|0,Pt=nn[Pt+4>>2]+yn|0,Pt=In>>>0>>0?Pt+1|0:Pt,rn=(vn=In)+(Wn=nn[(In=rn+33968|0)>>2])|0,In=nn[In+4>>2]+Pt|0,In=(hn^(hn^Nn)&Yn)+(In=rn>>>0>>0?In+1|0:In)|0,In=(Pt=(Pt=rn)+(rn=cn^(cn^un)&sn)|0)>>>0>>0?In+1|0:In,rn=_A(sn,Yn,50),Wn=bn,rn=_A(sn,Yn,46)^rn,Wn^=bn,rn=(yn=_A(sn,Yn,23)^rn)+Pt|0,Pt=(bn^Wn)+In|0,In=(Pt=rn>>>0>>0?Pt+1|0:Pt)+gn|0,yn=In=(gn=rn+An|0)>>>0>>0?In+1|0:In,nn[tn>>2]=gn,nn[tn+4>>2]=In,In=_A(Gn,Zn,36),Wn=bn,In=_A(Gn,Zn,30)^In,An=bn^Wn,vn=_A(Gn,Zn,25)^In,In=((mn|pn)&Zn|mn&pn)+(bn^An)|0,Pt=Pt+((Wn=vn+((on|dn)&Gn|on&dn)|0)>>>0>>0?In+1|0:In)|0,Wn=Pt=(An=rn+Wn|0)>>>0>>0?Pt+1|0:Pt,nn[tn+32>>2]=An,nn[tn+36>>2]=Pt,rn=nn[(In=kn=(Pt=32|Rn)+en|0)>>2],In=hn+nn[In+4>>2]|0,In=(rn=rn+cn|0)>>>0>>0?In+1|0:In,rn=(cn=nn[(Pt=Pt+33968|0)>>2])+rn|0,Pt=nn[Pt+4>>2]+In|0,Pt=(Nn^(Nn^Yn)&yn)+(Pt=rn>>>0>>0?Pt+1|0:Pt)|0,Pt=(In=(In=rn)+(rn=un^(sn^un)&gn)|0)>>>0>>0?Pt+1|0:Pt,rn=_A(gn,yn,50),cn=bn,rn=_A(gn,yn,46)^rn,cn^=bn,rn=(hn=_A(gn,yn,23)^rn)+In|0,In=(bn^cn)+Pt|0,vn=In=rn>>>0>>0?In+1|0:In,Pt=In,In=_A(An,Wn,36),cn=bn,In=_A(An,Wn,30)^In,hn=bn^cn,En=_A(An,Wn,25)^In,In=((pn|Zn)&Wn|pn&Zn)+(bn^hn)|0,Pt=((cn=En+((on|Gn)&An|on&Gn)|0)>>>0>>0?In+1|0:In)+Pt|0,cn=Pt=(hn=rn+cn|0)>>>0>>0?Pt+1|0:Pt,nn[tn+24>>2]=hn,nn[tn+28>>2]=Pt,In=mn+vn|0,vn=In=(mn=rn+dn|0)>>>0>>0?In+1|0:In,nn[tn+56>>2]=mn,nn[tn+60>>2]=In,rn=nn[(Pt=Cn=(In=40|Rn)+en|0)>>2],Pt=Nn+nn[Pt+4>>2]|0,Pt=(rn=rn+un|0)>>>0>>0?Pt+1|0:Pt,rn=(dn=nn[(In=In+33968|0)>>2])+rn|0,In=nn[In+4>>2]+Pt|0,In=(Yn^(yn^Yn)&vn)+(In=rn>>>0>>0?In+1|0:In)|0,In=(Pt=(Pt=rn)+(rn=sn^(sn^gn)&mn)|0)>>>0>>0?In+1|0:In,rn=_A(mn,vn,50),dn=bn,rn=_A(mn,vn,46)^rn,dn^=bn,rn=(un=_A(mn,vn,23)^rn)+Pt|0,Pt=(bn^dn)+In|0,Pt=rn>>>0>>0?Pt+1|0:Pt,In=_A(hn,cn,36),dn=bn,In=_A(hn,cn,30)^In,un=bn^dn,Nn=_A(hn,cn,25)^In,In=((Zn|Wn)&cn|Zn&Wn)+(bn^un)|0,In=((dn=Nn+((Gn|An)&hn|Gn&An)|0)>>>0>>0?In+1|0:In)+Pt|0,dn=In=(un=rn+dn|0)>>>0>>0?In+1|0:In,nn[tn+16>>2]=un,nn[tn+20>>2]=In,Pt=Pt+pn|0,En=Pt=(pn=rn+on|0)>>>0>>0?Pt+1|0:Pt,nn[tn+48>>2]=pn,nn[tn+52>>2]=Pt,rn=nn[(In=fn=(Pt=48|Rn)+en|0)>>2],In=Yn+nn[In+4>>2]|0,In=(rn=rn+sn|0)>>>0>>0?In+1|0:In,rn=(sn=nn[(Pt=Pt+33968|0)>>2])+rn|0,Pt=nn[Pt+4>>2]+In|0,Pt=(yn^(yn^vn)&En)+(Pt=rn>>>0>>0?Pt+1|0:Pt)|0,Pt=(In=(In=rn)+(rn=gn^(mn^gn)&pn)|0)>>>0>>0?Pt+1|0:Pt,rn=_A(pn,En,50),sn=bn,rn=_A(pn,En,46)^rn,sn^=bn,rn=(on=_A(pn,En,23)^rn)+In|0,In=(bn^sn)+Pt|0,on=In=rn>>>0>>0?In+1|0:In,Pt=In,In=_A(un,dn,36),sn=bn,In=_A(un,dn,30)^In,Nn=bn^sn,Yn=_A(un,dn,25)^In,In=((cn|Wn)&dn|cn&Wn)+(bn^Nn)|0,Pt=((sn=Yn+((hn|An)&un|hn&An)|0)>>>0>>0?In+1|0:In)+Pt|0,Nn=Pt=(In=sn)>>>0>(sn=rn+sn|0)>>>0?Pt+1|0:Pt,nn[tn+8>>2]=sn,nn[tn+12>>2]=Pt,In=on+Zn|0,Yn=In=(Fn=rn+Gn|0)>>>0>>0?In+1|0:In,nn[tn+40>>2]=Fn,nn[tn+44>>2]=In,rn=nn[(Pt=Xn=(In=56|Rn)+en|0)>>2],Pt=yn+nn[Pt+4>>2]|0,Pt=(rn=rn+gn|0)>>>0>>0?Pt+1|0:Pt,rn=(on=nn[(In=In+33968|0)>>2])+rn|0,In=nn[In+4>>2]+Pt|0,In=(vn^(vn^En)&Yn)+(In=rn>>>0>>0?In+1|0:In)|0,In=(Pt=(Pt=rn)+(rn=mn^(mn^pn)&Fn)|0)>>>0>>0?In+1|0:In,rn=_A(Fn,Yn,50),on=bn,rn=_A(Fn,Yn,46)^rn,on^=bn,rn=(Zn=_A(Fn,Yn,23)^rn)+Pt|0,Pt=(bn^on)+In|0,Pt=rn>>>0>>0?Pt+1|0:Pt,In=_A(sn,Nn,36),on=bn,In=_A(sn,Nn,30)^In,Zn=bn^on,Gn=_A(sn,Nn,25)^In,In=((cn|dn)&Nn|cn&dn)+(bn^Zn)|0,In=((on=Gn+((un|hn)&sn|un&hn)|0)>>>0>>0?In+1|0:In)+Pt|0,Zn=In=(Zn=on)>>>0>(on=rn+on|0)>>>0?In+1|0:In,nn[tn>>2]=on,nn[tn+4>>2]=In,Pt=Pt+Wn|0,yn=Pt=(Gn=rn+An|0)>>>0>>0?Pt+1|0:Pt,nn[tn+32>>2]=Gn,nn[tn+36>>2]=Pt,rn=nn[(In=Bn=(Pt=64|Rn)+en|0)>>2],In=vn+nn[In+4>>2]|0,In=(rn=rn+mn|0)>>>0>>0?In+1|0:In,rn=(mn=nn[(Pt=Pt+33968|0)>>2])+rn|0,Pt=nn[Pt+4>>2]+In|0,Pt=(En^(Yn^En)&yn)+(Pt=rn>>>0>>0?Pt+1|0:Pt)|0,Pt=(In=(In=rn)+(rn=pn^(pn^Fn)&Gn)|0)>>>0>>0?Pt+1|0:Pt,rn=_A(Gn,yn,50),mn=bn,rn=_A(Gn,yn,46)^rn,mn^=bn,rn=(gn=_A(Gn,yn,23)^rn)+In|0,In=(bn^mn)+Pt|0,Wn=In=rn>>>0>>0?In+1|0:In,Pt=In,In=_A(on,Zn,36),mn=bn,In=_A(on,Zn,30)^In,gn=bn^mn,An=_A(on,Zn,25)^In,In=((dn|Nn)&Zn|dn&Nn)+(bn^gn)|0,Pt=((mn=An+((sn|un)&on|sn&un)|0)>>>0>>0?In+1|0:In)+Pt|0,mn=Pt=(gn=rn+mn|0)>>>0>>0?Pt+1|0:Pt,nn[tn+56>>2]=gn,nn[tn+60>>2]=Pt,In=cn+Wn|0,vn=In=(cn=rn+hn|0)>>>0>>0?In+1|0:In,nn[tn+24>>2]=cn,nn[tn+28>>2]=In,rn=nn[(Pt=Qn=(In=72|Rn)+en|0)>>2],Pt=En+nn[Pt+4>>2]|0,Pt=(rn=rn+pn|0)>>>0>>0?Pt+1|0:Pt,rn=(pn=nn[(In=In+33968|0)>>2])+rn|0,In=nn[In+4>>2]+Pt|0,In=(Yn^(yn^Yn)&vn)+(In=rn>>>0>>0?In+1|0:In)|0,In=(Pt=(Pt=rn)+(rn=Fn^(Gn^Fn)&cn)|0)>>>0>>0?In+1|0:In,rn=_A(cn,vn,50),pn=bn,rn=_A(cn,vn,46)^rn,pn^=bn,rn=(Wn=_A(cn,vn,23)^rn)+Pt|0,Pt=(bn^pn)+In|0,Pt=rn>>>0>>0?Pt+1|0:Pt,In=_A(gn,mn,36),pn=bn,In=_A(gn,mn,30)^In,Wn=bn^pn,An=_A(gn,mn,25)^In,In=((Zn|Nn)&mn|Zn&Nn)+(bn^Wn)|0,In=((pn=An+((sn|on)&gn|sn&on)|0)>>>0>>0?In+1|0:In)+Pt|0,pn=In=(Wn=rn+pn|0)>>>0>>0?In+1|0:In,nn[tn+48>>2]=Wn,nn[tn+52>>2]=In,Pt=Pt+dn|0,En=Pt=(dn=rn+un|0)>>>0>>0?Pt+1|0:Pt,nn[tn+16>>2]=dn,nn[tn+20>>2]=Pt,Pt=(Pt=Fn)+(un=nn[(In=Fn=(rn=80|Rn)+en|0)>>2])|0,In=nn[In+4>>2]+Yn|0,In=Pt>>>0>>0?In+1|0:In,rn=(hn=Pt)+(un=nn[(Pt=rn+33968|0)>>2])|0,Pt=nn[Pt+4>>2]+In|0,Pt=(yn^(yn^vn)&En)+(Pt=rn>>>0>>0?Pt+1|0:Pt)|0,Pt=(In=(In=rn)+(rn=Gn^(cn^Gn)&dn)|0)>>>0>>0?Pt+1|0:Pt,rn=_A(dn,En,50),un=bn,rn=_A(dn,En,46)^rn,un^=bn,rn=(An=_A(dn,En,23)^rn)+In|0,In=(bn^un)+Pt|0,hn=In=rn>>>0>>0?In+1|0:In,Pt=In,In=_A(Wn,pn,36),un=bn,In=_A(Wn,pn,30)^In,An=bn^un,Yn=_A(Wn,pn,25)^In,In=((mn|Zn)&pn|mn&Zn)+(bn^An)|0,Pt=((un=Yn+((on|gn)&Wn|on&gn)|0)>>>0>>0?In+1|0:In)+Pt|0,un=Pt=(An=rn+un|0)>>>0>>0?Pt+1|0:Pt,nn[tn+40>>2]=An,nn[tn+44>>2]=Pt,In=hn+Nn|0,Nn=In=(hn=rn+sn|0)>>>0>>0?In+1|0:In,nn[tn+8>>2]=hn,nn[tn+12>>2]=In,In=33968+(Pt=88|Rn)|0,sn=nn[(Pt=wn=Pt+en|0)>>2],rn=nn[In>>2]+sn|0,Pt=nn[In+4>>2]+nn[Pt+4>>2]|0,In=yn+(rn>>>0>>0?Pt+1|0:Pt)|0,In=(vn^(vn^En)&Nn)+(In=(Pt=rn+Gn|0)>>>0>>0?In+1|0:In)|0,In=(Pt=(rn=cn^(cn^dn)&hn)+Pt|0)>>>0>>0?In+1|0:In,rn=_A(hn,Nn,50),sn=bn,rn=_A(hn,Nn,46)^rn,sn^=bn,rn=(Gn=_A(hn,Nn,23)^rn)+Pt|0,Pt=(bn^sn)+In|0,Pt=rn>>>0>>0?Pt+1|0:Pt,In=_A(An,un,36),sn=bn,In=_A(An,un,30)^In,Gn=bn^sn,Yn=_A(An,un,25)^In,In=((mn|pn)&un|mn&pn)+(bn^Gn)|0,In=((sn=Yn+((Wn|gn)&An|Wn&gn)|0)>>>0>>0?In+1|0:In)+Pt|0,Gn=In=(Gn=sn)>>>0>(sn=rn+sn|0)>>>0?In+1|0:In,nn[tn+32>>2]=sn,nn[tn+36>>2]=In,Pt=Pt+Zn|0,Zn=Pt=(In=on)>>>0>(on=rn+on|0)>>>0?Pt+1|0:Pt,nn[tn>>2]=on,nn[tn+4>>2]=Pt,In=33968+(Pt=96|Rn)|0,Yn=nn[(Pt=xn=Pt+en|0)>>2],rn=nn[In>>2]+Yn|0,In=nn[In+4>>2]+nn[Pt+4>>2]|0,Pt=vn+(rn>>>0>>0?In+1|0:In)|0,Pt=(In=rn+cn|0)>>>0>>0?Pt+1|0:Pt,rn=(cn=dn^(dn^hn)&on)+In|0,In=(En^(Nn^En)&Zn)+Pt|0,In=rn>>>0>>0?In+1|0:In,Pt=_A(on,Zn,50),cn=bn,Pt=_A(on,Zn,46)^Pt,cn^=bn,vn=rn,rn=_A(on,Zn,23)^Pt,In=(bn^cn)+In|0,yn=In=(Pt=vn+rn|0)>>>0>>0?In+1|0:In,rn=Pt,Pt=_A(sn,Gn,36),cn=bn,Pt=_A(sn,Gn,30)^Pt,Yn=bn^cn,vn=_A(sn,Gn,25)^Pt,Pt=((un|pn)&Gn|un&pn)+(bn^Yn)|0,In=((cn=vn+((Wn|An)&sn|Wn&An)|0)>>>0>>0?Pt+1|0:Pt)+In|0,cn=In=(Yn=rn+cn|0)>>>0>>0?In+1|0:In,nn[tn+24>>2]=Yn,nn[tn+28>>2]=In,In=mn+yn|0,mn=In=(gn=rn+gn|0)>>>0>>0?In+1|0:In,nn[tn+56>>2]=gn,nn[tn+60>>2]=In,In=33968+(Pt=104|Rn)|0,yn=nn[(Pt=Tn=Pt+en|0)>>2],rn=nn[In>>2]+yn|0,Pt=nn[In+4>>2]+nn[Pt+4>>2]|0,In=En+(rn>>>0>>0?Pt+1|0:Pt)|0,In=(Pt=rn+dn|0)>>>0>>0?In+1|0:In,rn=(dn=hn^(on^hn)&gn)+Pt|0,Pt=(Nn^(Zn^Nn)&mn)+In|0,Pt=rn>>>0>>0?Pt+1|0:Pt,In=_A(gn,mn,50),dn=bn,In=_A(gn,mn,46)^In,dn^=bn,yn=_A(gn,mn,23)^In,In=(bn^dn)+Pt|0,vn=In=(rn=yn+rn|0)>>>0>>0?In+1|0:In,Pt=In,In=_A(Yn,cn,36),dn=bn,In=_A(Yn,cn,30)^In,yn=bn^dn,En=_A(Yn,cn,25)^In,In=((un|Gn)&cn|un&Gn)+(bn^yn)|0,Pt=((dn=En+((sn|An)&Yn|sn&An)|0)>>>0>>0?In+1|0:In)+Pt|0,dn=Pt=(yn=rn+dn|0)>>>0>>0?Pt+1|0:Pt,nn[tn+16>>2]=yn,nn[tn+20>>2]=Pt,Pt=pn+vn|0,pn=Pt=(Wn=rn+Wn|0)>>>0>>0?Pt+1|0:Pt,nn[tn+48>>2]=Wn,nn[tn+52>>2]=Pt,In=33968+(Pt=112|Rn)|0,vn=nn[(rn=En=Pt+en|0)>>2],Pt=nn[In>>2]+vn|0,In=nn[In+4>>2]+nn[rn+4>>2]|0,In=Nn+(Pt>>>0>>0?In+1|0:In)|0,In=(Zn^(mn^Zn)&pn)+(In=(Pt=Pt+hn|0)>>>0>>0?In+1|0:In)|0,In=(Pt=(rn=on^(on^gn)&Wn)+Pt|0)>>>0>>0?In+1|0:In,rn=_A(Wn,pn,50),hn=bn,rn=_A(Wn,pn,46)^rn,hn^=bn,rn=(Nn=_A(Wn,pn,23)^rn)+Pt|0,Pt=(bn^hn)+In|0,vn=Pt=rn>>>0>>0?Pt+1|0:Pt,In=Pt,Pt=_A(yn,dn,36),hn=bn,Pt=_A(yn,dn,30)^Pt,Nn=bn^hn,On=_A(yn,dn,25)^Pt,Pt=((cn|Gn)&dn|cn&Gn)+(bn^Nn)|0,In=((hn=On+((sn|Yn)&yn|sn&Yn)|0)>>>0>>0?Pt+1|0:Pt)+In|0,hn=In=(Nn=rn+hn|0)>>>0>>0?In+1|0:In,nn[tn+8>>2]=Nn,nn[tn+12>>2]=In,In=un+vn|0,rn=In=(un=rn+An|0)>>>0>>0?In+1|0:In,nn[tn+40>>2]=un,nn[tn+44>>2]=In,In=33968+(Pt=120|Rn)|0,Rn=nn[(Pt=An=Pt+en|0)>>2],vn=nn[In>>2]+Rn|0,In=nn[In+4>>2]+nn[Pt+4>>2]|0,Pt=Zn+(vn>>>0>>0?In+1|0:In)|0,Pt=(mn^(mn^pn)&rn)+(Pt=(In=on+vn|0)>>>0>>0?Pt+1|0:Pt)|0,Pt=(In=(on=gn^(Wn^gn)&un)+In|0)>>>0>>0?Pt+1|0:Pt,on=_A(un,rn,50),mn=bn,on=_A(un,rn,46)^on,mn^=bn,rn=(on=_A(un,rn,23)^on)+In|0,In=(bn^mn)+Pt|0,In=rn>>>0>>0?In+1|0:In,on=rn,mn=In,Pt=In,In=_A(Nn,hn,36),un=bn,In=_A(Nn,hn,30)^In,pn=bn^un,Zn=_A(Nn,hn,25)^In,In=((cn|dn)&hn|cn&dn)+(bn^pn)|0,Pt=((un=Zn+((yn|Yn)&Nn|yn&Yn)|0)>>>0>>0?In+1|0:In)+Pt|0,Pt=(rn=rn+un|0)>>>0>>0?Pt+1|0:Pt,nn[tn>>2]=rn,nn[tn+4>>2]=Pt,In=mn+Gn|0,In=(pn=sn)>>>0>(sn=sn+on|0)>>>0?In+1|0:In,nn[tn+32>>2]=sn,nn[tn+36>>2]=In,64!=(0|Un);)dn=((Un=Un+16|0)<<3)+en|0,on=nn[Vn>>2],cn=nn[Vn+4>>2],On=nn[Qn>>2],mn=Pt=nn[Qn+4>>2],In=Pt,rn=Pt=nn[En+4>>2],Pt=_A(Yn=nn[En>>2],Pt,45),sn=bn,pn=((63&rn)<<26|Yn>>>6)^(Pt=_A(Yn,rn,3)^Pt),Pt=(rn>>>6^(un=bn^sn))+In|0,In=((sn=pn+On|0)>>>0>>0?Pt+1|0:Pt)+cn|0,In=(Pt=sn+on|0)>>>0>>0?In+1|0:In,on=sn=nn[Jn+4>>2],sn=_A(cn=nn[Jn>>2],sn,63),un=bn,sn=((127&on)<<25|cn>>>7)^_A(cn,on,56)^sn,In=(bn^un^on>>>7)+In|0,sn=In=sn>>>0>(yn=sn+Pt|0)>>>0?In+1|0:In,nn[dn>>2]=yn,nn[dn+4>>2]=In,cn=(En=nn[Fn>>2])+cn|0,Pt=(dn=nn[Fn+4>>2])+on|0,In=cn>>>0>>0?Pt+1|0:Pt,on=Pt=nn[An+4>>2],Pt=_A(vn=nn[An>>2],Pt,45),un=bn,pn=cn,cn=((63&on)<<26|vn>>>6)^_A(vn,on,3)^Pt,In=(bn^un^on>>>6)+In|0,cn=cn>>>0>(pn=pn+cn|0)>>>0?In+1|0:In,In=_A(un=nn[Hn>>2],Pt=nn[Hn+4>>2],63),Zn=bn,hn=pn,pn=((127&Pt)<<25|un>>>7)^_A(un,Pt,56)^In,In=(bn^Zn^Pt>>>7)+cn|0,cn=In=pn>>>0>(Nn=hn+pn|0)>>>0?In+1|0:In,nn[Vn+136>>2]=Nn,nn[Vn+140>>2]=In,In=(Fn=nn[wn>>2])+un|0,Pt=(un=nn[wn+4>>2])+Pt|0,pn=_A(yn,sn,45),Zn=bn,pn=(Gn=((63&sn)<<26|yn>>>6)^_A(yn,sn,3)^pn)+In|0,In=(bn^Zn^sn>>>6)+(In>>>0>>0?Pt+1|0:Pt)|0,In=pn>>>0>>0?In+1|0:In,Zn=Pt=nn[Ln+4>>2],Pt=_A(Gn=nn[Ln>>2],Pt,63),gn=bn,hn=pn,pn=((127&Zn)<<25|Gn>>>7)^_A(Gn,Zn,56)^Pt,In=(bn^gn^Zn>>>7)+In|0,pn=In=pn>>>0>(Rn=hn+pn|0)>>>0?In+1|0:In,nn[Vn+144>>2]=Rn,nn[Vn+148>>2]=In,Gn=(Jn=nn[xn>>2])+Gn|0,Pt=(Pt=Zn)+(Zn=nn[xn+4>>2])|0,In=Gn>>>0>>0?Pt+1|0:Pt,Pt=_A(Nn,cn,45),gn=bn,Wn=((63&cn)<<26|Nn>>>6)^_A(Nn,cn,3)^Pt,In=(bn^gn^cn>>>6)+In|0,In=(Gn=Wn+Gn|0)>>>0>>0?In+1|0:In,gn=Pt=nn[kn+4>>2],Pt=_A(Wn=nn[kn>>2],Pt,63),An=bn,hn=Gn,Gn=((127&gn)<<25|Wn>>>7)^_A(Wn,gn,56)^Pt,In=(bn^An^gn>>>7)+In|0,Gn=In=Gn>>>0>(Hn=hn+Gn|0)>>>0?In+1|0:In,nn[Vn+152>>2]=Hn,nn[Vn+156>>2]=In,Pt=(Ln=nn[Tn>>2])+Wn|0,In=(In=gn)+(gn=nn[Tn+4>>2])|0,Wn=_A(Rn,pn,45),An=bn,Wn=((63&pn)<<26|Rn>>>6)^_A(Rn,pn,3)^Wn,In=(bn^An^pn>>>6)+(Pt>>>0>>0?In+1|0:In)|0,Wn=(hn=Wn+Pt|0)>>>0>>0?In+1|0:In,In=_A(An=nn[Cn>>2],Pt=nn[Cn+4>>2],63),kn=bn,wn=hn,hn=((127&Pt)<<25|An>>>7)^(In=_A(An,Pt,56)^In),In=(Pt>>>7^(Cn=bn^kn))+Wn|0,Wn=In=hn>>>0>(kn=wn+hn|0)>>>0?In+1|0:In,nn[Vn+160>>2]=kn,nn[Vn+164>>2]=In,Pt=Pt+rn|0,Pt=(In=An+Yn|0)>>>0>>0?Pt+1|0:Pt,An=_A(Hn,Gn,45),hn=bn,An=(Cn=((63&Gn)<<26|Hn>>>6)^_A(Hn,Gn,3)^An)+In|0,In=(bn^hn^Gn>>>6)+Pt|0,In=An>>>0>>0?In+1|0:In,hn=nn[fn>>2],fn=Pt=nn[fn+4>>2],Pt=_A(hn,Pt,63),Cn=bn,Pt=_A(hn,fn,56)^Pt,wn=An,In=(fn>>>7^(Qn=bn^Cn))+In|0,An=In=(An=((127&fn)<<25|hn>>>7)^Pt)>>>0>(Cn=wn+An|0)>>>0?In+1|0:In,nn[Vn+168>>2]=Cn,nn[Vn+172>>2]=In,Pt=on+fn|0,Pt=(In=hn+vn|0)>>>0>>0?Pt+1|0:Pt,wn=hn=nn[Xn+4>>2],hn=_A(Qn=nn[Xn>>2],hn,63),fn=bn,hn=(Xn=((127&wn)<<25|Qn>>>7)^_A(Qn,wn,56)^hn)+In|0,In=(bn^fn^wn>>>7)+Pt|0,Pt=hn>>>0>>0?In+1|0:In,In=_A(kn,Wn,45),fn=bn,In=_A(kn,Wn,3)^In,Xn=bn^fn,fn=hn,Pt=(Wn>>>6^Xn)+Pt|0,hn=Pt=(hn=((63&Wn)<<26|kn>>>6)^In)>>>0>(fn=fn+hn|0)>>>0?Pt+1|0:Pt,nn[Vn+176>>2]=fn,nn[Vn+180>>2]=Pt,xn=nn[Bn>>2],Bn=Pt=nn[Bn+4>>2],Xn=Pt,Pt=_A(On,mn,63),In=bn,Tn=((127&mn)<<25|On>>>7)^_A(On,mn,56)^Pt,Pt=(bn^In^mn>>>7)+cn|0,In=((Nn=Tn+Nn|0)>>>0>>0?Pt+1|0:Pt)+Xn|0,In=(Pt=Nn+xn|0)>>>0>>0?In+1|0:In,cn=_A(fn,hn,45),Nn=bn,Xn=(cn=((63&hn)<<26|fn>>>6)^_A(fn,hn,3)^cn)+Pt|0,Pt=(bn^Nn^hn>>>6)+In|0,cn=Pt=cn>>>0>Xn>>>0?Pt+1|0:Pt,nn[Vn+192>>2]=Xn,nn[Vn+196>>2]=Pt,In=sn+wn|0,In=(Pt=yn+Qn|0)>>>0>>0?In+1|0:In,Nn=_A(xn,Bn,63),Qn=bn,wn=((127&Bn)<<25|xn>>>7)^_A(xn,Bn,56)^Nn,In=(bn^Qn^Bn>>>7)+In|0,Pt=(Nn=wn+Pt|0)>>>0>>0?In+1|0:In,In=_A(Cn,An,45),Qn=bn,In=_A(Cn,An,3)^In,Bn=Nn,Pt=(An>>>6^(wn=bn^Qn))+Pt|0,Nn=Pt=(Nn=((63&An)<<26|Cn>>>6)^In)>>>0>(Qn=Bn+Nn|0)>>>0?Pt+1|0:Pt,nn[Vn+184>>2]=Qn,nn[Vn+188>>2]=Pt,Pt=_A(Fn,un,63),In=bn,Pt=((127&un)<<25|Fn>>>7)^_A(Fn,un,56)^Pt,In=(bn^In^un>>>7)+dn|0,Pt=Gn+(Pt>>>0>(wn=Pt+En|0)>>>0?In+1|0:In)|0,Pt=(In=Hn+wn|0)>>>0>>0?Pt+1|0:Pt,Gn=_A(Xn,cn,45),Hn=bn,Gn=_A(Xn,cn,3)^Gn,wn=bn^Hn,Hn=(Gn^=(63&cn)<<26|Xn>>>6)+In|0,In=(cn>>>6^wn)+Pt|0,Gn=In=Gn>>>0>Hn>>>0?In+1|0:In,nn[Vn+208>>2]=Hn,nn[Vn+212>>2]=In,Pt=_A(En,dn,63),In=bn,wn=_A(En,dn,56)^Pt,In=((Pt=dn>>>7|0)^bn^In)+mn|0,Pt=pn+((dn=(En=wn^((127&dn)<<25|En>>>7))+On|0)>>>0>>0?In+1|0:In)|0,Pt=(In=dn+Rn|0)>>>0>>0?Pt+1|0:Pt,mn=_A(Qn,Nn,45),dn=bn,pn=(mn=((63&Nn)<<26|Qn>>>6)^_A(Qn,Nn,3)^mn)+In|0,In=(bn^dn^Nn>>>6)+Pt|0,mn=In=mn>>>0>pn>>>0?In+1|0:In,nn[Vn+200>>2]=pn,nn[Vn+204>>2]=In,Pt=_A(Ln,gn,63),In=bn,En=((127&gn)<<25|Ln>>>7)^_A(Ln,gn,56)^Pt,Pt=(bn^In^gn>>>7)+Zn|0,In=An+((dn=En+Jn|0)>>>0>>0?Pt+1|0:Pt)|0,In=(Pt=dn+Cn|0)>>>0>>0?In+1|0:In,dn=_A(Hn,Gn,45),An=bn,En=Pt,Pt=Gn>>>6|0,dn=((63&Gn)<<26|Hn>>>6)^_A(Hn,Gn,3)^dn,In=(Pt^bn^An)+In|0,dn=In=dn>>>0>(Gn=En+dn|0)>>>0?In+1|0:In,nn[Vn+224>>2]=Gn,nn[Vn+228>>2]=In,Pt=_A(Jn,Zn,63),In=bn,Pt=_A(Jn,Zn,56)^Pt,An=bn^In,En=((127&Zn)<<25|Jn>>>7)^Pt,Pt=((In=Zn>>>7|0)^An)+un|0,In=Wn+((Zn=En+Fn|0)>>>0>>0?Pt+1|0:Pt)|0,In=(Pt=Zn+kn|0)>>>0>>0?In+1|0:In,un=_A(pn,mn,45),Zn=bn,An=Pt,Pt=mn>>>6|0,mn=((63&mn)<<26|pn>>>6)^_A(pn,mn,3)^un,Pt=(Pt^bn^Zn)+In|0,mn=Pt=(un=An+mn|0)>>>0>>0?Pt+1|0:Pt,nn[Vn+216>>2]=un,nn[Vn+220>>2]=Pt,Pt=_A(vn,on,63),In=bn,Zn=((127&on)<<25|vn>>>7)^_A(vn,on,56)^Pt,In=(bn^In^on>>>7)+rn|0,In=Nn+((Pt=Zn+Yn|0)>>>0>>0?In+1|0:In)|0,Pt=(pn=Pt+Qn|0)>>>0>>0?In+1|0:In,In=_A(Gn,dn,45),Zn=bn,An=pn,pn=_A(Gn,dn,3)^In,In=dn>>>6|0,dn=An+(pn^=(63&dn)<<26|Gn>>>6)|0,Pt=(In^bn^Zn)+Pt|0,nn[Vn+240>>2]=dn,nn[Vn+244>>2]=dn>>>0>>0?Pt+1|0:Pt,Pt=_A(Yn,rn,63),In=bn,Pt=_A(Yn,rn,56)^Pt,dn=bn^In,In=((In=rn>>>7|0)^dn)+gn|0,Pt=hn+((Pt^=(127&rn)<<25|Yn>>>7)>>>0>(rn=Pt+Ln|0)>>>0?In+1|0:In)|0,Pt=(In=rn+fn|0)>>>0>>0?Pt+1|0:Pt,rn=_A(un,mn,45),dn=bn,pn=In,In=mn>>>6|0,rn=((63&mn)<<26|un>>>6)^_A(un,mn,3)^rn,In=(In^bn^dn)+Pt|0,rn=In=rn>>>0>(mn=pn+rn|0)>>>0?In+1|0:In,nn[Vn+232>>2]=mn,nn[Vn+236>>2]=In,Pt=_A(yn,sn,63),In=bn,pn=_A(yn,sn,56)^Pt,In=((Pt=sn>>>7|0)^bn^In)+on|0,Pt=cn+((sn=(dn=pn^((127&sn)<<25|yn>>>7))+vn|0)>>>0>>0?In+1|0:In)|0,Pt=(In=sn+Xn|0)>>>0>>0?Pt+1|0:Pt,sn=_A(mn,rn,45),on=bn,pn=In,In=rn>>>6|0,rn=pn+(sn=((63&rn)<<26|mn>>>6)^_A(mn,rn,3)^sn)|0,In=(In^bn^on)+Pt|0,nn[Vn+248>>2]=rn,nn[Vn+252>>2]=rn>>>0>>0?In+1|0:In;Pt=Pt+nn[Wt+4>>2]|0,Pt=(en=rn+nn[Wt>>2]|0)>>>0>>0?Pt+1|0:Pt,nn[Wt>>2]=en,nn[Wt+4>>2]=Pt,In=nn[Wt+12>>2]+nn[tn+12>>2]|0,Pt=(en=nn[tn+8>>2])+nn[Wt+8>>2]|0,nn[Wt+8>>2]=Pt,nn[Wt+12>>2]=Pt>>>0>>0?In+1|0:In,In=nn[Wt+20>>2]+nn[tn+20>>2]|0,Pt=(en=nn[tn+16>>2])+nn[Wt+16>>2]|0,nn[Wt+16>>2]=Pt,nn[Wt+20>>2]=Pt>>>0>>0?In+1|0:In,Pt=nn[Wt+28>>2]+nn[tn+28>>2]|0,en=(In=nn[tn+24>>2])+nn[Wt+24>>2]|0,nn[Wt+24>>2]=en,nn[Wt+28>>2]=en>>>0>>0?Pt+1|0:Pt,In=nn[Wt+36>>2]+nn[tn+36>>2]|0,Pt=(en=nn[tn+32>>2])+nn[Wt+32>>2]|0,nn[Wt+32>>2]=Pt,nn[Wt+36>>2]=Pt>>>0>>0?In+1|0:In,Pt=nn[Wt+44>>2]+nn[tn+44>>2]|0,en=(In=nn[tn+40>>2])+nn[Wt+40>>2]|0,nn[Wt+40>>2]=en,nn[Wt+44>>2]=en>>>0>>0?Pt+1|0:Pt,In=nn[Wt+52>>2]+nn[tn+52>>2]|0,Pt=(en=nn[tn+48>>2])+nn[Wt+48>>2]|0,nn[Wt+48>>2]=Pt,nn[Wt+52>>2]=Pt>>>0>>0?In+1|0:In,In=nn[Wt+60>>2]+nn[tn+60>>2]|0,Pt=(en=nn[tn+56>>2])+nn[Wt+56>>2]|0,nn[Wt+56>>2]=Pt,nn[Wt+60>>2]=Pt>>>0>>0?In+1|0:In}function s(Wt){var Pt,en,nn,In,rn,sn,on,cn,dn,un,pn,mn=0,Gn=0,hn=0,Zn=0,An=0,Wn=0,Nn=0,gn=0,yn=0,vn=0,Yn=0,En=0,Vn=0,Rn=0,wn=0,Fn=0,Qn=0,fn=0,Hn=0,Cn=0,Xn=0,kn=0,Jn=0,Ln=0,Bn=0,xn=0,On=0,Tn=0,Un=0,Mn=0,zn=0,Sn=0,Dn=0,jn=0,_n=0,Kn=0,Pn=0;Zn=(Fn=an[Wt+44|0]|an[Wt+45|0]<<8|an[Wt+46|0]<<16|an[Wt+47|0]<<24)>>>5&2097151,hn=PA(Pt=(an[Wt+60|0]|an[Wt+61|0]<<8|an[Wt+62|0]<<16|an[Wt+63|0]<<24)>>>3|0,0,-683901,-1),Gn=(mn=an[Wt+44|0])<<16&2031616|an[Wt+42|0]|an[Wt+43|0]<<8,mn=bn,gn=mn=Gn>>>0>(vn=hn+Gn|0)>>>0?mn+1|0:mn,Rn=mn=mn-((vn>>>0<4293918720)-1|0)|0,hn=mn>>21,mn=(Gn=Zn)+(Zn=(2097151&mn)<<11|(Wn=vn- -1048576|0)>>>21)|0,Gn=hn,kn=Gn=mn>>>0>>0?Gn+1|0:Gn,zn=mn,Vn=PA(mn,Gn,-683901,-1),yn=bn,Nn=PA(en=(an[Wt+49|0]|an[Wt+50|0]<<8|an[Wt+51|0]<<16|an[Wt+52|0]<<24)>>>7&2097151,0,-997805,-1),hn=(mn=an[Wt+27|0])>>>24|0,Zn=mn<<8|(wn=an[Wt+23|0]|an[Wt+24|0]<<8|an[Wt+25|0]<<16|an[Wt+26|0]<<24)>>>24,Gn=(mn=an[Wt+28|0])>>>16|0,Gn=2097151&((3&(Gn|=hn))<<30|(mn=Zn|mn<<16)>>>2),mn=bn,mn=Gn>>>0>(hn=Gn+Nn|0)>>>0?mn+1|0:mn,Gn=PA(Un=(Yn=an[Wt+52|0]|an[Wt+53|0]<<8|an[Wt+54|0]<<16|an[Wt+55|0]<<24)>>>4&2097151,0,654183,0),mn=bn+mn|0,Nn=hn=Gn+hn|0,hn=Gn>>>0>hn>>>0?mn+1|0:mn,An=(Gn=an[Wt+48|0])<<8|Fn>>>24,Gn=mn=Gn>>>24|0,mn=PA(nn=2097151&((3&(Fn=(mn=(Zn=an[Wt+49|0])>>>16|0)|Gn))<<30|(Gn=(Zn<<=16)|An)>>>2),0,136657,0),hn=bn+hn|0,hn=mn>>>0>(Gn=mn+Nn|0)>>>0?hn+1|0:hn,Zn=(mn=PA(In=(an[Wt+57|0]|an[Wt+58|0]<<8|an[Wt+59|0]<<16|an[Wt+60|0]<<24)>>>6&2097151,0,666643,0))+Gn|0,Gn=bn+hn|0,Nn=Zn,hn=mn>>>0>Zn>>>0?Gn+1|0:Gn,Gn=(mn=an[Wt+56|0])>>>24|0,An=mn<<8|Yn>>>24,Gn=PA(rn=2097151&((1&(Yn=(mn=(Zn=an[Wt+57|0])>>>16|0)|Gn))<<31|(Gn=(Zn<<=16)|An)>>>1),0,470296,0),mn=bn+hn|0,Gn=(mn=(hn=Zn=Gn+Nn|0)>>>0>>0?mn+1|0:mn)+yn|0,Gn=hn>>>0>(Zn=hn+Vn|0)>>>0?Gn+1|0:Gn,Qn=hn- -1048576|0,Jn=hn=mn-((hn>>>0<4293918720)-1|0)|0,yn=Zn-(mn=-2097152&Qn)|0,Vn=Gn-((mn>>>0>Zn>>>0)+hn|0)|0,Gn=PA(en,0,654183,0),mn=bn,mn=Gn>>>0>(hn=Gn+(wn>>>5&2097151)|0)>>>0?mn+1|0:mn,Zn=(Gn=hn)+(hn=PA(Un,0,470296,0))|0,Gn=bn+mn|0,Gn=hn>>>0>Zn>>>0?Gn+1|0:Gn,mn=PA(nn,Sn,-997805,-1),Gn=bn+Gn|0,Gn=mn>>>0>(hn=mn+Zn|0)>>>0?Gn+1|0:Gn,Zn=(mn=hn)+(hn=PA(rn,Dn,666643,0))|0,mn=bn+Gn|0,An=Zn,Zn=hn>>>0>Zn>>>0?mn+1|0:mn,Nn=(hn=PA(en,0,470296,0))+(mn=(mn=an[Wt+23|0])<<16&2031616|an[Wt+21|0]|an[Wt+22|0]<<8)|0,hn=bn,hn=mn>>>0>Nn>>>0?hn+1|0:hn,Nn=(Gn=PA(Un,0,666643,0))+Nn|0,mn=bn+hn|0,hn=PA(nn,Sn,654183,0),Gn=bn+(Gn>>>0>Nn>>>0?mn+1|0:mn)|0,Yn=Gn=hn>>>0>(wn=hn+Nn|0)>>>0?Gn+1|0:Gn,Tn=Gn=Gn-((wn>>>0<4293918720)-1|0)|0,mn=(mn=Gn>>>21|0)+Zn|0,hn=mn=(Gn=(2097151&Gn)<<11|(Nn=wn- -1048576|0)>>>21)>>>0>(An=Gn+An|0)>>>0?mn+1|0:mn,En=Gn=mn-((An>>>0<4293918720)-1|0)|0,mn=yn,yn=(2097151&Gn)<<11|(Zn=An- -1048576|0)>>>21,Gn=(Gn>>21)+Vn|0,Fn=yn=(Gn=yn>>>0>(fn=mn+yn|0)>>>0?Gn+1|0:Gn)-((fn>>>0<4293918720)-1|0)|0,Mn=fn-(mn=-2097152&(Vn=fn- -1048576|0))|0,jn=Gn-((mn>>>0>fn>>>0)+yn|0)|0,mn=PA(zn,kn,136657,0),hn=bn+hn|0,hn=mn>>>0>(Gn=mn+An|0)>>>0?hn+1|0:hn,Xn=Gn-(mn=-2097152&Zn)|0,Hn=hn-((mn>>>0>Gn>>>0)+En|0)|0,fn=vn-(mn=-2097152&Wn)|0,Rn=gn-((mn>>>0>vn>>>0)+Rn|0)|0,gn=PA(Pt,0,136657,0),Gn=(mn=an[Wt+40|0])>>>24|0,Zn=mn<<8|(Wn=an[Wt+36|0]|an[Wt+37|0]<<8|an[Wt+38|0]<<16|an[Wt+39|0]<<24)>>>24,hn=(mn=an[Wt+41|0])>>>16|0,Gn=(hn|=Gn)>>>3|0,hn=(7&hn)<<29|(mn=Zn|mn<<16)>>>3,mn=Gn+bn|0,mn=hn>>>0>(Zn=hn+gn|0)>>>0?mn+1|0:mn,Gn=PA(In,0,-683901,-1),mn=bn+mn|0,mn=Gn>>>0>(hn=Gn+Zn|0)>>>0?mn+1|0:mn,An=hn,Gn=PA(Pt,0,-997805,-1),hn=bn,hn=Gn>>>0>(Zn=Gn+(Wn>>>6&2097151)|0)>>>0?hn+1|0:hn,Wn=(Gn=Zn)+(Zn=PA(In,0,136657,0))|0,Gn=bn+hn|0,hn=PA(rn,Dn,-683901,-1),Gn=bn+(Zn>>>0>Wn>>>0?Gn+1|0:Gn)|0,yn=Gn=hn>>>0>(Ln=hn+Wn|0)>>>0?Gn+1|0:Gn,_n=hn=Gn-((Ln>>>0<4293918720)-1|0)|0,mn=mn+(Gn=hn>>21)|0,Wn=mn=(hn=(2097151&hn)<<11|(vn=Ln- -1048576|0)>>>21)>>>0>(En=hn+An|0)>>>0?mn+1|0:mn,Bn=mn=mn-((En>>>0<4293918720)-1|0)|0,Gn=(Gn=mn>>21)+Rn|0,On=Gn=(mn=(hn=(2097151&mn)<<11|(An=En- -1048576|0)>>>21)+fn|0)>>>0>>0?Gn+1|0:Gn,xn=mn,Gn=PA(mn,Gn,-683901,-1),mn=bn+Hn|0,Cn=hn=Gn+Xn|0,Zn=Gn>>>0>hn>>>0?mn+1|0:mn,fn=wn-(mn=-2097152&Nn)|0,Rn=Yn-((4095&Tn)+(mn>>>0>wn>>>0)|0)|0,wn=PA(en,0,666643,0),mn=(Gn=an[Wt+19|0])>>>24|0,Nn=Gn<<8|(Yn=an[Wt+15|0]|an[Wt+16|0]<<8|an[Wt+17|0]<<16|an[Wt+18|0]<<24)>>>24,hn=mn,Gn=(7&(hn|=Gn=(mn=an[Wt+20|0])>>>16|0))<<29|(Gn=(mn<<=16)|Nn)>>>3,hn=bn+(hn>>>3|0)|0,hn=Gn>>>0>(Nn=Gn+wn|0)>>>0?hn+1|0:hn,mn=PA(nn,Sn,470296,0),Gn=bn+hn|0,mn=mn>>>0>(Nn=mn+Nn|0)>>>0?Gn+1|0:Gn,hn=PA(nn,Sn,666643,0),Gn=bn,wn=Gn=hn>>>0>(Xn=hn+(Yn>>>6&2097151)|0)>>>0?Gn+1|0:Gn,Kn=hn=Gn-((Xn>>>0<4293918720)-1|0)|0,mn=mn+(Gn=hn>>>21|0)|0,Yn=mn=(hn=(2097151&hn)<<11|(gn=Xn- -1048576|0)>>>21)>>>0>(Hn=hn+Nn|0)>>>0?mn+1|0:mn,Pn=mn=mn-((Hn>>>0<4293918720)-1|0)|0,Gn=(Gn=mn>>>21|0)+Rn|0,Gn=(mn=(2097151&mn)<<11|(Nn=Hn- -1048576|0)>>>21)>>>0>(hn=mn+fn|0)>>>0?Gn+1|0:Gn,Rn=(mn=hn)+(hn=PA(zn,kn,-997805,-1))|0,mn=bn+Gn|0,mn=hn>>>0>Rn>>>0?mn+1|0:mn,Tn=Gn=En-(hn=-2097152&An)|0,sn=An=Wn-((hn>>>0>En>>>0)+Bn|0)|0,hn=PA(xn,On,136657,0),mn=bn+mn|0,mn=hn>>>0>(Wn=hn+Rn|0)>>>0?mn+1|0:mn,hn=PA(Gn,An,-683901,-1),Gn=bn+mn|0,Wn=Gn=hn>>>0>(Rn=hn+Wn|0)>>>0?Gn+1|0:Gn,Bn=mn=Gn-((Rn>>>0<4293918720)-1|0)|0,Gn=(2097151&mn)<<11|(An=Rn- -1048576|0)>>>21,mn=(mn>>21)+Zn|0,Cn=Gn=(mn=Gn>>>0>(En=Gn+Cn|0)>>>0?mn+1|0:mn)-((En>>>0<4293918720)-1|0)|0,fn=(2097151&Gn)<<11|(Zn=En- -1048576|0)>>>21,Gn=(Gn>>21)+jn|0,cn=Mn=fn+Mn|0,fn=fn>>>0>Mn>>>0?Gn+1|0:Gn,dn=En-(Gn=-2097152&Zn)|0,un=mn-((Gn>>>0>En>>>0)+Cn|0)|0,Mn=Rn-(mn=-2097152&An)|0,jn=Wn-((mn>>>0>Rn>>>0)+Bn|0)|0,hn=(mn=PA(zn,kn,654183,0))+(Hn-(Gn=-2097152&Nn)|0)|0,Gn=bn+(Yn-((2147483647&Pn)+(Gn>>>0>Hn>>>0)|0)|0)|0,Gn=mn>>>0>hn>>>0?Gn+1|0:Gn,mn=PA(xn,On,-997805,-1),Gn=bn+Gn|0,Gn=mn>>>0>(hn=mn+hn|0)>>>0?Gn+1|0:Gn,Zn=(mn=hn)+(hn=PA(Tn,sn,136657,0))|0,mn=bn+Gn|0,Cn=Zn,Wn=hn>>>0>Zn>>>0?mn+1|0:mn,Hn=Ln-(mn=-2097152&vn)|0,En=yn-((mn>>>0>Ln>>>0)+_n|0)|0,Yn=PA(Un,0,-683901,-1),mn=(Gn=an[Wt+35|0])>>>24|0,Zn=Gn<<8|(Nn=an[Wt+31|0]|an[Wt+32|0]<<8|an[Wt+33|0]<<16|an[Wt+34|0]<<24)>>>24,hn=mn,Gn=(mn=an[Wt+36|0])>>>16|0,Gn|=hn,hn=bn,hn=(mn=2097151&((1&Gn)<<31|(mn=mn<<16|Zn)>>>1))>>>0>(Gn=mn+Yn|0)>>>0?hn+1|0:hn,Zn=(mn=PA(Pt,0,654183,0))+Gn|0,Gn=bn+hn|0,Gn=mn>>>0>Zn>>>0?Gn+1|0:Gn,hn=PA(In,0,-997805,-1),mn=bn+Gn|0,mn=hn>>>0>(Zn=hn+Zn|0)>>>0?mn+1|0:mn,Gn=PA(rn,Dn,136657,0),mn=bn+mn|0,An=hn=Gn+Zn|0,Zn=Gn>>>0>hn>>>0?mn+1|0:mn,mn=PA(en,0,-683901,-1),Gn=bn,Gn=mn>>>0>(hn=mn+(Nn>>>4&2097151)|0)>>>0?Gn+1|0:Gn,Nn=(mn=PA(Un,0,136657,0))+hn|0,hn=bn+Gn|0,hn=mn>>>0>Nn>>>0?hn+1|0:hn,mn=PA(Pt,0,470296,0),Gn=bn+hn|0,Gn=mn>>>0>(Nn=mn+Nn|0)>>>0?Gn+1|0:Gn,Nn=(hn=PA(In,0,654183,0))+Nn|0,mn=bn+Gn|0,Gn=PA(rn,Dn,-997805,-1),mn=bn+(hn>>>0>Nn>>>0?mn+1|0:mn)|0,Yn=mn=Gn>>>0>(yn=Gn+Nn|0)>>>0?mn+1|0:mn,pn=Gn=mn-((yn>>>0<4293918720)-1|0)|0,hn=(mn=Gn>>21)+Zn|0,Rn=Gn=(hn=(Gn=(2097151&Gn)<<11|(Nn=yn- -1048576|0)>>>21)>>>0>(vn=Gn+An|0)>>>0?hn+1|0:hn)-((vn>>>0<4293918720)-1|0)|0,mn=(mn=Gn>>21)+En|0,Bn=mn=(Gn=(Zn=(2097151&Gn)<<11|(An=vn- -1048576|0)>>>21)+Hn|0)>>>0>>0?mn+1|0:mn,Zn=Cn,Cn=Gn,mn=PA(Gn,mn,-683901,-1),Gn=bn+Wn|0,En=Zn=Zn+mn|0,Zn=mn>>>0>Zn>>>0?Gn+1|0:Gn,Wn=(mn=PA(zn,kn,470296,0))+(Xn-(Gn=-2097152&gn)|0)|0,Gn=bn+(wn-((2047&Kn)+(Gn>>>0>Xn>>>0)|0)|0)|0,Gn=mn>>>0>Wn>>>0?Gn+1|0:Gn,gn=(mn=Wn)+(Wn=PA(xn,On,654183,0))|0,mn=bn+Gn|0,mn=Wn>>>0>gn>>>0?mn+1|0:mn,Wn=PA(Tn,sn,-997805,-1),Gn=bn+mn|0,Gn=Wn>>>0>(gn=Wn+gn|0)>>>0?Gn+1|0:Gn,Ln=An=vn-(mn=-2097152&An)|0,on=Wn=hn-((mn>>>0>vn>>>0)+Rn|0)|0,hn=PA(Cn,Bn,136657,0),mn=bn+Gn|0,mn=hn>>>0>(gn=hn+gn|0)>>>0?mn+1|0:mn,hn=PA(An,Wn,-683901,-1),Gn=bn+mn|0,Wn=Gn=hn>>>0>(wn=hn+gn|0)>>>0?Gn+1|0:Gn,Hn=mn=Gn-((wn>>>0<4293918720)-1|0)|0,Gn=(2097151&mn)<<11|(An=wn- -1048576|0)>>>21,mn=(mn>>21)+Zn|0,En=Gn=(mn=Gn>>>0>(gn=Gn+En|0)>>>0?mn+1|0:mn)-((gn>>>0<4293918720)-1|0)|0,vn=(2097151&Gn)<<11|(Zn=gn- -1048576|0)>>>21,Gn=(Gn>>21)+jn|0,_n=Rn=vn+Mn|0,Rn=vn>>>0>Rn>>>0?Gn+1|0:Gn,Kn=gn-(Gn=-2097152&Zn)|0,Pn=mn-((Gn>>>0>gn>>>0)+En|0)|0,Mn=wn-(mn=-2097152&An)|0,jn=Wn-((mn>>>0>wn>>>0)+Hn|0)|0,Wn=PA(zn,kn,666643,0),mn=(Gn=an[Wt+14|0])>>>24|0,Zn=Gn<<8|(En=an[Wt+10|0]|an[Wt+11|0]<<8|an[Wt+12|0]<<16|an[Wt+13|0]<<24)>>>24,hn=mn,Gn=(mn=an[Wt+15|0])>>>16|0,Gn|=hn,hn=bn,hn=(mn=2097151&((1&Gn)<<31|(mn=mn<<16|Zn)>>>1))>>>0>(Gn=mn+Wn|0)>>>0?hn+1|0:hn,Zn=(mn=Gn)+(Gn=PA(xn,On,470296,0))|0,mn=bn+hn|0,mn=Gn>>>0>Zn>>>0?mn+1|0:mn,Gn=PA(Tn,sn,654183,0),mn=bn+mn|0,mn=Gn>>>0>(hn=Gn+Zn|0)>>>0?mn+1|0:mn,Zn=(Gn=hn)+(hn=PA(Cn,Bn,-997805,-1))|0,Gn=bn+mn|0,Gn=hn>>>0>Zn>>>0?Gn+1|0:Gn,mn=PA(Ln,on,136657,0),Gn=bn+Gn|0,wn=hn=mn+Zn|0,Zn=mn>>>0>hn>>>0?Gn+1|0:Gn,Nn=yn-(mn=-2097152&Nn)|0,Wn=Yn-((mn>>>0>yn>>>0)+pn|0)|0,hn=PA(en,0,136657,0),mn=bn,mn=(Gn=(an[Wt+28|0]|an[Wt+29|0]<<8|an[Wt+30|0]<<16|an[Wt+31|0]<<24)>>>7&2097151)>>>0>(hn=Gn+hn|0)>>>0?mn+1|0:mn,An=(Gn=hn)+(hn=PA(Un,0,-997805,-1))|0,Gn=bn+mn|0,Gn=hn>>>0>An>>>0?Gn+1|0:Gn,mn=PA(nn,Sn,-683901,-1),Gn=bn+Gn|0,Gn=mn>>>0>(hn=mn+An|0)>>>0?Gn+1|0:Gn,An=(mn=PA(Pt,0,666643,0))+hn|0,hn=bn+Gn|0,hn=mn>>>0>An>>>0?hn+1|0:hn,Gn=PA(In,0,470296,0),mn=bn+hn|0,mn=Gn>>>0>(An=Gn+An|0)>>>0?mn+1|0:mn,Gn=PA(rn,Dn,654183,0),mn=bn+mn|0,Gn=(Jn>>21)+(Gn>>>0>(hn=Gn+An|0)>>>0?mn+1|0:mn)|0,vn=Gn=(An=(2097151&Jn)<<11|Qn>>>21)>>>0>(Qn=An+hn|0)>>>0?Gn+1|0:Gn,Jn=mn=Gn-((Qn>>>0<4293918720)-1|0)|0,An=(2097151&mn)<<11|(gn=Qn- -1048576|0)>>>21,mn=(mn>>21)+Wn|0,Xn=mn=(Gn=An+Nn|0)>>>0>>0?mn+1|0:mn,Hn=Gn,Gn=PA(Gn,mn,-683901,-1),mn=bn+Zn|0,An=hn=Gn+wn|0,Zn=Gn>>>0>hn>>>0?mn+1|0:mn,mn=PA(xn,On,666643,0),Gn=bn,Gn=mn>>>0>(hn=mn+(En>>>4&2097151)|0)>>>0?Gn+1|0:Gn,mn=PA(Tn,sn,470296,0),Gn=bn+Gn|0,Gn=mn>>>0>(hn=mn+hn|0)>>>0?Gn+1|0:Gn,Wn=(mn=PA(Cn,Bn,654183,0))+hn|0,hn=bn+Gn|0,hn=mn>>>0>Wn>>>0?hn+1|0:hn,Gn=PA(Ln,on,-997805,-1),mn=bn+hn|0,mn=Gn>>>0>(Wn=Gn+Wn|0)>>>0?mn+1|0:mn,Gn=PA(Hn,Xn,136657,0),mn=bn+mn|0,Yn=mn=Gn>>>0>(yn=Gn+Wn|0)>>>0?mn+1|0:mn,On=Gn=mn-((yn>>>0<4293918720)-1|0)|0,mn=An,An=(2097151&Gn)<<11|(Nn=yn- -1048576|0)>>>21,Gn=(Gn>>21)+Zn|0,xn=Zn=(Gn=(hn=mn+An|0)>>>0>>0?Gn+1|0:Gn)-((hn>>>0<4293918720)-1|0)|0,mn=(mn=Zn>>21)+jn|0,zn=An=(Zn=(2097151&Zn)<<11|(Wn=hn- -1048576|0)>>>21)+Mn|0,wn=Zn>>>0>An>>>0?mn+1|0:mn,An=hn,hn=Gn,Zn=(Qn-(Gn=-2097152&gn)|0)+(gn=(2097151&Fn)<<11|Vn>>>21)|0,Gn=(vn-((Gn>>>0>Qn>>>0)+Jn|0)|0)+(Fn>>21)|0,En=Gn=Zn>>>0>>0?Gn+1|0:Gn,Un=Gn=Gn-((Zn>>>0<4293918720)-1|0)|0,Vn=mn=Gn>>21,mn=PA(kn=(2097151&Gn)<<11|(Jn=Zn- -1048576|0)>>>21,mn,-683901,-1),hn=bn+hn|0,hn=mn>>>0>(Gn=mn+An|0)>>>0?hn+1|0:hn,Sn=Gn-(mn=-2097152&Wn)|0,Dn=hn-((mn>>>0>Gn>>>0)+xn|0)|0,mn=PA(kn,Vn,136657,0),Gn=Yn+bn|0,xn=(hn=mn+yn|0)-(mn=-2097152&Nn)|0,Qn=(Gn=hn>>>0>>0?Gn+1|0:Gn)-((mn>>>0>hn>>>0)+On|0)|0,Gn=PA(Tn,sn,666643,0),hn=bn,hn=(mn=(an[Wt+7|0]|an[Wt+8|0]<<8|an[Wt+9|0]<<16|an[Wt+10|0]<<24)>>>7&2097151)>>>0>(Gn=mn+Gn|0)>>>0?hn+1|0:hn,An=(mn=PA(Cn,Bn,470296,0))+Gn|0,Gn=bn+hn|0,Gn=mn>>>0>An>>>0?Gn+1|0:Gn,mn=PA(Ln,on,654183,0),Gn=bn+Gn|0,Gn=mn>>>0>(hn=mn+An|0)>>>0?Gn+1|0:Gn,An=(mn=hn)+(hn=PA(Hn,Xn,-997805,-1))|0,mn=bn+Gn|0,gn=An,An=hn>>>0>An>>>0?mn+1|0:mn,Yn=PA(Cn,Bn,666643,0),mn=(Gn=an[Wt+6|0])>>>24|0,Wn=Gn<<8|(On=an[Wt+2|0]|an[Wt+3|0]<<8|an[Wt+4|0]<<16|an[Wt+5|0]<<24)>>>24,hn=mn,Gn=(mn=an[Wt+7|0])>>>16|0,Gn=2097151&((3&(Gn|=hn))<<30|(mn=mn<<16|Wn)>>>2),mn=bn,mn=Gn>>>0>(hn=Gn+Yn|0)>>>0?mn+1|0:mn,Wn=(Gn=PA(Ln,on,470296,0))+hn|0,hn=bn+mn|0,hn=Gn>>>0>Wn>>>0?hn+1|0:hn,Gn=PA(Hn,Xn,654183,0),mn=bn+hn|0,Yn=mn=Gn>>>0>(vn=Gn+Wn|0)>>>0?mn+1|0:mn,Fn=mn=mn-((vn>>>0<4293918720)-1|0)|0,Gn=(hn=mn>>21)+An|0,yn=mn=(Gn=(mn=(2097151&mn)<<11|(Nn=vn- -1048576|0)>>>21)>>>0>(Wn=mn+gn|0)>>>0?Gn+1|0:Gn)-((Wn>>>0<4293918720)-1|0)|0,gn=(2097151&mn)<<11|(An=Wn- -1048576|0)>>>21,mn=(mn>>21)+Qn|0,xn=Cn=gn+xn|0,gn=gn>>>0>Cn>>>0?mn+1|0:mn,mn=PA(kn,Vn,-997805,-1),Gn=bn+Gn|0,Gn=mn>>>0>(hn=mn+Wn|0)>>>0?Gn+1|0:Gn,Tn=hn-(mn=-2097152&An)|0,Bn=Gn-((mn>>>0>hn>>>0)+yn|0)|0,Gn=PA(kn,Vn,654183,0),mn=Yn+bn|0,Cn=(hn=Gn+vn|0)-(Gn=-2097152&Nn)|0,Qn=(mn=hn>>>0>>0?mn+1|0:mn)-((Gn>>>0>hn>>>0)+Fn|0)|0,mn=PA(Ln,on,666643,0),Gn=bn,Gn=mn>>>0>(hn=mn+(On>>>5&2097151)|0)>>>0?Gn+1|0:Gn,mn=PA(Hn,Xn,470296,0),Gn=bn+Gn|0,Wn=hn=mn+hn|0,hn=mn>>>0>hn>>>0?Gn+1|0:Gn,An=PA(Hn,Xn,666643,0),Gn=(mn=an[Wt+2|0])<<16&2031616|an[0|Wt]|an[Wt+1|0]<<8,mn=bn,Yn=mn=Gn>>>0>(yn=An+Gn|0)>>>0?mn+1|0:mn,Xn=mn=mn-((yn>>>0<4293918720)-1|0)|0,An=(2097151&mn)<<11|(Nn=yn- -1048576|0)>>>21,mn=(mn>>21)+hn|0,hn=mn=An>>>0>(vn=An+Wn|0)>>>0?mn+1|0:mn,Fn=mn=mn-((vn>>>0<4293918720)-1|0)|0,An=(2097151&mn)<<11|(Wn=vn- -1048576|0)>>>21,mn=(mn>>21)+Qn|0,An=An>>>0>(Hn=An+Cn|0)>>>0?mn+1|0:mn,mn=PA(kn,Vn,470296,0),hn=hn+bn|0,hn=(Gn=mn+vn|0)>>>0>>0?hn+1|0:hn,vn=Gn-(mn=-2097152&Wn)|0,Wn=hn-((mn>>>0>Gn>>>0)+Fn|0)|0,Gn=PA(kn,Vn,666643,0),mn=bn+(Yn-(((hn=-2097152&Nn)>>>0>yn>>>0)+Xn|0)|0)|0,Gn=(hn=(mn=Gn>>>0>(Qn=Gn+(yn-hn|0)|0)>>>0?mn+1|0:mn)>>21)+Wn|0,mn=(mn=(Gn=(mn=(2097151&mn)<<11|Qn>>>21)>>>0>(Fn=mn+vn|0)>>>0?Gn+1|0:Gn)>>21)+An|0,Gn=(Gn=(mn=(Gn=(2097151&Gn)<<11|Fn>>>21)>>>0>(Vn=Gn+Hn|0)>>>0?mn+1|0:mn)>>21)+Bn|0,hn=(mn=(Gn=(mn=(2097151&mn)<<11|Vn>>>21)>>>0>(An=mn+Tn|0)>>>0?Gn+1|0:Gn)>>21)+gn|0,mn=(Gn=(hn=(Gn=(2097151&Gn)<<11|An>>>21)>>>0>(yn=Gn+xn|0)>>>0?hn+1|0:hn)>>21)+Dn|0,Gn=(hn=(mn=(hn=(2097151&hn)<<11|yn>>>21)>>>0>(vn=hn+Sn|0)>>>0?mn+1|0:mn)>>21)+wn|0,wn=Wn=(mn=(2097151&mn)<<11|vn>>>21)+zn|0,mn=(mn=(Gn=mn>>>0>Wn>>>0?Gn+1|0:Gn)>>21)+Pn|0,Gn=(Gn=(mn=(Gn=(2097151&Gn)<<11|Wn>>>21)>>>0>(gn=Gn+Kn|0)>>>0?mn+1|0:mn)>>21)+Rn|0,hn=(mn=(Gn=(mn=(2097151&mn)<<11|gn>>>21)>>>0>(Yn=mn+_n|0)>>>0?Gn+1|0:Gn)>>21)+un|0,mn=(Gn=(hn=(Gn=(2097151&Gn)<<11|Yn>>>21)>>>0>(Nn=Gn+dn|0)>>>0?hn+1|0:hn)>>21)+fn|0,Jn=(Rn=Zn-(Gn=-2097152&Jn)|0)+((2097151&(mn=(hn=(2097151&hn)<<11|Nn>>>21)>>>0>(Wn=hn+cn|0)>>>0?mn+1|0:mn))<<11|Wn>>>21)|0,mn=(En-((Gn>>>0>Zn>>>0)+Un|0)|0)+(mn>>21)|0,En=Gn=(mn=Rn>>>0>Jn>>>0?mn+1|0:mn)>>21,Qn=(mn=PA(fn=(2097151&mn)<<11|Jn>>>21,Gn,666643,0))+(Gn=2097151&Qn)|0,mn=bn,Zn=mn=Gn>>>0>Qn>>>0?mn+1|0:mn,tn[0|Wt]=Qn,tn[Wt+1|0]=(255&mn)<<24|Qn>>>8,mn=2097151&Fn,Gn=PA(fn,En,470296,0)+mn|0,hn=bn,mn=(Zn>>21)+(mn>>>0>Gn>>>0?hn+1|0:hn)|0,mn=(Rn=(2097151&Zn)<<11|Qn>>>21)>>>0>(Fn=Rn+Gn|0)>>>0?mn+1|0:mn,tn[Wt+4|0]=(2047&mn)<<21|Fn>>>11,Gn=mn,hn=Fn,tn[Wt+3|0]=(7&mn)<<29|hn>>>3,tn[Wt+2|0]=31&((65535&Zn)<<16|Qn>>>16)|hn<<5,Zn=2097151&Vn,Vn=PA(fn,En,654183,0)+Zn|0,mn=bn,Fn=(2097151&Gn)<<11|hn>>>21,Gn=(Gn>>21)+(Zn=Zn>>>0>Vn>>>0?mn+1|0:mn)|0,mn=Gn=(Vn=Fn+Vn|0)>>>0>>0?Gn+1|0:Gn,tn[Wt+6|0]=(63&mn)<<26|Vn>>>6,Zn=Vn,Vn=0,tn[Wt+5|0]=Vn<<13|(1572864&hn)>>>19|Zn<<2,hn=2097151&An,An=PA(fn,En,-997805,-1)+hn|0,Gn=bn,Gn=hn>>>0>An>>>0?Gn+1|0:Gn,Vn=(2097151&(hn=mn))<<11|Zn>>>21,hn=(mn>>=21)+Gn|0,hn=(An=Vn+An|0)>>>0>>0?hn+1|0:hn,tn[Wt+9|0]=(511&hn)<<23|An>>>9,tn[Wt+8|0]=(1&hn)<<31|An>>>1,Gn=0,tn[Wt+7|0]=Gn<<18|(2080768&Zn)>>>14|An<<7,Gn=2097151&yn,Zn=PA(fn,En,136657,0)+Gn|0,mn=bn,mn=Gn>>>0>Zn>>>0?mn+1|0:mn,yn=(2097151&(Gn=hn))<<11|An>>>21,Gn=mn+(hn=Gn>>21)|0,Gn=(Zn=yn+Zn|0)>>>0>>0?Gn+1|0:Gn,tn[Wt+12|0]=(4095&Gn)<<20|Zn>>>12,hn=Zn,tn[Wt+11|0]=(15&Gn)<<28|hn>>>4,Zn=0,tn[Wt+10|0]=Zn<<15|(1966080&An)>>>17|hn<<4,Zn=2097151&vn,An=PA(fn,En,-683901,-1)+Zn|0,mn=bn,mn=Zn>>>0>An>>>0?mn+1|0:mn,Zn=Gn,Gn=mn+(Gn>>=21)|0,Gn=(Zn=(Cn=An)+(An=(2097151&Zn)<<11|hn>>>21)|0)>>>0>>0?Gn+1|0:Gn,tn[Wt+14|0]=(127&Gn)<<25|Zn>>>7,An=0,tn[Wt+13|0]=An<<12|(1048576&hn)>>>20|Zn<<1,mn=Gn>>21,hn=(Gn=(2097151&Gn)<<11|Zn>>>21)>>>0>(An=Gn+(2097151&wn)|0)>>>0?mn+1|0:mn,tn[Wt+17|0]=(1023&hn)<<22|An>>>10,tn[Wt+16|0]=(3&hn)<<30|An>>>2,Gn=0,tn[Wt+15|0]=Gn<<17|(2064384&Zn)>>>15|An<<6,mn=hn>>21,mn=(Gn=(2097151&hn)<<11|An>>>21)>>>0>(hn=Gn+(2097151&gn)|0)>>>0?mn+1|0:mn,tn[Wt+20|0]=(8191&mn)<<19|hn>>>13,tn[Wt+19|0]=(31&mn)<<27|hn>>>5,Zn=(Gn=2097151&Yn)+(Yn=(2097151&mn)<<11|hn>>>21)|0,Gn=mn>>21,Gn=Zn>>>0>>0?Gn+1|0:Gn,Yn=Zn,tn[Wt+21|0]=Zn,gn=0,tn[Wt+18|0]=gn<<14|(1835008&An)>>>18|hn<<3,tn[Wt+22|0]=(255&Gn)<<24|Zn>>>8,hn=Gn>>21,hn=(Zn=(An=(2097151&Gn)<<11|Zn>>>21)+(2097151&Nn)|0)>>>0>>0?hn+1|0:hn,tn[Wt+25|0]=(2047&hn)<<21|Zn>>>11,tn[Wt+24|0]=(7&hn)<<29|Zn>>>3,tn[Wt+23|0]=31&((65535&Gn)<<16|Yn>>>16)|Zn<<5,mn=hn>>21,mn=(Gn=(2097151&hn)<<11|Zn>>>21)>>>0>(hn=Gn+(2097151&Wn)|0)>>>0?mn+1|0:mn,tn[Wt+27|0]=(63&mn)<<26|hn>>>6,An=0,tn[Wt+26|0]=An<<13|(1572864&Zn)>>>19|hn<<2,Gn=mn,mn>>=21,Gn=(Zn=(Wn=(2097151&Gn)<<11|hn>>>21)+(An=2097151&Jn)|0)>>>0>>0?mn+1|0:mn,tn[Wt+31|0]=(131071&Gn)<<15|Zn>>>17,mn=Zn,tn[Wt+30|0]=(511&Gn)<<23|mn>>>9,Zn=0,tn[Wt+28|0]=Zn<<18|(2080768&hn)>>>14|mn<<7,tn[Wt+29|0]=Wn+Jn>>>1}function F(Wt,Pt,en,In,sn,on){var cn,dn=0,un=0,pn=0,bn=0,Gn=0,hn=0,Zn=0,An=0,Wn=0,Nn=0,gn=0,yn=0,vn=0,Yn=0,En=0,Vn=0,Rn=0,wn=0,Fn=0,Qn=0,fn=0,Hn=0,Cn=0,Xn=0,kn=0,Jn=0,Ln=0,Bn=0,xn=0,On=0,Tn=0,Un=0,Mn=0,zn=0,Sn=0,Dn=0,jn=0,_n=0;for(mn=cn=mn-592|0,Yn=-1,gn=Wt+32|0,Nn=32,yn=1;En=an[2656+(Gn=Nn-1|0)|0],pn|=(Gn=((un=an[Gn+gn|0])^En)-1>>8&yn)&(hn=an[gn+(Nn=Nn-2|0)|0])-(bn=an[Nn+2656|0])>>8|un-En>>8&yn,yn=Gn&(bn^hn)-1>>8,Nn;);if(255&pn&&!(KA(Wt)|!(~((127&~an[sn+31|0]|an[sn+1|0]&an[sn+2|0]&an[sn+3|0]&an[sn+4|0]&an[sn+5|0]&an[sn+6|0]&an[sn+7|0]&an[sn+8|0]&an[sn+9|0]&an[sn+10|0]&an[sn+11|0]&an[sn+12|0]&an[sn+13|0]&an[sn+14|0]&an[sn+15|0]&an[sn+16|0]&an[sn+17|0]&an[sn+18|0]&an[sn+19|0]&an[sn+20|0]&an[sn+21|0]&an[sn+22|0]&an[sn+23|0]&an[sn+24|0]&an[sn+25|0]&an[sn+26|0]&an[sn+27|0]&an[sn+28|0]&an[sn+30|0]&an[sn+29|0]^255)-1&236-an[0|sn])>>>8&1)||KA(sn)||q(Gn=cn+128|0,sn))){for(MA(un=cn+384|0),on&&W(un,35120,34,0),W(un,Wt,32,0),W(un,sn,32,0),W(un,Pt,en,In),v(un,en=cn+320|0),s(en),In=cn+8|0,sn=0,Pt=0,mn=dn=mn-2272|0;on=dn+2016|0,un=an[en+(sn>>>3|0)|0],tn[on+sn|0]=un>>>(6&sn)&1,tn[(pn=on)+(on=1|sn)|0]=un>>>(7&on)&1,256!=(0|(sn=sn+2|0)););for(;;){Pt=(en=Pt)+1|0;e:if(!(en>>>0>254)&&an[0|(pn=(sn=dn+2016|0)+en|0)]){t:if(sn=tn[0|(bn=Pt+sn|0)])if((0|(sn=(un=sn<<1)+(on=tn[0|pn])|0))<=15)tn[0|pn]=sn,tn[0|bn]=0;else{if((0|(sn=on-un|0))<-15)break e;for(tn[0|pn]=sn,sn=Pt;;){if(!an[0|(on=(dn+2016|0)+sn|0)]){tn[0|on]=1;break t}if(tn[0|on]=0,on=sn>>>0<255,sn=sn+1|0,!on)break}}if(!(en>>>0>253)){t:if(on=tn[0|(hn=(sn=en+2|0)+(dn+2016|0)|0)])if((0|(on=(bn=on<<2)+(un=tn[0|pn])|0))>=16){if((0|(on=un-bn|0))<-15)break e;for(tn[0|pn]=on;;){if(an[0|(on=(dn+2016|0)+sn|0)]){if(tn[0|on]=0,on=sn>>>0<255,sn=sn+1|0,on)continue;break t}break}tn[0|on]=1}else tn[0|pn]=on,tn[0|hn]=0;if(253!=(0|en)){t:if(on=tn[0|(hn=(sn=en+3|0)+(dn+2016|0)|0)])if((0|(on=(bn=on<<3)+(un=tn[0|pn])|0))>=16){if((0|(on=un-bn|0))<-15)break e;for(tn[0|pn]=on;;){if(an[0|(on=(dn+2016|0)+sn|0)]){if(tn[0|on]=0,on=sn>>>0<255,sn=sn+1|0,on)continue;break t}break}tn[0|on]=1}else tn[0|pn]=on,tn[0|hn]=0;if(!(en>>>0>251)){t:if(on=tn[0|(hn=(sn=en+4|0)+(dn+2016|0)|0)])if((0|(on=(bn=on<<4)+(un=tn[0|pn])|0))>=16){if((0|(on=un-bn|0))<-15)break e;for(tn[0|pn]=on;;){if(an[0|(on=(dn+2016|0)+sn|0)]){if(tn[0|on]=0,on=sn>>>0<255,sn=sn+1|0,on)continue;break t}break}tn[0|on]=1}else tn[0|pn]=on,tn[0|hn]=0;if(251!=(0|en)){t:if(on=tn[0|(hn=(sn=en+5|0)+(dn+2016|0)|0)])if((0|(on=(bn=on<<5)+(un=tn[0|pn])|0))>=16){if((0|(on=un-bn|0))<-15)break e;for(tn[0|pn]=on;;){if(an[0|(on=(dn+2016|0)+sn|0)]){if(tn[0|on]=0,on=sn>>>0<255,sn=sn+1|0,on)continue;break t}break}tn[0|on]=1}else tn[0|pn]=on,tn[0|hn]=0;if(!(en>>>0>249)&&(en=tn[0|(bn=(sn=en+6|0)+(dn+2016|0)|0)]))if((0|(en=(un=en<<6)+(on=tn[0|pn])|0))>=16){if((0|(en=on-un|0))<-15)break e;for(tn[0|pn]=en;;){if(an[0|(en=(dn+2016|0)+sn|0)]){if(tn[0|en]=0,en=sn>>>0<255,sn=sn+1|0,en)continue;break e}break}tn[0|en]=1}else tn[0|pn]=en,tn[0|bn]=0}}}}}if(256==(0|Pt))break}for(sn=0;Pt=dn+1760|0,en=an[gn+(sn>>>3|0)|0],tn[Pt+sn|0]=en>>>(6&sn)&1,tn[(on=Pt)+(Pt=1|sn)|0]=en>>>(7&Pt)&1,256!=(0|(sn=sn+2|0)););for(Pt=0;;){Pt=(en=Pt)+1|0;e:if(!(en>>>0>254)&&an[0|(pn=(sn=dn+1760|0)+en|0)]){t:if(sn=tn[0|(bn=Pt+sn|0)])if((0|(sn=(un=sn<<1)+(on=tn[0|pn])|0))<=15)tn[0|pn]=sn,tn[0|bn]=0;else{if((0|(sn=on-un|0))<-15)break e;for(tn[0|pn]=sn,sn=Pt;;){if(!an[0|(on=(dn+1760|0)+sn|0)]){tn[0|on]=1;break t}if(tn[0|on]=0,on=sn>>>0<255,sn=sn+1|0,!on)break}}if(!(en>>>0>253)){t:if(on=tn[0|(hn=(sn=en+2|0)+(dn+1760|0)|0)])if((0|(on=(bn=on<<2)+(un=tn[0|pn])|0))>=16){if((0|(on=un-bn|0))<-15)break e;for(tn[0|pn]=on;;){if(an[0|(on=(dn+1760|0)+sn|0)]){if(tn[0|on]=0,on=sn>>>0<255,sn=sn+1|0,on)continue;break t}break}tn[0|on]=1}else tn[0|pn]=on,tn[0|hn]=0;if(253!=(0|en)){t:if(on=tn[0|(hn=(sn=en+3|0)+(dn+1760|0)|0)])if((0|(on=(bn=on<<3)+(un=tn[0|pn])|0))>=16){if((0|(on=un-bn|0))<-15)break e;for(tn[0|pn]=on;;){if(an[0|(on=(dn+1760|0)+sn|0)]){if(tn[0|on]=0,on=sn>>>0<255,sn=sn+1|0,on)continue;break t}break}tn[0|on]=1}else tn[0|pn]=on,tn[0|hn]=0;if(!(en>>>0>251)){t:if(on=tn[0|(hn=(sn=en+4|0)+(dn+1760|0)|0)])if((0|(on=(bn=on<<4)+(un=tn[0|pn])|0))>=16){if((0|(on=un-bn|0))<-15)break e;for(tn[0|pn]=on;;){if(an[0|(on=(dn+1760|0)+sn|0)]){if(tn[0|on]=0,on=sn>>>0<255,sn=sn+1|0,on)continue;break t}break}tn[0|on]=1}else tn[0|pn]=on,tn[0|hn]=0;if(251!=(0|en)){t:if(on=tn[0|(hn=(sn=en+5|0)+(dn+1760|0)|0)])if((0|(on=(bn=on<<5)+(un=tn[0|pn])|0))>=16){if((0|(on=un-bn|0))<-15)break e;for(tn[0|pn]=on;;){if(an[0|(on=(dn+1760|0)+sn|0)]){if(tn[0|on]=0,on=sn>>>0<255,sn=sn+1|0,on)continue;break t}break}tn[0|on]=1}else tn[0|pn]=on,tn[0|hn]=0;if(!(en>>>0>249)&&(en=tn[0|(bn=(sn=en+6|0)+(dn+1760|0)|0)]))if((0|(en=(un=en<<6)+(on=tn[0|pn])|0))>=16){if((0|(en=on-un|0))<-15)break e;for(tn[0|pn]=en;;){if(an[0|(en=(dn+1760|0)+sn|0)]){if(tn[0|en]=0,en=sn>>>0<255,sn=sn+1|0,en)continue;break e}break}tn[0|en]=1}else tn[0|pn]=en,tn[0|bn]=0}}}}}if(256==(0|Pt))break}for(DA(sn=dn+480|0,Gn),Pt=nn[Gn+36>>2],nn[dn+192>>2]=nn[Gn+32>>2],nn[dn+196>>2]=Pt,Pt=nn[Gn+28>>2],nn[dn+184>>2]=nn[Gn+24>>2],nn[dn+188>>2]=Pt,Pt=nn[Gn+20>>2],nn[dn+176>>2]=nn[Gn+16>>2],nn[dn+180>>2]=Pt,Pt=nn[Gn+12>>2],nn[dn+168>>2]=nn[Gn+8>>2],nn[dn+172>>2]=Pt,Pt=nn[Gn+4>>2],nn[dn+160>>2]=nn[Gn>>2],nn[dn+164>>2]=Pt,Pt=nn[Gn+52>>2],nn[dn+208>>2]=nn[Gn+48>>2],nn[dn+212>>2]=Pt,Pt=nn[Gn+60>>2],nn[dn+216>>2]=nn[Gn+56>>2],nn[dn+220>>2]=Pt,Pt=nn[4+(en=Gn- -64|0)>>2],nn[dn+224>>2]=nn[en>>2],nn[dn+228>>2]=Pt,Pt=nn[Gn+76>>2],nn[dn+232>>2]=nn[Gn+72>>2],nn[dn+236>>2]=Pt,Pt=nn[Gn+44>>2],nn[dn+200>>2]=nn[Gn+40>>2],nn[dn+204>>2]=Pt,Pt=nn[Gn+92>>2],nn[dn+248>>2]=nn[Gn+88>>2],nn[dn+252>>2]=Pt,Pt=nn[Gn+100>>2],nn[dn+256>>2]=nn[Gn+96>>2],nn[dn+260>>2]=Pt,Pt=nn[Gn+108>>2],nn[dn+264>>2]=nn[Gn+104>>2],nn[dn+268>>2]=Pt,Pt=nn[Gn+116>>2],nn[dn+272>>2]=nn[Gn+112>>2],nn[dn+276>>2]=Pt,Pt=nn[Gn+84>>2],nn[dn+240>>2]=nn[Gn+80>>2],nn[dn+244>>2]=Pt,_(on=dn+320|0,en=dn+160|0),M(dn,on,Zn=dn+440|0),M(dn+40|0,An=dn+360|0,Wn=dn+400|0),M(dn+80|0,Wn,Zn),M(dn+120|0,on,An),X(on,dn,sn),M(en,on,Zn),M(Vn=dn+200|0,An,Wn),M(Rn=dn+240|0,Wn,Zn),M(vn=dn+280|0,on,An),DA(Pt=dn+640|0,en),X(on,dn,Pt),M(en,on,Zn),M(Vn,An,Wn),M(Rn,Wn,Zn),M(vn,on,An),DA(Pt=dn+800|0,en),X(on,dn,Pt),M(en,on,Zn),M(Vn,An,Wn),M(Rn,Wn,Zn),M(vn,on,An),DA(Pt=dn+960|0,en),X(on,dn,Pt),M(en,on,Zn),M(Vn,An,Wn),M(Rn,Wn,Zn),M(vn,on,An),DA(Pt=dn+1120|0,en),X(on,dn,Pt),M(en,on,Zn),M(Vn,An,Wn),M(Rn,Wn,Zn),M(vn,on,An),DA(Pt=dn+1280|0,en),X(on,dn,Pt),M(en,on,Zn),M(Vn,An,Wn),M(Rn,Wn,Zn),M(vn,on,An),DA(Pt=dn+1440|0,en),X(on,dn,Pt),M(en,on,Zn),M(Vn,An,Wn),M(Rn,Wn,Zn),M(vn,on,An),DA(dn+1600|0,en),nn[In+32>>2]=0,nn[In+36>>2]=0,nn[In+24>>2]=0,nn[In+28>>2]=0,nn[In+16>>2]=0,nn[In+20>>2]=0,nn[In+8>>2]=0,nn[In+12>>2]=0,nn[In>>2]=0,nn[In+4>>2]=0,nn[In+44>>2]=0,nn[In+48>>2]=0,nn[In+40>>2]=1,nn[In+52>>2]=0,nn[In+56>>2]=0,nn[In+60>>2]=0,nn[In+64>>2]=0,nn[In+68>>2]=0,nn[In+72>>2]=0,nn[In+84>>2]=0,nn[In+88>>2]=0,nn[In+76>>2]=0,nn[In+80>>2]=1,nn[In+92>>2]=0,nn[In+96>>2]=0,nn[In+100>>2]=0,nn[In+104>>2]=0,nn[In+108>>2]=0,nn[In+112>>2]=0,nn[In+116>>2]=0,Mn=In+80|0,zn=In+40|0,Pt=255;;){e:{t:{if(!an[(en=dn+2016|0)+Pt|0]&&!an[(sn=dn+1760|0)+Pt|0]){if(!(an[(on=en)+(en=Pt-1|0)|0]|an[en+sn|0]))break t;Pt=en}if((0|Pt)<0)break e;for(;_(sn=dn+320|0,In),(0|(on=tn[(en=Pt)+(dn+2016|0)|0]))>0?(M(Pt=dn+160|0,sn,Zn),M(Vn,An,Wn),M(Rn,Wn,Zn),M(vn,sn,An),X(sn,Pt,(dn+480|0)+rn((254&on)>>>1|0,160)|0)):(0|on)>=0||(M(Pt=dn+160|0,sn=dn+320|0,Zn),M(Vn,An,Wn),M(Rn,Wn,Zn),M(vn,sn,An),O(sn,Pt,(dn+480|0)+rn((0-on&254)>>>1|0,160)|0)),(0|(kn=tn[en+(dn+1760|0)|0]))>0?(M(Pt=dn+160|0,sn=dn+320|0,Zn),M(Vn,An,Wn),M(Rn,Wn,Zn),M(vn,sn,An),T(sn,Pt,rn((254&kn)>>>1|0,120)+1472|0)):(0|kn)>=0||(M(dn+160|0,Jn=dn+320|0,Zn),M(Vn,An,Wn),M(Rn,Wn,Zn),M(vn,Jn,An),wn=nn[dn+160>>2],Fn=nn[dn+200>>2],Qn=nn[dn+164>>2],fn=nn[dn+204>>2],Hn=nn[dn+168>>2],Cn=nn[dn+208>>2],Xn=nn[dn+172>>2],Nn=nn[dn+212>>2],gn=nn[dn+176>>2],yn=nn[dn+216>>2],Yn=nn[dn+180>>2],En=nn[dn+220>>2],pn=nn[dn+184>>2],hn=nn[dn+224>>2],bn=nn[dn+188>>2],un=nn[dn+228>>2],Gn=nn[dn+192>>2],on=nn[dn+232>>2],sn=nn[dn+236>>2],Pt=nn[dn+196>>2],nn[dn+396>>2]=sn-Pt,nn[dn+392>>2]=on-Gn,nn[dn+388>>2]=un-bn,nn[dn+384>>2]=hn-pn,nn[dn+380>>2]=En-Yn,nn[dn+376>>2]=yn-gn,nn[dn+372>>2]=Nn-Xn,nn[dn+368>>2]=Cn-Hn,nn[dn+364>>2]=fn-Qn,nn[dn+360>>2]=Fn-wn,nn[dn+356>>2]=Pt+sn,nn[dn+352>>2]=on+Gn,nn[dn+348>>2]=un+bn,nn[dn+344>>2]=pn+hn,nn[dn+340>>2]=Yn+En,nn[dn+336>>2]=gn+yn,nn[dn+332>>2]=Nn+Xn,nn[dn+328>>2]=Hn+Cn,nn[dn+324>>2]=Qn+fn,nn[dn+320>>2]=wn+Fn,M(Wn,Jn,40+(Pt=rn((0-kn&254)>>>1|0,120)+1472|0)|0),M(An,An,Pt),M(Zn,Pt+80|0,vn),Sn=nn[dn+276>>2],Dn=nn[dn+272>>2],kn=nn[dn+268>>2],Jn=nn[dn+264>>2],pn=nn[dn+260>>2],hn=nn[dn+256>>2],bn=nn[dn+252>>2],un=nn[dn+248>>2],Gn=nn[dn+244>>2],on=nn[dn+240>>2],Ln=nn[dn+360>>2],Bn=nn[dn+400>>2],xn=nn[dn+364>>2],On=nn[dn+404>>2],Tn=nn[dn+368>>2],Un=nn[dn+408>>2],wn=nn[dn+372>>2],Fn=nn[dn+412>>2],Qn=nn[dn+376>>2],fn=nn[dn+416>>2],Hn=nn[dn+380>>2],Cn=nn[dn+420>>2],Xn=nn[dn+384>>2],Nn=nn[dn+424>>2],gn=nn[dn+388>>2],yn=nn[dn+428>>2],Yn=nn[dn+392>>2],En=nn[dn+432>>2],sn=nn[dn+396>>2],Pt=nn[dn+436>>2],nn[dn+396>>2]=sn+Pt,nn[dn+392>>2]=Yn+En,nn[dn+388>>2]=gn+yn,nn[dn+384>>2]=Nn+Xn,nn[dn+380>>2]=Hn+Cn,nn[dn+376>>2]=Qn+fn,nn[dn+372>>2]=wn+Fn,nn[dn+368>>2]=Tn+Un,nn[dn+364>>2]=xn+On,nn[dn+360>>2]=Ln+Bn,nn[dn+356>>2]=Pt-sn,nn[dn+352>>2]=En-Yn,nn[dn+348>>2]=yn-gn,nn[dn+344>>2]=Nn-Xn,nn[dn+340>>2]=Cn-Hn,nn[dn+336>>2]=fn-Qn,nn[dn+332>>2]=Fn-wn,nn[dn+328>>2]=Un-Tn,nn[dn+324>>2]=On-xn,nn[dn+320>>2]=Bn-Ln,wn=on<<1,Fn=nn[dn+440>>2],nn[dn+400>>2]=wn-Fn,Qn=Gn<<1,fn=nn[dn+444>>2],nn[dn+404>>2]=Qn-fn,Hn=un<<1,Cn=nn[dn+448>>2],nn[dn+408>>2]=Hn-Cn,Xn=bn<<1,Nn=nn[dn+452>>2],nn[dn+412>>2]=Xn-Nn,gn=hn<<1,yn=nn[dn+456>>2],nn[dn+416>>2]=gn-yn,Yn=pn<<1,En=nn[dn+460>>2],nn[dn+420>>2]=Yn-En,pn=Jn<<1,hn=nn[dn+464>>2],nn[dn+424>>2]=pn-hn,bn=kn<<1,un=nn[dn+468>>2],nn[dn+428>>2]=bn-un,Gn=Dn<<1,on=nn[dn+472>>2],nn[dn+432>>2]=Gn-on,sn=Sn<<1,Pt=nn[dn+476>>2],nn[dn+436>>2]=sn-Pt,nn[dn+440>>2]=wn+Fn,nn[dn+444>>2]=Qn+fn,nn[dn+448>>2]=Hn+Cn,nn[dn+452>>2]=Nn+Xn,nn[dn+456>>2]=gn+yn,nn[dn+460>>2]=Yn+En,nn[dn+464>>2]=pn+hn,nn[dn+468>>2]=un+bn,nn[dn+472>>2]=on+Gn,nn[dn+476>>2]=Pt+sn),M(In,dn+320|0,Zn),M(zn,An,Wn),M(Mn,Wn,Zn),Pt=en-1|0,(0|en)>0;);break e}if(Pt=Pt-2|0,en)continue}break}mn=dn+2272|0,mA(Pt=cn+288|0,In),jn=-1,_n=UA(Pt,Wt),Yn=((0|Wt)==(0|Pt)?jn:_n)|NA(Wt,Pt,32)}return mn=cn+592|0,Yn}function S(Wt,Pt,en){var tn,In,rn,sn,on,cn,dn,un,pn,bn,Gn,hn,Zn,An,Wn=0,Nn=0,gn=0,yn=0,vn=0,Yn=0,En=0,Vn=0,Rn=0,wn=0,Fn=0;for(mn=tn=mn-800|0,yn=an[Pt+4|0]|an[Pt+5|0]<<8|an[Pt+6|0]<<16|an[Pt+7|0]<<24,Yn=an[Pt+8|0]|an[Pt+9|0]<<8|an[Pt+10|0]<<16|an[Pt+11|0]<<24,Vn=an[Pt+12|0]|an[Pt+13|0]<<8|an[Pt+14|0]<<16|an[Pt+15|0]<<24,Rn=an[Pt+16|0]|an[Pt+17|0]<<8|an[Pt+18|0]<<16|an[Pt+19|0]<<24,Nn=an[Pt+20|0]|an[Pt+21|0]<<8|an[Pt+22|0]<<16|an[Pt+23|0]<<24,wn=an[Pt+24|0]|an[Pt+25|0]<<8|an[Pt+26|0]<<16|an[Pt+27|0]<<24,Fn=an[Pt+28|0]|an[Pt+29|0]<<8|an[Pt+30|0]<<16|an[Pt+31|0]<<24,rn=an[Wt+4|0]|an[Wt+5|0]<<8|an[Wt+6|0]<<16|an[Wt+7|0]<<24,sn=an[Wt+8|0]|an[Wt+9|0]<<8|an[Wt+10|0]<<16|an[Wt+11|0]<<24,on=an[Wt+12|0]|an[Wt+13|0]<<8|an[Wt+14|0]<<16|an[Wt+15|0]<<24,cn=an[Wt+16|0]|an[Wt+17|0]<<8|an[Wt+18|0]<<16|an[Wt+19|0]<<24,dn=an[Wt+20|0]|an[Wt+21|0]<<8|an[Wt+22|0]<<16|an[Wt+23|0]<<24,un=an[Wt+24|0]|an[Wt+25|0]<<8|an[Wt+26|0]<<16|an[Wt+27|0]<<24,pn=an[Wt+28|0]|an[Wt+29|0]<<8|an[Wt+30|0]<<16|an[Wt+31|0]<<24,gn=an[0|Pt]|an[Pt+1|0]<<8|an[Pt+2|0]<<16|an[Pt+3|0]<<24,Pt=en- -64|0,bn=an[0|Wt]|an[Wt+1|0]<<8|an[Wt+2|0]<<16|an[Wt+3|0]<<24,nn[Pt>>2]=33620224^bn,nn[en+56>>2]=1496785429,nn[en+60>>2]=1652156816,nn[(Wt=en+48|0)>>2]=33620224,nn[Wt+4>>2]=218629379,nn[en+40>>2]=1110511904,nn[en+44>>2]=-584534669,nn[(In=en+32|0)>>2]=1427652059,nn[In+4>>2]=-248528275,Gn=gn^bn,nn[en>>2]=Gn,nn[en+92>>2]=-584534669^pn,nn[en+88>>2]=1110511904^un,nn[en+84>>2]=-248528275^dn,nn[(gn=en+80|0)>>2]=1427652059^cn,nn[en+76>>2]=1652156816^on,nn[en+72>>2]=1496785429^sn,nn[en+68>>2]=218629379^rn,Fn^=pn,nn[en+28>>2]=Fn,wn^=un,nn[en+24>>2]=wn,hn=Nn^dn,nn[en+20>>2]=hn,Rn^=cn,nn[(Nn=en+16|0)>>2]=Rn,Vn^=on,nn[en+12>>2]=Vn,Zn=Yn^sn,nn[en+8>>2]=Zn,An=yn^rn,nn[en+4>>2]=An,Yn=0;yn=nn[gn+12>>2],nn[tn+792>>2]=nn[gn+8>>2],nn[tn+796>>2]=yn,yn=nn[gn+4>>2],nn[tn+784>>2]=nn[gn>>2],nn[tn+788>>2]=yn,yn=nn[Pt+12>>2],nn[tn+760>>2]=nn[Pt+8>>2],nn[tn+764>>2]=yn,yn=nn[Pt+4>>2],nn[tn+752>>2]=nn[Pt>>2],nn[tn+756>>2]=yn,yn=nn[gn+12>>2],nn[tn+744>>2]=nn[gn+8>>2],nn[tn+748>>2]=yn,yn=nn[gn+4>>2],nn[tn+736>>2]=nn[gn>>2],nn[tn+740>>2]=yn,aA(yn=tn+768|0,tn+752|0,tn+736|0),Wn=nn[tn+780>>2],nn[gn+8>>2]=nn[tn+776>>2],nn[gn+12>>2]=Wn,Wn=nn[tn+772>>2],nn[gn>>2]=nn[tn+768>>2],nn[gn+4>>2]=Wn,Wn=nn[Wt+12>>2],nn[tn+728>>2]=nn[Wt+8>>2],nn[tn+732>>2]=Wn,Wn=nn[Wt+4>>2],nn[tn+720>>2]=nn[Wt>>2],nn[tn+724>>2]=Wn,Wn=nn[Pt+12>>2],nn[tn+712>>2]=nn[Pt+8>>2],nn[tn+716>>2]=Wn,Wn=nn[Pt+4>>2],nn[tn+704>>2]=nn[Pt>>2],nn[tn+708>>2]=Wn,aA(yn,tn+720|0,tn+704|0),Wn=nn[tn+780>>2],nn[Pt+8>>2]=nn[tn+776>>2],nn[Pt+12>>2]=Wn,Wn=nn[tn+772>>2],nn[Pt>>2]=nn[tn+768>>2],nn[Pt+4>>2]=Wn,Wn=nn[In+12>>2],nn[tn+696>>2]=nn[In+8>>2],nn[tn+700>>2]=Wn,Wn=nn[In+4>>2],nn[tn+688>>2]=nn[In>>2],nn[tn+692>>2]=Wn,Wn=nn[Wt+12>>2],nn[tn+680>>2]=nn[Wt+8>>2],nn[tn+684>>2]=Wn,Wn=nn[Wt+4>>2],nn[tn+672>>2]=nn[Wt>>2],nn[tn+676>>2]=Wn,aA(yn,tn+688|0,tn+672|0),Wn=nn[tn+780>>2],nn[Wt+8>>2]=nn[tn+776>>2],nn[Wt+12>>2]=Wn,Wn=nn[tn+772>>2],nn[Wt>>2]=nn[tn+768>>2],nn[Wt+4>>2]=Wn,Wn=nn[Nn+12>>2],nn[tn+664>>2]=nn[Nn+8>>2],nn[tn+668>>2]=Wn,Wn=nn[Nn+4>>2],nn[tn+656>>2]=nn[Nn>>2],nn[tn+660>>2]=Wn,Wn=nn[In+12>>2],nn[tn+648>>2]=nn[In+8>>2],nn[tn+652>>2]=Wn,Wn=nn[In+4>>2],nn[tn+640>>2]=nn[In>>2],nn[tn+644>>2]=Wn,aA(yn,tn+656|0,tn+640|0),Wn=nn[tn+780>>2],nn[In+8>>2]=nn[tn+776>>2],nn[In+12>>2]=Wn,Wn=nn[tn+772>>2],nn[In>>2]=nn[tn+768>>2],nn[In+4>>2]=Wn,Wn=nn[en+12>>2],nn[tn+632>>2]=nn[en+8>>2],nn[tn+636>>2]=Wn,Wn=nn[en+4>>2],nn[tn+624>>2]=nn[en>>2],nn[tn+628>>2]=Wn,Wn=nn[Nn+12>>2],nn[tn+616>>2]=nn[Nn+8>>2],nn[tn+620>>2]=Wn,Wn=nn[Nn+4>>2],nn[tn+608>>2]=nn[Nn>>2],nn[tn+612>>2]=Wn,aA(yn,tn+624|0,tn+608|0),Wn=nn[tn+780>>2],nn[Nn+8>>2]=nn[tn+776>>2],nn[Nn+12>>2]=Wn,Wn=nn[tn+772>>2],nn[Nn>>2]=nn[tn+768>>2],nn[Nn+4>>2]=Wn,Wn=nn[tn+796>>2],nn[tn+600>>2]=nn[tn+792>>2],nn[tn+604>>2]=Wn,Wn=nn[tn+788>>2],nn[tn+592>>2]=nn[tn+784>>2],nn[tn+596>>2]=Wn,Wn=nn[en+12>>2],nn[tn+584>>2]=nn[en+8>>2],nn[tn+588>>2]=Wn,Wn=nn[en+4>>2],nn[tn+576>>2]=nn[en>>2],nn[tn+580>>2]=Wn,aA(yn,tn+592|0,tn+576|0),Wn=nn[tn+768>>2],vn=nn[tn+772>>2],En=nn[tn+776>>2],nn[en+12>>2]=nn[tn+780>>2]^on,nn[en+8>>2]=En^sn,nn[en+4>>2]=vn^rn,nn[en>>2]=Wn^bn,Wn=nn[gn+12>>2],nn[tn+792>>2]=nn[gn+8>>2],nn[tn+796>>2]=Wn,Wn=nn[gn+4>>2],nn[tn+784>>2]=nn[gn>>2],nn[tn+788>>2]=Wn,Wn=nn[Pt+12>>2],nn[tn+568>>2]=nn[Pt+8>>2],nn[tn+572>>2]=Wn,Wn=nn[Pt+4>>2],nn[tn+560>>2]=nn[Pt>>2],nn[tn+564>>2]=Wn,Wn=nn[gn+12>>2],nn[tn+552>>2]=nn[gn+8>>2],nn[tn+556>>2]=Wn,Wn=nn[gn+4>>2],nn[tn+544>>2]=nn[gn>>2],nn[tn+548>>2]=Wn,aA(yn,tn+560|0,tn+544|0),Wn=nn[tn+780>>2],nn[gn+8>>2]=nn[tn+776>>2],nn[gn+12>>2]=Wn,Wn=nn[tn+772>>2],nn[gn>>2]=nn[tn+768>>2],nn[gn+4>>2]=Wn,Wn=nn[Wt+12>>2],nn[tn+536>>2]=nn[Wt+8>>2],nn[tn+540>>2]=Wn,Wn=nn[Wt+4>>2],nn[tn+528>>2]=nn[Wt>>2],nn[tn+532>>2]=Wn,Wn=nn[Pt+12>>2],nn[tn+520>>2]=nn[Pt+8>>2],nn[tn+524>>2]=Wn,Wn=nn[Pt+4>>2],nn[tn+512>>2]=nn[Pt>>2],nn[tn+516>>2]=Wn,aA(yn,tn+528|0,tn+512|0),Wn=nn[tn+780>>2],nn[Pt+8>>2]=nn[tn+776>>2],nn[Pt+12>>2]=Wn,Wn=nn[tn+772>>2],nn[Pt>>2]=nn[tn+768>>2],nn[Pt+4>>2]=Wn,Wn=nn[In+12>>2],nn[tn+504>>2]=nn[In+8>>2],nn[tn+508>>2]=Wn,Wn=nn[In+4>>2],nn[tn+496>>2]=nn[In>>2],nn[tn+500>>2]=Wn,Wn=nn[Wt+12>>2],nn[tn+488>>2]=nn[Wt+8>>2],nn[tn+492>>2]=Wn,Wn=nn[Wt+4>>2],nn[tn+480>>2]=nn[Wt>>2],nn[tn+484>>2]=Wn,aA(yn,tn+496|0,tn+480|0),Wn=nn[tn+780>>2],nn[Wt+8>>2]=nn[tn+776>>2],nn[Wt+12>>2]=Wn,Wn=nn[tn+772>>2],nn[Wt>>2]=nn[tn+768>>2],nn[Wt+4>>2]=Wn,Wn=nn[Nn+12>>2],nn[tn+472>>2]=nn[Nn+8>>2],nn[tn+476>>2]=Wn,Wn=nn[Nn+4>>2],nn[tn+464>>2]=nn[Nn>>2],nn[tn+468>>2]=Wn,Wn=nn[In+12>>2],nn[tn+456>>2]=nn[In+8>>2],nn[tn+460>>2]=Wn,Wn=nn[In+4>>2],nn[tn+448>>2]=nn[In>>2],nn[tn+452>>2]=Wn,aA(yn,tn+464|0,tn+448|0),Wn=nn[tn+780>>2],nn[In+8>>2]=nn[tn+776>>2],nn[In+12>>2]=Wn,Wn=nn[tn+772>>2],nn[In>>2]=nn[tn+768>>2],nn[In+4>>2]=Wn,Wn=nn[en+12>>2],nn[tn+440>>2]=nn[en+8>>2],nn[tn+444>>2]=Wn,Wn=nn[en+4>>2],nn[tn+432>>2]=nn[en>>2],nn[tn+436>>2]=Wn,Wn=nn[Nn+12>>2],nn[tn+424>>2]=nn[Nn+8>>2],nn[tn+428>>2]=Wn,Wn=nn[Nn+4>>2],nn[tn+416>>2]=nn[Nn>>2],nn[tn+420>>2]=Wn,aA(yn,tn+432|0,tn+416|0),Wn=nn[tn+780>>2],nn[Nn+8>>2]=nn[tn+776>>2],nn[Nn+12>>2]=Wn,Wn=nn[tn+772>>2],nn[Nn>>2]=nn[tn+768>>2],nn[Nn+4>>2]=Wn,Wn=nn[tn+796>>2],nn[tn+408>>2]=nn[tn+792>>2],nn[tn+412>>2]=Wn,Wn=nn[tn+788>>2],nn[tn+400>>2]=nn[tn+784>>2],nn[tn+404>>2]=Wn,Wn=nn[en+12>>2],nn[tn+392>>2]=nn[en+8>>2],nn[tn+396>>2]=Wn,Wn=nn[en+4>>2],nn[tn+384>>2]=nn[en>>2],nn[tn+388>>2]=Wn,aA(yn,tn+400|0,tn+384|0),Wn=nn[tn+768>>2],vn=nn[tn+772>>2],En=nn[tn+776>>2],nn[en+12>>2]=nn[tn+780>>2]^pn,nn[en+8>>2]=En^un,nn[en+4>>2]=vn^dn,nn[en>>2]=Wn^cn,Wn=nn[gn+12>>2],nn[tn+792>>2]=nn[gn+8>>2],nn[tn+796>>2]=Wn,Wn=nn[gn+4>>2],nn[tn+784>>2]=nn[gn>>2],nn[tn+788>>2]=Wn,Wn=nn[Pt+12>>2],nn[tn+376>>2]=nn[Pt+8>>2],nn[tn+380>>2]=Wn,Wn=nn[Pt+4>>2],nn[tn+368>>2]=nn[Pt>>2],nn[tn+372>>2]=Wn,Wn=nn[gn+12>>2],nn[tn+360>>2]=nn[gn+8>>2],nn[tn+364>>2]=Wn,Wn=nn[gn+4>>2],nn[tn+352>>2]=nn[gn>>2],nn[tn+356>>2]=Wn,aA(yn,tn+368|0,tn+352|0),Wn=nn[tn+780>>2],nn[gn+8>>2]=nn[tn+776>>2],nn[gn+12>>2]=Wn,Wn=nn[tn+772>>2],nn[gn>>2]=nn[tn+768>>2],nn[gn+4>>2]=Wn,Wn=nn[Wt+12>>2],nn[tn+344>>2]=nn[Wt+8>>2],nn[tn+348>>2]=Wn,Wn=nn[Wt+4>>2],nn[tn+336>>2]=nn[Wt>>2],nn[tn+340>>2]=Wn,Wn=nn[Pt+12>>2],nn[tn+328>>2]=nn[Pt+8>>2],nn[tn+332>>2]=Wn,Wn=nn[Pt+4>>2],nn[tn+320>>2]=nn[Pt>>2],nn[tn+324>>2]=Wn,aA(yn,tn+336|0,tn+320|0),Wn=nn[tn+780>>2],nn[Pt+8>>2]=nn[tn+776>>2],nn[Pt+12>>2]=Wn,Wn=nn[tn+772>>2],nn[Pt>>2]=nn[tn+768>>2],nn[Pt+4>>2]=Wn,Wn=nn[In+12>>2],nn[tn+312>>2]=nn[In+8>>2],nn[tn+316>>2]=Wn,Wn=nn[In+4>>2],nn[tn+304>>2]=nn[In>>2],nn[tn+308>>2]=Wn,Wn=nn[Wt+12>>2],nn[tn+296>>2]=nn[Wt+8>>2],nn[tn+300>>2]=Wn,Wn=nn[Wt+4>>2],nn[tn+288>>2]=nn[Wt>>2],nn[tn+292>>2]=Wn,aA(yn,tn+304|0,tn+288|0),Wn=nn[tn+780>>2],nn[Wt+8>>2]=nn[tn+776>>2],nn[Wt+12>>2]=Wn,Wn=nn[tn+772>>2],nn[Wt>>2]=nn[tn+768>>2],nn[Wt+4>>2]=Wn,Wn=nn[Nn+12>>2],nn[tn+280>>2]=nn[Nn+8>>2],nn[tn+284>>2]=Wn,Wn=nn[Nn+4>>2],nn[tn+272>>2]=nn[Nn>>2],nn[tn+276>>2]=Wn,Wn=nn[In+12>>2],nn[tn+264>>2]=nn[In+8>>2],nn[tn+268>>2]=Wn,Wn=nn[In+4>>2],nn[tn+256>>2]=nn[In>>2],nn[tn+260>>2]=Wn,aA(yn,tn+272|0,tn+256|0),Wn=nn[tn+780>>2],nn[In+8>>2]=nn[tn+776>>2],nn[In+12>>2]=Wn,Wn=nn[tn+772>>2],nn[In>>2]=nn[tn+768>>2],nn[In+4>>2]=Wn,Wn=nn[en+12>>2],nn[tn+248>>2]=nn[en+8>>2],nn[tn+252>>2]=Wn,Wn=nn[en+4>>2],nn[tn+240>>2]=nn[en>>2],nn[tn+244>>2]=Wn,Wn=nn[Nn+12>>2],nn[tn+232>>2]=nn[Nn+8>>2],nn[tn+236>>2]=Wn,Wn=nn[Nn+4>>2],nn[tn+224>>2]=nn[Nn>>2],nn[tn+228>>2]=Wn,aA(yn,tn+240|0,tn+224|0),Wn=nn[tn+780>>2],nn[Nn+8>>2]=nn[tn+776>>2],nn[Nn+12>>2]=Wn,Wn=nn[tn+772>>2],nn[Nn>>2]=nn[tn+768>>2],nn[Nn+4>>2]=Wn,Wn=nn[tn+796>>2],nn[tn+216>>2]=nn[tn+792>>2],nn[tn+220>>2]=Wn,Wn=nn[tn+788>>2],nn[tn+208>>2]=nn[tn+784>>2],nn[tn+212>>2]=Wn,Wn=nn[en+12>>2],nn[tn+200>>2]=nn[en+8>>2],nn[tn+204>>2]=Wn,Wn=nn[en+4>>2],nn[tn+192>>2]=nn[en>>2],nn[tn+196>>2]=Wn,aA(yn,tn+208|0,tn+192|0),Wn=nn[tn+768>>2],vn=nn[tn+772>>2],En=nn[tn+776>>2],nn[en+12>>2]=Vn^nn[tn+780>>2],nn[en+8>>2]=En^Zn,nn[en+4>>2]=vn^An,nn[en>>2]=Wn^Gn,Wn=nn[gn+12>>2],nn[tn+792>>2]=nn[gn+8>>2],nn[tn+796>>2]=Wn,Wn=nn[gn+4>>2],nn[tn+784>>2]=nn[gn>>2],nn[tn+788>>2]=Wn,Wn=nn[Pt+12>>2],nn[tn+184>>2]=nn[Pt+8>>2],nn[tn+188>>2]=Wn,Wn=nn[Pt+4>>2],nn[tn+176>>2]=nn[Pt>>2],nn[tn+180>>2]=Wn,Wn=nn[gn+12>>2],nn[tn+168>>2]=nn[gn+8>>2],nn[tn+172>>2]=Wn,Wn=nn[gn+4>>2],nn[tn+160>>2]=nn[gn>>2],nn[tn+164>>2]=Wn,aA(yn,tn+176|0,tn+160|0),Wn=nn[tn+780>>2],nn[gn+8>>2]=nn[tn+776>>2],nn[gn+12>>2]=Wn,Wn=nn[tn+772>>2],nn[gn>>2]=nn[tn+768>>2],nn[gn+4>>2]=Wn,Wn=nn[Wt+12>>2],nn[tn+152>>2]=nn[Wt+8>>2],nn[tn+156>>2]=Wn,Wn=nn[Wt+4>>2],nn[tn+144>>2]=nn[Wt>>2],nn[tn+148>>2]=Wn,Wn=nn[Pt+12>>2],nn[tn+136>>2]=nn[Pt+8>>2],nn[tn+140>>2]=Wn,Wn=nn[Pt+4>>2],nn[tn+128>>2]=nn[Pt>>2],nn[tn+132>>2]=Wn,aA(yn,tn+144|0,tn+128|0),Wn=nn[tn+780>>2],nn[Pt+8>>2]=nn[tn+776>>2],nn[Pt+12>>2]=Wn,Wn=nn[tn+772>>2],nn[Pt>>2]=nn[tn+768>>2],nn[Pt+4>>2]=Wn,Wn=nn[In+12>>2],nn[tn+120>>2]=nn[In+8>>2],nn[tn+124>>2]=Wn,Wn=nn[In+4>>2],nn[tn+112>>2]=nn[In>>2],nn[tn+116>>2]=Wn,Wn=nn[Wt+12>>2],nn[tn+104>>2]=nn[Wt+8>>2],nn[tn+108>>2]=Wn,Wn=nn[Wt+4>>2],nn[tn+96>>2]=nn[Wt>>2],nn[tn+100>>2]=Wn,aA(yn,tn+112|0,tn+96|0),Wn=nn[tn+780>>2],nn[Wt+8>>2]=nn[tn+776>>2],nn[Wt+12>>2]=Wn,Wn=nn[tn+772>>2],nn[Wt>>2]=nn[tn+768>>2],nn[Wt+4>>2]=Wn,Wn=nn[Nn+12>>2],nn[tn+88>>2]=nn[Nn+8>>2],nn[tn+92>>2]=Wn,Wn=nn[Nn+4>>2],nn[tn+80>>2]=nn[Nn>>2],nn[tn+84>>2]=Wn,Wn=nn[In+12>>2],nn[tn+72>>2]=nn[In+8>>2],nn[tn+76>>2]=Wn,Wn=nn[In+4>>2],nn[tn+64>>2]=nn[In>>2],nn[tn+68>>2]=Wn,aA(yn,tn+80|0,tn- -64|0),Wn=nn[tn+780>>2],nn[In+8>>2]=nn[tn+776>>2],nn[In+12>>2]=Wn,Wn=nn[tn+772>>2],nn[In>>2]=nn[tn+768>>2],nn[In+4>>2]=Wn,Wn=nn[en+12>>2],nn[tn+56>>2]=nn[en+8>>2],nn[tn+60>>2]=Wn,Wn=nn[en+4>>2],nn[tn+48>>2]=nn[en>>2],nn[tn+52>>2]=Wn,Wn=nn[Nn+12>>2],nn[tn+40>>2]=nn[Nn+8>>2],nn[tn+44>>2]=Wn,Wn=nn[Nn+4>>2],nn[tn+32>>2]=nn[Nn>>2],nn[tn+36>>2]=Wn,aA(yn,tn+48|0,tn+32|0),Wn=nn[tn+780>>2],nn[Nn+8>>2]=nn[tn+776>>2],nn[Nn+12>>2]=Wn,Wn=nn[tn+772>>2],nn[Nn>>2]=nn[tn+768>>2],nn[Nn+4>>2]=Wn,Wn=nn[tn+796>>2],nn[tn+24>>2]=nn[tn+792>>2],nn[tn+28>>2]=Wn,Wn=nn[tn+788>>2],nn[tn+16>>2]=nn[tn+784>>2],nn[tn+20>>2]=Wn,Wn=nn[en+12>>2],nn[tn+8>>2]=nn[en+8>>2],nn[tn+12>>2]=Wn,Wn=nn[en+4>>2],nn[tn>>2]=nn[en>>2],nn[tn+4>>2]=Wn,aA(yn,tn+16|0,tn),yn=nn[tn+768>>2],Wn=nn[tn+772>>2],vn=nn[tn+776>>2],nn[en+12>>2]=Fn^nn[tn+780>>2],nn[en+8>>2]=vn^wn,nn[en+4>>2]=Wn^hn,nn[en>>2]=yn^Rn,4!=(0|(Yn=Yn+1|0)););mn=tn+800|0}function M(Wt,Pt,en){var tn,an,In,sn,on,cn,dn,un,pn,mn,Gn,hn,Zn,An,Wn,Nn,gn,yn,vn,Yn,En,Vn,Rn,wn,Fn,Qn,fn,Hn,Cn,Xn,kn,Jn,Ln,Bn,xn,On,Tn,Un,Mn,zn,Sn,Dn,jn,_n,Kn,Pn,qn,$n,el,tl,nl,ll,al,Il=0,rl=0,sl=0,ol=0,cl=0,il=0,dl=0,ul=0,pl=0,ml=0,bl=0,Gl=0,hl=0,Zl=0,Al=0,Wl=0,Nl=0,gl=0,yl=0,vl=0,Yl=0,El=0,Vl=0,Rl=0,wl=0;Il=PA(tn=nn[en+4>>2],mn=tn>>31,Nl=(Nn=nn[Pt+20>>2])<<1,kn=Nl>>31),sl=bn,rl=(hl=PA(Al=nn[en>>2],In=Al>>31,an=nn[Pt+24>>2],sn=an>>31))+Il|0,Il=bn+sl|0,Il=rl>>>0>>0?Il+1|0:Il,pl=PA(on=nn[en+8>>2],Zn=on>>31,hl=nn[Pt+16>>2],cn=hl>>31),sl=bn+Il|0,sl=(rl=pl+rl|0)>>>0>>0?sl+1|0:sl,Il=(pl=PA(Gn=nn[en+12>>2],gn=Gn>>31,wn=(yn=nn[Pt+12>>2])<<1,Jn=wn>>31))+rl|0,rl=bn+sl|0,rl=Il>>>0>>0?rl+1|0:rl,sl=(Zl=PA(An=nn[en+16>>2],Fn=An>>31,pl=nn[Pt+8>>2],dn=pl>>31))+Il|0,Il=bn+rl|0,Il=sl>>>0>>0?Il+1|0:Il,rl=sl,sl=PA(vn=nn[en+20>>2],Ln=vn>>31,Qn=(Yn=nn[Pt+4>>2])<<1,Bn=Qn>>31),Il=bn+Il|0,Il=(rl=rl+sl|0)>>>0>>0?Il+1|0:Il,Pn=dl=nn[en+24>>2],sl=(ml=PA(dl,_n=dl>>31,Zl=nn[Pt>>2],un=Zl>>31))+rl|0,rl=bn+Il|0,rl=sl>>>0>>0?rl+1|0:rl,xn=nn[en+28>>2],Il=(ml=PA(Gl=rn(xn,19),En=Gl>>31,fn=(Vn=nn[Pt+36>>2])<<1,On=fn>>31))+sl|0,sl=bn+rl|0,sl=Il>>>0>>0?sl+1|0:sl,Yl=nn[en+32>>2],rl=(ul=PA(ol=rn(Yl,19),Wn=ol>>31,ml=nn[Pt+32>>2],pn=ml>>31))+Il|0,Il=bn+sl|0,Il=rl>>>0
                            >>0?Il+1|0:Il,qn=nn[en+36>>2],en=PA(ul=rn(qn,19),hn=ul>>31,Hn=(Rn=nn[Pt+28>>2])<<1,Tn=Hn>>31),Il=bn+Il|0,cl=Pt=en+rl|0,en=Pt>>>0>>0?Il+1|0:Il,Pt=PA(hl,cn,tn,mn),Il=bn,rl=PA(Al,In,Nn,Un=Nn>>31),sl=bn+Il|0,sl=(Pt=rl+Pt|0)>>>0>>0?sl+1|0:sl,Il=PA(on,Zn,yn,Mn=yn>>31),rl=bn+sl|0,rl=(Pt=Il+Pt|0)>>>0>>0?rl+1|0:rl,sl=PA(pl,dn,Gn,gn),Il=bn+rl|0,Il=(Pt=sl+Pt|0)>>>0>>0?Il+1|0:Il,rl=PA(An,Fn,Yn,zn=Yn>>31),Il=bn+Il|0,Il=(Pt=rl+Pt|0)>>>0>>0?Il+1|0:Il,rl=PA(Zl,un,vn,Ln),Il=bn+Il|0,Il=(Pt=rl+Pt|0)>>>0>>0?Il+1|0:Il,rl=PA(dl=rn(dl,19),Cn=dl>>31,Vn,Sn=Vn>>31),sl=bn+Il|0,sl=(Pt=rl+Pt|0)>>>0>>0?sl+1|0:sl,Il=PA(ml,pn,Gl,En),rl=bn+sl|0,rl=(Pt=Il+Pt|0)>>>0>>0?rl+1|0:rl,sl=PA(ol,Wn,Rn,Dn=Rn>>31),Il=bn+rl|0,Il=(Pt=sl+Pt|0)>>>0>>0?Il+1|0:Il,rl=PA(ul,hn,an,sn),Il=bn+Il|0,Vl=Pt=rl+Pt|0,gl=Pt>>>0>>0?Il+1|0:Il,Pt=PA(tn,mn,wn,Jn),Il=bn,rl=PA(Al,In,hl,cn),Il=bn+Il|0,Il=(Pt=rl+Pt|0)>>>0>>0?Il+1|0:Il,rl=PA(pl,dn,on,Zn),sl=bn+Il|0,sl=(Pt=rl+Pt|0)>>>0>>0?sl+1|0:sl,Il=PA(Gn,gn,Qn,Bn),rl=bn+sl|0,rl=(Pt=Il+Pt|0)>>>0>>0?rl+1|0:rl,sl=PA(Zl,un,An,Fn),Il=bn+rl|0,Il=(Pt=sl+Pt|0)>>>0>>0?Il+1|0:Il,rl=PA(Xn=rn(vn,19),jn=Xn>>31,fn,On),Il=bn+Il|0,Il=(Pt=rl+Pt|0)>>>0>>0?Il+1|0:Il,rl=PA(ml,pn,dl,Cn),Il=bn+Il|0,Il=(Pt=rl+Pt|0)>>>0>>0?Il+1|0:Il,rl=PA(Gl,En,Hn,Tn),sl=bn+Il|0,sl=(Pt=rl+Pt|0)>>>0>>0?sl+1|0:sl,Il=PA(ol,Wn,an,sn),rl=bn+sl|0,rl=(Pt=Il+Pt|0)>>>0>>0?rl+1|0:rl,sl=PA(ul,hn,Nl,kn),Il=bn+rl|0,$n=Pt=sl+Pt|0,el=Il=Pt>>>0>>0?Il+1|0:Il,tl=Pt=Pt+33554432|0,nl=Il=Pt>>>0<33554432?Il+1|0:Il,sl=(67108863&Il)<<6|Pt>>>26,Il=(Il>>26)+gl|0,Vl=Pt=sl+Vl|0,Il=Pt>>>0>>0?Il+1|0:Il,ll=Pt=Pt+16777216|0,Il=en+(rl=(sl=Pt>>>0<16777216?Il+1|0:Il)>>25)|0,Il=(Pt=(sl=(33554431&sl)<<7|Pt>>>25)+cl|0)>>>0>>0?Il+1|0:Il,yl=en=(rl=Pt)+33554432|0,Pt=Il=en>>>0<33554432?Il+1|0:Il,nn[Wt+24>>2]=rl-(-67108864&en),en=PA(tn,mn,Qn,Bn),Il=bn,rl=PA(Al,In,pl,dn),sl=bn+Il|0,sl=(en=rl+en|0)>>>0>>0?sl+1|0:sl,rl=(Il=en)+(en=PA(Zl,un,on,Zn))|0,Il=bn+sl|0,Il=en>>>0>rl>>>0?Il+1|0:Il,sl=PA(en=rn(Gn,19),vl=en>>31,fn,On),Il=bn+Il|0,Il=(rl=sl+rl|0)>>>0>>0?Il+1|0:Il,sl=(cl=PA(ml,pn,gl=rn(An,19),Kn=gl>>31))+rl|0,rl=bn+Il|0,rl=sl>>>0>>0?rl+1|0:rl,cl=PA(Hn,Tn,Xn,jn),Il=bn+rl|0,Il=(sl=cl+sl|0)>>>0>>0?Il+1|0:Il,rl=(cl=PA(an,sn,dl,Cn))+sl|0,sl=bn+Il|0,sl=rl>>>0>>0?sl+1|0:sl,cl=PA(Gl,En,Nl,kn),Il=bn+sl|0,Il=(rl=cl+rl|0)>>>0>>0?Il+1|0:Il,sl=PA(ol,Wn,hl,cn),Il=bn+Il|0,Il=(rl=sl+rl|0)>>>0>>0?Il+1|0:Il,sl=(cl=PA(ul,hn,wn,Jn))+rl|0,rl=bn+Il|0,bl=sl,Rl=sl>>>0>>0?rl+1|0:rl,Il=PA(Zl,un,tn,mn),rl=bn,sl=(cl=PA(Al,In,Yn,zn))+Il|0,Il=bn+rl|0,Il=sl>>>0>>0?Il+1|0:Il,cl=rl=rn(on,19),rl=(il=PA(rl,El=rl>>31,Vn,Sn))+sl|0,sl=bn+Il|0,sl=rl>>>0>>0?sl+1|0:sl,il=PA(ml,pn,en,vl),Il=bn+sl|0,Il=(rl=il+rl|0)>>>0>>0?Il+1|0:Il,sl=PA(gl,Kn,Rn,Dn),Il=bn+Il|0,Il=(rl=sl+rl|0)>>>0>>0?Il+1|0:Il,sl=(il=PA(an,sn,Xn,jn))+rl|0,rl=bn+Il|0,rl=sl>>>0>>0?rl+1|0:rl,il=PA(dl,Cn,Nn,Un),Il=bn+rl|0,Il=(sl=il+sl|0)>>>0>>0?Il+1|0:Il,rl=(il=PA(hl,cn,Gl,En))+sl|0,sl=bn+Il|0,sl=rl>>>0>>0?sl+1|0:sl,il=PA(ol,Wn,yn,Mn),Il=bn+sl|0,Il=(rl=il+rl|0)>>>0>>0?Il+1|0:Il,sl=PA(ul,hn,pl,dn),Il=bn+Il|0,wl=rl=sl+rl|0,il=rl>>>0>>0?Il+1|0:Il,Il=PA(Il=rn(tn,19),Il>>31,fn,On),rl=bn,sl=PA(Al,In,Zl,un),rl=bn+rl|0,rl=(Il=sl+Il|0)>>>0>>0?rl+1|0:rl,sl=(cl=PA(ml,pn,cl,El))+Il|0,Il=bn+rl|0,en=(rl=PA(en,vl,Hn,Tn))+sl|0,sl=bn+(sl>>>0>>0?Il+1|0:Il)|0,sl=en>>>0>>0?sl+1|0:sl,rl=PA(an,sn,gl,Kn),Il=bn+sl|0,Il=(en=rl+en|0)>>>0>>0?Il+1|0:Il,rl=PA(Nl,kn,Xn,jn),Il=bn+Il|0,Il=(en=rl+en|0)>>>0>>0?Il+1|0:Il,sl=PA(hl,cn,dl,Cn),rl=bn+Il|0,rl=(en=sl+en|0)>>>0>>0?rl+1|0:rl,sl=PA(Gl,En,wn,Jn),Il=bn+rl|0,Il=(en=sl+en|0)>>>0>>0?Il+1|0:Il,rl=PA(ol,Wn,pl,dn),sl=bn+Il|0,sl=(en=rl+en|0)>>>0>>0?sl+1|0:sl,rl=PA(ul,hn,Qn,Bn),Il=bn+sl|0,cl=en=rl+en|0,vl=Il=en>>>0>>0?Il+1|0:Il,El=en=en+33554432|0,al=Il=en>>>0<33554432?Il+1|0:Il,rl=(sl=Il>>26)+il|0,il=en=(Il=(67108863&Il)<<6|en>>>26)+wl|0,Il=en>>>0>>0?rl+1|0:rl,wl=en=en+16777216|0,rl=(33554431&(Il=en>>>0<16777216?Il+1|0:Il))<<7|en>>>25,Il=(Il>>25)+Rl|0,Il=(en=rl+bl|0)>>>0>>0?Il+1|0:Il,Rl=rl=(sl=en)+33554432|0,en=Il=rl>>>0<33554432?Il+1|0:Il,nn[Wt+8>>2]=sl-(-67108864&rl),Il=PA(an,sn,tn,mn),sl=bn,rl=(bl=PA(Al,In,Rn,Dn))+Il|0,Il=bn+sl|0,Il=rl>>>0>>0?Il+1|0:Il,sl=PA(on,Zn,Nn,Un),Il=bn+Il|0,Il=(rl=sl+rl|0)>>>0>>0?Il+1|0:Il,sl=PA(hl,cn,Gn,gn),Il=bn+Il|0,Il=(rl=sl+rl|0)>>>0>>0?Il+1|0:Il,bl=PA(An,Fn,yn,Mn),sl=bn+Il|0,sl=(rl=bl+rl|0)>>>0>>0?sl+1|0:sl,Il=(bl=PA(pl,dn,vn,Ln))+rl|0,rl=bn+sl|0,rl=Il>>>0>>0?rl+1|0:rl,sl=(bl=PA(Yn,zn,Pn,_n))+Il|0,Il=bn+rl|0,Il=sl>>>0>>0?Il+1|0:Il,rl=sl,sl=PA(Zl,un,xn,bl=xn>>31),Il=bn+Il|0,Il=(rl=rl+sl|0)>>>0>>0?Il+1|0:Il,sl=PA(ol,Wn,Vn,Sn),Il=bn+Il|0,Il=(rl=sl+rl|0)>>>0>>0?Il+1|0:Il,Wl=PA(ul,hn,ml,pn),sl=bn+Il|0,Il=Pt>>26,Pt=(yl=(67108863&Pt)<<6|yl>>>26)+(rl=Wl+rl|0)|0,rl=Il+(rl>>>0>>0?sl+1|0:sl)|0,Il=(sl=Pt)>>>0>>0?rl+1|0:rl,yl=rl=sl+16777216|0,Pt=Il=rl>>>0<16777216?Il+1|0:Il,nn[Wt+28>>2]=sl-(-33554432&rl),Il=PA(pl,dn,tn,mn),rl=bn,Wl=PA(Al,In,yn,Mn),sl=bn+rl|0,sl=(Il=Wl+Il|0)>>>0>>0?sl+1|0:sl,Wl=PA(on,Zn,Yn,zn),rl=bn+sl|0,rl=(Il=Wl+Il|0)>>>0>>0?rl+1|0:rl,sl=(Wl=PA(Zl,un,Gn,gn))+Il|0,Il=bn+rl|0,Il=sl>>>0>>0?Il+1|0:Il,rl=sl,sl=PA(gl,Kn,Vn,Sn),Il=bn+Il|0,Il=(rl=rl+sl|0)>>>0>>0?Il+1|0:Il,sl=PA(ml,pn,Xn,jn),Il=bn+Il|0,Il=(rl=sl+rl|0)>>>0>>0?Il+1|0:Il,rl=(dl=PA(dl,Cn,Rn,Dn))+rl|0,sl=bn+Il|0,Il=(Gl=PA(an,sn,Gl,En))+rl|0,rl=bn+(rl>>>0
                            >>0?sl+1|0:sl)|0,sl=(ol=PA(ol,Wn,Nn,Un))+Il|0,Il=bn+(Il>>>0>>0?rl+1|0:rl)|0,Il=sl>>>0
                              >>0?Il+1|0:Il,rl=sl,sl=PA(ul,hn,hl,cn),Il=bn+Il|0,ol=rl=rl+sl|0,Il=(Il=rl>>>0>>0?Il+1|0:Il)+(rl=en>>26)|0,ol=en=ol+(sl=(67108863&en)<<6|Rl>>>26)|0,Il=en>>>0>>0?Il+1|0:Il,Gl=rl=en+16777216|0,en=sl=rl>>>0<16777216?Il+1|0:Il,nn[Wt+12>>2]=ol-(-33554432&rl),Il=PA(tn,mn,Hn,Tn),sl=bn,rl=(ol=PA(Al,In,ml,pn))+Il|0,Il=bn+sl|0,Il=rl>>>0
                                >>0?Il+1|0:Il,sl=PA(an,sn,on,Zn),Il=bn+Il|0,Il=(rl=sl+rl|0)>>>0>>0?Il+1|0:Il,ol=PA(Gn,gn,Nl,kn),sl=bn+Il|0,sl=(rl=ol+rl|0)>>>0
                                  >>0?sl+1|0:sl,Il=(ol=PA(hl,cn,An,Fn))+rl|0,rl=bn+sl|0,rl=Il>>>0
                                    >>0?rl+1|0:rl,sl=(ol=PA(wn,Jn,vn,Ln))+Il|0,Il=bn+rl|0,Il=sl>>>0
                                      >>0?Il+1|0:Il,rl=sl,sl=PA(pl,dn,Pn,_n),Il=bn+Il|0,Il=(rl=rl+sl|0)>>>0>>0?Il+1|0:Il,sl=PA(xn,bl,Qn,Bn),Il=bn+Il|0,Il=(rl=sl+rl|0)>>>0>>0?Il+1|0:Il,rl=(Nl=PA(Zl,un,ol=Yl,dl=ol>>31))+rl|0,sl=bn+Il|0,Il=(ul=PA(ul,hn,fn,On))+rl|0,rl=bn+(rl>>>0>>0?sl+1|0:sl)|0,rl=Il>>>0
                                        >>0?rl+1|0:rl,Yl=Il,Il=(Il=Pt>>25)+rl|0,Il=(Pt=Yl+(sl=(33554431&Pt)<<7|yl>>>25)|0)>>>0>>0?Il+1|0:Il,ul=rl=(sl=Pt)+33554432|0,Pt=Il=rl>>>0<33554432?Il+1|0:Il,nn[Wt+32>>2]=sl-(-67108864&rl),rl=en>>25,en=(Gl=(33554431&en)<<7|Gl>>>25)+($n-(Il=-67108864&tl)|0)|0,Il=rl+(el-((Il>>>0>$n>>>0)+nl|0)|0)|0,Il=en>>>0>>0?Il+1|0:Il,Il=((67108863&(Il=(en=(rl=en)+33554432|0)>>>0<33554432?Il+1|0:Il))<<6|en>>>26)+(sl=Vl-(-33554432&ll)|0)|0,nn[Wt+20>>2]=Il,nn[Wt+16>>2]=rl-(-67108864&en),en=PA(ml,pn,tn,mn),Il=bn,rl=PA(Al,In,Vn,Sn),Il=bn+Il|0,Il=(en=rl+en|0)>>>0>>0?Il+1|0:Il,sl=PA(on,Zn,Rn,Dn),rl=bn+Il|0,rl=(en=sl+en|0)>>>0>>0?rl+1|0:rl,Il=PA(an,sn,Gn,gn),sl=bn+rl|0,sl=(en=Il+en|0)>>>0>>0?sl+1|0:sl,rl=PA(An,Fn,Nn,Un),Il=bn+sl|0,Il=(en=rl+en|0)>>>0>>0?Il+1|0:Il,rl=PA(hl,cn,vn,Ln),Il=bn+Il|0,Il=(en=rl+en|0)>>>0>>0?Il+1|0:Il,rl=PA(yn,Mn,Pn,_n),Il=bn+Il|0,Il=(en=rl+en|0)>>>0>>0?Il+1|0:Il,sl=PA(pl,dn,xn,bl),rl=bn+Il|0,rl=(en=sl+en|0)>>>0>>0?rl+1|0:rl,Il=PA(ol,dl,Yn,zn),sl=bn+rl|0,sl=(en=Il+en|0)>>>0>>0?sl+1|0:sl,rl=PA(Zl,un,qn,qn>>31),Il=bn+sl|0,Il=(Il=(en=rl+en|0)>>>0>>0?Il+1|0:Il)+(rl=Pt>>26)|0,Il=(Pt=(sl=en)+(en=(67108863&Pt)<<6|ul>>>26)|0)>>>0>>0?Il+1|0:Il,Il=(Pt=(en=Pt)+16777216|0)>>>0<16777216?Il+1|0:Il,nn[Wt+36>>2]=en-(-33554432&Pt),sl=il-(-33554432&wl)|0,rl=cl-(en=-67108864&El)|0,Al=vl-((en>>>0>cl>>>0)+al|0)|0,Pt=(en=PA((33554431&(en=Il))<<7|Pt>>>25,Il>>=25,19,0))+rl|0,rl=bn+Al|0,Il=Pt>>>0>>0?rl+1|0:rl,Il=((67108863&(Il=(Pt=(en=Pt)+33554432|0)>>>0<33554432?Il+1|0:Il))<<6|Pt>>>26)+sl|0,nn[Wt+4>>2]=Il,nn[Wt>>2]=en-(-67108864&Pt)}function N(Wt,Pt){var en,tn,In,rn,sn,on,cn,dn,un,pn,bn,Gn,hn,Zn,An,Wn,Nn=0,gn=0,yn=0;mn=en=mn-544|0,tn=an[Wt+60|0]|an[Wt+61|0]<<8|an[Wt+62|0]<<16|an[Wt+63|0]<<24,In=an[Wt+56|0]|an[Wt+57|0]<<8|an[Wt+58|0]<<16|an[Wt+59|0]<<24,rn=an[Wt+52|0]|an[Wt+53|0]<<8|an[Wt+54|0]<<16|an[Wt+55|0]<<24,sn=an[Wt+48|0]|an[Wt+49|0]<<8|an[Wt+50|0]<<16|an[Wt+51|0]<<24,on=an[Wt+32|0]|an[Wt+33|0]<<8|an[Wt+34|0]<<16|an[Wt+35|0]<<24,cn=an[Wt+36|0]|an[Wt+37|0]<<8|an[Wt+38|0]<<16|an[Wt+39|0]<<24,dn=an[Wt+40|0]|an[Wt+41|0]<<8|an[Wt+42|0]<<16|an[Wt+43|0]<<24,un=an[Wt+44|0]|an[Wt+45|0]<<8|an[Wt+46|0]<<16|an[Wt+47|0]<<24,Nn=an[Wt+28|0]|an[Wt+29|0]<<8|an[Wt+30|0]<<16|an[Wt+31|0]<<24,pn=an[Wt+24|0]|an[Wt+25|0]<<8|an[Wt+26|0]<<16|an[Wt+27|0]<<24,bn=an[Wt+20|0]|an[Wt+21|0]<<8|an[Wt+22|0]<<16|an[Wt+23|0]<<24,Gn=an[Wt+16|0]|an[Wt+17|0]<<8|an[Wt+18|0]<<16|an[Wt+19|0]<<24,hn=an[Wt+4|0]|an[Wt+5|0]<<8|an[Wt+6|0]<<16|an[Wt+7|0]<<24,Zn=an[Wt+8|0]|an[Wt+9|0]<<8|an[Wt+10|0]<<16|an[Wt+11|0]<<24,An=an[Wt+12|0]|an[Wt+13|0]<<8|an[Wt+14|0]<<16|an[Wt+15|0]<<24,Wn=an[0|Wt]|an[Wt+1|0]<<8|an[Wt+2|0]<<16|an[Wt+3|0]<<24,Wt=nn[Pt+124>>2],nn[en+536>>2]=nn[Pt+120>>2],nn[en+540>>2]=Wt,Wt=nn[Pt+116>>2],nn[en+528>>2]=nn[Pt+112>>2],nn[en+532>>2]=Wt,Wt=nn[Pt+108>>2],nn[en+504>>2]=nn[Pt+104>>2],nn[en+508>>2]=Wt,Wt=nn[Pt+100>>2],nn[en+496>>2]=nn[Pt+96>>2],nn[en+500>>2]=Wt,Wt=nn[Pt+124>>2],nn[en+488>>2]=nn[Pt+120>>2],nn[en+492>>2]=Wt,Wt=nn[Pt+116>>2],nn[en+480>>2]=nn[Pt+112>>2],nn[en+484>>2]=Wt,aA(yn=en+512|0,en+496|0,en+480|0),Wt=nn[en+524>>2],nn[Pt+120>>2]=nn[en+520>>2],nn[Pt+124>>2]=Wt,Wt=nn[en+516>>2],nn[Pt+112>>2]=nn[en+512>>2],nn[Pt+116>>2]=Wt,Wt=nn[Pt+92>>2],nn[en+472>>2]=nn[Pt+88>>2],nn[en+476>>2]=Wt,Wt=nn[Pt+84>>2],nn[en+464>>2]=nn[Pt+80>>2],nn[en+468>>2]=Wt,Wt=nn[Pt+108>>2],nn[en+456>>2]=nn[Pt+104>>2],nn[en+460>>2]=Wt,Wt=nn[Pt+100>>2],nn[en+448>>2]=nn[Pt+96>>2],nn[en+452>>2]=Wt,aA(yn,en+464|0,en+448|0),Wt=nn[en+524>>2],nn[Pt+104>>2]=nn[en+520>>2],nn[Pt+108>>2]=Wt,Wt=nn[en+516>>2],nn[Pt+96>>2]=nn[en+512>>2],nn[Pt+100>>2]=Wt,Wt=nn[Pt+76>>2],nn[en+440>>2]=nn[Pt+72>>2],nn[en+444>>2]=Wt,gn=nn[4+(Wt=Pt- -64|0)>>2],nn[en+432>>2]=nn[Wt>>2],nn[en+436>>2]=gn,gn=nn[Pt+92>>2],nn[en+424>>2]=nn[Pt+88>>2],nn[en+428>>2]=gn,gn=nn[Pt+84>>2],nn[en+416>>2]=nn[Pt+80>>2],nn[en+420>>2]=gn,aA(yn,en+432|0,en+416|0),gn=nn[en+524>>2],nn[Pt+88>>2]=nn[en+520>>2],nn[Pt+92>>2]=gn,gn=nn[en+516>>2],nn[Pt+80>>2]=nn[en+512>>2],nn[Pt+84>>2]=gn,gn=nn[Pt+60>>2],nn[en+408>>2]=nn[Pt+56>>2],nn[en+412>>2]=gn,gn=nn[Pt+52>>2],nn[en+400>>2]=nn[Pt+48>>2],nn[en+404>>2]=gn,gn=nn[Pt+76>>2],nn[en+392>>2]=nn[Pt+72>>2],nn[en+396>>2]=gn,gn=nn[Wt+4>>2],nn[en+384>>2]=nn[Wt>>2],nn[en+388>>2]=gn,aA(yn,en+400|0,en+384|0),gn=nn[en+524>>2],nn[Pt+72>>2]=nn[en+520>>2],nn[Pt+76>>2]=gn,gn=nn[en+516>>2],nn[Wt>>2]=nn[en+512>>2],nn[Wt+4>>2]=gn,gn=nn[Pt+44>>2],nn[en+376>>2]=nn[Pt+40>>2],nn[en+380>>2]=gn,gn=nn[Pt+36>>2],nn[en+368>>2]=nn[Pt+32>>2],nn[en+372>>2]=gn,gn=nn[Pt+60>>2],nn[en+360>>2]=nn[Pt+56>>2],nn[en+364>>2]=gn,gn=nn[Pt+52>>2],nn[en+352>>2]=nn[Pt+48>>2],nn[en+356>>2]=gn,aA(yn,en+368|0,en+352|0),gn=nn[en+524>>2],nn[Pt+56>>2]=nn[en+520>>2],nn[Pt+60>>2]=gn,gn=nn[en+516>>2],nn[Pt+48>>2]=nn[en+512>>2],nn[Pt+52>>2]=gn,gn=nn[Pt+28>>2],nn[en+344>>2]=nn[Pt+24>>2],nn[en+348>>2]=gn,gn=nn[Pt+20>>2],nn[en+336>>2]=nn[Pt+16>>2],nn[en+340>>2]=gn,gn=nn[Pt+44>>2],nn[en+328>>2]=nn[Pt+40>>2],nn[en+332>>2]=gn,gn=nn[Pt+36>>2],nn[en+320>>2]=nn[Pt+32>>2],nn[en+324>>2]=gn,aA(yn,en+336|0,en+320|0),gn=nn[en+524>>2],nn[Pt+40>>2]=nn[en+520>>2],nn[Pt+44>>2]=gn,gn=nn[en+516>>2],nn[Pt+32>>2]=nn[en+512>>2],nn[Pt+36>>2]=gn,gn=nn[Pt+12>>2],nn[en+312>>2]=nn[Pt+8>>2],nn[en+316>>2]=gn,gn=nn[Pt+4>>2],nn[en+304>>2]=nn[Pt>>2],nn[en+308>>2]=gn,gn=nn[Pt+28>>2],nn[en+296>>2]=nn[Pt+24>>2],nn[en+300>>2]=gn,gn=nn[Pt+20>>2],nn[en+288>>2]=nn[Pt+16>>2],nn[en+292>>2]=gn,aA(yn,en+304|0,en+288|0),gn=nn[en+524>>2],nn[Pt+24>>2]=nn[en+520>>2],nn[Pt+28>>2]=gn,gn=nn[en+516>>2],nn[Pt+16>>2]=nn[en+512>>2],nn[Pt+20>>2]=gn,gn=nn[en+540>>2],nn[en+280>>2]=nn[en+536>>2],nn[en+284>>2]=gn,gn=nn[en+532>>2],nn[en+272>>2]=nn[en+528>>2],nn[en+276>>2]=gn,gn=nn[Pt+12>>2],nn[en+264>>2]=nn[Pt+8>>2],nn[en+268>>2]=gn,gn=nn[Pt+4>>2],nn[en+256>>2]=nn[Pt>>2],nn[en+260>>2]=gn,aA(yn,en+272|0,en+256|0),gn=nn[en+524>>2],nn[Pt+8>>2]=nn[en+520>>2],nn[Pt+12>>2]=gn,gn=nn[en+516>>2],nn[Pt>>2]=nn[en+512>>2],nn[Pt+4>>2]=gn,nn[Pt+12>>2]=(an[Pt+12|0]|an[Pt+13|0]<<8|an[Pt+14|0]<<16|an[Pt+15|0]<<24)^An,nn[Pt+8>>2]=(an[Pt+8|0]|an[Pt+9|0]<<8|an[Pt+10|0]<<16|an[Pt+11|0]<<24)^Zn,nn[Pt+4>>2]=(an[Pt+4|0]|an[Pt+5|0]<<8|an[Pt+6|0]<<16|an[Pt+7|0]<<24)^hn,nn[Pt>>2]=(an[0|Pt]|an[Pt+1|0]<<8|an[Pt+2|0]<<16|an[Pt+3|0]<<24)^Wn,nn[Wt>>2]=(an[0|Wt]|an[Wt+1|0]<<8|an[Wt+2|0]<<16|an[Wt+3|0]<<24)^Gn,nn[Pt+68>>2]=(an[Pt+68|0]|an[Pt+69|0]<<8|an[Pt+70|0]<<16|an[Pt+71|0]<<24)^bn,nn[Pt+72>>2]=(an[Pt+72|0]|an[Pt+73|0]<<8|an[Pt+74|0]<<16|an[Pt+75|0]<<24)^pn,nn[Pt+76>>2]=(an[Pt+76|0]|an[Pt+77|0]<<8|an[Pt+78|0]<<16|an[Pt+79|0]<<24)^Nn,Nn=nn[Pt+124>>2],nn[en+536>>2]=nn[Pt+120>>2],nn[en+540>>2]=Nn,Nn=nn[Pt+116>>2],nn[en+528>>2]=nn[Pt+112>>2],nn[en+532>>2]=Nn,Nn=nn[Pt+108>>2],nn[en+248>>2]=nn[Pt+104>>2],nn[en+252>>2]=Nn,Nn=nn[Pt+100>>2],nn[en+240>>2]=nn[Pt+96>>2],nn[en+244>>2]=Nn,Nn=nn[Pt+124>>2],nn[en+232>>2]=nn[Pt+120>>2],nn[en+236>>2]=Nn,Nn=nn[Pt+116>>2],nn[en+224>>2]=nn[Pt+112>>2],nn[en+228>>2]=Nn,aA(yn,en+240|0,en+224|0),Nn=nn[en+524>>2],nn[Pt+120>>2]=nn[en+520>>2],nn[Pt+124>>2]=Nn,Nn=nn[en+516>>2],nn[Pt+112>>2]=nn[en+512>>2],nn[Pt+116>>2]=Nn,Nn=nn[Pt+92>>2],nn[en+216>>2]=nn[Pt+88>>2],nn[en+220>>2]=Nn,Nn=nn[Pt+84>>2],nn[en+208>>2]=nn[Pt+80>>2],nn[en+212>>2]=Nn,Nn=nn[Pt+108>>2],nn[en+200>>2]=nn[Pt+104>>2],nn[en+204>>2]=Nn,Nn=nn[Pt+100>>2],nn[en+192>>2]=nn[Pt+96>>2],nn[en+196>>2]=Nn,aA(yn,en+208|0,en+192|0),Nn=nn[en+524>>2],nn[Pt+104>>2]=nn[en+520>>2],nn[Pt+108>>2]=Nn,Nn=nn[en+516>>2],nn[Pt+96>>2]=nn[en+512>>2],nn[Pt+100>>2]=Nn,Nn=nn[Pt+76>>2],nn[en+184>>2]=nn[Pt+72>>2],nn[en+188>>2]=Nn,Nn=nn[Wt+4>>2],nn[en+176>>2]=nn[Wt>>2],nn[en+180>>2]=Nn,Nn=nn[Pt+92>>2],nn[en+168>>2]=nn[Pt+88>>2],nn[en+172>>2]=Nn,Nn=nn[Pt+84>>2],nn[en+160>>2]=nn[Pt+80>>2],nn[en+164>>2]=Nn,aA(yn,en+176|0,en+160|0),Nn=nn[en+524>>2],nn[Pt+88>>2]=nn[en+520>>2],nn[Pt+92>>2]=Nn,Nn=nn[en+516>>2],nn[Pt+80>>2]=nn[en+512>>2],nn[Pt+84>>2]=Nn,Nn=nn[Pt+60>>2],nn[en+152>>2]=nn[Pt+56>>2],nn[en+156>>2]=Nn,Nn=nn[Pt+52>>2],nn[en+144>>2]=nn[Pt+48>>2],nn[en+148>>2]=Nn,Nn=nn[Pt+76>>2],nn[en+136>>2]=nn[Pt+72>>2],nn[en+140>>2]=Nn,Nn=nn[Wt+4>>2],nn[en+128>>2]=nn[Wt>>2],nn[en+132>>2]=Nn,aA(yn,en+144|0,en+128|0),Nn=nn[en+524>>2],nn[Pt+72>>2]=nn[en+520>>2],nn[Pt+76>>2]=Nn,Nn=nn[en+516>>2],nn[Wt>>2]=nn[en+512>>2],nn[Wt+4>>2]=Nn,Nn=nn[Pt+44>>2],nn[en+120>>2]=nn[Pt+40>>2],nn[en+124>>2]=Nn,Nn=nn[Pt+36>>2],nn[en+112>>2]=nn[Pt+32>>2],nn[en+116>>2]=Nn,Nn=nn[Pt+60>>2],nn[en+104>>2]=nn[Pt+56>>2],nn[en+108>>2]=Nn,Nn=nn[Pt+52>>2],nn[en+96>>2]=nn[Pt+48>>2],nn[en+100>>2]=Nn,aA(yn,en+112|0,en+96|0),Nn=nn[en+524>>2],nn[Pt+56>>2]=nn[en+520>>2],nn[Pt+60>>2]=Nn,Nn=nn[en+516>>2],nn[Pt+48>>2]=nn[en+512>>2],nn[Pt+52>>2]=Nn,Nn=nn[Pt+28>>2],nn[en+88>>2]=nn[Pt+24>>2],nn[en+92>>2]=Nn,Nn=nn[Pt+20>>2],nn[en+80>>2]=nn[Pt+16>>2],nn[en+84>>2]=Nn,Nn=nn[Pt+44>>2],nn[en+72>>2]=nn[Pt+40>>2],nn[en+76>>2]=Nn,Nn=nn[Pt+36>>2],nn[en+64>>2]=nn[Pt+32>>2],nn[en+68>>2]=Nn,aA(yn,en+80|0,en- -64|0),Nn=nn[en+524>>2],nn[Pt+40>>2]=nn[en+520>>2],nn[Pt+44>>2]=Nn,Nn=nn[en+516>>2],nn[Pt+32>>2]=nn[en+512>>2],nn[Pt+36>>2]=Nn,Nn=nn[Pt+12>>2],nn[en+56>>2]=nn[Pt+8>>2],nn[en+60>>2]=Nn,Nn=nn[Pt+4>>2],nn[en+48>>2]=nn[Pt>>2],nn[en+52>>2]=Nn,Nn=nn[Pt+28>>2],nn[en+40>>2]=nn[Pt+24>>2],nn[en+44>>2]=Nn,Nn=nn[Pt+20>>2],nn[en+32>>2]=nn[Pt+16>>2],nn[en+36>>2]=Nn,aA(yn,en+48|0,en+32|0),Nn=nn[en+524>>2],nn[Pt+24>>2]=nn[en+520>>2],nn[Pt+28>>2]=Nn,Nn=nn[en+516>>2],nn[Pt+16>>2]=nn[en+512>>2],nn[Pt+20>>2]=Nn,Nn=nn[en+540>>2],nn[en+24>>2]=nn[en+536>>2],nn[en+28>>2]=Nn,Nn=nn[en+532>>2],nn[en+16>>2]=nn[en+528>>2],nn[en+20>>2]=Nn,Nn=nn[Pt+12>>2],nn[en+8>>2]=nn[Pt+8>>2],nn[en+12>>2]=Nn,Nn=nn[Pt+4>>2],nn[en>>2]=nn[Pt>>2],nn[en+4>>2]=Nn,aA(yn,en+16|0,en),yn=nn[en+524>>2],nn[Pt+8>>2]=nn[en+520>>2],nn[Pt+12>>2]=yn,yn=nn[en+516>>2],nn[Pt>>2]=nn[en+512>>2],nn[Pt+4>>2]=yn,nn[Pt+12>>2]=(an[Pt+12|0]|an[Pt+13|0]<<8|an[Pt+14|0]<<16|an[Pt+15|0]<<24)^un,nn[Pt+8>>2]=(an[Pt+8|0]|an[Pt+9|0]<<8|an[Pt+10|0]<<16|an[Pt+11|0]<<24)^dn,nn[Pt+4>>2]=(an[Pt+4|0]|an[Pt+5|0]<<8|an[Pt+6|0]<<16|an[Pt+7|0]<<24)^cn,nn[Pt>>2]=(an[0|Pt]|an[Pt+1|0]<<8|an[Pt+2|0]<<16|an[Pt+3|0]<<24)^on,nn[Wt>>2]=(an[0|Wt]|an[Wt+1|0]<<8|an[Wt+2|0]<<16|an[Wt+3|0]<<24)^sn,nn[Pt+68>>2]=(an[Pt+68|0]|an[Pt+69|0]<<8|an[Pt+70|0]<<16|an[Pt+71|0]<<24)^rn,nn[Pt+72>>2]=(an[Pt+72|0]|an[Pt+73|0]<<8|an[Pt+74|0]<<16|an[Pt+75|0]<<24)^In,nn[Pt+76>>2]=(an[Pt+76|0]|an[Pt+77|0]<<8|an[Pt+78|0]<<16|an[Pt+79|0]<<24)^tn,mn=en+544|0}function K(Wt,Pt,en,In,rn){var sn,on=0,cn=0,dn=0,un=0,pn=0,bn=0,Gn=0,hn=0,Zn=0,An=0,Wn=0,Nn=0,gn=0,yn=0,vn=0,Yn=0,En=0,Vn=0,Rn=0,wn=0;for(mn=sn=mn-288|0,Zn=(an[rn+44|0]|an[rn+45|0]<<8|an[rn+46|0]<<16|an[rn+47|0]<<24)^In>>>29,An=(an[rn+40|0]|an[rn+41|0]<<8|an[rn+42|0]<<16|an[rn+43|0]<<24)^In<<3,Wn=(an[rn+36|0]|an[rn+37|0]<<8|an[rn+38|0]<<16|an[rn+39|0]<<24)^en>>>29,In=(an[0|(dn=rn+32|0)]|an[dn+1|0]<<8|an[dn+2|0]<<16|an[dn+3|0]<<24)^en<<3,Gn=rn+16|0,pn=rn+48|0,cn=rn- -64|0,bn=rn+80|0,on=rn+96|0,un=rn+112|0;en=nn[un+12>>2],nn[sn+280>>2]=nn[un+8>>2],nn[sn+284>>2]=en,en=nn[un+4>>2],nn[sn+272>>2]=nn[un>>2],nn[sn+276>>2]=en,en=nn[on+12>>2],nn[sn+248>>2]=nn[on+8>>2],nn[sn+252>>2]=en,en=nn[on+4>>2],nn[sn+240>>2]=nn[on>>2],nn[sn+244>>2]=en,en=nn[un+12>>2],nn[sn+232>>2]=nn[un+8>>2],nn[sn+236>>2]=en,en=nn[un+4>>2],nn[sn+224>>2]=nn[un>>2],nn[sn+228>>2]=en,aA(hn=sn+256|0,sn+240|0,sn+224|0),en=nn[sn+268>>2],nn[un+8>>2]=nn[sn+264>>2],nn[un+12>>2]=en,en=nn[sn+260>>2],nn[un>>2]=nn[sn+256>>2],nn[un+4>>2]=en,en=nn[bn+12>>2],nn[sn+216>>2]=nn[bn+8>>2],nn[sn+220>>2]=en,en=nn[bn+4>>2],nn[sn+208>>2]=nn[bn>>2],nn[sn+212>>2]=en,en=nn[on+12>>2],nn[sn+200>>2]=nn[on+8>>2],nn[sn+204>>2]=en,en=nn[on+4>>2],nn[sn+192>>2]=nn[on>>2],nn[sn+196>>2]=en,aA(hn,sn+208|0,sn+192|0),en=nn[sn+268>>2],nn[on+8>>2]=nn[sn+264>>2],nn[on+12>>2]=en,en=nn[sn+260>>2],nn[on>>2]=nn[sn+256>>2],nn[on+4>>2]=en,en=nn[cn+12>>2],nn[sn+184>>2]=nn[cn+8>>2],nn[sn+188>>2]=en,en=nn[cn+4>>2],nn[sn+176>>2]=nn[cn>>2],nn[sn+180>>2]=en,en=nn[bn+12>>2],nn[sn+168>>2]=nn[bn+8>>2],nn[sn+172>>2]=en,en=nn[bn+4>>2],nn[sn+160>>2]=nn[bn>>2],nn[sn+164>>2]=en,aA(hn,sn+176|0,sn+160|0),en=nn[sn+268>>2],nn[bn+8>>2]=nn[sn+264>>2],nn[bn+12>>2]=en,en=nn[sn+260>>2],nn[bn>>2]=nn[sn+256>>2],nn[bn+4>>2]=en,en=nn[pn+12>>2],nn[sn+152>>2]=nn[pn+8>>2],nn[sn+156>>2]=en,en=nn[pn+4>>2],nn[sn+144>>2]=nn[pn>>2],nn[sn+148>>2]=en,en=nn[cn+12>>2],nn[sn+136>>2]=nn[cn+8>>2],nn[sn+140>>2]=en,en=nn[cn+4>>2],nn[sn+128>>2]=nn[cn>>2],nn[sn+132>>2]=en,aA(hn,sn+144|0,sn+128|0),en=nn[sn+268>>2],nn[cn+8>>2]=nn[sn+264>>2],nn[cn+12>>2]=en,en=nn[sn+260>>2],nn[cn>>2]=nn[sn+256>>2],nn[cn+4>>2]=en,en=nn[dn+12>>2],nn[sn+120>>2]=nn[dn+8>>2],nn[sn+124>>2]=en,en=nn[dn+4>>2],nn[sn+112>>2]=nn[dn>>2],nn[sn+116>>2]=en,en=nn[pn+12>>2],nn[sn+104>>2]=nn[pn+8>>2],nn[sn+108>>2]=en,en=nn[pn+4>>2],nn[sn+96>>2]=nn[pn>>2],nn[sn+100>>2]=en,aA(hn,sn+112|0,sn+96|0),en=nn[sn+268>>2],nn[pn+8>>2]=nn[sn+264>>2],nn[pn+12>>2]=en,en=nn[sn+260>>2],nn[pn>>2]=nn[sn+256>>2],nn[pn+4>>2]=en,en=nn[Gn+12>>2],nn[sn+88>>2]=nn[Gn+8>>2],nn[sn+92>>2]=en,en=nn[Gn+4>>2],nn[sn+80>>2]=nn[Gn>>2],nn[sn+84>>2]=en,en=nn[dn+12>>2],nn[sn+72>>2]=nn[dn+8>>2],nn[sn+76>>2]=en,en=nn[dn+4>>2],nn[sn+64>>2]=nn[dn>>2],nn[sn+68>>2]=en,aA(hn,sn+80|0,sn- -64|0),en=nn[sn+268>>2],nn[dn+8>>2]=nn[sn+264>>2],nn[dn+12>>2]=en,en=nn[sn+260>>2],nn[dn>>2]=nn[sn+256>>2],nn[dn+4>>2]=en,en=nn[rn+12>>2],nn[sn+56>>2]=nn[rn+8>>2],nn[sn+60>>2]=en,en=nn[rn+4>>2],nn[sn+48>>2]=nn[rn>>2],nn[sn+52>>2]=en,en=nn[Gn+12>>2],nn[sn+40>>2]=nn[Gn+8>>2],nn[sn+44>>2]=en,en=nn[Gn+4>>2],nn[sn+32>>2]=nn[Gn>>2],nn[sn+36>>2]=en,aA(hn,sn+48|0,sn+32|0),en=nn[sn+268>>2],nn[Gn+8>>2]=nn[sn+264>>2],nn[Gn+12>>2]=en,en=nn[sn+260>>2],nn[Gn>>2]=nn[sn+256>>2],nn[Gn+4>>2]=en,en=nn[sn+284>>2],nn[sn+24>>2]=nn[sn+280>>2],nn[sn+28>>2]=en,en=nn[sn+276>>2],nn[sn+16>>2]=nn[sn+272>>2],nn[sn+20>>2]=en,en=nn[rn+12>>2],nn[sn+8>>2]=nn[rn+8>>2],nn[sn+12>>2]=en,en=nn[rn+4>>2],nn[sn>>2]=nn[rn>>2],nn[sn+4>>2]=en,aA(hn,sn+16|0,sn),en=nn[sn+268>>2],nn[rn+8>>2]=nn[sn+264>>2],nn[rn+12>>2]=en,en=nn[sn+260>>2],nn[rn>>2]=nn[sn+256>>2],nn[rn+4>>2]=en,gn=Zn^(an[rn+12|0]|an[rn+13|0]<<8|an[rn+14|0]<<16|an[rn+15|0]<<24),nn[rn+12>>2]=gn,yn=An^(an[rn+8|0]|an[rn+9|0]<<8|an[rn+10|0]<<16|an[rn+11|0]<<24),nn[rn+8>>2]=yn,vn=Wn^(an[rn+4|0]|an[rn+5|0]<<8|an[rn+6|0]<<16|an[rn+7|0]<<24),nn[rn+4>>2]=vn,Yn=In^(an[0|rn]|an[rn+1|0]<<8|an[rn+2|0]<<16|an[rn+3|0]<<24),nn[rn>>2]=Yn,En=In^(an[0|cn]|an[cn+1|0]<<8|an[cn+2|0]<<16|an[cn+3|0]<<24),nn[cn>>2]=En,Vn=Wn^(an[rn+68|0]|an[rn+69|0]<<8|an[rn+70|0]<<16|an[rn+71|0]<<24),nn[rn+68>>2]=Vn,Rn=An^(an[rn+72|0]|an[rn+73|0]<<8|an[rn+74|0]<<16|an[rn+75|0]<<24),nn[rn+72>>2]=Rn,wn=Zn^(an[rn+76|0]|an[rn+77|0]<<8|an[rn+78|0]<<16|an[rn+79|0]<<24),nn[rn+76>>2]=wn,7!=(0|(Nn=Nn+1|0)););e:{t:{n:{if(en=Pt-16|0){if(16==(0|en))break n;break t}cn=an[rn+16|0]|an[rn+17|0]<<8|an[rn+18|0]<<16|an[rn+19|0]<<24,dn=an[rn+48|0]|an[rn+49|0]<<8|an[rn+50|0]<<16|an[rn+51|0]<<24,Gn=an[rn+32|0]|an[rn+33|0]<<8|an[rn+34|0]<<16|an[rn+35|0]<<24,pn=an[rn+96|0]|an[rn+97|0]<<8|an[rn+98|0]<<16|an[rn+99|0]<<24,bn=an[rn+80|0]|an[rn+81|0]<<8|an[rn+82|0]<<16|an[rn+83|0]<<24,on=an[rn+20|0]|an[rn+21|0]<<8|an[rn+22|0]<<16|an[rn+23|0]<<24,un=an[rn+52|0]|an[rn+53|0]<<8|an[rn+54|0]<<16|an[rn+55|0]<<24,hn=an[rn+36|0]|an[rn+37|0]<<8|an[rn+38|0]<<16|an[rn+39|0]<<24,Zn=an[rn+100|0]|an[rn+101|0]<<8|an[rn+102|0]<<16|an[rn+103|0]<<24,An=an[rn+84|0]|an[rn+85|0]<<8|an[rn+86|0]<<16|an[rn+87|0]<<24,Wn=an[rn+24|0]|an[rn+25|0]<<8|an[rn+26|0]<<16|an[rn+27|0]<<24,Nn=an[rn+56|0]|an[rn+57|0]<<8|an[rn+58|0]<<16|an[rn+59|0]<<24,In=an[rn+40|0]|an[rn+41|0]<<8|an[rn+42|0]<<16|an[rn+43|0]<<24,en=an[rn+104|0]|an[rn+105|0]<<8|an[rn+106|0]<<16|an[rn+107|0]<<24,Pt=an[rn+88|0]|an[rn+89|0]<<8|an[rn+90|0]<<16|an[rn+91|0]<<24,rn=gn^(an[rn+28|0]|an[rn+29|0]<<8|an[rn+30|0]<<16|an[rn+31|0]<<24)^(an[rn+60|0]|an[rn+61|0]<<8|an[rn+62|0]<<16|an[rn+63|0]<<24)^(an[rn+44|0]|an[rn+45|0]<<8|an[rn+46|0]<<16|an[rn+47|0]<<24)^(an[rn+92|0]|an[rn+93|0]<<8|an[rn+94|0]<<16|an[rn+95|0]<<24)^(an[rn+108|0]|an[rn+109|0]<<8|an[rn+110|0]<<16|an[rn+111|0]<<24)^wn,tn[Wt+12|0]=rn,tn[Wt+13|0]=rn>>>8,tn[Wt+14|0]=rn>>>16,tn[Wt+15|0]=rn>>>24,Pt=Wn^Nn^In^Pt^en^Rn^yn,tn[Wt+8|0]=Pt,tn[Wt+9|0]=Pt>>>8,tn[Wt+10|0]=Pt>>>16,tn[Wt+11|0]=Pt>>>24,Pt=on^un^hn^Zn^An^Vn^vn,tn[Wt+4|0]=Pt,tn[Wt+5|0]=Pt>>>8,tn[Wt+6|0]=Pt>>>16,tn[Wt+7|0]=Pt>>>24,Pt=cn^dn^Gn^pn^bn^En^Yn,tn[0|Wt]=Pt,tn[Wt+1|0]=Pt>>>8,tn[Wt+2|0]=Pt>>>16,tn[Wt+3|0]=Pt>>>24;break e}un=an[rn+16|0]|an[rn+17|0]<<8|an[rn+18|0]<<16|an[rn+19|0]<<24,hn=an[rn+48|0]|an[rn+49|0]<<8|an[rn+50|0]<<16|an[rn+51|0]<<24,Zn=an[rn+32|0]|an[rn+33|0]<<8|an[rn+34|0]<<16|an[rn+35|0]<<24,An=an[rn+20|0]|an[rn+21|0]<<8|an[rn+22|0]<<16|an[rn+23|0]<<24,Wn=an[rn+52|0]|an[rn+53|0]<<8|an[rn+54|0]<<16|an[rn+55|0]<<24,Nn=an[rn+36|0]|an[rn+37|0]<<8|an[rn+38|0]<<16|an[rn+39|0]<<24,In=an[rn+24|0]|an[rn+25|0]<<8|an[rn+26|0]<<16|an[rn+27|0]<<24,en=an[rn+56|0]|an[rn+57|0]<<8|an[rn+58|0]<<16|an[rn+59|0]<<24,Pt=an[rn+40|0]|an[rn+41|0]<<8|an[rn+42|0]<<16|an[rn+43|0]<<24,on=gn^(an[rn+28|0]|an[rn+29|0]<<8|an[rn+30|0]<<16|an[rn+31|0]<<24)^(an[rn+60|0]|an[rn+61|0]<<8|an[rn+62|0]<<16|an[rn+63|0]<<24)^(an[rn+44|0]|an[rn+45|0]<<8|an[rn+46|0]<<16|an[rn+47|0]<<24),tn[Wt+12|0]=on,tn[Wt+13|0]=on>>>8,tn[Wt+14|0]=on>>>16,tn[Wt+15|0]=on>>>24,Pt=In^Pt^en^yn,tn[Wt+8|0]=Pt,tn[Wt+9|0]=Pt>>>8,tn[Wt+10|0]=Pt>>>16,tn[Wt+11|0]=Pt>>>24,Pt=An^Wn^Nn^vn,tn[Wt+4|0]=Pt,tn[Wt+5|0]=Pt>>>8,tn[Wt+6|0]=Pt>>>16,tn[Wt+7|0]=Pt>>>24,Pt=un^hn^Zn^Yn,tn[0|Wt]=Pt,tn[Wt+1|0]=Pt>>>8,tn[Wt+2|0]=Pt>>>16,tn[Wt+3|0]=Pt>>>24,pn=an[rn+80|0]|an[rn+81|0]<<8|an[rn+82|0]<<16|an[rn+83|0]<<24,bn=an[0|(Pt=rn- -64|0)]|an[Pt+1|0]<<8|an[Pt+2|0]<<16|an[Pt+3|0]<<24,on=an[rn+112|0]|an[rn+113|0]<<8|an[rn+114|0]<<16|an[rn+115|0]<<24,un=an[rn+96|0]|an[rn+97|0]<<8|an[rn+98|0]<<16|an[rn+99|0]<<24,hn=an[rn+84|0]|an[rn+85|0]<<8|an[rn+86|0]<<16|an[rn+87|0]<<24,Zn=an[rn+68|0]|an[rn+69|0]<<8|an[rn+70|0]<<16|an[rn+71|0]<<24,An=an[rn+116|0]|an[rn+117|0]<<8|an[rn+118|0]<<16|an[rn+119|0]<<24,Wn=an[rn+100|0]|an[rn+101|0]<<8|an[rn+102|0]<<16|an[rn+103|0]<<24,Nn=an[rn+88|0]|an[rn+89|0]<<8|an[rn+90|0]<<16|an[rn+91|0]<<24,In=an[rn+72|0]|an[rn+73|0]<<8|an[rn+74|0]<<16|an[rn+75|0]<<24,en=an[rn+120|0]|an[rn+121|0]<<8|an[rn+122|0]<<16|an[rn+123|0]<<24,Pt=an[rn+104|0]|an[rn+105|0]<<8|an[rn+106|0]<<16|an[rn+107|0]<<24,rn=(an[rn+92|0]|an[rn+93|0]<<8|an[rn+94|0]<<16|an[rn+95|0]<<24)^(an[rn+76|0]|an[rn+77|0]<<8|an[rn+78|0]<<16|an[rn+79|0]<<24)^(an[rn+124|0]|an[rn+125|0]<<8|an[rn+126|0]<<16|an[rn+127|0]<<24)^(an[rn+108|0]|an[rn+109|0]<<8|an[rn+110|0]<<16|an[rn+111|0]<<24),tn[Wt+28|0]=rn,tn[Wt+29|0]=rn>>>8,tn[Wt+30|0]=rn>>>16,tn[Wt+31|0]=rn>>>24,Pt=Nn^In^Pt^en,tn[Wt+24|0]=Pt,tn[Wt+25|0]=Pt>>>8,tn[Wt+26|0]=Pt>>>16,tn[Wt+27|0]=Pt>>>24,Pt=hn^Zn^An^Wn,tn[Wt+20|0]=Pt,tn[Wt+21|0]=Pt>>>8,tn[Wt+22|0]=Pt>>>16,tn[Wt+23|0]=Pt>>>24,Pt=pn^bn^on^un,tn[Wt+16|0]=Pt,tn[Wt+17|0]=Pt>>>8,tn[Wt+18|0]=Pt>>>16,tn[Wt+19|0]=Pt>>>24;break e}VA(Wt,0,Pt)}mn=sn+288|0}function _(Wt,Pt){var en,tn,an,In,sn,on,cn,dn,un,pn,Gn,hn,Zn,An,Wn,Nn,gn,yn,vn,Yn,En,Vn,Rn,wn=0,Fn=0,Qn=0,fn=0,Hn=0,Cn=0,Xn=0,kn=0,Jn=0,Ln=0,Bn=0,xn=0,On=0,Tn=0,Un=0,Mn=0,zn=0,Sn=0,Dn=0,jn=0,_n=0,Kn=0,Pn=0,qn=0,$n=0,el=0,tl=0,nl=0,ll=0,al=0,Il=0,rl=0,sl=0,ol=0,cl=0,il=0;mn=en=mn-48|0,U(Wt,Pt),U(Wt+80|0,Pt+40|0),wn=PA(On=(el=nn[Pt+92>>2])<<1,sn=On>>31,kn=(fn=nn[Pt+84>>2])<<1,tn=kn>>31),Qn=bn,$n=Mn=nn[Pt+88>>2],Fn=(Bn=PA(Mn,Dn=Mn>>31,Mn,Dn))+wn|0,wn=bn+Qn|0,wn=Fn>>>0>>0?wn+1|0:wn,Qn=PA(Hn=nn[Pt+96>>2],on=Hn>>31,Bn=(Jn=nn[Pt+80>>2])<<1,an=Bn>>31),wn=bn+wn|0,wn=(Fn=Qn+Fn|0)>>>0>>0?wn+1|0:wn,nl=nn[Pt+108>>2],Qn=PA(xn=rn(nl,38),Gn=xn>>31,nl,An=nl>>31),wn=bn+wn|0,wn=(Fn=Qn+Fn|0)>>>0>>0?wn+1|0:wn,Qn=Fn,Pn=nn[Pt+112>>2],Ln=PA(Cn=rn(Pn,19),cn=Cn>>31,Fn=(jn=nn[Pt+104>>2])<<1,Fn>>31),Fn=bn+wn|0,Fn=(Qn=Qn+Ln|0)>>>0>>0?Fn+1|0:Fn,Il=nn[Pt+116>>2],wn=PA(Ln=rn(Il,38),In=Ln>>31,Sn=(Kn=nn[Pt+100>>2])<<1,un=Sn>>31),Fn=bn+Fn|0,rl=wn=(wn>>>0>(Qn=wn+Qn|0)>>>0?Fn+1:Fn)<<1|Qn>>>31,sl=Qn=33554432+(Wn=Qn<<1)|0,ol=wn=Qn>>>0<33554432?wn+1|0:wn,Xn=(67108863&wn)<<6|Qn>>>26,_n=wn>>26,wn=PA(kn,tn,Hn,on),Qn=bn,Fn=(qn=PA(Mn<<=1,pn=Mn>>31,el,Nn=el>>31))+wn|0,wn=bn+Qn|0,wn=Fn>>>0>>0?wn+1|0:wn,Qn=(qn=PA(Kn,hn=Kn>>31,Bn,an))+Fn|0,Fn=bn+wn|0,Fn=Qn>>>0>>0?Fn+1|0:Fn,ll=PA(Cn,cn,qn=nl<<1,gn=qn>>31),wn=bn+Fn|0,wn=(Qn=ll+Qn|0)>>>0>>0?wn+1|0:wn,Fn=PA(Ln,In,jn,dn=jn>>31),wn=bn+wn|0,Fn=(Fn=(Fn>>>0>(Qn=Fn+Qn|0)>>>0?wn+1:wn)<<1|Qn>>>31)+_n|0,ll=Qn=(wn=Qn<<1)+Xn|0,wn=Fn=wn>>>0>Qn>>>0?Fn+1|0:Fn,cl=Qn=Qn+16777216|0,Xn=(33554431&(wn=Qn>>>0<16777216?wn+1|0:wn))<<7|Qn>>>25,_n=wn>>25,wn=PA(On,sn,el,Nn),Qn=bn,Fn=(zn=PA(Hn,on,Mn,pn))+wn|0,wn=bn+Qn|0,wn=Fn>>>0>>0?wn+1|0:wn,Qn=PA(kn,tn,Sn,un),wn=bn+wn|0,wn=(Fn=Qn+Fn|0)>>>0>>0?wn+1|0:wn,Qn=(zn=PA(Bn,an,jn,dn))+Fn|0,Fn=bn+wn|0,Fn=Qn>>>0>>0?Fn+1|0:Fn,zn=PA(Cn,cn,Pn,Zn=Pn>>31),wn=bn+Fn|0,wn=(Qn=zn+Qn|0)>>>0>>0?wn+1|0:wn,zn=PA(Ln,In,qn,gn),Fn=bn+wn|0,Fn=((Qn=zn+Qn|0)>>>0>>0?Fn+1:Fn)<<1|Qn>>>31,Qn=(wn=Xn)+(Xn=Qn<<1)|0,wn=Fn+_n|0,wn=Qn>>>0>>0?wn+1|0:wn,_n=Qn,zn=Fn=Qn+33554432|0,Qn=wn=Fn>>>0<33554432?wn+1|0:wn,nn[Wt+144>>2]=_n-(-67108864&Fn),_n=PA(wn=rn(Kn,38),wn>>31,Kn,hn),Xn=bn,Jn=PA(wn=Jn,Fn=wn>>31,wn,Fn),Fn=bn+Xn|0,Fn=(wn=Jn+_n|0)>>>0>>0?Fn+1|0:Fn,Xn=(tl=PA(Jn=rn(jn,19),yn=Jn>>31,_n=Hn<<1,vn=_n>>31))+wn|0,wn=bn+Fn|0,wn=Xn>>>0>>0?wn+1|0:wn,Fn=Xn,Xn=PA(On,sn,xn,Gn),wn=bn+wn|0,wn=(Fn=Fn+Xn|0)>>>0>>0?wn+1|0:wn,Xn=(tl=PA(Cn,cn,Mn,pn))+Fn|0,Fn=bn+wn|0,Fn=Xn>>>0>>0?Fn+1|0:Fn,tl=PA(kn,tn,Ln,In),wn=bn+Fn|0,tl=wn=((Xn=tl+Xn|0)>>>0>>0?wn+1:wn)<<1|Xn>>>31,Vn=Fn=(Xn=33554432+(Yn=Xn<<1)|0)>>>0<33554432?wn+1|0:wn,al=(67108863&Fn)<<6|Xn>>>26,il=Fn>>26,wn=PA(Jn,yn,Sn,un),Tn=bn,Un=fn,Fn=(fn=PA(Bn,an,fn,En=fn>>31))+wn|0,wn=bn+Tn|0,wn=Fn>>>0>>0?wn+1|0:wn,fn=(Tn=PA(Hn,on,xn,Gn))+Fn|0,Fn=bn+wn|0,Fn=fn>>>0>>0?Fn+1|0:Fn,Tn=PA(Cn,cn,On,sn),wn=bn+Fn|0,wn=(fn=Tn+fn|0)>>>0>>0?wn+1|0:wn,Tn=PA(Ln,In,$n,Dn),Fn=bn+wn|0,Fn=((fn=Tn+fn|0)>>>0>>0?Fn+1:Fn)<<1|fn>>>31,fn=(wn=al)+(al=fn<<1)|0,wn=Fn+il|0,wn=fn>>>0>>0?wn+1|0:wn,il=fn,al=fn=fn+16777216|0,Rn=(33554431&(wn=fn>>>0<16777216?wn+1|0:wn))<<7|fn>>>25,Tn=wn>>25,wn=PA(Bn,an,$n,Dn),fn=bn,Fn=(Un=PA(kn,tn,Un,En))+wn|0,wn=bn+fn|0,fn=(Jn=PA(Jn,yn,jn,dn))+Fn|0,Fn=bn+(Fn>>>0>>0?wn+1|0:wn)|0,Fn=fn>>>0>>0?Fn+1|0:Fn,Jn=PA(Sn,un,xn,Gn),wn=bn+Fn|0,wn=(fn=Jn+fn|0)>>>0>>0?wn+1|0:wn,Fn=fn,fn=PA(Cn,cn,_n,vn),wn=bn+wn|0,wn=(Fn=Fn+fn|0)>>>0>>0?wn+1|0:wn,fn=(Jn=PA(Ln,In,On,sn))+Fn|0,Fn=bn+wn|0,wn=(wn=(fn>>>0>>0?Fn+1:Fn)<<1|fn>>>31)+Tn|0,Un=fn=(Fn=fn<<1)+Rn|0,wn=Fn>>>0>fn>>>0?wn+1|0:wn,fn=(Jn=fn+33554432|0)>>>0<33554432?wn+1|0:wn,nn[Wt+128>>2]=Un-(-67108864&Jn),wn=PA(Mn,pn,Kn,hn),Fn=bn,Un=PA(Hn,on,On,sn),Fn=bn+Fn|0,Fn=(wn=Un+wn|0)>>>0>>0?Fn+1|0:Fn,Un=(Tn=PA(kn,tn,jn,dn))+wn|0,wn=bn+Fn|0,wn=Un>>>0>>0?wn+1|0:wn,Tn=PA(Bn,an,nl,An),Fn=bn+wn|0,Fn=(Un=Tn+Un|0)>>>0>>0?Fn+1|0:Fn,Tn=PA(Ln,In,Pn,Zn),wn=bn+Fn|0,wn=(Fn=Qn>>26)+(((Un=Tn+Un|0)>>>0>>0?wn+1:wn)<<1|Un>>>31)|0,wn=(Qn=(zn=(67108863&Qn)<<6|zn>>>26)+(Un<<1)|0)>>>0>>0?wn+1|0:wn,zn=Qn,Fn=wn,Un=wn=Qn+16777216|0,Qn=Fn=wn>>>0<16777216?Fn+1|0:Fn,nn[Wt+148>>2]=zn-(-33554432&wn),wn=PA(Bn,an,el,Nn),el=bn,Fn=(Dn=PA(kn,tn,$n,Dn))+wn|0,wn=bn+el|0,wn=Fn>>>0>>0?wn+1|0:wn,xn=PA(jn,dn,xn,Gn),wn=bn+wn|0,wn=(Fn=xn+Fn|0)>>>0>>0?wn+1|0:wn,Cn=(xn=PA(Cn,cn,Sn,un))+Fn|0,Fn=bn+wn|0,Fn=Cn>>>0>>0?Fn+1|0:Fn,wn=Cn,Cn=PA(Ln,In,Hn,on),Fn=bn+Fn|0,Fn=((wn=wn+Cn|0)>>>0>>0?Fn+1:Fn)<<1,Cn=wn,wn=(wn=Fn|wn>>>31)+(Fn=fn>>26)|0,wn=(fn=(zn=Cn<<1)+(Cn=(67108863&fn)<<6|Jn>>>26)|0)>>>0>>0?wn+1|0:wn,Cn=fn,xn=Fn=fn+16777216|0,fn=wn=Fn>>>0<16777216?wn+1|0:wn,nn[Wt+132>>2]=Cn-(-33554432&Fn),wn=PA(jn,dn,Mn,pn),Cn=bn,Fn=(Hn=PA(Hn,on,Hn,on))+wn|0,wn=bn+Cn|0,wn=Fn>>>0>>0?wn+1|0:wn,Hn=PA(On,sn,Sn,un),wn=bn+wn|0,wn=(Fn=Hn+Fn|0)>>>0>>0?wn+1|0:wn,Hn=PA(kn,tn,qn,gn),wn=bn+wn|0,wn=(Fn=Hn+Fn|0)>>>0>>0?wn+1|0:wn,Hn=(Cn=PA(Bn,an,Pn,Zn))+Fn|0,Fn=bn+wn|0,Fn=Hn>>>0>>0?Fn+1|0:Fn,wn=Hn,Hn=PA(Hn=Ln,In,Ln=Il,Sn=Ln>>31),Fn=bn+Fn|0,Fn=((wn=wn+Hn|0)>>>0>>0?Fn+1:Fn)<<1,Hn=wn,wn=(wn=Fn|wn>>>31)+(Fn=Qn>>25)|0,wn=(Qn=(Cn=Hn<<1)+(Hn=(33554431&Qn)<<7|Un>>>25)|0)>>>0>>0?wn+1|0:wn,Hn=Qn,Cn=Fn=Qn+33554432|0,Qn=wn=Fn>>>0<33554432?wn+1|0:wn,nn[Wt+152>>2]=Hn-(-67108864&Fn),Fn=Wn-(wn=-67108864&sl)|0,Hn=rl-((wn>>>0>Wn>>>0)+ol|0)|0,wn=fn>>25,fn=(xn=(33554431&fn)<<7|xn>>>25)+Fn|0,Fn=wn+Hn|0,Hn=fn,wn=Fn=fn>>>0>>0?Fn+1|0:Fn,wn=((67108863&(wn=(fn=fn+33554432|0)>>>0<33554432?wn+1|0:wn))<<6|fn>>>26)+(Dn=ll-(-33554432&cl)|0)|0,nn[Wt+140>>2]=wn,nn[Wt+136>>2]=Hn-(-67108864&fn),wn=PA(On,sn,jn,dn),Fn=bn,fn=PA(Kn,hn,_n,vn),Fn=bn+Fn|0,Fn=(wn=fn+wn|0)>>>0>>0?Fn+1|0:Fn,fn=(On=PA(Mn,pn,nl,An))+wn|0,wn=bn+Fn|0,wn=fn>>>0>>0?wn+1|0:wn,kn=PA(kn,tn,Pn,Zn),Fn=bn+wn|0,Fn=(fn=kn+fn|0)>>>0>>0?Fn+1|0:Fn,kn=PA(Bn,an,Ln,Sn),wn=bn+Fn|0,wn=(wn=((fn=kn+fn|0)>>>0>>0?wn+1:wn)<<1|fn>>>31)+(Fn=Qn>>26)|0,Fn=(Qn=(Hn=fn<<1)+(fn=(67108863&Qn)<<6|Cn>>>26)|0)>>>0>>0?wn+1|0:wn,Fn=(wn=Qn+16777216|0)>>>0<16777216?Fn+1|0:Fn,nn[Wt+156>>2]=Qn-(-33554432&wn),fn=il-(-33554432&al)|0,kn=Yn-(Qn=-67108864&Xn)|0,Bn=tl-((Qn>>>0>Yn>>>0)+Vn|0)|0,Qn=PA((33554431&Fn)<<7|wn>>>25,Fn>>25,19,0),Fn=bn+Bn|0,Fn=(wn=Qn+kn|0)>>>0>>0?Fn+1|0:Fn,Qn=wn,Fn=((67108863&(Fn=(wn=wn+33554432|0)>>>0<33554432?Fn+1|0:Fn))<<6|wn>>>26)+fn|0,nn[Wt+124>>2]=Fn,nn[Wt+120>>2]=Qn-(-67108864&wn),wn=nn[Pt+44>>2],Fn=nn[Pt+4>>2],Qn=nn[Pt+48>>2],fn=nn[Pt+8>>2],kn=nn[Pt+52>>2],Bn=nn[Pt+12>>2],Ln=nn[Pt+56>>2],On=nn[Pt+16>>2],Hn=nn[Pt+60>>2],Cn=nn[Pt+20>>2],jn=nn[Pt- -64>>2],Sn=nn[Pt+24>>2],Mn=nn[Pt+68>>2],xn=nn[Pt+28>>2],Dn=nn[Pt+72>>2],Kn=nn[Pt+32>>2],Pn=nn[Pt+40>>2],$n=nn[Pt>>2],nn[Wt+76>>2]=nn[Pt+76>>2]+nn[Pt+36>>2],nn[Wt+72>>2]=Dn+Kn,nn[Wt+68>>2]=xn+Mn,nn[(nl=Wt- -64|0)>>2]=jn+Sn,nn[Wt+60>>2]=Hn+Cn,nn[Wt+56>>2]=Ln+On,nn[Wt+52>>2]=kn+Bn,nn[Wt+48>>2]=Qn+fn,nn[Wt+44>>2]=wn+Fn,nn[Wt+40>>2]=Pn+$n,U(en,Wt+40|0),Pt=nn[Wt+4>>2],wn=nn[Wt+84>>2],Fn=nn[Wt+8>>2],Qn=nn[Wt+88>>2],fn=nn[Wt+12>>2],kn=nn[Wt+92>>2],Bn=nn[Wt+16>>2],Ln=nn[Wt+96>>2],On=nn[Wt+20>>2],Hn=nn[Wt+100>>2],Cn=nn[Wt+24>>2],jn=nn[Wt+104>>2],Sn=nn[Wt+28>>2],Mn=nn[Wt+108>>2],xn=nn[Wt+32>>2],Dn=nn[Wt+112>>2],Kn=nn[Wt>>2],Pn=nn[Wt+80>>2],qn=($n=nn[Wt+116>>2])-(el=nn[Wt+36>>2])|0,nn[Wt+116>>2]=qn,Jn=Dn-xn|0,nn[Wt+112>>2]=Jn,_n=Mn-Sn|0,nn[Wt+108>>2]=_n,Xn=jn-Cn|0,nn[Wt+104>>2]=Xn,Il=Hn-On|0,nn[Wt+100>>2]=Il,rl=Ln-Bn|0,nn[Wt+96>>2]=rl,sl=kn-fn|0,nn[Wt+92>>2]=sl,ol=Qn-Fn|0,nn[Wt+88>>2]=ol,ll=wn-Pt|0,nn[Wt+84>>2]=ll,cl=Pn-Kn|0,nn[Wt+80>>2]=cl,$n=$n+el|0,nn[Wt+76>>2]=$n,xn=xn+Dn|0,nn[Wt+72>>2]=xn,Sn=Mn+Sn|0,nn[Wt+68>>2]=Sn,Cn=Cn+jn|0,nn[nl>>2]=Cn,On=Hn+On|0,nn[Wt+60>>2]=On,Bn=Ln+Bn|0,nn[Wt+56>>2]=Bn,fn=fn+kn|0,nn[Wt+52>>2]=fn,Fn=Fn+Qn|0,nn[Wt+48>>2]=Fn,Pt=Pt+wn|0,nn[Wt+44>>2]=Pt,wn=Kn+Pn|0,nn[Wt+40>>2]=wn,Qn=nn[en>>2],kn=nn[en+4>>2],Ln=nn[en+8>>2],Hn=nn[en+12>>2],jn=nn[en+16>>2],Mn=nn[en+20>>2],Dn=nn[en+24>>2],Kn=nn[en+28>>2],Pn=nn[en+32>>2],nn[Wt+36>>2]=nn[en+36>>2]-$n,nn[Wt+32>>2]=Pn-xn,nn[Wt+28>>2]=Kn-Sn,nn[Wt+24>>2]=Dn-Cn,nn[Wt+20>>2]=Mn-On,nn[Wt+16>>2]=jn-Bn,nn[Wt+12>>2]=Hn-fn,nn[Wt+8>>2]=Ln-Fn,nn[Wt+4>>2]=kn-Pt,nn[Wt>>2]=Qn-wn,Pt=nn[Wt+124>>2],wn=nn[Wt+128>>2],Fn=nn[Wt+132>>2],Qn=nn[Wt+136>>2],fn=nn[Wt+140>>2],kn=nn[Wt+144>>2],Bn=nn[Wt+148>>2],Ln=nn[Wt+152>>2],On=nn[Wt+120>>2],nn[Wt+156>>2]=nn[Wt+156>>2]-qn,nn[Wt+152>>2]=Ln-Jn,nn[Wt+148>>2]=Bn-_n,nn[Wt+144>>2]=kn-Xn,nn[Wt+140>>2]=fn-Il,nn[Wt+136>>2]=Qn-rl,nn[Wt+132>>2]=Fn-sl,nn[Wt+128>>2]=wn-ol,nn[Wt+124>>2]=Pt-ll,nn[Wt+120>>2]=On-cl,mn=en+48|0}function p(Wt,Pt,en,tn){var In=0,rn=0,sn=0,on=0,cn=0,dn=0,un=0,pn=0,mn=0,bn=0,Gn=0,hn=0,Zn=0,An=0,Wn=0,Nn=0,gn=0,yn=0,vn=0,Yn=0,En=0,Vn=0,Rn=0,wn=0,Fn=0,Qn=0,fn=0;for(In=an[0|Pt]|an[Pt+1|0]<<8|an[Pt+2|0]<<16|an[Pt+3|0]<<24,nn[en>>2]=In<<24|(65280&In)<<8|In>>>8&65280|In>>>24,In=an[Pt+4|0]|an[Pt+5|0]<<8|an[Pt+6|0]<<16|an[Pt+7|0]<<24,nn[en+4>>2]=In<<24|(65280&In)<<8|In>>>8&65280|In>>>24,In=an[Pt+8|0]|an[Pt+9|0]<<8|an[Pt+10|0]<<16|an[Pt+11|0]<<24,nn[en+8>>2]=In<<24|(65280&In)<<8|In>>>8&65280|In>>>24,In=an[Pt+12|0]|an[Pt+13|0]<<8|an[Pt+14|0]<<16|an[Pt+15|0]<<24,nn[en+12>>2]=In<<24|(65280&In)<<8|In>>>8&65280|In>>>24,In=an[Pt+16|0]|an[Pt+17|0]<<8|an[Pt+18|0]<<16|an[Pt+19|0]<<24,nn[en+16>>2]=In<<24|(65280&In)<<8|In>>>8&65280|In>>>24,In=an[Pt+20|0]|an[Pt+21|0]<<8|an[Pt+22|0]<<16|an[Pt+23|0]<<24,nn[en+20>>2]=In<<24|(65280&In)<<8|In>>>8&65280|In>>>24,In=an[Pt+24|0]|an[Pt+25|0]<<8|an[Pt+26|0]<<16|an[Pt+27|0]<<24,nn[en+24>>2]=In<<24|(65280&In)<<8|In>>>8&65280|In>>>24,In=an[Pt+28|0]|an[Pt+29|0]<<8|an[Pt+30|0]<<16|an[Pt+31|0]<<24,nn[en+28>>2]=In<<24|(65280&In)<<8|In>>>8&65280|In>>>24,In=an[Pt+32|0]|an[Pt+33|0]<<8|an[Pt+34|0]<<16|an[Pt+35|0]<<24,nn[en+32>>2]=In<<24|(65280&In)<<8|In>>>8&65280|In>>>24,In=an[Pt+36|0]|an[Pt+37|0]<<8|an[Pt+38|0]<<16|an[Pt+39|0]<<24,nn[en+36>>2]=In<<24|(65280&In)<<8|In>>>8&65280|In>>>24,In=an[Pt+40|0]|an[Pt+41|0]<<8|an[Pt+42|0]<<16|an[Pt+43|0]<<24,nn[en+40>>2]=In<<24|(65280&In)<<8|In>>>8&65280|In>>>24,In=an[Pt+44|0]|an[Pt+45|0]<<8|an[Pt+46|0]<<16|an[Pt+47|0]<<24,nn[en+44>>2]=In<<24|(65280&In)<<8|In>>>8&65280|In>>>24,In=an[Pt+48|0]|an[Pt+49|0]<<8|an[Pt+50|0]<<16|an[Pt+51|0]<<24,nn[en+48>>2]=In<<24|(65280&In)<<8|In>>>8&65280|In>>>24,In=an[Pt+52|0]|an[Pt+53|0]<<8|an[Pt+54|0]<<16|an[Pt+55|0]<<24,nn[en+52>>2]=In<<24|(65280&In)<<8|In>>>8&65280|In>>>24,In=an[Pt+56|0]|an[Pt+57|0]<<8|an[Pt+58|0]<<16|an[Pt+59|0]<<24,nn[en+56>>2]=In<<24|(65280&In)<<8|In>>>8&65280|In>>>24,Pt=an[Pt+60|0]|an[Pt+61|0]<<8|an[Pt+62|0]<<16|an[Pt+63|0]<<24,nn[en+60>>2]=Pt<<24|(65280&Pt)<<8|Pt>>>8&65280|Pt>>>24,Pt=nn[Wt+28>>2],nn[tn+24>>2]=nn[Wt+24>>2],nn[tn+28>>2]=Pt,Pt=nn[Wt+20>>2],nn[tn+16>>2]=nn[Wt+16>>2],nn[tn+20>>2]=Pt,Pt=nn[Wt+12>>2],nn[tn+8>>2]=nn[Wt+8>>2],nn[tn+12>>2]=Pt,Pt=nn[Wt+4>>2],nn[tn>>2]=nn[Wt>>2],nn[tn+4>>2]=Pt;cn=nn[tn+28>>2],In=(Pt=gn<<2)+en|0,sn=nn[tn+16>>2],dn=nn[In>>2]+(gI(sn,26)^gI(sn,21)^gI(sn,7))|0,pn=(cn=((rn=nn[Pt+34784>>2]+dn|0)+(sn&((dn=nn[tn+24>>2])^(mn=nn[tn+20>>2]))^dn)|0)+cn|0)+nn[tn+12>>2]|0,nn[tn+12>>2]=pn,cn=(Gn=cn+(gI(un=nn[tn>>2],30)^gI(un,19)^gI(un,10))|0)+(un&((rn=nn[tn+8>>2])|(on=nn[tn+4>>2]))|rn&on)|0,nn[tn+28>>2]=cn,rn=(Gn=rn)+(dn=(nn[(Zn=(rn=4|Pt)+en|0)>>2]+((dn+(mn^pn&(sn^mn))|0)+(gI(pn,26)^gI(pn,21)^gI(pn,7))|0)|0)+nn[rn+34784>>2]|0)|0,nn[tn+8>>2]=rn,dn=(dn+(cn&(on|un)|on&un)|0)+(gI(cn,30)^gI(cn,19)^gI(cn,10))|0,nn[tn+24>>2]=dn,mn=(Gn=on)+(on=(((mn+nn[(Nn=(on=8|Pt)+en|0)>>2]|0)+nn[on+34784>>2]|0)+(sn^rn&(sn^pn))|0)+(gI(rn,26)^gI(rn,21)^gI(rn,7))|0)|0,nn[tn+4>>2]=mn,on=on+((dn&(cn|un)|cn&un)+(gI(dn,30)^gI(dn,19)^gI(dn,10))|0)|0,nn[tn+20>>2]=on,sn=(Gn=un)+(un=(((sn+nn[(yn=(un=12|Pt)+en|0)>>2]|0)+nn[un+34784>>2]|0)+(pn^mn&(rn^pn))|0)+(gI(mn,26)^gI(mn,21)^gI(mn,7))|0)|0,nn[tn>>2]=sn,un=un+((on&(cn|dn)|cn&dn)+(gI(on,30)^gI(on,19)^gI(on,10))|0)|0,nn[tn+16>>2]=un,pn=(bn=((((Gn=pn)+nn[(vn=(pn=16|Pt)+en|0)>>2]|0)+nn[pn+34784>>2]|0)+(rn^sn&(rn^mn))|0)+(gI(sn,26)^gI(sn,21)^gI(sn,7))|0)+((un&(on|dn)|on&dn)+(gI(un,30)^gI(un,19)^gI(un,10))|0)|0,nn[tn+12>>2]=pn,bn=cn+bn|0,nn[tn+28>>2]=bn,cn=(rn=(((rn+nn[(Yn=(cn=20|Pt)+en|0)>>2]|0)+nn[cn+34784>>2]|0)+(mn^bn&(sn^mn))|0)+(gI(bn,26)^gI(bn,21)^gI(bn,7))|0)+((pn&(on|un)|on&un)+(gI(pn,30)^gI(pn,19)^gI(pn,10))|0)|0,nn[tn+8>>2]=cn,rn=rn+dn|0,nn[tn+24>>2]=rn,dn=(mn=(((mn+nn[(En=(dn=24|Pt)+en|0)>>2]|0)+nn[dn+34784>>2]|0)+(sn^rn&(sn^bn))|0)+(gI(rn,26)^gI(rn,21)^gI(rn,7))|0)+((cn&(un|pn)|un&pn)+(gI(cn,30)^gI(cn,19)^gI(cn,10))|0)|0,nn[tn+4>>2]=dn,mn=on+mn|0,nn[tn+20>>2]=mn,on=(sn=(((sn+nn[(Vn=(on=28|Pt)+en|0)>>2]|0)+nn[on+34784>>2]|0)+(bn^mn&(rn^bn))|0)+(gI(mn,26)^gI(mn,21)^gI(mn,7))|0)+((dn&(cn|pn)|cn&pn)+(gI(dn,30)^gI(dn,19)^gI(dn,10))|0)|0,nn[tn>>2]=on,sn=sn+un|0,nn[tn+16>>2]=sn,un=(bn=(((bn+nn[(Rn=(un=32|Pt)+en|0)>>2]|0)+nn[un+34784>>2]|0)+(rn^sn&(rn^mn))|0)+(gI(sn,26)^gI(sn,21)^gI(sn,7))|0)+((on&(cn|dn)|cn&dn)+(gI(on,30)^gI(on,19)^gI(on,10))|0)|0,nn[tn+28>>2]=un,bn=pn+bn|0,nn[tn+12>>2]=bn,pn=(rn=(((rn+nn[(wn=(pn=36|Pt)+en|0)>>2]|0)+nn[pn+34784>>2]|0)+(mn^bn&(sn^mn))|0)+(gI(bn,26)^gI(bn,21)^gI(bn,7))|0)+((un&(on|dn)|on&dn)+(gI(un,30)^gI(un,19)^gI(un,10))|0)|0,nn[tn+24>>2]=pn,rn=rn+cn|0,nn[tn+8>>2]=rn,cn=(mn=(((mn+nn[(Fn=(cn=40|Pt)+en|0)>>2]|0)+nn[cn+34784>>2]|0)+(sn^rn&(sn^bn))|0)+(gI(rn,26)^gI(rn,21)^gI(rn,7))|0)+((pn&(on|un)|on&un)+(gI(pn,30)^gI(pn,19)^gI(pn,10))|0)|0,nn[tn+20>>2]=cn,mn=dn+mn|0,nn[tn+4>>2]=mn,Gn=(dn=44|Pt)+en|0,dn=(sn=((sn+(nn[dn+34784>>2]+nn[Gn>>2]|0)|0)+(bn^mn&(rn^bn))|0)+(gI(mn,26)^gI(mn,21)^gI(mn,7))|0)+((cn&(un|pn)|un&pn)+(gI(cn,30)^gI(cn,19)^gI(cn,10))|0)|0,nn[tn+16>>2]=dn,on=on+sn|0,nn[tn>>2]=on,Wn=(sn=48|Pt)+en|0,sn=(bn=((bn+(nn[sn+34784>>2]+nn[Wn>>2]|0)|0)+(rn^on&(rn^mn))|0)+(gI(on,26)^gI(on,21)^gI(on,7))|0)+((dn&(cn|pn)|cn&pn)+(gI(dn,30)^gI(dn,19)^gI(dn,10))|0)|0,nn[tn+12>>2]=sn,un=un+bn|0,nn[tn+28>>2]=un,An=(bn=52|Pt)+en|0,rn=(bn=(((nn[bn+34784>>2]+nn[An>>2]|0)+rn|0)+(mn^un&(on^mn))|0)+(gI(un,26)^gI(un,21)^gI(un,7))|0)+((sn&(cn|dn)|cn&dn)+(gI(sn,30)^gI(sn,19)^gI(sn,10))|0)|0,nn[tn+8>>2]=rn,pn=pn+bn|0,nn[tn+24>>2]=pn,bn=(hn=56|Pt)+en|0,mn=(hn=(((nn[hn+34784>>2]+nn[bn>>2]|0)+mn|0)+(on^pn&(on^un))|0)+(gI(pn,26)^gI(pn,21)^gI(pn,7))|0)+((rn&(dn|sn)|dn&sn)+(gI(rn,30)^gI(rn,19)^gI(rn,10))|0)|0,nn[tn+4>>2]=mn,cn=cn+hn|0,nn[tn+20>>2]=cn,hn=(Pt|=60)+en|0,cn=(Pt=((on+(nn[Pt+34784>>2]+nn[hn>>2]|0)|0)+(un^cn&(un^pn))|0)+(gI(cn,26)^gI(cn,21)^gI(cn,7))|0)+((mn&(rn|sn)|rn&sn)+(gI(mn,30)^gI(mn,19)^gI(mn,10))|0)|0,nn[tn>>2]=cn,nn[tn+16>>2]=Pt+dn,48!=(0|gn);)on=nn[wn>>2],gn=gn+16|0,Pt=nn[bn>>2],cn=(rn=nn[In>>2]+(on+(gI(Pt,15)^gI(Pt,13)^Pt>>>10)|0)|0)+(gI(dn=nn[Zn>>2],25)^gI(dn,14)^dn>>>3)|0,nn[(gn<<2)+en>>2]=cn,pn=(sn=(rn=(un=nn[Fn>>2])+dn|0)+(gI(dn=nn[hn>>2],15)^gI(dn,13)^dn>>>10)|0)+(gI(rn=nn[Nn>>2],25)^gI(rn,14)^rn>>>3)|0,nn[In+68>>2]=pn,mn=(Gn=((sn=rn)+(rn=nn[Gn>>2])|0)+(gI(cn,15)^gI(cn,13)^cn>>>10)|0)+(gI(sn=nn[yn>>2],25)^gI(sn,14)^sn>>>3)|0,nn[In+72>>2]=mn,bn=(hn=((Gn=sn)+(sn=nn[Wn>>2])|0)+(gI(pn,15)^gI(pn,13)^pn>>>10)|0)+(gI(Gn=nn[vn>>2],25)^gI(Gn,14)^Gn>>>3)|0,nn[In+76>>2]=bn,Wn=(hn=((hn=Gn)+(Gn=nn[An>>2])|0)+(gI(mn,15)^gI(mn,13)^mn>>>10)|0)+(gI(An=nn[Yn>>2],25)^gI(An,14)^An>>>3)|0,nn[In+80>>2]=Wn,An=(Zn=(Pt+An|0)+(gI(bn,15)^gI(bn,13)^bn>>>10)|0)+(gI(hn=nn[En>>2],25)^gI(hn,14)^hn>>>3)|0,nn[In+84>>2]=An,hn=((dn+hn|0)+(gI(Nn=nn[Vn>>2],25)^gI(Nn,14)^Nn>>>3)|0)+(gI(Wn,15)^gI(Wn,13)^Wn>>>10)|0,nn[In+88>>2]=hn,pn=((Zn=nn[Rn>>2])+(pn+(gI(on,25)^gI(on,14)^on>>>3)|0)|0)+(gI(hn,15)^gI(hn,13)^hn>>>10)|0,nn[In+96>>2]=pn,Zn=((cn+Nn|0)+(gI(Zn,25)^gI(Zn,14)^Zn>>>3)|0)+(gI(An,15)^gI(An,13)^An>>>10)|0,nn[In+92>>2]=Zn,bn=(bn+(un+(gI(rn,25)^gI(rn,14)^rn>>>3)|0)|0)+(gI(pn,15)^gI(pn,13)^pn>>>10)|0,nn[In+104>>2]=bn,on=(mn+(on+(gI(un,25)^gI(un,14)^un>>>3)|0)|0)+(gI(Zn,15)^gI(Zn,13)^Zn>>>10)|0,nn[In+100>>2]=on,un=(An+(sn+(gI(Gn,25)^gI(Gn,14)^Gn>>>3)|0)|0)+(gI(bn,15)^gI(bn,13)^bn>>>10)|0,nn[In+112>>2]=un,on=(Wn+(rn+(gI(sn,25)^gI(sn,14)^sn>>>3)|0)|0)+(gI(on,15)^gI(on,13)^on>>>10)|0,nn[In+108>>2]=on,Qn=In,fn=(Zn+(Pt+(gI(dn,25)^gI(dn,14)^dn>>>3)|0)|0)+(gI(un,15)^gI(un,13)^un>>>10)|0,nn[Qn+120>>2]=fn,Pt=(hn+(Gn+(gI(Pt,25)^gI(Pt,14)^Pt>>>3)|0)|0)+(gI(on,15)^gI(on,13)^on>>>10)|0,nn[In+116>>2]=Pt,Qn=In,fn=(pn+(dn+(gI(cn,25)^gI(cn,14)^cn>>>3)|0)|0)+(gI(Pt,15)^gI(Pt,13)^Pt>>>10)|0,nn[Qn+124>>2]=fn;nn[Wt>>2]=cn+nn[Wt>>2],nn[Wt+4>>2]=nn[Wt+4>>2]+nn[tn+4>>2],nn[Wt+8>>2]=nn[Wt+8>>2]+nn[tn+8>>2],nn[Wt+12>>2]=nn[Wt+12>>2]+nn[tn+12>>2],nn[Wt+16>>2]=nn[Wt+16>>2]+nn[tn+16>>2],nn[Wt+20>>2]=nn[Wt+20>>2]+nn[tn+20>>2],nn[Wt+24>>2]=nn[Wt+24>>2]+nn[tn+24>>2],nn[Wt+28>>2]=nn[Wt+28>>2]+nn[tn+28>>2]}function H(Wt,Pt,en){var In,rn,sn,on,cn,dn,un,pn,bn,Gn,hn,Zn,An,Wn,Nn,gn,yn,vn,Yn,En,Vn,Rn,wn,Fn=0,Qn=0,fn=0,Hn=0,Cn=0,Xn=0,kn=0,Jn=0;mn=In=mn-288|0,un=an[en+16|0]|an[en+17|0]<<8|an[en+18|0]<<16|an[en+19|0]<<24,pn=an[en+48|0]|an[en+49|0]<<8|an[en+50|0]<<16|an[en+51|0]<<24,bn=an[en+20|0]|an[en+21|0]<<8|an[en+22|0]<<16|an[en+23|0]<<24,Gn=an[Pt+4|0]|an[Pt+5|0]<<8|an[Pt+6|0]<<16|an[Pt+7|0]<<24,hn=an[en+52|0]|an[en+53|0]<<8|an[en+54|0]<<16|an[en+55|0]<<24,Zn=an[en+24|0]|an[en+25|0]<<8|an[en+26|0]<<16|an[en+27|0]<<24,An=an[Pt+8|0]|an[Pt+9|0]<<8|an[Pt+10|0]<<16|an[Pt+11|0]<<24,Wn=an[en+56|0]|an[en+57|0]<<8|an[en+58|0]<<16|an[en+59|0]<<24,Cn=an[en+28|0]|an[en+29|0]<<8|an[en+30|0]<<16|an[en+31|0]<<24,Nn=an[Pt+12|0]|an[Pt+13|0]<<8|an[Pt+14|0]<<16|an[Pt+15|0]<<24,gn=an[en+60|0]|an[en+61|0]<<8|an[en+62|0]<<16|an[en+63|0]<<24,Qn=an[en+32|0]|an[en+33|0]<<8|an[en+34|0]<<16|an[en+35|0]<<24,Xn=an[en+80|0]|an[en+81|0]<<8|an[en+82|0]<<16|an[en+83|0]<<24,yn=an[Pt+16|0]|an[Pt+17|0]<<8|an[Pt+18|0]<<16|an[Pt+19|0]<<24,vn=an[en+112|0]|an[en+113|0]<<8|an[en+114|0]<<16|an[en+115|0]<<24,Fn=an[en+96|0]|an[en+97|0]<<8|an[en+98|0]<<16|an[en+99|0]<<24,fn=an[en+36|0]|an[en+37|0]<<8|an[en+38|0]<<16|an[en+39|0]<<24,kn=an[en+84|0]|an[en+85|0]<<8|an[en+86|0]<<16|an[en+87|0]<<24,Yn=an[Pt+20|0]|an[Pt+21|0]<<8|an[Pt+22|0]<<16|an[Pt+23|0]<<24,En=an[en+116|0]|an[en+117|0]<<8|an[en+118|0]<<16|an[en+119|0]<<24,sn=an[en+100|0]|an[en+101|0]<<8|an[en+102|0]<<16|an[en+103|0]<<24,Hn=an[en+40|0]|an[en+41|0]<<8|an[en+42|0]<<16|an[en+43|0]<<24,Jn=an[en+88|0]|an[en+89|0]<<8|an[en+90|0]<<16|an[en+91|0]<<24,Vn=an[Pt+24|0]|an[Pt+25|0]<<8|an[Pt+26|0]<<16|an[Pt+27|0]<<24,Rn=an[en+120|0]|an[en+121|0]<<8|an[en+122|0]<<16|an[en+123|0]<<24,on=an[en+104|0]|an[en+105|0]<<8|an[en+106|0]<<16|an[en+107|0]<<24,wn=an[0|Pt]|an[Pt+1|0]<<8|an[Pt+2|0]<<16|an[Pt+3|0]<<24,rn=(cn=an[en+44|0]|an[en+45|0]<<8|an[en+46|0]<<16|an[en+47|0]<<24)^(dn=an[en+108|0]|an[en+109|0]<<8|an[en+110|0]<<16|an[en+111|0]<<24)&(an[en+124|0]|an[en+125|0]<<8|an[en+126|0]<<16|an[en+127|0]<<24)^(an[en+92|0]|an[en+93|0]<<8|an[en+94|0]<<16|an[en+95|0]<<24)^(an[Pt+28|0]|an[Pt+29|0]<<8|an[Pt+30|0]<<16|an[Pt+31|0]<<24),tn[Wt+28|0]=rn,tn[Wt+29|0]=rn>>>8,tn[Wt+30|0]=rn>>>16,tn[Wt+31|0]=rn>>>24,Jn=Hn^on&Rn^Jn^Vn,tn[Wt+24|0]=Jn,tn[Wt+25|0]=Jn>>>8,tn[Wt+26|0]=Jn>>>16,tn[Wt+27|0]=Jn>>>24,kn=fn^sn&En^kn^Yn,tn[Wt+20|0]=kn,tn[Wt+21|0]=kn>>>8,tn[Wt+22|0]=kn>>>16,tn[Wt+23|0]=kn>>>24,Xn=Qn^Fn&vn^Xn^yn,tn[Wt+16|0]=Xn,tn[Wt+17|0]=Xn>>>8,tn[Wt+18|0]=Xn>>>16,tn[Wt+19|0]=Xn>>>24,Cn=gn&cn^Cn^Nn^dn,tn[Wt+12|0]=Cn,tn[Wt+13|0]=Cn>>>8,tn[Wt+14|0]=Cn>>>16,tn[Wt+15|0]=Cn>>>24,Hn=Hn&Wn^Zn^An^on,tn[Wt+8|0]=Hn,tn[Wt+9|0]=Hn>>>8,tn[Wt+10|0]=Hn>>>16,tn[Wt+11|0]=Hn>>>24,fn=fn&hn^bn^Gn^sn,tn[Wt+4|0]=fn,tn[Wt+5|0]=fn>>>8,tn[Wt+6|0]=fn>>>16,tn[Wt+7|0]=fn>>>24,Qn=Fn^Qn&pn^un^wn,tn[0|Wt]=Qn,tn[Wt+1|0]=Qn>>>8,tn[Wt+2|0]=Qn>>>16,tn[Wt+3|0]=Qn>>>24,Wt=nn[en+124>>2],nn[In+280>>2]=nn[en+120>>2],nn[In+284>>2]=Wt,Wt=nn[en+116>>2],nn[In+272>>2]=nn[en+112>>2],nn[In+276>>2]=Wt,Wt=nn[en+108>>2],nn[In+248>>2]=nn[en+104>>2],nn[In+252>>2]=Wt,Wt=nn[en+100>>2],nn[In+240>>2]=nn[en+96>>2],nn[In+244>>2]=Wt,Wt=nn[en+124>>2],nn[In+232>>2]=nn[en+120>>2],nn[In+236>>2]=Wt,Wt=nn[en+116>>2],nn[In+224>>2]=nn[en+112>>2],nn[In+228>>2]=Wt,aA(Pt=In+256|0,In+240|0,In+224|0),Wt=nn[In+268>>2],nn[en+120>>2]=nn[In+264>>2],nn[en+124>>2]=Wt,Wt=nn[In+260>>2],nn[en+112>>2]=nn[In+256>>2],nn[en+116>>2]=Wt,Wt=nn[en+92>>2],nn[In+216>>2]=nn[en+88>>2],nn[In+220>>2]=Wt,Wt=nn[en+84>>2],nn[In+208>>2]=nn[en+80>>2],nn[In+212>>2]=Wt,Wt=nn[en+108>>2],nn[In+200>>2]=nn[en+104>>2],nn[In+204>>2]=Wt,Wt=nn[en+100>>2],nn[In+192>>2]=nn[en+96>>2],nn[In+196>>2]=Wt,aA(Pt,In+208|0,In+192|0),Wt=nn[In+268>>2],nn[en+104>>2]=nn[In+264>>2],nn[en+108>>2]=Wt,Wt=nn[In+260>>2],nn[en+96>>2]=nn[In+256>>2],nn[en+100>>2]=Wt,Wt=nn[en+76>>2],nn[In+184>>2]=nn[en+72>>2],nn[In+188>>2]=Wt,Fn=nn[4+(Wt=en- -64|0)>>2],nn[In+176>>2]=nn[Wt>>2],nn[In+180>>2]=Fn,Fn=nn[en+92>>2],nn[In+168>>2]=nn[en+88>>2],nn[In+172>>2]=Fn,Fn=nn[en+84>>2],nn[In+160>>2]=nn[en+80>>2],nn[In+164>>2]=Fn,aA(Pt,In+176|0,In+160|0),Fn=nn[In+268>>2],nn[en+88>>2]=nn[In+264>>2],nn[en+92>>2]=Fn,Fn=nn[In+260>>2],nn[en+80>>2]=nn[In+256>>2],nn[en+84>>2]=Fn,Fn=nn[en+60>>2],nn[In+152>>2]=nn[en+56>>2],nn[In+156>>2]=Fn,Fn=nn[en+52>>2],nn[In+144>>2]=nn[en+48>>2],nn[In+148>>2]=Fn,Fn=nn[en+76>>2],nn[In+136>>2]=nn[en+72>>2],nn[In+140>>2]=Fn,Fn=nn[Wt+4>>2],nn[In+128>>2]=nn[Wt>>2],nn[In+132>>2]=Fn,aA(Pt,In+144|0,In+128|0),Fn=nn[In+268>>2],nn[en+72>>2]=nn[In+264>>2],nn[en+76>>2]=Fn,Fn=nn[In+260>>2],nn[Wt>>2]=nn[In+256>>2],nn[Wt+4>>2]=Fn,Fn=nn[en+44>>2],nn[In+120>>2]=nn[en+40>>2],nn[In+124>>2]=Fn,Fn=nn[en+36>>2],nn[In+112>>2]=nn[en+32>>2],nn[In+116>>2]=Fn,Fn=nn[en+60>>2],nn[In+104>>2]=nn[en+56>>2],nn[In+108>>2]=Fn,Fn=nn[en+52>>2],nn[In+96>>2]=nn[en+48>>2],nn[In+100>>2]=Fn,aA(Pt,In+112|0,In+96|0),Fn=nn[In+268>>2],nn[en+56>>2]=nn[In+264>>2],nn[en+60>>2]=Fn,Fn=nn[In+260>>2],nn[en+48>>2]=nn[In+256>>2],nn[en+52>>2]=Fn,Fn=nn[en+28>>2],nn[In+88>>2]=nn[en+24>>2],nn[In+92>>2]=Fn,Fn=nn[en+20>>2],nn[In+80>>2]=nn[en+16>>2],nn[In+84>>2]=Fn,Fn=nn[en+44>>2],nn[In+72>>2]=nn[en+40>>2],nn[In+76>>2]=Fn,Fn=nn[en+36>>2],nn[In+64>>2]=nn[en+32>>2],nn[In+68>>2]=Fn,aA(Pt,In+80|0,In- -64|0),Fn=nn[In+268>>2],nn[en+40>>2]=nn[In+264>>2],nn[en+44>>2]=Fn,Fn=nn[In+260>>2],nn[en+32>>2]=nn[In+256>>2],nn[en+36>>2]=Fn,Fn=nn[en+12>>2],nn[In+56>>2]=nn[en+8>>2],nn[In+60>>2]=Fn,Fn=nn[en+4>>2],nn[In+48>>2]=nn[en>>2],nn[In+52>>2]=Fn,Fn=nn[en+28>>2],nn[In+40>>2]=nn[en+24>>2],nn[In+44>>2]=Fn,Fn=nn[en+20>>2],nn[In+32>>2]=nn[en+16>>2],nn[In+36>>2]=Fn,aA(Pt,In+48|0,In+32|0),Fn=nn[In+268>>2],nn[en+24>>2]=nn[In+264>>2],nn[en+28>>2]=Fn,Fn=nn[In+260>>2],nn[en+16>>2]=nn[In+256>>2],nn[en+20>>2]=Fn,Fn=nn[In+284>>2],nn[In+24>>2]=nn[In+280>>2],nn[In+28>>2]=Fn,Fn=nn[In+276>>2],nn[In+16>>2]=nn[In+272>>2],nn[In+20>>2]=Fn,Fn=nn[en+12>>2],nn[In+8>>2]=nn[en+8>>2],nn[In+12>>2]=Fn,Fn=nn[en+4>>2],nn[In>>2]=nn[en>>2],nn[In+4>>2]=Fn,aA(Pt,In+16|0,In),Pt=nn[In+268>>2],nn[en+8>>2]=nn[In+264>>2],nn[en+12>>2]=Pt,Pt=nn[In+260>>2],nn[en>>2]=nn[In+256>>2],nn[en+4>>2]=Pt,nn[en+12>>2]=Cn^(an[en+12|0]|an[en+13|0]<<8|an[en+14|0]<<16|an[en+15|0]<<24),nn[en+8>>2]=Hn^(an[en+8|0]|an[en+9|0]<<8|an[en+10|0]<<16|an[en+11|0]<<24),nn[en+4>>2]=fn^(an[en+4|0]|an[en+5|0]<<8|an[en+6|0]<<16|an[en+7|0]<<24),nn[en>>2]=Qn^(an[0|en]|an[en+1|0]<<8|an[en+2|0]<<16|an[en+3|0]<<24),nn[Wt>>2]=Xn^(an[0|Wt]|an[Wt+1|0]<<8|an[Wt+2|0]<<16|an[Wt+3|0]<<24),nn[en+68>>2]=kn^(an[en+68|0]|an[en+69|0]<<8|an[en+70|0]<<16|an[en+71|0]<<24),nn[en+72>>2]=Jn^(an[en+72|0]|an[en+73|0]<<8|an[en+74|0]<<16|an[en+75|0]<<24),nn[en+76>>2]=rn^(an[en+76|0]|an[en+77|0]<<8|an[en+78|0]<<16|an[en+79|0]<<24),mn=In+288|0}function G(Wt,Pt,en){var In,rn,sn,on,cn,dn,un,pn,bn,Gn,hn,Zn,An,Wn,Nn,gn,yn,vn,Yn,En,Vn,Rn,wn,Fn,Qn,fn,Hn,Cn,Xn,kn,Jn=0;mn=In=mn-288|0,yn=an[en+16|0]|an[en+17|0]<<8|an[en+18|0]<<16|an[en+19|0]<<24,vn=an[en+48|0]|an[en+49|0]<<8|an[en+50|0]<<16|an[en+51|0]<<24,rn=an[Pt+4|0]|an[Pt+5|0]<<8|an[Pt+6|0]<<16|an[Pt+7|0]<<24,Yn=an[en+20|0]|an[en+21|0]<<8|an[en+22|0]<<16|an[en+23|0]<<24,En=an[en+52|0]|an[en+53|0]<<8|an[en+54|0]<<16|an[en+55|0]<<24,sn=an[Pt+8|0]|an[Pt+9|0]<<8|an[Pt+10|0]<<16|an[Pt+11|0]<<24,Vn=an[en+24|0]|an[en+25|0]<<8|an[en+26|0]<<16|an[en+27|0]<<24,Rn=an[en+56|0]|an[en+57|0]<<8|an[en+58|0]<<16|an[en+59|0]<<24,on=an[Pt+12|0]|an[Pt+13|0]<<8|an[Pt+14|0]<<16|an[Pt+15|0]<<24,wn=an[en+28|0]|an[en+29|0]<<8|an[en+30|0]<<16|an[en+31|0]<<24,Fn=an[en+60|0]|an[en+61|0]<<8|an[en+62|0]<<16|an[en+63|0]<<24,Jn=an[en+32|0]|an[en+33|0]<<8|an[en+34|0]<<16|an[en+35|0]<<24,cn=an[Pt+16|0]|an[Pt+17|0]<<8|an[Pt+18|0]<<16|an[Pt+19|0]<<24,Qn=an[en+80|0]|an[en+81|0]<<8|an[en+82|0]<<16|an[en+83|0]<<24,fn=an[en+112|0]|an[en+113|0]<<8|an[en+114|0]<<16|an[en+115|0]<<24,dn=an[en+96|0]|an[en+97|0]<<8|an[en+98|0]<<16|an[en+99|0]<<24,un=an[en+36|0]|an[en+37|0]<<8|an[en+38|0]<<16|an[en+39|0]<<24,pn=an[Pt+20|0]|an[Pt+21|0]<<8|an[Pt+22|0]<<16|an[Pt+23|0]<<24,Hn=an[en+84|0]|an[en+85|0]<<8|an[en+86|0]<<16|an[en+87|0]<<24,Cn=an[en+116|0]|an[en+117|0]<<8|an[en+118|0]<<16|an[en+119|0]<<24,bn=an[en+100|0]|an[en+101|0]<<8|an[en+102|0]<<16|an[en+103|0]<<24,Gn=an[en+40|0]|an[en+41|0]<<8|an[en+42|0]<<16|an[en+43|0]<<24,hn=an[Pt+24|0]|an[Pt+25|0]<<8|an[Pt+26|0]<<16|an[Pt+27|0]<<24,Xn=an[en+88|0]|an[en+89|0]<<8|an[en+90|0]<<16|an[en+91|0]<<24,kn=an[en+120|0]|an[en+121|0]<<8|an[en+122|0]<<16|an[en+123|0]<<24,Zn=an[en+104|0]|an[en+105|0]<<8|an[en+106|0]<<16|an[en+107|0]<<24,An=an[0|Pt]|an[Pt+1|0]<<8|an[Pt+2|0]<<16|an[Pt+3|0]<<24,Pt=(Wn=an[en+44|0]|an[en+45|0]<<8|an[en+46|0]<<16|an[en+47|0]<<24)^(Nn=an[Pt+28|0]|an[Pt+29|0]<<8|an[Pt+30|0]<<16|an[Pt+31|0]<<24)^(gn=an[en+108|0]|an[en+109|0]<<8|an[en+110|0]<<16|an[en+111|0]<<24)&(an[en+124|0]|an[en+125|0]<<8|an[en+126|0]<<16|an[en+127|0]<<24)^(an[en+92|0]|an[en+93|0]<<8|an[en+94|0]<<16|an[en+95|0]<<24),tn[Wt+28|0]=Pt,tn[Wt+29|0]=Pt>>>8,tn[Wt+30|0]=Pt>>>16,tn[Wt+31|0]=Pt>>>24,Pt=Zn&kn^Xn^hn^Gn,tn[Wt+24|0]=Pt,tn[Wt+25|0]=Pt>>>8,tn[Wt+26|0]=Pt>>>16,tn[Wt+27|0]=Pt>>>24,Pt=bn&Cn^Hn^pn^un,tn[Wt+20|0]=Pt,tn[Wt+21|0]=Pt>>>8,tn[Wt+22|0]=Pt>>>16,tn[Wt+23|0]=Pt>>>24,Pt=Jn^dn&fn^Qn^cn,tn[Wt+16|0]=Pt,tn[Wt+17|0]=Pt>>>8,tn[Wt+18|0]=Pt>>>16,tn[Wt+19|0]=Pt>>>24,Pt=Fn&Wn^wn^on^gn,tn[Wt+12|0]=Pt,tn[Wt+13|0]=Pt>>>8,tn[Wt+14|0]=Pt>>>16,tn[Wt+15|0]=Pt>>>24,Pt=Gn&Rn^Vn^sn^Zn,tn[Wt+8|0]=Pt,tn[Wt+9|0]=Pt>>>8,tn[Wt+10|0]=Pt>>>16,tn[Wt+11|0]=Pt>>>24,Pt=un&En^Yn^rn^bn,tn[Wt+4|0]=Pt,tn[Wt+5|0]=Pt>>>8,tn[Wt+6|0]=Pt>>>16,tn[Wt+7|0]=Pt>>>24,Pt=Jn&vn^yn^An^dn,tn[0|Wt]=Pt,tn[Wt+1|0]=Pt>>>8,tn[Wt+2|0]=Pt>>>16,tn[Wt+3|0]=Pt>>>24,Wt=nn[en+124>>2],nn[In+280>>2]=nn[en+120>>2],nn[In+284>>2]=Wt,Wt=nn[en+116>>2],nn[In+272>>2]=nn[en+112>>2],nn[In+276>>2]=Wt,Wt=nn[en+108>>2],nn[In+248>>2]=nn[en+104>>2],nn[In+252>>2]=Wt,Wt=nn[en+100>>2],nn[In+240>>2]=nn[en+96>>2],nn[In+244>>2]=Wt,Wt=nn[en+124>>2],nn[In+232>>2]=nn[en+120>>2],nn[In+236>>2]=Wt,Wt=nn[en+116>>2],nn[In+224>>2]=nn[en+112>>2],nn[In+228>>2]=Wt,aA(Pt=In+256|0,In+240|0,In+224|0),Wt=nn[In+268>>2],nn[en+120>>2]=nn[In+264>>2],nn[en+124>>2]=Wt,Wt=nn[In+260>>2],nn[en+112>>2]=nn[In+256>>2],nn[en+116>>2]=Wt,Wt=nn[en+92>>2],nn[In+216>>2]=nn[en+88>>2],nn[In+220>>2]=Wt,Wt=nn[en+84>>2],nn[In+208>>2]=nn[en+80>>2],nn[In+212>>2]=Wt,Wt=nn[en+108>>2],nn[In+200>>2]=nn[en+104>>2],nn[In+204>>2]=Wt,Wt=nn[en+100>>2],nn[In+192>>2]=nn[en+96>>2],nn[In+196>>2]=Wt,aA(Pt,In+208|0,In+192|0),Wt=nn[In+268>>2],nn[en+104>>2]=nn[In+264>>2],nn[en+108>>2]=Wt,Wt=nn[In+260>>2],nn[en+96>>2]=nn[In+256>>2],nn[en+100>>2]=Wt,Wt=nn[en+76>>2],nn[In+184>>2]=nn[en+72>>2],nn[In+188>>2]=Wt,Jn=nn[4+(Wt=en- -64|0)>>2],nn[In+176>>2]=nn[Wt>>2],nn[In+180>>2]=Jn,Jn=nn[en+92>>2],nn[In+168>>2]=nn[en+88>>2],nn[In+172>>2]=Jn,Jn=nn[en+84>>2],nn[In+160>>2]=nn[en+80>>2],nn[In+164>>2]=Jn,aA(Pt,In+176|0,In+160|0),Jn=nn[In+268>>2],nn[en+88>>2]=nn[In+264>>2],nn[en+92>>2]=Jn,Jn=nn[In+260>>2],nn[en+80>>2]=nn[In+256>>2],nn[en+84>>2]=Jn,Jn=nn[en+60>>2],nn[In+152>>2]=nn[en+56>>2],nn[In+156>>2]=Jn,Jn=nn[en+52>>2],nn[In+144>>2]=nn[en+48>>2],nn[In+148>>2]=Jn,Jn=nn[en+76>>2],nn[In+136>>2]=nn[en+72>>2],nn[In+140>>2]=Jn,Jn=nn[Wt+4>>2],nn[In+128>>2]=nn[Wt>>2],nn[In+132>>2]=Jn,aA(Pt,In+144|0,In+128|0),Jn=nn[In+268>>2],nn[en+72>>2]=nn[In+264>>2],nn[en+76>>2]=Jn,Jn=nn[In+260>>2],nn[Wt>>2]=nn[In+256>>2],nn[Wt+4>>2]=Jn,Jn=nn[en+44>>2],nn[In+120>>2]=nn[en+40>>2],nn[In+124>>2]=Jn,Jn=nn[en+36>>2],nn[In+112>>2]=nn[en+32>>2],nn[In+116>>2]=Jn,Jn=nn[en+60>>2],nn[In+104>>2]=nn[en+56>>2],nn[In+108>>2]=Jn,Jn=nn[en+52>>2],nn[In+96>>2]=nn[en+48>>2],nn[In+100>>2]=Jn,aA(Pt,In+112|0,In+96|0),Jn=nn[In+268>>2],nn[en+56>>2]=nn[In+264>>2],nn[en+60>>2]=Jn,Jn=nn[In+260>>2],nn[en+48>>2]=nn[In+256>>2],nn[en+52>>2]=Jn,Jn=nn[en+28>>2],nn[In+88>>2]=nn[en+24>>2],nn[In+92>>2]=Jn,Jn=nn[en+20>>2],nn[In+80>>2]=nn[en+16>>2],nn[In+84>>2]=Jn,Jn=nn[en+44>>2],nn[In+72>>2]=nn[en+40>>2],nn[In+76>>2]=Jn,Jn=nn[en+36>>2],nn[In+64>>2]=nn[en+32>>2],nn[In+68>>2]=Jn,aA(Pt,In+80|0,In- -64|0),Jn=nn[In+268>>2],nn[en+40>>2]=nn[In+264>>2],nn[en+44>>2]=Jn,Jn=nn[In+260>>2],nn[en+32>>2]=nn[In+256>>2],nn[en+36>>2]=Jn,Jn=nn[en+12>>2],nn[In+56>>2]=nn[en+8>>2],nn[In+60>>2]=Jn,Jn=nn[en+4>>2],nn[In+48>>2]=nn[en>>2],nn[In+52>>2]=Jn,Jn=nn[en+28>>2],nn[In+40>>2]=nn[en+24>>2],nn[In+44>>2]=Jn,Jn=nn[en+20>>2],nn[In+32>>2]=nn[en+16>>2],nn[In+36>>2]=Jn,aA(Pt,In+48|0,In+32|0),Jn=nn[In+268>>2],nn[en+24>>2]=nn[In+264>>2],nn[en+28>>2]=Jn,Jn=nn[In+260>>2],nn[en+16>>2]=nn[In+256>>2],nn[en+20>>2]=Jn,Jn=nn[In+284>>2],nn[In+24>>2]=nn[In+280>>2],nn[In+28>>2]=Jn,Jn=nn[In+276>>2],nn[In+16>>2]=nn[In+272>>2],nn[In+20>>2]=Jn,Jn=nn[en+12>>2],nn[In+8>>2]=nn[en+8>>2],nn[In+12>>2]=Jn,Jn=nn[en+4>>2],nn[In>>2]=nn[en>>2],nn[In+4>>2]=Jn,aA(Pt,In+16|0,In),Pt=nn[In+268>>2],nn[en+8>>2]=nn[In+264>>2],nn[en+12>>2]=Pt,Pt=nn[In+260>>2],nn[en>>2]=nn[In+256>>2],nn[en+4>>2]=Pt,nn[en+12>>2]=(an[en+12|0]|an[en+13|0]<<8|an[en+14|0]<<16|an[en+15|0]<<24)^on,nn[en+8>>2]=(an[en+8|0]|an[en+9|0]<<8|an[en+10|0]<<16|an[en+11|0]<<24)^sn,nn[en+4>>2]=(an[en+4|0]|an[en+5|0]<<8|an[en+6|0]<<16|an[en+7|0]<<24)^rn,nn[en>>2]=(an[0|en]|an[en+1|0]<<8|an[en+2|0]<<16|an[en+3|0]<<24)^An,nn[Wt>>2]=(an[0|Wt]|an[Wt+1|0]<<8|an[Wt+2|0]<<16|an[Wt+3|0]<<24)^cn,nn[en+68>>2]=(an[en+68|0]|an[en+69|0]<<8|an[en+70|0]<<16|an[en+71|0]<<24)^pn,nn[en+72>>2]=(an[en+72|0]|an[en+73|0]<<8|an[en+74|0]<<16|an[en+75|0]<<24)^hn,nn[en+76>>2]=Nn^(an[en+76|0]|an[en+77|0]<<8|an[en+78|0]<<16|an[en+79|0]<<24),mn=In+288|0}function J(Wt,Pt,en,In,rn){var sn,on=0,cn=0,dn=0,un=0,pn=0,bn=0,Gn=0,hn=0,Zn=0,An=0,Wn=0,Nn=0,gn=0,yn=0,vn=0,Yn=0;for(mn=sn=mn-224|0,An=(an[rn+60|0]|an[rn+61|0]<<8|an[rn+62|0]<<16|an[rn+63|0]<<24)^In>>>29,Wn=(an[rn+56|0]|an[rn+57|0]<<8|an[rn+58|0]<<16|an[rn+59|0]<<24)^In<<3,bn=(an[rn+52|0]|an[rn+53|0]<<8|an[rn+54|0]<<16|an[rn+55|0]<<24)^en>>>29,hn=(an[0|(on=rn+48|0)]|an[on+1|0]<<8|an[on+2|0]<<16|an[on+3|0]<<24)^en<<3,cn=rn+16|0,dn=rn+32|0,un=rn- -64|0,pn=rn+80|0;en=nn[pn+12>>2],nn[sn+216>>2]=nn[pn+8>>2],nn[sn+220>>2]=en,en=nn[pn+4>>2],nn[sn+208>>2]=nn[pn>>2],nn[sn+212>>2]=en,en=nn[un+12>>2],nn[sn+184>>2]=nn[un+8>>2],nn[sn+188>>2]=en,en=nn[un+4>>2],nn[sn+176>>2]=nn[un>>2],nn[sn+180>>2]=en,en=nn[pn+12>>2],nn[sn+168>>2]=nn[pn+8>>2],nn[sn+172>>2]=en,en=nn[pn+4>>2],nn[sn+160>>2]=nn[pn>>2],nn[sn+164>>2]=en,aA(In=sn+192|0,sn+176|0,sn+160|0),en=nn[sn+204>>2],nn[pn+8>>2]=nn[sn+200>>2],nn[pn+12>>2]=en,en=nn[sn+196>>2],nn[pn>>2]=nn[sn+192>>2],nn[pn+4>>2]=en,en=nn[on+12>>2],nn[sn+152>>2]=nn[on+8>>2],nn[sn+156>>2]=en,en=nn[on+4>>2],nn[sn+144>>2]=nn[on>>2],nn[sn+148>>2]=en,en=nn[un+12>>2],nn[sn+136>>2]=nn[un+8>>2],nn[sn+140>>2]=en,en=nn[un+4>>2],nn[sn+128>>2]=nn[un>>2],nn[sn+132>>2]=en,aA(In,sn+144|0,sn+128|0),en=nn[sn+204>>2],nn[un+8>>2]=nn[sn+200>>2],nn[un+12>>2]=en,en=nn[sn+196>>2],nn[un>>2]=nn[sn+192>>2],nn[un+4>>2]=en,en=nn[dn+12>>2],nn[sn+120>>2]=nn[dn+8>>2],nn[sn+124>>2]=en,en=nn[dn+4>>2],nn[sn+112>>2]=nn[dn>>2],nn[sn+116>>2]=en,en=nn[on+12>>2],nn[sn+104>>2]=nn[on+8>>2],nn[sn+108>>2]=en,en=nn[on+4>>2],nn[sn+96>>2]=nn[on>>2],nn[sn+100>>2]=en,aA(In,sn+112|0,sn+96|0),en=nn[sn+204>>2],nn[on+8>>2]=nn[sn+200>>2],nn[on+12>>2]=en,en=nn[sn+196>>2],nn[on>>2]=nn[sn+192>>2],nn[on+4>>2]=en,en=nn[cn+12>>2],nn[sn+88>>2]=nn[cn+8>>2],nn[sn+92>>2]=en,en=nn[cn+4>>2],nn[sn+80>>2]=nn[cn>>2],nn[sn+84>>2]=en,en=nn[dn+12>>2],nn[sn+72>>2]=nn[dn+8>>2],nn[sn+76>>2]=en,en=nn[dn+4>>2],nn[sn+64>>2]=nn[dn>>2],nn[sn+68>>2]=en,aA(In,sn+80|0,sn- -64|0),en=nn[sn+204>>2],nn[dn+8>>2]=nn[sn+200>>2],nn[dn+12>>2]=en,en=nn[sn+196>>2],nn[dn>>2]=nn[sn+192>>2],nn[dn+4>>2]=en,en=nn[rn+12>>2],nn[sn+56>>2]=nn[rn+8>>2],nn[sn+60>>2]=en,en=nn[rn+4>>2],nn[sn+48>>2]=nn[rn>>2],nn[sn+52>>2]=en,en=nn[cn+12>>2],nn[sn+40>>2]=nn[cn+8>>2],nn[sn+44>>2]=en,en=nn[cn+4>>2],nn[sn+32>>2]=nn[cn>>2],nn[sn+36>>2]=en,aA(In,sn+48|0,sn+32|0),en=nn[sn+204>>2],nn[cn+8>>2]=nn[sn+200>>2],nn[cn+12>>2]=en,en=nn[sn+196>>2],nn[cn>>2]=nn[sn+192>>2],nn[cn+4>>2]=en,en=nn[sn+220>>2],nn[sn+24>>2]=nn[sn+216>>2],nn[sn+28>>2]=en,en=nn[sn+212>>2],nn[sn+16>>2]=nn[sn+208>>2],nn[sn+20>>2]=en,en=nn[rn+12>>2],nn[sn+8>>2]=nn[rn+8>>2],nn[sn+12>>2]=en,en=nn[rn+4>>2],nn[sn>>2]=nn[rn>>2],nn[sn+4>>2]=en,aA(In,sn+16|0,sn),Zn=nn[sn+192>>2],In=nn[sn+196>>2],en=nn[sn+200>>2],Nn=An^nn[sn+204>>2],nn[rn+12>>2]=Nn,gn=en^Wn,nn[rn+8>>2]=gn,yn=In^bn,nn[rn+4>>2]=yn,vn=hn^Zn,nn[rn>>2]=vn,7!=(0|(Gn=Gn+1|0)););e:{t:{n:{if(en=Pt-16|0){if(16==(0|en))break n;break t}Yn=an[rn+16|0]|an[rn+17|0]<<8|an[rn+18|0]<<16|an[rn+19|0]<<24,on=an[rn+48|0]|an[rn+49|0]<<8|an[rn+50|0]<<16|an[rn+51|0]<<24,cn=an[rn+32|0]|an[rn+33|0]<<8|an[rn+34|0]<<16|an[rn+35|0]<<24,dn=an[rn+80|0]|an[rn+81|0]<<8|an[rn+82|0]<<16|an[rn+83|0]<<24,un=an[0|(Pt=rn- -64|0)]|an[Pt+1|0]<<8|an[Pt+2|0]<<16|an[Pt+3|0]<<24,pn=an[rn+20|0]|an[rn+21|0]<<8|an[rn+22|0]<<16|an[rn+23|0]<<24,An=an[rn+52|0]|an[rn+53|0]<<8|an[rn+54|0]<<16|an[rn+55|0]<<24,Wn=an[rn+36|0]|an[rn+37|0]<<8|an[rn+38|0]<<16|an[rn+39|0]<<24,bn=an[rn+84|0]|an[rn+85|0]<<8|an[rn+86|0]<<16|an[rn+87|0]<<24,hn=an[rn+68|0]|an[rn+69|0]<<8|an[rn+70|0]<<16|an[rn+71|0]<<24,Zn=an[rn+24|0]|an[rn+25|0]<<8|an[rn+26|0]<<16|an[rn+27|0]<<24,Gn=an[rn+56|0]|an[rn+57|0]<<8|an[rn+58|0]<<16|an[rn+59|0]<<24,In=an[rn+40|0]|an[rn+41|0]<<8|an[rn+42|0]<<16|an[rn+43|0]<<24,en=an[rn+88|0]|an[rn+89|0]<<8|an[rn+90|0]<<16|an[rn+91|0]<<24,Pt=an[rn+72|0]|an[rn+73|0]<<8|an[rn+74|0]<<16|an[rn+75|0]<<24,rn=Nn^(an[rn+28|0]|an[rn+29|0]<<8|an[rn+30|0]<<16|an[rn+31|0]<<24)^(an[rn+60|0]|an[rn+61|0]<<8|an[rn+62|0]<<16|an[rn+63|0]<<24)^(an[rn+44|0]|an[rn+45|0]<<8|an[rn+46|0]<<16|an[rn+47|0]<<24)^(an[rn+92|0]|an[rn+93|0]<<8|an[rn+94|0]<<16|an[rn+95|0]<<24)^(an[rn+76|0]|an[rn+77|0]<<8|an[rn+78|0]<<16|an[rn+79|0]<<24),tn[Wt+12|0]=rn,tn[Wt+13|0]=rn>>>8,tn[Wt+14|0]=rn>>>16,tn[Wt+15|0]=rn>>>24,Pt=gn^Zn^Pt^en^In^Gn,tn[Wt+8|0]=Pt,tn[Wt+9|0]=Pt>>>8,tn[Wt+10|0]=Pt>>>16,tn[Wt+11|0]=Pt>>>24,Pt=yn^pn^An^Wn^bn^hn,tn[Wt+4|0]=Pt,tn[Wt+5|0]=Pt>>>8,tn[Wt+6|0]=Pt>>>16,tn[Wt+7|0]=Pt>>>24,Pt=vn^Yn^on^cn^dn^un,tn[0|Wt]=Pt,tn[Wt+1|0]=Pt>>>8,tn[Wt+2|0]=Pt>>>16,tn[Wt+3|0]=Pt>>>24;break e}hn=an[rn+32|0]|an[rn+33|0]<<8|an[rn+34|0]<<16|an[rn+35|0]<<24,Zn=an[rn+16|0]|an[rn+17|0]<<8|an[rn+18|0]<<16|an[rn+19|0]<<24,Gn=an[rn+36|0]|an[rn+37|0]<<8|an[rn+38|0]<<16|an[rn+39|0]<<24,In=an[rn+20|0]|an[rn+21|0]<<8|an[rn+22|0]<<16|an[rn+23|0]<<24,en=an[rn+40|0]|an[rn+41|0]<<8|an[rn+42|0]<<16|an[rn+43|0]<<24,Pt=an[rn+24|0]|an[rn+25|0]<<8|an[rn+26|0]<<16|an[rn+27|0]<<24,bn=Nn^(an[rn+44|0]|an[rn+45|0]<<8|an[rn+46|0]<<16|an[rn+47|0]<<24)^(an[rn+28|0]|an[rn+29|0]<<8|an[rn+30|0]<<16|an[rn+31|0]<<24),tn[Wt+12|0]=bn,tn[Wt+13|0]=bn>>>8,tn[Wt+14|0]=bn>>>16,tn[Wt+15|0]=bn>>>24,Pt=gn^Pt^en,tn[Wt+8|0]=Pt,tn[Wt+9|0]=Pt>>>8,tn[Wt+10|0]=Pt>>>16,tn[Wt+11|0]=Pt>>>24,Pt=yn^In^Gn,tn[Wt+4|0]=Pt,tn[Wt+5|0]=Pt>>>8,tn[Wt+6|0]=Pt>>>16,tn[Wt+7|0]=Pt>>>24,Pt=vn^hn^Zn,tn[0|Wt]=Pt,tn[Wt+1|0]=Pt>>>8,tn[Wt+2|0]=Pt>>>16,tn[Wt+3|0]=Pt>>>24,An=an[rn+48|0]|an[rn+49|0]<<8|an[rn+50|0]<<16|an[rn+51|0]<<24,Wn=an[rn+80|0]|an[rn+81|0]<<8|an[rn+82|0]<<16|an[rn+83|0]<<24,bn=an[0|(Pt=rn- -64|0)]|an[Pt+1|0]<<8|an[Pt+2|0]<<16|an[Pt+3|0]<<24,hn=an[rn+52|0]|an[rn+53|0]<<8|an[rn+54|0]<<16|an[rn+55|0]<<24,Zn=an[rn+84|0]|an[rn+85|0]<<8|an[rn+86|0]<<16|an[rn+87|0]<<24,Gn=an[rn+68|0]|an[rn+69|0]<<8|an[rn+70|0]<<16|an[rn+71|0]<<24,In=an[rn+56|0]|an[rn+57|0]<<8|an[rn+58|0]<<16|an[rn+59|0]<<24,en=an[rn+88|0]|an[rn+89|0]<<8|an[rn+90|0]<<16|an[rn+91|0]<<24,Pt=an[rn+72|0]|an[rn+73|0]<<8|an[rn+74|0]<<16|an[rn+75|0]<<24,rn=(an[rn+60|0]|an[rn+61|0]<<8|an[rn+62|0]<<16|an[rn+63|0]<<24)^(an[rn+92|0]|an[rn+93|0]<<8|an[rn+94|0]<<16|an[rn+95|0]<<24)^(an[rn+76|0]|an[rn+77|0]<<8|an[rn+78|0]<<16|an[rn+79|0]<<24),tn[Wt+28|0]=rn,tn[Wt+29|0]=rn>>>8,tn[Wt+30|0]=rn>>>16,tn[Wt+31|0]=rn>>>24,Pt=In^Pt^en,tn[Wt+24|0]=Pt,tn[Wt+25|0]=Pt>>>8,tn[Wt+26|0]=Pt>>>16,tn[Wt+27|0]=Pt>>>24,Pt=hn^Zn^Gn,tn[Wt+20|0]=Pt,tn[Wt+21|0]=Pt>>>8,tn[Wt+22|0]=Pt>>>16,tn[Wt+23|0]=Pt>>>24,Pt=An^bn^Wn,tn[Wt+16|0]=Pt,tn[Wt+17|0]=Pt>>>8,tn[Wt+18|0]=Pt>>>16,tn[Wt+19|0]=Pt>>>24;break e}VA(Wt,0,Pt)}mn=sn+224|0}function Y(Wt,Pt,en,tn){var In,rn,sn,on,cn,dn,un,pn,bn,Gn,hn,Zn,An,Wn,Nn,gn,yn,vn,Yn,En,Vn,Rn,wn=0,Fn=0,Qn=0,fn=0,Hn=0,Cn=0,Xn=0,kn=0;mn=In=mn-320|0,nn[In+280>>2]=0,nn[In+284>>2]=0,nn[In+272>>2]=0,nn[In+276>>2]=0,nn[In+264>>2]=0,nn[In+268>>2]=0,nn[In+256>>2]=0,nn[In+260>>2]=0,TA(Fn=In+256|0,Pt,en),kn=an[tn+16|0]|an[tn+17|0]<<8|an[tn+18|0]<<16|an[tn+19|0]<<24,wn=an[tn+48|0]|an[tn+49|0]<<8|an[tn+50|0]<<16|an[tn+51|0]<<24,on=an[tn+20|0]|an[tn+21|0]<<8|an[tn+22|0]<<16|an[tn+23|0]<<24,cn=an[tn+52|0]|an[tn+53|0]<<8|an[tn+54|0]<<16|an[tn+55|0]<<24,dn=an[tn+24|0]|an[tn+25|0]<<8|an[tn+26|0]<<16|an[tn+27|0]<<24,un=an[tn+56|0]|an[tn+57|0]<<8|an[tn+58|0]<<16|an[tn+59|0]<<24,pn=an[tn+28|0]|an[tn+29|0]<<8|an[tn+30|0]<<16|an[tn+31|0]<<24,bn=an[tn+60|0]|an[tn+61|0]<<8|an[tn+62|0]<<16|an[tn+63|0]<<24,Pt=an[tn+36|0]|an[tn+37|0]<<8|an[tn+38|0]<<16|an[tn+39|0]<<24,Gn=an[tn+84|0]|an[tn+85|0]<<8|an[tn+86|0]<<16|an[tn+87|0]<<24,hn=an[tn+116|0]|an[tn+117|0]<<8|an[tn+118|0]<<16|an[tn+119|0]<<24,Qn=an[tn+100|0]|an[tn+101|0]<<8|an[tn+102|0]<<16|an[tn+103|0]<<24,fn=an[tn+44|0]|an[tn+45|0]<<8|an[tn+46|0]<<16|an[tn+47|0]<<24,Zn=an[tn+92|0]|an[tn+93|0]<<8|an[tn+94|0]<<16|an[tn+95|0]<<24,An=an[tn+124|0]|an[tn+125|0]<<8|an[tn+126|0]<<16|an[tn+127|0]<<24,Hn=an[tn+108|0]|an[tn+109|0]<<8|an[tn+110|0]<<16|an[tn+111|0]<<24,Cn=an[tn+32|0]|an[tn+33|0]<<8|an[tn+34|0]<<16|an[tn+35|0]<<24,Wn=an[tn+80|0]|an[tn+81|0]<<8|an[tn+82|0]<<16|an[tn+83|0]<<24,Nn=an[tn+112|0]|an[tn+113|0]<<8|an[tn+114|0]<<16|an[tn+115|0]<<24,Xn=an[tn+96|0]|an[tn+97|0]<<8|an[tn+98|0]<<16|an[tn+99|0]<<24,gn=nn[In+272>>2],yn=nn[In+256>>2],vn=nn[In+260>>2],Yn=nn[In+264>>2],En=nn[In+268>>2],Vn=nn[In+276>>2],Rn=nn[In+284>>2],rn=an[tn+40|0]|an[tn+41|0]<<8|an[tn+42|0]<<16|an[tn+43|0]<<24,sn=an[tn+104|0]|an[tn+105|0]<<8|an[tn+106|0]<<16|an[tn+107|0]<<24,nn[In+280>>2]=rn^sn&(an[tn+120|0]|an[tn+121|0]<<8|an[tn+122|0]<<16|an[tn+123|0]<<24)^nn[In+280>>2]^(an[tn+88|0]|an[tn+89|0]<<8|an[tn+90|0]<<16|an[tn+91|0]<<24),nn[In+272>>2]=Cn^Xn&Nn^Wn^gn,nn[In+284>>2]=fn^Hn&An^Zn^Rn,nn[In+276>>2]=Pt^Qn&hn^Gn^Vn,nn[In+268>>2]=Hn^fn&bn^pn^En,nn[In+264>>2]=un&rn^dn^Yn^sn,nn[In+260>>2]=Qn^Pt&cn^on^vn,nn[In+256>>2]=Xn^wn&Cn^kn^yn,VA(en+Fn|0,0,32-en|0),TA(Wt,Fn,en),en=nn[In+280>>2],Fn=nn[In+272>>2],Qn=nn[In+284>>2],fn=nn[In+276>>2],Hn=nn[In+256>>2],Cn=nn[In+260>>2],Xn=nn[In+264>>2],kn=nn[In+268>>2],Wt=nn[tn+124>>2],nn[In+312>>2]=nn[tn+120>>2],nn[In+316>>2]=Wt,Wt=nn[tn+116>>2],nn[In+304>>2]=nn[tn+112>>2],nn[In+308>>2]=Wt,Wt=nn[tn+108>>2],nn[In+248>>2]=nn[tn+104>>2],nn[In+252>>2]=Wt,Wt=nn[tn+100>>2],nn[In+240>>2]=nn[tn+96>>2],nn[In+244>>2]=Wt,Wt=nn[tn+124>>2],nn[In+232>>2]=nn[tn+120>>2],nn[In+236>>2]=Wt,Wt=nn[tn+116>>2],nn[In+224>>2]=nn[tn+112>>2],nn[In+228>>2]=Wt,aA(Pt=In+288|0,In+240|0,In+224|0),Wt=nn[In+300>>2],nn[tn+120>>2]=nn[In+296>>2],nn[tn+124>>2]=Wt,Wt=nn[In+292>>2],nn[tn+112>>2]=nn[In+288>>2],nn[tn+116>>2]=Wt,Wt=nn[tn+92>>2],nn[In+216>>2]=nn[tn+88>>2],nn[In+220>>2]=Wt,Wt=nn[tn+84>>2],nn[In+208>>2]=nn[tn+80>>2],nn[In+212>>2]=Wt,Wt=nn[tn+108>>2],nn[In+200>>2]=nn[tn+104>>2],nn[In+204>>2]=Wt,Wt=nn[tn+100>>2],nn[In+192>>2]=nn[tn+96>>2],nn[In+196>>2]=Wt,aA(Pt,In+208|0,In+192|0),Wt=nn[In+300>>2],nn[tn+104>>2]=nn[In+296>>2],nn[tn+108>>2]=Wt,Wt=nn[In+292>>2],nn[tn+96>>2]=nn[In+288>>2],nn[tn+100>>2]=Wt,Wt=nn[tn+76>>2],nn[In+184>>2]=nn[tn+72>>2],nn[In+188>>2]=Wt,wn=nn[4+(Wt=tn- -64|0)>>2],nn[In+176>>2]=nn[Wt>>2],nn[In+180>>2]=wn,wn=nn[tn+92>>2],nn[In+168>>2]=nn[tn+88>>2],nn[In+172>>2]=wn,wn=nn[tn+84>>2],nn[In+160>>2]=nn[tn+80>>2],nn[In+164>>2]=wn,aA(Pt,In+176|0,In+160|0),wn=nn[In+300>>2],nn[tn+88>>2]=nn[In+296>>2],nn[tn+92>>2]=wn,wn=nn[In+292>>2],nn[tn+80>>2]=nn[In+288>>2],nn[tn+84>>2]=wn,wn=nn[tn+60>>2],nn[In+152>>2]=nn[tn+56>>2],nn[In+156>>2]=wn,wn=nn[tn+52>>2],nn[In+144>>2]=nn[tn+48>>2],nn[In+148>>2]=wn,wn=nn[tn+76>>2],nn[In+136>>2]=nn[tn+72>>2],nn[In+140>>2]=wn,wn=nn[Wt+4>>2],nn[In+128>>2]=nn[Wt>>2],nn[In+132>>2]=wn,aA(Pt,In+144|0,In+128|0),wn=nn[In+300>>2],nn[tn+72>>2]=nn[In+296>>2],nn[tn+76>>2]=wn,wn=nn[In+292>>2],nn[Wt>>2]=nn[In+288>>2],nn[Wt+4>>2]=wn,wn=nn[tn+44>>2],nn[In+120>>2]=nn[tn+40>>2],nn[In+124>>2]=wn,wn=nn[tn+36>>2],nn[In+112>>2]=nn[tn+32>>2],nn[In+116>>2]=wn,wn=nn[tn+60>>2],nn[In+104>>2]=nn[tn+56>>2],nn[In+108>>2]=wn,wn=nn[tn+52>>2],nn[In+96>>2]=nn[tn+48>>2],nn[In+100>>2]=wn,aA(Pt,In+112|0,In+96|0),wn=nn[In+300>>2],nn[tn+56>>2]=nn[In+296>>2],nn[tn+60>>2]=wn,wn=nn[In+292>>2],nn[tn+48>>2]=nn[In+288>>2],nn[tn+52>>2]=wn,wn=nn[tn+28>>2],nn[In+88>>2]=nn[tn+24>>2],nn[In+92>>2]=wn,wn=nn[tn+20>>2],nn[In+80>>2]=nn[tn+16>>2],nn[In+84>>2]=wn,wn=nn[tn+44>>2],nn[In+72>>2]=nn[tn+40>>2],nn[In+76>>2]=wn,wn=nn[tn+36>>2],nn[In+64>>2]=nn[tn+32>>2],nn[In+68>>2]=wn,aA(Pt,In+80|0,In- -64|0),wn=nn[In+300>>2],nn[tn+40>>2]=nn[In+296>>2],nn[tn+44>>2]=wn,wn=nn[In+292>>2],nn[tn+32>>2]=nn[In+288>>2],nn[tn+36>>2]=wn,wn=nn[tn+12>>2],nn[In+56>>2]=nn[tn+8>>2],nn[In+60>>2]=wn,wn=nn[tn+4>>2],nn[In+48>>2]=nn[tn>>2],nn[In+52>>2]=wn,wn=nn[tn+28>>2],nn[In+40>>2]=nn[tn+24>>2],nn[In+44>>2]=wn,wn=nn[tn+20>>2],nn[In+32>>2]=nn[tn+16>>2],nn[In+36>>2]=wn,aA(Pt,In+48|0,In+32|0),wn=nn[In+300>>2],nn[tn+24>>2]=nn[In+296>>2],nn[tn+28>>2]=wn,wn=nn[In+292>>2],nn[tn+16>>2]=nn[In+288>>2],nn[tn+20>>2]=wn,wn=nn[In+316>>2],nn[In+24>>2]=nn[In+312>>2],nn[In+28>>2]=wn,wn=nn[In+308>>2],nn[In+16>>2]=nn[In+304>>2],nn[In+20>>2]=wn,wn=nn[tn+12>>2],nn[In+8>>2]=nn[tn+8>>2],nn[In+12>>2]=wn,wn=nn[tn+4>>2],nn[In>>2]=nn[tn>>2],nn[In+4>>2]=wn,aA(Pt,In+16|0,In),Pt=nn[In+300>>2],nn[tn+8>>2]=nn[In+296>>2],nn[tn+12>>2]=Pt,Pt=nn[In+292>>2],nn[tn>>2]=nn[In+288>>2],nn[tn+4>>2]=Pt,nn[tn+12>>2]=kn^(an[tn+12|0]|an[tn+13|0]<<8|an[tn+14|0]<<16|an[tn+15|0]<<24),nn[tn+8>>2]=Xn^(an[tn+8|0]|an[tn+9|0]<<8|an[tn+10|0]<<16|an[tn+11|0]<<24),nn[tn+4>>2]=Cn^(an[tn+4|0]|an[tn+5|0]<<8|an[tn+6|0]<<16|an[tn+7|0]<<24),nn[tn>>2]=Hn^(an[0|tn]|an[tn+1|0]<<8|an[tn+2|0]<<16|an[tn+3|0]<<24),nn[Wt>>2]=Fn^(an[0|Wt]|an[Wt+1|0]<<8|an[Wt+2|0]<<16|an[Wt+3|0]<<24),nn[tn+68>>2]=fn^(an[tn+68|0]|an[tn+69|0]<<8|an[tn+70|0]<<16|an[tn+71|0]<<24),nn[tn+72>>2]=en^(an[tn+72|0]|an[tn+73|0]<<8|an[tn+74|0]<<16|an[tn+75|0]<<24),nn[tn+76>>2]=Qn^(an[tn+76|0]|an[tn+77|0]<<8|an[tn+78|0]<<16|an[tn+79|0]<<24),mn=In+320|0}function U(Wt,Pt){var en,tn,an,In,sn,on,cn,dn,un,pn,mn,Gn,hn,Zn,An,Wn,Nn,gn,yn,vn,Yn,En,Vn,Rn,wn,Fn,Qn,fn,Hn,Cn,Xn,kn,Jn=0,Ln=0,Bn=0,xn=0,On=0,Tn=0,Un=0,Mn=0,zn=0,Sn=0,Dn=0,jn=0,_n=0,Kn=0,Pn=0,qn=0,$n=0,el=0,tl=0,nl=0,ll=0,al=0;Jn=PA(tn=(Wn=nn[Pt+12>>2])<<1,on=tn>>31,Wn,Yn=Wn>>31),Bn=bn,Ln=(zn=PA(On=nn[Pt+16>>2],cn=On>>31,dn=(xn=nn[Pt+8>>2])<<1,Gn=dn>>31))+Jn|0,Jn=bn+Bn|0,Jn=Ln>>>0>>0?Jn+1|0:Jn,Bn=(Sn=PA(_n=(un=nn[Pt+20>>2])<<1,hn=_n>>31,zn=(Tn=nn[Pt+4>>2])<<1,an=zn>>31))+Ln|0,Ln=bn+Jn|0,Ln=Bn>>>0>>0?Ln+1|0:Ln,Un=PA(en=nn[Pt+24>>2],pn=en>>31,Sn=(qn=nn[Pt>>2])<<1,In=Sn>>31),Jn=bn+Ln|0,Jn=(Bn=Un+Bn|0)>>>0>>0?Jn+1|0:Jn,Ln=Bn,Zn=nn[Pt+32>>2],Bn=PA(Dn=rn(Zn,19),mn=Dn>>31,Zn,gn=Zn>>31),Jn=bn+Jn|0,Jn=(Ln=Ln+Bn|0)>>>0>>0?Jn+1|0:Jn,Fn=nn[Pt+36>>2],Bn=PA(Un=rn(Fn,38),sn=Un>>31,yn=(An=nn[Pt+28>>2])<<1,En=yn>>31),Pt=bn+Jn|0,Pn=Ln=Bn+Ln|0,Bn=Ln>>>0>>0?Pt+1|0:Pt,Pt=PA(zn,an,On,cn),Jn=bn,Ln=PA(dn,Gn,Wn,Yn),Jn=bn+Jn|0,Jn=(Pt=Ln+Pt|0)>>>0>>0?Jn+1|0:Jn,Mn=PA(un,vn=un>>31,Sn,In),Ln=bn+Jn|0,Ln=(Pt=Mn+Pt|0)>>>0>>0?Ln+1|0:Ln,Mn=PA(Dn,mn,yn,En),Jn=bn+Ln|0,Jn=(Pt=Mn+Pt|0)>>>0>>0?Jn+1|0:Jn,Ln=PA(Un,sn,en,pn),Jn=bn+Jn|0,ll=Pt=Ln+Pt|0,jn=Pt>>>0>>0?Jn+1|0:Jn,Jn=PA(zn,an,tn,on),Ln=bn,Vn=Pt=xn,xn=PA(Pt,Kn=Pt>>31,Pt,Kn),Pt=bn+Ln|0,Pt=(Jn=xn+Jn|0)>>>0>>0?Pt+1|0:Pt,Ln=(xn=PA(Sn,In,On,cn))+Jn|0,Jn=bn+Pt|0,Jn=Ln>>>0>>0?Jn+1|0:Jn,Pt=(xn=PA(Mn=rn(An,38),Nn=Mn>>31,An,Rn=An>>31))+Ln|0,Ln=bn+Jn|0,Ln=Pt>>>0>>0?Ln+1|0:Ln,Pt=(Jn=Pt)+(xn=PA(Dn,mn,Pt=en<<1,Pt>>31))|0,Jn=bn+Ln|0,Jn=Pt>>>0>>0?Jn+1|0:Jn,Ln=Pt,Pt=PA(Un,sn,_n,hn),Jn=bn+Jn|0,Qn=Ln=Ln+Pt|0,fn=Jn=Pt>>>0>Ln>>>0?Jn+1|0:Jn,Pt=Jn,Hn=Ln=Ln+33554432|0,Cn=Pt=Ln>>>0<33554432?Pt+1|0:Pt,Jn=(Jn=Pt>>26)+jn|0,ll=Pt=(Ln=(67108863&Pt)<<6|Ln>>>26)+ll|0,Jn=Pt>>>0>>0?Jn+1|0:Jn,Xn=Pt=Pt+16777216|0,Jn=(Jn=(Ln=Pt>>>0<16777216?Jn+1|0:Jn)>>25)+Bn|0,Pt=(Pt=(33554431&Ln)<<7|Pt>>>25)>>>0>(Ln=Pt+Pn|0)>>>0?Jn+1|0:Jn,Pn=Jn=Ln+33554432|0,xn=Pt=Jn>>>0<33554432?Pt+1|0:Pt,nn[Wt+24>>2]=Ln-(-67108864&Jn),Pt=PA(Sn,In,Vn,Kn),Jn=bn,Bn=PA(zn,an,Tn,$n=Tn>>31),Ln=bn+Jn|0,Ln=(Pt=Bn+Pt|0)>>>0>>0?Ln+1|0:Ln,jn=PA(Bn=rn(en,19),nl=Bn>>31,en,pn),Jn=bn+Ln|0,Jn=(Pt=jn+Pt|0)>>>0>>0?Jn+1|0:Jn,Ln=(jn=PA(_n,hn,Mn,Nn))+Pt|0,Pt=bn+Jn|0,Pt=Ln>>>0>>0?Pt+1|0:Pt,el=PA(Dn,mn,jn=On<<1,wn=jn>>31),Jn=bn+Pt|0,Jn=(Ln=el+Ln|0)>>>0>>0?Jn+1|0:Jn,Pt=Ln,Ln=PA(Un,sn,tn,on),Jn=bn+Jn|0,tl=Pt=Pt+Ln|0,el=Pt>>>0>>0?Jn+1|0:Jn,Pt=PA(_n,hn,Bn,nl),Jn=bn,Tn=PA(Sn,In,Tn,$n),Ln=bn+Jn|0,Ln=(Pt=Tn+Pt|0)>>>0>>0?Ln+1|0:Ln,Tn=PA(On,cn,Mn,Nn),Jn=bn+Ln|0,Jn=(Pt=Tn+Pt|0)>>>0>>0?Jn+1|0:Jn,Ln=(Tn=PA(Dn,mn,tn,on))+Pt|0,Pt=bn+Jn|0,Pt=Ln>>>0>>0?Pt+1|0:Pt,Tn=PA(Un,sn,Vn,Kn),Jn=bn+Pt|0,al=Ln=Tn+Ln|0,$n=Ln>>>0>>0?Jn+1|0:Jn,Ln=PA(Pt=rn(un,38),Pt>>31,un,vn),Tn=bn,Pt=qn,qn=Ln,Ln=PA(Pt,Jn=Pt>>31,Pt,Jn),Jn=bn+Tn|0,Jn=(Pt=qn+Ln|0)>>>0>>0?Jn+1|0:Jn,Bn=PA(Bn,nl,jn,wn),Ln=bn+Jn|0,Ln=(Pt=Bn+Pt|0)>>>0>>0?Ln+1|0:Ln,Bn=PA(tn,on,Mn,Nn),Jn=bn+Ln|0,Jn=(Pt=Bn+Pt|0)>>>0>>0?Jn+1|0:Jn,Ln=(Bn=PA(Dn,mn,dn,Gn))+Pt|0,Pt=bn+Jn|0,Pt=Ln>>>0>>0?Pt+1|0:Pt,Bn=PA(zn,an,Un,sn),Jn=bn+Pt|0,Tn=Ln=Bn+Ln|0,qn=Jn=Ln>>>0>>0?Jn+1|0:Jn,nl=Ln=Ln+33554432|0,kn=Jn=Ln>>>0<33554432?Jn+1|0:Jn,Pt=Jn>>26,Jn=(67108863&Jn)<<6|Ln>>>26,Ln=Pt+$n|0,$n=Bn=Jn+al|0,Jn=Jn>>>0>Bn>>>0?Ln+1|0:Ln,al=Ln=Bn+16777216|0,Bn=(33554431&(Jn=Ln>>>0<16777216?Jn+1|0:Jn))<<7|Ln>>>25,Jn=(Jn>>25)+el|0,Jn=(Ln=Bn+tl|0)>>>0>>0?Jn+1|0:Jn,el=Pt=Ln+33554432|0,Bn=Jn=Pt>>>0<33554432?Jn+1|0:Jn,nn[Wt+8>>2]=Ln-(-67108864&Pt),Pt=PA(dn,Gn,un,vn),Jn=bn,Ln=PA(On,cn,tn,on),Jn=bn+Jn|0,Jn=(Pt=Ln+Pt|0)>>>0>>0?Jn+1|0:Jn,Ln=PA(zn,an,en,pn),Jn=bn+Jn|0,Jn=(Pt=Ln+Pt|0)>>>0>>0?Jn+1|0:Jn,Ln=PA(Sn,In,An,Rn),Jn=bn+Jn|0,Jn=(Pt=Ln+Pt|0)>>>0>>0?Jn+1|0:Jn,tl=(Ln=PA(Un,sn,Zn,gn))+Pt|0,Pt=bn+Jn|0,Ln=(Jn=xn>>26)+(Ln=Ln>>>0>tl>>>0?Pt+1|0:Pt)|0,Pn=Pt=(xn=(67108863&xn)<<6|Pn>>>26)+tl|0,Jn=Pt>>>0>>0?Ln+1|0:Ln,tl=Pt=Pt+16777216|0,xn=Jn=Pt>>>0<16777216?Jn+1|0:Jn,nn[Wt+28>>2]=Pn-(-33554432&Pt),Pt=PA(Sn,In,Wn,Yn),Ln=bn,Jn=(Kn=PA(zn,an,Vn,Kn))+Pt|0,Pt=bn+Ln|0,Pt=Jn>>>0>>0?Pt+1|0:Pt,Jn=(Mn=PA(en,pn,Mn,Nn))+Jn|0,Ln=bn+Pt|0,Pt=(Dn=PA(Dn,mn,_n,hn))+Jn|0,Jn=bn+(Jn>>>0>>0?Ln+1|0:Ln)|0,Jn=Pt>>>0>>0?Jn+1|0:Jn,Ln=PA(Un,sn,On,cn),Jn=bn+Jn|0,Jn=(Jn=(Pt=Ln+Pt|0)>>>0>>0?Jn+1|0:Jn)+(Ln=Bn>>26)|0,Pt=(Ln=Bn=(Pn=Pt)+(Pt=(67108863&Bn)<<6|el>>>26)|0)>>>0>>0?Jn+1|0:Jn,Dn=Jn=Ln+16777216|0,Bn=Pt=Jn>>>0<16777216?Pt+1|0:Pt,nn[Wt+12>>2]=Ln-(-33554432&Jn),Pt=PA(en,pn,dn,Gn),Jn=bn,Ln=PA(On,cn,On,cn),Jn=bn+Jn|0,Jn=(Pt=Ln+Pt|0)>>>0>>0?Jn+1|0:Jn,Ln=PA(tn,on,_n,hn),Jn=bn+Jn|0,Jn=(Pt=Ln+Pt|0)>>>0>>0?Jn+1|0:Jn,Ln=(On=PA(zn,an,yn,En))+Pt|0,Pt=bn+Jn|0,Pt=Ln>>>0>>0?Pt+1|0:Pt,Jn=(On=PA(Sn,In,Zn,gn))+Ln|0,Ln=bn+Pt|0,Ln=Jn>>>0>>0?Ln+1|0:Ln,Pt=(On=PA(Pt=Un,sn,Un=Fn,_n=Un>>31))+Jn|0,Jn=bn+Ln|0,Jn=Pt>>>0>>0?Jn+1|0:Jn,Ln=Pt,Jn=(Pt=xn>>25)+Jn|0,Jn=(Ln=Ln+(xn=(33554431&xn)<<7|tl>>>25)|0)>>>0>>0?Jn+1|0:Jn,On=Pt=Ln+33554432|0,xn=Jn=Pt>>>0<33554432?Jn+1|0:Jn,nn[Wt+32>>2]=Ln-(-67108864&Pt),Jn=Bn>>25,Ln=(Bn=(33554431&Bn)<<7|Dn>>>25)+(Qn-(Pt=-67108864&Hn)|0)|0,Pt=Jn+(fn-((Pt>>>0>Qn>>>0)+Cn|0)|0)|0,Pt=Ln>>>0>>0?Pt+1|0:Pt,Bn=Ln,Pt=((67108863&(Jn=(Ln=Ln+33554432|0)>>>0<33554432?Pt+1|0:Pt))<<6|Ln>>>26)+(Mn=ll-(-33554432&Xn)|0)|0,nn[Wt+20>>2]=Pt,nn[Wt+16>>2]=Bn-(-67108864&Ln),Pt=PA(tn,on,en,pn),Ln=bn,Jn=(Bn=PA(un,vn,jn,wn))+Pt|0,Pt=bn+Ln|0,Pt=Jn>>>0>>0?Pt+1|0:Pt,Ln=(Bn=PA(dn,Gn,An,Rn))+Jn|0,Jn=bn+Pt|0,Jn=Ln>>>0>>0?Jn+1|0:Jn,Pt=(Bn=PA(zn,an,Zn,gn))+Ln|0,Ln=bn+Jn|0,Ln=Pt>>>0>>0?Ln+1|0:Ln,Bn=(Jn=Pt)+(Pt=PA(Sn,In,Un,_n))|0,Jn=bn+Ln|0,Jn=(Pt=Pt>>>0>Bn>>>0?Jn+1|0:Jn)+(Jn=xn>>26)|0,Pt=(Ln=(xn=(67108863&xn)<<6|On>>>26)+Bn|0)>>>0>>0?Jn+1|0:Jn,Pt=(Jn=Ln+16777216|0)>>>0<16777216?Pt+1|0:Pt,nn[Wt+36>>2]=Ln-(-33554432&Jn),xn=$n-(-33554432&al)|0,Bn=Tn-(Ln=-67108864&nl)|0,zn=qn-((Ln>>>0>Tn>>>0)+kn|0)|0,Pt=PA((33554431&Pt)<<7|Jn>>>25,Pt>>25,19,0),Jn=bn+zn|0,Pt=Pt>>>0>(Ln=Pt+Bn|0)>>>0?Jn+1|0:Jn,Pt=((67108863&(Pt=(Jn=Ln+33554432|0)>>>0<33554432?Pt+1|0:Pt))<<6|Jn>>>26)+xn|0,nn[Wt+4>>2]=Pt,nn[Wt>>2]=Ln-(-67108864&Jn)}function d(Wt,Pt){var en,tn,In,rn,sn,on,cn,dn,un,pn,bn=0,Gn=0,hn=0;mn=en=mn-416|0,tn=an[Wt+16|0]|an[Wt+17|0]<<8|an[Wt+18|0]<<16|an[Wt+19|0]<<24,In=an[Wt+20|0]|an[Wt+21|0]<<8|an[Wt+22|0]<<16|an[Wt+23|0]<<24,rn=an[Wt+24|0]|an[Wt+25|0]<<8|an[Wt+26|0]<<16|an[Wt+27|0]<<24,sn=an[Wt+28|0]|an[Wt+29|0]<<8|an[Wt+30|0]<<16|an[Wt+31|0]<<24,hn=an[Wt+4|0]|an[Wt+5|0]<<8|an[Wt+6|0]<<16|an[Wt+7|0]<<24,on=an[Wt+8|0]|an[Wt+9|0]<<8|an[Wt+10|0]<<16|an[Wt+11|0]<<24,cn=an[Wt+12|0]|an[Wt+13|0]<<8|an[Wt+14|0]<<16|an[Wt+15|0]<<24,dn=an[0|Wt]|an[Wt+1|0]<<8|an[Wt+2|0]<<16|an[Wt+3|0]<<24,Wt=nn[Pt+92>>2],nn[en+408>>2]=nn[Pt+88>>2],nn[en+412>>2]=Wt,Wt=nn[Pt+84>>2],nn[en+400>>2]=nn[Pt+80>>2],nn[en+404>>2]=Wt,Wt=nn[Pt+76>>2],nn[en+376>>2]=nn[Pt+72>>2],nn[en+380>>2]=Wt,bn=nn[4+(Wt=Gn=Pt- -64|0)>>2],nn[en+368>>2]=nn[Wt>>2],nn[en+372>>2]=bn,Wt=nn[Pt+92>>2],nn[en+360>>2]=nn[Pt+88>>2],nn[en+364>>2]=Wt,Wt=nn[Pt+84>>2],nn[en+352>>2]=nn[Pt+80>>2],nn[en+356>>2]=Wt,aA(Wt=en+384|0,en+368|0,en+352|0),bn=nn[en+396>>2],nn[Pt+88>>2]=nn[en+392>>2],nn[Pt+92>>2]=bn,bn=nn[en+388>>2],nn[Pt+80>>2]=nn[en+384>>2],nn[Pt+84>>2]=bn,bn=nn[Pt+60>>2],nn[en+344>>2]=nn[Pt+56>>2],nn[en+348>>2]=bn,bn=nn[Pt+52>>2],nn[en+336>>2]=nn[Pt+48>>2],nn[en+340>>2]=bn,bn=nn[Pt+76>>2],nn[en+328>>2]=nn[Pt+72>>2],nn[en+332>>2]=bn,bn=nn[Gn+4>>2],nn[en+320>>2]=nn[Gn>>2],nn[en+324>>2]=bn,aA(Wt,en+336|0,en+320|0),bn=nn[en+396>>2],nn[Pt+72>>2]=nn[en+392>>2],nn[Pt+76>>2]=bn,bn=nn[en+388>>2],nn[Gn>>2]=nn[en+384>>2],nn[Gn+4>>2]=bn,bn=nn[Pt+44>>2],nn[en+312>>2]=nn[Pt+40>>2],nn[en+316>>2]=bn,bn=nn[Pt+36>>2],nn[en+304>>2]=nn[Pt+32>>2],nn[en+308>>2]=bn,bn=nn[Pt+60>>2],nn[en+296>>2]=nn[Pt+56>>2],nn[en+300>>2]=bn,bn=nn[Pt+52>>2],nn[en+288>>2]=nn[Pt+48>>2],nn[en+292>>2]=bn,aA(Wt,en+304|0,en+288|0),bn=nn[en+396>>2],nn[Pt+56>>2]=nn[en+392>>2],nn[Pt+60>>2]=bn,bn=nn[en+388>>2],nn[Pt+48>>2]=nn[en+384>>2],nn[Pt+52>>2]=bn,bn=nn[Pt+28>>2],nn[en+280>>2]=nn[Pt+24>>2],nn[en+284>>2]=bn,bn=nn[Pt+20>>2],nn[en+272>>2]=nn[Pt+16>>2],nn[en+276>>2]=bn,bn=nn[Pt+44>>2],nn[en+264>>2]=nn[Pt+40>>2],nn[en+268>>2]=bn,bn=nn[Pt+36>>2],nn[en+256>>2]=nn[Pt+32>>2],nn[en+260>>2]=bn,aA(Wt,en+272|0,en+256|0),bn=nn[en+396>>2],nn[Pt+40>>2]=nn[en+392>>2],nn[Pt+44>>2]=bn,bn=nn[en+388>>2],nn[Pt+32>>2]=nn[en+384>>2],nn[Pt+36>>2]=bn,bn=nn[Pt+12>>2],nn[en+248>>2]=nn[Pt+8>>2],nn[en+252>>2]=bn,bn=nn[Pt+4>>2],nn[en+240>>2]=nn[Pt>>2],nn[en+244>>2]=bn,bn=nn[Pt+28>>2],nn[en+232>>2]=nn[Pt+24>>2],nn[en+236>>2]=bn,bn=nn[Pt+20>>2],nn[en+224>>2]=nn[Pt+16>>2],nn[en+228>>2]=bn,aA(Wt,en+240|0,en+224|0),bn=nn[en+396>>2],nn[Pt+24>>2]=nn[en+392>>2],nn[Pt+28>>2]=bn,bn=nn[en+388>>2],nn[Pt+16>>2]=nn[en+384>>2],nn[Pt+20>>2]=bn,bn=nn[en+412>>2],nn[en+216>>2]=nn[en+408>>2],nn[en+220>>2]=bn,bn=nn[en+404>>2],nn[en+208>>2]=nn[en+400>>2],nn[en+212>>2]=bn,bn=nn[Pt+12>>2],nn[en+200>>2]=nn[Pt+8>>2],nn[en+204>>2]=bn,bn=nn[Pt+4>>2],nn[en+192>>2]=nn[Pt>>2],nn[en+196>>2]=bn,aA(Wt,en+208|0,en+192|0),bn=nn[en+384>>2],un=nn[en+388>>2],pn=nn[en+392>>2],nn[Pt+12>>2]=nn[en+396>>2]^cn,nn[Pt+8>>2]=on^pn,nn[Pt+4>>2]=hn^un,nn[Pt>>2]=bn^dn,hn=nn[Pt+92>>2],nn[en+408>>2]=nn[Pt+88>>2],nn[en+412>>2]=hn,hn=nn[Pt+84>>2],nn[en+400>>2]=nn[Pt+80>>2],nn[en+404>>2]=hn,hn=nn[Pt+76>>2],nn[en+184>>2]=nn[Pt+72>>2],nn[en+188>>2]=hn,hn=nn[Gn+4>>2],nn[en+176>>2]=nn[Gn>>2],nn[en+180>>2]=hn,hn=nn[Pt+92>>2],nn[en+168>>2]=nn[Pt+88>>2],nn[en+172>>2]=hn,hn=nn[Pt+84>>2],nn[en+160>>2]=nn[Pt+80>>2],nn[en+164>>2]=hn,aA(Wt,en+176|0,en+160|0),hn=nn[en+396>>2],nn[Pt+88>>2]=nn[en+392>>2],nn[Pt+92>>2]=hn,hn=nn[en+388>>2],nn[Pt+80>>2]=nn[en+384>>2],nn[Pt+84>>2]=hn,hn=nn[Pt+60>>2],nn[en+152>>2]=nn[Pt+56>>2],nn[en+156>>2]=hn,hn=nn[Pt+52>>2],nn[en+144>>2]=nn[Pt+48>>2],nn[en+148>>2]=hn,hn=nn[Pt+76>>2],nn[en+136>>2]=nn[Pt+72>>2],nn[en+140>>2]=hn,hn=nn[Gn+4>>2],nn[en+128>>2]=nn[Gn>>2],nn[en+132>>2]=hn,aA(Wt,en+144|0,en+128|0),hn=nn[en+396>>2],nn[Pt+72>>2]=nn[en+392>>2],nn[Pt+76>>2]=hn,hn=nn[en+388>>2],nn[Gn>>2]=nn[en+384>>2],nn[Gn+4>>2]=hn,Gn=nn[Pt+44>>2],nn[en+120>>2]=nn[Pt+40>>2],nn[en+124>>2]=Gn,Gn=nn[Pt+36>>2],nn[en+112>>2]=nn[Pt+32>>2],nn[en+116>>2]=Gn,Gn=nn[Pt+60>>2],nn[en+104>>2]=nn[Pt+56>>2],nn[en+108>>2]=Gn,Gn=nn[Pt+52>>2],nn[en+96>>2]=nn[Pt+48>>2],nn[en+100>>2]=Gn,aA(Wt,en+112|0,en+96|0),Gn=nn[en+396>>2],nn[Pt+56>>2]=nn[en+392>>2],nn[Pt+60>>2]=Gn,Gn=nn[en+388>>2],nn[Pt+48>>2]=nn[en+384>>2],nn[Pt+52>>2]=Gn,Gn=nn[Pt+28>>2],nn[en+88>>2]=nn[Pt+24>>2],nn[en+92>>2]=Gn,Gn=nn[Pt+20>>2],nn[en+80>>2]=nn[Pt+16>>2],nn[en+84>>2]=Gn,Gn=nn[Pt+44>>2],nn[en+72>>2]=nn[Pt+40>>2],nn[en+76>>2]=Gn,Gn=nn[Pt+36>>2],nn[en+64>>2]=nn[Pt+32>>2],nn[en+68>>2]=Gn,aA(Wt,en+80|0,en- -64|0),Gn=nn[en+396>>2],nn[Pt+40>>2]=nn[en+392>>2],nn[Pt+44>>2]=Gn,Gn=nn[en+388>>2],nn[Pt+32>>2]=nn[en+384>>2],nn[Pt+36>>2]=Gn,Gn=nn[Pt+12>>2],nn[en+56>>2]=nn[Pt+8>>2],nn[en+60>>2]=Gn,Gn=nn[Pt+4>>2],nn[en+48>>2]=nn[Pt>>2],nn[en+52>>2]=Gn,Gn=nn[Pt+28>>2],nn[en+40>>2]=nn[Pt+24>>2],nn[en+44>>2]=Gn,Gn=nn[Pt+20>>2],nn[en+32>>2]=nn[Pt+16>>2],nn[en+36>>2]=Gn,aA(Wt,en+48|0,en+32|0),Gn=nn[en+396>>2],nn[Pt+24>>2]=nn[en+392>>2],nn[Pt+28>>2]=Gn,Gn=nn[en+388>>2],nn[Pt+16>>2]=nn[en+384>>2],nn[Pt+20>>2]=Gn,Gn=nn[en+412>>2],nn[en+24>>2]=nn[en+408>>2],nn[en+28>>2]=Gn,Gn=nn[en+404>>2],nn[en+16>>2]=nn[en+400>>2],nn[en+20>>2]=Gn,Gn=nn[Pt+12>>2],nn[en+8>>2]=nn[Pt+8>>2],nn[en+12>>2]=Gn,Gn=nn[Pt+4>>2],nn[en>>2]=nn[Pt>>2],nn[en+4>>2]=Gn,aA(Wt,en+16|0,en),Wt=nn[en+384>>2],Gn=nn[en+388>>2],hn=nn[en+392>>2],nn[Pt+12>>2]=nn[en+396>>2]^sn,nn[Pt+8>>2]=hn^rn,nn[Pt+4>>2]=Gn^In,nn[Pt>>2]=Wt^tn,mn=en+416|0}function b(Wt,Pt,en){var tn,In,rn,sn,on,cn,dn,un,pn,bn,Gn,hn,Zn,An,Wn=0,Nn=0,gn=0;for(mn=tn=mn-288|0,Gn=an[Pt+4|0]|an[Pt+5|0]<<8|an[Pt+6|0]<<16|an[Pt+7|0]<<24,hn=an[Pt+8|0]|an[Pt+9|0]<<8|an[Pt+10|0]<<16|an[Pt+11|0]<<24,Zn=an[Pt+12|0]|an[Pt+13|0]<<8|an[Pt+14|0]<<16|an[Pt+15|0]<<24,dn=an[Wt+4|0]|an[Wt+5|0]<<8|an[Wt+6|0]<<16|an[Wt+7|0]<<24,un=an[Wt+8|0]|an[Wt+9|0]<<8|an[Wt+10|0]<<16|an[Wt+11|0]<<24,pn=an[Wt+12|0]|an[Wt+13|0]<<8|an[Wt+14|0]<<16|an[Wt+15|0]<<24,An=an[0|Pt]|an[Pt+1|0]<<8|an[Pt+2|0]<<16|an[Pt+3|0]<<24,Pt=en+112|0,Wt=33620224^(bn=an[0|Wt]|an[Wt+1|0]<<8|an[Wt+2|0]<<16|an[Wt+3|0]<<24),nn[Pt>>2]=Wt,nn[(on=en+96|0)>>2]=1427652059^bn,nn[(cn=en+80|0)>>2]=Wt,Nn=bn^An,nn[(Wt=en- -64|0)>>2]=Nn,nn[en+56>>2]=1110511904,nn[en+60>>2]=-584534669,nn[(In=en+48|0)>>2]=1427652059,nn[In+4>>2]=-248528275,nn[en+40>>2]=1496785429,nn[en+44>>2]=1652156816,nn[(rn=en+32|0)>>2]=33620224,nn[rn+4>>2]=218629379,nn[en+24>>2]=1110511904,nn[en+28>>2]=-584534669,nn[(sn=en+16|0)>>2]=1427652059,nn[sn+4>>2]=-248528275,nn[en>>2]=Nn,Nn=1652156816^pn,nn[en+124>>2]=Nn,gn=1496785429^un,nn[en+120>>2]=gn,Wn=218629379^dn,nn[en+116>>2]=Wn,nn[en+108>>2]=-584534669^pn,nn[en+104>>2]=1110511904^un,nn[en+100>>2]=-248528275^dn,nn[en+92>>2]=Nn,nn[en+88>>2]=gn,nn[en+84>>2]=Wn,Nn=pn^Zn,nn[en+76>>2]=Nn,gn=un^hn,nn[en+72>>2]=gn,Wn=dn^Gn,nn[en+68>>2]=Wn,nn[en+12>>2]=Nn,nn[en+8>>2]=gn,nn[en+4>>2]=Wn,gn=0;Nn=nn[Pt+12>>2],nn[tn+280>>2]=nn[Pt+8>>2],nn[tn+284>>2]=Nn,Nn=nn[Pt+4>>2],nn[tn+272>>2]=nn[Pt>>2],nn[tn+276>>2]=Nn,Nn=nn[on+12>>2],nn[tn+248>>2]=nn[on+8>>2],nn[tn+252>>2]=Nn,Nn=nn[on+4>>2],nn[tn+240>>2]=nn[on>>2],nn[tn+244>>2]=Nn,Nn=nn[Pt+12>>2],nn[tn+232>>2]=nn[Pt+8>>2],nn[tn+236>>2]=Nn,Nn=nn[Pt+4>>2],nn[tn+224>>2]=nn[Pt>>2],nn[tn+228>>2]=Nn,aA(Nn=tn+256|0,tn+240|0,tn+224|0),Wn=nn[tn+268>>2],nn[Pt+8>>2]=nn[tn+264>>2],nn[Pt+12>>2]=Wn,Wn=nn[tn+260>>2],nn[Pt>>2]=nn[tn+256>>2],nn[Pt+4>>2]=Wn,Wn=nn[cn+12>>2],nn[tn+216>>2]=nn[cn+8>>2],nn[tn+220>>2]=Wn,Wn=nn[cn+4>>2],nn[tn+208>>2]=nn[cn>>2],nn[tn+212>>2]=Wn,Wn=nn[on+12>>2],nn[tn+200>>2]=nn[on+8>>2],nn[tn+204>>2]=Wn,Wn=nn[on+4>>2],nn[tn+192>>2]=nn[on>>2],nn[tn+196>>2]=Wn,aA(Nn,tn+208|0,tn+192|0),Wn=nn[tn+268>>2],nn[on+8>>2]=nn[tn+264>>2],nn[on+12>>2]=Wn,Wn=nn[tn+260>>2],nn[on>>2]=nn[tn+256>>2],nn[on+4>>2]=Wn,Wn=nn[Wt+12>>2],nn[tn+184>>2]=nn[Wt+8>>2],nn[tn+188>>2]=Wn,Wn=nn[Wt+4>>2],nn[tn+176>>2]=nn[Wt>>2],nn[tn+180>>2]=Wn,Wn=nn[cn+12>>2],nn[tn+168>>2]=nn[cn+8>>2],nn[tn+172>>2]=Wn,Wn=nn[cn+4>>2],nn[tn+160>>2]=nn[cn>>2],nn[tn+164>>2]=Wn,aA(Nn,tn+176|0,tn+160|0),Wn=nn[tn+268>>2],nn[cn+8>>2]=nn[tn+264>>2],nn[cn+12>>2]=Wn,Wn=nn[tn+260>>2],nn[cn>>2]=nn[tn+256>>2],nn[cn+4>>2]=Wn,Wn=nn[In+12>>2],nn[tn+152>>2]=nn[In+8>>2],nn[tn+156>>2]=Wn,Wn=nn[In+4>>2],nn[tn+144>>2]=nn[In>>2],nn[tn+148>>2]=Wn,Wn=nn[Wt+12>>2],nn[tn+136>>2]=nn[Wt+8>>2],nn[tn+140>>2]=Wn,Wn=nn[Wt+4>>2],nn[tn+128>>2]=nn[Wt>>2],nn[tn+132>>2]=Wn,aA(Nn,tn+144|0,tn+128|0),Wn=nn[tn+268>>2],nn[Wt+8>>2]=nn[tn+264>>2],nn[Wt+12>>2]=Wn,Wn=nn[tn+260>>2],nn[Wt>>2]=nn[tn+256>>2],nn[Wt+4>>2]=Wn,Wn=nn[rn+12>>2],nn[tn+120>>2]=nn[rn+8>>2],nn[tn+124>>2]=Wn,Wn=nn[rn+4>>2],nn[tn+112>>2]=nn[rn>>2],nn[tn+116>>2]=Wn,Wn=nn[In+12>>2],nn[tn+104>>2]=nn[In+8>>2],nn[tn+108>>2]=Wn,Wn=nn[In+4>>2],nn[tn+96>>2]=nn[In>>2],nn[tn+100>>2]=Wn,aA(Nn,tn+112|0,tn+96|0),Wn=nn[tn+268>>2],nn[In+8>>2]=nn[tn+264>>2],nn[In+12>>2]=Wn,Wn=nn[tn+260>>2],nn[In>>2]=nn[tn+256>>2],nn[In+4>>2]=Wn,Wn=nn[sn+12>>2],nn[tn+88>>2]=nn[sn+8>>2],nn[tn+92>>2]=Wn,Wn=nn[sn+4>>2],nn[tn+80>>2]=nn[sn>>2],nn[tn+84>>2]=Wn,Wn=nn[rn+12>>2],nn[tn+72>>2]=nn[rn+8>>2],nn[tn+76>>2]=Wn,Wn=nn[rn+4>>2],nn[tn+64>>2]=nn[rn>>2],nn[tn+68>>2]=Wn,aA(Nn,tn+80|0,tn- -64|0),Wn=nn[tn+268>>2],nn[rn+8>>2]=nn[tn+264>>2],nn[rn+12>>2]=Wn,Wn=nn[tn+260>>2],nn[rn>>2]=nn[tn+256>>2],nn[rn+4>>2]=Wn,Wn=nn[en+12>>2],nn[tn+56>>2]=nn[en+8>>2],nn[tn+60>>2]=Wn,Wn=nn[en+4>>2],nn[tn+48>>2]=nn[en>>2],nn[tn+52>>2]=Wn,Wn=nn[sn+12>>2],nn[tn+40>>2]=nn[sn+8>>2],nn[tn+44>>2]=Wn,Wn=nn[sn+4>>2],nn[tn+32>>2]=nn[sn>>2],nn[tn+36>>2]=Wn,aA(Nn,tn+48|0,tn+32|0),Wn=nn[tn+268>>2],nn[sn+8>>2]=nn[tn+264>>2],nn[sn+12>>2]=Wn,Wn=nn[tn+260>>2],nn[sn>>2]=nn[tn+256>>2],nn[sn+4>>2]=Wn,Wn=nn[tn+284>>2],nn[tn+24>>2]=nn[tn+280>>2],nn[tn+28>>2]=Wn,Wn=nn[tn+276>>2],nn[tn+16>>2]=nn[tn+272>>2],nn[tn+20>>2]=Wn,Wn=nn[en+12>>2],nn[tn+8>>2]=nn[en+8>>2],nn[tn+12>>2]=Wn,Wn=nn[en+4>>2],nn[tn>>2]=nn[en>>2],nn[tn+4>>2]=Wn,aA(Nn,tn+16|0,tn),Nn=nn[tn+268>>2],nn[en+8>>2]=nn[tn+264>>2],nn[en+12>>2]=Nn,Nn=nn[tn+260>>2],nn[en>>2]=nn[tn+256>>2],nn[en+4>>2]=Nn,nn[en+12>>2]=(an[en+12|0]|an[en+13|0]<<8|an[en+14|0]<<16|an[en+15|0]<<24)^Zn,nn[en+8>>2]=(an[en+8|0]|an[en+9|0]<<8|an[en+10|0]<<16|an[en+11|0]<<24)^hn,nn[en+4>>2]=(an[en+4|0]|an[en+5|0]<<8|an[en+6|0]<<16|an[en+7|0]<<24)^Gn,nn[en>>2]=(an[0|en]|an[en+1|0]<<8|an[en+2|0]<<16|an[en+3|0]<<24)^An,nn[Wt>>2]=(an[0|Wt]|an[Wt+1|0]<<8|an[Wt+2|0]<<16|an[Wt+3|0]<<24)^bn,nn[en+68>>2]=(an[en+68|0]|an[en+69|0]<<8|an[en+70|0]<<16|an[en+71|0]<<24)^dn,nn[en+72>>2]=(an[en+72|0]|an[en+73|0]<<8|an[en+74|0]<<16|an[en+75|0]<<24)^un,nn[en+76>>2]=(an[en+76|0]|an[en+77|0]<<8|an[en+78|0]<<16|an[en+79|0]<<24)^pn,10!=(0|(gn=gn+1|0)););mn=tn+288|0}function P(Wt,Pt,en,In,rn){var sn,on,cn,dn,un,pn,bn,Gn,hn,Zn,An,Wn,Nn,gn,yn,vn=0,Yn=0,En=0,Vn=0,Rn=0,wn=0,Fn=0,Qn=0,fn=0,Hn=0,Cn=0,Xn=0,kn=0,Jn=0,Ln=0,Bn=0,xn=0,On=0,Tn=0,Un=0,Mn=0,zn=0,Sn=0,Dn=0,jn=0,_n=0,Kn=0,Pn=0,qn=0,$n=0,el=0,tl=0,nl=0,ll=0;for(sn=mn+-64|0,on=nn[Wt+60>>2],cn=nn[Wt+56>>2],Un=nn[Wt+52>>2],Tn=nn[Wt+48>>2],dn=nn[Wt+44>>2],un=nn[Wt+40>>2],pn=nn[Wt+36>>2],bn=nn[Wt+32>>2],Gn=nn[Wt+28>>2],hn=nn[Wt+24>>2],Zn=nn[Wt+20>>2],An=nn[Wt+16>>2],Wn=nn[Wt+12>>2],Nn=nn[Wt+8>>2],gn=nn[Wt+4>>2],yn=nn[Wt>>2];;){if(!rn&In>>>0>63|rn)vn=en;else{if(nn[sn+56>>2]=0,nn[sn+60>>2]=0,nn[sn+48>>2]=0,nn[sn+52>>2]=0,nn[sn+40>>2]=0,nn[sn+44>>2]=0,nn[sn+32>>2]=0,nn[sn+36>>2]=0,nn[sn+24>>2]=0,nn[sn+28>>2]=0,nn[sn+16>>2]=0,nn[sn+20>>2]=0,nn[sn+8>>2]=0,nn[sn+12>>2]=0,nn[sn>>2]=0,nn[sn+4>>2]=0,En=0,In|rn)for(;tn[En+sn|0]=an[Pt+En|0],!rn&(En=En+1|0)>>>0>>0|rn;);Pt=vn=sn,jn=en}for(Mn=20,Yn=yn,Hn=gn,Cn=Nn,Jn=Wn,En=An,en=Zn,Rn=hn,wn=Gn,Fn=bn,Bn=pn,Xn=un,Vn=on,xn=cn,Ln=Un,kn=Tn,Qn=dn;fn=En,Yn=gI((En=Yn+En|0)^kn,16),fn=kn=gI(fn^(Fn=Yn+Fn|0),12),kn=gI((On=En+kn|0)^Yn,8),En=gI(fn^(Fn=kn+Fn|0),7),Vn=gI((Yn=wn+Jn|0)^Vn,16),wn=gI((Qn=Vn+Qn|0)^wn,12),Jn=gI((Cn=Rn+Cn|0)^xn,16),Rn=gI((Xn=Jn+Xn|0)^Rn,12),xn=(zn=Yn+wn|0)+En|0,Sn=gI((Cn=Rn+Cn|0)^Jn,8),Yn=gI(xn^Sn,16),Jn=gI((Hn=en+Hn|0)^Ln,16),en=gI((Bn=Jn+Bn|0)^en,12),fn=En,Ln=gI((Hn=en+Hn|0)^Jn,8),fn=gI(fn^(En=(Dn=Ln+Bn|0)+Yn|0),12),xn=gI(Yn^(Jn=fn+xn|0),8),En=gI((Bn=xn+En|0)^fn,7),fn=Fn,Fn=Cn,Yn=gI(Vn^zn,8),Cn=gI((Vn=Yn+Qn|0)^wn,7),Ln=gI((Fn=Fn+Cn|0)^Ln,16),Qn=gI((wn=fn+Ln|0)^Cn,12),Ln=gI(Ln^(Cn=Qn+Fn|0),8),wn=gI((Fn=wn+Ln|0)^Qn,7),Qn=Vn,Vn=Hn,Hn=gI((Xn=Xn+Sn|0)^Rn,7),Rn=Qn+(kn=gI((Vn=Vn+Hn|0)^kn,16))|0,Qn=Vn,Vn=gI(Rn^Hn,12),kn=gI(kn^(Hn=Qn+Vn|0),8),Rn=gI((Qn=Rn+kn|0)^Vn,7),fn=Xn,Vn=Yn,Yn=gI(en^Dn,7),Vn=gI(Vn^(Xn=Yn+On|0),16),On=gI((en=fn+Vn|0)^Yn,12),Vn=gI(Vn^(Yn=On+Xn|0),8),en=gI((Xn=en+Vn|0)^On,7),Mn=Mn-2|0;);if(Mn=an[Pt+4|0]|an[Pt+5|0]<<8|an[Pt+6|0]<<16|an[Pt+7|0]<<24,On=an[Pt+8|0]|an[Pt+9|0]<<8|an[Pt+10|0]<<16|an[Pt+11|0]<<24,zn=an[Pt+12|0]|an[Pt+13|0]<<8|an[Pt+14|0]<<16|an[Pt+15|0]<<24,Sn=an[Pt+16|0]|an[Pt+17|0]<<8|an[Pt+18|0]<<16|an[Pt+19|0]<<24,Dn=an[Pt+20|0]|an[Pt+21|0]<<8|an[Pt+22|0]<<16|an[Pt+23|0]<<24,fn=an[Pt+24|0]|an[Pt+25|0]<<8|an[Pt+26|0]<<16|an[Pt+27|0]<<24,_n=an[Pt+28|0]|an[Pt+29|0]<<8|an[Pt+30|0]<<16|an[Pt+31|0]<<24,Kn=an[Pt+32|0]|an[Pt+33|0]<<8|an[Pt+34|0]<<16|an[Pt+35|0]<<24,Pn=an[Pt+36|0]|an[Pt+37|0]<<8|an[Pt+38|0]<<16|an[Pt+39|0]<<24,qn=an[Pt+40|0]|an[Pt+41|0]<<8|an[Pt+42|0]<<16|an[Pt+43|0]<<24,$n=an[Pt+44|0]|an[Pt+45|0]<<8|an[Pt+46|0]<<16|an[Pt+47|0]<<24,el=an[Pt+48|0]|an[Pt+49|0]<<8|an[Pt+50|0]<<16|an[Pt+51|0]<<24,tl=an[Pt+52|0]|an[Pt+53|0]<<8|an[Pt+54|0]<<16|an[Pt+55|0]<<24,nl=an[Pt+56|0]|an[Pt+57|0]<<8|an[Pt+58|0]<<16|an[Pt+59|0]<<24,ll=an[Pt+60|0]|an[Pt+61|0]<<8|an[Pt+62|0]<<16|an[Pt+63|0]<<24,Yn=Yn+yn^(an[0|Pt]|an[Pt+1|0]<<8|an[Pt+2|0]<<16|an[Pt+3|0]<<24),tn[0|vn]=Yn,tn[vn+1|0]=Yn>>>8,tn[vn+2|0]=Yn>>>16,tn[vn+3|0]=Yn>>>24,Yn=Vn+on^ll,tn[vn+60|0]=Yn,tn[vn+61|0]=Yn>>>8,tn[vn+62|0]=Yn>>>16,tn[vn+63|0]=Yn>>>24,Yn=xn+cn^nl,tn[vn+56|0]=Yn,tn[vn+57|0]=Yn>>>8,tn[vn+58|0]=Yn>>>16,tn[vn+59|0]=Yn>>>24,Yn=Ln+Un^tl,tn[vn+52|0]=Yn,tn[vn+53|0]=Yn>>>8,tn[vn+54|0]=Yn>>>16,tn[vn+55|0]=Yn>>>24,Yn=kn+Tn^el,tn[vn+48|0]=Yn,tn[vn+49|0]=Yn>>>8,tn[vn+50|0]=Yn>>>16,tn[vn+51|0]=Yn>>>24,Yn=Qn+dn^$n,tn[vn+44|0]=Yn,tn[vn+45|0]=Yn>>>8,tn[vn+46|0]=Yn>>>16,tn[vn+47|0]=Yn>>>24,Yn=Xn+un^qn,tn[vn+40|0]=Yn,tn[vn+41|0]=Yn>>>8,tn[vn+42|0]=Yn>>>16,tn[vn+43|0]=Yn>>>24,Yn=Bn+pn^Pn,tn[vn+36|0]=Yn,tn[vn+37|0]=Yn>>>8,tn[vn+38|0]=Yn>>>16,tn[vn+39|0]=Yn>>>24,Yn=Fn+bn^Kn,tn[vn+32|0]=Yn,tn[vn+33|0]=Yn>>>8,tn[vn+34|0]=Yn>>>16,tn[vn+35|0]=Yn>>>24,wn=wn+Gn^_n,tn[vn+28|0]=wn,tn[vn+29|0]=wn>>>8,tn[vn+30|0]=wn>>>16,tn[vn+31|0]=wn>>>24,Rn=fn^Rn+hn,tn[vn+24|0]=Rn,tn[vn+25|0]=Rn>>>8,tn[vn+26|0]=Rn>>>16,tn[vn+27|0]=Rn>>>24,en=Dn^en+Zn,tn[vn+20|0]=en,tn[vn+21|0]=en>>>8,tn[vn+22|0]=en>>>16,tn[vn+23|0]=en>>>24,en=Sn^En+An,tn[vn+16|0]=en,tn[vn+17|0]=en>>>8,tn[vn+18|0]=en>>>16,tn[vn+19|0]=en>>>24,en=zn^Jn+Wn,tn[vn+12|0]=en,tn[vn+13|0]=en>>>8,tn[vn+14|0]=en>>>16,tn[vn+15|0]=en>>>24,en=On^Cn+Nn,tn[vn+8|0]=en,tn[vn+9|0]=en>>>8,tn[vn+10|0]=en>>>16,tn[vn+11|0]=en>>>24,en=Mn^Hn+gn,tn[vn+4|0]=en,tn[vn+5|0]=en>>>8,tn[vn+6|0]=en>>>16,tn[vn+7|0]=en>>>24,Un=!(Tn=Tn+1|0)+Un|0,!rn&In>>>0<=64){if(!(!(In|rn)|!rn&In>>>0>63|!!(0|rn)))for(En=0;tn[En+jn|0]=an[vn+En|0],In>>>0>(En=En+1|0)>>>0;);nn[Wt+52>>2]=Un,nn[Wt+48>>2]=Tn;break}Pt=Pt- -64|0,en=vn- -64|0,rn=rn-1|0,rn=(In=In+-64|0)>>>0<4294967232?rn+1|0:rn}}function v(Wt,Pt){var en,an=0,In=0,rn=0,sn=0,on=0,cn=0,dn=0;mn=en=mn-704|0,an=80+((In=nn[Wt+72>>2]>>>3&127)+Wt|0)|0,In>>>0>=112?(TA(an,34608,128-In|0),n(Wt,In=Wt+80|0,en,en+640|0),VA(In,0,112)):TA(an,34608,112-In|0),cn=(rn=nn[Wt+64>>2])<<24|(65280&rn)<<8,In=(sn=16711680&rn)>>>8|0,dn=sn<<24,sn=(on=-16777216&rn)>>>24|0,an=dn|on<<8|-16777216&((255&(an=nn[Wt+68>>2]))<<24|rn>>>8)|16711680&((16777215&an)<<8|rn>>>24)|an>>>8&65280|an>>>24,tn[Wt+192|0]=an,tn[Wt+193|0]=an>>>8,tn[Wt+194|0]=an>>>16,tn[Wt+195|0]=an>>>24,an=In|sn|cn,In=0,In|=an,tn[Wt+196|0]=In,tn[Wt+197|0]=In>>>8,tn[Wt+198|0]=In>>>16,tn[Wt+199|0]=In>>>24,cn=(rn=nn[Wt+72>>2])<<24|(65280&rn)<<8,In=(sn=16711680&rn)>>>8|0,dn=sn<<24,sn=(on=-16777216&rn)>>>24|0,an=dn|on<<8|-16777216&((255&(an=nn[Wt+76>>2]))<<24|rn>>>8)|16711680&((16777215&an)<<8|rn>>>24)|an>>>8&65280|an>>>24,tn[Wt+200|0]=an,tn[Wt+201|0]=an>>>8,tn[Wt+202|0]=an>>>16,tn[Wt+203|0]=an>>>24,an=In|sn|cn,In=0,In|=an,tn[Wt+204|0]=In,tn[Wt+205|0]=In>>>8,tn[Wt+206|0]=In>>>16,tn[Wt+207|0]=In>>>24,n(Wt,Wt+80|0,en,en+640|0),cn=(rn=nn[Wt>>2])<<24|(65280&rn)<<8,In=(sn=16711680&rn)>>>8|0,dn=sn<<24,sn=(on=-16777216&rn)>>>24|0,an=dn|on<<8|-16777216&((255&(an=nn[Wt+4>>2]))<<24|rn>>>8)|16711680&((16777215&an)<<8|rn>>>24)|an>>>8&65280|an>>>24,tn[0|Pt]=an,tn[Pt+1|0]=an>>>8,tn[Pt+2|0]=an>>>16,tn[Pt+3|0]=an>>>24,an=In|sn|cn,In=0,In|=an,tn[Pt+4|0]=In,tn[Pt+5|0]=In>>>8,tn[Pt+6|0]=In>>>16,tn[Pt+7|0]=In>>>24,cn=(rn=nn[Wt+8>>2])<<24|(65280&rn)<<8,In=(sn=16711680&rn)>>>8|0,dn=sn<<24,sn=(on=-16777216&rn)>>>24|0,an=dn|on<<8|-16777216&((255&(an=nn[Wt+12>>2]))<<24|rn>>>8)|16711680&((16777215&an)<<8|rn>>>24)|an>>>8&65280|an>>>24,tn[Pt+8|0]=an,tn[Pt+9|0]=an>>>8,tn[Pt+10|0]=an>>>16,tn[Pt+11|0]=an>>>24,an=In|sn|cn,In=0,In|=an,tn[Pt+12|0]=In,tn[Pt+13|0]=In>>>8,tn[Pt+14|0]=In>>>16,tn[Pt+15|0]=In>>>24,cn=(rn=nn[Wt+16>>2])<<24|(65280&rn)<<8,In=(sn=16711680&rn)>>>8|0,dn=sn<<24,sn=(on=-16777216&rn)>>>24|0,an=dn|on<<8|-16777216&((255&(an=nn[Wt+20>>2]))<<24|rn>>>8)|16711680&((16777215&an)<<8|rn>>>24)|an>>>8&65280|an>>>24,tn[Pt+16|0]=an,tn[Pt+17|0]=an>>>8,tn[Pt+18|0]=an>>>16,tn[Pt+19|0]=an>>>24,an=In|sn|cn,In=0,In|=an,tn[Pt+20|0]=In,tn[Pt+21|0]=In>>>8,tn[Pt+22|0]=In>>>16,tn[Pt+23|0]=In>>>24,cn=(rn=nn[Wt+24>>2])<<24|(65280&rn)<<8,In=(sn=16711680&rn)>>>8|0,dn=sn<<24,sn=(on=-16777216&rn)>>>24|0,an=dn|on<<8|-16777216&((255&(an=nn[Wt+28>>2]))<<24|rn>>>8)|16711680&((16777215&an)<<8|rn>>>24)|an>>>8&65280|an>>>24,tn[Pt+24|0]=an,tn[Pt+25|0]=an>>>8,tn[Pt+26|0]=an>>>16,tn[Pt+27|0]=an>>>24,an=In|sn|cn,In=0,In|=an,tn[Pt+28|0]=In,tn[Pt+29|0]=In>>>8,tn[Pt+30|0]=In>>>16,tn[Pt+31|0]=In>>>24,cn=(rn=nn[Wt+32>>2])<<24|(65280&rn)<<8,In=(sn=16711680&rn)>>>8|0,dn=sn<<24,sn=(on=-16777216&rn)>>>24|0,an=dn|on<<8|-16777216&((255&(an=nn[Wt+36>>2]))<<24|rn>>>8)|16711680&((16777215&an)<<8|rn>>>24)|an>>>8&65280|an>>>24,tn[Pt+32|0]=an,tn[Pt+33|0]=an>>>8,tn[Pt+34|0]=an>>>16,tn[Pt+35|0]=an>>>24,an=In|sn|cn,In=0,In|=an,tn[Pt+36|0]=In,tn[Pt+37|0]=In>>>8,tn[Pt+38|0]=In>>>16,tn[Pt+39|0]=In>>>24,cn=(rn=nn[Wt+40>>2])<<24|(65280&rn)<<8,In=(sn=16711680&rn)>>>8|0,dn=sn<<24,sn=(on=-16777216&rn)>>>24|0,an=dn|on<<8|-16777216&((255&(an=nn[Wt+44>>2]))<<24|rn>>>8)|16711680&((16777215&an)<<8|rn>>>24)|an>>>8&65280|an>>>24,tn[Pt+40|0]=an,tn[Pt+41|0]=an>>>8,tn[Pt+42|0]=an>>>16,tn[Pt+43|0]=an>>>24,an=In|sn|cn,In=0,In|=an,tn[Pt+44|0]=In,tn[Pt+45|0]=In>>>8,tn[Pt+46|0]=In>>>16,tn[Pt+47|0]=In>>>24,cn=(rn=nn[Wt+48>>2])<<24|(65280&rn)<<8,In=(sn=16711680&rn)>>>8|0,dn=sn<<24,sn=(on=-16777216&rn)>>>24|0,an=dn|on<<8|-16777216&((255&(an=nn[Wt+52>>2]))<<24|rn>>>8)|16711680&((16777215&an)<<8|rn>>>24)|an>>>8&65280|an>>>24,tn[Pt+48|0]=an,tn[Pt+49|0]=an>>>8,tn[Pt+50|0]=an>>>16,tn[Pt+51|0]=an>>>24,an=In|sn|cn,In=0,In|=an,tn[Pt+52|0]=In,tn[Pt+53|0]=In>>>8,tn[Pt+54|0]=In>>>16,tn[Pt+55|0]=In>>>24,cn=(rn=nn[Wt+56>>2])<<24|(65280&rn)<<8,In=(sn=16711680&rn)>>>8|0,an=Pt,dn=sn<<24,sn=(on=-16777216&rn)>>>24|0,Pt=dn|on<<8|-16777216&((255&(Pt=nn[Wt+60>>2]))<<24|rn>>>8)|16711680&((16777215&Pt)<<8|rn>>>24)|Pt>>>8&65280|Pt>>>24,tn[an+56|0]=Pt,tn[an+57|0]=Pt>>>8,tn[an+58|0]=Pt>>>16,tn[an+59|0]=Pt>>>24,Pt=In|sn|cn,Pt|=In=0,tn[an+60|0]=Pt,tn[an+61|0]=Pt>>>8,tn[an+62|0]=Pt>>>16,tn[an+63|0]=Pt>>>24,MI(en,704),MI(Wt,208),mn=en+704|0}function R(Wt,Pt,en){var In,rn,sn,on,cn,dn,un,pn,bn,Gn,hn,Zn,An,Wn,Nn,gn,yn,vn,Yn,En,Vn=0;mn=In=mn-224|0,dn=an[en+16|0]|an[en+17|0]<<8|an[en+18|0]<<16|an[en+19|0]<<24,un=an[0|(Vn=en- -64|0)]|an[Vn+1|0]<<8|an[Vn+2|0]<<16|an[Vn+3|0]<<24,pn=an[en+80|0]|an[en+81|0]<<8|an[en+82|0]<<16|an[en+83|0]<<24,bn=an[en+32|0]|an[en+33|0]<<8|an[en+34|0]<<16|an[en+35|0]<<24,Gn=an[en+48|0]|an[en+49|0]<<8|an[en+50|0]<<16|an[en+51|0]<<24,rn=an[Pt+4|0]|an[Pt+5|0]<<8|an[Pt+6|0]<<16|an[Pt+7|0]<<24,hn=an[en+20|0]|an[en+21|0]<<8|an[en+22|0]<<16|an[en+23|0]<<24,Zn=an[en+68|0]|an[en+69|0]<<8|an[en+70|0]<<16|an[en+71|0]<<24,An=an[en+84|0]|an[en+85|0]<<8|an[en+86|0]<<16|an[en+87|0]<<24,Wn=an[en+36|0]|an[en+37|0]<<8|an[en+38|0]<<16|an[en+39|0]<<24,Nn=an[en+52|0]|an[en+53|0]<<8|an[en+54|0]<<16|an[en+55|0]<<24,sn=an[Pt+8|0]|an[Pt+9|0]<<8|an[Pt+10|0]<<16|an[Pt+11|0]<<24,gn=an[en+24|0]|an[en+25|0]<<8|an[en+26|0]<<16|an[en+27|0]<<24,yn=an[en+72|0]|an[en+73|0]<<8|an[en+74|0]<<16|an[en+75|0]<<24,vn=an[en+88|0]|an[en+89|0]<<8|an[en+90|0]<<16|an[en+91|0]<<24,Yn=an[en+40|0]|an[en+41|0]<<8|an[en+42|0]<<16|an[en+43|0]<<24,En=an[en+56|0]|an[en+57|0]<<8|an[en+58|0]<<16|an[en+59|0]<<24,on=an[0|Pt]|an[Pt+1|0]<<8|an[Pt+2|0]<<16|an[Pt+3|0]<<24,Pt=(cn=an[Pt+12|0]|an[Pt+13|0]<<8|an[Pt+14|0]<<16|an[Pt+15|0]<<24)^(an[en+44|0]|an[en+45|0]<<8|an[en+46|0]<<16|an[en+47|0]<<24)&(an[en+60|0]|an[en+61|0]<<8|an[en+62|0]<<16|an[en+63|0]<<24)^(an[en+28|0]|an[en+29|0]<<8|an[en+30|0]<<16|an[en+31|0]<<24)^(an[en+92|0]|an[en+93|0]<<8|an[en+94|0]<<16|an[en+95|0]<<24)^(an[en+76|0]|an[en+77|0]<<8|an[en+78|0]<<16|an[en+79|0]<<24),tn[Wt+12|0]=Pt,tn[Wt+13|0]=Pt>>>8,tn[Wt+14|0]=Pt>>>16,tn[Wt+15|0]=Pt>>>24,Pt=Yn&En^yn^vn^gn^sn,tn[Wt+8|0]=Pt,tn[Wt+9|0]=Pt>>>8,tn[Wt+10|0]=Pt>>>16,tn[Wt+11|0]=Pt>>>24,Pt=Wn&Nn^Zn^An^hn^rn,tn[Wt+4|0]=Pt,tn[Wt+5|0]=Pt>>>8,tn[Wt+6|0]=Pt>>>16,tn[Wt+7|0]=Pt>>>24,Pt=bn&Gn^dn^un^pn^on,tn[0|Wt]=Pt,tn[Wt+1|0]=Pt>>>8,tn[Wt+2|0]=Pt>>>16,tn[Wt+3|0]=Pt>>>24,Wt=nn[en+92>>2],nn[In+216>>2]=nn[en+88>>2],nn[In+220>>2]=Wt,Wt=nn[en+84>>2],nn[In+208>>2]=nn[en+80>>2],nn[In+212>>2]=Wt,Wt=nn[en+76>>2],nn[In+184>>2]=nn[en+72>>2],nn[In+188>>2]=Wt,Wt=nn[Vn+4>>2],nn[In+176>>2]=nn[Vn>>2],nn[In+180>>2]=Wt,Wt=nn[en+92>>2],nn[In+168>>2]=nn[en+88>>2],nn[In+172>>2]=Wt,Wt=nn[en+84>>2],nn[In+160>>2]=nn[en+80>>2],nn[In+164>>2]=Wt,aA(Wt=In+192|0,In+176|0,In+160|0),Pt=nn[In+204>>2],nn[en+88>>2]=nn[In+200>>2],nn[en+92>>2]=Pt,Pt=nn[In+196>>2],nn[en+80>>2]=nn[In+192>>2],nn[en+84>>2]=Pt,Pt=nn[en+60>>2],nn[In+152>>2]=nn[en+56>>2],nn[In+156>>2]=Pt,Pt=nn[en+52>>2],nn[In+144>>2]=nn[en+48>>2],nn[In+148>>2]=Pt,Pt=nn[en+76>>2],nn[In+136>>2]=nn[en+72>>2],nn[In+140>>2]=Pt,Pt=nn[Vn+4>>2],nn[In+128>>2]=nn[Vn>>2],nn[In+132>>2]=Pt,aA(Wt,In+144|0,In+128|0),Pt=nn[In+204>>2],nn[en+72>>2]=nn[In+200>>2],nn[en+76>>2]=Pt,Pt=nn[In+196>>2],nn[Vn>>2]=nn[In+192>>2],nn[Vn+4>>2]=Pt,Pt=nn[en+44>>2],nn[In+120>>2]=nn[en+40>>2],nn[In+124>>2]=Pt,Pt=nn[en+36>>2],nn[In+112>>2]=nn[en+32>>2],nn[In+116>>2]=Pt,Pt=nn[en+60>>2],nn[In+104>>2]=nn[en+56>>2],nn[In+108>>2]=Pt,Pt=nn[en+52>>2],nn[In+96>>2]=nn[en+48>>2],nn[In+100>>2]=Pt,aA(Wt,In+112|0,In+96|0),Pt=nn[In+204>>2],nn[en+56>>2]=nn[In+200>>2],nn[en+60>>2]=Pt,Pt=nn[In+196>>2],nn[en+48>>2]=nn[In+192>>2],nn[en+52>>2]=Pt,Pt=nn[en+28>>2],nn[In+88>>2]=nn[en+24>>2],nn[In+92>>2]=Pt,Pt=nn[en+20>>2],nn[In+80>>2]=nn[en+16>>2],nn[In+84>>2]=Pt,Pt=nn[en+44>>2],nn[In+72>>2]=nn[en+40>>2],nn[In+76>>2]=Pt,Pt=nn[en+36>>2],nn[In+64>>2]=nn[en+32>>2],nn[In+68>>2]=Pt,aA(Wt,In+80|0,In- -64|0),Pt=nn[In+204>>2],nn[en+40>>2]=nn[In+200>>2],nn[en+44>>2]=Pt,Pt=nn[In+196>>2],nn[en+32>>2]=nn[In+192>>2],nn[en+36>>2]=Pt,Pt=nn[en+12>>2],nn[In+56>>2]=nn[en+8>>2],nn[In+60>>2]=Pt,Pt=nn[en+4>>2],nn[In+48>>2]=nn[en>>2],nn[In+52>>2]=Pt,Pt=nn[en+28>>2],nn[In+40>>2]=nn[en+24>>2],nn[In+44>>2]=Pt,Pt=nn[en+20>>2],nn[In+32>>2]=nn[en+16>>2],nn[In+36>>2]=Pt,aA(Wt,In+48|0,In+32|0),Pt=nn[In+204>>2],nn[en+24>>2]=nn[In+200>>2],nn[en+28>>2]=Pt,Pt=nn[In+196>>2],nn[en+16>>2]=nn[In+192>>2],nn[en+20>>2]=Pt,Pt=nn[In+220>>2],nn[In+24>>2]=nn[In+216>>2],nn[In+28>>2]=Pt,Pt=nn[In+212>>2],nn[In+16>>2]=nn[In+208>>2],nn[In+20>>2]=Pt,Pt=nn[en+12>>2],nn[In+8>>2]=nn[en+8>>2],nn[In+12>>2]=Pt,Pt=nn[en+4>>2],nn[In>>2]=nn[en>>2],nn[In+4>>2]=Pt,aA(Wt,In+16|0,In),Wt=nn[In+192>>2],Pt=nn[In+196>>2],Vn=nn[In+200>>2],nn[en+12>>2]=cn^nn[In+204>>2],nn[en+8>>2]=Vn^sn,nn[en+4>>2]=Pt^rn,nn[en>>2]=Wt^on,mn=In+224|0}function L(Wt,Pt,en){var In,rn,sn,on,cn,dn,un,pn,bn,Gn,hn,Zn,An,Wn,Nn,gn=0,yn=0,vn=0,Yn=0,En=0;mn=In=mn-224|0,vn=an[en+16|0]|an[en+17|0]<<8|an[en+18|0]<<16|an[en+19|0]<<24,yn=an[0|(gn=en- -64|0)]|an[gn+1|0]<<8|an[gn+2|0]<<16|an[gn+3|0]<<24,rn=an[en+80|0]|an[en+81|0]<<8|an[en+82|0]<<16|an[en+83|0]<<24,sn=an[en+32|0]|an[en+33|0]<<8|an[en+34|0]<<16|an[en+35|0]<<24,on=an[en+48|0]|an[en+49|0]<<8|an[en+50|0]<<16|an[en+51|0]<<24,Yn=an[en+20|0]|an[en+21|0]<<8|an[en+22|0]<<16|an[en+23|0]<<24,cn=an[en+68|0]|an[en+69|0]<<8|an[en+70|0]<<16|an[en+71|0]<<24,dn=an[en+84|0]|an[en+85|0]<<8|an[en+86|0]<<16|an[en+87|0]<<24,un=an[Pt+4|0]|an[Pt+5|0]<<8|an[Pt+6|0]<<16|an[Pt+7|0]<<24,pn=an[en+36|0]|an[en+37|0]<<8|an[en+38|0]<<16|an[en+39|0]<<24,bn=an[en+52|0]|an[en+53|0]<<8|an[en+54|0]<<16|an[en+55|0]<<24,En=an[en+24|0]|an[en+25|0]<<8|an[en+26|0]<<16|an[en+27|0]<<24,Gn=an[en+72|0]|an[en+73|0]<<8|an[en+74|0]<<16|an[en+75|0]<<24,hn=an[en+88|0]|an[en+89|0]<<8|an[en+90|0]<<16|an[en+91|0]<<24,Zn=an[Pt+8|0]|an[Pt+9|0]<<8|an[Pt+10|0]<<16|an[Pt+11|0]<<24,An=an[en+40|0]|an[en+41|0]<<8|an[en+42|0]<<16|an[en+43|0]<<24,Wn=an[en+56|0]|an[en+57|0]<<8|an[en+58|0]<<16|an[en+59|0]<<24,Nn=an[0|Pt]|an[Pt+1|0]<<8|an[Pt+2|0]<<16|an[Pt+3|0]<<24,Pt=(an[en+44|0]|an[en+45|0]<<8|an[en+46|0]<<16|an[en+47|0]<<24)&(an[en+60|0]|an[en+61|0]<<8|an[en+62|0]<<16|an[en+63|0]<<24)^(an[en+28|0]|an[en+29|0]<<8|an[en+30|0]<<16|an[en+31|0]<<24)^(an[en+76|0]|an[en+77|0]<<8|an[en+78|0]<<16|an[en+79|0]<<24)^(an[en+92|0]|an[en+93|0]<<8|an[en+94|0]<<16|an[en+95|0]<<24)^(an[Pt+12|0]|an[Pt+13|0]<<8|an[Pt+14|0]<<16|an[Pt+15|0]<<24),tn[Wt+12|0]=Pt,tn[Wt+13|0]=Pt>>>8,tn[Wt+14|0]=Pt>>>16,tn[Wt+15|0]=Pt>>>24,En=An&Wn^En^hn^Zn^Gn,tn[Wt+8|0]=En,tn[Wt+9|0]=En>>>8,tn[Wt+10|0]=En>>>16,tn[Wt+11|0]=En>>>24,Yn=pn&bn^Yn^dn^un^cn,tn[Wt+4|0]=Yn,tn[Wt+5|0]=Yn>>>8,tn[Wt+6|0]=Yn>>>16,tn[Wt+7|0]=Yn>>>24,vn=sn&on^vn^yn^rn^Nn,tn[0|Wt]=vn,tn[Wt+1|0]=vn>>>8,tn[Wt+2|0]=vn>>>16,tn[Wt+3|0]=vn>>>24,Wt=nn[en+92>>2],nn[In+216>>2]=nn[en+88>>2],nn[In+220>>2]=Wt,Wt=nn[en+84>>2],nn[In+208>>2]=nn[en+80>>2],nn[In+212>>2]=Wt,Wt=nn[en+76>>2],nn[In+184>>2]=nn[en+72>>2],nn[In+188>>2]=Wt,Wt=nn[gn+4>>2],nn[In+176>>2]=nn[gn>>2],nn[In+180>>2]=Wt,Wt=nn[en+92>>2],nn[In+168>>2]=nn[en+88>>2],nn[In+172>>2]=Wt,Wt=nn[en+84>>2],nn[In+160>>2]=nn[en+80>>2],nn[In+164>>2]=Wt,aA(Wt=In+192|0,In+176|0,In+160|0),yn=nn[In+204>>2],nn[en+88>>2]=nn[In+200>>2],nn[en+92>>2]=yn,yn=nn[In+196>>2],nn[en+80>>2]=nn[In+192>>2],nn[en+84>>2]=yn,yn=nn[en+60>>2],nn[In+152>>2]=nn[en+56>>2],nn[In+156>>2]=yn,yn=nn[en+52>>2],nn[In+144>>2]=nn[en+48>>2],nn[In+148>>2]=yn,yn=nn[en+76>>2],nn[In+136>>2]=nn[en+72>>2],nn[In+140>>2]=yn,yn=nn[gn+4>>2],nn[In+128>>2]=nn[gn>>2],nn[In+132>>2]=yn,aA(Wt,In+144|0,In+128|0),yn=nn[In+204>>2],nn[en+72>>2]=nn[In+200>>2],nn[en+76>>2]=yn,yn=nn[In+196>>2],nn[gn>>2]=nn[In+192>>2],nn[gn+4>>2]=yn,gn=nn[en+44>>2],nn[In+120>>2]=nn[en+40>>2],nn[In+124>>2]=gn,gn=nn[en+36>>2],nn[In+112>>2]=nn[en+32>>2],nn[In+116>>2]=gn,gn=nn[en+60>>2],nn[In+104>>2]=nn[en+56>>2],nn[In+108>>2]=gn,gn=nn[en+52>>2],nn[In+96>>2]=nn[en+48>>2],nn[In+100>>2]=gn,aA(Wt,In+112|0,In+96|0),gn=nn[In+204>>2],nn[en+56>>2]=nn[In+200>>2],nn[en+60>>2]=gn,gn=nn[In+196>>2],nn[en+48>>2]=nn[In+192>>2],nn[en+52>>2]=gn,gn=nn[en+28>>2],nn[In+88>>2]=nn[en+24>>2],nn[In+92>>2]=gn,gn=nn[en+20>>2],nn[In+80>>2]=nn[en+16>>2],nn[In+84>>2]=gn,gn=nn[en+44>>2],nn[In+72>>2]=nn[en+40>>2],nn[In+76>>2]=gn,gn=nn[en+36>>2],nn[In+64>>2]=nn[en+32>>2],nn[In+68>>2]=gn,aA(Wt,In+80|0,In- -64|0),gn=nn[In+204>>2],nn[en+40>>2]=nn[In+200>>2],nn[en+44>>2]=gn,gn=nn[In+196>>2],nn[en+32>>2]=nn[In+192>>2],nn[en+36>>2]=gn,gn=nn[en+12>>2],nn[In+56>>2]=nn[en+8>>2],nn[In+60>>2]=gn,gn=nn[en+4>>2],nn[In+48>>2]=nn[en>>2],nn[In+52>>2]=gn,gn=nn[en+28>>2],nn[In+40>>2]=nn[en+24>>2],nn[In+44>>2]=gn,gn=nn[en+20>>2],nn[In+32>>2]=nn[en+16>>2],nn[In+36>>2]=gn,aA(Wt,In+48|0,In+32|0),gn=nn[In+204>>2],nn[en+24>>2]=nn[In+200>>2],nn[en+28>>2]=gn,gn=nn[In+196>>2],nn[en+16>>2]=nn[In+192>>2],nn[en+20>>2]=gn,gn=nn[In+220>>2],nn[In+24>>2]=nn[In+216>>2],nn[In+28>>2]=gn,gn=nn[In+212>>2],nn[In+16>>2]=nn[In+208>>2],nn[In+20>>2]=gn,gn=nn[en+12>>2],nn[In+8>>2]=nn[en+8>>2],nn[In+12>>2]=gn,gn=nn[en+4>>2],nn[In>>2]=nn[en>>2],nn[In+4>>2]=gn,aA(Wt,In+16|0,In),Wt=nn[In+192>>2],gn=nn[In+196>>2],yn=nn[In+200>>2],nn[en+12>>2]=Pt^nn[In+204>>2],nn[en+8>>2]=yn^En,nn[en+4>>2]=gn^Yn,nn[en>>2]=Wt^vn,mn=In+224|0}function x(Wt,Pt){var en,tn,In,rn,sn,on,cn,dn,un,pn=0,bn=0;mn=en=mn-288|0,tn=an[Wt+28|0]|an[Wt+29|0]<<8|an[Wt+30|0]<<16|an[Wt+31|0]<<24,In=an[Wt+24|0]|an[Wt+25|0]<<8|an[Wt+26|0]<<16|an[Wt+27|0]<<24,rn=an[Wt+20|0]|an[Wt+21|0]<<8|an[Wt+22|0]<<16|an[Wt+23|0]<<24,sn=an[Wt+16|0]|an[Wt+17|0]<<8|an[Wt+18|0]<<16|an[Wt+19|0]<<24,on=an[Wt+4|0]|an[Wt+5|0]<<8|an[Wt+6|0]<<16|an[Wt+7|0]<<24,cn=an[Wt+8|0]|an[Wt+9|0]<<8|an[Wt+10|0]<<16|an[Wt+11|0]<<24,dn=an[Wt+12|0]|an[Wt+13|0]<<8|an[Wt+14|0]<<16|an[Wt+15|0]<<24,un=an[0|Wt]|an[Wt+1|0]<<8|an[Wt+2|0]<<16|an[Wt+3|0]<<24,Wt=nn[Pt+124>>2],nn[en+280>>2]=nn[Pt+120>>2],nn[en+284>>2]=Wt,Wt=nn[Pt+116>>2],nn[en+272>>2]=nn[Pt+112>>2],nn[en+276>>2]=Wt,Wt=nn[Pt+108>>2],nn[en+248>>2]=nn[Pt+104>>2],nn[en+252>>2]=Wt,Wt=nn[Pt+100>>2],nn[en+240>>2]=nn[Pt+96>>2],nn[en+244>>2]=Wt,Wt=nn[Pt+124>>2],nn[en+232>>2]=nn[Pt+120>>2],nn[en+236>>2]=Wt,Wt=nn[Pt+116>>2],nn[en+224>>2]=nn[Pt+112>>2],nn[en+228>>2]=Wt,aA(bn=en+256|0,en+240|0,en+224|0),Wt=nn[en+268>>2],nn[Pt+120>>2]=nn[en+264>>2],nn[Pt+124>>2]=Wt,Wt=nn[en+260>>2],nn[Pt+112>>2]=nn[en+256>>2],nn[Pt+116>>2]=Wt,Wt=nn[Pt+92>>2],nn[en+216>>2]=nn[Pt+88>>2],nn[en+220>>2]=Wt,Wt=nn[Pt+84>>2],nn[en+208>>2]=nn[Pt+80>>2],nn[en+212>>2]=Wt,Wt=nn[Pt+108>>2],nn[en+200>>2]=nn[Pt+104>>2],nn[en+204>>2]=Wt,Wt=nn[Pt+100>>2],nn[en+192>>2]=nn[Pt+96>>2],nn[en+196>>2]=Wt,aA(bn,en+208|0,en+192|0),Wt=nn[en+268>>2],nn[Pt+104>>2]=nn[en+264>>2],nn[Pt+108>>2]=Wt,Wt=nn[en+260>>2],nn[Pt+96>>2]=nn[en+256>>2],nn[Pt+100>>2]=Wt,Wt=nn[Pt+76>>2],nn[en+184>>2]=nn[Pt+72>>2],nn[en+188>>2]=Wt,pn=nn[4+(Wt=Pt- -64|0)>>2],nn[en+176>>2]=nn[Wt>>2],nn[en+180>>2]=pn,pn=nn[Pt+92>>2],nn[en+168>>2]=nn[Pt+88>>2],nn[en+172>>2]=pn,pn=nn[Pt+84>>2],nn[en+160>>2]=nn[Pt+80>>2],nn[en+164>>2]=pn,aA(bn,en+176|0,en+160|0),pn=nn[en+268>>2],nn[Pt+88>>2]=nn[en+264>>2],nn[Pt+92>>2]=pn,pn=nn[en+260>>2],nn[Pt+80>>2]=nn[en+256>>2],nn[Pt+84>>2]=pn,pn=nn[Pt+60>>2],nn[en+152>>2]=nn[Pt+56>>2],nn[en+156>>2]=pn,pn=nn[Pt+52>>2],nn[en+144>>2]=nn[Pt+48>>2],nn[en+148>>2]=pn,pn=nn[Pt+76>>2],nn[en+136>>2]=nn[Pt+72>>2],nn[en+140>>2]=pn,pn=nn[Wt+4>>2],nn[en+128>>2]=nn[Wt>>2],nn[en+132>>2]=pn,aA(bn,en+144|0,en+128|0),pn=nn[en+268>>2],nn[Pt+72>>2]=nn[en+264>>2],nn[Pt+76>>2]=pn,pn=nn[en+260>>2],nn[Wt>>2]=nn[en+256>>2],nn[Wt+4>>2]=pn,pn=nn[Pt+44>>2],nn[en+120>>2]=nn[Pt+40>>2],nn[en+124>>2]=pn,pn=nn[Pt+36>>2],nn[en+112>>2]=nn[Pt+32>>2],nn[en+116>>2]=pn,pn=nn[Pt+60>>2],nn[en+104>>2]=nn[Pt+56>>2],nn[en+108>>2]=pn,pn=nn[Pt+52>>2],nn[en+96>>2]=nn[Pt+48>>2],nn[en+100>>2]=pn,aA(bn,en+112|0,en+96|0),pn=nn[en+268>>2],nn[Pt+56>>2]=nn[en+264>>2],nn[Pt+60>>2]=pn,pn=nn[en+260>>2],nn[Pt+48>>2]=nn[en+256>>2],nn[Pt+52>>2]=pn,pn=nn[Pt+28>>2],nn[en+88>>2]=nn[Pt+24>>2],nn[en+92>>2]=pn,pn=nn[Pt+20>>2],nn[en+80>>2]=nn[Pt+16>>2],nn[en+84>>2]=pn,pn=nn[Pt+44>>2],nn[en+72>>2]=nn[Pt+40>>2],nn[en+76>>2]=pn,pn=nn[Pt+36>>2],nn[en+64>>2]=nn[Pt+32>>2],nn[en+68>>2]=pn,aA(bn,en+80|0,en- -64|0),pn=nn[en+268>>2],nn[Pt+40>>2]=nn[en+264>>2],nn[Pt+44>>2]=pn,pn=nn[en+260>>2],nn[Pt+32>>2]=nn[en+256>>2],nn[Pt+36>>2]=pn,pn=nn[Pt+12>>2],nn[en+56>>2]=nn[Pt+8>>2],nn[en+60>>2]=pn,pn=nn[Pt+4>>2],nn[en+48>>2]=nn[Pt>>2],nn[en+52>>2]=pn,pn=nn[Pt+28>>2],nn[en+40>>2]=nn[Pt+24>>2],nn[en+44>>2]=pn,pn=nn[Pt+20>>2],nn[en+32>>2]=nn[Pt+16>>2],nn[en+36>>2]=pn,aA(bn,en+48|0,en+32|0),pn=nn[en+268>>2],nn[Pt+24>>2]=nn[en+264>>2],nn[Pt+28>>2]=pn,pn=nn[en+260>>2],nn[Pt+16>>2]=nn[en+256>>2],nn[Pt+20>>2]=pn,pn=nn[en+284>>2],nn[en+24>>2]=nn[en+280>>2],nn[en+28>>2]=pn,pn=nn[en+276>>2],nn[en+16>>2]=nn[en+272>>2],nn[en+20>>2]=pn,pn=nn[Pt+12>>2],nn[en+8>>2]=nn[Pt+8>>2],nn[en+12>>2]=pn,pn=nn[Pt+4>>2],nn[en>>2]=nn[Pt>>2],nn[en+4>>2]=pn,aA(bn,en+16|0,en),bn=nn[en+268>>2],nn[Pt+8>>2]=nn[en+264>>2],nn[Pt+12>>2]=bn,bn=nn[en+260>>2],nn[Pt>>2]=nn[en+256>>2],nn[Pt+4>>2]=bn,nn[Pt+12>>2]=(an[Pt+12|0]|an[Pt+13|0]<<8|an[Pt+14|0]<<16|an[Pt+15|0]<<24)^dn,nn[Pt+8>>2]=(an[Pt+8|0]|an[Pt+9|0]<<8|an[Pt+10|0]<<16|an[Pt+11|0]<<24)^cn,nn[Pt+4>>2]=(an[Pt+4|0]|an[Pt+5|0]<<8|an[Pt+6|0]<<16|an[Pt+7|0]<<24)^on,nn[Pt>>2]=(an[0|Pt]|an[Pt+1|0]<<8|an[Pt+2|0]<<16|an[Pt+3|0]<<24)^un,nn[Wt>>2]=(an[0|Wt]|an[Wt+1|0]<<8|an[Wt+2|0]<<16|an[Wt+3|0]<<24)^sn,nn[Pt+68>>2]=(an[Pt+68|0]|an[Pt+69|0]<<8|an[Pt+70|0]<<16|an[Pt+71|0]<<24)^rn,nn[Pt+72>>2]=(an[Pt+72|0]|an[Pt+73|0]<<8|an[Pt+74|0]<<16|an[Pt+75|0]<<24)^In,nn[Pt+76>>2]=(an[Pt+76|0]|an[Pt+77|0]<<8|an[Pt+78|0]<<16|an[Pt+79|0]<<24)^tn,mn=en+288|0}function u(Wt,Pt,en,tn){var In,rn,sn,on,cn,dn,un,pn,bn,Gn,hn,Zn,An,Wn,Nn,gn,yn=0,vn=0,Yn=0,En=0;mn=In=mn-240|0,nn[In+200>>2]=0,nn[In+204>>2]=0,nn[In+192>>2]=0,nn[In+196>>2]=0,TA(vn=In+192|0,Pt,en),Yn=an[tn+16|0]|an[tn+17|0]<<8|an[tn+18|0]<<16|an[tn+19|0]<<24,En=an[0|(Pt=tn- -64|0)]|an[Pt+1|0]<<8|an[Pt+2|0]<<16|an[Pt+3|0]<<24,yn=an[tn+80|0]|an[tn+81|0]<<8|an[tn+82|0]<<16|an[tn+83|0]<<24,rn=an[tn+32|0]|an[tn+33|0]<<8|an[tn+34|0]<<16|an[tn+35|0]<<24,sn=an[tn+48|0]|an[tn+49|0]<<8|an[tn+50|0]<<16|an[tn+51|0]<<24,on=an[tn+20|0]|an[tn+21|0]<<8|an[tn+22|0]<<16|an[tn+23|0]<<24,cn=an[tn+68|0]|an[tn+69|0]<<8|an[tn+70|0]<<16|an[tn+71|0]<<24,dn=an[tn+84|0]|an[tn+85|0]<<8|an[tn+86|0]<<16|an[tn+87|0]<<24,un=an[tn+36|0]|an[tn+37|0]<<8|an[tn+38|0]<<16|an[tn+39|0]<<24,pn=an[tn+52|0]|an[tn+53|0]<<8|an[tn+54|0]<<16|an[tn+55|0]<<24,bn=an[tn+24|0]|an[tn+25|0]<<8|an[tn+26|0]<<16|an[tn+27|0]<<24,Gn=an[tn+72|0]|an[tn+73|0]<<8|an[tn+74|0]<<16|an[tn+75|0]<<24,hn=an[tn+88|0]|an[tn+89|0]<<8|an[tn+90|0]<<16|an[tn+91|0]<<24,Zn=an[tn+40|0]|an[tn+41|0]<<8|an[tn+42|0]<<16|an[tn+43|0]<<24,An=an[tn+56|0]|an[tn+57|0]<<8|an[tn+58|0]<<16|an[tn+59|0]<<24,Wn=nn[In+192>>2],Nn=nn[In+196>>2],gn=nn[In+200>>2],nn[In+204>>2]=(an[tn+44|0]|an[tn+45|0]<<8|an[tn+46|0]<<16|an[tn+47|0]<<24)&(an[tn+60|0]|an[tn+61|0]<<8|an[tn+62|0]<<16|an[tn+63|0]<<24)^(an[tn+28|0]|an[tn+29|0]<<8|an[tn+30|0]<<16|an[tn+31|0]<<24)^(an[tn+76|0]|an[tn+77|0]<<8|an[tn+78|0]<<16|an[tn+79|0]<<24)^nn[In+204>>2]^(an[tn+92|0]|an[tn+93|0]<<8|an[tn+94|0]<<16|an[tn+95|0]<<24),nn[In+200>>2]=Zn&An^hn^gn^Gn^bn,nn[In+196>>2]=un&pn^dn^Nn^cn^on,nn[In+192>>2]=rn&sn^Yn^En^yn^Wn,VA(en+vn|0,0,16-en|0),TA(Wt,vn,en),en=nn[In+192>>2],vn=nn[In+196>>2],Yn=nn[In+200>>2],En=nn[In+204>>2],Wt=nn[tn+92>>2],nn[In+232>>2]=nn[tn+88>>2],nn[In+236>>2]=Wt,Wt=nn[tn+84>>2],nn[In+224>>2]=nn[tn+80>>2],nn[In+228>>2]=Wt,Wt=nn[tn+76>>2],nn[In+184>>2]=nn[tn+72>>2],nn[In+188>>2]=Wt,Wt=nn[Pt+4>>2],nn[In+176>>2]=nn[Pt>>2],nn[In+180>>2]=Wt,Wt=nn[tn+92>>2],nn[In+168>>2]=nn[tn+88>>2],nn[In+172>>2]=Wt,Wt=nn[tn+84>>2],nn[In+160>>2]=nn[tn+80>>2],nn[In+164>>2]=Wt,aA(Wt=In+208|0,In+176|0,In+160|0),yn=nn[In+220>>2],nn[tn+88>>2]=nn[In+216>>2],nn[tn+92>>2]=yn,yn=nn[In+212>>2],nn[tn+80>>2]=nn[In+208>>2],nn[tn+84>>2]=yn,yn=nn[tn+60>>2],nn[In+152>>2]=nn[tn+56>>2],nn[In+156>>2]=yn,yn=nn[tn+52>>2],nn[In+144>>2]=nn[tn+48>>2],nn[In+148>>2]=yn,yn=nn[tn+76>>2],nn[In+136>>2]=nn[tn+72>>2],nn[In+140>>2]=yn,yn=nn[Pt+4>>2],nn[In+128>>2]=nn[Pt>>2],nn[In+132>>2]=yn,aA(Wt,In+144|0,In+128|0),yn=nn[In+220>>2],nn[tn+72>>2]=nn[In+216>>2],nn[tn+76>>2]=yn,yn=nn[In+212>>2],nn[Pt>>2]=nn[In+208>>2],nn[Pt+4>>2]=yn,Pt=nn[tn+44>>2],nn[In+120>>2]=nn[tn+40>>2],nn[In+124>>2]=Pt,Pt=nn[tn+36>>2],nn[In+112>>2]=nn[tn+32>>2],nn[In+116>>2]=Pt,Pt=nn[tn+60>>2],nn[In+104>>2]=nn[tn+56>>2],nn[In+108>>2]=Pt,Pt=nn[tn+52>>2],nn[In+96>>2]=nn[tn+48>>2],nn[In+100>>2]=Pt,aA(Wt,In+112|0,In+96|0),Pt=nn[In+220>>2],nn[tn+56>>2]=nn[In+216>>2],nn[tn+60>>2]=Pt,Pt=nn[In+212>>2],nn[tn+48>>2]=nn[In+208>>2],nn[tn+52>>2]=Pt,Pt=nn[tn+28>>2],nn[In+88>>2]=nn[tn+24>>2],nn[In+92>>2]=Pt,Pt=nn[tn+20>>2],nn[In+80>>2]=nn[tn+16>>2],nn[In+84>>2]=Pt,Pt=nn[tn+44>>2],nn[In+72>>2]=nn[tn+40>>2],nn[In+76>>2]=Pt,Pt=nn[tn+36>>2],nn[In+64>>2]=nn[tn+32>>2],nn[In+68>>2]=Pt,aA(Wt,In+80|0,In- -64|0),Pt=nn[In+220>>2],nn[tn+40>>2]=nn[In+216>>2],nn[tn+44>>2]=Pt,Pt=nn[In+212>>2],nn[tn+32>>2]=nn[In+208>>2],nn[tn+36>>2]=Pt,Pt=nn[tn+12>>2],nn[In+56>>2]=nn[tn+8>>2],nn[In+60>>2]=Pt,Pt=nn[tn+4>>2],nn[In+48>>2]=nn[tn>>2],nn[In+52>>2]=Pt,Pt=nn[tn+28>>2],nn[In+40>>2]=nn[tn+24>>2],nn[In+44>>2]=Pt,Pt=nn[tn+20>>2],nn[In+32>>2]=nn[tn+16>>2],nn[In+36>>2]=Pt,aA(Wt,In+48|0,In+32|0),Pt=nn[In+220>>2],nn[tn+24>>2]=nn[In+216>>2],nn[tn+28>>2]=Pt,Pt=nn[In+212>>2],nn[tn+16>>2]=nn[In+208>>2],nn[tn+20>>2]=Pt,Pt=nn[In+236>>2],nn[In+24>>2]=nn[In+232>>2],nn[In+28>>2]=Pt,Pt=nn[In+228>>2],nn[In+16>>2]=nn[In+224>>2],nn[In+20>>2]=Pt,Pt=nn[tn+12>>2],nn[In+8>>2]=nn[tn+8>>2],nn[In+12>>2]=Pt,Pt=nn[tn+4>>2],nn[In>>2]=nn[tn>>2],nn[In+4>>2]=Pt,aA(Wt,In+16|0,In),Wt=nn[In+208>>2],Pt=nn[In+212>>2],yn=nn[In+216>>2],nn[tn+12>>2]=En^nn[In+220>>2],nn[tn+8>>2]=yn^Yn,nn[tn+4>>2]=Pt^vn,nn[tn>>2]=Wt^en,mn=In+240|0}function m(Wt,Pt,en){var In,rn=0,sn=0,on=0,cn=0,un=0;mn=In=mn+-64|0;e:{if((en-65&255)>>>0>191){if(sn=-1,!(an[Wt+80|0]|an[Wt+81|0]<<8|an[Wt+82|0]<<16|an[Wt+83|0]<<24|an[Wt+84|0]|an[Wt+85|0]<<8|an[Wt+86|0]<<16|an[Wt+87|0]<<24)){if((on=an[Wt+352|0]|an[Wt+353|0]<<8|an[Wt+354|0]<<16|an[Wt+355|0]<<24)>>>0>=129){if(cn=rn=an[Wt+68|0]|an[Wt+69|0]<<8|an[Wt+70|0]<<16|an[Wt+71|0]<<24,rn=(on=128+(sn=an[Wt+64|0]|an[Wt+65|0]<<8|an[Wt+66|0]<<16|an[Wt+67|0]<<24)|0)>>>0<128?rn+1|0:rn,tn[Wt+64|0]=on,tn[Wt+65|0]=on>>>8,tn[Wt+66|0]=on>>>16,tn[Wt+67|0]=on>>>24,tn[Wt+68|0]=rn,tn[Wt+69|0]=rn>>>8,tn[Wt+70|0]=rn>>>16,tn[Wt+71|0]=rn>>>24,rn=an[Wt+76|0]|an[Wt+77|0]<<8|an[Wt+78|0]<<16|an[Wt+79|0]<<24,rn=(un=sn=-1==(0|cn)&sn>>>0>4294967167)>>>0>(sn=sn+(an[Wt+72|0]|an[Wt+73|0]<<8|an[Wt+74|0]<<16|an[Wt+75|0]<<24)|0)>>>0?rn+1|0:rn,tn[Wt+72|0]=sn,tn[Wt+73|0]=sn>>>8,tn[Wt+74|0]=sn>>>16,tn[Wt+75|0]=sn>>>24,tn[Wt+76|0]=rn,tn[Wt+77|0]=rn>>>8,tn[Wt+78|0]=rn>>>16,tn[Wt+79|0]=rn>>>24,h(Wt,rn=Wt+96|0),sn=(an[Wt+352|0]|an[Wt+353|0]<<8|an[Wt+354|0]<<16|an[Wt+355|0]<<24)-128|0,tn[Wt+352|0]=sn,tn[Wt+353|0]=sn>>>8,tn[Wt+354|0]=sn>>>16,tn[Wt+355|0]=sn>>>24,sn>>>0>=129)break e;TA(rn,Wt+224|0,sn),on=an[Wt+352|0]|an[Wt+353|0]<<8|an[Wt+354|0]<<16|an[Wt+355|0]<<24}sn=un=an[Wt+68|0]|an[Wt+69|0]<<8|an[Wt+70|0]<<16|an[Wt+71|0]<<24,sn=(cn=on+(rn=an[Wt+64|0]|an[Wt+65|0]<<8|an[Wt+66|0]<<16|an[Wt+67|0]<<24)|0)>>>0>>0?sn+1|0:sn,tn[Wt+64|0]=cn,tn[Wt+65|0]=cn>>>8,tn[Wt+66|0]=cn>>>16,tn[Wt+67|0]=cn>>>24,tn[Wt+68|0]=sn,tn[Wt+69|0]=sn>>>8,tn[Wt+70|0]=sn>>>16,tn[Wt+71|0]=sn>>>24,sn=(0|sn)==(0|un)&rn>>>0>cn>>>0|sn>>>0>>0,rn=an[Wt+76|0]|an[Wt+77|0]<<8|an[Wt+78|0]<<16|an[Wt+79|0]<<24,rn=(un=sn)>>>0>(sn=sn+(an[Wt+72|0]|an[Wt+73|0]<<8|an[Wt+74|0]<<16|an[Wt+75|0]<<24)|0)>>>0?rn+1|0:rn,tn[Wt+72|0]=sn,tn[Wt+73|0]=sn>>>8,tn[Wt+74|0]=sn>>>16,tn[Wt+75|0]=sn>>>24,tn[Wt+76|0]=rn,tn[Wt+77|0]=rn>>>8,tn[Wt+78|0]=rn>>>16,tn[Wt+79|0]=rn>>>24,an[Wt+356|0]&&(tn[Wt+88|0]=255,tn[Wt+89|0]=255,tn[Wt+90|0]=255,tn[Wt+91|0]=255,tn[Wt+92|0]=255,tn[Wt+93|0]=255,tn[Wt+94|0]=255,tn[Wt+95|0]=255),tn[Wt+80|0]=255,tn[Wt+81|0]=255,tn[Wt+82|0]=255,tn[Wt+83|0]=255,tn[Wt+84|0]=255,tn[Wt+85|0]=255,tn[Wt+86|0]=255,tn[Wt+87|0]=255,VA((sn=Wt+96|0)+on|0,0,256-on|0),h(Wt,sn),rn=an[Wt+4|0]|an[Wt+5|0]<<8|an[Wt+6|0]<<16|an[Wt+7|0]<<24,nn[In>>2]=an[0|Wt]|an[Wt+1|0]<<8|an[Wt+2|0]<<16|an[Wt+3|0]<<24,nn[In+4>>2]=rn,rn=an[Wt+12|0]|an[Wt+13|0]<<8|an[Wt+14|0]<<16|an[Wt+15|0]<<24,nn[In+8>>2]=an[Wt+8|0]|an[Wt+9|0]<<8|an[Wt+10|0]<<16|an[Wt+11|0]<<24,nn[In+12>>2]=rn,rn=an[Wt+20|0]|an[Wt+21|0]<<8|an[Wt+22|0]<<16|an[Wt+23|0]<<24,nn[In+16>>2]=an[Wt+16|0]|an[Wt+17|0]<<8|an[Wt+18|0]<<16|an[Wt+19|0]<<24,nn[In+20>>2]=rn,rn=an[Wt+28|0]|an[Wt+29|0]<<8|an[Wt+30|0]<<16|an[Wt+31|0]<<24,nn[In+24>>2]=an[Wt+24|0]|an[Wt+25|0]<<8|an[Wt+26|0]<<16|an[Wt+27|0]<<24,nn[In+28>>2]=rn,rn=an[Wt+36|0]|an[Wt+37|0]<<8|an[Wt+38|0]<<16|an[Wt+39|0]<<24,nn[In+32>>2]=an[Wt+32|0]|an[Wt+33|0]<<8|an[Wt+34|0]<<16|an[Wt+35|0]<<24,nn[In+36>>2]=rn,rn=an[Wt+44|0]|an[Wt+45|0]<<8|an[Wt+46|0]<<16|an[Wt+47|0]<<24,nn[In+40>>2]=an[Wt+40|0]|an[Wt+41|0]<<8|an[Wt+42|0]<<16|an[Wt+43|0]<<24,nn[In+44>>2]=rn,rn=an[Wt+52|0]|an[Wt+53|0]<<8|an[Wt+54|0]<<16|an[Wt+55|0]<<24,nn[In+48>>2]=an[Wt+48|0]|an[Wt+49|0]<<8|an[Wt+50|0]<<16|an[Wt+51|0]<<24,nn[In+52>>2]=rn,rn=an[Wt+60|0]|an[Wt+61|0]<<8|an[Wt+62|0]<<16|an[Wt+63|0]<<24,nn[In+56>>2]=an[Wt+56|0]|an[Wt+57|0]<<8|an[Wt+58|0]<<16|an[Wt+59|0]<<24,nn[In+60>>2]=rn,TA(Pt,In,en),MI(Wt,64),MI(sn,256),sn=0}return mn=In- -64|0,sn}iI(),Q()}dn(1268,1130,306,1074),Q()}function q(Wt,Pt){var en,In,rn,sn,on,cn,dn,un,pn,bn,Gn,hn,Zn,An,Wn,Nn,gn=0,yn=0,vn=0,Yn=0,En=0,Vn=0,Rn=0;for(mn=en=mn-320|0,V(In=Wt+40|0,Pt),nn[Wt+84>>2]=0,nn[Wt+88>>2]=0,nn[Wt+80>>2]=1,nn[Wt+92>>2]=0,nn[Wt+96>>2]=0,nn[Wt+100>>2]=0,nn[Wt+104>>2]=0,nn[Wt+108>>2]=0,nn[Wt+112>>2]=0,nn[Wt+116>>2]=0,U(Vn=en+240|0,In),M(Yn=en+192|0,Vn,1328),Rn=-1,rn=nn[en+240>>2]-1|0,nn[en+240>>2]=rn,nn[en+192>>2]=nn[en+192>>2]+1,sn=nn[en+244>>2],on=nn[en+248>>2],cn=nn[en+252>>2],dn=nn[en+256>>2],un=nn[en+260>>2],pn=nn[en+264>>2],bn=nn[en+268>>2],Gn=nn[en+272>>2],hn=nn[en+276>>2],U(En=en+144|0,Yn),M(En,En,Yn),U(Wt,En),M(Wt,Wt,Yn),M(Wt,Wt,Vn),mn=yn=mn-144|0,U(vn=yn+96|0,Wt),U(gn=yn+48|0,vn),U(gn,gn),M(gn,Wt,gn),M(vn,vn,gn),U(vn,vn),M(vn,gn,vn),U(gn,vn),U(gn,gn),U(gn,gn),U(gn,gn),U(gn,gn),M(vn,gn,vn),U(gn,vn),U(gn,gn),U(gn,gn),U(gn,gn),U(gn,gn),U(gn,gn),U(gn,gn),U(gn,gn),U(gn,gn),U(gn,gn),M(gn,gn,vn),U(yn,gn),U(yn,yn),U(yn,yn),U(yn,yn),U(yn,yn),U(yn,yn),U(yn,yn),U(yn,yn),U(yn,yn),U(yn,yn),U(yn,yn),U(yn,yn),U(yn,yn),U(yn,yn),U(yn,yn),U(yn,yn),U(yn,yn),U(yn,yn),U(yn,yn),U(yn,yn),M(gn,yn,gn),U(gn,gn),U(gn,gn),U(gn,gn),U(gn,gn),U(gn,gn),U(gn,gn),U(gn,gn),U(gn,gn),U(gn,gn),U(gn,gn),M(vn,gn,vn),U(gn,vn),U(gn,gn),U(gn,gn),U(gn,gn),U(gn,gn),U(gn,gn),U(gn,gn),U(gn,gn),U(gn,gn),U(gn,gn),U(gn,gn),U(gn,gn),U(gn,gn),U(gn,gn),U(gn,gn),U(gn,gn),U(gn,gn),U(gn,gn),U(gn,gn),U(gn,gn),U(gn,gn),U(gn,gn),U(gn,gn),U(gn,gn),U(gn,gn),U(gn,gn),U(gn,gn),U(gn,gn),U(gn,gn),U(gn,gn),U(gn,gn),U(gn,gn),U(gn,gn),U(gn,gn),U(gn,gn),U(gn,gn),U(gn,gn),U(gn,gn),U(gn,gn),U(gn,gn),U(gn,gn),U(gn,gn),U(gn,gn),U(gn,gn),U(gn,gn),U(gn,gn),U(gn,gn),U(gn,gn),U(gn,gn),U(gn,gn),M(gn,gn,vn),U(yn,gn),gn=1;U(yn,yn),100!=(0|(gn=gn+1|0)););M(gn=yn+48|0,yn,gn),U(gn,gn),U(gn,gn),U(gn,gn),U(gn,gn),U(gn,gn),U(gn,gn),U(gn,gn),U(gn,gn),U(gn,gn),U(gn,gn),U(gn,gn),U(gn,gn),U(gn,gn),U(gn,gn),U(gn,gn),U(gn,gn),U(gn,gn),U(gn,gn),U(gn,gn),U(gn,gn),U(gn,gn),U(gn,gn),U(gn,gn),U(gn,gn),U(gn,gn),U(gn,gn),U(gn,gn),U(gn,gn),U(gn,gn),U(gn,gn),U(gn,gn),U(gn,gn),U(gn,gn),U(gn,gn),U(gn,gn),U(gn,gn),U(gn,gn),U(gn,gn),U(gn,gn),U(gn,gn),U(gn,gn),U(gn,gn),U(gn,gn),U(gn,gn),U(gn,gn),U(gn,gn),U(gn,gn),U(gn,gn),U(gn,gn),U(gn,gn),M(vn=yn+96|0,gn,vn),U(vn,vn),U(vn,vn),M(Wt,vn,Wt),mn=yn+144|0,M(Wt,Wt,En),M(Wt,Wt,Vn),U(gn=en+96|0,Wt),M(gn,gn,Yn),gn=nn[en+132>>2],nn[en+84>>2]=gn-hn,yn=nn[en+128>>2],nn[en+80>>2]=yn-Gn,vn=nn[en+124>>2],nn[en+76>>2]=vn-bn,Yn=nn[en+120>>2],nn[en+72>>2]=Yn-pn,En=nn[en+116>>2],nn[en+68>>2]=En-un,Vn=nn[en+112>>2],nn[en+64>>2]=Vn-dn,Zn=nn[en+108>>2],nn[en+60>>2]=Zn-cn,An=nn[en+104>>2],nn[en+56>>2]=An-on,Wn=nn[en+100>>2],nn[en+52>>2]=Wn-sn,Nn=nn[en+96>>2],nn[en+48>>2]=Nn-rn,eA(en,en+48|0);e:{if(!SA(en,32)){if(nn[en+36>>2]=gn+hn,nn[en+32>>2]=yn+Gn,nn[en+28>>2]=vn+bn,nn[en+24>>2]=Yn+pn,nn[en+20>>2]=En+un,nn[en+16>>2]=Vn+dn,nn[en+12>>2]=cn+Zn,nn[en+8>>2]=on+An,nn[en+4>>2]=sn+Wn,nn[en>>2]=rn+Nn,eA(gn=en+288|0,en),!SA(gn,32))break e;M(Wt,Wt,1376)}eA(en+288|0,Wt),(1&tn[en+288|0])==(an[Pt+31|0]>>>7|0)&&(nn[Wt>>2]=0-nn[Wt>>2],nn[Wt+36>>2]=0-nn[Wt+36>>2],nn[Wt+32>>2]=0-nn[Wt+32>>2],nn[Wt+28>>2]=0-nn[Wt+28>>2],nn[Wt+24>>2]=0-nn[Wt+24>>2],nn[Wt+20>>2]=0-nn[Wt+20>>2],nn[Wt+16>>2]=0-nn[Wt+16>>2],nn[Wt+12>>2]=0-nn[Wt+12>>2],nn[Wt+8>>2]=0-nn[Wt+8>>2],nn[Wt+4>>2]=0-nn[Wt+4>>2]),M(Wt+120|0,Wt,In),Rn=0}return mn=en+320|0,Rn}function l(Wt,Pt,en){var nn,In,rn,sn,on,cn,dn,un,pn,mn,bn,Gn,hn=0,Zn=0,An=0,Wn=0,Nn=0,gn=0,yn=0,vn=0,Yn=0,En=0,Vn=0,Rn=0,wn=0,Fn=0,Qn=0,fn=0,Hn=0,Cn=0,Xn=0,kn=0;for(Nn=1634760805,Zn=nn=an[0|en]|an[en+1|0]<<8|an[en+2|0]<<16|an[en+3|0]<<24,gn=In=an[en+4|0]|an[en+5|0]<<8|an[en+6|0]<<16|an[en+7|0]<<24,yn=rn=an[en+8|0]|an[en+9|0]<<8|an[en+10|0]<<16|an[en+11|0]<<24,vn=sn=an[en+12|0]|an[en+13|0]<<8|an[en+14|0]<<16|an[en+15|0]<<24,Rn=857760878,Yn=on=an[0|Pt]|an[Pt+1|0]<<8|an[Pt+2|0]<<16|an[Pt+3|0]<<24,An=cn=an[Pt+4|0]|an[Pt+5|0]<<8|an[Pt+6|0]<<16|an[Pt+7|0]<<24,Vn=dn=an[Pt+8|0]|an[Pt+9|0]<<8|an[Pt+10|0]<<16|an[Pt+11|0]<<24,Fn=un=an[Pt+12|0]|an[Pt+13|0]<<8|an[Pt+14|0]<<16|an[Pt+15|0]<<24,Pt=2036477234,Wn=pn=an[en+16|0]|an[en+17|0]<<8|an[en+18|0]<<16|an[en+19|0]<<24,hn=1797285236,Qn=mn=an[en+28|0]|an[en+29|0]<<8|an[en+30|0]<<16|an[en+31|0]<<24,wn=bn=an[en+24|0]|an[en+25|0]<<8|an[en+26|0]<<16|an[en+27|0]<<24,en=Gn=an[en+20|0]|an[en+21|0]<<8|an[en+22|0]<<16|an[en+23|0]<<24;En=gI(Zn+Rn|0,7)^Fn,fn=gI(En+Rn|0,9)^wn,vn=gI(en+Nn|0,7)^vn,Hn=gI(vn+Nn|0,9)^Vn,Xn=gI(Hn+vn|0,13)^en,yn=gI(hn+Wn|0,7)^yn,Cn=gI(yn+hn|0,9)^An,Vn=gI(yn+Cn|0,13)^Wn,Wn=gI(Cn+Vn|0,18)^hn,An=gI(Pt+Yn|0,7)^Qn,en=Xn^gI(Wn+An|0,7),wn=fn^gI(en+Wn|0,9),Qn=gI(en+wn|0,13)^An,hn=gI(wn+Qn|0,18)^Wn,gn=gI(Pt+An|0,9)^gn,Yn=gI(gn+An|0,13)^Yn,Pt=gI(Yn+gn|0,18)^Pt,Wn=gI(Pt+En|0,7)^Vn,Vn=gI(Wn+Pt|0,9)^Hn,Fn=gI(Wn+Vn|0,13)^En,Pt=gI(Vn+Fn|0,18)^Pt,En=gI(En+fn|0,13)^Zn,Zn=gI(En+fn|0,18)^Rn,Yn=gI(Zn+vn|0,7)^Yn,An=gI(Yn+Zn|0,9)^Cn,vn=gI(An+Yn|0,13)^vn,Rn=gI(An+vn|0,18)^Zn,Nn=gI(Hn+Xn|0,18)^Nn,Zn=gI(Nn+yn|0,7)^En,gn=gI(Zn+Nn|0,9)^gn,yn=gI(Zn+gn|0,13)^yn,Nn=gI(gn+yn|0,18)^Nn,En=kn>>>0<18,kn=kn+2|0,En;);hn=hn+1797285236|0,tn[Wt+60|0]=hn,tn[Wt+61|0]=hn>>>8,tn[Wt+62|0]=hn>>>16,tn[Wt+63|0]=hn>>>24,hn=Qn+mn|0,tn[Wt+56|0]=hn,tn[Wt+57|0]=hn>>>8,tn[Wt+58|0]=hn>>>16,tn[Wt+59|0]=hn>>>24,hn=wn+bn|0,tn[Wt+52|0]=hn,tn[Wt+53|0]=hn>>>8,tn[Wt+54|0]=hn>>>16,tn[Wt+55|0]=hn>>>24,en=en+Gn|0,tn[Wt+48|0]=en,tn[Wt+49|0]=en>>>8,tn[Wt+50|0]=en>>>16,tn[Wt+51|0]=en>>>24,en=Wn+pn|0,tn[Wt+44|0]=en,tn[Wt+45|0]=en>>>8,tn[Wt+46|0]=en>>>16,tn[Wt+47|0]=en>>>24,Pt=Pt+2036477234|0,tn[Wt+40|0]=Pt,tn[Wt+41|0]=Pt>>>8,tn[Wt+42|0]=Pt>>>16,tn[Wt+43|0]=Pt>>>24,Pt=Fn+un|0,tn[Wt+36|0]=Pt,tn[Wt+37|0]=Pt>>>8,tn[Wt+38|0]=Pt>>>16,tn[Wt+39|0]=Pt>>>24,Pt=Vn+dn|0,tn[Wt+32|0]=Pt,tn[Wt+33|0]=Pt>>>8,tn[Wt+34|0]=Pt>>>16,tn[Wt+35|0]=Pt>>>24,Pt=An+cn|0,tn[Wt+28|0]=Pt,tn[Wt+29|0]=Pt>>>8,tn[Wt+30|0]=Pt>>>16,tn[Wt+31|0]=Pt>>>24,Pt=Yn+on|0,tn[Wt+24|0]=Pt,tn[Wt+25|0]=Pt>>>8,tn[Wt+26|0]=Pt>>>16,tn[Wt+27|0]=Pt>>>24,Pt=Rn+857760878|0,tn[Wt+20|0]=Pt,tn[Wt+21|0]=Pt>>>8,tn[Wt+22|0]=Pt>>>16,tn[Wt+23|0]=Pt>>>24,Pt=vn+sn|0,tn[Wt+16|0]=Pt,tn[Wt+17|0]=Pt>>>8,tn[Wt+18|0]=Pt>>>16,tn[Wt+19|0]=Pt>>>24,Pt=yn+rn|0,tn[Wt+12|0]=Pt,tn[Wt+13|0]=Pt>>>8,tn[Wt+14|0]=Pt>>>16,tn[Wt+15|0]=Pt>>>24,Pt=gn+In|0,tn[Wt+8|0]=Pt,tn[Wt+9|0]=Pt>>>8,tn[Wt+10|0]=Pt>>>16,tn[Wt+11|0]=Pt>>>24,Pt=Zn+nn|0,tn[Wt+4|0]=Pt,tn[Wt+5|0]=Pt>>>8,tn[Wt+6|0]=Pt>>>16,tn[Wt+7|0]=Pt>>>24,Pt=Nn+1634760805|0,tn[0|Wt]=Pt,tn[Wt+1|0]=Pt>>>8,tn[Wt+2|0]=Pt>>>16,tn[Wt+3|0]=Pt>>>24}function z(Wt,Pt,en,tn){var In=0,sn=0,on=0,cn=0,dn=0,un=0,pn=0,mn=0,Gn=0,hn=0,Zn=0,An=0,Wn=0,Nn=0,gn=0,yn=0,vn=0,Yn=0,En=0,Vn=0,Rn=0,wn=0,Fn=0,Qn=0,fn=0;if(Zn=nn[Wt+36>>2],Gn=nn[Wt+32>>2],hn=nn[Wt+28>>2],pn=nn[Wt+24>>2],mn=nn[Wt+20>>2],!tn&en>>>0>=16|tn)for(Rn=!an[Wt+80|0]<<24,Wn=nn[Wt+4>>2],wn=rn(Wn,5),gn=nn[Wt+8>>2],En=rn(gn,5),vn=nn[Wt+12>>2],Yn=rn(vn,5),Vn=nn[Wt+16>>2],yn=rn(Vn,5),Nn=nn[Wt>>2];In=PA(on=((an[Pt+3|0]|an[Pt+4|0]<<8|an[Pt+5|0]<<16|an[Pt+6|0]<<24)>>>2&67108863)+pn|0,0,vn,0),dn=bn,mn=(cn=PA(pn=(67108863&(an[0|Pt]|an[Pt+1|0]<<8|an[Pt+2|0]<<16|an[Pt+3|0]<<24))+mn|0,0,Vn,0))+In|0,In=bn+dn|0,In=cn>>>0>mn>>>0?In+1|0:In,dn=PA(hn=((an[Pt+6|0]|an[Pt+7|0]<<8|an[Pt+8|0]<<16|an[Pt+9|0]<<24)>>>4&67108863)+hn|0,0,gn,0),In=bn+In|0,In=dn>>>0>(mn=dn+mn|0)>>>0?In+1|0:In,dn=PA(Gn=((an[Pt+9|0]|an[Pt+10|0]<<8|an[Pt+11|0]<<16|an[Pt+12|0]<<24)>>>6|0)+Gn|0,0,Wn,0),In=bn+In|0,In=dn>>>0>(mn=dn+mn|0)>>>0?In+1|0:In,dn=PA(Zn=Zn+Rn+((an[Pt+12|0]|an[Pt+13|0]<<8|an[Pt+14|0]<<16|an[Pt+15|0]<<24)>>>8)|0,0,Nn,0),In=bn+In|0,Fn=mn=dn+mn|0,mn=dn>>>0>mn>>>0?In+1|0:In,In=PA(on,0,gn,0),dn=bn,cn=PA(pn,0,vn,0),sn=bn+dn|0,sn=(In=cn+In|0)>>>0>>0?sn+1|0:sn,dn=(cn=PA(hn,0,Wn,0))+In|0,In=bn+sn|0,In=cn>>>0>dn>>>0?In+1|0:In,cn=PA(Gn,0,Nn,0),In=bn+In|0,In=cn>>>0>(dn=cn+dn|0)>>>0?In+1|0:In,cn=PA(Zn,0,yn,0),In=bn+In|0,Qn=dn=cn+dn|0,dn=cn>>>0>dn>>>0?In+1|0:In,In=PA(on,0,Wn,0),un=bn,cn=(sn=PA(pn,0,gn,0))+In|0,In=bn+un|0,In=sn>>>0>cn>>>0?In+1|0:In,un=PA(hn,0,Nn,0),sn=bn+In|0,sn=(cn=un+cn|0)>>>0>>0?sn+1|0:sn,un=PA(Gn,0,yn,0),In=bn+sn|0,In=(cn=un+cn|0)>>>0>>0?In+1|0:In,un=PA(Zn,0,Yn,0),In=bn+In|0,fn=cn=un+cn|0,cn=cn>>>0>>0?In+1|0:In,In=PA(on,0,Nn,0),sn=bn,un=(An=PA(pn,0,Wn,0))+In|0,In=bn+sn|0,In=un>>>0>>0?In+1|0:In,sn=PA(hn,0,yn,0),In=bn+In|0,In=sn>>>0>(un=sn+un|0)>>>0?In+1|0:In,An=PA(Gn,0,Yn,0),sn=bn+In|0,sn=(un=An+un|0)>>>0>>0?sn+1|0:sn,An=PA(Zn,0,En,0),In=bn+sn|0,In=(un=An+un|0)>>>0>>0?In+1|0:In,An=un,un=In,In=PA(on,0,yn,0),sn=bn,on=(pn=PA(pn,0,Nn,0))+In|0,In=bn+sn|0,In=on>>>0>>0?In+1|0:In,pn=PA(hn,0,Yn,0),In=bn+In|0,In=(on=pn+on|0)>>>0>>0?In+1|0:In,pn=PA(Gn,0,En,0),In=bn+In|0,In=(on=pn+on|0)>>>0>>0?In+1|0:In,pn=PA(Zn,0,wn,0),sn=bn+In|0,sn=(on=pn+on|0)>>>0>>0?sn+1|0:sn,pn=on,In=un,In=(on=(hn=(67108863&sn)<<6|on>>>26)+An|0)>>>0>>0?In+1|0:In,hn=on,Gn=(67108863&In)<<6|on>>>26,In=cn,In=(on=Gn+fn|0)>>>0>>0?In+1|0:In,Gn=on,sn=dn,Zn=In=(on=(67108863&In)<<6|on>>>26)+Qn|0,dn=(67108863&(sn=In>>>0>>0?sn+1|0:sn))<<6|In>>>26,In=mn,pn=(67108863&hn)+((In=rn((67108863&((on=dn+Fn|0)>>>0>>0?In+1:In))<<6|on>>>26,5)+(67108863&pn)|0)>>>26|0)|0,hn=67108863&Gn,Gn=67108863&Zn,Zn=67108863&on,mn=67108863&In,Pt=Pt+16|0,!(tn=tn-(en>>>0<16)|0)&(en=en-16|0)>>>0>15|tn;);nn[Wt+20>>2]=mn,nn[Wt+36>>2]=Zn,nn[Wt+32>>2]=Gn,nn[Wt+28>>2]=hn,nn[Wt+24>>2]=pn}function j(Wt,Pt,en,nn){Wt|=0,Pt|=0;var In=0;return In=-1,(nn|=0)-65>>>0<4294967232|(en|=0)>>>0>64||(en&&Pt?(mn=In=mn-128|0,!Pt|((nn&=255)-65&255)>>>0<=191|((en&=255)-65&255)>>>0<=191?(iI(),Q()):(VA(Wt- -64|0,0,293),tn[Wt+56|0]=121,tn[Wt+57|0]=33,tn[Wt+58|0]=126,tn[Wt+59|0]=19,tn[Wt+60|0]=25,tn[Wt+61|0]=205,tn[Wt+62|0]=224,tn[Wt+63|0]=91,tn[Wt+48|0]=107,tn[Wt+49|0]=189,tn[Wt+50|0]=65,tn[Wt+51|0]=251,tn[Wt+52|0]=171,tn[Wt+53|0]=217,tn[Wt+54|0]=131,tn[Wt+55|0]=31,tn[Wt+40|0]=31,tn[Wt+41|0]=108,tn[Wt+42|0]=62,tn[Wt+43|0]=43,tn[Wt+44|0]=140,tn[Wt+45|0]=104,tn[Wt+46|0]=5,tn[Wt+47|0]=155,tn[Wt+32|0]=209,tn[Wt+33|0]=130,tn[Wt+34|0]=230,tn[Wt+35|0]=173,tn[Wt+36|0]=127,tn[Wt+37|0]=82,tn[Wt+38|0]=14,tn[Wt+39|0]=81,tn[Wt+24|0]=241,tn[Wt+25|0]=54,tn[Wt+26|0]=29,tn[Wt+27|0]=95,tn[Wt+28|0]=58,tn[Wt+29|0]=245,tn[Wt+30|0]=79,tn[Wt+31|0]=165,tn[Wt+16|0]=43,tn[Wt+17|0]=248,tn[Wt+18|0]=148,tn[Wt+19|0]=254,tn[Wt+20|0]=114,tn[Wt+21|0]=243,tn[Wt+22|0]=110,tn[Wt+23|0]=60,tn[Wt+8|0]=59,tn[Wt+9|0]=167,tn[Wt+10|0]=202,tn[Wt+11|0]=132,tn[Wt+12|0]=133,tn[Wt+13|0]=174,tn[Wt+14|0]=103,tn[Wt+15|0]=187,nn=-222443256^(en<<8|nn),tn[0|Wt]=nn,tn[Wt+1|0]=nn>>>8,tn[Wt+2|0]=nn>>>16,tn[Wt+3|0]=nn>>>24,nn=en>>>24^1779033703,tn[Wt+4|0]=nn,tn[Wt+5|0]=nn>>>8,tn[Wt+6|0]=nn>>>16,tn[Wt+7|0]=nn>>>24,en=TA(VA(In,0,128),Pt,en),TA(Wt+96|0,en,128),Pt=128+(an[Wt+352|0]|an[Wt+353|0]<<8|an[Wt+354|0]<<16|an[Wt+355|0]<<24)|0,tn[Wt+352|0]=Pt,tn[Wt+353|0]=Pt>>>8,tn[Wt+354|0]=Pt>>>16,tn[Wt+355|0]=Pt>>>24,MI(en,128),mn=en+128|0)):(((Pt=255&nn)-65&255)>>>0<=191&&(iI(),Q()),VA(Wt- -64|0,0,293),tn[Wt+56|0]=121,tn[Wt+57|0]=33,tn[Wt+58|0]=126,tn[Wt+59|0]=19,tn[Wt+60|0]=25,tn[Wt+61|0]=205,tn[Wt+62|0]=224,tn[Wt+63|0]=91,tn[Wt+48|0]=107,tn[Wt+49|0]=189,tn[Wt+50|0]=65,tn[Wt+51|0]=251,tn[Wt+52|0]=171,tn[Wt+53|0]=217,tn[Wt+54|0]=131,tn[Wt+55|0]=31,tn[Wt+40|0]=31,tn[Wt+41|0]=108,tn[Wt+42|0]=62,tn[Wt+43|0]=43,tn[Wt+44|0]=140,tn[Wt+45|0]=104,tn[Wt+46|0]=5,tn[Wt+47|0]=155,tn[Wt+32|0]=209,tn[Wt+33|0]=130,tn[Wt+34|0]=230,tn[Wt+35|0]=173,tn[Wt+36|0]=127,tn[Wt+37|0]=82,tn[Wt+38|0]=14,tn[Wt+39|0]=81,tn[Wt+24|0]=241,tn[Wt+25|0]=54,tn[Wt+26|0]=29,tn[Wt+27|0]=95,tn[Wt+28|0]=58,tn[Wt+29|0]=245,tn[Wt+30|0]=79,tn[Wt+31|0]=165,tn[Wt+16|0]=43,tn[Wt+17|0]=248,tn[Wt+18|0]=148,tn[Wt+19|0]=254,tn[Wt+20|0]=114,tn[Wt+21|0]=243,tn[Wt+22|0]=110,tn[Wt+23|0]=60,tn[Wt+8|0]=59,tn[Wt+9|0]=167,tn[Wt+10|0]=202,tn[Wt+11|0]=132,tn[Wt+12|0]=133,tn[Wt+13|0]=174,tn[Wt+14|0]=103,tn[Wt+15|0]=187,Pt^=-222443256,tn[0|Wt]=Pt,tn[Wt+1|0]=Pt>>>8,tn[Wt+2|0]=Pt>>>16,tn[Wt+3|0]=Pt>>>24,tn[Wt+4|0]=103,tn[Wt+5|0]=230,tn[Wt+6|0]=9,tn[Wt+7|0]=106),In=0),0|In}function X(Wt,Pt,en){var tn,an,In,rn,sn,on,cn,dn,un,pn,mn=0,bn=0,Gn=0,hn=0,Zn=0,An=0,Wn=0,Nn=0,gn=0,yn=0,vn=0,Yn=0,En=0,Vn=0,Rn=0,wn=0,Fn=0,Qn=0,fn=0;bn=nn[Pt+4>>2],mn=nn[Pt+44>>2],hn=nn[Pt+8>>2],Zn=nn[Pt+48>>2],An=nn[Pt+12>>2],Wn=nn[Pt+52>>2],Nn=nn[Pt+16>>2],gn=nn[Pt+56>>2],yn=nn[Pt+20>>2],vn=nn[Pt+60>>2],Yn=nn[Pt+24>>2],En=nn[(Gn=Pt- -64|0)>>2],Vn=nn[Pt+28>>2],Rn=nn[Pt+68>>2],wn=nn[Pt+32>>2],Fn=nn[Pt+72>>2],Qn=nn[Pt+36>>2],fn=nn[Pt+76>>2],nn[Wt>>2]=nn[Pt>>2]+nn[Pt+40>>2],nn[Wt+36>>2]=Qn+fn,nn[Wt+32>>2]=wn+Fn,nn[Wt+28>>2]=Vn+Rn,nn[Wt+24>>2]=Yn+En,nn[Wt+20>>2]=yn+vn,nn[Wt+16>>2]=Nn+gn,nn[Wt+12>>2]=An+Wn,nn[Wt+8>>2]=hn+Zn,nn[Wt+4>>2]=mn+bn,mn=nn[Pt+4>>2],hn=nn[Pt+44>>2],Zn=nn[Pt+8>>2],An=nn[Pt+48>>2],Wn=nn[Pt+12>>2],Nn=nn[Pt+52>>2],gn=nn[Pt+16>>2],yn=nn[Pt+56>>2],vn=nn[Pt+20>>2],Yn=nn[Pt+60>>2],En=nn[Pt+24>>2],Gn=nn[Gn>>2],bn=nn[Pt+28>>2],Vn=nn[Pt+68>>2],Rn=nn[Pt+32>>2],wn=nn[Pt+72>>2],Fn=nn[Pt>>2],Qn=nn[Pt+40>>2],nn[Wt+76>>2]=nn[Pt+76>>2]-nn[Pt+36>>2],nn[Wt+72>>2]=wn-Rn,nn[Wt+68>>2]=Vn-bn,nn[(bn=Wt- -64|0)>>2]=Gn-En,nn[Wt+60>>2]=Yn-vn,nn[Wt+56>>2]=yn-gn,nn[Wt+52>>2]=Nn-Wn,nn[Wt+48>>2]=An-Zn,nn[Wt+44>>2]=hn-mn,nn[Wt+40>>2]=Qn-Fn,M(Wt+80|0,Wt,en),M(mn=Wt+40|0,mn,en+40|0),M(Wt+120|0,en+120|0,Pt+120|0),M(Wt,Pt+80|0,en+80|0),Qn=nn[Wt+4>>2],fn=nn[Wt+8>>2],In=nn[Wt+12>>2],rn=nn[Wt+16>>2],sn=nn[Wt+20>>2],on=nn[Wt+24>>2],cn=nn[Wt+28>>2],dn=nn[Wt+32>>2],un=nn[Wt+36>>2],Pt=nn[Wt+44>>2],en=nn[Wt+84>>2],mn=nn[Wt+48>>2],hn=nn[Wt+88>>2],Zn=nn[Wt+52>>2],An=nn[Wt+92>>2],Wn=nn[Wt+56>>2],Nn=nn[Wt+96>>2],gn=nn[Wt+60>>2],yn=nn[Wt+100>>2],vn=nn[bn>>2],Yn=nn[Wt+104>>2],Gn=nn[Wt+68>>2],En=nn[Wt+108>>2],Vn=nn[Wt+72>>2],Rn=nn[Wt+112>>2],pn=nn[Wt>>2],wn=nn[Wt+40>>2],Fn=nn[Wt+80>>2],tn=nn[Wt+76>>2],an=nn[Wt+116>>2],nn[Wt+76>>2]=tn+an,nn[Wt+72>>2]=Vn+Rn,nn[Wt+68>>2]=Gn+En,nn[bn>>2]=vn+Yn,nn[Wt+60>>2]=gn+yn,nn[Wt+56>>2]=Wn+Nn,nn[Wt+52>>2]=Zn+An,nn[Wt+48>>2]=mn+hn,nn[Wt+44>>2]=Pt+en,nn[Wt+40>>2]=wn+Fn,nn[Wt+36>>2]=an-tn,nn[Wt+32>>2]=Rn-Vn,nn[Wt+28>>2]=En-Gn,nn[Wt+24>>2]=Yn-vn,nn[Wt+20>>2]=yn-gn,nn[Wt+16>>2]=Nn-Wn,nn[Wt+12>>2]=An-Zn,nn[Wt+8>>2]=hn-mn,nn[Wt+4>>2]=en-Pt,nn[Wt>>2]=Fn-wn,Pt=un<<1,en=nn[Wt+156>>2],nn[Wt+156>>2]=Pt-en,bn=dn<<1,mn=nn[Wt+152>>2],nn[Wt+152>>2]=bn-mn,hn=cn<<1,Zn=nn[Wt+148>>2],nn[Wt+148>>2]=hn-Zn,An=on<<1,Wn=nn[Wt+144>>2],nn[Wt+144>>2]=An-Wn,Nn=sn<<1,gn=nn[Wt+140>>2],nn[Wt+140>>2]=Nn-gn,yn=rn<<1,vn=nn[Wt+136>>2],nn[Wt+136>>2]=yn-vn,Yn=In<<1,Gn=nn[Wt+132>>2],nn[Wt+132>>2]=Yn-Gn,En=fn<<1,Vn=nn[Wt+128>>2],nn[Wt+128>>2]=En-Vn,Rn=Qn<<1,wn=nn[Wt+124>>2],nn[Wt+124>>2]=Rn-wn,Fn=pn<<1,Qn=nn[Wt+120>>2],nn[Wt+120>>2]=Fn-Qn,nn[Wt+112>>2]=mn+bn,nn[Wt+108>>2]=hn+Zn,nn[Wt+104>>2]=An+Wn,nn[Wt+100>>2]=Nn+gn,nn[Wt+96>>2]=yn+vn,nn[Wt+92>>2]=Yn+Gn,nn[Wt+88>>2]=En+Vn,nn[Wt+84>>2]=Rn+wn,nn[Wt+80>>2]=Fn+Qn,nn[Wt+116>>2]=Pt+en}function O(Wt,Pt,en){var tn,an,In,rn,sn,on,cn,dn,un,pn,mn=0,bn=0,Gn=0,hn=0,Zn=0,An=0,Wn=0,Nn=0,gn=0,yn=0,vn=0,Yn=0,En=0,Vn=0,Rn=0,wn=0,Fn=0,Qn=0,fn=0;bn=nn[Pt+4>>2],mn=nn[Pt+44>>2],hn=nn[Pt+8>>2],Zn=nn[Pt+48>>2],An=nn[Pt+12>>2],Wn=nn[Pt+52>>2],Nn=nn[Pt+16>>2],gn=nn[Pt+56>>2],yn=nn[Pt+20>>2],vn=nn[Pt+60>>2],Yn=nn[Pt+24>>2],En=nn[(Gn=Pt- -64|0)>>2],Vn=nn[Pt+28>>2],Rn=nn[Pt+68>>2],wn=nn[Pt+32>>2],Fn=nn[Pt+72>>2],Qn=nn[Pt+36>>2],fn=nn[Pt+76>>2],nn[Wt>>2]=nn[Pt>>2]+nn[Pt+40>>2],nn[Wt+36>>2]=Qn+fn,nn[Wt+32>>2]=wn+Fn,nn[Wt+28>>2]=Vn+Rn,nn[Wt+24>>2]=Yn+En,nn[Wt+20>>2]=yn+vn,nn[Wt+16>>2]=Nn+gn,nn[Wt+12>>2]=An+Wn,nn[Wt+8>>2]=hn+Zn,nn[Wt+4>>2]=mn+bn,mn=nn[Pt+4>>2],hn=nn[Pt+44>>2],Zn=nn[Pt+8>>2],An=nn[Pt+48>>2],Wn=nn[Pt+12>>2],Nn=nn[Pt+52>>2],gn=nn[Pt+16>>2],yn=nn[Pt+56>>2],vn=nn[Pt+20>>2],Yn=nn[Pt+60>>2],En=nn[Pt+24>>2],Gn=nn[Gn>>2],bn=nn[Pt+28>>2],Vn=nn[Pt+68>>2],Rn=nn[Pt+32>>2],wn=nn[Pt+72>>2],Fn=nn[Pt>>2],Qn=nn[Pt+40>>2],nn[Wt+76>>2]=nn[Pt+76>>2]-nn[Pt+36>>2],nn[Wt+72>>2]=wn-Rn,nn[Wt+68>>2]=Vn-bn,nn[(bn=Wt- -64|0)>>2]=Gn-En,nn[Wt+60>>2]=Yn-vn,nn[Wt+56>>2]=yn-gn,nn[Wt+52>>2]=Nn-Wn,nn[Wt+48>>2]=An-Zn,nn[Wt+44>>2]=hn-mn,nn[Wt+40>>2]=Qn-Fn,M(Wt+80|0,Wt,en+40|0),M(mn=Wt+40|0,mn,en),M(Wt+120|0,en+120|0,Pt+120|0),M(Wt,Pt+80|0,en+80|0),Qn=nn[Wt+4>>2],fn=nn[Wt+8>>2],In=nn[Wt+12>>2],rn=nn[Wt+16>>2],sn=nn[Wt+20>>2],on=nn[Wt+24>>2],cn=nn[Wt+28>>2],dn=nn[Wt+32>>2],un=nn[Wt+36>>2],Pt=nn[Wt+44>>2],en=nn[Wt+84>>2],mn=nn[Wt+48>>2],hn=nn[Wt+88>>2],Zn=nn[Wt+52>>2],An=nn[Wt+92>>2],Wn=nn[Wt+56>>2],Nn=nn[Wt+96>>2],gn=nn[Wt+60>>2],yn=nn[Wt+100>>2],vn=nn[bn>>2],Yn=nn[Wt+104>>2],Gn=nn[Wt+68>>2],En=nn[Wt+108>>2],Vn=nn[Wt+72>>2],Rn=nn[Wt+112>>2],pn=nn[Wt>>2],wn=nn[Wt+40>>2],Fn=nn[Wt+80>>2],tn=nn[Wt+76>>2],an=nn[Wt+116>>2],nn[Wt+76>>2]=tn+an,nn[Wt+72>>2]=Vn+Rn,nn[Wt+68>>2]=Gn+En,nn[bn>>2]=vn+Yn,nn[Wt+60>>2]=gn+yn,nn[Wt+56>>2]=Wn+Nn,nn[Wt+52>>2]=Zn+An,nn[Wt+48>>2]=mn+hn,nn[Wt+44>>2]=Pt+en,nn[Wt+40>>2]=wn+Fn,nn[Wt+36>>2]=an-tn,nn[Wt+32>>2]=Rn-Vn,nn[Wt+28>>2]=En-Gn,nn[Wt+24>>2]=Yn-vn,nn[Wt+20>>2]=yn-gn,nn[Wt+16>>2]=Nn-Wn,nn[Wt+12>>2]=An-Zn,nn[Wt+8>>2]=hn-mn,nn[Wt+4>>2]=en-Pt,nn[Wt>>2]=Fn-wn,Pt=nn[Wt+156>>2],en=un<<1,nn[Wt+156>>2]=Pt+en,bn=nn[Wt+152>>2],mn=dn<<1,nn[Wt+152>>2]=bn+mn,hn=nn[Wt+148>>2],Zn=cn<<1,nn[Wt+148>>2]=hn+Zn,An=nn[Wt+144>>2],Wn=on<<1,nn[Wt+144>>2]=An+Wn,Nn=nn[Wt+140>>2],gn=sn<<1,nn[Wt+140>>2]=Nn+gn,yn=nn[Wt+136>>2],vn=rn<<1,nn[Wt+136>>2]=yn+vn,Yn=nn[Wt+132>>2],Gn=In<<1,nn[Wt+132>>2]=Yn+Gn,En=nn[Wt+128>>2],Vn=fn<<1,nn[Wt+128>>2]=En+Vn,Rn=nn[Wt+124>>2],wn=Qn<<1,nn[Wt+124>>2]=Rn+wn,Fn=nn[Wt+120>>2],Qn=pn<<1,nn[Wt+120>>2]=Fn+Qn,nn[Wt+112>>2]=mn-bn,nn[Wt+108>>2]=Zn-hn,nn[Wt+104>>2]=Wn-An,nn[Wt+100>>2]=gn-Nn,nn[Wt+96>>2]=vn-yn,nn[Wt+92>>2]=Gn-Yn,nn[Wt+88>>2]=Vn-En,nn[Wt+84>>2]=wn-Rn,nn[Wt+80>>2]=Qn-Fn,nn[Wt+116>>2]=en-Pt}function T(Wt,Pt,en){var tn,an,In,rn,sn,on,cn,dn,un,pn,mn=0,bn=0,Gn=0,hn=0,Zn=0,An=0,Wn=0,Nn=0,gn=0,yn=0,vn=0,Yn=0,En=0,Vn=0,Rn=0,wn=0,Fn=0,Qn=0,fn=0;bn=nn[Pt+4>>2],mn=nn[Pt+44>>2],hn=nn[Pt+8>>2],Zn=nn[Pt+48>>2],An=nn[Pt+12>>2],Wn=nn[Pt+52>>2],Nn=nn[Pt+16>>2],gn=nn[Pt+56>>2],yn=nn[Pt+20>>2],vn=nn[Pt+60>>2],Yn=nn[Pt+24>>2],En=nn[(Gn=Pt- -64|0)>>2],Vn=nn[Pt+28>>2],Rn=nn[Pt+68>>2],wn=nn[Pt+32>>2],Fn=nn[Pt+72>>2],Qn=nn[Pt+36>>2],fn=nn[Pt+76>>2],nn[Wt>>2]=nn[Pt>>2]+nn[Pt+40>>2],nn[Wt+36>>2]=Qn+fn,nn[Wt+32>>2]=wn+Fn,nn[Wt+28>>2]=Vn+Rn,nn[Wt+24>>2]=Yn+En,nn[Wt+20>>2]=yn+vn,nn[Wt+16>>2]=Nn+gn,nn[Wt+12>>2]=An+Wn,nn[Wt+8>>2]=hn+Zn,nn[Wt+4>>2]=mn+bn,mn=nn[Pt+4>>2],hn=nn[Pt+44>>2],Zn=nn[Pt+8>>2],An=nn[Pt+48>>2],Wn=nn[Pt+12>>2],Nn=nn[Pt+52>>2],gn=nn[Pt+16>>2],yn=nn[Pt+56>>2],vn=nn[Pt+20>>2],Yn=nn[Pt+60>>2],En=nn[Pt+24>>2],Gn=nn[Gn>>2],bn=nn[Pt+28>>2],Vn=nn[Pt+68>>2],Rn=nn[Pt+32>>2],wn=nn[Pt+72>>2],Fn=nn[Pt>>2],Qn=nn[Pt+40>>2],nn[Wt+76>>2]=nn[Pt+76>>2]-nn[Pt+36>>2],nn[Wt+72>>2]=wn-Rn,nn[Wt+68>>2]=Vn-bn,nn[(bn=Wt- -64|0)>>2]=Gn-En,nn[Wt+60>>2]=Yn-vn,nn[Wt+56>>2]=yn-gn,nn[Wt+52>>2]=Nn-Wn,nn[Wt+48>>2]=An-Zn,nn[Wt+44>>2]=hn-mn,nn[Wt+40>>2]=Qn-Fn,M(Wt+80|0,Wt,en),M(mn=Wt+40|0,mn,en+40|0),M(Wt+120|0,en+80|0,Pt+120|0),Qn=nn[Pt+84>>2],fn=nn[Pt+88>>2],In=nn[Pt+92>>2],rn=nn[Pt+96>>2],sn=nn[Pt+100>>2],on=nn[Pt+104>>2],cn=nn[Pt+108>>2],dn=nn[Pt+112>>2],un=nn[Pt+116>>2],en=nn[Wt+44>>2],mn=nn[Wt+84>>2],hn=nn[Wt+48>>2],Zn=nn[Wt+88>>2],An=nn[Wt+52>>2],Wn=nn[Wt+92>>2],Nn=nn[Wt+56>>2],gn=nn[Wt+96>>2],yn=nn[Wt+60>>2],vn=nn[Wt+100>>2],Yn=nn[bn>>2],Gn=nn[Wt+104>>2],En=nn[Wt+68>>2],Vn=nn[Wt+108>>2],Rn=nn[Wt+72>>2],wn=nn[Wt+112>>2],pn=nn[Pt+80>>2],Pt=nn[Wt+40>>2],Fn=nn[Wt+80>>2],tn=nn[Wt+76>>2],an=nn[Wt+116>>2],nn[Wt+76>>2]=tn+an,nn[Wt+72>>2]=Rn+wn,nn[Wt+68>>2]=En+Vn,nn[bn>>2]=Yn+Gn,nn[Wt+60>>2]=yn+vn,nn[Wt+56>>2]=Nn+gn,nn[Wt+52>>2]=An+Wn,nn[Wt+48>>2]=hn+Zn,nn[Wt+44>>2]=en+mn,nn[Wt+40>>2]=Pt+Fn,nn[Wt+36>>2]=an-tn,nn[Wt+32>>2]=wn-Rn,nn[Wt+28>>2]=Vn-En,nn[Wt+24>>2]=Gn-Yn,nn[Wt+20>>2]=vn-yn,nn[Wt+16>>2]=gn-Nn,nn[Wt+12>>2]=Wn-An,nn[Wt+8>>2]=Zn-hn,nn[Wt+4>>2]=mn-en,nn[Wt>>2]=Fn-Pt,Pt=un<<1,en=nn[Wt+156>>2],nn[Wt+156>>2]=Pt-en,bn=dn<<1,mn=nn[Wt+152>>2],nn[Wt+152>>2]=bn-mn,hn=cn<<1,Zn=nn[Wt+148>>2],nn[Wt+148>>2]=hn-Zn,An=on<<1,Wn=nn[Wt+144>>2],nn[Wt+144>>2]=An-Wn,Nn=sn<<1,gn=nn[Wt+140>>2],nn[Wt+140>>2]=Nn-gn,yn=rn<<1,vn=nn[Wt+136>>2],nn[Wt+136>>2]=yn-vn,Yn=In<<1,Gn=nn[Wt+132>>2],nn[Wt+132>>2]=Yn-Gn,En=fn<<1,Vn=nn[Wt+128>>2],nn[Wt+128>>2]=En-Vn,Rn=Qn<<1,wn=nn[Wt+124>>2],nn[Wt+124>>2]=Rn-wn,Fn=pn<<1,Qn=nn[Wt+120>>2],nn[Wt+120>>2]=Fn-Qn,nn[Wt+112>>2]=mn+bn,nn[Wt+108>>2]=hn+Zn,nn[Wt+104>>2]=An+Wn,nn[Wt+100>>2]=Nn+gn,nn[Wt+96>>2]=yn+vn,nn[Wt+92>>2]=Yn+Gn,nn[Wt+88>>2]=En+Vn,nn[Wt+84>>2]=Rn+wn,nn[Wt+80>>2]=Fn+Qn,nn[Wt+116>>2]=Pt+en}function V(Wt,Pt){var en,tn,In,rn,sn,on,cn,dn,un,pn,mn,Gn,hn,Zn,An=0,Wn=0,Nn=0,gn=0,yn=0,vn=0,Yn=0,En=0,Vn=0,Rn=0,wn=0,Fn=0,Qn=0;hn=an[Pt+31|0],en=an[Pt+30|0],tn=an[Pt+29|0],In=an[Pt+6|0],rn=an[Pt+5|0],sn=an[Pt+4|0],on=an[Pt+9|0],cn=an[Pt+8|0],dn=an[Pt+7|0],un=an[Pt+12|0],wn=an[Pt+11|0],Fn=an[Pt+10|0],pn=an[Pt+15|0],Qn=an[Pt+14|0],mn=an[Pt+13|0],Yn=an[Pt+28|0],Rn=an[Pt+27|0],En=an[Pt+26|0],vn=an[Pt+25|0],gn=an[Pt+24|0],Nn=an[Pt+23|0],Zn=an[0|Pt]|an[Pt+1|0]<<8|an[Pt+2|0]<<16|an[Pt+3|0]<<24,yn=(Wn=an[Pt+21|0])<<15,Wn=An=Wn>>>17|0,Vn=yn,Vn|=(yn=an[Pt+20|0])<<7,yn=(An=yn>>>25|0)|Wn,Wn=(An=an[Pt+22|0])>>>9|0,An=An<<23|Vn,Wn|=yn,Gn=an[Pt+16|0]|an[Pt+17|0]<<8|an[Pt+18|0]<<16|an[Pt+19|0]<<24,Pt=0,yn=An,An=(33554431&(Pt=(Vn=Gn+16777216|0)>>>0<16777216?1:Pt))<<7|Vn>>>25,Pt=(Pt>>>25|0)+Wn|0,An=(Wn=yn=yn+An|0)>>>0>>0?Pt+1|0:Pt,Pt=(yn=Wn+33554432|0)>>>0<33554432?An+1|0:An,nn[Wt+24>>2]=Wn-(-67108864&yn),An=(Wn=Nn>>>27|0)|gn>>>19|vn>>>11,Wn=Nn=(gn=vn<<21|(Nn=gn<<13|Nn<<5))+(Wn=(67108863&(Wn=Pt))<<6|yn>>>26)|0,Pt=An,An=(Nn=gn+16777216|0)>>>0<16777216?Pt+1|0:Pt,nn[Wt+28>>2]=Wn-(1040187392&Nn),Wn=(An=(Pt=An)>>>25|0)+(Wn=Rn>>>20|En>>>28|Yn>>>12)|0,Pt=Wn=(An=Nn=(Pt=(33554431&Pt)<<7|Nn>>>25)+(Rn<<12|En<<4|Yn<<20)|0)>>>0>>0?Wn+1|0:Wn,Nn=(Yn=An+33554432|0)>>>0<33554432?Pt+1|0:Pt,nn[Wt+32>>2]=An-(-67108864&Yn),Wn=un>>>13|(An=wn>>>21|Fn>>>29),Pt=(Wn=(Rn=16777216+(wn=wn<<11|Fn<<3|un<<19)|0)>>>0<16777216?Wn+1|0:Wn)>>>25|0,Wn=(An=gn=Qn<<10|mn<<2|pn<<18)+(gn=(33554431&Wn)<<7|Rn>>>25)|0,An=Pt+(vn=Qn>>>22|mn>>>30|pn>>>14)|0,Pt=An=Wn>>>0>>0?An+1|0:An,gn=((67108863&(Pt=(gn=Wn+33554432|0)>>>0<33554432?Pt+1|0:Pt))<<6|(An=gn)>>>26)+(En=Gn-(-33554432&Vn)|0)|0,nn[Wt+20>>2]=gn,nn[Wt+16>>2]=Wn-(-67108864&An),An=rn>>>18|sn>>>26|In>>>10,Wn=(An=(En=16777216+(Fn=rn<<14|sn<<6|In<<22)|0)>>>0<16777216?An+1|0:An)>>>25|0,An=(Pt=gn=cn<<13|dn<<5|on<<21)+(gn=(33554431&An)<<7|En>>>25)|0,Pt=Wn+(vn=cn>>>19|dn>>>27|on>>>11)|0,Pt=An>>>0>>0?Pt+1|0:Pt,Wn=(vn=An+33554432|0)>>>0<33554432?Pt+1|0:Pt,nn[Wt+8>>2]=An-(-67108864&vn),Yn=(Nn=(67108863&Nn)<<6|Yn>>>26)+(Qn=hn<<18&33292288|en<<10|tn<<2)|0,Pt=An=en>>>22|tn>>>30,An=(Nn=Qn+16777216|0)>>>0<16777216?Pt+1|0:Pt,nn[Wt+36>>2]=Yn-(33554432&Nn),Wn=wn+((67108863&Wn)<<6|vn>>>26)|0,nn[Wt+12>>2]=Wn-(234881024&Rn),gn=Fn-(2113929216&En)|0,Wn=PA((33554431&(Pt=An))<<7|Nn>>>25,An=Pt>>>25|0,19,0),Pt=bn,Wn=(An=Wn+Zn|0)>>>0>>0?Pt+1|0:Pt,Nn=((67108863&(Wn=(Pt=An+33554432|0)>>>0<33554432?Wn+1|0:Wn))<<6|Pt>>>26)+gn|0,nn[Wt+4>>2]=Nn,nn[Wt>>2]=An-(-67108864&Pt)}function Z(Wt,Pt){var en,In,rn,sn,on=0,cn=0,dn=0,un=0,pn=0,bn=0;for(mn=en=mn-480|0;dn=(cn=en+288|0)+(on<<1)|0,un=an[Pt+on|0],tn[dn+1|0]=un>>>4,tn[0|dn]=15&un,cn=cn+((dn=1|on)<<1)|0,dn=an[Pt+dn|0],tn[cn+1|0]=dn>>>4,tn[0|cn]=15&dn,32!=(0|(on=on+2|0)););for(Pt=0;on=8+(cn=(on=Pt)+an[0|(Pt=(en+288|0)+pn|0)]|0)|0,tn[0|Pt]=cn-(240&on),on=8+(cn=an[Pt+1|0]+(on<<24>>24>>4)|0)|0,tn[Pt+1|0]=cn-(240&on),on=8+(cn=an[Pt+2|0]+(on<<24>>24>>4)|0)|0,tn[Pt+2|0]=cn-(240&on),Pt=on<<24>>24>>4,63!=(0|(pn=pn+3|0)););for(tn[en+351|0]=an[en+351|0]+Pt,nn[Wt+32>>2]=0,nn[Wt+36>>2]=0,nn[Wt+24>>2]=0,nn[Wt+28>>2]=0,nn[Wt+16>>2]=0,nn[Wt+20>>2]=0,nn[Wt+8>>2]=0,nn[Wt+12>>2]=0,nn[Wt>>2]=0,nn[Wt+4>>2]=0,nn[Wt+44>>2]=0,nn[Wt+48>>2]=0,nn[Wt+40>>2]=1,nn[Wt+52>>2]=0,nn[Wt+56>>2]=0,nn[Wt+60>>2]=0,nn[Wt+64>>2]=0,nn[Wt+68>>2]=0,nn[Wt+72>>2]=0,nn[Wt+76>>2]=0,nn[Wt+80>>2]=1,VA(Wt+84|0,0,76),rn=Wt+120|0,pn=Wt+80|0,Pt=Wt+40|0,cn=en+208|0,In=en+168|0,dn=en+248|0,on=1;oA(bn=en+8|0,on>>>1|0,tn[(en+288|0)+on|0]),T(un=en+128|0,Wt,bn),M(Wt,un,dn),M(Pt,In,cn),M(pn,cn,dn),M(rn,un,In),bn=on>>>0<62,on=on+2|0,bn;);for(on=nn[Wt+36>>2],nn[en+392>>2]=nn[Wt+32>>2],nn[en+396>>2]=on,on=nn[Wt+28>>2],nn[en+384>>2]=nn[Wt+24>>2],nn[en+388>>2]=on,on=nn[Wt+20>>2],nn[en+376>>2]=nn[Wt+16>>2],nn[en+380>>2]=on,on=nn[Wt+12>>2],nn[en+368>>2]=nn[Wt+8>>2],nn[en+372>>2]=on,on=nn[Wt+4>>2],nn[en+360>>2]=nn[Wt>>2],nn[en+364>>2]=on,on=nn[Pt+12>>2],nn[en+408>>2]=nn[Pt+8>>2],nn[en+412>>2]=on,on=nn[Pt+20>>2],nn[en+416>>2]=nn[Pt+16>>2],nn[en+420>>2]=on,on=nn[Pt+28>>2],nn[en+424>>2]=nn[Pt+24>>2],nn[en+428>>2]=on,on=nn[Pt+36>>2],nn[en+432>>2]=nn[Pt+32>>2],nn[en+436>>2]=on,on=nn[Pt+4>>2],nn[en+400>>2]=nn[Pt>>2],nn[en+404>>2]=on,on=nn[pn+12>>2],nn[en+448>>2]=nn[pn+8>>2],nn[en+452>>2]=on,on=nn[pn+20>>2],nn[en+456>>2]=nn[pn+16>>2],nn[en+460>>2]=on,on=nn[pn+28>>2],nn[en+464>>2]=nn[pn+24>>2],nn[en+468>>2]=on,on=nn[pn+36>>2],nn[en+472>>2]=nn[pn+32>>2],nn[en+476>>2]=on,on=nn[pn+4>>2],nn[en+440>>2]=nn[pn>>2],nn[en+444>>2]=on,_(un,on=en+360|0),M(on,un,dn),M(bn=en+400|0,In,cn),M(sn=en+440|0,cn,dn),_(un,on),M(on,un,dn),M(bn,In,cn),M(sn,cn,dn),_(un,on),M(on,un,dn),M(bn,In,cn),M(sn,cn,dn),_(un,on),M(Wt,un,dn),M(Pt,In,cn),M(pn,cn,dn),M(rn,un,In),on=0;oA(bn=en+8|0,on>>>1|0,tn[(en+288|0)+on|0]),T(un=en+128|0,Wt,bn),M(Wt,un,dn),M(Pt,In,cn),M(pn,cn,dn),M(rn,un,In),un=on>>>0<62,on=on+2|0,un;);mn=en+480|0}function W(Wt,Pt,en,In){var rn,sn=0,on=0,cn=0,dn=0,un=0,pn=0,bn=0,Gn=0,hn=0,Zn=0,An=0,Wn=0;if(mn=rn=mn-704|0,en|In)if(sn=(In<<3|en>>>29)+(on=dn=nn[Wt+76>>2])|0,cn=(pn=nn[Wt+72>>2])+(un=en<<3)|0,nn[Wt+72>>2]=cn,sn=cn>>>0>>0?sn+1|0:sn,nn[Wt+76>>2]=sn,dn=nn[Wt+68>>2],sn=(sn=cn=(0|sn)==(0|on)&cn>>>0>>0|sn>>>0>>0)>>>0>(cn=cn+nn[Wt+64>>2]|0)>>>0?dn+1|0:dn,cn=(un=In>>>29|0)+cn|0,nn[Wt+64>>2]=cn,nn[Wt+68>>2]=cn>>>0>>0?sn+1|0:sn,cn=Wt+80|0,(0|In)==(0|(dn=An=0-((sn=0)+((un=127&((7&on)<<29|pn>>>3))>>>0>128)|0)|0))&en>>>0>=(pn=128-un|0)>>>0|In>>>0>dn>>>0){if(on=0,dn=0,!sn&(127^un)>>>0>=3|sn)for(Wn=252&pn;tn[(sn=on+un|0)+cn|0]=an[Pt+on|0],tn[cn+(un+(sn=1|on)|0)|0]=an[Pt+sn|0],tn[cn+(un+(sn=2|on)|0)|0]=an[Pt+sn|0],tn[cn+(un+(sn=3|on)|0)|0]=an[Pt+sn|0],sn=dn,dn=(on=on+4|0)>>>0<4?sn+1|0:sn,sn=hn,hn=sn=(bn=bn+4|0)>>>0<4?sn+1|0:sn,(0|bn)!=(0|Wn)|(0|Zn)!=(0|sn););if(hn=sn=0,sn|(bn=3&pn))for(;tn[(sn=on+un|0)+cn|0]=an[Pt+on|0],sn=dn,dn=(on=on+1|0)?sn:sn+1|0,sn=Zn,Zn=sn=(Gn=Gn+1|0)?sn:sn+1|0,(0|bn)!=(0|Gn)|(0|hn)!=(0|sn););if(n(Wt,cn,rn,on=rn+640|0),Pt=Pt+pn|0,!(In=In-((en>>>0>>0)+An|0)|0)&(en=en-pn|0)>>>0>127|In)for(;n(Wt,Pt,rn,on),Pt=Pt+128|0,!(In=In-(en>>>0<128)|0)&(en=en-128|0)>>>0>127|In;);if(en|In){if(Wt=3&en,Gn=0,Zn=0,on=0,dn=0,!In&en>>>0>=4|In)for(bn=124&en,pn=0,en=0,In=0;tn[on+cn|0]=an[Pt+on|0],tn[(sn=1|on)+cn|0]=an[Pt+sn|0],tn[(sn=2|on)+cn|0]=an[Pt+sn|0],tn[(sn=3|on)+cn|0]=an[Pt+sn|0],sn=dn,dn=(on=on+4|0)>>>0<4?sn+1|0:sn,sn=In,In=sn=(en=en+4|0)>>>0<4?sn+1|0:sn,(0|en)!=(0|bn)|(0|pn)!=(0|sn););if(Wt|hn)for(;tn[on+cn|0]=an[Pt+on|0],dn=(on=on+1|0)?dn:dn+1|0,sn=Zn,Zn=sn=(Gn=Gn+1|0)?sn:sn+1|0,(0|Wt)!=(0|Gn)|(0|hn)!=(0|sn););}MI(rn,704)}else{if(on=0,dn=0,!In&en>>>0>=4|In)for(Wt=-4&en;tn[(sn=on+un|0)+cn|0]=an[Pt+on|0],tn[cn+(pn=un+(sn=1|on)|0)|0]=an[Pt+sn|0],tn[cn+(pn=un+(sn=2|on)|0)|0]=an[Pt+sn|0],tn[cn+(pn=un+(sn=3|on)|0)|0]=an[Pt+sn|0],sn=dn,dn=(on=on+4|0)>>>0<4?sn+1|0:sn,sn=hn,hn=sn=(bn=bn+4|0)>>>0<4?sn+1|0:sn,(0|Wt)!=(0|bn)|(0|In)!=(0|sn););if((en&=3)|(Wt=0))for(;tn[(In=on+un|0)+cn|0]=an[Pt+on|0],dn=(on=on+1|0)?dn:dn+1|0,sn=Zn,Zn=sn=(Gn=Gn+1|0)?sn:sn+1|0,(0|en)!=(0|Gn)|(0|Wt)!=(0|sn););}return mn=rn+704|0,0}function $(Wt,Pt,en){var nn=0,In=0,rn=0,sn=0,on=0,cn=0,dn=0,un=0,pn=0,mn=0,bn=0,Gn=0,hn=0,Zn=0,An=0,Wn=0,Nn=0,gn=0,yn=0,vn=0;for(In=2036477234,sn=857760878,nn=1634760805,cn=1797285236,rn=an[Pt+12|0]|an[Pt+13|0]<<8|an[Pt+14|0]<<16|an[Pt+15|0]<<24,pn=an[Pt+8|0]|an[Pt+9|0]<<8|an[Pt+10|0]<<16|an[Pt+11|0]<<24,on=an[Pt+4|0]|an[Pt+5|0]<<8|an[Pt+6|0]<<16|an[Pt+7|0]<<24,mn=an[en+28|0]|an[en+29|0]<<8|an[en+30|0]<<16|an[en+31|0]<<24,dn=an[en+24|0]|an[en+25|0]<<8|an[en+26|0]<<16|an[en+27|0]<<24,Nn=an[en+20|0]|an[en+21|0]<<8|an[en+22|0]<<16|an[en+23|0]<<24,bn=an[en+16|0]|an[en+17|0]<<8|an[en+18|0]<<16|an[en+19|0]<<24,Gn=an[en+12|0]|an[en+13|0]<<8|an[en+14|0]<<16|an[en+15|0]<<24,hn=an[en+8|0]|an[en+9|0]<<8|an[en+10|0]<<16|an[en+11|0]<<24,Zn=an[en+4|0]|an[en+5|0]<<8|an[en+6|0]<<16|an[en+7|0]<<24,Pt=an[0|Pt]|an[Pt+1|0]<<8|an[Pt+2|0]<<16|an[Pt+3|0]<<24,en=an[0|en]|an[en+1|0]<<8|an[en+2|0]<<16|an[en+3|0]<<24;un=en,en=gI((An=Pt)^(Pt=en+nn|0),16),un=bn=gI(un^(nn=en+bn|0),12),gn=gI((An=Pt+bn|0)^en,8),Pt=gI(un^(bn=gn+nn|0),7),nn=Gn,Gn=gI((en=cn+Gn|0)^rn,16),nn=gI(nn^(mn=Gn+mn|0),12),rn=hn,cn=gI((In=In+hn|0)^pn,16),rn=gI(rn^(hn=cn+dn|0),12),dn=gI((In=rn+In|0)^cn,8),en=gI(dn^(cn=Pt+(Wn=en+nn|0)|0),16),pn=gI((sn=sn+Zn|0)^on,16),Zn=gI((on=pn+Nn|0)^Zn,12),un=Pt,Pt=gI((sn=sn+Zn|0)^pn,8),un=gI(un^(on=en+(yn=Pt+on|0)|0),12),pn=gI(en^(cn=un+cn|0),8),en=gI((Nn=pn+on|0)^un,7),un=In,In=nn,Wn=gI(Gn^Wn,8),In=gI(In^(nn=Wn+mn|0),7),Gn=gI((on=un+In|0)^Pt,16),mn=gI((Pt=Gn+bn|0)^In,12),on=gI(Gn^(In=mn+on|0),8),Gn=gI((bn=Pt+on|0)^mn,7),Pt=gI((Pt=rn)^(rn=dn+hn|0),7),hn=gI((sn=Pt+sn|0)^gn,16),dn=gI(Pt^(nn=hn+nn|0),12),Pt=gI(hn^(sn=dn+sn|0),8),hn=gI((mn=nn+Pt|0)^dn,7),un=rn,nn=gI(Zn^yn,7),dn=gI((rn=nn+An|0)^Wn,16),An=gI(nn^(Zn=un+dn|0),12),rn=gI(dn^(nn=An+rn|0),8),Zn=gI((dn=Zn+rn|0)^An,7),10!=(0|(vn=vn+1|0)););tn[0|Wt]=nn,tn[Wt+1|0]=nn>>>8,tn[Wt+2|0]=nn>>>16,tn[Wt+3|0]=nn>>>24,tn[Wt+28|0]=rn,tn[Wt+29|0]=rn>>>8,tn[Wt+30|0]=rn>>>16,tn[Wt+31|0]=rn>>>24,tn[Wt+24|0]=pn,tn[Wt+25|0]=pn>>>8,tn[Wt+26|0]=pn>>>16,tn[Wt+27|0]=pn>>>24,tn[Wt+20|0]=on,tn[Wt+21|0]=on>>>8,tn[Wt+22|0]=on>>>16,tn[Wt+23|0]=on>>>24,tn[Wt+16|0]=Pt,tn[Wt+17|0]=Pt>>>8,tn[Wt+18|0]=Pt>>>16,tn[Wt+19|0]=Pt>>>24,tn[Wt+12|0]=cn,tn[Wt+13|0]=cn>>>8,tn[Wt+14|0]=cn>>>16,tn[Wt+15|0]=cn>>>24,tn[Wt+8|0]=In,tn[Wt+9|0]=In>>>8,tn[Wt+10|0]=In>>>16,tn[Wt+11|0]=In>>>24,tn[Wt+4|0]=sn,tn[Wt+5|0]=sn>>>8,tn[Wt+6|0]=sn>>>16,tn[Wt+7|0]=sn>>>24}function AA(Wt,Pt,en){var nn=0,In=0,rn=0,sn=0,on=0,cn=0,dn=0,un=0,pn=0,mn=0,bn=0,Gn=0,hn=0,Zn=0,An=0,Wn=0,Nn=0,gn=0,yn=0,vn=0;for(nn=1797285236,dn=2036477234,un=857760878,In=1634760805,rn=an[Pt+12|0]|an[Pt+13|0]<<8|an[Pt+14|0]<<16|an[Pt+15|0]<<24,on=an[Pt+8|0]|an[Pt+9|0]<<8|an[Pt+10|0]<<16|an[Pt+11|0]<<24,sn=an[Pt+4|0]|an[Pt+5|0]<<8|an[Pt+6|0]<<16|an[Pt+7|0]<<24,An=an[en+28|0]|an[en+29|0]<<8|an[en+30|0]<<16|an[en+31|0]<<24,Zn=an[en+24|0]|an[en+25|0]<<8|an[en+26|0]<<16|an[en+27|0]<<24,Wn=20,Gn=an[en+20|0]|an[en+21|0]<<8|an[en+22|0]<<16|an[en+23|0]<<24,hn=an[en+16|0]|an[en+17|0]<<8|an[en+18|0]<<16|an[en+19|0]<<24,pn=an[en+12|0]|an[en+13|0]<<8|an[en+14|0]<<16|an[en+15|0]<<24,mn=an[en+8|0]|an[en+9|0]<<8|an[en+10|0]<<16|an[en+11|0]<<24,bn=an[en+4|0]|an[en+5|0]<<8|an[en+6|0]<<16|an[en+7|0]<<24,Pt=an[0|Pt]|an[Pt+1|0]<<8|an[Pt+2|0]<<16|an[Pt+3|0]<<24,en=an[0|en]|an[en+1|0]<<8|an[en+2|0]<<16|an[en+3|0]<<24;cn=gI(en+un|0,7)^rn,Nn=gI(cn+un|0,9)^Zn,pn=gI(In+Gn|0,7)^pn,gn=gI(pn+In|0,9)^on,yn=gI(gn+pn|0,13)^Gn,mn=gI(nn+hn|0,7)^mn,sn=gI(mn+nn|0,9)^sn,on=gI(sn+mn|0,13)^hn,nn=gI(sn+on|0,18)^nn,rn=gI(Pt+dn|0,7)^An,Gn=yn^gI(nn+rn|0,7),Zn=Nn^gI(Gn+nn|0,9),An=gI(Gn+Zn|0,13)^rn,nn=gI(Zn+An|0,18)^nn,bn=gI(rn+dn|0,9)^bn,vn=gI(bn+rn|0,13)^Pt,Pt=gI(vn+bn|0,18)^dn,hn=gI(Pt+cn|0,7)^on,on=gI(hn+Pt|0,9)^gn,rn=gI(on+hn|0,13)^cn,dn=gI(rn+on|0,18)^Pt,cn=gI(cn+Nn|0,13)^en,en=gI(cn+Nn|0,18)^un,Pt=gI(en+pn|0,7)^vn,sn=gI(Pt+en|0,9)^sn,pn=gI(Pt+sn|0,13)^pn,un=gI(sn+pn|0,18)^en,In=gI(gn+yn|0,18)^In,en=gI(In+mn|0,7)^cn,bn=gI(en+In|0,9)^bn,mn=gI(en+bn|0,13)^mn,In=gI(bn+mn|0,18)^In,cn=Wn>>>0>2,Wn=Wn-2|0,cn;);return tn[0|Wt]=In,tn[Wt+1|0]=In>>>8,tn[Wt+2|0]=In>>>16,tn[Wt+3|0]=In>>>24,tn[Wt+28|0]=rn,tn[Wt+29|0]=rn>>>8,tn[Wt+30|0]=rn>>>16,tn[Wt+31|0]=rn>>>24,tn[Wt+24|0]=on,tn[Wt+25|0]=on>>>8,tn[Wt+26|0]=on>>>16,tn[Wt+27|0]=on>>>24,tn[Wt+20|0]=sn,tn[Wt+21|0]=sn>>>8,tn[Wt+22|0]=sn>>>16,tn[Wt+23|0]=sn>>>24,tn[Wt+16|0]=Pt,tn[Wt+17|0]=Pt>>>8,tn[Wt+18|0]=Pt>>>16,tn[Wt+19|0]=Pt>>>24,tn[Wt+12|0]=nn,tn[Wt+13|0]=nn>>>8,tn[Wt+14|0]=nn>>>16,tn[Wt+15|0]=nn>>>24,tn[Wt+8|0]=dn,tn[Wt+9|0]=dn>>>8,tn[Wt+10|0]=dn>>>16,tn[Wt+11|0]=dn>>>24,tn[Wt+4|0]=un,tn[Wt+5|0]=un>>>8,tn[Wt+6|0]=un>>>16,tn[Wt+7|0]=un>>>24,0}function IA(Wt,Pt){var en,an,In=0,rn=0,sn=0,on=0;mn=en=mn-288|0,rn=40+((In=nn[Wt+32>>2]>>>3&63)+Wt|0)|0,In>>>0>=56?(TA(rn,35040,64-In|0),p(Wt,Wt+40|0,en,en+256|0),nn[Wt+88>>2]=0,nn[Wt+92>>2]=0,nn[Wt+80>>2]=0,nn[Wt+84>>2]=0,nn[Wt+72>>2]=0,nn[Wt+76>>2]=0,nn[(In=Wt- -64|0)>>2]=0,nn[In+4>>2]=0,nn[Wt+56>>2]=0,nn[Wt+60>>2]=0,nn[Wt+48>>2]=0,nn[Wt+52>>2]=0,nn[Wt+40>>2]=0,nn[Wt+44>>2]=0):TA(rn,35040,56-In|0),sn=(In=16711680&(rn=nn[Wt+32>>2]))>>>8|0,on=In<<24,an=(In=-16777216&rn)>>>24|0,In=(on|=In<<8)|-16777216&((255&(In=nn[Wt+36>>2]))<<24|rn>>>8)|16711680&((16777215&In)<<8|rn>>>24)|In>>>8&65280|In>>>24,tn[Wt+96|0]=In,tn[Wt+97|0]=In>>>8,tn[Wt+98|0]=In>>>16,tn[Wt+99|0]=In>>>24,In=sn|an|rn<<24|(65280&rn)<<8,In|=sn=0,tn[Wt+100|0]=In,tn[Wt+101|0]=In>>>8,tn[Wt+102|0]=In>>>16,tn[Wt+103|0]=In>>>24,p(Wt,Wt+40|0,en,en+256|0),In=(In=nn[Wt>>2])<<24|(65280&In)<<8|In>>>8&65280|In>>>24,tn[0|Pt]=In,tn[Pt+1|0]=In>>>8,tn[Pt+2|0]=In>>>16,tn[Pt+3|0]=In>>>24,In=(In=nn[Wt+4>>2])<<24|(65280&In)<<8|In>>>8&65280|In>>>24,tn[Pt+4|0]=In,tn[Pt+5|0]=In>>>8,tn[Pt+6|0]=In>>>16,tn[Pt+7|0]=In>>>24,In=(In=nn[Wt+8>>2])<<24|(65280&In)<<8|In>>>8&65280|In>>>24,tn[Pt+8|0]=In,tn[Pt+9|0]=In>>>8,tn[Pt+10|0]=In>>>16,tn[Pt+11|0]=In>>>24,In=(In=nn[Wt+12>>2])<<24|(65280&In)<<8|In>>>8&65280|In>>>24,tn[Pt+12|0]=In,tn[Pt+13|0]=In>>>8,tn[Pt+14|0]=In>>>16,tn[Pt+15|0]=In>>>24,In=(In=nn[Wt+16>>2])<<24|(65280&In)<<8|In>>>8&65280|In>>>24,tn[Pt+16|0]=In,tn[Pt+17|0]=In>>>8,tn[Pt+18|0]=In>>>16,tn[Pt+19|0]=In>>>24,In=(In=nn[Wt+20>>2])<<24|(65280&In)<<8|In>>>8&65280|In>>>24,tn[Pt+20|0]=In,tn[Pt+21|0]=In>>>8,tn[Pt+22|0]=In>>>16,tn[Pt+23|0]=In>>>24,In=(In=nn[Wt+24>>2])<<24|(65280&In)<<8|In>>>8&65280|In>>>24,tn[Pt+24|0]=In,tn[Pt+25|0]=In>>>8,tn[Pt+26|0]=In>>>16,tn[Pt+27|0]=In>>>24,In=(In=nn[Wt+28>>2])<<24|(65280&In)<<8|In>>>8&65280|In>>>24,tn[Pt+28|0]=In,tn[Pt+29|0]=In>>>8,tn[Pt+30|0]=In>>>16,tn[Pt+31|0]=In>>>24,MI(en,288),MI(Wt,104),mn=en+288|0}function gA(Wt,Pt,en){var In,rn=0,sn=0,on=0,cn=0,dn=0,un=0,pn=0,bn=0;if(mn=In=mn-96|0,en>>>0>=65&&(RA(Wt),BA(Wt,Pt,en),IA(Wt,In),en=32,Pt=In),RA(Wt),nn[In+88>>2]=909522486,nn[In+92>>2]=909522486,nn[In+80>>2]=909522486,nn[In+84>>2]=909522486,nn[In+72>>2]=909522486,nn[In+76>>2]=909522486,nn[(on=pn=In- -64|0)>>2]=909522486,nn[on+4>>2]=909522486,nn[In+56>>2]=909522486,nn[In+60>>2]=909522486,nn[In+48>>2]=909522486,nn[In+52>>2]=909522486,nn[In+40>>2]=909522486,nn[In+44>>2]=909522486,nn[In+32>>2]=909522486,nn[In+36>>2]=909522486,en){if(en>>>0>=4)for(cn=124&en;tn[0|(sn=(on=In+32|0)+rn|0)]=an[0|sn]^an[Pt+rn|0],tn[0|(bn=(sn=1|rn)+on|0)]=an[0|bn]^an[Pt+sn|0],tn[0|(bn=(sn=2|rn)+on|0)]=an[0|bn]^an[Pt+sn|0],tn[0|(sn=(sn=on)+(on=3|rn)|0)]=an[0|sn]^an[Pt+on|0],rn=rn+4|0,(0|cn)!=(0|(dn=dn+4|0)););if(dn=3&en)for(;tn[0|(on=(In+32|0)+rn|0)]=an[0|on]^an[Pt+rn|0],rn=rn+1|0,(0|dn)!=(0|(un=un+1|0)););}if(BA(Wt,In+32|0,64),RA(on=Wt+104|0),nn[In+88>>2]=1549556828,nn[In+92>>2]=1549556828,nn[In+80>>2]=1549556828,nn[In+84>>2]=1549556828,nn[In+72>>2]=1549556828,nn[In+76>>2]=1549556828,nn[pn>>2]=1549556828,nn[pn+4>>2]=1549556828,nn[In+56>>2]=1549556828,nn[In+60>>2]=1549556828,nn[In+48>>2]=1549556828,nn[In+52>>2]=1549556828,nn[In+40>>2]=1549556828,nn[In+44>>2]=1549556828,nn[In+32>>2]=1549556828,nn[In+36>>2]=1549556828,en){if(un=0,rn=0,en>>>0>=4)for(pn=124&en,dn=0;tn[0|(cn=(Wt=In+32|0)+rn|0)]=an[0|cn]^an[Pt+rn|0],tn[0|(sn=(cn=1|rn)+Wt|0)]=an[0|sn]^an[Pt+cn|0],tn[0|(sn=(cn=2|rn)+Wt|0)]=an[0|sn]^an[Pt+cn|0],tn[0|(cn=(sn=Wt)+(Wt=3|rn)|0)]=an[0|cn]^an[Wt+Pt|0],rn=rn+4|0,(0|pn)!=(0|(dn=dn+4|0)););if(Wt=3&en)for(;tn[0|(en=(In+32|0)+rn|0)]=an[0|en]^an[Pt+rn|0],rn=rn+1|0,(0|Wt)!=(0|(un=un+1|0)););}return BA(on,Wt=In+32|0,64),MI(Wt,64),MI(In,32),mn=In+96|0,0}function CA(Wt,Pt,en,tn,an,In,rn){var sn=0,on=0,cn=0,dn=0,un=0,pn=0,bn=0;if(Pt-65>>>0<4294967232|rn>>>0>64)Wt=-1;else{pn=sn=mn,mn=sn=sn-512&-64;e:{t:if(!(!(!(tn|an)|en)|!Wt|((on=255&Pt)-65&255)>>>0<=191|!(!(Pt=255&rn)||In)|Pt>>>0>=65)){if(Pt){if(!In)break t;VA(sn- -64|0,0,293),nn[sn+56>>2]=327033209,nn[sn+60>>2]=1541459225,nn[sn+48>>2]=-79577749,nn[sn+52>>2]=528734635,nn[sn+40>>2]=725511199,nn[sn+44>>2]=-1694144372,nn[sn+32>>2]=-1377402159,nn[sn+36>>2]=1359893119,nn[sn+24>>2]=1595750129,nn[sn+28>>2]=-1521486534,nn[sn+16>>2]=-23791573,nn[sn+20>>2]=1013904242,nn[sn+8>>2]=-2067093701,nn[sn+12>>2]=-1150833019,nn[sn>>2]=-222443256^(Pt<<8|on),nn[sn+4>>2]=Pt>>>24^1779033703,VA((rn=sn+384|0)+Pt|0,0,128-Pt|0),TA(rn,In,Pt),TA(sn+96|0,rn,128),nn[sn+352>>2]=128,MI(rn,128),Pt=128}else VA(sn- -64|0,0,293),nn[sn+56>>2]=327033209,nn[sn+60>>2]=1541459225,nn[sn+48>>2]=-79577749,nn[sn+52>>2]=528734635,nn[sn+40>>2]=725511199,nn[sn+44>>2]=-1694144372,nn[sn+32>>2]=-1377402159,nn[sn+36>>2]=1359893119,nn[sn+24>>2]=1595750129,nn[sn+28>>2]=-1521486534,nn[sn+16>>2]=-23791573,nn[sn+20>>2]=1013904242,nn[sn+8>>2]=-2067093701,nn[sn+12>>2]=-1150833019,nn[sn>>2]=-222443256^on,nn[sn+4>>2]=1779033703,Pt=0;n:if(tn|an)for(bn=sn+224|0,cn=sn+96|0;;){if(rn=Pt+cn|0,!an&tn>>>0<=(In=256-Pt|0)>>>0){TA(rn,en,tn),nn[sn+352>>2]=tn+nn[sn+352>>2];break n}if(TA(rn,en,In),nn[sn+352>>2]=In+nn[sn+352>>2],dn=Pt=nn[sn+68>>2],Pt=(un=(rn=nn[sn+64>>2])+128|0)>>>0<128?Pt+1|0:Pt,nn[sn+64>>2]=un,nn[sn+68>>2]=Pt,Pt=nn[sn+76>>2],Pt=(dn=rn=-1==(0|dn)&rn>>>0>4294967167)>>>0>(rn=rn+nn[sn+72>>2]|0)>>>0?Pt+1|0:Pt,nn[sn+72>>2]=rn,nn[sn+76>>2]=Pt,h(sn,cn),TA(cn,bn,128),Pt=nn[sn+352>>2]-128|0,nn[sn+352>>2]=Pt,en=en+In|0,!((an=an-(tn>>>0>>0)|0)|(tn=tn-In|0)))break}m(sn,Wt,on),mn=pn;break e}iI(),Q()}Wt=0}return Wt}function BA(Wt,Pt,en){var In,rn=0,sn=0,on=0,cn=0,dn=0,un=0,pn=0,bn=0,Gn=0,hn=0,Zn=0;if(mn=In=mn-288|0,en)if(rn=nn[Wt+36>>2],un=(cn=nn[Wt+32>>2])+(dn=en<<3)|0,nn[Wt+32>>2]=un,on=(en>>>29|0)+rn|0,nn[Wt+36>>2]=dn>>>0>un>>>0?on+1|0:on,dn=Wt+40|0,!0&(on=64-(un=63&((7&rn)<<29|cn>>>3))|0)>>>0<=en>>>0){if(rn=0,cn=0,(63^un)>>>0>=3)for(Zn=124&on;tn[(rn+un|0)+dn|0]=an[Pt+rn|0],tn[(un+(Gn=1|rn)|0)+dn|0]=an[Pt+Gn|0],tn[(un+(Gn=2|rn)|0)+dn|0]=an[Pt+Gn|0],tn[(un+(Gn=3|rn)|0)+dn|0]=an[Pt+Gn|0],cn=(rn=rn+4|0)>>>0<4?cn+1|0:cn,(sn=(hn=hn+4|0)>>>0<4?sn+1|0:sn)|(0|hn)!=(0|Zn););if(sn=3&on)for(;tn[(rn+un|0)+dn|0]=an[Pt+rn|0],cn=(rn=rn+1|0)?cn:cn+1|0,(pn=(bn=bn+1|0)?pn:pn+1|0)|(0|sn)!=(0|bn););if(p(Wt,dn,In,pn=In+256|0),Pt=Pt+on|0,!(sn=0-((en>>>0>>0)+0|0)|0)&(en=en-on|0)>>>0>63|sn)for(;p(Wt,Pt,In,pn),Pt=Pt- -64|0,sn=sn-1|0,!(sn=(en=en+-64|0)>>>0<4294967232?sn+1|0:sn)&en>>>0>63|sn;);if(en|sn){if(Wt=3&en,bn=0,pn=0,rn=0,cn=0,!sn&en>>>0>=4|sn)for(un=60&en,en=0,sn=0;tn[rn+dn|0]=an[Pt+rn|0],tn[(on=1|rn)+dn|0]=an[Pt+on|0],tn[(on=2|rn)+dn|0]=an[Pt+on|0],tn[(on=3|rn)+dn|0]=an[Pt+on|0],cn=(rn=rn+4|0)>>>0<4?cn+1|0:cn,(sn=(en=en+4|0)>>>0<4?sn+1|0:sn)|(0|en)!=(0|un););if(Wt)for(;tn[rn+dn|0]=an[Pt+rn|0],cn=(rn=rn+1|0)?cn:cn+1|0,(pn=(bn=bn+1|0)?pn:pn+1|0)|(0|Wt)!=(0|bn););}MI(In,288)}else{if(rn=0,cn=0,en>>>0>=4)for(Wt=-4&en;tn[(rn+un|0)+dn|0]=an[Pt+rn|0],tn[(un+(on=1|rn)|0)+dn|0]=an[Pt+on|0],tn[(un+(on=2|rn)|0)+dn|0]=an[Pt+on|0],tn[(un+(on=3|rn)|0)+dn|0]=an[Pt+on|0],cn=(rn=rn+4|0)>>>0<4?cn+1|0:cn,(sn=(hn=hn+4|0)>>>0<4?sn+1|0:sn)|(0|Wt)!=(0|hn););if(Wt=3&en)for(;tn[(rn+un|0)+dn|0]=an[Pt+rn|0],cn=(rn=rn+1|0)?cn:cn+1|0,(pn=(bn=bn+1|0)?pn:pn+1|0)|(0|Wt)!=(0|bn););}mn=In+288|0}function QA(Wt,Pt,en,In){var rn=0,sn=0,on=0,cn=0,dn=0,un=0,pn=0,mn=0,bn=0,Gn=0,hn=0,Zn=0;e:{if((sn=nn[Wt+56>>2])|(rn=nn[Wt+60>>2])){if(mn=cn=16-sn|0,un=(cn=(0|(on=0-((sn>>>0>16)+rn|0)|0))==(0|In)&en>>>0>cn>>>0|In>>>0>on>>>0)?mn:en,mn=cn=cn?on:In,cn|un){if(cn=Wt- -64|0,on=0,sn=0,!mn&un>>>0>=4|mn)for(pn=-4&un;rn=on+nn[Wt+56>>2]|0,tn[rn+cn|0]=an[Pt+on|0],rn=(bn=1|on)+nn[Wt+56>>2]|0,tn[rn+cn|0]=an[Pt+bn|0],rn=(bn=2|on)+nn[Wt+56>>2]|0,tn[rn+cn|0]=an[Pt+bn|0],rn=(bn=3|on)+nn[Wt+56>>2]|0,tn[rn+cn|0]=an[Pt+bn|0],rn=sn,sn=(on=on+4|0)>>>0<4?rn+1|0:rn,rn=hn,hn=rn=(dn=dn+4|0)>>>0<4?rn+1|0:rn,(0|dn)!=(0|pn)|(0|mn)!=(0|rn););if(hn=rn=0,rn|(dn=3&un))for(;rn=on+nn[Wt+56>>2]|0,tn[rn+cn|0]=an[Pt+on|0],sn=(on=on+1|0)?sn:sn+1|0,rn=Zn,Zn=rn=(Gn=Gn+1|0)?rn:rn+1|0,(0|dn)!=(0|Gn)|(0|hn)!=(0|rn););sn=nn[Wt+56>>2],rn=nn[Wt+60>>2]}if(rn=rn+mn|0,rn=(sn=sn+un|0)>>>0>>0?rn+1|0:rn,nn[Wt+56>>2]=sn,nn[Wt+60>>2]=rn,!rn&sn>>>0<16)break e;z(Wt,Wt- -64|0,16,0),nn[Wt+56>>2]=0,nn[Wt+60>>2]=0,en=(sn=en)-un|0,In=In-((sn>>>0>>0)+mn|0)|0,Pt=Pt+un|0}if(!In&en>>>0>=16|In&&(z(Wt,Pt,sn=-16&en,In),en&=15,In=0,Pt=Pt+sn|0),en|In){if(cn=Wt- -64|0,Gn=0,Zn=0,on=0,sn=0,!In&en>>>0>=4|In)for(un=12&en,mn=0,dn=0;rn=on+nn[Wt+56>>2]|0,tn[rn+cn|0]=an[Pt+on|0],rn=(pn=1|on)+nn[Wt+56>>2]|0,tn[rn+cn|0]=an[Pt+pn|0],rn=(pn=2|on)+nn[Wt+56>>2]|0,tn[rn+cn|0]=an[Pt+pn|0],rn=(pn=3|on)+nn[Wt+56>>2]|0,tn[rn+cn|0]=an[Pt+pn|0],sn=(on=on+4|0)>>>0<4?sn+1|0:sn,rn=hn,hn=rn=(dn=dn+4|0)>>>0<4?rn+1|0:rn,(0|un)!=(0|dn)|(0|mn)!=(0|rn););if(hn=rn=0,rn|(dn=3&en))for(;rn=on+nn[Wt+56>>2]|0,tn[rn+cn|0]=an[Pt+on|0],sn=(on=on+1|0)?sn:sn+1|0,rn=Zn,Zn=rn=(Gn=Gn+1|0)?rn:rn+1|0,(0|dn)!=(0|Gn)|(0|hn)!=(0|rn););sn=In+nn[Wt+60>>2]|0,sn=(Pt=en+nn[Wt+56>>2]|0)>>>0>>0?sn+1|0:sn,nn[Wt+56>>2]=Pt,nn[Wt+60>>2]=sn}}}function EA(Wt,Pt,en){var tn,an=0,In=0,rn=0,sn=0,on=0,cn=0,dn=0,un=0,pn=0,mn=0,bn=0,Gn=0,hn=0,Zn=0,An=0,Wn=0,Nn=0,gn=0,yn=0;Gn=nn[Pt+4>>2],an=nn[Wt+4>>2],hn=nn[Pt+8>>2],In=nn[Wt+8>>2],Zn=nn[Pt+12>>2],rn=nn[Wt+12>>2],An=nn[Pt+16>>2],sn=nn[Wt+16>>2],Wn=nn[Pt+20>>2],on=nn[Wt+20>>2],mn=nn[Pt+24>>2],cn=nn[Wt+24>>2],Nn=nn[Pt+28>>2],dn=nn[Wt+28>>2],gn=nn[Pt+32>>2],un=nn[Wt+32>>2],yn=nn[Pt+36>>2],pn=nn[Wt+36>>2],en=0-en|0,bn=nn[Wt>>2],nn[Wt>>2]=en&(bn^nn[Pt>>2])^bn,nn[Wt+36>>2]=pn^en&(pn^yn),nn[Wt+32>>2]=un^en&(un^gn),nn[Wt+28>>2]=dn^en&(dn^Nn),nn[Wt+24>>2]=cn^en&(cn^mn),nn[Wt+20>>2]=on^en&(on^Wn),nn[Wt+16>>2]=sn^en&(sn^An),nn[Wt+12>>2]=rn^en&(rn^Zn),nn[Wt+8>>2]=In^en&(In^hn),nn[Wt+4>>2]=an^en&(an^Gn),an=nn[Wt+44>>2],Gn=nn[Pt+44>>2],In=nn[Wt+48>>2],hn=nn[Pt+48>>2],rn=nn[Wt+52>>2],Zn=nn[Pt+52>>2],sn=nn[Wt+56>>2],An=nn[Pt+56>>2],on=nn[Wt+60>>2],Wn=nn[Pt+60>>2],cn=nn[(mn=Wt- -64|0)>>2],Nn=nn[Pt- -64>>2],dn=nn[Wt+68>>2],gn=nn[Pt+68>>2],un=nn[Wt+72>>2],yn=nn[Pt+72>>2],pn=nn[Wt+40>>2],bn=nn[Pt+40>>2],tn=nn[Wt+76>>2],nn[Wt+76>>2]=tn^en&(nn[Pt+76>>2]^tn),nn[Wt+72>>2]=un^en&(un^yn),nn[Wt+68>>2]=dn^en&(dn^gn),nn[mn>>2]=cn^en&(cn^Nn),nn[Wt+60>>2]=on^en&(on^Wn),nn[Wt+56>>2]=sn^en&(sn^An),nn[Wt+52>>2]=rn^en&(rn^Zn),nn[Wt+48>>2]=In^en&(In^hn),nn[Wt+44>>2]=an^en&(an^Gn),nn[Wt+40>>2]=pn^en&(pn^bn),an=nn[Wt+84>>2],Gn=nn[Pt+84>>2],In=nn[Wt+88>>2],hn=nn[Pt+88>>2],rn=nn[Wt+92>>2],Zn=nn[Pt+92>>2],sn=nn[Wt+96>>2],An=nn[Pt+96>>2],on=nn[Wt+100>>2],Wn=nn[Pt+100>>2],cn=nn[Wt+104>>2],mn=nn[Pt+104>>2],dn=nn[Wt+108>>2],Nn=nn[Pt+108>>2],un=nn[Wt+112>>2],gn=nn[Pt+112>>2],pn=nn[Wt+80>>2],yn=nn[Pt+80>>2],bn=nn[Pt+116>>2],Pt=nn[Wt+116>>2],nn[Wt+116>>2]=en&(bn^Pt)^Pt,nn[Wt+112>>2]=un^en&(un^gn),nn[Wt+108>>2]=dn^en&(dn^Nn),nn[Wt+104>>2]=cn^en&(cn^mn),nn[Wt+100>>2]=on^en&(on^Wn),nn[Wt+96>>2]=sn^en&(sn^An),nn[Wt+92>>2]=rn^en&(rn^Zn),nn[Wt+88>>2]=In^en&(In^hn),nn[Wt+84>>2]=an^en&(an^Gn),nn[Wt+80>>2]=pn^en&(pn^yn)}function iA(Wt,Pt){var en,tn,nn=0;for(mn=en=mn-192|0,U(tn=en+144|0,Pt),U(nn=en+96|0,tn),U(nn,nn),M(nn,Pt,nn),M(tn,tn,nn),U(Pt=en+48|0,tn),M(nn,nn,Pt),U(Pt,nn),U(Pt,Pt),U(Pt,Pt),U(Pt,Pt),U(Pt,Pt),M(nn,Pt,nn),U(Pt,nn),U(Pt,Pt),U(Pt,Pt),U(Pt,Pt),U(Pt,Pt),U(Pt,Pt),U(Pt,Pt),U(Pt,Pt),U(Pt,Pt),U(Pt,Pt),M(Pt,Pt,nn),U(en,Pt),U(en,en),U(en,en),U(en,en),U(en,en),U(en,en),U(en,en),U(en,en),U(en,en),U(en,en),U(en,en),U(en,en),U(en,en),U(en,en),U(en,en),U(en,en),U(en,en),U(en,en),U(en,en),U(en,en),M(Pt,en,Pt),U(Pt,Pt),U(Pt,Pt),U(Pt,Pt),U(Pt,Pt),U(Pt,Pt),U(Pt,Pt),U(Pt,Pt),U(Pt,Pt),U(Pt,Pt),U(Pt,Pt),M(nn,Pt,nn),U(Pt,nn),U(Pt,Pt),U(Pt,Pt),U(Pt,Pt),U(Pt,Pt),U(Pt,Pt),U(Pt,Pt),U(Pt,Pt),U(Pt,Pt),U(Pt,Pt),U(Pt,Pt),U(Pt,Pt),U(Pt,Pt),U(Pt,Pt),U(Pt,Pt),U(Pt,Pt),U(Pt,Pt),U(Pt,Pt),U(Pt,Pt),U(Pt,Pt),U(Pt,Pt),U(Pt,Pt),U(Pt,Pt),U(Pt,Pt),U(Pt,Pt),U(Pt,Pt),U(Pt,Pt),U(Pt,Pt),U(Pt,Pt),U(Pt,Pt),U(Pt,Pt),U(Pt,Pt),U(Pt,Pt),U(Pt,Pt),U(Pt,Pt),U(Pt,Pt),U(Pt,Pt),U(Pt,Pt),U(Pt,Pt),U(Pt,Pt),U(Pt,Pt),U(Pt,Pt),U(Pt,Pt),U(Pt,Pt),U(Pt,Pt),U(Pt,Pt),U(Pt,Pt),U(Pt,Pt),U(Pt,Pt),U(Pt,Pt),M(Pt,Pt,nn),U(en,Pt),Pt=1;U(en,en),100!=(0|(Pt=Pt+1|0)););M(Pt=en+48|0,en,Pt),U(Pt,Pt),U(Pt,Pt),U(Pt,Pt),U(Pt,Pt),U(Pt,Pt),U(Pt,Pt),U(Pt,Pt),U(Pt,Pt),U(Pt,Pt),U(Pt,Pt),U(Pt,Pt),U(Pt,Pt),U(Pt,Pt),U(Pt,Pt),U(Pt,Pt),U(Pt,Pt),U(Pt,Pt),U(Pt,Pt),U(Pt,Pt),U(Pt,Pt),U(Pt,Pt),U(Pt,Pt),U(Pt,Pt),U(Pt,Pt),U(Pt,Pt),U(Pt,Pt),U(Pt,Pt),U(Pt,Pt),U(Pt,Pt),U(Pt,Pt),U(Pt,Pt),U(Pt,Pt),U(Pt,Pt),U(Pt,Pt),U(Pt,Pt),U(Pt,Pt),U(Pt,Pt),U(Pt,Pt),U(Pt,Pt),U(Pt,Pt),U(Pt,Pt),U(Pt,Pt),U(Pt,Pt),U(Pt,Pt),U(Pt,Pt),U(Pt,Pt),U(Pt,Pt),U(Pt,Pt),U(Pt,Pt),U(Pt,Pt),M(nn=en+96|0,Pt,nn),U(nn,nn),U(nn,nn),U(nn,nn),U(nn,nn),U(nn,nn),M(Wt,nn,en+144|0),mn=en+192|0}function oA(Wt,Pt,en){var tn,an,In,sn,on,cn,dn,un,pn=0;mn=tn=mn-128|0,nn[Wt>>2]=1,nn[Wt+4>>2]=0,nn[Wt+8>>2]=0,nn[Wt+12>>2]=0,nn[Wt+16>>2]=0,nn[Wt+20>>2]=0,nn[Wt+24>>2]=0,nn[Wt+28>>2]=0,nn[Wt+32>>2]=0,nn[Wt+36>>2]=0,nn[Wt+40>>2]=1,VA(Wt+44|0,0,76),EA(Wt,Pt=rn(Pt,960)+2688|0,(255&(1^(pn=en-((en>>31&en)<<1)|0)))-1>>>31|0),EA(Wt,Pt+120|0,(255&(2^pn))-1>>>31|0),EA(Wt,Pt+240|0,(255&(3^pn))-1>>>31|0),EA(Wt,Pt+360|0,(255&(4^pn))-1>>>31|0),EA(Wt,Pt+480|0,(255&(5^pn))-1>>>31|0),EA(Wt,Pt+600|0,(255&(6^pn))-1>>>31|0),EA(Wt,Pt+720|0,(255&(7^pn))-1>>>31|0),EA(Wt,Pt+840|0,(255&(8^pn))-1>>>31|0),Pt=nn[Wt+76>>2],nn[tn+40>>2]=nn[Wt+72>>2],nn[tn+44>>2]=Pt,pn=nn[4+(Pt=Wt- -64|0)>>2],nn[tn+32>>2]=nn[Pt>>2],nn[tn+36>>2]=pn,Pt=nn[Wt+60>>2],nn[tn+24>>2]=nn[Wt+56>>2],nn[tn+28>>2]=Pt,Pt=nn[Wt+52>>2],nn[tn+16>>2]=nn[Wt+48>>2],nn[tn+20>>2]=Pt,Pt=nn[Wt+44>>2],nn[tn+8>>2]=nn[Wt+40>>2],nn[tn+12>>2]=Pt,Pt=nn[Wt+12>>2],nn[tn+56>>2]=nn[Wt+8>>2],nn[tn+60>>2]=Pt,pn=nn[Wt+20>>2],nn[(Pt=tn- -64|0)>>2]=nn[Wt+16>>2],nn[Pt+4>>2]=pn,Pt=nn[Wt+28>>2],nn[tn+72>>2]=nn[Wt+24>>2],nn[tn+76>>2]=Pt,Pt=nn[Wt+36>>2],nn[tn+80>>2]=nn[Wt+32>>2],nn[tn+84>>2]=Pt,Pt=nn[Wt+4>>2],nn[tn+48>>2]=nn[Wt>>2],nn[tn+52>>2]=Pt,Pt=nn[Wt+84>>2],pn=nn[Wt+88>>2],an=nn[Wt+92>>2],In=nn[Wt+96>>2],sn=nn[Wt+100>>2],on=nn[Wt+104>>2],cn=nn[Wt+108>>2],dn=nn[Wt+112>>2],un=nn[Wt+80>>2],nn[tn+124>>2]=0-nn[Wt+116>>2],nn[tn+120>>2]=0-dn,nn[tn+116>>2]=0-cn,nn[tn+112>>2]=0-on,nn[tn+108>>2]=0-sn,nn[tn+104>>2]=0-In,nn[tn+100>>2]=0-an,nn[tn+96>>2]=0-pn,nn[tn+92>>2]=0-Pt,nn[tn+88>>2]=0-un,EA(Wt,tn+8|0,(128&en)>>>7|0),mn=tn+128|0}function cA(Wt,Pt,en,nn){var In=0,rn=0,sn=0,on=0,cn=0,dn=0,un=0;if(en|nn)e:for(un=Wt+224|0,cn=Wt+96|0,rn=an[Wt+352|0]|an[Wt+353|0]<<8|an[Wt+354|0]<<16|an[Wt+355|0]<<24;;){if(In=rn+cn|0,!nn&en>>>0<=(sn=256-rn|0)>>>0){TA(In,Pt,en),Pt=en+(an[Wt+352|0]|an[Wt+353|0]<<8|an[Wt+354|0]<<16|an[Wt+355|0]<<24)|0,tn[Wt+352|0]=Pt,tn[Wt+353|0]=Pt>>>8,tn[Wt+354|0]=Pt>>>16,tn[Wt+355|0]=Pt>>>24;break e}if(TA(In,Pt,sn),In=(an[Wt+352|0]|an[Wt+353|0]<<8|an[Wt+354|0]<<16|an[Wt+355|0]<<24)+sn|0,tn[Wt+352|0]=In,tn[Wt+353|0]=In>>>8,tn[Wt+354|0]=In>>>16,tn[Wt+355|0]=In>>>24,dn=rn=an[Wt+68|0]|an[Wt+69|0]<<8|an[Wt+70|0]<<16|an[Wt+71|0]<<24,rn=(on=128+(In=an[Wt+64|0]|an[Wt+65|0]<<8|an[Wt+66|0]<<16|an[Wt+67|0]<<24)|0)>>>0<128?rn+1|0:rn,tn[Wt+64|0]=on,tn[Wt+65|0]=on>>>8,tn[Wt+66|0]=on>>>16,tn[Wt+67|0]=on>>>24,tn[Wt+68|0]=rn,tn[Wt+69|0]=rn>>>8,tn[Wt+70|0]=rn>>>16,tn[Wt+71|0]=rn>>>24,rn=an[Wt+76|0]|an[Wt+77|0]<<8|an[Wt+78|0]<<16|an[Wt+79|0]<<24,rn=(dn=In=-1==(0|dn)&In>>>0>4294967167)>>>0>(In=In+(an[Wt+72|0]|an[Wt+73|0]<<8|an[Wt+74|0]<<16|an[Wt+75|0]<<24)|0)>>>0?rn+1|0:rn,tn[Wt+72|0]=In,tn[Wt+73|0]=In>>>8,tn[Wt+74|0]=In>>>16,tn[Wt+75|0]=In>>>24,tn[Wt+76|0]=rn,tn[Wt+77|0]=rn>>>8,tn[Wt+78|0]=rn>>>16,tn[Wt+79|0]=rn>>>24,h(Wt,cn),TA(cn,un,128),In=rn=(an[Wt+352|0]|an[Wt+353|0]<<8|an[Wt+354|0]<<16|an[Wt+355|0]<<24)-128|0,tn[Wt+352|0]=In,tn[Wt+353|0]=In>>>8,tn[Wt+354|0]=In>>>16,tn[Wt+355|0]=In>>>24,Pt=Pt+sn|0,!((nn=nn-(en>>>0>>0)|0)|(en=en-sn|0)))break}return 0}function DA(Wt,Pt){var en,tn=0,an=0,In=0,rn=0,sn=0,on=0,cn=0,dn=0,un=0,pn=0,mn=0,bn=0,Gn=0,hn=0,Zn=0,An=0,Wn=0,Nn=0;tn=nn[Pt+4>>2],In=nn[Pt+44>>2],rn=nn[Pt+8>>2],sn=nn[Pt+48>>2],on=nn[Pt+12>>2],cn=nn[Pt+52>>2],dn=nn[Pt+16>>2],un=nn[Pt+56>>2],pn=nn[Pt+20>>2],mn=nn[Pt+60>>2],bn=nn[Pt+24>>2],Gn=nn[(an=Pt- -64|0)>>2],hn=nn[Pt+28>>2],Zn=nn[Pt+68>>2],An=nn[Pt+32>>2],Wn=nn[Pt+72>>2],Nn=nn[Pt+36>>2],en=nn[Pt+76>>2],nn[Wt>>2]=nn[Pt>>2]+nn[Pt+40>>2],nn[Wt+36>>2]=Nn+en,nn[Wt+32>>2]=An+Wn,nn[Wt+28>>2]=hn+Zn,nn[Wt+24>>2]=bn+Gn,nn[Wt+20>>2]=pn+mn,nn[Wt+16>>2]=dn+un,nn[Wt+12>>2]=on+cn,nn[Wt+8>>2]=rn+sn,nn[Wt+4>>2]=tn+In,tn=nn[Pt+4>>2],In=nn[Pt+44>>2],rn=nn[Pt+8>>2],sn=nn[Pt+48>>2],on=nn[Pt+12>>2],cn=nn[Pt+52>>2],dn=nn[Pt+16>>2],un=nn[Pt+56>>2],pn=nn[Pt+20>>2],mn=nn[Pt+60>>2],bn=nn[Pt+24>>2],an=nn[an>>2],Gn=nn[Pt+28>>2],hn=nn[Pt+68>>2],Zn=nn[Pt+32>>2],An=nn[Pt+72>>2],Wn=nn[Pt>>2],Nn=nn[Pt+40>>2],nn[Wt+76>>2]=nn[Pt+76>>2]-nn[Pt+36>>2],nn[Wt+72>>2]=An-Zn,nn[Wt+68>>2]=hn-Gn,nn[Wt- -64>>2]=an-bn,nn[Wt+60>>2]=mn-pn,nn[Wt+56>>2]=un-dn,nn[Wt+52>>2]=cn-on,nn[Wt+48>>2]=sn-rn,nn[Wt+44>>2]=In-tn,nn[Wt+40>>2]=Nn-Wn,tn=nn[Pt+84>>2],nn[Wt+80>>2]=nn[Pt+80>>2],nn[Wt+84>>2]=tn,tn=nn[Pt+92>>2],nn[Wt+88>>2]=nn[Pt+88>>2],nn[Wt+92>>2]=tn,tn=nn[Pt+100>>2],nn[Wt+96>>2]=nn[Pt+96>>2],nn[Wt+100>>2]=tn,tn=nn[Pt+108>>2],nn[Wt+104>>2]=nn[Pt+104>>2],nn[Wt+108>>2]=tn,tn=nn[Pt+116>>2],nn[Wt+112>>2]=nn[Pt+112>>2],nn[Wt+116>>2]=tn,M(Wt+120|0,Pt+120|0,1424)}function aA(Wt,Pt,en){var tn,an,In,rn,sn,on,cn,dn,un,pn,bn,Gn,hn=0,Zn=0,An=0,Wn=0,Nn=0;hn=nn[Pt+12>>2],Zn=nn[Pt+8>>2],An=nn[Pt+4>>2],tn=mn+-64&-64,Pt=nn[Pt>>2],nn[tn>>2]=nn[35248+((255&Pt)<<2)>>2],nn[tn+4>>2]=nn[35248+(An>>>6&1020)>>2],nn[tn+8>>2]=nn[35248+(Zn>>>14&1020)>>2],nn[tn+12>>2]=nn[35248+(hn>>>22&1020)>>2],nn[tn+16>>2]=nn[35248+((255&An)<<2)>>2],nn[tn+20>>2]=nn[35248+(Zn>>>6&1020)>>2],nn[tn+24>>2]=nn[35248+(hn>>>14&1020)>>2],nn[tn+28>>2]=nn[35248+(Pt>>>22&1020)>>2],nn[tn+32>>2]=nn[35248+((255&Zn)<<2)>>2],nn[tn+36>>2]=nn[35248+(hn>>>6&1020)>>2],nn[tn+40>>2]=nn[35248+(Pt>>>14&1020)>>2],nn[tn+44>>2]=nn[35248+(An>>>22&1020)>>2],nn[tn+48>>2]=nn[35248+((255&hn)<<2)>>2],nn[tn+52>>2]=nn[35248+(Pt>>>6&1020)>>2],nn[tn+56>>2]=nn[35248+(An>>>14&1020)>>2],nn[tn+60>>2]=nn[35248+(Zn>>>22&1020)>>2],Pt=nn[tn+12>>2],hn=nn[tn>>2],Zn=nn[tn+4>>2],An=nn[tn+8>>2],an=nn[tn+28>>2],In=nn[tn+16>>2],rn=nn[tn+20>>2],sn=nn[tn+24>>2],on=nn[tn+44>>2],cn=nn[tn+32>>2],dn=nn[tn+36>>2],un=nn[tn+40>>2],pn=nn[en>>2],bn=nn[en+4>>2],Gn=nn[en+8>>2],Wn=Wt,Nn=nn[en+12>>2]^nn[tn+48>>2]^gI(nn[tn+52>>2],8)^gI(nn[tn+56>>2],16)^gI(nn[tn+60>>2],24),nn[Wn+12>>2]=Nn,Wn=Wt,Nn=gI(dn,8)^cn^gI(un,16)^gI(on,24)^Gn,nn[Wn+8>>2]=Nn,Wn=Wt,Nn=gI(rn,8)^In^gI(sn,16)^gI(an,24)^bn,nn[Wn+4>>2]=Nn,Wn=Wt,Nn=gI(Zn,8)^hn^gI(An,16)^gI(Pt,24)^pn,nn[Wn>>2]=Nn}function yA(Wt,Pt){var en,an,In,sn,on,cn=0,dn=0,un=0,pn=0,mn=0,bn=0,Gn=0,hn=0,Zn=0,An=0;(cn=nn[Wt+56>>2])|(dn=nn[Wt+60>>2])&&(tn[(pn=Wt- -64|0)+cn|0]=1,!((An=cn+1|0)?dn:dn+1|0)&An>>>0<=15&&VA(65+(Wt+cn|0)|0,0,15-cn|0),tn[Wt+80|0]=1,z(Wt,pn,16,0)),An=nn[Wt+52>>2],hn=nn[Wt+48>>2],pn=nn[Wt+44>>2],cn=nn[Wt+24>>2],mn=nn[Wt+28>>2]+(cn>>>26|0)|0,un=nn[Wt+32>>2]+(mn>>>26|0)|0,en=nn[Wt+36>>2]+(un>>>26|0)|0,dn=(Gn=(cn=(cn=(67108863&cn)+((bn=nn[Wt+20>>2]+rn(en>>>26|0,5)|0)>>>26|0)|0)&(mn=(un=(on=(67108863&en)+((sn=(an=67108863&un)+((In=(Zn=67108863&mn)+((bn=cn+((dn=5+(Gn=67108863&bn)|0)>>>26|0)|0)>>>26|0)|0)>>>26|0)|0)>>>26|0)|0)-67108864|0)>>31)|bn&(un=67108863&(bn=(un>>>31|0)-1|0)))<<26|dn&un|mn&Gn)+nn[Wt+40>>2]|0,tn[0|Pt]=dn,tn[Pt+1|0]=dn>>>8,tn[Pt+2|0]=dn>>>16,tn[Pt+3|0]=dn>>>24,Gn=dn>>>0>>0,dn=0,dn=(cn=(Zn=mn&Zn|un&In)<<20|cn>>>6)>>>0>(cn=cn+pn|0)>>>0?1:dn,dn=(pn=cn)>>>0>(cn=cn+Gn|0)>>>0?dn+1|0:dn,tn[Pt+4|0]=cn,tn[Pt+5|0]=cn>>>8,tn[Pt+6|0]=cn>>>16,tn[Pt+7|0]=cn>>>24,cn=0,pn=(pn=(un=mn&an|un&sn)<<14|Zn>>>12)>>>0>(hn=pn+hn|0)>>>0?1:cn,cn=hn,hn=dn,cn=cn+dn|0,dn=pn,dn=cn>>>0>>0?dn+1|0:dn,tn[Pt+8|0]=cn,tn[Pt+9|0]=cn>>>8,tn[Pt+10|0]=cn>>>16,tn[Pt+11|0]=cn>>>24,dn=(cn=(cn=(bn&on|mn&en)<<8|un>>>18)+An|0)+dn|0,tn[Pt+12|0]=dn,tn[Pt+13|0]=dn>>>8,tn[Pt+14|0]=dn>>>16,tn[Pt+15|0]=dn>>>24,MI(Wt,88)}function fA(Wt,Pt,en){var In,rn=0;return mn=In=mn-16|0,tn[In+15|0]=0,rn=-1,0|hn[nn[8806]](Wt,Pt,en)||(tn[In+15|0]=an[0|Wt]|an[In+15|0],tn[In+15|0]=an[Wt+1|0]|an[In+15|0],tn[In+15|0]=an[Wt+2|0]|an[In+15|0],tn[In+15|0]=an[Wt+3|0]|an[In+15|0],tn[In+15|0]=an[Wt+4|0]|an[In+15|0],tn[In+15|0]=an[Wt+5|0]|an[In+15|0],tn[In+15|0]=an[Wt+6|0]|an[In+15|0],tn[In+15|0]=an[Wt+7|0]|an[In+15|0],tn[In+15|0]=an[Wt+8|0]|an[In+15|0],tn[In+15|0]=an[Wt+9|0]|an[In+15|0],tn[In+15|0]=an[Wt+10|0]|an[In+15|0],tn[In+15|0]=an[Wt+11|0]|an[In+15|0],tn[In+15|0]=an[Wt+12|0]|an[In+15|0],tn[In+15|0]=an[Wt+13|0]|an[In+15|0],tn[In+15|0]=an[Wt+14|0]|an[In+15|0],tn[In+15|0]=an[Wt+15|0]|an[In+15|0],tn[In+15|0]=an[Wt+16|0]|an[In+15|0],tn[In+15|0]=an[Wt+17|0]|an[In+15|0],tn[In+15|0]=an[Wt+18|0]|an[In+15|0],tn[In+15|0]=an[Wt+19|0]|an[In+15|0],tn[In+15|0]=an[Wt+20|0]|an[In+15|0],tn[In+15|0]=an[Wt+21|0]|an[In+15|0],tn[In+15|0]=an[Wt+22|0]|an[In+15|0],tn[In+15|0]=an[Wt+23|0]|an[In+15|0],tn[In+15|0]=an[Wt+24|0]|an[In+15|0],tn[In+15|0]=an[Wt+25|0]|an[In+15|0],tn[In+15|0]=an[Wt+26|0]|an[In+15|0],tn[In+15|0]=an[Wt+27|0]|an[In+15|0],tn[In+15|0]=an[Wt+28|0]|an[In+15|0],tn[In+15|0]=an[Wt+29|0]|an[In+15|0],tn[In+15|0]=an[Wt+30|0]|an[In+15|0],tn[In+15|0]=an[Wt+31|0]|an[In+15|0],rn=(an[In+15|0]<<23)-8388608>>31),mn=In+16|0,rn}function eA(Wt,Pt){var en,an,In,sn,on,cn,dn,un=0,pn=0;an=nn[Pt+32>>2],In=nn[Pt+28>>2],sn=nn[Pt+24>>2],on=nn[Pt+20>>2],cn=nn[Pt+16>>2],dn=nn[Pt+12>>2],un=nn[Pt+4>>2],pn=nn[Pt>>2],en=nn[Pt+36>>2],Pt=nn[Pt+8>>2],pn=rn((an+(In+(sn+(on+(cn+(dn+((un+(pn+(rn(en,19)+16777216>>>25|0)>>26)>>25)+Pt>>26)>>25)>>26)>>25)>>26)>>25)>>26)+en>>25,19)+pn|0,tn[0|Wt]=pn,tn[Wt+2|0]=pn>>>16,tn[Wt+1|0]=pn>>>8,un=un+(pn>>26)|0,tn[Wt+5|0]=un>>>14,tn[Wt+4|0]=un>>>6,tn[Wt+3|0]=pn>>>24&3|un<<2,Pt=Pt+(un>>25)|0,tn[Wt+8|0]=Pt>>>13,tn[Wt+7|0]=Pt>>>5,tn[Wt+6|0]=Pt<<3|(29360128&un)>>>22,pn=(Pt>>26)+dn|0,tn[Wt+11|0]=pn>>>11,tn[Wt+10|0]=pn>>>3,tn[Wt+9|0]=pn<<5|(65011712&Pt)>>>21,un=(pn>>25)+cn|0,tn[Wt+15|0]=un>>>18,tn[Wt+14|0]=un>>>10,tn[Wt+13|0]=un>>>2,Pt=(un>>26)+on|0,tn[Wt+16|0]=Pt,tn[Wt+12|0]=un<<6|(33030144&pn)>>>19,tn[Wt+18|0]=Pt>>>16,tn[Wt+17|0]=Pt>>>8,un=(Pt>>25)+sn|0,tn[Wt+21|0]=un>>>15,tn[Wt+20|0]=un>>>7,tn[Wt+19|0]=Pt>>>24&1|un<<1,Pt=(un>>26)+In|0,tn[Wt+24|0]=Pt>>>13,tn[Wt+23|0]=Pt>>>5,tn[Wt+22|0]=Pt<<3|(58720256&un)>>>23,un=(Pt>>25)+an|0,tn[Wt+27|0]=un>>>12,tn[Wt+26|0]=un>>>4,tn[Wt+25|0]=un<<4|(31457280&Pt)>>>21,Pt=en+(un>>26)|0,tn[Wt+30|0]=Pt>>>10,tn[Wt+29|0]=Pt>>>2,tn[Wt+31|0]=(33292288&Pt)>>>18,tn[Wt+28|0]=Pt<<6|(66060288&un)>>>20}function wA(Wt,Pt,en){var nn,In=0,rn=0,sn=0,on=0,cn=0,dn=0,un=0;if(mn=nn=mn-192|0,en>>>0>=129&&(MA(Wt),W(Wt,Pt,en,0),v(Wt,nn),en=64,Pt=nn),MA(Wt),VA(nn- -64|0,54,128),en){if(en>>>0>=4)for(un=252&en;tn[0|(In=(sn=nn- -64|0)+rn|0)]=an[0|In]^an[Pt+rn|0],tn[0|(on=(In=1|rn)+sn|0)]=an[0|on]^an[Pt+In|0],tn[0|(on=(In=2|rn)+sn|0)]=an[0|on]^an[Pt+In|0],tn[0|(In=(In=sn)+(sn=3|rn)|0)]=an[0|In]^an[Pt+sn|0],rn=rn+4|0,(0|un)!=(0|(cn=cn+4|0)););if(cn=3&en)for(;tn[0|(sn=(nn- -64|0)+rn|0)]=an[0|sn]^an[Pt+rn|0],rn=rn+1|0,(0|cn)!=(0|(dn=dn+1|0)););}if(W(Wt,rn=nn- -64|0,128,0),MA(sn=Wt+208|0),VA(rn,92,128),en){if(dn=0,rn=0,en>>>0>=4)for(un=252&en,cn=0;tn[0|(In=(Wt=nn- -64|0)+rn|0)]=an[0|In]^an[Pt+rn|0],tn[0|(on=(In=1|rn)+Wt|0)]=an[0|on]^an[Pt+In|0],tn[0|(on=(In=2|rn)+Wt|0)]=an[0|on]^an[Pt+In|0],tn[0|(In=(In=Wt)+(Wt=3|rn)|0)]=an[0|In]^an[Wt+Pt|0],rn=rn+4|0,(0|un)!=(0|(cn=cn+4|0)););if(Wt=3&en)for(;tn[0|(en=(nn- -64|0)+rn|0)]=an[0|en]^an[Pt+rn|0],rn=rn+1|0,(0|Wt)!=(0|(dn=dn+1|0)););}return W(sn,Wt=nn- -64|0,128,0),MI(Wt,128),MI(nn,64),mn=nn+192|0,0}function rA(Wt,Pt){var en;return nn[12+(en=mn-16|0)>>2]=Wt,nn[en+8>>2]=Pt,nn[en+4>>2]=0,nn[en+4>>2]=nn[en+4>>2]|an[nn[en+12>>2]]^an[nn[en+8>>2]],nn[en+4>>2]=nn[en+4>>2]|an[nn[en+12>>2]+1|0]^an[nn[en+8>>2]+1|0],nn[en+4>>2]=nn[en+4>>2]|an[nn[en+12>>2]+2|0]^an[nn[en+8>>2]+2|0],nn[en+4>>2]=nn[en+4>>2]|an[nn[en+12>>2]+3|0]^an[nn[en+8>>2]+3|0],nn[en+4>>2]=nn[en+4>>2]|an[nn[en+12>>2]+4|0]^an[nn[en+8>>2]+4|0],nn[en+4>>2]=nn[en+4>>2]|an[nn[en+12>>2]+5|0]^an[nn[en+8>>2]+5|0],nn[en+4>>2]=nn[en+4>>2]|an[nn[en+12>>2]+6|0]^an[nn[en+8>>2]+6|0],nn[en+4>>2]=nn[en+4>>2]|an[nn[en+12>>2]+7|0]^an[nn[en+8>>2]+7|0],nn[en+4>>2]=nn[en+4>>2]|an[nn[en+12>>2]+8|0]^an[nn[en+8>>2]+8|0],nn[en+4>>2]=nn[en+4>>2]|an[nn[en+12>>2]+9|0]^an[nn[en+8>>2]+9|0],nn[en+4>>2]=nn[en+4>>2]|an[nn[en+12>>2]+10|0]^an[nn[en+8>>2]+10|0],nn[en+4>>2]=nn[en+4>>2]|an[nn[en+12>>2]+11|0]^an[nn[en+8>>2]+11|0],nn[en+4>>2]=nn[en+4>>2]|an[nn[en+12>>2]+12|0]^an[nn[en+8>>2]+12|0],nn[en+4>>2]=nn[en+4>>2]|an[nn[en+12>>2]+13|0]^an[nn[en+8>>2]+13|0],nn[en+4>>2]=nn[en+4>>2]|an[nn[en+12>>2]+14|0]^an[nn[en+8>>2]+14|0],nn[en+4>>2]=nn[en+4>>2]|an[nn[en+12>>2]+15|0]^an[nn[en+8>>2]+15|0],(nn[en+4>>2]-1>>>8&1)-1|0}function tA(Wt,Pt,en,tn,an,In,rn){var sn,on,cn,dn=0,un=0,pn=0,bn=0;mn=sn=mn-352|0,AA(sn,In,rn);e:{if(!(((dn=!!(0|an))|!an&tn>>>0>Wt-en>>>0)&Wt>>>0>en>>>0)&(!an&en-Wt>>>0>=tn>>>0|Wt>>>0>=en>>>0)){if(nn[sn+56>>2]=0,nn[sn+60>>2]=0,nn[sn+48>>2]=0,nn[sn+52>>2]=0,nn[sn+40>>2]=0,nn[sn+44>>2]=0,nn[sn+32>>2]=0,nn[sn+36>>2]=0,un=(rn=(dn=!!(0|an))|!an&tn>>>0>=32)?32:tn,pn=rn?0:an,rn=dn|!an&tn>>>0>32,!(tn|an)){bn=1;break e}}else en=lA(Wt,en,tn),nn[sn+56>>2]=0,nn[sn+60>>2]=0,nn[sn+48>>2]=0,nn[sn+52>>2]=0,nn[sn+40>>2]=0,nn[sn+44>>2]=0,nn[sn+32>>2]=0,nn[sn+36>>2]=0,un=(rn=dn|!an&tn>>>0>=32)?32:tn,pn=rn?0:an,rn=dn|!an&tn>>>0>32;TA(sn- -64|0,en,un),bn=0}return dn=pn,oI(on=sn+32|0,on,cn=un+32|0,dn=cn>>>0<32?dn+1|0:dn,dn=In+16|0,sn),nI(sn+96|0,on),bn||TA(Wt,sn- -64|0,un),MI(sn+32|0,64),rn&&DI(Wt+un|0,en+un|0,tn-un|0,an-((tn>>>0>>0)+pn|0)|0,dn,sn),MI(sn,32),rI(en=sn+96|0,Wt,tn,an),sI(en,Pt),MI(en,256),mn=sn+352|0,0}function hA(Wt,Pt){var en,tn=0,In=0;en=Pt;e:{t:{n:{if(Pt&=255){if(3&Wt)for(;;){if(!(tn=an[0|Wt])|(0|Pt)==(0|tn))break e;if(!(3&(Wt=Wt+1|0)))break}if(-2139062144!=(-2139062144&((tn=nn[Wt>>2])|16843008-tn)))break n;for(In=rn(Pt,16843009);;){if(-2139062144!=(-2139062144&(16843008-(Pt=tn^In)|Pt)))break n;if(tn=nn[Wt+4>>2],Wt=Pt=Wt+4|0,-2139062144!=(-2139062144&(16843008-tn|tn)))break}break t}tn=Wt;l:{a:{I:if(3&Wt){if(Pt=0,!an[0|Wt])break l;for(;;){if(!(3&(Wt=Wt+1|0)))break I;if(!an[0|Wt])break}break a}for(;Pt=Wt,Wt=Wt+4|0,-2139062144==(-2139062144&(16843008-(In=nn[Pt>>2])|In)););for(;Pt=(Wt=Pt)+1|0,an[0|Wt];);}Pt=Wt-tn|0}Wt=Pt+tn|0;break e}Pt=Wt}for(;;){if(!(tn=an[0|(Wt=Pt)]))break e;if(Pt=Wt+1|0,(0|tn)==(255&en))break}}return an[0|Wt]==(255&en)?Wt:0}function kA(Wt,Pt,en,tn,an,In,rn){var sn,on,cn=0,dn=0,un=0;mn=sn=mn-96|0,AA(sn,In,rn),rn=sn+32|0,on=In+16|0,hn[nn[8808]](rn,32,0,on,sn),In=-1;e:{t:if(!(0|hn[nn[8802]](en,Pt,tn,an,rn))){if(In=0,!Wt)break e;n:{if(!(((en=!!(0|an))|!an&tn>>>0>Pt-Wt>>>0)&Wt>>>0>>0)&(!an&tn>>>0<=Wt-Pt>>>0|Wt>>>0<=Pt>>>0)){if(!(tn|an))break n;en=(In=!an&tn>>>0>=32|!!(0|an))?32:tn,cn=In?0:an}else Pt=lA(Wt,Pt,tn),en=(In=en|!an&tn>>>0>=32)?32:tn,cn=In?0:an;if(In=cn,un=TA(sn- -64|0,Pt,en),oI(rn=sn+32|0,rn,dn=en+32|0,In=dn>>>0<32?In+1|0:In,on,sn),Wt=TA(Wt,un,en),MI(rn,64),In=0,!an&tn>>>0<33)break t;DI(Wt+en|0,Pt+en|0,tn-en|0,an-(cn+(en>>>0>tn>>>0)|0)|0,on,sn);break t}oI(Wt=sn+32|0,Wt,32,0,on,sn),MI(Wt,64)}MI(sn,32)}return mn=sn+96|0,In}function nA(Wt,Pt,en,tn,In,rn,sn,on,cn,dn){var un,pn;return mn=un=mn-400|0,nn[un+4>>2]=0,$(pn=un+16|0,cn,dn),dn=an[cn+20|0]|an[cn+21|0]<<8|an[cn+22|0]<<16|an[cn+23|0]<<24,nn[un+8>>2]=an[cn+16|0]|an[cn+17|0]<<8|an[cn+18|0]<<16|an[cn+19|0]<<24,nn[un+12>>2]=dn,eI(dn=un+80|0,64,un+4|0,pn),nI(cn=un+144|0,dn),MI(dn,64),rI(cn,rn,sn,on),rI(cn,35104,0-sn&15,0),rI(cn,Pt,en,tn),rI(cn,35104,0-en&15,0),nn[un+72>>2]=sn,nn[un+76>>2]=on,rI(cn,rn=un+72|0,8,0),nn[un+72>>2]=en,nn[un+76>>2]=tn,rI(cn,rn,8,0),sI(cn,rn=un+48|0),MI(cn,256),cn=rA(rn,In),MI(rn,16),Wt&&(cn?(VA(Wt,0,en),cn=-1):(BI(Wt,Pt,en,tn,un+4|0,un+16|0),cn=0)),MI(un+16|0,32),mn=un+400|0,cn}function sA(Wt,Pt,en,tn,In,rn,sn,on,cn,dn,un){var pn,bn,Gn;return mn=pn=mn-384|0,nn[pn+4>>2]=0,$(bn=pn+16|0,dn,un),un=an[dn+20|0]|an[dn+21|0]<<8|an[dn+22|0]<<16|an[dn+23|0]<<24,nn[pn+8>>2]=an[dn+16|0]|an[dn+17|0]<<8|an[dn+18|0]<<16|an[dn+19|0]<<24,nn[pn+12>>2]=un,eI(un=pn- -64|0,64,Gn=pn+4|0,bn),nI(dn=pn+128|0,un),MI(un,64),rI(dn,sn,on,cn),rI(dn,35104,0-on&15,0),BI(Wt,tn,In,rn,Gn,bn),rI(dn,Wt,In,rn),rI(dn,35104,0-In&15,0),nn[pn+56>>2]=on,nn[pn+60>>2]=cn,rI(dn,Wt=pn+56|0,8,0),nn[pn+56>>2]=In,nn[pn+60>>2]=rn,rI(dn,Wt,8,0),sI(dn,Pt),MI(dn,256),en&&(nn[en>>2]=16,nn[en+4>>2]=0),MI(pn+16|0,32),mn=pn+384|0,0}function FA(Wt,Pt,en,tn){var an,In=0;return mn=an=mn-208|0,nn[an+72>>2]=0,nn[an+76>>2]=0,In=nn[8479],nn[an+8>>2]=nn[8478],nn[an+12>>2]=In,In=nn[8481],nn[an+16>>2]=nn[8480],nn[an+20>>2]=In,In=nn[8483],nn[an+24>>2]=nn[8482],nn[an+28>>2]=In,In=nn[8485],nn[an+32>>2]=nn[8484],nn[an+36>>2]=In,In=nn[8487],nn[an+40>>2]=nn[8486],nn[an+44>>2]=In,In=nn[8489],nn[an+48>>2]=nn[8488],nn[an+52>>2]=In,In=nn[8491],nn[an+56>>2]=nn[8490],nn[an+60>>2]=In,nn[an+64>>2]=0,nn[an+68>>2]=0,In=nn[8477],nn[an>>2]=nn[8476],nn[an+4>>2]=In,W(an,Pt,en,tn),v(an,Wt),mn=an+208|0,0}function SA(Wt,Pt){var en,nn=0,In=0,rn=0,sn=0;if(tn[15+(en=mn-16|0)|0]=0,Pt){if(Pt>>>0>=4)for(sn=-4&Pt;nn=Wt+In|0,tn[en+15|0]=an[0|nn]|an[en+15|0],tn[en+15|0]=an[nn+1|0]|an[en+15|0],tn[en+15|0]=an[nn+2|0]|an[en+15|0],tn[en+15|0]=an[nn+3|0]|an[en+15|0],In=In+4|0,(0|sn)!=(0|(rn=rn+4|0)););if(nn=3&Pt)for(Pt=0;tn[en+15|0]=an[Wt+In|0]|an[en+15|0],In=In+1|0,(0|nn)!=(0|(Pt=Pt+1|0)););}return an[en+15|0]-1>>>8&1}function MA(Wt){var Pt=0;nn[Wt+64>>2]=0,nn[Wt+68>>2]=0,nn[Wt+72>>2]=0,nn[Wt+76>>2]=0,Pt=nn[8477],nn[Wt>>2]=nn[8476],nn[Wt+4>>2]=Pt,Pt=nn[8479],nn[Wt+8>>2]=nn[8478],nn[Wt+12>>2]=Pt,Pt=nn[8481],nn[Wt+16>>2]=nn[8480],nn[Wt+20>>2]=Pt,Pt=nn[8483],nn[Wt+24>>2]=nn[8482],nn[Wt+28>>2]=Pt,Pt=nn[8485],nn[Wt+32>>2]=nn[8484],nn[Wt+36>>2]=Pt,Pt=nn[8487],nn[Wt+40>>2]=nn[8486],nn[Wt+44>>2]=Pt,Pt=nn[8489],nn[Wt+48>>2]=nn[8488],nn[Wt+52>>2]=Pt,Pt=nn[8491],nn[Wt+56>>2]=nn[8490],nn[Wt+60>>2]=Pt}function NA(Wt,Pt,en){var In,rn=0,sn=0;if(nn[12+(In=mn-16|0)>>2]=Wt,nn[In+8>>2]=Pt,Wt=0,tn[In+7|0]=0,en){if(Pt=1&en,1!=(0|en))for(sn=-2&en,en=0;tn[In+7|0]=an[In+7|0]|an[nn[In+12>>2]+Wt|0]^an[nn[In+8>>2]+Wt|0],rn=1|Wt,tn[In+7|0]=an[In+7|0]|an[rn+nn[In+12>>2]|0]^an[nn[In+8>>2]+rn|0],Wt=Wt+2|0,(0|sn)!=(0|(en=en+2|0)););Pt&&(tn[In+7|0]=an[In+7|0]|an[nn[In+12>>2]+Wt|0]^an[nn[In+8>>2]+Wt|0])}return(an[In+7|0]-1>>>8&1)-1|0}function KA(Wt){for(var Pt=0,en=0,tn=0,nn=0,In=0,rn=0,sn=0,on=0,cn=0,dn=0;nn=(en=an[Wt+tn|0])^an[0|(Pt=tn+2432|0)]|nn,In=en^an[Pt+192|0]|In,rn=en^an[Pt+160|0]|rn,sn=en^an[Pt+128|0]|sn,on=en^an[Pt+96|0]|on,cn=en^an[Pt- -64|0]|cn,dn=en^an[Pt+32|0]|dn,31!=(0|(tn=tn+1|0)););return((255&((Pt=127^(Wt=127&an[Wt+31|0]))|In))-1|(255&(Pt|rn))-1|(255&(Pt|sn))-1|(255&(122^Wt|on))-1|(255&(5^Wt|cn))-1|(255&(Wt|dn))-1|(255&(Wt|nn))-1)>>>8&1}function _A(Wt,Pt,en){var tn=0,nn=0,an=0,In=0;return nn=31&(an=In=63&en),an=an>>>0>=32?-1>>>nn|0:(tn=-1>>>nn|0)|(1<>>0>=32?(tn=an<>>32-nn|tn<>>0>=32?(tn=-1<>>32-tn,Wt&=en,Pt&=tn,tn=31&nn,nn>>>0>=32?(en=0,Wt=Pt>>>tn|0):(en=Pt>>>tn|0,Wt=((1<>>tn),bn=en|an,Wt|In}function pA(Wt,Pt,en,tn,an,In,rn,sn,on,cn){var dn,un,pn;return mn=dn=mn-352|0,eI(pn=dn+32|0,64,on,cn),nI(un=dn+96|0,pn),MI(pn,64),rI(un,In,rn,sn),rI(un,35168,0-rn&15,0),rI(un,Pt,en,tn),rI(un,35168,0-en&15,0),nn[dn+24>>2]=rn,nn[dn+28>>2]=sn,rI(un,In=dn+24|0,8,0),nn[dn+24>>2]=en,nn[dn+28>>2]=tn,rI(un,In,8,0),sI(un,dn),MI(un,256),In=rA(dn,an),MI(dn,16),Wt&&(In?(VA(Wt,0,en),In=-1):(vA(Wt,Pt,en,tn,on,1,cn),In=0)),mn=dn+352|0,In}function HA(Wt,Pt,en,tn,an,In,rn,sn,on,cn,dn){var un,pn,bn;return mn=un=mn-336|0,eI(bn=un+16|0,64,cn,dn),nI(pn=un+80|0,bn),MI(bn,64),rI(pn,rn,sn,on),rI(pn,35168,0-sn&15,0),vA(Wt,tn,an,In,cn,1,dn),rI(pn,Wt,an,In),rI(pn,35168,0-an&15,0),nn[un+8>>2]=sn,nn[un+12>>2]=on,rI(pn,Wt=un+8|0,8,0),nn[un+8>>2]=an,nn[un+12>>2]=In,rI(pn,Wt,8,0),sI(pn,Pt),MI(pn,256),en&&(nn[en>>2]=16,nn[en+4>>2]=0),mn=un+336|0,0}function GA(Wt,Pt,en,tn,an,In,rn,sn,on,cn){var dn,un,pn;return mn=dn=mn-352|0,wI(pn=dn+32|0,on,cn),nI(un=dn+96|0,pn),MI(pn,64),rI(un,In,rn,sn),nn[dn+24>>2]=rn,nn[dn+28>>2]=sn,rI(un,In=dn+24|0,8,0),rI(un,Pt,en,tn),nn[dn+24>>2]=en,nn[dn+28>>2]=tn,rI(un,In,8,0),sI(un,dn),MI(un,256),In=rA(dn,an),MI(dn,16),Wt&&(In?(VA(Wt,0,en),In=-1):(CI(Wt,Pt,en,tn,on,cn),In=0)),mn=dn+352|0,In}function JA(Wt,Pt,en,tn,an,In,rn,sn,on,cn,dn){var un,pn,bn;return mn=un=mn-336|0,wI(bn=un+16|0,cn,dn),nI(pn=un+80|0,bn),MI(bn,64),rI(pn,rn,sn,on),nn[un+8>>2]=sn,nn[un+12>>2]=on,rI(pn,rn=un+8|0,8,0),CI(Wt,tn,an,In,cn,dn),rI(pn,Wt,an,In),nn[un+8>>2]=an,nn[un+12>>2]=In,rI(pn,rn,8,0),sI(pn,Pt),MI(pn,256),en&&(nn[en>>2]=16,nn[en+4>>2]=0),mn=un+336|0,0}function YA(Wt,Pt,en,tn,an,In,rn,sn,on,cn,dn){var un=0,pn=0,mn=0;return pn=-1,(un=tn>>>0<32)&!an||!(un=an-un|0)&(mn=tn-32|0)>>>0>4294967263|un|!sn&rn>>>0>4294967263|sn||(pn=0|hn[nn[dn>>2]](Wt,en,mn,(en+tn|0)-32|0,32,In,rn,on,cn)),Pt&&(nn[Pt>>2]=pn?0:tn-32|0,nn[Pt+4>>2]=pn?0:an-(tn>>>0<32)|0),pn}function UA(Wt,Pt){var en;for(nn[12+(en=mn-16|0)>>2]=Wt,nn[en+8>>2]=Pt,Wt=0,nn[en+4>>2]=0;nn[en+4>>2]=nn[en+4>>2]|an[nn[en+12>>2]+Wt|0]^an[nn[en+8>>2]+Wt|0],Pt=1|Wt,nn[en+4>>2]=nn[en+4>>2]|an[Pt+nn[en+12>>2]|0]^an[Pt+nn[en+8>>2]|0],32!=(0|(Wt=Wt+2|0)););return(nn[en+4>>2]-1>>>8&1)-1|0}function dA(Wt){var Pt=0,en=0,nn=0,In=0,rn=0;for(Pt=1;en=(nn=Pt)+an[0|(Pt=Wt+In|0)]|0,tn[0|Pt]=en,en=an[Pt+1|0]+(en>>>8|0)|0,tn[Pt+1|0]=en,en=an[Pt+2|0]+(en>>>8|0)|0,tn[Pt+2|0]=en,nn=Pt,Pt=an[Pt+3|0]+(en>>>8|0)|0,tn[nn+3|0]=Pt,Pt=Pt>>>8|0,In=In+4|0,4!=(0|(rn=rn+4|0)););}function bA(Wt,Pt,en,tn,an,In,rn,sn,on,cn,dn){return!an&tn>>>0>4294967263|!!(0|an)|!sn&rn>>>0>=4294967264|!!(0|sn)?(iI(),Q()):(Wt=0|hn[nn[dn>>2]](Wt,Wt+tn|0,32,en,tn,In,rn,on,cn),Pt&&(tn=(en=tn+32|0)>>>0<32?an+1|0:an,nn[Pt>>2]=Wt?0:en,nn[Pt+4>>2]=Wt?0:tn)),Wt}function PA(Wt,Pt,en,tn){var nn,an,In,sn,on=0,cn=0;return sn=rn(on=en>>>16|0,cn=Wt>>>16|0),on=(65535&(cn=((In=rn(nn=65535&en,an=65535&Wt))>>>16|0)+rn(cn,nn)|0))+rn(on,an)|0,bn=(rn(Pt,en)+sn|0)+rn(Wt,tn)+(cn>>>16)+(on>>>16)|0,65535&In|on<<16}function vA(Wt,Pt,en,tn,an,In,rn){var sn=0,on=0;sn=tn,1==(((sn=(on=en+63|0)>>>0<63?sn+1|0:sn)>>>6|0)+!!(0|(sn=(63&sn)<<26|on>>>6))|0)&In>>>0>(on=0-sn|0)>>>0|1==(0|tn)|tn>>>0>1?(iI(),Q()):hn[nn[9075]](Wt,Pt,en,tn,an,In,rn)}function RA(Wt){var Pt=0;nn[Wt+32>>2]=0,nn[Wt+36>>2]=0,Pt=nn[8689],nn[Wt>>2]=nn[8688],nn[Wt+4>>2]=Pt,Pt=nn[8691],nn[Wt+8>>2]=nn[8690],nn[Wt+12>>2]=Pt,Pt=nn[8693],nn[Wt+16>>2]=nn[8692],nn[Wt+20>>2]=Pt,Pt=nn[8695],nn[Wt+24>>2]=nn[8694],nn[Wt+28>>2]=Pt}function LA(Wt,Pt){Wt|=0;var en,nn=0,an=0,In=0;if(mn=en=mn-16|0,Pt|=0)for(;tn[en+15|0]=0,an=Wt+nn|0,In=0|cn(36304,en+15|0,0),tn[0|an]=In,(0|(nn=nn+1|0))!=(0|Pt););mn=en+16|0}function xA(Wt,Pt,en,tn,nn,an,In){var rn,sn,on=0;return mn=rn=mn-32|0,on=-1,(sn=en>>>0<16)&!tn||OA(rn,an,In)||(on=kA(Wt,Pt+16|0,Pt,en-16|0,tn-sn|0,nn,rn),MI(rn,32)),mn=rn+32|0,on}function uA(Wt){var Pt,en;e:{if(!((Wt=(Pt=nn[8800])+(en=Wt+7&-8)|0)>>>0<=Pt>>>0&&en)){if(Wt>>>0<=RI()<<16>>>0)break e;if(0|pn(0|Wt))break e}return nn[9280]=48,-1}return nn[8800]=Wt,Pt}function mA(Wt,Pt){var en,nn,In;mn=en=mn-176|0,iA(nn=en+96|0,Pt+80|0),M(In=en+48|0,Pt,nn),M(en,Pt+40|0,nn),eA(Wt,en),eA(en+144|0,In),tn[Wt+31|0]=an[Wt+31|0]^an[en+144|0]<<7,mn=en+176|0}function qA(Wt,Pt,en,tn,an,In,rn,sn,on,cn,dn,un){return en&&(nn[en>>2]=32,nn[en+4>>2]=0),!on&sn>>>0<4294967264&!In&an>>>0<=4294967263||(iI(),Q()),0|hn[nn[un>>2]](Wt,Pt,32,tn,an,rn,sn,cn,dn)}function lA(Wt,Pt,en){var nn=0;if(Wt>>>0>>0)return TA(Wt,Pt,en);if(en)for(nn=Wt+en|0,Pt=Pt+en|0;Pt=Pt-1|0,tn[0|(nn=nn-1|0)]=an[0|Pt],en=en-1|0;);return Wt}function zA(Wt,Pt,en,tn,nn,an,In){var rn,sn=0;if(mn=rn=mn-32|0,!tn&en>>>0<4294967280)return sn=-1,OA(rn,an,In)||(sn=tA(Wt+16|0,Wt,Pt,en,tn,nn,rn),MI(rn,32)),mn=rn+32|0,sn;iI(),Q()}function jA(Wt,Pt,en,tn,nn,an){return Pt|=0,0|(!(tn|=0)&(en|=0)>>>0>=16|tn?kA(Wt|=0,Pt+16|0,Pt,en-16|0,tn-(en>>>0<16)|0,nn|=0,an|=0):-1)}function XA(Wt,Pt,en,tn,an,In,rn,sn,on,cn,dn){return!tn&en>>>0>4294967263|tn|!sn&rn>>>0>4294967263|sn?-1:0|hn[nn[dn>>2]](Wt,Pt,en,an,32,In,rn,on,cn)}function OA(Wt,Pt,en){Wt|=0;var tn,nn=0;return mn=tn=mn-32|0,nn=-1,fA(tn,en|=0,Pt|=0)||(nn=AA(Wt,35184,tn)),mn=tn+32|0,0|nn}function TA(Wt,Pt,en){var nn=0;if(en)for(nn=Wt;tn[0|nn]=an[0|Pt],nn=nn+1|0,Pt=Pt+1|0,en=en-1|0;);return Wt}function VA(Wt,Pt,en){var nn=0;if(en)for(nn=Wt;tn[0|nn]=Pt,nn=nn+1|0,en=en-1|0;);return Wt}function ZA(Wt,Pt,en){return Wt|=0,Pt|=0,(en|=0)>>>0>=256&&(dn(1248,1175,107,1055),Q()),0|m(Wt,Pt,255&en)}function WA(Wt,Pt){var en;mn=en=mn+-64|0,v(Wt,en),W(Wt=Wt+208|0,en,64,0),v(Wt,Pt),MI(en,64),mn=en- -64|0}function $A(Wt,Pt,en,tn,nn,an,In){return 0|tA(Wt|=0,Pt|=0,en|=0,tn|=0,nn|=0,an|=0,In|=0)}function AI(Wt,Pt,en,tn,nn,an,In){return 0|kA(Wt|=0,Pt|=0,en|=0,tn|=0,nn|=0,an|=0,In|=0)}function II(Wt,Pt){var en;mn=en=mn-32|0,IA(Wt,en),BA(Wt=Wt+104|0,en,32),IA(Wt,Pt),MI(en,32),mn=en+32|0}function gI(Wt,Pt){var en=0;return(-1>>>(en=31&Pt)&Wt)<>>Wt}function CI(Wt,Pt,en,tn,an,In){1==(0|tn)|tn>>>0>1&&(iI(),Q()),hn[nn[9074]](Wt,Pt,en,tn,an,1,0,In)}function BI(Wt,Pt,en,tn,an,In){1==(0|tn)|tn>>>0>1&&(iI(),Q()),hn[nn[9075]](Wt,Pt,en,tn,an,1,In)}function QI(){var Wt;mn=Wt=mn-16|0,tn[Wt+15|0]=0,cn(36340,Wt+15|0,0),mn=Wt+16|0}function EI(Wt,Pt,en){return 0|fA(Wt|=0,Pt|=0,en|=0)}function iI(){var Wt;(Wt=nn[9413])&&hn[0|Wt](),un(),Q()}function oI(Wt,Pt,en,tn,an,In){hn[nn[8809]](Wt,Pt,en,tn,an,0,0,In)}function cI(Wt,Pt){return Wt|=0,LA(Pt|=0,32),0|hI(Wt,Pt)}function DI(Wt,Pt,en,tn,an,In){hn[nn[8809]](Wt,Pt,en,tn,an,1,0,In)}function aI(Wt){return Wt?31-sn(Wt-1^Wt)|0:32}function yI(Wt,Pt,en,tn){hn[nn[9075]](Wt,Pt,40,0,en,0,tn)}function fI(Wt,Pt){return 0|hI(Wt|=0,Pt|=0)}function eI(Wt,Pt,en,tn){hn[nn[9073]](Wt,Pt,0,en,tn)}function wI(Wt,Pt,en){hn[nn[9072]](Wt,64,0,Pt,en)}function rI(Wt,Pt,en,tn){hn[nn[8804]](Wt,Pt,en,tn)}function tI(Wt,Pt,en,tn){return W(Wt,Pt,en,tn),0}function hI(Wt,Pt){return 0|hn[nn[8807]](Wt,Pt)}function kI(Wt,Pt,en){return BA(Wt,Pt,en),0}function nI(Wt,Pt){hn[nn[8803]](Wt,Pt)}function sI(Wt,Pt){hn[nn[8805]](Wt,Pt)}function FI(Wt){LA(Wt|=0,32)}function SI(Wt){LA(Wt|=0,16)}function MI(Wt,Pt){VA(Wt,0,Pt)}function NI(){return 208}function KI(){return 16}function _I(){return 32}function pI(){return 24}function HI(){return-17}function GI(){return-33}function JI(){return 64}function YI(){return 0}function UI(){return 8}function dI(){return 1}function bI(){return 2}B(Pt=an,1024,"cmFuZG9tYnl0ZXMAYjY0X3BvcyA8PSBiNjRfbGVuAGNyeXB0b19nZW5lcmljaGFzaF9ibGFrZTJiX2ZpbmFsAHJhbmRvbWJ5dGVzL3JhbmRvbWJ5dGVzLmMAc29kaXVtL2NvZGVjcy5jAGNyeXB0b19nZW5lcmljaGFzaC9ibGFrZTJiL3JlZi9ibGFrZTJiLXJlZi5jAGNyeXB0b19nZW5lcmljaGFzaC9ibGFrZTJiL3JlZi9nZW5lcmljaGFzaF9ibGFrZTJiLmMAYnVmX2xlbiA8PSBTSVpFX01BWABvdXRsZW4gPD0gVUlOVDhfTUFYAFMtPmJ1ZmxlbiA8PSBCTEFLRTJCX0JMT0NLQllURVMAc29kaXVtX2JpbjJiYXNlNjQAMS4wLjIwAAAAALZ4Wf+FctMAvW4V/w8KagApwAEAmOh5/7w8oP+Zcc7/ALfi/rQNSP8AAAAAAAAAALCgDv7TyYb/nhiPAH9pNQBgDL0Ap9f7/59MgP5qZeH/HvwEAJIMrg=="),B(Pt,1424,"WfGy/grlpv973Sr+HhTUAFKAAwAw0fMAd3lA/zLjnP8AbsUBZxuQ"),B(Pt,1472,"hTuMAb3xJP/4JcMBYNw3ALdMPv/DQj0AMkykAeGkTP9MPaP/dT4fAFGRQP92QQ4AonPW/waKLgB85vT/CoqPADQawgC49EwAgY8pAb70E/97qnr/YoFEAHnVkwBWZR7/oWebAIxZQ//v5b4BQwu1AMbwif7uRbz/Q5fuABMqbP/lVXEBMkSH/xFqCQAyZwH/UAGoASOYHv8QqLkBOFno/2XS/AAp+kcAzKpP/w4u7/9QTe8AvdZL/xGN+QAmUEz/vlV1AFbkqgCc2NABw8+k/5ZCTP+v4RD/jVBiAUzb8gDGonIALtqYAJsr8f6boGj/M7ulAAIRrwBCVKAB9zoeACNBNf5F7L8ALYb1AaN73QAgbhT/NBelALrWRwDpsGAA8u82ATlZigBTAFT/iKBkAFyOeP5ofL4AtbE+//opVQCYgioBYPz2AJeXP/7vhT4AIDicAC2nvf+OhbMBg1bTALuzlv76qg7/0qNOACU0lwBjTRoA7pzV/9XA0QFJLlQAFEEpATbOTwDJg5L+qm8Y/7EhMv6rJsv/Tvd0ANHdmQCFgLIBOiwZAMknOwG9E/wAMeXSAXW7dQC1s7gBAHLbADBekwD1KTgAfQ3M/vStdwAs3SD+VOoUAPmgxgHsfur/L2Oo/qrimf9ms9gA4o16/3pCmf629YYA4+QZAdY56//YrTj/tefSAHeAnf+BX4j/bn4zAAKpt/8HgmL+RbBe/3QE4wHZ8pH/yq0fAWkBJ/8ur0UA5C86/9fgRf7POEX/EP6L/xfP1P/KFH7/X9Vg/wmwIQDIBc//8SqA/iMhwP/45cQBgRF4APtnl/8HNHD/jDhC/yji9f/ZRiX+rNYJ/0hDhgGSwNb/LCZwAES4S//OWvsAleuNALWqOgB09O8AXJ0CAGatYgDpiWABfzHLAAWblAAXlAn/03oMACKGGv/bzIgAhggp/+BTK/5VGfcAbX8A/qmIMADud9v/563VAM4S/v4Iugf/fgkHAW8qSABvNOz+YD+NAJO/f/7NTsD/DmrtAbvbTACv87v+aVmtAFUZWQGi85QAAnbR/iGeCQCLoy7/XUYoAGwqjv5v/I7/m9+QADPlp/9J/Jv/XnQM/5ig2v+c7iX/s+rP/8UAs/+apI0A4cRoAAojGf7R1PL/Yf3e/rhl5QDeEn8BpIiH/x7PjP6SYfMAgcAa/slUIf9vCk7/k1Gy/wQEGACh7tf/Bo0hADXXDv8ptdD/54udALPL3f//uXEAveKs/3FC1v/KPi3/ZkAI/06uEP6FdUT/"),B(Pt,2464,"AQ=="),B(Pt,2496,"JuiVj8KyJ7BFw/SJ8u+Y8NXfrAXTxjM5sTgCiG1T/AXHF2pwPU3YT7o8C3YNEGcPKiBT+iw5zMZOx/13kqwDeuz///////////////////////////////////////9/7f///////////////////////////////////////3/u////////////////////////////////////////f+3T9VwaYxJY1pz3ot753hQ="),B(Pt,2687,"EIU7jAG98ST/+CXDAWDcNwC3TD7/w0I9ADJMpAHhpEz/TD2j/3U+HwBRkUD/dkEOAKJz1v8Gii4AfOb0/wqKjwA0GsIAuPRMAIGPKQG+9BP/e6p6/2KBRAB51ZMAVmUe/6FnmwCMWUP/7+W+AUMLtQDG8In+7kW8/+pxPP8l/zn/RbK2/oDQswB2Gn3+AwfW//EyTf9Vy8X/04f6/xkwZP+71bT+EVhpAFPRngEFc2IABK48/qs3bv/ZtRH/FLyqAJKcZv5X1q7/cnqbAeksqgB/CO8B1uzqAK8F2wAxaj3/BkLQ/wJqbv9R6hP/12vA/0OX7gATKmz/5VVxATJEh/8RagkAMmcB/1ABqAEjmB7/EKi5AThZ6P9l0vwAKfpHAMyqT/8OLu//UE3vAL3WS/8RjfkAJlBM/75VdQBW5KoAnNjQAcPPpP+WQkz/r+EQ/41QYgFM2/IAxqJyAC7amACbK/H+m6Bo/7IJ/P5kbtQADgWnAOnvo/8cl50BZZIK//6eRv5H+eQAWB4yAEQ6oP+/GGgBgUKB/8AyVf8Is4r/JvrJAHNQoACD5nEAfViTAFpExwD9TJ4AHP92AHH6/gBCSy4A5torAOV4ugGURCsAiHzuAbtrxf9UNfb/M3T+/zO7pQACEa8AQlSgAfc6HgAjQTX+Rey/AC2G9QGje90AIG4U/zQXpQC61kcA6bBgAPLvNgE5WYoAUwBU/4igZABcjnj+aHy+ALWxPv/6KVUAmIIqAWD89gCXlz/+74U+ACA4nAAtp73/joWzAYNW0wC7s5b++qoO/0RxFf/eujv/QgfxAUUGSABWnGz+N6dZAG002/4NsBf/xCxq/++VR/+kjH3/n60BADMp5wCRPiEAim9dAblTRQCQcy4AYZcQ/xjkGgAx2eIAcUvq/sGZDP+2MGD/Dg0aAIDD+f5FwTsAhCVR/n1qPADW8KkBpONCANKjTgAlNJcAY00aAO6c1f/VwNEBSS5UABRBKQE2zk8AyYOS/qpvGP+xITL+qybL/073dADR3ZkAhYCyATosGQDJJzsBvRP8ADHl0gF1u3UAtbO4AQBy2wAwXpMA9Sk4AH0NzP70rXcALN0g/lTqFAD5oMYB7H7q/48+3QCBWdb/N4sF/kQUv/8OzLIBI8PZAC8zzgEm9qUAzhsG/p5XJADZNJL/fXvX/1U8H/+rDQcA2vVY/vwjPAA31qD/hWU4AOAgE/6TQOoAGpGiAXJ2fQD4/PoAZV7E/8aN4v4zKrYAhwwJ/m2s0v/F7MIB8UGaADCcL/+ZQzf/2qUi/kq0swDaQkcBWHpjANS12/9cKuf/7wCaAPVNt/9eUaoBEtXYAKtdRwA0XvgAEpeh/sXRQv+u9A/+ojC3ADE98P62XcMAx+QGAcgFEf+JLe3/bJQEAFpP7f8nP03/NVLPAY4Wdv9l6BIBXBpDAAXIWP8hqIr/leFIAALRG/8s9agB3O0R/x7Taf6N7t0AgFD1/m/+DgDeX74B3wnxAJJM1P9szWj/P3WZAJBFMAAj5G8AwCHB/3DWvv5zmJcAF2ZYADNK+ADix4/+zKJl/9BhvQH1aBIA5vYe/xeURQBuWDT+4rVZ/9AvWv5yoVD/IXT4ALOYV/9FkLEBWO4a/zogcQEBTUUAO3k0/5juUwA0CMEA5yfp/8ciigDeRK0AWzny/tzSf//AB/b+lyO7AMPspQBvXc4A1PeFAZqF0f+b5woAQE4mAHr5ZAEeE2H/Plv5AfiFTQDFP6j+dApSALjscf7Uy8L/PWT8/iQFyv93W5n/gU8dAGdnq/7t12//2DVFAO/wFwDCld3/JuHeAOj/tP52UoX/OdGxAYvohQCesC7+wnMuAFj35QEcZ78A3d6v/pXrLACX5Bn+2mlnAI5V0gCVgb7/1UFe/nWG4P9SxnUAnd3cAKNlJADFciUAaKym/gu2AABRSLz/YbwQ/0UGCgDHk5H/CAlzAUHWr//ZrdEAUH+mAPflBP6nt3z/WhzM/q878P8LKfgBbCgz/5Cxw/6W+n4AiltBAXg83v/1we8AHda9/4ACGQBQmqIATdxrAerNSv82pmf/dEgJAOReL/8eyBn/I9ZZ/z2wjP9T4qP/S4KsAIAmEQBfiZj/13yfAU9dAACUUp3+w4L7/yjKTP/7fuAAnWM+/s8H4f9gRMMAjLqd/4MT5/8qgP4ANNs9/mbLSACNBwv/uqTVAB96dwCF8pEA0Pzo/1vVtv+PBPr++ddKAKUebwGrCd8A5XsiAVyCGv9Nmy0Bw4sc/zvgTgCIEfcAbHkgAE/6vf9g4/z+JvE+AD6uff+bb13/CubOAWHFKP8AMTn+QfoNABL7lv/cbdL/Ba6m/iyBvQDrI5P/JfeN/0iNBP9na/8A91oEADUsKgACHvAABDs/AFhOJABxp7QAvkfB/8eepP86CKwATSEMAEE/AwCZTSH/rP5mAeTdBP9XHv4BkilW/4rM7/5sjRH/u/KHANLQfwBELQ7+SWA+AFE8GP+qBiT/A/kaACPVbQAWgTb/FSPh/+o9OP862QYAj3xYAOx+QgDRJrf/Iu4G/66RZgBfFtMAxA+Z/i5U6P91IpIB5/pK/xuGZAFcu8P/qsZwAHgcKgDRRkMAHVEfAB2oZAGpraAAayN1AD5gO/9RDEUBh+++/9z8EgCj3Dr/iYm8/1NmbQBgBkwA6t7S/7muzQE8ntX/DfHWAKyBjABdaPIAwJz7ACt1HgDhUZ4Af+jaAOIcywDpG5f/dSsF//IOL/8hFAYAifss/hsf9f+31n3+KHmVALqe1f9ZCOMARVgA/suH4QDJrssAk0e4ABJ5Kf5eBU4A4Nbw/iQFtAD7h+cBo4rUANL5dP5YgbsAEwgx/j4OkP+fTNMA1jNSAG115P5n38v/S/wPAZpH3P8XDVsBjahg/7W2hQD6MzcA6urU/q8/ngAn8DQBnr0k/9UoVQEgtPf/E2YaAVQYYf9FFd4AlIt6/9zV6wHoy/8AeTmTAOMHmgA1FpMBSAHhAFKGMP5TPJ3/kUipACJn7wDG6S8AdBME/7hqCf+3gVMAJLDmASJnSADbooYA9SqeACCVYP6lLJAAyu9I/teWBQAqQiQBhNevAFauVv8axZz/MeiH/me2UgD9gLABmbJ6APX6CgDsGLIAiWqEACgdKQAyHpj/fGkmAOa/SwCPK6oALIMU/ywNF//t/5sBn21k/3C1GP9o3GwAN9ODAGMM1f+Yl5H/7gWfAGGbCAAhbFEAAQNnAD5tIv/6m7QAIEfD/yZGkQGfX/UAReVlAYgc8ABP4BkATm55//iofAC7gPcAApPr/k8LhABGOgwBtQij/0+Jhf8lqgv/jfNV/7Dn1//MlqT/79cn/y5XnP4Io1j/rCLoAEIsZv8bNin+7GNX/yl7qQE0cisAdYYoAJuGGgDnz1v+I4Qm/xNmff4k44X/dgNx/x0NfACYYEoBWJLO/6e/3P6iElj/tmQXAB91NABRLmoBDAIHAEVQyQHR9qwADDCNAeDTWAB04p8AemKCAEHs6gHh4gn/z+J7AVnWOwBwh1gBWvTL/zELJgGBbLoAWXAPAWUuzP9/zC3+T//d/zNJEv9/KmX/8RXKAKDjBwBpMuwATzTF/2jK0AG0DxAAZcVO/2JNywApufEBI8F8ACObF//PNcAAC32jAfmeuf8EgzAAFV1v/z155wFFyCT/uTC5/2/uFf8nMhn/Y9ej/1fUHv+kkwX/gAYjAWzfbv/CTLIASmW0APMvMACuGSv/Uq39ATZywP8oN1sA12yw/ws4BwDg6UwA0WLK/vIZfQAswV3+ywixAIewEwBwR9X/zjuwAQRDGgAOj9X+KjfQ/zxDeADBFaMAY6RzAAoUdgCc1N7+oAfZ/3L1TAF1O3sAsMJW/tUPsABOzs/+1YE7AOn7FgFgN5j/7P8P/8VZVP9dlYUArqBxAOpjqf+YdFgAkKRT/18dxv8iLw//Y3iG/wXswQD5937/k7seADLmdf9s2dv/o1Gm/0gZqf6beU//HJtZ/gd+EQCTQSEBL+r9ABozEgBpU8f/o8TmAHH4pADi/toAvdHL/6T33v7/I6UABLzzAX+zRwAl7f7/ZLrwAAU5R/5nSEn/9BJR/uXShP/uBrT/C+Wu/+PdwAERMRwAo9fE/gl2BP8z8EcAcYFt/0zw5wC8sX8AfUcsARqv8wBeqRn+G+YdAA+LdwGoqrr/rMVM//xLvACJfMQASBZg/y2X+QHckWQAQMCf/3jv4gCBspIAAMB9AOuK6gC3nZIAU8fA/7isSP9J4YAATQb6/7pBQwBo9s8AvCCK/9oY8gBDilH+7YF5/xTPlgEpxxD/BhSAAJ92BQC1EI//3CYPABdAk/5JGg0AV+Q5Acx8gAArGN8A22PHABZLFP8TG34AnT7XAG4d5gCzp/8BNvy+AN3Mtv6znkH/UZ0DAMLanwCq3wAA4Asg/ybFYgCopCUAF1gHAaS6bgBgJIYA6vLlAPp5EwDy/nD/Ay9eAQnvBv9Rhpn+1v2o/0N84AD1X0oAHB4s/gFt3P+yWVkA/CRMABjGLv9MTW8AhuqI/ydeHQC5SOr/RkSH/+dmB/5N54wApy86AZRhdv8QG+EBps6P/26y1v+0g6IAj43hAQ3aTv9ymSEBYmjMAK9ydQGnzksAysRTATpAQwCKL28BxPeA/4ng4P6ecM8AmmT/AYYlawDGgE//f9Gb/6P+uf48DvMAH9tw/h3ZQQDIDXT+ezzE/+A7uP7yWcQAexBL/pUQzgBF/jAB53Tf/9GgQQHIUGIAJcK4/pQ/IgCL8EH/2ZCE/zgmLf7HeNIAbLGm/6DeBADcfnf+pWug/1Lc+AHxr4gAkI0X/6mKVACgiU7/4nZQ/zQbhP8/YIv/mPonALybDwDoM5b+KA/o//DlCf+Jrxv/S0lhAdrUCwCHBaIBa7nVAAL5a/8o8kYA28gZABmdDQBDUlD/xPkX/5EUlQAySJIAXkyUARj7QQAfwBcAuNTJ/3vpogH3rUgAolfb/n6GWQCfCwz+pmkdAEkb5AFxeLf/QqNtAdSPC/+f56gB/4BaADkOOv5ZNAr//QijAQCR0v8KgVUBLrUbAGeIoP5+vNH/IiNvANfbGP/UC9b+ZQV2AOjFhf/fp23/7VBW/0aLXgCewb8Bmw8z/w++cwBOh8//+QobAbV96QBfrA3+qtWh/yfsiv9fXVf/voBfAH0PzgCmlp8A4w+e/86eeP8qjYAAZbJ4AZxtgwDaDiz+96jO/9RwHABwEeT/WhAlAcXebAD+z1P/CVrz//P0rAAaWHP/zXR6AL/mwQC0ZAsB2SVg/5pOnADr6h//zrKy/5XA+wC2+ocA9hZpAHzBbf8C0pX/qRGqAABgbv91CQgBMnso/8G9YwAi46AAMFBG/tMz7AAtevX+LK4IAK0l6f+eQasAekXX/1pQAv+DamD+43KHAM0xd/6wPkD/UjMR//EU8/+CDQj+gNnz/6IbAf5advEA9sb2/zcQdv/In50AoxEBAIxreQBVoXb/JgCVAJwv7gAJpqYBS2K1/zJKGQBCDy8Ai+GfAEwDjv8O7rgAC881/7fAugGrIK7/v0zdAfeq2wAZrDL+2QnpAMt+RP+3XDAAf6e3AUEx/gAQP38B/hWq/zvgf/4WMD//G06C/ijDHQD6hHD+I8uQAGipqADP/R7/aCgm/l7kWADOEID/1Dd6/98W6gDfxX8A/bW1AZFmdgDsmST/1NlI/xQmGP6KPj4AmIwEAObcY/8BFdT/lMnnAPR7Cf4Aq9IAMzol/wH/Dv/0t5H+APKmABZKhAB52CkAX8Ny/oUYl/+c4uf/9wVN//aUc/7hXFH/3lD2/qp7Wf9Kx40AHRQI/4qIRv9dS1wA3ZMx/jR+4gDlfBcALgm1AM1ANAGD/hwAl57UAINATgDOGasAAOaLAL/9bv5n96cAQCgoASql8f87S+T+fPO9/8Rcsv+CjFb/jVk4AZPGBf/L+J7+kKKNAAus4gCCKhX/AaeP/5AkJP8wWKT+qKrcAGJH1gBb0E8An0zJAaYq1v9F/wD/BoB9/74BjACSU9r/1+5IAXp/NQC9dKX/VAhC/9YD0P/VboUAw6gsAZ7nRQCiQMj+WzpoALY6u/755IgAy4ZM/mPd6QBL/tb+UEWaAECY+P7siMr/nWmZ/pWvFAAWIxP/fHnpALr6xv6E5YsAiVCu/6V9RACQypT+6+/4AIe4dgBlXhH/ekhG/kWCkgB/3vgBRX92/x5S1/68ShP/5afC/nUZQv9B6jj+1RacAJc7Xf4tHBv/un6k/yAG7wB/cmMB2zQC/2Ngpv4+vn7/bN6oAUvirgDm4scAPHXa//z4FAHWvMwAH8KG/ntFwP+prST+N2JbAN8qZv6JAWYAnVoZAO96QP/8BukABzYU/1J0rgCHJTb/D7p9AONwr/9ktOH/Ku30//St4v74EiEAq2OW/0rrMv91UiD+aqjtAM9t0AHkCboAhzyp/rNcjwD0qmj/6y18/0ZjugB1ibcA4B/XACgJZAAaEF8BRNlXAAiXFP8aZDr/sKXLATR2RgAHIP7+9P71/6eQwv99cRf/sHm1AIhU0QCKBh7/WTAcACGbDv8Z8JoAjc1tAUZzPv8UKGv+iprH/17f4v+dqyYAo7EZ/i12A/8O3hcB0b5R/3Z76AEN1WX/ezd7/hv2pQAyY0z/jNYg/2FBQ/8YDBwArlZOAUD3YACgh0MAQjfz/5PMYP8aBiH/YjNTAZnV0P8CuDb/GdoLADFD9v4SlUj/DRlIACpP1gAqBCYBG4uQ/5W7FwASpIQA9VS4/njGaP9+2mAAOHXq/w0d1v5ELwr/p5qE/pgmxgBCsln/yC6r/w1jU//Su/3/qi0qAYrRfADWoo0ADOacAGYkcP4Dk0MANNd7/+mrNv9iiT4A99on/+fa7AD3v38Aw5JUAKWwXP8T1F7/EUrjAFgomQHGkwH/zkP1/vAD2v89jdX/YbdqAMPo6/5fVpoA0TDN/nbR8f/weN8B1R2fAKN/k/8N2l0AVRhE/kYUUP+9BYwBUmH+/2Njv/+EVIX/a9p0/3B6LgBpESAAwqA//0TeJwHY/VwAsWnN/5XJwwAq4Qv/KKJzAAkHUQCl2tsAtBYA/h2S/P+Sz+EBtIdgAB+jcACxC9v/hQzB/itOMgBBcXkBO9kG/25eGAFwrG8ABw9gACRVewBHlhX/0Em8AMALpwHV9SIACeZcAKKOJ//XWhsAYmFZAF5P0wBanfAAX9x+AWaw4gAkHuD+Ix9/AOfocwFVU4IA0kn1/y+Pcv9EQcUAO0g+/7eFrf5deXb/O7FR/+pFrf/NgLEA3PQzABr00QFJ3k3/owhg/paV0wCe/ssBNn+LAKHgOwAEbRb/3iot/9CSZv/sjrsAMs31/wpKWf4wT44A3kyC/x6mPwDsDA3/Mbj0ALtxZgDaZf0AmTm2/iCWKgAZxpIB7fE4AIxEBQBbpKz/TpG6/kM0zQDbz4EBbXMRADaPOgEV+Hj/s/8eAMHsQv8B/wf//cAw/xNF2QED1gD/QGWSAd99I//rSbP/+afiAOGvCgFhojoAanCrAVSsBf+FjLL/hvWOAGFaff+6y7n/300X/8BcagAPxnP/2Zj4AKuyeP/khjUAsDbBAfr7NQDVCmQBIsdqAJcf9P6s4Ff/Du0X//1VGv9/J3T/rGhkAPsORv/U0Ir//dP6ALAxpQAPTHv/Jdqg/1yHEAEKfnL/RgXg//f5jQBEFDwB8dK9/8PZuwGXA3EAl1yuAOc+sv/bt+EAFxch/821UAA5uPj/Q7QB/1p7Xf8nAKL/YPg0/1RCjAAif+T/wooHAaZuvAAVEZsBmr7G/9ZQO/8SB48ASB3iAcfZ+QDooUcBlb7JANmvX/5xk0P/io/H/3/MAQAdtlMBzuab/7rMPAAKfVX/6GAZ//9Z9//V/q8B6MFRABwrnP4MRQgAkxj4ABLGMQCGPCMAdvYS/zFY/v7kFbr/tkFwAdsWAf8WfjT/vTUx/3AZjwAmfzf/4mWj/tCFPf+JRa4BvnaR/zxi2//ZDfX/+ogKAFT+4gDJH30B8DP7/x+Dgv8CijL/19exAd8M7v/8lTj/fFtE/0h+qv53/2QAgofo/w5PsgD6g8UAisbQAHnYi/53EiT/HcF6ABAqLf/V8OsB5r6p/8Yj5P5urUgA1t3x/ziUhwDAdU7+jV3P/49BlQAVEmL/Xyz0AWq/TQD+VQj+1m6w/0mtE/6gxMf/7VqQAMGscf/Im4j+5FrdAIkxSgGk3df/0b0F/2nsN/8qH4EBwf/sAC7ZPACKWLv/4lLs/1FFl/+OvhABDYYIAH96MP9RQJwAq/OLAO0j9gB6j8H+1HqSAF8p/wFXhE0ABNQfABEfTgAnLa3+GI7Z/18JBv/jUwYAYjuC/j4eIQAIc9MBomGA/we4F/50HKj/+IqX/2L08AC6doIAcvjr/2mtyAGgfEf/XiSkAa9Bkv/u8ar+ysbFAORHiv4t9m3/wjSeAIW7sABT/Jr+Wb3d/6pJ/ACUOn0AJEQz/ipFsf+oTFb/JmTM/yY1IwCvE2EA4e79/1FRhwDSG//+60lrAAjPcwBSf4gAVGMV/s8TiABkpGUAUNBN/4TP7f8PAw//IaZuAJxfVf8luW8Blmoj/6aXTAByV4f/n8JAAAx6H//oB2X+rXdiAJpH3P6/OTX/qOig/+AgY//anKUAl5mjANkNlAHFcVkAlRyh/s8XHgBphOP/NuZe/4WtzP9ct53/WJD8/mYhWgCfYQMAtdqb//BydwBq1jX/pb5zAZhb4f9Yaiz/0D1xAJc0fAC/G5z/bjbsAQ4epv8nf88B5cccALzkvP5knesA9tq3AWsWwf/OoF8ATO+TAM+hdQAzpgL/NHUK/kk44/+YweEAhF6I/2W/0QAga+X/xiu0AWTSdgByQ5n/F1ga/1maXAHceIz/kHLP//xz+v8izkgAioV//wiyfAFXS2EAD+Vc/vBDg/92e+P+knho/5HV/wGBu0b/23c2AAETrQAtlpQB+FNIAMvpqQGOazgA9/kmAS3yUP8e6WcAYFJGABfJbwBRJx7/obdO/8LqIf9E44z+2M50AEYb6/9okE8ApOZd/taHnACau/L+vBSD/yRtrgCfcPEABW6VASSl2gCmHRMBsi5JAF0rIP74ve0AZpuNAMldw//xi/3/D29i/2xBo/6bT77/Sa7B/vYoMP9rWAv+ymFV//3MEv9x8kIAbqDC/tASugBRFTwAvGin/3ymYf7ShY4AOPKJ/ilvggBvlzoBb9WN/7es8f8mBsT/uQd7/y4L9gD1aXcBDwKh/wjOLf8Sykr/U3xzAdSNnQBTCNH+iw/o/6w2rf4y94QA1r3VAJC4aQDf/vgA/5Pw/xe8SAAHMzYAvBm0/ty0AP9ToBQAo73z/zrRwv9XSTwAahgxAPX53AAWracAdgvD/xN+7QBunyX/O1IvALS7VgC8lNABZCWF/wdwwQCBvJz/VGqB/4XhygAO7G//KBRlAKysMf4zNkr/+7m4/12b4P+0+eAB5rKSAEg5Nv6yPrgAd81IALnv/f89D9oAxEM4/+ogqwEu2+QA0Gzq/xQ/6P+lNccBheQF/zTNawBK7oz/lpzb/u+ssv/7vd/+II7T/9oPigHxxFAAHCRi/hbqxwA97dz/9jklAI4Rjv+dPhoAK+5f/gPZBv/VGfABJ9yu/5rNMP4TDcD/9CI2/owQmwDwtQX+m8E8AKaABP8kkTj/lvDbAHgzkQBSmSoBjOySAGtc+AG9CgMAP4jyANMnGAATyqEBrRu6/9LM7/4p0aL/tv6f/6x0NADDZ97+zUU7ADUWKQHaMMIAUNLyANK8zwC7oaH+2BEBAIjhcQD6uD8A3x5i/k2oogA7Na8AE8kK/4vgwgCTwZr/1L0M/gHIrv8yhXEBXrNaAK22hwBesXEAK1nX/4j8av97hlP+BfVC/1IxJwHcAuAAYYGxAE07WQA9HZsBy6vc/1xOiwCRIbX/qRiNATeWswCLPFD/2idhAAKTa/88+EgAreYvAQZTtv8QaaL+idRR/7S4hgEn3qT/3Wn7Ae9wfQA/B2EAP2jj/5Q6DABaPOD/VNT8AE/XqAD43ccBc3kBACSseAAgorv/OWsx/5MqFQBqxisBOUpXAH7LUf+Bh8MAjB+xAN2LwgAD3tcAg0TnALFWsv58l7QAuHwmAUajEQD5+7UBKjfjAOKhLAAX7G4AM5WOAV0F7ADat2r+QxhNACj10f/eeZkApTkeAFN9PABGJlIB5Qa8AG3enf83dj//zZe6AOMhlf/+sPYB47HjACJqo/6wK08Aal9OAbnxev+5Dj0AJAHKAA2yov/3C4QAoeZcAUEBuf/UMqUBjZJA/57y2gAVpH0A1Yt6AUNHVwDLnrIBl1wrAJhvBf8nA+//2f/6/7A/R/9K9U0B+q4S/yIx4//2Lvv/miMwAX2dPf9qJE7/YeyZAIi7eP9xhqv/E9XZ/the0f/8BT0AXgPKAAMat/9Avyv/HhcVAIGNTf9meAcBwkyMALyvNP8RUZQA6FY3AeEwrACGKir/7jIvAKkS/gAUk1f/DsPv/0X3FwDu5YD/sTFwAKhi+/95R/gA8wiR/vbjmf/bqbH++4ul/wyjuf+kKKv/mZ8b/vNtW//eGHABEtbnAGudtf7DkwD/wmNo/1mMvv+xQn7+arlCADHaHwD8rp4AvE/mAe4p4ADU6ggBiAu1AKZ1U/9Ew14ALoTJAPCYWACkOUX+oOAq/zvXQ/93w43/JLR5/s8vCP+u0t8AZcVE//9SjQH6iekAYVaFARBQRQCEg58AdF1kAC2NiwCYrJ3/WitbAEeZLgAnEHD/2Yhh/9zGGf6xNTEA3liG/4APPADPwKn/wHTR/2pO0wHI1bf/Bwx6/t7LPP8hbsf++2p1AOThBAF4Ogf/3cFU/nCFGwC9yMn/i4eWAOo3sP89MkEAmGyp/9xVAf9wh+MAohq6AM9guf70iGsAXZkyAcZhlwBuC1b/j3Wu/3PUyAAFyrcA7aQK/rnvPgDseBL+Yntj/6jJwv4u6tYAv4Ux/2OpdwC+uyMBcxUt//mDSABwBnv/1jG1/qbpIgBcxWb+/eTN/wM7yQEqYi4A2yUj/6nDJgBefMEBnCvfAF9Ihf54zr8AesXv/7G7T//+LgIB+qe+AFSBEwDLcab/+R+9/kidyv/QR0n/zxhIAAoQEgHSUUz/WNDA/37za//ujXj/x3nq/4kMO/8k3Hv/lLM8/vAMHQBCAGEBJB4m/3MBXf9gZ+f/xZ47AcCk8ADKyjn/GK4wAFlNmwEqTNcA9JfpABcwUQDvfzT+44Il//h0XQF8hHYArf7AAQbrU/9ur+cB+xy2AIH5Xf5UuIAATLU+AK+AugBkNYj+bR3iAN3pOgEUY0oAABagAIYNFQAJNDf/EVmMAK8iOwBUpXf/4OLq/wdIpv97c/8BEtb2APoHRwHZ3LkA1CNM/yZ9rwC9YdIAcu4s/ym8qf4tupoAUVwWAISgwQB50GL/DVEs/8ucUgBHOhX/0HK//jImkwCa2MMAZRkSADz61//phOv/Z6+OARAOXACNH27+7vEt/5nZ7wFhqC//+VUQARyvPv85/jYA3ud+AKYtdf4SvWD/5EwyAMj0XgDGmHgBRCJF/wxBoP5lE1oAp8V4/0Q2uf8p2rwAcagwAFhpvQEaUiD/uV2kAeTw7f9CtjUAq8Vc/2sJ6QHHeJD/TjEK/22qaf9aBB//HPRx/0o6CwA+3Pb/eZrI/pDSsv9+OYEBK/oO/2VvHAEvVvH/PUaW/zVJBf8eGp4A0RpWAIrtSgCkX7wAjjwd/qJ0+P+7r6AAlxIQANFvQf7Lhif/WGwx/4MaR//dG9f+aGld/x/sH/6HANP/j39uAdRJ5QDpQ6f+wwHQ/4QR3f8z2VoAQ+sy/9/SjwCzNYIB6WrGANmt3P9w5Rj/r5pd/kfL9v8wQoX/A4jm/xfdcf7rb9UAqnhf/vvdAgAtgp7+aV7Z//I0tP7VRC3/aCYcAPSeTAChyGD/zzUN/7tDlACqNvgAd6Ky/1MUCwAqKsABkp+j/7fobwBN5RX/RzWPABtMIgD2iC//2ye2/1zgyQETjg7/Rbbx/6N29QAJbWoBqrX3/04v7v9U0rD/1WuLACcmCwBIFZYASIJFAM1Nm/6OhRUAR2+s/uIqO/+zANcBIYDxAOr8DQG4TwgAbh5J//aNvQCqz9oBSppF/4r2Mf+bIGQAfUpp/1pVPf8j5bH/Pn3B/5lWvAFJeNQA0Xv2/ofRJv+XOiwBXEXW/w4MWP/8mab//c9w/zxOU//jfG4AtGD8/zV1If6k3FL/KQEb/yakpv+kY6n+PZBG/8CmEgBr+kIAxUEyAAGzEv//aAH/K5kj/1BvqABur6gAKWkt/9sOzf+k6Yz+KwF2AOlDwwCyUp//ild6/9TuWv+QI3z+GYykAPvXLP6FRmv/ZeNQ/lypNwDXKjEAcrRV/yHoGwGs1RkAPrB7/iCFGP/hvz4AXUaZALUqaAEWv+D/yMiM//nqJQCVOY0AwzjQ//6CRv8grfD/HdzHAG5kc/+E5fkA5Onf/yXY0f6ysdH/ty2l/uBhcgCJYaj/4d6sAKUNMQHS68z//AQc/kaglwDovjT+U/hd/z7XTQGvr7P/oDJCAHkw0AA/qdH/ANLIAOC7LAFJolIACbCP/xNMwf8dO6cBGCuaABy+vgCNvIEA6OvL/+oAbf82QZ8APFjo/3n9lv786YP/xm4pAVNNR//IFjv+av3y/xUMz//tQr0AWsbKAeGsfwA1FsoAOOaEAAFWtwBtvioA80SuAW3kmgDIsXoBI6C3/7EwVf9a2qn/+JhOAMr+bgAGNCsAjmJB/z+RFgBGal0A6IprAW6zPf/TgdoB8tFcACNa2QG2j2r/dGXZ/3L63f+tzAYAPJajAEmsLP/vblD/7UyZ/qGM+QCV6OUAhR8o/66kdwBxM9YAgeQC/kAi8wBr4/T/rmrI/1SZRgEyIxAA+krY/uy9Qv+Z+Q0A5rIE/90p7gB243n/XleM/v53XABJ7/b+dVeAABPTkf+xLvwA5Vv2AUWA9//KTTYBCAsJ/5lgpgDZ1q3/hsACAQDPAAC9rmsBjIZkAJ7B8wG2ZqsA65ozAI4Fe/88qFkB2Q5c/xPWBQHTp/4ALAbK/ngS7P8Pcbj/uN+LACixd/62e1r/sKWwAPdNwgAb6ngA5wDW/zsnHgB9Y5H/lkREAY3e+ACZe9L/bn+Y/+Uh1gGH3cUAiWECAAyPzP9RKbwAc0+C/14DhACYr7v/fI0K/37As/8LZ8YAlQYtANtVuwHmErL/SLaYAAPGuP+AcOABYaHmAP5jJv86n8UAl0LbADtFj/+5cPkAd4gv/3uChACoR1//cbAoAei5rQDPXXUBRJ1s/2YFk/4xYSEAWUFv/vceo/982d0BZvrYAMauS/45NxIA4wXsAeXVrQDJbdoBMenvAB43ngEZsmoAm2+8AV5+jADXH+4BTfAQANXyGQEmR6gAzbpd/jHTjP/bALT/hnalAKCThv9uuiP/xvMqAPOSdwCG66MBBPGH/8Euwf5ntE//4QS4/vJ2ggCSh7AB6m8eAEVC1f4pYHsAeV4q/7K/w/8ugioAdVQI/+kx1v7uem0ABkdZAezTewD0DTD+d5QOAHIcVv9L7Rn/keUQ/oFkNf+Glnj+qJ0yABdIaP/gMQ4A/3sW/5e5l/+qULgBhrYUAClkZQGZIRAATJpvAVbO6v/AoKT+pXtd/wHYpP5DEa//qQs7/54pPf9JvA7/wwaJ/xaTHf8UZwP/9oLj/3oogADiLxj+IyQgAJi6t/9FyhQAw4XDAN4z9wCpq14BtwCg/0DNEgGcUw//xTr5/vtZbv8yClj+MyvYAGLyxgH1l3EAq+zCAcUfx//lUSYBKTsUAP1o5gCYXQ7/9vKS/tap8P/wZmz+oKfsAJravACW6cr/GxP6AQJHhf+vDD8BkbfGAGh4c/+C+/cAEdSn/z57hP/3ZL0Am9+YAI/FIQCbOyz/ll3wAX8DV/9fR88Bp1UB/7yYdP8KFxcAicNdATZiYQDwAKj/lLx/AIZrlwBM/asAWoTAAJIWNgDgQjb+5rrl/ye2xACU+4L/QYNs/oABoACpMaf+x/6U//sGgwC7/oH/VVI+ALIXOv/+hAUApNUnAIb8kv4lNVH/m4ZSAM2n7v9eLbT/hCihAP5vcAE2S9kAs+bdAetev/8X8zABypHL/yd2Kv91jf0A/gDeACv7MgA2qeoBUETQAJTL8/6RB4cABv4AAPy5fwBiCIH/JiNI/9Mk3AEoGlkAqEDF/gPe7/8CU9f+tJ9pADpzwgC6dGr/5ffb/4F2wQDKrrcBpqFIAMlrk/7tiEoA6eZqAWlvqABA4B4BAeUDAGaXr//C7uT//vrUALvteQBD+2ABxR4LALdfzADNWYoAQN0lAf/fHv+yMNP/8cha/6fRYP85gt0ALnLI/z24QgA3thj+brYhAKu+6P9yXh8AEt0IAC/n/gD/cFMAdg/X/60ZKP7AwR//7hWS/6vBdv9l6jX+g9RwAFnAawEI0BsAtdkP/+eV6ACM7H4AkAnH/wxPtf6Ttsr/E222/zHU4QBKo8sAr+mUABpwMwDBwQn/D4f5AJbjggDMANsBGPLNAO7Qdf8W9HAAGuUiACVQvP8mLc7+8Frh/x0DL/8q4EwAuvOnACCED/8FM30Ai4cYAAbx2wCs5YX/9tYyAOcLz/+/flMBtKOq//U4GAGypNP/AxDKAWI5dv+Ng1n+ITMYAPOVW//9NA4AI6lD/jEeWP+zGyT/pYy3ADq9lwBYHwAAS6lCAEJlx/8Y2McBecQa/w5Py/7w4lH/XhwK/1PB8P/MwYP/Xg9WANoonQAzwdEAAPKxAGa59wCebXQAJodbAN+vlQDcQgH/VjzoABlgJf/heqIB17uo/56dLgA4q6IA6PBlAXoWCQAzCRX/NRnu/9ke6P59qZQADehmAJQJJQClYY0B5IMpAN4P8//+EhEABjztAWoDcQA7hL0AXHAeAGnQ1QAwVLP/u3nn/hvYbf+i3Wv+Se/D//ofOf+Vh1n/uRdzAQOjnf8ScPoAGTm7/6FgpAAvEPMADI37/kPquP8pEqEArwZg/6CsNP4YsLf/xsFVAXx5if+XMnL/3Ms8/8/vBQEAJmv/N+5e/kaYXgDV3E0BeBFF/1Wkvv/L6lEAJjEl/j2QfACJTjH+qPcwAF+k/ABpqYcA/eSGAECmSwBRSRT/z9IKAOpqlv9eIlr//p85/tyFYwCLk7T+GBe5ACk5Hv+9YUwAQbvf/+CsJf8iPl8B55DwAE1qfv5AmFsAHWKbAOL7Nf/q0wX/kMve/6Sw3f4F5xgAs3rNACQBhv99Rpf+YeT8AKyBF/4wWtH/luBSAVSGHgDxxC4AZ3Hq/y5lef4ofPr/hy3y/gn5qP+MbIP/j6OrADKtx/9Y3o7/yF+eAI7Ao/8HdYcAb3wWAOwMQf5EJkH/467+APT1JgDwMtD/oT/6ADzR7wB6IxMADiHm/gKfcQBqFH//5M1gAInSrv601JD/WWKaASJYiwCnonABQW7FAPElqQBCOIP/CslT/oX9u/+xcC3+xPsAAMT6l//u6Nb/ltHNABzwdgBHTFMB7GNbACr6gwFgEkD/dt4jAHHWy/96d7j/QhMkAMxA+QCSWYsAhj6HAWjpZQC8VBoAMfmBANDWS//Pgk3/c6/rAKsCif+vkboBN/WH/5pWtQFkOvb/bcc8/1LMhv/XMeYBjOXA/97B+/9RiA//s5Wi/xcnHf8HX0v+v1HeAPFRWv9rMcn/9NOdAN6Mlf9B2zj+vfZa/7I7nQEw2zQAYiLXABwRu/+vqRgAXE+h/+zIwgGTj+oA5eEHAcWoDgDrMzUB/XiuAMUGqP/KdasAoxXOAHJVWv8PKQr/whNjAEE32P6iknQAMs7U/0CSHf+enoMBZKWC/6wXgf99NQn/D8ESARoxC/+1rskBh8kO/2QTlQDbYk8AKmOP/mAAMP/F+VP+aJVP/+tuiP5SgCz/QSkk/ljTCgC7ebsAYobHAKu8s/7SC+7/QnuC/jTqPQAwcRf+BlZ4/3ey9QBXgckA8o3RAMpyVQCUFqEAZ8MwABkxq/+KQ4IAtkl6/pQYggDT5ZoAIJueAFRpPQCxwgn/pllWATZTuwD5KHX/bQPX/zWSLAE/L7MAwtgD/g5UiACIsQ3/SPO6/3URff/TOtP/XU/fAFpY9f+L0W//Rt4vAAr2T//G2bIA4+ELAU5+s/8+K34AZ5QjAIEIpf718JQAPTOOAFHQhgAPiXP/03fs/5/1+P8Choj/5os6AaCk/gByVY3/Maa2/5BGVAFVtgcALjVdAAmmof83orL/Lbi8AJIcLP6pWjEAeLLxAQ57f/8H8ccBvUIy/8aPZf6984f/jRgY/kthVwB2+5oB7TacAKuSz/+DxPb/iEBxAZfoOQDw2nMAMT0b/0CBSQH8qRv/KIQKAVrJwf/8efABus4pACvGYQCRZLcAzNhQ/qyWQQD55cT+aHtJ/01oYP6CtAgAaHs5ANzK5f9m+dMAVg7o/7ZO0QDv4aQAag0g/3hJEf+GQ+kAU/61ALfscAEwQIP/8djz/0HB4gDO8WT+ZIam/+3KxQA3DVEAIHxm/yjksQB2tR8B56CG/3e7ygAAjjz/gCa9/6bJlgDPeBoBNrisAAzyzP6FQuYAIiYfAbhwUAAgM6X+v/M3ADpJkv6bp83/ZGiY/8X+z/+tE/cA7grKAO+X8gBeOyf/8B1m/wpcmv/lVNv/oYFQANBazAHw267/nmaRATWyTP80bKgBU95rANMkbQB2OjgACB0WAO2gxwCq0Z0AiUcvAI9WIADG8gIA1DCIAVysugDml2kBYL/lAIpQv/7w2IL/YisG/qjEMQD9ElsBkEl5AD2SJwE/aBj/uKVw/n7rYgBQ1WL/ezxX/1KM9QHfeK3/D8aGAc487wDn6lz/Ie4T/6VxjgGwdyYAoCum/u9baQBrPcIBGQREAA+LMwCkhGr/InQu/qhfxQCJ1BcASJw6AIlwRf6WaZr/7MmdABfUmv+IUuP+4jvd/1+VwABRdjT/ISvXAQ6TS/9ZnHn+DhJPAJPQiwGX2j7/nFgIAdK4Yv8Ur3v/ZlPlANxBdAGW+gT/XI7c/yL3Qv/M4bP+l1GXAEco7P+KPz4ABk/w/7e5tQB2MhsAP+PAAHtjOgEy4Jv/EeHf/tzgTf8OLHsBjYCvAPjUyACWO7f/k2EdAJbMtQD9JUcAkVV3AJrIugACgPn/Uxh8AA5XjwCoM/UBfJfn/9DwxQF8vrkAMDr2ABTp6AB9EmL/Df4f//Wxgv9sjiMAq33y/owMIv+loaIAzs1lAPcZIgFkkTkAJ0Y5AHbMy//yAKIApfQeAMZ04gCAb5n/jDa2ATx6D/+bOjkBNjLGAKvTHf9riqf/rWvH/22hwQBZSPL/znNZ//r+jv6xyl7/UVkyAAdpQv8Z/v/+y0AX/0/ebP8n+UsA8XwyAO+YhQDd8WkAk5diANWhef7yMYkA6SX5/iq3GwC4d+b/2SCj/9D75AGJPoP/T0AJ/l4wcQARijL+wf8WAPcSxQFDN2gAEM1f/zAlQgA3nD8BQFJK/8g1R/7vQ30AGuDeAN+JXf8e4Mr/CdyEAMYm6wFmjVYAPCtRAYgcGgDpJAj+z/KUAKSiPwAzLuD/cjBP/wmv4gDeA8H/L6Do//9daf4OKuYAGopSAdAr9AAbJyb/YtB//0CVtv8F+tEAuzwc/jEZ2v+pdM3/dxJ4AJx0k/+ENW3/DQrKAG5TpwCd24n/BgOC/zKnHv88ny//gYCd/l4DvQADpkQAU9/XAJZawgEPqEEA41Mz/82rQv82uzwBmGYt/3ea4QDw94gAZMWy/4tH3//MUhABKc4q/5zA3f/Ye/T/2tq5/7u67//8rKD/wzQWAJCutf67ZHP/006w/xsHwQCT1Wj/WskK/1B7QgEWIboAAQdj/h7OCgDl6gUANR7SAIoI3P5HN6cASOFWAXa+vAD+wWUBq/ms/16et/5dAmz/sF1M/0ljT/9KQIH+9i5BAGPxf/72l2b/LDXQ/jtm6gCar6T/WPIgAG8mAQD/tr7/c7AP/qk8gQB67fEAWkw/AD5KeP96w24AdwSyAN7y0gCCIS7+nCgpAKeScAExo2//ebDrAEzPDv8DGcYBKevVAFUk1gExXG3/yBge/qjswwCRJ3wB7MOVAFokuP9DVar/JiMa/oN8RP/vmyP/NsmkAMQWdf8xD80AGOAdAX5xkAB1FbYAy5+NAN+HTQCw5rD/vuXX/2Mltf8zFYr/Gb1Z/zEwpf6YLfcAqmzeAFDKBQAbRWf+zBaB/7T8Pv7SAVv/km7+/9uiHADf/NUBOwghAM4Q9ACB0zAAa6DQAHA70QBtTdj+IhW5//ZjOP+zixP/uR0y/1RZEwBK+mL/4SrI/8DZzf/SEKcAY4RfASvmOQD+C8v/Y7w//3fB+/5QaTYA6LW9AbdFcP/Qq6X/L220/3tTpQCSojT/mgsE/5fjWv+SiWH+Pekp/14qN/9spOwAmET+AAqMg/8Kak/+856JAEOyQv6xe8b/Dz4iAMVYKv+VX7H/mADG/5X+cf/hWqP/fdn3ABIR4ACAQnj+wBkJ/zLdzQAx1EYA6f+kAALRCQDdNNv+rOD0/144zgHyswL/H1ukAeYuiv+95twAOS89/28LnQCxW5gAHOZiAGFXfgDGWZH/p09rAPlNoAEd6eb/lhVW/jwLwQCXJST+uZbz/+TUUwGsl7QAyambAPQ86gCO6wQBQ9o8AMBxSwF088//QaybAFEenP9QSCH+Eudt/45rFf59GoT/sBA7/5bJOgDOqckA0HniACisDv+WPV7/ODmc/408kf8tbJX/7pGb/9FVH/7ADNIAY2Jd/pgQlwDhudwAjess/6CsFf5HGh//DUBd/hw4xgCxPvgBtgjxAKZllP9OUYX/gd7XAbypgf/oB2EAMXA8/9nl+wB3bIoAJxN7/oMx6wCEVJEAguaU/xlKuwAF9Tb/udvxARLC5P/xymYAaXHKAJvrTwAVCbL/nAHvAMiUPQBz99L/Md2HADq9CAEjLgkAUUEF/zSeuf99dC7/SowN/9JcrP6TF0cA2eD9/nNstP+ROjD+27EY/5z/PAGak/IA/YZXADVL5QAww97/H68y/5zSeP/QI97/EvizAQIKZf+dwvj/nsxl/2j+xf9PPgQAsqxlAWCS+/9BCpwAAoml/3QE5wDy1wEAEyMd/yuhTwA7lfYB+0KwAMghA/9Qbo7/w6ERAeQ4Qv97L5H+hASkAEOurAAZ/XIAV2FXAfrcVABgW8j/JX07ABNBdgChNPH/7awG/7C///8BQYL+377mAGX95/+SI20A+h1NATEAEwB7WpsBFlYg/9rVQQBvXX8APF2p/wh/tgARug7+/Yn2/9UZMP5M7gD/+FxG/2PgiwC4Cf8BB6TQAM2DxgFX1scAgtZfAN2V3gAXJqv+xW7VACtzjP7XsXYAYDRCAXWe7QAOQLb/Lj+u/55fvv/hzbH/KwWO/6xj1P/0u5MAHTOZ/+R0GP4eZc8AE/aW/4bnBQB9huIBTUFiAOyCIf8Fbj4ARWx//wdxFgCRFFP+wqHn/4O1PADZ0bH/5ZTU/gODuAB1sbsBHA4f/7BmUAAyVJf/fR82/xWdhf8Ts4sB4OgaACJ1qv+n/Kv/SY3O/oH6IwBIT+wB3OUU/ynKrf9jTO7/xhbg/2zGw/8kjWAB7J47/2pkVwBu4gIA4+reAJpdd/9KcKT/Q1sC/xWRIf9m1on/r+Zn/qP2pgBd93T+p+Ac/9wCOQGrzlQAe+QR/xt4dwB3C5MBtC/h/2jIuf6lAnIATU7UAC2asf8YxHn+Up22AFoQvgEMk8UAX++Y/wvrRwBWknf/rIbWADyDxACh4YEAH4J4/l/IMwBp59L/OgmU/yuo3f987Y4AxtMy/i71ZwCk+FQAmEbQ/7R1sQBGT7kA80ogAJWczwDFxKEB9TXvAA9d9v6L8DH/xFgk/6ImewCAyJ0Brkxn/62pIv7YAav/cjMRAIjkwgBuljj+avafABO4T/+WTfD/m1CiAAA1qf8dl1YARF4QAFwHbv5idZX/+U3m//0KjADWfFz+I3brAFkwOQEWNaYAuJA9/7P/wgDW+D3+O272AHkVUf6mA+QAakAa/0Xohv/y3DX+LtxVAHGV9/9hs2f/vn8LAIfRtgBfNIEBqpDO/3rIzP+oZJIAPJCV/kY8KAB6NLH/9tNl/67tCAAHM3gAEx+tAH7vnP+PvcsAxIBY/+mF4v8efa3/yWwyAHtkO//+owMB3ZS1/9aIOf7etIn/z1g2/xwh+/9D1jQB0tBkAFGqXgCRKDUA4G/n/iMc9P/ix8P+7hHmANnZpP6pnd0A2i6iAcfPo/9sc6IBDmC7/3Y8TAC4n5gA0edH/iqkuv+6mTP+3au2/6KOrQDrL8EAB4sQAV+kQP8Q3aYA28UQAIQdLP9kRXX/POtY/ihRrQBHvj3/u1idAOcLFwDtdaQA4ajf/5pydP+jmPIBGCCqAH1icf6oE0wAEZ3c/ps0BQATb6H/R1r8/61u8AAKxnn//f/w/0J70gDdwtf+eaMR/+EHYwC+MbYAcwmFAegaiv/VRIQALHd6/7NiMwCVWmoARzLm/wqZdv+xRhkApVfNADeK6gDuHmEAcZvPAGKZfwAia9v+dXKs/0y0//7yObP/3SKs/jiiMf9TA///cd29/7wZ5P4QWFn/RxzG/hYRlf/zef7/a8pj/wnODgHcL5kAa4knAWExwv+VM8X+ujoL/2sr6AHIBg7/tYVB/t3kq/97PucB4+qz/yK91P70u/kAvg1QAYJZAQDfha0ACd7G/0J/SgCn2F3/m6jGAUKRAABEZi4BrFqaANiAS/+gKDMAnhEbAXzwMQDsyrD/l3zA/ybBvgBftj0Ao5N8//+lM/8cKBH+12BOAFaR2v4fJMr/VgkFAG8pyP/tbGEAOT4sAHW4DwEt8XQAmAHc/52lvAD6D4MBPCx9/0Hc+/9LMrgANVqA/+dQwv+IgX8BFRK7/y06of9HkyIArvkL/iONHQDvRLH/c246AO6+sQFX9ab/vjH3/5JTuP+tDif/ktdoAI7feACVyJv/1M+RARC12QCtIFf//yO1AHffoQHI317/Rga6/8BDVf8yqZgAkBp7/zjzs/4URIgAJ4y8/v3QBf/Ic4cBK6zl/5xouwCX+6cANIcXAJeZSACTxWv+lJ4F/+6PzgB+mYn/WJjF/gdEpwD8n6X/7042/xg/N/8m3l4A7bcM/87M0gATJ/b+HkrnAIdsHQGzcwAAdXZ0AYQG/P+RgaEBaUONAFIl4v/u4uT/zNaB/qJ7ZP+5eeoALWznAEIIOP+EiIAArOBC/q+dvADm3+L+8ttFALgOdwFSojgAcnsUAKJnVf8x72P+nIfXAG//p/4nxNYAkCZPAfmofQCbYZz/FzTb/5YWkAAslaX/KH+3AMRN6f92gdL/qofm/9Z3xgDp8CMA/TQH/3VmMP8VzJr/s4ix/xcCAwGVgln//BGfAUY8GgCQaxEAtL48/zi2O/9uRzb/xhKB/5XgV//fFZj/iha2//qczQDsLdD/T5TyAWVG0QBnTq4AZZCs/5iI7QG/wogAcVB9AZgEjQCbljX/xHT1AO9ySf4TUhH/fH3q/yg0vwAq0p7/m4SlALIFKgFAXCj/JFVN/7LkdgCJQmD+c+JCAG7wRf6Xb1AAp67s/+Nsa/+88kH/t1H/ADnOtf8vIrX/1fCeAUdLXwCcKBj/ZtJRAKvH5P+aIikA469LABXvwwCK5V8BTMAxAHV7VwHj4YIAfT4//wLGqwD+JA3+kbrOAJT/9P8jAKYAHpbbAVzk1ABcxjz+PoXI/8kpOwB97m3/tKPuAYx6UgAJFlj/xZ0v/5leOQBYHrYAVKFVALKSfACmpgf/FdDfAJy28gCbebkAU5yu/poQdv+6U+gB3zp5/x0XWAAjfX//qgWV/qQMgv+bxB0AoWCIAAcjHQGiJfsAAy7y/wDZvAA5ruIBzukCADm7iP57vQn/yXV//7okzADnGdgAUE5pABOGgf+Uy0QAjVF9/vilyP/WkIcAlzem/ybrWwAVLpoA3/6W/yOZtP99sB0BK2Ie/9h65v/poAwAObkM/vBxB/8FCRD+GltsAG3GywAIkygAgYbk/3y6KP9yYoT+poQXAGNFLAAJ8u7/uDU7AISBZv80IPP+k9/I/3tTs/6HkMn/jSU4AZc84/9aSZwBy6y7AFCXL/9eief/JL87/+HRtf9K19X+Bnaz/5k2wQEyAOcAaJ1IAYzjmv+24hD+YOFc/3MUqv4G+k4A+Eut/zVZBv8AtHYASK0BAEAIzgGuhd8AuT6F/9YLYgDFH9AAq6f0/xbntQGW2rkA96lhAaWL9/8veJUBZ/gzADxFHP4Zs8QAfAfa/jprUQC46Zz//EokAHa8QwCNXzX/3l6l/i49NQDOO3P/L+z6/0oFIAGBmu7/aiDiAHm7Pf8DpvH+Q6qs/x3Ysv8XyfwA/W7zAMh9OQBtwGD/NHPuACZ58//JOCEAwnaCAEtgGf+qHub+Jz/9ACQt+v/7Ae8AoNRcAS3R7QDzIVf+7VTJ/9QSnf7UY3//2WIQ/ous7wCoyYL/j8Gp/+6XwQHXaCkA7z2l/gID8gAWy7H+scwWAJWB1f4fCyn/AJ95/qAZcv+iUMgAnZcLAJqGTgHYNvwAMGeFAGncxQD9qE3+NbMXABh58AH/LmD/azyH/mLN+f8/+Xf/eDvT/3K0N/5bVe0AldRNAThJMQBWxpYAXdGgAEXNtv/0WisAFCSwAHp03QAzpycB5wE//w3FhgAD0SL/hzvKAKdkTgAv30wAuTw+ALKmewGEDKH/Pa4rAMNFkAB/L78BIixOADnqNAH/Fij/9l6SAFPkgAA8TuD/AGDS/5mv7ACfFUkAtHPE/oPhagD/p4YAnwhw/3hEwv+wxMb/djCo/12pAQBwyGYBShj+ABONBP6OPj8Ag7O7/02cm/93VqQAqtCS/9CFmv+Umzr/onjo/vzVmwDxDSoAXjKDALOqcACMU5f/N3dUAYwj7/+ZLUMB7K8nADaXZ/+eKkH/xO+H/lY1ywCVYS/+2CMR/0YDRgFnJFr/KBqtALgwDQCj29n/UQYB/92qbP7p0F0AZMn5/lYkI//Rmh4B48n7/wK9p/5kOQMADYApAMVkSwCWzOv/ka47AHj4lf9VN+EActI1/sfMdwAO90oBP/uBAENolwGHglAAT1k3/3Xmnf8ZYI8A1ZEFAEXxeAGV81//cioUAINIAgCaNRT/ST5tAMRmmAApDMz/eiYLAfoKkQDPfZQA9vTe/ykgVQFw1X4AovlWAUfGf/9RCRUBYicE/8xHLQFLb4kA6jvnACAwX//MH3IBHcS1/zPxp/5dbY4AaJAtAOsMtf80cKQATP7K/64OogA965P/K0C5/ul92QDzWKf+SjEIAJzMQgB81nsAJt12AZJw7AByYrEAl1nHAFfFcAC5laEALGClAPizFP+829j+KD4NAPOOjQDl487/rMoj/3Ww4f9SbiYBKvUO/xRTYQAxqwoA8nd4ABnoPQDU8JP/BHM4/5ER7/7KEfv/+RL1/2N17wC4BLP/9u0z/yXvif+mcKb/Ubwh/7n6jv82u60A0HDJAPYr5AFouFj/1DTE/zN1bP/+dZsALlsP/1cOkP9X48wAUxpTAZ9M4wCfG9UBGJdsAHWQs/6J0VIAJp8KAHOFyQDftpwBbsRd/zk86QAFp2n/msWkAGAiuv+ThSUB3GO+AAGnVP8UkasAwsX7/l9Ohf/8+PP/4V2D/7uGxP/YmaoAFHae/owBdgBWng8BLdMp/5MBZP5xdEz/039sAWcPMADBEGYBRTNf/2uAnQCJq+kAWnyQAWqhtgCvTOwByI2s/6M6aADptDT/8P0O/6Jx/v8m74r+NC6mAPFlIf6DupwAb9A+/3xeoP8frP4AcK44/7xjG/9DivsAfTqAAZyYrv+yDPf//FSeAFLFDv6syFP/JScuAWrPpwAYvSIAg7KQAM7VBACh4tIASDNp/2Etu/9OuN//sB37AE+gVv90JbIAUk3VAVJUjf/iZdQBr1jH//Ve9wGsdm3/prm+AIO1eABX/l3/hvBJ/yD1j/+Lomf/s2IS/tnMcACT33j/NQrzAKaMlgB9UMj/Dm3b/1vaAf/8/C/+bZx0/3MxfwHMV9P/lMrZ/xpV+f8O9YYBTFmp//It5gA7Yqz/ckmE/k6bMf+eflQAMa8r/xC2VP+dZyMAaMFt/0PdmgDJrAH+CKJYAKUBHf99m+X/HprcAWfvXADcAW3/ysYBAF4CjgEkNiwA6+Ke/6r71v+5TQkAYUryANujlf/wI3b/33JY/sDHAwBqJRj/yaF2/2FZYwHgOmf/ZceT/t48YwDqGTsBNIcbAGYDW/6o2OsA5eiIAGg8gQAuqO4AJ79DAEujLwCPYWL/ONioAajp/P8jbxb/XFQrABrIVwFb/ZgAyjhGAI4ITQBQCq8B/MdMABZuUv+BAcIAC4A9AVcOkf/93r4BD0iuAFWjVv46Yyz/LRi8/hrNDwAT5dL++EPDAGNHuACaxyX/l/N5/yYzS//JVYL+LEH6ADmT8/6SKzv/WRw1ACFUGP+zMxL+vUZTAAucswFihncAnm9vAHeaSf/IP4z+LQ0N/5rAAv5RSCoALqC5/ixwBgCS15UBGrBoAEQcVwHsMpn/s4D6/s7Bv/+mXIn+NSjvANIBzP6orSMAjfMtASQybf8P8sL/4596/7Cvyv5GOUgAKN84ANCiOv+3Yl0AD28MAB4ITP+Ef/b/LfJnAEW1D/8K0R4AA7N5APHo2gF7x1j/AtLKAbyCUf9eZdABZyQtAEzBGAFfGvH/paK7ACRyjADKQgX/JTiTAJgL8wF/Vej/+ofUAbmxcQBa3Ev/RfiSADJvMgBcFlAA9CRz/qNkUv8ZwQYBfz0kAP1DHv5B7Kr/oRHX/j+vjAA3fwQAT3DpAG2gKACPUwf/QRru/9mpjP9OXr3/AJO+/5NHuv5qTX//6Z3pAYdX7f/QDewBm20k/7Rk2gC0oxIAvm4JARE/e/+ziLT/pXt7/5C8Uf5H8Gz/GXAL/+PaM/+nMur/ck9s/x8Tc/+38GMA41eP/0jZ+P9mqV8BgZWVAO6FDAHjzCMA0HMaAWYI6gBwWI8BkPkOAPCerP5kcHcAwo2Z/ig4U/95sC4AKjVM/56/mgBb0VwArQ0QAQVI4v/M/pUAULjPAGQJev52Zav//MsA/qDPNgA4SPkBOIwN/wpAa/5bZTT/4bX4AYv/hADmkREA6TgXAHcB8f/VqZf/Y2MJ/rkPv/+tZ20Brg37/7JYB/4bO0T/CiEC//hhOwAaHpIBsJMKAF95zwG8WBgAuV7+/nM3yQAYMkYAeDUGAI5CkgDk4vn/aMDeAa1E2wCiuCT/j2aJ/50LFwB9LWIA613h/jhwoP9GdPMBmfk3/4EnEQHxUPQAV0UVAV7kSf9OQkH/wuPnAD2SV/+tmxf/cHTb/tgmC/+DuoUAXtS7AGQvWwDM/q//3hLX/q1EbP/j5E//Jt3VAKPjlv4fvhIAoLMLAQpaXv/crlgAo9Pl/8eINACCX93/jLzn/otxgP91q+z+MdwU/zsUq//kbbwAFOEg/sMQrgDj/ogBhydpAJZNzv/S7uIAN9SE/u85fACqwl3/+RD3/xiXPv8KlwoAT4uy/3jyygAa29UAPn0j/5ACbP/mIVP/US3YAeA+EQDW2X0AYpmZ/7Owav6DXYr/bT4k/7J5IP94/EYA3PglAMxYZwGA3Pv/7OMHAWoxxv88OGsAY3LuANzMXgFJuwEAWZoiAE7Zpf8Ow/n/Ceb9/82H9QAa/Af/VM0bAYYCcAAlniAA51vt/7+qzP+YB94AbcAxAMGmkv/oE7X/aY40/2cQGwH9yKUAw9kE/zS9kP97m6D+V4I2/054Pf8OOCkAGSl9/1eo9QDWpUYA1KkG/9vTwv5IXaT/xSFn/yuOjQCD4awA9GkcAERE4QCIVA3/gjko/otNOABUljUANl+dAJANsf5fc7oAdRd2//Sm8f8LuocAsmrL/2HaXQAr/S0ApJgEAIt27wBgARj+65nT/6huFP8y77AAcinoAMH6NQD+oG/+iHop/2FsQwDXmBf/jNHUACq9owDKKjL/amq9/75E2f/pOnUA5dzzAcUDBAAleDb+BJyG/yQ9q/6liGT/1OgOAFquCgDYxkH/DANAAHRxc//4ZwgA530S/6AcxQAeuCMB30n5/3sULv6HOCX/rQ3lAXehIv/1PUkAzX1wAIlohgDZ9h7/7Y6PAEGfZv9spL4A23Wt/yIleP7IRVAAH3za/koboP+6msf/R8f8AGhRnwERyCcA0z3AARruWwCU2QwAO1vV/wtRt/+B5nr/csuRAXe0Qv9IirQA4JVqAHdSaP/QjCsAYgm2/81lhv8SZSYAX8Wm/8vxkwA+0JH/hfb7AAKpDgAN97gAjgf+ACTIF/9Yzd8AW4E0/xW6HgCP5NIB9+r4/+ZFH/6wuof/7s00AYtPKwARsNn+IPNDAPJv6QAsIwn/43JRAQRHDP8mab8AB3Uy/1FPEAA/REH/nSRu/03xA//iLfsBjhnOAHh70QEc/u7/BYB+/1ve1/+iD78AVvBJAIe5Uf4s8aMA1NvS/3CimwDPZXYAqEg4/8QFNABIrPL/fhad/5JgO/+ieZj+jBBfAMP+yP5SlqIAdyuR/sysTv+m4J8AaBPt//V+0P/iO9UAddnFAJhI7QDcHxf+Dlrn/7zUQAE8Zfb/VRhWAAGxbQCSUyABS7bAAHfx4AC57Rv/uGVSAeslTf/9hhMA6PZ6ADxqswDDCwwAbULrAX1xOwA9KKQAr2jwAAIvu/8yDI0Awou1/4f6aABhXN7/2ZXJ/8vxdv9Pl0MAeo7a/5X17wCKKsj+UCVh/3xwp/8kilf/gh2T//FXTv/MYRMBsdEW//fjf/5jd1P/1BnGARCzswCRTaz+WZkO/9q9pwBr6Tv/IyHz/ixwcP+hf08BzK8KACgViv5odOQAx1+J/4W+qP+SpeoBt2MnALfcNv7/3oUAott5/j/vBgDhZjb/+xL2AAQigQGHJIMAzjI7AQ9htwCr2If/ZZgr/5b7WwAmkV8AIswm/rKMU/8ZgfP/TJAlAGokGv52kKz/RLrl/2uh1f8uo0T/lar9ALsRDwDaoKX/qyP2AWANEwCly3UA1mvA//R7sQFkA2gAsvJh//tMgv/TTSoB+k9G/z/0UAFpZfYAPYg6Ae5b1QAOO2L/p1RNABGELv45r8X/uT64AExAzwCsr9D+r0olAIob0/6UfcIACllRAKjLZf8r1dEB6/U2AB4j4v8JfkYA4n1e/px1FP85+HAB5jBA/6RcpgHg1ub/JHiPADcIK//7AfUBamKlAEprav41BDb/WrKWAQN4e//0BVkBcvo9//6ZUgFNDxEAOe5aAV/f5gDsNC/+Z5Sk/3nPJAESELn/SxRKALsLZQAuMIH/Fu/S/03sgf9vTcz/PUhh/8fZ+/8q18wAhZHJ/znmkgHrZMYAkkkj/mzGFP+2T9L/UmeIAPZssAAiETz/E0py/qiqTv+d7xT/lSmoADp5HABPs4b/53mH/67RYv/zer4Aq6bNANR0MAAdbEL/ot62AQ53FQDVJ/n//t/k/7elxgCFvjAAfNBt/3evVf8J0XkBMKu9/8NHhgGI2zP/tluN/jGfSAAjdvX/cLrj/zuJHwCJLKMAcmc8/gjVlgCiCnH/wmhIANyDdP+yT1wAy/rV/l3Bvf+C/yL+1LyXAIgRFP8UZVP/1M6mAOXuSf+XSgP/qFfXAJu8hf+mgUkA8E+F/7LTUf/LSKP+wailAA6kx/4e/8wAQUhbAaZKZv/IKgD/wnHj/0IX0ADl2GT/GO8aAArpPv97CrIBGiSu/3fbxwEto74AEKgqAKY5xv8cGhoAfqXnAPtsZP895Xn/OnaKAEzPEQANInD+WRCoACXQaf8jydf/KGpl/gbvcgAoZ+L+9n9u/z+nOgCE8I4ABZ5Y/4FJnv9eWZIA5jaSAAgtrQBPqQEAc7r3AFRAgwBD4P3/z71AAJocUQEtuDb/V9Tg/wBgSf+BIesBNEJQ//uum/8EsyUA6qRd/l2v/QDGRVf/4GouAGMd0gA+vHL/LOoIAKmv9/8XbYn/5bYnAMClXv71ZdkAv1hgAMReY/9q7gv+NX7zAF4BZf8ukwIAyXx8/40M2gANpp0BMPvt/5v6fP9qlJL/tg3KABw9pwDZmAj+3IIt/8jm/wE3QVf/Xb9h/nL7DgAgaVwBGs+NABjPDf4VMjD/upR0/9Mr4QAlIqL+pNIq/0QXYP+21gj/9XWJ/0LDMgBLDFP+UIykAAmlJAHkbuMA8RFaARk01AAG3wz/i/M5AAxxSwH2t7//1b9F/+YPjgABw8T/iqsv/0A/agEQqdb/z644AVhJhf+2hYwAsQ4Z/5O4Nf8K46H/eNj0/0lN6QCd7osBO0HpAEb72AEpuJn/IMtwAJKT/QBXZW0BLFKF//SWNf9emOj/O10n/1iT3P9OUQ0BIC/8/6ATcv9dayf/dhDTAbl30f/j23/+WGns/6JuF/8kpm7/W+zd/0LqdABvE/T+CukaACC3Bv4Cv/IA2pw1/ik8Rv+o7G8Aebl+/+6Oz/83fjQA3IHQ/lDMpP9DF5D+2ihs/3/KpADLIQP/Ap4AACVgvP/AMUoAbQQAAG+nCv5b2of/y0Kt/5bC4gDJ/Qb/rmZ5AM2/bgA1wgQAUSgt/iNmj/8MbMb/EBvo//xHugGwbnIAjgN1AXFNjgATnMUBXC/8ADXoFgE2EusALiO9/+zUgQACYND+yO7H/zuvpP+SK+cAwtk0/wPfDACKNrL+VevPAOjPIgAxNDL/pnFZ/wot2P8+rRwAb6X2AHZzW/+AVDwAp5DLAFcN8wAWHuQBsXGS/4Gq5v78mYH/keErAEbnBf96aX7+VvaU/24lmv7RA1sARJE+AOQQpf833fn+stJbAFOS4v5FkroAXdJo/hAZrQDnuiYAvXqM//sNcP9pbl0A+0iqAMAX3/8YA8oB4V3kAJmTx/5tqhYA+GX2/7J8DP+y/mb+NwRBAH3WtAC3YJMALXUX/oS/+QCPsMv+iLc2/5LqsQCSZVb/LHuPASHRmADAWin+Uw99/9WsUgDXqZAAEA0iACDRZP9UEvkBxRHs/9m65gAxoLD/b3Zh/+1o6wBPO1z+RfkL/yOsSgETdkQA3nyl/7RCI/9WrvYAK0pv/36QVv/k6lsA8tUY/kUs6//ctCMACPgH/2YvXP/wzWb/cearAR+5yf/C9kb/ehG7AIZGx/+VA5b/dT9nAEFoe//UNhMBBo1YAFOG8/+INWcAqRu0ALExGABvNqcAwz3X/x8BbAE8KkYAuQOi/8KVKP/2fyb+vncm/z13CAFgodv/KsvdAbHypP/1nwoAdMQAAAVdzf6Af7MAfe32/5Wi2f9XJRT+jO7AAAkJwQBhAeIAHSYKAACIP//lSNL+JoZc/07a0AFoJFT/DAXB//KvPf+/qS4Bs5OT/3G+i/59rB8AA0v8/tckDwDBGxgB/0WV/26BdgDLXfkAiolA/iZGBgCZdN4AoUp7AMFjT/92O17/PQwrAZKxnQAuk78AEP8mAAszHwE8OmL/b8JNAZpb9ACMKJABrQr7AMvRMv5sgk4A5LRaAK4H+gAfrjwAKaseAHRjUv92wYv/u63G/tpvOAC5e9gA+Z40ADS0Xf/JCVv/OC2m/oSby/866G4ANNNZ//0AogEJV7cAkYgsAV569QBVvKsBk1zGAAAIaAAeX64A3eY0Aff36/+JrjX/IxXM/0fj1gHoUsIACzDj/6pJuP/G+/z+LHAiAINlg/9IqLsAhId9/4poYf/uuKj/82hU/4fY4v+LkO0AvImWAVA4jP9Wqaf/wk4Z/9wRtP8RDcEAdYnU/43glwAx9K8AwWOv/xNjmgH/QT7/nNI3//L0A//6DpUAnljZ/53Phv776BwALpz7/6s4uP/vM+oAjoqD/xn+8wEKycIAP2FLANLvogDAyB8BddbzABhH3v42KOj/TLdv/pAOV//WT4j/2MTUAIQbjP6DBf0AfGwT/xzXSwBM3jf+6bY/AESrv/40b97/CmlN/1Cq6wCPGFj/Led5AJSB4AE99lQA/S7b/+9MIQAxlBL+5iVFAEOGFv6Om14AH53T/tUqHv8E5Pf+/LAN/ycAH/7x9P//qi0K/v3e+QDecoQA/y8G/7SjswFUXpf/WdFS/uU0qf/V7AAB1jjk/4d3l/9wycEAU6A1/gaXQgASohEA6WFbAIMFTgG1eDX/dV8//+11uQC/foj/kHfpALc5YQEvybv/p6V3AS1kfgAVYgb+kZZf/3g2mADRYmgAj28e/riU+QDr2C4A+MqU/zlfFgDy4aMA6ffo/0erE/9n9DH/VGdd/0R59AFS4A0AKU8r//nOp//XNBX+wCAW//dvPABlSib/FltU/h0cDf/G59f+9JrIAN+J7QDThA4AX0DO/xE+9//pg3kBXRdNAM3MNP5RvYgAtNuKAY8SXgDMK4z+vK/bAG9ij/+XP6L/0zJH/hOSNQCSLVP+slLu/xCFVP/ixl3/yWEU/3h2I/9yMuf/ouWc/9MaDAByJ3P/ztSGAMXZoP90gV7+x9fb/0vf+QH9dLX/6Ndo/+SC9v+5dVYADgUIAO8dPQHtV4X/fZKJ/syo3wAuqPUAmmkWANzUof9rRRj/idq1//FUxv+CetP/jQiZ/76xdgBgWbIA/xAw/npgaf91Nuj/In5p/8xDpgDoNIr/05MMABk2BwAsD9f+M+wtAL5EgQFqk+EAHF0t/uyND/8RPaEA3HPAAOyRGP5vqKkA4Do//3+kvABS6ksB4J6GANFEbgHZptkARuGmAbvBj/8QB1j/Cs2MAHXAnAEROCYAG3xsAavXN/9f/dQAm4eo//aymf6aREoA6D1g/mmEOwAhTMcBvbCC/wloGf5Lxmb/6QFwAGzcFP9y5kYAjMKF/zmepP6SBlD/qcRhAVW3ggBGnt4BO+3q/2AZGv/or2H/C3n4/lgjwgDbtPz+SgjjAMPjSQG4bqH/MemkAYA1LwBSDnn/wb46ADCudf+EFyAAKAqGARYzGf/wC7D/bjmSAHWP7wGdZXb/NlRMAM24Ev8vBEj/TnBV/8EyQgFdEDT/CGmGAAxtSP86nPsAkCPMACygdf4ya8IAAUSl/29uogCeUyj+TNbqADrYzf+rYJP/KONyAbDj8QBG+bcBiFSL/zx69/6PCXX/sa6J/kn3jwDsuX7/Phn3/y1AOP+h9AYAIjk4AWnKUwCAk9AABmcK/0qKQf9hUGT/1q4h/zKGSv9ul4L+b1SsAFTHS/74O3D/CNiyAQm3XwDuGwj+qs3cAMPlhwBiTO3/4lsaAVLbJ//hvscB2ch5/1GzCP+MQc4Ass9X/vr8Lv9oWW4B/b2e/5DWnv+g9Tb/NbdcARXIwv+SIXEB0QH/AOtqK/+nNOgAneXdADMeGQD63RsBQZNX/097xABBxN//TCwRAVXxRADKt/n/QdTU/wkhmgFHO1AAr8I7/41ICQBkoPQA5tA4ADsZS/5QwsIAEgPI/qCfcwCEj/cBb105/zrtCwGG3of/eqNsAXsrvv/7vc7+ULZI/9D24AERPAkAoc8mAI1tWwDYD9P/iE5uAGKjaP8VUHn/rbK3AX+PBABoPFL+1hAN/2DuIQGelOb/f4E+/zP/0v8+jez+nTfg/3In9ADAvPr/5Ew1AGJUUf+tyz3+kzI3/8zrvwA0xfQAWCvT/hu/dwC855oAQlGhAFzBoAH643gAezfiALgRSACFqAr+Foec/ykZZ/8wyjoAupVR/7yG7wDrtb3+2Yu8/0owUgAu2uUAvf37ADLlDP/Tjb8BgPQZ/6nnev5WL73/hLcX/yWylv8zif0AyE4fABZpMgCCPAAAhKNb/hfnuwDAT+8AnWak/8BSFAEYtWf/8AnqAAF7pP+F6QD/yvLyADy69QDxEMf/4HSe/r99W//gVs8AeSXn/+MJxv8Pme//eejZ/ktwUgBfDDn+M9Zp/5TcYQHHYiQAnNEM/grUNADZtDf+1Kro/9gUVP+d+ocAnWN//gHOKQCVJEYBNsTJ/1d0AP7rq5YAG6PqAMqHtADQXwD+e5xdALc+SwCJ67YAzOH//9aL0v8Ccwj/HQxvADScAQD9Ffv/JaUf/gyC0wBqEjX+KmOaAA7ZPf7YC1z/yMVw/pMmxwAk/Hj+a6lNAAF7n//PS2YAo6/EACwB8AB4urD+DWJM/+188f/okrz/yGDgAMwfKQDQyA0AFeFg/6+cxAD30H4APrj0/gKrUQBVc54ANkAt/xOKcgCHR80A4y+TAdrnQgD90RwA9A+t/wYPdv4QltD/uRYy/1Zwz/9LcdcBP5Ir/wThE/7jFz7/Dv/W/i0Izf9XxZf+0lLX//X49/+A+EYA4fdXAFp4RgDV9VwADYXiAC+1BQFco2n/Bh6F/uiyPf/mlRj/EjGeAORkPf508/v/TUtcAVHbk/9Mo/7+jdX2AOglmP5hLGQAySUyAdT0OQCuq7f/+UpwAKacHgDe3WH/811J/vtlZP/Y2V3//oq7/46+NP87y7H/yF40AHNynv+lmGgBfmPi/3ad9AFryBAAwVrlAHkGWACcIF3+ffHT/w7tnf+lmhX/uOAW//oYmP9xTR8A96sX/+2xzP80iZH/wrZyAODqlQAKb2cByYEEAO6OTgA0Bij/btWl/jzP/QA+10UAYGEA/zEtygB4eRb/64swAcYtIv+2MhsBg9Jb/y42gACve2n/xo1O/kP07//1Nmf+Tiby/wJc+f77rlf/iz+QABhsG/8iZhIBIhaYAELldv4yj2MAkKmVAXYemACyCHkBCJ8SAFpl5v+BHXcARCQLAei3NwAX/2D/oSnB/z+L3gAPs/MA/2QP/1I1hwCJOZUBY/Cq/xbm5P4xtFL/PVIrAG712QDHfT0ALv00AI3F2wDTn8EAN3lp/rcUgQCpd6r/y7KL/4cotv+sDcr/QbKUAAjPKwB6NX8BSqEwAOPWgP5WC/P/ZFYHAfVEhv89KxUBmFRe/748+v7vduj/1oglAXFMa/9daGQBkM4X/26WmgHkZ7kA2jEy/odNi/+5AU4AAKGU/2Ed6f/PlJX/oKgAAFuAq/8GHBP+C2/3ACe7lv+K6JUAdT5E/z/YvP/r6iD+HTmg/xkM8QGpPL8AIION/+2fe/9exV7+dP4D/1yzYf55YVz/qnAOABWV+AD44wMAUGBtAEvASgEMWuL/oWpEAdByf/9yKv/+ShpK//ezlv55jDwAk0bI/9Yoof+hvMn/jUGH//Jz/AA+L8oAtJX//oI37QClEbr/CqnCAJxt2v9wjHv/aIDf/rGObP95Jdv/gE0S/29sFwFbwEsArvUW/wTsPv8rQJkB463+AO16hAF/Wbr/jlKA/vxUrgBas7EB89ZX/2c8ov/Qgg7/C4KLAM6B2/9e2Z3/7+bm/3Rzn/6ka18AM9oCAdh9xv+MyoD+C19E/zcJXf6umQb/zKxgAEWgbgDVJjH+G1DVAHZ9cgBGRkP/D45J/4N6uf/zFDL+gu0oANKfjAHFl0H/VJlCAMN+WgAQ7uwBdrtm/wMYhf+7ReYAOMVcAdVFXv9QiuUBzgfmAN5v5gFb6Xf/CVkHAQJiAQCUSoX/M/a0/+SxcAE6vWz/wsvt/hXRwwCTCiMBVp3iAB+ji/44B0v/Plp0ALU8qQCKotT+UacfAM1acP8hcOMAU5d1AbHgSf+ukNn/5sxP/xZN6P9yTuoA4Dl+/gkxjQDyk6UBaLaM/6eEDAF7RH8A4VcnAftsCADGwY8BeYfP/6wWRgAyRHT/Za8o//hp6QCmywcAbsXaANf+Gv6o4v0AH49gAAtnKQC3gcv+ZPdK/9V+hADSkywAx+obAZQvtQCbW54BNmmv/wJOkf5mml8AgM9//jR87P+CVEcA3fPTAJiqzwDeascAt1Re/lzIOP+KtnMBjmCSAIWI5ABhEpYAN/tCAIxmBADKZ5cAHhP4/zO4zwDKxlkAN8Xh/qlf+f9CQUT/vOp+AKbfZAFw7/QAkBfCADontgD0LBj+r0Sz/5h2mgGwooIA2XLM/q1+Tv8h3h7/JAJb/wKP8wAJ69cAA6uXARjX9f+oL6T+8ZLPAEWBtABE83EAkDVI/vstDgAXbqgARERP/25GX/6uW5D/Ic5f/4kpB/8Tu5n+I/9w/wmRuf4ynSUAC3AxAWYIvv/q86kBPFUXAEonvQB0Me8ArdXSAC6hbP+fliUAxHi5/yJiBv+Zwz7/YeZH/2Y9TAAa1Oz/pGEQAMY7kgCjF8QAOBg9ALViwQD7k+X/Yr0Y/y42zv/qUvYAt2cmAW0+zAAK8OAAkhZ1/46aeABF1CMA0GN2AXn/A/9IBsIAdRHF/30PFwCaT5kA1l7F/7k3k/8+/k7+f1KZAG5mP/9sUqH/abvUAVCKJwA8/13/SAy6ANL7HwG+p5D/5CwT/oBD6ADW+Wv+iJFW/4QusAC9u+P/0BaMANnTdAAyUbr+i/ofAB5AxgGHm2QAoM4X/rui0/8QvD8A/tAxAFVUvwDxwPL/mX6RAeqiov/mYdgBQId+AL6U3wE0ACv/HCe9AUCI7gCvxLkAYuLV/3+f9AHirzwAoOmOAbTzz/9FmFkBH2UVAJAZpP6Lv9EAWxl5ACCTBQAnunv/P3Pm/12nxv+P1dz/s5wT/xlCegDWoNn/Ai0+/2pPkv4ziWP/V2Tn/6+R6P9luAH/rgl9AFIloQEkco3/MN6O//W6mgAFrt3+P3Kb/4c3oAFQH4cAfvqzAezaLQAUHJEBEJNJAPm9hAERvcD/347G/0gUD//6Ne3+DwsSABvTcf7Vazj/rpOS/2B+MAAXwW0BJaJeAMed+f4YgLv/zTGy/l2kKv8rd+sBWLft/9rSAf9r/ioA5gpj/6IA4gDb7VsAgbLLANAyX/7O0F//979Z/m7qT/+lPfMAFHpw//b2uf5nBHsA6WPmAdtb/P/H3hb/s/Xp/9Px6gBv+sD/VVSIAGU6Mv+DrZz+dy0z/3bpEP7yWtYAXp/bAQMD6v9iTFz+UDbmAAXk5/41GN//cTh2ARSEAf+r0uwAOPGe/7pzE/8I5a4AMCwAAXJypv8GSeL/zVn0AInjSwH4rTgASnj2/ncDC/9ReMb/iHpi/5Lx3QFtwk7/3/FGAdbIqf9hvi//L2eu/2NcSP526bT/wSPp/hrlIP/e/MYAzCtH/8dUrACGZr4Ab+5h/uYo5gDjzUD+yAzhAKYZ3gBxRTP/j58YAKe4SgAd4HT+ntDpAMF0fv/UC4X/FjqMAcwkM//oHisA60a1/0A4kv6pElT/4gEN/8gysP801fX+qNFhAL9HNwAiTpwA6JA6AblKvQC6jpX+QEV//6HLk/+wl78AiOfL/qO2iQChfvv+6SBCAETPQgAeHCUAXXJgAf5c9/8sq0UAyncL/7x2MgH/U4j/R1IaAEbjAgAg63kBtSmaAEeG5f7K/yQAKZgFAJo/Sf8itnwAed2W/xrM1QEprFcAWp2S/22CFABHa8j/82a9AAHDkf4uWHUACM7jAL9u/f9tgBT+hlUz/4mxcAHYIhb/gxDQ/3mVqgByExcBplAf/3HwegDos/oARG60/tKqdwDfbKT/z0/p/xvl4v7RYlH/T0QHAIO5ZACqHaL/EaJr/zkVCwFkyLX/f0GmAaWGzABop6gAAaRPAJKHOwFGMoD/ZncN/uMGhwCijrP/oGTeABvg2wGeXcP/6o2JABAYff/uzi//YRFi/3RuDP9gc00AW+Po//j+T/9c5Qb+WMaLAM5LgQD6Tc7/jfR7AYpF3AAglwYBg6cW/+1Ep/7HvZYAo6uK/zO8Bv9fHYn+lOKzALVr0P+GH1L/l2Ut/4HK4QDgSJMAMIqX/8NAzv7t2p4Aah2J/v296f9nDxH/wmH/ALItqf7G4ZsAJzB1/4dqcwBhJrUAli9B/1OC5f72JoEAXO+a/ltjfwChbyH/7tny/4O5w//Vv57/KZbaAISpgwBZVPwBq0aA/6P4y/4BMrT/fExVAftvUABjQu//mu22/91+hf5KzGP/QZN3/2M4p/9P+JX/dJvk/+0rDv5FiQv/FvrxAVt6j//N+fMA1Bo8/zC2sAEwF7//y3mY/i1K1f8+WhL+9aPm/7lqdP9TI58ADCEC/1AiPgAQV67/rWVVAMokUf6gRcz/QOG7ADrOXgBWkC8A5Vb1AD+RvgElBScAbfsaAImT6gCieZH/kHTO/8Xouf+3voz/SQz+/4sU8v+qWu//YUK7//W1h/7eiDQA9QUz/ssvTgCYZdgASRd9AP5gIQHr0kn/K9FYAQeBbQB6aOT+qvLLAPLMh//KHOn/QQZ/AJ+QRwBkjF8ATpYNAPtrdgG2On3/ASZs/4290f8Im30BcaNb/3lPvv+G72z/TC/4AKPk7wARbwoAWJVL/9fr7wCnnxj/L5ds/2vRvADp52P+HMqU/64jiv9uGET/AkW1AGtmUgBm7QcAXCTt/92iUwE3ygb/h+qH/xj63gBBXqj+9fjS/6dsyf7/oW8AzQj+AIgNdABksIT/K9d+/7GFgv+eT5QAQ+AlAQzOFf8+Im4B7Wiv/1CEb/+OrkgAVOW0/mmzjABA+A//6YoQAPVDe/7aedT/P1/aAdWFif+PtlL/MBwLAPRyjQHRr0z/nbWW/7rlA/+knW8B572LAHfKvv/aakD/ROs//mAarP+7LwsB1xL7/1FUWQBEOoAAXnEFAVyB0P9hD1P+CRy8AO8JpAA8zZgAwKNi/7gSPADZtosAbTt4/wTA+wCp0vD/Jaxc/pTT9f+zQTQA/Q1zALmuzgFyvJX/7VqtACvHwP9YbHEANCNMAEIZlP/dBAf/l/Fy/77R6ABiMscAl5bV/xJKJAE1KAcAE4dB/xqsRQCu7VUAY18pAAM4EAAnoLH/yGra/rlEVP9buj3+Q4+N/w30pv9jcsYAx26j/8ESugB87/YBbkQWAALrLgHUPGsAaSppAQ7mmAAHBYMAjWia/9UDBgCD5KL/s2QcAed7Vf/ODt8B/WDmACaYlQFiiXoA1s0D/+KYs/8GhYkAnkWM/3Gimv+086z/G71z/48u3P/VhuH/fh1FALwriQHyRgkAWsz//+eqkwAXOBP+OH2d/zCz2v9Ptv3/JtS/ASnrfABglxwAh5S+AM35J/40YIj/1CyI/0PRg//8ghf/24AU/8aBdgBsZQsAsgWSAT4HZP+17F7+HBqkAEwWcP94Zk8AysDlAciw1wApQPT/zrhOAKctPwGgIwD/OwyO/8wJkP/bXuUBehtwAL1pbf9A0Er/+383AQLixgAsTNEAl5hN/9IXLgHJq0X/LNPnAL4l4P/1xD7/qbXe/yLTEQB38cX/5SOYARVFKP+y4qEAlLPBANvC/gEozjP/51z6AUOZqgAVlPEAqkVS/3kS5/9ccgMAuD7mAOHJV/+SYKL/tfLcAK273QHiPqr/OH7ZAXUN4/+zLO8AnY2b/5DdUwDr0dAAKhGlAftRhQB89cn+YdMY/1PWpgCaJAn/+C9/AFrbjP+h2Sb+1JM//0JUlAHPAwEA5oZZAX9Oev/gmwH/UohKALKc0P+6GTH/3gPSAeWWvv9VojT/KVSN/0l7VP5dEZYAdxMcASAW1/8cF8z/jvE0/+Q0fQAdTM8A16f6/q+k5gA3z2kBbbv1/6Es3AEpZYD/pxBeAF3Wa/92SAD+UD3q/3mvfQCLqfsAYSeT/vrEMf+ls27+30a7/xaOfQGas4r/drAqAQqumQCcXGYAqA2h/48QIAD6xbT/y6MsAVcgJAChmRT/e/wPABnjUAA8WI4AERbJAZrNTf8nPy8ACHqNAIAXtv7MJxP/BHAd/xckjP/S6nT+NTI//3mraP+g214AV1IO/ucqBQCli3/+Vk4mAII8Qv7LHi3/LsR6Afk1ov+Ij2f+19JyAOcHoP6pmCr/by32AI6Dh/+DR8z/JOILAAAc8v/hitX/9y7Y/vUDtwBs/EoBzhow/8029v/TxiT/eSMyADTYyv8mi4H+8kmUAEPnjf8qL8wATnQZAQThv/8Gk+QAOlixAHql5f/8U8n/4KdgAbG4nv/yabMB+MbwAIVCywH+JC8ALRhz/3c+/gDE4br+e42sABpVKf/ib7cA1eeXAAQ7B//uipQAQpMh/x/2jf/RjXT/aHAfAFihrABT1+b+L2+XAC0mNAGELcwAioBt/ul1hv/zvq3+8ezwAFJ/7P4o36H/brbh/3uu7wCH8pEBM9GaAJYDc/7ZpPz/N5xFAVRe///oSS0BFBPU/2DFO/5g+yEAJsdJAUCs9/91dDj/5BESAD6KZwH25aT/9HbJ/lYgn/9tIokBVdO6AArBwf56wrEAeu5m/6LaqwBs2aEBnqoiALAvmwG15Av/CJwAABBLXQDOYv8BOpojAAzzuP5DdUL/5uV7AMkqbgCG5LL+umx2/zoTmv9SqT7/co9zAe/EMv+tMMH/kwJU/5aGk/5f6EkAbeM0/r+JCgAozB7+TDRh/6TrfgD+fLwASrYVAXkdI//xHgf+VdrW/wdUlv5RG3X/oJ+Y/kIY3f/jCjwBjYdmANC9lgF1s1wAhBaI/3jHHAAVgU/+tglBANqjqQD2k8b/ayaQAU6vzf/WBfr+L1gd/6QvzP8rNwb/g4bP/nRk1gBgjEsBatyQAMMgHAGsUQX/x7M0/yVUywCqcK4ACwRbAEX0GwF1g1wAIZiv/4yZa//7hyv+V4oE/8bqk/55mFT/zWWbAZ0JGQBIahH+bJkA/73lugDBCLD/rpXRAO6CHQDp1n4BPeJmADmjBAHGbzP/LU9OAXPSCv/aCRn/novG/9NSu/5QhVMAnYHmAfOFhv8oiBAATWtP/7dVXAGxzMoAo0eT/5hFvgCsM7wB+tKs/9PycQFZWRr/QEJv/nSYKgChJxv/NlD+AGrRcwFnfGEA3eZi/x/nBgCywHj+D9nL/3yeTwBwkfcAXPowAaO1wf8lL47+kL2l/y6S8AAGS4AAKZ3I/ld51QABcewABS36AJAMUgAfbOcA4e93/6cHvf+75IT/br0iAF4szAGiNMUATrzx/jkUjQD0ki8BzmQzAH1rlP4bw00AmP1aAQePkP8zJR8AIncm/wfFdgCZvNMAlxR0/vVBNP+0/W4BL7HRAKFjEf923soAfbP8AXs2fv+ROb8AN7p5AArzigDN0+X/fZzx/pScuf/jE7z/fCkg/x8izv4ROVMAzBYl/ypgYgB3ZrgBA74cAG5S2v/IzMD/yZF2AHXMkgCEIGIBwMJ5AGqh+AHtWHwAF9QaAM2rWv/4MNgBjSXm/3zLAP6eqB7/1vgVAHC7B/9Lhe//SuPz//qTRgDWeKIApwmz/xaeEgDaTdEBYW1R//Qhs/85NDn/QazS//lH0f+Oqe4Anr2Z/67+Z/5iIQ4AjUzm/3GLNP8POtQAqNfJ//jM1wHfRKD/OZq3/i/neQBqpokAUYiKAKUrMwDniz0AOV87/nZiGf+XP+wBXr76/6m5cgEF+jr/S2lhAdffhgBxY6MBgD5wAGNqkwCjwwoAIc22ANYOrv+BJuf/NbbfAGIqn//3DSgAvNKxAQYVAP//PZT+iS2B/1kadP5+JnIA+zLy/nmGgP/M+af+pevXAMqx8wCFjT4A8IK+AW6v/wAAFJIBJdJ5/wcnggCO+lT/jcjPAAlfaP8L9K4Ahuh+AKcBe/4QwZX/6OnvAdVGcP/8dKD+8t7c/81V4wAHuToAdvc/AXRNsf8+9cj+PxIl/2s16P4y3dMAotsH/gJeKwC2Prb+oE7I/4eMqgDruOQArzWK/lA6Tf+YyQIBP8QiAAUeuACrsJoAeTvOACZjJwCsUE3+AIaXALoh8f5e/d//LHL8AGx+Of/JKA3/J+Ub/yfvFwGXeTP/mZb4AArqrv929gT+yPUmAEWh8gEQspYAcTiCAKsfaQAaWGz/MSpqAPupQgBFXZUAFDn+AKQZbwBavFr/zATFACjVMgHUYIT/WIq0/uSSfP+49vcAQXVW//1m0v7+eSQAiXMD/zwY2ACGEh0AO+JhALCORwAH0aEAvVQz/pv6SADVVOv/Ld7gAO6Uj/+qKjX/Tqd1ALoAKP99sWf/ReFCAOMHWAFLrAYAqS3jARAkRv8yAgn/i8EWAI+35/7aRTIA7DihAdWDKgCKkSz+iOUo/zE/I/89kfX/ZcAC/uincQCYaCYBebnaAHmL0/538CMAQb3Z/ruzov+gu+YAPvgO/zxOYQD/96P/4Ttb/2tHOv/xLyEBMnXsANuxP/70WrMAI8LX/71DMv8Xh4EAaL0l/7k5wgAjPuf/3PhsAAznsgCPUFsBg11l/5AnAgH/+rIABRHs/osgLgDMvCb+9XM0/79xSf6/bEX/FkX1ARfLsgCqY6oAQfhvACVsmf9AJUUAAFg+/lmUkP+/ROAB8Sc1ACnL7f+RfsL/3Sr9/xljlwBh/d8BSnMx/wavSP87sMsAfLf5AeTkYwCBDM/+qMDD/8ywEP6Y6qsATSVV/yF4h/+OwuMBH9Y6ANW7ff/oLjz/vnQq/peyE/8zPu3+zOzBAMLoPACsIp3/vRC4/mcDX/+N6ST+KRkL/xXDpgB29S0AQ9WV/58MEv+7pOMBoBkFAAxOwwErxeEAMI4p/sSbPP/fxxIBkYicAPx1qf6R4u4A7xdrAG21vP/mcDH+Sart/+e34/9Q3BQAwmt/AX/NZQAuNMUB0qsk/1gDWv84l40AYLv//ypOyAD+RkYB9H2oAMxEigF810YAZkLI/hE05AB13I/+y/h7ADgSrv+6l6T/M+jQAaDkK//5HRkBRL4/AA0AAAAA/wAAAAD1AAAAAAAA+wAAAAAAAP0AAAAA8wAAAAAHAAAAAAADAAAAAPMAAAAABQAAAAAAAAAACwAAAAAACwAAAADzAAAAAAAA/QAAAAAA/wAAAAADAAAAAPUAAAAAAAAADwAAAAAA/wAAAAD/AAAAAAcAAAAABQ=="),B(Pt,33660,"AQ=="),B(Pt,33696,"AQ=="),B(Pt,33728,"4Ot6fDtBuK4WVuP68Z/EatoJjeucMrH9hmIFFl9JuABfnJW8o1CMJLHQsVWcg+9bBERcxFgcjobYIk7d0J8RV+z///////////////////////////////////////9/7f///////////////////////////////////////3/u////////////////////////////////////////f0xpYnNvZGl1bURSRwAAAAAIybzzZ+YJajunyoSFrme7K/iU/nLzbjzxNh1fOvVPpdGC5q1/Ug5RH2w+K4xoBZtrvUH7q9mDH3khfhMZzeBbIq4o15gvikLNZe8jkUQ3cS87TezP+8C1vNuJgaXbtek4tUjzW8JWORnQBbbxEfFZm08Zr6SCP5IYgW3a1V4cq0ICA6OYqgfYvm9wRQFbgxKMsuROvoUxJOK0/9XDfQxVb4l78nRdvnKxlhY7/rHegDUSxyWnBtyblCZpz3Txm8HSSvGewWmb5OMlTziGR77vtdWMi8adwQ9lnKx3zKEMJHUCK1lvLOktg+SmbqqEdErU+0G93KmwXLVTEYPaiPl2q99m7lJRPpgQMrQtbcYxqD8h+5jIJwOw5A7vvsd/Wb/Cj6g98wvgxiWnCpNHkafVb4ID4FFjygZwbg4KZykpFPwv0kaFCrcnJskmXDghGy7tKsRa/G0sTd+zlZ0TDThT3mOvi1RzCmWosnc8uwpqduau7UcuycKBOzWCFIUscpJkA/FMoei/ogEwQrxLZhqokZf40HCLS8IwvlQGo1FsxxhS79YZ6JLREKllVSQGmdYqIHFXhTUO9LjRuzJwoGoQyNDSuBbBpBlTq0FRCGw3Hpnrjt9Md0gnqEib4bW8sDRjWsnFswwcOcuKQeNKqthOc+Njd0/KnFujuLLW828uaPyy713ugo90YC8XQ29jpXhyq/ChFHjIhOw5ZBoIAseMKB5jI/r/vpDpvYLe62xQpBV5xrL3o/m+K1Ny4/J4ccacYSbqzj4nygfCwCHHuIbRHuvgzdZ92up40W7uf0999bpvF3KqZ/AGppjIosV9YwquDfm+BJg/ERtHHBM1C3EbhH0EI/V32yiTJMdAe6vKMry+yRUKvp48TA0QnMRnHUO2Qj7LvtTFTCp+ZfycKX9Z7PrWOqtvy18XWEdKjBlEbIA="),B(Pt,34752,"Z+YJaoWuZ7ty8248OvVPpX9SDlGMaAWbq9mDHxnN4FuYL4pCkUQ3cc/7wLWl27XpW8JWOfER8Vmkgj+S1V4cq5iqB9gBW4MSvoUxJMN9DFV0Xb5y/rHegKcG3Jt08ZvBwWmb5IZHvu/GncEPzKEMJG8s6S2qhHRK3KmwXNqI+XZSUT6YbcYxqMgnA7DHf1m/8wvgxkeRp9VRY8oGZykpFIUKtyc4IRsu/G0sTRMNOFNUcwpluwpqdi7JwoGFLHKSoei/oktmGqhwi0vCo1FsxxnoktEkBpnWhTUO9HCgahAWwaQZCGw3Hkx3SCe1vLA0swwcOUqq2E5Pypxb828uaO6Cj3RvY6V4FHjIhAgCx4z6/76Q62xQpPej+b7yeHHGgA=="),B(Pt,35120,"U2lnRWQyNTUxOSBubyBFZDI1NTE5IGNvbGxpc2lvbnMB"),B(Pt,35200,"IJMBAAEAAAACAAAAAwAAAAQAAAAFAAAABgAAAAcAAAAIAAAACQ=="),B(Pt,35248,"xmNjpfh8fITud3eZ9nt7jf/y8g3Wa2u93m9vsZHFxVRgMDBQAgEBA85nZ6lWKyt95/7+GbXX12JNq6vm7HZ2mo/KykUfgoKdicnJQPp9fYfv+voVsllZ645HR8n78PALQa2t7LPU1GdfoqL9Ra+v6iOcnL9TpKT35HJylpvAwFt1t7fC4f39HD2Tk65MJiZqbDY2Wn4/P0H19/cCg8zMT2g0NFxRpaX00eXlNPnx8QjicXGTq9jYc2IxMVMqFRU/CAQEDJXHx1JGIyNlncPDXjAYGCg3lpahCgUFDy+amrUOBwcJJBISNhuAgJvf4uI9zevrJk4nJ2l/srLN6nV1nxIJCRsdg4OeWCwsdDQaGi42Gxst3G5usrRaWu5boKD7pFJS9nY7O0231tZhfbOzzlIpKXvd4+M+Xi8vcROEhJemU1P1udHRaAAAAADB7e0sQCAgYOP8/B95sbHItltb7dRqar6Ny8tGZ76+2XI5OUuUSkremExM1LBYWOiFz89Ku9DQa8Xv7ypPqqrl7fv7FoZDQ8WaTU3XZjMzVRGFhZSKRUXP6fn5EAQCAgb+f3+BoFBQ8Hg8PEQln5+6S6io46JRUfNdo6P+gEBAwAWPj4o/kpKtIZ2dvHA4OEjx9fUEY7y833e2tsGv2tp1QiEhYyAQEDDl//8a/fPzDr/S0m2Bzc1MGAwMFCYTEzXD7Owvvl9f4TWXl6KIRETMLhcXOZPExFdVp6fy/H5+gno9PUfIZGSsul1d5zIZGSvmc3OVwGBgoBmBgZieT0/Ro9zcf0QiImZUKip+O5CQqwuIiIOMRkbKx+7uKWu4uNMoFBQ8p97eebxeXuIWCwsdrdvbdtvg4DtkMjJWdDo6ThQKCh6SSUnbDAYGCkgkJGy4XFzkn8LCXb3T025DrKzvxGJipjmRkagxlZWk0+TkN/J5eYvV5+cyi8jIQ243N1nabW23AY2NjLHV1WScTk7SSamp4NhsbLSsVlb68/T0B8/q6iXKZWWv9Hp6jkeurukQCAgYb7q61fB4eIhKJSVvXC4ucjgcHCRXpqbxc7S0x5fGxlHL6Ogjod3dfOh0dJw+Hx8hlktL3WG9vdwNi4uGD4qKheBwcJB8Pj5CcbW1xMxmZqqQSEjYBgMDBff29gEcDg4SwmFho2o1NV+uV1f5abm50BeGhpGZwcFYOh0dJyeenrnZ4eE46/j4EyuYmLMiEREz0mlpu6nZ2XAHjo6JM5SUpy2bm7Y8Hh4iFYeHksnp6SCHzs5JqlVV/1AoKHil3996A4yMj1mhofgJiYmAGg0NF2W/v9rX5uYxhEJCxtBoaLiCQUHDKZmZsFotLXceDw8Re7Cwy6hUVPxtu7vWLBYWOgoAAAALAAAADAAAAA0AAAAOAAAADwAAABAAAAAR");var Gn,hn=(Gn=[null,function(Wt,Pt,en,In,rn){var sn,on,cn;return Wt|=0,Pt|=0,en|=0,In|=0,rn|=0,mn=sn=(on=mn)-128&-64,nn[sn>>2]=67108863&(an[0|rn]|an[rn+1|0]<<8|an[rn+2|0]<<16|an[rn+3|0]<<24),nn[sn+4>>2]=(an[rn+3|0]|an[rn+4|0]<<8|an[rn+5|0]<<16|an[rn+6|0]<<24)>>>2&67108611,nn[sn+8>>2]=(an[rn+6|0]|an[rn+7|0]<<8|an[rn+8|0]<<16|an[rn+9|0]<<24)>>>4&67092735,nn[sn+12>>2]=(an[rn+9|0]|an[rn+10|0]<<8|an[rn+11|0]<<16|an[rn+12|0]<<24)>>>6&66076671,cn=an[rn+12|0]|an[rn+13|0]<<8|an[rn+14|0]<<16|an[rn+15|0]<<24,nn[sn+20>>2]=0,nn[sn+24>>2]=0,nn[sn+28>>2]=0,nn[sn+32>>2]=0,nn[sn+36>>2]=0,nn[sn+16>>2]=cn>>>8&1048575,nn[sn+40>>2]=an[rn+16|0]|an[rn+17|0]<<8|an[rn+18|0]<<16|an[rn+19|0]<<24,nn[sn+44>>2]=an[rn+20|0]|an[rn+21|0]<<8|an[rn+22|0]<<16|an[rn+23|0]<<24,nn[sn+48>>2]=an[rn+24|0]|an[rn+25|0]<<8|an[rn+26|0]<<16|an[rn+27|0]<<24,rn=an[rn+28|0]|an[rn+29|0]<<8|an[rn+30|0]<<16|an[rn+31|0]<<24,tn[sn+80|0]=0,nn[sn+56>>2]=0,nn[sn+60>>2]=0,nn[sn+52>>2]=rn,QA(sn,Pt,en,In),yA(sn,Wt),mn=on,0},function(Wt,Pt,en,In,rn){var sn,on,cn;return Wt|=0,Pt|=0,en|=0,In|=0,rn|=0,mn=sn=(on=mn)-192&-64,nn[sn+64>>2]=67108863&(an[0|rn]|an[rn+1|0]<<8|an[rn+2|0]<<16|an[rn+3|0]<<24),nn[sn+68>>2]=(an[rn+3|0]|an[rn+4|0]<<8|an[rn+5|0]<<16|an[rn+6|0]<<24)>>>2&67108611,nn[sn+72>>2]=(an[rn+6|0]|an[rn+7|0]<<8|an[rn+8|0]<<16|an[rn+9|0]<<24)>>>4&67092735,nn[sn+76>>2]=(an[rn+9|0]|an[rn+10|0]<<8|an[rn+11|0]<<16|an[rn+12|0]<<24)>>>6&66076671,cn=an[rn+12|0]|an[rn+13|0]<<8|an[rn+14|0]<<16|an[rn+15|0]<<24,nn[sn+84>>2]=0,nn[sn+88>>2]=0,nn[sn+92>>2]=0,nn[sn+96>>2]=0,nn[sn+100>>2]=0,nn[sn+80>>2]=cn>>>8&1048575,nn[sn+104>>2]=an[rn+16|0]|an[rn+17|0]<<8|an[rn+18|0]<<16|an[rn+19|0]<<24,nn[sn+108>>2]=an[rn+20|0]|an[rn+21|0]<<8|an[rn+22|0]<<16|an[rn+23|0]<<24,nn[sn+112>>2]=an[rn+24|0]|an[rn+25|0]<<8|an[rn+26|0]<<16|an[rn+27|0]<<24,rn=an[rn+28|0]|an[rn+29|0]<<8|an[rn+30|0]<<16|an[rn+31|0]<<24,tn[sn+144|0]=0,nn[sn+120>>2]=0,nn[sn+124>>2]=0,nn[sn+116>>2]=rn,QA(rn=sn- -64|0,Pt,en,In),yA(rn,Pt=sn+48|0),Wt=rA(Wt,Pt),mn=on,0|Wt},function(Wt,Pt){var en;return Pt|=0,nn[(Wt|=0)>>2]=67108863&(an[0|Pt]|an[Pt+1|0]<<8|an[Pt+2|0]<<16|an[Pt+3|0]<<24),nn[Wt+4>>2]=(an[Pt+3|0]|an[Pt+4|0]<<8|an[Pt+5|0]<<16|an[Pt+6|0]<<24)>>>2&67108611,nn[Wt+8>>2]=(an[Pt+6|0]|an[Pt+7|0]<<8|an[Pt+8|0]<<16|an[Pt+9|0]<<24)>>>4&67092735,nn[Wt+12>>2]=(an[Pt+9|0]|an[Pt+10|0]<<8|an[Pt+11|0]<<16|an[Pt+12|0]<<24)>>>6&66076671,en=an[Pt+12|0]|an[Pt+13|0]<<8|an[Pt+14|0]<<16|an[Pt+15|0]<<24,nn[Wt+20>>2]=0,nn[Wt+24>>2]=0,nn[Wt+28>>2]=0,nn[Wt+32>>2]=0,nn[Wt+36>>2]=0,nn[Wt+16>>2]=en>>>8&1048575,nn[Wt+40>>2]=an[Pt+16|0]|an[Pt+17|0]<<8|an[Pt+18|0]<<16|an[Pt+19|0]<<24,nn[Wt+44>>2]=an[Pt+20|0]|an[Pt+21|0]<<8|an[Pt+22|0]<<16|an[Pt+23|0]<<24,nn[Wt+48>>2]=an[Pt+24|0]|an[Pt+25|0]<<8|an[Pt+26|0]<<16|an[Pt+27|0]<<24,Pt=an[Pt+28|0]|an[Pt+29|0]<<8|an[Pt+30|0]<<16|an[Pt+31|0]<<24,tn[Wt+80|0]=0,nn[Wt+56>>2]=0,nn[Wt+60>>2]=0,nn[Wt+52>>2]=Pt,0},function(Wt,Pt,en,tn){return QA(Wt|=0,Pt|=0,en|=0,tn|=0),0},function(Wt,Pt){return yA(Wt|=0,Pt|=0),0},function(Wt,Pt,en){Wt|=0,Pt|=0,en|=0;var In,rn=0,sn=0,on=0,cn=0,dn=0,un=0,pn=0,Gn=0,hn=0,Zn=0,An=0,Wn=0,Nn=0,gn=0,yn=0,vn=0,Yn=0,En=0,Vn=0,Rn=0,wn=0,Fn=0,Qn=0,fn=0,Hn=0,Cn=0,Xn=0,kn=0,Jn=0,Ln=0,Bn=0,xn=0,On=0,Tn=0,Un=0,Mn=0,zn=0,Sn=0,Dn=0,jn=0,_n=0,Kn=0,Pn=0,qn=0,$n=0,el=0,tl=0,nl=0,ll=0,al=0,Il=0,rl=0,sl=0,ol=0,cl=0,il=0,dl=0,ul=0,pl=0,ml=0,bl=0,Gl=0,hl=0,Zl=0,Al=0,Wl=0;for(mn=In=mn-368|0;An=(on=an[en+rn|0])^an[0|(dn=rn+33664|0)]|An,Zn=on^an[dn+192|0]|Zn,hn=on^an[dn+160|0]|hn,Gn=on^an[dn+128|0]|Gn,cn=on^an[dn+96|0]|cn,un=on^an[dn- -64|0]|un,sn=on^an[dn+32|0]|sn,31!=(0|(rn=rn+1|0)););if(rn=-1,!(256&((255&((on=127^(dn=127&an[en+31|0]))|Zn))-1|(255&(on|hn))-1|(255&(on|Gn))-1|(255&(87^dn|cn))-1|(255&(un|dn))-1|(255&(sn|dn))-1|(255&(dn|An))-1))){for(rn=Pt,Pt=an[Pt+28|0]|an[Pt+29|0]<<8|an[Pt+30|0]<<16|an[Pt+31|0]<<24,nn[In+360>>2]=an[rn+24|0]|an[rn+25|0]<<8|an[rn+26|0]<<16|an[rn+27|0]<<24,nn[In+364>>2]=Pt,Pt=an[rn+20|0]|an[rn+21|0]<<8|an[rn+22|0]<<16|an[rn+23|0]<<24,nn[In+352>>2]=an[rn+16|0]|an[rn+17|0]<<8|an[rn+18|0]<<16|an[rn+19|0]<<24,nn[In+356>>2]=Pt,sn=an[rn+4|0]|an[rn+5|0]<<8|an[rn+6|0]<<16|an[rn+7|0]<<24,Pt=an[0|rn]|an[rn+1|0]<<8|an[rn+2|0]<<16|an[rn+3|0]<<24,nn[In+336>>2]=Pt,nn[In+340>>2]=sn,sn=an[rn+12|0]|an[rn+13|0]<<8|an[rn+14|0]<<16|an[rn+15|0]<<24,nn[In+344>>2]=an[rn+8|0]|an[rn+9|0]<<8|an[rn+10|0]<<16|an[rn+11|0]<<24,nn[In+348>>2]=sn,tn[In+336|0]=248&Pt,tn[In+367|0]=63&an[In+367|0]|64,V(In+288|0,en),nn[In+260>>2]=0,nn[In+264>>2]=0,nn[In+268>>2]=0,nn[In+272>>2]=0,nn[In+276>>2]=0,nn[In+208>>2]=0,nn[In+212>>2]=0,nn[In+216>>2]=0,nn[In+220>>2]=0,nn[In+224>>2]=0,nn[In+228>>2]=0,Pt=nn[In+308>>2],nn[In+160>>2]=nn[In+304>>2],nn[In+164>>2]=Pt,Pt=nn[In+316>>2],nn[In+168>>2]=nn[In+312>>2],nn[In+172>>2]=Pt,Pt=nn[In+324>>2],nn[In+176>>2]=nn[In+320>>2],nn[In+180>>2]=Pt,nn[In+244>>2]=0,nn[In+248>>2]=0,nn[In+240>>2]=1,nn[In+252>>2]=0,nn[In+256>>2]=0,nn[In+192>>2]=0,nn[In+196>>2]=0,nn[In+200>>2]=0,nn[In+204>>2]=0,Pt=nn[In+292>>2],nn[In+144>>2]=nn[In+288>>2],nn[In+148>>2]=Pt,Pt=nn[In+300>>2],nn[In+152>>2]=nn[In+296>>2],nn[In+156>>2]=Pt,nn[In+116>>2]=0,nn[In+120>>2]=0,nn[In+124>>2]=0,nn[In+128>>2]=0,nn[In+132>>2]=0,nn[In+100>>2]=0,nn[In+104>>2]=0,nn[In+96>>2]=1,nn[In+108>>2]=0,nn[In+112>>2]=0,en=254;_n=nn[In+276>>2],on=nn[In+180>>2],Kn=nn[In+96>>2],Pn=nn[In+192>>2],qn=nn[In+144>>2],$n=nn[In+240>>2],el=nn[In+100>>2],tl=nn[In+196>>2],nl=nn[In+148>>2],ll=nn[In+244>>2],Fn=nn[In+104>>2],al=nn[In+200>>2],Qn=nn[In+152>>2],Il=nn[In+248>>2],Cn=nn[In+108>>2],rl=nn[In+204>>2],Xn=nn[In+156>>2],sl=nn[In+252>>2],fn=nn[In+112>>2],ol=nn[In+208>>2],Rn=nn[In+160>>2],cl=nn[In+256>>2],An=nn[In+116>>2],il=nn[In+212>>2],pn=nn[In+164>>2],dl=nn[In+260>>2],Zn=nn[In+120>>2],ul=nn[In+216>>2],hn=nn[In+168>>2],pl=nn[In+264>>2],Gn=nn[In+124>>2],ml=nn[In+220>>2],cn=nn[In+172>>2],bl=nn[In+268>>2],un=nn[In+128>>2],Gl=nn[In+224>>2],sn=nn[In+176>>2],Vn=nn[In+272>>2],hl=en,wn=(vn=(Pt=0-((Pt=jn)^(jn=an[(Zl=In+336|0)+(en>>>3|0)|0]>>>(7&en)&1))|0)&((rn=nn[In+132>>2])^(Mn=nn[In+228>>2])))^rn,nn[In+132>>2]=wn,zn=on^(Yn=Pt&(on^_n)),nn[In+84>>2]=zn-wn,Hn=un^(Nn=Pt&(un^Gl)),nn[In+128>>2]=Hn,Sn=(En=Pt&(sn^Vn))^sn,nn[In+80>>2]=Sn-Hn,Jn=Gn^(gn=Pt&(Gn^ml)),nn[In+124>>2]=Jn,Al=cn^(yn=Pt&(cn^bl)),nn[In+76>>2]=Al-Jn,Ln=Zn^(Wn=Pt&(Zn^ul)),nn[In+120>>2]=Ln,Wl=hn^(dn=Pt&(hn^pl)),nn[In+72>>2]=Wl-Ln,Bn=An^(on=Pt&(An^il)),nn[In+116>>2]=Bn,xn=pn^(An=Pt&(pn^dl)),nn[In+68>>2]=xn-Bn,On=fn^(Zn=Pt&(fn^ol)),nn[In+112>>2]=On,kn=Rn^(hn=Pt&(Rn^cl)),nn[In+64>>2]=kn-On,Tn=Cn^(Gn=Pt&(Cn^rl)),nn[In+108>>2]=Tn,Dn=Xn^(cn=Pt&(Xn^sl)),nn[In+60>>2]=Dn-Tn,Un=Fn^(un=Pt&(Fn^al)),nn[In+104>>2]=Un,Cn=Qn^(sn=Pt&(Qn^Il)),nn[In+56>>2]=Cn-Un,Fn=el^(rn=Pt&(el^tl)),nn[In+100>>2]=Fn,Xn=nl^(en=Pt&(nl^ll)),nn[In+52>>2]=Xn-Fn,Qn=Kn^(fn=Pt&(Kn^Pn)),nn[In+96>>2]=Qn,Rn=(Pt&=qn^$n)^qn,nn[In+48>>2]=Rn-Qn,pn=Yn^_n,vn^=Mn,nn[In+36>>2]=pn-vn,Yn=En^Vn,Nn^=Gl,nn[In+32>>2]=Yn-Nn,En=yn^bl,gn^=ml,nn[In+28>>2]=En-gn,yn=dn^pl,Wn^=ul,nn[In+24>>2]=yn-Wn,dn=An^dl,on^=il,nn[In+20>>2]=dn-on,An=hn^cl,Zn^=ol,nn[In+16>>2]=An-Zn,hn=cn^sl,Gn^=rl,nn[In+12>>2]=hn-Gn,cn=sn^Il,un^=al,nn[In+8>>2]=cn-un,sn=en^ll,rn^=tl,nn[In+4>>2]=sn-rn,en=Pt^$n,Pt=fn^Pn,nn[In>>2]=en-Pt,nn[In+276>>2]=pn+vn,nn[In+272>>2]=Yn+Nn,nn[In+268>>2]=gn+En,nn[In+264>>2]=Wn+yn,nn[In+260>>2]=on+dn,nn[In+256>>2]=Zn+An,nn[In+248>>2]=cn+un,nn[In+244>>2]=rn+sn,nn[In+240>>2]=Pt+en,nn[In+252>>2]=Gn+hn,nn[In+228>>2]=wn+zn,nn[In+224>>2]=Hn+Sn,nn[In+220>>2]=Jn+Al,nn[In+216>>2]=Ln+Wl,nn[In+212>>2]=Bn+xn,nn[In+208>>2]=kn+On,nn[In+204>>2]=Tn+Dn,nn[In+200>>2]=Cn+Un,nn[In+196>>2]=Fn+Xn,nn[In+192>>2]=Rn+Qn,M(zn=In+96|0,Hn=In+48|0,wn=In+240|0),M(Vn=In+192|0,Vn,In),U(Hn,In),U(In,wn),pn=nn[In+192>>2],vn=nn[In+96>>2],Yn=nn[In+196>>2],Nn=nn[In+100>>2],En=nn[In+200>>2],gn=nn[In+104>>2],yn=nn[In+204>>2],Wn=nn[In+108>>2],dn=nn[In+208>>2],on=nn[In+112>>2],An=nn[In+212>>2],Zn=nn[In+116>>2],hn=nn[In+216>>2],Gn=nn[In+120>>2],cn=nn[In+220>>2],un=nn[In+124>>2],sn=nn[In+224>>2],rn=nn[In+128>>2],en=nn[In+228>>2],Pt=nn[In+132>>2],nn[In+180>>2]=en+Pt,nn[In+176>>2]=rn+sn,nn[In+172>>2]=cn+un,nn[In+168>>2]=Gn+hn,nn[In+164>>2]=Zn+An,nn[In+160>>2]=on+dn,nn[In+156>>2]=Wn+yn,nn[In+152>>2]=gn+En,nn[In+148>>2]=Yn+Nn,nn[In+144>>2]=pn+vn,nn[In+228>>2]=Pt-en,nn[In+224>>2]=rn-sn,nn[In+220>>2]=un-cn,nn[In+216>>2]=Gn-hn,nn[In+212>>2]=Zn-An,nn[In+208>>2]=on-dn,nn[In+204>>2]=Wn-yn,nn[In+200>>2]=gn-En,nn[In+196>>2]=Nn-Yn,nn[In+192>>2]=vn-pn,M(wn,In,Hn),Jn=nn[In+52>>2],Wn=nn[In+4>>2],Ln=nn[In+56>>2],dn=nn[In+8>>2],Bn=nn[In+64>>2],hn=nn[In+16>>2],On=nn[In+60>>2],Gn=nn[In+12>>2],Tn=nn[In+72>>2],cn=nn[In+24>>2],Un=nn[In+68>>2],un=nn[In+20>>2],Fn=nn[In+80>>2],sn=nn[In+32>>2],Qn=nn[In+76>>2],rn=nn[In+28>>2],Mn=nn[In+84>>2],Pt=nn[In+36>>2],Sn=nn[In+48>>2],en=nn[In>>2]-Sn|0,nn[In>>2]=en,Pt=Pt-Mn|0,nn[In+36>>2]=Pt,fn=rn-Qn|0,nn[In+28>>2]=fn,Rn=sn-Fn|0,nn[In+32>>2]=Rn,on=un-Un|0,nn[In+20>>2]=on,An=cn-Tn|0,nn[In+24>>2]=An,Zn=Gn-On|0,nn[In+12>>2]=Zn,hn=hn-Bn|0,nn[In+16>>2]=hn,Gn=dn-Ln|0,nn[In+8>>2]=Gn,sn=Wn-Jn|0,nn[In+4>>2]=sn,U(Vn,Vn),Pt=PA(Pt,Pt>>31,121666,0),rn=bn,Dn=Pt,Pt=PA((33554431&(rn=(pn=Pt+16777216|0)>>>0<16777216?rn+1|0:rn))<<7|pn>>>25,rn>>25,19,0),un=bn,rn=Pt,Pt=PA(en,en>>31,121666,0),kn=bn+un|0,Pt=Pt>>>0>(rn=rn+Pt|0)>>>0?kn+1|0:kn,en=(cn=rn+33554432|0)>>>0<33554432?Pt+1|0:Pt,vn=rn-(-67108864&cn)|0,nn[In+96>>2]=vn,un=PA(sn,sn>>31,121666,0),rn=bn,rn=(sn=un+16777216|0)>>>0<16777216?rn+1|0:rn,Yn=(un-(-33554432&sn)|0)+((67108863&en)<<6|cn>>>26)|0,nn[In+100>>2]=Yn,kn=(Pt=rn)>>25,rn=(33554431&Pt)<<7|sn>>>25,en=PA(Gn,Gn>>31,121666,0)+rn|0,Pt=kn+bn|0,Pt=en>>>0>>0?Pt+1|0:Pt,un=(Nn=en+33554432|0)>>>0<33554432?Pt+1|0:Pt,En=en-(-67108864&Nn)|0,nn[In+104>>2]=En,rn=PA(hn,hn>>31,121666,0),sn=bn,en=PA(Zn,Zn>>31,121666,0),Pt=bn,xn=rn,Cn=en,rn=(33554431&(Pt=(gn=en+16777216|0)>>>0<16777216?Pt+1|0:Pt))<<7|gn>>>25,Pt=(Pt>>25)+sn|0,Pt=(en=xn+rn|0)>>>0>>0?Pt+1|0:Pt,sn=(yn=en+33554432|0)>>>0<33554432?Pt+1|0:Pt,Wn=en-(-67108864&yn)|0,nn[In+112>>2]=Wn,rn=PA(An,An>>31,121666,0),cn=bn,en=PA(on,on>>31,121666,0),Pt=bn,xn=rn,Xn=en,rn=(33554431&(Pt=(dn=en+16777216|0)>>>0<16777216?Pt+1|0:Pt))<<7|dn>>>25,Pt=(Pt>>25)+cn|0,Pt=(en=xn+rn|0)>>>0>>0?Pt+1|0:Pt,rn=(on=en+33554432|0)>>>0<33554432?Pt+1|0:Pt,An=en-(-67108864&on)|0,nn[In+120>>2]=An,cn=PA(Rn,Rn>>31,121666,0),Gn=bn,en=PA(fn,fn>>31,121666,0),Pt=bn,Rn=en,en=(33554431&(Pt=(Zn=en+16777216|0)>>>0<16777216?Pt+1|0:Pt))<<7|Zn>>>25,Pt=(Pt>>25)+Gn|0,Pt=en>>>0>(cn=en+cn|0)>>>0?Pt+1|0:Pt,en=(hn=cn+33554432|0)>>>0<33554432?Pt+1|0:Pt,Gn=cn-(-67108864&hn)|0,nn[In+128>>2]=Gn,cn=(un=Cn+((67108863&un)<<6|Nn>>>26)|0)-(-33554432&gn)|0,nn[In+108>>2]=cn,un=(sn=Xn+((67108863&sn)<<6|yn>>>26)|0)-(-33554432&dn)|0,nn[In+116>>2]=un,sn=(Pt=Rn+((67108863&rn)<<6|on>>>26)|0)-(-33554432&Zn)|0,nn[In+124>>2]=sn,en=(en=Dn+((67108863&en)<<6|hn>>>26)|0)-(-33554432&pn)|0,nn[In+132>>2]=en,U(Pt=In+144|0,Pt),nn[In+84>>2]=en+Mn,nn[In+80>>2]=Gn+Fn,nn[In+76>>2]=sn+Qn,nn[In+72>>2]=An+Tn,nn[In+68>>2]=un+Un,nn[In+64>>2]=Wn+Bn,nn[In+60>>2]=cn+On,nn[In+56>>2]=En+Ln,nn[In+52>>2]=Yn+Jn,nn[In+48>>2]=vn+Sn,en=hl-1|0,M(zn,In+288|0,Vn),M(Vn,In,Hn),hl;);An=nn[In+144>>2],vn=nn[In+240>>2],Zn=nn[In+148>>2],Yn=nn[In+244>>2],hn=nn[In+152>>2],Nn=nn[In+248>>2],Gn=nn[In+156>>2],En=nn[In+252>>2],cn=nn[In+160>>2],gn=nn[In+256>>2],un=nn[In+164>>2],yn=nn[In+260>>2],sn=nn[In+168>>2],Wn=nn[In+264>>2],rn=nn[In+172>>2],dn=nn[In+268>>2],en=nn[In+176>>2],on=nn[In+272>>2],pn=0-jn|0,Pt=nn[In+276>>2],nn[In+276>>2]=pn&(Pt^nn[In+180>>2])^Pt,nn[In+272>>2]=on^pn&(en^on),nn[In+268>>2]=dn^pn&(rn^dn),nn[In+264>>2]=Wn^pn&(sn^Wn),nn[In+260>>2]=yn^pn&(un^yn),nn[In+256>>2]=gn^pn&(cn^gn),nn[In+252>>2]=En^pn&(Gn^En),nn[In+248>>2]=Nn^pn&(hn^Nn),nn[In+244>>2]=Yn^pn&(Zn^Yn),nn[In+240>>2]=vn^pn&(An^vn),vn=nn[In+192>>2],An=nn[In+96>>2],Yn=nn[In+196>>2],Zn=nn[In+100>>2],Nn=nn[In+200>>2],hn=nn[In+104>>2],En=nn[In+204>>2],Gn=nn[In+108>>2],gn=nn[In+208>>2],cn=nn[In+112>>2],yn=nn[In+212>>2],un=nn[In+116>>2],Wn=nn[In+216>>2],sn=nn[In+120>>2],dn=nn[In+220>>2],rn=nn[In+124>>2],on=nn[In+224>>2],en=nn[In+128>>2],Pt=nn[In+228>>2],nn[In+228>>2]=pn&(Pt^nn[In+132>>2])^Pt,nn[In+224>>2]=on^pn&(en^on),nn[In+220>>2]=dn^pn&(rn^dn),nn[In+216>>2]=Wn^pn&(sn^Wn),nn[In+212>>2]=yn^pn&(un^yn),nn[In+208>>2]=gn^pn&(cn^gn),nn[In+204>>2]=En^pn&(Gn^En),nn[In+200>>2]=Nn^pn&(hn^Nn),nn[In+196>>2]=Yn^pn&(Zn^Yn),nn[In+192>>2]=vn^pn&(An^vn),iA(Vn,Vn),M(wn,wn,Vn),eA(Wt,wn),MI(Zl,32),rn=0}return mn=In+368|0,0|rn},function(Wt,Pt){var en,In,rn,sn,on,cn,dn,un,pn,bn,Gn,hn,Zn,An,Wn,Nn,gn,yn,vn,Yn;return Pt|=0,mn=en=mn-304|0,tn[0|(Wt|=0)]=an[0|Pt],tn[Wt+1|0]=an[Pt+1|0],tn[Wt+2|0]=an[Pt+2|0],tn[Wt+3|0]=an[Pt+3|0],tn[Wt+4|0]=an[Pt+4|0],tn[Wt+5|0]=an[Pt+5|0],tn[Wt+6|0]=an[Pt+6|0],tn[Wt+7|0]=an[Pt+7|0],tn[Wt+8|0]=an[Pt+8|0],tn[Wt+9|0]=an[Pt+9|0],tn[Wt+10|0]=an[Pt+10|0],tn[Wt+11|0]=an[Pt+11|0],tn[Wt+12|0]=an[Pt+12|0],tn[Wt+13|0]=an[Pt+13|0],tn[Wt+14|0]=an[Pt+14|0],tn[Wt+15|0]=an[Pt+15|0],tn[Wt+16|0]=an[Pt+16|0],tn[Wt+17|0]=an[Pt+17|0],tn[Wt+18|0]=an[Pt+18|0],tn[Wt+19|0]=an[Pt+19|0],tn[Wt+20|0]=an[Pt+20|0],tn[Wt+21|0]=an[Pt+21|0],tn[Wt+22|0]=an[Pt+22|0],tn[Wt+23|0]=an[Pt+23|0],tn[Wt+24|0]=an[Pt+24|0],tn[Wt+25|0]=an[Pt+25|0],tn[Wt+26|0]=an[Pt+26|0],tn[Wt+27|0]=an[Pt+27|0],tn[Wt+28|0]=an[Pt+28|0],tn[Wt+29|0]=an[Pt+29|0],tn[Wt+30|0]=an[Pt+30|0],Pt=an[Pt+31|0],tn[0|Wt]=248&an[0|Wt],tn[Wt+31|0]=63&Pt|64,Z(en+48|0,Wt),Pt=nn[en+128>>2],In=nn[en+88>>2],rn=nn[en+132>>2],sn=nn[en+92>>2],on=nn[en+136>>2],cn=nn[en+96>>2],dn=nn[en+140>>2],un=nn[en+100>>2],pn=nn[en+144>>2],bn=nn[en+104>>2],Gn=nn[en+148>>2],hn=nn[en+108>>2],Zn=nn[en+152>>2],An=nn[en+112>>2],Wn=nn[en+156>>2],Nn=nn[en+116>>2],gn=nn[en+160>>2],yn=nn[en+120>>2],vn=nn[en+124>>2],Yn=nn[en+164>>2],nn[en+292>>2]=vn+Yn,nn[en+288>>2]=gn+yn,nn[en+284>>2]=Wn+Nn,nn[en+280>>2]=Zn+An,nn[en+276>>2]=Gn+hn,nn[en+272>>2]=pn+bn,nn[en+268>>2]=dn+un,nn[en+264>>2]=on+cn,nn[en+260>>2]=rn+sn,nn[en+256>>2]=Pt+In,nn[en+244>>2]=Yn-vn,nn[en+240>>2]=gn-yn,nn[en+236>>2]=Wn-Nn,nn[en+232>>2]=Zn-An,nn[en+228>>2]=Gn-hn,nn[en+224>>2]=pn-bn,nn[en+220>>2]=dn-un,nn[en+216>>2]=on-cn,nn[en+212>>2]=rn-sn,nn[en+208>>2]=Pt-In,iA(Pt=en+208|0,Pt),M(en,en+256|0,Pt),eA(Wt,en),mn=en+304|0,0},function(Wt,Pt,en,In,rn){Wt|=0,In|=0,rn|=0;var sn,on=0,cn=0,dn=0,un=0;if(mn=sn=mn-112|0,(Pt|=0)|(en|=0)){on=an[rn+28|0]|an[rn+29|0]<<8|an[rn+30|0]<<16|an[rn+31|0]<<24,nn[sn+24>>2]=an[rn+24|0]|an[rn+25|0]<<8|an[rn+26|0]<<16|an[rn+27|0]<<24,nn[sn+28>>2]=on,on=an[rn+20|0]|an[rn+21|0]<<8|an[rn+22|0]<<16|an[rn+23|0]<<24,nn[sn+16>>2]=an[rn+16|0]|an[rn+17|0]<<8|an[rn+18|0]<<16|an[rn+19|0]<<24,nn[sn+20>>2]=on,on=an[rn+4|0]|an[rn+5|0]<<8|an[rn+6|0]<<16|an[rn+7|0]<<24,nn[sn>>2]=an[0|rn]|an[rn+1|0]<<8|an[rn+2|0]<<16|an[rn+3|0]<<24,nn[sn+4>>2]=on,on=an[rn+12|0]|an[rn+13|0]<<8|an[rn+14|0]<<16|an[rn+15|0]<<24,nn[sn+8>>2]=an[rn+8|0]|an[rn+9|0]<<8|an[rn+10|0]<<16|an[rn+11|0]<<24,nn[sn+12>>2]=on,rn=an[0|In]|an[In+1|0]<<8|an[In+2|0]<<16|an[In+3|0]<<24,In=an[In+4|0]|an[In+5|0]<<8|an[In+6|0]<<16|an[In+7|0]<<24,nn[sn+104>>2]=0,nn[sn+108>>2]=0,nn[sn+96>>2]=rn,nn[sn+100>>2]=In;e:{if(!en&Pt>>>0>=64|en){for(;l(Wt,sn+96|0,sn),In=an[sn+104|0]+1|0,tn[sn+104|0]=In,In=an[sn+105|0]+(In>>>8|0)|0,tn[sn+105|0]=In,In=an[sn+106|0]+(In>>>8|0)|0,tn[sn+106|0]=In,In=an[sn+107|0]+(In>>>8|0)|0,tn[sn+107|0]=In,In=an[sn+108|0]+(In>>>8|0)|0,tn[sn+108|0]=In,In=an[sn+109|0]+(In>>>8|0)|0,tn[sn+109|0]=In,In=an[sn+110|0]+(In>>>8|0)|0,tn[sn+110|0]=In,tn[sn+111|0]=an[sn+111|0]+(In>>>8|0),Wt=Wt- -64|0,en=en-1|0,!(en=(Pt=Pt+-64|0)>>>0<4294967232?en+1|0:en)&Pt>>>0>63|en;);if(!(Pt|en))break e}if(In=0,l(sn+32|0,sn+96|0,sn),on=3&Pt,rn=0,!en&Pt>>>0>=4|en)for(en=60&Pt,Pt=0;cn=dn=sn+32|0,tn[Wt+rn|0]=an[cn+rn|0],tn[(un=1|rn)+Wt|0]=an[cn+un|0],tn[(cn=2|rn)+Wt|0]=an[cn+dn|0],tn[(cn=3|rn)+Wt|0]=an[cn+(sn+32|0)|0],rn=rn+4|0,(0|en)!=(0|(Pt=Pt+4|0)););if(on)for(;tn[Wt+rn|0]=an[(sn+32|0)+rn|0],rn=rn+1|0,(0|on)!=(0|(In=In+1|0)););}MI(sn+32|0,64),MI(sn,32)}return mn=sn+112|0,0},function(Wt,Pt,en,In,rn,sn,on,cn){Wt|=0,Pt|=0,rn|=0,sn|=0,on|=0,cn|=0;var dn,un=0;if(mn=dn=mn-112|0,(en|=0)|(In|=0)){un=an[cn+28|0]|an[cn+29|0]<<8|an[cn+30|0]<<16|an[cn+31|0]<<24,nn[dn+24>>2]=an[cn+24|0]|an[cn+25|0]<<8|an[cn+26|0]<<16|an[cn+27|0]<<24,nn[dn+28>>2]=un,un=an[cn+20|0]|an[cn+21|0]<<8|an[cn+22|0]<<16|an[cn+23|0]<<24,nn[dn+16>>2]=an[cn+16|0]|an[cn+17|0]<<8|an[cn+18|0]<<16|an[cn+19|0]<<24,nn[dn+20>>2]=un,un=an[cn+4|0]|an[cn+5|0]<<8|an[cn+6|0]<<16|an[cn+7|0]<<24,nn[dn>>2]=an[0|cn]|an[cn+1|0]<<8|an[cn+2|0]<<16|an[cn+3|0]<<24,nn[dn+4>>2]=un,un=an[cn+12|0]|an[cn+13|0]<<8|an[cn+14|0]<<16|an[cn+15|0]<<24,nn[dn+8>>2]=an[cn+8|0]|an[cn+9|0]<<8|an[cn+10|0]<<16|an[cn+11|0]<<24,nn[dn+12>>2]=un,cn=an[rn+4|0]|an[rn+5|0]<<8|an[rn+6|0]<<16|an[rn+7|0]<<24,nn[dn+96>>2]=an[0|rn]|an[rn+1|0]<<8|an[rn+2|0]<<16|an[rn+3|0]<<24,nn[dn+100>>2]=cn,tn[dn+104|0]=sn,tn[dn+111|0]=on>>>24,tn[dn+110|0]=on>>>16,tn[dn+109|0]=on>>>8,tn[dn+108|0]=on,tn[dn+107|0]=(16777215&on)<<8|sn>>>24,tn[dn+106|0]=(65535&on)<<16|sn>>>16,tn[dn+105|0]=(255&on)<<24|sn>>>8;e:{if(!In&en>>>0>=64|In){for(;;){for(cn=0,l(dn+32|0,dn+96|0,dn);sn=dn+32|0,tn[Wt+cn|0]=an[sn+cn|0]^an[Pt+cn|0],tn[(rn=1|cn)+Wt|0]=an[rn+sn|0]^an[Pt+rn|0],64!=(0|(cn=cn+2|0)););if(rn=an[dn+104|0]+1|0,tn[dn+104|0]=rn,rn=an[dn+105|0]+(rn>>>8|0)|0,tn[dn+105|0]=rn,rn=an[dn+106|0]+(rn>>>8|0)|0,tn[dn+106|0]=rn,rn=an[dn+107|0]+(rn>>>8|0)|0,tn[dn+107|0]=rn,rn=an[dn+108|0]+(rn>>>8|0)|0,tn[dn+108|0]=rn,rn=an[dn+109|0]+(rn>>>8|0)|0,tn[dn+109|0]=rn,rn=an[dn+110|0]+(rn>>>8|0)|0,tn[dn+110|0]=rn,tn[dn+111|0]=an[dn+111|0]+(rn>>>8|0),Pt=Pt- -64|0,Wt=Wt- -64|0,In=In-1|0,!(!(In=(en=en+-64|0)>>>0<4294967232?In+1|0:In)&en>>>0>63|In))break}if(!(en|In))break e}if(cn=0,l(dn+32|0,dn+96|0,dn),sn=1&en,1!=(0|en)|In)for(In=62&en,rn=0;on=dn+32|0,tn[Wt+cn|0]=an[on+cn|0]^an[Pt+cn|0],tn[(en=1|cn)+Wt|0]=an[en+on|0]^an[Pt+en|0],cn=cn+2|0,(0|In)!=(0|(rn=rn+2|0)););sn&&(tn[Wt+cn|0]=an[(dn+32|0)+cn|0]^an[Pt+cn|0])}MI(dn+32|0,64),MI(dn,32)}return mn=dn+112|0,0},function(Wt,Pt,en,tn,nn,an,In,rn,sn){Wt|=0,Pt|=0,en|=0,tn|=0,nn|=0,an|=0,In|=0;var on,cn,dn=0;if(cn=dn=mn,mn=on=dn-192&-32,b(sn|=0,rn|=0,on- -64|0),sn=0,In>>>0<=63)rn=0;else for(dn=64;N(an+sn|0,on- -64|0),sn=rn=dn,(dn=rn- -64|0)>>>0<=In>>>0;);if((dn=32|rn)>>>0>In>>>0)sn=rn;else for(;x(an+rn|0,on- -64|0),sn=dn,(dn=(rn=dn)+32|0)>>>0<=In>>>0;);if((rn=31&In)&&(VA((dn=on+32|0)|rn,0,32-rn|0),TA(dn,an+sn|0,rn),x(dn,on- -64|0)),sn=32,rn=0,nn>>>0<32)an=0;else for(;G(Wt+rn|0,tn+rn|0,on- -64|0),an=sn,(sn=(rn=sn)+32|0)>>>0<=nn>>>0;);return(rn=31&nn)&&(VA((sn=on+32|0)|rn,0,32-rn|0),TA(sn,tn+an|0,rn),G(on,sn,on- -64|0),TA(Wt+an|0,on,rn)),K(Pt,en,In,nn,on- -64|0),mn=cn,0},function(Wt,Pt,en,tn,nn,an,In,rn,sn){Wt|=0,Pt|=0,en|=0,tn|=0,nn|=0,an|=0,In|=0;var on,cn,dn=0;if(cn=dn=mn,mn=on=dn-224&-32,b(sn|=0,rn|=0,on+96|0),sn=0,In>>>0<=63)rn=0;else for(dn=64;N(an+sn|0,on+96|0),sn=rn=dn,(dn=rn- -64|0)>>>0<=In>>>0;);if((dn=32|rn)>>>0>In>>>0)sn=rn;else for(;x(an+rn|0,on+96|0),sn=dn,(dn=(rn=dn)+32|0)>>>0<=In>>>0;);(rn=31&In)&&(VA((dn=on- -64|0)|rn,0,32-rn|0),TA(dn,an+sn|0,rn),x(dn,on+96|0));e:{t:{n:{l:{a:{if(Wt){if(sn=32,en>>>0<32)break a;for(an=0;H(Wt+an|0,Pt+an|0,on+96|0),an=rn=sn,(sn=rn+32|0)>>>0<=en>>>0;);}else{if(an=32,en>>>0<32)break n;for(sn=0;H(on+32|0,Pt+sn|0,on+96|0),sn=rn=an,(an=rn+32|0)>>>0<=en>>>0;);}if(!(an=31&en))break e;if(Wt)break l;break t}if(rn=0,an=en,!en)break e}Y(Wt+rn|0,Pt+rn|0,an,on+96|0);break e}if(rn=0,an=en,!en)break e}Y(on+32|0,Pt+rn|0,an,on+96|0)}K(on,nn,In,en,on+96|0),rn=-1;e:{t:{if(Pt=nn-16|0){if(16==(0|Pt))break t;break e}rn=rA(on,tn);break e}rn=UA(on,tn)}return!Wt|!rn||VA(Wt,0,en),mn=cn,0|rn},function(Wt,Pt,en,tn,In,rn,sn,on,cn){Wt|=0,Pt|=0,en|=0,tn|=0,In|=0,rn|=0,sn|=0;var dn,un=0,pn=0,bn=0,Gn=0,hn=0,Zn=0,An=0,Wn=0,Nn=0,gn=0;if(mn=dn=mn-528|0,S(cn|=0,on|=0,dn+400|0),cn=0,sn>>>0<=31)on=0;else for(pn=32;d(rn+cn|0,dn+400|0),cn=on=pn,(pn=on+32|0)>>>0<=sn>>>0;);if((cn=16|on)>>>0<=sn>>>0)for(pn=dn+416|0,Gn=dn+432|0,hn=dn+448|0,bn=dn+464|0,Zn=dn+480|0;An=an[0|(on=rn+on|0)]|an[on+1|0]<<8|an[on+2|0]<<16|an[on+3|0]<<24,Wn=an[on+4|0]|an[on+5|0]<<8|an[on+6|0]<<16|an[on+7|0]<<24,Nn=an[on+8|0]|an[on+9|0]<<8|an[on+10|0]<<16|an[on+11|0]<<24,gn=an[on+12|0]|an[on+13|0]<<8|an[on+14|0]<<16|an[on+15|0]<<24,on=nn[Zn+12>>2],nn[dn+520>>2]=nn[Zn+8>>2],nn[dn+524>>2]=on,on=nn[Zn+4>>2],nn[dn+512>>2]=nn[Zn>>2],nn[dn+516>>2]=on,on=nn[bn+12>>2],nn[dn+376>>2]=nn[bn+8>>2],nn[dn+380>>2]=on,on=nn[bn+4>>2],nn[dn+368>>2]=nn[bn>>2],nn[dn+372>>2]=on,on=nn[Zn+12>>2],nn[dn+360>>2]=nn[Zn+8>>2],nn[dn+364>>2]=on,on=nn[Zn+4>>2],nn[dn+352>>2]=nn[Zn>>2],nn[dn+356>>2]=on,aA(on=dn+496|0,dn+368|0,dn+352|0),un=nn[dn+508>>2],nn[Zn+8>>2]=nn[dn+504>>2],nn[Zn+12>>2]=un,un=nn[dn+500>>2],nn[Zn>>2]=nn[dn+496>>2],nn[Zn+4>>2]=un,un=nn[hn+12>>2],nn[dn+344>>2]=nn[hn+8>>2],nn[dn+348>>2]=un,un=nn[hn+4>>2],nn[dn+336>>2]=nn[hn>>2],nn[dn+340>>2]=un,un=nn[bn+12>>2],nn[dn+328>>2]=nn[bn+8>>2],nn[dn+332>>2]=un,un=nn[bn+4>>2],nn[dn+320>>2]=nn[bn>>2],nn[dn+324>>2]=un,aA(on,dn+336|0,dn+320|0),un=nn[dn+508>>2],nn[bn+8>>2]=nn[dn+504>>2],nn[bn+12>>2]=un,un=nn[dn+500>>2],nn[bn>>2]=nn[dn+496>>2],nn[bn+4>>2]=un,un=nn[Gn+12>>2],nn[dn+312>>2]=nn[Gn+8>>2],nn[dn+316>>2]=un,un=nn[Gn+4>>2],nn[dn+304>>2]=nn[Gn>>2],nn[dn+308>>2]=un,un=nn[hn+12>>2],nn[dn+296>>2]=nn[hn+8>>2],nn[dn+300>>2]=un,un=nn[hn+4>>2],nn[dn+288>>2]=nn[hn>>2],nn[dn+292>>2]=un,aA(on,dn+304|0,dn+288|0),un=nn[dn+508>>2],nn[hn+8>>2]=nn[dn+504>>2],nn[hn+12>>2]=un,un=nn[dn+500>>2],nn[hn>>2]=nn[dn+496>>2],nn[hn+4>>2]=un,un=nn[pn+12>>2],nn[dn+280>>2]=nn[pn+8>>2],nn[dn+284>>2]=un,un=nn[pn+4>>2],nn[dn+272>>2]=nn[pn>>2],nn[dn+276>>2]=un,un=nn[Gn+12>>2],nn[dn+264>>2]=nn[Gn+8>>2],nn[dn+268>>2]=un,un=nn[Gn+4>>2],nn[dn+256>>2]=nn[Gn>>2],nn[dn+260>>2]=un,aA(on,dn+272|0,dn+256|0),un=nn[dn+508>>2],nn[Gn+8>>2]=nn[dn+504>>2],nn[Gn+12>>2]=un,un=nn[dn+500>>2],nn[Gn>>2]=nn[dn+496>>2],nn[Gn+4>>2]=un,un=nn[dn+412>>2],nn[dn+248>>2]=nn[dn+408>>2],nn[dn+252>>2]=un,un=nn[dn+404>>2],nn[dn+240>>2]=nn[dn+400>>2],nn[dn+244>>2]=un,un=nn[pn+12>>2],nn[dn+232>>2]=nn[pn+8>>2],nn[dn+236>>2]=un,un=nn[pn+4>>2],nn[dn+224>>2]=nn[pn>>2],nn[dn+228>>2]=un,aA(on,dn+240|0,dn+224|0),un=nn[dn+508>>2],nn[pn+8>>2]=nn[dn+504>>2],nn[pn+12>>2]=un,un=nn[dn+500>>2],nn[pn>>2]=nn[dn+496>>2],nn[pn+4>>2]=un,un=nn[dn+524>>2],nn[dn+216>>2]=nn[dn+520>>2],nn[dn+220>>2]=un,un=nn[dn+412>>2],nn[dn+200>>2]=nn[dn+408>>2],nn[dn+204>>2]=un,un=nn[dn+516>>2],nn[dn+208>>2]=nn[dn+512>>2],nn[dn+212>>2]=un,un=nn[dn+404>>2],nn[dn+192>>2]=nn[dn+400>>2],nn[dn+196>>2]=un,aA(on,dn+208|0,dn+192|0),nn[dn+412>>2]=gn^nn[dn+508>>2],nn[dn+408>>2]=nn[dn+504>>2]^Nn,nn[dn+404>>2]=nn[dn+500>>2]^Wn,nn[dn+400>>2]=nn[dn+496>>2]^An,(cn=(on=cn)+16|0)>>>0<=sn>>>0;);if((cn=15&sn)&&(VA((pn=dn+384|0)|cn,0,16-cn|0),TA(pn,rn+on|0,cn),cn=nn[dn+384>>2],pn=nn[dn+388>>2],Gn=nn[dn+392>>2],hn=nn[dn+396>>2],on=nn[dn+492>>2],rn=nn[dn+488>>2],nn[dn+520>>2]=rn,nn[dn+524>>2]=on,bn=nn[dn+476>>2],nn[dn+184>>2]=nn[dn+472>>2],nn[dn+188>>2]=bn,nn[dn+168>>2]=rn,nn[dn+172>>2]=on,on=nn[dn+484>>2],rn=nn[dn+480>>2],nn[dn+512>>2]=rn,nn[dn+516>>2]=on,bn=nn[dn+468>>2],nn[dn+176>>2]=nn[dn+464>>2],nn[dn+180>>2]=bn,nn[dn+160>>2]=rn,nn[dn+164>>2]=on,aA(rn=dn+496|0,dn+176|0,dn+160|0),on=nn[dn+508>>2],nn[dn+488>>2]=nn[dn+504>>2],nn[dn+492>>2]=on,on=nn[dn+460>>2],nn[dn+152>>2]=nn[dn+456>>2],nn[dn+156>>2]=on,on=nn[dn+476>>2],nn[dn+136>>2]=nn[dn+472>>2],nn[dn+140>>2]=on,on=nn[dn+500>>2],nn[dn+480>>2]=nn[dn+496>>2],nn[dn+484>>2]=on,on=nn[dn+452>>2],nn[dn+144>>2]=nn[dn+448>>2],nn[dn+148>>2]=on,on=nn[dn+468>>2],nn[dn+128>>2]=nn[dn+464>>2],nn[dn+132>>2]=on,aA(rn,dn+144|0,dn+128|0),on=nn[dn+508>>2],nn[dn+472>>2]=nn[dn+504>>2],nn[dn+476>>2]=on,on=nn[dn+444>>2],nn[dn+120>>2]=nn[dn+440>>2],nn[dn+124>>2]=on,on=nn[dn+460>>2],nn[dn+104>>2]=nn[dn+456>>2],nn[dn+108>>2]=on,on=nn[dn+500>>2],nn[dn+464>>2]=nn[dn+496>>2],nn[dn+468>>2]=on,on=nn[dn+436>>2],nn[dn+112>>2]=nn[dn+432>>2],nn[dn+116>>2]=on,on=nn[dn+452>>2],nn[dn+96>>2]=nn[dn+448>>2],nn[dn+100>>2]=on,aA(rn,dn+112|0,dn+96|0),on=nn[dn+508>>2],nn[dn+456>>2]=nn[dn+504>>2],nn[dn+460>>2]=on,on=nn[dn+428>>2],nn[dn+88>>2]=nn[dn+424>>2],nn[dn+92>>2]=on,on=nn[dn+444>>2],nn[dn+72>>2]=nn[dn+440>>2],nn[dn+76>>2]=on,on=nn[dn+500>>2],nn[dn+448>>2]=nn[dn+496>>2],nn[dn+452>>2]=on,on=nn[dn+420>>2],nn[dn+80>>2]=nn[dn+416>>2],nn[dn+84>>2]=on,on=nn[dn+436>>2],nn[dn+64>>2]=nn[dn+432>>2],nn[dn+68>>2]=on,aA(rn,dn+80|0,dn- -64|0),on=nn[dn+508>>2],nn[dn+440>>2]=nn[dn+504>>2],nn[dn+444>>2]=on,on=nn[dn+412>>2],nn[dn+56>>2]=nn[dn+408>>2],nn[dn+60>>2]=on,on=nn[dn+428>>2],nn[dn+40>>2]=nn[dn+424>>2],nn[dn+44>>2]=on,on=nn[dn+500>>2],nn[dn+432>>2]=nn[dn+496>>2],nn[dn+436>>2]=on,on=nn[dn+404>>2],nn[dn+48>>2]=nn[dn+400>>2],nn[dn+52>>2]=on,on=nn[dn+420>>2],nn[dn+32>>2]=nn[dn+416>>2],nn[dn+36>>2]=on,aA(rn,dn+48|0,dn+32|0),on=nn[dn+508>>2],nn[dn+424>>2]=nn[dn+504>>2],nn[dn+428>>2]=on,on=nn[dn+524>>2],nn[dn+24>>2]=nn[dn+520>>2],nn[dn+28>>2]=on,on=nn[dn+412>>2],nn[dn+8>>2]=nn[dn+408>>2],nn[dn+12>>2]=on,on=nn[dn+500>>2],nn[dn+416>>2]=nn[dn+496>>2],nn[dn+420>>2]=on,on=nn[dn+516>>2],nn[dn+16>>2]=nn[dn+512>>2],nn[dn+20>>2]=on,on=nn[dn+404>>2],nn[dn>>2]=nn[dn+400>>2],nn[dn+4>>2]=on,aA(rn,dn+16|0,dn),nn[dn+412>>2]=hn^nn[dn+508>>2],nn[dn+408>>2]=Gn^nn[dn+504>>2],nn[dn+404>>2]=pn^nn[dn+500>>2],nn[dn+400>>2]=cn^nn[dn+496>>2]),pn=16,on=0,In>>>0<16)cn=0;else for(;R(Wt+on|0,tn+on|0,dn+400|0),cn=pn,(pn=(on=pn)+16|0)>>>0<=In>>>0;);return(rn=15&In)&&(VA((on=dn+384|0)|rn,0,16-rn|0),TA(on,tn+cn|0,rn),R(tn=dn+512|0,on,dn+400|0),TA(Wt+cn|0,tn,rn)),J(Pt,en,sn,In,dn+400|0),mn=dn+528|0,0},function(Wt,Pt,en,tn,In,rn,sn,on,cn){Wt|=0,Pt|=0,en|=0,tn|=0,In|=0,rn|=0,sn|=0;var dn,un=0,pn=0,bn=0,Gn=0,hn=0,Zn=0,An=0,Wn=0,Nn=0,gn=0;if(mn=dn=mn-544|0,S(cn|=0,on|=0,dn+432|0),cn=0,sn>>>0<=31)on=0;else for(pn=32;d(rn+cn|0,dn+432|0),cn=on=pn,(pn=on+32|0)>>>0<=sn>>>0;);if((cn=16|on)>>>0<=sn>>>0)for(pn=dn+448|0,Gn=dn+464|0,hn=dn+480|0,bn=dn+496|0,Zn=dn+512|0;An=an[0|(on=rn+on|0)]|an[on+1|0]<<8|an[on+2|0]<<16|an[on+3|0]<<24,Wn=an[on+4|0]|an[on+5|0]<<8|an[on+6|0]<<16|an[on+7|0]<<24,Nn=an[on+8|0]|an[on+9|0]<<8|an[on+10|0]<<16|an[on+11|0]<<24,gn=an[on+12|0]|an[on+13|0]<<8|an[on+14|0]<<16|an[on+15|0]<<24,on=nn[Zn+12>>2],nn[dn+392>>2]=nn[Zn+8>>2],nn[dn+396>>2]=on,on=nn[Zn+4>>2],nn[dn+384>>2]=nn[Zn>>2],nn[dn+388>>2]=on,on=nn[bn+12>>2],nn[dn+376>>2]=nn[bn+8>>2],nn[dn+380>>2]=on,on=nn[bn+4>>2],nn[dn+368>>2]=nn[bn>>2],nn[dn+372>>2]=on,on=nn[Zn+12>>2],nn[dn+360>>2]=nn[Zn+8>>2],nn[dn+364>>2]=on,on=nn[Zn+4>>2],nn[dn+352>>2]=nn[Zn>>2],nn[dn+356>>2]=on,aA(on=dn+528|0,dn+368|0,dn+352|0),un=nn[dn+540>>2],nn[Zn+8>>2]=nn[dn+536>>2],nn[Zn+12>>2]=un,un=nn[dn+532>>2],nn[Zn>>2]=nn[dn+528>>2],nn[Zn+4>>2]=un,un=nn[hn+12>>2],nn[dn+344>>2]=nn[hn+8>>2],nn[dn+348>>2]=un,un=nn[hn+4>>2],nn[dn+336>>2]=nn[hn>>2],nn[dn+340>>2]=un,un=nn[bn+12>>2],nn[dn+328>>2]=nn[bn+8>>2],nn[dn+332>>2]=un,un=nn[bn+4>>2],nn[dn+320>>2]=nn[bn>>2],nn[dn+324>>2]=un,aA(on,dn+336|0,dn+320|0),un=nn[dn+540>>2],nn[bn+8>>2]=nn[dn+536>>2],nn[bn+12>>2]=un,un=nn[dn+532>>2],nn[bn>>2]=nn[dn+528>>2],nn[bn+4>>2]=un,un=nn[Gn+12>>2],nn[dn+312>>2]=nn[Gn+8>>2],nn[dn+316>>2]=un,un=nn[Gn+4>>2],nn[dn+304>>2]=nn[Gn>>2],nn[dn+308>>2]=un,un=nn[hn+12>>2],nn[dn+296>>2]=nn[hn+8>>2],nn[dn+300>>2]=un,un=nn[hn+4>>2],nn[dn+288>>2]=nn[hn>>2],nn[dn+292>>2]=un,aA(on,dn+304|0,dn+288|0),un=nn[dn+540>>2],nn[hn+8>>2]=nn[dn+536>>2],nn[hn+12>>2]=un,un=nn[dn+532>>2],nn[hn>>2]=nn[dn+528>>2],nn[hn+4>>2]=un,un=nn[pn+12>>2],nn[dn+280>>2]=nn[pn+8>>2],nn[dn+284>>2]=un,un=nn[pn+4>>2],nn[dn+272>>2]=nn[pn>>2],nn[dn+276>>2]=un,un=nn[Gn+12>>2],nn[dn+264>>2]=nn[Gn+8>>2],nn[dn+268>>2]=un,un=nn[Gn+4>>2],nn[dn+256>>2]=nn[Gn>>2],nn[dn+260>>2]=un,aA(on,dn+272|0,dn+256|0),un=nn[dn+540>>2],nn[Gn+8>>2]=nn[dn+536>>2],nn[Gn+12>>2]=un,un=nn[dn+532>>2],nn[Gn>>2]=nn[dn+528>>2],nn[Gn+4>>2]=un,un=nn[dn+444>>2],nn[dn+248>>2]=nn[dn+440>>2],nn[dn+252>>2]=un,un=nn[dn+436>>2],nn[dn+240>>2]=nn[dn+432>>2],nn[dn+244>>2]=un,un=nn[pn+12>>2],nn[dn+232>>2]=nn[pn+8>>2],nn[dn+236>>2]=un,un=nn[pn+4>>2],nn[dn+224>>2]=nn[pn>>2],nn[dn+228>>2]=un,aA(on,dn+240|0,dn+224|0),un=nn[dn+540>>2],nn[pn+8>>2]=nn[dn+536>>2],nn[pn+12>>2]=un,un=nn[dn+532>>2],nn[pn>>2]=nn[dn+528>>2],nn[pn+4>>2]=un,un=nn[dn+396>>2],nn[dn+216>>2]=nn[dn+392>>2],nn[dn+220>>2]=un,un=nn[dn+444>>2],nn[dn+200>>2]=nn[dn+440>>2],nn[dn+204>>2]=un,un=nn[dn+388>>2],nn[dn+208>>2]=nn[dn+384>>2],nn[dn+212>>2]=un,un=nn[dn+436>>2],nn[dn+192>>2]=nn[dn+432>>2],nn[dn+196>>2]=un,aA(on,dn+208|0,dn+192|0),nn[dn+444>>2]=gn^nn[dn+540>>2],nn[dn+440>>2]=nn[dn+536>>2]^Nn,nn[dn+436>>2]=nn[dn+532>>2]^Wn,nn[dn+432>>2]=nn[dn+528>>2]^An,(cn=(on=cn)+16|0)>>>0<=sn>>>0;);(cn=15&sn)&&(VA((pn=dn+416|0)|cn,0,16-cn|0),TA(pn,rn+on|0,cn),cn=nn[dn+416>>2],pn=nn[dn+420>>2],Gn=nn[dn+424>>2],hn=nn[dn+428>>2],on=nn[dn+524>>2],rn=nn[dn+520>>2],nn[dn+392>>2]=rn,nn[dn+396>>2]=on,bn=nn[dn+508>>2],nn[dn+184>>2]=nn[dn+504>>2],nn[dn+188>>2]=bn,nn[dn+168>>2]=rn,nn[dn+172>>2]=on,on=nn[dn+516>>2],rn=nn[dn+512>>2],nn[dn+384>>2]=rn,nn[dn+388>>2]=on,bn=nn[dn+500>>2],nn[dn+176>>2]=nn[dn+496>>2],nn[dn+180>>2]=bn,nn[dn+160>>2]=rn,nn[dn+164>>2]=on,aA(rn=dn+528|0,dn+176|0,dn+160|0),on=nn[dn+540>>2],nn[dn+520>>2]=nn[dn+536>>2],nn[dn+524>>2]=on,on=nn[dn+492>>2],nn[dn+152>>2]=nn[dn+488>>2],nn[dn+156>>2]=on,on=nn[dn+508>>2],nn[dn+136>>2]=nn[dn+504>>2],nn[dn+140>>2]=on,on=nn[dn+532>>2],nn[dn+512>>2]=nn[dn+528>>2],nn[dn+516>>2]=on,on=nn[dn+484>>2],nn[dn+144>>2]=nn[dn+480>>2],nn[dn+148>>2]=on,on=nn[dn+500>>2],nn[dn+128>>2]=nn[dn+496>>2],nn[dn+132>>2]=on,aA(rn,dn+144|0,dn+128|0),on=nn[dn+540>>2],nn[dn+504>>2]=nn[dn+536>>2],nn[dn+508>>2]=on,on=nn[dn+476>>2],nn[dn+120>>2]=nn[dn+472>>2],nn[dn+124>>2]=on,on=nn[dn+492>>2],nn[dn+104>>2]=nn[dn+488>>2],nn[dn+108>>2]=on,on=nn[dn+532>>2],nn[dn+496>>2]=nn[dn+528>>2],nn[dn+500>>2]=on,on=nn[dn+468>>2],nn[dn+112>>2]=nn[dn+464>>2],nn[dn+116>>2]=on,on=nn[dn+484>>2],nn[dn+96>>2]=nn[dn+480>>2],nn[dn+100>>2]=on,aA(rn,dn+112|0,dn+96|0),on=nn[dn+540>>2],nn[dn+488>>2]=nn[dn+536>>2],nn[dn+492>>2]=on,on=nn[dn+460>>2],nn[dn+88>>2]=nn[dn+456>>2],nn[dn+92>>2]=on,on=nn[dn+476>>2],nn[dn+72>>2]=nn[dn+472>>2],nn[dn+76>>2]=on,on=nn[dn+532>>2],nn[dn+480>>2]=nn[dn+528>>2],nn[dn+484>>2]=on,on=nn[dn+452>>2],nn[dn+80>>2]=nn[dn+448>>2],nn[dn+84>>2]=on,on=nn[dn+468>>2],nn[dn+64>>2]=nn[dn+464>>2],nn[dn+68>>2]=on,aA(rn,dn+80|0,dn- -64|0),on=nn[dn+540>>2],nn[dn+472>>2]=nn[dn+536>>2],nn[dn+476>>2]=on,on=nn[dn+444>>2],nn[dn+56>>2]=nn[dn+440>>2],nn[dn+60>>2]=on,on=nn[dn+460>>2],nn[dn+40>>2]=nn[dn+456>>2],nn[dn+44>>2]=on,on=nn[dn+532>>2],nn[dn+464>>2]=nn[dn+528>>2],nn[dn+468>>2]=on,on=nn[dn+436>>2],nn[dn+48>>2]=nn[dn+432>>2],nn[dn+52>>2]=on,on=nn[dn+452>>2],nn[dn+32>>2]=nn[dn+448>>2],nn[dn+36>>2]=on,aA(rn,dn+48|0,dn+32|0),on=nn[dn+540>>2],nn[dn+456>>2]=nn[dn+536>>2],nn[dn+460>>2]=on,on=nn[dn+396>>2],nn[dn+24>>2]=nn[dn+392>>2],nn[dn+28>>2]=on,on=nn[dn+444>>2],nn[dn+8>>2]=nn[dn+440>>2],nn[dn+12>>2]=on,on=nn[dn+532>>2],nn[dn+448>>2]=nn[dn+528>>2],nn[dn+452>>2]=on,on=nn[dn+388>>2],nn[dn+16>>2]=nn[dn+384>>2],nn[dn+20>>2]=on,on=nn[dn+436>>2],nn[dn>>2]=nn[dn+432>>2],nn[dn+4>>2]=on,aA(rn,dn+16|0,dn),nn[dn+444>>2]=hn^nn[dn+540>>2],nn[dn+440>>2]=Gn^nn[dn+536>>2],nn[dn+436>>2]=pn^nn[dn+532>>2],nn[dn+432>>2]=cn^nn[dn+528>>2]);e:{t:{n:{l:{a:{if(Wt){if(pn=16,en>>>0<16)break a;for(cn=0;L(Wt+cn|0,Pt+cn|0,dn+432|0),cn=on=pn,(pn=on+16|0)>>>0<=en>>>0;);}else{if(cn=16,en>>>0<16)break n;for(pn=0;L(dn+528|0,Pt+pn|0,dn+432|0),pn=on=cn,(cn=on+16|0)>>>0<=en>>>0;);}if(!(cn=15&en))break e;if(Wt)break l;break t}if(on=0,!(cn=en))break e}u(Wt+on|0,Pt+on|0,cn,dn+432|0);break e}if(on=0,!(cn=en))break e}u(dn+528|0,Pt+on|0,cn,dn+432|0)}J(dn+384|0,In,sn,en,dn+432|0),on=-1;e:{t:{if(Pt=In-16|0){if(16==(0|Pt))break t;break e}on=rA(dn+384|0,tn);break e}on=UA(dn+384|0,tn)}return!Wt|!on||VA(Wt,0,en),mn=dn+544|0,0|on},function(Wt,Pt,en,tn,In){var rn;return Wt|=0,tn|=0,In|=0,mn=rn=mn+-64|0,(Pt|=0)|(en|=0)&&(nn[rn+8>>2]=2036477234,nn[rn+12>>2]=1797285236,nn[rn>>2]=1634760805,nn[rn+4>>2]=857760878,nn[rn+16>>2]=an[0|In]|an[In+1|0]<<8|an[In+2|0]<<16|an[In+3|0]<<24,nn[rn+20>>2]=an[In+4|0]|an[In+5|0]<<8|an[In+6|0]<<16|an[In+7|0]<<24,nn[rn+24>>2]=an[In+8|0]|an[In+9|0]<<8|an[In+10|0]<<16|an[In+11|0]<<24,nn[rn+28>>2]=an[In+12|0]|an[In+13|0]<<8|an[In+14|0]<<16|an[In+15|0]<<24,nn[rn+32>>2]=an[In+16|0]|an[In+17|0]<<8|an[In+18|0]<<16|an[In+19|0]<<24,nn[rn+36>>2]=an[In+20|0]|an[In+21|0]<<8|an[In+22|0]<<16|an[In+23|0]<<24,nn[rn+40>>2]=an[In+24|0]|an[In+25|0]<<8|an[In+26|0]<<16|an[In+27|0]<<24,In=an[In+28|0]|an[In+29|0]<<8|an[In+30|0]<<16|an[In+31|0]<<24,nn[rn+48>>2]=0,nn[rn+52>>2]=0,nn[rn+44>>2]=In,nn[rn+56>>2]=an[0|tn]|an[tn+1|0]<<8|an[tn+2|0]<<16|an[tn+3|0]<<24,nn[rn+60>>2]=an[tn+4|0]|an[tn+5|0]<<8|an[tn+6|0]<<16|an[tn+7|0]<<24,P(rn,Wt=VA(Wt,0,Pt),Wt,Pt,en),MI(rn,64)),mn=rn- -64|0,0},function(Wt,Pt,en,tn,In){var rn;return Wt|=0,tn|=0,In|=0,mn=rn=mn+-64|0,(Pt|=0)|(en|=0)&&(nn[rn+8>>2]=2036477234,nn[rn+12>>2]=1797285236,nn[rn>>2]=1634760805,nn[rn+4>>2]=857760878,nn[rn+16>>2]=an[0|In]|an[In+1|0]<<8|an[In+2|0]<<16|an[In+3|0]<<24,nn[rn+20>>2]=an[In+4|0]|an[In+5|0]<<8|an[In+6|0]<<16|an[In+7|0]<<24,nn[rn+24>>2]=an[In+8|0]|an[In+9|0]<<8|an[In+10|0]<<16|an[In+11|0]<<24,nn[rn+28>>2]=an[In+12|0]|an[In+13|0]<<8|an[In+14|0]<<16|an[In+15|0]<<24,nn[rn+32>>2]=an[In+16|0]|an[In+17|0]<<8|an[In+18|0]<<16|an[In+19|0]<<24,nn[rn+36>>2]=an[In+20|0]|an[In+21|0]<<8|an[In+22|0]<<16|an[In+23|0]<<24,nn[rn+40>>2]=an[In+24|0]|an[In+25|0]<<8|an[In+26|0]<<16|an[In+27|0]<<24,In=an[In+28|0]|an[In+29|0]<<8|an[In+30|0]<<16|an[In+31|0]<<24,nn[rn+48>>2]=0,nn[rn+44>>2]=In,nn[rn+52>>2]=an[0|tn]|an[tn+1|0]<<8|an[tn+2|0]<<16|an[tn+3|0]<<24,nn[rn+56>>2]=an[tn+4|0]|an[tn+5|0]<<8|an[tn+6|0]<<16|an[tn+7|0]<<24,nn[rn+60>>2]=an[tn+8|0]|an[tn+9|0]<<8|an[tn+10|0]<<16|an[tn+11|0]<<24,P(rn,Wt=VA(Wt,0,Pt),Wt,Pt,en),MI(rn,64)),mn=rn- -64|0,0},function(Wt,Pt,en,tn,In,rn,sn,on){var cn;return Wt|=0,Pt|=0,In|=0,rn|=0,sn|=0,on|=0,mn=cn=mn+-64|0,(en|=0)|(tn|=0)&&(nn[cn+8>>2]=2036477234,nn[cn+12>>2]=1797285236,nn[cn>>2]=1634760805,nn[cn+4>>2]=857760878,nn[cn+16>>2]=an[0|on]|an[on+1|0]<<8|an[on+2|0]<<16|an[on+3|0]<<24,nn[cn+20>>2]=an[on+4|0]|an[on+5|0]<<8|an[on+6|0]<<16|an[on+7|0]<<24,nn[cn+24>>2]=an[on+8|0]|an[on+9|0]<<8|an[on+10|0]<<16|an[on+11|0]<<24,nn[cn+28>>2]=an[on+12|0]|an[on+13|0]<<8|an[on+14|0]<<16|an[on+15|0]<<24,nn[cn+32>>2]=an[on+16|0]|an[on+17|0]<<8|an[on+18|0]<<16|an[on+19|0]<<24,nn[cn+36>>2]=an[on+20|0]|an[on+21|0]<<8|an[on+22|0]<<16|an[on+23|0]<<24,nn[cn+40>>2]=an[on+24|0]|an[on+25|0]<<8|an[on+26|0]<<16|an[on+27|0]<<24,nn[cn+44>>2]=an[on+28|0]|an[on+29|0]<<8|an[on+30|0]<<16|an[on+31|0]<<24,nn[cn+48>>2]=rn,nn[cn+52>>2]=sn,nn[cn+56>>2]=an[0|In]|an[In+1|0]<<8|an[In+2|0]<<16|an[In+3|0]<<24,nn[cn+60>>2]=an[In+4|0]|an[In+5|0]<<8|an[In+6|0]<<16|an[In+7|0]<<24,P(cn,Pt,Wt,en,tn),MI(cn,64)),mn=cn- -64|0,0},function(Wt,Pt,en,tn,In,rn,sn){var on;return Wt|=0,Pt|=0,In|=0,rn|=0,sn|=0,mn=on=mn+-64|0,(en|=0)|(tn|=0)&&(nn[on+8>>2]=2036477234,nn[on+12>>2]=1797285236,nn[on>>2]=1634760805,nn[on+4>>2]=857760878,nn[on+16>>2]=an[0|sn]|an[sn+1|0]<<8|an[sn+2|0]<<16|an[sn+3|0]<<24,nn[on+20>>2]=an[sn+4|0]|an[sn+5|0]<<8|an[sn+6|0]<<16|an[sn+7|0]<<24,nn[on+24>>2]=an[sn+8|0]|an[sn+9|0]<<8|an[sn+10|0]<<16|an[sn+11|0]<<24,nn[on+28>>2]=an[sn+12|0]|an[sn+13|0]<<8|an[sn+14|0]<<16|an[sn+15|0]<<24,nn[on+32>>2]=an[sn+16|0]|an[sn+17|0]<<8|an[sn+18|0]<<16|an[sn+19|0]<<24,nn[on+36>>2]=an[sn+20|0]|an[sn+21|0]<<8|an[sn+22|0]<<16|an[sn+23|0]<<24,nn[on+40>>2]=an[sn+24|0]|an[sn+25|0]<<8|an[sn+26|0]<<16|an[sn+27|0]<<24,sn=an[sn+28|0]|an[sn+29|0]<<8|an[sn+30|0]<<16|an[sn+31|0]<<24,nn[on+48>>2]=rn,nn[on+44>>2]=sn,nn[on+52>>2]=an[0|In]|an[In+1|0]<<8|an[In+2|0]<<16|an[In+3|0]<<24,nn[on+56>>2]=an[In+4|0]|an[In+5|0]<<8|an[In+6|0]<<16|an[In+7|0]<<24,nn[on+60>>2]=an[In+8|0]|an[In+9|0]<<8|an[In+10|0]<<16|an[In+11|0]<<24,P(on,Pt,Wt,en,tn),MI(on,64)),mn=on- -64|0,0}],Gn.grow=function(Wt){var Pt=this.length;return this.length=this.length+Wt,Pt},Gn.set=function(Wt,Pt){this[Wt]=Pt},Gn.get=function(Wt){return this[Wt]},Gn);function RI(){return en.byteLength/65536|0}return{e:Object.create(Object.prototype,{grow:{value:function(Wt){Wt|=0;var sn=0|RI(),on=sn+Wt|0;if(sn>>0<4294967280?(JA(Wt,Wt+tn|0,0,en|=0,tn,an,In|=0,rn,sn|=0,cn|=0,dn|=0),Pt&&(an=(Wt=tn+16|0)>>>0<16?an+1|0:an,nn[Pt>>2]=Wt,nn[Pt+4>>2]=an)):(iI(),Q()),0},D:function(Wt,Pt,en,tn,nn,an,In,rn,sn,on,cn,dn){return 0|HA(Wt|=0,Pt|=0,en|=0,tn|=0,(Wt=0)|(nn|=0),an|=0,In|=0,Wt|(rn|=0),sn|=0,cn|=0,dn|=0)},E:function(Wt,Pt,en,tn,an,In,rn,sn,on,cn,dn){return Wt|=0,Pt|=0,tn|=0,rn|=0,on|=0,rn|=on=0,!(an|=0)&(tn|=on)>>>0<4294967280?(HA(Wt,Wt+tn|0,0,en|=0,tn,an,In|=0,rn,sn|=0,cn|=0,dn|=0),Pt&&(an=(Wt=tn+16|0)>>>0<16?an+1|0:an,nn[Pt>>2]=Wt,nn[Pt+4>>2]=an)):(iI(),Q()),0},F:function(Wt,Pt,en,tn,nn,an,In,rn,sn,on,cn){return 0|GA(Wt|=0,en|=0,(Wt=0)|(tn|=0),nn|=0,an|=0,In|=0,Wt|(rn|=0),sn|=0,on|=0,cn|=0)},G:function(Wt,Pt,en,tn,an,In,rn,sn,on,cn,dn){return Pt|=0,en|=0,tn|=0,an|=0,sn|=0,sn|=0,en=-1,!(In|=0)&(an|=0)>>>0>=16|In&&(en=GA(Wt|=0,tn,an-16|0,In-(an>>>0<16)|0,(tn+an|0)-16|0,rn|=0,sn,on|=0,cn|=0,dn|=0)),Pt&&(nn[Pt>>2]=en?0:an-16|0,nn[Pt+4>>2]=en?0:In-(an>>>0<16)|0),0|en},H:function(Wt,Pt,en,tn,nn,an,In,rn,sn,on,cn){return 0|pA(Wt|=0,en|=0,(Wt=0)|(tn|=0),nn|=0,an|=0,In|=0,Wt|(rn|=0),sn|=0,on|=0,cn|=0)},I:function(Wt,Pt,en,tn,an,In,rn,sn,on,cn,dn){return Pt|=0,en|=0,tn|=0,an|=0,sn|=0,sn|=0,en=-1,!(In|=0)&(an|=0)>>>0>=16|In&&(en=pA(Wt|=0,tn,an-16|0,In-(an>>>0<16)|0,(tn+an|0)-16|0,rn|=0,sn,on|=0,cn|=0,dn|=0)),Pt&&(nn[Pt>>2]=en?0:an-16|0,nn[Pt+4>>2]=en?0:In-(an>>>0<16)|0),0|en},J:_I,K:function(){return 12},L:YI,M:KI,N:HI,O:FI,P:_I,Q:UI,R:YI,S:KI,T:HI,U:FI,V:function(Wt,Pt,en,tn,nn,an,In,rn,sn,on,cn,dn){return 0|sA(Wt|=0,Pt|=0,en|=0,tn|=0,(Wt=0)|(nn|=0),an|=0,In|=0,Wt|(rn|=0),sn|=0,cn|=0,dn|=0)},W:function(Wt,Pt,en,tn,an,In,rn,sn,on,cn,dn){return Wt|=0,Pt|=0,tn|=0,rn|=0,on|=0,rn|=on=0,!(an|=0)&(tn|=on)>>>0<4294967280?(sA(Wt,Wt+tn|0,0,en|=0,tn,an,In|=0,rn,sn|=0,cn|=0,dn|=0),Pt&&(an=(Wt=tn+16|0)>>>0<16?an+1|0:an,nn[Pt>>2]=Wt,nn[Pt+4>>2]=an)):(iI(),Q()),0},X:function(Wt,Pt,en,tn,nn,an,In,rn,sn,on,cn){return 0|nA(Wt|=0,en|=0,(Wt=0)|(tn|=0),nn|=0,an|=0,In|=0,Wt|(rn|=0),sn|=0,on|=0,cn|=0)},Y:function(Wt,Pt,en,tn,an,In,rn,sn,on,cn,dn){return Pt|=0,en|=0,tn|=0,an|=0,sn|=0,sn|=0,en=-1,!(In|=0)&(an|=0)>>>0>=16|In&&(en=nA(Wt|=0,tn,an-16|0,In-(an>>>0<16)|0,(tn+an|0)-16|0,rn|=0,sn,on|=0,cn|=0,dn|=0)),Pt&&(nn[Pt>>2]=en?0:an-16|0,nn[Pt+4>>2]=en?0:In-(an>>>0<16)|0),0|en},Z:_I,_:pI,$:YI,aa:KI,ba:HI,ca:FI,da:_I,ea:_I,fa:function(Wt,Pt,en,an,In){var rn;return Wt|=0,Pt|=0,en|=0,an|=0,mn=rn=mn-480|0,wA(rn,In|=0,32),tI(rn,Pt,en,an),WA(rn,rn+416|0),Pt=nn[rn+444>>2],en=nn[rn+440>>2],tn[Wt+24|0]=en,tn[Wt+25|0]=en>>>8,tn[Wt+26|0]=en>>>16,tn[Wt+27|0]=en>>>24,tn[Wt+28|0]=Pt,tn[Wt+29|0]=Pt>>>8,tn[Wt+30|0]=Pt>>>16,tn[Wt+31|0]=Pt>>>24,Pt=nn[rn+436>>2],en=nn[rn+432>>2],tn[Wt+16|0]=en,tn[Wt+17|0]=en>>>8,tn[Wt+18|0]=en>>>16,tn[Wt+19|0]=en>>>24,tn[Wt+20|0]=Pt,tn[Wt+21|0]=Pt>>>8,tn[Wt+22|0]=Pt>>>16,tn[Wt+23|0]=Pt>>>24,Pt=nn[rn+428>>2],en=nn[rn+424>>2],tn[Wt+8|0]=en,tn[Wt+9|0]=en>>>8,tn[Wt+10|0]=en>>>16,tn[Wt+11|0]=en>>>24,tn[Wt+12|0]=Pt,tn[Wt+13|0]=Pt>>>8,tn[Wt+14|0]=Pt>>>16,tn[Wt+15|0]=Pt>>>24,Pt=nn[rn+420>>2],en=nn[rn+416>>2],tn[0|Wt]=en,tn[Wt+1|0]=en>>>8,tn[Wt+2|0]=en>>>16,tn[Wt+3|0]=en>>>24,tn[Wt+4|0]=Pt,tn[Wt+5|0]=Pt>>>8,tn[Wt+6|0]=Pt>>>16,tn[Wt+7|0]=Pt>>>24,mn=rn+480|0,0},ga:function(Wt,Pt,en,tn,an){var In,rn;return Wt|=0,Pt|=0,en|=0,tn|=0,mn=In=mn-512|0,wA(rn=In+32|0,an|=0,32),tI(rn,Pt,en,tn),WA(rn,In+448|0),Pt=nn[In+476>>2],nn[In+24>>2]=nn[In+472>>2],nn[In+28>>2]=Pt,Pt=nn[In+468>>2],nn[In+16>>2]=nn[In+464>>2],nn[In+20>>2]=Pt,Pt=nn[In+460>>2],nn[In+8>>2]=nn[In+456>>2],nn[In+12>>2]=Pt,Pt=nn[In+452>>2],nn[In>>2]=nn[In+448>>2],nn[In+4>>2]=Pt,Pt=UA(Wt,In),en=NA(In,Wt,32),mn=In+512|0,((0|Wt)==(0|In)?-1:Pt)|en},ha:FI,ia:_I,ja:_I,ka:_I,la:_I,ma:pI,na:KI,oa:HI,pa:function(Wt,Pt,en){Wt|=0,Pt|=0;var an,In=0;return mn=an=mn+-64|0,FA(an,en|=0,32,0),en=nn[an+28>>2],In=nn[an+24>>2],tn[Pt+24|0]=In,tn[Pt+25|0]=In>>>8,tn[Pt+26|0]=In>>>16,tn[Pt+27|0]=In>>>24,tn[Pt+28|0]=en,tn[Pt+29|0]=en>>>8,tn[Pt+30|0]=en>>>16,tn[Pt+31|0]=en>>>24,en=nn[an+20>>2],In=nn[an+16>>2],tn[Pt+16|0]=In,tn[Pt+17|0]=In>>>8,tn[Pt+18|0]=In>>>16,tn[Pt+19|0]=In>>>24,tn[Pt+20|0]=en,tn[Pt+21|0]=en>>>8,tn[Pt+22|0]=en>>>16,tn[Pt+23|0]=en>>>24,en=nn[an+12>>2],In=nn[an+8>>2],tn[Pt+8|0]=In,tn[Pt+9|0]=In>>>8,tn[Pt+10|0]=In>>>16,tn[Pt+11|0]=In>>>24,tn[Pt+12|0]=en,tn[Pt+13|0]=en>>>8,tn[Pt+14|0]=en>>>16,tn[Pt+15|0]=en>>>24,en=nn[an+4>>2],In=nn[an>>2],tn[0|Pt]=In,tn[Pt+1|0]=In>>>8,tn[Pt+2|0]=In>>>16,tn[Pt+3|0]=In>>>24,tn[Pt+4|0]=en,tn[Pt+5|0]=en>>>8,tn[Pt+6|0]=en>>>16,tn[Pt+7|0]=en>>>24,MI(an,64),Wt=hI(Wt,Pt),mn=an- -64|0,0|Wt},qa:cI,ra:OA,sa:$A,ta:function(Wt,Pt,en,tn,nn,an,In,rn){Wt|=0,Pt|=0,en|=0,an|=0;var sn,on=0;return on=tn|=0,tn=nn|=0,sn=0|on,mn=on=mn-32|0,nn=-1,OA(on,In|=0,rn|=0)||(nn=tA(Wt,Pt,en,sn,tn,an,on),MI(on,32)),mn=on+32|0,0|nn},ua:function(Wt,Pt,en,tn,nn,an){return Wt|=0,Pt|=0,nn|=0,an|=0,!(tn|=0)&(en|=0)>>>0>=4294967280|tn&&(iI(),Q()),0|tA(Wt+16|0,Wt,Pt,en,tn,nn,an)},va:function(Wt,Pt,en,tn,nn,an,In){return 0|zA(Wt|=0,Pt|=0,en|=0,tn|=0,nn|=0,an|=0,In|=0)},wa:AI,xa:function(Wt,Pt,en,tn,nn,an,In,rn){Wt|=0,Pt|=0,en|=0,an|=0;var sn,on=0;return on=tn|=0,tn=nn|=0,sn=0|on,mn=on=mn-32|0,nn=-1,OA(on,In|=0,rn|=0)||(nn=kA(Wt,Pt,en,sn,tn,an,on),MI(on,32)),mn=on+32|0,0|nn},ya:jA,za:function(Wt,Pt,en,tn,nn,an,In){return 0|xA(Wt|=0,Pt|=0,en|=0,tn|=0,nn|=0,an|=0,In|=0)},Aa:function(Wt,Pt,en,an,In){Wt|=0,Pt|=0,In|=0;var rn,sn,on,cn,dn=0,un=0;return dn=en|=0,en=an|=0,cn=0|dn,dn=an=mn,mn=rn=an-512&-64,an=-1,cI(sn=rn- -64|0,on=rn+32|0)||(j(an=rn+128|0,0,0,24),cA(an,sn,32,0),cA(an,In,32,0),ZA(an,un=rn+96|0,24),an=zA(Wt+32|0,Pt,cn,en,un,In,on),Pt=nn[rn+92>>2],en=nn[rn+88>>2],tn[Wt+24|0]=en,tn[Wt+25|0]=en>>>8,tn[Wt+26|0]=en>>>16,tn[Wt+27|0]=en>>>24,tn[Wt+28|0]=Pt,tn[Wt+29|0]=Pt>>>8,tn[Wt+30|0]=Pt>>>16,tn[Wt+31|0]=Pt>>>24,Pt=nn[rn+84>>2],en=nn[rn+80>>2],tn[Wt+16|0]=en,tn[Wt+17|0]=en>>>8,tn[Wt+18|0]=en>>>16,tn[Wt+19|0]=en>>>24,tn[Wt+20|0]=Pt,tn[Wt+21|0]=Pt>>>8,tn[Wt+22|0]=Pt>>>16,tn[Wt+23|0]=Pt>>>24,Pt=nn[rn+76>>2],en=nn[rn+72>>2],tn[Wt+8|0]=en,tn[Wt+9|0]=en>>>8,tn[Wt+10|0]=en>>>16,tn[Wt+11|0]=en>>>24,tn[Wt+12|0]=Pt,tn[Wt+13|0]=Pt>>>8,tn[Wt+14|0]=Pt>>>16,tn[Wt+15|0]=Pt>>>24,Pt=nn[rn+68>>2],en=nn[rn+64>>2],tn[0|Wt]=en,tn[Wt+1|0]=en>>>8,tn[Wt+2|0]=en>>>16,tn[Wt+3|0]=en>>>24,tn[Wt+4|0]=Pt,tn[Wt+5|0]=Pt>>>8,tn[Wt+6|0]=Pt>>>16,tn[Wt+7|0]=Pt>>>24,MI(on,32),MI(sn,32),MI(un,24)),mn=dn,0|an},Ba:function(Wt,Pt,en,tn,nn,an){Wt|=0,Pt|=0,nn|=0,an|=0;var In,rn,sn=0;return rn=sn=mn,mn=In=sn-448&-64,sn=-1,!(tn|=0)&(en|=0)>>>0>=48|tn&&(j(sn=In- -64|0,0,0,24),cA(sn,Pt,32,0),cA(sn,nn,32,0),ZA(sn,nn=In+32|0,24),sn=xA(Wt,Pt+32|0,en-32|0,tn-(en>>>0<32)|0,nn,Pt,an)),mn=rn,0|sn},Ca:function(){return 48},Da:KI,Ea:JI,Fa:_I,Ga:KI,Ha:JI,Ia:_I,Ja:function(){return 384},Ka:function(Wt,Pt,en,tn,nn,an,In){return 0|CA(Wt|=0,Pt|=0,en|=0,tn|=0,nn|=0,an|=0,In|=0)},La:j,Ma:function(Wt,Pt,en,tn){return 0|cA(Wt|=0,Pt|=0,en|=0,tn|=0)},Na:ZA,Oa:FI,Pa:JI,Qa:function(Wt,Pt,en,tn){return 0|FA(Wt|=0,Pt|=0,en|=0,tn|=0)},Ra:KI,Sa:JI,Ta:UI,Ua:_I,Va:function(Wt,Pt,en,tn,In,rn){Wt|=0,Pt|=0,en|=0,tn|=0,rn|=0;var sn,on=0,cn=0,dn=0,un=0,pn=0,bn=0,Gn=0;return mn=sn=mn-32|0,on=an[0|(In|=0)]|an[In+1|0]<<8|an[In+2|0]<<16|an[In+3|0]<<24,In=an[In+4|0]|an[In+5|0]<<8|an[In+6|0]<<16|an[In+7|0]<<24,nn[sn+24>>2]=0,nn[sn+28>>2]=0,nn[sn+16>>2]=on,nn[sn+20>>2]=In,nn[sn+8>>2]=0,nn[sn+12>>2]=0,nn[(In=sn)>>2]=en,nn[In+4>>2]=tn,Pt-65>>>0<=4294967246?(nn[9280]=28,Wt=-1):Pt-65>>>0<4294967232?Wt=-1:(mn=In=(dn=mn)-512&-64,!rn|!Wt|((cn=255&Pt)-65&255)>>>0<=191?(iI(),Q()):(tn=sn+16|0,sn?(un=725511199^(an[sn+8|0]|an[sn+9|0]<<8|an[sn+10|0]<<16|an[sn+11|0]<<24),pn=-1694144372^(an[sn+12|0]|an[sn+13|0]<<8|an[sn+14|0]<<16|an[sn+15|0]<<24),en=-1377402159^(an[0|sn]|an[sn+1|0]<<8|an[sn+2|0]<<16|an[sn+3|0]<<24),Pt=1359893119^(an[sn+4|0]|an[sn+5|0]<<8|an[sn+6|0]<<16|an[sn+7|0]<<24)):(un=725511199,pn=-1694144372,en=-1377402159,Pt=1359893119),tn?(bn=327033209^(an[tn+8|0]|an[tn+9|0]<<8|an[tn+10|0]<<16|an[tn+11|0]<<24),Gn=1541459225^(an[tn+12|0]|an[tn+13|0]<<8|an[tn+14|0]<<16|an[tn+15|0]<<24),on=-79577749^(an[0|tn]|an[tn+1|0]<<8|an[tn+2|0]<<16|an[tn+3|0]<<24),tn=528734635^(an[tn+4|0]|an[tn+5|0]<<8|an[tn+6|0]<<16|an[tn+7|0]<<24)):(bn=327033209,Gn=1541459225,on=-79577749,tn=528734635),VA(In- -64|0,0,293),nn[In+56>>2]=bn,nn[In+60>>2]=Gn,nn[In+48>>2]=on,nn[In+52>>2]=tn,nn[In+40>>2]=un,nn[In+44>>2]=pn,nn[In+32>>2]=en,nn[In+36>>2]=Pt,nn[In+24>>2]=1595750129,nn[In+28>>2]=-1521486534,nn[In+16>>2]=-23791573,nn[In+20>>2]=1013904242,nn[In+8>>2]=-2067093701,nn[In+12>>2]=-1150833019,nn[In>>2]=-222443256^(8192|cn),nn[In+4>>2]=1779033703,VA(32+(Pt=In+384|0)|0,0,96),TA(Pt,rn,32),TA(In+96|0,Pt,128),nn[In+352>>2]=128,MI(Pt,128),m(In,Wt,cn),mn=dn),Wt=0),mn=sn+32|0,0|Wt},Wa:FI,Xa:function(Wt,Pt,en){return 0|gA(Wt|=0,Pt|=0,en|=0)},Ya:function(Wt,Pt,en){return 0|kI(Wt|=0,Pt|=0,en|=0)},Za:function(Wt,Pt){return II(Wt|=0,Pt|=0),MI(Wt,4),0},_a:function(Wt,Pt,en,tn,nn){var an;return Wt|=0,tn|=0,nn|=0,mn=an=mn-208|0,gA(an,Pt|=0,en|=0),kI(an,tn,nn),II(an,Wt),MI(an,4),mn=an+208|0,0},$a:FI,ab:function(Wt,Pt,en,In,rn){Wt|=0,Pt|=0,en|=0,In|=0,rn|=0;var sn,on=0,cn=0,dn=0,un=0;if(mn=sn=mn-256|0,tn[sn+15|0]=1,Pt>>>0<=8160){if(Pt>>>0>=32)for(un=Wt-32|0,on=32;dn=on,gA(on=sn+48|0,rn,32),cn&&kI(on,cn+un|0,32),kI(on=sn+48|0,en,In),kI(on,sn+15|0,1),II(on,Wt+cn|0),tn[sn+15|0]=an[sn+15|0]+1,(on=(cn=dn)+32|0)>>>0<=Pt>>>0;);(cn=31&Pt)&&(gA(Pt=sn+48|0,rn,32),dn&&kI(Pt,(Wt+dn|0)-32|0,32),kI(Pt=sn+48|0,en,In),kI(Pt,sn+15|0,1),II(en=Pt,Pt=sn+16|0),TA(Wt+dn|0,Pt,cn),MI(Pt,32)),MI(sn+48|0,208),Wt=0}else nn[9280]=28,Wt=-1;return mn=sn+256|0,0|Wt},bb:_I,cb:YI,db:function(){return 8160},eb:NI,fb:function(Wt,Pt,en){return 0|wA(Wt|=0,Pt|=0,en|=0)},gb:function(Wt,Pt,en){return 0|tI(Wt|=0,Pt|=0,en|=0,0)},hb:function(Wt,Pt){return WA(Wt|=0,Pt|=0),MI(Wt,4),0},ib:function(Wt,Pt,en,tn,nn){var an;return Wt|=0,tn|=0,nn|=0,mn=an=mn-416|0,wA(an,Pt|=0,en|=0),tI(an,tn,nn,0),WA(an,Wt),MI(an,4),mn=an+416|0,0},jb:function(Wt){LA(Wt|=0,64)},kb:function(Wt,Pt,en,In,rn){Wt|=0,Pt|=0,en|=0,In|=0,rn|=0;var sn,on=0,cn=0,dn=0,un=0;if(mn=sn=mn-496|0,tn[sn+15|0]=1,Pt>>>0<=16320){if(Pt>>>0>=64)for(un=Wt+-64|0,on=64;dn=on,wA(on=sn+80|0,rn,64),cn&&tI(on,cn+un|0,64,0),tI(on=sn+80|0,en,In,0),tI(on,sn+15|0,1,0),WA(on,Wt+cn|0),tn[sn+15|0]=an[sn+15|0]+1,(on=(cn=dn)- -64|0)>>>0<=Pt>>>0;);(cn=63&Pt)&&(wA(Pt=sn+80|0,rn,64),dn&&tI(Pt,(Wt+dn|0)-64|0,64,0),tI(Pt=sn+80|0,en,In,0),tI(Pt,sn+15|0,1,0),WA(en=Pt,Pt=sn+16|0),TA(Wt+dn|0,Pt,cn),MI(Pt,64)),MI(sn+80|0,416),Wt=0}else nn[9280]=28,Wt=-1;return mn=sn+496|0,0|Wt},lb:JI,mb:YI,nb:function(){return 16320},ob:function(){return 416},pb:function(Wt,Pt,en){return Wt|=0,CA(Pt|=0,32,en|=0,32,0,0,0),0|fI(Wt,Pt)},qb:function(Wt,Pt){return Wt|=0,LA(Pt|=0,32),0|fI(Wt,Pt)},rb:function(Wt,Pt,en,nn,In){Pt|=0,en|=0,nn|=0,In|=0;var rn,sn,on=0,cn=0,dn=0;if(sn=on=mn,mn=on=on-512&-64,rn=(Wt|=0)||Pt){if(dn=-1,!EI(cn=on+96|0,nn,In)){for(nn=Pt||Wt,Wt=0,j(Pt=on+128|0,0,0,64),cA(Pt,cn,32,0),MI(cn,32),cA(Pt,en,32,0),cA(Pt,In,32,0),ZA(Pt,on+32|0,64),MI(Pt,384);en=(Pt=on+32|0)+Wt|0,tn[Wt+rn|0]=an[0|en],tn[Wt+nn|0]=an[en+32|0],tn[(en=1|Wt)+rn|0]=an[Pt+en|0],tn[en+nn|0]=an[Pt+(33|Wt)|0],32!=(0|(Wt=Wt+2|0)););MI(Pt,64),dn=0}return mn=sn,0|dn}iI(),Q()},sb:function(Wt,Pt,en,nn,In){Pt|=0,en|=0,nn|=0,In|=0;var rn,sn,on=0,cn=0,dn=0;if(sn=on=mn,mn=on=on-512&-64,rn=(Wt|=0)||Pt){if(dn=-1,!EI(cn=on+96|0,nn,In)){for(nn=Pt||Wt,Wt=0,j(Pt=on+128|0,0,0,64),cA(Pt,cn,32,0),MI(cn,32),cA(Pt,In,32,0),cA(Pt,en,32,0),ZA(Pt,on+32|0,64),MI(Pt,384);en=(Pt=on+32|0)+Wt|0,tn[Wt+nn|0]=an[0|en],tn[Wt+rn|0]=an[en+32|0],tn[(en=1|Wt)+nn|0]=an[Pt+en|0],tn[en+rn|0]=an[Pt+(33|Wt)|0],32!=(0|(Wt=Wt+2|0)););MI(Pt,64),dn=0}return mn=sn,0|dn}iI(),Q()},tb:_I,ub:_I,vb:_I,wb:_I,xb:fI,yb:EI,zb:_I,Ab:_I,Bb:_I,Cb:pI,Db:KI,Eb:HI,Fb:FI,Gb:$A,Hb:function(Wt,Pt,en,tn,nn,an){return Wt|=0,Pt|=0,nn|=0,an|=0,!(tn|=0)&(en|=0)>>>0>=4294967280|tn&&(iI(),Q()),tA(Wt+16|0,Wt,Pt,en,tn,nn,an),0},Ib:AI,Jb:jA,Kb:FI,Lb:function(Wt,Pt,en){return Wt|=0,en|=0,LA(Pt|=0,24),$(Wt,Pt,en),tn[Wt+32|0]=1,tn[Wt+33|0]=0,tn[Wt+34|0]=0,tn[Wt+35|0]=0,en=an[Pt+16|0]|an[Pt+17|0]<<8|an[Pt+18|0]<<16|an[Pt+19|0]<<24,Pt=an[Pt+20|0]|an[Pt+21|0]<<8|an[Pt+22|0]<<16|an[Pt+23|0]<<24,tn[Wt+44|0]=0,tn[Wt+45|0]=0,tn[Wt+46|0]=0,tn[Wt+47|0]=0,tn[Wt+48|0]=0,tn[Wt+49|0]=0,tn[Wt+50|0]=0,tn[Wt+51|0]=0,tn[Wt+36|0]=en,tn[Wt+37|0]=en>>>8,tn[Wt+38|0]=en>>>16,tn[Wt+39|0]=en>>>24,tn[Wt+40|0]=Pt,tn[Wt+41|0]=Pt>>>8,tn[Wt+42|0]=Pt>>>16,tn[Wt+43|0]=Pt>>>24,0},Mb:function(Wt,Pt,en){return $(Wt|=0,Pt|=0,en|=0),tn[Wt+32|0]=1,tn[Wt+33|0]=0,tn[Wt+34|0]=0,tn[Wt+35|0]=0,en=an[Pt+16|0]|an[Pt+17|0]<<8|an[Pt+18|0]<<16|an[Pt+19|0]<<24,Pt=an[Pt+20|0]|an[Pt+21|0]<<8|an[Pt+22|0]<<16|an[Pt+23|0]<<24,tn[Wt+44|0]=0,tn[Wt+45|0]=0,tn[Wt+46|0]=0,tn[Wt+47|0]=0,tn[Wt+48|0]=0,tn[Wt+49|0]=0,tn[Wt+50|0]=0,tn[Wt+51|0]=0,tn[Wt+36|0]=en,tn[Wt+37|0]=en>>>8,tn[Wt+38|0]=en>>>16,tn[Wt+39|0]=en>>>24,tn[Wt+40|0]=Pt,tn[Wt+41|0]=Pt>>>8,tn[Wt+42|0]=Pt>>>16,tn[Wt+43|0]=Pt>>>24,0},Nb:function(Wt){var Pt,en=0,In=0;mn=Pt=mn-48|0,en=an[28+(Wt|=0)|0]|an[Wt+29|0]<<8|an[Wt+30|0]<<16|an[Wt+31|0]<<24,nn[Pt+24>>2]=an[Wt+24|0]|an[Wt+25|0]<<8|an[Wt+26|0]<<16|an[Wt+27|0]<<24,nn[Pt+28>>2]=en,en=an[Wt+20|0]|an[Wt+21|0]<<8|an[Wt+22|0]<<16|an[Wt+23|0]<<24,nn[Pt+16>>2]=an[Wt+16|0]|an[Wt+17|0]<<8|an[Wt+18|0]<<16|an[Wt+19|0]<<24,nn[Pt+20>>2]=en,en=an[Wt+4|0]|an[Wt+5|0]<<8|an[Wt+6|0]<<16|an[Wt+7|0]<<24,nn[Pt>>2]=an[0|Wt]|an[Wt+1|0]<<8|an[Wt+2|0]<<16|an[Wt+3|0]<<24,nn[Pt+4>>2]=en,en=an[Wt+12|0]|an[Wt+13|0]<<8|an[Wt+14|0]<<16|an[Wt+15|0]<<24,nn[Pt+8>>2]=an[Wt+8|0]|an[Wt+9|0]<<8|an[Wt+10|0]<<16|an[Wt+11|0]<<24,nn[Pt+12>>2]=en,en=an[Wt+40|0]|an[Wt+41|0]<<8|an[Wt+42|0]<<16|an[Wt+43|0]<<24,nn[Pt+32>>2]=an[Wt+36|0]|an[Wt+37|0]<<8|an[Wt+38|0]<<16|an[Wt+39|0]<<24,nn[Pt+36>>2]=en,yI(Pt,Pt,Wt+32|0,Wt),en=nn[Pt+28>>2],In=nn[Pt+24>>2],tn[Wt+24|0]=In,tn[Wt+25|0]=In>>>8,tn[Wt+26|0]=In>>>16,tn[Wt+27|0]=In>>>24,tn[Wt+28|0]=en,tn[Wt+29|0]=en>>>8,tn[Wt+30|0]=en>>>16,tn[Wt+31|0]=en>>>24,en=nn[Pt+20>>2],In=nn[Pt+16>>2],tn[Wt+16|0]=In,tn[Wt+17|0]=In>>>8,tn[Wt+18|0]=In>>>16,tn[Wt+19|0]=In>>>24,tn[Wt+20|0]=en,tn[Wt+21|0]=en>>>8,tn[Wt+22|0]=en>>>16,tn[Wt+23|0]=en>>>24,en=nn[Pt+12>>2],In=nn[Pt+8>>2],tn[Wt+8|0]=In,tn[Wt+9|0]=In>>>8,tn[Wt+10|0]=In>>>16,tn[Wt+11|0]=In>>>24,tn[Wt+12|0]=en,tn[Wt+13|0]=en>>>8,tn[Wt+14|0]=en>>>16,tn[Wt+15|0]=en>>>24,en=nn[Pt+4>>2],In=nn[Pt>>2],tn[0|Wt]=In,tn[Wt+1|0]=In>>>8,tn[Wt+2|0]=In>>>16,tn[Wt+3|0]=In>>>24,tn[Wt+4|0]=en,tn[Wt+5|0]=en>>>8,tn[Wt+6|0]=en>>>16,tn[Wt+7|0]=en>>>24,In=nn[Pt+36>>2],en=nn[Pt+32>>2],tn[Wt+32|0]=1,tn[Wt+33|0]=0,tn[Wt+34|0]=0,tn[Wt+35|0]=0,tn[Wt+36|0]=en,tn[Wt+37|0]=en>>>8,tn[Wt+38|0]=en>>>16,tn[Wt+39|0]=en>>>24,tn[Wt+40|0]=In,tn[Wt+41|0]=In>>>8,tn[Wt+42|0]=In>>>16,tn[Wt+43|0]=In>>>24,mn=Pt+48|0},Ob:function(Wt,Pt,en,In,rn,sn,on,cn,dn,un){Wt|=0,Pt|=0,In|=0,sn|=0,on|=0,dn|=0,un|=0;var pn,bn=0,Gn=0,hn=0;return bn=rn|=0,bn|=rn=0,pn=rn|(cn|=0),mn=rn=mn-384|0,(en|=0)&&(nn[en>>2]=0,nn[en+4>>2]=0),!sn&bn>>>0<4294967279?(eI(Gn=rn+16|0,64,hn=Wt+32|0,Wt),nI(cn=rn+80|0,Gn),MI(Gn,64),rI(cn,on,pn,dn),rI(cn,34736,0-pn&15,0),nn[rn+72>>2]=0,nn[rn+76>>2]=0,nn[(on=rn- -64|0)>>2]=0,nn[on+4>>2]=0,nn[rn+56>>2]=0,nn[rn+60>>2]=0,nn[rn+48>>2]=0,nn[rn+52>>2]=0,nn[rn+40>>2]=0,nn[rn+44>>2]=0,nn[rn+32>>2]=0,nn[rn+36>>2]=0,nn[rn+16>>2]=0,nn[rn+20>>2]=0,nn[rn+24>>2]=0,nn[rn+28>>2]=0,tn[rn+16|0]=un,vA(Gn,Gn,64,0,hn,1,Wt),rI(cn,Gn,64,0),tn[0|Pt]=an[rn+16|0],vA(Pt=Pt+1|0,In,bn,sn,hn,2,Wt),rI(cn,Pt,bn,sn),rI(cn,34736,15&bn,0),nn[rn+8>>2]=pn,nn[rn+12>>2]=dn,rI(cn,In=rn+8|0,8,0),nn[rn+8>>2]=bn- -64,nn[rn+12>>2]=sn-((bn>>>0<4294967232)-1|0),rI(cn,In,8,0),sI(cn,Pt=Pt+bn|0),MI(cn,256),tn[Wt+36|0]=an[Wt+36|0]^an[0|Pt],tn[Wt+37|0]=an[Wt+37|0]^an[Pt+1|0],tn[Wt+38|0]=an[Wt+38|0]^an[Pt+2|0],tn[Wt+39|0]=an[Wt+39|0]^an[Pt+3|0],tn[Wt+40|0]=an[Wt+40|0]^an[Pt+4|0],tn[Wt+41|0]=an[Wt+41|0]^an[Pt+5|0],tn[Wt+42|0]=an[Wt+42|0]^an[Pt+6|0],tn[Wt+43|0]=an[Wt+43|0]^an[Pt+7|0],dA(hn),(2&un||SA(hn,4))&&(Pt=an[Wt+28|0]|an[Wt+29|0]<<8|an[Wt+30|0]<<16|an[Wt+31|0]<<24,nn[rn+360>>2]=an[Wt+24|0]|an[Wt+25|0]<<8|an[Wt+26|0]<<16|an[Wt+27|0]<<24,nn[rn+364>>2]=Pt,Pt=an[Wt+20|0]|an[Wt+21|0]<<8|an[Wt+22|0]<<16|an[Wt+23|0]<<24,nn[rn+352>>2]=an[Wt+16|0]|an[Wt+17|0]<<8|an[Wt+18|0]<<16|an[Wt+19|0]<<24,nn[rn+356>>2]=Pt,Pt=an[Wt+4|0]|an[Wt+5|0]<<8|an[Wt+6|0]<<16|an[Wt+7|0]<<24,nn[rn+336>>2]=an[0|Wt]|an[Wt+1|0]<<8|an[Wt+2|0]<<16|an[Wt+3|0]<<24,nn[rn+340>>2]=Pt,Pt=an[Wt+12|0]|an[Wt+13|0]<<8|an[Wt+14|0]<<16|an[Wt+15|0]<<24,nn[rn+344>>2]=an[Wt+8|0]|an[Wt+9|0]<<8|an[Wt+10|0]<<16|an[Wt+11|0]<<24,nn[rn+348>>2]=Pt,Pt=an[Wt+40|0]|an[Wt+41|0]<<8|an[Wt+42|0]<<16|an[Wt+43|0]<<24,nn[rn+368>>2]=an[Wt+36|0]|an[Wt+37|0]<<8|an[Wt+38|0]<<16|an[Wt+39|0]<<24,nn[rn+372>>2]=Pt,yI(Pt=rn+336|0,Pt,hn,Wt),Pt=nn[rn+364>>2],In=nn[rn+360>>2],tn[Wt+24|0]=In,tn[Wt+25|0]=In>>>8,tn[Wt+26|0]=In>>>16,tn[Wt+27|0]=In>>>24,tn[Wt+28|0]=Pt,tn[Wt+29|0]=Pt>>>8,tn[Wt+30|0]=Pt>>>16,tn[Wt+31|0]=Pt>>>24,Pt=nn[rn+356>>2],In=nn[rn+352>>2],tn[Wt+16|0]=In,tn[Wt+17|0]=In>>>8,tn[Wt+18|0]=In>>>16,tn[Wt+19|0]=In>>>24,tn[Wt+20|0]=Pt,tn[Wt+21|0]=Pt>>>8,tn[Wt+22|0]=Pt>>>16,tn[Wt+23|0]=Pt>>>24,Pt=nn[rn+348>>2],In=nn[rn+344>>2],tn[Wt+8|0]=In,tn[Wt+9|0]=In>>>8,tn[Wt+10|0]=In>>>16,tn[Wt+11|0]=In>>>24,tn[Wt+12|0]=Pt,tn[Wt+13|0]=Pt>>>8,tn[Wt+14|0]=Pt>>>16,tn[Wt+15|0]=Pt>>>24,Pt=nn[rn+340>>2],In=nn[rn+336>>2],tn[0|Wt]=In,tn[Wt+1|0]=In>>>8,tn[Wt+2|0]=In>>>16,tn[Wt+3|0]=In>>>24,tn[Wt+4|0]=Pt,tn[Wt+5|0]=Pt>>>8,tn[Wt+6|0]=Pt>>>16,tn[Wt+7|0]=Pt>>>24,Pt=nn[rn+368>>2],In=nn[rn+372>>2],tn[Wt+32|0]=1,tn[Wt+33|0]=0,tn[Wt+34|0]=0,tn[Wt+35|0]=0,tn[Wt+36|0]=Pt,tn[Wt+37|0]=Pt>>>8,tn[Wt+38|0]=Pt>>>16,tn[Wt+39|0]=Pt>>>24,tn[Wt+40|0]=In,tn[Wt+41|0]=In>>>8,tn[Wt+42|0]=In>>>16,tn[Wt+43|0]=In>>>24),en&&(sn=(Wt=bn+17|0)>>>0<17?sn+1|0:sn,nn[en>>2]=Wt,nn[en+4>>2]=sn),mn=rn+384|0):(iI(),Q()),0},Pb:function(Wt,Pt,en,In,rn,sn,on,cn,dn,un){Wt|=0,Pt|=0,In|=0,rn|=0,cn|=0,un|=0;var pn,bn=0,Gn=0,hn=0,Zn=0,An=0,Wn=0;bn=sn|=0,sn=on|=0,Gn=0|bn,pn=dn|=0,mn=on=mn-400|0,(en|=0)&&(nn[en>>2]=0,nn[en+4>>2]=0),In&&(tn[0|In]=255),Wn=-1;e:{t:{if(!((dn=Gn>>>0<17)&!sn)){if(An=bn=sn-dn|0,!bn&(dn=Gn-17|0)>>>0>=4294967279|bn)break t;eI(hn=on+32|0,64,Zn=Wt+32|0,Wt),nI(bn=on+96|0,hn),MI(hn,64),rI(bn,cn,pn,un),rI(bn,34736,0-pn&15,0),nn[on+88>>2]=0,nn[on+92>>2]=0,nn[on+80>>2]=0,nn[on+84>>2]=0,nn[on+72>>2]=0,nn[on+76>>2]=0,nn[(cn=on- -64|0)>>2]=0,nn[cn+4>>2]=0,nn[on+56>>2]=0,nn[on+60>>2]=0,nn[on+48>>2]=0,nn[on+52>>2]=0,nn[on+40>>2]=0,nn[on+44>>2]=0,nn[on+32>>2]=0,nn[on+36>>2]=0,tn[on+32|0]=an[0|rn],vA(hn,hn,64,0,Zn,1,Wt),cn=an[on+32|0],tn[on+32|0]=an[0|rn],rI(bn,hn,64,0),rI(bn,rn=rn+1|0,dn,An),rI(bn,34736,Gn-1&15,0),nn[on+24>>2]=pn,nn[on+28>>2]=un,rI(bn,un=on+24|0,8,0),sn=(Gn=Gn+47|0)>>>0<47?sn+1|0:sn,nn[on+24>>2]=Gn,nn[on+28>>2]=sn,rI(bn,un,8,0),sI(bn,on),MI(bn,256),NA(on,rn+dn|0,16)?MI(on,16):(vA(Pt,rn,dn,An,Zn,2,Wt),tn[Wt+36|0]=an[Wt+36|0]^an[0|on],tn[Wt+37|0]=an[Wt+37|0]^an[on+1|0],tn[Wt+38|0]=an[Wt+38|0]^an[on+2|0],tn[Wt+39|0]=an[Wt+39|0]^an[on+3|0],tn[Wt+40|0]=an[Wt+40|0]^an[on+4|0],tn[Wt+41|0]=an[Wt+41|0]^an[on+5|0],tn[Wt+42|0]=an[Wt+42|0]^an[on+6|0],tn[Wt+43|0]=an[Wt+43|0]^an[on+7|0],dA(Zn),(2&cn||SA(Zn,4))&&(Pt=an[Wt+28|0]|an[Wt+29|0]<<8|an[Wt+30|0]<<16|an[Wt+31|0]<<24,nn[on+376>>2]=an[Wt+24|0]|an[Wt+25|0]<<8|an[Wt+26|0]<<16|an[Wt+27|0]<<24,nn[on+380>>2]=Pt,Pt=an[Wt+20|0]|an[Wt+21|0]<<8|an[Wt+22|0]<<16|an[Wt+23|0]<<24,nn[on+368>>2]=an[Wt+16|0]|an[Wt+17|0]<<8|an[Wt+18|0]<<16|an[Wt+19|0]<<24,nn[on+372>>2]=Pt,Pt=an[Wt+4|0]|an[Wt+5|0]<<8|an[Wt+6|0]<<16|an[Wt+7|0]<<24,nn[on+352>>2]=an[0|Wt]|an[Wt+1|0]<<8|an[Wt+2|0]<<16|an[Wt+3|0]<<24,nn[on+356>>2]=Pt,Pt=an[Wt+12|0]|an[Wt+13|0]<<8|an[Wt+14|0]<<16|an[Wt+15|0]<<24,nn[on+360>>2]=an[Wt+8|0]|an[Wt+9|0]<<8|an[Wt+10|0]<<16|an[Wt+11|0]<<24,nn[on+364>>2]=Pt,Pt=an[Wt+40|0]|an[Wt+41|0]<<8|an[Wt+42|0]<<16|an[Wt+43|0]<<24,nn[on+384>>2]=an[Wt+36|0]|an[Wt+37|0]<<8|an[Wt+38|0]<<16|an[Wt+39|0]<<24,nn[on+388>>2]=Pt,yI(Pt=on+352|0,Pt,Zn,Wt),Pt=nn[on+380>>2],rn=nn[on+376>>2],tn[Wt+24|0]=rn,tn[Wt+25|0]=rn>>>8,tn[Wt+26|0]=rn>>>16,tn[Wt+27|0]=rn>>>24,tn[Wt+28|0]=Pt,tn[Wt+29|0]=Pt>>>8,tn[Wt+30|0]=Pt>>>16,tn[Wt+31|0]=Pt>>>24,Pt=nn[on+372>>2],rn=nn[on+368>>2],tn[Wt+16|0]=rn,tn[Wt+17|0]=rn>>>8,tn[Wt+18|0]=rn>>>16,tn[Wt+19|0]=rn>>>24,tn[Wt+20|0]=Pt,tn[Wt+21|0]=Pt>>>8,tn[Wt+22|0]=Pt>>>16,tn[Wt+23|0]=Pt>>>24,Pt=nn[on+364>>2],rn=nn[on+360>>2],tn[Wt+8|0]=rn,tn[Wt+9|0]=rn>>>8,tn[Wt+10|0]=rn>>>16,tn[Wt+11|0]=rn>>>24,tn[Wt+12|0]=Pt,tn[Wt+13|0]=Pt>>>8,tn[Wt+14|0]=Pt>>>16,tn[Wt+15|0]=Pt>>>24,Pt=nn[on+356>>2],rn=nn[on+352>>2],tn[0|Wt]=rn,tn[Wt+1|0]=rn>>>8,tn[Wt+2|0]=rn>>>16,tn[Wt+3|0]=rn>>>24,tn[Wt+4|0]=Pt,tn[Wt+5|0]=Pt>>>8,tn[Wt+6|0]=Pt>>>16,tn[Wt+7|0]=Pt>>>24,Pt=nn[on+384>>2],rn=nn[on+388>>2],tn[Wt+32|0]=1,tn[Wt+33|0]=0,tn[Wt+34|0]=0,tn[Wt+35|0]=0,tn[Wt+36|0]=Pt,tn[Wt+37|0]=Pt>>>8,tn[Wt+38|0]=Pt>>>16,tn[Wt+39|0]=Pt>>>24,tn[Wt+40|0]=rn,tn[Wt+41|0]=rn>>>8,tn[Wt+42|0]=rn>>>16,tn[Wt+43|0]=rn>>>24),en&&(nn[en>>2]=dn,nn[en+4>>2]=An),Wn=0,In&&(tn[0|In]=cn))}mn=on+400|0;break e}iI(),Q()}return 0|Wn},Qb:function(){return 52},Rb:function(){return 17},Sb:pI,Tb:_I,Ub:function(){return-18},Vb:YI,Wb:dI,Xb:bI,Yb:function(){return 3},Zb:UI,_b:KI,$b:function(Wt,Pt,en,nn,In){Wt|=0,Pt|=0,en|=0,nn|=0;var rn,sn,on=0,cn=0,dn=0,un=0,pn=0,mn=0,Gn=0,hn=0,Zn=0,An=0,Wn=0,Nn=0,gn=0,yn=0;if(gn=1886610805^(on=an[0|(In|=0)]|an[In+1|0]<<8|an[In+2|0]<<16|an[In+3|0]<<24),Gn=1936682341^(cn=an[In+4|0]|an[In+5|0]<<8|an[In+6|0]<<16|an[In+7|0]<<24),on^=1852142177,dn=1819895653^cn,yn=1852075885^(cn=an[In+8|0]|an[In+9|0]<<8|an[In+10|0]<<16|an[In+11|0]<<24),Wn=1685025377^(In=an[In+12|0]|an[In+13|0]<<8|an[In+14|0]<<16|an[In+15|0]<<24),pn=2037671283^cn,cn=1952801890^In,An=en,(0|(sn=(en+Pt|0)-(rn=7&en)|0))!=(0|Pt))for(;en=(un=cn^(Nn=an[Pt+4|0]|an[Pt+5|0]<<8|an[Pt+6|0]<<16|an[Pt+7|0]<<24))+dn|0,pn=nn=on+(In=pn^(hn=an[0|Pt]|an[Pt+1|0]<<8|an[Pt+2|0]<<16|an[Pt+3|0]<<24))|0,Zn=en=nn>>>0>>0?en+1|0:en,on=nn,nn=en,en=Gn+Wn|0,en=(cn=gn+yn|0)>>>0>>0?en+1|0:en,mn=(dn=_A(yn,Wn,13)^cn)+on|0,nn=(on=bn^en)+nn|0,on=_A(dn,on,17)^mn,Wn=_A(on,nn=(dn=dn>>>0>mn>>>0?nn+1|0:nn)^bn,13),Gn=bn,un=_A(In,un,16),In=Zn^bn,un^=pn,Zn=_A(cn,en,32),en=bn+In|0,en=(pn=nn)+(nn=(cn=un+Zn|0)>>>0>>0?en+1|0:en)|0,Zn=en=(pn=on+cn|0)>>>0>>0?en+1|0:en,Wn=_A(on=pn^Wn,en^=Gn,17),Gn=bn,un=_A(un,In,21),In=nn^bn,un^=cn,cn=_A(mn,dn,32),nn=bn+In|0,en=(cn=cn>>>0>(dn=un+cn|0)>>>0?nn+1|0:nn)+en|0,yn=(on=on+dn|0)^Wn,nn=en=on>>>0>>0?en+1|0:en,Wn=en^Gn,en=_A(un,In,16),un=cn^=bn,mn=_A(en^=dn,cn,21),dn=bn,Zn=(cn=_A(pn,Zn,32))+en|0,en=bn+un|0,pn=mn^Zn,cn=(en=cn>>>0>Zn>>>0?en+1|0:en)^dn,on=_A(on,nn,32),dn=bn,gn=Zn^hn,Gn=en^Nn,(0|sn)!=(0|(Pt=Pt+8|0)););switch(Nn=0,mn=An<<24,rn-1|0){case 6:mn|=an[Pt+6|0]<<16;case 5:mn|=an[Pt+5|0]<<8;case 4:mn|=an[Pt+4|0];case 3:Nn|=(en=an[Pt+3|0])<<24,mn|=nn=en>>>8|0;case 2:Nn|=(nn=an[Pt+2|0])<<16,mn|=en=nn>>>16|0;case 1:Nn|=(en=an[Pt+1|0])<<8,mn|=nn=en>>>24|0;case 0:Nn=an[0|Pt]|Nn}return Pt=Wt,nn=_A(In=pn^Nn,Wt=cn^mn,16),Wt=Wt+dn|0,cn=Wt=(Zn=In+on|0)>>>0>>0?Wt+1|0:Wt,hn=_A(In=nn^Zn,Wt^=en=bn,21),dn=bn,en=Gn+Wn|0,nn=en=(on=gn+yn|0)>>>0>>0?en+1|0:en,un=In,In=_A(on,en,32),en=bn+Wt|0,Wt=dn,dn=en=In>>>0>(pn=un+In|0)>>>0?en+1|0:en,Gn=_A(In=pn^hn,Wt^=en,16),un=bn,en=(on=An=_A(yn,Wn,13)^on)+Zn|0,nn=(hn=bn^nn)+cn|0,Zn=In,In=_A(en,nn=en>>>0>>0?nn+1|0:nn,32),Wt=bn+Wt|0,Gn=_A(on=Gn^(Zn=Zn+In|0),In=(cn=In>>>0>Zn>>>0?Wt+1|0:Wt)^un,21),un=bn,An=_A(An,hn,17)^en,en=(hn=bn^nn)+dn|0,Wt=en=(nn=pn=(Wt=An)+pn|0)>>>0>>0?en+1|0:en,dn=on,on=_A(nn,en,32),en=bn+In|0,un=en=(on=on>>>0>(dn=dn+on|0)>>>0?en+1|0:en)^un,Gn=_A(Wn=dn^Gn,en,16),pn=bn,An=_A(An,hn,13)^nn,Wt=(hn=Wt^bn)+cn|0,nn=Wt=(en=An)>>>0>(In=en+Zn|0)>>>0?Wt+1|0:Wt,Wt=_A(In,Wt,32),en=un+bn|0,un=en=(cn=(Wt=Wn+(255^Wt)|0)>>>0>>0?en+1|0:en)^pn,Zn=Wt,Gn=_A(Wn=Gn^Wt,en,21),pn=bn,An=_A(An,hn,17)^In,en=(hn=nn^bn)+(on^mn)|0,nn=en=(Wt=dn^Nn)>>>0>(In=An+Wt|0)>>>0?en+1|0:en,Wt=_A(In,en,32),en=un+bn|0,un=en=(on=(Wt=Wt+Wn|0)>>>0>>0?en+1|0:en)^pn,dn=Wt,mn=_A(Gn^=Wt,en,16),pn=bn,An=_A(An,hn,13)^In,Wt=cn+(hn=bn^nn)|0,Wt=_A(In=Zn+An|0,en=Wt=In>>>0>>0?Wt+1|0:Wt,32),nn=un+bn|0,un=nn=(cn=(Wt=Wt+Gn|0)>>>0>>0?nn+1|0:nn)^pn,Zn=Wt,mn=_A(Gn=mn^Wt,nn,21),pn=bn,Wt=_A(An,hn,17),en=on+(An=en^bn)|0,nn=en=(In=dn+(hn=Wt^In)|0)>>>0>>0?en+1|0:en,Wt=_A(In,en,32),en=un+bn|0,dn=Wt=Wt+Gn|0,on=en=Wt>>>0>>0?en+1|0:en,mn=_A(un=mn^Wt,en^=pn,16),pn=bn,Wt=_A(hn,An,13),nn=cn+(An=nn^bn)|0,Wt=_A(In=Zn+(hn=Wt^In)|0,nn=In>>>0>>0?nn+1|0:nn,32),en=en+bn|0,un=en=(cn=(Wt=Wt+un|0)>>>0>>0?en+1|0:en)^pn,Zn=Wt,mn=_A(Gn=mn^Wt,en,21),pn=bn,Wt=_A(hn,An,17),en=on+(An=nn^bn)|0,nn=en=(In=dn+(hn=Wt^In)|0)>>>0>>0?en+1|0:en,en=_A(In,en,32),Wt=un+bn|0,un=Wt=(on=(en=en+Gn|0)>>>0>>0?Wt+1|0:Wt)^pn,dn=en,mn=_A(Gn=mn^en,Wt,16),pn=bn,Wt=_A(hn,An,13),en=cn+(An=nn^bn)|0,nn=en=(In=Zn+(hn=Wt^In)|0)>>>0>>0?en+1|0:en,Wt=_A(In,en,32),en=un+bn|0,cn=Wt=Wt+Gn|0,mn=_A(mn^Wt,(en=Wt>>>0>>0?en+1|0:en)^pn,21),pn=bn,In=_A(hn,An,17)^In,Zn=_A(In,Wt=nn^bn,13),Wt=Wt+on|0,nn=Wt=bn^((In=In+dn|0)>>>0>>0?Wt+1:Wt),In=_A(on=In^Zn,Wt,17)^mn,Wt=bn^pn,nn=en+nn|0,en=_A(en=on+cn|0,nn=en>>>0>>0?nn+1|0:nn,32)^In^en,tn[0|Pt]=en,tn[Pt+1|0]=en>>>8,tn[Pt+2|0]=en>>>16,tn[Pt+3|0]=en>>>24,Wt^=nn^bn,tn[Pt+4|0]=Wt,tn[Pt+5|0]=Wt>>>8,tn[Pt+6|0]=Wt>>>16,tn[Pt+7|0]=Wt>>>24,0},ac:SI,bc:NI,cc:JI,dc:_I,ec:_I,fc:JI,gc:function(){return-65},hc:function(Wt,Pt,en){Wt|=0;var nn,In,rn,sn,on=0,cn=0,dn=0,un=0,pn=0;return mn=rn=mn-160|0,FA(Pt|=0,en|=0,32,0),tn[0|Pt]=248&an[0|Pt],tn[Pt+31|0]=63&an[Pt+31|0]|64,Z(rn,Pt),mA(Wt,rn),cn=an[(In=en)+8|0]|an[In+9|0]<<8|an[In+10|0]<<16|an[In+11|0]<<24,on=an[In+12|0]|an[In+13|0]<<8|an[In+14|0]<<16|an[In+15|0]<<24,dn=an[In+16|0]|an[In+17|0]<<8|an[In+18|0]<<16|an[In+19|0]<<24,un=an[In+20|0]|an[In+21|0]<<8|an[In+22|0]<<16|an[In+23|0]<<24,pn=an[0|In]|an[In+1|0]<<8|an[In+2|0]<<16|an[In+3|0]<<24,en=an[In+4|0]|an[In+5|0]<<8|an[In+6|0]<<16|an[In+7|0]<<24,sn=an[In+28|0]|an[In+29|0]<<8|an[In+30|0]<<16|an[In+31|0]<<24,nn=Pt,Pt=an[In+24|0]|an[In+25|0]<<8|an[In+26|0]<<16|an[In+27|0]<<24,tn[nn+24|0]=Pt,tn[nn+25|0]=Pt>>>8,tn[nn+26|0]=Pt>>>16,tn[nn+27|0]=Pt>>>24,tn[nn+28|0]=sn,tn[nn+29|0]=sn>>>8,tn[nn+30|0]=sn>>>16,tn[nn+31|0]=sn>>>24,tn[nn+16|0]=dn,tn[nn+17|0]=dn>>>8,tn[nn+18|0]=dn>>>16,tn[nn+19|0]=dn>>>24,tn[nn+20|0]=un,tn[nn+21|0]=un>>>8,tn[nn+22|0]=un>>>16,tn[nn+23|0]=un>>>24,tn[nn+8|0]=cn,tn[nn+9|0]=cn>>>8,tn[nn+10|0]=cn>>>16,tn[nn+11|0]=cn>>>24,tn[nn+12|0]=on,tn[nn+13|0]=on>>>8,tn[nn+14|0]=on>>>16,tn[nn+15|0]=on>>>24,tn[0|nn]=pn,tn[nn+1|0]=pn>>>8,tn[nn+2|0]=pn>>>16,tn[nn+3|0]=pn>>>24,tn[nn+4|0]=en,tn[nn+5|0]=en>>>8,tn[nn+6|0]=en>>>16,tn[nn+7|0]=en>>>24,dn=an[(on=Wt)+8|0]|an[on+9|0]<<8|an[on+10|0]<<16|an[on+11|0]<<24,un=an[on+12|0]|an[on+13|0]<<8|an[on+14|0]<<16|an[on+15|0]<<24,pn=an[on+16|0]|an[on+17|0]<<8|an[on+18|0]<<16|an[on+19|0]<<24,en=an[on+20|0]|an[on+21|0]<<8|an[on+22|0]<<16|an[on+23|0]<<24,Pt=an[0|on]|an[on+1|0]<<8|an[on+2|0]<<16|an[on+3|0]<<24,Wt=an[on+4|0]|an[on+5|0]<<8|an[on+6|0]<<16|an[on+7|0]<<24,cn=an[on+28|0]|an[on+29|0]<<8|an[on+30|0]<<16|an[on+31|0]<<24,on=an[on+24|0]|an[on+25|0]<<8|an[on+26|0]<<16|an[on+27|0]<<24,tn[nn+56|0]=on,tn[nn+57|0]=on>>>8,tn[nn+58|0]=on>>>16,tn[nn+59|0]=on>>>24,tn[nn+60|0]=cn,tn[nn+61|0]=cn>>>8,tn[nn+62|0]=cn>>>16,tn[nn+63|0]=cn>>>24,tn[nn+48|0]=pn,tn[nn+49|0]=pn>>>8,tn[nn+50|0]=pn>>>16,tn[nn+51|0]=pn>>>24,tn[nn+52|0]=en,tn[nn+53|0]=en>>>8,tn[nn+54|0]=en>>>16,tn[nn+55|0]=en>>>24,tn[nn+40|0]=dn,tn[nn+41|0]=dn>>>8,tn[nn+42|0]=dn>>>16,tn[nn+43|0]=dn>>>24,tn[nn+44|0]=un,tn[nn+45|0]=un>>>8,tn[nn+46|0]=un>>>16,tn[nn+47|0]=un>>>24,tn[nn+32|0]=Pt,tn[nn+33|0]=Pt>>>8,tn[nn+34|0]=Pt>>>16,tn[nn+35|0]=Pt>>>24,tn[nn+36|0]=Wt,tn[nn+37|0]=Wt>>>8,tn[nn+38|0]=Wt>>>16,tn[nn+39|0]=Wt>>>24,mn=rn+160|0,0},ic:function(Wt,Pt){Wt|=0,Pt|=0;var en,In,rn,sn,on,cn=0,dn=0,un=0;return mn=dn=mn-192|0,LA(dn,32),FA(Pt,dn,32,0),tn[0|Pt]=248&an[0|Pt],tn[Pt+31|0]=63&an[Pt+31|0]|64,Z(un=dn+32|0,Pt),mA(Wt,un),en=dn,un=nn[dn+28>>2],dn=nn[dn+24>>2],tn[Pt+24|0]=dn,tn[Pt+25|0]=dn>>>8,tn[Pt+26|0]=dn>>>16,tn[Pt+27|0]=dn>>>24,tn[Pt+28|0]=un,tn[Pt+29|0]=un>>>8,tn[Pt+30|0]=un>>>16,tn[Pt+31|0]=un>>>24,un=nn[en+20>>2],dn=nn[en+16>>2],tn[Pt+16|0]=dn,tn[Pt+17|0]=dn>>>8,tn[Pt+18|0]=dn>>>16,tn[Pt+19|0]=dn>>>24,tn[Pt+20|0]=un,tn[Pt+21|0]=un>>>8,tn[Pt+22|0]=un>>>16,tn[Pt+23|0]=un>>>24,un=nn[en+12>>2],dn=nn[en+8>>2],tn[Pt+8|0]=dn,tn[Pt+9|0]=dn>>>8,tn[Pt+10|0]=dn>>>16,tn[Pt+11|0]=dn>>>24,tn[Pt+12|0]=un,tn[Pt+13|0]=un>>>8,tn[Pt+14|0]=un>>>16,tn[Pt+15|0]=un>>>24,un=nn[en+4>>2],dn=nn[en>>2],tn[0|Pt]=dn,tn[Pt+1|0]=dn>>>8,tn[Pt+2|0]=dn>>>16,tn[Pt+3|0]=dn>>>24,tn[Pt+4|0]=un,tn[Pt+5|0]=un>>>8,tn[Pt+6|0]=un>>>16,tn[Pt+7|0]=un>>>24,In=an[(cn=Wt)+8|0]|an[cn+9|0]<<8|an[cn+10|0]<<16|an[cn+11|0]<<24,rn=an[cn+12|0]|an[cn+13|0]<<8|an[cn+14|0]<<16|an[cn+15|0]<<24,sn=an[cn+16|0]|an[cn+17|0]<<8|an[cn+18|0]<<16|an[cn+19|0]<<24,un=an[cn+20|0]|an[cn+21|0]<<8|an[cn+22|0]<<16|an[cn+23|0]<<24,dn=an[0|cn]|an[cn+1|0]<<8|an[cn+2|0]<<16|an[cn+3|0]<<24,Wt=an[cn+4|0]|an[cn+5|0]<<8|an[cn+6|0]<<16|an[cn+7|0]<<24,on=an[cn+28|0]|an[cn+29|0]<<8|an[cn+30|0]<<16|an[cn+31|0]<<24,cn=an[cn+24|0]|an[cn+25|0]<<8|an[cn+26|0]<<16|an[cn+27|0]<<24,tn[Pt+56|0]=cn,tn[Pt+57|0]=cn>>>8,tn[Pt+58|0]=cn>>>16,tn[Pt+59|0]=cn>>>24,tn[Pt+60|0]=on,tn[Pt+61|0]=on>>>8,tn[Pt+62|0]=on>>>16,tn[Pt+63|0]=on>>>24,tn[Pt+48|0]=sn,tn[Pt+49|0]=sn>>>8,tn[Pt+50|0]=sn>>>16,tn[Pt+51|0]=sn>>>24,tn[Pt+52|0]=un,tn[Pt+53|0]=un>>>8,tn[Pt+54|0]=un>>>16,tn[Pt+55|0]=un>>>24,tn[Pt+40|0]=In,tn[Pt+41|0]=In>>>8,tn[Pt+42|0]=In>>>16,tn[Pt+43|0]=In>>>24,tn[Pt+44|0]=rn,tn[Pt+45|0]=rn>>>8,tn[Pt+46|0]=rn>>>16,tn[Pt+47|0]=rn>>>24,tn[Pt+32|0]=dn,tn[Pt+33|0]=dn>>>8,tn[Pt+34|0]=dn>>>16,tn[Pt+35|0]=dn>>>24,tn[Pt+36|0]=Wt,tn[Pt+37|0]=Wt>>>8,tn[Pt+38|0]=Wt>>>16,tn[Pt+39|0]=Wt>>>24,MI(en,32),mn=en+192|0,0},jc:function(Wt,Pt,en,tn,an,In){Pt|=0,an|=0,In|=0;var rn,sn=0;return mn=rn=mn-16|0,k(Wt|=0,rn+8|0,lA(Wt- -64|0,en|=0,tn|=0),tn,an,In,0),64!=nn[rn+8>>2]|nn[rn+12>>2]?(Pt&&(nn[Pt>>2]=0,nn[Pt+4>>2]=0),VA(Wt,0,tn- -64|0),sn=-1):Pt&&(nn[Pt>>2]=tn- -64,nn[Pt+4>>2]=an-((tn>>>0<4294967232)-1|0)),mn=rn+16|0,0|sn},kc:function(Wt,Pt,en,tn,an,In){Wt|=0,Pt|=0,en|=0;var rn=0;e:{t:{if(rn=tn|=0,!(!(an|=0)&tn>>>0<64||(tn=an-1|0,!(tn=(an=rn+-64|0)>>>0<4294967232?tn+1|0:tn)&an>>>0>4294967231|tn))){if(!F(en,rn=en- -64|0,an,tn,In|=0,0))break t;Wt&&VA(Wt,0,an)}if(en=-1,!Pt)break e;nn[Pt>>2]=0,nn[Pt+4>>2]=0;break e}Pt&&(nn[Pt>>2]=an,nn[Pt+4>>2]=tn),en=0,Wt&&lA(Wt,rn,an)}return 0|en},lc:function(Wt,Pt,en,tn,nn,an){return k(Wt|=0,Pt|=0,en|=0,tn|=0,nn|=0,an|=0,0),0},mc:function(Wt,Pt,en,tn,nn){return 0|F(Wt|=0,Pt|=0,en|=0,tn|=0,nn|=0,0)},nc:function(Wt){return MA(Wt|=0),0},oc:function(Wt,Pt,en,tn){return 0|W(Wt|=0,Pt|=0,en|=0,tn|=0)},pc:function(Wt,Pt,en,tn){var nn;return Pt|=0,en|=0,tn|=0,mn=nn=mn+-64|0,v(Wt|=0,nn),Wt=k(Pt,en,nn,64,0,tn,1),mn=nn- -64|0,0|Wt},qc:function(Wt,Pt,en){var tn;return Pt|=0,en|=0,mn=tn=mn+-64|0,v(Wt|=0,tn),Wt=F(Pt,tn,64,0,en,1),mn=tn- -64|0,0|Wt},rc:function(Wt,Pt){Wt|=0;var en,an=0,In=0,sn=0,on=0,cn=0,dn=0,un=0,pn=0,Gn=0,hn=0,Zn=0,An=0,Wn=0,Nn=0,gn=0,yn=0,vn=0,Yn=0,En=0,Vn=0,Rn=0,wn=0,Fn=0,Qn=0,fn=0,Hn=0,Cn=0,Xn=0,kn=0,Jn=0,Ln=0,Bn=0,xn=0,On=0,Tn=0,Un=0,Mn=0,zn=0,Sn=0,Dn=0,jn=0,_n=0,Kn=0,Pn=0,qn=0,$n=0,el=0,tl=0,nl=0,ll=0,al=0,Il=0,rl=0,sl=0,ol=0,cl=0,il=0,dl=0,ul=0,pl=0,ml=0,bl=0,Gl=0,hl=0,Zl=0,Al=0,Wl=0,Nl=0,gl=0,yl=0,vl=0,Yl=0,El=0,Vl=0,Rl=0,wl=0,Fl=0,Ql=0,fl=0,Hl=0;if(mn=en=mn-256|0,Yl=-1,!KA(Pt|=0)&&!q(an=en+96|0,Pt)){for(mn=sn=mn-2048|0,DA(on=sn+640|0,an),an=nn[(Pt=an)+36>>2],nn[sn+352>>2]=nn[Pt+32>>2],nn[sn+356>>2]=an,an=nn[Pt+28>>2],nn[sn+344>>2]=nn[Pt+24>>2],nn[sn+348>>2]=an,an=nn[Pt+20>>2],nn[sn+336>>2]=nn[Pt+16>>2],nn[sn+340>>2]=an,an=nn[Pt+12>>2],nn[sn+328>>2]=nn[Pt+8>>2],nn[sn+332>>2]=an,an=nn[Pt+4>>2],nn[sn+320>>2]=nn[Pt>>2],nn[sn+324>>2]=an,an=nn[Pt+52>>2],nn[sn+368>>2]=nn[Pt+48>>2],nn[sn+372>>2]=an,an=nn[Pt+60>>2],nn[sn+376>>2]=nn[Pt+56>>2],nn[sn+380>>2]=an,In=nn[4+(an=Pt- -64|0)>>2],nn[sn+384>>2]=nn[an>>2],nn[sn+388>>2]=In,an=nn[Pt+76>>2],nn[sn+392>>2]=nn[Pt+72>>2],nn[sn+396>>2]=an,an=nn[Pt+44>>2],nn[sn+360>>2]=nn[Pt+40>>2],nn[sn+364>>2]=an,an=nn[Pt+92>>2],nn[sn+408>>2]=nn[Pt+88>>2],nn[sn+412>>2]=an,an=nn[Pt+100>>2],nn[sn+416>>2]=nn[Pt+96>>2],nn[sn+420>>2]=an,an=nn[Pt+108>>2],nn[sn+424>>2]=nn[Pt+104>>2],nn[sn+428>>2]=an,an=nn[Pt+116>>2],nn[sn+432>>2]=nn[Pt+112>>2],nn[sn+436>>2]=an,an=nn[Pt+84>>2],nn[sn+400>>2]=nn[Pt+80>>2],nn[sn+404>>2]=an,_(Pt=sn+480|0,an=sn+320|0),M(In=sn+160|0,Pt,dn=sn+600|0),M(sn+200|0,pn=sn+520|0,Gn=sn+560|0),M(sn+240|0,Gn,dn),M(sn+280|0,Pt,pn),X(Pt,In,on),M(an,Pt,dn),M(gn=sn+360|0,pn,Gn),M(yn=sn+400|0,Gn,dn),M(An=sn+440|0,Pt,pn),DA(on=sn+800|0,an),X(Pt,In,on),M(an,Pt,dn),M(gn,pn,Gn),M(yn,Gn,dn),M(An,Pt,pn),DA(on=sn+960|0,an),X(Pt,In,on),M(an,Pt,dn),M(gn,pn,Gn),M(yn,Gn,dn),M(An,Pt,pn),DA(on=sn+1120|0,an),X(Pt,In,on),M(an,Pt,dn),M(gn,pn,Gn),M(yn,Gn,dn),M(An,Pt,pn),DA(on=sn+1280|0,an),X(Pt,In,on),M(an,Pt,dn),M(gn,pn,Gn),M(yn,Gn,dn),M(An,Pt,pn),DA(on=sn+1440|0,an),X(Pt,In,on),M(an,Pt,dn),M(gn,pn,Gn),M(yn,Gn,dn),M(An,Pt,pn),DA(on=sn+1600|0,an),X(Pt,In,on),M(an,Pt,dn),M(gn,pn,Gn),M(yn,Gn,dn),M(An,Pt,pn),DA(sn+1760|0,an),nn[sn+32>>2]=0,nn[sn+36>>2]=0,nn[sn+24>>2]=0,nn[sn+28>>2]=0,nn[sn+16>>2]=0,nn[sn+20>>2]=0,nn[sn+8>>2]=0,nn[sn+12>>2]=0,nn[sn+52>>2]=0,nn[sn+56>>2]=0,nn[sn+60>>2]=0,nn[sn+64>>2]=0,nn[sn+68>>2]=0,nn[sn+72>>2]=0,nn[sn+76>>2]=0,nn[sn+80>>2]=1,nn[sn>>2]=0,nn[sn+4>>2]=0,nn[sn+44>>2]=0,nn[sn+48>>2]=0,nn[sn+40>>2]=1,VA(sn+84|0,0,76),hn=sn+120|0,Nn=sn+2008|0,Wn=sn+1968|0,an=sn+80|0,In=sn+40|0,on=252;cn=nn[sn+36>>2],nn[(Pt=sn+1960|0)>>2]=nn[sn+32>>2],nn[Pt+4>>2]=cn,cn=nn[sn+28>>2],nn[(Pt=sn+1952|0)>>2]=nn[sn+24>>2],nn[Pt+4>>2]=cn,cn=nn[sn+20>>2],nn[(Pt=sn+1944|0)>>2]=nn[sn+16>>2],nn[Pt+4>>2]=cn,cn=nn[sn+12>>2],nn[(Pt=sn+1936|0)>>2]=nn[sn+8>>2],nn[Pt+4>>2]=cn,Pt=nn[sn+4>>2],nn[sn+1928>>2]=nn[sn>>2],nn[sn+1932>>2]=Pt,cn=nn[(Pt=In)+36>>2],nn[Wn+32>>2]=nn[Pt+32>>2],nn[Wn+36>>2]=cn,cn=nn[Pt+28>>2],nn[Wn+24>>2]=nn[Pt+24>>2],nn[Wn+28>>2]=cn,cn=nn[Pt+20>>2],nn[Wn+16>>2]=nn[Pt+16>>2],nn[Wn+20>>2]=cn,cn=nn[Pt+12>>2],nn[Wn+8>>2]=nn[Pt+8>>2],nn[Wn+12>>2]=cn,cn=nn[Pt+4>>2],nn[Wn>>2]=nn[Pt>>2],nn[Wn+4>>2]=cn,cn=nn[(Pt=an)+36>>2],nn[Nn+32>>2]=nn[Pt+32>>2],nn[Nn+36>>2]=cn,cn=nn[Pt+28>>2],nn[Nn+24>>2]=nn[Pt+24>>2],nn[Nn+28>>2]=cn,cn=nn[Pt+20>>2],nn[Nn+16>>2]=nn[Pt+16>>2],nn[Nn+20>>2]=cn,cn=nn[Pt+12>>2],nn[Nn+8>>2]=nn[Pt+8>>2],nn[Nn+12>>2]=cn,cn=nn[Pt+4>>2],nn[Nn>>2]=nn[Pt>>2],nn[Nn+4>>2]=cn,on=tn[(Pt=on)+33408|0],_(cn=sn+480|0,sn+1928|0),(0|on)>0?(M(Yn=sn+320|0,cn,dn),M(gn,pn,Gn),M(yn,Gn,dn),M(An,cn,pn),X(cn,Yn,(sn+640|0)+rn((254&on)>>>1|0,160)|0)):(0|on)>=0||(M(Yn=sn+320|0,cn=sn+480|0,dn),M(gn,pn,Gn),M(yn,Gn,dn),M(An,cn,pn),O(cn,Yn,(sn+640|0)+rn((0-on&254)>>>1|0,160)|0)),M(sn,on=sn+480|0,dn),M(In,pn,Gn),M(an,Gn,dn),M(hn,on,pn),on=Pt-1|0,Pt;);eA(Pt=sn+640|0,sn),Pt=SA(Pt,32),mn=sn+2048|0,Pt&&(Yl=0,Bn=nn[en+172>>2],nn[en+36>>2]=0-Bn,gn=nn[en+168>>2],nn[en+32>>2]=0-gn,xn=nn[en+164>>2],nn[en+28>>2]=0-xn,pn=nn[en+160>>2],nn[en+24>>2]=0-pn,On=nn[en+156>>2],nn[en+20>>2]=0-On,Gn=nn[en+152>>2],nn[en+16>>2]=0-Gn,Tn=nn[en+148>>2],nn[en+12>>2]=0-Tn,Nn=nn[en+144>>2],nn[en+8>>2]=0-Nn,Un=nn[en+140>>2],nn[en+4>>2]=0-Un,sn=nn[en+136>>2],nn[en>>2]=1-sn,iA(en,en),Pt=PA(yn=nn[en+4>>2],kn=yn>>31,wn=On<<1,nl=wn>>31),an=bn,In=PA(dn=nn[en>>2],Fn=dn>>31,pn,Qn=pn>>31),an=bn+an|0,an=(Pt=In+Pt|0)>>>0>>0?an+1|0:an,In=(on=PA(cn=nn[en+8>>2],Mn=cn>>31,Gn,fn=Gn>>31))+Pt|0,Pt=bn+an|0,Pt=In>>>0>>0?Pt+1|0:Pt,an=In,In=PA(Jn=nn[en+12>>2],Dn=Jn>>31,Kn=Tn<<1,ll=Kn>>31),Pt=bn+Pt|0,Pt=(an=an+In|0)>>>0>>0?Pt+1|0:Pt,In=PA(zn=nn[en+16>>2],Pn=zn>>31,Nn,Hn=Nn>>31),Pt=bn+Pt|0,Pt=(an=In+an|0)>>>0>>0?Pt+1|0:Pt,Al=on=nn[en+20>>2],Wn=PA(on,al=on>>31,qn=Un<<1,Il=qn>>31),In=bn+Pt|0,In=(an=Wn+an|0)>>>0>>0?In+1|0:In,Wl=En=nn[en+24>>2],Pt=(sn=PA(En,Gl=En>>31,Wn=sn+1|0,Cn=Wn>>31))+an|0,an=bn+In|0,an=Pt>>>0>>0?an+1|0:an,rl=nn[en+28>>2],In=(sn=PA(Yn=rn(rl,19),jn=Yn>>31,$n=Bn<<1,sl=$n>>31))+Pt|0,Pt=bn+an|0,Pt=In>>>0>>0?Pt+1|0:Pt,an=In,El=nn[en+32>>2],In=PA(hn=rn(El,19),Sn=hn>>31,gn,Xn=gn>>31),Pt=bn+Pt|0,Pt=(an=an+In|0)>>>0>>0?Pt+1|0:Pt,Vl=nn[en+36>>2],In=PA(An=rn(Vl,19),Ln=An>>31,el=xn<<1,ol=el>>31),Pt=bn+Pt|0,Zn=an=In+an|0,sn=an>>>0>>0?Pt+1|0:Pt,Pt=PA(Gn,fn,yn,kn),an=bn,un=PA(dn,Fn,On,cl=On>>31),In=bn+an|0,In=(Pt=un+Pt|0)>>>0>>0?In+1|0:In,un=PA(cn,Mn,Tn,il=Tn>>31),an=bn+In|0,an=(Pt=un+Pt|0)>>>0>>0?an+1|0:an,In=(un=PA(Nn,Hn,Jn,Dn))+Pt|0,Pt=bn+an|0,Pt=In>>>0>>0?Pt+1|0:Pt,an=In,In=PA(zn,Pn,Un,dl=Un>>31),Pt=bn+Pt|0,Pt=(an=an+In|0)>>>0>>0?Pt+1|0:Pt,In=PA(Wn,Cn,on,al),Pt=bn+Pt|0,Pt=(an=In+an|0)>>>0>>0?Pt+1|0:Pt,un=PA(En=rn(En,19),tl=En>>31,Bn,ul=Bn>>31),In=bn+Pt|0,In=(an=un+an|0)>>>0>>0?In+1|0:In,Pt=(un=PA(gn,Xn,Yn,jn))+an|0,an=bn+In|0,an=Pt>>>0>>0?an+1|0:an,In=(un=PA(hn,Sn,xn,pl=xn>>31))+Pt|0,Pt=bn+an|0,Pt=In>>>0>>0?Pt+1|0:Pt,an=In,In=PA(pn,Qn,An,Ln),Pt=bn+Pt|0,Nl=an=an+In|0,_n=an>>>0>>0?Pt+1|0:Pt,Pt=PA(yn,kn,Kn,ll),In=bn,an=(un=PA(dn,Fn,Gn,fn))+Pt|0,Pt=bn+In|0,Pt=an>>>0>>0?Pt+1|0:Pt,un=PA(Nn,Hn,cn,Mn),In=bn+Pt|0,In=(an=un+an|0)>>>0>>0?In+1|0:In,Pt=(un=PA(Jn,Dn,qn,Il))+an|0,an=bn+In|0,an=Pt>>>0>>0?an+1|0:an,In=(un=PA(Wn,Cn,zn,Pn))+Pt|0,Pt=bn+an|0,Pt=In>>>0>>0?Pt+1|0:Pt,an=In,In=PA(un=rn(on,19),ml=un>>31,$n,sl),Pt=bn+Pt|0,Pt=(an=an+In|0)>>>0>>0?Pt+1|0:Pt,In=PA(gn,Xn,En,tl),Pt=bn+Pt|0,Pt=(an=In+an|0)>>>0>>0?Pt+1|0:Pt,on=PA(Yn,jn,el,ol),In=bn+Pt|0,In=(an=on+an|0)>>>0>>0?In+1|0:In,Pt=(on=PA(pn,Qn,hn,Sn))+an|0,an=bn+In|0,an=Pt>>>0>>0?an+1|0:an,In=(on=PA(An,Ln,wn,nl))+Pt|0,Pt=bn+an|0,Rl=In,wl=Pt=In>>>0>>0?Pt+1|0:Pt,Fl=In=In+33554432|0,Ql=Pt=In>>>0<33554432?Pt+1|0:Pt,In=(67108863&Pt)<<6|In>>>26,Pt=(Pt>>26)+_n|0,Nl=on=In+Nl|0,Pt=In>>>0>on>>>0?Pt+1|0:Pt,fl=on=on+16777216|0,Pt=(an=(In=on>>>0<16777216?Pt+1|0:Pt)>>25)+sn|0,Pt=(In=(on=(33554431&In)<<7|on>>>25)+Zn|0)>>>0>>0?Pt+1|0:Pt,Rn=an=In+33554432|0,on=Pt=an>>>0<33554432?Pt+1|0:Pt,nn[en+72>>2]=In-(-67108864&an),Pt=PA(yn,kn,qn,Il),an=bn,sn=PA(dn,Fn,Nn,Hn),In=bn+an|0,In=(Pt=sn+Pt|0)>>>0>>0?In+1|0:In,an=(sn=PA(Wn,Cn,cn,Mn))+Pt|0,Pt=bn+In|0,Pt=an>>>0>>0?Pt+1|0:Pt,In=PA(sn=rn(Jn,19),bl=sn>>31,$n,sl),Pt=bn+Pt|0,Pt=(an=In+an|0)>>>0>>0?Pt+1|0:Pt,In=(Zn=PA(_n=rn(zn,19),hl=_n>>31,gn,Xn))+an|0,an=bn+Pt|0,an=In>>>0>>0?an+1|0:an,Zn=PA(el,ol,un,ml),Pt=bn+an|0,Pt=(In=Zn+In|0)>>>0>>0?Pt+1|0:Pt,an=(Zn=PA(pn,Qn,En,tl))+In|0,In=bn+Pt|0,In=an>>>0>>0?In+1|0:In,Zn=PA(Yn,jn,wn,nl),Pt=bn+In|0,Pt=(an=Zn+an|0)>>>0>>0?Pt+1|0:Pt,In=PA(Gn,fn,hn,Sn),Pt=bn+Pt|0,Pt=(an=In+an|0)>>>0>>0?Pt+1|0:Pt,In=(Zn=PA(An,Ln,Kn,ll))+an|0,an=bn+Pt|0,Vn=In,gl=In>>>0>>0?an+1|0:an,Pt=PA(Wn,Cn,yn,kn),an=bn,In=(Zn=PA(dn,Fn,Un,dl))+Pt|0,Pt=bn+an|0,Pt=In>>>0>>0?Pt+1|0:Pt,Zn=an=rn(cn,19),an=(vn=PA(an,Zl=an>>31,Bn,ul))+In|0,In=bn+Pt|0,In=an>>>0>>0?In+1|0:In,vn=PA(sn,bl,gn,Xn),Pt=bn+In|0,Pt=(an=vn+an|0)>>>0>>0?Pt+1|0:Pt,In=PA(_n,hl,xn,pl),Pt=bn+Pt|0,Pt=(an=In+an|0)>>>0>>0?Pt+1|0:Pt,In=(vn=PA(pn,Qn,un,ml))+an|0,an=bn+Pt|0,an=In>>>0>>0?an+1|0:an,vn=PA(En,tl,On,cl),Pt=bn+an|0,Pt=(In=vn+In|0)>>>0>>0?Pt+1|0:Pt,an=(vn=PA(Gn,fn,Yn,jn))+In|0,In=bn+Pt|0,In=an>>>0>>0?In+1|0:In,vn=PA(hn,Sn,Tn,il),Pt=bn+In|0,Pt=(an=vn+an|0)>>>0>>0?Pt+1|0:Pt,In=PA(Nn,Hn,An,Ln),Pt=bn+Pt|0,yl=an=In+an|0,vn=an>>>0>>0?Pt+1|0:Pt,Pt=PA(Pt=rn(yn,19),Pt>>31,$n,sl),an=bn,In=PA(dn,Fn,Wn,Cn),an=bn+an|0,an=(Pt=In+Pt|0)>>>0>>0?an+1|0:an,In=(Zn=PA(Zn,Zl,gn,Xn))+Pt|0,Pt=bn+an|0,an=(sn=PA(sn,bl,el,ol))+In|0,In=bn+(In>>>0>>0?Pt+1|0:Pt)|0,In=an>>>0>>0?In+1|0:In,sn=PA(pn,Qn,_n,hl),Pt=bn+In|0,Pt=(an=sn+an|0)>>>0>>0?Pt+1|0:Pt,In=PA(wn,nl,un,ml),Pt=bn+Pt|0,Pt=(an=In+an|0)>>>0>>0?Pt+1|0:Pt,In=(sn=PA(Gn,fn,En,tl))+an|0,an=bn+Pt|0,an=In>>>0>>0?an+1|0:an,sn=PA(Yn,jn,Kn,ll),Pt=bn+an|0,Pt=(In=sn+In|0)>>>0>>0?Pt+1|0:Pt,an=(sn=PA(Nn,Hn,hn,Sn))+In|0,In=bn+Pt|0,In=an>>>0>>0?In+1|0:In,sn=PA(An,Ln,qn,Il),Pt=bn+In|0,Zn=an=sn+an|0,bl=Pt=an>>>0>>0?Pt+1|0:Pt,Zl=an=an+33554432|0,Hl=Pt=an>>>0<33554432?Pt+1|0:Pt,In=Pt>>26,Pt=(67108863&Pt)<<6|an>>>26,an=In+vn|0,vn=sn=Pt+yl|0,Pt=an=Pt>>>0>sn>>>0?an+1|0:an,yl=sn=sn+16777216|0,sn=(33554431&(Pt=sn>>>0<16777216?Pt+1|0:Pt))<<7|sn>>>25,Pt=(Pt>>25)+gl|0,Pt=(an=sn+Vn|0)>>>0>>0?Pt+1|0:Pt,In=an,gl=an=an+33554432|0,sn=Pt=an>>>0<33554432?Pt+1|0:Pt,nn[en+56>>2]=In-(-67108864&an),Pt=PA(pn,Qn,yn,kn),In=bn,an=(Vn=PA(dn,Fn,xn,pl))+Pt|0,Pt=bn+In|0,Pt=an>>>0>>0?Pt+1|0:Pt,In=PA(cn,Mn,On,cl),Pt=bn+Pt|0,Pt=(an=In+an|0)>>>0>>0?Pt+1|0:Pt,In=PA(Gn,fn,Jn,Dn),Pt=bn+Pt|0,Pt=(an=In+an|0)>>>0>>0?Pt+1|0:Pt,Vn=PA(zn,Pn,Tn,il),In=bn+Pt|0,In=(an=Vn+an|0)>>>0>>0?In+1|0:In,Pt=(Vn=PA(Nn,Hn,Al,al))+an|0,an=bn+In|0,an=Pt>>>0>>0?an+1|0:an,In=(Vn=PA(Un,dl,Wl,Gl))+Pt|0,Pt=bn+an|0,Pt=In>>>0>>0?Pt+1|0:Pt,an=In,In=PA(rl,vl=rl>>31,Wn,Cn),Pt=bn+Pt|0,Pt=(an=an+In|0)>>>0>>0?Pt+1|0:Pt,In=PA(hn,Sn,Bn,ul),Pt=bn+Pt|0,Pt=(an=In+an|0)>>>0>>0?Pt+1|0:Pt,Vn=(In=an)+(an=PA(gn,Xn,An,Ln))|0,In=bn+Pt|0,an=(Pt=on>>26)+(an=an>>>0>Vn>>>0?In+1|0:In)|0,Rn=In=(on=(67108863&on)<<6|Rn>>>26)+Vn|0,Pt=an=In>>>0>>0?an+1|0:an,Vn=In=In+16777216|0,on=Pt=In>>>0<16777216?Pt+1|0:Pt,nn[en+76>>2]=Rn-(-33554432&In),Pt=PA(Nn,Hn,yn,kn),an=bn,Rn=PA(dn,Fn,Tn,il),In=bn+an|0,In=(Pt=Rn+Pt|0)>>>0>>0?In+1|0:In,Rn=PA(cn,Mn,Un,dl),an=bn+In|0,an=(Pt=Rn+Pt|0)>>>0>>0?an+1|0:an,In=(Rn=PA(Wn,Cn,Jn,Dn))+Pt|0,Pt=bn+an|0,Pt=In>>>0>>0?Pt+1|0:Pt,an=In,In=PA(_n,hl,Bn,ul),Pt=bn+Pt|0,Pt=(an=an+In|0)>>>0>>0?Pt+1|0:Pt,In=PA(gn,Xn,un,ml),Pt=bn+Pt|0,Pt=(an=In+an|0)>>>0>>0?Pt+1|0:Pt,an=(En=PA(En,tl,xn,pl))+an|0,In=bn+Pt|0,Pt=(Yn=PA(pn,Qn,Yn,jn))+an|0,an=bn+(an>>>0>>0?In+1|0:In)|0,In=(hn=PA(hn,Sn,On,cl))+Pt|0,Pt=bn+(Pt>>>0>>0?an+1|0:an)|0,Pt=In>>>0>>0?Pt+1|0:Pt,an=In,In=PA(Gn,fn,An,Ln),Pt=bn+Pt|0,Rn=an=an+In|0,Pt=(Pt=an>>>0>>0?Pt+1|0:Pt)+(an=sn>>26)|0,hn=sn=Rn+(In=(67108863&sn)<<6|gl>>>26)|0,Pt=In>>>0>sn>>>0?Pt+1|0:Pt,Yn=an=sn+16777216|0,sn=In=an>>>0<16777216?Pt+1|0:Pt,nn[en+60>>2]=hn-(-33554432&an),Pt=PA(yn,kn,el,ol),In=bn,an=(hn=PA(dn,Fn,gn,Xn))+Pt|0,Pt=bn+In|0,Pt=an>>>0>>0?Pt+1|0:Pt,In=PA(pn,Qn,cn,Mn),Pt=bn+Pt|0,Pt=(an=In+an|0)>>>0>>0?Pt+1|0:Pt,hn=PA(Jn,Dn,wn,nl),In=bn+Pt|0,In=(an=hn+an|0)>>>0>>0?In+1|0:In,Pt=(hn=PA(Gn,fn,zn,Pn))+an|0,an=bn+In|0,an=Pt>>>0>>0?an+1|0:an,In=(hn=PA(Kn,ll,Al,al))+Pt|0,Pt=bn+an|0,Pt=In>>>0>>0?Pt+1|0:Pt,an=In,In=PA(Nn,Hn,Wl,Gl),Pt=bn+Pt|0,Pt=(an=an+In|0)>>>0>>0?Pt+1|0:Pt,In=an,an=PA(qn,Il,rl,vl),Pt=bn+Pt|0,Pt=an>>>0>(In=In+an|0)>>>0?Pt+1|0:Pt,hn=an=El,an=(wn=PA(an,En=an>>31,Wn,Cn))+In|0,In=bn+Pt|0,Pt=(An=PA(An,Ln,$n,sl))+an|0,an=bn+(an>>>0>>0?In+1|0:In)|0,In=Pt>>>0>>0?an+1|0:an,an=Pt,Pt=(Pt=on>>25)+In|0,Pt=(an=an+(on=(33554431&on)<<7|Vn>>>25)|0)>>>0>>0?Pt+1|0:Pt,In=an,An=an=an+33554432|0,on=Pt=an>>>0<33554432?Pt+1|0:Pt,nn[en+80>>2]=In-(-67108864&an),an=sn>>25,In=(sn=(33554431&sn)<<7|Yn>>>25)+(Rl-(Pt=-67108864&Fl)|0)|0,Pt=an+(wl-((Pt>>>0>Rl>>>0)+Ql|0)|0)|0,Pt=In>>>0>>0?Pt+1|0:Pt,Pt=((67108863&(Pt=(an=In+33554432|0)>>>0<33554432?Pt+1|0:Pt))<<6|an>>>26)+(wn=Nl-(-33554432&fl)|0)|0,nn[en+68>>2]=Pt,nn[en+64>>2]=In-(-67108864&an),Pt=PA(gn,Xn,yn,kn),In=bn,an=(sn=PA(dn,Fn,Bn,ul))+Pt|0,Pt=bn+In|0,Pt=an>>>0>>0?Pt+1|0:Pt,In=(sn=PA(cn,Mn,xn,pl))+an|0,an=bn+Pt|0,an=In>>>0>>0?an+1|0:an,Pt=(sn=PA(pn,Qn,Jn,Dn))+In|0,In=bn+an|0,In=Pt>>>0>>0?In+1|0:In,an=(sn=PA(zn,Pn,On,cl))+Pt|0,Pt=bn+In|0,Pt=an>>>0>>0?Pt+1|0:Pt,In=PA(Gn,fn,Al,al),Pt=bn+Pt|0,Pt=(an=In+an|0)>>>0>>0?Pt+1|0:Pt,In=PA(Tn,il,Wl,Gl),Pt=bn+Pt|0,Pt=(an=In+an|0)>>>0>>0?Pt+1|0:Pt,In=(sn=PA(Nn,Hn,rl,vl))+an|0,an=bn+Pt|0,an=In>>>0>>0?an+1|0:an,sn=(Pt=PA(hn,En,Un,dl))+In|0,In=bn+an|0,In=Pt>>>0>sn>>>0?In+1|0:In,an=sn,sn=PA(Pt=Vl,Pt>>31,Wn,Cn),Pt=bn+In|0,In=an=an+sn|0,Pt=(Pt=an>>>0>>0?Pt+1|0:Pt)+(an=on>>26)|0,Pt=(In=In+(on=(67108863&on)<<6|An>>>26)|0)>>>0>>0?Pt+1|0:Pt,Pt=(an=In+16777216|0)>>>0<16777216?Pt+1|0:Pt,nn[en+84>>2]=In-(-33554432&an),on=vn-(-33554432&yl)|0,sn=Zn-(In=-67108864&Zl)|0,dn=bl-((In>>>0>Zn>>>0)+Hl|0)|0,Pt=PA((33554431&(In=Pt))<<7|an>>>25,Pt>>=25,19,0),an=bn+dn|0,Pt=Pt>>>0>(In=Pt+sn|0)>>>0?an+1|0:an,Pt=((67108863&(Pt=(an=In+33554432|0)>>>0<33554432?Pt+1|0:Pt))<<6|an>>>26)+on|0,nn[en+52>>2]=Pt,nn[en+48>>2]=In-(-67108864&an),eA(Wt,en+48|0))}return mn=en+256|0,0|Yl},sc:function(Wt,Pt){Wt|=0;var en,In=0;return mn=en=mn+-64|0,FA(en,Pt|=0,32,0),tn[0|en]=248&an[0|en],tn[en+31|0]=63&an[en+31|0]|64,Pt=nn[en+20>>2],In=nn[en+16>>2],tn[Wt+16|0]=In,tn[Wt+17|0]=In>>>8,tn[Wt+18|0]=In>>>16,tn[Wt+19|0]=In>>>24,tn[Wt+20|0]=Pt,tn[Wt+21|0]=Pt>>>8,tn[Wt+22|0]=Pt>>>16,tn[Wt+23|0]=Pt>>>24,Pt=nn[en+12>>2],In=nn[en+8>>2],tn[Wt+8|0]=In,tn[Wt+9|0]=In>>>8,tn[Wt+10|0]=In>>>16,tn[Wt+11|0]=In>>>24,tn[Wt+12|0]=Pt,tn[Wt+13|0]=Pt>>>8,tn[Wt+14|0]=Pt>>>16,tn[Wt+15|0]=Pt>>>24,Pt=nn[en+4>>2],In=nn[en>>2],tn[0|Wt]=In,tn[Wt+1|0]=In>>>8,tn[Wt+2|0]=In>>>16,tn[Wt+3|0]=In>>>24,tn[Wt+4|0]=Pt,tn[Wt+5|0]=Pt>>>8,tn[Wt+6|0]=Pt>>>16,tn[Wt+7|0]=Pt>>>24,Pt=nn[en+28>>2],In=nn[en+24>>2],tn[Wt+24|0]=In,tn[Wt+25|0]=In>>>8,tn[Wt+26|0]=In>>>16,tn[Wt+27|0]=In>>>24,tn[Wt+28|0]=Pt,tn[Wt+29|0]=Pt>>>8,tn[Wt+30|0]=Pt>>>16,tn[Wt+31|0]=Pt>>>24,MI(en,64),mn=en- -64|0,0},tc:function(){var Wt,Pt;return mn=Wt=mn-16|0,tn[Wt+15|0]=0,Pt=0|cn(36304,Wt+15|0,0),mn=Wt+16|0,0|Pt},uc:QI,vc:function(Wt){var Pt,en=0,nn=0;if(mn=Pt=mn-16|0,(Wt|=0)>>>0>=2){for(en=(0-Wt>>>0)%(Wt>>>0)|0;tn[Pt+15|0]=0,en>>>0>(nn=0|cn(36304,Pt+15|0,0))>>>0;);en=(nn>>>0)%(Wt>>>0)|0}return mn=Pt+16|0,0|en},wc:LA,xc:function(Wt,Pt,en){eI(Wt|=0,Pt|=0,33888,en|=0)},yc:_I,zc:function(){var Wt=0,Pt=0;return(Wt=nn[9414])&&(Wt=nn[Wt+20>>2])&&(Pt=0|hn[0|Wt]()),0|Pt},Ac:function(Wt,Pt,en){Wt|=0,Pt|=0;var nn,an=0,In=0,rn=0;if(mn=nn=mn-16|0,en|=0)dn(1228,1088,198,1024),Q();else{if(Pt|en)for(;tn[nn+15|0]=0,In=Wt+an|0,rn=0|cn(36304,nn+15|0,0),tn[0|In]=rn,(0|Pt)!=(0|(an=an+1|0)););mn=nn+16|0}},Bc:function(Wt,Pt,en,nn){Wt|=0,en|=0;var In=0,rn=0,sn=0;if(!((nn|=0)>>>0>2147483646|nn<<1>>>0>=(Pt|=0)>>>0)){if(Pt=0,nn){for(;In=(Pt<<1)+Wt|0,rn=15&(sn=an[Pt+en|0]),tn[In+1|0]=22272+((rn<<8)+(rn+65526&55552)|0)>>>8,rn=In,In=sn>>>4|0,tn[0|rn]=87+((In+65526>>>8&217)+In|0),(0|nn)!=(0|(Pt=Pt+1|0)););Pt=nn<<1}else Pt=0;return tn[Pt+Wt|0]=0,0|Wt}iI(),Q()},Cc:function(Wt,Pt,en,In,rn,sn,on){Wt|=0,Pt|=0,en|=0,rn|=0,sn|=0,on|=0;var cn=0,dn=0,un=0,pn=0,mn=0,bn=0,Gn=0,hn=0,Zn=0;e:{t:{n:{l:{a:{I:{r:{s:{o:{if(In|=0){if(rn)break o;for(dn=1,rn=0;;){if(!(255&((Gn=(65526+(un=(223&(mn=an[en+cn|0]))-55&255)^un+65520)>>>8|0)|(hn=65526+(mn^=48)>>>8|0))))break r;if(Pt>>>0<=bn>>>0)break s;if(un=un&Gn|mn&hn,255&pn?(tn[Wt+bn|0]=rn|un,bn=bn+1|0):rn=un<<4,pn=~pn,(0|(cn=cn+1|0))==(0|In))break}cn=In;break r}if(Wt=0,!on)break e;break n}for(;;){o:{c:{i:{d:{u:{if(!(255&((mn=(65526+(dn=(223&(un=an[en+cn|0]))-55&255)^dn+65520)>>>8|0)|(hn=65526+(Gn=48^un)>>>8|0)))){if(255&pn)break I;if(dn=0,!hA(rn,un))break l;if((cn=pn=cn+1|0)>>>0>>0)break u;break l}if(Pt>>>0<=bn>>>0)break s;if(dn=dn&mn|Gn&hn,!(255&pn))break d;tn[Wt+bn|0]=dn|Zn,bn=bn+1|0;break o}for(;;){if(!(255&((Gn=(65526+(mn=(223&(un=an[en+cn|0]))-55&255)^mn+65520)>>>8|0)|(Zn=65526+(hn=48^un)>>>8|0)))){if(!hA(rn,un))break l;if((cn=cn+1|0)>>>0>>0)continue;break i}break}if(Pt>>>0<=bn>>>0)break c;dn=mn&Gn|hn&Zn}Zn=dn<<4,pn=0;break o}cn=In>>>0>pn>>>0?In:pn;break l}pn=0;break s}if(pn=~pn,dn=1,!((cn=cn+1|0)>>>0>>0))break}break r}nn[9280]=68,dn=0}if(!(255&pn))break a}nn[9280]=28,dn=-1,cn=cn-1|0,bn=0;break l}bn=dn?bn:0,dn=dn-1|0}if(!on){if((0|In)!=(0|cn))break t;Wt=dn;break e}}nn[on>>2]=en+cn,Wt=dn;break e}nn[9280]=28,Wt=-1}return sn&&(nn[sn>>2]=bn),0|Wt},Dc:function(Wt,Pt){Wt|=0;var en=0;return 1!=(-7&(Pt|=0))&&(iI(),Q()),1+((3&(en=(en=Wt)+rn(Wt=(Wt>>>0)/3|0,-3)|0)?2&Pt?en+1|0:4:0)+(Wt<<2)|0)|0},Ec:function(Wt,Pt,en,nn,In){Wt|=0,Pt|=0,en|=0,nn|=0;var sn=0,on=0,cn=0,un=0,pn=0,mn=0,bn=0;e:{t:{n:{l:{a:{I:{r:{if(1==(-7&(In|=0))&&(cn=(sn=(nn>>>0)/3|0)<<2,(sn=rn(sn,-3)+nn|0)&&(cn=2&In?2+((sn>>>1|0)+cn|0)|0:cn+4|0),!(Pt>>>0<=cn>>>0))){if(!(In>>>0>=4)){if(!nn){In=0;break l}sn=0,In=0;break r}if(!nn){In=0;break l}for(sn=0,In=0;;){for(pn=an[en+un|0]|pn<<8,sn|=8;mn=65510+(on=pn>>>(sn=sn-6|0)&63)>>>8|0,bn=on+65484>>>8|0,tn[Wt+In|0]=~(1+(16321^on))>>>8&45|on+252&on+65474>>>8&~bn|~(on+32705)>>>8&95|mn&on+65|bn&on+71&~mn,In=In+1|0,sn>>>0>5;);if((0|(un=un+1|0))==(0|nn))break}if(!sn)break a;un=45,on=32705,nn=95;break I}iI(),Q()}for(;;){for(pn=an[en+un|0]|pn<<8,sn|=8;mn=65510+(on=pn>>>(sn=sn-6|0)&63)>>>8|0,bn=on+65484>>>8|0,tn[Wt+In|0]=~(1+(16321^on))>>>8&43|on+252&on+65474>>>8&~bn|~(on+16321)>>>8&47|mn&on+65|bn&on+71&~mn,In=In+1|0,sn>>>0>5;);if((0|(un=un+1|0))==(0|nn))break}if(!sn)break a;un=43,on=16321,nn=47}on=~((en=pn<<6-sn&63)+on)>>>8&nn|(sn=en+65510>>>8|0)&en+65,nn=en+65484>>>8|0,tn[Wt+In|0]=~(1+(16321^en))>>>8&un|on|en+252&en+65474>>>8&~nn|nn&en+71&~sn,In=In+1|0}if(In>>>0>cn>>>0)break n}if(In>>>0>>0)break t;cn=In;break e}dn(1036,1114,231,1300),Q()}VA(Wt+In|0,61,cn-In|0)}return VA(Wt+cn|0,0,(Pt>>>0>(en=cn+1|0)>>>0?Pt:en)-cn|0),0|Wt},Fc:function(Wt,Pt,en,In,rn,sn,on,cn){Wt|=0,Pt|=0,en|=0,In|=0,rn|=0,sn|=0,on|=0;var dn=0,un=0,pn=0,mn=0,bn=0,Gn=0,hn=0,Zn=0;if(1==(-7&(cn|=0))){e:{t:{n:{l:{a:{I:{r:{if(In){s:{o:{if(cn>>>0<=3){for(;;){mn=un;c:{i:{d:{u:{for(;;){if(dn=(dn=(pn=tn[en+mn|0])-65|0)&(~(90-pn)&~dn)>>>8&255|pn+4&(~(pn+65488)&~(57-pn))>>>8&255|pn+185&(~(pn+65439)&~(122-pn))>>>8&255|~(1+(16336^pn))>>>8&63|~(1+(16340^pn))>>>8&62,255!=(0|(dn|=(dn-1&1+(65470^pn))>>>8&255)))break u;if(dn=0,!rn)break s;if(!hA(rn,pn))break;if((mn=mn+1|0)>>>0>=In>>>0)break d}un=mn;break s}if(hn=dn+(hn<<6)|0,bn>>>0>1)break i;bn=bn+6|0;break c}un=(Wt=un+1|0)>>>0>>0?In:Wt;break s}if(bn=bn-2|0,Pt>>>0<=Gn>>>0)break o;tn[Wt+Gn|0]=hn>>>bn,Gn=Gn+1|0}if(dn=0,!((un=mn+1|0)>>>0>>0))break}break s}for(;;){c:{if(dn=(dn=(pn=tn[en+mn|0])-65|0)&(~(90-pn)&~dn)>>>8&255|pn+4&(~(pn+65488)&~(57-pn))>>>8&255|pn+185&(~(pn+65439)&~(122-pn))>>>8&255|~(1+(16288^pn))>>>8&63|~(1+(16338^pn))>>>8&62,255==(0|(dn|=(dn-1&1+(65470^pn))>>>8&255))){if(dn=0,!rn)break s;if(hA(rn,pn)){if((mn=mn+1|0)>>>0>=In>>>0)break c;continue}un=mn;break s}if(hn=dn+(hn<<6)|0,bn>>>0<2)bn=bn+6|0;else{if(bn=bn-2|0,Pt>>>0<=Gn>>>0)break o;tn[Wt+Gn|0]=hn>>>bn,Gn=Gn+1|0}if(dn=0,(un=mn+1|0)>>>0>=In>>>0)break s;mn=un;continue}break}un=(Wt=un+1|0)>>>0>>0?In:Wt;break s}un=mn,nn[9280]=68,dn=1}if(bn>>>0>4)break r;Wt=un}else Wt=0;if(Pt=-1,dn){un=Wt;break e}if(~(-1<>>0<2){cn=Wt;break a}if(un=Wt>>>0>In>>>0?Wt:In,mn=bn>>>1|0,!rn)break I;for(cn=Wt;;){if((0|cn)==(0|un)){dn=68;break l}if(61!=(0|(Wt=tn[en+cn|0]))){if(!hA(rn,Wt)){dn=28,un=cn;break l}}else mn=mn-1|0;if(cn=cn+1|0,!mn)break}break a}Pt=-1;break e}if(dn=68,Wt>>>0>=In>>>0)break l;if(61!=an[Wt+en|0]){un=Wt,dn=28;break l}if(cn=Wt+mn|0,1!=(0|mn)){if((0|(bn=Wt+1|0))==(0|un))break l;if(61!=an[en+bn|0]){un=bn,dn=28;break l}if(2!=(0|mn)){if((0|(Wt=Wt+2|0))==(0|un))break l;if(dn=28,un=Wt,61!=an[Wt+en|0])break l}}}if(Pt=0,rn)break n;break t}nn[9280]=dn;break e}if(!(In>>>0<=cn>>>0)){for(;;){if(!hA(rn,tn[en+cn|0]))break t;if((0|(cn=cn+1|0))==(0|In))break}cn=In}}un=cn,Zn=Gn}return on?nn[on>>2]=en+un:(0|In)!=(0|un)&&(nn[9280]=28,Pt=-1),sn&&(nn[sn>>2]=Zn),0|Pt}iI(),Q()},Gc:function(){var Wt=0;return nn[9412]?Wt=1:(QI(),LA(37632,16),nn[9412]=1,Wt=0),0|Wt},Hc:function(Wt,Pt,en,In,rn){Wt|=0,Pt|=0,en|=0,rn|=0;var sn,on=0,cn=0,dn=0;mn=sn=mn-16|0;e:{if(In|=0){if((on=In-1|0)&In?(cn=~en,on=on-((en>>>0)%(In>>>0)|0)|0):on&=cn=~en,on>>>0>=cn>>>0)break e;if((en=en+on|0)>>>0>=rn>>>0)Pt=-1;else for(Wt&&(nn[Wt>>2]=en+1),Wt=Pt+en|0,Pt=0,tn[sn+15|0]=0,en=0;cn=rn=Wt-en|0,dn=an[0|rn]&an[sn+15|0],rn=(en^on)-1>>>24|0,tn[0|cn]=dn|128&rn,tn[sn+15|0]=rn|an[sn+15|0],(0|In)!=(0|(en=en+1|0)););}else Pt=-1;return mn=sn+16|0,0|Pt}iI(),Q()},Ic:function(Wt,Pt,en,tn){Wt|=0,Pt|=0,en|=0,tn|=0;var In,rn=0,sn=0,on=0,cn=0,dn=0;if(nn[12+(In=mn-16|0)>>2]=0,tn-1>>>0>>0){for(dn=(rn=en-1|0)+Pt|0,en=0,Pt=0;cn=((128^(sn=an[dn-en|0]))-1&nn[In+12>>2]-1&on-1)>>>8&1,nn[In+12>>2]=nn[In+12>>2]|0-cn&en,Pt|=cn,on|=sn,(0|tn)!=(0|(en=en+1|0)););nn[Wt>>2]=rn-nn[In+12>>2],Wt=(255&Pt)-1|0}else Wt=-1;return 0|Wt},Jc:function(){return 1318},Kc:function(){return 26},Lc:bI,Mc:dI,Nc:function(Wt){var Pt,en=0,tn=0,rn=0,on=0,cn=0,dn=0,un=0,pn=0,bn=0,Gn=0,hn=0,Zn=0;mn=Pt=mn-16|0;e:{t:{n:{l:{a:{I:{r:{s:{o:{c:{if((Wt|=0)>>>0<=244){if(3&(en=(on=nn[9281])>>>(Wt=(un=Wt>>>0<11?16:Wt+11&504)>>>3|0)|0)){Wt=37164+(en=(tn=Wt+(1&~en)|0)<<3)|0,en=nn[en+37172>>2],(0|Wt)!=(0|(rn=nn[en+8>>2]))?(nn[rn+12>>2]=Wt,nn[Wt+8>>2]=rn):(hn=37124,Zn=gI(-2,tn)&on,nn[hn>>2]=Zn),Wt=en+8|0,tn<<=3,nn[en+4>>2]=3|tn,nn[4+(en=en+tn|0)>>2]=1|nn[en+4>>2];break e}if((pn=nn[9283])>>>0>=un>>>0)break c;if(en){en=37164+(tn=(Wt=aI((0-(tn=2<>2],(0|en)!=(0|(rn=nn[tn+8>>2]))?(nn[rn+12>>2]=en,nn[en+8>>2]=rn):(on=gI(-2,Wt)&on,nn[9281]=on),nn[tn+4>>2]=3|un,cn=(Wt<<=3)-un|0,nn[4+(dn=tn+un|0)>>2]=1|cn,nn[Wt+tn>>2]=cn,pn&&(Wt=37164+(-8&pn)|0,rn=nn[9286],(en=1<<(pn>>>3))&on?en=nn[Wt+8>>2]:(nn[9281]=en|on,en=Wt),nn[Wt+8>>2]=rn,nn[en+12>>2]=rn,nn[rn+12>>2]=Wt,nn[rn+8>>2]=en),Wt=tn+8|0,nn[9286]=dn,nn[9283]=cn;break e}if(!(Gn=nn[9282]))break c;for(tn=nn[37428+(aI(Gn)<<2)>>2],cn=(-8&nn[tn+4>>2])-un|0,en=tn;(Wt=nn[en+16>>2])||(Wt=nn[en+20>>2]);)cn=(en=(rn=(-8&nn[Wt+4>>2])-un|0)>>>0>>0)?rn:cn,tn=en?Wt:tn,en=Wt;if(bn=nn[tn+24>>2],(0|tn)!=(0|(Wt=nn[tn+12>>2]))){en=nn[tn+8>>2],nn[en+12>>2]=Wt,nn[Wt+8>>2]=en;break t}if(en=nn[tn+20>>2])rn=tn+20|0;else{if(!(en=nn[tn+16>>2]))break o;rn=tn+16|0}for(;dn=rn,rn=(Wt=en)+20|0,(en=nn[Wt+20>>2])||(rn=Wt+16|0,en=nn[Wt+16>>2]););nn[dn>>2]=0;break t}if(un=-1,!(Wt>>>0>4294967231)&&(un=-8&(en=Wt+11|0),dn=nn[9282])){pn=31,cn=0-un|0,Wt>>>0<=16777204&&(pn=62+((un>>>38-(Wt=sn(en>>>8|0))&1)-(Wt<<1)|0)|0);i:{d:{if(en=nn[37428+(pn<<2)>>2])for(Wt=0,tn=un<<(31!=(0|pn)?25-(pn>>>1|0):0);;){if(!((on=(-8&nn[en+4>>2])-un|0)>>>0>=cn>>>0||(rn=en,cn=on))){cn=0,Wt=en;break d}if(on=nn[en+20>>2],en=nn[16+((tn>>>29&4)+en|0)>>2],Wt=on?(0|on)==(0|en)?Wt:on:Wt,tn<<=1,!en)break}else Wt=0;if(!(Wt|rn)){if(rn=0,!(Wt=(0-(Wt=2<>2]}if(!Wt)break i}for(;cn=(en=(tn=(-8&nn[Wt+4>>2])-un|0)>>>0>>0)?tn:cn,rn=en?Wt:rn,Wt=(en=nn[Wt+16>>2])||nn[Wt+20>>2];);}if(!(!rn|nn[9283]-un>>>0<=cn>>>0)){if(pn=nn[rn+24>>2],(0|rn)!=(0|(Wt=nn[rn+12>>2]))){en=nn[rn+8>>2],nn[en+12>>2]=Wt,nn[Wt+8>>2]=en;break n}if(en=nn[rn+20>>2])tn=rn+20|0;else{if(!(en=nn[rn+16>>2]))break s;tn=rn+16|0}for(;on=tn,tn=(Wt=en)+20|0,(en=nn[Wt+20>>2])||(tn=Wt+16|0,en=nn[Wt+16>>2]););nn[on>>2]=0;break n}}}if((rn=nn[9283])>>>0>=un>>>0){Wt=nn[9286],(en=rn-un|0)>>>0>=16?(nn[4+(tn=Wt+un|0)>>2]=1|en,nn[Wt+rn>>2]=en,nn[Wt+4>>2]=3|un):(nn[Wt+4>>2]=3|rn,nn[4+(en=Wt+rn|0)>>2]=1|nn[en+4>>2],tn=0,en=0),nn[9283]=en,nn[9286]=tn,Wt=Wt+8|0;break e}if((tn=nn[9284])>>>0>un>>>0){en=tn-un|0,nn[9284]=en,tn=(Wt=nn[9287])+un|0,nn[9287]=tn,nn[tn+4>>2]=1|en,nn[Wt+4>>2]=3|un,Wt=Wt+8|0;break e}if(Wt=0,cn=un+47|0,nn[9399]?en=nn[9401]:(nn[9402]=-1,nn[9403]=-1,nn[9400]=4096,nn[9401]=4096,nn[9399]=Pt+12&-16^1431655768,nn[9404]=0,nn[9392]=0,en=4096),(en=(on=cn+en|0)&(dn=0-en|0))>>>0<=un>>>0)break e;if((pn=nn[9391])&&(rn=(bn=nn[9389])+en|0)>>>0<=bn>>>0|rn>>>0>pn>>>0)break e;c:{if(!(4&an[37568])){i:{d:{u:{p:{if(rn=nn[9287])for(Wt=37572;;){if((pn=nn[Wt>>2])>>>0<=rn>>>0&rn>>>0>2]>>>0)break p;if(!(Wt=nn[Wt+8>>2]))break}if(-1==(0|(tn=uA(0))))break i;if(on=en,(rn=(Wt=nn[9400])-1|0)&tn&&(on=(en-tn|0)+(tn+rn&0-Wt)|0),on>>>0<=un>>>0)break i;if((rn=nn[9391])&&(Wt=(dn=nn[9389])+on|0)>>>0<=dn>>>0|Wt>>>0>rn>>>0)break i;if((0|tn)!=(0|(Wt=uA(on))))break u;break c}if((0|(tn=uA(on=dn&on-tn)))==(nn[Wt>>2]+nn[Wt+4>>2]|0))break d;Wt=tn}if(-1==(0|Wt))break i;if(un+48>>>0<=on>>>0){tn=Wt;break c}if(-1==(0|uA(tn=(tn=nn[9401])+(cn-on|0)&0-tn)))break i;on=tn+on|0,tn=Wt;break c}if(-1!=(0|tn))break c}nn[9392]=4|nn[9392]}if(-1==(0|(tn=uA(en)))|-1==(0|(Wt=uA(0)))|Wt>>>0<=tn>>>0)break a;if((on=Wt-tn|0)>>>0<=un+40>>>0)break a}Wt=nn[9389]+on|0,nn[9389]=Wt,Wt>>>0>In[9390]&&(nn[9390]=Wt);c:{if(cn=nn[9287]){for(Wt=37572;;){if(((en=nn[Wt>>2])+(rn=nn[Wt+4>>2])|0)==(0|tn))break c;if(!(Wt=nn[Wt+8>>2]))break}break r}for((Wt=nn[9285])>>>0<=tn>>>0&&Wt||(nn[9285]=tn),Wt=0,nn[9394]=on,nn[9393]=tn,nn[9289]=-1,nn[9290]=nn[9399],nn[9396]=0;rn=37164+(en=Wt<<3)|0,nn[en+37172>>2]=rn,nn[en+37176>>2]=rn,32!=(0|(Wt=Wt+1|0)););rn=(Wt=on-40|0)-(en=-8-tn&7)|0,nn[9284]=rn,en=en+tn|0,nn[9287]=en,nn[en+4>>2]=1|rn,nn[4+(Wt+tn|0)>>2]=40,nn[9288]=nn[9403];break I}if(8&nn[Wt+12>>2]|tn>>>0<=cn>>>0|en>>>0>cn>>>0)break r;nn[Wt+4>>2]=rn+on,en=(Wt=-8-cn&7)+cn|0,nn[9287]=en,Wt=(tn=nn[9284]+on|0)-Wt|0,nn[9284]=Wt,nn[en+4>>2]=1|Wt,nn[4+(tn+cn|0)>>2]=40,nn[9288]=nn[9403];break I}Wt=0;break t}Wt=0;break n}In[9285]>tn>>>0&&(nn[9285]=tn),rn=tn+on|0,Wt=37572;r:{for(;;){if((0|(en=nn[Wt>>2]))!=(0|rn)){if(Wt=nn[Wt+8>>2])continue;break r}break}if(!(8&an[Wt+12|0]))break l}for(Wt=37572;!((en=nn[Wt>>2])>>>0<=cn>>>0&&(rn=en+nn[Wt+4>>2]|0)>>>0>cn>>>0);)Wt=nn[Wt+8>>2];for(dn=(Wt=on-40|0)-(en=-8-tn&7)|0,nn[9284]=dn,en=en+tn|0,nn[9287]=en,nn[en+4>>2]=1|dn,nn[4+(Wt+tn|0)>>2]=40,nn[9288]=nn[9403],nn[(en=(Wt=(rn+(39-rn&7)|0)-47|0)>>>0>>0?cn:Wt)+4>>2]=27,Wt=nn[9396],nn[en+16>>2]=nn[9395],nn[en+20>>2]=Wt,Wt=nn[9394],nn[en+8>>2]=nn[9393],nn[en+12>>2]=Wt,nn[9395]=en+8,nn[9394]=on,nn[9393]=tn,nn[9396]=0,Wt=en+24|0;nn[Wt+4>>2]=7,tn=Wt+8|0,Wt=Wt+4|0,tn>>>0>>0;);if((0|en)!=(0|cn)){nn[en+4>>2]=-2&nn[en+4>>2],tn=en-cn|0,nn[cn+4>>2]=1|tn,nn[en>>2]=tn;r:if(tn>>>0<=255)Wt=37164+(-8&tn)|0,(en=nn[9281])&(tn=1<<(tn>>>3))?en=nn[Wt+8>>2]:(nn[9281]=en|tn,en=Wt),nn[Wt+8>>2]=cn,nn[en+12>>2]=cn,rn=8,tn=12;else{Wt=31,tn>>>0<=16777215&&(Wt=62+((tn>>>38-(Wt=sn(tn>>>8|0))&1)-(Wt<<1)|0)|0),nn[cn+28>>2]=Wt,nn[cn+16>>2]=0,nn[cn+20>>2]=0,en=37428+(Wt<<2)|0;s:{if((rn=nn[9282])&(on=1<>>1|0):0),rn=nn[en>>2];;){if((0|tn)==(-8&nn[(en=rn)+4>>2]))break s;if(rn=Wt>>>29|0,Wt<<=1,!(rn=nn[16+(on=(4&rn)+en|0)>>2]))break}nn[on+16>>2]=cn}else nn[9282]=rn|on,nn[en>>2]=cn;nn[cn+24>>2]=en,Wt=en=cn,rn=12,tn=8;break r}Wt=nn[en+8>>2],nn[Wt+12>>2]=cn,nn[en+8>>2]=cn,nn[cn+8>>2]=Wt,Wt=0,rn=12,tn=24}nn[rn+cn>>2]=en,nn[tn+cn>>2]=Wt}}if(!((Wt=nn[9284])>>>0<=un>>>0)){en=Wt-un|0,nn[9284]=en,tn=(Wt=nn[9287])+un|0,nn[9287]=tn,nn[tn+4>>2]=1|en,nn[Wt+4>>2]=3|un,Wt=Wt+8|0;break e}}nn[9280]=48,Wt=0;break e}nn[Wt>>2]=tn,nn[Wt+4>>2]=nn[Wt+4>>2]+on,nn[4+(pn=(-8-tn&7)+tn|0)>>2]=3|un,dn=(on=en+(-8-en&7)|0)-(cn=un+pn|0)|0;l:if(nn[9287]!=(0|on))if(nn[9286]!=(0|on)){if(1==(3&(Wt=nn[on+4>>2]))){bn=-8&Wt,tn=nn[on+12>>2];a:if(Wt>>>0<=255){if((0|(en=nn[on+8>>2]))==(0|tn)){hn=37124,Zn=nn[9281]&gI(-2,Wt>>>3|0),nn[hn>>2]=Zn;break a}nn[en+12>>2]=tn,nn[tn+8>>2]=en}else{un=nn[on+24>>2];I:if((0|tn)==(0|on)){r:{if(Wt=nn[on+20>>2])en=on+20|0;else{if(!(Wt=nn[on+16>>2]))break r;en=on+16|0}for(;rn=en,tn=Wt,en=Wt+20|0,(Wt=nn[Wt+20>>2])||(en=tn+16|0,Wt=nn[tn+16>>2]););nn[rn>>2]=0;break I}tn=0}else Wt=nn[on+8>>2],nn[Wt+12>>2]=tn,nn[tn+8>>2]=Wt;if(un){Wt=nn[on+28>>2];I:{if(nn[(en=37428+(Wt<<2)|0)>>2]==(0|on)){if(nn[en>>2]=tn,tn)break I;hn=37128,Zn=nn[9282]&gI(-2,Wt),nn[hn>>2]=Zn;break a}if(nn[un+(nn[un+16>>2]==(0|on)?16:20)>>2]=tn,!tn)break a}nn[tn+24>>2]=un,(Wt=nn[on+16>>2])&&(nn[tn+16>>2]=Wt,nn[Wt+24>>2]=tn),(Wt=nn[on+20>>2])&&(nn[tn+20>>2]=Wt,nn[Wt+24>>2]=tn)}}dn=dn+bn|0,Wt=nn[4+(on=on+bn|0)>>2]}if(nn[on+4>>2]=-2&Wt,nn[cn+4>>2]=1|dn,nn[cn+dn>>2]=dn,dn>>>0<=255)Wt=37164+(-8&dn)|0,(en=nn[9281])&(tn=1<<(dn>>>3))?en=nn[Wt+8>>2]:(nn[9281]=en|tn,en=Wt),nn[Wt+8>>2]=cn,nn[en+12>>2]=cn,nn[cn+12>>2]=Wt,nn[cn+8>>2]=en;else{tn=31,dn>>>0<=16777215&&(tn=62+((dn>>>38-(Wt=sn(dn>>>8|0))&1)-(Wt<<1)|0)|0),nn[cn+28>>2]=tn,nn[cn+16>>2]=0,nn[cn+20>>2]=0,Wt=37428+(tn<<2)|0;a:{if((en=nn[9282])&(rn=1<>>1|0):0),en=nn[Wt>>2];;){if((-8&nn[(Wt=en)+4>>2])==(0|dn))break a;if(en=tn>>>29|0,tn<<=1,!(en=nn[16+(rn=(4&en)+Wt|0)>>2]))break}nn[rn+16>>2]=cn}else nn[9282]=en|rn,nn[Wt>>2]=cn;nn[cn+24>>2]=Wt,nn[cn+12>>2]=cn,nn[cn+8>>2]=cn;break l}en=nn[Wt+8>>2],nn[en+12>>2]=cn,nn[Wt+8>>2]=cn,nn[cn+24>>2]=0,nn[cn+12>>2]=Wt,nn[cn+8>>2]=en}}else nn[9286]=cn,Wt=nn[9283]+dn|0,nn[9283]=Wt,nn[cn+4>>2]=1|Wt,nn[Wt+cn>>2]=Wt;else nn[9287]=cn,Wt=nn[9284]+dn|0,nn[9284]=Wt,nn[cn+4>>2]=1|Wt;Wt=pn+8|0;break e}n:if(pn){en=nn[rn+28>>2];l:{if(nn[(tn=37428+(en<<2)|0)>>2]==(0|rn)){if(nn[tn>>2]=Wt,Wt)break l;dn=gI(-2,en)&dn,nn[9282]=dn;break n}if(nn[pn+(nn[pn+16>>2]==(0|rn)?16:20)>>2]=Wt,!Wt)break n}nn[Wt+24>>2]=pn,(en=nn[rn+16>>2])&&(nn[Wt+16>>2]=en,nn[en+24>>2]=Wt),(en=nn[rn+20>>2])&&(nn[Wt+20>>2]=en,nn[en+24>>2]=Wt)}n:if(cn>>>0<=15)Wt=cn+un|0,nn[rn+4>>2]=3|Wt,nn[4+(Wt=Wt+rn|0)>>2]=1|nn[Wt+4>>2];else if(nn[rn+4>>2]=3|un,nn[4+(on=rn+un|0)>>2]=1|cn,nn[cn+on>>2]=cn,cn>>>0<=255)Wt=37164+(-8&cn)|0,(en=nn[9281])&(tn=1<<(cn>>>3))?en=nn[Wt+8>>2]:(nn[9281]=en|tn,en=Wt),nn[Wt+8>>2]=on,nn[en+12>>2]=on,nn[on+12>>2]=Wt,nn[on+8>>2]=en;else{Wt=31,cn>>>0<=16777215&&(Wt=62+((cn>>>38-(Wt=sn(cn>>>8|0))&1)-(Wt<<1)|0)|0),nn[on+28>>2]=Wt,nn[on+16>>2]=0,nn[on+20>>2]=0,en=37428+(Wt<<2)|0;l:{if((tn=1<>>1|0):0),en=nn[en>>2];;){if(tn=en,(-8&nn[en+4>>2])==(0|cn))break l;if(dn=Wt>>>29|0,Wt<<=1,!(en=nn[16+(dn=en+(4&dn)|0)>>2]))break}nn[dn+16>>2]=on,nn[on+24>>2]=tn}else nn[9282]=tn|dn,nn[en>>2]=on,nn[on+24>>2]=en;nn[on+12>>2]=on,nn[on+8>>2]=on;break n}Wt=nn[tn+8>>2],nn[Wt+12>>2]=on,nn[tn+8>>2]=on,nn[on+24>>2]=0,nn[on+12>>2]=tn,nn[on+8>>2]=Wt}Wt=rn+8|0;break e}t:if(bn){en=nn[tn+28>>2];n:{if(nn[(rn=37428+(en<<2)|0)>>2]==(0|tn)){if(nn[rn>>2]=Wt,Wt)break n;hn=37128,Zn=gI(-2,en)&Gn,nn[hn>>2]=Zn;break t}if(nn[bn+(nn[bn+16>>2]==(0|tn)?16:20)>>2]=Wt,!Wt)break t}nn[Wt+24>>2]=bn,(en=nn[tn+16>>2])&&(nn[Wt+16>>2]=en,nn[en+24>>2]=Wt),(en=nn[tn+20>>2])&&(nn[Wt+20>>2]=en,nn[en+24>>2]=Wt)}cn>>>0<=15?(Wt=cn+un|0,nn[tn+4>>2]=3|Wt,nn[4+(Wt=Wt+tn|0)>>2]=1|nn[Wt+4>>2]):(nn[tn+4>>2]=3|un,nn[4+(dn=tn+un|0)>>2]=1|cn,nn[cn+dn>>2]=cn,pn&&(Wt=37164+(-8&pn)|0,rn=nn[9286],(en=1<<(pn>>>3))&on?en=nn[Wt+8>>2]:(nn[9281]=en|on,en=Wt),nn[Wt+8>>2]=rn,nn[en+12>>2]=rn,nn[rn+12>>2]=Wt,nn[rn+8>>2]=en),nn[9286]=dn,nn[9283]=cn),Wt=tn+8|0}return mn=Pt+16|0,0|Wt},Oc:function(Wt){var Pt=0,en=0,tn=0,an=0,rn=0,on=0,cn=0,dn=0,un=0;e:if(Wt|=0){rn=(tn=Wt-8|0)+(Wt=-8&(Pt=nn[Wt-4>>2]))|0;t:if(!(1&Pt)){if(!(2&Pt))break e;if((tn=tn-(Pt=nn[tn>>2])|0)>>>0>2],Pt>>>0<=255){if((0|(an=nn[tn+8>>2]))!=(0|en))break a;dn=37124,un=nn[9281]&gI(-2,Pt>>>3|0),nn[dn>>2]=un;break t}if(cn=nn[tn+24>>2],(0|en)!=(0|tn)){Pt=nn[tn+8>>2],nn[Pt+12>>2]=en,nn[en+8>>2]=Pt;break n}if(an=nn[tn+20>>2])Pt=tn+20|0;else{if(!(an=nn[tn+16>>2]))break l;Pt=tn+16|0}for(;on=Pt,Pt=(en=an)+20|0,(an=nn[en+20>>2])||(Pt=en+16|0,an=nn[en+16>>2]););nn[on>>2]=0;break n}if(3&~(Pt=nn[rn+4>>2]))break t;return nn[9283]=Wt,nn[rn+4>>2]=-2&Pt,nn[tn+4>>2]=1|Wt,void(nn[rn>>2]=Wt)}nn[an+12>>2]=en,nn[en+8>>2]=an;break t}en=0}if(cn){Pt=nn[tn+28>>2];n:{if(nn[(an=37428+(Pt<<2)|0)>>2]==(0|tn)){if(nn[an>>2]=en,en)break n;dn=37128,un=nn[9282]&gI(-2,Pt),nn[dn>>2]=un;break t}if(nn[cn+(nn[cn+16>>2]==(0|tn)?16:20)>>2]=en,!en)break t}nn[en+24>>2]=cn,(Pt=nn[tn+16>>2])&&(nn[en+16>>2]=Pt,nn[Pt+24>>2]=en),(Pt=nn[tn+20>>2])&&(nn[en+20>>2]=Pt,nn[Pt+24>>2]=en)}}if(!(tn>>>0>=rn>>>0)&&1&(Pt=nn[rn+4>>2])){t:{n:{l:{a:{if(!(2&Pt)){if((0|rn)==nn[9287]){if(nn[9287]=tn,Wt=nn[9284]+Wt|0,nn[9284]=Wt,nn[tn+4>>2]=1|Wt,nn[9286]!=(0|tn))break e;return nn[9283]=0,void(nn[9286]=0)}if((0|rn)==nn[9286])return nn[9286]=tn,Wt=nn[9283]+Wt|0,nn[9283]=Wt,nn[tn+4>>2]=1|Wt,void(nn[Wt+tn>>2]=Wt);if(Wt=(-8&Pt)+Wt|0,en=nn[rn+12>>2],Pt>>>0<=255){if((0|(an=nn[rn+8>>2]))==(0|en)){dn=37124,un=nn[9281]&gI(-2,Pt>>>3|0),nn[dn>>2]=un;break n}nn[an+12>>2]=en,nn[en+8>>2]=an;break n}if(cn=nn[rn+24>>2],(0|en)!=(0|rn)){Pt=nn[rn+8>>2],nn[Pt+12>>2]=en,nn[en+8>>2]=Pt;break l}if(an=nn[rn+20>>2])Pt=rn+20|0;else{if(!(an=nn[rn+16>>2]))break a;Pt=rn+16|0}for(;on=Pt,Pt=(en=an)+20|0,(an=nn[en+20>>2])||(Pt=en+16|0,an=nn[en+16>>2]););nn[on>>2]=0;break l}nn[rn+4>>2]=-2&Pt,nn[tn+4>>2]=1|Wt,nn[Wt+tn>>2]=Wt;break t}en=0}if(cn){Pt=nn[rn+28>>2];l:{if((0|rn)==nn[(an=37428+(Pt<<2)|0)>>2]){if(nn[an>>2]=en,en)break l;dn=37128,un=nn[9282]&gI(-2,Pt),nn[dn>>2]=un;break n}if(nn[cn+((0|rn)==nn[cn+16>>2]?16:20)>>2]=en,!en)break n}nn[en+24>>2]=cn,(Pt=nn[rn+16>>2])&&(nn[en+16>>2]=Pt,nn[Pt+24>>2]=en),(Pt=nn[rn+20>>2])&&(nn[en+20>>2]=Pt,nn[Pt+24>>2]=en)}}if(nn[tn+4>>2]=1|Wt,nn[Wt+tn>>2]=Wt,nn[9286]==(0|tn))return void(nn[9283]=Wt)}if(Wt>>>0<=255)return Pt=37164+(-8&Wt)|0,(an=nn[9281])&(Wt=1<<(Wt>>>3))?Wt=nn[Pt+8>>2]:(nn[9281]=Wt|an,Wt=Pt),nn[Pt+8>>2]=tn,nn[Wt+12>>2]=tn,nn[tn+12>>2]=Pt,void(nn[tn+8>>2]=Wt);en=31,Wt>>>0<=16777215&&(en=62+((Wt>>>38-(Pt=sn(Wt>>>8|0))&1)-(Pt<<1)|0)|0),nn[tn+28>>2]=en,nn[tn+16>>2]=0,nn[tn+20>>2]=0,on=37428+(en<<2)|0;t:{n:{if((Pt=nn[9282])&(an=1<>>1|0):0),Pt=nn[on>>2];;){if(an=Pt,(-8&nn[Pt+4>>2])==(0|Wt))break n;if(Pt=en>>>29|0,en<<=1,!(Pt=nn[(on=16+((4&Pt)+an|0)|0)>>2]))break}en=24,Pt=an}else nn[9282]=Pt|an,en=24,Pt=on;an=tn,rn=tn,Wt=8;break t}Pt=nn[an+8>>2],nn[Pt+12>>2]=tn,en=8,on=an+8|0,rn=0,Wt=24}nn[on>>2]=tn,nn[en+tn>>2]=Pt,nn[tn+12>>2]=an,nn[Wt+tn>>2]=rn,Wt=nn[9289]-1|0,nn[9289]=Wt||-1}}},Pc:hn}}(Wt)}(Pt)},instantiate:function(Wt,Pt){return{then:function(en){var tn=new hn.Module(Wt);en({instance:new hn.Instance(tn,Pt)})}}},RuntimeError:Error};mn=[];var Zn,An,Wn,Nn,gn,yn,vn,Yn=!1;function M(){var Wt=Gn.buffer;In.HEAP8=Zn=new Int8Array(Wt),In.HEAP16=Wn=new Int16Array(Wt),In.HEAPU8=An=new Uint8Array(Wt),In.HEAPU16=new Uint16Array(Wt),In.HEAP32=Nn=new Int32Array(Wt),In.HEAPU32=gn=new Uint32Array(Wt),In.HEAPF32=yn=new Float32Array(Wt),In.HEAPF64=vn=new Float64Array(Wt)}var En=[],Vn=[],Rn=[],wn=0,Fn=null,Qn=null;function J(Wt){throw In.onAbort?.(Wt),bn(Wt="Aborted("+Wt+")"),Yn=!0,Wt+=". Build with -sASSERTIONS for more info.",new hn.RuntimeError(Wt)}var fn,U=Wt=>Wt.startsWith("file://");var Hn={36304:()=>In.getRandomValue(),36340:()=>{if(void 0===In.getRandomValue)try{var Wt="object"==typeof window?window:self,Pt=void 0!==Wt.crypto?Wt.crypto:Wt.msCrypto;Pt=void 0===Pt?tn:Pt;var g=function(){var Wt=new Uint32Array(1);return Pt.getRandomValues(Wt),Wt[0]>>>0};g(),In.getRandomValue=g}catch(Wt){try{var tn=en(76982),Q=function(){var Wt=tn.randomBytes(4);return(Wt[0]<<24|Wt[1]<<16|Wt[2]<<8|Wt[3])>>>0};Q(),In.getRandomValue=Q}catch(Wt){throw"No secure random number generator found"}}}},b=Wt=>{for(;Wt.length>0;)Wt.shift()(In)};In.noExitRuntime;var Cn,Xn="undefined"!=typeof TextDecoder?new TextDecoder:void 0,R=(Wt,Pt)=>Wt?((Wt,Pt,en)=>{for(var tn=Pt+en,nn=Pt;Wt[nn]&&!(nn>=tn);)++nn;if(nn-Pt>16&&Wt.buffer&&Xn)return Xn.decode(Wt.subarray(Pt,nn));for(var an="";Pt>10,56320|1023&on)}}else an+=String.fromCharCode((31&In)<<6|rn)}else an+=String.fromCharCode(In)}return an})(An,Wt,Pt):"",kn=[],x=Wt=>{var Pt=(Wt-Gn.buffer.byteLength+65535)/65536;try{return Gn.grow(Pt),M(),1}catch(Wt){}},Jn={b:(Wt,Pt,en,tn)=>{J(`Assertion failed: ${R(Wt)}, at: `+[Pt?R(Pt):"unknown filename",en,tn?R(tn):"unknown function"])},c:()=>{J("")},a:(Wt,Pt,en)=>((Wt,Pt,en)=>{var tn=((Wt,Pt)=>{var en;for(kn.length=0;en=An[Wt++];){var tn=105!=en;Pt+=(tn&=112!=en)&&Pt%8?4:0,kn.push(112==en?gn[Pt>>2]:105==en?Nn[Pt>>2]:vn[Pt>>3]),Pt+=tn?8:4}return kn})(Pt,en);return Hn[Wt](...tn)})(Wt,Pt,en),d:Wt=>{var Pt=An.length,en=2147483648;if((Wt>>>=0)>en)return!1;for(var tn,nn=1;nn<=4;nn*=2){var an=Pt*(1+.2/nn);an=Math.min(an,Wt+100663296);var In=Math.min(en,(tn=Math.max(Wt,an))+(65536-tn%65536)%65536);if(x(In))return!0}return!1}},Ln=function(){var Wt={a:Jn};function I(Wt,Pt){var en;return Ln=Wt.exports,Gn=Ln.e,M(),en=Ln.f,Vn.unshift(en),function(Wt){if(wn--,In.monitorRunDependencies?.(wn),0==wn&&(null!==Fn&&(clearInterval(Fn),Fn=null),Qn)){var Pt=Qn;Qn=null,Pt()}}(),Ln}if(wn++,In.monitorRunDependencies?.(wn),In.instantiateWasm)try{return In.instantiateWasm(Wt,I)}catch(Wt){return bn(`Module.instantiateWasm callback failed with error: ${Wt}`),!1}return fn||(fn="<<< WASM_BINARY_FILE >>>"),function(Wt,Pt,en){(function(Wt){return Promise.resolve().then((()=>function(Wt){if(Wt==fn&&mn)return new Uint8Array(mn);if(nn)return nn(Wt);throw"both async and sync fetching of the wasm failed"}(Wt)))})(Wt).then((Wt=>hn.instantiate(Wt,Pt))).then(en,(Wt=>{bn(`failed to asynchronously prepare wasm: ${Wt}`),J(Wt)}))}(fn,Wt,(function(Wt){I(Wt.instance)})),{}}();function q(){function A(){Cn||(Cn=!0,In.calledRun=!0,Yn||(b(Vn),In.onRuntimeInitialized?.(),function(){if(In.postRun)for("function"==typeof In.postRun&&(In.postRun=[In.postRun]);In.postRun.length;)Wt=In.postRun.shift(),Rn.unshift(Wt);var Wt;b(Rn)}()))}wn>0||(function(){if(In.preRun)for("function"==typeof In.preRun&&(In.preRun=[In.preRun]);In.preRun.length;)Wt=In.preRun.shift(),En.unshift(Wt);var Wt;b(En)}(),wn>0||(In.setStatus?(In.setStatus("Running..."),setTimeout((function(){setTimeout((function(){In.setStatus("")}),1),A()}),1)):A()))}if(In._crypto_aead_aegis128l_keybytes=()=>(In._crypto_aead_aegis128l_keybytes=Ln.g)(),In._crypto_aead_aegis128l_nsecbytes=()=>(In._crypto_aead_aegis128l_nsecbytes=Ln.h)(),In._crypto_aead_aegis128l_npubbytes=()=>(In._crypto_aead_aegis128l_npubbytes=Ln.i)(),In._crypto_aead_aegis128l_abytes=()=>(In._crypto_aead_aegis128l_abytes=Ln.j)(),In._crypto_aead_aegis128l_messagebytes_max=()=>(In._crypto_aead_aegis128l_messagebytes_max=Ln.k)(),In._crypto_aead_aegis128l_keygen=Wt=>(In._crypto_aead_aegis128l_keygen=Ln.l)(Wt),In._crypto_aead_aegis128l_encrypt=(Wt,Pt,en,tn,nn,an,rn,sn,on,cn,dn)=>(In._crypto_aead_aegis128l_encrypt=Ln.m)(Wt,Pt,en,tn,nn,an,rn,sn,on,cn,dn),In._crypto_aead_aegis128l_encrypt_detached=(Wt,Pt,en,tn,nn,an,rn,sn,on,cn,dn,un)=>(In._crypto_aead_aegis128l_encrypt_detached=Ln.n)(Wt,Pt,en,tn,nn,an,rn,sn,on,cn,dn,un),In._crypto_aead_aegis128l_decrypt=(Wt,Pt,en,tn,nn,an,rn,sn,on,cn,dn)=>(In._crypto_aead_aegis128l_decrypt=Ln.o)(Wt,Pt,en,tn,nn,an,rn,sn,on,cn,dn),In._crypto_aead_aegis128l_decrypt_detached=(Wt,Pt,en,tn,nn,an,rn,sn,on,cn,dn)=>(In._crypto_aead_aegis128l_decrypt_detached=Ln.p)(Wt,Pt,en,tn,nn,an,rn,sn,on,cn,dn),In._crypto_aead_aegis256_keybytes=()=>(In._crypto_aead_aegis256_keybytes=Ln.q)(),In._crypto_aead_aegis256_nsecbytes=()=>(In._crypto_aead_aegis256_nsecbytes=Ln.r)(),In._crypto_aead_aegis256_npubbytes=()=>(In._crypto_aead_aegis256_npubbytes=Ln.s)(),In._crypto_aead_aegis256_abytes=()=>(In._crypto_aead_aegis256_abytes=Ln.t)(),In._crypto_aead_aegis256_messagebytes_max=()=>(In._crypto_aead_aegis256_messagebytes_max=Ln.u)(),In._crypto_aead_aegis256_keygen=Wt=>(In._crypto_aead_aegis256_keygen=Ln.v)(Wt),In._crypto_aead_aegis256_encrypt=(Wt,Pt,en,tn,nn,an,rn,sn,on,cn,dn)=>(In._crypto_aead_aegis256_encrypt=Ln.w)(Wt,Pt,en,tn,nn,an,rn,sn,on,cn,dn),In._crypto_aead_aegis256_encrypt_detached=(Wt,Pt,en,tn,nn,an,rn,sn,on,cn,dn,un)=>(In._crypto_aead_aegis256_encrypt_detached=Ln.x)(Wt,Pt,en,tn,nn,an,rn,sn,on,cn,dn,un),In._crypto_aead_aegis256_decrypt=(Wt,Pt,en,tn,nn,an,rn,sn,on,cn,dn)=>(In._crypto_aead_aegis256_decrypt=Ln.y)(Wt,Pt,en,tn,nn,an,rn,sn,on,cn,dn),In._crypto_aead_aegis256_decrypt_detached=(Wt,Pt,en,tn,nn,an,rn,sn,on,cn,dn)=>(In._crypto_aead_aegis256_decrypt_detached=Ln.z)(Wt,Pt,en,tn,nn,an,rn,sn,on,cn,dn),In._crypto_aead_aes256gcm_is_available=()=>(In._crypto_aead_aes256gcm_is_available=Ln.A)(),In._crypto_aead_chacha20poly1305_encrypt_detached=(Wt,Pt,en,tn,nn,an,rn,sn,on,cn,dn,un)=>(In._crypto_aead_chacha20poly1305_encrypt_detached=Ln.B)(Wt,Pt,en,tn,nn,an,rn,sn,on,cn,dn,un),In._crypto_aead_chacha20poly1305_encrypt=(Wt,Pt,en,tn,nn,an,rn,sn,on,cn,dn)=>(In._crypto_aead_chacha20poly1305_encrypt=Ln.C)(Wt,Pt,en,tn,nn,an,rn,sn,on,cn,dn),In._crypto_aead_chacha20poly1305_ietf_encrypt_detached=(Wt,Pt,en,tn,nn,an,rn,sn,on,cn,dn,un)=>(In._crypto_aead_chacha20poly1305_ietf_encrypt_detached=Ln.D)(Wt,Pt,en,tn,nn,an,rn,sn,on,cn,dn,un),In._crypto_aead_chacha20poly1305_ietf_encrypt=(Wt,Pt,en,tn,nn,an,rn,sn,on,cn,dn)=>(In._crypto_aead_chacha20poly1305_ietf_encrypt=Ln.E)(Wt,Pt,en,tn,nn,an,rn,sn,on,cn,dn),In._crypto_aead_chacha20poly1305_decrypt_detached=(Wt,Pt,en,tn,nn,an,rn,sn,on,cn,dn)=>(In._crypto_aead_chacha20poly1305_decrypt_detached=Ln.F)(Wt,Pt,en,tn,nn,an,rn,sn,on,cn,dn),In._crypto_aead_chacha20poly1305_decrypt=(Wt,Pt,en,tn,nn,an,rn,sn,on,cn,dn)=>(In._crypto_aead_chacha20poly1305_decrypt=Ln.G)(Wt,Pt,en,tn,nn,an,rn,sn,on,cn,dn),In._crypto_aead_chacha20poly1305_ietf_decrypt_detached=(Wt,Pt,en,tn,nn,an,rn,sn,on,cn,dn)=>(In._crypto_aead_chacha20poly1305_ietf_decrypt_detached=Ln.H)(Wt,Pt,en,tn,nn,an,rn,sn,on,cn,dn),In._crypto_aead_chacha20poly1305_ietf_decrypt=(Wt,Pt,en,tn,nn,an,rn,sn,on,cn,dn)=>(In._crypto_aead_chacha20poly1305_ietf_decrypt=Ln.I)(Wt,Pt,en,tn,nn,an,rn,sn,on,cn,dn),In._crypto_aead_chacha20poly1305_ietf_keybytes=()=>(In._crypto_aead_chacha20poly1305_ietf_keybytes=Ln.J)(),In._crypto_aead_chacha20poly1305_ietf_npubbytes=()=>(In._crypto_aead_chacha20poly1305_ietf_npubbytes=Ln.K)(),In._crypto_aead_chacha20poly1305_ietf_nsecbytes=()=>(In._crypto_aead_chacha20poly1305_ietf_nsecbytes=Ln.L)(),In._crypto_aead_chacha20poly1305_ietf_abytes=()=>(In._crypto_aead_chacha20poly1305_ietf_abytes=Ln.M)(),In._crypto_aead_chacha20poly1305_ietf_messagebytes_max=()=>(In._crypto_aead_chacha20poly1305_ietf_messagebytes_max=Ln.N)(),In._crypto_aead_chacha20poly1305_ietf_keygen=Wt=>(In._crypto_aead_chacha20poly1305_ietf_keygen=Ln.O)(Wt),In._crypto_aead_chacha20poly1305_keybytes=()=>(In._crypto_aead_chacha20poly1305_keybytes=Ln.P)(),In._crypto_aead_chacha20poly1305_npubbytes=()=>(In._crypto_aead_chacha20poly1305_npubbytes=Ln.Q)(),In._crypto_aead_chacha20poly1305_nsecbytes=()=>(In._crypto_aead_chacha20poly1305_nsecbytes=Ln.R)(),In._crypto_aead_chacha20poly1305_abytes=()=>(In._crypto_aead_chacha20poly1305_abytes=Ln.S)(),In._crypto_aead_chacha20poly1305_messagebytes_max=()=>(In._crypto_aead_chacha20poly1305_messagebytes_max=Ln.T)(),In._crypto_aead_chacha20poly1305_keygen=Wt=>(In._crypto_aead_chacha20poly1305_keygen=Ln.U)(Wt),In._crypto_aead_xchacha20poly1305_ietf_encrypt_detached=(Wt,Pt,en,tn,nn,an,rn,sn,on,cn,dn,un)=>(In._crypto_aead_xchacha20poly1305_ietf_encrypt_detached=Ln.V)(Wt,Pt,en,tn,nn,an,rn,sn,on,cn,dn,un),In._crypto_aead_xchacha20poly1305_ietf_encrypt=(Wt,Pt,en,tn,nn,an,rn,sn,on,cn,dn)=>(In._crypto_aead_xchacha20poly1305_ietf_encrypt=Ln.W)(Wt,Pt,en,tn,nn,an,rn,sn,on,cn,dn),In._crypto_aead_xchacha20poly1305_ietf_decrypt_detached=(Wt,Pt,en,tn,nn,an,rn,sn,on,cn,dn)=>(In._crypto_aead_xchacha20poly1305_ietf_decrypt_detached=Ln.X)(Wt,Pt,en,tn,nn,an,rn,sn,on,cn,dn),In._crypto_aead_xchacha20poly1305_ietf_decrypt=(Wt,Pt,en,tn,nn,an,rn,sn,on,cn,dn)=>(In._crypto_aead_xchacha20poly1305_ietf_decrypt=Ln.Y)(Wt,Pt,en,tn,nn,an,rn,sn,on,cn,dn),In._crypto_aead_xchacha20poly1305_ietf_keybytes=()=>(In._crypto_aead_xchacha20poly1305_ietf_keybytes=Ln.Z)(),In._crypto_aead_xchacha20poly1305_ietf_npubbytes=()=>(In._crypto_aead_xchacha20poly1305_ietf_npubbytes=Ln._)(),In._crypto_aead_xchacha20poly1305_ietf_nsecbytes=()=>(In._crypto_aead_xchacha20poly1305_ietf_nsecbytes=Ln.$)(),In._crypto_aead_xchacha20poly1305_ietf_abytes=()=>(In._crypto_aead_xchacha20poly1305_ietf_abytes=Ln.aa)(),In._crypto_aead_xchacha20poly1305_ietf_messagebytes_max=()=>(In._crypto_aead_xchacha20poly1305_ietf_messagebytes_max=Ln.ba)(),In._crypto_aead_xchacha20poly1305_ietf_keygen=Wt=>(In._crypto_aead_xchacha20poly1305_ietf_keygen=Ln.ca)(Wt),In._crypto_auth_bytes=()=>(In._crypto_auth_bytes=Ln.da)(),In._crypto_auth_keybytes=()=>(In._crypto_auth_keybytes=Ln.ea)(),In._crypto_auth=(Wt,Pt,en,tn,nn)=>(In._crypto_auth=Ln.fa)(Wt,Pt,en,tn,nn),In._crypto_auth_verify=(Wt,Pt,en,tn,nn)=>(In._crypto_auth_verify=Ln.ga)(Wt,Pt,en,tn,nn),In._crypto_auth_keygen=Wt=>(In._crypto_auth_keygen=Ln.ha)(Wt),In._crypto_box_seedbytes=()=>(In._crypto_box_seedbytes=Ln.ia)(),In._crypto_box_publickeybytes=()=>(In._crypto_box_publickeybytes=Ln.ja)(),In._crypto_box_secretkeybytes=()=>(In._crypto_box_secretkeybytes=Ln.ka)(),In._crypto_box_beforenmbytes=()=>(In._crypto_box_beforenmbytes=Ln.la)(),In._crypto_box_noncebytes=()=>(In._crypto_box_noncebytes=Ln.ma)(),In._crypto_box_macbytes=()=>(In._crypto_box_macbytes=Ln.na)(),In._crypto_box_messagebytes_max=()=>(In._crypto_box_messagebytes_max=Ln.oa)(),In._crypto_box_seed_keypair=(Wt,Pt,en)=>(In._crypto_box_seed_keypair=Ln.pa)(Wt,Pt,en),In._crypto_box_keypair=(Wt,Pt)=>(In._crypto_box_keypair=Ln.qa)(Wt,Pt),In._crypto_box_beforenm=(Wt,Pt,en)=>(In._crypto_box_beforenm=Ln.ra)(Wt,Pt,en),In._crypto_box_detached_afternm=(Wt,Pt,en,tn,nn,an,rn)=>(In._crypto_box_detached_afternm=Ln.sa)(Wt,Pt,en,tn,nn,an,rn),In._crypto_box_detached=(Wt,Pt,en,tn,nn,an,rn,sn)=>(In._crypto_box_detached=Ln.ta)(Wt,Pt,en,tn,nn,an,rn,sn),In._crypto_box_easy_afternm=(Wt,Pt,en,tn,nn,an)=>(In._crypto_box_easy_afternm=Ln.ua)(Wt,Pt,en,tn,nn,an),In._crypto_box_easy=(Wt,Pt,en,tn,nn,an,rn)=>(In._crypto_box_easy=Ln.va)(Wt,Pt,en,tn,nn,an,rn),In._crypto_box_open_detached_afternm=(Wt,Pt,en,tn,nn,an,rn)=>(In._crypto_box_open_detached_afternm=Ln.wa)(Wt,Pt,en,tn,nn,an,rn),In._crypto_box_open_detached=(Wt,Pt,en,tn,nn,an,rn,sn)=>(In._crypto_box_open_detached=Ln.xa)(Wt,Pt,en,tn,nn,an,rn,sn),In._crypto_box_open_easy_afternm=(Wt,Pt,en,tn,nn,an)=>(In._crypto_box_open_easy_afternm=Ln.ya)(Wt,Pt,en,tn,nn,an),In._crypto_box_open_easy=(Wt,Pt,en,tn,nn,an,rn)=>(In._crypto_box_open_easy=Ln.za)(Wt,Pt,en,tn,nn,an,rn),In._crypto_box_seal=(Wt,Pt,en,tn,nn)=>(In._crypto_box_seal=Ln.Aa)(Wt,Pt,en,tn,nn),In._crypto_box_seal_open=(Wt,Pt,en,tn,nn,an)=>(In._crypto_box_seal_open=Ln.Ba)(Wt,Pt,en,tn,nn,an),In._crypto_box_sealbytes=()=>(In._crypto_box_sealbytes=Ln.Ca)(),In._crypto_generichash_bytes_min=()=>(In._crypto_generichash_bytes_min=Ln.Da)(),In._crypto_generichash_bytes_max=()=>(In._crypto_generichash_bytes_max=Ln.Ea)(),In._crypto_generichash_bytes=()=>(In._crypto_generichash_bytes=Ln.Fa)(),In._crypto_generichash_keybytes_min=()=>(In._crypto_generichash_keybytes_min=Ln.Ga)(),In._crypto_generichash_keybytes_max=()=>(In._crypto_generichash_keybytes_max=Ln.Ha)(),In._crypto_generichash_keybytes=()=>(In._crypto_generichash_keybytes=Ln.Ia)(),In._crypto_generichash_statebytes=()=>(In._crypto_generichash_statebytes=Ln.Ja)(),In._crypto_generichash=(Wt,Pt,en,tn,nn,an,rn)=>(In._crypto_generichash=Ln.Ka)(Wt,Pt,en,tn,nn,an,rn),In._crypto_generichash_init=(Wt,Pt,en,tn)=>(In._crypto_generichash_init=Ln.La)(Wt,Pt,en,tn),In._crypto_generichash_update=(Wt,Pt,en,tn)=>(In._crypto_generichash_update=Ln.Ma)(Wt,Pt,en,tn),In._crypto_generichash_final=(Wt,Pt,en)=>(In._crypto_generichash_final=Ln.Na)(Wt,Pt,en),In._crypto_generichash_keygen=Wt=>(In._crypto_generichash_keygen=Ln.Oa)(Wt),In._crypto_hash_bytes=()=>(In._crypto_hash_bytes=Ln.Pa)(),In._crypto_hash=(Wt,Pt,en,tn)=>(In._crypto_hash=Ln.Qa)(Wt,Pt,en,tn),In._crypto_kdf_bytes_min=()=>(In._crypto_kdf_bytes_min=Ln.Ra)(),In._crypto_kdf_bytes_max=()=>(In._crypto_kdf_bytes_max=Ln.Sa)(),In._crypto_kdf_contextbytes=()=>(In._crypto_kdf_contextbytes=Ln.Ta)(),In._crypto_kdf_keybytes=()=>(In._crypto_kdf_keybytes=Ln.Ua)(),In._crypto_kdf_derive_from_key=(Wt,Pt,en,tn,nn,an)=>(In._crypto_kdf_derive_from_key=Ln.Va)(Wt,Pt,en,tn,nn,an),In._crypto_kdf_keygen=Wt=>(In._crypto_kdf_keygen=Ln.Wa)(Wt),In._crypto_kdf_hkdf_sha256_extract_init=(Wt,Pt,en)=>(In._crypto_kdf_hkdf_sha256_extract_init=Ln.Xa)(Wt,Pt,en),In._crypto_kdf_hkdf_sha256_extract_update=(Wt,Pt,en)=>(In._crypto_kdf_hkdf_sha256_extract_update=Ln.Ya)(Wt,Pt,en),In._crypto_kdf_hkdf_sha256_extract_final=(Wt,Pt)=>(In._crypto_kdf_hkdf_sha256_extract_final=Ln.Za)(Wt,Pt),In._crypto_kdf_hkdf_sha256_extract=(Wt,Pt,en,tn,nn)=>(In._crypto_kdf_hkdf_sha256_extract=Ln._a)(Wt,Pt,en,tn,nn),In._crypto_kdf_hkdf_sha256_keygen=Wt=>(In._crypto_kdf_hkdf_sha256_keygen=Ln.$a)(Wt),In._crypto_kdf_hkdf_sha256_expand=(Wt,Pt,en,tn,nn)=>(In._crypto_kdf_hkdf_sha256_expand=Ln.ab)(Wt,Pt,en,tn,nn),In._crypto_kdf_hkdf_sha256_keybytes=()=>(In._crypto_kdf_hkdf_sha256_keybytes=Ln.bb)(),In._crypto_kdf_hkdf_sha256_bytes_min=()=>(In._crypto_kdf_hkdf_sha256_bytes_min=Ln.cb)(),In._crypto_kdf_hkdf_sha256_bytes_max=()=>(In._crypto_kdf_hkdf_sha256_bytes_max=Ln.db)(),In._crypto_kdf_hkdf_sha256_statebytes=()=>(In._crypto_kdf_hkdf_sha256_statebytes=Ln.eb)(),In._crypto_kdf_hkdf_sha512_extract_init=(Wt,Pt,en)=>(In._crypto_kdf_hkdf_sha512_extract_init=Ln.fb)(Wt,Pt,en),In._crypto_kdf_hkdf_sha512_extract_update=(Wt,Pt,en)=>(In._crypto_kdf_hkdf_sha512_extract_update=Ln.gb)(Wt,Pt,en),In._crypto_kdf_hkdf_sha512_extract_final=(Wt,Pt)=>(In._crypto_kdf_hkdf_sha512_extract_final=Ln.hb)(Wt,Pt),In._crypto_kdf_hkdf_sha512_extract=(Wt,Pt,en,tn,nn)=>(In._crypto_kdf_hkdf_sha512_extract=Ln.ib)(Wt,Pt,en,tn,nn),In._crypto_kdf_hkdf_sha512_keygen=Wt=>(In._crypto_kdf_hkdf_sha512_keygen=Ln.jb)(Wt),In._crypto_kdf_hkdf_sha512_expand=(Wt,Pt,en,tn,nn)=>(In._crypto_kdf_hkdf_sha512_expand=Ln.kb)(Wt,Pt,en,tn,nn),In._crypto_kdf_hkdf_sha512_keybytes=()=>(In._crypto_kdf_hkdf_sha512_keybytes=Ln.lb)(),In._crypto_kdf_hkdf_sha512_bytes_min=()=>(In._crypto_kdf_hkdf_sha512_bytes_min=Ln.mb)(),In._crypto_kdf_hkdf_sha512_bytes_max=()=>(In._crypto_kdf_hkdf_sha512_bytes_max=Ln.nb)(),In._crypto_kdf_hkdf_sha512_statebytes=()=>(In._crypto_kdf_hkdf_sha512_statebytes=Ln.ob)(),In._crypto_kx_seed_keypair=(Wt,Pt,en)=>(In._crypto_kx_seed_keypair=Ln.pb)(Wt,Pt,en),In._crypto_kx_keypair=(Wt,Pt)=>(In._crypto_kx_keypair=Ln.qb)(Wt,Pt),In._crypto_kx_client_session_keys=(Wt,Pt,en,tn,nn)=>(In._crypto_kx_client_session_keys=Ln.rb)(Wt,Pt,en,tn,nn),In._crypto_kx_server_session_keys=(Wt,Pt,en,tn,nn)=>(In._crypto_kx_server_session_keys=Ln.sb)(Wt,Pt,en,tn,nn),In._crypto_kx_publickeybytes=()=>(In._crypto_kx_publickeybytes=Ln.tb)(),In._crypto_kx_secretkeybytes=()=>(In._crypto_kx_secretkeybytes=Ln.ub)(),In._crypto_kx_seedbytes=()=>(In._crypto_kx_seedbytes=Ln.vb)(),In._crypto_kx_sessionkeybytes=()=>(In._crypto_kx_sessionkeybytes=Ln.wb)(),In._crypto_scalarmult_base=(Wt,Pt)=>(In._crypto_scalarmult_base=Ln.xb)(Wt,Pt),In._crypto_scalarmult=(Wt,Pt,en)=>(In._crypto_scalarmult=Ln.yb)(Wt,Pt,en),In._crypto_scalarmult_bytes=()=>(In._crypto_scalarmult_bytes=Ln.zb)(),In._crypto_scalarmult_scalarbytes=()=>(In._crypto_scalarmult_scalarbytes=Ln.Ab)(),In._crypto_secretbox_keybytes=()=>(In._crypto_secretbox_keybytes=Ln.Bb)(),In._crypto_secretbox_noncebytes=()=>(In._crypto_secretbox_noncebytes=Ln.Cb)(),In._crypto_secretbox_macbytes=()=>(In._crypto_secretbox_macbytes=Ln.Db)(),In._crypto_secretbox_messagebytes_max=()=>(In._crypto_secretbox_messagebytes_max=Ln.Eb)(),In._crypto_secretbox_keygen=Wt=>(In._crypto_secretbox_keygen=Ln.Fb)(Wt),In._crypto_secretbox_detached=(Wt,Pt,en,tn,nn,an,rn)=>(In._crypto_secretbox_detached=Ln.Gb)(Wt,Pt,en,tn,nn,an,rn),In._crypto_secretbox_easy=(Wt,Pt,en,tn,nn,an)=>(In._crypto_secretbox_easy=Ln.Hb)(Wt,Pt,en,tn,nn,an),In._crypto_secretbox_open_detached=(Wt,Pt,en,tn,nn,an,rn)=>(In._crypto_secretbox_open_detached=Ln.Ib)(Wt,Pt,en,tn,nn,an,rn),In._crypto_secretbox_open_easy=(Wt,Pt,en,tn,nn,an)=>(In._crypto_secretbox_open_easy=Ln.Jb)(Wt,Pt,en,tn,nn,an),In._crypto_secretstream_xchacha20poly1305_keygen=Wt=>(In._crypto_secretstream_xchacha20poly1305_keygen=Ln.Kb)(Wt),In._crypto_secretstream_xchacha20poly1305_init_push=(Wt,Pt,en)=>(In._crypto_secretstream_xchacha20poly1305_init_push=Ln.Lb)(Wt,Pt,en),In._crypto_secretstream_xchacha20poly1305_init_pull=(Wt,Pt,en)=>(In._crypto_secretstream_xchacha20poly1305_init_pull=Ln.Mb)(Wt,Pt,en),In._crypto_secretstream_xchacha20poly1305_rekey=Wt=>(In._crypto_secretstream_xchacha20poly1305_rekey=Ln.Nb)(Wt),In._crypto_secretstream_xchacha20poly1305_push=(Wt,Pt,en,tn,nn,an,rn,sn,on,cn)=>(In._crypto_secretstream_xchacha20poly1305_push=Ln.Ob)(Wt,Pt,en,tn,nn,an,rn,sn,on,cn),In._crypto_secretstream_xchacha20poly1305_pull=(Wt,Pt,en,tn,nn,an,rn,sn,on,cn)=>(In._crypto_secretstream_xchacha20poly1305_pull=Ln.Pb)(Wt,Pt,en,tn,nn,an,rn,sn,on,cn),In._crypto_secretstream_xchacha20poly1305_statebytes=()=>(In._crypto_secretstream_xchacha20poly1305_statebytes=Ln.Qb)(),In._crypto_secretstream_xchacha20poly1305_abytes=()=>(In._crypto_secretstream_xchacha20poly1305_abytes=Ln.Rb)(),In._crypto_secretstream_xchacha20poly1305_headerbytes=()=>(In._crypto_secretstream_xchacha20poly1305_headerbytes=Ln.Sb)(),In._crypto_secretstream_xchacha20poly1305_keybytes=()=>(In._crypto_secretstream_xchacha20poly1305_keybytes=Ln.Tb)(),In._crypto_secretstream_xchacha20poly1305_messagebytes_max=()=>(In._crypto_secretstream_xchacha20poly1305_messagebytes_max=Ln.Ub)(),In._crypto_secretstream_xchacha20poly1305_tag_message=()=>(In._crypto_secretstream_xchacha20poly1305_tag_message=Ln.Vb)(),In._crypto_secretstream_xchacha20poly1305_tag_push=()=>(In._crypto_secretstream_xchacha20poly1305_tag_push=Ln.Wb)(),In._crypto_secretstream_xchacha20poly1305_tag_rekey=()=>(In._crypto_secretstream_xchacha20poly1305_tag_rekey=Ln.Xb)(),In._crypto_secretstream_xchacha20poly1305_tag_final=()=>(In._crypto_secretstream_xchacha20poly1305_tag_final=Ln.Yb)(),In._crypto_shorthash_bytes=()=>(In._crypto_shorthash_bytes=Ln.Zb)(),In._crypto_shorthash_keybytes=()=>(In._crypto_shorthash_keybytes=Ln._b)(),In._crypto_shorthash=(Wt,Pt,en,tn,nn)=>(In._crypto_shorthash=Ln.$b)(Wt,Pt,en,tn,nn),In._crypto_shorthash_keygen=Wt=>(In._crypto_shorthash_keygen=Ln.ac)(Wt),In._crypto_sign_statebytes=()=>(In._crypto_sign_statebytes=Ln.bc)(),In._crypto_sign_bytes=()=>(In._crypto_sign_bytes=Ln.cc)(),In._crypto_sign_seedbytes=()=>(In._crypto_sign_seedbytes=Ln.dc)(),In._crypto_sign_publickeybytes=()=>(In._crypto_sign_publickeybytes=Ln.ec)(),In._crypto_sign_secretkeybytes=()=>(In._crypto_sign_secretkeybytes=Ln.fc)(),In._crypto_sign_messagebytes_max=()=>(In._crypto_sign_messagebytes_max=Ln.gc)(),In._crypto_sign_seed_keypair=(Wt,Pt,en)=>(In._crypto_sign_seed_keypair=Ln.hc)(Wt,Pt,en),In._crypto_sign_keypair=(Wt,Pt)=>(In._crypto_sign_keypair=Ln.ic)(Wt,Pt),In._crypto_sign=(Wt,Pt,en,tn,nn,an)=>(In._crypto_sign=Ln.jc)(Wt,Pt,en,tn,nn,an),In._crypto_sign_open=(Wt,Pt,en,tn,nn,an)=>(In._crypto_sign_open=Ln.kc)(Wt,Pt,en,tn,nn,an),In._crypto_sign_detached=(Wt,Pt,en,tn,nn,an)=>(In._crypto_sign_detached=Ln.lc)(Wt,Pt,en,tn,nn,an),In._crypto_sign_verify_detached=(Wt,Pt,en,tn,nn)=>(In._crypto_sign_verify_detached=Ln.mc)(Wt,Pt,en,tn,nn),In._crypto_sign_init=Wt=>(In._crypto_sign_init=Ln.nc)(Wt),In._crypto_sign_update=(Wt,Pt,en,tn)=>(In._crypto_sign_update=Ln.oc)(Wt,Pt,en,tn),In._crypto_sign_final_create=(Wt,Pt,en,tn)=>(In._crypto_sign_final_create=Ln.pc)(Wt,Pt,en,tn),In._crypto_sign_final_verify=(Wt,Pt,en)=>(In._crypto_sign_final_verify=Ln.qc)(Wt,Pt,en),In._crypto_sign_ed25519_pk_to_curve25519=(Wt,Pt)=>(In._crypto_sign_ed25519_pk_to_curve25519=Ln.rc)(Wt,Pt),In._crypto_sign_ed25519_sk_to_curve25519=(Wt,Pt)=>(In._crypto_sign_ed25519_sk_to_curve25519=Ln.sc)(Wt,Pt),In._randombytes_random=()=>(In._randombytes_random=Ln.tc)(),In._randombytes_stir=()=>(In._randombytes_stir=Ln.uc)(),In._randombytes_uniform=Wt=>(In._randombytes_uniform=Ln.vc)(Wt),In._randombytes_buf=(Wt,Pt)=>(In._randombytes_buf=Ln.wc)(Wt,Pt),In._randombytes_buf_deterministic=(Wt,Pt,en)=>(In._randombytes_buf_deterministic=Ln.xc)(Wt,Pt,en),In._randombytes_seedbytes=()=>(In._randombytes_seedbytes=Ln.yc)(),In._randombytes_close=()=>(In._randombytes_close=Ln.zc)(),In._randombytes=(Wt,Pt,en)=>(In._randombytes=Ln.Ac)(Wt,Pt,en),In._sodium_bin2hex=(Wt,Pt,en,tn)=>(In._sodium_bin2hex=Ln.Bc)(Wt,Pt,en,tn),In._sodium_hex2bin=(Wt,Pt,en,tn,nn,an,rn)=>(In._sodium_hex2bin=Ln.Cc)(Wt,Pt,en,tn,nn,an,rn),In._sodium_base64_encoded_len=(Wt,Pt)=>(In._sodium_base64_encoded_len=Ln.Dc)(Wt,Pt),In._sodium_bin2base64=(Wt,Pt,en,tn,nn)=>(In._sodium_bin2base64=Ln.Ec)(Wt,Pt,en,tn,nn),In._sodium_base642bin=(Wt,Pt,en,tn,nn,an,rn,sn)=>(In._sodium_base642bin=Ln.Fc)(Wt,Pt,en,tn,nn,an,rn,sn),In._sodium_init=()=>(In._sodium_init=Ln.Gc)(),In._sodium_pad=(Wt,Pt,en,tn,nn)=>(In._sodium_pad=Ln.Hc)(Wt,Pt,en,tn,nn),In._sodium_unpad=(Wt,Pt,en,tn)=>(In._sodium_unpad=Ln.Ic)(Wt,Pt,en,tn),In._sodium_version_string=()=>(In._sodium_version_string=Ln.Jc)(),In._sodium_library_version_major=()=>(In._sodium_library_version_major=Ln.Kc)(),In._sodium_library_version_minor=()=>(In._sodium_library_version_minor=Ln.Lc)(),In._sodium_library_minimal=()=>(In._sodium_library_minimal=Ln.Mc)(),In._malloc=Wt=>(In._malloc=Ln.Nc)(Wt),In._free=Wt=>(In._free=Ln.Oc)(Wt),In.setValue=function(Wt,Pt,en="i8"){switch(en.endsWith("*")&&(en="*"),en){case"i1":case"i8":Zn[Wt]=Pt;break;case"i16":Wn[Wt>>1]=Pt;break;case"i32":Nn[Wt>>2]=Pt;break;case"i64":J("to do setValue(i64) use WASM_BIGINT");case"float":yn[Wt>>2]=Pt;break;case"double":vn[Wt>>3]=Pt;break;case"*":gn[Wt>>2]=Pt;break;default:J(`invalid type for setValue: ${en}`)}},In.getValue=function(Wt,Pt="i8"){switch(Pt.endsWith("*")&&(Pt="*"),Pt){case"i1":case"i8":return Zn[Wt];case"i16":return Wn[Wt>>1];case"i32":return Nn[Wt>>2];case"i64":J("to do getValue(i64) use WASM_BIGINT");case"float":return yn[Wt>>2];case"double":return vn[Wt>>3];case"*":return gn[Wt>>2];default:J(`invalid type for getValue: ${Pt}`)}},In.UTF8ToString=R,Qn=function A(){Cn||q(),Cn||(Qn=A)},In.preInit)for("function"==typeof In.preInit&&(In.preInit=[In.preInit]);In.preInit.length>0;)In.preInit.pop()();q()}))};var nn,In=void 0!==In?In:{},rn="object"==typeof window,sn="function"==typeof importScripts,on="object"==typeof process&&"object"==typeof process.versions&&"string"==typeof process.versions.node,cn=Object.assign({},In),dn="";if(on){var un=en(79896),pn=en(16928);dn=import.meta.dirname+"/",nn=Wt=>(Wt=U(Wt)?new URL(Wt):pn.normalize(Wt),un.readFileSync(Wt)),!In.thisProgram&&process.argv.length>1&&process.argv[1].replace(/\\/g,"/"),process.argv.slice(2),true&&(Wt.exports=In)}else(rn||sn)&&(sn?dn=self.location.href:"undefined"!=typeof document&&document.currentScript&&(dn=document.currentScript.src),dn=dn.startsWith("blob:")?"":dn.substr(0,dn.replace(/[?#].*/,"").lastIndexOf("/")+1),sn&&(nn=Wt=>{var Pt=new XMLHttpRequest;return Pt.open("GET",Wt,!1),Pt.responseType="arraybuffer",Pt.send(null),new Uint8Array(Pt.response)}));In.print;var mn,bn,Gn=In.printErr||void 0;Object.assign(In,cn),cn=null,In.arguments&&In.arguments,In.thisProgram&&In.thisProgram,In.quit&&In.quit,In.wasmBinary&&(mn=In.wasmBinary);var hn,Zn,An,Wn,Nn,gn,yn,vn=!1;function S(){var Wt=bn.buffer;In.HEAP8=hn=new Int8Array(Wt),In.HEAP16=An=new Int16Array(Wt),In.HEAPU8=Zn=new Uint8Array(Wt),In.HEAPU16=new Uint16Array(Wt),In.HEAP32=Wn=new Int32Array(Wt),In.HEAPU32=Nn=new Uint32Array(Wt),In.HEAPF32=gn=new Float32Array(Wt),In.HEAPF64=yn=new Float64Array(Wt)}var Yn=[],En=[],Vn=[],Rn=0,wn=null,Fn=null;function G(Wt){throw In.onAbort?.(Wt),Gn(Wt="Aborted("+Wt+")"),vn=!0,Wt+=". Build with -sASSERTIONS for more info.",new WebAssembly.RuntimeError(Wt)}var Qn,fn="data:application/octet-stream;base64,",U=Wt=>Wt.startsWith("file://");function d(Wt){return Promise.resolve().then((()=>function(Wt){if(Wt==Qn&&mn)return new Uint8Array(mn);var Pt=function(Wt){if((Wt=>Wt.startsWith(fn))(Wt))return function(Wt){if(void 0!==on&&on){var Pt=Buffer.from(Wt,"base64");return new Uint8Array(Pt.buffer,Pt.byteOffset,Pt.length)}for(var en=atob(Wt),tn=new Uint8Array(en.length),nn=0;nnIn.getRandomValue(),36340:()=>{if(void 0===In.getRandomValue)try{var Wt="object"==typeof window?window:self,Pt=void 0!==Wt.crypto?Wt.crypto:Wt.msCrypto;Pt=void 0===Pt?tn:Pt;var g=function(){var Wt=new Uint32Array(1);return Pt.getRandomValues(Wt),Wt[0]>>>0};g(),In.getRandomValue=g}catch(Wt){try{var tn=en(76982),Q=function(){var Wt=tn.randomBytes(4);return(Wt[0]<<24|Wt[1]<<16|Wt[2]<<8|Wt[3])>>>0};Q(),In.getRandomValue=Q}catch(Wt){throw"No secure random number generator found"}}}},P=Wt=>{for(;Wt.length>0;)Wt.shift()(In)};In.noExitRuntime;var Cn,Xn="undefined"!=typeof TextDecoder?new TextDecoder:void 0,L=(Wt,Pt)=>Wt?((Wt,Pt,en)=>{for(var tn=Pt+en,nn=Pt;Wt[nn]&&!(nn>=tn);)++nn;if(nn-Pt>16&&Wt.buffer&&Xn)return Xn.decode(Wt.subarray(Pt,nn));for(var an="";Pt>10,56320|1023&on)}}else an+=String.fromCharCode((31&In)<<6|rn)}else an+=String.fromCharCode(In)}return an})(Zn,Wt,Pt):"",kn=[],u=Wt=>{var Pt=(Wt-bn.buffer.byteLength+65535)/65536;try{return bn.grow(Pt),S(),1}catch(Wt){}},Jn={b:(Wt,Pt,en,tn)=>{G(`Assertion failed: ${L(Wt)}, at: `+[Pt?L(Pt):"unknown filename",en,tn?L(tn):"unknown function"])},c:()=>{G("")},d:(Wt,Pt,en)=>Zn.copyWithin(Wt,Pt,Pt+en),a:(Wt,Pt,en)=>((Wt,Pt,en)=>{var tn=((Wt,Pt)=>{var en;for(kn.length=0;en=Zn[Wt++];){var tn=105!=en;Pt+=(tn&=112!=en)&&Pt%8?4:0,kn.push(112==en?Nn[Pt>>2]:105==en?Wn[Pt>>2]:yn[Pt>>3]),Pt+=tn?8:4}return kn})(Pt,en);return Hn[Wt](...tn)})(Wt,Pt,en),e:Wt=>{var Pt=Zn.length,en=2147483648;if((Wt>>>=0)>en)return!1;for(var tn,nn=1;nn<=4;nn*=2){var an=Pt*(1+.2/nn);an=Math.min(an,Wt+100663296);var In=Math.min(en,(tn=Math.max(Wt,an))+(65536-tn%65536)%65536);if(u(In))return!0}return!1}},Ln=function(){var Wt,Pt={a:Jn};function g(Wt,Pt){return Ln=Wt.exports,bn=Ln.f,S(),function(Wt){if(Rn--,In.monitorRunDependencies?.(Rn),0==Rn&&(null!==wn&&(clearInterval(wn),wn=null),Fn)){var Pt=Fn;Fn=null,Pt()}}(),Ln}if(Rn++,In.monitorRunDependencies?.(Rn),In.instantiateWasm)try{return In.instantiateWasm(Pt,g)}catch(Wt){return Gn(`Module.instantiateWasm callback failed with error: ${Wt}`),!1}return Qn||(Qn="data:application/octet-stream;base64,AGFzbQEAAAABoAIhYAN/f34Bf2ACf38Bf2AAAX9gA39/fwF/YAJ/fwBgA39/fwBgC39/f39/f39/f39/AX9gBX9/f39/AX9gCX9/f39/f39/fwF/YAF/AGAGf39+f39/AX9gBH9/f38Bf2AGf39+f35/AX9gBn9/f39/fwF/YAR/fn9/AX9gAX8Bf2AHf39/f39/fwF/YAR/f39/AGAMf39/f39/f39/f39/AX9gAABgBn9/f35/fwF/YAN/f34AYAR/f35/AX9gCH9/fn9/fn9/AX9gCX9/f39+f35/fwF/YAh/f39/f39/fwF/YAV/f35/fwBgBX9/f39/AGAKf39/f39/f39/fwF/YAR/fn9/AGAGf39+f39/AGAEf39/fgBgBX9/fn9/AX8CHwUBYQFhAAMBYQFiABEBYQFjABMBYQFkAAUBYQFlAA8D4QHfAQQFBQQDAxMCAAQFAgAACQQFBAIEBAAJHQIEAwAeAQEPAQMLAhQVAxEfBAUDBAQEARQDBAMRAgUEAwkPBRUEFQECIBQDBAMTGhoJEQUbBQQFCQIRBRsFBAUFBQEEDRAQCgoXFxgYFxgUAgICAwMHAgUPAgoMDg4CCAgICAwOAQMJDwEAAQULBw0NDRYHHBwNDQsLEA0HEBkQDRkHBwYGBhIGBgYGBhIWBhIGBhIGBgYSBgIHBwMZBwEQCwMBAQMCAwsPAQMCAQECAgIHBwEDAwICAgIJAwMLAgICBwkHAQsEBAFwABIFBgEBQICAAgYIAX8BQaCmBgsHjwjHAQFmAgABZwAQAWgAFwFpABABagAMAWsAVgFsAFUBbQC1AQFuALQBAW8AswEBcACyAQFxAAwBcgAXAXMADAF0AAwBdQBWAXYAEwF3ALEBAXgAsAEBeQCvAQF6AK4BAUEAFwFCAK0BAUMArAEBRACqAQFFAKkBAUYAqAEBRwCnAQFIAKYBAUkApQEBSgAMAUsAwwEBTAAXAU0AEAFOACgBTwATAVAADAFRAEUBUgAXAVMAEAFUACgBVQATAVYApAEBVwCjAQFYAKIBAVkAoQEBWgAMAV8AOgEkABcCYWEAEAJiYQAoAmNhABMCZGEADAJlYQAMAmZhAKABAmdhAJ8BAmhhABMCaWEADAJqYQAMAmthAAwCbGEADAJtYQA6Am5hABACb2EAKAJwYQDCAQJxYQDBAQJyYQAmAnNhAGMCdGEAngECdWEAnQECdmEAnAECd2EAYgJ4YQCbAQJ5YQBhAnphAJoBAkFhAJkBAkJhAJgBAkNhALYBAkRhABACRWEAHQJGYQAMAkdhABACSGEAHQJJYQAMAkphANwBAkthAJcBAkxhANsBAk1hAJYBAk5hACsCT2EAEwJQYQAdAlFhAJUBAlJhABACU2EAHQJUYQBFAlVhAAwCVmEAlAECV2EAEwJYYQDTAQJZYQDSAQJaYQDRAQJfYQDQAQIkYQATAmFiAM8BAmJiAAwCY2IAFwJkYgDOAQJlYgBtAmZiAHECZ2IAcAJoYgDiAQJpYgDhAQJqYgDgAQJrYgDfAQJsYgAdAm1iABcCbmIA3gECb2IA3QECcGIAuQECcWIARAJyYgC4AQJzYgC3AQJ0YgAMAnViAAwCdmIADAJ3YgAMAnhiAMABAnliAL8BAnpiAAwCQWIADAJCYgAMAkNiADoCRGIAEAJFYgAoAkZiABMCR2IAYwJIYgCTAQJJYgBiAkpiAGECS2IAEwJMYgDaAQJNYgDZAQJOYgDYAQJPYgCSAQJQYgCRAQJRYgDXAQJSYgDWAQJTYgA6AlRiAAwCVWIA1QECVmIAFwJXYgBvAlhiAG4CWWIA1AECWmIARQJfYgAQAiRiAJABAmFjAFUCYmMAbQJjYwAdAmRjAAwCZWMADAJmYwAdAmdjAMkBAmhjAMgBAmljAMcBAmpjAI4BAmtjAI0BAmxjAIwBAm1jAIsBAm5jAMYBAm9jAIoBAnBjAMUBAnFjAMQBAnJjAMsBAnNjAMoBAnRjAHYCdWMASwJ2YwB1AndjABgCeGMAdAJ5YwAMAnpjAHMCQWMAiQECQmMAvgECQ2MAvQECRGMAvAECRWMAuwECRmMAugECR2MAewJIYwByAkljAOMBAkpjAM0BAktjAMwBAkxjAG4CTWMAbwJOYwCFAQJPYwCEAQJQYwEACSABAEEBCxGrAY8BiAGHAYYBgwGCAYEBgAF/fn18enl4dwrAxAbfAcsGAht+B38gACABKAIMIh1BAXSsIgcgHawiE34gASgCECIgrCIGIAEoAggiIUEBdKwiC358IAEoAhQiHUEBdKwiCCABKAIEIiJBAXSsIgJ+fCABKAIYIh+sIgkgASgCACIjQQF0rCIFfnwgASgCICIeQRNsrCIDIB6sIhB+fCABKAIkIh5BJmysIgQgASgCHCIBQQF0rCIUfnwgAiAGfiALIBN+fCAdrCIRIAV+fCADIBR+fCAEIAl+fCACIAd+ICGsIg4gDn58IAUgBn58IAFBJmysIg8gAawiFX58IAMgH0EBdKx+fCAEIAh+fCIXQoCAgBB8IhhCGod8IhlCgICACHwiGkIZh3wiCiAKQoCAgBB8IgxCgICA4A+DfT4CGCAAIAUgDn4gAiAirCINfnwgH0ETbKwiCiAJfnwgCCAPfnwgAyAgQQF0rCIWfnwgBCAHfnwgCCAKfiAFIA1+fCAGIA9+fCADIAd+fCAEIA5+fCAdQSZsrCARfiAjrCINIA1+fCAKIBZ+fCAHIA9+fCADIAt+fCACIAR+fCIKQoCAgBB8Ig1CGod8IhtCgICACHwiHEIZh3wiEiASQoCAgBB8IhJCgICA4A+DfT4CCCAAIAsgEX4gBiAHfnwgAiAJfnwgBSAVfnwgBCAQfnwgDEIah3wiDCAMQoCAgAh8IgxCgICA8A+DfT4CHCAAIAUgE34gAiAOfnwgCSAPfnwgAyAIfnwgBCAGfnwgEkIah3wiAyADQoCAgAh8IgNCgICA8A+DfT4CDCAAIAkgC34gBiAGfnwgByAIfnwgAiAUfnwgBSAQfnwgBCAerCIGfnwgDEIZh3wiBCAEQoCAgBB8IgRCgICA4A+DfT4CICAAIBkgGkKAgIDwD4N9IBcgGEKAgIBgg30gA0IZh3wiA0KAgIAQfCIIQhqIfD4CFCAAIAMgCEKAgIDgD4N9PgIQIAAgByAJfiARIBZ+fCALIBV+fCACIBB+fCAFIAZ+fCAEQhqHfCICIAJCgICACHwiAkKAgIDwD4N9PgIkIAAgGyAcQoCAgPAPg30gCiANQoCAgGCDfSACQhmHQhN+fCICQoCAgBB8IgVCGoh8PgIEIAAgAiAFQoCAgOAPg30+AgALnQkCJ34MfyAAIAIoAgQiKqwiCyABKAIUIitBAXSsIhR+IAI0AgAiAyABNAIYIgZ+fCACKAIIIiysIg0gATQCECIHfnwgAigCDCItrCIQIAEoAgwiLkEBdKwiFX58IAIoAhAiL6wiESABNAIIIgh+fCACKAIUIjCsIhYgASgCBCIxQQF0rCIXfnwgAigCGCIyrCIgIAE0AgAiCX58IAIoAhwiM0ETbKwiDCABKAIkIjRBAXSsIhh+fCACKAIgIjVBE2ysIgQgATQCICIKfnwgAigCJCICQRNsrCIFIAEoAhwiAUEBdKwiGX58IAcgC34gAyArrCIafnwgDSAurCIbfnwgCCAQfnwgESAxrCIcfnwgCSAWfnwgMkETbKwiDiA0rCIdfnwgCiAMfnwgBCABrCIefnwgBSAGfnwgCyAVfiADIAd+fCAIIA1+fCAQIBd+fCAJIBF+fCAwQRNsrCIfIBh+fCAKIA5+fCAMIBl+fCAEIAZ+fCAFIBR+fCIiQoCAgBB8IiNCGod8IiRCgICACHwiJUIZh3wiEiASQoCAgBB8IhNCgICA4A+DfT4CGCAAIAsgF34gAyAIfnwgCSANfnwgLUETbKwiDyAYfnwgCiAvQRNsrCISfnwgGSAffnwgBiAOfnwgDCAUfnwgBCAHfnwgBSAVfnwgCSALfiADIBx+fCAsQRNsrCIhIB1+fCAKIA9+fCASIB5+fCAGIB9+fCAOIBp+fCAHIAx+fCAEIBt+fCAFIAh+fCAqQRNsrCAYfiADIAl+fCAKICF+fCAPIBl+fCAGIBJ+fCAUIB9+fCAHIA5+fCAMIBV+fCAEIAh+fCAFIBd+fCIhQoCAgBB8IiZCGod8IidCgICACHwiKEIZh3wiDyAPQoCAgBB8IilCgICA4A+DfT4CCCAAIAYgC34gAyAefnwgDSAafnwgByAQfnwgESAbfnwgCCAWfnwgHCAgfnwgCSAzrCIPfnwgBCAdfnwgBSAKfnwgE0Iah3wiEyATQoCAgAh8IhNCgICA8A+DfT4CHCAAIAggC34gAyAbfnwgDSAcfnwgCSAQfnwgEiAdfnwgCiAffnwgDiAefnwgBiAMfnwgBCAafnwgBSAHfnwgKUIah3wiBCAEQoCAgAh8IgRCgICA8A+DfT4CDCAAIAsgGX4gAyAKfnwgBiANfnwgECAUfnwgByARfnwgFSAWfnwgCCAgfnwgDyAXfnwgCSA1rCIMfnwgBSAYfnwgE0IZh3wiBSAFQoCAgBB8IgVCgICA4A+DfT4CICAAICQgJUKAgIDwD4N9ICIgI0KAgIBgg30gBEIZh3wiBEKAgIAQfCIOQhqIfD4CFCAAIAQgDkKAgIDgD4N9PgIQIAAgCiALfiADIB1+fCANIB5+fCAGIBB+fCARIBp+fCAHIBZ+fCAbICB+fCAIIA9+fCAMIBx+fCAJIAKsfnwgBUIah3wiAyADQoCAgAh8IgNCgICA8A+DfT4CJCAAICcgKEKAgIDwD4N9ICEgJkKAgIBgg30gA0IZh0ITfnwiA0KAgIAQfCIGQhqIfD4CBCAAIAMgBkKAgIDgD4N9PgIAC+4EAQ9/IAEoAgwhBCABKAIIIQUgASgCBCEGIwBBQGpBQHEiAyABKAIAIgFB/wFxQQJ0QbCTAmooAgA2AgAgAyAGQQZ2QfwHcUGwkwJqKAIANgIEIAMgBUEOdkH8B3FBsJMCaigCADYCCCADIARBFnZB/AdxQbCTAmooAgA2AgwgAyAGQf8BcUECdEGwkwJqKAIANgIQIAMgBUEGdkH8B3FBsJMCaigCADYCFCADIARBDnZB/AdxQbCTAmooAgA2AhggAyABQRZ2QfwHcUGwkwJqKAIANgIcIAMgBUH/AXFBAnRBsJMCaigCADYCICADIARBBnZB/AdxQbCTAmooAgA2AiQgAyABQQ52QfwHcUGwkwJqKAIANgIoIAMgBkEWdkH8B3FBsJMCaigCADYCLCADIARB/wFxQQJ0QbCTAmooAgA2AjAgAyABQQZ2QfwHcUGwkwJqKAIANgI0IAMgBkEOdkH8B3FBsJMCaigCADYCOCADIAVBFnZB/AdxQbCTAmooAgA2AjwgAygCDCEBIAMoAgAhBCADKAIEIQUgAygCCCEGIAMoAhwhByADKAIQIQggAygCFCEJIAMoAhghCiADKAIsIQsgAygCICEMIAMoAiQhDSADKAIoIQ4gAigCACEPIAIoAgQhECACKAIIIREgACACKAIMIAMoAjAgAygCNEEId3MgAygCOEEQd3MgAygCPEEYd3NzNgIMIAAgESAMIA1BCHdzIA5BEHdzIAtBGHdzczYCCCAAIBAgCCAJQQh3cyAKQRB3cyAHQRh3c3M2AgQgACAPIAQgBUEId3MgBkEQd3MgAUEYd3NzNgIACwsAIABBACABEAkaC/ICAgJ/AX4CQCACRQ0AIAAgAToAACAAIAJqIgNBAWsgAToAACACQQNJDQAgACABOgACIAAgAToAASADQQNrIAE6AAAgA0ECayABOgAAIAJBB0kNACAAIAE6AAMgA0EEayABOgAAIAJBCUkNACAAQQAgAGtBA3EiBGoiAyABQf8BcUGBgoQIbCIBNgIAIAMgAiAEa0F8cSIEaiICQQRrIAE2AgAgBEEJSQ0AIAMgATYCCCADIAE2AgQgAkEIayABNgIAIAJBDGsgATYCACAEQRlJDQAgAyABNgIYIAMgATYCFCADIAE2AhAgAyABNgIMIAJBEGsgATYCACACQRRrIAE2AgAgAkEYayABNgIAIAJBHGsgATYCACAEIANBBHFBGHIiBGsiAkEgSQ0AIAGtQoGAgIAQfiEFIAMgBGohAQNAIAEgBTcDGCABIAU3AxAgASAFNwMIIAEgBTcDACABQSBqIQEgAkEgayICQR9LDQALCyAAC4IEAQN/IAJBgARPBEAgACABIAIQAyAADwsgACACaiEDAkAgACABc0EDcUUEQAJAIABBA3FFBEAgACECDAELIAJFBEAgACECDAELIAAhAgNAIAIgAS0AADoAACABQQFqIQEgAkEBaiICQQNxRQ0BIAIgA0kNAAsLIANBfHEhBAJAIANBwABJDQAgAiAEQUBqIgVLDQADQCACIAEoAgA2AgAgAiABKAIENgIEIAIgASgCCDYCCCACIAEoAgw2AgwgAiABKAIQNgIQIAIgASgCFDYCFCACIAEoAhg2AhggAiABKAIcNgIcIAIgASgCIDYCICACIAEoAiQ2AiQgAiABKAIoNgIoIAIgASgCLDYCLCACIAEoAjA2AjAgAiABKAI0NgI0IAIgASgCODYCOCACIAEoAjw2AjwgAUFAayEBIAJBQGsiAiAFTQ0ACwsgAiAETw0BA0AgAiABKAIANgIAIAFBBGohASACQQRqIgIgBEkNAAsMAQsgA0EESQRAIAAhAgwBCyAAIANBBGsiBEsEQCAAIQIMAQsgACECA0AgAiABLQAAOgAAIAIgAS0AAToAASACIAEtAAI6AAIgAiABLQADOgADIAFBBGohASACQQRqIgIgBE0NAAsLIAIgA0kEQANAIAIgAS0AADoAACABQQFqIQEgAkEBaiICIANHDQALCyAACxgBAX9BlKYCKAIAIgAEQCAAERMACxACAAsEAEEgC4kGAgd+A38jAEHABWsiCyQAAkAgAlANACAAIAApA0giAyACQgOGfCIENwNIIAAgACkDQCADIARWrXwgAkI9iHw3A0AgAEHQAGohCkKAASADQgOIQv8AgyIEfSIIIAJYBEBCACEDIARC/wCFQgNaBEAgCEL8AYMhBwNAIAogAyAEfKdqIAEgA6dqLQAAOgAAIAogA0IBhCIJIAR8p2ogASAJp2otAAA6AAAgCiADQgKEIgkgBHynaiABIAmnai0AADoAACAKIANCA4QiCSAEfKdqIAEgCadqLQAAOgAAIANCBHwhAyAFQgR8IgUgB1INAAsLIAhCA4MiBUIAUgRAA0AgCiADIAR8p2ogASADp2otAAA6AAAgA0IBfCEDIAZCAXwiBiAFUg0ACwsgACAKIAsgC0GABWoiDBAsIAEgCKdqIQEgAiAIfSICQv8AVgRAA0AgACABIAsgDBAsIAFBgAFqIQEgAkKAAX0iAkL/AFYNAAsLAkAgAlANACACQgODIQRCACEGQgAhAyACQgRaBEAgAkL8AIMhBUIAIQIDQCAKIAOnIgBqIAAgAWotAAA6AAAgCiAAQQFyIgxqIAEgDGotAAA6AAAgCiAAQQJyIgxqIAEgDGotAAA6AAAgCiAAQQNyIgBqIAAgAWotAAA6AAAgA0IEfCEDIAJCBHwiAiAFUg0ACwsgBFANAANAIAogA6ciAGogACABai0AADoAACADQgF8IQMgBkIBfCIGIARSDQALCyALQcAFEAgMAQtCACEDIAJCBFoEQCACQnyDIQgDQCAKIAMgBHynaiABIAOnai0AADoAACAKIANCAYQiByAEfKdqIAEgB6dqLQAAOgAAIAogA0IChCIHIAR8p2ogASAHp2otAAA6AAAgCiADQgOEIgcgBHynaiABIAenai0AADoAACADQgR8IQMgBUIEfCIFIAhSDQALCyACQgODIgJQDQADQCAKIAMgBHynaiABIAOnai0AADoAACADQgF8IQMgBkIBfCIGIAJSDQALCyALQcAFaiQAQQALnwQBE38gASgCBCECIAEoAiwhAyABKAIIIQQgASgCMCEFIAEoAgwhBiABKAI0IQcgASgCECEIIAEoAjghCSABKAIUIQogASgCPCELIAEoAhghDCABQUBrIg0oAgAhDiABKAIcIQ8gASgCRCEQIAEoAiAhESABKAJIIRIgASgCJCETIAEoAkwhFCAAIAEoAgAgASgCKGo2AgAgACATIBRqNgIkIAAgESASajYCICAAIA8gEGo2AhwgACAMIA5qNgIYIAAgCiALajYCFCAAIAggCWo2AhAgACAGIAdqNgIMIAAgBCAFajYCCCAAIAIgA2o2AgQgASgCBCECIAEoAiwhAyABKAIIIQQgASgCMCEFIAEoAgwhBiABKAI0IQcgASgCECEIIAEoAjghCSABKAIUIQogASgCPCELIAEoAhghDCANKAIAIQ0gASgCHCEOIAEoAkQhDyABKAIgIRAgASgCSCERIAEoAgAhEiABKAIoIRMgACABKAJMIAEoAiRrNgJMIAAgESAQazYCSCAAIA8gDms2AkQgAEFAayANIAxrNgIAIAAgCyAKazYCPCAAIAkgCGs2AjggACAHIAZrNgI0IAAgBSAEazYCMCAAIAMgAms2AiwgACATIBJrNgIoIAAgASkCUDcCUCAAIAEpAlg3AlggACABKQJgNwJgIAAgASkCaDcCaCAAIAEpAnA3AnAgAEH4AGogAUH4AGpBkAsQBgvwCQEdfyABKAIEIQQgASgCLCEDIAEoAgghBSABKAIwIQYgASgCDCEHIAEoAjQhCCABKAIQIQkgASgCOCEKIAEoAhQhCyABKAI8IQwgASgCGCENIAFBQGsiDigCACEPIAEoAhwhECABKAJEIREgASgCICESIAEoAkghEyABKAIkIRQgASgCTCEVIAAgASgCACABKAIoajYCACAAIBQgFWo2AiQgACASIBNqNgIgIAAgECARajYCHCAAIA0gD2o2AhggACALIAxqNgIUIAAgCSAKajYCECAAIAcgCGo2AgwgACAFIAZqNgIIIAAgAyAEajYCBCABKAIEIQMgASgCLCEFIAEoAgghBiABKAIwIQcgASgCDCEIIAEoAjQhCSABKAIQIQogASgCOCELIAEoAhQhDCABKAI8IQ0gASgCGCEPIA4oAgAhDiABKAIcIQQgASgCRCEQIAEoAiAhESABKAJIIRIgASgCACETIAEoAighFCAAIAEoAkwgASgCJGs2AkwgACASIBFrNgJIIAAgECAEazYCRCAAQUBrIgQgDiAPazYCACAAIA0gDGs2AjwgACALIAprNgI4IAAgCSAIazYCNCAAIAcgBms2AjAgACAFIANrNgIsIAAgFCATazYCKCAAQdAAaiAAIAIQBiAAQShqIgMgAyACQShqEAYgAEH4AGogAkH4AGogAUH4AGoQBiAAIAFB0ABqIAJB0ABqEAYgACgCBCEUIAAoAgghFSAAKAIMIRYgACgCECEXIAAoAhQhGCAAKAIYIRkgACgCHCEaIAAoAiAhGyAAKAIkIRwgACgCLCEBIAAoAlQhAiAAKAIwIQMgACgCWCEFIAAoAjQhBiAAKAJcIQcgACgCOCEIIAAoAmAhCSAAKAI8IQogACgCZCELIAQoAgAhDCAAKAJoIQ0gACgCRCEOIAAoAmwhDyAAKAJIIRAgACgCcCERIAAoAgAhHSAAKAIoIRIgACgCUCETIAAgACgCTCIeIAAoAnQiH2o2AkwgACAQIBFqNgJIIAAgDiAPajYCRCAEIAwgDWo2AgAgACAKIAtqNgI8IAAgCCAJajYCOCAAIAYgB2o2AjQgACADIAVqNgIwIAAgASACajYCLCAAIBIgE2o2AiggACAfIB5rNgIkIAAgESAQazYCICAAIA8gDms2AhwgACANIAxrNgIYIAAgCyAKazYCFCAAIAkgCGs2AhAgACAHIAZrNgIMIAAgBSADazYCCCAAIAIgAWs2AgQgACATIBJrNgIAIAAgHEEBdCIBIAAoApwBIgJrNgKcASAAIBtBAXQiBCAAKAKYASIDazYCmAEgACAaQQF0IgUgACgClAEiBms2ApQBIAAgGUEBdCIHIAAoApABIghrNgKQASAAIBhBAXQiCSAAKAKMASIKazYCjAEgACAXQQF0IgsgACgCiAEiDGs2AogBIAAgFkEBdCINIAAoAoQBIg5rNgKEASAAIBVBAXQiDyAAKAKAASIQazYCgAEgACAUQQF0IhEgACgCfCISazYCfCAAIB1BAXQiEyAAKAJ4IhRrNgJ4IAAgAyAEajYCcCAAIAUgBmo2AmwgACAHIAhqNgJoIAAgCSAKajYCZCAAIAsgDGo2AmAgACANIA5qNgJcIAAgDyAQajYCWCAAIBEgEmo2AlQgACATIBRqNgJQIAAgASACajYCdAsEAEEQC9QBAgV/An4CfyACQgBSBEAgAEHgAWohByAAQeAAaiEDIAAoAOACIQQDQCADIARqIQZBgAIgBGsiBa0iCCACWgRAIAYgASACpyIBEAoaIAAgACgA4AIgAWo2AOACQQAMAwsgBiABIAUQChogACAAKADgAiAFajYA4AIgACAAKQBAIglCgAF8NwBAIAAgACkASCAJQv9+Vq18NwBIIAAgAxA8IAMgB0GAARAKGiAAIAAoAOACQYABayIENgDgAiABIAVqIQEgAiAIfSICQgBSDQALC0EACwsNACAAIAEgAhANGkEACwgAIABBIBAYC70IAgF+A38jAEHABWsiAyQAIAAgACgCSEEDdkH/AHEiBGpB0ABqIQUCQCAEQfAATwRAIAVBsI4CQYABIARrEAoaIAAgAEHQAGoiBCADIANBgAVqECwgBEEAQfAAEAkaDAELIAVBsI4CQfAAIARrEAoaCyAAIAApA0AiAkI4hiACQoD+A4NCKIaEIAJCgID8B4NCGIYgAkKAgID4D4NCCIaEhCACQgiIQoCAgPgPgyACQhiIQoCA/AeDhCACQiiIQoD+A4MgAkI4iISEhDcAwAEgACAAKQNIIgJCOIYgAkKA/gODQiiGhCACQoCA/AeDQhiGIAJCgICA+A+DQgiGhIQgAkIIiEKAgID4D4MgAkIYiEKAgPwHg4QgAkIoiEKA/gODIAJCOIiEhIQ3AMgBIAAgAEHQAGogAyADQYAFahAsIAEgACkDACICQjiGIAJCgP4Dg0IohoQgAkKAgPwHg0IYhiACQoCAgPgPg0IIhoSEIAJCCIhCgICA+A+DIAJCGIhCgID8B4OEIAJCKIhCgP4DgyACQjiIhISENwAAIAEgACkDCCICQjiGIAJCgP4Dg0IohoQgAkKAgPwHg0IYhiACQoCAgPgPg0IIhoSEIAJCCIhCgICA+A+DIAJCGIhCgID8B4OEIAJCKIhCgP4DgyACQjiIhISENwAIIAEgACkDECICQjiGIAJCgP4Dg0IohoQgAkKAgPwHg0IYhiACQoCAgPgPg0IIhoSEIAJCCIhCgICA+A+DIAJCGIhCgID8B4OEIAJCKIhCgP4DgyACQjiIhISENwAQIAEgACkDGCICQjiGIAJCgP4Dg0IohoQgAkKAgPwHg0IYhiACQoCAgPgPg0IIhoSEIAJCCIhCgICA+A+DIAJCGIhCgID8B4OEIAJCKIhCgP4DgyACQjiIhISENwAYIAEgACkDICICQjiGIAJCgP4Dg0IohoQgAkKAgPwHg0IYhiACQoCAgPgPg0IIhoSEIAJCCIhCgICA+A+DIAJCGIhCgID8B4OEIAJCKIhCgP4DgyACQjiIhISENwAgIAEgACkDKCICQjiGIAJCgP4Dg0IohoQgAkKAgPwHg0IYhiACQoCAgPgPg0IIhoSEIAJCCIhCgICA+A+DIAJCGIhCgID8B4OEIAJCKIhCgP4DgyACQjiIhISENwAoIAEgACkDMCICQjiGIAJCgP4Dg0IohoQgAkKAgPwHg0IYhiACQoCAgPgPg0IIhoSEIAJCCIhCgICA+A+DIAJCGIhCgID8B4OEIAJCKIhCgP4DgyACQjiIhISENwAwIAEgACkDOCICQjiGIAJCgP4Dg0IohoQgAkKAgPwHg0IYhiACQoCAgPgPg0IIhoSEIAJCCIhCgICA+A+DIAJCGIhCgID8B4OEIAJCKIhCgP4DgyACQjiIhISENwA4IANBwAUQCCAAQdABEAggA0HABWokAAuDBwEUfyABKAIEIQwgACgCBCEDIAEoAgghDSAAKAIIIQQgASgCDCEOIAAoAgwhBSABKAIQIQ8gACgCECEGIAEoAhQhECAAKAIUIQcgASgCGCERIAAoAhghCCABKAIcIRIgACgCHCEJIAEoAiAhEyAAKAIgIQogASgCJCEUIAAoAiQhCyAAQQAgAmsiAiAAKAIAIhUgASgCAHNxIBVzNgIAIAAgCyALIBRzIAJxczYCJCAAIAogCiATcyACcXM2AiAgACAJIAkgEnMgAnFzNgIcIAAgCCAIIBFzIAJxczYCGCAAIAcgByAQcyACcXM2AhQgACAGIAYgD3MgAnFzNgIQIAAgBSAFIA5zIAJxczYCDCAAIAQgBCANcyACcXM2AgggACADIAMgDHMgAnFzNgIEIAAoAiwhAyABKAIsIQwgACgCMCEEIAEoAjAhDSAAKAI0IQUgASgCNCEOIAAoAjghBiABKAI4IQ8gACgCPCEHIAEoAjwhECAAQUBrIhEoAgAhCCABQUBrKAIAIRIgACgCRCEJIAEoAkQhEyAAKAJIIQogASgCSCEUIAAoAighCyABKAIoIRUgACAAKAJMIhYgASgCTHMgAnEgFnM2AkwgACAKIAogFHMgAnFzNgJIIAAgCSAJIBNzIAJxczYCRCARIAggCCAScyACcXM2AgAgACAHIAcgEHMgAnFzNgI8IAAgBiAGIA9zIAJxczYCOCAAIAUgBSAOcyACcXM2AjQgACAEIAQgDXMgAnFzNgIwIAAgAyADIAxzIAJxczYCLCAAIAsgCyAVcyACcXM2AiggACgCVCEDIAEoAlQhDCAAKAJYIQQgASgCWCENIAAoAlwhBSABKAJcIQ4gACgCYCEGIAEoAmAhDyAAKAJkIQcgASgCZCEQIAAoAmghCCABKAJoIREgACgCbCEJIAEoAmwhEiAAKAJwIQogASgCcCETIAAoAlAhCyABKAJQIRQgACAAKAJ0IhUgASgCdHMgAnEgFXM2AnQgACAKIAogE3MgAnFzNgJwIAAgCSAJIBJzIAJxczYCbCAAIAggCCARcyACcXM2AmggACAHIAcgEHMgAnFzNgJkIAAgBiAGIA9zIAJxczYCYCAAIAUgBSAOcyACcXM2AlwgACAEIAQgDXMgAnFzNgJYIAAgAyADIAxzIAJxczYCVCAAIAsgCyAUcyACcXM2AlAL6AQBCX8gACABKAIgIgUgASgCHCIGIAEoAhgiByABKAIUIgggASgCECIJIAEoAgwiCiABKAIIIgQgASgCBCIDIAEoAgAiAiABKAIkIgFBE2xBgICACGpBGXZqQRp1akEZdWpBGnVqQRl1akEadWpBGXVqQRp1akEZdWpBGnUgAWpBGXVBE2wgAmoiAjoAACAAIAJBEHY6AAIgACACQQh2OgABIAAgAyACQRp1aiIDQQ52OgAFIAAgA0EGdjoABCAAIAJBGHZBA3EgA0ECdHI6AAMgACAEIANBGXVqIgJBDXY6AAggACACQQV2OgAHIAAgAkEDdCADQYCAgA5xQRZ2cjoABiAAIAogAkEadWoiBEELdjoACyAAIARBA3Y6AAogACAEQQV0IAJBgICAH3FBFXZyOgAJIAAgCSAEQRl1aiICQRJ2OgAPIAAgAkEKdjoADiAAIAJBAnY6AA0gACAIIAJBGnVqIgM6ABAgACACQQZ0IARBgIDgD3FBE3ZyOgAMIAAgA0EQdjoAEiAAIANBCHY6ABEgACAHIANBGXVqIgJBD3Y6ABUgACACQQd2OgAUIAAgA0EYdkEBcSACQQF0cjoAEyAAIAYgAkEadWoiA0ENdjoAGCAAIANBBXY6ABcgACADQQN0IAJBgICAHHFBF3ZyOgAWIAAgBSADQRl1aiICQQx2OgAbIAAgAkEEdjoAGiAAIAJBBHQgA0GAgIAPcUEVdnI6ABkgACABIAJBGnVqIgFBCnY6AB4gACABQQJ2OgAdIAAgAUGAgPAPcUESdjoAHyAAIAFBBnQgAkGAgMAfcUEUdnI6ABwLBABBAAtEAQJ/IwBBEGsiAiQAIAEEQANAIAJBADoADyAAIANqQdCbAiACQQ9qQQAQADoAACADQQFqIgMgAUcNAAsLIAJBEGokAAvhDgIcfh9/IwBBMGsiHiQAIAAgARAFIABB0ABqIAFBKGoQBSAAIAEoAlwiIkEBdKwiCCABKAJUIiNBAXSsIgJ+IAEoAlgiJKwiDSANfnwgASgCYCIlrCIHIAEoAlAiJkEBdKwiBX58IAEoAmwiH0EmbKwiDiAfrCIRfnwgASgCcCInQRNsrCIDIAEoAmgiIEEBdKx+fCABKAJ0IihBJmysIgQgASgCZCIhQQF0rCIJfnxCAYYiFUKAgIAQfCIWQhqHIAIgB34gJEEBdKwiCyAirCISfnwgIawiDyAFfnwgAyAfQQF0rCITfnwgBCAgrCIKfnxCAYZ8IhdCgICACHwiGEIZhyAIIBJ+IAcgC358IAIgCX58IAUgCn58IAMgJ6wiEH58IAQgE358QgGGfCIGIAZCgICAEHwiDEKAgIDgD4N9PgKQASAAICFBJmysIA9+ICasIgYgBn58ICBBE2ysIgYgJUEBdKwiFH58IAggDn58IAMgC358IAIgBH58QgGGIhlCgICAEHwiGkIahyAGIAl+IAUgI6wiG358IAcgDn58IAMgCH58IAQgDX58QgGGfCIcQoCAgAh8Ih1CGYcgBSANfiACIBt+fCAGIAp+fCAJIA5+fCADIBR+fCAEIAh+fEIBhnwiBiAGQoCAgBB8IgZCgICA4A+DfT4CgAEgACALIA9+IAcgCH58IAIgCn58IAUgEX58IAQgEH58QgGGIAxCGod8IgwgDEKAgIAIfCIMQoCAgPAPg30+ApQBIAAgBSASfiACIA1+fCAKIA5+fCADIAl+fCAEIAd+fEIBhiAGQhqHfCIDIANCgICACHwiA0KAgIDwD4N9PgKEASAAIAogC34gByAHfnwgCCAJfnwgAiATfnwgBSAQfnwgBCAorCIHfnxCAYYgDEIZh3wiBCAEQoCAgBB8IgRCgICA4A+DfT4CmAEgACAXIBhCgICA8A+DfSAVIBZCgICAYIN9IANCGYd8IgNCgICAEHwiCUIaiHw+AowBIAAgAyAJQoCAgOAPg30+AogBIAAgCCAKfiAPIBR+fCALIBF+fCACIBB+fCAFIAd+fEIBhiAEQhqHfCICIAJCgICACHwiAkKAgIDwD4N9PgKcASAAIBwgHUKAgIDwD4N9IBkgGkKAgIBgg30gAkIZh0ITfnwiAkKAgIAQfCIFQhqIfD4CfCAAIAIgBUKAgIDgD4N9PgJ4IAEoAiwhHyABKAIEISAgASgCMCEhIAEoAgghIiABKAI0ISMgASgCDCEkIAEoAjghJSABKAIQISYgASgCPCEnIAEoAhQhKCABQUBrKAIAISkgASgCGCEqIAEoAkQhKyABKAIcISwgASgCSCEtIAEoAiAhLiABKAIoIS8gASgCACEwIAAgASgCTCABKAIkajYCTCAAIC0gLmo2AkggACArICxqNgJEIABBQGsiMSApICpqNgIAIAAgJyAoajYCPCAAICUgJmo2AjggACAjICRqNgI0IAAgISAiajYCMCAAIB8gIGo2AiwgACAvIDBqNgIoIB4gAEEoahAFIAAoAgQhASAAKAJUIR8gACgCCCEgIAAoAlghISAAKAIMISIgACgCXCEjIAAoAhAhJCAAKAJgISUgACgCFCEmIAAoAmQhJyAAKAIYISggACgCaCEpIAAoAhwhKiAAKAJsISsgACgCICEsIAAoAnAhLSAAKAIAIS4gACgCUCEvIAAgACgCdCIwIAAoAiQiMmsiMzYCdCAAIC0gLGsiNDYCcCAAICsgKmsiNTYCbCAAICkgKGsiNjYCaCAAICcgJmsiNzYCZCAAICUgJGsiODYCYCAAICMgImsiOTYCXCAAICEgIGsiOjYCWCAAIB8gAWsiOzYCVCAAIC8gLmsiPDYCUCAAIDAgMmoiMDYCTCAAICwgLWoiLDYCSCAAICogK2oiKjYCRCAxICggKWoiKDYCACAAICYgJ2oiJjYCPCAAICQgJWoiJDYCOCAAICIgI2oiIjYCNCAAICAgIWoiIDYCMCAAIAEgH2oiATYCLCAAIC4gL2oiHzYCKCAeKAIAISEgHigCBCEjIB4oAgghJSAeKAIMIScgHigCECEpIB4oAhQhKyAeKAIYIS0gHigCHCEuIB4oAiAhLyAAIB4oAiQgMGs2AiQgACAvICxrNgIgIAAgLiAqazYCHCAAIC0gKGs2AhggACArICZrNgIUIAAgKSAkazYCECAAICcgIms2AgwgACAlICBrNgIIIAAgIyABazYCBCAAICEgH2s2AgAgACgCfCEBIAAoAoABIR8gACgChAEhICAAKAKIASEhIAAoAowBISIgACgCkAEhIyAAKAKUASEkIAAoApgBISUgACgCeCEmIAAgACgCnAEgM2s2ApwBIAAgJSA0azYCmAEgACAkIDVrNgKUASAAICMgNms2ApABIAAgIiA3azYCjAEgACAhIDhrNgKIASAAICAgOWs2AoQBIAAgHyA6azYCgAEgACABIDtrNgJ8IAAgJiA8azYCeCAeQTBqJAALDAAgACABIAIQKkEAC3AAIABCADcDQCAAQgA3A0ggAEHwiAIpAwA3AwAgAEH4iAIpAwA3AwggAEGAiQIpAwA3AxAgAEGIiQIpAwA3AxggAEGQiQIpAwA3AyAgAEGYiQIpAwA3AyggAEGgiQIpAwA3AzAgAEGoiQIpAwA3AzgLJAAgAUKAgICAEFoEQBALAAsgACABIAIgA0HEmwIoAgARDgAaCwUAQcAACzcBAX8jAEFAaiICJAAgACACEBQgAEHQAWoiACACQsAAEA0aIAAgARAUIAJBwAAQCCACQUBrJAAL1gQBCH8jAEHAAWsiBSQAIAJBgQFPBEAgABAbIAAgASACrRANGiAAIAUQFEHAACECIAUhAQsgABAbIAVBQGtBNkGAARAJGgJAIAJFDQAgAkEETwRAIAJB/AFxIQoDQCAFQUBrIgggA2oiBCAELQAAIAEgA2otAABzOgAAIAggA0EBciIEaiIGIAYtAAAgASAEai0AAHM6AAAgCCADQQJyIgRqIgYgBi0AACABIARqLQAAczoAACAIIANBA3IiBGoiBiAGLQAAIAEgBGotAABzOgAAIANBBGohAyAHQQRqIgcgCkcNAAsLIAJBA3EiB0UNAANAIAVBQGsgA2oiCiAKLQAAIAEgA2otAABzOgAAIANBAWohAyAJQQFqIgkgB0cNAAsLIAAgBUFAayIDQoABEA0aIABB0AFqIgAQGyADQdwAQYABEAkaAkAgAkUNAEEAIQlBACEDIAJBBE8EQCACQfwBcSEKQQAhBwNAIAVBQGsiCCADaiIEIAQtAAAgASADai0AAHM6AAAgCCADQQFyIgRqIgYgBi0AACABIARqLQAAczoAACAIIANBAnIiBGoiBiAGLQAAIAEgBGotAABzOgAAIAggA0EDciIEaiIGIAYtAAAgASAEai0AAHM6AAAgA0EEaiEDIAdBBGoiByAKRw0ACwsgAkEDcSICRQ0AA0AgBUFAayADaiIHIActAAAgASADai0AAHM6AAAgA0EBaiEDIAlBAWoiCSACRw0ACwsgACAFQUBrIgBCgAEQDRogAEGAARAIIAVBwAAQCCAFQcABaiQAQQALlQEBAX8jAEHQAWsiAyQAIANCADcDSCADQfiIAikDADcDCCADQYCJAikDADcDECADQYiJAikDADcDGCADQZCJAikDADcDICADQZiJAikDADcDKCADQaCJAikDADcDMCADQaiJAikDADcDOCADQgA3A0AgA0HwiAIpAwA3AwAgAyABIAIQDRogAyAAEBQgA0HQAWokAEEAC0AAAkAgBK1CgICAgBAgAkI/fEIGiH1WDQAgAkKAgICAEFoNACAAIAEgAiADIAQgBUHMmwIoAgARCgAaDwsQCwAL7wMBAX8jAEEQayICIAA2AgwgAiABNgIIIAJBADYCBCACIAIoAgQgAigCDC0AACACKAIILQAAc3I2AgQgAiACKAIEIAIoAgwtAAEgAigCCC0AAXNyNgIEIAIgAigCBCACKAIMLQACIAIoAggtAAJzcjYCBCACIAIoAgQgAigCDC0AAyACKAIILQADc3I2AgQgAiACKAIEIAIoAgwtAAQgAigCCC0ABHNyNgIEIAIgAigCBCACKAIMLQAFIAIoAggtAAVzcjYCBCACIAIoAgQgAigCDC0ABiACKAIILQAGc3I2AgQgAiACKAIEIAIoAgwtAAcgAigCCC0AB3NyNgIEIAIgAigCBCACKAIMLQAIIAIoAggtAAhzcjYCBCACIAIoAgQgAigCDC0ACSACKAIILQAJc3I2AgQgAiACKAIEIAIoAgwtAAogAigCCC0ACnNyNgIEIAIgAigCBCACKAIMLQALIAIoAggtAAtzcjYCBCACIAIoAgQgAigCDC0ADCACKAIILQAMc3I2AgQgAiACKAIEIAIoAgwtAA0gAigCCC0ADXNyNgIEIAIgAigCBCACKAIMLQAOIAIoAggtAA5zcjYCBCACIAIoAgQgAigCDC0ADyACKAIILQAPc3I2AgQgAigCBEEBa0EIdkEBcUEBawv3AgEDfwJ/AkACQAJAIAEiBEH/AXEiAQRAIABBA3EEQANAIAAtAAAiAkUNBSABIAJGDQUgAEEBaiIAQQNxDQALC0GAgoQIIAAoAgAiAmsgAnJBgIGChHhxQYCBgoR4Rw0BIAFBgYKECGwhAwNAQYCChAggAiADcyIBayABckGAgYKEeHFBgIGChHhHDQIgACgCBCECIABBBGoiASEAIAJBgIKECCACa3JBgIGChHhxQYCBgoR4Rg0ACwwCCwJ/AkACQCAAIgJBA3FFDQBBACAALQAARQ0CGgNAIABBAWoiAEEDcUUNASAALQAADQALDAELA0AgACIBQQRqIQBBgIKECCABKAIAIgNrIANyQYCBgoR4cUGAgYKEeEYNAAsDQCABIgBBAWohASAALQAADQALCyAAIAJrCyACagwDCyAAIQELA0AgASIALQAAIgJFDQEgAEEBaiEBIAIgBEH/AXFHDQALCyAACyIAQQAgAC0AACAEQf8BcUYbC1IBAn9BgJMCKAIAIgEgAEEHakF4cSICaiEAAkAgAkEAIAAgAU0bRQRAIAA/AEEQdE0NASAAEAQNAQtBgKICQTA2AgBBfw8LQYCTAiAANgIAIAELxwEBBX8jAEEQayICQQA6AA8CQCABRQ0AIAFBBE8EQCABQXxxIQYDQCACIAAgA2oiBC0AACACLQAPcjoADyACIAQtAAEgAi0AD3I6AA8gAiAELQACIAItAA9yOgAPIAIgBC0AAyACLQAPcjoADyADQQRqIQMgBUEEaiIFIAZHDQALCyABQQNxIgRFDQBBACEBA0AgAiAAIANqLQAAIAItAA9yOgAPIANBAWohAyABQQFqIgEgBEcNAAsLIAItAA9BAWtBCHZBAXELMgECfyMAQSBrIgMkAEF/IQQgAyACIAEQMEUEQCAAQfCSAiADEEghBAsgA0EgaiQAIAQL+wMBAn9BfyEEAkAgAkHAAEsNACADQcEAa0FASQ0AAkAgAUEAIAIbRQRAIANB/wFxIgFBwQBrQf8BcUG/AU0EQBALAAsgAEFAa0EAQaUCEAkaIABC+cL4m5Gjs/DbADcAOCAAQuv6htq/tfbBHzcAMCAAQp/Y+dnCkdqCm383ACggAELRhZrv+s+Uh9EANwAgIABC8e30+KWn/aelfzcAGCAAQqvw0/Sv7ry3PDcAECAAQrvOqqbY0Ouzu383AAggACABrUKIkveV/8z5hOoAhTcAAAwBCwJ/IAJB/wFxIQIjAEGAAWsiBSQAAkAgA0H/AXEiA0HBAGtB/wFxQb8BTQ0AIAFFDQAgAkHBAGtB/wFxQb8BTQ0AIABBQGtBAEGlAhAJGiAAQvnC+JuRo7Pw2wA3ADggAELr+obav7X2wR83ADAgAEKf2PnZwpHagpt/NwAoIABC0YWa7/rPlIfRADcAICAAQvHt9Pilp/2npX83ABggAEKr8NP0r+68tzw3ABAgAEK7zqqm2NDrs7t/NwAIIAAgA60gAq1CCIaEQoiS95X/zPmE6gCFNwAAIABB4ABqIAVBAEGAARAJIAEgAhAKIgFBgAEQChogACAAKADgAkGAAWo2AOACIAFBgAEQCCABQYABaiQAQQAMAQsQCwALDQELQQAhBAsgBAsEAEFvC4MDAgN/AX4jAEHgAmsiBiQAIAYgBCAFEEgaAn8CQAJAIAAgAksgACACa60gA1RxRQRAIAAgAk8NASACIABrrSADWg0BCyAAIAIgA6cQNiECIAZCADcDOCAGQgA3AzAgBkIANwMoIAZCADcDIEIgIAMgA0IgWhshCSADQiBWIQUMAQsgBkIANwM4IAZCADcDMCAGQgA3AyggBkIANwMgQiAgAyADQiBaGyEJIANCIFYhBSADQgBSDQBBAQwBCyAGQUBrIAIgCacQChpBAAsgBkEgaiIHIAcgCUIgfCAEQRBqIgRCACAGQaSTAigCABEMABogBkHgAGogB0GMkwIoAgARAQAaRQRAIAAgBkFAayAJpxAKGgsgBkEgakHAABAIIAUEQCAAIAmnIgVqIAIgBWogAyAJfSAEQgEgBkGkkwIoAgARDAAaCyAGQSAQCCAGQeAAaiICIAAgA0GQkwIoAgARAAAaIAIgAUGUkwIoAgARAQAaIAJBgAIQCCAGQeACaiQAQQAL5gUCB34DfyMAQaACayILJAACQCACUA0AIAAgACkDICIDIAJCA4Z8NwMgIABBKGohCkLAACADQgOIQj+DIgR9IgUgAlgEQEIAIQMgBEI/hUIDWgRAIAVC/ACDIQYDQCAKIAMgBHynaiABIAOnai0AADoAACAKIANCAYQiCCAEfKdqIAEgCKdqLQAAOgAAIAogA0IChCIIIAR8p2ogASAIp2otAAA6AAAgCiADQgOEIgggBHynaiABIAinai0AADoAACADQgR8IQMgCUIEfCIJIAZSDQALCyAFQgODIglCAFIEQANAIAogAyAEfKdqIAEgA6dqLQAAOgAAIANCAXwhAyAHQgF8IgcgCVINAAsLIAAgCiALIAtBgAJqIgwQOSABIAWnaiEBIAIgBX0iAkI/VgRAA0AgACABIAsgDBA5IAFBQGshASACQkB8IgJCP1YNAAsLAkAgAlANACACQgODIQRCACEHQgAhAyACQgRaBEAgAkI8gyEFQgAhAgNAIAogA6ciAGogACABai0AADoAACAKIABBAXIiDGogASAMai0AADoAACAKIABBAnIiDGogASAMai0AADoAACAKIABBA3IiAGogACABai0AADoAACADQgR8IQMgAkIEfCICIAVSDQALCyAEUA0AA0AgCiADpyIAaiAAIAFqLQAAOgAAIANCAXwhAyAHQgF8IgcgBFINAAsLIAtBoAIQCAwBC0IAIQMgAkIEWgRAIAJCfIMhBQNAIAogAyAEfKdqIAEgA6dqLQAAOgAAIAogA0IBhCIGIAR8p2ogASAGp2otAAA6AAAgCiADQgKEIgYgBHynaiABIAanai0AADoAACAKIANCA4QiBiAEfKdqIAEgBqdqLQAAOgAAIANCBHwhAyAJQgR8IgkgBVINAAsLIAJCA4MiAlANAANAIAogAyAEfKdqIAEgA6dqLQAAOgAAIANCAXwhAyAHQgF8IgcgAlINAAsLIAtBoAJqJAALJgAgAkGAAk8EQEHgCUGXCUHrAEGfCBABAAsgACABIAJB/wFxEEoL+xcCEH4QfwNAIAIgFUEDdCIWaiABIBZqKQAAIgRCOIYgBEKA/gODQiiGhCAEQoCA/AeDQhiGIARCgICA+A+DQgiGhIQgBEIIiEKAgID4D4MgBEIYiEKAgPwHg4QgBEIoiEKA/gODIARCOIiEhIQ3AwAgFUEBaiIVQRBHDQALIAMgACkDADcDACADIAApAzg3AzggAyAAKQMwNwMwIAMgACkDKDcDKCADIAApAyA3AyAgAyAAKQMYNwMYIAMgACkDEDcDECADIAApAwg3AwhBACEWA0AgAyADKQM4IAIgFkEDdCIBaiIVKQMAIAMpAyAiB0IyiSAHQi6JhSAHQheJhXwgAUGwiQJqKQMAfCAHIAMpAzAiCyADKQMoIgmFgyALhXx8IgQgAykDGHwiCjcDGCADIAMpAwAiBkIkiSAGQh6JhSAGQhmJhSAEfCADKQMQIgUgAykDCCIIhCAGgyAFIAiDhHwiBDcDOCADIAUgAiABQQhyIhRqIhopAwAgCyAJIAogByAJhYOFfCAKQjKJIApCLomFIApCF4mFfHwgFEGwiQJqKQMAfCILfCIFNwMQIAMgBCAGIAiEgyAGIAiDhCALfCAEQiSJIARCHomFIARCGYmFfCILNwMwIAMgCCAJIAIgAUEQciIUaiIbKQMAfCAUQbCJAmopAwB8IAcgBSAHIAqFg4V8IAVCMokgBUIuiYUgBUIXiYV8Igx8Igk3AwggAyALIAQgBoSDIAQgBoOEIAtCJIkgC0IeiYUgC0IZiYV8IAx8Igg3AyggAyAGIAcgAiABQRhyIhRqIhwpAwB8IBRBsIkCaikDAHwgCSAFIAqFgyAKhXwgCUIyiSAJQi6JhSAJQheJhXwiDHwiBzcDACADIAggBCALhIMgBCALg4QgCEIkiSAIQh6JhSAIQhmJhXwgDHwiBjcDICADIAIgAUEgciIUaiIdKQMAIAp8IBRBsIkCaikDAHwgByAFIAmFgyAFhXwgB0IyiSAHQi6JhSAHQheJhXwiDCAGIAggC4SDIAggC4OEIAZCJIkgBkIeiYUgBkIZiYV8fCIKNwMYIAMgBCAMfCIMNwM4IAMgAiABQShyIhRqIh4pAwAgBXwgFEGwiQJqKQMAfCAMIAcgCYWDIAmFfCAMQjKJIAxCLomFIAxCF4mFfCIFIAogBiAIhIMgBiAIg4QgCkIkiSAKQh6JhSAKQhmJhXx8IgQ3AxAgAyAFIAt8IgU3AzAgAyACIAFBMHIiFGoiHykDACAJfCAUQbCJAmopAwB8IAUgByAMhYMgB4V8IAVCMokgBUIuiYUgBUIXiYV8IgkgBCAGIAqEgyAGIAqDhCAEQiSJIARCHomFIARCGYmFfHwiCzcDCCADIAggCXwiCTcDKCADIAIgAUE4ciIUaiIgKQMAIAd8IBRBsIkCaikDAHwgCSAFIAyFgyAMhXwgCUIyiSAJQi6JhSAJQheJhXwiByALIAQgCoSDIAQgCoOEIAtCJIkgC0IeiYUgC0IZiYV8fCIINwMAIAMgBiAHfCIHNwMgIAMgAiABQcAAciIUaiIhKQMAIAx8IBRBsIkCaikDAHwgByAFIAmFgyAFhXwgB0IyiSAHQi6JhSAHQheJhXwiDCAIIAQgC4SDIAQgC4OEIAhCJIkgCEIeiYUgCEIZiYV8fCIGNwM4IAMgCiAMfCIMNwMYIAMgAiABQcgAciIUaiIiKQMAIAV8IBRBsIkCaikDAHwgDCAHIAmFgyAJhXwgDEIyiSAMQi6JhSAMQheJhXwiBSAGIAggC4SDIAggC4OEIAZCJIkgBkIeiYUgBkIZiYV8fCIKNwMwIAMgBCAFfCIFNwMQIAMgCSACIAFB0AByIhRqIiMpAwB8IBRBsIkCaikDAHwgBSAHIAyFgyAHhXwgBUIyiSAFQi6JhSAFQheJhXwiCSAKIAYgCISDIAYgCIOEIApCJIkgCkIeiYUgCkIZiYV8fCIENwMoIAMgCSALfCIJNwMIIAMgAUHYAHIiFEGwiQJqKQMAIAIgFGoiFCkDAHwgB3wgCSAFIAyFgyAMhXwgCUIyiSAJQi6JhSAJQheJhXwiByAEIAYgCoSDIAYgCoOEIARCJIkgBEIeiYUgBEIZiYV8fCILNwMgIAMgByAIfCIINwMAIAMgAUHgAHIiF0GwiQJqKQMAIAIgF2oiFykDAHwgDHwgCCAFIAmFgyAFhXwgCEIyiSAIQi6JhSAIQheJhXwiDCALIAQgCoSDIAQgCoOEIAtCJIkgC0IeiYUgC0IZiYV8fCIHNwMYIAMgBiAMfCIGNwM4IAMgAUHoAHIiGEGwiQJqKQMAIAIgGGoiGCkDAHwgBXwgBiAIIAmFgyAJhXwgBkIyiSAGQi6JhSAGQheJhXwiDCAHIAQgC4SDIAQgC4OEIAdCJIkgB0IeiYUgB0IZiYV8fCIFNwMQIAMgCiAMfCIKNwMwIAMgAUHwAHIiGUGwiQJqKQMAIAIgGWoiGSkDAHwgCXwgCiAGIAiFgyAIhXwgCkIyiSAKQi6JhSAKQheJhXwiDCAFIAcgC4SDIAcgC4OEIAVCJIkgBUIeiYUgBUIZiYV8fCIJNwMIIAMgBCAMfCIENwMoIAMgAUH4AHIiAUGwiQJqKQMAIAEgAmoiASkDAHwgCHwgBCAGIAqFgyAGhXwgBEIyiSAEQi6JhSAEQheJhXwiBCAJIAUgB4SDIAUgB4OEIAlCJIkgCUIeiYUgCUIZiYV8fCIINwMAIAMgBCALfDcDICAWQcAARkUEQCACIBZBEGoiFkEDdGogFSkDACAiKQMAIgYgGSkDACIEQi2JIARCA4mFIARCBoiFfHwgGikDACIIQj+JIAhCOImFIAhCB4iFfCILNwMAIBUgCCAjKQMAIgp8IAEpAwAiCEItiSAIQgOJhSAIQgaIhXwgGykDACIHQj+JIAdCOImFIAdCB4iFfCIFNwOIASAVIAcgFCkDACIJfCALQi2JIAtCA4mFIAtCBoiFfCAcKQMAIg1CP4kgDUI4iYUgDUIHiIV8Igc3A5ABIBUgDSAXKQMAIgx8IAVCLYkgBUIDiYUgBUIGiIV8IB0pAwAiDkI/iSAOQjiJhSAOQgeIhXwiDTcDmAEgFSAOIBgpAwAiEnwgB0ItiSAHQgOJhSAHQgaIhXwgHikDACIPQj+JIA9COImFIA9CB4iFfCIONwOgASAVIAQgD3wgDUItiSANQgOJhSANQgaIhXwgHykDACIQQj+JIBBCOImFIBBCB4iFfCIPNwOoASAVIAggEHwgICkDACIRQj+JIBFCOImFIBFCB4iFfCAOQi2JIA5CA4mFIA5CBoiFfCIQNwOwASAVICEpAwAiEyAFIAZCP4kgBkI4iYUgBkIHiIV8fCAQQi2JIBBCA4mFIBBCBoiFfCIFNwPAASAVIAsgEXwgE0I/iSATQjiJhSATQgeIhXwgD0ItiSAPQgOJhSAPQgaIhXwiETcDuAEgFSAKIAlCP4kgCUI4iYUgCUIHiIV8IA18IAVCLYkgBUIDiYUgBUIGiIV8Ig03A9ABIBUgBiAKQj+JIApCOImFIApCB4iFfCAHfCARQi2JIBFCA4mFIBFCBoiFfCIGNwPIASAVIAwgEkI/iSASQjiJhSASQgeIhXwgD3wgDUItiSANQgOJhSANQgaIhXwiCjcD4AEgFSAJIAxCP4kgDEI4iYUgDEIHiIV8IA58IAZCLYkgBkIDiYUgBkIGiIV8IgY3A9gBIBUgBCAIQj+JIAhCOImFIAhCB4iFfCARfCAKQi2JIApCA4mFIApCBoiFfDcD8AEgFSASIARCP4kgBEI4iYUgBEIHiIV8IBB8IAZCLYkgBkIDiYUgBkIGiIV8IgQ3A+gBIBUgCCALQj+JIAtCOImFIAtCB4iFfCAFfCAEQi2JIARCA4mFIARCBoiFfDcD+AEMAQsLIAAgACkDACAIfDcDACAAIAApAwggAykDCHw3AwggACAAKQMQIAMpAxB8NwMQIAAgACkDGCADKQMYfDcDGCAAIAApAyAgAykDIHw3AyAgACAAKQMoIAMpAyh8NwMoIAAgACkDMCADKQMwfDcDMCAAIAApAzggAykDOHw3AzgLpAkBMX8jAEFAaiEJIAAoAjwhHSAAKAI4IR4gACgCNCESIAAoAjAhEyAAKAIsIR8gACgCKCEgIAAoAiQhISAAKAIgISIgACgCHCEjIAAoAhghJCAAKAIUISUgACgCECEmIAAoAgwhJyAAKAIIISggACgCBCEpIAAoAgAhKgNAAkAgA0I/VgRAIAIhBQwBCyAJQgA3AzggCUIANwMwIAlCADcDKCAJQgA3AyAgCUIANwMYIAlCADcDECAJQgA3AwggCUIANwMAQQAhBCADQgBSBEADQCAEIAlqIAEgBGotAAA6AAAgAyAEQQFqIgStVg0ACwsgCSIFIQEgAiErC0EUIRYgKiEIICkhCiAoIQ4gJyEUICYhBCAlIQIgJCEGICMhByAiIQsgISEPICAhDCAdIRAgHiEXIBIhGCATIQ0gHyERA0AgBCAEIAhqIgQgDXNBEHciCCALaiILc0EMdyINIARqIhUgCHNBCHciCCALaiILIA1zQQd3IgQgByAHIBRqIgcgEHNBEHciECARaiINc0EMdyIRIAdqIgdqIhQgBiAGIA5qIgYgF3NBEHciDiAMaiIMc0EMdyIZIAZqIgYgDnNBCHciGnNBEHciDiACIAIgCmoiAiAYc0EQdyIKIA9qIg9zQQx3IhsgAmoiAiAKc0EIdyIKIA9qIhxqIg8gBHNBDHciBCAUaiIUIA5zQQh3IhcgD2oiDyAEc0EHdyEEIAsgCiAGIAcgEHNBCHciECANaiIGIBFzQQd3IgdqIgpzQRB3IgtqIg0gB3NBDHciByAKaiIOIAtzQQh3IhggDWoiCyAHc0EHdyEHIAYgCCACIAwgGmoiAiAZc0EHdyIGaiIIc0EQdyIMaiIRIAZzQQx3IgYgCGoiCiAMc0EIdyINIBFqIhEgBnNBB3chBiACIBsgHHNBB3ciAiAVaiIIIBBzQRB3IgxqIhUgAnNBDHciAiAIaiIIIAxzQQh3IhAgFWoiDCACc0EHdyECIBZBAmsiFg0ACyABKAAEIRYgASgACCEVIAEoAAwhGSABKAAQIRogASgAFCEbIAEoABghHCABKAAcISwgASgAICEtIAEoACQhLiABKAAoIS8gASgALCEwIAEoADAhMSABKAA0ITIgASgAOCEzIAEoADwhNCAFIAEoAAAgCCAqanM2AAAgBSA0IBAgHWpzNgA8IAUgMyAXIB5qczYAOCAFIDIgEiAYanM2ADQgBSAxIA0gE2pzNgAwIAUgMCARIB9qczYALCAFIC8gDCAganM2ACggBSAuIA8gIWpzNgAkIAUgLSALICJqczYAICAFICwgByAjanM2ABwgBSAcIAYgJGpzNgAYIAUgGyACICVqczYAFCAFIBogBCAmanM2ABAgBSAZIBQgJ2pzNgAMIAUgFSAOIChqczYACCAFIBYgCiApanM2AAQgEiATQQFqIhNFaiESIANCwABYBEACQCADQj9WDQAgA1ANACADpyEBQQAhBANAIAQgK2ogBCAFai0AADoAACAEQQFqIgQgAUkNAAsLIAAgEjYCNCAAIBM2AjAFIAFBQGshASAFQUBrIQIgA0JAfCEDDAELCwvRBgEKfyMAQaACayICJAAgACgAHCEEIAAoABghBSAAKAAUIQYgACgAECEHIAAoAAQhCCAAKAAIIQkgACgADCEKIAAoAAAhCyACIAEpAng3A5gCIAIgASkCcDcDkAIgAiABKQJoNwP4ASACIAEpAmA3A/ABIAIgASkCeDcD6AEgAiABKQJwNwPgASACQYACaiIDIAJB8AFqIAJB4AFqEAcgASACKQKIAjcCeCABIAIpAoACNwJwIAIgASkCWDcD2AEgAiABKQJQNwPQASACIAEpAmg3A8gBIAIgASkCYDcDwAEgAyACQdABaiACQcABahAHIAEgAikCiAI3AmggASACKQKAAjcCYCACIAEpAkg3A7gBIAIgAUFAayIAKQIANwOwASACIAEpAlg3A6gBIAIgASkCUDcDoAEgAyACQbABaiACQaABahAHIAEgAikCiAI3AlggASACKQKAAjcCUCACIAEpAjg3A5gBIAIgASkCMDcDkAEgAiABKQJINwOIASACIAApAgA3A4ABIAMgAkGQAWogAkGAAWoQByABIAIpAogCNwJIIAAgAikCgAI3AgAgAiABKQIoNwN4IAIgASkCIDcDcCACIAEpAjg3A2ggAiABKQIwNwNgIAMgAkHwAGogAkHgAGoQByABIAIpAogCNwI4IAEgAikCgAI3AjAgAiABKQIYNwNYIAIgASkCEDcDUCACIAEpAig3A0ggAiABKQIgNwNAIAMgAkHQAGogAkFAaxAHIAEgAikCiAI3AiggASACKQKAAjcCICACIAEpAgg3AzggAiABKQIANwMwIAIgASkCGDcDKCACIAEpAhA3AyAgAyACQTBqIAJBIGoQByABIAIpAogCNwIYIAEgAikCgAI3AhAgAiACKQOYAjcDGCACIAIpA5ACNwMQIAIgASkCCDcDCCACIAEpAgA3AwAgAyACQRBqIAIQByABIAIpAogCNwIIIAEgAikCgAI3AgAgASAKIAEoAAxzNgIMIAEgCSABKAAIczYCCCABIAggASgABHM2AgQgASALIAEoAABzNgIAIAAgByAAKAAAczYCACABIAYgASgARHM2AkQgASAFIAEoAEhzNgJIIAEgBCABKABMczYCTCACQaACaiQAC7kFAR9/QeXwwYsGIQQgAigAACIVIQUgAigABCIWIQcgAigACCIXIQggAigADCIYIQlB7siBmQMhDiABKAAAIhkhCiABKAAEIhohCyABKAAIIhshDSABKAAMIhwhEEGy2ojLByEBIAIoABAiHSEDQfTKgdkGIQYgAigAHCIeIREgAigAGCIfIQ8gAigAFCIgIQIDQCAPIBAgBSAOakEHd3MiDCAOakEJd3MiEiACIARqQQd3IAlzIgkgBGpBCXcgDXMiEyAJakENdyACcyIhIAMgBmpBB3cgCHMiCCAGakEJdyALcyILIAhqQQ13IANzIg0gC2pBEncgBnMiBiARIAEgCmpBB3dzIgNqQQd3cyICIAZqQQl3cyIPIAJqQQ13IANzIhEgD2pBEncgBnMhBiADIAEgA2pBCXcgB3MiB2pBDXcgCnMiCiAHakESdyABcyIBIAxqQQd3IA1zIgMgAWpBCXcgE3MiDSADakENdyAMcyIQIA1qQRJ3IAFzIQEgEiAMIBJqQQ13IAVzIgxqQRJ3IA5zIgUgCWpBB3cgCnMiCiAFakEJdyALcyILIApqQQ13IAlzIgkgC2pBEncgBXMhDiATICFqQRJ3IARzIgQgCGpBB3cgDHMiBSAEakEJdyAHcyIHIAVqQQ13IAhzIgggB2pBEncgBHMhBCAUQRJJIBRBAmohFA0ACyAAIAZB9MqB2QZqNgA8IAAgESAeajYAOCAAIA8gH2o2ADQgACACICBqNgAwIAAgAyAdajYALCAAIAFBstqIywdqNgAoIAAgECAcajYAJCAAIA0gG2o2ACAgACALIBpqNgAcIAAgCiAZajYAGCAAIA5B7siBmQNqNgAUIAAgCSAYajYAECAAIAggF2o2AAwgACAHIBZqNgAIIAAgBSAVajYABCAAIARB5fDBiwZqNgAAC8gEAQJ/IwBBEGsiAyQAIANBADoAD0F/IQQgACABIAJBmJMCKAIAEQMARQRAIAMgAC0AACADLQAPcjoADyADIAAtAAEgAy0AD3I6AA8gAyAALQACIAMtAA9yOgAPIAMgAC0AAyADLQAPcjoADyADIAAtAAQgAy0AD3I6AA8gAyAALQAFIAMtAA9yOgAPIAMgAC0ABiADLQAPcjoADyADIAAtAAcgAy0AD3I6AA8gAyAALQAIIAMtAA9yOgAPIAMgAC0ACSADLQAPcjoADyADIAAtAAogAy0AD3I6AA8gAyAALQALIAMtAA9yOgAPIAMgAC0ADCADLQAPcjoADyADIAAtAA0gAy0AD3I6AA8gAyAALQAOIAMtAA9yOgAPIAMgAC0ADyADLQAPcjoADyADIAAtABAgAy0AD3I6AA8gAyAALQARIAMtAA9yOgAPIAMgAC0AEiADLQAPcjoADyADIAAtABMgAy0AD3I6AA8gAyAALQAUIAMtAA9yOgAPIAMgAC0AFSADLQAPcjoADyADIAAtABYgAy0AD3I6AA8gAyAALQAXIAMtAA9yOgAPIAMgAC0AGCADLQAPcjoADyADIAAtABkgAy0AD3I6AA8gAyAALQAaIAMtAA9yOgAPIAMgAC0AGyADLQAPcjoADyADIAAtABwgAy0AD3I6AA8gAyAALQAdIAMtAA9yOgAPIAMgAC0AHiADLQAPcjoADyADIAAtAB8gAy0AD3I6AA8gAy0AD0EXdEGAgIAEa0EfdSEECyADQRBqJAAgBAuDBwEKfyMAQeADayICJAADQCACQaACaiIFIANBAXRqIgYgASADai0AACIHQQR2OgABIAYgB0EPcToAACADQQFyIgZBAXQgBWoiByABIAZqLQAAIgZBBHY6AAEgByAGQQ9xOgAAIANBAmoiA0EgRw0AC0EAIQEDQCACQaACaiAEaiIDIAMtAAAgAWoiASABQQhqIgFB8AFxazoAACADIAMtAAEgAcBBBHVqIgEgAUEIaiIBQfABcWs6AAEgAyADLQACIAHAQQR1aiIBIAFBCGoiAUHwAXFrOgACIAHAQQR1IQEgBEEDaiIEQT9HDQALIAIgAi0A3wIgAWo6AN8CIABCADcCICAAQgA3AhggAEIANwIQIABCADcCCCAAQgA3AgAgAEIANwIsIABBATYCKCAAQgA3AjQgAEIANwI8IABCADcCRCAAQoCAgIAQNwJMIABB1ABqQQBBzAAQCRogAEH4AGohCyAAQdAAaiEHIABBKGohCSACQdABaiEBIAJBqAFqIQYgAkH4AWohBEEBIQMDQCACQQhqIgggA0EBdiACQaACaiADaiwAABBdIAJBgAFqIgUgACAIEEAgACAFIAQQBiAJIAYgARAGIAcgASAEEAYgCyAFIAYQBiADQT5JIANBAmohAw0ACyACIAApAiA3A4gDIAIgACkCGDcDgAMgAiAAKQIQNwP4AiACIAApAgg3A/ACIAIgACkCADcD6AIgAiAJKQIINwOYAyACIAkpAhA3A6ADIAIgCSkCGDcDqAMgAiAJKQIgNwOwAyACIAkpAgA3A5ADIAIgBykCCDcDwAMgAiAHKQIQNwPIAyACIAcpAhg3A9ADIAIgBykCIDcD2AMgAiAHKQIANwO4AyAFIAJB6AJqIgoQGSAKIAUgBBAGIAJBkANqIgMgBiABEAYgAkG4A2oiCCABIAQQBiAFIAoQGSAKIAUgBBAGIAMgBiABEAYgCCABIAQQBiAFIAoQGSAKIAUgBBAGIAMgBiABEAYgCCABIAQQBiAFIAoQGSAAIAUgBBAGIAkgBiABEAYgByABIAQQBiALIAUgBhAGQQAhAwNAIAJBCGoiCCADQQF2IAJBoAJqIANqLAAAEF0gAkGAAWoiBSAAIAgQQCAAIAUgBBAGIAkgBiABEAYgByABIAQQBiALIAUgBhAGIANBPkkgA0ECaiEDDQALIAJB4ANqJAALYgEDfyMAQbABayICJAAgAkHgAGoiAyABQdAAahAzIAJBMGoiBCABIAMQBiACIAFBKGogAxAGIAAgAhAWIAJBkAFqIAQQFiAAIAAtAB8gAi0AkAFBB3RzOgAfIAJBsAFqJAALyggBA38jAEHAAWsiAiQAIAJBkAFqIgQgARAFIAJB4ABqIgMgBBAFIAMgAxAFIAMgASADEAYgBCAEIAMQBiACQTBqIgEgBBAFIAMgAyABEAYgASADEAUgASABEAUgASABEAUgASABEAUgASABEAUgAyABIAMQBiABIAMQBSABIAEQBSABIAEQBSABIAEQBSABIAEQBSABIAEQBSABIAEQBSABIAEQBSABIAEQBSABIAEQBSABIAEgAxAGIAIgARAFIAIgAhAFIAIgAhAFIAIgAhAFIAIgAhAFIAIgAhAFIAIgAhAFIAIgAhAFIAIgAhAFIAIgAhAFIAIgAhAFIAIgAhAFIAIgAhAFIAIgAhAFIAIgAhAFIAIgAhAFIAIgAhAFIAIgAhAFIAIgAhAFIAIgAhAFIAEgAiABEAYgASABEAUgASABEAUgASABEAUgASABEAUgASABEAUgASABEAUgASABEAUgASABEAUgASABEAUgASABEAUgAyABIAMQBiABIAMQBSABIAEQBSABIAEQBSABIAEQBSABIAEQBSABIAEQBSABIAEQBSABIAEQBSABIAEQBSABIAEQBSABIAEQBSABIAEQBSABIAEQBSABIAEQBSABIAEQBSABIAEQBSABIAEQBSABIAEQBSABIAEQBSABIAEQBSABIAEQBSABIAEQBSABIAEQBSABIAEQBSABIAEQBSABIAEQBSABIAEQBSABIAEQBSABIAEQBSABIAEQBSABIAEQBSABIAEQBSABIAEQBSABIAEQBSABIAEQBSABIAEQBSABIAEQBSABIAEQBSABIAEQBSABIAEQBSABIAEQBSABIAEQBSABIAEQBSABIAEQBSABIAEQBSABIAEQBSABIAEQBSABIAEQBSABIAEQBSABIAEQBSABIAEgAxAGIAIgARAFQQEhAQNAIAIgAhAFIAFBAWoiAUHkAEcNAAsgAkEwaiIBIAIgARAGIAEgARAFIAEgARAFIAEgARAFIAEgARAFIAEgARAFIAEgARAFIAEgARAFIAEgARAFIAEgARAFIAEgARAFIAEgARAFIAEgARAFIAEgARAFIAEgARAFIAEgARAFIAEgARAFIAEgARAFIAEgARAFIAEgARAFIAEgARAFIAEgARAFIAEgARAFIAEgARAFIAEgARAFIAEgARAFIAEgARAFIAEgARAFIAEgARAFIAEgARAFIAEgARAFIAEgARAFIAEgARAFIAEgARAFIAEgARAFIAEgARAFIAEgARAFIAEgARAFIAEgARAFIAEgARAFIAEgARAFIAEgARAFIAEgARAFIAEgARAFIAEgARAFIAEgARAFIAEgARAFIAEgARAFIAEgARAFIAEgARAFIAEgARAFIAJB4ABqIgMgASADEAYgAyADEAUgAyADEAUgAyADEAUgAyADEAUgAyADEAUgACADIAJBkAFqEAYgAkHAAWokAAuLAQEBfyMAQRBrIgIgADYCDCACIAE2AghBACEAIAJBADYCBANAIAIgAigCBCACKAIMIABqLQAAIAIoAgggAGotAABzcjYCBCACIAIoAgQgAEEBciIBIAIoAgxqLQAAIAIoAgggAWotAABzcjYCBCAAQQJqIgBBIEcNAAsgAigCBEEBa0EIdkEBcUEBawvPAgICfwF+IwBB4ABrIgYkACAGIAQgBRBIGiAGQSBqIgdCICAEQRBqIgUgBkGgkwIoAgARDgAaQX8hBAJAAkAgAiABIAMgB0GIkwIoAgARFgANAEEAIQQgAEUNAQJAAn4CQCAAIAFJIAEgAGutIANUcUUEQCAAIAFNDQEgACABa60gA1oNAQsgACABIAOnEDYhAUIgIAMgA0IgWhsMAQsgA1ANAUIgIAMgA0IgWhsLIQggBkFAayABIAinIgIQCiEHIAZBIGoiBCAEIAhCIHwgBUIAIAZBpJMCKAIAEQwAGiAAIAcgAhAKIARBwAAQCEEAIQQgA0IhVA0BIAJqIAEgAmogAyAIfSAFQgEgBkGkkwIoAgARDAAaDAELIAZBIGoiACAAQiAgBUIAIAZBpJMCKAIAEQwAGiAAQcAAEAgLIAZBIBAICyAGQeAAaiQAIAQL6AIBAn8CQCAAIAFGDQAgASAAIAJqIgRrQQAgAkEBdGtNBEAgACABIAIQCg8LIAAgAXNBA3EhAwJAAkAgACABSQRAIAMEQCAAIQMMAwsgAEEDcUUEQCAAIQMMAgsgACEDA0AgAkUNBCADIAEtAAA6AAAgAUEBaiEBIAJBAWshAiADQQFqIgNBA3ENAAsMAQsCQCADDQAgBEEDcQRAA0AgAkUNBSAAIAJBAWsiAmoiAyABIAJqLQAAOgAAIANBA3ENAAsLIAJBA00NAANAIAAgAkEEayICaiABIAJqKAIANgIAIAJBA0sNAAsLIAJFDQIDQCAAIAJBAWsiAmogASACai0AADoAACACDQALDAILIAJBA00NAANAIAMgASgCADYCACABQQRqIQEgA0EEaiEDIAJBBGsiAkEDSw0ACwsgAkUNAANAIAMgAS0AADoAACADQQFqIQMgAUEBaiEBIAJBAWsiAg0ACwsgAAs0AQF/IwBBIGsiAiQAIAAgAhBJIABB6ABqIgAgAkIgECogACABEEkgAkEgEAggAkEgaiQAC88HAQl/IwBB4ABrIgMkACACQcEATwRAIABCADcDICAAQcCPAikDADcDACAAQciPAikDADcDCCAAQdCPAikDADcDECAAQdiPAikDADcDGCAAIAEgAq0QKiAAIAMQSUEgIQIgAyEBCyAAQgA3AyAgAEHAjwIpAwA3AwAgAEHIjwIpAwA3AwggAEHQjwIpAwA3AxAgAEHYjwIpAwA3AxggA0K27Nix48aNmzY3A1ggA0K27Nix48aNmzY3A1AgA0K27Nix48aNmzY3A0ggA0FAayIKQrbs2LHjxo2bNjcDACADQrbs2LHjxo2bNjcDOCADQrbs2LHjxo2bNjcDMCADQrbs2LHjxo2bNjcDKCADQrbs2LHjxo2bNjcDIAJAIAJFDQAgAkEETwRAIAJB/ABxIQYDQCADQSBqIgcgBGoiBSAFLQAAIAEgBGotAABzOgAAIAcgBEEBciIFaiILIAstAAAgASAFai0AAHM6AAAgByAEQQJyIgVqIgsgCy0AACABIAVqLQAAczoAACAHIARBA3IiBWoiByAHLQAAIAEgBWotAABzOgAAIARBBGohBCAIQQRqIgggBkcNAAsLIAJBA3EiCEUNAANAIANBIGogBGoiByAHLQAAIAEgBGotAABzOgAAIARBAWohBCAJQQFqIgkgCEcNAAsLIAAgA0EgakLAABAqIABB6ABqIgciAEIANwMgIABBwI8CKQMANwMAIABByI8CKQMANwMIIABB0I8CKQMANwMQIABB2I8CKQMANwMYIANC3Ljx4sWLl67cADcDWCADQty48eLFi5eu3AA3A1AgA0LcuPHixYuXrtwANwNIIApC3Ljx4sWLl67cADcDACADQty48eLFi5eu3AA3AzggA0LcuPHixYuXrtwANwMwIANC3Ljx4sWLl67cADcDKCADQty48eLFi5eu3AA3AyACQCACRQ0AQQAhCUEAIQQgAkEETwRAIAJB/ABxIQpBACEIA0AgA0EgaiIAIARqIgYgBi0AACABIARqLQAAczoAACAAIARBAXIiBmoiBSAFLQAAIAEgBmotAABzOgAAIAAgBEECciIGaiIFIAUtAAAgASAGai0AAHM6AAAgACAEQQNyIgZqIgAgAC0AACABIAZqLQAAczoAACAEQQRqIQQgCEEEaiIIIApHDQALCyACQQNxIgBFDQADQCADQSBqIARqIgIgAi0AACABIARqLQAAczoAACAEQQFqIQQgCUEBaiIJIABHDQALCyAHIANBIGoiAELAABAqIABBwAAQCCADQSAQCCADQeAAaiQAQQAL7hsBGX8gAiABKAAAIgRBGHQgBEGA/gNxQQh0ciAEQQh2QYD+A3EgBEEYdnJyNgIAIAIgASgABCIEQRh0IARBgP4DcUEIdHIgBEEIdkGA/gNxIARBGHZycjYCBCACIAEoAAgiBEEYdCAEQYD+A3FBCHRyIARBCHZBgP4DcSAEQRh2cnI2AgggAiABKAAMIgRBGHQgBEGA/gNxQQh0ciAEQQh2QYD+A3EgBEEYdnJyNgIMIAIgASgAECIEQRh0IARBgP4DcUEIdHIgBEEIdkGA/gNxIARBGHZycjYCECACIAEoABQiBEEYdCAEQYD+A3FBCHRyIARBCHZBgP4DcSAEQRh2cnI2AhQgAiABKAAYIgRBGHQgBEGA/gNxQQh0ciAEQQh2QYD+A3EgBEEYdnJyNgIYIAIgASgAHCIEQRh0IARBgP4DcUEIdHIgBEEIdkGA/gNxIARBGHZycjYCHCACIAEoACAiBEEYdCAEQYD+A3FBCHRyIARBCHZBgP4DcSAEQRh2cnI2AiAgAiABKAAkIgRBGHQgBEGA/gNxQQh0ciAEQQh2QYD+A3EgBEEYdnJyNgIkIAIgASgAKCIEQRh0IARBgP4DcUEIdHIgBEEIdkGA/gNxIARBGHZycjYCKCACIAEoACwiBEEYdCAEQYD+A3FBCHRyIARBCHZBgP4DcSAEQRh2cnI2AiwgAiABKAAwIgRBGHQgBEGA/gNxQQh0ciAEQQh2QYD+A3EgBEEYdnJyNgIwIAIgASgANCIEQRh0IARBgP4DcUEIdHIgBEEIdkGA/gNxIARBGHZycjYCNCACIAEoADgiBEEYdCAEQYD+A3FBCHRyIARBCHZBgP4DcSAEQRh2cnI2AjggAiABKAA8IgFBGHQgAUGA/gNxQQh0ciABQQh2QYD+A3EgAUEYdnJyNgI8IAMgACkCGDcCGCADIAApAhA3AhAgAyAAKQIINwIIIAMgACkCADcCAANAIAMgAygCHCACIBRBAnQiAWoiBCgCACADKAIQIg1BGncgDUEVd3MgDUEHd3NqIAFB4I8CaigCAGogDSADKAIYIgUgAygCFCIGc3EgBXNqaiIHIAMoAgxqIgk2AgwgAyADKAIAIgtBHncgC0ETd3MgC0EKd3MgB2ogAygCCCIMIAMoAgQiCnIgC3EgCiAMcXJqIgc2AhwgAyAMIAIgAUEEciIIaiISKAIAIAUgBiAJIAYgDXNxc2ogCUEadyAJQRV3cyAJQQd3c2pqIAhB4I8CaigCAGoiBWoiDDYCCCADIAcgCiALcnEgCiALcXIgBWogB0EedyAHQRN3cyAHQQp3c2oiBTYCGCADIAogBiACIAFBCHIiCGoiDigCAGogCEHgjwJqKAIAaiANIAwgCSANc3FzaiAMQRp3IAxBFXdzIAxBB3dzaiIIaiIGNgIEIAMgBSAHIAtycSAHIAtxciAFQR53IAVBE3dzIAVBCndzaiAIaiIKNgIUIAMgCyANIAIgAUEMciIIaiIPKAIAaiAIQeCPAmooAgBqIAYgCSAMc3EgCXNqIAZBGncgBkEVd3MgBkEHd3NqIghqIg02AgAgAyAKIAUgB3JxIAUgB3FyIApBHncgCkETd3MgCkEKd3NqIAhqIgs2AhAgAyAJIAIgAUEQciIJaiIQKAIAaiAJQeCPAmooAgBqIA0gBiAMc3EgDHNqIA1BGncgDUEVd3MgDUEHd3NqIgggCyAFIApycSAFIApxciALQR53IAtBE3dzIAtBCndzamoiCTYCDCADIAcgCGoiCDYCHCADIAIgAUEUciIHaiIRKAIAIAxqIAdB4I8CaigCAGogCCAGIA1zcSAGc2ogCEEadyAIQRV3cyAIQQd3c2oiDCAJIAogC3JxIAogC3FyIAlBHncgCUETd3MgCUEKd3NqaiIHNgIIIAMgBSAMaiIMNgIYIAMgAiABQRhyIgVqIhMoAgAgBmogBUHgjwJqKAIAaiAMIAggDXNxIA1zaiAMQRp3IAxBFXdzIAxBB3dzaiIGIAcgCSALcnEgCSALcXIgB0EedyAHQRN3cyAHQQp3c2pqIgU2AgQgAyAGIApqIgY2AhQgAyACIAFBHHIiCmoiFigCACANaiAKQeCPAmooAgBqIAYgCCAMc3EgCHNqIAZBGncgBkEVd3MgBkEHd3NqIg0gBSAHIAlycSAHIAlxciAFQR53IAVBE3dzIAVBCndzamoiCjYCACADIAsgDWoiDTYCECADIAIgAUEgciILaiIXKAIAIAhqIAtB4I8CaigCAGogDSAGIAxzcSAMc2ogDUEadyANQRV3cyANQQd3c2oiCCAKIAUgB3JxIAUgB3FyIApBHncgCkETd3MgCkEKd3NqaiILNgIcIAMgCCAJaiIINgIMIAMgAiABQSRyIglqIhgoAgAgDGogCUHgjwJqKAIAaiAIIAYgDXNxIAZzaiAIQRp3IAhBFXdzIAhBB3dzaiIMIAsgBSAKcnEgBSAKcXIgC0EedyALQRN3cyALQQp3c2pqIgk2AhggAyAHIAxqIgw2AgggAyAGIAIgAUEociIHaiIZKAIAaiAHQeCPAmooAgBqIAwgCCANc3EgDXNqIAxBGncgDEEVd3MgDEEHd3NqIgYgCSAKIAtycSAKIAtxciAJQR53IAlBE3dzIAlBCndzamoiBzYCFCADIAUgBmoiBjYCBCADIAFBLHIiBUHgjwJqKAIAIAIgBWoiGigCAGogDWogBiAIIAxzcSAIc2ogBkEadyAGQRV3cyAGQQd3c2oiDSAHIAkgC3JxIAkgC3FyIAdBHncgB0ETd3MgB0EKd3NqaiIFNgIQIAMgCiANaiIKNgIAIAMgAUEwciINQeCPAmooAgAgAiANaiIbKAIAaiAIaiAKIAYgDHNxIAxzaiAKQRp3IApBFXdzIApBB3dzaiIIIAUgByAJcnEgByAJcXIgBUEedyAFQRN3cyAFQQp3c2pqIg02AgwgAyAIIAtqIgs2AhwgAyAMIAFBNHIiDEHgjwJqKAIAIAIgDGoiHCgCAGpqIAsgBiAKc3EgBnNqIAtBGncgC0EVd3MgC0EHd3NqIgggDSAFIAdycSAFIAdxciANQR53IA1BE3dzIA1BCndzamoiDDYCCCADIAggCWoiCTYCGCADIAYgAUE4ciIGQeCPAmooAgAgAiAGaiIIKAIAamogCSAKIAtzcSAKc2ogCUEadyAJQRV3cyAJQQd3c2oiFSAMIAUgDXJxIAUgDXFyIAxBHncgDEETd3MgDEEKd3NqaiIGNgIEIAMgByAVaiIHNgIUIAMgAUE8ciIBQeCPAmooAgAgASACaiIVKAIAaiAKaiAHIAkgC3NxIAtzaiAHQRp3IAdBFXdzIAdBB3dzaiIBIAYgDCANcnEgDCANcXIgBkEedyAGQRN3cyAGQQp3c2pqIgc2AgAgAyABIAVqNgIQIBRBMEZFBEAgAiAUQRBqIhRBAnRqIAQoAgAgGCgCACIKIAgoAgAiAUEPdyABQQ13cyABQQp2c2pqIBIoAgAiBUEZdyAFQQ53cyAFQQN2c2oiBzYCACAEIAUgGSgCACILaiAVKAIAIgVBD3cgBUENd3MgBUEKdnNqIA4oAgAiBkEZdyAGQQ53cyAGQQN2c2oiCTYCRCAEIAYgGigCACIMaiAHQQ93IAdBDXdzIAdBCnZzaiAPKAIAIghBGXcgCEEOd3MgCEEDdnNqIgY2AkggBCAIIBsoAgAiDWogCUEPdyAJQQ13cyAJQQp2c2ogECgCACIOQRl3IA5BDndzIA5BA3ZzaiIINgJMIAQgDiAcKAIAIhJqIAZBD3cgBkENd3MgBkEKdnNqIBEoAgAiD0EZdyAPQQ53cyAPQQN2c2oiDjYCUCAEIAEgD2ogCEEPdyAIQQ13cyAIQQp2c2ogEygCACIQQRl3IBBBDndzIBBBA3ZzaiIPNgJUIAQgBSAQaiAWKAIAIhFBGXcgEUEOd3MgEUEDdnNqIA5BD3cgDkENd3MgDkEKdnNqIhA2AlggBCAXKAIAIhMgCSAKQRl3IApBDndzIApBA3ZzamogEEEPdyAQQQ13cyAQQQp2c2oiCTYCYCAEIAcgEWogE0EZdyATQQ53cyATQQN2c2ogD0EPdyAPQQ13cyAPQQp2c2oiETYCXCAEIAsgDEEZdyAMQQ53cyAMQQN2c2ogCGogCUEPdyAJQQ13cyAJQQp2c2oiCDYCaCAEIAogC0EZdyALQQ53cyALQQN2c2ogBmogEUEPdyARQQ13cyARQQp2c2oiCjYCZCAEIA0gEkEZdyASQQ53cyASQQN2c2ogD2ogCEEPdyAIQQ13cyAIQQp2c2oiCzYCcCAEIAwgDUEZdyANQQ53cyANQQN2c2ogDmogCkEPdyAKQQ13cyAKQQp2c2oiCjYCbCAEIAEgBUEZdyAFQQ53cyAFQQN2c2ogEWogC0EPdyALQQ13cyALQQp2c2o2AnggBCASIAFBGXcgAUEOd3MgAUEDdnNqIBBqIApBD3cgCkENd3MgCkEKdnNqIgE2AnQgBCAFIAdBGXcgB0EOd3MgB0EDdnNqIAlqIAFBD3cgAUENd3MgAUEKdnNqNgJ8DAELCyAAIAAoAgAgB2o2AgAgACAAKAIEIAMoAgRqNgIEIAAgACgCCCADKAIIajYCCCAAIAAoAgwgAygCDGo2AgwgACAAKAIQIAMoAhBqNgIQIAAgACgCFCADKAIUajYCFCAAIAAoAhggAygCGGo2AhggACAAKAIcIAMoAhxqNgIcCwQAQRgL5wQBEn9BstqIywchA0HuyIGZAyEEQeXwwYsGIQVB9MqB2QYhDiABKAAMIQYgASgACCEPIAEoAAQhByACKAAcIQsgAigAGCEMIAIoABQhECACKAAQIQ0gAigADCEIIAIoAAghCSACKAAEIQogASgAACEBIAIoAAAhAgNAIAIgASACIAVqIgVzQRB3IgEgDWoiDXNBDHciAiAFaiIFIAFzQQh3IgEgDWoiDSACc0EHdyICIAggBiAIIA5qIg5zQRB3IgYgC2oiC3NBDHciCCAOaiIRaiIOIAkgDyADIAlqIgNzQRB3Ig8gDGoiDHNBDHciCSADaiIDIA9zQQh3IhJzQRB3Ig8gCiAHIAQgCmoiBHNBEHciByAQaiIQc0EMdyIKIARqIgQgB3NBCHciByAQaiITaiIQIAJzQQx3IgIgDmoiDiAPc0EIdyIPIBBqIhAgAnNBB3chAiANIAcgAyAGIBFzQQh3IgYgC2oiCyAIc0EHdyIIaiIDc0EQdyIHaiINIAhzQQx3IgggA2oiAyAHc0EIdyIHIA1qIg0gCHNBB3chCCALIAEgBCAMIBJqIgwgCXNBB3ciCWoiBHNBEHciAWoiCyAJc0EMdyIJIARqIgQgAXNBCHciASALaiILIAlzQQd3IQkgDCAGIAUgCiATc0EHdyIKaiIFc0EQdyIGaiIMIApzQQx3IgogBWoiBSAGc0EIdyIGIAxqIgwgCnNBB3chCiAUQQFqIhRBCkcNAAsgACAFNgAAIAAgBjYAHCAAIA82ABggACAHNgAUIAAgATYAECAAIA42AAwgACADNgAIIAAgBDYABAuILgElfiAAIAEpACgiICABKQBoIhggASkAQCIaIAEpACAiGSAYIAEpAHgiHCABKQBYIiEgASkAUCIbICAgACkAECAZIAApADAiHXx8IhV8IB0gACkAUCAVhULr+obav7X2wR+FQiCJIhVCq/DT9K/uvLc8fCIehUIoiSIdfCIWIBWFQjCJIgYgHnwiBCAdhUIBiSIXIAEpABgiHSAAKQAIIiUgASkAECIVIAApACgiHnx8IiJ8IAApAEggIoVCn9j52cKR2oKbf4VCIIkiA0LFsdXZp6+UzMQAfSIFIB6FQiiJIgJ8Igd8fCIjfCAXICMgASkACCIeIAApAAAiJiABKQAAIiIgACkAICIkfHwiH3wgJCAAKQBAIB+FQtGFmu/6z5SH0QCFQiCJIh9CiJLznf/M+YTqAHwiCIVCKIkiC3wiDCAfhUIwiSIJhUIgiSIfIAEpADgiIyAAKQAYIAEpADAiJCAAKQA4Igp8fCINfCAKIAApAFggDYVC+cL4m5Gjs/DbAIVCIIkiDUKPkouH2tiC2NoAfSIOhUIoiSIKfCIQIA2FQjCJIg0gDnwiDnwiEYVCKIkiF3wiEiAfhUIwiSITIBF8IhEgF4VCAYkiFCABKQBIIhd8IBggASkAYCIfIBYgCiAOhUIBiSIKfHwiFnwgFiADIAeFQjCJIgOFQiCJIgcgCCAJfCIIfCIJIAqFQiiJIgp8Ig58Ig98IA8gHCABKQBwIhYgECAIIAuFQgGJIgh8fCILfCAGIAuFQiCJIgYgAyAFfCIDfCIFIAiFQiiJIgh8IgsgBoVCMIkiBoVCIIkiECAXIBogAiADhUIBiSIDIAx8fCICfCADIAQgAiANhUIgiSICfCIEhUIoiSIDfCIMIAKFQjCJIgIgBHwiBHwiDSAUhUIoiSIUfCIPICF8IAsgGCAHIA6FQjCJIgcgCXwiCSAKhUIBiSIKfHwiCyAkfCAKIAIgC4VCIIkiAiARfCILhUIoiSIKfCIOIAKFQjCJIgIgC3wiCyAKhUIBiSIKfCIRICN8IAogBSAGfCIGIAiFQgGJIgUgDCAWfHwiCCAbfCAFIAggE4VCIIkiCCAJfCIMhUIoiSIFfCIJIAiFQjCJIgggDHwiDCARIBogGSADIASFQgGJIgR8IBJ8IgN8IAQgBiADIAeFQiCJIgN8IgaFQiiJIgR8IgcgA4VCMIkiA4VCIIkiEXwiEoVCKIkiCnwiEyARhUIwiSIRIBJ8IhIgCoVCAYkiCiAcfCAdICAgBSAMhUIBiSIFIA58fCIMfCAFIAwgDyAQhUIwiSIOhUIgiSIMIAMgBnwiBnwiA4VCKIkiBXwiEHwiDyAEIAaFQgGJIgYgHnwgCXwiBCAffCAGIAIgBIVCIIkiBCANIA58IgJ8IgmFQiiJIgZ8Ig0gBIVCMIkiBIVCIIkiDiAVIAIgFIVCAYkiAiAHfCAifCIHfCACIAcgCIVCIIkiByALfCIIhUIoiSICfCILIAeFQjCJIgcgCHwiCHwiFCAKhUIoiSIKIA98fCIPIBogBSADIAwgEIVCMIkiBXwiA4VCAYkiDCANICF8fCINfCAMIAcgDYVCIIkiByASfCIMhUIoiSINfCIQIAeFQjCJIgcgDHwiDCANhUIBiSINfCAXfCISfCANIBIgICACIAiFQgGJIgIgE3x8IgggFXwgAiAFIAiFQiCJIgUgBCAJfCIEfCIIhUIoiSICfCIJIAWFQjCJIgWFQiCJIhIgBCAGhUIBiSIGIB98IAt8IgQgInwgBiADIAQgEYVCIIkiBHwiA4VCKIkiBnwiCyAEhUIwiSIEIAN8IgN8IhGFQiiJIg18IhMgHiAJIAogDiAPhUIwiSIKIBR8Ig6FQgGJIhR8ICN8Igl8IAQgCYVCIIkiBCAMfCIMIBSFQiiJIgl8IhQgBIVCMIkiBCAMfCIMIAmFQgGJIgl8ICF8Ig8gFnwgCSAPIBYgECADIAaFQgGJIgZ8IBt8IgN8IAYgAyAKhUIgiSIGIAUgCHwiA3wiBYVCKIkiCHwiCSAGhUIwiSIGhUIgiSIKIA4gByACIAOFQgGJIgMgCyAdfHwiAoVCIIkiB3wiCyADhUIoiSIDIAJ8ICR8IgIgB4VCMIkiByALfCILfCIOhUIoiSIQfCIPIA0gESASIBOFQjCJIg18IhGFQgGJIhIgCSAjfHwiCSAXfCAHIAmFQiCJIgcgDHwiDCAShUIoiSIJfCISIAeFQjCJIgcgDHwiDCAJhUIBiSIJfCAcfCITfCAJIBMgDSAYIAMgC4VCAYkiA3wgFHwiC4VCIIkiDSAFIAZ8IgZ8IgUgA4VCKIkiAyALfCAffCILIA2FQjCJIg2FQiCJIhMgHiAGIAiFQgGJIgYgHXwgAnwiAnwgBiARIAIgBIVCIIkiBHwiAoVCKIkiBnwiCCAEhUIwiSIEIAJ8IgJ8IhGFQiiJIgl8IhQgDCAEIAogD4VCMIkiCiAOfCIOIBCFQgGJIhAgCyAZfHwiC4VCIIkiBHwiDCAQhUIoiSIQIAt8ICJ8IgsgBIVCMIkiBCAMfCIMIBCFQgGJIhB8IBt8Ig8gHHwgECAPIBIgAiAGhUIBiSIGfCAVfCICICR8IAYgAiAKhUIgiSICIAUgDXwiBXwiCoVCKIkiBnwiDSAChUIwiSIChUIgiSISICAgAyAFhUIBiSIDIAh8fCIFIBt8IAMgBSAHhUIgiSIFIA58IgeFQiiJIgN8IgggBYVCMIkiBSAHfCIHfCIOhUIoiSIQfCIPIAkgEyAUhUIwiSIJIBF8IhGFQgGJIhMgDSAXfHwiDSAifCAFIA2FQiCJIgUgDHwiDCAThUIoiSINfCITIAWFQjCJIgUgDHwiDCANhUIBiSINfCAdfCIUfCANIBQgAyAHhUIBiSIDIBV8IAt8IgcgGXwgAyAHIAmFQiCJIgcgAiAKfCICfCILhUIoiSIDfCIJIAeFQjCJIgeFQiCJIgogICACIAaFQgGJIgZ8IAh8IgIgI3wgBiARIAIgBIVCIIkiBHwiAoVCKIkiBnwiCCAEhUIwiSIEIAJ8IgJ8Ig2FQiiJIhF8IhQgCoVCMIkiCiADIAcgC3wiA4VCAYkiByAIICF8fCIIIB98IAcgDyAShUIwiSILIA58Ig4gBSAIhUIgiSIFfCIIhUIoiSIHfCISIAWFQjCJIgUgCHwiCCAHhUIBiSIHICJ8IAkgDiAQhUIBiSIJfCAkfCIOIBp8IAkgBCAOhUIgiSIEIAx8IgyFQiiJIgl8Ig58IhCFQiCJIg8gHiATIAIgBoVCAYkiBnwgFnwiAnwgBiADIAIgC4VCIIkiBnwiA4VCKIkiAnwiCyAGhUIwiSIGIAN8IgN8IhMgB4VCKIkiByAQfCAhfCIQIA+FQjCJIg8gE3wiEyAHhUIBiSIHIAIgA4VCAYkiAyASfCAkfCICIBt8IAMgCiANfCIKIAQgDoVCMIkiBCAChUIgiSICfCINhUIoiSIDfCIOfCAjfCISfCAHIBIgCiARhUIBiSIKIAsgFXx8IgsgH3wgCiAFIAuFQiCJIgUgBCAMfCIEfCILhUIoiSIMfCIKIAWFQjCJIgWFQiCJIhEgBCAJhUIBiSIEIBp8IBR8IgkgHXwgBCAGIAmFQiCJIgYgCHwiCIVCKIkiBHwiCSAGhUIwiSIGIAh8Igh8IhKFQiiJIgd8IhQgEYVCMIkiESASfCISIAeFQgGJIgcgCiADIAIgDoVCMIkiAyANfCIChUIBiSINfCAZfCIKIBh8IAYgCoVCIIkiBiATfCIKIA2FQiiJIg18Ig4gBoVCMIkiBiAKfCIKIAIgDyAFIAt8IgUgDIVCAYkiAiAJIB58fCILhUIgiSIMfCIJIAKFQiiJIgIgC3wgF3wiCyAMhUIwiSIMIBAgBCAIhUIBiSIEfCAcfCIIIBZ8IAQgBSADIAiFQiCJIgN8IgWFQiiJIgR8IgggByAWfHwiB4VCIIkiEHwiE4VCKIkiDyATIBAgDyAYfCAHfCIHhUIwiSIQfCIThUIBiSIPIBIgBiAZIAQgAyAIhUIwiSIEIAV8IgOFQgGJIgV8IAt8IgiFQiCJIgZ8IgsgBiAFIAuFQiiJIgUgG3wgCHwiCIVCMIkiBnwiCyACIAkgDHwiDIVCAYkiAiAOIB98fCIJIBGFQiCJIg4gAyAOfCIDIAKFQiiJIgIgIHwgCXwiCYVCMIkiDiAKIA2FQgGJIgogDCAEIAogHnwgFHwiCoVCIIkiBHwiDIVCKIkiDSAcfCAKfCIKIA8gJHx8IhGFQiCJIhJ8IhSFQiiJIg8gFCASIA8gHXwgEXwiEYVCMIkiEnwiFIVCAYkiDyATIAYgCSAiIA0gDCAEIAqFQjCJIgR8IgyFQgGJIgl8fCIKhUIgiSIGfCINIAYgCSANhUIoiSIJICN8IAp8IgqFQjCJIgZ8Ig0gECAIIBogAiADIA58IgOFQgGJIgJ8fCIIhUIgiSIOIAggAiAMIA58IgiFQiiJIgIgIXx8IgyFQjCJIg4gBSALhUIBiSIFIAMgBCAFIBd8IAd8IgWFQiCJIgR8IgOFQiiJIgcgFXwgBXwiBSAPIB98fCILhUIgiSIQfCIThUIoiSIPIBMgECAPIB58IAt8IguFQjCJIhB8IhOFQgGJIg8gFCAGIB0gByADIAQgBYVCMIkiBHwiA4VCAYkiBXwgDHwiB4VCIIkiBnwiDCAGIAUgDIVCKIkiBSAXfCAHfCIHhUIwiSIGfCIMIBIgAiAIIA58IgiFQgGJIgIgGHwgCnwiCoVCIIkiDiACIAMgDnwiA4VCKIkiAiAhfCAKfCIKhUIwiSIOIAkgDYVCAYkiCSAIIAQgCSAjfCARfCIJhUIgiSIEfCIIhUIoiSINIBZ8IAl8IgkgDyAcfHwiEYVCIIkiEnwiFIVCKIkiDyAUIBIgDyAZfCARfCIRhUIwiSISfCIUhUIBiSIPIBMgBiAgIA0gCCAEIAmFQjCJIgR8IgiFQgGJIgl8IAp8IgqFQiCJIgZ8Ig0gBiAJIA2FQiiJIgkgInwgCnwiCoVCMIkiBnwiDSAQIBUgAiADIA58IgOFQgGJIgJ8IAd8IgeFQiCJIg4gByACIAggDnwiB4VCKIkiAiAbfHwiCIVCMIkiDiAFIAyFQgGJIgUgAyAEIAUgGnwgC3wiBYVCIIkiBHwiA4VCKIkiCyAkfCAFfCIFIA8gIXx8IgyFQiCJIhB8IhOFQiiJIg8gEyAQIA8gHXwgDHwiDIVCMIkiEHwiE4VCAYkiDyAUIAYgIiALIAMgBCAFhUIwiSIEfCIDhUIBiSIFfCAIfCIIhUIgiSIGfCILIAYgBSALhUIoiSIFIBp8IAh8IgiFQjCJIgZ8IgsgEiACIAcgDnwiB4VCAYkiAiAkfCAKfCIKhUIgiSIOIAIgAyAOfCIDhUIoiSICIBx8IAp8IgqFQjCJIg4gCSANhUIBiSIJIAcgBCAJIBZ8IBF8IgmFQiCJIgR8IgeFQiiJIg0gF3wgCXwiCSAPIBh8fCIRhUIgiSISfCIUhUIoiSIPIBQgEiAPICN8IBF8IhGFQjCJIhJ8IhSFQgGJIg8gEyAGIB8gDSAHIAQgCYVCMIkiBHwiB4VCAYkiCXwgCnwiCoVCIIkiBnwiDSAGIAkgDYVCKIkiCSAVfCAKfCIKhUIwiSIGfCINIBAgGyACIAMgDnwiA4VCAYkiAnwgCHwiCIVCIIkiDiACIAcgDnwiB4VCKIkiAiAgfCAIfCIIhUIwiSIOIAUgC4VCAYkiBSADIAQgBSAefCAMfCIFhUIgiSIEfCIDhUIoiSILIBl8IAV8IgUgDyAjfHwiDIVCIIkiEHwiE4VCKIkiDyATIBAgDyAkfCAMfCIMhUIwiSIQfCIThUIBiSIPIBQgBiAeIAsgAyAEIAWFQjCJIgR8IgOFQgGJIgV8IAh8IgiFQiCJIgZ8IgsgBiAFIAuFQiiJIgUgIHwgCHwiCIVCMIkiBnwiCyASIAIgByAOfCIHhUIBiSICIBt8IAp8IgqFQiCJIg4gAiADIA58IgOFQiiJIgIgFXwgCnwiCoVCMIkiDiAJIA2FQgGJIgkgByAEIAkgGnwgEXwiCYVCIIkiBHwiB4VCKIkiDSAZfCAJfCIJIA8gF3x8IhGFQiCJIhJ8IhSFQiiJIg8gFCASIA8gFnwgEXwiEYVCMIkiEnwiFIVCAYkiDyATIAYgHCANIAcgBCAJhUIwiSIEfCIHhUIBiSIJfCAKfCIKhUIgiSIGfCINIAYgCSANhUIoiSIJICF8IAp8IgqFQjCJIgZ8Ig0gECAYIAIgAyAOfCIDhUIBiSICfCAIfCIIhUIgiSIOIAIgByAOfCIHhUIoiSICICJ8IAh8IgiFQjCJIg4gBSALhUIBiSIFIAMgBCAFIB18IAx8IgWFQiCJIgR8IgOFQiiJIgsgH3wgBXwiBSAPIBl8fCIMhUIgiSIQfCIThUIoiSIPIBMgECAPICB8IAx8IgyFQjCJIhB8IhOFQgGJIg8gFCAGICQgCyADIAQgBYVCMIkiBHwiA4VCAYkiBXwgCHwiCIVCIIkiBnwiCyAGIAUgC4VCKIkiBSAjfCAIfCIIhUIwiSIGfCILIBIgAiAHIA58IgeFQgGJIgIgInwgCnwiCoVCIIkiDiACIAMgDnwiA4VCKIkiAiAefCAKfCIKhUIwiSIOIAkgDYVCAYkiCSAHIAQgCSAVfCARfCIJhUIgiSIEfCIHhUIoiSINIB18IAl8IgkgDyAbfHwiEYVCIIkiEnwiFIVCKIkiDyAUIBIgDyAhfCARfCIRhUIwiSISfCIUhUIBiSIPIBMgBiAaIA0gByAEIAmFQjCJIgR8IgeFQgGJIgl8IAp8IgqFQiCJIgZ8Ig0gBiAJIA2FQiiJIgkgF3wgCnwiCoVCMIkiBnwiDSAQIBYgAiADIA58IgOFQgGJIgJ8IAh8IgiFQiCJIg4gAiAHIA58IgeFQiiJIgIgHHwgCHwiCIVCMIkiDiAFIAuFQgGJIgUgAyAEIAUgH3wgDHwiBYVCIIkiBHwiA4VCKIkiCyAYfCAFfCIFIA8gF3x8IheFQiCJIgx8IhCFQiiJIhMgECAMIBMgHHwgF3wiHIVCMIkiF3wiDIVCAYkiECAUIAYgGCALIAMgBCAFhUIwiSIEfCIDhUIBiSIFfCAIfCIYhUIgiSIGfCIIIAYgGCAkIAUgCIVCKIkiJHx8IhiFQjCJIgZ8IgUgEiAWIAIgByAOfCIHhUIBiSICfCAKfCIWhUIgiSIIIBYgGyACIAMgCHwiFoVCKIkiA3x8IhuFQjCJIgIgGiAJIA2FQgGJIgggByAEIAggGXwgEXwiGYVCIIkiBHwiB4VCKIkiCHwgGXwiGiAQICJ8fCIZhUIgiSIifCILhUIoiSIJIBV8IBl8IhkgJYUgByAEIBqFQjCJIhp8IhUgFyAYICAgAyACIBZ8IhiFQgGJIhZ8fCIghUIgiSIXfCIEIBcgICAdIAQgFoVCKIkiHXx8IiCFQjCJIhd8IhaFNwAIIAAgGCAaIBwgISAFICSFQgGJIhx8fCIhhUIgiSIafCIYIBogIyAYIByFQiiJIhh8ICF8IhyFQjCJIhp8IiEgJiAfIAggFYVCAYkiFSAMIAYgFSAefCAbfCIbhUIgiSIVfCIehUIoiSIjfCAbfCIbhYU3AAAgACAeIBUgG4VCMIkiG3wiFSAcIAApABCFhTcAECAAIBkgIoVCMIkiGSAAKQAgIBYgHYVCAYmFhTcAICAAIAsgGXwiGSAgIAApABiFhTcAGCAAIAApACggFSAjhUIBiYUgGoU3ACggACAAKQA4IBggIYVCAYmFIBuFNwA4IAAgACkAMCAJIBmFQgGJhSAXhTcAMAvXAQEDfyMAQRBrIgMgADYCDCADIAE2AghBACEAIANBADoABwJAIAJFDQAgAkEBcSACQQFHBEAgAkF+cSEEQQAhAgNAIAMgAy0AByADKAIMIABqLQAAIAMoAgggAGotAABzcjoAByADIAMtAAcgAEEBciIFIAMoAgxqLQAAIAMoAgggBWotAABzcjoAByAAQQJqIQAgAkECaiICIARHDQALC0UNACADIAMtAAcgAygCDCAAai0AACADKAIIIABqLQAAc3I6AAcLIAMtAAdBAWtBCHZBAXFBAWsL9xICFX4DfyAAIAAoACwiFkEFdkH///8Aca0gACgAPEEDdq0iAkKDoVZ+IAAzACogADEALEIQhkKAgPwAg4R8IgtCgIBAfSIIQhWHfCIBQoOhVn4gADUAMUIHiEL///8AgyIDQtOMQ34gACgAFyIXQRh2rSAAMQAbQgiGhCAAMQAcQhCGhEICiEL///8Ag3wgACgANCIYQQR2Qf///wBxrSIEQuf2J358IBZBGHatIAAxADBCCIaEIAAxADFCEIaEQgKIQv///wCDIgVC0asIfnwgADUAOUIGiEL///8AgyIGQpPYKH58IBhBGHatIAAxADhCCIaEIAAxADlCEIaEQgGIQv///wCDIglCmNocfnwiB3wgB0KAgEB9IhFCgICAf4N9IBdBBXZB////AHGtIANC5/YnfnwgBEKY2hx+fCAFQtOMQ358IAlCk9gofnwgA0KY2hx+IAAzABUgADEAF0IQhkKAgPwAg4R8IARCk9gofnwgBULn9id+fCIHQoCAQH0iCkIViHwiDEKAgEB9Ig1CFYd8Ig8gD0KAgEB9Ig9CgICAf4N9IAwgAULRqwh+fCANQoCAgH+DfSALIAhCgICAf4N9IAJC0asIfiAAKAAkIhZBGHatIAAxAChCCIaEIAAxAClCEIaEQgOIfCAGQoOhVn58IBZBBnZB////AHGtIAJC04xDfnwgBkLRqwh+fCAJQoOhVn58IgxCgIBAfSINQhWHfCIIQoCAQH0iDkIVh3wiC0KDoVZ+fCAHIApCgICA////A4N9IANCk9gofiAAKAAPIhZBGHatIAAxABNCCIaEIAAxABRCEIaEQgOIfCAFQpjaHH58IBZBBnZB////AHGtIAVCk9gofnwiCkKAgEB9IhJCFYh8IgdCgIBAfSIQQhWIfCABQtOMQ358IAtC0asIfnwgCCAOQoCAgH+DfSIIQoOhVn58Ig5CgIBAfSITQhWHfCIUQoCAQH0iFUIVh3wgFCAVQoCAgH+DfSAOIBNCgICAf4N9IAcgEEKAgID///////8Ag30gAULn9id+fCALQtOMQ358IAhC0asIfnwgDCANQoCAgH+DfSAEQoOhVn4gACgAHyIWQRh2rSAAMQAjQgiGhCAAMQAkQhCGhEIBiEL///8Ag3wgAkLn9id+fCAGQtOMQ358IAlC0asIfnwgFkEEdkH///8Aca0gA0KDoVZ+fCAEQtGrCH58IAJCmNocfnwgBkLn9id+fCAJQtOMQ358IgxCgIBAfSINQhWHfCIOQoCAQH0iEEIVh3wiB0KDoVZ+fCAKIBJCgICA////AYN9IAFCmNocfnwgC0Ln9id+fCAIQtOMQ358IAdC0asIfnwgDiAQQoCAgH+DfSIKQoOhVn58Ig5CgIBAfSISQhWHfCIQQoCAQH0iE0IVh3wgECATQoCAgH+DfSAOIBJCgICAf4N9IAFCk9gofiAAKAAKIhZBGHatIAAxAA5CCIaEIAAxAA9CEIaEQgGIQv///wCDfCALQpjaHH58IAhC5/YnfnwgB0LTjEN+fCAKQtGrCH58IAwgDUKAgIB/g30gA0LRqwh+IAA1ABxCB4hC////AIN8IARC04xDfnwgBUKDoVZ+fCACQpPYKH58IAZCmNocfnwgCULn9id+fCARQhWHfCIBQoCAQH0iA0IVh3wiAkKDoVZ+fCAWQQR2Qf///wBxrSALQpPYKH58IAhCmNocfnwgB0Ln9id+fCAKQtOMQ358IAJC0asIfnwiBEKAgEB9IgVCFYd8IgZCgIBAfSIJQhWHfCAGIAEgA0KAgIB/g30gD0IVh3wiA0KAgEB9IgtCFYciAUKDoVZ+fCAJQoCAgH+DfSABQtGrCH4gBHwgBUKAgIB/g30gCEKT2Ch+IAA1AAdCB4hC////AIN8IAdCmNocfnwgCkLn9id+fCACQtOMQ358IAdCk9gofiAAKAACIhZBGHatIAAxAAZCCIaEIAAxAAdCEIaEQgKIQv///wCDfCAKQpjaHH58IAJC5/YnfnwiBEKAgEB9IgVCFYd8IgZCgIBAfSIJQhWHfCAGIAFC04xDfnwgCUKAgIB/g30gAULn9id+IAR8IAVCgICAf4N9IBZBBXZB////AHGtIApCk9gofnwgAkKY2hx+fCACQpPYKH4gADMAACAAMQACQhCGQoCA/ACDhHwiAkKAgEB9IgRCFYd8IgVCgIBAfSIGQhWHfCABQpjaHH4gBXwgBkKAgIB/g30gAiAEQoCAgH+DfSABQpPYKH58IgFCFYd8IgVCFYd8IgZCFYd8IglCFYd8IghCFYd8IgdCFYd8IgpCFYd8IhFCFYd8IgxCFYd8Ig1CFYd8Ig9CFYcgAyALQoCAgH+DfXwiBEIVhyICQpPYKH4gAUL///8Ag3wiAzwAACAAIANCCIg8AAEgACACQpjaHH4gBUL///8Ag3wgA0IVh3wiAUILiDwABCAAIAFCA4g8AAMgACADQhCIQh+DIAFCBYaEPAACIAAgAkLn9id+IAZC////AIN8IAFCFYd8IgNCBog8AAYgACADQgKGIAFCgIDgAINCE4iEPAAFIAAgAkLTjEN+IAlC////AIN8IANCFYd8IgFCCYg8AAkgACABQgGIPAAIIAAgAUIHhiADQoCA/wCDQg6IhDwAByAAIAJC0asIfiAIQv///wCDfCABQhWHfCIDQgyIPAAMIAAgA0IEiDwACyAAIANCBIYgAUKAgPgAg0IRiIQ8AAogACACQoOhVn4gB0L///8Ag3wgA0IVh3wiAUIHiDwADiAAIAFCAYYgA0KAgMAAg0IUiIQ8AA0gACAKQv///wCDIAFCFYd8IgJCCog8ABEgACACQgKIPAAQIAAgAkIGhiABQoCA/gCDQg+IhDwADyAAIBFC////AIMgAkIVh3wiAUINiDwAFCAAIAFCBYg8ABMgACAMQv///wCDIAFCFYd8IgM8ABUgACABQgOGIAJCgIDwAINCEoiEPAASIAAgA0IIiDwAFiAAIA1C////AIMgA0IVh3wiAkILiDwAGSAAIAJCA4g8ABggACADQhCIQh+DIAJCBYaEPAAXIAAgD0L///8AgyACQhWHfCIBQgaIPAAbIAAgAUIChiACQoCA4ACDQhOIhDwAGiAAIAFCFYciAyAEQv///wCDfCICQhGIPAAfIAAgAkIJiDwAHiAAIAJCB4YgAUKAgP8Ag0IOiIQ8ABwgACADpyAEp2pBAXatPAAdC/gBAQp/A0AgBCAAIANqLQAAIgEgA0GAE2oiAi0AAHNyIQQgCiABIAItAMABc3IhCiAJIAEgAi0AoAFzciEJIAggASACLQCAAXNyIQggByABIAItAGBzciEHIAYgASACQUBrLQAAc3IhBiAFIAEgAi0AIHNyIQUgA0EBaiIDQR9HDQALIAogAC0AH0H/AHEiAEH/AHMiAXJB/wFxQQFrIAEgCXJB/wFxQQFrIAEgCHJB/wFxQQFrIAcgAEH6AHNyQf8BcUEBayAGIABBBXNyQf8BcUEBayAAIAVyQf8BcUEBayAAIARyQf8BcUEBa3JycnJyckEIdkEBcQvgCQEdfyABKAIEIQQgASgCLCEDIAEoAgghBSABKAIwIQYgASgCDCEHIAEoAjQhCCABKAIQIQkgASgCOCEKIAEoAhQhCyABKAI8IQwgASgCGCENIAFBQGsiDigCACEPIAEoAhwhECABKAJEIREgASgCICESIAEoAkghEyABKAIkIRQgASgCTCEVIAAgASgCACABKAIoajYCACAAIBQgFWo2AiQgACASIBNqNgIgIAAgECARajYCHCAAIA0gD2o2AhggACALIAxqNgIUIAAgCSAKajYCECAAIAcgCGo2AgwgACAFIAZqNgIIIAAgAyAEajYCBCABKAIEIQMgASgCLCEFIAEoAgghBiABKAIwIQcgASgCDCEIIAEoAjQhCSABKAIQIQogASgCOCELIAEoAhQhDCABKAI8IQ0gASgCGCEPIA4oAgAhDiABKAIcIQQgASgCRCEQIAEoAiAhESABKAJIIRIgASgCACETIAEoAighFCAAIAEoAkwgASgCJGs2AkwgACASIBFrNgJIIAAgECAEazYCRCAAQUBrIgQgDiAPazYCACAAIA0gDGs2AjwgACALIAprNgI4IAAgCSAIazYCNCAAIAcgBms2AjAgACAFIANrNgIsIAAgFCATazYCKCAAQdAAaiAAIAIQBiAAQShqIgMgAyACQShqEAYgAEH4AGogAkHQAGogAUH4AGoQBiABKAJUIRQgASgCWCEVIAEoAlwhFiABKAJgIRcgASgCZCEYIAEoAmghGSABKAJsIRogASgCcCEbIAEoAnQhHCAAKAIsIQIgACgCVCEDIAAoAjAhBSAAKAJYIQYgACgCNCEHIAAoAlwhCCAAKAI4IQkgACgCYCEKIAAoAjwhCyAAKAJkIQwgBCgCACENIAAoAmghDiAAKAJEIQ8gACgCbCEQIAAoAkghESAAKAJwIRIgASgCUCEdIAAoAighASAAKAJQIRMgACAAKAJMIh4gACgCdCIfajYCTCAAIBEgEmo2AkggACAPIBBqNgJEIAQgDSAOajYCACAAIAsgDGo2AjwgACAJIApqNgI4IAAgByAIajYCNCAAIAUgBmo2AjAgACACIANqNgIsIAAgASATajYCKCAAIB8gHms2AiQgACASIBFrNgIgIAAgECAPazYCHCAAIA4gDWs2AhggACAMIAtrNgIUIAAgCiAJazYCECAAIAggB2s2AgwgACAGIAVrNgIIIAAgAyACazYCBCAAIBMgAWs2AgAgACAcQQF0IgEgACgCnAEiAms2ApwBIAAgG0EBdCIEIAAoApgBIgNrNgKYASAAIBpBAXQiBSAAKAKUASIGazYClAEgACAZQQF0IgcgACgCkAEiCGs2ApABIAAgGEEBdCIJIAAoAowBIgprNgKMASAAIBdBAXQiCyAAKAKIASIMazYCiAEgACAWQQF0Ig0gACgChAEiDms2AoQBIAAgFUEBdCIPIAAoAoABIhBrNgKAASAAIBRBAXQiESAAKAJ8IhJrNgJ8IAAgHUEBdCITIAAoAngiFGs2AnggACADIARqNgJwIAAgBSAGajYCbCAAIAcgCGo2AmggACAJIApqNgJkIAAgCyAMajYCYCAAIA0gDmo2AlwgACAPIBBqNgJYIAAgESASajYCVCAAIBMgFGo2AlAgACABIAJqNgJ0C6YEAg5+Cn8gACgCJCESIAAoAiAhEyAAKAIcIRQgACgCGCEVIAAoAhQhESACQhBaBEAgAC0AUEVBGHQhFiAAKAIQIhetIQ8gACgCDCIYrSENIAAoAggiGa0hCyAAKAIEIhqtIQkgGkEFbK0hECAZQQVsrSEOIBhBBWytIQwgF0EFbK0hCiAANQIAIQgDQCABKAADQQJ2Qf///x9xIBVqrSIDIA1+IAEoAABB////H3EgEWqtIgQgD358IAEoAAZBBHZB////H3EgFGqtIgUgC358IAEoAAlBBnYgE2qtIgYgCX58IBIgFmogASgADEEIdmqtIgcgCH58IAMgC34gBCANfnwgBSAJfnwgBiAIfnwgByAKfnwgAyAJfiAEIAt+fCAFIAh+fCAGIAp+fCAHIAx+fCADIAh+IAQgCX58IAUgCn58IAYgDH58IAcgDn58IAMgCn4gBCAIfnwgBSAMfnwgBiAOfnwgByAQfnwiA0IaiEL/////D4N8IgRCGohC/////w+DfCIFQhqIQv////8Pg3wiBkIaiEL/////D4N8IgdCGoinQQVsIAOnQf///x9xaiIRQRp2IASnQf///x9xaiEVIAWnQf///x9xIRQgBqdB////H3EhEyAHp0H///8fcSESIBFB////H3EhESABQRBqIQEgAkIQfSICQg9WDQALCyAAIBE2AhQgACASNgIkIAAgEzYCICAAIBQ2AhwgACAVNgIYC60DAgx/A34gACkDOCIOQgBSBEAgAEFAayICIA6nIgNqQQE6AAAgDkIBfEIPWARAIAAgA2pBwQBqQQBBDyADaxAJGgsgAEEBOgBQIAAgAkIQEEELIAA1AjQhDiAANQIwIQ8gADUCLCEQIAEgACgCFCAAKAIkIAAoAiAgACgCHCAAKAIYIgNBGnZqIgJBGnZqIgZBGnZqIglBGnZBBWxqIgRB////H3EiBUEFaiIHQRp2IANB////H3EgBEEadmoiBGoiCEEadiACQf///x9xIgpqIgtBGnYgBkH///8fcSIGaiIMQRp2IAlB////H3FqIg1BgICAIGsiAkEfdSIDIARxIAJBH3ZBAWsiBEH///8fcSICIAhxciIIQRp0IAIgB3EgAyAFcXJyIgUgACgCKGoiBzYAACABIAUgB0utIBAgAyAKcSACIAtxciIFQRR0IAhBBnZyrXx8IhA+AAQgASAPIAMgBnEgAiAMcXIiAkEOdCAFQQx2cq18IBBCIIh8Ig8+AAggASAOIAQgDXEgAyAJcXJBCHQgAkESdnKtfCAPQiCIfD4ADCAAQdgAEAgL2QQCBn4BfwJAIAApAzgiA0IAUgRAIABCECADfSIEIAIgAiAEVhsiBEIAUgR+IABBQGshCUIAIQMgBEIEWgRAIARCfIMhBQNAIAkgACkDOCADfKdqIAEgA6dqLQAAOgAAIAkgA0IBhCIIIAApAzh8p2ogASAIp2otAAA6AAAgCSADQgKEIgggACkDOHynaiABIAinai0AADoAACAJIANCA4QiCCAAKQM4fKdqIAEgCKdqLQAAOgAAIANCBHwhAyAGQgR8IgYgBVINAAsLIARCA4MiBkIAUgRAA0AgCSAAKQM4IAN8p2ogASADp2otAAA6AAAgA0IBfCEDIAdCAXwiByAGUg0ACwsgACkDOAUgAwsgBHwiAzcDOCADQhBUDQEgACAAQUBrQhAQQSAAQgA3AzggAiAEfSECIAEgBKdqIQELIAJCEFoEQCAAIAEgAkJwgyIDEEEgAkIPgyECIAEgA6dqIQELIAJQDQAgAEFAayEJQgAhB0IAIQMgAkIEWgRAIAJCDIMhBEIAIQYDQCAJIAApAzggA3ynaiABIAOnai0AADoAACAJIANCAYQiBSAAKQM4fKdqIAEgBadqLQAAOgAAIAkgA0IChCIFIAApAzh8p2ogASAFp2otAAA6AAAgCSADQgOEIgUgACkDOHynaiABIAWnai0AADoAACADQgR8IQMgBkIEfCIGIARSDQALCyACQgODIgRCAFIEQANAIAkgACkDOCADfKdqIAEgA6dqLQAAOgAAIANCAXwhAyAHQgF8IgcgBFINAAsLIAAgACkDOCACfDcDOAsLFgAgAUEgEBggACABQZyTAigCABEBAAsEAEEIC+kmASd/IwBB0ARrIh0kAEF/IQ0gAEEgaiEKQSAhCEEBIQUDQCAIQQFrIgdB4BRqLQAAIgsgByAKai0AACIHc0EBa0EIdSAFcSIJIAogCEECayIIai0AACIMIAhB4BRqLQAAIg5rQQh1cSAHIAtrQQh1IAVxIAZyciEGIAwgDnNBAWtBCHUgCXEhBSAIDQALAkAgBkH/AXFFDQAgABA/DQAgAy0AH0F/c0H/AHEgAy0AASADLQACIAMtAAMgAy0ABCADLQAFIAMtAAYgAy0AByADLQAIIAMtAAkgAy0ACiADLQALIAMtAAwgAy0ADSADLQAOIAMtAA8gAy0AECADLQARIAMtABIgAy0AEyADLQAUIAMtABUgAy0AFiADLQAXIAMtABggAy0AGSADLQAaIAMtABsgAy0AHCADLQAeIAMtAB1xcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcUH/AXNyQQFrQewBIAMtAABrcUF/c0EIdkEBcUUNACADED8NACAdQYABaiIIIAMQXw0AIB1BgANqIgYQGyAEBEAgBkGwkgJCIhANGgsgBiAAQiAQDRogBiADQiAQDRogBiABIAIQDRogBiAdQcACaiIBEBQgARA+IB1BCGohDSABIQYgCCEEQQAhA0EAIQEjAEHgEWsiBSQAA0AgBUHgD2oiCCADaiAGIANBA3ZqLQAAIgcgA0EGcXZBAXE6AAAgCCADQQFyIgtqIAcgC0EHcXZBAXE6AAAgA0ECaiIDQYACRw0ACwNAIAEiCEEBaiEBAkAgCEH+AUsNACAFQeAPaiIDIAhqIgYtAABFDQACQCABIANqIgMsAAAiB0UNACAHQQF0IgcgBiwAACILaiIJQQ9MBEAgBiAJOgAAIANBADoAAAwBCyALIAdrIgNBcUgNASAGIAM6AAAgASEDA0AgBUHgD2ogA2oiBy0AAEUEQCAHQQE6AAAMAgsgB0EAOgAAIANB/wFJIANBAWohAw0ACwsgCEH9AUsNAAJAIAhBAmoiAyAFQeAPamoiBywAACILRQ0AIAtBAnQiCyAGLAAAIglqIgxBEE4EQCAJIAtrIgdBcUgNAiAGIAc6AAADQCAFQeAPaiADaiIHLQAABEAgB0EAOgAAIANB/wFJIANBAWohAw0BDAMLCyAHQQE6AAAMAQsgBiAMOgAAIAdBADoAAAsgCEH9AUYNAAJAIAhBA2oiAyAFQeAPamoiBywAACILRQ0AIAtBA3QiCyAGLAAAIglqIgxBEE4EQCAJIAtrIgdBcUgNAiAGIAc6AAADQCAFQeAPaiADaiIHLQAABEAgB0EAOgAAIANB/wFJIANBAWohAw0BDAMLCyAHQQE6AAAMAQsgBiAMOgAAIAdBADoAAAsgCEH7AUsNAAJAIAhBBGoiAyAFQeAPamoiBywAACILRQ0AIAtBBHQiCyAGLAAAIglqIgxBEE4EQCAJIAtrIgdBcUgNAiAGIAc6AAADQCAFQeAPaiADaiIHLQAABEAgB0EAOgAAIANB/wFJIANBAWohAw0BDAMLCyAHQQE6AAAMAQsgBiAMOgAAIAdBADoAAAsgCEH7AUYNAAJAIAhBBWoiAyAFQeAPamoiBywAACILRQ0AIAtBBXQiCyAGLAAAIglqIgxBEE4EQCAJIAtrIgdBcUgNAiAGIAc6AAADQCAFQeAPaiADaiIHLQAABEAgB0EAOgAAIANB/wFJIANBAWohAw0BDAMLCyAHQQE6AAAMAQsgBiAMOgAAIAdBADoAAAsgCEH5AUsNACAIQQZqIgMgBUHgD2pqIggsAAAiB0UNACAHQQZ0IgcgBiwAACILaiIJQRBOBEAgCyAHayIIQXFIDQEgBiAIOgAAA0AgBUHgD2ogA2oiCC0AAARAIAhBADoAACADQf8BSSADQQFqIQMNAQwDCwsgCEEBOgAADAELIAYgCToAACAIQQA6AAALIAFBgAJHDQALQQAhAwNAIAVB4A1qIgEgA2ogCiADQQN2ai0AACIIIANBBnF2QQFxOgAAIAEgA0EBciIGaiAIIAZBB3F2QQFxOgAAIANBAmoiA0GAAkcNAAtBACEBA0AgASIIQQFqIQECQCAIQf4BSw0AIAVB4A1qIgMgCGoiCi0AAEUNAAJAIAEgA2oiAywAACIGRQ0AIAZBAXQiBiAKLAAAIgdqIgtBD0wEQCAKIAs6AAAgA0EAOgAADAELIAcgBmsiA0FxSA0BIAogAzoAACABIQMDQCAFQeANaiADaiIGLQAARQRAIAZBAToAAAwCCyAGQQA6AAAgA0H/AUkgA0EBaiEDDQALCyAIQf0BSw0AAkAgCEECaiIDIAVB4A1qaiIGLAAAIgdFDQAgB0ECdCIHIAosAAAiC2oiCUEQTgRAIAsgB2siBkFxSA0CIAogBjoAAANAIAVB4A1qIANqIgYtAAAEQCAGQQA6AAAgA0H/AUkgA0EBaiEDDQEMAwsLIAZBAToAAAwBCyAKIAk6AAAgBkEAOgAACyAIQf0BRg0AAkAgCEEDaiIDIAVB4A1qaiIGLAAAIgdFDQAgB0EDdCIHIAosAAAiC2oiCUEQTgRAIAsgB2siBkFxSA0CIAogBjoAAANAIAVB4A1qIANqIgYtAAAEQCAGQQA6AAAgA0H/AUkgA0EBaiEDDQEMAwsLIAZBAToAAAwBCyAKIAk6AAAgBkEAOgAACyAIQfsBSw0AAkAgCEEEaiIDIAVB4A1qaiIGLAAAIgdFDQAgB0EEdCIHIAosAAAiC2oiCUEQTgRAIAsgB2siBkFxSA0CIAogBjoAAANAIAVB4A1qIANqIgYtAAAEQCAGQQA6AAAgA0H/AUkgA0EBaiEDDQEMAwsLIAZBAToAAAwBCyAKIAk6AAAgBkEAOgAACyAIQfsBRg0AAkAgCEEFaiIDIAVB4A1qaiIGLAAAIgdFDQAgB0EFdCIHIAosAAAiC2oiCUEQTgRAIAsgB2siBkFxSA0CIAogBjoAAANAIAVB4A1qIANqIgYtAAAEQCAGQQA6AAAgA0H/AUkgA0EBaiEDDQEMAwsLIAZBAToAAAwBCyAKIAk6AAAgBkEAOgAACyAIQfkBSw0AIAhBBmoiAyAFQeANamoiCCwAACIGRQ0AIAZBBnQiBiAKLAAAIgdqIgtBEE4EQCAHIAZrIghBcUgNASAKIAg6AAADQCAFQeANaiADaiIILQAABEAgCEEAOgAAIANB/wFJIANBAWohAw0BDAMLCyAIQQE6AAAMAQsgCiALOgAAIAhBADoAAAsgAUGAAkcNAAsgBUHgA2oiBiAEEA4gBSAEKQIgNwPAASAFIAQpAhg3A7gBIAUgBCkCEDcDsAEgBSAEKQIINwOoASAFIAQpAgA3A6ABIAUgBCkCMDcD0AEgBSAEKQI4NwPYASAFIARBQGspAgA3A+ABIAUgBCkCSDcD6AEgBSAEKQIoNwPIASAFIAQpAlg3A/gBIAUgBCkCYDcDgAIgBSAEKQJoNwOIAiAFIAQpAnA3A5ACIAUgBCkCUDcD8AEgBUHAAmoiASAFQaABaiIDEBkgBSABIAVBuANqIgQQBiAFQShqIAVB6AJqIgggBUGQA2oiChAGIAVB0ABqIAogBBAGIAVB+ABqIAEgCBAGIAEgBSAGEA8gAyABIAQQBiAFQcgBaiIHIAggChAGIAVB8AFqIgsgCiAEEAYgBUGYAmoiBiABIAgQBiAFQYAFaiIJIAMQDiABIAUgCRAPIAMgASAEEAYgByAIIAoQBiALIAogBBAGIAYgASAIEAYgBUGgBmoiCSADEA4gASAFIAkQDyADIAEgBBAGIAcgCCAKEAYgCyAKIAQQBiAGIAEgCBAGIAVBwAdqIgkgAxAOIAEgBSAJEA8gAyABIAQQBiAHIAggChAGIAsgCiAEEAYgBiABIAgQBiAFQeAIaiIJIAMQDiABIAUgCRAPIAMgASAEEAYgByAIIAoQBiALIAogBBAGIAYgASAIEAYgBUGACmoiCSADEA4gASAFIAkQDyADIAEgBBAGIAcgCCAKEAYgCyAKIAQQBiAGIAEgCBAGIAVBoAtqIgkgAxAOIAEgBSAJEA8gAyABIAQQBiAHIAggChAGIAsgCiAEEAYgBiABIAgQBiAFQcAMaiADEA4gDUIANwIgIA1CADcCGCANQgA3AhAgDUIANwIIIA1CADcCACANQgA3AiwgDUEBNgIoIA1CADcCNCANQgA3AjwgDUIANwJEIA1CADcCVCANQoCAgIAQNwJMIA1CADcCXCANQgA3AmQgDUIANwJsIA1BADYCdCANQdAAaiEiIA1BKGohI0H/ASEBA0ACQAJAAkAgBUHgD2oiCSABai0AAA0AIAVB4A1qIgwgAWotAAANACAJIAFBAWsiA2otAABFBEAgAyAMai0AAEUNAgsgAyEBCyABQQBIDQEDQCAFQcACaiIJIA0QGQJAIAEiAyAFQeAPamosAAAiAUEASgRAIAVBoAFqIgwgCSAEEAYgByAIIAoQBiALIAogBBAGIAYgCSAIEAYgCSAMIAVB4ANqIAFB/gFxQQF2QaABbGoQDwwBCyABQQBODQAgBUGgAWoiDCAFQcACaiIJIAQQBiAHIAggChAGIAsgCiAEEAYgBiAJIAgQBiAJIAwgBUHgA2pBACABa0H+AXFBAXZBoAFsahBeCwJAIAVB4A1qIANqLAAAIgFBAEoEQCAFQaABaiIMIAVBwAJqIgkgBBAGIAcgCCAKEAYgCyAKIAQQBiAGIAkgCBAGIAkgDCABQf4BcUEBdkH4AGxBwAtqEEAMAQsgAUEATg0AIAVBoAFqIAVBwAJqIgkgBBAGIAcgCCAKEAYgCyAKIAQQBiAGIAkgCBAGIAUoAqABIQwgBSgCyAEhDiAFKAKkASEPIAUoAswBIRAgBSgCqAEhESAFKALQASESIAUoAqwBIRMgBSgC1AEhFCAFKAKwASEVIAUoAtgBIRYgBSgCtAEhFyAFKALcASEYIAUoArgBIRkgBSgC4AEhGiAFKAK8ASEbIAUoAuQBIRwgBSgCwAEhHiAFKALoASEfIAUgBSgC7AEiICAFKALEASIhazYCjAMgBSAfIB5rNgKIAyAFIBwgG2s2AoQDIAUgGiAZazYCgAMgBSAYIBdrNgL8AiAFIBYgFWs2AvgCIAUgFCATazYC9AIgBSASIBFrNgLwAiAFIBAgD2s2AuwCIAUgDiAMazYC6AIgBSAgICFqNgLkAiAFIB4gH2o2AuACIAUgGyAcajYC3AIgBSAZIBpqNgLYAiAFIBcgGGo2AtQCIAUgFSAWajYC0AIgBSATIBRqNgLMAiAFIBEgEmo2AsgCIAUgDyAQajYCxAIgBSAMIA5qNgLAAiAKIAlBACABa0H+AXFBAXZB+ABsQcALaiIBQShqEAYgCCAIIAEQBiAEIAFB0ABqIAYQBiAFKAKUAiEeIAUoApACIR8gBSgCjAIhICAFKAKIAiEhIAUoAoQCISQgBSgCgAIhJSAFKAL8ASEmIAUoAvgBIScgBSgC9AEhKCAFKALwASEpIAUoAugCIQEgBSgCkAMhCSAFKALsAiEMIAUoApQDIQ4gBSgC8AIhDyAFKAKYAyEQIAUoAvQCIREgBSgCnAMhEiAFKAL4AiETIAUoAqADIRQgBSgC/AIhFSAFKAKkAyEWIAUoAoADIRcgBSgCqAMhGCAFKAKEAyEZIAUoAqwDIRogBSgCiAMhGyAFKAKwAyEcIAUgBSgCjAMiKiAFKAK0AyIrajYCjAMgBSAbIBxqNgKIAyAFIBkgGmo2AoQDIAUgFyAYajYCgAMgBSAVIBZqNgL8AiAFIBMgFGo2AvgCIAUgESASajYC9AIgBSAPIBBqNgLwAiAFIAwgDmo2AuwCIAUgASAJajYC6AIgBSArICprNgLkAiAFIBwgG2s2AuACIAUgGiAZazYC3AIgBSAYIBdrNgLYAiAFIBYgFWs2AtQCIAUgFCATazYC0AIgBSASIBFrNgLMAiAFIBAgD2s2AsgCIAUgDiAMazYCxAIgBSAJIAFrNgLAAiAFIClBAXQiASAFKAK4AyIJazYCkAMgBSAoQQF0IgwgBSgCvAMiDms2ApQDIAUgJ0EBdCIPIAUoAsADIhBrNgKYAyAFICZBAXQiESAFKALEAyISazYCnAMgBSAlQQF0IhMgBSgCyAMiFGs2AqADIAUgJEEBdCIVIAUoAswDIhZrNgKkAyAFICFBAXQiFyAFKALQAyIYazYCqAMgBSAgQQF0IhkgBSgC1AMiGms2AqwDIAUgH0EBdCIbIAUoAtgDIhxrNgKwAyAFIB5BAXQiHiAFKALcAyIfazYCtAMgBSABIAlqNgK4AyAFIAwgDmo2ArwDIAUgDyAQajYCwAMgBSARIBJqNgLEAyAFIBMgFGo2AsgDIAUgFSAWajYCzAMgBSAXIBhqNgLQAyAFIBkgGmo2AtQDIAUgGyAcajYC2AMgBSAeIB9qNgLcAwsgDSAFQcACaiAEEAYgIyAIIAoQBiAiIAogBBAGIANBAWshASADQQBKDQALDAELIAFBAmshASADDQELCyAFQeARaiQAIB1BoAJqIgEgDRAyQX8gASAAEDQgACABRhsgACABQSAQPXIhDQsgHUHQBGokACANC6siAjh+BX8jAEGwBGsiQCQAIEBB4AJqIj4QGyAFBEAgPkGwkgJCIhANGgsgQEGgAmogBEIgECAaIEBB4AJqIkEgQEHAAmpCIBANGiBBIAIgAxANGiBBIEBB4AFqIj4QFCAEKQAgIQggBCkAKCEHIAQpADAhBiAAIAQpADg3ADggACAGNwAwIAAgBzcAKCAAQSBqIgQgCDcAACA+ED4gQCA+EDEgACBAEDIgQRAbIAUEQCBBQbCSAkIiEA0aCyBAQeACaiIFIABCwAAQDRogBSACIAMQDRogBSBAQaABaiIAEBQgABA+IEAgQC0AoAJB+AFxOgCgAiBAIEAtAL8CQT9xQcAAcjoAvwIgBCBAQaACaiI/MwAVID8xABdCEIZCgID8AIOEIg8gACgAHEEHdq0iEH4gACgAFyIFQRh2rSAAMQAbQgiGhCAAMQAcQhCGhEICiEL///8AgyIRID8oABciAkEFdkH///8Aca0iEn58IAAzABUgADEAF0IQhkKAgPwAg4QiEyA/KAAcQQd2rSIUfnwgAkEYdq0gPzEAG0IIhoQgPzEAHEIQhoRCAohC////AIMiFSAFQQV2Qf///wBxrSIWfnwgEiAWfiA/KAAPIgVBGHatID8xABNCCIaEID8xABRCEIaEQgOIIhcgEH58IA8gEX58IAAoAA8iAkEYdq0gADEAE0IIhoQgADEAFEIQhoRCA4giGCAUfnwgEyAVfnwiCUKAgEB9IghCFYh8IgdCgIBAfSIGQhWIIBQgFn4gECASfnwgESAVfnwiAyADQoCAQH0iA0KAgID/////AIN9fCItQpjaHH4gECAVfiARIBR+fCADQhWIfCIDIANCgIBAfSIpQoCAgP////8Ag30iLkKT2Ch+fCAHIAZCgICAf4N9Ii9C5/YnfnwgCSAIQoCAgH+DfSARIBd+IAVBBnZB////AHGtIhkgEH58IBIgE358IA8gFn58IBQgAkEGdkH///8Aca0iGn58IBUgGH58ID8oAAoiQkEYdq0gPzEADkIIhoQgPzEAD0IQhoRCAYhC////AIMiGyAQfiARIBl+fCAWIBd+fCASIBh+fCAPIBN+fCAAKAAKIkFBGHatIAAxAA5CCIaEIAAxAA9CEIaEQgGIQv///wCDIhwgFH58IBUgGn58IgpCgIBAfSILQhWIfCIJQoCAQH0iCEIViHwiMELTjEN+fCBAQeABaiI+KAAXIgVBBXZB////AHGtID8zAAAgPzEAAkIQhkKAgPwAg4QiHSAWfiATID8oAAIiAkEFdkH///8Aca0iHn58ID81AAdCB4hC////AIMiHyAafnwgHCBCQQR2Qf///wBxrSIgfnwgAkEYdq0gPzEABkIIhoQgPzEAB0IQhoRCAohC////AIMiISAYfnwgGSAANQAHQgeIQv///wCDIiJ+fCAbIEFBBHZB////AHGtIiN+fCAXIAAoAAIiAkEYdq0gADEABkIIhoQgADEAB0IQhoRCAohC////AIMiJH58IAAzAAAgADEAAkIQhkKAgPwAg4QiJSASfnwgDyACQQV2Qf///wBxrSImfnx8ID4zABUgEyAdfiAYIB5+fCAcIB9+fCAgICN+fCAaICF+fCAZICR+fCAbICJ+fCAXICZ+fCAPICV+fHwgPjEAF0IQhkKAgPwAg3wiB0KAgEB9IgZCFYh8IgN8IANCgIBAfSIMQoCAgH+DfSAHIC9CmNocfiAtQpPYKH58IDBC5/YnfnwgGCAdfiAaIB5+fCAfICN+fCAgICJ+fCAcICF+fCAZICZ+fCAbICR+fCAXICV+fCA+KAAPIgBBGHatID4xABNCCIaEID4xABRCEIaEQgOIfCAAQQZ2Qf///wBxrSAaIB1+IBwgHn58IB8gIn58ICAgJH58ICEgI358IBkgJX58IBsgJn58fCI2QoCAQH0iN0IViHwiJ0KAgEB9IjhCFYh8fCAGQoCAgH+DfSI5QoCAQH0iOkIVh3wiKkKAgEB9Ig5CFYcgCSAIQoCAgH+DfSAKIBAgFH4iKEKAgEB9Ig1CFYgiMUKDoVZ+fCALQoCAgH+DfSAWIBl+IBAgIH58IBEgG358IBMgF358IBIgGn58IA8gGH58IBQgI358IBUgHH58IBEgIH4gECAffnwgEyAZfnwgFiAbfnwgFyAYfnwgEiAcfnwgDyAafnwgFCAifnwgFSAjfnwiCkKAgEB9IgtCFYh8IglCgIBAfSIIQhWIfCIHQoCAQH0iBkIVh3wiMkKDoVZ+fCARIB1+IBYgHn58IBggH358IBogIH58IBMgIX58IBkgI358IBsgHH58IBcgIn58IBIgJn58IA8gJH58IBUgJX58IAVBGHatID4xABtCCIaEID4xABxCEIaEQgKIQv///wCDfCIDIC5CmNocfiAoIA1CgICA/////wODfSApQhWIfCIzQpPYKH58IC1C5/YnfnwgL0LTjEN+fCAwQtGrCH58IAxCFYh8fCADQoCAQH0iO0KAgIB/g30iA3wgA0KAgEB9IjxCgICAf4N9IgwgKiAHIAZCgICAf4N9IDNCg6FWfiAxQtGrCH58IAl8IAhCgICAf4N9IAogMULTjEN+fCAzQtGrCH58IC5Cg6FWfnwgC0KAgIB/g30gFiAgfiARIB9+fCAQICF+fCAYIBl+fCATIBt+fCAXIBp+fCASICN+fCAPIBx+fCAUICR+fCAVICJ+fCAWIB9+IBAgHn58IBMgIH58IBEgIX58IBkgGn58IBggG358IBcgHH58IBIgIn58IA8gI358IBQgJn58IBUgJH58Ij1CgIBAfSIrQhWIfCIsQoCAQH0iKUIViHwiDUKAgEB9IgpCFYd8IgZCgIBAfSIDQhWHfCI0QoOhVn4gMkLRqwh+fHwgDkKAgIB/g30gOSA0QtGrCH4gMkLTjEN+fCAGIANCgICAf4N9IjVCg6FWfnwgMEKY2hx+IC9Ck9gofnwgJ3wgNiAwQpPYKH58IDdCgICAf4N9IBwgHX4gHiAjfnwgHyAkfnwgICAmfnwgISAifnwgGyAlfnwgPigACiIAQRh2rSA+MQAOQgiGhCA+MQAPQhCGhEIBiEL///8Ag3wgAEEEdkH///8Aca0gHSAjfiAeICJ+fCAfICZ+fCAgICV+fCAhICR+fHwiNkKAgEB9IjdCFYh8IidCgIBAfSIqQhWIfCIOQoCAQH0iKEIVh3wgOEKAgIB/g30iC0KAgEB9IglCFYd8fCA6QoCAgH+DfSIIQoCAQH0iB0IVh3wiBkKAgEB9IgNCFYd8IAxCgIBAfSIMQoCAgH+DfSAGIANCgICAf4N9IAggB0KAgIB/g30gNELTjEN+IDJC5/YnfnwgNULRqwh+fCALfCAJQoCAgH+DfSANIApCgICAf4N9IDNC04xDfiAxQuf2J358IC5C0asIfnwgLUKDoVZ+fCAsfCApQoCAgH+DfSAzQuf2J34gMUKY2hx+fCAuQtOMQ358ID18IC1C0asIfnwgL0KDoVZ+fCArQoCAgH+DfSA+KAAcQQd2rSAQIB1+IBEgHn58IBMgH358IBggIH58IBYgIX58IBkgHH58IBogG358IBcgI358IBIgJH58IA8gIn58IBQgJX58IBUgJn58fCA7QhWIfCINQoCAQH0iCkIViHwiC0KAgEB9IglCFYd8IgZCgIBAfSIDQhWHfCIrQoOhVn58IA4gMkKY2hx+fCAoQoCAgH+DfSA0Quf2J358IDVC04xDfnwgK0LRqwh+fCAGIANCgICAf4N9IixCg6FWfnwiCEKAgEB9IgdCFYd8IgZCgIBAfSIDQhWHfCAGIANCgICAf4N9IAggB0KAgIB/g30gMkKT2Ch+ICd8ICpCgICAf4N9IDRCmNocfnwgNULn9id+fCALIAlCgICAf4N9IDNCmNocfiAxQpPYKH58IC5C5/YnfnwgLULTjEN+fCAvQtGrCH58IDBCg6FWfnwgDXwgCkKAgIB/g30gPEIVh3wiDUKAgEB9IgpCFYd8IilCg6FWfnwgK0LTjEN+fCAsQtGrCH58IDYgN0KAgIB/g30gHSAifiAeICR+fCAfICV+fCAhICZ+fCA+NQAHQgeIQv///wCDfCAdICR+IB4gJn58ICEgJX58ID4oAAIiAEEYdq0gPjEABkIIhoQgPjEAB0IQhoRCAohC////AIN8Ig5CgIBAfSIoQhWIfCILQoCAQH0iCUIViHwgNEKT2Ch+fCA1QpjaHH58IClC0asIfnwgK0Ln9id+fCAsQtOMQ358IghCgIBAfSIHQhWHfCIGQoCAQH0iA0IVh3wgBiANIApCgICAf4N9IAxCFYd8IidCgIBAfSIqQhWHIgxCg6FWfnwgA0KAgIB/g30gCCAMQtGrCH58IAdCgICAf4N9IAsgCUKAgIB/g30gNUKT2Ch+fCApQtOMQ358ICtCmNocfnwgLELn9id+fCAOIABBBXZB////AHGtIB0gJn4gHiAlfnx8IB0gJX4gPjMAACA+MQACQhCGQoCA/ACDhHwiDUKAgEB9IgpCFYh8IgtCgIBAfSIJQhWIfCAoQoCAgH+DfSApQuf2J358ICtCk9gofnwgLEKY2hx+fCIIQoCAQH0iB0IVh3wiBkKAgEB9IgNCFYd8IAYgDELTjEN+fCADQoCAgH+DfSAIIAxC5/YnfnwgB0KAgIB/g30gCyAJQoCAgH+DfSApQpjaHH58ICxCk9gofnwgDSAKQoCAgP///wODfSApQpPYKH58IghCgIBAfSIHQhWHfCIGQoCAQH0iA0IVh3wgBiAMQpjaHH58IANCgICAf4N9IAggB0KAgIB/g30gDEKT2Ch+fCIMQhWHfCIOQhWHfCIoQhWHfCINQhWHfCIKQhWHfCILQhWHfCIJQhWHfCIIQhWHfCIHQhWHfCIGQhWHfCIDQhWHICcgKkKAgIB/g318IipCFYciJ0KT2Ch+IAxC////AIN8Igw8AAAgBCAMQgiIPAABIAQgJ0KY2hx+IA5C////AIN8IAxCFYd8Ig5CC4g8AAQgBCAOQgOIPAADIAQgDEIQiEIfgyAOQgWGhDwAAiAEICdC5/YnfiAoQv///wCDfCAOQhWHfCIoQgaIPAAGIAQgKEIChiAOQoCA4ACDQhOIhDwABSAEICdC04xDfiANQv///wCDfCAoQhWHfCINQgmIPAAJIAQgDUIBiDwACCAEIA1CB4YgKEKAgP8Ag0IOiIQ8AAcgBCAnQtGrCH4gCkL///8Ag3wgDUIVh3wiCkIMiDwADCAEIApCBIg8AAsgBCAKQgSGIA1CgID4AINCEYiEPAAKIAQgJ0KDoVZ+IAtC////AIN8IApCFYd8IgtCB4g8AA4gBCALQgGGIApCgIDAAINCFIiEPAANIAQgCUL///8AgyALQhWHfCIJQgqIPAARIAQgCUICiDwAECAEIAlCBoYgC0KAgP4Ag0IPiIQ8AA8gBCAIQv///wCDIAlCFYd8IghCDYg8ABQgBCAIQgWIPAATIAQgB0L///8AgyAIQhWHfCIHPAAVIAQgCEIDhiAJQoCA8ACDQhKIhDwAEiAEIAdCCIg8ABYgBCAGQv///wCDIAdCFYd8IgZCC4g8ABkgBCAGQgOIPAAYIAQgB0IQiEIfgyAGQgWGhDwAFyAEIANC////AIMgBkIVh3wiB0IGiDwAGyAEIAdCAoYgBkKAgOAAg0ITiIQ8ABogBCAHQhWHIgMgKkL///8Ag3wiBkIRiDwAHyAEIAZCCYg8AB4gBCAGQgeGIAdCgID/AINCDoiEPAAcIAQgA6cgKqdqQQF2rTwAHSA/QcAAEAggPkHAABAIIAEEQCABQsAANwMACyBAQbAEaiQAQQALrwQBFH9B9MqB2QYhA0Gy2ojLByEMQe7IgZkDIQ1B5fDBiwYhBCABKAAMIQ8gASgACCEFIAEoAAQhBiACKAAcIRIgAigAGCEQQRQhESACKAAUIQ4gAigAECEIIAIoAAwhCSACKAAIIQogAigABCELIAEoAAAhASACKAAAIQIDQCAQIA8gAiANakEHd3MiByANakEJd3MiEyAEIA5qQQd3IAlzIgkgBGpBCXcgBXMiFCAJakENdyAOcyIVIAMgCGpBB3cgCnMiCiADakEJdyAGcyIGIApqQQ13IAhzIgggBmpBEncgA3MiAyASIAEgDGpBB3dzIgVqQQd3cyIOIANqQQl3cyIQIA5qQQ13IAVzIhIgEGpBEncgA3MhAyAFIAUgDGpBCXcgC3MiC2pBDXcgAXMiFiALakESdyAMcyIBIAdqQQd3IAhzIgggAWpBCXcgFHMiBSAIakENdyAHcyIPIAVqQRJ3IAFzIQwgEyAHIBNqQQ13IAJzIgdqQRJ3IA1zIgIgCWpBB3cgFnMiASACakEJdyAGcyIGIAFqQQ13IAlzIgkgBmpBEncgAnMhDSAUIBVqQRJ3IARzIgQgCmpBB3cgB3MiAiAEakEJdyALcyILIAJqQQ13IApzIgogC2pBEncgBHMhBCARQQJLIBFBAmshEQ0ACyAAIAQ2AAAgACAPNgAcIAAgBTYAGCAAIAY2ABQgACABNgAQIAAgAzYADCAAIAw2AAggACANNgAEQQAL8AQCA38BfiMAQaACayIDJAAgACAAKAIgQQN2QT9xIgJqQShqIQQCQCACQThPBEAgBEHgkQJBwAAgAmsQChogACAAQShqIAMgA0GAAmoQOSAAQgA3A1ggAEIANwNQIABCADcDSCAAQUBrQgA3AwAgAEIANwM4IABCADcDMCAAQgA3AygMAQsgBEHgkQJBOCACaxAKGgsgACAAKQMgIgVCOIYgBUKA/gODQiiGhCAFQoCA/AeDQhiGIAVCgICA+A+DQgiGhIQgBUIIiEKAgID4D4MgBUIYiEKAgPwHg4QgBUIoiEKA/gODIAVCOIiEhIQ3AGAgACAAQShqIAMgA0GAAmoQOSABIAAoAgAiAkEYdCACQYD+A3FBCHRyIAJBCHZBgP4DcSACQRh2cnI2AAAgASAAKAIEIgJBGHQgAkGA/gNxQQh0ciACQQh2QYD+A3EgAkEYdnJyNgAEIAEgACgCCCICQRh0IAJBgP4DcUEIdHIgAkEIdkGA/gNxIAJBGHZycjYACCABIAAoAgwiAkEYdCACQYD+A3FBCHRyIAJBCHZBgP4DcSACQRh2cnI2AAwgASAAKAIQIgJBGHQgAkGA/gNxQQh0ciACQQh2QYD+A3EgAkEYdnJyNgAQIAEgACgCFCICQRh0IAJBgP4DcUEIdHIgAkEIdkGA/gNxIAJBGHZycjYAFCABIAAoAhgiAkEYdCACQYD+A3FBCHRyIAJBCHZBgP4DcSACQRh2cnI2ABggASAAKAIcIgFBGHQgAUGA/gNxQQh0ciABQQh2QYD+A3EgAUEYdnJyNgAcIANBoAIQCCAAQegAEAggA0GgAmokAAv5AgIDfwJ+IwBBQGoiAyQAAkAgAkHBAGtB/wFxQb8BSwRAQX8hBCAAKQBQUARAIAAoAOACIgVBgQFPBEAgACAAKQBAIgZCgAF8NwBAIAAgACkASCAGQv9+Vq18NwBIIAAgAEHgAGoiBBA8IAAgACgA4AJBgAFrIgU2AOACIAVBgQFPDQMgBCAAQeABaiAFEAoaIAAoAOACIQULIAAgACkAQCIGIAWtfCIHNwBAIAAgACkASCAGIAdWrXw3AEggAC0A5AIEQCAAQn83AFgLIABCfzcAUCAAQeAAaiIEIAVqQQBBgAIgBWsQCRogACAEEDwgAyAAKQAANwMAIAMgACkACDcDCCADIAApABA3AxAgAyAAKQAYNwMYIAMgACkAIDcDICADIAApACg3AyggAyAAKQAwNwMwIAMgACkAODcDOCABIAMgAhAKGiAAQcAAEAggBEGAAhAIQQAhBAsgA0FAayQAIAQPCxALAAtB9AlB6ghBsgJBsggQAQALKQEBfyMAQRBrIgAkACAAQQA6AA9B9JsCIABBD2pBABAAGiAAQRBqJAALKAAgAkKAgICAEFoEQBALAAsgACABIAIgA0EBIARBzJsCKAIAEQoAGgsoACACQoCAgIAQWgRAEAsACyAAIAEgAiADQgEgBEHImwIoAgARDAAaC3QBBX8CQEEBIQIDQCAAIANqIgEgAiABLQAAaiICOgAAIAEgAS0AASACQQh2aiICOgABIAEgAS0AAiACQQh2aiICOgACIAEgAS0AAyACQQh2aiIBOgADIAFBCHYhAiADQQRqIQMgBEEEaiIEQQRHDQALDAALC4IHARR/IwBB8AFrIgQkACAEQgA3A8gBIARCADcDwAEgBEHAAWoiCSABIAIQChogAygAECEGIANBQGsiASgAACEHIAMoAFAhBSADKAAgIQggAygAMCEKIAMoABQhCyADKABEIQwgAygAVCENIAMoACQhDiADKAA0IQ8gAygAGCEQIAMoAEghESADKABYIRIgAygAKCETIAMoADghFCAEKALAASEVIAQoAsQBIRYgBCgCyAEhFyAEIAMoACwgAygAPHEgAygAHCADKABMIAMoAFwgBCgCzAFzc3NzNgLMASAEIBMgFHEgECARIBIgF3Nzc3M2AsgBIAQgDiAPcSALIAwgDSAWc3NzczYCxAEgBCAIIApxIAYgByAFIBVzc3NzNgLAASACIAlqQQBBECACaxAJGiAAIAkgAhAKGiAEKALAASEAIAQoAsQBIQIgBCgCyAEhBiAEKALMASEHIAQgAykCWDcD6AEgBCADKQJQNwPgASAEIAMpAkg3A7gBIAQgASkCADcDsAEgBCADKQJYNwOoASAEIAMpAlA3A6ABIARB0AFqIgUgBEGwAWogBEGgAWoQByADIAQpAtgBNwJYIAMgBCkC0AE3AlAgBCADKQI4NwOYASAEIAMpAjA3A5ABIAQgAykCSDcDiAEgBCABKQIANwOAASAFIARBkAFqIARBgAFqEAcgAyAEKQLYATcCSCABIAQpAtABNwIAIAQgAykCKDcDeCAEIAMpAiA3A3AgBCADKQI4NwNoIAQgAykCMDcDYCAFIARB8ABqIARB4ABqEAcgAyAEKQLYATcCOCADIAQpAtABNwIwIAQgAykCGDcDWCAEIAMpAhA3A1AgBCADKQIoNwNIIAQgAykCIDcDQCAFIARB0ABqIARBQGsQByADIAQpAtgBNwIoIAMgBCkC0AE3AiAgBCADKQIINwM4IAQgAykCADcDMCAEIAMpAhg3AyggBCADKQIQNwMgIAUgBEEwaiAEQSBqEAcgAyAEKQLYATcCGCADIAQpAtABNwIQIAQgBCkD6AE3AxggBCAEKQPgATcDECAEIAMpAgg3AwggBCADKQIANwMAIAUgBEEQaiAEEAcgBCgC0AEhASAEKALUASEFIAQoAtgBIQggAyAHIAQoAtwBczYCDCADIAYgCHM2AgggAyACIAVzNgIEIAMgACABczYCACAEQfABaiQAC6sGARR/IwBB4AFrIgMkACACKAAQIQQgAkFAayIFKAAAIQYgAigAUCEJIAIoACAhCiACKAAwIQsgAigAFCEHIAIoAEQhDCACKABUIQ0gASgABCEOIAIoACQhDyACKAA0IRAgAigAGCEIIAIoAEghESACKABYIRIgASgACCETIAIoACghFCACKAA4IRUgASgAACEWIAAgAigALCACKAA8cSACKAAcIAIoAEwgAigAXCABKAAMc3NzcyIBNgAMIAAgFCAVcSAIIBEgEiATc3NzcyIINgAIIAAgDyAQcSAHIAwgDSAOc3NzcyIHNgAEIAAgCiALcSAEIAYgCSAWc3NzcyIANgAAIAMgAikCWDcD2AEgAyACKQJQNwPQASADIAIpAkg3A7gBIAMgBSkCADcDsAEgAyACKQJYNwOoASADIAIpAlA3A6ABIANBwAFqIgQgA0GwAWogA0GgAWoQByACIAMpAsgBNwJYIAIgAykCwAE3AlAgAyACKQI4NwOYASADIAIpAjA3A5ABIAMgAikCSDcDiAEgAyAFKQIANwOAASAEIANBkAFqIANBgAFqEAcgAiADKQLIATcCSCAFIAMpAsABNwIAIAMgAikCKDcDeCADIAIpAiA3A3AgAyACKQI4NwNoIAMgAikCMDcDYCAEIANB8ABqIANB4ABqEAcgAiADKQLIATcCOCACIAMpAsABNwIwIAMgAikCGDcDWCADIAIpAhA3A1AgAyACKQIoNwNIIAMgAikCIDcDQCAEIANB0ABqIANBQGsQByACIAMpAsgBNwIoIAIgAykCwAE3AiAgAyACKQIINwM4IAMgAikCADcDMCADIAIpAhg3AyggAyACKQIQNwMgIAQgA0EwaiADQSBqEAcgAiADKQLIATcCGCACIAMpAsABNwIQIAMgAykD2AE3AxggAyADKQPQATcDECADIAIpAgg3AwggAyACKQIANwMAIAQgA0EQaiADEAcgAygCwAEhBSADKALEASEEIAMoAsgBIQYgAiADKALMASABczYCDCACIAYgCHM2AgggAiAEIAdzNgIEIAIgACAFczYCACADQeABaiQAC4sJARF/IwBB4AFrIgUkACAEKAA8IANBHXZzIQ4gBCgAOCADQQN0cyEPIAQoADQgAkEddnMhECAEQTBqIgMoAAAgAkEDdHMhESAEQRBqIQIgBEEgaiEGIARBQGshByAEQdAAaiEIA0AgBSAIKQIINwPYASAFIAgpAgA3A9ABIAUgBykCCDcDuAEgBSAHKQIANwOwASAFIAgpAgg3A6gBIAUgCCkCADcDoAEgBUHAAWoiCSAFQbABaiAFQaABahAHIAggBSkCyAE3AgggCCAFKQLAATcCACAFIAMpAgg3A5gBIAUgAykCADcDkAEgBSAHKQIINwOIASAFIAcpAgA3A4ABIAkgBUGQAWogBUGAAWoQByAHIAUpAsgBNwIIIAcgBSkCwAE3AgAgBSAGKQIINwN4IAUgBikCADcDcCAFIAMpAgg3A2ggBSADKQIANwNgIAkgBUHwAGogBUHgAGoQByADIAUpAsgBNwIIIAMgBSkCwAE3AgAgBSACKQIINwNYIAUgAikCADcDUCAFIAYpAgg3A0ggBSAGKQIANwNAIAkgBUHQAGogBUFAaxAHIAYgBSkCyAE3AgggBiAFKQLAATcCACAFIAQpAgg3AzggBSAEKQIANwMwIAUgAikCCDcDKCAFIAIpAgA3AyAgCSAFQTBqIAVBIGoQByACIAUpAsgBNwIIIAIgBSkCwAE3AgAgBSAFKQPYATcDGCAFIAUpA9ABNwMQIAUgBCkCCDcDCCAFIAQpAgA3AwAgCSAFQRBqIAUQByAFKALAASELIAUoAsQBIQwgBSgCyAEhCSAEIA4gBSgCzAFzIg02AgwgBCAJIA9zIgk2AgggBCAMIBBzIgw2AgQgBCALIBFzIgs2AgAgCkEBaiIKQQdHDQALAkACQAJAAkAgAUEQaw4RAAICAgICAgICAgICAgICAgECCyAEKAAQIQEgBCgAMCECIAQoACAhAyAEKABQIQYgBEFAaygAACEHIAQoABQhCCAEKAA0IQogBCgAJCEOIAQoAFQhDyAEKABEIRAgBCgAGCERIAQoADghEiAEKAAoIRMgBCgAWCEUIAQoAEghFSAAIAQoABwgBCgAPCAEKAAsIAQoAFwgBCgATHNzc3MgDXM2AAwgACARIBIgEyAUIBVzc3NzIAlzNgAIIAAgCCAKIA4gDyAQc3NzcyAMczYABCAAIAEgAiADIAYgB3Nzc3MgC3M2AAAMAgsgBCgAICEBIAQoABAhAiAEKAAkIQMgBCgAFCEGIAQoACghByAEKAAYIQggACAEKAAsIAQoABxzIA1zNgAMIAAgByAIcyAJczYACCAAIAMgBnMgDHM2AAQgACABIAJzIAtzNgAAIAQoADAhASAEKABQIQIgBEFAaygAACEDIAQoADQhBiAEKABUIQcgBCgARCEIIAQoADghCiAEKABYIQ0gBCgASCEJIAAgBCgAPCAEKABcIAQoAExzczYAHCAAIAogCSANc3M2ABggACAGIAcgCHNzNgAUIAAgASACIANzczYAEAwBCyAAQQAgARAJGgsgBUHgAWokAAulBgEUfyMAQeABayIDJAAgAigAECEFIAJBQGsiBCgAACEJIAIoAFAhCiACKAAgIQsgAigAMCEMIAEoAAQhBiACKAAUIQ0gAigARCEOIAIoAFQhDyACKAAkIRAgAigANCERIAEoAAghByACKAAYIRIgAigASCETIAIoAFghFCACKAAoIRUgAigAOCEWIAEoAAAhCCAAIAEoAAwiASACKAAsIAIoADxxIAIoABwgAigAXCACKABMc3NzczYADCAAIAcgFSAWcSASIBMgFHNzc3M2AAggACAGIBAgEXEgDSAOIA9zc3NzNgAEIAAgCCALIAxxIAUgCSAKc3NzczYAACADIAIpAlg3A9gBIAMgAikCUDcD0AEgAyACKQJINwO4ASADIAQpAgA3A7ABIAMgAikCWDcDqAEgAyACKQJQNwOgASADQcABaiIAIANBsAFqIANBoAFqEAcgAiADKQLIATcCWCACIAMpAsABNwJQIAMgAikCODcDmAEgAyACKQIwNwOQASADIAIpAkg3A4gBIAMgBCkCADcDgAEgACADQZABaiADQYABahAHIAIgAykCyAE3AkggBCADKQLAATcCACADIAIpAig3A3ggAyACKQIgNwNwIAMgAikCODcDaCADIAIpAjA3A2AgACADQfAAaiADQeAAahAHIAIgAykCyAE3AjggAiADKQLAATcCMCADIAIpAhg3A1ggAyACKQIQNwNQIAMgAikCKDcDSCADIAIpAiA3A0AgACADQdAAaiADQUBrEAcgAiADKQLIATcCKCACIAMpAsABNwIgIAMgAikCCDcDOCADIAIpAgA3AzAgAyACKQIYNwMoIAMgAikCEDcDICAAIANBMGogA0EgahAHIAIgAykCyAE3AhggAiADKQLAATcCECADIAMpA9gBNwMYIAMgAykD0AE3AxAgAyACKQIINwMIIAMgAikCADcDACAAIANBEGogAxAHIAMoAsABIQAgAygCxAEhBCADKALIASEFIAIgASADKALMAXM2AgwgAiAFIAdzNgIIIAIgBCAGczYCBCACIAAgCHM2AgAgA0HgAWokAAulCQENfyMAQaADayICJAAgACgAECEGIAAoABQhByAAKAAYIQggACgAHCEJIAAoAAQhBCAAKAAIIQUgACgADCEKIAAoAAAhCyACIAEpAlg3A5gDIAIgASkCUDcDkAMgAiABKQJINwP4AiACIAFBQGsiACkCADcD8AIgAiABKQJYNwPoAiACIAEpAlA3A+ACIAJBgANqIgMgAkHwAmogAkHgAmoQByABIAIpAogDNwJYIAEgAikCgAM3AlAgAiABKQI4NwPYAiACIAEpAjA3A9ACIAIgASkCSDcDyAIgAiAAKQIANwPAAiADIAJB0AJqIAJBwAJqEAcgASACKQKIAzcCSCAAIAIpAoADNwIAIAIgASkCKDcDuAIgAiABKQIgNwOwAiACIAEpAjg3A6gCIAIgASkCMDcDoAIgAyACQbACaiACQaACahAHIAEgAikCiAM3AjggASACKQKAAzcCMCACIAEpAhg3A5gCIAIgASkCEDcDkAIgAiABKQIoNwOIAiACIAEpAiA3A4ACIAMgAkGQAmogAkGAAmoQByABIAIpAogDNwIoIAEgAikCgAM3AiAgAiABKQIINwP4ASACIAEpAgA3A/ABIAIgASkCGDcD6AEgAiABKQIQNwPgASADIAJB8AFqIAJB4AFqEAcgASACKQKIAzcCGCABIAIpAoADNwIQIAIgAikDmAM3A9gBIAIgAikDkAM3A9ABIAIgASkCCDcDyAEgAiABKQIANwPAASADIAJB0AFqIAJBwAFqEAcgAigCgAMhDCACKAKEAyENIAIoAogDIQ4gASAKIAIoAowDczYCDCABIAUgDnM2AgggASAEIA1zNgIEIAEgCyAMczYCACACIAEpAlg3A5gDIAIgASkCUDcDkAMgAiABKQJINwO4ASACIAApAgA3A7ABIAIgASkCWDcDqAEgAiABKQJQNwOgASADIAJBsAFqIAJBoAFqEAcgASACKQKIAzcCWCABIAIpAoADNwJQIAIgASkCODcDmAEgAiABKQIwNwOQASACIAEpAkg3A4gBIAIgACkCADcDgAEgAyACQZABaiACQYABahAHIAEgAikCiAM3AkggACACKQKAAzcCACACIAEpAig3A3ggAiABKQIgNwNwIAIgASkCODcDaCACIAEpAjA3A2AgAyACQfAAaiACQeAAahAHIAEgAikCiAM3AjggASACKQKAAzcCMCACIAEpAhg3A1ggAiABKQIQNwNQIAIgASkCKDcDSCACIAEpAiA3A0AgAyACQdAAaiACQUBrEAcgASACKQKIAzcCKCABIAIpAoADNwIgIAIgASkCCDcDOCACIAEpAgA3AzAgAiABKQIYNwMoIAIgASkCEDcDICADIAJBMGogAkEgahAHIAEgAikCiAM3AhggASACKQKAAzcCECACIAIpA5gDNwMYIAIgAikDkAM3AxAgAiABKQIINwMIIAIgASkCADcDACADIAJBEGogAhAHIAIoAoADIQAgAigChAMhBCACKAKIAyEFIAEgCSACKAKMA3M2AgwgASAFIAhzNgIIIAEgBCAHczYCBCABIAAgBnM2AgAgAkGgA2okAAvzFAEZfyMAQaAGayIDJAAgASgABCELIAEoAAghDCABKAAMIQ0gASgAECEOIAEoABQhBCABKAAYIQ8gASgAHCEQIAAoAAQhESAAKAAIIRIgACgADCETIAAoABAhFCAAKAAUIRUgACgAGCEWIAAoABwhFyABKAAAIQUgAkFAayIBIAAoAAAiGEGAgoQQczYCACACQpXE3MmFsvq84gA3AjggAkEwaiIAQoCChJCwoIGEDTcCACACQqCixJG0rq2UXTcCKCACQSBqIgZC2/vgqNXN8JdxNwIAIAIgBSAYcyIZNgIAIAIgF0Hz6qLpfXM2AlwgAiAWQaCixJEEczYCWCACIBVB7YS/iX9zNgJUIAJB0ABqIgUgFEHb++CoBXM2AgAgAiATQZDT55MGczYCTCACIBJBlcTcyQVzNgJIIAIgEUGDiqDoAHM2AkQgAiAQIBdzIhA2AhwgAiAPIBZzIg82AhggAiAEIBVzIho2AhQgAkEQaiIEIA4gFHMiDjYCACACIA0gE3MiDTYCDCACIAwgEnMiDDYCCCACIAsgEXMiGzYCBEEAIQsDQCADIAUpAgg3A5gGIAMgBSkCADcDkAYgAyABKQIINwP4BSADIAEpAgA3A/AFIAMgBSkCCDcD6AUgAyAFKQIANwPgBSADQYAGaiIHIANB8AVqIANB4AVqEAcgBSADKQKIBjcCCCAFIAMpAoAGNwIAIAMgACkCCDcD2AUgAyAAKQIANwPQBSADIAEpAgg3A8gFIAMgASkCADcDwAUgByADQdAFaiADQcAFahAHIAEgAykCiAY3AgggASADKQKABjcCACADIAYpAgg3A7gFIAMgBikCADcDsAUgAyAAKQIINwOoBSADIAApAgA3A6AFIAcgA0GwBWogA0GgBWoQByAAIAMpAogGNwIIIAAgAykCgAY3AgAgAyAEKQIINwOYBSADIAQpAgA3A5AFIAMgBikCCDcDiAUgAyAGKQIANwOABSAHIANBkAVqIANBgAVqEAcgBiADKQKIBjcCCCAGIAMpAoAGNwIAIAMgAikCCDcD+AQgAyACKQIANwPwBCADIAQpAgg3A+gEIAMgBCkCADcD4AQgByADQfAEaiADQeAEahAHIAQgAykCiAY3AgggBCADKQKABjcCACADIAMpA5gGNwPYBCADIAMpA5AGNwPQBCADIAIpAgg3A8gEIAMgAikCADcDwAQgByADQdAEaiADQcAEahAHIAMoAoAGIQggAygChAYhCSADKAKIBiEKIAIgAygCjAYgE3M2AgwgAiAKIBJzNgIIIAIgCSARczYCBCACIAggGHM2AgAgAyAFKQIINwOYBiADIAUpAgA3A5AGIAMgASkCCDcDuAQgAyABKQIANwOwBCADIAUpAgg3A6gEIAMgBSkCADcDoAQgByADQbAEaiADQaAEahAHIAUgAykCiAY3AgggBSADKQKABjcCACADIAApAgg3A5gEIAMgACkCADcDkAQgAyABKQIINwOIBCADIAEpAgA3A4AEIAcgA0GQBGogA0GABGoQByABIAMpAogGNwIIIAEgAykCgAY3AgAgAyAGKQIINwP4AyADIAYpAgA3A/ADIAMgACkCCDcD6AMgAyAAKQIANwPgAyAHIANB8ANqIANB4ANqEAcgACADKQKIBjcCCCAAIAMpAoAGNwIAIAMgBCkCCDcD2AMgAyAEKQIANwPQAyADIAYpAgg3A8gDIAMgBikCADcDwAMgByADQdADaiADQcADahAHIAYgAykCiAY3AgggBiADKQKABjcCACADIAIpAgg3A7gDIAMgAikCADcDsAMgAyAEKQIINwOoAyADIAQpAgA3A6ADIAcgA0GwA2ogA0GgA2oQByAEIAMpAogGNwIIIAQgAykCgAY3AgAgAyADKQOYBjcDmAMgAyADKQOQBjcDkAMgAyACKQIINwOIAyADIAIpAgA3A4ADIAcgA0GQA2ogA0GAA2oQByADKAKABiEIIAMoAoQGIQkgAygCiAYhCiACIAMoAowGIBdzNgIMIAIgCiAWczYCCCACIAkgFXM2AgQgAiAIIBRzNgIAIAMgBSkCCDcDmAYgAyAFKQIANwOQBiADIAEpAgg3A/gCIAMgASkCADcD8AIgAyAFKQIINwPoAiADIAUpAgA3A+ACIAcgA0HwAmogA0HgAmoQByAFIAMpAogGNwIIIAUgAykCgAY3AgAgAyAAKQIINwPYAiADIAApAgA3A9ACIAMgASkCCDcDyAIgAyABKQIANwPAAiAHIANB0AJqIANBwAJqEAcgASADKQKIBjcCCCABIAMpAoAGNwIAIAMgBikCCDcDuAIgAyAGKQIANwOwAiADIAApAgg3A6gCIAMgACkCADcDoAIgByADQbACaiADQaACahAHIAAgAykCiAY3AgggACADKQKABjcCACADIAQpAgg3A5gCIAMgBCkCADcDkAIgAyAGKQIINwOIAiADIAYpAgA3A4ACIAcgA0GQAmogA0GAAmoQByAGIAMpAogGNwIIIAYgAykCgAY3AgAgAyACKQIINwP4ASADIAIpAgA3A/ABIAMgBCkCCDcD6AEgAyAEKQIANwPgASAHIANB8AFqIANB4AFqEAcgBCADKQKIBjcCCCAEIAMpAoAGNwIAIAMgAykDmAY3A9gBIAMgAykDkAY3A9ABIAMgAikCCDcDyAEgAyACKQIANwPAASAHIANB0AFqIANBwAFqEAcgAygCgAYhCCADKAKEBiEJIAMoAogGIQogAiADKAKMBiANczYCDCACIAogDHM2AgggAiAJIBtzNgIEIAIgCCAZczYCACADIAUpAgg3A5gGIAMgBSkCADcDkAYgAyABKQIINwO4ASADIAEpAgA3A7ABIAMgBSkCCDcDqAEgAyAFKQIANwOgASAHIANBsAFqIANBoAFqEAcgBSADKQKIBjcCCCAFIAMpAoAGNwIAIAMgACkCCDcDmAEgAyAAKQIANwOQASADIAEpAgg3A4gBIAMgASkCADcDgAEgByADQZABaiADQYABahAHIAEgAykCiAY3AgggASADKQKABjcCACADIAYpAgg3A3ggAyAGKQIANwNwIAMgACkCCDcDaCADIAApAgA3A2AgByADQfAAaiADQeAAahAHIAAgAykCiAY3AgggACADKQKABjcCACADIAQpAgg3A1ggAyAEKQIANwNQIAMgBikCCDcDSCADIAYpAgA3A0AgByADQdAAaiADQUBrEAcgBiADKQKIBjcCCCAGIAMpAoAGNwIAIAMgAikCCDcDOCADIAIpAgA3AzAgAyAEKQIINwMoIAMgBCkCADcDICAHIANBMGogA0EgahAHIAQgAykCiAY3AgggBCADKQKABjcCACADIAMpA5gGNwMYIAMgAykDkAY3AxAgAyACKQIINwMIIAMgAikCADcDACAHIANBEGogAxAHIAMoAoAGIQggAygChAYhCSADKAKIBiEKIAIgAygCjAYgEHM2AgwgAiAKIA9zNgIIIAIgCSAaczYCBCACIAggDnM2AgAgC0EBaiILQQRHDQALIANBoAZqJAALCAAgAEEQEBgLBABBXwuYCgEefyMAQcACayIEJAAgBEIANwOYAiAEQgA3A5ACIARCADcDiAIgBEIANwOAAiAEQYACaiIFIAEgAhAKGiADKAAQIQsgAygAMCEMIAMoABQhDSADKAA0IQ4gAygAGCEPIAMoADghECADKAAcIREgAygAPCESIAMoACQhASADKABUIRMgAygAdCEUIAMoAGQhBiADKAAsIQcgAygAXCEVIAMoAHwhFiADKABsIQggAygAICEJIAMoAFAhFyADKABwIRggAygAYCEKIAQoApACIRkgBCgCgAIhGiAEKAKEAiEbIAQoAogCIRwgBCgCjAIhHSAEKAKUAiEeIAQoApwCIR8gBCADKAAoIiAgAygAaCIhIAMoAHhxIAMoAFggBCgCmAJzc3M2ApgCIAQgCSAKIBhxIBcgGXNzczYCkAIgBCAHIAggFnEgFSAfc3NzNgKcAiAEIAEgBiAUcSATIB5zc3M2ApQCIAQgCCAHIBJxIBEgHXNzczYCjAIgBCAhIBAgIHEgDyAcc3NzNgKIAiAEIAYgASAOcSANIBtzc3M2AoQCIAQgCiAJIAxxIAsgGnNzczYCgAIgAiAFakEAQSAgAmsQCRogACAFIAIQChogBCgCmAIhASAEKAKQAiECIAQoApwCIQYgBCgClAIhByAEKAKAAiEIIAQoAoQCIQkgBCgCiAIhCiAEKAKMAiELIAQgAykCeDcDuAIgBCADKQJwNwOwAiAEIAMpAmg3A/gBIAQgAykCYDcD8AEgBCADKQJ4NwPoASAEIAMpAnA3A+ABIARBoAJqIgUgBEHwAWogBEHgAWoQByADIAQpAqgCNwJ4IAMgBCkCoAI3AnAgBCADKQJYNwPYASAEIAMpAlA3A9ABIAQgAykCaDcDyAEgBCADKQJgNwPAASAFIARB0AFqIARBwAFqEAcgAyAEKQKoAjcCaCADIAQpAqACNwJgIAQgAykCSDcDuAEgBCADQUBrIgApAgA3A7ABIAQgAykCWDcDqAEgBCADKQJQNwOgASAFIARBsAFqIARBoAFqEAcgAyAEKQKoAjcCWCADIAQpAqACNwJQIAQgAykCODcDmAEgBCADKQIwNwOQASAEIAMpAkg3A4gBIAQgACkCADcDgAEgBSAEQZABaiAEQYABahAHIAMgBCkCqAI3AkggACAEKQKgAjcCACAEIAMpAig3A3ggBCADKQIgNwNwIAQgAykCODcDaCAEIAMpAjA3A2AgBSAEQfAAaiAEQeAAahAHIAMgBCkCqAI3AjggAyAEKQKgAjcCMCAEIAMpAhg3A1ggBCADKQIQNwNQIAQgAykCKDcDSCAEIAMpAiA3A0AgBSAEQdAAaiAEQUBrEAcgAyAEKQKoAjcCKCADIAQpAqACNwIgIAQgAykCCDcDOCAEIAMpAgA3AzAgBCADKQIYNwMoIAQgAykCEDcDICAFIARBMGogBEEgahAHIAMgBCkCqAI3AhggAyAEKQKgAjcCECAEIAQpA7gCNwMYIAQgBCkDsAI3AxAgBCADKQIINwMIIAQgAykCADcDACAFIARBEGogBBAHIAMgBCkCqAI3AgggAyAEKQKgAjcCACADIAsgAygADHM2AgwgAyAKIAMoAAhzNgIIIAMgCSADKAAEczYCBCADIAggAygAAHM2AgAgACACIAAoAABzNgIAIAMgByADKABEczYCRCADIAEgAygASHM2AkggAyAGIAMoAExzNgJMIARBwAJqJAALkQkBHn8jAEGgAmsiAyQAIAIoABAhDiACKAAwIQ8gAigAFCEQIAEoAAQhESACKAA0IRIgAigAGCETIAEoAAghFCACKAA4IRUgAigAHCEIIAEoAAwhFiACKAA8IRcgAigAICEFIAIoAFAhCSABKAAQIRggAigAcCEZIAIoAGAhBCACKAAkIQYgAigAVCEKIAEoABQhGiACKAB0IRsgAigAZCEMIAIoACghByACKABYIQsgASgAGCEcIAIoAHghHSACKABoIQ0gASgAACEeIAAgAigALCIfIAIoAGwiICACKAB8cSACKABcIAEoABxzc3MiATYAHCAAIAcgDSAdcSALIBxzc3MiCzYAGCAAIAYgDCAbcSAKIBpzc3MiCjYAFCAAIAUgBCAZcSAJIBhzc3MiCTYAECAAICAgFyAfcSAIIBZzc3MiCDYADCAAIA0gByAVcSATIBRzc3MiBzYACCAAIAwgBiAScSAQIBFzc3MiBjYABCAAIAQgBSAPcSAOIB5zc3MiBTYAACADIAIpAng3A5gCIAMgAikCcDcDkAIgAyACKQJoNwP4ASADIAIpAmA3A/ABIAMgAikCeDcD6AEgAyACKQJwNwPgASADQYACaiIEIANB8AFqIANB4AFqEAcgAiADKQKIAjcCeCACIAMpAoACNwJwIAMgAikCWDcD2AEgAyACKQJQNwPQASADIAIpAmg3A8gBIAMgAikCYDcDwAEgBCADQdABaiADQcABahAHIAIgAykCiAI3AmggAiADKQKAAjcCYCADIAIpAkg3A7gBIAMgAkFAayIAKQIANwOwASADIAIpAlg3A6gBIAMgAikCUDcDoAEgBCADQbABaiADQaABahAHIAIgAykCiAI3AlggAiADKQKAAjcCUCADIAIpAjg3A5gBIAMgAikCMDcDkAEgAyACKQJINwOIASADIAApAgA3A4ABIAQgA0GQAWogA0GAAWoQByACIAMpAogCNwJIIAAgAykCgAI3AgAgAyACKQIoNwN4IAMgAikCIDcDcCADIAIpAjg3A2ggAyACKQIwNwNgIAQgA0HwAGogA0HgAGoQByACIAMpAogCNwI4IAIgAykCgAI3AjAgAyACKQIYNwNYIAMgAikCEDcDUCADIAIpAig3A0ggAyACKQIgNwNAIAQgA0HQAGogA0FAaxAHIAIgAykCiAI3AiggAiADKQKAAjcCICADIAIpAgg3AzggAyACKQIANwMwIAMgAikCGDcDKCADIAIpAhA3AyAgBCADQTBqIANBIGoQByACIAMpAogCNwIYIAIgAykCgAI3AhAgAyADKQOYAjcDGCADIAMpA5ACNwMQIAMgAikCCDcDCCADIAIpAgA3AwAgBCADQRBqIAMQByACIAMpAogCNwIIIAIgAykCgAI3AgAgAiACKAAMIAhzNgIMIAIgAigACCAHczYCCCACIAIoAAQgBnM2AgQgAiACKAAAIAVzNgIAIAAgACgAACAJczYCACACIAIoAEQgCnM2AkQgAiACKABIIAtzNgJIIAIgAigATCABczYCTCADQaACaiQAC9ILARV/IwBBoAJrIgUkACAEKAAsIANBHXZzIQwgBCgAKCADQQN0cyENIAQoACQgAkEddnMhDiAEQSBqIgMoAAAgAkEDdHMhDyAEQRBqIQYgBEEwaiEHIARBQGshAiAEQdAAaiEIIARB4ABqIQkgBEHwAGohCgNAIAUgCikCCDcDmAIgBSAKKQIANwOQAiAFIAkpAgg3A/gBIAUgCSkCADcD8AEgBSAKKQIINwPoASAFIAopAgA3A+ABIAVBgAJqIgsgBUHwAWogBUHgAWoQByAKIAUpAogCNwIIIAogBSkCgAI3AgAgBSAIKQIINwPYASAFIAgpAgA3A9ABIAUgCSkCCDcDyAEgBSAJKQIANwPAASALIAVB0AFqIAVBwAFqEAcgCSAFKQKIAjcCCCAJIAUpAoACNwIAIAUgAikCCDcDuAEgBSACKQIANwOwASAFIAgpAgg3A6gBIAUgCCkCADcDoAEgCyAFQbABaiAFQaABahAHIAggBSkCiAI3AgggCCAFKQKAAjcCACAFIAcpAgg3A5gBIAUgBykCADcDkAEgBSACKQIINwOIASAFIAIpAgA3A4ABIAsgBUGQAWogBUGAAWoQByACIAUpAogCNwIIIAIgBSkCgAI3AgAgBSADKQIINwN4IAUgAykCADcDcCAFIAcpAgg3A2ggBSAHKQIANwNgIAsgBUHwAGogBUHgAGoQByAHIAUpAogCNwIIIAcgBSkCgAI3AgAgBSAGKQIINwNYIAUgBikCADcDUCAFIAMpAgg3A0ggBSADKQIANwNAIAsgBUHQAGogBUFAaxAHIAMgBSkCiAI3AgggAyAFKQKAAjcCACAFIAQpAgg3AzggBSAEKQIANwMwIAUgBikCCDcDKCAFIAYpAgA3AyAgCyAFQTBqIAVBIGoQByAGIAUpAogCNwIIIAYgBSkCgAI3AgAgBSAFKQOYAjcDGCAFIAUpA5ACNwMQIAUgBCkCCDcDCCAFIAQpAgA3AwAgCyAFQRBqIAUQByAEIAUpAogCNwIIIAQgBSkCgAI3AgAgBCAEKAAMIAxzIgs2AgwgBCAEKAAIIA1zIhE2AgggBCAEKAAEIA5zIhI2AgQgBCAEKAAAIA9zIhM2AgAgAiACKAAAIA9zIhQ2AgAgBCAEKABEIA5zIhU2AkQgBCAEKABIIA1zIhY2AkggBCAEKABMIAxzIhc2AkwgEEEBaiIQQQdHDQALAkACQAJAAkAgAUEQaw4RAAICAgICAgICAgICAgICAgECCyAEKAAQIQEgBCgAMCECIAQoACAhAyAEKABgIQYgBCgAUCEHIAQoABQhCCAEKAA0IQkgBCgAJCEKIAQoAGQhDCAEKABUIQ0gBCgAGCEOIAQoADghDyAEKAAoIRAgBCgAaCEYIAQoAFghGSAAIAQoABwgBCgAPCAEKAAsIAQoAFwgBCgAbHNzc3MgF3MgC3M2AAwgACAOIA8gECAYIBlzc3NzIBZzIBFzNgAIIAAgCCAJIAogDCANc3NzcyAVcyASczYABCAAIAEgAiADIAYgB3Nzc3MgFHMgE3M2AAAMAgsgBCgAECEBIAQoADAhAiAEKAAgIQMgBCgAFCEGIAQoADQhByAEKAAkIQggBCgAGCEJIAQoADghCiAEKAAoIQwgACAEKAAcIAQoADwgBCgALHNzIAtzNgAMIAAgCSAKIAxzcyARczYACCAAIAYgByAIc3MgEnM2AAQgACABIAIgA3NzIBNzNgAAIAQoAFAhASAEQUBrKAAAIQIgBCgAcCEDIAQoAGAhBiAEKABUIQcgBCgARCEIIAQoAHQhCSAEKABkIQogBCgAWCEMIAQoAEghDSAEKAB4IQ4gBCgAaCEPIAAgBCgAXCAEKABMIAQoAHwgBCgAbHNzczYAHCAAIAwgDSAOIA9zc3M2ABggACAHIAggCSAKc3NzNgAUIAAgASACIAMgBnNzczYAEAwBCyAAQQAgARAJGgsgBUGgAmokAAuDCQEefyMAQaACayIDJAAgAigAECERIAIoADAhEiABKAAEIQUgAigAFCETIAIoADQhFCABKAAIIQYgAigAGCEVIAIoADghFiABKAAMIQcgAigAHCEXIAIoADwhGCACKAAgIQQgASgAECEIIAIoAFAhGSACKABwIRogAigAYCEJIAIoACQhCiABKAAUIQsgAigAVCEbIAIoAHQhHCACKABkIQwgAigAKCENIAEoABghDiACKABYIR0gAigAeCEeIAIoAGghDyABKAAAIRAgACACKAAsIh8gASgAHCIBIAIoAFwgAigAbCIgIAIoAHxxc3NzNgAcIAAgDSAOIB0gDyAecXNzczYAGCAAIAogCyAbIAwgHHFzc3M2ABQgACAEIAggGSAJIBpxc3NzNgAQIAAgICAHIBcgGCAfcXNzczYADCAAIA8gBiAVIA0gFnFzc3M2AAggACAMIAUgEyAKIBRxc3NzNgAEIAAgCSAQIBEgBCAScXNzczYAACADIAIpAng3A5gCIAMgAikCcDcDkAIgAyACKQJoNwP4ASADIAIpAmA3A/ABIAMgAikCeDcD6AEgAyACKQJwNwPgASADQYACaiIEIANB8AFqIANB4AFqEAcgAiADKQKIAjcCeCACIAMpAoACNwJwIAMgAikCWDcD2AEgAyACKQJQNwPQASADIAIpAmg3A8gBIAMgAikCYDcDwAEgBCADQdABaiADQcABahAHIAIgAykCiAI3AmggAiADKQKAAjcCYCADIAIpAkg3A7gBIAMgAkFAayIAKQIANwOwASADIAIpAlg3A6gBIAMgAikCUDcDoAEgBCADQbABaiADQaABahAHIAIgAykCiAI3AlggAiADKQKAAjcCUCADIAIpAjg3A5gBIAMgAikCMDcDkAEgAyACKQJINwOIASADIAApAgA3A4ABIAQgA0GQAWogA0GAAWoQByACIAMpAogCNwJIIAAgAykCgAI3AgAgAyACKQIoNwN4IAMgAikCIDcDcCADIAIpAjg3A2ggAyACKQIwNwNgIAQgA0HwAGogA0HgAGoQByACIAMpAogCNwI4IAIgAykCgAI3AjAgAyACKQIYNwNYIAMgAikCEDcDUCADIAIpAig3A0ggAyACKQIgNwNAIAQgA0HQAGogA0FAaxAHIAIgAykCiAI3AiggAiADKQKAAjcCICADIAIpAgg3AzggAyACKQIANwMwIAMgAikCGDcDKCADIAIpAhA3AyAgBCADQTBqIANBIGoQByACIAMpAogCNwIYIAIgAykCgAI3AhAgAyADKQOYAjcDGCADIAMpA5ACNwMQIAMgAikCCDcDCCADIAIpAgA3AwAgBCADQRBqIAMQByACIAMpAogCNwIIIAIgAykCgAI3AgAgAiAHIAIoAAxzNgIMIAIgBiACKAAIczYCCCACIAUgAigABHM2AgQgAiAQIAIoAABzNgIAIAAgCCAAKAAAczYCACACIAsgAigARHM2AkQgAiAOIAIoAEhzNgJIIAIgASACKABMczYCTCADQaACaiQAC5kNARJ/IwBBoARrIgIkACAAKAA8IQQgACgAOCEFIAAoADQhBiAAKAAwIQcgACgAICEIIAAoACQhCSAAKAAoIQogACgALCELIAAoABwhDCAAKAAYIQ0gACgAFCEOIAAoABAhDyAAKAAEIRAgACgACCERIAAoAAwhEiAAKAAAIRMgAiABKQJ4NwOYBCACIAEpAnA3A5AEIAIgASkCaDcD+AMgAiABKQJgNwPwAyACIAEpAng3A+gDIAIgASkCcDcD4AMgAkGABGoiAyACQfADaiACQeADahAHIAEgAikCiAQ3AnggASACKQKABDcCcCACIAEpAlg3A9gDIAIgASkCUDcD0AMgAiABKQJoNwPIAyACIAEpAmA3A8ADIAMgAkHQA2ogAkHAA2oQByABIAIpAogENwJoIAEgAikCgAQ3AmAgAiABKQJINwO4AyACIAFBQGsiACkCADcDsAMgAiABKQJYNwOoAyACIAEpAlA3A6ADIAMgAkGwA2ogAkGgA2oQByABIAIpAogENwJYIAEgAikCgAQ3AlAgAiABKQI4NwOYAyACIAEpAjA3A5ADIAIgASkCSDcDiAMgAiAAKQIANwOAAyADIAJBkANqIAJBgANqEAcgASACKQKIBDcCSCAAIAIpAoAENwIAIAIgASkCKDcD+AIgAiABKQIgNwPwAiACIAEpAjg3A+gCIAIgASkCMDcD4AIgAyACQfACaiACQeACahAHIAEgAikCiAQ3AjggASACKQKABDcCMCACIAEpAhg3A9gCIAIgASkCEDcD0AIgAiABKQIoNwPIAiACIAEpAiA3A8ACIAMgAkHQAmogAkHAAmoQByABIAIpAogENwIoIAEgAikCgAQ3AiAgAiABKQIINwO4AiACIAEpAgA3A7ACIAIgASkCGDcDqAIgAiABKQIQNwOgAiADIAJBsAJqIAJBoAJqEAcgASACKQKIBDcCGCABIAIpAoAENwIQIAIgAikDmAQ3A5gCIAIgAikDkAQ3A5ACIAIgASkCCDcDiAIgAiABKQIANwOAAiADIAJBkAJqIAJBgAJqEAcgASACKQKIBDcCCCABIAIpAoAENwIAIAEgEiABKAAMczYCDCABIBEgASgACHM2AgggASAQIAEoAARzNgIEIAEgEyABKAAAczYCACAAIA8gACgAAHM2AgAgASAOIAEoAERzNgJEIAEgDSABKABIczYCSCABIAwgASgATHM2AkwgAiABKQJ4NwOYBCACIAEpAnA3A5AEIAIgASkCaDcD+AEgAiABKQJgNwPwASACIAEpAng3A+gBIAIgASkCcDcD4AEgAyACQfABaiACQeABahAHIAEgAikCiAQ3AnggASACKQKABDcCcCACIAEpAlg3A9gBIAIgASkCUDcD0AEgAiABKQJoNwPIASACIAEpAmA3A8ABIAMgAkHQAWogAkHAAWoQByABIAIpAogENwJoIAEgAikCgAQ3AmAgAiABKQJINwO4ASACIAApAgA3A7ABIAIgASkCWDcDqAEgAiABKQJQNwOgASADIAJBsAFqIAJBoAFqEAcgASACKQKIBDcCWCABIAIpAoAENwJQIAIgASkCODcDmAEgAiABKQIwNwOQASACIAEpAkg3A4gBIAIgACkCADcDgAEgAyACQZABaiACQYABahAHIAEgAikCiAQ3AkggACACKQKABDcCACACIAEpAig3A3ggAiABKQIgNwNwIAIgASkCODcDaCACIAEpAjA3A2AgAyACQfAAaiACQeAAahAHIAEgAikCiAQ3AjggASACKQKABDcCMCACIAEpAhg3A1ggAiABKQIQNwNQIAIgASkCKDcDSCACIAEpAiA3A0AgAyACQdAAaiACQUBrEAcgASACKQKIBDcCKCABIAIpAoAENwIgIAIgASkCCDcDOCACIAEpAgA3AzAgAiABKQIYNwMoIAIgASkCEDcDICADIAJBMGogAkEgahAHIAEgAikCiAQ3AhggASACKQKABDcCECACIAIpA5gENwMYIAIgAikDkAQ3AxAgAiABKQIINwMIIAIgASkCADcDACADIAJBEGogAhAHIAEgAikCiAQ3AgggASACKQKABDcCACABIAsgASgADHM2AgwgASAKIAEoAAhzNgIIIAEgCSABKAAEczYCBCABIAggASgAAHM2AgAgACAHIAAoAABzNgIAIAEgBiABKABEczYCRCABIAUgASgASHM2AkggASAEIAEoAExzNgJMIAJBoARqJAALvQkBEX8jAEGgAmsiAyQAIAEoAAQhECABKAAIIREgASgADCESIAAoAAQhCyAAKAAIIQwgACgADCENIAEoAAAhEyACQfAAaiIBIAAoAAAiDkGAgoQQcyIANgIAIAJB4ABqIgYgDkHb++CoBXM2AgAgAkHQAGoiByAANgIAIAJBQGsiACAOIBNzIgU2AgAgAkKgosSRtK6tlF03AjggAkEwaiIIQtv74KjVzfCXcTcCACACQpXE3MmFsvq84gA3AiggAkEgaiIJQoCChJCwoIGEDTcCACACQqCixJG0rq2UXTcCGCACQRBqIgpC2/vgqNXN8JdxNwIAIAIgBTYCACACIA1BkNPnkwZzIgU2AnwgAiAMQZXE3MkFcyIENgJ4IAIgC0GDiqDoAHMiDzYCdCACIA1B8+qi6X1zNgJsIAIgDEGgosSRBHM2AmggAiALQe2Ev4l/czYCZCACIAU2AlwgAiAENgJYIAIgDzYCVCACIA0gEnMiBTYCTCACIAwgEXMiBDYCSCACIAsgEHMiDzYCRCACIAU2AgwgAiAENgIIIAIgDzYCBEEAIQUDQCADIAEpAgg3A5gCIAMgASkCADcDkAIgAyAGKQIINwP4ASADIAYpAgA3A/ABIAMgASkCCDcD6AEgAyABKQIANwPgASADQYACaiIEIANB8AFqIANB4AFqEAcgASADKQKIAjcCCCABIAMpAoACNwIAIAMgBykCCDcD2AEgAyAHKQIANwPQASADIAYpAgg3A8gBIAMgBikCADcDwAEgBCADQdABaiADQcABahAHIAYgAykCiAI3AgggBiADKQKAAjcCACADIAApAgg3A7gBIAMgACkCADcDsAEgAyAHKQIINwOoASADIAcpAgA3A6ABIAQgA0GwAWogA0GgAWoQByAHIAMpAogCNwIIIAcgAykCgAI3AgAgAyAIKQIINwOYASADIAgpAgA3A5ABIAMgACkCCDcDiAEgAyAAKQIANwOAASAEIANBkAFqIANBgAFqEAcgACADKQKIAjcCCCAAIAMpAoACNwIAIAMgCSkCCDcDeCADIAkpAgA3A3AgAyAIKQIINwNoIAMgCCkCADcDYCAEIANB8ABqIANB4ABqEAcgCCADKQKIAjcCCCAIIAMpAoACNwIAIAMgCikCCDcDWCADIAopAgA3A1AgAyAJKQIINwNIIAMgCSkCADcDQCAEIANB0ABqIANBQGsQByAJIAMpAogCNwIIIAkgAykCgAI3AgAgAyACKQIINwM4IAMgAikCADcDMCADIAopAgg3AyggAyAKKQIANwMgIAQgA0EwaiADQSBqEAcgCiADKQKIAjcCCCAKIAMpAoACNwIAIAMgAykDmAI3AxggAyADKQOQAjcDECADIAIpAgg3AwggAyACKQIANwMAIAQgA0EQaiADEAcgAiADKQKIAjcCCCACIAMpAoACNwIAIAIgAigADCASczYCDCACIAIoAAggEXM2AgggAiACKAAEIBBzNgIEIAIgAigAACATczYCACAAIAAoAAAgDnM2AgAgAiACKABEIAtzNgJEIAIgAigASCAMczYCSCACIAIoAEwgDXM2AkwgBUEBaiIFQQpHDQALIANBoAJqJAALzwQBCX8jAEGAAWsiAyQAIABBATYCACAAQgA3AgQgAEIANwIMIABCADcCFCAAQgA3AhwgAEKAgICAEDcCJCAAQSxqQQBBzAAQCRogACABQcAHbEGAFWoiASACIAJBH3UgAnFBAXRrIgRBAXNB/wFxQQFrQR92EBUgACABQfgAaiAEQQJzQf8BcUEBa0EfdhAVIAAgAUHwAWogBEEDc0H/AXFBAWtBH3YQFSAAIAFB6AJqIARBBHNB/wFxQQFrQR92EBUgACABQeADaiAEQQVzQf8BcUEBa0EfdhAVIAAgAUHYBGogBEEGc0H/AXFBAWtBH3YQFSAAIAFB0AVqIARBB3NB/wFxQQFrQR92EBUgACABQcgGaiAEQQhzQf8BcUEBa0EfdhAVIAMgACkCSDcDKCADIABBQGspAgA3AyAgAyAAKQI4NwMYIAMgACkCMDcDECADIAApAig3AwggAyAAKQIINwM4IANBQGsgACkCEDcDACADIAApAhg3A0ggAyAAKQIgNwNQIAMgACkCADcDMCAAKAJUIQEgACgCWCEEIAAoAlwhBSAAKAJgIQYgACgCZCEHIAAoAmghCCAAKAJsIQkgACgCcCEKIAAoAlAhCyADQQAgACgCdGs2AnwgA0EAIAprNgJ4IANBACAJazYCdCADQQAgCGs2AnAgA0EAIAdrNgJsIANBACAGazYCaCADQQAgBWs2AmQgA0EAIARrNgJgIANBACABazYCXCADQQAgC2s2AlggACADQQhqIAJBgAFxQQd2EBUgA0GAAWokAAvwCQEdfyABKAIEIQQgASgCLCEDIAEoAgghBSABKAIwIQYgASgCDCEHIAEoAjQhCCABKAIQIQkgASgCOCEKIAEoAhQhCyABKAI8IQwgASgCGCENIAFBQGsiDigCACEPIAEoAhwhECABKAJEIREgASgCICESIAEoAkghEyABKAIkIRQgASgCTCEVIAAgASgCACABKAIoajYCACAAIBQgFWo2AiQgACASIBNqNgIgIAAgECARajYCHCAAIA0gD2o2AhggACALIAxqNgIUIAAgCSAKajYCECAAIAcgCGo2AgwgACAFIAZqNgIIIAAgAyAEajYCBCABKAIEIQMgASgCLCEFIAEoAgghBiABKAIwIQcgASgCDCEIIAEoAjQhCSABKAIQIQogASgCOCELIAEoAhQhDCABKAI8IQ0gASgCGCEPIA4oAgAhDiABKAIcIQQgASgCRCEQIAEoAiAhESABKAJIIRIgASgCACETIAEoAighFCAAIAEoAkwgASgCJGs2AkwgACASIBFrNgJIIAAgECAEazYCRCAAQUBrIgQgDiAPazYCACAAIA0gDGs2AjwgACALIAprNgI4IAAgCSAIazYCNCAAIAcgBms2AjAgACAFIANrNgIsIAAgFCATazYCKCAAQdAAaiAAIAJBKGoQBiAAQShqIgMgAyACEAYgAEH4AGogAkH4AGogAUH4AGoQBiAAIAFB0ABqIAJB0ABqEAYgACgCBCEUIAAoAgghFSAAKAIMIRYgACgCECEXIAAoAhQhGCAAKAIYIRkgACgCHCEaIAAoAiAhGyAAKAIkIRwgACgCLCEBIAAoAlQhAiAAKAIwIQMgACgCWCEFIAAoAjQhBiAAKAJcIQcgACgCOCEIIAAoAmAhCSAAKAI8IQogACgCZCELIAQoAgAhDCAAKAJoIQ0gACgCRCEOIAAoAmwhDyAAKAJIIRAgACgCcCERIAAoAgAhHSAAKAIoIRIgACgCUCETIAAgACgCTCIeIAAoAnQiH2o2AkwgACAQIBFqNgJIIAAgDiAPajYCRCAEIAwgDWo2AgAgACAKIAtqNgI8IAAgCCAJajYCOCAAIAYgB2o2AjQgACADIAVqNgIwIAAgASACajYCLCAAIBIgE2o2AiggACAfIB5rNgIkIAAgESAQazYCICAAIA8gDms2AhwgACANIAxrNgIYIAAgCyAKazYCFCAAIAkgCGs2AhAgACAHIAZrNgIMIAAgBSADazYCCCAAIAIgAWs2AgQgACATIBJrNgIAIAAgACgCnAEiASAcQQF0IgJqNgKcASAAIAAoApgBIgQgG0EBdCIDajYCmAEgACAAKAKUASIFIBpBAXQiBmo2ApQBIAAgACgCkAEiByAZQQF0IghqNgKQASAAIAAoAowBIgkgGEEBdCIKajYCjAEgACAAKAKIASILIBdBAXQiDGo2AogBIAAgACgChAEiDSAWQQF0Ig5qNgKEASAAIAAoAoABIg8gFUEBdCIQajYCgAEgACAAKAJ8IhEgFEEBdCISajYCfCAAIAAoAngiEyAdQQF0IhRqNgJ4IAAgAyAEazYCcCAAIAYgBWs2AmwgACAIIAdrNgJoIAAgCiAJazYCZCAAIAwgC2s2AmAgACAOIA1rNgJcIAAgECAPazYCWCAAIBIgEWs2AlQgACAUIBNrNgJQIAAgAiABazYCdAutDgEXfyMAQcACayIDJAAgAEEoaiIJIAEQYCAAQgA3AlQgAEEBNgJQIABCADcCXCAAQgA3AmQgAEIANwJsIABBADYCdCADQfABaiIIIAkQBSADQcABaiIGIAhBsAoQBkF/IQogAyADKALwAUEBayILNgLwASADIAMoAsABQQFqNgLAASADKAL0ASEMIAMoAvgBIQ0gAygC/AEhDiADKAKAAiEPIAMoAoQCIRAgAygCiAIhESADKAKMAiESIAMoApACIRMgAygClAIhFCADQZABaiIHIAYQBSAHIAcgBhAGIAAgBxAFIAAgACAGEAYgACAAIAgQBiMAQZABayIEJAAgBEHgAGoiBSAAEAUgBEEwaiICIAUQBSACIAIQBSACIAAgAhAGIAUgBSACEAYgBSAFEAUgBSACIAUQBiACIAUQBSACIAIQBSACIAIQBSACIAIQBSACIAIQBSAFIAIgBRAGIAIgBRAFIAIgAhAFIAIgAhAFIAIgAhAFIAIgAhAFIAIgAhAFIAIgAhAFIAIgAhAFIAIgAhAFIAIgAhAFIAIgAiAFEAYgBCACEAUgBCAEEAUgBCAEEAUgBCAEEAUgBCAEEAUgBCAEEAUgBCAEEAUgBCAEEAUgBCAEEAUgBCAEEAUgBCAEEAUgBCAEEAUgBCAEEAUgBCAEEAUgBCAEEAUgBCAEEAUgBCAEEAUgBCAEEAUgBCAEEAUgBCAEEAUgAiAEIAIQBiACIAIQBSACIAIQBSACIAIQBSACIAIQBSACIAIQBSACIAIQBSACIAIQBSACIAIQBSACIAIQBSACIAIQBSAFIAIgBRAGIAIgBRAFIAIgAhAFIAIgAhAFIAIgAhAFIAIgAhAFIAIgAhAFIAIgAhAFIAIgAhAFIAIgAhAFIAIgAhAFIAIgAhAFIAIgAhAFIAIgAhAFIAIgAhAFIAIgAhAFIAIgAhAFIAIgAhAFIAIgAhAFIAIgAhAFIAIgAhAFIAIgAhAFIAIgAhAFIAIgAhAFIAIgAhAFIAIgAhAFIAIgAhAFIAIgAhAFIAIgAhAFIAIgAhAFIAIgAhAFIAIgAhAFIAIgAhAFIAIgAhAFIAIgAhAFIAIgAhAFIAIgAhAFIAIgAhAFIAIgAhAFIAIgAhAFIAIgAhAFIAIgAhAFIAIgAhAFIAIgAhAFIAIgAhAFIAIgAhAFIAIgAhAFIAIgAhAFIAIgAhAFIAIgAhAFIAIgAhAFIAIgAiAFEAYgBCACEAVBASECA0AgBCAEEAUgAkEBaiICQeQARw0ACyAEQTBqIgIgBCACEAYgAiACEAUgAiACEAUgAiACEAUgAiACEAUgAiACEAUgAiACEAUgAiACEAUgAiACEAUgAiACEAUgAiACEAUgAiACEAUgAiACEAUgAiACEAUgAiACEAUgAiACEAUgAiACEAUgAiACEAUgAiACEAUgAiACEAUgAiACEAUgAiACEAUgAiACEAUgAiACEAUgAiACEAUgAiACEAUgAiACEAUgAiACEAUgAiACEAUgAiACEAUgAiACEAUgAiACEAUgAiACEAUgAiACEAUgAiACEAUgAiACEAUgAiACEAUgAiACEAUgAiACEAUgAiACEAUgAiACEAUgAiACEAUgAiACEAUgAiACEAUgAiACEAUgAiACEAUgAiACEAUgAiACEAUgAiACEAUgAiACEAUgAiACEAUgBEHgAGoiBSACIAUQBiAFIAUQBSAFIAUQBSAAIAUgABAGIARBkAFqJAAgACAAIAcQBiAAIAAgCBAGIANB4ABqIgIgABAFIAIgAiAGEAYgAyADKAKEASICIBRrNgJUIAMgAygCgAEiBCATazYCUCADIAMoAnwiBSASazYCTCADIAMoAngiBiARazYCSCADIAMoAnQiByAQazYCRCADIAMoAnAiCCAPazYCQCADIAMoAmwiFSAOazYCPCADIAMoAmgiFiANazYCOCADIAMoAmQiFyAMazYCNCADIAMoAmAiGCALazYCMCADIANBMGoQFgJAIANBIBAlRQRAIAMgAiAUajYCJCADIAQgE2o2AiAgAyAFIBJqNgIcIAMgBiARajYCGCADIAcgEGo2AhQgAyAIIA9qNgIQIAMgDiAVajYCDCADIA0gFmo2AgggAyAMIBdqNgIEIAMgCyAYajYCACADQaACaiICIAMQFiACQSAQJUUNASAAIABB4AoQBgsgA0GgAmogABAWIAMtAKACQQFxIAEtAB9BB3ZGBEAgAEEAIAAoAgBrNgIAIABBACAAKAIkazYCJCAAQQAgACgCIGs2AiAgAEEAIAAoAhxrNgIcIABBACAAKAIYazYCGCAAQQAgACgCFGs2AhQgAEEAIAAoAhBrNgIQIABBACAAKAIMazYCDCAAQQAgACgCCGs2AgggAEEAIAAoAgRrNgIECyAAQfgAaiAAIAkQBkEAIQoLIANBwAJqJAAgCgv0BAEZfiABMQAfIQIgATEAHiEGIAExAB0hDiABMQAGIQcgATEABSEIIAExAAQhAyABMQAJIQ8gATEACCEQIAExAAchESABMQAMIQkgATEACyEKIAExAAohCyABMQAPIQwgATEADiESIAExAA0hEyABMQAcIQQgATEAGyEUIAExABohFSABMQAZIQUgATEAGCEWIAExABchFyABNQAAIRggACABMQAVQg+GIAExABRCB4aEIAExABZCF4aEIAE1ABAiGUKAgIAIfCIaQhmIfCINIA1CgICAEHwiDUKAgIDgD4N9PgIYIAAgFkINhiAXQgWGhCAFQhWGhCIFIA1CGoh8IAVCgICACHwiBUKAgIDwA4N9PgIcIAAgFEIMhiAVQgSGhCAEQhSGhCAFQhmIfCIEIARCgICAEHwiBEKAgIDgD4N9PgIgIAAgGSAaQoCAgPAPg30gEkIKhiATQgKGhCAMQhKGhCAKQguGIAtCA4aEIAlCE4aEIglCgICACHwiCkIZiHwiC0KAgIAQfCIMQhqIfD4CFCAAIAsgDEKAgIDgD4N9PgIQIAAgEEINhiARQgWGhCAPQhWGhCAIQg6GIANCBoaEIAdCFoaEIgdCgICACHwiCEIZiHwiAyADQoCAgBB8IgNCgICA4A+DfT4CCCAAIAJCEoZCgIDwD4MgBkIKhiAOQgKGhIQiAiAEQhqIfCACQoCAgAh8IgJCgICAEIN9PgIkIAAgA0IaiCAJfCAKQoCAgPAAg30+AgwgACAHIAhCgICA8AeDfSAYIAJCGYhCE358IgJCgICAEHwiBkIaiHw+AgQgACACIAZCgICA4A+DfT4CAAstAQF+IAKtIAOtQiCGhCIGQhBaBH8gACABQRBqIAEgBkIQfSAEIAUQNQVBfwsLGAAgACABIAIgA60gBK1CIIaEIAUgBhA1CxgAIAAgASACIAOtIAStQiCGhCAFIAYQKQtKAQJ/IwBBIGsiBiQAQX8hBwJAIAJCEFQNACAGIAQgBRAmDQAgACABQRBqIAEgAkIQfSADIAYQNSEHIAZBIBAICyAGQSBqJAAgBwtPAQJ/IwBBIGsiBiQAIAJC8P///w9UBEBBfyEHIAYgBCAFECZFBEAgAEEQaiAAIAEgAiADIAYQKSEHIAZBIBAICyAGQSBqJAAgBw8LEAsAC6ACAQN/IwBB4AJrIggkACAIQSBqIgpCwAAgBiAHEBwgCEHgAGoiCSAKQYyTAigCABEBABogCkHAABAIIAkgBCAFQZCTAigCABEAABogCUHgkgJCACAFfUIPg0GQkwIoAgARAAAaIAkgASACQZCTAigCABEAABogCUHgkgJCACACfUIPg0GQkwIoAgARAAAaIAggBTcDGCAJIAhBGGoiBEIIQZCTAigCABEAABogCCACNwMYIAkgBEIIQZCTAigCABEAABogCSAIQZSTAigCABEBABogCUGAAhAIIAggAxAiIQQgCEEQEAgCQCAARQ0AIAQEQCAAQQAgAqcQCRpBfyEEDAELIAAgASACIAZBASAHECFBACEECyAIQeACaiQAIAQL9QEBA38jAEHgAmsiCCQAIAhBIGoiCkLAACAGIAdBwJsCKAIAEQ4AGiAIQeAAaiIJIApBjJMCKAIAEQEAGiAKQcAAEAggCSAEIAVBkJMCKAIAEQAAGiAIIAU3AxggCSAIQRhqIgRCCEGQkwIoAgARAAAaIAkgASACQZCTAigCABEAABogCCACNwMYIAkgBEIIQZCTAigCABEAABogCSAIQZSTAigCABEBABogCUGAAhAIIAggAxAiIQQgCEEQEAgCQCAARQ0AIAQEQCAAQQAgAqcQCRpBfyEEDAELIAAgASACIAYgBxBNQQAhBAsgCEHgAmokACAEC/0BAQN/IwBB0AJrIgokACAKQRBqIgtCwAAgByAIEBwgCkHQAGoiCSALQYyTAigCABEBABogC0HAABAIIAkgBSAGQZCTAigCABEAABogCUHgkgJCACAGfUIPg0GQkwIoAgARAAAaIAAgAyAEIAdBASAIECEgCSAAIARBkJMCKAIAEQAAGiAJQeCSAkIAIAR9Qg+DQZCTAigCABEAABogCiAGNwMIIAkgCkEIaiIAQghBkJMCKAIAEQAAGiAKIAQ3AwggCSAAQghBkJMCKAIAEQAAGiAJIAFBlJMCKAIAEQEAGiAJQYACEAggAgRAIAJCEDcDAAsgCkHQAmokAEEAC9IBAQN/IwBB0AJrIgkkACAJQRBqIgtCwAAgByAIQcCbAigCABEOABogCUHQAGoiCiALQYyTAigCABEBABogC0HAABAIIAogBSAGQZCTAigCABEAABogCSAGNwMIIAogCUEIaiIFQghBkJMCKAIAEQAAGiAAIAMgBCAHIAgQTSAKIAAgBEGQkwIoAgARAAAaIAkgBDcDCCAKIAVCCEGQkwIoAgARAAAaIAogAUGUkwIoAgARAQAaIApBgAIQCCACBEAgAkIQNwMACyAJQdACaiQAQQAL1QIBAn8jAEGQA2siCCQAIAhBADYCBCAIQRBqIgkgBiAHEDsgCCAGKQAQNwIIIAhB0ABqIgdCwAAgCEEEaiAJEBwgCEGQAWoiBiAHQYyTAigCABEBABogB0HAABAIIAYgBCAFQZCTAigCABEAABogBkGgkgJCACAFfUIPg0GQkwIoAgARAAAaIAYgASACQZCTAigCABEAABogBkGgkgJCACACfUIPg0GQkwIoAgARAAAaIAggBTcDSCAGIAhByABqIgRCCEGQkwIoAgARAAAaIAggAjcDSCAGIARCCEGQkwIoAgARAAAaIAYgCEEwaiIEQZSTAigCABEBABogBkGAAhAIIAQgAxAiIQYgBEEQEAgCQCAARQ0AIAYEQCAAQQAgAqcQCRpBfyEGDAELIAAgASACIAhBBGogCEEQahBMQQAhBgsgCEEQakEgEAggCEGQA2okACAGC6cCAQN/IwBBgANrIgkkACAJQQA2AgQgCUEQaiIKIAcgCBA7IAkgBykAEDcCCCAJQUBrIghCwAAgCUEEaiILIAoQHCAJQYABaiIHIAhBjJMCKAIAEQEAGiAIQcAAEAggByAFIAZBkJMCKAIAEQAAGiAHQaCSAkIAIAZ9Qg+DQZCTAigCABEAABogACADIAQgCyAKEEwgByAAIARBkJMCKAIAEQAAGiAHQaCSAkIAIAR9Qg+DQZCTAigCABEAABogCSAGNwM4IAcgCUE4aiIAQghBkJMCKAIAEQAAGiAJIAQ3AzggByAAQghBkJMCKAIAEQAAGiAHIAFBlJMCKAIAEQEAGiAHQYACEAggAgRAIAJCEDcDAAsgCUEQakEgEAggCUGAA2okAEEAC8sFAgV/An5BfyEHAkAgAUHBAGtBQEkNACAFQcAASw0AAn8gAUH/AXEhByAFQf8BcSEFIwAiASEJIAFBgARrQUBxIgEkAAJAIAJFIANCAFJxDQAgAEUNACAHQcEAa0H/AXFBvwFNDQAgBEUiBkEAIAUbDQAgBUHBAE8NAAJ/IAUEQCAGDQIgAUFAa0EAQaUCEAkaIAFC+cL4m5Gjs/DbADcDOCABQuv6htq/tfbBHzcDMCABQp/Y+dnCkdqCm383AyggAULRhZrv+s+Uh9EANwMgIAFC8e30+KWn/aelfzcDGCABQqvw0/Sv7ry3PDcDECABQrvOqqbY0Ouzu383AwggASAHrSAFrUIIhoRCiJL3lf/M+YTqAIU3AwAgAUGAA2oiBiAFakEAQYABIAVrEAkaIAYgBCAFEAoaIAFB4ABqIAZBgAEQChogAUGAATYC4AIgBkGAARAIQYABDAELIAFBQGtBAEGlAhAJGiABQvnC+JuRo7Pw2wA3AzggAULr+obav7X2wR83AzAgAUKf2PnZwpHagpt/NwMoIAFC0YWa7/rPlIfRADcDICABQvHt9Pilp/2npX83AxggAUKr8NP0r+68tzw3AxAgAUK7zqqm2NDrs7t/NwMIIAEgB61CiJL3lf/M+YTqAIU3AwBBAAshBAJAIANQDQAgAUHgAWohCiABQeAAaiEFA0AgBCAFaiEIQYACIARrIgatIgsgA1oEQCAIIAIgA6ciAhAKGiABIAEoAuACIAJqNgLgAgwCCyAIIAIgBhAKGiABIAEoAuACIAZqNgLgAiABIAEpA0AiDEKAAXw3A0AgASABKQNIIAxC/35WrXw3A0ggASAFEDwgBSAKQYABEAoaIAEgASgC4AJBgAFrIgQ2AuACIAIgBmohAiADIAt9IgNCAFINAAsLIAEgACAHEEoaIAkkAEEADAELEAsACyEHCyAHCwUAQdABCwQAQQILBABBAQsLACAAIAEgAq0QEgsKACAAIAEgAhAfC9oBAQN/IwBBEGsiBSQAAkACQCADRQRAQX8hAQwBCwJ/IAMgA0EBayIGcUUEQCAGIAJBf3MiB3EMAQsgAkF/cyEHIAYgAiADcGsLIgYgB08NASAEIAIgBmoiAk0EQEF/IQEMAQsgAARAIAAgAkEBajYCAAsgASACaiEAQQAhASAFQQA6AA9BACECA0AgACACayIEIAQtAAAgBS0AD3EgAiAGc0EBa0EYdiIEQYABcXI6AAAgBSAFLQAPIARyOgAPIAJBAWoiAiADRw0ACwsgBUEQaiQAIAEPCxALAAsmAQJ/AkBBmKYCKAIAIgBFDQAgACgCFCIARQ0AIAARAgAhAQsgAQsPACAAIAGtQeCIAiACEBwLTQEDfyMAQRBrIgIkACAAQQJPBEBBACAAayAAcCEBA0AgAkEAOgAPQdCbAiACQQ9qQQAQACIDIAFJDQALIAMgAHAhAQsgAkEQaiQAIAELKAECfyMAQRBrIgAkACAAQQA6AA9B0JsCIABBD2pBABAAIABBEGokAAvHAQEBfyMAQUBqIgYkACACQgBSBEAgBkKy2ojLx66ZkOsANwIIIAZC5fDBi+aNmZAzNwIAIAYgBSgAADYCECAGIAUoAAQ2AhQgBiAFKAAINgIYIAYgBSgADDYCHCAGIAUoABA2AiAgBiAFKAAUNgIkIAYgBSgAGDYCKCAFKAAcIQUgBiAENgIwIAYgBTYCLCAGIAMoAAA2AjQgBiADKAAENgI4IAYgAygACDYCPCAGIAEgACACEC0gBkHAABAICyAGQUBrJABBAAvDAQEBfyMAQUBqIgYkACACQgBSBEAgBkKy2ojLx66ZkOsANwIIIAZC5fDBi+aNmZAzNwIAIAYgBSgAADYCECAGIAUoAAQ2AhQgBiAFKAAINgIYIAYgBSgADDYCHCAGIAUoABA2AiAgBiAFKAAUNgIkIAYgBSgAGDYCKCAGIAUoABw2AiwgBiAEPgIwIAYgBEIgiD4CNCAGIAMoAAA2AjggBiADKAAENgI8IAYgASAAIAIQLSAGQcAAEAgLIAZBQGskAEEAC9ABAQF/IwBBQGoiBCQAIAFCAFIEQCAEQrLaiMvHrpmQ6wA3AgggBELl8MGL5o2ZkDM3AgAgBCADKAAANgIQIAQgAygABDYCFCAEIAMoAAg2AhggBCADKAAMNgIcIAQgAygAEDYCICAEIAMoABQ2AiQgBCADKAAYNgIoIAMoABwhAyAEQQA2AjAgBCADNgIsIAQgAigAADYCNCAEIAIoAAQ2AjggBCACKAAINgI8IAQgAEEAIAGnEAkiACAAIAEQLSAEQcAAEAgLIARBQGskAEEAC8YBAQF/IwBBQGoiBCQAIAFCAFIEQCAEQrLaiMvHrpmQ6wA3AgggBELl8MGL5o2ZkDM3AgAgBCADKAAANgIQIAQgAygABDYCFCAEIAMoAAg2AhggBCADKAAMNgIcIAQgAygAEDYCICAEIAMoABQ2AiQgBCADKAAYNgIoIAMoABwhAyAEQgA3AjAgBCADNgIsIAQgAigAADYCOCAEIAIoAAQ2AjwgBCAAQQAgAacQCSIAIAAgARAtIARBwAAQCAsgBEFAayQAQQALJABBkKYCKAIABH9BAQUQS0GApgJBEBAYQZCmAkEBNgIAQQALC78NAgp/AX4jAEGgBGsiCSQAIAggByAJQbADahBUQQAhCAJAIAZBH00EQEEAIQcMAQtBICEKA0AgBSAIaiAJQbADahBTIAoiByEIIAdBIGoiCiAGTQ0ACwsgB0EQciIIIAZNBEAgCUHAA2ohCiAJQdADaiELIAlB4ANqIQwgCUHwA2ohDSAJQYAEaiEOA0AgBSAHaiIHKAAAIRAgBygABCERIAcoAAghEiAHKAAMIQcgCSAOKQIINwOIAyAJIA4pAgA3A4ADIAkgDSkCCDcD+AIgCSANKQIANwPwAiAJIA4pAgg3A+gCIAkgDikCADcD4AIgCUGQBGoiDyAJQfACaiAJQeACahAHIA4gCSkCmAQ3AgggDiAJKQKQBDcCACAJIAwpAgg3A9gCIAkgDCkCADcD0AIgCSANKQIINwPIAiAJIA0pAgA3A8ACIA8gCUHQAmogCUHAAmoQByANIAkpApgENwIIIA0gCSkCkAQ3AgAgCSALKQIINwO4AiAJIAspAgA3A7ACIAkgDCkCCDcDqAIgCSAMKQIANwOgAiAPIAlBsAJqIAlBoAJqEAcgDCAJKQKYBDcCCCAMIAkpApAENwIAIAkgCikCCDcDmAIgCSAKKQIANwOQAiAJIAspAgg3A4gCIAkgCykCADcDgAIgDyAJQZACaiAJQYACahAHIAsgCSkCmAQ3AgggCyAJKQKQBDcCACAJIAkpA7gDNwP4ASAJIAkpA7ADNwPwASAJIAopAgg3A+gBIAkgCikCADcD4AEgDyAJQfABaiAJQeABahAHIAogCSkCmAQ3AgggCiAJKQKQBDcCACAJIAkpA4gDNwPYASAJIAkpA7gDNwPIASAJIAkpA4ADNwPQASAJIAkpA7ADNwPAASAPIAlB0AFqIAlBwAFqEAcgCSAHIAkoApwEczYCvAMgCSASIAkoApgEczYCuAMgCSARIAkoApQEczYCtAMgCSAQIAkoApAEczYCsAMgCCIHQRBqIgggBk0NAAsLIAZBD3EiCARAIAlBoANqIgogCHJBAEEQIAhrEAkaIAogBSAHaiAIEAoaIAkoAqADIQUgCSgCpAMhByAJKAKoAyEIIAkoAqwDIQogCSAJKQOIBCITNwOIAyAJIAkpA/gDNwO4ASAJIBM3A6gBIAkgCSkDgAQiEzcDgAMgCSAJKQPwAzcDsAEgCSATNwOgASAJQZAEaiILIAlBsAFqIAlBoAFqEAcgCSAJKQKYBDcDiAQgCSAJKQPoAzcDmAEgCSAJKQP4AzcDiAEgCSAJKQKQBDcDgAQgCSAJKQPgAzcDkAEgCSAJKQPwAzcDgAEgCyAJQZABaiAJQYABahAHIAkgCSkCmAQ3A/gDIAkgCSkD2AM3A3ggCSAJKQPoAzcDaCAJIAkpApAENwPwAyAJIAkpA9ADNwNwIAkgCSkD4AM3A2AgCyAJQfAAaiAJQeAAahAHIAkgCSkCmAQ3A+gDIAkgCSkDyAM3A1ggCSAJKQPYAzcDSCAJIAkpApAENwPgAyAJIAkpA8ADNwNQIAkgCSkD0AM3A0AgCyAJQdAAaiAJQUBrEAcgCSAJKQKYBDcD2AMgCSAJKQO4AzcDOCAJIAkpA8gDNwMoIAkgCSkCkAQ3A9ADIAkgCSkDsAM3AzAgCSAJKQPAAzcDICALIAlBMGogCUEgahAHIAkgCSkCmAQ3A8gDIAkgCSkDiAM3AxggCSAJKQO4AzcDCCAJIAkpApAENwPAAyAJIAkpA4ADNwMQIAkgCSkDsAM3AwAgCyAJQRBqIAkQByAJIAogCSgCnARzNgK8AyAJIAggCSgCmARzNgK4AyAJIAcgCSgClARzNgK0AyAJIAUgCSgCkARzNgKwAwsCQAJAAkACQAJAAkAgAEUEQEEQIQggAkEQSQ0EQQAhCgNAIAlBkARqIAEgCmogCUGwA2oQUCAIIgchCiAHQRBqIgggAk0NAAsMAQtBECEKIAJBEEkNAUEAIQgDQCAAIAhqIAEgCGogCUGwA2oQUCAKIgchCCAHQRBqIgogAk0NAAsLIAJBD3EiCEUNBCAADQEMAwtBACEHIAIiCEUNAwsgACAHaiABIAdqIAggCUGwA2oQTwwCC0EAIQcgAiIIRQ0BCyAJQZAEaiABIAdqIAggCUGwA2oQTwsgCUGAA2ogBCAGIAIgCUGwA2oQUUF/IQcCQAJAAkAgBEEQaw4RAAICAgICAgICAgICAgICAgECCyAJQYADaiADECIhBwwBCyAJQYADaiADEDQhBwsCQCAARQ0AIAdFDQAgAEEAIAIQCRoLIAlBoARqJAAgBwuUDAIKfwF+IwBBkARrIgkkACAIIAcgCUGQA2oQVEEAIQgCQCAGQR9NBEBBACEHDAELQSAhCgNAIAUgCGogCUGQA2oQUyAKIgchCCAHQSBqIgogBk0NAAsLIAdBEHIiCCAGTQRAIAlBoANqIQogCUGwA2ohCyAJQcADaiEMIAlB0ANqIQ0gCUHgA2ohDgNAIAUgB2oiBygAACEQIAcoAAQhESAHKAAIIRIgBygADCEHIAkgDikCCDcDiAQgCSAOKQIANwOABCAJIA0pAgg3A/gCIAkgDSkCADcD8AIgCSAOKQIINwPoAiAJIA4pAgA3A+ACIAlB8ANqIg8gCUHwAmogCUHgAmoQByAOIAkpAvgDNwIIIA4gCSkC8AM3AgAgCSAMKQIINwPYAiAJIAwpAgA3A9ACIAkgDSkCCDcDyAIgCSANKQIANwPAAiAPIAlB0AJqIAlBwAJqEAcgDSAJKQL4AzcCCCANIAkpAvADNwIAIAkgCykCCDcDuAIgCSALKQIANwOwAiAJIAwpAgg3A6gCIAkgDCkCADcDoAIgDyAJQbACaiAJQaACahAHIAwgCSkC+AM3AgggDCAJKQLwAzcCACAJIAopAgg3A5gCIAkgCikCADcDkAIgCSALKQIINwOIAiAJIAspAgA3A4ACIA8gCUGQAmogCUGAAmoQByALIAkpAvgDNwIIIAsgCSkC8AM3AgAgCSAJKQOYAzcD+AEgCSAJKQOQAzcD8AEgCSAKKQIINwPoASAJIAopAgA3A+ABIA8gCUHwAWogCUHgAWoQByAKIAkpAvgDNwIIIAogCSkC8AM3AgAgCSAJKQOIBDcD2AEgCSAJKQOYAzcDyAEgCSAJKQOABDcD0AEgCSAJKQOQAzcDwAEgDyAJQdABaiAJQcABahAHIAkgByAJKAL8A3M2ApwDIAkgEiAJKAL4A3M2ApgDIAkgESAJKAL0A3M2ApQDIAkgECAJKALwA3M2ApADIAgiB0EQaiIIIAZNDQALCyAGQQ9xIggEQCAJQYADaiIKIAhyQQBBECAIaxAJGiAKIAUgB2ogCBAKGiAJKAKAAyEFIAkoAoQDIQcgCSgCiAMhCCAJKAKMAyEKIAkgCSkD6AMiEzcDiAQgCSAJKQPYAzcDuAEgCSATNwOoASAJIAkpA+ADIhM3A4AEIAkgCSkD0AM3A7ABIAkgEzcDoAEgCUHwA2oiCyAJQbABaiAJQaABahAHIAkgCSkC+AM3A+gDIAkgCSkDyAM3A5gBIAkgCSkD2AM3A4gBIAkgCSkC8AM3A+ADIAkgCSkDwAM3A5ABIAkgCSkD0AM3A4ABIAsgCUGQAWogCUGAAWoQByAJIAkpAvgDNwPYAyAJIAkpA7gDNwN4IAkgCSkDyAM3A2ggCSAJKQLwAzcD0AMgCSAJKQOwAzcDcCAJIAkpA8ADNwNgIAsgCUHwAGogCUHgAGoQByAJIAkpAvgDNwPIAyAJIAkpA6gDNwNYIAkgCSkDuAM3A0ggCSAJKQLwAzcDwAMgCSAJKQOgAzcDUCAJIAkpA7ADNwNAIAsgCUHQAGogCUFAaxAHIAkgCSkC+AM3A7gDIAkgCSkDmAM3AzggCSAJKQOoAzcDKCAJIAkpAvADNwOwAyAJIAkpA5ADNwMwIAkgCSkDoAM3AyAgCyAJQTBqIAlBIGoQByAJIAkpAvgDNwOoAyAJIAkpA4gENwMYIAkgCSkDmAM3AwggCSAJKQLwAzcDoAMgCSAJKQOABDcDECAJIAkpA5ADNwMAIAsgCUEQaiAJEAcgCSAKIAkoAvwDczYCnAMgCSAIIAkoAvgDczYCmAMgCSAHIAkoAvQDczYClAMgCSAFIAkoAvADczYCkAMLQRAhCkEAIQcCQCAEQRBJBEBBACEIDAELA0AgACAHaiADIAdqIAlBkANqEFIgCiIIIgdBEGoiCiAETQ0ACwsgBEEPcSIFBEAgCUGAA2oiByAFckEAQRAgBWsQCRogByADIAhqIAUQChogCUGABGoiAyAHIAlBkANqEFIgACAIaiADIAUQChoLIAEgAiAGIAQgCUGQA2oQUSAJQZAEaiQAQQALgwQBA38jACIKIApB4AFrQWBxIgkkACAIIAcgCUHgAGoQXEEAIQgCQCAGQT9NBEBBACEHDAELQcAAIQoDQCAFIAhqIAlB4ABqEFsgCiIHIQggB0FAayIKIAZNDQALCwJAIAYgB0EgciIKSQRAIAchCAwBCwNAIAUgB2ogCUHgAGoQLiAKIggiB0EgaiIKIAZNDQALCyAGQR9xIgcEQCAJQUBrIgogB3JBAEEgIAdrEAkaIAogBSAIaiAHEAoaIAogCUHgAGoQLgsCQAJAAkACQAJAAkAgAEUEQEEgIQUgAkEgSQ0EQQAhCANAIAlBIGogASAIaiAJQeAAahBYIAUiByEIIAdBIGoiBSACTQ0ACwwBC0EgIQggAkEgSQ0BQQAhBQNAIAAgBWogASAFaiAJQeAAahBYIAgiByEFIAdBIGoiCCACTQ0ACwsgAkEfcSIFRQ0EIAANAQwDC0EAIQcgAiEFIAJFDQMLIAAgB2ogASAHaiAFIAlB4ABqEFcMAgtBACEHIAIhBSACRQ0BCyAJQSBqIAEgB2ogBSAJQeAAahBXCyAJIAQgBiACIAlB4ABqEFlBfyEHAkACQAJAIARBEGsOEQACAgICAgICAgICAgICAgIBAgsgCSADECIhBwwBCyAJIAMQNCEHCwJAIABFDQAgB0UNACAAQQAgAhAJGgskACAHC9QCAQN/IwAiCiAKQcABa0FgcSIJJAAgCCAHIAlBQGsQXEEAIQgCQCAGQT9NBEBBACEHDAELQcAAIQoDQCAFIAhqIAlBQGsQWyAKIgchCCAHQUBrIgogBk0NAAsLAkAgBiAHQSByIgpJBEAgByEIDAELA0AgBSAHaiAJQUBrEC4gCiIIIgdBIGoiCiAGTQ0ACwsgBkEfcSIHBEAgCUEgaiIKIAdyQQBBICAHaxAJGiAKIAUgCGogBxAKGiAKIAlBQGsQLgtBICEIQQAhBwJAIARBIEkEQEEAIQUMAQsDQCAAIAdqIAMgB2ogCUFAaxBaIAgiBSIHQSBqIgggBE0NAAsLIARBH3EiBwRAIAlBIGoiCCAHckEAQSAgB2sQCRogCCADIAVqIAcQChogCSAIIAlBQGsQWiAAIAVqIAkgBxAKGgsgASACIAYgBCAJQUBrEFkkAEEAC+YEAQV/IwBB8ABrIgYkACACQgBSBEAgBiAFKQAYNwMYIAYgBSkAEDcDECAGIAUpAAA3AwAgBiAFKQAINwMIIAYgAykAADcDYCAGIAQ8AGggBiAEQjiIPABvIAYgBEIwiDwAbiAGIARCKIg8AG0gBiAEQiCIPABsIAYgBEIYiDwAayAGIARCEIg8AGogBiAEQgiIPABpAkAgAkLAAFoEQANAQQAhBSAGQSBqIAZB4ABqIAYQLwNAIAAgBWogBkEgaiIHIAVqLQAAIAEgBWotAABzOgAAIAAgBUEBciIDaiADIAdqLQAAIAEgA2otAABzOgAAIAVBAmoiBUHAAEcNAAsgBiAGLQBoQQFqIgM6AGggBiAGLQBpIANBCHZqIgM6AGkgBiAGLQBqIANBCHZqIgM6AGogBiAGLQBrIANBCHZqIgM6AGsgBiAGLQBsIANBCHZqIgM6AGwgBiAGLQBtIANBCHZqIgM6AG0gBiAGLQBuIANBCHZqIgM6AG4gBiAGLQBvIANBCHZqOgBvIAFBQGshASAAQUBrIQAgAkJAfCICQj9WDQALIAJQDQELQQAhBSAGQSBqIAZB4ABqIAYQLyACpyIDQQFxIAJCAVIEQCADQT5xIQlBACEDA0AgACAFaiAGQSBqIgogBWotAAAgASAFai0AAHM6AAAgACAFQQFyIgdqIAcgCmotAAAgASAHai0AAHM6AAAgBUECaiEFIANBAmoiAyAJRw0ACwtFDQAgACAFaiAGQSBqIAVqLQAAIAEgBWotAABzOgAACyAGQSBqQcAAEAggBkEgEAgLIAZB8ABqJABBAAv/AwIGfwF+IwBB8ABrIgQkACABQgBSBEAgBCADKQAYNwMYIAQgAykAEDcDECAEIAMpAAA3AwAgBCADKQAINwMIIAIpAAAhCiAEQgA3A2ggBCAKNwNgAkAgAULAAFoEQANAIAAgBEHgAGogBBAvIAQgBC0AaEEBaiICOgBoIAQgBC0AaSACQQh2aiICOgBpIAQgBC0AaiACQQh2aiICOgBqIAQgBC0AayACQQh2aiICOgBrIAQgBC0AbCACQQh2aiICOgBsIAQgBC0AbSACQQh2aiICOgBtIAQgBC0AbiACQQh2aiICOgBuIAQgBC0AbyACQQh2ajoAbyAAQUBrIQAgAUJAfCIBQj9WDQALIAFQDQELQQAhAiAEQSBqIARB4ABqIAQQLyABpyIGQQNxIQdBACEDIAFCBFoEQCAGQTxxIQhBACEGA0AgACADaiAEQSBqIgkgA2otAAA6AAAgACADQQFyIgVqIAUgCWotAAA6AAAgACADQQJyIgVqIARBIGogBWotAAA6AAAgACADQQNyIgVqIARBIGogBWotAAA6AAAgA0EEaiEDIAZBBGoiBiAIRw0ACwsgB0UNAANAIAAgA2ogBEEgaiADai0AADoAACADQQFqIQMgAkEBaiICIAdHDQALCyAEQSBqQcAAEAggBEEgEAgLIARB8ABqJABBAAuGBgEUfyMAQbACayICJAAgACABLQAAOgAAIAAgAS0AAToAASAAIAEtAAI6AAIgACABLQADOgADIAAgAS0ABDoABCAAIAEtAAU6AAUgACABLQAGOgAGIAAgAS0ABzoAByAAIAEtAAg6AAggACABLQAJOgAJIAAgAS0ACjoACiAAIAEtAAs6AAsgACABLQAMOgAMIAAgAS0ADToADSAAIAEtAA46AA4gACABLQAPOgAPIAAgAS0AEDoAECAAIAEtABE6ABEgACABLQASOgASIAAgAS0AEzoAEyAAIAEtABQ6ABQgACABLQAVOgAVIAAgAS0AFjoAFiAAIAEtABc6ABcgACABLQAYOgAYIAAgAS0AGToAGSAAIAEtABo6ABogACABLQAbOgAbIAAgAS0AHDoAHCAAIAEtAB06AB0gACABLQAeOgAeIAEtAB8hASAAIAAtAABB+AFxOgAAIAAgAUE/cUHAAHI6AB8gAkEwaiAAEDEgAigCgAEhASACKAJYIQMgAigChAEhBCACKAJcIQUgAigCiAEhBiACKAJgIQcgAigCjAEhCCACKAJkIQkgAigCkAEhCiACKAJoIQsgAigClAEhDCACKAJsIQ0gAigCmAEhDiACKAJwIQ8gAigCnAEhECACKAJ0IREgAigCoAEhEiACKAJ4IRMgAiACKAJ8IhQgAigCpAEiFWo2AqQCIAIgEiATajYCoAIgAiAQIBFqNgKcAiACIA4gD2o2ApgCIAIgDCANajYClAIgAiAKIAtqNgKQAiACIAggCWo2AowCIAIgBiAHajYCiAIgAiAEIAVqNgKEAiACIAEgA2o2AoACIAIgFSAUazYC9AEgAiASIBNrNgLwASACIBAgEWs2AuwBIAIgDiAPazYC6AEgAiAMIA1rNgLkASACIAogC2s2AuABIAIgCCAJazYC3AEgAiAGIAdrNgLYASACIAQgBWs2AtQBIAIgASADazYC0AEgAkHQAWoiASABEDMgAiACQYACaiABEAYgACACEBYgAkGwAmokAEEAC+scAj5/DH4jAEHwAmsiAyQAA0AgAiAGai0AACIEIAZBgIcCaiIJLQAAcyAHciEHIAQgCS0AwAFzIAVyIQUgBCAJLQCgAXMgDHIhDCAEIAktAIABcyAIciEIIAQgCS0AYHMgDXIhDSAEIAlBQGstAABzIAtyIQsgBCAJLQAgcyAKciEKIAZBAWoiBkEfRw0AC0F/IQkgAi0AH0H/AHEiBCAKckH/AXFBAWsgBCAHckH/AXFBAWtyIAQgC3JB/wFxQQFrciAEQdcAcyANckH/AXFBAWtyIARB/wBzIgQgCHJB/wFxQQFrciAEIAxyQf8BcUEBa3IgBCAFckH/AXFBAWtyQYACcUUEQCADIAEpABg3A+gCIAMgASkAEDcD4AIgAyABKQAAIkM3A9ACIAMgASkACDcD2AIgAyBDp0H4AXE6ANACIAMgAy0A7wJBP3FBwAByOgDvAiADQaACaiACEGAgA0IANwKEAiADQgA3AowCIANBADYClAIgA0IANwPQASADQgA3A9gBIANCADcD4AEgAyADKQOwAjcDoAEgAyADKQO4AjcDqAEgAyADKQPAAjcDsAEgA0IANwL0ASADQQE2AvABIANCADcC/AEgA0IANwPAASADQgA3A8gBIAMgAykDoAI3A5ABIAMgAykDqAI3A5gBIANCADcCdCADQgA3AnwgA0EANgKEASADQgA3AmQgA0EBNgJgIANCADcCbEH+ASECQQAhBANAIAMoApQCIQkgAygCtAEhBiADKAJgIQcgAygCwAEhCiADKAKQASELIAMoAvABIQ0gAygCZCEIIAMoAsQBIQwgAygClAEhBSADKAL0ASEQIAMoAmghDiADKALIASERIAMoApgBIRIgAygC+AEhEyADKAJsIQ8gAygCzAEhFCADKAKcASEVIAMoAvwBIRcgAygCcCEYIAMoAtABIRwgAygCoAEhHSADKAKAAiEeIAMoAnQhGSADKALUASEfIAMoAqQBISAgAygChAIhISADKAJ4IRogAygC2AEhIiADKAKoASEjIAMoAogCISQgAygCfCEbIAMoAtwBISUgAygCrAEhJiADKAKMAiEnIAMoAoABIRYgAygC4AEhKCADKAKwASEpIAMoApACISwgA0EAIAQgA0HQAmoiLSACIgFBA3ZqLQAAIAJBB3F2QQFxIgRzayICIAMoAoQBIiogAygC5AEiK3NxIi4gKnMiKjYChAEgAyAGIAYgCXMgAnEiL3MiMCAqazYCVCADIBYgFiAocyACcSIxcyIGNgKAASADICkgKSAscyACcSIWcyIpIAZrNgJQIAMgGyAbICVzIAJxIjJzIhs2AnwgAyAmICYgJ3MgAnEiM3MiJiAbazYCTCADIBogGiAicyACcSI0cyIaNgJ4IAMgIyAjICRzIAJxIjVzIiMgGms2AkggAyAZIBkgH3MgAnEiNnMiGTYCdCADICAgICAhcyACcSI3cyIgIBlrNgJEIAMgGCAYIBxzIAJxIjhzIhg2AnAgAyAdIB0gHnMgAnEiOXMiHSAYazYCQCADIA8gDyAUcyACcSI6cyIPNgJsIAMgFSAVIBdzIAJxIjtzIhUgD2s2AjwgAyAOIA4gEXMgAnEiPHMiDjYCaCADIBIgEiATcyACcSI9cyISIA5rNgI4IAMgCCAIIAxzIAJxIj5zIgg2AmQgAyAFIAUgEHMgAnEiP3MiBSAIazYCNCADIAcgByAKcyACcSJAcyIHNgJgIAMgCyALIA1zIAJxIgJzIgsgB2s2AjAgAyAJIC9zIgkgKyAucyIrazYCJCADIBYgLHMiFiAoIDFzIihrNgIgIAMgJyAzcyInICUgMnMiJWs2AhwgAyAkIDVzIiQgIiA0cyIiazYCGCADICEgN3MiISAfIDZzIh9rNgIUIAMgHiA5cyIeIBwgOHMiHGs2AhAgAyAXIDtzIhcgFCA6cyIUazYCDCADIBMgPXMiEyARIDxzIhFrNgIIIAMgECA/cyIQIAwgPnMiDGs2AgQgAyACIA1zIgIgCiBAcyIKazYCACADIAkgK2o2ApQCIAMgFiAoajYCkAIgAyAlICdqNgKMAiADICIgJGo2AogCIAMgHyAhajYChAIgAyAcIB5qNgKAAiADIBEgE2o2AvgBIAMgDCAQajYC9AEgAyACIApqNgLwASADIBQgF2o2AvwBIAMgKiAwajYC5AEgAyAGIClqNgLgASADIBsgJmo2AtwBIAMgGiAjajYC2AEgAyAZICBqNgLUASADIBggHWo2AtABIAMgDyAVajYCzAEgAyAOIBJqNgLIASADIAUgCGo2AsQBIAMgByALajYCwAEgA0HgAGoiGyADQTBqIhogA0HwAWoiGRAGIANBwAFqIhYgFiADEAYgGiADEAUgAyAZEAUgAygCwAEhAiADKAJgIQkgAygCxAEhBiADKAJkIQcgAygCyAEhCiADKAJoIQsgAygCzAEhDSADKAJsIQggAygC0AEhDCADKAJwIQUgAygC1AEhECADKAJ0IQ4gAygC2AEhESADKAJ4IRIgAygC3AEhEyADKAJ8IQ8gAygC4AEhFCADKAKAASEVIAMgAygC5AEiFyADKAKEASIYajYCtAEgAyAUIBVqNgKwASADIA8gE2o2AqwBIAMgESASajYCqAEgAyAOIBBqNgKkASADIAUgDGo2AqABIAMgCCANajYCnAEgAyAKIAtqNgKYASADIAYgB2o2ApQBIAMgAiAJajYCkAEgAyAYIBdrNgLkASADIBUgFGs2AuABIAMgDyATazYC3AEgAyASIBFrNgLYASADIA4gEGs2AtQBIAMgBSAMazYC0AEgAyAIIA1rNgLMASADIAsgCms2AsgBIAMgByAGazYCxAEgAyAJIAJrNgLAASAZIAMgGhAGIAMoAjQhAiADKAIEIQUgAygCOCEJIAMoAgghECADKAJAIQYgAygCECEOIAMoAjwhByADKAIMIREgAygCSCEKIAMoAhghEiADKAJEIQsgAygCFCETIAMoAlAhDSADKAIgIQ8gAygCTCEIIAMoAhwhFCADKAJUIQwgAygCJCEVIAMgAygCACADKAIwIhdrIhg2AgAgAyAVIAxrIhU2AiQgAyAUIAhrIhQ2AhwgAyAPIA1rIg82AiAgAyATIAtrIhM2AhQgAyASIAprIhI2AhggAyARIAdrIhE2AgwgAyAOIAZrIg42AhAgAyAQIAlrIhA2AgggAyAFIAJrIgU2AgQgFiAWEAUgAyAVrELCtgd+IkNCgICACHwiR0IZh0ITfiAYrELCtgd+fCJBIEFCgICAEHwiQUKAgIDgD4N9pyIVNgJgIAMgBaxCwrYHfiJCIEJCgICACHwiQkKAgIDwD4N9IEFCGoh8pyIFNgJkIAMgEKxCwrYHfiBCQhmHfCJBIEFCgICAEHwiQUKAgIDgD4N9pyIQNgJoIAMgDqxCwrYHfiARrELCtgd+IkJCgICACHwiSEIZh3wiRCBEQoCAgBB8IkRCgICA4A+DfaciDjYCcCADIBKsQsK2B34gE6xCwrYHfiJJQoCAgAh8IkpCGYd8IkUgRUKAgIAQfCJFQoCAgOAPg32nIhE2AnggAyAPrELCtgd+IBSsQsK2B34iS0KAgIAIfCJMQhmHfCJGIEZCgICAEHwiRkKAgIDgD4N9pyISNgKAASADIEFCGoggQnwgSEKAgIDwD4N9pyITNgJsIAMgREIaiCBJfCBKQoCAgPAPg32nIg82AnQgAyBFQhqIIEt8IExCgICA8A+DfaciFDYCfCADIEZCGoggQ3wgR0KAgIDwD4N9pyIYNgKEASADQZABaiIcIBwQBSADIAwgGGo2AlQgAyANIBJqNgJQIAMgCCAUajYCTCADIAogEWo2AkggAyALIA9qNgJEIAMgBiAOajYCQCADIAcgE2o2AjwgAyAJIBBqNgI4IAMgAiAFajYCNCADIBUgF2o2AjAgAUEBayECIBsgA0GgAmogFhAGIBYgAyAaEAYgAQ0ACyADKAKQASEQIAMoAvABIQIgAygClAEhDiADKAL0ASEGIAMoApgBIREgAygC+AEhByADKAKcASESIAMoAvwBIQogAygCoAEhEyADKAKAAiELIAMoAqQBIQ8gAygChAIhDSADKAKoASEUIAMoAogCIQggAygCrAEhFSADKAKMAiEMIAMoArABIRcgAygCkAIhBSADQQAgBGsiASADKAKUAiIEIAMoArQBc3EgBHM2ApQCIAMgBSAFIBdzIAFxczYCkAIgAyAMIAwgFXMgAXFzNgKMAiADIAggCCAUcyABcXM2AogCIAMgDSANIA9zIAFxczYChAIgAyALIAsgE3MgAXFzNgKAAiADIAogCiAScyABcXM2AvwBIAMgByAHIBFzIAFxczYC+AEgAyAGIAYgDnMgAXFzNgL0ASADIAIgAiAQcyABcXM2AvABIAMoAsABIQIgAygCYCEFIAMoAsQBIQQgAygCZCEQIAMoAsgBIQYgAygCaCEOIAMoAswBIQcgAygCbCERIAMoAtABIQogAygCcCESIAMoAtQBIQsgAygCdCETIAMoAtgBIQ0gAygCeCEPIAMoAtwBIQggAygCfCEUIAMoAuABIQwgAygCgAEhFSADIAMoAuQBIhcgAygChAFzIAFxIBdzNgLkASADIAwgDCAVcyABcXM2AuABIAMgCCAIIBRzIAFxczYC3AEgAyANIA0gD3MgAXFzNgLYASADIAsgCyATcyABcXM2AtQBIAMgCiAKIBJzIAFxczYC0AEgAyAHIAcgEXMgAXFzNgLMASADIAYgBiAOcyABcXM2AsgBIAMgBCAEIBBzIAFxczYCxAEgAyACIAIgBXMgAXFzNgLAASAWIBYQMyAZIBkgFhAGIAAgGRAWIC1BIBAIQQAhCQsgA0HwAmokACAJC+4LAQd/AkAgAEUNACAAQQhrIgMgAEEEaygCACIBQXhxIgBqIQUCQCABQQFxDQAgAUECcUUNASADIAMoAgAiAWsiA0GUogIoAgBJDQEgACABaiEAAkACQAJAQZiiAigCACADRwRAIAMoAgwhAiABQf8BTQRAIAIgAygCCCIERw0CQYSiAkGEogIoAgBBfiABQQN2d3E2AgAMBQsgAygCGCEGIAIgA0cEQCADKAIIIgEgAjYCDCACIAE2AggMBAsgAygCFCIBBH8gA0EUagUgAygCECIBRQ0DIANBEGoLIQQDQCAEIQcgASICQRRqIQQgAigCFCIBDQAgAkEQaiEEIAIoAhAiAQ0ACyAHQQA2AgAMAwsgBSgCBCIBQQNxQQNHDQNBjKICIAA2AgAgBSABQX5xNgIEIAMgAEEBcjYCBCAFIAA2AgAPCyAEIAI2AgwgAiAENgIIDAILQQAhAgsgBkUNAAJAIAMoAhwiAUECdEG0pAJqIgQoAgAgA0YEQCAEIAI2AgAgAg0BQYiiAkGIogIoAgBBfiABd3E2AgAMAgsgBkEQQRQgBigCECADRhtqIAI2AgAgAkUNAQsgAiAGNgIYIAMoAhAiAQRAIAIgATYCECABIAI2AhgLIAMoAhQiAUUNACACIAE2AhQgASACNgIYCyADIAVPDQAgBSgCBCIBQQFxRQ0AAkACQAJAAkAgAUECcUUEQEGcogIoAgAgBUYEQEGcogIgAzYCAEGQogJBkKICKAIAIABqIgA2AgAgAyAAQQFyNgIEIANBmKICKAIARw0GQYyiAkEANgIAQZiiAkEANgIADwtBmKICKAIAIAVGBEBBmKICIAM2AgBBjKICQYyiAigCACAAaiIANgIAIAMgAEEBcjYCBCAAIANqIAA2AgAPCyABQXhxIABqIQAgBSgCDCECIAFB/wFNBEAgBSgCCCIEIAJGBEBBhKICQYSiAigCAEF+IAFBA3Z3cTYCAAwFCyAEIAI2AgwgAiAENgIIDAQLIAUoAhghBiACIAVHBEAgBSgCCCIBIAI2AgwgAiABNgIIDAMLIAUoAhQiAQR/IAVBFGoFIAUoAhAiAUUNAiAFQRBqCyEEA0AgBCEHIAEiAkEUaiEEIAIoAhQiAQ0AIAJBEGohBCACKAIQIgENAAsgB0EANgIADAILIAUgAUF+cTYCBCADIABBAXI2AgQgACADaiAANgIADAMLQQAhAgsgBkUNAAJAIAUoAhwiAUECdEG0pAJqIgQoAgAgBUYEQCAEIAI2AgAgAg0BQYiiAkGIogIoAgBBfiABd3E2AgAMAgsgBkEQQRQgBigCECAFRhtqIAI2AgAgAkUNAQsgAiAGNgIYIAUoAhAiAQRAIAIgATYCECABIAI2AhgLIAUoAhQiAUUNACACIAE2AhQgASACNgIYCyADIABBAXI2AgQgACADaiAANgIAIANBmKICKAIARw0AQYyiAiAANgIADwsgAEH/AU0EQCAAQXhxQayiAmohAQJ/QYSiAigCACIEQQEgAEEDdnQiAHFFBEBBhKICIAAgBHI2AgAgAQwBCyABKAIICyEAIAEgAzYCCCAAIAM2AgwgAyABNgIMIAMgADYCCA8LQR8hAiAAQf///wdNBEAgAEEmIABBCHZnIgFrdkEBcSABQQF0a0E+aiECCyADIAI2AhwgA0IANwIQIAJBAnRBtKQCaiEHAn8CQAJ/QYiiAigCACIBQQEgAnQiBHFFBEBBiKICIAEgBHI2AgBBGCECIAchBEEIDAELIABBGSACQQF2a0EAIAJBH0cbdCECIAcoAgAhBANAIAQiASgCBEF4cSAARg0CIAJBHXYhBCACQQF0IQIgASAEQQRxakEQaiIHKAIAIgQNAAtBGCECIAEhBEEICyEAIAMiAQwBCyABKAIIIgQgAzYCDEEIIQIgAUEIaiEHQRghAEEACyEFIAcgAzYCACACIANqIAQ2AgAgAyABNgIMIAAgA2ogBTYCAEGkogJBpKICKAIAQQFrIgBBfyAAGzYCAAsLwCgBC38jAEEQayIKJAACQAJAAkACQAJAAkACQAJAAkACQCAAQfQBTQRAQYSiAigCACIEQRAgAEELakH4A3EgAEELSRsiBkEDdiIAdiIBQQNxBEACQCABQX9zQQFxIABqIgJBA3QiAUGsogJqIgAgAUG0ogJqKAIAIgEoAggiBUYEQEGEogIgBEF+IAJ3cTYCAAwBCyAFIAA2AgwgACAFNgIICyABQQhqIQAgASACQQN0IgJBA3I2AgQgASACaiIBIAEoAgRBAXI2AgQMCwsgBkGMogIoAgAiCE0NASABBEACQEECIAB0IgJBACACa3IgASAAdHFoIgFBA3QiAEGsogJqIgIgAEG0ogJqKAIAIgAoAggiBUYEQEGEogIgBEF+IAF3cSIENgIADAELIAUgAjYCDCACIAU2AggLIAAgBkEDcjYCBCAAIAZqIgcgAUEDdCIBIAZrIgVBAXI2AgQgACABaiAFNgIAIAgEQCAIQXhxQayiAmohAUGYogIoAgAhAgJ/IARBASAIQQN2dCIDcUUEQEGEogIgAyAEcjYCACABDAELIAEoAggLIQMgASACNgIIIAMgAjYCDCACIAE2AgwgAiADNgIICyAAQQhqIQBBmKICIAc2AgBBjKICIAU2AgAMCwtBiKICKAIAIgtFDQEgC2hBAnRBtKQCaigCACICKAIEQXhxIAZrIQMgAiEBA0ACQCABKAIQIgBFBEAgASgCFCIARQ0BCyAAKAIEQXhxIAZrIgEgAyABIANJIgEbIQMgACACIAEbIQIgACEBDAELCyACKAIYIQkgAiACKAIMIgBHBEAgAigCCCIBIAA2AgwgACABNgIIDAoLIAIoAhQiAQR/IAJBFGoFIAIoAhAiAUUNAyACQRBqCyEFA0AgBSEHIAEiAEEUaiEFIAAoAhQiAQ0AIABBEGohBSAAKAIQIgENAAsgB0EANgIADAkLQX8hBiAAQb9/Sw0AIABBC2oiAUF4cSEGQYiiAigCACIHRQ0AQR8hCEEAIAZrIQMgAEH0//8HTQRAIAZBJiABQQh2ZyIAa3ZBAXEgAEEBdGtBPmohCAsCQAJAAkAgCEECdEG0pAJqKAIAIgFFBEBBACEADAELQQAhACAGQRkgCEEBdmtBACAIQR9HG3QhAgNAAkAgASgCBEF4cSAGayIEIANPDQAgASEFIAQiAw0AQQAhAyABIQAMAwsgACABKAIUIgQgBCABIAJBHXZBBHFqKAIQIgFGGyAAIAQbIQAgAkEBdCECIAENAAsLIAAgBXJFBEBBACEFQQIgCHQiAEEAIABrciAHcSIARQ0DIABoQQJ0QbSkAmooAgAhAAsgAEUNAQsDQCAAKAIEQXhxIAZrIgIgA0khASACIAMgARshAyAAIAUgARshBSAAKAIQIgEEfyABBSAAKAIUCyIADQALCyAFRQ0AIANBjKICKAIAIAZrTw0AIAUoAhghCCAFIAUoAgwiAEcEQCAFKAIIIgEgADYCDCAAIAE2AggMCAsgBSgCFCIBBH8gBUEUagUgBSgCECIBRQ0DIAVBEGoLIQIDQCACIQQgASIAQRRqIQIgACgCFCIBDQAgAEEQaiECIAAoAhAiAQ0ACyAEQQA2AgAMBwsgBkGMogIoAgAiBU0EQEGYogIoAgAhAAJAIAUgBmsiAUEQTwRAIAAgBmoiAiABQQFyNgIEIAAgBWogATYCACAAIAZBA3I2AgQMAQsgACAFQQNyNgIEIAAgBWoiASABKAIEQQFyNgIEQQAhAkEAIQELQYyiAiABNgIAQZiiAiACNgIAIABBCGohAAwJCyAGQZCiAigCACICSQRAQZCiAiACIAZrIgE2AgBBnKICQZyiAigCACIAIAZqIgI2AgAgAiABQQFyNgIEIAAgBkEDcjYCBCAAQQhqIQAMCQtBACEAIAZBL2oiAwJ/QdylAigCAARAQeSlAigCAAwBC0HopQJCfzcCAEHgpQJCgKCAgICABDcCAEHcpQIgCkEMakFwcUHYqtWqBXM2AgBB8KUCQQA2AgBBwKUCQQA2AgBBgCALIgFqIgRBACABayIHcSIBIAZNDQhBvKUCKAIAIgUEQEG0pQIoAgAiCCABaiIJIAhNDQkgBSAJSQ0JCwJAQcClAi0AAEEEcUUEQAJAAkACQAJAQZyiAigCACIFBEBBxKUCIQADQCAFIAAoAgAiCE8EQCAIIAAoAgRqIAVLDQMLIAAoAggiAA0ACwtBABAkIgJBf0YNAyABIQRB4KUCKAIAIgBBAWsiBSACcQRAIAEgAmsgAiAFakEAIABrcWohBAsgBCAGTQ0DQbylAigCACIABEBBtKUCKAIAIgUgBGoiByAFTQ0EIAAgB0kNBAsgBBAkIgAgAkcNAQwFCyAEIAJrIAdxIgQQJCICIAAoAgAgACgCBGpGDQEgAiEACyAAQX9GDQEgBkEwaiAETQRAIAAhAgwEC0HkpQIoAgAiAiADIARrakEAIAJrcSICECRBf0YNASACIARqIQQgACECDAMLIAJBf0cNAgtBwKUCQcClAigCAEEEcjYCAAsgARAkIQJBABAkIQAgAkF/Rg0FIABBf0YNBSAAIAJNDQUgACACayIEIAZBKGpNDQULQbSlAkG0pQIoAgAgBGoiADYCAEG4pQIoAgAgAEkEQEG4pQIgADYCAAsCQEGcogIoAgAiAwRAQcSlAiEAA0AgAiAAKAIAIgEgACgCBCIFakYNAiAAKAIIIgANAAsMBAtBlKICKAIAIgBBACAAIAJNG0UEQEGUogIgAjYCAAtBACEAQcilAiAENgIAQcSlAiACNgIAQaSiAkF/NgIAQaiiAkHcpQIoAgA2AgBB0KUCQQA2AgADQCAAQQN0IgFBtKICaiABQayiAmoiBTYCACABQbiiAmogBTYCACAAQQFqIgBBIEcNAAtBkKICIARBKGsiAEF4IAJrQQdxIgFrIgU2AgBBnKICIAEgAmoiATYCACABIAVBAXI2AgQgACACakEoNgIEQaCiAkHspQIoAgA2AgAMBAsgAiADTQ0CIAEgA0sNAiAAKAIMQQhxDQIgACAEIAVqNgIEQZyiAiADQXggA2tBB3EiAGoiATYCAEGQogJBkKICKAIAIARqIgIgAGsiADYCACABIABBAXI2AgQgAiADakEoNgIEQaCiAkHspQIoAgA2AgAMAwtBACEADAYLQQAhAAwEC0GUogIoAgAgAksEQEGUogIgAjYCAAsgAiAEaiEFQcSlAiEAAkADQCAFIAAoAgAiAUcEQCAAKAIIIgANAQwCCwsgAC0ADEEIcUUNAwtBxKUCIQADQAJAIAMgACgCACIBTwRAIAEgACgCBGoiBSADSw0BCyAAKAIIIQAMAQsLQZCiAiAEQShrIgBBeCACa0EHcSIBayIHNgIAQZyiAiABIAJqIgE2AgAgASAHQQFyNgIEIAAgAmpBKDYCBEGgogJB7KUCKAIANgIAIAMgBUEnIAVrQQdxakEvayIAIAAgA0EQakkbIgFBGzYCBCABQcylAikCADcCECABQcSlAikCADcCCEHMpQIgAUEIajYCAEHIpQIgBDYCAEHEpQIgAjYCAEHQpQJBADYCACABQRhqIQADQCAAQQc2AgQgAEEIaiAAQQRqIQAgBUkNAAsgASADRg0AIAEgASgCBEF+cTYCBCADIAEgA2siAkEBcjYCBCABIAI2AgACfyACQf8BTQRAIAJBeHFBrKICaiEAAn9BhKICKAIAIgFBASACQQN2dCICcUUEQEGEogIgASACcjYCACAADAELIAAoAggLIQEgACADNgIIIAEgAzYCDEEMIQJBCAwBC0EfIQAgAkH///8HTQRAIAJBJiACQQh2ZyIAa3ZBAXEgAEEBdGtBPmohAAsgAyAANgIcIANCADcCECAAQQJ0QbSkAmohAQJAAkBBiKICKAIAIgVBASAAdCIEcUUEQEGIogIgBCAFcjYCACABIAM2AgAMAQsgAkEZIABBAXZrQQAgAEEfRxt0IQAgASgCACEFA0AgBSIBKAIEQXhxIAJGDQIgAEEddiEFIABBAXQhACABIAVBBHFqIgQoAhAiBQ0ACyAEIAM2AhALIAMgATYCGEEIIQIgAyIBIQBBDAwBCyABKAIIIgAgAzYCDCABIAM2AgggAyAANgIIQQAhAEEYIQJBDAsgA2ogATYCACACIANqIAA2AgALQZCiAigCACIAIAZNDQBBkKICIAAgBmsiATYCAEGcogJBnKICKAIAIgAgBmoiAjYCACACIAFBAXI2AgQgACAGQQNyNgIEIABBCGohAAwEC0GAogJBMDYCAEEAIQAMAwsgACACNgIAIAAgACgCBCAEajYCBCACQXggAmtBB3FqIgggBkEDcjYCBCABQXggAWtBB3FqIgQgBiAIaiIDayEHAkBBnKICKAIAIARGBEBBnKICIAM2AgBBkKICQZCiAigCACAHaiIANgIAIAMgAEEBcjYCBAwBC0GYogIoAgAgBEYEQEGYogIgAzYCAEGMogJBjKICKAIAIAdqIgA2AgAgAyAAQQFyNgIEIAAgA2ogADYCAAwBCyAEKAIEIgBBA3FBAUYEQCAAQXhxIQkgBCgCDCECAkAgAEH/AU0EQCAEKAIIIgEgAkYEQEGEogJBhKICKAIAQX4gAEEDdndxNgIADAILIAEgAjYCDCACIAE2AggMAQsgBCgCGCEGAkAgAiAERwRAIAQoAggiACACNgIMIAIgADYCCAwBCwJAIAQoAhQiAAR/IARBFGoFIAQoAhAiAEUNASAEQRBqCyEBA0AgASEFIAAiAkEUaiEBIAAoAhQiAA0AIAJBEGohASACKAIQIgANAAsgBUEANgIADAELQQAhAgsgBkUNAAJAIAQoAhwiAEECdEG0pAJqIgEoAgAgBEYEQCABIAI2AgAgAg0BQYiiAkGIogIoAgBBfiAAd3E2AgAMAgsgBkEQQRQgBigCECAERhtqIAI2AgAgAkUNAQsgAiAGNgIYIAQoAhAiAARAIAIgADYCECAAIAI2AhgLIAQoAhQiAEUNACACIAA2AhQgACACNgIYCyAHIAlqIQcgBCAJaiIEKAIEIQALIAQgAEF+cTYCBCADIAdBAXI2AgQgAyAHaiAHNgIAIAdB/wFNBEAgB0F4cUGsogJqIQACf0GEogIoAgAiAUEBIAdBA3Z0IgJxRQRAQYSiAiABIAJyNgIAIAAMAQsgACgCCAshASAAIAM2AgggASADNgIMIAMgADYCDCADIAE2AggMAQtBHyECIAdB////B00EQCAHQSYgB0EIdmciAGt2QQFxIABBAXRrQT5qIQILIAMgAjYCHCADQgA3AhAgAkECdEG0pAJqIQACQAJAQYiiAigCACIBQQEgAnQiBXFFBEBBiKICIAEgBXI2AgAgACADNgIADAELIAdBGSACQQF2a0EAIAJBH0cbdCECIAAoAgAhAQNAIAEiACgCBEF4cSAHRg0CIAJBHXYhASACQQF0IQIgACABQQRxaiIFKAIQIgENAAsgBSADNgIQCyADIAA2AhggAyADNgIMIAMgAzYCCAwBCyAAKAIIIgEgAzYCDCAAIAM2AgggA0EANgIYIAMgADYCDCADIAE2AggLIAhBCGohAAwCCwJAIAhFDQACQCAFKAIcIgFBAnRBtKQCaiICKAIAIAVGBEAgAiAANgIAIAANAUGIogIgB0F+IAF3cSIHNgIADAILIAhBEEEUIAgoAhAgBUYbaiAANgIAIABFDQELIAAgCDYCGCAFKAIQIgEEQCAAIAE2AhAgASAANgIYCyAFKAIUIgFFDQAgACABNgIUIAEgADYCGAsCQCADQQ9NBEAgBSADIAZqIgBBA3I2AgQgACAFaiIAIAAoAgRBAXI2AgQMAQsgBSAGQQNyNgIEIAUgBmoiBCADQQFyNgIEIAMgBGogAzYCACADQf8BTQRAIANBeHFBrKICaiEAAn9BhKICKAIAIgFBASADQQN2dCICcUUEQEGEogIgASACcjYCACAADAELIAAoAggLIQEgACAENgIIIAEgBDYCDCAEIAA2AgwgBCABNgIIDAELQR8hACADQf///wdNBEAgA0EmIANBCHZnIgBrdkEBcSAAQQF0a0E+aiEACyAEIAA2AhwgBEIANwIQIABBAnRBtKQCaiEBAkACQCAHQQEgAHQiAnFFBEBBiKICIAIgB3I2AgAgASAENgIAIAQgATYCGAwBCyADQRkgAEEBdmtBACAAQR9HG3QhACABKAIAIQEDQCABIgIoAgRBeHEgA0YNAiAAQR12IQEgAEEBdCEAIAIgAUEEcWoiBygCECIBDQALIAcgBDYCECAEIAI2AhgLIAQgBDYCDCAEIAQ2AggMAQsgAigCCCIAIAQ2AgwgAiAENgIIIARBADYCGCAEIAI2AgwgBCAANgIICyAFQQhqIQAMAQsCQCAJRQ0AAkAgAigCHCIBQQJ0QbSkAmoiBSgCACACRgRAIAUgADYCACAADQFBiKICIAtBfiABd3E2AgAMAgsgCUEQQRQgCSgCECACRhtqIAA2AgAgAEUNAQsgACAJNgIYIAIoAhAiAQRAIAAgATYCECABIAA2AhgLIAIoAhQiAUUNACAAIAE2AhQgASAANgIYCwJAIANBD00EQCACIAMgBmoiAEEDcjYCBCAAIAJqIgAgACgCBEEBcjYCBAwBCyACIAZBA3I2AgQgAiAGaiIFIANBAXI2AgQgAyAFaiADNgIAIAgEQCAIQXhxQayiAmohAEGYogIoAgAhAQJ/QQEgCEEDdnQiByAEcUUEQEGEogIgBCAHcjYCACAADAELIAAoAggLIQQgACABNgIIIAQgATYCDCABIAA2AgwgASAENgIIC0GYogIgBTYCAEGMogIgAzYCAAsgAkEIaiEACyAKQRBqJAAgAAsKACAAIAEQQkEACwwAIAAgASACEENBAAu0AQEBfyAAIAEoAABB////H3E2AgAgACABKAADQQJ2QYP+/x9xNgIEIAAgASgABkEEdkH/gf8fcTYCCCAAIAEoAAlBBnZB///AH3E2AgwgASgADCECIABCADcCFCAAQgA3AhwgAEEANgIkIAAgAkEIdkH//z9xNgIQIAAgASgAEDYCKCAAIAEoABQ2AiwgACABKAAYNgIwIAEoABwhASAAQQA6AFAgAEIANwM4IAAgATYCNEEAC3gCAn8BfgJAIwBBEGsiBCQAIAGtIAKtQiCGhCIFQoCAgIAQVARAIAVCAFIEQCAFpyEBA0AgBEEAOgAPIAAgA2pB0JsCIARBD2pBABAAOgAAIANBAWoiAyABRw0ACwsgBEEQaiQADAELQcwJQcAIQcYBQYAIEAEACwsSACAAIAEgAq0gA61CIIaEEA0LFgAgACABIAKtIAOtQiCGhCAEQQAQRgsbACAAIAEgAiADrSAErUIghoQgBUEAEEcaQQALigEBAX4CfwJAAkACQCADrSAErUIghoQiBkLAAFQNACAGQkB8IgZCv////w9WDQAgAiACQUBrIgMgBiAFQQAQRkUNASAARQ0AIABBACAGpxAJGgtBfyECIAFFDQEgAUIANwMAQX8MAgsgAQRAIAEgBjcDAAtBACECIABFDQAgACADIAanEDYaCyACCwt8AgJ/AX4jAEEQayIGJAAgACAGQQhqIABBQGsgAiADrSAErUIghoQiCKciAhA2IAggBUEAEEcaAkAgBikDCELAAFIEQCABBEAgAUIANwMACyAAQQAgAkFAaxAJGkF/IQcMAQsgAUUNACABIAhCQH03AwALIAZBEGokACAHC+QBAQN/IwAiBUHAAWtBQHEiBCQAIAQgAygAAEH///8fcTYCQCAEIAMoAANBAnZBg/7/H3E2AkQgBCADKAAGQQR2Qf+B/x9xNgJIIAQgAygACUEGdkH//8AfcTYCTCADKAAMIQYgBEIANwJUIARCADcCXCAEQQA2AmQgBCAGQQh2Qf//P3E2AlAgBCADKAAQNgJoIAQgAygAFDYCbCAEIAMoABg2AnAgAygAHCEDIARBADoAkAEgBEIANwN4IAQgAzYCdCAEQUBrIgMgASACEEMgAyAEQTBqIgEQQiAAIAEQIiAFJAAL9gUBB34gBCkAACIFQvXKzYPXrNu38wCFIQcgBULh5JXz1uzZvOwAhSEJIAQpAAgiBULt3pHzlszct+QAhSEGIAVC88rRy6eM2bL0AIUhCCABIAEgAq0gA61CIIaEIgWnIgJqIAJBB3EiAmsiA0cEQANAIAkgASkAACIKIAiFIgh8IgkgBiAHfCIHIAZCDYmFIgZ8IgsgBkIRiYUiBkINiSAGIAhCEIkgCYUiCSAHQiCJfCIHfCIIhSIGQhGJIAYgCUIViSAHhSIHIAtCIIl8Igl8IguFIQYgB0IQiSAJhSIHQhWJIAcgCEIgiXwiB4UhCCALQiCJIQkgByAKhSEHIAFBCGoiASADRw0ACwsgBUI4hiEFAkACQAJAAkACQAJAAkACQCACQQFrDgcGBQQDAgEABwsgATEABkIwhiAFhCEFCyABMQAFQiiGIAWEIQULIAExAARCIIYgBYQhBQsgATEAA0IYhiAFhCEFCyABMQACQhCGIAWEIQULIAExAAFCCIYgBYQhBQsgBSABMQAAhCEFCyAAIAUgCIUiCEIQiSAIIAl8IgmFIghCFYkgCCAGIAd8IgdCIIl8IgiFIgpCEIkgCiAJIAcgBkINiYUiBnwiB0IgiXwiCYUiCkIViSAKIAggByAGQhGJhSIGfCIHQiCJfCIIhSIKQhCJIAkgBkINiSAHhSIGfCIHQiCJQv8BhSAKfCIJhSIKQhWJIAZCEYkgB4UiBiAFIAiFfCIFQiCJIAp8IgeFIghCEIkgBSAGQg2JhSIFIAl8IgZCIIkgCHwiCYUiCEIViSAFQhGJIAaFIgUgB3wiBkIgiSAIfCIHhSIIQhCJIAVCDYkgBoUiBSAJfCIGQiCJIAh8IgmFIghCFYkgBUIRiSAGhSIFIAd8IgZCIIkgCHwiB4UiCEIQiSAFQg2JIAaFIgUgCXwiBkIgiSAIfCIJhUIViSAFQhGJIAaFIgVCDYkgBSAHfIUiBUIRiYUgBSAJfCIFQiCJhSAFhTcAAEEAC7MGAgN+AX8CfyAFrSAGrUIghoQhCiAIrSAJrUIghoQhDCMAQZADayIFJAAgAgRAIAJCADcDAAsgAwRAIANB/wE6AAALQX8hDQJAAkAgCkIRVA0AIApCEX0iC0Lv////D1oNASAFQSBqIghCwAAgAEEgaiIJIAAQHCAFQeAAaiIGIAhBjJMCKAIAEQEAGiAIQcAAEAggBiAHIAxBkJMCKAIAEQAAGiAGQbCPAkIAIAx9Qg+DQZCTAigCABEAABogBUIANwNYIAVCADcDUCAFQgA3A0ggBUFAa0IANwMAIAVCADcDOCAFQgA3AzAgBUIANwMoIAVCADcDICAFIAQtAAA6ACAgCCAIQsAAIAlBASAAECEgBS0AICEHIAUgBC0AADoAICAGIAhCwABBkJMCKAIAEQAAGiAGIARBAWoiBCALQZCTAigCABEAABogBkGwjwIgCkIBfUIPg0GQkwIoAgARAAAaIAUgDDcDGCAGIAVBGGoiCEIIQZCTAigCABEAABogBSAKQi98NwMYIAYgCEIIQZCTAigCABEAABogBiAFQZSTAigCABEBABogBkGAAhAIIAUgBCALp2pBEBA9BEAgBUEQEAgMAQsgASAEIAsgCUECIAAQISAAIAAtACQgBS0AAHM6ACQgACAALQAlIAUtAAFzOgAlIAAgAC0AJiAFLQACczoAJiAAIAAtACcgBS0AA3M6ACcgACAALQAoIAUtAARzOgAoIAAgAC0AKSAFLQAFczoAKSAAIAAtACogBS0ABnM6ACogACAALQArIAUtAAdzOgArIAkQTgJAIAdBAnFFBEAgCUEEECVFDQELIAUgACkAGDcD+AIgBSAAKQAQNwPwAiAFIAApAAA3A+ACIAUgACkACDcD6AIgBSAAKQAkNwOAAyAFQeACaiIBIAFCKCAJQQAgAEHMmwIoAgARCgAaIAAgBSkD+AI3ABggACAFKQPwAjcAECAAIAUpA+gCNwAIIAAgBSkD4AI3AAAgBSkDgAMhCiAAQQE2ACAgACAKNwAkCyACBEAgAiALNwMAC0EAIQ0gA0UNACADIAc6AAALIAVBkANqJAAgDQwBCxALAAsL5AUBAn4CfyAErSAFrUIghoQhCiAHrSAIrUIghoQhCyMAQYADayIEJAAgAgRAIAJCADcDAAsgCkLv////D1QEQCAEQRBqIgdCwAAgAEEgaiIIIAAQHCAEQdAAaiIFIAdBjJMCKAIAEQEAGiAHQcAAEAggBSAGIAtBkJMCKAIAEQAAGiAFQbCPAkIAIAt9Qg+DQZCTAigCABEAABogBEIANwNIIARBQGtCADcDACAEQgA3AzggBEIANwMwIARCADcDKCAEQgA3AyAgBEIANwMQIARCADcDGCAEIAk6ABAgByAHQsAAIAhBASAAECEgBSAHQsAAQZCTAigCABEAABogASAELQAQOgAAIAFBAWoiASADIAogCEECIAAQISAFIAEgCkGQkwIoAgARAAAaIAVBsI8CIApCD4NBkJMCKAIAEQAAGiAEIAs3AwggBSAEQQhqIgNCCEGQkwIoAgARAAAaIAQgCkJAfTcDCCAFIANCCEGQkwIoAgARAAAaIAUgASAKp2oiAUGUkwIoAgARAQAaIAVBgAIQCCAAIAAtACQgAS0AAHM6ACQgACAALQAlIAEtAAFzOgAlIAAgAC0AJiABLQACczoAJiAAIAAtACcgAS0AA3M6ACcgACAALQAoIAEtAARzOgAoIAAgAC0AKSABLQAFczoAKSAAIAAtACogAS0ABnM6ACogACAALQArIAEtAAdzOgArIAgQTgJAIAlBAnFFBEAgCEEEECVFDQELIAQgACkAGDcD6AIgBCAAKQAQNwPgAiAEIAApAAA3A9ACIAQgACkACDcD2AIgBCAAKQAkNwPwAiAEQdACaiIBIAFCKCAIQQAgAEHMmwIoAgARCgAaIAAgBCkD6AI3ABggACAEKQPgAjcAECAAIAQpA9gCNwAIIAAgBCkD0AI3AAAgBCkD8AIhCyAAQQE2ACAgACALNwAkCyACBEAgAiAKQhF8NwMACyAEQYADaiQAQQAMAQsQCwALCzEBAX4gAq0gA61CIIaEIgZC8P///w9aBEAQCwALIABBEGogACABIAYgBCAFECkaQQALgwQCAn8EfiMAQSBrIgYkACAEKQAAIQggBkIANwMYIAYgCDcDECAGQgA3AwggBiACrSADrUIghoQ3AwACfyABQcEAa0FOTQRAQYCiAkEcNgIAQX8MAQsgAUHBAGtBQE8EfwJ/IAZBEGohAiABQf8BcSEDIwAiASEEIAFBgARrQUBxIgEkAAJAIABFDQAgA0HBAGtB/wFxQb8BTQ0AIAVFIgcNACAHDQACfiAGRQRAQp/Y+dnCkdqCm38hCELRhZrv+s+Uh9EADAELIAYpAAhCn9j52cKR2oKbf4UhCCAGKQAAQtGFmu/6z5SH0QCFCyEKAn4gAkUEQEL5wvibkaOz8NsAIQlC6/qG2r+19sEfDAELIAIpAAhC+cL4m5Gjs/DbAIUhCSACKQAAQuv6htq/tfbBH4ULIQsgAUFAa0EAQaUCEAkaIAEgCTcDOCABIAs3AzAgASAINwMoIAEgCjcDICABQvHt9Pilp/2npX83AxggAUKr8NP0r+68tzw3AxAgAUK7zqqm2NDrs7t/NwMIIAEgA61CgMAAhEKIkveV/8z5hOoAhTcDACABQYADaiICQSBqQQBB4AAQCRogAiAFQSAQChogAUHgAGogAkGAARAKGiABQYABNgLgAiACQYABEAggASAAIAMQShogBCQAQQAMAQsQCwALBUF/CwsgBkEgaiQACxIAIAAgASACrSADrUIghoQQIAsSACAAIAEgAq0gA61CIIaEEBELGAAgACABIAIgA60gBK1CIIaEIAUgBhBsC3cCA38BfiMAIgYgBkHAA2tBQHEiBiQAQX8hByACrSADrUIghoQiCUIwWgRAIAZBQGsiAkEAQQBBGBAnGiACIAFCIBARGiACIARCIBARGiACIAZBIGoiAkEYECsaIAAgAUEgaiAJQiB9IAIgASAFEGQhBwskACAHC74BAgR/AX4gAq0gA61CIIaEIQkjACICIAJBgARrQUBxIgIkAEF/IQMgAkFAayIFIAJBIGoiBhBERQRAIAJBgAFqIgNBAEEAQRgQJxogAyAFQiAQERogAyAEQiAQERogAyACQeAAaiIHQRgQKxogAEEgaiABIAkgByAEIAYQZSEDIAAgAikDWDcAGCAAIAIpA1A3ABAgACACKQNINwAIIAAgAikDQDcAACAGQSAQCCAFQSAQCCAHQRgQCAskACADCxgAIAAgASACrSADrUIghoQgBCAFIAYQZAtIAQF+IAOtIAStQiCGhCEIIwBBIGsiAyQAQX8hBCADIAYgBxAmRQRAIAAgASACIAggBSADEDUhBCADQSAQCAsgA0EgaiQAIAQLGAAgACABIAKtIAOtQiCGhCAEIAUgBhBlCy4BAX4gAq0gA61CIIaEIgZC8P///w9aBEAQCwALIABBEGogACABIAYgBCAFECkLSAEBfiADrSAErUIghoQhCCMAQSBrIgMkAEF/IQQgAyAGIAcQJkUEQCAAIAEgAiAIIAUgAxApIQQgA0EgEAgLIANBIGokACAEC4YBAQJ/IwBBgARrIgUkACAFQSBqIgYgBEEgEB8aIAYgASACrSADrUIghoQQEhogBiAFQcADahAeIAUgBSkD2AM3AxggBSAFKQPQAzcDECAFIAUpA8gDNwMIIAUgBSkDwAM3AwAgACAFEDQhASAFIABBIBA9IAVBgARqJABBfyABIAAgBUYbcgtoAQF/IwBB4ANrIgUkACAFIARBIBAfGiAFIAEgAq0gA61CIIaEEBIaIAUgBUGgA2oQHiAAIAUpA7gDNwAYIAAgBSkDsAM3ABAgACAFKQOoAzcACCAAIAUpA6ADNwAAIAVB4ANqJABBAAtaAQJ+IAetIAitQiCGhCEMQX8hAiAErSAFrUIghoQiC0IQWgRAIAAgAyALQhB9IAMgC6dqQRBrIAYgDCAJIAoQaiECCyABBEAgAUIAIAtCEH0gAhs3AwALIAILJAAgACACIAOtIAStQiCGhCAFIAYgB60gCK1CIIaEIAkgChBqC1gBAn4CfyAGrSAHrUIghoQhDCADrSAErUIghoQiC0Lw////D1QEQCAAIAAgC6dqQQAgAiALIAUgDCAJIAoQaxogAQRAIAEgC0IQfDcDAAtBAAwBCxALAAsLJgAgACABIAIgAyAErSAFrUIghoQgBiAHrSAIrUIghoQgCiALEGsLWgECfiAHrSAIrUIghoQhDEF/IQIgBK0gBa1CIIaEIgtCEFoEQCAAIAMgC0IQfSADIAunakEQayAGIAwgCSAKEGYhAgsgAQRAIAFCACALQhB9IAIbNwMACyACCyQAIAAgAiADrSAErUIghoQgBSAGIAetIAitQiCGhCAJIAoQZgtaAQJ+IAetIAitQiCGhCEMQX8hAiAErSAFrUIghoQiC0IQWgRAIAAgAyALQhB9IAMgC6dqQRBrIAYgDCAJIAoQZyECCyABBEAgAUIAIAtCEH0gAhs3AwALIAILJAAgACACIAOtIAStQiCGhCAFIAYgB60gCK1CIIaEIAkgChBnC1gBAn4CfyAGrSAHrUIghoQhDCADrSAErUIghoQiC0Lw////D1QEQCAAIAAgC6dqQQAgAiALIAUgDCAJIAoQaBogAQRAIAEgC0IQfDcDAAtBAAwBCxALAAsLJgAgACABIAIgAyAErSAFrUIghoQgBiAHrSAIrUIghoQgCiALEGgL1QEBA38jACIFQYABa0FAcSIEJAAgBCADKAAAQf///x9xNgIAIAQgAygAA0ECdkGD/v8fcTYCBCAEIAMoAAZBBHZB/4H/H3E2AgggBCADKAAJQQZ2Qf//wB9xNgIMIAMoAAwhBiAEQgA3AhQgBEIANwIcIARBADYCJCAEIAZBCHZB//8/cTYCECAEIAMoABA2AiggBCADKAAUNgIsIAQgAygAGDYCMCADKAAcIQMgBEEAOgBQIARCADcDOCAEIAM2AjQgBCABIAIQQyAEIAAQQiAFJABBAAtYAQJ+An8gBq0gB61CIIaEIQwgA60gBK1CIIaEIgtC8P///w9UBEAgACAAIAunakEAIAIgCyAFIAwgCSAKEGkaIAEEQCABIAtCEHw3AwALQQAMAQsQCwALCyYAIAAgASACIAMgBK0gBa1CIIaEIAYgB60gCK1CIIaEIAogCxBpC1kBAn4gB60gCK1CIIaEIQtBfyEBAkAgA60gBK1CIIaEIgxC3////w9WDQAgC0Lf////D1YNACAAIAIgDKcgBUEgIAYgC6cgCSAKQbybAigCABEIACEBCyABC4ABAQN+IAetIAitQiCGhCEMQX8hAgJAIAStIAWtQiCGhCILQiBUDQAgC0IgfSINQt////8PVg0AIAxC3////w9WDQAgACADIA2nIAMgC6dqQSBrQSAgBiAMpyAJIApBvJsCKAIAEQgAIQILIAEEQCABQgAgC0IgfSACGzcDAAsgAgtgAQJ+IAStIAWtQiCGhCEMIAetIAitQiCGhCENIAIEQCACQiA3AwALIA1C4P///w9UIAxC3////w9YcUUEQBALAAsgACABQSAgAyAMpyAGIA2nIAogC0G4mwIoAgARCAALdgECfgJ/IAatIAetQiCGhCELAkAgA60gBK1CIIaEIgxC3////w9WDQAgC0Lg////D1oNACAAIAAgDKciA2pBICACIAMgBSALpyAJIApBuJsCKAIAEQgAIQAgAQRAIAFCACAMQiB8IAAbNwMACyAADAELEAsACwtZAQJ+IAetIAitQiCGhCELQX8hAQJAIAOtIAStQiCGhCIMQt////8PVg0AIAtC3////w9WDQAgACACIAynIAVBICAGIAunIAkgCkG0mwIoAgARCAAhAQsgAQuAAQEDfiAHrSAIrUIghoQhDEF/IQICQCAErSAFrUIghoQiC0IgVA0AIAtCIH0iDULf////D1YNACAMQt////8PVg0AIAAgAyANpyADIAunakEga0EgIAYgDKcgCSAKQbSbAigCABEIACECCyABBEAgAUIAIAtCIH0gAhs3AwALIAILYAECfiAErSAFrUIghoQhDCAHrSAIrUIghoQhDSACBEAgAkIgNwMACyANQuD///8PVCAMQt////8PWHFFBEAQCwALIAAgAUEgIAMgDKcgBiANpyAKIAtBsJsCKAIAEQgAC3YBAn4CfyAGrSAHrUIghoQhCwJAIAOtIAStQiCGhCIMQt////8PVg0AIAtC4P///w9aDQAgACAAIAynIgNqQSAgAiADIAUgC6cgCSAKQbCbAigCABEIACEAIAEEQCABQgAgDEIgfCAAGzcDAAsgAAwBCxALAAsLBABBMAv9AQEFfyMAIgUhCSAFQYAEa0FAcSIFJAAgACABIAAbIgcEQEF/IQYgBUHgAGoiCCADIAQQMEUEQCABIAAgARshA0EAIQAgBUGAAWoiAUEAQQBBwAAQJxogASAIQiAQERogCEEgEAggASAEQiAQERogASACQiAQERogASAFQSBqQcAAECsaIAFBgAMQCANAIAAgA2ogBUEgaiIBIABqIgItAAA6AAAgACAHaiACLQAgOgAAIAMgAEEBciICaiABIAJqLQAAOgAAIAIgB2ogAEEhciABai0AADoAACAAQQJqIgBBIEcNAAsgAUHAABAIQQAhBgsgCSQAIAYPCxALAAv9AQEFfyMAIgUhCSAFQYAEa0FAcSIFJAAgACABIAAbIgcEQEF/IQYgBUHgAGoiCCADIAQQMEUEQCABIAAgARshA0EAIQAgBUGAAWoiAUEAQQBBwAAQJxogASAIQiAQERogCEEgEAggASACQiAQERogASAEQiAQERogASAFQSBqQcAAECsaIAFBgAMQCANAIAAgB2ogBUEgaiIBIABqIgItAAA6AAAgACADaiACLQAgOgAAIAcgAEEBciICaiABIAJqLQAAOgAAIAIgA2ogAEEhciABai0AADoAACAAQQJqIgBBIEcNAAsgAUHAABAIQQAhBgsgCSQAIAYPCxALAAsfACABQSAgAkIgQQBBABBsGiAAIAFBnJMCKAIAEQEAC6EJAQh/IAdBeXFBAUYEQAJAAn8CQAJAAkACQAJAAkAgAwR/AkACQCAHQQNNBEADQCAIIQsCQAJAAkACQANAIAIgC2osAAAiCkHQ/wBzQQFqQX9zQQh2QT9xIApB1P8Ac0EBakF/c0EIdkE+cXIgCkG5AWogCkGf/wNqQX9zQfoAIAprQX9zcUEIdnFB/wFxciAKQQRqIApB0P8DakF/c0E5IAprQX9zcUEIdnFB/wFxckHaACAKa0F/cyAKQcEAayIJQX9zcUEIdiAJcUH/AXFyIglBAWsgCkG+/wNzQQFqcUEIdkH/AXEgCXIiCUH/AUcNAUEAIQkgBEUNCCAEIAoQIwRAIAtBAWoiCyADTw0DDAELCyALIQgMBwsgCSAOQQZ0aiEOIAxBAUsNASAMQQZqIQwMAgsgAyAIQQFqIgAgACADSRshCAwFCyAMQQJrIQwgASANTQ0DIAAgDWogDiAMdjoAACANQQFqIQ0LQQAhCSALQQFqIgggA0kNAAsMAgsDQAJAIAIgC2osAAAiCkGg/wBzQQFqQX9zQQh2QT9xIApB0v8Ac0EBakF/c0EIdkE+cXIgCkG5AWogCkGf/wNqQX9zQfoAIAprQX9zcUEIdnFB/wFxciAKQQRqIApB0P8DakF/c0E5IAprQX9zcUEIdnFB/wFxckHaACAKa0F/cyAKQcEAayIJQX9zcUEIdiAJcUH/AXFyIglBAWsgCkG+/wNzQQFqcUEIdkH/AXEgCXIiCUH/AUYEQEEAIQkgBEUNBCAEIAoQIwRAIAtBAWoiCyADTw0CDAMLIAshCAwECyAJIA5BBnRqIQ4CQCAMQQJJBEAgDEEGaiEMDAELIAxBAmshDCABIA1NDQMgACANaiAOIAx2OgAAIA1BAWohDQtBACEJIAtBAWoiCCADTw0DIAghCwwBCwsgAyAIQQFqIgAgACADSRshCAwBCyALIQhBgKICQcQANgIAQQEhCQsgDEEESw0BIAgFQQALIQBBfyEBIAkEQCAAIQgMCAsgDkF/IAx0QX9zcQRAIAAhCAwICyAHQQJxBEAgACEHDAMLIAxBAkkEQCAAIQcMAwsgACADIAAgA0sbIQggDEEBdiELIARFDQEgACEHA0AgByAIRgRAQcQAIQkMBQsCQCACIAdqLAAAIgBBPUYEQCALQQFrIQsMAQsgBCAAECMNAEEcIQkgByEIDAULIAdBAWohByALDQALDAILQX8hAQwGC0HEACEJIAAgA08NASAAIAJqLQAAQT1HBEAgACEIQRwhCQwCCyAAIAtqIQcgC0EBRg0AIABBAWoiDCAIRg0BIAIgDGotAABBPUcEQCAMIQhBHCEJDAILIAtBAkYNACAAQQJqIgAgCEYNAUEcIQkgACIIIAJqLQAAQT1HDQELQQAhASAEDQEMAgtBgKICIAk2AgAMAwsgAyAHTQ0AA0AgBCACIAdqLAAAECNFDQEgB0EBaiIHIANHDQALIAMMAQsgBwshCCANIQ8LAkAgBgRAIAYgAiAIajYCAAwBCyADIAhGDQBBgKICQRw2AgBBfyEBCyAFBEAgBSAPNgIACyABDwsQCwALiAYBB38CQAJAAkACQAJAAn8CQAJAIARBeXFBAUcNACADQQNuIgVBAnQhBwJAIAVBfWwgA2oiBUUNACAEQQJxRQRAIAdBBGohBwwBCyAFQQF2IAdqQQJqIQcLIAEgB00NAAJAIARBBE8EQCADRQRAQQAhBAwHC0EAIQVBACEEDAELIANFBEBBACEEDAYLQQAhBUEAIQQMAgsDQCACIAhqLQAAIAlBCHRyIQkgBUEIciEFA0AgACAEaiAJIAVBBmsiBXZBP3EiBkHB/wFqQX9zQQh2Qd8AcSAGQeb/A2pBCHYiCiAGQcEAanFyIAZB/AFqIAZBwv8DakEIdnEgBkHM/wNqQQh2IgtBf3NxciAGQcH/AHNBAWpBf3NBCHZBLXFyIAZBxwBqIApBf3NxIAtxcjoAACAEQQFqIQQgBUEFSw0ACyAIQQFqIgggA0cNAAsgBUUNA0HfACEDQS0hCEHB/wEMAgsQCwALA0AgAiAIai0AACAJQQh0ciEJIAVBCHIhBQNAIAAgBGogCSAFQQZrIgV2QT9xIgZBwf8AakF/c0EIdkEvcSAGQeb/A2pBCHYiCiAGQcEAanFyIAZB/AFqIAZBwv8DakEIdnEgBkHM/wNqQQh2IgtBf3NxciAGQcH/AHNBAWpBf3NBCHZBK3FyIAZBxwBqIApBf3NxIAtxcjoAACAEQQFqIQQgBUEFSw0ACyAIQQFqIgggA0cNAAsgBUUNAUEvIQNBKyEIQcH/AAshAiAAIARqIAMgAiAJQQYgBWt0QT9xIgJqQX9zQQh2cSACQeb/A2pBCHYiAyACQcEAanFyIAJB/AFqIAJBwv8DakEIdnEgAkHM/wNqQQh2IgVBf3NxciAIIAJBwf8Ac0EBakF/c0EIdnFyIAJBxwBqIANBf3NxIAVxcjoAACAEQQFqIQQLIAQgB0sNAQsgBCAHSQ0BIAQhBwwCC0GMCEHaCEHnAUGUChABAAsgACAEakE9IAcgBGsQCRoLIAAgB2pBACABIAdBAWoiAiABIAJLGyAHaxAJGiAACz0BAX8gAUF5cUEBRwRAEAsACyAAIABBA24iAEF9bGoiAkEBakEEIAFBAnEbQQAgAkEDcRsgAEECdGpBAWoLogUBCX8CfwJAAkACQAJAAkACQAJAAkAgAwRAIAQNAUEBIQhBACEEA0AgAiAHai0AACIMQd8BcUE3a0H/AXEiC0H2/wNqIAtB8P8DanNBCHYiDSAMQTBzIgxB9v8DakEIdiIOckH/AXFFDQQgASAKTQ0DIAsgDXEgDCAOcXIhCwJAIAlB/wFxRQRAIAtBBHQhBAwBCyAAIApqIAQgC3I6AAAgCkEBaiEKCyAJQX9zIQkgB0EBaiIHIANHDQALIAMhBwwDC0EAIAZFDQgaDAYLA0ACQAJAAkACfwJAIAIgB2otAAAiC0HfAXFBN2tB/wFxIghB9v8DaiAIQfD/A2pzQQh2IgwgC0EwcyINQfb/A2pBCHYiDnJB/wFxRQRAIAlB/wFxDQlBACEIIAQgCxAjRQ0LIAdBAWoiCSEHIAMgCUsNAQwLCyABIApNDQYgCCAMcSANIA5xciIIIAlB/wFxRQ0BGiAAIApqIAggD3I6AAAgCkEBaiEKDAQLA0AgAiAHai0AACILQd8BcUE3a0H/AXEiDEH2/wNqIAxB8P8DanNBCHYiDSALQTBzIg5B9v8DakEIdiIPckH/AXFFBEAgBCALECNFDQsgAyAHQQFqIgdLDQEMAwsLIAEgCk0NAiAMIA1xIA4gD3FyC0EEdCEPQQAhCQwCCyADIAkgAyAJSxshBwwHC0EAIQkMAgsgCUF/cyEJQQEhCCAHQQFqIgcgA0kNAAsMAQtBgKICQcQANgIAQQAhCAsgCUH/AXFFDQELQYCiAkEcNgIAQX8hCCAHQQFrIQdBACEKDAELIApBACAIGyEKIAhBAWshCAsgBg0AIAMgB0cNASAIDAILIAYgAiAHajYCACAIDAELQYCiAkEcNgIAQX8LIAUEQCAFIAo2AgALC50BAQN/AkAgA0H+////B0sNACADQQF0IAFPDQBBACEBIAMEfwNAIAAgAUEBdGoiBCABIAJqLQAAIgVBD3EiBkEIdCAGQfb/A2pBgLIDcWpBgK4BakEIdjoAASAEIAVBBHYiBCAEQfb/A2pBCHZB2QFxakHXAGo6AAAgAUEBaiIBIANHDQALIANBAXQFQQALIABqQQA6AAAgAA8LEAsACwoAIAAgASACEDALEAAgACABQZyTAigCABEBAAsIACAAIAEQRAtaAQF/IwBBQGoiAyQAIAMgAkIgECAaIAEgAykDGDcAGCABIAMpAxA3ABAgASADKQMINwAIIAEgAykDADcAACADQcAAEAggACABQZyTAigCABEBACADQUBrJAALBABBDAsnAQF/IwBBQGoiAyQAIAAgAxAUIAEgA0LAACACQQEQRiADQUBrJAALKQEBfyMAQUBqIgQkACAAIAQQFCABIAIgBELAACADQQEQRyAEQUBrJAALCAAgABAbQQALuwECAn8DfiMAQcABayICJAAgAkEgEBggASACQiAQIBogASABLQAAQfgBcToAACABIAEtAB9BP3FBwAByOgAfIAJBIGoiAyABEDEgACADEDIgASACKQMYNwAYIAEgAikDEDcAECABIAIpAwg3AAggASACKQMANwAAIAApAAghBCAAKQAQIQUgACkAACEGIAEgACkAGDcAOCABIAU3ADAgASAENwAoIAEgBjcAICACQSAQCCACQcABaiQAQQALtgECAX8DfiMAQaABayIDJAAgASACQiAQIBogASABLQAAQfgBcToAACABIAEtAB9BP3FBwAByOgAfIAMgARAxIAAgAxAyIAIpAAghBCACKQAQIQUgAikAACEGIAEgAikAGDcAGCABIAU3ABAgASAENwAIIAEgBjcAACAAKQAIIQQgACkAECEFIAApAAAhBiABIAApABg3ADggASAFNwAwIAEgBDcAKCABIAY3ACAgA0GgAWokAEEACwUAQb9/C20BAX8jAEFAaiICJAAgAiABQiAQIBogAiACLQAAQfgBcToAACACIAItAB9BP3FBwAByOgAfIAAgAikDEDcAECAAIAIpAwg3AAggACACKQMANwAAIAAgAikDGDcAGCACQcAAEAggAkFAayQAQQALrRQCEX8ofiMAQYACayIDJABBfyESAkAgARA/DQAgA0HgAGoiBCABEF8NACMAQYAQayICJAAgAkGABWoiASAEEA4gAiAEKQIgNwPgAiACIAQpAhg3A9gCIAIgBCkCEDcD0AIgAiAEKQIINwPIAiACIAQpAgA3A8ACIAIgBCkCMDcD8AIgAiAEKQI4NwP4AiACIARBQGspAgA3A4ADIAIgBCkCSDcDiAMgAiAEKQIoNwPoAiACIAQpAlg3A5gDIAIgBCkCYDcDoAMgAiAEKQJoNwOoAyACIAQpAnA3A7ADIAIgBCkCUDcDkAMgAkHgA2oiBSACQcACaiIJEBkgAkGgAWoiBCAFIAJB2ARqIgYQBiACQcgBaiACQYgEaiIHIAJBsARqIggQBiACQfABaiAIIAYQBiACQZgCaiAFIAcQBiAFIAQgARAPIAkgBSAGEAYgAkHoAmoiCiAHIAgQBiACQZADaiILIAggBhAGIAJBuANqIgwgBSAHEAYgAkGgBmoiASAJEA4gBSAEIAEQDyAJIAUgBhAGIAogByAIEAYgCyAIIAYQBiAMIAUgBxAGIAJBwAdqIgEgCRAOIAUgBCABEA8gCSAFIAYQBiAKIAcgCBAGIAsgCCAGEAYgDCAFIAcQBiACQeAIaiIBIAkQDiAFIAQgARAPIAkgBSAGEAYgCiAHIAgQBiALIAggBhAGIAwgBSAHEAYgAkGACmoiASAJEA4gBSAEIAEQDyAJIAUgBhAGIAogByAIEAYgCyAIIAYQBiAMIAUgBxAGIAJBoAtqIgEgCRAOIAUgBCABEA8gCSAFIAYQBiAKIAcgCBAGIAsgCCAGEAYgDCAFIAcQBiACQcAMaiIBIAkQDiAFIAQgARAPIAkgBSAGEAYgCiAHIAgQBiALIAggBhAGIAwgBSAHEAYgAkHgDWogCRAOIAJCADcDICACQgA3AxggAkIANwMQIAJCADcDCCACQgA3AjQgAkIANwI8IAJCADcCRCACQoCAgIAQNwJMIAJCADcDACACQgA3AiwgAkEBNgIoIAJB1ABqQQBBzAAQCRogAkH4AGohCSACQdgPaiEPIAJBsA9qIRAgAkHQAGohDSACQShqIQ5B/AEhBANAIAJBqA9qIAIpAyA3AwAgAkGgD2ogAikDGDcDACACQZgPaiACKQMQNwMAIAJBkA9qIAIpAwg3AwAgAiACKQMANwOIDyAQIA4pAiA3AiAgECAOKQIYNwIYIBAgDikCEDcCECAQIA4pAgg3AgggECAOKQIANwIAIA8gDSkCIDcCICAPIA0pAhg3AhggDyANKQIQNwIQIA8gDSkCCDcCCCAPIA0pAgA3AgAgBCIBQYCFAmosAAAhESACQeADaiIFIAJBiA9qEBkCQCARQQBKBEAgAkHAAmoiBCAFIAYQBiAKIAcgCBAGIAsgCCAGEAYgDCAFIAcQBiAFIAQgAkGABWogEUH+AXFBAXZBoAFsahAPDAELIBFBAE4NACACQcACaiIEIAJB4ANqIgUgBhAGIAogByAIEAYgCyAIIAYQBiAMIAUgBxAGIAUgBCACQYAFakEAIBFrQf4BcUEBdkGgAWxqEF4LIAIgAkHgA2oiBCAGEAYgDiAHIAgQBiANIAggBhAGIAkgBCAHEAYgAUEBayEEIAENAAsgAkGABWoiASACEBYgAUEgECUgAkGAEGokAEUNAEEAIRIgA0EAIAMoAqwBIgZrNgIkIANBACADKAKoASIMazYCICADQQAgAygCpAEiB2s2AhwgA0EAIAMoAqABIgVrNgIYIANBACADKAKcASIIazYCFCADQQAgAygCmAEiCWs2AhAgA0EAIAMoApQBIgprNgIMIANBACADKAKQASIEazYCCCADQQAgAygCjAEiC2s2AgQgA0EBIAMoAogBIgFrNgIAIAMgAxAzIAMgAygCBCINrCIbIAhBAXSsIiV+IAM0AgAiFSAFrCIWfnwgAygCCCIOrCIdIAmsIhd+fCADKAIMIg+sIh8gCkEBdKwiJn58IAMoAhAiEKwiISAErCIYfnwgAygCFCIRrCInIAtBAXSsIih+fCADKAIYIgWsIjEgAUEBaqwiGX58IAMoAhwiCUETbKwiICAGQQF0rCIpfnwgAygCICIEQRNsrCIeIAysIhp+fCADKAIkIgFBE2ysIhwgB0EBdKwiKn58IBcgG34gFSAIrCIrfnwgHSAKrCIsfnwgGCAffnwgISALrCItfnwgGSAnfnwgBUETbKwiIiAGrCIufnwgGiAgfnwgHiAHrCIvfnwgFiAcfnwgGyAmfiAVIBd+fCAYIB1+fCAfICh+fCAZICF+fCARQRNsrCIwICl+fCAaICJ+fCAgICp+fCAWIB5+fCAcICV+fCIzQoCAgBB8IjRCGod8IjVCgICACHwiNkIZh3wiEyATQoCAgBB8IiNCgICA4A+DfT4CSCADIBsgKH4gFSAYfnwgGSAdfnwgD0ETbKwiFCApfnwgEEETbKwiJCAafnwgKiAwfnwgFiAifnwgICAlfnwgFyAefnwgHCAmfnwgGSAbfiAVIC1+fCAOQRNsrCITIC5+fCAUIBp+fCAkIC9+fCAWIDB+fCAiICt+fCAXICB+fCAeICx+fCAYIBx+fCANQRNsrCApfiAVIBl+fCATIBp+fCAUICp+fCAWICR+fCAlIDB+fCAXICJ+fCAgICZ+fCAYIB5+fCAcICh+fCI3QoCAgBB8IjhCGod8IjlCgICACHwiOkIZh3wiEyATQoCAgBB8IhRCgICA4A+DfT4COCADIBYgG34gFSAvfnwgHSArfnwgFyAffnwgISAsfnwgGCAnfnwgLSAxfnwgCawiMiAZfnwgHiAufnwgGiAcfnwgI0Iah3wiEyATQoCAgAh8IiNCgICA8A+DfT4CTCADIBggG34gFSAsfnwgHSAtfnwgGSAffnwgJCAufnwgGiAwfnwgIiAvfnwgFiAgfnwgHiArfnwgFyAcfnwgFEIah3wiEyATQoCAgAh8IhRCgICA8A+DfT4CPCADIBsgKn4gFSAafnwgFiAdfnwgHyAlfnwgFyAhfnwgJiAnfnwgGCAxfnwgKCAyfnwgBKwiJCAZfnwgHCApfnwgI0IZh3wiEyATQoCAgBB8IiNCgICA4A+DfT4CUCADIDUgNkKAgIDwD4N9IDMgNEKAgIBgg30gFEIZh3wiFEKAgIAQfCITQhqIfD4CRCADIBQgE0KAgIDgD4N9PgJAIAMgGiAbfiAVIC5+fCAdIC9+fCAWIB9+fCAhICt+fCAXICd+fCAsIDF+fCAYIDJ+fCAkIC1+fCABrCAZfnwgI0Iah3wiEyATQoCAgAh8IhNCgICA8A+DfT4CVCADIDkgOkKAgIDwD4N9IDcgOEKAgIBgg30gE0IZh0ITfnwiFEKAgIAQfCITQhqIfD4CNCADIBQgE0KAgIDgD4N9PgIwIAAgA0EwahAWCyADQYACaiQAIBILBABBGgsFAEGmCgsFAEHgPwumAgIFfwF+IwBBgAJrIgUkACAFQQE6AA8CfyABQeA/TQRAIAFBIE8EQCAAQSBrIQkgA60hCkEgIQYDQCAGIQcgBUEwaiIGIARBIBA4GiAIBEAgBiAIIAlqQiAQGhoLIAVBMGoiBiACIAoQGhogBiAFQQ9qQgEQGhogBiAAIAhqEDcgBSAFLQAPQQFqOgAPIAchCCAHQSBqIgYgAU0NAAsLIAFBH3EiCARAIAVBMGoiASAEQSAQOBogBwRAIAEgACAHakEga0IgEBoaCyAFQTBqIgEgAiADrRAaGiABIAVBD2pCARAaGiABIAVBEGoiARA3IAAgB2ogASAIEAoaIAFBIBAICyAFQTBqQdABEAhBAAwBC0GAogJBHDYCAEF/CyAFQYACaiQACzcBAX8jAEHQAWsiBSQAIAUgASACEDgaIAUgAyAErRAaGiAFIAAQNyAFQQQQCCAFQdABaiQAQQALEAAgACABEDcgAEEEEAhBAAsLACAAIAEgAq0QGgsKACAAIAEgAhA4CwQAQQMLBABBbgsEAEERCwQAQTQLnwECAX8BfiMAQTBrIgEkACABIAApABg3AxggASAAKQAQNwMQIAEgACkAADcDACABIAApAAg3AwggASAAKQAkNwMgIAEgAUIoIABBIGpBACAAQcybAigCABEKABogACABKQMYNwAYIAAgASkDEDcAECAAIAEpAwg3AAggACABKQMANwAAIAEpAyAhAiAAQQE2ACAgACACNwAkIAFBMGokAAsqAQF+IAAgASACEDsgAEEBNgAgIAEpABAhAyAAQgA3ACwgACADNwAkQQALMAEBfiABQRgQGCAAIAEgAhA7IABBATYAICABKQAQIQMgAEIANwAsIAAgAzcAJEEACwwAIAAgASACIAMQJwsFAEGAAwsFAEGgAwsGAEHA/wALswICBX8BfiMAQfADayIFJAAgBUEBOgAPAn8gAUHA/wBNBEAgAUHAAE8EQCAAQUBqIQkgA60hCkHAACEGA0AgBiEHIAVB0ABqIgYgBEHAABAfGiAIBEAgBiAIIAlqQsAAEBIaCyAFQdAAaiIGIAIgChASGiAGIAVBD2pCARASGiAGIAAgCGoQHiAFIAUtAA9BAWo6AA8gByEIIAdBQGsiBiABTQ0ACwsgAUE/cSIIBEAgBUHQAGoiASAEQcAAEB8aIAcEQCABIAAgB2pBQGpCwAAQEhoLIAVB0ABqIgEgAiADrRASGiABIAVBD2pCARASGiABIAVBEGoiARAeIAAgB2ogASAIEAoaIAFBwAAQCAsgBUHQAGpBoAMQCEEADAELQYCiAkEcNgIAQX8LIAVB8ANqJAALCQAgAEHAABAYCzcBAX8jAEGgA2siBSQAIAUgASACEB8aIAUgAyAErRASGiAFIAAQHiAFQQQQCCAFQaADaiQAQQALEAAgACABEB4gAEEEEAhBAAulAQEGfyMAQRBrIgVBADYCDEF/IQQgAiADQQFrSwR/IAEgAkEBayIHaiEIQQAhAkEAIQFBACEEA0AgBSAFKAIMIgZBACAIIAJrLQAAIglBgAFzQQFrIAZBAWsgBEEBa3FxQQh2QQFxIgZrIAJxcjYCDCABIAZyIQEgBCAJciEEIAJBAWoiAiADRw0ACyAAIAcgBSgCDGs2AgAgAUH/AXFBAWsFQX8LCwvwjwINAEGACAuHA3JhbmRvbWJ5dGVzAGI2NF9wb3MgPD0gYjY0X2xlbgBjcnlwdG9fZ2VuZXJpY2hhc2hfYmxha2UyYl9maW5hbAByYW5kb21ieXRlcy9yYW5kb21ieXRlcy5jAHNvZGl1bS9jb2RlY3MuYwBjcnlwdG9fZ2VuZXJpY2hhc2gvYmxha2UyYi9yZWYvYmxha2UyYi1yZWYuYwBjcnlwdG9fZ2VuZXJpY2hhc2gvYmxha2UyYi9yZWYvZ2VuZXJpY2hhc2hfYmxha2UyYi5jAGJ1Zl9sZW4gPD0gU0laRV9NQVgAb3V0bGVuIDw9IFVJTlQ4X01BWABTLT5idWZsZW4gPD0gQkxBS0UyQl9CTE9DS0JZVEVTAHNvZGl1bV9iaW4yYmFzZTY0ADEuMC4yMAAAAAC2eFn/hXLTAL1uFf8PCmoAKcABAJjoef+8PKD/mXHO/wC34v60DUj/AAAAAAAAAACwoA7+08mG/54YjwB/aTUAYAy9AKfX+/+fTID+amXh/x78BACSDK4AQZALCydZ8bL+CuWm/3vdKv4eFNQAUoADADDR8wB3eUD/MuOc/wBuxQFnG5AAQcALC8AHhTuMAb3xJP/4JcMBYNw3ALdMPv/DQj0AMkykAeGkTP9MPaP/dT4fAFGRQP92QQ4AonPW/waKLgB85vT/CoqPADQawgC49EwAgY8pAb70E/97qnr/YoFEAHnVkwBWZR7/oWebAIxZQ//v5b4BQwu1AMbwif7uRbz/Q5fuABMqbP/lVXEBMkSH/xFqCQAyZwH/UAGoASOYHv8QqLkBOFno/2XS/AAp+kcAzKpP/w4u7/9QTe8AvdZL/xGN+QAmUEz/vlV1AFbkqgCc2NABw8+k/5ZCTP+v4RD/jVBiAUzb8gDGonIALtqYAJsr8f6boGj/M7ulAAIRrwBCVKAB9zoeACNBNf5F7L8ALYb1AaN73QAgbhT/NBelALrWRwDpsGAA8u82ATlZigBTAFT/iKBkAFyOeP5ofL4AtbE+//opVQCYgioBYPz2AJeXP/7vhT4AIDicAC2nvf+OhbMBg1bTALuzlv76qg7/0qNOACU0lwBjTRoA7pzV/9XA0QFJLlQAFEEpATbOTwDJg5L+qm8Y/7EhMv6rJsv/Tvd0ANHdmQCFgLIBOiwZAMknOwG9E/wAMeXSAXW7dQC1s7gBAHLbADBekwD1KTgAfQ3M/vStdwAs3SD+VOoUAPmgxgHsfur/L2Oo/qrimf9ms9gA4o16/3pCmf629YYA4+QZAdY56//YrTj/tefSAHeAnf+BX4j/bn4zAAKpt/8HgmL+RbBe/3QE4wHZ8pH/yq0fAWkBJ/8ur0UA5C86/9fgRf7POEX/EP6L/xfP1P/KFH7/X9Vg/wmwIQDIBc//8SqA/iMhwP/45cQBgRF4APtnl/8HNHD/jDhC/yji9f/ZRiX+rNYJ/0hDhgGSwNb/LCZwAES4S//OWvsAleuNALWqOgB09O8AXJ0CAGatYgDpiWABfzHLAAWblAAXlAn/03oMACKGGv/bzIgAhggp/+BTK/5VGfcAbX8A/qmIMADud9v/563VAM4S/v4Iugf/fgkHAW8qSABvNOz+YD+NAJO/f/7NTsD/DmrtAbvbTACv87v+aVmtAFUZWQGi85QAAnbR/iGeCQCLoy7/XUYoAGwqjv5v/I7/m9+QADPlp/9J/Jv/XnQM/5ig2v+c7iX/s+rP/8UAs/+apI0A4cRoAAojGf7R1PL/Yf3e/rhl5QDeEn8BpIiH/x7PjP6SYfMAgcAa/slUIf9vCk7/k1Gy/wQEGACh7tf/Bo0hADXXDv8ptdD/54udALPL3f//uXEAveKs/3FC1v/KPi3/ZkAI/06uEP6FdUT/AEGgEwsBAQBBwBMLsAEm6JWPwrInsEXD9Iny75jw1d+sBdPGMzmxOAKIbVP8BccXanA9TdhPujwLdg0QZw8qIFP6LDnMxk7H/XeSrAN67P///////////////////////////////////////3/t////////////////////////////////////////f+7///////////////////////////////////////9/7dP1XBpjEljWnPei3vneFABB/xQL/PABEIU7jAG98ST/+CXDAWDcNwC3TD7/w0I9ADJMpAHhpEz/TD2j/3U+HwBRkUD/dkEOAKJz1v8Gii4AfOb0/wqKjwA0GsIAuPRMAIGPKQG+9BP/e6p6/2KBRAB51ZMAVmUe/6FnmwCMWUP/7+W+AUMLtQDG8In+7kW8/+pxPP8l/zn/RbK2/oDQswB2Gn3+AwfW//EyTf9Vy8X/04f6/xkwZP+71bT+EVhpAFPRngEFc2IABK48/qs3bv/ZtRH/FLyqAJKcZv5X1q7/cnqbAeksqgB/CO8B1uzqAK8F2wAxaj3/BkLQ/wJqbv9R6hP/12vA/0OX7gATKmz/5VVxATJEh/8RagkAMmcB/1ABqAEjmB7/EKi5AThZ6P9l0vwAKfpHAMyqT/8OLu//UE3vAL3WS/8RjfkAJlBM/75VdQBW5KoAnNjQAcPPpP+WQkz/r+EQ/41QYgFM2/IAxqJyAC7amACbK/H+m6Bo/7IJ/P5kbtQADgWnAOnvo/8cl50BZZIK//6eRv5H+eQAWB4yAEQ6oP+/GGgBgUKB/8AyVf8Is4r/JvrJAHNQoACD5nEAfViTAFpExwD9TJ4AHP92AHH6/gBCSy4A5torAOV4ugGURCsAiHzuAbtrxf9UNfb/M3T+/zO7pQACEa8AQlSgAfc6HgAjQTX+Rey/AC2G9QGje90AIG4U/zQXpQC61kcA6bBgAPLvNgE5WYoAUwBU/4igZABcjnj+aHy+ALWxPv/6KVUAmIIqAWD89gCXlz/+74U+ACA4nAAtp73/joWzAYNW0wC7s5b++qoO/0RxFf/eujv/QgfxAUUGSABWnGz+N6dZAG002/4NsBf/xCxq/++VR/+kjH3/n60BADMp5wCRPiEAim9dAblTRQCQcy4AYZcQ/xjkGgAx2eIAcUvq/sGZDP+2MGD/Dg0aAIDD+f5FwTsAhCVR/n1qPADW8KkBpONCANKjTgAlNJcAY00aAO6c1f/VwNEBSS5UABRBKQE2zk8AyYOS/qpvGP+xITL+qybL/073dADR3ZkAhYCyATosGQDJJzsBvRP8ADHl0gF1u3UAtbO4AQBy2wAwXpMA9Sk4AH0NzP70rXcALN0g/lTqFAD5oMYB7H7q/48+3QCBWdb/N4sF/kQUv/8OzLIBI8PZAC8zzgEm9qUAzhsG/p5XJADZNJL/fXvX/1U8H/+rDQcA2vVY/vwjPAA31qD/hWU4AOAgE/6TQOoAGpGiAXJ2fQD4/PoAZV7E/8aN4v4zKrYAhwwJ/m2s0v/F7MIB8UGaADCcL/+ZQzf/2qUi/kq0swDaQkcBWHpjANS12/9cKuf/7wCaAPVNt/9eUaoBEtXYAKtdRwA0XvgAEpeh/sXRQv+u9A/+ojC3ADE98P62XcMAx+QGAcgFEf+JLe3/bJQEAFpP7f8nP03/NVLPAY4Wdv9l6BIBXBpDAAXIWP8hqIr/leFIAALRG/8s9agB3O0R/x7Taf6N7t0AgFD1/m/+DgDeX74B3wnxAJJM1P9szWj/P3WZAJBFMAAj5G8AwCHB/3DWvv5zmJcAF2ZYADNK+ADix4/+zKJl/9BhvQH1aBIA5vYe/xeURQBuWDT+4rVZ/9AvWv5yoVD/IXT4ALOYV/9FkLEBWO4a/zogcQEBTUUAO3k0/5juUwA0CMEA5yfp/8ciigDeRK0AWzny/tzSf//AB/b+lyO7AMPspQBvXc4A1PeFAZqF0f+b5woAQE4mAHr5ZAEeE2H/Plv5AfiFTQDFP6j+dApSALjscf7Uy8L/PWT8/iQFyv93W5n/gU8dAGdnq/7t12//2DVFAO/wFwDCld3/JuHeAOj/tP52UoX/OdGxAYvohQCesC7+wnMuAFj35QEcZ78A3d6v/pXrLACX5Bn+2mlnAI5V0gCVgb7/1UFe/nWG4P9SxnUAnd3cAKNlJADFciUAaKym/gu2AABRSLz/YbwQ/0UGCgDHk5H/CAlzAUHWr//ZrdEAUH+mAPflBP6nt3z/WhzM/q878P8LKfgBbCgz/5Cxw/6W+n4AiltBAXg83v/1we8AHda9/4ACGQBQmqIATdxrAerNSv82pmf/dEgJAOReL/8eyBn/I9ZZ/z2wjP9T4qP/S4KsAIAmEQBfiZj/13yfAU9dAACUUp3+w4L7/yjKTP/7fuAAnWM+/s8H4f9gRMMAjLqd/4MT5/8qgP4ANNs9/mbLSACNBwv/uqTVAB96dwCF8pEA0Pzo/1vVtv+PBPr++ddKAKUebwGrCd8A5XsiAVyCGv9Nmy0Bw4sc/zvgTgCIEfcAbHkgAE/6vf9g4/z+JvE+AD6uff+bb13/CubOAWHFKP8AMTn+QfoNABL7lv/cbdL/Ba6m/iyBvQDrI5P/JfeN/0iNBP9na/8A91oEADUsKgACHvAABDs/AFhOJABxp7QAvkfB/8eepP86CKwATSEMAEE/AwCZTSH/rP5mAeTdBP9XHv4BkilW/4rM7/5sjRH/u/KHANLQfwBELQ7+SWA+AFE8GP+qBiT/A/kaACPVbQAWgTb/FSPh/+o9OP862QYAj3xYAOx+QgDRJrf/Iu4G/66RZgBfFtMAxA+Z/i5U6P91IpIB5/pK/xuGZAFcu8P/qsZwAHgcKgDRRkMAHVEfAB2oZAGpraAAayN1AD5gO/9RDEUBh+++/9z8EgCj3Dr/iYm8/1NmbQBgBkwA6t7S/7muzQE8ntX/DfHWAKyBjABdaPIAwJz7ACt1HgDhUZ4Af+jaAOIcywDpG5f/dSsF//IOL/8hFAYAifss/hsf9f+31n3+KHmVALqe1f9ZCOMARVgA/suH4QDJrssAk0e4ABJ5Kf5eBU4A4Nbw/iQFtAD7h+cBo4rUANL5dP5YgbsAEwgx/j4OkP+fTNMA1jNSAG115P5n38v/S/wPAZpH3P8XDVsBjahg/7W2hQD6MzcA6urU/q8/ngAn8DQBnr0k/9UoVQEgtPf/E2YaAVQYYf9FFd4AlIt6/9zV6wHoy/8AeTmTAOMHmgA1FpMBSAHhAFKGMP5TPJ3/kUipACJn7wDG6S8AdBME/7hqCf+3gVMAJLDmASJnSADbooYA9SqeACCVYP6lLJAAyu9I/teWBQAqQiQBhNevAFauVv8axZz/MeiH/me2UgD9gLABmbJ6APX6CgDsGLIAiWqEACgdKQAyHpj/fGkmAOa/SwCPK6oALIMU/ywNF//t/5sBn21k/3C1GP9o3GwAN9ODAGMM1f+Yl5H/7gWfAGGbCAAhbFEAAQNnAD5tIv/6m7QAIEfD/yZGkQGfX/UAReVlAYgc8ABP4BkATm55//iofAC7gPcAApPr/k8LhABGOgwBtQij/0+Jhf8lqgv/jfNV/7Dn1//MlqT/79cn/y5XnP4Io1j/rCLoAEIsZv8bNin+7GNX/yl7qQE0cisAdYYoAJuGGgDnz1v+I4Qm/xNmff4k44X/dgNx/x0NfACYYEoBWJLO/6e/3P6iElj/tmQXAB91NABRLmoBDAIHAEVQyQHR9qwADDCNAeDTWAB04p8AemKCAEHs6gHh4gn/z+J7AVnWOwBwh1gBWvTL/zELJgGBbLoAWXAPAWUuzP9/zC3+T//d/zNJEv9/KmX/8RXKAKDjBwBpMuwATzTF/2jK0AG0DxAAZcVO/2JNywApufEBI8F8ACObF//PNcAAC32jAfmeuf8EgzAAFV1v/z155wFFyCT/uTC5/2/uFf8nMhn/Y9ej/1fUHv+kkwX/gAYjAWzfbv/CTLIASmW0APMvMACuGSv/Uq39ATZywP8oN1sA12yw/ws4BwDg6UwA0WLK/vIZfQAswV3+ywixAIewEwBwR9X/zjuwAQRDGgAOj9X+KjfQ/zxDeADBFaMAY6RzAAoUdgCc1N7+oAfZ/3L1TAF1O3sAsMJW/tUPsABOzs/+1YE7AOn7FgFgN5j/7P8P/8VZVP9dlYUArqBxAOpjqf+YdFgAkKRT/18dxv8iLw//Y3iG/wXswQD5937/k7seADLmdf9s2dv/o1Gm/0gZqf6beU//HJtZ/gd+EQCTQSEBL+r9ABozEgBpU8f/o8TmAHH4pADi/toAvdHL/6T33v7/I6UABLzzAX+zRwAl7f7/ZLrwAAU5R/5nSEn/9BJR/uXShP/uBrT/C+Wu/+PdwAERMRwAo9fE/gl2BP8z8EcAcYFt/0zw5wC8sX8AfUcsARqv8wBeqRn+G+YdAA+LdwGoqrr/rMVM//xLvACJfMQASBZg/y2X+QHckWQAQMCf/3jv4gCBspIAAMB9AOuK6gC3nZIAU8fA/7isSP9J4YAATQb6/7pBQwBo9s8AvCCK/9oY8gBDilH+7YF5/xTPlgEpxxD/BhSAAJ92BQC1EI//3CYPABdAk/5JGg0AV+Q5Acx8gAArGN8A22PHABZLFP8TG34AnT7XAG4d5gCzp/8BNvy+AN3Mtv6znkH/UZ0DAMLanwCq3wAA4Asg/ybFYgCopCUAF1gHAaS6bgBgJIYA6vLlAPp5EwDy/nD/Ay9eAQnvBv9Rhpn+1v2o/0N84AD1X0oAHB4s/gFt3P+yWVkA/CRMABjGLv9MTW8AhuqI/ydeHQC5SOr/RkSH/+dmB/5N54wApy86AZRhdv8QG+EBps6P/26y1v+0g6IAj43hAQ3aTv9ymSEBYmjMAK9ydQGnzksAysRTATpAQwCKL28BxPeA/4ng4P6ecM8AmmT/AYYlawDGgE//f9Gb/6P+uf48DvMAH9tw/h3ZQQDIDXT+ezzE/+A7uP7yWcQAexBL/pUQzgBF/jAB53Tf/9GgQQHIUGIAJcK4/pQ/IgCL8EH/2ZCE/zgmLf7HeNIAbLGm/6DeBADcfnf+pWug/1Lc+AHxr4gAkI0X/6mKVACgiU7/4nZQ/zQbhP8/YIv/mPonALybDwDoM5b+KA/o//DlCf+Jrxv/S0lhAdrUCwCHBaIBa7nVAAL5a/8o8kYA28gZABmdDQBDUlD/xPkX/5EUlQAySJIAXkyUARj7QQAfwBcAuNTJ/3vpogH3rUgAolfb/n6GWQCfCwz+pmkdAEkb5AFxeLf/QqNtAdSPC/+f56gB/4BaADkOOv5ZNAr//QijAQCR0v8KgVUBLrUbAGeIoP5+vNH/IiNvANfbGP/UC9b+ZQV2AOjFhf/fp23/7VBW/0aLXgCewb8Bmw8z/w++cwBOh8//+QobAbV96QBfrA3+qtWh/yfsiv9fXVf/voBfAH0PzgCmlp8A4w+e/86eeP8qjYAAZbJ4AZxtgwDaDiz+96jO/9RwHABwEeT/WhAlAcXebAD+z1P/CVrz//P0rAAaWHP/zXR6AL/mwQC0ZAsB2SVg/5pOnADr6h//zrKy/5XA+wC2+ocA9hZpAHzBbf8C0pX/qRGqAABgbv91CQgBMnso/8G9YwAi46AAMFBG/tMz7AAtevX+LK4IAK0l6f+eQasAekXX/1pQAv+DamD+43KHAM0xd/6wPkD/UjMR//EU8/+CDQj+gNnz/6IbAf5advEA9sb2/zcQdv/In50AoxEBAIxreQBVoXb/JgCVAJwv7gAJpqYBS2K1/zJKGQBCDy8Ai+GfAEwDjv8O7rgAC881/7fAugGrIK7/v0zdAfeq2wAZrDL+2QnpAMt+RP+3XDAAf6e3AUEx/gAQP38B/hWq/zvgf/4WMD//G06C/ijDHQD6hHD+I8uQAGipqADP/R7/aCgm/l7kWADOEID/1Dd6/98W6gDfxX8A/bW1AZFmdgDsmST/1NlI/xQmGP6KPj4AmIwEAObcY/8BFdT/lMnnAPR7Cf4Aq9IAMzol/wH/Dv/0t5H+APKmABZKhAB52CkAX8Ny/oUYl/+c4uf/9wVN//aUc/7hXFH/3lD2/qp7Wf9Kx40AHRQI/4qIRv9dS1wA3ZMx/jR+4gDlfBcALgm1AM1ANAGD/hwAl57UAINATgDOGasAAOaLAL/9bv5n96cAQCgoASql8f87S+T+fPO9/8Rcsv+CjFb/jVk4AZPGBf/L+J7+kKKNAAus4gCCKhX/AaeP/5AkJP8wWKT+qKrcAGJH1gBb0E8An0zJAaYq1v9F/wD/BoB9/74BjACSU9r/1+5IAXp/NQC9dKX/VAhC/9YD0P/VboUAw6gsAZ7nRQCiQMj+WzpoALY6u/755IgAy4ZM/mPd6QBL/tb+UEWaAECY+P7siMr/nWmZ/pWvFAAWIxP/fHnpALr6xv6E5YsAiVCu/6V9RACQypT+6+/4AIe4dgBlXhH/ekhG/kWCkgB/3vgBRX92/x5S1/68ShP/5afC/nUZQv9B6jj+1RacAJc7Xf4tHBv/un6k/yAG7wB/cmMB2zQC/2Ngpv4+vn7/bN6oAUvirgDm4scAPHXa//z4FAHWvMwAH8KG/ntFwP+prST+N2JbAN8qZv6JAWYAnVoZAO96QP/8BukABzYU/1J0rgCHJTb/D7p9AONwr/9ktOH/Ku30//St4v74EiEAq2OW/0rrMv91UiD+aqjtAM9t0AHkCboAhzyp/rNcjwD0qmj/6y18/0ZjugB1ibcA4B/XACgJZAAaEF8BRNlXAAiXFP8aZDr/sKXLATR2RgAHIP7+9P71/6eQwv99cRf/sHm1AIhU0QCKBh7/WTAcACGbDv8Z8JoAjc1tAUZzPv8UKGv+iprH/17f4v+dqyYAo7EZ/i12A/8O3hcB0b5R/3Z76AEN1WX/ezd7/hv2pQAyY0z/jNYg/2FBQ/8YDBwArlZOAUD3YACgh0MAQjfz/5PMYP8aBiH/YjNTAZnV0P8CuDb/GdoLADFD9v4SlUj/DRlIACpP1gAqBCYBG4uQ/5W7FwASpIQA9VS4/njGaP9+2mAAOHXq/w0d1v5ELwr/p5qE/pgmxgBCsln/yC6r/w1jU//Su/3/qi0qAYrRfADWoo0ADOacAGYkcP4Dk0MANNd7/+mrNv9iiT4A99on/+fa7AD3v38Aw5JUAKWwXP8T1F7/EUrjAFgomQHGkwH/zkP1/vAD2v89jdX/YbdqAMPo6/5fVpoA0TDN/nbR8f/weN8B1R2fAKN/k/8N2l0AVRhE/kYUUP+9BYwBUmH+/2Njv/+EVIX/a9p0/3B6LgBpESAAwqA//0TeJwHY/VwAsWnN/5XJwwAq4Qv/KKJzAAkHUQCl2tsAtBYA/h2S/P+Sz+EBtIdgAB+jcACxC9v/hQzB/itOMgBBcXkBO9kG/25eGAFwrG8ABw9gACRVewBHlhX/0Em8AMALpwHV9SIACeZcAKKOJ//XWhsAYmFZAF5P0wBanfAAX9x+AWaw4gAkHuD+Ix9/AOfocwFVU4IA0kn1/y+Pcv9EQcUAO0g+/7eFrf5deXb/O7FR/+pFrf/NgLEA3PQzABr00QFJ3k3/owhg/paV0wCe/ssBNn+LAKHgOwAEbRb/3iot/9CSZv/sjrsAMs31/wpKWf4wT44A3kyC/x6mPwDsDA3/Mbj0ALtxZgDaZf0AmTm2/iCWKgAZxpIB7fE4AIxEBQBbpKz/TpG6/kM0zQDbz4EBbXMRADaPOgEV+Hj/s/8eAMHsQv8B/wf//cAw/xNF2QED1gD/QGWSAd99I//rSbP/+afiAOGvCgFhojoAanCrAVSsBf+FjLL/hvWOAGFaff+6y7n/300X/8BcagAPxnP/2Zj4AKuyeP/khjUAsDbBAfr7NQDVCmQBIsdqAJcf9P6s4Ff/Du0X//1VGv9/J3T/rGhkAPsORv/U0Ir//dP6ALAxpQAPTHv/Jdqg/1yHEAEKfnL/RgXg//f5jQBEFDwB8dK9/8PZuwGXA3EAl1yuAOc+sv/bt+EAFxch/821UAA5uPj/Q7QB/1p7Xf8nAKL/YPg0/1RCjAAif+T/wooHAaZuvAAVEZsBmr7G/9ZQO/8SB48ASB3iAcfZ+QDooUcBlb7JANmvX/5xk0P/io/H/3/MAQAdtlMBzuab/7rMPAAKfVX/6GAZ//9Z9//V/q8B6MFRABwrnP4MRQgAkxj4ABLGMQCGPCMAdvYS/zFY/v7kFbr/tkFwAdsWAf8WfjT/vTUx/3AZjwAmfzf/4mWj/tCFPf+JRa4BvnaR/zxi2//ZDfX/+ogKAFT+4gDJH30B8DP7/x+Dgv8CijL/19exAd8M7v/8lTj/fFtE/0h+qv53/2QAgofo/w5PsgD6g8UAisbQAHnYi/53EiT/HcF6ABAqLf/V8OsB5r6p/8Yj5P5urUgA1t3x/ziUhwDAdU7+jV3P/49BlQAVEmL/Xyz0AWq/TQD+VQj+1m6w/0mtE/6gxMf/7VqQAMGscf/Im4j+5FrdAIkxSgGk3df/0b0F/2nsN/8qH4EBwf/sAC7ZPACKWLv/4lLs/1FFl/+OvhABDYYIAH96MP9RQJwAq/OLAO0j9gB6j8H+1HqSAF8p/wFXhE0ABNQfABEfTgAnLa3+GI7Z/18JBv/jUwYAYjuC/j4eIQAIc9MBomGA/we4F/50HKj/+IqX/2L08AC6doIAcvjr/2mtyAGgfEf/XiSkAa9Bkv/u8ar+ysbFAORHiv4t9m3/wjSeAIW7sABT/Jr+Wb3d/6pJ/ACUOn0AJEQz/ipFsf+oTFb/JmTM/yY1IwCvE2EA4e79/1FRhwDSG//+60lrAAjPcwBSf4gAVGMV/s8TiABkpGUAUNBN/4TP7f8PAw//IaZuAJxfVf8luW8Blmoj/6aXTAByV4f/n8JAAAx6H//oB2X+rXdiAJpH3P6/OTX/qOig/+AgY//anKUAl5mjANkNlAHFcVkAlRyh/s8XHgBphOP/NuZe/4WtzP9ct53/WJD8/mYhWgCfYQMAtdqb//BydwBq1jX/pb5zAZhb4f9Yaiz/0D1xAJc0fAC/G5z/bjbsAQ4epv8nf88B5cccALzkvP5knesA9tq3AWsWwf/OoF8ATO+TAM+hdQAzpgL/NHUK/kk44/+YweEAhF6I/2W/0QAga+X/xiu0AWTSdgByQ5n/F1ga/1maXAHceIz/kHLP//xz+v8izkgAioV//wiyfAFXS2EAD+Vc/vBDg/92e+P+knho/5HV/wGBu0b/23c2AAETrQAtlpQB+FNIAMvpqQGOazgA9/kmAS3yUP8e6WcAYFJGABfJbwBRJx7/obdO/8LqIf9E44z+2M50AEYb6/9okE8ApOZd/taHnACau/L+vBSD/yRtrgCfcPEABW6VASSl2gCmHRMBsi5JAF0rIP74ve0AZpuNAMldw//xi/3/D29i/2xBo/6bT77/Sa7B/vYoMP9rWAv+ymFV//3MEv9x8kIAbqDC/tASugBRFTwAvGin/3ymYf7ShY4AOPKJ/ilvggBvlzoBb9WN/7es8f8mBsT/uQd7/y4L9gD1aXcBDwKh/wjOLf8Sykr/U3xzAdSNnQBTCNH+iw/o/6w2rf4y94QA1r3VAJC4aQDf/vgA/5Pw/xe8SAAHMzYAvBm0/ty0AP9ToBQAo73z/zrRwv9XSTwAahgxAPX53AAWracAdgvD/xN+7QBunyX/O1IvALS7VgC8lNABZCWF/wdwwQCBvJz/VGqB/4XhygAO7G//KBRlAKysMf4zNkr/+7m4/12b4P+0+eAB5rKSAEg5Nv6yPrgAd81IALnv/f89D9oAxEM4/+ogqwEu2+QA0Gzq/xQ/6P+lNccBheQF/zTNawBK7oz/lpzb/u+ssv/7vd/+II7T/9oPigHxxFAAHCRi/hbqxwA97dz/9jklAI4Rjv+dPhoAK+5f/gPZBv/VGfABJ9yu/5rNMP4TDcD/9CI2/owQmwDwtQX+m8E8AKaABP8kkTj/lvDbAHgzkQBSmSoBjOySAGtc+AG9CgMAP4jyANMnGAATyqEBrRu6/9LM7/4p0aL/tv6f/6x0NADDZ97+zUU7ADUWKQHaMMIAUNLyANK8zwC7oaH+2BEBAIjhcQD6uD8A3x5i/k2oogA7Na8AE8kK/4vgwgCTwZr/1L0M/gHIrv8yhXEBXrNaAK22hwBesXEAK1nX/4j8av97hlP+BfVC/1IxJwHcAuAAYYGxAE07WQA9HZsBy6vc/1xOiwCRIbX/qRiNATeWswCLPFD/2idhAAKTa/88+EgAreYvAQZTtv8QaaL+idRR/7S4hgEn3qT/3Wn7Ae9wfQA/B2EAP2jj/5Q6DABaPOD/VNT8AE/XqAD43ccBc3kBACSseAAgorv/OWsx/5MqFQBqxisBOUpXAH7LUf+Bh8MAjB+xAN2LwgAD3tcAg0TnALFWsv58l7QAuHwmAUajEQD5+7UBKjfjAOKhLAAX7G4AM5WOAV0F7ADat2r+QxhNACj10f/eeZkApTkeAFN9PABGJlIB5Qa8AG3enf83dj//zZe6AOMhlf/+sPYB47HjACJqo/6wK08Aal9OAbnxev+5Dj0AJAHKAA2yov/3C4QAoeZcAUEBuf/UMqUBjZJA/57y2gAVpH0A1Yt6AUNHVwDLnrIBl1wrAJhvBf8nA+//2f/6/7A/R/9K9U0B+q4S/yIx4//2Lvv/miMwAX2dPf9qJE7/YeyZAIi7eP9xhqv/E9XZ/the0f/8BT0AXgPKAAMat/9Avyv/HhcVAIGNTf9meAcBwkyMALyvNP8RUZQA6FY3AeEwrACGKir/7jIvAKkS/gAUk1f/DsPv/0X3FwDu5YD/sTFwAKhi+/95R/gA8wiR/vbjmf/bqbH++4ul/wyjuf+kKKv/mZ8b/vNtW//eGHABEtbnAGudtf7DkwD/wmNo/1mMvv+xQn7+arlCADHaHwD8rp4AvE/mAe4p4ADU6ggBiAu1AKZ1U/9Ew14ALoTJAPCYWACkOUX+oOAq/zvXQ/93w43/JLR5/s8vCP+u0t8AZcVE//9SjQH6iekAYVaFARBQRQCEg58AdF1kAC2NiwCYrJ3/WitbAEeZLgAnEHD/2Yhh/9zGGf6xNTEA3liG/4APPADPwKn/wHTR/2pO0wHI1bf/Bwx6/t7LPP8hbsf++2p1AOThBAF4Ogf/3cFU/nCFGwC9yMn/i4eWAOo3sP89MkEAmGyp/9xVAf9wh+MAohq6AM9guf70iGsAXZkyAcZhlwBuC1b/j3Wu/3PUyAAFyrcA7aQK/rnvPgDseBL+Yntj/6jJwv4u6tYAv4Ux/2OpdwC+uyMBcxUt//mDSABwBnv/1jG1/qbpIgBcxWb+/eTN/wM7yQEqYi4A2yUj/6nDJgBefMEBnCvfAF9Ihf54zr8AesXv/7G7T//+LgIB+qe+AFSBEwDLcab/+R+9/kidyv/QR0n/zxhIAAoQEgHSUUz/WNDA/37za//ujXj/x3nq/4kMO/8k3Hv/lLM8/vAMHQBCAGEBJB4m/3MBXf9gZ+f/xZ47AcCk8ADKyjn/GK4wAFlNmwEqTNcA9JfpABcwUQDvfzT+44Il//h0XQF8hHYArf7AAQbrU/9ur+cB+xy2AIH5Xf5UuIAATLU+AK+AugBkNYj+bR3iAN3pOgEUY0oAABagAIYNFQAJNDf/EVmMAK8iOwBUpXf/4OLq/wdIpv97c/8BEtb2APoHRwHZ3LkA1CNM/yZ9rwC9YdIAcu4s/ym8qf4tupoAUVwWAISgwQB50GL/DVEs/8ucUgBHOhX/0HK//jImkwCa2MMAZRkSADz61//phOv/Z6+OARAOXACNH27+7vEt/5nZ7wFhqC//+VUQARyvPv85/jYA3ud+AKYtdf4SvWD/5EwyAMj0XgDGmHgBRCJF/wxBoP5lE1oAp8V4/0Q2uf8p2rwAcagwAFhpvQEaUiD/uV2kAeTw7f9CtjUAq8Vc/2sJ6QHHeJD/TjEK/22qaf9aBB//HPRx/0o6CwA+3Pb/eZrI/pDSsv9+OYEBK/oO/2VvHAEvVvH/PUaW/zVJBf8eGp4A0RpWAIrtSgCkX7wAjjwd/qJ0+P+7r6AAlxIQANFvQf7Lhif/WGwx/4MaR//dG9f+aGld/x/sH/6HANP/j39uAdRJ5QDpQ6f+wwHQ/4QR3f8z2VoAQ+sy/9/SjwCzNYIB6WrGANmt3P9w5Rj/r5pd/kfL9v8wQoX/A4jm/xfdcf7rb9UAqnhf/vvdAgAtgp7+aV7Z//I0tP7VRC3/aCYcAPSeTAChyGD/zzUN/7tDlACqNvgAd6Ky/1MUCwAqKsABkp+j/7fobwBN5RX/RzWPABtMIgD2iC//2ye2/1zgyQETjg7/Rbbx/6N29QAJbWoBqrX3/04v7v9U0rD/1WuLACcmCwBIFZYASIJFAM1Nm/6OhRUAR2+s/uIqO/+zANcBIYDxAOr8DQG4TwgAbh5J//aNvQCqz9oBSppF/4r2Mf+bIGQAfUpp/1pVPf8j5bH/Pn3B/5lWvAFJeNQA0Xv2/ofRJv+XOiwBXEXW/w4MWP/8mab//c9w/zxOU//jfG4AtGD8/zV1If6k3FL/KQEb/yakpv+kY6n+PZBG/8CmEgBr+kIAxUEyAAGzEv//aAH/K5kj/1BvqABur6gAKWkt/9sOzf+k6Yz+KwF2AOlDwwCyUp//ild6/9TuWv+QI3z+GYykAPvXLP6FRmv/ZeNQ/lypNwDXKjEAcrRV/yHoGwGs1RkAPrB7/iCFGP/hvz4AXUaZALUqaAEWv+D/yMiM//nqJQCVOY0AwzjQ//6CRv8grfD/HdzHAG5kc/+E5fkA5Onf/yXY0f6ysdH/ty2l/uBhcgCJYaj/4d6sAKUNMQHS68z//AQc/kaglwDovjT+U/hd/z7XTQGvr7P/oDJCAHkw0AA/qdH/ANLIAOC7LAFJolIACbCP/xNMwf8dO6cBGCuaABy+vgCNvIEA6OvL/+oAbf82QZ8APFjo/3n9lv786YP/xm4pAVNNR//IFjv+av3y/xUMz//tQr0AWsbKAeGsfwA1FsoAOOaEAAFWtwBtvioA80SuAW3kmgDIsXoBI6C3/7EwVf9a2qn/+JhOAMr+bgAGNCsAjmJB/z+RFgBGal0A6IprAW6zPf/TgdoB8tFcACNa2QG2j2r/dGXZ/3L63f+tzAYAPJajAEmsLP/vblD/7UyZ/qGM+QCV6OUAhR8o/66kdwBxM9YAgeQC/kAi8wBr4/T/rmrI/1SZRgEyIxAA+krY/uy9Qv+Z+Q0A5rIE/90p7gB243n/XleM/v53XABJ7/b+dVeAABPTkf+xLvwA5Vv2AUWA9//KTTYBCAsJ/5lgpgDZ1q3/hsACAQDPAAC9rmsBjIZkAJ7B8wG2ZqsA65ozAI4Fe/88qFkB2Q5c/xPWBQHTp/4ALAbK/ngS7P8Pcbj/uN+LACixd/62e1r/sKWwAPdNwgAb6ngA5wDW/zsnHgB9Y5H/lkREAY3e+ACZe9L/bn+Y/+Uh1gGH3cUAiWECAAyPzP9RKbwAc0+C/14DhACYr7v/fI0K/37As/8LZ8YAlQYtANtVuwHmErL/SLaYAAPGuP+AcOABYaHmAP5jJv86n8UAl0LbADtFj/+5cPkAd4gv/3uChACoR1//cbAoAei5rQDPXXUBRJ1s/2YFk/4xYSEAWUFv/vceo/982d0BZvrYAMauS/45NxIA4wXsAeXVrQDJbdoBMenvAB43ngEZsmoAm2+8AV5+jADXH+4BTfAQANXyGQEmR6gAzbpd/jHTjP/bALT/hnalAKCThv9uuiP/xvMqAPOSdwCG66MBBPGH/8Euwf5ntE//4QS4/vJ2ggCSh7AB6m8eAEVC1f4pYHsAeV4q/7K/w/8ugioAdVQI/+kx1v7uem0ABkdZAezTewD0DTD+d5QOAHIcVv9L7Rn/keUQ/oFkNf+Glnj+qJ0yABdIaP/gMQ4A/3sW/5e5l/+qULgBhrYUAClkZQGZIRAATJpvAVbO6v/AoKT+pXtd/wHYpP5DEa//qQs7/54pPf9JvA7/wwaJ/xaTHf8UZwP/9oLj/3oogADiLxj+IyQgAJi6t/9FyhQAw4XDAN4z9wCpq14BtwCg/0DNEgGcUw//xTr5/vtZbv8yClj+MyvYAGLyxgH1l3EAq+zCAcUfx//lUSYBKTsUAP1o5gCYXQ7/9vKS/tap8P/wZmz+oKfsAJravACW6cr/GxP6AQJHhf+vDD8BkbfGAGh4c/+C+/cAEdSn/z57hP/3ZL0Am9+YAI/FIQCbOyz/ll3wAX8DV/9fR88Bp1UB/7yYdP8KFxcAicNdATZiYQDwAKj/lLx/AIZrlwBM/asAWoTAAJIWNgDgQjb+5rrl/ye2xACU+4L/QYNs/oABoACpMaf+x/6U//sGgwC7/oH/VVI+ALIXOv/+hAUApNUnAIb8kv4lNVH/m4ZSAM2n7v9eLbT/hCihAP5vcAE2S9kAs+bdAetev/8X8zABypHL/yd2Kv91jf0A/gDeACv7MgA2qeoBUETQAJTL8/6RB4cABv4AAPy5fwBiCIH/JiNI/9Mk3AEoGlkAqEDF/gPe7/8CU9f+tJ9pADpzwgC6dGr/5ffb/4F2wQDKrrcBpqFIAMlrk/7tiEoA6eZqAWlvqABA4B4BAeUDAGaXr//C7uT//vrUALvteQBD+2ABxR4LALdfzADNWYoAQN0lAf/fHv+yMNP/8cha/6fRYP85gt0ALnLI/z24QgA3thj+brYhAKu+6P9yXh8AEt0IAC/n/gD/cFMAdg/X/60ZKP7AwR//7hWS/6vBdv9l6jX+g9RwAFnAawEI0BsAtdkP/+eV6ACM7H4AkAnH/wxPtf6Ttsr/E222/zHU4QBKo8sAr+mUABpwMwDBwQn/D4f5AJbjggDMANsBGPLNAO7Qdf8W9HAAGuUiACVQvP8mLc7+8Frh/x0DL/8q4EwAuvOnACCED/8FM30Ai4cYAAbx2wCs5YX/9tYyAOcLz/+/flMBtKOq//U4GAGypNP/AxDKAWI5dv+Ng1n+ITMYAPOVW//9NA4AI6lD/jEeWP+zGyT/pYy3ADq9lwBYHwAAS6lCAEJlx/8Y2McBecQa/w5Py/7w4lH/XhwK/1PB8P/MwYP/Xg9WANoonQAzwdEAAPKxAGa59wCebXQAJodbAN+vlQDcQgH/VjzoABlgJf/heqIB17uo/56dLgA4q6IA6PBlAXoWCQAzCRX/NRnu/9ke6P59qZQADehmAJQJJQClYY0B5IMpAN4P8//+EhEABjztAWoDcQA7hL0AXHAeAGnQ1QAwVLP/u3nn/hvYbf+i3Wv+Se/D//ofOf+Vh1n/uRdzAQOjnf8ScPoAGTm7/6FgpAAvEPMADI37/kPquP8pEqEArwZg/6CsNP4YsLf/xsFVAXx5if+XMnL/3Ms8/8/vBQEAJmv/N+5e/kaYXgDV3E0BeBFF/1Wkvv/L6lEAJjEl/j2QfACJTjH+qPcwAF+k/ABpqYcA/eSGAECmSwBRSRT/z9IKAOpqlv9eIlr//p85/tyFYwCLk7T+GBe5ACk5Hv+9YUwAQbvf/+CsJf8iPl8B55DwAE1qfv5AmFsAHWKbAOL7Nf/q0wX/kMve/6Sw3f4F5xgAs3rNACQBhv99Rpf+YeT8AKyBF/4wWtH/luBSAVSGHgDxxC4AZ3Hq/y5lef4ofPr/hy3y/gn5qP+MbIP/j6OrADKtx/9Y3o7/yF+eAI7Ao/8HdYcAb3wWAOwMQf5EJkH/467+APT1JgDwMtD/oT/6ADzR7wB6IxMADiHm/gKfcQBqFH//5M1gAInSrv601JD/WWKaASJYiwCnonABQW7FAPElqQBCOIP/CslT/oX9u/+xcC3+xPsAAMT6l//u6Nb/ltHNABzwdgBHTFMB7GNbACr6gwFgEkD/dt4jAHHWy/96d7j/QhMkAMxA+QCSWYsAhj6HAWjpZQC8VBoAMfmBANDWS//Pgk3/c6/rAKsCif+vkboBN/WH/5pWtQFkOvb/bcc8/1LMhv/XMeYBjOXA/97B+/9RiA//s5Wi/xcnHf8HX0v+v1HeAPFRWv9rMcn/9NOdAN6Mlf9B2zj+vfZa/7I7nQEw2zQAYiLXABwRu/+vqRgAXE+h/+zIwgGTj+oA5eEHAcWoDgDrMzUB/XiuAMUGqP/KdasAoxXOAHJVWv8PKQr/whNjAEE32P6iknQAMs7U/0CSHf+enoMBZKWC/6wXgf99NQn/D8ESARoxC/+1rskBh8kO/2QTlQDbYk8AKmOP/mAAMP/F+VP+aJVP/+tuiP5SgCz/QSkk/ljTCgC7ebsAYobHAKu8s/7SC+7/QnuC/jTqPQAwcRf+BlZ4/3ey9QBXgckA8o3RAMpyVQCUFqEAZ8MwABkxq/+KQ4IAtkl6/pQYggDT5ZoAIJueAFRpPQCxwgn/pllWATZTuwD5KHX/bQPX/zWSLAE/L7MAwtgD/g5UiACIsQ3/SPO6/3URff/TOtP/XU/fAFpY9f+L0W//Rt4vAAr2T//G2bIA4+ELAU5+s/8+K34AZ5QjAIEIpf718JQAPTOOAFHQhgAPiXP/03fs/5/1+P8Choj/5os6AaCk/gByVY3/Maa2/5BGVAFVtgcALjVdAAmmof83orL/Lbi8AJIcLP6pWjEAeLLxAQ57f/8H8ccBvUIy/8aPZf6984f/jRgY/kthVwB2+5oB7TacAKuSz/+DxPb/iEBxAZfoOQDw2nMAMT0b/0CBSQH8qRv/KIQKAVrJwf/8efABus4pACvGYQCRZLcAzNhQ/qyWQQD55cT+aHtJ/01oYP6CtAgAaHs5ANzK5f9m+dMAVg7o/7ZO0QDv4aQAag0g/3hJEf+GQ+kAU/61ALfscAEwQIP/8djz/0HB4gDO8WT+ZIam/+3KxQA3DVEAIHxm/yjksQB2tR8B56CG/3e7ygAAjjz/gCa9/6bJlgDPeBoBNrisAAzyzP6FQuYAIiYfAbhwUAAgM6X+v/M3ADpJkv6bp83/ZGiY/8X+z/+tE/cA7grKAO+X8gBeOyf/8B1m/wpcmv/lVNv/oYFQANBazAHw267/nmaRATWyTP80bKgBU95rANMkbQB2OjgACB0WAO2gxwCq0Z0AiUcvAI9WIADG8gIA1DCIAVysugDml2kBYL/lAIpQv/7w2IL/YisG/qjEMQD9ElsBkEl5AD2SJwE/aBj/uKVw/n7rYgBQ1WL/ezxX/1KM9QHfeK3/D8aGAc487wDn6lz/Ie4T/6VxjgGwdyYAoCum/u9baQBrPcIBGQREAA+LMwCkhGr/InQu/qhfxQCJ1BcASJw6AIlwRf6WaZr/7MmdABfUmv+IUuP+4jvd/1+VwABRdjT/ISvXAQ6TS/9ZnHn+DhJPAJPQiwGX2j7/nFgIAdK4Yv8Ur3v/ZlPlANxBdAGW+gT/XI7c/yL3Qv/M4bP+l1GXAEco7P+KPz4ABk/w/7e5tQB2MhsAP+PAAHtjOgEy4Jv/EeHf/tzgTf8OLHsBjYCvAPjUyACWO7f/k2EdAJbMtQD9JUcAkVV3AJrIugACgPn/Uxh8AA5XjwCoM/UBfJfn/9DwxQF8vrkAMDr2ABTp6AB9EmL/Df4f//Wxgv9sjiMAq33y/owMIv+loaIAzs1lAPcZIgFkkTkAJ0Y5AHbMy//yAKIApfQeAMZ04gCAb5n/jDa2ATx6D/+bOjkBNjLGAKvTHf9riqf/rWvH/22hwQBZSPL/znNZ//r+jv6xyl7/UVkyAAdpQv8Z/v/+y0AX/0/ebP8n+UsA8XwyAO+YhQDd8WkAk5diANWhef7yMYkA6SX5/iq3GwC4d+b/2SCj/9D75AGJPoP/T0AJ/l4wcQARijL+wf8WAPcSxQFDN2gAEM1f/zAlQgA3nD8BQFJK/8g1R/7vQ30AGuDeAN+JXf8e4Mr/CdyEAMYm6wFmjVYAPCtRAYgcGgDpJAj+z/KUAKSiPwAzLuD/cjBP/wmv4gDeA8H/L6Do//9daf4OKuYAGopSAdAr9AAbJyb/YtB//0CVtv8F+tEAuzwc/jEZ2v+pdM3/dxJ4AJx0k/+ENW3/DQrKAG5TpwCd24n/BgOC/zKnHv88ny//gYCd/l4DvQADpkQAU9/XAJZawgEPqEEA41Mz/82rQv82uzwBmGYt/3ea4QDw94gAZMWy/4tH3//MUhABKc4q/5zA3f/Ye/T/2tq5/7u67//8rKD/wzQWAJCutf67ZHP/006w/xsHwQCT1Wj/WskK/1B7QgEWIboAAQdj/h7OCgDl6gUANR7SAIoI3P5HN6cASOFWAXa+vAD+wWUBq/ms/16et/5dAmz/sF1M/0ljT/9KQIH+9i5BAGPxf/72l2b/LDXQ/jtm6gCar6T/WPIgAG8mAQD/tr7/c7AP/qk8gQB67fEAWkw/AD5KeP96w24AdwSyAN7y0gCCIS7+nCgpAKeScAExo2//ebDrAEzPDv8DGcYBKevVAFUk1gExXG3/yBge/qjswwCRJ3wB7MOVAFokuP9DVar/JiMa/oN8RP/vmyP/NsmkAMQWdf8xD80AGOAdAX5xkAB1FbYAy5+NAN+HTQCw5rD/vuXX/2Mltf8zFYr/Gb1Z/zEwpf6YLfcAqmzeAFDKBQAbRWf+zBaB/7T8Pv7SAVv/km7+/9uiHADf/NUBOwghAM4Q9ACB0zAAa6DQAHA70QBtTdj+IhW5//ZjOP+zixP/uR0y/1RZEwBK+mL/4SrI/8DZzf/SEKcAY4RfASvmOQD+C8v/Y7w//3fB+/5QaTYA6LW9AbdFcP/Qq6X/L220/3tTpQCSojT/mgsE/5fjWv+SiWH+Pekp/14qN/9spOwAmET+AAqMg/8Kak/+856JAEOyQv6xe8b/Dz4iAMVYKv+VX7H/mADG/5X+cf/hWqP/fdn3ABIR4ACAQnj+wBkJ/zLdzQAx1EYA6f+kAALRCQDdNNv+rOD0/144zgHyswL/H1ukAeYuiv+95twAOS89/28LnQCxW5gAHOZiAGFXfgDGWZH/p09rAPlNoAEd6eb/lhVW/jwLwQCXJST+uZbz/+TUUwGsl7QAyambAPQ86gCO6wQBQ9o8AMBxSwF088//QaybAFEenP9QSCH+Eudt/45rFf59GoT/sBA7/5bJOgDOqckA0HniACisDv+WPV7/ODmc/408kf8tbJX/7pGb/9FVH/7ADNIAY2Jd/pgQlwDhudwAjess/6CsFf5HGh//DUBd/hw4xgCxPvgBtgjxAKZllP9OUYX/gd7XAbypgf/oB2EAMXA8/9nl+wB3bIoAJxN7/oMx6wCEVJEAguaU/xlKuwAF9Tb/udvxARLC5P/xymYAaXHKAJvrTwAVCbL/nAHvAMiUPQBz99L/Md2HADq9CAEjLgkAUUEF/zSeuf99dC7/SowN/9JcrP6TF0cA2eD9/nNstP+ROjD+27EY/5z/PAGak/IA/YZXADVL5QAww97/H68y/5zSeP/QI97/EvizAQIKZf+dwvj/nsxl/2j+xf9PPgQAsqxlAWCS+/9BCpwAAoml/3QE5wDy1wEAEyMd/yuhTwA7lfYB+0KwAMghA/9Qbo7/w6ERAeQ4Qv97L5H+hASkAEOurAAZ/XIAV2FXAfrcVABgW8j/JX07ABNBdgChNPH/7awG/7C///8BQYL+377mAGX95/+SI20A+h1NATEAEwB7WpsBFlYg/9rVQQBvXX8APF2p/wh/tgARug7+/Yn2/9UZMP5M7gD/+FxG/2PgiwC4Cf8BB6TQAM2DxgFX1scAgtZfAN2V3gAXJqv+xW7VACtzjP7XsXYAYDRCAXWe7QAOQLb/Lj+u/55fvv/hzbH/KwWO/6xj1P/0u5MAHTOZ/+R0GP4eZc8AE/aW/4bnBQB9huIBTUFiAOyCIf8Fbj4ARWx//wdxFgCRFFP+wqHn/4O1PADZ0bH/5ZTU/gODuAB1sbsBHA4f/7BmUAAyVJf/fR82/xWdhf8Ts4sB4OgaACJ1qv+n/Kv/SY3O/oH6IwBIT+wB3OUU/ynKrf9jTO7/xhbg/2zGw/8kjWAB7J47/2pkVwBu4gIA4+reAJpdd/9KcKT/Q1sC/xWRIf9m1on/r+Zn/qP2pgBd93T+p+Ac/9wCOQGrzlQAe+QR/xt4dwB3C5MBtC/h/2jIuf6lAnIATU7UAC2asf8YxHn+Up22AFoQvgEMk8UAX++Y/wvrRwBWknf/rIbWADyDxACh4YEAH4J4/l/IMwBp59L/OgmU/yuo3f987Y4AxtMy/i71ZwCk+FQAmEbQ/7R1sQBGT7kA80ogAJWczwDFxKEB9TXvAA9d9v6L8DH/xFgk/6ImewCAyJ0Brkxn/62pIv7YAav/cjMRAIjkwgBuljj+avafABO4T/+WTfD/m1CiAAA1qf8dl1YARF4QAFwHbv5idZX/+U3m//0KjADWfFz+I3brAFkwOQEWNaYAuJA9/7P/wgDW+D3+O272AHkVUf6mA+QAakAa/0Xohv/y3DX+LtxVAHGV9/9hs2f/vn8LAIfRtgBfNIEBqpDO/3rIzP+oZJIAPJCV/kY8KAB6NLH/9tNl/67tCAAHM3gAEx+tAH7vnP+PvcsAxIBY/+mF4v8efa3/yWwyAHtkO//+owMB3ZS1/9aIOf7etIn/z1g2/xwh+/9D1jQB0tBkAFGqXgCRKDUA4G/n/iMc9P/ix8P+7hHmANnZpP6pnd0A2i6iAcfPo/9sc6IBDmC7/3Y8TAC4n5gA0edH/iqkuv+6mTP+3au2/6KOrQDrL8EAB4sQAV+kQP8Q3aYA28UQAIQdLP9kRXX/POtY/ihRrQBHvj3/u1idAOcLFwDtdaQA4ajf/5pydP+jmPIBGCCqAH1icf6oE0wAEZ3c/ps0BQATb6H/R1r8/61u8AAKxnn//f/w/0J70gDdwtf+eaMR/+EHYwC+MbYAcwmFAegaiv/VRIQALHd6/7NiMwCVWmoARzLm/wqZdv+xRhkApVfNADeK6gDuHmEAcZvPAGKZfwAia9v+dXKs/0y0//7yObP/3SKs/jiiMf9TA///cd29/7wZ5P4QWFn/RxzG/hYRlf/zef7/a8pj/wnODgHcL5kAa4knAWExwv+VM8X+ujoL/2sr6AHIBg7/tYVB/t3kq/97PucB4+qz/yK91P70u/kAvg1QAYJZAQDfha0ACd7G/0J/SgCn2F3/m6jGAUKRAABEZi4BrFqaANiAS/+gKDMAnhEbAXzwMQDsyrD/l3zA/ybBvgBftj0Ao5N8//+lM/8cKBH+12BOAFaR2v4fJMr/VgkFAG8pyP/tbGEAOT4sAHW4DwEt8XQAmAHc/52lvAD6D4MBPCx9/0Hc+/9LMrgANVqA/+dQwv+IgX8BFRK7/y06of9HkyIArvkL/iONHQDvRLH/c246AO6+sQFX9ab/vjH3/5JTuP+tDif/ktdoAI7feACVyJv/1M+RARC12QCtIFf//yO1AHffoQHI317/Rga6/8BDVf8yqZgAkBp7/zjzs/4URIgAJ4y8/v3QBf/Ic4cBK6zl/5xouwCX+6cANIcXAJeZSACTxWv+lJ4F/+6PzgB+mYn/WJjF/gdEpwD8n6X/7042/xg/N/8m3l4A7bcM/87M0gATJ/b+HkrnAIdsHQGzcwAAdXZ0AYQG/P+RgaEBaUONAFIl4v/u4uT/zNaB/qJ7ZP+5eeoALWznAEIIOP+EiIAArOBC/q+dvADm3+L+8ttFALgOdwFSojgAcnsUAKJnVf8x72P+nIfXAG//p/4nxNYAkCZPAfmofQCbYZz/FzTb/5YWkAAslaX/KH+3AMRN6f92gdL/qofm/9Z3xgDp8CMA/TQH/3VmMP8VzJr/s4ix/xcCAwGVgln//BGfAUY8GgCQaxEAtL48/zi2O/9uRzb/xhKB/5XgV//fFZj/iha2//qczQDsLdD/T5TyAWVG0QBnTq4AZZCs/5iI7QG/wogAcVB9AZgEjQCbljX/xHT1AO9ySf4TUhH/fH3q/yg0vwAq0p7/m4SlALIFKgFAXCj/JFVN/7LkdgCJQmD+c+JCAG7wRf6Xb1AAp67s/+Nsa/+88kH/t1H/ADnOtf8vIrX/1fCeAUdLXwCcKBj/ZtJRAKvH5P+aIikA469LABXvwwCK5V8BTMAxAHV7VwHj4YIAfT4//wLGqwD+JA3+kbrOAJT/9P8jAKYAHpbbAVzk1ABcxjz+PoXI/8kpOwB97m3/tKPuAYx6UgAJFlj/xZ0v/5leOQBYHrYAVKFVALKSfACmpgf/FdDfAJy28gCbebkAU5yu/poQdv+6U+gB3zp5/x0XWAAjfX//qgWV/qQMgv+bxB0AoWCIAAcjHQGiJfsAAy7y/wDZvAA5ruIBzukCADm7iP57vQn/yXV//7okzADnGdgAUE5pABOGgf+Uy0QAjVF9/vilyP/WkIcAlzem/ybrWwAVLpoA3/6W/yOZtP99sB0BK2Ie/9h65v/poAwAObkM/vBxB/8FCRD+GltsAG3GywAIkygAgYbk/3y6KP9yYoT+poQXAGNFLAAJ8u7/uDU7AISBZv80IPP+k9/I/3tTs/6HkMn/jSU4AZc84/9aSZwBy6y7AFCXL/9eief/JL87/+HRtf9K19X+Bnaz/5k2wQEyAOcAaJ1IAYzjmv+24hD+YOFc/3MUqv4G+k4A+Eut/zVZBv8AtHYASK0BAEAIzgGuhd8AuT6F/9YLYgDFH9AAq6f0/xbntQGW2rkA96lhAaWL9/8veJUBZ/gzADxFHP4Zs8QAfAfa/jprUQC46Zz//EokAHa8QwCNXzX/3l6l/i49NQDOO3P/L+z6/0oFIAGBmu7/aiDiAHm7Pf8DpvH+Q6qs/x3Ysv8XyfwA/W7zAMh9OQBtwGD/NHPuACZ58//JOCEAwnaCAEtgGf+qHub+Jz/9ACQt+v/7Ae8AoNRcAS3R7QDzIVf+7VTJ/9QSnf7UY3//2WIQ/ous7wCoyYL/j8Gp/+6XwQHXaCkA7z2l/gID8gAWy7H+scwWAJWB1f4fCyn/AJ95/qAZcv+iUMgAnZcLAJqGTgHYNvwAMGeFAGncxQD9qE3+NbMXABh58AH/LmD/azyH/mLN+f8/+Xf/eDvT/3K0N/5bVe0AldRNAThJMQBWxpYAXdGgAEXNtv/0WisAFCSwAHp03QAzpycB5wE//w3FhgAD0SL/hzvKAKdkTgAv30wAuTw+ALKmewGEDKH/Pa4rAMNFkAB/L78BIixOADnqNAH/Fij/9l6SAFPkgAA8TuD/AGDS/5mv7ACfFUkAtHPE/oPhagD/p4YAnwhw/3hEwv+wxMb/djCo/12pAQBwyGYBShj+ABONBP6OPj8Ag7O7/02cm/93VqQAqtCS/9CFmv+Umzr/onjo/vzVmwDxDSoAXjKDALOqcACMU5f/N3dUAYwj7/+ZLUMB7K8nADaXZ/+eKkH/xO+H/lY1ywCVYS/+2CMR/0YDRgFnJFr/KBqtALgwDQCj29n/UQYB/92qbP7p0F0AZMn5/lYkI//Rmh4B48n7/wK9p/5kOQMADYApAMVkSwCWzOv/ka47AHj4lf9VN+EActI1/sfMdwAO90oBP/uBAENolwGHglAAT1k3/3Xmnf8ZYI8A1ZEFAEXxeAGV81//cioUAINIAgCaNRT/ST5tAMRmmAApDMz/eiYLAfoKkQDPfZQA9vTe/ykgVQFw1X4AovlWAUfGf/9RCRUBYicE/8xHLQFLb4kA6jvnACAwX//MH3IBHcS1/zPxp/5dbY4AaJAtAOsMtf80cKQATP7K/64OogA965P/K0C5/ul92QDzWKf+SjEIAJzMQgB81nsAJt12AZJw7AByYrEAl1nHAFfFcAC5laEALGClAPizFP+829j+KD4NAPOOjQDl487/rMoj/3Ww4f9SbiYBKvUO/xRTYQAxqwoA8nd4ABnoPQDU8JP/BHM4/5ER7/7KEfv/+RL1/2N17wC4BLP/9u0z/yXvif+mcKb/Ubwh/7n6jv82u60A0HDJAPYr5AFouFj/1DTE/zN1bP/+dZsALlsP/1cOkP9X48wAUxpTAZ9M4wCfG9UBGJdsAHWQs/6J0VIAJp8KAHOFyQDftpwBbsRd/zk86QAFp2n/msWkAGAiuv+ThSUB3GO+AAGnVP8UkasAwsX7/l9Ohf/8+PP/4V2D/7uGxP/YmaoAFHae/owBdgBWng8BLdMp/5MBZP5xdEz/039sAWcPMADBEGYBRTNf/2uAnQCJq+kAWnyQAWqhtgCvTOwByI2s/6M6aADptDT/8P0O/6Jx/v8m74r+NC6mAPFlIf6DupwAb9A+/3xeoP8frP4AcK44/7xjG/9DivsAfTqAAZyYrv+yDPf//FSeAFLFDv6syFP/JScuAWrPpwAYvSIAg7KQAM7VBACh4tIASDNp/2Etu/9OuN//sB37AE+gVv90JbIAUk3VAVJUjf/iZdQBr1jH//Ve9wGsdm3/prm+AIO1eABX/l3/hvBJ/yD1j/+Lomf/s2IS/tnMcACT33j/NQrzAKaMlgB9UMj/Dm3b/1vaAf/8/C/+bZx0/3MxfwHMV9P/lMrZ/xpV+f8O9YYBTFmp//It5gA7Yqz/ckmE/k6bMf+eflQAMa8r/xC2VP+dZyMAaMFt/0PdmgDJrAH+CKJYAKUBHf99m+X/HprcAWfvXADcAW3/ysYBAF4CjgEkNiwA6+Ke/6r71v+5TQkAYUryANujlf/wI3b/33JY/sDHAwBqJRj/yaF2/2FZYwHgOmf/ZceT/t48YwDqGTsBNIcbAGYDW/6o2OsA5eiIAGg8gQAuqO4AJ79DAEujLwCPYWL/ONioAajp/P8jbxb/XFQrABrIVwFb/ZgAyjhGAI4ITQBQCq8B/MdMABZuUv+BAcIAC4A9AVcOkf/93r4BD0iuAFWjVv46Yyz/LRi8/hrNDwAT5dL++EPDAGNHuACaxyX/l/N5/yYzS//JVYL+LEH6ADmT8/6SKzv/WRw1ACFUGP+zMxL+vUZTAAucswFihncAnm9vAHeaSf/IP4z+LQ0N/5rAAv5RSCoALqC5/ixwBgCS15UBGrBoAEQcVwHsMpn/s4D6/s7Bv/+mXIn+NSjvANIBzP6orSMAjfMtASQybf8P8sL/4596/7Cvyv5GOUgAKN84ANCiOv+3Yl0AD28MAB4ITP+Ef/b/LfJnAEW1D/8K0R4AA7N5APHo2gF7x1j/AtLKAbyCUf9eZdABZyQtAEzBGAFfGvH/paK7ACRyjADKQgX/JTiTAJgL8wF/Vej/+ofUAbmxcQBa3Ev/RfiSADJvMgBcFlAA9CRz/qNkUv8ZwQYBfz0kAP1DHv5B7Kr/oRHX/j+vjAA3fwQAT3DpAG2gKACPUwf/QRru/9mpjP9OXr3/AJO+/5NHuv5qTX//6Z3pAYdX7f/QDewBm20k/7Rk2gC0oxIAvm4JARE/e/+ziLT/pXt7/5C8Uf5H8Gz/GXAL/+PaM/+nMur/ck9s/x8Tc/+38GMA41eP/0jZ+P9mqV8BgZWVAO6FDAHjzCMA0HMaAWYI6gBwWI8BkPkOAPCerP5kcHcAwo2Z/ig4U/95sC4AKjVM/56/mgBb0VwArQ0QAQVI4v/M/pUAULjPAGQJev52Zav//MsA/qDPNgA4SPkBOIwN/wpAa/5bZTT/4bX4AYv/hADmkREA6TgXAHcB8f/VqZf/Y2MJ/rkPv/+tZ20Brg37/7JYB/4bO0T/CiEC//hhOwAaHpIBsJMKAF95zwG8WBgAuV7+/nM3yQAYMkYAeDUGAI5CkgDk4vn/aMDeAa1E2wCiuCT/j2aJ/50LFwB9LWIA613h/jhwoP9GdPMBmfk3/4EnEQHxUPQAV0UVAV7kSf9OQkH/wuPnAD2SV/+tmxf/cHTb/tgmC/+DuoUAXtS7AGQvWwDM/q//3hLX/q1EbP/j5E//Jt3VAKPjlv4fvhIAoLMLAQpaXv/crlgAo9Pl/8eINACCX93/jLzn/otxgP91q+z+MdwU/zsUq//kbbwAFOEg/sMQrgDj/ogBhydpAJZNzv/S7uIAN9SE/u85fACqwl3/+RD3/xiXPv8KlwoAT4uy/3jyygAa29UAPn0j/5ACbP/mIVP/US3YAeA+EQDW2X0AYpmZ/7Owav6DXYr/bT4k/7J5IP94/EYA3PglAMxYZwGA3Pv/7OMHAWoxxv88OGsAY3LuANzMXgFJuwEAWZoiAE7Zpf8Ow/n/Ceb9/82H9QAa/Af/VM0bAYYCcAAlniAA51vt/7+qzP+YB94AbcAxAMGmkv/oE7X/aY40/2cQGwH9yKUAw9kE/zS9kP97m6D+V4I2/054Pf8OOCkAGSl9/1eo9QDWpUYA1KkG/9vTwv5IXaT/xSFn/yuOjQCD4awA9GkcAERE4QCIVA3/gjko/otNOABUljUANl+dAJANsf5fc7oAdRd2//Sm8f8LuocAsmrL/2HaXQAr/S0ApJgEAIt27wBgARj+65nT/6huFP8y77AAcinoAMH6NQD+oG/+iHop/2FsQwDXmBf/jNHUACq9owDKKjL/amq9/75E2f/pOnUA5dzzAcUDBAAleDb+BJyG/yQ9q/6liGT/1OgOAFquCgDYxkH/DANAAHRxc//4ZwgA530S/6AcxQAeuCMB30n5/3sULv6HOCX/rQ3lAXehIv/1PUkAzX1wAIlohgDZ9h7/7Y6PAEGfZv9spL4A23Wt/yIleP7IRVAAH3za/koboP+6msf/R8f8AGhRnwERyCcA0z3AARruWwCU2QwAO1vV/wtRt/+B5nr/csuRAXe0Qv9IirQA4JVqAHdSaP/QjCsAYgm2/81lhv8SZSYAX8Wm/8vxkwA+0JH/hfb7AAKpDgAN97gAjgf+ACTIF/9Yzd8AW4E0/xW6HgCP5NIB9+r4/+ZFH/6wuof/7s00AYtPKwARsNn+IPNDAPJv6QAsIwn/43JRAQRHDP8mab8AB3Uy/1FPEAA/REH/nSRu/03xA//iLfsBjhnOAHh70QEc/u7/BYB+/1ve1/+iD78AVvBJAIe5Uf4s8aMA1NvS/3CimwDPZXYAqEg4/8QFNABIrPL/fhad/5JgO/+ieZj+jBBfAMP+yP5SlqIAdyuR/sysTv+m4J8AaBPt//V+0P/iO9UAddnFAJhI7QDcHxf+Dlrn/7zUQAE8Zfb/VRhWAAGxbQCSUyABS7bAAHfx4AC57Rv/uGVSAeslTf/9hhMA6PZ6ADxqswDDCwwAbULrAX1xOwA9KKQAr2jwAAIvu/8yDI0Awou1/4f6aABhXN7/2ZXJ/8vxdv9Pl0MAeo7a/5X17wCKKsj+UCVh/3xwp/8kilf/gh2T//FXTv/MYRMBsdEW//fjf/5jd1P/1BnGARCzswCRTaz+WZkO/9q9pwBr6Tv/IyHz/ixwcP+hf08BzK8KACgViv5odOQAx1+J/4W+qP+SpeoBt2MnALfcNv7/3oUAott5/j/vBgDhZjb/+xL2AAQigQGHJIMAzjI7AQ9htwCr2If/ZZgr/5b7WwAmkV8AIswm/rKMU/8ZgfP/TJAlAGokGv52kKz/RLrl/2uh1f8uo0T/lar9ALsRDwDaoKX/qyP2AWANEwCly3UA1mvA//R7sQFkA2gAsvJh//tMgv/TTSoB+k9G/z/0UAFpZfYAPYg6Ae5b1QAOO2L/p1RNABGELv45r8X/uT64AExAzwCsr9D+r0olAIob0/6UfcIACllRAKjLZf8r1dEB6/U2AB4j4v8JfkYA4n1e/px1FP85+HAB5jBA/6RcpgHg1ub/JHiPADcIK//7AfUBamKlAEprav41BDb/WrKWAQN4e//0BVkBcvo9//6ZUgFNDxEAOe5aAV/f5gDsNC/+Z5Sk/3nPJAESELn/SxRKALsLZQAuMIH/Fu/S/03sgf9vTcz/PUhh/8fZ+/8q18wAhZHJ/znmkgHrZMYAkkkj/mzGFP+2T9L/UmeIAPZssAAiETz/E0py/qiqTv+d7xT/lSmoADp5HABPs4b/53mH/67RYv/zer4Aq6bNANR0MAAdbEL/ot62AQ53FQDVJ/n//t/k/7elxgCFvjAAfNBt/3evVf8J0XkBMKu9/8NHhgGI2zP/tluN/jGfSAAjdvX/cLrj/zuJHwCJLKMAcmc8/gjVlgCiCnH/wmhIANyDdP+yT1wAy/rV/l3Bvf+C/yL+1LyXAIgRFP8UZVP/1M6mAOXuSf+XSgP/qFfXAJu8hf+mgUkA8E+F/7LTUf/LSKP+wailAA6kx/4e/8wAQUhbAaZKZv/IKgD/wnHj/0IX0ADl2GT/GO8aAArpPv97CrIBGiSu/3fbxwEto74AEKgqAKY5xv8cGhoAfqXnAPtsZP895Xn/OnaKAEzPEQANInD+WRCoACXQaf8jydf/KGpl/gbvcgAoZ+L+9n9u/z+nOgCE8I4ABZ5Y/4FJnv9eWZIA5jaSAAgtrQBPqQEAc7r3AFRAgwBD4P3/z71AAJocUQEtuDb/V9Tg/wBgSf+BIesBNEJQ//uum/8EsyUA6qRd/l2v/QDGRVf/4GouAGMd0gA+vHL/LOoIAKmv9/8XbYn/5bYnAMClXv71ZdkAv1hgAMReY/9q7gv+NX7zAF4BZf8ukwIAyXx8/40M2gANpp0BMPvt/5v6fP9qlJL/tg3KABw9pwDZmAj+3IIt/8jm/wE3QVf/Xb9h/nL7DgAgaVwBGs+NABjPDf4VMjD/upR0/9Mr4QAlIqL+pNIq/0QXYP+21gj/9XWJ/0LDMgBLDFP+UIykAAmlJAHkbuMA8RFaARk01AAG3wz/i/M5AAxxSwH2t7//1b9F/+YPjgABw8T/iqsv/0A/agEQqdb/z644AVhJhf+2hYwAsQ4Z/5O4Nf8K46H/eNj0/0lN6QCd7osBO0HpAEb72AEpuJn/IMtwAJKT/QBXZW0BLFKF//SWNf9emOj/O10n/1iT3P9OUQ0BIC/8/6ATcv9dayf/dhDTAbl30f/j23/+WGns/6JuF/8kpm7/W+zd/0LqdABvE/T+CukaACC3Bv4Cv/IA2pw1/ik8Rv+o7G8Aebl+/+6Oz/83fjQA3IHQ/lDMpP9DF5D+2ihs/3/KpADLIQP/Ap4AACVgvP/AMUoAbQQAAG+nCv5b2of/y0Kt/5bC4gDJ/Qb/rmZ5AM2/bgA1wgQAUSgt/iNmj/8MbMb/EBvo//xHugGwbnIAjgN1AXFNjgATnMUBXC/8ADXoFgE2EusALiO9/+zUgQACYND+yO7H/zuvpP+SK+cAwtk0/wPfDACKNrL+VevPAOjPIgAxNDL/pnFZ/wot2P8+rRwAb6X2AHZzW/+AVDwAp5DLAFcN8wAWHuQBsXGS/4Gq5v78mYH/keErAEbnBf96aX7+VvaU/24lmv7RA1sARJE+AOQQpf833fn+stJbAFOS4v5FkroAXdJo/hAZrQDnuiYAvXqM//sNcP9pbl0A+0iqAMAX3/8YA8oB4V3kAJmTx/5tqhYA+GX2/7J8DP+y/mb+NwRBAH3WtAC3YJMALXUX/oS/+QCPsMv+iLc2/5LqsQCSZVb/LHuPASHRmADAWin+Uw99/9WsUgDXqZAAEA0iACDRZP9UEvkBxRHs/9m65gAxoLD/b3Zh/+1o6wBPO1z+RfkL/yOsSgETdkQA3nyl/7RCI/9WrvYAK0pv/36QVv/k6lsA8tUY/kUs6//ctCMACPgH/2YvXP/wzWb/cearAR+5yf/C9kb/ehG7AIZGx/+VA5b/dT9nAEFoe//UNhMBBo1YAFOG8/+INWcAqRu0ALExGABvNqcAwz3X/x8BbAE8KkYAuQOi/8KVKP/2fyb+vncm/z13CAFgodv/KsvdAbHypP/1nwoAdMQAAAVdzf6Af7MAfe32/5Wi2f9XJRT+jO7AAAkJwQBhAeIAHSYKAACIP//lSNL+JoZc/07a0AFoJFT/DAXB//KvPf+/qS4Bs5OT/3G+i/59rB8AA0v8/tckDwDBGxgB/0WV/26BdgDLXfkAiolA/iZGBgCZdN4AoUp7AMFjT/92O17/PQwrAZKxnQAuk78AEP8mAAszHwE8OmL/b8JNAZpb9ACMKJABrQr7AMvRMv5sgk4A5LRaAK4H+gAfrjwAKaseAHRjUv92wYv/u63G/tpvOAC5e9gA+Z40ADS0Xf/JCVv/OC2m/oSby/866G4ANNNZ//0AogEJV7cAkYgsAV569QBVvKsBk1zGAAAIaAAeX64A3eY0Aff36/+JrjX/IxXM/0fj1gHoUsIACzDj/6pJuP/G+/z+LHAiAINlg/9IqLsAhId9/4poYf/uuKj/82hU/4fY4v+LkO0AvImWAVA4jP9Wqaf/wk4Z/9wRtP8RDcEAdYnU/43glwAx9K8AwWOv/xNjmgH/QT7/nNI3//L0A//6DpUAnljZ/53Phv776BwALpz7/6s4uP/vM+oAjoqD/xn+8wEKycIAP2FLANLvogDAyB8BddbzABhH3v42KOj/TLdv/pAOV//WT4j/2MTUAIQbjP6DBf0AfGwT/xzXSwBM3jf+6bY/AESrv/40b97/CmlN/1Cq6wCPGFj/Led5AJSB4AE99lQA/S7b/+9MIQAxlBL+5iVFAEOGFv6Om14AH53T/tUqHv8E5Pf+/LAN/ycAH/7x9P//qi0K/v3e+QDecoQA/y8G/7SjswFUXpf/WdFS/uU0qf/V7AAB1jjk/4d3l/9wycEAU6A1/gaXQgASohEA6WFbAIMFTgG1eDX/dV8//+11uQC/foj/kHfpALc5YQEvybv/p6V3AS1kfgAVYgb+kZZf/3g2mADRYmgAj28e/riU+QDr2C4A+MqU/zlfFgDy4aMA6ffo/0erE/9n9DH/VGdd/0R59AFS4A0AKU8r//nOp//XNBX+wCAW//dvPABlSib/FltU/h0cDf/G59f+9JrIAN+J7QDThA4AX0DO/xE+9//pg3kBXRdNAM3MNP5RvYgAtNuKAY8SXgDMK4z+vK/bAG9ij/+XP6L/0zJH/hOSNQCSLVP+slLu/xCFVP/ixl3/yWEU/3h2I/9yMuf/ouWc/9MaDAByJ3P/ztSGAMXZoP90gV7+x9fb/0vf+QH9dLX/6Ndo/+SC9v+5dVYADgUIAO8dPQHtV4X/fZKJ/syo3wAuqPUAmmkWANzUof9rRRj/idq1//FUxv+CetP/jQiZ/76xdgBgWbIA/xAw/npgaf91Nuj/In5p/8xDpgDoNIr/05MMABk2BwAsD9f+M+wtAL5EgQFqk+EAHF0t/uyND/8RPaEA3HPAAOyRGP5vqKkA4Do//3+kvABS6ksB4J6GANFEbgHZptkARuGmAbvBj/8QB1j/Cs2MAHXAnAEROCYAG3xsAavXN/9f/dQAm4eo//aymf6aREoA6D1g/mmEOwAhTMcBvbCC/wloGf5Lxmb/6QFwAGzcFP9y5kYAjMKF/zmepP6SBlD/qcRhAVW3ggBGnt4BO+3q/2AZGv/or2H/C3n4/lgjwgDbtPz+SgjjAMPjSQG4bqH/MemkAYA1LwBSDnn/wb46ADCudf+EFyAAKAqGARYzGf/wC7D/bjmSAHWP7wGdZXb/NlRMAM24Ev8vBEj/TnBV/8EyQgFdEDT/CGmGAAxtSP86nPsAkCPMACygdf4ya8IAAUSl/29uogCeUyj+TNbqADrYzf+rYJP/KONyAbDj8QBG+bcBiFSL/zx69/6PCXX/sa6J/kn3jwDsuX7/Phn3/y1AOP+h9AYAIjk4AWnKUwCAk9AABmcK/0qKQf9hUGT/1q4h/zKGSv9ul4L+b1SsAFTHS/74O3D/CNiyAQm3XwDuGwj+qs3cAMPlhwBiTO3/4lsaAVLbJ//hvscB2ch5/1GzCP+MQc4Ass9X/vr8Lv9oWW4B/b2e/5DWnv+g9Tb/NbdcARXIwv+SIXEB0QH/AOtqK/+nNOgAneXdADMeGQD63RsBQZNX/097xABBxN//TCwRAVXxRADKt/n/QdTU/wkhmgFHO1AAr8I7/41ICQBkoPQA5tA4ADsZS/5QwsIAEgPI/qCfcwCEj/cBb105/zrtCwGG3of/eqNsAXsrvv/7vc7+ULZI/9D24AERPAkAoc8mAI1tWwDYD9P/iE5uAGKjaP8VUHn/rbK3AX+PBABoPFL+1hAN/2DuIQGelOb/f4E+/zP/0v8+jez+nTfg/3In9ADAvPr/5Ew1AGJUUf+tyz3+kzI3/8zrvwA0xfQAWCvT/hu/dwC855oAQlGhAFzBoAH643gAezfiALgRSACFqAr+Foec/ykZZ/8wyjoAupVR/7yG7wDrtb3+2Yu8/0owUgAu2uUAvf37ADLlDP/Tjb8BgPQZ/6nnev5WL73/hLcX/yWylv8zif0AyE4fABZpMgCCPAAAhKNb/hfnuwDAT+8AnWak/8BSFAEYtWf/8AnqAAF7pP+F6QD/yvLyADy69QDxEMf/4HSe/r99W//gVs8AeSXn/+MJxv8Pme//eejZ/ktwUgBfDDn+M9Zp/5TcYQHHYiQAnNEM/grUNADZtDf+1Kro/9gUVP+d+ocAnWN//gHOKQCVJEYBNsTJ/1d0AP7rq5YAG6PqAMqHtADQXwD+e5xdALc+SwCJ67YAzOH//9aL0v8Ccwj/HQxvADScAQD9Ffv/JaUf/gyC0wBqEjX+KmOaAA7ZPf7YC1z/yMVw/pMmxwAk/Hj+a6lNAAF7n//PS2YAo6/EACwB8AB4urD+DWJM/+188f/okrz/yGDgAMwfKQDQyA0AFeFg/6+cxAD30H4APrj0/gKrUQBVc54ANkAt/xOKcgCHR80A4y+TAdrnQgD90RwA9A+t/wYPdv4QltD/uRYy/1Zwz/9LcdcBP5Ir/wThE/7jFz7/Dv/W/i0Izf9XxZf+0lLX//X49/+A+EYA4fdXAFp4RgDV9VwADYXiAC+1BQFco2n/Bh6F/uiyPf/mlRj/EjGeAORkPf508/v/TUtcAVHbk/9Mo/7+jdX2AOglmP5hLGQAySUyAdT0OQCuq7f/+UpwAKacHgDe3WH/811J/vtlZP/Y2V3//oq7/46+NP87y7H/yF40AHNynv+lmGgBfmPi/3ad9AFryBAAwVrlAHkGWACcIF3+ffHT/w7tnf+lmhX/uOAW//oYmP9xTR8A96sX/+2xzP80iZH/wrZyAODqlQAKb2cByYEEAO6OTgA0Bij/btWl/jzP/QA+10UAYGEA/zEtygB4eRb/64swAcYtIv+2MhsBg9Jb/y42gACve2n/xo1O/kP07//1Nmf+Tiby/wJc+f77rlf/iz+QABhsG/8iZhIBIhaYAELldv4yj2MAkKmVAXYemACyCHkBCJ8SAFpl5v+BHXcARCQLAei3NwAX/2D/oSnB/z+L3gAPs/MA/2QP/1I1hwCJOZUBY/Cq/xbm5P4xtFL/PVIrAG712QDHfT0ALv00AI3F2wDTn8EAN3lp/rcUgQCpd6r/y7KL/4cotv+sDcr/QbKUAAjPKwB6NX8BSqEwAOPWgP5WC/P/ZFYHAfVEhv89KxUBmFRe/748+v7vduj/1oglAXFMa/9daGQBkM4X/26WmgHkZ7kA2jEy/odNi/+5AU4AAKGU/2Ed6f/PlJX/oKgAAFuAq/8GHBP+C2/3ACe7lv+K6JUAdT5E/z/YvP/r6iD+HTmg/xkM8QGpPL8AIION/+2fe/9exV7+dP4D/1yzYf55YVz/qnAOABWV+AD44wMAUGBtAEvASgEMWuL/oWpEAdByf/9yKv/+ShpK//ezlv55jDwAk0bI/9Yoof+hvMn/jUGH//Jz/AA+L8oAtJX//oI37QClEbr/CqnCAJxt2v9wjHv/aIDf/rGObP95Jdv/gE0S/29sFwFbwEsArvUW/wTsPv8rQJkB463+AO16hAF/Wbr/jlKA/vxUrgBas7EB89ZX/2c8ov/Qgg7/C4KLAM6B2/9e2Z3/7+bm/3Rzn/6ka18AM9oCAdh9xv+MyoD+C19E/zcJXf6umQb/zKxgAEWgbgDVJjH+G1DVAHZ9cgBGRkP/D45J/4N6uf/zFDL+gu0oANKfjAHFl0H/VJlCAMN+WgAQ7uwBdrtm/wMYhf+7ReYAOMVcAdVFXv9QiuUBzgfmAN5v5gFb6Xf/CVkHAQJiAQCUSoX/M/a0/+SxcAE6vWz/wsvt/hXRwwCTCiMBVp3iAB+ji/44B0v/Plp0ALU8qQCKotT+UacfAM1acP8hcOMAU5d1AbHgSf+ukNn/5sxP/xZN6P9yTuoA4Dl+/gkxjQDyk6UBaLaM/6eEDAF7RH8A4VcnAftsCADGwY8BeYfP/6wWRgAyRHT/Za8o//hp6QCmywcAbsXaANf+Gv6o4v0AH49gAAtnKQC3gcv+ZPdK/9V+hADSkywAx+obAZQvtQCbW54BNmmv/wJOkf5mml8AgM9//jR87P+CVEcA3fPTAJiqzwDeascAt1Re/lzIOP+KtnMBjmCSAIWI5ABhEpYAN/tCAIxmBADKZ5cAHhP4/zO4zwDKxlkAN8Xh/qlf+f9CQUT/vOp+AKbfZAFw7/QAkBfCADontgD0LBj+r0Sz/5h2mgGwooIA2XLM/q1+Tv8h3h7/JAJb/wKP8wAJ69cAA6uXARjX9f+oL6T+8ZLPAEWBtABE83EAkDVI/vstDgAXbqgARERP/25GX/6uW5D/Ic5f/4kpB/8Tu5n+I/9w/wmRuf4ynSUAC3AxAWYIvv/q86kBPFUXAEonvQB0Me8ArdXSAC6hbP+fliUAxHi5/yJiBv+Zwz7/YeZH/2Y9TAAa1Oz/pGEQAMY7kgCjF8QAOBg9ALViwQD7k+X/Yr0Y/y42zv/qUvYAt2cmAW0+zAAK8OAAkhZ1/46aeABF1CMA0GN2AXn/A/9IBsIAdRHF/30PFwCaT5kA1l7F/7k3k/8+/k7+f1KZAG5mP/9sUqH/abvUAVCKJwA8/13/SAy6ANL7HwG+p5D/5CwT/oBD6ADW+Wv+iJFW/4QusAC9u+P/0BaMANnTdAAyUbr+i/ofAB5AxgGHm2QAoM4X/rui0/8QvD8A/tAxAFVUvwDxwPL/mX6RAeqiov/mYdgBQId+AL6U3wE0ACv/HCe9AUCI7gCvxLkAYuLV/3+f9AHirzwAoOmOAbTzz/9FmFkBH2UVAJAZpP6Lv9EAWxl5ACCTBQAnunv/P3Pm/12nxv+P1dz/s5wT/xlCegDWoNn/Ai0+/2pPkv4ziWP/V2Tn/6+R6P9luAH/rgl9AFIloQEkco3/MN6O//W6mgAFrt3+P3Kb/4c3oAFQH4cAfvqzAezaLQAUHJEBEJNJAPm9hAERvcD/347G/0gUD//6Ne3+DwsSABvTcf7Vazj/rpOS/2B+MAAXwW0BJaJeAMed+f4YgLv/zTGy/l2kKv8rd+sBWLft/9rSAf9r/ioA5gpj/6IA4gDb7VsAgbLLANAyX/7O0F//979Z/m7qT/+lPfMAFHpw//b2uf5nBHsA6WPmAdtb/P/H3hb/s/Xp/9Px6gBv+sD/VVSIAGU6Mv+DrZz+dy0z/3bpEP7yWtYAXp/bAQMD6v9iTFz+UDbmAAXk5/41GN//cTh2ARSEAf+r0uwAOPGe/7pzE/8I5a4AMCwAAXJypv8GSeL/zVn0AInjSwH4rTgASnj2/ncDC/9ReMb/iHpi/5Lx3QFtwk7/3/FGAdbIqf9hvi//L2eu/2NcSP526bT/wSPp/hrlIP/e/MYAzCtH/8dUrACGZr4Ab+5h/uYo5gDjzUD+yAzhAKYZ3gBxRTP/j58YAKe4SgAd4HT+ntDpAMF0fv/UC4X/FjqMAcwkM//oHisA60a1/0A4kv6pElT/4gEN/8gysP801fX+qNFhAL9HNwAiTpwA6JA6AblKvQC6jpX+QEV//6HLk/+wl78AiOfL/qO2iQChfvv+6SBCAETPQgAeHCUAXXJgAf5c9/8sq0UAyncL/7x2MgH/U4j/R1IaAEbjAgAg63kBtSmaAEeG5f7K/yQAKZgFAJo/Sf8itnwAed2W/xrM1QEprFcAWp2S/22CFABHa8j/82a9AAHDkf4uWHUACM7jAL9u/f9tgBT+hlUz/4mxcAHYIhb/gxDQ/3mVqgByExcBplAf/3HwegDos/oARG60/tKqdwDfbKT/z0/p/xvl4v7RYlH/T0QHAIO5ZACqHaL/EaJr/zkVCwFkyLX/f0GmAaWGzABop6gAAaRPAJKHOwFGMoD/ZncN/uMGhwCijrP/oGTeABvg2wGeXcP/6o2JABAYff/uzi//YRFi/3RuDP9gc00AW+Po//j+T/9c5Qb+WMaLAM5LgQD6Tc7/jfR7AYpF3AAglwYBg6cW/+1Ep/7HvZYAo6uK/zO8Bv9fHYn+lOKzALVr0P+GH1L/l2Ut/4HK4QDgSJMAMIqX/8NAzv7t2p4Aah2J/v296f9nDxH/wmH/ALItqf7G4ZsAJzB1/4dqcwBhJrUAli9B/1OC5f72JoEAXO+a/ltjfwChbyH/7tny/4O5w//Vv57/KZbaAISpgwBZVPwBq0aA/6P4y/4BMrT/fExVAftvUABjQu//mu22/91+hf5KzGP/QZN3/2M4p/9P+JX/dJvk/+0rDv5FiQv/FvrxAVt6j//N+fMA1Bo8/zC2sAEwF7//y3mY/i1K1f8+WhL+9aPm/7lqdP9TI58ADCEC/1AiPgAQV67/rWVVAMokUf6gRcz/QOG7ADrOXgBWkC8A5Vb1AD+RvgElBScAbfsaAImT6gCieZH/kHTO/8Xouf+3voz/SQz+/4sU8v+qWu//YUK7//W1h/7eiDQA9QUz/ssvTgCYZdgASRd9AP5gIQHr0kn/K9FYAQeBbQB6aOT+qvLLAPLMh//KHOn/QQZ/AJ+QRwBkjF8ATpYNAPtrdgG2On3/ASZs/4290f8Im30BcaNb/3lPvv+G72z/TC/4AKPk7wARbwoAWJVL/9fr7wCnnxj/L5ds/2vRvADp52P+HMqU/64jiv9uGET/AkW1AGtmUgBm7QcAXCTt/92iUwE3ygb/h+qH/xj63gBBXqj+9fjS/6dsyf7/oW8AzQj+AIgNdABksIT/K9d+/7GFgv+eT5QAQ+AlAQzOFf8+Im4B7Wiv/1CEb/+OrkgAVOW0/mmzjABA+A//6YoQAPVDe/7aedT/P1/aAdWFif+PtlL/MBwLAPRyjQHRr0z/nbWW/7rlA/+knW8B572LAHfKvv/aakD/ROs//mAarP+7LwsB1xL7/1FUWQBEOoAAXnEFAVyB0P9hD1P+CRy8AO8JpAA8zZgAwKNi/7gSPADZtosAbTt4/wTA+wCp0vD/Jaxc/pTT9f+zQTQA/Q1zALmuzgFyvJX/7VqtACvHwP9YbHEANCNMAEIZlP/dBAf/l/Fy/77R6ABiMscAl5bV/xJKJAE1KAcAE4dB/xqsRQCu7VUAY18pAAM4EAAnoLH/yGra/rlEVP9buj3+Q4+N/w30pv9jcsYAx26j/8ESugB87/YBbkQWAALrLgHUPGsAaSppAQ7mmAAHBYMAjWia/9UDBgCD5KL/s2QcAed7Vf/ODt8B/WDmACaYlQFiiXoA1s0D/+KYs/8GhYkAnkWM/3Gimv+086z/G71z/48u3P/VhuH/fh1FALwriQHyRgkAWsz//+eqkwAXOBP+OH2d/zCz2v9Ptv3/JtS/ASnrfABglxwAh5S+AM35J/40YIj/1CyI/0PRg//8ghf/24AU/8aBdgBsZQsAsgWSAT4HZP+17F7+HBqkAEwWcP94Zk8AysDlAciw1wApQPT/zrhOAKctPwGgIwD/OwyO/8wJkP/bXuUBehtwAL1pbf9A0Er/+383AQLixgAsTNEAl5hN/9IXLgHJq0X/LNPnAL4l4P/1xD7/qbXe/yLTEQB38cX/5SOYARVFKP+y4qEAlLPBANvC/gEozjP/51z6AUOZqgAVlPEAqkVS/3kS5/9ccgMAuD7mAOHJV/+SYKL/tfLcAK273QHiPqr/OH7ZAXUN4/+zLO8AnY2b/5DdUwDr0dAAKhGlAftRhQB89cn+YdMY/1PWpgCaJAn/+C9/AFrbjP+h2Sb+1JM//0JUlAHPAwEA5oZZAX9Oev/gmwH/UohKALKc0P+6GTH/3gPSAeWWvv9VojT/KVSN/0l7VP5dEZYAdxMcASAW1/8cF8z/jvE0/+Q0fQAdTM8A16f6/q+k5gA3z2kBbbv1/6Es3AEpZYD/pxBeAF3Wa/92SAD+UD3q/3mvfQCLqfsAYSeT/vrEMf+ls27+30a7/xaOfQGas4r/drAqAQqumQCcXGYAqA2h/48QIAD6xbT/y6MsAVcgJAChmRT/e/wPABnjUAA8WI4AERbJAZrNTf8nPy8ACHqNAIAXtv7MJxP/BHAd/xckjP/S6nT+NTI//3mraP+g214AV1IO/ucqBQCli3/+Vk4mAII8Qv7LHi3/LsR6Afk1ov+Ij2f+19JyAOcHoP6pmCr/by32AI6Dh/+DR8z/JOILAAAc8v/hitX/9y7Y/vUDtwBs/EoBzhow/8029v/TxiT/eSMyADTYyv8mi4H+8kmUAEPnjf8qL8wATnQZAQThv/8Gk+QAOlixAHql5f/8U8n/4KdgAbG4nv/yabMB+MbwAIVCywH+JC8ALRhz/3c+/gDE4br+e42sABpVKf/ib7cA1eeXAAQ7B//uipQAQpMh/x/2jf/RjXT/aHAfAFihrABT1+b+L2+XAC0mNAGELcwAioBt/ul1hv/zvq3+8ezwAFJ/7P4o36H/brbh/3uu7wCH8pEBM9GaAJYDc/7ZpPz/N5xFAVRe///oSS0BFBPU/2DFO/5g+yEAJsdJAUCs9/91dDj/5BESAD6KZwH25aT/9HbJ/lYgn/9tIokBVdO6AArBwf56wrEAeu5m/6LaqwBs2aEBnqoiALAvmwG15Av/CJwAABBLXQDOYv8BOpojAAzzuP5DdUL/5uV7AMkqbgCG5LL+umx2/zoTmv9SqT7/co9zAe/EMv+tMMH/kwJU/5aGk/5f6EkAbeM0/r+JCgAozB7+TDRh/6TrfgD+fLwASrYVAXkdI//xHgf+VdrW/wdUlv5RG3X/oJ+Y/kIY3f/jCjwBjYdmANC9lgF1s1wAhBaI/3jHHAAVgU/+tglBANqjqQD2k8b/ayaQAU6vzf/WBfr+L1gd/6QvzP8rNwb/g4bP/nRk1gBgjEsBatyQAMMgHAGsUQX/x7M0/yVUywCqcK4ACwRbAEX0GwF1g1wAIZiv/4yZa//7hyv+V4oE/8bqk/55mFT/zWWbAZ0JGQBIahH+bJkA/73lugDBCLD/rpXRAO6CHQDp1n4BPeJmADmjBAHGbzP/LU9OAXPSCv/aCRn/novG/9NSu/5QhVMAnYHmAfOFhv8oiBAATWtP/7dVXAGxzMoAo0eT/5hFvgCsM7wB+tKs/9PycQFZWRr/QEJv/nSYKgChJxv/NlD+AGrRcwFnfGEA3eZi/x/nBgCywHj+D9nL/3yeTwBwkfcAXPowAaO1wf8lL47+kL2l/y6S8AAGS4AAKZ3I/ld51QABcewABS36AJAMUgAfbOcA4e93/6cHvf+75IT/br0iAF4szAGiNMUATrzx/jkUjQD0ki8BzmQzAH1rlP4bw00AmP1aAQePkP8zJR8AIncm/wfFdgCZvNMAlxR0/vVBNP+0/W4BL7HRAKFjEf923soAfbP8AXs2fv+ROb8AN7p5AArzigDN0+X/fZzx/pScuf/jE7z/fCkg/x8izv4ROVMAzBYl/ypgYgB3ZrgBA74cAG5S2v/IzMD/yZF2AHXMkgCEIGIBwMJ5AGqh+AHtWHwAF9QaAM2rWv/4MNgBjSXm/3zLAP6eqB7/1vgVAHC7B/9Lhe//SuPz//qTRgDWeKIApwmz/xaeEgDaTdEBYW1R//Qhs/85NDn/QazS//lH0f+Oqe4Anr2Z/67+Z/5iIQ4AjUzm/3GLNP8POtQAqNfJ//jM1wHfRKD/OZq3/i/neQBqpokAUYiKAKUrMwDniz0AOV87/nZiGf+XP+wBXr76/6m5cgEF+jr/S2lhAdffhgBxY6MBgD5wAGNqkwCjwwoAIc22ANYOrv+BJuf/NbbfAGIqn//3DSgAvNKxAQYVAP//PZT+iS2B/1kadP5+JnIA+zLy/nmGgP/M+af+pevXAMqx8wCFjT4A8IK+AW6v/wAAFJIBJdJ5/wcnggCO+lT/jcjPAAlfaP8L9K4Ahuh+AKcBe/4QwZX/6OnvAdVGcP/8dKD+8t7c/81V4wAHuToAdvc/AXRNsf8+9cj+PxIl/2s16P4y3dMAotsH/gJeKwC2Prb+oE7I/4eMqgDruOQArzWK/lA6Tf+YyQIBP8QiAAUeuACrsJoAeTvOACZjJwCsUE3+AIaXALoh8f5e/d//LHL8AGx+Of/JKA3/J+Ub/yfvFwGXeTP/mZb4AArqrv929gT+yPUmAEWh8gEQspYAcTiCAKsfaQAaWGz/MSpqAPupQgBFXZUAFDn+AKQZbwBavFr/zATFACjVMgHUYIT/WIq0/uSSfP+49vcAQXVW//1m0v7+eSQAiXMD/zwY2ACGEh0AO+JhALCORwAH0aEAvVQz/pv6SADVVOv/Ld7gAO6Uj/+qKjX/Tqd1ALoAKP99sWf/ReFCAOMHWAFLrAYAqS3jARAkRv8yAgn/i8EWAI+35/7aRTIA7DihAdWDKgCKkSz+iOUo/zE/I/89kfX/ZcAC/uincQCYaCYBebnaAHmL0/538CMAQb3Z/ruzov+gu+YAPvgO/zxOYQD/96P/4Ttb/2tHOv/xLyEBMnXsANuxP/70WrMAI8LX/71DMv8Xh4EAaL0l/7k5wgAjPuf/3PhsAAznsgCPUFsBg11l/5AnAgH/+rIABRHs/osgLgDMvCb+9XM0/79xSf6/bEX/FkX1ARfLsgCqY6oAQfhvACVsmf9AJUUAAFg+/lmUkP+/ROAB8Sc1ACnL7f+RfsL/3Sr9/xljlwBh/d8BSnMx/wavSP87sMsAfLf5AeTkYwCBDM/+qMDD/8ywEP6Y6qsATSVV/yF4h/+OwuMBH9Y6ANW7ff/oLjz/vnQq/peyE/8zPu3+zOzBAMLoPACsIp3/vRC4/mcDX/+N6ST+KRkL/xXDpgB29S0AQ9WV/58MEv+7pOMBoBkFAAxOwwErxeEAMI4p/sSbPP/fxxIBkYicAPx1qf6R4u4A7xdrAG21vP/mcDH+Sart/+e34/9Q3BQAwmt/AX/NZQAuNMUB0qsk/1gDWv84l40AYLv//ypOyAD+RkYB9H2oAMxEigF810YAZkLI/hE05AB13I/+y/h7ADgSrv+6l6T/M+jQAaDkK//5HRkBRL4/AA0AAAAA/wAAAAD1AAAAAAAA+wAAAAAAAP0AAAAA8wAAAAAHAAAAAAADAAAAAPMAAAAABQAAAAAAAAAACwAAAAAACwAAAADzAAAAAAAA/QAAAAAA/wAAAAADAAAAAPUAAAAAAAAADwAAAAAA/wAAAAD/AAAAAAcAAAAABQBB/IYCCwEBAEGghwILAQEAQcCHAgvxBuDrenw7QbiuFlbj+vGfxGraCY3rnDKx/YZiBRZfSbgAX5yVvKNQjCSx0LFVnIPvWwREXMRYHI6G2CJO3dCfEVfs////////////////////////////////////////f+3///////////////////////////////////////9/7v///////////////////////////////////////39MaWJzb2RpdW1EUkcAAAAACMm882fmCWo7p8qEha5nuyv4lP5y82488TYdXzr1T6XRguatf1IOUR9sPiuMaAWba71B+6vZgx95IX4TGc3gWyKuKNeYL4pCzWXvI5FEN3EvO03sz/vAtbzbiYGl27XpOLVI81vCVjkZ0AW28RHxWZtPGa+kgj+SGIFt2tVeHKtCAgOjmKoH2L5vcEUBW4MSjLLkTr6FMSTitP/Vw30MVW+Je/J0Xb5ysZYWO/6x3oA1Esclpwbcm5Qmac908ZvB0krxnsFpm+TjJU84hke+77XVjIvGncEPZZysd8yhDCR1AitZbyzpLYPkpm6qhHRK1PtBvdypsFy1UxGD2oj5dqvfZu5SUT6YEDK0LW3GMag/IfuYyCcDsOQO777Hf1m/wo+oPfML4MYlpwqTR5Gn1W+CA+BRY8oGcG4OCmcpKRT8L9JGhQq3JybJJlw4IRsu7SrEWvxtLE3fs5WdEw04U95jr4tUcwplqLJ3PLsKanbmru1HLsnCgTs1ghSFLHKSZAPxTKHov6IBMEK8S2YaqJGX+NBwi0vCML5UBqNRbMcYUu/WGeiS0RCpZVUkBpnWKiBxV4U1DvS40bsycKBqEMjQ0rgWwaQZU6tBUQhsNx6Z647fTHdIJ6hIm+G1vLA0Y1rJxbMMHDnLikHjSqrYTnPjY3dPypxbo7iy1vNvLmj8su9d7oKPdGAvF0NvY6V4cqvwoRR4yITsOWQaCALHjCgeYyP6/76Q6b2C3utsUKQVecay96P5vitTcuPyeHHGnGEm6s4+J8oHwsAhx7iG0R7r4M3WfdrqeNFu7n9PffW6bxdyqmfwBqaYyKLFfWMKrg35vgSYPxEbRxwTNQtxG4R9BCP1d9sokyTHQHuryjK8vskVCr6ePEwNEJzEZx1DtkI+y77UxUwqfmX8nCl/Wez61jqrb8tfF1hHSowZRGyAAEHAjwILoQJn5glqha5nu3Lzbjw69U+lf1IOUYxoBZur2YMfGc3gW5gvikKRRDdxz/vAtaXbtelbwlY58RHxWaSCP5LVXhyrmKoH2AFbgxK+hTEkw30MVXRdvnL+sd6Apwbcm3Txm8HBaZvkhke+78adwQ/MoQwkbyzpLaqEdErcqbBc2oj5dlJRPphtxjGoyCcDsMd/Wb/zC+DGR5Gn1VFjygZnKSkUhQq3JzghGy78bSxNEw04U1RzCmW7Cmp2LsnCgYUscpKh6L+iS2YaqHCLS8KjUWzHGeiS0SQGmdaFNQ70cKBqEBbBpBkIbDceTHdIJ7W8sDSzDBw5SqrYTk/KnFvzby5o7oKPdG9jpXgUeMiECALHjPr/vpDrbFCk96P5vvJ4ccaAAEGwkgILIVNpZ0VkMjU1MTkgbm8gRWQyNTUxOSBjb2xsaXNpb25zAQBBgJMCCyUgkwEAAQAAAAIAAAADAAAABAAAAAUAAAAGAAAABwAAAAgAAAAJAEGwkwILnQjGY2Ol+Hx8hO53d5n2e3uN//LyDdZra73eb2+xkcXFVGAwMFACAQEDzmdnqVYrK33n/v4ZtdfXYk2rq+bsdnaaj8rKRR+Cgp2JyclA+n19h+/6+hWyWVnrjkdHyfvw8AtBra3ss9TUZ1+iov1Fr6/qI5ycv1OkpPfkcnKWm8DAW3W3t8Lh/f0cPZOTrkwmJmpsNjZafj8/QfX39wKDzMxPaDQ0XFGlpfTR5eU0+fHxCOJxcZOr2NhzYjExUyoVFT8IBAQMlcfHUkYjI2Wdw8NeMBgYKDeWlqEKBQUPL5qatQ4HBwkkEhI2G4CAm9/i4j3N6+smTicnaX+yss3qdXWfEgkJGx2Dg55YLCx0NBoaLjYbGy3cbm6ytFpa7lugoPukUlL2djs7TbfW1mF9s7POUikpe93j4z5eLy9xE4SEl6ZTU/W50dFoAAAAAMHt7SxAICBg4/z8H3mxsci2W1vt1Gpqvo3Ly0Znvr7Zcjk5S5RKSt6YTEzUsFhY6IXPz0q70NBrxe/vKk+qquXt+/sWhkNDxZpNTddmMzNVEYWFlIpFRc/p+fkQBAICBv5/f4GgUFDweDw8RCWfn7pLqKjjolFR812jo/6AQEDABY+Pij+Skq0hnZ28cDg4SPH19QRjvLzfd7a2wa/a2nVCISFjIBAQMOX//xr98/MOv9LSbYHNzUwYDAwUJhMTNcPs7C++X1/hNZeXoohERMwuFxc5k8TEV1Wnp/L8fn6Cej09R8hkZKy6XV3nMhkZK+Zzc5XAYGCgGYGBmJ5PT9Gj3Nx/RCIiZlQqKn47kJCrC4iIg4xGRsrH7u4pa7i40ygUFDyn3t55vF5e4hYLCx2t29t22+DgO2QyMlZ0OjpOFAoKHpJJSdsMBgYKSCQkbLhcXOSfwsJdvdPTbkOsrO/EYmKmOZGRqDGVlaTT5OQ38nl5i9Xn5zKLyMhDbjc3WdptbbcBjY2MsdXVZJxOTtJJqang2GxstKxWVvrz9PQHz+rqJcplZa/0enqOR66u6RAICBhvurrV8Hh4iEolJW9cLi5yOBwcJFempvFztLTHl8bGUcvo6COh3d186HR0nD4fHyGWS0vdYb293A2Li4YPioqF4HBwkHw+PkJxtbXEzGZmqpBISNgGAwMF9/b2ARwODhLCYWGjajU1X65XV/lpubnQF4aGkZnBwVg6HR0nJ56eudnh4Tjr+PgTK5iYsyIRETPSaWm7qdnZcAeOjokzlJSnLZubtjweHiIVh4eSyenpIIfOzkmqVVX/UCgoeKXf33oDjIyPWaGh+AmJiYAaDQ0XZb+/2tfm5jGEQkLG0GhouIJBQcMpmZmwWi0tdx4PDxF7sLDLqFRU/G27u9YsFhY6CgAAAAsAAAAMAAAADQAAAA4AAAAPAAAAEAAAABE="),Wt=Pt,d(Qn).then((Pt=>WebAssembly.instantiate(Pt,Wt))).then((function(Wt){g(Wt.instance)}),(Wt=>{Gn(`failed to asynchronously prepare wasm: ${Wt}`),G(Wt)})),{}}();function l(){function A(){Cn||(Cn=!0,In.calledRun=!0,vn||(P(En),In.onRuntimeInitialized?.(),function(){if(In.postRun)for("function"==typeof In.postRun&&(In.postRun=[In.postRun]);In.postRun.length;)Wt=In.postRun.shift(),Vn.unshift(Wt);var Wt;P(Vn)}()))}Rn>0||(function(){if(In.preRun)for("function"==typeof In.preRun&&(In.preRun=[In.preRun]);In.preRun.length;)Wt=In.preRun.shift(),Yn.unshift(Wt);var Wt;P(Yn)}(),Rn>0||(In.setStatus?(In.setStatus("Running..."),setTimeout((function(){setTimeout((function(){In.setStatus("")}),1),A()}),1)):A()))}if(In._crypto_aead_aegis128l_keybytes=()=>(In._crypto_aead_aegis128l_keybytes=Ln.g)(),In._crypto_aead_aegis128l_nsecbytes=()=>(In._crypto_aead_aegis128l_nsecbytes=Ln.h)(),In._crypto_aead_aegis128l_npubbytes=()=>(In._crypto_aead_aegis128l_npubbytes=Ln.i)(),In._crypto_aead_aegis128l_abytes=()=>(In._crypto_aead_aegis128l_abytes=Ln.j)(),In._crypto_aead_aegis128l_messagebytes_max=()=>(In._crypto_aead_aegis128l_messagebytes_max=Ln.k)(),In._crypto_aead_aegis128l_keygen=Wt=>(In._crypto_aead_aegis128l_keygen=Ln.l)(Wt),In._crypto_aead_aegis128l_encrypt=(Wt,Pt,en,tn,nn,an,rn,sn,on,cn,dn)=>(In._crypto_aead_aegis128l_encrypt=Ln.m)(Wt,Pt,en,tn,nn,an,rn,sn,on,cn,dn),In._crypto_aead_aegis128l_encrypt_detached=(Wt,Pt,en,tn,nn,an,rn,sn,on,cn,dn,un)=>(In._crypto_aead_aegis128l_encrypt_detached=Ln.n)(Wt,Pt,en,tn,nn,an,rn,sn,on,cn,dn,un),In._crypto_aead_aegis128l_decrypt=(Wt,Pt,en,tn,nn,an,rn,sn,on,cn,dn)=>(In._crypto_aead_aegis128l_decrypt=Ln.o)(Wt,Pt,en,tn,nn,an,rn,sn,on,cn,dn),In._crypto_aead_aegis128l_decrypt_detached=(Wt,Pt,en,tn,nn,an,rn,sn,on,cn,dn)=>(In._crypto_aead_aegis128l_decrypt_detached=Ln.p)(Wt,Pt,en,tn,nn,an,rn,sn,on,cn,dn),In._crypto_aead_aegis256_keybytes=()=>(In._crypto_aead_aegis256_keybytes=Ln.q)(),In._crypto_aead_aegis256_nsecbytes=()=>(In._crypto_aead_aegis256_nsecbytes=Ln.r)(),In._crypto_aead_aegis256_npubbytes=()=>(In._crypto_aead_aegis256_npubbytes=Ln.s)(),In._crypto_aead_aegis256_abytes=()=>(In._crypto_aead_aegis256_abytes=Ln.t)(),In._crypto_aead_aegis256_messagebytes_max=()=>(In._crypto_aead_aegis256_messagebytes_max=Ln.u)(),In._crypto_aead_aegis256_keygen=Wt=>(In._crypto_aead_aegis256_keygen=Ln.v)(Wt),In._crypto_aead_aegis256_encrypt=(Wt,Pt,en,tn,nn,an,rn,sn,on,cn,dn)=>(In._crypto_aead_aegis256_encrypt=Ln.w)(Wt,Pt,en,tn,nn,an,rn,sn,on,cn,dn),In._crypto_aead_aegis256_encrypt_detached=(Wt,Pt,en,tn,nn,an,rn,sn,on,cn,dn,un)=>(In._crypto_aead_aegis256_encrypt_detached=Ln.x)(Wt,Pt,en,tn,nn,an,rn,sn,on,cn,dn,un),In._crypto_aead_aegis256_decrypt=(Wt,Pt,en,tn,nn,an,rn,sn,on,cn,dn)=>(In._crypto_aead_aegis256_decrypt=Ln.y)(Wt,Pt,en,tn,nn,an,rn,sn,on,cn,dn),In._crypto_aead_aegis256_decrypt_detached=(Wt,Pt,en,tn,nn,an,rn,sn,on,cn,dn)=>(In._crypto_aead_aegis256_decrypt_detached=Ln.z)(Wt,Pt,en,tn,nn,an,rn,sn,on,cn,dn),In._crypto_aead_aes256gcm_is_available=()=>(In._crypto_aead_aes256gcm_is_available=Ln.A)(),In._crypto_aead_chacha20poly1305_encrypt_detached=(Wt,Pt,en,tn,nn,an,rn,sn,on,cn,dn,un)=>(In._crypto_aead_chacha20poly1305_encrypt_detached=Ln.B)(Wt,Pt,en,tn,nn,an,rn,sn,on,cn,dn,un),In._crypto_aead_chacha20poly1305_encrypt=(Wt,Pt,en,tn,nn,an,rn,sn,on,cn,dn)=>(In._crypto_aead_chacha20poly1305_encrypt=Ln.C)(Wt,Pt,en,tn,nn,an,rn,sn,on,cn,dn),In._crypto_aead_chacha20poly1305_ietf_encrypt_detached=(Wt,Pt,en,tn,nn,an,rn,sn,on,cn,dn,un)=>(In._crypto_aead_chacha20poly1305_ietf_encrypt_detached=Ln.D)(Wt,Pt,en,tn,nn,an,rn,sn,on,cn,dn,un),In._crypto_aead_chacha20poly1305_ietf_encrypt=(Wt,Pt,en,tn,nn,an,rn,sn,on,cn,dn)=>(In._crypto_aead_chacha20poly1305_ietf_encrypt=Ln.E)(Wt,Pt,en,tn,nn,an,rn,sn,on,cn,dn),In._crypto_aead_chacha20poly1305_decrypt_detached=(Wt,Pt,en,tn,nn,an,rn,sn,on,cn,dn)=>(In._crypto_aead_chacha20poly1305_decrypt_detached=Ln.F)(Wt,Pt,en,tn,nn,an,rn,sn,on,cn,dn),In._crypto_aead_chacha20poly1305_decrypt=(Wt,Pt,en,tn,nn,an,rn,sn,on,cn,dn)=>(In._crypto_aead_chacha20poly1305_decrypt=Ln.G)(Wt,Pt,en,tn,nn,an,rn,sn,on,cn,dn),In._crypto_aead_chacha20poly1305_ietf_decrypt_detached=(Wt,Pt,en,tn,nn,an,rn,sn,on,cn,dn)=>(In._crypto_aead_chacha20poly1305_ietf_decrypt_detached=Ln.H)(Wt,Pt,en,tn,nn,an,rn,sn,on,cn,dn),In._crypto_aead_chacha20poly1305_ietf_decrypt=(Wt,Pt,en,tn,nn,an,rn,sn,on,cn,dn)=>(In._crypto_aead_chacha20poly1305_ietf_decrypt=Ln.I)(Wt,Pt,en,tn,nn,an,rn,sn,on,cn,dn),In._crypto_aead_chacha20poly1305_ietf_keybytes=()=>(In._crypto_aead_chacha20poly1305_ietf_keybytes=Ln.J)(),In._crypto_aead_chacha20poly1305_ietf_npubbytes=()=>(In._crypto_aead_chacha20poly1305_ietf_npubbytes=Ln.K)(),In._crypto_aead_chacha20poly1305_ietf_nsecbytes=()=>(In._crypto_aead_chacha20poly1305_ietf_nsecbytes=Ln.L)(),In._crypto_aead_chacha20poly1305_ietf_abytes=()=>(In._crypto_aead_chacha20poly1305_ietf_abytes=Ln.M)(),In._crypto_aead_chacha20poly1305_ietf_messagebytes_max=()=>(In._crypto_aead_chacha20poly1305_ietf_messagebytes_max=Ln.N)(),In._crypto_aead_chacha20poly1305_ietf_keygen=Wt=>(In._crypto_aead_chacha20poly1305_ietf_keygen=Ln.O)(Wt),In._crypto_aead_chacha20poly1305_keybytes=()=>(In._crypto_aead_chacha20poly1305_keybytes=Ln.P)(),In._crypto_aead_chacha20poly1305_npubbytes=()=>(In._crypto_aead_chacha20poly1305_npubbytes=Ln.Q)(),In._crypto_aead_chacha20poly1305_nsecbytes=()=>(In._crypto_aead_chacha20poly1305_nsecbytes=Ln.R)(),In._crypto_aead_chacha20poly1305_abytes=()=>(In._crypto_aead_chacha20poly1305_abytes=Ln.S)(),In._crypto_aead_chacha20poly1305_messagebytes_max=()=>(In._crypto_aead_chacha20poly1305_messagebytes_max=Ln.T)(),In._crypto_aead_chacha20poly1305_keygen=Wt=>(In._crypto_aead_chacha20poly1305_keygen=Ln.U)(Wt),In._crypto_aead_xchacha20poly1305_ietf_encrypt_detached=(Wt,Pt,en,tn,nn,an,rn,sn,on,cn,dn,un)=>(In._crypto_aead_xchacha20poly1305_ietf_encrypt_detached=Ln.V)(Wt,Pt,en,tn,nn,an,rn,sn,on,cn,dn,un),In._crypto_aead_xchacha20poly1305_ietf_encrypt=(Wt,Pt,en,tn,nn,an,rn,sn,on,cn,dn)=>(In._crypto_aead_xchacha20poly1305_ietf_encrypt=Ln.W)(Wt,Pt,en,tn,nn,an,rn,sn,on,cn,dn),In._crypto_aead_xchacha20poly1305_ietf_decrypt_detached=(Wt,Pt,en,tn,nn,an,rn,sn,on,cn,dn)=>(In._crypto_aead_xchacha20poly1305_ietf_decrypt_detached=Ln.X)(Wt,Pt,en,tn,nn,an,rn,sn,on,cn,dn),In._crypto_aead_xchacha20poly1305_ietf_decrypt=(Wt,Pt,en,tn,nn,an,rn,sn,on,cn,dn)=>(In._crypto_aead_xchacha20poly1305_ietf_decrypt=Ln.Y)(Wt,Pt,en,tn,nn,an,rn,sn,on,cn,dn),In._crypto_aead_xchacha20poly1305_ietf_keybytes=()=>(In._crypto_aead_xchacha20poly1305_ietf_keybytes=Ln.Z)(),In._crypto_aead_xchacha20poly1305_ietf_npubbytes=()=>(In._crypto_aead_xchacha20poly1305_ietf_npubbytes=Ln._)(),In._crypto_aead_xchacha20poly1305_ietf_nsecbytes=()=>(In._crypto_aead_xchacha20poly1305_ietf_nsecbytes=Ln.$)(),In._crypto_aead_xchacha20poly1305_ietf_abytes=()=>(In._crypto_aead_xchacha20poly1305_ietf_abytes=Ln.aa)(),In._crypto_aead_xchacha20poly1305_ietf_messagebytes_max=()=>(In._crypto_aead_xchacha20poly1305_ietf_messagebytes_max=Ln.ba)(),In._crypto_aead_xchacha20poly1305_ietf_keygen=Wt=>(In._crypto_aead_xchacha20poly1305_ietf_keygen=Ln.ca)(Wt),In._crypto_auth_bytes=()=>(In._crypto_auth_bytes=Ln.da)(),In._crypto_auth_keybytes=()=>(In._crypto_auth_keybytes=Ln.ea)(),In._crypto_auth=(Wt,Pt,en,tn,nn)=>(In._crypto_auth=Ln.fa)(Wt,Pt,en,tn,nn),In._crypto_auth_verify=(Wt,Pt,en,tn,nn)=>(In._crypto_auth_verify=Ln.ga)(Wt,Pt,en,tn,nn),In._crypto_auth_keygen=Wt=>(In._crypto_auth_keygen=Ln.ha)(Wt),In._crypto_box_seedbytes=()=>(In._crypto_box_seedbytes=Ln.ia)(),In._crypto_box_publickeybytes=()=>(In._crypto_box_publickeybytes=Ln.ja)(),In._crypto_box_secretkeybytes=()=>(In._crypto_box_secretkeybytes=Ln.ka)(),In._crypto_box_beforenmbytes=()=>(In._crypto_box_beforenmbytes=Ln.la)(),In._crypto_box_noncebytes=()=>(In._crypto_box_noncebytes=Ln.ma)(),In._crypto_box_macbytes=()=>(In._crypto_box_macbytes=Ln.na)(),In._crypto_box_messagebytes_max=()=>(In._crypto_box_messagebytes_max=Ln.oa)(),In._crypto_box_seed_keypair=(Wt,Pt,en)=>(In._crypto_box_seed_keypair=Ln.pa)(Wt,Pt,en),In._crypto_box_keypair=(Wt,Pt)=>(In._crypto_box_keypair=Ln.qa)(Wt,Pt),In._crypto_box_beforenm=(Wt,Pt,en)=>(In._crypto_box_beforenm=Ln.ra)(Wt,Pt,en),In._crypto_box_detached_afternm=(Wt,Pt,en,tn,nn,an,rn)=>(In._crypto_box_detached_afternm=Ln.sa)(Wt,Pt,en,tn,nn,an,rn),In._crypto_box_detached=(Wt,Pt,en,tn,nn,an,rn,sn)=>(In._crypto_box_detached=Ln.ta)(Wt,Pt,en,tn,nn,an,rn,sn),In._crypto_box_easy_afternm=(Wt,Pt,en,tn,nn,an)=>(In._crypto_box_easy_afternm=Ln.ua)(Wt,Pt,en,tn,nn,an),In._crypto_box_easy=(Wt,Pt,en,tn,nn,an,rn)=>(In._crypto_box_easy=Ln.va)(Wt,Pt,en,tn,nn,an,rn),In._crypto_box_open_detached_afternm=(Wt,Pt,en,tn,nn,an,rn)=>(In._crypto_box_open_detached_afternm=Ln.wa)(Wt,Pt,en,tn,nn,an,rn),In._crypto_box_open_detached=(Wt,Pt,en,tn,nn,an,rn,sn)=>(In._crypto_box_open_detached=Ln.xa)(Wt,Pt,en,tn,nn,an,rn,sn),In._crypto_box_open_easy_afternm=(Wt,Pt,en,tn,nn,an)=>(In._crypto_box_open_easy_afternm=Ln.ya)(Wt,Pt,en,tn,nn,an),In._crypto_box_open_easy=(Wt,Pt,en,tn,nn,an,rn)=>(In._crypto_box_open_easy=Ln.za)(Wt,Pt,en,tn,nn,an,rn),In._crypto_box_seal=(Wt,Pt,en,tn,nn)=>(In._crypto_box_seal=Ln.Aa)(Wt,Pt,en,tn,nn),In._crypto_box_seal_open=(Wt,Pt,en,tn,nn,an)=>(In._crypto_box_seal_open=Ln.Ba)(Wt,Pt,en,tn,nn,an),In._crypto_box_sealbytes=()=>(In._crypto_box_sealbytes=Ln.Ca)(),In._crypto_generichash_bytes_min=()=>(In._crypto_generichash_bytes_min=Ln.Da)(),In._crypto_generichash_bytes_max=()=>(In._crypto_generichash_bytes_max=Ln.Ea)(),In._crypto_generichash_bytes=()=>(In._crypto_generichash_bytes=Ln.Fa)(),In._crypto_generichash_keybytes_min=()=>(In._crypto_generichash_keybytes_min=Ln.Ga)(),In._crypto_generichash_keybytes_max=()=>(In._crypto_generichash_keybytes_max=Ln.Ha)(),In._crypto_generichash_keybytes=()=>(In._crypto_generichash_keybytes=Ln.Ia)(),In._crypto_generichash_statebytes=()=>(In._crypto_generichash_statebytes=Ln.Ja)(),In._crypto_generichash=(Wt,Pt,en,tn,nn,an,rn)=>(In._crypto_generichash=Ln.Ka)(Wt,Pt,en,tn,nn,an,rn),In._crypto_generichash_init=(Wt,Pt,en,tn)=>(In._crypto_generichash_init=Ln.La)(Wt,Pt,en,tn),In._crypto_generichash_update=(Wt,Pt,en,tn)=>(In._crypto_generichash_update=Ln.Ma)(Wt,Pt,en,tn),In._crypto_generichash_final=(Wt,Pt,en)=>(In._crypto_generichash_final=Ln.Na)(Wt,Pt,en),In._crypto_generichash_keygen=Wt=>(In._crypto_generichash_keygen=Ln.Oa)(Wt),In._crypto_hash_bytes=()=>(In._crypto_hash_bytes=Ln.Pa)(),In._crypto_hash=(Wt,Pt,en,tn)=>(In._crypto_hash=Ln.Qa)(Wt,Pt,en,tn),In._crypto_kdf_bytes_min=()=>(In._crypto_kdf_bytes_min=Ln.Ra)(),In._crypto_kdf_bytes_max=()=>(In._crypto_kdf_bytes_max=Ln.Sa)(),In._crypto_kdf_contextbytes=()=>(In._crypto_kdf_contextbytes=Ln.Ta)(),In._crypto_kdf_keybytes=()=>(In._crypto_kdf_keybytes=Ln.Ua)(),In._crypto_kdf_derive_from_key=(Wt,Pt,en,tn,nn,an)=>(In._crypto_kdf_derive_from_key=Ln.Va)(Wt,Pt,en,tn,nn,an),In._crypto_kdf_keygen=Wt=>(In._crypto_kdf_keygen=Ln.Wa)(Wt),In._crypto_kdf_hkdf_sha256_extract_init=(Wt,Pt,en)=>(In._crypto_kdf_hkdf_sha256_extract_init=Ln.Xa)(Wt,Pt,en),In._crypto_kdf_hkdf_sha256_extract_update=(Wt,Pt,en)=>(In._crypto_kdf_hkdf_sha256_extract_update=Ln.Ya)(Wt,Pt,en),In._crypto_kdf_hkdf_sha256_extract_final=(Wt,Pt)=>(In._crypto_kdf_hkdf_sha256_extract_final=Ln.Za)(Wt,Pt),In._crypto_kdf_hkdf_sha256_extract=(Wt,Pt,en,tn,nn)=>(In._crypto_kdf_hkdf_sha256_extract=Ln._a)(Wt,Pt,en,tn,nn),In._crypto_kdf_hkdf_sha256_keygen=Wt=>(In._crypto_kdf_hkdf_sha256_keygen=Ln.$a)(Wt),In._crypto_kdf_hkdf_sha256_expand=(Wt,Pt,en,tn,nn)=>(In._crypto_kdf_hkdf_sha256_expand=Ln.ab)(Wt,Pt,en,tn,nn),In._crypto_kdf_hkdf_sha256_keybytes=()=>(In._crypto_kdf_hkdf_sha256_keybytes=Ln.bb)(),In._crypto_kdf_hkdf_sha256_bytes_min=()=>(In._crypto_kdf_hkdf_sha256_bytes_min=Ln.cb)(),In._crypto_kdf_hkdf_sha256_bytes_max=()=>(In._crypto_kdf_hkdf_sha256_bytes_max=Ln.db)(),In._crypto_kdf_hkdf_sha256_statebytes=()=>(In._crypto_kdf_hkdf_sha256_statebytes=Ln.eb)(),In._crypto_kdf_hkdf_sha512_extract_init=(Wt,Pt,en)=>(In._crypto_kdf_hkdf_sha512_extract_init=Ln.fb)(Wt,Pt,en),In._crypto_kdf_hkdf_sha512_extract_update=(Wt,Pt,en)=>(In._crypto_kdf_hkdf_sha512_extract_update=Ln.gb)(Wt,Pt,en),In._crypto_kdf_hkdf_sha512_extract_final=(Wt,Pt)=>(In._crypto_kdf_hkdf_sha512_extract_final=Ln.hb)(Wt,Pt),In._crypto_kdf_hkdf_sha512_extract=(Wt,Pt,en,tn,nn)=>(In._crypto_kdf_hkdf_sha512_extract=Ln.ib)(Wt,Pt,en,tn,nn),In._crypto_kdf_hkdf_sha512_keygen=Wt=>(In._crypto_kdf_hkdf_sha512_keygen=Ln.jb)(Wt),In._crypto_kdf_hkdf_sha512_expand=(Wt,Pt,en,tn,nn)=>(In._crypto_kdf_hkdf_sha512_expand=Ln.kb)(Wt,Pt,en,tn,nn),In._crypto_kdf_hkdf_sha512_keybytes=()=>(In._crypto_kdf_hkdf_sha512_keybytes=Ln.lb)(),In._crypto_kdf_hkdf_sha512_bytes_min=()=>(In._crypto_kdf_hkdf_sha512_bytes_min=Ln.mb)(),In._crypto_kdf_hkdf_sha512_bytes_max=()=>(In._crypto_kdf_hkdf_sha512_bytes_max=Ln.nb)(),In._crypto_kdf_hkdf_sha512_statebytes=()=>(In._crypto_kdf_hkdf_sha512_statebytes=Ln.ob)(),In._crypto_kx_seed_keypair=(Wt,Pt,en)=>(In._crypto_kx_seed_keypair=Ln.pb)(Wt,Pt,en),In._crypto_kx_keypair=(Wt,Pt)=>(In._crypto_kx_keypair=Ln.qb)(Wt,Pt),In._crypto_kx_client_session_keys=(Wt,Pt,en,tn,nn)=>(In._crypto_kx_client_session_keys=Ln.rb)(Wt,Pt,en,tn,nn),In._crypto_kx_server_session_keys=(Wt,Pt,en,tn,nn)=>(In._crypto_kx_server_session_keys=Ln.sb)(Wt,Pt,en,tn,nn),In._crypto_kx_publickeybytes=()=>(In._crypto_kx_publickeybytes=Ln.tb)(),In._crypto_kx_secretkeybytes=()=>(In._crypto_kx_secretkeybytes=Ln.ub)(),In._crypto_kx_seedbytes=()=>(In._crypto_kx_seedbytes=Ln.vb)(),In._crypto_kx_sessionkeybytes=()=>(In._crypto_kx_sessionkeybytes=Ln.wb)(),In._crypto_scalarmult_base=(Wt,Pt)=>(In._crypto_scalarmult_base=Ln.xb)(Wt,Pt),In._crypto_scalarmult=(Wt,Pt,en)=>(In._crypto_scalarmult=Ln.yb)(Wt,Pt,en),In._crypto_scalarmult_bytes=()=>(In._crypto_scalarmult_bytes=Ln.zb)(),In._crypto_scalarmult_scalarbytes=()=>(In._crypto_scalarmult_scalarbytes=Ln.Ab)(),In._crypto_secretbox_keybytes=()=>(In._crypto_secretbox_keybytes=Ln.Bb)(),In._crypto_secretbox_noncebytes=()=>(In._crypto_secretbox_noncebytes=Ln.Cb)(),In._crypto_secretbox_macbytes=()=>(In._crypto_secretbox_macbytes=Ln.Db)(),In._crypto_secretbox_messagebytes_max=()=>(In._crypto_secretbox_messagebytes_max=Ln.Eb)(),In._crypto_secretbox_keygen=Wt=>(In._crypto_secretbox_keygen=Ln.Fb)(Wt),In._crypto_secretbox_detached=(Wt,Pt,en,tn,nn,an,rn)=>(In._crypto_secretbox_detached=Ln.Gb)(Wt,Pt,en,tn,nn,an,rn),In._crypto_secretbox_easy=(Wt,Pt,en,tn,nn,an)=>(In._crypto_secretbox_easy=Ln.Hb)(Wt,Pt,en,tn,nn,an),In._crypto_secretbox_open_detached=(Wt,Pt,en,tn,nn,an,rn)=>(In._crypto_secretbox_open_detached=Ln.Ib)(Wt,Pt,en,tn,nn,an,rn),In._crypto_secretbox_open_easy=(Wt,Pt,en,tn,nn,an)=>(In._crypto_secretbox_open_easy=Ln.Jb)(Wt,Pt,en,tn,nn,an),In._crypto_secretstream_xchacha20poly1305_keygen=Wt=>(In._crypto_secretstream_xchacha20poly1305_keygen=Ln.Kb)(Wt),In._crypto_secretstream_xchacha20poly1305_init_push=(Wt,Pt,en)=>(In._crypto_secretstream_xchacha20poly1305_init_push=Ln.Lb)(Wt,Pt,en),In._crypto_secretstream_xchacha20poly1305_init_pull=(Wt,Pt,en)=>(In._crypto_secretstream_xchacha20poly1305_init_pull=Ln.Mb)(Wt,Pt,en),In._crypto_secretstream_xchacha20poly1305_rekey=Wt=>(In._crypto_secretstream_xchacha20poly1305_rekey=Ln.Nb)(Wt),In._crypto_secretstream_xchacha20poly1305_push=(Wt,Pt,en,tn,nn,an,rn,sn,on,cn)=>(In._crypto_secretstream_xchacha20poly1305_push=Ln.Ob)(Wt,Pt,en,tn,nn,an,rn,sn,on,cn),In._crypto_secretstream_xchacha20poly1305_pull=(Wt,Pt,en,tn,nn,an,rn,sn,on,cn)=>(In._crypto_secretstream_xchacha20poly1305_pull=Ln.Pb)(Wt,Pt,en,tn,nn,an,rn,sn,on,cn),In._crypto_secretstream_xchacha20poly1305_statebytes=()=>(In._crypto_secretstream_xchacha20poly1305_statebytes=Ln.Qb)(),In._crypto_secretstream_xchacha20poly1305_abytes=()=>(In._crypto_secretstream_xchacha20poly1305_abytes=Ln.Rb)(),In._crypto_secretstream_xchacha20poly1305_headerbytes=()=>(In._crypto_secretstream_xchacha20poly1305_headerbytes=Ln.Sb)(),In._crypto_secretstream_xchacha20poly1305_keybytes=()=>(In._crypto_secretstream_xchacha20poly1305_keybytes=Ln.Tb)(),In._crypto_secretstream_xchacha20poly1305_messagebytes_max=()=>(In._crypto_secretstream_xchacha20poly1305_messagebytes_max=Ln.Ub)(),In._crypto_secretstream_xchacha20poly1305_tag_message=()=>(In._crypto_secretstream_xchacha20poly1305_tag_message=Ln.Vb)(),In._crypto_secretstream_xchacha20poly1305_tag_push=()=>(In._crypto_secretstream_xchacha20poly1305_tag_push=Ln.Wb)(),In._crypto_secretstream_xchacha20poly1305_tag_rekey=()=>(In._crypto_secretstream_xchacha20poly1305_tag_rekey=Ln.Xb)(),In._crypto_secretstream_xchacha20poly1305_tag_final=()=>(In._crypto_secretstream_xchacha20poly1305_tag_final=Ln.Yb)(),In._crypto_shorthash_bytes=()=>(In._crypto_shorthash_bytes=Ln.Zb)(),In._crypto_shorthash_keybytes=()=>(In._crypto_shorthash_keybytes=Ln._b)(),In._crypto_shorthash=(Wt,Pt,en,tn,nn)=>(In._crypto_shorthash=Ln.$b)(Wt,Pt,en,tn,nn),In._crypto_shorthash_keygen=Wt=>(In._crypto_shorthash_keygen=Ln.ac)(Wt),In._crypto_sign_statebytes=()=>(In._crypto_sign_statebytes=Ln.bc)(),In._crypto_sign_bytes=()=>(In._crypto_sign_bytes=Ln.cc)(),In._crypto_sign_seedbytes=()=>(In._crypto_sign_seedbytes=Ln.dc)(),In._crypto_sign_publickeybytes=()=>(In._crypto_sign_publickeybytes=Ln.ec)(),In._crypto_sign_secretkeybytes=()=>(In._crypto_sign_secretkeybytes=Ln.fc)(),In._crypto_sign_messagebytes_max=()=>(In._crypto_sign_messagebytes_max=Ln.gc)(),In._crypto_sign_seed_keypair=(Wt,Pt,en)=>(In._crypto_sign_seed_keypair=Ln.hc)(Wt,Pt,en),In._crypto_sign_keypair=(Wt,Pt)=>(In._crypto_sign_keypair=Ln.ic)(Wt,Pt),In._crypto_sign=(Wt,Pt,en,tn,nn,an)=>(In._crypto_sign=Ln.jc)(Wt,Pt,en,tn,nn,an),In._crypto_sign_open=(Wt,Pt,en,tn,nn,an)=>(In._crypto_sign_open=Ln.kc)(Wt,Pt,en,tn,nn,an),In._crypto_sign_detached=(Wt,Pt,en,tn,nn,an)=>(In._crypto_sign_detached=Ln.lc)(Wt,Pt,en,tn,nn,an),In._crypto_sign_verify_detached=(Wt,Pt,en,tn,nn)=>(In._crypto_sign_verify_detached=Ln.mc)(Wt,Pt,en,tn,nn),In._crypto_sign_init=Wt=>(In._crypto_sign_init=Ln.nc)(Wt),In._crypto_sign_update=(Wt,Pt,en,tn)=>(In._crypto_sign_update=Ln.oc)(Wt,Pt,en,tn),In._crypto_sign_final_create=(Wt,Pt,en,tn)=>(In._crypto_sign_final_create=Ln.pc)(Wt,Pt,en,tn),In._crypto_sign_final_verify=(Wt,Pt,en)=>(In._crypto_sign_final_verify=Ln.qc)(Wt,Pt,en),In._crypto_sign_ed25519_pk_to_curve25519=(Wt,Pt)=>(In._crypto_sign_ed25519_pk_to_curve25519=Ln.rc)(Wt,Pt),In._crypto_sign_ed25519_sk_to_curve25519=(Wt,Pt)=>(In._crypto_sign_ed25519_sk_to_curve25519=Ln.sc)(Wt,Pt),In._randombytes_random=()=>(In._randombytes_random=Ln.tc)(),In._randombytes_stir=()=>(In._randombytes_stir=Ln.uc)(),In._randombytes_uniform=Wt=>(In._randombytes_uniform=Ln.vc)(Wt),In._randombytes_buf=(Wt,Pt)=>(In._randombytes_buf=Ln.wc)(Wt,Pt),In._randombytes_buf_deterministic=(Wt,Pt,en)=>(In._randombytes_buf_deterministic=Ln.xc)(Wt,Pt,en),In._randombytes_seedbytes=()=>(In._randombytes_seedbytes=Ln.yc)(),In._randombytes_close=()=>(In._randombytes_close=Ln.zc)(),In._randombytes=(Wt,Pt,en)=>(In._randombytes=Ln.Ac)(Wt,Pt,en),In._sodium_bin2hex=(Wt,Pt,en,tn)=>(In._sodium_bin2hex=Ln.Bc)(Wt,Pt,en,tn),In._sodium_hex2bin=(Wt,Pt,en,tn,nn,an,rn)=>(In._sodium_hex2bin=Ln.Cc)(Wt,Pt,en,tn,nn,an,rn),In._sodium_base64_encoded_len=(Wt,Pt)=>(In._sodium_base64_encoded_len=Ln.Dc)(Wt,Pt),In._sodium_bin2base64=(Wt,Pt,en,tn,nn)=>(In._sodium_bin2base64=Ln.Ec)(Wt,Pt,en,tn,nn),In._sodium_base642bin=(Wt,Pt,en,tn,nn,an,rn,sn)=>(In._sodium_base642bin=Ln.Fc)(Wt,Pt,en,tn,nn,an,rn,sn),In._sodium_init=()=>(In._sodium_init=Ln.Gc)(),In._sodium_pad=(Wt,Pt,en,tn,nn)=>(In._sodium_pad=Ln.Hc)(Wt,Pt,en,tn,nn),In._sodium_unpad=(Wt,Pt,en,tn)=>(In._sodium_unpad=Ln.Ic)(Wt,Pt,en,tn),In._sodium_version_string=()=>(In._sodium_version_string=Ln.Jc)(),In._sodium_library_version_major=()=>(In._sodium_library_version_major=Ln.Kc)(),In._sodium_library_version_minor=()=>(In._sodium_library_version_minor=Ln.Lc)(),In._sodium_library_minimal=()=>(In._sodium_library_minimal=Ln.Mc)(),In._malloc=Wt=>(In._malloc=Ln.Nc)(Wt),In._free=Wt=>(In._free=Ln.Oc)(Wt),In.setValue=function(Wt,Pt,en="i8"){switch(en.endsWith("*")&&(en="*"),en){case"i1":case"i8":hn[Wt]=Pt;break;case"i16":An[Wt>>1]=Pt;break;case"i32":Wn[Wt>>2]=Pt;break;case"i64":G("to do setValue(i64) use WASM_BIGINT");case"float":gn[Wt>>2]=Pt;break;case"double":yn[Wt>>3]=Pt;break;case"*":Nn[Wt>>2]=Pt;break;default:G(`invalid type for setValue: ${en}`)}},In.getValue=function(Wt,Pt="i8"){switch(Pt.endsWith("*")&&(Pt="*"),Pt){case"i1":case"i8":return hn[Wt];case"i16":return An[Wt>>1];case"i32":return Wn[Wt>>2];case"i64":G("to do getValue(i64) use WASM_BIGINT");case"float":return gn[Wt>>2];case"double":return yn[Wt>>3];case"*":return Nn[Wt>>2];default:G(`invalid type for getValue: ${Pt}`)}},In.UTF8ToString=L,Fn=function A(){Cn||l(),Cn||(Fn=A)},In.preInit)for("function"==typeof In.preInit&&(In.preInit=[In.preInit]);In.preInit.length>0;)In.preInit.pop()();l()})).catch((function(){return an.useBackupModule()})),tn}"function"==typeof define&&define.amd?define(["exports"],I):true&&"string"!=typeof Pt.nodeName?I(Pt):tn.libsodium=I(tn.libsodium_mod||(tn.commonJsStrict={}))}(this)},99829:(Wt,Pt,en)=>{ +/*! + * mime-db + * Copyright(c) 2014 Jonathan Ong + * Copyright(c) 2015-2022 Douglas Christopher Wilson + * MIT Licensed */ -function setSecret(secret) { - (0, command_1.issueCommand)('add-mask', {}, secret); -} -exports.setSecret = setSecret; -/** - * Prepends inputPath to the PATH (for this action and future actions) - * @param inputPath +Wt.exports=en(81813)},14096:(Wt,Pt,en)=>{ +/*! + * mime-types + * Copyright(c) 2014 Jonathan Ong + * Copyright(c) 2015 Douglas Christopher Wilson + * MIT Licensed */ -function addPath(inputPath) { - const filePath = process.env['GITHUB_PATH'] || ''; - if (filePath) { - (0, file_command_1.issueFileCommand)('PATH', inputPath); - } - else { - (0, command_1.issueCommand)('add-path', {}, inputPath); - } - process.env['PATH'] = `${inputPath}${path.delimiter}${process.env['PATH']}`; -} -exports.addPath = addPath; -/** - * Gets the value of an input. - * Unless trimWhitespace is set to false in InputOptions, the value is also trimmed. - * Returns an empty string if the value is not defined. +var tn=en(99829);var nn=en(16928).extname;var an=/^\s*([^;\s]*)(?:;|\s|$)/;var In=/^text\//i;Pt.charset=charset;Pt.charsets={lookup:charset};Pt.contentType=contentType;Pt.extension=extension;Pt.extensions=Object.create(null);Pt.lookup=lookup;Pt.types=Object.create(null);populateMaps(Pt.extensions,Pt.types);function charset(Wt){if(!Wt||typeof Wt!=="string"){return false}var Pt=an.exec(Wt);var en=Pt&&tn[Pt[1].toLowerCase()];if(en&&en.charset){return en.charset}if(Pt&&In.test(Pt[1])){return"UTF-8"}return false}function contentType(Wt){if(!Wt||typeof Wt!=="string"){return false}var en=Wt.indexOf("/")===-1?Pt.lookup(Wt):Wt;if(!en){return false}if(en.indexOf("charset")===-1){var tn=Pt.charset(en);if(tn)en+="; charset="+tn.toLowerCase()}return en}function extension(Wt){if(!Wt||typeof Wt!=="string"){return false}var en=an.exec(Wt);var tn=en&&Pt.extensions[en[1].toLowerCase()];if(!tn||!tn.length){return false}return tn[0]}function lookup(Wt){if(!Wt||typeof Wt!=="string"){return false}var en=nn("x."+Wt).toLowerCase().substr(1);if(!en){return false}return Pt.types[en]||false}function populateMaps(Wt,Pt){var en=["nginx","apache",undefined,"iana"];Object.keys(tn).forEach((function forEachMimeType(nn){var an=tn[nn];var In=an.extensions;if(!In||!In.length){return}Wt[nn]=In;for(var rn=0;rncn||on===cn&&Pt[sn].substr(0,12)==="application/")){continue}}Pt[sn]=nn}}))}},63798:Wt=>{Wt.exports=assert;function assert(Wt,Pt){if(!Wt)throw new Error(Pt||"Assertion failed")}assert.equal=function assertEqual(Wt,Pt,en){if(Wt!=Pt)throw new Error(en||"Assertion failed: "+Wt+" != "+Pt)}},88660:(Wt,Pt)=>{var en=Pt;function toArray(Wt,Pt){if(Array.isArray(Wt))return Wt.slice();if(!Wt)return[];var en=[];if(typeof Wt!=="string"){for(var tn=0;tn>8;var In=nn&255;if(an)en.push(an,In);else en.push(In)}}return en}en.toArray=toArray;function zero2(Wt){if(Wt.length===1)return"0"+Wt;else return Wt}en.zero2=zero2;function toHex(Wt){var Pt="";for(var en=0;en{var Pt=1e3;var en=Pt*60;var tn=en*60;var nn=tn*24;var an=nn*7;var In=nn*365.25;Wt.exports=function(Wt,Pt){Pt=Pt||{};var en=typeof Wt;if(en==="string"&&Wt.length>0){return parse(Wt)}else if(en==="number"&&isFinite(Wt)){return Pt.long?fmtLong(Wt):fmtShort(Wt)}throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(Wt))};function parse(Wt){Wt=String(Wt);if(Wt.length>100){return}var rn=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(Wt);if(!rn){return}var sn=parseFloat(rn[1]);var on=(rn[2]||"ms").toLowerCase();switch(on){case"years":case"year":case"yrs":case"yr":case"y":return sn*In;case"weeks":case"week":case"w":return sn*an;case"days":case"day":case"d":return sn*nn;case"hours":case"hour":case"hrs":case"hr":case"h":return sn*tn;case"minutes":case"minute":case"mins":case"min":case"m":return sn*en;case"seconds":case"second":case"secs":case"sec":case"s":return sn*Pt;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return sn;default:return undefined}}function fmtShort(Wt){var an=Math.abs(Wt);if(an>=nn){return Math.round(Wt/nn)+"d"}if(an>=tn){return Math.round(Wt/tn)+"h"}if(an>=en){return Math.round(Wt/en)+"m"}if(an>=Pt){return Math.round(Wt/Pt)+"s"}return Wt+"ms"}function fmtLong(Wt){var an=Math.abs(Wt);if(an>=nn){return plural(Wt,an,nn,"day")}if(an>=tn){return plural(Wt,an,tn,"hour")}if(an>=en){return plural(Wt,an,en,"minute")}if(an>=Pt){return plural(Wt,an,Pt,"second")}return Wt+" ms"}function plural(Wt,Pt,en,tn){var nn=Pt>=en*1.5;return Math.round(Wt/en)+" "+tn+(nn?"s":"")}},80501:function(Wt){(function Export(Pt,en){"use strict";if(true){Wt.exports=en}else{}})(this,(function Factory(Wt,Pt){var en="nwsapi-2.2.16",tn=Wt.document,nn=tn.documentElement,an=Array.prototype.slice,In="[\\x20\\t]",rn="[\\r\\n\\f]",sn="[\\x20\\t\\r\\n\\f]",on={operators:"[~*^$|]=|=",combinators:"[\\x20\\t>+~](?=[^>+~])"},cn={double_enc:'(?=(?:[^"]*["][^"]*["])*[^"]*$)',single_enc:"(?=(?:[^']*['][^']*['])*[^']*$)",parens_enc:"(?![^\\x28]*\\x29)",square_enc:"(?![^\\x5b]*\\x5d)"},dn={HasEscapes:RegExp("\\\\"),HexNumbers:RegExp("^[0-9a-fA-F]"),EscOrQuote:RegExp("^\\\\|[\\x22\\x27]"),RegExpChar:RegExp("(?!\\\\)[\\\\^$.,*+?()[\\]{}|\\/]","g"),TrimSpaces:RegExp("^"+sn+"+|"+sn+"+$|"+rn,"g"),SplitGroup:RegExp("(\\([^)]*\\)|\\[[^[]*\\]|\\\\.|[^,])+","g"),CommaGroup:RegExp("(\\s*,\\s*)"+cn.square_enc+cn.parens_enc,"g"),FixEscapes:RegExp("\\\\([0-9a-fA-F]{1,6}"+sn+"?|.)|([\\x22\\x27])","g"),CombineWSP:RegExp("[\\n\\r\\f\\x20]+"+cn.single_enc+cn.double_enc,"g"),TabCharWSP:RegExp("(\\x20?\\t+\\x20?)"+cn.single_enc+cn.double_enc,"g"),PseudosWSP:RegExp("\\s+([-+])\\s+"+cn.square_enc,"g")},un={combinator:RegExp("\\s?([>+~])\\s?","g"),apimethods:RegExp("^(?:\\w+|\\*)\\|"),namespaces:RegExp("^(?:[*|][\\w-]*)+","g")},pn={linguistic:"(dir|lang)(?:\\x28\\s?([-\\w]{2,})\\s?\\x29)",logicalsel:"(is|where|matches|not|has)(?:\\x28\\s?(\\[([^\\[\\]]*)\\]|[^()\\[\\]]*|.*)\\s?\\x29)",treestruct:"(nth(?:-last)?(?:-child|-of\\-type))(?:\\x28\\s?(even|odd|(?:[-+]?\\d*)(?:n\\s?[-+]?\\s?\\d*)?)\\s?\\x29)",locationpc:"(any\\-link|link|visited|target)\\b",useraction:"(hover|active|focus\\-within|focus\\-visible|focus)\\b",structural:"(root|empty|(?:(?:first|last|only)(?:-child|\\-of\\-type)))\\b",inputstate:"(enabled|disabled|read\\-only|read\\-write|placeholder\\-shown|default)\\b",inputvalue:"(checked|indeterminate|required|optional|valid|invalid|in\\-range|out\\-of\\-range)\\b",rsrc_state:"(playing|paused|seeking|buffering|stalled|muted|volume-locked)\\b",disp_state:"(open|closed|modal|fullscreen|picture-in-picture)\\b",time_state:"(current|past|future)\\b",pseudo_nop:"(autofill|-webkit\\-autofill)\\b",pseudo_sng:"(after|before|first\\-letter|first\\-line)\\b",pseudo_dbl:":(after|before|first\\-letter|first\\-line|selection|placeholder|-webkit-[-a-zA-Z0-9]{2,})\\b"},mn={treestruct:RegExp("^:(?:"+pn.treestruct+")(.*)","i"),structural:RegExp("^:(?:"+pn.structural+")(.*)","i"),linguistic:RegExp("^:(?:"+pn.linguistic+")(.*)","i"),useraction:RegExp("^:(?:"+pn.useraction+")(.*)","i"),inputstate:RegExp("^:(?:"+pn.inputstate+")(.*)","i"),inputvalue:RegExp("^:(?:"+pn.inputvalue+")(.*)","i"),rsrc_state:RegExp("^:(?:"+pn.rsrc_state+")(.*)","i"),disp_state:RegExp("^:(?:"+pn.disp_state+")(.*)","i"),time_state:RegExp("^:(?:"+pn.time_state+")(.*)","i"),locationpc:RegExp("^:(?:"+pn.locationpc+")(.*)","i"),logicalsel:RegExp("^:(?:"+pn.logicalsel+")(.*)","i"),pseudo_nop:RegExp("^:(?:"+pn.pseudo_nop+")(.*)","i"),pseudo_sng:RegExp("^:(?:"+pn.pseudo_sng+")(.*)","i"),pseudo_dbl:RegExp("^:(?:"+pn.pseudo_dbl+")(.*)","i"),children:RegExp("^"+sn+"?\\>"+sn+"?(.*)"),adjacent:RegExp("^"+sn+"?\\+"+sn+"?(.*)"),relative:RegExp("^"+sn+"?\\~"+sn+"?(.*)"),ancestor:RegExp("^"+sn+"+(.*)"),universal:RegExp("^(\\*)(.*)"),namespace:RegExp("^(\\*|[-\\w]+)?\\|(.*)")},bn=RegExp("^(?:[\\u0627-\\u064a]|[\\u0591-\\u08ff]|[\\ufb1d-\\ufdfd]|[\\ufe70-\\ufefc])+$"),Gn="Not enough arguments",hn=" is not a valid selector",Zn=RegExp("(:nth(?:-last)?-child)","i"),An=RegExp("(:nth(?:-last)?-of-type)","i"),Wn,Nn,gn={IDS_DUPES:true,ANODELIST:false,LOGERRORS:true,USR_EVENT:true,VERBOSITY:true},yn,vn,Yn,En={"=":1,"^=":1,"$=":1,"|=":1,"*=":1,"~=":1},Vn={accept:1,"accept-charset":1,align:1,alink:1,axis:1,bgcolor:1,charset:1,checked:1,clear:1,codetype:1,color:1,compact:1,declare:1,defer:1,dir:1,direction:1,disabled:1,enctype:1,face:1,frame:1,hreflang:1,"http-equiv":1,lang:1,language:1,link:1,media:1,method:1,multiple:1,nohref:1,noresize:1,noshade:1,nowrap:1,readonly:1,rel:1,rev:1,rules:1,scope:1,scrolling:1,selected:1,shape:1,target:1,text:1,type:1,valign:1,valuetype:1,vlink:1},Rn={},wn={},Fn={"=":{p1:"^",p2:"$",p3:"true"},"^=":{p1:"^",p2:"",p3:"true"},"$=":{p1:"",p2:"$",p3:"true"},"*=":{p1:"",p2:"",p3:"true"},"|=":{p1:"^",p2:"(-|$)",p3:"true"},"~=":{p1:"(^|\\s)",p2:"(\\s|$)",p3:"true"}},concatCall=function(Wt,Pt){var en=0,tn=Wt.length,nn=Array(tn);while(tn>en){if(false===Pt(nn[en]=Wt[en]))break;++en}return nn},concatList=function(Wt,Pt){var en=-1,tn=Pt.length;while(tn--){Wt[Wt.length]=Pt[++en]}return Wt},Qn=function(){var Pt=Wt.document.createDocumentFragment().childNodes;return function(en){if(en instanceof Wt.NodeList)return en;if(!Array.isArray(en))en=[en];var tn=Object.create(Pt,{length:{value:en.length,enumerable:false},item:{value:function(Wt){return this[+Wt||0]},enumerable:false}});en.forEach((function(Wt,Pt){tn[Pt]=Wt}));return tn}}(),documentOrder=function(Wt,Pt){if(!fn&&Wt===Pt){fn=true;return 0}return Wt.compareDocumentPosition(Pt)&4?-1:1},fn=false,unique=function(Wt){var Pt=0,en=-1,tn=Wt.length+1,nn=[];while(--tn){if(Wt[Pt++]===Wt[Pt])continue;nn[++en]=Wt[Pt-1]}fn=false;return nn},switchContext=function(Wt,Pt){var en=tn;tn=Wt.ownerDocument||Wt;if(Pt||en!==tn){nn=tn.documentElement;Yn=isHTML(tn);vn=Yn&&tn.compatMode.indexOf("CSS")<0;yn=nn&&nn.namespaceURI;hl.doc=tn;hl.root=nn}return hl.from=Wt},codePointToUTF16=function(Wt){if(Wt<1||Wt>1114111||Wt>55295&&Wt<57344){return"\\ufffd"}if(Wt<65536){var Pt="000"+Wt.toString(16);return"\\u"+Pt.substr(Pt.length-4)}return"\\u"+((Wt-65536>>10)+55296).toString(16)+"\\u"+((Wt-65536)%1024+56320).toString(16)},stringFromCodePoint=function(Wt){if(Wt<1||Wt>1114111||Wt>55295&&Wt<57344){return"�"}if(Wt<65536){return String.fromCharCode(Wt)}return String.fromCodePoint?String.fromCodePoint(Wt):String.fromCharCode((Wt-65536>>10)+55296,(Wt-65536)%1024+56320)},convertEscapes=function(Wt){return dn.HasEscapes.test(Wt)?Wt.replace(dn.FixEscapes,(function(Wt,Pt,en){return en?"\\"+en:dn.HexNumbers.test(Pt)?codePointToUTF16(parseInt(Pt,16)):dn.EscOrQuote.test(Pt)?Wt:Pt})):Wt},unescapeIdentifier=function(Wt){return dn.HasEscapes.test(Wt)?Wt.replace(dn.FixEscapes,(function(Wt,Pt,en){return en?en:dn.HexNumbers.test(Pt)?stringFromCodePoint(parseInt(Pt,16)):dn.EscOrQuote.test(Pt)?Wt:Pt})):Wt},Hn={"#":"getElementById","*":"getElementsByTagNameNS","|":"getElementsByTagNameNS",".":"getElementsByClassName"},Cn={"#":function(Wt,Pt){dn.HasEscapes.test(Pt)&&(Pt=unescapeIdentifier(Pt));return function(en,tn){return byId(Pt,Wt)}},"*":function(Wt,Pt){dn.HasEscapes.test(Pt)&&(Pt=unescapeIdentifier(Pt));return function(en,tn){return byTag(Pt,Wt)}},"|":function(Wt,Pt){dn.HasEscapes.test(Pt)&&(Pt=unescapeIdentifier(Pt));return function(en,tn){return byTagNS(Pt,Wt)}},".":function(Wt,Pt){dn.HasEscapes.test(Pt)&&(Pt=unescapeIdentifier(Pt));return function(en,tn){return byClass(Pt,Wt)}}},byIdRaw=function(Wt,Pt){var en=Pt,tn=[],nn=en.firstElementChild;while(en=nn){en.id==Wt&&(tn[tn.length]=en);if(nn=en.firstElementChild||en.nextElementSibling)continue;while(!nn&&(en=en.parentElement)&&en!==Pt){nn=en.nextElementSibling}}return tn},byId=function(Wt,Pt){var en,tn,nn,an,In=Hn["#"];if(gn.IDS_DUPES===false){if(In in Pt){return(en=Pt[In](Wt))?[en]:cl}}else{if("all"in Pt){if(en=Pt.all[Wt]){if(en.nodeType==1)return en.getAttribute("id")!=Wt?[]:[en];else if(Wt=="length")return(en=Pt[In](Wt))?[en]:cl;for(tn=0,nn=en.length,an=[];nn>tn;++tn){if(en[tn].id==Wt)an[an.length]=en[tn]}return an&&an.length?an:[an]}else return cl}}return byIdRaw(Wt,Pt)},byTagNS=function(Wt,Pt){return byTag(Pt,Wt)},byTag=function(Pt,en){var tn,nn,In=Hn["*"];if(In in en){return an.call(en[In]("*",Pt))}else{if(tn=en.firstElementChild){Pt=Pt.toLowerCase();if(!(tn.nextElementSibling||Pt=="*"||tn.localName==Pt)){return an.call(tn[In]("*",Pt))}else{nn=[];do{if(Pt=="*"||tn.localName==Pt)nn[nn.length]=tn;concatList(nn,tn[In]("*",Pt))}while(tn=tn.nextElementSibling)}}else nn=cl}return!gn.ANODELIST?nn:nn instanceof Wt.NodeList?nn:Qn(nn)},byClass=function(Pt,en){var tn,nn,In=Hn["."],rn;if(In in en){return an.call(en[In](Pt))}else{if(tn=en.firstElementChild){rn=RegExp("(^|\\s)"+Pt+"(\\s|$)",vn?"i":"");if(!(tn.nextElementSibling||rn.test(tn.className))){return an.call(tn[In](Pt))}else{nn=[];do{if(rn.test(tn.className))nn[nn.length]=tn;concatList(nn,tn[In](Pt))}while(tn=tn.nextElementSibling)}}else nn=cl}return!gn.ANODELIST?nn:nn instanceof Wt.NodeList?nn:Qn(nn)},hasAttributeNS=function(Wt,Pt){var en,tn,nn=Wt.getAttributeNames();Pt=RegExp(":?"+Pt+"$",Yn?"i":"");for(en=0,tn=nn.length;tn>en;++en){if(Pt.test(nn[en]))return true}return false},Xn=function(){var Wt=0,Pt=0,en=0,tn=undefined,nn=Array(),an=Array();return function(In,rn){if(rn==2){Wt=0;Pt=0;en=0;an.length=0;nn.length=0;tn=undefined;return-1}var sn,on,cn,dn,un;if(tn===In.parentElement){on=en;cn=Wt;un=Pt}else{un=nn.length;tn=In.parentElement;for(on=-1,cn=0,dn=un-1;un>cn;++cn,--dn){if(nn[cn]===tn){on=cn;break}if(nn[dn]===tn){on=dn;break}}if(on<0){nn[on=un]=tn;un=0;an[on]=Array();sn=tn&&tn.firstElementChild||In;while(sn){an[on][un]=sn;if(sn===In)cn=un;sn=sn.nextElementSibling;++un}en=on;Wt=0;Pt=un;if(un<2)return un}else{un=an[on].length;en=on}}if(In!==an[on][cn]&&In!==an[on][cn=0]){for(cn=0,sn=an[on],dn=un-1;un>cn;++cn,--dn){if(sn[cn]===In){break}if(sn[dn]===In){cn=dn;break}}}Wt=cn+1;Pt=un;return rn?un-cn:Wt}}(),kn=function(){var Wt=0,Pt=0,en=0,tn=undefined,nn=Array(),an=Array();return function(In,rn){if(rn==2){Wt=0;Pt=0;en=0;an.length=0;nn.length=0;tn=undefined;return-1}var sn,on,cn,dn,un,pn=In.localName;if(an[en]&&an[en][pn]&&tn===In.parentElement){on=en;cn=Wt;un=Pt}else{un=nn.length;tn=In.parentElement;for(on=-1,cn=0,dn=un-1;un>cn;++cn,--dn){if(nn[cn]===tn){on=cn;break}if(nn[dn]===tn){on=dn;break}}if(on<0||!an[on][pn]){nn[on=un]=tn;an[on]||(an[on]=Object());un=0;an[on][pn]=Array();sn=tn&&tn.firstElementChild||In;while(sn){if(sn===In)cn=un;if(sn.localName==pn){an[on][pn][un]=sn;++un}sn=sn.nextElementSibling}en=on;Wt=cn;Pt=un;if(un<2)return un}else{un=an[on][pn].length;en=on}}if(In!==an[on][pn][cn]&&In!==an[on][pn][cn=0]){for(cn=0,sn=an[on][pn],dn=un-1;un>cn;++cn,--dn){if(sn[cn]===In){break}if(sn[dn]===In){cn=dn;break}}}Wt=cn+1;Pt=un;return rn?un-cn:Wt}}(),isHTML=function(Wt){var Pt=Wt.ownerDocument||Wt;return Pt.nodeType==9&&"contentType"in Pt?Pt.contentType.indexOf("/html")>0:Pt.createElement("DiV").localName=="div"},isFocusable=function(Wt){var Pt=Wt.ownerDocument;if(Wt.contentDocument&&Wt.localName=="iframe"){return false}if(Pt.hasFocus()&&Wt==Pt.activeElement){if(Wt.type||Wt.href||typeof Wt.tabIndex=="number"){return true}}return false},isContentEditable=function(Wt){var Pt="inherit";if(Wt.hasAttribute("contenteditable")){Pt=Wt.getAttribute("contenteditable")}switch(Pt){case"":case"plaintext-only":case"true":return true;case"false":return false;default:if(Wt.parentNode&&Wt.parentNode.nodeType===1){return isContentEditable(Wt.parentNode)}return false}},isPlaying=function(Wt){var Pt=Wt instanceof HTMLMediaElement?null:Wt.parentElement;return!!(Wt&&Wt.currentTime>0&&!Wt.paused&&!Wt.ended&&Wt.readyState>2)||!!(Pt&&Pt.currentTime>0&&!Pt.paused&&!Pt.ended&&Pt.readyState>2)},configure=function(Wt,Pt){if(typeof Wt=="string"){return!!gn[Wt]}if(typeof Wt!="object"){return gn}for(var en in Wt){gn[en]=!!Wt[en]}if(Pt){bl={};Gl={}}setIdentifierSyntax();return true},emit=function(Pt,en){var tn;if(gn.VERBOSITY){if(en){tn=new en(Pt)}else{tn=new Wt.DOMException(Pt,"SyntaxError")}throw tn}if(gn.LOGERRORS&&console&&console.log){console.log(Pt)}},initialize=function(Wt){setIdentifierSyntax();il=switchContext(Wt,true)},setIdentifierSyntax=function(){var Wt="[^\\x00-\\x9f]",Pt="\\\\[^\\r\\n\\f0-9a-fA-F]",en="\\\\[0-9a-fA-F]{1,6}(?:\\r\\n|\\s)?",tn="-?(?:[a-zA-Z_-]|"+Wt+"|"+Pt+"|"+en+")"+"(?:-{2}|[0-9]|[a-zA-Z_-]|"+Wt+"|"+Pt+"|"+en+")*",nn="[-\\w]+",an="(?:[-+]?\\d*)(?:n\\s?[-+]?\\s?\\d*)",In='"[^"\\\\]*(?:\\\\.[^"\\\\]*)*(?:"|$)',rn="'[^'\\\\]*(?:\\\\.[^'\\\\]*)*(?:'|$)",cn=tn+"|"+In+"|"+rn,dn="([\\x22\\x27]?)((?!\\3)*|(?:\\\\?.)*?)(?:\\3|$)",un="\\["+"(?:\\*\\|)?"+sn+"?"+"("+tn+"(?::"+tn+")?)"+sn+"?"+"(?:"+"("+on.operators+")"+sn+"?"+"(?:"+cn+")"+")?"+"(?:"+sn+"?\\b(i))?"+sn+"?"+"(?:\\]|$)",pn=un.replace(cn,dn),bn="(?:\\x28"+sn+"*"+"(?:"+an+"?)?|"+"(?:[*]|[\\w-])|"+"(?:"+"(?::"+nn+"(?:\\x28"+an+"?(?:\\x29|$))?|"+")|"+"(?:[.#]?"+tn+")|"+"(?:"+un+")"+")+|"+"(?:"+sn+"?[>+~][^>+~]"+sn+"?)|"+"(?:"+sn+"?,"+sn+"?)|"+"(?:"+sn+"?)|"+"(?:\\x29|$)"+")*",Gn="(?="+sn+"?[^>+~(){}<>])"+"(?:"+"(?:[*|]|[\\w-]+)|"+"(?:[.#]?"+tn+")+|"+"(?:"+un+")+|"+"(?:::?"+nn+bn+")|"+"(?:"+sn+"?"+on.combinators+sn+"?)|"+"(?:"+sn+"?,"+sn+"?)|"+"(?:"+sn+"?)"+")+";Wn=RegExp("(?:([.:#*]?)"+"("+tn+")"+"(?:"+":[-\\w]+|"+"\\[[^\\]]+(?:\\]|$)|"+"\\x28[^\\x29]+(?:\\x29|$)"+")*)$");Nn=RegExp(Gn,"g");mn.id=RegExp("^#("+tn+")(.*)");mn.tagName=RegExp("^("+tn+")(.*)");mn.className=RegExp("^\\.("+tn+")(.*)");mn.attribute=RegExp("^(?:"+pn+")(.*)")},Jn='"use strict";return function Resolver(c,f,x,r)',Ln="var e,n,o,j=r.length-1,k=-1",Bn="var e,n,o",xn="main:while((e=c[++k]))",On="main:while((e=c.item(++k)))",Tn="e=c;",Un="r[++j]=c[k];",Mn="r[++j]=c.item(k);",zn="",Sn="continue main;",Dn="r=true;",jn="if(f(c[k])){break main;}",_n="if(f(c.item(k))){break main;}",Kn="f(c);",Pn=[],qn=[],compile=function(Wt,Pt,en){var tn,nn,an="",In="",rn="",sn="",on="";switch(Pt){case true:if(ml[Wt]){return ml[Wt]}rn=Un+(en?jn:"")+Sn;an=Ln;In=xn;break;case false:if(pl[Wt]){return pl[Wt]}rn=zn+(en?Kn:"")+Dn;an=Bn;In=Tn;break;case null:if(ml[Wt]){return ml[Wt]}rn=Mn+(en?_n:"")+Sn;an=Ln;In=On;break;default:break}sn=compileSelector(Wt,rn,Pt,en);In+=Pt||Pt===null?"{"+sn+"}":sn;if(Pt||Pt===null&&Wt.includes(":nth")){In+=Zn.test(Wt)?"s.nthElement(null, 2);":"";In+=An.test(Wt)?"s.nthOfType(null, 2);":""}if(Pn[0]||qn[0]){on=","+(Pn.join(",")||qn.join(","));Pn.length=0;qn.length=0}tn=Function("s",Jn+"{"+an+on+";"+In+"return r;}")(hl);return Pt||Pt===null?ml[Wt]=tn:pl[Wt]=tn},compileSelector=function(Wt,Pt,en,an){var In,rn,sn,on,cn=0,pn,Gn,Zn,An,Wn,Nn,gn,Qn,fn,Hn,Cn,Xn=Wt,kn,Jn;kn=en?ul:dl;Xn=Xn.replace(un.combinator,"$1");e:while(Xn){++cn;fn=un.apimethods.test(Xn)?"|":Xn[0];switch(fn){case"*":Nn=Xn.match(mn.universal);break;case"#":Nn=Xn.match(mn.id);Pt="if((/^"+Nn[1]+'$/.test(e.getAttribute("id")))){'+Pt+"}";break;case".":Nn=Xn.match(mn.className);An=(vn?"i":"")+'.test(e.getAttribute("class"))';Pt="if((/(^|\\s)"+Nn[1]+"(\\s|$)/"+An+")){"+Pt+"}";break;case/[_a-z]/i.test(fn)?fn:undefined:Nn=Xn.match(mn.tagName);Pt='if((e.localName=="'+Nn[1]+'")){'+Pt+"}";break;case"|":Nn=Xn.match(mn.namespace);if(Nn[1]=="*"){Pt="if(true){"+Pt+"}"}else if(!Nn[1]){Pt="if((!e.namespaceURI)){"+Pt+"}"}else if(typeof Nn[1]=="string"&&nn.prefix==Nn[1]){Pt='if((e.namespaceURI=="'+yn+'")){'+Pt+"}"}else{emit("'"+kn+"'"+hn)}break;case"[":Nn=Xn.match(mn.attribute);Gn=Nn[0].match(un.namespaces);pn=Nn[1];Wn=pn.split(":");Wn=Wn.length==2?Wn[1]:Wn[0];if(Nn[2]&&!(Hn=Fn[Nn[2]])){emit("'"+kn+"'"+hn);return""}if(Nn[4]===""){Hn=Nn[2]=="~="?{p1:"^\\s",p2:"+$",p3:"true"}:Nn[2]in En&&Nn[2]!="~="?{p1:"^",p2:"$",p3:"true"}:Hn}else if(Nn[2]=="~="&&Nn[4].includes(" ")){break}else if(Nn[4]){Nn[4]=convertEscapes(Nn[4]).replace(dn.RegExpChar,"\\$&")}Cn=Nn[5]=="i"||Yn&&Vn[Wn.toLowerCase()]?"i":"";Pt="if(("+(!Nn[2]?Gn?'s.hasAttributeNS(e,"'+pn+'")':'e.hasAttribute&&e.hasAttribute("'+pn+'")':!Nn[4]&&En[Nn[2]]&&Nn[2]!="~="?'e.getAttribute&&e.getAttribute("'+pn+'")==""':"(/"+Hn.p1+Nn[4]+Hn.p2+"/"+Cn+').test(e.getAttribute&&e.getAttribute("'+pn+'"))=='+Hn.p3)+")){"+Pt+"}";break;case"~":Nn=Xn.match(mn.relative);Pt="var N"+cn+"=e;while(e&&(e=e.previousElementSibling)){"+Pt+"}e=N"+cn+";";break;case"+":Nn=Xn.match(mn.adjacent);Pt="var N"+cn+"=e;if(e&&(e=e.previousElementSibling)){"+Pt+"}e=N"+cn+";";break;case"\t":case" ":Nn=Xn.match(mn.ancestor);Pt="var N"+cn+"=e;while(e&&(e=e.parentElement)){"+Pt+"}e=N"+cn+";";break;case">":Nn=Xn.match(mn.children);Pt="var N"+cn+"=e;if(e&&(e=e.parentElement)){"+Pt+"}e=N"+cn+";";break;case fn in Rn?fn:undefined:Nn[Nn.length-1]="*";Pt=Rn[fn](Nn)+Pt;break;case":":if(Nn=Xn.match(mn.structural)){Nn[1]=Nn[1].toLowerCase();switch(Nn[1]){case"root":Pt="if((e===s.root)){"+Pt+(en?"break main;":"")+"}";break;case"empty":Pt="n=e.firstChild;while(n&&!(/1|3/).test(n.nodeType)){n=n.nextSibling}if(!n){"+Pt+"}";break;case"only-child":Pt="if((!e.nextElementSibling&&!e.previousElementSibling)){"+Pt+"}";break;case"last-child":Pt="if((!e.nextElementSibling)){"+Pt+"}";break;case"first-child":Pt="if((!e.previousElementSibling)){"+Pt+"}";break;case"only-of-type":Pt="o=e.localName;"+"n=e;while((n=n.nextElementSibling)&&n.localName!=o);if(!n){"+"n=e;while((n=n.previousElementSibling)&&n.localName!=o);}if(!n){"+Pt+"}";break;case"last-of-type":Pt="n=e;o=e.localName;while((n=n.nextElementSibling)&&n.localName!=o);if(!n){"+Pt+"}";break;case"first-of-type":Pt="n=e;o=e.localName;while((n=n.previousElementSibling)&&n.localName!=o);if(!n){"+Pt+"}";break;default:emit("'"+kn+"'"+hn);break}}else if(Nn=Xn.match(mn.treestruct)){Nn[1]=Nn[1].toLowerCase();switch(Nn[1]){case"nth-child":case"nth-of-type":case"nth-last-child":case"nth-last-of-type":Wn=/-of-type/i.test(Nn[1]);if(Nn[1]&&Nn[2]){Cn=/last/i.test(Nn[1]);if(Nn[2]=="n"){Pt="if(true){"+Pt+"}";break}else if(Nn[2]=="1"){Hn=Cn?"next":"previous";Pt=Wn?"n=e;o=e.localName;"+"while((n=n."+Hn+"ElementSibling)&&n.localName!=o);if(!n){"+Pt+"}":"if(!e."+Hn+"ElementSibling){"+Pt+"}";break}else if(Nn[2]=="even"||Nn[2]=="2n0"||Nn[2]=="2n+0"||Nn[2]=="2n"){Hn="n%2==0"}else if(Nn[2]=="odd"||Nn[2]=="2n1"||Nn[2]=="2n+1"){Hn="n%2==1"}else{on=/n/i.test(Nn[2]);sn=Nn[2].split("n");In=parseInt(sn[0],10)||0;rn=parseInt(sn[1],10)||0;if(sn[0]=="-"){In=-1}if(sn[0]=="+"){In=+1}Hn=(rn?"(n"+(rn>0?"-":"+")+Math.abs(rn)+")":"n")+"%"+In+"==0";Hn=In>=+1?on?"n>"+(rn-1)+(Math.abs(In)!=1?"&&"+Hn:""):"n=="+In:In<=-1?on?"n<"+(rn+1)+(Math.abs(In)!=1?"&&"+Hn:""):"n=="+In:In===0?sn[0]?"n=="+rn:"n>"+(rn-1):"false"}Wn=Wn?"OfType":"Element";Cn=Cn?"true":"false";Pt="n=s.nth"+Wn+"(e,"+Cn+");if(("+Hn+")){"+Pt+"}"}else{emit("'"+kn+"'"+hn)}break;default:emit("'"+kn+"'"+hn);break}}else if(Nn=Xn.match(mn.logicalsel)){Nn[1]=Nn[1].toLowerCase();Wn=Nn[2].replace(dn.CommaGroup,",").replace(dn.TrimSpaces,"");switch(Nn[1]){case"is":case"where":case"matches":Pt='if(s.match("'+Wn.replace(/\x22/g,'\\"')+'",e)){'+Pt+"}";break;case"not":Pt='if(!s.match("'+Wn.replace(/\x22/g,'\\"')+'",e)){'+Pt+"}";break;case"has":Pt='if(e.querySelector(":scope '+Wn.replace(/\x22/g,'\\"')+'")){'+Pt+"}";break;default:emit("'"+kn+"'"+hn);break}}else if(Nn=Xn.match(mn.linguistic)){Nn[1]=Nn[1].toLowerCase();switch(Nn[1]){case"dir":Pt="var p;if(("+"(/"+Nn[2]+'/i.test(e.dir))||(p=s.ancestor("[dir]", e))&&'+"(/"+Nn[2]+'/i.test(p.dir))||(e.dir==""||e.dir=="auto")&&'+"("+(Nn[2]=="ltr"?"!":"")+bn+".test(e.textContent)))"+"){"+Pt+"};";break;case"lang":Wn="(?:^|-)"+Nn[2]+"(?:-|$)";Pt="var p;if(("+'(e.isConnected&&(e.lang==""&&(p=s.ancestor("[lang]",e)))&&'+'(p.lang=="'+Nn[2]+'")||/'+Wn+"/i.test(e.lang)))"+"){"+Pt+"};";break;default:emit("'"+kn+"'"+hn);break}}else if(Nn=Xn.match(mn.locationpc)){Nn[1]=Nn[1].toLowerCase();switch(Nn[1]){case"any-link":Pt='if((/^a|area$/i.test(e.localName)&&e.hasAttribute("href")||e.visited)){'+Pt+"}";break;case"link":Pt='if((/^a|area$/i.test(e.localName)&&e.hasAttribute("href"))){'+Pt+"}";break;case"visited":Pt='if((/^a|area$/i.test(e.localName)&&e.hasAttribute("href")&&e.visited)){'+Pt+"}";break;case"target":Pt="if(((s.doc.compareDocumentPosition(e)&16)&&s.doc.location.hash&&e.id==s.doc.location.hash.slice(1))){"+Pt+"}";break;default:emit("'"+kn+"'"+hn);break}}else if(Nn=Xn.match(mn.useraction)){Nn[1]=Nn[1].toLowerCase();switch(Nn[1]){case"hover":Pt="hasFocus"in tn&&tn.hasFocus()?"if(e===s.HOVER){"+Pt+"}":Pt;break;case"active":Pt="hasFocus"in tn&&tn.hasFocus()?"if(e===s.ACTIVE){"+Pt+"}":Pt;break;case"focus":Pt="hasFocus"in tn?"if(s.isFocusable(e)&&e===s.doc.activeElement){"+Pt+"}":Pt;break;case"focus-visible":Pt="hasFocus"in tn?"if(s.isFocusable(e)){"+"n=s.doc.activeElement;if(e!==n){while(e){e=e.parentElement;if(e===n)break;}}}"+"if((e===n&&e.autofocus)){"+Pt+"}":Pt;break;case"focus-within":Pt="hasFocus"in tn?"if(s.isFocusable(e)){"+"n=s.doc.activeElement;if(n!==e){while(n){n=n.parentElement;if(n===e)break;}}}"+"if((n===e&&n.autofocus)){"+Pt+"}":Pt;break;default:emit("'"+kn+"'"+hn);break}}else if(Nn=Xn.match(mn.inputstate)){Nn[1]=Nn[1].toLowerCase();switch(Nn[1]){case"enabled":Pt='if((("form" in e||/^optgroup$/i.test(e.localName))&&"disabled" in e &&e.disabled===false'+")){"+Pt+"}";break;case"disabled":Pt='if((("form" in e||/^optgroup$/i.test(e.localName))&&"disabled" in e)){'+"var x=0,N=[],F=false,L=false;"+"if(!(/^(optgroup|option)$/i.test(e.localName))){"+"n=e.parentElement;"+"while(n){"+'if(n.localName=="fieldset"){'+"N[x++]=n;"+"if(n.disabled===true){"+"F=true;"+"break;"+"}"+"}"+"n=n.parentElement;"+"}"+"for(var x=0;xtn;++tn)Wt[tn](Pt,en,null,false)&&(an=true);return an},match_collect=function(Wt,Pt){for(var en=0,tn=Wt.length,nn=[];tn>en;++en)nn[en]=compile(Wt[en],false,Pt);return{factory:nn}},el=function _matches(Wt,Pt,en){var tn,nn;if(Pt&&bl[Wt]){return match_assert(bl[Wt].factory,Pt,en)}dl=Wt;if(arguments.length===0){emit(Gn,TypeError);return gn.VERBOSITY?undefined:false}else if(arguments[0]===""){emit("''"+hn);return gn.VERBOSITY?undefined:false}if(typeof Wt!="string"){Wt=""+Wt}if(/:scope/i.test(Wt)){Wt=makeref(Wt,Pt)}nn=Wt.replace(/\x00|\\$/g,"�").replace(dn.CombineWSP," ").replace(dn.PseudosWSP,"$1").replace(dn.TabCharWSP,"\t").replace(dn.CommaGroup,",").replace(dn.TrimSpaces,"");if((tn=nn.match(Nn))&&tn.join("")==nn){tn=nn.match(dn.SplitGroup);if(nn[nn.length-1]==","){emit(hn);return gn.VERBOSITY?undefined:false}}else{emit("'"+Wt+"'"+hn);return gn.VERBOSITY?undefined:false}bl[Wt]=match_collect(tn,en);return match_assert(bl[Wt].factory,Pt,en)},tl=function _querySelector(Wt,Pt,en){if(arguments.length===0){emit(Gn,TypeError)}return nl(Wt,Pt,typeof en=="function"?function firstMatch(Wt){en(Wt);return false}:function firstMatch(){return false})[0]||null},nl=function _querySelectorAll(Pt,en,nn){var an,In=[],rn,sn;en||(en=tn);if(Pt){if(sn=Gl[Pt]){if(sn.context===en&&sn.callback===nn){var on=sn.factory,cn=sn.htmlset,un=sn.nodeset;if(un.length>1){for(var pn=0,mn=un.length,bn;mn>pn;++pn){bn=Cn[un[pn][0]](en,un[pn].slice(1))();if(on[pn]!==null){on[pn](bn,nn,en,In)}else{In=In.concat(bn)}}if(mn>1&&In.length>1){In.sort(documentOrder);fn&&(In=unique(In))}}else{if(on[0]){In=on[0](cn[0](),nn,en,In)}else{In=cn[0]()}}if(typeof nn=="function"){In=concatCall(In,nn)}return!gn.ANODELIST?In:In instanceof Wt.NodeList?In:Qn(In)}}}ul=Pt;if(arguments.length===0){emit(Gn,TypeError);return gn.VERBOSITY?undefined:cl}else if(arguments[0]===""){emit("''"+hn);return gn.VERBOSITY?undefined:cl}else if(il!==en){il=switchContext(en)}if(typeof Pt!="string"){Pt=""+Pt}if(/:scope/i.test(Pt)){Pt=makeref(Pt,en)}rn=Pt.replace(/\x00|\\$/g,"�").replace(dn.CombineWSP," ").replace(dn.PseudosWSP,"$1").replace(dn.TabCharWSP,"\t").replace(dn.CommaGroup,",").replace(dn.TrimSpaces,"");if((an=rn.match(Nn))&&an.join("")==rn){an=rn.match(dn.SplitGroup);if(rn[rn.length-1]==","){emit(hn);return gn.VERBOSITY?undefined:false}}else{emit("'"+Pt+"'"+hn);return gn.VERBOSITY?undefined:false}Gl[Pt]=collect(an,en,nn);In=Gl[Pt].results;if(typeof nn=="function"){In=concatCall(In,nn)}return!gn.ANODELIST?In:In instanceof Wt.NodeList?In:Qn(In)},optimize=function(Wt,Pt){var en=Pt.index,tn=Pt[1].length+Pt[2].length;return Wt.slice(0,en)+(" >+~".indexOf(Wt.charAt(en-1))>-1?":[".indexOf(Wt.charAt(en+tn+1))>-1?"*":"":"")+Wt.slice(en+tn-(Pt[1]=="*"?1:0))},collect=function(Wt,Pt,en){var tn,nn,an={},In=["","*","*"],rn=Wt,sn=[],on=[],cn=[],dn=[],un;for(tn=0,nn=Wt.length;nn>tn;++tn){if(!an[Wt[tn]]&&(an[Wt[tn]]=true)){un=Wt[tn].match(Wn);if(un&&un[1]!=":"&&(In=un)){In[1]||(In[1]="*");rn[tn]=optimize(rn[tn],In)}else{In=["","*","*"]}}cn[tn]=In[1]+In[2];on[tn]=Cn[In[1]](Pt,In[2]);sn[tn]=compile(rn[tn],true,null);sn[tn]?sn[tn](on[tn](),en,Pt,dn):dn.concat(on[tn]())}if(nn>1){dn.sort(documentOrder);fn&&(dn=unique(dn))}return{callback:en,context:Pt,factory:sn,htmlset:on,nodeset:cn,results:dn}},ll,al,Il,rl,sl,ol,install=function(en){ll=Element.prototype.closest;al=Element.prototype.matches;Wt.addEventListener("mousedown",(function(Wt){hl.ACTIVE=Wt.target}),true);Wt.addEventListener("mouseup",(function(Wt){hl.ACTIVE=null}),true);Wt.addEventListener("mouseover",(function(Wt){hl.HOVER=Wt.target}),true);Wt.addEventListener("mouseout",(function(Wt){hl.HOVER=null}),true);Il=Element.prototype.querySelector;rl=Element.prototype.querySelectorAll;sl=Document.prototype.querySelector;ol=Document.prototype.querySelectorAll;function parseQSArgs(){var Wt=arguments[arguments.length-1];return arguments.length<2?Wt.apply(this,[]):arguments.length<3?Wt.apply(this,[arguments[0],this]):Wt.apply(this,[arguments[0],this,typeof arguments[1]=="function"?arguments[1]:undefined])}Element.prototype.closest=HTMLElement.prototype.closest=function closest(){return parseQSArgs.apply(this,[].slice.call(arguments).concat($n))};Element.prototype.matches=HTMLElement.prototype.matches=function matches(){return parseQSArgs.apply(this,[].slice.call(arguments).concat(el))};Element.prototype.querySelector=HTMLElement.prototype.querySelector=function querySelector(){return parseQSArgs.apply(this,[].slice.call(arguments).concat(tl))};Element.prototype.querySelectorAll=HTMLElement.prototype.querySelectorAll=function querySelectorAll(){return parseQSArgs.apply(this,[].slice.call(arguments).concat(nl))};Document.prototype.querySelector=DocumentFragment.prototype.querySelector=function querySelector(){return parseQSArgs.apply(this,[].slice.call(arguments).concat(tl))};Document.prototype.querySelectorAll=DocumentFragment.prototype.querySelectorAll=function querySelectorAll(){return parseQSArgs.apply(this,[].slice.call(arguments).concat(nl))};if(en){document.addEventListener("load",(function(Wt){var en,tn,nn,an,In=Wt.target;if(/iframe/i.test(In.localName)){en="("+Pt+")(this, "+Factory+");";tn=In.ownerDocument;an=tn.createElement("script");an.textContent=en+"NW.Dom.install(true)";nn=tn.documentElement;nn.removeChild(nn.insertBefore(an,nn.firstChild))}}),true)}},uninstall=function(){if(ll){Element.prototype.closest=ll;HTMLElement.prototype.closest=ll}if(al){Element.prototype.matches=al;HTMLElement.prototype.matches=al}if(Il){Element.prototype.querySelector=HTMLElement.prototype.querySelector=Il;Element.prototype.querySelectorAll=HTMLElement.prototype.querySelectorAll=Il}if(ol){Document.prototype.querySelector=DocumentFragment.prototype.querySelector=sl;Document.prototype.querySelectorAll=DocumentFragment.prototype.querySelectorAll=ol}},cl=Array(),il,dl,ul,pl={},ml={},bl={},Gl={},hl={doc:tn,from:tn,root:nn,byTag:byTag,first:tl,match:el,ancestor:$n,nthOfType:kn,nthElement:Xn,isFocusable:isFocusable,isContentEditable:isContentEditable,hasAttributeNS:hasAttributeNS},Zl={lastMatched:dl,lastSelected:ul,matchLambdas:pl,selectLambdas:ml,matchResolvers:bl,selectResolvers:Gl,CFG:on,M_BODY:zn,S_BODY:Un,M_TEST:Kn,S_TEST:jn,byId:byId,byTag:byTag,byClass:byClass,match:el,first:tl,select:nl,closest:$n,compile:compile,configure:configure,emit:emit,Config:gn,Snapshot:hl,Version:en,install:install,uninstall:uninstall,Operators:Fn,Selectors:wn,registerCombinator:function(Wt,Pt){var en=0,tn=Wt.length,nn;for(;tn>en;++en){if(Wt[en]!="="){nn=Wt[en];break}}if(on.combinators.indexOf(nn)<0){on.combinators=on.combinators.replace("](",nn+"](");on.combinators=on.combinators.replace("])",nn+"])");Rn[Wt]=Pt;setIdentifierSyntax()}else{console.warn("Warning: the '"+Wt+"' combinator is already registered.")}},registerOperator:function(Wt,Pt){var en=0,tn=Wt.length,nn;for(;tn>en;++en){if(Wt[en]!="="){nn=Wt[en];break}}if(on.operators.indexOf(nn)<0&&!Fn[Wt]){on.operators=on.operators.replace("]=",nn+"]=");Fn[Wt]=Pt;setIdentifierSyntax()}else{console.warn("Warning: the '"+Wt+"' operator is already registered.")}},registerSelector:function(Wt,Pt,en){wn[Wt]||(wn[Wt]={Expression:Pt,Callback:en})}};initialize(tn);return Zl}))},55560:(Wt,Pt,en)=>{var tn=en(58264);Wt.exports=tn(once);Wt.exports.strict=tn(onceStrict);once.proto=once((function(){Object.defineProperty(Function.prototype,"once",{value:function(){return once(this)},configurable:true});Object.defineProperty(Function.prototype,"onceStrict",{value:function(){return onceStrict(this)},configurable:true})}));function once(Wt){var f=function(){if(f.called)return f.value;f.called=true;return f.value=Wt.apply(this,arguments)};f.called=false;return f}function onceStrict(Wt){var f=function(){if(f.called)throw new Error(f.onceError);f.called=true;return f.value=Wt.apply(this,arguments)};var Pt=Wt.name||"Function wrapped with `once`";f.onceError=Pt+" shouldn't be called more than once";f.called=false;return f}},79227:(Wt,Pt,en)=>{Object.defineProperty(Pt,"__esModule",{value:true});function _interopDefault(Wt){return Wt&&typeof Wt==="object"&&"default"in Wt?Wt["default"]:Wt}var tn=_interopDefault(en(2203));var nn=_interopDefault(en(58611));var an=_interopDefault(en(87016));var In=_interopDefault(en(51371));var rn=_interopDefault(en(65692));var sn=_interopDefault(en(43106));const on=tn.Readable;const cn=Symbol("buffer");const dn=Symbol("type");class Blob{constructor(){this[dn]="";const Wt=arguments[0];const Pt=arguments[1];const en=[];let tn=0;if(Wt){const Pt=Wt;const nn=Number(Pt.length);for(let Wt=0;Wt1&&arguments[1]!==undefined?arguments[1]:{},nn=en.size;let an=nn===undefined?0:nn;var In=en.timeout;let rn=In===undefined?0:In;if(Wt==null){Wt=null}else if(isURLSearchParams(Wt)){Wt=Buffer.from(Wt.toString())}else if(isBlob(Wt));else if(Buffer.isBuffer(Wt));else if(Object.prototype.toString.call(Wt)==="[object ArrayBuffer]"){Wt=Buffer.from(Wt)}else if(ArrayBuffer.isView(Wt)){Wt=Buffer.from(Wt.buffer,Wt.byteOffset,Wt.byteLength)}else if(Wt instanceof tn);else{Wt=Buffer.from(String(Wt))}this[pn]={body:Wt,disturbed:false,error:null};this.size=an;this.timeout=rn;if(Wt instanceof tn){Wt.on("error",(function(Wt){const en=Wt.name==="AbortError"?Wt:new FetchError(`Invalid response body while trying to fetch ${Pt.url}: ${Wt.message}`,"system",Wt);Pt[pn].error=en}))}}Body.prototype={get body(){return this[pn].body},get bodyUsed(){return this[pn].disturbed},arrayBuffer(){return consumeBody.call(this).then((function(Wt){return Wt.buffer.slice(Wt.byteOffset,Wt.byteOffset+Wt.byteLength)}))},blob(){let Wt=this.headers&&this.headers.get("content-type")||"";return consumeBody.call(this).then((function(Pt){return Object.assign(new Blob([],{type:Wt.toLowerCase()}),{[cn]:Pt})}))},json(){var Wt=this;return consumeBody.call(this).then((function(Pt){try{return JSON.parse(Pt.toString())}catch(Pt){return Body.Promise.reject(new FetchError(`invalid json response body at ${Wt.url} reason: ${Pt.message}`,"invalid-json"))}}))},text(){return consumeBody.call(this).then((function(Wt){return Wt.toString()}))},buffer(){return consumeBody.call(this)},textConverted(){var Wt=this;return consumeBody.call(this).then((function(Pt){return convertBody(Pt,Wt.headers)}))}};Object.defineProperties(Body.prototype,{body:{enumerable:true},bodyUsed:{enumerable:true},arrayBuffer:{enumerable:true},blob:{enumerable:true},json:{enumerable:true},text:{enumerable:true}});Body.mixIn=function(Wt){for(const Pt of Object.getOwnPropertyNames(Body.prototype)){if(!(Pt in Wt)){const en=Object.getOwnPropertyDescriptor(Body.prototype,Pt);Object.defineProperty(Wt,Pt,en)}}};function consumeBody(){var Wt=this;if(this[pn].disturbed){return Body.Promise.reject(new TypeError(`body used already for: ${this.url}`))}this[pn].disturbed=true;if(this[pn].error){return Body.Promise.reject(this[pn].error)}let Pt=this.body;if(Pt===null){return Body.Promise.resolve(Buffer.alloc(0))}if(isBlob(Pt)){Pt=Pt.stream()}if(Buffer.isBuffer(Pt)){return Body.Promise.resolve(Pt)}if(!(Pt instanceof tn)){return Body.Promise.resolve(Buffer.alloc(0))}let en=[];let nn=0;let an=false;return new Body.Promise((function(tn,In){let rn;if(Wt.timeout){rn=setTimeout((function(){an=true;In(new FetchError(`Response timeout while trying to fetch ${Wt.url} (over ${Wt.timeout}ms)`,"body-timeout"))}),Wt.timeout)}Pt.on("error",(function(Pt){if(Pt.name==="AbortError"){an=true;In(Pt)}else{In(new FetchError(`Invalid response body while trying to fetch ${Wt.url}: ${Pt.message}`,"system",Pt))}}));Pt.on("data",(function(Pt){if(an||Pt===null){return}if(Wt.size&&nn+Pt.length>Wt.size){an=true;In(new FetchError(`content size at ${Wt.url} over limit: ${Wt.size}`,"max-size"));return}nn+=Pt.length;en.push(Pt)}));Pt.on("end",(function(){if(an){return}clearTimeout(rn);try{tn(Buffer.concat(en,nn))}catch(Pt){In(new FetchError(`Could not create Buffer from response body for ${Wt.url}: ${Pt.message}`,"system",Pt))}}))}))}function convertBody(Wt,Pt){if(typeof un!=="function"){throw new Error("The package `encoding` must be installed to use the textConverted() function")}const en=Pt.get("content-type");let tn="utf-8";let nn,an;if(en){nn=/charset=([^;]*)/i.exec(en)}an=Wt.slice(0,1024).toString();if(!nn&&an){nn=/0&&arguments[0]!==undefined?arguments[0]:undefined;this[hn]=Object.create(null);if(Wt instanceof Headers){const Pt=Wt.raw();const en=Object.keys(Pt);for(const Wt of en){for(const en of Pt[Wt]){this.append(Wt,en)}}return}if(Wt==null);else if(typeof Wt==="object"){const Pt=Wt[Symbol.iterator];if(Pt!=null){if(typeof Pt!=="function"){throw new TypeError("Header pairs must be iterable")}const en=[];for(const Pt of Wt){if(typeof Pt!=="object"||typeof Pt[Symbol.iterator]!=="function"){throw new TypeError("Each header pair must be iterable")}en.push(Array.from(Pt))}for(const Wt of en){if(Wt.length!==2){throw new TypeError("Each header pair must be a name/value tuple")}this.append(Wt[0],Wt[1])}}else{for(const Pt of Object.keys(Wt)){const en=Wt[Pt];this.append(Pt,en)}}}else{throw new TypeError("Provided initializer must be an object")}}get(Wt){Wt=`${Wt}`;validateName(Wt);const Pt=find(this[hn],Wt);if(Pt===undefined){return null}return this[hn][Pt].join(", ")}forEach(Wt){let Pt=arguments.length>1&&arguments[1]!==undefined?arguments[1]:undefined;let en=getHeaders(this);let tn=0;while(tn1&&arguments[1]!==undefined?arguments[1]:"key+value";const en=Object.keys(Wt[hn]).sort();return en.map(Pt==="key"?function(Wt){return Wt.toLowerCase()}:Pt==="value"?function(Pt){return Wt[hn][Pt].join(", ")}:function(Pt){return[Pt.toLowerCase(),Wt[hn][Pt].join(", ")]})}const Zn=Symbol("internal");function createHeadersIterator(Wt,Pt){const en=Object.create(An);en[Zn]={target:Wt,kind:Pt,index:0};return en}const An=Object.setPrototypeOf({next(){if(!this||Object.getPrototypeOf(this)!==An){throw new TypeError("Value of `this` is not a HeadersIterator")}var Wt=this[Zn];const Pt=Wt.target,en=Wt.kind,tn=Wt.index;const nn=getHeaders(Pt,en);const an=nn.length;if(tn>=an){return{value:undefined,done:true}}this[Zn].index=tn+1;return{value:nn[tn],done:false}}},Object.getPrototypeOf(Object.getPrototypeOf([][Symbol.iterator]())));Object.defineProperty(An,Symbol.toStringTag,{value:"HeadersIterator",writable:false,enumerable:false,configurable:true});function exportNodeCompatibleHeaders(Wt){const Pt=Object.assign({__proto__:null},Wt[hn]);const en=find(Wt[hn],"Host");if(en!==undefined){Pt[en]=Pt[en][0]}return Pt}function createHeadersLenient(Wt){const Pt=new Headers;for(const en of Object.keys(Wt)){if(bn.test(en)){continue}if(Array.isArray(Wt[en])){for(const tn of Wt[en]){if(Gn.test(tn)){continue}if(Pt[hn][en]===undefined){Pt[hn][en]=[tn]}else{Pt[hn][en].push(tn)}}}else if(!Gn.test(Wt[en])){Pt[hn][en]=[Wt[en]]}}return Pt}const Wn=Symbol("Response internals");const Nn=nn.STATUS_CODES;class Response{constructor(){let Wt=arguments.length>0&&arguments[0]!==undefined?arguments[0]:null;let Pt=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{};Body.call(this,Wt,Pt);const en=Pt.status||200;const tn=new Headers(Pt.headers);if(Wt!=null&&!tn.has("Content-Type")){const Pt=extractContentType(Wt);if(Pt){tn.append("Content-Type",Pt)}}this[Wn]={url:Pt.url,status:en,statusText:Pt.statusText||Nn[en],headers:tn,counter:Pt.counter}}get url(){return this[Wn].url||""}get status(){return this[Wn].status}get ok(){return this[Wn].status>=200&&this[Wn].status<300}get redirected(){return this[Wn].counter>0}get statusText(){return this[Wn].statusText}get headers(){return this[Wn].headers}clone(){return new Response(clone(this),{url:this.url,status:this.status,statusText:this.statusText,headers:this.headers,ok:this.ok,redirected:this.redirected})}}Body.mixIn(Response.prototype);Object.defineProperties(Response.prototype,{url:{enumerable:true},status:{enumerable:true},ok:{enumerable:true},redirected:{enumerable:true},statusText:{enumerable:true},headers:{enumerable:true},clone:{enumerable:true}});Object.defineProperty(Response.prototype,Symbol.toStringTag,{value:"Response",writable:false,enumerable:false,configurable:true});const gn=Symbol("Request internals");const yn=an.URL||In.URL;const vn=an.parse;const Yn=an.format;function parseURL(Wt){if(/^[a-zA-Z][a-zA-Z\d+\-.]*:/.exec(Wt)){Wt=new yn(Wt).toString()}return vn(Wt)}const En="destroy"in tn.Readable.prototype;function isRequest(Wt){return typeof Wt==="object"&&typeof Wt[gn]==="object"}function isAbortSignal(Wt){const Pt=Wt&&typeof Wt==="object"&&Object.getPrototypeOf(Wt);return!!(Pt&&Pt.constructor.name==="AbortSignal")}class Request{constructor(Wt){let Pt=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{};let en;if(!isRequest(Wt)){if(Wt&&Wt.href){en=parseURL(Wt.href)}else{en=parseURL(`${Wt}`)}Wt={}}else{en=parseURL(Wt.url)}let tn=Pt.method||Wt.method||"GET";tn=tn.toUpperCase();if((Pt.body!=null||isRequest(Wt)&&Wt.body!==null)&&(tn==="GET"||tn==="HEAD")){throw new TypeError("Request with GET/HEAD method cannot have body")}let nn=Pt.body!=null?Pt.body:isRequest(Wt)&&Wt.body!==null?clone(Wt):null;Body.call(this,nn,{timeout:Pt.timeout||Wt.timeout||0,size:Pt.size||Wt.size||0});const an=new Headers(Pt.headers||Wt.headers||{});if(nn!=null&&!an.has("Content-Type")){const Wt=extractContentType(nn);if(Wt){an.append("Content-Type",Wt)}}let In=isRequest(Wt)?Wt.signal:null;if("signal"in Pt)In=Pt.signal;if(In!=null&&!isAbortSignal(In)){throw new TypeError("Expected signal to be an instanceof AbortSignal")}this[gn]={method:tn,redirect:Pt.redirect||Wt.redirect||"follow",headers:an,parsedURL:en,signal:In};this.follow=Pt.follow!==undefined?Pt.follow:Wt.follow!==undefined?Wt.follow:20;this.compress=Pt.compress!==undefined?Pt.compress:Wt.compress!==undefined?Wt.compress:true;this.counter=Pt.counter||Wt.counter||0;this.agent=Pt.agent||Wt.agent}get method(){return this[gn].method}get url(){return Yn(this[gn].parsedURL)}get headers(){return this[gn].headers}get redirect(){return this[gn].redirect}get signal(){return this[gn].signal}clone(){return new Request(this)}}Body.mixIn(Request.prototype);Object.defineProperty(Request.prototype,Symbol.toStringTag,{value:"Request",writable:false,enumerable:false,configurable:true});Object.defineProperties(Request.prototype,{method:{enumerable:true},url:{enumerable:true},headers:{enumerable:true},redirect:{enumerable:true},clone:{enumerable:true},signal:{enumerable:true}});function getNodeRequestOptions(Wt){const Pt=Wt[gn].parsedURL;const en=new Headers(Wt[gn].headers);if(!en.has("Accept")){en.set("Accept","*/*")}if(!Pt.protocol||!Pt.hostname){throw new TypeError("Only absolute URLs are supported")}if(!/^https?:$/.test(Pt.protocol)){throw new TypeError("Only HTTP(S) protocols are supported")}if(Wt.signal&&Wt.body instanceof tn.Readable&&!En){throw new Error("Cancellation of streamed requests with AbortSignal is not supported in node < 8")}let nn=null;if(Wt.body==null&&/^(POST|PUT)$/i.test(Wt.method)){nn="0"}if(Wt.body!=null){const Pt=getTotalBytes(Wt);if(typeof Pt==="number"){nn=String(Pt)}}if(nn){en.set("Content-Length",nn)}if(!en.has("User-Agent")){en.set("User-Agent","node-fetch/1.0 (+https://github.com/bitinn/node-fetch)")}if(Wt.compress&&!en.has("Accept-Encoding")){en.set("Accept-Encoding","gzip,deflate")}let an=Wt.agent;if(typeof an==="function"){an=an(Pt)}return Object.assign({},Pt,{method:Wt.method,headers:exportNodeCompatibleHeaders(en),agent:an})}function AbortError(Wt){Error.call(this,Wt);this.type="aborted";this.message=Wt;Error.captureStackTrace(this,this.constructor)}AbortError.prototype=Object.create(Error.prototype);AbortError.prototype.constructor=AbortError;AbortError.prototype.name="AbortError";const Vn=an.URL||In.URL;const Rn=tn.PassThrough;const wn=function isDomainOrSubdomain(Wt,Pt){const en=new Vn(Pt).hostname;const tn=new Vn(Wt).hostname;return en===tn||en[en.length-tn.length-1]==="."&&en.endsWith(tn)};const Fn=function isSameProtocol(Wt,Pt){const en=new Vn(Pt).protocol;const tn=new Vn(Wt).protocol;return en===tn};function fetch(Wt,Pt){if(!fetch.Promise){throw new Error("native promise missing, set fetch.Promise to your favorite alternative")}Body.Promise=fetch.Promise;return new fetch.Promise((function(en,an){const In=new Request(Wt,Pt);const on=getNodeRequestOptions(In);const cn=(on.protocol==="https:"?rn:nn).request;const dn=In.signal;let un=null;const pn=function abort(){let Wt=new AbortError("The user aborted a request.");an(Wt);if(In.body&&In.body instanceof tn.Readable){destroyStream(In.body,Wt)}if(!un||!un.body)return;un.body.emit("error",Wt)};if(dn&&dn.aborted){pn();return}const mn=function abortAndFinalize(){pn();finalize()};const bn=cn(on);let Gn;if(dn){dn.addEventListener("abort",mn)}function finalize(){bn.abort();if(dn)dn.removeEventListener("abort",mn);clearTimeout(Gn)}if(In.timeout){bn.once("socket",(function(Wt){Gn=setTimeout((function(){an(new FetchError(`network timeout at: ${In.url}`,"request-timeout"));finalize()}),In.timeout)}))}bn.on("error",(function(Wt){an(new FetchError(`request to ${In.url} failed, reason: ${Wt.message}`,"system",Wt));if(un&&un.body){destroyStream(un.body,Wt)}finalize()}));fixResponseChunkedTransferBadEnding(bn,(function(Wt){if(dn&&dn.aborted){return}if(un&&un.body){destroyStream(un.body,Wt)}}));if(parseInt(process.version.substring(1))<14){bn.on("socket",(function(Wt){Wt.addListener("close",(function(Pt){const en=Wt.listenerCount("data")>0;if(un&&en&&!Pt&&!(dn&&dn.aborted)){const Wt=new Error("Premature close");Wt.code="ERR_STREAM_PREMATURE_CLOSE";un.body.emit("error",Wt)}}))}))}bn.on("response",(function(Wt){clearTimeout(Gn);const Pt=createHeadersLenient(Wt.headers);if(fetch.isRedirect(Wt.statusCode)){const tn=Pt.get("Location");let nn=null;try{nn=tn===null?null:new Vn(tn,In.url).toString()}catch(Wt){if(In.redirect!=="manual"){an(new FetchError(`uri requested responds with an invalid redirect URL: ${tn}`,"invalid-redirect"));finalize();return}}switch(In.redirect){case"error":an(new FetchError(`uri requested responds with a redirect, redirect mode is set to error: ${In.url}`,"no-redirect"));finalize();return;case"manual":if(nn!==null){try{Pt.set("Location",nn)}catch(Wt){an(Wt)}}break;case"follow":if(nn===null){break}if(In.counter>=In.follow){an(new FetchError(`maximum redirect reached at: ${In.url}`,"max-redirect"));finalize();return}const tn={headers:new Headers(In.headers),follow:In.follow,counter:In.counter+1,agent:In.agent,compress:In.compress,method:In.method,body:In.body,signal:In.signal,timeout:In.timeout,size:In.size};if(!wn(In.url,nn)||!Fn(In.url,nn)){for(const Wt of["authorization","www-authenticate","cookie","cookie2"]){tn.headers.delete(Wt)}}if(Wt.statusCode!==303&&In.body&&getTotalBytes(In)===null){an(new FetchError("Cannot follow redirect with body being a readable stream","unsupported-redirect"));finalize();return}if(Wt.statusCode===303||(Wt.statusCode===301||Wt.statusCode===302)&&In.method==="POST"){tn.method="GET";tn.body=undefined;tn.headers.delete("content-length")}en(fetch(new Request(nn,tn)));finalize();return}}Wt.once("end",(function(){if(dn)dn.removeEventListener("abort",mn)}));let tn=Wt.pipe(new Rn);const nn={url:In.url,status:Wt.statusCode,statusText:Wt.statusMessage,headers:Pt,size:In.size,timeout:In.timeout,counter:In.counter};const rn=Pt.get("Content-Encoding");if(!In.compress||In.method==="HEAD"||rn===null||Wt.statusCode===204||Wt.statusCode===304){un=new Response(tn,nn);en(un);return}const on={flush:sn.Z_SYNC_FLUSH,finishFlush:sn.Z_SYNC_FLUSH};if(rn=="gzip"||rn=="x-gzip"){tn=tn.pipe(sn.createGunzip(on));un=new Response(tn,nn);en(un);return}if(rn=="deflate"||rn=="x-deflate"){const Pt=Wt.pipe(new Rn);Pt.once("data",(function(Wt){if((Wt[0]&15)===8){tn=tn.pipe(sn.createInflate())}else{tn=tn.pipe(sn.createInflateRaw())}un=new Response(tn,nn);en(un)}));Pt.on("end",(function(){if(!un){un=new Response(tn,nn);en(un)}}));return}if(rn=="br"&&typeof sn.createBrotliDecompress==="function"){tn=tn.pipe(sn.createBrotliDecompress());un=new Response(tn,nn);en(un);return}un=new Response(tn,nn);en(un)}));writeToStream(bn,In)}))}function fixResponseChunkedTransferBadEnding(Wt,Pt){let en;Wt.on("socket",(function(Wt){en=Wt}));Wt.on("response",(function(Wt){const tn=Wt.headers;if(tn["transfer-encoding"]==="chunked"&&!tn["content-length"]){Wt.once("close",(function(Wt){const tn=en&&en.listenerCount("data")>0;if(tn&&!Wt){const Wt=new Error("Premature close");Wt.code="ERR_STREAM_PREMATURE_CLOSE";Pt(Wt)}}))}}))}function destroyStream(Wt,Pt){if(Wt.destroy){Wt.destroy(Pt)}else{Wt.emit("error",Pt);Wt.end()}}fetch.isRedirect=function(Wt){return Wt===301||Wt===302||Wt===303||Wt===307||Wt===308};fetch.Promise=global.Promise;Wt.exports=Pt=fetch;Object.defineProperty(Pt,"__esModule",{value:true});Pt["default"]=Pt;Pt.Headers=Headers;Pt.Request=Request;Pt.Response=Response;Pt.FetchError=FetchError;Pt.AbortError=AbortError},80509:(Wt,Pt,en)=>{const tn=en(36930);Pt.implementation=class URLImpl{constructor(Wt){const Pt=Wt[0];const en=Wt[1];let nn=null;if(en!==undefined){nn=tn.basicURLParse(en);if(nn==="failure"){throw new TypeError("Invalid base URL")}}const an=tn.basicURLParse(Pt,{baseURL:nn});if(an==="failure"){throw new TypeError("Invalid URL")}this._url=an}get href(){return tn.serializeURL(this._url)}set href(Wt){const Pt=tn.basicURLParse(Wt);if(Pt==="failure"){throw new TypeError("Invalid URL")}this._url=Pt}get origin(){return tn.serializeURLOrigin(this._url)}get protocol(){return this._url.scheme+":"}set protocol(Wt){tn.basicURLParse(Wt+":",{url:this._url,stateOverride:"scheme start"})}get username(){return this._url.username}set username(Wt){if(tn.cannotHaveAUsernamePasswordPort(this._url)){return}tn.setTheUsername(this._url,Wt)}get password(){return this._url.password}set password(Wt){if(tn.cannotHaveAUsernamePasswordPort(this._url)){return}tn.setThePassword(this._url,Wt)}get host(){const Wt=this._url;if(Wt.host===null){return""}if(Wt.port===null){return tn.serializeHost(Wt.host)}return tn.serializeHost(Wt.host)+":"+tn.serializeInteger(Wt.port)}set host(Wt){if(this._url.cannotBeABaseURL){return}tn.basicURLParse(Wt,{url:this._url,stateOverride:"host"})}get hostname(){if(this._url.host===null){return""}return tn.serializeHost(this._url.host)}set hostname(Wt){if(this._url.cannotBeABaseURL){return}tn.basicURLParse(Wt,{url:this._url,stateOverride:"hostname"})}get port(){if(this._url.port===null){return""}return tn.serializeInteger(this._url.port)}set port(Wt){if(tn.cannotHaveAUsernamePasswordPort(this._url)){return}if(Wt===""){this._url.port=null}else{tn.basicURLParse(Wt,{url:this._url,stateOverride:"port"})}}get pathname(){if(this._url.cannotBeABaseURL){return this._url.path[0]}if(this._url.path.length===0){return""}return"/"+this._url.path.join("/")}set pathname(Wt){if(this._url.cannotBeABaseURL){return}this._url.path=[];tn.basicURLParse(Wt,{url:this._url,stateOverride:"path start"})}get search(){if(this._url.query===null||this._url.query===""){return""}return"?"+this._url.query}set search(Wt){const Pt=this._url;if(Wt===""){Pt.query=null;return}const en=Wt[0]==="?"?Wt.substring(1):Wt;Pt.query="";tn.basicURLParse(en,{url:Pt,stateOverride:"query"})}get hash(){if(this._url.fragment===null||this._url.fragment===""){return""}return"#"+this._url.fragment}set hash(Wt){if(Wt===""){this._url.fragment=null;return}const Pt=Wt[0]==="#"?Wt.substring(1):Wt;this._url.fragment="";tn.basicURLParse(Pt,{url:this._url,stateOverride:"fragment"})}toJSON(){return this.href}}},9202:(Wt,Pt,en)=>{const tn=en(66222);const nn=en(26238);const an=en(80509);const In=nn.implSymbol;function URL(Pt){if(!this||this[In]||!(this instanceof URL)){throw new TypeError("Failed to construct 'URL': Please use the 'new' operator, this DOM object constructor cannot be called as a function.")}if(arguments.length<1){throw new TypeError("Failed to construct 'URL': 1 argument required, but only "+arguments.length+" present.")}const en=[];for(let Wt=0;Wt{Pt.URL=en(9202)["interface"];Pt.serializeURL=en(36930).serializeURL;Pt.serializeURLOrigin=en(36930).serializeURLOrigin;Pt.basicURLParse=en(36930).basicURLParse;Pt.setTheUsername=en(36930).setTheUsername;Pt.setThePassword=en(36930).setThePassword;Pt.serializeHost=en(36930).serializeHost;Pt.serializeInteger=en(36930).serializeInteger;Pt.parseURL=en(36930).parseURL},36930:(Wt,Pt,en)=>{const tn=en(24876);const nn=en(17403);const an={ftp:21,file:null,gopher:70,http:80,https:443,ws:80,wss:443};const In=Symbol("failure");function countSymbols(Wt){return tn.ucs2.decode(Wt).length}function at(Wt,Pt){const en=Wt[Pt];return isNaN(en)?undefined:String.fromCodePoint(en)}function isASCIIDigit(Wt){return Wt>=48&&Wt<=57}function isASCIIAlpha(Wt){return Wt>=65&&Wt<=90||Wt>=97&&Wt<=122}function isASCIIAlphanumeric(Wt){return isASCIIAlpha(Wt)||isASCIIDigit(Wt)}function isASCIIHex(Wt){return isASCIIDigit(Wt)||Wt>=65&&Wt<=70||Wt>=97&&Wt<=102}function isSingleDot(Wt){return Wt==="."||Wt.toLowerCase()==="%2e"}function isDoubleDot(Wt){Wt=Wt.toLowerCase();return Wt===".."||Wt==="%2e."||Wt===".%2e"||Wt==="%2e%2e"}function isWindowsDriveLetterCodePoints(Wt,Pt){return isASCIIAlpha(Wt)&&(Pt===58||Pt===124)}function isWindowsDriveLetterString(Wt){return Wt.length===2&&isASCIIAlpha(Wt.codePointAt(0))&&(Wt[1]===":"||Wt[1]==="|")}function isNormalizedWindowsDriveLetterString(Wt){return Wt.length===2&&isASCIIAlpha(Wt.codePointAt(0))&&Wt[1]===":"}function containsForbiddenHostCodePoint(Wt){return Wt.search(/\u0000|\u0009|\u000A|\u000D|\u0020|#|%|\/|:|\?|@|\[|\\|\]/)!==-1}function containsForbiddenHostCodePointExcludingPercent(Wt){return Wt.search(/\u0000|\u0009|\u000A|\u000D|\u0020|#|\/|:|\?|@|\[|\\|\]/)!==-1}function isSpecialScheme(Wt){return an[Wt]!==undefined}function isSpecial(Wt){return isSpecialScheme(Wt.scheme)}function defaultPort(Wt){return an[Wt]}function percentEncode(Wt){let Pt=Wt.toString(16).toUpperCase();if(Pt.length===1){Pt="0"+Pt}return"%"+Pt}function utf8PercentEncode(Wt){const Pt=new Buffer(Wt);let en="";for(let Wt=0;Wt126}const rn=new Set([32,34,35,60,62,63,96,123,125]);function isPathPercentEncode(Wt){return isC0ControlPercentEncode(Wt)||rn.has(Wt)}const sn=new Set([47,58,59,61,64,91,92,93,94,124]);function isUserinfoPercentEncode(Wt){return isPathPercentEncode(Wt)||sn.has(Wt)}function percentEncodeChar(Wt,Pt){const en=String.fromCodePoint(Wt);if(Pt(Wt)){return utf8PercentEncode(en)}return en}function parseIPv4Number(Wt){let Pt=10;if(Wt.length>=2&&Wt.charAt(0)==="0"&&Wt.charAt(1).toLowerCase()==="x"){Wt=Wt.substring(2);Pt=16}else if(Wt.length>=2&&Wt.charAt(0)==="0"){Wt=Wt.substring(1);Pt=8}if(Wt===""){return 0}const en=Pt===10?/[^0-9]/:Pt===16?/[^0-9A-Fa-f]/:/[^0-7]/;if(en.test(Wt)){return In}return parseInt(Wt,Pt)}function parseIPv4(Wt){const Pt=Wt.split(".");if(Pt[Pt.length-1]===""){if(Pt.length>1){Pt.pop()}}if(Pt.length>4){return Wt}const en=[];for(const tn of Pt){if(tn===""){return Wt}const Pt=parseIPv4Number(tn);if(Pt===In){return Wt}en.push(Pt)}for(let Wt=0;Wt255){return In}}if(en[en.length-1]>=Math.pow(256,5-en.length)){return In}let tn=en.pop();let nn=0;for(const Wt of en){tn+=Wt*Math.pow(256,3-nn);++nn}return tn}function serializeIPv4(Wt){let Pt="";let en=Wt;for(let Wt=1;Wt<=4;++Wt){Pt=String(en%256)+Pt;if(Wt!==4){Pt="."+Pt}en=Math.floor(en/256)}return Pt}function parseIPv6(Wt){const Pt=[0,0,0,0,0,0,0,0];let en=0;let nn=null;let an=0;Wt=tn.ucs2.decode(Wt);if(Wt[an]===58){if(Wt[an+1]!==58){return In}an+=2;++en;nn=en}while(an6){return In}let tn=0;while(Wt[an]!==undefined){let nn=null;if(tn>0){if(Wt[an]===46&&tn<4){++an}else{return In}}if(!isASCIIDigit(Wt[an])){return In}while(isASCIIDigit(Wt[an])){const Pt=parseInt(at(Wt,an));if(nn===null){nn=Pt}else if(nn===0){return In}else{nn=nn*10+Pt}if(nn>255){return In}++an}Pt[en]=Pt[en]*256+nn;++tn;if(tn===2||tn===4){++en}}if(tn!==4){return In}break}else if(Wt[an]===58){++an;if(Wt[an]===undefined){return In}}else if(Wt[an]!==undefined){return In}Pt[en]=tn;++en}if(nn!==null){let Wt=en-nn;en=7;while(en!==0&&Wt>0){const tn=Pt[nn+Wt-1];Pt[nn+Wt-1]=Pt[en];Pt[en]=tn;--en;--Wt}}else if(nn===null&&en!==8){return In}return Pt}function serializeIPv6(Wt){let Pt="";const en=findLongestZeroSequence(Wt);const tn=en.idx;let nn=false;for(let en=0;en<=7;++en){if(nn&&Wt[en]===0){continue}else if(nn){nn=false}if(tn===en){const Wt=en===0?"::":":";Pt+=Wt;nn=true;continue}Pt+=Wt[en].toString(16);if(en!==7){Pt+=":"}}return Pt}function parseHost(Wt,Pt){if(Wt[0]==="["){if(Wt[Wt.length-1]!=="]"){return In}return parseIPv6(Wt.substring(1,Wt.length-1))}if(!Pt){return parseOpaqueHost(Wt)}const en=utf8PercentDecode(Wt);const tn=nn.toASCII(en,false,nn.PROCESSING_OPTIONS.NONTRANSITIONAL,false);if(tn===null){return In}if(containsForbiddenHostCodePoint(tn)){return In}const an=parseIPv4(tn);if(typeof an==="number"||an===In){return an}return tn}function parseOpaqueHost(Wt){if(containsForbiddenHostCodePointExcludingPercent(Wt)){return In}let Pt="";const en=tn.ucs2.decode(Wt);for(let Wt=0;Wten){Pt=tn;en=nn}tn=null;nn=0}else{if(tn===null){tn=an}++nn}}if(nn>en){Pt=tn;en=nn}return{idx:Pt,len:en}}function serializeHost(Wt){if(typeof Wt==="number"){return serializeIPv4(Wt)}if(Wt instanceof Array){return"["+serializeIPv6(Wt)+"]"}return Wt}function trimControlChars(Wt){return Wt.replace(/^[\u0000-\u001F\u0020]+|[\u0000-\u001F\u0020]+$/g,"")}function trimTabAndNewline(Wt){return Wt.replace(/\u0009|\u000A|\u000D/g,"")}function shortenPath(Wt){const Pt=Wt.path;if(Pt.length===0){return}if(Wt.scheme==="file"&&Pt.length===1&&isNormalizedWindowsDriveLetter(Pt[0])){return}Pt.pop()}function includesCredentials(Wt){return Wt.username!==""||Wt.password!==""}function cannotHaveAUsernamePasswordPort(Wt){return Wt.host===null||Wt.host===""||Wt.cannotBeABaseURL||Wt.scheme==="file"}function isNormalizedWindowsDriveLetter(Wt){return/^[A-Za-z]:$/.test(Wt)}function URLStateMachine(Wt,Pt,en,nn,an){this.pointer=0;this.input=Wt;this.base=Pt||null;this.encodingOverride=en||"utf-8";this.stateOverride=an;this.url=nn;this.failure=false;this.parseError=false;if(!this.url){this.url={scheme:"",username:"",password:"",host:null,port:null,path:[],query:null,fragment:null,cannotBeABaseURL:false};const Wt=trimControlChars(this.input);if(Wt!==this.input){this.parseError=true}this.input=Wt}const rn=trimTabAndNewline(this.input);if(rn!==this.input){this.parseError=true}this.input=rn;this.state=an||"scheme start";this.buffer="";this.atFlag=false;this.arrFlag=false;this.passwordTokenSeenFlag=false;this.input=tn.ucs2.decode(this.input);for(;this.pointer<=this.input.length;++this.pointer){const Wt=this.input[this.pointer];const Pt=isNaN(Wt)?undefined:String.fromCodePoint(Wt);const en=this["parse "+this.state](Wt,Pt);if(!en){break}else if(en===In){this.failure=true;break}}}URLStateMachine.prototype["parse scheme start"]=function parseSchemeStart(Wt,Pt){if(isASCIIAlpha(Wt)){this.buffer+=Pt.toLowerCase();this.state="scheme"}else if(!this.stateOverride){this.state="no scheme";--this.pointer}else{this.parseError=true;return In}return true};URLStateMachine.prototype["parse scheme"]=function parseScheme(Wt,Pt){if(isASCIIAlphanumeric(Wt)||Wt===43||Wt===45||Wt===46){this.buffer+=Pt.toLowerCase()}else if(Wt===58){if(this.stateOverride){if(isSpecial(this.url)&&!isSpecialScheme(this.buffer)){return false}if(!isSpecial(this.url)&&isSpecialScheme(this.buffer)){return false}if((includesCredentials(this.url)||this.url.port!==null)&&this.buffer==="file"){return false}if(this.url.scheme==="file"&&(this.url.host===""||this.url.host===null)){return false}}this.url.scheme=this.buffer;this.buffer="";if(this.stateOverride){return false}if(this.url.scheme==="file"){if(this.input[this.pointer+1]!==47||this.input[this.pointer+2]!==47){this.parseError=true}this.state="file"}else if(isSpecial(this.url)&&this.base!==null&&this.base.scheme===this.url.scheme){this.state="special relative or authority"}else if(isSpecial(this.url)){this.state="special authority slashes"}else if(this.input[this.pointer+1]===47){this.state="path or authority";++this.pointer}else{this.url.cannotBeABaseURL=true;this.url.path.push("");this.state="cannot-be-a-base-URL path"}}else if(!this.stateOverride){this.buffer="";this.state="no scheme";this.pointer=-1}else{this.parseError=true;return In}return true};URLStateMachine.prototype["parse no scheme"]=function parseNoScheme(Wt){if(this.base===null||this.base.cannotBeABaseURL&&Wt!==35){return In}else if(this.base.cannotBeABaseURL&&Wt===35){this.url.scheme=this.base.scheme;this.url.path=this.base.path.slice();this.url.query=this.base.query;this.url.fragment="";this.url.cannotBeABaseURL=true;this.state="fragment"}else if(this.base.scheme==="file"){this.state="file";--this.pointer}else{this.state="relative";--this.pointer}return true};URLStateMachine.prototype["parse special relative or authority"]=function parseSpecialRelativeOrAuthority(Wt){if(Wt===47&&this.input[this.pointer+1]===47){this.state="special authority ignore slashes";++this.pointer}else{this.parseError=true;this.state="relative";--this.pointer}return true};URLStateMachine.prototype["parse path or authority"]=function parsePathOrAuthority(Wt){if(Wt===47){this.state="authority"}else{this.state="path";--this.pointer}return true};URLStateMachine.prototype["parse relative"]=function parseRelative(Wt){this.url.scheme=this.base.scheme;if(isNaN(Wt)){this.url.username=this.base.username;this.url.password=this.base.password;this.url.host=this.base.host;this.url.port=this.base.port;this.url.path=this.base.path.slice();this.url.query=this.base.query}else if(Wt===47){this.state="relative slash"}else if(Wt===63){this.url.username=this.base.username;this.url.password=this.base.password;this.url.host=this.base.host;this.url.port=this.base.port;this.url.path=this.base.path.slice();this.url.query="";this.state="query"}else if(Wt===35){this.url.username=this.base.username;this.url.password=this.base.password;this.url.host=this.base.host;this.url.port=this.base.port;this.url.path=this.base.path.slice();this.url.query=this.base.query;this.url.fragment="";this.state="fragment"}else if(isSpecial(this.url)&&Wt===92){this.parseError=true;this.state="relative slash"}else{this.url.username=this.base.username;this.url.password=this.base.password;this.url.host=this.base.host;this.url.port=this.base.port;this.url.path=this.base.path.slice(0,this.base.path.length-1);this.state="path";--this.pointer}return true};URLStateMachine.prototype["parse relative slash"]=function parseRelativeSlash(Wt){if(isSpecial(this.url)&&(Wt===47||Wt===92)){if(Wt===92){this.parseError=true}this.state="special authority ignore slashes"}else if(Wt===47){this.state="authority"}else{this.url.username=this.base.username;this.url.password=this.base.password;this.url.host=this.base.host;this.url.port=this.base.port;this.state="path";--this.pointer}return true};URLStateMachine.prototype["parse special authority slashes"]=function parseSpecialAuthoritySlashes(Wt){if(Wt===47&&this.input[this.pointer+1]===47){this.state="special authority ignore slashes";++this.pointer}else{this.parseError=true;this.state="special authority ignore slashes";--this.pointer}return true};URLStateMachine.prototype["parse special authority ignore slashes"]=function parseSpecialAuthorityIgnoreSlashes(Wt){if(Wt!==47&&Wt!==92){this.state="authority";--this.pointer}else{this.parseError=true}return true};URLStateMachine.prototype["parse authority"]=function parseAuthority(Wt,Pt){if(Wt===64){this.parseError=true;if(this.atFlag){this.buffer="%40"+this.buffer}this.atFlag=true;const Wt=countSymbols(this.buffer);for(let Pt=0;PtMath.pow(2,16)-1){this.parseError=true;return In}this.url.port=Wt===defaultPort(this.url.scheme)?null:Wt;this.buffer=""}if(this.stateOverride){return false}this.state="path start";--this.pointer}else{this.parseError=true;return In}return true};const on=new Set([47,92,63,35]);URLStateMachine.prototype["parse file"]=function parseFile(Wt){this.url.scheme="file";if(Wt===47||Wt===92){if(Wt===92){this.parseError=true}this.state="file slash"}else if(this.base!==null&&this.base.scheme==="file"){if(isNaN(Wt)){this.url.host=this.base.host;this.url.path=this.base.path.slice();this.url.query=this.base.query}else if(Wt===63){this.url.host=this.base.host;this.url.path=this.base.path.slice();this.url.query="";this.state="query"}else if(Wt===35){this.url.host=this.base.host;this.url.path=this.base.path.slice();this.url.query=this.base.query;this.url.fragment="";this.state="fragment"}else{if(this.input.length-this.pointer-1===0||!isWindowsDriveLetterCodePoints(Wt,this.input[this.pointer+1])||this.input.length-this.pointer-1>=2&&!on.has(this.input[this.pointer+2])){this.url.host=this.base.host;this.url.path=this.base.path.slice();shortenPath(this.url)}else{this.parseError=true}this.state="path";--this.pointer}}else{this.state="path";--this.pointer}return true};URLStateMachine.prototype["parse file slash"]=function parseFileSlash(Wt){if(Wt===47||Wt===92){if(Wt===92){this.parseError=true}this.state="file host"}else{if(this.base!==null&&this.base.scheme==="file"){if(isNormalizedWindowsDriveLetterString(this.base.path[0])){this.url.path.push(this.base.path[0])}else{this.url.host=this.base.host}}this.state="path";--this.pointer}return true};URLStateMachine.prototype["parse file host"]=function parseFileHost(Wt,Pt){if(isNaN(Wt)||Wt===47||Wt===92||Wt===63||Wt===35){--this.pointer;if(!this.stateOverride&&isWindowsDriveLetterString(this.buffer)){this.parseError=true;this.state="path"}else if(this.buffer===""){this.url.host="";if(this.stateOverride){return false}this.state="path start"}else{let Wt=parseHost(this.buffer,isSpecial(this.url));if(Wt===In){return In}if(Wt==="localhost"){Wt=""}this.url.host=Wt;if(this.stateOverride){return false}this.buffer="";this.state="path start"}}else{this.buffer+=Pt}return true};URLStateMachine.prototype["parse path start"]=function parsePathStart(Wt){if(isSpecial(this.url)){if(Wt===92){this.parseError=true}this.state="path";if(Wt!==47&&Wt!==92){--this.pointer}}else if(!this.stateOverride&&Wt===63){this.url.query="";this.state="query"}else if(!this.stateOverride&&Wt===35){this.url.fragment="";this.state="fragment"}else if(Wt!==undefined){this.state="path";if(Wt!==47){--this.pointer}}return true};URLStateMachine.prototype["parse path"]=function parsePath(Wt){if(isNaN(Wt)||Wt===47||isSpecial(this.url)&&Wt===92||!this.stateOverride&&(Wt===63||Wt===35)){if(isSpecial(this.url)&&Wt===92){this.parseError=true}if(isDoubleDot(this.buffer)){shortenPath(this.url);if(Wt!==47&&!(isSpecial(this.url)&&Wt===92)){this.url.path.push("")}}else if(isSingleDot(this.buffer)&&Wt!==47&&!(isSpecial(this.url)&&Wt===92)){this.url.path.push("")}else if(!isSingleDot(this.buffer)){if(this.url.scheme==="file"&&this.url.path.length===0&&isWindowsDriveLetterString(this.buffer)){if(this.url.host!==""&&this.url.host!==null){this.parseError=true;this.url.host=""}this.buffer=this.buffer[0]+":"}this.url.path.push(this.buffer)}this.buffer="";if(this.url.scheme==="file"&&(Wt===undefined||Wt===63||Wt===35)){while(this.url.path.length>1&&this.url.path[0]===""){this.parseError=true;this.url.path.shift()}}if(Wt===63){this.url.query="";this.state="query"}if(Wt===35){this.url.fragment="";this.state="fragment"}}else{if(Wt===37&&(!isASCIIHex(this.input[this.pointer+1])||!isASCIIHex(this.input[this.pointer+2]))){this.parseError=true}this.buffer+=percentEncodeChar(Wt,isPathPercentEncode)}return true};URLStateMachine.prototype["parse cannot-be-a-base-URL path"]=function parseCannotBeABaseURLPath(Wt){if(Wt===63){this.url.query="";this.state="query"}else if(Wt===35){this.url.fragment="";this.state="fragment"}else{if(!isNaN(Wt)&&Wt!==37){this.parseError=true}if(Wt===37&&(!isASCIIHex(this.input[this.pointer+1])||!isASCIIHex(this.input[this.pointer+2]))){this.parseError=true}if(!isNaN(Wt)){this.url.path[0]=this.url.path[0]+percentEncodeChar(Wt,isC0ControlPercentEncode)}}return true};URLStateMachine.prototype["parse query"]=function parseQuery(Wt,Pt){if(isNaN(Wt)||!this.stateOverride&&Wt===35){if(!isSpecial(this.url)||this.url.scheme==="ws"||this.url.scheme==="wss"){this.encodingOverride="utf-8"}const Pt=new Buffer(this.buffer);for(let Wt=0;Wt126||Pt[Wt]===34||Pt[Wt]===35||Pt[Wt]===60||Pt[Wt]===62){this.url.query+=percentEncode(Pt[Wt])}else{this.url.query+=String.fromCodePoint(Pt[Wt])}}this.buffer="";if(Wt===35){this.url.fragment="";this.state="fragment"}}else{if(Wt===37&&(!isASCIIHex(this.input[this.pointer+1])||!isASCIIHex(this.input[this.pointer+2]))){this.parseError=true}this.buffer+=Pt}return true};URLStateMachine.prototype["parse fragment"]=function parseFragment(Wt){if(isNaN(Wt)){}else if(Wt===0){this.parseError=true}else{if(Wt===37&&(!isASCIIHex(this.input[this.pointer+1])||!isASCIIHex(this.input[this.pointer+2]))){this.parseError=true}this.url.fragment+=percentEncodeChar(Wt,isC0ControlPercentEncode)}return true};function serializeURL(Wt,Pt){let en=Wt.scheme+":";if(Wt.host!==null){en+="//";if(Wt.username!==""||Wt.password!==""){en+=Wt.username;if(Wt.password!==""){en+=":"+Wt.password}en+="@"}en+=serializeHost(Wt.host);if(Wt.port!==null){en+=":"+Wt.port}}else if(Wt.host===null&&Wt.scheme==="file"){en+="//"}if(Wt.cannotBeABaseURL){en+=Wt.path[0]}else{for(const Pt of Wt.path){en+="/"+Pt}}if(Wt.query!==null){en+="?"+Wt.query}if(!Pt&&Wt.fragment!==null){en+="#"+Wt.fragment}return en}function serializeOrigin(Wt){let Pt=Wt.scheme+"://";Pt+=serializeHost(Wt.host);if(Wt.port!==null){Pt+=":"+Wt.port}return Pt}Wt.exports.serializeURL=serializeURL;Wt.exports.serializeURLOrigin=function(Pt){switch(Pt.scheme){case"blob":try{return Wt.exports.serializeURLOrigin(Wt.exports.parseURL(Pt.path[0]))}catch(Wt){return"null"}case"ftp":case"gopher":case"http":case"https":case"ws":case"wss":return serializeOrigin({scheme:Pt.scheme,host:Pt.host,port:Pt.port});case"file":return"file://";default:return"null"}};Wt.exports.basicURLParse=function(Wt,Pt){if(Pt===undefined){Pt={}}const en=new URLStateMachine(Wt,Pt.baseURL,Pt.encodingOverride,Pt.url,Pt.stateOverride);if(en.failure){return"failure"}return en.url};Wt.exports.setTheUsername=function(Wt,Pt){Wt.username="";const en=tn.ucs2.decode(Pt);for(let Pt=0;Pt{Wt.exports.mixin=function mixin(Wt,Pt){const en=Object.getOwnPropertyNames(Pt);for(let tn=0;tn{var tn=en(24876);var nn=en(63625);var an={TRANSITIONAL:0,NONTRANSITIONAL:1};function normalize(Wt){return Wt.split("\0").map((function(Wt){return Wt.normalize("NFC")})).join("\0")}function findStatus(Wt){var Pt=0;var en=nn.length-1;while(Pt<=en){var tn=Math.floor((Pt+en)/2);var an=nn[tn];if(an[0][0]<=Wt&&an[0][1]>=Wt){return an}else if(an[0][0]>Wt){en=tn-1}else{Pt=tn+1}}return null}var In=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g;function countSymbols(Wt){return Wt.replace(In,"_").length}function mapChars(Wt,Pt,en){var tn=false;var nn="";var In=countSymbols(Wt);for(var rn=0;rn253||rn.length===0){an.error=true}for(var sn=0;sn63||In.length===0){an.error=true;break}}}if(an.error)return null;return In.join(".")};Wt.exports.toUnicode=function(Wt,Pt){var en=processing(Wt,Pt,an.NONTRANSITIONAL);return{domain:en.string,error:en.error}};Wt.exports.PROCESSING_OPTIONS=an},66222:Wt=>{var Pt={};Wt.exports=Pt;function sign(Wt){return Wt<0?-1:1}function evenRound(Wt){if(Wt%1===.5&&(Wt&1)===0){return Math.floor(Wt)}else{return Math.round(Wt)}}function createNumberConversion(Wt,Pt){if(!Pt.unsigned){--Wt}const en=Pt.unsigned?0:-Math.pow(2,Wt);const tn=Math.pow(2,Wt)-1;const nn=Pt.moduloBitLength?Math.pow(2,Pt.moduloBitLength):Math.pow(2,Wt);const an=Pt.moduloBitLength?Math.pow(2,Pt.moduloBitLength-1):Math.pow(2,Wt-1);return function(Wt,In){if(!In)In={};let rn=+Wt;if(In.enforceRange){if(!Number.isFinite(rn)){throw new TypeError("Argument is not a finite number")}rn=sign(rn)*Math.floor(Math.abs(rn));if(rntn){throw new TypeError("Argument is not in byte range")}return rn}if(!isNaN(rn)&&In.clamp){rn=evenRound(rn);if(rntn)rn=tn;return rn}if(!Number.isFinite(rn)||rn===0){return 0}rn=sign(rn)*Math.floor(Math.abs(rn));rn=rn%nn;if(!Pt.unsigned&&rn>=an){return rn-nn}else if(Pt.unsigned){if(rn<0){rn+=nn}else if(rn===-0){return 0}}return rn}}Pt["void"]=function(){return undefined};Pt["boolean"]=function(Wt){return!!Wt};Pt["byte"]=createNumberConversion(8,{unsigned:false});Pt["octet"]=createNumberConversion(8,{unsigned:true});Pt["short"]=createNumberConversion(16,{unsigned:false});Pt["unsigned short"]=createNumberConversion(16,{unsigned:true});Pt["long"]=createNumberConversion(32,{unsigned:false});Pt["unsigned long"]=createNumberConversion(32,{unsigned:true});Pt["long long"]=createNumberConversion(32,{unsigned:false,moduloBitLength:64});Pt["unsigned long long"]=createNumberConversion(32,{unsigned:true,moduloBitLength:64});Pt["double"]=function(Wt){const Pt=+Wt;if(!Number.isFinite(Pt)){throw new TypeError("Argument is not a finite floating-point value")}return Pt};Pt["unrestricted double"]=function(Wt){const Pt=+Wt;if(isNaN(Pt)){throw new TypeError("Argument is NaN")}return Pt};Pt["float"]=Pt["double"];Pt["unrestricted float"]=Pt["unrestricted double"];Pt["DOMString"]=function(Wt,Pt){if(!Pt)Pt={};if(Pt.treatNullAsEmptyString&&Wt===null){return""}return String(Wt)};Pt["ByteString"]=function(Wt,Pt){const en=String(Wt);let tn=undefined;for(let Wt=0;(tn=en.codePointAt(Wt))!==undefined;++Wt){if(tn>255){throw new TypeError("Argument is not a valid bytestring")}}return en};Pt["USVString"]=function(Wt){const Pt=String(Wt);const en=Pt.length;const tn=[];for(let Wt=0;Wt57343){tn.push(String.fromCodePoint(nn))}else if(56320<=nn&&nn<=57343){tn.push(String.fromCodePoint(65533))}else{if(Wt===en-1){tn.push(String.fromCodePoint(65533))}else{const en=Pt.charCodeAt(Wt+1);if(56320<=en&&en<=57343){const Pt=nn&1023;const an=en&1023;tn.push(String.fromCodePoint((2<<15)+(2<<9)*Pt+an));++Wt}else{tn.push(String.fromCodePoint(65533))}}}}return tn.join("")};Pt["Date"]=function(Wt,Pt){if(!(Wt instanceof Date)){throw new TypeError("Argument is not a Date object")}if(isNaN(Wt)){return undefined}return Wt};Pt["RegExp"]=function(Wt,Pt){if(!(Wt instanceof RegExp)){Wt=new RegExp(Wt)}return Wt}},18629:Wt=>{const Pt=2147483647;const en=36;const tn=1;const nn=26;const an=38;const In=700;const rn=72;const sn=128;const on="-";const cn=/^xn--/;const dn=/[^\0-\x7F]/;const un=/[\x2E\u3002\uFF0E\uFF61]/g;const pn={overflow:"Overflow: input needs wider integers to process","not-basic":"Illegal input >= 0x80 (not a basic code point)","invalid-input":"Invalid input"};const mn=en-tn;const bn=Math.floor;const Gn=String.fromCharCode;function error(Wt){throw new RangeError(pn[Wt])}function map(Wt,Pt){const en=[];let tn=Wt.length;while(tn--){en[tn]=Pt(Wt[tn])}return en}function mapDomain(Wt,Pt){const en=Wt.split("@");let tn="";if(en.length>1){tn=en[0]+"@";Wt=en[1]}Wt=Wt.replace(un,".");const nn=Wt.split(".");const an=map(nn,Pt).join(".");return tn+an}function ucs2decode(Wt){const Pt=[];let en=0;const tn=Wt.length;while(en=55296&&nn<=56319&&enString.fromCodePoint(...Wt);const basicToDigit=function(Wt){if(Wt>=48&&Wt<58){return 26+(Wt-48)}if(Wt>=65&&Wt<91){return Wt-65}if(Wt>=97&&Wt<123){return Wt-97}return en};const digitToBasic=function(Wt,Pt){return Wt+22+75*(Wt<26)-((Pt!=0)<<5)};const adapt=function(Wt,Pt,tn){let rn=0;Wt=tn?bn(Wt/In):Wt>>1;Wt+=bn(Wt/Pt);for(;Wt>mn*nn>>1;rn+=en){Wt=bn(Wt/mn)}return bn(rn+(mn+1)*Wt/(Wt+an))};const decode=function(Wt){const an=[];const In=Wt.length;let cn=0;let dn=sn;let un=rn;let pn=Wt.lastIndexOf(on);if(pn<0){pn=0}for(let Pt=0;Pt=128){error("not-basic")}an.push(Wt.charCodeAt(Pt))}for(let rn=pn>0?pn+1:0;rn=In){error("invalid-input")}const on=basicToDigit(Wt.charCodeAt(rn++));if(on>=en){error("invalid-input")}if(on>bn((Pt-cn)/an)){error("overflow")}cn+=on*an;const dn=sn<=un?tn:sn>=un+nn?nn:sn-un;if(onbn(Pt/pn)){error("overflow")}an*=pn}const on=an.length+1;un=adapt(cn-sn,on,sn==0);if(bn(cn/on)>Pt-dn){error("overflow")}dn+=bn(cn/on);cn%=on;an.splice(cn++,0,dn)}return String.fromCodePoint(...an)};const encode=function(Wt){const an=[];Wt=ucs2decode(Wt);const In=Wt.length;let cn=sn;let dn=0;let un=rn;for(const Pt of Wt){if(Pt<128){an.push(Gn(Pt))}}const pn=an.length;let mn=pn;if(pn){an.push(on)}while(mn=cn&&Ptbn((Pt-dn)/rn)){error("overflow")}dn+=(In-cn)*rn;cn=In;for(const In of Wt){if(InPt){error("overflow")}if(In===cn){let Wt=dn;for(let Pt=en;;Pt+=en){const In=Pt<=un?tn:Pt>=un+nn?nn:Pt-un;if(Wt{const Pt=2147483647;const en=36;const tn=1;const nn=26;const an=38;const In=700;const rn=72;const sn=128;const on="-";const cn=/^xn--/;const dn=/[^\0-\x7F]/;const un=/[\x2E\u3002\uFF0E\uFF61]/g;const pn={overflow:"Overflow: input needs wider integers to process","not-basic":"Illegal input >= 0x80 (not a basic code point)","invalid-input":"Invalid input"};const mn=en-tn;const bn=Math.floor;const Gn=String.fromCharCode;function error(Wt){throw new RangeError(pn[Wt])}function map(Wt,Pt){const en=[];let tn=Wt.length;while(tn--){en[tn]=Pt(Wt[tn])}return en}function mapDomain(Wt,Pt){const en=Wt.split("@");let tn="";if(en.length>1){tn=en[0]+"@";Wt=en[1]}Wt=Wt.replace(un,".");const nn=Wt.split(".");const an=map(nn,Pt).join(".");return tn+an}function ucs2decode(Wt){const Pt=[];let en=0;const tn=Wt.length;while(en=55296&&nn<=56319&&enString.fromCodePoint(...Wt);const basicToDigit=function(Wt){if(Wt>=48&&Wt<58){return 26+(Wt-48)}if(Wt>=65&&Wt<91){return Wt-65}if(Wt>=97&&Wt<123){return Wt-97}return en};const digitToBasic=function(Wt,Pt){return Wt+22+75*(Wt<26)-((Pt!=0)<<5)};const adapt=function(Wt,Pt,tn){let rn=0;Wt=tn?bn(Wt/In):Wt>>1;Wt+=bn(Wt/Pt);for(;Wt>mn*nn>>1;rn+=en){Wt=bn(Wt/mn)}return bn(rn+(mn+1)*Wt/(Wt+an))};const decode=function(Wt){const an=[];const In=Wt.length;let cn=0;let dn=sn;let un=rn;let pn=Wt.lastIndexOf(on);if(pn<0){pn=0}for(let Pt=0;Pt=128){error("not-basic")}an.push(Wt.charCodeAt(Pt))}for(let rn=pn>0?pn+1:0;rn=In){error("invalid-input")}const on=basicToDigit(Wt.charCodeAt(rn++));if(on>=en){error("invalid-input")}if(on>bn((Pt-cn)/an)){error("overflow")}cn+=on*an;const dn=sn<=un?tn:sn>=un+nn?nn:sn-un;if(onbn(Pt/pn)){error("overflow")}an*=pn}const on=an.length+1;un=adapt(cn-sn,on,sn==0);if(bn(cn/on)>Pt-dn){error("overflow")}dn+=bn(cn/on);cn%=on;an.splice(cn++,0,dn)}return String.fromCodePoint(...an)};const encode=function(Wt){const an=[];Wt=ucs2decode(Wt);const In=Wt.length;let cn=sn;let dn=0;let un=rn;for(const Pt of Wt){if(Pt<128){an.push(Gn(Pt))}}const pn=an.length;let mn=pn;if(pn){an.push(on)}while(mn=cn&&Ptbn((Pt-dn)/rn)){error("overflow")}dn+=(In-cn)*rn;cn=In;for(const In of Wt){if(InPt){error("overflow")}if(In===cn){let Wt=dn;for(let Pt=en;;Pt+=en){const In=Pt<=un?tn:Pt>=un+nn?nn:Pt-un;if(Wt{var en=Object.prototype.hasOwnProperty,tn;function decode(Wt){try{return decodeURIComponent(Wt.replace(/\+/g," "))}catch(Wt){return null}}function encode(Wt){try{return encodeURIComponent(Wt)}catch(Wt){return null}}function querystring(Wt){var Pt=/([^=?#&]+)=?([^&]*)/g,en={},tn;while(tn=Pt.exec(Wt)){var nn=decode(tn[1]),an=decode(tn[2]);if(nn===null||an===null||nn in en)continue;en[nn]=an}return en}function querystringify(Wt,Pt){Pt=Pt||"";var nn=[],an,In;if("string"!==typeof Pt)Pt="?";for(In in Wt){if(en.call(Wt,In)){an=Wt[In];if(!an&&(an===null||an===tn||isNaN(an))){an=""}In=encode(In);an=encode(an);if(In===null||an===null)continue;nn.push(In+"="+an)}}return nn.length?Pt+nn.join("&"):""}Pt.stringify=querystringify;Pt.parse=querystring},76120:Wt=>{Wt.exports=function required(Wt,Pt){Pt=Pt.split(":")[0];Wt=+Wt;if(!Wt)return false;switch(Pt){case"http":case"ws":return Wt!==80;case"https":case"wss":return Wt!==443;case"ftp":return Wt!==21;case"gopher":return Wt!==70;case"file":return false}return Wt!==0}},77888:(Wt,Pt,en)=>{var tn={CSSRule:en(36777).CSSRule,CSSGroupingRule:en(5376).CSSGroupingRule};tn.CSSConditionRule=function CSSConditionRule(){tn.CSSGroupingRule.call(this);this.cssRules=[]};tn.CSSConditionRule.prototype=new tn.CSSGroupingRule;tn.CSSConditionRule.prototype.constructor=tn.CSSConditionRule;tn.CSSConditionRule.prototype.conditionText="";tn.CSSConditionRule.prototype.cssText="";Pt.CSSConditionRule=tn.CSSConditionRule},13236:(Wt,Pt,en)=>{var tn={CSSRule:en(36777).CSSRule,MatcherList:en(84094).MatcherList};tn.CSSDocumentRule=function CSSDocumentRule(){tn.CSSRule.call(this);this.matcher=new tn.MatcherList;this.cssRules=[]};tn.CSSDocumentRule.prototype=new tn.CSSRule;tn.CSSDocumentRule.prototype.constructor=tn.CSSDocumentRule;tn.CSSDocumentRule.prototype.type=10;Object.defineProperty(tn.CSSDocumentRule.prototype,"cssText",{get:function(){var Wt=[];for(var Pt=0,en=this.cssRules.length;Pt{var tn={CSSStyleDeclaration:en(79784).CSSStyleDeclaration,CSSRule:en(36777).CSSRule};tn.CSSFontFaceRule=function CSSFontFaceRule(){tn.CSSRule.call(this);this.style=new tn.CSSStyleDeclaration;this.style.parentRule=this};tn.CSSFontFaceRule.prototype=new tn.CSSRule;tn.CSSFontFaceRule.prototype.constructor=tn.CSSFontFaceRule;tn.CSSFontFaceRule.prototype.type=5;Object.defineProperty(tn.CSSFontFaceRule.prototype,"cssText",{get:function(){return"@font-face {"+this.style.cssText+"}"}});Pt.CSSFontFaceRule=tn.CSSFontFaceRule},5376:(Wt,Pt,en)=>{var tn={CSSRule:en(36777).CSSRule,parse:en(7571).parse};tn.CSSGroupingRule=function CSSGroupingRule(){tn.CSSRule.call(this);this.cssRules=[]};tn.CSSGroupingRule.prototype=new tn.CSSRule;tn.CSSGroupingRule.prototype.constructor=tn.CSSGroupingRule;tn.CSSGroupingRule.prototype.insertRule=function insertRule(Wt,Pt){if(Pt<0||Pt>this.cssRules.length){throw new RangeError("INDEX_SIZE_ERR")}var en=tn.parse(Wt).cssRules[0];en.parentRule=this;this.cssRules.splice(Pt,0,en);return Pt};tn.CSSGroupingRule.prototype.deleteRule=function deleteRule(Wt){if(Wt<0||Wt>=this.cssRules.length){throw new RangeError("INDEX_SIZE_ERR")}this.cssRules.splice(Wt,1)[0].parentRule=null};Pt.CSSGroupingRule=tn.CSSGroupingRule},42155:(Wt,Pt,en)=>{var tn={CSSRule:en(36777).CSSRule};tn.CSSHostRule=function CSSHostRule(){tn.CSSRule.call(this);this.cssRules=[]};tn.CSSHostRule.prototype=new tn.CSSRule;tn.CSSHostRule.prototype.constructor=tn.CSSHostRule;tn.CSSHostRule.prototype.type=1001;Object.defineProperty(tn.CSSHostRule.prototype,"cssText",{get:function(){var Wt=[];for(var Pt=0,en=this.cssRules.length;Pt{var tn={CSSRule:en(36777).CSSRule,CSSStyleSheet:en(1951).CSSStyleSheet,MediaList:en(76752).MediaList};tn.CSSImportRule=function CSSImportRule(){tn.CSSRule.call(this);this.href="";this.media=new tn.MediaList;this.styleSheet=new tn.CSSStyleSheet};tn.CSSImportRule.prototype=new tn.CSSRule;tn.CSSImportRule.prototype.constructor=tn.CSSImportRule;tn.CSSImportRule.prototype.type=3;Object.defineProperty(tn.CSSImportRule.prototype,"cssText",{get:function(){var Wt=this.media.mediaText;return"@import url("+this.href+")"+(Wt?" "+Wt:"")+";"},set:function(Wt){var Pt=0;var en="";var tn="";var nn;for(var an;an=Wt.charAt(Pt);Pt++){switch(an){case" ":case"\t":case"\r":case"\n":case"\f":if(en==="after-import"){en="url"}else{tn+=an}break;case"@":if(!en&&Wt.indexOf("@import",Pt)===Pt){en="after-import";Pt+="import".length;tn=""}break;case"u":if(en==="url"&&Wt.indexOf("url(",Pt)===Pt){nn=Wt.indexOf(")",Pt+1);if(nn===-1){throw Pt+': ")" not found'}Pt+="url(".length;var In=Wt.slice(Pt,nn);if(In[0]===In[In.length-1]){if(In[0]==='"'||In[0]==="'"){In=In.slice(1,-1)}}this.href=In;Pt=nn;en="media"}break;case'"':if(en==="url"){nn=Wt.indexOf('"',Pt+1);if(!nn){throw Pt+": '\"' not found"}this.href=Wt.slice(Pt+1,nn);Pt=nn;en="media"}break;case"'":if(en==="url"){nn=Wt.indexOf("'",Pt+1);if(!nn){throw Pt+': "\'" not found'}this.href=Wt.slice(Pt+1,nn);Pt=nn;en="media"}break;case";":if(en==="media"){if(tn){this.media.mediaText=tn.trim()}}break;default:if(en==="media"){tn+=an}break}}}});Pt.CSSImportRule=tn.CSSImportRule},44493:(Wt,Pt,en)=>{var tn={CSSRule:en(36777).CSSRule,CSSStyleDeclaration:en(79784).CSSStyleDeclaration};tn.CSSKeyframeRule=function CSSKeyframeRule(){tn.CSSRule.call(this);this.keyText="";this.style=new tn.CSSStyleDeclaration;this.style.parentRule=this};tn.CSSKeyframeRule.prototype=new tn.CSSRule;tn.CSSKeyframeRule.prototype.constructor=tn.CSSKeyframeRule;tn.CSSKeyframeRule.prototype.type=8;Object.defineProperty(tn.CSSKeyframeRule.prototype,"cssText",{get:function(){return this.keyText+" {"+this.style.cssText+"} "}});Pt.CSSKeyframeRule=tn.CSSKeyframeRule},95776:(Wt,Pt,en)=>{var tn={CSSRule:en(36777).CSSRule};tn.CSSKeyframesRule=function CSSKeyframesRule(){tn.CSSRule.call(this);this.name="";this.cssRules=[]};tn.CSSKeyframesRule.prototype=new tn.CSSRule;tn.CSSKeyframesRule.prototype.constructor=tn.CSSKeyframesRule;tn.CSSKeyframesRule.prototype.type=7;Object.defineProperty(tn.CSSKeyframesRule.prototype,"cssText",{get:function(){var Wt=[];for(var Pt=0,en=this.cssRules.length;Pt{var tn={CSSRule:en(36777).CSSRule,CSSGroupingRule:en(5376).CSSGroupingRule,CSSConditionRule:en(77888).CSSConditionRule,MediaList:en(76752).MediaList};tn.CSSMediaRule=function CSSMediaRule(){tn.CSSConditionRule.call(this);this.media=new tn.MediaList};tn.CSSMediaRule.prototype=new tn.CSSConditionRule;tn.CSSMediaRule.prototype.constructor=tn.CSSMediaRule;tn.CSSMediaRule.prototype.type=4;Object.defineProperties(tn.CSSMediaRule.prototype,{conditionText:{get:function(){return this.media.mediaText},set:function(Wt){this.media.mediaText=Wt},configurable:true,enumerable:true},cssText:{get:function(){var Wt=[];for(var Pt=0,en=this.cssRules.length;Pt{var en={};en.CSSRule=function CSSRule(){this.parentRule=null;this.parentStyleSheet=null};en.CSSRule.UNKNOWN_RULE=0;en.CSSRule.STYLE_RULE=1;en.CSSRule.CHARSET_RULE=2;en.CSSRule.IMPORT_RULE=3;en.CSSRule.MEDIA_RULE=4;en.CSSRule.FONT_FACE_RULE=5;en.CSSRule.PAGE_RULE=6;en.CSSRule.KEYFRAMES_RULE=7;en.CSSRule.KEYFRAME_RULE=8;en.CSSRule.MARGIN_RULE=9;en.CSSRule.NAMESPACE_RULE=10;en.CSSRule.COUNTER_STYLE_RULE=11;en.CSSRule.SUPPORTS_RULE=12;en.CSSRule.DOCUMENT_RULE=13;en.CSSRule.FONT_FEATURE_VALUES_RULE=14;en.CSSRule.VIEWPORT_RULE=15;en.CSSRule.REGION_STYLE_RULE=16;en.CSSRule.prototype={constructor:en.CSSRule};Pt.CSSRule=en.CSSRule},79784:(Wt,Pt,en)=>{var tn={};tn.CSSStyleDeclaration=function CSSStyleDeclaration(){this.length=0;this.parentRule=null;this._importants={}};tn.CSSStyleDeclaration.prototype={constructor:tn.CSSStyleDeclaration,getPropertyValue:function(Wt){return this[Wt]||""},setProperty:function(Wt,Pt,en){if(this[Wt]){var tn=Array.prototype.indexOf.call(this,Wt);if(tn<0){this[this.length]=Wt;this.length++}}else{this[this.length]=Wt;this.length++}this[Wt]=Pt+"";this._importants[Wt]=en},removeProperty:function(Wt){if(!(Wt in this)){return""}var Pt=Array.prototype.indexOf.call(this,Wt);if(Pt<0){return""}var en=this[Wt];this[Wt]="";Array.prototype.splice.call(this,Pt,1);return en},getPropertyCSSValue:function(){},getPropertyPriority:function(Wt){return this._importants[Wt]||""},getPropertyShorthand:function(){},isPropertyImplicit:function(){},get cssText(){var Wt=[];for(var Pt=0,en=this.length;Pt{var tn={CSSStyleDeclaration:en(79784).CSSStyleDeclaration,CSSRule:en(36777).CSSRule};tn.CSSStyleRule=function CSSStyleRule(){tn.CSSRule.call(this);this.selectorText="";this.style=new tn.CSSStyleDeclaration;this.style.parentRule=this};tn.CSSStyleRule.prototype=new tn.CSSRule;tn.CSSStyleRule.prototype.constructor=tn.CSSStyleRule;tn.CSSStyleRule.prototype.type=1;Object.defineProperty(tn.CSSStyleRule.prototype,"cssText",{get:function(){var Wt;if(this.selectorText){Wt=this.selectorText+" {"+this.style.cssText+"}"}else{Wt=""}return Wt},set:function(Wt){var Pt=tn.CSSStyleRule.parse(Wt);this.style=Pt.style;this.selectorText=Pt.selectorText}});tn.CSSStyleRule.parse=function(Wt){var Pt=0;var en="selector";var nn;var an=Pt;var In="";var rn={selector:true,value:true};var sn=new tn.CSSStyleRule;var on,cn="";for(var dn;dn=Wt.charAt(Pt);Pt++){switch(dn){case" ":case"\t":case"\r":case"\n":case"\f":if(rn[en]){switch(Wt.charAt(Pt-1)){case" ":case"\t":case"\r":case"\n":case"\f":break;default:In+=" ";break}}break;case'"':an=Pt+1;nn=Wt.indexOf('"',an)+1;if(!nn){throw'" is missing'}In+=Wt.slice(Pt,nn);Pt=nn-1;break;case"'":an=Pt+1;nn=Wt.indexOf("'",an)+1;if(!nn){throw"' is missing"}In+=Wt.slice(Pt,nn);Pt=nn-1;break;case"/":if(Wt.charAt(Pt+1)==="*"){Pt+=2;nn=Wt.indexOf("*/",Pt);if(nn===-1){throw new SyntaxError("Missing */")}else{Pt=nn+1}}else{In+=dn}break;case"{":if(en==="selector"){sn.selectorText=In.trim();In="";en="name"}break;case":":if(en==="name"){on=In.trim();In="";en="value"}else{In+=dn}break;case"!":if(en==="value"&&Wt.indexOf("!important",Pt)===Pt){cn="important";Pt+="important".length}else{In+=dn}break;case";":if(en==="value"){sn.style.setProperty(on,In.trim(),cn);cn="";In="";en="name"}else{In+=dn}break;case"}":if(en==="value"){sn.style.setProperty(on,In.trim(),cn);cn="";In=""}else if(en==="name"){break}else{In+=dn}en="selector";break;default:In+=dn;break}}return sn};Pt.CSSStyleRule=tn.CSSStyleRule},1951:(Wt,Pt,en)=>{var tn={StyleSheet:en(19418).StyleSheet,CSSStyleRule:en(54008).CSSStyleRule};tn.CSSStyleSheet=function CSSStyleSheet(){tn.StyleSheet.call(this);this.cssRules=[]};tn.CSSStyleSheet.prototype=new tn.StyleSheet;tn.CSSStyleSheet.prototype.constructor=tn.CSSStyleSheet;tn.CSSStyleSheet.prototype.insertRule=function(Wt,Pt){if(Pt<0||Pt>this.cssRules.length){throw new RangeError("INDEX_SIZE_ERR")}var en=tn.parse(Wt).cssRules[0];en.parentStyleSheet=this;this.cssRules.splice(Pt,0,en);return Pt};tn.CSSStyleSheet.prototype.deleteRule=function(Wt){if(Wt<0||Wt>=this.cssRules.length){throw new RangeError("INDEX_SIZE_ERR")}this.cssRules.splice(Wt,1)};tn.CSSStyleSheet.prototype.toString=function(){var Wt="";var Pt=this.cssRules;for(var en=0;en{var tn={CSSRule:en(36777).CSSRule,CSSGroupingRule:en(5376).CSSGroupingRule,CSSConditionRule:en(77888).CSSConditionRule};tn.CSSSupportsRule=function CSSSupportsRule(){tn.CSSConditionRule.call(this)};tn.CSSSupportsRule.prototype=new tn.CSSConditionRule;tn.CSSSupportsRule.prototype.constructor=tn.CSSSupportsRule;tn.CSSSupportsRule.prototype.type=12;Object.defineProperty(tn.CSSSupportsRule.prototype,"cssText",{get:function(){var Wt=[];for(var Pt=0,en=this.cssRules.length;Pt{var en={};en.CSSValue=function CSSValue(){};en.CSSValue.prototype={constructor:en.CSSValue,set cssText(Wt){var Pt=this._getConstructorName();throw new Error('DOMException: property "cssText" of "'+Pt+'" is readonly and can not be replaced with "'+Wt+'"!')},get cssText(){var Wt=this._getConstructorName();throw new Error('getter "cssText" of "'+Wt+'" is not implemented!')},_getConstructorName:function(){var Wt=this.constructor.toString(),Pt=Wt.match(/function\s([^\(]+)/),en=Pt[1];return en}};Pt.CSSValue=en.CSSValue},68:(Wt,Pt,en)=>{var tn={CSSValue:en(32362).CSSValue};tn.CSSValueExpression=function CSSValueExpression(Wt,Pt){this._token=Wt;this._idx=Pt};tn.CSSValueExpression.prototype=new tn.CSSValue;tn.CSSValueExpression.prototype.constructor=tn.CSSValueExpression;tn.CSSValueExpression.prototype.parse=function(){var Wt=this._token,Pt=this._idx;var en="",tn="",nn="",an,In=[];for(;;++Pt){en=Wt.charAt(Pt);if(en===""){nn="css expression error: unfinished expression!";break}switch(en){case"(":In.push(en);tn+=en;break;case")":In.pop(en);tn+=en;break;case"/":if(an=this._parseJSComment(Wt,Pt)){if(an.error){nn="css expression error: unfinished comment in expression!"}else{Pt=an.idx}}else if(an=this._parseJSRexExp(Wt,Pt)){Pt=an.idx;tn+=an.text}else{tn+=en}break;case"'":case'"':an=this._parseJSString(Wt,Pt,en);if(an){Pt=an.idx;tn+=an.text}else{tn+=en}break;default:tn+=en;break}if(nn){break}if(In.length===0){break}}var rn;if(nn){rn={error:nn}}else{rn={idx:Pt,expression:tn}}return rn};tn.CSSValueExpression.prototype._parseJSComment=function(Wt,Pt){var en=Wt.charAt(Pt+1),tn;if(en==="/"||en==="*"){var nn=Pt,an,In;if(en==="/"){In="\n"}else if(en==="*"){In="*/"}an=Wt.indexOf(In,nn+1+1);if(an!==-1){an=an+In.length-1;tn=Wt.substring(Pt,an+1);return{idx:an,text:tn}}else{var rn="css expression error: unfinished comment in expression!";return{error:rn}}}else{return false}};tn.CSSValueExpression.prototype._parseJSString=function(Wt,Pt,en){var tn=this._findMatchedIdx(Wt,Pt,en),nn;if(tn===-1){return false}else{nn=Wt.substring(Pt,tn+en.length);return{idx:tn,text:nn}}};tn.CSSValueExpression.prototype._parseJSRexExp=function(Wt,Pt){var en=Wt.substring(0,Pt).replace(/\s+$/,""),tn=[/^$/,/\($/,/\[$/,/\!$/,/\+$/,/\-$/,/\*$/,/\/\s+/,/\%$/,/\=$/,/\>$/,/<$/,/\&$/,/\|$/,/\^$/,/\~$/,/\?$/,/\,$/,/delete$/,/in$/,/instanceof$/,/new$/,/typeof$/,/void$/];var nn=tn.some((function(Wt){return Wt.test(en)}));if(!nn){return false}else{var an="/";return this._parseJSString(Wt,Pt,an)}};tn.CSSValueExpression.prototype._findMatchedIdx=function(Wt,Pt,en){var tn=Pt,nn;var an=-1;while(true){nn=Wt.indexOf(en,tn+1);if(nn===-1){nn=an;break}else{var In=Wt.substring(Pt+1,nn),rn=In.match(/\\+$/);if(!rn||rn[0]%2===0){break}else{tn=nn}}}var sn=Wt.indexOf("\n",Pt+1);if(sn{var en={};en.MatcherList=function MatcherList(){this.length=0};en.MatcherList.prototype={constructor:en.MatcherList,get matcherText(){return Array.prototype.join.call(this,", ")},set matcherText(Wt){var Pt=Wt.split(",");var en=this.length=Pt.length;for(var tn=0;tn{var en={};en.MediaList=function MediaList(){this.length=0};en.MediaList.prototype={constructor:en.MediaList,get mediaText(){return Array.prototype.join.call(this,", ")},set mediaText(Wt){var Pt=Wt.split(",");var en=this.length=Pt.length;for(var tn=0;tn{var en={};en.StyleSheet=function StyleSheet(){this.parentStyleSheet=null};Pt.StyleSheet=en.StyleSheet},39869:(Wt,Pt,en)=>{var tn={CSSStyleSheet:en(1951).CSSStyleSheet,CSSRule:en(36777).CSSRule,CSSStyleRule:en(54008).CSSStyleRule,CSSGroupingRule:en(5376).CSSGroupingRule,CSSConditionRule:en(77888).CSSConditionRule,CSSMediaRule:en(4429).CSSMediaRule,CSSSupportsRule:en(24557).CSSSupportsRule,CSSStyleDeclaration:en(79784).CSSStyleDeclaration,CSSKeyframeRule:en(44493).CSSKeyframeRule,CSSKeyframesRule:en(95776).CSSKeyframesRule};tn.clone=function clone(Wt){var Pt=new tn.CSSStyleSheet;var en=Wt.cssRules;if(!en){return Pt}for(var nn=0,an=en.length;nn{Pt.CSSStyleDeclaration=en(79784).CSSStyleDeclaration;Pt.CSSRule=en(36777).CSSRule;Pt.CSSGroupingRule=en(5376).CSSGroupingRule;Pt.CSSConditionRule=en(77888).CSSConditionRule;Pt.CSSStyleRule=en(54008).CSSStyleRule;Pt.MediaList=en(76752).MediaList;Pt.CSSMediaRule=en(4429).CSSMediaRule;Pt.CSSSupportsRule=en(24557).CSSSupportsRule;Pt.CSSImportRule=en(94488).CSSImportRule;Pt.CSSFontFaceRule=en(49149).CSSFontFaceRule;Pt.CSSHostRule=en(42155).CSSHostRule;Pt.StyleSheet=en(19418).StyleSheet;Pt.CSSStyleSheet=en(1951).CSSStyleSheet;Pt.CSSKeyframesRule=en(95776).CSSKeyframesRule;Pt.CSSKeyframeRule=en(44493).CSSKeyframeRule;Pt.MatcherList=en(84094).MatcherList;Pt.CSSDocumentRule=en(13236).CSSDocumentRule;Pt.CSSValue=en(32362).CSSValue;Pt.CSSValueExpression=en(68).CSSValueExpression;Pt.parse=en(7571).parse;Pt.clone=en(39869).clone},7571:(Wt,Pt,en)=>{var tn={};tn.parse=function parse(Wt){var Pt=0;var en="before-selector";var nn;var an="";var In=0;var rn={selector:true,value:true,"value-parenthesis":true,atRule:true,"importRule-begin":true,importRule:true,atBlock:true,conditionBlock:true,"documentRule-begin":true};var sn=new tn.CSSStyleSheet;var on=sn;var cn;var dn=[];var un=false;var pn;var mn,bn="",Gn,hn,Zn,An,Wn,Nn,gn,yn;var vn=/@(-(?:\w+-)+)?keyframes/g;var parseError=function(en){var tn=Wt.substring(0,Pt).split("\n");var nn=tn.length;var an=tn.pop().length+1;var In=new Error(en+" (line "+nn+", char "+an+")");In.line=nn;In["char"]=an;In.styleSheet=sn;throw In};for(var Yn;Yn=Wt.charAt(Pt);Pt++){switch(Yn){case" ":case"\t":case"\r":case"\n":case"\f":if(rn[en]){an+=Yn}break;case'"':nn=Pt+1;do{nn=Wt.indexOf('"',nn)+1;if(!nn){parseError('Unmatched "')}}while(Wt[nn-2]==="\\");an+=Wt.slice(Pt,nn);Pt=nn-1;switch(en){case"before-value":en="value";break;case"importRule-begin":en="importRule";break}break;case"'":nn=Pt+1;do{nn=Wt.indexOf("'",nn)+1;if(!nn){parseError("Unmatched '")}}while(Wt[nn-2]==="\\");an+=Wt.slice(Pt,nn);Pt=nn-1;switch(en){case"before-value":en="value";break;case"importRule-begin":en="importRule";break}break;case"/":if(Wt.charAt(Pt+1)==="*"){Pt+=2;nn=Wt.indexOf("*/",Pt);if(nn===-1){parseError("Missing */")}else{Pt=nn+1}}else{an+=Yn}if(en==="importRule-begin"){an+=" ";en="importRule"}break;case"@":if(Wt.indexOf("@-moz-document",Pt)===Pt){en="documentRule-begin";gn=new tn.CSSDocumentRule;gn.__starts=Pt;Pt+="-moz-document".length;an="";break}else if(Wt.indexOf("@media",Pt)===Pt){en="atBlock";hn=new tn.CSSMediaRule;hn.__starts=Pt;Pt+="media".length;an="";break}else if(Wt.indexOf("@supports",Pt)===Pt){en="conditionBlock";Zn=new tn.CSSSupportsRule;Zn.__starts=Pt;Pt+="supports".length;an="";break}else if(Wt.indexOf("@host",Pt)===Pt){en="hostRule-begin";Pt+="host".length;yn=new tn.CSSHostRule;yn.__starts=Pt;an="";break}else if(Wt.indexOf("@import",Pt)===Pt){en="importRule-begin";Pt+="import".length;an+="@import";break}else if(Wt.indexOf("@font-face",Pt)===Pt){en="fontFaceRule-begin";Pt+="font-face".length;Wn=new tn.CSSFontFaceRule;Wn.__starts=Pt;an="";break}else{vn.lastIndex=Pt;var En=vn.exec(Wt);if(En&&En.index===Pt){en="keyframesRule-begin";Nn=new tn.CSSKeyframesRule;Nn.__starts=Pt;Nn._vendorPrefix=En[1];Pt+=En[0].length-1;an="";break}else if(en==="selector"){en="atRule"}}an+=Yn;break;case"{":if(en==="selector"||en==="atRule"){Gn.selectorText=an.trim();Gn.style.__starts=Pt;an="";en="before-name"}else if(en==="atBlock"){hn.media.mediaText=an.trim();if(cn){dn.push(cn)}on=cn=hn;hn.parentStyleSheet=sn;an="";en="before-selector"}else if(en==="conditionBlock"){Zn.conditionText=an.trim();if(cn){dn.push(cn)}on=cn=Zn;Zn.parentStyleSheet=sn;an="";en="before-selector"}else if(en==="hostRule-begin"){if(cn){dn.push(cn)}on=cn=yn;yn.parentStyleSheet=sn;an="";en="before-selector"}else if(en==="fontFaceRule-begin"){if(cn){Wn.parentRule=cn}Wn.parentStyleSheet=sn;Gn=Wn;an="";en="before-name"}else if(en==="keyframesRule-begin"){Nn.name=an.trim();if(cn){dn.push(cn);Nn.parentRule=cn}Nn.parentStyleSheet=sn;on=cn=Nn;an="";en="keyframeRule-begin"}else if(en==="keyframeRule-begin"){Gn=new tn.CSSKeyframeRule;Gn.keyText=an.trim();Gn.__starts=Pt;an="";en="before-name"}else if(en==="documentRule-begin"){gn.matcher.matcherText=an.trim();if(cn){dn.push(cn);gn.parentRule=cn}on=cn=gn;gn.parentStyleSheet=sn;an="";en="before-selector"}break;case":":if(en==="name"){mn=an.trim();an="";en="before-value"}else{an+=Yn}break;case"(":if(en==="value"){if(an.trim()==="expression"){var Vn=new tn.CSSValueExpression(Wt,Pt).parse();if(Vn.error){parseError(Vn.error)}else{an+=Vn.expression;Pt=Vn.idx}}else{en="value-parenthesis";In=1;an+=Yn}}else if(en==="value-parenthesis"){In++;an+=Yn}else{an+=Yn}break;case")":if(en==="value-parenthesis"){In--;if(In===0)en="value"}an+=Yn;break;case"!":if(en==="value"&&Wt.indexOf("!important",Pt)===Pt){bn="important";Pt+="important".length}else{an+=Yn}break;case";":switch(en){case"value":Gn.style.setProperty(mn,an.trim(),bn);bn="";an="";en="before-name";break;case"atRule":an="";en="before-selector";break;case"importRule":An=new tn.CSSImportRule;An.parentStyleSheet=An.styleSheet.parentStyleSheet=sn;An.cssText=an+Yn;sn.cssRules.push(An);an="";en="before-selector";break;default:an+=Yn;break}break;case"}":switch(en){case"value":Gn.style.setProperty(mn,an.trim(),bn);bn="";case"before-name":case"name":Gn.__ends=Pt+1;if(cn){Gn.parentRule=cn}Gn.parentStyleSheet=sn;on.cssRules.push(Gn);an="";if(on.constructor===tn.CSSKeyframesRule){en="keyframeRule-begin"}else{en="before-selector"}break;case"keyframeRule-begin":case"before-selector":case"selector":if(!cn){parseError("Unexpected }")}un=dn.length>0;while(dn.length>0){cn=dn.pop();if(cn.constructor.name==="CSSMediaRule"||cn.constructor.name==="CSSSupportsRule"){pn=on;on=cn;on.cssRules.push(pn);break}if(dn.length===0){un=false}}if(!un){on.__ends=Pt+1;sn.cssRules.push(on);on=sn;cn=null}an="";en="before-selector";break}break;default:switch(en){case"before-selector":en="selector";Gn=new tn.CSSStyleRule;Gn.__starts=Pt;break;case"before-name":en="name";break;case"before-value":en="value";break;case"importRule-begin":en="importRule";break}an+=Yn;break}}return sn};Pt.parse=tn.parse;tn.CSSStyleSheet=en(1951).CSSStyleSheet;tn.CSSStyleRule=en(54008).CSSStyleRule;tn.CSSImportRule=en(94488).CSSImportRule;tn.CSSGroupingRule=en(5376).CSSGroupingRule;tn.CSSMediaRule=en(4429).CSSMediaRule;tn.CSSConditionRule=en(77888).CSSConditionRule;tn.CSSSupportsRule=en(24557).CSSSupportsRule;tn.CSSFontFaceRule=en(49149).CSSFontFaceRule;tn.CSSHostRule=en(42155).CSSHostRule;tn.CSSStyleDeclaration=en(79784).CSSStyleDeclaration;tn.CSSKeyframeRule=en(44493).CSSKeyframeRule;tn.CSSKeyframesRule=en(95776).CSSKeyframesRule;tn.CSSValueExpression=en(68).CSSValueExpression;tn.CSSDocumentRule=en(13236).CSSDocumentRule},12803:(Wt,Pt,en)=>{var tn=en(20181);var nn=tn.Buffer;var an={};var In;for(In in tn){if(!tn.hasOwnProperty(In))continue;if(In==="SlowBuffer"||In==="Buffer")continue;an[In]=tn[In]}var rn=an.Buffer={};for(In in nn){if(!nn.hasOwnProperty(In))continue;if(In==="allocUnsafe"||In==="allocUnsafeSlow")continue;rn[In]=nn[In]}an.Buffer.prototype=nn.prototype;if(!rn.from||rn.from===Uint8Array.from){rn.from=function(Wt,Pt,en){if(typeof Wt==="number"){throw new TypeError('The "value" argument must not be of type number. Received type '+typeof Wt)}if(Wt&&typeof Wt.length==="undefined"){throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof Wt)}return nn(Wt,Pt,en)}}if(!rn.alloc){rn.alloc=function(Wt,Pt,en){if(typeof Wt!=="number"){throw new TypeError('The "size" argument must be of type number. Received type '+typeof Wt)}if(Wt<0||Wt>=2*(1<<30)){throw new RangeError('The value "'+Wt+'" is invalid for option "size"')}var tn=nn(Wt);if(!Pt||Pt.length===0){tn.fill(0)}else if(typeof en==="string"){tn.fill(Pt,en)}else{tn.fill(Pt)}return tn}}if(!an.kStringMaxLength){try{an.kStringMaxLength=process.binding("buffer").kStringMaxLength}catch(Wt){}}if(!an.constants){an.constants={MAX_LENGTH:an.kMaxLength};if(an.kStringMaxLength){an.constants.MAX_STRING_LENGTH=an.kStringMaxLength}}Wt.exports=an},59800:(Wt,Pt,en)=>{Object.defineProperty(Pt,"__esModule",{value:true});Pt.SaxesParser=Pt.EVENTS=void 0;const tn=en(96950);const nn=en(24488);const an=en(85699);var In=tn.isS;var rn=tn.isChar;var sn=tn.isNameStartChar;var on=tn.isNameChar;var cn=tn.S_LIST;var dn=tn.NAME_RE;var un=nn.isChar;var pn=an.isNCNameStartChar;var mn=an.isNCNameChar;var bn=an.NC_NAME_RE;const Gn="http://www.w3.org/XML/1998/namespace";const hn="http://www.w3.org/2000/xmlns/";const Zn={__proto__:null,xml:Gn,xmlns:hn};const An={__proto__:null,amp:"&",gt:">",lt:"<",quot:'"',apos:"'"};const Wn=-1;const Nn=-2;const gn=0;const yn=1;const vn=2;const Yn=3;const En=4;const Vn=5;const Rn=6;const wn=7;const Fn=8;const Qn=9;const fn=10;const Hn=11;const Cn=12;const Xn=13;const kn=14;const Jn=15;const Ln=16;const Bn=17;const xn=18;const On=19;const Tn=20;const Un=21;const Mn=22;const zn=23;const Sn=24;const Dn=25;const jn=26;const _n=27;const Kn=28;const Pn=29;const qn=30;const $n=31;const el=32;const tl=33;const nl=34;const ll=35;const al=36;const Il=37;const rl=38;const sl=39;const ol=40;const cl=41;const il=42;const dl=43;const ul=44;const pl=9;const ml=10;const bl=13;const Gl=32;const hl=33;const Zl=34;const Al=38;const Wl=39;const Nl=45;const gl=47;const yl=59;const vl=60;const Yl=61;const El=62;const Vl=63;const Rl=91;const wl=93;const Fl=133;const Ql=8232;const isQuote=Wt=>Wt===Zl||Wt===Wl;const fl=[Zl,Wl];const Hl=[...fl,Rl,El];const Cl=[...fl,vl,wl];const Xl=[Yl,Vl,...cn];const kl=[...cn,El,Al,vl];function nsPairCheck(Wt,Pt,en){switch(Pt){case"xml":if(en!==Gn){Wt.fail(`xml prefix must be bound to ${Gn}.`)}break;case"xmlns":if(en!==hn){Wt.fail(`xmlns prefix must be bound to ${hn}.`)}break;default:}switch(en){case hn:Wt.fail(Pt===""?`the default namespace may not be set to ${en}.`:`may not assign a prefix (even "xmlns") to the URI ${hn}.`);break;case Gn:switch(Pt){case"xml":break;case"":Wt.fail(`the default namespace may not be set to ${en}.`);break;default:Wt.fail("may not assign the xml namespace to another prefix.")}break;default:}}function nsMappingCheck(Wt,Pt){for(const en of Object.keys(Pt)){nsPairCheck(Wt,en,Pt[en])}}const isNCName=Wt=>bn.test(Wt);const isName=Wt=>dn.test(Wt);const Jl=0;const Ll=1;const Bl=2;Pt.EVENTS=["xmldecl","text","processinginstruction","doctype","comment","opentagstart","attribute","opentag","closetag","cdata","error","end","ready"];const xl={xmldecl:"xmldeclHandler",text:"textHandler",processinginstruction:"piHandler",doctype:"doctypeHandler",comment:"commentHandler",opentagstart:"openTagStartHandler",attribute:"attributeHandler",opentag:"openTagHandler",closetag:"closeTagHandler",cdata:"cdataHandler",error:"errorHandler",end:"endHandler",ready:"readyHandler"};class SaxesParser{constructor(Wt){this.opt=Wt!==null&&Wt!==void 0?Wt:{};this.fragmentOpt=!!this.opt.fragment;const Pt=this.xmlnsOpt=!!this.opt.xmlns;this.trackPosition=this.opt.position!==false;this.fileName=this.opt.fileName;if(Pt){this.nameStartCheck=pn;this.nameCheck=mn;this.isName=isNCName;this.processAttribs=this.processAttribsNS;this.pushAttrib=this.pushAttribNS;this.ns=Object.assign({__proto__:null},Zn);const Wt=this.opt.additionalNamespaces;if(Wt!=null){nsMappingCheck(this,Wt);Object.assign(this.ns,Wt)}}else{this.nameStartCheck=sn;this.nameCheck=on;this.isName=isName;this.processAttribs=this.processAttribsPlain;this.pushAttrib=this.pushAttribPlain}this.stateTable=[this.sBegin,this.sBeginWhitespace,this.sDoctype,this.sDoctypeQuote,this.sDTD,this.sDTDQuoted,this.sDTDOpenWaka,this.sDTDOpenWakaBang,this.sDTDComment,this.sDTDCommentEnding,this.sDTDCommentEnded,this.sDTDPI,this.sDTDPIEnding,this.sText,this.sEntity,this.sOpenWaka,this.sOpenWakaBang,this.sComment,this.sCommentEnding,this.sCommentEnded,this.sCData,this.sCDataEnding,this.sCDataEnding2,this.sPIFirstChar,this.sPIRest,this.sPIBody,this.sPIEnding,this.sXMLDeclNameStart,this.sXMLDeclName,this.sXMLDeclEq,this.sXMLDeclValueStart,this.sXMLDeclValue,this.sXMLDeclSeparator,this.sXMLDeclEnding,this.sOpenTag,this.sOpenTagSlash,this.sAttrib,this.sAttribName,this.sAttribNameSawWhite,this.sAttribValue,this.sAttribValueQuoted,this.sAttribValueClosed,this.sAttribValueUnquoted,this.sCloseTag,this.sCloseTagSawWhite];this._init()}get closed(){return this._closed}_init(){var Wt;this.openWakaBang="";this.text="";this.name="";this.piTarget="";this.entity="";this.q=null;this.tags=[];this.tag=null;this.topNS=null;this.chunk="";this.chunkPosition=0;this.i=0;this.prevI=0;this.carriedFromPrevious=undefined;this.forbiddenState=Jl;this.attribList=[];const{fragmentOpt:Pt}=this;this.state=Pt?Xn:gn;this.reportedTextBeforeRoot=this.reportedTextAfterRoot=this.closedRoot=this.sawRoot=Pt;this.xmlDeclPossible=!Pt;this.xmlDeclExpects=["version"];this.entityReturnState=undefined;let{defaultXMLVersion:en}=this.opt;if(en===undefined){if(this.opt.forceXMLVersion===true){throw new Error("forceXMLVersion set but defaultXMLVersion is not set")}en="1.0"}this.setXMLVersion(en);this.positionAtNewLine=0;this.doctype=false;this._closed=false;this.xmlDecl={version:undefined,encoding:undefined,standalone:undefined};this.line=1;this.column=0;this.ENTITIES=Object.create(An);(Wt=this.readyHandler)===null||Wt===void 0?void 0:Wt.call(this)}get position(){return this.chunkPosition+this.i}get columnIndex(){return this.position-this.positionAtNewLine}on(Wt,Pt){this[xl[Wt]]=Pt}off(Wt){this[xl[Wt]]=undefined}makeError(Wt){var Pt;let en=(Pt=this.fileName)!==null&&Pt!==void 0?Pt:"";if(this.trackPosition){if(en.length>0){en+=":"}en+=`${this.line}:${this.column}`}if(en.length>0){en+=": "}return new Error(en+Wt)}fail(Wt){const Pt=this.makeError(Wt);const en=this.errorHandler;if(en===undefined){throw Pt}else{en(Pt)}return this}write(Wt){if(this.closed){return this.fail("cannot write after close; assign an onready handler.")}let Pt=false;if(Wt===null){Pt=true;Wt=""}else if(typeof Wt==="object"){Wt=Wt.toString()}if(this.carriedFromPrevious!==undefined){Wt=`${this.carriedFromPrevious}${Wt}`;this.carriedFromPrevious=undefined}let en=Wt.length;const tn=Wt.charCodeAt(en-1);if(!Pt&&(tn===bl||tn>=55296&&tn<=56319)){this.carriedFromPrevious=Wt[en-1];en--;Wt=Wt.slice(0,en)}const{stateTable:nn}=this;this.chunk=Wt;this.i=0;while(this.i=Wt.length){return Wn}const en=Wt.charCodeAt(Pt);this.column++;if(en<55296){if(en>=Gl||en===pl){return en}switch(en){case ml:this.line++;this.column=0;this.positionAtNewLine=this.position;return ml;case bl:if(Wt.charCodeAt(Pt+1)===ml){this.i=Pt+2}this.line++;this.column=0;this.positionAtNewLine=this.position;return Nn;default:this.fail("disallowed character.");return en}}if(en>56319){if(!(en>=57344&&en<=65533)){this.fail("disallowed character.")}return en}const tn=65536+(en-55296)*1024+(Wt.charCodeAt(Pt+1)-56320);this.i=Pt+2;if(tn>1114111){this.fail("disallowed character.")}return tn}getCode11(){const{chunk:Wt,i:Pt}=this;this.prevI=Pt;this.i=Pt+1;if(Pt>=Wt.length){return Wn}const en=Wt.charCodeAt(Pt);this.column++;if(en<55296){if(en>31&&en<127||en>159&&en!==Ql||en===pl){return en}switch(en){case ml:this.line++;this.column=0;this.positionAtNewLine=this.position;return ml;case bl:{const en=Wt.charCodeAt(Pt+1);if(en===ml||en===Fl){this.i=Pt+2}}case Fl:case Ql:this.line++;this.column=0;this.positionAtNewLine=this.position;return Nn;default:this.fail("disallowed character.");return en}}if(en>56319){if(!(en>=57344&&en<=65533)){this.fail("disallowed character.")}return en}const tn=65536+(en-55296)*1024+(Wt.charCodeAt(Pt+1)-56320);this.i=Pt+2;if(tn>1114111){this.fail("disallowed character.")}return tn}getCodeNorm(){const Wt=this.getCode();return Wt===Nn?ml:Wt}unget(){this.i=this.prevI;this.column--}captureTo(Wt){let{i:Pt}=this;const{chunk:en}=this;while(true){const tn=this.getCode();const nn=tn===Nn;const an=nn?ml:tn;if(an===Wn||Wt.includes(an)){this.text+=en.slice(Pt,this.prevI);return an}if(nn){this.text+=`${en.slice(Pt,this.prevI)}\n`;Pt=this.i}}}captureToChar(Wt){let{i:Pt}=this;const{chunk:en}=this;while(true){let tn=this.getCode();switch(tn){case Nn:this.text+=`${en.slice(Pt,this.prevI)}\n`;Pt=this.i;tn=ml;break;case Wn:this.text+=en.slice(Pt);return false;default:}if(tn===Wt){this.text+=en.slice(Pt,this.prevI);return true}}}captureNameChars(){const{chunk:Wt,i:Pt}=this;while(true){const en=this.getCode();if(en===Wn){this.name+=Wt.slice(Pt);return Wn}if(!on(en)){this.name+=Wt.slice(Pt,this.prevI);return en===Nn?ml:en}}}skipSpaces(){while(true){const Wt=this.getCodeNorm();if(Wt===Wn||!In(Wt)){return Wt}}}setXMLVersion(Wt){this.currentXMLVersion=Wt;if(Wt==="1.0"){this.isChar=rn;this.getCode=this.getCode10}else{this.isChar=un;this.getCode=this.getCode11}}sBegin(){if(this.chunk.charCodeAt(0)===65279){this.i++;this.column++}this.state=yn}sBeginWhitespace(){const Wt=this.i;const Pt=this.skipSpaces();if(this.prevI!==Wt){this.xmlDeclPossible=false}switch(Pt){case vl:this.state=Jn;if(this.text.length!==0){throw new Error("no-empty text at start")}break;case Wn:break;default:this.unget();this.state=Xn;this.xmlDeclPossible=false}}sDoctype(){var Wt;const Pt=this.captureTo(Hl);switch(Pt){case El:{(Wt=this.doctypeHandler)===null||Wt===void 0?void 0:Wt.call(this,this.text);this.text="";this.state=Xn;this.doctype=true;break}case Wn:break;default:this.text+=String.fromCodePoint(Pt);if(Pt===Rl){this.state=En}else if(isQuote(Pt)){this.state=Yn;this.q=Pt}}}sDoctypeQuote(){const Wt=this.q;if(this.captureToChar(Wt)){this.text+=String.fromCodePoint(Wt);this.q=null;this.state=vn}}sDTD(){const Wt=this.captureTo(Cl);if(Wt===Wn){return}this.text+=String.fromCodePoint(Wt);if(Wt===wl){this.state=vn}else if(Wt===vl){this.state=Rn}else if(isQuote(Wt)){this.state=Vn;this.q=Wt}}sDTDQuoted(){const Wt=this.q;if(this.captureToChar(Wt)){this.text+=String.fromCodePoint(Wt);this.state=En;this.q=null}}sDTDOpenWaka(){const Wt=this.getCodeNorm();this.text+=String.fromCodePoint(Wt);switch(Wt){case hl:this.state=wn;this.openWakaBang="";break;case Vl:this.state=Hn;break;default:this.state=En}}sDTDOpenWakaBang(){const Wt=String.fromCodePoint(this.getCodeNorm());const Pt=this.openWakaBang+=Wt;this.text+=Wt;if(Pt!=="-"){this.state=Pt==="--"?Fn:En;this.openWakaBang=""}}sDTDComment(){if(this.captureToChar(Nl)){this.text+="-";this.state=Qn}}sDTDCommentEnding(){const Wt=this.getCodeNorm();this.text+=String.fromCodePoint(Wt);this.state=Wt===Nl?fn:Fn}sDTDCommentEnded(){const Wt=this.getCodeNorm();this.text+=String.fromCodePoint(Wt);if(Wt===El){this.state=En}else{this.fail("malformed comment.");this.state=Fn}}sDTDPI(){if(this.captureToChar(Vl)){this.text+="?";this.state=Cn}}sDTDPIEnding(){const Wt=this.getCodeNorm();this.text+=String.fromCodePoint(Wt);if(Wt===El){this.state=En}}sText(){if(this.tags.length!==0){this.handleTextInRoot()}else{this.handleTextOutsideRoot()}}sEntity(){let{i:Wt}=this;const{chunk:Pt}=this;e:while(true){switch(this.getCode()){case Nn:this.entity+=`${Pt.slice(Wt,this.prevI)}\n`;Wt=this.i;break;case yl:{const{entityReturnState:en}=this;const tn=this.entity+Pt.slice(Wt,this.prevI);this.state=en;let nn;if(tn===""){this.fail("empty entity name.");nn="&;"}else{nn=this.parseEntity(tn);this.entity=""}if(en!==Xn||this.textHandler!==undefined){this.text+=nn}break e}case Wn:this.entity+=Pt.slice(Wt);break e;default:}}}sOpenWaka(){const Wt=this.getCode();if(sn(Wt)){this.state=nl;this.unget();this.xmlDeclPossible=false}else{switch(Wt){case gl:this.state=dl;this.xmlDeclPossible=false;break;case hl:this.state=Ln;this.openWakaBang="";this.xmlDeclPossible=false;break;case Vl:this.state=zn;break;default:this.fail("disallowed character in tag name");this.state=Xn;this.xmlDeclPossible=false}}}sOpenWakaBang(){this.openWakaBang+=String.fromCodePoint(this.getCodeNorm());switch(this.openWakaBang){case"[CDATA[":if(!this.sawRoot&&!this.reportedTextBeforeRoot){this.fail("text data outside of root node.");this.reportedTextBeforeRoot=true}if(this.closedRoot&&!this.reportedTextAfterRoot){this.fail("text data outside of root node.");this.reportedTextAfterRoot=true}this.state=Tn;this.openWakaBang="";break;case"--":this.state=Bn;this.openWakaBang="";break;case"DOCTYPE":this.state=vn;if(this.doctype||this.sawRoot){this.fail("inappropriately located doctype declaration.")}this.openWakaBang="";break;default:if(this.openWakaBang.length>=7){this.fail("incorrect syntax.")}}}sComment(){if(this.captureToChar(Nl)){this.state=xn}}sCommentEnding(){var Wt;const Pt=this.getCodeNorm();if(Pt===Nl){this.state=On;(Wt=this.commentHandler)===null||Wt===void 0?void 0:Wt.call(this,this.text);this.text=""}else{this.text+=`-${String.fromCodePoint(Pt)}`;this.state=Bn}}sCommentEnded(){const Wt=this.getCodeNorm();if(Wt!==El){this.fail("malformed comment.");this.text+=`--${String.fromCodePoint(Wt)}`;this.state=Bn}else{this.state=Xn}}sCData(){if(this.captureToChar(wl)){this.state=Un}}sCDataEnding(){const Wt=this.getCodeNorm();if(Wt===wl){this.state=Mn}else{this.text+=`]${String.fromCodePoint(Wt)}`;this.state=Tn}}sCDataEnding2(){var Wt;const Pt=this.getCodeNorm();switch(Pt){case El:{(Wt=this.cdataHandler)===null||Wt===void 0?void 0:Wt.call(this,this.text);this.text="";this.state=Xn;break}case wl:this.text+="]";break;default:this.text+=`]]${String.fromCodePoint(Pt)}`;this.state=Tn}}sPIFirstChar(){const Wt=this.getCodeNorm();if(this.nameStartCheck(Wt)){this.piTarget+=String.fromCodePoint(Wt);this.state=Sn}else if(Wt===Vl||In(Wt)){this.fail("processing instruction without a target.");this.state=Wt===Vl?jn:Dn}else{this.fail("disallowed character in processing instruction name.");this.piTarget+=String.fromCodePoint(Wt);this.state=Sn}}sPIRest(){const{chunk:Wt,i:Pt}=this;while(true){const en=this.getCodeNorm();if(en===Wn){this.piTarget+=Wt.slice(Pt);return}if(!this.nameCheck(en)){this.piTarget+=Wt.slice(Pt,this.prevI);const tn=en===Vl;if(tn||In(en)){if(this.piTarget==="xml"){if(!this.xmlDeclPossible){this.fail("an XML declaration must be at the start of the document.")}this.state=tn?tl:_n}else{this.state=tn?jn:Dn}}else{this.fail("disallowed character in processing instruction name.");this.piTarget+=String.fromCodePoint(en)}break}}}sPIBody(){if(this.text.length===0){const Wt=this.getCodeNorm();if(Wt===Vl){this.state=jn}else if(!In(Wt)){this.text=String.fromCodePoint(Wt)}}else if(this.captureToChar(Vl)){this.state=jn}}sPIEnding(){var Wt;const Pt=this.getCodeNorm();if(Pt===El){const{piTarget:Pt}=this;if(Pt.toLowerCase()==="xml"){this.fail("the XML declaration must appear at the start of the document.")}(Wt=this.piHandler)===null||Wt===void 0?void 0:Wt.call(this,{target:Pt,body:this.text});this.piTarget=this.text="";this.state=Xn}else if(Pt===Vl){this.text+="?"}else{this.text+=`?${String.fromCodePoint(Pt)}`;this.state=Dn}this.xmlDeclPossible=false}sXMLDeclNameStart(){const Wt=this.skipSpaces();if(Wt===Vl){this.state=tl;return}if(Wt!==Wn){this.state=Kn;this.name=String.fromCodePoint(Wt)}}sXMLDeclName(){const Wt=this.captureTo(Xl);if(Wt===Vl){this.state=tl;this.name+=this.text;this.text="";this.fail("XML declaration is incomplete.");return}if(!(In(Wt)||Wt===Yl)){return}this.name+=this.text;this.text="";if(!this.xmlDeclExpects.includes(this.name)){switch(this.name.length){case 0:this.fail("did not expect any more name/value pairs.");break;case 1:this.fail(`expected the name ${this.xmlDeclExpects[0]}.`);break;default:this.fail(`expected one of ${this.xmlDeclExpects.join(", ")}`)}}this.state=Wt===Yl?qn:Pn}sXMLDeclEq(){const Wt=this.getCodeNorm();if(Wt===Vl){this.state=tl;this.fail("XML declaration is incomplete.");return}if(In(Wt)){return}if(Wt!==Yl){this.fail("value required.")}this.state=qn}sXMLDeclValueStart(){const Wt=this.getCodeNorm();if(Wt===Vl){this.state=tl;this.fail("XML declaration is incomplete.");return}if(In(Wt)){return}if(!isQuote(Wt)){this.fail("value must be quoted.");this.q=Gl}else{this.q=Wt}this.state=$n}sXMLDeclValue(){const Wt=this.captureTo([this.q,Vl]);if(Wt===Vl){this.state=tl;this.text="";this.fail("XML declaration is incomplete.");return}if(Wt===Wn){return}const Pt=this.text;this.text="";switch(this.name){case"version":{this.xmlDeclExpects=["encoding","standalone"];const Wt=Pt;this.xmlDecl.version=Wt;if(!/^1\.[0-9]+$/.test(Wt)){this.fail("version number must match /^1\\.[0-9]+$/.")}else if(!this.opt.forceXMLVersion){this.setXMLVersion(Wt)}break}case"encoding":if(!/^[A-Za-z][A-Za-z0-9._-]*$/.test(Pt)){this.fail("encoding value must match /^[A-Za-z0-9][A-Za-z0-9._-]*$/.")}this.xmlDeclExpects=["standalone"];this.xmlDecl.encoding=Pt;break;case"standalone":if(Pt!=="yes"&&Pt!=="no"){this.fail('standalone value must match "yes" or "no".')}this.xmlDeclExpects=[];this.xmlDecl.standalone=Pt;break;default:}this.name="";this.state=el}sXMLDeclSeparator(){const Wt=this.getCodeNorm();if(Wt===Vl){this.state=tl;return}if(!In(Wt)){this.fail("whitespace required.");this.unget()}this.state=_n}sXMLDeclEnding(){var Wt;const Pt=this.getCodeNorm();if(Pt===El){if(this.piTarget!=="xml"){this.fail("processing instructions are not allowed before root.")}else if(this.name!=="version"&&this.xmlDeclExpects.includes("version")){this.fail("XML declaration must contain a version.")}(Wt=this.xmldeclHandler)===null||Wt===void 0?void 0:Wt.call(this,this.xmlDecl);this.name="";this.piTarget=this.text="";this.state=Xn}else{this.fail("The character ? is disallowed anywhere in XML declarations.")}this.xmlDeclPossible=false}sOpenTag(){var Wt;const Pt=this.captureNameChars();if(Pt===Wn){return}const en=this.tag={name:this.name,attributes:Object.create(null)};this.name="";if(this.xmlnsOpt){this.topNS=en.ns=Object.create(null)}(Wt=this.openTagStartHandler)===null||Wt===void 0?void 0:Wt.call(this,en);this.sawRoot=true;if(!this.fragmentOpt&&this.closedRoot){this.fail("documents may contain only one root.")}switch(Pt){case El:this.openTag();break;case gl:this.state=ll;break;default:if(!In(Pt)){this.fail("disallowed character in tag name.")}this.state=al}}sOpenTagSlash(){if(this.getCode()===El){this.openSelfClosingTag()}else{this.fail("forward-slash in opening tag not followed by >.");this.state=al}}sAttrib(){const Wt=this.skipSpaces();if(Wt===Wn){return}if(sn(Wt)){this.unget();this.state=Il}else if(Wt===El){this.openTag()}else if(Wt===gl){this.state=ll}else{this.fail("disallowed character in attribute name.")}}sAttribName(){const Wt=this.captureNameChars();if(Wt===Yl){this.state=sl}else if(In(Wt)){this.state=rl}else if(Wt===El){this.fail("attribute without value.");this.pushAttrib(this.name,this.name);this.name=this.text="";this.openTag()}else if(Wt!==Wn){this.fail("disallowed character in attribute name.")}}sAttribNameSawWhite(){const Wt=this.skipSpaces();switch(Wt){case Wn:return;case Yl:this.state=sl;break;default:this.fail("attribute without value.");this.text="";this.name="";if(Wt===El){this.openTag()}else if(sn(Wt)){this.unget();this.state=Il}else{this.fail("disallowed character in attribute name.");this.state=al}}}sAttribValue(){const Wt=this.getCodeNorm();if(isQuote(Wt)){this.q=Wt;this.state=ol}else if(!In(Wt)){this.fail("unquoted attribute value.");this.state=il;this.unget()}}sAttribValueQuoted(){const{q:Wt,chunk:Pt}=this;let{i:en}=this;while(true){switch(this.getCode()){case Wt:this.pushAttrib(this.name,this.text+Pt.slice(en,this.prevI));this.name=this.text="";this.q=null;this.state=cl;return;case Al:this.text+=Pt.slice(en,this.prevI);this.state=kn;this.entityReturnState=ol;return;case ml:case Nn:case pl:this.text+=`${Pt.slice(en,this.prevI)} `;en=this.i;break;case vl:this.text+=Pt.slice(en,this.prevI);this.fail("disallowed character.");return;case Wn:this.text+=Pt.slice(en);return;default:}}}sAttribValueClosed(){const Wt=this.getCodeNorm();if(In(Wt)){this.state=al}else if(Wt===El){this.openTag()}else if(Wt===gl){this.state=ll}else if(sn(Wt)){this.fail("no whitespace between attributes.");this.unget();this.state=Il}else{this.fail("disallowed character in attribute name.")}}sAttribValueUnquoted(){const Wt=this.captureTo(kl);switch(Wt){case Al:this.state=kn;this.entityReturnState=il;break;case vl:this.fail("disallowed character.");break;case Wn:break;default:if(this.text.includes("]]>")){this.fail('the string "]]>" is disallowed in char data.')}this.pushAttrib(this.name,this.text);this.name=this.text="";if(Wt===El){this.openTag()}else{this.state=al}}}sCloseTag(){const Wt=this.captureNameChars();if(Wt===El){this.closeTag()}else if(In(Wt)){this.state=ul}else if(Wt!==Wn){this.fail("disallowed character in closing tag.")}}sCloseTagSawWhite(){switch(this.skipSpaces()){case El:this.closeTag();break;case Wn:break;default:this.fail("disallowed character in closing tag.")}}handleTextInRoot(){let{i:Wt,forbiddenState:Pt}=this;const{chunk:en,textHandler:tn}=this;e:while(true){switch(this.getCode()){case vl:{this.state=Jn;if(tn!==undefined){const{text:Pt}=this;const nn=en.slice(Wt,this.prevI);if(Pt.length!==0){tn(Pt+nn);this.text=""}else if(nn.length!==0){tn(nn)}}Pt=Jl;break e}case Al:this.state=kn;this.entityReturnState=Xn;if(tn!==undefined){this.text+=en.slice(Wt,this.prevI)}Pt=Jl;break e;case wl:switch(Pt){case Jl:Pt=Ll;break;case Ll:Pt=Bl;break;case Bl:break;default:throw new Error("impossible state")}break;case El:if(Pt===Bl){this.fail('the string "]]>" is disallowed in char data.')}Pt=Jl;break;case Nn:if(tn!==undefined){this.text+=`${en.slice(Wt,this.prevI)}\n`}Wt=this.i;Pt=Jl;break;case Wn:if(tn!==undefined){this.text+=en.slice(Wt)}break e;default:Pt=Jl}}this.forbiddenState=Pt}handleTextOutsideRoot(){let{i:Wt}=this;const{chunk:Pt,textHandler:en}=this;let tn=false;e:while(true){const nn=this.getCode();switch(nn){case vl:{this.state=Jn;if(en!==undefined){const{text:tn}=this;const nn=Pt.slice(Wt,this.prevI);if(tn.length!==0){en(tn+nn);this.text=""}else if(nn.length!==0){en(nn)}}break e}case Al:this.state=kn;this.entityReturnState=Xn;if(en!==undefined){this.text+=Pt.slice(Wt,this.prevI)}tn=true;break e;case Nn:if(en!==undefined){this.text+=`${Pt.slice(Wt,this.prevI)}\n`}Wt=this.i;break;case Wn:if(en!==undefined){this.text+=Pt.slice(Wt)}break e;default:if(!In(nn)){tn=true}}}if(!tn){return}if(!this.sawRoot&&!this.reportedTextBeforeRoot){this.fail("text data outside of root node.");this.reportedTextBeforeRoot=true}if(this.closedRoot&&!this.reportedTextAfterRoot){this.fail("text data outside of root node.");this.reportedTextAfterRoot=true}}pushAttribNS(Wt,Pt){var en;const{prefix:tn,local:nn}=this.qname(Wt);const an={name:Wt,prefix:tn,local:nn,value:Pt};this.attribList.push(an);(en=this.attributeHandler)===null||en===void 0?void 0:en.call(this,an);if(tn==="xmlns"){const Wt=Pt.trim();if(this.currentXMLVersion==="1.0"&&Wt===""){this.fail("invalid attempt to undefine prefix in XML 1.0")}this.topNS[nn]=Wt;nsPairCheck(this,nn,Wt)}else if(Wt==="xmlns"){const Wt=Pt.trim();this.topNS[""]=Wt;nsPairCheck(this,"",Wt)}}pushAttribPlain(Wt,Pt){var en;const tn={name:Wt,value:Pt};this.attribList.push(tn);(en=this.attributeHandler)===null||en===void 0?void 0:en.call(this,tn)}end(){var Wt,Pt;if(!this.sawRoot){this.fail("document must contain a root element.")}const{tags:en}=this;while(en.length>0){const Wt=en.pop();this.fail(`unclosed tag: ${Wt.name}`)}if(this.state!==gn&&this.state!==Xn){this.fail("unexpected end.")}const{text:tn}=this;if(tn.length!==0){(Wt=this.textHandler)===null||Wt===void 0?void 0:Wt.call(this,tn);this.text=""}this._closed=true;(Pt=this.endHandler)===null||Pt===void 0?void 0:Pt.call(this);this._init();return this}resolve(Wt){var Pt,en;let tn=this.topNS[Wt];if(tn!==undefined){return tn}const{tags:nn}=this;for(let Pt=nn.length-1;Pt>=0;Pt--){tn=nn[Pt].ns[Wt];if(tn!==undefined){return tn}}tn=this.ns[Wt];if(tn!==undefined){return tn}return(en=(Pt=this.opt).resolvePrefix)===null||en===void 0?void 0:en.call(Pt,Wt)}qname(Wt){const Pt=Wt.indexOf(":");if(Pt===-1){return{prefix:"",local:Wt}}const en=Wt.slice(Pt+1);const tn=Wt.slice(0,Pt);if(tn===""||en===""||en.includes(":")){this.fail(`malformed name: ${Wt}.`)}return{prefix:tn,local:en}}processAttribsNS(){var Wt;const{attribList:Pt}=this;const en=this.tag;{const{prefix:Pt,local:tn}=this.qname(en.name);en.prefix=Pt;en.local=tn;const nn=en.uri=(Wt=this.resolve(Pt))!==null&&Wt!==void 0?Wt:"";if(Pt!==""){if(Pt==="xmlns"){this.fail('tags may not have "xmlns" as prefix.')}if(nn===""){this.fail(`unbound namespace prefix: ${JSON.stringify(Pt)}.`);en.uri=Pt}}}if(Pt.length===0){return}const{attributes:tn}=en;const nn=new Set;for(const Wt of Pt){const{name:Pt,prefix:en,local:an}=Wt;let In;let rn;if(en===""){In=Pt==="xmlns"?hn:"";rn=Pt}else{In=this.resolve(en);if(In===undefined){this.fail(`unbound namespace prefix: ${JSON.stringify(en)}.`);In=en}rn=`{${In}}${an}`}if(nn.has(rn)){this.fail(`duplicate attribute: ${rn}.`)}nn.add(rn);Wt.uri=In;tn[Pt]=Wt}this.attribList=[]}processAttribsPlain(){const{attribList:Wt}=this;const Pt=this.tag.attributes;for(const{name:en,value:tn}of Wt){if(Pt[en]!==undefined){this.fail(`duplicate attribute: ${en}.`)}Pt[en]=tn}this.attribList=[]}openTag(){var Wt;this.processAttribs();const{tags:Pt}=this;const en=this.tag;en.isSelfClosing=false;(Wt=this.openTagHandler)===null||Wt===void 0?void 0:Wt.call(this,en);Pt.push(en);this.state=Xn;this.name=""}openSelfClosingTag(){var Wt,Pt,en;this.processAttribs();const{tags:tn}=this;const nn=this.tag;nn.isSelfClosing=true;(Wt=this.openTagHandler)===null||Wt===void 0?void 0:Wt.call(this,nn);(Pt=this.closeTagHandler)===null||Pt===void 0?void 0:Pt.call(this,nn);const an=this.tag=(en=tn[tn.length-1])!==null&&en!==void 0?en:null;if(an===null){this.closedRoot=true}this.state=Xn;this.name=""}closeTag(){const{tags:Wt,name:Pt}=this;this.state=Xn;this.name="";if(Pt===""){this.fail("weird empty close tag.");this.text+="";return}const en=this.closeTagHandler;let tn=Wt.length;while(tn-- >0){const tn=this.tag=Wt.pop();this.topNS=tn.ns;en===null||en===void 0?void 0:en(tn);if(tn.name===Pt){break}this.fail("unexpected close tag.")}if(tn===0){this.closedRoot=true}else if(tn<0){this.fail(`unmatched closing tag: ${Pt}.`);this.text+=``}}parseEntity(Wt){if(Wt[0]!=="#"){const Pt=this.ENTITIES[Wt];if(Pt!==undefined){return Pt}this.fail(this.isName(Wt)?"undefined entity.":"disallowed character in entity name.");return`&${Wt};`}let Pt=NaN;if(Wt[1]==="x"&&/^#x[0-9a-f]+$/i.test(Wt)){Pt=parseInt(Wt.slice(2),16)}else if(/^#[0-9]+$/.test(Wt)){Pt=parseInt(Wt.slice(1),10)}if(!this.isChar(Pt)){this.fail("malformed character entity.");return`&${Wt};`}return String.fromCodePoint(Pt)}}Pt.SaxesParser=SaxesParser},56606:function(Wt){(function(Pt){const en=2147483647;function SHA256(Wt){const Pt=new Uint32Array([1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298]);let en=1779033703,tn=3144134277,nn=1013904242,an=2773480762;let In=1359893119,rn=2600822924,sn=528734635,on=1541459225;const cn=new Uint32Array(64);function blocks(Wt){let dn=0,un=Wt.length;while(un>=64){let pn=en,mn=tn,bn=nn,Gn=an,hn=In,Zn=rn,An=sn,Wn=on,Nn,gn,yn,vn,Yn;for(gn=0;gn<16;gn++){yn=dn+gn*4;cn[gn]=(Wt[yn]&255)<<24|(Wt[yn+1]&255)<<16|(Wt[yn+2]&255)<<8|Wt[yn+3]&255}for(gn=16;gn<64;gn++){Nn=cn[gn-2];vn=(Nn>>>17|Nn<<32-17)^(Nn>>>19|Nn<<32-19)^Nn>>>10;Nn=cn[gn-15];Yn=(Nn>>>7|Nn<<32-7)^(Nn>>>18|Nn<<32-18)^Nn>>>3;cn[gn]=(vn+cn[gn-7]|0)+(Yn+cn[gn-16]|0)|0}for(gn=0;gn<64;gn++){vn=(((hn>>>6|hn<<32-6)^(hn>>>11|hn<<32-11)^(hn>>>25|hn<<32-25))+(hn&Zn^~hn&An)|0)+(Wn+(Pt[gn]+cn[gn]|0)|0)|0;Yn=((pn>>>2|pn<<32-2)^(pn>>>13|pn<<32-13)^(pn>>>22|pn<<32-22))+(pn&mn^pn&bn^mn&bn)|0;Wn=An;An=Zn;Zn=hn;hn=Gn+vn|0;Gn=bn;bn=mn;mn=pn;pn=vn+Yn|0}en=en+pn|0;tn=tn+mn|0;nn=nn+bn|0;an=an+Gn|0;In=In+hn|0;rn=rn+Zn|0;sn=sn+An|0;on=on+Wn|0;dn+=64;un-=64}}blocks(Wt);let dn,un=Wt.length%64,pn=Wt.length/536870912|0,mn=Wt.length<<3,bn=un<56?56:120,Gn=Wt.slice(Wt.length-un,Wt.length);Gn.push(128);for(dn=un+1;dn>>24&255);Gn.push(pn>>>16&255);Gn.push(pn>>>8&255);Gn.push(pn>>>0&255);Gn.push(mn>>>24&255);Gn.push(mn>>>16&255);Gn.push(mn>>>8&255);Gn.push(mn>>>0&255);blocks(Gn);return[en>>>24&255,en>>>16&255,en>>>8&255,en>>>0&255,tn>>>24&255,tn>>>16&255,tn>>>8&255,tn>>>0&255,nn>>>24&255,nn>>>16&255,nn>>>8&255,nn>>>0&255,an>>>24&255,an>>>16&255,an>>>8&255,an>>>0&255,In>>>24&255,In>>>16&255,In>>>8&255,In>>>0&255,rn>>>24&255,rn>>>16&255,rn>>>8&255,rn>>>0&255,sn>>>24&255,sn>>>16&255,sn>>>8&255,sn>>>0&255,on>>>24&255,on>>>16&255,on>>>8&255,on>>>0&255]}function PBKDF2_HMAC_SHA256_OneIter(Wt,Pt,en){Wt=Wt.length<=64?Wt:SHA256(Wt);const tn=64+Pt.length+4;const nn=new Array(tn);const an=new Array(64);let In;let rn=[];for(In=0;In<64;In++){nn[In]=54}for(In=0;In=tn-4;Wt--){nn[Wt]++;if(nn[Wt]<=255)return;nn[Wt]=0}}while(en>=32){incrementCounter();rn=rn.concat(SHA256(an.concat(SHA256(nn))));en-=32}if(en>0){incrementCounter();rn=rn.concat(SHA256(an.concat(SHA256(nn))).slice(0,en))}return rn}function blockmix_salsa8(Wt,Pt,en,tn,nn){let an;arraycopy(Wt,(2*en-1)*16,nn,0,16);for(an=0;an<2*en;an++){blockxor(Wt,an*16,nn,16);salsa20_8(nn,tn);arraycopy(nn,0,Wt,Pt+an*16,16)}for(an=0;an>>32-Pt}function salsa20_8(Wt,Pt){arraycopy(Wt,0,Pt,0,16);for(let Wt=8;Wt>0;Wt-=2){Pt[4]^=R(Pt[0]+Pt[12],7);Pt[8]^=R(Pt[4]+Pt[0],9);Pt[12]^=R(Pt[8]+Pt[4],13);Pt[0]^=R(Pt[12]+Pt[8],18);Pt[9]^=R(Pt[5]+Pt[1],7);Pt[13]^=R(Pt[9]+Pt[5],9);Pt[1]^=R(Pt[13]+Pt[9],13);Pt[5]^=R(Pt[1]+Pt[13],18);Pt[14]^=R(Pt[10]+Pt[6],7);Pt[2]^=R(Pt[14]+Pt[10],9);Pt[6]^=R(Pt[2]+Pt[14],13);Pt[10]^=R(Pt[6]+Pt[2],18);Pt[3]^=R(Pt[15]+Pt[11],7);Pt[7]^=R(Pt[3]+Pt[15],9);Pt[11]^=R(Pt[7]+Pt[3],13);Pt[15]^=R(Pt[11]+Pt[7],18);Pt[1]^=R(Pt[0]+Pt[3],7);Pt[2]^=R(Pt[1]+Pt[0],9);Pt[3]^=R(Pt[2]+Pt[1],13);Pt[0]^=R(Pt[3]+Pt[2],18);Pt[6]^=R(Pt[5]+Pt[4],7);Pt[7]^=R(Pt[6]+Pt[5],9);Pt[4]^=R(Pt[7]+Pt[6],13);Pt[5]^=R(Pt[4]+Pt[7],18);Pt[11]^=R(Pt[10]+Pt[9],7);Pt[8]^=R(Pt[11]+Pt[10],9);Pt[9]^=R(Pt[8]+Pt[11],13);Pt[10]^=R(Pt[9]+Pt[8],18);Pt[12]^=R(Pt[15]+Pt[14],7);Pt[13]^=R(Pt[12]+Pt[15],9);Pt[14]^=R(Pt[13]+Pt[12],13);Pt[15]^=R(Pt[14]+Pt[13],18)}for(let en=0;en<16;++en){Wt[en]+=Pt[en]}}function blockxor(Wt,Pt,en,tn){for(let nn=0;nn=256){return false}}return true}function ensureInteger(Wt,Pt){if(typeof Wt!=="number"||Wt%1){throw new Error("invalid "+Pt)}return Wt}function _scrypt(Wt,Pt,tn,nn,an,In,rn){tn=ensureInteger(tn,"N");nn=ensureInteger(nn,"r");an=ensureInteger(an,"p");In=ensureInteger(In,"dkLen");if(tn===0||(tn&tn-1)!==0){throw new Error("N must be power of 2")}if(tn>en/128/nn){throw new Error("N too large")}if(nn>en/128/an){throw new Error("r too large")}if(!checkBufferish(Wt)){throw new Error("password must be an array or buffer")}Wt=Array.prototype.slice.call(Wt);if(!checkBufferish(Pt)){throw new Error("salt must be an array or buffer")}Pt=Array.prototype.slice.call(Pt);let sn=PBKDF2_HMAC_SHA256_OneIter(Wt,Pt,an*128*nn);const on=new Uint32Array(an*32*nn);for(let Wt=0;Wtyn){Pt=yn}for(let Wt=0;Wtyn){Pt=yn}for(let Wt=0;Wt>0&255);sn.push(on[Wt]>>8&255);sn.push(on[Wt]>>16&255);sn.push(on[Wt]>>24&255)}const en=PBKDF2_HMAC_SHA256_OneIter(Wt,sn,In);if(rn){rn(null,1,en)}return en}if(rn){vn(incrementalSMix)}};if(!rn){while(true){const Wt=incrementalSMix();if(Wt!=undefined){return Wt}}}incrementalSMix()}const tn={scrypt:function(Wt,Pt,en,tn,nn,an,In){return new Promise((function(rn,sn){let on=0;if(In){In(0)}_scrypt(Wt,Pt,en,tn,nn,an,(function(Wt,Pt,en){if(Wt){sn(Wt)}else if(en){if(In&&on!==1){In(1)}rn(new Uint8Array(en))}else if(In&&Pt!==on){on=Pt;return In(Pt)}}))}))},syncScrypt:function(Wt,Pt,en,tn,nn,an){return new Uint8Array(_scrypt(Wt,Pt,en,tn,nn,an))}};if(true){Wt.exports=tn}else{}})(this)},21450:(Wt,Pt,en)=>{const tn=en(70857);const nn=en(52018);const an=en(83813);const{env:In}=process;let rn;if(an("no-color")||an("no-colors")||an("color=false")||an("color=never")){rn=0}else if(an("color")||an("colors")||an("color=true")||an("color=always")){rn=1}if("FORCE_COLOR"in In){if(In.FORCE_COLOR==="true"){rn=1}else if(In.FORCE_COLOR==="false"){rn=0}else{rn=In.FORCE_COLOR.length===0?1:Math.min(parseInt(In.FORCE_COLOR,10),3)}}function translateLevel(Wt){if(Wt===0){return false}return{level:Wt,hasBasic:true,has256:Wt>=2,has16m:Wt>=3}}function supportsColor(Wt,Pt){if(rn===0){return 0}if(an("color=16m")||an("color=full")||an("color=truecolor")){return 3}if(an("color=256")){return 2}if(Wt&&!Pt&&rn===undefined){return 0}const en=rn||0;if(In.TERM==="dumb"){return en}if(process.platform==="win32"){const Wt=tn.release().split(".");if(Number(Wt[0])>=10&&Number(Wt[2])>=10586){return Number(Wt[2])>=14931?3:2}return 1}if("CI"in In){if(["TRAVIS","CIRCLECI","APPVEYOR","GITLAB_CI","GITHUB_ACTIONS","BUILDKITE"].some((Wt=>Wt in In))||In.CI_NAME==="codeship"){return 1}return en}if("TEAMCITY_VERSION"in In){return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(In.TEAMCITY_VERSION)?1:0}if(In.COLORTERM==="truecolor"){return 3}if("TERM_PROGRAM"in In){const Wt=parseInt((In.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(In.TERM_PROGRAM){case"iTerm.app":return Wt>=3?3:2;case"Apple_Terminal":return 2}}if(/-256(color)?$/i.test(In.TERM)){return 2}if(/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(In.TERM)){return 1}if("COLORTERM"in In){return 1}return en}function getSupportLevel(Wt){const Pt=supportsColor(Wt,Wt&&Wt.isTTY);return translateLevel(Pt)}Wt.exports={supportsColor:getSupportLevel,stdout:translateLevel(supportsColor(true,nn.isatty(1))),stderr:translateLevel(supportsColor(true,nn.isatty(2)))}},86415:(Wt,Pt,en)=>{const tn=en(6771);const nn=en(23204);const an=en(71993);function returnTrue(){return true}function reverseArrayIndex(Wt,Pt){return Wt[Wt.length-1-Pt]}class SymbolTree{constructor(Wt){this.symbol=Symbol(Wt||"SymbolTree data")}initialize(Wt){this._node(Wt);return Wt}_node(Wt){if(!Wt){return null}const Pt=Wt[this.symbol];if(Pt){return Pt}return Wt[this.symbol]=new tn}hasChildren(Wt){return this._node(Wt).hasChildren}firstChild(Wt){return this._node(Wt).firstChild}lastChild(Wt){return this._node(Wt).lastChild}previousSibling(Wt){return this._node(Wt).previousSibling}nextSibling(Wt){return this._node(Wt).nextSibling}parent(Wt){return this._node(Wt).parent}lastInclusiveDescendant(Wt){let Pt;let en=Wt;while(Pt=this._node(en).lastChild){en=Pt}return en}preceding(Wt,Pt){const en=Pt&&Pt.root;if(Wt===en){return null}const tn=this._node(Wt).previousSibling;if(tn){return this.lastInclusiveDescendant(tn)}return this._node(Wt).parent}following(Wt,Pt){const en=Pt&&Pt.root;const tn=Pt&&Pt.skipChildren;const nn=!tn&&this._node(Wt).firstChild;if(nn){return nn}let an=Wt;do{if(an===en){return null}const Wt=this._node(an).nextSibling;if(Wt){return Wt}an=this._node(an).parent}while(an);return null}childrenToArray(Wt,Pt){const en=Pt&&Pt.array||[];const tn=Pt&&Pt.filter||returnTrue;const nn=Pt&&Pt.thisArg||undefined;const an=this._node(Wt);let In=an.firstChild;let rn=0;while(In){const Wt=this._node(In);Wt.setCachedIndex(an,rn);if(tn.call(nn,In)){en.push(In)}In=Wt.nextSibling;++rn}return en}ancestorsToArray(Wt,Pt){const en=Pt&&Pt.array||[];const tn=Pt&&Pt.filter||returnTrue;const nn=Pt&&Pt.thisArg||undefined;let an=Wt;while(an){if(tn.call(nn,an)){en.push(an)}an=this._node(an).parent}return en}treeToArray(Wt,Pt){const en=Pt&&Pt.array||[];const tn=Pt&&Pt.filter||returnTrue;const nn=Pt&&Pt.thisArg||undefined;let an=Wt;while(an){if(tn.call(nn,an)){en.push(an)}an=this.following(an,{root:Wt})}return en}childrenIterator(Wt,Pt){const en=Pt&&Pt.reverse;const tn=this._node(Wt);return new an(this,Wt,en?tn.lastChild:tn.firstChild,en?an.PREV:an.NEXT)}previousSiblingsIterator(Wt){return new an(this,Wt,this._node(Wt).previousSibling,an.PREV)}nextSiblingsIterator(Wt){return new an(this,Wt,this._node(Wt).nextSibling,an.NEXT)}ancestorsIterator(Wt){return new an(this,Wt,Wt,an.PARENT)}treeIterator(Wt,Pt){const en=Pt&&Pt.reverse;return new an(this,Wt,en?this.lastInclusiveDescendant(Wt):Wt,en?an.PRECEDING:an.FOLLOWING)}index(Wt){const Pt=this._node(Wt);const en=this._node(Pt.parent);if(!en){return-1}let tn=Pt.getCachedIndex(en);if(tn>=0){return tn}tn=0;let nn=en.firstChild;if(en.childIndexCachedUpTo){const Wt=this._node(en.childIndexCachedUpTo);nn=Wt.nextSibling;tn=Wt.getCachedIndex(en)+1}while(nn){const Pt=this._node(nn);Pt.setCachedIndex(en,tn);if(nn===Wt){break}++tn;nn=Pt.nextSibling}en.childIndexCachedUpTo=Wt;return tn}childrenCount(Wt){const Pt=this._node(Wt);if(!Pt.lastChild){return 0}return this.index(Pt.lastChild)+1}compareTreePosition(Wt,Pt){if(Wt===Pt){return 0}const en=[];{let tn=Wt;while(tn){if(tn===Pt){return nn.CONTAINS|nn.PRECEDING}en.push(tn);tn=this.parent(tn)}}const tn=[];{let en=Pt;while(en){if(en===Wt){return nn.CONTAINED_BY|nn.FOLLOWING}tn.push(en);en=this.parent(en)}}const an=reverseArrayIndex(en,0);if(!an||an!==reverseArrayIndex(tn,0)){return nn.DISCONNECTED}let In=0;const rn=Math.min(en.length,tn.length);for(let Wt=0;Wt{Wt.exports=class SymbolTreeNode{constructor(){this.parent=null;this.previousSibling=null;this.nextSibling=null;this.firstChild=null;this.lastChild=null;this.childrenVersion=0;this.childIndexCachedUpTo=null;this.cachedIndex=-1;this.cachedIndexVersion=NaN}get isAttached(){return Boolean(this.parent||this.previousSibling||this.nextSibling)}get hasChildren(){return Boolean(this.firstChild)}childrenChanged(){this.childrenVersion=this.childrenVersion+1&4294967295;this.childIndexCachedUpTo=null}getCachedIndex(Wt){if(this.cachedIndexVersion!==Wt.childrenVersion){this.cachedIndexVersion=NaN;return-1}return this.cachedIndex}setCachedIndex(Wt,Pt){this.cachedIndexVersion=Wt.childrenVersion;this.cachedIndex=Pt}}},71993:Wt=>{const Pt=Symbol();const en=Symbol();const tn=Symbol();const nn=Symbol();class TreeIterator{constructor(Wt,an,In,rn){this[Pt]=Wt;this[en]=an;this[tn]=In;this[nn]=rn}next(){const Wt=this[Pt];const an=this[nn];const In=this[en];if(!this[tn]){return{done:true,value:In}}const rn=this[tn];if(an===1){this[tn]=Wt._node(rn).previousSibling}else if(an===2){this[tn]=Wt._node(rn).nextSibling}else if(an===3){this[tn]=Wt._node(rn).parent}else if(an===4){this[tn]=Wt.preceding(rn,{root:In})}else{this[tn]=Wt.following(rn,{root:In})}return{done:false,value:rn}}}Object.defineProperty(TreeIterator.prototype,Symbol.iterator,{value:function(){return this},writable:false});TreeIterator.PREV=1;TreeIterator.NEXT=2;TreeIterator.PARENT=3;TreeIterator.PRECEDING=4;TreeIterator.FOLLOWING=5;Object.freeze(TreeIterator);Object.freeze(TreeIterator.prototype);Wt.exports=TreeIterator},23204:Wt=>{Wt.exports=Object.freeze({DISCONNECTED:1,PRECEDING:2,FOLLOWING:4,CONTAINS:8,CONTAINED_BY:16})},9889:Wt=>{var Pt=process.env.NODE_ENV==="production";var en="Invariant failed";function invariant(Wt,tn){if(Wt){return}if(Pt){throw new Error(en)}var nn=typeof tn==="function"?tn():tn;var an=nn?"".concat(en,": ").concat(nn):en;throw new Error(an)}Wt.exports=invariant},96684:(Wt,Pt,en)=>{ +/*! + * Copyright (c) 2015-2020, Salesforce.com, Inc. + * All rights reserved. * - * @param name name of the input to get - * @param options optional. See InputOptions. - * @returns string - */ -function getInput(name, options) { - const val = process.env[`INPUT_${name.replace(/ /g, '_').toUpperCase()}`] || ''; - if (options && options.required && !val) { - throw new Error(`Input required and not supplied: ${name}`); - } - if (options && options.trimWhitespace === false) { - return val; - } - return val.trim(); -} -exports.getInput = getInput; -/** - * Gets the values of an multiline input. Each value is also trimmed. + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: * - * @param name name of the input to get - * @param options optional. See InputOptions. - * @returns string[] + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. * - */ -function getMultilineInput(name, options) { - const inputs = getInput(name, options) - .split('\n') - .filter(x => x !== ''); - if (options && options.trimWhitespace === false) { - return inputs; - } - return inputs.map(input => input.trim()); -} -exports.getMultilineInput = getMultilineInput; -/** - * Gets the input value of the boolean type in the YAML 1.2 "core schema" specification. - * Support boolean input list: `true | True | TRUE | false | False | FALSE` . - * The return value is also in boolean type. - * ref: https://yaml.org/spec/1.2/spec.html#id2804923 + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. * - * @param name name of the input to get - * @param options optional. See InputOptions. - * @returns boolean - */ -function getBooleanInput(name, options) { - const trueValue = ['true', 'True', 'TRUE']; - const falseValue = ['false', 'False', 'FALSE']; - const val = getInput(name, options); - if (trueValue.includes(val)) - return true; - if (falseValue.includes(val)) - return false; - throw new TypeError(`Input does not meet YAML 1.2 "Core Schema" specification: ${name}\n` + - `Support boolean input list: \`true | True | TRUE | false | False | FALSE\``); -} -exports.getBooleanInput = getBooleanInput; -/** - * Sets the value of an output. + * 3. Neither the name of Salesforce.com nor the names of its contributors may + * be used to endorse or promote products derived from this software without + * specific prior written permission. * - * @param name name of the output to set - * @param value value to store. Non-string values will be converted to a string via JSON.stringify + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. */ -// eslint-disable-next-line @typescript-eslint/no-explicit-any -function setOutput(name, value) { - const filePath = process.env['GITHUB_OUTPUT'] || ''; - if (filePath) { - return (0, file_command_1.issueFileCommand)('OUTPUT', (0, file_command_1.prepareKeyValueMessage)(name, value)); - } - process.stdout.write(os.EOL); - (0, command_1.issueCommand)('set-output', { name }, (0, utils_1.toCommandValue)(value)); -} -exports.setOutput = setOutput; -/** - * Enables or disables the echoing of commands into stdout for the rest of the step. - * Echoing is disabled by default if ACTIONS_STEP_DEBUG is not set. +const tn=en(98328);const nn=en(97291);const an=en(26628);const In=en(66849).i;const rn=en(95620).n;const sn=en(38436).z;const on=en(28977);const cn=en(91492);const{fromCallback:dn}=en(95077);const{getCustomInspectSymbol:un}=en(73930);const pn=/^[\x21\x23-\x2B\x2D-\x3A\x3C-\x5B\x5D-\x7E]+$/;const mn=/[\x00-\x1F]/;const bn=["\n","\r","\0"];const Gn=/[\x20-\x3A\x3C-\x7E]+/;const hn=/[\x09\x20-\x2F\x3B-\x40\x5B-\x60\x7B-\x7E]/;const Zn={jan:0,feb:1,mar:2,apr:3,may:4,jun:5,jul:6,aug:7,sep:8,oct:9,nov:10,dec:11};const An=2147483647e3;const Wn=0;const Nn='Invalid sameSiteContext option for getCookies(); expected one of "strict", "lax", or "none"';function checkSameSiteContext(Wt){on.validate(on.isNonEmptyString(Wt),Wt);const Pt=String(Wt).toLowerCase();if(Pt==="none"||Pt==="lax"||Pt==="strict"){return Pt}else{return null}}const gn=Object.freeze({SILENT:"silent",STRICT:"strict",DISABLED:"unsafe-disabled"});const yn=/(?:^(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]\d|\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]\d|\d)){3}$)|(?:^(?:(?:[a-f\d]{1,4}:){7}(?:[a-f\d]{1,4}|:)|(?:[a-f\d]{1,4}:){6}(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]\d|\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]\d|\d)){3}|:[a-f\d]{1,4}|:)|(?:[a-f\d]{1,4}:){5}(?::(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]\d|\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]\d|\d)){3}|(?::[a-f\d]{1,4}){1,2}|:)|(?:[a-f\d]{1,4}:){4}(?:(?::[a-f\d]{1,4}){0,1}:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]\d|\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]\d|\d)){3}|(?::[a-f\d]{1,4}){1,3}|:)|(?:[a-f\d]{1,4}:){3}(?:(?::[a-f\d]{1,4}){0,2}:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]\d|\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]\d|\d)){3}|(?::[a-f\d]{1,4}){1,4}|:)|(?:[a-f\d]{1,4}:){2}(?:(?::[a-f\d]{1,4}){0,3}:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]\d|\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]\d|\d)){3}|(?::[a-f\d]{1,4}){1,5}|:)|(?:[a-f\d]{1,4}:){1}(?:(?::[a-f\d]{1,4}){0,4}:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]\d|\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]\d|\d)){3}|(?::[a-f\d]{1,4}){1,6}|:)|(?::(?:(?::[a-f\d]{1,4}){0,5}:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]\d|\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]\d|\d)){3}|(?::[a-f\d]{1,4}){1,7}|:)))$)/;const vn=`\n\\[?(?:\n(?:[a-fA-F\\d]{1,4}:){7}(?:[a-fA-F\\d]{1,4}|:)|\n(?:[a-fA-F\\d]{1,4}:){6}(?:(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)(?:\\.(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)){3}|:[a-fA-F\\d]{1,4}|:)|\n(?:[a-fA-F\\d]{1,4}:){5}(?::(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)(?:\\.(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)){3}|(?::[a-fA-F\\d]{1,4}){1,2}|:)|\n(?:[a-fA-F\\d]{1,4}:){4}(?:(?::[a-fA-F\\d]{1,4}){0,1}:(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)(?:\\.(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)){3}|(?::[a-fA-F\\d]{1,4}){1,3}|:)|\n(?:[a-fA-F\\d]{1,4}:){3}(?:(?::[a-fA-F\\d]{1,4}){0,2}:(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)(?:\\.(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)){3}|(?::[a-fA-F\\d]{1,4}){1,4}|:)|\n(?:[a-fA-F\\d]{1,4}:){2}(?:(?::[a-fA-F\\d]{1,4}){0,3}:(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)(?:\\.(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)){3}|(?::[a-fA-F\\d]{1,4}){1,5}|:)|\n(?:[a-fA-F\\d]{1,4}:){1}(?:(?::[a-fA-F\\d]{1,4}){0,4}:(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)(?:\\.(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)){3}|(?::[a-fA-F\\d]{1,4}){1,6}|:)|\n(?::(?:(?::[a-fA-F\\d]{1,4}){0,5}:(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)(?:\\.(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)){3}|(?::[a-fA-F\\d]{1,4}){1,7}|:))\n)(?:%[0-9a-zA-Z]{1,})?\\]?\n`.replace(/\s*\/\/.*$/gm,"").replace(/\n/g,"").trim();const Yn=new RegExp(`^${vn}$`);function parseDigits(Wt,Pt,en,tn){let nn=0;while(nn=58){break}nn++}if(nnen){return null}if(!tn&&nn!=Wt.length){return null}return parseInt(Wt.substr(0,nn),10)}function parseTime(Wt){const Pt=Wt.split(":");const en=[0,0,0];if(Pt.length!==3){return null}for(let Wt=0;Wt<3;Wt++){const tn=Wt==2;const nn=parseDigits(Pt[Wt],1,2,tn);if(nn===null){return null}en[Wt]=nn}return en}function parseMonth(Wt){Wt=String(Wt).substr(0,3).toLowerCase();const Pt=Zn[Wt];return Pt>=0?Pt:null}function parseDate(Wt){if(!Wt){return}const Pt=Wt.split(hn);if(!Pt){return}let en=null;let tn=null;let nn=null;let an=null;let In=null;let rn=null;for(let Wt=0;Wt=70&&rn<=99){rn+=1900}else if(rn>=0&&rn<=69){rn+=2e3}}}}if(an===null||In===null||rn===null||nn===null||an<1||an>31||rn<1601||en>23||tn>59||nn>59){return}return new Date(Date.UTC(rn,In,an,en,tn,nn))}function formatDate(Wt){on.validate(on.isDate(Wt),Wt);return Wt.toUTCString()}function canonicalDomain(Wt){if(Wt==null){return null}Wt=Wt.trim().replace(/^\./,"");if(Yn.test(Wt)){Wt=Wt.replace("[","").replace("]","")}if(tn&&/[^\u0001-\u007f]/.test(Wt)){Wt=tn.toASCII(Wt)}return Wt.toLowerCase()}function domainMatch(Wt,Pt,en){if(Wt==null||Pt==null){return null}if(en!==false){Wt=canonicalDomain(Wt);Pt=canonicalDomain(Pt)}if(Wt==Pt){return true}const tn=Wt.lastIndexOf(Pt);if(tn<=0){return false}if(Wt.length!==Pt.length+tn){return false}if(Wt.substr(tn-1,1)!=="."){return false}if(yn.test(Wt)){return false}return true}function defaultPath(Wt){if(!Wt||Wt.substr(0,1)!=="/"){return"/"}if(Wt==="/"){return Wt}const Pt=Wt.lastIndexOf("/");if(Pt===0){return"/"}return Wt.slice(0,Pt)}function trimTerminator(Wt){if(on.isEmptyString(Wt))return Wt;for(let Pt=0;Pt1){const en=Wt.lastIndexOf("/");if(en===0){break}Wt=Wt.substr(0,en);Pt.push(Wt)}Pt.push("/");return Pt}function getCookieContext(Wt){if(Wt instanceof Object){return Wt}try{Wt=decodeURI(Wt)}catch(Wt){}return nn(Wt)}const En={key:"",value:"",expires:"Infinity",maxAge:null,domain:null,path:null,secure:false,httpOnly:false,extensions:null,hostOnly:null,pathIsDefault:null,creation:null,lastAccessed:null,sameSite:undefined};class Cookie{constructor(Wt={}){const Pt=un();if(Pt){this[Pt]=this.inspect}Object.assign(this,En,Wt);this.creation=this.creation||new Date;Object.defineProperty(this,"creationIndex",{configurable:false,enumerable:false,writable:true,value:++Cookie.cookiesCreated})}inspect(){const Wt=Date.now();const Pt=this.hostOnly!=null?this.hostOnly:"?";const en=this.creation?`${Wt-this.creation.getTime()}ms`:"?";const tn=this.lastAccessed?`${Wt-this.lastAccessed.getTime()}ms`:"?";return`Cookie="${this.toString()}; hostOnly=${Pt}; aAge=${tn}; cAge=${en}"`}toJSON(){const Wt={};for(const Pt of Cookie.serializableProperties){if(this[Pt]===En[Pt]){continue}if(Pt==="expires"||Pt==="creation"||Pt==="lastAccessed"){if(this[Pt]===null){Wt[Pt]=null}else{Wt[Pt]=this[Pt]=="Infinity"?"Infinity":this[Pt].toISOString()}}else if(Pt==="maxAge"){if(this[Pt]!==null){Wt[Pt]=this[Pt]==Infinity||this[Pt]==-Infinity?this[Pt].toString():this[Pt]}}else{if(this[Pt]!==En[Pt]){Wt[Pt]=this[Pt]}}}return Wt}clone(){return fromJSON(this.toJSON())}validate(){if(!pn.test(this.value)){return false}if(this.expires!=Infinity&&!(this.expires instanceof Date)&&!parseDate(this.expires)){return false}if(this.maxAge!=null&&this.maxAge<=0){return false}if(this.path!=null&&!Gn.test(this.path)){return false}const Wt=this.cdomain();if(Wt){if(Wt.match(/\.$/)){return false}const Pt=an.getPublicSuffix(Wt);if(Pt==null){return false}}return true}setExpires(Wt){if(Wt instanceof Date){this.expires=Wt}else{this.expires=parseDate(Wt)||"Infinity"}}setMaxAge(Wt){if(Wt===Infinity||Wt===-Infinity){this.maxAge=Wt.toString()}else{this.maxAge=Wt}}cookieString(){let Wt=this.value;if(Wt==null){Wt=""}if(this.key===""){return Wt}return`${this.key}=${Wt}`}toString(){let Wt=this.cookieString();if(this.expires!=Infinity){if(this.expires instanceof Date){Wt+=`; Expires=${formatDate(this.expires)}`}else{Wt+=`; Expires=${this.expires}`}}if(this.maxAge!=null&&this.maxAge!=Infinity){Wt+=`; Max-Age=${this.maxAge}`}if(this.domain&&!this.hostOnly){Wt+=`; Domain=${this.domain}`}if(this.path){Wt+=`; Path=${this.path}`}if(this.secure){Wt+="; Secure"}if(this.httpOnly){Wt+="; HttpOnly"}if(this.sameSite&&this.sameSite!=="none"){const Pt=Cookie.sameSiteCanonical[this.sameSite.toLowerCase()];Wt+=`; SameSite=${Pt?Pt:this.sameSite}`}if(this.extensions){this.extensions.forEach((Pt=>{Wt+=`; ${Pt}`}))}return Wt}TTL(Wt){if(this.maxAge!=null){return this.maxAge<=0?0:this.maxAge*1e3}let Pt=this.expires;if(Pt!=Infinity){if(!(Pt instanceof Date)){Pt=parseDate(Pt)||Infinity}if(Pt==Infinity){return Infinity}return Pt.getTime()-(Wt||Date.now())}return Infinity}expiryTime(Wt){if(this.maxAge!=null){const Pt=Wt||this.creation||new Date;const en=this.maxAge<=0?-Infinity:this.maxAge*1e3;return Pt.getTime()+en}if(this.expires==Infinity){return Infinity}return this.expires.getTime()}expiryDate(Wt){const Pt=this.expiryTime(Wt);if(Pt==Infinity){return new Date(An)}else if(Pt==-Infinity){return new Date(Wn)}else{return new Date(Pt)}}isPersistent(){return this.maxAge!=null||this.expires!=Infinity}canonicalizedDomain(){if(this.domain==null){return null}return canonicalDomain(this.domain)}cdomain(){return this.canonicalizedDomain()}}Cookie.cookiesCreated=0;Cookie.parse=parse;Cookie.fromJSON=fromJSON;Cookie.serializableProperties=Object.keys(En);Cookie.sameSiteLevel={strict:3,lax:2,none:1};Cookie.sameSiteCanonical={strict:"Strict",lax:"Lax"};function getNormalizedPrefixSecurity(Wt){if(Wt!=null){const Pt=Wt.toLowerCase();switch(Pt){case gn.STRICT:case gn.SILENT:case gn.DISABLED:return Pt}}return gn.SILENT}class CookieJar{constructor(Wt,Pt={rejectPublicSuffixes:true}){if(typeof Pt==="boolean"){Pt={rejectPublicSuffixes:Pt}}on.validate(on.isObject(Pt),Pt);this.rejectPublicSuffixes=Pt.rejectPublicSuffixes;this.enableLooseMode=!!Pt.looseMode;this.allowSpecialUseDomain=typeof Pt.allowSpecialUseDomain==="boolean"?Pt.allowSpecialUseDomain:true;this.store=Wt||new rn;this.prefixSecurity=getNormalizedPrefixSecurity(Pt.prefixSecurity);this._cloneSync=syncWrap("clone");this._importCookiesSync=syncWrap("_importCookies");this.getCookiesSync=syncWrap("getCookies");this.getCookieStringSync=syncWrap("getCookieString");this.getSetCookieStringsSync=syncWrap("getSetCookieStrings");this.removeAllCookiesSync=syncWrap("removeAllCookies");this.setCookieSync=syncWrap("setCookie");this.serializeSync=syncWrap("serialize")}setCookie(Wt,Pt,en,tn){on.validate(on.isUrlStringOrObject(Pt),tn,en);let nn;if(on.isFunction(Pt)){tn=Pt;return tn(new Error("No URL was specified"))}const In=getCookieContext(Pt);if(on.isFunction(en)){tn=en;en={}}on.validate(on.isFunction(tn),tn);if(!on.isNonEmptyString(Wt)&&!on.isObject(Wt)&&Wt instanceof String&&Wt.length==0){return tn(null)}const rn=canonicalDomain(In.hostname);const sn=en.loose||this.enableLooseMode;let cn=null;if(en.sameSiteContext){cn=checkSameSiteContext(en.sameSiteContext);if(!cn){return tn(new Error(Nn))}}if(typeof Wt==="string"||Wt instanceof String){Wt=Cookie.parse(Wt,{loose:sn});if(!Wt){nn=new Error("Cookie failed to parse");return tn(en.ignoreError?null:nn)}}else if(!(Wt instanceof Cookie)){nn=new Error("First argument to setCookie must be a Cookie object or string");return tn(en.ignoreError?null:nn)}const dn=en.now||new Date;if(this.rejectPublicSuffixes&&Wt.domain){const Pt=an.getPublicSuffix(Wt.cdomain(),{allowSpecialUseDomain:this.allowSpecialUseDomain,ignoreError:en.ignoreError});if(Pt==null&&!Yn.test(Wt.domain)){nn=new Error("Cookie has domain set to a public suffix");return tn(en.ignoreError?null:nn)}}if(Wt.domain){if(!domainMatch(rn,Wt.cdomain(),false)){nn=new Error(`Cookie not in this host's domain. Cookie:${Wt.cdomain()} Request:${rn}`);return tn(en.ignoreError?null:nn)}if(Wt.hostOnly==null){Wt.hostOnly=false}}else{Wt.hostOnly=true;Wt.domain=rn}if(!Wt.path||Wt.path[0]!=="/"){Wt.path=defaultPath(In.pathname);Wt.pathIsDefault=true}if(en.http===false&&Wt.httpOnly){nn=new Error("Cookie is HttpOnly and this isn't an HTTP API");return tn(en.ignoreError?null:nn)}if(Wt.sameSite!=="none"&&Wt.sameSite!==undefined&&cn){if(cn==="none"){nn=new Error("Cookie is SameSite but this is a cross-origin request");return tn(en.ignoreError?null:nn)}}const un=this.prefixSecurity===gn.SILENT;const pn=this.prefixSecurity===gn.DISABLED;if(!pn){let Pt=false;let nn;if(!isSecurePrefixConditionMet(Wt)){Pt=true;nn="Cookie has __Secure prefix but Secure attribute is not set"}else if(!isHostPrefixConditionMet(Wt)){Pt=true;nn="Cookie has __Host prefix but either Secure or HostOnly attribute is not set or Path is not '/'"}if(Pt){return tn(en.ignoreError||un?null:new Error(nn))}}const mn=this.store;if(!mn.updateCookie){mn.updateCookie=function(Wt,Pt,en){this.putCookie(Pt,en)}}function withCookie(Pt,nn){if(Pt){return tn(Pt)}const next=function(Pt){if(Pt){return tn(Pt)}else{tn(null,Wt)}};if(nn){if(en.http===false&&nn.httpOnly){Pt=new Error("old Cookie is HttpOnly and this isn't an HTTP API");return tn(en.ignoreError?null:Pt)}Wt.creation=nn.creation;Wt.creationIndex=nn.creationIndex;Wt.lastAccessed=dn;mn.updateCookie(nn,Wt,next)}else{Wt.creation=Wt.lastAccessed=dn;mn.putCookie(Wt,next)}}mn.findCookie(Wt.domain,Wt.path,Wt.key,withCookie)}getCookies(Wt,Pt,en){on.validate(on.isUrlStringOrObject(Wt),en,Wt);const tn=getCookieContext(Wt);if(on.isFunction(Pt)){en=Pt;Pt={}}on.validate(on.isObject(Pt),en,Pt);on.validate(on.isFunction(en),en);const nn=canonicalDomain(tn.hostname);const an=tn.pathname||"/";let In=Pt.secure;if(In==null&&tn.protocol&&(tn.protocol=="https:"||tn.protocol=="wss:")){In=true}let rn=0;if(Pt.sameSiteContext){const Wt=checkSameSiteContext(Pt.sameSiteContext);rn=Cookie.sameSiteLevel[Wt];if(!rn){return en(new Error(Nn))}}let cn=Pt.http;if(cn==null){cn=true}const dn=Pt.now||Date.now();const un=Pt.expire!==false;const pn=!!Pt.allPaths;const mn=this.store;function matchingCookie(Wt){if(Wt.hostOnly){if(Wt.domain!=nn){return false}}else{if(!domainMatch(nn,Wt.domain,false)){return false}}if(!pn&&!sn(an,Wt.path)){return false}if(Wt.secure&&!In){return false}if(Wt.httpOnly&&!cn){return false}if(rn){const Pt=Cookie.sameSiteLevel[Wt.sameSite||"none"];if(Pt>rn){return false}}if(un&&Wt.expiryTime()<=dn){mn.removeCookie(Wt.domain,Wt.path,Wt.key,(()=>{}));return false}return true}mn.findCookies(nn,pn?null:an,this.allowSpecialUseDomain,((Wt,tn)=>{if(Wt){return en(Wt)}tn=tn.filter(matchingCookie);if(Pt.sort!==false){tn=tn.sort(cookieCompare)}const nn=new Date;for(const Wt of tn){Wt.lastAccessed=nn}en(null,tn)}))}getCookieString(...Wt){const Pt=Wt.pop();on.validate(on.isFunction(Pt),Pt);const next=function(Wt,en){if(Wt){Pt(Wt)}else{Pt(null,en.sort(cookieCompare).map((Wt=>Wt.cookieString())).join("; "))}};Wt.push(next);this.getCookies.apply(this,Wt)}getSetCookieStrings(...Wt){const Pt=Wt.pop();on.validate(on.isFunction(Pt),Pt);const next=function(Wt,en){if(Wt){Pt(Wt)}else{Pt(null,en.map((Wt=>Wt.toString())))}};Wt.push(next);this.getCookies.apply(this,Wt)}serialize(Wt){on.validate(on.isFunction(Wt),Wt);let Pt=this.store.constructor.name;if(on.isObject(Pt)){Pt=null}const en={version:`tough-cookie@${cn}`,storeType:Pt,rejectPublicSuffixes:!!this.rejectPublicSuffixes,enableLooseMode:!!this.enableLooseMode,allowSpecialUseDomain:!!this.allowSpecialUseDomain,prefixSecurity:getNormalizedPrefixSecurity(this.prefixSecurity),cookies:[]};if(!(this.store.getAllCookies&&typeof this.store.getAllCookies==="function")){return Wt(new Error("store does not support getAllCookies and cannot be serialized"))}this.store.getAllCookies(((Pt,tn)=>{if(Pt){return Wt(Pt)}en.cookies=tn.map((Wt=>{Wt=Wt instanceof Cookie?Wt.toJSON():Wt;delete Wt.creationIndex;return Wt}));return Wt(null,en)}))}toJSON(){return this.serializeSync()}_importCookies(Wt,Pt){let en=Wt.cookies;if(!en||!Array.isArray(en)){return Pt(new Error("serialized jar has no cookies array"))}en=en.slice();const putNext=Wt=>{if(Wt){return Pt(Wt)}if(!en.length){return Pt(Wt,this)}let tn;try{tn=fromJSON(en.shift())}catch(Wt){return Pt(Wt)}if(tn===null){return putNext(null)}this.store.putCookie(tn,putNext)};putNext()}clone(Wt,Pt){if(arguments.length===1){Pt=Wt;Wt=null}this.serialize(((en,tn)=>{if(en){return Pt(en)}CookieJar.deserialize(tn,Wt,Pt)}))}cloneSync(Wt){if(arguments.length===0){return this._cloneSync()}if(!Wt.synchronous){throw new Error("CookieJar clone destination store is not synchronous; use async API instead.")}return this._cloneSync(Wt)}removeAllCookies(Wt){on.validate(on.isFunction(Wt),Wt);const Pt=this.store;if(typeof Pt.removeAllCookies==="function"&&Pt.removeAllCookies!==In.prototype.removeAllCookies){return Pt.removeAllCookies(Wt)}Pt.getAllCookies(((en,tn)=>{if(en){return Wt(en)}if(tn.length===0){return Wt(null)}let nn=0;const an=[];function removeCookieCb(Pt){if(Pt){an.push(Pt)}nn++;if(nn===tn.length){return Wt(an.length?an[0]:null)}}tn.forEach((Wt=>{Pt.removeCookie(Wt.domain,Wt.path,Wt.key,removeCookieCb)}))}))}static deserialize(Wt,Pt,en){if(arguments.length!==3){en=Pt;Pt=null}on.validate(on.isFunction(en),en);let tn;if(typeof Wt==="string"){tn=jsonParse(Wt);if(tn instanceof Error){return en(tn)}}else{tn=Wt}const nn=new CookieJar(Pt,{rejectPublicSuffixes:tn.rejectPublicSuffixes,looseMode:tn.enableLooseMode,allowSpecialUseDomain:tn.allowSpecialUseDomain,prefixSecurity:tn.prefixSecurity});nn._importCookies(tn,(Wt=>{if(Wt){return en(Wt)}en(null,nn)}))}static deserializeSync(Wt,Pt){const en=typeof Wt==="string"?JSON.parse(Wt):Wt;const tn=new CookieJar(Pt,{rejectPublicSuffixes:en.rejectPublicSuffixes,looseMode:en.enableLooseMode});if(!tn.store.synchronous){throw new Error("CookieJar store is not synchronous; use async API instead.")}tn._importCookiesSync(en);return tn}}CookieJar.fromJSON=CookieJar.deserializeSync;["_importCookies","clone","getCookies","getCookieString","getSetCookieStrings","removeAllCookies","serialize","setCookie"].forEach((Wt=>{CookieJar.prototype[Wt]=dn(CookieJar.prototype[Wt])}));CookieJar.deserialize=dn(CookieJar.deserialize);function syncWrap(Wt){return function(...Pt){if(!this.store.synchronous){throw new Error("CookieJar store is not synchronous; use async API instead.")}let en,tn;this[Wt](...Pt,((Wt,Pt)=>{en=Wt;tn=Pt}));if(en){throw en}return tn}}Pt.version=cn;Pt.CookieJar=CookieJar;Pt.Cookie=Cookie;Pt.Store=In;Pt.MemoryCookieStore=rn;Pt.parseDate=parseDate;Pt.formatDate=formatDate;Pt.parse=parse;Pt.fromJSON=fromJSON;Pt.domainMatch=domainMatch;Pt.defaultPath=defaultPath;Pt.pathMatch=sn;Pt.getPublicSuffix=an.getPublicSuffix;Pt.cookieCompare=cookieCompare;Pt.permuteDomain=en(48586).permuteDomain;Pt.permutePath=permutePath;Pt.canonicalDomain=canonicalDomain;Pt.PrefixSecurityEnum=gn;Pt.ParameterError=on.ParameterError},95620:(Wt,Pt,en)=>{var tn; +/*! + * Copyright (c) 2015, Salesforce.com, Inc. + * All rights reserved. * - */ -function setCommandEcho(enabled) { - (0, command_1.issue)('echo', enabled ? 'on' : 'off'); -} -exports.setCommandEcho = setCommandEcho; -//----------------------------------------------------------------------- -// Results -//----------------------------------------------------------------------- -/** - * Sets the action status to failed. - * When the action exits it will be with an exit code of 1 - * @param message add error issue message - */ -function setFailed(message) { - process.exitCode = ExitCode.Failure; - error(message); -} -exports.setFailed = setFailed; -//----------------------------------------------------------------------- -// Logging Commands -//----------------------------------------------------------------------- -/** - * Gets whether Actions Step Debug is on or not - */ -function isDebug() { - return process.env['RUNNER_DEBUG'] === '1'; -} -exports.isDebug = isDebug; -/** - * Writes debug message to user log - * @param message debug message - */ -function debug(message) { - (0, command_1.issueCommand)('debug', {}, message); -} -exports.debug = debug; -/** - * Adds an error issue - * @param message error issue message. Errors will be converted to string via toString() - * @param properties optional properties to add to the annotation. - */ -function error(message, properties = {}) { - (0, command_1.issueCommand)('error', (0, utils_1.toCommandProperties)(properties), message instanceof Error ? message.toString() : message); -} -exports.error = error; -/** - * Adds a warning issue - * @param message warning issue message. Errors will be converted to string via toString() - * @param properties optional properties to add to the annotation. - */ -function warning(message, properties = {}) { - (0, command_1.issueCommand)('warning', (0, utils_1.toCommandProperties)(properties), message instanceof Error ? message.toString() : message); -} -exports.warning = warning; -/** - * Adds a notice issue - * @param message notice issue message. Errors will be converted to string via toString() - * @param properties optional properties to add to the annotation. - */ -function notice(message, properties = {}) { - (0, command_1.issueCommand)('notice', (0, utils_1.toCommandProperties)(properties), message instanceof Error ? message.toString() : message); -} -exports.notice = notice; -/** - * Writes info to log with console.log. - * @param message info message - */ -function info(message) { - process.stdout.write(message + os.EOL); -} -exports.info = info; -/** - * Begin an output group. + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: * - * Output until the next `groupEnd` will be foldable in this group + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. * - * @param name The name of the output group - */ -function startGroup(name) { - (0, command_1.issue)('group', name); -} -exports.startGroup = startGroup; -/** - * End an output group. - */ -function endGroup() { - (0, command_1.issue)('endgroup'); -} -exports.endGroup = endGroup; -/** - * Wrap an asynchronous function call in a group. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. * - * Returns the same type as the function itself. + * 3. Neither the name of Salesforce.com nor the names of its contributors may + * be used to endorse or promote products derived from this software without + * specific prior written permission. * - * @param name The name of the group - * @param fn The function to wrap in the group - */ -function group(name, fn) { - return __awaiter(this, void 0, void 0, function* () { - startGroup(name); - let result; - try { - result = yield fn(); - } - finally { - endGroup(); - } - return result; - }); -} -exports.group = group; -//----------------------------------------------------------------------- -// Wrapper action state -//----------------------------------------------------------------------- -/** - * Saves state for current action, the state can only be retrieved by this action's post job execution. + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + */const{fromCallback:nn}=en(95077);const an=en(66849).i;const In=en(48586).permuteDomain;const rn=en(38436).z;const{getCustomInspectSymbol:sn,getUtilInspect:on}=en(73930);class MemoryCookieStore extends an{constructor(){super();this.synchronous=true;this.idx=Object.create(null);const Wt=sn();if(Wt){this[Wt]=this.inspect}}inspect(){const Wt={inspect:on(inspectFallback)};return`{ idx: ${Wt.inspect(this.idx,false,2)} }`}findCookie(Wt,Pt,en,tn){if(!this.idx[Wt]){return tn(null,undefined)}if(!this.idx[Wt][Pt]){return tn(null,undefined)}return tn(null,this.idx[Wt][Pt][en]||null)}findCookies(Wt,Pt,en,tn){const nn=[];if(typeof en==="function"){tn=en;en=true}if(!Wt){return tn(null,[])}let an;if(!Pt){an=function matchAll(Wt){for(const Pt in Wt){const en=Wt[Pt];for(const Wt in en){nn.push(en[Wt])}}}}else{an=function matchRFC(Wt){Object.keys(Wt).forEach((en=>{if(rn(Pt,en)){const Pt=Wt[en];for(const Wt in Pt){nn.push(Pt[Wt])}}}))}}const sn=In(Wt,en)||[Wt];const on=this.idx;sn.forEach((Wt=>{const Pt=on[Wt];if(!Pt){return}an(Pt)}));tn(null,nn)}putCookie(Wt,Pt){if(!this.idx[Wt.domain]){this.idx[Wt.domain]=Object.create(null)}if(!this.idx[Wt.domain][Wt.path]){this.idx[Wt.domain][Wt.path]=Object.create(null)}this.idx[Wt.domain][Wt.path][Wt.key]=Wt;Pt(null)}updateCookie(Wt,Pt,en){this.putCookie(Pt,en)}removeCookie(Wt,Pt,en,tn){if(this.idx[Wt]&&this.idx[Wt][Pt]&&this.idx[Wt][Pt][en]){delete this.idx[Wt][Pt][en]}tn(null)}removeCookies(Wt,Pt,en){if(this.idx[Wt]){if(Pt){delete this.idx[Wt][Pt]}else{delete this.idx[Wt]}}return en(null)}removeAllCookies(Wt){this.idx=Object.create(null);return Wt(null)}getAllCookies(Wt){const Pt=[];const en=this.idx;const tn=Object.keys(en);tn.forEach((Wt=>{const tn=Object.keys(en[Wt]);tn.forEach((tn=>{const nn=Object.keys(en[Wt][tn]);nn.forEach((nn=>{if(nn!==null){Pt.push(en[Wt][tn][nn])}}))}))}));Pt.sort(((Wt,Pt)=>(Wt.creationIndex||0)-(Pt.creationIndex||0)));Wt(null,Pt)}}["findCookie","findCookies","putCookie","updateCookie","removeCookie","removeCookies","removeAllCookies","getAllCookies"].forEach((Wt=>{MemoryCookieStore.prototype[Wt]=nn(MemoryCookieStore.prototype[Wt])}));Pt.n=MemoryCookieStore;function inspectFallback(Wt){const Pt=Object.keys(Wt);if(Pt.length===0){return"[Object: null prototype] {}"}let en="[Object: null prototype] {\n";Object.keys(Wt).forEach(((tn,nn)=>{en+=formatDomain(tn,Wt[tn]);if(nn{tn+=formatPath(Wt,Pt[Wt]);if(en{const an=Pt[Wt];tn+=` ${Wt}: ${an.inspect()}`;if(en{ +/*! + * Copyright (c) 2015, Salesforce.com, Inc. + * All rights reserved. * - * @param name name of the state to store - * @param value value to store. Non-string values will be converted to a string via JSON.stringify - */ -// eslint-disable-next-line @typescript-eslint/no-explicit-any -function saveState(name, value) { - const filePath = process.env['GITHUB_STATE'] || ''; - if (filePath) { - return (0, file_command_1.issueFileCommand)('STATE', (0, file_command_1.prepareKeyValueMessage)(name, value)); - } - (0, command_1.issueCommand)('save-state', { name }, (0, utils_1.toCommandValue)(value)); -} -exports.saveState = saveState; -/** - * Gets the value of an state set by this action's main execution. + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: * - * @param name name of the state to get - * @returns string - */ -function getState(name) { - return process.env[`STATE_${name}`] || ''; -} -exports.getState = getState; -function getIDToken(aud) { - return __awaiter(this, void 0, void 0, function* () { - return yield oidc_utils_1.OidcClient.getIDToken(aud); - }); -} -exports.getIDToken = getIDToken; -/** - * Summary exports - */ -var summary_1 = __nccwpck_require__(72704); -Object.defineProperty(exports, "summary", ({ enumerable: true, get: function () { return summary_1.summary; } })); -/** - * @deprecated use core.summary - */ -var summary_2 = __nccwpck_require__(72704); -Object.defineProperty(exports, "markdownSummary", ({ enumerable: true, get: function () { return summary_2.markdownSummary; } })); -/** - * Path exports - */ -var path_utils_1 = __nccwpck_require__(24077); -Object.defineProperty(exports, "toPosixPath", ({ enumerable: true, get: function () { return path_utils_1.toPosixPath; } })); -Object.defineProperty(exports, "toWin32Path", ({ enumerable: true, get: function () { return path_utils_1.toWin32Path; } })); -Object.defineProperty(exports, "toPlatformPath", ({ enumerable: true, get: function () { return path_utils_1.toPlatformPath; } })); -/** - * Platform utilities exports - */ -exports.platform = __importStar(__nccwpck_require__(29701)); -//# sourceMappingURL=core.js.map - -/***/ }), - -/***/ 95552: -/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) { - - -// For internal use, subject to change. -var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { - if (k2 === undefined) 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 === undefined) k2 = k; - o[k2] = m[k]; -})); -var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { - Object.defineProperty(o, "default", { enumerable: true, value: v }); -}) : function(o, v) { - o["default"] = v; -}); -var __importStar = (this && this.__importStar) || function (mod) { - if (mod && mod.__esModule) return mod; - var result = {}; - if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); - __setModuleDefault(result, mod); - return result; -}; -Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.prepareKeyValueMessage = exports.issueFileCommand = void 0; -// We use any as a valid input type -/* eslint-disable @typescript-eslint/no-explicit-any */ -const crypto = __importStar(__nccwpck_require__(76982)); -const fs = __importStar(__nccwpck_require__(79896)); -const os = __importStar(__nccwpck_require__(70857)); -const utils_1 = __nccwpck_require__(7201); -function issueFileCommand(command, message) { - const filePath = process.env[`GITHUB_${command}`]; - if (!filePath) { - throw new Error(`Unable to find environment variable for file command ${command}`); - } - if (!fs.existsSync(filePath)) { - throw new Error(`Missing file at path: ${filePath}`); - } - fs.appendFileSync(filePath, `${(0, utils_1.toCommandValue)(message)}${os.EOL}`, { - encoding: 'utf8' - }); -} -exports.issueFileCommand = issueFileCommand; -function prepareKeyValueMessage(key, value) { - const delimiter = `ghadelimiter_${crypto.randomUUID()}`; - const convertedValue = (0, utils_1.toCommandValue)(value); - // These should realistically never happen, but just in case someone finds a - // way to exploit uuid generation let's not allow keys or values that contain - // the delimiter. - if (key.includes(delimiter)) { - throw new Error(`Unexpected input: name should not contain the delimiter "${delimiter}"`); - } - if (convertedValue.includes(delimiter)) { - throw new Error(`Unexpected input: value should not contain the delimiter "${delimiter}"`); - } - return `${key}<<${delimiter}${os.EOL}${convertedValue}${os.EOL}${delimiter}`; -} -exports.prepareKeyValueMessage = prepareKeyValueMessage; -//# sourceMappingURL=file-command.js.map - -/***/ }), - -/***/ 64967: -/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) { - - -var __awaiter = (this && this.__awaiter) || function (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, reject) { - function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } - function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } - function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); -}; -Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.OidcClient = void 0; -const http_client_1 = __nccwpck_require__(24437); -const auth_1 = __nccwpck_require__(10331); -const core_1 = __nccwpck_require__(90641); -class OidcClient { - static createHttpClient(allowRetry = true, maxRetry = 10) { - const requestOptions = { - allowRetries: allowRetry, - maxRetries: maxRetry - }; - return new http_client_1.HttpClient('actions/oidc-client', [new auth_1.BearerCredentialHandler(OidcClient.getRequestToken())], requestOptions); - } - static getRequestToken() { - const token = process.env['ACTIONS_ID_TOKEN_REQUEST_TOKEN']; - if (!token) { - throw new Error('Unable to get ACTIONS_ID_TOKEN_REQUEST_TOKEN env variable'); - } - return token; - } - static getIDTokenUrl() { - const runtimeUrl = process.env['ACTIONS_ID_TOKEN_REQUEST_URL']; - if (!runtimeUrl) { - throw new Error('Unable to get ACTIONS_ID_TOKEN_REQUEST_URL env variable'); - } - return runtimeUrl; - } - static getCall(id_token_url) { - var _a; - return __awaiter(this, void 0, void 0, function* () { - const httpclient = OidcClient.createHttpClient(); - const res = yield httpclient - .getJson(id_token_url) - .catch(error => { - throw new Error(`Failed to get ID Token. \n - Error Code : ${error.statusCode}\n - Error Message: ${error.message}`); - }); - const id_token = (_a = res.result) === null || _a === void 0 ? void 0 : _a.value; - if (!id_token) { - throw new Error('Response json body do not have ID Token field'); - } - return id_token; - }); - } - static getIDToken(audience) { - return __awaiter(this, void 0, void 0, function* () { - try { - // New ID Token is requested from action service - let id_token_url = OidcClient.getIDTokenUrl(); - if (audience) { - const encodedAudience = encodeURIComponent(audience); - id_token_url = `${id_token_url}&audience=${encodedAudience}`; - } - (0, core_1.debug)(`ID token url is ${id_token_url}`); - const id_token = yield OidcClient.getCall(id_token_url); - (0, core_1.setSecret)(id_token); - return id_token; - } - catch (error) { - throw new Error(`Error message: ${error.message}`); - } - }); - } -} -exports.OidcClient = OidcClient; -//# sourceMappingURL=oidc-utils.js.map - -/***/ }), - -/***/ 24077: -/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) { - - -var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { - if (k2 === undefined) 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 === undefined) k2 = k; - o[k2] = m[k]; -})); -var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { - Object.defineProperty(o, "default", { enumerable: true, value: v }); -}) : function(o, v) { - o["default"] = v; -}); -var __importStar = (this && this.__importStar) || function (mod) { - if (mod && mod.__esModule) return mod; - var result = {}; - if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); - __setModuleDefault(result, mod); - return result; -}; -Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.toPlatformPath = exports.toWin32Path = exports.toPosixPath = void 0; -const path = __importStar(__nccwpck_require__(16928)); -/** - * toPosixPath converts the given path to the posix form. On Windows, \\ will be - * replaced with /. + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. * - * @param pth. Path to transform. - * @return string Posix path. - */ -function toPosixPath(pth) { - return pth.replace(/[\\]/g, '/'); -} -exports.toPosixPath = toPosixPath; -/** - * toWin32Path converts the given path to the win32 form. On Linux, / will be - * replaced with \\. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. * - * @param pth. Path to transform. - * @return string Win32 path. - */ -function toWin32Path(pth) { - return pth.replace(/[/]/g, '\\'); -} -exports.toWin32Path = toWin32Path; -/** - * toPlatformPath converts the given path to a platform-specific path. It does - * this by replacing instances of / and \ with the platform-specific path - * separator. + * 3. Neither the name of Salesforce.com nor the names of its contributors may + * be used to endorse or promote products derived from this software without + * specific prior written permission. * - * @param pth The path to platformize. - * @return string The platform-specific path. - */ -function toPlatformPath(pth) { - return pth.replace(/[/\\]/g, path.sep); -} -exports.toPlatformPath = toPlatformPath; -//# sourceMappingURL=path-utils.js.map - -/***/ }), - -/***/ 29701: -/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) { - - -var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { - if (k2 === undefined) 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 === undefined) k2 = k; - o[k2] = m[k]; -})); -var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { - Object.defineProperty(o, "default", { enumerable: true, value: v }); -}) : function(o, v) { - o["default"] = v; -}); -var __importStar = (this && this.__importStar) || function (mod) { - if (mod && mod.__esModule) return mod; - var result = {}; - if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); - __setModuleDefault(result, mod); - return result; -}; -var __awaiter = (this && this.__awaiter) || function (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, reject) { - function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } - function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } - function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); -}; -var __importDefault = (this && this.__importDefault) || function (mod) { - return (mod && mod.__esModule) ? mod : { "default": mod }; -}; -Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.getDetails = exports.isLinux = exports.isMacOS = exports.isWindows = exports.arch = exports.platform = void 0; -const os_1 = __importDefault(__nccwpck_require__(70857)); -const exec = __importStar(__nccwpck_require__(20633)); -const getWindowsInfo = () => __awaiter(void 0, void 0, void 0, function* () { - const { stdout: version } = yield exec.getExecOutput('powershell -command "(Get-CimInstance -ClassName Win32_OperatingSystem).Version"', undefined, { - silent: true - }); - const { stdout: name } = yield exec.getExecOutput('powershell -command "(Get-CimInstance -ClassName Win32_OperatingSystem).Caption"', undefined, { - silent: true - }); - return { - name: name.trim(), - version: version.trim() - }; -}); -const getMacOsInfo = () => __awaiter(void 0, void 0, void 0, function* () { - var _a, _b, _c, _d; - const { stdout } = yield exec.getExecOutput('sw_vers', undefined, { - silent: true - }); - const version = (_b = (_a = stdout.match(/ProductVersion:\s*(.+)/)) === null || _a === void 0 ? void 0 : _a[1]) !== null && _b !== void 0 ? _b : ''; - const name = (_d = (_c = stdout.match(/ProductName:\s*(.+)/)) === null || _c === void 0 ? void 0 : _c[1]) !== null && _d !== void 0 ? _d : ''; - return { - name, - version - }; -}); -const getLinuxInfo = () => __awaiter(void 0, void 0, void 0, function* () { - const { stdout } = yield exec.getExecOutput('lsb_release', ['-i', '-r', '-s'], { - silent: true - }); - const [name, version] = stdout.trim().split('\n'); - return { - name, - version - }; -}); -exports.platform = os_1.default.platform(); -exports.arch = os_1.default.arch(); -exports.isWindows = exports.platform === 'win32'; -exports.isMacOS = exports.platform === 'darwin'; -exports.isLinux = exports.platform === 'linux'; -function getDetails() { - return __awaiter(this, void 0, void 0, function* () { - return Object.assign(Object.assign({}, (yield (exports.isWindows - ? getWindowsInfo() - : exports.isMacOS - ? getMacOsInfo() - : getLinuxInfo()))), { platform: exports.platform, - arch: exports.arch, - isWindows: exports.isWindows, - isMacOS: exports.isMacOS, - isLinux: exports.isLinux }); - }); -} -exports.getDetails = getDetails; -//# sourceMappingURL=platform.js.map - -/***/ }), - -/***/ 72704: -/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) { - - -var __awaiter = (this && this.__awaiter) || function (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, reject) { - function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } - function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } - function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); -}; -Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.summary = exports.markdownSummary = exports.SUMMARY_DOCS_URL = exports.SUMMARY_ENV_VAR = void 0; -const os_1 = __nccwpck_require__(70857); -const fs_1 = __nccwpck_require__(79896); -const { access, appendFile, writeFile } = fs_1.promises; -exports.SUMMARY_ENV_VAR = 'GITHUB_STEP_SUMMARY'; -exports.SUMMARY_DOCS_URL = 'https://docs.github.com/actions/using-workflows/workflow-commands-for-github-actions#adding-a-job-summary'; -class Summary { - constructor() { - this._buffer = ''; - } - /** - * Finds the summary file path from the environment, rejects if env var is not found or file does not exist - * Also checks r/w permissions. - * - * @returns step summary file path - */ - filePath() { - return __awaiter(this, void 0, void 0, function* () { - if (this._filePath) { - return this._filePath; - } - const pathFromEnv = process.env[exports.SUMMARY_ENV_VAR]; - if (!pathFromEnv) { - throw new Error(`Unable to find environment variable for $${exports.SUMMARY_ENV_VAR}. Check if your runtime environment supports job summaries.`); - } - try { - yield access(pathFromEnv, fs_1.constants.R_OK | fs_1.constants.W_OK); - } - catch (_a) { - throw new Error(`Unable to access summary file: '${pathFromEnv}'. Check if the file has correct read/write permissions.`); - } - this._filePath = pathFromEnv; - return this._filePath; - }); - } - /** - * Wraps content in an HTML tag, adding any HTML attributes - * - * @param {string} tag HTML tag to wrap - * @param {string | null} content content within the tag - * @param {[attribute: string]: string} attrs key-value list of HTML attributes to add - * - * @returns {string} content wrapped in HTML element - */ - wrap(tag, content, attrs = {}) { - const htmlAttrs = Object.entries(attrs) - .map(([key, value]) => ` ${key}="${value}"`) - .join(''); - if (!content) { - return `<${tag}${htmlAttrs}>`; - } - return `<${tag}${htmlAttrs}>${content}`; - } - /** - * Writes text in the buffer to the summary buffer file and empties buffer. Will append by default. - * - * @param {SummaryWriteOptions} [options] (optional) options for write operation - * - * @returns {Promise} summary instance - */ - write(options) { - return __awaiter(this, void 0, void 0, function* () { - const overwrite = !!(options === null || options === void 0 ? void 0 : options.overwrite); - const filePath = yield this.filePath(); - const writeFunc = overwrite ? writeFile : appendFile; - yield writeFunc(filePath, this._buffer, { encoding: 'utf8' }); - return this.emptyBuffer(); - }); - } - /** - * Clears the summary buffer and wipes the summary file - * - * @returns {Summary} summary instance - */ - clear() { - return __awaiter(this, void 0, void 0, function* () { - return this.emptyBuffer().write({ overwrite: true }); - }); - } - /** - * Returns the current summary buffer as a string - * - * @returns {string} string of summary buffer - */ - stringify() { - return this._buffer; - } - /** - * If the summary buffer is empty - * - * @returns {boolen} true if the buffer is empty - */ - isEmptyBuffer() { - return this._buffer.length === 0; - } - /** - * Resets the summary buffer without writing to summary file - * - * @returns {Summary} summary instance - */ - emptyBuffer() { - this._buffer = ''; - return this; - } - /** - * Adds raw text to the summary buffer - * - * @param {string} text content to add - * @param {boolean} [addEOL=false] (optional) append an EOL to the raw text (default: false) - * - * @returns {Summary} summary instance - */ - addRaw(text, addEOL = false) { - this._buffer += text; - return addEOL ? this.addEOL() : this; - } - /** - * Adds the operating system-specific end-of-line marker to the buffer - * - * @returns {Summary} summary instance - */ - addEOL() { - return this.addRaw(os_1.EOL); - } - /** - * Adds an HTML codeblock to the summary buffer - * - * @param {string} code content to render within fenced code block - * @param {string} lang (optional) language to syntax highlight code - * - * @returns {Summary} summary instance - */ - addCodeBlock(code, lang) { - const attrs = Object.assign({}, (lang && { lang })); - const element = this.wrap('pre', this.wrap('code', code), attrs); - return this.addRaw(element).addEOL(); - } - /** - * Adds an HTML list to the summary buffer - * - * @param {string[]} items list of items to render - * @param {boolean} [ordered=false] (optional) if the rendered list should be ordered or not (default: false) - * - * @returns {Summary} summary instance - */ - addList(items, ordered = false) { - const tag = ordered ? 'ol' : 'ul'; - const listItems = items.map(item => this.wrap('li', item)).join(''); - const element = this.wrap(tag, listItems); - return this.addRaw(element).addEOL(); - } - /** - * Adds an HTML table to the summary buffer - * - * @param {SummaryTableCell[]} rows table rows - * - * @returns {Summary} summary instance - */ - addTable(rows) { - const tableBody = rows - .map(row => { - const cells = row - .map(cell => { - if (typeof cell === 'string') { - return this.wrap('td', cell); - } - const { header, data, colspan, rowspan } = cell; - const tag = header ? 'th' : 'td'; - const attrs = Object.assign(Object.assign({}, (colspan && { colspan })), (rowspan && { rowspan })); - return this.wrap(tag, data, attrs); - }) - .join(''); - return this.wrap('tr', cells); - }) - .join(''); - const element = this.wrap('table', tableBody); - return this.addRaw(element).addEOL(); - } - /** - * Adds a collapsable HTML details element to the summary buffer - * - * @param {string} label text for the closed state - * @param {string} content collapsable content - * - * @returns {Summary} summary instance - */ - addDetails(label, content) { - const element = this.wrap('details', this.wrap('summary', label) + content); - return this.addRaw(element).addEOL(); - } - /** - * Adds an HTML image tag to the summary buffer - * - * @param {string} src path to the image you to embed - * @param {string} alt text description of the image - * @param {SummaryImageOptions} options (optional) addition image attributes - * - * @returns {Summary} summary instance - */ - addImage(src, alt, options) { - const { width, height } = options || {}; - const attrs = Object.assign(Object.assign({}, (width && { width })), (height && { height })); - const element = this.wrap('img', null, Object.assign({ src, alt }, attrs)); - return this.addRaw(element).addEOL(); - } - /** - * Adds an HTML section heading element - * - * @param {string} text heading text - * @param {number | string} [level=1] (optional) the heading level, default: 1 - * - * @returns {Summary} summary instance - */ - addHeading(text, level) { - const tag = `h${level}`; - const allowedTag = ['h1', 'h2', 'h3', 'h4', 'h5', 'h6'].includes(tag) - ? tag - : 'h1'; - const element = this.wrap(allowedTag, text); - return this.addRaw(element).addEOL(); - } - /** - * Adds an HTML thematic break (
                                        ) to the summary buffer - * - * @returns {Summary} summary instance - */ - addSeparator() { - const element = this.wrap('hr', null); - return this.addRaw(element).addEOL(); - } - /** - * Adds an HTML line break (
                                        ) to the summary buffer - * - * @returns {Summary} summary instance - */ - addBreak() { - const element = this.wrap('br', null); - return this.addRaw(element).addEOL(); - } - /** - * Adds an HTML blockquote to the summary buffer - * - * @param {string} text quote text - * @param {string} cite (optional) citation url - * - * @returns {Summary} summary instance - */ - addQuote(text, cite) { - const attrs = Object.assign({}, (cite && { cite })); - const element = this.wrap('blockquote', text, attrs); - return this.addRaw(element).addEOL(); - } - /** - * Adds an HTML anchor tag to the summary buffer - * - * @param {string} text link text/content - * @param {string} href hyperlink - * - * @returns {Summary} summary instance - */ - addLink(text, href) { - const element = this.wrap('a', text, { href }); - return this.addRaw(element).addEOL(); - } -} -const _summary = new Summary(); -/** - * @deprecated use `core.summary` - */ -exports.markdownSummary = _summary; -exports.summary = _summary; -//# sourceMappingURL=summary.js.map - -/***/ }), - -/***/ 7201: -/***/ ((__unused_webpack_module, exports) => { - - -// We use any as a valid input type -/* eslint-disable @typescript-eslint/no-explicit-any */ -Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.toCommandProperties = exports.toCommandValue = void 0; -/** - * Sanitizes an input into a string so it can be passed into issueCommand safely - * @param input input to sanitize into a string + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. */ -function toCommandValue(input) { - if (input === null || input === undefined) { - return ''; - } - else if (typeof input === 'string' || input instanceof String) { - return input; - } - return JSON.stringify(input); -} -exports.toCommandValue = toCommandValue; -/** +function pathMatch(Wt,Pt){if(Pt===Wt){return true}const en=Wt.indexOf(Pt);if(en===0){if(Pt.substr(-1)==="/"){return true}if(Wt.substr(Pt.length,1)==="/"){return true}}return false}Pt.z=pathMatch},48586:(Wt,Pt,en)=>{ +/*! + * Copyright (c) 2015, Salesforce.com, Inc. + * All rights reserved. * - * @param annotationProperties - * @returns The command properties to send with the actual annotation command - * See IssueCommandProperties: https://github.com/actions/runner/blob/main/src/Runner.Worker/ActionCommandManager.cs#L646 - */ -function toCommandProperties(annotationProperties) { - if (!Object.keys(annotationProperties).length) { - return {}; - } - return { - title: annotationProperties.title, - file: annotationProperties.file, - line: annotationProperties.startLine, - endLine: annotationProperties.endLine, - col: annotationProperties.startColumn, - endColumn: annotationProperties.endColumn - }; -} -exports.toCommandProperties = toCommandProperties; -//# sourceMappingURL=utils.js.map - -/***/ }), - -/***/ 20633: -/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) { - - -var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); -}) : (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - o[k2] = m[k]; -})); -var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { - Object.defineProperty(o, "default", { enumerable: true, value: v }); -}) : function(o, v) { - o["default"] = v; -}); -var __importStar = (this && this.__importStar) || function (mod) { - if (mod && mod.__esModule) return mod; - var result = {}; - if (mod != null) for (var k in mod) if (k !== "default" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); - __setModuleDefault(result, mod); - return result; -}; -var __awaiter = (this && this.__awaiter) || function (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, reject) { - function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } - function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } - function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); -}; -Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.getExecOutput = exports.exec = void 0; -const string_decoder_1 = __nccwpck_require__(13193); -const tr = __importStar(__nccwpck_require__(86960)); -/** - * Exec a command. - * Output will be streamed to the live console. - * Returns promise with return code + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: * - * @param commandLine command to execute (can include additional args). Must be correctly escaped. - * @param args optional arguments for tool. Escaping is handled by the lib. - * @param options optional exec options. See ExecOptions - * @returns Promise exit code - */ -function exec(commandLine, args, options) { - return __awaiter(this, void 0, void 0, function* () { - const commandArgs = tr.argStringToArray(commandLine); - if (commandArgs.length === 0) { - throw new Error(`Parameter 'commandLine' cannot be null or empty.`); - } - // Path to tool to execute should be first arg - const toolPath = commandArgs[0]; - args = commandArgs.slice(1).concat(args || []); - const runner = new tr.ToolRunner(toolPath, args, options); - return runner.exec(); - }); -} -exports.exec = exec; -/** - * Exec a command and get the output. - * Output will be streamed to the live console. - * Returns promise with the exit code and collected stdout and stderr + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. * - * @param commandLine command to execute (can include additional args). Must be correctly escaped. - * @param args optional arguments for tool. Escaping is handled by the lib. - * @param options optional exec options. See ExecOptions - * @returns Promise exit code, stdout, and stderr - */ -function getExecOutput(commandLine, args, options) { - var _a, _b; - return __awaiter(this, void 0, void 0, function* () { - let stdout = ''; - let stderr = ''; - //Using string decoder covers the case where a mult-byte character is split - const stdoutDecoder = new string_decoder_1.StringDecoder('utf8'); - const stderrDecoder = new string_decoder_1.StringDecoder('utf8'); - const originalStdoutListener = (_a = options === null || options === void 0 ? void 0 : options.listeners) === null || _a === void 0 ? void 0 : _a.stdout; - const originalStdErrListener = (_b = options === null || options === void 0 ? void 0 : options.listeners) === null || _b === void 0 ? void 0 : _b.stderr; - const stdErrListener = (data) => { - stderr += stderrDecoder.write(data); - if (originalStdErrListener) { - originalStdErrListener(data); - } - }; - const stdOutListener = (data) => { - stdout += stdoutDecoder.write(data); - if (originalStdoutListener) { - originalStdoutListener(data); - } - }; - const listeners = Object.assign(Object.assign({}, options === null || options === void 0 ? void 0 : options.listeners), { stdout: stdOutListener, stderr: stdErrListener }); - const exitCode = yield exec(commandLine, args, Object.assign(Object.assign({}, options), { listeners })); - //flush any remaining characters - stdout += stdoutDecoder.end(); - stderr += stderrDecoder.end(); - return { - exitCode, - stdout, - stderr - }; - }); -} -exports.getExecOutput = getExecOutput; -//# sourceMappingURL=exec.js.map - -/***/ }), - -/***/ 86960: -/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) { - - -var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); -}) : (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - o[k2] = m[k]; -})); -var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { - Object.defineProperty(o, "default", { enumerable: true, value: v }); -}) : function(o, v) { - o["default"] = v; -}); -var __importStar = (this && this.__importStar) || function (mod) { - if (mod && mod.__esModule) return mod; - var result = {}; - if (mod != null) for (var k in mod) if (k !== "default" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); - __setModuleDefault(result, mod); - return result; -}; -var __awaiter = (this && this.__awaiter) || function (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, reject) { - function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } - function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } - function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); -}; -Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.argStringToArray = exports.ToolRunner = void 0; -const os = __importStar(__nccwpck_require__(70857)); -const events = __importStar(__nccwpck_require__(24434)); -const child = __importStar(__nccwpck_require__(35317)); -const path = __importStar(__nccwpck_require__(16928)); -const io = __importStar(__nccwpck_require__(21907)); -const ioUtil = __importStar(__nccwpck_require__(56236)); -const timers_1 = __nccwpck_require__(53557); -/* eslint-disable @typescript-eslint/unbound-method */ -const IS_WINDOWS = process.platform === 'win32'; -/* - * Class for running command line tools. Handles quoting and arg parsing in a platform agnostic way. - */ -class ToolRunner extends events.EventEmitter { - constructor(toolPath, args, options) { - super(); - if (!toolPath) { - throw new Error("Parameter 'toolPath' cannot be null or empty."); - } - this.toolPath = toolPath; - this.args = args || []; - this.options = options || {}; - } - _debug(message) { - if (this.options.listeners && this.options.listeners.debug) { - this.options.listeners.debug(message); - } - } - _getCommandString(options, noPrefix) { - const toolPath = this._getSpawnFileName(); - const args = this._getSpawnArgs(options); - let cmd = noPrefix ? '' : '[command]'; // omit prefix when piped to a second tool - if (IS_WINDOWS) { - // Windows + cmd file - if (this._isCmdFile()) { - cmd += toolPath; - for (const a of args) { - cmd += ` ${a}`; - } - } - // Windows + verbatim - else if (options.windowsVerbatimArguments) { - cmd += `"${toolPath}"`; - for (const a of args) { - cmd += ` ${a}`; - } - } - // Windows (regular) - else { - cmd += this._windowsQuoteCmdArg(toolPath); - for (const a of args) { - cmd += ` ${this._windowsQuoteCmdArg(a)}`; - } - } - } - else { - // OSX/Linux - this can likely be improved with some form of quoting. - // creating processes on Unix is fundamentally different than Windows. - // on Unix, execvp() takes an arg array. - cmd += toolPath; - for (const a of args) { - cmd += ` ${a}`; - } - } - return cmd; - } - _processLineBuffer(data, strBuffer, onLine) { - try { - let s = strBuffer + data.toString(); - let n = s.indexOf(os.EOL); - while (n > -1) { - const line = s.substring(0, n); - onLine(line); - // the rest of the string ... - s = s.substring(n + os.EOL.length); - n = s.indexOf(os.EOL); - } - return s; - } - catch (err) { - // streaming lines to console is best effort. Don't fail a build. - this._debug(`error processing line. Failed with error ${err}`); - return ''; - } - } - _getSpawnFileName() { - if (IS_WINDOWS) { - if (this._isCmdFile()) { - return process.env['COMSPEC'] || 'cmd.exe'; - } - } - return this.toolPath; - } - _getSpawnArgs(options) { - if (IS_WINDOWS) { - if (this._isCmdFile()) { - let argline = `/D /S /C "${this._windowsQuoteCmdArg(this.toolPath)}`; - for (const a of this.args) { - argline += ' '; - argline += options.windowsVerbatimArguments - ? a - : this._windowsQuoteCmdArg(a); - } - argline += '"'; - return [argline]; - } - } - return this.args; - } - _endsWith(str, end) { - return str.endsWith(end); - } - _isCmdFile() { - const upperToolPath = this.toolPath.toUpperCase(); - return (this._endsWith(upperToolPath, '.CMD') || - this._endsWith(upperToolPath, '.BAT')); - } - _windowsQuoteCmdArg(arg) { - // for .exe, apply the normal quoting rules that libuv applies - if (!this._isCmdFile()) { - return this._uvQuoteCmdArg(arg); - } - // otherwise apply quoting rules specific to the cmd.exe command line parser. - // the libuv rules are generic and are not designed specifically for cmd.exe - // command line parser. - // - // for a detailed description of the cmd.exe command line parser, refer to - // http://stackoverflow.com/questions/4094699/how-does-the-windows-command-interpreter-cmd-exe-parse-scripts/7970912#7970912 - // need quotes for empty arg - if (!arg) { - return '""'; - } - // determine whether the arg needs to be quoted - const cmdSpecialChars = [ - ' ', - '\t', - '&', - '(', - ')', - '[', - ']', - '{', - '}', - '^', - '=', - ';', - '!', - "'", - '+', - ',', - '`', - '~', - '|', - '<', - '>', - '"' - ]; - let needsQuotes = false; - for (const char of arg) { - if (cmdSpecialChars.some(x => x === char)) { - needsQuotes = true; - break; - } - } - // short-circuit if quotes not needed - if (!needsQuotes) { - return arg; - } - // the following quoting rules are very similar to the rules that by libuv applies. - // - // 1) wrap the string in quotes - // - // 2) double-up quotes - i.e. " => "" - // - // this is different from the libuv quoting rules. libuv replaces " with \", which unfortunately - // doesn't work well with a cmd.exe command line. - // - // note, replacing " with "" also works well if the arg is passed to a downstream .NET console app. - // for example, the command line: - // foo.exe "myarg:""my val""" - // is parsed by a .NET console app into an arg array: - // [ "myarg:\"my val\"" ] - // which is the same end result when applying libuv quoting rules. although the actual - // command line from libuv quoting rules would look like: - // foo.exe "myarg:\"my val\"" - // - // 3) double-up slashes that precede a quote, - // e.g. hello \world => "hello \world" - // hello\"world => "hello\\""world" - // hello\\"world => "hello\\\\""world" - // hello world\ => "hello world\\" - // - // technically this is not required for a cmd.exe command line, or the batch argument parser. - // the reasons for including this as a .cmd quoting rule are: - // - // a) this is optimized for the scenario where the argument is passed from the .cmd file to an - // external program. many programs (e.g. .NET console apps) rely on the slash-doubling rule. - // - // b) it's what we've been doing previously (by deferring to node default behavior) and we - // haven't heard any complaints about that aspect. - // - // note, a weakness of the quoting rules chosen here, is that % is not escaped. in fact, % cannot be - // escaped when used on the command line directly - even though within a .cmd file % can be escaped - // by using %%. - // - // the saving grace is, on the command line, %var% is left as-is if var is not defined. this contrasts - // the line parsing rules within a .cmd file, where if var is not defined it is replaced with nothing. - // - // one option that was explored was replacing % with ^% - i.e. %var% => ^%var^%. this hack would - // often work, since it is unlikely that var^ would exist, and the ^ character is removed when the - // variable is used. the problem, however, is that ^ is not removed when %* is used to pass the args - // to an external program. - // - // an unexplored potential solution for the % escaping problem, is to create a wrapper .cmd file. - // % can be escaped within a .cmd file. - let reverse = '"'; - let quoteHit = true; - for (let i = arg.length; i > 0; i--) { - // walk the string in reverse - reverse += arg[i - 1]; - if (quoteHit && arg[i - 1] === '\\') { - reverse += '\\'; // double the slash - } - else if (arg[i - 1] === '"') { - quoteHit = true; - reverse += '"'; // double the quote - } - else { - quoteHit = false; - } - } - reverse += '"'; - return reverse - .split('') - .reverse() - .join(''); - } - _uvQuoteCmdArg(arg) { - // Tool runner wraps child_process.spawn() and needs to apply the same quoting as - // Node in certain cases where the undocumented spawn option windowsVerbatimArguments - // is used. - // - // Since this function is a port of quote_cmd_arg from Node 4.x (technically, lib UV, - // see https://github.com/nodejs/node/blob/v4.x/deps/uv/src/win/process.c for details), - // pasting copyright notice from Node within this function: - // - // Copyright Joyent, Inc. and other Node contributors. All rights reserved. - // - // 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. - if (!arg) { - // Need double quotation for empty argument - return '""'; - } - if (!arg.includes(' ') && !arg.includes('\t') && !arg.includes('"')) { - // No quotation needed - return arg; - } - if (!arg.includes('"') && !arg.includes('\\')) { - // No embedded double quotes or backslashes, so I can just wrap - // quote marks around the whole thing. - return `"${arg}"`; - } - // Expected input/output: - // input : hello"world - // output: "hello\"world" - // input : hello""world - // output: "hello\"\"world" - // input : hello\world - // output: hello\world - // input : hello\\world - // output: hello\\world - // input : hello\"world - // output: "hello\\\"world" - // input : hello\\"world - // output: "hello\\\\\"world" - // input : hello world\ - // output: "hello world\\" - note the comment in libuv actually reads "hello world\" - // but it appears the comment is wrong, it should be "hello world\\" - let reverse = '"'; - let quoteHit = true; - for (let i = arg.length; i > 0; i--) { - // walk the string in reverse - reverse += arg[i - 1]; - if (quoteHit && arg[i - 1] === '\\') { - reverse += '\\'; - } - else if (arg[i - 1] === '"') { - quoteHit = true; - reverse += '\\'; - } - else { - quoteHit = false; - } - } - reverse += '"'; - return reverse - .split('') - .reverse() - .join(''); - } - _cloneExecOptions(options) { - options = options || {}; - const result = { - cwd: options.cwd || process.cwd(), - env: options.env || process.env, - silent: options.silent || false, - windowsVerbatimArguments: options.windowsVerbatimArguments || false, - failOnStdErr: options.failOnStdErr || false, - ignoreReturnCode: options.ignoreReturnCode || false, - delay: options.delay || 10000 - }; - result.outStream = options.outStream || process.stdout; - result.errStream = options.errStream || process.stderr; - return result; - } - _getSpawnOptions(options, toolPath) { - options = options || {}; - const result = {}; - result.cwd = options.cwd; - result.env = options.env; - result['windowsVerbatimArguments'] = - options.windowsVerbatimArguments || this._isCmdFile(); - if (options.windowsVerbatimArguments) { - result.argv0 = `"${toolPath}"`; - } - return result; - } - /** - * Exec a tool. - * Output will be streamed to the live console. - * Returns promise with return code - * - * @param tool path to tool to exec - * @param options optional exec options. See ExecOptions - * @returns number - */ - exec() { - return __awaiter(this, void 0, void 0, function* () { - // root the tool path if it is unrooted and contains relative pathing - if (!ioUtil.isRooted(this.toolPath) && - (this.toolPath.includes('/') || - (IS_WINDOWS && this.toolPath.includes('\\')))) { - // prefer options.cwd if it is specified, however options.cwd may also need to be rooted - this.toolPath = path.resolve(process.cwd(), this.options.cwd || process.cwd(), this.toolPath); - } - // if the tool is only a file name, then resolve it from the PATH - // otherwise verify it exists (add extension on Windows if necessary) - this.toolPath = yield io.which(this.toolPath, true); - return new Promise((resolve, reject) => __awaiter(this, void 0, void 0, function* () { - this._debug(`exec tool: ${this.toolPath}`); - this._debug('arguments:'); - for (const arg of this.args) { - this._debug(` ${arg}`); - } - const optionsNonNull = this._cloneExecOptions(this.options); - if (!optionsNonNull.silent && optionsNonNull.outStream) { - optionsNonNull.outStream.write(this._getCommandString(optionsNonNull) + os.EOL); - } - const state = new ExecState(optionsNonNull, this.toolPath); - state.on('debug', (message) => { - this._debug(message); - }); - if (this.options.cwd && !(yield ioUtil.exists(this.options.cwd))) { - return reject(new Error(`The cwd: ${this.options.cwd} does not exist!`)); - } - const fileName = this._getSpawnFileName(); - const cp = child.spawn(fileName, this._getSpawnArgs(optionsNonNull), this._getSpawnOptions(this.options, fileName)); - let stdbuffer = ''; - if (cp.stdout) { - cp.stdout.on('data', (data) => { - if (this.options.listeners && this.options.listeners.stdout) { - this.options.listeners.stdout(data); - } - if (!optionsNonNull.silent && optionsNonNull.outStream) { - optionsNonNull.outStream.write(data); - } - stdbuffer = this._processLineBuffer(data, stdbuffer, (line) => { - if (this.options.listeners && this.options.listeners.stdline) { - this.options.listeners.stdline(line); - } - }); - }); - } - let errbuffer = ''; - if (cp.stderr) { - cp.stderr.on('data', (data) => { - state.processStderr = true; - if (this.options.listeners && this.options.listeners.stderr) { - this.options.listeners.stderr(data); - } - if (!optionsNonNull.silent && - optionsNonNull.errStream && - optionsNonNull.outStream) { - const s = optionsNonNull.failOnStdErr - ? optionsNonNull.errStream - : optionsNonNull.outStream; - s.write(data); - } - errbuffer = this._processLineBuffer(data, errbuffer, (line) => { - if (this.options.listeners && this.options.listeners.errline) { - this.options.listeners.errline(line); - } - }); - }); - } - cp.on('error', (err) => { - state.processError = err.message; - state.processExited = true; - state.processClosed = true; - state.CheckComplete(); - }); - cp.on('exit', (code) => { - state.processExitCode = code; - state.processExited = true; - this._debug(`Exit code ${code} received from tool '${this.toolPath}'`); - state.CheckComplete(); - }); - cp.on('close', (code) => { - state.processExitCode = code; - state.processExited = true; - state.processClosed = true; - this._debug(`STDIO streams have closed for tool '${this.toolPath}'`); - state.CheckComplete(); - }); - state.on('done', (error, exitCode) => { - if (stdbuffer.length > 0) { - this.emit('stdline', stdbuffer); - } - if (errbuffer.length > 0) { - this.emit('errline', errbuffer); - } - cp.removeAllListeners(); - if (error) { - reject(error); - } - else { - resolve(exitCode); - } - }); - if (this.options.input) { - if (!cp.stdin) { - throw new Error('child process missing stdin'); - } - cp.stdin.end(this.options.input); - } - })); - }); - } -} -exports.ToolRunner = ToolRunner; -/** - * Convert an arg string to an array of args. Handles escaping + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. * - * @param argString string of arguments - * @returns string[] array of arguments - */ -function argStringToArray(argString) { - const args = []; - let inQuotes = false; - let escaped = false; - let arg = ''; - function append(c) { - // we only escape double quotes. - if (escaped && c !== '"') { - arg += '\\'; - } - arg += c; - escaped = false; - } - for (let i = 0; i < argString.length; i++) { - const c = argString.charAt(i); - if (c === '"') { - if (!escaped) { - inQuotes = !inQuotes; - } - else { - append(c); - } - continue; - } - if (c === '\\' && escaped) { - append(c); - continue; - } - if (c === '\\' && inQuotes) { - escaped = true; - continue; - } - if (c === ' ' && !inQuotes) { - if (arg.length > 0) { - args.push(arg); - arg = ''; - } - continue; - } - append(c); - } - if (arg.length > 0) { - args.push(arg.trim()); - } - return args; -} -exports.argStringToArray = argStringToArray; -class ExecState extends events.EventEmitter { - constructor(options, toolPath) { - super(); - this.processClosed = false; // tracks whether the process has exited and stdio is closed - this.processError = ''; - this.processExitCode = 0; - this.processExited = false; // tracks whether the process has exited - this.processStderr = false; // tracks whether stderr was written to - this.delay = 10000; // 10 seconds - this.done = false; - this.timeout = null; - if (!toolPath) { - throw new Error('toolPath must not be empty'); - } - this.options = options; - this.toolPath = toolPath; - if (options.delay) { - this.delay = options.delay; - } - } - CheckComplete() { - if (this.done) { - return; - } - if (this.processClosed) { - this._setResult(); - } - else if (this.processExited) { - this.timeout = timers_1.setTimeout(ExecState.HandleTimeout, this.delay, this); - } - } - _debug(message) { - this.emit('debug', message); - } - _setResult() { - // determine whether there is an error - let error; - if (this.processExited) { - if (this.processError) { - error = new Error(`There was an error when attempting to execute the process '${this.toolPath}'. This may indicate the process failed to start. Error: ${this.processError}`); - } - else if (this.processExitCode !== 0 && !this.options.ignoreReturnCode) { - error = new Error(`The process '${this.toolPath}' failed with exit code ${this.processExitCode}`); - } - else if (this.processStderr && this.options.failOnStdErr) { - error = new Error(`The process '${this.toolPath}' failed because one or more lines were written to the STDERR stream`); - } - } - // clear the timeout - if (this.timeout) { - clearTimeout(this.timeout); - this.timeout = null; - } - this.done = true; - this.emit('done', error, this.processExitCode); - } - static HandleTimeout(state) { - if (state.done) { - return; - } - if (!state.processClosed && state.processExited) { - const message = `The STDIO streams did not close within ${state.delay / - 1000} seconds of the exit event from process '${state.toolPath}'. This may indicate a child process inherited the STDIO streams and has not yet exited.`; - state._debug(message); - } - state._setResult(); - } -} -//# sourceMappingURL=toolrunner.js.map - -/***/ }), - -/***/ 6539: -/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { - - -Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.Context = void 0; -const fs_1 = __nccwpck_require__(79896); -const os_1 = __nccwpck_require__(70857); -class Context { - /** - * Hydrate the context from the environment - */ - constructor() { - var _a, _b, _c; - this.payload = {}; - if (process.env.GITHUB_EVENT_PATH) { - if ((0, fs_1.existsSync)(process.env.GITHUB_EVENT_PATH)) { - this.payload = JSON.parse((0, fs_1.readFileSync)(process.env.GITHUB_EVENT_PATH, { encoding: 'utf8' })); - } - else { - const path = process.env.GITHUB_EVENT_PATH; - process.stdout.write(`GITHUB_EVENT_PATH ${path} does not exist${os_1.EOL}`); - } - } - this.eventName = process.env.GITHUB_EVENT_NAME; - this.sha = process.env.GITHUB_SHA; - this.ref = process.env.GITHUB_REF; - this.workflow = process.env.GITHUB_WORKFLOW; - this.action = process.env.GITHUB_ACTION; - this.actor = process.env.GITHUB_ACTOR; - this.job = process.env.GITHUB_JOB; - this.runNumber = parseInt(process.env.GITHUB_RUN_NUMBER, 10); - this.runId = parseInt(process.env.GITHUB_RUN_ID, 10); - this.apiUrl = (_a = process.env.GITHUB_API_URL) !== null && _a !== void 0 ? _a : `https://api.github.com`; - this.serverUrl = (_b = process.env.GITHUB_SERVER_URL) !== null && _b !== void 0 ? _b : `https://github.com`; - this.graphqlUrl = - (_c = process.env.GITHUB_GRAPHQL_URL) !== null && _c !== void 0 ? _c : `https://api.github.com/graphql`; - } - get issue() { - const payload = this.payload; - return Object.assign(Object.assign({}, this.repo), { number: (payload.issue || payload.pull_request || payload).number }); - } - get repo() { - if (process.env.GITHUB_REPOSITORY) { - const [owner, repo] = process.env.GITHUB_REPOSITORY.split('/'); - return { owner, repo }; - } - if (this.payload.repository) { - return { - owner: this.payload.repository.owner.login, - repo: this.payload.repository.name - }; - } - throw new Error("context.repo requires a GITHUB_REPOSITORY environment variable like 'owner/repo'"); - } -} -exports.Context = Context; -//# sourceMappingURL=context.js.map - -/***/ }), - -/***/ 41685: -/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) { - - -var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { - if (k2 === undefined) 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 === undefined) k2 = k; - o[k2] = m[k]; -})); -var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { - Object.defineProperty(o, "default", { enumerable: true, value: v }); -}) : function(o, v) { - o["default"] = v; -}); -var __importStar = (this && this.__importStar) || function (mod) { - if (mod && mod.__esModule) return mod; - var result = {}; - if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); - __setModuleDefault(result, mod); - return result; -}; -Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.getOctokit = exports.context = void 0; -const Context = __importStar(__nccwpck_require__(6539)); -const utils_1 = __nccwpck_require__(65553); -exports.context = new Context.Context(); -/** - * Returns a hydrated octokit ready to use for GitHub Actions + * 3. Neither the name of Salesforce.com nor the names of its contributors may + * be used to endorse or promote products derived from this software without + * specific prior written permission. * - * @param token the repo PAT or GITHUB_TOKEN - * @param options other options to set + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. */ -function getOctokit(token, options, ...additionalPlugins) { - const GitHubWithPlugins = utils_1.GitHub.plugin(...additionalPlugins); - return new GitHubWithPlugins((0, utils_1.getOctokitOptions)(token, options)); -} -exports.getOctokit = getOctokit; -//# sourceMappingURL=github.js.map - -/***/ }), - -/***/ 97857: -/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) { - - -var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { - if (k2 === undefined) 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 === undefined) k2 = k; - o[k2] = m[k]; -})); -var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { - Object.defineProperty(o, "default", { enumerable: true, value: v }); -}) : function(o, v) { - o["default"] = v; -}); -var __importStar = (this && this.__importStar) || function (mod) { - if (mod && mod.__esModule) return mod; - var result = {}; - if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); - __setModuleDefault(result, mod); - return result; -}; -var __awaiter = (this && this.__awaiter) || function (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, reject) { - function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } - function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } - function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); -}; -Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.getApiBaseUrl = exports.getProxyFetch = exports.getProxyAgentDispatcher = exports.getProxyAgent = exports.getAuthString = void 0; -const httpClient = __importStar(__nccwpck_require__(24437)); -const undici_1 = __nccwpck_require__(11861); -function getAuthString(token, options) { - if (!token && !options.auth) { - throw new Error('Parameter token or opts.auth is required'); - } - else if (token && options.auth) { - throw new Error('Parameters token and opts.auth may not both be specified'); - } - return typeof options.auth === 'string' ? options.auth : `token ${token}`; -} -exports.getAuthString = getAuthString; -function getProxyAgent(destinationUrl) { - const hc = new httpClient.HttpClient(); - return hc.getAgent(destinationUrl); -} -exports.getProxyAgent = getProxyAgent; -function getProxyAgentDispatcher(destinationUrl) { - const hc = new httpClient.HttpClient(); - return hc.getAgentDispatcher(destinationUrl); -} -exports.getProxyAgentDispatcher = getProxyAgentDispatcher; -function getProxyFetch(destinationUrl) { - const httpDispatcher = getProxyAgentDispatcher(destinationUrl); - const proxyFetch = (url, opts) => __awaiter(this, void 0, void 0, function* () { - return (0, undici_1.fetch)(url, Object.assign(Object.assign({}, opts), { dispatcher: httpDispatcher })); - }); - return proxyFetch; -} -exports.getProxyFetch = getProxyFetch; -function getApiBaseUrl() { - return process.env['GITHUB_API_URL'] || 'https://api.github.com'; -} -exports.getApiBaseUrl = getApiBaseUrl; -//# sourceMappingURL=utils.js.map - -/***/ }), - -/***/ 65553: -/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) { - - -var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { - if (k2 === undefined) 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 === undefined) k2 = k; - o[k2] = m[k]; -})); -var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { - Object.defineProperty(o, "default", { enumerable: true, value: v }); -}) : function(o, v) { - o["default"] = v; -}); -var __importStar = (this && this.__importStar) || function (mod) { - if (mod && mod.__esModule) return mod; - var result = {}; - if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); - __setModuleDefault(result, mod); - return result; -}; -Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.getOctokitOptions = exports.GitHub = exports.defaults = exports.context = void 0; -const Context = __importStar(__nccwpck_require__(6539)); -const Utils = __importStar(__nccwpck_require__(97857)); -// octokit + plugins -const core_1 = __nccwpck_require__(99214); -const plugin_rest_endpoint_methods_1 = __nccwpck_require__(8704); -const plugin_paginate_rest_1 = __nccwpck_require__(78737); -exports.context = new Context.Context(); -const baseUrl = Utils.getApiBaseUrl(); -exports.defaults = { - baseUrl, - request: { - agent: Utils.getProxyAgent(baseUrl), - fetch: Utils.getProxyFetch(baseUrl) - } -}; -exports.GitHub = core_1.Octokit.plugin(plugin_rest_endpoint_methods_1.restEndpointMethods, plugin_paginate_rest_1.paginateRest).defaults(exports.defaults); -/** - * Convience function to correctly format Octokit Options to pass into the constructor. +const tn=en(26628);function permuteDomain(Wt,Pt){const en=tn.getPublicSuffix(Wt,{allowSpecialUseDomain:Pt});if(!en){return null}if(en==Wt){return[Wt]}if(Wt.slice(-1)=="."){Wt=Wt.slice(0,-1)}const nn=Wt.slice(0,-(en.length+1));const an=nn.split(".").reverse();let In=en;const rn=[In];while(an.length){In=`${an.shift()}.${In}`;rn.push(In)}return rn}Pt.permuteDomain=permuteDomain},26628:(Wt,Pt,en)=>{ +/*! + * Copyright (c) 2018, Salesforce.com, Inc. + * All rights reserved. * - * @param token the repo PAT or GITHUB_TOKEN - * @param options other options to set - */ -function getOctokitOptions(token, options) { - const opts = Object.assign({}, options || {}); // Shallow clone - don't mutate the object provided by the caller - // Auth - const auth = Utils.getAuthString(token, opts); - if (auth) { - opts.auth = auth; - } - return opts; -} -exports.getOctokitOptions = getOctokitOptions; -//# sourceMappingURL=utils.js.map - -/***/ }), - -/***/ 10331: -/***/ (function(__unused_webpack_module, exports) { - - -var __awaiter = (this && this.__awaiter) || function (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, reject) { - function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } - function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } - function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); -}; -Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.PersonalAccessTokenCredentialHandler = exports.BearerCredentialHandler = exports.BasicCredentialHandler = void 0; -class BasicCredentialHandler { - constructor(username, password) { - this.username = username; - this.password = password; - } - prepareRequest(options) { - if (!options.headers) { - throw Error('The request has no headers'); - } - options.headers['Authorization'] = `Basic ${Buffer.from(`${this.username}:${this.password}`).toString('base64')}`; - } - // This handler cannot handle 401 - canHandleAuthentication() { - return false; - } - handleAuthentication() { - return __awaiter(this, void 0, void 0, function* () { - throw new Error('not implemented'); - }); - } -} -exports.BasicCredentialHandler = BasicCredentialHandler; -class BearerCredentialHandler { - constructor(token) { - this.token = token; - } - // currently implements pre-authorization - // TODO: support preAuth = false where it hooks on 401 - prepareRequest(options) { - if (!options.headers) { - throw Error('The request has no headers'); - } - options.headers['Authorization'] = `Bearer ${this.token}`; - } - // This handler cannot handle 401 - canHandleAuthentication() { - return false; - } - handleAuthentication() { - return __awaiter(this, void 0, void 0, function* () { - throw new Error('not implemented'); - }); - } -} -exports.BearerCredentialHandler = BearerCredentialHandler; -class PersonalAccessTokenCredentialHandler { - constructor(token) { - this.token = token; - } - // currently implements pre-authorization - // TODO: support preAuth = false where it hooks on 401 - prepareRequest(options) { - if (!options.headers) { - throw Error('The request has no headers'); - } - options.headers['Authorization'] = `Basic ${Buffer.from(`PAT:${this.token}`).toString('base64')}`; - } - // This handler cannot handle 401 - canHandleAuthentication() { - return false; - } - handleAuthentication() { - return __awaiter(this, void 0, void 0, function* () { - throw new Error('not implemented'); - }); - } -} -exports.PersonalAccessTokenCredentialHandler = PersonalAccessTokenCredentialHandler; -//# sourceMappingURL=auth.js.map - -/***/ }), - -/***/ 24437: -/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) { - - -/* eslint-disable @typescript-eslint/no-explicit-any */ -var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { - if (k2 === undefined) 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 === undefined) k2 = k; - o[k2] = m[k]; -})); -var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { - Object.defineProperty(o, "default", { enumerable: true, value: v }); -}) : function(o, v) { - o["default"] = v; -}); -var __importStar = (this && this.__importStar) || function (mod) { - if (mod && mod.__esModule) return mod; - var result = {}; - if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); - __setModuleDefault(result, mod); - return result; -}; -var __awaiter = (this && this.__awaiter) || function (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, reject) { - function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } - function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } - function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); -}; -Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.HttpClient = exports.isHttps = exports.HttpClientResponse = exports.HttpClientError = exports.getProxyUrl = exports.MediaTypes = exports.Headers = exports.HttpCodes = void 0; -const http = __importStar(__nccwpck_require__(58611)); -const https = __importStar(__nccwpck_require__(65692)); -const pm = __importStar(__nccwpck_require__(65693)); -const tunnel = __importStar(__nccwpck_require__(36259)); -const undici_1 = __nccwpck_require__(11861); -var HttpCodes; -(function (HttpCodes) { - HttpCodes[HttpCodes["OK"] = 200] = "OK"; - HttpCodes[HttpCodes["MultipleChoices"] = 300] = "MultipleChoices"; - HttpCodes[HttpCodes["MovedPermanently"] = 301] = "MovedPermanently"; - HttpCodes[HttpCodes["ResourceMoved"] = 302] = "ResourceMoved"; - HttpCodes[HttpCodes["SeeOther"] = 303] = "SeeOther"; - HttpCodes[HttpCodes["NotModified"] = 304] = "NotModified"; - HttpCodes[HttpCodes["UseProxy"] = 305] = "UseProxy"; - HttpCodes[HttpCodes["SwitchProxy"] = 306] = "SwitchProxy"; - HttpCodes[HttpCodes["TemporaryRedirect"] = 307] = "TemporaryRedirect"; - HttpCodes[HttpCodes["PermanentRedirect"] = 308] = "PermanentRedirect"; - HttpCodes[HttpCodes["BadRequest"] = 400] = "BadRequest"; - HttpCodes[HttpCodes["Unauthorized"] = 401] = "Unauthorized"; - HttpCodes[HttpCodes["PaymentRequired"] = 402] = "PaymentRequired"; - HttpCodes[HttpCodes["Forbidden"] = 403] = "Forbidden"; - HttpCodes[HttpCodes["NotFound"] = 404] = "NotFound"; - HttpCodes[HttpCodes["MethodNotAllowed"] = 405] = "MethodNotAllowed"; - HttpCodes[HttpCodes["NotAcceptable"] = 406] = "NotAcceptable"; - HttpCodes[HttpCodes["ProxyAuthenticationRequired"] = 407] = "ProxyAuthenticationRequired"; - HttpCodes[HttpCodes["RequestTimeout"] = 408] = "RequestTimeout"; - HttpCodes[HttpCodes["Conflict"] = 409] = "Conflict"; - HttpCodes[HttpCodes["Gone"] = 410] = "Gone"; - HttpCodes[HttpCodes["TooManyRequests"] = 429] = "TooManyRequests"; - HttpCodes[HttpCodes["InternalServerError"] = 500] = "InternalServerError"; - HttpCodes[HttpCodes["NotImplemented"] = 501] = "NotImplemented"; - HttpCodes[HttpCodes["BadGateway"] = 502] = "BadGateway"; - HttpCodes[HttpCodes["ServiceUnavailable"] = 503] = "ServiceUnavailable"; - HttpCodes[HttpCodes["GatewayTimeout"] = 504] = "GatewayTimeout"; -})(HttpCodes || (exports.HttpCodes = HttpCodes = {})); -var Headers; -(function (Headers) { - Headers["Accept"] = "accept"; - Headers["ContentType"] = "content-type"; -})(Headers || (exports.Headers = Headers = {})); -var MediaTypes; -(function (MediaTypes) { - MediaTypes["ApplicationJson"] = "application/json"; -})(MediaTypes || (exports.MediaTypes = MediaTypes = {})); -/** - * Returns the proxy URL, depending upon the supplied url and proxy environment variables. - * @param serverUrl The server URL where the request will be sent. For example, https://api.github.com - */ -function getProxyUrl(serverUrl) { - const proxyUrl = pm.getProxyUrl(new URL(serverUrl)); - return proxyUrl ? proxyUrl.href : ''; -} -exports.getProxyUrl = getProxyUrl; -const HttpRedirectCodes = [ - HttpCodes.MovedPermanently, - HttpCodes.ResourceMoved, - HttpCodes.SeeOther, - HttpCodes.TemporaryRedirect, - HttpCodes.PermanentRedirect -]; -const HttpResponseRetryCodes = [ - HttpCodes.BadGateway, - HttpCodes.ServiceUnavailable, - HttpCodes.GatewayTimeout -]; -const RetryableHttpVerbs = ['OPTIONS', 'GET', 'DELETE', 'HEAD']; -const ExponentialBackoffCeiling = 10; -const ExponentialBackoffTimeSlice = 5; -class HttpClientError extends Error { - constructor(message, statusCode) { - super(message); - this.name = 'HttpClientError'; - this.statusCode = statusCode; - Object.setPrototypeOf(this, HttpClientError.prototype); - } -} -exports.HttpClientError = HttpClientError; -class HttpClientResponse { - constructor(message) { - this.message = message; - } - readBody() { - return __awaiter(this, void 0, void 0, function* () { - return new Promise((resolve) => __awaiter(this, void 0, void 0, function* () { - let output = Buffer.alloc(0); - this.message.on('data', (chunk) => { - output = Buffer.concat([output, chunk]); - }); - this.message.on('end', () => { - resolve(output.toString()); - }); - })); - }); - } - readBodyBuffer() { - return __awaiter(this, void 0, void 0, function* () { - return new Promise((resolve) => __awaiter(this, void 0, void 0, function* () { - const chunks = []; - this.message.on('data', (chunk) => { - chunks.push(chunk); - }); - this.message.on('end', () => { - resolve(Buffer.concat(chunks)); - }); - })); - }); - } -} -exports.HttpClientResponse = HttpClientResponse; -function isHttps(requestUrl) { - const parsedUrl = new URL(requestUrl); - return parsedUrl.protocol === 'https:'; -} -exports.isHttps = isHttps; -class HttpClient { - constructor(userAgent, handlers, requestOptions) { - this._ignoreSslError = false; - this._allowRedirects = true; - this._allowRedirectDowngrade = false; - this._maxRedirects = 50; - this._allowRetries = false; - this._maxRetries = 1; - this._keepAlive = false; - this._disposed = false; - this.userAgent = userAgent; - this.handlers = handlers || []; - this.requestOptions = requestOptions; - if (requestOptions) { - if (requestOptions.ignoreSslError != null) { - this._ignoreSslError = requestOptions.ignoreSslError; - } - this._socketTimeout = requestOptions.socketTimeout; - if (requestOptions.allowRedirects != null) { - this._allowRedirects = requestOptions.allowRedirects; - } - if (requestOptions.allowRedirectDowngrade != null) { - this._allowRedirectDowngrade = requestOptions.allowRedirectDowngrade; - } - if (requestOptions.maxRedirects != null) { - this._maxRedirects = Math.max(requestOptions.maxRedirects, 0); - } - if (requestOptions.keepAlive != null) { - this._keepAlive = requestOptions.keepAlive; - } - if (requestOptions.allowRetries != null) { - this._allowRetries = requestOptions.allowRetries; - } - if (requestOptions.maxRetries != null) { - this._maxRetries = requestOptions.maxRetries; - } - } - } - options(requestUrl, additionalHeaders) { - return __awaiter(this, void 0, void 0, function* () { - return this.request('OPTIONS', requestUrl, null, additionalHeaders || {}); - }); - } - get(requestUrl, additionalHeaders) { - return __awaiter(this, void 0, void 0, function* () { - return this.request('GET', requestUrl, null, additionalHeaders || {}); - }); - } - del(requestUrl, additionalHeaders) { - return __awaiter(this, void 0, void 0, function* () { - return this.request('DELETE', requestUrl, null, additionalHeaders || {}); - }); - } - post(requestUrl, data, additionalHeaders) { - return __awaiter(this, void 0, void 0, function* () { - return this.request('POST', requestUrl, data, additionalHeaders || {}); - }); - } - patch(requestUrl, data, additionalHeaders) { - return __awaiter(this, void 0, void 0, function* () { - return this.request('PATCH', requestUrl, data, additionalHeaders || {}); - }); - } - put(requestUrl, data, additionalHeaders) { - return __awaiter(this, void 0, void 0, function* () { - return this.request('PUT', requestUrl, data, additionalHeaders || {}); - }); - } - head(requestUrl, additionalHeaders) { - return __awaiter(this, void 0, void 0, function* () { - return this.request('HEAD', requestUrl, null, additionalHeaders || {}); - }); - } - sendStream(verb, requestUrl, stream, additionalHeaders) { - return __awaiter(this, void 0, void 0, function* () { - return this.request(verb, requestUrl, stream, additionalHeaders); - }); - } - /** - * Gets a typed object from an endpoint - * Be aware that not found returns a null. Other errors (4xx, 5xx) reject the promise - */ - getJson(requestUrl, additionalHeaders = {}) { - return __awaiter(this, void 0, void 0, function* () { - additionalHeaders[Headers.Accept] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.Accept, MediaTypes.ApplicationJson); - const res = yield this.get(requestUrl, additionalHeaders); - return this._processResponse(res, this.requestOptions); - }); - } - postJson(requestUrl, obj, additionalHeaders = {}) { - return __awaiter(this, void 0, void 0, function* () { - const data = JSON.stringify(obj, null, 2); - additionalHeaders[Headers.Accept] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.Accept, MediaTypes.ApplicationJson); - additionalHeaders[Headers.ContentType] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.ContentType, MediaTypes.ApplicationJson); - const res = yield this.post(requestUrl, data, additionalHeaders); - return this._processResponse(res, this.requestOptions); - }); - } - putJson(requestUrl, obj, additionalHeaders = {}) { - return __awaiter(this, void 0, void 0, function* () { - const data = JSON.stringify(obj, null, 2); - additionalHeaders[Headers.Accept] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.Accept, MediaTypes.ApplicationJson); - additionalHeaders[Headers.ContentType] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.ContentType, MediaTypes.ApplicationJson); - const res = yield this.put(requestUrl, data, additionalHeaders); - return this._processResponse(res, this.requestOptions); - }); - } - patchJson(requestUrl, obj, additionalHeaders = {}) { - return __awaiter(this, void 0, void 0, function* () { - const data = JSON.stringify(obj, null, 2); - additionalHeaders[Headers.Accept] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.Accept, MediaTypes.ApplicationJson); - additionalHeaders[Headers.ContentType] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.ContentType, MediaTypes.ApplicationJson); - const res = yield this.patch(requestUrl, data, additionalHeaders); - return this._processResponse(res, this.requestOptions); - }); - } - /** - * Makes a raw http request. - * All other methods such as get, post, patch, and request ultimately call this. - * Prefer get, del, post and patch - */ - request(verb, requestUrl, data, headers) { - return __awaiter(this, void 0, void 0, function* () { - if (this._disposed) { - throw new Error('Client has already been disposed.'); - } - const parsedUrl = new URL(requestUrl); - let info = this._prepareRequest(verb, parsedUrl, headers); - // Only perform retries on reads since writes may not be idempotent. - const maxTries = this._allowRetries && RetryableHttpVerbs.includes(verb) - ? this._maxRetries + 1 - : 1; - let numTries = 0; - let response; - do { - response = yield this.requestRaw(info, data); - // Check if it's an authentication challenge - if (response && - response.message && - response.message.statusCode === HttpCodes.Unauthorized) { - let authenticationHandler; - for (const handler of this.handlers) { - if (handler.canHandleAuthentication(response)) { - authenticationHandler = handler; - break; - } - } - if (authenticationHandler) { - return authenticationHandler.handleAuthentication(this, info, data); - } - else { - // We have received an unauthorized response but have no handlers to handle it. - // Let the response return to the caller. - return response; - } - } - let redirectsRemaining = this._maxRedirects; - while (response.message.statusCode && - HttpRedirectCodes.includes(response.message.statusCode) && - this._allowRedirects && - redirectsRemaining > 0) { - const redirectUrl = response.message.headers['location']; - if (!redirectUrl) { - // if there's no location to redirect to, we won't - break; - } - const parsedRedirectUrl = new URL(redirectUrl); - if (parsedUrl.protocol === 'https:' && - parsedUrl.protocol !== parsedRedirectUrl.protocol && - !this._allowRedirectDowngrade) { - throw new Error('Redirect from HTTPS to HTTP protocol. This downgrade is not allowed for security reasons. If you want to allow this behavior, set the allowRedirectDowngrade option to true.'); - } - // we need to finish reading the response before reassigning response - // which will leak the open socket. - yield response.readBody(); - // strip authorization header if redirected to a different hostname - if (parsedRedirectUrl.hostname !== parsedUrl.hostname) { - for (const header in headers) { - // header names are case insensitive - if (header.toLowerCase() === 'authorization') { - delete headers[header]; - } - } - } - // let's make the request with the new redirectUrl - info = this._prepareRequest(verb, parsedRedirectUrl, headers); - response = yield this.requestRaw(info, data); - redirectsRemaining--; - } - if (!response.message.statusCode || - !HttpResponseRetryCodes.includes(response.message.statusCode)) { - // If not a retry code, return immediately instead of retrying - return response; - } - numTries += 1; - if (numTries < maxTries) { - yield response.readBody(); - yield this._performExponentialBackoff(numTries); - } - } while (numTries < maxTries); - return response; - }); - } - /** - * Needs to be called if keepAlive is set to true in request options. - */ - dispose() { - if (this._agent) { - this._agent.destroy(); - } - this._disposed = true; - } - /** - * Raw request. - * @param info - * @param data - */ - requestRaw(info, data) { - return __awaiter(this, void 0, void 0, function* () { - return new Promise((resolve, reject) => { - function callbackForResult(err, res) { - if (err) { - reject(err); - } - else if (!res) { - // If `err` is not passed, then `res` must be passed. - reject(new Error('Unknown error')); - } - else { - resolve(res); - } - } - this.requestRawWithCallback(info, data, callbackForResult); - }); - }); - } - /** - * Raw request with callback. - * @param info - * @param data - * @param onResult - */ - requestRawWithCallback(info, data, onResult) { - if (typeof data === 'string') { - if (!info.options.headers) { - info.options.headers = {}; - } - info.options.headers['Content-Length'] = Buffer.byteLength(data, 'utf8'); - } - let callbackCalled = false; - function handleResult(err, res) { - if (!callbackCalled) { - callbackCalled = true; - onResult(err, res); - } - } - const req = info.httpModule.request(info.options, (msg) => { - const res = new HttpClientResponse(msg); - handleResult(undefined, res); - }); - let socket; - req.on('socket', sock => { - socket = sock; - }); - // If we ever get disconnected, we want the socket to timeout eventually - req.setTimeout(this._socketTimeout || 3 * 60000, () => { - if (socket) { - socket.end(); - } - handleResult(new Error(`Request timeout: ${info.options.path}`)); - }); - req.on('error', function (err) { - // err has statusCode property - // res should have headers - handleResult(err); - }); - if (data && typeof data === 'string') { - req.write(data, 'utf8'); - } - if (data && typeof data !== 'string') { - data.on('close', function () { - req.end(); - }); - data.pipe(req); - } - else { - req.end(); - } - } - /** - * Gets an http agent. This function is useful when you need an http agent that handles - * routing through a proxy server - depending upon the url and proxy environment variables. - * @param serverUrl The server URL where the request will be sent. For example, https://api.github.com - */ - getAgent(serverUrl) { - const parsedUrl = new URL(serverUrl); - return this._getAgent(parsedUrl); - } - getAgentDispatcher(serverUrl) { - const parsedUrl = new URL(serverUrl); - const proxyUrl = pm.getProxyUrl(parsedUrl); - const useProxy = proxyUrl && proxyUrl.hostname; - if (!useProxy) { - return; - } - return this._getProxyAgentDispatcher(parsedUrl, proxyUrl); - } - _prepareRequest(method, requestUrl, headers) { - const info = {}; - info.parsedUrl = requestUrl; - const usingSsl = info.parsedUrl.protocol === 'https:'; - info.httpModule = usingSsl ? https : http; - const defaultPort = usingSsl ? 443 : 80; - info.options = {}; - info.options.host = info.parsedUrl.hostname; - info.options.port = info.parsedUrl.port - ? parseInt(info.parsedUrl.port) - : defaultPort; - info.options.path = - (info.parsedUrl.pathname || '') + (info.parsedUrl.search || ''); - info.options.method = method; - info.options.headers = this._mergeHeaders(headers); - if (this.userAgent != null) { - info.options.headers['user-agent'] = this.userAgent; - } - info.options.agent = this._getAgent(info.parsedUrl); - // gives handlers an opportunity to participate - if (this.handlers) { - for (const handler of this.handlers) { - handler.prepareRequest(info.options); - } - } - return info; - } - _mergeHeaders(headers) { - if (this.requestOptions && this.requestOptions.headers) { - return Object.assign({}, lowercaseKeys(this.requestOptions.headers), lowercaseKeys(headers || {})); - } - return lowercaseKeys(headers || {}); - } - _getExistingOrDefaultHeader(additionalHeaders, header, _default) { - let clientHeader; - if (this.requestOptions && this.requestOptions.headers) { - clientHeader = lowercaseKeys(this.requestOptions.headers)[header]; - } - return additionalHeaders[header] || clientHeader || _default; - } - _getAgent(parsedUrl) { - let agent; - const proxyUrl = pm.getProxyUrl(parsedUrl); - const useProxy = proxyUrl && proxyUrl.hostname; - if (this._keepAlive && useProxy) { - agent = this._proxyAgent; - } - if (!useProxy) { - agent = this._agent; - } - // if agent is already assigned use that agent. - if (agent) { - return agent; - } - const usingSsl = parsedUrl.protocol === 'https:'; - let maxSockets = 100; - if (this.requestOptions) { - maxSockets = this.requestOptions.maxSockets || http.globalAgent.maxSockets; - } - // This is `useProxy` again, but we need to check `proxyURl` directly for TypeScripts's flow analysis. - if (proxyUrl && proxyUrl.hostname) { - const agentOptions = { - maxSockets, - keepAlive: this._keepAlive, - proxy: Object.assign(Object.assign({}, ((proxyUrl.username || proxyUrl.password) && { - proxyAuth: `${proxyUrl.username}:${proxyUrl.password}` - })), { host: proxyUrl.hostname, port: proxyUrl.port }) - }; - let tunnelAgent; - const overHttps = proxyUrl.protocol === 'https:'; - if (usingSsl) { - tunnelAgent = overHttps ? tunnel.httpsOverHttps : tunnel.httpsOverHttp; - } - else { - tunnelAgent = overHttps ? tunnel.httpOverHttps : tunnel.httpOverHttp; - } - agent = tunnelAgent(agentOptions); - this._proxyAgent = agent; - } - // if tunneling agent isn't assigned create a new agent - if (!agent) { - const options = { keepAlive: this._keepAlive, maxSockets }; - agent = usingSsl ? new https.Agent(options) : new http.Agent(options); - this._agent = agent; - } - if (usingSsl && this._ignoreSslError) { - // we don't want to set NODE_TLS_REJECT_UNAUTHORIZED=0 since that will affect request for entire process - // http.RequestOptions doesn't expose a way to modify RequestOptions.agent.options - // we have to cast it to any and change it directly - agent.options = Object.assign(agent.options || {}, { - rejectUnauthorized: false - }); - } - return agent; - } - _getProxyAgentDispatcher(parsedUrl, proxyUrl) { - let proxyAgent; - if (this._keepAlive) { - proxyAgent = this._proxyAgentDispatcher; - } - // if agent is already assigned use that agent. - if (proxyAgent) { - return proxyAgent; - } - const usingSsl = parsedUrl.protocol === 'https:'; - proxyAgent = new undici_1.ProxyAgent(Object.assign({ uri: proxyUrl.href, pipelining: !this._keepAlive ? 0 : 1 }, ((proxyUrl.username || proxyUrl.password) && { - token: `Basic ${Buffer.from(`${proxyUrl.username}:${proxyUrl.password}`).toString('base64')}` - }))); - this._proxyAgentDispatcher = proxyAgent; - if (usingSsl && this._ignoreSslError) { - // we don't want to set NODE_TLS_REJECT_UNAUTHORIZED=0 since that will affect request for entire process - // http.RequestOptions doesn't expose a way to modify RequestOptions.agent.options - // we have to cast it to any and change it directly - proxyAgent.options = Object.assign(proxyAgent.options.requestTls || {}, { - rejectUnauthorized: false - }); - } - return proxyAgent; - } - _performExponentialBackoff(retryNumber) { - return __awaiter(this, void 0, void 0, function* () { - retryNumber = Math.min(ExponentialBackoffCeiling, retryNumber); - const ms = ExponentialBackoffTimeSlice * Math.pow(2, retryNumber); - return new Promise(resolve => setTimeout(() => resolve(), ms)); - }); - } - _processResponse(res, options) { - return __awaiter(this, void 0, void 0, function* () { - return new Promise((resolve, reject) => __awaiter(this, void 0, void 0, function* () { - const statusCode = res.message.statusCode || 0; - const response = { - statusCode, - result: null, - headers: {} - }; - // not found leads to null obj returned - if (statusCode === HttpCodes.NotFound) { - resolve(response); - } - // get the result from the body - function dateTimeDeserializer(key, value) { - if (typeof value === 'string') { - const a = new Date(value); - if (!isNaN(a.valueOf())) { - return a; - } - } - return value; - } - let obj; - let contents; - try { - contents = yield res.readBody(); - if (contents && contents.length > 0) { - if (options && options.deserializeDates) { - obj = JSON.parse(contents, dateTimeDeserializer); - } - else { - obj = JSON.parse(contents); - } - response.result = obj; - } - response.headers = res.message.headers; - } - catch (err) { - // Invalid resource (contents not json); leaving result obj null - } - // note that 3xx redirects are handled by the http layer. - if (statusCode > 299) { - let msg; - // if exception/error in body, attempt to get better error - if (obj && obj.message) { - msg = obj.message; - } - else if (contents && contents.length > 0) { - // it may be the case that the exception is in the body message as string - msg = contents; - } - else { - msg = `Failed request: (${statusCode})`; - } - const err = new HttpClientError(msg, statusCode); - err.result = response.result; - reject(err); - } - else { - resolve(response); - } - })); - }); - } -} -exports.HttpClient = HttpClient; -const lowercaseKeys = (obj) => Object.keys(obj).reduce((c, k) => ((c[k.toLowerCase()] = obj[k]), c), {}); -//# sourceMappingURL=index.js.map - -/***/ }), - -/***/ 65693: -/***/ ((__unused_webpack_module, exports) => { - - -Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.checkBypass = exports.getProxyUrl = void 0; -function getProxyUrl(reqUrl) { - const usingSsl = reqUrl.protocol === 'https:'; - if (checkBypass(reqUrl)) { - return undefined; - } - const proxyVar = (() => { - if (usingSsl) { - return process.env['https_proxy'] || process.env['HTTPS_PROXY']; - } - else { - return process.env['http_proxy'] || process.env['HTTP_PROXY']; - } - })(); - if (proxyVar) { - try { - return new DecodedURL(proxyVar); - } - catch (_a) { - if (!proxyVar.startsWith('http://') && !proxyVar.startsWith('https://')) - return new DecodedURL(`http://${proxyVar}`); - } - } - else { - return undefined; - } -} -exports.getProxyUrl = getProxyUrl; -function checkBypass(reqUrl) { - if (!reqUrl.hostname) { - return false; - } - const reqHost = reqUrl.hostname; - if (isLoopbackAddress(reqHost)) { - return true; - } - const noProxy = process.env['no_proxy'] || process.env['NO_PROXY'] || ''; - if (!noProxy) { - return false; - } - // Determine the request port - let reqPort; - if (reqUrl.port) { - reqPort = Number(reqUrl.port); - } - else if (reqUrl.protocol === 'http:') { - reqPort = 80; - } - else if (reqUrl.protocol === 'https:') { - reqPort = 443; - } - // Format the request hostname and hostname with port - const upperReqHosts = [reqUrl.hostname.toUpperCase()]; - if (typeof reqPort === 'number') { - upperReqHosts.push(`${upperReqHosts[0]}:${reqPort}`); - } - // Compare request host against noproxy - for (const upperNoProxyItem of noProxy - .split(',') - .map(x => x.trim().toUpperCase()) - .filter(x => x)) { - if (upperNoProxyItem === '*' || - upperReqHosts.some(x => x === upperNoProxyItem || - x.endsWith(`.${upperNoProxyItem}`) || - (upperNoProxyItem.startsWith('.') && - x.endsWith(`${upperNoProxyItem}`)))) { - return true; - } - } - return false; -} -exports.checkBypass = checkBypass; -function isLoopbackAddress(host) { - const hostLower = host.toLowerCase(); - return (hostLower === 'localhost' || - hostLower.startsWith('127.') || - hostLower.startsWith('[::1]') || - hostLower.startsWith('[0:0:0:0:0:0:0:1]')); -} -class DecodedURL extends URL { - constructor(url, base) { - super(url, base); - this._decodedUsername = decodeURIComponent(super.username); - this._decodedPassword = decodeURIComponent(super.password); - } - get username() { - return this._decodedUsername; - } - get password() { - return this._decodedPassword; - } -} -//# sourceMappingURL=proxy.js.map - -/***/ }), - -/***/ 56236: -/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) { - - -var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); -}) : (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - o[k2] = m[k]; -})); -var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { - Object.defineProperty(o, "default", { enumerable: true, value: v }); -}) : function(o, v) { - o["default"] = v; -}); -var __importStar = (this && this.__importStar) || function (mod) { - if (mod && mod.__esModule) return mod; - var result = {}; - if (mod != null) for (var k in mod) if (k !== "default" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); - __setModuleDefault(result, mod); - return result; -}; -var __awaiter = (this && this.__awaiter) || function (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, reject) { - function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } - function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } - function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); -}; -var _a; -Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.getCmdPath = exports.tryGetExecutablePath = exports.isRooted = exports.isDirectory = exports.exists = exports.READONLY = exports.UV_FS_O_EXLOCK = exports.IS_WINDOWS = exports.unlink = exports.symlink = exports.stat = exports.rmdir = exports.rm = exports.rename = exports.readlink = exports.readdir = exports.open = exports.mkdir = exports.lstat = exports.copyFile = exports.chmod = void 0; -const fs = __importStar(__nccwpck_require__(79896)); -const path = __importStar(__nccwpck_require__(16928)); -_a = fs.promises -// export const {open} = 'fs' -, exports.chmod = _a.chmod, exports.copyFile = _a.copyFile, exports.lstat = _a.lstat, exports.mkdir = _a.mkdir, exports.open = _a.open, exports.readdir = _a.readdir, exports.readlink = _a.readlink, exports.rename = _a.rename, exports.rm = _a.rm, exports.rmdir = _a.rmdir, exports.stat = _a.stat, exports.symlink = _a.symlink, exports.unlink = _a.unlink; -// export const {open} = 'fs' -exports.IS_WINDOWS = process.platform === 'win32'; -// See https://github.com/nodejs/node/blob/d0153aee367422d0858105abec186da4dff0a0c5/deps/uv/include/uv/win.h#L691 -exports.UV_FS_O_EXLOCK = 0x10000000; -exports.READONLY = fs.constants.O_RDONLY; -function exists(fsPath) { - return __awaiter(this, void 0, void 0, function* () { - try { - yield exports.stat(fsPath); - } - catch (err) { - if (err.code === 'ENOENT') { - return false; - } - throw err; - } - return true; - }); -} -exports.exists = exists; -function isDirectory(fsPath, useStat = false) { - return __awaiter(this, void 0, void 0, function* () { - const stats = useStat ? yield exports.stat(fsPath) : yield exports.lstat(fsPath); - return stats.isDirectory(); - }); -} -exports.isDirectory = isDirectory; -/** - * On OSX/Linux, true if path starts with '/'. On Windows, true for paths like: - * \, \hello, \\hello\share, C:, and C:\hello (and corresponding alternate separator cases). - */ -function isRooted(p) { - p = normalizeSeparators(p); - if (!p) { - throw new Error('isRooted() parameter "p" cannot be empty'); - } - if (exports.IS_WINDOWS) { - return (p.startsWith('\\') || /^[A-Z]:/i.test(p) // e.g. \ or \hello or \\hello - ); // e.g. C: or C:\hello - } - return p.startsWith('/'); -} -exports.isRooted = isRooted; -/** - * Best effort attempt to determine whether a file exists and is executable. - * @param filePath file path to check - * @param extensions additional file extensions to try - * @return if file exists and is executable, returns the file path. otherwise empty string. - */ -function tryGetExecutablePath(filePath, extensions) { - return __awaiter(this, void 0, void 0, function* () { - let stats = undefined; - try { - // test file exists - stats = yield exports.stat(filePath); - } - catch (err) { - if (err.code !== 'ENOENT') { - // eslint-disable-next-line no-console - console.log(`Unexpected error attempting to determine if executable file exists '${filePath}': ${err}`); - } - } - if (stats && stats.isFile()) { - if (exports.IS_WINDOWS) { - // on Windows, test for valid extension - const upperExt = path.extname(filePath).toUpperCase(); - if (extensions.some(validExt => validExt.toUpperCase() === upperExt)) { - return filePath; - } - } - else { - if (isUnixExecutable(stats)) { - return filePath; - } - } - } - // try each extension - const originalFilePath = filePath; - for (const extension of extensions) { - filePath = originalFilePath + extension; - stats = undefined; - try { - stats = yield exports.stat(filePath); - } - catch (err) { - if (err.code !== 'ENOENT') { - // eslint-disable-next-line no-console - console.log(`Unexpected error attempting to determine if executable file exists '${filePath}': ${err}`); - } - } - if (stats && stats.isFile()) { - if (exports.IS_WINDOWS) { - // preserve the case of the actual file (since an extension was appended) - try { - const directory = path.dirname(filePath); - const upperName = path.basename(filePath).toUpperCase(); - for (const actualName of yield exports.readdir(directory)) { - if (upperName === actualName.toUpperCase()) { - filePath = path.join(directory, actualName); - break; - } - } - } - catch (err) { - // eslint-disable-next-line no-console - console.log(`Unexpected error attempting to determine the actual case of the file '${filePath}': ${err}`); - } - return filePath; - } - else { - if (isUnixExecutable(stats)) { - return filePath; - } - } - } - } - return ''; - }); -} -exports.tryGetExecutablePath = tryGetExecutablePath; -function normalizeSeparators(p) { - p = p || ''; - if (exports.IS_WINDOWS) { - // convert slashes on Windows - p = p.replace(/\//g, '\\'); - // remove redundant slashes - return p.replace(/\\\\+/g, '\\'); - } - // remove redundant slashes - return p.replace(/\/\/+/g, '/'); -} -// on Mac/Linux, test the execute bit -// R W X R W X R W X -// 256 128 64 32 16 8 4 2 1 -function isUnixExecutable(stats) { - return ((stats.mode & 1) > 0 || - ((stats.mode & 8) > 0 && stats.gid === process.getgid()) || - ((stats.mode & 64) > 0 && stats.uid === process.getuid())); -} -// Get the path of cmd.exe in windows -function getCmdPath() { - var _a; - return (_a = process.env['COMSPEC']) !== null && _a !== void 0 ? _a : `cmd.exe`; -} -exports.getCmdPath = getCmdPath; -//# sourceMappingURL=io-util.js.map - -/***/ }), - -/***/ 21907: -/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) { - - -var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); -}) : (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - o[k2] = m[k]; -})); -var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { - Object.defineProperty(o, "default", { enumerable: true, value: v }); -}) : function(o, v) { - o["default"] = v; -}); -var __importStar = (this && this.__importStar) || function (mod) { - if (mod && mod.__esModule) return mod; - var result = {}; - if (mod != null) for (var k in mod) if (k !== "default" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); - __setModuleDefault(result, mod); - return result; -}; -var __awaiter = (this && this.__awaiter) || function (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, reject) { - function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } - function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } - function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); -}; -Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.findInPath = exports.which = exports.mkdirP = exports.rmRF = exports.mv = exports.cp = void 0; -const assert_1 = __nccwpck_require__(42613); -const path = __importStar(__nccwpck_require__(16928)); -const ioUtil = __importStar(__nccwpck_require__(56236)); -/** - * Copies a file or folder. - * Based off of shelljs - https://github.com/shelljs/shelljs/blob/9237f66c52e5daa40458f94f9565e18e8132f5a6/src/cp.js + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: * - * @param source source path - * @param dest destination path - * @param options optional. See CopyOptions. - */ -function cp(source, dest, options = {}) { - return __awaiter(this, void 0, void 0, function* () { - const { force, recursive, copySourceDirectory } = readCopyOptions(options); - const destStat = (yield ioUtil.exists(dest)) ? yield ioUtil.stat(dest) : null; - // Dest is an existing file, but not forcing - if (destStat && destStat.isFile() && !force) { - return; - } - // If dest is an existing directory, should copy inside. - const newDest = destStat && destStat.isDirectory() && copySourceDirectory - ? path.join(dest, path.basename(source)) - : dest; - if (!(yield ioUtil.exists(source))) { - throw new Error(`no such file or directory: ${source}`); - } - const sourceStat = yield ioUtil.stat(source); - if (sourceStat.isDirectory()) { - if (!recursive) { - throw new Error(`Failed to copy. ${source} is a directory, but tried to copy without recursive flag.`); - } - else { - yield cpDirRecursive(source, newDest, 0, force); - } - } - else { - if (path.relative(source, newDest) === '') { - // a file cannot be copied to itself - throw new Error(`'${newDest}' and '${source}' are the same file`); - } - yield copyFile(source, newDest, force); - } - }); -} -exports.cp = cp; -/** - * Moves a path. + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. * - * @param source source path - * @param dest destination path - * @param options optional. See MoveOptions. - */ -function mv(source, dest, options = {}) { - return __awaiter(this, void 0, void 0, function* () { - if (yield ioUtil.exists(dest)) { - let destExists = true; - if (yield ioUtil.isDirectory(dest)) { - // If dest is directory copy src into dest - dest = path.join(dest, path.basename(source)); - destExists = yield ioUtil.exists(dest); - } - if (destExists) { - if (options.force == null || options.force) { - yield rmRF(dest); - } - else { - throw new Error('Destination already exists'); - } - } - } - yield mkdirP(path.dirname(dest)); - yield ioUtil.rename(source, dest); - }); -} -exports.mv = mv; -/** - * Remove a path recursively with force + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. * - * @param inputPath path to remove + * 3. Neither the name of Salesforce.com nor the names of its contributors may + * be used to endorse or promote products derived from this software without + * specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. */ -function rmRF(inputPath) { - return __awaiter(this, void 0, void 0, function* () { - if (ioUtil.IS_WINDOWS) { - // Check for invalid characters - // https://docs.microsoft.com/en-us/windows/win32/fileio/naming-a-file - if (/[*"<>|]/.test(inputPath)) { - throw new Error('File path must not contain `*`, `"`, `<`, `>` or `|` on Windows'); - } - } - try { - // note if path does not exist, error is silent - yield ioUtil.rm(inputPath, { - force: true, - maxRetries: 3, - recursive: true, - retryDelay: 300 - }); - } - catch (err) { - throw new Error(`File was unable to be removed ${err}`); - } - }); -} -exports.rmRF = rmRF; -/** - * Make a directory. Creates the full path with folders in between - * Will throw if it fails +const tn=en(45726);const nn=["local","example","invalid","localhost","test"];const an=["localhost","invalid"];function getPublicSuffix(Wt,Pt={}){const en=Wt.split(".");const In=en[en.length-1];const rn=!!Pt.allowSpecialUseDomain;const sn=!!Pt.ignoreError;if(rn&&nn.includes(In)){if(en.length>1){const Wt=en[en.length-2];return`${Wt}.${In}`}else if(an.includes(In)){return`${In}`}}if(!sn&&nn.includes(In)){throw new Error(`Cookie has domain set to the public suffix "${In}" which is a special use domain. To allow this, configure your CookieJar with {allowSpecialUseDomain:true, rejectPublicSuffixes: false}.`)}return tn.get(Wt)}Pt.getPublicSuffix=getPublicSuffix},66849:(Wt,Pt)=>{ +/*! + * Copyright (c) 2015, Salesforce.com, Inc. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * 3. Neither the name of Salesforce.com nor the names of its contributors may + * be used to endorse or promote products derived from this software without + * specific prior written permission. * - * @param fsPath path to create - * @returns Promise + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. */ -function mkdirP(fsPath) { - return __awaiter(this, void 0, void 0, function* () { - assert_1.ok(fsPath, 'a path argument must be provided'); - yield ioUtil.mkdir(fsPath, { recursive: true }); - }); -} -exports.mkdirP = mkdirP; +class Store{constructor(){this.synchronous=false}findCookie(Wt,Pt,en,tn){throw new Error("findCookie is not implemented")}findCookies(Wt,Pt,en,tn){throw new Error("findCookies is not implemented")}putCookie(Wt,Pt){throw new Error("putCookie is not implemented")}updateCookie(Wt,Pt,en){throw new Error("updateCookie is not implemented")}removeCookie(Wt,Pt,en,tn){throw new Error("removeCookie is not implemented")}removeCookies(Wt,Pt,en){throw new Error("removeCookies is not implemented")}removeAllCookies(Wt){throw new Error("removeAllCookies is not implemented")}getAllCookies(Wt){throw new Error("getAllCookies is not implemented (therefore jar cannot be serialized)")}}Pt.i=Store},73930:(Wt,Pt,en)=>{function requireUtil(){try{return en(39023)}catch(Wt){return null}}function lookupCustomInspectSymbol(){return Symbol.for("nodejs.util.inspect.custom")}function tryReadingCustomSymbolFromUtilInspect(Wt){const Pt=Wt.requireUtil||requireUtil;const en=Pt();return en?en.inspect.custom:null}Pt.getUtilInspect=function getUtilInspect(Wt,Pt={}){const en=Pt.requireUtil||requireUtil;const tn=en();return function inspect(Pt,en,nn){return tn?tn.inspect(Pt,en,nn):Wt(Pt)}};Pt.getCustomInspectSymbol=function getCustomInspectSymbol(Wt={}){const Pt=Wt.lookupCustomInspectSymbol||lookupCustomInspectSymbol;return Pt()||tryReadingCustomSymbolFromUtilInspect(Wt)}},28977:(Wt,Pt)=>{const en=Object.prototype.toString;function isFunction(Wt){return typeof Wt==="function"}function isNonEmptyString(Wt){return isString(Wt)&&Wt!==""}function isDate(Wt){return isInstanceStrict(Wt,Date)&&isInteger(Wt.getTime())}function isEmptyString(Wt){return Wt===""||Wt instanceof String&&Wt.toString()===""}function isString(Wt){return typeof Wt==="string"||Wt instanceof String}function isObject(Wt){return en.call(Wt)==="[object Object]"}function isInstanceStrict(Wt,Pt){try{return Wt instanceof Pt}catch(Wt){return false}}function isUrlStringOrObject(Wt){return isNonEmptyString(Wt)||isObject(Wt)&&"hostname"in Wt&&"pathname"in Wt&&"protocol"in Wt||isInstanceStrict(Wt,URL)}function isInteger(Wt){return typeof Wt==="number"&&Wt%1===0}function validate(Wt,Pt,en){if(!isFunction(Pt)){en=Pt;Pt=null}if(!isObject(en))en={Error:"Failed Check"};if(!Wt){if(Pt){Pt(new ParameterError(en))}else{throw new ParameterError(en)}}}class ParameterError extends Error{constructor(...Wt){super(...Wt)}}Pt.ParameterError=ParameterError;Pt.isFunction=isFunction;Pt.isNonEmptyString=isNonEmptyString;Pt.isDate=isDate;Pt.isEmptyString=isEmptyString;Pt.isString=isString;Pt.isObject=isObject;Pt.isUrlStringOrObject=isUrlStringOrObject;Pt.validate=validate},91492:Wt=>{Wt.exports="4.1.4"},1552:(Wt,Pt,en)=>{const tn=en(98328);const nn=en(97023);const an=en(92472);const{STATUS_MAPPING:In}=en(9156);function containsNonASCII(Wt){return/[^\x00-\x7F]/u.test(Wt)}function findStatus(Wt,{useSTD3ASCIIRules:Pt}){let en=0;let tn=an.length-1;while(en<=tn){const nn=Math.floor((en+tn)/2);const rn=an[nn];const sn=Array.isArray(rn[0])?rn[0][0]:rn[0];const on=Array.isArray(rn[0])?rn[0][1]:rn[0];if(sn<=Wt&&on>=Wt){if(Pt&&(rn[1]===In.disallowed_STD3_valid||rn[1]===In.disallowed_STD3_mapped)){return[In.disallowed,...rn.slice(2)]}else if(rn[1]===In.disallowed_STD3_valid){return[In.valid,...rn.slice(2)]}else if(rn[1]===In.disallowed_STD3_mapped){return[In.mapped,...rn.slice(2)]}return rn.slice(1)}else if(sn>Wt){tn=nn-1}else{en=nn+1}}return null}function mapChars(Wt,{useSTD3ASCIIRules:Pt,transitionalProcessing:en}){let tn="";for(const nn of Wt){const[Wt,an]=findStatus(nn.codePointAt(0),{useSTD3ASCIIRules:Pt});switch(Wt){case In.disallowed:tn+=nn;break;case In.ignored:break;case In.mapped:if(en&&nn==="ẞ"){tn+="ss"}else{tn+=an}break;case In.deviation:if(en){tn+=an}else{tn+=nn}break;case In.valid:tn+=nn;break}}return tn}function validateLabel(Wt,{checkHyphens:Pt,checkBidi:en,checkJoiners:tn,transitionalProcessing:an,useSTD3ASCIIRules:rn,isBidi:sn}){if(Wt.length===0){return true}if(Wt.normalize("NFC")!==Wt){return false}const on=Array.from(Wt);if(Pt){if(on[2]==="-"&&on[3]==="-"||(Wt.startsWith("-")||Wt.endsWith("-"))){return false}}if(Wt.includes(".")){return false}if(nn.combiningMarks.test(on[0])){return false}for(const Wt of on){const[Pt]=findStatus(Wt.codePointAt(0),{useSTD3ASCIIRules:rn});if(an){if(Pt!==In.valid){return false}}else if(Pt!==In.valid&&Pt!==In.deviation){return false}}if(tn){let Wt=0;for(const[Pt,en]of on.entries()){if(en==="‌"||en==="‍"){if(Pt>0){if(nn.combiningClassVirama.test(on[Pt-1])){continue}if(en==="‌"){const en=on.indexOf("‌",Pt+1);const tn=en<0?on.slice(Wt):on.slice(Wt,en);if(nn.validZWNJ.test(tn.join(""))){Wt=Pt+1;continue}}}return false}}}if(en&&sn){let Pt;if(nn.bidiS1LTR.test(on[0])){Pt=false}else if(nn.bidiS1RTL.test(on[0])){Pt=true}else{return false}if(Pt){if(!nn.bidiS2.test(Wt)||!nn.bidiS3.test(Wt)||nn.bidiS4EN.test(Wt)&&nn.bidiS4AN.test(Wt)){return false}}else if(!nn.bidiS5.test(Wt)||!nn.bidiS6.test(Wt)){return false}}return true}function isBidiDomain(Wt){const Pt=Wt.map((Wt=>{if(Wt.startsWith("xn--")){try{return tn.decode(Wt.substring(4))}catch(Wt){return""}}return Wt})).join(".");return nn.bidiDomain.test(Pt)}function processing(Wt,Pt){let en=mapChars(Wt,Pt);en=en.normalize("NFC");const nn=en.split(".");const an=isBidiDomain(nn);let In=false;for(const[Wt,en]of nn.entries()){let rn=en;let sn=Pt.transitionalProcessing;if(rn.startsWith("xn--")){if(containsNonASCII(rn)){In=true;continue}try{rn=tn.decode(rn.substring(4))}catch{if(!Pt.ignoreInvalidPunycode){In=true;continue}}nn[Wt]=rn;sn=false}if(In){continue}const on=validateLabel(rn,{...Pt,transitionalProcessing:sn,isBidi:an});if(!on){In=true}}return{string:nn.join("."),error:In}}function toASCII(Wt,{checkHyphens:Pt=false,checkBidi:en=false,checkJoiners:nn=false,useSTD3ASCIIRules:an=false,verifyDNSLength:In=false,transitionalProcessing:rn=false,ignoreInvalidPunycode:sn=false}={}){const on=processing(Wt,{checkHyphens:Pt,checkBidi:en,checkJoiners:nn,useSTD3ASCIIRules:an,transitionalProcessing:rn,ignoreInvalidPunycode:sn});let cn=on.string.split(".");cn=cn.map((Wt=>{if(containsNonASCII(Wt)){try{return`xn--${tn.encode(Wt)}`}catch(Wt){on.error=true}}return Wt}));if(In){const Wt=cn.join(".").length;if(Wt>253||Wt===0){on.error=true}for(let Wt=0;Wt63||cn[Wt].length===0){on.error=true;break}}}if(on.error){return null}return cn.join(".")}function toUnicode(Wt,{checkHyphens:Pt=false,checkBidi:en=false,checkJoiners:tn=false,useSTD3ASCIIRules:nn=false,transitionalProcessing:an=false,ignoreInvalidPunycode:In=false}={}){const rn=processing(Wt,{checkHyphens:Pt,checkBidi:en,checkJoiners:tn,useSTD3ASCIIRules:nn,transitionalProcessing:an,ignoreInvalidPunycode:In});return{domain:rn.string,error:rn.error}}Wt.exports={toASCII:toASCII,toUnicode:toUnicode}},97023:Wt=>{const Pt=/[\u0300-\u036F\u0483-\u0489\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u0610-\u061A\u064B-\u065F\u0670\u06D6-\u06DC\u06DF-\u06E4\u06E7\u06E8\u06EA-\u06ED\u0711\u0730-\u074A\u07A6-\u07B0\u07EB-\u07F3\u07FD\u0816-\u0819\u081B-\u0823\u0825-\u0827\u0829-\u082D\u0859-\u085B\u0898-\u089F\u08CA-\u08E1\u08E3-\u0903\u093A-\u093C\u093E-\u094F\u0951-\u0957\u0962\u0963\u0981-\u0983\u09BC\u09BE-\u09C4\u09C7\u09C8\u09CB-\u09CD\u09D7\u09E2\u09E3\u09FE\u0A01-\u0A03\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A70\u0A71\u0A75\u0A81-\u0A83\u0ABC\u0ABE-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AE2\u0AE3\u0AFA-\u0AFF\u0B01-\u0B03\u0B3C\u0B3E-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B55-\u0B57\u0B62\u0B63\u0B82\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD7\u0C00-\u0C04\u0C3C\u0C3E-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C62\u0C63\u0C81-\u0C83\u0CBC\u0CBE-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CE2\u0CE3\u0CF3\u0D00-\u0D03\u0D3B\u0D3C\u0D3E-\u0D44\u0D46-\u0D48\u0D4A-\u0D4D\u0D57\u0D62\u0D63\u0D81-\u0D83\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DF2\u0DF3\u0E31\u0E34-\u0E3A\u0E47-\u0E4E\u0EB1\u0EB4-\u0EBC\u0EC8-\u0ECE\u0F18\u0F19\u0F35\u0F37\u0F39\u0F3E\u0F3F\u0F71-\u0F84\u0F86\u0F87\u0F8D-\u0F97\u0F99-\u0FBC\u0FC6\u102B-\u103E\u1056-\u1059\u105E-\u1060\u1062-\u1064\u1067-\u106D\u1071-\u1074\u1082-\u108D\u108F\u109A-\u109D\u135D-\u135F\u1712-\u1715\u1732-\u1734\u1752\u1753\u1772\u1773\u17B4-\u17D3\u17DD\u180B-\u180D\u180F\u1885\u1886\u18A9\u1920-\u192B\u1930-\u193B\u1A17-\u1A1B\u1A55-\u1A5E\u1A60-\u1A7C\u1A7F\u1AB0-\u1ACE\u1B00-\u1B04\u1B34-\u1B44\u1B6B-\u1B73\u1B80-\u1B82\u1BA1-\u1BAD\u1BE6-\u1BF3\u1C24-\u1C37\u1CD0-\u1CD2\u1CD4-\u1CE8\u1CED\u1CF4\u1CF7-\u1CF9\u1DC0-\u1DFF\u20D0-\u20F0\u2CEF-\u2CF1\u2D7F\u2DE0-\u2DFF\u302A-\u302F\u3099\u309A\uA66F-\uA672\uA674-\uA67D\uA69E\uA69F\uA6F0\uA6F1\uA802\uA806\uA80B\uA823-\uA827\uA82C\uA880\uA881\uA8B4-\uA8C5\uA8E0-\uA8F1\uA8FF\uA926-\uA92D\uA947-\uA953\uA980-\uA983\uA9B3-\uA9C0\uA9E5\uAA29-\uAA36\uAA43\uAA4C\uAA4D\uAA7B-\uAA7D\uAAB0\uAAB2-\uAAB4\uAAB7\uAAB8\uAABE\uAABF\uAAC1\uAAEB-\uAAEF\uAAF5\uAAF6\uABE3-\uABEA\uABEC\uABED\uFB1E\uFE00-\uFE0F\uFE20-\uFE2F\u{101FD}\u{102E0}\u{10376}-\u{1037A}\u{10A01}-\u{10A03}\u{10A05}\u{10A06}\u{10A0C}-\u{10A0F}\u{10A38}-\u{10A3A}\u{10A3F}\u{10AE5}\u{10AE6}\u{10D24}-\u{10D27}\u{10EAB}\u{10EAC}\u{10EFD}-\u{10EFF}\u{10F46}-\u{10F50}\u{10F82}-\u{10F85}\u{11000}-\u{11002}\u{11038}-\u{11046}\u{11070}\u{11073}\u{11074}\u{1107F}-\u{11082}\u{110B0}-\u{110BA}\u{110C2}\u{11100}-\u{11102}\u{11127}-\u{11134}\u{11145}\u{11146}\u{11173}\u{11180}-\u{11182}\u{111B3}-\u{111C0}\u{111C9}-\u{111CC}\u{111CE}\u{111CF}\u{1122C}-\u{11237}\u{1123E}\u{11241}\u{112DF}-\u{112EA}\u{11300}-\u{11303}\u{1133B}\u{1133C}\u{1133E}-\u{11344}\u{11347}\u{11348}\u{1134B}-\u{1134D}\u{11357}\u{11362}\u{11363}\u{11366}-\u{1136C}\u{11370}-\u{11374}\u{11435}-\u{11446}\u{1145E}\u{114B0}-\u{114C3}\u{115AF}-\u{115B5}\u{115B8}-\u{115C0}\u{115DC}\u{115DD}\u{11630}-\u{11640}\u{116AB}-\u{116B7}\u{1171D}-\u{1172B}\u{1182C}-\u{1183A}\u{11930}-\u{11935}\u{11937}\u{11938}\u{1193B}-\u{1193E}\u{11940}\u{11942}\u{11943}\u{119D1}-\u{119D7}\u{119DA}-\u{119E0}\u{119E4}\u{11A01}-\u{11A0A}\u{11A33}-\u{11A39}\u{11A3B}-\u{11A3E}\u{11A47}\u{11A51}-\u{11A5B}\u{11A8A}-\u{11A99}\u{11C2F}-\u{11C36}\u{11C38}-\u{11C3F}\u{11C92}-\u{11CA7}\u{11CA9}-\u{11CB6}\u{11D31}-\u{11D36}\u{11D3A}\u{11D3C}\u{11D3D}\u{11D3F}-\u{11D45}\u{11D47}\u{11D8A}-\u{11D8E}\u{11D90}\u{11D91}\u{11D93}-\u{11D97}\u{11EF3}-\u{11EF6}\u{11F00}\u{11F01}\u{11F03}\u{11F34}-\u{11F3A}\u{11F3E}-\u{11F42}\u{13440}\u{13447}-\u{13455}\u{16AF0}-\u{16AF4}\u{16B30}-\u{16B36}\u{16F4F}\u{16F51}-\u{16F87}\u{16F8F}-\u{16F92}\u{16FE4}\u{16FF0}\u{16FF1}\u{1BC9D}\u{1BC9E}\u{1CF00}-\u{1CF2D}\u{1CF30}-\u{1CF46}\u{1D165}-\u{1D169}\u{1D16D}-\u{1D172}\u{1D17B}-\u{1D182}\u{1D185}-\u{1D18B}\u{1D1AA}-\u{1D1AD}\u{1D242}-\u{1D244}\u{1DA00}-\u{1DA36}\u{1DA3B}-\u{1DA6C}\u{1DA75}\u{1DA84}\u{1DA9B}-\u{1DA9F}\u{1DAA1}-\u{1DAAF}\u{1E000}-\u{1E006}\u{1E008}-\u{1E018}\u{1E01B}-\u{1E021}\u{1E023}\u{1E024}\u{1E026}-\u{1E02A}\u{1E08F}\u{1E130}-\u{1E136}\u{1E2AE}\u{1E2EC}-\u{1E2EF}\u{1E4EC}-\u{1E4EF}\u{1E8D0}-\u{1E8D6}\u{1E944}-\u{1E94A}\u{E0100}-\u{E01EF}]/u;const en=/[\u094D\u09CD\u0A4D\u0ACD\u0B4D\u0BCD\u0C4D\u0CCD\u0D3B\u0D3C\u0D4D\u0DCA\u0E3A\u0EBA\u0F84\u1039\u103A\u1714\u1715\u1734\u17D2\u1A60\u1B44\u1BAA\u1BAB\u1BF2\u1BF3\u2D7F\uA806\uA82C\uA8C4\uA953\uA9C0\uAAF6\uABED\u{10A3F}\u{11046}\u{11070}\u{1107F}\u{110B9}\u{11133}\u{11134}\u{111C0}\u{11235}\u{112EA}\u{1134D}\u{11442}\u{114C2}\u{115BF}\u{1163F}\u{116B6}\u{1172B}\u{11839}\u{1193D}\u{1193E}\u{119E0}\u{11A34}\u{11A47}\u{11A99}\u{11C3F}\u{11D44}\u{11D45}\u{11D97}\u{11F41}\u{11F42}]/u;const tn=/[\u0620\u0626\u0628\u062A-\u062E\u0633-\u063F\u0641-\u0647\u0649\u064A\u066E\u066F\u0678-\u0687\u069A-\u06BF\u06C1\u06C2\u06CC\u06CE\u06D0\u06D1\u06FA-\u06FC\u06FF\u0712-\u0714\u071A-\u071D\u071F-\u0727\u0729\u072B\u072D\u072E\u074E-\u0758\u075C-\u076A\u076D-\u0770\u0772\u0775-\u0777\u077A-\u077F\u07CA-\u07EA\u0841-\u0845\u0848\u084A-\u0853\u0855\u0860\u0862-\u0865\u0868\u0886\u0889-\u088D\u08A0-\u08A9\u08AF\u08B0\u08B3-\u08B8\u08BA-\u08C8\u1807\u1820-\u1878\u1887-\u18A8\u18AA\uA840-\uA872\u{10AC0}-\u{10AC4}\u{10ACD}\u{10AD3}-\u{10ADC}\u{10ADE}-\u{10AE0}\u{10AEB}-\u{10AEE}\u{10B80}\u{10B82}\u{10B86}-\u{10B88}\u{10B8A}\u{10B8B}\u{10B8D}\u{10B90}\u{10BAD}\u{10BAE}\u{10D00}-\u{10D21}\u{10D23}\u{10F30}-\u{10F32}\u{10F34}-\u{10F44}\u{10F51}-\u{10F53}\u{10F70}-\u{10F73}\u{10F76}-\u{10F81}\u{10FB0}\u{10FB2}\u{10FB3}\u{10FB8}\u{10FBB}\u{10FBC}\u{10FBE}\u{10FBF}\u{10FC1}\u{10FC4}\u{10FCA}\u{10FCB}\u{1E900}-\u{1E943}][\xAD\u0300-\u036F\u0483-\u0489\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u0610-\u061A\u061C\u064B-\u065F\u0670\u06D6-\u06DC\u06DF-\u06E4\u06E7\u06E8\u06EA-\u06ED\u070F\u0711\u0730-\u074A\u07A6-\u07B0\u07EB-\u07F3\u07FD\u0816-\u0819\u081B-\u0823\u0825-\u0827\u0829-\u082D\u0859-\u085B\u0898-\u089F\u08CA-\u08E1\u08E3-\u0902\u093A\u093C\u0941-\u0948\u094D\u0951-\u0957\u0962\u0963\u0981\u09BC\u09C1-\u09C4\u09CD\u09E2\u09E3\u09FE\u0A01\u0A02\u0A3C\u0A41\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A70\u0A71\u0A75\u0A81\u0A82\u0ABC\u0AC1-\u0AC5\u0AC7\u0AC8\u0ACD\u0AE2\u0AE3\u0AFA-\u0AFF\u0B01\u0B3C\u0B3F\u0B41-\u0B44\u0B4D\u0B55\u0B56\u0B62\u0B63\u0B82\u0BC0\u0BCD\u0C00\u0C04\u0C3C\u0C3E-\u0C40\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C62\u0C63\u0C81\u0CBC\u0CBF\u0CC6\u0CCC\u0CCD\u0CE2\u0CE3\u0D00\u0D01\u0D3B\u0D3C\u0D41-\u0D44\u0D4D\u0D62\u0D63\u0D81\u0DCA\u0DD2-\u0DD4\u0DD6\u0E31\u0E34-\u0E3A\u0E47-\u0E4E\u0EB1\u0EB4-\u0EBC\u0EC8-\u0ECE\u0F18\u0F19\u0F35\u0F37\u0F39\u0F71-\u0F7E\u0F80-\u0F84\u0F86\u0F87\u0F8D-\u0F97\u0F99-\u0FBC\u0FC6\u102D-\u1030\u1032-\u1037\u1039\u103A\u103D\u103E\u1058\u1059\u105E-\u1060\u1071-\u1074\u1082\u1085\u1086\u108D\u109D\u135D-\u135F\u1712-\u1714\u1732\u1733\u1752\u1753\u1772\u1773\u17B4\u17B5\u17B7-\u17BD\u17C6\u17C9-\u17D3\u17DD\u180B-\u180D\u180F\u1885\u1886\u18A9\u1920-\u1922\u1927\u1928\u1932\u1939-\u193B\u1A17\u1A18\u1A1B\u1A56\u1A58-\u1A5E\u1A60\u1A62\u1A65-\u1A6C\u1A73-\u1A7C\u1A7F\u1AB0-\u1ACE\u1B00-\u1B03\u1B34\u1B36-\u1B3A\u1B3C\u1B42\u1B6B-\u1B73\u1B80\u1B81\u1BA2-\u1BA5\u1BA8\u1BA9\u1BAB-\u1BAD\u1BE6\u1BE8\u1BE9\u1BED\u1BEF-\u1BF1\u1C2C-\u1C33\u1C36\u1C37\u1CD0-\u1CD2\u1CD4-\u1CE0\u1CE2-\u1CE8\u1CED\u1CF4\u1CF8\u1CF9\u1DC0-\u1DFF\u200B\u200E\u200F\u202A-\u202E\u2060-\u2064\u206A-\u206F\u20D0-\u20F0\u2CEF-\u2CF1\u2D7F\u2DE0-\u2DFF\u302A-\u302D\u3099\u309A\uA66F-\uA672\uA674-\uA67D\uA69E\uA69F\uA6F0\uA6F1\uA802\uA806\uA80B\uA825\uA826\uA82C\uA8C4\uA8C5\uA8E0-\uA8F1\uA8FF\uA926-\uA92D\uA947-\uA951\uA980-\uA982\uA9B3\uA9B6-\uA9B9\uA9BC\uA9BD\uA9E5\uAA29-\uAA2E\uAA31\uAA32\uAA35\uAA36\uAA43\uAA4C\uAA7C\uAAB0\uAAB2-\uAAB4\uAAB7\uAAB8\uAABE\uAABF\uAAC1\uAAEC\uAAED\uAAF6\uABE5\uABE8\uABED\uFB1E\uFE00-\uFE0F\uFE20-\uFE2F\uFEFF\uFFF9-\uFFFB\u{101FD}\u{102E0}\u{10376}-\u{1037A}\u{10A01}-\u{10A03}\u{10A05}\u{10A06}\u{10A0C}-\u{10A0F}\u{10A38}-\u{10A3A}\u{10A3F}\u{10AE5}\u{10AE6}\u{10D24}-\u{10D27}\u{10EAB}\u{10EAC}\u{10EFD}-\u{10EFF}\u{10F46}-\u{10F50}\u{10F82}-\u{10F85}\u{11001}\u{11038}-\u{11046}\u{11070}\u{11073}\u{11074}\u{1107F}-\u{11081}\u{110B3}-\u{110B6}\u{110B9}\u{110BA}\u{110C2}\u{11100}-\u{11102}\u{11127}-\u{1112B}\u{1112D}-\u{11134}\u{11173}\u{11180}\u{11181}\u{111B6}-\u{111BE}\u{111C9}-\u{111CC}\u{111CF}\u{1122F}-\u{11231}\u{11234}\u{11236}\u{11237}\u{1123E}\u{11241}\u{112DF}\u{112E3}-\u{112EA}\u{11300}\u{11301}\u{1133B}\u{1133C}\u{11340}\u{11366}-\u{1136C}\u{11370}-\u{11374}\u{11438}-\u{1143F}\u{11442}-\u{11444}\u{11446}\u{1145E}\u{114B3}-\u{114B8}\u{114BA}\u{114BF}\u{114C0}\u{114C2}\u{114C3}\u{115B2}-\u{115B5}\u{115BC}\u{115BD}\u{115BF}\u{115C0}\u{115DC}\u{115DD}\u{11633}-\u{1163A}\u{1163D}\u{1163F}\u{11640}\u{116AB}\u{116AD}\u{116B0}-\u{116B5}\u{116B7}\u{1171D}-\u{1171F}\u{11722}-\u{11725}\u{11727}-\u{1172B}\u{1182F}-\u{11837}\u{11839}\u{1183A}\u{1193B}\u{1193C}\u{1193E}\u{11943}\u{119D4}-\u{119D7}\u{119DA}\u{119DB}\u{119E0}\u{11A01}-\u{11A0A}\u{11A33}-\u{11A38}\u{11A3B}-\u{11A3E}\u{11A47}\u{11A51}-\u{11A56}\u{11A59}-\u{11A5B}\u{11A8A}-\u{11A96}\u{11A98}\u{11A99}\u{11C30}-\u{11C36}\u{11C38}-\u{11C3D}\u{11C3F}\u{11C92}-\u{11CA7}\u{11CAA}-\u{11CB0}\u{11CB2}\u{11CB3}\u{11CB5}\u{11CB6}\u{11D31}-\u{11D36}\u{11D3A}\u{11D3C}\u{11D3D}\u{11D3F}-\u{11D45}\u{11D47}\u{11D90}\u{11D91}\u{11D95}\u{11D97}\u{11EF3}\u{11EF4}\u{11F00}\u{11F01}\u{11F36}-\u{11F3A}\u{11F40}\u{11F42}\u{13430}-\u{13440}\u{13447}-\u{13455}\u{16AF0}-\u{16AF4}\u{16B30}-\u{16B36}\u{16F4F}\u{16F8F}-\u{16F92}\u{16FE4}\u{1BC9D}\u{1BC9E}\u{1BCA0}-\u{1BCA3}\u{1CF00}-\u{1CF2D}\u{1CF30}-\u{1CF46}\u{1D167}-\u{1D169}\u{1D173}-\u{1D182}\u{1D185}-\u{1D18B}\u{1D1AA}-\u{1D1AD}\u{1D242}-\u{1D244}\u{1DA00}-\u{1DA36}\u{1DA3B}-\u{1DA6C}\u{1DA75}\u{1DA84}\u{1DA9B}-\u{1DA9F}\u{1DAA1}-\u{1DAAF}\u{1E000}-\u{1E006}\u{1E008}-\u{1E018}\u{1E01B}-\u{1E021}\u{1E023}\u{1E024}\u{1E026}-\u{1E02A}\u{1E08F}\u{1E130}-\u{1E136}\u{1E2AE}\u{1E2EC}-\u{1E2EF}\u{1E4EC}-\u{1E4EF}\u{1E8D0}-\u{1E8D6}\u{1E944}-\u{1E94B}\u{E0001}\u{E0020}-\u{E007F}\u{E0100}-\u{E01EF}]*\u200C[\xAD\u0300-\u036F\u0483-\u0489\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u0610-\u061A\u061C\u064B-\u065F\u0670\u06D6-\u06DC\u06DF-\u06E4\u06E7\u06E8\u06EA-\u06ED\u070F\u0711\u0730-\u074A\u07A6-\u07B0\u07EB-\u07F3\u07FD\u0816-\u0819\u081B-\u0823\u0825-\u0827\u0829-\u082D\u0859-\u085B\u0898-\u089F\u08CA-\u08E1\u08E3-\u0902\u093A\u093C\u0941-\u0948\u094D\u0951-\u0957\u0962\u0963\u0981\u09BC\u09C1-\u09C4\u09CD\u09E2\u09E3\u09FE\u0A01\u0A02\u0A3C\u0A41\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A70\u0A71\u0A75\u0A81\u0A82\u0ABC\u0AC1-\u0AC5\u0AC7\u0AC8\u0ACD\u0AE2\u0AE3\u0AFA-\u0AFF\u0B01\u0B3C\u0B3F\u0B41-\u0B44\u0B4D\u0B55\u0B56\u0B62\u0B63\u0B82\u0BC0\u0BCD\u0C00\u0C04\u0C3C\u0C3E-\u0C40\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C62\u0C63\u0C81\u0CBC\u0CBF\u0CC6\u0CCC\u0CCD\u0CE2\u0CE3\u0D00\u0D01\u0D3B\u0D3C\u0D41-\u0D44\u0D4D\u0D62\u0D63\u0D81\u0DCA\u0DD2-\u0DD4\u0DD6\u0E31\u0E34-\u0E3A\u0E47-\u0E4E\u0EB1\u0EB4-\u0EBC\u0EC8-\u0ECE\u0F18\u0F19\u0F35\u0F37\u0F39\u0F71-\u0F7E\u0F80-\u0F84\u0F86\u0F87\u0F8D-\u0F97\u0F99-\u0FBC\u0FC6\u102D-\u1030\u1032-\u1037\u1039\u103A\u103D\u103E\u1058\u1059\u105E-\u1060\u1071-\u1074\u1082\u1085\u1086\u108D\u109D\u135D-\u135F\u1712-\u1714\u1732\u1733\u1752\u1753\u1772\u1773\u17B4\u17B5\u17B7-\u17BD\u17C6\u17C9-\u17D3\u17DD\u180B-\u180D\u180F\u1885\u1886\u18A9\u1920-\u1922\u1927\u1928\u1932\u1939-\u193B\u1A17\u1A18\u1A1B\u1A56\u1A58-\u1A5E\u1A60\u1A62\u1A65-\u1A6C\u1A73-\u1A7C\u1A7F\u1AB0-\u1ACE\u1B00-\u1B03\u1B34\u1B36-\u1B3A\u1B3C\u1B42\u1B6B-\u1B73\u1B80\u1B81\u1BA2-\u1BA5\u1BA8\u1BA9\u1BAB-\u1BAD\u1BE6\u1BE8\u1BE9\u1BED\u1BEF-\u1BF1\u1C2C-\u1C33\u1C36\u1C37\u1CD0-\u1CD2\u1CD4-\u1CE0\u1CE2-\u1CE8\u1CED\u1CF4\u1CF8\u1CF9\u1DC0-\u1DFF\u200B\u200E\u200F\u202A-\u202E\u2060-\u2064\u206A-\u206F\u20D0-\u20F0\u2CEF-\u2CF1\u2D7F\u2DE0-\u2DFF\u302A-\u302D\u3099\u309A\uA66F-\uA672\uA674-\uA67D\uA69E\uA69F\uA6F0\uA6F1\uA802\uA806\uA80B\uA825\uA826\uA82C\uA8C4\uA8C5\uA8E0-\uA8F1\uA8FF\uA926-\uA92D\uA947-\uA951\uA980-\uA982\uA9B3\uA9B6-\uA9B9\uA9BC\uA9BD\uA9E5\uAA29-\uAA2E\uAA31\uAA32\uAA35\uAA36\uAA43\uAA4C\uAA7C\uAAB0\uAAB2-\uAAB4\uAAB7\uAAB8\uAABE\uAABF\uAAC1\uAAEC\uAAED\uAAF6\uABE5\uABE8\uABED\uFB1E\uFE00-\uFE0F\uFE20-\uFE2F\uFEFF\uFFF9-\uFFFB\u{101FD}\u{102E0}\u{10376}-\u{1037A}\u{10A01}-\u{10A03}\u{10A05}\u{10A06}\u{10A0C}-\u{10A0F}\u{10A38}-\u{10A3A}\u{10A3F}\u{10AE5}\u{10AE6}\u{10D24}-\u{10D27}\u{10EAB}\u{10EAC}\u{10EFD}-\u{10EFF}\u{10F46}-\u{10F50}\u{10F82}-\u{10F85}\u{11001}\u{11038}-\u{11046}\u{11070}\u{11073}\u{11074}\u{1107F}-\u{11081}\u{110B3}-\u{110B6}\u{110B9}\u{110BA}\u{110C2}\u{11100}-\u{11102}\u{11127}-\u{1112B}\u{1112D}-\u{11134}\u{11173}\u{11180}\u{11181}\u{111B6}-\u{111BE}\u{111C9}-\u{111CC}\u{111CF}\u{1122F}-\u{11231}\u{11234}\u{11236}\u{11237}\u{1123E}\u{11241}\u{112DF}\u{112E3}-\u{112EA}\u{11300}\u{11301}\u{1133B}\u{1133C}\u{11340}\u{11366}-\u{1136C}\u{11370}-\u{11374}\u{11438}-\u{1143F}\u{11442}-\u{11444}\u{11446}\u{1145E}\u{114B3}-\u{114B8}\u{114BA}\u{114BF}\u{114C0}\u{114C2}\u{114C3}\u{115B2}-\u{115B5}\u{115BC}\u{115BD}\u{115BF}\u{115C0}\u{115DC}\u{115DD}\u{11633}-\u{1163A}\u{1163D}\u{1163F}\u{11640}\u{116AB}\u{116AD}\u{116B0}-\u{116B5}\u{116B7}\u{1171D}-\u{1171F}\u{11722}-\u{11725}\u{11727}-\u{1172B}\u{1182F}-\u{11837}\u{11839}\u{1183A}\u{1193B}\u{1193C}\u{1193E}\u{11943}\u{119D4}-\u{119D7}\u{119DA}\u{119DB}\u{119E0}\u{11A01}-\u{11A0A}\u{11A33}-\u{11A38}\u{11A3B}-\u{11A3E}\u{11A47}\u{11A51}-\u{11A56}\u{11A59}-\u{11A5B}\u{11A8A}-\u{11A96}\u{11A98}\u{11A99}\u{11C30}-\u{11C36}\u{11C38}-\u{11C3D}\u{11C3F}\u{11C92}-\u{11CA7}\u{11CAA}-\u{11CB0}\u{11CB2}\u{11CB3}\u{11CB5}\u{11CB6}\u{11D31}-\u{11D36}\u{11D3A}\u{11D3C}\u{11D3D}\u{11D3F}-\u{11D45}\u{11D47}\u{11D90}\u{11D91}\u{11D95}\u{11D97}\u{11EF3}\u{11EF4}\u{11F00}\u{11F01}\u{11F36}-\u{11F3A}\u{11F40}\u{11F42}\u{13430}-\u{13440}\u{13447}-\u{13455}\u{16AF0}-\u{16AF4}\u{16B30}-\u{16B36}\u{16F4F}\u{16F8F}-\u{16F92}\u{16FE4}\u{1BC9D}\u{1BC9E}\u{1BCA0}-\u{1BCA3}\u{1CF00}-\u{1CF2D}\u{1CF30}-\u{1CF46}\u{1D167}-\u{1D169}\u{1D173}-\u{1D182}\u{1D185}-\u{1D18B}\u{1D1AA}-\u{1D1AD}\u{1D242}-\u{1D244}\u{1DA00}-\u{1DA36}\u{1DA3B}-\u{1DA6C}\u{1DA75}\u{1DA84}\u{1DA9B}-\u{1DA9F}\u{1DAA1}-\u{1DAAF}\u{1E000}-\u{1E006}\u{1E008}-\u{1E018}\u{1E01B}-\u{1E021}\u{1E023}\u{1E024}\u{1E026}-\u{1E02A}\u{1E08F}\u{1E130}-\u{1E136}\u{1E2AE}\u{1E2EC}-\u{1E2EF}\u{1E4EC}-\u{1E4EF}\u{1E8D0}-\u{1E8D6}\u{1E944}-\u{1E94B}\u{E0001}\u{E0020}-\u{E007F}\u{E0100}-\u{E01EF}]*[\u0620\u0622-\u063F\u0641-\u064A\u066E\u066F\u0671-\u0673\u0675-\u06D3\u06D5\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u077F\u07CA-\u07EA\u0840-\u0858\u0860\u0862-\u0865\u0867-\u086A\u0870-\u0882\u0886\u0889-\u088E\u08A0-\u08AC\u08AE-\u08C8\u1807\u1820-\u1878\u1887-\u18A8\u18AA\uA840-\uA871\u{10AC0}-\u{10AC5}\u{10AC7}\u{10AC9}\u{10ACA}\u{10ACE}-\u{10AD6}\u{10AD8}-\u{10AE1}\u{10AE4}\u{10AEB}-\u{10AEF}\u{10B80}-\u{10B91}\u{10BA9}-\u{10BAE}\u{10D01}-\u{10D23}\u{10F30}-\u{10F44}\u{10F51}-\u{10F54}\u{10F70}-\u{10F81}\u{10FB0}\u{10FB2}-\u{10FB6}\u{10FB8}-\u{10FBF}\u{10FC1}-\u{10FC4}\u{10FC9}\u{10FCA}\u{1E900}-\u{1E943}]/u;const nn=/[\u05BE\u05C0\u05C3\u05C6\u05D0-\u05EA\u05EF-\u05F4\u0600-\u0605\u0608\u060B\u060D\u061B-\u064A\u0660-\u0669\u066B-\u066F\u0671-\u06D5\u06DD\u06E5\u06E6\u06EE\u06EF\u06FA-\u070D\u070F\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07C0-\u07EA\u07F4\u07F5\u07FA\u07FE-\u0815\u081A\u0824\u0828\u0830-\u083E\u0840-\u0858\u085E\u0860-\u086A\u0870-\u088E\u0890\u0891\u08A0-\u08C9\u08E2\u200F\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBC2\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFC\uFE70-\uFE74\uFE76-\uFEFC\u{10800}-\u{10805}\u{10808}\u{1080A}-\u{10835}\u{10837}\u{10838}\u{1083C}\u{1083F}-\u{10855}\u{10857}-\u{1089E}\u{108A7}-\u{108AF}\u{108E0}-\u{108F2}\u{108F4}\u{108F5}\u{108FB}-\u{1091B}\u{10920}-\u{10939}\u{1093F}\u{10980}-\u{109B7}\u{109BC}-\u{109CF}\u{109D2}-\u{10A00}\u{10A10}-\u{10A13}\u{10A15}-\u{10A17}\u{10A19}-\u{10A35}\u{10A40}-\u{10A48}\u{10A50}-\u{10A58}\u{10A60}-\u{10A9F}\u{10AC0}-\u{10AE4}\u{10AEB}-\u{10AF6}\u{10B00}-\u{10B35}\u{10B40}-\u{10B55}\u{10B58}-\u{10B72}\u{10B78}-\u{10B91}\u{10B99}-\u{10B9C}\u{10BA9}-\u{10BAF}\u{10C00}-\u{10C48}\u{10C80}-\u{10CB2}\u{10CC0}-\u{10CF2}\u{10CFA}-\u{10D23}\u{10D30}-\u{10D39}\u{10E60}-\u{10E7E}\u{10E80}-\u{10EA9}\u{10EAD}\u{10EB0}\u{10EB1}\u{10F00}-\u{10F27}\u{10F30}-\u{10F45}\u{10F51}-\u{10F59}\u{10F70}-\u{10F81}\u{10F86}-\u{10F89}\u{10FB0}-\u{10FCB}\u{10FE0}-\u{10FF6}\u{1E800}-\u{1E8C4}\u{1E8C7}-\u{1E8CF}\u{1E900}-\u{1E943}\u{1E94B}\u{1E950}-\u{1E959}\u{1E95E}\u{1E95F}\u{1EC71}-\u{1ECB4}\u{1ED01}-\u{1ED3D}\u{1EE00}-\u{1EE03}\u{1EE05}-\u{1EE1F}\u{1EE21}\u{1EE22}\u{1EE24}\u{1EE27}\u{1EE29}-\u{1EE32}\u{1EE34}-\u{1EE37}\u{1EE39}\u{1EE3B}\u{1EE42}\u{1EE47}\u{1EE49}\u{1EE4B}\u{1EE4D}-\u{1EE4F}\u{1EE51}\u{1EE52}\u{1EE54}\u{1EE57}\u{1EE59}\u{1EE5B}\u{1EE5D}\u{1EE5F}\u{1EE61}\u{1EE62}\u{1EE64}\u{1EE67}-\u{1EE6A}\u{1EE6C}-\u{1EE72}\u{1EE74}-\u{1EE77}\u{1EE79}-\u{1EE7C}\u{1EE7E}\u{1EE80}-\u{1EE89}\u{1EE8B}-\u{1EE9B}\u{1EEA1}-\u{1EEA3}\u{1EEA5}-\u{1EEA9}\u{1EEAB}-\u{1EEBB}]/u;const an=/[A-Za-z\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02B8\u02BB-\u02C1\u02D0\u02D1\u02E0-\u02E4\u02EE\u0370-\u0373\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0482\u048A-\u052F\u0531-\u0556\u0559-\u0589\u0903-\u0939\u093B\u093D-\u0940\u0949-\u094C\u094E-\u0950\u0958-\u0961\u0964-\u0980\u0982\u0983\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD-\u09C0\u09C7\u09C8\u09CB\u09CC\u09CE\u09D7\u09DC\u09DD\u09DF-\u09E1\u09E6-\u09F1\u09F4-\u09FA\u09FC\u09FD\u0A03\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A3E-\u0A40\u0A59-\u0A5C\u0A5E\u0A66-\u0A6F\u0A72-\u0A74\u0A76\u0A83\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD-\u0AC0\u0AC9\u0ACB\u0ACC\u0AD0\u0AE0\u0AE1\u0AE6-\u0AF0\u0AF9\u0B02\u0B03\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B3E\u0B40\u0B47\u0B48\u0B4B\u0B4C\u0B57\u0B5C\u0B5D\u0B5F-\u0B61\u0B66-\u0B77\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BBE\u0BBF\u0BC1\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCC\u0BD0\u0BD7\u0BE6-\u0BF2\u0C01-\u0C03\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C41-\u0C44\u0C58-\u0C5A\u0C5D\u0C60\u0C61\u0C66-\u0C6F\u0C77\u0C7F\u0C80\u0C82-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD-\u0CC4\u0CC6-\u0CC8\u0CCA\u0CCB\u0CD5\u0CD6\u0CDD\u0CDE\u0CE0\u0CE1\u0CE6-\u0CEF\u0CF1-\u0CF3\u0D02-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D-\u0D40\u0D46-\u0D48\u0D4A-\u0D4C\u0D4E\u0D4F\u0D54-\u0D61\u0D66-\u0D7F\u0D82\u0D83\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DCF-\u0DD1\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2-\u0DF4\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E4F-\u0E5B\u0E81\u0E82\u0E84\u0E86-\u0E8A\u0E8C-\u0EA3\u0EA5\u0EA7-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00-\u0F17\u0F1A-\u0F34\u0F36\u0F38\u0F3E-\u0F47\u0F49-\u0F6C\u0F7F\u0F85\u0F88-\u0F8C\u0FBE-\u0FC5\u0FC7-\u0FCC\u0FCE-\u0FDA\u1000-\u102C\u1031\u1038\u103B\u103C\u103F-\u1057\u105A-\u105D\u1061-\u1070\u1075-\u1081\u1083\u1084\u1087-\u108C\u108E-\u109C\u109E-\u10C5\u10C7\u10CD\u10D0-\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\u1360-\u137C\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u167F\u1681-\u169A\u16A0-\u16F8\u1700-\u1711\u1715\u171F-\u1731\u1734-\u1736\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17B6\u17BE-\u17C5\u17C7\u17C8\u17D4-\u17DA\u17DC\u17E0-\u17E9\u1810-\u1819\u1820-\u1878\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1923-\u1926\u1929-\u192B\u1930\u1931\u1933-\u1938\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19DA\u1A00-\u1A16\u1A19\u1A1A\u1A1E-\u1A55\u1A57\u1A61\u1A63\u1A64\u1A6D-\u1A72\u1A80-\u1A89\u1A90-\u1A99\u1AA0-\u1AAD\u1B04-\u1B33\u1B35\u1B3B\u1B3D-\u1B41\u1B43-\u1B4C\u1B50-\u1B6A\u1B74-\u1B7E\u1B82-\u1BA1\u1BA6\u1BA7\u1BAA\u1BAE-\u1BE5\u1BE7\u1BEA-\u1BEC\u1BEE\u1BF2\u1BF3\u1BFC-\u1C2B\u1C34\u1C35\u1C3B-\u1C49\u1C4D-\u1C88\u1C90-\u1CBA\u1CBD-\u1CC7\u1CD3\u1CE1\u1CE9-\u1CEC\u1CEE-\u1CF3\u1CF5-\u1CF7\u1CFA\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\u200E\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u214F\u2160-\u2188\u2336-\u237A\u2395\u249C-\u24E9\u26AC\u2800-\u28FF\u2C00-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D70\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u3005-\u3007\u3021-\u3029\u302E\u302F\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312F\u3131-\u318E\u3190-\u31BF\u31F0-\u321C\u3220-\u324F\u3260-\u327B\u327F-\u32B0\u32C0-\u32CB\u32D0-\u3376\u337B-\u33DD\u33E0-\u33FE\u3400-\u4DBF\u4E00-\uA48C\uA4D0-\uA60C\uA610-\uA62B\uA640-\uA66E\uA680-\uA69D\uA6A0-\uA6EF\uA6F2-\uA6F7\uA722-\uA787\uA789-\uA7CA\uA7D0\uA7D1\uA7D3\uA7D5-\uA7D9\uA7F2-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA824\uA827\uA830-\uA837\uA840-\uA873\uA880-\uA8C3\uA8CE-\uA8D9\uA8F2-\uA8FE\uA900-\uA925\uA92E-\uA946\uA952\uA953\uA95F-\uA97C\uA983-\uA9B2\uA9B4\uA9B5\uA9BA\uA9BB\uA9BE-\uA9CD\uA9CF-\uA9D9\uA9DE-\uA9E4\uA9E6-\uA9FE\uAA00-\uAA28\uAA2F\uAA30\uAA33\uAA34\uAA40-\uAA42\uAA44-\uAA4B\uAA4D\uAA50-\uAA59\uAA5C-\uAA7B\uAA7D-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAAEB\uAAEE-\uAAF5\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB69\uAB70-\uABE4\uABE6\uABE7\uABE9-\uABEC\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uD800-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC\u{10000}-\u{1000B}\u{1000D}-\u{10026}\u{10028}-\u{1003A}\u{1003C}\u{1003D}\u{1003F}-\u{1004D}\u{10050}-\u{1005D}\u{10080}-\u{100FA}\u{10100}\u{10102}\u{10107}-\u{10133}\u{10137}-\u{1013F}\u{1018D}\u{1018E}\u{101D0}-\u{101FC}\u{10280}-\u{1029C}\u{102A0}-\u{102D0}\u{10300}-\u{10323}\u{1032D}-\u{1034A}\u{10350}-\u{10375}\u{10380}-\u{1039D}\u{1039F}-\u{103C3}\u{103C8}-\u{103D5}\u{10400}-\u{1049D}\u{104A0}-\u{104A9}\u{104B0}-\u{104D3}\u{104D8}-\u{104FB}\u{10500}-\u{10527}\u{10530}-\u{10563}\u{1056F}-\u{1057A}\u{1057C}-\u{1058A}\u{1058C}-\u{10592}\u{10594}\u{10595}\u{10597}-\u{105A1}\u{105A3}-\u{105B1}\u{105B3}-\u{105B9}\u{105BB}\u{105BC}\u{10600}-\u{10736}\u{10740}-\u{10755}\u{10760}-\u{10767}\u{10780}-\u{10785}\u{10787}-\u{107B0}\u{107B2}-\u{107BA}\u{11000}\u{11002}-\u{11037}\u{11047}-\u{1104D}\u{11066}-\u{1106F}\u{11071}\u{11072}\u{11075}\u{11082}-\u{110B2}\u{110B7}\u{110B8}\u{110BB}-\u{110C1}\u{110CD}\u{110D0}-\u{110E8}\u{110F0}-\u{110F9}\u{11103}-\u{11126}\u{1112C}\u{11136}-\u{11147}\u{11150}-\u{11172}\u{11174}-\u{11176}\u{11182}-\u{111B5}\u{111BF}-\u{111C8}\u{111CD}\u{111CE}\u{111D0}-\u{111DF}\u{111E1}-\u{111F4}\u{11200}-\u{11211}\u{11213}-\u{1122E}\u{11232}\u{11233}\u{11235}\u{11238}-\u{1123D}\u{1123F}\u{11240}\u{11280}-\u{11286}\u{11288}\u{1128A}-\u{1128D}\u{1128F}-\u{1129D}\u{1129F}-\u{112A9}\u{112B0}-\u{112DE}\u{112E0}-\u{112E2}\u{112F0}-\u{112F9}\u{11302}\u{11303}\u{11305}-\u{1130C}\u{1130F}\u{11310}\u{11313}-\u{11328}\u{1132A}-\u{11330}\u{11332}\u{11333}\u{11335}-\u{11339}\u{1133D}-\u{1133F}\u{11341}-\u{11344}\u{11347}\u{11348}\u{1134B}-\u{1134D}\u{11350}\u{11357}\u{1135D}-\u{11363}\u{11400}-\u{11437}\u{11440}\u{11441}\u{11445}\u{11447}-\u{1145B}\u{1145D}\u{1145F}-\u{11461}\u{11480}-\u{114B2}\u{114B9}\u{114BB}-\u{114BE}\u{114C1}\u{114C4}-\u{114C7}\u{114D0}-\u{114D9}\u{11580}-\u{115B1}\u{115B8}-\u{115BB}\u{115BE}\u{115C1}-\u{115DB}\u{11600}-\u{11632}\u{1163B}\u{1163C}\u{1163E}\u{11641}-\u{11644}\u{11650}-\u{11659}\u{11680}-\u{116AA}\u{116AC}\u{116AE}\u{116AF}\u{116B6}\u{116B8}\u{116B9}\u{116C0}-\u{116C9}\u{11700}-\u{1171A}\u{11720}\u{11721}\u{11726}\u{11730}-\u{11746}\u{11800}-\u{1182E}\u{11838}\u{1183B}\u{118A0}-\u{118F2}\u{118FF}-\u{11906}\u{11909}\u{1190C}-\u{11913}\u{11915}\u{11916}\u{11918}-\u{11935}\u{11937}\u{11938}\u{1193D}\u{1193F}-\u{11942}\u{11944}-\u{11946}\u{11950}-\u{11959}\u{119A0}-\u{119A7}\u{119AA}-\u{119D3}\u{119DC}-\u{119DF}\u{119E1}-\u{119E4}\u{11A00}\u{11A07}\u{11A08}\u{11A0B}-\u{11A32}\u{11A39}\u{11A3A}\u{11A3F}-\u{11A46}\u{11A50}\u{11A57}\u{11A58}\u{11A5C}-\u{11A89}\u{11A97}\u{11A9A}-\u{11AA2}\u{11AB0}-\u{11AF8}\u{11B00}-\u{11B09}\u{11C00}-\u{11C08}\u{11C0A}-\u{11C2F}\u{11C3E}-\u{11C45}\u{11C50}-\u{11C6C}\u{11C70}-\u{11C8F}\u{11CA9}\u{11CB1}\u{11CB4}\u{11D00}-\u{11D06}\u{11D08}\u{11D09}\u{11D0B}-\u{11D30}\u{11D46}\u{11D50}-\u{11D59}\u{11D60}-\u{11D65}\u{11D67}\u{11D68}\u{11D6A}-\u{11D8E}\u{11D93}\u{11D94}\u{11D96}\u{11D98}\u{11DA0}-\u{11DA9}\u{11EE0}-\u{11EF2}\u{11EF5}-\u{11EF8}\u{11F02}-\u{11F10}\u{11F12}-\u{11F35}\u{11F3E}\u{11F3F}\u{11F41}\u{11F43}-\u{11F59}\u{11FB0}\u{11FC0}-\u{11FD4}\u{11FFF}-\u{12399}\u{12400}-\u{1246E}\u{12470}-\u{12474}\u{12480}-\u{12543}\u{12F90}-\u{12FF2}\u{13000}-\u{1343F}\u{13441}-\u{13446}\u{14400}-\u{14646}\u{16800}-\u{16A38}\u{16A40}-\u{16A5E}\u{16A60}-\u{16A69}\u{16A6E}-\u{16ABE}\u{16AC0}-\u{16AC9}\u{16AD0}-\u{16AED}\u{16AF5}\u{16B00}-\u{16B2F}\u{16B37}-\u{16B45}\u{16B50}-\u{16B59}\u{16B5B}-\u{16B61}\u{16B63}-\u{16B77}\u{16B7D}-\u{16B8F}\u{16E40}-\u{16E9A}\u{16F00}-\u{16F4A}\u{16F50}-\u{16F87}\u{16F93}-\u{16F9F}\u{16FE0}\u{16FE1}\u{16FE3}\u{16FF0}\u{16FF1}\u{17000}-\u{187F7}\u{18800}-\u{18CD5}\u{18D00}-\u{18D08}\u{1AFF0}-\u{1AFF3}\u{1AFF5}-\u{1AFFB}\u{1AFFD}\u{1AFFE}\u{1B000}-\u{1B122}\u{1B132}\u{1B150}-\u{1B152}\u{1B155}\u{1B164}-\u{1B167}\u{1B170}-\u{1B2FB}\u{1BC00}-\u{1BC6A}\u{1BC70}-\u{1BC7C}\u{1BC80}-\u{1BC88}\u{1BC90}-\u{1BC99}\u{1BC9C}\u{1BC9F}\u{1CF50}-\u{1CFC3}\u{1D000}-\u{1D0F5}\u{1D100}-\u{1D126}\u{1D129}-\u{1D166}\u{1D16A}-\u{1D172}\u{1D183}\u{1D184}\u{1D18C}-\u{1D1A9}\u{1D1AE}-\u{1D1E8}\u{1D2C0}-\u{1D2D3}\u{1D2E0}-\u{1D2F3}\u{1D360}-\u{1D378}\u{1D400}-\u{1D454}\u{1D456}-\u{1D49C}\u{1D49E}\u{1D49F}\u{1D4A2}\u{1D4A5}\u{1D4A6}\u{1D4A9}-\u{1D4AC}\u{1D4AE}-\u{1D4B9}\u{1D4BB}\u{1D4BD}-\u{1D4C3}\u{1D4C5}-\u{1D505}\u{1D507}-\u{1D50A}\u{1D50D}-\u{1D514}\u{1D516}-\u{1D51C}\u{1D51E}-\u{1D539}\u{1D53B}-\u{1D53E}\u{1D540}-\u{1D544}\u{1D546}\u{1D54A}-\u{1D550}\u{1D552}-\u{1D6A5}\u{1D6A8}-\u{1D6DA}\u{1D6DC}-\u{1D714}\u{1D716}-\u{1D74E}\u{1D750}-\u{1D788}\u{1D78A}-\u{1D7C2}\u{1D7C4}-\u{1D7CB}\u{1D800}-\u{1D9FF}\u{1DA37}-\u{1DA3A}\u{1DA6D}-\u{1DA74}\u{1DA76}-\u{1DA83}\u{1DA85}-\u{1DA8B}\u{1DF00}-\u{1DF1E}\u{1DF25}-\u{1DF2A}\u{1E030}-\u{1E06D}\u{1E100}-\u{1E12C}\u{1E137}-\u{1E13D}\u{1E140}-\u{1E149}\u{1E14E}\u{1E14F}\u{1E290}-\u{1E2AD}\u{1E2C0}-\u{1E2EB}\u{1E2F0}-\u{1E2F9}\u{1E4D0}-\u{1E4EB}\u{1E4F0}-\u{1E4F9}\u{1E7E0}-\u{1E7E6}\u{1E7E8}-\u{1E7EB}\u{1E7ED}\u{1E7EE}\u{1E7F0}-\u{1E7FE}\u{1F110}-\u{1F12E}\u{1F130}-\u{1F169}\u{1F170}-\u{1F1AC}\u{1F1E6}-\u{1F202}\u{1F210}-\u{1F23B}\u{1F240}-\u{1F248}\u{1F250}\u{1F251}\u{20000}-\u{2A6DF}\u{2A700}-\u{2B739}\u{2B740}-\u{2B81D}\u{2B820}-\u{2CEA1}\u{2CEB0}-\u{2EBE0}\u{2EBF0}-\u{2EE5D}\u{2F800}-\u{2FA1D}\u{30000}-\u{3134A}\u{31350}-\u{323AF}\u{F0000}-\u{FFFFD}\u{100000}-\u{10FFFD}]/u;const In=/[\u05BE\u05C0\u05C3\u05C6\u05D0-\u05EA\u05EF-\u05F4\u0608\u060B\u060D\u061B-\u064A\u066D-\u066F\u0671-\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u070D\u070F\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07C0-\u07EA\u07F4\u07F5\u07FA\u07FE-\u0815\u081A\u0824\u0828\u0830-\u083E\u0840-\u0858\u085E\u0860-\u086A\u0870-\u088E\u08A0-\u08C9\u200F\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBC2\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFC\uFE70-\uFE74\uFE76-\uFEFC\u{10800}-\u{10805}\u{10808}\u{1080A}-\u{10835}\u{10837}\u{10838}\u{1083C}\u{1083F}-\u{10855}\u{10857}-\u{1089E}\u{108A7}-\u{108AF}\u{108E0}-\u{108F2}\u{108F4}\u{108F5}\u{108FB}-\u{1091B}\u{10920}-\u{10939}\u{1093F}\u{10980}-\u{109B7}\u{109BC}-\u{109CF}\u{109D2}-\u{10A00}\u{10A10}-\u{10A13}\u{10A15}-\u{10A17}\u{10A19}-\u{10A35}\u{10A40}-\u{10A48}\u{10A50}-\u{10A58}\u{10A60}-\u{10A9F}\u{10AC0}-\u{10AE4}\u{10AEB}-\u{10AF6}\u{10B00}-\u{10B35}\u{10B40}-\u{10B55}\u{10B58}-\u{10B72}\u{10B78}-\u{10B91}\u{10B99}-\u{10B9C}\u{10BA9}-\u{10BAF}\u{10C00}-\u{10C48}\u{10C80}-\u{10CB2}\u{10CC0}-\u{10CF2}\u{10CFA}-\u{10D23}\u{10E80}-\u{10EA9}\u{10EAD}\u{10EB0}\u{10EB1}\u{10F00}-\u{10F27}\u{10F30}-\u{10F45}\u{10F51}-\u{10F59}\u{10F70}-\u{10F81}\u{10F86}-\u{10F89}\u{10FB0}-\u{10FCB}\u{10FE0}-\u{10FF6}\u{1E800}-\u{1E8C4}\u{1E8C7}-\u{1E8CF}\u{1E900}-\u{1E943}\u{1E94B}\u{1E950}-\u{1E959}\u{1E95E}\u{1E95F}\u{1EC71}-\u{1ECB4}\u{1ED01}-\u{1ED3D}\u{1EE00}-\u{1EE03}\u{1EE05}-\u{1EE1F}\u{1EE21}\u{1EE22}\u{1EE24}\u{1EE27}\u{1EE29}-\u{1EE32}\u{1EE34}-\u{1EE37}\u{1EE39}\u{1EE3B}\u{1EE42}\u{1EE47}\u{1EE49}\u{1EE4B}\u{1EE4D}-\u{1EE4F}\u{1EE51}\u{1EE52}\u{1EE54}\u{1EE57}\u{1EE59}\u{1EE5B}\u{1EE5D}\u{1EE5F}\u{1EE61}\u{1EE62}\u{1EE64}\u{1EE67}-\u{1EE6A}\u{1EE6C}-\u{1EE72}\u{1EE74}-\u{1EE77}\u{1EE79}-\u{1EE7C}\u{1EE7E}\u{1EE80}-\u{1EE89}\u{1EE8B}-\u{1EE9B}\u{1EEA1}-\u{1EEA3}\u{1EEA5}-\u{1EEA9}\u{1EEAB}-\u{1EEBB}]/u;const rn=/^[\0-\x08\x0E-\x1B!-@\[-`\{-\x84\x86-\xA9\xAB-\xB4\xB6-\xB9\xBB-\xBF\xD7\xF7\u02B9\u02BA\u02C2-\u02CF\u02D2-\u02DF\u02E5-\u02ED\u02EF-\u036F\u0374\u0375\u037E\u0384\u0385\u0387\u03F6\u0483-\u0489\u058A\u058D-\u058F\u0591-\u05C7\u05D0-\u05EA\u05EF-\u05F4\u0600-\u070D\u070F-\u074A\u074D-\u07B1\u07C0-\u07FA\u07FD-\u082D\u0830-\u083E\u0840-\u085B\u085E\u0860-\u086A\u0870-\u088E\u0890\u0891\u0898-\u0902\u093A\u093C\u0941-\u0948\u094D\u0951-\u0957\u0962\u0963\u0981\u09BC\u09C1-\u09C4\u09CD\u09E2\u09E3\u09F2\u09F3\u09FB\u09FE\u0A01\u0A02\u0A3C\u0A41\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A70\u0A71\u0A75\u0A81\u0A82\u0ABC\u0AC1-\u0AC5\u0AC7\u0AC8\u0ACD\u0AE2\u0AE3\u0AF1\u0AFA-\u0AFF\u0B01\u0B3C\u0B3F\u0B41-\u0B44\u0B4D\u0B55\u0B56\u0B62\u0B63\u0B82\u0BC0\u0BCD\u0BF3-\u0BFA\u0C00\u0C04\u0C3C\u0C3E-\u0C40\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C62\u0C63\u0C78-\u0C7E\u0C81\u0CBC\u0CCC\u0CCD\u0CE2\u0CE3\u0D00\u0D01\u0D3B\u0D3C\u0D41-\u0D44\u0D4D\u0D62\u0D63\u0D81\u0DCA\u0DD2-\u0DD4\u0DD6\u0E31\u0E34-\u0E3A\u0E3F\u0E47-\u0E4E\u0EB1\u0EB4-\u0EBC\u0EC8-\u0ECE\u0F18\u0F19\u0F35\u0F37\u0F39-\u0F3D\u0F71-\u0F7E\u0F80-\u0F84\u0F86\u0F87\u0F8D-\u0F97\u0F99-\u0FBC\u0FC6\u102D-\u1030\u1032-\u1037\u1039\u103A\u103D\u103E\u1058\u1059\u105E-\u1060\u1071-\u1074\u1082\u1085\u1086\u108D\u109D\u135D-\u135F\u1390-\u1399\u1400\u169B\u169C\u1712-\u1714\u1732\u1733\u1752\u1753\u1772\u1773\u17B4\u17B5\u17B7-\u17BD\u17C6\u17C9-\u17D3\u17DB\u17DD\u17F0-\u17F9\u1800-\u180F\u1885\u1886\u18A9\u1920-\u1922\u1927\u1928\u1932\u1939-\u193B\u1940\u1944\u1945\u19DE-\u19FF\u1A17\u1A18\u1A1B\u1A56\u1A58-\u1A5E\u1A60\u1A62\u1A65-\u1A6C\u1A73-\u1A7C\u1A7F\u1AB0-\u1ACE\u1B00-\u1B03\u1B34\u1B36-\u1B3A\u1B3C\u1B42\u1B6B-\u1B73\u1B80\u1B81\u1BA2-\u1BA5\u1BA8\u1BA9\u1BAB-\u1BAD\u1BE6\u1BE8\u1BE9\u1BED\u1BEF-\u1BF1\u1C2C-\u1C33\u1C36\u1C37\u1CD0-\u1CD2\u1CD4-\u1CE0\u1CE2-\u1CE8\u1CED\u1CF4\u1CF8\u1CF9\u1DC0-\u1DFF\u1FBD\u1FBF-\u1FC1\u1FCD-\u1FCF\u1FDD-\u1FDF\u1FED-\u1FEF\u1FFD\u1FFE\u200B-\u200D\u200F-\u2027\u202F-\u205E\u2060-\u2064\u206A-\u2070\u2074-\u207E\u2080-\u208E\u20A0-\u20C0\u20D0-\u20F0\u2100\u2101\u2103-\u2106\u2108\u2109\u2114\u2116-\u2118\u211E-\u2123\u2125\u2127\u2129\u212E\u213A\u213B\u2140-\u2144\u214A-\u214D\u2150-\u215F\u2189-\u218B\u2190-\u2335\u237B-\u2394\u2396-\u2426\u2440-\u244A\u2460-\u249B\u24EA-\u26AB\u26AD-\u27FF\u2900-\u2B73\u2B76-\u2B95\u2B97-\u2BFF\u2CE5-\u2CEA\u2CEF-\u2CF1\u2CF9-\u2CFF\u2D7F\u2DE0-\u2E5D\u2E80-\u2E99\u2E9B-\u2EF3\u2F00-\u2FD5\u2FF0-\u2FFF\u3001-\u3004\u3008-\u3020\u302A-\u302D\u3030\u3036\u3037\u303D-\u303F\u3099-\u309C\u30A0\u30FB\u31C0-\u31E3\u31EF\u321D\u321E\u3250-\u325F\u327C-\u327E\u32B1-\u32BF\u32CC-\u32CF\u3377-\u337A\u33DE\u33DF\u33FF\u4DC0-\u4DFF\uA490-\uA4C6\uA60D-\uA60F\uA66F-\uA67F\uA69E\uA69F\uA6F0\uA6F1\uA700-\uA721\uA788\uA802\uA806\uA80B\uA825\uA826\uA828-\uA82C\uA838\uA839\uA874-\uA877\uA8C4\uA8C5\uA8E0-\uA8F1\uA8FF\uA926-\uA92D\uA947-\uA951\uA980-\uA982\uA9B3\uA9B6-\uA9B9\uA9BC\uA9BD\uA9E5\uAA29-\uAA2E\uAA31\uAA32\uAA35\uAA36\uAA43\uAA4C\uAA7C\uAAB0\uAAB2-\uAAB4\uAAB7\uAAB8\uAABE\uAABF\uAAC1\uAAEC\uAAED\uAAF6\uAB6A\uAB6B\uABE5\uABE8\uABED\uFB1D-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBC2\uFBD3-\uFD8F\uFD92-\uFDC7\uFDCF\uFDF0-\uFE19\uFE20-\uFE52\uFE54-\uFE66\uFE68-\uFE6B\uFE70-\uFE74\uFE76-\uFEFC\uFEFF\uFF01-\uFF20\uFF3B-\uFF40\uFF5B-\uFF65\uFFE0-\uFFE6\uFFE8-\uFFEE\uFFF9-\uFFFD\u{10101}\u{10140}-\u{1018C}\u{10190}-\u{1019C}\u{101A0}\u{101FD}\u{102E0}-\u{102FB}\u{10376}-\u{1037A}\u{10800}-\u{10805}\u{10808}\u{1080A}-\u{10835}\u{10837}\u{10838}\u{1083C}\u{1083F}-\u{10855}\u{10857}-\u{1089E}\u{108A7}-\u{108AF}\u{108E0}-\u{108F2}\u{108F4}\u{108F5}\u{108FB}-\u{1091B}\u{1091F}-\u{10939}\u{1093F}\u{10980}-\u{109B7}\u{109BC}-\u{109CF}\u{109D2}-\u{10A03}\u{10A05}\u{10A06}\u{10A0C}-\u{10A13}\u{10A15}-\u{10A17}\u{10A19}-\u{10A35}\u{10A38}-\u{10A3A}\u{10A3F}-\u{10A48}\u{10A50}-\u{10A58}\u{10A60}-\u{10A9F}\u{10AC0}-\u{10AE6}\u{10AEB}-\u{10AF6}\u{10B00}-\u{10B35}\u{10B39}-\u{10B55}\u{10B58}-\u{10B72}\u{10B78}-\u{10B91}\u{10B99}-\u{10B9C}\u{10BA9}-\u{10BAF}\u{10C00}-\u{10C48}\u{10C80}-\u{10CB2}\u{10CC0}-\u{10CF2}\u{10CFA}-\u{10D27}\u{10D30}-\u{10D39}\u{10E60}-\u{10E7E}\u{10E80}-\u{10EA9}\u{10EAB}-\u{10EAD}\u{10EB0}\u{10EB1}\u{10EFD}-\u{10F27}\u{10F30}-\u{10F59}\u{10F70}-\u{10F89}\u{10FB0}-\u{10FCB}\u{10FE0}-\u{10FF6}\u{11001}\u{11038}-\u{11046}\u{11052}-\u{11065}\u{11070}\u{11073}\u{11074}\u{1107F}-\u{11081}\u{110B3}-\u{110B6}\u{110B9}\u{110BA}\u{110C2}\u{11100}-\u{11102}\u{11127}-\u{1112B}\u{1112D}-\u{11134}\u{11173}\u{11180}\u{11181}\u{111B6}-\u{111BE}\u{111C9}-\u{111CC}\u{111CF}\u{1122F}-\u{11231}\u{11234}\u{11236}\u{11237}\u{1123E}\u{11241}\u{112DF}\u{112E3}-\u{112EA}\u{11300}\u{11301}\u{1133B}\u{1133C}\u{11340}\u{11366}-\u{1136C}\u{11370}-\u{11374}\u{11438}-\u{1143F}\u{11442}-\u{11444}\u{11446}\u{1145E}\u{114B3}-\u{114B8}\u{114BA}\u{114BF}\u{114C0}\u{114C2}\u{114C3}\u{115B2}-\u{115B5}\u{115BC}\u{115BD}\u{115BF}\u{115C0}\u{115DC}\u{115DD}\u{11633}-\u{1163A}\u{1163D}\u{1163F}\u{11640}\u{11660}-\u{1166C}\u{116AB}\u{116AD}\u{116B0}-\u{116B5}\u{116B7}\u{1171D}-\u{1171F}\u{11722}-\u{11725}\u{11727}-\u{1172B}\u{1182F}-\u{11837}\u{11839}\u{1183A}\u{1193B}\u{1193C}\u{1193E}\u{11943}\u{119D4}-\u{119D7}\u{119DA}\u{119DB}\u{119E0}\u{11A01}-\u{11A06}\u{11A09}\u{11A0A}\u{11A33}-\u{11A38}\u{11A3B}-\u{11A3E}\u{11A47}\u{11A51}-\u{11A56}\u{11A59}-\u{11A5B}\u{11A8A}-\u{11A96}\u{11A98}\u{11A99}\u{11C30}-\u{11C36}\u{11C38}-\u{11C3D}\u{11C92}-\u{11CA7}\u{11CAA}-\u{11CB0}\u{11CB2}\u{11CB3}\u{11CB5}\u{11CB6}\u{11D31}-\u{11D36}\u{11D3A}\u{11D3C}\u{11D3D}\u{11D3F}-\u{11D45}\u{11D47}\u{11D90}\u{11D91}\u{11D95}\u{11D97}\u{11EF3}\u{11EF4}\u{11F00}\u{11F01}\u{11F36}-\u{11F3A}\u{11F40}\u{11F42}\u{11FD5}-\u{11FF1}\u{13440}\u{13447}-\u{13455}\u{16AF0}-\u{16AF4}\u{16B30}-\u{16B36}\u{16F4F}\u{16F8F}-\u{16F92}\u{16FE2}\u{16FE4}\u{1BC9D}\u{1BC9E}\u{1BCA0}-\u{1BCA3}\u{1CF00}-\u{1CF2D}\u{1CF30}-\u{1CF46}\u{1D167}-\u{1D169}\u{1D173}-\u{1D182}\u{1D185}-\u{1D18B}\u{1D1AA}-\u{1D1AD}\u{1D1E9}\u{1D1EA}\u{1D200}-\u{1D245}\u{1D300}-\u{1D356}\u{1D6DB}\u{1D715}\u{1D74F}\u{1D789}\u{1D7C3}\u{1D7CE}-\u{1D7FF}\u{1DA00}-\u{1DA36}\u{1DA3B}-\u{1DA6C}\u{1DA75}\u{1DA84}\u{1DA9B}-\u{1DA9F}\u{1DAA1}-\u{1DAAF}\u{1E000}-\u{1E006}\u{1E008}-\u{1E018}\u{1E01B}-\u{1E021}\u{1E023}\u{1E024}\u{1E026}-\u{1E02A}\u{1E08F}\u{1E130}-\u{1E136}\u{1E2AE}\u{1E2EC}-\u{1E2EF}\u{1E2FF}\u{1E4EC}-\u{1E4EF}\u{1E800}-\u{1E8C4}\u{1E8C7}-\u{1E8D6}\u{1E900}-\u{1E94B}\u{1E950}-\u{1E959}\u{1E95E}\u{1E95F}\u{1EC71}-\u{1ECB4}\u{1ED01}-\u{1ED3D}\u{1EE00}-\u{1EE03}\u{1EE05}-\u{1EE1F}\u{1EE21}\u{1EE22}\u{1EE24}\u{1EE27}\u{1EE29}-\u{1EE32}\u{1EE34}-\u{1EE37}\u{1EE39}\u{1EE3B}\u{1EE42}\u{1EE47}\u{1EE49}\u{1EE4B}\u{1EE4D}-\u{1EE4F}\u{1EE51}\u{1EE52}\u{1EE54}\u{1EE57}\u{1EE59}\u{1EE5B}\u{1EE5D}\u{1EE5F}\u{1EE61}\u{1EE62}\u{1EE64}\u{1EE67}-\u{1EE6A}\u{1EE6C}-\u{1EE72}\u{1EE74}-\u{1EE77}\u{1EE79}-\u{1EE7C}\u{1EE7E}\u{1EE80}-\u{1EE89}\u{1EE8B}-\u{1EE9B}\u{1EEA1}-\u{1EEA3}\u{1EEA5}-\u{1EEA9}\u{1EEAB}-\u{1EEBB}\u{1EEF0}\u{1EEF1}\u{1F000}-\u{1F02B}\u{1F030}-\u{1F093}\u{1F0A0}-\u{1F0AE}\u{1F0B1}-\u{1F0BF}\u{1F0C1}-\u{1F0CF}\u{1F0D1}-\u{1F0F5}\u{1F100}-\u{1F10F}\u{1F12F}\u{1F16A}-\u{1F16F}\u{1F1AD}\u{1F260}-\u{1F265}\u{1F300}-\u{1F6D7}\u{1F6DC}-\u{1F6EC}\u{1F6F0}-\u{1F6FC}\u{1F700}-\u{1F776}\u{1F77B}-\u{1F7D9}\u{1F7E0}-\u{1F7EB}\u{1F7F0}\u{1F800}-\u{1F80B}\u{1F810}-\u{1F847}\u{1F850}-\u{1F859}\u{1F860}-\u{1F887}\u{1F890}-\u{1F8AD}\u{1F8B0}\u{1F8B1}\u{1F900}-\u{1FA53}\u{1FA60}-\u{1FA6D}\u{1FA70}-\u{1FA7C}\u{1FA80}-\u{1FA88}\u{1FA90}-\u{1FABD}\u{1FABF}-\u{1FAC5}\u{1FACE}-\u{1FADB}\u{1FAE0}-\u{1FAE8}\u{1FAF0}-\u{1FAF8}\u{1FB00}-\u{1FB92}\u{1FB94}-\u{1FBCA}\u{1FBF0}-\u{1FBF9}\u{E0001}\u{E0020}-\u{E007F}\u{E0100}-\u{E01EF}]*$/u;const sn=/[0-9\xB2\xB3\xB9\u05BE\u05C0\u05C3\u05C6\u05D0-\u05EA\u05EF-\u05F4\u0600-\u0605\u0608\u060B\u060D\u061B-\u064A\u0660-\u0669\u066B-\u066F\u0671-\u06D5\u06DD\u06E5\u06E6\u06EE-\u070D\u070F\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07C0-\u07EA\u07F4\u07F5\u07FA\u07FE-\u0815\u081A\u0824\u0828\u0830-\u083E\u0840-\u0858\u085E\u0860-\u086A\u0870-\u088E\u0890\u0891\u08A0-\u08C9\u08E2\u200F\u2070\u2074-\u2079\u2080-\u2089\u2488-\u249B\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBC2\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFC\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\u{102E1}-\u{102FB}\u{10800}-\u{10805}\u{10808}\u{1080A}-\u{10835}\u{10837}\u{10838}\u{1083C}\u{1083F}-\u{10855}\u{10857}-\u{1089E}\u{108A7}-\u{108AF}\u{108E0}-\u{108F2}\u{108F4}\u{108F5}\u{108FB}-\u{1091B}\u{10920}-\u{10939}\u{1093F}\u{10980}-\u{109B7}\u{109BC}-\u{109CF}\u{109D2}-\u{10A00}\u{10A10}-\u{10A13}\u{10A15}-\u{10A17}\u{10A19}-\u{10A35}\u{10A40}-\u{10A48}\u{10A50}-\u{10A58}\u{10A60}-\u{10A9F}\u{10AC0}-\u{10AE4}\u{10AEB}-\u{10AF6}\u{10B00}-\u{10B35}\u{10B40}-\u{10B55}\u{10B58}-\u{10B72}\u{10B78}-\u{10B91}\u{10B99}-\u{10B9C}\u{10BA9}-\u{10BAF}\u{10C00}-\u{10C48}\u{10C80}-\u{10CB2}\u{10CC0}-\u{10CF2}\u{10CFA}-\u{10D23}\u{10D30}-\u{10D39}\u{10E60}-\u{10E7E}\u{10E80}-\u{10EA9}\u{10EAD}\u{10EB0}\u{10EB1}\u{10F00}-\u{10F27}\u{10F30}-\u{10F45}\u{10F51}-\u{10F59}\u{10F70}-\u{10F81}\u{10F86}-\u{10F89}\u{10FB0}-\u{10FCB}\u{10FE0}-\u{10FF6}\u{1D7CE}-\u{1D7FF}\u{1E800}-\u{1E8C4}\u{1E8C7}-\u{1E8CF}\u{1E900}-\u{1E943}\u{1E94B}\u{1E950}-\u{1E959}\u{1E95E}\u{1E95F}\u{1EC71}-\u{1ECB4}\u{1ED01}-\u{1ED3D}\u{1EE00}-\u{1EE03}\u{1EE05}-\u{1EE1F}\u{1EE21}\u{1EE22}\u{1EE24}\u{1EE27}\u{1EE29}-\u{1EE32}\u{1EE34}-\u{1EE37}\u{1EE39}\u{1EE3B}\u{1EE42}\u{1EE47}\u{1EE49}\u{1EE4B}\u{1EE4D}-\u{1EE4F}\u{1EE51}\u{1EE52}\u{1EE54}\u{1EE57}\u{1EE59}\u{1EE5B}\u{1EE5D}\u{1EE5F}\u{1EE61}\u{1EE62}\u{1EE64}\u{1EE67}-\u{1EE6A}\u{1EE6C}-\u{1EE72}\u{1EE74}-\u{1EE77}\u{1EE79}-\u{1EE7C}\u{1EE7E}\u{1EE80}-\u{1EE89}\u{1EE8B}-\u{1EE9B}\u{1EEA1}-\u{1EEA3}\u{1EEA5}-\u{1EEA9}\u{1EEAB}-\u{1EEBB}\u{1F100}-\u{1F10A}\u{1FBF0}-\u{1FBF9}][\u0300-\u036F\u0483-\u0489\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u0610-\u061A\u064B-\u065F\u0670\u06D6-\u06DC\u06DF-\u06E4\u06E7\u06E8\u06EA-\u06ED\u0711\u0730-\u074A\u07A6-\u07B0\u07EB-\u07F3\u07FD\u0816-\u0819\u081B-\u0823\u0825-\u0827\u0829-\u082D\u0859-\u085B\u0898-\u089F\u08CA-\u08E1\u08E3-\u0902\u093A\u093C\u0941-\u0948\u094D\u0951-\u0957\u0962\u0963\u0981\u09BC\u09C1-\u09C4\u09CD\u09E2\u09E3\u09FE\u0A01\u0A02\u0A3C\u0A41\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A70\u0A71\u0A75\u0A81\u0A82\u0ABC\u0AC1-\u0AC5\u0AC7\u0AC8\u0ACD\u0AE2\u0AE3\u0AFA-\u0AFF\u0B01\u0B3C\u0B3F\u0B41-\u0B44\u0B4D\u0B55\u0B56\u0B62\u0B63\u0B82\u0BC0\u0BCD\u0C00\u0C04\u0C3C\u0C3E-\u0C40\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C62\u0C63\u0C81\u0CBC\u0CCC\u0CCD\u0CE2\u0CE3\u0D00\u0D01\u0D3B\u0D3C\u0D41-\u0D44\u0D4D\u0D62\u0D63\u0D81\u0DCA\u0DD2-\u0DD4\u0DD6\u0E31\u0E34-\u0E3A\u0E47-\u0E4E\u0EB1\u0EB4-\u0EBC\u0EC8-\u0ECE\u0F18\u0F19\u0F35\u0F37\u0F39\u0F71-\u0F7E\u0F80-\u0F84\u0F86\u0F87\u0F8D-\u0F97\u0F99-\u0FBC\u0FC6\u102D-\u1030\u1032-\u1037\u1039\u103A\u103D\u103E\u1058\u1059\u105E-\u1060\u1071-\u1074\u1082\u1085\u1086\u108D\u109D\u135D-\u135F\u1712-\u1714\u1732\u1733\u1752\u1753\u1772\u1773\u17B4\u17B5\u17B7-\u17BD\u17C6\u17C9-\u17D3\u17DD\u180B-\u180D\u180F\u1885\u1886\u18A9\u1920-\u1922\u1927\u1928\u1932\u1939-\u193B\u1A17\u1A18\u1A1B\u1A56\u1A58-\u1A5E\u1A60\u1A62\u1A65-\u1A6C\u1A73-\u1A7C\u1A7F\u1AB0-\u1ACE\u1B00-\u1B03\u1B34\u1B36-\u1B3A\u1B3C\u1B42\u1B6B-\u1B73\u1B80\u1B81\u1BA2-\u1BA5\u1BA8\u1BA9\u1BAB-\u1BAD\u1BE6\u1BE8\u1BE9\u1BED\u1BEF-\u1BF1\u1C2C-\u1C33\u1C36\u1C37\u1CD0-\u1CD2\u1CD4-\u1CE0\u1CE2-\u1CE8\u1CED\u1CF4\u1CF8\u1CF9\u1DC0-\u1DFF\u20D0-\u20F0\u2CEF-\u2CF1\u2D7F\u2DE0-\u2DFF\u302A-\u302D\u3099\u309A\uA66F-\uA672\uA674-\uA67D\uA69E\uA69F\uA6F0\uA6F1\uA802\uA806\uA80B\uA825\uA826\uA82C\uA8C4\uA8C5\uA8E0-\uA8F1\uA8FF\uA926-\uA92D\uA947-\uA951\uA980-\uA982\uA9B3\uA9B6-\uA9B9\uA9BC\uA9BD\uA9E5\uAA29-\uAA2E\uAA31\uAA32\uAA35\uAA36\uAA43\uAA4C\uAA7C\uAAB0\uAAB2-\uAAB4\uAAB7\uAAB8\uAABE\uAABF\uAAC1\uAAEC\uAAED\uAAF6\uABE5\uABE8\uABED\uFB1E\uFE00-\uFE0F\uFE20-\uFE2F\u{101FD}\u{102E0}\u{10376}-\u{1037A}\u{10A01}-\u{10A03}\u{10A05}\u{10A06}\u{10A0C}-\u{10A0F}\u{10A38}-\u{10A3A}\u{10A3F}\u{10AE5}\u{10AE6}\u{10D24}-\u{10D27}\u{10EAB}\u{10EAC}\u{10EFD}-\u{10EFF}\u{10F46}-\u{10F50}\u{10F82}-\u{10F85}\u{11001}\u{11038}-\u{11046}\u{11070}\u{11073}\u{11074}\u{1107F}-\u{11081}\u{110B3}-\u{110B6}\u{110B9}\u{110BA}\u{110C2}\u{11100}-\u{11102}\u{11127}-\u{1112B}\u{1112D}-\u{11134}\u{11173}\u{11180}\u{11181}\u{111B6}-\u{111BE}\u{111C9}-\u{111CC}\u{111CF}\u{1122F}-\u{11231}\u{11234}\u{11236}\u{11237}\u{1123E}\u{11241}\u{112DF}\u{112E3}-\u{112EA}\u{11300}\u{11301}\u{1133B}\u{1133C}\u{11340}\u{11366}-\u{1136C}\u{11370}-\u{11374}\u{11438}-\u{1143F}\u{11442}-\u{11444}\u{11446}\u{1145E}\u{114B3}-\u{114B8}\u{114BA}\u{114BF}\u{114C0}\u{114C2}\u{114C3}\u{115B2}-\u{115B5}\u{115BC}\u{115BD}\u{115BF}\u{115C0}\u{115DC}\u{115DD}\u{11633}-\u{1163A}\u{1163D}\u{1163F}\u{11640}\u{116AB}\u{116AD}\u{116B0}-\u{116B5}\u{116B7}\u{1171D}-\u{1171F}\u{11722}-\u{11725}\u{11727}-\u{1172B}\u{1182F}-\u{11837}\u{11839}\u{1183A}\u{1193B}\u{1193C}\u{1193E}\u{11943}\u{119D4}-\u{119D7}\u{119DA}\u{119DB}\u{119E0}\u{11A01}-\u{11A06}\u{11A09}\u{11A0A}\u{11A33}-\u{11A38}\u{11A3B}-\u{11A3E}\u{11A47}\u{11A51}-\u{11A56}\u{11A59}-\u{11A5B}\u{11A8A}-\u{11A96}\u{11A98}\u{11A99}\u{11C30}-\u{11C36}\u{11C38}-\u{11C3D}\u{11C92}-\u{11CA7}\u{11CAA}-\u{11CB0}\u{11CB2}\u{11CB3}\u{11CB5}\u{11CB6}\u{11D31}-\u{11D36}\u{11D3A}\u{11D3C}\u{11D3D}\u{11D3F}-\u{11D45}\u{11D47}\u{11D90}\u{11D91}\u{11D95}\u{11D97}\u{11EF3}\u{11EF4}\u{11F00}\u{11F01}\u{11F36}-\u{11F3A}\u{11F40}\u{11F42}\u{13440}\u{13447}-\u{13455}\u{16AF0}-\u{16AF4}\u{16B30}-\u{16B36}\u{16F4F}\u{16F8F}-\u{16F92}\u{16FE4}\u{1BC9D}\u{1BC9E}\u{1CF00}-\u{1CF2D}\u{1CF30}-\u{1CF46}\u{1D167}-\u{1D169}\u{1D17B}-\u{1D182}\u{1D185}-\u{1D18B}\u{1D1AA}-\u{1D1AD}\u{1D242}-\u{1D244}\u{1DA00}-\u{1DA36}\u{1DA3B}-\u{1DA6C}\u{1DA75}\u{1DA84}\u{1DA9B}-\u{1DA9F}\u{1DAA1}-\u{1DAAF}\u{1E000}-\u{1E006}\u{1E008}-\u{1E018}\u{1E01B}-\u{1E021}\u{1E023}\u{1E024}\u{1E026}-\u{1E02A}\u{1E08F}\u{1E130}-\u{1E136}\u{1E2AE}\u{1E2EC}-\u{1E2EF}\u{1E4EC}-\u{1E4EF}\u{1E8D0}-\u{1E8D6}\u{1E944}-\u{1E94A}\u{E0100}-\u{E01EF}]*$/u;const on=/[0-9\xB2\xB3\xB9\u06F0-\u06F9\u2070\u2074-\u2079\u2080-\u2089\u2488-\u249B\uFF10-\uFF19\u{102E1}-\u{102FB}\u{1D7CE}-\u{1D7FF}\u{1F100}-\u{1F10A}\u{1FBF0}-\u{1FBF9}]/u;const cn=/[\u0600-\u0605\u0660-\u0669\u066B\u066C\u06DD\u0890\u0891\u08E2\u{10D30}-\u{10D39}\u{10E60}-\u{10E7E}]/u;const dn=/^[\0-\x08\x0E-\x1B!-\x84\x86-\u0377\u037A-\u037F\u0384-\u038A\u038C\u038E-\u03A1\u03A3-\u052F\u0531-\u0556\u0559-\u058A\u058D-\u058F\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u0606\u0607\u0609\u060A\u060C\u060E-\u061A\u064B-\u065F\u066A\u0670\u06D6-\u06DC\u06DE-\u06E4\u06E7-\u06ED\u06F0-\u06F9\u0711\u0730-\u074A\u07A6-\u07B0\u07EB-\u07F3\u07F6-\u07F9\u07FD\u0816-\u0819\u081B-\u0823\u0825-\u0827\u0829-\u082D\u0859-\u085B\u0898-\u089F\u08CA-\u08E1\u08E3-\u0983\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BC-\u09C4\u09C7\u09C8\u09CB-\u09CE\u09D7\u09DC\u09DD\u09DF-\u09E3\u09E6-\u09FE\u0A01-\u0A03\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A59-\u0A5C\u0A5E\u0A66-\u0A76\u0A81-\u0A83\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABC-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AD0\u0AE0-\u0AE3\u0AE6-\u0AF1\u0AF9-\u0AFF\u0B01-\u0B03\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3C-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B55-\u0B57\u0B5C\u0B5D\u0B5F-\u0B63\u0B66-\u0B77\u0B82\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD0\u0BD7\u0BE6-\u0BFA\u0C00-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3C-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C58-\u0C5A\u0C5D\u0C60-\u0C63\u0C66-\u0C6F\u0C77-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBC-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CDD\u0CDE\u0CE0-\u0CE3\u0CE6-\u0CEF\u0CF1-\u0CF3\u0D00-\u0D0C\u0D0E-\u0D10\u0D12-\u0D44\u0D46-\u0D48\u0D4A-\u0D4F\u0D54-\u0D63\u0D66-\u0D7F\u0D81-\u0D83\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2-\u0DF4\u0E01-\u0E3A\u0E3F-\u0E5B\u0E81\u0E82\u0E84\u0E86-\u0E8A\u0E8C-\u0EA3\u0EA5\u0EA7-\u0EBD\u0EC0-\u0EC4\u0EC6\u0EC8-\u0ECE\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00-\u0F47\u0F49-\u0F6C\u0F71-\u0F97\u0F99-\u0FBC\u0FBE-\u0FCC\u0FCE-\u0FDA\u1000-\u10C5\u10C7\u10CD\u10D0-\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\u135D-\u137C\u1380-\u1399\u13A0-\u13F5\u13F8-\u13FD\u1400-\u167F\u1681-\u169C\u16A0-\u16F8\u1700-\u1715\u171F-\u1736\u1740-\u1753\u1760-\u176C\u176E-\u1770\u1772\u1773\u1780-\u17DD\u17E0-\u17E9\u17F0-\u17F9\u1800-\u1819\u1820-\u1878\u1880-\u18AA\u18B0-\u18F5\u1900-\u191E\u1920-\u192B\u1930-\u193B\u1940\u1944-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19DA\u19DE-\u1A1B\u1A1E-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AA0-\u1AAD\u1AB0-\u1ACE\u1B00-\u1B4C\u1B50-\u1B7E\u1B80-\u1BF3\u1BFC-\u1C37\u1C3B-\u1C49\u1C4D-\u1C88\u1C90-\u1CBA\u1CBD-\u1CC7\u1CD0-\u1CFA\u1D00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FC4\u1FC6-\u1FD3\u1FD6-\u1FDB\u1FDD-\u1FEF\u1FF2-\u1FF4\u1FF6-\u1FFE\u200B-\u200E\u2010-\u2027\u202F-\u205E\u2060-\u2064\u206A-\u2071\u2074-\u208E\u2090-\u209C\u20A0-\u20C0\u20D0-\u20F0\u2100-\u218B\u2190-\u2426\u2440-\u244A\u2460-\u2B73\u2B76-\u2B95\u2B97-\u2CF3\u2CF9-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D70\u2D7F-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2DE0-\u2E5D\u2E80-\u2E99\u2E9B-\u2EF3\u2F00-\u2FD5\u2FF0-\u2FFF\u3001-\u303F\u3041-\u3096\u3099-\u30FF\u3105-\u312F\u3131-\u318E\u3190-\u31E3\u31EF-\u321E\u3220-\uA48C\uA490-\uA4C6\uA4D0-\uA62B\uA640-\uA6F7\uA700-\uA7CA\uA7D0\uA7D1\uA7D3\uA7D5-\uA7D9\uA7F2-\uA82C\uA830-\uA839\uA840-\uA877\uA880-\uA8C5\uA8CE-\uA8D9\uA8E0-\uA953\uA95F-\uA97C\uA980-\uA9CD\uA9CF-\uA9D9\uA9DE-\uA9FE\uAA00-\uAA36\uAA40-\uAA4D\uAA50-\uAA59\uAA5C-\uAAC2\uAADB-\uAAF6\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB6B\uAB70-\uABED\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uD800-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1E\uFB29\uFD3E-\uFD4F\uFDCF\uFDFD-\uFE19\uFE20-\uFE52\uFE54-\uFE66\uFE68-\uFE6B\uFEFF\uFF01-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC\uFFE0-\uFFE6\uFFE8-\uFFEE\uFFF9-\uFFFD\u{10000}-\u{1000B}\u{1000D}-\u{10026}\u{10028}-\u{1003A}\u{1003C}\u{1003D}\u{1003F}-\u{1004D}\u{10050}-\u{1005D}\u{10080}-\u{100FA}\u{10100}-\u{10102}\u{10107}-\u{10133}\u{10137}-\u{1018E}\u{10190}-\u{1019C}\u{101A0}\u{101D0}-\u{101FD}\u{10280}-\u{1029C}\u{102A0}-\u{102D0}\u{102E0}-\u{102FB}\u{10300}-\u{10323}\u{1032D}-\u{1034A}\u{10350}-\u{1037A}\u{10380}-\u{1039D}\u{1039F}-\u{103C3}\u{103C8}-\u{103D5}\u{10400}-\u{1049D}\u{104A0}-\u{104A9}\u{104B0}-\u{104D3}\u{104D8}-\u{104FB}\u{10500}-\u{10527}\u{10530}-\u{10563}\u{1056F}-\u{1057A}\u{1057C}-\u{1058A}\u{1058C}-\u{10592}\u{10594}\u{10595}\u{10597}-\u{105A1}\u{105A3}-\u{105B1}\u{105B3}-\u{105B9}\u{105BB}\u{105BC}\u{10600}-\u{10736}\u{10740}-\u{10755}\u{10760}-\u{10767}\u{10780}-\u{10785}\u{10787}-\u{107B0}\u{107B2}-\u{107BA}\u{1091F}\u{10A01}-\u{10A03}\u{10A05}\u{10A06}\u{10A0C}-\u{10A0F}\u{10A38}-\u{10A3A}\u{10A3F}\u{10AE5}\u{10AE6}\u{10B39}-\u{10B3F}\u{10D24}-\u{10D27}\u{10EAB}\u{10EAC}\u{10EFD}-\u{10EFF}\u{10F46}-\u{10F50}\u{10F82}-\u{10F85}\u{11000}-\u{1104D}\u{11052}-\u{11075}\u{1107F}-\u{110C2}\u{110CD}\u{110D0}-\u{110E8}\u{110F0}-\u{110F9}\u{11100}-\u{11134}\u{11136}-\u{11147}\u{11150}-\u{11176}\u{11180}-\u{111DF}\u{111E1}-\u{111F4}\u{11200}-\u{11211}\u{11213}-\u{11241}\u{11280}-\u{11286}\u{11288}\u{1128A}-\u{1128D}\u{1128F}-\u{1129D}\u{1129F}-\u{112A9}\u{112B0}-\u{112EA}\u{112F0}-\u{112F9}\u{11300}-\u{11303}\u{11305}-\u{1130C}\u{1130F}\u{11310}\u{11313}-\u{11328}\u{1132A}-\u{11330}\u{11332}\u{11333}\u{11335}-\u{11339}\u{1133B}-\u{11344}\u{11347}\u{11348}\u{1134B}-\u{1134D}\u{11350}\u{11357}\u{1135D}-\u{11363}\u{11366}-\u{1136C}\u{11370}-\u{11374}\u{11400}-\u{1145B}\u{1145D}-\u{11461}\u{11480}-\u{114C7}\u{114D0}-\u{114D9}\u{11580}-\u{115B5}\u{115B8}-\u{115DD}\u{11600}-\u{11644}\u{11650}-\u{11659}\u{11660}-\u{1166C}\u{11680}-\u{116B9}\u{116C0}-\u{116C9}\u{11700}-\u{1171A}\u{1171D}-\u{1172B}\u{11730}-\u{11746}\u{11800}-\u{1183B}\u{118A0}-\u{118F2}\u{118FF}-\u{11906}\u{11909}\u{1190C}-\u{11913}\u{11915}\u{11916}\u{11918}-\u{11935}\u{11937}\u{11938}\u{1193B}-\u{11946}\u{11950}-\u{11959}\u{119A0}-\u{119A7}\u{119AA}-\u{119D7}\u{119DA}-\u{119E4}\u{11A00}-\u{11A47}\u{11A50}-\u{11AA2}\u{11AB0}-\u{11AF8}\u{11B00}-\u{11B09}\u{11C00}-\u{11C08}\u{11C0A}-\u{11C36}\u{11C38}-\u{11C45}\u{11C50}-\u{11C6C}\u{11C70}-\u{11C8F}\u{11C92}-\u{11CA7}\u{11CA9}-\u{11CB6}\u{11D00}-\u{11D06}\u{11D08}\u{11D09}\u{11D0B}-\u{11D36}\u{11D3A}\u{11D3C}\u{11D3D}\u{11D3F}-\u{11D47}\u{11D50}-\u{11D59}\u{11D60}-\u{11D65}\u{11D67}\u{11D68}\u{11D6A}-\u{11D8E}\u{11D90}\u{11D91}\u{11D93}-\u{11D98}\u{11DA0}-\u{11DA9}\u{11EE0}-\u{11EF8}\u{11F00}-\u{11F10}\u{11F12}-\u{11F3A}\u{11F3E}-\u{11F59}\u{11FB0}\u{11FC0}-\u{11FF1}\u{11FFF}-\u{12399}\u{12400}-\u{1246E}\u{12470}-\u{12474}\u{12480}-\u{12543}\u{12F90}-\u{12FF2}\u{13000}-\u{13455}\u{14400}-\u{14646}\u{16800}-\u{16A38}\u{16A40}-\u{16A5E}\u{16A60}-\u{16A69}\u{16A6E}-\u{16ABE}\u{16AC0}-\u{16AC9}\u{16AD0}-\u{16AED}\u{16AF0}-\u{16AF5}\u{16B00}-\u{16B45}\u{16B50}-\u{16B59}\u{16B5B}-\u{16B61}\u{16B63}-\u{16B77}\u{16B7D}-\u{16B8F}\u{16E40}-\u{16E9A}\u{16F00}-\u{16F4A}\u{16F4F}-\u{16F87}\u{16F8F}-\u{16F9F}\u{16FE0}-\u{16FE4}\u{16FF0}\u{16FF1}\u{17000}-\u{187F7}\u{18800}-\u{18CD5}\u{18D00}-\u{18D08}\u{1AFF0}-\u{1AFF3}\u{1AFF5}-\u{1AFFB}\u{1AFFD}\u{1AFFE}\u{1B000}-\u{1B122}\u{1B132}\u{1B150}-\u{1B152}\u{1B155}\u{1B164}-\u{1B167}\u{1B170}-\u{1B2FB}\u{1BC00}-\u{1BC6A}\u{1BC70}-\u{1BC7C}\u{1BC80}-\u{1BC88}\u{1BC90}-\u{1BC99}\u{1BC9C}-\u{1BCA3}\u{1CF00}-\u{1CF2D}\u{1CF30}-\u{1CF46}\u{1CF50}-\u{1CFC3}\u{1D000}-\u{1D0F5}\u{1D100}-\u{1D126}\u{1D129}-\u{1D1EA}\u{1D200}-\u{1D245}\u{1D2C0}-\u{1D2D3}\u{1D2E0}-\u{1D2F3}\u{1D300}-\u{1D356}\u{1D360}-\u{1D378}\u{1D400}-\u{1D454}\u{1D456}-\u{1D49C}\u{1D49E}\u{1D49F}\u{1D4A2}\u{1D4A5}\u{1D4A6}\u{1D4A9}-\u{1D4AC}\u{1D4AE}-\u{1D4B9}\u{1D4BB}\u{1D4BD}-\u{1D4C3}\u{1D4C5}-\u{1D505}\u{1D507}-\u{1D50A}\u{1D50D}-\u{1D514}\u{1D516}-\u{1D51C}\u{1D51E}-\u{1D539}\u{1D53B}-\u{1D53E}\u{1D540}-\u{1D544}\u{1D546}\u{1D54A}-\u{1D550}\u{1D552}-\u{1D6A5}\u{1D6A8}-\u{1D7CB}\u{1D7CE}-\u{1DA8B}\u{1DA9B}-\u{1DA9F}\u{1DAA1}-\u{1DAAF}\u{1DF00}-\u{1DF1E}\u{1DF25}-\u{1DF2A}\u{1E000}-\u{1E006}\u{1E008}-\u{1E018}\u{1E01B}-\u{1E021}\u{1E023}\u{1E024}\u{1E026}-\u{1E02A}\u{1E030}-\u{1E06D}\u{1E08F}\u{1E100}-\u{1E12C}\u{1E130}-\u{1E13D}\u{1E140}-\u{1E149}\u{1E14E}\u{1E14F}\u{1E290}-\u{1E2AE}\u{1E2C0}-\u{1E2F9}\u{1E2FF}\u{1E4D0}-\u{1E4F9}\u{1E7E0}-\u{1E7E6}\u{1E7E8}-\u{1E7EB}\u{1E7ED}\u{1E7EE}\u{1E7F0}-\u{1E7FE}\u{1E8D0}-\u{1E8D6}\u{1E944}-\u{1E94A}\u{1EEF0}\u{1EEF1}\u{1F000}-\u{1F02B}\u{1F030}-\u{1F093}\u{1F0A0}-\u{1F0AE}\u{1F0B1}-\u{1F0BF}\u{1F0C1}-\u{1F0CF}\u{1F0D1}-\u{1F0F5}\u{1F100}-\u{1F1AD}\u{1F1E6}-\u{1F202}\u{1F210}-\u{1F23B}\u{1F240}-\u{1F248}\u{1F250}\u{1F251}\u{1F260}-\u{1F265}\u{1F300}-\u{1F6D7}\u{1F6DC}-\u{1F6EC}\u{1F6F0}-\u{1F6FC}\u{1F700}-\u{1F776}\u{1F77B}-\u{1F7D9}\u{1F7E0}-\u{1F7EB}\u{1F7F0}\u{1F800}-\u{1F80B}\u{1F810}-\u{1F847}\u{1F850}-\u{1F859}\u{1F860}-\u{1F887}\u{1F890}-\u{1F8AD}\u{1F8B0}\u{1F8B1}\u{1F900}-\u{1FA53}\u{1FA60}-\u{1FA6D}\u{1FA70}-\u{1FA7C}\u{1FA80}-\u{1FA88}\u{1FA90}-\u{1FABD}\u{1FABF}-\u{1FAC5}\u{1FACE}-\u{1FADB}\u{1FAE0}-\u{1FAE8}\u{1FAF0}-\u{1FAF8}\u{1FB00}-\u{1FB92}\u{1FB94}-\u{1FBCA}\u{1FBF0}-\u{1FBF9}\u{20000}-\u{2A6DF}\u{2A700}-\u{2B739}\u{2B740}-\u{2B81D}\u{2B820}-\u{2CEA1}\u{2CEB0}-\u{2EBE0}\u{2EBF0}-\u{2EE5D}\u{2F800}-\u{2FA1D}\u{30000}-\u{3134A}\u{31350}-\u{323AF}\u{E0001}\u{E0020}-\u{E007F}\u{E0100}-\u{E01EF}\u{F0000}-\u{FFFFD}\u{100000}-\u{10FFFD}]*$/u;const un=/[0-9A-Za-z\xAA\xB2\xB3\xB5\xB9\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02B8\u02BB-\u02C1\u02D0\u02D1\u02E0-\u02E4\u02EE\u0370-\u0373\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0482\u048A-\u052F\u0531-\u0556\u0559-\u0589\u06F0-\u06F9\u0903-\u0939\u093B\u093D-\u0940\u0949-\u094C\u094E-\u0950\u0958-\u0961\u0964-\u0980\u0982\u0983\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD-\u09C0\u09C7\u09C8\u09CB\u09CC\u09CE\u09D7\u09DC\u09DD\u09DF-\u09E1\u09E6-\u09F1\u09F4-\u09FA\u09FC\u09FD\u0A03\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A3E-\u0A40\u0A59-\u0A5C\u0A5E\u0A66-\u0A6F\u0A72-\u0A74\u0A76\u0A83\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD-\u0AC0\u0AC9\u0ACB\u0ACC\u0AD0\u0AE0\u0AE1\u0AE6-\u0AF0\u0AF9\u0B02\u0B03\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B3E\u0B40\u0B47\u0B48\u0B4B\u0B4C\u0B57\u0B5C\u0B5D\u0B5F-\u0B61\u0B66-\u0B77\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BBE\u0BBF\u0BC1\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCC\u0BD0\u0BD7\u0BE6-\u0BF2\u0C01-\u0C03\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C41-\u0C44\u0C58-\u0C5A\u0C5D\u0C60\u0C61\u0C66-\u0C6F\u0C77\u0C7F\u0C80\u0C82-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD-\u0CC4\u0CC6-\u0CC8\u0CCA\u0CCB\u0CD5\u0CD6\u0CDD\u0CDE\u0CE0\u0CE1\u0CE6-\u0CEF\u0CF1-\u0CF3\u0D02-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D-\u0D40\u0D46-\u0D48\u0D4A-\u0D4C\u0D4E\u0D4F\u0D54-\u0D61\u0D66-\u0D7F\u0D82\u0D83\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DCF-\u0DD1\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2-\u0DF4\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E4F-\u0E5B\u0E81\u0E82\u0E84\u0E86-\u0E8A\u0E8C-\u0EA3\u0EA5\u0EA7-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00-\u0F17\u0F1A-\u0F34\u0F36\u0F38\u0F3E-\u0F47\u0F49-\u0F6C\u0F7F\u0F85\u0F88-\u0F8C\u0FBE-\u0FC5\u0FC7-\u0FCC\u0FCE-\u0FDA\u1000-\u102C\u1031\u1038\u103B\u103C\u103F-\u1057\u105A-\u105D\u1061-\u1070\u1075-\u1081\u1083\u1084\u1087-\u108C\u108E-\u109C\u109E-\u10C5\u10C7\u10CD\u10D0-\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\u1360-\u137C\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u167F\u1681-\u169A\u16A0-\u16F8\u1700-\u1711\u1715\u171F-\u1731\u1734-\u1736\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17B6\u17BE-\u17C5\u17C7\u17C8\u17D4-\u17DA\u17DC\u17E0-\u17E9\u1810-\u1819\u1820-\u1878\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1923-\u1926\u1929-\u192B\u1930\u1931\u1933-\u1938\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19DA\u1A00-\u1A16\u1A19\u1A1A\u1A1E-\u1A55\u1A57\u1A61\u1A63\u1A64\u1A6D-\u1A72\u1A80-\u1A89\u1A90-\u1A99\u1AA0-\u1AAD\u1B04-\u1B33\u1B35\u1B3B\u1B3D-\u1B41\u1B43-\u1B4C\u1B50-\u1B6A\u1B74-\u1B7E\u1B82-\u1BA1\u1BA6\u1BA7\u1BAA\u1BAE-\u1BE5\u1BE7\u1BEA-\u1BEC\u1BEE\u1BF2\u1BF3\u1BFC-\u1C2B\u1C34\u1C35\u1C3B-\u1C49\u1C4D-\u1C88\u1C90-\u1CBA\u1CBD-\u1CC7\u1CD3\u1CE1\u1CE9-\u1CEC\u1CEE-\u1CF3\u1CF5-\u1CF7\u1CFA\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\u200E\u2070\u2071\u2074-\u2079\u207F-\u2089\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u214F\u2160-\u2188\u2336-\u237A\u2395\u2488-\u24E9\u26AC\u2800-\u28FF\u2C00-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D70\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u3005-\u3007\u3021-\u3029\u302E\u302F\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312F\u3131-\u318E\u3190-\u31BF\u31F0-\u321C\u3220-\u324F\u3260-\u327B\u327F-\u32B0\u32C0-\u32CB\u32D0-\u3376\u337B-\u33DD\u33E0-\u33FE\u3400-\u4DBF\u4E00-\uA48C\uA4D0-\uA60C\uA610-\uA62B\uA640-\uA66E\uA680-\uA69D\uA6A0-\uA6EF\uA6F2-\uA6F7\uA722-\uA787\uA789-\uA7CA\uA7D0\uA7D1\uA7D3\uA7D5-\uA7D9\uA7F2-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA824\uA827\uA830-\uA837\uA840-\uA873\uA880-\uA8C3\uA8CE-\uA8D9\uA8F2-\uA8FE\uA900-\uA925\uA92E-\uA946\uA952\uA953\uA95F-\uA97C\uA983-\uA9B2\uA9B4\uA9B5\uA9BA\uA9BB\uA9BE-\uA9CD\uA9CF-\uA9D9\uA9DE-\uA9E4\uA9E6-\uA9FE\uAA00-\uAA28\uAA2F\uAA30\uAA33\uAA34\uAA40-\uAA42\uAA44-\uAA4B\uAA4D\uAA50-\uAA59\uAA5C-\uAA7B\uAA7D-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAAEB\uAAEE-\uAAF5\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB69\uAB70-\uABE4\uABE6\uABE7\uABE9-\uABEC\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uD800-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFF10-\uFF19\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC\u{10000}-\u{1000B}\u{1000D}-\u{10026}\u{10028}-\u{1003A}\u{1003C}\u{1003D}\u{1003F}-\u{1004D}\u{10050}-\u{1005D}\u{10080}-\u{100FA}\u{10100}\u{10102}\u{10107}-\u{10133}\u{10137}-\u{1013F}\u{1018D}\u{1018E}\u{101D0}-\u{101FC}\u{10280}-\u{1029C}\u{102A0}-\u{102D0}\u{102E1}-\u{102FB}\u{10300}-\u{10323}\u{1032D}-\u{1034A}\u{10350}-\u{10375}\u{10380}-\u{1039D}\u{1039F}-\u{103C3}\u{103C8}-\u{103D5}\u{10400}-\u{1049D}\u{104A0}-\u{104A9}\u{104B0}-\u{104D3}\u{104D8}-\u{104FB}\u{10500}-\u{10527}\u{10530}-\u{10563}\u{1056F}-\u{1057A}\u{1057C}-\u{1058A}\u{1058C}-\u{10592}\u{10594}\u{10595}\u{10597}-\u{105A1}\u{105A3}-\u{105B1}\u{105B3}-\u{105B9}\u{105BB}\u{105BC}\u{10600}-\u{10736}\u{10740}-\u{10755}\u{10760}-\u{10767}\u{10780}-\u{10785}\u{10787}-\u{107B0}\u{107B2}-\u{107BA}\u{11000}\u{11002}-\u{11037}\u{11047}-\u{1104D}\u{11066}-\u{1106F}\u{11071}\u{11072}\u{11075}\u{11082}-\u{110B2}\u{110B7}\u{110B8}\u{110BB}-\u{110C1}\u{110CD}\u{110D0}-\u{110E8}\u{110F0}-\u{110F9}\u{11103}-\u{11126}\u{1112C}\u{11136}-\u{11147}\u{11150}-\u{11172}\u{11174}-\u{11176}\u{11182}-\u{111B5}\u{111BF}-\u{111C8}\u{111CD}\u{111CE}\u{111D0}-\u{111DF}\u{111E1}-\u{111F4}\u{11200}-\u{11211}\u{11213}-\u{1122E}\u{11232}\u{11233}\u{11235}\u{11238}-\u{1123D}\u{1123F}\u{11240}\u{11280}-\u{11286}\u{11288}\u{1128A}-\u{1128D}\u{1128F}-\u{1129D}\u{1129F}-\u{112A9}\u{112B0}-\u{112DE}\u{112E0}-\u{112E2}\u{112F0}-\u{112F9}\u{11302}\u{11303}\u{11305}-\u{1130C}\u{1130F}\u{11310}\u{11313}-\u{11328}\u{1132A}-\u{11330}\u{11332}\u{11333}\u{11335}-\u{11339}\u{1133D}-\u{1133F}\u{11341}-\u{11344}\u{11347}\u{11348}\u{1134B}-\u{1134D}\u{11350}\u{11357}\u{1135D}-\u{11363}\u{11400}-\u{11437}\u{11440}\u{11441}\u{11445}\u{11447}-\u{1145B}\u{1145D}\u{1145F}-\u{11461}\u{11480}-\u{114B2}\u{114B9}\u{114BB}-\u{114BE}\u{114C1}\u{114C4}-\u{114C7}\u{114D0}-\u{114D9}\u{11580}-\u{115B1}\u{115B8}-\u{115BB}\u{115BE}\u{115C1}-\u{115DB}\u{11600}-\u{11632}\u{1163B}\u{1163C}\u{1163E}\u{11641}-\u{11644}\u{11650}-\u{11659}\u{11680}-\u{116AA}\u{116AC}\u{116AE}\u{116AF}\u{116B6}\u{116B8}\u{116B9}\u{116C0}-\u{116C9}\u{11700}-\u{1171A}\u{11720}\u{11721}\u{11726}\u{11730}-\u{11746}\u{11800}-\u{1182E}\u{11838}\u{1183B}\u{118A0}-\u{118F2}\u{118FF}-\u{11906}\u{11909}\u{1190C}-\u{11913}\u{11915}\u{11916}\u{11918}-\u{11935}\u{11937}\u{11938}\u{1193D}\u{1193F}-\u{11942}\u{11944}-\u{11946}\u{11950}-\u{11959}\u{119A0}-\u{119A7}\u{119AA}-\u{119D3}\u{119DC}-\u{119DF}\u{119E1}-\u{119E4}\u{11A00}\u{11A07}\u{11A08}\u{11A0B}-\u{11A32}\u{11A39}\u{11A3A}\u{11A3F}-\u{11A46}\u{11A50}\u{11A57}\u{11A58}\u{11A5C}-\u{11A89}\u{11A97}\u{11A9A}-\u{11AA2}\u{11AB0}-\u{11AF8}\u{11B00}-\u{11B09}\u{11C00}-\u{11C08}\u{11C0A}-\u{11C2F}\u{11C3E}-\u{11C45}\u{11C50}-\u{11C6C}\u{11C70}-\u{11C8F}\u{11CA9}\u{11CB1}\u{11CB4}\u{11D00}-\u{11D06}\u{11D08}\u{11D09}\u{11D0B}-\u{11D30}\u{11D46}\u{11D50}-\u{11D59}\u{11D60}-\u{11D65}\u{11D67}\u{11D68}\u{11D6A}-\u{11D8E}\u{11D93}\u{11D94}\u{11D96}\u{11D98}\u{11DA0}-\u{11DA9}\u{11EE0}-\u{11EF2}\u{11EF5}-\u{11EF8}\u{11F02}-\u{11F10}\u{11F12}-\u{11F35}\u{11F3E}\u{11F3F}\u{11F41}\u{11F43}-\u{11F59}\u{11FB0}\u{11FC0}-\u{11FD4}\u{11FFF}-\u{12399}\u{12400}-\u{1246E}\u{12470}-\u{12474}\u{12480}-\u{12543}\u{12F90}-\u{12FF2}\u{13000}-\u{1343F}\u{13441}-\u{13446}\u{14400}-\u{14646}\u{16800}-\u{16A38}\u{16A40}-\u{16A5E}\u{16A60}-\u{16A69}\u{16A6E}-\u{16ABE}\u{16AC0}-\u{16AC9}\u{16AD0}-\u{16AED}\u{16AF5}\u{16B00}-\u{16B2F}\u{16B37}-\u{16B45}\u{16B50}-\u{16B59}\u{16B5B}-\u{16B61}\u{16B63}-\u{16B77}\u{16B7D}-\u{16B8F}\u{16E40}-\u{16E9A}\u{16F00}-\u{16F4A}\u{16F50}-\u{16F87}\u{16F93}-\u{16F9F}\u{16FE0}\u{16FE1}\u{16FE3}\u{16FF0}\u{16FF1}\u{17000}-\u{187F7}\u{18800}-\u{18CD5}\u{18D00}-\u{18D08}\u{1AFF0}-\u{1AFF3}\u{1AFF5}-\u{1AFFB}\u{1AFFD}\u{1AFFE}\u{1B000}-\u{1B122}\u{1B132}\u{1B150}-\u{1B152}\u{1B155}\u{1B164}-\u{1B167}\u{1B170}-\u{1B2FB}\u{1BC00}-\u{1BC6A}\u{1BC70}-\u{1BC7C}\u{1BC80}-\u{1BC88}\u{1BC90}-\u{1BC99}\u{1BC9C}\u{1BC9F}\u{1CF50}-\u{1CFC3}\u{1D000}-\u{1D0F5}\u{1D100}-\u{1D126}\u{1D129}-\u{1D166}\u{1D16A}-\u{1D172}\u{1D183}\u{1D184}\u{1D18C}-\u{1D1A9}\u{1D1AE}-\u{1D1E8}\u{1D2C0}-\u{1D2D3}\u{1D2E0}-\u{1D2F3}\u{1D360}-\u{1D378}\u{1D400}-\u{1D454}\u{1D456}-\u{1D49C}\u{1D49E}\u{1D49F}\u{1D4A2}\u{1D4A5}\u{1D4A6}\u{1D4A9}-\u{1D4AC}\u{1D4AE}-\u{1D4B9}\u{1D4BB}\u{1D4BD}-\u{1D4C3}\u{1D4C5}-\u{1D505}\u{1D507}-\u{1D50A}\u{1D50D}-\u{1D514}\u{1D516}-\u{1D51C}\u{1D51E}-\u{1D539}\u{1D53B}-\u{1D53E}\u{1D540}-\u{1D544}\u{1D546}\u{1D54A}-\u{1D550}\u{1D552}-\u{1D6A5}\u{1D6A8}-\u{1D6DA}\u{1D6DC}-\u{1D714}\u{1D716}-\u{1D74E}\u{1D750}-\u{1D788}\u{1D78A}-\u{1D7C2}\u{1D7C4}-\u{1D7CB}\u{1D7CE}-\u{1D9FF}\u{1DA37}-\u{1DA3A}\u{1DA6D}-\u{1DA74}\u{1DA76}-\u{1DA83}\u{1DA85}-\u{1DA8B}\u{1DF00}-\u{1DF1E}\u{1DF25}-\u{1DF2A}\u{1E030}-\u{1E06D}\u{1E100}-\u{1E12C}\u{1E137}-\u{1E13D}\u{1E140}-\u{1E149}\u{1E14E}\u{1E14F}\u{1E290}-\u{1E2AD}\u{1E2C0}-\u{1E2EB}\u{1E2F0}-\u{1E2F9}\u{1E4D0}-\u{1E4EB}\u{1E4F0}-\u{1E4F9}\u{1E7E0}-\u{1E7E6}\u{1E7E8}-\u{1E7EB}\u{1E7ED}\u{1E7EE}\u{1E7F0}-\u{1E7FE}\u{1F100}-\u{1F10A}\u{1F110}-\u{1F12E}\u{1F130}-\u{1F169}\u{1F170}-\u{1F1AC}\u{1F1E6}-\u{1F202}\u{1F210}-\u{1F23B}\u{1F240}-\u{1F248}\u{1F250}\u{1F251}\u{1FBF0}-\u{1FBF9}\u{20000}-\u{2A6DF}\u{2A700}-\u{2B739}\u{2B740}-\u{2B81D}\u{2B820}-\u{2CEA1}\u{2CEB0}-\u{2EBE0}\u{2EBF0}-\u{2EE5D}\u{2F800}-\u{2FA1D}\u{30000}-\u{3134A}\u{31350}-\u{323AF}\u{F0000}-\u{FFFFD}\u{100000}-\u{10FFFD}][\u0300-\u036F\u0483-\u0489\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u0610-\u061A\u064B-\u065F\u0670\u06D6-\u06DC\u06DF-\u06E4\u06E7\u06E8\u06EA-\u06ED\u0711\u0730-\u074A\u07A6-\u07B0\u07EB-\u07F3\u07FD\u0816-\u0819\u081B-\u0823\u0825-\u0827\u0829-\u082D\u0859-\u085B\u0898-\u089F\u08CA-\u08E1\u08E3-\u0902\u093A\u093C\u0941-\u0948\u094D\u0951-\u0957\u0962\u0963\u0981\u09BC\u09C1-\u09C4\u09CD\u09E2\u09E3\u09FE\u0A01\u0A02\u0A3C\u0A41\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A70\u0A71\u0A75\u0A81\u0A82\u0ABC\u0AC1-\u0AC5\u0AC7\u0AC8\u0ACD\u0AE2\u0AE3\u0AFA-\u0AFF\u0B01\u0B3C\u0B3F\u0B41-\u0B44\u0B4D\u0B55\u0B56\u0B62\u0B63\u0B82\u0BC0\u0BCD\u0C00\u0C04\u0C3C\u0C3E-\u0C40\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C62\u0C63\u0C81\u0CBC\u0CCC\u0CCD\u0CE2\u0CE3\u0D00\u0D01\u0D3B\u0D3C\u0D41-\u0D44\u0D4D\u0D62\u0D63\u0D81\u0DCA\u0DD2-\u0DD4\u0DD6\u0E31\u0E34-\u0E3A\u0E47-\u0E4E\u0EB1\u0EB4-\u0EBC\u0EC8-\u0ECE\u0F18\u0F19\u0F35\u0F37\u0F39\u0F71-\u0F7E\u0F80-\u0F84\u0F86\u0F87\u0F8D-\u0F97\u0F99-\u0FBC\u0FC6\u102D-\u1030\u1032-\u1037\u1039\u103A\u103D\u103E\u1058\u1059\u105E-\u1060\u1071-\u1074\u1082\u1085\u1086\u108D\u109D\u135D-\u135F\u1712-\u1714\u1732\u1733\u1752\u1753\u1772\u1773\u17B4\u17B5\u17B7-\u17BD\u17C6\u17C9-\u17D3\u17DD\u180B-\u180D\u180F\u1885\u1886\u18A9\u1920-\u1922\u1927\u1928\u1932\u1939-\u193B\u1A17\u1A18\u1A1B\u1A56\u1A58-\u1A5E\u1A60\u1A62\u1A65-\u1A6C\u1A73-\u1A7C\u1A7F\u1AB0-\u1ACE\u1B00-\u1B03\u1B34\u1B36-\u1B3A\u1B3C\u1B42\u1B6B-\u1B73\u1B80\u1B81\u1BA2-\u1BA5\u1BA8\u1BA9\u1BAB-\u1BAD\u1BE6\u1BE8\u1BE9\u1BED\u1BEF-\u1BF1\u1C2C-\u1C33\u1C36\u1C37\u1CD0-\u1CD2\u1CD4-\u1CE0\u1CE2-\u1CE8\u1CED\u1CF4\u1CF8\u1CF9\u1DC0-\u1DFF\u20D0-\u20F0\u2CEF-\u2CF1\u2D7F\u2DE0-\u2DFF\u302A-\u302D\u3099\u309A\uA66F-\uA672\uA674-\uA67D\uA69E\uA69F\uA6F0\uA6F1\uA802\uA806\uA80B\uA825\uA826\uA82C\uA8C4\uA8C5\uA8E0-\uA8F1\uA8FF\uA926-\uA92D\uA947-\uA951\uA980-\uA982\uA9B3\uA9B6-\uA9B9\uA9BC\uA9BD\uA9E5\uAA29-\uAA2E\uAA31\uAA32\uAA35\uAA36\uAA43\uAA4C\uAA7C\uAAB0\uAAB2-\uAAB4\uAAB7\uAAB8\uAABE\uAABF\uAAC1\uAAEC\uAAED\uAAF6\uABE5\uABE8\uABED\uFB1E\uFE00-\uFE0F\uFE20-\uFE2F\u{101FD}\u{102E0}\u{10376}-\u{1037A}\u{10A01}-\u{10A03}\u{10A05}\u{10A06}\u{10A0C}-\u{10A0F}\u{10A38}-\u{10A3A}\u{10A3F}\u{10AE5}\u{10AE6}\u{10D24}-\u{10D27}\u{10EAB}\u{10EAC}\u{10EFD}-\u{10EFF}\u{10F46}-\u{10F50}\u{10F82}-\u{10F85}\u{11001}\u{11038}-\u{11046}\u{11070}\u{11073}\u{11074}\u{1107F}-\u{11081}\u{110B3}-\u{110B6}\u{110B9}\u{110BA}\u{110C2}\u{11100}-\u{11102}\u{11127}-\u{1112B}\u{1112D}-\u{11134}\u{11173}\u{11180}\u{11181}\u{111B6}-\u{111BE}\u{111C9}-\u{111CC}\u{111CF}\u{1122F}-\u{11231}\u{11234}\u{11236}\u{11237}\u{1123E}\u{11241}\u{112DF}\u{112E3}-\u{112EA}\u{11300}\u{11301}\u{1133B}\u{1133C}\u{11340}\u{11366}-\u{1136C}\u{11370}-\u{11374}\u{11438}-\u{1143F}\u{11442}-\u{11444}\u{11446}\u{1145E}\u{114B3}-\u{114B8}\u{114BA}\u{114BF}\u{114C0}\u{114C2}\u{114C3}\u{115B2}-\u{115B5}\u{115BC}\u{115BD}\u{115BF}\u{115C0}\u{115DC}\u{115DD}\u{11633}-\u{1163A}\u{1163D}\u{1163F}\u{11640}\u{116AB}\u{116AD}\u{116B0}-\u{116B5}\u{116B7}\u{1171D}-\u{1171F}\u{11722}-\u{11725}\u{11727}-\u{1172B}\u{1182F}-\u{11837}\u{11839}\u{1183A}\u{1193B}\u{1193C}\u{1193E}\u{11943}\u{119D4}-\u{119D7}\u{119DA}\u{119DB}\u{119E0}\u{11A01}-\u{11A06}\u{11A09}\u{11A0A}\u{11A33}-\u{11A38}\u{11A3B}-\u{11A3E}\u{11A47}\u{11A51}-\u{11A56}\u{11A59}-\u{11A5B}\u{11A8A}-\u{11A96}\u{11A98}\u{11A99}\u{11C30}-\u{11C36}\u{11C38}-\u{11C3D}\u{11C92}-\u{11CA7}\u{11CAA}-\u{11CB0}\u{11CB2}\u{11CB3}\u{11CB5}\u{11CB6}\u{11D31}-\u{11D36}\u{11D3A}\u{11D3C}\u{11D3D}\u{11D3F}-\u{11D45}\u{11D47}\u{11D90}\u{11D91}\u{11D95}\u{11D97}\u{11EF3}\u{11EF4}\u{11F00}\u{11F01}\u{11F36}-\u{11F3A}\u{11F40}\u{11F42}\u{13440}\u{13447}-\u{13455}\u{16AF0}-\u{16AF4}\u{16B30}-\u{16B36}\u{16F4F}\u{16F8F}-\u{16F92}\u{16FE4}\u{1BC9D}\u{1BC9E}\u{1CF00}-\u{1CF2D}\u{1CF30}-\u{1CF46}\u{1D167}-\u{1D169}\u{1D17B}-\u{1D182}\u{1D185}-\u{1D18B}\u{1D1AA}-\u{1D1AD}\u{1D242}-\u{1D244}\u{1DA00}-\u{1DA36}\u{1DA3B}-\u{1DA6C}\u{1DA75}\u{1DA84}\u{1DA9B}-\u{1DA9F}\u{1DAA1}-\u{1DAAF}\u{1E000}-\u{1E006}\u{1E008}-\u{1E018}\u{1E01B}-\u{1E021}\u{1E023}\u{1E024}\u{1E026}-\u{1E02A}\u{1E08F}\u{1E130}-\u{1E136}\u{1E2AE}\u{1E2EC}-\u{1E2EF}\u{1E4EC}-\u{1E4EF}\u{1E8D0}-\u{1E8D6}\u{1E944}-\u{1E94A}\u{E0100}-\u{E01EF}]*$/u;Wt.exports={combiningMarks:Pt,combiningClassVirama:en,validZWNJ:tn,bidiDomain:nn,bidiS1LTR:an,bidiS1RTL:In,bidiS2:rn,bidiS3:sn,bidiS4EN:on,bidiS4AN:cn,bidiS5:dn,bidiS6:un}},9156:Wt=>{Wt.exports.STATUS_MAPPING={mapped:1,valid:2,disallowed:3,disallowed_STD3_valid:4,disallowed_STD3_mapped:5,deviation:6,ignored:7}},20770:(Wt,Pt,en)=>{Wt.exports=en(20218)},20218:(Wt,Pt,en)=>{var tn=en(69278);var nn=en(64756);var an=en(58611);var In=en(65692);var rn=en(24434);var sn=en(42613);var on=en(39023);Pt.httpOverHttp=httpOverHttp;Pt.httpsOverHttp=httpsOverHttp;Pt.httpOverHttps=httpOverHttps;Pt.httpsOverHttps=httpsOverHttps;function httpOverHttp(Wt){var Pt=new TunnelingAgent(Wt);Pt.request=an.request;return Pt}function httpsOverHttp(Wt){var Pt=new TunnelingAgent(Wt);Pt.request=an.request;Pt.createSocket=createSecureSocket;Pt.defaultPort=443;return Pt}function httpOverHttps(Wt){var Pt=new TunnelingAgent(Wt);Pt.request=In.request;return Pt}function httpsOverHttps(Wt){var Pt=new TunnelingAgent(Wt);Pt.request=In.request;Pt.createSocket=createSecureSocket;Pt.defaultPort=443;return Pt}function TunnelingAgent(Wt){var Pt=this;Pt.options=Wt||{};Pt.proxyOptions=Pt.options.proxy||{};Pt.maxSockets=Pt.options.maxSockets||an.Agent.defaultMaxSockets;Pt.requests=[];Pt.sockets=[];Pt.on("free",(function onFree(Wt,en,tn,nn){var an=toOptions(en,tn,nn);for(var In=0,rn=Pt.requests.length;In=this.maxSockets){nn.requests.push(an);return}nn.createSocket(an,(function(Pt){Pt.on("free",onFree);Pt.on("close",onCloseOrRemove);Pt.on("agentRemove",onCloseOrRemove);Wt.onSocket(Pt);function onFree(){nn.emit("free",Pt,an)}function onCloseOrRemove(Wt){nn.removeSocket(Pt);Pt.removeListener("free",onFree);Pt.removeListener("close",onCloseOrRemove);Pt.removeListener("agentRemove",onCloseOrRemove)}}))};TunnelingAgent.prototype.createSocket=function createSocket(Wt,Pt){var en=this;var tn={};en.sockets.push(tn);var nn=mergeOptions({},en.proxyOptions,{method:"CONNECT",path:Wt.host+":"+Wt.port,agent:false,headers:{host:Wt.host+":"+Wt.port}});if(Wt.localAddress){nn.localAddress=Wt.localAddress}if(nn.proxyAuth){nn.headers=nn.headers||{};nn.headers["Proxy-Authorization"]="Basic "+new Buffer(nn.proxyAuth).toString("base64")}cn("making CONNECT request");var an=en.request(nn);an.useChunkedEncodingByDefault=false;an.once("response",onResponse);an.once("upgrade",onUpgrade);an.once("connect",onConnect);an.once("error",onError);an.end();function onResponse(Wt){Wt.upgrade=true}function onUpgrade(Wt,Pt,en){process.nextTick((function(){onConnect(Wt,Pt,en)}))}function onConnect(nn,In,rn){an.removeAllListeners();In.removeAllListeners();if(nn.statusCode!==200){cn("tunneling socket could not be established, statusCode=%d",nn.statusCode);In.destroy();var sn=new Error("tunneling socket could not be established, "+"statusCode="+nn.statusCode);sn.code="ECONNRESET";Wt.request.emit("error",sn);en.removeSocket(tn);return}if(rn.length>0){cn("got illegal response body from proxy");In.destroy();var sn=new Error("got illegal response body from proxy");sn.code="ECONNRESET";Wt.request.emit("error",sn);en.removeSocket(tn);return}cn("tunneling connection has established");en.sockets[en.sockets.indexOf(tn)]=In;return Pt(In)}function onError(Pt){an.removeAllListeners();cn("tunneling socket could not be established, cause=%s\n",Pt.message,Pt.stack);var nn=new Error("tunneling socket could not be established, "+"cause="+Pt.message);nn.code="ECONNRESET";Wt.request.emit("error",nn);en.removeSocket(tn)}};TunnelingAgent.prototype.removeSocket=function removeSocket(Wt){var Pt=this.sockets.indexOf(Wt);if(Pt===-1){return}this.sockets.splice(Pt,1);var en=this.requests.shift();if(en){this.createSocket(en,(function(Wt){en.request.onSocket(Wt)}))}};function createSecureSocket(Wt,Pt){var en=this;TunnelingAgent.prototype.createSocket.call(en,Wt,(function(tn){var an=Wt.request.getHeader("host");var In=mergeOptions({},en.options,{socket:tn,servername:an?an.replace(/:.*$/,""):Wt.host});var rn=nn.connect(0,In);en.sockets[en.sockets.indexOf(tn)]=rn;Pt(rn)}))}function toOptions(Wt,Pt,en){if(typeof Wt==="string"){return{host:Wt,port:Pt,localAddress:en}}return Wt}function mergeOptions(Wt){for(var Pt=1,en=arguments.length;Pt{const tn=en(86197);const nn=en(28611);const an=en(68707);const In=en(35076);const rn=en(81093);const sn=en(59965);const on=en(3440);const{InvalidArgumentError:cn}=an;const dn=en(56615);const un=en(59136);const pn=en(47365);const mn=en(47501);const bn=en(94004);const Gn=en(52429);const hn=en(22720);const Zn=en(53573);const{getGlobalDispatcher:An,setGlobalDispatcher:Wn}=en(32581);const Nn=en(78840);const gn=en(48299);const yn=en(64415);let vn;try{en(76982);vn=true}catch{vn=false}Object.assign(nn.prototype,dn);Wt.exports.Dispatcher=nn;Wt.exports.Client=tn;Wt.exports.Pool=In;Wt.exports.BalancedPool=rn;Wt.exports.Agent=sn;Wt.exports.ProxyAgent=hn;Wt.exports.RetryHandler=Zn;Wt.exports.DecoratorHandler=Nn;Wt.exports.RedirectHandler=gn;Wt.exports.createRedirectInterceptor=yn;Wt.exports.buildConnector=un;Wt.exports.errors=an;function makeDispatcher(Wt){return(Pt,en,tn)=>{if(typeof en==="function"){tn=en;en=null}if(!Pt||typeof Pt!=="string"&&typeof Pt!=="object"&&!(Pt instanceof URL)){throw new cn("invalid url")}if(en!=null&&typeof en!=="object"){throw new cn("invalid opts")}if(en&&en.path!=null){if(typeof en.path!=="string"){throw new cn("invalid opts.path")}let Wt=en.path;if(!en.path.startsWith("/")){Wt=`/${Wt}`}Pt=new URL(on.parseOrigin(Pt).origin+Wt)}else{if(!en){en=typeof Pt==="object"?Pt:{}}Pt=on.parseURL(Pt)}const{agent:nn,dispatcher:an=An()}=en;if(nn){throw new cn("unsupported opts.agent. Did you mean opts.client?")}return Wt.call(an,{...en,origin:Pt.origin,path:Pt.search?`${Pt.pathname}${Pt.search}`:Pt.pathname,method:en.method||(en.body?"PUT":"GET")},tn)}}Wt.exports.setGlobalDispatcher=Wn;Wt.exports.getGlobalDispatcher=An;if(on.nodeMajor>16||on.nodeMajor===16&&on.nodeMinor>=8){let Pt=null;Wt.exports.fetch=async function fetch(Wt){if(!Pt){Pt=en(12315).fetch}try{return await Pt(...arguments)}catch(Wt){if(typeof Wt==="object"){Error.captureStackTrace(Wt,this)}throw Wt}};Wt.exports.Headers=en(26349).Headers;Wt.exports.Response=en(48676).Response;Wt.exports.Request=en(25194).Request;Wt.exports.FormData=en(43073).FormData;Wt.exports.File=en(63041).File;Wt.exports.FileReader=en(82160).FileReader;const{setGlobalOrigin:tn,getGlobalOrigin:nn}=en(75628);Wt.exports.setGlobalOrigin=tn;Wt.exports.getGlobalOrigin=nn;const{CacheStorage:an}=en(44738);const{kConstruct:In}=en(80296);Wt.exports.caches=new an(In)}if(on.nodeMajor>=16){const{deleteCookie:Pt,getCookies:tn,getSetCookies:nn,setCookie:an}=en(53168);Wt.exports.deleteCookie=Pt;Wt.exports.getCookies=tn;Wt.exports.getSetCookies=nn;Wt.exports.setCookie=an;const{parseMIMEType:In,serializeAMimeType:rn}=en(94322);Wt.exports.parseMIMEType=In;Wt.exports.serializeAMimeType=rn}if(on.nodeMajor>=18&&vn){const{WebSocket:Pt}=en(55171);Wt.exports.WebSocket=Pt}Wt.exports.request=makeDispatcher(dn.request);Wt.exports.stream=makeDispatcher(dn.stream);Wt.exports.pipeline=makeDispatcher(dn.pipeline);Wt.exports.connect=makeDispatcher(dn.connect);Wt.exports.upgrade=makeDispatcher(dn.upgrade);Wt.exports.MockClient=pn;Wt.exports.MockPool=bn;Wt.exports.MockAgent=mn;Wt.exports.mockErrors=Gn},59965:(Wt,Pt,en)=>{const{InvalidArgumentError:tn}=en(68707);const{kClients:nn,kRunning:an,kClose:In,kDestroy:rn,kDispatch:sn,kInterceptors:on}=en(36443);const cn=en(50001);const dn=en(35076);const un=en(86197);const pn=en(3440);const mn=en(64415);const{WeakRef:bn,FinalizationRegistry:Gn}=en(13194)();const hn=Symbol("onConnect");const Zn=Symbol("onDisconnect");const An=Symbol("onConnectionError");const Wn=Symbol("maxRedirections");const Nn=Symbol("onDrain");const gn=Symbol("factory");const yn=Symbol("finalizer");const vn=Symbol("options");function defaultFactory(Wt,Pt){return Pt&&Pt.connections===1?new un(Wt,Pt):new dn(Wt,Pt)}class Agent extends cn{constructor({factory:Wt=defaultFactory,maxRedirections:Pt=0,connect:en,...an}={}){super();if(typeof Wt!=="function"){throw new tn("factory must be a function.")}if(en!=null&&typeof en!=="function"&&typeof en!=="object"){throw new tn("connect must be a function or an object")}if(!Number.isInteger(Pt)||Pt<0){throw new tn("maxRedirections must be a positive number")}if(en&&typeof en!=="function"){en={...en}}this[on]=an.interceptors&&an.interceptors.Agent&&Array.isArray(an.interceptors.Agent)?an.interceptors.Agent:[mn({maxRedirections:Pt})];this[vn]={...pn.deepClone(an),connect:en};this[vn].interceptors=an.interceptors?{...an.interceptors}:undefined;this[Wn]=Pt;this[gn]=Wt;this[nn]=new Map;this[yn]=new Gn((Wt=>{const Pt=this[nn].get(Wt);if(Pt!==undefined&&Pt.deref()===undefined){this[nn].delete(Wt)}}));const In=this;this[Nn]=(Wt,Pt)=>{In.emit("drain",Wt,[In,...Pt])};this[hn]=(Wt,Pt)=>{In.emit("connect",Wt,[In,...Pt])};this[Zn]=(Wt,Pt,en)=>{In.emit("disconnect",Wt,[In,...Pt],en)};this[An]=(Wt,Pt,en)=>{In.emit("connectionError",Wt,[In,...Pt],en)}}get[an](){let Wt=0;for(const Pt of this[nn].values()){const en=Pt.deref();if(en){Wt+=en[an]}}return Wt}[sn](Wt,Pt){let en;if(Wt.origin&&(typeof Wt.origin==="string"||Wt.origin instanceof URL)){en=String(Wt.origin)}else{throw new tn("opts.origin must be a non-empty string or URL.")}const an=this[nn].get(en);let In=an?an.deref():null;if(!In){In=this[gn](Wt.origin,this[vn]).on("drain",this[Nn]).on("connect",this[hn]).on("disconnect",this[Zn]).on("connectionError",this[An]);this[nn].set(en,new bn(In));this[yn].register(In,en)}return In.dispatch(Wt,Pt)}async[In](){const Wt=[];for(const Pt of this[nn].values()){const en=Pt.deref();if(en){Wt.push(en.close())}}await Promise.all(Wt)}async[rn](Wt){const Pt=[];for(const en of this[nn].values()){const tn=en.deref();if(tn){Pt.push(tn.destroy(Wt))}}await Promise.all(Pt)}}Wt.exports=Agent},80158:(Wt,Pt,en)=>{const{addAbortListener:tn}=en(3440);const{RequestAbortedError:nn}=en(68707);const an=Symbol("kListener");const In=Symbol("kSignal");function abort(Wt){if(Wt.abort){Wt.abort()}else{Wt.onError(new nn)}}function addSignal(Wt,Pt){Wt[In]=null;Wt[an]=null;if(!Pt){return}if(Pt.aborted){abort(Wt);return}Wt[In]=Pt;Wt[an]=()=>{abort(Wt)};tn(Wt[In],Wt[an])}function removeSignal(Wt){if(!Wt[In]){return}if("removeEventListener"in Wt[In]){Wt[In].removeEventListener("abort",Wt[an])}else{Wt[In].removeListener("abort",Wt[an])}Wt[In]=null;Wt[an]=null}Wt.exports={addSignal:addSignal,removeSignal:removeSignal}},34660:(Wt,Pt,en)=>{const{AsyncResource:tn}=en(90290);const{InvalidArgumentError:nn,RequestAbortedError:an,SocketError:In}=en(68707);const rn=en(3440);const{addSignal:sn,removeSignal:on}=en(80158);class ConnectHandler extends tn{constructor(Wt,Pt){if(!Wt||typeof Wt!=="object"){throw new nn("invalid opts")}if(typeof Pt!=="function"){throw new nn("invalid callback")}const{signal:en,opaque:tn,responseHeaders:an}=Wt;if(en&&typeof en.on!=="function"&&typeof en.addEventListener!=="function"){throw new nn("signal must be an EventEmitter or EventTarget")}super("UNDICI_CONNECT");this.opaque=tn||null;this.responseHeaders=an||null;this.callback=Pt;this.abort=null;sn(this,en)}onConnect(Wt,Pt){if(!this.callback){throw new an}this.abort=Wt;this.context=Pt}onHeaders(){throw new In("bad connect",null)}onUpgrade(Wt,Pt,en){const{callback:tn,opaque:nn,context:an}=this;on(this);this.callback=null;let In=Pt;if(In!=null){In=this.responseHeaders==="raw"?rn.parseRawHeaders(Pt):rn.parseHeaders(Pt)}this.runInAsyncScope(tn,null,null,{statusCode:Wt,headers:In,socket:en,opaque:nn,context:an})}onError(Wt){const{callback:Pt,opaque:en}=this;on(this);if(Pt){this.callback=null;queueMicrotask((()=>{this.runInAsyncScope(Pt,null,Wt,{opaque:en})}))}}}function connect(Wt,Pt){if(Pt===undefined){return new Promise(((Pt,en)=>{connect.call(this,Wt,((Wt,tn)=>Wt?en(Wt):Pt(tn)))}))}try{const en=new ConnectHandler(Wt,Pt);this.dispatch({...Wt,method:"CONNECT"},en)}catch(en){if(typeof Pt!=="function"){throw en}const tn=Wt&&Wt.opaque;queueMicrotask((()=>Pt(en,{opaque:tn})))}}Wt.exports=connect},76862:(Wt,Pt,en)=>{const{Readable:tn,Duplex:nn,PassThrough:an}=en(2203);const{InvalidArgumentError:In,InvalidReturnValueError:rn,RequestAbortedError:sn}=en(68707);const on=en(3440);const{AsyncResource:cn}=en(90290);const{addSignal:dn,removeSignal:un}=en(80158);const pn=en(42613);const mn=Symbol("resume");class PipelineRequest extends tn{constructor(){super({autoDestroy:true});this[mn]=null}_read(){const{[mn]:Wt}=this;if(Wt){this[mn]=null;Wt()}}_destroy(Wt,Pt){this._read();Pt(Wt)}}class PipelineResponse extends tn{constructor(Wt){super({autoDestroy:true});this[mn]=Wt}_read(){this[mn]()}_destroy(Wt,Pt){if(!Wt&&!this._readableState.endEmitted){Wt=new sn}Pt(Wt)}}class PipelineHandler extends cn{constructor(Wt,Pt){if(!Wt||typeof Wt!=="object"){throw new In("invalid opts")}if(typeof Pt!=="function"){throw new In("invalid handler")}const{signal:en,method:tn,opaque:an,onInfo:rn,responseHeaders:cn}=Wt;if(en&&typeof en.on!=="function"&&typeof en.addEventListener!=="function"){throw new In("signal must be an EventEmitter or EventTarget")}if(tn==="CONNECT"){throw new In("invalid method")}if(rn&&typeof rn!=="function"){throw new In("invalid onInfo callback")}super("UNDICI_PIPELINE");this.opaque=an||null;this.responseHeaders=cn||null;this.handler=Pt;this.abort=null;this.context=null;this.onInfo=rn||null;this.req=(new PipelineRequest).on("error",on.nop);this.ret=new nn({readableObjectMode:Wt.objectMode,autoDestroy:true,read:()=>{const{body:Wt}=this;if(Wt&&Wt.resume){Wt.resume()}},write:(Wt,Pt,en)=>{const{req:tn}=this;if(tn.push(Wt,Pt)||tn._readableState.destroyed){en()}else{tn[mn]=en}},destroy:(Wt,Pt)=>{const{body:en,req:tn,res:nn,ret:an,abort:In}=this;if(!Wt&&!an._readableState.endEmitted){Wt=new sn}if(In&&Wt){In()}on.destroy(en,Wt);on.destroy(tn,Wt);on.destroy(nn,Wt);un(this);Pt(Wt)}}).on("prefinish",(()=>{const{req:Wt}=this;Wt.push(null)}));this.res=null;dn(this,en)}onConnect(Wt,Pt){const{ret:en,res:tn}=this;pn(!tn,"pipeline cannot be retried");if(en.destroyed){throw new sn}this.abort=Wt;this.context=Pt}onHeaders(Wt,Pt,en){const{opaque:tn,handler:nn,context:an}=this;if(Wt<200){if(this.onInfo){const en=this.responseHeaders==="raw"?on.parseRawHeaders(Pt):on.parseHeaders(Pt);this.onInfo({statusCode:Wt,headers:en})}return}this.res=new PipelineResponse(en);let In;try{this.handler=null;const en=this.responseHeaders==="raw"?on.parseRawHeaders(Pt):on.parseHeaders(Pt);In=this.runInAsyncScope(nn,null,{statusCode:Wt,headers:en,opaque:tn,body:this.res,context:an})}catch(Wt){this.res.on("error",on.nop);throw Wt}if(!In||typeof In.on!=="function"){throw new rn("expected Readable")}In.on("data",(Wt=>{const{ret:Pt,body:en}=this;if(!Pt.push(Wt)&&en.pause){en.pause()}})).on("error",(Wt=>{const{ret:Pt}=this;on.destroy(Pt,Wt)})).on("end",(()=>{const{ret:Wt}=this;Wt.push(null)})).on("close",(()=>{const{ret:Wt}=this;if(!Wt._readableState.ended){on.destroy(Wt,new sn)}}));this.body=In}onData(Wt){const{res:Pt}=this;return Pt.push(Wt)}onComplete(Wt){const{res:Pt}=this;Pt.push(null)}onError(Wt){const{ret:Pt}=this;this.handler=null;on.destroy(Pt,Wt)}}function pipeline(Wt,Pt){try{const en=new PipelineHandler(Wt,Pt);this.dispatch({...Wt,body:en.req},en);return en.ret}catch(Wt){return(new an).destroy(Wt)}}Wt.exports=pipeline},14043:(Wt,Pt,en)=>{const tn=en(49927);const{InvalidArgumentError:nn,RequestAbortedError:an}=en(68707);const In=en(3440);const{getResolveErrorBodyCallback:rn}=en(87655);const{AsyncResource:sn}=en(90290);const{addSignal:on,removeSignal:cn}=en(80158);class RequestHandler extends sn{constructor(Wt,Pt){if(!Wt||typeof Wt!=="object"){throw new nn("invalid opts")}const{signal:en,method:tn,opaque:an,body:rn,onInfo:sn,responseHeaders:cn,throwOnError:dn,highWaterMark:un}=Wt;try{if(typeof Pt!=="function"){throw new nn("invalid callback")}if(un&&(typeof un!=="number"||un<0)){throw new nn("invalid highWaterMark")}if(en&&typeof en.on!=="function"&&typeof en.addEventListener!=="function"){throw new nn("signal must be an EventEmitter or EventTarget")}if(tn==="CONNECT"){throw new nn("invalid method")}if(sn&&typeof sn!=="function"){throw new nn("invalid onInfo callback")}super("UNDICI_REQUEST")}catch(Wt){if(In.isStream(rn)){In.destroy(rn.on("error",In.nop),Wt)}throw Wt}this.responseHeaders=cn||null;this.opaque=an||null;this.callback=Pt;this.res=null;this.abort=null;this.body=rn;this.trailers={};this.context=null;this.onInfo=sn||null;this.throwOnError=dn;this.highWaterMark=un;if(In.isStream(rn)){rn.on("error",(Wt=>{this.onError(Wt)}))}on(this,en)}onConnect(Wt,Pt){if(!this.callback){throw new an}this.abort=Wt;this.context=Pt}onHeaders(Wt,Pt,en,nn){const{callback:an,opaque:sn,abort:on,context:cn,responseHeaders:dn,highWaterMark:un}=this;const pn=dn==="raw"?In.parseRawHeaders(Pt):In.parseHeaders(Pt);if(Wt<200){if(this.onInfo){this.onInfo({statusCode:Wt,headers:pn})}return}const mn=dn==="raw"?In.parseHeaders(Pt):pn;const bn=mn["content-type"];const Gn=new tn({resume:en,abort:on,contentType:bn,highWaterMark:un});this.callback=null;this.res=Gn;if(an!==null){if(this.throwOnError&&Wt>=400){this.runInAsyncScope(rn,null,{callback:an,body:Gn,contentType:bn,statusCode:Wt,statusMessage:nn,headers:pn})}else{this.runInAsyncScope(an,null,null,{statusCode:Wt,headers:pn,trailers:this.trailers,opaque:sn,body:Gn,context:cn})}}}onData(Wt){const{res:Pt}=this;return Pt.push(Wt)}onComplete(Wt){const{res:Pt}=this;cn(this);In.parseHeaders(Wt,this.trailers);Pt.push(null)}onError(Wt){const{res:Pt,callback:en,body:tn,opaque:nn}=this;cn(this);if(en){this.callback=null;queueMicrotask((()=>{this.runInAsyncScope(en,null,Wt,{opaque:nn})}))}if(Pt){this.res=null;queueMicrotask((()=>{In.destroy(Pt,Wt)}))}if(tn){this.body=null;In.destroy(tn,Wt)}}}function request(Wt,Pt){if(Pt===undefined){return new Promise(((Pt,en)=>{request.call(this,Wt,((Wt,tn)=>Wt?en(Wt):Pt(tn)))}))}try{this.dispatch(Wt,new RequestHandler(Wt,Pt))}catch(en){if(typeof Pt!=="function"){throw en}const tn=Wt&&Wt.opaque;queueMicrotask((()=>Pt(en,{opaque:tn})))}}Wt.exports=request;Wt.exports.RequestHandler=RequestHandler},3560:(Wt,Pt,en)=>{const{finished:tn,PassThrough:nn}=en(2203);const{InvalidArgumentError:an,InvalidReturnValueError:In,RequestAbortedError:rn}=en(68707);const sn=en(3440);const{getResolveErrorBodyCallback:on}=en(87655);const{AsyncResource:cn}=en(90290);const{addSignal:dn,removeSignal:un}=en(80158);class StreamHandler extends cn{constructor(Wt,Pt,en){if(!Wt||typeof Wt!=="object"){throw new an("invalid opts")}const{signal:tn,method:nn,opaque:In,body:rn,onInfo:on,responseHeaders:cn,throwOnError:un}=Wt;try{if(typeof en!=="function"){throw new an("invalid callback")}if(typeof Pt!=="function"){throw new an("invalid factory")}if(tn&&typeof tn.on!=="function"&&typeof tn.addEventListener!=="function"){throw new an("signal must be an EventEmitter or EventTarget")}if(nn==="CONNECT"){throw new an("invalid method")}if(on&&typeof on!=="function"){throw new an("invalid onInfo callback")}super("UNDICI_STREAM")}catch(Wt){if(sn.isStream(rn)){sn.destroy(rn.on("error",sn.nop),Wt)}throw Wt}this.responseHeaders=cn||null;this.opaque=In||null;this.factory=Pt;this.callback=en;this.res=null;this.abort=null;this.context=null;this.trailers=null;this.body=rn;this.onInfo=on||null;this.throwOnError=un||false;if(sn.isStream(rn)){rn.on("error",(Wt=>{this.onError(Wt)}))}dn(this,tn)}onConnect(Wt,Pt){if(!this.callback){throw new rn}this.abort=Wt;this.context=Pt}onHeaders(Wt,Pt,en,an){const{factory:rn,opaque:cn,context:dn,callback:un,responseHeaders:pn}=this;const mn=pn==="raw"?sn.parseRawHeaders(Pt):sn.parseHeaders(Pt);if(Wt<200){if(this.onInfo){this.onInfo({statusCode:Wt,headers:mn})}return}this.factory=null;let bn;if(this.throwOnError&&Wt>=400){const en=pn==="raw"?sn.parseHeaders(Pt):mn;const tn=en["content-type"];bn=new nn;this.callback=null;this.runInAsyncScope(on,null,{callback:un,body:bn,contentType:tn,statusCode:Wt,statusMessage:an,headers:mn})}else{if(rn===null){return}bn=this.runInAsyncScope(rn,null,{statusCode:Wt,headers:mn,opaque:cn,context:dn});if(!bn||typeof bn.write!=="function"||typeof bn.end!=="function"||typeof bn.on!=="function"){throw new In("expected Writable")}tn(bn,{readable:false},(Wt=>{const{callback:Pt,res:en,opaque:tn,trailers:nn,abort:an}=this;this.res=null;if(Wt||!en.readable){sn.destroy(en,Wt)}this.callback=null;this.runInAsyncScope(Pt,null,Wt||null,{opaque:tn,trailers:nn});if(Wt){an()}}))}bn.on("drain",en);this.res=bn;const Gn=bn.writableNeedDrain!==undefined?bn.writableNeedDrain:bn._writableState&&bn._writableState.needDrain;return Gn!==true}onData(Wt){const{res:Pt}=this;return Pt?Pt.write(Wt):true}onComplete(Wt){const{res:Pt}=this;un(this);if(!Pt){return}this.trailers=sn.parseHeaders(Wt);Pt.end()}onError(Wt){const{res:Pt,callback:en,opaque:tn,body:nn}=this;un(this);this.factory=null;if(Pt){this.res=null;sn.destroy(Pt,Wt)}else if(en){this.callback=null;queueMicrotask((()=>{this.runInAsyncScope(en,null,Wt,{opaque:tn})}))}if(nn){this.body=null;sn.destroy(nn,Wt)}}}function stream(Wt,Pt,en){if(en===undefined){return new Promise(((en,tn)=>{stream.call(this,Wt,Pt,((Wt,Pt)=>Wt?tn(Wt):en(Pt)))}))}try{this.dispatch(Wt,new StreamHandler(Wt,Pt,en))}catch(Pt){if(typeof en!=="function"){throw Pt}const tn=Wt&&Wt.opaque;queueMicrotask((()=>en(Pt,{opaque:tn})))}}Wt.exports=stream},61882:(Wt,Pt,en)=>{const{InvalidArgumentError:tn,RequestAbortedError:nn,SocketError:an}=en(68707);const{AsyncResource:In}=en(90290);const rn=en(3440);const{addSignal:sn,removeSignal:on}=en(80158);const cn=en(42613);class UpgradeHandler extends In{constructor(Wt,Pt){if(!Wt||typeof Wt!=="object"){throw new tn("invalid opts")}if(typeof Pt!=="function"){throw new tn("invalid callback")}const{signal:en,opaque:nn,responseHeaders:an}=Wt;if(en&&typeof en.on!=="function"&&typeof en.addEventListener!=="function"){throw new tn("signal must be an EventEmitter or EventTarget")}super("UNDICI_UPGRADE");this.responseHeaders=an||null;this.opaque=nn||null;this.callback=Pt;this.abort=null;this.context=null;sn(this,en)}onConnect(Wt,Pt){if(!this.callback){throw new nn}this.abort=Wt;this.context=null}onHeaders(){throw new an("bad upgrade",null)}onUpgrade(Wt,Pt,en){const{callback:tn,opaque:nn,context:an}=this;cn.strictEqual(Wt,101);on(this);this.callback=null;const In=this.responseHeaders==="raw"?rn.parseRawHeaders(Pt):rn.parseHeaders(Pt);this.runInAsyncScope(tn,null,null,{headers:In,socket:en,opaque:nn,context:an})}onError(Wt){const{callback:Pt,opaque:en}=this;on(this);if(Pt){this.callback=null;queueMicrotask((()=>{this.runInAsyncScope(Pt,null,Wt,{opaque:en})}))}}}function upgrade(Wt,Pt){if(Pt===undefined){return new Promise(((Pt,en)=>{upgrade.call(this,Wt,((Wt,tn)=>Wt?en(Wt):Pt(tn)))}))}try{const en=new UpgradeHandler(Wt,Pt);this.dispatch({...Wt,method:Wt.method||"GET",upgrade:Wt.protocol||"Websocket"},en)}catch(en){if(typeof Pt!=="function"){throw en}const tn=Wt&&Wt.opaque;queueMicrotask((()=>Pt(en,{opaque:tn})))}}Wt.exports=upgrade},56615:(Wt,Pt,en)=>{Wt.exports.request=en(14043);Wt.exports.stream=en(3560);Wt.exports.pipeline=en(76862);Wt.exports.upgrade=en(61882);Wt.exports.connect=en(34660)},49927:(Wt,Pt,en)=>{const tn=en(42613);const{Readable:nn}=en(2203);const{RequestAbortedError:an,NotSupportedError:In,InvalidArgumentError:rn}=en(68707);const sn=en(3440);const{ReadableStreamFrom:on,toUSVString:cn}=en(3440);let dn;const un=Symbol("kConsume");const pn=Symbol("kReading");const mn=Symbol("kBody");const bn=Symbol("abort");const Gn=Symbol("kContentType");const noop=()=>{};Wt.exports=class BodyReadable extends nn{constructor({resume:Wt,abort:Pt,contentType:en="",highWaterMark:tn=64*1024}){super({autoDestroy:true,read:Wt,highWaterMark:tn});this._readableState.dataEmitted=false;this[bn]=Pt;this[un]=null;this[mn]=null;this[Gn]=en;this[pn]=false}destroy(Wt){if(this.destroyed){return this}if(!Wt&&!this._readableState.endEmitted){Wt=new an}if(Wt){this[bn]()}return super.destroy(Wt)}emit(Wt,...Pt){if(Wt==="data"){this._readableState.dataEmitted=true}else if(Wt==="error"){this._readableState.errorEmitted=true}return super.emit(Wt,...Pt)}on(Wt,...Pt){if(Wt==="data"||Wt==="readable"){this[pn]=true}return super.on(Wt,...Pt)}addListener(Wt,...Pt){return this.on(Wt,...Pt)}off(Wt,...Pt){const en=super.off(Wt,...Pt);if(Wt==="data"||Wt==="readable"){this[pn]=this.listenerCount("data")>0||this.listenerCount("readable")>0}return en}removeListener(Wt,...Pt){return this.off(Wt,...Pt)}push(Wt){if(this[un]&&Wt!==null&&this.readableLength===0){consumePush(this[un],Wt);return this[pn]?super.push(Wt):true}return super.push(Wt)}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 In}get bodyUsed(){return sn.isDisturbed(this)}get body(){if(!this[mn]){this[mn]=on(this);if(this[un]){this[mn].getReader();tn(this[mn].locked)}}return this[mn]}dump(Wt){let Pt=Wt&&Number.isFinite(Wt.limit)?Wt.limit:262144;const en=Wt&&Wt.signal;if(en){try{if(typeof en!=="object"||!("aborted"in en)){throw new rn("signal must be an AbortSignal")}sn.throwIfAborted(en)}catch(Wt){return Promise.reject(Wt)}}if(this.closed){return Promise.resolve(null)}return new Promise(((Wt,tn)=>{const nn=en?sn.addAbortListener(en,(()=>{this.destroy()})):noop;this.on("close",(function(){nn();if(en&&en.aborted){tn(en.reason||Object.assign(new Error("The operation was aborted"),{name:"AbortError"}))}else{Wt(null)}})).on("error",noop).on("data",(function(Wt){Pt-=Wt.length;if(Pt<=0){this.destroy()}})).resume()}))}};function isLocked(Wt){return Wt[mn]&&Wt[mn].locked===true||Wt[un]}function isUnusable(Wt){return sn.isDisturbed(Wt)||isLocked(Wt)}async function consume(Wt,Pt){if(isUnusable(Wt)){throw new TypeError("unusable")}tn(!Wt[un]);return new Promise(((en,tn)=>{Wt[un]={type:Pt,stream:Wt,resolve:en,reject:tn,length:0,body:[]};Wt.on("error",(function(Wt){consumeFinish(this[un],Wt)})).on("close",(function(){if(this[un].body!==null){consumeFinish(this[un],new an)}}));process.nextTick(consumeStart,Wt[un])}))}function consumeStart(Wt){if(Wt.body===null){return}const{_readableState:Pt}=Wt.stream;for(const en of Pt.buffer){consumePush(Wt,en)}if(Pt.endEmitted){consumeEnd(this[un])}else{Wt.stream.on("end",(function(){consumeEnd(this[un])}))}Wt.stream.resume();while(Wt.stream.read()!=null){}}function consumeEnd(Wt){const{type:Pt,body:tn,resolve:nn,stream:an,length:In}=Wt;try{if(Pt==="text"){nn(cn(Buffer.concat(tn)))}else if(Pt==="json"){nn(JSON.parse(Buffer.concat(tn)))}else if(Pt==="arrayBuffer"){const Wt=new Uint8Array(In);let Pt=0;for(const en of tn){Wt.set(en,Pt);Pt+=en.byteLength}nn(Wt.buffer)}else if(Pt==="blob"){if(!dn){dn=en(20181).Blob}nn(new dn(tn,{type:an[Gn]}))}consumeFinish(Wt)}catch(Wt){an.destroy(Wt)}}function consumePush(Wt,Pt){Wt.length+=Pt.length;Wt.body.push(Pt)}function consumeFinish(Wt,Pt){if(Wt.body===null){return}if(Pt){Wt.reject(Pt)}else{Wt.resolve()}Wt.type=null;Wt.stream=null;Wt.resolve=null;Wt.reject=null;Wt.length=0;Wt.body=null}},87655:(Wt,Pt,en)=>{const tn=en(42613);const{ResponseStatusCodeError:nn}=en(68707);const{toUSVString:an}=en(3440);async function getResolveErrorBodyCallback({callback:Wt,body:Pt,contentType:en,statusCode:In,statusMessage:rn,headers:sn}){tn(Pt);let on=[];let cn=0;for await(const Wt of Pt){on.push(Wt);cn+=Wt.length;if(cn>128*1024){on=null;break}}if(In===204||!en||!on){process.nextTick(Wt,new nn(`Response status code ${In}${rn?`: ${rn}`:""}`,In,sn));return}try{if(en.startsWith("application/json")){const Pt=JSON.parse(an(Buffer.concat(on)));process.nextTick(Wt,new nn(`Response status code ${In}${rn?`: ${rn}`:""}`,In,sn,Pt));return}if(en.startsWith("text/")){const Pt=an(Buffer.concat(on));process.nextTick(Wt,new nn(`Response status code ${In}${rn?`: ${rn}`:""}`,In,sn,Pt));return}}catch(Wt){}process.nextTick(Wt,new nn(`Response status code ${In}${rn?`: ${rn}`:""}`,In,sn))}Wt.exports={getResolveErrorBodyCallback:getResolveErrorBodyCallback}},81093:(Wt,Pt,en)=>{const{BalancedPoolMissingUpstreamError:tn,InvalidArgumentError:nn}=en(68707);const{PoolBase:an,kClients:In,kNeedDrain:rn,kAddClient:sn,kRemoveClient:on,kGetDispatcher:cn}=en(58640);const dn=en(35076);const{kUrl:un,kInterceptors:pn}=en(36443);const{parseOrigin:mn}=en(3440);const bn=Symbol("factory");const Gn=Symbol("options");const hn=Symbol("kGreatestCommonDivisor");const Zn=Symbol("kCurrentWeight");const An=Symbol("kIndex");const Wn=Symbol("kWeight");const Nn=Symbol("kMaxWeightPerServer");const gn=Symbol("kErrorPenalty");function getGreatestCommonDivisor(Wt,Pt){if(Pt===0)return Wt;return getGreatestCommonDivisor(Pt,Wt%Pt)}function defaultFactory(Wt,Pt){return new dn(Wt,Pt)}class BalancedPool extends an{constructor(Wt=[],{factory:Pt=defaultFactory,...en}={}){super();this[Gn]=en;this[An]=-1;this[Zn]=0;this[Nn]=this[Gn].maxWeightPerServer||100;this[gn]=this[Gn].errorPenalty||15;if(!Array.isArray(Wt)){Wt=[Wt]}if(typeof Pt!=="function"){throw new nn("factory must be a function.")}this[pn]=en.interceptors&&en.interceptors.BalancedPool&&Array.isArray(en.interceptors.BalancedPool)?en.interceptors.BalancedPool:[];this[bn]=Pt;for(const Pt of Wt){this.addUpstream(Pt)}this._updateBalancedPoolStats()}addUpstream(Wt){const Pt=mn(Wt).origin;if(this[In].find((Wt=>Wt[un].origin===Pt&&Wt.closed!==true&&Wt.destroyed!==true))){return this}const en=this[bn](Pt,Object.assign({},this[Gn]));this[sn](en);en.on("connect",(()=>{en[Wn]=Math.min(this[Nn],en[Wn]+this[gn])}));en.on("connectionError",(()=>{en[Wn]=Math.max(1,en[Wn]-this[gn]);this._updateBalancedPoolStats()}));en.on("disconnect",((...Wt)=>{const Pt=Wt[2];if(Pt&&Pt.code==="UND_ERR_SOCKET"){en[Wn]=Math.max(1,en[Wn]-this[gn]);this._updateBalancedPoolStats()}}));for(const Wt of this[In]){Wt[Wn]=this[Nn]}this._updateBalancedPoolStats();return this}_updateBalancedPoolStats(){this[hn]=this[In].map((Wt=>Wt[Wn])).reduce(getGreatestCommonDivisor,0)}removeUpstream(Wt){const Pt=mn(Wt).origin;const en=this[In].find((Wt=>Wt[un].origin===Pt&&Wt.closed!==true&&Wt.destroyed!==true));if(en){this[on](en)}return this}get upstreams(){return this[In].filter((Wt=>Wt.closed!==true&&Wt.destroyed!==true)).map((Wt=>Wt[un].origin))}[cn](){if(this[In].length===0){throw new tn}const Wt=this[In].find((Wt=>!Wt[rn]&&Wt.closed!==true&&Wt.destroyed!==true));if(!Wt){return}const Pt=this[In].map((Wt=>Wt[rn])).reduce(((Wt,Pt)=>Wt&&Pt),true);if(Pt){return}let en=0;let nn=this[In].findIndex((Wt=>!Wt[rn]));while(en++this[In][nn][Wn]&&!Wt[rn]){nn=this[An]}if(this[An]===0){this[Zn]=this[Zn]-this[hn];if(this[Zn]<=0){this[Zn]=this[Nn]}}if(Wt[Wn]>=this[Zn]&&!Wt[rn]){return Wt}}this[Zn]=this[In][nn][Wn];this[An]=nn;return this[In][nn]}}Wt.exports=BalancedPool},50479:(Wt,Pt,en)=>{const{kConstruct:tn}=en(80296);const{urlEquals:nn,fieldValues:an}=en(23993);const{kEnumerableProperty:In,isDisturbed:rn}=en(3440);const{kHeadersList:sn}=en(36443);const{webidl:on}=en(74222);const{Response:cn,cloneResponse:dn}=en(48676);const{Request:un}=en(25194);const{kState:pn,kHeaders:mn,kGuard:bn,kRealm:Gn}=en(89710);const{fetching:hn}=en(12315);const{urlIsHttpHttpsScheme:Zn,createDeferredPromise:An,readAllBytes:Wn}=en(15523);const Nn=en(42613);const{getGlobalDispatcher:gn}=en(32581);class Cache{#e;constructor(){if(arguments[0]!==tn){on.illegalConstructor()}this.#e=arguments[1]}async match(Wt,Pt={}){on.brandCheck(this,Cache);on.argumentLengthCheck(arguments,1,{header:"Cache.match"});Wt=on.converters.RequestInfo(Wt);Pt=on.converters.CacheQueryOptions(Pt);const en=await this.matchAll(Wt,Pt);if(en.length===0){return}return en[0]}async matchAll(Wt=undefined,Pt={}){on.brandCheck(this,Cache);if(Wt!==undefined)Wt=on.converters.RequestInfo(Wt);Pt=on.converters.CacheQueryOptions(Pt);let en=null;if(Wt!==undefined){if(Wt instanceof un){en=Wt[pn];if(en.method!=="GET"&&!Pt.ignoreMethod){return[]}}else if(typeof Wt==="string"){en=new un(Wt)[pn]}}const tn=[];if(Wt===undefined){for(const Wt of this.#e){tn.push(Wt[1])}}else{const Wt=this.#t(en,Pt);for(const Pt of Wt){tn.push(Pt[1])}}const nn=[];for(const Wt of tn){const Pt=new cn(Wt.body?.source??null);const en=Pt[pn].body;Pt[pn]=Wt;Pt[pn].body=en;Pt[mn][sn]=Wt.headersList;Pt[mn][bn]="immutable";nn.push(Pt)}return Object.freeze(nn)}async add(Wt){on.brandCheck(this,Cache);on.argumentLengthCheck(arguments,1,{header:"Cache.add"});Wt=on.converters.RequestInfo(Wt);const Pt=[Wt];const en=this.addAll(Pt);return await en}async addAll(Wt){on.brandCheck(this,Cache);on.argumentLengthCheck(arguments,1,{header:"Cache.addAll"});Wt=on.converters["sequence"](Wt);const Pt=[];const en=[];for(const Pt of Wt){if(typeof Pt==="string"){continue}const Wt=Pt[pn];if(!Zn(Wt.url)||Wt.method!=="GET"){throw on.errors.exception({header:"Cache.addAll",message:"Expected http/s scheme when method is not GET."})}}const tn=[];for(const nn of Wt){const Wt=new un(nn)[pn];if(!Zn(Wt.url)){throw on.errors.exception({header:"Cache.addAll",message:"Expected http/s scheme."})}Wt.initiator="fetch";Wt.destination="subresource";en.push(Wt);const In=An();tn.push(hn({request:Wt,dispatcher:gn(),processResponse(Wt){if(Wt.type==="error"||Wt.status===206||Wt.status<200||Wt.status>299){In.reject(on.errors.exception({header:"Cache.addAll",message:"Received an invalid status code or the request failed."}))}else if(Wt.headersList.contains("vary")){const Pt=an(Wt.headersList.get("vary"));for(const Wt of Pt){if(Wt==="*"){In.reject(on.errors.exception({header:"Cache.addAll",message:"invalid vary field value"}));for(const Wt of tn){Wt.abort()}return}}}},processResponseEndOfBody(Wt){if(Wt.aborted){In.reject(new DOMException("aborted","AbortError"));return}In.resolve(Wt)}}));Pt.push(In.promise)}const nn=Promise.all(Pt);const In=await nn;const rn=[];let sn=0;for(const Wt of In){const Pt={type:"put",request:en[sn],response:Wt};rn.push(Pt);sn++}const cn=An();let dn=null;try{this.#n(rn)}catch(Wt){dn=Wt}queueMicrotask((()=>{if(dn===null){cn.resolve(undefined)}else{cn.reject(dn)}}));return cn.promise}async put(Wt,Pt){on.brandCheck(this,Cache);on.argumentLengthCheck(arguments,2,{header:"Cache.put"});Wt=on.converters.RequestInfo(Wt);Pt=on.converters.Response(Pt);let en=null;if(Wt instanceof un){en=Wt[pn]}else{en=new un(Wt)[pn]}if(!Zn(en.url)||en.method!=="GET"){throw on.errors.exception({header:"Cache.put",message:"Expected an http/s scheme when method is not GET"})}const tn=Pt[pn];if(tn.status===206){throw on.errors.exception({header:"Cache.put",message:"Got 206 status"})}if(tn.headersList.contains("vary")){const Wt=an(tn.headersList.get("vary"));for(const Pt of Wt){if(Pt==="*"){throw on.errors.exception({header:"Cache.put",message:"Got * vary field value"})}}}if(tn.body&&(rn(tn.body.stream)||tn.body.stream.locked)){throw on.errors.exception({header:"Cache.put",message:"Response body is locked or disturbed"})}const nn=dn(tn);const In=An();if(tn.body!=null){const Wt=tn.body.stream;const Pt=Wt.getReader();Wn(Pt).then(In.resolve,In.reject)}else{In.resolve(undefined)}const sn=[];const cn={type:"put",request:en,response:nn};sn.push(cn);const mn=await In.promise;if(nn.body!=null){nn.body.source=mn}const bn=An();let Gn=null;try{this.#n(sn)}catch(Wt){Gn=Wt}queueMicrotask((()=>{if(Gn===null){bn.resolve()}else{bn.reject(Gn)}}));return bn.promise}async delete(Wt,Pt={}){on.brandCheck(this,Cache);on.argumentLengthCheck(arguments,1,{header:"Cache.delete"});Wt=on.converters.RequestInfo(Wt);Pt=on.converters.CacheQueryOptions(Pt);let en=null;if(Wt instanceof un){en=Wt[pn];if(en.method!=="GET"&&!Pt.ignoreMethod){return false}}else{Nn(typeof Wt==="string");en=new un(Wt)[pn]}const tn=[];const nn={type:"delete",request:en,options:Pt};tn.push(nn);const an=An();let In=null;let rn;try{rn=this.#n(tn)}catch(Wt){In=Wt}queueMicrotask((()=>{if(In===null){an.resolve(!!rn?.length)}else{an.reject(In)}}));return an.promise}async keys(Wt=undefined,Pt={}){on.brandCheck(this,Cache);if(Wt!==undefined)Wt=on.converters.RequestInfo(Wt);Pt=on.converters.CacheQueryOptions(Pt);let en=null;if(Wt!==undefined){if(Wt instanceof un){en=Wt[pn];if(en.method!=="GET"&&!Pt.ignoreMethod){return[]}}else if(typeof Wt==="string"){en=new un(Wt)[pn]}}const tn=An();const nn=[];if(Wt===undefined){for(const Wt of this.#e){nn.push(Wt[0])}}else{const Wt=this.#t(en,Pt);for(const Pt of Wt){nn.push(Pt[0])}}queueMicrotask((()=>{const Wt=[];for(const Pt of nn){const en=new un("https://a");en[pn]=Pt;en[mn][sn]=Pt.headersList;en[mn][bn]="immutable";en[Gn]=Pt.client;Wt.push(en)}tn.resolve(Object.freeze(Wt))}));return tn.promise}#n(Wt){const Pt=this.#e;const en=[...Pt];const tn=[];const nn=[];try{for(const en of Wt){if(en.type!=="delete"&&en.type!=="put"){throw on.errors.exception({header:"Cache.#batchCacheOperations",message:'operation type does not match "delete" or "put"'})}if(en.type==="delete"&&en.response!=null){throw on.errors.exception({header:"Cache.#batchCacheOperations",message:"delete operation should not have an associated response"})}if(this.#t(en.request,en.options,tn).length){throw new DOMException("???","InvalidStateError")}let Wt;if(en.type==="delete"){Wt=this.#t(en.request,en.options);if(Wt.length===0){return[]}for(const en of Wt){const Wt=Pt.indexOf(en);Nn(Wt!==-1);Pt.splice(Wt,1)}}else if(en.type==="put"){if(en.response==null){throw on.errors.exception({header:"Cache.#batchCacheOperations",message:"put operation should have an associated response"})}const nn=en.request;if(!Zn(nn.url)){throw on.errors.exception({header:"Cache.#batchCacheOperations",message:"expected http or https scheme"})}if(nn.method!=="GET"){throw on.errors.exception({header:"Cache.#batchCacheOperations",message:"not get method"})}if(en.options!=null){throw on.errors.exception({header:"Cache.#batchCacheOperations",message:"options must not be defined"})}Wt=this.#t(en.request);for(const en of Wt){const Wt=Pt.indexOf(en);Nn(Wt!==-1);Pt.splice(Wt,1)}Pt.push([en.request,en.response]);tn.push([en.request,en.response])}nn.push([en.request,en.response])}return nn}catch(Wt){this.#e.length=0;this.#e=en;throw Wt}}#t(Wt,Pt,en){const tn=[];const nn=en??this.#e;for(const en of nn){const[nn,an]=en;if(this.#l(Wt,nn,an,Pt)){tn.push(en)}}return tn}#l(Wt,Pt,en=null,tn){const In=new URL(Wt.url);const rn=new URL(Pt.url);if(tn?.ignoreSearch){rn.search="";In.search=""}if(!nn(In,rn,true)){return false}if(en==null||tn?.ignoreVary||!en.headersList.contains("vary")){return true}const sn=an(en.headersList.get("vary"));for(const en of sn){if(en==="*"){return false}const tn=Pt.headersList.get(en);const nn=Wt.headersList.get(en);if(tn!==nn){return false}}return true}}Object.defineProperties(Cache.prototype,{[Symbol.toStringTag]:{value:"Cache",configurable:true},match:In,matchAll:In,add:In,addAll:In,put:In,delete:In,keys:In});const yn=[{key:"ignoreSearch",converter:on.converters.boolean,defaultValue:false},{key:"ignoreMethod",converter:on.converters.boolean,defaultValue:false},{key:"ignoreVary",converter:on.converters.boolean,defaultValue:false}];on.converters.CacheQueryOptions=on.dictionaryConverter(yn);on.converters.MultiCacheQueryOptions=on.dictionaryConverter([...yn,{key:"cacheName",converter:on.converters.DOMString}]);on.converters.Response=on.interfaceConverter(cn);on.converters["sequence"]=on.sequenceConverter(on.converters.RequestInfo);Wt.exports={Cache:Cache}},44738:(Wt,Pt,en)=>{const{kConstruct:tn}=en(80296);const{Cache:nn}=en(50479);const{webidl:an}=en(74222);const{kEnumerableProperty:In}=en(3440);class CacheStorage{#a=new Map;constructor(){if(arguments[0]!==tn){an.illegalConstructor()}}async match(Wt,Pt={}){an.brandCheck(this,CacheStorage);an.argumentLengthCheck(arguments,1,{header:"CacheStorage.match"});Wt=an.converters.RequestInfo(Wt);Pt=an.converters.MultiCacheQueryOptions(Pt);if(Pt.cacheName!=null){if(this.#a.has(Pt.cacheName)){const en=this.#a.get(Pt.cacheName);const an=new nn(tn,en);return await an.match(Wt,Pt)}}else{for(const en of this.#a.values()){const an=new nn(tn,en);const In=await an.match(Wt,Pt);if(In!==undefined){return In}}}}async has(Wt){an.brandCheck(this,CacheStorage);an.argumentLengthCheck(arguments,1,{header:"CacheStorage.has"});Wt=an.converters.DOMString(Wt);return this.#a.has(Wt)}async open(Wt){an.brandCheck(this,CacheStorage);an.argumentLengthCheck(arguments,1,{header:"CacheStorage.open"});Wt=an.converters.DOMString(Wt);if(this.#a.has(Wt)){const Pt=this.#a.get(Wt);return new nn(tn,Pt)}const Pt=[];this.#a.set(Wt,Pt);return new nn(tn,Pt)}async delete(Wt){an.brandCheck(this,CacheStorage);an.argumentLengthCheck(arguments,1,{header:"CacheStorage.delete"});Wt=an.converters.DOMString(Wt);return this.#a.delete(Wt)}async keys(){an.brandCheck(this,CacheStorage);const Wt=this.#a.keys();return[...Wt]}}Object.defineProperties(CacheStorage.prototype,{[Symbol.toStringTag]:{value:"CacheStorage",configurable:true},match:In,has:In,open:In,delete:In,keys:In});Wt.exports={CacheStorage:CacheStorage}},80296:(Wt,Pt,en)=>{Wt.exports={kConstruct:en(36443).kConstruct}},23993:(Wt,Pt,en)=>{const tn=en(42613);const{URLSerializer:nn}=en(94322);const{isValidHeaderName:an}=en(15523);function urlEquals(Wt,Pt,en=false){const tn=nn(Wt,en);const an=nn(Pt,en);return tn===an}function fieldValues(Wt){tn(Wt!==null);const Pt=[];for(let en of Wt.split(",")){en=en.trim();if(!en.length){continue}else if(!an(en)){continue}Pt.push(en)}return Pt}Wt.exports={urlEquals:urlEquals,fieldValues:fieldValues}},86197:(Wt,Pt,en)=>{const tn=en(42613);const nn=en(69278);const an=en(58611);const{pipeline:In}=en(2203);const rn=en(3440);const sn=en(28804);const on=en(44655);const cn=en(50001);const{RequestContentLengthMismatchError:dn,ResponseContentLengthMismatchError:un,InvalidArgumentError:pn,RequestAbortedError:mn,HeadersTimeoutError:bn,HeadersOverflowError:Gn,SocketError:hn,InformationalError:Zn,BodyTimeoutError:An,HTTPParserError:Wn,ResponseExceededMaxSizeError:Nn,ClientDestroyedError:gn}=en(68707);const yn=en(59136);const{kUrl:vn,kReset:Yn,kServerName:En,kClient:Vn,kBusy:Rn,kParser:wn,kConnect:Fn,kBlocking:Qn,kResuming:fn,kRunning:Hn,kPending:Cn,kSize:Xn,kWriting:kn,kQueue:Jn,kConnected:Ln,kConnecting:Bn,kNeedDrain:xn,kNoRef:On,kKeepAliveDefaultTimeout:Tn,kHostHeader:Un,kPendingIdx:Mn,kRunningIdx:zn,kError:Sn,kPipelining:Dn,kSocket:jn,kKeepAliveTimeoutValue:_n,kMaxHeadersSize:Kn,kKeepAliveMaxTimeout:Pn,kKeepAliveTimeoutThreshold:qn,kHeadersTimeout:$n,kBodyTimeout:el,kStrictContentLength:tl,kConnector:nl,kMaxRedirections:ll,kMaxRequests:al,kCounter:Il,kClose:rl,kDestroy:sl,kDispatch:ol,kInterceptors:cl,kLocalAddress:il,kMaxResponseSize:dl,kHTTPConnVersion:ul,kHost:pl,kHTTP2Session:ml,kHTTP2SessionState:bl,kHTTP2BuildRequest:Gl,kHTTP2CopyHeaders:hl,kHTTP1BuildRequest:Zl}=en(36443);let Al;try{Al=en(85675)}catch{Al={constants:{}}}const{constants:{HTTP2_HEADER_AUTHORITY:Wl,HTTP2_HEADER_METHOD:Nl,HTTP2_HEADER_PATH:gl,HTTP2_HEADER_SCHEME:yl,HTTP2_HEADER_CONTENT_LENGTH:vl,HTTP2_HEADER_EXPECT:Yl,HTTP2_HEADER_STATUS:El}}=Al;let Vl=false;const Rl=Buffer[Symbol.species];const wl=Symbol("kClosedResolve");const Fl={};try{const Wt=en(31637);Fl.sendHeaders=Wt.channel("undici:client:sendHeaders");Fl.beforeConnect=Wt.channel("undici:client:beforeConnect");Fl.connectError=Wt.channel("undici:client:connectError");Fl.connected=Wt.channel("undici:client:connected")}catch{Fl.sendHeaders={hasSubscribers:false};Fl.beforeConnect={hasSubscribers:false};Fl.connectError={hasSubscribers:false};Fl.connected={hasSubscribers:false}}class Client extends cn{constructor(Wt,{interceptors:Pt,maxHeaderSize:en,headersTimeout:tn,socketTimeout:In,requestTimeout:sn,connectTimeout:on,bodyTimeout:cn,idleTimeout:dn,keepAlive:un,keepAliveTimeout:mn,maxKeepAliveTimeout:bn,keepAliveMaxTimeout:Gn,keepAliveTimeoutThreshold:hn,socketPath:Zn,pipelining:An,tls:Wn,strictContentLength:Nn,maxCachedSessions:gn,maxRedirections:Yn,connect:Vn,maxRequestsPerClient:Rn,localAddress:wn,maxResponseSize:Fn,autoSelectFamily:Qn,autoSelectFamilyAttemptTimeout:Hn,allowH2:Cn,maxConcurrentStreams:Xn}={}){super();if(un!==undefined){throw new pn("unsupported keepAlive, use pipelining=0 instead")}if(In!==undefined){throw new pn("unsupported socketTimeout, use headersTimeout & bodyTimeout instead")}if(sn!==undefined){throw new pn("unsupported requestTimeout, use headersTimeout & bodyTimeout instead")}if(dn!==undefined){throw new pn("unsupported idleTimeout, use keepAliveTimeout instead")}if(bn!==undefined){throw new pn("unsupported maxKeepAliveTimeout, use keepAliveMaxTimeout instead")}if(en!=null&&!Number.isFinite(en)){throw new pn("invalid maxHeaderSize")}if(Zn!=null&&typeof Zn!=="string"){throw new pn("invalid socketPath")}if(on!=null&&(!Number.isFinite(on)||on<0)){throw new pn("invalid connectTimeout")}if(mn!=null&&(!Number.isFinite(mn)||mn<=0)){throw new pn("invalid keepAliveTimeout")}if(Gn!=null&&(!Number.isFinite(Gn)||Gn<=0)){throw new pn("invalid keepAliveMaxTimeout")}if(hn!=null&&!Number.isFinite(hn)){throw new pn("invalid keepAliveTimeoutThreshold")}if(tn!=null&&(!Number.isInteger(tn)||tn<0)){throw new pn("headersTimeout must be a positive integer or zero")}if(cn!=null&&(!Number.isInteger(cn)||cn<0)){throw new pn("bodyTimeout must be a positive integer or zero")}if(Vn!=null&&typeof Vn!=="function"&&typeof Vn!=="object"){throw new pn("connect must be a function or an object")}if(Yn!=null&&(!Number.isInteger(Yn)||Yn<0)){throw new pn("maxRedirections must be a positive number")}if(Rn!=null&&(!Number.isInteger(Rn)||Rn<0)){throw new pn("maxRequestsPerClient must be a positive number")}if(wn!=null&&(typeof wn!=="string"||nn.isIP(wn)===0)){throw new pn("localAddress must be valid string IP address")}if(Fn!=null&&(!Number.isInteger(Fn)||Fn<-1)){throw new pn("maxResponseSize must be a positive number")}if(Hn!=null&&(!Number.isInteger(Hn)||Hn<-1)){throw new pn("autoSelectFamilyAttemptTimeout must be a positive number")}if(Cn!=null&&typeof Cn!=="boolean"){throw new pn("allowH2 must be a valid boolean value")}if(Xn!=null&&(typeof Xn!=="number"||Xn<1)){throw new pn("maxConcurrentStreams must be a possitive integer, greater than 0")}if(typeof Vn!=="function"){Vn=yn({...Wn,maxCachedSessions:gn,allowH2:Cn,socketPath:Zn,timeout:on,...rn.nodeHasAutoSelectFamily&&Qn?{autoSelectFamily:Qn,autoSelectFamilyAttemptTimeout:Hn}:undefined,...Vn})}this[cl]=Pt&&Pt.Client&&Array.isArray(Pt.Client)?Pt.Client:[fl({maxRedirections:Yn})];this[vn]=rn.parseOrigin(Wt);this[nl]=Vn;this[jn]=null;this[Dn]=An!=null?An:1;this[Kn]=en||an.maxHeaderSize;this[Tn]=mn==null?4e3:mn;this[Pn]=Gn==null?6e5:Gn;this[qn]=hn==null?1e3:hn;this[_n]=this[Tn];this[En]=null;this[il]=wn!=null?wn:null;this[fn]=0;this[xn]=0;this[Un]=`host: ${this[vn].hostname}${this[vn].port?`:${this[vn].port}`:""}\r\n`;this[el]=cn!=null?cn:3e5;this[$n]=tn!=null?tn:3e5;this[tl]=Nn==null?true:Nn;this[ll]=Yn;this[al]=Rn;this[wl]=null;this[dl]=Fn>-1?Fn:-1;this[ul]="h1";this[ml]=null;this[bl]=!Cn?null:{openStreams:0,maxConcurrentStreams:Xn!=null?Xn:100};this[pl]=`${this[vn].hostname}${this[vn].port?`:${this[vn].port}`:""}`;this[Jn]=[];this[zn]=0;this[Mn]=0}get pipelining(){return this[Dn]}set pipelining(Wt){this[Dn]=Wt;resume(this,true)}get[Cn](){return this[Jn].length-this[Mn]}get[Hn](){return this[Mn]-this[zn]}get[Xn](){return this[Jn].length-this[zn]}get[Ln](){return!!this[jn]&&!this[Bn]&&!this[jn].destroyed}get[Rn](){const Wt=this[jn];return Wt&&(Wt[Yn]||Wt[kn]||Wt[Qn])||this[Xn]>=(this[Dn]||1)||this[Cn]>0}[Fn](Wt){connect(this);this.once("connect",Wt)}[ol](Wt,Pt){const en=Wt.origin||this[vn].origin;const tn=this[ul]==="h2"?on[Gl](en,Wt,Pt):on[Zl](en,Wt,Pt);this[Jn].push(tn);if(this[fn]){}else if(rn.bodyLength(tn.body)==null&&rn.isIterable(tn.body)){this[fn]=1;process.nextTick(resume,this)}else{resume(this,true)}if(this[fn]&&this[xn]!==2&&this[Rn]){this[xn]=2}return this[xn]<2}async[rl](){return new Promise((Wt=>{if(!this[Xn]){Wt(null)}else{this[wl]=Wt}}))}async[sl](Wt){return new Promise((Pt=>{const en=this[Jn].splice(this[Mn]);for(let Pt=0;Pt{if(this[wl]){this[wl]();this[wl]=null}Pt()};if(this[ml]!=null){rn.destroy(this[ml],Wt);this[ml]=null;this[bl]=null}if(!this[jn]){queueMicrotask(callback)}else{rn.destroy(this[jn].on("close",callback),Wt)}resume(this)}))}}function onHttp2SessionError(Wt){tn(Wt.code!=="ERR_TLS_CERT_ALTNAME_INVALID");this[jn][Sn]=Wt;onError(this[Vn],Wt)}function onHttp2FrameError(Wt,Pt,en){const tn=new Zn(`HTTP/2: "frameError" received - type ${Wt}, code ${Pt}`);if(en===0){this[jn][Sn]=tn;onError(this[Vn],tn)}}function onHttp2SessionEnd(){rn.destroy(this,new hn("other side closed"));rn.destroy(this[jn],new hn("other side closed"))}function onHTTP2GoAway(Wt){const Pt=this[Vn];const en=new Zn(`HTTP/2: "GOAWAY" frame received with code ${Wt}`);Pt[jn]=null;Pt[ml]=null;if(Pt.destroyed){tn(this[Cn]===0);const Wt=Pt[Jn].splice(Pt[zn]);for(let Pt=0;Pt0){const Wt=Pt[Jn][Pt[zn]];Pt[Jn][Pt[zn]++]=null;errorRequest(Pt,Wt,en)}Pt[Mn]=Pt[zn];tn(Pt[Hn]===0);Pt.emit("disconnect",Pt[vn],[Pt],en);resume(Pt)}const Ql=en(52824);const fl=en(64415);const Hl=Buffer.alloc(0);async function lazyllhttp(){const Wt=process.env.JEST_WORKER_ID?en(63870):undefined;let Pt;try{Pt=await WebAssembly.compile(Buffer.from(en(53434),"base64"))}catch(tn){Pt=await WebAssembly.compile(Buffer.from(Wt||en(63870),"base64"))}return await WebAssembly.instantiate(Pt,{env:{wasm_on_url:(Wt,Pt,en)=>0,wasm_on_status:(Wt,Pt,en)=>{tn.strictEqual(kl.ptr,Wt);const nn=Pt-Bl+Jl.byteOffset;return kl.onStatus(new Rl(Jl.buffer,nn,en))||0},wasm_on_message_begin:Wt=>{tn.strictEqual(kl.ptr,Wt);return kl.onMessageBegin()||0},wasm_on_header_field:(Wt,Pt,en)=>{tn.strictEqual(kl.ptr,Wt);const nn=Pt-Bl+Jl.byteOffset;return kl.onHeaderField(new Rl(Jl.buffer,nn,en))||0},wasm_on_header_value:(Wt,Pt,en)=>{tn.strictEqual(kl.ptr,Wt);const nn=Pt-Bl+Jl.byteOffset;return kl.onHeaderValue(new Rl(Jl.buffer,nn,en))||0},wasm_on_headers_complete:(Wt,Pt,en,nn)=>{tn.strictEqual(kl.ptr,Wt);return kl.onHeadersComplete(Pt,Boolean(en),Boolean(nn))||0},wasm_on_body:(Wt,Pt,en)=>{tn.strictEqual(kl.ptr,Wt);const nn=Pt-Bl+Jl.byteOffset;return kl.onBody(new Rl(Jl.buffer,nn,en))||0},wasm_on_message_complete:Wt=>{tn.strictEqual(kl.ptr,Wt);return kl.onMessageComplete()||0}}})}let Cl=null;let Xl=lazyllhttp();Xl.catch();let kl=null;let Jl=null;let Ll=0;let Bl=null;const xl=1;const Ol=2;const Tl=3;class Parser{constructor(Wt,Pt,{exports:en}){tn(Number.isFinite(Wt[Kn])&&Wt[Kn]>0);this.llhttp=en;this.ptr=this.llhttp.llhttp_alloc(Ql.TYPE.RESPONSE);this.client=Wt;this.socket=Pt;this.timeout=null;this.timeoutValue=null;this.timeoutType=null;this.statusCode=null;this.statusText="";this.upgrade=false;this.headers=[];this.headersSize=0;this.headersMaxSize=Wt[Kn];this.shouldKeepAlive=false;this.paused=false;this.resume=this.resume.bind(this);this.bytesRead=0;this.keepAlive="";this.contentLength="";this.connection="";this.maxResponseSize=Wt[dl]}setTimeout(Wt,Pt){this.timeoutType=Pt;if(Wt!==this.timeoutValue){sn.clearTimeout(this.timeout);if(Wt){this.timeout=sn.setTimeout(onParserTimeout,Wt,this);if(this.timeout.unref){this.timeout.unref()}}else{this.timeout=null}this.timeoutValue=Wt}else if(this.timeout){if(this.timeout.refresh){this.timeout.refresh()}}}resume(){if(this.socket.destroyed||!this.paused){return}tn(this.ptr!=null);tn(kl==null);this.llhttp.llhttp_resume(this.ptr);tn(this.timeoutType===Ol);if(this.timeout){if(this.timeout.refresh){this.timeout.refresh()}}this.paused=false;this.execute(this.socket.read()||Hl);this.readMore()}readMore(){while(!this.paused&&this.ptr){const Wt=this.socket.read();if(Wt===null){break}this.execute(Wt)}}execute(Wt){tn(this.ptr!=null);tn(kl==null);tn(!this.paused);const{socket:Pt,llhttp:en}=this;if(Wt.length>Ll){if(Bl){en.free(Bl)}Ll=Math.ceil(Wt.length/4096)*4096;Bl=en.malloc(Ll)}new Uint8Array(en.memory.buffer,Bl,Ll).set(Wt);try{let tn;try{Jl=Wt;kl=this;tn=en.llhttp_execute(this.ptr,Bl,Wt.length)}catch(Wt){throw Wt}finally{kl=null;Jl=null}const nn=en.llhttp_get_error_pos(this.ptr)-Bl;if(tn===Ql.ERROR.PAUSED_UPGRADE){this.onUpgrade(Wt.slice(nn))}else if(tn===Ql.ERROR.PAUSED){this.paused=true;Pt.unshift(Wt.slice(nn))}else if(tn!==Ql.ERROR.OK){const Pt=en.llhttp_get_error_reason(this.ptr);let an="";if(Pt){const Wt=new Uint8Array(en.memory.buffer,Pt).indexOf(0);an="Response does not match the HTTP/1.1 protocol ("+Buffer.from(en.memory.buffer,Pt,Wt).toString()+")"}throw new Wn(an,Ql.ERROR[tn],Wt.slice(nn))}}catch(Wt){rn.destroy(Pt,Wt)}}destroy(){tn(this.ptr!=null);tn(kl==null);this.llhttp.llhttp_free(this.ptr);this.ptr=null;sn.clearTimeout(this.timeout);this.timeout=null;this.timeoutValue=null;this.timeoutType=null;this.paused=false}onStatus(Wt){this.statusText=Wt.toString()}onMessageBegin(){const{socket:Wt,client:Pt}=this;if(Wt.destroyed){return-1}const en=Pt[Jn][Pt[zn]];if(!en){return-1}}onHeaderField(Wt){const Pt=this.headers.length;if((Pt&1)===0){this.headers.push(Wt)}else{this.headers[Pt-1]=Buffer.concat([this.headers[Pt-1],Wt])}this.trackHeader(Wt.length)}onHeaderValue(Wt){let Pt=this.headers.length;if((Pt&1)===1){this.headers.push(Wt);Pt+=1}else{this.headers[Pt-1]=Buffer.concat([this.headers[Pt-1],Wt])}const en=this.headers[Pt-2];if(en.length===10&&en.toString().toLowerCase()==="keep-alive"){this.keepAlive+=Wt.toString()}else if(en.length===10&&en.toString().toLowerCase()==="connection"){this.connection+=Wt.toString()}else if(en.length===14&&en.toString().toLowerCase()==="content-length"){this.contentLength+=Wt.toString()}this.trackHeader(Wt.length)}trackHeader(Wt){this.headersSize+=Wt;if(this.headersSize>=this.headersMaxSize){rn.destroy(this.socket,new Gn)}}onUpgrade(Wt){const{upgrade:Pt,client:en,socket:nn,headers:an,statusCode:In}=this;tn(Pt);const sn=en[Jn][en[zn]];tn(sn);tn(!nn.destroyed);tn(nn===en[jn]);tn(!this.paused);tn(sn.upgrade||sn.method==="CONNECT");this.statusCode=null;this.statusText="";this.shouldKeepAlive=null;tn(this.headers.length%2===0);this.headers=[];this.headersSize=0;nn.unshift(Wt);nn[wn].destroy();nn[wn]=null;nn[Vn]=null;nn[Sn]=null;nn.removeListener("error",onSocketError).removeListener("readable",onSocketReadable).removeListener("end",onSocketEnd).removeListener("close",onSocketClose);en[jn]=null;en[Jn][en[zn]++]=null;en.emit("disconnect",en[vn],[en],new Zn("upgrade"));try{sn.onUpgrade(In,an,nn)}catch(Wt){rn.destroy(nn,Wt)}resume(en)}onHeadersComplete(Wt,Pt,en){const{client:nn,socket:an,headers:In,statusText:sn}=this;if(an.destroyed){return-1}const on=nn[Jn][nn[zn]];if(!on){return-1}tn(!this.upgrade);tn(this.statusCode<200);if(Wt===100){rn.destroy(an,new hn("bad response",rn.getSocketInfo(an)));return-1}if(Pt&&!on.upgrade){rn.destroy(an,new hn("bad upgrade",rn.getSocketInfo(an)));return-1}tn.strictEqual(this.timeoutType,xl);this.statusCode=Wt;this.shouldKeepAlive=en||on.method==="HEAD"&&!an[Yn]&&this.connection.toLowerCase()==="keep-alive";if(this.statusCode>=200){const Wt=on.bodyTimeout!=null?on.bodyTimeout:nn[el];this.setTimeout(Wt,Ol)}else if(this.timeout){if(this.timeout.refresh){this.timeout.refresh()}}if(on.method==="CONNECT"){tn(nn[Hn]===1);this.upgrade=true;return 2}if(Pt){tn(nn[Hn]===1);this.upgrade=true;return 2}tn(this.headers.length%2===0);this.headers=[];this.headersSize=0;if(this.shouldKeepAlive&&nn[Dn]){const Wt=this.keepAlive?rn.parseKeepAliveTimeout(this.keepAlive):null;if(Wt!=null){const Pt=Math.min(Wt-nn[qn],nn[Pn]);if(Pt<=0){an[Yn]=true}else{nn[_n]=Pt}}else{nn[_n]=nn[Tn]}}else{an[Yn]=true}const cn=on.onHeaders(Wt,In,this.resume,sn)===false;if(on.aborted){return-1}if(on.method==="HEAD"){return 1}if(Wt<200){return 1}if(an[Qn]){an[Qn]=false;resume(nn)}return cn?Ql.ERROR.PAUSED:0}onBody(Wt){const{client:Pt,socket:en,statusCode:nn,maxResponseSize:an}=this;if(en.destroyed){return-1}const In=Pt[Jn][Pt[zn]];tn(In);tn.strictEqual(this.timeoutType,Ol);if(this.timeout){if(this.timeout.refresh){this.timeout.refresh()}}tn(nn>=200);if(an>-1&&this.bytesRead+Wt.length>an){rn.destroy(en,new Nn);return-1}this.bytesRead+=Wt.length;if(In.onData(Wt)===false){return Ql.ERROR.PAUSED}}onMessageComplete(){const{client:Wt,socket:Pt,statusCode:en,upgrade:nn,headers:an,contentLength:In,bytesRead:sn,shouldKeepAlive:on}=this;if(Pt.destroyed&&(!en||on)){return-1}if(nn){return}const cn=Wt[Jn][Wt[zn]];tn(cn);tn(en>=100);this.statusCode=null;this.statusText="";this.bytesRead=0;this.contentLength="";this.keepAlive="";this.connection="";tn(this.headers.length%2===0);this.headers=[];this.headersSize=0;if(en<200){return}if(cn.method!=="HEAD"&&In&&sn!==parseInt(In,10)){rn.destroy(Pt,new un);return-1}cn.onComplete(an);Wt[Jn][Wt[zn]++]=null;if(Pt[kn]){tn.strictEqual(Wt[Hn],0);rn.destroy(Pt,new Zn("reset"));return Ql.ERROR.PAUSED}else if(!on){rn.destroy(Pt,new Zn("reset"));return Ql.ERROR.PAUSED}else if(Pt[Yn]&&Wt[Hn]===0){rn.destroy(Pt,new Zn("reset"));return Ql.ERROR.PAUSED}else if(Wt[Dn]===1){setImmediate(resume,Wt)}else{resume(Wt)}}}function onParserTimeout(Wt){const{socket:Pt,timeoutType:en,client:nn}=Wt;if(en===xl){if(!Pt[kn]||Pt.writableNeedDrain||nn[Hn]>1){tn(!Wt.paused,"cannot be paused while waiting for headers");rn.destroy(Pt,new bn)}}else if(en===Ol){if(!Wt.paused){rn.destroy(Pt,new An)}}else if(en===Tl){tn(nn[Hn]===0&&nn[_n]);rn.destroy(Pt,new Zn("socket idle timeout"))}}function onSocketReadable(){const{[wn]:Wt}=this;if(Wt){Wt.readMore()}}function onSocketError(Wt){const{[Vn]:Pt,[wn]:en}=this;tn(Wt.code!=="ERR_TLS_CERT_ALTNAME_INVALID");if(Pt[ul]!=="h2"){if(Wt.code==="ECONNRESET"&&en.statusCode&&!en.shouldKeepAlive){en.onMessageComplete();return}}this[Sn]=Wt;onError(this[Vn],Wt)}function onError(Wt,Pt){if(Wt[Hn]===0&&Pt.code!=="UND_ERR_INFO"&&Pt.code!=="UND_ERR_SOCKET"){tn(Wt[Mn]===Wt[zn]);const en=Wt[Jn].splice(Wt[zn]);for(let tn=0;tn0&&en.code!=="UND_ERR_INFO"){const Pt=Wt[Jn][Wt[zn]];Wt[Jn][Wt[zn]++]=null;errorRequest(Wt,Pt,en)}Wt[Mn]=Wt[zn];tn(Wt[Hn]===0);Wt.emit("disconnect",Wt[vn],[Wt],en);resume(Wt)}async function connect(Wt){tn(!Wt[Bn]);tn(!Wt[jn]);let{host:Pt,hostname:en,protocol:an,port:In}=Wt[vn];if(en[0]==="["){const Wt=en.indexOf("]");tn(Wt!==-1);const Pt=en.substring(1,Wt);tn(nn.isIP(Pt));en=Pt}Wt[Bn]=true;if(Fl.beforeConnect.hasSubscribers){Fl.beforeConnect.publish({connectParams:{host:Pt,hostname:en,protocol:an,port:In,servername:Wt[En],localAddress:Wt[il]},connector:Wt[nl]})}try{const nn=await new Promise(((tn,nn)=>{Wt[nl]({host:Pt,hostname:en,protocol:an,port:In,servername:Wt[En],localAddress:Wt[il]},((Wt,Pt)=>{if(Wt){nn(Wt)}else{tn(Pt)}}))}));if(Wt.destroyed){rn.destroy(nn.on("error",(()=>{})),new gn);return}Wt[Bn]=false;tn(nn);const sn=nn.alpnProtocol==="h2";if(sn){if(!Vl){Vl=true;process.emitWarning("H2 support is experimental, expect them to change at any time.",{code:"UNDICI-H2"})}const Pt=Al.connect(Wt[vn],{createConnection:()=>nn,peerMaxConcurrentStreams:Wt[bl].maxConcurrentStreams});Wt[ul]="h2";Pt[Vn]=Wt;Pt[jn]=nn;Pt.on("error",onHttp2SessionError);Pt.on("frameError",onHttp2FrameError);Pt.on("end",onHttp2SessionEnd);Pt.on("goaway",onHTTP2GoAway);Pt.on("close",onSocketClose);Pt.unref();Wt[ml]=Pt;nn[ml]=Pt}else{if(!Cl){Cl=await Xl;Xl=null}nn[On]=false;nn[kn]=false;nn[Yn]=false;nn[Qn]=false;nn[wn]=new Parser(Wt,nn,Cl)}nn[Il]=0;nn[al]=Wt[al];nn[Vn]=Wt;nn[Sn]=null;nn.on("error",onSocketError).on("readable",onSocketReadable).on("end",onSocketEnd).on("close",onSocketClose);Wt[jn]=nn;if(Fl.connected.hasSubscribers){Fl.connected.publish({connectParams:{host:Pt,hostname:en,protocol:an,port:In,servername:Wt[En],localAddress:Wt[il]},connector:Wt[nl],socket:nn})}Wt.emit("connect",Wt[vn],[Wt])}catch(nn){if(Wt.destroyed){return}Wt[Bn]=false;if(Fl.connectError.hasSubscribers){Fl.connectError.publish({connectParams:{host:Pt,hostname:en,protocol:an,port:In,servername:Wt[En],localAddress:Wt[il]},connector:Wt[nl],error:nn})}if(nn.code==="ERR_TLS_CERT_ALTNAME_INVALID"){tn(Wt[Hn]===0);while(Wt[Cn]>0&&Wt[Jn][Wt[Mn]].servername===Wt[En]){const Pt=Wt[Jn][Wt[Mn]++];errorRequest(Wt,Pt,nn)}}else{onError(Wt,nn)}Wt.emit("connectionError",Wt[vn],[Wt],nn)}resume(Wt)}function emitDrain(Wt){Wt[xn]=0;Wt.emit("drain",Wt[vn],[Wt])}function resume(Wt,Pt){if(Wt[fn]===2){return}Wt[fn]=2;_resume(Wt,Pt);Wt[fn]=0;if(Wt[zn]>256){Wt[Jn].splice(0,Wt[zn]);Wt[Mn]-=Wt[zn];Wt[zn]=0}}function _resume(Wt,Pt){while(true){if(Wt.destroyed){tn(Wt[Cn]===0);return}if(Wt[wl]&&!Wt[Xn]){Wt[wl]();Wt[wl]=null;return}const en=Wt[jn];if(en&&!en.destroyed&&en.alpnProtocol!=="h2"){if(Wt[Xn]===0){if(!en[On]&&en.unref){en.unref();en[On]=true}}else if(en[On]&&en.ref){en.ref();en[On]=false}if(Wt[Xn]===0){if(en[wn].timeoutType!==Tl){en[wn].setTimeout(Wt[_n],Tl)}}else if(Wt[Hn]>0&&en[wn].statusCode<200){if(en[wn].timeoutType!==xl){const Pt=Wt[Jn][Wt[zn]];const tn=Pt.headersTimeout!=null?Pt.headersTimeout:Wt[$n];en[wn].setTimeout(tn,xl)}}}if(Wt[Rn]){Wt[xn]=2}else if(Wt[xn]===2){if(Pt){Wt[xn]=1;process.nextTick(emitDrain,Wt)}else{emitDrain(Wt)}continue}if(Wt[Cn]===0){return}if(Wt[Hn]>=(Wt[Dn]||1)){return}const nn=Wt[Jn][Wt[Mn]];if(Wt[vn].protocol==="https:"&&Wt[En]!==nn.servername){if(Wt[Hn]>0){return}Wt[En]=nn.servername;if(en&&en.servername!==nn.servername){rn.destroy(en,new Zn("servername changed"));return}}if(Wt[Bn]){return}if(!en&&!Wt[ml]){connect(Wt);return}if(en.destroyed||en[kn]||en[Yn]||en[Qn]){return}if(Wt[Hn]>0&&!nn.idempotent){return}if(Wt[Hn]>0&&(nn.upgrade||nn.method==="CONNECT")){return}if(Wt[Hn]>0&&rn.bodyLength(nn.body)!==0&&(rn.isStream(nn.body)||rn.isAsyncIterable(nn.body))){return}if(!nn.aborted&&write(Wt,nn)){Wt[Mn]++}else{Wt[Jn].splice(Wt[Mn],1)}}}function shouldSendContentLength(Wt){return Wt!=="GET"&&Wt!=="HEAD"&&Wt!=="OPTIONS"&&Wt!=="TRACE"&&Wt!=="CONNECT"}function write(Wt,Pt){if(Wt[ul]==="h2"){writeH2(Wt,Wt[ml],Pt);return}const{body:en,method:nn,path:an,host:In,upgrade:sn,headers:on,blocking:cn,reset:un}=Pt;const pn=nn==="PUT"||nn==="POST"||nn==="PATCH";if(en&&typeof en.read==="function"){en.read(0)}const bn=rn.bodyLength(en);let Gn=bn;if(Gn===null){Gn=Pt.contentLength}if(Gn===0&&!pn){Gn=null}if(shouldSendContentLength(nn)&&Gn>0&&Pt.contentLength!==null&&Pt.contentLength!==Gn){if(Wt[tl]){errorRequest(Wt,Pt,new dn);return false}process.emitWarning(new dn)}const hn=Wt[jn];try{Pt.onConnect((en=>{if(Pt.aborted||Pt.completed){return}errorRequest(Wt,Pt,en||new mn);rn.destroy(hn,new Zn("aborted"))}))}catch(en){errorRequest(Wt,Pt,en)}if(Pt.aborted){return false}if(nn==="HEAD"){hn[Yn]=true}if(sn||nn==="CONNECT"){hn[Yn]=true}if(un!=null){hn[Yn]=un}if(Wt[al]&&hn[Il]++>=Wt[al]){hn[Yn]=true}if(cn){hn[Qn]=true}let An=`${nn} ${an} HTTP/1.1\r\n`;if(typeof In==="string"){An+=`host: ${In}\r\n`}else{An+=Wt[Un]}if(sn){An+=`connection: upgrade\r\nupgrade: ${sn}\r\n`}else if(Wt[Dn]&&!hn[Yn]){An+="connection: keep-alive\r\n"}else{An+="connection: close\r\n"}if(on){An+=on}if(Fl.sendHeaders.hasSubscribers){Fl.sendHeaders.publish({request:Pt,headers:An,socket:hn})}if(!en||bn===0){if(Gn===0){hn.write(`${An}content-length: 0\r\n\r\n`,"latin1")}else{tn(Gn===null,"no body must not have content length");hn.write(`${An}\r\n`,"latin1")}Pt.onRequestSent()}else if(rn.isBuffer(en)){tn(Gn===en.byteLength,"buffer body must have content length");hn.cork();hn.write(`${An}content-length: ${Gn}\r\n\r\n`,"latin1");hn.write(en);hn.uncork();Pt.onBodySent(en);Pt.onRequestSent();if(!pn){hn[Yn]=true}}else if(rn.isBlobLike(en)){if(typeof en.stream==="function"){writeIterable({body:en.stream(),client:Wt,request:Pt,socket:hn,contentLength:Gn,header:An,expectsPayload:pn})}else{writeBlob({body:en,client:Wt,request:Pt,socket:hn,contentLength:Gn,header:An,expectsPayload:pn})}}else if(rn.isStream(en)){writeStream({body:en,client:Wt,request:Pt,socket:hn,contentLength:Gn,header:An,expectsPayload:pn})}else if(rn.isIterable(en)){writeIterable({body:en,client:Wt,request:Pt,socket:hn,contentLength:Gn,header:An,expectsPayload:pn})}else{tn(false)}return true}function writeH2(Wt,Pt,en){const{body:nn,method:an,path:In,host:sn,upgrade:cn,expectContinue:un,signal:pn,headers:bn}=en;let Gn;if(typeof bn==="string")Gn=on[hl](bn.trim());else Gn=bn;if(cn){errorRequest(Wt,en,new Error("Upgrade not supported for H2"));return false}try{en.onConnect((Pt=>{if(en.aborted||en.completed){return}errorRequest(Wt,en,Pt||new mn)}))}catch(Pt){errorRequest(Wt,en,Pt)}if(en.aborted){return false}let hn;const An=Wt[bl];Gn[Wl]=sn||Wt[pl];Gn[Nl]=an;if(an==="CONNECT"){Pt.ref();hn=Pt.request(Gn,{endStream:false,signal:pn});if(hn.id&&!hn.pending){en.onUpgrade(null,null,hn);++An.openStreams}else{hn.once("ready",(()=>{en.onUpgrade(null,null,hn);++An.openStreams}))}hn.once("close",(()=>{An.openStreams-=1;if(An.openStreams===0)Pt.unref()}));return true}Gn[gl]=In;Gn[yl]="https";const Wn=an==="PUT"||an==="POST"||an==="PATCH";if(nn&&typeof nn.read==="function"){nn.read(0)}let Nn=rn.bodyLength(nn);if(Nn==null){Nn=en.contentLength}if(Nn===0||!Wn){Nn=null}if(shouldSendContentLength(an)&&Nn>0&&en.contentLength!=null&&en.contentLength!==Nn){if(Wt[tl]){errorRequest(Wt,en,new dn);return false}process.emitWarning(new dn)}if(Nn!=null){tn(nn,"no body must not have content length");Gn[vl]=`${Nn}`}Pt.ref();const gn=an==="GET"||an==="HEAD";if(un){Gn[Yl]="100-continue";hn=Pt.request(Gn,{endStream:gn,signal:pn});hn.once("continue",writeBodyH2)}else{hn=Pt.request(Gn,{endStream:gn,signal:pn});writeBodyH2()}++An.openStreams;hn.once("response",(Wt=>{const{[El]:Pt,...tn}=Wt;if(en.onHeaders(Number(Pt),tn,hn.resume.bind(hn),"")===false){hn.pause()}}));hn.once("end",(()=>{en.onComplete([])}));hn.on("data",(Wt=>{if(en.onData(Wt)===false){hn.pause()}}));hn.once("close",(()=>{An.openStreams-=1;if(An.openStreams===0){Pt.unref()}}));hn.once("error",(function(Pt){if(Wt[ml]&&!Wt[ml].destroyed&&!this.closed&&!this.destroyed){An.streams-=1;rn.destroy(hn,Pt)}}));hn.once("frameError",((Pt,tn)=>{const nn=new Zn(`HTTP/2: "frameError" received - type ${Pt}, code ${tn}`);errorRequest(Wt,en,nn);if(Wt[ml]&&!Wt[ml].destroyed&&!this.closed&&!this.destroyed){An.streams-=1;rn.destroy(hn,nn)}}));return true;function writeBodyH2(){if(!nn){en.onRequestSent()}else if(rn.isBuffer(nn)){tn(Nn===nn.byteLength,"buffer body must have content length");hn.cork();hn.write(nn);hn.uncork();hn.end();en.onBodySent(nn);en.onRequestSent()}else if(rn.isBlobLike(nn)){if(typeof nn.stream==="function"){writeIterable({client:Wt,request:en,contentLength:Nn,h2stream:hn,expectsPayload:Wn,body:nn.stream(),socket:Wt[jn],header:""})}else{writeBlob({body:nn,client:Wt,request:en,contentLength:Nn,expectsPayload:Wn,h2stream:hn,header:"",socket:Wt[jn]})}}else if(rn.isStream(nn)){writeStream({body:nn,client:Wt,request:en,contentLength:Nn,expectsPayload:Wn,socket:Wt[jn],h2stream:hn,header:""})}else if(rn.isIterable(nn)){writeIterable({body:nn,client:Wt,request:en,contentLength:Nn,expectsPayload:Wn,header:"",h2stream:hn,socket:Wt[jn]})}else{tn(false)}}}function writeStream({h2stream:Wt,body:Pt,client:en,request:nn,socket:an,contentLength:sn,header:on,expectsPayload:cn}){tn(sn!==0||en[Hn]===0,"stream body cannot be pipelined");if(en[ul]==="h2"){const pn=In(Pt,Wt,(en=>{if(en){rn.destroy(Pt,en);rn.destroy(Wt,en)}else{nn.onRequestSent()}}));pn.on("data",onPipeData);pn.once("end",(()=>{pn.removeListener("data",onPipeData);rn.destroy(pn)}));function onPipeData(Wt){nn.onBodySent(Wt)}return}let dn=false;const un=new AsyncWriter({socket:an,request:nn,contentLength:sn,client:en,expectsPayload:cn,header:on});const onData=function(Wt){if(dn){return}try{if(!un.write(Wt)&&this.pause){this.pause()}}catch(Wt){rn.destroy(this,Wt)}};const onDrain=function(){if(dn){return}if(Pt.resume){Pt.resume()}};const onAbort=function(){if(dn){return}const Wt=new mn;queueMicrotask((()=>onFinished(Wt)))};const onFinished=function(Wt){if(dn){return}dn=true;tn(an.destroyed||an[kn]&&en[Hn]<=1);an.off("drain",onDrain).off("error",onFinished);Pt.removeListener("data",onData).removeListener("end",onFinished).removeListener("error",onFinished).removeListener("close",onAbort);if(!Wt){try{un.end()}catch(Pt){Wt=Pt}}un.destroy(Wt);if(Wt&&(Wt.code!=="UND_ERR_INFO"||Wt.message!=="reset")){rn.destroy(Pt,Wt)}else{rn.destroy(Pt)}};Pt.on("data",onData).on("end",onFinished).on("error",onFinished).on("close",onAbort);if(Pt.resume){Pt.resume()}an.on("drain",onDrain).on("error",onFinished)}async function writeBlob({h2stream:Wt,body:Pt,client:en,request:nn,socket:an,contentLength:In,header:sn,expectsPayload:on}){tn(In===Pt.size,"blob body must have content length");const cn=en[ul]==="h2";try{if(In!=null&&In!==Pt.size){throw new dn}const tn=Buffer.from(await Pt.arrayBuffer());if(cn){Wt.cork();Wt.write(tn);Wt.uncork()}else{an.cork();an.write(`${sn}content-length: ${In}\r\n\r\n`,"latin1");an.write(tn);an.uncork()}nn.onBodySent(tn);nn.onRequestSent();if(!on){an[Yn]=true}resume(en)}catch(Pt){rn.destroy(cn?Wt:an,Pt)}}async function writeIterable({h2stream:Wt,body:Pt,client:en,request:nn,socket:an,contentLength:In,header:rn,expectsPayload:sn}){tn(In!==0||en[Hn]===0,"iterator body cannot be pipelined");let on=null;function onDrain(){if(on){const Wt=on;on=null;Wt()}}const waitForDrain=()=>new Promise(((Wt,Pt)=>{tn(on===null);if(an[Sn]){Pt(an[Sn])}else{on=Wt}}));if(en[ul]==="h2"){Wt.on("close",onDrain).on("drain",onDrain);try{for await(const en of Pt){if(an[Sn]){throw an[Sn]}const Pt=Wt.write(en);nn.onBodySent(en);if(!Pt){await waitForDrain()}}}catch(Pt){Wt.destroy(Pt)}finally{nn.onRequestSent();Wt.end();Wt.off("close",onDrain).off("drain",onDrain)}return}an.on("close",onDrain).on("drain",onDrain);const cn=new AsyncWriter({socket:an,request:nn,contentLength:In,client:en,expectsPayload:sn,header:rn});try{for await(const Wt of Pt){if(an[Sn]){throw an[Sn]}if(!cn.write(Wt)){await waitForDrain()}}cn.end()}catch(Wt){cn.destroy(Wt)}finally{an.off("close",onDrain).off("drain",onDrain)}}class AsyncWriter{constructor({socket:Wt,request:Pt,contentLength:en,client:tn,expectsPayload:nn,header:an}){this.socket=Wt;this.request=Pt;this.contentLength=en;this.client=tn;this.bytesWritten=0;this.expectsPayload=nn;this.header=an;Wt[kn]=true}write(Wt){const{socket:Pt,request:en,contentLength:tn,client:nn,bytesWritten:an,expectsPayload:In,header:rn}=this;if(Pt[Sn]){throw Pt[Sn]}if(Pt.destroyed){return false}const sn=Buffer.byteLength(Wt);if(!sn){return true}if(tn!==null&&an+sn>tn){if(nn[tl]){throw new dn}process.emitWarning(new dn)}Pt.cork();if(an===0){if(!In){Pt[Yn]=true}if(tn===null){Pt.write(`${rn}transfer-encoding: chunked\r\n`,"latin1")}else{Pt.write(`${rn}content-length: ${tn}\r\n\r\n`,"latin1")}}if(tn===null){Pt.write(`\r\n${sn.toString(16)}\r\n`,"latin1")}this.bytesWritten+=sn;const on=Pt.write(Wt);Pt.uncork();en.onBodySent(Wt);if(!on){if(Pt[wn].timeout&&Pt[wn].timeoutType===xl){if(Pt[wn].timeout.refresh){Pt[wn].timeout.refresh()}}}return on}end(){const{socket:Wt,contentLength:Pt,client:en,bytesWritten:tn,expectsPayload:nn,header:an,request:In}=this;In.onRequestSent();Wt[kn]=false;if(Wt[Sn]){throw Wt[Sn]}if(Wt.destroyed){return}if(tn===0){if(nn){Wt.write(`${an}content-length: 0\r\n\r\n`,"latin1")}else{Wt.write(`${an}\r\n`,"latin1")}}else if(Pt===null){Wt.write("\r\n0\r\n\r\n","latin1")}if(Pt!==null&&tn!==Pt){if(en[tl]){throw new dn}else{process.emitWarning(new dn)}}if(Wt[wn].timeout&&Wt[wn].timeoutType===xl){if(Wt[wn].timeout.refresh){Wt[wn].timeout.refresh()}}resume(en)}destroy(Wt){const{socket:Pt,client:en}=this;Pt[kn]=false;if(Wt){tn(en[Hn]<=1,"pipeline should only contain this request");rn.destroy(Pt,Wt)}}}function errorRequest(Wt,Pt,en){try{Pt.onError(en);tn(Pt.aborted)}catch(en){Wt.emit("error",en)}}Wt.exports=Client},13194:(Wt,Pt,en)=>{const{kConnected:tn,kSize:nn}=en(36443);class CompatWeakRef{constructor(Wt){this.value=Wt}deref(){return this.value[tn]===0&&this.value[nn]===0?undefined:this.value}}class CompatFinalizer{constructor(Wt){this.finalizer=Wt}register(Wt,Pt){if(Wt.on){Wt.on("disconnect",(()=>{if(Wt[tn]===0&&Wt[nn]===0){this.finalizer(Pt)}}))}}}Wt.exports=function(){if(process.env.NODE_V8_COVERAGE){return{WeakRef:CompatWeakRef,FinalizationRegistry:CompatFinalizer}}return{WeakRef:global.WeakRef||CompatWeakRef,FinalizationRegistry:global.FinalizationRegistry||CompatFinalizer}}},19237:Wt=>{const Pt=1024;const en=4096;Wt.exports={maxAttributeValueSize:Pt,maxNameValuePairSize:en}},53168:(Wt,Pt,en)=>{const{parseSetCookie:tn}=en(8915);const{stringify:nn,getHeadersList:an}=en(3834);const{webidl:In}=en(74222);const{Headers:rn}=en(26349);function getCookies(Wt){In.argumentLengthCheck(arguments,1,{header:"getCookies"});In.brandCheck(Wt,rn,{strict:false});const Pt=Wt.get("cookie");const en={};if(!Pt){return en}for(const Wt of Pt.split(";")){const[Pt,...tn]=Wt.split("=");en[Pt.trim()]=tn.join("=")}return en}function deleteCookie(Wt,Pt,en){In.argumentLengthCheck(arguments,2,{header:"deleteCookie"});In.brandCheck(Wt,rn,{strict:false});Pt=In.converters.DOMString(Pt);en=In.converters.DeleteCookieAttributes(en);setCookie(Wt,{name:Pt,value:"",expires:new Date(0),...en})}function getSetCookies(Wt){In.argumentLengthCheck(arguments,1,{header:"getSetCookies"});In.brandCheck(Wt,rn,{strict:false});const Pt=an(Wt).cookies;if(!Pt){return[]}return Pt.map((Wt=>tn(Array.isArray(Wt)?Wt[1]:Wt)))}function setCookie(Wt,Pt){In.argumentLengthCheck(arguments,2,{header:"setCookie"});In.brandCheck(Wt,rn,{strict:false});Pt=In.converters.Cookie(Pt);const en=nn(Pt);if(en){Wt.append("Set-Cookie",nn(Pt))}}In.converters.DeleteCookieAttributes=In.dictionaryConverter([{converter:In.nullableConverter(In.converters.DOMString),key:"path",defaultValue:null},{converter:In.nullableConverter(In.converters.DOMString),key:"domain",defaultValue:null}]);In.converters.Cookie=In.dictionaryConverter([{converter:In.converters.DOMString,key:"name"},{converter:In.converters.DOMString,key:"value"},{converter:In.nullableConverter((Wt=>{if(typeof Wt==="number"){return In.converters["unsigned long long"](Wt)}return new Date(Wt)})),key:"expires",defaultValue:null},{converter:In.nullableConverter(In.converters["long long"]),key:"maxAge",defaultValue:null},{converter:In.nullableConverter(In.converters.DOMString),key:"domain",defaultValue:null},{converter:In.nullableConverter(In.converters.DOMString),key:"path",defaultValue:null},{converter:In.nullableConverter(In.converters.boolean),key:"secure",defaultValue:null},{converter:In.nullableConverter(In.converters.boolean),key:"httpOnly",defaultValue:null},{converter:In.converters.USVString,key:"sameSite",allowedValues:["Strict","Lax","None"]},{converter:In.sequenceConverter(In.converters.DOMString),key:"unparsed",defaultValue:[]}]);Wt.exports={getCookies:getCookies,deleteCookie:deleteCookie,getSetCookies:getSetCookies,setCookie:setCookie}},8915:(Wt,Pt,en)=>{const{maxNameValuePairSize:tn,maxAttributeValueSize:nn}=en(19237);const{isCTLExcludingHtab:an}=en(3834);const{collectASequenceOfCodePointsFast:In}=en(94322);const rn=en(42613);function parseSetCookie(Wt){if(an(Wt)){return null}let Pt="";let en="";let nn="";let rn="";if(Wt.includes(";")){const tn={position:0};Pt=In(";",Wt,tn);en=Wt.slice(tn.position)}else{Pt=Wt}if(!Pt.includes("=")){rn=Pt}else{const Wt={position:0};nn=In("=",Pt,Wt);rn=Pt.slice(Wt.position+1)}nn=nn.trim();rn=rn.trim();if(nn.length+rn.length>tn){return null}return{name:nn,value:rn,...parseUnparsedAttributes(en)}}function parseUnparsedAttributes(Wt,Pt={}){if(Wt.length===0){return Pt}rn(Wt[0]===";");Wt=Wt.slice(1);let en="";if(Wt.includes(";")){en=In(";",Wt,{position:0});Wt=Wt.slice(en.length)}else{en=Wt;Wt=""}let tn="";let an="";if(en.includes("=")){const Wt={position:0};tn=In("=",en,Wt);an=en.slice(Wt.position+1)}else{tn=en}tn=tn.trim();an=an.trim();if(an.length>nn){return parseUnparsedAttributes(Wt,Pt)}const sn=tn.toLowerCase();if(sn==="expires"){const Wt=new Date(an);Pt.expires=Wt}else if(sn==="max-age"){const en=an.charCodeAt(0);if((en<48||en>57)&&an[0]!=="-"){return parseUnparsedAttributes(Wt,Pt)}if(!/^\d+$/.test(an)){return parseUnparsedAttributes(Wt,Pt)}const tn=Number(an);Pt.maxAge=tn}else if(sn==="domain"){let Wt=an;if(Wt[0]==="."){Wt=Wt.slice(1)}Wt=Wt.toLowerCase();Pt.domain=Wt}else if(sn==="path"){let Wt="";if(an.length===0||an[0]!=="/"){Wt="/"}else{Wt=an}Pt.path=Wt}else if(sn==="secure"){Pt.secure=true}else if(sn==="httponly"){Pt.httpOnly=true}else if(sn==="samesite"){let Wt="Default";const en=an.toLowerCase();if(en.includes("none")){Wt="None"}if(en.includes("strict")){Wt="Strict"}if(en.includes("lax")){Wt="Lax"}Pt.sameSite=Wt}else{Pt.unparsed??=[];Pt.unparsed.push(`${tn}=${an}`)}return parseUnparsedAttributes(Wt,Pt)}Wt.exports={parseSetCookie:parseSetCookie,parseUnparsedAttributes:parseUnparsedAttributes}},3834:(Wt,Pt,en)=>{const tn=en(42613);const{kHeadersList:nn}=en(36443);function isCTLExcludingHtab(Wt){if(Wt.length===0){return false}for(const Pt of Wt){const Wt=Pt.charCodeAt(0);if(Wt>=0||Wt<=8||(Wt>=10||Wt<=31)||Wt===127){return false}}}function validateCookieName(Wt){for(const Pt of Wt){const Wt=Pt.charCodeAt(0);if(Wt<=32||Wt>127||Pt==="("||Pt===")"||Pt===">"||Pt==="<"||Pt==="@"||Pt===","||Pt===";"||Pt===":"||Pt==="\\"||Pt==='"'||Pt==="/"||Pt==="["||Pt==="]"||Pt==="?"||Pt==="="||Pt==="{"||Pt==="}"){throw new Error("Invalid cookie name")}}}function validateCookieValue(Wt){for(const Pt of Wt){const Wt=Pt.charCodeAt(0);if(Wt<33||Wt===34||Wt===44||Wt===59||Wt===92||Wt>126){throw new Error("Invalid header value")}}}function validateCookiePath(Wt){for(const Pt of Wt){const Wt=Pt.charCodeAt(0);if(Wt<33||Pt===";"){throw new Error("Invalid cookie path")}}}function validateCookieDomain(Wt){if(Wt.startsWith("-")||Wt.endsWith(".")||Wt.endsWith("-")){throw new Error("Invalid cookie domain")}}function toIMFDate(Wt){if(typeof Wt==="number"){Wt=new Date(Wt)}const Pt=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"];const en=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];const tn=Pt[Wt.getUTCDay()];const nn=Wt.getUTCDate().toString().padStart(2,"0");const an=en[Wt.getUTCMonth()];const In=Wt.getUTCFullYear();const rn=Wt.getUTCHours().toString().padStart(2,"0");const sn=Wt.getUTCMinutes().toString().padStart(2,"0");const on=Wt.getUTCSeconds().toString().padStart(2,"0");return`${tn}, ${nn} ${an} ${In} ${rn}:${sn}:${on} GMT`}function validateCookieMaxAge(Wt){if(Wt<0){throw new Error("Invalid cookie max-age")}}function stringify(Wt){if(Wt.name.length===0){return null}validateCookieName(Wt.name);validateCookieValue(Wt.value);const Pt=[`${Wt.name}=${Wt.value}`];if(Wt.name.startsWith("__Secure-")){Wt.secure=true}if(Wt.name.startsWith("__Host-")){Wt.secure=true;Wt.domain=null;Wt.path="/"}if(Wt.secure){Pt.push("Secure")}if(Wt.httpOnly){Pt.push("HttpOnly")}if(typeof Wt.maxAge==="number"){validateCookieMaxAge(Wt.maxAge);Pt.push(`Max-Age=${Wt.maxAge}`)}if(Wt.domain){validateCookieDomain(Wt.domain);Pt.push(`Domain=${Wt.domain}`)}if(Wt.path){validateCookiePath(Wt.path);Pt.push(`Path=${Wt.path}`)}if(Wt.expires&&Wt.expires.toString()!=="Invalid Date"){Pt.push(`Expires=${toIMFDate(Wt.expires)}`)}if(Wt.sameSite){Pt.push(`SameSite=${Wt.sameSite}`)}for(const en of Wt.unparsed){if(!en.includes("=")){throw new Error("Invalid unparsed")}const[Wt,...tn]=en.split("=");Pt.push(`${Wt.trim()}=${tn.join("=")}`)}return Pt.join("; ")}let an;function getHeadersList(Wt){if(Wt[nn]){return Wt[nn]}if(!an){an=Object.getOwnPropertySymbols(Wt).find((Wt=>Wt.description==="headers list"));tn(an,"Headers cannot be parsed")}const Pt=Wt[an];tn(Pt);return Pt}Wt.exports={isCTLExcludingHtab:isCTLExcludingHtab,stringify:stringify,getHeadersList:getHeadersList}},59136:(Wt,Pt,en)=>{const tn=en(69278);const nn=en(42613);const an=en(3440);const{InvalidArgumentError:In,ConnectTimeoutError:rn}=en(68707);let sn;let on;if(global.FinalizationRegistry&&!process.env.NODE_V8_COVERAGE){on=class WeakSessionCache{constructor(Wt){this._maxCachedSessions=Wt;this._sessionCache=new Map;this._sessionRegistry=new global.FinalizationRegistry((Wt=>{if(this._sessionCache.size=this._maxCachedSessions){const{value:Wt}=this._sessionCache.keys().next();this._sessionCache.delete(Wt)}this._sessionCache.set(Wt,Pt)}}}function buildConnector({allowH2:Wt,maxCachedSessions:Pt,socketPath:rn,timeout:cn,...dn}){if(Pt!=null&&(!Number.isInteger(Pt)||Pt<0)){throw new In("maxCachedSessions must be a positive integer or zero")}const un={path:rn,...dn};const pn=new on(Pt==null?100:Pt);cn=cn==null?1e4:cn;Wt=Wt!=null?Wt:false;return function connect({hostname:Pt,host:In,protocol:rn,port:on,servername:dn,localAddress:mn,httpSocket:bn},Gn){let hn;if(rn==="https:"){if(!sn){sn=en(64756)}dn=dn||un.servername||an.getServerName(In)||null;const tn=dn||Pt;const rn=pn.get(tn)||null;nn(tn);hn=sn.connect({highWaterMark:16384,...un,servername:dn,session:rn,localAddress:mn,ALPNProtocols:Wt?["http/1.1","h2"]:["http/1.1"],socket:bn,port:on||443,host:Pt});hn.on("session",(function(Wt){pn.set(tn,Wt)}))}else{nn(!bn,"httpSocket can only be sent on TLS update");hn=tn.connect({highWaterMark:64*1024,...un,localAddress:mn,port:on||80,host:Pt})}if(un.keepAlive==null||un.keepAlive){const Wt=un.keepAliveInitialDelay===undefined?6e4:un.keepAliveInitialDelay;hn.setKeepAlive(true,Wt)}const Zn=setupTimeout((()=>onConnectTimeout(hn)),cn);hn.setNoDelay(true).once(rn==="https:"?"secureConnect":"connect",(function(){Zn();if(Gn){const Wt=Gn;Gn=null;Wt(null,this)}})).on("error",(function(Wt){Zn();if(Gn){const Pt=Gn;Gn=null;Pt(Wt)}}));return hn}}function setupTimeout(Wt,Pt){if(!Pt){return()=>{}}let en=null;let tn=null;const nn=setTimeout((()=>{en=setImmediate((()=>{if(process.platform==="win32"){tn=setImmediate((()=>Wt()))}else{Wt()}}))}),Pt);return()=>{clearTimeout(nn);clearImmediate(en);clearImmediate(tn)}}function onConnectTimeout(Wt){an.destroy(Wt,new rn)}Wt.exports=buildConnector},10735:Wt=>{const Pt={};const en=["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 Wt=0;Wt{class UndiciError extends Error{constructor(Wt){super(Wt);this.name="UndiciError";this.code="UND_ERR"}}class ConnectTimeoutError extends UndiciError{constructor(Wt){super(Wt);Error.captureStackTrace(this,ConnectTimeoutError);this.name="ConnectTimeoutError";this.message=Wt||"Connect Timeout Error";this.code="UND_ERR_CONNECT_TIMEOUT"}}class HeadersTimeoutError extends UndiciError{constructor(Wt){super(Wt);Error.captureStackTrace(this,HeadersTimeoutError);this.name="HeadersTimeoutError";this.message=Wt||"Headers Timeout Error";this.code="UND_ERR_HEADERS_TIMEOUT"}}class HeadersOverflowError extends UndiciError{constructor(Wt){super(Wt);Error.captureStackTrace(this,HeadersOverflowError);this.name="HeadersOverflowError";this.message=Wt||"Headers Overflow Error";this.code="UND_ERR_HEADERS_OVERFLOW"}}class BodyTimeoutError extends UndiciError{constructor(Wt){super(Wt);Error.captureStackTrace(this,BodyTimeoutError);this.name="BodyTimeoutError";this.message=Wt||"Body Timeout Error";this.code="UND_ERR_BODY_TIMEOUT"}}class ResponseStatusCodeError extends UndiciError{constructor(Wt,Pt,en,tn){super(Wt);Error.captureStackTrace(this,ResponseStatusCodeError);this.name="ResponseStatusCodeError";this.message=Wt||"Response Status Code Error";this.code="UND_ERR_RESPONSE_STATUS_CODE";this.body=tn;this.status=Pt;this.statusCode=Pt;this.headers=en}}class InvalidArgumentError extends UndiciError{constructor(Wt){super(Wt);Error.captureStackTrace(this,InvalidArgumentError);this.name="InvalidArgumentError";this.message=Wt||"Invalid Argument Error";this.code="UND_ERR_INVALID_ARG"}}class InvalidReturnValueError extends UndiciError{constructor(Wt){super(Wt);Error.captureStackTrace(this,InvalidReturnValueError);this.name="InvalidReturnValueError";this.message=Wt||"Invalid Return Value Error";this.code="UND_ERR_INVALID_RETURN_VALUE"}}class RequestAbortedError extends UndiciError{constructor(Wt){super(Wt);Error.captureStackTrace(this,RequestAbortedError);this.name="AbortError";this.message=Wt||"Request aborted";this.code="UND_ERR_ABORTED"}}class InformationalError extends UndiciError{constructor(Wt){super(Wt);Error.captureStackTrace(this,InformationalError);this.name="InformationalError";this.message=Wt||"Request information";this.code="UND_ERR_INFO"}}class RequestContentLengthMismatchError extends UndiciError{constructor(Wt){super(Wt);Error.captureStackTrace(this,RequestContentLengthMismatchError);this.name="RequestContentLengthMismatchError";this.message=Wt||"Request body length does not match content-length header";this.code="UND_ERR_REQ_CONTENT_LENGTH_MISMATCH"}}class ResponseContentLengthMismatchError extends UndiciError{constructor(Wt){super(Wt);Error.captureStackTrace(this,ResponseContentLengthMismatchError);this.name="ResponseContentLengthMismatchError";this.message=Wt||"Response body length does not match content-length header";this.code="UND_ERR_RES_CONTENT_LENGTH_MISMATCH"}}class ClientDestroyedError extends UndiciError{constructor(Wt){super(Wt);Error.captureStackTrace(this,ClientDestroyedError);this.name="ClientDestroyedError";this.message=Wt||"The client is destroyed";this.code="UND_ERR_DESTROYED"}}class ClientClosedError extends UndiciError{constructor(Wt){super(Wt);Error.captureStackTrace(this,ClientClosedError);this.name="ClientClosedError";this.message=Wt||"The client is closed";this.code="UND_ERR_CLOSED"}}class SocketError extends UndiciError{constructor(Wt,Pt){super(Wt);Error.captureStackTrace(this,SocketError);this.name="SocketError";this.message=Wt||"Socket error";this.code="UND_ERR_SOCKET";this.socket=Pt}}class NotSupportedError extends UndiciError{constructor(Wt){super(Wt);Error.captureStackTrace(this,NotSupportedError);this.name="NotSupportedError";this.message=Wt||"Not supported error";this.code="UND_ERR_NOT_SUPPORTED"}}class BalancedPoolMissingUpstreamError extends UndiciError{constructor(Wt){super(Wt);Error.captureStackTrace(this,NotSupportedError);this.name="MissingUpstreamError";this.message=Wt||"No upstream has been added to the BalancedPool";this.code="UND_ERR_BPL_MISSING_UPSTREAM"}}class HTTPParserError extends Error{constructor(Wt,Pt,en){super(Wt);Error.captureStackTrace(this,HTTPParserError);this.name="HTTPParserError";this.code=Pt?`HPE_${Pt}`:undefined;this.data=en?en.toString():undefined}}class ResponseExceededMaxSizeError extends UndiciError{constructor(Wt){super(Wt);Error.captureStackTrace(this,ResponseExceededMaxSizeError);this.name="ResponseExceededMaxSizeError";this.message=Wt||"Response content exceeded max size";this.code="UND_ERR_RES_EXCEEDED_MAX_SIZE"}}class RequestRetryError extends UndiciError{constructor(Wt,Pt,{headers:en,data:tn}){super(Wt);Error.captureStackTrace(this,RequestRetryError);this.name="RequestRetryError";this.message=Wt||"Request retry error";this.code="UND_ERR_REQ_RETRY";this.statusCode=Pt;this.data=tn;this.headers=en}}Wt.exports={HTTPParserError:HTTPParserError,UndiciError:UndiciError,HeadersTimeoutError:HeadersTimeoutError,HeadersOverflowError:HeadersOverflowError,BodyTimeoutError:BodyTimeoutError,RequestContentLengthMismatchError:RequestContentLengthMismatchError,ConnectTimeoutError:ConnectTimeoutError,ResponseStatusCodeError:ResponseStatusCodeError,InvalidArgumentError:InvalidArgumentError,InvalidReturnValueError:InvalidReturnValueError,RequestAbortedError:RequestAbortedError,ClientDestroyedError:ClientDestroyedError,ClientClosedError:ClientClosedError,InformationalError:InformationalError,SocketError:SocketError,NotSupportedError:NotSupportedError,ResponseContentLengthMismatchError:ResponseContentLengthMismatchError,BalancedPoolMissingUpstreamError:BalancedPoolMissingUpstreamError,ResponseExceededMaxSizeError:ResponseExceededMaxSizeError,RequestRetryError:RequestRetryError}},44655:(Wt,Pt,en)=>{const{InvalidArgumentError:tn,NotSupportedError:nn}=en(68707);const an=en(42613);const{kHTTP2BuildRequest:In,kHTTP2CopyHeaders:rn,kHTTP1BuildRequest:sn}=en(36443);const on=en(3440);const cn=/^[\^_`a-zA-Z\-0-9!#$%&'*+.|~]+$/;const dn=/[^\t\x20-\x7e\x80-\xff]/;const un=/[^\u0021-\u00ff]/;const pn=Symbol("handler");const mn={};let bn;try{const Wt=en(31637);mn.create=Wt.channel("undici:request:create");mn.bodySent=Wt.channel("undici:request:bodySent");mn.headers=Wt.channel("undici:request:headers");mn.trailers=Wt.channel("undici:request:trailers");mn.error=Wt.channel("undici:request:error")}catch{mn.create={hasSubscribers:false};mn.bodySent={hasSubscribers:false};mn.headers={hasSubscribers:false};mn.trailers={hasSubscribers:false};mn.error={hasSubscribers:false}}class Request{constructor(Wt,{path:Pt,method:nn,body:an,headers:In,query:rn,idempotent:sn,blocking:dn,upgrade:Gn,headersTimeout:hn,bodyTimeout:Zn,reset:An,throwOnError:Wn,expectContinue:Nn},gn){if(typeof Pt!=="string"){throw new tn("path must be a string")}else if(Pt[0]!=="/"&&!(Pt.startsWith("http://")||Pt.startsWith("https://"))&&nn!=="CONNECT"){throw new tn("path must be an absolute URL or start with a slash")}else if(un.exec(Pt)!==null){throw new tn("invalid request path")}if(typeof nn!=="string"){throw new tn("method must be a string")}else if(cn.exec(nn)===null){throw new tn("invalid request method")}if(Gn&&typeof Gn!=="string"){throw new tn("upgrade must be a string")}if(hn!=null&&(!Number.isFinite(hn)||hn<0)){throw new tn("invalid headersTimeout")}if(Zn!=null&&(!Number.isFinite(Zn)||Zn<0)){throw new tn("invalid bodyTimeout")}if(An!=null&&typeof An!=="boolean"){throw new tn("invalid reset")}if(Nn!=null&&typeof Nn!=="boolean"){throw new tn("invalid expectContinue")}this.headersTimeout=hn;this.bodyTimeout=Zn;this.throwOnError=Wn===true;this.method=nn;this.abort=null;if(an==null){this.body=null}else if(on.isStream(an)){this.body=an;const Wt=this.body._readableState;if(!Wt||!Wt.autoDestroy){this.endHandler=function autoDestroy(){on.destroy(this)};this.body.on("end",this.endHandler)}this.errorHandler=Wt=>{if(this.abort){this.abort(Wt)}else{this.error=Wt}};this.body.on("error",this.errorHandler)}else if(on.isBuffer(an)){this.body=an.byteLength?an:null}else if(ArrayBuffer.isView(an)){this.body=an.buffer.byteLength?Buffer.from(an.buffer,an.byteOffset,an.byteLength):null}else if(an instanceof ArrayBuffer){this.body=an.byteLength?Buffer.from(an):null}else if(typeof an==="string"){this.body=an.length?Buffer.from(an):null}else if(on.isFormDataLike(an)||on.isIterable(an)||on.isBlobLike(an)){this.body=an}else{throw new tn("body must be a string, a Buffer, a Readable stream, an iterable, or an async iterable")}this.completed=false;this.aborted=false;this.upgrade=Gn||null;this.path=rn?on.buildURL(Pt,rn):Pt;this.origin=Wt;this.idempotent=sn==null?nn==="HEAD"||nn==="GET":sn;this.blocking=dn==null?false:dn;this.reset=An==null?null:An;this.host=null;this.contentLength=null;this.contentType=null;this.headers="";this.expectContinue=Nn!=null?Nn:false;if(Array.isArray(In)){if(In.length%2!==0){throw new tn("headers array must be even")}for(let Wt=0;Wt{Wt.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")}},3440:(Wt,Pt,en)=>{const tn=en(42613);const{kDestroyed:nn,kBodyUsed:an}=en(36443);const{IncomingMessage:In}=en(58611);const rn=en(2203);const sn=en(69278);const{InvalidArgumentError:on}=en(68707);const{Blob:cn}=en(20181);const dn=en(39023);const{stringify:un}=en(83480);const{headerNameLowerCasedRecord:pn}=en(10735);const[mn,bn]=process.versions.node.split(".").map((Wt=>Number(Wt)));function nop(){}function isStream(Wt){return Wt&&typeof Wt==="object"&&typeof Wt.pipe==="function"&&typeof Wt.on==="function"}function isBlobLike(Wt){return cn&&Wt instanceof cn||Wt&&typeof Wt==="object"&&(typeof Wt.stream==="function"||typeof Wt.arrayBuffer==="function")&&/^(Blob|File)$/.test(Wt[Symbol.toStringTag])}function buildURL(Wt,Pt){if(Wt.includes("?")||Wt.includes("#")){throw new Error('Query params cannot be passed when url already contains "?" or "#".')}const en=un(Pt);if(en){Wt+="?"+en}return Wt}function parseURL(Wt){if(typeof Wt==="string"){Wt=new URL(Wt);if(!/^https?:/.test(Wt.origin||Wt.protocol)){throw new on("Invalid URL protocol: the URL must start with `http:` or `https:`.")}return Wt}if(!Wt||typeof Wt!=="object"){throw new on("Invalid URL: The URL argument must be a non-null object.")}if(!/^https?:/.test(Wt.origin||Wt.protocol)){throw new on("Invalid URL protocol: the URL must start with `http:` or `https:`.")}if(!(Wt instanceof URL)){if(Wt.port!=null&&Wt.port!==""&&!Number.isFinite(parseInt(Wt.port))){throw new on("Invalid URL: port must be a valid integer or a string representation of an integer.")}if(Wt.path!=null&&typeof Wt.path!=="string"){throw new on("Invalid URL path: the path must be a string or null/undefined.")}if(Wt.pathname!=null&&typeof Wt.pathname!=="string"){throw new on("Invalid URL pathname: the pathname must be a string or null/undefined.")}if(Wt.hostname!=null&&typeof Wt.hostname!=="string"){throw new on("Invalid URL hostname: the hostname must be a string or null/undefined.")}if(Wt.origin!=null&&typeof Wt.origin!=="string"){throw new on("Invalid URL origin: the origin must be a string or null/undefined.")}const Pt=Wt.port!=null?Wt.port:Wt.protocol==="https:"?443:80;let en=Wt.origin!=null?Wt.origin:`${Wt.protocol}//${Wt.hostname}:${Pt}`;let tn=Wt.path!=null?Wt.path:`${Wt.pathname||""}${Wt.search||""}`;if(en.endsWith("/")){en=en.substring(0,en.length-1)}if(tn&&!tn.startsWith("/")){tn=`/${tn}`}Wt=new URL(en+tn)}return Wt}function parseOrigin(Wt){Wt=parseURL(Wt);if(Wt.pathname!=="/"||Wt.search||Wt.hash){throw new on("invalid url")}return Wt}function getHostname(Wt){if(Wt[0]==="["){const Pt=Wt.indexOf("]");tn(Pt!==-1);return Wt.substring(1,Pt)}const Pt=Wt.indexOf(":");if(Pt===-1)return Wt;return Wt.substring(0,Pt)}function getServerName(Wt){if(!Wt){return null}tn.strictEqual(typeof Wt,"string");const Pt=getHostname(Wt);if(sn.isIP(Pt)){return""}return Pt}function deepClone(Wt){return JSON.parse(JSON.stringify(Wt))}function isAsyncIterable(Wt){return!!(Wt!=null&&typeof Wt[Symbol.asyncIterator]==="function")}function isIterable(Wt){return!!(Wt!=null&&(typeof Wt[Symbol.iterator]==="function"||typeof Wt[Symbol.asyncIterator]==="function"))}function bodyLength(Wt){if(Wt==null){return 0}else if(isStream(Wt)){const Pt=Wt._readableState;return Pt&&Pt.objectMode===false&&Pt.ended===true&&Number.isFinite(Pt.length)?Pt.length:null}else if(isBlobLike(Wt)){return Wt.size!=null?Wt.size:null}else if(isBuffer(Wt)){return Wt.byteLength}return null}function isDestroyed(Wt){return!Wt||!!(Wt.destroyed||Wt[nn])}function isReadableAborted(Wt){const Pt=Wt&&Wt._readableState;return isDestroyed(Wt)&&Pt&&!Pt.endEmitted}function destroy(Wt,Pt){if(Wt==null||!isStream(Wt)||isDestroyed(Wt)){return}if(typeof Wt.destroy==="function"){if(Object.getPrototypeOf(Wt).constructor===In){Wt.socket=null}Wt.destroy(Pt)}else if(Pt){process.nextTick(((Wt,Pt)=>{Wt.emit("error",Pt)}),Wt,Pt)}if(Wt.destroyed!==true){Wt[nn]=true}}const Gn=/timeout=(\d+)/;function parseKeepAliveTimeout(Wt){const Pt=Wt.toString().match(Gn);return Pt?parseInt(Pt[1],10)*1e3:null}function headerNameToString(Wt){return pn[Wt]||Wt.toLowerCase()}function parseHeaders(Wt,Pt={}){if(!Array.isArray(Wt))return Wt;for(let en=0;enWt.toString("utf8")))}else{Pt[tn]=Wt[en+1].toString("utf8")}}else{if(!Array.isArray(nn)){nn=[nn];Pt[tn]=nn}nn.push(Wt[en+1].toString("utf8"))}}if("content-length"in Pt&&"content-disposition"in Pt){Pt["content-disposition"]=Buffer.from(Pt["content-disposition"]).toString("latin1")}return Pt}function parseRawHeaders(Wt){const Pt=[];let en=false;let tn=-1;for(let nn=0;nn{Wt.close()}))}else{const Pt=Buffer.isBuffer(tn)?tn:Buffer.from(tn);Wt.enqueue(new Uint8Array(Pt))}return Wt.desiredSize>0},async cancel(Wt){await Pt.return()}},0)}function isFormDataLike(Wt){return Wt&&typeof Wt==="object"&&typeof Wt.append==="function"&&typeof Wt.delete==="function"&&typeof Wt.get==="function"&&typeof Wt.getAll==="function"&&typeof Wt.has==="function"&&typeof Wt.set==="function"&&Wt[Symbol.toStringTag]==="FormData"}function throwIfAborted(Wt){if(!Wt){return}if(typeof Wt.throwIfAborted==="function"){Wt.throwIfAborted()}else{if(Wt.aborted){const Wt=new Error("The operation was aborted");Wt.name="AbortError";throw Wt}}}function addAbortListener(Wt,Pt){if("addEventListener"in Wt){Wt.addEventListener("abort",Pt,{once:true});return()=>Wt.removeEventListener("abort",Pt)}Wt.addListener("abort",Pt);return()=>Wt.removeListener("abort",Pt)}const Zn=!!String.prototype.toWellFormed;function toUSVString(Wt){if(Zn){return`${Wt}`.toWellFormed()}else if(dn.toUSVString){return dn.toUSVString(Wt)}return`${Wt}`}function parseRangeHeader(Wt){if(Wt==null||Wt==="")return{start:0,end:null,size:null};const Pt=Wt?Wt.match(/^bytes (\d+)-(\d+)\/(\d+)?$/):null;return Pt?{start:parseInt(Pt[1]),end:Pt[2]?parseInt(Pt[2]):null,size:Pt[3]?parseInt(Pt[3]):null}:null}const An=Object.create(null);An.enumerable=true;Wt.exports={kEnumerableProperty:An,nop:nop,isDisturbed:isDisturbed,isErrored:isErrored,isReadable:isReadable,toUSVString:toUSVString,isReadableAborted:isReadableAborted,isBlobLike:isBlobLike,parseOrigin:parseOrigin,parseURL:parseURL,getServerName:getServerName,isStream:isStream,isIterable:isIterable,isAsyncIterable:isAsyncIterable,isDestroyed:isDestroyed,headerNameToString:headerNameToString,parseRawHeaders:parseRawHeaders,parseHeaders:parseHeaders,parseKeepAliveTimeout:parseKeepAliveTimeout,destroy:destroy,bodyLength:bodyLength,deepClone:deepClone,ReadableStreamFrom:ReadableStreamFrom,isBuffer:isBuffer,validateHandler:validateHandler,getSocketInfo:getSocketInfo,isFormDataLike:isFormDataLike,buildURL:buildURL,throwIfAborted:throwIfAborted,addAbortListener:addAbortListener,parseRangeHeader:parseRangeHeader,nodeMajor:mn,nodeMinor:bn,nodeHasAutoSelectFamily:mn>18||mn===18&&bn>=13,safeHTTPMethods:["GET","HEAD","OPTIONS","TRACE"]}},50001:(Wt,Pt,en)=>{const tn=en(28611);const{ClientDestroyedError:nn,ClientClosedError:an,InvalidArgumentError:In}=en(68707);const{kDestroy:rn,kClose:sn,kDispatch:on,kInterceptors:cn}=en(36443);const dn=Symbol("destroyed");const un=Symbol("closed");const pn=Symbol("onDestroyed");const mn=Symbol("onClosed");const bn=Symbol("Intercepted Dispatch");class DispatcherBase extends tn{constructor(){super();this[dn]=false;this[pn]=null;this[un]=false;this[mn]=[]}get destroyed(){return this[dn]}get closed(){return this[un]}get interceptors(){return this[cn]}set interceptors(Wt){if(Wt){for(let Pt=Wt.length-1;Pt>=0;Pt--){const Wt=this[cn][Pt];if(typeof Wt!=="function"){throw new In("interceptor must be an function")}}}this[cn]=Wt}close(Wt){if(Wt===undefined){return new Promise(((Wt,Pt)=>{this.close(((en,tn)=>en?Pt(en):Wt(tn)))}))}if(typeof Wt!=="function"){throw new In("invalid callback")}if(this[dn]){queueMicrotask((()=>Wt(new nn,null)));return}if(this[un]){if(this[mn]){this[mn].push(Wt)}else{queueMicrotask((()=>Wt(null,null)))}return}this[un]=true;this[mn].push(Wt);const onClosed=()=>{const Wt=this[mn];this[mn]=null;for(let Pt=0;Ptthis.destroy())).then((()=>{queueMicrotask(onClosed)}))}destroy(Wt,Pt){if(typeof Wt==="function"){Pt=Wt;Wt=null}if(Pt===undefined){return new Promise(((Pt,en)=>{this.destroy(Wt,((Wt,tn)=>Wt?en(Wt):Pt(tn)))}))}if(typeof Pt!=="function"){throw new In("invalid callback")}if(this[dn]){if(this[pn]){this[pn].push(Pt)}else{queueMicrotask((()=>Pt(null,null)))}return}if(!Wt){Wt=new nn}this[dn]=true;this[pn]=this[pn]||[];this[pn].push(Pt);const onDestroyed=()=>{const Wt=this[pn];this[pn]=null;for(let Pt=0;Pt{queueMicrotask(onDestroyed)}))}[bn](Wt,Pt){if(!this[cn]||this[cn].length===0){this[bn]=this[on];return this[on](Wt,Pt)}let en=this[on].bind(this);for(let Wt=this[cn].length-1;Wt>=0;Wt--){en=this[cn][Wt](en)}this[bn]=en;return en(Wt,Pt)}dispatch(Wt,Pt){if(!Pt||typeof Pt!=="object"){throw new In("handler must be an object")}try{if(!Wt||typeof Wt!=="object"){throw new In("opts must be an object.")}if(this[dn]||this[pn]){throw new nn}if(this[un]){throw new an}return this[bn](Wt,Pt)}catch(Wt){if(typeof Pt.onError!=="function"){throw new In("invalid onError method")}Pt.onError(Wt);return false}}}Wt.exports=DispatcherBase},28611:(Wt,Pt,en)=>{const tn=en(24434);class Dispatcher extends tn{dispatch(){throw new Error("not implemented")}close(){throw new Error("not implemented")}destroy(){throw new Error("not implemented")}}Wt.exports=Dispatcher},8923:(Wt,Pt,en)=>{const tn=en(89581);const nn=en(3440);const{ReadableStreamFrom:an,isBlobLike:In,isReadableStreamLike:rn,readableStreamClose:sn,createDeferredPromise:on,fullyReadBody:cn}=en(15523);const{FormData:dn}=en(43073);const{kState:un}=en(89710);const{webidl:pn}=en(74222);const{DOMException:mn,structuredClone:bn}=en(87326);const{Blob:Gn,File:hn}=en(20181);const{kBodyUsed:Zn}=en(36443);const An=en(42613);const{isErrored:Wn}=en(3440);const{isUint8Array:Nn,isArrayBuffer:gn}=en(98253);const{File:yn}=en(63041);const{parseMIMEType:vn,serializeAMimeType:Yn}=en(94322);let En=globalThis.ReadableStream;const Vn=hn??yn;const Rn=new TextEncoder;const wn=new TextDecoder;function extractBody(Wt,Pt=false){if(!En){En=en(63774).ReadableStream}let tn=null;if(Wt instanceof En){tn=Wt}else if(In(Wt)){tn=Wt.stream()}else{tn=new En({async pull(Wt){Wt.enqueue(typeof cn==="string"?Rn.encode(cn):cn);queueMicrotask((()=>sn(Wt)))},start(){},type:undefined})}An(rn(tn));let on=null;let cn=null;let dn=null;let un=null;if(typeof Wt==="string"){cn=Wt;un="text/plain;charset=UTF-8"}else if(Wt instanceof URLSearchParams){cn=Wt.toString();un="application/x-www-form-urlencoded;charset=UTF-8"}else if(gn(Wt)){cn=new Uint8Array(Wt.slice())}else if(ArrayBuffer.isView(Wt)){cn=new Uint8Array(Wt.buffer.slice(Wt.byteOffset,Wt.byteOffset+Wt.byteLength))}else if(nn.isFormDataLike(Wt)){const Pt=`----formdata-undici-0${`${Math.floor(Math.random()*1e11)}`.padStart(11,"0")}`;const en=`--${Pt}\r\nContent-Disposition: form-data` +/*! formdata-polyfill. MIT License. Jimmy Wärting */;const escape=Wt=>Wt.replace(/\n/g,"%0A").replace(/\r/g,"%0D").replace(/"/g,"%22");const normalizeLinefeeds=Wt=>Wt.replace(/\r?\n|\r/g,"\r\n");const tn=[];const nn=new Uint8Array([13,10]);dn=0;let an=false;for(const[Pt,In]of Wt){if(typeof In==="string"){const Wt=Rn.encode(en+`; name="${escape(normalizeLinefeeds(Pt))}"`+`\r\n\r\n${normalizeLinefeeds(In)}\r\n`);tn.push(Wt);dn+=Wt.byteLength}else{const Wt=Rn.encode(`${en}; name="${escape(normalizeLinefeeds(Pt))}"`+(In.name?`; filename="${escape(In.name)}"`:"")+"\r\n"+`Content-Type: ${In.type||"application/octet-stream"}\r\n\r\n`);tn.push(Wt,In,nn);if(typeof In.size==="number"){dn+=Wt.byteLength+In.size+nn.byteLength}else{an=true}}}const In=Rn.encode(`--${Pt}--`);tn.push(In);dn+=In.byteLength;if(an){dn=null}cn=Wt;on=async function*(){for(const Wt of tn){if(Wt.stream){yield*Wt.stream()}else{yield Wt}}};un="multipart/form-data; boundary="+Pt}else if(In(Wt)){cn=Wt;dn=Wt.size;if(Wt.type){un=Wt.type}}else if(typeof Wt[Symbol.asyncIterator]==="function"){if(Pt){throw new TypeError("keepalive")}if(nn.isDisturbed(Wt)||Wt.locked){throw new TypeError("Response body object should not be disturbed or locked")}tn=Wt instanceof En?Wt:an(Wt)}if(typeof cn==="string"||nn.isBuffer(cn)){dn=Buffer.byteLength(cn)}if(on!=null){let Pt;tn=new En({async start(){Pt=on(Wt)[Symbol.asyncIterator]()},async pull(Wt){const{value:en,done:nn}=await Pt.next();if(nn){queueMicrotask((()=>{Wt.close()}))}else{if(!Wn(tn)){Wt.enqueue(new Uint8Array(en))}}return Wt.desiredSize>0},async cancel(Wt){await Pt.return()},type:undefined})}const pn={stream:tn,source:cn,length:dn};return[pn,un]}function safelyExtractBody(Wt,Pt=false){if(!En){En=en(63774).ReadableStream}if(Wt instanceof En){An(!nn.isDisturbed(Wt),"The body has already been consumed.");An(!Wt.locked,"The stream is locked.")}return extractBody(Wt,Pt)}function cloneBody(Wt){const[Pt,en]=Wt.stream.tee();const tn=bn(en,{transfer:[en]});const[,nn]=tn.tee();Wt.stream=Pt;return{stream:nn,length:Wt.length,source:Wt.source}}async function*consumeBody(Wt){if(Wt){if(Nn(Wt)){yield Wt}else{const Pt=Wt.stream;if(nn.isDisturbed(Pt)){throw new TypeError("The body has already been consumed.")}if(Pt.locked){throw new TypeError("The stream is locked.")}Pt[Zn]=true;yield*Pt}}}function throwIfAborted(Wt){if(Wt.aborted){throw new mn("The operation was aborted.","AbortError")}}function bodyMixinMethods(Wt){const Pt={blob(){return specConsumeBody(this,(Wt=>{let Pt=bodyMimeType(this);if(Pt==="failure"){Pt=""}else if(Pt){Pt=Yn(Pt)}return new Gn([Wt],{type:Pt})}),Wt)},arrayBuffer(){return specConsumeBody(this,(Wt=>new Uint8Array(Wt).buffer),Wt)},text(){return specConsumeBody(this,utf8DecodeBytes,Wt)},json(){return specConsumeBody(this,parseJSONFromBytes,Wt)},async formData(){pn.brandCheck(this,Wt);throwIfAborted(this[un]);const Pt=this.headers.get("Content-Type");if(/multipart\/form-data/.test(Pt)){const Wt={};for(const[Pt,en]of this.headers)Wt[Pt.toLowerCase()]=en;const Pt=new dn;let en;try{en=new tn({headers:Wt,preservePath:true})}catch(Wt){throw new mn(`${Wt}`,"AbortError")}en.on("field",((Wt,en)=>{Pt.append(Wt,en)}));en.on("file",((Wt,en,tn,nn,an)=>{const In=[];if(nn==="base64"||nn.toLowerCase()==="base64"){let nn="";en.on("data",(Wt=>{nn+=Wt.toString().replace(/[\r\n]/gm,"");const Pt=nn.length-nn.length%4;In.push(Buffer.from(nn.slice(0,Pt),"base64"));nn=nn.slice(Pt)}));en.on("end",(()=>{In.push(Buffer.from(nn,"base64"));Pt.append(Wt,new Vn(In,tn,{type:an}))}))}else{en.on("data",(Wt=>{In.push(Wt)}));en.on("end",(()=>{Pt.append(Wt,new Vn(In,tn,{type:an}))}))}}));const nn=new Promise(((Wt,Pt)=>{en.on("finish",Wt);en.on("error",(Wt=>Pt(new TypeError(Wt))))}));if(this.body!==null)for await(const Wt of consumeBody(this[un].body))en.write(Wt);en.end();await nn;return Pt}else if(/application\/x-www-form-urlencoded/.test(Pt)){let Wt;try{let Pt="";const en=new TextDecoder("utf-8",{ignoreBOM:true});for await(const Wt of consumeBody(this[un].body)){if(!Nn(Wt)){throw new TypeError("Expected Uint8Array chunk")}Pt+=en.decode(Wt,{stream:true})}Pt+=en.decode();Wt=new URLSearchParams(Pt)}catch(Wt){throw Object.assign(new TypeError,{cause:Wt})}const Pt=new dn;for(const[en,tn]of Wt){Pt.append(en,tn)}return Pt}else{await Promise.resolve();throwIfAborted(this[un]);throw pn.errors.exception({header:`${Wt.name}.formData`,message:"Could not parse content as FormData."})}}};return Pt}function mixinBody(Wt){Object.assign(Wt.prototype,bodyMixinMethods(Wt))}async function specConsumeBody(Wt,Pt,en){pn.brandCheck(Wt,en);throwIfAborted(Wt[un]);if(bodyUnusable(Wt[un].body)){throw new TypeError("Body is unusable")}const tn=on();const errorSteps=Wt=>tn.reject(Wt);const successSteps=Wt=>{try{tn.resolve(Pt(Wt))}catch(Wt){errorSteps(Wt)}};if(Wt[un].body==null){successSteps(new Uint8Array);return tn.promise}await cn(Wt[un].body,successSteps,errorSteps);return tn.promise}function bodyUnusable(Wt){return Wt!=null&&(Wt.stream.locked||nn.isDisturbed(Wt.stream))}function utf8DecodeBytes(Wt){if(Wt.length===0){return""}if(Wt[0]===239&&Wt[1]===187&&Wt[2]===191){Wt=Wt.subarray(3)}const Pt=wn.decode(Wt);return Pt}function parseJSONFromBytes(Wt){return JSON.parse(utf8DecodeBytes(Wt))}function bodyMimeType(Wt){const{headersList:Pt}=Wt[un];const en=Pt.get("content-type");if(en===null){return"failure"}return vn(en)}Wt.exports={extractBody:extractBody,safelyExtractBody:safelyExtractBody,cloneBody:cloneBody,mixinBody:mixinBody}},87326:(Wt,Pt,en)=>{const{MessageChannel:tn,receiveMessageOnPort:nn}=en(28167);const an=["GET","HEAD","POST"];const In=new Set(an);const rn=[101,204,205,304];const sn=[301,302,303,307,308];const on=new Set(sn);const cn=["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"];const dn=new Set(cn);const un=["","no-referrer","no-referrer-when-downgrade","same-origin","origin","strict-origin","origin-when-cross-origin","strict-origin-when-cross-origin","unsafe-url"];const pn=new Set(un);const mn=["follow","manual","error"];const bn=["GET","HEAD","OPTIONS","TRACE"];const Gn=new Set(bn);const hn=["navigate","same-origin","no-cors","cors"];const Zn=["omit","same-origin","include"];const An=["default","no-store","reload","no-cache","force-cache","only-if-cached"];const Wn=["content-encoding","content-language","content-location","content-type","content-length"];const Nn=["half"];const gn=["CONNECT","TRACE","TRACK"];const yn=new Set(gn);const vn=["audio","audioworklet","font","image","manifest","paintworklet","script","style","track","video","xslt",""];const Yn=new Set(vn);const En=globalThis.DOMException??(()=>{try{atob("~")}catch(Wt){return Object.getPrototypeOf(Wt).constructor}})();let Vn;const Rn=globalThis.structuredClone??function structuredClone(Wt,Pt=undefined){if(arguments.length===0){throw new TypeError("missing argument")}if(!Vn){Vn=new tn}Vn.port1.unref();Vn.port2.unref();Vn.port1.postMessage(Wt,Pt?.transfer);return nn(Vn.port2).message};Wt.exports={DOMException:En,structuredClone:Rn,subresource:vn,forbiddenMethods:gn,requestBodyHeader:Wn,referrerPolicy:un,requestRedirect:mn,requestMode:hn,requestCredentials:Zn,requestCache:An,redirectStatus:sn,corsSafeListedMethods:an,nullBodyStatus:rn,safeMethods:bn,badPorts:cn,requestDuplex:Nn,subresourceSet:Yn,badPortsSet:dn,redirectStatusSet:on,corsSafeListedMethodsSet:In,safeMethodsSet:Gn,forbiddenMethodsSet:yn,referrerPolicySet:pn}},94322:(Wt,Pt,en)=>{const tn=en(42613);const{atob:nn}=en(20181);const{isomorphicDecode:an}=en(15523);const In=new TextEncoder;const rn=/^[!#$%&'*+-.^_|~A-Za-z0-9]+$/;const sn=/(\u000A|\u000D|\u0009|\u0020)/;const on=/[\u0009|\u0020-\u007E|\u0080-\u00FF]/;function dataURLProcessor(Wt){tn(Wt.protocol==="data:");let Pt=URLSerializer(Wt,true);Pt=Pt.slice(5);const en={position:0};let nn=collectASequenceOfCodePointsFast(",",Pt,en);const In=nn.length;nn=removeASCIIWhitespace(nn,true,true);if(en.position>=Pt.length){return"failure"}en.position++;const rn=Pt.slice(In+1);let sn=stringPercentDecode(rn);if(/;(\u0020){0,}base64$/i.test(nn)){const Wt=an(sn);sn=forgivingBase64(Wt);if(sn==="failure"){return"failure"}nn=nn.slice(0,-6);nn=nn.replace(/(\u0020)+$/,"");nn=nn.slice(0,-1)}if(nn.startsWith(";")){nn="text/plain"+nn}let on=parseMIMEType(nn);if(on==="failure"){on=parseMIMEType("text/plain;charset=US-ASCII")}return{mimeType:on,body:sn}}function URLSerializer(Wt,Pt=false){if(!Pt){return Wt.href}const en=Wt.href;const tn=Wt.hash.length;return tn===0?en:en.substring(0,en.length-tn)}function collectASequenceOfCodePoints(Wt,Pt,en){let tn="";while(en.positionWt.length){return"failure"}Pt.position++;let tn=collectASequenceOfCodePointsFast(";",Wt,Pt);tn=removeHTTPWhitespace(tn,false,true);if(tn.length===0||!rn.test(tn)){return"failure"}const nn=en.toLowerCase();const an=tn.toLowerCase();const In={type:nn,subtype:an,parameters:new Map,essence:`${nn}/${an}`};while(Pt.positionsn.test(Wt)),Wt,Pt);let en=collectASequenceOfCodePoints((Wt=>Wt!==";"&&Wt!=="="),Wt,Pt);en=en.toLowerCase();if(Pt.positionWt.length){break}let tn=null;if(Wt[Pt.position]==='"'){tn=collectAnHTTPQuotedString(Wt,Pt,true);collectASequenceOfCodePointsFast(";",Wt,Pt)}else{tn=collectASequenceOfCodePointsFast(";",Wt,Pt);tn=removeHTTPWhitespace(tn,false,true);if(tn.length===0){continue}}if(en.length!==0&&rn.test(en)&&(tn.length===0||on.test(tn))&&!In.parameters.has(en)){In.parameters.set(en,tn)}}return In}function forgivingBase64(Wt){Wt=Wt.replace(/[\u0009\u000A\u000C\u000D\u0020]/g,"");if(Wt.length%4===0){Wt=Wt.replace(/=?=$/,"")}if(Wt.length%4===1){return"failure"}if(/[^+/0-9A-Za-z]/.test(Wt)){return"failure"}const Pt=nn(Wt);const en=new Uint8Array(Pt.length);for(let Wt=0;WtWt!=='"'&&Wt!=="\\"),Wt,Pt);if(Pt.position>=Wt.length){break}const en=Wt[Pt.position];Pt.position++;if(en==="\\"){if(Pt.position>=Wt.length){an+="\\";break}an+=Wt[Pt.position];Pt.position++}else{tn(en==='"');break}}if(en){return an}return Wt.slice(nn,Pt.position)}function serializeAMimeType(Wt){tn(Wt!=="failure");const{parameters:Pt,essence:en}=Wt;let nn=en;for(let[Wt,en]of Pt.entries()){nn+=";";nn+=Wt;nn+="=";if(!rn.test(en)){en=en.replace(/(\\|")/g,"\\$1");en='"'+en;en+='"'}nn+=en}return nn}function isHTTPWhiteSpace(Wt){return Wt==="\r"||Wt==="\n"||Wt==="\t"||Wt===" "}function removeHTTPWhitespace(Wt,Pt=true,en=true){let tn=0;let nn=Wt.length-1;if(Pt){for(;tn0&&isHTTPWhiteSpace(Wt[nn]);nn--);}return Wt.slice(tn,nn+1)}function isASCIIWhitespace(Wt){return Wt==="\r"||Wt==="\n"||Wt==="\t"||Wt==="\f"||Wt===" "}function removeASCIIWhitespace(Wt,Pt=true,en=true){let tn=0;let nn=Wt.length-1;if(Pt){for(;tn0&&isASCIIWhitespace(Wt[nn]);nn--);}return Wt.slice(tn,nn+1)}Wt.exports={dataURLProcessor:dataURLProcessor,URLSerializer:URLSerializer,collectASequenceOfCodePoints:collectASequenceOfCodePoints,collectASequenceOfCodePointsFast:collectASequenceOfCodePointsFast,stringPercentDecode:stringPercentDecode,parseMIMEType:parseMIMEType,collectAnHTTPQuotedString:collectAnHTTPQuotedString,serializeAMimeType:serializeAMimeType}},63041:(Wt,Pt,en)=>{const{Blob:tn,File:nn}=en(20181);const{types:an}=en(39023);const{kState:In}=en(89710);const{isBlobLike:rn}=en(15523);const{webidl:sn}=en(74222);const{parseMIMEType:on,serializeAMimeType:cn}=en(94322);const{kEnumerableProperty:dn}=en(3440);const un=new TextEncoder;class File extends tn{constructor(Wt,Pt,en={}){sn.argumentLengthCheck(arguments,2,{header:"File constructor"});Wt=sn.converters["sequence"](Wt);Pt=sn.converters.USVString(Pt);en=sn.converters.FilePropertyBag(en);const tn=Pt;let nn=en.type;let an;e:{if(nn){nn=on(nn);if(nn==="failure"){nn="";break e}nn=cn(nn).toLowerCase()}an=en.lastModified}super(processBlobParts(Wt,en),{type:nn});this[In]={name:tn,lastModified:an,type:nn}}get name(){sn.brandCheck(this,File);return this[In].name}get lastModified(){sn.brandCheck(this,File);return this[In].lastModified}get type(){sn.brandCheck(this,File);return this[In].type}}class FileLike{constructor(Wt,Pt,en={}){const tn=Pt;const nn=en.type;const an=en.lastModified??Date.now();this[In]={blobLike:Wt,name:tn,type:nn,lastModified:an}}stream(...Wt){sn.brandCheck(this,FileLike);return this[In].blobLike.stream(...Wt)}arrayBuffer(...Wt){sn.brandCheck(this,FileLike);return this[In].blobLike.arrayBuffer(...Wt)}slice(...Wt){sn.brandCheck(this,FileLike);return this[In].blobLike.slice(...Wt)}text(...Wt){sn.brandCheck(this,FileLike);return this[In].blobLike.text(...Wt)}get size(){sn.brandCheck(this,FileLike);return this[In].blobLike.size}get type(){sn.brandCheck(this,FileLike);return this[In].blobLike.type}get name(){sn.brandCheck(this,FileLike);return this[In].name}get lastModified(){sn.brandCheck(this,FileLike);return this[In].lastModified}get[Symbol.toStringTag](){return"File"}}Object.defineProperties(File.prototype,{[Symbol.toStringTag]:{value:"File",configurable:true},name:dn,lastModified:dn});sn.converters.Blob=sn.interfaceConverter(tn);sn.converters.BlobPart=function(Wt,Pt){if(sn.util.Type(Wt)==="Object"){if(rn(Wt)){return sn.converters.Blob(Wt,{strict:false})}if(ArrayBuffer.isView(Wt)||an.isAnyArrayBuffer(Wt)){return sn.converters.BufferSource(Wt,Pt)}}return sn.converters.USVString(Wt,Pt)};sn.converters["sequence"]=sn.sequenceConverter(sn.converters.BlobPart);sn.converters.FilePropertyBag=sn.dictionaryConverter([{key:"lastModified",converter:sn.converters["long long"],get defaultValue(){return Date.now()}},{key:"type",converter:sn.converters.DOMString,defaultValue:""},{key:"endings",converter:Wt=>{Wt=sn.converters.DOMString(Wt);Wt=Wt.toLowerCase();if(Wt!=="native"){Wt="transparent"}return Wt},defaultValue:"transparent"}]);function processBlobParts(Wt,Pt){const en=[];for(const tn of Wt){if(typeof tn==="string"){let Wt=tn;if(Pt.endings==="native"){Wt=convertLineEndingsNative(Wt)}en.push(un.encode(Wt))}else if(an.isAnyArrayBuffer(tn)||an.isTypedArray(tn)){if(!tn.buffer){en.push(new Uint8Array(tn))}else{en.push(new Uint8Array(tn.buffer,tn.byteOffset,tn.byteLength))}}else if(rn(tn)){en.push(tn)}}return en}function convertLineEndingsNative(Wt){let Pt="\n";if(process.platform==="win32"){Pt="\r\n"}return Wt.replace(/\r?\n/g,Pt)}function isFileLike(Wt){return nn&&Wt instanceof nn||Wt instanceof File||Wt&&(typeof Wt.stream==="function"||typeof Wt.arrayBuffer==="function")&&Wt[Symbol.toStringTag]==="File"}Wt.exports={File:File,FileLike:FileLike,isFileLike:isFileLike}},43073:(Wt,Pt,en)=>{const{isBlobLike:tn,toUSVString:nn,makeIterator:an}=en(15523);const{kState:In}=en(89710);const{File:rn,FileLike:sn,isFileLike:on}=en(63041);const{webidl:cn}=en(74222);const{Blob:dn,File:un}=en(20181);const pn=un??rn;class FormData{constructor(Wt){if(Wt!==undefined){throw cn.errors.conversionFailed({prefix:"FormData constructor",argument:"Argument 1",types:["undefined"]})}this[In]=[]}append(Wt,Pt,en=undefined){cn.brandCheck(this,FormData);cn.argumentLengthCheck(arguments,2,{header:"FormData.append"});if(arguments.length===3&&!tn(Pt)){throw new TypeError("Failed to execute 'append' on 'FormData': parameter 2 is not of type 'Blob'")}Wt=cn.converters.USVString(Wt);Pt=tn(Pt)?cn.converters.Blob(Pt,{strict:false}):cn.converters.USVString(Pt);en=arguments.length===3?cn.converters.USVString(en):undefined;const nn=makeEntry(Wt,Pt,en);this[In].push(nn)}delete(Wt){cn.brandCheck(this,FormData);cn.argumentLengthCheck(arguments,1,{header:"FormData.delete"});Wt=cn.converters.USVString(Wt);this[In]=this[In].filter((Pt=>Pt.name!==Wt))}get(Wt){cn.brandCheck(this,FormData);cn.argumentLengthCheck(arguments,1,{header:"FormData.get"});Wt=cn.converters.USVString(Wt);const Pt=this[In].findIndex((Pt=>Pt.name===Wt));if(Pt===-1){return null}return this[In][Pt].value}getAll(Wt){cn.brandCheck(this,FormData);cn.argumentLengthCheck(arguments,1,{header:"FormData.getAll"});Wt=cn.converters.USVString(Wt);return this[In].filter((Pt=>Pt.name===Wt)).map((Wt=>Wt.value))}has(Wt){cn.brandCheck(this,FormData);cn.argumentLengthCheck(arguments,1,{header:"FormData.has"});Wt=cn.converters.USVString(Wt);return this[In].findIndex((Pt=>Pt.name===Wt))!==-1}set(Wt,Pt,en=undefined){cn.brandCheck(this,FormData);cn.argumentLengthCheck(arguments,2,{header:"FormData.set"});if(arguments.length===3&&!tn(Pt)){throw new TypeError("Failed to execute 'set' on 'FormData': parameter 2 is not of type 'Blob'")}Wt=cn.converters.USVString(Wt);Pt=tn(Pt)?cn.converters.Blob(Pt,{strict:false}):cn.converters.USVString(Pt);en=arguments.length===3?nn(en):undefined;const an=makeEntry(Wt,Pt,en);const rn=this[In].findIndex((Pt=>Pt.name===Wt));if(rn!==-1){this[In]=[...this[In].slice(0,rn),an,...this[In].slice(rn+1).filter((Pt=>Pt.name!==Wt))]}else{this[In].push(an)}}entries(){cn.brandCheck(this,FormData);return an((()=>this[In].map((Wt=>[Wt.name,Wt.value]))),"FormData","key+value")}keys(){cn.brandCheck(this,FormData);return an((()=>this[In].map((Wt=>[Wt.name,Wt.value]))),"FormData","key")}values(){cn.brandCheck(this,FormData);return an((()=>this[In].map((Wt=>[Wt.name,Wt.value]))),"FormData","value")}forEach(Wt,Pt=globalThis){cn.brandCheck(this,FormData);cn.argumentLengthCheck(arguments,1,{header:"FormData.forEach"});if(typeof Wt!=="function"){throw new TypeError("Failed to execute 'forEach' on 'FormData': parameter 1 is not of type 'Function'.")}for(const[en,tn]of this){Wt.apply(Pt,[tn,en,this])}}}FormData.prototype[Symbol.iterator]=FormData.prototype.entries;Object.defineProperties(FormData.prototype,{[Symbol.toStringTag]:{value:"FormData",configurable:true}});function makeEntry(Wt,Pt,en){Wt=Buffer.from(Wt).toString("utf8");if(typeof Pt==="string"){Pt=Buffer.from(Pt).toString("utf8")}else{if(!on(Pt)){Pt=Pt instanceof dn?new pn([Pt],"blob",{type:Pt.type}):new sn(Pt,"blob",{type:Pt.type})}if(en!==undefined){const Wt={type:Pt.type,lastModified:Pt.lastModified};Pt=un&&Pt instanceof un||Pt instanceof rn?new pn([Pt],en,Wt):new sn(Pt,en,Wt)}}return{name:Wt,value:Pt}}Wt.exports={FormData:FormData}},75628:Wt=>{const Pt=Symbol.for("undici.globalOrigin.1");function getGlobalOrigin(){return globalThis[Pt]}function setGlobalOrigin(Wt){if(Wt===undefined){Object.defineProperty(globalThis,Pt,{value:undefined,writable:true,enumerable:false,configurable:false});return}const en=new URL(Wt);if(en.protocol!=="http:"&&en.protocol!=="https:"){throw new TypeError(`Only http & https urls are allowed, received ${en.protocol}`)}Object.defineProperty(globalThis,Pt,{value:en,writable:true,enumerable:false,configurable:false})}Wt.exports={getGlobalOrigin:getGlobalOrigin,setGlobalOrigin:setGlobalOrigin}},26349:(Wt,Pt,en)=>{const{kHeadersList:tn,kConstruct:nn}=en(36443);const{kGuard:an}=en(89710);const{kEnumerableProperty:In}=en(3440);const{makeIterator:rn,isValidHeaderName:sn,isValidHeaderValue:on}=en(15523);const{webidl:cn}=en(74222);const dn=en(42613);const un=Symbol("headers map");const pn=Symbol("headers map sorted");function isHTTPWhiteSpaceCharCode(Wt){return Wt===10||Wt===13||Wt===9||Wt===32}function headerValueNormalize(Wt){let Pt=0;let en=Wt.length;while(en>Pt&&isHTTPWhiteSpaceCharCode(Wt.charCodeAt(en-1)))--en;while(en>Pt&&isHTTPWhiteSpaceCharCode(Wt.charCodeAt(Pt)))++Pt;return Pt===0&&en===Wt.length?Wt:Wt.substring(Pt,en)}function fill(Wt,Pt){if(Array.isArray(Pt)){for(let en=0;en>","record"]})}}function appendHeader(Wt,Pt,en){en=headerValueNormalize(en);if(!sn(Pt)){throw cn.errors.invalidArgument({prefix:"Headers.append",value:Pt,type:"header name"})}else if(!on(en)){throw cn.errors.invalidArgument({prefix:"Headers.append",value:en,type:"header value"})}if(Wt[an]==="immutable"){throw new TypeError("immutable")}else if(Wt[an]==="request-no-cors"){}return Wt[tn].append(Pt,en)}class HeadersList{cookies=null;constructor(Wt){if(Wt instanceof HeadersList){this[un]=new Map(Wt[un]);this[pn]=Wt[pn];this.cookies=Wt.cookies===null?null:[...Wt.cookies]}else{this[un]=new Map(Wt);this[pn]=null}}contains(Wt){Wt=Wt.toLowerCase();return this[un].has(Wt)}clear(){this[un].clear();this[pn]=null;this.cookies=null}append(Wt,Pt){this[pn]=null;const en=Wt.toLowerCase();const tn=this[un].get(en);if(tn){const Wt=en==="cookie"?"; ":", ";this[un].set(en,{name:tn.name,value:`${tn.value}${Wt}${Pt}`})}else{this[un].set(en,{name:Wt,value:Pt})}if(en==="set-cookie"){this.cookies??=[];this.cookies.push(Pt)}}set(Wt,Pt){this[pn]=null;const en=Wt.toLowerCase();if(en==="set-cookie"){this.cookies=[Pt]}this[un].set(en,{name:Wt,value:Pt})}delete(Wt){this[pn]=null;Wt=Wt.toLowerCase();if(Wt==="set-cookie"){this.cookies=null}this[un].delete(Wt)}get(Wt){const Pt=this[un].get(Wt.toLowerCase());return Pt===undefined?null:Pt.value}*[Symbol.iterator](){for(const[Wt,{value:Pt}]of this[un]){yield[Wt,Pt]}}get entries(){const Wt={};if(this[un].size){for(const{name:Pt,value:en}of this[un].values()){Wt[Pt]=en}}return Wt}}class Headers{constructor(Wt=undefined){if(Wt===nn){return}this[tn]=new HeadersList;this[an]="none";if(Wt!==undefined){Wt=cn.converters.HeadersInit(Wt);fill(this,Wt)}}append(Wt,Pt){cn.brandCheck(this,Headers);cn.argumentLengthCheck(arguments,2,{header:"Headers.append"});Wt=cn.converters.ByteString(Wt);Pt=cn.converters.ByteString(Pt);return appendHeader(this,Wt,Pt)}delete(Wt){cn.brandCheck(this,Headers);cn.argumentLengthCheck(arguments,1,{header:"Headers.delete"});Wt=cn.converters.ByteString(Wt);if(!sn(Wt)){throw cn.errors.invalidArgument({prefix:"Headers.delete",value:Wt,type:"header name"})}if(this[an]==="immutable"){throw new TypeError("immutable")}else if(this[an]==="request-no-cors"){}if(!this[tn].contains(Wt)){return}this[tn].delete(Wt)}get(Wt){cn.brandCheck(this,Headers);cn.argumentLengthCheck(arguments,1,{header:"Headers.get"});Wt=cn.converters.ByteString(Wt);if(!sn(Wt)){throw cn.errors.invalidArgument({prefix:"Headers.get",value:Wt,type:"header name"})}return this[tn].get(Wt)}has(Wt){cn.brandCheck(this,Headers);cn.argumentLengthCheck(arguments,1,{header:"Headers.has"});Wt=cn.converters.ByteString(Wt);if(!sn(Wt)){throw cn.errors.invalidArgument({prefix:"Headers.has",value:Wt,type:"header name"})}return this[tn].contains(Wt)}set(Wt,Pt){cn.brandCheck(this,Headers);cn.argumentLengthCheck(arguments,2,{header:"Headers.set"});Wt=cn.converters.ByteString(Wt);Pt=cn.converters.ByteString(Pt);Pt=headerValueNormalize(Pt);if(!sn(Wt)){throw cn.errors.invalidArgument({prefix:"Headers.set",value:Wt,type:"header name"})}else if(!on(Pt)){throw cn.errors.invalidArgument({prefix:"Headers.set",value:Pt,type:"header value"})}if(this[an]==="immutable"){throw new TypeError("immutable")}else if(this[an]==="request-no-cors"){}this[tn].set(Wt,Pt)}getSetCookie(){cn.brandCheck(this,Headers);const Wt=this[tn].cookies;if(Wt){return[...Wt]}return[]}get[pn](){if(this[tn][pn]){return this[tn][pn]}const Wt=[];const Pt=[...this[tn]].sort(((Wt,Pt)=>Wt[0]Wt),"Headers","key")}return rn((()=>[...this[pn].values()]),"Headers","key")}values(){cn.brandCheck(this,Headers);if(this[an]==="immutable"){const Wt=this[pn];return rn((()=>Wt),"Headers","value")}return rn((()=>[...this[pn].values()]),"Headers","value")}entries(){cn.brandCheck(this,Headers);if(this[an]==="immutable"){const Wt=this[pn];return rn((()=>Wt),"Headers","key+value")}return rn((()=>[...this[pn].values()]),"Headers","key+value")}forEach(Wt,Pt=globalThis){cn.brandCheck(this,Headers);cn.argumentLengthCheck(arguments,1,{header:"Headers.forEach"});if(typeof Wt!=="function"){throw new TypeError("Failed to execute 'forEach' on 'Headers': parameter 1 is not of type 'Function'.")}for(const[en,tn]of this){Wt.apply(Pt,[tn,en,this])}}[Symbol.for("nodejs.util.inspect.custom")](){cn.brandCheck(this,Headers);return this[tn]}}Headers.prototype[Symbol.iterator]=Headers.prototype.entries;Object.defineProperties(Headers.prototype,{append:In,delete:In,get:In,has:In,set:In,getSetCookie:In,keys:In,values:In,entries:In,forEach:In,[Symbol.iterator]:{enumerable:false},[Symbol.toStringTag]:{value:"Headers",configurable:true}});cn.converters.HeadersInit=function(Wt){if(cn.util.Type(Wt)==="Object"){if(Wt[Symbol.iterator]){return cn.converters["sequence>"](Wt)}return cn.converters["record"](Wt)}throw cn.errors.conversionFailed({prefix:"Headers constructor",argument:"Argument 1",types:["sequence>","record"]})};Wt.exports={fill:fill,Headers:Headers,HeadersList:HeadersList}},12315:(Wt,Pt,en)=>{const{Response:tn,makeNetworkError:nn,makeAppropriateNetworkError:an,filterResponse:In,makeResponse:rn}=en(48676);const{Headers:sn}=en(26349);const{Request:on,makeRequest:cn}=en(25194);const dn=en(43106);const{bytesMatch:un,makePolicyContainer:pn,clonePolicyContainer:mn,requestBadPort:bn,TAOCheck:Gn,appendRequestOriginHeader:hn,responseLocationURL:Zn,requestCurrentURL:An,setRequestReferrerPolicyOnRedirect:Wn,tryUpgradeRequestToAPotentiallyTrustworthyURL:Nn,createOpaqueTimingInfo:gn,appendFetchMetadata:yn,corsCheck:vn,crossOriginResourcePolicyCheck:Yn,determineRequestsReferrer:En,coarsenedSharedCurrentTime:Vn,createDeferredPromise:Rn,isBlobLike:wn,sameOrigin:Fn,isCancelled:Qn,isAborted:fn,isErrorLike:Hn,fullyReadBody:Cn,readableStreamClose:Xn,isomorphicEncode:kn,urlIsLocal:Jn,urlIsHttpHttpsScheme:Ln,urlHasHttpsScheme:Bn}=en(15523);const{kState:xn,kHeaders:On,kGuard:Tn,kRealm:Un}=en(89710);const Mn=en(42613);const{safelyExtractBody:zn}=en(8923);const{redirectStatusSet:Sn,nullBodyStatus:Dn,safeMethodsSet:jn,requestBodyHeader:_n,subresourceSet:Kn,DOMException:Pn}=en(87326);const{kHeadersList:qn}=en(36443);const $n=en(24434);const{Readable:el,pipeline:tl}=en(2203);const{addAbortListener:nl,isErrored:ll,isReadable:al,nodeMajor:Il,nodeMinor:rl}=en(3440);const{dataURLProcessor:sl,serializeAMimeType:ol}=en(94322);const{TransformStream:cl}=en(63774);const{getGlobalDispatcher:il}=en(32581);const{webidl:dl}=en(74222);const{STATUS_CODES:ul}=en(58611);const pl=["GET","HEAD"];let ml;let bl=globalThis.ReadableStream;class Fetch extends $n{constructor(Wt){super();this.dispatcher=Wt;this.connection=null;this.dump=false;this.state="ongoing";this.setMaxListeners(21)}terminate(Wt){if(this.state!=="ongoing"){return}this.state="terminated";this.connection?.destroy(Wt);this.emit("terminated",Wt)}abort(Wt){if(this.state!=="ongoing"){return}this.state="aborted";if(!Wt){Wt=new Pn("The operation was aborted.","AbortError")}this.serializedAbortReason=Wt;this.connection?.destroy(Wt);this.emit("terminated",Wt)}}function fetch(Wt,Pt={}){dl.argumentLengthCheck(arguments,1,{header:"globalThis.fetch"});const en=Rn();let nn;try{nn=new on(Wt,Pt)}catch(Wt){en.reject(Wt);return en.promise}const an=nn[xn];if(nn.signal.aborted){abortFetch(en,an,null,nn.signal.reason);return en.promise}const In=an.client.globalObject;if(In?.constructor?.name==="ServiceWorkerGlobalScope"){an.serviceWorkers="none"}let rn=null;const sn=null;let cn=false;let dn=null;nl(nn.signal,(()=>{cn=true;Mn(dn!=null);dn.abort(nn.signal.reason);abortFetch(en,an,rn,nn.signal.reason)}));const handleFetchDone=Wt=>finalizeAndReportTiming(Wt,"fetch");const processResponse=Wt=>{if(cn){return Promise.resolve()}if(Wt.aborted){abortFetch(en,an,rn,dn.serializedAbortReason);return Promise.resolve()}if(Wt.type==="error"){en.reject(Object.assign(new TypeError("fetch failed"),{cause:Wt.error}));return Promise.resolve()}rn=new tn;rn[xn]=Wt;rn[Un]=sn;rn[On][qn]=Wt.headersList;rn[On][Tn]="immutable";rn[On][Un]=sn;en.resolve(rn)};dn=fetching({request:an,processResponseEndOfBody:handleFetchDone,processResponse:processResponse,dispatcher:Pt.dispatcher??il()});return en.promise}function finalizeAndReportTiming(Wt,Pt="other"){if(Wt.type==="error"&&Wt.aborted){return}if(!Wt.urlList?.length){return}const en=Wt.urlList[0];let tn=Wt.timingInfo;let nn=Wt.cacheState;if(!Ln(en)){return}if(tn===null){return}if(!Wt.timingAllowPassed){tn=gn({startTime:tn.startTime});nn=""}tn.endTime=Vn();Wt.timingInfo=tn;markResourceTiming(tn,en,Pt,globalThis,nn)}function markResourceTiming(Wt,Pt,en,tn,nn){if(Il>18||Il===18&&rl>=2){performance.markResourceTiming(Wt,Pt.href,en,tn,nn)}}function abortFetch(Wt,Pt,en,tn){if(!tn){tn=new Pn("The operation was aborted.","AbortError")}Wt.reject(tn);if(Pt.body!=null&&al(Pt.body?.stream)){Pt.body.stream.cancel(tn).catch((Wt=>{if(Wt.code==="ERR_INVALID_STATE"){return}throw Wt}))}if(en==null){return}const nn=en[xn];if(nn.body!=null&&al(nn.body?.stream)){nn.body.stream.cancel(tn).catch((Wt=>{if(Wt.code==="ERR_INVALID_STATE"){return}throw Wt}))}}function fetching({request:Wt,processRequestBodyChunkLength:Pt,processRequestEndOfBody:en,processResponse:tn,processResponseEndOfBody:nn,processResponseConsumeBody:an,useParallelQueue:In=false,dispatcher:rn}){let sn=null;let on=false;if(Wt.client!=null){sn=Wt.client.globalObject;on=Wt.client.crossOriginIsolatedCapability}const cn=Vn(on);const dn=gn({startTime:cn});const un={controller:new Fetch(rn),request:Wt,timingInfo:dn,processRequestBodyChunkLength:Pt,processRequestEndOfBody:en,processResponse:tn,processResponseConsumeBody:an,processResponseEndOfBody:nn,taskDestination:sn,crossOriginIsolatedCapability:on};Mn(!Wt.body||Wt.body.stream);if(Wt.window==="client"){Wt.window=Wt.client?.globalObject?.constructor?.name==="Window"?Wt.client:"no-window"}if(Wt.origin==="client"){Wt.origin=Wt.client?.origin}if(Wt.policyContainer==="client"){if(Wt.client!=null){Wt.policyContainer=mn(Wt.client.policyContainer)}else{Wt.policyContainer=pn()}}if(!Wt.headersList.contains("accept")){const Pt="*/*";Wt.headersList.append("accept",Pt)}if(!Wt.headersList.contains("accept-language")){Wt.headersList.append("accept-language","*")}if(Wt.priority===null){}if(Kn.has(Wt.destination)){}mainFetch(un).catch((Wt=>{un.controller.terminate(Wt)}));return un.controller}async function mainFetch(Wt,Pt=false){const en=Wt.request;let tn=null;if(en.localURLsOnly&&!Jn(An(en))){tn=nn("local URLs only")}Nn(en);if(bn(en)==="blocked"){tn=nn("bad port")}if(en.referrerPolicy===""){en.referrerPolicy=en.policyContainer.referrerPolicy}if(en.referrer!=="no-referrer"){en.referrer=En(en)}if(tn===null){tn=await(async()=>{const Pt=An(en);if(Fn(Pt,en.url)&&en.responseTainting==="basic"||Pt.protocol==="data:"||(en.mode==="navigate"||en.mode==="websocket")){en.responseTainting="basic";return await schemeFetch(Wt)}if(en.mode==="same-origin"){return nn('request mode cannot be "same-origin"')}if(en.mode==="no-cors"){if(en.redirect!=="follow"){return nn('redirect mode cannot be "follow" for "no-cors" request')}en.responseTainting="opaque";return await schemeFetch(Wt)}if(!Ln(An(en))){return nn("URL scheme must be a HTTP(S) scheme")}en.responseTainting="cors";return await httpFetch(Wt)})()}if(Pt){return tn}if(tn.status!==0&&!tn.internalResponse){if(en.responseTainting==="cors"){}if(en.responseTainting==="basic"){tn=In(tn,"basic")}else if(en.responseTainting==="cors"){tn=In(tn,"cors")}else if(en.responseTainting==="opaque"){tn=In(tn,"opaque")}else{Mn(false)}}let an=tn.status===0?tn:tn.internalResponse;if(an.urlList.length===0){an.urlList.push(...en.urlList)}if(!en.timingAllowFailed){tn.timingAllowPassed=true}if(tn.type==="opaque"&&an.status===206&&an.rangeRequested&&!en.headers.contains("range")){tn=an=nn()}if(tn.status!==0&&(en.method==="HEAD"||en.method==="CONNECT"||Dn.includes(an.status))){an.body=null;Wt.controller.dump=true}if(en.integrity){const processBodyError=Pt=>fetchFinale(Wt,nn(Pt));if(en.responseTainting==="opaque"||tn.body==null){processBodyError(tn.error);return}const processBody=Pt=>{if(!un(Pt,en.integrity)){processBodyError("integrity mismatch");return}tn.body=zn(Pt)[0];fetchFinale(Wt,tn)};await Cn(tn.body,processBody,processBodyError)}else{fetchFinale(Wt,tn)}}function schemeFetch(Wt){if(Qn(Wt)&&Wt.request.redirectCount===0){return Promise.resolve(an(Wt))}const{request:Pt}=Wt;const{protocol:tn}=An(Pt);switch(tn){case"about:":{return Promise.resolve(nn("about scheme is not supported"))}case"blob:":{if(!ml){ml=en(20181).resolveObjectURL}const Wt=An(Pt);if(Wt.search.length!==0){return Promise.resolve(nn("NetworkError when attempting to fetch resource."))}const tn=ml(Wt.toString());if(Pt.method!=="GET"||!wn(tn)){return Promise.resolve(nn("invalid method"))}const an=zn(tn);const In=an[0];const sn=kn(`${In.length}`);const on=an[1]??"";const cn=rn({statusText:"OK",headersList:[["content-length",{name:"Content-Length",value:sn}],["content-type",{name:"Content-Type",value:on}]]});cn.body=In;return Promise.resolve(cn)}case"data:":{const Wt=An(Pt);const en=sl(Wt);if(en==="failure"){return Promise.resolve(nn("failed to fetch the data URL"))}const tn=ol(en.mimeType);return Promise.resolve(rn({statusText:"OK",headersList:[["content-type",{name:"Content-Type",value:tn}]],body:zn(en.body)[0]}))}case"file:":{return Promise.resolve(nn("not implemented... yet..."))}case"http:":case"https:":{return httpFetch(Wt).catch((Wt=>nn(Wt)))}default:{return Promise.resolve(nn("unknown scheme"))}}}function finalizeResponse(Wt,Pt){Wt.request.done=true;if(Wt.processResponseDone!=null){queueMicrotask((()=>Wt.processResponseDone(Pt)))}}function fetchFinale(Wt,Pt){if(Pt.type==="error"){Pt.urlList=[Wt.request.urlList[0]];Pt.timingInfo=gn({startTime:Wt.timingInfo.startTime})}const processResponseEndOfBody=()=>{Wt.request.done=true;if(Wt.processResponseEndOfBody!=null){queueMicrotask((()=>Wt.processResponseEndOfBody(Pt)))}};if(Wt.processResponse!=null){queueMicrotask((()=>Wt.processResponse(Pt)))}if(Pt.body==null){processResponseEndOfBody()}else{const identityTransformAlgorithm=(Wt,Pt)=>{Pt.enqueue(Wt)};const Wt=new cl({start(){},transform:identityTransformAlgorithm,flush:processResponseEndOfBody},{size(){return 1}},{size(){return 1}});Pt.body={stream:Pt.body.stream.pipeThrough(Wt)}}if(Wt.processResponseConsumeBody!=null){const processBody=en=>Wt.processResponseConsumeBody(Pt,en);const processBodyError=en=>Wt.processResponseConsumeBody(Pt,en);if(Pt.body==null){queueMicrotask((()=>processBody(null)))}else{return Cn(Pt.body,processBody,processBodyError)}return Promise.resolve()}}async function httpFetch(Wt){const Pt=Wt.request;let en=null;let tn=null;const an=Wt.timingInfo;if(Pt.serviceWorkers==="all"){}if(en===null){if(Pt.redirect==="follow"){Pt.serviceWorkers="none"}tn=en=await httpNetworkOrCacheFetch(Wt);if(Pt.responseTainting==="cors"&&vn(Pt,en)==="failure"){return nn("cors failure")}if(Gn(Pt,en)==="failure"){Pt.timingAllowFailed=true}}if((Pt.responseTainting==="opaque"||en.type==="opaque")&&Yn(Pt.origin,Pt.client,Pt.destination,tn)==="blocked"){return nn("blocked")}if(Sn.has(tn.status)){if(Pt.redirect!=="manual"){Wt.controller.connection.destroy()}if(Pt.redirect==="error"){en=nn("unexpected redirect")}else if(Pt.redirect==="manual"){en=tn}else if(Pt.redirect==="follow"){en=await httpRedirectFetch(Wt,en)}else{Mn(false)}}en.timingInfo=an;return en}function httpRedirectFetch(Wt,Pt){const en=Wt.request;const tn=Pt.internalResponse?Pt.internalResponse:Pt;let an;try{an=Zn(tn,An(en).hash);if(an==null){return Pt}}catch(Wt){return Promise.resolve(nn(Wt))}if(!Ln(an)){return Promise.resolve(nn("URL scheme must be a HTTP(S) scheme"))}if(en.redirectCount===20){return Promise.resolve(nn("redirect count exceeded"))}en.redirectCount+=1;if(en.mode==="cors"&&(an.username||an.password)&&!Fn(en,an)){return Promise.resolve(nn('cross origin not allowed for request mode "cors"'))}if(en.responseTainting==="cors"&&(an.username||an.password)){return Promise.resolve(nn('URL cannot contain credentials for request mode "cors"'))}if(tn.status!==303&&en.body!=null&&en.body.source==null){return Promise.resolve(nn())}if([301,302].includes(tn.status)&&en.method==="POST"||tn.status===303&&!pl.includes(en.method)){en.method="GET";en.body=null;for(const Wt of _n){en.headersList.delete(Wt)}}if(!Fn(An(en),an)){en.headersList.delete("authorization");en.headersList.delete("proxy-authorization",true);en.headersList.delete("cookie");en.headersList.delete("host")}if(en.body!=null){Mn(en.body.source!=null);en.body=zn(en.body.source)[0]}const In=Wt.timingInfo;In.redirectEndTime=In.postRedirectStartTime=Vn(Wt.crossOriginIsolatedCapability);if(In.redirectStartTime===0){In.redirectStartTime=In.startTime}en.urlList.push(an);Wn(en,tn);return mainFetch(Wt,true)}async function httpNetworkOrCacheFetch(Wt,Pt=false,en=false){const tn=Wt.request;let In=null;let rn=null;let sn=null;const on=null;const dn=false;if(tn.window==="no-window"&&tn.redirect==="error"){In=Wt;rn=tn}else{rn=cn(tn);In={...Wt};In.request=rn}const un=tn.credentials==="include"||tn.credentials==="same-origin"&&tn.responseTainting==="basic";const pn=rn.body?rn.body.length:null;let mn=null;if(rn.body==null&&["POST","PUT"].includes(rn.method)){mn="0"}if(pn!=null){mn=kn(`${pn}`)}if(mn!=null){rn.headersList.append("content-length",mn)}if(pn!=null&&rn.keepalive){}if(rn.referrer instanceof URL){rn.headersList.append("referer",kn(rn.referrer.href))}hn(rn);yn(rn);if(!rn.headersList.contains("user-agent")){rn.headersList.append("user-agent",typeof esbuildDetection==="undefined"?"undici":"node")}if(rn.cache==="default"&&(rn.headersList.contains("if-modified-since")||rn.headersList.contains("if-none-match")||rn.headersList.contains("if-unmodified-since")||rn.headersList.contains("if-match")||rn.headersList.contains("if-range"))){rn.cache="no-store"}if(rn.cache==="no-cache"&&!rn.preventNoCacheCacheControlHeaderModification&&!rn.headersList.contains("cache-control")){rn.headersList.append("cache-control","max-age=0")}if(rn.cache==="no-store"||rn.cache==="reload"){if(!rn.headersList.contains("pragma")){rn.headersList.append("pragma","no-cache")}if(!rn.headersList.contains("cache-control")){rn.headersList.append("cache-control","no-cache")}}if(rn.headersList.contains("range")){rn.headersList.append("accept-encoding","identity")}if(!rn.headersList.contains("accept-encoding")){if(Bn(An(rn))){rn.headersList.append("accept-encoding","br, gzip, deflate")}else{rn.headersList.append("accept-encoding","gzip, deflate")}}rn.headersList.delete("host");if(un){}if(on==null){rn.cache="no-store"}if(rn.mode!=="no-store"&&rn.mode!=="reload"){}if(sn==null){if(rn.mode==="only-if-cached"){return nn("only if cached")}const Wt=await httpNetworkFetch(In,un,en);if(!jn.has(rn.method)&&Wt.status>=200&&Wt.status<=399){}if(dn&&Wt.status===304){}if(sn==null){sn=Wt}}sn.urlList=[...rn.urlList];if(rn.headersList.contains("range")){sn.rangeRequested=true}sn.requestIncludesCredentials=un;if(sn.status===407){if(tn.window==="no-window"){return nn()}if(Qn(Wt)){return an(Wt)}return nn("proxy authentication required")}if(sn.status===421&&!en&&(tn.body==null||tn.body.source!=null)){if(Qn(Wt)){return an(Wt)}Wt.controller.connection.destroy();sn=await httpNetworkOrCacheFetch(Wt,Pt,true)}if(Pt){}return sn}async function httpNetworkFetch(Wt,Pt=false,tn=false){Mn(!Wt.controller.connection||Wt.controller.connection.destroyed);Wt.controller.connection={abort:null,destroyed:false,destroy(Wt){if(!this.destroyed){this.destroyed=true;this.abort?.(Wt??new Pn("The operation was aborted.","AbortError"))}}};const In=Wt.request;let on=null;const cn=Wt.timingInfo;const un=null;if(un==null){In.cache="no-store"}const pn=tn?"yes":"no";if(In.mode==="websocket"){}else{}let mn=null;if(In.body==null&&Wt.processRequestEndOfBody){queueMicrotask((()=>Wt.processRequestEndOfBody()))}else if(In.body!=null){const processBodyChunk=async function*(Pt){if(Qn(Wt)){return}yield Pt;Wt.processRequestBodyChunkLength?.(Pt.byteLength)};const processEndOfBody=()=>{if(Qn(Wt)){return}if(Wt.processRequestEndOfBody){Wt.processRequestEndOfBody()}};const processBodyError=Pt=>{if(Qn(Wt)){return}if(Pt.name==="AbortError"){Wt.controller.abort()}else{Wt.controller.terminate(Pt)}};mn=async function*(){try{for await(const Wt of In.body.stream){yield*processBodyChunk(Wt)}processEndOfBody()}catch(Wt){processBodyError(Wt)}}()}try{const{body:Pt,status:en,statusText:tn,headersList:nn,socket:an}=await dispatch({body:mn});if(an){on=rn({status:en,statusText:tn,headersList:nn,socket:an})}else{const an=Pt[Symbol.asyncIterator]();Wt.controller.next=()=>an.next();on=rn({status:en,statusText:tn,headersList:nn})}}catch(Pt){if(Pt.name==="AbortError"){Wt.controller.connection.destroy();return an(Wt,Pt)}return nn(Pt)}const pullAlgorithm=()=>{Wt.controller.resume()};const cancelAlgorithm=Pt=>{Wt.controller.abort(Pt)};if(!bl){bl=en(63774).ReadableStream}const bn=new bl({async start(Pt){Wt.controller.controller=Pt},async pull(Wt){await pullAlgorithm(Wt)},async cancel(Wt){await cancelAlgorithm(Wt)}},{highWaterMark:0,size(){return 1}});on.body={stream:bn};Wt.controller.on("terminated",onAborted);Wt.controller.resume=async()=>{while(true){let Pt;let en;try{const{done:en,value:tn}=await Wt.controller.next();if(fn(Wt)){break}Pt=en?undefined:tn}catch(tn){if(Wt.controller.ended&&!cn.encodedBodySize){Pt=undefined}else{Pt=tn;en=true}}if(Pt===undefined){Xn(Wt.controller.controller);finalizeResponse(Wt,on);return}cn.decodedBodySize+=Pt?.byteLength??0;if(en){Wt.controller.terminate(Pt);return}Wt.controller.controller.enqueue(new Uint8Array(Pt));if(ll(bn)){Wt.controller.terminate();return}if(!Wt.controller.controller.desiredSize){return}}};function onAborted(Pt){if(fn(Wt)){on.aborted=true;if(al(bn)){Wt.controller.controller.error(Wt.controller.serializedAbortReason)}}else{if(al(bn)){Wt.controller.controller.error(new TypeError("terminated",{cause:Hn(Pt)?Pt:undefined}))}}Wt.controller.connection.destroy()}return on;async function dispatch({body:Pt}){const en=An(In);const tn=Wt.controller.dispatcher;return new Promise(((nn,an)=>tn.dispatch({path:en.pathname+en.search,origin:en.origin,method:In.method,body:Wt.controller.dispatcher.isMockActive?In.body&&(In.body.source||In.body.stream):Pt,headers:In.headersList.entries,maxRedirections:0,upgrade:In.mode==="websocket"?"websocket":undefined},{body:null,abort:null,onConnect(Pt){const{connection:en}=Wt.controller;if(en.destroyed){Pt(new Pn("The operation was aborted.","AbortError"))}else{Wt.controller.on("terminated",Pt);this.abort=en.abort=Pt}},onHeaders(Wt,Pt,en,tn){if(Wt<200){return}let an=[];let rn="";const on=new sn;if(Array.isArray(Pt)){for(let Wt=0;WtWt.trim()))}else if(en.toLowerCase()==="location"){rn=tn}on[qn].append(en,tn)}}else{const Wt=Object.keys(Pt);for(const en of Wt){const Wt=Pt[en];if(en.toLowerCase()==="content-encoding"){an=Wt.toLowerCase().split(",").map((Wt=>Wt.trim())).reverse()}else if(en.toLowerCase()==="location"){rn=Wt}on[qn].append(en,Wt)}}this.body=new el({read:en});const cn=[];const un=In.redirect==="follow"&&rn&&Sn.has(Wt);if(In.method!=="HEAD"&&In.method!=="CONNECT"&&!Dn.includes(Wt)&&!un){for(const Wt of an){if(Wt==="x-gzip"||Wt==="gzip"){cn.push(dn.createGunzip({flush:dn.constants.Z_SYNC_FLUSH,finishFlush:dn.constants.Z_SYNC_FLUSH}))}else if(Wt==="deflate"){cn.push(dn.createInflate())}else if(Wt==="br"){cn.push(dn.createBrotliDecompress())}else{cn.length=0;break}}}nn({status:Wt,statusText:tn,headersList:on[qn],body:cn.length?tl(this.body,...cn,(()=>{})):this.body.on("error",(()=>{}))});return true},onData(Pt){if(Wt.controller.dump){return}const en=Pt;cn.encodedBodySize+=en.byteLength;return this.body.push(en)},onComplete(){if(this.abort){Wt.controller.off("terminated",this.abort)}Wt.controller.ended=true;this.body.push(null)},onError(Pt){if(this.abort){Wt.controller.off("terminated",this.abort)}this.body?.destroy(Pt);Wt.controller.terminate(Pt);an(Pt)},onUpgrade(Wt,Pt,en){if(Wt!==101){return}const tn=new sn;for(let Wt=0;Wt{const{extractBody:tn,mixinBody:nn,cloneBody:an}=en(8923);const{Headers:In,fill:rn,HeadersList:sn}=en(26349);const{FinalizationRegistry:on}=en(13194)();const cn=en(3440);const{isValidHTTPToken:dn,sameOrigin:un,normalizeMethod:pn,makePolicyContainer:mn,normalizeMethodRecord:bn}=en(15523);const{forbiddenMethodsSet:Gn,corsSafeListedMethodsSet:hn,referrerPolicy:Zn,requestRedirect:An,requestMode:Wn,requestCredentials:Nn,requestCache:gn,requestDuplex:yn}=en(87326);const{kEnumerableProperty:vn}=cn;const{kHeaders:Yn,kSignal:En,kState:Vn,kGuard:Rn,kRealm:wn}=en(89710);const{webidl:Fn}=en(74222);const{getGlobalOrigin:Qn}=en(75628);const{URLSerializer:fn}=en(94322);const{kHeadersList:Hn,kConstruct:Cn}=en(36443);const Xn=en(42613);const{getMaxListeners:kn,setMaxListeners:Jn,getEventListeners:Ln,defaultMaxListeners:Bn}=en(24434);let xn=globalThis.TransformStream;const On=Symbol("abortController");const Tn=new on((({signal:Wt,abort:Pt})=>{Wt.removeEventListener("abort",Pt)}));class Request{constructor(Wt,Pt={}){if(Wt===Cn){return}Fn.argumentLengthCheck(arguments,1,{header:"Request constructor"});Wt=Fn.converters.RequestInfo(Wt);Pt=Fn.converters.RequestInit(Pt);this[wn]={settingsObject:{baseUrl:Qn(),get origin(){return this.baseUrl?.origin},policyContainer:mn()}};let nn=null;let an=null;const on=this[wn].settingsObject.baseUrl;let Zn=null;if(typeof Wt==="string"){let Pt;try{Pt=new URL(Wt,on)}catch(Pt){throw new TypeError("Failed to parse URL from "+Wt,{cause:Pt})}if(Pt.username||Pt.password){throw new TypeError("Request cannot be constructed from a URL that includes credentials: "+Wt)}nn=makeRequest({urlList:[Pt]});an="cors"}else{Xn(Wt instanceof Request);nn=Wt[Vn];Zn=Wt[En]}const An=this[wn].settingsObject.origin;let Wn="client";if(nn.window?.constructor?.name==="EnvironmentSettingsObject"&&un(nn.window,An)){Wn=nn.window}if(Pt.window!=null){throw new TypeError(`'window' option '${Wn}' must be null`)}if("window"in Pt){Wn="no-window"}nn=makeRequest({method:nn.method,headersList:nn.headersList,unsafeRequest:nn.unsafeRequest,client:this[wn].settingsObject,window:Wn,priority:nn.priority,origin:nn.origin,referrer:nn.referrer,referrerPolicy:nn.referrerPolicy,mode:nn.mode,credentials:nn.credentials,cache:nn.cache,redirect:nn.redirect,integrity:nn.integrity,keepalive:nn.keepalive,reloadNavigation:nn.reloadNavigation,historyNavigation:nn.historyNavigation,urlList:[...nn.urlList]});const Nn=Object.keys(Pt).length!==0;if(Nn){if(nn.mode==="navigate"){nn.mode="same-origin"}nn.reloadNavigation=false;nn.historyNavigation=false;nn.origin="client";nn.referrer="client";nn.referrerPolicy="";nn.url=nn.urlList[nn.urlList.length-1];nn.urlList=[nn.url]}if(Pt.referrer!==undefined){const Wt=Pt.referrer;if(Wt===""){nn.referrer="no-referrer"}else{let Pt;try{Pt=new URL(Wt,on)}catch(Pt){throw new TypeError(`Referrer "${Wt}" is not a valid URL.`,{cause:Pt})}if(Pt.protocol==="about:"&&Pt.hostname==="client"||An&&!un(Pt,this[wn].settingsObject.baseUrl)){nn.referrer="client"}else{nn.referrer=Pt}}}if(Pt.referrerPolicy!==undefined){nn.referrerPolicy=Pt.referrerPolicy}let gn;if(Pt.mode!==undefined){gn=Pt.mode}else{gn=an}if(gn==="navigate"){throw Fn.errors.exception({header:"Request constructor",message:"invalid request mode navigate."})}if(gn!=null){nn.mode=gn}if(Pt.credentials!==undefined){nn.credentials=Pt.credentials}if(Pt.cache!==undefined){nn.cache=Pt.cache}if(nn.cache==="only-if-cached"&&nn.mode!=="same-origin"){throw new TypeError("'only-if-cached' can be set only with 'same-origin' mode")}if(Pt.redirect!==undefined){nn.redirect=Pt.redirect}if(Pt.integrity!=null){nn.integrity=String(Pt.integrity)}if(Pt.keepalive!==undefined){nn.keepalive=Boolean(Pt.keepalive)}if(Pt.method!==undefined){let Wt=Pt.method;if(!dn(Wt)){throw new TypeError(`'${Wt}' is not a valid HTTP method.`)}if(Gn.has(Wt.toUpperCase())){throw new TypeError(`'${Wt}' HTTP method is unsupported.`)}Wt=bn[Wt]??pn(Wt);nn.method=Wt}if(Pt.signal!==undefined){Zn=Pt.signal}this[Vn]=nn;const yn=new AbortController;this[En]=yn.signal;this[En][wn]=this[wn];if(Zn!=null){if(!Zn||typeof Zn.aborted!=="boolean"||typeof Zn.addEventListener!=="function"){throw new TypeError("Failed to construct 'Request': member signal is not of type AbortSignal.")}if(Zn.aborted){yn.abort(Zn.reason)}else{this[On]=yn;const Wt=new WeakRef(yn);const abort=function(){const Pt=Wt.deref();if(Pt!==undefined){Pt.abort(this.reason)}};try{if(typeof kn==="function"&&kn(Zn)===Bn){Jn(100,Zn)}else if(Ln(Zn,"abort").length>=Bn){Jn(100,Zn)}}catch{}cn.addAbortListener(Zn,abort);Tn.register(yn,{signal:Zn,abort:abort})}}this[Yn]=new In(Cn);this[Yn][Hn]=nn.headersList;this[Yn][Rn]="request";this[Yn][wn]=this[wn];if(gn==="no-cors"){if(!hn.has(nn.method)){throw new TypeError(`'${nn.method} is unsupported in no-cors mode.`)}this[Yn][Rn]="request-no-cors"}if(Nn){const Wt=this[Yn][Hn];const en=Pt.headers!==undefined?Pt.headers:new sn(Wt);Wt.clear();if(en instanceof sn){for(const[Pt,tn]of en){Wt.append(Pt,tn)}Wt.cookies=en.cookies}else{rn(this[Yn],en)}}const vn=Wt instanceof Request?Wt[Vn].body:null;if((Pt.body!=null||vn!=null)&&(nn.method==="GET"||nn.method==="HEAD")){throw new TypeError("Request with GET/HEAD method cannot have body.")}let fn=null;if(Pt.body!=null){const[Wt,en]=tn(Pt.body,nn.keepalive);fn=Wt;if(en&&!this[Yn][Hn].contains("content-type")){this[Yn].append("content-type",en)}}const Un=fn??vn;if(Un!=null&&Un.source==null){if(fn!=null&&Pt.duplex==null){throw new TypeError("RequestInit: duplex option is required when sending a body.")}if(nn.mode!=="same-origin"&&nn.mode!=="cors"){throw new TypeError('If request is made from ReadableStream, mode should be "same-origin" or "cors"')}nn.useCORSPreflightFlag=true}let Mn=Un;if(fn==null&&vn!=null){if(cn.isDisturbed(vn.stream)||vn.stream.locked){throw new TypeError("Cannot construct a Request with a Request object that has already been used.")}if(!xn){xn=en(63774).TransformStream}const Wt=new xn;vn.stream.pipeThrough(Wt);Mn={source:vn.source,length:vn.length,stream:Wt.readable}}this[Vn].body=Mn}get method(){Fn.brandCheck(this,Request);return this[Vn].method}get url(){Fn.brandCheck(this,Request);return fn(this[Vn].url)}get headers(){Fn.brandCheck(this,Request);return this[Yn]}get destination(){Fn.brandCheck(this,Request);return this[Vn].destination}get referrer(){Fn.brandCheck(this,Request);if(this[Vn].referrer==="no-referrer"){return""}if(this[Vn].referrer==="client"){return"about:client"}return this[Vn].referrer.toString()}get referrerPolicy(){Fn.brandCheck(this,Request);return this[Vn].referrerPolicy}get mode(){Fn.brandCheck(this,Request);return this[Vn].mode}get credentials(){return this[Vn].credentials}get cache(){Fn.brandCheck(this,Request);return this[Vn].cache}get redirect(){Fn.brandCheck(this,Request);return this[Vn].redirect}get integrity(){Fn.brandCheck(this,Request);return this[Vn].integrity}get keepalive(){Fn.brandCheck(this,Request);return this[Vn].keepalive}get isReloadNavigation(){Fn.brandCheck(this,Request);return this[Vn].reloadNavigation}get isHistoryNavigation(){Fn.brandCheck(this,Request);return this[Vn].historyNavigation}get signal(){Fn.brandCheck(this,Request);return this[En]}get body(){Fn.brandCheck(this,Request);return this[Vn].body?this[Vn].body.stream:null}get bodyUsed(){Fn.brandCheck(this,Request);return!!this[Vn].body&&cn.isDisturbed(this[Vn].body.stream)}get duplex(){Fn.brandCheck(this,Request);return"half"}clone(){Fn.brandCheck(this,Request);if(this.bodyUsed||this.body?.locked){throw new TypeError("unusable")}const Wt=cloneRequest(this[Vn]);const Pt=new Request(Cn);Pt[Vn]=Wt;Pt[wn]=this[wn];Pt[Yn]=new In(Cn);Pt[Yn][Hn]=Wt.headersList;Pt[Yn][Rn]=this[Yn][Rn];Pt[Yn][wn]=this[Yn][wn];const en=new AbortController;if(this.signal.aborted){en.abort(this.signal.reason)}else{cn.addAbortListener(this.signal,(()=>{en.abort(this.signal.reason)}))}Pt[En]=en.signal;return Pt}}nn(Request);function makeRequest(Wt){const Pt={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,...Wt,headersList:Wt.headersList?new sn(Wt.headersList):new sn};Pt.url=Pt.urlList[0];return Pt}function cloneRequest(Wt){const Pt=makeRequest({...Wt,body:null});if(Wt.body!=null){Pt.body=an(Wt.body)}return Pt}Object.defineProperties(Request.prototype,{method:vn,url:vn,headers:vn,redirect:vn,clone:vn,signal:vn,duplex:vn,destination:vn,body:vn,bodyUsed:vn,isHistoryNavigation:vn,isReloadNavigation:vn,keepalive:vn,integrity:vn,cache:vn,credentials:vn,attribute:vn,referrerPolicy:vn,referrer:vn,mode:vn,[Symbol.toStringTag]:{value:"Request",configurable:true}});Fn.converters.Request=Fn.interfaceConverter(Request);Fn.converters.RequestInfo=function(Wt){if(typeof Wt==="string"){return Fn.converters.USVString(Wt)}if(Wt instanceof Request){return Fn.converters.Request(Wt)}return Fn.converters.USVString(Wt)};Fn.converters.AbortSignal=Fn.interfaceConverter(AbortSignal);Fn.converters.RequestInit=Fn.dictionaryConverter([{key:"method",converter:Fn.converters.ByteString},{key:"headers",converter:Fn.converters.HeadersInit},{key:"body",converter:Fn.nullableConverter(Fn.converters.BodyInit)},{key:"referrer",converter:Fn.converters.USVString},{key:"referrerPolicy",converter:Fn.converters.DOMString,allowedValues:Zn},{key:"mode",converter:Fn.converters.DOMString,allowedValues:Wn},{key:"credentials",converter:Fn.converters.DOMString,allowedValues:Nn},{key:"cache",converter:Fn.converters.DOMString,allowedValues:gn},{key:"redirect",converter:Fn.converters.DOMString,allowedValues:An},{key:"integrity",converter:Fn.converters.DOMString},{key:"keepalive",converter:Fn.converters.boolean},{key:"signal",converter:Fn.nullableConverter((Wt=>Fn.converters.AbortSignal(Wt,{strict:false})))},{key:"window",converter:Fn.converters.any},{key:"duplex",converter:Fn.converters.DOMString,allowedValues:yn}]);Wt.exports={Request:Request,makeRequest:makeRequest}},48676:(Wt,Pt,en)=>{const{Headers:tn,HeadersList:nn,fill:an}=en(26349);const{extractBody:In,cloneBody:rn,mixinBody:sn}=en(8923);const on=en(3440);const{kEnumerableProperty:cn}=on;const{isValidReasonPhrase:dn,isCancelled:un,isAborted:pn,isBlobLike:mn,serializeJavascriptValueToJSONString:bn,isErrorLike:Gn,isomorphicEncode:hn}=en(15523);const{redirectStatusSet:Zn,nullBodyStatus:An,DOMException:Wn}=en(87326);const{kState:Nn,kHeaders:gn,kGuard:yn,kRealm:vn}=en(89710);const{webidl:Yn}=en(74222);const{FormData:En}=en(43073);const{getGlobalOrigin:Vn}=en(75628);const{URLSerializer:Rn}=en(94322);const{kHeadersList:wn,kConstruct:Fn}=en(36443);const Qn=en(42613);const{types:fn}=en(39023);const Hn=globalThis.ReadableStream||en(63774).ReadableStream;const Cn=new TextEncoder("utf-8");class Response{static error(){const Wt={settingsObject:{}};const Pt=new Response;Pt[Nn]=makeNetworkError();Pt[vn]=Wt;Pt[gn][wn]=Pt[Nn].headersList;Pt[gn][yn]="immutable";Pt[gn][vn]=Wt;return Pt}static json(Wt,Pt={}){Yn.argumentLengthCheck(arguments,1,{header:"Response.json"});if(Pt!==null){Pt=Yn.converters.ResponseInit(Pt)}const en=Cn.encode(bn(Wt));const tn=In(en);const nn={settingsObject:{}};const an=new Response;an[vn]=nn;an[gn][yn]="response";an[gn][vn]=nn;initializeResponse(an,Pt,{body:tn[0],type:"application/json"});return an}static redirect(Wt,Pt=302){const en={settingsObject:{}};Yn.argumentLengthCheck(arguments,1,{header:"Response.redirect"});Wt=Yn.converters.USVString(Wt);Pt=Yn.converters["unsigned short"](Pt);let tn;try{tn=new URL(Wt,Vn())}catch(Pt){throw Object.assign(new TypeError("Failed to parse URL from "+Wt),{cause:Pt})}if(!Zn.has(Pt)){throw new RangeError("Invalid status code "+Pt)}const nn=new Response;nn[vn]=en;nn[gn][yn]="immutable";nn[gn][vn]=en;nn[Nn].status=Pt;const an=hn(Rn(tn));nn[Nn].headersList.append("location",an);return nn}constructor(Wt=null,Pt={}){if(Wt!==null){Wt=Yn.converters.BodyInit(Wt)}Pt=Yn.converters.ResponseInit(Pt);this[vn]={settingsObject:{}};this[Nn]=makeResponse({});this[gn]=new tn(Fn);this[gn][yn]="response";this[gn][wn]=this[Nn].headersList;this[gn][vn]=this[vn];let en=null;if(Wt!=null){const[Pt,tn]=In(Wt);en={body:Pt,type:tn}}initializeResponse(this,Pt,en)}get type(){Yn.brandCheck(this,Response);return this[Nn].type}get url(){Yn.brandCheck(this,Response);const Wt=this[Nn].urlList;const Pt=Wt[Wt.length-1]??null;if(Pt===null){return""}return Rn(Pt,true)}get redirected(){Yn.brandCheck(this,Response);return this[Nn].urlList.length>1}get status(){Yn.brandCheck(this,Response);return this[Nn].status}get ok(){Yn.brandCheck(this,Response);return this[Nn].status>=200&&this[Nn].status<=299}get statusText(){Yn.brandCheck(this,Response);return this[Nn].statusText}get headers(){Yn.brandCheck(this,Response);return this[gn]}get body(){Yn.brandCheck(this,Response);return this[Nn].body?this[Nn].body.stream:null}get bodyUsed(){Yn.brandCheck(this,Response);return!!this[Nn].body&&on.isDisturbed(this[Nn].body.stream)}clone(){Yn.brandCheck(this,Response);if(this.bodyUsed||this.body&&this.body.locked){throw Yn.errors.exception({header:"Response.clone",message:"Body has already been consumed."})}const Wt=cloneResponse(this[Nn]);const Pt=new Response;Pt[Nn]=Wt;Pt[vn]=this[vn];Pt[gn][wn]=Wt.headersList;Pt[gn][yn]=this[gn][yn];Pt[gn][vn]=this[gn][vn];return Pt}}sn(Response);Object.defineProperties(Response.prototype,{type:cn,url:cn,status:cn,ok:cn,redirected:cn,statusText:cn,headers:cn,clone:cn,body:cn,bodyUsed:cn,[Symbol.toStringTag]:{value:"Response",configurable:true}});Object.defineProperties(Response,{json:cn,redirect:cn,error:cn});function cloneResponse(Wt){if(Wt.internalResponse){return filterResponse(cloneResponse(Wt.internalResponse),Wt.type)}const Pt=makeResponse({...Wt,body:null});if(Wt.body!=null){Pt.body=rn(Wt.body)}return Pt}function makeResponse(Wt){return{aborted:false,rangeRequested:false,timingAllowPassed:false,requestIncludesCredentials:false,type:"default",status:200,timingInfo:null,cacheState:"",statusText:"",...Wt,headersList:Wt.headersList?new nn(Wt.headersList):new nn,urlList:Wt.urlList?[...Wt.urlList]:[]}}function makeNetworkError(Wt){const Pt=Gn(Wt);return makeResponse({type:"error",status:0,error:Pt?Wt:new Error(Wt?String(Wt):Wt),aborted:Wt&&Wt.name==="AbortError"})}function makeFilteredResponse(Wt,Pt){Pt={internalResponse:Wt,...Pt};return new Proxy(Wt,{get(Wt,en){return en in Pt?Pt[en]:Wt[en]},set(Wt,en,tn){Qn(!(en in Pt));Wt[en]=tn;return true}})}function filterResponse(Wt,Pt){if(Pt==="basic"){return makeFilteredResponse(Wt,{type:"basic",headersList:Wt.headersList})}else if(Pt==="cors"){return makeFilteredResponse(Wt,{type:"cors",headersList:Wt.headersList})}else if(Pt==="opaque"){return makeFilteredResponse(Wt,{type:"opaque",urlList:Object.freeze([]),status:0,statusText:"",body:null})}else if(Pt==="opaqueredirect"){return makeFilteredResponse(Wt,{type:"opaqueredirect",status:0,statusText:"",headersList:[],body:null})}else{Qn(false)}}function makeAppropriateNetworkError(Wt,Pt=null){Qn(un(Wt));return pn(Wt)?makeNetworkError(Object.assign(new Wn("The operation was aborted.","AbortError"),{cause:Pt})):makeNetworkError(Object.assign(new Wn("Request was cancelled."),{cause:Pt}))}function initializeResponse(Wt,Pt,en){if(Pt.status!==null&&(Pt.status<200||Pt.status>599)){throw new RangeError('init["status"] must be in the range of 200 to 599, inclusive.')}if("statusText"in Pt&&Pt.statusText!=null){if(!dn(String(Pt.statusText))){throw new TypeError("Invalid statusText")}}if("status"in Pt&&Pt.status!=null){Wt[Nn].status=Pt.status}if("statusText"in Pt&&Pt.statusText!=null){Wt[Nn].statusText=Pt.statusText}if("headers"in Pt&&Pt.headers!=null){an(Wt[gn],Pt.headers)}if(en){if(An.includes(Wt.status)){throw Yn.errors.exception({header:"Response constructor",message:"Invalid response status code "+Wt.status})}Wt[Nn].body=en.body;if(en.type!=null&&!Wt[Nn].headersList.contains("Content-Type")){Wt[Nn].headersList.append("content-type",en.type)}}}Yn.converters.ReadableStream=Yn.interfaceConverter(Hn);Yn.converters.FormData=Yn.interfaceConverter(En);Yn.converters.URLSearchParams=Yn.interfaceConverter(URLSearchParams);Yn.converters.XMLHttpRequestBodyInit=function(Wt){if(typeof Wt==="string"){return Yn.converters.USVString(Wt)}if(mn(Wt)){return Yn.converters.Blob(Wt,{strict:false})}if(fn.isArrayBuffer(Wt)||fn.isTypedArray(Wt)||fn.isDataView(Wt)){return Yn.converters.BufferSource(Wt)}if(on.isFormDataLike(Wt)){return Yn.converters.FormData(Wt,{strict:false})}if(Wt instanceof URLSearchParams){return Yn.converters.URLSearchParams(Wt)}return Yn.converters.DOMString(Wt)};Yn.converters.BodyInit=function(Wt){if(Wt instanceof Hn){return Yn.converters.ReadableStream(Wt)}if(Wt?.[Symbol.asyncIterator]){return Wt}return Yn.converters.XMLHttpRequestBodyInit(Wt)};Yn.converters.ResponseInit=Yn.dictionaryConverter([{key:"status",converter:Yn.converters["unsigned short"],defaultValue:200},{key:"statusText",converter:Yn.converters.ByteString,defaultValue:""},{key:"headers",converter:Yn.converters.HeadersInit}]);Wt.exports={makeNetworkError:makeNetworkError,makeResponse:makeResponse,makeAppropriateNetworkError:makeAppropriateNetworkError,filterResponse:filterResponse,Response:Response,cloneResponse:cloneResponse}},89710:Wt=>{Wt.exports={kUrl:Symbol("url"),kHeaders:Symbol("headers"),kSignal:Symbol("signal"),kState:Symbol("state"),kGuard:Symbol("guard"),kRealm:Symbol("realm")}},15523:(Wt,Pt,en)=>{const{redirectStatusSet:tn,referrerPolicySet:nn,badPortsSet:an}=en(87326);const{getGlobalOrigin:In}=en(75628);const{performance:rn}=en(82987);const{isBlobLike:sn,toUSVString:on,ReadableStreamFrom:cn}=en(3440);const dn=en(42613);const{isUint8Array:un}=en(98253);let pn=[];let mn;try{mn=en(76982);const Wt=["sha256","sha384","sha512"];pn=mn.getHashes().filter((Pt=>Wt.includes(Pt)))}catch{}function responseURL(Wt){const Pt=Wt.urlList;const en=Pt.length;return en===0?null:Pt[en-1].toString()}function responseLocationURL(Wt,Pt){if(!tn.has(Wt.status)){return null}let en=Wt.headersList.get("location");if(en!==null&&isValidHeaderValue(en)){en=new URL(en,responseURL(Wt))}if(en&&!en.hash){en.hash=Pt}return en}function requestCurrentURL(Wt){return Wt.urlList[Wt.urlList.length-1]}function requestBadPort(Wt){const Pt=requestCurrentURL(Wt);if(urlIsHttpHttpsScheme(Pt)&&an.has(Pt.port)){return"blocked"}return"allowed"}function isErrorLike(Wt){return Wt instanceof Error||(Wt?.constructor?.name==="Error"||Wt?.constructor?.name==="DOMException")}function isValidReasonPhrase(Wt){for(let Pt=0;Pt=32&&en<=126||en>=128&&en<=255)){return false}}return true}function isTokenCharCode(Wt){switch(Wt){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 Wt>=33&&Wt<=126}}function isValidHTTPToken(Wt){if(Wt.length===0){return false}for(let Pt=0;Pt0){for(let Wt=tn.length;Wt!==0;Wt--){const Pt=tn[Wt-1].trim();if(nn.has(Pt)){an=Pt;break}}}if(an!==""){Wt.referrerPolicy=an}}function crossOriginResourcePolicyCheck(){return"allowed"}function corsCheck(){return"success"}function TAOCheck(){return"success"}function appendFetchMetadata(Wt){let Pt=null;Pt=Wt.mode;Wt.headersList.set("sec-fetch-mode",Pt)}function appendRequestOriginHeader(Wt){let Pt=Wt.origin;if(Wt.responseTainting==="cors"||Wt.mode==="websocket"){if(Pt){Wt.headersList.append("origin",Pt)}}else if(Wt.method!=="GET"&&Wt.method!=="HEAD"){switch(Wt.referrerPolicy){case"no-referrer":Pt=null;break;case"no-referrer-when-downgrade":case"strict-origin":case"strict-origin-when-cross-origin":if(Wt.origin&&urlHasHttpsScheme(Wt.origin)&&!urlHasHttpsScheme(requestCurrentURL(Wt))){Pt=null}break;case"same-origin":if(!sameOrigin(Wt,requestCurrentURL(Wt))){Pt=null}break;default:}if(Pt){Wt.headersList.append("origin",Pt)}}}function coarsenedSharedCurrentTime(Wt){return rn.now()}function createOpaqueTimingInfo(Wt){return{startTime:Wt.startTime??0,redirectStartTime:0,redirectEndTime:0,postRedirectStartTime:Wt.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(Wt){return{referrerPolicy:Wt.referrerPolicy}}function determineRequestsReferrer(Wt){const Pt=Wt.referrerPolicy;dn(Pt);let en=null;if(Wt.referrer==="client"){const Wt=In();if(!Wt||Wt.origin==="null"){return"no-referrer"}en=new URL(Wt)}else if(Wt.referrer instanceof URL){en=Wt.referrer}let tn=stripURLForReferrer(en);const nn=stripURLForReferrer(en,true);if(tn.toString().length>4096){tn=nn}const an=sameOrigin(Wt,tn);const rn=isURLPotentiallyTrustworthy(tn)&&!isURLPotentiallyTrustworthy(Wt.url);switch(Pt){case"origin":return nn!=null?nn:stripURLForReferrer(en,true);case"unsafe-url":return tn;case"same-origin":return an?nn:"no-referrer";case"origin-when-cross-origin":return an?tn:nn;case"strict-origin-when-cross-origin":{const Pt=requestCurrentURL(Wt);if(sameOrigin(tn,Pt)){return tn}if(isURLPotentiallyTrustworthy(tn)&&!isURLPotentiallyTrustworthy(Pt)){return"no-referrer"}return nn}case"strict-origin":case"no-referrer-when-downgrade":default:return rn?"no-referrer":nn}}function stripURLForReferrer(Wt,Pt){dn(Wt instanceof URL);if(Wt.protocol==="file:"||Wt.protocol==="about:"||Wt.protocol==="blank:"){return"no-referrer"}Wt.username="";Wt.password="";Wt.hash="";if(Pt){Wt.pathname="";Wt.search=""}return Wt}function isURLPotentiallyTrustworthy(Wt){if(!(Wt instanceof URL)){return false}if(Wt.href==="about:blank"||Wt.href==="about:srcdoc"){return true}if(Wt.protocol==="data:")return true;if(Wt.protocol==="file:")return true;return isOriginPotentiallyTrustworthy(Wt.origin);function isOriginPotentiallyTrustworthy(Wt){if(Wt==null||Wt==="null")return false;const Pt=new URL(Wt);if(Pt.protocol==="https:"||Pt.protocol==="wss:"){return true}if(/^127(?:\.[0-9]+){0,2}\.[0-9]+$|^\[(?:0*:)*?:?0*1\]$/.test(Pt.hostname)||(Pt.hostname==="localhost"||Pt.hostname.includes("localhost."))||Pt.hostname.endsWith(".localhost")){return true}return false}}function bytesMatch(Wt,Pt){if(mn===undefined){return true}const en=parseMetadata(Pt);if(en==="no metadata"){return true}if(en.length===0){return true}const tn=getStrongestMetadata(en);const nn=filterMetadataListByAlgorithm(en,tn);for(const Pt of nn){const en=Pt.algo;const tn=Pt.hash;let nn=mn.createHash(en).update(Wt).digest("base64");if(nn[nn.length-1]==="="){if(nn[nn.length-2]==="="){nn=nn.slice(0,-2)}else{nn=nn.slice(0,-1)}}if(compareBase64Mixed(nn,tn)){return true}}return false}const bn=/(?sha256|sha384|sha512)-((?[A-Za-z0-9+/]+|[A-Za-z0-9_-]+)={0,2}(?:\s|$)( +[!-~]*)?)?/i;function parseMetadata(Wt){const Pt=[];let en=true;for(const tn of Wt.split(" ")){en=false;const Wt=bn.exec(tn);if(Wt===null||Wt.groups===undefined||Wt.groups.algo===undefined){continue}const nn=Wt.groups.algo.toLowerCase();if(pn.includes(nn)){Pt.push(Wt.groups)}}if(en===true){return"no metadata"}return Pt}function getStrongestMetadata(Wt){let Pt=Wt[0].algo;if(Pt[3]==="5"){return Pt}for(let en=1;en{Wt=en;Pt=tn}));return{promise:en,resolve:Wt,reject:Pt}}function isAborted(Wt){return Wt.controller.state==="aborted"}function isCancelled(Wt){return Wt.controller.state==="aborted"||Wt.controller.state==="terminated"}const Gn={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(Gn,null);function normalizeMethod(Wt){return Gn[Wt.toLowerCase()]??Wt}function serializeJavascriptValueToJSONString(Wt){const Pt=JSON.stringify(Wt);if(Pt===undefined){throw new TypeError("Value is not JSON serializable")}dn(typeof Pt==="string");return Pt}const hn=Object.getPrototypeOf(Object.getPrototypeOf([][Symbol.iterator]()));function makeIterator(Wt,Pt,en){const tn={index:0,kind:en,target:Wt};const nn={next(){if(Object.getPrototypeOf(this)!==nn){throw new TypeError(`'next' called on an object that does not implement interface ${Pt} Iterator.`)}const{index:Wt,kind:en,target:an}=tn;const In=an();const rn=In.length;if(Wt>=rn){return{value:undefined,done:true}}const sn=In[Wt];tn.index=Wt+1;return iteratorResult(sn,en)},[Symbol.toStringTag]:`${Pt} Iterator`};Object.setPrototypeOf(nn,hn);return Object.setPrototypeOf({},nn)}function iteratorResult(Wt,Pt){let en;switch(Pt){case"key":{en=Wt[0];break}case"value":{en=Wt[1];break}case"key+value":{en=Wt;break}}return{value:en,done:false}}async function fullyReadBody(Wt,Pt,en){const tn=Pt;const nn=en;let an;try{an=Wt.stream.getReader()}catch(Wt){nn(Wt);return}try{const Wt=await readAllBytes(an);tn(Wt)}catch(Wt){nn(Wt)}}let Zn=globalThis.ReadableStream;function isReadableStreamLike(Wt){if(!Zn){Zn=en(63774).ReadableStream}return Wt instanceof Zn||Wt[Symbol.toStringTag]==="ReadableStream"&&typeof Wt.tee==="function"}const An=65535;function isomorphicDecode(Wt){if(Wt.lengthWt+String.fromCharCode(Pt)),"")}function readableStreamClose(Wt){try{Wt.close()}catch(Wt){if(!Wt.message.includes("Controller is already closed")){throw Wt}}}function isomorphicEncode(Wt){for(let Pt=0;PtObject.prototype.hasOwnProperty.call(Wt,Pt));Wt.exports={isAborted:isAborted,isCancelled:isCancelled,createDeferredPromise:createDeferredPromise,ReadableStreamFrom:cn,toUSVString:on,tryUpgradeRequestToAPotentiallyTrustworthyURL:tryUpgradeRequestToAPotentiallyTrustworthyURL,coarsenedSharedCurrentTime:coarsenedSharedCurrentTime,determineRequestsReferrer:determineRequestsReferrer,makePolicyContainer:makePolicyContainer,clonePolicyContainer:clonePolicyContainer,appendFetchMetadata:appendFetchMetadata,appendRequestOriginHeader:appendRequestOriginHeader,TAOCheck:TAOCheck,corsCheck:corsCheck,crossOriginResourcePolicyCheck:crossOriginResourcePolicyCheck,createOpaqueTimingInfo:createOpaqueTimingInfo,setRequestReferrerPolicyOnRedirect:setRequestReferrerPolicyOnRedirect,isValidHTTPToken:isValidHTTPToken,requestBadPort:requestBadPort,requestCurrentURL:requestCurrentURL,responseURL:responseURL,responseLocationURL:responseLocationURL,isBlobLike:sn,isURLPotentiallyTrustworthy:isURLPotentiallyTrustworthy,isValidReasonPhrase:isValidReasonPhrase,sameOrigin:sameOrigin,normalizeMethod:normalizeMethod,serializeJavascriptValueToJSONString:serializeJavascriptValueToJSONString,makeIterator:makeIterator,isValidHeaderName:isValidHeaderName,isValidHeaderValue:isValidHeaderValue,hasOwn:Wn,isErrorLike:isErrorLike,fullyReadBody:fullyReadBody,bytesMatch:bytesMatch,isReadableStreamLike:isReadableStreamLike,readableStreamClose:readableStreamClose,isomorphicEncode:isomorphicEncode,isomorphicDecode:isomorphicDecode,urlIsLocal:urlIsLocal,urlHasHttpsScheme:urlHasHttpsScheme,urlIsHttpHttpsScheme:urlIsHttpHttpsScheme,readAllBytes:readAllBytes,normalizeMethodRecord:Gn,parseMetadata:parseMetadata}},74222:(Wt,Pt,en)=>{const{types:tn}=en(39023);const{hasOwn:nn,toUSVString:an}=en(15523);const In={};In.converters={};In.util={};In.errors={};In.errors.exception=function(Wt){return new TypeError(`${Wt.header}: ${Wt.message}`)};In.errors.conversionFailed=function(Wt){const Pt=Wt.types.length===1?"":" one of";const en=`${Wt.argument} could not be converted to`+`${Pt}: ${Wt.types.join(", ")}.`;return In.errors.exception({header:Wt.prefix,message:en})};In.errors.invalidArgument=function(Wt){return In.errors.exception({header:Wt.prefix,message:`"${Wt.value}" is an invalid ${Wt.type}.`})};In.brandCheck=function(Wt,Pt,en=undefined){if(en?.strict!==false&&!(Wt instanceof Pt)){throw new TypeError("Illegal invocation")}else{return Wt?.[Symbol.toStringTag]===Pt.prototype[Symbol.toStringTag]}};In.argumentLengthCheck=function({length:Wt},Pt,en){if(Wtnn){throw In.errors.exception({header:"Integer conversion",message:`Value must be between ${an}-${nn}, got ${rn}.`})}return rn}if(!Number.isNaN(rn)&&tn.clamp===true){rn=Math.min(Math.max(rn,an),nn);if(Math.floor(rn)%2===0){rn=Math.floor(rn)}else{rn=Math.ceil(rn)}return rn}if(Number.isNaN(rn)||rn===0&&Object.is(0,rn)||rn===Number.POSITIVE_INFINITY||rn===Number.NEGATIVE_INFINITY){return 0}rn=In.util.IntegerPart(rn);rn=rn%Math.pow(2,Pt);if(en==="signed"&&rn>=Math.pow(2,Pt)-1){return rn-Math.pow(2,Pt)}return rn};In.util.IntegerPart=function(Wt){const Pt=Math.floor(Math.abs(Wt));if(Wt<0){return-1*Pt}return Pt};In.sequenceConverter=function(Wt){return Pt=>{if(In.util.Type(Pt)!=="Object"){throw In.errors.exception({header:"Sequence",message:`Value of type ${In.util.Type(Pt)} is not an Object.`})}const en=Pt?.[Symbol.iterator]?.();const tn=[];if(en===undefined||typeof en.next!=="function"){throw In.errors.exception({header:"Sequence",message:"Object is not an iterator."})}while(true){const{done:Pt,value:nn}=en.next();if(Pt){break}tn.push(Wt(nn))}return tn}};In.recordConverter=function(Wt,Pt){return en=>{if(In.util.Type(en)!=="Object"){throw In.errors.exception({header:"Record",message:`Value of type ${In.util.Type(en)} is not an Object.`})}const nn={};if(!tn.isProxy(en)){const tn=Object.keys(en);for(const an of tn){const tn=Wt(an);const In=Pt(en[an]);nn[tn]=In}return nn}const an=Reflect.ownKeys(en);for(const tn of an){const an=Reflect.getOwnPropertyDescriptor(en,tn);if(an?.enumerable){const an=Wt(tn);const In=Pt(en[tn]);nn[an]=In}}return nn}};In.interfaceConverter=function(Wt){return(Pt,en={})=>{if(en.strict!==false&&!(Pt instanceof Wt)){throw In.errors.exception({header:Wt.name,message:`Expected ${Pt} to be an instance of ${Wt.name}.`})}return Pt}};In.dictionaryConverter=function(Wt){return Pt=>{const en=In.util.Type(Pt);const tn={};if(en==="Null"||en==="Undefined"){return tn}else if(en!=="Object"){throw In.errors.exception({header:"Dictionary",message:`Expected ${Pt} to be one of: Null, Undefined, Object.`})}for(const en of Wt){const{key:Wt,defaultValue:an,required:rn,converter:sn}=en;if(rn===true){if(!nn(Pt,Wt)){throw In.errors.exception({header:"Dictionary",message:`Missing required key "${Wt}".`})}}let on=Pt[Wt];const cn=nn(en,"defaultValue");if(cn&&on!==null){on=on??an}if(rn||cn||on!==undefined){on=sn(on);if(en.allowedValues&&!en.allowedValues.includes(on)){throw In.errors.exception({header:"Dictionary",message:`${on} is not an accepted type. Expected one of ${en.allowedValues.join(", ")}.`})}tn[Wt]=on}}return tn}};In.nullableConverter=function(Wt){return Pt=>{if(Pt===null){return Pt}return Wt(Pt)}};In.converters.DOMString=function(Wt,Pt={}){if(Wt===null&&Pt.legacyNullToEmptyString){return""}if(typeof Wt==="symbol"){throw new TypeError("Could not convert argument of type symbol to string.")}return String(Wt)};In.converters.ByteString=function(Wt){const Pt=In.converters.DOMString(Wt);for(let Wt=0;Wt255){throw new TypeError("Cannot convert argument to a ByteString because the character at "+`index ${Wt} has a value of ${Pt.charCodeAt(Wt)} which is greater than 255.`)}}return Pt};In.converters.USVString=an;In.converters.boolean=function(Wt){const Pt=Boolean(Wt);return Pt};In.converters.any=function(Wt){return Wt};In.converters["long long"]=function(Wt){const Pt=In.util.ConvertToInt(Wt,64,"signed");return Pt};In.converters["unsigned long long"]=function(Wt){const Pt=In.util.ConvertToInt(Wt,64,"unsigned");return Pt};In.converters["unsigned long"]=function(Wt){const Pt=In.util.ConvertToInt(Wt,32,"unsigned");return Pt};In.converters["unsigned short"]=function(Wt,Pt){const en=In.util.ConvertToInt(Wt,16,"unsigned",Pt);return en};In.converters.ArrayBuffer=function(Wt,Pt={}){if(In.util.Type(Wt)!=="Object"||!tn.isAnyArrayBuffer(Wt)){throw In.errors.conversionFailed({prefix:`${Wt}`,argument:`${Wt}`,types:["ArrayBuffer"]})}if(Pt.allowShared===false&&tn.isSharedArrayBuffer(Wt)){throw In.errors.exception({header:"ArrayBuffer",message:"SharedArrayBuffer is not allowed."})}return Wt};In.converters.TypedArray=function(Wt,Pt,en={}){if(In.util.Type(Wt)!=="Object"||!tn.isTypedArray(Wt)||Wt.constructor.name!==Pt.name){throw In.errors.conversionFailed({prefix:`${Pt.name}`,argument:`${Wt}`,types:[Pt.name]})}if(en.allowShared===false&&tn.isSharedArrayBuffer(Wt.buffer)){throw In.errors.exception({header:"ArrayBuffer",message:"SharedArrayBuffer is not allowed."})}return Wt};In.converters.DataView=function(Wt,Pt={}){if(In.util.Type(Wt)!=="Object"||!tn.isDataView(Wt)){throw In.errors.exception({header:"DataView",message:"Object is not a DataView."})}if(Pt.allowShared===false&&tn.isSharedArrayBuffer(Wt.buffer)){throw In.errors.exception({header:"ArrayBuffer",message:"SharedArrayBuffer is not allowed."})}return Wt};In.converters.BufferSource=function(Wt,Pt={}){if(tn.isAnyArrayBuffer(Wt)){return In.converters.ArrayBuffer(Wt,Pt)}if(tn.isTypedArray(Wt)){return In.converters.TypedArray(Wt,Wt.constructor)}if(tn.isDataView(Wt)){return In.converters.DataView(Wt,Pt)}throw new TypeError(`Could not convert ${Wt} to a BufferSource.`)};In.converters["sequence"]=In.sequenceConverter(In.converters.ByteString);In.converters["sequence>"]=In.sequenceConverter(In.converters["sequence"]);In.converters["record"]=In.recordConverter(In.converters.ByteString,In.converters.ByteString);Wt.exports={webidl:In}},40396:Wt=>{function getEncoding(Wt){if(!Wt){return"failure"}switch(Wt.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"}}Wt.exports={getEncoding:getEncoding}},82160:(Wt,Pt,en)=>{const{staticPropertyDescriptors:tn,readOperation:nn,fireAProgressEvent:an}=en(10165);const{kState:In,kError:rn,kResult:sn,kEvents:on,kAborted:cn}=en(86812);const{webidl:dn}=en(74222);const{kEnumerableProperty:un}=en(3440);class FileReader extends EventTarget{constructor(){super();this[In]="empty";this[sn]=null;this[rn]=null;this[on]={loadend:null,error:null,abort:null,load:null,progress:null,loadstart:null}}readAsArrayBuffer(Wt){dn.brandCheck(this,FileReader);dn.argumentLengthCheck(arguments,1,{header:"FileReader.readAsArrayBuffer"});Wt=dn.converters.Blob(Wt,{strict:false});nn(this,Wt,"ArrayBuffer")}readAsBinaryString(Wt){dn.brandCheck(this,FileReader);dn.argumentLengthCheck(arguments,1,{header:"FileReader.readAsBinaryString"});Wt=dn.converters.Blob(Wt,{strict:false});nn(this,Wt,"BinaryString")}readAsText(Wt,Pt=undefined){dn.brandCheck(this,FileReader);dn.argumentLengthCheck(arguments,1,{header:"FileReader.readAsText"});Wt=dn.converters.Blob(Wt,{strict:false});if(Pt!==undefined){Pt=dn.converters.DOMString(Pt)}nn(this,Wt,"Text",Pt)}readAsDataURL(Wt){dn.brandCheck(this,FileReader);dn.argumentLengthCheck(arguments,1,{header:"FileReader.readAsDataURL"});Wt=dn.converters.Blob(Wt,{strict:false});nn(this,Wt,"DataURL")}abort(){if(this[In]==="empty"||this[In]==="done"){this[sn]=null;return}if(this[In]==="loading"){this[In]="done";this[sn]=null}this[cn]=true;an("abort",this);if(this[In]!=="loading"){an("loadend",this)}}get readyState(){dn.brandCheck(this,FileReader);switch(this[In]){case"empty":return this.EMPTY;case"loading":return this.LOADING;case"done":return this.DONE}}get result(){dn.brandCheck(this,FileReader);return this[sn]}get error(){dn.brandCheck(this,FileReader);return this[rn]}get onloadend(){dn.brandCheck(this,FileReader);return this[on].loadend}set onloadend(Wt){dn.brandCheck(this,FileReader);if(this[on].loadend){this.removeEventListener("loadend",this[on].loadend)}if(typeof Wt==="function"){this[on].loadend=Wt;this.addEventListener("loadend",Wt)}else{this[on].loadend=null}}get onerror(){dn.brandCheck(this,FileReader);return this[on].error}set onerror(Wt){dn.brandCheck(this,FileReader);if(this[on].error){this.removeEventListener("error",this[on].error)}if(typeof Wt==="function"){this[on].error=Wt;this.addEventListener("error",Wt)}else{this[on].error=null}}get onloadstart(){dn.brandCheck(this,FileReader);return this[on].loadstart}set onloadstart(Wt){dn.brandCheck(this,FileReader);if(this[on].loadstart){this.removeEventListener("loadstart",this[on].loadstart)}if(typeof Wt==="function"){this[on].loadstart=Wt;this.addEventListener("loadstart",Wt)}else{this[on].loadstart=null}}get onprogress(){dn.brandCheck(this,FileReader);return this[on].progress}set onprogress(Wt){dn.brandCheck(this,FileReader);if(this[on].progress){this.removeEventListener("progress",this[on].progress)}if(typeof Wt==="function"){this[on].progress=Wt;this.addEventListener("progress",Wt)}else{this[on].progress=null}}get onload(){dn.brandCheck(this,FileReader);return this[on].load}set onload(Wt){dn.brandCheck(this,FileReader);if(this[on].load){this.removeEventListener("load",this[on].load)}if(typeof Wt==="function"){this[on].load=Wt;this.addEventListener("load",Wt)}else{this[on].load=null}}get onabort(){dn.brandCheck(this,FileReader);return this[on].abort}set onabort(Wt){dn.brandCheck(this,FileReader);if(this[on].abort){this.removeEventListener("abort",this[on].abort)}if(typeof Wt==="function"){this[on].abort=Wt;this.addEventListener("abort",Wt)}else{this[on].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:tn,LOADING:tn,DONE:tn,readAsArrayBuffer:un,readAsBinaryString:un,readAsText:un,readAsDataURL:un,abort:un,readyState:un,result:un,error:un,onloadstart:un,onprogress:un,onload:un,onabort:un,onerror:un,onloadend:un,[Symbol.toStringTag]:{value:"FileReader",writable:false,enumerable:false,configurable:true}});Object.defineProperties(FileReader,{EMPTY:tn,LOADING:tn,DONE:tn});Wt.exports={FileReader:FileReader}},15976:(Wt,Pt,en)=>{const{webidl:tn}=en(74222);const nn=Symbol("ProgressEvent state");class ProgressEvent extends Event{constructor(Wt,Pt={}){Wt=tn.converters.DOMString(Wt);Pt=tn.converters.ProgressEventInit(Pt??{});super(Wt,Pt);this[nn]={lengthComputable:Pt.lengthComputable,loaded:Pt.loaded,total:Pt.total}}get lengthComputable(){tn.brandCheck(this,ProgressEvent);return this[nn].lengthComputable}get loaded(){tn.brandCheck(this,ProgressEvent);return this[nn].loaded}get total(){tn.brandCheck(this,ProgressEvent);return this[nn].total}}tn.converters.ProgressEventInit=tn.dictionaryConverter([{key:"lengthComputable",converter:tn.converters.boolean,defaultValue:false},{key:"loaded",converter:tn.converters["unsigned long long"],defaultValue:0},{key:"total",converter:tn.converters["unsigned long long"],defaultValue:0},{key:"bubbles",converter:tn.converters.boolean,defaultValue:false},{key:"cancelable",converter:tn.converters.boolean,defaultValue:false},{key:"composed",converter:tn.converters.boolean,defaultValue:false}]);Wt.exports={ProgressEvent:ProgressEvent}},86812:Wt=>{Wt.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")}},10165:(Wt,Pt,en)=>{const{kState:tn,kError:nn,kResult:an,kAborted:In,kLastProgressEventFired:rn}=en(86812);const{ProgressEvent:sn}=en(15976);const{getEncoding:on}=en(40396);const{DOMException:cn}=en(87326);const{serializeAMimeType:dn,parseMIMEType:un}=en(94322);const{types:pn}=en(39023);const{StringDecoder:mn}=en(13193);const{btoa:bn}=en(20181);const Gn={enumerable:true,writable:false,configurable:false};function readOperation(Wt,Pt,en,sn){if(Wt[tn]==="loading"){throw new cn("Invalid state","InvalidStateError")}Wt[tn]="loading";Wt[an]=null;Wt[nn]=null;const on=Pt.stream();const dn=on.getReader();const un=[];let mn=dn.read();let bn=true;(async()=>{while(!Wt[In]){try{const{done:on,value:cn}=await mn;if(bn&&!Wt[In]){queueMicrotask((()=>{fireAProgressEvent("loadstart",Wt)}))}bn=false;if(!on&&pn.isUint8Array(cn)){un.push(cn);if((Wt[rn]===undefined||Date.now()-Wt[rn]>=50)&&!Wt[In]){Wt[rn]=Date.now();queueMicrotask((()=>{fireAProgressEvent("progress",Wt)}))}mn=dn.read()}else if(on){queueMicrotask((()=>{Wt[tn]="done";try{const tn=packageData(un,en,Pt.type,sn);if(Wt[In]){return}Wt[an]=tn;fireAProgressEvent("load",Wt)}catch(Pt){Wt[nn]=Pt;fireAProgressEvent("error",Wt)}if(Wt[tn]!=="loading"){fireAProgressEvent("loadend",Wt)}}));break}}catch(Pt){if(Wt[In]){return}queueMicrotask((()=>{Wt[tn]="done";Wt[nn]=Pt;fireAProgressEvent("error",Wt);if(Wt[tn]!=="loading"){fireAProgressEvent("loadend",Wt)}}));break}}})()}function fireAProgressEvent(Wt,Pt){const en=new sn(Wt,{bubbles:false,cancelable:false});Pt.dispatchEvent(en)}function packageData(Wt,Pt,en,tn){switch(Pt){case"DataURL":{let Pt="data:";const tn=un(en||"application/octet-stream");if(tn!=="failure"){Pt+=dn(tn)}Pt+=";base64,";const nn=new mn("latin1");for(const en of Wt){Pt+=bn(nn.write(en))}Pt+=bn(nn.end());return Pt}case"Text":{let Pt="failure";if(tn){Pt=on(tn)}if(Pt==="failure"&&en){const Wt=un(en);if(Wt!=="failure"){Pt=on(Wt.parameters.get("charset"))}}if(Pt==="failure"){Pt="UTF-8"}return decode(Wt,Pt)}case"ArrayBuffer":{const Pt=combineByteSequences(Wt);return Pt.buffer}case"BinaryString":{let Pt="";const en=new mn("latin1");for(const tn of Wt){Pt+=en.write(tn)}Pt+=en.end();return Pt}}}function decode(Wt,Pt){const en=combineByteSequences(Wt);const tn=BOMSniffing(en);let nn=0;if(tn!==null){Pt=tn;nn=tn==="UTF-8"?3:2}const an=en.slice(nn);return new TextDecoder(Pt).decode(an)}function BOMSniffing(Wt){const[Pt,en,tn]=Wt;if(Pt===239&&en===187&&tn===191){return"UTF-8"}else if(Pt===254&&en===255){return"UTF-16BE"}else if(Pt===255&&en===254){return"UTF-16LE"}return null}function combineByteSequences(Wt){const Pt=Wt.reduce(((Wt,Pt)=>Wt+Pt.byteLength),0);let en=0;return Wt.reduce(((Wt,Pt)=>{Wt.set(Pt,en);en+=Pt.byteLength;return Wt}),new Uint8Array(Pt))}Wt.exports={staticPropertyDescriptors:Gn,readOperation:readOperation,fireAProgressEvent:fireAProgressEvent}},32581:(Wt,Pt,en)=>{const tn=Symbol.for("undici.globalDispatcher.1");const{InvalidArgumentError:nn}=en(68707);const an=en(59965);if(getGlobalDispatcher()===undefined){setGlobalDispatcher(new an)}function setGlobalDispatcher(Wt){if(!Wt||typeof Wt.dispatch!=="function"){throw new nn("Argument agent must implement Agent")}Object.defineProperty(globalThis,tn,{value:Wt,writable:true,enumerable:false,configurable:false})}function getGlobalDispatcher(){return globalThis[tn]}Wt.exports={setGlobalDispatcher:setGlobalDispatcher,getGlobalDispatcher:getGlobalDispatcher}},78840:Wt=>{Wt.exports=class DecoratorHandler{constructor(Wt){this.handler=Wt}onConnect(...Wt){return this.handler.onConnect(...Wt)}onError(...Wt){return this.handler.onError(...Wt)}onUpgrade(...Wt){return this.handler.onUpgrade(...Wt)}onHeaders(...Wt){return this.handler.onHeaders(...Wt)}onData(...Wt){return this.handler.onData(...Wt)}onComplete(...Wt){return this.handler.onComplete(...Wt)}onBodySent(...Wt){return this.handler.onBodySent(...Wt)}}},48299:(Wt,Pt,en)=>{const tn=en(3440);const{kBodyUsed:nn}=en(36443);const an=en(42613);const{InvalidArgumentError:In}=en(68707);const rn=en(24434);const sn=[300,301,302,303,307,308];const on=Symbol("body");class BodyAsyncIterable{constructor(Wt){this[on]=Wt;this[nn]=false}async*[Symbol.asyncIterator](){an(!this[nn],"disturbed");this[nn]=true;yield*this[on]}}class RedirectHandler{constructor(Wt,Pt,en,sn){if(Pt!=null&&(!Number.isInteger(Pt)||Pt<0)){throw new In("maxRedirections must be a positive number")}tn.validateHandler(sn,en.method,en.upgrade);this.dispatch=Wt;this.location=null;this.abort=null;this.opts={...en,maxRedirections:0};this.maxRedirections=Pt;this.handler=sn;this.history=[];if(tn.isStream(this.opts.body)){if(tn.bodyLength(this.opts.body)===0){this.opts.body.on("data",(function(){an(false)}))}if(typeof this.opts.body.readableDidRead!=="boolean"){this.opts.body[nn]=false;rn.prototype.on.call(this.opts.body,"data",(function(){this[nn]=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)&&tn.isIterable(this.opts.body)){this.opts.body=new BodyAsyncIterable(this.opts.body)}}onConnect(Wt){this.abort=Wt;this.handler.onConnect(Wt,{history:this.history})}onUpgrade(Wt,Pt,en){this.handler.onUpgrade(Wt,Pt,en)}onError(Wt){this.handler.onError(Wt)}onHeaders(Wt,Pt,en,nn){this.location=this.history.length>=this.maxRedirections||tn.isDisturbed(this.opts.body)?null:parseLocation(Wt,Pt);if(this.opts.origin){this.history.push(new URL(this.opts.path,this.opts.origin))}if(!this.location){return this.handler.onHeaders(Wt,Pt,en,nn)}const{origin:an,pathname:In,search:rn}=tn.parseURL(new URL(this.location,this.opts.origin&&new URL(this.opts.path,this.opts.origin)));const sn=rn?`${In}${rn}`:In;this.opts.headers=cleanRequestHeaders(this.opts.headers,Wt===303,this.opts.origin!==an);this.opts.path=sn;this.opts.origin=an;this.opts.maxRedirections=0;this.opts.query=null;if(Wt===303&&this.opts.method!=="HEAD"){this.opts.method="GET";this.opts.body=null}}onData(Wt){if(this.location){}else{return this.handler.onData(Wt)}}onComplete(Wt){if(this.location){this.location=null;this.abort=null;this.dispatch(this.opts,this)}else{this.handler.onComplete(Wt)}}onBodySent(Wt){if(this.handler.onBodySent){this.handler.onBodySent(Wt)}}}function parseLocation(Wt,Pt){if(sn.indexOf(Wt)===-1){return null}for(let Wt=0;Wt{const tn=en(42613);const{kRetryHandlerDefaultRetry:nn}=en(36443);const{RequestRetryError:an}=en(68707);const{isDisturbed:In,parseHeaders:rn,parseRangeHeader:sn}=en(3440);function calculateRetryAfterHeader(Wt){const Pt=Date.now();const en=new Date(Wt).getTime()-Pt;return en}class RetryHandler{constructor(Wt,Pt){const{retryOptions:en,...tn}=Wt;const{retry:an,maxRetries:In,maxTimeout:rn,minTimeout:sn,timeoutFactor:on,methods:cn,errorCodes:dn,retryAfter:un,statusCodes:pn}=en??{};this.dispatch=Pt.dispatch;this.handler=Pt.handler;this.opts=tn;this.abort=null;this.aborted=false;this.retryOpts={retry:an??RetryHandler[nn],retryAfter:un??true,maxTimeout:rn??30*1e3,timeout:sn??500,timeoutFactor:on??2,maxRetries:In??5,methods:cn??["GET","HEAD","OPTIONS","PUT","DELETE","TRACE"],statusCodes:pn??[500,502,503,504,429],errorCodes:dn??["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((Wt=>{this.aborted=true;if(this.abort){this.abort(Wt)}else{this.reason=Wt}}))}onRequestSent(){if(this.handler.onRequestSent){this.handler.onRequestSent()}}onUpgrade(Wt,Pt,en){if(this.handler.onUpgrade){this.handler.onUpgrade(Wt,Pt,en)}}onConnect(Wt){if(this.aborted){Wt(this.reason)}else{this.abort=Wt}}onBodySent(Wt){if(this.handler.onBodySent)return this.handler.onBodySent(Wt)}static[nn](Wt,{state:Pt,opts:en},tn){const{statusCode:nn,code:an,headers:In}=Wt;const{method:rn,retryOptions:sn}=en;const{maxRetries:on,timeout:cn,maxTimeout:dn,timeoutFactor:un,statusCodes:pn,errorCodes:mn,methods:bn}=sn;let{counter:Gn,currentTimeout:hn}=Pt;hn=hn!=null&&hn>0?hn:cn;if(an&&an!=="UND_ERR_REQ_RETRY"&&an!=="UND_ERR_SOCKET"&&!mn.includes(an)){tn(Wt);return}if(Array.isArray(bn)&&!bn.includes(rn)){tn(Wt);return}if(nn!=null&&Array.isArray(pn)&&!pn.includes(nn)){tn(Wt);return}if(Gn>on){tn(Wt);return}let Zn=In!=null&&In["retry-after"];if(Zn){Zn=Number(Zn);Zn=isNaN(Zn)?calculateRetryAfterHeader(Zn):Zn*1e3}const An=Zn>0?Math.min(Zn,dn):Math.min(hn*un**Gn,dn);Pt.currentTimeout=An;setTimeout((()=>tn(null)),An)}onHeaders(Wt,Pt,en,nn){const In=rn(Pt);this.retryCount+=1;if(Wt>=300){this.abort(new an("Request failed",Wt,{headers:In,count:this.retryCount}));return false}if(this.resume!=null){this.resume=null;if(Wt!==206){return true}const Pt=sn(In["content-range"]);if(!Pt){this.abort(new an("Content-Range mismatch",Wt,{headers:In,count:this.retryCount}));return false}if(this.etag!=null&&this.etag!==In.etag){this.abort(new an("ETag mismatch",Wt,{headers:In,count:this.retryCount}));return false}const{start:nn,size:rn,end:on=rn}=Pt;tn(this.start===nn,"content-range mismatch");tn(this.end==null||this.end===on,"content-range mismatch");this.resume=en;return true}if(this.end==null){if(Wt===206){const an=sn(In["content-range"]);if(an==null){return this.handler.onHeaders(Wt,Pt,en,nn)}const{start:rn,size:on,end:cn=on}=an;tn(rn!=null&&Number.isFinite(rn)&&this.start!==rn,"content-range mismatch");tn(Number.isFinite(rn));tn(cn!=null&&Number.isFinite(cn)&&this.end!==cn,"invalid content-length");this.start=rn;this.end=cn}if(this.end==null){const Wt=In["content-length"];this.end=Wt!=null?Number(Wt):null}tn(Number.isFinite(this.start));tn(this.end==null||Number.isFinite(this.end),"invalid content-length");this.resume=en;this.etag=In.etag!=null?In.etag:null;return this.handler.onHeaders(Wt,Pt,en,nn)}const on=new an("Request failed",Wt,{headers:In,count:this.retryCount});this.abort(on);return false}onData(Wt){this.start+=Wt.length;return this.handler.onData(Wt)}onComplete(Wt){this.retryCount=0;return this.handler.onComplete(Wt)}onError(Wt){if(this.aborted||In(this.opts.body)){return this.handler.onError(Wt)}this.retryOpts.retry(Wt,{state:{counter:this.retryCount++,currentTimeout:this.retryAfter},opts:{retryOptions:this.retryOpts,...this.opts}},onRetry.bind(this));function onRetry(Wt){if(Wt!=null||this.aborted||In(this.opts.body)){return this.handler.onError(Wt)}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(Wt){this.handler.onError(Wt)}}}}Wt.exports=RetryHandler},64415:(Wt,Pt,en)=>{const tn=en(48299);function createRedirectInterceptor({maxRedirections:Wt}){return Pt=>function Intercept(en,nn){const{maxRedirections:an=Wt}=en;if(!an){return Pt(en,nn)}const In=new tn(Pt,an,en,nn);en={...en,maxRedirections:0};return Pt(en,In)}}Wt.exports=createRedirectInterceptor},52824:(Wt,Pt,en)=>{Object.defineProperty(Pt,"__esModule",{value:true});Pt.SPECIAL_HEADERS=Pt.HEADER_STATE=Pt.MINOR=Pt.MAJOR=Pt.CONNECTION_TOKEN_CHARS=Pt.HEADER_CHARS=Pt.TOKEN=Pt.STRICT_TOKEN=Pt.HEX=Pt.URL_CHAR=Pt.STRICT_URL_CHAR=Pt.USERINFO_CHARS=Pt.MARK=Pt.ALPHANUM=Pt.NUM=Pt.HEX_MAP=Pt.NUM_MAP=Pt.ALPHA=Pt.FINISH=Pt.H_METHOD_MAP=Pt.METHOD_MAP=Pt.METHODS_RTSP=Pt.METHODS_ICE=Pt.METHODS_HTTP=Pt.METHODS=Pt.LENIENT_FLAGS=Pt.FLAGS=Pt.TYPE=Pt.ERROR=void 0;const tn=en(50172);var nn;(function(Wt){Wt[Wt["OK"]=0]="OK";Wt[Wt["INTERNAL"]=1]="INTERNAL";Wt[Wt["STRICT"]=2]="STRICT";Wt[Wt["LF_EXPECTED"]=3]="LF_EXPECTED";Wt[Wt["UNEXPECTED_CONTENT_LENGTH"]=4]="UNEXPECTED_CONTENT_LENGTH";Wt[Wt["CLOSED_CONNECTION"]=5]="CLOSED_CONNECTION";Wt[Wt["INVALID_METHOD"]=6]="INVALID_METHOD";Wt[Wt["INVALID_URL"]=7]="INVALID_URL";Wt[Wt["INVALID_CONSTANT"]=8]="INVALID_CONSTANT";Wt[Wt["INVALID_VERSION"]=9]="INVALID_VERSION";Wt[Wt["INVALID_HEADER_TOKEN"]=10]="INVALID_HEADER_TOKEN";Wt[Wt["INVALID_CONTENT_LENGTH"]=11]="INVALID_CONTENT_LENGTH";Wt[Wt["INVALID_CHUNK_SIZE"]=12]="INVALID_CHUNK_SIZE";Wt[Wt["INVALID_STATUS"]=13]="INVALID_STATUS";Wt[Wt["INVALID_EOF_STATE"]=14]="INVALID_EOF_STATE";Wt[Wt["INVALID_TRANSFER_ENCODING"]=15]="INVALID_TRANSFER_ENCODING";Wt[Wt["CB_MESSAGE_BEGIN"]=16]="CB_MESSAGE_BEGIN";Wt[Wt["CB_HEADERS_COMPLETE"]=17]="CB_HEADERS_COMPLETE";Wt[Wt["CB_MESSAGE_COMPLETE"]=18]="CB_MESSAGE_COMPLETE";Wt[Wt["CB_CHUNK_HEADER"]=19]="CB_CHUNK_HEADER";Wt[Wt["CB_CHUNK_COMPLETE"]=20]="CB_CHUNK_COMPLETE";Wt[Wt["PAUSED"]=21]="PAUSED";Wt[Wt["PAUSED_UPGRADE"]=22]="PAUSED_UPGRADE";Wt[Wt["PAUSED_H2_UPGRADE"]=23]="PAUSED_H2_UPGRADE";Wt[Wt["USER"]=24]="USER"})(nn=Pt.ERROR||(Pt.ERROR={}));var an;(function(Wt){Wt[Wt["BOTH"]=0]="BOTH";Wt[Wt["REQUEST"]=1]="REQUEST";Wt[Wt["RESPONSE"]=2]="RESPONSE"})(an=Pt.TYPE||(Pt.TYPE={}));var In;(function(Wt){Wt[Wt["CONNECTION_KEEP_ALIVE"]=1]="CONNECTION_KEEP_ALIVE";Wt[Wt["CONNECTION_CLOSE"]=2]="CONNECTION_CLOSE";Wt[Wt["CONNECTION_UPGRADE"]=4]="CONNECTION_UPGRADE";Wt[Wt["CHUNKED"]=8]="CHUNKED";Wt[Wt["UPGRADE"]=16]="UPGRADE";Wt[Wt["CONTENT_LENGTH"]=32]="CONTENT_LENGTH";Wt[Wt["SKIPBODY"]=64]="SKIPBODY";Wt[Wt["TRAILING"]=128]="TRAILING";Wt[Wt["TRANSFER_ENCODING"]=512]="TRANSFER_ENCODING"})(In=Pt.FLAGS||(Pt.FLAGS={}));var rn;(function(Wt){Wt[Wt["HEADERS"]=1]="HEADERS";Wt[Wt["CHUNKED_LENGTH"]=2]="CHUNKED_LENGTH";Wt[Wt["KEEP_ALIVE"]=4]="KEEP_ALIVE"})(rn=Pt.LENIENT_FLAGS||(Pt.LENIENT_FLAGS={}));var sn;(function(Wt){Wt[Wt["DELETE"]=0]="DELETE";Wt[Wt["GET"]=1]="GET";Wt[Wt["HEAD"]=2]="HEAD";Wt[Wt["POST"]=3]="POST";Wt[Wt["PUT"]=4]="PUT";Wt[Wt["CONNECT"]=5]="CONNECT";Wt[Wt["OPTIONS"]=6]="OPTIONS";Wt[Wt["TRACE"]=7]="TRACE";Wt[Wt["COPY"]=8]="COPY";Wt[Wt["LOCK"]=9]="LOCK";Wt[Wt["MKCOL"]=10]="MKCOL";Wt[Wt["MOVE"]=11]="MOVE";Wt[Wt["PROPFIND"]=12]="PROPFIND";Wt[Wt["PROPPATCH"]=13]="PROPPATCH";Wt[Wt["SEARCH"]=14]="SEARCH";Wt[Wt["UNLOCK"]=15]="UNLOCK";Wt[Wt["BIND"]=16]="BIND";Wt[Wt["REBIND"]=17]="REBIND";Wt[Wt["UNBIND"]=18]="UNBIND";Wt[Wt["ACL"]=19]="ACL";Wt[Wt["REPORT"]=20]="REPORT";Wt[Wt["MKACTIVITY"]=21]="MKACTIVITY";Wt[Wt["CHECKOUT"]=22]="CHECKOUT";Wt[Wt["MERGE"]=23]="MERGE";Wt[Wt["M-SEARCH"]=24]="M-SEARCH";Wt[Wt["NOTIFY"]=25]="NOTIFY";Wt[Wt["SUBSCRIBE"]=26]="SUBSCRIBE";Wt[Wt["UNSUBSCRIBE"]=27]="UNSUBSCRIBE";Wt[Wt["PATCH"]=28]="PATCH";Wt[Wt["PURGE"]=29]="PURGE";Wt[Wt["MKCALENDAR"]=30]="MKCALENDAR";Wt[Wt["LINK"]=31]="LINK";Wt[Wt["UNLINK"]=32]="UNLINK";Wt[Wt["SOURCE"]=33]="SOURCE";Wt[Wt["PRI"]=34]="PRI";Wt[Wt["DESCRIBE"]=35]="DESCRIBE";Wt[Wt["ANNOUNCE"]=36]="ANNOUNCE";Wt[Wt["SETUP"]=37]="SETUP";Wt[Wt["PLAY"]=38]="PLAY";Wt[Wt["PAUSE"]=39]="PAUSE";Wt[Wt["TEARDOWN"]=40]="TEARDOWN";Wt[Wt["GET_PARAMETER"]=41]="GET_PARAMETER";Wt[Wt["SET_PARAMETER"]=42]="SET_PARAMETER";Wt[Wt["REDIRECT"]=43]="REDIRECT";Wt[Wt["RECORD"]=44]="RECORD";Wt[Wt["FLUSH"]=45]="FLUSH"})(sn=Pt.METHODS||(Pt.METHODS={}));Pt.METHODS_HTTP=[sn.DELETE,sn.GET,sn.HEAD,sn.POST,sn.PUT,sn.CONNECT,sn.OPTIONS,sn.TRACE,sn.COPY,sn.LOCK,sn.MKCOL,sn.MOVE,sn.PROPFIND,sn.PROPPATCH,sn.SEARCH,sn.UNLOCK,sn.BIND,sn.REBIND,sn.UNBIND,sn.ACL,sn.REPORT,sn.MKACTIVITY,sn.CHECKOUT,sn.MERGE,sn["M-SEARCH"],sn.NOTIFY,sn.SUBSCRIBE,sn.UNSUBSCRIBE,sn.PATCH,sn.PURGE,sn.MKCALENDAR,sn.LINK,sn.UNLINK,sn.PRI,sn.SOURCE];Pt.METHODS_ICE=[sn.SOURCE];Pt.METHODS_RTSP=[sn.OPTIONS,sn.DESCRIBE,sn.ANNOUNCE,sn.SETUP,sn.PLAY,sn.PAUSE,sn.TEARDOWN,sn.GET_PARAMETER,sn.SET_PARAMETER,sn.REDIRECT,sn.RECORD,sn.FLUSH,sn.GET,sn.POST];Pt.METHOD_MAP=tn.enumToMap(sn);Pt.H_METHOD_MAP={};Object.keys(Pt.METHOD_MAP).forEach((Wt=>{if(/^H/.test(Wt)){Pt.H_METHOD_MAP[Wt]=Pt.METHOD_MAP[Wt]}}));var on;(function(Wt){Wt[Wt["SAFE"]=0]="SAFE";Wt[Wt["SAFE_WITH_CB"]=1]="SAFE_WITH_CB";Wt[Wt["UNSAFE"]=2]="UNSAFE"})(on=Pt.FINISH||(Pt.FINISH={}));Pt.ALPHA=[];for(let Wt="A".charCodeAt(0);Wt<="Z".charCodeAt(0);Wt++){Pt.ALPHA.push(String.fromCharCode(Wt));Pt.ALPHA.push(String.fromCharCode(Wt+32))}Pt.NUM_MAP={0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,9:9};Pt.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};Pt.NUM=["0","1","2","3","4","5","6","7","8","9"];Pt.ALPHANUM=Pt.ALPHA.concat(Pt.NUM);Pt.MARK=["-","_",".","!","~","*","'","(",")"];Pt.USERINFO_CHARS=Pt.ALPHANUM.concat(Pt.MARK).concat(["%",";",":","&","=","+","$",","]);Pt.STRICT_URL_CHAR=["!",'"',"$","%","&","'","(",")","*","+",",","-",".","/",":",";","<","=",">","@","[","\\","]","^","_","`","{","|","}","~"].concat(Pt.ALPHANUM);Pt.URL_CHAR=Pt.STRICT_URL_CHAR.concat(["\t","\f"]);for(let Wt=128;Wt<=255;Wt++){Pt.URL_CHAR.push(Wt)}Pt.HEX=Pt.NUM.concat(["a","b","c","d","e","f","A","B","C","D","E","F"]);Pt.STRICT_TOKEN=["!","#","$","%","&","'","*","+","-",".","^","_","`","|","~"].concat(Pt.ALPHANUM);Pt.TOKEN=Pt.STRICT_TOKEN.concat([" "]);Pt.HEADER_CHARS=["\t"];for(let Wt=32;Wt<=255;Wt++){if(Wt!==127){Pt.HEADER_CHARS.push(Wt)}}Pt.CONNECTION_TOKEN_CHARS=Pt.HEADER_CHARS.filter((Wt=>Wt!==44));Pt.MAJOR=Pt.NUM_MAP;Pt.MINOR=Pt.MAJOR;var cn;(function(Wt){Wt[Wt["GENERAL"]=0]="GENERAL";Wt[Wt["CONNECTION"]=1]="CONNECTION";Wt[Wt["CONTENT_LENGTH"]=2]="CONTENT_LENGTH";Wt[Wt["TRANSFER_ENCODING"]=3]="TRANSFER_ENCODING";Wt[Wt["UPGRADE"]=4]="UPGRADE";Wt[Wt["CONNECTION_KEEP_ALIVE"]=5]="CONNECTION_KEEP_ALIVE";Wt[Wt["CONNECTION_CLOSE"]=6]="CONNECTION_CLOSE";Wt[Wt["CONNECTION_UPGRADE"]=7]="CONNECTION_UPGRADE";Wt[Wt["TRANSFER_ENCODING_CHUNKED"]=8]="TRANSFER_ENCODING_CHUNKED"})(cn=Pt.HEADER_STATE||(Pt.HEADER_STATE={}));Pt.SPECIAL_HEADERS={connection:cn.CONNECTION,"content-length":cn.CONTENT_LENGTH,"proxy-connection":cn.CONNECTION,"transfer-encoding":cn.TRANSFER_ENCODING,upgrade:cn.UPGRADE}},63870:Wt=>{Wt.exports="AGFzbQEAAAABMAhgAX8Bf2ADf39/AX9gBH9/f38Bf2AAAGADf39/AGABfwBgAn9/AGAGf39/f39/AALLAQgDZW52GHdhc21fb25faGVhZGVyc19jb21wbGV0ZQACA2VudhV3YXNtX29uX21lc3NhZ2VfYmVnaW4AAANlbnYLd2FzbV9vbl91cmwAAQNlbnYOd2FzbV9vbl9zdGF0dXMAAQNlbnYUd2FzbV9vbl9oZWFkZXJfZmllbGQAAQNlbnYUd2FzbV9vbl9oZWFkZXJfdmFsdWUAAQNlbnYMd2FzbV9vbl9ib2R5AAEDZW52GHdhc21fb25fbWVzc2FnZV9jb21wbGV0ZQAAA0ZFAwMEAAAFAAAAAAAABQEFAAUFBQAABgAAAAAGBgYGAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAAABAQcAAAUFAwABBAUBcAESEgUDAQACBggBfwFBgNQECwfRBSIGbWVtb3J5AgALX2luaXRpYWxpemUACRlfX2luZGlyZWN0X2Z1bmN0aW9uX3RhYmxlAQALbGxodHRwX2luaXQAChhsbGh0dHBfc2hvdWxkX2tlZXBfYWxpdmUAQQxsbGh0dHBfYWxsb2MADAZtYWxsb2MARgtsbGh0dHBfZnJlZQANBGZyZWUASA9sbGh0dHBfZ2V0X3R5cGUADhVsbGh0dHBfZ2V0X2h0dHBfbWFqb3IADxVsbGh0dHBfZ2V0X2h0dHBfbWlub3IAEBFsbGh0dHBfZ2V0X21ldGhvZAARFmxsaHR0cF9nZXRfc3RhdHVzX2NvZGUAEhJsbGh0dHBfZ2V0X3VwZ3JhZGUAEwxsbGh0dHBfcmVzZXQAFA5sbGh0dHBfZXhlY3V0ZQAVFGxsaHR0cF9zZXR0aW5nc19pbml0ABYNbGxodHRwX2ZpbmlzaAAXDGxsaHR0cF9wYXVzZQAYDWxsaHR0cF9yZXN1bWUAGRtsbGh0dHBfcmVzdW1lX2FmdGVyX3VwZ3JhZGUAGhBsbGh0dHBfZ2V0X2Vycm5vABsXbGxodHRwX2dldF9lcnJvcl9yZWFzb24AHBdsbGh0dHBfc2V0X2Vycm9yX3JlYXNvbgAdFGxsaHR0cF9nZXRfZXJyb3JfcG9zAB4RbGxodHRwX2Vycm5vX25hbWUAHxJsbGh0dHBfbWV0aG9kX25hbWUAIBJsbGh0dHBfc3RhdHVzX25hbWUAIRpsbGh0dHBfc2V0X2xlbmllbnRfaGVhZGVycwAiIWxsaHR0cF9zZXRfbGVuaWVudF9jaHVua2VkX2xlbmd0aAAjHWxsaHR0cF9zZXRfbGVuaWVudF9rZWVwX2FsaXZlACQkbGxodHRwX3NldF9sZW5pZW50X3RyYW5zZmVyX2VuY29kaW5nACUYbGxodHRwX21lc3NhZ2VfbmVlZHNfZW9mAD8JFwEAQQELEQECAwQFCwYHNTk3MS8tJyspCsLgAkUCAAsIABCIgICAAAsZACAAEMKAgIAAGiAAIAI2AjggACABOgAoCxwAIAAgAC8BMiAALQAuIAAQwYCAgAAQgICAgAALKgEBf0HAABDGgICAACIBEMKAgIAAGiABQYCIgIAANgI4IAEgADoAKCABCwoAIAAQyICAgAALBwAgAC0AKAsHACAALQAqCwcAIAAtACsLBwAgAC0AKQsHACAALwEyCwcAIAAtAC4LRQEEfyAAKAIYIQEgAC0ALSECIAAtACghAyAAKAI4IQQgABDCgICAABogACAENgI4IAAgAzoAKCAAIAI6AC0gACABNgIYCxEAIAAgASABIAJqEMOAgIAACxAAIABBAEHcABDMgICAABoLZwEBf0EAIQECQCAAKAIMDQACQAJAAkACQCAALQAvDgMBAAMCCyAAKAI4IgFFDQAgASgCLCIBRQ0AIAAgARGAgICAAAAiAQ0DC0EADwsQyoCAgAAACyAAQcOWgIAANgIQQQ4hAQsgAQseAAJAIAAoAgwNACAAQdGbgIAANgIQIABBFTYCDAsLFgACQCAAKAIMQRVHDQAgAEEANgIMCwsWAAJAIAAoAgxBFkcNACAAQQA2AgwLCwcAIAAoAgwLBwAgACgCEAsJACAAIAE2AhALBwAgACgCFAsiAAJAIABBJEkNABDKgICAAAALIABBAnRBoLOAgABqKAIACyIAAkAgAEEuSQ0AEMqAgIAAAAsgAEECdEGwtICAAGooAgAL7gsBAX9B66iAgAAhAQJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIABBnH9qDvQDY2IAAWFhYWFhYQIDBAVhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhBgcICQoLDA0OD2FhYWFhEGFhYWFhYWFhYWFhEWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYRITFBUWFxgZGhthYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhHB0eHyAhIiMkJSYnKCkqKywtLi8wMTIzNDU2YTc4OTphYWFhYWFhYTthYWE8YWFhYT0+P2FhYWFhYWFhQGFhQWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYUJDREVGR0hJSktMTU5PUFFSU2FhYWFhYWFhVFVWV1hZWlthXF1hYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFeYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhX2BhC0Hhp4CAAA8LQaShgIAADwtBy6yAgAAPC0H+sYCAAA8LQcCkgIAADwtBq6SAgAAPC0GNqICAAA8LQeKmgIAADwtBgLCAgAAPC0G5r4CAAA8LQdekgIAADwtB75+AgAAPC0Hhn4CAAA8LQfqfgIAADwtB8qCAgAAPC0Gor4CAAA8LQa6ygIAADwtBiLCAgAAPC0Hsp4CAAA8LQYKigIAADwtBjp2AgAAPC0HQroCAAA8LQcqjgIAADwtBxbKAgAAPC0HfnICAAA8LQdKcgIAADwtBxKCAgAAPC0HXoICAAA8LQaKfgIAADwtB7a6AgAAPC0GrsICAAA8LQdSlgIAADwtBzK6AgAAPC0H6roCAAA8LQfyrgIAADwtB0rCAgAAPC0HxnYCAAA8LQbuggIAADwtB96uAgAAPC0GQsYCAAA8LQdexgIAADwtBoq2AgAAPC0HUp4CAAA8LQeCrgIAADwtBn6yAgAAPC0HrsYCAAA8LQdWfgIAADwtByrGAgAAPC0HepYCAAA8LQdSegIAADwtB9JyAgAAPC0GnsoCAAA8LQbGdgIAADwtBoJ2AgAAPC0G5sYCAAA8LQbywgIAADwtBkqGAgAAPC0GzpoCAAA8LQemsgIAADwtBrJ6AgAAPC0HUq4CAAA8LQfemgIAADwtBgKaAgAAPC0GwoYCAAA8LQf6egIAADwtBjaOAgAAPC0GJrYCAAA8LQfeigIAADwtBoLGAgAAPC0Gun4CAAA8LQcalgIAADwtB6J6AgAAPC0GTooCAAA8LQcKvgIAADwtBw52AgAAPC0GLrICAAA8LQeGdgIAADwtBja+AgAAPC0HqoYCAAA8LQbStgIAADwtB0q+AgAAPC0HfsoCAAA8LQdKygIAADwtB8LCAgAAPC0GpooCAAA8LQfmjgIAADwtBmZ6AgAAPC0G1rICAAA8LQZuwgIAADwtBkrKAgAAPC0G2q4CAAA8LQcKigIAADwtB+LKAgAAPC0GepYCAAA8LQdCigIAADwtBup6AgAAPC0GBnoCAAA8LEMqAgIAAAAtB1qGAgAAhAQsgAQsWACAAIAAtAC1B/gFxIAFBAEdyOgAtCxkAIAAgAC0ALUH9AXEgAUEAR0EBdHI6AC0LGQAgACAALQAtQfsBcSABQQBHQQJ0cjoALQsZACAAIAAtAC1B9wFxIAFBAEdBA3RyOgAtCy4BAn9BACEDAkAgACgCOCIERQ0AIAQoAgAiBEUNACAAIAQRgICAgAAAIQMLIAMLSQECf0EAIQMCQCAAKAI4IgRFDQAgBCgCBCIERQ0AIAAgASACIAFrIAQRgYCAgAAAIgNBf0cNACAAQcaRgIAANgIQQRghAwsgAwsuAQJ/QQAhAwJAIAAoAjgiBEUNACAEKAIwIgRFDQAgACAEEYCAgIAAACEDCyADC0kBAn9BACEDAkAgACgCOCIERQ0AIAQoAggiBEUNACAAIAEgAiABayAEEYGAgIAAACIDQX9HDQAgAEH2ioCAADYCEEEYIQMLIAMLLgECf0EAIQMCQCAAKAI4IgRFDQAgBCgCNCIERQ0AIAAgBBGAgICAAAAhAwsgAwtJAQJ/QQAhAwJAIAAoAjgiBEUNACAEKAIMIgRFDQAgACABIAIgAWsgBBGBgICAAAAiA0F/Rw0AIABB7ZqAgAA2AhBBGCEDCyADCy4BAn9BACEDAkAgACgCOCIERQ0AIAQoAjgiBEUNACAAIAQRgICAgAAAIQMLIAMLSQECf0EAIQMCQCAAKAI4IgRFDQAgBCgCECIERQ0AIAAgASACIAFrIAQRgYCAgAAAIgNBf0cNACAAQZWQgIAANgIQQRghAwsgAwsuAQJ/QQAhAwJAIAAoAjgiBEUNACAEKAI8IgRFDQAgACAEEYCAgIAAACEDCyADC0kBAn9BACEDAkAgACgCOCIERQ0AIAQoAhQiBEUNACAAIAEgAiABayAEEYGAgIAAACIDQX9HDQAgAEGqm4CAADYCEEEYIQMLIAMLLgECf0EAIQMCQCAAKAI4IgRFDQAgBCgCQCIERQ0AIAAgBBGAgICAAAAhAwsgAwtJAQJ/QQAhAwJAIAAoAjgiBEUNACAEKAIYIgRFDQAgACABIAIgAWsgBBGBgICAAAAiA0F/Rw0AIABB7ZOAgAA2AhBBGCEDCyADCy4BAn9BACEDAkAgACgCOCIERQ0AIAQoAkQiBEUNACAAIAQRgICAgAAAIQMLIAMLLgECf0EAIQMCQCAAKAI4IgRFDQAgBCgCJCIERQ0AIAAgBBGAgICAAAAhAwsgAwsuAQJ/QQAhAwJAIAAoAjgiBEUNACAEKAIsIgRFDQAgACAEEYCAgIAAACEDCyADC0kBAn9BACEDAkAgACgCOCIERQ0AIAQoAigiBEUNACAAIAEgAiABayAEEYGAgIAAACIDQX9HDQAgAEH2iICAADYCEEEYIQMLIAMLLgECf0EAIQMCQCAAKAI4IgRFDQAgBCgCUCIERQ0AIAAgBBGAgICAAAAhAwsgAwtJAQJ/QQAhAwJAIAAoAjgiBEUNACAEKAIcIgRFDQAgACABIAIgAWsgBBGBgICAAAAiA0F/Rw0AIABBwpmAgAA2AhBBGCEDCyADCy4BAn9BACEDAkAgACgCOCIERQ0AIAQoAkgiBEUNACAAIAQRgICAgAAAIQMLIAMLSQECf0EAIQMCQCAAKAI4IgRFDQAgBCgCICIERQ0AIAAgASACIAFrIAQRgYCAgAAAIgNBf0cNACAAQZSUgIAANgIQQRghAwsgAwsuAQJ/QQAhAwJAIAAoAjgiBEUNACAEKAJMIgRFDQAgACAEEYCAgIAAACEDCyADCy4BAn9BACEDAkAgACgCOCIERQ0AIAQoAlQiBEUNACAAIAQRgICAgAAAIQMLIAMLLgECf0EAIQMCQCAAKAI4IgRFDQAgBCgCWCIERQ0AIAAgBBGAgICAAAAhAwsgAwtFAQF/AkACQCAALwEwQRRxQRRHDQBBASEDIAAtAChBAUYNASAALwEyQeUARiEDDAELIAAtAClBBUYhAwsgACADOgAuQQAL/gEBA39BASEDAkAgAC8BMCIEQQhxDQAgACkDIEIAUiEDCwJAAkAgAC0ALkUNAEEBIQUgAC0AKUEFRg0BQQEhBSAEQcAAcUUgA3FBAUcNAQtBACEFIARBwABxDQBBAiEFIARB//8DcSIDQQhxDQACQCADQYAEcUUNAAJAIAAtAChBAUcNACAALQAtQQpxDQBBBQ8LQQQPCwJAIANBIHENAAJAIAAtAChBAUYNACAALwEyQf//A3EiAEGcf2pB5ABJDQAgAEHMAUYNACAAQbACRg0AQQQhBSAEQShxRQ0CIANBiARxQYAERg0CC0EADwtBAEEDIAApAyBQGyEFCyAFC2IBAn9BACEBAkAgAC0AKEEBRg0AIAAvATJB//8DcSICQZx/akHkAEkNACACQcwBRg0AIAJBsAJGDQAgAC8BMCIAQcAAcQ0AQQEhASAAQYgEcUGABEYNACAAQShxRSEBCyABC6cBAQN/AkACQAJAIAAtACpFDQAgAC0AK0UNAEEAIQMgAC8BMCIEQQJxRQ0BDAILQQAhAyAALwEwIgRBAXFFDQELQQEhAyAALQAoQQFGDQAgAC8BMkH//wNxIgVBnH9qQeQASQ0AIAVBzAFGDQAgBUGwAkYNACAEQcAAcQ0AQQAhAyAEQYgEcUGABEYNACAEQShxQQBHIQMLIABBADsBMCAAQQA6AC8gAwuZAQECfwJAAkACQCAALQAqRQ0AIAAtACtFDQBBACEBIAAvATAiAkECcUUNAQwCC0EAIQEgAC8BMCICQQFxRQ0BC0EBIQEgAC0AKEEBRg0AIAAvATJB//8DcSIAQZx/akHkAEkNACAAQcwBRg0AIABBsAJGDQAgAkHAAHENAEEAIQEgAkGIBHFBgARGDQAgAkEocUEARyEBCyABC1kAIABBGGpCADcDACAAQgA3AwAgAEE4akIANwMAIABBMGpCADcDACAAQShqQgA3AwAgAEEgakIANwMAIABBEGpCADcDACAAQQhqQgA3AwAgAEHdATYCHEEAC3sBAX8CQCAAKAIMIgMNAAJAIAAoAgRFDQAgACABNgIECwJAIAAgASACEMSAgIAAIgMNACAAKAIMDwsgACADNgIcQQAhAyAAKAIEIgFFDQAgACABIAIgACgCCBGBgICAAAAiAUUNACAAIAI2AhQgACABNgIMIAEhAwsgAwvk8wEDDn8DfgR/I4CAgIAAQRBrIgMkgICAgAAgASEEIAEhBSABIQYgASEHIAEhCCABIQkgASEKIAEhCyABIQwgASENIAEhDiABIQ8CQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgACgCHCIQQX9qDt0B2gEB2QECAwQFBgcICQoLDA0O2AEPENcBERLWARMUFRYXGBkaG+AB3wEcHR7VAR8gISIjJCXUASYnKCkqKyzTAdIBLS7RAdABLzAxMjM0NTY3ODk6Ozw9Pj9AQUJDREVG2wFHSElKzwHOAUvNAUzMAU1OT1BRUlNUVVZXWFlaW1xdXl9gYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXp7fH1+f4ABgQGCAYMBhAGFAYYBhwGIAYkBigGLAYwBjQGOAY8BkAGRAZIBkwGUAZUBlgGXAZgBmQGaAZsBnAGdAZ4BnwGgAaEBogGjAaQBpQGmAacBqAGpAaoBqwGsAa0BrgGvAbABsQGyAbMBtAG1AbYBtwHLAcoBuAHJAbkByAG6AbsBvAG9Ab4BvwHAAcEBwgHDAcQBxQHGAQDcAQtBACEQDMYBC0EOIRAMxQELQQ0hEAzEAQtBDyEQDMMBC0EQIRAMwgELQRMhEAzBAQtBFCEQDMABC0EVIRAMvwELQRYhEAy+AQtBFyEQDL0BC0EYIRAMvAELQRkhEAy7AQtBGiEQDLoBC0EbIRAMuQELQRwhEAy4AQtBCCEQDLcBC0EdIRAMtgELQSAhEAy1AQtBHyEQDLQBC0EHIRAMswELQSEhEAyyAQtBIiEQDLEBC0EeIRAMsAELQSMhEAyvAQtBEiEQDK4BC0ERIRAMrQELQSQhEAysAQtBJSEQDKsBC0EmIRAMqgELQSchEAypAQtBwwEhEAyoAQtBKSEQDKcBC0ErIRAMpgELQSwhEAylAQtBLSEQDKQBC0EuIRAMowELQS8hEAyiAQtBxAEhEAyhAQtBMCEQDKABC0E0IRAMnwELQQwhEAyeAQtBMSEQDJ0BC0EyIRAMnAELQTMhEAybAQtBOSEQDJoBC0E1IRAMmQELQcUBIRAMmAELQQshEAyXAQtBOiEQDJYBC0E2IRAMlQELQQohEAyUAQtBNyEQDJMBC0E4IRAMkgELQTwhEAyRAQtBOyEQDJABC0E9IRAMjwELQQkhEAyOAQtBKCEQDI0BC0E+IRAMjAELQT8hEAyLAQtBwAAhEAyKAQtBwQAhEAyJAQtBwgAhEAyIAQtBwwAhEAyHAQtBxAAhEAyGAQtBxQAhEAyFAQtBxgAhEAyEAQtBKiEQDIMBC0HHACEQDIIBC0HIACEQDIEBC0HJACEQDIABC0HKACEQDH8LQcsAIRAMfgtBzQAhEAx9C0HMACEQDHwLQc4AIRAMewtBzwAhEAx6C0HQACEQDHkLQdEAIRAMeAtB0gAhEAx3C0HTACEQDHYLQdQAIRAMdQtB1gAhEAx0C0HVACEQDHMLQQYhEAxyC0HXACEQDHELQQUhEAxwC0HYACEQDG8LQQQhEAxuC0HZACEQDG0LQdoAIRAMbAtB2wAhEAxrC0HcACEQDGoLQQMhEAxpC0HdACEQDGgLQd4AIRAMZwtB3wAhEAxmC0HhACEQDGULQeAAIRAMZAtB4gAhEAxjC0HjACEQDGILQQIhEAxhC0HkACEQDGALQeUAIRAMXwtB5gAhEAxeC0HnACEQDF0LQegAIRAMXAtB6QAhEAxbC0HqACEQDFoLQesAIRAMWQtB7AAhEAxYC0HtACEQDFcLQe4AIRAMVgtB7wAhEAxVC0HwACEQDFQLQfEAIRAMUwtB8gAhEAxSC0HzACEQDFELQfQAIRAMUAtB9QAhEAxPC0H2ACEQDE4LQfcAIRAMTQtB+AAhEAxMC0H5ACEQDEsLQfoAIRAMSgtB+wAhEAxJC0H8ACEQDEgLQf0AIRAMRwtB/gAhEAxGC0H/ACEQDEULQYABIRAMRAtBgQEhEAxDC0GCASEQDEILQYMBIRAMQQtBhAEhEAxAC0GFASEQDD8LQYYBIRAMPgtBhwEhEAw9C0GIASEQDDwLQYkBIRAMOwtBigEhEAw6C0GLASEQDDkLQYwBIRAMOAtBjQEhEAw3C0GOASEQDDYLQY8BIRAMNQtBkAEhEAw0C0GRASEQDDMLQZIBIRAMMgtBkwEhEAwxC0GUASEQDDALQZUBIRAMLwtBlgEhEAwuC0GXASEQDC0LQZgBIRAMLAtBmQEhEAwrC0GaASEQDCoLQZsBIRAMKQtBnAEhEAwoC0GdASEQDCcLQZ4BIRAMJgtBnwEhEAwlC0GgASEQDCQLQaEBIRAMIwtBogEhEAwiC0GjASEQDCELQaQBIRAMIAtBpQEhEAwfC0GmASEQDB4LQacBIRAMHQtBqAEhEAwcC0GpASEQDBsLQaoBIRAMGgtBqwEhEAwZC0GsASEQDBgLQa0BIRAMFwtBrgEhEAwWC0EBIRAMFQtBrwEhEAwUC0GwASEQDBMLQbEBIRAMEgtBswEhEAwRC0GyASEQDBALQbQBIRAMDwtBtQEhEAwOC0G2ASEQDA0LQbcBIRAMDAtBuAEhEAwLC0G5ASEQDAoLQboBIRAMCQtBuwEhEAwIC0HGASEQDAcLQbwBIRAMBgtBvQEhEAwFC0G+ASEQDAQLQb8BIRAMAwtBwAEhEAwCC0HCASEQDAELQcEBIRALA0ACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCAQDscBAAECAwQFBgcICQoLDA0ODxAREhMUFRYXGBkaGxweHyAhIyUoP0BBREVGR0hJSktMTU9QUVJT3gNXWVtcXWBiZWZnaGlqa2xtb3BxcnN0dXZ3eHl6e3x9foABggGFAYYBhwGJAYsBjAGNAY4BjwGQAZEBlAGVAZYBlwGYAZkBmgGbAZwBnQGeAZ8BoAGhAaIBowGkAaUBpgGnAagBqQGqAasBrAGtAa4BrwGwAbEBsgGzAbQBtQG2AbcBuAG5AboBuwG8Ab0BvgG/AcABwQHCAcMBxAHFAcYBxwHIAckBygHLAcwBzQHOAc8B0AHRAdIB0wHUAdUB1gHXAdgB2QHaAdsB3AHdAd4B4AHhAeIB4wHkAeUB5gHnAegB6QHqAesB7AHtAe4B7wHwAfEB8gHzAZkCpAKwAv4C/gILIAEiBCACRw3zAUHdASEQDP8DCyABIhAgAkcN3QFBwwEhEAz+AwsgASIBIAJHDZABQfcAIRAM/QMLIAEiASACRw2GAUHvACEQDPwDCyABIgEgAkcNf0HqACEQDPsDCyABIgEgAkcNe0HoACEQDPoDCyABIgEgAkcNeEHmACEQDPkDCyABIgEgAkcNGkEYIRAM+AMLIAEiASACRw0UQRIhEAz3AwsgASIBIAJHDVlBxQAhEAz2AwsgASIBIAJHDUpBPyEQDPUDCyABIgEgAkcNSEE8IRAM9AMLIAEiASACRw1BQTEhEAzzAwsgAC0ALkEBRg3rAwyHAgsgACABIgEgAhDAgICAAEEBRw3mASAAQgA3AyAM5wELIAAgASIBIAIQtICAgAAiEA3nASABIQEM9QILAkAgASIBIAJHDQBBBiEQDPADCyAAIAFBAWoiASACELuAgIAAIhAN6AEgASEBDDELIABCADcDIEESIRAM1QMLIAEiECACRw0rQR0hEAztAwsCQCABIgEgAkYNACABQQFqIQFBECEQDNQDC0EHIRAM7AMLIABCACAAKQMgIhEgAiABIhBrrSISfSITIBMgEVYbNwMgIBEgElYiFEUN5QFBCCEQDOsDCwJAIAEiASACRg0AIABBiYCAgAA2AgggACABNgIEIAEhAUEUIRAM0gMLQQkhEAzqAwsgASEBIAApAyBQDeQBIAEhAQzyAgsCQCABIgEgAkcNAEELIRAM6QMLIAAgAUEBaiIBIAIQtoCAgAAiEA3lASABIQEM8gILIAAgASIBIAIQuICAgAAiEA3lASABIQEM8gILIAAgASIBIAIQuICAgAAiEA3mASABIQEMDQsgACABIgEgAhC6gICAACIQDecBIAEhAQzwAgsCQCABIgEgAkcNAEEPIRAM5QMLIAEtAAAiEEE7Rg0IIBBBDUcN6AEgAUEBaiEBDO8CCyAAIAEiASACELqAgIAAIhAN6AEgASEBDPICCwNAAkAgAS0AAEHwtYCAAGotAAAiEEEBRg0AIBBBAkcN6wEgACgCBCEQIABBADYCBCAAIBAgAUEBaiIBELmAgIAAIhAN6gEgASEBDPQCCyABQQFqIgEgAkcNAAtBEiEQDOIDCyAAIAEiASACELqAgIAAIhAN6QEgASEBDAoLIAEiASACRw0GQRshEAzgAwsCQCABIgEgAkcNAEEWIRAM4AMLIABBioCAgAA2AgggACABNgIEIAAgASACELiAgIAAIhAN6gEgASEBQSAhEAzGAwsCQCABIgEgAkYNAANAAkAgAS0AAEHwt4CAAGotAAAiEEECRg0AAkAgEEF/ag4E5QHsAQDrAewBCyABQQFqIQFBCCEQDMgDCyABQQFqIgEgAkcNAAtBFSEQDN8DC0EVIRAM3gMLA0ACQCABLQAAQfC5gIAAai0AACIQQQJGDQAgEEF/ag4E3gHsAeAB6wHsAQsgAUEBaiIBIAJHDQALQRghEAzdAwsCQCABIgEgAkYNACAAQYuAgIAANgIIIAAgATYCBCABIQFBByEQDMQDC0EZIRAM3AMLIAFBAWohAQwCCwJAIAEiFCACRw0AQRohEAzbAwsgFCEBAkAgFC0AAEFzag4U3QLuAu4C7gLuAu4C7gLuAu4C7gLuAu4C7gLuAu4C7gLuAu4C7gIA7gILQQAhECAAQQA2AhwgAEGvi4CAADYCECAAQQI2AgwgACAUQQFqNgIUDNoDCwJAIAEtAAAiEEE7Rg0AIBBBDUcN6AEgAUEBaiEBDOUCCyABQQFqIQELQSIhEAy/AwsCQCABIhAgAkcNAEEcIRAM2AMLQgAhESAQIQEgEC0AAEFQag435wHmAQECAwQFBgcIAAAAAAAAAAkKCwwNDgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADxAREhMUAAtBHiEQDL0DC0ICIREM5QELQgMhEQzkAQtCBCERDOMBC0IFIREM4gELQgYhEQzhAQtCByERDOABC0IIIREM3wELQgkhEQzeAQtCCiERDN0BC0ILIREM3AELQgwhEQzbAQtCDSERDNoBC0IOIREM2QELQg8hEQzYAQtCCiERDNcBC0ILIREM1gELQgwhEQzVAQtCDSERDNQBC0IOIREM0wELQg8hEQzSAQtCACERAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCAQLQAAQVBqDjflAeQBAAECAwQFBgfmAeYB5gHmAeYB5gHmAQgJCgsMDeYB5gHmAeYB5gHmAeYB5gHmAeYB5gHmAeYB5gHmAeYB5gHmAeYB5gHmAeYB5gHmAeYB5gEODxAREhPmAQtCAiERDOQBC0IDIREM4wELQgQhEQziAQtCBSERDOEBC0IGIREM4AELQgchEQzfAQtCCCERDN4BC0IJIREM3QELQgohEQzcAQtCCyERDNsBC0IMIREM2gELQg0hEQzZAQtCDiERDNgBC0IPIREM1wELQgohEQzWAQtCCyERDNUBC0IMIREM1AELQg0hEQzTAQtCDiERDNIBC0IPIREM0QELIABCACAAKQMgIhEgAiABIhBrrSISfSITIBMgEVYbNwMgIBEgElYiFEUN0gFBHyEQDMADCwJAIAEiASACRg0AIABBiYCAgAA2AgggACABNgIEIAEhAUEkIRAMpwMLQSAhEAy/AwsgACABIhAgAhC+gICAAEF/ag4FtgEAxQIB0QHSAQtBESEQDKQDCyAAQQE6AC8gECEBDLsDCyABIgEgAkcN0gFBJCEQDLsDCyABIg0gAkcNHkHGACEQDLoDCyAAIAEiASACELKAgIAAIhAN1AEgASEBDLUBCyABIhAgAkcNJkHQACEQDLgDCwJAIAEiASACRw0AQSghEAy4AwsgAEEANgIEIABBjICAgAA2AgggACABIAEQsYCAgAAiEA3TASABIQEM2AELAkAgASIQIAJHDQBBKSEQDLcDCyAQLQAAIgFBIEYNFCABQQlHDdMBIBBBAWohAQwVCwJAIAEiASACRg0AIAFBAWohAQwXC0EqIRAMtQMLAkAgASIQIAJHDQBBKyEQDLUDCwJAIBAtAAAiAUEJRg0AIAFBIEcN1QELIAAtACxBCEYN0wEgECEBDJEDCwJAIAEiASACRw0AQSwhEAy0AwsgAS0AAEEKRw3VASABQQFqIQEMyQILIAEiDiACRw3VAUEvIRAMsgMLA0ACQCABLQAAIhBBIEYNAAJAIBBBdmoOBADcAdwBANoBCyABIQEM4AELIAFBAWoiASACRw0AC0ExIRAMsQMLQTIhECABIhQgAkYNsAMgAiAUayAAKAIAIgFqIRUgFCABa0EDaiEWAkADQCAULQAAIhdBIHIgFyAXQb9/akH/AXFBGkkbQf8BcSABQfC7gIAAai0AAEcNAQJAIAFBA0cNAEEGIQEMlgMLIAFBAWohASAUQQFqIhQgAkcNAAsgACAVNgIADLEDCyAAQQA2AgAgFCEBDNkBC0EzIRAgASIUIAJGDa8DIAIgFGsgACgCACIBaiEVIBQgAWtBCGohFgJAA0AgFC0AACIXQSByIBcgF0G/f2pB/wFxQRpJG0H/AXEgAUH0u4CAAGotAABHDQECQCABQQhHDQBBBSEBDJUDCyABQQFqIQEgFEEBaiIUIAJHDQALIAAgFTYCAAywAwsgAEEANgIAIBQhAQzYAQtBNCEQIAEiFCACRg2uAyACIBRrIAAoAgAiAWohFSAUIAFrQQVqIRYCQANAIBQtAAAiF0EgciAXIBdBv39qQf8BcUEaSRtB/wFxIAFB0MKAgABqLQAARw0BAkAgAUEFRw0AQQchAQyUAwsgAUEBaiEBIBRBAWoiFCACRw0ACyAAIBU2AgAMrwMLIABBADYCACAUIQEM1wELAkAgASIBIAJGDQADQAJAIAEtAABBgL6AgABqLQAAIhBBAUYNACAQQQJGDQogASEBDN0BCyABQQFqIgEgAkcNAAtBMCEQDK4DC0EwIRAMrQMLAkAgASIBIAJGDQADQAJAIAEtAAAiEEEgRg0AIBBBdmoOBNkB2gHaAdkB2gELIAFBAWoiASACRw0AC0E4IRAMrQMLQTghEAysAwsDQAJAIAEtAAAiEEEgRg0AIBBBCUcNAwsgAUEBaiIBIAJHDQALQTwhEAyrAwsDQAJAIAEtAAAiEEEgRg0AAkACQCAQQXZqDgTaAQEB2gEACyAQQSxGDdsBCyABIQEMBAsgAUEBaiIBIAJHDQALQT8hEAyqAwsgASEBDNsBC0HAACEQIAEiFCACRg2oAyACIBRrIAAoAgAiAWohFiAUIAFrQQZqIRcCQANAIBQtAABBIHIgAUGAwICAAGotAABHDQEgAUEGRg2OAyABQQFqIQEgFEEBaiIUIAJHDQALIAAgFjYCAAypAwsgAEEANgIAIBQhAQtBNiEQDI4DCwJAIAEiDyACRw0AQcEAIRAMpwMLIABBjICAgAA2AgggACAPNgIEIA8hASAALQAsQX9qDgTNAdUB1wHZAYcDCyABQQFqIQEMzAELAkAgASIBIAJGDQADQAJAIAEtAAAiEEEgciAQIBBBv39qQf8BcUEaSRtB/wFxIhBBCUYNACAQQSBGDQACQAJAAkACQCAQQZ1/ag4TAAMDAwMDAwMBAwMDAwMDAwMDAgMLIAFBAWohAUExIRAMkQMLIAFBAWohAUEyIRAMkAMLIAFBAWohAUEzIRAMjwMLIAEhAQzQAQsgAUEBaiIBIAJHDQALQTUhEAylAwtBNSEQDKQDCwJAIAEiASACRg0AA0ACQCABLQAAQYC8gIAAai0AAEEBRg0AIAEhAQzTAQsgAUEBaiIBIAJHDQALQT0hEAykAwtBPSEQDKMDCyAAIAEiASACELCAgIAAIhAN1gEgASEBDAELIBBBAWohAQtBPCEQDIcDCwJAIAEiASACRw0AQcIAIRAMoAMLAkADQAJAIAEtAABBd2oOGAAC/gL+AoQD/gL+Av4C/gL+Av4C/gL+Av4C/gL+Av4C/gL+Av4C/gL+Av4CAP4CCyABQQFqIgEgAkcNAAtBwgAhEAygAwsgAUEBaiEBIAAtAC1BAXFFDb0BIAEhAQtBLCEQDIUDCyABIgEgAkcN0wFBxAAhEAydAwsDQAJAIAEtAABBkMCAgABqLQAAQQFGDQAgASEBDLcCCyABQQFqIgEgAkcNAAtBxQAhEAycAwsgDS0AACIQQSBGDbMBIBBBOkcNgQMgACgCBCEBIABBADYCBCAAIAEgDRCvgICAACIBDdABIA1BAWohAQyzAgtBxwAhECABIg0gAkYNmgMgAiANayAAKAIAIgFqIRYgDSABa0EFaiEXA0AgDS0AACIUQSByIBQgFEG/f2pB/wFxQRpJG0H/AXEgAUGQwoCAAGotAABHDYADIAFBBUYN9AIgAUEBaiEBIA1BAWoiDSACRw0ACyAAIBY2AgAMmgMLQcgAIRAgASINIAJGDZkDIAIgDWsgACgCACIBaiEWIA0gAWtBCWohFwNAIA0tAAAiFEEgciAUIBRBv39qQf8BcUEaSRtB/wFxIAFBlsKAgABqLQAARw3/AgJAIAFBCUcNAEECIQEM9QILIAFBAWohASANQQFqIg0gAkcNAAsgACAWNgIADJkDCwJAIAEiDSACRw0AQckAIRAMmQMLAkACQCANLQAAIgFBIHIgASABQb9/akH/AXFBGkkbQf8BcUGSf2oOBwCAA4ADgAOAA4ADAYADCyANQQFqIQFBPiEQDIADCyANQQFqIQFBPyEQDP8CC0HKACEQIAEiDSACRg2XAyACIA1rIAAoAgAiAWohFiANIAFrQQFqIRcDQCANLQAAIhRBIHIgFCAUQb9/akH/AXFBGkkbQf8BcSABQaDCgIAAai0AAEcN/QIgAUEBRg3wAiABQQFqIQEgDUEBaiINIAJHDQALIAAgFjYCAAyXAwtBywAhECABIg0gAkYNlgMgAiANayAAKAIAIgFqIRYgDSABa0EOaiEXA0AgDS0AACIUQSByIBQgFEG/f2pB/wFxQRpJG0H/AXEgAUGiwoCAAGotAABHDfwCIAFBDkYN8AIgAUEBaiEBIA1BAWoiDSACRw0ACyAAIBY2AgAMlgMLQcwAIRAgASINIAJGDZUDIAIgDWsgACgCACIBaiEWIA0gAWtBD2ohFwNAIA0tAAAiFEEgciAUIBRBv39qQf8BcUEaSRtB/wFxIAFBwMKAgABqLQAARw37AgJAIAFBD0cNAEEDIQEM8QILIAFBAWohASANQQFqIg0gAkcNAAsgACAWNgIADJUDC0HNACEQIAEiDSACRg2UAyACIA1rIAAoAgAiAWohFiANIAFrQQVqIRcDQCANLQAAIhRBIHIgFCAUQb9/akH/AXFBGkkbQf8BcSABQdDCgIAAai0AAEcN+gICQCABQQVHDQBBBCEBDPACCyABQQFqIQEgDUEBaiINIAJHDQALIAAgFjYCAAyUAwsCQCABIg0gAkcNAEHOACEQDJQDCwJAAkACQAJAIA0tAAAiAUEgciABIAFBv39qQf8BcUEaSRtB/wFxQZ1/ag4TAP0C/QL9Av0C/QL9Av0C/QL9Av0C/QL9AgH9Av0C/QICA/0CCyANQQFqIQFBwQAhEAz9AgsgDUEBaiEBQcIAIRAM/AILIA1BAWohAUHDACEQDPsCCyANQQFqIQFBxAAhEAz6AgsCQCABIgEgAkYNACAAQY2AgIAANgIIIAAgATYCBCABIQFBxQAhEAz6AgtBzwAhEAySAwsgECEBAkACQCAQLQAAQXZqDgQBqAKoAgCoAgsgEEEBaiEBC0EnIRAM+AILAkAgASIBIAJHDQBB0QAhEAyRAwsCQCABLQAAQSBGDQAgASEBDI0BCyABQQFqIQEgAC0ALUEBcUUNxwEgASEBDIwBCyABIhcgAkcNyAFB0gAhEAyPAwtB0wAhECABIhQgAkYNjgMgAiAUayAAKAIAIgFqIRYgFCABa0EBaiEXA0AgFC0AACABQdbCgIAAai0AAEcNzAEgAUEBRg3HASABQQFqIQEgFEEBaiIUIAJHDQALIAAgFjYCAAyOAwsCQCABIgEgAkcNAEHVACEQDI4DCyABLQAAQQpHDcwBIAFBAWohAQzHAQsCQCABIgEgAkcNAEHWACEQDI0DCwJAAkAgAS0AAEF2ag4EAM0BzQEBzQELIAFBAWohAQzHAQsgAUEBaiEBQcoAIRAM8wILIAAgASIBIAIQroCAgAAiEA3LASABIQFBzQAhEAzyAgsgAC0AKUEiRg2FAwymAgsCQCABIgEgAkcNAEHbACEQDIoDC0EAIRRBASEXQQEhFkEAIRACQAJAAkACQAJAAkACQAJAAkAgAS0AAEFQag4K1AHTAQABAgMEBQYI1QELQQIhEAwGC0EDIRAMBQtBBCEQDAQLQQUhEAwDC0EGIRAMAgtBByEQDAELQQghEAtBACEXQQAhFkEAIRQMzAELQQkhEEEBIRRBACEXQQAhFgzLAQsCQCABIgEgAkcNAEHdACEQDIkDCyABLQAAQS5HDcwBIAFBAWohAQymAgsgASIBIAJHDcwBQd8AIRAMhwMLAkAgASIBIAJGDQAgAEGOgICAADYCCCAAIAE2AgQgASEBQdAAIRAM7gILQeAAIRAMhgMLQeEAIRAgASIBIAJGDYUDIAIgAWsgACgCACIUaiEWIAEgFGtBA2ohFwNAIAEtAAAgFEHiwoCAAGotAABHDc0BIBRBA0YNzAEgFEEBaiEUIAFBAWoiASACRw0ACyAAIBY2AgAMhQMLQeIAIRAgASIBIAJGDYQDIAIgAWsgACgCACIUaiEWIAEgFGtBAmohFwNAIAEtAAAgFEHmwoCAAGotAABHDcwBIBRBAkYNzgEgFEEBaiEUIAFBAWoiASACRw0ACyAAIBY2AgAMhAMLQeMAIRAgASIBIAJGDYMDIAIgAWsgACgCACIUaiEWIAEgFGtBA2ohFwNAIAEtAAAgFEHpwoCAAGotAABHDcsBIBRBA0YNzgEgFEEBaiEUIAFBAWoiASACRw0ACyAAIBY2AgAMgwMLAkAgASIBIAJHDQBB5QAhEAyDAwsgACABQQFqIgEgAhCogICAACIQDc0BIAEhAUHWACEQDOkCCwJAIAEiASACRg0AA0ACQCABLQAAIhBBIEYNAAJAAkACQCAQQbh/ag4LAAHPAc8BzwHPAc8BzwHPAc8BAs8BCyABQQFqIQFB0gAhEAztAgsgAUEBaiEBQdMAIRAM7AILIAFBAWohAUHUACEQDOsCCyABQQFqIgEgAkcNAAtB5AAhEAyCAwtB5AAhEAyBAwsDQAJAIAEtAABB8MKAgABqLQAAIhBBAUYNACAQQX5qDgPPAdAB0QHSAQsgAUEBaiIBIAJHDQALQeYAIRAMgAMLAkAgASIBIAJGDQAgAUEBaiEBDAMLQecAIRAM/wILA0ACQCABLQAAQfDEgIAAai0AACIQQQFGDQACQCAQQX5qDgTSAdMB1AEA1QELIAEhAUHXACEQDOcCCyABQQFqIgEgAkcNAAtB6AAhEAz+AgsCQCABIgEgAkcNAEHpACEQDP4CCwJAIAEtAAAiEEF2ag4augHVAdUBvAHVAdUB1QHVAdUB1QHVAdUB1QHVAdUB1QHVAdUB1QHVAdUB1QHKAdUB1QEA0wELIAFBAWohAQtBBiEQDOMCCwNAAkAgAS0AAEHwxoCAAGotAABBAUYNACABIQEMngILIAFBAWoiASACRw0AC0HqACEQDPsCCwJAIAEiASACRg0AIAFBAWohAQwDC0HrACEQDPoCCwJAIAEiASACRw0AQewAIRAM+gILIAFBAWohAQwBCwJAIAEiASACRw0AQe0AIRAM+QILIAFBAWohAQtBBCEQDN4CCwJAIAEiFCACRw0AQe4AIRAM9wILIBQhAQJAAkACQCAULQAAQfDIgIAAai0AAEF/ag4H1AHVAdYBAJwCAQLXAQsgFEEBaiEBDAoLIBRBAWohAQzNAQtBACEQIABBADYCHCAAQZuSgIAANgIQIABBBzYCDCAAIBRBAWo2AhQM9gILAkADQAJAIAEtAABB8MiAgABqLQAAIhBBBEYNAAJAAkAgEEF/ag4H0gHTAdQB2QEABAHZAQsgASEBQdoAIRAM4AILIAFBAWohAUHcACEQDN8CCyABQQFqIgEgAkcNAAtB7wAhEAz2AgsgAUEBaiEBDMsBCwJAIAEiFCACRw0AQfAAIRAM9QILIBQtAABBL0cN1AEgFEEBaiEBDAYLAkAgASIUIAJHDQBB8QAhEAz0AgsCQCAULQAAIgFBL0cNACAUQQFqIQFB3QAhEAzbAgsgAUF2aiIEQRZLDdMBQQEgBHRBiYCAAnFFDdMBDMoCCwJAIAEiASACRg0AIAFBAWohAUHeACEQDNoCC0HyACEQDPICCwJAIAEiFCACRw0AQfQAIRAM8gILIBQhAQJAIBQtAABB8MyAgABqLQAAQX9qDgPJApQCANQBC0HhACEQDNgCCwJAIAEiFCACRg0AA0ACQCAULQAAQfDKgIAAai0AACIBQQNGDQACQCABQX9qDgLLAgDVAQsgFCEBQd8AIRAM2gILIBRBAWoiFCACRw0AC0HzACEQDPECC0HzACEQDPACCwJAIAEiASACRg0AIABBj4CAgAA2AgggACABNgIEIAEhAUHgACEQDNcCC0H1ACEQDO8CCwJAIAEiASACRw0AQfYAIRAM7wILIABBj4CAgAA2AgggACABNgIEIAEhAQtBAyEQDNQCCwNAIAEtAABBIEcNwwIgAUEBaiIBIAJHDQALQfcAIRAM7AILAkAgASIBIAJHDQBB+AAhEAzsAgsgAS0AAEEgRw3OASABQQFqIQEM7wELIAAgASIBIAIQrICAgAAiEA3OASABIQEMjgILAkAgASIEIAJHDQBB+gAhEAzqAgsgBC0AAEHMAEcN0QEgBEEBaiEBQRMhEAzPAQsCQCABIgQgAkcNAEH7ACEQDOkCCyACIARrIAAoAgAiAWohFCAEIAFrQQVqIRADQCAELQAAIAFB8M6AgABqLQAARw3QASABQQVGDc4BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQfsAIRAM6AILAkAgASIEIAJHDQBB/AAhEAzoAgsCQAJAIAQtAABBvX9qDgwA0QHRAdEB0QHRAdEB0QHRAdEB0QEB0QELIARBAWohAUHmACEQDM8CCyAEQQFqIQFB5wAhEAzOAgsCQCABIgQgAkcNAEH9ACEQDOcCCyACIARrIAAoAgAiAWohFCAEIAFrQQJqIRACQANAIAQtAAAgAUHtz4CAAGotAABHDc8BIAFBAkYNASABQQFqIQEgBEEBaiIEIAJHDQALIAAgFDYCAEH9ACEQDOcCCyAAQQA2AgAgEEEBaiEBQRAhEAzMAQsCQCABIgQgAkcNAEH+ACEQDOYCCyACIARrIAAoAgAiAWohFCAEIAFrQQVqIRACQANAIAQtAAAgAUH2zoCAAGotAABHDc4BIAFBBUYNASABQQFqIQEgBEEBaiIEIAJHDQALIAAgFDYCAEH+ACEQDOYCCyAAQQA2AgAgEEEBaiEBQRYhEAzLAQsCQCABIgQgAkcNAEH/ACEQDOUCCyACIARrIAAoAgAiAWohFCAEIAFrQQNqIRACQANAIAQtAAAgAUH8zoCAAGotAABHDc0BIAFBA0YNASABQQFqIQEgBEEBaiIEIAJHDQALIAAgFDYCAEH/ACEQDOUCCyAAQQA2AgAgEEEBaiEBQQUhEAzKAQsCQCABIgQgAkcNAEGAASEQDOQCCyAELQAAQdkARw3LASAEQQFqIQFBCCEQDMkBCwJAIAEiBCACRw0AQYEBIRAM4wILAkACQCAELQAAQbJ/ag4DAMwBAcwBCyAEQQFqIQFB6wAhEAzKAgsgBEEBaiEBQewAIRAMyQILAkAgASIEIAJHDQBBggEhEAziAgsCQAJAIAQtAABBuH9qDggAywHLAcsBywHLAcsBAcsBCyAEQQFqIQFB6gAhEAzJAgsgBEEBaiEBQe0AIRAMyAILAkAgASIEIAJHDQBBgwEhEAzhAgsgAiAEayAAKAIAIgFqIRAgBCABa0ECaiEUAkADQCAELQAAIAFBgM+AgABqLQAARw3JASABQQJGDQEgAUEBaiEBIARBAWoiBCACRw0ACyAAIBA2AgBBgwEhEAzhAgtBACEQIABBADYCACAUQQFqIQEMxgELAkAgASIEIAJHDQBBhAEhEAzgAgsgAiAEayAAKAIAIgFqIRQgBCABa0EEaiEQAkADQCAELQAAIAFBg8+AgABqLQAARw3IASABQQRGDQEgAUEBaiEBIARBAWoiBCACRw0ACyAAIBQ2AgBBhAEhEAzgAgsgAEEANgIAIBBBAWohAUEjIRAMxQELAkAgASIEIAJHDQBBhQEhEAzfAgsCQAJAIAQtAABBtH9qDggAyAHIAcgByAHIAcgBAcgBCyAEQQFqIQFB7wAhEAzGAgsgBEEBaiEBQfAAIRAMxQILAkAgASIEIAJHDQBBhgEhEAzeAgsgBC0AAEHFAEcNxQEgBEEBaiEBDIMCCwJAIAEiBCACRw0AQYcBIRAM3QILIAIgBGsgACgCACIBaiEUIAQgAWtBA2ohEAJAA0AgBC0AACABQYjPgIAAai0AAEcNxQEgAUEDRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQYcBIRAM3QILIABBADYCACAQQQFqIQFBLSEQDMIBCwJAIAEiBCACRw0AQYgBIRAM3AILIAIgBGsgACgCACIBaiEUIAQgAWtBCGohEAJAA0AgBC0AACABQdDPgIAAai0AAEcNxAEgAUEIRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQYgBIRAM3AILIABBADYCACAQQQFqIQFBKSEQDMEBCwJAIAEiASACRw0AQYkBIRAM2wILQQEhECABLQAAQd8ARw3AASABQQFqIQEMgQILAkAgASIEIAJHDQBBigEhEAzaAgsgAiAEayAAKAIAIgFqIRQgBCABa0EBaiEQA0AgBC0AACABQYzPgIAAai0AAEcNwQEgAUEBRg2vAiABQQFqIQEgBEEBaiIEIAJHDQALIAAgFDYCAEGKASEQDNkCCwJAIAEiBCACRw0AQYsBIRAM2QILIAIgBGsgACgCACIBaiEUIAQgAWtBAmohEAJAA0AgBC0AACABQY7PgIAAai0AAEcNwQEgAUECRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQYsBIRAM2QILIABBADYCACAQQQFqIQFBAiEQDL4BCwJAIAEiBCACRw0AQYwBIRAM2AILIAIgBGsgACgCACIBaiEUIAQgAWtBAWohEAJAA0AgBC0AACABQfDPgIAAai0AAEcNwAEgAUEBRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQYwBIRAM2AILIABBADYCACAQQQFqIQFBHyEQDL0BCwJAIAEiBCACRw0AQY0BIRAM1wILIAIgBGsgACgCACIBaiEUIAQgAWtBAWohEAJAA0AgBC0AACABQfLPgIAAai0AAEcNvwEgAUEBRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQY0BIRAM1wILIABBADYCACAQQQFqIQFBCSEQDLwBCwJAIAEiBCACRw0AQY4BIRAM1gILAkACQCAELQAAQbd/ag4HAL8BvwG/Ab8BvwEBvwELIARBAWohAUH4ACEQDL0CCyAEQQFqIQFB+QAhEAy8AgsCQCABIgQgAkcNAEGPASEQDNUCCyACIARrIAAoAgAiAWohFCAEIAFrQQVqIRACQANAIAQtAAAgAUGRz4CAAGotAABHDb0BIAFBBUYNASABQQFqIQEgBEEBaiIEIAJHDQALIAAgFDYCAEGPASEQDNUCCyAAQQA2AgAgEEEBaiEBQRghEAy6AQsCQCABIgQgAkcNAEGQASEQDNQCCyACIARrIAAoAgAiAWohFCAEIAFrQQJqIRACQANAIAQtAAAgAUGXz4CAAGotAABHDbwBIAFBAkYNASABQQFqIQEgBEEBaiIEIAJHDQALIAAgFDYCAEGQASEQDNQCCyAAQQA2AgAgEEEBaiEBQRchEAy5AQsCQCABIgQgAkcNAEGRASEQDNMCCyACIARrIAAoAgAiAWohFCAEIAFrQQZqIRACQANAIAQtAAAgAUGaz4CAAGotAABHDbsBIAFBBkYNASABQQFqIQEgBEEBaiIEIAJHDQALIAAgFDYCAEGRASEQDNMCCyAAQQA2AgAgEEEBaiEBQRUhEAy4AQsCQCABIgQgAkcNAEGSASEQDNICCyACIARrIAAoAgAiAWohFCAEIAFrQQVqIRACQANAIAQtAAAgAUGhz4CAAGotAABHDboBIAFBBUYNASABQQFqIQEgBEEBaiIEIAJHDQALIAAgFDYCAEGSASEQDNICCyAAQQA2AgAgEEEBaiEBQR4hEAy3AQsCQCABIgQgAkcNAEGTASEQDNECCyAELQAAQcwARw24ASAEQQFqIQFBCiEQDLYBCwJAIAQgAkcNAEGUASEQDNACCwJAAkAgBC0AAEG/f2oODwC5AbkBuQG5AbkBuQG5AbkBuQG5AbkBuQG5AQG5AQsgBEEBaiEBQf4AIRAMtwILIARBAWohAUH/ACEQDLYCCwJAIAQgAkcNAEGVASEQDM8CCwJAAkAgBC0AAEG/f2oOAwC4AQG4AQsgBEEBaiEBQf0AIRAMtgILIARBAWohBEGAASEQDLUCCwJAIAQgAkcNAEGWASEQDM4CCyACIARrIAAoAgAiAWohFCAEIAFrQQFqIRACQANAIAQtAAAgAUGnz4CAAGotAABHDbYBIAFBAUYNASABQQFqIQEgBEEBaiIEIAJHDQALIAAgFDYCAEGWASEQDM4CCyAAQQA2AgAgEEEBaiEBQQshEAyzAQsCQCAEIAJHDQBBlwEhEAzNAgsCQAJAAkACQCAELQAAQVNqDiMAuAG4AbgBuAG4AbgBuAG4AbgBuAG4AbgBuAG4AbgBuAG4AbgBuAG4AbgBuAG4AQG4AbgBuAG4AbgBArgBuAG4AQO4AQsgBEEBaiEBQfsAIRAMtgILIARBAWohAUH8ACEQDLUCCyAEQQFqIQRBgQEhEAy0AgsgBEEBaiEEQYIBIRAMswILAkAgBCACRw0AQZgBIRAMzAILIAIgBGsgACgCACIBaiEUIAQgAWtBBGohEAJAA0AgBC0AACABQanPgIAAai0AAEcNtAEgAUEERg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQZgBIRAMzAILIABBADYCACAQQQFqIQFBGSEQDLEBCwJAIAQgAkcNAEGZASEQDMsCCyACIARrIAAoAgAiAWohFCAEIAFrQQVqIRACQANAIAQtAAAgAUGuz4CAAGotAABHDbMBIAFBBUYNASABQQFqIQEgBEEBaiIEIAJHDQALIAAgFDYCAEGZASEQDMsCCyAAQQA2AgAgEEEBaiEBQQYhEAywAQsCQCAEIAJHDQBBmgEhEAzKAgsgAiAEayAAKAIAIgFqIRQgBCABa0EBaiEQAkADQCAELQAAIAFBtM+AgABqLQAARw2yASABQQFGDQEgAUEBaiEBIARBAWoiBCACRw0ACyAAIBQ2AgBBmgEhEAzKAgsgAEEANgIAIBBBAWohAUEcIRAMrwELAkAgBCACRw0AQZsBIRAMyQILIAIgBGsgACgCACIBaiEUIAQgAWtBAWohEAJAA0AgBC0AACABQbbPgIAAai0AAEcNsQEgAUEBRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQZsBIRAMyQILIABBADYCACAQQQFqIQFBJyEQDK4BCwJAIAQgAkcNAEGcASEQDMgCCwJAAkAgBC0AAEGsf2oOAgABsQELIARBAWohBEGGASEQDK8CCyAEQQFqIQRBhwEhEAyuAgsCQCAEIAJHDQBBnQEhEAzHAgsgAiAEayAAKAIAIgFqIRQgBCABa0EBaiEQAkADQCAELQAAIAFBuM+AgABqLQAARw2vASABQQFGDQEgAUEBaiEBIARBAWoiBCACRw0ACyAAIBQ2AgBBnQEhEAzHAgsgAEEANgIAIBBBAWohAUEmIRAMrAELAkAgBCACRw0AQZ4BIRAMxgILIAIgBGsgACgCACIBaiEUIAQgAWtBAWohEAJAA0AgBC0AACABQbrPgIAAai0AAEcNrgEgAUEBRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQZ4BIRAMxgILIABBADYCACAQQQFqIQFBAyEQDKsBCwJAIAQgAkcNAEGfASEQDMUCCyACIARrIAAoAgAiAWohFCAEIAFrQQJqIRACQANAIAQtAAAgAUHtz4CAAGotAABHDa0BIAFBAkYNASABQQFqIQEgBEEBaiIEIAJHDQALIAAgFDYCAEGfASEQDMUCCyAAQQA2AgAgEEEBaiEBQQwhEAyqAQsCQCAEIAJHDQBBoAEhEAzEAgsgAiAEayAAKAIAIgFqIRQgBCABa0EDaiEQAkADQCAELQAAIAFBvM+AgABqLQAARw2sASABQQNGDQEgAUEBaiEBIARBAWoiBCACRw0ACyAAIBQ2AgBBoAEhEAzEAgsgAEEANgIAIBBBAWohAUENIRAMqQELAkAgBCACRw0AQaEBIRAMwwILAkACQCAELQAAQbp/ag4LAKwBrAGsAawBrAGsAawBrAGsAQGsAQsgBEEBaiEEQYsBIRAMqgILIARBAWohBEGMASEQDKkCCwJAIAQgAkcNAEGiASEQDMICCyAELQAAQdAARw2pASAEQQFqIQQM6QELAkAgBCACRw0AQaMBIRAMwQILAkACQCAELQAAQbd/ag4HAaoBqgGqAaoBqgEAqgELIARBAWohBEGOASEQDKgCCyAEQQFqIQFBIiEQDKYBCwJAIAQgAkcNAEGkASEQDMACCyACIARrIAAoAgAiAWohFCAEIAFrQQFqIRACQANAIAQtAAAgAUHAz4CAAGotAABHDagBIAFBAUYNASABQQFqIQEgBEEBaiIEIAJHDQALIAAgFDYCAEGkASEQDMACCyAAQQA2AgAgEEEBaiEBQR0hEAylAQsCQCAEIAJHDQBBpQEhEAy/AgsCQAJAIAQtAABBrn9qDgMAqAEBqAELIARBAWohBEGQASEQDKYCCyAEQQFqIQFBBCEQDKQBCwJAIAQgAkcNAEGmASEQDL4CCwJAAkACQAJAAkAgBC0AAEG/f2oOFQCqAaoBqgGqAaoBqgGqAaoBqgGqAQGqAaoBAqoBqgEDqgGqAQSqAQsgBEEBaiEEQYgBIRAMqAILIARBAWohBEGJASEQDKcCCyAEQQFqIQRBigEhEAymAgsgBEEBaiEEQY8BIRAMpQILIARBAWohBEGRASEQDKQCCwJAIAQgAkcNAEGnASEQDL0CCyACIARrIAAoAgAiAWohFCAEIAFrQQJqIRACQANAIAQtAAAgAUHtz4CAAGotAABHDaUBIAFBAkYNASABQQFqIQEgBEEBaiIEIAJHDQALIAAgFDYCAEGnASEQDL0CCyAAQQA2AgAgEEEBaiEBQREhEAyiAQsCQCAEIAJHDQBBqAEhEAy8AgsgAiAEayAAKAIAIgFqIRQgBCABa0ECaiEQAkADQCAELQAAIAFBws+AgABqLQAARw2kASABQQJGDQEgAUEBaiEBIARBAWoiBCACRw0ACyAAIBQ2AgBBqAEhEAy8AgsgAEEANgIAIBBBAWohAUEsIRAMoQELAkAgBCACRw0AQakBIRAMuwILIAIgBGsgACgCACIBaiEUIAQgAWtBBGohEAJAA0AgBC0AACABQcXPgIAAai0AAEcNowEgAUEERg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQakBIRAMuwILIABBADYCACAQQQFqIQFBKyEQDKABCwJAIAQgAkcNAEGqASEQDLoCCyACIARrIAAoAgAiAWohFCAEIAFrQQJqIRACQANAIAQtAAAgAUHKz4CAAGotAABHDaIBIAFBAkYNASABQQFqIQEgBEEBaiIEIAJHDQALIAAgFDYCAEGqASEQDLoCCyAAQQA2AgAgEEEBaiEBQRQhEAyfAQsCQCAEIAJHDQBBqwEhEAy5AgsCQAJAAkACQCAELQAAQb5/ag4PAAECpAGkAaQBpAGkAaQBpAGkAaQBpAGkAQOkAQsgBEEBaiEEQZMBIRAMogILIARBAWohBEGUASEQDKECCyAEQQFqIQRBlQEhEAygAgsgBEEBaiEEQZYBIRAMnwILAkAgBCACRw0AQawBIRAMuAILIAQtAABBxQBHDZ8BIARBAWohBAzgAQsCQCAEIAJHDQBBrQEhEAy3AgsgAiAEayAAKAIAIgFqIRQgBCABa0ECaiEQAkADQCAELQAAIAFBzc+AgABqLQAARw2fASABQQJGDQEgAUEBaiEBIARBAWoiBCACRw0ACyAAIBQ2AgBBrQEhEAy3AgsgAEEANgIAIBBBAWohAUEOIRAMnAELAkAgBCACRw0AQa4BIRAMtgILIAQtAABB0ABHDZ0BIARBAWohAUElIRAMmwELAkAgBCACRw0AQa8BIRAMtQILIAIgBGsgACgCACIBaiEUIAQgAWtBCGohEAJAA0AgBC0AACABQdDPgIAAai0AAEcNnQEgAUEIRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQa8BIRAMtQILIABBADYCACAQQQFqIQFBKiEQDJoBCwJAIAQgAkcNAEGwASEQDLQCCwJAAkAgBC0AAEGrf2oOCwCdAZ0BnQGdAZ0BnQGdAZ0BnQEBnQELIARBAWohBEGaASEQDJsCCyAEQQFqIQRBmwEhEAyaAgsCQCAEIAJHDQBBsQEhEAyzAgsCQAJAIAQtAABBv39qDhQAnAGcAZwBnAGcAZwBnAGcAZwBnAGcAZwBnAGcAZwBnAGcAZwBAZwBCyAEQQFqIQRBmQEhEAyaAgsgBEEBaiEEQZwBIRAMmQILAkAgBCACRw0AQbIBIRAMsgILIAIgBGsgACgCACIBaiEUIAQgAWtBA2ohEAJAA0AgBC0AACABQdnPgIAAai0AAEcNmgEgAUEDRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQbIBIRAMsgILIABBADYCACAQQQFqIQFBISEQDJcBCwJAIAQgAkcNAEGzASEQDLECCyACIARrIAAoAgAiAWohFCAEIAFrQQZqIRACQANAIAQtAAAgAUHdz4CAAGotAABHDZkBIAFBBkYNASABQQFqIQEgBEEBaiIEIAJHDQALIAAgFDYCAEGzASEQDLECCyAAQQA2AgAgEEEBaiEBQRohEAyWAQsCQCAEIAJHDQBBtAEhEAywAgsCQAJAAkAgBC0AAEG7f2oOEQCaAZoBmgGaAZoBmgGaAZoBmgEBmgGaAZoBmgGaAQKaAQsgBEEBaiEEQZ0BIRAMmAILIARBAWohBEGeASEQDJcCCyAEQQFqIQRBnwEhEAyWAgsCQCAEIAJHDQBBtQEhEAyvAgsgAiAEayAAKAIAIgFqIRQgBCABa0EFaiEQAkADQCAELQAAIAFB5M+AgABqLQAARw2XASABQQVGDQEgAUEBaiEBIARBAWoiBCACRw0ACyAAIBQ2AgBBtQEhEAyvAgsgAEEANgIAIBBBAWohAUEoIRAMlAELAkAgBCACRw0AQbYBIRAMrgILIAIgBGsgACgCACIBaiEUIAQgAWtBAmohEAJAA0AgBC0AACABQerPgIAAai0AAEcNlgEgAUECRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQbYBIRAMrgILIABBADYCACAQQQFqIQFBByEQDJMBCwJAIAQgAkcNAEG3ASEQDK0CCwJAAkAgBC0AAEG7f2oODgCWAZYBlgGWAZYBlgGWAZYBlgGWAZYBlgEBlgELIARBAWohBEGhASEQDJQCCyAEQQFqIQRBogEhEAyTAgsCQCAEIAJHDQBBuAEhEAysAgsgAiAEayAAKAIAIgFqIRQgBCABa0ECaiEQAkADQCAELQAAIAFB7c+AgABqLQAARw2UASABQQJGDQEgAUEBaiEBIARBAWoiBCACRw0ACyAAIBQ2AgBBuAEhEAysAgsgAEEANgIAIBBBAWohAUESIRAMkQELAkAgBCACRw0AQbkBIRAMqwILIAIgBGsgACgCACIBaiEUIAQgAWtBAWohEAJAA0AgBC0AACABQfDPgIAAai0AAEcNkwEgAUEBRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQbkBIRAMqwILIABBADYCACAQQQFqIQFBICEQDJABCwJAIAQgAkcNAEG6ASEQDKoCCyACIARrIAAoAgAiAWohFCAEIAFrQQFqIRACQANAIAQtAAAgAUHyz4CAAGotAABHDZIBIAFBAUYNASABQQFqIQEgBEEBaiIEIAJHDQALIAAgFDYCAEG6ASEQDKoCCyAAQQA2AgAgEEEBaiEBQQ8hEAyPAQsCQCAEIAJHDQBBuwEhEAypAgsCQAJAIAQtAABBt39qDgcAkgGSAZIBkgGSAQGSAQsgBEEBaiEEQaUBIRAMkAILIARBAWohBEGmASEQDI8CCwJAIAQgAkcNAEG8ASEQDKgCCyACIARrIAAoAgAiAWohFCAEIAFrQQdqIRACQANAIAQtAAAgAUH0z4CAAGotAABHDZABIAFBB0YNASABQQFqIQEgBEEBaiIEIAJHDQALIAAgFDYCAEG8ASEQDKgCCyAAQQA2AgAgEEEBaiEBQRshEAyNAQsCQCAEIAJHDQBBvQEhEAynAgsCQAJAAkAgBC0AAEG+f2oOEgCRAZEBkQGRAZEBkQGRAZEBkQEBkQGRAZEBkQGRAZEBApEBCyAEQQFqIQRBpAEhEAyPAgsgBEEBaiEEQacBIRAMjgILIARBAWohBEGoASEQDI0CCwJAIAQgAkcNAEG+ASEQDKYCCyAELQAAQc4ARw2NASAEQQFqIQQMzwELAkAgBCACRw0AQb8BIRAMpQILAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgBC0AAEG/f2oOFQABAgOcAQQFBpwBnAGcAQcICQoLnAEMDQ4PnAELIARBAWohAUHoACEQDJoCCyAEQQFqIQFB6QAhEAyZAgsgBEEBaiEBQe4AIRAMmAILIARBAWohAUHyACEQDJcCCyAEQQFqIQFB8wAhEAyWAgsgBEEBaiEBQfYAIRAMlQILIARBAWohAUH3ACEQDJQCCyAEQQFqIQFB+gAhEAyTAgsgBEEBaiEEQYMBIRAMkgILIARBAWohBEGEASEQDJECCyAEQQFqIQRBhQEhEAyQAgsgBEEBaiEEQZIBIRAMjwILIARBAWohBEGYASEQDI4CCyAEQQFqIQRBoAEhEAyNAgsgBEEBaiEEQaMBIRAMjAILIARBAWohBEGqASEQDIsCCwJAIAQgAkYNACAAQZCAgIAANgIIIAAgBDYCBEGrASEQDIsCC0HAASEQDKMCCyAAIAUgAhCqgICAACIBDYsBIAUhAQxcCwJAIAYgAkYNACAGQQFqIQUMjQELQcIBIRAMoQILA0ACQCAQLQAAQXZqDgSMAQAAjwEACyAQQQFqIhAgAkcNAAtBwwEhEAygAgsCQCAHIAJGDQAgAEGRgICAADYCCCAAIAc2AgQgByEBQQEhEAyHAgtBxAEhEAyfAgsCQCAHIAJHDQBBxQEhEAyfAgsCQAJAIActAABBdmoOBAHOAc4BAM4BCyAHQQFqIQYMjQELIAdBAWohBQyJAQsCQCAHIAJHDQBBxgEhEAyeAgsCQAJAIActAABBdmoOFwGPAY8BAY8BjwGPAY8BjwGPAY8BjwGPAY8BjwGPAY8BjwGPAY8BjwGPAQCPAQsgB0EBaiEHC0GwASEQDIQCCwJAIAggAkcNAEHIASEQDJ0CCyAILQAAQSBHDY0BIABBADsBMiAIQQFqIQFBswEhEAyDAgsgASEXAkADQCAXIgcgAkYNASAHLQAAQVBqQf8BcSIQQQpPDcwBAkAgAC8BMiIUQZkzSw0AIAAgFEEKbCIUOwEyIBBB//8DcyAUQf7/A3FJDQAgB0EBaiEXIAAgFCAQaiIQOwEyIBBB//8DcUHoB0kNAQsLQQAhECAAQQA2AhwgAEHBiYCAADYCECAAQQ02AgwgACAHQQFqNgIUDJwCC0HHASEQDJsCCyAAIAggAhCugICAACIQRQ3KASAQQRVHDYwBIABByAE2AhwgACAINgIUIABByZeAgAA2AhAgAEEVNgIMQQAhEAyaAgsCQCAJIAJHDQBBzAEhEAyaAgtBACEUQQEhF0EBIRZBACEQAkACQAJAAkACQAJAAkACQAJAIAktAABBUGoOCpYBlQEAAQIDBAUGCJcBC0ECIRAMBgtBAyEQDAULQQQhEAwEC0EFIRAMAwtBBiEQDAILQQchEAwBC0EIIRALQQAhF0EAIRZBACEUDI4BC0EJIRBBASEUQQAhF0EAIRYMjQELAkAgCiACRw0AQc4BIRAMmQILIAotAABBLkcNjgEgCkEBaiEJDMoBCyALIAJHDY4BQdABIRAMlwILAkAgCyACRg0AIABBjoCAgAA2AgggACALNgIEQbcBIRAM/gELQdEBIRAMlgILAkAgBCACRw0AQdIBIRAMlgILIAIgBGsgACgCACIQaiEUIAQgEGtBBGohCwNAIAQtAAAgEEH8z4CAAGotAABHDY4BIBBBBEYN6QEgEEEBaiEQIARBAWoiBCACRw0ACyAAIBQ2AgBB0gEhEAyVAgsgACAMIAIQrICAgAAiAQ2NASAMIQEMuAELAkAgBCACRw0AQdQBIRAMlAILIAIgBGsgACgCACIQaiEUIAQgEGtBAWohDANAIAQtAAAgEEGB0ICAAGotAABHDY8BIBBBAUYNjgEgEEEBaiEQIARBAWoiBCACRw0ACyAAIBQ2AgBB1AEhEAyTAgsCQCAEIAJHDQBB1gEhEAyTAgsgAiAEayAAKAIAIhBqIRQgBCAQa0ECaiELA0AgBC0AACAQQYPQgIAAai0AAEcNjgEgEEECRg2QASAQQQFqIRAgBEEBaiIEIAJHDQALIAAgFDYCAEHWASEQDJICCwJAIAQgAkcNAEHXASEQDJICCwJAAkAgBC0AAEG7f2oOEACPAY8BjwGPAY8BjwGPAY8BjwGPAY8BjwGPAY8BAY8BCyAEQQFqIQRBuwEhEAz5AQsgBEEBaiEEQbwBIRAM+AELAkAgBCACRw0AQdgBIRAMkQILIAQtAABByABHDYwBIARBAWohBAzEAQsCQCAEIAJGDQAgAEGQgICAADYCCCAAIAQ2AgRBvgEhEAz3AQtB2QEhEAyPAgsCQCAEIAJHDQBB2gEhEAyPAgsgBC0AAEHIAEYNwwEgAEEBOgAoDLkBCyAAQQI6AC8gACAEIAIQpoCAgAAiEA2NAUHCASEQDPQBCyAALQAoQX9qDgK3AbkBuAELA0ACQCAELQAAQXZqDgQAjgGOAQCOAQsgBEEBaiIEIAJHDQALQd0BIRAMiwILIABBADoALyAALQAtQQRxRQ2EAgsgAEEAOgAvIABBAToANCABIQEMjAELIBBBFUYN2gEgAEEANgIcIAAgATYCFCAAQaeOgIAANgIQIABBEjYCDEEAIRAMiAILAkAgACAQIAIQtICAgAAiBA0AIBAhAQyBAgsCQCAEQRVHDQAgAEEDNgIcIAAgEDYCFCAAQbCYgIAANgIQIABBFTYCDEEAIRAMiAILIABBADYCHCAAIBA2AhQgAEGnjoCAADYCECAAQRI2AgxBACEQDIcCCyAQQRVGDdYBIABBADYCHCAAIAE2AhQgAEHajYCAADYCECAAQRQ2AgxBACEQDIYCCyAAKAIEIRcgAEEANgIEIBAgEadqIhYhASAAIBcgECAWIBQbIhAQtYCAgAAiFEUNjQEgAEEHNgIcIAAgEDYCFCAAIBQ2AgxBACEQDIUCCyAAIAAvATBBgAFyOwEwIAEhAQtBKiEQDOoBCyAQQRVGDdEBIABBADYCHCAAIAE2AhQgAEGDjICAADYCECAAQRM2AgxBACEQDIICCyAQQRVGDc8BIABBADYCHCAAIAE2AhQgAEGaj4CAADYCECAAQSI2AgxBACEQDIECCyAAKAIEIRAgAEEANgIEAkAgACAQIAEQt4CAgAAiEA0AIAFBAWohAQyNAQsgAEEMNgIcIAAgEDYCDCAAIAFBAWo2AhRBACEQDIACCyAQQRVGDcwBIABBADYCHCAAIAE2AhQgAEGaj4CAADYCECAAQSI2AgxBACEQDP8BCyAAKAIEIRAgAEEANgIEAkAgACAQIAEQt4CAgAAiEA0AIAFBAWohAQyMAQsgAEENNgIcIAAgEDYCDCAAIAFBAWo2AhRBACEQDP4BCyAQQRVGDckBIABBADYCHCAAIAE2AhQgAEHGjICAADYCECAAQSM2AgxBACEQDP0BCyAAKAIEIRAgAEEANgIEAkAgACAQIAEQuYCAgAAiEA0AIAFBAWohAQyLAQsgAEEONgIcIAAgEDYCDCAAIAFBAWo2AhRBACEQDPwBCyAAQQA2AhwgACABNgIUIABBwJWAgAA2AhAgAEECNgIMQQAhEAz7AQsgEEEVRg3FASAAQQA2AhwgACABNgIUIABBxoyAgAA2AhAgAEEjNgIMQQAhEAz6AQsgAEEQNgIcIAAgATYCFCAAIBA2AgxBACEQDPkBCyAAKAIEIQQgAEEANgIEAkAgACAEIAEQuYCAgAAiBA0AIAFBAWohAQzxAQsgAEERNgIcIAAgBDYCDCAAIAFBAWo2AhRBACEQDPgBCyAQQRVGDcEBIABBADYCHCAAIAE2AhQgAEHGjICAADYCECAAQSM2AgxBACEQDPcBCyAAKAIEIRAgAEEANgIEAkAgACAQIAEQuYCAgAAiEA0AIAFBAWohAQyIAQsgAEETNgIcIAAgEDYCDCAAIAFBAWo2AhRBACEQDPYBCyAAKAIEIQQgAEEANgIEAkAgACAEIAEQuYCAgAAiBA0AIAFBAWohAQztAQsgAEEUNgIcIAAgBDYCDCAAIAFBAWo2AhRBACEQDPUBCyAQQRVGDb0BIABBADYCHCAAIAE2AhQgAEGaj4CAADYCECAAQSI2AgxBACEQDPQBCyAAKAIEIRAgAEEANgIEAkAgACAQIAEQt4CAgAAiEA0AIAFBAWohAQyGAQsgAEEWNgIcIAAgEDYCDCAAIAFBAWo2AhRBACEQDPMBCyAAKAIEIQQgAEEANgIEAkAgACAEIAEQt4CAgAAiBA0AIAFBAWohAQzpAQsgAEEXNgIcIAAgBDYCDCAAIAFBAWo2AhRBACEQDPIBCyAAQQA2AhwgACABNgIUIABBzZOAgAA2AhAgAEEMNgIMQQAhEAzxAQtCASERCyAQQQFqIQECQCAAKQMgIhJC//////////8PVg0AIAAgEkIEhiARhDcDICABIQEMhAELIABBADYCHCAAIAE2AhQgAEGtiYCAADYCECAAQQw2AgxBACEQDO8BCyAAQQA2AhwgACAQNgIUIABBzZOAgAA2AhAgAEEMNgIMQQAhEAzuAQsgACgCBCEXIABBADYCBCAQIBGnaiIWIQEgACAXIBAgFiAUGyIQELWAgIAAIhRFDXMgAEEFNgIcIAAgEDYCFCAAIBQ2AgxBACEQDO0BCyAAQQA2AhwgACAQNgIUIABBqpyAgAA2AhAgAEEPNgIMQQAhEAzsAQsgACAQIAIQtICAgAAiAQ0BIBAhAQtBDiEQDNEBCwJAIAFBFUcNACAAQQI2AhwgACAQNgIUIABBsJiAgAA2AhAgAEEVNgIMQQAhEAzqAQsgAEEANgIcIAAgEDYCFCAAQaeOgIAANgIQIABBEjYCDEEAIRAM6QELIAFBAWohEAJAIAAvATAiAUGAAXFFDQACQCAAIBAgAhC7gICAACIBDQAgECEBDHALIAFBFUcNugEgAEEFNgIcIAAgEDYCFCAAQfmXgIAANgIQIABBFTYCDEEAIRAM6QELAkAgAUGgBHFBoARHDQAgAC0ALUECcQ0AIABBADYCHCAAIBA2AhQgAEGWk4CAADYCECAAQQQ2AgxBACEQDOkBCyAAIBAgAhC9gICAABogECEBAkACQAJAAkACQCAAIBAgAhCzgICAAA4WAgEABAQEBAQEBAQEBAQEBAQEBAQEAwQLIABBAToALgsgACAALwEwQcAAcjsBMCAQIQELQSYhEAzRAQsgAEEjNgIcIAAgEDYCFCAAQaWWgIAANgIQIABBFTYCDEEAIRAM6QELIABBADYCHCAAIBA2AhQgAEHVi4CAADYCECAAQRE2AgxBACEQDOgBCyAALQAtQQFxRQ0BQcMBIRAMzgELAkAgDSACRg0AA0ACQCANLQAAQSBGDQAgDSEBDMQBCyANQQFqIg0gAkcNAAtBJSEQDOcBC0ElIRAM5gELIAAoAgQhBCAAQQA2AgQgACAEIA0Qr4CAgAAiBEUNrQEgAEEmNgIcIAAgBDYCDCAAIA1BAWo2AhRBACEQDOUBCyAQQRVGDasBIABBADYCHCAAIAE2AhQgAEH9jYCAADYCECAAQR02AgxBACEQDOQBCyAAQSc2AhwgACABNgIUIAAgEDYCDEEAIRAM4wELIBAhAUEBIRQCQAJAAkACQAJAAkACQCAALQAsQX5qDgcGBQUDAQIABQsgACAALwEwQQhyOwEwDAMLQQIhFAwBC0EEIRQLIABBAToALCAAIAAvATAgFHI7ATALIBAhAQtBKyEQDMoBCyAAQQA2AhwgACAQNgIUIABBq5KAgAA2AhAgAEELNgIMQQAhEAziAQsgAEEANgIcIAAgATYCFCAAQeGPgIAANgIQIABBCjYCDEEAIRAM4QELIABBADoALCAQIQEMvQELIBAhAUEBIRQCQAJAAkACQAJAIAAtACxBe2oOBAMBAgAFCyAAIAAvATBBCHI7ATAMAwtBAiEUDAELQQQhFAsgAEEBOgAsIAAgAC8BMCAUcjsBMAsgECEBC0EpIRAMxQELIABBADYCHCAAIAE2AhQgAEHwlICAADYCECAAQQM2AgxBACEQDN0BCwJAIA4tAABBDUcNACAAKAIEIQEgAEEANgIEAkAgACABIA4QsYCAgAAiAQ0AIA5BAWohAQx1CyAAQSw2AhwgACABNgIMIAAgDkEBajYCFEEAIRAM3QELIAAtAC1BAXFFDQFBxAEhEAzDAQsCQCAOIAJHDQBBLSEQDNwBCwJAAkADQAJAIA4tAABBdmoOBAIAAAMACyAOQQFqIg4gAkcNAAtBLSEQDN0BCyAAKAIEIQEgAEEANgIEAkAgACABIA4QsYCAgAAiAQ0AIA4hAQx0CyAAQSw2AhwgACAONgIUIAAgATYCDEEAIRAM3AELIAAoAgQhASAAQQA2AgQCQCAAIAEgDhCxgICAACIBDQAgDkEBaiEBDHMLIABBLDYCHCAAIAE2AgwgACAOQQFqNgIUQQAhEAzbAQsgACgCBCEEIABBADYCBCAAIAQgDhCxgICAACIEDaABIA4hAQzOAQsgEEEsRw0BIAFBAWohEEEBIQECQAJAAkACQAJAIAAtACxBe2oOBAMBAgQACyAQIQEMBAtBAiEBDAELQQQhAQsgAEEBOgAsIAAgAC8BMCABcjsBMCAQIQEMAQsgACAALwEwQQhyOwEwIBAhAQtBOSEQDL8BCyAAQQA6ACwgASEBC0E0IRAMvQELIAAgAC8BMEEgcjsBMCABIQEMAgsgACgCBCEEIABBADYCBAJAIAAgBCABELGAgIAAIgQNACABIQEMxwELIABBNzYCHCAAIAE2AhQgACAENgIMQQAhEAzUAQsgAEEIOgAsIAEhAQtBMCEQDLkBCwJAIAAtAChBAUYNACABIQEMBAsgAC0ALUEIcUUNkwEgASEBDAMLIAAtADBBIHENlAFBxQEhEAy3AQsCQCAPIAJGDQACQANAAkAgDy0AAEFQaiIBQf8BcUEKSQ0AIA8hAUE1IRAMugELIAApAyAiEUKZs+bMmbPmzBlWDQEgACARQgp+IhE3AyAgESABrUL/AYMiEkJ/hVYNASAAIBEgEnw3AyAgD0EBaiIPIAJHDQALQTkhEAzRAQsgACgCBCECIABBADYCBCAAIAIgD0EBaiIEELGAgIAAIgINlQEgBCEBDMMBC0E5IRAMzwELAkAgAC8BMCIBQQhxRQ0AIAAtAChBAUcNACAALQAtQQhxRQ2QAQsgACABQff7A3FBgARyOwEwIA8hAQtBNyEQDLQBCyAAIAAvATBBEHI7ATAMqwELIBBBFUYNiwEgAEEANgIcIAAgATYCFCAAQfCOgIAANgIQIABBHDYCDEEAIRAMywELIABBwwA2AhwgACABNgIMIAAgDUEBajYCFEEAIRAMygELAkAgAS0AAEE6Rw0AIAAoAgQhECAAQQA2AgQCQCAAIBAgARCvgICAACIQDQAgAUEBaiEBDGMLIABBwwA2AhwgACAQNgIMIAAgAUEBajYCFEEAIRAMygELIABBADYCHCAAIAE2AhQgAEGxkYCAADYCECAAQQo2AgxBACEQDMkBCyAAQQA2AhwgACABNgIUIABBoJmAgAA2AhAgAEEeNgIMQQAhEAzIAQsgAEEANgIACyAAQYASOwEqIAAgF0EBaiIBIAIQqICAgAAiEA0BIAEhAQtBxwAhEAysAQsgEEEVRw2DASAAQdEANgIcIAAgATYCFCAAQeOXgIAANgIQIABBFTYCDEEAIRAMxAELIAAoAgQhECAAQQA2AgQCQCAAIBAgARCngICAACIQDQAgASEBDF4LIABB0gA2AhwgACABNgIUIAAgEDYCDEEAIRAMwwELIABBADYCHCAAIBQ2AhQgAEHBqICAADYCECAAQQc2AgwgAEEANgIAQQAhEAzCAQsgACgCBCEQIABBADYCBAJAIAAgECABEKeAgIAAIhANACABIQEMXQsgAEHTADYCHCAAIAE2AhQgACAQNgIMQQAhEAzBAQtBACEQIABBADYCHCAAIAE2AhQgAEGAkYCAADYCECAAQQk2AgwMwAELIBBBFUYNfSAAQQA2AhwgACABNgIUIABBlI2AgAA2AhAgAEEhNgIMQQAhEAy/AQtBASEWQQAhF0EAIRRBASEQCyAAIBA6ACsgAUEBaiEBAkACQCAALQAtQRBxDQACQAJAAkAgAC0AKg4DAQACBAsgFkUNAwwCCyAUDQEMAgsgF0UNAQsgACgCBCEQIABBADYCBAJAIAAgECABEK2AgIAAIhANACABIQEMXAsgAEHYADYCHCAAIAE2AhQgACAQNgIMQQAhEAy+AQsgACgCBCEEIABBADYCBAJAIAAgBCABEK2AgIAAIgQNACABIQEMrQELIABB2QA2AhwgACABNgIUIAAgBDYCDEEAIRAMvQELIAAoAgQhBCAAQQA2AgQCQCAAIAQgARCtgICAACIEDQAgASEBDKsBCyAAQdoANgIcIAAgATYCFCAAIAQ2AgxBACEQDLwBCyAAKAIEIQQgAEEANgIEAkAgACAEIAEQrYCAgAAiBA0AIAEhAQypAQsgAEHcADYCHCAAIAE2AhQgACAENgIMQQAhEAy7AQsCQCABLQAAQVBqIhBB/wFxQQpPDQAgACAQOgAqIAFBAWohAUHPACEQDKIBCyAAKAIEIQQgAEEANgIEAkAgACAEIAEQrYCAgAAiBA0AIAEhAQynAQsgAEHeADYCHCAAIAE2AhQgACAENgIMQQAhEAy6AQsgAEEANgIAIBdBAWohAQJAIAAtAClBI08NACABIQEMWQsgAEEANgIcIAAgATYCFCAAQdOJgIAANgIQIABBCDYCDEEAIRAMuQELIABBADYCAAtBACEQIABBADYCHCAAIAE2AhQgAEGQs4CAADYCECAAQQg2AgwMtwELIABBADYCACAXQQFqIQECQCAALQApQSFHDQAgASEBDFYLIABBADYCHCAAIAE2AhQgAEGbioCAADYCECAAQQg2AgxBACEQDLYBCyAAQQA2AgAgF0EBaiEBAkAgAC0AKSIQQV1qQQtPDQAgASEBDFULAkAgEEEGSw0AQQEgEHRBygBxRQ0AIAEhAQxVC0EAIRAgAEEANgIcIAAgATYCFCAAQfeJgIAANgIQIABBCDYCDAy1AQsgEEEVRg1xIABBADYCHCAAIAE2AhQgAEG5jYCAADYCECAAQRo2AgxBACEQDLQBCyAAKAIEIRAgAEEANgIEAkAgACAQIAEQp4CAgAAiEA0AIAEhAQxUCyAAQeUANgIcIAAgATYCFCAAIBA2AgxBACEQDLMBCyAAKAIEIRAgAEEANgIEAkAgACAQIAEQp4CAgAAiEA0AIAEhAQxNCyAAQdIANgIcIAAgATYCFCAAIBA2AgxBACEQDLIBCyAAKAIEIRAgAEEANgIEAkAgACAQIAEQp4CAgAAiEA0AIAEhAQxNCyAAQdMANgIcIAAgATYCFCAAIBA2AgxBACEQDLEBCyAAKAIEIRAgAEEANgIEAkAgACAQIAEQp4CAgAAiEA0AIAEhAQxRCyAAQeUANgIcIAAgATYCFCAAIBA2AgxBACEQDLABCyAAQQA2AhwgACABNgIUIABBxoqAgAA2AhAgAEEHNgIMQQAhEAyvAQsgACgCBCEQIABBADYCBAJAIAAgECABEKeAgIAAIhANACABIQEMSQsgAEHSADYCHCAAIAE2AhQgACAQNgIMQQAhEAyuAQsgACgCBCEQIABBADYCBAJAIAAgECABEKeAgIAAIhANACABIQEMSQsgAEHTADYCHCAAIAE2AhQgACAQNgIMQQAhEAytAQsgACgCBCEQIABBADYCBAJAIAAgECABEKeAgIAAIhANACABIQEMTQsgAEHlADYCHCAAIAE2AhQgACAQNgIMQQAhEAysAQsgAEEANgIcIAAgATYCFCAAQdyIgIAANgIQIABBBzYCDEEAIRAMqwELIBBBP0cNASABQQFqIQELQQUhEAyQAQtBACEQIABBADYCHCAAIAE2AhQgAEH9koCAADYCECAAQQc2AgwMqAELIAAoAgQhECAAQQA2AgQCQCAAIBAgARCngICAACIQDQAgASEBDEILIABB0gA2AhwgACABNgIUIAAgEDYCDEEAIRAMpwELIAAoAgQhECAAQQA2AgQCQCAAIBAgARCngICAACIQDQAgASEBDEILIABB0wA2AhwgACABNgIUIAAgEDYCDEEAIRAMpgELIAAoAgQhECAAQQA2AgQCQCAAIBAgARCngICAACIQDQAgASEBDEYLIABB5QA2AhwgACABNgIUIAAgEDYCDEEAIRAMpQELIAAoAgQhASAAQQA2AgQCQCAAIAEgFBCngICAACIBDQAgFCEBDD8LIABB0gA2AhwgACAUNgIUIAAgATYCDEEAIRAMpAELIAAoAgQhASAAQQA2AgQCQCAAIAEgFBCngICAACIBDQAgFCEBDD8LIABB0wA2AhwgACAUNgIUIAAgATYCDEEAIRAMowELIAAoAgQhASAAQQA2AgQCQCAAIAEgFBCngICAACIBDQAgFCEBDEMLIABB5QA2AhwgACAUNgIUIAAgATYCDEEAIRAMogELIABBADYCHCAAIBQ2AhQgAEHDj4CAADYCECAAQQc2AgxBACEQDKEBCyAAQQA2AhwgACABNgIUIABBw4+AgAA2AhAgAEEHNgIMQQAhEAygAQtBACEQIABBADYCHCAAIBQ2AhQgAEGMnICAADYCECAAQQc2AgwMnwELIABBADYCHCAAIBQ2AhQgAEGMnICAADYCECAAQQc2AgxBACEQDJ4BCyAAQQA2AhwgACAUNgIUIABB/pGAgAA2AhAgAEEHNgIMQQAhEAydAQsgAEEANgIcIAAgATYCFCAAQY6bgIAANgIQIABBBjYCDEEAIRAMnAELIBBBFUYNVyAAQQA2AhwgACABNgIUIABBzI6AgAA2AhAgAEEgNgIMQQAhEAybAQsgAEEANgIAIBBBAWohAUEkIRALIAAgEDoAKSAAKAIEIRAgAEEANgIEIAAgECABEKuAgIAAIhANVCABIQEMPgsgAEEANgIAC0EAIRAgAEEANgIcIAAgBDYCFCAAQfGbgIAANgIQIABBBjYCDAyXAQsgAUEVRg1QIABBADYCHCAAIAU2AhQgAEHwjICAADYCECAAQRs2AgxBACEQDJYBCyAAKAIEIQUgAEEANgIEIAAgBSAQEKmAgIAAIgUNASAQQQFqIQULQa0BIRAMewsgAEHBATYCHCAAIAU2AgwgACAQQQFqNgIUQQAhEAyTAQsgACgCBCEGIABBADYCBCAAIAYgEBCpgICAACIGDQEgEEEBaiEGC0GuASEQDHgLIABBwgE2AhwgACAGNgIMIAAgEEEBajYCFEEAIRAMkAELIABBADYCHCAAIAc2AhQgAEGXi4CAADYCECAAQQ02AgxBACEQDI8BCyAAQQA2AhwgACAINgIUIABB45CAgAA2AhAgAEEJNgIMQQAhEAyOAQsgAEEANgIcIAAgCDYCFCAAQZSNgIAANgIQIABBITYCDEEAIRAMjQELQQEhFkEAIRdBACEUQQEhEAsgACAQOgArIAlBAWohCAJAAkAgAC0ALUEQcQ0AAkACQAJAIAAtACoOAwEAAgQLIBZFDQMMAgsgFA0BDAILIBdFDQELIAAoAgQhECAAQQA2AgQgACAQIAgQrYCAgAAiEEUNPSAAQckBNgIcIAAgCDYCFCAAIBA2AgxBACEQDIwBCyAAKAIEIQQgAEEANgIEIAAgBCAIEK2AgIAAIgRFDXYgAEHKATYCHCAAIAg2AhQgACAENgIMQQAhEAyLAQsgACgCBCEEIABBADYCBCAAIAQgCRCtgICAACIERQ10IABBywE2AhwgACAJNgIUIAAgBDYCDEEAIRAMigELIAAoAgQhBCAAQQA2AgQgACAEIAoQrYCAgAAiBEUNciAAQc0BNgIcIAAgCjYCFCAAIAQ2AgxBACEQDIkBCwJAIAstAABBUGoiEEH/AXFBCk8NACAAIBA6ACogC0EBaiEKQbYBIRAMcAsgACgCBCEEIABBADYCBCAAIAQgCxCtgICAACIERQ1wIABBzwE2AhwgACALNgIUIAAgBDYCDEEAIRAMiAELIABBADYCHCAAIAQ2AhQgAEGQs4CAADYCECAAQQg2AgwgAEEANgIAQQAhEAyHAQsgAUEVRg0/IABBADYCHCAAIAw2AhQgAEHMjoCAADYCECAAQSA2AgxBACEQDIYBCyAAQYEEOwEoIAAoAgQhECAAQgA3AwAgACAQIAxBAWoiDBCrgICAACIQRQ04IABB0wE2AhwgACAMNgIUIAAgEDYCDEEAIRAMhQELIABBADYCAAtBACEQIABBADYCHCAAIAQ2AhQgAEHYm4CAADYCECAAQQg2AgwMgwELIAAoAgQhECAAQgA3AwAgACAQIAtBAWoiCxCrgICAACIQDQFBxgEhEAxpCyAAQQI6ACgMVQsgAEHVATYCHCAAIAs2AhQgACAQNgIMQQAhEAyAAQsgEEEVRg03IABBADYCHCAAIAQ2AhQgAEGkjICAADYCECAAQRA2AgxBACEQDH8LIAAtADRBAUcNNCAAIAQgAhC8gICAACIQRQ00IBBBFUcNNSAAQdwBNgIcIAAgBDYCFCAAQdWWgIAANgIQIABBFTYCDEEAIRAMfgtBACEQIABBADYCHCAAQa+LgIAANgIQIABBAjYCDCAAIBRBAWo2AhQMfQtBACEQDGMLQQIhEAxiC0ENIRAMYQtBDyEQDGALQSUhEAxfC0ETIRAMXgtBFSEQDF0LQRYhEAxcC0EXIRAMWwtBGCEQDFoLQRkhEAxZC0EaIRAMWAtBGyEQDFcLQRwhEAxWC0EdIRAMVQtBHyEQDFQLQSEhEAxTC0EjIRAMUgtBxgAhEAxRC0EuIRAMUAtBLyEQDE8LQTshEAxOC0E9IRAMTQtByAAhEAxMC0HJACEQDEsLQcsAIRAMSgtBzAAhEAxJC0HOACEQDEgLQdEAIRAMRwtB1QAhEAxGC0HYACEQDEULQdkAIRAMRAtB2wAhEAxDC0HkACEQDEILQeUAIRAMQQtB8QAhEAxAC0H0ACEQDD8LQY0BIRAMPgtBlwEhEAw9C0GpASEQDDwLQawBIRAMOwtBwAEhEAw6C0G5ASEQDDkLQa8BIRAMOAtBsQEhEAw3C0GyASEQDDYLQbQBIRAMNQtBtQEhEAw0C0G6ASEQDDMLQb0BIRAMMgtBvwEhEAwxC0HBASEQDDALIABBADYCHCAAIAQ2AhQgAEHpi4CAADYCECAAQR82AgxBACEQDEgLIABB2wE2AhwgACAENgIUIABB+paAgAA2AhAgAEEVNgIMQQAhEAxHCyAAQfgANgIcIAAgDDYCFCAAQcqYgIAANgIQIABBFTYCDEEAIRAMRgsgAEHRADYCHCAAIAU2AhQgAEGwl4CAADYCECAAQRU2AgxBACEQDEULIABB+QA2AhwgACABNgIUIAAgEDYCDEEAIRAMRAsgAEH4ADYCHCAAIAE2AhQgAEHKmICAADYCECAAQRU2AgxBACEQDEMLIABB5AA2AhwgACABNgIUIABB45eAgAA2AhAgAEEVNgIMQQAhEAxCCyAAQdcANgIcIAAgATYCFCAAQcmXgIAANgIQIABBFTYCDEEAIRAMQQsgAEEANgIcIAAgATYCFCAAQbmNgIAANgIQIABBGjYCDEEAIRAMQAsgAEHCADYCHCAAIAE2AhQgAEHjmICAADYCECAAQRU2AgxBACEQDD8LIABBADYCBCAAIA8gDxCxgICAACIERQ0BIABBOjYCHCAAIAQ2AgwgACAPQQFqNgIUQQAhEAw+CyAAKAIEIQQgAEEANgIEAkAgACAEIAEQsYCAgAAiBEUNACAAQTs2AhwgACAENgIMIAAgAUEBajYCFEEAIRAMPgsgAUEBaiEBDC0LIA9BAWohAQwtCyAAQQA2AhwgACAPNgIUIABB5JKAgAA2AhAgAEEENgIMQQAhEAw7CyAAQTY2AhwgACAENgIUIAAgAjYCDEEAIRAMOgsgAEEuNgIcIAAgDjYCFCAAIAQ2AgxBACEQDDkLIABB0AA2AhwgACABNgIUIABBkZiAgAA2AhAgAEEVNgIMQQAhEAw4CyANQQFqIQEMLAsgAEEVNgIcIAAgATYCFCAAQYKZgIAANgIQIABBFTYCDEEAIRAMNgsgAEEbNgIcIAAgATYCFCAAQZGXgIAANgIQIABBFTYCDEEAIRAMNQsgAEEPNgIcIAAgATYCFCAAQZGXgIAANgIQIABBFTYCDEEAIRAMNAsgAEELNgIcIAAgATYCFCAAQZGXgIAANgIQIABBFTYCDEEAIRAMMwsgAEEaNgIcIAAgATYCFCAAQYKZgIAANgIQIABBFTYCDEEAIRAMMgsgAEELNgIcIAAgATYCFCAAQYKZgIAANgIQIABBFTYCDEEAIRAMMQsgAEEKNgIcIAAgATYCFCAAQeSWgIAANgIQIABBFTYCDEEAIRAMMAsgAEEeNgIcIAAgATYCFCAAQfmXgIAANgIQIABBFTYCDEEAIRAMLwsgAEEANgIcIAAgEDYCFCAAQdqNgIAANgIQIABBFDYCDEEAIRAMLgsgAEEENgIcIAAgATYCFCAAQbCYgIAANgIQIABBFTYCDEEAIRAMLQsgAEEANgIAIAtBAWohCwtBuAEhEAwSCyAAQQA2AgAgEEEBaiEBQfUAIRAMEQsgASEBAkAgAC0AKUEFRw0AQeMAIRAMEQtB4gAhEAwQC0EAIRAgAEEANgIcIABB5JGAgAA2AhAgAEEHNgIMIAAgFEEBajYCFAwoCyAAQQA2AgAgF0EBaiEBQcAAIRAMDgtBASEBCyAAIAE6ACwgAEEANgIAIBdBAWohAQtBKCEQDAsLIAEhAQtBOCEQDAkLAkAgASIPIAJGDQADQAJAIA8tAABBgL6AgABqLQAAIgFBAUYNACABQQJHDQMgD0EBaiEBDAQLIA9BAWoiDyACRw0AC0E+IRAMIgtBPiEQDCELIABBADoALCAPIQEMAQtBCyEQDAYLQTohEAwFCyABQQFqIQFBLSEQDAQLIAAgAToALCAAQQA2AgAgFkEBaiEBQQwhEAwDCyAAQQA2AgAgF0EBaiEBQQohEAwCCyAAQQA2AgALIABBADoALCANIQFBCSEQDAALC0EAIRAgAEEANgIcIAAgCzYCFCAAQc2QgIAANgIQIABBCTYCDAwXC0EAIRAgAEEANgIcIAAgCjYCFCAAQemKgIAANgIQIABBCTYCDAwWC0EAIRAgAEEANgIcIAAgCTYCFCAAQbeQgIAANgIQIABBCTYCDAwVC0EAIRAgAEEANgIcIAAgCDYCFCAAQZyRgIAANgIQIABBCTYCDAwUC0EAIRAgAEEANgIcIAAgATYCFCAAQc2QgIAANgIQIABBCTYCDAwTC0EAIRAgAEEANgIcIAAgATYCFCAAQemKgIAANgIQIABBCTYCDAwSC0EAIRAgAEEANgIcIAAgATYCFCAAQbeQgIAANgIQIABBCTYCDAwRC0EAIRAgAEEANgIcIAAgATYCFCAAQZyRgIAANgIQIABBCTYCDAwQC0EAIRAgAEEANgIcIAAgATYCFCAAQZeVgIAANgIQIABBDzYCDAwPC0EAIRAgAEEANgIcIAAgATYCFCAAQZeVgIAANgIQIABBDzYCDAwOC0EAIRAgAEEANgIcIAAgATYCFCAAQcCSgIAANgIQIABBCzYCDAwNC0EAIRAgAEEANgIcIAAgATYCFCAAQZWJgIAANgIQIABBCzYCDAwMC0EAIRAgAEEANgIcIAAgATYCFCAAQeGPgIAANgIQIABBCjYCDAwLC0EAIRAgAEEANgIcIAAgATYCFCAAQfuPgIAANgIQIABBCjYCDAwKC0EAIRAgAEEANgIcIAAgATYCFCAAQfGZgIAANgIQIABBAjYCDAwJC0EAIRAgAEEANgIcIAAgATYCFCAAQcSUgIAANgIQIABBAjYCDAwIC0EAIRAgAEEANgIcIAAgATYCFCAAQfKVgIAANgIQIABBAjYCDAwHCyAAQQI2AhwgACABNgIUIABBnJqAgAA2AhAgAEEWNgIMQQAhEAwGC0EBIRAMBQtB1AAhECABIgQgAkYNBCADQQhqIAAgBCACQdjCgIAAQQoQxYCAgAAgAygCDCEEIAMoAggOAwEEAgALEMqAgIAAAAsgAEEANgIcIABBtZqAgAA2AhAgAEEXNgIMIAAgBEEBajYCFEEAIRAMAgsgAEEANgIcIAAgBDYCFCAAQcqagIAANgIQIABBCTYCDEEAIRAMAQsCQCABIgQgAkcNAEEiIRAMAQsgAEGJgICAADYCCCAAIAQ2AgRBISEQCyADQRBqJICAgIAAIBALrwEBAn8gASgCACEGAkACQCACIANGDQAgBCAGaiEEIAYgA2ogAmshByACIAZBf3MgBWoiBmohBQNAAkAgAi0AACAELQAARg0AQQIhBAwDCwJAIAYNAEEAIQQgBSECDAMLIAZBf2ohBiAEQQFqIQQgAkEBaiICIANHDQALIAchBiADIQILIABBATYCACABIAY2AgAgACACNgIEDwsgAUEANgIAIAAgBDYCACAAIAI2AgQLCgAgABDHgICAAAvyNgELfyOAgICAAEEQayIBJICAgIAAAkBBACgCoNCAgAANAEEAEMuAgIAAQYDUhIAAayICQdkASQ0AQQAhAwJAQQAoAuDTgIAAIgQNAEEAQn83AuzTgIAAQQBCgICEgICAwAA3AuTTgIAAQQAgAUEIakFwcUHYqtWqBXMiBDYC4NOAgABBAEEANgL004CAAEEAQQA2AsTTgIAAC0EAIAI2AszTgIAAQQBBgNSEgAA2AsjTgIAAQQBBgNSEgAA2ApjQgIAAQQAgBDYCrNCAgABBAEF/NgKo0ICAAANAIANBxNCAgABqIANBuNCAgABqIgQ2AgAgBCADQbDQgIAAaiIFNgIAIANBvNCAgABqIAU2AgAgA0HM0ICAAGogA0HA0ICAAGoiBTYCACAFIAQ2AgAgA0HU0ICAAGogA0HI0ICAAGoiBDYCACAEIAU2AgAgA0HQ0ICAAGogBDYCACADQSBqIgNBgAJHDQALQYDUhIAAQXhBgNSEgABrQQ9xQQBBgNSEgABBCGpBD3EbIgNqIgRBBGogAkFIaiIFIANrIgNBAXI2AgBBAEEAKALw04CAADYCpNCAgABBACADNgKU0ICAAEEAIAQ2AqDQgIAAQYDUhIAAIAVqQTg2AgQLAkACQAJAAkACQAJAAkACQAJAAkACQAJAIABB7AFLDQACQEEAKAKI0ICAACIGQRAgAEETakFwcSAAQQtJGyICQQN2IgR2IgNBA3FFDQACQAJAIANBAXEgBHJBAXMiBUEDdCIEQbDQgIAAaiIDIARBuNCAgABqKAIAIgQoAggiAkcNAEEAIAZBfiAFd3E2AojQgIAADAELIAMgAjYCCCACIAM2AgwLIARBCGohAyAEIAVBA3QiBUEDcjYCBCAEIAVqIgQgBCgCBEEBcjYCBAwMCyACQQAoApDQgIAAIgdNDQECQCADRQ0AAkACQCADIAR0QQIgBHQiA0EAIANrcnEiA0EAIANrcUF/aiIDIANBDHZBEHEiA3YiBEEFdkEIcSIFIANyIAQgBXYiA0ECdkEEcSIEciADIAR2IgNBAXZBAnEiBHIgAyAEdiIDQQF2QQFxIgRyIAMgBHZqIgRBA3QiA0Gw0ICAAGoiBSADQbjQgIAAaigCACIDKAIIIgBHDQBBACAGQX4gBHdxIgY2AojQgIAADAELIAUgADYCCCAAIAU2AgwLIAMgAkEDcjYCBCADIARBA3QiBGogBCACayIFNgIAIAMgAmoiACAFQQFyNgIEAkAgB0UNACAHQXhxQbDQgIAAaiECQQAoApzQgIAAIQQCQAJAIAZBASAHQQN2dCIIcQ0AQQAgBiAIcjYCiNCAgAAgAiEIDAELIAIoAgghCAsgCCAENgIMIAIgBDYCCCAEIAI2AgwgBCAINgIICyADQQhqIQNBACAANgKc0ICAAEEAIAU2ApDQgIAADAwLQQAoAozQgIAAIglFDQEgCUEAIAlrcUF/aiIDIANBDHZBEHEiA3YiBEEFdkEIcSIFIANyIAQgBXYiA0ECdkEEcSIEciADIAR2IgNBAXZBAnEiBHIgAyAEdiIDQQF2QQFxIgRyIAMgBHZqQQJ0QbjSgIAAaigCACIAKAIEQXhxIAJrIQQgACEFAkADQAJAIAUoAhAiAw0AIAVBFGooAgAiA0UNAgsgAygCBEF4cSACayIFIAQgBSAESSIFGyEEIAMgACAFGyEAIAMhBQwACwsgACgCGCEKAkAgACgCDCIIIABGDQAgACgCCCIDQQAoApjQgIAASRogCCADNgIIIAMgCDYCDAwLCwJAIABBFGoiBSgCACIDDQAgACgCECIDRQ0DIABBEGohBQsDQCAFIQsgAyIIQRRqIgUoAgAiAw0AIAhBEGohBSAIKAIQIgMNAAsgC0EANgIADAoLQX8hAiAAQb9/Sw0AIABBE2oiA0FwcSECQQAoAozQgIAAIgdFDQBBACELAkAgAkGAAkkNAEEfIQsgAkH///8HSw0AIANBCHYiAyADQYD+P2pBEHZBCHEiA3QiBCAEQYDgH2pBEHZBBHEiBHQiBSAFQYCAD2pBEHZBAnEiBXRBD3YgAyAEciAFcmsiA0EBdCACIANBFWp2QQFxckEcaiELC0EAIAJrIQQCQAJAAkACQCALQQJ0QbjSgIAAaigCACIFDQBBACEDQQAhCAwBC0EAIQMgAkEAQRkgC0EBdmsgC0EfRht0IQBBACEIA0ACQCAFKAIEQXhxIAJrIgYgBE8NACAGIQQgBSEIIAYNAEEAIQQgBSEIIAUhAwwDCyADIAVBFGooAgAiBiAGIAUgAEEddkEEcWpBEGooAgAiBUYbIAMgBhshAyAAQQF0IQAgBQ0ACwsCQCADIAhyDQBBACEIQQIgC3QiA0EAIANrciAHcSIDRQ0DIANBACADa3FBf2oiAyADQQx2QRBxIgN2IgVBBXZBCHEiACADciAFIAB2IgNBAnZBBHEiBXIgAyAFdiIDQQF2QQJxIgVyIAMgBXYiA0EBdkEBcSIFciADIAV2akECdEG40oCAAGooAgAhAwsgA0UNAQsDQCADKAIEQXhxIAJrIgYgBEkhAAJAIAMoAhAiBQ0AIANBFGooAgAhBQsgBiAEIAAbIQQgAyAIIAAbIQggBSEDIAUNAAsLIAhFDQAgBEEAKAKQ0ICAACACa08NACAIKAIYIQsCQCAIKAIMIgAgCEYNACAIKAIIIgNBACgCmNCAgABJGiAAIAM2AgggAyAANgIMDAkLAkAgCEEUaiIFKAIAIgMNACAIKAIQIgNFDQMgCEEQaiEFCwNAIAUhBiADIgBBFGoiBSgCACIDDQAgAEEQaiEFIAAoAhAiAw0ACyAGQQA2AgAMCAsCQEEAKAKQ0ICAACIDIAJJDQBBACgCnNCAgAAhBAJAAkAgAyACayIFQRBJDQAgBCACaiIAIAVBAXI2AgRBACAFNgKQ0ICAAEEAIAA2ApzQgIAAIAQgA2ogBTYCACAEIAJBA3I2AgQMAQsgBCADQQNyNgIEIAQgA2oiAyADKAIEQQFyNgIEQQBBADYCnNCAgABBAEEANgKQ0ICAAAsgBEEIaiEDDAoLAkBBACgClNCAgAAiACACTQ0AQQAoAqDQgIAAIgMgAmoiBCAAIAJrIgVBAXI2AgRBACAFNgKU0ICAAEEAIAQ2AqDQgIAAIAMgAkEDcjYCBCADQQhqIQMMCgsCQAJAQQAoAuDTgIAARQ0AQQAoAujTgIAAIQQMAQtBAEJ/NwLs04CAAEEAQoCAhICAgMAANwLk04CAAEEAIAFBDGpBcHFB2KrVqgVzNgLg04CAAEEAQQA2AvTTgIAAQQBBADYCxNOAgABBgIAEIQQLQQAhAwJAIAQgAkHHAGoiB2oiBkEAIARrIgtxIgggAksNAEEAQTA2AvjTgIAADAoLAkBBACgCwNOAgAAiA0UNAAJAQQAoArjTgIAAIgQgCGoiBSAETQ0AIAUgA00NAQtBACEDQQBBMDYC+NOAgAAMCgtBAC0AxNOAgABBBHENBAJAAkACQEEAKAKg0ICAACIERQ0AQcjTgIAAIQMDQAJAIAMoAgAiBSAESw0AIAUgAygCBGogBEsNAwsgAygCCCIDDQALC0EAEMuAgIAAIgBBf0YNBSAIIQYCQEEAKALk04CAACIDQX9qIgQgAHFFDQAgCCAAayAEIABqQQAgA2txaiEGCyAGIAJNDQUgBkH+////B0sNBQJAQQAoAsDTgIAAIgNFDQBBACgCuNOAgAAiBCAGaiIFIARNDQYgBSADSw0GCyAGEMuAgIAAIgMgAEcNAQwHCyAGIABrIAtxIgZB/v///wdLDQQgBhDLgICAACIAIAMoAgAgAygCBGpGDQMgACEDCwJAIANBf0YNACACQcgAaiAGTQ0AAkAgByAGa0EAKALo04CAACIEakEAIARrcSIEQf7///8HTQ0AIAMhAAwHCwJAIAQQy4CAgABBf0YNACAEIAZqIQYgAyEADAcLQQAgBmsQy4CAgAAaDAQLIAMhACADQX9HDQUMAwtBACEIDAcLQQAhAAwFCyAAQX9HDQILQQBBACgCxNOAgABBBHI2AsTTgIAACyAIQf7///8HSw0BIAgQy4CAgAAhAEEAEMuAgIAAIQMgAEF/Rg0BIANBf0YNASAAIANPDQEgAyAAayIGIAJBOGpNDQELQQBBACgCuNOAgAAgBmoiAzYCuNOAgAACQCADQQAoArzTgIAATQ0AQQAgAzYCvNOAgAALAkACQAJAAkBBACgCoNCAgAAiBEUNAEHI04CAACEDA0AgACADKAIAIgUgAygCBCIIakYNAiADKAIIIgMNAAwDCwsCQAJAQQAoApjQgIAAIgNFDQAgACADTw0BC0EAIAA2ApjQgIAAC0EAIQNBACAGNgLM04CAAEEAIAA2AsjTgIAAQQBBfzYCqNCAgABBAEEAKALg04CAADYCrNCAgABBAEEANgLU04CAAANAIANBxNCAgABqIANBuNCAgABqIgQ2AgAgBCADQbDQgIAAaiIFNgIAIANBvNCAgABqIAU2AgAgA0HM0ICAAGogA0HA0ICAAGoiBTYCACAFIAQ2AgAgA0HU0ICAAGogA0HI0ICAAGoiBDYCACAEIAU2AgAgA0HQ0ICAAGogBDYCACADQSBqIgNBgAJHDQALIABBeCAAa0EPcUEAIABBCGpBD3EbIgNqIgQgBkFIaiIFIANrIgNBAXI2AgRBAEEAKALw04CAADYCpNCAgABBACADNgKU0ICAAEEAIAQ2AqDQgIAAIAAgBWpBODYCBAwCCyADLQAMQQhxDQAgBCAFSQ0AIAQgAE8NACAEQXggBGtBD3FBACAEQQhqQQ9xGyIFaiIAQQAoApTQgIAAIAZqIgsgBWsiBUEBcjYCBCADIAggBmo2AgRBAEEAKALw04CAADYCpNCAgABBACAFNgKU0ICAAEEAIAA2AqDQgIAAIAQgC2pBODYCBAwBCwJAIABBACgCmNCAgAAiCE8NAEEAIAA2ApjQgIAAIAAhCAsgACAGaiEFQcjTgIAAIQMCQAJAAkACQAJAAkACQANAIAMoAgAgBUYNASADKAIIIgMNAAwCCwsgAy0ADEEIcUUNAQtByNOAgAAhAwNAAkAgAygCACIFIARLDQAgBSADKAIEaiIFIARLDQMLIAMoAgghAwwACwsgAyAANgIAIAMgAygCBCAGajYCBCAAQXggAGtBD3FBACAAQQhqQQ9xG2oiCyACQQNyNgIEIAVBeCAFa0EPcUEAIAVBCGpBD3EbaiIGIAsgAmoiAmshAwJAIAYgBEcNAEEAIAI2AqDQgIAAQQBBACgClNCAgAAgA2oiAzYClNCAgAAgAiADQQFyNgIEDAMLAkAgBkEAKAKc0ICAAEcNAEEAIAI2ApzQgIAAQQBBACgCkNCAgAAgA2oiAzYCkNCAgAAgAiADQQFyNgIEIAIgA2ogAzYCAAwDCwJAIAYoAgQiBEEDcUEBRw0AIARBeHEhBwJAAkAgBEH/AUsNACAGKAIIIgUgBEEDdiIIQQN0QbDQgIAAaiIARhoCQCAGKAIMIgQgBUcNAEEAQQAoAojQgIAAQX4gCHdxNgKI0ICAAAwCCyAEIABGGiAEIAU2AgggBSAENgIMDAELIAYoAhghCQJAAkAgBigCDCIAIAZGDQAgBigCCCIEIAhJGiAAIAQ2AgggBCAANgIMDAELAkAgBkEUaiIEKAIAIgUNACAGQRBqIgQoAgAiBQ0AQQAhAAwBCwNAIAQhCCAFIgBBFGoiBCgCACIFDQAgAEEQaiEEIAAoAhAiBQ0ACyAIQQA2AgALIAlFDQACQAJAIAYgBigCHCIFQQJ0QbjSgIAAaiIEKAIARw0AIAQgADYCACAADQFBAEEAKAKM0ICAAEF+IAV3cTYCjNCAgAAMAgsgCUEQQRQgCSgCECAGRhtqIAA2AgAgAEUNAQsgACAJNgIYAkAgBigCECIERQ0AIAAgBDYCECAEIAA2AhgLIAYoAhQiBEUNACAAQRRqIAQ2AgAgBCAANgIYCyAHIANqIQMgBiAHaiIGKAIEIQQLIAYgBEF+cTYCBCACIANqIAM2AgAgAiADQQFyNgIEAkAgA0H/AUsNACADQXhxQbDQgIAAaiEEAkACQEEAKAKI0ICAACIFQQEgA0EDdnQiA3ENAEEAIAUgA3I2AojQgIAAIAQhAwwBCyAEKAIIIQMLIAMgAjYCDCAEIAI2AgggAiAENgIMIAIgAzYCCAwDC0EfIQQCQCADQf///wdLDQAgA0EIdiIEIARBgP4/akEQdkEIcSIEdCIFIAVBgOAfakEQdkEEcSIFdCIAIABBgIAPakEQdkECcSIAdEEPdiAEIAVyIAByayIEQQF0IAMgBEEVanZBAXFyQRxqIQQLIAIgBDYCHCACQgA3AhAgBEECdEG40oCAAGohBQJAQQAoAozQgIAAIgBBASAEdCIIcQ0AIAUgAjYCAEEAIAAgCHI2AozQgIAAIAIgBTYCGCACIAI2AgggAiACNgIMDAMLIANBAEEZIARBAXZrIARBH0YbdCEEIAUoAgAhAANAIAAiBSgCBEF4cSADRg0CIARBHXYhACAEQQF0IQQgBSAAQQRxakEQaiIIKAIAIgANAAsgCCACNgIAIAIgBTYCGCACIAI2AgwgAiACNgIIDAILIABBeCAAa0EPcUEAIABBCGpBD3EbIgNqIgsgBkFIaiIIIANrIgNBAXI2AgQgACAIakE4NgIEIAQgBUE3IAVrQQ9xQQAgBUFJakEPcRtqQUFqIgggCCAEQRBqSRsiCEEjNgIEQQBBACgC8NOAgAA2AqTQgIAAQQAgAzYClNCAgABBACALNgKg0ICAACAIQRBqQQApAtDTgIAANwIAIAhBACkCyNOAgAA3AghBACAIQQhqNgLQ04CAAEEAIAY2AszTgIAAQQAgADYCyNOAgABBAEEANgLU04CAACAIQSRqIQMDQCADQQc2AgAgA0EEaiIDIAVJDQALIAggBEYNAyAIIAgoAgRBfnE2AgQgCCAIIARrIgA2AgAgBCAAQQFyNgIEAkAgAEH/AUsNACAAQXhxQbDQgIAAaiEDAkACQEEAKAKI0ICAACIFQQEgAEEDdnQiAHENAEEAIAUgAHI2AojQgIAAIAMhBQwBCyADKAIIIQULIAUgBDYCDCADIAQ2AgggBCADNgIMIAQgBTYCCAwEC0EfIQMCQCAAQf///wdLDQAgAEEIdiIDIANBgP4/akEQdkEIcSIDdCIFIAVBgOAfakEQdkEEcSIFdCIIIAhBgIAPakEQdkECcSIIdEEPdiADIAVyIAhyayIDQQF0IAAgA0EVanZBAXFyQRxqIQMLIAQgAzYCHCAEQgA3AhAgA0ECdEG40oCAAGohBQJAQQAoAozQgIAAIghBASADdCIGcQ0AIAUgBDYCAEEAIAggBnI2AozQgIAAIAQgBTYCGCAEIAQ2AgggBCAENgIMDAQLIABBAEEZIANBAXZrIANBH0YbdCEDIAUoAgAhCANAIAgiBSgCBEF4cSAARg0DIANBHXYhCCADQQF0IQMgBSAIQQRxakEQaiIGKAIAIggNAAsgBiAENgIAIAQgBTYCGCAEIAQ2AgwgBCAENgIIDAMLIAUoAggiAyACNgIMIAUgAjYCCCACQQA2AhggAiAFNgIMIAIgAzYCCAsgC0EIaiEDDAULIAUoAggiAyAENgIMIAUgBDYCCCAEQQA2AhggBCAFNgIMIAQgAzYCCAtBACgClNCAgAAiAyACTQ0AQQAoAqDQgIAAIgQgAmoiBSADIAJrIgNBAXI2AgRBACADNgKU0ICAAEEAIAU2AqDQgIAAIAQgAkEDcjYCBCAEQQhqIQMMAwtBACEDQQBBMDYC+NOAgAAMAgsCQCALRQ0AAkACQCAIIAgoAhwiBUECdEG40oCAAGoiAygCAEcNACADIAA2AgAgAA0BQQAgB0F+IAV3cSIHNgKM0ICAAAwCCyALQRBBFCALKAIQIAhGG2ogADYCACAARQ0BCyAAIAs2AhgCQCAIKAIQIgNFDQAgACADNgIQIAMgADYCGAsgCEEUaigCACIDRQ0AIABBFGogAzYCACADIAA2AhgLAkACQCAEQQ9LDQAgCCAEIAJqIgNBA3I2AgQgCCADaiIDIAMoAgRBAXI2AgQMAQsgCCACaiIAIARBAXI2AgQgCCACQQNyNgIEIAAgBGogBDYCAAJAIARB/wFLDQAgBEF4cUGw0ICAAGohAwJAAkBBACgCiNCAgAAiBUEBIARBA3Z0IgRxDQBBACAFIARyNgKI0ICAACADIQQMAQsgAygCCCEECyAEIAA2AgwgAyAANgIIIAAgAzYCDCAAIAQ2AggMAQtBHyEDAkAgBEH///8HSw0AIARBCHYiAyADQYD+P2pBEHZBCHEiA3QiBSAFQYDgH2pBEHZBBHEiBXQiAiACQYCAD2pBEHZBAnEiAnRBD3YgAyAFciACcmsiA0EBdCAEIANBFWp2QQFxckEcaiEDCyAAIAM2AhwgAEIANwIQIANBAnRBuNKAgABqIQUCQCAHQQEgA3QiAnENACAFIAA2AgBBACAHIAJyNgKM0ICAACAAIAU2AhggACAANgIIIAAgADYCDAwBCyAEQQBBGSADQQF2ayADQR9GG3QhAyAFKAIAIQICQANAIAIiBSgCBEF4cSAERg0BIANBHXYhAiADQQF0IQMgBSACQQRxakEQaiIGKAIAIgINAAsgBiAANgIAIAAgBTYCGCAAIAA2AgwgACAANgIIDAELIAUoAggiAyAANgIMIAUgADYCCCAAQQA2AhggACAFNgIMIAAgAzYCCAsgCEEIaiEDDAELAkAgCkUNAAJAAkAgACAAKAIcIgVBAnRBuNKAgABqIgMoAgBHDQAgAyAINgIAIAgNAUEAIAlBfiAFd3E2AozQgIAADAILIApBEEEUIAooAhAgAEYbaiAINgIAIAhFDQELIAggCjYCGAJAIAAoAhAiA0UNACAIIAM2AhAgAyAINgIYCyAAQRRqKAIAIgNFDQAgCEEUaiADNgIAIAMgCDYCGAsCQAJAIARBD0sNACAAIAQgAmoiA0EDcjYCBCAAIANqIgMgAygCBEEBcjYCBAwBCyAAIAJqIgUgBEEBcjYCBCAAIAJBA3I2AgQgBSAEaiAENgIAAkAgB0UNACAHQXhxQbDQgIAAaiECQQAoApzQgIAAIQMCQAJAQQEgB0EDdnQiCCAGcQ0AQQAgCCAGcjYCiNCAgAAgAiEIDAELIAIoAgghCAsgCCADNgIMIAIgAzYCCCADIAI2AgwgAyAINgIIC0EAIAU2ApzQgIAAQQAgBDYCkNCAgAALIABBCGohAwsgAUEQaiSAgICAACADCwoAIAAQyYCAgAAL4g0BB38CQCAARQ0AIABBeGoiASAAQXxqKAIAIgJBeHEiAGohAwJAIAJBAXENACACQQNxRQ0BIAEgASgCACICayIBQQAoApjQgIAAIgRJDQEgAiAAaiEAAkAgAUEAKAKc0ICAAEYNAAJAIAJB/wFLDQAgASgCCCIEIAJBA3YiBUEDdEGw0ICAAGoiBkYaAkAgASgCDCICIARHDQBBAEEAKAKI0ICAAEF+IAV3cTYCiNCAgAAMAwsgAiAGRhogAiAENgIIIAQgAjYCDAwCCyABKAIYIQcCQAJAIAEoAgwiBiABRg0AIAEoAggiAiAESRogBiACNgIIIAIgBjYCDAwBCwJAIAFBFGoiAigCACIEDQAgAUEQaiICKAIAIgQNAEEAIQYMAQsDQCACIQUgBCIGQRRqIgIoAgAiBA0AIAZBEGohAiAGKAIQIgQNAAsgBUEANgIACyAHRQ0BAkACQCABIAEoAhwiBEECdEG40oCAAGoiAigCAEcNACACIAY2AgAgBg0BQQBBACgCjNCAgABBfiAEd3E2AozQgIAADAMLIAdBEEEUIAcoAhAgAUYbaiAGNgIAIAZFDQILIAYgBzYCGAJAIAEoAhAiAkUNACAGIAI2AhAgAiAGNgIYCyABKAIUIgJFDQEgBkEUaiACNgIAIAIgBjYCGAwBCyADKAIEIgJBA3FBA0cNACADIAJBfnE2AgRBACAANgKQ0ICAACABIABqIAA2AgAgASAAQQFyNgIEDwsgASADTw0AIAMoAgQiAkEBcUUNAAJAAkAgAkECcQ0AAkAgA0EAKAKg0ICAAEcNAEEAIAE2AqDQgIAAQQBBACgClNCAgAAgAGoiADYClNCAgAAgASAAQQFyNgIEIAFBACgCnNCAgABHDQNBAEEANgKQ0ICAAEEAQQA2ApzQgIAADwsCQCADQQAoApzQgIAARw0AQQAgATYCnNCAgABBAEEAKAKQ0ICAACAAaiIANgKQ0ICAACABIABBAXI2AgQgASAAaiAANgIADwsgAkF4cSAAaiEAAkACQCACQf8BSw0AIAMoAggiBCACQQN2IgVBA3RBsNCAgABqIgZGGgJAIAMoAgwiAiAERw0AQQBBACgCiNCAgABBfiAFd3E2AojQgIAADAILIAIgBkYaIAIgBDYCCCAEIAI2AgwMAQsgAygCGCEHAkACQCADKAIMIgYgA0YNACADKAIIIgJBACgCmNCAgABJGiAGIAI2AgggAiAGNgIMDAELAkAgA0EUaiICKAIAIgQNACADQRBqIgIoAgAiBA0AQQAhBgwBCwNAIAIhBSAEIgZBFGoiAigCACIEDQAgBkEQaiECIAYoAhAiBA0ACyAFQQA2AgALIAdFDQACQAJAIAMgAygCHCIEQQJ0QbjSgIAAaiICKAIARw0AIAIgBjYCACAGDQFBAEEAKAKM0ICAAEF+IAR3cTYCjNCAgAAMAgsgB0EQQRQgBygCECADRhtqIAY2AgAgBkUNAQsgBiAHNgIYAkAgAygCECICRQ0AIAYgAjYCECACIAY2AhgLIAMoAhQiAkUNACAGQRRqIAI2AgAgAiAGNgIYCyABIABqIAA2AgAgASAAQQFyNgIEIAFBACgCnNCAgABHDQFBACAANgKQ0ICAAA8LIAMgAkF+cTYCBCABIABqIAA2AgAgASAAQQFyNgIECwJAIABB/wFLDQAgAEF4cUGw0ICAAGohAgJAAkBBACgCiNCAgAAiBEEBIABBA3Z0IgBxDQBBACAEIAByNgKI0ICAACACIQAMAQsgAigCCCEACyAAIAE2AgwgAiABNgIIIAEgAjYCDCABIAA2AggPC0EfIQICQCAAQf///wdLDQAgAEEIdiICIAJBgP4/akEQdkEIcSICdCIEIARBgOAfakEQdkEEcSIEdCIGIAZBgIAPakEQdkECcSIGdEEPdiACIARyIAZyayICQQF0IAAgAkEVanZBAXFyQRxqIQILIAEgAjYCHCABQgA3AhAgAkECdEG40oCAAGohBAJAAkBBACgCjNCAgAAiBkEBIAJ0IgNxDQAgBCABNgIAQQAgBiADcjYCjNCAgAAgASAENgIYIAEgATYCCCABIAE2AgwMAQsgAEEAQRkgAkEBdmsgAkEfRht0IQIgBCgCACEGAkADQCAGIgQoAgRBeHEgAEYNASACQR12IQYgAkEBdCECIAQgBkEEcWpBEGoiAygCACIGDQALIAMgATYCACABIAQ2AhggASABNgIMIAEgATYCCAwBCyAEKAIIIgAgATYCDCAEIAE2AgggAUEANgIYIAEgBDYCDCABIAA2AggLQQBBACgCqNCAgABBf2oiAUF/IAEbNgKo0ICAAAsLBAAAAAtOAAJAIAANAD8AQRB0DwsCQCAAQf//A3ENACAAQX9MDQACQCAAQRB2QAAiAEF/Rw0AQQBBMDYC+NOAgABBfw8LIABBEHQPCxDKgICAAAAL8gICA38BfgJAIAJFDQAgACABOgAAIAIgAGoiA0F/aiABOgAAIAJBA0kNACAAIAE6AAIgACABOgABIANBfWogAToAACADQX5qIAE6AAAgAkEHSQ0AIAAgAToAAyADQXxqIAE6AAAgAkEJSQ0AIABBACAAa0EDcSIEaiIDIAFB/wFxQYGChAhsIgE2AgAgAyACIARrQXxxIgRqIgJBfGogATYCACAEQQlJDQAgAyABNgIIIAMgATYCBCACQXhqIAE2AgAgAkF0aiABNgIAIARBGUkNACADIAE2AhggAyABNgIUIAMgATYCECADIAE2AgwgAkFwaiABNgIAIAJBbGogATYCACACQWhqIAE2AgAgAkFkaiABNgIAIAQgA0EEcUEYciIFayICQSBJDQAgAa1CgYCAgBB+IQYgAyAFaiEBA0AgASAGNwMYIAEgBjcDECABIAY3AwggASAGNwMAIAFBIGohASACQWBqIgJBH0sNAAsLIAALC45IAQBBgAgLhkgBAAAAAgAAAAMAAAAAAAAAAAAAAAQAAAAFAAAAAAAAAAAAAAAGAAAABwAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEludmFsaWQgY2hhciBpbiB1cmwgcXVlcnkAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9ib2R5AENvbnRlbnQtTGVuZ3RoIG92ZXJmbG93AENodW5rIHNpemUgb3ZlcmZsb3cAUmVzcG9uc2Ugb3ZlcmZsb3cASW52YWxpZCBtZXRob2QgZm9yIEhUVFAveC54IHJlcXVlc3QASW52YWxpZCBtZXRob2QgZm9yIFJUU1AveC54IHJlcXVlc3QARXhwZWN0ZWQgU09VUkNFIG1ldGhvZCBmb3IgSUNFL3gueCByZXF1ZXN0AEludmFsaWQgY2hhciBpbiB1cmwgZnJhZ21lbnQgc3RhcnQARXhwZWN0ZWQgZG90AFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fc3RhdHVzAEludmFsaWQgcmVzcG9uc2Ugc3RhdHVzAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMAVXNlciBjYWxsYmFjayBlcnJvcgBgb25fcmVzZXRgIGNhbGxiYWNrIGVycm9yAGBvbl9jaHVua19oZWFkZXJgIGNhbGxiYWNrIGVycm9yAGBvbl9tZXNzYWdlX2JlZ2luYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfZXh0ZW5zaW9uX3ZhbHVlYCBjYWxsYmFjayBlcnJvcgBgb25fc3RhdHVzX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fdmVyc2lvbl9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX3VybF9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX2NodW5rX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25faGVhZGVyX3ZhbHVlX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fbWVzc2FnZV9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX21ldGhvZF9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX2hlYWRlcl9maWVsZF9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX2NodW5rX2V4dGVuc2lvbl9uYW1lYCBjYWxsYmFjayBlcnJvcgBVbmV4cGVjdGVkIGNoYXIgaW4gdXJsIHNlcnZlcgBJbnZhbGlkIGhlYWRlciB2YWx1ZSBjaGFyAEludmFsaWQgaGVhZGVyIGZpZWxkIGNoYXIAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl92ZXJzaW9uAEludmFsaWQgbWlub3IgdmVyc2lvbgBJbnZhbGlkIG1ham9yIHZlcnNpb24ARXhwZWN0ZWQgc3BhY2UgYWZ0ZXIgdmVyc2lvbgBFeHBlY3RlZCBDUkxGIGFmdGVyIHZlcnNpb24ASW52YWxpZCBIVFRQIHZlcnNpb24ASW52YWxpZCBoZWFkZXIgdG9rZW4AU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl91cmwASW52YWxpZCBjaGFyYWN0ZXJzIGluIHVybABVbmV4cGVjdGVkIHN0YXJ0IGNoYXIgaW4gdXJsAERvdWJsZSBAIGluIHVybABFbXB0eSBDb250ZW50LUxlbmd0aABJbnZhbGlkIGNoYXJhY3RlciBpbiBDb250ZW50LUxlbmd0aABEdXBsaWNhdGUgQ29udGVudC1MZW5ndGgASW52YWxpZCBjaGFyIGluIHVybCBwYXRoAENvbnRlbnQtTGVuZ3RoIGNhbid0IGJlIHByZXNlbnQgd2l0aCBUcmFuc2Zlci1FbmNvZGluZwBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBzaXplAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25faGVhZGVyX3ZhbHVlAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fY2h1bmtfZXh0ZW5zaW9uX3ZhbHVlAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgdmFsdWUATWlzc2luZyBleHBlY3RlZCBMRiBhZnRlciBoZWFkZXIgdmFsdWUASW52YWxpZCBgVHJhbnNmZXItRW5jb2RpbmdgIGhlYWRlciB2YWx1ZQBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBleHRlbnNpb25zIHF1b3RlIHZhbHVlAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgcXVvdGVkIHZhbHVlAFBhdXNlZCBieSBvbl9oZWFkZXJzX2NvbXBsZXRlAEludmFsaWQgRU9GIHN0YXRlAG9uX3Jlc2V0IHBhdXNlAG9uX2NodW5rX2hlYWRlciBwYXVzZQBvbl9tZXNzYWdlX2JlZ2luIHBhdXNlAG9uX2NodW5rX2V4dGVuc2lvbl92YWx1ZSBwYXVzZQBvbl9zdGF0dXNfY29tcGxldGUgcGF1c2UAb25fdmVyc2lvbl9jb21wbGV0ZSBwYXVzZQBvbl91cmxfY29tcGxldGUgcGF1c2UAb25fY2h1bmtfY29tcGxldGUgcGF1c2UAb25faGVhZGVyX3ZhbHVlX2NvbXBsZXRlIHBhdXNlAG9uX21lc3NhZ2VfY29tcGxldGUgcGF1c2UAb25fbWV0aG9kX2NvbXBsZXRlIHBhdXNlAG9uX2hlYWRlcl9maWVsZF9jb21wbGV0ZSBwYXVzZQBvbl9jaHVua19leHRlbnNpb25fbmFtZSBwYXVzZQBVbmV4cGVjdGVkIHNwYWNlIGFmdGVyIHN0YXJ0IGxpbmUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9jaHVua19leHRlbnNpb25fbmFtZQBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBleHRlbnNpb25zIG5hbWUAUGF1c2Ugb24gQ09OTkVDVC9VcGdyYWRlAFBhdXNlIG9uIFBSSS9VcGdyYWRlAEV4cGVjdGVkIEhUVFAvMiBDb25uZWN0aW9uIFByZWZhY2UAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9tZXRob2QARXhwZWN0ZWQgc3BhY2UgYWZ0ZXIgbWV0aG9kAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25faGVhZGVyX2ZpZWxkAFBhdXNlZABJbnZhbGlkIHdvcmQgZW5jb3VudGVyZWQASW52YWxpZCBtZXRob2QgZW5jb3VudGVyZWQAVW5leHBlY3RlZCBjaGFyIGluIHVybCBzY2hlbWEAUmVxdWVzdCBoYXMgaW52YWxpZCBgVHJhbnNmZXItRW5jb2RpbmdgAFNXSVRDSF9QUk9YWQBVU0VfUFJPWFkATUtBQ1RJVklUWQBVTlBST0NFU1NBQkxFX0VOVElUWQBDT1BZAE1PVkVEX1BFUk1BTkVOVExZAFRPT19FQVJMWQBOT1RJRlkARkFJTEVEX0RFUEVOREVOQ1kAQkFEX0dBVEVXQVkAUExBWQBQVVQAQ0hFQ0tPVVQAR0FURVdBWV9USU1FT1VUAFJFUVVFU1RfVElNRU9VVABORVRXT1JLX0NPTk5FQ1RfVElNRU9VVABDT05ORUNUSU9OX1RJTUVPVVQATE9HSU5fVElNRU9VVABORVRXT1JLX1JFQURfVElNRU9VVABQT1NUAE1JU0RJUkVDVEVEX1JFUVVFU1QAQ0xJRU5UX0NMT1NFRF9SRVFVRVNUAENMSUVOVF9DTE9TRURfTE9BRF9CQUxBTkNFRF9SRVFVRVNUAEJBRF9SRVFVRVNUAEhUVFBfUkVRVUVTVF9TRU5UX1RPX0hUVFBTX1BPUlQAUkVQT1JUAElNX0FfVEVBUE9UAFJFU0VUX0NPTlRFTlQATk9fQ09OVEVOVABQQVJUSUFMX0NPTlRFTlQASFBFX0lOVkFMSURfQ09OU1RBTlQASFBFX0NCX1JFU0VUAEdFVABIUEVfU1RSSUNUAENPTkZMSUNUAFRFTVBPUkFSWV9SRURJUkVDVABQRVJNQU5FTlRfUkVESVJFQ1QAQ09OTkVDVABNVUxUSV9TVEFUVVMASFBFX0lOVkFMSURfU1RBVFVTAFRPT19NQU5ZX1JFUVVFU1RTAEVBUkxZX0hJTlRTAFVOQVZBSUxBQkxFX0ZPUl9MRUdBTF9SRUFTT05TAE9QVElPTlMAU1dJVENISU5HX1BST1RPQ09MUwBWQVJJQU5UX0FMU09fTkVHT1RJQVRFUwBNVUxUSVBMRV9DSE9JQ0VTAElOVEVSTkFMX1NFUlZFUl9FUlJPUgBXRUJfU0VSVkVSX1VOS05PV05fRVJST1IAUkFJTEdVTl9FUlJPUgBJREVOVElUWV9QUk9WSURFUl9BVVRIRU5USUNBVElPTl9FUlJPUgBTU0xfQ0VSVElGSUNBVEVfRVJST1IASU5WQUxJRF9YX0ZPUldBUkRFRF9GT1IAU0VUX1BBUkFNRVRFUgBHRVRfUEFSQU1FVEVSAEhQRV9VU0VSAFNFRV9PVEhFUgBIUEVfQ0JfQ0hVTktfSEVBREVSAE1LQ0FMRU5EQVIAU0VUVVAAV0VCX1NFUlZFUl9JU19ET1dOAFRFQVJET1dOAEhQRV9DTE9TRURfQ09OTkVDVElPTgBIRVVSSVNUSUNfRVhQSVJBVElPTgBESVNDT05ORUNURURfT1BFUkFUSU9OAE5PTl9BVVRIT1JJVEFUSVZFX0lORk9STUFUSU9OAEhQRV9JTlZBTElEX1ZFUlNJT04ASFBFX0NCX01FU1NBR0VfQkVHSU4AU0lURV9JU19GUk9aRU4ASFBFX0lOVkFMSURfSEVBREVSX1RPS0VOAElOVkFMSURfVE9LRU4ARk9SQklEREVOAEVOSEFOQ0VfWU9VUl9DQUxNAEhQRV9JTlZBTElEX1VSTABCTE9DS0VEX0JZX1BBUkVOVEFMX0NPTlRST0wATUtDT0wAQUNMAEhQRV9JTlRFUk5BTABSRVFVRVNUX0hFQURFUl9GSUVMRFNfVE9PX0xBUkdFX1VOT0ZGSUNJQUwASFBFX09LAFVOTElOSwBVTkxPQ0sAUFJJAFJFVFJZX1dJVEgASFBFX0lOVkFMSURfQ09OVEVOVF9MRU5HVEgASFBFX1VORVhQRUNURURfQ09OVEVOVF9MRU5HVEgARkxVU0gAUFJPUFBBVENIAE0tU0VBUkNIAFVSSV9UT09fTE9ORwBQUk9DRVNTSU5HAE1JU0NFTExBTkVPVVNfUEVSU0lTVEVOVF9XQVJOSU5HAE1JU0NFTExBTkVPVVNfV0FSTklORwBIUEVfSU5WQUxJRF9UUkFOU0ZFUl9FTkNPRElORwBFeHBlY3RlZCBDUkxGAEhQRV9JTlZBTElEX0NIVU5LX1NJWkUATU9WRQBDT05USU5VRQBIUEVfQ0JfU1RBVFVTX0NPTVBMRVRFAEhQRV9DQl9IRUFERVJTX0NPTVBMRVRFAEhQRV9DQl9WRVJTSU9OX0NPTVBMRVRFAEhQRV9DQl9VUkxfQ09NUExFVEUASFBFX0NCX0NIVU5LX0NPTVBMRVRFAEhQRV9DQl9IRUFERVJfVkFMVUVfQ09NUExFVEUASFBFX0NCX0NIVU5LX0VYVEVOU0lPTl9WQUxVRV9DT01QTEVURQBIUEVfQ0JfQ0hVTktfRVhURU5TSU9OX05BTUVfQ09NUExFVEUASFBFX0NCX01FU1NBR0VfQ09NUExFVEUASFBFX0NCX01FVEhPRF9DT01QTEVURQBIUEVfQ0JfSEVBREVSX0ZJRUxEX0NPTVBMRVRFAERFTEVURQBIUEVfSU5WQUxJRF9FT0ZfU1RBVEUASU5WQUxJRF9TU0xfQ0VSVElGSUNBVEUAUEFVU0UATk9fUkVTUE9OU0UAVU5TVVBQT1JURURfTUVESUFfVFlQRQBHT05FAE5PVF9BQ0NFUFRBQkxFAFNFUlZJQ0VfVU5BVkFJTEFCTEUAUkFOR0VfTk9UX1NBVElTRklBQkxFAE9SSUdJTl9JU19VTlJFQUNIQUJMRQBSRVNQT05TRV9JU19TVEFMRQBQVVJHRQBNRVJHRQBSRVFVRVNUX0hFQURFUl9GSUVMRFNfVE9PX0xBUkdFAFJFUVVFU1RfSEVBREVSX1RPT19MQVJHRQBQQVlMT0FEX1RPT19MQVJHRQBJTlNVRkZJQ0lFTlRfU1RPUkFHRQBIUEVfUEFVU0VEX1VQR1JBREUASFBFX1BBVVNFRF9IMl9VUEdSQURFAFNPVVJDRQBBTk5PVU5DRQBUUkFDRQBIUEVfVU5FWFBFQ1RFRF9TUEFDRQBERVNDUklCRQBVTlNVQlNDUklCRQBSRUNPUkQASFBFX0lOVkFMSURfTUVUSE9EAE5PVF9GT1VORABQUk9QRklORABVTkJJTkQAUkVCSU5EAFVOQVVUSE9SSVpFRABNRVRIT0RfTk9UX0FMTE9XRUQASFRUUF9WRVJTSU9OX05PVF9TVVBQT1JURUQAQUxSRUFEWV9SRVBPUlRFRABBQ0NFUFRFRABOT1RfSU1QTEVNRU5URUQATE9PUF9ERVRFQ1RFRABIUEVfQ1JfRVhQRUNURUQASFBFX0xGX0VYUEVDVEVEAENSRUFURUQASU1fVVNFRABIUEVfUEFVU0VEAFRJTUVPVVRfT0NDVVJFRABQQVlNRU5UX1JFUVVJUkVEAFBSRUNPTkRJVElPTl9SRVFVSVJFRABQUk9YWV9BVVRIRU5USUNBVElPTl9SRVFVSVJFRABORVRXT1JLX0FVVEhFTlRJQ0FUSU9OX1JFUVVJUkVEAExFTkdUSF9SRVFVSVJFRABTU0xfQ0VSVElGSUNBVEVfUkVRVUlSRUQAVVBHUkFERV9SRVFVSVJFRABQQUdFX0VYUElSRUQAUFJFQ09ORElUSU9OX0ZBSUxFRABFWFBFQ1RBVElPTl9GQUlMRUQAUkVWQUxJREFUSU9OX0ZBSUxFRABTU0xfSEFORFNIQUtFX0ZBSUxFRABMT0NLRUQAVFJBTlNGT1JNQVRJT05fQVBQTElFRABOT1RfTU9ESUZJRUQATk9UX0VYVEVOREVEAEJBTkRXSURUSF9MSU1JVF9FWENFRURFRABTSVRFX0lTX09WRVJMT0FERUQASEVBRABFeHBlY3RlZCBIVFRQLwAAXhMAACYTAAAwEAAA8BcAAJ0TAAAVEgAAORcAAPASAAAKEAAAdRIAAK0SAACCEwAATxQAAH8QAACgFQAAIxQAAIkSAACLFAAATRUAANQRAADPFAAAEBgAAMkWAADcFgAAwREAAOAXAAC7FAAAdBQAAHwVAADlFAAACBcAAB8QAABlFQAAoxQAACgVAAACFQAAmRUAACwQAACLGQAATw8AANQOAABqEAAAzhAAAAIXAACJDgAAbhMAABwTAABmFAAAVhcAAMETAADNEwAAbBMAAGgXAABmFwAAXxcAACITAADODwAAaQ4AANgOAABjFgAAyxMAAKoOAAAoFwAAJhcAAMUTAABdFgAA6BEAAGcTAABlEwAA8hYAAHMTAAAdFwAA+RYAAPMRAADPDgAAzhUAAAwSAACzEQAApREAAGEQAAAyFwAAuxMAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQIBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAIDAgICAgIAAAICAAICAAICAgICAgICAgIABAAAAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgIAAAACAgICAgICAgICAgICAgICAgICAgICAgICAgICAgACAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAACAAICAgICAAACAgACAgACAgICAgICAgICAAMABAAAAAICAgICAgICAgICAgICAgICAgICAgICAgICAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAAgACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbG9zZWVlcC1hbGl2ZQAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQEBAQEBAQEBAQIBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBY2h1bmtlZAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEAAQEBAQEAAAEBAAEBAAEBAQEBAQEBAQEAAAAAAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABlY3Rpb25lbnQtbGVuZ3Rob25yb3h5LWNvbm5lY3Rpb24AAAAAAAAAAAAAAAAAAAByYW5zZmVyLWVuY29kaW5ncGdyYWRlDQoNCg0KU00NCg0KVFRQL0NFL1RTUC8AAAAAAAAAAAAAAAABAgABAwAAAAAAAAAAAAAAAAAAAAAAAAQBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAAAAAAAAAQIAAQMAAAAAAAAAAAAAAAAAAAAAAAAEAQEFAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAEAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAAAAAAAAAAAAQAAAgAAAAAAAAAAAAAAAAAAAAAAAAMEAAAEBAQEBAQEBAQEBAUEBAQEBAQEBAQEBAQABAAGBwQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEAAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAEAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwAAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAABAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAIAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABOT1VOQ0VFQ0tPVVRORUNURVRFQ1JJQkVMVVNIRVRFQURTRUFSQ0hSR0VDVElWSVRZTEVOREFSVkVPVElGWVBUSU9OU0NIU0VBWVNUQVRDSEdFT1JESVJFQ1RPUlRSQ0hQQVJBTUVURVJVUkNFQlNDUklCRUFSRE9XTkFDRUlORE5LQ0tVQlNDUklCRUhUVFAvQURUUC8="},53434:Wt=>{Wt.exports="AGFzbQEAAAABMAhgAX8Bf2ADf39/AX9gBH9/f38Bf2AAAGADf39/AGABfwBgAn9/AGAGf39/f39/AALLAQgDZW52GHdhc21fb25faGVhZGVyc19jb21wbGV0ZQACA2VudhV3YXNtX29uX21lc3NhZ2VfYmVnaW4AAANlbnYLd2FzbV9vbl91cmwAAQNlbnYOd2FzbV9vbl9zdGF0dXMAAQNlbnYUd2FzbV9vbl9oZWFkZXJfZmllbGQAAQNlbnYUd2FzbV9vbl9oZWFkZXJfdmFsdWUAAQNlbnYMd2FzbV9vbl9ib2R5AAEDZW52GHdhc21fb25fbWVzc2FnZV9jb21wbGV0ZQAAA0ZFAwMEAAAFAAAAAAAABQEFAAUFBQAABgAAAAAGBgYGAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAAABAQcAAAUFAwABBAUBcAESEgUDAQACBggBfwFBgNQECwfRBSIGbWVtb3J5AgALX2luaXRpYWxpemUACRlfX2luZGlyZWN0X2Z1bmN0aW9uX3RhYmxlAQALbGxodHRwX2luaXQAChhsbGh0dHBfc2hvdWxkX2tlZXBfYWxpdmUAQQxsbGh0dHBfYWxsb2MADAZtYWxsb2MARgtsbGh0dHBfZnJlZQANBGZyZWUASA9sbGh0dHBfZ2V0X3R5cGUADhVsbGh0dHBfZ2V0X2h0dHBfbWFqb3IADxVsbGh0dHBfZ2V0X2h0dHBfbWlub3IAEBFsbGh0dHBfZ2V0X21ldGhvZAARFmxsaHR0cF9nZXRfc3RhdHVzX2NvZGUAEhJsbGh0dHBfZ2V0X3VwZ3JhZGUAEwxsbGh0dHBfcmVzZXQAFA5sbGh0dHBfZXhlY3V0ZQAVFGxsaHR0cF9zZXR0aW5nc19pbml0ABYNbGxodHRwX2ZpbmlzaAAXDGxsaHR0cF9wYXVzZQAYDWxsaHR0cF9yZXN1bWUAGRtsbGh0dHBfcmVzdW1lX2FmdGVyX3VwZ3JhZGUAGhBsbGh0dHBfZ2V0X2Vycm5vABsXbGxodHRwX2dldF9lcnJvcl9yZWFzb24AHBdsbGh0dHBfc2V0X2Vycm9yX3JlYXNvbgAdFGxsaHR0cF9nZXRfZXJyb3JfcG9zAB4RbGxodHRwX2Vycm5vX25hbWUAHxJsbGh0dHBfbWV0aG9kX25hbWUAIBJsbGh0dHBfc3RhdHVzX25hbWUAIRpsbGh0dHBfc2V0X2xlbmllbnRfaGVhZGVycwAiIWxsaHR0cF9zZXRfbGVuaWVudF9jaHVua2VkX2xlbmd0aAAjHWxsaHR0cF9zZXRfbGVuaWVudF9rZWVwX2FsaXZlACQkbGxodHRwX3NldF9sZW5pZW50X3RyYW5zZmVyX2VuY29kaW5nACUYbGxodHRwX21lc3NhZ2VfbmVlZHNfZW9mAD8JFwEAQQELEQECAwQFCwYHNTk3MS8tJyspCrLgAkUCAAsIABCIgICAAAsZACAAEMKAgIAAGiAAIAI2AjggACABOgAoCxwAIAAgAC8BMiAALQAuIAAQwYCAgAAQgICAgAALKgEBf0HAABDGgICAACIBEMKAgIAAGiABQYCIgIAANgI4IAEgADoAKCABCwoAIAAQyICAgAALBwAgAC0AKAsHACAALQAqCwcAIAAtACsLBwAgAC0AKQsHACAALwEyCwcAIAAtAC4LRQEEfyAAKAIYIQEgAC0ALSECIAAtACghAyAAKAI4IQQgABDCgICAABogACAENgI4IAAgAzoAKCAAIAI6AC0gACABNgIYCxEAIAAgASABIAJqEMOAgIAACxAAIABBAEHcABDMgICAABoLZwEBf0EAIQECQCAAKAIMDQACQAJAAkACQCAALQAvDgMBAAMCCyAAKAI4IgFFDQAgASgCLCIBRQ0AIAAgARGAgICAAAAiAQ0DC0EADwsQyoCAgAAACyAAQcOWgIAANgIQQQ4hAQsgAQseAAJAIAAoAgwNACAAQdGbgIAANgIQIABBFTYCDAsLFgACQCAAKAIMQRVHDQAgAEEANgIMCwsWAAJAIAAoAgxBFkcNACAAQQA2AgwLCwcAIAAoAgwLBwAgACgCEAsJACAAIAE2AhALBwAgACgCFAsiAAJAIABBJEkNABDKgICAAAALIABBAnRBoLOAgABqKAIACyIAAkAgAEEuSQ0AEMqAgIAAAAsgAEECdEGwtICAAGooAgAL7gsBAX9B66iAgAAhAQJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIABBnH9qDvQDY2IAAWFhYWFhYQIDBAVhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhBgcICQoLDA0OD2FhYWFhEGFhYWFhYWFhYWFhEWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYRITFBUWFxgZGhthYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhHB0eHyAhIiMkJSYnKCkqKywtLi8wMTIzNDU2YTc4OTphYWFhYWFhYTthYWE8YWFhYT0+P2FhYWFhYWFhQGFhQWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYUJDREVGR0hJSktMTU5PUFFSU2FhYWFhYWFhVFVWV1hZWlthXF1hYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFeYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhX2BhC0Hhp4CAAA8LQaShgIAADwtBy6yAgAAPC0H+sYCAAA8LQcCkgIAADwtBq6SAgAAPC0GNqICAAA8LQeKmgIAADwtBgLCAgAAPC0G5r4CAAA8LQdekgIAADwtB75+AgAAPC0Hhn4CAAA8LQfqfgIAADwtB8qCAgAAPC0Gor4CAAA8LQa6ygIAADwtBiLCAgAAPC0Hsp4CAAA8LQYKigIAADwtBjp2AgAAPC0HQroCAAA8LQcqjgIAADwtBxbKAgAAPC0HfnICAAA8LQdKcgIAADwtBxKCAgAAPC0HXoICAAA8LQaKfgIAADwtB7a6AgAAPC0GrsICAAA8LQdSlgIAADwtBzK6AgAAPC0H6roCAAA8LQfyrgIAADwtB0rCAgAAPC0HxnYCAAA8LQbuggIAADwtB96uAgAAPC0GQsYCAAA8LQdexgIAADwtBoq2AgAAPC0HUp4CAAA8LQeCrgIAADwtBn6yAgAAPC0HrsYCAAA8LQdWfgIAADwtByrGAgAAPC0HepYCAAA8LQdSegIAADwtB9JyAgAAPC0GnsoCAAA8LQbGdgIAADwtBoJ2AgAAPC0G5sYCAAA8LQbywgIAADwtBkqGAgAAPC0GzpoCAAA8LQemsgIAADwtBrJ6AgAAPC0HUq4CAAA8LQfemgIAADwtBgKaAgAAPC0GwoYCAAA8LQf6egIAADwtBjaOAgAAPC0GJrYCAAA8LQfeigIAADwtBoLGAgAAPC0Gun4CAAA8LQcalgIAADwtB6J6AgAAPC0GTooCAAA8LQcKvgIAADwtBw52AgAAPC0GLrICAAA8LQeGdgIAADwtBja+AgAAPC0HqoYCAAA8LQbStgIAADwtB0q+AgAAPC0HfsoCAAA8LQdKygIAADwtB8LCAgAAPC0GpooCAAA8LQfmjgIAADwtBmZ6AgAAPC0G1rICAAA8LQZuwgIAADwtBkrKAgAAPC0G2q4CAAA8LQcKigIAADwtB+LKAgAAPC0GepYCAAA8LQdCigIAADwtBup6AgAAPC0GBnoCAAA8LEMqAgIAAAAtB1qGAgAAhAQsgAQsWACAAIAAtAC1B/gFxIAFBAEdyOgAtCxkAIAAgAC0ALUH9AXEgAUEAR0EBdHI6AC0LGQAgACAALQAtQfsBcSABQQBHQQJ0cjoALQsZACAAIAAtAC1B9wFxIAFBAEdBA3RyOgAtCy4BAn9BACEDAkAgACgCOCIERQ0AIAQoAgAiBEUNACAAIAQRgICAgAAAIQMLIAMLSQECf0EAIQMCQCAAKAI4IgRFDQAgBCgCBCIERQ0AIAAgASACIAFrIAQRgYCAgAAAIgNBf0cNACAAQcaRgIAANgIQQRghAwsgAwsuAQJ/QQAhAwJAIAAoAjgiBEUNACAEKAIwIgRFDQAgACAEEYCAgIAAACEDCyADC0kBAn9BACEDAkAgACgCOCIERQ0AIAQoAggiBEUNACAAIAEgAiABayAEEYGAgIAAACIDQX9HDQAgAEH2ioCAADYCEEEYIQMLIAMLLgECf0EAIQMCQCAAKAI4IgRFDQAgBCgCNCIERQ0AIAAgBBGAgICAAAAhAwsgAwtJAQJ/QQAhAwJAIAAoAjgiBEUNACAEKAIMIgRFDQAgACABIAIgAWsgBBGBgICAAAAiA0F/Rw0AIABB7ZqAgAA2AhBBGCEDCyADCy4BAn9BACEDAkAgACgCOCIERQ0AIAQoAjgiBEUNACAAIAQRgICAgAAAIQMLIAMLSQECf0EAIQMCQCAAKAI4IgRFDQAgBCgCECIERQ0AIAAgASACIAFrIAQRgYCAgAAAIgNBf0cNACAAQZWQgIAANgIQQRghAwsgAwsuAQJ/QQAhAwJAIAAoAjgiBEUNACAEKAI8IgRFDQAgACAEEYCAgIAAACEDCyADC0kBAn9BACEDAkAgACgCOCIERQ0AIAQoAhQiBEUNACAAIAEgAiABayAEEYGAgIAAACIDQX9HDQAgAEGqm4CAADYCEEEYIQMLIAMLLgECf0EAIQMCQCAAKAI4IgRFDQAgBCgCQCIERQ0AIAAgBBGAgICAAAAhAwsgAwtJAQJ/QQAhAwJAIAAoAjgiBEUNACAEKAIYIgRFDQAgACABIAIgAWsgBBGBgICAAAAiA0F/Rw0AIABB7ZOAgAA2AhBBGCEDCyADCy4BAn9BACEDAkAgACgCOCIERQ0AIAQoAkQiBEUNACAAIAQRgICAgAAAIQMLIAMLLgECf0EAIQMCQCAAKAI4IgRFDQAgBCgCJCIERQ0AIAAgBBGAgICAAAAhAwsgAwsuAQJ/QQAhAwJAIAAoAjgiBEUNACAEKAIsIgRFDQAgACAEEYCAgIAAACEDCyADC0kBAn9BACEDAkAgACgCOCIERQ0AIAQoAigiBEUNACAAIAEgAiABayAEEYGAgIAAACIDQX9HDQAgAEH2iICAADYCEEEYIQMLIAMLLgECf0EAIQMCQCAAKAI4IgRFDQAgBCgCUCIERQ0AIAAgBBGAgICAAAAhAwsgAwtJAQJ/QQAhAwJAIAAoAjgiBEUNACAEKAIcIgRFDQAgACABIAIgAWsgBBGBgICAAAAiA0F/Rw0AIABBwpmAgAA2AhBBGCEDCyADCy4BAn9BACEDAkAgACgCOCIERQ0AIAQoAkgiBEUNACAAIAQRgICAgAAAIQMLIAMLSQECf0EAIQMCQCAAKAI4IgRFDQAgBCgCICIERQ0AIAAgASACIAFrIAQRgYCAgAAAIgNBf0cNACAAQZSUgIAANgIQQRghAwsgAwsuAQJ/QQAhAwJAIAAoAjgiBEUNACAEKAJMIgRFDQAgACAEEYCAgIAAACEDCyADCy4BAn9BACEDAkAgACgCOCIERQ0AIAQoAlQiBEUNACAAIAQRgICAgAAAIQMLIAMLLgECf0EAIQMCQCAAKAI4IgRFDQAgBCgCWCIERQ0AIAAgBBGAgICAAAAhAwsgAwtFAQF/AkACQCAALwEwQRRxQRRHDQBBASEDIAAtAChBAUYNASAALwEyQeUARiEDDAELIAAtAClBBUYhAwsgACADOgAuQQAL/gEBA39BASEDAkAgAC8BMCIEQQhxDQAgACkDIEIAUiEDCwJAAkAgAC0ALkUNAEEBIQUgAC0AKUEFRg0BQQEhBSAEQcAAcUUgA3FBAUcNAQtBACEFIARBwABxDQBBAiEFIARB//8DcSIDQQhxDQACQCADQYAEcUUNAAJAIAAtAChBAUcNACAALQAtQQpxDQBBBQ8LQQQPCwJAIANBIHENAAJAIAAtAChBAUYNACAALwEyQf//A3EiAEGcf2pB5ABJDQAgAEHMAUYNACAAQbACRg0AQQQhBSAEQShxRQ0CIANBiARxQYAERg0CC0EADwtBAEEDIAApAyBQGyEFCyAFC2IBAn9BACEBAkAgAC0AKEEBRg0AIAAvATJB//8DcSICQZx/akHkAEkNACACQcwBRg0AIAJBsAJGDQAgAC8BMCIAQcAAcQ0AQQEhASAAQYgEcUGABEYNACAAQShxRSEBCyABC6cBAQN/AkACQAJAIAAtACpFDQAgAC0AK0UNAEEAIQMgAC8BMCIEQQJxRQ0BDAILQQAhAyAALwEwIgRBAXFFDQELQQEhAyAALQAoQQFGDQAgAC8BMkH//wNxIgVBnH9qQeQASQ0AIAVBzAFGDQAgBUGwAkYNACAEQcAAcQ0AQQAhAyAEQYgEcUGABEYNACAEQShxQQBHIQMLIABBADsBMCAAQQA6AC8gAwuZAQECfwJAAkACQCAALQAqRQ0AIAAtACtFDQBBACEBIAAvATAiAkECcUUNAQwCC0EAIQEgAC8BMCICQQFxRQ0BC0EBIQEgAC0AKEEBRg0AIAAvATJB//8DcSIAQZx/akHkAEkNACAAQcwBRg0AIABBsAJGDQAgAkHAAHENAEEAIQEgAkGIBHFBgARGDQAgAkEocUEARyEBCyABC0kBAXsgAEEQav0MAAAAAAAAAAAAAAAAAAAAACIB/QsDACAAIAH9CwMAIABBMGogAf0LAwAgAEEgaiAB/QsDACAAQd0BNgIcQQALewEBfwJAIAAoAgwiAw0AAkAgACgCBEUNACAAIAE2AgQLAkAgACABIAIQxICAgAAiAw0AIAAoAgwPCyAAIAM2AhxBACEDIAAoAgQiAUUNACAAIAEgAiAAKAIIEYGAgIAAACIBRQ0AIAAgAjYCFCAAIAE2AgwgASEDCyADC+TzAQMOfwN+BH8jgICAgABBEGsiAySAgICAACABIQQgASEFIAEhBiABIQcgASEIIAEhCSABIQogASELIAEhDCABIQ0gASEOIAEhDwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCAAKAIcIhBBf2oO3QHaAQHZAQIDBAUGBwgJCgsMDQ7YAQ8Q1wEREtYBExQVFhcYGRob4AHfARwdHtUBHyAhIiMkJdQBJicoKSorLNMB0gEtLtEB0AEvMDEyMzQ1Njc4OTo7PD0+P0BBQkNERUbbAUdISUrPAc4BS80BTMwBTU5PUFFSU1RVVldYWVpbXF1eX2BhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ent8fX5/gAGBAYIBgwGEAYUBhgGHAYgBiQGKAYsBjAGNAY4BjwGQAZEBkgGTAZQBlQGWAZcBmAGZAZoBmwGcAZ0BngGfAaABoQGiAaMBpAGlAaYBpwGoAakBqgGrAawBrQGuAa8BsAGxAbIBswG0AbUBtgG3AcsBygG4AckBuQHIAboBuwG8Ab0BvgG/AcABwQHCAcMBxAHFAcYBANwBC0EAIRAMxgELQQ4hEAzFAQtBDSEQDMQBC0EPIRAMwwELQRAhEAzCAQtBEyEQDMEBC0EUIRAMwAELQRUhEAy/AQtBFiEQDL4BC0EXIRAMvQELQRghEAy8AQtBGSEQDLsBC0EaIRAMugELQRshEAy5AQtBHCEQDLgBC0EIIRAMtwELQR0hEAy2AQtBICEQDLUBC0EfIRAMtAELQQchEAyzAQtBISEQDLIBC0EiIRAMsQELQR4hEAywAQtBIyEQDK8BC0ESIRAMrgELQREhEAytAQtBJCEQDKwBC0ElIRAMqwELQSYhEAyqAQtBJyEQDKkBC0HDASEQDKgBC0EpIRAMpwELQSshEAymAQtBLCEQDKUBC0EtIRAMpAELQS4hEAyjAQtBLyEQDKIBC0HEASEQDKEBC0EwIRAMoAELQTQhEAyfAQtBDCEQDJ4BC0ExIRAMnQELQTIhEAycAQtBMyEQDJsBC0E5IRAMmgELQTUhEAyZAQtBxQEhEAyYAQtBCyEQDJcBC0E6IRAMlgELQTYhEAyVAQtBCiEQDJQBC0E3IRAMkwELQTghEAySAQtBPCEQDJEBC0E7IRAMkAELQT0hEAyPAQtBCSEQDI4BC0EoIRAMjQELQT4hEAyMAQtBPyEQDIsBC0HAACEQDIoBC0HBACEQDIkBC0HCACEQDIgBC0HDACEQDIcBC0HEACEQDIYBC0HFACEQDIUBC0HGACEQDIQBC0EqIRAMgwELQccAIRAMggELQcgAIRAMgQELQckAIRAMgAELQcoAIRAMfwtBywAhEAx+C0HNACEQDH0LQcwAIRAMfAtBzgAhEAx7C0HPACEQDHoLQdAAIRAMeQtB0QAhEAx4C0HSACEQDHcLQdMAIRAMdgtB1AAhEAx1C0HWACEQDHQLQdUAIRAMcwtBBiEQDHILQdcAIRAMcQtBBSEQDHALQdgAIRAMbwtBBCEQDG4LQdkAIRAMbQtB2gAhEAxsC0HbACEQDGsLQdwAIRAMagtBAyEQDGkLQd0AIRAMaAtB3gAhEAxnC0HfACEQDGYLQeEAIRAMZQtB4AAhEAxkC0HiACEQDGMLQeMAIRAMYgtBAiEQDGELQeQAIRAMYAtB5QAhEAxfC0HmACEQDF4LQecAIRAMXQtB6AAhEAxcC0HpACEQDFsLQeoAIRAMWgtB6wAhEAxZC0HsACEQDFgLQe0AIRAMVwtB7gAhEAxWC0HvACEQDFULQfAAIRAMVAtB8QAhEAxTC0HyACEQDFILQfMAIRAMUQtB9AAhEAxQC0H1ACEQDE8LQfYAIRAMTgtB9wAhEAxNC0H4ACEQDEwLQfkAIRAMSwtB+gAhEAxKC0H7ACEQDEkLQfwAIRAMSAtB/QAhEAxHC0H+ACEQDEYLQf8AIRAMRQtBgAEhEAxEC0GBASEQDEMLQYIBIRAMQgtBgwEhEAxBC0GEASEQDEALQYUBIRAMPwtBhgEhEAw+C0GHASEQDD0LQYgBIRAMPAtBiQEhEAw7C0GKASEQDDoLQYsBIRAMOQtBjAEhEAw4C0GNASEQDDcLQY4BIRAMNgtBjwEhEAw1C0GQASEQDDQLQZEBIRAMMwtBkgEhEAwyC0GTASEQDDELQZQBIRAMMAtBlQEhEAwvC0GWASEQDC4LQZcBIRAMLQtBmAEhEAwsC0GZASEQDCsLQZoBIRAMKgtBmwEhEAwpC0GcASEQDCgLQZ0BIRAMJwtBngEhEAwmC0GfASEQDCULQaABIRAMJAtBoQEhEAwjC0GiASEQDCILQaMBIRAMIQtBpAEhEAwgC0GlASEQDB8LQaYBIRAMHgtBpwEhEAwdC0GoASEQDBwLQakBIRAMGwtBqgEhEAwaC0GrASEQDBkLQawBIRAMGAtBrQEhEAwXC0GuASEQDBYLQQEhEAwVC0GvASEQDBQLQbABIRAMEwtBsQEhEAwSC0GzASEQDBELQbIBIRAMEAtBtAEhEAwPC0G1ASEQDA4LQbYBIRAMDQtBtwEhEAwMC0G4ASEQDAsLQbkBIRAMCgtBugEhEAwJC0G7ASEQDAgLQcYBIRAMBwtBvAEhEAwGC0G9ASEQDAULQb4BIRAMBAtBvwEhEAwDC0HAASEQDAILQcIBIRAMAQtBwQEhEAsDQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIBAOxwEAAQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB4fICEjJSg/QEFERUZHSElKS0xNT1BRUlPeA1dZW1xdYGJlZmdoaWprbG1vcHFyc3R1dnd4eXp7fH1+gAGCAYUBhgGHAYkBiwGMAY0BjgGPAZABkQGUAZUBlgGXAZgBmQGaAZsBnAGdAZ4BnwGgAaEBogGjAaQBpQGmAacBqAGpAaoBqwGsAa0BrgGvAbABsQGyAbMBtAG1AbYBtwG4AbkBugG7AbwBvQG+Ab8BwAHBAcIBwwHEAcUBxgHHAcgByQHKAcsBzAHNAc4BzwHQAdEB0gHTAdQB1QHWAdcB2AHZAdoB2wHcAd0B3gHgAeEB4gHjAeQB5QHmAecB6AHpAeoB6wHsAe0B7gHvAfAB8QHyAfMBmQKkArAC/gL+AgsgASIEIAJHDfMBQd0BIRAM/wMLIAEiECACRw3dAUHDASEQDP4DCyABIgEgAkcNkAFB9wAhEAz9AwsgASIBIAJHDYYBQe8AIRAM/AMLIAEiASACRw1/QeoAIRAM+wMLIAEiASACRw17QegAIRAM+gMLIAEiASACRw14QeYAIRAM+QMLIAEiASACRw0aQRghEAz4AwsgASIBIAJHDRRBEiEQDPcDCyABIgEgAkcNWUHFACEQDPYDCyABIgEgAkcNSkE/IRAM9QMLIAEiASACRw1IQTwhEAz0AwsgASIBIAJHDUFBMSEQDPMDCyAALQAuQQFGDesDDIcCCyAAIAEiASACEMCAgIAAQQFHDeYBIABCADcDIAznAQsgACABIgEgAhC0gICAACIQDecBIAEhAQz1AgsCQCABIgEgAkcNAEEGIRAM8AMLIAAgAUEBaiIBIAIQu4CAgAAiEA3oASABIQEMMQsgAEIANwMgQRIhEAzVAwsgASIQIAJHDStBHSEQDO0DCwJAIAEiASACRg0AIAFBAWohAUEQIRAM1AMLQQchEAzsAwsgAEIAIAApAyAiESACIAEiEGutIhJ9IhMgEyARVhs3AyAgESASViIURQ3lAUEIIRAM6wMLAkAgASIBIAJGDQAgAEGJgICAADYCCCAAIAE2AgQgASEBQRQhEAzSAwtBCSEQDOoDCyABIQEgACkDIFAN5AEgASEBDPICCwJAIAEiASACRw0AQQshEAzpAwsgACABQQFqIgEgAhC2gICAACIQDeUBIAEhAQzyAgsgACABIgEgAhC4gICAACIQDeUBIAEhAQzyAgsgACABIgEgAhC4gICAACIQDeYBIAEhAQwNCyAAIAEiASACELqAgIAAIhAN5wEgASEBDPACCwJAIAEiASACRw0AQQ8hEAzlAwsgAS0AACIQQTtGDQggEEENRw3oASABQQFqIQEM7wILIAAgASIBIAIQuoCAgAAiEA3oASABIQEM8gILA0ACQCABLQAAQfC1gIAAai0AACIQQQFGDQAgEEECRw3rASAAKAIEIRAgAEEANgIEIAAgECABQQFqIgEQuYCAgAAiEA3qASABIQEM9AILIAFBAWoiASACRw0AC0ESIRAM4gMLIAAgASIBIAIQuoCAgAAiEA3pASABIQEMCgsgASIBIAJHDQZBGyEQDOADCwJAIAEiASACRw0AQRYhEAzgAwsgAEGKgICAADYCCCAAIAE2AgQgACABIAIQuICAgAAiEA3qASABIQFBICEQDMYDCwJAIAEiASACRg0AA0ACQCABLQAAQfC3gIAAai0AACIQQQJGDQACQCAQQX9qDgTlAewBAOsB7AELIAFBAWohAUEIIRAMyAMLIAFBAWoiASACRw0AC0EVIRAM3wMLQRUhEAzeAwsDQAJAIAEtAABB8LmAgABqLQAAIhBBAkYNACAQQX9qDgTeAewB4AHrAewBCyABQQFqIgEgAkcNAAtBGCEQDN0DCwJAIAEiASACRg0AIABBi4CAgAA2AgggACABNgIEIAEhAUEHIRAMxAMLQRkhEAzcAwsgAUEBaiEBDAILAkAgASIUIAJHDQBBGiEQDNsDCyAUIQECQCAULQAAQXNqDhTdAu4C7gLuAu4C7gLuAu4C7gLuAu4C7gLuAu4C7gLuAu4C7gLuAgDuAgtBACEQIABBADYCHCAAQa+LgIAANgIQIABBAjYCDCAAIBRBAWo2AhQM2gMLAkAgAS0AACIQQTtGDQAgEEENRw3oASABQQFqIQEM5QILIAFBAWohAQtBIiEQDL8DCwJAIAEiECACRw0AQRwhEAzYAwtCACERIBAhASAQLQAAQVBqDjfnAeYBAQIDBAUGBwgAAAAAAAAACQoLDA0OAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPEBESExQAC0EeIRAMvQMLQgIhEQzlAQtCAyERDOQBC0IEIREM4wELQgUhEQziAQtCBiERDOEBC0IHIREM4AELQgghEQzfAQtCCSERDN4BC0IKIREM3QELQgshEQzcAQtCDCERDNsBC0INIREM2gELQg4hEQzZAQtCDyERDNgBC0IKIREM1wELQgshEQzWAQtCDCERDNUBC0INIREM1AELQg4hEQzTAQtCDyERDNIBC0IAIRECQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIBAtAABBUGoON+UB5AEAAQIDBAUGB+YB5gHmAeYB5gHmAeYBCAkKCwwN5gHmAeYB5gHmAeYB5gHmAeYB5gHmAeYB5gHmAeYB5gHmAeYB5gHmAeYB5gHmAeYB5gHmAQ4PEBESE+YBC0ICIREM5AELQgMhEQzjAQtCBCERDOIBC0IFIREM4QELQgYhEQzgAQtCByERDN8BC0IIIREM3gELQgkhEQzdAQtCCiERDNwBC0ILIREM2wELQgwhEQzaAQtCDSERDNkBC0IOIREM2AELQg8hEQzXAQtCCiERDNYBC0ILIREM1QELQgwhEQzUAQtCDSERDNMBC0IOIREM0gELQg8hEQzRAQsgAEIAIAApAyAiESACIAEiEGutIhJ9IhMgEyARVhs3AyAgESASViIURQ3SAUEfIRAMwAMLAkAgASIBIAJGDQAgAEGJgICAADYCCCAAIAE2AgQgASEBQSQhEAynAwtBICEQDL8DCyAAIAEiECACEL6AgIAAQX9qDgW2AQDFAgHRAdIBC0ERIRAMpAMLIABBAToALyAQIQEMuwMLIAEiASACRw3SAUEkIRAMuwMLIAEiDSACRw0eQcYAIRAMugMLIAAgASIBIAIQsoCAgAAiEA3UASABIQEMtQELIAEiECACRw0mQdAAIRAMuAMLAkAgASIBIAJHDQBBKCEQDLgDCyAAQQA2AgQgAEGMgICAADYCCCAAIAEgARCxgICAACIQDdMBIAEhAQzYAQsCQCABIhAgAkcNAEEpIRAMtwMLIBAtAAAiAUEgRg0UIAFBCUcN0wEgEEEBaiEBDBULAkAgASIBIAJGDQAgAUEBaiEBDBcLQSohEAy1AwsCQCABIhAgAkcNAEErIRAMtQMLAkAgEC0AACIBQQlGDQAgAUEgRw3VAQsgAC0ALEEIRg3TASAQIQEMkQMLAkAgASIBIAJHDQBBLCEQDLQDCyABLQAAQQpHDdUBIAFBAWohAQzJAgsgASIOIAJHDdUBQS8hEAyyAwsDQAJAIAEtAAAiEEEgRg0AAkAgEEF2ag4EANwB3AEA2gELIAEhAQzgAQsgAUEBaiIBIAJHDQALQTEhEAyxAwtBMiEQIAEiFCACRg2wAyACIBRrIAAoAgAiAWohFSAUIAFrQQNqIRYCQANAIBQtAAAiF0EgciAXIBdBv39qQf8BcUEaSRtB/wFxIAFB8LuAgABqLQAARw0BAkAgAUEDRw0AQQYhAQyWAwsgAUEBaiEBIBRBAWoiFCACRw0ACyAAIBU2AgAMsQMLIABBADYCACAUIQEM2QELQTMhECABIhQgAkYNrwMgAiAUayAAKAIAIgFqIRUgFCABa0EIaiEWAkADQCAULQAAIhdBIHIgFyAXQb9/akH/AXFBGkkbQf8BcSABQfS7gIAAai0AAEcNAQJAIAFBCEcNAEEFIQEMlQMLIAFBAWohASAUQQFqIhQgAkcNAAsgACAVNgIADLADCyAAQQA2AgAgFCEBDNgBC0E0IRAgASIUIAJGDa4DIAIgFGsgACgCACIBaiEVIBQgAWtBBWohFgJAA0AgFC0AACIXQSByIBcgF0G/f2pB/wFxQRpJG0H/AXEgAUHQwoCAAGotAABHDQECQCABQQVHDQBBByEBDJQDCyABQQFqIQEgFEEBaiIUIAJHDQALIAAgFTYCAAyvAwsgAEEANgIAIBQhAQzXAQsCQCABIgEgAkYNAANAAkAgAS0AAEGAvoCAAGotAAAiEEEBRg0AIBBBAkYNCiABIQEM3QELIAFBAWoiASACRw0AC0EwIRAMrgMLQTAhEAytAwsCQCABIgEgAkYNAANAAkAgAS0AACIQQSBGDQAgEEF2ag4E2QHaAdoB2QHaAQsgAUEBaiIBIAJHDQALQTghEAytAwtBOCEQDKwDCwNAAkAgAS0AACIQQSBGDQAgEEEJRw0DCyABQQFqIgEgAkcNAAtBPCEQDKsDCwNAAkAgAS0AACIQQSBGDQACQAJAIBBBdmoOBNoBAQHaAQALIBBBLEYN2wELIAEhAQwECyABQQFqIgEgAkcNAAtBPyEQDKoDCyABIQEM2wELQcAAIRAgASIUIAJGDagDIAIgFGsgACgCACIBaiEWIBQgAWtBBmohFwJAA0AgFC0AAEEgciABQYDAgIAAai0AAEcNASABQQZGDY4DIAFBAWohASAUQQFqIhQgAkcNAAsgACAWNgIADKkDCyAAQQA2AgAgFCEBC0E2IRAMjgMLAkAgASIPIAJHDQBBwQAhEAynAwsgAEGMgICAADYCCCAAIA82AgQgDyEBIAAtACxBf2oOBM0B1QHXAdkBhwMLIAFBAWohAQzMAQsCQCABIgEgAkYNAANAAkAgAS0AACIQQSByIBAgEEG/f2pB/wFxQRpJG0H/AXEiEEEJRg0AIBBBIEYNAAJAAkACQAJAIBBBnX9qDhMAAwMDAwMDAwEDAwMDAwMDAwMCAwsgAUEBaiEBQTEhEAyRAwsgAUEBaiEBQTIhEAyQAwsgAUEBaiEBQTMhEAyPAwsgASEBDNABCyABQQFqIgEgAkcNAAtBNSEQDKUDC0E1IRAMpAMLAkAgASIBIAJGDQADQAJAIAEtAABBgLyAgABqLQAAQQFGDQAgASEBDNMBCyABQQFqIgEgAkcNAAtBPSEQDKQDC0E9IRAMowMLIAAgASIBIAIQsICAgAAiEA3WASABIQEMAQsgEEEBaiEBC0E8IRAMhwMLAkAgASIBIAJHDQBBwgAhEAygAwsCQANAAkAgAS0AAEF3ag4YAAL+Av4ChAP+Av4C/gL+Av4C/gL+Av4C/gL+Av4C/gL+Av4C/gL+Av4C/gIA/gILIAFBAWoiASACRw0AC0HCACEQDKADCyABQQFqIQEgAC0ALUEBcUUNvQEgASEBC0EsIRAMhQMLIAEiASACRw3TAUHEACEQDJ0DCwNAAkAgAS0AAEGQwICAAGotAABBAUYNACABIQEMtwILIAFBAWoiASACRw0AC0HFACEQDJwDCyANLQAAIhBBIEYNswEgEEE6Rw2BAyAAKAIEIQEgAEEANgIEIAAgASANEK+AgIAAIgEN0AEgDUEBaiEBDLMCC0HHACEQIAEiDSACRg2aAyACIA1rIAAoAgAiAWohFiANIAFrQQVqIRcDQCANLQAAIhRBIHIgFCAUQb9/akH/AXFBGkkbQf8BcSABQZDCgIAAai0AAEcNgAMgAUEFRg30AiABQQFqIQEgDUEBaiINIAJHDQALIAAgFjYCAAyaAwtByAAhECABIg0gAkYNmQMgAiANayAAKAIAIgFqIRYgDSABa0EJaiEXA0AgDS0AACIUQSByIBQgFEG/f2pB/wFxQRpJG0H/AXEgAUGWwoCAAGotAABHDf8CAkAgAUEJRw0AQQIhAQz1AgsgAUEBaiEBIA1BAWoiDSACRw0ACyAAIBY2AgAMmQMLAkAgASINIAJHDQBByQAhEAyZAwsCQAJAIA0tAAAiAUEgciABIAFBv39qQf8BcUEaSRtB/wFxQZJ/ag4HAIADgAOAA4ADgAMBgAMLIA1BAWohAUE+IRAMgAMLIA1BAWohAUE/IRAM/wILQcoAIRAgASINIAJGDZcDIAIgDWsgACgCACIBaiEWIA0gAWtBAWohFwNAIA0tAAAiFEEgciAUIBRBv39qQf8BcUEaSRtB/wFxIAFBoMKAgABqLQAARw39AiABQQFGDfACIAFBAWohASANQQFqIg0gAkcNAAsgACAWNgIADJcDC0HLACEQIAEiDSACRg2WAyACIA1rIAAoAgAiAWohFiANIAFrQQ5qIRcDQCANLQAAIhRBIHIgFCAUQb9/akH/AXFBGkkbQf8BcSABQaLCgIAAai0AAEcN/AIgAUEORg3wAiABQQFqIQEgDUEBaiINIAJHDQALIAAgFjYCAAyWAwtBzAAhECABIg0gAkYNlQMgAiANayAAKAIAIgFqIRYgDSABa0EPaiEXA0AgDS0AACIUQSByIBQgFEG/f2pB/wFxQRpJG0H/AXEgAUHAwoCAAGotAABHDfsCAkAgAUEPRw0AQQMhAQzxAgsgAUEBaiEBIA1BAWoiDSACRw0ACyAAIBY2AgAMlQMLQc0AIRAgASINIAJGDZQDIAIgDWsgACgCACIBaiEWIA0gAWtBBWohFwNAIA0tAAAiFEEgciAUIBRBv39qQf8BcUEaSRtB/wFxIAFB0MKAgABqLQAARw36AgJAIAFBBUcNAEEEIQEM8AILIAFBAWohASANQQFqIg0gAkcNAAsgACAWNgIADJQDCwJAIAEiDSACRw0AQc4AIRAMlAMLAkACQAJAAkAgDS0AACIBQSByIAEgAUG/f2pB/wFxQRpJG0H/AXFBnX9qDhMA/QL9Av0C/QL9Av0C/QL9Av0C/QL9Av0CAf0C/QL9AgID/QILIA1BAWohAUHBACEQDP0CCyANQQFqIQFBwgAhEAz8AgsgDUEBaiEBQcMAIRAM+wILIA1BAWohAUHEACEQDPoCCwJAIAEiASACRg0AIABBjYCAgAA2AgggACABNgIEIAEhAUHFACEQDPoCC0HPACEQDJIDCyAQIQECQAJAIBAtAABBdmoOBAGoAqgCAKgCCyAQQQFqIQELQSchEAz4AgsCQCABIgEgAkcNAEHRACEQDJEDCwJAIAEtAABBIEYNACABIQEMjQELIAFBAWohASAALQAtQQFxRQ3HASABIQEMjAELIAEiFyACRw3IAUHSACEQDI8DC0HTACEQIAEiFCACRg2OAyACIBRrIAAoAgAiAWohFiAUIAFrQQFqIRcDQCAULQAAIAFB1sKAgABqLQAARw3MASABQQFGDccBIAFBAWohASAUQQFqIhQgAkcNAAsgACAWNgIADI4DCwJAIAEiASACRw0AQdUAIRAMjgMLIAEtAABBCkcNzAEgAUEBaiEBDMcBCwJAIAEiASACRw0AQdYAIRAMjQMLAkACQCABLQAAQXZqDgQAzQHNAQHNAQsgAUEBaiEBDMcBCyABQQFqIQFBygAhEAzzAgsgACABIgEgAhCugICAACIQDcsBIAEhAUHNACEQDPICCyAALQApQSJGDYUDDKYCCwJAIAEiASACRw0AQdsAIRAMigMLQQAhFEEBIRdBASEWQQAhEAJAAkACQAJAAkACQAJAAkACQCABLQAAQVBqDgrUAdMBAAECAwQFBgjVAQtBAiEQDAYLQQMhEAwFC0EEIRAMBAtBBSEQDAMLQQYhEAwCC0EHIRAMAQtBCCEQC0EAIRdBACEWQQAhFAzMAQtBCSEQQQEhFEEAIRdBACEWDMsBCwJAIAEiASACRw0AQd0AIRAMiQMLIAEtAABBLkcNzAEgAUEBaiEBDKYCCyABIgEgAkcNzAFB3wAhEAyHAwsCQCABIgEgAkYNACAAQY6AgIAANgIIIAAgATYCBCABIQFB0AAhEAzuAgtB4AAhEAyGAwtB4QAhECABIgEgAkYNhQMgAiABayAAKAIAIhRqIRYgASAUa0EDaiEXA0AgAS0AACAUQeLCgIAAai0AAEcNzQEgFEEDRg3MASAUQQFqIRQgAUEBaiIBIAJHDQALIAAgFjYCAAyFAwtB4gAhECABIgEgAkYNhAMgAiABayAAKAIAIhRqIRYgASAUa0ECaiEXA0AgAS0AACAUQebCgIAAai0AAEcNzAEgFEECRg3OASAUQQFqIRQgAUEBaiIBIAJHDQALIAAgFjYCAAyEAwtB4wAhECABIgEgAkYNgwMgAiABayAAKAIAIhRqIRYgASAUa0EDaiEXA0AgAS0AACAUQenCgIAAai0AAEcNywEgFEEDRg3OASAUQQFqIRQgAUEBaiIBIAJHDQALIAAgFjYCAAyDAwsCQCABIgEgAkcNAEHlACEQDIMDCyAAIAFBAWoiASACEKiAgIAAIhANzQEgASEBQdYAIRAM6QILAkAgASIBIAJGDQADQAJAIAEtAAAiEEEgRg0AAkACQAJAIBBBuH9qDgsAAc8BzwHPAc8BzwHPAc8BzwECzwELIAFBAWohAUHSACEQDO0CCyABQQFqIQFB0wAhEAzsAgsgAUEBaiEBQdQAIRAM6wILIAFBAWoiASACRw0AC0HkACEQDIIDC0HkACEQDIEDCwNAAkAgAS0AAEHwwoCAAGotAAAiEEEBRg0AIBBBfmoOA88B0AHRAdIBCyABQQFqIgEgAkcNAAtB5gAhEAyAAwsCQCABIgEgAkYNACABQQFqIQEMAwtB5wAhEAz/AgsDQAJAIAEtAABB8MSAgABqLQAAIhBBAUYNAAJAIBBBfmoOBNIB0wHUAQDVAQsgASEBQdcAIRAM5wILIAFBAWoiASACRw0AC0HoACEQDP4CCwJAIAEiASACRw0AQekAIRAM/gILAkAgAS0AACIQQXZqDhq6AdUB1QG8AdUB1QHVAdUB1QHVAdUB1QHVAdUB1QHVAdUB1QHVAdUB1QHVAcoB1QHVAQDTAQsgAUEBaiEBC0EGIRAM4wILA0ACQCABLQAAQfDGgIAAai0AAEEBRg0AIAEhAQyeAgsgAUEBaiIBIAJHDQALQeoAIRAM+wILAkAgASIBIAJGDQAgAUEBaiEBDAMLQesAIRAM+gILAkAgASIBIAJHDQBB7AAhEAz6AgsgAUEBaiEBDAELAkAgASIBIAJHDQBB7QAhEAz5AgsgAUEBaiEBC0EEIRAM3gILAkAgASIUIAJHDQBB7gAhEAz3AgsgFCEBAkACQAJAIBQtAABB8MiAgABqLQAAQX9qDgfUAdUB1gEAnAIBAtcBCyAUQQFqIQEMCgsgFEEBaiEBDM0BC0EAIRAgAEEANgIcIABBm5KAgAA2AhAgAEEHNgIMIAAgFEEBajYCFAz2AgsCQANAAkAgAS0AAEHwyICAAGotAAAiEEEERg0AAkACQCAQQX9qDgfSAdMB1AHZAQAEAdkBCyABIQFB2gAhEAzgAgsgAUEBaiEBQdwAIRAM3wILIAFBAWoiASACRw0AC0HvACEQDPYCCyABQQFqIQEMywELAkAgASIUIAJHDQBB8AAhEAz1AgsgFC0AAEEvRw3UASAUQQFqIQEMBgsCQCABIhQgAkcNAEHxACEQDPQCCwJAIBQtAAAiAUEvRw0AIBRBAWohAUHdACEQDNsCCyABQXZqIgRBFksN0wFBASAEdEGJgIACcUUN0wEMygILAkAgASIBIAJGDQAgAUEBaiEBQd4AIRAM2gILQfIAIRAM8gILAkAgASIUIAJHDQBB9AAhEAzyAgsgFCEBAkAgFC0AAEHwzICAAGotAABBf2oOA8kClAIA1AELQeEAIRAM2AILAkAgASIUIAJGDQADQAJAIBQtAABB8MqAgABqLQAAIgFBA0YNAAJAIAFBf2oOAssCANUBCyAUIQFB3wAhEAzaAgsgFEEBaiIUIAJHDQALQfMAIRAM8QILQfMAIRAM8AILAkAgASIBIAJGDQAgAEGPgICAADYCCCAAIAE2AgQgASEBQeAAIRAM1wILQfUAIRAM7wILAkAgASIBIAJHDQBB9gAhEAzvAgsgAEGPgICAADYCCCAAIAE2AgQgASEBC0EDIRAM1AILA0AgAS0AAEEgRw3DAiABQQFqIgEgAkcNAAtB9wAhEAzsAgsCQCABIgEgAkcNAEH4ACEQDOwCCyABLQAAQSBHDc4BIAFBAWohAQzvAQsgACABIgEgAhCsgICAACIQDc4BIAEhAQyOAgsCQCABIgQgAkcNAEH6ACEQDOoCCyAELQAAQcwARw3RASAEQQFqIQFBEyEQDM8BCwJAIAEiBCACRw0AQfsAIRAM6QILIAIgBGsgACgCACIBaiEUIAQgAWtBBWohEANAIAQtAAAgAUHwzoCAAGotAABHDdABIAFBBUYNzgEgAUEBaiEBIARBAWoiBCACRw0ACyAAIBQ2AgBB+wAhEAzoAgsCQCABIgQgAkcNAEH8ACEQDOgCCwJAAkAgBC0AAEG9f2oODADRAdEB0QHRAdEB0QHRAdEB0QHRAQHRAQsgBEEBaiEBQeYAIRAMzwILIARBAWohAUHnACEQDM4CCwJAIAEiBCACRw0AQf0AIRAM5wILIAIgBGsgACgCACIBaiEUIAQgAWtBAmohEAJAA0AgBC0AACABQe3PgIAAai0AAEcNzwEgAUECRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQf0AIRAM5wILIABBADYCACAQQQFqIQFBECEQDMwBCwJAIAEiBCACRw0AQf4AIRAM5gILIAIgBGsgACgCACIBaiEUIAQgAWtBBWohEAJAA0AgBC0AACABQfbOgIAAai0AAEcNzgEgAUEFRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQf4AIRAM5gILIABBADYCACAQQQFqIQFBFiEQDMsBCwJAIAEiBCACRw0AQf8AIRAM5QILIAIgBGsgACgCACIBaiEUIAQgAWtBA2ohEAJAA0AgBC0AACABQfzOgIAAai0AAEcNzQEgAUEDRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQf8AIRAM5QILIABBADYCACAQQQFqIQFBBSEQDMoBCwJAIAEiBCACRw0AQYABIRAM5AILIAQtAABB2QBHDcsBIARBAWohAUEIIRAMyQELAkAgASIEIAJHDQBBgQEhEAzjAgsCQAJAIAQtAABBsn9qDgMAzAEBzAELIARBAWohAUHrACEQDMoCCyAEQQFqIQFB7AAhEAzJAgsCQCABIgQgAkcNAEGCASEQDOICCwJAAkAgBC0AAEG4f2oOCADLAcsBywHLAcsBywEBywELIARBAWohAUHqACEQDMkCCyAEQQFqIQFB7QAhEAzIAgsCQCABIgQgAkcNAEGDASEQDOECCyACIARrIAAoAgAiAWohECAEIAFrQQJqIRQCQANAIAQtAAAgAUGAz4CAAGotAABHDckBIAFBAkYNASABQQFqIQEgBEEBaiIEIAJHDQALIAAgEDYCAEGDASEQDOECC0EAIRAgAEEANgIAIBRBAWohAQzGAQsCQCABIgQgAkcNAEGEASEQDOACCyACIARrIAAoAgAiAWohFCAEIAFrQQRqIRACQANAIAQtAAAgAUGDz4CAAGotAABHDcgBIAFBBEYNASABQQFqIQEgBEEBaiIEIAJHDQALIAAgFDYCAEGEASEQDOACCyAAQQA2AgAgEEEBaiEBQSMhEAzFAQsCQCABIgQgAkcNAEGFASEQDN8CCwJAAkAgBC0AAEG0f2oOCADIAcgByAHIAcgByAEByAELIARBAWohAUHvACEQDMYCCyAEQQFqIQFB8AAhEAzFAgsCQCABIgQgAkcNAEGGASEQDN4CCyAELQAAQcUARw3FASAEQQFqIQEMgwILAkAgASIEIAJHDQBBhwEhEAzdAgsgAiAEayAAKAIAIgFqIRQgBCABa0EDaiEQAkADQCAELQAAIAFBiM+AgABqLQAARw3FASABQQNGDQEgAUEBaiEBIARBAWoiBCACRw0ACyAAIBQ2AgBBhwEhEAzdAgsgAEEANgIAIBBBAWohAUEtIRAMwgELAkAgASIEIAJHDQBBiAEhEAzcAgsgAiAEayAAKAIAIgFqIRQgBCABa0EIaiEQAkADQCAELQAAIAFB0M+AgABqLQAARw3EASABQQhGDQEgAUEBaiEBIARBAWoiBCACRw0ACyAAIBQ2AgBBiAEhEAzcAgsgAEEANgIAIBBBAWohAUEpIRAMwQELAkAgASIBIAJHDQBBiQEhEAzbAgtBASEQIAEtAABB3wBHDcABIAFBAWohAQyBAgsCQCABIgQgAkcNAEGKASEQDNoCCyACIARrIAAoAgAiAWohFCAEIAFrQQFqIRADQCAELQAAIAFBjM+AgABqLQAARw3BASABQQFGDa8CIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQYoBIRAM2QILAkAgASIEIAJHDQBBiwEhEAzZAgsgAiAEayAAKAIAIgFqIRQgBCABa0ECaiEQAkADQCAELQAAIAFBjs+AgABqLQAARw3BASABQQJGDQEgAUEBaiEBIARBAWoiBCACRw0ACyAAIBQ2AgBBiwEhEAzZAgsgAEEANgIAIBBBAWohAUECIRAMvgELAkAgASIEIAJHDQBBjAEhEAzYAgsgAiAEayAAKAIAIgFqIRQgBCABa0EBaiEQAkADQCAELQAAIAFB8M+AgABqLQAARw3AASABQQFGDQEgAUEBaiEBIARBAWoiBCACRw0ACyAAIBQ2AgBBjAEhEAzYAgsgAEEANgIAIBBBAWohAUEfIRAMvQELAkAgASIEIAJHDQBBjQEhEAzXAgsgAiAEayAAKAIAIgFqIRQgBCABa0EBaiEQAkADQCAELQAAIAFB8s+AgABqLQAARw2/ASABQQFGDQEgAUEBaiEBIARBAWoiBCACRw0ACyAAIBQ2AgBBjQEhEAzXAgsgAEEANgIAIBBBAWohAUEJIRAMvAELAkAgASIEIAJHDQBBjgEhEAzWAgsCQAJAIAQtAABBt39qDgcAvwG/Ab8BvwG/AQG/AQsgBEEBaiEBQfgAIRAMvQILIARBAWohAUH5ACEQDLwCCwJAIAEiBCACRw0AQY8BIRAM1QILIAIgBGsgACgCACIBaiEUIAQgAWtBBWohEAJAA0AgBC0AACABQZHPgIAAai0AAEcNvQEgAUEFRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQY8BIRAM1QILIABBADYCACAQQQFqIQFBGCEQDLoBCwJAIAEiBCACRw0AQZABIRAM1AILIAIgBGsgACgCACIBaiEUIAQgAWtBAmohEAJAA0AgBC0AACABQZfPgIAAai0AAEcNvAEgAUECRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQZABIRAM1AILIABBADYCACAQQQFqIQFBFyEQDLkBCwJAIAEiBCACRw0AQZEBIRAM0wILIAIgBGsgACgCACIBaiEUIAQgAWtBBmohEAJAA0AgBC0AACABQZrPgIAAai0AAEcNuwEgAUEGRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQZEBIRAM0wILIABBADYCACAQQQFqIQFBFSEQDLgBCwJAIAEiBCACRw0AQZIBIRAM0gILIAIgBGsgACgCACIBaiEUIAQgAWtBBWohEAJAA0AgBC0AACABQaHPgIAAai0AAEcNugEgAUEFRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQZIBIRAM0gILIABBADYCACAQQQFqIQFBHiEQDLcBCwJAIAEiBCACRw0AQZMBIRAM0QILIAQtAABBzABHDbgBIARBAWohAUEKIRAMtgELAkAgBCACRw0AQZQBIRAM0AILAkACQCAELQAAQb9/ag4PALkBuQG5AbkBuQG5AbkBuQG5AbkBuQG5AbkBAbkBCyAEQQFqIQFB/gAhEAy3AgsgBEEBaiEBQf8AIRAMtgILAkAgBCACRw0AQZUBIRAMzwILAkACQCAELQAAQb9/ag4DALgBAbgBCyAEQQFqIQFB/QAhEAy2AgsgBEEBaiEEQYABIRAMtQILAkAgBCACRw0AQZYBIRAMzgILIAIgBGsgACgCACIBaiEUIAQgAWtBAWohEAJAA0AgBC0AACABQafPgIAAai0AAEcNtgEgAUEBRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQZYBIRAMzgILIABBADYCACAQQQFqIQFBCyEQDLMBCwJAIAQgAkcNAEGXASEQDM0CCwJAAkACQAJAIAQtAABBU2oOIwC4AbgBuAG4AbgBuAG4AbgBuAG4AbgBuAG4AbgBuAG4AbgBuAG4AbgBuAG4AbgBAbgBuAG4AbgBuAECuAG4AbgBA7gBCyAEQQFqIQFB+wAhEAy2AgsgBEEBaiEBQfwAIRAMtQILIARBAWohBEGBASEQDLQCCyAEQQFqIQRBggEhEAyzAgsCQCAEIAJHDQBBmAEhEAzMAgsgAiAEayAAKAIAIgFqIRQgBCABa0EEaiEQAkADQCAELQAAIAFBqc+AgABqLQAARw20ASABQQRGDQEgAUEBaiEBIARBAWoiBCACRw0ACyAAIBQ2AgBBmAEhEAzMAgsgAEEANgIAIBBBAWohAUEZIRAMsQELAkAgBCACRw0AQZkBIRAMywILIAIgBGsgACgCACIBaiEUIAQgAWtBBWohEAJAA0AgBC0AACABQa7PgIAAai0AAEcNswEgAUEFRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQZkBIRAMywILIABBADYCACAQQQFqIQFBBiEQDLABCwJAIAQgAkcNAEGaASEQDMoCCyACIARrIAAoAgAiAWohFCAEIAFrQQFqIRACQANAIAQtAAAgAUG0z4CAAGotAABHDbIBIAFBAUYNASABQQFqIQEgBEEBaiIEIAJHDQALIAAgFDYCAEGaASEQDMoCCyAAQQA2AgAgEEEBaiEBQRwhEAyvAQsCQCAEIAJHDQBBmwEhEAzJAgsgAiAEayAAKAIAIgFqIRQgBCABa0EBaiEQAkADQCAELQAAIAFBts+AgABqLQAARw2xASABQQFGDQEgAUEBaiEBIARBAWoiBCACRw0ACyAAIBQ2AgBBmwEhEAzJAgsgAEEANgIAIBBBAWohAUEnIRAMrgELAkAgBCACRw0AQZwBIRAMyAILAkACQCAELQAAQax/ag4CAAGxAQsgBEEBaiEEQYYBIRAMrwILIARBAWohBEGHASEQDK4CCwJAIAQgAkcNAEGdASEQDMcCCyACIARrIAAoAgAiAWohFCAEIAFrQQFqIRACQANAIAQtAAAgAUG4z4CAAGotAABHDa8BIAFBAUYNASABQQFqIQEgBEEBaiIEIAJHDQALIAAgFDYCAEGdASEQDMcCCyAAQQA2AgAgEEEBaiEBQSYhEAysAQsCQCAEIAJHDQBBngEhEAzGAgsgAiAEayAAKAIAIgFqIRQgBCABa0EBaiEQAkADQCAELQAAIAFBus+AgABqLQAARw2uASABQQFGDQEgAUEBaiEBIARBAWoiBCACRw0ACyAAIBQ2AgBBngEhEAzGAgsgAEEANgIAIBBBAWohAUEDIRAMqwELAkAgBCACRw0AQZ8BIRAMxQILIAIgBGsgACgCACIBaiEUIAQgAWtBAmohEAJAA0AgBC0AACABQe3PgIAAai0AAEcNrQEgAUECRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQZ8BIRAMxQILIABBADYCACAQQQFqIQFBDCEQDKoBCwJAIAQgAkcNAEGgASEQDMQCCyACIARrIAAoAgAiAWohFCAEIAFrQQNqIRACQANAIAQtAAAgAUG8z4CAAGotAABHDawBIAFBA0YNASABQQFqIQEgBEEBaiIEIAJHDQALIAAgFDYCAEGgASEQDMQCCyAAQQA2AgAgEEEBaiEBQQ0hEAypAQsCQCAEIAJHDQBBoQEhEAzDAgsCQAJAIAQtAABBun9qDgsArAGsAawBrAGsAawBrAGsAawBAawBCyAEQQFqIQRBiwEhEAyqAgsgBEEBaiEEQYwBIRAMqQILAkAgBCACRw0AQaIBIRAMwgILIAQtAABB0ABHDakBIARBAWohBAzpAQsCQCAEIAJHDQBBowEhEAzBAgsCQAJAIAQtAABBt39qDgcBqgGqAaoBqgGqAQCqAQsgBEEBaiEEQY4BIRAMqAILIARBAWohAUEiIRAMpgELAkAgBCACRw0AQaQBIRAMwAILIAIgBGsgACgCACIBaiEUIAQgAWtBAWohEAJAA0AgBC0AACABQcDPgIAAai0AAEcNqAEgAUEBRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQaQBIRAMwAILIABBADYCACAQQQFqIQFBHSEQDKUBCwJAIAQgAkcNAEGlASEQDL8CCwJAAkAgBC0AAEGuf2oOAwCoAQGoAQsgBEEBaiEEQZABIRAMpgILIARBAWohAUEEIRAMpAELAkAgBCACRw0AQaYBIRAMvgILAkACQAJAAkACQCAELQAAQb9/ag4VAKoBqgGqAaoBqgGqAaoBqgGqAaoBAaoBqgECqgGqAQOqAaoBBKoBCyAEQQFqIQRBiAEhEAyoAgsgBEEBaiEEQYkBIRAMpwILIARBAWohBEGKASEQDKYCCyAEQQFqIQRBjwEhEAylAgsgBEEBaiEEQZEBIRAMpAILAkAgBCACRw0AQacBIRAMvQILIAIgBGsgACgCACIBaiEUIAQgAWtBAmohEAJAA0AgBC0AACABQe3PgIAAai0AAEcNpQEgAUECRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQacBIRAMvQILIABBADYCACAQQQFqIQFBESEQDKIBCwJAIAQgAkcNAEGoASEQDLwCCyACIARrIAAoAgAiAWohFCAEIAFrQQJqIRACQANAIAQtAAAgAUHCz4CAAGotAABHDaQBIAFBAkYNASABQQFqIQEgBEEBaiIEIAJHDQALIAAgFDYCAEGoASEQDLwCCyAAQQA2AgAgEEEBaiEBQSwhEAyhAQsCQCAEIAJHDQBBqQEhEAy7AgsgAiAEayAAKAIAIgFqIRQgBCABa0EEaiEQAkADQCAELQAAIAFBxc+AgABqLQAARw2jASABQQRGDQEgAUEBaiEBIARBAWoiBCACRw0ACyAAIBQ2AgBBqQEhEAy7AgsgAEEANgIAIBBBAWohAUErIRAMoAELAkAgBCACRw0AQaoBIRAMugILIAIgBGsgACgCACIBaiEUIAQgAWtBAmohEAJAA0AgBC0AACABQcrPgIAAai0AAEcNogEgAUECRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQaoBIRAMugILIABBADYCACAQQQFqIQFBFCEQDJ8BCwJAIAQgAkcNAEGrASEQDLkCCwJAAkACQAJAIAQtAABBvn9qDg8AAQKkAaQBpAGkAaQBpAGkAaQBpAGkAaQBA6QBCyAEQQFqIQRBkwEhEAyiAgsgBEEBaiEEQZQBIRAMoQILIARBAWohBEGVASEQDKACCyAEQQFqIQRBlgEhEAyfAgsCQCAEIAJHDQBBrAEhEAy4AgsgBC0AAEHFAEcNnwEgBEEBaiEEDOABCwJAIAQgAkcNAEGtASEQDLcCCyACIARrIAAoAgAiAWohFCAEIAFrQQJqIRACQANAIAQtAAAgAUHNz4CAAGotAABHDZ8BIAFBAkYNASABQQFqIQEgBEEBaiIEIAJHDQALIAAgFDYCAEGtASEQDLcCCyAAQQA2AgAgEEEBaiEBQQ4hEAycAQsCQCAEIAJHDQBBrgEhEAy2AgsgBC0AAEHQAEcNnQEgBEEBaiEBQSUhEAybAQsCQCAEIAJHDQBBrwEhEAy1AgsgAiAEayAAKAIAIgFqIRQgBCABa0EIaiEQAkADQCAELQAAIAFB0M+AgABqLQAARw2dASABQQhGDQEgAUEBaiEBIARBAWoiBCACRw0ACyAAIBQ2AgBBrwEhEAy1AgsgAEEANgIAIBBBAWohAUEqIRAMmgELAkAgBCACRw0AQbABIRAMtAILAkACQCAELQAAQat/ag4LAJ0BnQGdAZ0BnQGdAZ0BnQGdAQGdAQsgBEEBaiEEQZoBIRAMmwILIARBAWohBEGbASEQDJoCCwJAIAQgAkcNAEGxASEQDLMCCwJAAkAgBC0AAEG/f2oOFACcAZwBnAGcAZwBnAGcAZwBnAGcAZwBnAGcAZwBnAGcAZwBnAEBnAELIARBAWohBEGZASEQDJoCCyAEQQFqIQRBnAEhEAyZAgsCQCAEIAJHDQBBsgEhEAyyAgsgAiAEayAAKAIAIgFqIRQgBCABa0EDaiEQAkADQCAELQAAIAFB2c+AgABqLQAARw2aASABQQNGDQEgAUEBaiEBIARBAWoiBCACRw0ACyAAIBQ2AgBBsgEhEAyyAgsgAEEANgIAIBBBAWohAUEhIRAMlwELAkAgBCACRw0AQbMBIRAMsQILIAIgBGsgACgCACIBaiEUIAQgAWtBBmohEAJAA0AgBC0AACABQd3PgIAAai0AAEcNmQEgAUEGRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQbMBIRAMsQILIABBADYCACAQQQFqIQFBGiEQDJYBCwJAIAQgAkcNAEG0ASEQDLACCwJAAkACQCAELQAAQbt/ag4RAJoBmgGaAZoBmgGaAZoBmgGaAQGaAZoBmgGaAZoBApoBCyAEQQFqIQRBnQEhEAyYAgsgBEEBaiEEQZ4BIRAMlwILIARBAWohBEGfASEQDJYCCwJAIAQgAkcNAEG1ASEQDK8CCyACIARrIAAoAgAiAWohFCAEIAFrQQVqIRACQANAIAQtAAAgAUHkz4CAAGotAABHDZcBIAFBBUYNASABQQFqIQEgBEEBaiIEIAJHDQALIAAgFDYCAEG1ASEQDK8CCyAAQQA2AgAgEEEBaiEBQSghEAyUAQsCQCAEIAJHDQBBtgEhEAyuAgsgAiAEayAAKAIAIgFqIRQgBCABa0ECaiEQAkADQCAELQAAIAFB6s+AgABqLQAARw2WASABQQJGDQEgAUEBaiEBIARBAWoiBCACRw0ACyAAIBQ2AgBBtgEhEAyuAgsgAEEANgIAIBBBAWohAUEHIRAMkwELAkAgBCACRw0AQbcBIRAMrQILAkACQCAELQAAQbt/ag4OAJYBlgGWAZYBlgGWAZYBlgGWAZYBlgGWAQGWAQsgBEEBaiEEQaEBIRAMlAILIARBAWohBEGiASEQDJMCCwJAIAQgAkcNAEG4ASEQDKwCCyACIARrIAAoAgAiAWohFCAEIAFrQQJqIRACQANAIAQtAAAgAUHtz4CAAGotAABHDZQBIAFBAkYNASABQQFqIQEgBEEBaiIEIAJHDQALIAAgFDYCAEG4ASEQDKwCCyAAQQA2AgAgEEEBaiEBQRIhEAyRAQsCQCAEIAJHDQBBuQEhEAyrAgsgAiAEayAAKAIAIgFqIRQgBCABa0EBaiEQAkADQCAELQAAIAFB8M+AgABqLQAARw2TASABQQFGDQEgAUEBaiEBIARBAWoiBCACRw0ACyAAIBQ2AgBBuQEhEAyrAgsgAEEANgIAIBBBAWohAUEgIRAMkAELAkAgBCACRw0AQboBIRAMqgILIAIgBGsgACgCACIBaiEUIAQgAWtBAWohEAJAA0AgBC0AACABQfLPgIAAai0AAEcNkgEgAUEBRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQboBIRAMqgILIABBADYCACAQQQFqIQFBDyEQDI8BCwJAIAQgAkcNAEG7ASEQDKkCCwJAAkAgBC0AAEG3f2oOBwCSAZIBkgGSAZIBAZIBCyAEQQFqIQRBpQEhEAyQAgsgBEEBaiEEQaYBIRAMjwILAkAgBCACRw0AQbwBIRAMqAILIAIgBGsgACgCACIBaiEUIAQgAWtBB2ohEAJAA0AgBC0AACABQfTPgIAAai0AAEcNkAEgAUEHRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQbwBIRAMqAILIABBADYCACAQQQFqIQFBGyEQDI0BCwJAIAQgAkcNAEG9ASEQDKcCCwJAAkACQCAELQAAQb5/ag4SAJEBkQGRAZEBkQGRAZEBkQGRAQGRAZEBkQGRAZEBkQECkQELIARBAWohBEGkASEQDI8CCyAEQQFqIQRBpwEhEAyOAgsgBEEBaiEEQagBIRAMjQILAkAgBCACRw0AQb4BIRAMpgILIAQtAABBzgBHDY0BIARBAWohBAzPAQsCQCAEIAJHDQBBvwEhEAylAgsCQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCAELQAAQb9/ag4VAAECA5wBBAUGnAGcAZwBBwgJCgucAQwNDg+cAQsgBEEBaiEBQegAIRAMmgILIARBAWohAUHpACEQDJkCCyAEQQFqIQFB7gAhEAyYAgsgBEEBaiEBQfIAIRAMlwILIARBAWohAUHzACEQDJYCCyAEQQFqIQFB9gAhEAyVAgsgBEEBaiEBQfcAIRAMlAILIARBAWohAUH6ACEQDJMCCyAEQQFqIQRBgwEhEAySAgsgBEEBaiEEQYQBIRAMkQILIARBAWohBEGFASEQDJACCyAEQQFqIQRBkgEhEAyPAgsgBEEBaiEEQZgBIRAMjgILIARBAWohBEGgASEQDI0CCyAEQQFqIQRBowEhEAyMAgsgBEEBaiEEQaoBIRAMiwILAkAgBCACRg0AIABBkICAgAA2AgggACAENgIEQasBIRAMiwILQcABIRAMowILIAAgBSACEKqAgIAAIgENiwEgBSEBDFwLAkAgBiACRg0AIAZBAWohBQyNAQtBwgEhEAyhAgsDQAJAIBAtAABBdmoOBIwBAACPAQALIBBBAWoiECACRw0AC0HDASEQDKACCwJAIAcgAkYNACAAQZGAgIAANgIIIAAgBzYCBCAHIQFBASEQDIcCC0HEASEQDJ8CCwJAIAcgAkcNAEHFASEQDJ8CCwJAAkAgBy0AAEF2ag4EAc4BzgEAzgELIAdBAWohBgyNAQsgB0EBaiEFDIkBCwJAIAcgAkcNAEHGASEQDJ4CCwJAAkAgBy0AAEF2ag4XAY8BjwEBjwGPAY8BjwGPAY8BjwGPAY8BjwGPAY8BjwGPAY8BjwGPAY8BAI8BCyAHQQFqIQcLQbABIRAMhAILAkAgCCACRw0AQcgBIRAMnQILIAgtAABBIEcNjQEgAEEAOwEyIAhBAWohAUGzASEQDIMCCyABIRcCQANAIBciByACRg0BIActAABBUGpB/wFxIhBBCk8NzAECQCAALwEyIhRBmTNLDQAgACAUQQpsIhQ7ATIgEEH//wNzIBRB/v8DcUkNACAHQQFqIRcgACAUIBBqIhA7ATIgEEH//wNxQegHSQ0BCwtBACEQIABBADYCHCAAQcGJgIAANgIQIABBDTYCDCAAIAdBAWo2AhQMnAILQccBIRAMmwILIAAgCCACEK6AgIAAIhBFDcoBIBBBFUcNjAEgAEHIATYCHCAAIAg2AhQgAEHJl4CAADYCECAAQRU2AgxBACEQDJoCCwJAIAkgAkcNAEHMASEQDJoCC0EAIRRBASEXQQEhFkEAIRACQAJAAkACQAJAAkACQAJAAkAgCS0AAEFQag4KlgGVAQABAgMEBQYIlwELQQIhEAwGC0EDIRAMBQtBBCEQDAQLQQUhEAwDC0EGIRAMAgtBByEQDAELQQghEAtBACEXQQAhFkEAIRQMjgELQQkhEEEBIRRBACEXQQAhFgyNAQsCQCAKIAJHDQBBzgEhEAyZAgsgCi0AAEEuRw2OASAKQQFqIQkMygELIAsgAkcNjgFB0AEhEAyXAgsCQCALIAJGDQAgAEGOgICAADYCCCAAIAs2AgRBtwEhEAz+AQtB0QEhEAyWAgsCQCAEIAJHDQBB0gEhEAyWAgsgAiAEayAAKAIAIhBqIRQgBCAQa0EEaiELA0AgBC0AACAQQfzPgIAAai0AAEcNjgEgEEEERg3pASAQQQFqIRAgBEEBaiIEIAJHDQALIAAgFDYCAEHSASEQDJUCCyAAIAwgAhCsgICAACIBDY0BIAwhAQy4AQsCQCAEIAJHDQBB1AEhEAyUAgsgAiAEayAAKAIAIhBqIRQgBCAQa0EBaiEMA0AgBC0AACAQQYHQgIAAai0AAEcNjwEgEEEBRg2OASAQQQFqIRAgBEEBaiIEIAJHDQALIAAgFDYCAEHUASEQDJMCCwJAIAQgAkcNAEHWASEQDJMCCyACIARrIAAoAgAiEGohFCAEIBBrQQJqIQsDQCAELQAAIBBBg9CAgABqLQAARw2OASAQQQJGDZABIBBBAWohECAEQQFqIgQgAkcNAAsgACAUNgIAQdYBIRAMkgILAkAgBCACRw0AQdcBIRAMkgILAkACQCAELQAAQbt/ag4QAI8BjwGPAY8BjwGPAY8BjwGPAY8BjwGPAY8BjwEBjwELIARBAWohBEG7ASEQDPkBCyAEQQFqIQRBvAEhEAz4AQsCQCAEIAJHDQBB2AEhEAyRAgsgBC0AAEHIAEcNjAEgBEEBaiEEDMQBCwJAIAQgAkYNACAAQZCAgIAANgIIIAAgBDYCBEG+ASEQDPcBC0HZASEQDI8CCwJAIAQgAkcNAEHaASEQDI8CCyAELQAAQcgARg3DASAAQQE6ACgMuQELIABBAjoALyAAIAQgAhCmgICAACIQDY0BQcIBIRAM9AELIAAtAChBf2oOArcBuQG4AQsDQAJAIAQtAABBdmoOBACOAY4BAI4BCyAEQQFqIgQgAkcNAAtB3QEhEAyLAgsgAEEAOgAvIAAtAC1BBHFFDYQCCyAAQQA6AC8gAEEBOgA0IAEhAQyMAQsgEEEVRg3aASAAQQA2AhwgACABNgIUIABBp46AgAA2AhAgAEESNgIMQQAhEAyIAgsCQCAAIBAgAhC0gICAACIEDQAgECEBDIECCwJAIARBFUcNACAAQQM2AhwgACAQNgIUIABBsJiAgAA2AhAgAEEVNgIMQQAhEAyIAgsgAEEANgIcIAAgEDYCFCAAQaeOgIAANgIQIABBEjYCDEEAIRAMhwILIBBBFUYN1gEgAEEANgIcIAAgATYCFCAAQdqNgIAANgIQIABBFDYCDEEAIRAMhgILIAAoAgQhFyAAQQA2AgQgECARp2oiFiEBIAAgFyAQIBYgFBsiEBC1gICAACIURQ2NASAAQQc2AhwgACAQNgIUIAAgFDYCDEEAIRAMhQILIAAgAC8BMEGAAXI7ATAgASEBC0EqIRAM6gELIBBBFUYN0QEgAEEANgIcIAAgATYCFCAAQYOMgIAANgIQIABBEzYCDEEAIRAMggILIBBBFUYNzwEgAEEANgIcIAAgATYCFCAAQZqPgIAANgIQIABBIjYCDEEAIRAMgQILIAAoAgQhECAAQQA2AgQCQCAAIBAgARC3gICAACIQDQAgAUEBaiEBDI0BCyAAQQw2AhwgACAQNgIMIAAgAUEBajYCFEEAIRAMgAILIBBBFUYNzAEgAEEANgIcIAAgATYCFCAAQZqPgIAANgIQIABBIjYCDEEAIRAM/wELIAAoAgQhECAAQQA2AgQCQCAAIBAgARC3gICAACIQDQAgAUEBaiEBDIwBCyAAQQ02AhwgACAQNgIMIAAgAUEBajYCFEEAIRAM/gELIBBBFUYNyQEgAEEANgIcIAAgATYCFCAAQcaMgIAANgIQIABBIzYCDEEAIRAM/QELIAAoAgQhECAAQQA2AgQCQCAAIBAgARC5gICAACIQDQAgAUEBaiEBDIsBCyAAQQ42AhwgACAQNgIMIAAgAUEBajYCFEEAIRAM/AELIABBADYCHCAAIAE2AhQgAEHAlYCAADYCECAAQQI2AgxBACEQDPsBCyAQQRVGDcUBIABBADYCHCAAIAE2AhQgAEHGjICAADYCECAAQSM2AgxBACEQDPoBCyAAQRA2AhwgACABNgIUIAAgEDYCDEEAIRAM+QELIAAoAgQhBCAAQQA2AgQCQCAAIAQgARC5gICAACIEDQAgAUEBaiEBDPEBCyAAQRE2AhwgACAENgIMIAAgAUEBajYCFEEAIRAM+AELIBBBFUYNwQEgAEEANgIcIAAgATYCFCAAQcaMgIAANgIQIABBIzYCDEEAIRAM9wELIAAoAgQhECAAQQA2AgQCQCAAIBAgARC5gICAACIQDQAgAUEBaiEBDIgBCyAAQRM2AhwgACAQNgIMIAAgAUEBajYCFEEAIRAM9gELIAAoAgQhBCAAQQA2AgQCQCAAIAQgARC5gICAACIEDQAgAUEBaiEBDO0BCyAAQRQ2AhwgACAENgIMIAAgAUEBajYCFEEAIRAM9QELIBBBFUYNvQEgAEEANgIcIAAgATYCFCAAQZqPgIAANgIQIABBIjYCDEEAIRAM9AELIAAoAgQhECAAQQA2AgQCQCAAIBAgARC3gICAACIQDQAgAUEBaiEBDIYBCyAAQRY2AhwgACAQNgIMIAAgAUEBajYCFEEAIRAM8wELIAAoAgQhBCAAQQA2AgQCQCAAIAQgARC3gICAACIEDQAgAUEBaiEBDOkBCyAAQRc2AhwgACAENgIMIAAgAUEBajYCFEEAIRAM8gELIABBADYCHCAAIAE2AhQgAEHNk4CAADYCECAAQQw2AgxBACEQDPEBC0IBIRELIBBBAWohAQJAIAApAyAiEkL//////////w9WDQAgACASQgSGIBGENwMgIAEhAQyEAQsgAEEANgIcIAAgATYCFCAAQa2JgIAANgIQIABBDDYCDEEAIRAM7wELIABBADYCHCAAIBA2AhQgAEHNk4CAADYCECAAQQw2AgxBACEQDO4BCyAAKAIEIRcgAEEANgIEIBAgEadqIhYhASAAIBcgECAWIBQbIhAQtYCAgAAiFEUNcyAAQQU2AhwgACAQNgIUIAAgFDYCDEEAIRAM7QELIABBADYCHCAAIBA2AhQgAEGqnICAADYCECAAQQ82AgxBACEQDOwBCyAAIBAgAhC0gICAACIBDQEgECEBC0EOIRAM0QELAkAgAUEVRw0AIABBAjYCHCAAIBA2AhQgAEGwmICAADYCECAAQRU2AgxBACEQDOoBCyAAQQA2AhwgACAQNgIUIABBp46AgAA2AhAgAEESNgIMQQAhEAzpAQsgAUEBaiEQAkAgAC8BMCIBQYABcUUNAAJAIAAgECACELuAgIAAIgENACAQIQEMcAsgAUEVRw26ASAAQQU2AhwgACAQNgIUIABB+ZeAgAA2AhAgAEEVNgIMQQAhEAzpAQsCQCABQaAEcUGgBEcNACAALQAtQQJxDQAgAEEANgIcIAAgEDYCFCAAQZaTgIAANgIQIABBBDYCDEEAIRAM6QELIAAgECACEL2AgIAAGiAQIQECQAJAAkACQAJAIAAgECACELOAgIAADhYCAQAEBAQEBAQEBAQEBAQEBAQEBAQDBAsgAEEBOgAuCyAAIAAvATBBwAByOwEwIBAhAQtBJiEQDNEBCyAAQSM2AhwgACAQNgIUIABBpZaAgAA2AhAgAEEVNgIMQQAhEAzpAQsgAEEANgIcIAAgEDYCFCAAQdWLgIAANgIQIABBETYCDEEAIRAM6AELIAAtAC1BAXFFDQFBwwEhEAzOAQsCQCANIAJGDQADQAJAIA0tAABBIEYNACANIQEMxAELIA1BAWoiDSACRw0AC0ElIRAM5wELQSUhEAzmAQsgACgCBCEEIABBADYCBCAAIAQgDRCvgICAACIERQ2tASAAQSY2AhwgACAENgIMIAAgDUEBajYCFEEAIRAM5QELIBBBFUYNqwEgAEEANgIcIAAgATYCFCAAQf2NgIAANgIQIABBHTYCDEEAIRAM5AELIABBJzYCHCAAIAE2AhQgACAQNgIMQQAhEAzjAQsgECEBQQEhFAJAAkACQAJAAkACQAJAIAAtACxBfmoOBwYFBQMBAgAFCyAAIAAvATBBCHI7ATAMAwtBAiEUDAELQQQhFAsgAEEBOgAsIAAgAC8BMCAUcjsBMAsgECEBC0ErIRAMygELIABBADYCHCAAIBA2AhQgAEGrkoCAADYCECAAQQs2AgxBACEQDOIBCyAAQQA2AhwgACABNgIUIABB4Y+AgAA2AhAgAEEKNgIMQQAhEAzhAQsgAEEAOgAsIBAhAQy9AQsgECEBQQEhFAJAAkACQAJAAkAgAC0ALEF7ag4EAwECAAULIAAgAC8BMEEIcjsBMAwDC0ECIRQMAQtBBCEUCyAAQQE6ACwgACAALwEwIBRyOwEwCyAQIQELQSkhEAzFAQsgAEEANgIcIAAgATYCFCAAQfCUgIAANgIQIABBAzYCDEEAIRAM3QELAkAgDi0AAEENRw0AIAAoAgQhASAAQQA2AgQCQCAAIAEgDhCxgICAACIBDQAgDkEBaiEBDHULIABBLDYCHCAAIAE2AgwgACAOQQFqNgIUQQAhEAzdAQsgAC0ALUEBcUUNAUHEASEQDMMBCwJAIA4gAkcNAEEtIRAM3AELAkACQANAAkAgDi0AAEF2ag4EAgAAAwALIA5BAWoiDiACRw0AC0EtIRAM3QELIAAoAgQhASAAQQA2AgQCQCAAIAEgDhCxgICAACIBDQAgDiEBDHQLIABBLDYCHCAAIA42AhQgACABNgIMQQAhEAzcAQsgACgCBCEBIABBADYCBAJAIAAgASAOELGAgIAAIgENACAOQQFqIQEMcwsgAEEsNgIcIAAgATYCDCAAIA5BAWo2AhRBACEQDNsBCyAAKAIEIQQgAEEANgIEIAAgBCAOELGAgIAAIgQNoAEgDiEBDM4BCyAQQSxHDQEgAUEBaiEQQQEhAQJAAkACQAJAAkAgAC0ALEF7ag4EAwECBAALIBAhAQwEC0ECIQEMAQtBBCEBCyAAQQE6ACwgACAALwEwIAFyOwEwIBAhAQwBCyAAIAAvATBBCHI7ATAgECEBC0E5IRAMvwELIABBADoALCABIQELQTQhEAy9AQsgACAALwEwQSByOwEwIAEhAQwCCyAAKAIEIQQgAEEANgIEAkAgACAEIAEQsYCAgAAiBA0AIAEhAQzHAQsgAEE3NgIcIAAgATYCFCAAIAQ2AgxBACEQDNQBCyAAQQg6ACwgASEBC0EwIRAMuQELAkAgAC0AKEEBRg0AIAEhAQwECyAALQAtQQhxRQ2TASABIQEMAwsgAC0AMEEgcQ2UAUHFASEQDLcBCwJAIA8gAkYNAAJAA0ACQCAPLQAAQVBqIgFB/wFxQQpJDQAgDyEBQTUhEAy6AQsgACkDICIRQpmz5syZs+bMGVYNASAAIBFCCn4iETcDICARIAGtQv8BgyISQn+FVg0BIAAgESASfDcDICAPQQFqIg8gAkcNAAtBOSEQDNEBCyAAKAIEIQIgAEEANgIEIAAgAiAPQQFqIgQQsYCAgAAiAg2VASAEIQEMwwELQTkhEAzPAQsCQCAALwEwIgFBCHFFDQAgAC0AKEEBRw0AIAAtAC1BCHFFDZABCyAAIAFB9/sDcUGABHI7ATAgDyEBC0E3IRAMtAELIAAgAC8BMEEQcjsBMAyrAQsgEEEVRg2LASAAQQA2AhwgACABNgIUIABB8I6AgAA2AhAgAEEcNgIMQQAhEAzLAQsgAEHDADYCHCAAIAE2AgwgACANQQFqNgIUQQAhEAzKAQsCQCABLQAAQTpHDQAgACgCBCEQIABBADYCBAJAIAAgECABEK+AgIAAIhANACABQQFqIQEMYwsgAEHDADYCHCAAIBA2AgwgACABQQFqNgIUQQAhEAzKAQsgAEEANgIcIAAgATYCFCAAQbGRgIAANgIQIABBCjYCDEEAIRAMyQELIABBADYCHCAAIAE2AhQgAEGgmYCAADYCECAAQR42AgxBACEQDMgBCyAAQQA2AgALIABBgBI7ASogACAXQQFqIgEgAhCogICAACIQDQEgASEBC0HHACEQDKwBCyAQQRVHDYMBIABB0QA2AhwgACABNgIUIABB45eAgAA2AhAgAEEVNgIMQQAhEAzEAQsgACgCBCEQIABBADYCBAJAIAAgECABEKeAgIAAIhANACABIQEMXgsgAEHSADYCHCAAIAE2AhQgACAQNgIMQQAhEAzDAQsgAEEANgIcIAAgFDYCFCAAQcGogIAANgIQIABBBzYCDCAAQQA2AgBBACEQDMIBCyAAKAIEIRAgAEEANgIEAkAgACAQIAEQp4CAgAAiEA0AIAEhAQxdCyAAQdMANgIcIAAgATYCFCAAIBA2AgxBACEQDMEBC0EAIRAgAEEANgIcIAAgATYCFCAAQYCRgIAANgIQIABBCTYCDAzAAQsgEEEVRg19IABBADYCHCAAIAE2AhQgAEGUjYCAADYCECAAQSE2AgxBACEQDL8BC0EBIRZBACEXQQAhFEEBIRALIAAgEDoAKyABQQFqIQECQAJAIAAtAC1BEHENAAJAAkACQCAALQAqDgMBAAIECyAWRQ0DDAILIBQNAQwCCyAXRQ0BCyAAKAIEIRAgAEEANgIEAkAgACAQIAEQrYCAgAAiEA0AIAEhAQxcCyAAQdgANgIcIAAgATYCFCAAIBA2AgxBACEQDL4BCyAAKAIEIQQgAEEANgIEAkAgACAEIAEQrYCAgAAiBA0AIAEhAQytAQsgAEHZADYCHCAAIAE2AhQgACAENgIMQQAhEAy9AQsgACgCBCEEIABBADYCBAJAIAAgBCABEK2AgIAAIgQNACABIQEMqwELIABB2gA2AhwgACABNgIUIAAgBDYCDEEAIRAMvAELIAAoAgQhBCAAQQA2AgQCQCAAIAQgARCtgICAACIEDQAgASEBDKkBCyAAQdwANgIcIAAgATYCFCAAIAQ2AgxBACEQDLsBCwJAIAEtAABBUGoiEEH/AXFBCk8NACAAIBA6ACogAUEBaiEBQc8AIRAMogELIAAoAgQhBCAAQQA2AgQCQCAAIAQgARCtgICAACIEDQAgASEBDKcBCyAAQd4ANgIcIAAgATYCFCAAIAQ2AgxBACEQDLoBCyAAQQA2AgAgF0EBaiEBAkAgAC0AKUEjTw0AIAEhAQxZCyAAQQA2AhwgACABNgIUIABB04mAgAA2AhAgAEEINgIMQQAhEAy5AQsgAEEANgIAC0EAIRAgAEEANgIcIAAgATYCFCAAQZCzgIAANgIQIABBCDYCDAy3AQsgAEEANgIAIBdBAWohAQJAIAAtAClBIUcNACABIQEMVgsgAEEANgIcIAAgATYCFCAAQZuKgIAANgIQIABBCDYCDEEAIRAMtgELIABBADYCACAXQQFqIQECQCAALQApIhBBXWpBC08NACABIQEMVQsCQCAQQQZLDQBBASAQdEHKAHFFDQAgASEBDFULQQAhECAAQQA2AhwgACABNgIUIABB94mAgAA2AhAgAEEINgIMDLUBCyAQQRVGDXEgAEEANgIcIAAgATYCFCAAQbmNgIAANgIQIABBGjYCDEEAIRAMtAELIAAoAgQhECAAQQA2AgQCQCAAIBAgARCngICAACIQDQAgASEBDFQLIABB5QA2AhwgACABNgIUIAAgEDYCDEEAIRAMswELIAAoAgQhECAAQQA2AgQCQCAAIBAgARCngICAACIQDQAgASEBDE0LIABB0gA2AhwgACABNgIUIAAgEDYCDEEAIRAMsgELIAAoAgQhECAAQQA2AgQCQCAAIBAgARCngICAACIQDQAgASEBDE0LIABB0wA2AhwgACABNgIUIAAgEDYCDEEAIRAMsQELIAAoAgQhECAAQQA2AgQCQCAAIBAgARCngICAACIQDQAgASEBDFELIABB5QA2AhwgACABNgIUIAAgEDYCDEEAIRAMsAELIABBADYCHCAAIAE2AhQgAEHGioCAADYCECAAQQc2AgxBACEQDK8BCyAAKAIEIRAgAEEANgIEAkAgACAQIAEQp4CAgAAiEA0AIAEhAQxJCyAAQdIANgIcIAAgATYCFCAAIBA2AgxBACEQDK4BCyAAKAIEIRAgAEEANgIEAkAgACAQIAEQp4CAgAAiEA0AIAEhAQxJCyAAQdMANgIcIAAgATYCFCAAIBA2AgxBACEQDK0BCyAAKAIEIRAgAEEANgIEAkAgACAQIAEQp4CAgAAiEA0AIAEhAQxNCyAAQeUANgIcIAAgATYCFCAAIBA2AgxBACEQDKwBCyAAQQA2AhwgACABNgIUIABB3IiAgAA2AhAgAEEHNgIMQQAhEAyrAQsgEEE/Rw0BIAFBAWohAQtBBSEQDJABC0EAIRAgAEEANgIcIAAgATYCFCAAQf2SgIAANgIQIABBBzYCDAyoAQsgACgCBCEQIABBADYCBAJAIAAgECABEKeAgIAAIhANACABIQEMQgsgAEHSADYCHCAAIAE2AhQgACAQNgIMQQAhEAynAQsgACgCBCEQIABBADYCBAJAIAAgECABEKeAgIAAIhANACABIQEMQgsgAEHTADYCHCAAIAE2AhQgACAQNgIMQQAhEAymAQsgACgCBCEQIABBADYCBAJAIAAgECABEKeAgIAAIhANACABIQEMRgsgAEHlADYCHCAAIAE2AhQgACAQNgIMQQAhEAylAQsgACgCBCEBIABBADYCBAJAIAAgASAUEKeAgIAAIgENACAUIQEMPwsgAEHSADYCHCAAIBQ2AhQgACABNgIMQQAhEAykAQsgACgCBCEBIABBADYCBAJAIAAgASAUEKeAgIAAIgENACAUIQEMPwsgAEHTADYCHCAAIBQ2AhQgACABNgIMQQAhEAyjAQsgACgCBCEBIABBADYCBAJAIAAgASAUEKeAgIAAIgENACAUIQEMQwsgAEHlADYCHCAAIBQ2AhQgACABNgIMQQAhEAyiAQsgAEEANgIcIAAgFDYCFCAAQcOPgIAANgIQIABBBzYCDEEAIRAMoQELIABBADYCHCAAIAE2AhQgAEHDj4CAADYCECAAQQc2AgxBACEQDKABC0EAIRAgAEEANgIcIAAgFDYCFCAAQYycgIAANgIQIABBBzYCDAyfAQsgAEEANgIcIAAgFDYCFCAAQYycgIAANgIQIABBBzYCDEEAIRAMngELIABBADYCHCAAIBQ2AhQgAEH+kYCAADYCECAAQQc2AgxBACEQDJ0BCyAAQQA2AhwgACABNgIUIABBjpuAgAA2AhAgAEEGNgIMQQAhEAycAQsgEEEVRg1XIABBADYCHCAAIAE2AhQgAEHMjoCAADYCECAAQSA2AgxBACEQDJsBCyAAQQA2AgAgEEEBaiEBQSQhEAsgACAQOgApIAAoAgQhECAAQQA2AgQgACAQIAEQq4CAgAAiEA1UIAEhAQw+CyAAQQA2AgALQQAhECAAQQA2AhwgACAENgIUIABB8ZuAgAA2AhAgAEEGNgIMDJcBCyABQRVGDVAgAEEANgIcIAAgBTYCFCAAQfCMgIAANgIQIABBGzYCDEEAIRAMlgELIAAoAgQhBSAAQQA2AgQgACAFIBAQqYCAgAAiBQ0BIBBBAWohBQtBrQEhEAx7CyAAQcEBNgIcIAAgBTYCDCAAIBBBAWo2AhRBACEQDJMBCyAAKAIEIQYgAEEANgIEIAAgBiAQEKmAgIAAIgYNASAQQQFqIQYLQa4BIRAMeAsgAEHCATYCHCAAIAY2AgwgACAQQQFqNgIUQQAhEAyQAQsgAEEANgIcIAAgBzYCFCAAQZeLgIAANgIQIABBDTYCDEEAIRAMjwELIABBADYCHCAAIAg2AhQgAEHjkICAADYCECAAQQk2AgxBACEQDI4BCyAAQQA2AhwgACAINgIUIABBlI2AgAA2AhAgAEEhNgIMQQAhEAyNAQtBASEWQQAhF0EAIRRBASEQCyAAIBA6ACsgCUEBaiEIAkACQCAALQAtQRBxDQACQAJAAkAgAC0AKg4DAQACBAsgFkUNAwwCCyAUDQEMAgsgF0UNAQsgACgCBCEQIABBADYCBCAAIBAgCBCtgICAACIQRQ09IABByQE2AhwgACAINgIUIAAgEDYCDEEAIRAMjAELIAAoAgQhBCAAQQA2AgQgACAEIAgQrYCAgAAiBEUNdiAAQcoBNgIcIAAgCDYCFCAAIAQ2AgxBACEQDIsBCyAAKAIEIQQgAEEANgIEIAAgBCAJEK2AgIAAIgRFDXQgAEHLATYCHCAAIAk2AhQgACAENgIMQQAhEAyKAQsgACgCBCEEIABBADYCBCAAIAQgChCtgICAACIERQ1yIABBzQE2AhwgACAKNgIUIAAgBDYCDEEAIRAMiQELAkAgCy0AAEFQaiIQQf8BcUEKTw0AIAAgEDoAKiALQQFqIQpBtgEhEAxwCyAAKAIEIQQgAEEANgIEIAAgBCALEK2AgIAAIgRFDXAgAEHPATYCHCAAIAs2AhQgACAENgIMQQAhEAyIAQsgAEEANgIcIAAgBDYCFCAAQZCzgIAANgIQIABBCDYCDCAAQQA2AgBBACEQDIcBCyABQRVGDT8gAEEANgIcIAAgDDYCFCAAQcyOgIAANgIQIABBIDYCDEEAIRAMhgELIABBgQQ7ASggACgCBCEQIABCADcDACAAIBAgDEEBaiIMEKuAgIAAIhBFDTggAEHTATYCHCAAIAw2AhQgACAQNgIMQQAhEAyFAQsgAEEANgIAC0EAIRAgAEEANgIcIAAgBDYCFCAAQdibgIAANgIQIABBCDYCDAyDAQsgACgCBCEQIABCADcDACAAIBAgC0EBaiILEKuAgIAAIhANAUHGASEQDGkLIABBAjoAKAxVCyAAQdUBNgIcIAAgCzYCFCAAIBA2AgxBACEQDIABCyAQQRVGDTcgAEEANgIcIAAgBDYCFCAAQaSMgIAANgIQIABBEDYCDEEAIRAMfwsgAC0ANEEBRw00IAAgBCACELyAgIAAIhBFDTQgEEEVRw01IABB3AE2AhwgACAENgIUIABB1ZaAgAA2AhAgAEEVNgIMQQAhEAx+C0EAIRAgAEEANgIcIABBr4uAgAA2AhAgAEECNgIMIAAgFEEBajYCFAx9C0EAIRAMYwtBAiEQDGILQQ0hEAxhC0EPIRAMYAtBJSEQDF8LQRMhEAxeC0EVIRAMXQtBFiEQDFwLQRchEAxbC0EYIRAMWgtBGSEQDFkLQRohEAxYC0EbIRAMVwtBHCEQDFYLQR0hEAxVC0EfIRAMVAtBISEQDFMLQSMhEAxSC0HGACEQDFELQS4hEAxQC0EvIRAMTwtBOyEQDE4LQT0hEAxNC0HIACEQDEwLQckAIRAMSwtBywAhEAxKC0HMACEQDEkLQc4AIRAMSAtB0QAhEAxHC0HVACEQDEYLQdgAIRAMRQtB2QAhEAxEC0HbACEQDEMLQeQAIRAMQgtB5QAhEAxBC0HxACEQDEALQfQAIRAMPwtBjQEhEAw+C0GXASEQDD0LQakBIRAMPAtBrAEhEAw7C0HAASEQDDoLQbkBIRAMOQtBrwEhEAw4C0GxASEQDDcLQbIBIRAMNgtBtAEhEAw1C0G1ASEQDDQLQboBIRAMMwtBvQEhEAwyC0G/ASEQDDELQcEBIRAMMAsgAEEANgIcIAAgBDYCFCAAQemLgIAANgIQIABBHzYCDEEAIRAMSAsgAEHbATYCHCAAIAQ2AhQgAEH6loCAADYCECAAQRU2AgxBACEQDEcLIABB+AA2AhwgACAMNgIUIABBypiAgAA2AhAgAEEVNgIMQQAhEAxGCyAAQdEANgIcIAAgBTYCFCAAQbCXgIAANgIQIABBFTYCDEEAIRAMRQsgAEH5ADYCHCAAIAE2AhQgACAQNgIMQQAhEAxECyAAQfgANgIcIAAgATYCFCAAQcqYgIAANgIQIABBFTYCDEEAIRAMQwsgAEHkADYCHCAAIAE2AhQgAEHjl4CAADYCECAAQRU2AgxBACEQDEILIABB1wA2AhwgACABNgIUIABByZeAgAA2AhAgAEEVNgIMQQAhEAxBCyAAQQA2AhwgACABNgIUIABBuY2AgAA2AhAgAEEaNgIMQQAhEAxACyAAQcIANgIcIAAgATYCFCAAQeOYgIAANgIQIABBFTYCDEEAIRAMPwsgAEEANgIEIAAgDyAPELGAgIAAIgRFDQEgAEE6NgIcIAAgBDYCDCAAIA9BAWo2AhRBACEQDD4LIAAoAgQhBCAAQQA2AgQCQCAAIAQgARCxgICAACIERQ0AIABBOzYCHCAAIAQ2AgwgACABQQFqNgIUQQAhEAw+CyABQQFqIQEMLQsgD0EBaiEBDC0LIABBADYCHCAAIA82AhQgAEHkkoCAADYCECAAQQQ2AgxBACEQDDsLIABBNjYCHCAAIAQ2AhQgACACNgIMQQAhEAw6CyAAQS42AhwgACAONgIUIAAgBDYCDEEAIRAMOQsgAEHQADYCHCAAIAE2AhQgAEGRmICAADYCECAAQRU2AgxBACEQDDgLIA1BAWohAQwsCyAAQRU2AhwgACABNgIUIABBgpmAgAA2AhAgAEEVNgIMQQAhEAw2CyAAQRs2AhwgACABNgIUIABBkZeAgAA2AhAgAEEVNgIMQQAhEAw1CyAAQQ82AhwgACABNgIUIABBkZeAgAA2AhAgAEEVNgIMQQAhEAw0CyAAQQs2AhwgACABNgIUIABBkZeAgAA2AhAgAEEVNgIMQQAhEAwzCyAAQRo2AhwgACABNgIUIABBgpmAgAA2AhAgAEEVNgIMQQAhEAwyCyAAQQs2AhwgACABNgIUIABBgpmAgAA2AhAgAEEVNgIMQQAhEAwxCyAAQQo2AhwgACABNgIUIABB5JaAgAA2AhAgAEEVNgIMQQAhEAwwCyAAQR42AhwgACABNgIUIABB+ZeAgAA2AhAgAEEVNgIMQQAhEAwvCyAAQQA2AhwgACAQNgIUIABB2o2AgAA2AhAgAEEUNgIMQQAhEAwuCyAAQQQ2AhwgACABNgIUIABBsJiAgAA2AhAgAEEVNgIMQQAhEAwtCyAAQQA2AgAgC0EBaiELC0G4ASEQDBILIABBADYCACAQQQFqIQFB9QAhEAwRCyABIQECQCAALQApQQVHDQBB4wAhEAwRC0HiACEQDBALQQAhECAAQQA2AhwgAEHkkYCAADYCECAAQQc2AgwgACAUQQFqNgIUDCgLIABBADYCACAXQQFqIQFBwAAhEAwOC0EBIQELIAAgAToALCAAQQA2AgAgF0EBaiEBC0EoIRAMCwsgASEBC0E4IRAMCQsCQCABIg8gAkYNAANAAkAgDy0AAEGAvoCAAGotAAAiAUEBRg0AIAFBAkcNAyAPQQFqIQEMBAsgD0EBaiIPIAJHDQALQT4hEAwiC0E+IRAMIQsgAEEAOgAsIA8hAQwBC0ELIRAMBgtBOiEQDAULIAFBAWohAUEtIRAMBAsgACABOgAsIABBADYCACAWQQFqIQFBDCEQDAMLIABBADYCACAXQQFqIQFBCiEQDAILIABBADYCAAsgAEEAOgAsIA0hAUEJIRAMAAsLQQAhECAAQQA2AhwgACALNgIUIABBzZCAgAA2AhAgAEEJNgIMDBcLQQAhECAAQQA2AhwgACAKNgIUIABB6YqAgAA2AhAgAEEJNgIMDBYLQQAhECAAQQA2AhwgACAJNgIUIABBt5CAgAA2AhAgAEEJNgIMDBULQQAhECAAQQA2AhwgACAINgIUIABBnJGAgAA2AhAgAEEJNgIMDBQLQQAhECAAQQA2AhwgACABNgIUIABBzZCAgAA2AhAgAEEJNgIMDBMLQQAhECAAQQA2AhwgACABNgIUIABB6YqAgAA2AhAgAEEJNgIMDBILQQAhECAAQQA2AhwgACABNgIUIABBt5CAgAA2AhAgAEEJNgIMDBELQQAhECAAQQA2AhwgACABNgIUIABBnJGAgAA2AhAgAEEJNgIMDBALQQAhECAAQQA2AhwgACABNgIUIABBl5WAgAA2AhAgAEEPNgIMDA8LQQAhECAAQQA2AhwgACABNgIUIABBl5WAgAA2AhAgAEEPNgIMDA4LQQAhECAAQQA2AhwgACABNgIUIABBwJKAgAA2AhAgAEELNgIMDA0LQQAhECAAQQA2AhwgACABNgIUIABBlYmAgAA2AhAgAEELNgIMDAwLQQAhECAAQQA2AhwgACABNgIUIABB4Y+AgAA2AhAgAEEKNgIMDAsLQQAhECAAQQA2AhwgACABNgIUIABB+4+AgAA2AhAgAEEKNgIMDAoLQQAhECAAQQA2AhwgACABNgIUIABB8ZmAgAA2AhAgAEECNgIMDAkLQQAhECAAQQA2AhwgACABNgIUIABBxJSAgAA2AhAgAEECNgIMDAgLQQAhECAAQQA2AhwgACABNgIUIABB8pWAgAA2AhAgAEECNgIMDAcLIABBAjYCHCAAIAE2AhQgAEGcmoCAADYCECAAQRY2AgxBACEQDAYLQQEhEAwFC0HUACEQIAEiBCACRg0EIANBCGogACAEIAJB2MKAgABBChDFgICAACADKAIMIQQgAygCCA4DAQQCAAsQyoCAgAAACyAAQQA2AhwgAEG1moCAADYCECAAQRc2AgwgACAEQQFqNgIUQQAhEAwCCyAAQQA2AhwgACAENgIUIABBypqAgAA2AhAgAEEJNgIMQQAhEAwBCwJAIAEiBCACRw0AQSIhEAwBCyAAQYmAgIAANgIIIAAgBDYCBEEhIRALIANBEGokgICAgAAgEAuvAQECfyABKAIAIQYCQAJAIAIgA0YNACAEIAZqIQQgBiADaiACayEHIAIgBkF/cyAFaiIGaiEFA0ACQCACLQAAIAQtAABGDQBBAiEEDAMLAkAgBg0AQQAhBCAFIQIMAwsgBkF/aiEGIARBAWohBCACQQFqIgIgA0cNAAsgByEGIAMhAgsgAEEBNgIAIAEgBjYCACAAIAI2AgQPCyABQQA2AgAgACAENgIAIAAgAjYCBAsKACAAEMeAgIAAC/I2AQt/I4CAgIAAQRBrIgEkgICAgAACQEEAKAKg0ICAAA0AQQAQy4CAgABBgNSEgABrIgJB2QBJDQBBACEDAkBBACgC4NOAgAAiBA0AQQBCfzcC7NOAgABBAEKAgISAgIDAADcC5NOAgABBACABQQhqQXBxQdiq1aoFcyIENgLg04CAAEEAQQA2AvTTgIAAQQBBADYCxNOAgAALQQAgAjYCzNOAgABBAEGA1ISAADYCyNOAgABBAEGA1ISAADYCmNCAgABBACAENgKs0ICAAEEAQX82AqjQgIAAA0AgA0HE0ICAAGogA0G40ICAAGoiBDYCACAEIANBsNCAgABqIgU2AgAgA0G80ICAAGogBTYCACADQczQgIAAaiADQcDQgIAAaiIFNgIAIAUgBDYCACADQdTQgIAAaiADQcjQgIAAaiIENgIAIAQgBTYCACADQdDQgIAAaiAENgIAIANBIGoiA0GAAkcNAAtBgNSEgABBeEGA1ISAAGtBD3FBAEGA1ISAAEEIakEPcRsiA2oiBEEEaiACQUhqIgUgA2siA0EBcjYCAEEAQQAoAvDTgIAANgKk0ICAAEEAIAM2ApTQgIAAQQAgBDYCoNCAgABBgNSEgAAgBWpBODYCBAsCQAJAAkACQAJAAkACQAJAAkACQAJAAkAgAEHsAUsNAAJAQQAoAojQgIAAIgZBECAAQRNqQXBxIABBC0kbIgJBA3YiBHYiA0EDcUUNAAJAAkAgA0EBcSAEckEBcyIFQQN0IgRBsNCAgABqIgMgBEG40ICAAGooAgAiBCgCCCICRw0AQQAgBkF+IAV3cTYCiNCAgAAMAQsgAyACNgIIIAIgAzYCDAsgBEEIaiEDIAQgBUEDdCIFQQNyNgIEIAQgBWoiBCAEKAIEQQFyNgIEDAwLIAJBACgCkNCAgAAiB00NAQJAIANFDQACQAJAIAMgBHRBAiAEdCIDQQAgA2tycSIDQQAgA2txQX9qIgMgA0EMdkEQcSIDdiIEQQV2QQhxIgUgA3IgBCAFdiIDQQJ2QQRxIgRyIAMgBHYiA0EBdkECcSIEciADIAR2IgNBAXZBAXEiBHIgAyAEdmoiBEEDdCIDQbDQgIAAaiIFIANBuNCAgABqKAIAIgMoAggiAEcNAEEAIAZBfiAEd3EiBjYCiNCAgAAMAQsgBSAANgIIIAAgBTYCDAsgAyACQQNyNgIEIAMgBEEDdCIEaiAEIAJrIgU2AgAgAyACaiIAIAVBAXI2AgQCQCAHRQ0AIAdBeHFBsNCAgABqIQJBACgCnNCAgAAhBAJAAkAgBkEBIAdBA3Z0IghxDQBBACAGIAhyNgKI0ICAACACIQgMAQsgAigCCCEICyAIIAQ2AgwgAiAENgIIIAQgAjYCDCAEIAg2AggLIANBCGohA0EAIAA2ApzQgIAAQQAgBTYCkNCAgAAMDAtBACgCjNCAgAAiCUUNASAJQQAgCWtxQX9qIgMgA0EMdkEQcSIDdiIEQQV2QQhxIgUgA3IgBCAFdiIDQQJ2QQRxIgRyIAMgBHYiA0EBdkECcSIEciADIAR2IgNBAXZBAXEiBHIgAyAEdmpBAnRBuNKAgABqKAIAIgAoAgRBeHEgAmshBCAAIQUCQANAAkAgBSgCECIDDQAgBUEUaigCACIDRQ0CCyADKAIEQXhxIAJrIgUgBCAFIARJIgUbIQQgAyAAIAUbIQAgAyEFDAALCyAAKAIYIQoCQCAAKAIMIgggAEYNACAAKAIIIgNBACgCmNCAgABJGiAIIAM2AgggAyAINgIMDAsLAkAgAEEUaiIFKAIAIgMNACAAKAIQIgNFDQMgAEEQaiEFCwNAIAUhCyADIghBFGoiBSgCACIDDQAgCEEQaiEFIAgoAhAiAw0ACyALQQA2AgAMCgtBfyECIABBv39LDQAgAEETaiIDQXBxIQJBACgCjNCAgAAiB0UNAEEAIQsCQCACQYACSQ0AQR8hCyACQf///wdLDQAgA0EIdiIDIANBgP4/akEQdkEIcSIDdCIEIARBgOAfakEQdkEEcSIEdCIFIAVBgIAPakEQdkECcSIFdEEPdiADIARyIAVyayIDQQF0IAIgA0EVanZBAXFyQRxqIQsLQQAgAmshBAJAAkACQAJAIAtBAnRBuNKAgABqKAIAIgUNAEEAIQNBACEIDAELQQAhAyACQQBBGSALQQF2ayALQR9GG3QhAEEAIQgDQAJAIAUoAgRBeHEgAmsiBiAETw0AIAYhBCAFIQggBg0AQQAhBCAFIQggBSEDDAMLIAMgBUEUaigCACIGIAYgBSAAQR12QQRxakEQaigCACIFRhsgAyAGGyEDIABBAXQhACAFDQALCwJAIAMgCHINAEEAIQhBAiALdCIDQQAgA2tyIAdxIgNFDQMgA0EAIANrcUF/aiIDIANBDHZBEHEiA3YiBUEFdkEIcSIAIANyIAUgAHYiA0ECdkEEcSIFciADIAV2IgNBAXZBAnEiBXIgAyAFdiIDQQF2QQFxIgVyIAMgBXZqQQJ0QbjSgIAAaigCACEDCyADRQ0BCwNAIAMoAgRBeHEgAmsiBiAESSEAAkAgAygCECIFDQAgA0EUaigCACEFCyAGIAQgABshBCADIAggABshCCAFIQMgBQ0ACwsgCEUNACAEQQAoApDQgIAAIAJrTw0AIAgoAhghCwJAIAgoAgwiACAIRg0AIAgoAggiA0EAKAKY0ICAAEkaIAAgAzYCCCADIAA2AgwMCQsCQCAIQRRqIgUoAgAiAw0AIAgoAhAiA0UNAyAIQRBqIQULA0AgBSEGIAMiAEEUaiIFKAIAIgMNACAAQRBqIQUgACgCECIDDQALIAZBADYCAAwICwJAQQAoApDQgIAAIgMgAkkNAEEAKAKc0ICAACEEAkACQCADIAJrIgVBEEkNACAEIAJqIgAgBUEBcjYCBEEAIAU2ApDQgIAAQQAgADYCnNCAgAAgBCADaiAFNgIAIAQgAkEDcjYCBAwBCyAEIANBA3I2AgQgBCADaiIDIAMoAgRBAXI2AgRBAEEANgKc0ICAAEEAQQA2ApDQgIAACyAEQQhqIQMMCgsCQEEAKAKU0ICAACIAIAJNDQBBACgCoNCAgAAiAyACaiIEIAAgAmsiBUEBcjYCBEEAIAU2ApTQgIAAQQAgBDYCoNCAgAAgAyACQQNyNgIEIANBCGohAwwKCwJAAkBBACgC4NOAgABFDQBBACgC6NOAgAAhBAwBC0EAQn83AuzTgIAAQQBCgICEgICAwAA3AuTTgIAAQQAgAUEMakFwcUHYqtWqBXM2AuDTgIAAQQBBADYC9NOAgABBAEEANgLE04CAAEGAgAQhBAtBACEDAkAgBCACQccAaiIHaiIGQQAgBGsiC3EiCCACSw0AQQBBMDYC+NOAgAAMCgsCQEEAKALA04CAACIDRQ0AAkBBACgCuNOAgAAiBCAIaiIFIARNDQAgBSADTQ0BC0EAIQNBAEEwNgL404CAAAwKC0EALQDE04CAAEEEcQ0EAkACQAJAQQAoAqDQgIAAIgRFDQBByNOAgAAhAwNAAkAgAygCACIFIARLDQAgBSADKAIEaiAESw0DCyADKAIIIgMNAAsLQQAQy4CAgAAiAEF/Rg0FIAghBgJAQQAoAuTTgIAAIgNBf2oiBCAAcUUNACAIIABrIAQgAGpBACADa3FqIQYLIAYgAk0NBSAGQf7///8HSw0FAkBBACgCwNOAgAAiA0UNAEEAKAK404CAACIEIAZqIgUgBE0NBiAFIANLDQYLIAYQy4CAgAAiAyAARw0BDAcLIAYgAGsgC3EiBkH+////B0sNBCAGEMuAgIAAIgAgAygCACADKAIEakYNAyAAIQMLAkAgA0F/Rg0AIAJByABqIAZNDQACQCAHIAZrQQAoAujTgIAAIgRqQQAgBGtxIgRB/v///wdNDQAgAyEADAcLAkAgBBDLgICAAEF/Rg0AIAQgBmohBiADIQAMBwtBACAGaxDLgICAABoMBAsgAyEAIANBf0cNBQwDC0EAIQgMBwtBACEADAULIABBf0cNAgtBAEEAKALE04CAAEEEcjYCxNOAgAALIAhB/v///wdLDQEgCBDLgICAACEAQQAQy4CAgAAhAyAAQX9GDQEgA0F/Rg0BIAAgA08NASADIABrIgYgAkE4ak0NAQtBAEEAKAK404CAACAGaiIDNgK404CAAAJAIANBACgCvNOAgABNDQBBACADNgK804CAAAsCQAJAAkACQEEAKAKg0ICAACIERQ0AQcjTgIAAIQMDQCAAIAMoAgAiBSADKAIEIghqRg0CIAMoAggiAw0ADAMLCwJAAkBBACgCmNCAgAAiA0UNACAAIANPDQELQQAgADYCmNCAgAALQQAhA0EAIAY2AszTgIAAQQAgADYCyNOAgABBAEF/NgKo0ICAAEEAQQAoAuDTgIAANgKs0ICAAEEAQQA2AtTTgIAAA0AgA0HE0ICAAGogA0G40ICAAGoiBDYCACAEIANBsNCAgABqIgU2AgAgA0G80ICAAGogBTYCACADQczQgIAAaiADQcDQgIAAaiIFNgIAIAUgBDYCACADQdTQgIAAaiADQcjQgIAAaiIENgIAIAQgBTYCACADQdDQgIAAaiAENgIAIANBIGoiA0GAAkcNAAsgAEF4IABrQQ9xQQAgAEEIakEPcRsiA2oiBCAGQUhqIgUgA2siA0EBcjYCBEEAQQAoAvDTgIAANgKk0ICAAEEAIAM2ApTQgIAAQQAgBDYCoNCAgAAgACAFakE4NgIEDAILIAMtAAxBCHENACAEIAVJDQAgBCAATw0AIARBeCAEa0EPcUEAIARBCGpBD3EbIgVqIgBBACgClNCAgAAgBmoiCyAFayIFQQFyNgIEIAMgCCAGajYCBEEAQQAoAvDTgIAANgKk0ICAAEEAIAU2ApTQgIAAQQAgADYCoNCAgAAgBCALakE4NgIEDAELAkAgAEEAKAKY0ICAACIITw0AQQAgADYCmNCAgAAgACEICyAAIAZqIQVByNOAgAAhAwJAAkACQAJAAkACQAJAA0AgAygCACAFRg0BIAMoAggiAw0ADAILCyADLQAMQQhxRQ0BC0HI04CAACEDA0ACQCADKAIAIgUgBEsNACAFIAMoAgRqIgUgBEsNAwsgAygCCCEDDAALCyADIAA2AgAgAyADKAIEIAZqNgIEIABBeCAAa0EPcUEAIABBCGpBD3EbaiILIAJBA3I2AgQgBUF4IAVrQQ9xQQAgBUEIakEPcRtqIgYgCyACaiICayEDAkAgBiAERw0AQQAgAjYCoNCAgABBAEEAKAKU0ICAACADaiIDNgKU0ICAACACIANBAXI2AgQMAwsCQCAGQQAoApzQgIAARw0AQQAgAjYCnNCAgABBAEEAKAKQ0ICAACADaiIDNgKQ0ICAACACIANBAXI2AgQgAiADaiADNgIADAMLAkAgBigCBCIEQQNxQQFHDQAgBEF4cSEHAkACQCAEQf8BSw0AIAYoAggiBSAEQQN2IghBA3RBsNCAgABqIgBGGgJAIAYoAgwiBCAFRw0AQQBBACgCiNCAgABBfiAId3E2AojQgIAADAILIAQgAEYaIAQgBTYCCCAFIAQ2AgwMAQsgBigCGCEJAkACQCAGKAIMIgAgBkYNACAGKAIIIgQgCEkaIAAgBDYCCCAEIAA2AgwMAQsCQCAGQRRqIgQoAgAiBQ0AIAZBEGoiBCgCACIFDQBBACEADAELA0AgBCEIIAUiAEEUaiIEKAIAIgUNACAAQRBqIQQgACgCECIFDQALIAhBADYCAAsgCUUNAAJAAkAgBiAGKAIcIgVBAnRBuNKAgABqIgQoAgBHDQAgBCAANgIAIAANAUEAQQAoAozQgIAAQX4gBXdxNgKM0ICAAAwCCyAJQRBBFCAJKAIQIAZGG2ogADYCACAARQ0BCyAAIAk2AhgCQCAGKAIQIgRFDQAgACAENgIQIAQgADYCGAsgBigCFCIERQ0AIABBFGogBDYCACAEIAA2AhgLIAcgA2ohAyAGIAdqIgYoAgQhBAsgBiAEQX5xNgIEIAIgA2ogAzYCACACIANBAXI2AgQCQCADQf8BSw0AIANBeHFBsNCAgABqIQQCQAJAQQAoAojQgIAAIgVBASADQQN2dCIDcQ0AQQAgBSADcjYCiNCAgAAgBCEDDAELIAQoAgghAwsgAyACNgIMIAQgAjYCCCACIAQ2AgwgAiADNgIIDAMLQR8hBAJAIANB////B0sNACADQQh2IgQgBEGA/j9qQRB2QQhxIgR0IgUgBUGA4B9qQRB2QQRxIgV0IgAgAEGAgA9qQRB2QQJxIgB0QQ92IAQgBXIgAHJrIgRBAXQgAyAEQRVqdkEBcXJBHGohBAsgAiAENgIcIAJCADcCECAEQQJ0QbjSgIAAaiEFAkBBACgCjNCAgAAiAEEBIAR0IghxDQAgBSACNgIAQQAgACAIcjYCjNCAgAAgAiAFNgIYIAIgAjYCCCACIAI2AgwMAwsgA0EAQRkgBEEBdmsgBEEfRht0IQQgBSgCACEAA0AgACIFKAIEQXhxIANGDQIgBEEddiEAIARBAXQhBCAFIABBBHFqQRBqIggoAgAiAA0ACyAIIAI2AgAgAiAFNgIYIAIgAjYCDCACIAI2AggMAgsgAEF4IABrQQ9xQQAgAEEIakEPcRsiA2oiCyAGQUhqIgggA2siA0EBcjYCBCAAIAhqQTg2AgQgBCAFQTcgBWtBD3FBACAFQUlqQQ9xG2pBQWoiCCAIIARBEGpJGyIIQSM2AgRBAEEAKALw04CAADYCpNCAgABBACADNgKU0ICAAEEAIAs2AqDQgIAAIAhBEGpBACkC0NOAgAA3AgAgCEEAKQLI04CAADcCCEEAIAhBCGo2AtDTgIAAQQAgBjYCzNOAgABBACAANgLI04CAAEEAQQA2AtTTgIAAIAhBJGohAwNAIANBBzYCACADQQRqIgMgBUkNAAsgCCAERg0DIAggCCgCBEF+cTYCBCAIIAggBGsiADYCACAEIABBAXI2AgQCQCAAQf8BSw0AIABBeHFBsNCAgABqIQMCQAJAQQAoAojQgIAAIgVBASAAQQN2dCIAcQ0AQQAgBSAAcjYCiNCAgAAgAyEFDAELIAMoAgghBQsgBSAENgIMIAMgBDYCCCAEIAM2AgwgBCAFNgIIDAQLQR8hAwJAIABB////B0sNACAAQQh2IgMgA0GA/j9qQRB2QQhxIgN0IgUgBUGA4B9qQRB2QQRxIgV0IgggCEGAgA9qQRB2QQJxIgh0QQ92IAMgBXIgCHJrIgNBAXQgACADQRVqdkEBcXJBHGohAwsgBCADNgIcIARCADcCECADQQJ0QbjSgIAAaiEFAkBBACgCjNCAgAAiCEEBIAN0IgZxDQAgBSAENgIAQQAgCCAGcjYCjNCAgAAgBCAFNgIYIAQgBDYCCCAEIAQ2AgwMBAsgAEEAQRkgA0EBdmsgA0EfRht0IQMgBSgCACEIA0AgCCIFKAIEQXhxIABGDQMgA0EddiEIIANBAXQhAyAFIAhBBHFqQRBqIgYoAgAiCA0ACyAGIAQ2AgAgBCAFNgIYIAQgBDYCDCAEIAQ2AggMAwsgBSgCCCIDIAI2AgwgBSACNgIIIAJBADYCGCACIAU2AgwgAiADNgIICyALQQhqIQMMBQsgBSgCCCIDIAQ2AgwgBSAENgIIIARBADYCGCAEIAU2AgwgBCADNgIIC0EAKAKU0ICAACIDIAJNDQBBACgCoNCAgAAiBCACaiIFIAMgAmsiA0EBcjYCBEEAIAM2ApTQgIAAQQAgBTYCoNCAgAAgBCACQQNyNgIEIARBCGohAwwDC0EAIQNBAEEwNgL404CAAAwCCwJAIAtFDQACQAJAIAggCCgCHCIFQQJ0QbjSgIAAaiIDKAIARw0AIAMgADYCACAADQFBACAHQX4gBXdxIgc2AozQgIAADAILIAtBEEEUIAsoAhAgCEYbaiAANgIAIABFDQELIAAgCzYCGAJAIAgoAhAiA0UNACAAIAM2AhAgAyAANgIYCyAIQRRqKAIAIgNFDQAgAEEUaiADNgIAIAMgADYCGAsCQAJAIARBD0sNACAIIAQgAmoiA0EDcjYCBCAIIANqIgMgAygCBEEBcjYCBAwBCyAIIAJqIgAgBEEBcjYCBCAIIAJBA3I2AgQgACAEaiAENgIAAkAgBEH/AUsNACAEQXhxQbDQgIAAaiEDAkACQEEAKAKI0ICAACIFQQEgBEEDdnQiBHENAEEAIAUgBHI2AojQgIAAIAMhBAwBCyADKAIIIQQLIAQgADYCDCADIAA2AgggACADNgIMIAAgBDYCCAwBC0EfIQMCQCAEQf///wdLDQAgBEEIdiIDIANBgP4/akEQdkEIcSIDdCIFIAVBgOAfakEQdkEEcSIFdCICIAJBgIAPakEQdkECcSICdEEPdiADIAVyIAJyayIDQQF0IAQgA0EVanZBAXFyQRxqIQMLIAAgAzYCHCAAQgA3AhAgA0ECdEG40oCAAGohBQJAIAdBASADdCICcQ0AIAUgADYCAEEAIAcgAnI2AozQgIAAIAAgBTYCGCAAIAA2AgggACAANgIMDAELIARBAEEZIANBAXZrIANBH0YbdCEDIAUoAgAhAgJAA0AgAiIFKAIEQXhxIARGDQEgA0EddiECIANBAXQhAyAFIAJBBHFqQRBqIgYoAgAiAg0ACyAGIAA2AgAgACAFNgIYIAAgADYCDCAAIAA2AggMAQsgBSgCCCIDIAA2AgwgBSAANgIIIABBADYCGCAAIAU2AgwgACADNgIICyAIQQhqIQMMAQsCQCAKRQ0AAkACQCAAIAAoAhwiBUECdEG40oCAAGoiAygCAEcNACADIAg2AgAgCA0BQQAgCUF+IAV3cTYCjNCAgAAMAgsgCkEQQRQgCigCECAARhtqIAg2AgAgCEUNAQsgCCAKNgIYAkAgACgCECIDRQ0AIAggAzYCECADIAg2AhgLIABBFGooAgAiA0UNACAIQRRqIAM2AgAgAyAINgIYCwJAAkAgBEEPSw0AIAAgBCACaiIDQQNyNgIEIAAgA2oiAyADKAIEQQFyNgIEDAELIAAgAmoiBSAEQQFyNgIEIAAgAkEDcjYCBCAFIARqIAQ2AgACQCAHRQ0AIAdBeHFBsNCAgABqIQJBACgCnNCAgAAhAwJAAkBBASAHQQN2dCIIIAZxDQBBACAIIAZyNgKI0ICAACACIQgMAQsgAigCCCEICyAIIAM2AgwgAiADNgIIIAMgAjYCDCADIAg2AggLQQAgBTYCnNCAgABBACAENgKQ0ICAAAsgAEEIaiEDCyABQRBqJICAgIAAIAMLCgAgABDJgICAAAviDQEHfwJAIABFDQAgAEF4aiIBIABBfGooAgAiAkF4cSIAaiEDAkAgAkEBcQ0AIAJBA3FFDQEgASABKAIAIgJrIgFBACgCmNCAgAAiBEkNASACIABqIQACQCABQQAoApzQgIAARg0AAkAgAkH/AUsNACABKAIIIgQgAkEDdiIFQQN0QbDQgIAAaiIGRhoCQCABKAIMIgIgBEcNAEEAQQAoAojQgIAAQX4gBXdxNgKI0ICAAAwDCyACIAZGGiACIAQ2AgggBCACNgIMDAILIAEoAhghBwJAAkAgASgCDCIGIAFGDQAgASgCCCICIARJGiAGIAI2AgggAiAGNgIMDAELAkAgAUEUaiICKAIAIgQNACABQRBqIgIoAgAiBA0AQQAhBgwBCwNAIAIhBSAEIgZBFGoiAigCACIEDQAgBkEQaiECIAYoAhAiBA0ACyAFQQA2AgALIAdFDQECQAJAIAEgASgCHCIEQQJ0QbjSgIAAaiICKAIARw0AIAIgBjYCACAGDQFBAEEAKAKM0ICAAEF+IAR3cTYCjNCAgAAMAwsgB0EQQRQgBygCECABRhtqIAY2AgAgBkUNAgsgBiAHNgIYAkAgASgCECICRQ0AIAYgAjYCECACIAY2AhgLIAEoAhQiAkUNASAGQRRqIAI2AgAgAiAGNgIYDAELIAMoAgQiAkEDcUEDRw0AIAMgAkF+cTYCBEEAIAA2ApDQgIAAIAEgAGogADYCACABIABBAXI2AgQPCyABIANPDQAgAygCBCICQQFxRQ0AAkACQCACQQJxDQACQCADQQAoAqDQgIAARw0AQQAgATYCoNCAgABBAEEAKAKU0ICAACAAaiIANgKU0ICAACABIABBAXI2AgQgAUEAKAKc0ICAAEcNA0EAQQA2ApDQgIAAQQBBADYCnNCAgAAPCwJAIANBACgCnNCAgABHDQBBACABNgKc0ICAAEEAQQAoApDQgIAAIABqIgA2ApDQgIAAIAEgAEEBcjYCBCABIABqIAA2AgAPCyACQXhxIABqIQACQAJAIAJB/wFLDQAgAygCCCIEIAJBA3YiBUEDdEGw0ICAAGoiBkYaAkAgAygCDCICIARHDQBBAEEAKAKI0ICAAEF+IAV3cTYCiNCAgAAMAgsgAiAGRhogAiAENgIIIAQgAjYCDAwBCyADKAIYIQcCQAJAIAMoAgwiBiADRg0AIAMoAggiAkEAKAKY0ICAAEkaIAYgAjYCCCACIAY2AgwMAQsCQCADQRRqIgIoAgAiBA0AIANBEGoiAigCACIEDQBBACEGDAELA0AgAiEFIAQiBkEUaiICKAIAIgQNACAGQRBqIQIgBigCECIEDQALIAVBADYCAAsgB0UNAAJAAkAgAyADKAIcIgRBAnRBuNKAgABqIgIoAgBHDQAgAiAGNgIAIAYNAUEAQQAoAozQgIAAQX4gBHdxNgKM0ICAAAwCCyAHQRBBFCAHKAIQIANGG2ogBjYCACAGRQ0BCyAGIAc2AhgCQCADKAIQIgJFDQAgBiACNgIQIAIgBjYCGAsgAygCFCICRQ0AIAZBFGogAjYCACACIAY2AhgLIAEgAGogADYCACABIABBAXI2AgQgAUEAKAKc0ICAAEcNAUEAIAA2ApDQgIAADwsgAyACQX5xNgIEIAEgAGogADYCACABIABBAXI2AgQLAkAgAEH/AUsNACAAQXhxQbDQgIAAaiECAkACQEEAKAKI0ICAACIEQQEgAEEDdnQiAHENAEEAIAQgAHI2AojQgIAAIAIhAAwBCyACKAIIIQALIAAgATYCDCACIAE2AgggASACNgIMIAEgADYCCA8LQR8hAgJAIABB////B0sNACAAQQh2IgIgAkGA/j9qQRB2QQhxIgJ0IgQgBEGA4B9qQRB2QQRxIgR0IgYgBkGAgA9qQRB2QQJxIgZ0QQ92IAIgBHIgBnJrIgJBAXQgACACQRVqdkEBcXJBHGohAgsgASACNgIcIAFCADcCECACQQJ0QbjSgIAAaiEEAkACQEEAKAKM0ICAACIGQQEgAnQiA3ENACAEIAE2AgBBACAGIANyNgKM0ICAACABIAQ2AhggASABNgIIIAEgATYCDAwBCyAAQQBBGSACQQF2ayACQR9GG3QhAiAEKAIAIQYCQANAIAYiBCgCBEF4cSAARg0BIAJBHXYhBiACQQF0IQIgBCAGQQRxakEQaiIDKAIAIgYNAAsgAyABNgIAIAEgBDYCGCABIAE2AgwgASABNgIIDAELIAQoAggiACABNgIMIAQgATYCCCABQQA2AhggASAENgIMIAEgADYCCAtBAEEAKAKo0ICAAEF/aiIBQX8gARs2AqjQgIAACwsEAAAAC04AAkAgAA0APwBBEHQPCwJAIABB//8DcQ0AIABBf0wNAAJAIABBEHZAACIAQX9HDQBBAEEwNgL404CAAEF/DwsgAEEQdA8LEMqAgIAAAAvyAgIDfwF+AkAgAkUNACAAIAE6AAAgAiAAaiIDQX9qIAE6AAAgAkEDSQ0AIAAgAToAAiAAIAE6AAEgA0F9aiABOgAAIANBfmogAToAACACQQdJDQAgACABOgADIANBfGogAToAACACQQlJDQAgAEEAIABrQQNxIgRqIgMgAUH/AXFBgYKECGwiATYCACADIAIgBGtBfHEiBGoiAkF8aiABNgIAIARBCUkNACADIAE2AgggAyABNgIEIAJBeGogATYCACACQXRqIAE2AgAgBEEZSQ0AIAMgATYCGCADIAE2AhQgAyABNgIQIAMgATYCDCACQXBqIAE2AgAgAkFsaiABNgIAIAJBaGogATYCACACQWRqIAE2AgAgBCADQQRxQRhyIgVrIgJBIEkNACABrUKBgICAEH4hBiADIAVqIQEDQCABIAY3AxggASAGNwMQIAEgBjcDCCABIAY3AwAgAUEgaiEBIAJBYGoiAkEfSw0ACwsgAAsLjkgBAEGACAuGSAEAAAACAAAAAwAAAAAAAAAAAAAABAAAAAUAAAAAAAAAAAAAAAYAAAAHAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASW52YWxpZCBjaGFyIGluIHVybCBxdWVyeQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX2JvZHkAQ29udGVudC1MZW5ndGggb3ZlcmZsb3cAQ2h1bmsgc2l6ZSBvdmVyZmxvdwBSZXNwb25zZSBvdmVyZmxvdwBJbnZhbGlkIG1ldGhvZCBmb3IgSFRUUC94LnggcmVxdWVzdABJbnZhbGlkIG1ldGhvZCBmb3IgUlRTUC94LnggcmVxdWVzdABFeHBlY3RlZCBTT1VSQ0UgbWV0aG9kIGZvciBJQ0UveC54IHJlcXVlc3QASW52YWxpZCBjaGFyIGluIHVybCBmcmFnbWVudCBzdGFydABFeHBlY3RlZCBkb3QAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9zdGF0dXMASW52YWxpZCByZXNwb25zZSBzdGF0dXMASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucwBVc2VyIGNhbGxiYWNrIGVycm9yAGBvbl9yZXNldGAgY2FsbGJhY2sgZXJyb3IAYG9uX2NodW5rX2hlYWRlcmAgY2FsbGJhY2sgZXJyb3IAYG9uX21lc3NhZ2VfYmVnaW5gIGNhbGxiYWNrIGVycm9yAGBvbl9jaHVua19leHRlbnNpb25fdmFsdWVgIGNhbGxiYWNrIGVycm9yAGBvbl9zdGF0dXNfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl92ZXJzaW9uX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fdXJsX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9oZWFkZXJfdmFsdWVfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9tZXNzYWdlX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fbWV0aG9kX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25faGVhZGVyX2ZpZWxkX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfZXh0ZW5zaW9uX25hbWVgIGNhbGxiYWNrIGVycm9yAFVuZXhwZWN0ZWQgY2hhciBpbiB1cmwgc2VydmVyAEludmFsaWQgaGVhZGVyIHZhbHVlIGNoYXIASW52YWxpZCBoZWFkZXIgZmllbGQgY2hhcgBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3ZlcnNpb24ASW52YWxpZCBtaW5vciB2ZXJzaW9uAEludmFsaWQgbWFqb3IgdmVyc2lvbgBFeHBlY3RlZCBzcGFjZSBhZnRlciB2ZXJzaW9uAEV4cGVjdGVkIENSTEYgYWZ0ZXIgdmVyc2lvbgBJbnZhbGlkIEhUVFAgdmVyc2lvbgBJbnZhbGlkIGhlYWRlciB0b2tlbgBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3VybABJbnZhbGlkIGNoYXJhY3RlcnMgaW4gdXJsAFVuZXhwZWN0ZWQgc3RhcnQgY2hhciBpbiB1cmwARG91YmxlIEAgaW4gdXJsAEVtcHR5IENvbnRlbnQtTGVuZ3RoAEludmFsaWQgY2hhcmFjdGVyIGluIENvbnRlbnQtTGVuZ3RoAER1cGxpY2F0ZSBDb250ZW50LUxlbmd0aABJbnZhbGlkIGNoYXIgaW4gdXJsIHBhdGgAQ29udGVudC1MZW5ndGggY2FuJ3QgYmUgcHJlc2VudCB3aXRoIFRyYW5zZmVyLUVuY29kaW5nAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIHNpemUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9oZWFkZXJfdmFsdWUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9jaHVua19leHRlbnNpb25fdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyB2YWx1ZQBNaXNzaW5nIGV4cGVjdGVkIExGIGFmdGVyIGhlYWRlciB2YWx1ZQBJbnZhbGlkIGBUcmFuc2Zlci1FbmNvZGluZ2AgaGVhZGVyIHZhbHVlAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgcXVvdGUgdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyBxdW90ZWQgdmFsdWUAUGF1c2VkIGJ5IG9uX2hlYWRlcnNfY29tcGxldGUASW52YWxpZCBFT0Ygc3RhdGUAb25fcmVzZXQgcGF1c2UAb25fY2h1bmtfaGVhZGVyIHBhdXNlAG9uX21lc3NhZ2VfYmVnaW4gcGF1c2UAb25fY2h1bmtfZXh0ZW5zaW9uX3ZhbHVlIHBhdXNlAG9uX3N0YXR1c19jb21wbGV0ZSBwYXVzZQBvbl92ZXJzaW9uX2NvbXBsZXRlIHBhdXNlAG9uX3VybF9jb21wbGV0ZSBwYXVzZQBvbl9jaHVua19jb21wbGV0ZSBwYXVzZQBvbl9oZWFkZXJfdmFsdWVfY29tcGxldGUgcGF1c2UAb25fbWVzc2FnZV9jb21wbGV0ZSBwYXVzZQBvbl9tZXRob2RfY29tcGxldGUgcGF1c2UAb25faGVhZGVyX2ZpZWxkX2NvbXBsZXRlIHBhdXNlAG9uX2NodW5rX2V4dGVuc2lvbl9uYW1lIHBhdXNlAFVuZXhwZWN0ZWQgc3BhY2UgYWZ0ZXIgc3RhcnQgbGluZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX2NodW5rX2V4dGVuc2lvbl9uYW1lAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgbmFtZQBQYXVzZSBvbiBDT05ORUNUL1VwZ3JhZGUAUGF1c2Ugb24gUFJJL1VwZ3JhZGUARXhwZWN0ZWQgSFRUUC8yIENvbm5lY3Rpb24gUHJlZmFjZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX21ldGhvZABFeHBlY3RlZCBzcGFjZSBhZnRlciBtZXRob2QAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9oZWFkZXJfZmllbGQAUGF1c2VkAEludmFsaWQgd29yZCBlbmNvdW50ZXJlZABJbnZhbGlkIG1ldGhvZCBlbmNvdW50ZXJlZABVbmV4cGVjdGVkIGNoYXIgaW4gdXJsIHNjaGVtYQBSZXF1ZXN0IGhhcyBpbnZhbGlkIGBUcmFuc2Zlci1FbmNvZGluZ2AAU1dJVENIX1BST1hZAFVTRV9QUk9YWQBNS0FDVElWSVRZAFVOUFJPQ0VTU0FCTEVfRU5USVRZAENPUFkATU9WRURfUEVSTUFORU5UTFkAVE9PX0VBUkxZAE5PVElGWQBGQUlMRURfREVQRU5ERU5DWQBCQURfR0FURVdBWQBQTEFZAFBVVABDSEVDS09VVABHQVRFV0FZX1RJTUVPVVQAUkVRVUVTVF9USU1FT1VUAE5FVFdPUktfQ09OTkVDVF9USU1FT1VUAENPTk5FQ1RJT05fVElNRU9VVABMT0dJTl9USU1FT1VUAE5FVFdPUktfUkVBRF9USU1FT1VUAFBPU1QATUlTRElSRUNURURfUkVRVUVTVABDTElFTlRfQ0xPU0VEX1JFUVVFU1QAQ0xJRU5UX0NMT1NFRF9MT0FEX0JBTEFOQ0VEX1JFUVVFU1QAQkFEX1JFUVVFU1QASFRUUF9SRVFVRVNUX1NFTlRfVE9fSFRUUFNfUE9SVABSRVBPUlQASU1fQV9URUFQT1QAUkVTRVRfQ09OVEVOVABOT19DT05URU5UAFBBUlRJQUxfQ09OVEVOVABIUEVfSU5WQUxJRF9DT05TVEFOVABIUEVfQ0JfUkVTRVQAR0VUAEhQRV9TVFJJQ1QAQ09ORkxJQ1QAVEVNUE9SQVJZX1JFRElSRUNUAFBFUk1BTkVOVF9SRURJUkVDVABDT05ORUNUAE1VTFRJX1NUQVRVUwBIUEVfSU5WQUxJRF9TVEFUVVMAVE9PX01BTllfUkVRVUVTVFMARUFSTFlfSElOVFMAVU5BVkFJTEFCTEVfRk9SX0xFR0FMX1JFQVNPTlMAT1BUSU9OUwBTV0lUQ0hJTkdfUFJPVE9DT0xTAFZBUklBTlRfQUxTT19ORUdPVElBVEVTAE1VTFRJUExFX0NIT0lDRVMASU5URVJOQUxfU0VSVkVSX0VSUk9SAFdFQl9TRVJWRVJfVU5LTk9XTl9FUlJPUgBSQUlMR1VOX0VSUk9SAElERU5USVRZX1BST1ZJREVSX0FVVEhFTlRJQ0FUSU9OX0VSUk9SAFNTTF9DRVJUSUZJQ0FURV9FUlJPUgBJTlZBTElEX1hfRk9SV0FSREVEX0ZPUgBTRVRfUEFSQU1FVEVSAEdFVF9QQVJBTUVURVIASFBFX1VTRVIAU0VFX09USEVSAEhQRV9DQl9DSFVOS19IRUFERVIATUtDQUxFTkRBUgBTRVRVUABXRUJfU0VSVkVSX0lTX0RPV04AVEVBUkRPV04ASFBFX0NMT1NFRF9DT05ORUNUSU9OAEhFVVJJU1RJQ19FWFBJUkFUSU9OAERJU0NPTk5FQ1RFRF9PUEVSQVRJT04ATk9OX0FVVEhPUklUQVRJVkVfSU5GT1JNQVRJT04ASFBFX0lOVkFMSURfVkVSU0lPTgBIUEVfQ0JfTUVTU0FHRV9CRUdJTgBTSVRFX0lTX0ZST1pFTgBIUEVfSU5WQUxJRF9IRUFERVJfVE9LRU4ASU5WQUxJRF9UT0tFTgBGT1JCSURERU4ARU5IQU5DRV9ZT1VSX0NBTE0ASFBFX0lOVkFMSURfVVJMAEJMT0NLRURfQllfUEFSRU5UQUxfQ09OVFJPTABNS0NPTABBQ0wASFBFX0lOVEVSTkFMAFJFUVVFU1RfSEVBREVSX0ZJRUxEU19UT09fTEFSR0VfVU5PRkZJQ0lBTABIUEVfT0sAVU5MSU5LAFVOTE9DSwBQUkkAUkVUUllfV0lUSABIUEVfSU5WQUxJRF9DT05URU5UX0xFTkdUSABIUEVfVU5FWFBFQ1RFRF9DT05URU5UX0xFTkdUSABGTFVTSABQUk9QUEFUQ0gATS1TRUFSQ0gAVVJJX1RPT19MT05HAFBST0NFU1NJTkcATUlTQ0VMTEFORU9VU19QRVJTSVNURU5UX1dBUk5JTkcATUlTQ0VMTEFORU9VU19XQVJOSU5HAEhQRV9JTlZBTElEX1RSQU5TRkVSX0VOQ09ESU5HAEV4cGVjdGVkIENSTEYASFBFX0lOVkFMSURfQ0hVTktfU0laRQBNT1ZFAENPTlRJTlVFAEhQRV9DQl9TVEFUVVNfQ09NUExFVEUASFBFX0NCX0hFQURFUlNfQ09NUExFVEUASFBFX0NCX1ZFUlNJT05fQ09NUExFVEUASFBFX0NCX1VSTF9DT01QTEVURQBIUEVfQ0JfQ0hVTktfQ09NUExFVEUASFBFX0NCX0hFQURFUl9WQUxVRV9DT01QTEVURQBIUEVfQ0JfQ0hVTktfRVhURU5TSU9OX1ZBTFVFX0NPTVBMRVRFAEhQRV9DQl9DSFVOS19FWFRFTlNJT05fTkFNRV9DT01QTEVURQBIUEVfQ0JfTUVTU0FHRV9DT01QTEVURQBIUEVfQ0JfTUVUSE9EX0NPTVBMRVRFAEhQRV9DQl9IRUFERVJfRklFTERfQ09NUExFVEUAREVMRVRFAEhQRV9JTlZBTElEX0VPRl9TVEFURQBJTlZBTElEX1NTTF9DRVJUSUZJQ0FURQBQQVVTRQBOT19SRVNQT05TRQBVTlNVUFBPUlRFRF9NRURJQV9UWVBFAEdPTkUATk9UX0FDQ0VQVEFCTEUAU0VSVklDRV9VTkFWQUlMQUJMRQBSQU5HRV9OT1RfU0FUSVNGSUFCTEUAT1JJR0lOX0lTX1VOUkVBQ0hBQkxFAFJFU1BPTlNFX0lTX1NUQUxFAFBVUkdFAE1FUkdFAFJFUVVFU1RfSEVBREVSX0ZJRUxEU19UT09fTEFSR0UAUkVRVUVTVF9IRUFERVJfVE9PX0xBUkdFAFBBWUxPQURfVE9PX0xBUkdFAElOU1VGRklDSUVOVF9TVE9SQUdFAEhQRV9QQVVTRURfVVBHUkFERQBIUEVfUEFVU0VEX0gyX1VQR1JBREUAU09VUkNFAEFOTk9VTkNFAFRSQUNFAEhQRV9VTkVYUEVDVEVEX1NQQUNFAERFU0NSSUJFAFVOU1VCU0NSSUJFAFJFQ09SRABIUEVfSU5WQUxJRF9NRVRIT0QATk9UX0ZPVU5EAFBST1BGSU5EAFVOQklORABSRUJJTkQAVU5BVVRIT1JJWkVEAE1FVEhPRF9OT1RfQUxMT1dFRABIVFRQX1ZFUlNJT05fTk9UX1NVUFBPUlRFRABBTFJFQURZX1JFUE9SVEVEAEFDQ0VQVEVEAE5PVF9JTVBMRU1FTlRFRABMT09QX0RFVEVDVEVEAEhQRV9DUl9FWFBFQ1RFRABIUEVfTEZfRVhQRUNURUQAQ1JFQVRFRABJTV9VU0VEAEhQRV9QQVVTRUQAVElNRU9VVF9PQ0NVUkVEAFBBWU1FTlRfUkVRVUlSRUQAUFJFQ09ORElUSU9OX1JFUVVJUkVEAFBST1hZX0FVVEhFTlRJQ0FUSU9OX1JFUVVJUkVEAE5FVFdPUktfQVVUSEVOVElDQVRJT05fUkVRVUlSRUQATEVOR1RIX1JFUVVJUkVEAFNTTF9DRVJUSUZJQ0FURV9SRVFVSVJFRABVUEdSQURFX1JFUVVJUkVEAFBBR0VfRVhQSVJFRABQUkVDT05ESVRJT05fRkFJTEVEAEVYUEVDVEFUSU9OX0ZBSUxFRABSRVZBTElEQVRJT05fRkFJTEVEAFNTTF9IQU5EU0hBS0VfRkFJTEVEAExPQ0tFRABUUkFOU0ZPUk1BVElPTl9BUFBMSUVEAE5PVF9NT0RJRklFRABOT1RfRVhURU5ERUQAQkFORFdJRFRIX0xJTUlUX0VYQ0VFREVEAFNJVEVfSVNfT1ZFUkxPQURFRABIRUFEAEV4cGVjdGVkIEhUVFAvAABeEwAAJhMAADAQAADwFwAAnRMAABUSAAA5FwAA8BIAAAoQAAB1EgAArRIAAIITAABPFAAAfxAAAKAVAAAjFAAAiRIAAIsUAABNFQAA1BEAAM8UAAAQGAAAyRYAANwWAADBEQAA4BcAALsUAAB0FAAAfBUAAOUUAAAIFwAAHxAAAGUVAACjFAAAKBUAAAIVAACZFQAALBAAAIsZAABPDwAA1A4AAGoQAADOEAAAAhcAAIkOAABuEwAAHBMAAGYUAABWFwAAwRMAAM0TAABsEwAAaBcAAGYXAABfFwAAIhMAAM4PAABpDgAA2A4AAGMWAADLEwAAqg4AACgXAAAmFwAAxRMAAF0WAADoEQAAZxMAAGUTAADyFgAAcxMAAB0XAAD5FgAA8xEAAM8OAADOFQAADBIAALMRAAClEQAAYRAAADIXAAC7EwAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAgEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAgMCAgICAgAAAgIAAgIAAgICAgICAgICAgAEAAAAAAACAgICAgICAgICAgICAgICAgICAgICAgICAgAAAAICAgICAgICAgICAgICAgICAgICAgICAgICAgICAAIAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAIAAgICAgIAAAICAAICAAICAgICAgICAgIAAwAEAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgIAAAACAgICAgICAgICAgICAgICAgICAgICAgICAgICAgACAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABsb3NlZWVwLWFsaXZlAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQEBAQEBAQEBAgEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQFjaHVua2VkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQABAQEBAQAAAQEAAQEAAQEBAQEBAQEBAQAAAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGVjdGlvbmVudC1sZW5ndGhvbnJveHktY29ubmVjdGlvbgAAAAAAAAAAAAAAAAAAAHJhbnNmZXItZW5jb2RpbmdwZ3JhZGUNCg0KDQpTTQ0KDQpUVFAvQ0UvVFNQLwAAAAAAAAAAAAAAAAECAAEDAAAAAAAAAAAAAAAAAAAAAAAABAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAAAAAAAAAABAgABAwAAAAAAAAAAAAAAAAAAAAAAAAQBAQUBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAAAAAAAAAQAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAABAAACAAAAAAAAAAAAAAAAAAAAAAAAAwQAAAQEBAQEBAQEBAQEBQQEBAQEBAQEBAQEBAAEAAYHBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQABAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAQAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAEAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAgAAAAACAAAAAAAAAAAAAAAAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwAAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAE5PVU5DRUVDS09VVE5FQ1RFVEVDUklCRUxVU0hFVEVBRFNFQVJDSFJHRUNUSVZJVFlMRU5EQVJWRU9USUZZUFRJT05TQ0hTRUFZU1RBVENIR0VPUkRJUkVDVE9SVFJDSFBBUkFNRVRFUlVSQ0VCU0NSSUJFQVJET1dOQUNFSU5ETktDS1VCU0NSSUJFSFRUUC9BRFRQLw=="},50172:(Wt,Pt)=>{Object.defineProperty(Pt,"__esModule",{value:true});Pt.enumToMap=void 0;function enumToMap(Wt){const Pt={};Object.keys(Wt).forEach((en=>{const tn=Wt[en];if(typeof tn==="number"){Pt[en]=tn}}));return Pt}Pt.enumToMap=enumToMap},47501:(Wt,Pt,en)=>{const{kClients:tn}=en(36443);const nn=en(59965);const{kAgent:an,kMockAgentSet:In,kMockAgentGet:rn,kDispatches:sn,kIsMockActive:on,kNetConnect:cn,kGetNetConnect:dn,kOptions:un,kFactory:pn}=en(91117);const mn=en(47365);const bn=en(94004);const{matchValue:Gn,buildMockOptions:hn}=en(53397);const{InvalidArgumentError:Zn,UndiciError:An}=en(68707);const Wn=en(28611);const Nn=en(91529);const gn=en(56142);class FakeWeakRef{constructor(Wt){this.value=Wt}deref(){return this.value}}class MockAgent extends Wn{constructor(Wt){super(Wt);this[cn]=true;this[on]=true;if(Wt&&Wt.agent&&typeof Wt.agent.dispatch!=="function"){throw new Zn("Argument opts.agent must implement Agent")}const Pt=Wt&&Wt.agent?Wt.agent:new nn(Wt);this[an]=Pt;this[tn]=Pt[tn];this[un]=hn(Wt)}get(Wt){let Pt=this[rn](Wt);if(!Pt){Pt=this[pn](Wt);this[In](Wt,Pt)}return Pt}dispatch(Wt,Pt){this.get(Wt.origin);return this[an].dispatch(Wt,Pt)}async close(){await this[an].close();this[tn].clear()}deactivate(){this[on]=false}activate(){this[on]=true}enableNetConnect(Wt){if(typeof Wt==="string"||typeof Wt==="function"||Wt instanceof RegExp){if(Array.isArray(this[cn])){this[cn].push(Wt)}else{this[cn]=[Wt]}}else if(typeof Wt==="undefined"){this[cn]=true}else{throw new Zn("Unsupported matcher. Must be one of String|Function|RegExp.")}}disableNetConnect(){this[cn]=false}get isMockActive(){return this[on]}[In](Wt,Pt){this[tn].set(Wt,new FakeWeakRef(Pt))}[pn](Wt){const Pt=Object.assign({agent:this},this[un]);return this[un]&&this[un].connections===1?new mn(Wt,Pt):new bn(Wt,Pt)}[rn](Wt){const Pt=this[tn].get(Wt);if(Pt){return Pt.deref()}if(typeof Wt!=="string"){const Pt=this[pn]("http://localhost:9999");this[In](Wt,Pt);return Pt}for(const[Pt,en]of Array.from(this[tn])){const tn=en.deref();if(tn&&typeof Pt!=="string"&&Gn(Pt,Wt)){const Pt=this[pn](Wt);this[In](Wt,Pt);Pt[sn]=tn[sn];return Pt}}}[dn](){return this[cn]}pendingInterceptors(){const Wt=this[tn];return Array.from(Wt.entries()).flatMap((([Wt,Pt])=>Pt.deref()[sn].map((Pt=>({...Pt,origin:Wt}))))).filter((({pending:Wt})=>Wt))}assertNoPendingInterceptors({pendingInterceptorsFormatter:Wt=new gn}={}){const Pt=this.pendingInterceptors();if(Pt.length===0){return}const en=new Nn("interceptor","interceptors").pluralize(Pt.length);throw new An(`\n${en.count} ${en.noun} ${en.is} pending:\n\n${Wt.format(Pt)}\n`.trim())}}Wt.exports=MockAgent},47365:(Wt,Pt,en)=>{const{promisify:tn}=en(39023);const nn=en(86197);const{buildMockDispatch:an}=en(53397);const{kDispatches:In,kMockAgent:rn,kClose:sn,kOriginalClose:on,kOrigin:cn,kOriginalDispatch:dn,kConnected:un}=en(91117);const{MockInterceptor:pn}=en(31511);const mn=en(36443);const{InvalidArgumentError:bn}=en(68707);class MockClient extends nn{constructor(Wt,Pt){super(Wt,Pt);if(!Pt||!Pt.agent||typeof Pt.agent.dispatch!=="function"){throw new bn("Argument opts.agent must implement Agent")}this[rn]=Pt.agent;this[cn]=Wt;this[In]=[];this[un]=1;this[dn]=this.dispatch;this[on]=this.close.bind(this);this.dispatch=an.call(this);this.close=this[sn]}get[mn.kConnected](){return this[un]}intercept(Wt){return new pn(Wt,this[In])}async[sn](){await tn(this[on])();this[un]=0;this[rn][mn.kClients].delete(this[cn])}}Wt.exports=MockClient},52429:(Wt,Pt,en)=>{const{UndiciError:tn}=en(68707);class MockNotMatchedError extends tn{constructor(Wt){super(Wt);Error.captureStackTrace(this,MockNotMatchedError);this.name="MockNotMatchedError";this.message=Wt||"The request does not match any registered mock dispatches";this.code="UND_MOCK_ERR_MOCK_NOT_MATCHED"}}Wt.exports={MockNotMatchedError:MockNotMatchedError}},31511:(Wt,Pt,en)=>{const{getResponseData:tn,buildKey:nn,addMockDispatch:an}=en(53397);const{kDispatches:In,kDispatchKey:rn,kDefaultHeaders:sn,kDefaultTrailers:on,kContentLength:cn,kMockDispatch:dn}=en(91117);const{InvalidArgumentError:un}=en(68707);const{buildURL:pn}=en(3440);class MockScope{constructor(Wt){this[dn]=Wt}delay(Wt){if(typeof Wt!=="number"||!Number.isInteger(Wt)||Wt<=0){throw new un("waitInMs must be a valid integer > 0")}this[dn].delay=Wt;return this}persist(){this[dn].persist=true;return this}times(Wt){if(typeof Wt!=="number"||!Number.isInteger(Wt)||Wt<=0){throw new un("repeatTimes must be a valid integer > 0")}this[dn].times=Wt;return this}}class MockInterceptor{constructor(Wt,Pt){if(typeof Wt!=="object"){throw new un("opts must be an object")}if(typeof Wt.path==="undefined"){throw new un("opts.path must be defined")}if(typeof Wt.method==="undefined"){Wt.method="GET"}if(typeof Wt.path==="string"){if(Wt.query){Wt.path=pn(Wt.path,Wt.query)}else{const Pt=new URL(Wt.path,"data://");Wt.path=Pt.pathname+Pt.search}}if(typeof Wt.method==="string"){Wt.method=Wt.method.toUpperCase()}this[rn]=nn(Wt);this[In]=Pt;this[sn]={};this[on]={};this[cn]=false}createMockScopeDispatchData(Wt,Pt,en={}){const nn=tn(Pt);const an=this[cn]?{"content-length":nn.length}:{};const In={...this[sn],...an,...en.headers};const rn={...this[on],...en.trailers};return{statusCode:Wt,data:Pt,headers:In,trailers:rn}}validateReplyParameters(Wt,Pt,en){if(typeof Wt==="undefined"){throw new un("statusCode must be defined")}if(typeof Pt==="undefined"){throw new un("data must be defined")}if(typeof en!=="object"){throw new un("responseOptions must be an object")}}reply(Wt){if(typeof Wt==="function"){const wrappedDefaultsCallback=Pt=>{const en=Wt(Pt);if(typeof en!=="object"){throw new un("reply options callback must return an object")}const{statusCode:tn,data:nn="",responseOptions:an={}}=en;this.validateReplyParameters(tn,nn,an);return{...this.createMockScopeDispatchData(tn,nn,an)}};const Pt=an(this[In],this[rn],wrappedDefaultsCallback);return new MockScope(Pt)}const[Pt,en="",tn={}]=[...arguments];this.validateReplyParameters(Pt,en,tn);const nn=this.createMockScopeDispatchData(Pt,en,tn);const sn=an(this[In],this[rn],nn);return new MockScope(sn)}replyWithError(Wt){if(typeof Wt==="undefined"){throw new un("error must be defined")}const Pt=an(this[In],this[rn],{error:Wt});return new MockScope(Pt)}defaultReplyHeaders(Wt){if(typeof Wt==="undefined"){throw new un("headers must be defined")}this[sn]=Wt;return this}defaultReplyTrailers(Wt){if(typeof Wt==="undefined"){throw new un("trailers must be defined")}this[on]=Wt;return this}replyContentLength(){this[cn]=true;return this}}Wt.exports.MockInterceptor=MockInterceptor;Wt.exports.MockScope=MockScope},94004:(Wt,Pt,en)=>{const{promisify:tn}=en(39023);const nn=en(35076);const{buildMockDispatch:an}=en(53397);const{kDispatches:In,kMockAgent:rn,kClose:sn,kOriginalClose:on,kOrigin:cn,kOriginalDispatch:dn,kConnected:un}=en(91117);const{MockInterceptor:pn}=en(31511);const mn=en(36443);const{InvalidArgumentError:bn}=en(68707);class MockPool extends nn{constructor(Wt,Pt){super(Wt,Pt);if(!Pt||!Pt.agent||typeof Pt.agent.dispatch!=="function"){throw new bn("Argument opts.agent must implement Agent")}this[rn]=Pt.agent;this[cn]=Wt;this[In]=[];this[un]=1;this[dn]=this.dispatch;this[on]=this.close.bind(this);this.dispatch=an.call(this);this.close=this[sn]}get[mn.kConnected](){return this[un]}intercept(Wt){return new pn(Wt,this[In])}async[sn](){await tn(this[on])();this[un]=0;this[rn][mn.kClients].delete(this[cn])}}Wt.exports=MockPool},91117:Wt=>{Wt.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")}},53397:(Wt,Pt,en)=>{const{MockNotMatchedError:tn}=en(52429);const{kDispatches:nn,kMockAgent:an,kOriginalDispatch:In,kOrigin:rn,kGetNetConnect:sn}=en(91117);const{buildURL:on,nop:cn}=en(3440);const{STATUS_CODES:dn}=en(58611);const{types:{isPromise:un}}=en(39023);function matchValue(Wt,Pt){if(typeof Wt==="string"){return Wt===Pt}if(Wt instanceof RegExp){return Wt.test(Pt)}if(typeof Wt==="function"){return Wt(Pt)===true}return false}function lowerCaseEntries(Wt){return Object.fromEntries(Object.entries(Wt).map((([Wt,Pt])=>[Wt.toLocaleLowerCase(),Pt])))}function getHeaderByName(Wt,Pt){if(Array.isArray(Wt)){for(let en=0;en!Wt)).filter((({path:Wt})=>matchValue(safeUrl(Wt),nn)));if(an.length===0){throw new tn(`Mock dispatch not matched for path '${nn}'`)}an=an.filter((({method:Wt})=>matchValue(Wt,Pt.method)));if(an.length===0){throw new tn(`Mock dispatch not matched for method '${Pt.method}'`)}an=an.filter((({body:Wt})=>typeof Wt!=="undefined"?matchValue(Wt,Pt.body):true));if(an.length===0){throw new tn(`Mock dispatch not matched for body '${Pt.body}'`)}an=an.filter((Wt=>matchHeaders(Wt,Pt.headers)));if(an.length===0){throw new tn(`Mock dispatch not matched for headers '${typeof Pt.headers==="object"?JSON.stringify(Pt.headers):Pt.headers}'`)}return an[0]}function addMockDispatch(Wt,Pt,en){const tn={timesInvoked:0,times:1,persist:false,consumed:false};const nn=typeof en==="function"?{callback:en}:{...en};const an={...tn,...Pt,pending:true,data:{error:null,...nn}};Wt.push(an);return an}function deleteMockDispatch(Wt,Pt){const en=Wt.findIndex((Wt=>{if(!Wt.consumed){return false}return matchKey(Wt,Pt)}));if(en!==-1){Wt.splice(en,1)}}function buildKey(Wt){const{path:Pt,method:en,body:tn,headers:nn,query:an}=Wt;return{path:Pt,method:en,body:tn,headers:nn,query:an}}function generateKeyValues(Wt){return Object.entries(Wt).reduce(((Wt,[Pt,en])=>[...Wt,Buffer.from(`${Pt}`),Array.isArray(en)?en.map((Wt=>Buffer.from(`${Wt}`))):Buffer.from(`${en}`)]),[])}function getStatusText(Wt){return dn[Wt]||"unknown"}async function getResponse(Wt){const Pt=[];for await(const en of Wt){Pt.push(en)}return Buffer.concat(Pt).toString("utf8")}function mockDispatch(Wt,Pt){const en=buildKey(Wt);const tn=getMockDispatch(this[nn],en);tn.timesInvoked++;if(tn.data.callback){tn.data={...tn.data,...tn.data.callback(Wt)}}const{data:{statusCode:an,data:In,headers:rn,trailers:sn,error:on},delay:dn,persist:pn}=tn;const{timesInvoked:mn,times:bn}=tn;tn.consumed=!pn&&mn>=bn;tn.pending=mn0){setTimeout((()=>{handleReply(this[nn])}),dn)}else{handleReply(this[nn])}function handleReply(tn,nn=In){const on=Array.isArray(Wt.headers)?buildHeadersFromArray(Wt.headers):Wt.headers;const dn=typeof nn==="function"?nn({...Wt,headers:on}):nn;if(un(dn)){dn.then((Wt=>handleReply(tn,Wt)));return}const pn=getResponseData(dn);const mn=generateKeyValues(rn);const bn=generateKeyValues(sn);Pt.abort=cn;Pt.onHeaders(an,mn,resume,getStatusText(an));Pt.onData(Buffer.from(pn));Pt.onComplete(bn);deleteMockDispatch(tn,en)}function resume(){}return true}function buildMockDispatch(){const Wt=this[an];const Pt=this[rn];const en=this[In];return function dispatch(nn,an){if(Wt.isMockActive){try{mockDispatch.call(this,nn,an)}catch(In){if(In instanceof tn){const rn=Wt[sn]();if(rn===false){throw new tn(`${In.message}: subsequent request to origin ${Pt} was not allowed (net.connect disabled)`)}if(checkNetConnect(rn,Pt)){en.call(this,nn,an)}else{throw new tn(`${In.message}: subsequent request to origin ${Pt} was not allowed (net.connect is not enabled for this origin)`)}}else{throw In}}}else{en.call(this,nn,an)}}}function checkNetConnect(Wt,Pt){const en=new URL(Pt);if(Wt===true){return true}else if(Array.isArray(Wt)&&Wt.some((Wt=>matchValue(Wt,en.host)))){return true}return false}function buildMockOptions(Wt){if(Wt){const{agent:Pt,...en}=Wt;return en}}Wt.exports={getResponseData:getResponseData,getMockDispatch:getMockDispatch,addMockDispatch:addMockDispatch,deleteMockDispatch:deleteMockDispatch,buildKey:buildKey,generateKeyValues:generateKeyValues,matchValue:matchValue,getResponse:getResponse,getStatusText:getStatusText,mockDispatch:mockDispatch,buildMockDispatch:buildMockDispatch,checkNetConnect:checkNetConnect,buildMockOptions:buildMockOptions,getHeaderByName:getHeaderByName}},56142:(Wt,Pt,en)=>{const{Transform:tn}=en(2203);const{Console:nn}=en(64236);Wt.exports=class PendingInterceptorsFormatter{constructor({disableColors:Wt}={}){this.transform=new tn({transform(Wt,Pt,en){en(null,Wt)}});this.logger=new nn({stdout:this.transform,inspectOptions:{colors:!Wt&&!process.env.CI}})}format(Wt){const Pt=Wt.map((({method:Wt,path:Pt,data:{statusCode:en},persist:tn,times:nn,timesInvoked:an,origin:In})=>({Method:Wt,Origin:In,Path:Pt,"Status code":en,Persistent:tn?"✅":"❌",Invocations:an,Remaining:tn?Infinity:nn-an})));this.logger.table(Pt);return this.transform.read().toString()}}},91529:Wt=>{const Pt={pronoun:"it",is:"is",was:"was",this:"this"};const en={pronoun:"they",is:"are",was:"were",this:"these"};Wt.exports=class Pluralizer{constructor(Wt,Pt){this.singular=Wt;this.plural=Pt}pluralize(Wt){const tn=Wt===1;const nn=tn?Pt:en;const an=tn?this.singular:this.plural;return{...nn,count:Wt,noun:an}}}},34869:Wt=>{const Pt=2048;const en=Pt-1;class FixedCircularBuffer{constructor(){this.bottom=0;this.top=0;this.list=new Array(Pt);this.next=null}isEmpty(){return this.top===this.bottom}isFull(){return(this.top+1&en)===this.bottom}push(Wt){this.list[this.top]=Wt;this.top=this.top+1&en}shift(){const Wt=this.list[this.bottom];if(Wt===undefined)return null;this.list[this.bottom]=undefined;this.bottom=this.bottom+1&en;return Wt}}Wt.exports=class FixedQueue{constructor(){this.head=this.tail=new FixedCircularBuffer}isEmpty(){return this.head.isEmpty()}push(Wt){if(this.head.isFull()){this.head=this.head.next=new FixedCircularBuffer}this.head.push(Wt)}shift(){const Wt=this.tail;const Pt=Wt.shift();if(Wt.isEmpty()&&Wt.next!==null){this.tail=Wt.next}return Pt}}},58640:(Wt,Pt,en)=>{const tn=en(50001);const nn=en(34869);const{kConnected:an,kSize:In,kRunning:rn,kPending:sn,kQueued:on,kBusy:cn,kFree:dn,kUrl:un,kClose:pn,kDestroy:mn,kDispatch:bn}=en(36443);const Gn=en(24622);const hn=Symbol("clients");const Zn=Symbol("needDrain");const An=Symbol("queue");const Wn=Symbol("closed resolve");const Nn=Symbol("onDrain");const gn=Symbol("onConnect");const yn=Symbol("onDisconnect");const vn=Symbol("onConnectionError");const Yn=Symbol("get dispatcher");const En=Symbol("add client");const Vn=Symbol("remove client");const Rn=Symbol("stats");class PoolBase extends tn{constructor(){super();this[An]=new nn;this[hn]=[];this[on]=0;const Wt=this;this[Nn]=function onDrain(Pt,en){const tn=Wt[An];let nn=false;while(!nn){const Pt=tn.shift();if(!Pt){break}Wt[on]--;nn=!this.dispatch(Pt.opts,Pt.handler)}this[Zn]=nn;if(!this[Zn]&&Wt[Zn]){Wt[Zn]=false;Wt.emit("drain",Pt,[Wt,...en])}if(Wt[Wn]&&tn.isEmpty()){Promise.all(Wt[hn].map((Wt=>Wt.close()))).then(Wt[Wn])}};this[gn]=(Pt,en)=>{Wt.emit("connect",Pt,[Wt,...en])};this[yn]=(Pt,en,tn)=>{Wt.emit("disconnect",Pt,[Wt,...en],tn)};this[vn]=(Pt,en,tn)=>{Wt.emit("connectionError",Pt,[Wt,...en],tn)};this[Rn]=new Gn(this)}get[cn](){return this[Zn]}get[an](){return this[hn].filter((Wt=>Wt[an])).length}get[dn](){return this[hn].filter((Wt=>Wt[an]&&!Wt[Zn])).length}get[sn](){let Wt=this[on];for(const{[sn]:Pt}of this[hn]){Wt+=Pt}return Wt}get[rn](){let Wt=0;for(const{[rn]:Pt}of this[hn]){Wt+=Pt}return Wt}get[In](){let Wt=this[on];for(const{[In]:Pt}of this[hn]){Wt+=Pt}return Wt}get stats(){return this[Rn]}async[pn](){if(this[An].isEmpty()){return Promise.all(this[hn].map((Wt=>Wt.close())))}else{return new Promise((Wt=>{this[Wn]=Wt}))}}async[mn](Wt){while(true){const Pt=this[An].shift();if(!Pt){break}Pt.handler.onError(Wt)}return Promise.all(this[hn].map((Pt=>Pt.destroy(Wt))))}[bn](Wt,Pt){const en=this[Yn]();if(!en){this[Zn]=true;this[An].push({opts:Wt,handler:Pt});this[on]++}else if(!en.dispatch(Wt,Pt)){en[Zn]=true;this[Zn]=!this[Yn]()}return!this[Zn]}[En](Wt){Wt.on("drain",this[Nn]).on("connect",this[gn]).on("disconnect",this[yn]).on("connectionError",this[vn]);this[hn].push(Wt);if(this[Zn]){process.nextTick((()=>{if(this[Zn]){this[Nn](Wt[un],[this,Wt])}}))}return this}[Vn](Wt){Wt.close((()=>{const Pt=this[hn].indexOf(Wt);if(Pt!==-1){this[hn].splice(Pt,1)}}));this[Zn]=this[hn].some((Wt=>!Wt[Zn]&&Wt.closed!==true&&Wt.destroyed!==true))}}Wt.exports={PoolBase:PoolBase,kClients:hn,kNeedDrain:Zn,kAddClient:En,kRemoveClient:Vn,kGetDispatcher:Yn}},24622:(Wt,Pt,en)=>{const{kFree:tn,kConnected:nn,kPending:an,kQueued:In,kRunning:rn,kSize:sn}=en(36443);const on=Symbol("pool");class PoolStats{constructor(Wt){this[on]=Wt}get connected(){return this[on][nn]}get free(){return this[on][tn]}get pending(){return this[on][an]}get queued(){return this[on][In]}get running(){return this[on][rn]}get size(){return this[on][sn]}}Wt.exports=PoolStats},35076:(Wt,Pt,en)=>{const{PoolBase:tn,kClients:nn,kNeedDrain:an,kAddClient:In,kGetDispatcher:rn}=en(58640);const sn=en(86197);const{InvalidArgumentError:on}=en(68707);const cn=en(3440);const{kUrl:dn,kInterceptors:un}=en(36443);const pn=en(59136);const mn=Symbol("options");const bn=Symbol("connections");const Gn=Symbol("factory");function defaultFactory(Wt,Pt){return new sn(Wt,Pt)}class Pool extends tn{constructor(Wt,{connections:Pt,factory:en=defaultFactory,connect:tn,connectTimeout:nn,tls:an,maxCachedSessions:In,socketPath:rn,autoSelectFamily:sn,autoSelectFamilyAttemptTimeout:hn,allowH2:Zn,...An}={}){super();if(Pt!=null&&(!Number.isFinite(Pt)||Pt<0)){throw new on("invalid connections")}if(typeof en!=="function"){throw new on("factory must be a function.")}if(tn!=null&&typeof tn!=="function"&&typeof tn!=="object"){throw new on("connect must be a function or an object")}if(typeof tn!=="function"){tn=pn({...an,maxCachedSessions:In,allowH2:Zn,socketPath:rn,timeout:nn,...cn.nodeHasAutoSelectFamily&&sn?{autoSelectFamily:sn,autoSelectFamilyAttemptTimeout:hn}:undefined,...tn})}this[un]=An.interceptors&&An.interceptors.Pool&&Array.isArray(An.interceptors.Pool)?An.interceptors.Pool:[];this[bn]=Pt||null;this[dn]=cn.parseOrigin(Wt);this[mn]={...cn.deepClone(An),connect:tn,allowH2:Zn};this[mn].interceptors=An.interceptors?{...An.interceptors}:undefined;this[Gn]=en}[rn](){let Wt=this[nn].find((Wt=>!Wt[an]));if(Wt){return Wt}if(!this[bn]||this[nn].length{const{kProxy:tn,kClose:nn,kDestroy:an,kInterceptors:In}=en(36443);const{URL:rn}=en(87016);const sn=en(59965);const on=en(35076);const cn=en(50001);const{InvalidArgumentError:dn,RequestAbortedError:un}=en(68707);const pn=en(59136);const mn=Symbol("proxy agent");const bn=Symbol("proxy client");const Gn=Symbol("proxy headers");const hn=Symbol("request tls settings");const Zn=Symbol("proxy tls settings");const An=Symbol("connect endpoint function");function defaultProtocolPort(Wt){return Wt==="https:"?443:80}function buildProxyOptions(Wt){if(typeof Wt==="string"){Wt={uri:Wt}}if(!Wt||!Wt.uri){throw new dn("Proxy opts.uri is mandatory")}return{uri:Wt.uri,protocol:Wt.protocol||"https"}}function defaultFactory(Wt,Pt){return new on(Wt,Pt)}class ProxyAgent extends cn{constructor(Wt){super(Wt);this[tn]=buildProxyOptions(Wt);this[mn]=new sn(Wt);this[In]=Wt.interceptors&&Wt.interceptors.ProxyAgent&&Array.isArray(Wt.interceptors.ProxyAgent)?Wt.interceptors.ProxyAgent:[];if(typeof Wt==="string"){Wt={uri:Wt}}if(!Wt||!Wt.uri){throw new dn("Proxy opts.uri is mandatory")}const{clientFactory:Pt=defaultFactory}=Wt;if(typeof Pt!=="function"){throw new dn("Proxy opts.clientFactory must be a function.")}this[hn]=Wt.requestTls;this[Zn]=Wt.proxyTls;this[Gn]=Wt.headers||{};const en=new rn(Wt.uri);const{origin:nn,port:an,host:on,username:cn,password:Wn}=en;if(Wt.auth&&Wt.token){throw new dn("opts.auth cannot be used in combination with opts.token")}else if(Wt.auth){this[Gn]["proxy-authorization"]=`Basic ${Wt.auth}`}else if(Wt.token){this[Gn]["proxy-authorization"]=Wt.token}else if(cn&&Wn){this[Gn]["proxy-authorization"]=`Basic ${Buffer.from(`${decodeURIComponent(cn)}:${decodeURIComponent(Wn)}`).toString("base64")}`}const Nn=pn({...Wt.proxyTls});this[An]=pn({...Wt.requestTls});this[bn]=Pt(en,{connect:Nn});this[mn]=new sn({...Wt,connect:async(Wt,Pt)=>{let en=Wt.host;if(!Wt.port){en+=`:${defaultProtocolPort(Wt.protocol)}`}try{const{socket:tn,statusCode:In}=await this[bn].connect({origin:nn,port:an,path:en,signal:Wt.signal,headers:{...this[Gn],host:on}});if(In!==200){tn.on("error",(()=>{})).destroy();Pt(new un(`Proxy response (${In}) !== 200 when HTTP Tunneling`))}if(Wt.protocol!=="https:"){Pt(null,tn);return}let rn;if(this[hn]){rn=this[hn].servername}else{rn=Wt.servername}this[An]({...Wt,servername:rn,httpSocket:tn},Pt)}catch(Wt){Pt(Wt)}}})}dispatch(Wt,Pt){const{host:en}=new rn(Wt.origin);const tn=buildHeaders(Wt.headers);throwIfProxyAuthIsSent(tn);return this[mn].dispatch({...Wt,headers:{...tn,host:en}},Pt)}async[nn](){await this[mn].close();await this[bn].close()}async[an](){await this[mn].destroy();await this[bn].destroy()}}function buildHeaders(Wt){if(Array.isArray(Wt)){const Pt={};for(let en=0;enWt.toLowerCase()==="proxy-authorization"));if(Pt){throw new dn("Proxy-Authorization should be sent in ProxyAgent constructor")}}Wt.exports=ProxyAgent},28804:Wt=>{let Pt=Date.now();let en;const tn=[];function onTimeout(){Pt=Date.now();let Wt=tn.length;let en=0;while(en0&&Pt>=nn.state){nn.state=-1;nn.callback(nn.opaque)}if(nn.state===-1){nn.state=-2;if(en!==Wt-1){tn[en]=tn.pop()}else{tn.pop()}Wt-=1}else{en+=1}}if(tn.length>0){refreshTimeout()}}function refreshTimeout(){if(en&&en.refresh){en.refresh()}else{clearTimeout(en);en=setTimeout(onTimeout,1e3);if(en.unref){en.unref()}}}class Timeout{constructor(Wt,Pt,en){this.callback=Wt;this.delay=Pt;this.opaque=en;this.state=-2;this.refresh()}refresh(){if(this.state===-2){tn.push(this);if(!en||tn.length===1){refreshTimeout()}}this.state=0}clear(){this.state=-1}}Wt.exports={setTimeout(Wt,Pt,en){return Pt<1e3?setTimeout(Wt,Pt,en):new Timeout(Wt,Pt,en)},clearTimeout(Wt){if(Wt instanceof Timeout){Wt.clear()}else{clearTimeout(Wt)}}}},68550:(Wt,Pt,en)=>{const tn=en(31637);const{uid:nn,states:an}=en(45913);const{kReadyState:In,kSentClose:rn,kByteParser:sn,kReceivedClose:on}=en(62933);const{fireEvent:cn,failWebsocketConnection:dn}=en(3574);const{CloseEvent:un}=en(46255);const{makeRequest:pn}=en(25194);const{fetching:mn}=en(12315);const{Headers:bn}=en(26349);const{getGlobalDispatcher:Gn}=en(32581);const{kHeadersList:hn}=en(36443);const Zn={};Zn.open=tn.channel("undici:websocket:open");Zn.close=tn.channel("undici:websocket:close");Zn.socketError=tn.channel("undici:websocket:socket_error");let An;try{An=en(76982)}catch{}function establishWebSocketConnection(Wt,Pt,en,tn,an){const In=Wt;In.protocol=Wt.protocol==="ws:"?"http:":"https:";const rn=pn({urlList:[In],serviceWorkers:"none",referrer:"no-referrer",mode:"websocket",credentials:"include",cache:"no-store",redirect:"error"});if(an.headers){const Wt=new bn(an.headers)[hn];rn.headersList=Wt}const sn=An.randomBytes(16).toString("base64");rn.headersList.append("sec-websocket-key",sn);rn.headersList.append("sec-websocket-version","13");for(const Wt of Pt){rn.headersList.append("sec-websocket-protocol",Wt)}const on="";const cn=mn({request:rn,useParallelQueue:true,dispatcher:an.dispatcher??Gn(),processResponse(Wt){if(Wt.type==="error"||Wt.status!==101){dn(en,"Received network error or non-101 status code.");return}if(Pt.length!==0&&!Wt.headersList.get("Sec-WebSocket-Protocol")){dn(en,"Server did not respond with sent protocols.");return}if(Wt.headersList.get("Upgrade")?.toLowerCase()!=="websocket"){dn(en,'Server did not set Upgrade header to "websocket".');return}if(Wt.headersList.get("Connection")?.toLowerCase()!=="upgrade"){dn(en,'Server did not set Connection header to "upgrade".');return}const an=Wt.headersList.get("Sec-WebSocket-Accept");const In=An.createHash("sha1").update(sn+nn).digest("base64");if(an!==In){dn(en,"Incorrect hash received in Sec-WebSocket-Accept header.");return}const cn=Wt.headersList.get("Sec-WebSocket-Extensions");if(cn!==null&&cn!==on){dn(en,"Received different permessage-deflate than the one set.");return}const un=Wt.headersList.get("Sec-WebSocket-Protocol");if(un!==null&&un!==rn.headersList.get("Sec-WebSocket-Protocol")){dn(en,"Protocol was not set in the opening handshake.");return}Wt.socket.on("data",onSocketData);Wt.socket.on("close",onSocketClose);Wt.socket.on("error",onSocketError);if(Zn.open.hasSubscribers){Zn.open.publish({address:Wt.socket.address(),protocol:un,extensions:cn})}tn(Wt)}});return cn}function onSocketData(Wt){if(!this.ws[sn].write(Wt)){this.pause()}}function onSocketClose(){const{ws:Wt}=this;const Pt=Wt[rn]&&Wt[on];let en=1005;let tn="";const nn=Wt[sn].closingInfo;if(nn){en=nn.code??1005;tn=nn.reason}else if(!Wt[rn]){en=1006}Wt[In]=an.CLOSED;cn("close",Wt,un,{wasClean:Pt,code:en,reason:tn});if(Zn.close.hasSubscribers){Zn.close.publish({websocket:Wt,code:en,reason:tn})}}function onSocketError(Wt){const{ws:Pt}=this;Pt[In]=an.CLOSING;if(Zn.socketError.hasSubscribers){Zn.socketError.publish(Wt)}this.destroy()}Wt.exports={establishWebSocketConnection:establishWebSocketConnection}},45913:Wt=>{const Pt="258EAFA5-E914-47DA-95CA-C5AB0DC85B11";const en={enumerable:true,writable:false,configurable:false};const tn={CONNECTING:0,OPEN:1,CLOSING:2,CLOSED:3};const nn={CONTINUATION:0,TEXT:1,BINARY:2,CLOSE:8,PING:9,PONG:10};const an=2**16-1;const In={INFO:0,PAYLOADLENGTH_16:2,PAYLOADLENGTH_64:3,READ_DATA:4};const rn=Buffer.allocUnsafe(0);Wt.exports={uid:Pt,staticPropertyDescriptors:en,states:tn,opcodes:nn,maxUnsigned16Bit:an,parserStates:In,emptyBuffer:rn}},46255:(Wt,Pt,en)=>{const{webidl:tn}=en(74222);const{kEnumerableProperty:nn}=en(3440);const{MessagePort:an}=en(28167);class MessageEvent extends Event{#I;constructor(Wt,Pt={}){tn.argumentLengthCheck(arguments,1,{header:"MessageEvent constructor"});Wt=tn.converters.DOMString(Wt);Pt=tn.converters.MessageEventInit(Pt);super(Wt,Pt);this.#I=Pt}get data(){tn.brandCheck(this,MessageEvent);return this.#I.data}get origin(){tn.brandCheck(this,MessageEvent);return this.#I.origin}get lastEventId(){tn.brandCheck(this,MessageEvent);return this.#I.lastEventId}get source(){tn.brandCheck(this,MessageEvent);return this.#I.source}get ports(){tn.brandCheck(this,MessageEvent);if(!Object.isFrozen(this.#I.ports)){Object.freeze(this.#I.ports)}return this.#I.ports}initMessageEvent(Wt,Pt=false,en=false,nn=null,an="",In="",rn=null,sn=[]){tn.brandCheck(this,MessageEvent);tn.argumentLengthCheck(arguments,1,{header:"MessageEvent.initMessageEvent"});return new MessageEvent(Wt,{bubbles:Pt,cancelable:en,data:nn,origin:an,lastEventId:In,source:rn,ports:sn})}}class CloseEvent extends Event{#I;constructor(Wt,Pt={}){tn.argumentLengthCheck(arguments,1,{header:"CloseEvent constructor"});Wt=tn.converters.DOMString(Wt);Pt=tn.converters.CloseEventInit(Pt);super(Wt,Pt);this.#I=Pt}get wasClean(){tn.brandCheck(this,CloseEvent);return this.#I.wasClean}get code(){tn.brandCheck(this,CloseEvent);return this.#I.code}get reason(){tn.brandCheck(this,CloseEvent);return this.#I.reason}}class ErrorEvent extends Event{#I;constructor(Wt,Pt){tn.argumentLengthCheck(arguments,1,{header:"ErrorEvent constructor"});super(Wt,Pt);Wt=tn.converters.DOMString(Wt);Pt=tn.converters.ErrorEventInit(Pt??{});this.#I=Pt}get message(){tn.brandCheck(this,ErrorEvent);return this.#I.message}get filename(){tn.brandCheck(this,ErrorEvent);return this.#I.filename}get lineno(){tn.brandCheck(this,ErrorEvent);return this.#I.lineno}get colno(){tn.brandCheck(this,ErrorEvent);return this.#I.colno}get error(){tn.brandCheck(this,ErrorEvent);return this.#I.error}}Object.defineProperties(MessageEvent.prototype,{[Symbol.toStringTag]:{value:"MessageEvent",configurable:true},data:nn,origin:nn,lastEventId:nn,source:nn,ports:nn,initMessageEvent:nn});Object.defineProperties(CloseEvent.prototype,{[Symbol.toStringTag]:{value:"CloseEvent",configurable:true},reason:nn,code:nn,wasClean:nn});Object.defineProperties(ErrorEvent.prototype,{[Symbol.toStringTag]:{value:"ErrorEvent",configurable:true},message:nn,filename:nn,lineno:nn,colno:nn,error:nn});tn.converters.MessagePort=tn.interfaceConverter(an);tn.converters["sequence"]=tn.sequenceConverter(tn.converters.MessagePort);const In=[{key:"bubbles",converter:tn.converters.boolean,defaultValue:false},{key:"cancelable",converter:tn.converters.boolean,defaultValue:false},{key:"composed",converter:tn.converters.boolean,defaultValue:false}];tn.converters.MessageEventInit=tn.dictionaryConverter([...In,{key:"data",converter:tn.converters.any,defaultValue:null},{key:"origin",converter:tn.converters.USVString,defaultValue:""},{key:"lastEventId",converter:tn.converters.DOMString,defaultValue:""},{key:"source",converter:tn.nullableConverter(tn.converters.MessagePort),defaultValue:null},{key:"ports",converter:tn.converters["sequence"],get defaultValue(){return[]}}]);tn.converters.CloseEventInit=tn.dictionaryConverter([...In,{key:"wasClean",converter:tn.converters.boolean,defaultValue:false},{key:"code",converter:tn.converters["unsigned short"],defaultValue:0},{key:"reason",converter:tn.converters.USVString,defaultValue:""}]);tn.converters.ErrorEventInit=tn.dictionaryConverter([...In,{key:"message",converter:tn.converters.DOMString,defaultValue:""},{key:"filename",converter:tn.converters.USVString,defaultValue:""},{key:"lineno",converter:tn.converters["unsigned long"],defaultValue:0},{key:"colno",converter:tn.converters["unsigned long"],defaultValue:0},{key:"error",converter:tn.converters.any}]);Wt.exports={MessageEvent:MessageEvent,CloseEvent:CloseEvent,ErrorEvent:ErrorEvent}},31237:(Wt,Pt,en)=>{const{maxUnsigned16Bit:tn}=en(45913);let nn;try{nn=en(76982)}catch{}class WebsocketFrameSend{constructor(Wt){this.frameData=Wt;this.maskKey=nn.randomBytes(4)}createFrame(Wt){const Pt=this.frameData?.byteLength??0;let en=Pt;let nn=6;if(Pt>tn){nn+=8;en=127}else if(Pt>125){nn+=2;en=126}const an=Buffer.allocUnsafe(Pt+nn);an[0]=an[1]=0;an[0]|=128;an[0]=(an[0]&240)+Wt; +/*! ws. MIT License. Einar Otto Stangvik */an[nn-4]=this.maskKey[0];an[nn-3]=this.maskKey[1];an[nn-2]=this.maskKey[2];an[nn-1]=this.maskKey[3];an[1]=en;if(en===126){an.writeUInt16BE(Pt,2)}else if(en===127){an[2]=an[3]=0;an.writeUIntBE(Pt,4,6)}an[1]|=128;for(let Wt=0;Wt{const{Writable:tn}=en(2203);const nn=en(31637);const{parserStates:an,opcodes:In,states:rn,emptyBuffer:sn}=en(45913);const{kReadyState:on,kSentClose:cn,kResponse:dn,kReceivedClose:un}=en(62933);const{isValidStatusCode:pn,failWebsocketConnection:mn,websocketMessageReceived:bn}=en(3574);const{WebsocketFrameSend:Gn}=en(31237);const hn={};hn.ping=nn.channel("undici:websocket:ping");hn.pong=nn.channel("undici:websocket:pong");class ByteParser extends tn{#r=[];#s=0;#o=an.INFO;#c={};#i=[];constructor(Wt){super();this.ws=Wt}_write(Wt,Pt,en){this.#r.push(Wt);this.#s+=Wt.length;this.run(en)}run(Wt){while(true){if(this.#o===an.INFO){if(this.#s<2){return Wt()}const Pt=this.consume(2);this.#c.fin=(Pt[0]&128)!==0;this.#c.opcode=Pt[0]&15;this.#c.originalOpcode??=this.#c.opcode;this.#c.fragmented=!this.#c.fin&&this.#c.opcode!==In.CONTINUATION;if(this.#c.fragmented&&this.#c.opcode!==In.BINARY&&this.#c.opcode!==In.TEXT){mn(this.ws,"Invalid frame type was fragmented.");return}const en=Pt[1]&127;if(en<=125){this.#c.payloadLength=en;this.#o=an.READ_DATA}else if(en===126){this.#o=an.PAYLOADLENGTH_16}else if(en===127){this.#o=an.PAYLOADLENGTH_64}if(this.#c.fragmented&&en>125){mn(this.ws,"Fragmented frame exceeded 125 bytes.");return}else if((this.#c.opcode===In.PING||this.#c.opcode===In.PONG||this.#c.opcode===In.CLOSE)&&en>125){mn(this.ws,"Payload length for control frame exceeded 125 bytes.");return}else if(this.#c.opcode===In.CLOSE){if(en===1){mn(this.ws,"Received close frame with a 1-byte body.");return}const Wt=this.consume(en);this.#c.closeInfo=this.parseCloseBody(false,Wt);if(!this.ws[cn]){const Wt=Buffer.allocUnsafe(2);Wt.writeUInt16BE(this.#c.closeInfo.code,0);const Pt=new Gn(Wt);this.ws[dn].socket.write(Pt.createFrame(In.CLOSE),(Wt=>{if(!Wt){this.ws[cn]=true}}))}this.ws[on]=rn.CLOSING;this.ws[un]=true;this.end();return}else if(this.#c.opcode===In.PING){const Pt=this.consume(en);if(!this.ws[un]){const Wt=new Gn(Pt);this.ws[dn].socket.write(Wt.createFrame(In.PONG));if(hn.ping.hasSubscribers){hn.ping.publish({payload:Pt})}}this.#o=an.INFO;if(this.#s>0){continue}else{Wt();return}}else if(this.#c.opcode===In.PONG){const Pt=this.consume(en);if(hn.pong.hasSubscribers){hn.pong.publish({payload:Pt})}if(this.#s>0){continue}else{Wt();return}}}else if(this.#o===an.PAYLOADLENGTH_16){if(this.#s<2){return Wt()}const Pt=this.consume(2);this.#c.payloadLength=Pt.readUInt16BE(0);this.#o=an.READ_DATA}else if(this.#o===an.PAYLOADLENGTH_64){if(this.#s<8){return Wt()}const Pt=this.consume(8);const en=Pt.readUInt32BE(0);if(en>2**31-1){mn(this.ws,"Received payload length > 2^31 bytes.");return}const tn=Pt.readUInt32BE(4);this.#c.payloadLength=(en<<8)+tn;this.#o=an.READ_DATA}else if(this.#o===an.READ_DATA){if(this.#s=this.#c.payloadLength){const Wt=this.consume(this.#c.payloadLength);this.#i.push(Wt);if(!this.#c.fragmented||this.#c.fin&&this.#c.opcode===In.CONTINUATION){const Wt=Buffer.concat(this.#i);bn(this.ws,this.#c.originalOpcode,Wt);this.#c={};this.#i.length=0}this.#o=an.INFO}}if(this.#s>0){continue}else{Wt();break}}}consume(Wt){if(Wt>this.#s){return null}else if(Wt===0){return sn}if(this.#r[0].length===Wt){this.#s-=this.#r[0].length;return this.#r.shift()}const Pt=Buffer.allocUnsafe(Wt);let en=0;while(en!==Wt){const tn=this.#r[0];const{length:nn}=tn;if(nn+en===Wt){Pt.set(this.#r.shift(),en);break}else if(nn+en>Wt){Pt.set(tn.subarray(0,Wt-en),en);this.#r[0]=tn.subarray(Wt-en);break}else{Pt.set(this.#r.shift(),en);en+=tn.length}}this.#s-=Wt;return Pt}parseCloseBody(Wt,Pt){let en;if(Pt.length>=2){en=Pt.readUInt16BE(0)}if(Wt){if(!pn(en)){return null}return{code:en}}let tn=Pt.subarray(2);if(tn[0]===239&&tn[1]===187&&tn[2]===191){tn=tn.subarray(3)}if(en!==undefined&&!pn(en)){return null}try{tn=new TextDecoder("utf-8",{fatal:true}).decode(tn)}catch{return null}return{code:en,reason:tn}}get closingInfo(){return this.#c.closeInfo}}Wt.exports={ByteParser:ByteParser}},62933:Wt=>{Wt.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")}},3574:(Wt,Pt,en)=>{const{kReadyState:tn,kController:nn,kResponse:an,kBinaryType:In,kWebSocketURL:rn}=en(62933);const{states:sn,opcodes:on}=en(45913);const{MessageEvent:cn,ErrorEvent:dn}=en(46255);function isEstablished(Wt){return Wt[tn]===sn.OPEN}function isClosing(Wt){return Wt[tn]===sn.CLOSING}function isClosed(Wt){return Wt[tn]===sn.CLOSED}function fireEvent(Wt,Pt,en=Event,tn){const nn=new en(Wt,tn);Pt.dispatchEvent(nn)}function websocketMessageReceived(Wt,Pt,en){if(Wt[tn]!==sn.OPEN){return}let nn;if(Pt===on.TEXT){try{nn=new TextDecoder("utf-8",{fatal:true}).decode(en)}catch{failWebsocketConnection(Wt,"Received invalid UTF-8 in text frame.");return}}else if(Pt===on.BINARY){if(Wt[In]==="blob"){nn=new Blob([en])}else{nn=new Uint8Array(en).buffer}}fireEvent("message",Wt,cn,{origin:Wt[rn].origin,data:nn})}function isValidSubprotocol(Wt){if(Wt.length===0){return false}for(const Pt of Wt){const Wt=Pt.charCodeAt(0);if(Wt<33||Wt>126||Pt==="("||Pt===")"||Pt==="<"||Pt===">"||Pt==="@"||Pt===","||Pt===";"||Pt===":"||Pt==="\\"||Pt==='"'||Pt==="/"||Pt==="["||Pt==="]"||Pt==="?"||Pt==="="||Pt==="{"||Pt==="}"||Wt===32||Wt===9){return false}}return true}function isValidStatusCode(Wt){if(Wt>=1e3&&Wt<1015){return Wt!==1004&&Wt!==1005&&Wt!==1006}return Wt>=3e3&&Wt<=4999}function failWebsocketConnection(Wt,Pt){const{[nn]:en,[an]:tn}=Wt;en.abort();if(tn?.socket&&!tn.socket.destroyed){tn.socket.destroy()}if(Pt){fireEvent("error",Wt,dn,{error:new Error(Pt)})}}Wt.exports={isEstablished:isEstablished,isClosing:isClosing,isClosed:isClosed,fireEvent:fireEvent,isValidSubprotocol:isValidSubprotocol,isValidStatusCode:isValidStatusCode,failWebsocketConnection:failWebsocketConnection,websocketMessageReceived:websocketMessageReceived}},55171:(Wt,Pt,en)=>{const{webidl:tn}=en(74222);const{DOMException:nn}=en(87326);const{URLSerializer:an}=en(94322);const{getGlobalOrigin:In}=en(75628);const{staticPropertyDescriptors:rn,states:sn,opcodes:on,emptyBuffer:cn}=en(45913);const{kWebSocketURL:dn,kReadyState:un,kController:pn,kBinaryType:mn,kResponse:bn,kSentClose:Gn,kByteParser:hn}=en(62933);const{isEstablished:Zn,isClosing:An,isValidSubprotocol:Wn,failWebsocketConnection:Nn,fireEvent:gn}=en(3574);const{establishWebSocketConnection:yn}=en(68550);const{WebsocketFrameSend:vn}=en(31237);const{ByteParser:Yn}=en(43171);const{kEnumerableProperty:En,isBlobLike:Vn}=en(3440);const{getGlobalDispatcher:Rn}=en(32581);const{types:wn}=en(39023);let Fn=false;class WebSocket extends EventTarget{#d={open:null,error:null,close:null,message:null};#u=0;#p="";#m="";constructor(Wt,Pt=[]){super();tn.argumentLengthCheck(arguments,1,{header:"WebSocket constructor"});if(!Fn){Fn=true;process.emitWarning("WebSockets are experimental, expect them to change at any time.",{code:"UNDICI-WS"})}const en=tn.converters["DOMString or sequence or WebSocketInit"](Pt);Wt=tn.converters.USVString(Wt);Pt=en.protocols;const an=In();let rn;try{rn=new URL(Wt,an)}catch(Wt){throw new nn(Wt,"SyntaxError")}if(rn.protocol==="http:"){rn.protocol="ws:"}else if(rn.protocol==="https:"){rn.protocol="wss:"}if(rn.protocol!=="ws:"&&rn.protocol!=="wss:"){throw new nn(`Expected a ws: or wss: protocol, got ${rn.protocol}`,"SyntaxError")}if(rn.hash||rn.href.endsWith("#")){throw new nn("Got fragment","SyntaxError")}if(typeof Pt==="string"){Pt=[Pt]}if(Pt.length!==new Set(Pt.map((Wt=>Wt.toLowerCase()))).size){throw new nn("Invalid Sec-WebSocket-Protocol value","SyntaxError")}if(Pt.length>0&&!Pt.every((Wt=>Wn(Wt)))){throw new nn("Invalid Sec-WebSocket-Protocol value","SyntaxError")}this[dn]=new URL(rn.href);this[pn]=yn(rn,Pt,this,(Wt=>this.#b(Wt)),en);this[un]=WebSocket.CONNECTING;this[mn]="blob"}close(Wt=undefined,Pt=undefined){tn.brandCheck(this,WebSocket);if(Wt!==undefined){Wt=tn.converters["unsigned short"](Wt,{clamp:true})}if(Pt!==undefined){Pt=tn.converters.USVString(Pt)}if(Wt!==undefined){if(Wt!==1e3&&(Wt<3e3||Wt>4999)){throw new nn("invalid code","InvalidAccessError")}}let en=0;if(Pt!==undefined){en=Buffer.byteLength(Pt);if(en>123){throw new nn(`Reason must be less than 123 bytes; received ${en}`,"SyntaxError")}}if(this[un]===WebSocket.CLOSING||this[un]===WebSocket.CLOSED){}else if(!Zn(this)){Nn(this,"Connection was closed before it was established.");this[un]=WebSocket.CLOSING}else if(!An(this)){const tn=new vn;if(Wt!==undefined&&Pt===undefined){tn.frameData=Buffer.allocUnsafe(2);tn.frameData.writeUInt16BE(Wt,0)}else if(Wt!==undefined&&Pt!==undefined){tn.frameData=Buffer.allocUnsafe(2+en);tn.frameData.writeUInt16BE(Wt,0);tn.frameData.write(Pt,2,"utf-8")}else{tn.frameData=cn}const nn=this[bn].socket;nn.write(tn.createFrame(on.CLOSE),(Wt=>{if(!Wt){this[Gn]=true}}));this[un]=sn.CLOSING}else{this[un]=WebSocket.CLOSING}}send(Wt){tn.brandCheck(this,WebSocket);tn.argumentLengthCheck(arguments,1,{header:"WebSocket.send"});Wt=tn.converters.WebSocketSendData(Wt);if(this[un]===WebSocket.CONNECTING){throw new nn("Sent before connected.","InvalidStateError")}if(!Zn(this)||An(this)){return}const Pt=this[bn].socket;if(typeof Wt==="string"){const en=Buffer.from(Wt);const tn=new vn(en);const nn=tn.createFrame(on.TEXT);this.#u+=en.byteLength;Pt.write(nn,(()=>{this.#u-=en.byteLength}))}else if(wn.isArrayBuffer(Wt)){const en=Buffer.from(Wt);const tn=new vn(en);const nn=tn.createFrame(on.BINARY);this.#u+=en.byteLength;Pt.write(nn,(()=>{this.#u-=en.byteLength}))}else if(ArrayBuffer.isView(Wt)){const en=Buffer.from(Wt,Wt.byteOffset,Wt.byteLength);const tn=new vn(en);const nn=tn.createFrame(on.BINARY);this.#u+=en.byteLength;Pt.write(nn,(()=>{this.#u-=en.byteLength}))}else if(Vn(Wt)){const en=new vn;Wt.arrayBuffer().then((Wt=>{const tn=Buffer.from(Wt);en.frameData=tn;const nn=en.createFrame(on.BINARY);this.#u+=tn.byteLength;Pt.write(nn,(()=>{this.#u-=tn.byteLength}))}))}}get readyState(){tn.brandCheck(this,WebSocket);return this[un]}get bufferedAmount(){tn.brandCheck(this,WebSocket);return this.#u}get url(){tn.brandCheck(this,WebSocket);return an(this[dn])}get extensions(){tn.brandCheck(this,WebSocket);return this.#m}get protocol(){tn.brandCheck(this,WebSocket);return this.#p}get onopen(){tn.brandCheck(this,WebSocket);return this.#d.open}set onopen(Wt){tn.brandCheck(this,WebSocket);if(this.#d.open){this.removeEventListener("open",this.#d.open)}if(typeof Wt==="function"){this.#d.open=Wt;this.addEventListener("open",Wt)}else{this.#d.open=null}}get onerror(){tn.brandCheck(this,WebSocket);return this.#d.error}set onerror(Wt){tn.brandCheck(this,WebSocket);if(this.#d.error){this.removeEventListener("error",this.#d.error)}if(typeof Wt==="function"){this.#d.error=Wt;this.addEventListener("error",Wt)}else{this.#d.error=null}}get onclose(){tn.brandCheck(this,WebSocket);return this.#d.close}set onclose(Wt){tn.brandCheck(this,WebSocket);if(this.#d.close){this.removeEventListener("close",this.#d.close)}if(typeof Wt==="function"){this.#d.close=Wt;this.addEventListener("close",Wt)}else{this.#d.close=null}}get onmessage(){tn.brandCheck(this,WebSocket);return this.#d.message}set onmessage(Wt){tn.brandCheck(this,WebSocket);if(this.#d.message){this.removeEventListener("message",this.#d.message)}if(typeof Wt==="function"){this.#d.message=Wt;this.addEventListener("message",Wt)}else{this.#d.message=null}}get binaryType(){tn.brandCheck(this,WebSocket);return this[mn]}set binaryType(Wt){tn.brandCheck(this,WebSocket);if(Wt!=="blob"&&Wt!=="arraybuffer"){this[mn]="blob"}else{this[mn]=Wt}}#b(Wt){this[bn]=Wt;const Pt=new Yn(this);Pt.on("drain",(function onParserDrain(){this.ws[bn].socket.resume()}));Wt.socket.ws=this;this[hn]=Pt;this[un]=sn.OPEN;const en=Wt.headersList.get("sec-websocket-extensions");if(en!==null){this.#m=en}const tn=Wt.headersList.get("sec-websocket-protocol");if(tn!==null){this.#p=tn}gn("open",this)}}WebSocket.CONNECTING=WebSocket.prototype.CONNECTING=sn.CONNECTING;WebSocket.OPEN=WebSocket.prototype.OPEN=sn.OPEN;WebSocket.CLOSING=WebSocket.prototype.CLOSING=sn.CLOSING;WebSocket.CLOSED=WebSocket.prototype.CLOSED=sn.CLOSED;Object.defineProperties(WebSocket.prototype,{CONNECTING:rn,OPEN:rn,CLOSING:rn,CLOSED:rn,url:En,readyState:En,bufferedAmount:En,onopen:En,onerror:En,onclose:En,close:En,onmessage:En,binaryType:En,send:En,extensions:En,protocol:En,[Symbol.toStringTag]:{value:"WebSocket",writable:false,enumerable:false,configurable:true}});Object.defineProperties(WebSocket,{CONNECTING:rn,OPEN:rn,CLOSING:rn,CLOSED:rn});tn.converters["sequence"]=tn.sequenceConverter(tn.converters.DOMString);tn.converters["DOMString or sequence"]=function(Wt){if(tn.util.Type(Wt)==="Object"&&Symbol.iterator in Wt){return tn.converters["sequence"](Wt)}return tn.converters.DOMString(Wt)};tn.converters.WebSocketInit=tn.dictionaryConverter([{key:"protocols",converter:tn.converters["DOMString or sequence"],get defaultValue(){return[]}},{key:"dispatcher",converter:Wt=>Wt,get defaultValue(){return Rn()}},{key:"headers",converter:tn.nullableConverter(tn.converters.HeadersInit)}]);tn.converters["DOMString or sequence or WebSocketInit"]=function(Wt){if(tn.util.Type(Wt)==="Object"&&!(Symbol.iterator in Wt)){return tn.converters.WebSocketInit(Wt)}return{protocols:tn.converters["DOMString or sequence"](Wt)}};tn.converters.WebSocketSendData=function(Wt){if(tn.util.Type(Wt)==="Object"){if(Vn(Wt)){return tn.converters.Blob(Wt,{strict:false})}if(ArrayBuffer.isView(Wt)||wn.isAnyArrayBuffer(Wt)){return tn.converters.BufferSource(Wt)}}return tn.converters.USVString(Wt)};Wt.exports={WebSocket:WebSocket}},33843:(Wt,Pt)=>{Object.defineProperty(Pt,"__esModule",{value:true});function getUserAgent(){if(typeof navigator==="object"&&"userAgent"in navigator){return navigator.userAgent}if(typeof process==="object"&&process.version!==undefined){return`Node.js/${process.version.substr(1)} (${process.platform}; ${process.arch})`}return""}Pt.getUserAgent=getUserAgent},95077:(Wt,Pt)=>{Pt.fromCallback=function(Wt){return Object.defineProperty((function(){if(typeof arguments[arguments.length-1]==="function")Wt.apply(this,arguments);else{return new Promise(((Pt,en)=>{arguments[arguments.length]=(Wt,tn)=>{if(Wt)return en(Wt);Pt(tn)};arguments.length++;Wt.apply(this,arguments)}))}}),"name",{value:Wt.name})};Pt.fromPromise=function(Wt){return Object.defineProperty((function(){const Pt=arguments[arguments.length-1];if(typeof Pt!=="function")return Wt.apply(this,arguments);else{delete arguments[arguments.length-1];arguments.length--;Wt.apply(this,arguments).then((Wt=>Pt(null,Wt)),Pt)}}),"name",{value:Wt.name})}},97291:(Wt,Pt,en)=>{var tn=en(76120),nn=en(50617),an=/^[\x00-\x20\u00a0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]+/,In=/[\n\r\t]/g,rn=/^[A-Za-z][A-Za-z0-9+-.]*:\/\//,sn=/:\d+$/,on=/^([a-z][a-z0-9.+-]*:)?(\/\/)?([\\/]+)?([\S\s]*)/i,cn=/^[a-zA-Z]:/;function trimLeft(Wt){return(Wt?Wt:"").toString().replace(an,"")}var dn=[["#","hash"],["?","query"],function sanitize(Wt,Pt){return isSpecial(Pt.protocol)?Wt.replace(/\\/g,"/"):Wt},["/","pathname"],["@","auth",1],[NaN,"host",undefined,1,1],[/:(\d*)$/,"port",undefined,1],[NaN,"hostname",undefined,1,1]];var un={hash:1,query:1};function lolcation(Wt){var Pt;if(typeof window!=="undefined")Pt=window;else if(typeof global!=="undefined")Pt=global;else if(typeof self!=="undefined")Pt=self;else Pt={};var en=Pt.location||{};Wt=Wt||en;var tn={},nn=typeof Wt,an;if("blob:"===Wt.protocol){tn=new Url(unescape(Wt.pathname),{})}else if("string"===nn){tn=new Url(Wt,{});for(an in un)delete tn[an]}else if("object"===nn){for(an in Wt){if(an in un)continue;tn[an]=Wt[an]}if(tn.slashes===undefined){tn.slashes=rn.test(Wt.href)}}return tn}function isSpecial(Wt){return Wt==="file:"||Wt==="ftp:"||Wt==="http:"||Wt==="https:"||Wt==="ws:"||Wt==="wss:"}function extractProtocol(Wt,Pt){Wt=trimLeft(Wt);Wt=Wt.replace(In,"");Pt=Pt||{};var en=on.exec(Wt);var tn=en[1]?en[1].toLowerCase():"";var nn=!!en[2];var an=!!en[3];var rn=0;var sn;if(nn){if(an){sn=en[2]+en[3]+en[4];rn=en[2].length+en[3].length}else{sn=en[2]+en[4];rn=en[2].length}}else{if(an){sn=en[3]+en[4];rn=en[3].length}else{sn=en[4]}}if(tn==="file:"){if(rn>=2){sn=sn.slice(2)}}else if(isSpecial(tn)){sn=en[4]}else if(tn){if(nn){sn=sn.slice(2)}}else if(rn>=2&&isSpecial(Pt.protocol)){sn=en[4]}return{protocol:tn,slashes:nn||isSpecial(tn),slashesCount:rn,rest:sn}}function resolve(Wt,Pt){if(Wt==="")return Pt;var en=(Pt||"/").split("/").slice(0,-1).concat(Wt.split("/")),tn=en.length,nn=en[tn-1],an=false,In=0;while(tn--){if(en[tn]==="."){en.splice(tn,1)}else if(en[tn]===".."){en.splice(tn,1);In++}else if(In){if(tn===0)an=true;en.splice(tn,1);In--}}if(an)en.unshift("");if(nn==="."||nn==="..")en.push("");return en.join("/")}function Url(Wt,Pt,en){Wt=trimLeft(Wt);Wt=Wt.replace(In,"");if(!(this instanceof Url)){return new Url(Wt,Pt,en)}var an,rn,sn,on,un,pn,mn=dn.slice(),bn=typeof Pt,Gn=this,hn=0;if("object"!==bn&&"string"!==bn){en=Pt;Pt=null}if(en&&"function"!==typeof en)en=nn.parse;Pt=lolcation(Pt);rn=extractProtocol(Wt||"",Pt);an=!rn.protocol&&!rn.slashes;Gn.slashes=rn.slashes||an&&Pt.slashes;Gn.protocol=rn.protocol||Pt.protocol||"";Wt=rn.rest;if(rn.protocol==="file:"&&(rn.slashesCount!==2||cn.test(Wt))||!rn.slashes&&(rn.protocol||rn.slashesCount<2||!isSpecial(Gn.protocol))){mn[3]=[/(.*)/,"pathname"]}for(;hn{const tn=en(87878);const{NAMESPACES:nn}=en(10142);function generatePrefix(Wt,Pt,en){const tn=`ns${en}`;Wt[Pt]=[tn];return tn}function preferredPrefixString(Wt,Pt,en){const tn=Wt[Pt];if(!tn){return null}if(tn.includes(en)){return en}return tn[tn.length-1]}function serializeAttributeValue(Wt){if(Wt===null){return""}return Wt.replace(/&/gu,"&").replace(/"/gu,""").replace(//gu,">").replace(/\t/gu," ").replace(/\n/gu," ").replace(/\r/gu," ")}function serializeAttributes(Wt,Pt,en,an,In,rn){let sn="";const on=Object.create(null);for(const cn of Wt.attributes){if(In&&on[cn.namespaceURI]&&on[cn.namespaceURI].has(cn.localName)){throw new Error("Found duplicated attribute")}if(!on[cn.namespaceURI]){on[cn.namespaceURI]=new Set}on[cn.namespaceURI].add(cn.localName);const Wt=cn.namespaceURI;let dn=null;if(Wt!==null){dn=preferredPrefixString(Pt,Wt,cn.prefix);if(Wt===nn.XMLNS){if(cn.value===nn.XML||cn.prefix===null&&an||cn.prefix!==null&&en[cn.localName]!==cn.value&&Pt[cn.value].includes(cn.localName)){continue}if(In&&cn.value===nn.XMLNS){throw new Error("The XMLNS namespace is reserved and cannot be applied as an element's namespace via XML parsing")}if(In&&cn.value===""){throw new Error("Namespace prefix declarations cannot be used to undeclare a namespace")}if(cn.prefix==="xmlns"){dn="xmlns"}}else if(dn===null){dn=generatePrefix(Pt,Wt,rn.prefixIndex++);sn+=` xmlns:${dn}="${serializeAttributeValue(Wt,In)}"`}}sn+=" ";if(dn!==null){sn+=`${dn}:`}if(In&&(cn.localName.includes(":")||!tn.name(cn.localName)||cn.localName==="xmlns"&&Wt===null)){throw new Error("Invalid attribute localName value")}sn+=`${cn.localName}="${serializeAttributeValue(cn.value,In)}"`}return sn}Wt.exports.preferredPrefixString=preferredPrefixString;Wt.exports.generatePrefix=generatePrefix;Wt.exports.serializeAttributeValue=serializeAttributeValue;Wt.exports.serializeAttributes=serializeAttributes},10142:Wt=>{Wt.exports.NAMESPACES={HTML:"http://www.w3.org/1999/xhtml",XML:"http://www.w3.org/XML/1998/namespace",XMLNS:"http://www.w3.org/2000/xmlns/"};Wt.exports.NODE_TYPES={ELEMENT_NODE:1,ATTRIBUTE_NODE:2,TEXT_NODE:3,CDATA_SECTION_NODE:4,ENTITY_REFERENCE_NODE:5,ENTITY_NODE:6,PROCESSING_INSTRUCTION_NODE:7,COMMENT_NODE:8,DOCUMENT_NODE:9,DOCUMENT_TYPE_NODE:10,DOCUMENT_FRAGMENT_NODE:11,NOTATION_NODE:12};Wt.exports.VOID_ELEMENTS=new Set(["area","base","basefont","bgsound","br","col","embed","frame","hr","img","input","keygen","link","menuitem","meta","param","source","track","wbr"])},3481:(Wt,Pt,en)=>{const tn=en(87878);const nn=en(75394);const{NAMESPACES:an,VOID_ELEMENTS:In,NODE_TYPES:rn}=en(10142);const sn=/^(\x09|\x0A|\x0D|[\x20-\uD7FF]|[\uE000-\uFFFD]|[\u{10000}-\u{10FFFF}])*$/u;const on=/^(\x20|\x0D|\x0A|[a-zA-Z0-9]|[-'()+,./:=?;!*#@$_%])*$/u;function asciiCaseInsensitiveMatch(Wt,Pt){if(Wt.length!==Pt.length){return false}for(let en=0;en`}function serializeProcessingInstruction(Wt,Pt,en,tn){if(tn&&(Wt.target.includes(":")||asciiCaseInsensitiveMatch(Wt.target,"xml"))){throw new Error("Failed to serialize XML: processing instruction node target is not well-formed.")}if(tn&&(!sn.test(Wt.data)||Wt.data.includes("?>"))){throw new Error("Failed to serialize XML: processing instruction node data is not well-formed.")}return``}function serializeDocument(Wt,Pt,en,tn,nn){if(tn&&Wt.documentElement===null){throw new Error("Failed to serialize XML: document does not have a document element.")}let an="";for(const In of Wt.childNodes){an+=xmlSerialization(In,Pt,en,tn,nn)}return an}function serializeDocumentFragment(Wt,Pt,en,tn,nn){let an="";for(const In of Wt.childNodes){an+=xmlSerialization(In,Pt,en,tn,nn)}return an}function serializeText(Wt,Pt,en,tn){if(tn&&!sn.test(Wt.data)){throw new Error("Failed to serialize XML: text node data is not well-formed.")}return Wt.data.replace(/&/gu,"&").replace(//gu,">")}function serializeComment(Wt,Pt,en,tn){if(tn&&!sn.test(Wt.data)){throw new Error("Failed to serialize XML: comment node data is not well-formed.")}if(tn&&(Wt.data.includes("--")||Wt.data.endsWith("-"))){throw new Error("Failed to serialize XML: found hyphens in illegal places in comment node data.")}return`\x3c!--${Wt.data}--\x3e`}function serializeElement(Wt,Pt,en,rn,sn){if(rn&&(Wt.localName.includes(":")||!tn.name(Wt.localName))){throw new Error("Failed to serialize XML: element node localName is not a valid XML name.")}let on="<";let cn="";let dn=false;let un=false;const pn={...en};const mn=Object.create(null);const bn=recordNamespaceInformation(Wt,pn,mn);let Gn=Pt;const hn=Wt.namespaceURI;if(Gn===hn){if(bn!==null){un=true}if(hn===an.XML){cn=`xml:${Wt.localName}`}else{cn=Wt.localName}on+=cn}else{let{prefix:Pt}=Wt;let en=nn.preferredPrefixString(pn,hn,Pt);if(Pt==="xmlns"){if(rn){throw new Error('Failed to serialize XML: element nodes can\'t have a prefix of "xmlns".')}en="xmlns"}if(en!==null){cn=`${en}:${Wt.localName}`;if(bn!==null&&bn!==an.XML){Gn=bn===""?null:bn}on+=cn}else if(Pt!==null){if(Pt in mn){Pt=nn.generatePrefix(pn,hn,sn.prefixIndex++)}if(pn[hn]){pn[hn].push(Pt)}else{pn[hn]=[Pt]}cn=`${Pt}:${Wt.localName}`;on+=`${cn} xmlns:${Pt}="${nn.serializeAttributeValue(hn,rn)}"`;if(bn!==null){Gn=bn===""?null:bn}}else if(bn===null||bn!==hn){un=true;cn=Wt.localName;Gn=hn;on+=`${cn} xmlns="${nn.serializeAttributeValue(hn,rn)}"`}else{cn=Wt.localName;Gn=hn;on+=cn}}on+=nn.serializeAttributes(Wt,pn,mn,un,rn,sn);if(hn===an.HTML&&Wt.childNodes.length===0&&In.has(Wt.localName)){on+=" /";dn=true}else if(hn!==an.HTML&&Wt.childNodes.length===0){on+="/";dn=true}on+=">";if(dn){return on}if(hn===an.HTML&&Wt.localName==="template"){on+=xmlSerialization(Wt.content,Gn,pn,rn,sn)}else{for(const Pt of Wt.childNodes){on+=xmlSerialization(Pt,Gn,pn,rn,sn)}}on+=``;return on}function serializeCDATASection(Wt){return``}function xmlSerialization(Wt,Pt,en,tn,nn){switch(Wt.nodeType){case rn.ELEMENT_NODE:return serializeElement(Wt,Pt,en,tn,nn);case rn.DOCUMENT_NODE:return serializeDocument(Wt,Pt,en,tn,nn);case rn.COMMENT_NODE:return serializeComment(Wt,Pt,en,tn);case rn.TEXT_NODE:return serializeText(Wt,Pt,en,tn);case rn.DOCUMENT_FRAGMENT_NODE:return serializeDocumentFragment(Wt,Pt,en,tn,nn);case rn.DOCUMENT_TYPE_NODE:return serializeDocumentType(Wt,Pt,en,tn);case rn.PROCESSING_INSTRUCTION_NODE:return serializeProcessingInstruction(Wt,Pt,en,tn);case rn.ATTRIBUTE_NODE:return"";case rn.CDATA_SECTION_NODE:return serializeCDATASection(Wt);default:throw new TypeError("Failed to serialize XML: only Nodes can be serialized.")}}Wt.exports=(Wt,{requireWellFormed:Pt=false}={})=>{const en=Object.create(null);en["http://www.w3.org/XML/1998/namespace"]=["xml"];return xmlSerialization(Wt,null,en,Pt,{prefixIndex:1})}},37125:(Wt,Pt)=>{function makeException(Wt,Pt,en){if(en.globals){Wt=en.globals[Wt.name]}return new Wt(`${en.context?en.context:"Value"} ${Pt}.`)}function toNumber(Wt,Pt){if(typeof Wt==="bigint"){throw makeException(TypeError,"is a BigInt which cannot be converted to a number",Pt)}if(!Pt.globals){return Number(Wt)}return Pt.globals.Number(Wt)}function evenRound(Wt){if(Wt>0&&Wt%1===+.5&&(Wt&1)===0||Wt<0&&Wt%1===-.5&&(Wt&1)===1){return censorNegativeZero(Math.floor(Wt))}return censorNegativeZero(Math.round(Wt))}function integerPart(Wt){return censorNegativeZero(Math.trunc(Wt))}function sign(Wt){return Wt<0?-1:1}function modulo(Wt,Pt){const en=Wt%Pt;if(sign(Pt)!==sign(en)){return en+Pt}return en}function censorNegativeZero(Wt){return Wt===0?0:Wt}function createIntegerConversion(Wt,{unsigned:Pt}){let en,tn;if(Pt){en=0;tn=2**Wt-1}else{en=-(2**(Wt-1));tn=2**(Wt-1)-1}const nn=2**Wt;const an=2**(Wt-1);return(Wt,In={})=>{let rn=toNumber(Wt,In);rn=censorNegativeZero(rn);if(In.enforceRange){if(!Number.isFinite(rn)){throw makeException(TypeError,"is not a finite number",In)}rn=integerPart(rn);if(rntn){throw makeException(TypeError,`is outside the accepted range of ${en} to ${tn}, inclusive`,In)}return rn}if(!Number.isNaN(rn)&&In.clamp){rn=Math.min(Math.max(rn,en),tn);rn=evenRound(rn);return rn}if(!Number.isFinite(rn)||rn===0){return 0}rn=integerPart(rn);if(rn>=en&&rn<=tn){return rn}rn=modulo(rn,nn);if(!Pt&&rn>=an){return rn-nn}return rn}}function createLongLongConversion(Wt,{unsigned:Pt}){const en=Number.MAX_SAFE_INTEGER;const tn=Pt?0:Number.MIN_SAFE_INTEGER;const nn=Pt?BigInt.asUintN:BigInt.asIntN;return(Pt,an={})=>{let In=toNumber(Pt,an);In=censorNegativeZero(In);if(an.enforceRange){if(!Number.isFinite(In)){throw makeException(TypeError,"is not a finite number",an)}In=integerPart(In);if(Inen){throw makeException(TypeError,`is outside the accepted range of ${tn} to ${en}, inclusive`,an)}return In}if(!Number.isNaN(In)&&an.clamp){In=Math.min(Math.max(In,tn),en);In=evenRound(In);return In}if(!Number.isFinite(In)||In===0){return 0}let rn=BigInt(integerPart(In));rn=nn(Wt,rn);return Number(rn)}}Pt.any=Wt=>Wt;Pt.undefined=()=>undefined;Pt.boolean=Wt=>Boolean(Wt);Pt.byte=createIntegerConversion(8,{unsigned:false});Pt.octet=createIntegerConversion(8,{unsigned:true});Pt.short=createIntegerConversion(16,{unsigned:false});Pt["unsigned short"]=createIntegerConversion(16,{unsigned:true});Pt.long=createIntegerConversion(32,{unsigned:false});Pt["unsigned long"]=createIntegerConversion(32,{unsigned:true});Pt["long long"]=createLongLongConversion(64,{unsigned:false});Pt["unsigned long long"]=createLongLongConversion(64,{unsigned:true});Pt.double=(Wt,Pt={})=>{const en=toNumber(Wt,Pt);if(!Number.isFinite(en)){throw makeException(TypeError,"is not a finite floating-point value",Pt)}return en};Pt["unrestricted double"]=(Wt,Pt={})=>{const en=toNumber(Wt,Pt);return en};Pt.float=(Wt,Pt={})=>{const en=toNumber(Wt,Pt);if(!Number.isFinite(en)){throw makeException(TypeError,"is not a finite floating-point value",Pt)}if(Object.is(en,-0)){return en}const tn=Math.fround(en);if(!Number.isFinite(tn)){throw makeException(TypeError,"is outside the range of a single-precision floating-point value",Pt)}return tn};Pt["unrestricted float"]=(Wt,Pt={})=>{const en=toNumber(Wt,Pt);if(isNaN(en)){return en}if(Object.is(en,-0)){return en}return Math.fround(en)};Pt.DOMString=(Wt,Pt={})=>{if(Pt.treatNullAsEmptyString&&Wt===null){return""}if(typeof Wt==="symbol"){throw makeException(TypeError,"is a symbol, which cannot be converted to a string",Pt)}const en=Pt.globals?Pt.globals.String:String;return en(Wt)};Pt.ByteString=(Wt,en={})=>{const tn=Pt.DOMString(Wt,en);let nn;for(let Wt=0;(nn=tn.codePointAt(Wt))!==undefined;++Wt){if(nn>255){throw makeException(TypeError,"is not a valid ByteString",en)}}return tn};Pt.USVString=(Wt,en={})=>{const tn=Pt.DOMString(Wt,en);const nn=tn.length;const an=[];for(let Wt=0;Wt57343){an.push(String.fromCodePoint(Pt))}else if(56320<=Pt&&Pt<=57343){an.push(String.fromCodePoint(65533))}else if(Wt===nn-1){an.push(String.fromCodePoint(65533))}else{const en=tn.charCodeAt(Wt+1);if(56320<=en&&en<=57343){const tn=Pt&1023;const nn=en&1023;an.push(String.fromCodePoint((2<<15)+(2<<9)*tn+nn));++Wt}else{an.push(String.fromCodePoint(65533))}}}return an.join("")};Pt.object=(Wt,Pt={})=>{if(Wt===null||typeof Wt!=="object"&&typeof Wt!=="function"){throw makeException(TypeError,"is not an object",Pt)}return Wt};const en=Object.getOwnPropertyDescriptor(ArrayBuffer.prototype,"byteLength").get;const tn=typeof SharedArrayBuffer==="function"?Object.getOwnPropertyDescriptor(SharedArrayBuffer.prototype,"byteLength").get:null;function isNonSharedArrayBuffer(Wt){try{en.call(Wt);return true}catch{return false}}function isSharedArrayBuffer(Wt){try{tn.call(Wt);return true}catch{return false}}function isArrayBufferDetached(Wt){try{new Uint8Array(Wt);return false}catch{return true}}Pt.ArrayBuffer=(Wt,Pt={})=>{if(!isNonSharedArrayBuffer(Wt)){if(Pt.allowShared&&!isSharedArrayBuffer(Wt)){throw makeException(TypeError,"is not an ArrayBuffer or SharedArrayBuffer",Pt)}throw makeException(TypeError,"is not an ArrayBuffer",Pt)}if(isArrayBufferDetached(Wt)){throw makeException(TypeError,"is a detached ArrayBuffer",Pt)}return Wt};const nn=Object.getOwnPropertyDescriptor(DataView.prototype,"byteLength").get;Pt.DataView=(Wt,Pt={})=>{try{nn.call(Wt)}catch(Wt){throw makeException(TypeError,"is not a DataView",Pt)}if(!Pt.allowShared&&isSharedArrayBuffer(Wt.buffer)){throw makeException(TypeError,"is backed by a SharedArrayBuffer, which is not allowed",Pt)}if(isArrayBufferDetached(Wt.buffer)){throw makeException(TypeError,"is backed by a detached ArrayBuffer",Pt)}return Wt};const an=Object.getOwnPropertyDescriptor(Object.getPrototypeOf(Uint8Array).prototype,Symbol.toStringTag).get;[Int8Array,Int16Array,Int32Array,Uint8Array,Uint16Array,Uint32Array,Uint8ClampedArray,Float32Array,Float64Array].forEach((Wt=>{const{name:en}=Wt;const tn=/^[AEIOU]/u.test(en)?"an":"a";Pt[en]=(Wt,Pt={})=>{if(!ArrayBuffer.isView(Wt)||an.call(Wt)!==en){throw makeException(TypeError,`is not ${tn} ${en} object`,Pt)}if(!Pt.allowShared&&isSharedArrayBuffer(Wt.buffer)){throw makeException(TypeError,"is a view on a SharedArrayBuffer, which is not allowed",Pt)}if(isArrayBufferDetached(Wt.buffer)){throw makeException(TypeError,"is a view on a detached ArrayBuffer",Pt)}return Wt}}));Pt.ArrayBufferView=(Wt,Pt={})=>{if(!ArrayBuffer.isView(Wt)){throw makeException(TypeError,"is not a view on an ArrayBuffer or SharedArrayBuffer",Pt)}if(!Pt.allowShared&&isSharedArrayBuffer(Wt.buffer)){throw makeException(TypeError,"is a view on a SharedArrayBuffer, which is not allowed",Pt)}if(isArrayBufferDetached(Wt.buffer)){throw makeException(TypeError,"is a view on a detached ArrayBuffer",Pt)}return Wt};Pt.BufferSource=(Wt,Pt={})=>{if(ArrayBuffer.isView(Wt)){if(!Pt.allowShared&&isSharedArrayBuffer(Wt.buffer)){throw makeException(TypeError,"is a view on a SharedArrayBuffer, which is not allowed",Pt)}if(isArrayBufferDetached(Wt.buffer)){throw makeException(TypeError,"is a view on a detached ArrayBuffer",Pt)}return Wt}if(!Pt.allowShared&&!isNonSharedArrayBuffer(Wt)){throw makeException(TypeError,"is not an ArrayBuffer or a view on one",Pt)}if(Pt.allowShared&&!isSharedArrayBuffer(Wt)&&!isNonSharedArrayBuffer(Wt)){throw makeException(TypeError,"is not an ArrayBuffer, SharedArrayBuffer, or a view on one",Pt)}if(isArrayBufferDetached(Wt)){throw makeException(TypeError,"is a detached ArrayBuffer",Pt)}return Wt};Pt.DOMTimeStamp=Pt["unsigned long long"]},86476:(Wt,Pt,en)=>{const tn=en(31748);const nn=en(33485);const an=en(40052);const In=new Set(nn);Pt.labelToName=Wt=>{Wt=String(Wt).trim().toLowerCase();return an[Wt]||null};Pt.decode=(Wt,en)=>{let nn=en;if(!Pt.isSupported(nn)){throw new RangeError(`"${nn}" is not a supported encoding name`)}const an=Pt.getBOMEncoding(Wt);if(an!==null){nn=an}if(nn==="x-user-defined"){let Pt="";for(const en of Wt){if(en<=127){Pt+=String.fromCodePoint(en)}else{Pt+=String.fromCodePoint(63360+en-128)}}return Pt}return tn.decode(Wt,nn)};Pt.getBOMEncoding=Wt=>{if(Wt[0]===254&&Wt[1]===255){return"UTF-16BE"}else if(Wt[0]===255&&Wt[1]===254){return"UTF-16LE"}else if(Wt[0]===239&&Wt[1]===187&&Wt[2]===191){return"UTF-8"}return null};Pt.isSupported=Wt=>In.has(String(Wt))},31989:(Wt,Pt,en)=>{const{asciiLowercase:tn,solelyContainsHTTPTokenCodePoints:nn,soleyContainsHTTPQuotedStringTokenCodePoints:an}=en(40866);Wt.exports=class MIMETypeParameters{constructor(Wt){this._map=Wt}get size(){return this._map.size}get(Wt){Wt=tn(String(Wt));return this._map.get(Wt)}has(Wt){Wt=tn(String(Wt));return this._map.has(Wt)}set(Wt,Pt){Wt=tn(String(Wt));Pt=String(Pt);if(!nn(Wt)){throw new Error(`Invalid MIME type parameter name "${Wt}": only HTTP token code points are valid.`)}if(!an(Pt)){throw new Error(`Invalid MIME type parameter value "${Pt}": only HTTP quoted-string token code points are `+`valid.`)}return this._map.set(Wt,Pt)}clear(){this._map.clear()}delete(Wt){Wt=tn(String(Wt));return this._map.delete(Wt)}forEach(Wt,Pt){this._map.forEach(Wt,Pt)}keys(){return this._map.keys()}values(){return this._map.values()}entries(){return this._map.entries()}[Symbol.iterator](){return this._map[Symbol.iterator]()}}},59344:(Wt,Pt,en)=>{const tn=en(31989);const nn=en(56312);const an=en(95479);const{asciiLowercase:In,solelyContainsHTTPTokenCodePoints:rn}=en(40866);Wt.exports=class MIMEType{constructor(Wt){Wt=String(Wt);const Pt=nn(Wt);if(Pt===null){throw new Error(`Could not parse MIME type string "${Wt}"`)}this._type=Pt.type;this._subtype=Pt.subtype;this._parameters=new tn(Pt.parameters)}static parse(Wt){try{return new this(Wt)}catch(Wt){return null}}get essence(){return`${this.type}/${this.subtype}`}get type(){return this._type}set type(Wt){Wt=In(String(Wt));if(Wt.length===0){throw new Error("Invalid type: must be a non-empty string")}if(!rn(Wt)){throw new Error(`Invalid type ${Wt}: must contain only HTTP token code points`)}this._type=Wt}get subtype(){return this._subtype}set subtype(Wt){Wt=In(String(Wt));if(Wt.length===0){throw new Error("Invalid subtype: must be a non-empty string")}if(!rn(Wt)){throw new Error(`Invalid subtype ${Wt}: must contain only HTTP token code points`)}this._subtype=Wt}get parameters(){return this._parameters}toString(){return an(this)}isJavaScript({prohibitParameters:Wt=false}={}){switch(this._type){case"text":{switch(this._subtype){case"ecmascript":case"javascript":case"javascript1.0":case"javascript1.1":case"javascript1.2":case"javascript1.3":case"javascript1.4":case"javascript1.5":case"jscript":case"livescript":case"x-ecmascript":case"x-javascript":{return!Wt||this._parameters.size===0}default:{return false}}}case"application":{switch(this._subtype){case"ecmascript":case"javascript":case"x-ecmascript":case"x-javascript":{return!Wt||this._parameters.size===0}default:{return false}}}default:{return false}}}isXML(){return this._subtype==="xml"&&(this._type==="text"||this._type==="application")||this._subtype.endsWith("+xml")}isHTML(){return this._subtype==="html"&&this._type==="text"}}},56312:(Wt,Pt,en)=>{const{removeLeadingAndTrailingHTTPWhitespace:tn,removeTrailingHTTPWhitespace:nn,isHTTPWhitespaceChar:an,solelyContainsHTTPTokenCodePoints:In,soleyContainsHTTPQuotedStringTokenCodePoints:rn,asciiLowercase:sn,collectAnHTTPQuotedString:on}=en(40866);Wt.exports=Wt=>{Wt=tn(Wt);let Pt=0;let en="";while(Pt=Wt.length){return null}++Pt;let cn="";while(Pt0&&In(en)&&rn(tn)&&!dn.parameters.has(en)){dn.parameters.set(en,tn)}}return dn}},95479:(Wt,Pt,en)=>{const{solelyContainsHTTPTokenCodePoints:tn}=en(40866);Wt.exports=Wt=>{let Pt=`${Wt.type}/${Wt.subtype}`;if(Wt.parameters.size===0){return Pt}for(let[en,nn]of Wt.parameters){Pt+=";";Pt+=en;Pt+="=";if(!tn(nn)||nn.length===0){nn=nn.replace(/(["\\])/gu,"\\$1");nn=`"${nn}"`}Pt+=nn}return Pt}},40866:(Wt,Pt)=>{Pt.removeLeadingAndTrailingHTTPWhitespace=Wt=>Wt.replace(/^[ \t\n\r]+/u,"").replace(/[ \t\n\r]+$/u,"");Pt.removeTrailingHTTPWhitespace=Wt=>Wt.replace(/[ \t\n\r]+$/u,"");Pt.isHTTPWhitespaceChar=Wt=>Wt===" "||Wt==="\t"||Wt==="\n"||Wt==="\r";Pt.solelyContainsHTTPTokenCodePoints=Wt=>/^[-!#$%&'*+.^_`|~A-Za-z0-9]*$/u.test(Wt);Pt.soleyContainsHTTPQuotedStringTokenCodePoints=Wt=>/^[\t\u0020-\u007E\u0080-\u00FF]*$/u.test(Wt);Pt.asciiLowercase=Wt=>Wt.replace(/[A-Z]/gu,(Wt=>Wt.toLowerCase()));Pt.collectAnHTTPQuotedString=(Wt,Pt)=>{let en="";Pt++;while(true){while(Pt=Wt.length){break}const tn=Wt[Pt];++Pt;if(tn==="\\"){if(Pt>=Wt.length){en+="\\";break}en+=Wt[Pt];++Pt}else{break}}return[en,Pt]}},78012:(Wt,Pt,en)=>{const{URL:tn,URLSearchParams:nn}=en(74108);const an=en(20905);const In=en(687);const rn={Array:Array,Object:Object,Promise:Promise,String:String,TypeError:TypeError};tn.install(rn,["Window"]);nn.install(rn,["Window"]);Pt.URL=rn.URL;Pt.URLSearchParams=rn.URLSearchParams;Pt.parseURL=an.parseURL;Pt.basicURLParse=an.basicURLParse;Pt.serializeURL=an.serializeURL;Pt.serializePath=an.serializePath;Pt.serializeHost=an.serializeHost;Pt.serializeInteger=an.serializeInteger;Pt.serializeURLOrigin=an.serializeURLOrigin;Pt.setTheUsername=an.setTheUsername;Pt.setThePassword=an.setThePassword;Pt.cannotHaveAUsernamePasswordPort=an.cannotHaveAUsernamePasswordPort;Pt.hasAnOpaquePath=an.hasAnOpaquePath;Pt.percentDecodeString=In.percentDecodeString;Pt.percentDecodeBytes=In.percentDecodeBytes},66426:(Wt,Pt,en)=>{const tn=en(37125);const nn=en(39857);Pt.convert=(Wt,Pt,{context:en="The provided value"}={})=>{if(typeof Pt!=="function"){throw new Wt.TypeError(en+" is not a function")}function invokeTheCallbackFunction(...an){const In=nn.tryWrapperForImpl(this);let rn;for(let Wt=0;Wt{for(let Wt=0;Wt{const tn=en(20905);const nn=en(36367);const an=en(63627);Pt.implementation=class URLImpl{constructor(Wt,[Pt,en]){let nn=null;if(en!==undefined){nn=tn.basicURLParse(en);if(nn===null){throw new TypeError(`Invalid base URL: ${en}`)}}const In=tn.basicURLParse(Pt,{baseURL:nn});if(In===null){throw new TypeError(`Invalid URL: ${Pt}`)}const rn=In.query!==null?In.query:"";this._url=In;this._query=an.createImpl(Wt,[rn],{doNotStripQMark:true});this._query._url=this}static parse(Wt,Pt,en){try{return new URLImpl(Wt,[Pt,en])}catch{return null}}static canParse(Wt,Pt){let en=null;if(Pt!==undefined){en=tn.basicURLParse(Pt);if(en===null){return false}}const nn=tn.basicURLParse(Wt,{baseURL:en});if(nn===null){return false}return true}get href(){return tn.serializeURL(this._url)}set href(Wt){const Pt=tn.basicURLParse(Wt);if(Pt===null){throw new TypeError(`Invalid URL: ${Wt}`)}this._url=Pt;this._query._list.splice(0);const{query:en}=Pt;if(en!==null){this._query._list=nn.parseUrlencodedString(en)}}get origin(){return tn.serializeURLOrigin(this._url)}get protocol(){return`${this._url.scheme}:`}set protocol(Wt){tn.basicURLParse(`${Wt}:`,{url:this._url,stateOverride:"scheme start"})}get username(){return this._url.username}set username(Wt){if(tn.cannotHaveAUsernamePasswordPort(this._url)){return}tn.setTheUsername(this._url,Wt)}get password(){return this._url.password}set password(Wt){if(tn.cannotHaveAUsernamePasswordPort(this._url)){return}tn.setThePassword(this._url,Wt)}get host(){const Wt=this._url;if(Wt.host===null){return""}if(Wt.port===null){return tn.serializeHost(Wt.host)}return`${tn.serializeHost(Wt.host)}:${tn.serializeInteger(Wt.port)}`}set host(Wt){if(tn.hasAnOpaquePath(this._url)){return}tn.basicURLParse(Wt,{url:this._url,stateOverride:"host"})}get hostname(){if(this._url.host===null){return""}return tn.serializeHost(this._url.host)}set hostname(Wt){if(tn.hasAnOpaquePath(this._url)){return}tn.basicURLParse(Wt,{url:this._url,stateOverride:"hostname"})}get port(){if(this._url.port===null){return""}return tn.serializeInteger(this._url.port)}set port(Wt){if(tn.cannotHaveAUsernamePasswordPort(this._url)){return}if(Wt===""){this._url.port=null}else{tn.basicURLParse(Wt,{url:this._url,stateOverride:"port"})}}get pathname(){return tn.serializePath(this._url)}set pathname(Wt){if(tn.hasAnOpaquePath(this._url)){return}this._url.path=[];tn.basicURLParse(Wt,{url:this._url,stateOverride:"path start"})}get search(){if(this._url.query===null||this._url.query===""){return""}return`?${this._url.query}`}set search(Wt){const Pt=this._url;if(Wt===""){Pt.query=null;this._query._list=[];this._potentiallyStripTrailingSpacesFromAnOpaquePath();return}const en=Wt[0]==="?"?Wt.substring(1):Wt;Pt.query="";tn.basicURLParse(en,{url:Pt,stateOverride:"query"});this._query._list=nn.parseUrlencodedString(en)}get searchParams(){return this._query}get hash(){if(this._url.fragment===null||this._url.fragment===""){return""}return`#${this._url.fragment}`}set hash(Wt){if(Wt===""){this._url.fragment=null;this._potentiallyStripTrailingSpacesFromAnOpaquePath();return}const Pt=Wt[0]==="#"?Wt.substring(1):Wt;this._url.fragment="";tn.basicURLParse(Pt,{url:this._url,stateOverride:"fragment"})}toJSON(){return this.href}_potentiallyStripTrailingSpacesFromAnOpaquePath(){if(!tn.hasAnOpaquePath(this._url)){return}if(this._url.fragment!==null){return}if(this._url.query!==null){return}this._url.path=this._url.path.replace(/\u0020+$/u,"")}}},66633:(Wt,Pt,en)=>{const tn=en(37125);const nn=en(39857);const an=nn.implSymbol;const In=nn.ctorRegistrySymbol;const rn="URL";Pt.is=Wt=>nn.isObject(Wt)&&nn.hasOwn(Wt,an)&&Wt[an]instanceof on.implementation;Pt.isImpl=Wt=>nn.isObject(Wt)&&Wt instanceof on.implementation;Pt.convert=(Wt,en,{context:tn="The provided value"}={})=>{if(Pt.is(en)){return nn.implForWrapper(en)}throw new Wt.TypeError(`${tn} is not of type 'URL'.`)};function makeWrapper(Wt,Pt){let en;if(Pt!==undefined){en=Pt.prototype}if(!nn.isObject(en)){en=Wt[In]["URL"].prototype}return Object.create(en)}Pt.create=(Wt,en,tn)=>{const nn=makeWrapper(Wt);return Pt.setup(nn,Wt,en,tn)};Pt.createImpl=(Wt,en,tn)=>{const an=Pt.create(Wt,en,tn);return nn.implForWrapper(an)};Pt._internalSetup=(Wt,Pt)=>{};Pt.setup=(Wt,en,tn=[],In={})=>{In.wrapper=Wt;Pt._internalSetup(Wt,en);Object.defineProperty(Wt,an,{value:new on.implementation(en,tn,In),configurable:true});Wt[an][nn.wrapperSymbol]=Wt;if(on.init){on.init(Wt[an])}return Wt};Pt["new"]=(Wt,en)=>{const tn=makeWrapper(Wt,en);Pt._internalSetup(tn,Wt);Object.defineProperty(tn,an,{value:Object.create(on.implementation.prototype),configurable:true});tn[an][nn.wrapperSymbol]=tn;if(on.init){on.init(tn[an])}return tn[an]};const sn=new Set(["Window","Worker"]);Pt.install=(Wt,en)=>{if(!en.some((Wt=>sn.has(Wt)))){return}const In=nn.initCtorRegistry(Wt);class URL{constructor(en){if(arguments.length<1){throw new Wt.TypeError(`Failed to construct 'URL': 1 argument required, but only ${arguments.length} present.`)}const nn=[];{let Pt=arguments[0];Pt=tn["USVString"](Pt,{context:"Failed to construct 'URL': parameter 1",globals:Wt});nn.push(Pt)}{let Pt=arguments[1];if(Pt!==undefined){Pt=tn["USVString"](Pt,{context:"Failed to construct 'URL': parameter 2",globals:Wt})}nn.push(Pt)}return Pt.setup(Object.create(new.target.prototype),Wt,nn)}toJSON(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'toJSON' called on an object that is not a valid instance of URL.")}return en[an].toJSON()}get href(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get href' called on an object that is not a valid instance of URL.")}return en[an]["href"]}set href(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set href' called on an object that is not a valid instance of URL.")}en=tn["USVString"](en,{context:"Failed to set the 'href' property on 'URL': The provided value",globals:Wt});nn[an]["href"]=en}toString(){const en=this;if(!Pt.is(en)){throw new Wt.TypeError("'toString' called on an object that is not a valid instance of URL.")}return en[an]["href"]}get origin(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get origin' called on an object that is not a valid instance of URL.")}return en[an]["origin"]}get protocol(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get protocol' called on an object that is not a valid instance of URL.")}return en[an]["protocol"]}set protocol(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set protocol' called on an object that is not a valid instance of URL.")}en=tn["USVString"](en,{context:"Failed to set the 'protocol' property on 'URL': The provided value",globals:Wt});nn[an]["protocol"]=en}get username(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get username' called on an object that is not a valid instance of URL.")}return en[an]["username"]}set username(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set username' called on an object that is not a valid instance of URL.")}en=tn["USVString"](en,{context:"Failed to set the 'username' property on 'URL': The provided value",globals:Wt});nn[an]["username"]=en}get password(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get password' called on an object that is not a valid instance of URL.")}return en[an]["password"]}set password(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set password' called on an object that is not a valid instance of URL.")}en=tn["USVString"](en,{context:"Failed to set the 'password' property on 'URL': The provided value",globals:Wt});nn[an]["password"]=en}get host(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get host' called on an object that is not a valid instance of URL.")}return en[an]["host"]}set host(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set host' called on an object that is not a valid instance of URL.")}en=tn["USVString"](en,{context:"Failed to set the 'host' property on 'URL': The provided value",globals:Wt});nn[an]["host"]=en}get hostname(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get hostname' called on an object that is not a valid instance of URL.")}return en[an]["hostname"]}set hostname(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set hostname' called on an object that is not a valid instance of URL.")}en=tn["USVString"](en,{context:"Failed to set the 'hostname' property on 'URL': The provided value",globals:Wt});nn[an]["hostname"]=en}get port(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get port' called on an object that is not a valid instance of URL.")}return en[an]["port"]}set port(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set port' called on an object that is not a valid instance of URL.")}en=tn["USVString"](en,{context:"Failed to set the 'port' property on 'URL': The provided value",globals:Wt});nn[an]["port"]=en}get pathname(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get pathname' called on an object that is not a valid instance of URL.")}return en[an]["pathname"]}set pathname(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set pathname' called on an object that is not a valid instance of URL.")}en=tn["USVString"](en,{context:"Failed to set the 'pathname' property on 'URL': The provided value",globals:Wt});nn[an]["pathname"]=en}get search(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get search' called on an object that is not a valid instance of URL.")}return en[an]["search"]}set search(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set search' called on an object that is not a valid instance of URL.")}en=tn["USVString"](en,{context:"Failed to set the 'search' property on 'URL': The provided value",globals:Wt});nn[an]["search"]=en}get searchParams(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get searchParams' called on an object that is not a valid instance of URL.")}return nn.getSameObject(this,"searchParams",(()=>nn.tryWrapperForImpl(en[an]["searchParams"])))}get hash(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'get hash' called on an object that is not a valid instance of URL.")}return en[an]["hash"]}set hash(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'set hash' called on an object that is not a valid instance of URL.")}en=tn["USVString"](en,{context:"Failed to set the 'hash' property on 'URL': The provided value",globals:Wt});nn[an]["hash"]=en}static parse(Pt){if(arguments.length<1){throw new Wt.TypeError(`Failed to execute 'parse' on 'URL': 1 argument required, but only ${arguments.length} present.`)}const en=[];{let Pt=arguments[0];Pt=tn["USVString"](Pt,{context:"Failed to execute 'parse' on 'URL': parameter 1",globals:Wt});en.push(Pt)}{let Pt=arguments[1];if(Pt!==undefined){Pt=tn["USVString"](Pt,{context:"Failed to execute 'parse' on 'URL': parameter 2",globals:Wt})}en.push(Pt)}return nn.tryWrapperForImpl(on.implementation.parse(Wt,...en))}static canParse(Pt){if(arguments.length<1){throw new Wt.TypeError(`Failed to execute 'canParse' on 'URL': 1 argument required, but only ${arguments.length} present.`)}const en=[];{let Pt=arguments[0];Pt=tn["USVString"](Pt,{context:"Failed to execute 'canParse' on 'URL': parameter 1",globals:Wt});en.push(Pt)}{let Pt=arguments[1];if(Pt!==undefined){Pt=tn["USVString"](Pt,{context:"Failed to execute 'canParse' on 'URL': parameter 2",globals:Wt})}en.push(Pt)}return on.implementation.canParse(...en)}}Object.defineProperties(URL.prototype,{toJSON:{enumerable:true},href:{enumerable:true},toString:{enumerable:true},origin:{enumerable:true},protocol:{enumerable:true},username:{enumerable:true},password:{enumerable:true},host:{enumerable:true},hostname:{enumerable:true},port:{enumerable:true},pathname:{enumerable:true},search:{enumerable:true},searchParams:{enumerable:true},hash:{enumerable:true},[Symbol.toStringTag]:{value:"URL",configurable:true}});Object.defineProperties(URL,{parse:{enumerable:true},canParse:{enumerable:true}});In[rn]=URL;Object.defineProperty(Wt,rn,{configurable:true,writable:true,value:URL});if(en.includes("Window")){Object.defineProperty(Wt,"webkitURL",{configurable:true,writable:true,value:URL})}};const on=en(23184)},12894:(Wt,Pt,en)=>{const tn=en(36367);Pt.implementation=class URLSearchParamsImpl{constructor(Wt,Pt,{doNotStripQMark:en=false}){let nn=Pt[0];this._list=[];this._url=null;if(!en&&typeof nn==="string"&&nn[0]==="?"){nn=nn.slice(1)}if(Array.isArray(nn)){for(const Wt of nn){if(Wt.length!==2){throw new TypeError("Failed to construct 'URLSearchParams': parameter 1 sequence's element does not "+"contain exactly two elements.")}this._list.push([Wt[0],Wt[1]])}}else if(typeof nn==="object"&&Object.getPrototypeOf(nn)===null){for(const Wt of Object.keys(nn)){const Pt=nn[Wt];this._list.push([Wt,Pt])}}else{this._list=tn.parseUrlencodedString(nn)}}_updateSteps(){if(this._url!==null){let Wt=tn.serializeUrlencoded(this._list);if(Wt===""){Wt=null}this._url._url.query=Wt;if(Wt===null){this._url._potentiallyStripTrailingSpacesFromAnOpaquePath()}}}get size(){return this._list.length}append(Wt,Pt){this._list.push([Wt,Pt]);this._updateSteps()}delete(Wt,Pt){let en=0;while(en{if(Wt[0]Pt[0]){return 1}return 0}));this._updateSteps()}[Symbol.iterator](){return this._list[Symbol.iterator]()}toString(){return tn.serializeUrlencoded(this._list)}}},63627:(Wt,Pt,en)=>{const tn=en(37125);const nn=en(39857);const an=en(66426);const In=nn.newObjectInRealm;const rn=nn.implSymbol;const sn=nn.ctorRegistrySymbol;const on="URLSearchParams";Pt.is=Wt=>nn.isObject(Wt)&&nn.hasOwn(Wt,rn)&&Wt[rn]instanceof dn.implementation;Pt.isImpl=Wt=>nn.isObject(Wt)&&Wt instanceof dn.implementation;Pt.convert=(Wt,en,{context:tn="The provided value"}={})=>{if(Pt.is(en)){return nn.implForWrapper(en)}throw new Wt.TypeError(`${tn} is not of type 'URLSearchParams'.`)};Pt.createDefaultIterator=(Wt,Pt,en)=>{const tn=Wt[sn];const an=tn["URLSearchParams Iterator"];const In=Object.create(an);Object.defineProperty(In,nn.iterInternalSymbol,{value:{target:Pt,kind:en,index:0},configurable:true});return In};function makeWrapper(Wt,Pt){let en;if(Pt!==undefined){en=Pt.prototype}if(!nn.isObject(en)){en=Wt[sn]["URLSearchParams"].prototype}return Object.create(en)}Pt.create=(Wt,en,tn)=>{const nn=makeWrapper(Wt);return Pt.setup(nn,Wt,en,tn)};Pt.createImpl=(Wt,en,tn)=>{const an=Pt.create(Wt,en,tn);return nn.implForWrapper(an)};Pt._internalSetup=(Wt,Pt)=>{};Pt.setup=(Wt,en,tn=[],an={})=>{an.wrapper=Wt;Pt._internalSetup(Wt,en);Object.defineProperty(Wt,rn,{value:new dn.implementation(en,tn,an),configurable:true});Wt[rn][nn.wrapperSymbol]=Wt;if(dn.init){dn.init(Wt[rn])}return Wt};Pt["new"]=(Wt,en)=>{const tn=makeWrapper(Wt,en);Pt._internalSetup(tn,Wt);Object.defineProperty(tn,rn,{value:Object.create(dn.implementation.prototype),configurable:true});tn[rn][nn.wrapperSymbol]=tn;if(dn.init){dn.init(tn[rn])}return tn[rn]};const cn=new Set(["Window","Worker"]);Pt.install=(Wt,en)=>{if(!en.some((Wt=>cn.has(Wt)))){return}const sn=nn.initCtorRegistry(Wt);class URLSearchParams{constructor(){const en=[];{let Pt=arguments[0];if(Pt!==undefined){if(nn.isObject(Pt)){if(Pt[Symbol.iterator]!==undefined){if(!nn.isObject(Pt)){throw new Wt.TypeError("Failed to construct 'URLSearchParams': parameter 1"+" sequence"+" is not an iterable object.")}else{const en=[];const an=Pt;for(let Pt of an){if(!nn.isObject(Pt)){throw new Wt.TypeError("Failed to construct 'URLSearchParams': parameter 1"+" sequence"+"'s element"+" is not an iterable object.")}else{const en=[];const nn=Pt;for(let Pt of nn){Pt=tn["USVString"](Pt,{context:"Failed to construct 'URLSearchParams': parameter 1"+" sequence"+"'s element"+"'s element",globals:Wt});en.push(Pt)}Pt=en}en.push(Pt)}Pt=en}}else{if(!nn.isObject(Pt)){throw new Wt.TypeError("Failed to construct 'URLSearchParams': parameter 1"+" record"+" is not an object.")}else{const en=Object.create(null);for(const nn of Reflect.ownKeys(Pt)){const an=Object.getOwnPropertyDescriptor(Pt,nn);if(an&&an.enumerable){let an=nn;an=tn["USVString"](an,{context:"Failed to construct 'URLSearchParams': parameter 1"+" record"+"'s key",globals:Wt});let In=Pt[nn];In=tn["USVString"](In,{context:"Failed to construct 'URLSearchParams': parameter 1"+" record"+"'s value",globals:Wt});en[an]=In}}Pt=en}}}else{Pt=tn["USVString"](Pt,{context:"Failed to construct 'URLSearchParams': parameter 1",globals:Wt})}}else{Pt=""}en.push(Pt)}return Pt.setup(Object.create(new.target.prototype),Wt,en)}append(en,an){const In=this!==null&&this!==undefined?this:Wt;if(!Pt.is(In)){throw new Wt.TypeError("'append' called on an object that is not a valid instance of URLSearchParams.")}if(arguments.length<2){throw new Wt.TypeError(`Failed to execute 'append' on 'URLSearchParams': 2 arguments required, but only ${arguments.length} present.`)}const sn=[];{let Pt=arguments[0];Pt=tn["USVString"](Pt,{context:"Failed to execute 'append' on 'URLSearchParams': parameter 1",globals:Wt});sn.push(Pt)}{let Pt=arguments[1];Pt=tn["USVString"](Pt,{context:"Failed to execute 'append' on 'URLSearchParams': parameter 2",globals:Wt});sn.push(Pt)}return nn.tryWrapperForImpl(In[rn].append(...sn))}delete(en){const an=this!==null&&this!==undefined?this:Wt;if(!Pt.is(an)){throw new Wt.TypeError("'delete' called on an object that is not a valid instance of URLSearchParams.")}if(arguments.length<1){throw new Wt.TypeError(`Failed to execute 'delete' on 'URLSearchParams': 1 argument required, but only ${arguments.length} present.`)}const In=[];{let Pt=arguments[0];Pt=tn["USVString"](Pt,{context:"Failed to execute 'delete' on 'URLSearchParams': parameter 1",globals:Wt});In.push(Pt)}{let Pt=arguments[1];if(Pt!==undefined){Pt=tn["USVString"](Pt,{context:"Failed to execute 'delete' on 'URLSearchParams': parameter 2",globals:Wt})}In.push(Pt)}return nn.tryWrapperForImpl(an[rn].delete(...In))}get(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'get' called on an object that is not a valid instance of URLSearchParams.")}if(arguments.length<1){throw new Wt.TypeError(`Failed to execute 'get' on 'URLSearchParams': 1 argument required, but only ${arguments.length} present.`)}const an=[];{let Pt=arguments[0];Pt=tn["USVString"](Pt,{context:"Failed to execute 'get' on 'URLSearchParams': parameter 1",globals:Wt});an.push(Pt)}return nn[rn].get(...an)}getAll(en){const an=this!==null&&this!==undefined?this:Wt;if(!Pt.is(an)){throw new Wt.TypeError("'getAll' called on an object that is not a valid instance of URLSearchParams.")}if(arguments.length<1){throw new Wt.TypeError(`Failed to execute 'getAll' on 'URLSearchParams': 1 argument required, but only ${arguments.length} present.`)}const In=[];{let Pt=arguments[0];Pt=tn["USVString"](Pt,{context:"Failed to execute 'getAll' on 'URLSearchParams': parameter 1",globals:Wt});In.push(Pt)}return nn.tryWrapperForImpl(an[rn].getAll(...In))}has(en){const nn=this!==null&&this!==undefined?this:Wt;if(!Pt.is(nn)){throw new Wt.TypeError("'has' called on an object that is not a valid instance of URLSearchParams.")}if(arguments.length<1){throw new Wt.TypeError(`Failed to execute 'has' on 'URLSearchParams': 1 argument required, but only ${arguments.length} present.`)}const an=[];{let Pt=arguments[0];Pt=tn["USVString"](Pt,{context:"Failed to execute 'has' on 'URLSearchParams': parameter 1",globals:Wt});an.push(Pt)}{let Pt=arguments[1];if(Pt!==undefined){Pt=tn["USVString"](Pt,{context:"Failed to execute 'has' on 'URLSearchParams': parameter 2",globals:Wt})}an.push(Pt)}return nn[rn].has(...an)}set(en,an){const In=this!==null&&this!==undefined?this:Wt;if(!Pt.is(In)){throw new Wt.TypeError("'set' called on an object that is not a valid instance of URLSearchParams.")}if(arguments.length<2){throw new Wt.TypeError(`Failed to execute 'set' on 'URLSearchParams': 2 arguments required, but only ${arguments.length} present.`)}const sn=[];{let Pt=arguments[0];Pt=tn["USVString"](Pt,{context:"Failed to execute 'set' on 'URLSearchParams': parameter 1",globals:Wt});sn.push(Pt)}{let Pt=arguments[1];Pt=tn["USVString"](Pt,{context:"Failed to execute 'set' on 'URLSearchParams': parameter 2",globals:Wt});sn.push(Pt)}return nn.tryWrapperForImpl(In[rn].set(...sn))}sort(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'sort' called on an object that is not a valid instance of URLSearchParams.")}return nn.tryWrapperForImpl(en[rn].sort())}toString(){const en=this!==null&&this!==undefined?this:Wt;if(!Pt.is(en)){throw new Wt.TypeError("'toString' called on an object that is not a valid instance of URLSearchParams.")}return en[rn].toString()}keys(){if(!Pt.is(this)){throw new Wt.TypeError("'keys' called on an object that is not a valid instance of URLSearchParams.")}return Pt.createDefaultIterator(Wt,this,"key")}values(){if(!Pt.is(this)){throw new Wt.TypeError("'values' called on an object that is not a valid instance of URLSearchParams.")}return Pt.createDefaultIterator(Wt,this,"value")}entries(){if(!Pt.is(this)){throw new Wt.TypeError("'entries' called on an object that is not a valid instance of URLSearchParams.")}return Pt.createDefaultIterator(Wt,this,"key+value")}forEach(en){if(!Pt.is(this)){throw new Wt.TypeError("'forEach' called on an object that is not a valid instance of URLSearchParams.")}if(arguments.length<1){throw new Wt.TypeError("Failed to execute 'forEach' on 'iterable': 1 argument required, but only 0 present.")}en=an.convert(Wt,en,{context:"Failed to execute 'forEach' on 'iterable': The callback provided as parameter 1"});const tn=arguments[1];let In=Array.from(this[rn]);let sn=0;while(sn=on){return In(Wt,{value:undefined,done:true})}const cn=sn[an];Pt.index=an+1;return In(Wt,nn.iteratorResult(cn.map(nn.tryWrapperForImpl),tn))}});Object.defineProperty(Wt,on,{configurable:true,writable:true,value:URLSearchParams})};const dn=en(12894)},84887:Wt=>{const Pt=new TextEncoder;const en=new TextDecoder("utf-8",{ignoreBOM:true});function utf8Encode(Wt){return Pt.encode(Wt)}function utf8DecodeWithoutBOM(Wt){return en.decode(Wt)}Wt.exports={utf8Encode:utf8Encode,utf8DecodeWithoutBOM:utf8DecodeWithoutBOM}},63102:Wt=>{function isASCIIDigit(Wt){return Wt>=48&&Wt<=57}function isASCIIAlpha(Wt){return Wt>=65&&Wt<=90||Wt>=97&&Wt<=122}function isASCIIAlphanumeric(Wt){return isASCIIAlpha(Wt)||isASCIIDigit(Wt)}function isASCIIHex(Wt){return isASCIIDigit(Wt)||Wt>=65&&Wt<=70||Wt>=97&&Wt<=102}Wt.exports={isASCIIDigit:isASCIIDigit,isASCIIAlpha:isASCIIAlpha,isASCIIAlphanumeric:isASCIIAlphanumeric,isASCIIHex:isASCIIHex}},687:(Wt,Pt,en)=>{const{isASCIIHex:tn}=en(63102);const{utf8Encode:nn}=en(84887);function p(Wt){return Wt.codePointAt(0)}function percentEncode(Wt){let Pt=Wt.toString(16).toUpperCase();if(Pt.length===1){Pt=`0${Pt}`}return`%${Pt}`}function percentDecodeBytes(Wt){const Pt=new Uint8Array(Wt.byteLength);let en=0;for(let nn=0;nn126}const an=new Set([p(" "),p('"'),p("<"),p(">"),p("`")]);function isFragmentPercentEncode(Wt){return isC0ControlPercentEncode(Wt)||an.has(Wt)}const In=new Set([p(" "),p('"'),p("#"),p("<"),p(">")]);function isQueryPercentEncode(Wt){return isC0ControlPercentEncode(Wt)||In.has(Wt)}function isSpecialQueryPercentEncode(Wt){return isQueryPercentEncode(Wt)||Wt===p("'")}const rn=new Set([p("?"),p("`"),p("{"),p("}")]);function isPathPercentEncode(Wt){return isQueryPercentEncode(Wt)||rn.has(Wt)}const sn=new Set([p("/"),p(":"),p(";"),p("="),p("@"),p("["),p("\\"),p("]"),p("^"),p("|")]);function isUserinfoPercentEncode(Wt){return isPathPercentEncode(Wt)||sn.has(Wt)}const on=new Set([p("$"),p("%"),p("&"),p("+"),p(",")]);function isComponentPercentEncode(Wt){return isUserinfoPercentEncode(Wt)||on.has(Wt)}const cn=new Set([p("!"),p("'"),p("("),p(")"),p("~")]);function isURLEncodedPercentEncode(Wt){return isComponentPercentEncode(Wt)||cn.has(Wt)}function utf8PercentEncodeCodePointInternal(Wt,Pt){const en=nn(Wt);let tn="";for(const Wt of en){if(!Pt(Wt)){tn+=String.fromCharCode(Wt)}else{tn+=percentEncode(Wt)}}return tn}function utf8PercentEncodeCodePoint(Wt,Pt){return utf8PercentEncodeCodePointInternal(String.fromCodePoint(Wt),Pt)}function utf8PercentEncodeString(Wt,Pt,en=false){let tn="";for(const nn of Wt){if(en&&nn===" "){tn+="+"}else{tn+=utf8PercentEncodeCodePointInternal(nn,Pt)}}return tn}Wt.exports={isC0ControlPercentEncode:isC0ControlPercentEncode,isFragmentPercentEncode:isFragmentPercentEncode,isQueryPercentEncode:isQueryPercentEncode,isSpecialQueryPercentEncode:isSpecialQueryPercentEncode,isPathPercentEncode:isPathPercentEncode,isUserinfoPercentEncode:isUserinfoPercentEncode,isURLEncodedPercentEncode:isURLEncodedPercentEncode,percentDecodeString:percentDecodeString,percentDecodeBytes:percentDecodeBytes,utf8PercentEncodeString:utf8PercentEncodeString,utf8PercentEncodeCodePoint:utf8PercentEncodeCodePoint}},20905:(Wt,Pt,en)=>{const tn=en(1552);const nn=en(63102);const{utf8DecodeWithoutBOM:an}=en(84887);const{percentDecodeString:In,utf8PercentEncodeCodePoint:rn,utf8PercentEncodeString:sn,isC0ControlPercentEncode:on,isFragmentPercentEncode:cn,isQueryPercentEncode:dn,isSpecialQueryPercentEncode:un,isPathPercentEncode:pn,isUserinfoPercentEncode:mn}=en(687);function p(Wt){return Wt.codePointAt(0)}const bn={ftp:21,file:null,http:80,https:443,ws:80,wss:443};const Gn=Symbol("failure");function countSymbols(Wt){return[...Wt].length}function at(Wt,Pt){const en=Wt[Pt];return isNaN(en)?undefined:String.fromCodePoint(en)}function isSingleDot(Wt){return Wt==="."||Wt.toLowerCase()==="%2e"}function isDoubleDot(Wt){Wt=Wt.toLowerCase();return Wt===".."||Wt==="%2e."||Wt===".%2e"||Wt==="%2e%2e"}function isWindowsDriveLetterCodePoints(Wt,Pt){return nn.isASCIIAlpha(Wt)&&(Pt===p(":")||Pt===p("|"))}function isWindowsDriveLetterString(Wt){return Wt.length===2&&nn.isASCIIAlpha(Wt.codePointAt(0))&&(Wt[1]===":"||Wt[1]==="|")}function isNormalizedWindowsDriveLetterString(Wt){return Wt.length===2&&nn.isASCIIAlpha(Wt.codePointAt(0))&&Wt[1]===":"}function containsForbiddenHostCodePoint(Wt){return Wt.search(/\u0000|\u0009|\u000A|\u000D|\u0020|#|\/|:|<|>|\?|@|\[|\\|\]|\^|\|/u)!==-1}function containsForbiddenDomainCodePoint(Wt){return containsForbiddenHostCodePoint(Wt)||Wt.search(/[\u0000-\u001F]|%|\u007F/u)!==-1}function isSpecialScheme(Wt){return bn[Wt]!==undefined}function isSpecial(Wt){return isSpecialScheme(Wt.scheme)}function isNotSpecial(Wt){return!isSpecialScheme(Wt.scheme)}function defaultPort(Wt){return bn[Wt]}function parseIPv4Number(Wt){if(Wt===""){return Gn}let Pt=10;if(Wt.length>=2&&Wt.charAt(0)==="0"&&Wt.charAt(1).toLowerCase()==="x"){Wt=Wt.substring(2);Pt=16}else if(Wt.length>=2&&Wt.charAt(0)==="0"){Wt=Wt.substring(1);Pt=8}if(Wt===""){return 0}let en=/[^0-7]/u;if(Pt===10){en=/[^0-9]/u}if(Pt===16){en=/[^0-9A-Fa-f]/u}if(en.test(Wt)){return Gn}return parseInt(Wt,Pt)}function parseIPv4(Wt){const Pt=Wt.split(".");if(Pt[Pt.length-1]===""){if(Pt.length>1){Pt.pop()}}if(Pt.length>4){return Gn}const en=[];for(const Wt of Pt){const Pt=parseIPv4Number(Wt);if(Pt===Gn){return Gn}en.push(Pt)}for(let Wt=0;Wt255){return Gn}}if(en[en.length-1]>=256**(5-en.length)){return Gn}let tn=en.pop();let nn=0;for(const Wt of en){tn+=Wt*256**(3-nn);++nn}return tn}function serializeIPv4(Wt){let Pt="";let en=Wt;for(let Wt=1;Wt<=4;++Wt){Pt=String(en%256)+Pt;if(Wt!==4){Pt=`.${Pt}`}en=Math.floor(en/256)}return Pt}function parseIPv6(Wt){const Pt=[0,0,0,0,0,0,0,0];let en=0;let tn=null;let an=0;Wt=Array.from(Wt,(Wt=>Wt.codePointAt(0)));if(Wt[an]===p(":")){if(Wt[an+1]!==p(":")){return Gn}an+=2;++en;tn=en}while(an6){return Gn}let tn=0;while(Wt[an]!==undefined){let In=null;if(tn>0){if(Wt[an]===p(".")&&tn<4){++an}else{return Gn}}if(!nn.isASCIIDigit(Wt[an])){return Gn}while(nn.isASCIIDigit(Wt[an])){const Pt=parseInt(at(Wt,an));if(In===null){In=Pt}else if(In===0){return Gn}else{In=In*10+Pt}if(In>255){return Gn}++an}Pt[en]=Pt[en]*256+In;++tn;if(tn===2||tn===4){++en}}if(tn!==4){return Gn}break}else if(Wt[an]===p(":")){++an;if(Wt[an]===undefined){return Gn}}else if(Wt[an]!==undefined){return Gn}Pt[en]=In;++en}if(tn!==null){let Wt=en-tn;en=7;while(en!==0&&Wt>0){const nn=Pt[tn+Wt-1];Pt[tn+Wt-1]=Pt[en];Pt[en]=nn;--en;--Wt}}else if(tn===null&&en!==8){return Gn}return Pt}function serializeIPv6(Wt){let Pt="";const en=findTheIPv6AddressCompressedPieceIndex(Wt);let tn=false;for(let nn=0;nn<=7;++nn){if(tn&&Wt[nn]===0){continue}else if(tn){tn=false}if(en===nn){const Wt=nn===0?"::":":";Pt+=Wt;tn=true;continue}Pt+=Wt[nn].toString(16);if(nn!==7){Pt+=":"}}return Pt}function parseHost(Wt,Pt=false){if(Wt[0]==="["){if(Wt[Wt.length-1]!=="]"){return Gn}return parseIPv6(Wt.substring(1,Wt.length-1))}if(Pt){return parseOpaqueHost(Wt)}const en=an(In(Wt));const tn=domainToASCII(en);if(tn===Gn){return Gn}if(containsForbiddenDomainCodePoint(tn)){return Gn}if(endsInANumber(tn)){return parseIPv4(tn)}return tn}function endsInANumber(Wt){const Pt=Wt.split(".");if(Pt[Pt.length-1]===""){if(Pt.length===1){return false}Pt.pop()}const en=Pt[Pt.length-1];if(parseIPv4Number(en)!==Gn){return true}if(/^[0-9]+$/u.test(en)){return true}return false}function parseOpaqueHost(Wt){if(containsForbiddenHostCodePoint(Wt)){return Gn}return sn(Wt,on)}function findTheIPv6AddressCompressedPieceIndex(Wt){let Pt=null;let en=1;let tn=null;let nn=0;for(let an=0;anen){Pt=tn;en=nn}tn=null;nn=0}else{if(tn===null){tn=an}++nn}}if(nn>en){return tn}return Pt}function serializeHost(Wt){if(typeof Wt==="number"){return serializeIPv4(Wt)}if(Wt instanceof Array){return`[${serializeIPv6(Wt)}]`}return Wt}function domainToASCII(Wt,Pt=false){const en=tn.toASCII(Wt,{checkBidi:true,checkHyphens:false,checkJoiners:true,useSTD3ASCIIRules:Pt,verifyDNSLength:Pt});if(en===null||en===""){return Gn}return en}function trimControlChars(Wt){return Wt.replace(/^[\u0000-\u001F\u0020]+|[\u0000-\u001F\u0020]+$/gu,"")}function trimTabAndNewline(Wt){return Wt.replace(/\u0009|\u000A|\u000D/gu,"")}function shortenPath(Wt){const{path:Pt}=Wt;if(Pt.length===0){return}if(Wt.scheme==="file"&&Pt.length===1&&isNormalizedWindowsDriveLetter(Pt[0])){return}Pt.pop()}function includesCredentials(Wt){return Wt.username!==""||Wt.password!==""}function cannotHaveAUsernamePasswordPort(Wt){return Wt.host===null||Wt.host===""||Wt.scheme==="file"}function hasAnOpaquePath(Wt){return typeof Wt.path==="string"}function isNormalizedWindowsDriveLetter(Wt){return/^[A-Za-z]:$/u.test(Wt)}function URLStateMachine(Wt,Pt,en,tn,nn){this.pointer=0;this.input=Wt;this.base=Pt||null;this.encodingOverride=en||"utf-8";this.stateOverride=nn;this.url=tn;this.failure=false;this.parseError=false;if(!this.url){this.url={scheme:"",username:"",password:"",host:null,port:null,path:[],query:null,fragment:null};const Wt=trimControlChars(this.input);if(Wt!==this.input){this.parseError=true}this.input=Wt}const an=trimTabAndNewline(this.input);if(an!==this.input){this.parseError=true}this.input=an;this.state=nn||"scheme start";this.buffer="";this.atFlag=false;this.arrFlag=false;this.passwordTokenSeenFlag=false;this.input=Array.from(this.input,(Wt=>Wt.codePointAt(0)));for(;this.pointer<=this.input.length;++this.pointer){const Wt=this.input[this.pointer];const Pt=isNaN(Wt)?undefined:String.fromCodePoint(Wt);const en=this[`parse ${this.state}`](Wt,Pt);if(!en){break}else if(en===Gn){this.failure=true;break}}}URLStateMachine.prototype["parse scheme start"]=function parseSchemeStart(Wt,Pt){if(nn.isASCIIAlpha(Wt)){this.buffer+=Pt.toLowerCase();this.state="scheme"}else if(!this.stateOverride){this.state="no scheme";--this.pointer}else{this.parseError=true;return Gn}return true};URLStateMachine.prototype["parse scheme"]=function parseScheme(Wt,Pt){if(nn.isASCIIAlphanumeric(Wt)||Wt===p("+")||Wt===p("-")||Wt===p(".")){this.buffer+=Pt.toLowerCase()}else if(Wt===p(":")){if(this.stateOverride){if(isSpecial(this.url)&&!isSpecialScheme(this.buffer)){return false}if(!isSpecial(this.url)&&isSpecialScheme(this.buffer)){return false}if((includesCredentials(this.url)||this.url.port!==null)&&this.buffer==="file"){return false}if(this.url.scheme==="file"&&this.url.host===""){return false}}this.url.scheme=this.buffer;if(this.stateOverride){if(this.url.port===defaultPort(this.url.scheme)){this.url.port=null}return false}this.buffer="";if(this.url.scheme==="file"){if(this.input[this.pointer+1]!==p("/")||this.input[this.pointer+2]!==p("/")){this.parseError=true}this.state="file"}else if(isSpecial(this.url)&&this.base!==null&&this.base.scheme===this.url.scheme){this.state="special relative or authority"}else if(isSpecial(this.url)){this.state="special authority slashes"}else if(this.input[this.pointer+1]===p("/")){this.state="path or authority";++this.pointer}else{this.url.path="";this.state="opaque path"}}else if(!this.stateOverride){this.buffer="";this.state="no scheme";this.pointer=-1}else{this.parseError=true;return Gn}return true};URLStateMachine.prototype["parse no scheme"]=function parseNoScheme(Wt){if(this.base===null||hasAnOpaquePath(this.base)&&Wt!==p("#")){return Gn}else if(hasAnOpaquePath(this.base)&&Wt===p("#")){this.url.scheme=this.base.scheme;this.url.path=this.base.path;this.url.query=this.base.query;this.url.fragment="";this.state="fragment"}else if(this.base.scheme==="file"){this.state="file";--this.pointer}else{this.state="relative";--this.pointer}return true};URLStateMachine.prototype["parse special relative or authority"]=function parseSpecialRelativeOrAuthority(Wt){if(Wt===p("/")&&this.input[this.pointer+1]===p("/")){this.state="special authority ignore slashes";++this.pointer}else{this.parseError=true;this.state="relative";--this.pointer}return true};URLStateMachine.prototype["parse path or authority"]=function parsePathOrAuthority(Wt){if(Wt===p("/")){this.state="authority"}else{this.state="path";--this.pointer}return true};URLStateMachine.prototype["parse relative"]=function parseRelative(Wt){this.url.scheme=this.base.scheme;if(Wt===p("/")){this.state="relative slash"}else if(isSpecial(this.url)&&Wt===p("\\")){this.parseError=true;this.state="relative slash"}else{this.url.username=this.base.username;this.url.password=this.base.password;this.url.host=this.base.host;this.url.port=this.base.port;this.url.path=this.base.path.slice();this.url.query=this.base.query;if(Wt===p("?")){this.url.query="";this.state="query"}else if(Wt===p("#")){this.url.fragment="";this.state="fragment"}else if(!isNaN(Wt)){this.url.query=null;this.url.path.pop();this.state="path";--this.pointer}}return true};URLStateMachine.prototype["parse relative slash"]=function parseRelativeSlash(Wt){if(isSpecial(this.url)&&(Wt===p("/")||Wt===p("\\"))){if(Wt===p("\\")){this.parseError=true}this.state="special authority ignore slashes"}else if(Wt===p("/")){this.state="authority"}else{this.url.username=this.base.username;this.url.password=this.base.password;this.url.host=this.base.host;this.url.port=this.base.port;this.state="path";--this.pointer}return true};URLStateMachine.prototype["parse special authority slashes"]=function parseSpecialAuthoritySlashes(Wt){if(Wt===p("/")&&this.input[this.pointer+1]===p("/")){this.state="special authority ignore slashes";++this.pointer}else{this.parseError=true;this.state="special authority ignore slashes";--this.pointer}return true};URLStateMachine.prototype["parse special authority ignore slashes"]=function parseSpecialAuthorityIgnoreSlashes(Wt){if(Wt!==p("/")&&Wt!==p("\\")){this.state="authority";--this.pointer}else{this.parseError=true}return true};URLStateMachine.prototype["parse authority"]=function parseAuthority(Wt,Pt){if(Wt===p("@")){this.parseError=true;if(this.atFlag){this.buffer=`%40${this.buffer}`}this.atFlag=true;const Wt=countSymbols(this.buffer);for(let Pt=0;Pt2**16-1){this.parseError=true;return Gn}this.url.port=Wt===defaultPort(this.url.scheme)?null:Wt;this.buffer=""}if(this.stateOverride){return false}this.state="path start";--this.pointer}else{this.parseError=true;return Gn}return true};const hn=new Set([p("/"),p("\\"),p("?"),p("#")]);function startsWithWindowsDriveLetter(Wt,Pt){const en=Wt.length-Pt;return en>=2&&isWindowsDriveLetterCodePoints(Wt[Pt],Wt[Pt+1])&&(en===2||hn.has(Wt[Pt+2]))}URLStateMachine.prototype["parse file"]=function parseFile(Wt){this.url.scheme="file";this.url.host="";if(Wt===p("/")||Wt===p("\\")){if(Wt===p("\\")){this.parseError=true}this.state="file slash"}else if(this.base!==null&&this.base.scheme==="file"){this.url.host=this.base.host;this.url.path=this.base.path.slice();this.url.query=this.base.query;if(Wt===p("?")){this.url.query="";this.state="query"}else if(Wt===p("#")){this.url.fragment="";this.state="fragment"}else if(!isNaN(Wt)){this.url.query=null;if(!startsWithWindowsDriveLetter(this.input,this.pointer)){shortenPath(this.url)}else{this.parseError=true;this.url.path=[]}this.state="path";--this.pointer}}else{this.state="path";--this.pointer}return true};URLStateMachine.prototype["parse file slash"]=function parseFileSlash(Wt){if(Wt===p("/")||Wt===p("\\")){if(Wt===p("\\")){this.parseError=true}this.state="file host"}else{if(this.base!==null&&this.base.scheme==="file"){if(!startsWithWindowsDriveLetter(this.input,this.pointer)&&isNormalizedWindowsDriveLetterString(this.base.path[0])){this.url.path.push(this.base.path[0])}this.url.host=this.base.host}this.state="path";--this.pointer}return true};URLStateMachine.prototype["parse file host"]=function parseFileHost(Wt,Pt){if(isNaN(Wt)||Wt===p("/")||Wt===p("\\")||Wt===p("?")||Wt===p("#")){--this.pointer;if(!this.stateOverride&&isWindowsDriveLetterString(this.buffer)){this.parseError=true;this.state="path"}else if(this.buffer===""){this.url.host="";if(this.stateOverride){return false}this.state="path start"}else{let Wt=parseHost(this.buffer,isNotSpecial(this.url));if(Wt===Gn){return Gn}if(Wt==="localhost"){Wt=""}this.url.host=Wt;if(this.stateOverride){return false}this.buffer="";this.state="path start"}}else{this.buffer+=Pt}return true};URLStateMachine.prototype["parse path start"]=function parsePathStart(Wt){if(isSpecial(this.url)){if(Wt===p("\\")){this.parseError=true}this.state="path";if(Wt!==p("/")&&Wt!==p("\\")){--this.pointer}}else if(!this.stateOverride&&Wt===p("?")){this.url.query="";this.state="query"}else if(!this.stateOverride&&Wt===p("#")){this.url.fragment="";this.state="fragment"}else if(Wt!==undefined){this.state="path";if(Wt!==p("/")){--this.pointer}}else if(this.stateOverride&&this.url.host===null){this.url.path.push("")}return true};URLStateMachine.prototype["parse path"]=function parsePath(Wt){if(isNaN(Wt)||Wt===p("/")||isSpecial(this.url)&&Wt===p("\\")||!this.stateOverride&&(Wt===p("?")||Wt===p("#"))){if(isSpecial(this.url)&&Wt===p("\\")){this.parseError=true}if(isDoubleDot(this.buffer)){shortenPath(this.url);if(Wt!==p("/")&&!(isSpecial(this.url)&&Wt===p("\\"))){this.url.path.push("")}}else if(isSingleDot(this.buffer)&&Wt!==p("/")&&!(isSpecial(this.url)&&Wt===p("\\"))){this.url.path.push("")}else if(!isSingleDot(this.buffer)){if(this.url.scheme==="file"&&this.url.path.length===0&&isWindowsDriveLetterString(this.buffer)){this.buffer=`${this.buffer[0]}:`}this.url.path.push(this.buffer)}this.buffer="";if(Wt===p("?")){this.url.query="";this.state="query"}if(Wt===p("#")){this.url.fragment="";this.state="fragment"}}else{if(Wt===p("%")&&(!nn.isASCIIHex(this.input[this.pointer+1])||!nn.isASCIIHex(this.input[this.pointer+2]))){this.parseError=true}this.buffer+=rn(Wt,pn)}return true};URLStateMachine.prototype["parse opaque path"]=function parseOpaquePath(Wt){if(Wt===p("?")){this.url.query="";this.state="query"}else if(Wt===p("#")){this.url.fragment="";this.state="fragment"}else{if(!isNaN(Wt)&&Wt!==p("%")){this.parseError=true}if(Wt===p("%")&&(!nn.isASCIIHex(this.input[this.pointer+1])||!nn.isASCIIHex(this.input[this.pointer+2]))){this.parseError=true}if(!isNaN(Wt)){this.url.path+=rn(Wt,on)}}return true};URLStateMachine.prototype["parse query"]=function parseQuery(Wt,Pt){if(!isSpecial(this.url)||this.url.scheme==="ws"||this.url.scheme==="wss"){this.encodingOverride="utf-8"}if(!this.stateOverride&&Wt===p("#")||isNaN(Wt)){const Pt=isSpecial(this.url)?un:dn;this.url.query+=sn(this.buffer,Pt);this.buffer="";if(Wt===p("#")){this.url.fragment="";this.state="fragment"}}else if(!isNaN(Wt)){if(Wt===p("%")&&(!nn.isASCIIHex(this.input[this.pointer+1])||!nn.isASCIIHex(this.input[this.pointer+2]))){this.parseError=true}this.buffer+=Pt}return true};URLStateMachine.prototype["parse fragment"]=function parseFragment(Wt){if(!isNaN(Wt)){if(Wt===p("%")&&(!nn.isASCIIHex(this.input[this.pointer+1])||!nn.isASCIIHex(this.input[this.pointer+2]))){this.parseError=true}this.url.fragment+=rn(Wt,cn)}return true};function serializeURL(Wt,Pt){let en=`${Wt.scheme}:`;if(Wt.host!==null){en+="//";if(Wt.username!==""||Wt.password!==""){en+=Wt.username;if(Wt.password!==""){en+=`:${Wt.password}`}en+="@"}en+=serializeHost(Wt.host);if(Wt.port!==null){en+=`:${Wt.port}`}}if(Wt.host===null&&!hasAnOpaquePath(Wt)&&Wt.path.length>1&&Wt.path[0]===""){en+="/."}en+=serializePath(Wt);if(Wt.query!==null){en+=`?${Wt.query}`}if(!Pt&&Wt.fragment!==null){en+=`#${Wt.fragment}`}return en}function serializeOrigin(Wt){let Pt=`${Wt.scheme}://`;Pt+=serializeHost(Wt.host);if(Wt.port!==null){Pt+=`:${Wt.port}`}return Pt}function serializePath(Wt){if(hasAnOpaquePath(Wt)){return Wt.path}let Pt="";for(const en of Wt.path){Pt+=`/${en}`}return Pt}Wt.exports.serializeURL=serializeURL;Wt.exports.serializePath=serializePath;Wt.exports.serializeURLOrigin=function(Pt){switch(Pt.scheme){case"blob":{const en=Wt.exports.parseURL(serializePath(Pt));if(en===null){return"null"}if(en.scheme!=="http"&&en.scheme!=="https"){return"null"}return Wt.exports.serializeURLOrigin(en)}case"ftp":case"http":case"https":case"ws":case"wss":return serializeOrigin({scheme:Pt.scheme,host:Pt.host,port:Pt.port});case"file":return"null";default:return"null"}};Wt.exports.basicURLParse=function(Wt,Pt){if(Pt===undefined){Pt={}}const en=new URLStateMachine(Wt,Pt.baseURL,Pt.encodingOverride,Pt.url,Pt.stateOverride);if(en.failure){return null}return en.url};Wt.exports.setTheUsername=function(Wt,Pt){Wt.username=sn(Pt,mn)};Wt.exports.setThePassword=function(Wt,Pt){Wt.password=sn(Pt,mn)};Wt.exports.serializeHost=serializeHost;Wt.exports.cannotHaveAUsernamePasswordPort=cannotHaveAUsernamePasswordPort;Wt.exports.hasAnOpaquePath=hasAnOpaquePath;Wt.exports.serializeInteger=function(Wt){return String(Wt)};Wt.exports.parseURL=function(Pt,en){if(en===undefined){en={}}return Wt.exports.basicURLParse(Pt,{baseURL:en.baseURL,encodingOverride:en.encodingOverride})}},36367:(Wt,Pt,en)=>{const{utf8Encode:tn,utf8DecodeWithoutBOM:nn}=en(84887);const{percentDecodeBytes:an,utf8PercentEncodeString:In,isURLEncodedPercentEncode:rn}=en(687);function p(Wt){return Wt.codePointAt(0)}function parseUrlencoded(Wt){const Pt=strictlySplitByteSequence(Wt,p("&"));const en=[];for(const Wt of Pt){if(Wt.length===0){continue}let Pt,tn;const In=Wt.indexOf(p("="));if(In>=0){Pt=Wt.slice(0,In);tn=Wt.slice(In+1)}else{Pt=Wt;tn=new Uint8Array(0)}Pt=replaceByteInByteSequence(Pt,43,32);tn=replaceByteInByteSequence(tn,43,32);const rn=nn(an(Pt));const sn=nn(an(tn));en.push([rn,sn])}return en}function parseUrlencodedString(Wt){return parseUrlencoded(tn(Wt))}function serializeUrlencoded(Wt,Pt=undefined){let en="utf-8";if(Pt!==undefined){en=Pt}let tn="";for(const[Pt,nn]of Wt.entries()){const Wt=In(nn[0],rn,true);let an=nn[1];if(nn.length>2&&nn[2]!==undefined){if(nn[2]==="hidden"&&Wt==="_charset_"){an=en}else if(nn[2]==="file"){an=an.name}}an=In(an,rn,true);if(Pt!==0){tn+="&"}tn+=`${Wt}=${an}`}return tn}function strictlySplitByteSequence(Wt,Pt){const en=[];let tn=0;let nn=Wt.indexOf(Pt);while(nn>=0){en.push(Wt.slice(tn,nn));tn=nn+1;nn=Wt.indexOf(Pt,tn)}if(tn!==Wt.length){en.push(Wt.slice(tn))}return en}function replaceByteInByteSequence(Wt,Pt,en){let tn=Wt.indexOf(Pt);while(tn>=0){Wt[tn]=en;tn=Wt.indexOf(Pt,tn+1)}return Wt}Wt.exports={parseUrlencodedString:parseUrlencodedString,serializeUrlencoded:serializeUrlencoded}},39857:(Wt,Pt)=>{function isObject(Wt){return typeof Wt==="object"&&Wt!==null||typeof Wt==="function"}const en=Function.prototype.call.bind(Object.prototype.hasOwnProperty);function define(Wt,Pt){for(const en of Reflect.ownKeys(Pt)){const tn=Reflect.getOwnPropertyDescriptor(Pt,en);if(tn&&!Reflect.defineProperty(Wt,en,tn)){throw new TypeError(`Cannot redefine property: ${String(en)}`)}}}function newObjectInRealm(Wt,Pt){const en=initCtorRegistry(Wt);return Object.defineProperties(Object.create(en["%Object.prototype%"]),Object.getOwnPropertyDescriptors(Pt))}const tn=Symbol("wrapper");const nn=Symbol("impl");const an=Symbol("SameObject caches");const In=Symbol.for("[webidl2js] constructor registry");const rn=Object.getPrototypeOf(Object.getPrototypeOf((async function*(){})).prototype);function initCtorRegistry(Wt){if(en(Wt,In)){return Wt[In]}const Pt=Object.create(null);Pt["%Object.prototype%"]=Wt.Object.prototype;Pt["%IteratorPrototype%"]=Object.getPrototypeOf(Object.getPrototypeOf((new Wt.Array)[Symbol.iterator]()));try{Pt["%AsyncIteratorPrototype%"]=Object.getPrototypeOf(Object.getPrototypeOf(Wt.eval("(async function* () {})").prototype))}catch{Pt["%AsyncIteratorPrototype%"]=rn}Wt[In]=Pt;return Pt}function getSameObject(Wt,Pt,en){if(!Wt[an]){Wt[an]=Object.create(null)}if(Pt in Wt[an]){return Wt[an][Pt]}Wt[an][Pt]=en();return Wt[an][Pt]}function wrapperForImpl(Wt){return Wt?Wt[tn]:null}function implForWrapper(Wt){return Wt?Wt[nn]:null}function tryWrapperForImpl(Wt){const Pt=wrapperForImpl(Wt);return Pt?Pt:Wt}function tryImplForWrapper(Wt){const Pt=implForWrapper(Wt);return Pt?Pt:Wt}const sn=Symbol("internal");function isArrayIndexPropName(Wt){if(typeof Wt!=="string"){return false}const Pt=Wt>>>0;if(Pt===2**32-1){return false}const en=`${Pt}`;if(Wt!==en){return false}return true}const on=Object.getOwnPropertyDescriptor(ArrayBuffer.prototype,"byteLength").get;function isArrayBuffer(Wt){try{on.call(Wt);return true}catch(Wt){return false}}function iteratorResult([Wt,Pt],en){let tn;switch(en){case"key":tn=Wt;break;case"value":tn=Pt;break;case"key+value":tn=[Wt,Pt];break}return{value:tn,done:false}}const cn=Symbol("supports property index");const dn=Symbol("supported property indices");const un=Symbol("supports property name");const pn=Symbol("supported property names");const mn=Symbol("indexed property get");const bn=Symbol("indexed property set new");const Gn=Symbol("indexed property set existing");const hn=Symbol("named property get");const Zn=Symbol("named property set new");const An=Symbol("named property set existing");const Wn=Symbol("named property delete");const Nn=Symbol("async iterator get the next iteration result");const gn=Symbol("async iterator return steps");const yn=Symbol("async iterator initialization steps");const vn=Symbol("async iterator end of iteration");Wt.exports=Pt={isObject:isObject,hasOwn:en,define:define,newObjectInRealm:newObjectInRealm,wrapperSymbol:tn,implSymbol:nn,getSameObject:getSameObject,ctorRegistrySymbol:In,initCtorRegistry:initCtorRegistry,wrapperForImpl:wrapperForImpl,implForWrapper:implForWrapper,tryWrapperForImpl:tryWrapperForImpl,tryImplForWrapper:tryImplForWrapper,iterInternalSymbol:sn,isArrayBuffer:isArrayBuffer,isArrayIndexPropName:isArrayIndexPropName,supportsPropertyIndex:cn,supportedPropertyIndices:dn,supportsPropertyName:un,supportedPropertyNames:pn,indexedGet:mn,indexedSetNew:bn,indexedSetExisting:Gn,namedGet:hn,namedSetNew:Zn,namedSetExisting:An,namedDelete:Wn,asyncIteratorNext:Nn,asyncIteratorReturn:gn,asyncIteratorInit:yn,asyncIteratorEOI:vn,iteratorResult:iteratorResult}},74108:(Wt,Pt,en)=>{const tn=en(66633);const nn=en(63627);Pt.URL=tn;Pt.URLSearchParams=nn},58264:Wt=>{Wt.exports=wrappy;function wrappy(Wt,Pt){if(Wt&&Pt)return wrappy(Wt)(Pt);if(typeof Wt!=="function")throw new TypeError("need wrapper function");Object.keys(Wt).forEach((function(Pt){wrapper[Pt]=Wt[Pt]}));return wrapper;function wrapper(){var Pt=new Array(arguments.length);for(var en=0;en{const tn=en(56681);tn.createWebSocketStream=en(86412);tn.Server=en(70129);tn.Receiver=en(20893);tn.Sender=en(7389);tn.WebSocket=tn;tn.WebSocketServer=tn.Server;Wt.exports=tn},95803:(Wt,Pt,en)=>{const{EMPTY_BUFFER:tn}=en(71791);const nn=Buffer[Symbol.species];function concat(Wt,Pt){if(Wt.length===0)return tn;if(Wt.length===1)return Wt[0];const en=Buffer.allocUnsafe(Pt);let an=0;for(let Pt=0;Pt{const Pt=["nodebuffer","arraybuffer","fragments"];const en=typeof Blob!=="undefined";if(en)Pt.push("blob");Wt.exports={BINARY_TYPES:Pt,EMPTY_BUFFER:Buffer.alloc(0),GUID:"258EAFA5-E914-47DA-95CA-C5AB0DC85B11",hasBlob:en,kForOnEventAttribute:Symbol("kIsForOnEventAttribute"),kListener:Symbol("kListener"),kStatusCode:Symbol("status-code"),kWebSocket:Symbol("websocket"),NOOP:()=>{}}},34634:(Wt,Pt,en)=>{const{kForOnEventAttribute:tn,kListener:nn}=en(71791);const an=Symbol("kCode");const In=Symbol("kData");const rn=Symbol("kError");const sn=Symbol("kMessage");const on=Symbol("kReason");const cn=Symbol("kTarget");const dn=Symbol("kType");const un=Symbol("kWasClean");class Event{constructor(Wt){this[cn]=null;this[dn]=Wt}get target(){return this[cn]}get type(){return this[dn]}}Object.defineProperty(Event.prototype,"target",{enumerable:true});Object.defineProperty(Event.prototype,"type",{enumerable:true});class CloseEvent extends Event{constructor(Wt,Pt={}){super(Wt);this[an]=Pt.code===undefined?0:Pt.code;this[on]=Pt.reason===undefined?"":Pt.reason;this[un]=Pt.wasClean===undefined?false:Pt.wasClean}get code(){return this[an]}get reason(){return this[on]}get wasClean(){return this[un]}}Object.defineProperty(CloseEvent.prototype,"code",{enumerable:true});Object.defineProperty(CloseEvent.prototype,"reason",{enumerable:true});Object.defineProperty(CloseEvent.prototype,"wasClean",{enumerable:true});class ErrorEvent extends Event{constructor(Wt,Pt={}){super(Wt);this[rn]=Pt.error===undefined?null:Pt.error;this[sn]=Pt.message===undefined?"":Pt.message}get error(){return this[rn]}get message(){return this[sn]}}Object.defineProperty(ErrorEvent.prototype,"error",{enumerable:true});Object.defineProperty(ErrorEvent.prototype,"message",{enumerable:true});class MessageEvent extends Event{constructor(Wt,Pt={}){super(Wt);this[In]=Pt.data===undefined?null:Pt.data}get data(){return this[In]}}Object.defineProperty(MessageEvent.prototype,"data",{enumerable:true});const pn={addEventListener(Wt,Pt,en={}){for(const an of this.listeners(Wt)){if(!en[tn]&&an[nn]===Pt&&!an[tn]){return}}let an;if(Wt==="message"){an=function onMessage(Wt,en){const tn=new MessageEvent("message",{data:en?Wt:Wt.toString()});tn[cn]=this;callListener(Pt,this,tn)}}else if(Wt==="close"){an=function onClose(Wt,en){const tn=new CloseEvent("close",{code:Wt,reason:en.toString(),wasClean:this._closeFrameReceived&&this._closeFrameSent});tn[cn]=this;callListener(Pt,this,tn)}}else if(Wt==="error"){an=function onError(Wt){const en=new ErrorEvent("error",{error:Wt,message:Wt.message});en[cn]=this;callListener(Pt,this,en)}}else if(Wt==="open"){an=function onOpen(){const Wt=new Event("open");Wt[cn]=this;callListener(Pt,this,Wt)}}else{return}an[tn]=!!en[tn];an[nn]=Pt;if(en.once){this.once(Wt,an)}else{this.on(Wt,an)}},removeEventListener(Wt,Pt){for(const en of this.listeners(Wt)){if(en[nn]===Pt&&!en[tn]){this.removeListener(Wt,en);break}}}};Wt.exports={CloseEvent:CloseEvent,ErrorEvent:ErrorEvent,Event:Event,EventTarget:pn,MessageEvent:MessageEvent};function callListener(Wt,Pt,en){if(typeof Wt==="object"&&Wt.handleEvent){Wt.handleEvent.call(Wt,en)}else{Wt.call(Pt,en)}}},61335:(Wt,Pt,en)=>{const{tokenChars:tn}=en(26615);function push(Wt,Pt,en){if(Wt[Pt]===undefined)Wt[Pt]=[en];else Wt[Pt].push(en)}function parse(Wt){const Pt=Object.create(null);let en=Object.create(null);let nn=false;let an=false;let In=false;let rn;let sn;let on=-1;let cn=-1;let dn=-1;let un=0;for(;un{let en=Wt[Pt];if(!Array.isArray(en))en=[en];return en.map((Wt=>[Pt].concat(Object.keys(Wt).map((Pt=>{let en=Wt[Pt];if(!Array.isArray(en))en=[en];return en.map((Wt=>Wt===true?Pt:`${Pt}=${Wt}`)).join("; ")}))).join("; "))).join(", ")})).join(", ")}Wt.exports={format:format,parse:parse}},10958:Wt=>{const Pt=Symbol("kDone");const en=Symbol("kRun");class Limiter{constructor(Wt){this[Pt]=()=>{this.pending--;this[en]()};this.concurrency=Wt||Infinity;this.jobs=[];this.pending=0}add(Wt){this.jobs.push(Wt);this[en]()}[en](){if(this.pending===this.concurrency)return;if(this.jobs.length){const Wt=this.jobs.shift();this.pending++;Wt(this[Pt])}}}Wt.exports=Limiter},4376:(Wt,Pt,en)=>{const tn=en(43106);const nn=en(95803);const an=en(10958);const{kStatusCode:In}=en(71791);const rn=Buffer[Symbol.species];const sn=Buffer.from([0,0,255,255]);const on=Symbol("permessage-deflate");const cn=Symbol("total-length");const dn=Symbol("callback");const un=Symbol("buffers");const pn=Symbol("error");let mn;class PerMessageDeflate{constructor(Wt,Pt,en){this._maxPayload=en|0;this._options=Wt||{};this._threshold=this._options.threshold!==undefined?this._options.threshold:1024;this._isServer=!!Pt;this._deflate=null;this._inflate=null;this.params=null;if(!mn){const Wt=this._options.concurrencyLimit!==undefined?this._options.concurrencyLimit:10;mn=new an(Wt)}}static get extensionName(){return"permessage-deflate"}offer(){const Wt={};if(this._options.serverNoContextTakeover){Wt.server_no_context_takeover=true}if(this._options.clientNoContextTakeover){Wt.client_no_context_takeover=true}if(this._options.serverMaxWindowBits){Wt.server_max_window_bits=this._options.serverMaxWindowBits}if(this._options.clientMaxWindowBits){Wt.client_max_window_bits=this._options.clientMaxWindowBits}else if(this._options.clientMaxWindowBits==null){Wt.client_max_window_bits=true}return Wt}accept(Wt){Wt=this.normalizeParams(Wt);this.params=this._isServer?this.acceptAsServer(Wt):this.acceptAsClient(Wt);return this.params}cleanup(){if(this._inflate){this._inflate.close();this._inflate=null}if(this._deflate){const Wt=this._deflate[dn];this._deflate.close();this._deflate=null;if(Wt){Wt(new Error("The deflate stream was closed while data was being processed"))}}}acceptAsServer(Wt){const Pt=this._options;const en=Wt.find((Wt=>{if(Pt.serverNoContextTakeover===false&&Wt.server_no_context_takeover||Wt.server_max_window_bits&&(Pt.serverMaxWindowBits===false||typeof Pt.serverMaxWindowBits==="number"&&Pt.serverMaxWindowBits>Wt.server_max_window_bits)||typeof Pt.clientMaxWindowBits==="number"&&!Wt.client_max_window_bits){return false}return true}));if(!en){throw new Error("None of the extension offers can be accepted")}if(Pt.serverNoContextTakeover){en.server_no_context_takeover=true}if(Pt.clientNoContextTakeover){en.client_no_context_takeover=true}if(typeof Pt.serverMaxWindowBits==="number"){en.server_max_window_bits=Pt.serverMaxWindowBits}if(typeof Pt.clientMaxWindowBits==="number"){en.client_max_window_bits=Pt.clientMaxWindowBits}else if(en.client_max_window_bits===true||Pt.clientMaxWindowBits===false){delete en.client_max_window_bits}return en}acceptAsClient(Wt){const Pt=Wt[0];if(this._options.clientNoContextTakeover===false&&Pt.client_no_context_takeover){throw new Error('Unexpected parameter "client_no_context_takeover"')}if(!Pt.client_max_window_bits){if(typeof this._options.clientMaxWindowBits==="number"){Pt.client_max_window_bits=this._options.clientMaxWindowBits}}else if(this._options.clientMaxWindowBits===false||typeof this._options.clientMaxWindowBits==="number"&&Pt.client_max_window_bits>this._options.clientMaxWindowBits){throw new Error('Unexpected or invalid parameter "client_max_window_bits"')}return Pt}normalizeParams(Wt){Wt.forEach((Wt=>{Object.keys(Wt).forEach((Pt=>{let en=Wt[Pt];if(en.length>1){throw new Error(`Parameter "${Pt}" must have only a single value`)}en=en[0];if(Pt==="client_max_window_bits"){if(en!==true){const Wt=+en;if(!Number.isInteger(Wt)||Wt<8||Wt>15){throw new TypeError(`Invalid value for parameter "${Pt}": ${en}`)}en=Wt}else if(!this._isServer){throw new TypeError(`Invalid value for parameter "${Pt}": ${en}`)}}else if(Pt==="server_max_window_bits"){const Wt=+en;if(!Number.isInteger(Wt)||Wt<8||Wt>15){throw new TypeError(`Invalid value for parameter "${Pt}": ${en}`)}en=Wt}else if(Pt==="client_no_context_takeover"||Pt==="server_no_context_takeover"){if(en!==true){throw new TypeError(`Invalid value for parameter "${Pt}": ${en}`)}}else{throw new Error(`Unknown parameter "${Pt}"`)}Wt[Pt]=en}))}));return Wt}decompress(Wt,Pt,en){mn.add((tn=>{this._decompress(Wt,Pt,((Wt,Pt)=>{tn();en(Wt,Pt)}))}))}compress(Wt,Pt,en){mn.add((tn=>{this._compress(Wt,Pt,((Wt,Pt)=>{tn();en(Wt,Pt)}))}))}_decompress(Wt,Pt,en){const an=this._isServer?"client":"server";if(!this._inflate){const Wt=`${an}_max_window_bits`;const Pt=typeof this.params[Wt]!=="number"?tn.Z_DEFAULT_WINDOWBITS:this.params[Wt];this._inflate=tn.createInflateRaw({...this._options.zlibInflateOptions,windowBits:Pt});this._inflate[on]=this;this._inflate[cn]=0;this._inflate[un]=[];this._inflate.on("error",inflateOnError);this._inflate.on("data",inflateOnData)}this._inflate[dn]=en;this._inflate.write(Wt);if(Pt)this._inflate.write(sn);this._inflate.flush((()=>{const Wt=this._inflate[pn];if(Wt){this._inflate.close();this._inflate=null;en(Wt);return}const tn=nn.concat(this._inflate[un],this._inflate[cn]);if(this._inflate._readableState.endEmitted){this._inflate.close();this._inflate=null}else{this._inflate[cn]=0;this._inflate[un]=[];if(Pt&&this.params[`${an}_no_context_takeover`]){this._inflate.reset()}}en(null,tn)}))}_compress(Wt,Pt,en){const an=this._isServer?"server":"client";if(!this._deflate){const Wt=`${an}_max_window_bits`;const Pt=typeof this.params[Wt]!=="number"?tn.Z_DEFAULT_WINDOWBITS:this.params[Wt];this._deflate=tn.createDeflateRaw({...this._options.zlibDeflateOptions,windowBits:Pt});this._deflate[cn]=0;this._deflate[un]=[];this._deflate.on("data",deflateOnData)}this._deflate[dn]=en;this._deflate.write(Wt);this._deflate.flush(tn.Z_SYNC_FLUSH,(()=>{if(!this._deflate){return}let Wt=nn.concat(this._deflate[un],this._deflate[cn]);if(Pt){Wt=new rn(Wt.buffer,Wt.byteOffset,Wt.length-4)}this._deflate[dn]=null;this._deflate[cn]=0;this._deflate[un]=[];if(Pt&&this.params[`${an}_no_context_takeover`]){this._deflate.reset()}en(null,Wt)}))}}Wt.exports=PerMessageDeflate;function deflateOnData(Wt){this[un].push(Wt);this[cn]+=Wt.length}function inflateOnData(Wt){this[cn]+=Wt.length;if(this[on]._maxPayload<1||this[cn]<=this[on]._maxPayload){this[un].push(Wt);return}this[pn]=new RangeError("Max payload size exceeded");this[pn].code="WS_ERR_UNSUPPORTED_MESSAGE_LENGTH";this[pn][In]=1009;this.removeListener("data",inflateOnData);this.reset()}function inflateOnError(Wt){this[on]._inflate=null;Wt[In]=1007;this[dn](Wt)}},20893:(Wt,Pt,en)=>{const{Writable:tn}=en(2203);const nn=en(4376);const{BINARY_TYPES:an,EMPTY_BUFFER:In,kStatusCode:rn,kWebSocket:sn}=en(71791);const{concat:on,toArrayBuffer:cn,unmask:dn}=en(95803);const{isValidStatusCode:un,isValidUTF8:pn}=en(26615);const mn=Buffer[Symbol.species];const bn=0;const Gn=1;const hn=2;const Zn=3;const An=4;const Wn=5;const Nn=6;class Receiver extends tn{constructor(Wt={}){super();this._allowSynchronousEvents=Wt.allowSynchronousEvents!==undefined?Wt.allowSynchronousEvents:true;this._binaryType=Wt.binaryType||an[0];this._extensions=Wt.extensions||{};this._isServer=!!Wt.isServer;this._maxPayload=Wt.maxPayload|0;this._skipUTF8Validation=!!Wt.skipUTF8Validation;this[sn]=undefined;this._bufferedBytes=0;this._buffers=[];this._compressed=false;this._payloadLength=0;this._mask=undefined;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=bn}_write(Wt,Pt,en){if(this._opcode===8&&this._state==bn)return en();this._bufferedBytes+=Wt.length;this._buffers.push(Wt);this.startLoop(en)}consume(Wt){this._bufferedBytes-=Wt;if(Wt===this._buffers[0].length)return this._buffers.shift();if(Wt=en.length){Pt.set(this._buffers.shift(),tn)}else{Pt.set(new Uint8Array(en.buffer,en.byteOffset,Wt),tn);this._buffers[0]=new mn(en.buffer,en.byteOffset+Wt,en.length-Wt)}Wt-=en.length}while(Wt>0);return Pt}startLoop(Wt){this._loop=true;do{switch(this._state){case bn:this.getInfo(Wt);break;case Gn:this.getPayloadLength16(Wt);break;case hn:this.getPayloadLength64(Wt);break;case Zn:this.getMask();break;case An:this.getData(Wt);break;case Wn:case Nn:this._loop=false;return}}while(this._loop);if(!this._errored)Wt()}getInfo(Wt){if(this._bufferedBytes<2){this._loop=false;return}const Pt=this.consume(2);if((Pt[0]&48)!==0){const Pt=this.createError(RangeError,"RSV2 and RSV3 must be clear",true,1002,"WS_ERR_UNEXPECTED_RSV_2_3");Wt(Pt);return}const en=(Pt[0]&64)===64;if(en&&!this._extensions[nn.extensionName]){const Pt=this.createError(RangeError,"RSV1 must be clear",true,1002,"WS_ERR_UNEXPECTED_RSV_1");Wt(Pt);return}this._fin=(Pt[0]&128)===128;this._opcode=Pt[0]&15;this._payloadLength=Pt[1]&127;if(this._opcode===0){if(en){const Pt=this.createError(RangeError,"RSV1 must be clear",true,1002,"WS_ERR_UNEXPECTED_RSV_1");Wt(Pt);return}if(!this._fragmented){const Pt=this.createError(RangeError,"invalid opcode 0",true,1002,"WS_ERR_INVALID_OPCODE");Wt(Pt);return}this._opcode=this._fragmented}else if(this._opcode===1||this._opcode===2){if(this._fragmented){const Pt=this.createError(RangeError,`invalid opcode ${this._opcode}`,true,1002,"WS_ERR_INVALID_OPCODE");Wt(Pt);return}this._compressed=en}else if(this._opcode>7&&this._opcode<11){if(!this._fin){const Pt=this.createError(RangeError,"FIN must be set",true,1002,"WS_ERR_EXPECTED_FIN");Wt(Pt);return}if(en){const Pt=this.createError(RangeError,"RSV1 must be clear",true,1002,"WS_ERR_UNEXPECTED_RSV_1");Wt(Pt);return}if(this._payloadLength>125||this._opcode===8&&this._payloadLength===1){const Pt=this.createError(RangeError,`invalid payload length ${this._payloadLength}`,true,1002,"WS_ERR_INVALID_CONTROL_PAYLOAD_LENGTH");Wt(Pt);return}}else{const Pt=this.createError(RangeError,`invalid opcode ${this._opcode}`,true,1002,"WS_ERR_INVALID_OPCODE");Wt(Pt);return}if(!this._fin&&!this._fragmented)this._fragmented=this._opcode;this._masked=(Pt[1]&128)===128;if(this._isServer){if(!this._masked){const Pt=this.createError(RangeError,"MASK must be set",true,1002,"WS_ERR_EXPECTED_MASK");Wt(Pt);return}}else if(this._masked){const Pt=this.createError(RangeError,"MASK must be clear",true,1002,"WS_ERR_UNEXPECTED_MASK");Wt(Pt);return}if(this._payloadLength===126)this._state=Gn;else if(this._payloadLength===127)this._state=hn;else this.haveLength(Wt)}getPayloadLength16(Wt){if(this._bufferedBytes<2){this._loop=false;return}this._payloadLength=this.consume(2).readUInt16BE(0);this.haveLength(Wt)}getPayloadLength64(Wt){if(this._bufferedBytes<8){this._loop=false;return}const Pt=this.consume(8);const en=Pt.readUInt32BE(0);if(en>Math.pow(2,53-32)-1){const Pt=this.createError(RangeError,"Unsupported WebSocket frame: payload length > 2^53 - 1",false,1009,"WS_ERR_UNSUPPORTED_DATA_PAYLOAD_LENGTH");Wt(Pt);return}this._payloadLength=en*Math.pow(2,32)+Pt.readUInt32BE(4);this.haveLength(Wt)}haveLength(Wt){if(this._payloadLength&&this._opcode<8){this._totalPayloadLength+=this._payloadLength;if(this._totalPayloadLength>this._maxPayload&&this._maxPayload>0){const Pt=this.createError(RangeError,"Max payload size exceeded",false,1009,"WS_ERR_UNSUPPORTED_MESSAGE_LENGTH");Wt(Pt);return}}if(this._masked)this._state=Zn;else this._state=An}getMask(){if(this._bufferedBytes<4){this._loop=false;return}this._mask=this.consume(4);this._state=An}getData(Wt){let Pt=In;if(this._payloadLength){if(this._bufferedBytes7){this.controlMessage(Pt,Wt);return}if(this._compressed){this._state=Wn;this.decompress(Pt,Wt);return}if(Pt.length){this._messageLength=this._totalPayloadLength;this._fragments.push(Pt)}this.dataMessage(Wt)}decompress(Wt,Pt){const en=this._extensions[nn.extensionName];en.decompress(Wt,this._fin,((Wt,en)=>{if(Wt)return Pt(Wt);if(en.length){this._messageLength+=en.length;if(this._messageLength>this._maxPayload&&this._maxPayload>0){const Wt=this.createError(RangeError,"Max payload size exceeded",false,1009,"WS_ERR_UNSUPPORTED_MESSAGE_LENGTH");Pt(Wt);return}this._fragments.push(en)}this.dataMessage(Pt);if(this._state===bn)this.startLoop(Pt)}))}dataMessage(Wt){if(!this._fin){this._state=bn;return}const Pt=this._messageLength;const en=this._fragments;this._totalPayloadLength=0;this._messageLength=0;this._fragmented=0;this._fragments=[];if(this._opcode===2){let tn;if(this._binaryType==="nodebuffer"){tn=on(en,Pt)}else if(this._binaryType==="arraybuffer"){tn=cn(on(en,Pt))}else if(this._binaryType==="blob"){tn=new Blob(en)}else{tn=en}if(this._allowSynchronousEvents){this.emit("message",tn,true);this._state=bn}else{this._state=Nn;setImmediate((()=>{this.emit("message",tn,true);this._state=bn;this.startLoop(Wt)}))}}else{const tn=on(en,Pt);if(!this._skipUTF8Validation&&!pn(tn)){const Pt=this.createError(Error,"invalid UTF-8 sequence",true,1007,"WS_ERR_INVALID_UTF8");Wt(Pt);return}if(this._state===Wn||this._allowSynchronousEvents){this.emit("message",tn,false);this._state=bn}else{this._state=Nn;setImmediate((()=>{this.emit("message",tn,false);this._state=bn;this.startLoop(Wt)}))}}}controlMessage(Wt,Pt){if(this._opcode===8){if(Wt.length===0){this._loop=false;this.emit("conclude",1005,In);this.end()}else{const en=Wt.readUInt16BE(0);if(!un(en)){const Wt=this.createError(RangeError,`invalid status code ${en}`,true,1002,"WS_ERR_INVALID_CLOSE_CODE");Pt(Wt);return}const tn=new mn(Wt.buffer,Wt.byteOffset+2,Wt.length-2);if(!this._skipUTF8Validation&&!pn(tn)){const Wt=this.createError(Error,"invalid UTF-8 sequence",true,1007,"WS_ERR_INVALID_UTF8");Pt(Wt);return}this._loop=false;this.emit("conclude",en,tn);this.end()}this._state=bn;return}if(this._allowSynchronousEvents){this.emit(this._opcode===9?"ping":"pong",Wt);this._state=bn}else{this._state=Nn;setImmediate((()=>{this.emit(this._opcode===9?"ping":"pong",Wt);this._state=bn;this.startLoop(Pt)}))}}createError(Wt,Pt,en,tn,nn){this._loop=false;this._errored=true;const an=new Wt(en?`Invalid WebSocket frame: ${Pt}`:Pt);Error.captureStackTrace(an,this.createError);an.code=nn;an[rn]=tn;return an}}Wt.exports=Receiver},7389:(Wt,Pt,en)=>{const{Duplex:tn}=en(2203);const{randomFillSync:nn}=en(76982);const an=en(4376);const{EMPTY_BUFFER:In,kWebSocket:rn,NOOP:sn}=en(71791);const{isBlob:on,isValidStatusCode:cn}=en(26615);const{mask:dn,toBuffer:un}=en(95803);const pn=Symbol("kByteLength");const mn=Buffer.alloc(4);const bn=8*1024;let Gn;let hn=bn;const Zn=0;const An=1;const Wn=2;class Sender{constructor(Wt,Pt,en){this._extensions=Pt||{};if(en){this._generateMask=en;this._maskBuffer=Buffer.alloc(4)}this._socket=Wt;this._firstFragment=true;this._compress=false;this._bufferedBytes=0;this._queue=[];this._state=Zn;this.onerror=sn;this[rn]=undefined}static frame(Wt,Pt){let en;let tn=false;let an=2;let In=false;if(Pt.mask){en=Pt.maskBuffer||mn;if(Pt.generateMask){Pt.generateMask(en)}else{if(hn===bn){if(Gn===undefined){Gn=Buffer.alloc(bn)}nn(Gn,0,bn);hn=0}en[0]=Gn[hn++];en[1]=Gn[hn++];en[2]=Gn[hn++];en[3]=Gn[hn++]}In=(en[0]|en[1]|en[2]|en[3])===0;an=6}let rn;if(typeof Wt==="string"){if((!Pt.mask||In)&&Pt[pn]!==undefined){rn=Pt[pn]}else{Wt=Buffer.from(Wt);rn=Wt.length}}else{rn=Wt.length;tn=Pt.mask&&Pt.readOnly&&!In}let sn=rn;if(rn>=65536){an+=8;sn=127}else if(rn>125){an+=2;sn=126}const on=Buffer.allocUnsafe(tn?rn+an:an);on[0]=Pt.fin?Pt.opcode|128:Pt.opcode;if(Pt.rsv1)on[0]|=64;on[1]=sn;if(sn===126){on.writeUInt16BE(rn,2)}else if(sn===127){on[2]=on[3]=0;on.writeUIntBE(rn,4,6)}if(!Pt.mask)return[on,Wt];on[1]|=128;on[an-4]=en[0];on[an-3]=en[1];on[an-2]=en[2];on[an-1]=en[3];if(In)return[on,Wt];if(tn){dn(Wt,en,on,an,rn);return[on]}dn(Wt,en,Wt,0,rn);return[on,Wt]}close(Wt,Pt,en,tn){let nn;if(Wt===undefined){nn=In}else if(typeof Wt!=="number"||!cn(Wt)){throw new TypeError("First argument must be a valid error code number")}else if(Pt===undefined||!Pt.length){nn=Buffer.allocUnsafe(2);nn.writeUInt16BE(Wt,0)}else{const en=Buffer.byteLength(Pt);if(en>123){throw new RangeError("The message must not be greater than 123 bytes")}nn=Buffer.allocUnsafe(2+en);nn.writeUInt16BE(Wt,0);if(typeof Pt==="string"){nn.write(Pt,2)}else{nn.set(Pt,2)}}const an={[pn]:nn.length,fin:true,generateMask:this._generateMask,mask:en,maskBuffer:this._maskBuffer,opcode:8,readOnly:false,rsv1:false};if(this._state!==Zn){this.enqueue([this.dispatch,nn,false,an,tn])}else{this.sendFrame(Sender.frame(nn,an),tn)}}ping(Wt,Pt,en){let tn;let nn;if(typeof Wt==="string"){tn=Buffer.byteLength(Wt);nn=false}else if(on(Wt)){tn=Wt.size;nn=false}else{Wt=un(Wt);tn=Wt.length;nn=un.readOnly}if(tn>125){throw new RangeError("The data size must not be greater than 125 bytes")}const an={[pn]:tn,fin:true,generateMask:this._generateMask,mask:Pt,maskBuffer:this._maskBuffer,opcode:9,readOnly:nn,rsv1:false};if(on(Wt)){if(this._state!==Zn){this.enqueue([this.getBlobData,Wt,false,an,en])}else{this.getBlobData(Wt,false,an,en)}}else if(this._state!==Zn){this.enqueue([this.dispatch,Wt,false,an,en])}else{this.sendFrame(Sender.frame(Wt,an),en)}}pong(Wt,Pt,en){let tn;let nn;if(typeof Wt==="string"){tn=Buffer.byteLength(Wt);nn=false}else if(on(Wt)){tn=Wt.size;nn=false}else{Wt=un(Wt);tn=Wt.length;nn=un.readOnly}if(tn>125){throw new RangeError("The data size must not be greater than 125 bytes")}const an={[pn]:tn,fin:true,generateMask:this._generateMask,mask:Pt,maskBuffer:this._maskBuffer,opcode:10,readOnly:nn,rsv1:false};if(on(Wt)){if(this._state!==Zn){this.enqueue([this.getBlobData,Wt,false,an,en])}else{this.getBlobData(Wt,false,an,en)}}else if(this._state!==Zn){this.enqueue([this.dispatch,Wt,false,an,en])}else{this.sendFrame(Sender.frame(Wt,an),en)}}send(Wt,Pt,en){const tn=this._extensions[an.extensionName];let nn=Pt.binary?2:1;let In=Pt.compress;let rn;let sn;if(typeof Wt==="string"){rn=Buffer.byteLength(Wt);sn=false}else if(on(Wt)){rn=Wt.size;sn=false}else{Wt=un(Wt);rn=Wt.length;sn=un.readOnly}if(this._firstFragment){this._firstFragment=false;if(In&&tn&&tn.params[tn._isServer?"server_no_context_takeover":"client_no_context_takeover"]){In=rn>=tn._threshold}this._compress=In}else{In=false;nn=0}if(Pt.fin)this._firstFragment=true;const cn={[pn]:rn,fin:Pt.fin,generateMask:this._generateMask,mask:Pt.mask,maskBuffer:this._maskBuffer,opcode:nn,readOnly:sn,rsv1:In};if(on(Wt)){if(this._state!==Zn){this.enqueue([this.getBlobData,Wt,this._compress,cn,en])}else{this.getBlobData(Wt,this._compress,cn,en)}}else if(this._state!==Zn){this.enqueue([this.dispatch,Wt,this._compress,cn,en])}else{this.dispatch(Wt,this._compress,cn,en)}}getBlobData(Wt,Pt,en,tn){this._bufferedBytes+=en[pn];this._state=Wn;Wt.arrayBuffer().then((Wt=>{if(this._socket.destroyed){const Wt=new Error("The socket was closed while the blob was being read");process.nextTick(callCallbacks,this,Wt,tn);return}this._bufferedBytes-=en[pn];const nn=un(Wt);if(!Pt){this._state=Zn;this.sendFrame(Sender.frame(nn,en),tn);this.dequeue()}else{this.dispatch(nn,Pt,en,tn)}})).catch((Wt=>{process.nextTick(onError,this,Wt,tn)}))}dispatch(Wt,Pt,en,tn){if(!Pt){this.sendFrame(Sender.frame(Wt,en),tn);return}const nn=this._extensions[an.extensionName];this._bufferedBytes+=en[pn];this._state=An;nn.compress(Wt,en.fin,((Wt,Pt)=>{if(this._socket.destroyed){const Wt=new Error("The socket was closed while data was being compressed");callCallbacks(this,Wt,tn);return}this._bufferedBytes-=en[pn];this._state=Zn;en.readOnly=false;this.sendFrame(Sender.frame(Pt,en),tn);this.dequeue()}))}dequeue(){while(this._state===Zn&&this._queue.length){const Wt=this._queue.shift();this._bufferedBytes-=Wt[3][pn];Reflect.apply(Wt[0],this,Wt.slice(1))}}enqueue(Wt){this._bufferedBytes+=Wt[3][pn];this._queue.push(Wt)}sendFrame(Wt,Pt){if(Wt.length===2){this._socket.cork();this._socket.write(Wt[0]);this._socket.write(Wt[1],Pt);this._socket.uncork()}else{this._socket.write(Wt[0],Pt)}}}Wt.exports=Sender;function callCallbacks(Wt,Pt,en){if(typeof en==="function")en(Pt);for(let en=0;en{const{Duplex:tn}=en(2203);function emitClose(Wt){Wt.emit("close")}function duplexOnEnd(){if(!this.destroyed&&this._writableState.finished){this.destroy()}}function duplexOnError(Wt){this.removeListener("error",duplexOnError);this.destroy();if(this.listenerCount("error")===0){this.emit("error",Wt)}}function createWebSocketStream(Wt,Pt){let en=true;const nn=new tn({...Pt,autoDestroy:false,emitClose:false,objectMode:false,writableObjectMode:false});Wt.on("message",(function message(Pt,en){const tn=!en&&nn._readableState.objectMode?Pt.toString():Pt;if(!nn.push(tn))Wt.pause()}));Wt.once("error",(function error(Wt){if(nn.destroyed)return;en=false;nn.destroy(Wt)}));Wt.once("close",(function close(){if(nn.destroyed)return;nn.push(null)}));nn._destroy=function(Pt,tn){if(Wt.readyState===Wt.CLOSED){tn(Pt);process.nextTick(emitClose,nn);return}let an=false;Wt.once("error",(function error(Wt){an=true;tn(Wt)}));Wt.once("close",(function close(){if(!an)tn(Pt);process.nextTick(emitClose,nn)}));if(en)Wt.terminate()};nn._final=function(Pt){if(Wt.readyState===Wt.CONNECTING){Wt.once("open",(function open(){nn._final(Pt)}));return}if(Wt._socket===null)return;if(Wt._socket._writableState.finished){Pt();if(nn._readableState.endEmitted)nn.destroy()}else{Wt._socket.once("finish",(function finish(){Pt()}));Wt.close()}};nn._read=function(){if(Wt.isPaused)Wt.resume()};nn._write=function(Pt,en,tn){if(Wt.readyState===Wt.CONNECTING){Wt.once("open",(function open(){nn._write(Pt,en,tn)}));return}Wt.send(Pt,tn)};nn.on("end",duplexOnEnd);nn.on("error",duplexOnError);return nn}Wt.exports=createWebSocketStream},43332:(Wt,Pt,en)=>{const{tokenChars:tn}=en(26615);function parse(Wt){const Pt=new Set;let en=-1;let nn=-1;let an=0;for(an;an{const{isUtf8:tn}=en(20181);const{hasBlob:nn}=en(71791);const an=[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(Wt){return Wt>=1e3&&Wt<=1014&&Wt!==1004&&Wt!==1005&&Wt!==1006||Wt>=3e3&&Wt<=4999}function _isValidUTF8(Wt){const Pt=Wt.length;let en=0;while(en=Pt||(Wt[en+1]&192)!==128||(Wt[en+2]&192)!==128||Wt[en]===224&&(Wt[en+1]&224)===128||Wt[en]===237&&(Wt[en+1]&224)===160){return false}en+=3}else if((Wt[en]&248)===240){if(en+3>=Pt||(Wt[en+1]&192)!==128||(Wt[en+2]&192)!==128||(Wt[en+3]&192)!==128||Wt[en]===240&&(Wt[en+1]&240)===128||Wt[en]===244&&Wt[en+1]>143||Wt[en]>244){return false}en+=4}else{return false}}return true}function isBlob(Wt){return nn&&typeof Wt==="object"&&typeof Wt.arrayBuffer==="function"&&typeof Wt.type==="string"&&typeof Wt.stream==="function"&&(Wt[Symbol.toStringTag]==="Blob"||Wt[Symbol.toStringTag]==="File")}Wt.exports={isBlob:isBlob,isValidStatusCode:isValidStatusCode,isValidUTF8:_isValidUTF8,tokenChars:an};if(tn){Wt.exports.isValidUTF8=function(Wt){return Wt.length<24?_isValidUTF8(Wt):tn(Wt)}}else if(!process.env.WS_NO_UTF_8_VALIDATE){try{const Pt=en(62414);Wt.exports.isValidUTF8=function(Wt){return Wt.length<32?_isValidUTF8(Wt):Pt(Wt)}}catch(Wt){}}},70129:(Wt,Pt,en)=>{const tn=en(24434);const nn=en(58611);const{Duplex:an}=en(2203);const{createHash:In}=en(76982);const rn=en(61335);const sn=en(4376);const on=en(43332);const cn=en(56681);const{GUID:dn,kWebSocket:un}=en(71791);const pn=/^[+/0-9A-Za-z]{22}==$/;const mn=0;const bn=1;const Gn=2;class WebSocketServer extends tn{constructor(Wt,Pt){super();Wt={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:cn,...Wt};if(Wt.port==null&&!Wt.server&&!Wt.noServer||Wt.port!=null&&(Wt.server||Wt.noServer)||Wt.server&&Wt.noServer){throw new TypeError('One and only one of the "port", "server", or "noServer" options '+"must be specified")}if(Wt.port!=null){this._server=nn.createServer(((Wt,Pt)=>{const en=nn.STATUS_CODES[426];Pt.writeHead(426,{"Content-Length":en.length,"Content-Type":"text/plain"});Pt.end(en)}));this._server.listen(Wt.port,Wt.host,Wt.backlog,Pt)}else if(Wt.server){this._server=Wt.server}if(this._server){const Wt=this.emit.bind(this,"connection");this._removeListeners=addListeners(this._server,{listening:this.emit.bind(this,"listening"),error:this.emit.bind(this,"error"),upgrade:(Pt,en,tn)=>{this.handleUpgrade(Pt,en,tn,Wt)}})}if(Wt.perMessageDeflate===true)Wt.perMessageDeflate={};if(Wt.clientTracking){this.clients=new Set;this._shouldEmitClose=false}this.options=Wt;this._state=mn}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(Wt){if(this._state===Gn){if(Wt){this.once("close",(()=>{Wt(new Error("The server is not running"))}))}process.nextTick(emitClose,this);return}if(Wt)this.once("close",Wt);if(this._state===bn)return;this._state=bn;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 Wt=this._server;this._removeListeners();this._removeListeners=this._server=null;Wt.close((()=>{emitClose(this)}))}}shouldHandle(Wt){if(this.options.path){const Pt=Wt.url.indexOf("?");const en=Pt!==-1?Wt.url.slice(0,Pt):Wt.url;if(en!==this.options.path)return false}return true}handleUpgrade(Wt,Pt,en,tn){Pt.on("error",socketOnError);const nn=Wt.headers["sec-websocket-key"];const an=Wt.headers.upgrade;const In=+Wt.headers["sec-websocket-version"];if(Wt.method!=="GET"){const en="Invalid HTTP method";abortHandshakeOrEmitwsClientError(this,Wt,Pt,405,en);return}if(an===undefined||an.toLowerCase()!=="websocket"){const en="Invalid Upgrade header";abortHandshakeOrEmitwsClientError(this,Wt,Pt,400,en);return}if(nn===undefined||!pn.test(nn)){const en="Missing or invalid Sec-WebSocket-Key header";abortHandshakeOrEmitwsClientError(this,Wt,Pt,400,en);return}if(In!==8&&In!==13){const en="Missing or invalid Sec-WebSocket-Version header";abortHandshakeOrEmitwsClientError(this,Wt,Pt,400,en);return}if(!this.shouldHandle(Wt)){abortHandshake(Pt,400);return}const cn=Wt.headers["sec-websocket-protocol"];let dn=new Set;if(cn!==undefined){try{dn=on.parse(cn)}catch(en){const tn="Invalid Sec-WebSocket-Protocol header";abortHandshakeOrEmitwsClientError(this,Wt,Pt,400,tn);return}}const un=Wt.headers["sec-websocket-extensions"];const mn={};if(this.options.perMessageDeflate&&un!==undefined){const en=new sn(this.options.perMessageDeflate,true,this.options.maxPayload);try{const Wt=rn.parse(un);if(Wt[sn.extensionName]){en.accept(Wt[sn.extensionName]);mn[sn.extensionName]=en}}catch(en){const tn="Invalid or unacceptable Sec-WebSocket-Extensions header";abortHandshakeOrEmitwsClientError(this,Wt,Pt,400,tn);return}}if(this.options.verifyClient){const an={origin:Wt.headers[`${In===8?"sec-websocket-origin":"origin"}`],secure:!!(Wt.socket.authorized||Wt.socket.encrypted),req:Wt};if(this.options.verifyClient.length===2){this.options.verifyClient(an,((an,In,rn,sn)=>{if(!an){return abortHandshake(Pt,In||401,rn,sn)}this.completeUpgrade(mn,nn,dn,Wt,Pt,en,tn)}));return}if(!this.options.verifyClient(an))return abortHandshake(Pt,401)}this.completeUpgrade(mn,nn,dn,Wt,Pt,en,tn)}completeUpgrade(Wt,Pt,en,tn,nn,an,on){if(!nn.readable||!nn.writable)return nn.destroy();if(nn[un]){throw new Error("server.handleUpgrade() was called more than once with the same "+"socket, possibly due to a misconfiguration")}if(this._state>mn)return abortHandshake(nn,503);const cn=In("sha1").update(Pt+dn).digest("base64");const pn=["HTTP/1.1 101 Switching Protocols","Upgrade: websocket","Connection: Upgrade",`Sec-WebSocket-Accept: ${cn}`];const bn=new this.options.WebSocket(null,undefined,this.options);if(en.size){const Wt=this.options.handleProtocols?this.options.handleProtocols(en,tn):en.values().next().value;if(Wt){pn.push(`Sec-WebSocket-Protocol: ${Wt}`);bn._protocol=Wt}}if(Wt[sn.extensionName]){const Pt=Wt[sn.extensionName].params;const en=rn.format({[sn.extensionName]:[Pt]});pn.push(`Sec-WebSocket-Extensions: ${en}`);bn._extensions=Wt}this.emit("headers",pn,tn);nn.write(pn.concat("\r\n").join("\r\n"));nn.removeListener("error",socketOnError);bn.setSocket(nn,an,{allowSynchronousEvents:this.options.allowSynchronousEvents,maxPayload:this.options.maxPayload,skipUTF8Validation:this.options.skipUTF8Validation});if(this.clients){this.clients.add(bn);bn.on("close",(()=>{this.clients.delete(bn);if(this._shouldEmitClose&&!this.clients.size){process.nextTick(emitClose,this)}}))}on(bn,tn)}}Wt.exports=WebSocketServer;function addListeners(Wt,Pt){for(const en of Object.keys(Pt))Wt.on(en,Pt[en]);return function removeListeners(){for(const en of Object.keys(Pt)){Wt.removeListener(en,Pt[en])}}}function emitClose(Wt){Wt._state=Gn;Wt.emit("close")}function socketOnError(){this.destroy()}function abortHandshake(Wt,Pt,en,tn){en=en||nn.STATUS_CODES[Pt];tn={Connection:"close","Content-Type":"text/html","Content-Length":Buffer.byteLength(en),...tn};Wt.once("finish",Wt.destroy);Wt.end(`HTTP/1.1 ${Pt} ${nn.STATUS_CODES[Pt]}\r\n`+Object.keys(tn).map((Wt=>`${Wt}: ${tn[Wt]}`)).join("\r\n")+"\r\n\r\n"+en)}function abortHandshakeOrEmitwsClientError(Wt,Pt,en,tn,nn){if(Wt.listenerCount("wsClientError")){const tn=new Error(nn);Error.captureStackTrace(tn,abortHandshakeOrEmitwsClientError);Wt.emit("wsClientError",tn,en,Pt)}else{abortHandshake(en,tn,nn)}}},56681:(Wt,Pt,en)=>{const tn=en(24434);const nn=en(65692);const an=en(58611);const In=en(69278);const rn=en(64756);const{randomBytes:sn,createHash:on}=en(76982);const{Duplex:cn,Readable:dn}=en(2203);const{URL:un}=en(87016);const pn=en(4376);const mn=en(20893);const bn=en(7389);const{isBlob:Gn}=en(26615);const{BINARY_TYPES:hn,EMPTY_BUFFER:Zn,GUID:An,kForOnEventAttribute:Wn,kListener:Nn,kStatusCode:gn,kWebSocket:yn,NOOP:vn}=en(71791);const{EventTarget:{addEventListener:Yn,removeEventListener:En}}=en(34634);const{format:Vn,parse:Rn}=en(61335);const{toBuffer:wn}=en(95803);const Fn=30*1e3;const Qn=Symbol("kAborted");const fn=[8,13];const Hn=["CONNECTING","OPEN","CLOSING","CLOSED"];const Cn=/^[!#$%&'*+\-.0-9A-Z^_`|a-z~]+$/;class WebSocket extends tn{constructor(Wt,Pt,en){super();this._binaryType=hn[0];this._closeCode=1006;this._closeFrameReceived=false;this._closeFrameSent=false;this._closeMessage=Zn;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(Wt!==null){this._bufferedAmount=0;this._isServer=false;this._redirects=0;if(Pt===undefined){Pt=[]}else if(!Array.isArray(Pt)){if(typeof Pt==="object"&&Pt!==null){en=Pt;Pt=[]}else{Pt=[Pt]}}initAsClient(this,Wt,Pt,en)}else{this._autoPong=en.autoPong;this._isServer=true}}get binaryType(){return this._binaryType}set binaryType(Wt){if(!hn.includes(Wt))return;this._binaryType=Wt;if(this._receiver)this._receiver._binaryType=Wt}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(Wt,Pt,en){const tn=new mn({allowSynchronousEvents:en.allowSynchronousEvents,binaryType:this.binaryType,extensions:this._extensions,isServer:this._isServer,maxPayload:en.maxPayload,skipUTF8Validation:en.skipUTF8Validation});const nn=new bn(Wt,this._extensions,en.generateMask);this._receiver=tn;this._sender=nn;this._socket=Wt;tn[yn]=this;nn[yn]=this;Wt[yn]=this;tn.on("conclude",receiverOnConclude);tn.on("drain",receiverOnDrain);tn.on("error",receiverOnError);tn.on("message",receiverOnMessage);tn.on("ping",receiverOnPing);tn.on("pong",receiverOnPong);nn.onerror=senderOnError;if(Wt.setTimeout)Wt.setTimeout(0);if(Wt.setNoDelay)Wt.setNoDelay();if(Pt.length>0)Wt.unshift(Pt);Wt.on("close",socketOnClose);Wt.on("data",socketOnData);Wt.on("end",socketOnEnd);Wt.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[pn.extensionName]){this._extensions[pn.extensionName].cleanup()}this._receiver.removeAllListeners();this._readyState=WebSocket.CLOSED;this.emit("close",this._closeCode,this._closeMessage)}close(Wt,Pt){if(this.readyState===WebSocket.CLOSED)return;if(this.readyState===WebSocket.CONNECTING){const Wt="WebSocket was closed before the connection was established";abortHandshake(this,this._req,Wt);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(Wt,Pt,!this._isServer,(Wt=>{if(Wt)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(Wt,Pt,en){if(this.readyState===WebSocket.CONNECTING){throw new Error("WebSocket is not open: readyState 0 (CONNECTING)")}if(typeof Wt==="function"){en=Wt;Wt=Pt=undefined}else if(typeof Pt==="function"){en=Pt;Pt=undefined}if(typeof Wt==="number")Wt=Wt.toString();if(this.readyState!==WebSocket.OPEN){sendAfterClose(this,Wt,en);return}if(Pt===undefined)Pt=!this._isServer;this._sender.ping(Wt||Zn,Pt,en)}pong(Wt,Pt,en){if(this.readyState===WebSocket.CONNECTING){throw new Error("WebSocket is not open: readyState 0 (CONNECTING)")}if(typeof Wt==="function"){en=Wt;Wt=Pt=undefined}else if(typeof Pt==="function"){en=Pt;Pt=undefined}if(typeof Wt==="number")Wt=Wt.toString();if(this.readyState!==WebSocket.OPEN){sendAfterClose(this,Wt,en);return}if(Pt===undefined)Pt=!this._isServer;this._sender.pong(Wt||Zn,Pt,en)}resume(){if(this.readyState===WebSocket.CONNECTING||this.readyState===WebSocket.CLOSED){return}this._paused=false;if(!this._receiver._writableState.needDrain)this._socket.resume()}send(Wt,Pt,en){if(this.readyState===WebSocket.CONNECTING){throw new Error("WebSocket is not open: readyState 0 (CONNECTING)")}if(typeof Pt==="function"){en=Pt;Pt={}}if(typeof Wt==="number")Wt=Wt.toString();if(this.readyState!==WebSocket.OPEN){sendAfterClose(this,Wt,en);return}const tn={binary:typeof Wt!=="string",mask:!this._isServer,compress:true,fin:true,...Pt};if(!this._extensions[pn.extensionName]){tn.compress=false}this._sender.send(Wt||Zn,tn,en)}terminate(){if(this.readyState===WebSocket.CLOSED)return;if(this.readyState===WebSocket.CONNECTING){const Wt="WebSocket was closed before the connection was established";abortHandshake(this,this._req,Wt);return}if(this._socket){this._readyState=WebSocket.CLOSING;this._socket.destroy()}}}Object.defineProperty(WebSocket,"CONNECTING",{enumerable:true,value:Hn.indexOf("CONNECTING")});Object.defineProperty(WebSocket.prototype,"CONNECTING",{enumerable:true,value:Hn.indexOf("CONNECTING")});Object.defineProperty(WebSocket,"OPEN",{enumerable:true,value:Hn.indexOf("OPEN")});Object.defineProperty(WebSocket.prototype,"OPEN",{enumerable:true,value:Hn.indexOf("OPEN")});Object.defineProperty(WebSocket,"CLOSING",{enumerable:true,value:Hn.indexOf("CLOSING")});Object.defineProperty(WebSocket.prototype,"CLOSING",{enumerable:true,value:Hn.indexOf("CLOSING")});Object.defineProperty(WebSocket,"CLOSED",{enumerable:true,value:Hn.indexOf("CLOSED")});Object.defineProperty(WebSocket.prototype,"CLOSED",{enumerable:true,value:Hn.indexOf("CLOSED")});["binaryType","bufferedAmount","extensions","isPaused","protocol","readyState","url"].forEach((Wt=>{Object.defineProperty(WebSocket.prototype,Wt,{enumerable:true})}));["open","error","close","message"].forEach((Wt=>{Object.defineProperty(WebSocket.prototype,`on${Wt}`,{enumerable:true,get(){for(const Pt of this.listeners(Wt)){if(Pt[Wn])return Pt[Nn]}return null},set(Pt){for(const Pt of this.listeners(Wt)){if(Pt[Wn]){this.removeListener(Wt,Pt);break}}if(typeof Pt!=="function")return;this.addEventListener(Wt,Pt,{[Wn]:true})}})}));WebSocket.prototype.addEventListener=Yn;WebSocket.prototype.removeEventListener=En;Wt.exports=WebSocket;function initAsClient(Wt,Pt,en,tn){const In={allowSynchronousEvents:true,autoPong:true,protocolVersion:fn[1],maxPayload:100*1024*1024,skipUTF8Validation:false,perMessageDeflate:true,followRedirects:false,maxRedirects:10,...tn,socketPath:undefined,hostname:undefined,protocol:undefined,timeout:undefined,method:"GET",host:undefined,path:undefined,port:undefined};Wt._autoPong=In.autoPong;if(!fn.includes(In.protocolVersion)){throw new RangeError(`Unsupported protocol version: ${In.protocolVersion} `+`(supported versions: ${fn.join(", ")})`)}let rn;if(Pt instanceof un){rn=Pt}else{try{rn=new un(Pt)}catch(Wt){throw new SyntaxError(`Invalid URL: ${Pt}`)}}if(rn.protocol==="http:"){rn.protocol="ws:"}else if(rn.protocol==="https:"){rn.protocol="wss:"}Wt._url=rn.href;const cn=rn.protocol==="wss:";const dn=rn.protocol==="ws+unix:";let mn;if(rn.protocol!=="ws:"&&!cn&&!dn){mn='The URL\'s protocol must be one of "ws:", "wss:", '+'"http:", "https", or "ws+unix:"'}else if(dn&&!rn.pathname){mn="The URL's pathname is empty"}else if(rn.hash){mn="The URL contains a fragment identifier"}if(mn){const Pt=new SyntaxError(mn);if(Wt._redirects===0){throw Pt}else{emitErrorAndClose(Wt,Pt);return}}const bn=cn?443:80;const Gn=sn(16).toString("base64");const hn=cn?nn.request:an.request;const Zn=new Set;let Wn;In.createConnection=In.createConnection||(cn?tlsConnect:netConnect);In.defaultPort=In.defaultPort||bn;In.port=rn.port||bn;In.host=rn.hostname.startsWith("[")?rn.hostname.slice(1,-1):rn.hostname;In.headers={...In.headers,"Sec-WebSocket-Version":In.protocolVersion,"Sec-WebSocket-Key":Gn,Connection:"Upgrade",Upgrade:"websocket"};In.path=rn.pathname+rn.search;In.timeout=In.handshakeTimeout;if(In.perMessageDeflate){Wn=new pn(In.perMessageDeflate!==true?In.perMessageDeflate:{},false,In.maxPayload);In.headers["Sec-WebSocket-Extensions"]=Vn({[pn.extensionName]:Wn.offer()})}if(en.length){for(const Wt of en){if(typeof Wt!=="string"||!Cn.test(Wt)||Zn.has(Wt)){throw new SyntaxError("An invalid or duplicated subprotocol was specified")}Zn.add(Wt)}In.headers["Sec-WebSocket-Protocol"]=en.join(",")}if(In.origin){if(In.protocolVersion<13){In.headers["Sec-WebSocket-Origin"]=In.origin}else{In.headers.Origin=In.origin}}if(rn.username||rn.password){In.auth=`${rn.username}:${rn.password}`}if(dn){const Wt=In.path.split(":");In.socketPath=Wt[0];In.path=Wt[1]}let Nn;if(In.followRedirects){if(Wt._redirects===0){Wt._originalIpc=dn;Wt._originalSecure=cn;Wt._originalHostOrSocketPath=dn?In.socketPath:rn.host;const Pt=tn&&tn.headers;tn={...tn,headers:{}};if(Pt){for(const[Wt,en]of Object.entries(Pt)){tn.headers[Wt.toLowerCase()]=en}}}else if(Wt.listenerCount("redirect")===0){const Pt=dn?Wt._originalIpc?In.socketPath===Wt._originalHostOrSocketPath:false:Wt._originalIpc?false:rn.host===Wt._originalHostOrSocketPath;if(!Pt||Wt._originalSecure&&!cn){delete In.headers.authorization;delete In.headers.cookie;if(!Pt)delete In.headers.host;In.auth=undefined}}if(In.auth&&!tn.headers.authorization){tn.headers.authorization="Basic "+Buffer.from(In.auth).toString("base64")}Nn=Wt._req=hn(In);if(Wt._redirects){Wt.emit("redirect",Wt.url,Nn)}}else{Nn=Wt._req=hn(In)}if(In.timeout){Nn.on("timeout",(()=>{abortHandshake(Wt,Nn,"Opening handshake has timed out")}))}Nn.on("error",(Pt=>{if(Nn===null||Nn[Qn])return;Nn=Wt._req=null;emitErrorAndClose(Wt,Pt)}));Nn.on("response",(nn=>{const an=nn.headers.location;const rn=nn.statusCode;if(an&&In.followRedirects&&rn>=300&&rn<400){if(++Wt._redirects>In.maxRedirects){abortHandshake(Wt,Nn,"Maximum redirects exceeded");return}Nn.abort();let nn;try{nn=new un(an,Pt)}catch(Pt){const en=new SyntaxError(`Invalid URL: ${an}`);emitErrorAndClose(Wt,en);return}initAsClient(Wt,nn,en,tn)}else if(!Wt.emit("unexpected-response",Nn,nn)){abortHandshake(Wt,Nn,`Unexpected server response: ${nn.statusCode}`)}}));Nn.on("upgrade",((Pt,en,tn)=>{Wt.emit("upgrade",Pt);if(Wt.readyState!==WebSocket.CONNECTING)return;Nn=Wt._req=null;const nn=Pt.headers.upgrade;if(nn===undefined||nn.toLowerCase()!=="websocket"){abortHandshake(Wt,en,"Invalid Upgrade header");return}const an=on("sha1").update(Gn+An).digest("base64");if(Pt.headers["sec-websocket-accept"]!==an){abortHandshake(Wt,en,"Invalid Sec-WebSocket-Accept header");return}const rn=Pt.headers["sec-websocket-protocol"];let sn;if(rn!==undefined){if(!Zn.size){sn="Server sent a subprotocol but none was requested"}else if(!Zn.has(rn)){sn="Server sent an invalid subprotocol"}}else if(Zn.size){sn="Server sent no subprotocol"}if(sn){abortHandshake(Wt,en,sn);return}if(rn)Wt._protocol=rn;const cn=Pt.headers["sec-websocket-extensions"];if(cn!==undefined){if(!Wn){const Pt="Server sent a Sec-WebSocket-Extensions header but no extension "+"was requested";abortHandshake(Wt,en,Pt);return}let Pt;try{Pt=Rn(cn)}catch(Pt){const tn="Invalid Sec-WebSocket-Extensions header";abortHandshake(Wt,en,tn);return}const tn=Object.keys(Pt);if(tn.length!==1||tn[0]!==pn.extensionName){const Pt="Server indicated an extension that was not requested";abortHandshake(Wt,en,Pt);return}try{Wn.accept(Pt[pn.extensionName])}catch(Pt){const tn="Invalid Sec-WebSocket-Extensions header";abortHandshake(Wt,en,tn);return}Wt._extensions[pn.extensionName]=Wn}Wt.setSocket(en,tn,{allowSynchronousEvents:In.allowSynchronousEvents,generateMask:In.generateMask,maxPayload:In.maxPayload,skipUTF8Validation:In.skipUTF8Validation})}));if(In.finishRequest){In.finishRequest(Nn,Wt)}else{Nn.end()}}function emitErrorAndClose(Wt,Pt){Wt._readyState=WebSocket.CLOSING;Wt._errorEmitted=true;Wt.emit("error",Pt);Wt.emitClose()}function netConnect(Wt){Wt.path=Wt.socketPath;return In.connect(Wt)}function tlsConnect(Wt){Wt.path=undefined;if(!Wt.servername&&Wt.servername!==""){Wt.servername=In.isIP(Wt.host)?"":Wt.host}return rn.connect(Wt)}function abortHandshake(Wt,Pt,en){Wt._readyState=WebSocket.CLOSING;const tn=new Error(en);Error.captureStackTrace(tn,abortHandshake);if(Pt.setHeader){Pt[Qn]=true;Pt.abort();if(Pt.socket&&!Pt.socket.destroyed){Pt.socket.destroy()}process.nextTick(emitErrorAndClose,Wt,tn)}else{Pt.destroy(tn);Pt.once("error",Wt.emit.bind(Wt,"error"));Pt.once("close",Wt.emitClose.bind(Wt))}}function sendAfterClose(Wt,Pt,en){if(Pt){const en=Gn(Pt)?Pt.size:wn(Pt).length;if(Wt._socket)Wt._sender._bufferedBytes+=en;else Wt._bufferedAmount+=en}if(en){const Pt=new Error(`WebSocket is not open: readyState ${Wt.readyState} `+`(${Hn[Wt.readyState]})`);process.nextTick(en,Pt)}}function receiverOnConclude(Wt,Pt){const en=this[yn];en._closeFrameReceived=true;en._closeMessage=Pt;en._closeCode=Wt;if(en._socket[yn]===undefined)return;en._socket.removeListener("data",socketOnData);process.nextTick(resume,en._socket);if(Wt===1005)en.close();else en.close(Wt,Pt)}function receiverOnDrain(){const Wt=this[yn];if(!Wt.isPaused)Wt._socket.resume()}function receiverOnError(Wt){const Pt=this[yn];if(Pt._socket[yn]!==undefined){Pt._socket.removeListener("data",socketOnData);process.nextTick(resume,Pt._socket);Pt.close(Wt[gn])}if(!Pt._errorEmitted){Pt._errorEmitted=true;Pt.emit("error",Wt)}}function receiverOnFinish(){this[yn].emitClose()}function receiverOnMessage(Wt,Pt){this[yn].emit("message",Wt,Pt)}function receiverOnPing(Wt){const Pt=this[yn];if(Pt._autoPong)Pt.pong(Wt,!this._isServer,vn);Pt.emit("ping",Wt)}function receiverOnPong(Wt){this[yn].emit("pong",Wt)}function resume(Wt){Wt.resume()}function senderOnError(Wt){const Pt=this[yn];if(Pt.readyState===WebSocket.CLOSED)return;if(Pt.readyState===WebSocket.OPEN){Pt._readyState=WebSocket.CLOSING;setCloseTimer(Pt)}this._socket.end();if(!Pt._errorEmitted){Pt._errorEmitted=true;Pt.emit("error",Wt)}}function setCloseTimer(Wt){Wt._closeTimer=setTimeout(Wt._socket.destroy.bind(Wt._socket),Fn)}function socketOnClose(){const Wt=this[yn];this.removeListener("close",socketOnClose);this.removeListener("data",socketOnData);this.removeListener("end",socketOnEnd);Wt._readyState=WebSocket.CLOSING;let Pt;if(!this._readableState.endEmitted&&!Wt._closeFrameReceived&&!Wt._receiver._writableState.errorEmitted&&(Pt=Wt._socket.read())!==null){Wt._receiver.write(Pt)}Wt._receiver.end();this[yn]=undefined;clearTimeout(Wt._closeTimer);if(Wt._receiver._writableState.finished||Wt._receiver._writableState.errorEmitted){Wt.emitClose()}else{Wt._receiver.on("error",receiverOnFinish);Wt._receiver.on("finish",receiverOnFinish)}}function socketOnData(Wt){if(!this[yn]._receiver.write(Wt)){this.pause()}}function socketOnEnd(){const Wt=this[yn];Wt._readyState=WebSocket.CLOSING;Wt._receiver.end();this.end()}function socketOnError(){const Wt=this[yn];this.removeListener("error",socketOnError);this.on("error",vn);if(Wt){Wt._readyState=WebSocket.CLOSING;this.destroy()}}},87878:(Wt,Pt)=>{Pt.name=Wt=>/^[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\u{10000}-\u{EFFFF}][:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\u{10000}-\u{EFFFF}\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$/u.test(Wt);Pt.qname=Wt=>/(?:^[A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\u{10000}-\u{EFFFF}][A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\u{10000}-\u{EFFFF}\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*:[A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\u{10000}-\u{EFFFF}][A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\u{10000}-\u{EFFFF}\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$)|(?:^[A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\u{10000}-\u{EFFFF}][A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\u{10000}-\u{EFFFF}\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$)/u.test(Wt)},96950:(Wt,Pt)=>{ /** - * Returns path of a tool had the tool actually been invoked. Resolves via paths. - * If you check and the tool does not exist, it will throw. + * Character classes and associated utilities for the 5th edition of XML 1.0. * - * @param tool name of the tool - * @param check whether to check if tool exists - * @returns Promise path to tool + * @author Louis-Dominique Dubeau + * @license MIT + * @copyright Louis-Dominique Dubeau */ -function which(tool, check) { - return __awaiter(this, void 0, void 0, function* () { - if (!tool) { - throw new Error("parameter 'tool' is required"); - } - // recursive when check=true - if (check) { - const result = yield which(tool, false); - if (!result) { - if (ioUtil.IS_WINDOWS) { - throw new Error(`Unable to locate executable file: ${tool}. Please verify either the file path exists or the file can be found within a directory specified by the PATH environment variable. Also verify the file has a valid extension for an executable file.`); - } - else { - throw new Error(`Unable to locate executable file: ${tool}. Please verify either the file path exists or the file can be found within a directory specified by the PATH environment variable. Also check the file mode to verify the file is executable.`); - } - } - return result; - } - const matches = yield findInPath(tool); - if (matches && matches.length > 0) { - return matches[0]; - } - return ''; - }); -} -exports.which = which; +Object.defineProperty(Pt,"__esModule",{value:true});Pt.CHAR="\t\n\r -퟿-�𐀀-􏿿";Pt.S=" \t\r\n";Pt.NAME_START_CHAR=":A-Z_a-zÀ-ÖØ-öø-˿Ͱ-ͽͿ-῿‌‍⁰-↏Ⰰ-⿯、-퟿豈-﷏ﷰ-�𐀀-󯿿";Pt.NAME_CHAR="-"+Pt.NAME_START_CHAR+".0-9·̀-ͯ‿-⁀";Pt.CHAR_RE=new RegExp("^["+Pt.CHAR+"]$","u");Pt.S_RE=new RegExp("^["+Pt.S+"]+$","u");Pt.NAME_START_CHAR_RE=new RegExp("^["+Pt.NAME_START_CHAR+"]$","u");Pt.NAME_CHAR_RE=new RegExp("^["+Pt.NAME_CHAR+"]$","u");Pt.NAME_RE=new RegExp("^["+Pt.NAME_START_CHAR+"]["+Pt.NAME_CHAR+"]*$","u");Pt.NMTOKEN_RE=new RegExp("^["+Pt.NAME_CHAR+"]+$","u");var en=9;var tn=10;var nn=13;var an=32;Pt.S_LIST=[an,tn,nn,en];function isChar(Wt){return Wt>=an&&Wt<=55295||Wt===tn||Wt===nn||Wt===en||Wt>=57344&&Wt<=65533||Wt>=65536&&Wt<=1114111}Pt.isChar=isChar;function isS(Wt){return Wt===an||Wt===tn||Wt===nn||Wt===en}Pt.isS=isS;function isNameStartChar(Wt){return Wt>=65&&Wt<=90||Wt>=97&&Wt<=122||Wt===58||Wt===95||Wt===8204||Wt===8205||Wt>=192&&Wt<=214||Wt>=216&&Wt<=246||Wt>=248&&Wt<=767||Wt>=880&&Wt<=893||Wt>=895&&Wt<=8191||Wt>=8304&&Wt<=8591||Wt>=11264&&Wt<=12271||Wt>=12289&&Wt<=55295||Wt>=63744&&Wt<=64975||Wt>=65008&&Wt<=65533||Wt>=65536&&Wt<=983039}Pt.isNameStartChar=isNameStartChar;function isNameChar(Wt){return isNameStartChar(Wt)||Wt>=48&&Wt<=57||Wt===45||Wt===46||Wt===183||Wt>=768&&Wt<=879||Wt>=8255&&Wt<=8256}Pt.isNameChar=isNameChar},24488:(Wt,Pt)=>{ /** - * Returns a list of all occurrences of the given tool on the system path. + * Character classes and associated utilities for the 2nd edition of XML 1.1. * - * @returns Promise the paths of the tool + * @author Louis-Dominique Dubeau + * @license MIT + * @copyright Louis-Dominique Dubeau */ -function findInPath(tool) { - return __awaiter(this, void 0, void 0, function* () { - if (!tool) { - throw new Error("parameter 'tool' is required"); - } - // build the list of extensions to try - const extensions = []; - if (ioUtil.IS_WINDOWS && process.env['PATHEXT']) { - for (const extension of process.env['PATHEXT'].split(path.delimiter)) { - if (extension) { - extensions.push(extension); - } - } - } - // if it's rooted, return it if exists. otherwise return empty. - if (ioUtil.isRooted(tool)) { - const filePath = yield ioUtil.tryGetExecutablePath(tool, extensions); - if (filePath) { - return [filePath]; - } - return []; - } - // if any path separators, return empty - if (tool.includes(path.sep)) { - return []; - } - // build the list of directories - // - // Note, technically "where" checks the current directory on Windows. From a toolkit perspective, - // it feels like we should not do this. Checking the current directory seems like more of a use - // case of a shell, and the which() function exposed by the toolkit should strive for consistency - // across platforms. - const directories = []; - if (process.env.PATH) { - for (const p of process.env.PATH.split(path.delimiter)) { - if (p) { - directories.push(p); - } - } - } - // find all matches - const matches = []; - for (const directory of directories) { - const filePath = yield ioUtil.tryGetExecutablePath(path.join(directory, tool), extensions); - if (filePath) { - matches.push(filePath); - } - } - return matches; - }); -} -exports.findInPath = findInPath; -function readCopyOptions(options) { - const force = options.force == null ? true : options.force; - const recursive = Boolean(options.recursive); - const copySourceDirectory = options.copySourceDirectory == null - ? true - : Boolean(options.copySourceDirectory); - return { force, recursive, copySourceDirectory }; -} -function cpDirRecursive(sourceDir, destDir, currentDepth, force) { - return __awaiter(this, void 0, void 0, function* () { - // Ensure there is not a run away recursive copy - if (currentDepth >= 255) - return; - currentDepth++; - yield mkdirP(destDir); - const files = yield ioUtil.readdir(sourceDir); - for (const fileName of files) { - const srcFile = `${sourceDir}/${fileName}`; - const destFile = `${destDir}/${fileName}`; - const srcFileStat = yield ioUtil.lstat(srcFile); - if (srcFileStat.isDirectory()) { - // Recurse - yield cpDirRecursive(srcFile, destFile, currentDepth, force); - } - else { - yield copyFile(srcFile, destFile, force); - } - } - // Change the mode for the newly created directory - yield ioUtil.chmod(destDir, (yield ioUtil.stat(sourceDir)).mode); - }); -} -// Buffered file copy -function copyFile(srcFile, destFile, force) { - return __awaiter(this, void 0, void 0, function* () { - if ((yield ioUtil.lstat(srcFile)).isSymbolicLink()) { - // unlink/re-link it - try { - yield ioUtil.lstat(destFile); - yield ioUtil.unlink(destFile); - } - catch (e) { - // Try to override file permission - if (e.code === 'EPERM') { - yield ioUtil.chmod(destFile, '0666'); - yield ioUtil.unlink(destFile); - } - // other errors = it doesn't exist, no work to do - } - // Copy over symlink - const symlinkFull = yield ioUtil.readlink(srcFile); - yield ioUtil.symlink(symlinkFull, destFile, ioUtil.IS_WINDOWS ? 'junction' : null); - } - else if (!(yield ioUtil.exists(destFile)) || force) { - yield ioUtil.copyFile(srcFile, destFile); - } - }); -} -//# sourceMappingURL=io.js.map - -/***/ }), - -/***/ 59591: -/***/ ((__unused_webpack_module, exports) => { - - -Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.version = void 0; -exports.version = "abi/5.7.0"; -//# sourceMappingURL=_version.js.map - -/***/ }), - -/***/ 47280: -/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { - - -Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.defaultAbiCoder = exports.AbiCoder = void 0; -// See: https://github.com/ethereum/wiki/wiki/Ethereum-Contract-ABI -var bytes_1 = __nccwpck_require__(69691); -var properties_1 = __nccwpck_require__(54145); -var logger_1 = __nccwpck_require__(8772); -var _version_1 = __nccwpck_require__(59591); -var logger = new logger_1.Logger(_version_1.version); -var abstract_coder_1 = __nccwpck_require__(20227); -var address_1 = __nccwpck_require__(26965); -var array_1 = __nccwpck_require__(33416); -var boolean_1 = __nccwpck_require__(88565); -var bytes_2 = __nccwpck_require__(40170); -var fixed_bytes_1 = __nccwpck_require__(41633); -var null_1 = __nccwpck_require__(28176); -var number_1 = __nccwpck_require__(87364); -var string_1 = __nccwpck_require__(11600); -var tuple_1 = __nccwpck_require__(30923); -var fragments_1 = __nccwpck_require__(77359); -var paramTypeBytes = new RegExp(/^bytes([0-9]*)$/); -var paramTypeNumber = new RegExp(/^(u?int)([0-9]*)$/); -var AbiCoder = /** @class */ (function () { - function AbiCoder(coerceFunc) { - (0, properties_1.defineReadOnly)(this, "coerceFunc", coerceFunc || null); - } - AbiCoder.prototype._getCoder = function (param) { - var _this = this; - switch (param.baseType) { - case "address": - return new address_1.AddressCoder(param.name); - case "bool": - return new boolean_1.BooleanCoder(param.name); - case "string": - return new string_1.StringCoder(param.name); - case "bytes": - return new bytes_2.BytesCoder(param.name); - case "array": - return new array_1.ArrayCoder(this._getCoder(param.arrayChildren), param.arrayLength, param.name); - case "tuple": - return new tuple_1.TupleCoder((param.components || []).map(function (component) { - return _this._getCoder(component); - }), param.name); - case "": - return new null_1.NullCoder(param.name); - } - // u?int[0-9]* - var match = param.type.match(paramTypeNumber); - if (match) { - var size = parseInt(match[2] || "256"); - if (size === 0 || size > 256 || (size % 8) !== 0) { - logger.throwArgumentError("invalid " + match[1] + " bit length", "param", param); - } - return new number_1.NumberCoder(size / 8, (match[1] === "int"), param.name); - } - // bytes[0-9]+ - match = param.type.match(paramTypeBytes); - if (match) { - var size = parseInt(match[1]); - if (size === 0 || size > 32) { - logger.throwArgumentError("invalid bytes length", "param", param); - } - return new fixed_bytes_1.FixedBytesCoder(size, param.name); - } - return logger.throwArgumentError("invalid type", "type", param.type); - }; - AbiCoder.prototype._getWordSize = function () { return 32; }; - AbiCoder.prototype._getReader = function (data, allowLoose) { - return new abstract_coder_1.Reader(data, this._getWordSize(), this.coerceFunc, allowLoose); - }; - AbiCoder.prototype._getWriter = function () { - return new abstract_coder_1.Writer(this._getWordSize()); - }; - AbiCoder.prototype.getDefaultValue = function (types) { - var _this = this; - var coders = types.map(function (type) { return _this._getCoder(fragments_1.ParamType.from(type)); }); - var coder = new tuple_1.TupleCoder(coders, "_"); - return coder.defaultValue(); - }; - AbiCoder.prototype.encode = function (types, values) { - var _this = this; - if (types.length !== values.length) { - logger.throwError("types/values length mismatch", logger_1.Logger.errors.INVALID_ARGUMENT, { - count: { types: types.length, values: values.length }, - value: { types: types, values: values } - }); - } - var coders = types.map(function (type) { return _this._getCoder(fragments_1.ParamType.from(type)); }); - var coder = (new tuple_1.TupleCoder(coders, "_")); - var writer = this._getWriter(); - coder.encode(writer, values); - return writer.data; - }; - AbiCoder.prototype.decode = function (types, data, loose) { - var _this = this; - var coders = types.map(function (type) { return _this._getCoder(fragments_1.ParamType.from(type)); }); - var coder = new tuple_1.TupleCoder(coders, "_"); - return coder.decode(this._getReader((0, bytes_1.arrayify)(data), loose)); - }; - return AbiCoder; -}()); -exports.AbiCoder = AbiCoder; -exports.defaultAbiCoder = new AbiCoder(); -//# sourceMappingURL=abi-coder.js.map - -/***/ }), - -/***/ 20227: -/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { - - -Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.Reader = exports.Writer = exports.Coder = exports.checkResultErrors = void 0; -var bytes_1 = __nccwpck_require__(69691); -var bignumber_1 = __nccwpck_require__(14763); -var properties_1 = __nccwpck_require__(54145); -var logger_1 = __nccwpck_require__(8772); -var _version_1 = __nccwpck_require__(59591); -var logger = new logger_1.Logger(_version_1.version); -function checkResultErrors(result) { - // Find the first error (if any) - var errors = []; - var checkErrors = function (path, object) { - if (!Array.isArray(object)) { - return; - } - for (var key in object) { - var childPath = path.slice(); - childPath.push(key); - try { - checkErrors(childPath, object[key]); - } - catch (error) { - errors.push({ path: childPath, error: error }); - } - } - }; - checkErrors([], result); - return errors; -} -exports.checkResultErrors = checkResultErrors; -var Coder = /** @class */ (function () { - function Coder(name, type, localName, dynamic) { - // @TODO: defineReadOnly these - this.name = name; - this.type = type; - this.localName = localName; - this.dynamic = dynamic; - } - Coder.prototype._throwError = function (message, value) { - logger.throwArgumentError(message, this.localName, value); - }; - return Coder; -}()); -exports.Coder = Coder; -var Writer = /** @class */ (function () { - function Writer(wordSize) { - (0, properties_1.defineReadOnly)(this, "wordSize", wordSize || 32); - this._data = []; - this._dataLength = 0; - this._padding = new Uint8Array(wordSize); - } - Object.defineProperty(Writer.prototype, "data", { - get: function () { - return (0, bytes_1.hexConcat)(this._data); - }, - enumerable: false, - configurable: true - }); - Object.defineProperty(Writer.prototype, "length", { - get: function () { return this._dataLength; }, - enumerable: false, - configurable: true - }); - Writer.prototype._writeData = function (data) { - this._data.push(data); - this._dataLength += data.length; - return data.length; - }; - Writer.prototype.appendWriter = function (writer) { - return this._writeData((0, bytes_1.concat)(writer._data)); - }; - // Arrayish items; padded on the right to wordSize - Writer.prototype.writeBytes = function (value) { - var bytes = (0, bytes_1.arrayify)(value); - var paddingOffset = bytes.length % this.wordSize; - if (paddingOffset) { - bytes = (0, bytes_1.concat)([bytes, this._padding.slice(paddingOffset)]); - } - return this._writeData(bytes); - }; - Writer.prototype._getValue = function (value) { - var bytes = (0, bytes_1.arrayify)(bignumber_1.BigNumber.from(value)); - if (bytes.length > this.wordSize) { - logger.throwError("value out-of-bounds", logger_1.Logger.errors.BUFFER_OVERRUN, { - length: this.wordSize, - offset: bytes.length - }); - } - if (bytes.length % this.wordSize) { - bytes = (0, bytes_1.concat)([this._padding.slice(bytes.length % this.wordSize), bytes]); - } - return bytes; - }; - // BigNumberish items; padded on the left to wordSize - Writer.prototype.writeValue = function (value) { - return this._writeData(this._getValue(value)); - }; - Writer.prototype.writeUpdatableValue = function () { - var _this = this; - var offset = this._data.length; - this._data.push(this._padding); - this._dataLength += this.wordSize; - return function (value) { - _this._data[offset] = _this._getValue(value); - }; - }; - return Writer; -}()); -exports.Writer = Writer; -var Reader = /** @class */ (function () { - function Reader(data, wordSize, coerceFunc, allowLoose) { - (0, properties_1.defineReadOnly)(this, "_data", (0, bytes_1.arrayify)(data)); - (0, properties_1.defineReadOnly)(this, "wordSize", wordSize || 32); - (0, properties_1.defineReadOnly)(this, "_coerceFunc", coerceFunc); - (0, properties_1.defineReadOnly)(this, "allowLoose", allowLoose); - this._offset = 0; - } - Object.defineProperty(Reader.prototype, "data", { - get: function () { return (0, bytes_1.hexlify)(this._data); }, - enumerable: false, - configurable: true - }); - Object.defineProperty(Reader.prototype, "consumed", { - get: function () { return this._offset; }, - enumerable: false, - configurable: true - }); - // The default Coerce function - Reader.coerce = function (name, value) { - var match = name.match("^u?int([0-9]+)$"); - if (match && parseInt(match[1]) <= 48) { - value = value.toNumber(); - } - return value; - }; - Reader.prototype.coerce = function (name, value) { - if (this._coerceFunc) { - return this._coerceFunc(name, value); - } - return Reader.coerce(name, value); - }; - Reader.prototype._peekBytes = function (offset, length, loose) { - var alignedLength = Math.ceil(length / this.wordSize) * this.wordSize; - if (this._offset + alignedLength > this._data.length) { - if (this.allowLoose && loose && this._offset + length <= this._data.length) { - alignedLength = length; - } - else { - logger.throwError("data out-of-bounds", logger_1.Logger.errors.BUFFER_OVERRUN, { - length: this._data.length, - offset: this._offset + alignedLength - }); - } - } - return this._data.slice(this._offset, this._offset + alignedLength); - }; - Reader.prototype.subReader = function (offset) { - return new Reader(this._data.slice(this._offset + offset), this.wordSize, this._coerceFunc, this.allowLoose); - }; - Reader.prototype.readBytes = function (length, loose) { - var bytes = this._peekBytes(0, length, !!loose); - this._offset += bytes.length; - // @TODO: Make sure the length..end bytes are all 0? - return bytes.slice(0, length); - }; - Reader.prototype.readValue = function () { - return bignumber_1.BigNumber.from(this.readBytes(this.wordSize)); - }; - return Reader; -}()); -exports.Reader = Reader; -//# sourceMappingURL=abstract-coder.js.map - -/***/ }), - -/***/ 26965: -/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) { - - -var __extends = (this && this.__extends) || (function () { - var extendStatics = function (d, b) { - extendStatics = Object.setPrototypeOf || - ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || - function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; }; - return extendStatics(d, b); - }; - return function (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 __()); - }; -})(); -Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.AddressCoder = void 0; -var address_1 = __nccwpck_require__(10056); -var bytes_1 = __nccwpck_require__(69691); -var abstract_coder_1 = __nccwpck_require__(20227); -var AddressCoder = /** @class */ (function (_super) { - __extends(AddressCoder, _super); - function AddressCoder(localName) { - return _super.call(this, "address", "address", localName, false) || this; - } - AddressCoder.prototype.defaultValue = function () { - return "0x0000000000000000000000000000000000000000"; - }; - AddressCoder.prototype.encode = function (writer, value) { - try { - value = (0, address_1.getAddress)(value); - } - catch (error) { - this._throwError(error.message, value); - } - return writer.writeValue(value); - }; - AddressCoder.prototype.decode = function (reader) { - return (0, address_1.getAddress)((0, bytes_1.hexZeroPad)(reader.readValue().toHexString(), 20)); - }; - return AddressCoder; -}(abstract_coder_1.Coder)); -exports.AddressCoder = AddressCoder; -//# sourceMappingURL=address.js.map - -/***/ }), - -/***/ 73772: -/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) { - - -var __extends = (this && this.__extends) || (function () { - var extendStatics = function (d, b) { - extendStatics = Object.setPrototypeOf || - ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || - function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; }; - return extendStatics(d, b); - }; - return function (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 __()); - }; -})(); -Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.AnonymousCoder = void 0; -var abstract_coder_1 = __nccwpck_require__(20227); -// Clones the functionality of an existing Coder, but without a localName -var AnonymousCoder = /** @class */ (function (_super) { - __extends(AnonymousCoder, _super); - function AnonymousCoder(coder) { - var _this = _super.call(this, coder.name, coder.type, undefined, coder.dynamic) || this; - _this.coder = coder; - return _this; - } - AnonymousCoder.prototype.defaultValue = function () { - return this.coder.defaultValue(); - }; - AnonymousCoder.prototype.encode = function (writer, value) { - return this.coder.encode(writer, value); - }; - AnonymousCoder.prototype.decode = function (reader) { - return this.coder.decode(reader); - }; - return AnonymousCoder; -}(abstract_coder_1.Coder)); -exports.AnonymousCoder = AnonymousCoder; -//# sourceMappingURL=anonymous.js.map - -/***/ }), - -/***/ 33416: -/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) { - - -var __extends = (this && this.__extends) || (function () { - var extendStatics = function (d, b) { - extendStatics = Object.setPrototypeOf || - ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || - function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; }; - return extendStatics(d, b); - }; - return function (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 __()); - }; -})(); -Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.ArrayCoder = exports.unpack = exports.pack = void 0; -var logger_1 = __nccwpck_require__(8772); -var _version_1 = __nccwpck_require__(59591); -var logger = new logger_1.Logger(_version_1.version); -var abstract_coder_1 = __nccwpck_require__(20227); -var anonymous_1 = __nccwpck_require__(73772); -function pack(writer, coders, values) { - var arrayValues = null; - if (Array.isArray(values)) { - arrayValues = values; - } - else if (values && typeof (values) === "object") { - var unique_1 = {}; - arrayValues = coders.map(function (coder) { - var name = coder.localName; - if (!name) { - logger.throwError("cannot encode object for signature with missing names", logger_1.Logger.errors.INVALID_ARGUMENT, { - argument: "values", - coder: coder, - value: values - }); - } - if (unique_1[name]) { - logger.throwError("cannot encode object for signature with duplicate names", logger_1.Logger.errors.INVALID_ARGUMENT, { - argument: "values", - coder: coder, - value: values - }); - } - unique_1[name] = true; - return values[name]; - }); - } - else { - logger.throwArgumentError("invalid tuple value", "tuple", values); - } - if (coders.length !== arrayValues.length) { - logger.throwArgumentError("types/value length mismatch", "tuple", values); - } - var staticWriter = new abstract_coder_1.Writer(writer.wordSize); - var dynamicWriter = new abstract_coder_1.Writer(writer.wordSize); - var updateFuncs = []; - coders.forEach(function (coder, index) { - var value = arrayValues[index]; - if (coder.dynamic) { - // Get current dynamic offset (for the future pointer) - var dynamicOffset_1 = dynamicWriter.length; - // Encode the dynamic value into the dynamicWriter - coder.encode(dynamicWriter, value); - // Prepare to populate the correct offset once we are done - var updateFunc_1 = staticWriter.writeUpdatableValue(); - updateFuncs.push(function (baseOffset) { - updateFunc_1(baseOffset + dynamicOffset_1); - }); - } - else { - coder.encode(staticWriter, value); - } - }); - // Backfill all the dynamic offsets, now that we know the static length - updateFuncs.forEach(function (func) { func(staticWriter.length); }); - var length = writer.appendWriter(staticWriter); - length += writer.appendWriter(dynamicWriter); - return length; -} -exports.pack = pack; -function unpack(reader, coders) { - var values = []; - // A reader anchored to this base - var baseReader = reader.subReader(0); - coders.forEach(function (coder) { - var value = null; - if (coder.dynamic) { - var offset = reader.readValue(); - var offsetReader = baseReader.subReader(offset.toNumber()); - try { - value = coder.decode(offsetReader); - } - catch (error) { - // Cannot recover from this - if (error.code === logger_1.Logger.errors.BUFFER_OVERRUN) { - throw error; - } - value = error; - value.baseType = coder.name; - value.name = coder.localName; - value.type = coder.type; - } - } - else { - try { - value = coder.decode(reader); - } - catch (error) { - // Cannot recover from this - if (error.code === logger_1.Logger.errors.BUFFER_OVERRUN) { - throw error; - } - value = error; - value.baseType = coder.name; - value.name = coder.localName; - value.type = coder.type; - } - } - if (value != undefined) { - values.push(value); - } - }); - // We only output named properties for uniquely named coders - var uniqueNames = coders.reduce(function (accum, coder) { - var name = coder.localName; - if (name) { - if (!accum[name]) { - accum[name] = 0; - } - accum[name]++; - } - return accum; - }, {}); - // Add any named parameters (i.e. tuples) - coders.forEach(function (coder, index) { - var name = coder.localName; - if (!name || uniqueNames[name] !== 1) { - return; - } - if (name === "length") { - name = "_length"; - } - if (values[name] != null) { - return; - } - var value = values[index]; - if (value instanceof Error) { - Object.defineProperty(values, name, { - enumerable: true, - get: function () { throw value; } - }); - } - else { - values[name] = value; - } - }); - var _loop_1 = function (i) { - var value = values[i]; - if (value instanceof Error) { - Object.defineProperty(values, i, { - enumerable: true, - get: function () { throw value; } - }); - } - }; - for (var i = 0; i < values.length; i++) { - _loop_1(i); - } - return Object.freeze(values); -} -exports.unpack = unpack; -var ArrayCoder = /** @class */ (function (_super) { - __extends(ArrayCoder, _super); - function ArrayCoder(coder, length, localName) { - var _this = this; - var type = (coder.type + "[" + (length >= 0 ? length : "") + "]"); - var dynamic = (length === -1 || coder.dynamic); - _this = _super.call(this, "array", type, localName, dynamic) || this; - _this.coder = coder; - _this.length = length; - return _this; - } - ArrayCoder.prototype.defaultValue = function () { - // Verifies the child coder is valid (even if the array is dynamic or 0-length) - var defaultChild = this.coder.defaultValue(); - var result = []; - for (var i = 0; i < this.length; i++) { - result.push(defaultChild); - } - return result; - }; - ArrayCoder.prototype.encode = function (writer, value) { - if (!Array.isArray(value)) { - this._throwError("expected array value", value); - } - var count = this.length; - if (count === -1) { - count = value.length; - writer.writeValue(value.length); - } - logger.checkArgumentCount(value.length, count, "coder array" + (this.localName ? (" " + this.localName) : "")); - var coders = []; - for (var i = 0; i < value.length; i++) { - coders.push(this.coder); - } - return pack(writer, coders, value); - }; - ArrayCoder.prototype.decode = function (reader) { - var count = this.length; - if (count === -1) { - count = reader.readValue().toNumber(); - // Check that there is *roughly* enough data to ensure - // stray random data is not being read as a length. Each - // slot requires at least 32 bytes for their value (or 32 - // bytes as a link to the data). This could use a much - // tighter bound, but we are erroring on the side of safety. - if (count * 32 > reader._data.length) { - logger.throwError("insufficient data length", logger_1.Logger.errors.BUFFER_OVERRUN, { - length: reader._data.length, - count: count - }); - } - } - var coders = []; - for (var i = 0; i < count; i++) { - coders.push(new anonymous_1.AnonymousCoder(this.coder)); - } - return reader.coerce(this.name, unpack(reader, coders)); - }; - return ArrayCoder; -}(abstract_coder_1.Coder)); -exports.ArrayCoder = ArrayCoder; -//# sourceMappingURL=array.js.map - -/***/ }), - -/***/ 88565: -/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) { - - -var __extends = (this && this.__extends) || (function () { - var extendStatics = function (d, b) { - extendStatics = Object.setPrototypeOf || - ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || - function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; }; - return extendStatics(d, b); - }; - return function (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 __()); - }; -})(); -Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.BooleanCoder = void 0; -var abstract_coder_1 = __nccwpck_require__(20227); -var BooleanCoder = /** @class */ (function (_super) { - __extends(BooleanCoder, _super); - function BooleanCoder(localName) { - return _super.call(this, "bool", "bool", localName, false) || this; - } - BooleanCoder.prototype.defaultValue = function () { - return false; - }; - BooleanCoder.prototype.encode = function (writer, value) { - return writer.writeValue(value ? 1 : 0); - }; - BooleanCoder.prototype.decode = function (reader) { - return reader.coerce(this.type, !reader.readValue().isZero()); - }; - return BooleanCoder; -}(abstract_coder_1.Coder)); -exports.BooleanCoder = BooleanCoder; -//# sourceMappingURL=boolean.js.map - -/***/ }), - -/***/ 40170: -/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) { - - -var __extends = (this && this.__extends) || (function () { - var extendStatics = function (d, b) { - extendStatics = Object.setPrototypeOf || - ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || - function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; }; - return extendStatics(d, b); - }; - return function (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 __()); - }; -})(); -Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.BytesCoder = exports.DynamicBytesCoder = void 0; -var bytes_1 = __nccwpck_require__(69691); -var abstract_coder_1 = __nccwpck_require__(20227); -var DynamicBytesCoder = /** @class */ (function (_super) { - __extends(DynamicBytesCoder, _super); - function DynamicBytesCoder(type, localName) { - return _super.call(this, type, type, localName, true) || this; - } - DynamicBytesCoder.prototype.defaultValue = function () { - return "0x"; - }; - DynamicBytesCoder.prototype.encode = function (writer, value) { - value = (0, bytes_1.arrayify)(value); - var length = writer.writeValue(value.length); - length += writer.writeBytes(value); - return length; - }; - DynamicBytesCoder.prototype.decode = function (reader) { - return reader.readBytes(reader.readValue().toNumber(), true); - }; - return DynamicBytesCoder; -}(abstract_coder_1.Coder)); -exports.DynamicBytesCoder = DynamicBytesCoder; -var BytesCoder = /** @class */ (function (_super) { - __extends(BytesCoder, _super); - function BytesCoder(localName) { - return _super.call(this, "bytes", localName) || this; - } - BytesCoder.prototype.decode = function (reader) { - return reader.coerce(this.name, (0, bytes_1.hexlify)(_super.prototype.decode.call(this, reader))); - }; - return BytesCoder; -}(DynamicBytesCoder)); -exports.BytesCoder = BytesCoder; -//# sourceMappingURL=bytes.js.map - -/***/ }), - -/***/ 41633: -/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) { - - -var __extends = (this && this.__extends) || (function () { - var extendStatics = function (d, b) { - extendStatics = Object.setPrototypeOf || - ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || - function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; }; - return extendStatics(d, b); - }; - return function (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 __()); - }; -})(); -Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.FixedBytesCoder = void 0; -var bytes_1 = __nccwpck_require__(69691); -var abstract_coder_1 = __nccwpck_require__(20227); -// @TODO: Merge this with bytes -var FixedBytesCoder = /** @class */ (function (_super) { - __extends(FixedBytesCoder, _super); - function FixedBytesCoder(size, localName) { - var _this = this; - var name = "bytes" + String(size); - _this = _super.call(this, name, name, localName, false) || this; - _this.size = size; - return _this; - } - FixedBytesCoder.prototype.defaultValue = function () { - return ("0x0000000000000000000000000000000000000000000000000000000000000000").substring(0, 2 + this.size * 2); - }; - FixedBytesCoder.prototype.encode = function (writer, value) { - var data = (0, bytes_1.arrayify)(value); - if (data.length !== this.size) { - this._throwError("incorrect data length", value); - } - return writer.writeBytes(data); - }; - FixedBytesCoder.prototype.decode = function (reader) { - return reader.coerce(this.name, (0, bytes_1.hexlify)(reader.readBytes(this.size))); - }; - return FixedBytesCoder; -}(abstract_coder_1.Coder)); -exports.FixedBytesCoder = FixedBytesCoder; -//# sourceMappingURL=fixed-bytes.js.map - -/***/ }), - -/***/ 28176: -/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) { - - -var __extends = (this && this.__extends) || (function () { - var extendStatics = function (d, b) { - extendStatics = Object.setPrototypeOf || - ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || - function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; }; - return extendStatics(d, b); - }; - return function (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 __()); - }; -})(); -Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.NullCoder = void 0; -var abstract_coder_1 = __nccwpck_require__(20227); -var NullCoder = /** @class */ (function (_super) { - __extends(NullCoder, _super); - function NullCoder(localName) { - return _super.call(this, "null", "", localName, false) || this; - } - NullCoder.prototype.defaultValue = function () { - return null; - }; - NullCoder.prototype.encode = function (writer, value) { - if (value != null) { - this._throwError("not null", value); - } - return writer.writeBytes([]); - }; - NullCoder.prototype.decode = function (reader) { - reader.readBytes(0); - return reader.coerce(this.name, null); - }; - return NullCoder; -}(abstract_coder_1.Coder)); -exports.NullCoder = NullCoder; -//# sourceMappingURL=null.js.map - -/***/ }), - -/***/ 87364: -/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) { - - -var __extends = (this && this.__extends) || (function () { - var extendStatics = function (d, b) { - extendStatics = Object.setPrototypeOf || - ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || - function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; }; - return extendStatics(d, b); - }; - return function (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 __()); - }; -})(); -Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.NumberCoder = void 0; -var bignumber_1 = __nccwpck_require__(14763); -var constants_1 = __nccwpck_require__(46561); -var abstract_coder_1 = __nccwpck_require__(20227); -var NumberCoder = /** @class */ (function (_super) { - __extends(NumberCoder, _super); - function NumberCoder(size, signed, localName) { - var _this = this; - var name = ((signed ? "int" : "uint") + (size * 8)); - _this = _super.call(this, name, name, localName, false) || this; - _this.size = size; - _this.signed = signed; - return _this; - } - NumberCoder.prototype.defaultValue = function () { - return 0; - }; - NumberCoder.prototype.encode = function (writer, value) { - var v = bignumber_1.BigNumber.from(value); - // Check bounds are safe for encoding - var maxUintValue = constants_1.MaxUint256.mask(writer.wordSize * 8); - if (this.signed) { - var bounds = maxUintValue.mask(this.size * 8 - 1); - if (v.gt(bounds) || v.lt(bounds.add(constants_1.One).mul(constants_1.NegativeOne))) { - this._throwError("value out-of-bounds", value); - } - } - else if (v.lt(constants_1.Zero) || v.gt(maxUintValue.mask(this.size * 8))) { - this._throwError("value out-of-bounds", value); - } - v = v.toTwos(this.size * 8).mask(this.size * 8); - if (this.signed) { - v = v.fromTwos(this.size * 8).toTwos(8 * writer.wordSize); - } - return writer.writeValue(v); - }; - NumberCoder.prototype.decode = function (reader) { - var value = reader.readValue().mask(this.size * 8); - if (this.signed) { - value = value.fromTwos(this.size * 8); - } - return reader.coerce(this.name, value); - }; - return NumberCoder; -}(abstract_coder_1.Coder)); -exports.NumberCoder = NumberCoder; -//# sourceMappingURL=number.js.map - -/***/ }), - -/***/ 11600: -/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) { - - -var __extends = (this && this.__extends) || (function () { - var extendStatics = function (d, b) { - extendStatics = Object.setPrototypeOf || - ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || - function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; }; - return extendStatics(d, b); - }; - return function (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 __()); - }; -})(); -Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.StringCoder = void 0; -var strings_1 = __nccwpck_require__(95578); -var bytes_1 = __nccwpck_require__(40170); -var StringCoder = /** @class */ (function (_super) { - __extends(StringCoder, _super); - function StringCoder(localName) { - return _super.call(this, "string", localName) || this; - } - StringCoder.prototype.defaultValue = function () { - return ""; - }; - StringCoder.prototype.encode = function (writer, value) { - return _super.prototype.encode.call(this, writer, (0, strings_1.toUtf8Bytes)(value)); - }; - StringCoder.prototype.decode = function (reader) { - return (0, strings_1.toUtf8String)(_super.prototype.decode.call(this, reader)); - }; - return StringCoder; -}(bytes_1.DynamicBytesCoder)); -exports.StringCoder = StringCoder; -//# sourceMappingURL=string.js.map - -/***/ }), - -/***/ 30923: -/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) { - - -var __extends = (this && this.__extends) || (function () { - var extendStatics = function (d, b) { - extendStatics = Object.setPrototypeOf || - ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || - function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; }; - return extendStatics(d, b); - }; - return function (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 __()); - }; -})(); -Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.TupleCoder = void 0; -var abstract_coder_1 = __nccwpck_require__(20227); -var array_1 = __nccwpck_require__(33416); -var TupleCoder = /** @class */ (function (_super) { - __extends(TupleCoder, _super); - function TupleCoder(coders, localName) { - var _this = this; - var dynamic = false; - var types = []; - coders.forEach(function (coder) { - if (coder.dynamic) { - dynamic = true; - } - types.push(coder.type); - }); - var type = ("tuple(" + types.join(",") + ")"); - _this = _super.call(this, "tuple", type, localName, dynamic) || this; - _this.coders = coders; - return _this; - } - TupleCoder.prototype.defaultValue = function () { - var values = []; - this.coders.forEach(function (coder) { - values.push(coder.defaultValue()); - }); - // We only output named properties for uniquely named coders - var uniqueNames = this.coders.reduce(function (accum, coder) { - var name = coder.localName; - if (name) { - if (!accum[name]) { - accum[name] = 0; - } - accum[name]++; - } - return accum; - }, {}); - // Add named values - this.coders.forEach(function (coder, index) { - var name = coder.localName; - if (!name || uniqueNames[name] !== 1) { - return; - } - if (name === "length") { - name = "_length"; - } - if (values[name] != null) { - return; - } - values[name] = values[index]; - }); - return Object.freeze(values); - }; - TupleCoder.prototype.encode = function (writer, value) { - return (0, array_1.pack)(writer, this.coders, value); - }; - TupleCoder.prototype.decode = function (reader) { - return reader.coerce(this.name, (0, array_1.unpack)(reader, this.coders)); - }; - return TupleCoder; -}(abstract_coder_1.Coder)); -exports.TupleCoder = TupleCoder; -//# sourceMappingURL=tuple.js.map - -/***/ }), - -/***/ 77359: -/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) { - - -var __extends = (this && this.__extends) || (function () { - var extendStatics = function (d, b) { - extendStatics = Object.setPrototypeOf || - ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || - function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; }; - return extendStatics(d, b); - }; - return function (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 __()); - }; -})(); -Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.ErrorFragment = exports.FunctionFragment = exports.ConstructorFragment = exports.EventFragment = exports.Fragment = exports.ParamType = exports.FormatTypes = void 0; -var bignumber_1 = __nccwpck_require__(14763); -var properties_1 = __nccwpck_require__(54145); -var logger_1 = __nccwpck_require__(8772); -var _version_1 = __nccwpck_require__(59591); -var logger = new logger_1.Logger(_version_1.version); -; -var _constructorGuard = {}; -var ModifiersBytes = { calldata: true, memory: true, storage: true }; -var ModifiersNest = { calldata: true, memory: true }; -function checkModifier(type, name) { - if (type === "bytes" || type === "string") { - if (ModifiersBytes[name]) { - return true; - } - } - else if (type === "address") { - if (name === "payable") { - return true; - } - } - else if (type.indexOf("[") >= 0 || type === "tuple") { - if (ModifiersNest[name]) { - return true; - } - } - if (ModifiersBytes[name] || name === "payable") { - logger.throwArgumentError("invalid modifier", "name", name); - } - return false; -} -// @TODO: Make sure that children of an indexed tuple are marked with a null indexed -function parseParamType(param, allowIndexed) { - var originalParam = param; - function throwError(i) { - logger.throwArgumentError("unexpected character at position " + i, "param", param); - } - param = param.replace(/\s/g, " "); - function newNode(parent) { - var node = { type: "", name: "", parent: parent, state: { allowType: true } }; - if (allowIndexed) { - node.indexed = false; - } - return node; - } - var parent = { type: "", name: "", state: { allowType: true } }; - var node = parent; - for (var i = 0; i < param.length; i++) { - var c = param[i]; - switch (c) { - case "(": - if (node.state.allowType && node.type === "") { - node.type = "tuple"; - } - else if (!node.state.allowParams) { - throwError(i); - } - node.state.allowType = false; - node.type = verifyType(node.type); - node.components = [newNode(node)]; - node = node.components[0]; - break; - case ")": - delete node.state; - if (node.name === "indexed") { - if (!allowIndexed) { - throwError(i); - } - node.indexed = true; - node.name = ""; - } - if (checkModifier(node.type, node.name)) { - node.name = ""; - } - node.type = verifyType(node.type); - var child = node; - node = node.parent; - if (!node) { - throwError(i); - } - delete child.parent; - node.state.allowParams = false; - node.state.allowName = true; - node.state.allowArray = true; - break; - case ",": - delete node.state; - if (node.name === "indexed") { - if (!allowIndexed) { - throwError(i); - } - node.indexed = true; - node.name = ""; - } - if (checkModifier(node.type, node.name)) { - node.name = ""; - } - node.type = verifyType(node.type); - var sibling = newNode(node.parent); - //{ type: "", name: "", parent: node.parent, state: { allowType: true } }; - node.parent.components.push(sibling); - delete node.parent; - node = sibling; - break; - // Hit a space... - case " ": - // If reading type, the type is done and may read a param or name - if (node.state.allowType) { - if (node.type !== "") { - node.type = verifyType(node.type); - delete node.state.allowType; - node.state.allowName = true; - node.state.allowParams = true; - } - } - // If reading name, the name is done - if (node.state.allowName) { - if (node.name !== "") { - if (node.name === "indexed") { - if (!allowIndexed) { - throwError(i); - } - if (node.indexed) { - throwError(i); - } - node.indexed = true; - node.name = ""; - } - else if (checkModifier(node.type, node.name)) { - node.name = ""; - } - else { - node.state.allowName = false; - } - } - } - break; - case "[": - if (!node.state.allowArray) { - throwError(i); - } - node.type += c; - node.state.allowArray = false; - node.state.allowName = false; - node.state.readArray = true; - break; - case "]": - if (!node.state.readArray) { - throwError(i); - } - node.type += c; - node.state.readArray = false; - node.state.allowArray = true; - node.state.allowName = true; - break; - default: - if (node.state.allowType) { - node.type += c; - node.state.allowParams = true; - node.state.allowArray = true; - } - else if (node.state.allowName) { - node.name += c; - delete node.state.allowArray; - } - else if (node.state.readArray) { - node.type += c; - } - else { - throwError(i); - } - } - } - if (node.parent) { - logger.throwArgumentError("unexpected eof", "param", param); - } - delete parent.state; - if (node.name === "indexed") { - if (!allowIndexed) { - throwError(originalParam.length - 7); - } - if (node.indexed) { - throwError(originalParam.length - 7); - } - node.indexed = true; - node.name = ""; - } - else if (checkModifier(node.type, node.name)) { - node.name = ""; - } - parent.type = verifyType(parent.type); - return parent; -} -function populate(object, params) { - for (var key in params) { - (0, properties_1.defineReadOnly)(object, key, params[key]); - } -} -exports.FormatTypes = Object.freeze({ - // Bare formatting, as is needed for computing a sighash of an event or function - sighash: "sighash", - // Human-Readable with Minimal spacing and without names (compact human-readable) - minimal: "minimal", - // Human-Readable with nice spacing, including all names - full: "full", - // JSON-format a la Solidity - json: "json" -}); -var paramTypeArray = new RegExp(/^(.*)\[([0-9]*)\]$/); -var ParamType = /** @class */ (function () { - function ParamType(constructorGuard, params) { - if (constructorGuard !== _constructorGuard) { - logger.throwError("use fromString", logger_1.Logger.errors.UNSUPPORTED_OPERATION, { - operation: "new ParamType()" - }); - } - populate(this, params); - var match = this.type.match(paramTypeArray); - if (match) { - populate(this, { - arrayLength: parseInt(match[2] || "-1"), - arrayChildren: ParamType.fromObject({ - type: match[1], - components: this.components - }), - baseType: "array" - }); - } - else { - populate(this, { - arrayLength: null, - arrayChildren: null, - baseType: ((this.components != null) ? "tuple" : this.type) - }); - } - this._isParamType = true; - Object.freeze(this); - } - // Format the parameter fragment - // - sighash: "(uint256,address)" - // - minimal: "tuple(uint256,address) indexed" - // - full: "tuple(uint256 foo, address bar) indexed baz" - ParamType.prototype.format = function (format) { - if (!format) { - format = exports.FormatTypes.sighash; - } - if (!exports.FormatTypes[format]) { - logger.throwArgumentError("invalid format type", "format", format); - } - if (format === exports.FormatTypes.json) { - var result_1 = { - type: ((this.baseType === "tuple") ? "tuple" : this.type), - name: (this.name || undefined) - }; - if (typeof (this.indexed) === "boolean") { - result_1.indexed = this.indexed; - } - if (this.components) { - result_1.components = this.components.map(function (comp) { return JSON.parse(comp.format(format)); }); - } - return JSON.stringify(result_1); - } - var result = ""; - // Array - if (this.baseType === "array") { - result += this.arrayChildren.format(format); - result += "[" + (this.arrayLength < 0 ? "" : String(this.arrayLength)) + "]"; - } - else { - if (this.baseType === "tuple") { - if (format !== exports.FormatTypes.sighash) { - result += this.type; - } - result += "(" + this.components.map(function (comp) { return comp.format(format); }).join((format === exports.FormatTypes.full) ? ", " : ",") + ")"; - } - else { - result += this.type; - } - } - if (format !== exports.FormatTypes.sighash) { - if (this.indexed === true) { - result += " indexed"; - } - if (format === exports.FormatTypes.full && this.name) { - result += " " + this.name; - } - } - return result; - }; - ParamType.from = function (value, allowIndexed) { - if (typeof (value) === "string") { - return ParamType.fromString(value, allowIndexed); - } - return ParamType.fromObject(value); - }; - ParamType.fromObject = function (value) { - if (ParamType.isParamType(value)) { - return value; - } - return new ParamType(_constructorGuard, { - name: (value.name || null), - type: verifyType(value.type), - indexed: ((value.indexed == null) ? null : !!value.indexed), - components: (value.components ? value.components.map(ParamType.fromObject) : null) - }); - }; - ParamType.fromString = function (value, allowIndexed) { - function ParamTypify(node) { - return ParamType.fromObject({ - name: node.name, - type: node.type, - indexed: node.indexed, - components: node.components - }); - } - return ParamTypify(parseParamType(value, !!allowIndexed)); - }; - ParamType.isParamType = function (value) { - return !!(value != null && value._isParamType); - }; - return ParamType; -}()); -exports.ParamType = ParamType; -; -function parseParams(value, allowIndex) { - return splitNesting(value).map(function (param) { return ParamType.fromString(param, allowIndex); }); -} -var Fragment = /** @class */ (function () { - function Fragment(constructorGuard, params) { - if (constructorGuard !== _constructorGuard) { - logger.throwError("use a static from method", logger_1.Logger.errors.UNSUPPORTED_OPERATION, { - operation: "new Fragment()" - }); - } - populate(this, params); - this._isFragment = true; - Object.freeze(this); - } - Fragment.from = function (value) { - if (Fragment.isFragment(value)) { - return value; - } - if (typeof (value) === "string") { - return Fragment.fromString(value); - } - return Fragment.fromObject(value); - }; - Fragment.fromObject = function (value) { - if (Fragment.isFragment(value)) { - return value; - } - switch (value.type) { - case "function": - return FunctionFragment.fromObject(value); - case "event": - return EventFragment.fromObject(value); - case "constructor": - return ConstructorFragment.fromObject(value); - case "error": - return ErrorFragment.fromObject(value); - case "fallback": - case "receive": - // @TODO: Something? Maybe return a FunctionFragment? A custom DefaultFunctionFragment? - return null; - } - return logger.throwArgumentError("invalid fragment object", "value", value); - }; - Fragment.fromString = function (value) { - // Make sure the "returns" is surrounded by a space and all whitespace is exactly one space - value = value.replace(/\s/g, " "); - value = value.replace(/\(/g, " (").replace(/\)/g, ") ").replace(/\s+/g, " "); - value = value.trim(); - if (value.split(" ")[0] === "event") { - return EventFragment.fromString(value.substring(5).trim()); - } - else if (value.split(" ")[0] === "function") { - return FunctionFragment.fromString(value.substring(8).trim()); - } - else if (value.split("(")[0].trim() === "constructor") { - return ConstructorFragment.fromString(value.trim()); - } - else if (value.split(" ")[0] === "error") { - return ErrorFragment.fromString(value.substring(5).trim()); - } - return logger.throwArgumentError("unsupported fragment", "value", value); - }; - Fragment.isFragment = function (value) { - return !!(value && value._isFragment); - }; - return Fragment; -}()); -exports.Fragment = Fragment; -var EventFragment = /** @class */ (function (_super) { - __extends(EventFragment, _super); - function EventFragment() { - return _super !== null && _super.apply(this, arguments) || this; - } - EventFragment.prototype.format = function (format) { - if (!format) { - format = exports.FormatTypes.sighash; - } - if (!exports.FormatTypes[format]) { - logger.throwArgumentError("invalid format type", "format", format); - } - if (format === exports.FormatTypes.json) { - return JSON.stringify({ - type: "event", - anonymous: this.anonymous, - name: this.name, - inputs: this.inputs.map(function (input) { return JSON.parse(input.format(format)); }) - }); - } - var result = ""; - if (format !== exports.FormatTypes.sighash) { - result += "event "; - } - result += this.name + "(" + this.inputs.map(function (input) { return input.format(format); }).join((format === exports.FormatTypes.full) ? ", " : ",") + ") "; - if (format !== exports.FormatTypes.sighash) { - if (this.anonymous) { - result += "anonymous "; - } - } - return result.trim(); - }; - EventFragment.from = function (value) { - if (typeof (value) === "string") { - return EventFragment.fromString(value); - } - return EventFragment.fromObject(value); - }; - EventFragment.fromObject = function (value) { - if (EventFragment.isEventFragment(value)) { - return value; - } - if (value.type !== "event") { - logger.throwArgumentError("invalid event object", "value", value); - } - var params = { - name: verifyIdentifier(value.name), - anonymous: value.anonymous, - inputs: (value.inputs ? value.inputs.map(ParamType.fromObject) : []), - type: "event" - }; - return new EventFragment(_constructorGuard, params); - }; - EventFragment.fromString = function (value) { - var match = value.match(regexParen); - if (!match) { - logger.throwArgumentError("invalid event string", "value", value); - } - var anonymous = false; - match[3].split(" ").forEach(function (modifier) { - switch (modifier.trim()) { - case "anonymous": - anonymous = true; - break; - case "": - break; - default: - logger.warn("unknown modifier: " + modifier); - } - }); - return EventFragment.fromObject({ - name: match[1].trim(), - anonymous: anonymous, - inputs: parseParams(match[2], true), - type: "event" - }); - }; - EventFragment.isEventFragment = function (value) { - return (value && value._isFragment && value.type === "event"); - }; - return EventFragment; -}(Fragment)); -exports.EventFragment = EventFragment; -function parseGas(value, params) { - params.gas = null; - var comps = value.split("@"); - if (comps.length !== 1) { - if (comps.length > 2) { - logger.throwArgumentError("invalid human-readable ABI signature", "value", value); - } - if (!comps[1].match(/^[0-9]+$/)) { - logger.throwArgumentError("invalid human-readable ABI signature gas", "value", value); - } - params.gas = bignumber_1.BigNumber.from(comps[1]); - return comps[0]; - } - return value; -} -function parseModifiers(value, params) { - params.constant = false; - params.payable = false; - params.stateMutability = "nonpayable"; - value.split(" ").forEach(function (modifier) { - switch (modifier.trim()) { - case "constant": - params.constant = true; - break; - case "payable": - params.payable = true; - params.stateMutability = "payable"; - break; - case "nonpayable": - params.payable = false; - params.stateMutability = "nonpayable"; - break; - case "pure": - params.constant = true; - params.stateMutability = "pure"; - break; - case "view": - params.constant = true; - params.stateMutability = "view"; - break; - case "external": - case "public": - case "": - break; - default: - console.log("unknown modifier: " + modifier); - } - }); -} -function verifyState(value) { - var result = { - constant: false, - payable: true, - stateMutability: "payable" - }; - if (value.stateMutability != null) { - result.stateMutability = value.stateMutability; - // Set (and check things are consistent) the constant property - result.constant = (result.stateMutability === "view" || result.stateMutability === "pure"); - if (value.constant != null) { - if ((!!value.constant) !== result.constant) { - logger.throwArgumentError("cannot have constant function with mutability " + result.stateMutability, "value", value); - } - } - // Set (and check things are consistent) the payable property - result.payable = (result.stateMutability === "payable"); - if (value.payable != null) { - if ((!!value.payable) !== result.payable) { - logger.throwArgumentError("cannot have payable function with mutability " + result.stateMutability, "value", value); - } - } - } - else if (value.payable != null) { - result.payable = !!value.payable; - // If payable we can assume non-constant; otherwise we can't assume - if (value.constant == null && !result.payable && value.type !== "constructor") { - logger.throwArgumentError("unable to determine stateMutability", "value", value); - } - result.constant = !!value.constant; - if (result.constant) { - result.stateMutability = "view"; - } - else { - result.stateMutability = (result.payable ? "payable" : "nonpayable"); - } - if (result.payable && result.constant) { - logger.throwArgumentError("cannot have constant payable function", "value", value); - } - } - else if (value.constant != null) { - result.constant = !!value.constant; - result.payable = !result.constant; - result.stateMutability = (result.constant ? "view" : "payable"); - } - else if (value.type !== "constructor") { - logger.throwArgumentError("unable to determine stateMutability", "value", value); - } - return result; -} -var ConstructorFragment = /** @class */ (function (_super) { - __extends(ConstructorFragment, _super); - function ConstructorFragment() { - return _super !== null && _super.apply(this, arguments) || this; - } - ConstructorFragment.prototype.format = function (format) { - if (!format) { - format = exports.FormatTypes.sighash; - } - if (!exports.FormatTypes[format]) { - logger.throwArgumentError("invalid format type", "format", format); - } - if (format === exports.FormatTypes.json) { - return JSON.stringify({ - type: "constructor", - stateMutability: ((this.stateMutability !== "nonpayable") ? this.stateMutability : undefined), - payable: this.payable, - gas: (this.gas ? this.gas.toNumber() : undefined), - inputs: this.inputs.map(function (input) { return JSON.parse(input.format(format)); }) - }); - } - if (format === exports.FormatTypes.sighash) { - logger.throwError("cannot format a constructor for sighash", logger_1.Logger.errors.UNSUPPORTED_OPERATION, { - operation: "format(sighash)" - }); - } - var result = "constructor(" + this.inputs.map(function (input) { return input.format(format); }).join((format === exports.FormatTypes.full) ? ", " : ",") + ") "; - if (this.stateMutability && this.stateMutability !== "nonpayable") { - result += this.stateMutability + " "; - } - return result.trim(); - }; - ConstructorFragment.from = function (value) { - if (typeof (value) === "string") { - return ConstructorFragment.fromString(value); - } - return ConstructorFragment.fromObject(value); - }; - ConstructorFragment.fromObject = function (value) { - if (ConstructorFragment.isConstructorFragment(value)) { - return value; - } - if (value.type !== "constructor") { - logger.throwArgumentError("invalid constructor object", "value", value); - } - var state = verifyState(value); - if (state.constant) { - logger.throwArgumentError("constructor cannot be constant", "value", value); - } - var params = { - name: null, - type: value.type, - inputs: (value.inputs ? value.inputs.map(ParamType.fromObject) : []), - payable: state.payable, - stateMutability: state.stateMutability, - gas: (value.gas ? bignumber_1.BigNumber.from(value.gas) : null) - }; - return new ConstructorFragment(_constructorGuard, params); - }; - ConstructorFragment.fromString = function (value) { - var params = { type: "constructor" }; - value = parseGas(value, params); - var parens = value.match(regexParen); - if (!parens || parens[1].trim() !== "constructor") { - logger.throwArgumentError("invalid constructor string", "value", value); - } - params.inputs = parseParams(parens[2].trim(), false); - parseModifiers(parens[3].trim(), params); - return ConstructorFragment.fromObject(params); - }; - ConstructorFragment.isConstructorFragment = function (value) { - return (value && value._isFragment && value.type === "constructor"); - }; - return ConstructorFragment; -}(Fragment)); -exports.ConstructorFragment = ConstructorFragment; -var FunctionFragment = /** @class */ (function (_super) { - __extends(FunctionFragment, _super); - function FunctionFragment() { - return _super !== null && _super.apply(this, arguments) || this; - } - FunctionFragment.prototype.format = function (format) { - if (!format) { - format = exports.FormatTypes.sighash; - } - if (!exports.FormatTypes[format]) { - logger.throwArgumentError("invalid format type", "format", format); - } - if (format === exports.FormatTypes.json) { - return JSON.stringify({ - type: "function", - name: this.name, - constant: this.constant, - stateMutability: ((this.stateMutability !== "nonpayable") ? this.stateMutability : undefined), - payable: this.payable, - gas: (this.gas ? this.gas.toNumber() : undefined), - inputs: this.inputs.map(function (input) { return JSON.parse(input.format(format)); }), - outputs: this.outputs.map(function (output) { return JSON.parse(output.format(format)); }), - }); - } - var result = ""; - if (format !== exports.FormatTypes.sighash) { - result += "function "; - } - result += this.name + "(" + this.inputs.map(function (input) { return input.format(format); }).join((format === exports.FormatTypes.full) ? ", " : ",") + ") "; - if (format !== exports.FormatTypes.sighash) { - if (this.stateMutability) { - if (this.stateMutability !== "nonpayable") { - result += (this.stateMutability + " "); - } - } - else if (this.constant) { - result += "view "; - } - if (this.outputs && this.outputs.length) { - result += "returns (" + this.outputs.map(function (output) { return output.format(format); }).join(", ") + ") "; - } - if (this.gas != null) { - result += "@" + this.gas.toString() + " "; - } - } - return result.trim(); - }; - FunctionFragment.from = function (value) { - if (typeof (value) === "string") { - return FunctionFragment.fromString(value); - } - return FunctionFragment.fromObject(value); - }; - FunctionFragment.fromObject = function (value) { - if (FunctionFragment.isFunctionFragment(value)) { - return value; - } - if (value.type !== "function") { - logger.throwArgumentError("invalid function object", "value", value); - } - var state = verifyState(value); - var params = { - type: value.type, - name: verifyIdentifier(value.name), - constant: state.constant, - inputs: (value.inputs ? value.inputs.map(ParamType.fromObject) : []), - outputs: (value.outputs ? value.outputs.map(ParamType.fromObject) : []), - payable: state.payable, - stateMutability: state.stateMutability, - gas: (value.gas ? bignumber_1.BigNumber.from(value.gas) : null) - }; - return new FunctionFragment(_constructorGuard, params); - }; - FunctionFragment.fromString = function (value) { - var params = { type: "function" }; - value = parseGas(value, params); - var comps = value.split(" returns "); - if (comps.length > 2) { - logger.throwArgumentError("invalid function string", "value", value); - } - var parens = comps[0].match(regexParen); - if (!parens) { - logger.throwArgumentError("invalid function signature", "value", value); - } - params.name = parens[1].trim(); - if (params.name) { - verifyIdentifier(params.name); - } - params.inputs = parseParams(parens[2], false); - parseModifiers(parens[3].trim(), params); - // We have outputs - if (comps.length > 1) { - var returns = comps[1].match(regexParen); - if (returns[1].trim() != "" || returns[3].trim() != "") { - logger.throwArgumentError("unexpected tokens", "value", value); - } - params.outputs = parseParams(returns[2], false); - } - else { - params.outputs = []; - } - return FunctionFragment.fromObject(params); - }; - FunctionFragment.isFunctionFragment = function (value) { - return (value && value._isFragment && value.type === "function"); - }; - return FunctionFragment; -}(ConstructorFragment)); -exports.FunctionFragment = FunctionFragment; -//export class StructFragment extends Fragment { -//} -function checkForbidden(fragment) { - var sig = fragment.format(); - if (sig === "Error(string)" || sig === "Panic(uint256)") { - logger.throwArgumentError("cannot specify user defined " + sig + " error", "fragment", fragment); - } - return fragment; -} -var ErrorFragment = /** @class */ (function (_super) { - __extends(ErrorFragment, _super); - function ErrorFragment() { - return _super !== null && _super.apply(this, arguments) || this; - } - ErrorFragment.prototype.format = function (format) { - if (!format) { - format = exports.FormatTypes.sighash; - } - if (!exports.FormatTypes[format]) { - logger.throwArgumentError("invalid format type", "format", format); - } - if (format === exports.FormatTypes.json) { - return JSON.stringify({ - type: "error", - name: this.name, - inputs: this.inputs.map(function (input) { return JSON.parse(input.format(format)); }), - }); - } - var result = ""; - if (format !== exports.FormatTypes.sighash) { - result += "error "; - } - result += this.name + "(" + this.inputs.map(function (input) { return input.format(format); }).join((format === exports.FormatTypes.full) ? ", " : ",") + ") "; - return result.trim(); - }; - ErrorFragment.from = function (value) { - if (typeof (value) === "string") { - return ErrorFragment.fromString(value); - } - return ErrorFragment.fromObject(value); - }; - ErrorFragment.fromObject = function (value) { - if (ErrorFragment.isErrorFragment(value)) { - return value; - } - if (value.type !== "error") { - logger.throwArgumentError("invalid error object", "value", value); - } - var params = { - type: value.type, - name: verifyIdentifier(value.name), - inputs: (value.inputs ? value.inputs.map(ParamType.fromObject) : []) - }; - return checkForbidden(new ErrorFragment(_constructorGuard, params)); - }; - ErrorFragment.fromString = function (value) { - var params = { type: "error" }; - var parens = value.match(regexParen); - if (!parens) { - logger.throwArgumentError("invalid error signature", "value", value); - } - params.name = parens[1].trim(); - if (params.name) { - verifyIdentifier(params.name); - } - params.inputs = parseParams(parens[2], false); - return checkForbidden(ErrorFragment.fromObject(params)); - }; - ErrorFragment.isErrorFragment = function (value) { - return (value && value._isFragment && value.type === "error"); - }; - return ErrorFragment; -}(Fragment)); -exports.ErrorFragment = ErrorFragment; -function verifyType(type) { - // These need to be transformed to their full description - if (type.match(/^uint($|[^1-9])/)) { - type = "uint256" + type.substring(4); - } - else if (type.match(/^int($|[^1-9])/)) { - type = "int256" + type.substring(3); - } - // @TODO: more verification - return type; -} -// See: https://github.com/ethereum/solidity/blob/1f8f1a3db93a548d0555e3e14cfc55a10e25b60e/docs/grammar/SolidityLexer.g4#L234 -var regexIdentifier = new RegExp("^[a-zA-Z$_][a-zA-Z0-9$_]*$"); -function verifyIdentifier(value) { - if (!value || !value.match(regexIdentifier)) { - logger.throwArgumentError("invalid identifier \"" + value + "\"", "value", value); - } - return value; -} -var regexParen = new RegExp("^([^)(]*)\\((.*)\\)([^)(]*)$"); -function splitNesting(value) { - value = value.trim(); - var result = []; - var accum = ""; - var depth = 0; - for (var offset = 0; offset < value.length; offset++) { - var c = value[offset]; - if (c === "," && depth === 0) { - result.push(accum); - accum = ""; - } - else { - accum += c; - if (c === "(") { - depth++; - } - else if (c === ")") { - depth--; - if (depth === -1) { - logger.throwArgumentError("unbalanced parenthesis", "value", value); - } - } - } - } - if (accum) { - result.push(accum); - } - return result; -} -//# sourceMappingURL=fragments.js.map - -/***/ }), - -/***/ 48602: -/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { - - -Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.TransactionDescription = exports.LogDescription = exports.checkResultErrors = exports.Indexed = exports.Interface = exports.defaultAbiCoder = exports.AbiCoder = exports.FormatTypes = exports.ParamType = exports.FunctionFragment = exports.Fragment = exports.EventFragment = exports.ErrorFragment = exports.ConstructorFragment = void 0; -var fragments_1 = __nccwpck_require__(77359); -Object.defineProperty(exports, "ConstructorFragment", ({ enumerable: true, get: function () { return fragments_1.ConstructorFragment; } })); -Object.defineProperty(exports, "ErrorFragment", ({ enumerable: true, get: function () { return fragments_1.ErrorFragment; } })); -Object.defineProperty(exports, "EventFragment", ({ enumerable: true, get: function () { return fragments_1.EventFragment; } })); -Object.defineProperty(exports, "FormatTypes", ({ enumerable: true, get: function () { return fragments_1.FormatTypes; } })); -Object.defineProperty(exports, "Fragment", ({ enumerable: true, get: function () { return fragments_1.Fragment; } })); -Object.defineProperty(exports, "FunctionFragment", ({ enumerable: true, get: function () { return fragments_1.FunctionFragment; } })); -Object.defineProperty(exports, "ParamType", ({ enumerable: true, get: function () { return fragments_1.ParamType; } })); -var abi_coder_1 = __nccwpck_require__(47280); -Object.defineProperty(exports, "AbiCoder", ({ enumerable: true, get: function () { return abi_coder_1.AbiCoder; } })); -Object.defineProperty(exports, "defaultAbiCoder", ({ enumerable: true, get: function () { return abi_coder_1.defaultAbiCoder; } })); -var interface_1 = __nccwpck_require__(8237); -Object.defineProperty(exports, "checkResultErrors", ({ enumerable: true, get: function () { return interface_1.checkResultErrors; } })); -Object.defineProperty(exports, "Indexed", ({ enumerable: true, get: function () { return interface_1.Indexed; } })); -Object.defineProperty(exports, "Interface", ({ enumerable: true, get: function () { return interface_1.Interface; } })); -Object.defineProperty(exports, "LogDescription", ({ enumerable: true, get: function () { return interface_1.LogDescription; } })); -Object.defineProperty(exports, "TransactionDescription", ({ enumerable: true, get: function () { return interface_1.TransactionDescription; } })); -//# sourceMappingURL=index.js.map - -/***/ }), - -/***/ 8237: -/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) { - - -var __extends = (this && this.__extends) || (function () { - var extendStatics = function (d, b) { - extendStatics = Object.setPrototypeOf || - ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || - function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; }; - return extendStatics(d, b); - }; - return function (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 __()); - }; -})(); -Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.Interface = exports.Indexed = exports.ErrorDescription = exports.TransactionDescription = exports.LogDescription = exports.checkResultErrors = void 0; -var address_1 = __nccwpck_require__(10056); -var bignumber_1 = __nccwpck_require__(14763); -var bytes_1 = __nccwpck_require__(69691); -var hash_1 = __nccwpck_require__(39144); -var keccak256_1 = __nccwpck_require__(15815); -var properties_1 = __nccwpck_require__(54145); -var abi_coder_1 = __nccwpck_require__(47280); -var abstract_coder_1 = __nccwpck_require__(20227); -Object.defineProperty(exports, "checkResultErrors", ({ enumerable: true, get: function () { return abstract_coder_1.checkResultErrors; } })); -var fragments_1 = __nccwpck_require__(77359); -var logger_1 = __nccwpck_require__(8772); -var _version_1 = __nccwpck_require__(59591); -var logger = new logger_1.Logger(_version_1.version); -var LogDescription = /** @class */ (function (_super) { - __extends(LogDescription, _super); - function LogDescription() { - return _super !== null && _super.apply(this, arguments) || this; - } - return LogDescription; -}(properties_1.Description)); -exports.LogDescription = LogDescription; -var TransactionDescription = /** @class */ (function (_super) { - __extends(TransactionDescription, _super); - function TransactionDescription() { - return _super !== null && _super.apply(this, arguments) || this; - } - return TransactionDescription; -}(properties_1.Description)); -exports.TransactionDescription = TransactionDescription; -var ErrorDescription = /** @class */ (function (_super) { - __extends(ErrorDescription, _super); - function ErrorDescription() { - return _super !== null && _super.apply(this, arguments) || this; - } - return ErrorDescription; -}(properties_1.Description)); -exports.ErrorDescription = ErrorDescription; -var Indexed = /** @class */ (function (_super) { - __extends(Indexed, _super); - function Indexed() { - return _super !== null && _super.apply(this, arguments) || this; - } - Indexed.isIndexed = function (value) { - return !!(value && value._isIndexed); - }; - return Indexed; -}(properties_1.Description)); -exports.Indexed = Indexed; -var BuiltinErrors = { - "0x08c379a0": { signature: "Error(string)", name: "Error", inputs: ["string"], reason: true }, - "0x4e487b71": { signature: "Panic(uint256)", name: "Panic", inputs: ["uint256"] } -}; -function wrapAccessError(property, error) { - var wrap = new Error("deferred error during ABI decoding triggered accessing " + property); - wrap.error = error; - return wrap; -} -/* -function checkNames(fragment: Fragment, type: "input" | "output", params: Array): void { - params.reduce((accum, param) => { - if (param.name) { - if (accum[param.name]) { - logger.throwArgumentError(`duplicate ${ type } parameter ${ JSON.stringify(param.name) } in ${ fragment.format("full") }`, "fragment", fragment); - } - accum[param.name] = true; - } - return accum; - }, <{ [ name: string ]: boolean }>{ }); -} -*/ -var Interface = /** @class */ (function () { - function Interface(fragments) { - var _newTarget = this.constructor; - var _this = this; - var abi = []; - if (typeof (fragments) === "string") { - abi = JSON.parse(fragments); - } - else { - abi = fragments; - } - (0, properties_1.defineReadOnly)(this, "fragments", abi.map(function (fragment) { - return fragments_1.Fragment.from(fragment); - }).filter(function (fragment) { return (fragment != null); })); - (0, properties_1.defineReadOnly)(this, "_abiCoder", (0, properties_1.getStatic)(_newTarget, "getAbiCoder")()); - (0, properties_1.defineReadOnly)(this, "functions", {}); - (0, properties_1.defineReadOnly)(this, "errors", {}); - (0, properties_1.defineReadOnly)(this, "events", {}); - (0, properties_1.defineReadOnly)(this, "structs", {}); - // Add all fragments by their signature - this.fragments.forEach(function (fragment) { - var bucket = null; - switch (fragment.type) { - case "constructor": - if (_this.deploy) { - logger.warn("duplicate definition - constructor"); - return; - } - //checkNames(fragment, "input", fragment.inputs); - (0, properties_1.defineReadOnly)(_this, "deploy", fragment); - return; - case "function": - //checkNames(fragment, "input", fragment.inputs); - //checkNames(fragment, "output", (fragment).outputs); - bucket = _this.functions; - break; - case "event": - //checkNames(fragment, "input", fragment.inputs); - bucket = _this.events; - break; - case "error": - bucket = _this.errors; - break; - default: - return; - } - var signature = fragment.format(); - if (bucket[signature]) { - logger.warn("duplicate definition - " + signature); - return; - } - bucket[signature] = fragment; - }); - // If we do not have a constructor add a default - if (!this.deploy) { - (0, properties_1.defineReadOnly)(this, "deploy", fragments_1.ConstructorFragment.from({ - payable: false, - type: "constructor" - })); - } - (0, properties_1.defineReadOnly)(this, "_isInterface", true); - } - Interface.prototype.format = function (format) { - if (!format) { - format = fragments_1.FormatTypes.full; - } - if (format === fragments_1.FormatTypes.sighash) { - logger.throwArgumentError("interface does not support formatting sighash", "format", format); - } - var abi = this.fragments.map(function (fragment) { return fragment.format(format); }); - // We need to re-bundle the JSON fragments a bit - if (format === fragments_1.FormatTypes.json) { - return JSON.stringify(abi.map(function (j) { return JSON.parse(j); })); - } - return abi; - }; - // Sub-classes can override these to handle other blockchains - Interface.getAbiCoder = function () { - return abi_coder_1.defaultAbiCoder; - }; - Interface.getAddress = function (address) { - return (0, address_1.getAddress)(address); - }; - Interface.getSighash = function (fragment) { - return (0, bytes_1.hexDataSlice)((0, hash_1.id)(fragment.format()), 0, 4); - }; - Interface.getEventTopic = function (eventFragment) { - return (0, hash_1.id)(eventFragment.format()); - }; - // Find a function definition by any means necessary (unless it is ambiguous) - Interface.prototype.getFunction = function (nameOrSignatureOrSighash) { - if ((0, bytes_1.isHexString)(nameOrSignatureOrSighash)) { - for (var name_1 in this.functions) { - if (nameOrSignatureOrSighash === this.getSighash(name_1)) { - return this.functions[name_1]; - } - } - logger.throwArgumentError("no matching function", "sighash", nameOrSignatureOrSighash); - } - // It is a bare name, look up the function (will return null if ambiguous) - if (nameOrSignatureOrSighash.indexOf("(") === -1) { - var name_2 = nameOrSignatureOrSighash.trim(); - var matching = Object.keys(this.functions).filter(function (f) { return (f.split("(" /* fix:) */)[0] === name_2); }); - if (matching.length === 0) { - logger.throwArgumentError("no matching function", "name", name_2); - } - else if (matching.length > 1) { - logger.throwArgumentError("multiple matching functions", "name", name_2); - } - return this.functions[matching[0]]; - } - // Normalize the signature and lookup the function - var result = this.functions[fragments_1.FunctionFragment.fromString(nameOrSignatureOrSighash).format()]; - if (!result) { - logger.throwArgumentError("no matching function", "signature", nameOrSignatureOrSighash); - } - return result; - }; - // Find an event definition by any means necessary (unless it is ambiguous) - Interface.prototype.getEvent = function (nameOrSignatureOrTopic) { - if ((0, bytes_1.isHexString)(nameOrSignatureOrTopic)) { - var topichash = nameOrSignatureOrTopic.toLowerCase(); - for (var name_3 in this.events) { - if (topichash === this.getEventTopic(name_3)) { - return this.events[name_3]; - } - } - logger.throwArgumentError("no matching event", "topichash", topichash); - } - // It is a bare name, look up the function (will return null if ambiguous) - if (nameOrSignatureOrTopic.indexOf("(") === -1) { - var name_4 = nameOrSignatureOrTopic.trim(); - var matching = Object.keys(this.events).filter(function (f) { return (f.split("(" /* fix:) */)[0] === name_4); }); - if (matching.length === 0) { - logger.throwArgumentError("no matching event", "name", name_4); - } - else if (matching.length > 1) { - logger.throwArgumentError("multiple matching events", "name", name_4); - } - return this.events[matching[0]]; - } - // Normalize the signature and lookup the function - var result = this.events[fragments_1.EventFragment.fromString(nameOrSignatureOrTopic).format()]; - if (!result) { - logger.throwArgumentError("no matching event", "signature", nameOrSignatureOrTopic); - } - return result; - }; - // Find a function definition by any means necessary (unless it is ambiguous) - Interface.prototype.getError = function (nameOrSignatureOrSighash) { - if ((0, bytes_1.isHexString)(nameOrSignatureOrSighash)) { - var getSighash = (0, properties_1.getStatic)(this.constructor, "getSighash"); - for (var name_5 in this.errors) { - var error = this.errors[name_5]; - if (nameOrSignatureOrSighash === getSighash(error)) { - return this.errors[name_5]; - } - } - logger.throwArgumentError("no matching error", "sighash", nameOrSignatureOrSighash); - } - // It is a bare name, look up the function (will return null if ambiguous) - if (nameOrSignatureOrSighash.indexOf("(") === -1) { - var name_6 = nameOrSignatureOrSighash.trim(); - var matching = Object.keys(this.errors).filter(function (f) { return (f.split("(" /* fix:) */)[0] === name_6); }); - if (matching.length === 0) { - logger.throwArgumentError("no matching error", "name", name_6); - } - else if (matching.length > 1) { - logger.throwArgumentError("multiple matching errors", "name", name_6); - } - return this.errors[matching[0]]; - } - // Normalize the signature and lookup the function - var result = this.errors[fragments_1.FunctionFragment.fromString(nameOrSignatureOrSighash).format()]; - if (!result) { - logger.throwArgumentError("no matching error", "signature", nameOrSignatureOrSighash); - } - return result; - }; - // Get the sighash (the bytes4 selector) used by Solidity to identify a function - Interface.prototype.getSighash = function (fragment) { - if (typeof (fragment) === "string") { - try { - fragment = this.getFunction(fragment); - } - catch (error) { - try { - fragment = this.getError(fragment); - } - catch (_) { - throw error; - } - } - } - return (0, properties_1.getStatic)(this.constructor, "getSighash")(fragment); - }; - // Get the topic (the bytes32 hash) used by Solidity to identify an event - Interface.prototype.getEventTopic = function (eventFragment) { - if (typeof (eventFragment) === "string") { - eventFragment = this.getEvent(eventFragment); - } - return (0, properties_1.getStatic)(this.constructor, "getEventTopic")(eventFragment); - }; - Interface.prototype._decodeParams = function (params, data) { - return this._abiCoder.decode(params, data); - }; - Interface.prototype._encodeParams = function (params, values) { - return this._abiCoder.encode(params, values); - }; - Interface.prototype.encodeDeploy = function (values) { - return this._encodeParams(this.deploy.inputs, values || []); - }; - Interface.prototype.decodeErrorResult = function (fragment, data) { - if (typeof (fragment) === "string") { - fragment = this.getError(fragment); - } - var bytes = (0, bytes_1.arrayify)(data); - if ((0, bytes_1.hexlify)(bytes.slice(0, 4)) !== this.getSighash(fragment)) { - logger.throwArgumentError("data signature does not match error " + fragment.name + ".", "data", (0, bytes_1.hexlify)(bytes)); - } - return this._decodeParams(fragment.inputs, bytes.slice(4)); - }; - Interface.prototype.encodeErrorResult = function (fragment, values) { - if (typeof (fragment) === "string") { - fragment = this.getError(fragment); - } - return (0, bytes_1.hexlify)((0, bytes_1.concat)([ - this.getSighash(fragment), - this._encodeParams(fragment.inputs, values || []) - ])); - }; - // Decode the data for a function call (e.g. tx.data) - Interface.prototype.decodeFunctionData = function (functionFragment, data) { - if (typeof (functionFragment) === "string") { - functionFragment = this.getFunction(functionFragment); - } - var bytes = (0, bytes_1.arrayify)(data); - if ((0, bytes_1.hexlify)(bytes.slice(0, 4)) !== this.getSighash(functionFragment)) { - logger.throwArgumentError("data signature does not match function " + functionFragment.name + ".", "data", (0, bytes_1.hexlify)(bytes)); - } - return this._decodeParams(functionFragment.inputs, bytes.slice(4)); - }; - // Encode the data for a function call (e.g. tx.data) - Interface.prototype.encodeFunctionData = function (functionFragment, values) { - if (typeof (functionFragment) === "string") { - functionFragment = this.getFunction(functionFragment); - } - return (0, bytes_1.hexlify)((0, bytes_1.concat)([ - this.getSighash(functionFragment), - this._encodeParams(functionFragment.inputs, values || []) - ])); - }; - // Decode the result from a function call (e.g. from eth_call) - Interface.prototype.decodeFunctionResult = function (functionFragment, data) { - if (typeof (functionFragment) === "string") { - functionFragment = this.getFunction(functionFragment); - } - var bytes = (0, bytes_1.arrayify)(data); - var reason = null; - var message = ""; - var errorArgs = null; - var errorName = null; - var errorSignature = null; - switch (bytes.length % this._abiCoder._getWordSize()) { - case 0: - try { - return this._abiCoder.decode(functionFragment.outputs, bytes); - } - catch (error) { } - break; - case 4: { - var selector = (0, bytes_1.hexlify)(bytes.slice(0, 4)); - var builtin = BuiltinErrors[selector]; - if (builtin) { - errorArgs = this._abiCoder.decode(builtin.inputs, bytes.slice(4)); - errorName = builtin.name; - errorSignature = builtin.signature; - if (builtin.reason) { - reason = errorArgs[0]; - } - if (errorName === "Error") { - message = "; VM Exception while processing transaction: reverted with reason string " + JSON.stringify(errorArgs[0]); - } - else if (errorName === "Panic") { - message = "; VM Exception while processing transaction: reverted with panic code " + errorArgs[0]; - } - } - else { - try { - var error = this.getError(selector); - errorArgs = this._abiCoder.decode(error.inputs, bytes.slice(4)); - errorName = error.name; - errorSignature = error.format(); - } - catch (error) { } - } - break; - } - } - return logger.throwError("call revert exception" + message, logger_1.Logger.errors.CALL_EXCEPTION, { - method: functionFragment.format(), - data: (0, bytes_1.hexlify)(data), - errorArgs: errorArgs, - errorName: errorName, - errorSignature: errorSignature, - reason: reason - }); - }; - // Encode the result for a function call (e.g. for eth_call) - Interface.prototype.encodeFunctionResult = function (functionFragment, values) { - if (typeof (functionFragment) === "string") { - functionFragment = this.getFunction(functionFragment); - } - return (0, bytes_1.hexlify)(this._abiCoder.encode(functionFragment.outputs, values || [])); - }; - // Create the filter for the event with search criteria (e.g. for eth_filterLog) - Interface.prototype.encodeFilterTopics = function (eventFragment, values) { - var _this = this; - if (typeof (eventFragment) === "string") { - eventFragment = this.getEvent(eventFragment); - } - if (values.length > eventFragment.inputs.length) { - logger.throwError("too many arguments for " + eventFragment.format(), logger_1.Logger.errors.UNEXPECTED_ARGUMENT, { - argument: "values", - value: values - }); - } - var topics = []; - if (!eventFragment.anonymous) { - topics.push(this.getEventTopic(eventFragment)); - } - var encodeTopic = function (param, value) { - if (param.type === "string") { - return (0, hash_1.id)(value); - } - else if (param.type === "bytes") { - return (0, keccak256_1.keccak256)((0, bytes_1.hexlify)(value)); - } - if (param.type === "bool" && typeof (value) === "boolean") { - value = (value ? "0x01" : "0x00"); - } - if (param.type.match(/^u?int/)) { - value = bignumber_1.BigNumber.from(value).toHexString(); - } - // Check addresses are valid - if (param.type === "address") { - _this._abiCoder.encode(["address"], [value]); - } - return (0, bytes_1.hexZeroPad)((0, bytes_1.hexlify)(value), 32); - }; - values.forEach(function (value, index) { - var param = eventFragment.inputs[index]; - if (!param.indexed) { - if (value != null) { - logger.throwArgumentError("cannot filter non-indexed parameters; must be null", ("contract." + param.name), value); - } - return; - } - if (value == null) { - topics.push(null); - } - else if (param.baseType === "array" || param.baseType === "tuple") { - logger.throwArgumentError("filtering with tuples or arrays not supported", ("contract." + param.name), value); - } - else if (Array.isArray(value)) { - topics.push(value.map(function (value) { return encodeTopic(param, value); })); - } - else { - topics.push(encodeTopic(param, value)); - } - }); - // Trim off trailing nulls - while (topics.length && topics[topics.length - 1] === null) { - topics.pop(); - } - return topics; - }; - Interface.prototype.encodeEventLog = function (eventFragment, values) { - var _this = this; - if (typeof (eventFragment) === "string") { - eventFragment = this.getEvent(eventFragment); - } - var topics = []; - var dataTypes = []; - var dataValues = []; - if (!eventFragment.anonymous) { - topics.push(this.getEventTopic(eventFragment)); - } - if (values.length !== eventFragment.inputs.length) { - logger.throwArgumentError("event arguments/values mismatch", "values", values); - } - eventFragment.inputs.forEach(function (param, index) { - var value = values[index]; - if (param.indexed) { - if (param.type === "string") { - topics.push((0, hash_1.id)(value)); - } - else if (param.type === "bytes") { - topics.push((0, keccak256_1.keccak256)(value)); - } - else if (param.baseType === "tuple" || param.baseType === "array") { - // @TODO - throw new Error("not implemented"); - } - else { - topics.push(_this._abiCoder.encode([param.type], [value])); - } - } - else { - dataTypes.push(param); - dataValues.push(value); - } - }); - return { - data: this._abiCoder.encode(dataTypes, dataValues), - topics: topics - }; - }; - // Decode a filter for the event and the search criteria - Interface.prototype.decodeEventLog = function (eventFragment, data, topics) { - if (typeof (eventFragment) === "string") { - eventFragment = this.getEvent(eventFragment); - } - if (topics != null && !eventFragment.anonymous) { - var topicHash = this.getEventTopic(eventFragment); - if (!(0, bytes_1.isHexString)(topics[0], 32) || topics[0].toLowerCase() !== topicHash) { - logger.throwError("fragment/topic mismatch", logger_1.Logger.errors.INVALID_ARGUMENT, { argument: "topics[0]", expected: topicHash, value: topics[0] }); - } - topics = topics.slice(1); - } - var indexed = []; - var nonIndexed = []; - var dynamic = []; - eventFragment.inputs.forEach(function (param, index) { - if (param.indexed) { - if (param.type === "string" || param.type === "bytes" || param.baseType === "tuple" || param.baseType === "array") { - indexed.push(fragments_1.ParamType.fromObject({ type: "bytes32", name: param.name })); - dynamic.push(true); - } - else { - indexed.push(param); - dynamic.push(false); - } - } - else { - nonIndexed.push(param); - dynamic.push(false); - } - }); - var resultIndexed = (topics != null) ? this._abiCoder.decode(indexed, (0, bytes_1.concat)(topics)) : null; - var resultNonIndexed = this._abiCoder.decode(nonIndexed, data, true); - var result = []; - var nonIndexedIndex = 0, indexedIndex = 0; - eventFragment.inputs.forEach(function (param, index) { - if (param.indexed) { - if (resultIndexed == null) { - result[index] = new Indexed({ _isIndexed: true, hash: null }); - } - else if (dynamic[index]) { - result[index] = new Indexed({ _isIndexed: true, hash: resultIndexed[indexedIndex++] }); - } - else { - try { - result[index] = resultIndexed[indexedIndex++]; - } - catch (error) { - result[index] = error; - } - } - } - else { - try { - result[index] = resultNonIndexed[nonIndexedIndex++]; - } - catch (error) { - result[index] = error; - } - } - // Add the keyword argument if named and safe - if (param.name && result[param.name] == null) { - var value_1 = result[index]; - // Make error named values throw on access - if (value_1 instanceof Error) { - Object.defineProperty(result, param.name, { - enumerable: true, - get: function () { throw wrapAccessError("property " + JSON.stringify(param.name), value_1); } - }); - } - else { - result[param.name] = value_1; - } - } - }); - var _loop_1 = function (i) { - var value = result[i]; - if (value instanceof Error) { - Object.defineProperty(result, i, { - enumerable: true, - get: function () { throw wrapAccessError("index " + i, value); } - }); - } - }; - // Make all error indexed values throw on access - for (var i = 0; i < result.length; i++) { - _loop_1(i); - } - return Object.freeze(result); - }; - // Given a transaction, find the matching function fragment (if any) and - // determine all its properties and call parameters - Interface.prototype.parseTransaction = function (tx) { - var fragment = this.getFunction(tx.data.substring(0, 10).toLowerCase()); - if (!fragment) { - return null; - } - return new TransactionDescription({ - args: this._abiCoder.decode(fragment.inputs, "0x" + tx.data.substring(10)), - functionFragment: fragment, - name: fragment.name, - signature: fragment.format(), - sighash: this.getSighash(fragment), - value: bignumber_1.BigNumber.from(tx.value || "0"), - }); - }; - // @TODO - //parseCallResult(data: BytesLike): ?? - // Given an event log, find the matching event fragment (if any) and - // determine all its properties and values - Interface.prototype.parseLog = function (log) { - var fragment = this.getEvent(log.topics[0]); - if (!fragment || fragment.anonymous) { - return null; - } - // @TODO: If anonymous, and the only method, and the input count matches, should we parse? - // Probably not, because just because it is the only event in the ABI does - // not mean we have the full ABI; maybe just a fragment? - return new LogDescription({ - eventFragment: fragment, - name: fragment.name, - signature: fragment.format(), - topic: this.getEventTopic(fragment), - args: this.decodeEventLog(fragment, log.data, log.topics) - }); - }; - Interface.prototype.parseError = function (data) { - var hexData = (0, bytes_1.hexlify)(data); - var fragment = this.getError(hexData.substring(0, 10).toLowerCase()); - if (!fragment) { - return null; - } - return new ErrorDescription({ - args: this._abiCoder.decode(fragment.inputs, "0x" + hexData.substring(10)), - errorFragment: fragment, - name: fragment.name, - signature: fragment.format(), - sighash: this.getSighash(fragment), - }); - }; - /* - static from(value: Array | string | Interface) { - if (Interface.isInterface(value)) { - return value; - } - if (typeof(value) === "string") { - return new Interface(JSON.parse(value)); - } - return new Interface(value); - } - */ - Interface.isInterface = function (value) { - return !!(value && value._isInterface); - }; - return Interface; -}()); -exports.Interface = Interface; -//# sourceMappingURL=interface.js.map - -/***/ }), - -/***/ 27597: -/***/ ((__unused_webpack_module, exports) => { - - -Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.version = void 0; -exports.version = "abstract-provider/5.7.0"; -//# sourceMappingURL=_version.js.map - -/***/ }), - -/***/ 34224: -/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) { - - -var __extends = (this && this.__extends) || (function () { - var extendStatics = function (d, b) { - extendStatics = Object.setPrototypeOf || - ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || - function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; }; - return extendStatics(d, b); - }; - return function (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 __()); - }; -})(); -var __awaiter = (this && this.__awaiter) || function (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, reject) { - function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } - function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } - function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); -}; -var __generator = (this && this.__generator) || function (thisArg, body) { - var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g; - return g = { next: verb(0), "throw": verb(1), "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 (_) 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 }; - } -}; -Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.Provider = exports.TransactionOrderForkEvent = exports.TransactionForkEvent = exports.BlockForkEvent = exports.ForkEvent = void 0; -var bignumber_1 = __nccwpck_require__(14763); -var bytes_1 = __nccwpck_require__(69691); -var properties_1 = __nccwpck_require__(54145); -var logger_1 = __nccwpck_require__(8772); -var _version_1 = __nccwpck_require__(27597); -var logger = new logger_1.Logger(_version_1.version); -; -; -//export type CallTransactionable = { -// call(transaction: TransactionRequest): Promise; -//}; -var ForkEvent = /** @class */ (function (_super) { - __extends(ForkEvent, _super); - function ForkEvent() { - return _super !== null && _super.apply(this, arguments) || this; - } - ForkEvent.isForkEvent = function (value) { - return !!(value && value._isForkEvent); - }; - return ForkEvent; -}(properties_1.Description)); -exports.ForkEvent = ForkEvent; -var BlockForkEvent = /** @class */ (function (_super) { - __extends(BlockForkEvent, _super); - function BlockForkEvent(blockHash, expiry) { - var _this = this; - if (!(0, bytes_1.isHexString)(blockHash, 32)) { - logger.throwArgumentError("invalid blockHash", "blockHash", blockHash); - } - _this = _super.call(this, { - _isForkEvent: true, - _isBlockForkEvent: true, - expiry: (expiry || 0), - blockHash: blockHash - }) || this; - return _this; - } - return BlockForkEvent; -}(ForkEvent)); -exports.BlockForkEvent = BlockForkEvent; -var TransactionForkEvent = /** @class */ (function (_super) { - __extends(TransactionForkEvent, _super); - function TransactionForkEvent(hash, expiry) { - var _this = this; - if (!(0, bytes_1.isHexString)(hash, 32)) { - logger.throwArgumentError("invalid transaction hash", "hash", hash); - } - _this = _super.call(this, { - _isForkEvent: true, - _isTransactionForkEvent: true, - expiry: (expiry || 0), - hash: hash - }) || this; - return _this; - } - return TransactionForkEvent; -}(ForkEvent)); -exports.TransactionForkEvent = TransactionForkEvent; -var TransactionOrderForkEvent = /** @class */ (function (_super) { - __extends(TransactionOrderForkEvent, _super); - function TransactionOrderForkEvent(beforeHash, afterHash, expiry) { - var _this = this; - if (!(0, bytes_1.isHexString)(beforeHash, 32)) { - logger.throwArgumentError("invalid transaction hash", "beforeHash", beforeHash); - } - if (!(0, bytes_1.isHexString)(afterHash, 32)) { - logger.throwArgumentError("invalid transaction hash", "afterHash", afterHash); - } - _this = _super.call(this, { - _isForkEvent: true, - _isTransactionOrderForkEvent: true, - expiry: (expiry || 0), - beforeHash: beforeHash, - afterHash: afterHash - }) || this; - return _this; - } - return TransactionOrderForkEvent; -}(ForkEvent)); -exports.TransactionOrderForkEvent = TransactionOrderForkEvent; -/////////////////////////////// -// Exported Abstracts -var Provider = /** @class */ (function () { - function Provider() { - var _newTarget = this.constructor; - logger.checkAbstract(_newTarget, Provider); - (0, properties_1.defineReadOnly)(this, "_isProvider", true); - } - Provider.prototype.getFeeData = function () { - return __awaiter(this, void 0, void 0, function () { - var _a, block, gasPrice, lastBaseFeePerGas, maxFeePerGas, maxPriorityFeePerGas; - return __generator(this, function (_b) { - switch (_b.label) { - case 0: return [4 /*yield*/, (0, properties_1.resolveProperties)({ - block: this.getBlock("latest"), - gasPrice: this.getGasPrice().catch(function (error) { - // @TODO: Why is this now failing on Calaveras? - //console.log(error); - return null; - }) - })]; - case 1: - _a = _b.sent(), block = _a.block, gasPrice = _a.gasPrice; - lastBaseFeePerGas = null, maxFeePerGas = null, maxPriorityFeePerGas = null; - if (block && block.baseFeePerGas) { - // We may want to compute this more accurately in the future, - // using the formula "check if the base fee is correct". - // See: https://eips.ethereum.org/EIPS/eip-1559 - lastBaseFeePerGas = block.baseFeePerGas; - maxPriorityFeePerGas = bignumber_1.BigNumber.from("1500000000"); - maxFeePerGas = block.baseFeePerGas.mul(2).add(maxPriorityFeePerGas); - } - return [2 /*return*/, { lastBaseFeePerGas: lastBaseFeePerGas, maxFeePerGas: maxFeePerGas, maxPriorityFeePerGas: maxPriorityFeePerGas, gasPrice: gasPrice }]; - } - }); - }); - }; - // Alias for "on" - Provider.prototype.addListener = function (eventName, listener) { - return this.on(eventName, listener); - }; - // Alias for "off" - Provider.prototype.removeListener = function (eventName, listener) { - return this.off(eventName, listener); - }; - Provider.isProvider = function (value) { - return !!(value && value._isProvider); - }; - return Provider; -}()); -exports.Provider = Provider; -//# sourceMappingURL=index.js.map - -/***/ }), - -/***/ 96808: -/***/ ((__unused_webpack_module, exports) => { - - -Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.version = void 0; -exports.version = "abstract-signer/5.7.0"; -//# sourceMappingURL=_version.js.map - -/***/ }), - -/***/ 2863: -/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) { - - -var __extends = (this && this.__extends) || (function () { - var extendStatics = function (d, b) { - extendStatics = Object.setPrototypeOf || - ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || - function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; }; - return extendStatics(d, b); - }; - return function (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 __()); - }; -})(); -var __awaiter = (this && this.__awaiter) || function (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, reject) { - function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } - function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } - function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); -}; -var __generator = (this && this.__generator) || function (thisArg, body) { - var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g; - return g = { next: verb(0), "throw": verb(1), "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 (_) 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 }; - } -}; -Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.VoidSigner = exports.Signer = void 0; -var properties_1 = __nccwpck_require__(54145); -var logger_1 = __nccwpck_require__(8772); -var _version_1 = __nccwpck_require__(96808); -var logger = new logger_1.Logger(_version_1.version); -var allowedTransactionKeys = [ - "accessList", "ccipReadEnabled", "chainId", "customData", "data", "from", "gasLimit", "gasPrice", "maxFeePerGas", "maxPriorityFeePerGas", "nonce", "to", "type", "value" -]; -var forwardErrors = [ - logger_1.Logger.errors.INSUFFICIENT_FUNDS, - logger_1.Logger.errors.NONCE_EXPIRED, - logger_1.Logger.errors.REPLACEMENT_UNDERPRICED, -]; -; -; -var Signer = /** @class */ (function () { - /////////////////// - // Sub-classes MUST call super - function Signer() { - var _newTarget = this.constructor; - logger.checkAbstract(_newTarget, Signer); - (0, properties_1.defineReadOnly)(this, "_isSigner", true); - } - /////////////////// - // Sub-classes MAY override these - Signer.prototype.getBalance = function (blockTag) { - return __awaiter(this, void 0, void 0, function () { - return __generator(this, function (_a) { - switch (_a.label) { - case 0: - this._checkProvider("getBalance"); - return [4 /*yield*/, this.provider.getBalance(this.getAddress(), blockTag)]; - case 1: return [2 /*return*/, _a.sent()]; - } - }); - }); - }; - Signer.prototype.getTransactionCount = function (blockTag) { - return __awaiter(this, void 0, void 0, function () { - return __generator(this, function (_a) { - switch (_a.label) { - case 0: - this._checkProvider("getTransactionCount"); - return [4 /*yield*/, this.provider.getTransactionCount(this.getAddress(), blockTag)]; - case 1: return [2 /*return*/, _a.sent()]; - } - }); - }); - }; - // Populates "from" if unspecified, and estimates the gas for the transaction - Signer.prototype.estimateGas = function (transaction) { - return __awaiter(this, void 0, void 0, function () { - var tx; - return __generator(this, function (_a) { - switch (_a.label) { - case 0: - this._checkProvider("estimateGas"); - return [4 /*yield*/, (0, properties_1.resolveProperties)(this.checkTransaction(transaction))]; - case 1: - tx = _a.sent(); - return [4 /*yield*/, this.provider.estimateGas(tx)]; - case 2: return [2 /*return*/, _a.sent()]; - } - }); - }); - }; - // Populates "from" if unspecified, and calls with the transaction - Signer.prototype.call = function (transaction, blockTag) { - return __awaiter(this, void 0, void 0, function () { - var tx; - return __generator(this, function (_a) { - switch (_a.label) { - case 0: - this._checkProvider("call"); - return [4 /*yield*/, (0, properties_1.resolveProperties)(this.checkTransaction(transaction))]; - case 1: - tx = _a.sent(); - return [4 /*yield*/, this.provider.call(tx, blockTag)]; - case 2: return [2 /*return*/, _a.sent()]; - } - }); - }); - }; - // Populates all fields in a transaction, signs it and sends it to the network - Signer.prototype.sendTransaction = function (transaction) { - return __awaiter(this, void 0, void 0, function () { - var tx, signedTx; - return __generator(this, function (_a) { - switch (_a.label) { - case 0: - this._checkProvider("sendTransaction"); - return [4 /*yield*/, this.populateTransaction(transaction)]; - case 1: - tx = _a.sent(); - return [4 /*yield*/, this.signTransaction(tx)]; - case 2: - signedTx = _a.sent(); - return [4 /*yield*/, this.provider.sendTransaction(signedTx)]; - case 3: return [2 /*return*/, _a.sent()]; - } - }); - }); - }; - Signer.prototype.getChainId = function () { - return __awaiter(this, void 0, void 0, function () { - var network; - return __generator(this, function (_a) { - switch (_a.label) { - case 0: - this._checkProvider("getChainId"); - return [4 /*yield*/, this.provider.getNetwork()]; - case 1: - network = _a.sent(); - return [2 /*return*/, network.chainId]; - } - }); - }); - }; - Signer.prototype.getGasPrice = function () { - return __awaiter(this, void 0, void 0, function () { - return __generator(this, function (_a) { - switch (_a.label) { - case 0: - this._checkProvider("getGasPrice"); - return [4 /*yield*/, this.provider.getGasPrice()]; - case 1: return [2 /*return*/, _a.sent()]; - } - }); - }); - }; - Signer.prototype.getFeeData = function () { - return __awaiter(this, void 0, void 0, function () { - return __generator(this, function (_a) { - switch (_a.label) { - case 0: - this._checkProvider("getFeeData"); - return [4 /*yield*/, this.provider.getFeeData()]; - case 1: return [2 /*return*/, _a.sent()]; - } - }); - }); - }; - Signer.prototype.resolveName = function (name) { - return __awaiter(this, void 0, void 0, function () { - return __generator(this, function (_a) { - switch (_a.label) { - case 0: - this._checkProvider("resolveName"); - return [4 /*yield*/, this.provider.resolveName(name)]; - case 1: return [2 /*return*/, _a.sent()]; - } - }); - }); - }; - // Checks a transaction does not contain invalid keys and if - // no "from" is provided, populates it. - // - does NOT require a provider - // - adds "from" is not present - // - returns a COPY (safe to mutate the result) - // By default called from: (overriding these prevents it) - // - call - // - estimateGas - // - populateTransaction (and therefor sendTransaction) - Signer.prototype.checkTransaction = function (transaction) { - for (var key in transaction) { - if (allowedTransactionKeys.indexOf(key) === -1) { - logger.throwArgumentError("invalid transaction key: " + key, "transaction", transaction); - } - } - var tx = (0, properties_1.shallowCopy)(transaction); - if (tx.from == null) { - tx.from = this.getAddress(); - } - else { - // Make sure any provided address matches this signer - tx.from = Promise.all([ - Promise.resolve(tx.from), - this.getAddress() - ]).then(function (result) { - if (result[0].toLowerCase() !== result[1].toLowerCase()) { - logger.throwArgumentError("from address mismatch", "transaction", transaction); - } - return result[0]; - }); - } - return tx; - }; - // Populates ALL keys for a transaction and checks that "from" matches - // this Signer. Should be used by sendTransaction but NOT by signTransaction. - // By default called from: (overriding these prevents it) - // - sendTransaction - // - // Notes: - // - We allow gasPrice for EIP-1559 as long as it matches maxFeePerGas - Signer.prototype.populateTransaction = function (transaction) { - return __awaiter(this, void 0, void 0, function () { - var tx, hasEip1559, feeData, gasPrice; - var _this = this; - return __generator(this, function (_a) { - switch (_a.label) { - case 0: return [4 /*yield*/, (0, properties_1.resolveProperties)(this.checkTransaction(transaction))]; - case 1: - tx = _a.sent(); - if (tx.to != null) { - tx.to = Promise.resolve(tx.to).then(function (to) { return __awaiter(_this, void 0, void 0, function () { - var address; - return __generator(this, function (_a) { - switch (_a.label) { - case 0: - if (to == null) { - return [2 /*return*/, null]; - } - return [4 /*yield*/, this.resolveName(to)]; - case 1: - address = _a.sent(); - if (address == null) { - logger.throwArgumentError("provided ENS name resolves to null", "tx.to", to); - } - return [2 /*return*/, address]; - } - }); - }); }); - // Prevent this error from causing an UnhandledPromiseException - tx.to.catch(function (error) { }); - } - hasEip1559 = (tx.maxFeePerGas != null || tx.maxPriorityFeePerGas != null); - if (tx.gasPrice != null && (tx.type === 2 || hasEip1559)) { - logger.throwArgumentError("eip-1559 transaction do not support gasPrice", "transaction", transaction); - } - else if ((tx.type === 0 || tx.type === 1) && hasEip1559) { - logger.throwArgumentError("pre-eip-1559 transaction do not support maxFeePerGas/maxPriorityFeePerGas", "transaction", transaction); - } - if (!((tx.type === 2 || tx.type == null) && (tx.maxFeePerGas != null && tx.maxPriorityFeePerGas != null))) return [3 /*break*/, 2]; - // Fully-formed EIP-1559 transaction (skip getFeeData) - tx.type = 2; - return [3 /*break*/, 5]; - case 2: - if (!(tx.type === 0 || tx.type === 1)) return [3 /*break*/, 3]; - // Explicit Legacy or EIP-2930 transaction - // Populate missing gasPrice - if (tx.gasPrice == null) { - tx.gasPrice = this.getGasPrice(); - } - return [3 /*break*/, 5]; - case 3: return [4 /*yield*/, this.getFeeData()]; - case 4: - feeData = _a.sent(); - if (tx.type == null) { - // We need to auto-detect the intended type of this transaction... - if (feeData.maxFeePerGas != null && feeData.maxPriorityFeePerGas != null) { - // The network supports EIP-1559! - // Upgrade transaction from null to eip-1559 - tx.type = 2; - if (tx.gasPrice != null) { - gasPrice = tx.gasPrice; - delete tx.gasPrice; - tx.maxFeePerGas = gasPrice; - tx.maxPriorityFeePerGas = gasPrice; - } - else { - // Populate missing fee data - if (tx.maxFeePerGas == null) { - tx.maxFeePerGas = feeData.maxFeePerGas; - } - if (tx.maxPriorityFeePerGas == null) { - tx.maxPriorityFeePerGas = feeData.maxPriorityFeePerGas; - } - } - } - else if (feeData.gasPrice != null) { - // Network doesn't support EIP-1559... - // ...but they are trying to use EIP-1559 properties - if (hasEip1559) { - logger.throwError("network does not support EIP-1559", logger_1.Logger.errors.UNSUPPORTED_OPERATION, { - operation: "populateTransaction" - }); - } - // Populate missing fee data - if (tx.gasPrice == null) { - tx.gasPrice = feeData.gasPrice; - } - // Explicitly set untyped transaction to legacy - tx.type = 0; - } - else { - // getFeeData has failed us. - logger.throwError("failed to get consistent fee data", logger_1.Logger.errors.UNSUPPORTED_OPERATION, { - operation: "signer.getFeeData" - }); - } - } - else if (tx.type === 2) { - // Explicitly using EIP-1559 - // Populate missing fee data - if (tx.maxFeePerGas == null) { - tx.maxFeePerGas = feeData.maxFeePerGas; - } - if (tx.maxPriorityFeePerGas == null) { - tx.maxPriorityFeePerGas = feeData.maxPriorityFeePerGas; - } - } - _a.label = 5; - case 5: - if (tx.nonce == null) { - tx.nonce = this.getTransactionCount("pending"); - } - if (tx.gasLimit == null) { - tx.gasLimit = this.estimateGas(tx).catch(function (error) { - if (forwardErrors.indexOf(error.code) >= 0) { - throw error; - } - return logger.throwError("cannot estimate gas; transaction may fail or may require manual gas limit", logger_1.Logger.errors.UNPREDICTABLE_GAS_LIMIT, { - error: error, - tx: tx - }); - }); - } - if (tx.chainId == null) { - tx.chainId = this.getChainId(); - } - else { - tx.chainId = Promise.all([ - Promise.resolve(tx.chainId), - this.getChainId() - ]).then(function (results) { - if (results[1] !== 0 && results[0] !== results[1]) { - logger.throwArgumentError("chainId address mismatch", "transaction", transaction); - } - return results[0]; - }); - } - return [4 /*yield*/, (0, properties_1.resolveProperties)(tx)]; - case 6: return [2 /*return*/, _a.sent()]; - } - }); - }); - }; - /////////////////// - // Sub-classes SHOULD leave these alone - Signer.prototype._checkProvider = function (operation) { - if (!this.provider) { - logger.throwError("missing provider", logger_1.Logger.errors.UNSUPPORTED_OPERATION, { - operation: (operation || "_checkProvider") - }); - } - }; - Signer.isSigner = function (value) { - return !!(value && value._isSigner); - }; - return Signer; -}()); -exports.Signer = Signer; -var VoidSigner = /** @class */ (function (_super) { - __extends(VoidSigner, _super); - function VoidSigner(address, provider) { - var _this = _super.call(this) || this; - (0, properties_1.defineReadOnly)(_this, "address", address); - (0, properties_1.defineReadOnly)(_this, "provider", provider || null); - return _this; - } - VoidSigner.prototype.getAddress = function () { - return Promise.resolve(this.address); - }; - VoidSigner.prototype._fail = function (message, operation) { - return Promise.resolve().then(function () { - logger.throwError(message, logger_1.Logger.errors.UNSUPPORTED_OPERATION, { operation: operation }); - }); - }; - VoidSigner.prototype.signMessage = function (message) { - return this._fail("VoidSigner cannot sign messages", "signMessage"); - }; - VoidSigner.prototype.signTransaction = function (transaction) { - return this._fail("VoidSigner cannot sign transactions", "signTransaction"); - }; - VoidSigner.prototype._signTypedData = function (domain, types, value) { - return this._fail("VoidSigner cannot sign typed data", "signTypedData"); - }; - VoidSigner.prototype.connect = function (provider) { - return new VoidSigner(this.address, provider); - }; - return VoidSigner; -}(Signer)); -exports.VoidSigner = VoidSigner; -//# sourceMappingURL=index.js.map - -/***/ }), - -/***/ 85029: -/***/ ((__unused_webpack_module, exports) => { - - -Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.version = void 0; -exports.version = "address/5.7.0"; -//# sourceMappingURL=_version.js.map - -/***/ }), - -/***/ 10056: -/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { - - -Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.getCreate2Address = exports.getContractAddress = exports.getIcapAddress = exports.isAddress = exports.getAddress = void 0; -var bytes_1 = __nccwpck_require__(69691); -var bignumber_1 = __nccwpck_require__(14763); -var keccak256_1 = __nccwpck_require__(15815); -var rlp_1 = __nccwpck_require__(99502); -var logger_1 = __nccwpck_require__(8772); -var _version_1 = __nccwpck_require__(85029); -var logger = new logger_1.Logger(_version_1.version); -function getChecksumAddress(address) { - if (!(0, bytes_1.isHexString)(address, 20)) { - logger.throwArgumentError("invalid address", "address", address); - } - address = address.toLowerCase(); - var chars = address.substring(2).split(""); - var expanded = new Uint8Array(40); - for (var i = 0; i < 40; i++) { - expanded[i] = chars[i].charCodeAt(0); - } - var hashed = (0, bytes_1.arrayify)((0, keccak256_1.keccak256)(expanded)); - for (var i = 0; i < 40; i += 2) { - if ((hashed[i >> 1] >> 4) >= 8) { - chars[i] = chars[i].toUpperCase(); - } - if ((hashed[i >> 1] & 0x0f) >= 8) { - chars[i + 1] = chars[i + 1].toUpperCase(); - } - } - return "0x" + chars.join(""); -} -// Shims for environments that are missing some required constants and functions -var MAX_SAFE_INTEGER = 0x1fffffffffffff; -function log10(x) { - if (Math.log10) { - return Math.log10(x); - } - return Math.log(x) / Math.LN10; -} -// See: https://en.wikipedia.org/wiki/International_Bank_Account_Number -// Create lookup table -var ibanLookup = {}; -for (var i = 0; i < 10; i++) { - ibanLookup[String(i)] = String(i); -} -for (var i = 0; i < 26; i++) { - ibanLookup[String.fromCharCode(65 + i)] = String(10 + i); -} -// How many decimal digits can we process? (for 64-bit float, this is 15) -var safeDigits = Math.floor(log10(MAX_SAFE_INTEGER)); -function ibanChecksum(address) { - address = address.toUpperCase(); - address = address.substring(4) + address.substring(0, 2) + "00"; - var expanded = address.split("").map(function (c) { return ibanLookup[c]; }).join(""); - // Javascript can handle integers safely up to 15 (decimal) digits - while (expanded.length >= safeDigits) { - var block = expanded.substring(0, safeDigits); - expanded = parseInt(block, 10) % 97 + expanded.substring(block.length); - } - var checksum = String(98 - (parseInt(expanded, 10) % 97)); - while (checksum.length < 2) { - checksum = "0" + checksum; - } - return checksum; -} -; -function getAddress(address) { - var result = null; - if (typeof (address) !== "string") { - logger.throwArgumentError("invalid address", "address", address); - } - if (address.match(/^(0x)?[0-9a-fA-F]{40}$/)) { - // Missing the 0x prefix - if (address.substring(0, 2) !== "0x") { - address = "0x" + address; - } - result = getChecksumAddress(address); - // It is a checksummed address with a bad checksum - if (address.match(/([A-F].*[a-f])|([a-f].*[A-F])/) && result !== address) { - logger.throwArgumentError("bad address checksum", "address", address); - } - // Maybe ICAP? (we only support direct mode) - } - else if (address.match(/^XE[0-9]{2}[0-9A-Za-z]{30,31}$/)) { - // It is an ICAP address with a bad checksum - if (address.substring(2, 4) !== ibanChecksum(address)) { - logger.throwArgumentError("bad icap checksum", "address", address); - } - result = (0, bignumber_1._base36To16)(address.substring(4)); - while (result.length < 40) { - result = "0" + result; - } - result = getChecksumAddress("0x" + result); - } - else { - logger.throwArgumentError("invalid address", "address", address); - } - return result; -} -exports.getAddress = getAddress; -function isAddress(address) { - try { - getAddress(address); - return true; - } - catch (error) { } - return false; -} -exports.isAddress = isAddress; -function getIcapAddress(address) { - var base36 = (0, bignumber_1._base16To36)(getAddress(address).substring(2)).toUpperCase(); - while (base36.length < 30) { - base36 = "0" + base36; - } - return "XE" + ibanChecksum("XE00" + base36) + base36; -} -exports.getIcapAddress = getIcapAddress; -// http://ethereum.stackexchange.com/questions/760/how-is-the-address-of-an-ethereum-contract-computed -function getContractAddress(transaction) { - var from = null; - try { - from = getAddress(transaction.from); - } - catch (error) { - logger.throwArgumentError("missing from address", "transaction", transaction); - } - var nonce = (0, bytes_1.stripZeros)((0, bytes_1.arrayify)(bignumber_1.BigNumber.from(transaction.nonce).toHexString())); - return getAddress((0, bytes_1.hexDataSlice)((0, keccak256_1.keccak256)((0, rlp_1.encode)([from, nonce])), 12)); -} -exports.getContractAddress = getContractAddress; -function getCreate2Address(from, salt, initCodeHash) { - if ((0, bytes_1.hexDataLength)(salt) !== 32) { - logger.throwArgumentError("salt must be 32 bytes", "salt", salt); - } - if ((0, bytes_1.hexDataLength)(initCodeHash) !== 32) { - logger.throwArgumentError("initCodeHash must be 32 bytes", "initCodeHash", initCodeHash); - } - return getAddress((0, bytes_1.hexDataSlice)((0, keccak256_1.keccak256)((0, bytes_1.concat)(["0xff", getAddress(from), salt, initCodeHash])), 12)); -} -exports.getCreate2Address = getCreate2Address; -//# sourceMappingURL=index.js.map - -/***/ }), - -/***/ 14576: -/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { - - -Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.encode = exports.decode = void 0; -var bytes_1 = __nccwpck_require__(69691); -function decode(textData) { - return (0, bytes_1.arrayify)(new Uint8Array(Buffer.from(textData, "base64"))); -} -exports.decode = decode; -; -function encode(data) { - return Buffer.from((0, bytes_1.arrayify)(data)).toString("base64"); -} -exports.encode = encode; -//# sourceMappingURL=base64.js.map - -/***/ }), - -/***/ 14895: -/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { - - -Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.encode = exports.decode = void 0; -var base64_1 = __nccwpck_require__(14576); -Object.defineProperty(exports, "decode", ({ enumerable: true, get: function () { return base64_1.decode; } })); -Object.defineProperty(exports, "encode", ({ enumerable: true, get: function () { return base64_1.encode; } })); -//# sourceMappingURL=index.js.map - -/***/ }), - -/***/ 13807: -/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { - - +Object.defineProperty(Pt,"__esModule",{value:true});Pt.CHAR="-퟿-�𐀀-􏿿";Pt.RESTRICTED_CHAR="-\b\v\f--„†-Ÿ";Pt.S=" \t\r\n";Pt.NAME_START_CHAR=":A-Z_a-zÀ-ÖØ-öø-˿Ͱ-ͽͿ-῿‌‍⁰-↏Ⰰ-⿯、-퟿豈-﷏ﷰ-�𐀀-󯿿";Pt.NAME_CHAR="-"+Pt.NAME_START_CHAR+".0-9·̀-ͯ‿-⁀";Pt.CHAR_RE=new RegExp("^["+Pt.CHAR+"]$","u");Pt.RESTRICTED_CHAR_RE=new RegExp("^["+Pt.RESTRICTED_CHAR+"]$","u");Pt.S_RE=new RegExp("^["+Pt.S+"]+$","u");Pt.NAME_START_CHAR_RE=new RegExp("^["+Pt.NAME_START_CHAR+"]$","u");Pt.NAME_CHAR_RE=new RegExp("^["+Pt.NAME_CHAR+"]$","u");Pt.NAME_RE=new RegExp("^["+Pt.NAME_START_CHAR+"]["+Pt.NAME_CHAR+"]*$","u");Pt.NMTOKEN_RE=new RegExp("^["+Pt.NAME_CHAR+"]+$","u");var en=9;var tn=10;var nn=13;var an=32;Pt.S_LIST=[an,tn,nn,en];function isChar(Wt){return Wt>=1&&Wt<=55295||Wt>=57344&&Wt<=65533||Wt>=65536&&Wt<=1114111}Pt.isChar=isChar;function isRestrictedChar(Wt){return Wt>=1&&Wt<=8||Wt===11||Wt===12||Wt>=14&&Wt<=31||Wt>=127&&Wt<=132||Wt>=134&&Wt<=159}Pt.isRestrictedChar=isRestrictedChar;function isCharAndNotRestricted(Wt){return Wt===9||Wt===10||Wt===13||Wt>31&&Wt<127||Wt===133||Wt>159&&Wt<=55295||Wt>=57344&&Wt<=65533||Wt>=65536&&Wt<=1114111}Pt.isCharAndNotRestricted=isCharAndNotRestricted;function isS(Wt){return Wt===an||Wt===tn||Wt===nn||Wt===en}Pt.isS=isS;function isNameStartChar(Wt){return Wt>=65&&Wt<=90||Wt>=97&&Wt<=122||Wt===58||Wt===95||Wt===8204||Wt===8205||Wt>=192&&Wt<=214||Wt>=216&&Wt<=246||Wt>=248&&Wt<=767||Wt>=880&&Wt<=893||Wt>=895&&Wt<=8191||Wt>=8304&&Wt<=8591||Wt>=11264&&Wt<=12271||Wt>=12289&&Wt<=55295||Wt>=63744&&Wt<=64975||Wt>=65008&&Wt<=65533||Wt>=65536&&Wt<=983039}Pt.isNameStartChar=isNameStartChar;function isNameChar(Wt){return isNameStartChar(Wt)||Wt>=48&&Wt<=57||Wt===45||Wt===46||Wt===183||Wt>=768&&Wt<=879||Wt>=8255&&Wt<=8256}Pt.isNameChar=isNameChar},85699:(Wt,Pt)=>{ /** - * var basex = require("base-x"); - * - * This implementation is heavily based on base-x. The main reason to - * deviate was to prevent the dependency of Buffer. - * - * Contributors: - * - * base-x encoding - * Forked from https://github.com/cryptocoinjs/bs58 - * Originally written by Mike Hearn for BitcoinJ - * Copyright (c) 2011 Google Inc - * Ported to JavaScript by Stefan Thomas - * Merged Buffer refactorings from base58-native by Stephen Pair - * Copyright (c) 2013 BitPay Inc - * - * The MIT License (MIT) - * - * Copyright base-x contributors (c) 2016 - * - * 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. + * Character class utilities for XML NS 1.0 edition 3. * + * @author Louis-Dominique Dubeau + * @license MIT + * @copyright Louis-Dominique Dubeau */ -Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.Base58 = exports.Base32 = exports.BaseX = void 0; -var bytes_1 = __nccwpck_require__(69691); -var properties_1 = __nccwpck_require__(54145); -var BaseX = /** @class */ (function () { - function BaseX(alphabet) { - (0, properties_1.defineReadOnly)(this, "alphabet", alphabet); - (0, properties_1.defineReadOnly)(this, "base", alphabet.length); - (0, properties_1.defineReadOnly)(this, "_alphabetMap", {}); - (0, properties_1.defineReadOnly)(this, "_leader", alphabet.charAt(0)); - // pre-compute lookup table - for (var i = 0; i < alphabet.length; i++) { - this._alphabetMap[alphabet.charAt(i)] = i; - } - } - BaseX.prototype.encode = function (value) { - var source = (0, bytes_1.arrayify)(value); - if (source.length === 0) { - return ""; - } - var digits = [0]; - for (var i = 0; i < source.length; ++i) { - var carry = source[i]; - for (var j = 0; j < digits.length; ++j) { - carry += digits[j] << 8; - digits[j] = carry % this.base; - carry = (carry / this.base) | 0; - } - while (carry > 0) { - digits.push(carry % this.base); - carry = (carry / this.base) | 0; - } - } - var string = ""; - // deal with leading zeros - for (var k = 0; source[k] === 0 && k < source.length - 1; ++k) { - string += this._leader; - } - // convert digits to a string - for (var q = digits.length - 1; q >= 0; --q) { - string += this.alphabet[digits[q]]; - } - return string; - }; - BaseX.prototype.decode = function (value) { - if (typeof (value) !== "string") { - throw new TypeError("Expected String"); - } - var bytes = []; - if (value.length === 0) { - return new Uint8Array(bytes); - } - bytes.push(0); - for (var i = 0; i < value.length; i++) { - var byte = this._alphabetMap[value[i]]; - if (byte === undefined) { - throw new Error("Non-base" + this.base + " character"); - } - var carry = byte; - for (var j = 0; j < bytes.length; ++j) { - carry += bytes[j] * this.base; - bytes[j] = carry & 0xff; - carry >>= 8; - } - while (carry > 0) { - bytes.push(carry & 0xff); - carry >>= 8; - } - } - // deal with leading zeros - for (var k = 0; value[k] === this._leader && k < value.length - 1; ++k) { - bytes.push(0); - } - return (0, bytes_1.arrayify)(new Uint8Array(bytes.reverse())); - }; - return BaseX; -}()); -exports.BaseX = BaseX; -var Base32 = new BaseX("abcdefghijklmnopqrstuvwxyz234567"); -exports.Base32 = Base32; -var Base58 = new BaseX("123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"); -exports.Base58 = Base58; -//console.log(Base58.decode("Qmd2V777o5XvJbYMeMb8k2nU5f8d3ciUQ5YpYuWhzv8iDj")) -//console.log(Base58.encode(Base58.decode("Qmd2V777o5XvJbYMeMb8k2nU5f8d3ciUQ5YpYuWhzv8iDj"))) -//# sourceMappingURL=index.js.map - -/***/ }), - -/***/ 80188: -/***/ ((__unused_webpack_module, exports) => { - - -Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.version = void 0; -exports.version = "bignumber/5.7.0"; -//# sourceMappingURL=_version.js.map - -/***/ }), - -/***/ 4248: -/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) { - - -var __importDefault = (this && this.__importDefault) || function (mod) { - return (mod && mod.__esModule) ? mod : { "default": mod }; -}; -Object.defineProperty(exports, "__esModule", ({ value: true })); -exports._base16To36 = exports._base36To16 = exports.BigNumber = exports.isBigNumberish = void 0; +Object.defineProperty(Pt,"__esModule",{value:true});Pt.NC_NAME_START_CHAR="A-Z_a-zÀ-ÖØ-öø-˿Ͱ-ͽͿ-῿‌-‍⁰-↏Ⰰ-⿯、-퟿豈-﷏ﷰ-�𐀀-󯿿";Pt.NC_NAME_CHAR="-"+Pt.NC_NAME_START_CHAR+".0-9·̀-ͯ‿-⁀";Pt.NC_NAME_START_CHAR_RE=new RegExp("^["+Pt.NC_NAME_START_CHAR+"]$","u");Pt.NC_NAME_CHAR_RE=new RegExp("^["+Pt.NC_NAME_CHAR+"]$","u");Pt.NC_NAME_RE=new RegExp("^["+Pt.NC_NAME_START_CHAR+"]["+Pt.NC_NAME_CHAR+"]*$","u");function isNCNameStartChar(Wt){return Wt>=65&&Wt<=90||Wt===95||Wt>=97&&Wt<=122||Wt>=192&&Wt<=214||Wt>=216&&Wt<=246||Wt>=248&&Wt<=767||Wt>=880&&Wt<=893||Wt>=895&&Wt<=8191||Wt>=8204&&Wt<=8205||Wt>=8304&&Wt<=8591||Wt>=11264&&Wt<=12271||Wt>=12289&&Wt<=55295||Wt>=63744&&Wt<=64975||Wt>=65008&&Wt<=65533||Wt>=65536&&Wt<=983039}Pt.isNCNameStartChar=isNCNameStartChar;function isNCNameChar(Wt){return isNCNameStartChar(Wt)||(Wt===45||Wt===46||Wt>=48&&Wt<=57||Wt===183||Wt>=768&&Wt<=879||Wt>=8255&&Wt<=8256)}Pt.isNCNameChar=isNCNameChar},18327:module=>{module.exports=eval("require")("bufferutil")},79989:module=>{module.exports=eval("require")("canvas")},62414:module=>{module.exports=eval("require")("utf-8-validate")},42613:Wt=>{Wt.exports=__WEBPACK_EXTERNAL_createRequire(import.meta.url)("assert")},90290:Wt=>{Wt.exports=__WEBPACK_EXTERNAL_createRequire(import.meta.url)("async_hooks")},20181:Wt=>{Wt.exports=__WEBPACK_EXTERNAL_createRequire(import.meta.url)("buffer")},35317:Wt=>{Wt.exports=__WEBPACK_EXTERNAL_createRequire(import.meta.url)("child_process")},64236:Wt=>{Wt.exports=__WEBPACK_EXTERNAL_createRequire(import.meta.url)("console")},76982:Wt=>{Wt.exports=__WEBPACK_EXTERNAL_createRequire(import.meta.url)("crypto")},31637:Wt=>{Wt.exports=__WEBPACK_EXTERNAL_createRequire(import.meta.url)("diagnostics_channel")},24434:Wt=>{Wt.exports=__WEBPACK_EXTERNAL_createRequire(import.meta.url)("events")},79896:Wt=>{Wt.exports=__WEBPACK_EXTERNAL_createRequire(import.meta.url)("fs")},58611:Wt=>{Wt.exports=__WEBPACK_EXTERNAL_createRequire(import.meta.url)("http")},85675:Wt=>{Wt.exports=__WEBPACK_EXTERNAL_createRequire(import.meta.url)("http2")},65692:Wt=>{Wt.exports=__WEBPACK_EXTERNAL_createRequire(import.meta.url)("https")},69278:Wt=>{Wt.exports=__WEBPACK_EXTERNAL_createRequire(import.meta.url)("net")},78474:Wt=>{Wt.exports=__WEBPACK_EXTERNAL_createRequire(import.meta.url)("node:events")},57075:Wt=>{Wt.exports=__WEBPACK_EXTERNAL_createRequire(import.meta.url)("node:stream")},57975:Wt=>{Wt.exports=__WEBPACK_EXTERNAL_createRequire(import.meta.url)("node:util")},70857:Wt=>{Wt.exports=__WEBPACK_EXTERNAL_createRequire(import.meta.url)("os")},16928:Wt=>{Wt.exports=__WEBPACK_EXTERNAL_createRequire(import.meta.url)("path")},82987:Wt=>{Wt.exports=__WEBPACK_EXTERNAL_createRequire(import.meta.url)("perf_hooks")},24876:Wt=>{Wt.exports=__WEBPACK_EXTERNAL_createRequire(import.meta.url)("punycode")},83480:Wt=>{Wt.exports=__WEBPACK_EXTERNAL_createRequire(import.meta.url)("querystring")},2203:Wt=>{Wt.exports=__WEBPACK_EXTERNAL_createRequire(import.meta.url)("stream")},63774:Wt=>{Wt.exports=__WEBPACK_EXTERNAL_createRequire(import.meta.url)("stream/web")},13193:Wt=>{Wt.exports=__WEBPACK_EXTERNAL_createRequire(import.meta.url)("string_decoder")},53557:Wt=>{Wt.exports=__WEBPACK_EXTERNAL_createRequire(import.meta.url)("timers")},64756:Wt=>{Wt.exports=__WEBPACK_EXTERNAL_createRequire(import.meta.url)("tls")},52018:Wt=>{Wt.exports=__WEBPACK_EXTERNAL_createRequire(import.meta.url)("tty")},87016:Wt=>{Wt.exports=__WEBPACK_EXTERNAL_createRequire(import.meta.url)("url")},39023:Wt=>{Wt.exports=__WEBPACK_EXTERNAL_createRequire(import.meta.url)("util")},98253:Wt=>{Wt.exports=__WEBPACK_EXTERNAL_createRequire(import.meta.url)("util/types")},69154:Wt=>{Wt.exports=__WEBPACK_EXTERNAL_createRequire(import.meta.url)("vm")},28167:Wt=>{Wt.exports=__WEBPACK_EXTERNAL_createRequire(import.meta.url)("worker_threads")},43106:Wt=>{Wt.exports=__WEBPACK_EXTERNAL_createRequire(import.meta.url)("zlib")},27182:(Wt,Pt,en)=>{const tn=en(57075).Writable;const nn=en(57975).inherits;const an=en(84136);const In=en(50612);const rn=en(62271);const sn=45;const on=Buffer.from("-");const cn=Buffer.from("\r\n");const EMPTY_FN=function(){};function Dicer(Wt){if(!(this instanceof Dicer)){return new Dicer(Wt)}tn.call(this,Wt);if(!Wt||!Wt.headerFirst&&typeof Wt.boundary!=="string"){throw new TypeError("Boundary required")}if(typeof Wt.boundary==="string"){this.setBoundary(Wt.boundary)}else{this._bparser=undefined}this._headerFirst=Wt.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=undefined;this._cb=undefined;this._ignoreData=false;this._partOpts={highWaterMark:Wt.partHwm};this._pause=false;const Pt=this;this._hparser=new rn(Wt);this._hparser.on("header",(function(Wt){Pt._inHeader=false;Pt._part.emit("header",Wt)}))}nn(Dicer,tn);Dicer.prototype.emit=function(Wt){if(Wt==="finish"&&!this._realFinish){if(!this._finished){const Wt=this;process.nextTick((function(){Wt.emit("error",new Error("Unexpected end of multipart data"));if(Wt._part&&!Wt._ignoreData){const Pt=Wt._isPreamble?"Preamble":"Part";Wt._part.emit("error",new Error(Pt+" terminated early due to unexpected end of multipart data"));Wt._part.push(null);process.nextTick((function(){Wt._realFinish=true;Wt.emit("finish");Wt._realFinish=false}));return}Wt._realFinish=true;Wt.emit("finish");Wt._realFinish=false}))}}else{tn.prototype.emit.apply(this,arguments)}};Dicer.prototype._write=function(Wt,Pt,en){if(!this._hparser&&!this._bparser){return en()}if(this._headerFirst&&this._isPreamble){if(!this._part){this._part=new In(this._partOpts);if(this.listenerCount("preamble")!==0){this.emit("preamble",this._part)}else{this._ignore()}}const Pt=this._hparser.push(Wt);if(!this._inHeader&&Pt!==undefined&&Pt{const tn=en(78474).EventEmitter;const nn=en(57975).inherits;const an=en(22393);const In=en(84136);const rn=Buffer.from("\r\n\r\n");const sn=/\r\n/g;const on=/^([^:]+):[ \t]?([\x00-\xFF]+)?$/;function HeaderParser(Wt){tn.call(this);Wt=Wt||{};const Pt=this;this.nread=0;this.maxed=false;this.npairs=0;this.maxHeaderPairs=an(Wt,"maxHeaderPairs",2e3);this.maxHeaderSize=an(Wt,"maxHeaderSize",80*1024);this.buffer="";this.header={};this.finished=false;this.ss=new In(rn);this.ss.on("info",(function(Wt,en,tn,nn){if(en&&!Pt.maxed){if(Pt.nread+nn-tn>=Pt.maxHeaderSize){nn=Pt.maxHeaderSize-Pt.nread+tn;Pt.nread=Pt.maxHeaderSize;Pt.maxed=true}else{Pt.nread+=nn-tn}Pt.buffer+=en.toString("binary",tn,nn)}if(Wt){Pt._finish()}}))}nn(HeaderParser,tn);HeaderParser.prototype.push=function(Wt){const Pt=this.ss.push(Wt);if(this.finished){return Pt}};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 Wt=this.header;this.header={};this.buffer="";this.finished=true;this.nread=this.npairs=0;this.maxed=false;this.emit("header",Wt)};HeaderParser.prototype._parseHeader=function(){if(this.npairs===this.maxHeaderPairs){return}const Wt=this.buffer.split(sn);const Pt=Wt.length;let en,tn;for(var nn=0;nn{const tn=en(57975).inherits;const nn=en(57075).Readable;function PartStream(Wt){nn.call(this,Wt)}tn(PartStream,nn);PartStream.prototype._read=function(Wt){};Wt.exports=PartStream},84136:(Wt,Pt,en)=>{const tn=en(78474).EventEmitter;const nn=en(57975).inherits;function SBMH(Wt){if(typeof Wt==="string"){Wt=Buffer.from(Wt)}if(!Buffer.isBuffer(Wt)){throw new TypeError("The needle has to be a String or a Buffer.")}const Pt=Wt.length;if(Pt===0){throw new Error("The needle cannot be an empty String/Buffer.")}if(Pt>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(Pt);this._lookbehind_size=0;this._needle=Wt;this._bufpos=0;this._lookbehind=Buffer.alloc(Pt);for(var en=0;en=0){this.emit("info",false,this._lookbehind,0,this._lookbehind_size);this._lookbehind_size=0}else{const en=this._lookbehind_size+an;if(en>0){this.emit("info",false,this._lookbehind,0,en)}this._lookbehind.copy(this._lookbehind,0,en,this._lookbehind_size-en);this._lookbehind_size-=en;Wt.copy(this._lookbehind,this._lookbehind_size);this._lookbehind_size+=Pt;this._bufpos=Pt;return Pt}}an+=(an>=0)*this._bufpos;if(Wt.indexOf(en,an)!==-1){an=Wt.indexOf(en,an);++this.matches;if(an>0){this.emit("info",true,Wt,this._bufpos,an)}else{this.emit("info",true)}return this._bufpos=an+tn}else{an=Pt-tn}while(an0){this.emit("info",false,Wt,this._bufpos,an{const tn=en(57075).Writable;const{inherits:nn}=en(57975);const an=en(27182);const In=en(41192);const rn=en(80855);const sn=en(8929);function Busboy(Wt){if(!(this instanceof Busboy)){return new Busboy(Wt)}if(typeof Wt!=="object"){throw new TypeError("Busboy expected an options-Object.")}if(typeof Wt.headers!=="object"){throw new TypeError("Busboy expected an options-Object with headers-attribute.")}if(typeof Wt.headers["content-type"]!=="string"){throw new TypeError("Missing Content-Type-header.")}const{headers:Pt,...en}=Wt;this.opts={autoDestroy:false,...en};tn.call(this,this.opts);this._done=false;this._parser=this.getParserByHeaders(Pt);this._finished=false}nn(Busboy,tn);Busboy.prototype.emit=function(Wt){if(Wt==="finish"){if(!this._done){this._parser?.end();return}else if(this._finished){return}this._finished=true}tn.prototype.emit.apply(this,arguments)};Busboy.prototype.getParserByHeaders=function(Wt){const Pt=sn(Wt["content-type"]);const en={defCharset:this.opts.defCharset,fileHwm:this.opts.fileHwm,headers:Wt,highWaterMark:this.opts.highWaterMark,isPartAFile:this.opts.isPartAFile,limits:this.opts.limits,parsedConType:Pt,preservePath:this.opts.preservePath};if(In.detect.test(Pt[0])){return new In(this,en)}if(rn.detect.test(Pt[0])){return new rn(this,en)}throw new Error("Unsupported Content-Type.")};Busboy.prototype._write=function(Wt,Pt,en){this._parser.write(Wt,en)};Wt.exports=Busboy;Wt.exports["default"]=Busboy;Wt.exports.Busboy=Busboy;Wt.exports.Dicer=an},41192:(Wt,Pt,en)=>{const{Readable:tn}=en(57075);const{inherits:nn}=en(57975);const an=en(27182);const In=en(8929);const rn=en(72747);const sn=en(20692);const on=en(22393);const cn=/^boundary$/i;const dn=/^form-data$/i;const un=/^charset$/i;const pn=/^filename$/i;const mn=/^name$/i;Multipart.detect=/^multipart\/form-data/i;function Multipart(Wt,Pt){let en;let tn;const nn=this;let bn;const Gn=Pt.limits;const hn=Pt.isPartAFile||((Wt,Pt,en)=>Pt==="application/octet-stream"||en!==undefined);const Zn=Pt.parsedConType||[];const An=Pt.defCharset||"utf8";const Wn=Pt.preservePath;const Nn={highWaterMark:Pt.fileHwm};for(en=0,tn=Zn.length;enEn){nn.parser.removeListener("part",onPart);nn.parser.on("part",skipPart);Wt.hitPartsLimit=true;Wt.emit("partsLimit");return skipPart(Pt)}if(Hn){const Wt=Hn;Wt.emit("end");Wt.removeAllListeners("end")}Pt.on("header",(function(an){let on;let cn;let bn;let Gn;let Zn;let En;let Vn=0;if(an["content-type"]){bn=In(an["content-type"][0]);if(bn[0]){on=bn[0].toLowerCase();for(en=0,tn=bn.length;enyn){const tn=yn-Vn+Wt.length;if(tn>0){en.push(Wt.slice(0,tn))}en.truncated=true;en.bytesRead=yn;Pt.removeAllListeners("data");en.emit("limit");return}else if(!en.push(Wt)){nn._pause=true}en.bytesRead=Vn};Cn=function(){fn=undefined;en.push(null)}}else{if(Fn===Yn){if(!Wt.hitFieldsLimit){Wt.hitFieldsLimit=true;Wt.emit("fieldsLimit")}return skipPart(Pt)}++Fn;++Qn;let en="";let tn=false;Hn=Pt;Rn=function(Wt){if((Vn+=Wt.length)>gn){const nn=gn-(Vn-Wt.length);en+=Wt.toString("binary",0,nn);tn=true;Pt.removeAllListeners("data")}else{en+=Wt.toString("binary")}};Cn=function(){Hn=undefined;if(en.length){en=rn(en,"binary",Gn)}Wt.emit("field",cn,en,false,tn,Zn,on);--Qn;checkFinished()}}Pt._readableState.sync=false;Pt.on("data",Rn);Pt.on("end",Cn)})).on("error",(function(Wt){if(fn){fn.emit("error",Wt)}}))})).on("error",(function(Pt){Wt.emit("error",Pt)})).on("finish",(function(){Cn=true;checkFinished()}))}Multipart.prototype.write=function(Wt,Pt){const en=this.parser.write(Wt);if(en&&!this._pause){Pt()}else{this._needDrain=!en;this._cb=Pt}};Multipart.prototype.end=function(){const Wt=this;if(Wt.parser.writable){Wt.parser.end()}else if(!Wt._boy._done){process.nextTick((function(){Wt._boy._done=true;Wt._boy.emit("finish")}))}};function skipPart(Wt){Wt.resume()}function FileStream(Wt){tn.call(this,Wt);this.bytesRead=0;this.truncated=false}nn(FileStream,tn);FileStream.prototype._read=function(Wt){};Wt.exports=Multipart},80855:(Wt,Pt,en)=>{const tn=en(11496);const nn=en(72747);const an=en(22393);const In=/^charset$/i;UrlEncoded.detect=/^application\/x-www-form-urlencoded/i;function UrlEncoded(Wt,Pt){const en=Pt.limits;const nn=Pt.parsedConType;this.boy=Wt;this.fieldSizeLimit=an(en,"fieldSize",1*1024*1024);this.fieldNameSizeLimit=an(en,"fieldNameSize",100);this.fieldsLimit=an(en,"fields",Infinity);let rn;for(var sn=0,on=nn.length;snIn){this._key+=this.decoder.write(Wt.toString("binary",In,en))}this._state="val";this._hitLimit=false;this._checkingBytes=true;this._val="";this._bytesVal=0;this._valTrunc=false;this.decoder.reset();In=en+1}else if(tn!==undefined){++this._fields;let en;const an=this._keyTrunc;if(tn>In){en=this._key+=this.decoder.write(Wt.toString("binary",In,tn))}else{en=this._key}this._hitLimit=false;this._checkingBytes=true;this._key="";this._bytesKey=0;this._keyTrunc=false;this.decoder.reset();if(en.length){this.boy.emit("field",nn(en,"binary",this.charset),"",an,false)}In=tn+1;if(this._fields===this.fieldsLimit){return Pt()}}else if(this._hitLimit){if(an>In){this._key+=this.decoder.write(Wt.toString("binary",In,an))}In=an;if((this._bytesKey=this._key.length)===this.fieldNameSizeLimit){this._checkingBytes=false;this._keyTrunc=true}}else{if(InIn){this._val+=this.decoder.write(Wt.toString("binary",In,tn))}this.boy.emit("field",nn(this._key,"binary",this.charset),nn(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();In=tn+1;if(this._fields===this.fieldsLimit){return Pt()}}else if(this._hitLimit){if(an>In){this._val+=this.decoder.write(Wt.toString("binary",In,an))}In=an;if(this._val===""&&this.fieldSizeLimit===0||(this._bytesVal=this._val.length)===this.fieldSizeLimit){this._checkingBytes=false;this._valTrunc=true}}else{if(In0){this.boy.emit("field",nn(this._key,"binary",this.charset),"",this._keyTrunc,false)}else if(this._state==="val"){this.boy.emit("field",nn(this._key,"binary",this.charset),nn(this._val,"binary",this.charset),this._keyTrunc,this._valTrunc)}this.boy._done=true;this.boy.emit("finish")};Wt.exports=UrlEncoded},11496:Wt=>{const Pt=/\+/g;const en=[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=undefined}Decoder.prototype.write=function(Wt){Wt=Wt.replace(Pt," ");let tn="";let nn=0;let an=0;const In=Wt.length;for(;nnan){tn+=Wt.substring(an,nn);an=nn}this.buffer="";++an}}if(an{Wt.exports=function basename(Wt){if(typeof Wt!=="string"){return""}for(var Pt=Wt.length-1;Pt>=0;--Pt){switch(Wt.charCodeAt(Pt)){case 47:case 92:Wt=Wt.slice(Pt+1);return Wt===".."||Wt==="."?"":Wt}}return Wt===".."||Wt==="."?"":Wt}},72747:function(Wt){const Pt=new TextDecoder("utf-8");const en=new Map([["utf-8",Pt],["utf8",Pt]]);function getDecoder(Wt){let Pt;while(true){switch(Wt){case"utf-8":case"utf8":return tn.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 tn.latin1;case"utf16le":case"utf-16le":case"ucs2":case"ucs-2":return tn.utf16le;case"base64":return tn.base64;default:if(Pt===undefined){Pt=true;Wt=Wt.toLowerCase();continue}return tn.other.bind(Wt)}}}const tn={utf8:(Wt,Pt)=>{if(Wt.length===0){return""}if(typeof Wt==="string"){Wt=Buffer.from(Wt,Pt)}return Wt.utf8Slice(0,Wt.length)},latin1:(Wt,Pt)=>{if(Wt.length===0){return""}if(typeof Wt==="string"){return Wt}return Wt.latin1Slice(0,Wt.length)},utf16le:(Wt,Pt)=>{if(Wt.length===0){return""}if(typeof Wt==="string"){Wt=Buffer.from(Wt,Pt)}return Wt.ucs2Slice(0,Wt.length)},base64:(Wt,Pt)=>{if(Wt.length===0){return""}if(typeof Wt==="string"){Wt=Buffer.from(Wt,Pt)}return Wt.base64Slice(0,Wt.length)},other:(Wt,Pt)=>{if(Wt.length===0){return""}if(typeof Wt==="string"){Wt=Buffer.from(Wt,Pt)}if(en.has(this.toString())){try{return en.get(this).decode(Wt)}catch{}}return typeof Wt==="string"?Wt:Wt.toString()}};function decodeText(Wt,Pt,en){if(Wt){return getDecoder(en)(Wt,Pt)}return Wt}Wt.exports=decodeText},22393:Wt=>{Wt.exports=function getLimit(Wt,Pt,en){if(!Wt||Wt[Pt]===undefined||Wt[Pt]===null){return en}if(typeof Wt[Pt]!=="number"||isNaN(Wt[Pt])){throw new TypeError("Limit "+Pt+" is not a valid number")}return Wt[Pt]}},8929:(Wt,Pt,en)=>{const tn=en(72747);const nn=/%[a-fA-F0-9][a-fA-F0-9]/g;const an={"%00":"\0","%01":"","%02":"","%03":"","%04":"","%05":"","%06":"","%07":"","%08":"\b","%09":"\t","%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":"","%1B":"","%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(Wt){return an[Wt]}const In=0;const rn=1;const sn=2;const on=3;function parseParams(Wt){const Pt=[];let en=In;let an="";let cn=false;let dn=false;let un=0;let pn="";const mn=Wt.length;for(var bn=0;bn{Object.defineProperty(Pt,"__esModule",{value:true});Pt.isConforming=isConforming;Pt.getDocumentMode=getDocumentMode;const tn=en(81510);const nn="html";const an="about:legacy-compat";const In="http://www.ibm.com/data/dtd/v11/ibmxhtml1-transitional.dtd";const rn=["+//silmaril//dtd html pro v0r11 19970101//","-//as//dtd html 3.0 aswedit + extensions//","-//advasoft ltd//dtd html 3.0 aswedit + extensions//","-//ietf//dtd html 2.0 level 1//","-//ietf//dtd html 2.0 level 2//","-//ietf//dtd html 2.0 strict level 1//","-//ietf//dtd html 2.0 strict level 2//","-//ietf//dtd html 2.0 strict//","-//ietf//dtd html 2.0//","-//ietf//dtd html 2.1e//","-//ietf//dtd html 3.0//","-//ietf//dtd html 3.2 final//","-//ietf//dtd html 3.2//","-//ietf//dtd html 3//","-//ietf//dtd html level 0//","-//ietf//dtd html level 1//","-//ietf//dtd html level 2//","-//ietf//dtd html level 3//","-//ietf//dtd html strict level 0//","-//ietf//dtd html strict level 1//","-//ietf//dtd html strict level 2//","-//ietf//dtd html strict level 3//","-//ietf//dtd html strict//","-//ietf//dtd html//","-//metrius//dtd metrius presentational//","-//microsoft//dtd internet explorer 2.0 html strict//","-//microsoft//dtd internet explorer 2.0 html//","-//microsoft//dtd internet explorer 2.0 tables//","-//microsoft//dtd internet explorer 3.0 html strict//","-//microsoft//dtd internet explorer 3.0 html//","-//microsoft//dtd internet explorer 3.0 tables//","-//netscape comm. corp.//dtd html//","-//netscape comm. corp.//dtd strict html//","-//o'reilly and associates//dtd html 2.0//","-//o'reilly and associates//dtd html extended 1.0//","-//o'reilly and associates//dtd html extended relaxed 1.0//","-//sq//dtd html 2.0 hotmetal + extensions//","-//softquad software//dtd hotmetal pro 6.0::19990601::extensions to html 4.0//","-//softquad//dtd hotmetal pro 4.0::19971010::extensions to html 4.0//","-//spyglass//dtd html 2.0 extended//","-//sun microsystems corp.//dtd hotjava html//","-//sun microsystems corp.//dtd hotjava strict html//","-//w3c//dtd html 3 1995-03-24//","-//w3c//dtd html 3.2 draft//","-//w3c//dtd html 3.2 final//","-//w3c//dtd html 3.2//","-//w3c//dtd html 3.2s draft//","-//w3c//dtd html 4.0 frameset//","-//w3c//dtd html 4.0 transitional//","-//w3c//dtd html experimental 19960712//","-//w3c//dtd html experimental 970421//","-//w3c//dtd w3 html//","-//w3o//dtd w3 html 3.0//","-//webtechs//dtd mozilla html 2.0//","-//webtechs//dtd mozilla html//"];const sn=[...rn,"-//w3c//dtd html 4.01 frameset//","-//w3c//dtd html 4.01 transitional//"];const on=new Set(["-//w3o//dtd w3 html strict 3.0//en//","-/w3c/dtd html 4.0 transitional/en","html"]);const cn=["-//w3c//dtd xhtml 1.0 frameset//","-//w3c//dtd xhtml 1.0 transitional//"];const dn=[...cn,"-//w3c//dtd html 4.01 frameset//","-//w3c//dtd html 4.01 transitional//"];function hasPrefix(Wt,Pt){return Pt.some((Pt=>Wt.startsWith(Pt)))}function isConforming(Wt){return Wt.name===nn&&Wt.publicId===null&&(Wt.systemId===null||Wt.systemId===an)}function getDocumentMode(Wt){if(Wt.name!==nn){return tn.DOCUMENT_MODE.QUIRKS}const{systemId:Pt}=Wt;if(Pt&&Pt.toLowerCase()===In){return tn.DOCUMENT_MODE.QUIRKS}let{publicId:en}=Wt;if(en!==null){en=en.toLowerCase();if(on.has(en)){return tn.DOCUMENT_MODE.QUIRKS}let Wt=Pt===null?sn:rn;if(hasPrefix(en,Wt)){return tn.DOCUMENT_MODE.QUIRKS}Wt=Pt===null?cn:dn;if(hasPrefix(en,Wt)){return tn.DOCUMENT_MODE.LIMITED_QUIRKS}}return tn.DOCUMENT_MODE.NO_QUIRKS}},69322:(Wt,Pt)=>{Object.defineProperty(Pt,"__esModule",{value:true});Pt.ERR=void 0;var en;(function(Wt){Wt["controlCharacterInInputStream"]="control-character-in-input-stream";Wt["noncharacterInInputStream"]="noncharacter-in-input-stream";Wt["surrogateInInputStream"]="surrogate-in-input-stream";Wt["nonVoidHtmlElementStartTagWithTrailingSolidus"]="non-void-html-element-start-tag-with-trailing-solidus";Wt["endTagWithAttributes"]="end-tag-with-attributes";Wt["endTagWithTrailingSolidus"]="end-tag-with-trailing-solidus";Wt["unexpectedSolidusInTag"]="unexpected-solidus-in-tag";Wt["unexpectedNullCharacter"]="unexpected-null-character";Wt["unexpectedQuestionMarkInsteadOfTagName"]="unexpected-question-mark-instead-of-tag-name";Wt["invalidFirstCharacterOfTagName"]="invalid-first-character-of-tag-name";Wt["unexpectedEqualsSignBeforeAttributeName"]="unexpected-equals-sign-before-attribute-name";Wt["missingEndTagName"]="missing-end-tag-name";Wt["unexpectedCharacterInAttributeName"]="unexpected-character-in-attribute-name";Wt["unknownNamedCharacterReference"]="unknown-named-character-reference";Wt["missingSemicolonAfterCharacterReference"]="missing-semicolon-after-character-reference";Wt["unexpectedCharacterAfterDoctypeSystemIdentifier"]="unexpected-character-after-doctype-system-identifier";Wt["unexpectedCharacterInUnquotedAttributeValue"]="unexpected-character-in-unquoted-attribute-value";Wt["eofBeforeTagName"]="eof-before-tag-name";Wt["eofInTag"]="eof-in-tag";Wt["missingAttributeValue"]="missing-attribute-value";Wt["missingWhitespaceBetweenAttributes"]="missing-whitespace-between-attributes";Wt["missingWhitespaceAfterDoctypePublicKeyword"]="missing-whitespace-after-doctype-public-keyword";Wt["missingWhitespaceBetweenDoctypePublicAndSystemIdentifiers"]="missing-whitespace-between-doctype-public-and-system-identifiers";Wt["missingWhitespaceAfterDoctypeSystemKeyword"]="missing-whitespace-after-doctype-system-keyword";Wt["missingQuoteBeforeDoctypePublicIdentifier"]="missing-quote-before-doctype-public-identifier";Wt["missingQuoteBeforeDoctypeSystemIdentifier"]="missing-quote-before-doctype-system-identifier";Wt["missingDoctypePublicIdentifier"]="missing-doctype-public-identifier";Wt["missingDoctypeSystemIdentifier"]="missing-doctype-system-identifier";Wt["abruptDoctypePublicIdentifier"]="abrupt-doctype-public-identifier";Wt["abruptDoctypeSystemIdentifier"]="abrupt-doctype-system-identifier";Wt["cdataInHtmlContent"]="cdata-in-html-content";Wt["incorrectlyOpenedComment"]="incorrectly-opened-comment";Wt["eofInScriptHtmlCommentLikeText"]="eof-in-script-html-comment-like-text";Wt["eofInDoctype"]="eof-in-doctype";Wt["nestedComment"]="nested-comment";Wt["abruptClosingOfEmptyComment"]="abrupt-closing-of-empty-comment";Wt["eofInComment"]="eof-in-comment";Wt["incorrectlyClosedComment"]="incorrectly-closed-comment";Wt["eofInCdata"]="eof-in-cdata";Wt["absenceOfDigitsInNumericCharacterReference"]="absence-of-digits-in-numeric-character-reference";Wt["nullCharacterReference"]="null-character-reference";Wt["surrogateCharacterReference"]="surrogate-character-reference";Wt["characterReferenceOutsideUnicodeRange"]="character-reference-outside-unicode-range";Wt["controlCharacterReference"]="control-character-reference";Wt["noncharacterCharacterReference"]="noncharacter-character-reference";Wt["missingWhitespaceBeforeDoctypeName"]="missing-whitespace-before-doctype-name";Wt["missingDoctypeName"]="missing-doctype-name";Wt["invalidCharacterSequenceAfterDoctypeName"]="invalid-character-sequence-after-doctype-name";Wt["duplicateAttribute"]="duplicate-attribute";Wt["nonConformingDoctype"]="non-conforming-doctype";Wt["missingDoctype"]="missing-doctype";Wt["misplacedDoctype"]="misplaced-doctype";Wt["endTagWithoutMatchingOpenElement"]="end-tag-without-matching-open-element";Wt["closingOfElementWithOpenChildElements"]="closing-of-element-with-open-child-elements";Wt["disallowedContentInNoscriptInHead"]="disallowed-content-in-noscript-in-head";Wt["openElementsLeftAfterEof"]="open-elements-left-after-eof";Wt["abandonedHeadElementChild"]="abandoned-head-element-child";Wt["misplacedStartTagForHeadElement"]="misplaced-start-tag-for-head-element";Wt["nestedNoscriptInHead"]="nested-noscript-in-head";Wt["eofInElementThatCanContainOnlyText"]="eof-in-element-that-can-contain-only-text"})(en||(Pt.ERR=en={}))},79319:(Wt,Pt,en)=>{Object.defineProperty(Pt,"__esModule",{value:true});Pt.SVG_TAG_NAMES_ADJUSTMENT_MAP=void 0;Pt.causesExit=causesExit;Pt.adjustTokenMathMLAttrs=adjustTokenMathMLAttrs;Pt.adjustTokenSVGAttrs=adjustTokenSVGAttrs;Pt.adjustTokenXMLAttrs=adjustTokenXMLAttrs;Pt.adjustTokenSVGTagName=adjustTokenSVGTagName;Pt.isIntegrationPoint=isIntegrationPoint;const tn=en(81510);const nn={TEXT_HTML:"text/html",APPLICATION_XML:"application/xhtml+xml"};const an="definitionurl";const In="definitionURL";const rn=new Map(["attributeName","attributeType","baseFrequency","baseProfile","calcMode","clipPathUnits","diffuseConstant","edgeMode","filterUnits","glyphRef","gradientTransform","gradientUnits","kernelMatrix","kernelUnitLength","keyPoints","keySplines","keyTimes","lengthAdjust","limitingConeAngle","markerHeight","markerUnits","markerWidth","maskContentUnits","maskUnits","numOctaves","pathLength","patternContentUnits","patternTransform","patternUnits","pointsAtX","pointsAtY","pointsAtZ","preserveAlpha","preserveAspectRatio","primitiveUnits","refX","refY","repeatCount","repeatDur","requiredExtensions","requiredFeatures","specularConstant","specularExponent","spreadMethod","startOffset","stdDeviation","stitchTiles","surfaceScale","systemLanguage","tableValues","targetX","targetY","textLength","viewBox","viewTarget","xChannelSelector","yChannelSelector","zoomAndPan"].map((Wt=>[Wt.toLowerCase(),Wt])));const sn=new Map([["xlink:actuate",{prefix:"xlink",name:"actuate",namespace:tn.NS.XLINK}],["xlink:arcrole",{prefix:"xlink",name:"arcrole",namespace:tn.NS.XLINK}],["xlink:href",{prefix:"xlink",name:"href",namespace:tn.NS.XLINK}],["xlink:role",{prefix:"xlink",name:"role",namespace:tn.NS.XLINK}],["xlink:show",{prefix:"xlink",name:"show",namespace:tn.NS.XLINK}],["xlink:title",{prefix:"xlink",name:"title",namespace:tn.NS.XLINK}],["xlink:type",{prefix:"xlink",name:"type",namespace:tn.NS.XLINK}],["xml:lang",{prefix:"xml",name:"lang",namespace:tn.NS.XML}],["xml:space",{prefix:"xml",name:"space",namespace:tn.NS.XML}],["xmlns",{prefix:"",name:"xmlns",namespace:tn.NS.XMLNS}],["xmlns:xlink",{prefix:"xmlns",name:"xlink",namespace:tn.NS.XMLNS}]]);Pt.SVG_TAG_NAMES_ADJUSTMENT_MAP=new Map(["altGlyph","altGlyphDef","altGlyphItem","animateColor","animateMotion","animateTransform","clipPath","feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feDistantLight","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feImage","feMerge","feMergeNode","feMorphology","feOffset","fePointLight","feSpecularLighting","feSpotLight","feTile","feTurbulence","foreignObject","glyphRef","linearGradient","radialGradient","textPath"].map((Wt=>[Wt.toLowerCase(),Wt])));const on=new Set([tn.TAG_ID.B,tn.TAG_ID.BIG,tn.TAG_ID.BLOCKQUOTE,tn.TAG_ID.BODY,tn.TAG_ID.BR,tn.TAG_ID.CENTER,tn.TAG_ID.CODE,tn.TAG_ID.DD,tn.TAG_ID.DIV,tn.TAG_ID.DL,tn.TAG_ID.DT,tn.TAG_ID.EM,tn.TAG_ID.EMBED,tn.TAG_ID.H1,tn.TAG_ID.H2,tn.TAG_ID.H3,tn.TAG_ID.H4,tn.TAG_ID.H5,tn.TAG_ID.H6,tn.TAG_ID.HEAD,tn.TAG_ID.HR,tn.TAG_ID.I,tn.TAG_ID.IMG,tn.TAG_ID.LI,tn.TAG_ID.LISTING,tn.TAG_ID.MENU,tn.TAG_ID.META,tn.TAG_ID.NOBR,tn.TAG_ID.OL,tn.TAG_ID.P,tn.TAG_ID.PRE,tn.TAG_ID.RUBY,tn.TAG_ID.S,tn.TAG_ID.SMALL,tn.TAG_ID.SPAN,tn.TAG_ID.STRONG,tn.TAG_ID.STRIKE,tn.TAG_ID.SUB,tn.TAG_ID.SUP,tn.TAG_ID.TABLE,tn.TAG_ID.TT,tn.TAG_ID.U,tn.TAG_ID.UL,tn.TAG_ID.VAR]);function causesExit(Wt){const Pt=Wt.tagID;const en=Pt===tn.TAG_ID.FONT&&Wt.attrs.some((({name:Wt})=>Wt===tn.ATTRS.COLOR||Wt===tn.ATTRS.SIZE||Wt===tn.ATTRS.FACE));return en||on.has(Pt)}function adjustTokenMathMLAttrs(Wt){for(let Pt=0;Pt{Object.defineProperty(Pt,"__esModule",{value:true});Pt.NUMBERED_HEADERS=Pt.SPECIAL_ELEMENTS=Pt.TAG_ID=Pt.TAG_NAMES=Pt.DOCUMENT_MODE=Pt.ATTRS=Pt.NS=void 0;Pt.getTagID=getTagID;Pt.hasUnescapedText=hasUnescapedText;var en;(function(Wt){Wt["HTML"]="http://www.w3.org/1999/xhtml";Wt["MATHML"]="http://www.w3.org/1998/Math/MathML";Wt["SVG"]="http://www.w3.org/2000/svg";Wt["XLINK"]="http://www.w3.org/1999/xlink";Wt["XML"]="http://www.w3.org/XML/1998/namespace";Wt["XMLNS"]="http://www.w3.org/2000/xmlns/"})(en||(Pt.NS=en={}));var tn;(function(Wt){Wt["TYPE"]="type";Wt["ACTION"]="action";Wt["ENCODING"]="encoding";Wt["PROMPT"]="prompt";Wt["NAME"]="name";Wt["COLOR"]="color";Wt["FACE"]="face";Wt["SIZE"]="size"})(tn||(Pt.ATTRS=tn={}));var nn;(function(Wt){Wt["NO_QUIRKS"]="no-quirks";Wt["QUIRKS"]="quirks";Wt["LIMITED_QUIRKS"]="limited-quirks"})(nn||(Pt.DOCUMENT_MODE=nn={}));var an;(function(Wt){Wt["A"]="a";Wt["ADDRESS"]="address";Wt["ANNOTATION_XML"]="annotation-xml";Wt["APPLET"]="applet";Wt["AREA"]="area";Wt["ARTICLE"]="article";Wt["ASIDE"]="aside";Wt["B"]="b";Wt["BASE"]="base";Wt["BASEFONT"]="basefont";Wt["BGSOUND"]="bgsound";Wt["BIG"]="big";Wt["BLOCKQUOTE"]="blockquote";Wt["BODY"]="body";Wt["BR"]="br";Wt["BUTTON"]="button";Wt["CAPTION"]="caption";Wt["CENTER"]="center";Wt["CODE"]="code";Wt["COL"]="col";Wt["COLGROUP"]="colgroup";Wt["DD"]="dd";Wt["DESC"]="desc";Wt["DETAILS"]="details";Wt["DIALOG"]="dialog";Wt["DIR"]="dir";Wt["DIV"]="div";Wt["DL"]="dl";Wt["DT"]="dt";Wt["EM"]="em";Wt["EMBED"]="embed";Wt["FIELDSET"]="fieldset";Wt["FIGCAPTION"]="figcaption";Wt["FIGURE"]="figure";Wt["FONT"]="font";Wt["FOOTER"]="footer";Wt["FOREIGN_OBJECT"]="foreignObject";Wt["FORM"]="form";Wt["FRAME"]="frame";Wt["FRAMESET"]="frameset";Wt["H1"]="h1";Wt["H2"]="h2";Wt["H3"]="h3";Wt["H4"]="h4";Wt["H5"]="h5";Wt["H6"]="h6";Wt["HEAD"]="head";Wt["HEADER"]="header";Wt["HGROUP"]="hgroup";Wt["HR"]="hr";Wt["HTML"]="html";Wt["I"]="i";Wt["IMG"]="img";Wt["IMAGE"]="image";Wt["INPUT"]="input";Wt["IFRAME"]="iframe";Wt["KEYGEN"]="keygen";Wt["LABEL"]="label";Wt["LI"]="li";Wt["LINK"]="link";Wt["LISTING"]="listing";Wt["MAIN"]="main";Wt["MALIGNMARK"]="malignmark";Wt["MARQUEE"]="marquee";Wt["MATH"]="math";Wt["MENU"]="menu";Wt["META"]="meta";Wt["MGLYPH"]="mglyph";Wt["MI"]="mi";Wt["MO"]="mo";Wt["MN"]="mn";Wt["MS"]="ms";Wt["MTEXT"]="mtext";Wt["NAV"]="nav";Wt["NOBR"]="nobr";Wt["NOFRAMES"]="noframes";Wt["NOEMBED"]="noembed";Wt["NOSCRIPT"]="noscript";Wt["OBJECT"]="object";Wt["OL"]="ol";Wt["OPTGROUP"]="optgroup";Wt["OPTION"]="option";Wt["P"]="p";Wt["PARAM"]="param";Wt["PLAINTEXT"]="plaintext";Wt["PRE"]="pre";Wt["RB"]="rb";Wt["RP"]="rp";Wt["RT"]="rt";Wt["RTC"]="rtc";Wt["RUBY"]="ruby";Wt["S"]="s";Wt["SCRIPT"]="script";Wt["SEARCH"]="search";Wt["SECTION"]="section";Wt["SELECT"]="select";Wt["SOURCE"]="source";Wt["SMALL"]="small";Wt["SPAN"]="span";Wt["STRIKE"]="strike";Wt["STRONG"]="strong";Wt["STYLE"]="style";Wt["SUB"]="sub";Wt["SUMMARY"]="summary";Wt["SUP"]="sup";Wt["TABLE"]="table";Wt["TBODY"]="tbody";Wt["TEMPLATE"]="template";Wt["TEXTAREA"]="textarea";Wt["TFOOT"]="tfoot";Wt["TD"]="td";Wt["TH"]="th";Wt["THEAD"]="thead";Wt["TITLE"]="title";Wt["TR"]="tr";Wt["TRACK"]="track";Wt["TT"]="tt";Wt["U"]="u";Wt["UL"]="ul";Wt["SVG"]="svg";Wt["VAR"]="var";Wt["WBR"]="wbr";Wt["XMP"]="xmp"})(an||(Pt.TAG_NAMES=an={}));var In;(function(Wt){Wt[Wt["UNKNOWN"]=0]="UNKNOWN";Wt[Wt["A"]=1]="A";Wt[Wt["ADDRESS"]=2]="ADDRESS";Wt[Wt["ANNOTATION_XML"]=3]="ANNOTATION_XML";Wt[Wt["APPLET"]=4]="APPLET";Wt[Wt["AREA"]=5]="AREA";Wt[Wt["ARTICLE"]=6]="ARTICLE";Wt[Wt["ASIDE"]=7]="ASIDE";Wt[Wt["B"]=8]="B";Wt[Wt["BASE"]=9]="BASE";Wt[Wt["BASEFONT"]=10]="BASEFONT";Wt[Wt["BGSOUND"]=11]="BGSOUND";Wt[Wt["BIG"]=12]="BIG";Wt[Wt["BLOCKQUOTE"]=13]="BLOCKQUOTE";Wt[Wt["BODY"]=14]="BODY";Wt[Wt["BR"]=15]="BR";Wt[Wt["BUTTON"]=16]="BUTTON";Wt[Wt["CAPTION"]=17]="CAPTION";Wt[Wt["CENTER"]=18]="CENTER";Wt[Wt["CODE"]=19]="CODE";Wt[Wt["COL"]=20]="COL";Wt[Wt["COLGROUP"]=21]="COLGROUP";Wt[Wt["DD"]=22]="DD";Wt[Wt["DESC"]=23]="DESC";Wt[Wt["DETAILS"]=24]="DETAILS";Wt[Wt["DIALOG"]=25]="DIALOG";Wt[Wt["DIR"]=26]="DIR";Wt[Wt["DIV"]=27]="DIV";Wt[Wt["DL"]=28]="DL";Wt[Wt["DT"]=29]="DT";Wt[Wt["EM"]=30]="EM";Wt[Wt["EMBED"]=31]="EMBED";Wt[Wt["FIELDSET"]=32]="FIELDSET";Wt[Wt["FIGCAPTION"]=33]="FIGCAPTION";Wt[Wt["FIGURE"]=34]="FIGURE";Wt[Wt["FONT"]=35]="FONT";Wt[Wt["FOOTER"]=36]="FOOTER";Wt[Wt["FOREIGN_OBJECT"]=37]="FOREIGN_OBJECT";Wt[Wt["FORM"]=38]="FORM";Wt[Wt["FRAME"]=39]="FRAME";Wt[Wt["FRAMESET"]=40]="FRAMESET";Wt[Wt["H1"]=41]="H1";Wt[Wt["H2"]=42]="H2";Wt[Wt["H3"]=43]="H3";Wt[Wt["H4"]=44]="H4";Wt[Wt["H5"]=45]="H5";Wt[Wt["H6"]=46]="H6";Wt[Wt["HEAD"]=47]="HEAD";Wt[Wt["HEADER"]=48]="HEADER";Wt[Wt["HGROUP"]=49]="HGROUP";Wt[Wt["HR"]=50]="HR";Wt[Wt["HTML"]=51]="HTML";Wt[Wt["I"]=52]="I";Wt[Wt["IMG"]=53]="IMG";Wt[Wt["IMAGE"]=54]="IMAGE";Wt[Wt["INPUT"]=55]="INPUT";Wt[Wt["IFRAME"]=56]="IFRAME";Wt[Wt["KEYGEN"]=57]="KEYGEN";Wt[Wt["LABEL"]=58]="LABEL";Wt[Wt["LI"]=59]="LI";Wt[Wt["LINK"]=60]="LINK";Wt[Wt["LISTING"]=61]="LISTING";Wt[Wt["MAIN"]=62]="MAIN";Wt[Wt["MALIGNMARK"]=63]="MALIGNMARK";Wt[Wt["MARQUEE"]=64]="MARQUEE";Wt[Wt["MATH"]=65]="MATH";Wt[Wt["MENU"]=66]="MENU";Wt[Wt["META"]=67]="META";Wt[Wt["MGLYPH"]=68]="MGLYPH";Wt[Wt["MI"]=69]="MI";Wt[Wt["MO"]=70]="MO";Wt[Wt["MN"]=71]="MN";Wt[Wt["MS"]=72]="MS";Wt[Wt["MTEXT"]=73]="MTEXT";Wt[Wt["NAV"]=74]="NAV";Wt[Wt["NOBR"]=75]="NOBR";Wt[Wt["NOFRAMES"]=76]="NOFRAMES";Wt[Wt["NOEMBED"]=77]="NOEMBED";Wt[Wt["NOSCRIPT"]=78]="NOSCRIPT";Wt[Wt["OBJECT"]=79]="OBJECT";Wt[Wt["OL"]=80]="OL";Wt[Wt["OPTGROUP"]=81]="OPTGROUP";Wt[Wt["OPTION"]=82]="OPTION";Wt[Wt["P"]=83]="P";Wt[Wt["PARAM"]=84]="PARAM";Wt[Wt["PLAINTEXT"]=85]="PLAINTEXT";Wt[Wt["PRE"]=86]="PRE";Wt[Wt["RB"]=87]="RB";Wt[Wt["RP"]=88]="RP";Wt[Wt["RT"]=89]="RT";Wt[Wt["RTC"]=90]="RTC";Wt[Wt["RUBY"]=91]="RUBY";Wt[Wt["S"]=92]="S";Wt[Wt["SCRIPT"]=93]="SCRIPT";Wt[Wt["SEARCH"]=94]="SEARCH";Wt[Wt["SECTION"]=95]="SECTION";Wt[Wt["SELECT"]=96]="SELECT";Wt[Wt["SOURCE"]=97]="SOURCE";Wt[Wt["SMALL"]=98]="SMALL";Wt[Wt["SPAN"]=99]="SPAN";Wt[Wt["STRIKE"]=100]="STRIKE";Wt[Wt["STRONG"]=101]="STRONG";Wt[Wt["STYLE"]=102]="STYLE";Wt[Wt["SUB"]=103]="SUB";Wt[Wt["SUMMARY"]=104]="SUMMARY";Wt[Wt["SUP"]=105]="SUP";Wt[Wt["TABLE"]=106]="TABLE";Wt[Wt["TBODY"]=107]="TBODY";Wt[Wt["TEMPLATE"]=108]="TEMPLATE";Wt[Wt["TEXTAREA"]=109]="TEXTAREA";Wt[Wt["TFOOT"]=110]="TFOOT";Wt[Wt["TD"]=111]="TD";Wt[Wt["TH"]=112]="TH";Wt[Wt["THEAD"]=113]="THEAD";Wt[Wt["TITLE"]=114]="TITLE";Wt[Wt["TR"]=115]="TR";Wt[Wt["TRACK"]=116]="TRACK";Wt[Wt["TT"]=117]="TT";Wt[Wt["U"]=118]="U";Wt[Wt["UL"]=119]="UL";Wt[Wt["SVG"]=120]="SVG";Wt[Wt["VAR"]=121]="VAR";Wt[Wt["WBR"]=122]="WBR";Wt[Wt["XMP"]=123]="XMP"})(In||(Pt.TAG_ID=In={}));const rn=new Map([[an.A,In.A],[an.ADDRESS,In.ADDRESS],[an.ANNOTATION_XML,In.ANNOTATION_XML],[an.APPLET,In.APPLET],[an.AREA,In.AREA],[an.ARTICLE,In.ARTICLE],[an.ASIDE,In.ASIDE],[an.B,In.B],[an.BASE,In.BASE],[an.BASEFONT,In.BASEFONT],[an.BGSOUND,In.BGSOUND],[an.BIG,In.BIG],[an.BLOCKQUOTE,In.BLOCKQUOTE],[an.BODY,In.BODY],[an.BR,In.BR],[an.BUTTON,In.BUTTON],[an.CAPTION,In.CAPTION],[an.CENTER,In.CENTER],[an.CODE,In.CODE],[an.COL,In.COL],[an.COLGROUP,In.COLGROUP],[an.DD,In.DD],[an.DESC,In.DESC],[an.DETAILS,In.DETAILS],[an.DIALOG,In.DIALOG],[an.DIR,In.DIR],[an.DIV,In.DIV],[an.DL,In.DL],[an.DT,In.DT],[an.EM,In.EM],[an.EMBED,In.EMBED],[an.FIELDSET,In.FIELDSET],[an.FIGCAPTION,In.FIGCAPTION],[an.FIGURE,In.FIGURE],[an.FONT,In.FONT],[an.FOOTER,In.FOOTER],[an.FOREIGN_OBJECT,In.FOREIGN_OBJECT],[an.FORM,In.FORM],[an.FRAME,In.FRAME],[an.FRAMESET,In.FRAMESET],[an.H1,In.H1],[an.H2,In.H2],[an.H3,In.H3],[an.H4,In.H4],[an.H5,In.H5],[an.H6,In.H6],[an.HEAD,In.HEAD],[an.HEADER,In.HEADER],[an.HGROUP,In.HGROUP],[an.HR,In.HR],[an.HTML,In.HTML],[an.I,In.I],[an.IMG,In.IMG],[an.IMAGE,In.IMAGE],[an.INPUT,In.INPUT],[an.IFRAME,In.IFRAME],[an.KEYGEN,In.KEYGEN],[an.LABEL,In.LABEL],[an.LI,In.LI],[an.LINK,In.LINK],[an.LISTING,In.LISTING],[an.MAIN,In.MAIN],[an.MALIGNMARK,In.MALIGNMARK],[an.MARQUEE,In.MARQUEE],[an.MATH,In.MATH],[an.MENU,In.MENU],[an.META,In.META],[an.MGLYPH,In.MGLYPH],[an.MI,In.MI],[an.MO,In.MO],[an.MN,In.MN],[an.MS,In.MS],[an.MTEXT,In.MTEXT],[an.NAV,In.NAV],[an.NOBR,In.NOBR],[an.NOFRAMES,In.NOFRAMES],[an.NOEMBED,In.NOEMBED],[an.NOSCRIPT,In.NOSCRIPT],[an.OBJECT,In.OBJECT],[an.OL,In.OL],[an.OPTGROUP,In.OPTGROUP],[an.OPTION,In.OPTION],[an.P,In.P],[an.PARAM,In.PARAM],[an.PLAINTEXT,In.PLAINTEXT],[an.PRE,In.PRE],[an.RB,In.RB],[an.RP,In.RP],[an.RT,In.RT],[an.RTC,In.RTC],[an.RUBY,In.RUBY],[an.S,In.S],[an.SCRIPT,In.SCRIPT],[an.SEARCH,In.SEARCH],[an.SECTION,In.SECTION],[an.SELECT,In.SELECT],[an.SOURCE,In.SOURCE],[an.SMALL,In.SMALL],[an.SPAN,In.SPAN],[an.STRIKE,In.STRIKE],[an.STRONG,In.STRONG],[an.STYLE,In.STYLE],[an.SUB,In.SUB],[an.SUMMARY,In.SUMMARY],[an.SUP,In.SUP],[an.TABLE,In.TABLE],[an.TBODY,In.TBODY],[an.TEMPLATE,In.TEMPLATE],[an.TEXTAREA,In.TEXTAREA],[an.TFOOT,In.TFOOT],[an.TD,In.TD],[an.TH,In.TH],[an.THEAD,In.THEAD],[an.TITLE,In.TITLE],[an.TR,In.TR],[an.TRACK,In.TRACK],[an.TT,In.TT],[an.U,In.U],[an.UL,In.UL],[an.SVG,In.SVG],[an.VAR,In.VAR],[an.WBR,In.WBR],[an.XMP,In.XMP]]);function getTagID(Wt){var Pt;return(Pt=rn.get(Wt))!==null&&Pt!==void 0?Pt:In.UNKNOWN}const sn=In;Pt.SPECIAL_ELEMENTS={[en.HTML]:new Set([sn.ADDRESS,sn.APPLET,sn.AREA,sn.ARTICLE,sn.ASIDE,sn.BASE,sn.BASEFONT,sn.BGSOUND,sn.BLOCKQUOTE,sn.BODY,sn.BR,sn.BUTTON,sn.CAPTION,sn.CENTER,sn.COL,sn.COLGROUP,sn.DD,sn.DETAILS,sn.DIR,sn.DIV,sn.DL,sn.DT,sn.EMBED,sn.FIELDSET,sn.FIGCAPTION,sn.FIGURE,sn.FOOTER,sn.FORM,sn.FRAME,sn.FRAMESET,sn.H1,sn.H2,sn.H3,sn.H4,sn.H5,sn.H6,sn.HEAD,sn.HEADER,sn.HGROUP,sn.HR,sn.HTML,sn.IFRAME,sn.IMG,sn.INPUT,sn.LI,sn.LINK,sn.LISTING,sn.MAIN,sn.MARQUEE,sn.MENU,sn.META,sn.NAV,sn.NOEMBED,sn.NOFRAMES,sn.NOSCRIPT,sn.OBJECT,sn.OL,sn.P,sn.PARAM,sn.PLAINTEXT,sn.PRE,sn.SCRIPT,sn.SECTION,sn.SELECT,sn.SOURCE,sn.STYLE,sn.SUMMARY,sn.TABLE,sn.TBODY,sn.TD,sn.TEMPLATE,sn.TEXTAREA,sn.TFOOT,sn.TH,sn.THEAD,sn.TITLE,sn.TR,sn.TRACK,sn.UL,sn.WBR,sn.XMP]),[en.MATHML]:new Set([sn.MI,sn.MO,sn.MN,sn.MS,sn.MTEXT,sn.ANNOTATION_XML]),[en.SVG]:new Set([sn.TITLE,sn.FOREIGN_OBJECT,sn.DESC]),[en.XLINK]:new Set,[en.XML]:new Set,[en.XMLNS]:new Set};Pt.NUMBERED_HEADERS=new Set([sn.H1,sn.H2,sn.H3,sn.H4,sn.H5,sn.H6]);const on=new Set([an.STYLE,an.SCRIPT,an.XMP,an.IFRAME,an.NOEMBED,an.NOFRAMES,an.PLAINTEXT]);function hasUnescapedText(Wt,Pt){return on.has(Wt)||Pt&&Wt===an.NOSCRIPT}},30294:(Wt,Pt)=>{Object.defineProperty(Pt,"__esModule",{value:true});Pt.TokenType=void 0;Pt.getTokenAttr=getTokenAttr;var en;(function(Wt){Wt[Wt["CHARACTER"]=0]="CHARACTER";Wt[Wt["NULL_CHARACTER"]=1]="NULL_CHARACTER";Wt[Wt["WHITESPACE_CHARACTER"]=2]="WHITESPACE_CHARACTER";Wt[Wt["START_TAG"]=3]="START_TAG";Wt[Wt["END_TAG"]=4]="END_TAG";Wt[Wt["COMMENT"]=5]="COMMENT";Wt[Wt["DOCTYPE"]=6]="DOCTYPE";Wt[Wt["EOF"]=7]="EOF";Wt[Wt["HIBERNATION"]=8]="HIBERNATION"})(en||(Pt.TokenType=en={}));function getTokenAttr(Wt,Pt){for(let en=Wt.attrs.length-1;en>=0;en--){if(Wt.attrs[en].name===Pt){return Wt.attrs[en].value}}return null}},73616:(Wt,Pt)=>{Object.defineProperty(Pt,"__esModule",{value:true});Pt.SEQUENCES=Pt.CODE_POINTS=Pt.REPLACEMENT_CHARACTER=void 0;Pt.isSurrogate=isSurrogate;Pt.isSurrogatePair=isSurrogatePair;Pt.getSurrogatePairCodePoint=getSurrogatePairCodePoint;Pt.isControlCodePoint=isControlCodePoint;Pt.isUndefinedCodePoint=isUndefinedCodePoint;const en=new Set([65534,65535,131070,131071,196606,196607,262142,262143,327678,327679,393214,393215,458750,458751,524286,524287,589822,589823,655358,655359,720894,720895,786430,786431,851966,851967,917502,917503,983038,983039,1048574,1048575,1114110,1114111]);Pt.REPLACEMENT_CHARACTER="�";var tn;(function(Wt){Wt[Wt["EOF"]=-1]="EOF";Wt[Wt["NULL"]=0]="NULL";Wt[Wt["TABULATION"]=9]="TABULATION";Wt[Wt["CARRIAGE_RETURN"]=13]="CARRIAGE_RETURN";Wt[Wt["LINE_FEED"]=10]="LINE_FEED";Wt[Wt["FORM_FEED"]=12]="FORM_FEED";Wt[Wt["SPACE"]=32]="SPACE";Wt[Wt["EXCLAMATION_MARK"]=33]="EXCLAMATION_MARK";Wt[Wt["QUOTATION_MARK"]=34]="QUOTATION_MARK";Wt[Wt["AMPERSAND"]=38]="AMPERSAND";Wt[Wt["APOSTROPHE"]=39]="APOSTROPHE";Wt[Wt["HYPHEN_MINUS"]=45]="HYPHEN_MINUS";Wt[Wt["SOLIDUS"]=47]="SOLIDUS";Wt[Wt["DIGIT_0"]=48]="DIGIT_0";Wt[Wt["DIGIT_9"]=57]="DIGIT_9";Wt[Wt["SEMICOLON"]=59]="SEMICOLON";Wt[Wt["LESS_THAN_SIGN"]=60]="LESS_THAN_SIGN";Wt[Wt["EQUALS_SIGN"]=61]="EQUALS_SIGN";Wt[Wt["GREATER_THAN_SIGN"]=62]="GREATER_THAN_SIGN";Wt[Wt["QUESTION_MARK"]=63]="QUESTION_MARK";Wt[Wt["LATIN_CAPITAL_A"]=65]="LATIN_CAPITAL_A";Wt[Wt["LATIN_CAPITAL_Z"]=90]="LATIN_CAPITAL_Z";Wt[Wt["RIGHT_SQUARE_BRACKET"]=93]="RIGHT_SQUARE_BRACKET";Wt[Wt["GRAVE_ACCENT"]=96]="GRAVE_ACCENT";Wt[Wt["LATIN_SMALL_A"]=97]="LATIN_SMALL_A";Wt[Wt["LATIN_SMALL_Z"]=122]="LATIN_SMALL_Z"})(tn||(Pt.CODE_POINTS=tn={}));Pt.SEQUENCES={DASH_DASH:"--",CDATA_START:"[CDATA[",DOCTYPE:"doctype",SCRIPT:"script",PUBLIC:"public",SYSTEM:"system"};function isSurrogate(Wt){return Wt>=55296&&Wt<=57343}function isSurrogatePair(Wt){return Wt>=56320&&Wt<=57343}function getSurrogatePairCodePoint(Wt,Pt){return(Wt-55296)*1024+9216+Pt}function isControlCodePoint(Wt){return Wt!==32&&Wt!==10&&Wt!==13&&Wt!==9&&Wt!==12&&Wt>=1&&Wt<=31||Wt>=127&&Wt<=159}function isUndefinedCodePoint(Wt){return Wt>=64976&&Wt<=65007||en.has(Wt)}},50069:(Wt,Pt,en)=>{Object.defineProperty(Pt,"__esModule",{value:true});Pt.TokenizerMode=Pt.Tokenizer=Pt.Token=Pt.html=Pt.foreignContent=Pt.ErrorCodes=Pt.serializeOuter=Pt.serialize=Pt.Parser=Pt.defaultTreeAdapter=void 0;Pt.parse=parse;Pt.parseFragment=parseFragment;const tn=en(99945);var nn=en(24760);Object.defineProperty(Pt,"defaultTreeAdapter",{enumerable:true,get:function(){return nn.defaultTreeAdapter}});var an=en(99945);Object.defineProperty(Pt,"Parser",{enumerable:true,get:function(){return an.Parser}});var In=en(47950);Object.defineProperty(Pt,"serialize",{enumerable:true,get:function(){return In.serialize}});Object.defineProperty(Pt,"serializeOuter",{enumerable:true,get:function(){return In.serializeOuter}});var rn=en(69322);Object.defineProperty(Pt,"ErrorCodes",{enumerable:true,get:function(){return rn.ERR}});Pt.foreignContent=en(79319);Pt.html=en(81510);Pt.Token=en(30294);var sn=en(55007);Object.defineProperty(Pt,"Tokenizer",{enumerable:true,get:function(){return sn.Tokenizer}});Object.defineProperty(Pt,"TokenizerMode",{enumerable:true,get:function(){return sn.TokenizerMode}});function parse(Wt,Pt){return tn.Parser.parse(Wt,Pt)}function parseFragment(Wt,Pt,en){if(typeof Wt==="string"){en=Pt;Pt=Wt;Wt=null}const nn=tn.Parser.getFragmentParser(Wt,en);nn.tokenizer.write(Pt,true);return nn.getFragment()}},69048:(Wt,Pt)=>{Object.defineProperty(Pt,"__esModule",{value:true});Pt.FormattingElementList=Pt.EntryType=void 0;const en=3;var tn;(function(Wt){Wt[Wt["Marker"]=0]="Marker";Wt[Wt["Element"]=1]="Element"})(tn||(Pt.EntryType=tn={}));const nn={type:tn.Marker};class FormattingElementList{constructor(Wt){this.treeAdapter=Wt;this.entries=[];this.bookmark=null}_getNoahArkConditionCandidates(Wt,Pt){const en=[];const nn=Pt.length;const an=this.treeAdapter.getTagName(Wt);const In=this.treeAdapter.getNamespaceURI(Wt);for(let Wt=0;Wt[Wt.name,Wt.value])));let an=0;for(let Wt=0;Wtnn.get(Wt.name)===Wt.value))){an+=1;if(an>=en){this.entries.splice(Pt.idx,1)}}}}insertMarker(){this.entries.unshift(nn)}pushElement(Wt,Pt){this._ensureNoahArkCondition(Wt);this.entries.unshift({type:tn.Element,element:Wt,token:Pt})}insertElementAfterBookmark(Wt,Pt){const en=this.entries.indexOf(this.bookmark);this.entries.splice(en,0,{type:tn.Element,element:Wt,token:Pt})}removeEntry(Wt){const Pt=this.entries.indexOf(Wt);if(Pt>=0){this.entries.splice(Pt,1)}}clearToLastMarker(){const Wt=this.entries.indexOf(nn);if(Wt>=0){this.entries.splice(0,Wt+1)}else{this.entries.length=0}}getElementEntryInScopeWithTagName(Wt){const Pt=this.entries.find((Pt=>Pt.type===tn.Marker||this.treeAdapter.getTagName(Pt.element)===Wt));return Pt&&Pt.type===tn.Element?Pt:null}getElementEntry(Wt){return this.entries.find((Pt=>Pt.type===tn.Element&&Pt.element===Wt))}}Pt.FormattingElementList=FormattingElementList},99945:(Wt,Pt,en)=>{Object.defineProperty(Pt,"__esModule",{value:true});Pt.Parser=void 0;const tn=en(55007);const nn=en(54857);const an=en(69048);const In=en(24760);const rn=en(32377);const sn=en(79319);const on=en(69322);const cn=en(73616);const dn=en(81510);const un=en(30294);const pn="hidden";const mn=8;const bn=3;var Gn;(function(Wt){Wt[Wt["INITIAL"]=0]="INITIAL";Wt[Wt["BEFORE_HTML"]=1]="BEFORE_HTML";Wt[Wt["BEFORE_HEAD"]=2]="BEFORE_HEAD";Wt[Wt["IN_HEAD"]=3]="IN_HEAD";Wt[Wt["IN_HEAD_NO_SCRIPT"]=4]="IN_HEAD_NO_SCRIPT";Wt[Wt["AFTER_HEAD"]=5]="AFTER_HEAD";Wt[Wt["IN_BODY"]=6]="IN_BODY";Wt[Wt["TEXT"]=7]="TEXT";Wt[Wt["IN_TABLE"]=8]="IN_TABLE";Wt[Wt["IN_TABLE_TEXT"]=9]="IN_TABLE_TEXT";Wt[Wt["IN_CAPTION"]=10]="IN_CAPTION";Wt[Wt["IN_COLUMN_GROUP"]=11]="IN_COLUMN_GROUP";Wt[Wt["IN_TABLE_BODY"]=12]="IN_TABLE_BODY";Wt[Wt["IN_ROW"]=13]="IN_ROW";Wt[Wt["IN_CELL"]=14]="IN_CELL";Wt[Wt["IN_SELECT"]=15]="IN_SELECT";Wt[Wt["IN_SELECT_IN_TABLE"]=16]="IN_SELECT_IN_TABLE";Wt[Wt["IN_TEMPLATE"]=17]="IN_TEMPLATE";Wt[Wt["AFTER_BODY"]=18]="AFTER_BODY";Wt[Wt["IN_FRAMESET"]=19]="IN_FRAMESET";Wt[Wt["AFTER_FRAMESET"]=20]="AFTER_FRAMESET";Wt[Wt["AFTER_AFTER_BODY"]=21]="AFTER_AFTER_BODY";Wt[Wt["AFTER_AFTER_FRAMESET"]=22]="AFTER_AFTER_FRAMESET"})(Gn||(Gn={}));const hn={startLine:-1,startCol:-1,startOffset:-1,endLine:-1,endCol:-1,endOffset:-1};const Zn=new Set([dn.TAG_ID.TABLE,dn.TAG_ID.TBODY,dn.TAG_ID.TFOOT,dn.TAG_ID.THEAD,dn.TAG_ID.TR]);const An={scriptingEnabled:true,sourceCodeLocationInfo:false,treeAdapter:In.defaultTreeAdapter,onParseError:null};class Parser{constructor(Wt,Pt,en=null,In=null){this.fragmentContext=en;this.scriptHandler=In;this.currentToken=null;this.stopped=false;this.insertionMode=Gn.INITIAL;this.originalInsertionMode=Gn.INITIAL;this.headElement=null;this.formElement=null;this.currentNotInHTML=false;this.tmplInsertionModeStack=[];this.pendingCharacterTokens=[];this.hasNonWhitespacePendingCharacterToken=false;this.framesetOk=true;this.skipNextNewLine=false;this.fosterParentingEnabled=false;this.options=Object.assign(Object.assign({},An),Wt);this.treeAdapter=this.options.treeAdapter;this.onParseError=this.options.onParseError;if(this.onParseError){this.options.sourceCodeLocationInfo=true}this.document=Pt!==null&&Pt!==void 0?Pt:this.treeAdapter.createDocument();this.tokenizer=new tn.Tokenizer(this.options,this);this.activeFormattingElements=new an.FormattingElementList(this.treeAdapter);this.fragmentContextID=en?(0,dn.getTagID)(this.treeAdapter.getTagName(en)):dn.TAG_ID.UNKNOWN;this._setContextModes(en!==null&&en!==void 0?en:this.document,this.fragmentContextID);this.openElements=new nn.OpenElementStack(this.document,this.treeAdapter,this)}static parse(Wt,Pt){const en=new this(Pt);en.tokenizer.write(Wt,true);return en.document}static getFragmentParser(Wt,Pt){const en=Object.assign(Object.assign({},An),Pt);Wt!==null&&Wt!==void 0?Wt:Wt=en.treeAdapter.createElement(dn.TAG_NAMES.TEMPLATE,dn.NS.HTML,[]);const tn=en.treeAdapter.createElement("documentmock",dn.NS.HTML,[]);const nn=new this(en,tn,Wt);if(nn.fragmentContextID===dn.TAG_ID.TEMPLATE){nn.tmplInsertionModeStack.unshift(Gn.IN_TEMPLATE)}nn._initTokenizerForFragmentParsing();nn._insertFakeRootElement();nn._resetInsertionMode();nn._findFormInFragmentContext();return nn}getFragment(){const Wt=this.treeAdapter.getFirstChild(this.document);const Pt=this.treeAdapter.createDocumentFragment();this._adoptNodes(Wt,Pt);return Pt}_err(Wt,Pt,en){var tn;if(!this.onParseError)return;const nn=(tn=Wt.location)!==null&&tn!==void 0?tn:hn;const an={code:Pt,startLine:nn.startLine,startCol:nn.startCol,startOffset:nn.startOffset,endLine:en?nn.startLine:nn.endLine,endCol:en?nn.startCol:nn.endCol,endOffset:en?nn.startOffset:nn.endOffset};this.onParseError(an)}onItemPush(Wt,Pt,en){var tn,nn;(nn=(tn=this.treeAdapter).onItemPush)===null||nn===void 0?void 0:nn.call(tn,Wt);if(en&&this.openElements.stackTop>0)this._setContextModes(Wt,Pt)}onItemPop(Wt,Pt){var en,tn;if(this.options.sourceCodeLocationInfo){this._setEndLocation(Wt,this.currentToken)}(tn=(en=this.treeAdapter).onItemPop)===null||tn===void 0?void 0:tn.call(en,Wt,this.openElements.current);if(Pt){let Wt;let Pt;if(this.openElements.stackTop===0&&this.fragmentContext){Wt=this.fragmentContext;Pt=this.fragmentContextID}else{({current:Wt,currentTagId:Pt}=this.openElements)}this._setContextModes(Wt,Pt)}}_setContextModes(Wt,Pt){const en=Wt===this.document||this.treeAdapter.getNamespaceURI(Wt)===dn.NS.HTML;this.currentNotInHTML=!en;this.tokenizer.inForeignNode=!en&&!this._isIntegrationPoint(Pt,Wt)}_switchToTextParsing(Wt,Pt){this._insertElement(Wt,dn.NS.HTML);this.tokenizer.state=Pt;this.originalInsertionMode=this.insertionMode;this.insertionMode=Gn.TEXT}switchToPlaintextParsing(){this.insertionMode=Gn.TEXT;this.originalInsertionMode=Gn.IN_BODY;this.tokenizer.state=tn.TokenizerMode.PLAINTEXT}_getAdjustedCurrentElement(){return this.openElements.stackTop===0&&this.fragmentContext?this.fragmentContext:this.openElements.current}_findFormInFragmentContext(){let Wt=this.fragmentContext;while(Wt){if(this.treeAdapter.getTagName(Wt)===dn.TAG_NAMES.FORM){this.formElement=Wt;break}Wt=this.treeAdapter.getParentNode(Wt)}}_initTokenizerForFragmentParsing(){if(!this.fragmentContext||this.treeAdapter.getNamespaceURI(this.fragmentContext)!==dn.NS.HTML){return}switch(this.fragmentContextID){case dn.TAG_ID.TITLE:case dn.TAG_ID.TEXTAREA:{this.tokenizer.state=tn.TokenizerMode.RCDATA;break}case dn.TAG_ID.STYLE:case dn.TAG_ID.XMP:case dn.TAG_ID.IFRAME:case dn.TAG_ID.NOEMBED:case dn.TAG_ID.NOFRAMES:case dn.TAG_ID.NOSCRIPT:{this.tokenizer.state=tn.TokenizerMode.RAWTEXT;break}case dn.TAG_ID.SCRIPT:{this.tokenizer.state=tn.TokenizerMode.SCRIPT_DATA;break}case dn.TAG_ID.PLAINTEXT:{this.tokenizer.state=tn.TokenizerMode.PLAINTEXT;break}default:}}_setDocumentType(Wt){const Pt=Wt.name||"";const en=Wt.publicId||"";const tn=Wt.systemId||"";this.treeAdapter.setDocumentType(this.document,Pt,en,tn);if(Wt.location){const Pt=this.treeAdapter.getChildNodes(this.document);const en=Pt.find((Wt=>this.treeAdapter.isDocumentTypeNode(Wt)));if(en){this.treeAdapter.setNodeSourceCodeLocation(en,Wt.location)}}}_attachElementToTree(Wt,Pt){if(this.options.sourceCodeLocationInfo){const en=Pt&&Object.assign(Object.assign({},Pt),{startTag:Pt});this.treeAdapter.setNodeSourceCodeLocation(Wt,en)}if(this._shouldFosterParentOnInsertion()){this._fosterParentElement(Wt)}else{const Pt=this.openElements.currentTmplContentOrNode;this.treeAdapter.appendChild(Pt,Wt)}}_appendElement(Wt,Pt){const en=this.treeAdapter.createElement(Wt.tagName,Pt,Wt.attrs);this._attachElementToTree(en,Wt.location)}_insertElement(Wt,Pt){const en=this.treeAdapter.createElement(Wt.tagName,Pt,Wt.attrs);this._attachElementToTree(en,Wt.location);this.openElements.push(en,Wt.tagID)}_insertFakeElement(Wt,Pt){const en=this.treeAdapter.createElement(Wt,dn.NS.HTML,[]);this._attachElementToTree(en,null);this.openElements.push(en,Pt)}_insertTemplate(Wt){const Pt=this.treeAdapter.createElement(Wt.tagName,dn.NS.HTML,Wt.attrs);const en=this.treeAdapter.createDocumentFragment();this.treeAdapter.setTemplateContent(Pt,en);this._attachElementToTree(Pt,Wt.location);this.openElements.push(Pt,Wt.tagID);if(this.options.sourceCodeLocationInfo)this.treeAdapter.setNodeSourceCodeLocation(en,null)}_insertFakeRootElement(){const Wt=this.treeAdapter.createElement(dn.TAG_NAMES.HTML,dn.NS.HTML,[]);if(this.options.sourceCodeLocationInfo)this.treeAdapter.setNodeSourceCodeLocation(Wt,null);this.treeAdapter.appendChild(this.openElements.current,Wt);this.openElements.push(Wt,dn.TAG_ID.HTML)}_appendCommentNode(Wt,Pt){const en=this.treeAdapter.createCommentNode(Wt.data);this.treeAdapter.appendChild(Pt,en);if(this.options.sourceCodeLocationInfo){this.treeAdapter.setNodeSourceCodeLocation(en,Wt.location)}}_insertCharacters(Wt){let Pt;let en;if(this._shouldFosterParentOnInsertion()){({parent:Pt,beforeElement:en}=this._findFosterParentingLocation());if(en){this.treeAdapter.insertTextBefore(Pt,Wt.chars,en)}else{this.treeAdapter.insertText(Pt,Wt.chars)}}else{Pt=this.openElements.currentTmplContentOrNode;this.treeAdapter.insertText(Pt,Wt.chars)}if(!Wt.location)return;const tn=this.treeAdapter.getChildNodes(Pt);const nn=en?tn.lastIndexOf(en):tn.length;const an=tn[nn-1];const In=this.treeAdapter.getNodeSourceCodeLocation(an);if(In){const{endLine:Pt,endCol:en,endOffset:tn}=Wt.location;this.treeAdapter.updateNodeSourceCodeLocation(an,{endLine:Pt,endCol:en,endOffset:tn})}else if(this.options.sourceCodeLocationInfo){this.treeAdapter.setNodeSourceCodeLocation(an,Wt.location)}}_adoptNodes(Wt,Pt){for(let en=this.treeAdapter.getFirstChild(Wt);en;en=this.treeAdapter.getFirstChild(Wt)){this.treeAdapter.detachNode(en);this.treeAdapter.appendChild(Pt,en)}}_setEndLocation(Wt,Pt){if(this.treeAdapter.getNodeSourceCodeLocation(Wt)&&Pt.location){const en=Pt.location;const tn=this.treeAdapter.getTagName(Wt);const nn=Pt.type===un.TokenType.END_TAG&&tn===Pt.tagName?{endTag:Object.assign({},en),endLine:en.endLine,endCol:en.endCol,endOffset:en.endOffset}:{endLine:en.startLine,endCol:en.startCol,endOffset:en.startOffset};this.treeAdapter.updateNodeSourceCodeLocation(Wt,nn)}}shouldProcessStartTagTokenInForeignContent(Wt){if(!this.currentNotInHTML)return false;let Pt;let en;if(this.openElements.stackTop===0&&this.fragmentContext){Pt=this.fragmentContext;en=this.fragmentContextID}else{({current:Pt,currentTagId:en}=this.openElements)}if(Wt.tagID===dn.TAG_ID.SVG&&this.treeAdapter.getTagName(Pt)===dn.TAG_NAMES.ANNOTATION_XML&&this.treeAdapter.getNamespaceURI(Pt)===dn.NS.MATHML){return false}return this.tokenizer.inForeignNode||(Wt.tagID===dn.TAG_ID.MGLYPH||Wt.tagID===dn.TAG_ID.MALIGNMARK)&&!this._isIntegrationPoint(en,Pt,dn.NS.HTML)}_processToken(Wt){switch(Wt.type){case un.TokenType.CHARACTER:{this.onCharacter(Wt);break}case un.TokenType.NULL_CHARACTER:{this.onNullCharacter(Wt);break}case un.TokenType.COMMENT:{this.onComment(Wt);break}case un.TokenType.DOCTYPE:{this.onDoctype(Wt);break}case un.TokenType.START_TAG:{this._processStartTag(Wt);break}case un.TokenType.END_TAG:{this.onEndTag(Wt);break}case un.TokenType.EOF:{this.onEof(Wt);break}case un.TokenType.WHITESPACE_CHARACTER:{this.onWhitespaceCharacter(Wt);break}}}_isIntegrationPoint(Wt,Pt,en){const tn=this.treeAdapter.getNamespaceURI(Pt);const nn=this.treeAdapter.getAttrList(Pt);return sn.isIntegrationPoint(Wt,tn,nn,en)}_reconstructActiveFormattingElements(){const Wt=this.activeFormattingElements.entries.length;if(Wt){const Pt=this.activeFormattingElements.entries.findIndex((Wt=>Wt.type===an.EntryType.Marker||this.openElements.contains(Wt.element)));const en=Pt<0?Wt-1:Pt-1;for(let Wt=en;Wt>=0;Wt--){const Pt=this.activeFormattingElements.entries[Wt];this._insertElement(Pt.token,this.treeAdapter.getNamespaceURI(Pt.element));Pt.element=this.openElements.current}}}_closeTableCell(){this.openElements.generateImpliedEndTags();this.openElements.popUntilTableCellPopped();this.activeFormattingElements.clearToLastMarker();this.insertionMode=Gn.IN_ROW}_closePElement(){this.openElements.generateImpliedEndTagsWithExclusion(dn.TAG_ID.P);this.openElements.popUntilTagNamePopped(dn.TAG_ID.P)}_resetInsertionMode(){for(let Wt=this.openElements.stackTop;Wt>=0;Wt--){switch(Wt===0&&this.fragmentContext?this.fragmentContextID:this.openElements.tagIDs[Wt]){case dn.TAG_ID.TR:{this.insertionMode=Gn.IN_ROW;return}case dn.TAG_ID.TBODY:case dn.TAG_ID.THEAD:case dn.TAG_ID.TFOOT:{this.insertionMode=Gn.IN_TABLE_BODY;return}case dn.TAG_ID.CAPTION:{this.insertionMode=Gn.IN_CAPTION;return}case dn.TAG_ID.COLGROUP:{this.insertionMode=Gn.IN_COLUMN_GROUP;return}case dn.TAG_ID.TABLE:{this.insertionMode=Gn.IN_TABLE;return}case dn.TAG_ID.BODY:{this.insertionMode=Gn.IN_BODY;return}case dn.TAG_ID.FRAMESET:{this.insertionMode=Gn.IN_FRAMESET;return}case dn.TAG_ID.SELECT:{this._resetInsertionModeForSelect(Wt);return}case dn.TAG_ID.TEMPLATE:{this.insertionMode=this.tmplInsertionModeStack[0];return}case dn.TAG_ID.HTML:{this.insertionMode=this.headElement?Gn.AFTER_HEAD:Gn.BEFORE_HEAD;return}case dn.TAG_ID.TD:case dn.TAG_ID.TH:{if(Wt>0){this.insertionMode=Gn.IN_CELL;return}break}case dn.TAG_ID.HEAD:{if(Wt>0){this.insertionMode=Gn.IN_HEAD;return}break}}}this.insertionMode=Gn.IN_BODY}_resetInsertionModeForSelect(Wt){if(Wt>0){for(let Pt=Wt-1;Pt>0;Pt--){const Wt=this.openElements.tagIDs[Pt];if(Wt===dn.TAG_ID.TEMPLATE){break}else if(Wt===dn.TAG_ID.TABLE){this.insertionMode=Gn.IN_SELECT_IN_TABLE;return}}}this.insertionMode=Gn.IN_SELECT}_isElementCausesFosterParenting(Wt){return Zn.has(Wt)}_shouldFosterParentOnInsertion(){return this.fosterParentingEnabled&&this._isElementCausesFosterParenting(this.openElements.currentTagId)}_findFosterParentingLocation(){for(let Wt=this.openElements.stackTop;Wt>=0;Wt--){const Pt=this.openElements.items[Wt];switch(this.openElements.tagIDs[Wt]){case dn.TAG_ID.TEMPLATE:{if(this.treeAdapter.getNamespaceURI(Pt)===dn.NS.HTML){return{parent:this.treeAdapter.getTemplateContent(Pt),beforeElement:null}}break}case dn.TAG_ID.TABLE:{const en=this.treeAdapter.getParentNode(Pt);if(en){return{parent:en,beforeElement:Pt}}return{parent:this.openElements.items[Wt-1],beforeElement:null}}default:}}return{parent:this.openElements.items[0],beforeElement:null}}_fosterParentElement(Wt){const Pt=this._findFosterParentingLocation();if(Pt.beforeElement){this.treeAdapter.insertBefore(Pt.parent,Wt,Pt.beforeElement)}else{this.treeAdapter.appendChild(Pt.parent,Wt)}}_isSpecialElement(Wt,Pt){const en=this.treeAdapter.getNamespaceURI(Wt);return dn.SPECIAL_ELEMENTS[en].has(Pt)}onCharacter(Wt){this.skipNextNewLine=false;if(this.tokenizer.inForeignNode){characterInForeignContent(this,Wt);return}switch(this.insertionMode){case Gn.INITIAL:{tokenInInitialMode(this,Wt);break}case Gn.BEFORE_HTML:{tokenBeforeHtml(this,Wt);break}case Gn.BEFORE_HEAD:{tokenBeforeHead(this,Wt);break}case Gn.IN_HEAD:{tokenInHead(this,Wt);break}case Gn.IN_HEAD_NO_SCRIPT:{tokenInHeadNoScript(this,Wt);break}case Gn.AFTER_HEAD:{tokenAfterHead(this,Wt);break}case Gn.IN_BODY:case Gn.IN_CAPTION:case Gn.IN_CELL:case Gn.IN_TEMPLATE:{characterInBody(this,Wt);break}case Gn.TEXT:case Gn.IN_SELECT:case Gn.IN_SELECT_IN_TABLE:{this._insertCharacters(Wt);break}case Gn.IN_TABLE:case Gn.IN_TABLE_BODY:case Gn.IN_ROW:{characterInTable(this,Wt);break}case Gn.IN_TABLE_TEXT:{characterInTableText(this,Wt);break}case Gn.IN_COLUMN_GROUP:{tokenInColumnGroup(this,Wt);break}case Gn.AFTER_BODY:{tokenAfterBody(this,Wt);break}case Gn.AFTER_AFTER_BODY:{tokenAfterAfterBody(this,Wt);break}default:}}onNullCharacter(Wt){this.skipNextNewLine=false;if(this.tokenizer.inForeignNode){nullCharacterInForeignContent(this,Wt);return}switch(this.insertionMode){case Gn.INITIAL:{tokenInInitialMode(this,Wt);break}case Gn.BEFORE_HTML:{tokenBeforeHtml(this,Wt);break}case Gn.BEFORE_HEAD:{tokenBeforeHead(this,Wt);break}case Gn.IN_HEAD:{tokenInHead(this,Wt);break}case Gn.IN_HEAD_NO_SCRIPT:{tokenInHeadNoScript(this,Wt);break}case Gn.AFTER_HEAD:{tokenAfterHead(this,Wt);break}case Gn.TEXT:{this._insertCharacters(Wt);break}case Gn.IN_TABLE:case Gn.IN_TABLE_BODY:case Gn.IN_ROW:{characterInTable(this,Wt);break}case Gn.IN_COLUMN_GROUP:{tokenInColumnGroup(this,Wt);break}case Gn.AFTER_BODY:{tokenAfterBody(this,Wt);break}case Gn.AFTER_AFTER_BODY:{tokenAfterAfterBody(this,Wt);break}default:}}onComment(Wt){this.skipNextNewLine=false;if(this.currentNotInHTML){appendComment(this,Wt);return}switch(this.insertionMode){case Gn.INITIAL:case Gn.BEFORE_HTML:case Gn.BEFORE_HEAD:case Gn.IN_HEAD:case Gn.IN_HEAD_NO_SCRIPT:case Gn.AFTER_HEAD:case Gn.IN_BODY:case Gn.IN_TABLE:case Gn.IN_CAPTION:case Gn.IN_COLUMN_GROUP:case Gn.IN_TABLE_BODY:case Gn.IN_ROW:case Gn.IN_CELL:case Gn.IN_SELECT:case Gn.IN_SELECT_IN_TABLE:case Gn.IN_TEMPLATE:case Gn.IN_FRAMESET:case Gn.AFTER_FRAMESET:{appendComment(this,Wt);break}case Gn.IN_TABLE_TEXT:{tokenInTableText(this,Wt);break}case Gn.AFTER_BODY:{appendCommentToRootHtmlElement(this,Wt);break}case Gn.AFTER_AFTER_BODY:case Gn.AFTER_AFTER_FRAMESET:{appendCommentToDocument(this,Wt);break}default:}}onDoctype(Wt){this.skipNextNewLine=false;switch(this.insertionMode){case Gn.INITIAL:{doctypeInInitialMode(this,Wt);break}case Gn.BEFORE_HEAD:case Gn.IN_HEAD:case Gn.IN_HEAD_NO_SCRIPT:case Gn.AFTER_HEAD:{this._err(Wt,on.ERR.misplacedDoctype);break}case Gn.IN_TABLE_TEXT:{tokenInTableText(this,Wt);break}default:}}onStartTag(Wt){this.skipNextNewLine=false;this.currentToken=Wt;this._processStartTag(Wt);if(Wt.selfClosing&&!Wt.ackSelfClosing){this._err(Wt,on.ERR.nonVoidHtmlElementStartTagWithTrailingSolidus)}}_processStartTag(Wt){if(this.shouldProcessStartTagTokenInForeignContent(Wt)){startTagInForeignContent(this,Wt)}else{this._startTagOutsideForeignContent(Wt)}}_startTagOutsideForeignContent(Wt){switch(this.insertionMode){case Gn.INITIAL:{tokenInInitialMode(this,Wt);break}case Gn.BEFORE_HTML:{startTagBeforeHtml(this,Wt);break}case Gn.BEFORE_HEAD:{startTagBeforeHead(this,Wt);break}case Gn.IN_HEAD:{startTagInHead(this,Wt);break}case Gn.IN_HEAD_NO_SCRIPT:{startTagInHeadNoScript(this,Wt);break}case Gn.AFTER_HEAD:{startTagAfterHead(this,Wt);break}case Gn.IN_BODY:{startTagInBody(this,Wt);break}case Gn.IN_TABLE:{startTagInTable(this,Wt);break}case Gn.IN_TABLE_TEXT:{tokenInTableText(this,Wt);break}case Gn.IN_CAPTION:{startTagInCaption(this,Wt);break}case Gn.IN_COLUMN_GROUP:{startTagInColumnGroup(this,Wt);break}case Gn.IN_TABLE_BODY:{startTagInTableBody(this,Wt);break}case Gn.IN_ROW:{startTagInRow(this,Wt);break}case Gn.IN_CELL:{startTagInCell(this,Wt);break}case Gn.IN_SELECT:{startTagInSelect(this,Wt);break}case Gn.IN_SELECT_IN_TABLE:{startTagInSelectInTable(this,Wt);break}case Gn.IN_TEMPLATE:{startTagInTemplate(this,Wt);break}case Gn.AFTER_BODY:{startTagAfterBody(this,Wt);break}case Gn.IN_FRAMESET:{startTagInFrameset(this,Wt);break}case Gn.AFTER_FRAMESET:{startTagAfterFrameset(this,Wt);break}case Gn.AFTER_AFTER_BODY:{startTagAfterAfterBody(this,Wt);break}case Gn.AFTER_AFTER_FRAMESET:{startTagAfterAfterFrameset(this,Wt);break}default:}}onEndTag(Wt){this.skipNextNewLine=false;this.currentToken=Wt;if(this.currentNotInHTML){endTagInForeignContent(this,Wt)}else{this._endTagOutsideForeignContent(Wt)}}_endTagOutsideForeignContent(Wt){switch(this.insertionMode){case Gn.INITIAL:{tokenInInitialMode(this,Wt);break}case Gn.BEFORE_HTML:{endTagBeforeHtml(this,Wt);break}case Gn.BEFORE_HEAD:{endTagBeforeHead(this,Wt);break}case Gn.IN_HEAD:{endTagInHead(this,Wt);break}case Gn.IN_HEAD_NO_SCRIPT:{endTagInHeadNoScript(this,Wt);break}case Gn.AFTER_HEAD:{endTagAfterHead(this,Wt);break}case Gn.IN_BODY:{endTagInBody(this,Wt);break}case Gn.TEXT:{endTagInText(this,Wt);break}case Gn.IN_TABLE:{endTagInTable(this,Wt);break}case Gn.IN_TABLE_TEXT:{tokenInTableText(this,Wt);break}case Gn.IN_CAPTION:{endTagInCaption(this,Wt);break}case Gn.IN_COLUMN_GROUP:{endTagInColumnGroup(this,Wt);break}case Gn.IN_TABLE_BODY:{endTagInTableBody(this,Wt);break}case Gn.IN_ROW:{endTagInRow(this,Wt);break}case Gn.IN_CELL:{endTagInCell(this,Wt);break}case Gn.IN_SELECT:{endTagInSelect(this,Wt);break}case Gn.IN_SELECT_IN_TABLE:{endTagInSelectInTable(this,Wt);break}case Gn.IN_TEMPLATE:{endTagInTemplate(this,Wt);break}case Gn.AFTER_BODY:{endTagAfterBody(this,Wt);break}case Gn.IN_FRAMESET:{endTagInFrameset(this,Wt);break}case Gn.AFTER_FRAMESET:{endTagAfterFrameset(this,Wt);break}case Gn.AFTER_AFTER_BODY:{tokenAfterAfterBody(this,Wt);break}default:}}onEof(Wt){switch(this.insertionMode){case Gn.INITIAL:{tokenInInitialMode(this,Wt);break}case Gn.BEFORE_HTML:{tokenBeforeHtml(this,Wt);break}case Gn.BEFORE_HEAD:{tokenBeforeHead(this,Wt);break}case Gn.IN_HEAD:{tokenInHead(this,Wt);break}case Gn.IN_HEAD_NO_SCRIPT:{tokenInHeadNoScript(this,Wt);break}case Gn.AFTER_HEAD:{tokenAfterHead(this,Wt);break}case Gn.IN_BODY:case Gn.IN_TABLE:case Gn.IN_CAPTION:case Gn.IN_COLUMN_GROUP:case Gn.IN_TABLE_BODY:case Gn.IN_ROW:case Gn.IN_CELL:case Gn.IN_SELECT:case Gn.IN_SELECT_IN_TABLE:{eofInBody(this,Wt);break}case Gn.TEXT:{eofInText(this,Wt);break}case Gn.IN_TABLE_TEXT:{tokenInTableText(this,Wt);break}case Gn.IN_TEMPLATE:{eofInTemplate(this,Wt);break}case Gn.AFTER_BODY:case Gn.IN_FRAMESET:case Gn.AFTER_FRAMESET:case Gn.AFTER_AFTER_BODY:case Gn.AFTER_AFTER_FRAMESET:{stopParsing(this,Wt);break}default:}}onWhitespaceCharacter(Wt){if(this.skipNextNewLine){this.skipNextNewLine=false;if(Wt.chars.charCodeAt(0)===cn.CODE_POINTS.LINE_FEED){if(Wt.chars.length===1){return}Wt.chars=Wt.chars.substr(1)}}if(this.tokenizer.inForeignNode){this._insertCharacters(Wt);return}switch(this.insertionMode){case Gn.IN_HEAD:case Gn.IN_HEAD_NO_SCRIPT:case Gn.AFTER_HEAD:case Gn.TEXT:case Gn.IN_COLUMN_GROUP:case Gn.IN_SELECT:case Gn.IN_SELECT_IN_TABLE:case Gn.IN_FRAMESET:case Gn.AFTER_FRAMESET:{this._insertCharacters(Wt);break}case Gn.IN_BODY:case Gn.IN_CAPTION:case Gn.IN_CELL:case Gn.IN_TEMPLATE:case Gn.AFTER_BODY:case Gn.AFTER_AFTER_BODY:case Gn.AFTER_AFTER_FRAMESET:{whitespaceCharacterInBody(this,Wt);break}case Gn.IN_TABLE:case Gn.IN_TABLE_BODY:case Gn.IN_ROW:{characterInTable(this,Wt);break}case Gn.IN_TABLE_TEXT:{whitespaceCharacterInTableText(this,Wt);break}default:}}}Pt.Parser=Parser;function aaObtainFormattingElementEntry(Wt,Pt){let en=Wt.activeFormattingElements.getElementEntryInScopeWithTagName(Pt.tagName);if(en){if(!Wt.openElements.contains(en.element)){Wt.activeFormattingElements.removeEntry(en);en=null}else if(!Wt.openElements.hasInScope(Pt.tagID)){en=null}}else{genericEndTagInBody(Wt,Pt)}return en}function aaObtainFurthestBlock(Wt,Pt){let en=null;let tn=Wt.openElements.stackTop;for(;tn>=0;tn--){const nn=Wt.openElements.items[tn];if(nn===Pt.element){break}if(Wt._isSpecialElement(nn,Wt.openElements.tagIDs[tn])){en=nn}}if(!en){Wt.openElements.shortenToLength(tn<0?0:tn);Wt.activeFormattingElements.removeEntry(Pt)}return en}function aaInnerLoop(Wt,Pt,en){let tn=Pt;let nn=Wt.openElements.getCommonAncestor(Pt);for(let an=0,In=nn;In!==en;an++,In=nn){nn=Wt.openElements.getCommonAncestor(In);const en=Wt.activeFormattingElements.getElementEntry(In);const rn=en&&an>=bn;const sn=!en||rn;if(sn){if(rn){Wt.activeFormattingElements.removeEntry(en)}Wt.openElements.remove(In)}else{In=aaRecreateElementFromEntry(Wt,en);if(tn===Pt){Wt.activeFormattingElements.bookmark=en}Wt.treeAdapter.detachNode(tn);Wt.treeAdapter.appendChild(In,tn);tn=In}}return tn}function aaRecreateElementFromEntry(Wt,Pt){const en=Wt.treeAdapter.getNamespaceURI(Pt.element);const tn=Wt.treeAdapter.createElement(Pt.token.tagName,en,Pt.token.attrs);Wt.openElements.replace(Pt.element,tn);Pt.element=tn;return tn}function aaInsertLastNodeInCommonAncestor(Wt,Pt,en){const tn=Wt.treeAdapter.getTagName(Pt);const nn=(0,dn.getTagID)(tn);if(Wt._isElementCausesFosterParenting(nn)){Wt._fosterParentElement(en)}else{const tn=Wt.treeAdapter.getNamespaceURI(Pt);if(nn===dn.TAG_ID.TEMPLATE&&tn===dn.NS.HTML){Pt=Wt.treeAdapter.getTemplateContent(Pt)}Wt.treeAdapter.appendChild(Pt,en)}}function aaReplaceFormattingElement(Wt,Pt,en){const tn=Wt.treeAdapter.getNamespaceURI(en.element);const{token:nn}=en;const an=Wt.treeAdapter.createElement(nn.tagName,tn,nn.attrs);Wt._adoptNodes(Pt,an);Wt.treeAdapter.appendChild(Pt,an);Wt.activeFormattingElements.insertElementAfterBookmark(an,nn);Wt.activeFormattingElements.removeEntry(en);Wt.openElements.remove(en.element);Wt.openElements.insertAfter(Pt,an,nn.tagID)}function callAdoptionAgency(Wt,Pt){for(let en=0;en=en;tn--){Wt._setEndLocation(Wt.openElements.items[tn],Pt)}if(!Wt.fragmentContext&&Wt.openElements.stackTop>=0){const en=Wt.openElements.items[0];const tn=Wt.treeAdapter.getNodeSourceCodeLocation(en);if(tn&&!tn.endTag){Wt._setEndLocation(en,Pt);if(Wt.openElements.stackTop>=1){const en=Wt.openElements.items[1];const tn=Wt.treeAdapter.getNodeSourceCodeLocation(en);if(tn&&!tn.endTag){Wt._setEndLocation(en,Pt)}}}}}}function doctypeInInitialMode(Wt,Pt){Wt._setDocumentType(Pt);const en=Pt.forceQuirks?dn.DOCUMENT_MODE.QUIRKS:rn.getDocumentMode(Pt);if(!rn.isConforming(Pt)){Wt._err(Pt,on.ERR.nonConformingDoctype)}Wt.treeAdapter.setDocumentMode(Wt.document,en);Wt.insertionMode=Gn.BEFORE_HTML}function tokenInInitialMode(Wt,Pt){Wt._err(Pt,on.ERR.missingDoctype,true);Wt.treeAdapter.setDocumentMode(Wt.document,dn.DOCUMENT_MODE.QUIRKS);Wt.insertionMode=Gn.BEFORE_HTML;Wt._processToken(Pt)}function startTagBeforeHtml(Wt,Pt){if(Pt.tagID===dn.TAG_ID.HTML){Wt._insertElement(Pt,dn.NS.HTML);Wt.insertionMode=Gn.BEFORE_HEAD}else{tokenBeforeHtml(Wt,Pt)}}function endTagBeforeHtml(Wt,Pt){const en=Pt.tagID;if(en===dn.TAG_ID.HTML||en===dn.TAG_ID.HEAD||en===dn.TAG_ID.BODY||en===dn.TAG_ID.BR){tokenBeforeHtml(Wt,Pt)}}function tokenBeforeHtml(Wt,Pt){Wt._insertFakeRootElement();Wt.insertionMode=Gn.BEFORE_HEAD;Wt._processToken(Pt)}function startTagBeforeHead(Wt,Pt){switch(Pt.tagID){case dn.TAG_ID.HTML:{startTagInBody(Wt,Pt);break}case dn.TAG_ID.HEAD:{Wt._insertElement(Pt,dn.NS.HTML);Wt.headElement=Wt.openElements.current;Wt.insertionMode=Gn.IN_HEAD;break}default:{tokenBeforeHead(Wt,Pt)}}}function endTagBeforeHead(Wt,Pt){const en=Pt.tagID;if(en===dn.TAG_ID.HEAD||en===dn.TAG_ID.BODY||en===dn.TAG_ID.HTML||en===dn.TAG_ID.BR){tokenBeforeHead(Wt,Pt)}else{Wt._err(Pt,on.ERR.endTagWithoutMatchingOpenElement)}}function tokenBeforeHead(Wt,Pt){Wt._insertFakeElement(dn.TAG_NAMES.HEAD,dn.TAG_ID.HEAD);Wt.headElement=Wt.openElements.current;Wt.insertionMode=Gn.IN_HEAD;Wt._processToken(Pt)}function startTagInHead(Wt,Pt){switch(Pt.tagID){case dn.TAG_ID.HTML:{startTagInBody(Wt,Pt);break}case dn.TAG_ID.BASE:case dn.TAG_ID.BASEFONT:case dn.TAG_ID.BGSOUND:case dn.TAG_ID.LINK:case dn.TAG_ID.META:{Wt._appendElement(Pt,dn.NS.HTML);Pt.ackSelfClosing=true;break}case dn.TAG_ID.TITLE:{Wt._switchToTextParsing(Pt,tn.TokenizerMode.RCDATA);break}case dn.TAG_ID.NOSCRIPT:{if(Wt.options.scriptingEnabled){Wt._switchToTextParsing(Pt,tn.TokenizerMode.RAWTEXT)}else{Wt._insertElement(Pt,dn.NS.HTML);Wt.insertionMode=Gn.IN_HEAD_NO_SCRIPT}break}case dn.TAG_ID.NOFRAMES:case dn.TAG_ID.STYLE:{Wt._switchToTextParsing(Pt,tn.TokenizerMode.RAWTEXT);break}case dn.TAG_ID.SCRIPT:{Wt._switchToTextParsing(Pt,tn.TokenizerMode.SCRIPT_DATA);break}case dn.TAG_ID.TEMPLATE:{Wt._insertTemplate(Pt);Wt.activeFormattingElements.insertMarker();Wt.framesetOk=false;Wt.insertionMode=Gn.IN_TEMPLATE;Wt.tmplInsertionModeStack.unshift(Gn.IN_TEMPLATE);break}case dn.TAG_ID.HEAD:{Wt._err(Pt,on.ERR.misplacedStartTagForHeadElement);break}default:{tokenInHead(Wt,Pt)}}}function endTagInHead(Wt,Pt){switch(Pt.tagID){case dn.TAG_ID.HEAD:{Wt.openElements.pop();Wt.insertionMode=Gn.AFTER_HEAD;break}case dn.TAG_ID.BODY:case dn.TAG_ID.BR:case dn.TAG_ID.HTML:{tokenInHead(Wt,Pt);break}case dn.TAG_ID.TEMPLATE:{templateEndTagInHead(Wt,Pt);break}default:{Wt._err(Pt,on.ERR.endTagWithoutMatchingOpenElement)}}}function templateEndTagInHead(Wt,Pt){if(Wt.openElements.tmplCount>0){Wt.openElements.generateImpliedEndTagsThoroughly();if(Wt.openElements.currentTagId!==dn.TAG_ID.TEMPLATE){Wt._err(Pt,on.ERR.closingOfElementWithOpenChildElements)}Wt.openElements.popUntilTagNamePopped(dn.TAG_ID.TEMPLATE);Wt.activeFormattingElements.clearToLastMarker();Wt.tmplInsertionModeStack.shift();Wt._resetInsertionMode()}else{Wt._err(Pt,on.ERR.endTagWithoutMatchingOpenElement)}}function tokenInHead(Wt,Pt){Wt.openElements.pop();Wt.insertionMode=Gn.AFTER_HEAD;Wt._processToken(Pt)}function startTagInHeadNoScript(Wt,Pt){switch(Pt.tagID){case dn.TAG_ID.HTML:{startTagInBody(Wt,Pt);break}case dn.TAG_ID.BASEFONT:case dn.TAG_ID.BGSOUND:case dn.TAG_ID.HEAD:case dn.TAG_ID.LINK:case dn.TAG_ID.META:case dn.TAG_ID.NOFRAMES:case dn.TAG_ID.STYLE:{startTagInHead(Wt,Pt);break}case dn.TAG_ID.NOSCRIPT:{Wt._err(Pt,on.ERR.nestedNoscriptInHead);break}default:{tokenInHeadNoScript(Wt,Pt)}}}function endTagInHeadNoScript(Wt,Pt){switch(Pt.tagID){case dn.TAG_ID.NOSCRIPT:{Wt.openElements.pop();Wt.insertionMode=Gn.IN_HEAD;break}case dn.TAG_ID.BR:{tokenInHeadNoScript(Wt,Pt);break}default:{Wt._err(Pt,on.ERR.endTagWithoutMatchingOpenElement)}}}function tokenInHeadNoScript(Wt,Pt){const en=Pt.type===un.TokenType.EOF?on.ERR.openElementsLeftAfterEof:on.ERR.disallowedContentInNoscriptInHead;Wt._err(Pt,en);Wt.openElements.pop();Wt.insertionMode=Gn.IN_HEAD;Wt._processToken(Pt)}function startTagAfterHead(Wt,Pt){switch(Pt.tagID){case dn.TAG_ID.HTML:{startTagInBody(Wt,Pt);break}case dn.TAG_ID.BODY:{Wt._insertElement(Pt,dn.NS.HTML);Wt.framesetOk=false;Wt.insertionMode=Gn.IN_BODY;break}case dn.TAG_ID.FRAMESET:{Wt._insertElement(Pt,dn.NS.HTML);Wt.insertionMode=Gn.IN_FRAMESET;break}case dn.TAG_ID.BASE:case dn.TAG_ID.BASEFONT:case dn.TAG_ID.BGSOUND:case dn.TAG_ID.LINK:case dn.TAG_ID.META:case dn.TAG_ID.NOFRAMES:case dn.TAG_ID.SCRIPT:case dn.TAG_ID.STYLE:case dn.TAG_ID.TEMPLATE:case dn.TAG_ID.TITLE:{Wt._err(Pt,on.ERR.abandonedHeadElementChild);Wt.openElements.push(Wt.headElement,dn.TAG_ID.HEAD);startTagInHead(Wt,Pt);Wt.openElements.remove(Wt.headElement);break}case dn.TAG_ID.HEAD:{Wt._err(Pt,on.ERR.misplacedStartTagForHeadElement);break}default:{tokenAfterHead(Wt,Pt)}}}function endTagAfterHead(Wt,Pt){switch(Pt.tagID){case dn.TAG_ID.BODY:case dn.TAG_ID.HTML:case dn.TAG_ID.BR:{tokenAfterHead(Wt,Pt);break}case dn.TAG_ID.TEMPLATE:{templateEndTagInHead(Wt,Pt);break}default:{Wt._err(Pt,on.ERR.endTagWithoutMatchingOpenElement)}}}function tokenAfterHead(Wt,Pt){Wt._insertFakeElement(dn.TAG_NAMES.BODY,dn.TAG_ID.BODY);Wt.insertionMode=Gn.IN_BODY;modeInBody(Wt,Pt)}function modeInBody(Wt,Pt){switch(Pt.type){case un.TokenType.CHARACTER:{characterInBody(Wt,Pt);break}case un.TokenType.WHITESPACE_CHARACTER:{whitespaceCharacterInBody(Wt,Pt);break}case un.TokenType.COMMENT:{appendComment(Wt,Pt);break}case un.TokenType.START_TAG:{startTagInBody(Wt,Pt);break}case un.TokenType.END_TAG:{endTagInBody(Wt,Pt);break}case un.TokenType.EOF:{eofInBody(Wt,Pt);break}default:}}function whitespaceCharacterInBody(Wt,Pt){Wt._reconstructActiveFormattingElements();Wt._insertCharacters(Pt)}function characterInBody(Wt,Pt){Wt._reconstructActiveFormattingElements();Wt._insertCharacters(Pt);Wt.framesetOk=false}function htmlStartTagInBody(Wt,Pt){if(Wt.openElements.tmplCount===0){Wt.treeAdapter.adoptAttributes(Wt.openElements.items[0],Pt.attrs)}}function bodyStartTagInBody(Wt,Pt){const en=Wt.openElements.tryPeekProperlyNestedBodyElement();if(en&&Wt.openElements.tmplCount===0){Wt.framesetOk=false;Wt.treeAdapter.adoptAttributes(en,Pt.attrs)}}function framesetStartTagInBody(Wt,Pt){const en=Wt.openElements.tryPeekProperlyNestedBodyElement();if(Wt.framesetOk&&en){Wt.treeAdapter.detachNode(en);Wt.openElements.popAllUpToHtmlElement();Wt._insertElement(Pt,dn.NS.HTML);Wt.insertionMode=Gn.IN_FRAMESET}}function addressStartTagInBody(Wt,Pt){if(Wt.openElements.hasInButtonScope(dn.TAG_ID.P)){Wt._closePElement()}Wt._insertElement(Pt,dn.NS.HTML)}function numberedHeaderStartTagInBody(Wt,Pt){if(Wt.openElements.hasInButtonScope(dn.TAG_ID.P)){Wt._closePElement()}if(dn.NUMBERED_HEADERS.has(Wt.openElements.currentTagId)){Wt.openElements.pop()}Wt._insertElement(Pt,dn.NS.HTML)}function preStartTagInBody(Wt,Pt){if(Wt.openElements.hasInButtonScope(dn.TAG_ID.P)){Wt._closePElement()}Wt._insertElement(Pt,dn.NS.HTML);Wt.skipNextNewLine=true;Wt.framesetOk=false}function formStartTagInBody(Wt,Pt){const en=Wt.openElements.tmplCount>0;if(!Wt.formElement||en){if(Wt.openElements.hasInButtonScope(dn.TAG_ID.P)){Wt._closePElement()}Wt._insertElement(Pt,dn.NS.HTML);if(!en){Wt.formElement=Wt.openElements.current}}}function listItemStartTagInBody(Wt,Pt){Wt.framesetOk=false;const en=Pt.tagID;for(let Pt=Wt.openElements.stackTop;Pt>=0;Pt--){const tn=Wt.openElements.tagIDs[Pt];if(en===dn.TAG_ID.LI&&tn===dn.TAG_ID.LI||(en===dn.TAG_ID.DD||en===dn.TAG_ID.DT)&&(tn===dn.TAG_ID.DD||tn===dn.TAG_ID.DT)){Wt.openElements.generateImpliedEndTagsWithExclusion(tn);Wt.openElements.popUntilTagNamePopped(tn);break}if(tn!==dn.TAG_ID.ADDRESS&&tn!==dn.TAG_ID.DIV&&tn!==dn.TAG_ID.P&&Wt._isSpecialElement(Wt.openElements.items[Pt],tn)){break}}if(Wt.openElements.hasInButtonScope(dn.TAG_ID.P)){Wt._closePElement()}Wt._insertElement(Pt,dn.NS.HTML)}function plaintextStartTagInBody(Wt,Pt){if(Wt.openElements.hasInButtonScope(dn.TAG_ID.P)){Wt._closePElement()}Wt._insertElement(Pt,dn.NS.HTML);Wt.tokenizer.state=tn.TokenizerMode.PLAINTEXT}function buttonStartTagInBody(Wt,Pt){if(Wt.openElements.hasInScope(dn.TAG_ID.BUTTON)){Wt.openElements.generateImpliedEndTags();Wt.openElements.popUntilTagNamePopped(dn.TAG_ID.BUTTON)}Wt._reconstructActiveFormattingElements();Wt._insertElement(Pt,dn.NS.HTML);Wt.framesetOk=false}function aStartTagInBody(Wt,Pt){const en=Wt.activeFormattingElements.getElementEntryInScopeWithTagName(dn.TAG_NAMES.A);if(en){callAdoptionAgency(Wt,Pt);Wt.openElements.remove(en.element);Wt.activeFormattingElements.removeEntry(en)}Wt._reconstructActiveFormattingElements();Wt._insertElement(Pt,dn.NS.HTML);Wt.activeFormattingElements.pushElement(Wt.openElements.current,Pt)}function bStartTagInBody(Wt,Pt){Wt._reconstructActiveFormattingElements();Wt._insertElement(Pt,dn.NS.HTML);Wt.activeFormattingElements.pushElement(Wt.openElements.current,Pt)}function nobrStartTagInBody(Wt,Pt){Wt._reconstructActiveFormattingElements();if(Wt.openElements.hasInScope(dn.TAG_ID.NOBR)){callAdoptionAgency(Wt,Pt);Wt._reconstructActiveFormattingElements()}Wt._insertElement(Pt,dn.NS.HTML);Wt.activeFormattingElements.pushElement(Wt.openElements.current,Pt)}function appletStartTagInBody(Wt,Pt){Wt._reconstructActiveFormattingElements();Wt._insertElement(Pt,dn.NS.HTML);Wt.activeFormattingElements.insertMarker();Wt.framesetOk=false}function tableStartTagInBody(Wt,Pt){if(Wt.treeAdapter.getDocumentMode(Wt.document)!==dn.DOCUMENT_MODE.QUIRKS&&Wt.openElements.hasInButtonScope(dn.TAG_ID.P)){Wt._closePElement()}Wt._insertElement(Pt,dn.NS.HTML);Wt.framesetOk=false;Wt.insertionMode=Gn.IN_TABLE}function areaStartTagInBody(Wt,Pt){Wt._reconstructActiveFormattingElements();Wt._appendElement(Pt,dn.NS.HTML);Wt.framesetOk=false;Pt.ackSelfClosing=true}function isHiddenInput(Wt){const Pt=(0,un.getTokenAttr)(Wt,dn.ATTRS.TYPE);return Pt!=null&&Pt.toLowerCase()===pn}function inputStartTagInBody(Wt,Pt){Wt._reconstructActiveFormattingElements();Wt._appendElement(Pt,dn.NS.HTML);if(!isHiddenInput(Pt)){Wt.framesetOk=false}Pt.ackSelfClosing=true}function paramStartTagInBody(Wt,Pt){Wt._appendElement(Pt,dn.NS.HTML);Pt.ackSelfClosing=true}function hrStartTagInBody(Wt,Pt){if(Wt.openElements.hasInButtonScope(dn.TAG_ID.P)){Wt._closePElement()}Wt._appendElement(Pt,dn.NS.HTML);Wt.framesetOk=false;Pt.ackSelfClosing=true}function imageStartTagInBody(Wt,Pt){Pt.tagName=dn.TAG_NAMES.IMG;Pt.tagID=dn.TAG_ID.IMG;areaStartTagInBody(Wt,Pt)}function textareaStartTagInBody(Wt,Pt){Wt._insertElement(Pt,dn.NS.HTML);Wt.skipNextNewLine=true;Wt.tokenizer.state=tn.TokenizerMode.RCDATA;Wt.originalInsertionMode=Wt.insertionMode;Wt.framesetOk=false;Wt.insertionMode=Gn.TEXT}function xmpStartTagInBody(Wt,Pt){if(Wt.openElements.hasInButtonScope(dn.TAG_ID.P)){Wt._closePElement()}Wt._reconstructActiveFormattingElements();Wt.framesetOk=false;Wt._switchToTextParsing(Pt,tn.TokenizerMode.RAWTEXT)}function iframeStartTagInBody(Wt,Pt){Wt.framesetOk=false;Wt._switchToTextParsing(Pt,tn.TokenizerMode.RAWTEXT)}function rawTextStartTagInBody(Wt,Pt){Wt._switchToTextParsing(Pt,tn.TokenizerMode.RAWTEXT)}function selectStartTagInBody(Wt,Pt){Wt._reconstructActiveFormattingElements();Wt._insertElement(Pt,dn.NS.HTML);Wt.framesetOk=false;Wt.insertionMode=Wt.insertionMode===Gn.IN_TABLE||Wt.insertionMode===Gn.IN_CAPTION||Wt.insertionMode===Gn.IN_TABLE_BODY||Wt.insertionMode===Gn.IN_ROW||Wt.insertionMode===Gn.IN_CELL?Gn.IN_SELECT_IN_TABLE:Gn.IN_SELECT}function optgroupStartTagInBody(Wt,Pt){if(Wt.openElements.currentTagId===dn.TAG_ID.OPTION){Wt.openElements.pop()}Wt._reconstructActiveFormattingElements();Wt._insertElement(Pt,dn.NS.HTML)}function rbStartTagInBody(Wt,Pt){if(Wt.openElements.hasInScope(dn.TAG_ID.RUBY)){Wt.openElements.generateImpliedEndTags()}Wt._insertElement(Pt,dn.NS.HTML)}function rtStartTagInBody(Wt,Pt){if(Wt.openElements.hasInScope(dn.TAG_ID.RUBY)){Wt.openElements.generateImpliedEndTagsWithExclusion(dn.TAG_ID.RTC)}Wt._insertElement(Pt,dn.NS.HTML)}function mathStartTagInBody(Wt,Pt){Wt._reconstructActiveFormattingElements();sn.adjustTokenMathMLAttrs(Pt);sn.adjustTokenXMLAttrs(Pt);if(Pt.selfClosing){Wt._appendElement(Pt,dn.NS.MATHML)}else{Wt._insertElement(Pt,dn.NS.MATHML)}Pt.ackSelfClosing=true}function svgStartTagInBody(Wt,Pt){Wt._reconstructActiveFormattingElements();sn.adjustTokenSVGAttrs(Pt);sn.adjustTokenXMLAttrs(Pt);if(Pt.selfClosing){Wt._appendElement(Pt,dn.NS.SVG)}else{Wt._insertElement(Pt,dn.NS.SVG)}Pt.ackSelfClosing=true}function genericStartTagInBody(Wt,Pt){Wt._reconstructActiveFormattingElements();Wt._insertElement(Pt,dn.NS.HTML)}function startTagInBody(Wt,Pt){switch(Pt.tagID){case dn.TAG_ID.I:case dn.TAG_ID.S:case dn.TAG_ID.B:case dn.TAG_ID.U:case dn.TAG_ID.EM:case dn.TAG_ID.TT:case dn.TAG_ID.BIG:case dn.TAG_ID.CODE:case dn.TAG_ID.FONT:case dn.TAG_ID.SMALL:case dn.TAG_ID.STRIKE:case dn.TAG_ID.STRONG:{bStartTagInBody(Wt,Pt);break}case dn.TAG_ID.A:{aStartTagInBody(Wt,Pt);break}case dn.TAG_ID.H1:case dn.TAG_ID.H2:case dn.TAG_ID.H3:case dn.TAG_ID.H4:case dn.TAG_ID.H5:case dn.TAG_ID.H6:{numberedHeaderStartTagInBody(Wt,Pt);break}case dn.TAG_ID.P:case dn.TAG_ID.DL:case dn.TAG_ID.OL:case dn.TAG_ID.UL:case dn.TAG_ID.DIV:case dn.TAG_ID.DIR:case dn.TAG_ID.NAV:case dn.TAG_ID.MAIN:case dn.TAG_ID.MENU:case dn.TAG_ID.ASIDE:case dn.TAG_ID.CENTER:case dn.TAG_ID.FIGURE:case dn.TAG_ID.FOOTER:case dn.TAG_ID.HEADER:case dn.TAG_ID.HGROUP:case dn.TAG_ID.DIALOG:case dn.TAG_ID.DETAILS:case dn.TAG_ID.ADDRESS:case dn.TAG_ID.ARTICLE:case dn.TAG_ID.SEARCH:case dn.TAG_ID.SECTION:case dn.TAG_ID.SUMMARY:case dn.TAG_ID.FIELDSET:case dn.TAG_ID.BLOCKQUOTE:case dn.TAG_ID.FIGCAPTION:{addressStartTagInBody(Wt,Pt);break}case dn.TAG_ID.LI:case dn.TAG_ID.DD:case dn.TAG_ID.DT:{listItemStartTagInBody(Wt,Pt);break}case dn.TAG_ID.BR:case dn.TAG_ID.IMG:case dn.TAG_ID.WBR:case dn.TAG_ID.AREA:case dn.TAG_ID.EMBED:case dn.TAG_ID.KEYGEN:{areaStartTagInBody(Wt,Pt);break}case dn.TAG_ID.HR:{hrStartTagInBody(Wt,Pt);break}case dn.TAG_ID.RB:case dn.TAG_ID.RTC:{rbStartTagInBody(Wt,Pt);break}case dn.TAG_ID.RT:case dn.TAG_ID.RP:{rtStartTagInBody(Wt,Pt);break}case dn.TAG_ID.PRE:case dn.TAG_ID.LISTING:{preStartTagInBody(Wt,Pt);break}case dn.TAG_ID.XMP:{xmpStartTagInBody(Wt,Pt);break}case dn.TAG_ID.SVG:{svgStartTagInBody(Wt,Pt);break}case dn.TAG_ID.HTML:{htmlStartTagInBody(Wt,Pt);break}case dn.TAG_ID.BASE:case dn.TAG_ID.LINK:case dn.TAG_ID.META:case dn.TAG_ID.STYLE:case dn.TAG_ID.TITLE:case dn.TAG_ID.SCRIPT:case dn.TAG_ID.BGSOUND:case dn.TAG_ID.BASEFONT:case dn.TAG_ID.TEMPLATE:{startTagInHead(Wt,Pt);break}case dn.TAG_ID.BODY:{bodyStartTagInBody(Wt,Pt);break}case dn.TAG_ID.FORM:{formStartTagInBody(Wt,Pt);break}case dn.TAG_ID.NOBR:{nobrStartTagInBody(Wt,Pt);break}case dn.TAG_ID.MATH:{mathStartTagInBody(Wt,Pt);break}case dn.TAG_ID.TABLE:{tableStartTagInBody(Wt,Pt);break}case dn.TAG_ID.INPUT:{inputStartTagInBody(Wt,Pt);break}case dn.TAG_ID.PARAM:case dn.TAG_ID.TRACK:case dn.TAG_ID.SOURCE:{paramStartTagInBody(Wt,Pt);break}case dn.TAG_ID.IMAGE:{imageStartTagInBody(Wt,Pt);break}case dn.TAG_ID.BUTTON:{buttonStartTagInBody(Wt,Pt);break}case dn.TAG_ID.APPLET:case dn.TAG_ID.OBJECT:case dn.TAG_ID.MARQUEE:{appletStartTagInBody(Wt,Pt);break}case dn.TAG_ID.IFRAME:{iframeStartTagInBody(Wt,Pt);break}case dn.TAG_ID.SELECT:{selectStartTagInBody(Wt,Pt);break}case dn.TAG_ID.OPTION:case dn.TAG_ID.OPTGROUP:{optgroupStartTagInBody(Wt,Pt);break}case dn.TAG_ID.NOEMBED:case dn.TAG_ID.NOFRAMES:{rawTextStartTagInBody(Wt,Pt);break}case dn.TAG_ID.FRAMESET:{framesetStartTagInBody(Wt,Pt);break}case dn.TAG_ID.TEXTAREA:{textareaStartTagInBody(Wt,Pt);break}case dn.TAG_ID.NOSCRIPT:{if(Wt.options.scriptingEnabled){rawTextStartTagInBody(Wt,Pt)}else{genericStartTagInBody(Wt,Pt)}break}case dn.TAG_ID.PLAINTEXT:{plaintextStartTagInBody(Wt,Pt);break}case dn.TAG_ID.COL:case dn.TAG_ID.TH:case dn.TAG_ID.TD:case dn.TAG_ID.TR:case dn.TAG_ID.HEAD:case dn.TAG_ID.FRAME:case dn.TAG_ID.TBODY:case dn.TAG_ID.TFOOT:case dn.TAG_ID.THEAD:case dn.TAG_ID.CAPTION:case dn.TAG_ID.COLGROUP:{break}default:{genericStartTagInBody(Wt,Pt)}}}function bodyEndTagInBody(Wt,Pt){if(Wt.openElements.hasInScope(dn.TAG_ID.BODY)){Wt.insertionMode=Gn.AFTER_BODY;if(Wt.options.sourceCodeLocationInfo){const en=Wt.openElements.tryPeekProperlyNestedBodyElement();if(en){Wt._setEndLocation(en,Pt)}}}}function htmlEndTagInBody(Wt,Pt){if(Wt.openElements.hasInScope(dn.TAG_ID.BODY)){Wt.insertionMode=Gn.AFTER_BODY;endTagAfterBody(Wt,Pt)}}function addressEndTagInBody(Wt,Pt){const en=Pt.tagID;if(Wt.openElements.hasInScope(en)){Wt.openElements.generateImpliedEndTags();Wt.openElements.popUntilTagNamePopped(en)}}function formEndTagInBody(Wt){const Pt=Wt.openElements.tmplCount>0;const{formElement:en}=Wt;if(!Pt){Wt.formElement=null}if((en||Pt)&&Wt.openElements.hasInScope(dn.TAG_ID.FORM)){Wt.openElements.generateImpliedEndTags();if(Pt){Wt.openElements.popUntilTagNamePopped(dn.TAG_ID.FORM)}else if(en){Wt.openElements.remove(en)}}}function pEndTagInBody(Wt){if(!Wt.openElements.hasInButtonScope(dn.TAG_ID.P)){Wt._insertFakeElement(dn.TAG_NAMES.P,dn.TAG_ID.P)}Wt._closePElement()}function liEndTagInBody(Wt){if(Wt.openElements.hasInListItemScope(dn.TAG_ID.LI)){Wt.openElements.generateImpliedEndTagsWithExclusion(dn.TAG_ID.LI);Wt.openElements.popUntilTagNamePopped(dn.TAG_ID.LI)}}function ddEndTagInBody(Wt,Pt){const en=Pt.tagID;if(Wt.openElements.hasInScope(en)){Wt.openElements.generateImpliedEndTagsWithExclusion(en);Wt.openElements.popUntilTagNamePopped(en)}}function numberedHeaderEndTagInBody(Wt){if(Wt.openElements.hasNumberedHeaderInScope()){Wt.openElements.generateImpliedEndTags();Wt.openElements.popUntilNumberedHeaderPopped()}}function appletEndTagInBody(Wt,Pt){const en=Pt.tagID;if(Wt.openElements.hasInScope(en)){Wt.openElements.generateImpliedEndTags();Wt.openElements.popUntilTagNamePopped(en);Wt.activeFormattingElements.clearToLastMarker()}}function brEndTagInBody(Wt){Wt._reconstructActiveFormattingElements();Wt._insertFakeElement(dn.TAG_NAMES.BR,dn.TAG_ID.BR);Wt.openElements.pop();Wt.framesetOk=false}function genericEndTagInBody(Wt,Pt){const en=Pt.tagName;const tn=Pt.tagID;for(let Pt=Wt.openElements.stackTop;Pt>0;Pt--){const nn=Wt.openElements.items[Pt];const an=Wt.openElements.tagIDs[Pt];if(tn===an&&(tn!==dn.TAG_ID.UNKNOWN||Wt.treeAdapter.getTagName(nn)===en)){Wt.openElements.generateImpliedEndTagsWithExclusion(tn);if(Wt.openElements.stackTop>=Pt)Wt.openElements.shortenToLength(Pt);break}if(Wt._isSpecialElement(nn,an)){break}}}function endTagInBody(Wt,Pt){switch(Pt.tagID){case dn.TAG_ID.A:case dn.TAG_ID.B:case dn.TAG_ID.I:case dn.TAG_ID.S:case dn.TAG_ID.U:case dn.TAG_ID.EM:case dn.TAG_ID.TT:case dn.TAG_ID.BIG:case dn.TAG_ID.CODE:case dn.TAG_ID.FONT:case dn.TAG_ID.NOBR:case dn.TAG_ID.SMALL:case dn.TAG_ID.STRIKE:case dn.TAG_ID.STRONG:{callAdoptionAgency(Wt,Pt);break}case dn.TAG_ID.P:{pEndTagInBody(Wt);break}case dn.TAG_ID.DL:case dn.TAG_ID.UL:case dn.TAG_ID.OL:case dn.TAG_ID.DIR:case dn.TAG_ID.DIV:case dn.TAG_ID.NAV:case dn.TAG_ID.PRE:case dn.TAG_ID.MAIN:case dn.TAG_ID.MENU:case dn.TAG_ID.ASIDE:case dn.TAG_ID.BUTTON:case dn.TAG_ID.CENTER:case dn.TAG_ID.FIGURE:case dn.TAG_ID.FOOTER:case dn.TAG_ID.HEADER:case dn.TAG_ID.HGROUP:case dn.TAG_ID.DIALOG:case dn.TAG_ID.ADDRESS:case dn.TAG_ID.ARTICLE:case dn.TAG_ID.DETAILS:case dn.TAG_ID.SEARCH:case dn.TAG_ID.SECTION:case dn.TAG_ID.SUMMARY:case dn.TAG_ID.LISTING:case dn.TAG_ID.FIELDSET:case dn.TAG_ID.BLOCKQUOTE:case dn.TAG_ID.FIGCAPTION:{addressEndTagInBody(Wt,Pt);break}case dn.TAG_ID.LI:{liEndTagInBody(Wt);break}case dn.TAG_ID.DD:case dn.TAG_ID.DT:{ddEndTagInBody(Wt,Pt);break}case dn.TAG_ID.H1:case dn.TAG_ID.H2:case dn.TAG_ID.H3:case dn.TAG_ID.H4:case dn.TAG_ID.H5:case dn.TAG_ID.H6:{numberedHeaderEndTagInBody(Wt);break}case dn.TAG_ID.BR:{brEndTagInBody(Wt);break}case dn.TAG_ID.BODY:{bodyEndTagInBody(Wt,Pt);break}case dn.TAG_ID.HTML:{htmlEndTagInBody(Wt,Pt);break}case dn.TAG_ID.FORM:{formEndTagInBody(Wt);break}case dn.TAG_ID.APPLET:case dn.TAG_ID.OBJECT:case dn.TAG_ID.MARQUEE:{appletEndTagInBody(Wt,Pt);break}case dn.TAG_ID.TEMPLATE:{templateEndTagInHead(Wt,Pt);break}default:{genericEndTagInBody(Wt,Pt)}}}function eofInBody(Wt,Pt){if(Wt.tmplInsertionModeStack.length>0){eofInTemplate(Wt,Pt)}else{stopParsing(Wt,Pt)}}function endTagInText(Wt,Pt){var en;if(Pt.tagID===dn.TAG_ID.SCRIPT){(en=Wt.scriptHandler)===null||en===void 0?void 0:en.call(Wt,Wt.openElements.current)}Wt.openElements.pop();Wt.insertionMode=Wt.originalInsertionMode}function eofInText(Wt,Pt){Wt._err(Pt,on.ERR.eofInElementThatCanContainOnlyText);Wt.openElements.pop();Wt.insertionMode=Wt.originalInsertionMode;Wt.onEof(Pt)}function characterInTable(Wt,Pt){if(Zn.has(Wt.openElements.currentTagId)){Wt.pendingCharacterTokens.length=0;Wt.hasNonWhitespacePendingCharacterToken=false;Wt.originalInsertionMode=Wt.insertionMode;Wt.insertionMode=Gn.IN_TABLE_TEXT;switch(Pt.type){case un.TokenType.CHARACTER:{characterInTableText(Wt,Pt);break}case un.TokenType.WHITESPACE_CHARACTER:{whitespaceCharacterInTableText(Wt,Pt);break}}}else{tokenInTable(Wt,Pt)}}function captionStartTagInTable(Wt,Pt){Wt.openElements.clearBackToTableContext();Wt.activeFormattingElements.insertMarker();Wt._insertElement(Pt,dn.NS.HTML);Wt.insertionMode=Gn.IN_CAPTION}function colgroupStartTagInTable(Wt,Pt){Wt.openElements.clearBackToTableContext();Wt._insertElement(Pt,dn.NS.HTML);Wt.insertionMode=Gn.IN_COLUMN_GROUP}function colStartTagInTable(Wt,Pt){Wt.openElements.clearBackToTableContext();Wt._insertFakeElement(dn.TAG_NAMES.COLGROUP,dn.TAG_ID.COLGROUP);Wt.insertionMode=Gn.IN_COLUMN_GROUP;startTagInColumnGroup(Wt,Pt)}function tbodyStartTagInTable(Wt,Pt){Wt.openElements.clearBackToTableContext();Wt._insertElement(Pt,dn.NS.HTML);Wt.insertionMode=Gn.IN_TABLE_BODY}function tdStartTagInTable(Wt,Pt){Wt.openElements.clearBackToTableContext();Wt._insertFakeElement(dn.TAG_NAMES.TBODY,dn.TAG_ID.TBODY);Wt.insertionMode=Gn.IN_TABLE_BODY;startTagInTableBody(Wt,Pt)}function tableStartTagInTable(Wt,Pt){if(Wt.openElements.hasInTableScope(dn.TAG_ID.TABLE)){Wt.openElements.popUntilTagNamePopped(dn.TAG_ID.TABLE);Wt._resetInsertionMode();Wt._processStartTag(Pt)}}function inputStartTagInTable(Wt,Pt){if(isHiddenInput(Pt)){Wt._appendElement(Pt,dn.NS.HTML)}else{tokenInTable(Wt,Pt)}Pt.ackSelfClosing=true}function formStartTagInTable(Wt,Pt){if(!Wt.formElement&&Wt.openElements.tmplCount===0){Wt._insertElement(Pt,dn.NS.HTML);Wt.formElement=Wt.openElements.current;Wt.openElements.pop()}}function startTagInTable(Wt,Pt){switch(Pt.tagID){case dn.TAG_ID.TD:case dn.TAG_ID.TH:case dn.TAG_ID.TR:{tdStartTagInTable(Wt,Pt);break}case dn.TAG_ID.STYLE:case dn.TAG_ID.SCRIPT:case dn.TAG_ID.TEMPLATE:{startTagInHead(Wt,Pt);break}case dn.TAG_ID.COL:{colStartTagInTable(Wt,Pt);break}case dn.TAG_ID.FORM:{formStartTagInTable(Wt,Pt);break}case dn.TAG_ID.TABLE:{tableStartTagInTable(Wt,Pt);break}case dn.TAG_ID.TBODY:case dn.TAG_ID.TFOOT:case dn.TAG_ID.THEAD:{tbodyStartTagInTable(Wt,Pt);break}case dn.TAG_ID.INPUT:{inputStartTagInTable(Wt,Pt);break}case dn.TAG_ID.CAPTION:{captionStartTagInTable(Wt,Pt);break}case dn.TAG_ID.COLGROUP:{colgroupStartTagInTable(Wt,Pt);break}default:{tokenInTable(Wt,Pt)}}}function endTagInTable(Wt,Pt){switch(Pt.tagID){case dn.TAG_ID.TABLE:{if(Wt.openElements.hasInTableScope(dn.TAG_ID.TABLE)){Wt.openElements.popUntilTagNamePopped(dn.TAG_ID.TABLE);Wt._resetInsertionMode()}break}case dn.TAG_ID.TEMPLATE:{templateEndTagInHead(Wt,Pt);break}case dn.TAG_ID.BODY:case dn.TAG_ID.CAPTION:case dn.TAG_ID.COL:case dn.TAG_ID.COLGROUP:case dn.TAG_ID.HTML:case dn.TAG_ID.TBODY:case dn.TAG_ID.TD:case dn.TAG_ID.TFOOT:case dn.TAG_ID.TH:case dn.TAG_ID.THEAD:case dn.TAG_ID.TR:{break}default:{tokenInTable(Wt,Pt)}}}function tokenInTable(Wt,Pt){const en=Wt.fosterParentingEnabled;Wt.fosterParentingEnabled=true;modeInBody(Wt,Pt);Wt.fosterParentingEnabled=en}function whitespaceCharacterInTableText(Wt,Pt){Wt.pendingCharacterTokens.push(Pt)}function characterInTableText(Wt,Pt){Wt.pendingCharacterTokens.push(Pt);Wt.hasNonWhitespacePendingCharacterToken=true}function tokenInTableText(Wt,Pt){let en=0;if(Wt.hasNonWhitespacePendingCharacterToken){for(;en0&&Wt.openElements.currentTagId===dn.TAG_ID.OPTION&&Wt.openElements.tagIDs[Wt.openElements.stackTop-1]===dn.TAG_ID.OPTGROUP){Wt.openElements.pop()}if(Wt.openElements.currentTagId===dn.TAG_ID.OPTGROUP){Wt.openElements.pop()}break}case dn.TAG_ID.OPTION:{if(Wt.openElements.currentTagId===dn.TAG_ID.OPTION){Wt.openElements.pop()}break}case dn.TAG_ID.SELECT:{if(Wt.openElements.hasInSelectScope(dn.TAG_ID.SELECT)){Wt.openElements.popUntilTagNamePopped(dn.TAG_ID.SELECT);Wt._resetInsertionMode()}break}case dn.TAG_ID.TEMPLATE:{templateEndTagInHead(Wt,Pt);break}default:}}function startTagInSelectInTable(Wt,Pt){const en=Pt.tagID;if(en===dn.TAG_ID.CAPTION||en===dn.TAG_ID.TABLE||en===dn.TAG_ID.TBODY||en===dn.TAG_ID.TFOOT||en===dn.TAG_ID.THEAD||en===dn.TAG_ID.TR||en===dn.TAG_ID.TD||en===dn.TAG_ID.TH){Wt.openElements.popUntilTagNamePopped(dn.TAG_ID.SELECT);Wt._resetInsertionMode();Wt._processStartTag(Pt)}else{startTagInSelect(Wt,Pt)}}function endTagInSelectInTable(Wt,Pt){const en=Pt.tagID;if(en===dn.TAG_ID.CAPTION||en===dn.TAG_ID.TABLE||en===dn.TAG_ID.TBODY||en===dn.TAG_ID.TFOOT||en===dn.TAG_ID.THEAD||en===dn.TAG_ID.TR||en===dn.TAG_ID.TD||en===dn.TAG_ID.TH){if(Wt.openElements.hasInTableScope(en)){Wt.openElements.popUntilTagNamePopped(dn.TAG_ID.SELECT);Wt._resetInsertionMode();Wt.onEndTag(Pt)}}else{endTagInSelect(Wt,Pt)}}function startTagInTemplate(Wt,Pt){switch(Pt.tagID){case dn.TAG_ID.BASE:case dn.TAG_ID.BASEFONT:case dn.TAG_ID.BGSOUND:case dn.TAG_ID.LINK:case dn.TAG_ID.META:case dn.TAG_ID.NOFRAMES:case dn.TAG_ID.SCRIPT:case dn.TAG_ID.STYLE:case dn.TAG_ID.TEMPLATE:case dn.TAG_ID.TITLE:{startTagInHead(Wt,Pt);break}case dn.TAG_ID.CAPTION:case dn.TAG_ID.COLGROUP:case dn.TAG_ID.TBODY:case dn.TAG_ID.TFOOT:case dn.TAG_ID.THEAD:{Wt.tmplInsertionModeStack[0]=Gn.IN_TABLE;Wt.insertionMode=Gn.IN_TABLE;startTagInTable(Wt,Pt);break}case dn.TAG_ID.COL:{Wt.tmplInsertionModeStack[0]=Gn.IN_COLUMN_GROUP;Wt.insertionMode=Gn.IN_COLUMN_GROUP;startTagInColumnGroup(Wt,Pt);break}case dn.TAG_ID.TR:{Wt.tmplInsertionModeStack[0]=Gn.IN_TABLE_BODY;Wt.insertionMode=Gn.IN_TABLE_BODY;startTagInTableBody(Wt,Pt);break}case dn.TAG_ID.TD:case dn.TAG_ID.TH:{Wt.tmplInsertionModeStack[0]=Gn.IN_ROW;Wt.insertionMode=Gn.IN_ROW;startTagInRow(Wt,Pt);break}default:{Wt.tmplInsertionModeStack[0]=Gn.IN_BODY;Wt.insertionMode=Gn.IN_BODY;startTagInBody(Wt,Pt)}}}function endTagInTemplate(Wt,Pt){if(Pt.tagID===dn.TAG_ID.TEMPLATE){templateEndTagInHead(Wt,Pt)}}function eofInTemplate(Wt,Pt){if(Wt.openElements.tmplCount>0){Wt.openElements.popUntilTagNamePopped(dn.TAG_ID.TEMPLATE);Wt.activeFormattingElements.clearToLastMarker();Wt.tmplInsertionModeStack.shift();Wt._resetInsertionMode();Wt.onEof(Pt)}else{stopParsing(Wt,Pt)}}function startTagAfterBody(Wt,Pt){if(Pt.tagID===dn.TAG_ID.HTML){startTagInBody(Wt,Pt)}else{tokenAfterBody(Wt,Pt)}}function endTagAfterBody(Wt,Pt){var en;if(Pt.tagID===dn.TAG_ID.HTML){if(!Wt.fragmentContext){Wt.insertionMode=Gn.AFTER_AFTER_BODY}if(Wt.options.sourceCodeLocationInfo&&Wt.openElements.tagIDs[0]===dn.TAG_ID.HTML){Wt._setEndLocation(Wt.openElements.items[0],Pt);const tn=Wt.openElements.items[1];if(tn&&!((en=Wt.treeAdapter.getNodeSourceCodeLocation(tn))===null||en===void 0?void 0:en.endTag)){Wt._setEndLocation(tn,Pt)}}}else{tokenAfterBody(Wt,Pt)}}function tokenAfterBody(Wt,Pt){Wt.insertionMode=Gn.IN_BODY;modeInBody(Wt,Pt)}function startTagInFrameset(Wt,Pt){switch(Pt.tagID){case dn.TAG_ID.HTML:{startTagInBody(Wt,Pt);break}case dn.TAG_ID.FRAMESET:{Wt._insertElement(Pt,dn.NS.HTML);break}case dn.TAG_ID.FRAME:{Wt._appendElement(Pt,dn.NS.HTML);Pt.ackSelfClosing=true;break}case dn.TAG_ID.NOFRAMES:{startTagInHead(Wt,Pt);break}default:}}function endTagInFrameset(Wt,Pt){if(Pt.tagID===dn.TAG_ID.FRAMESET&&!Wt.openElements.isRootHtmlElementCurrent()){Wt.openElements.pop();if(!Wt.fragmentContext&&Wt.openElements.currentTagId!==dn.TAG_ID.FRAMESET){Wt.insertionMode=Gn.AFTER_FRAMESET}}}function startTagAfterFrameset(Wt,Pt){switch(Pt.tagID){case dn.TAG_ID.HTML:{startTagInBody(Wt,Pt);break}case dn.TAG_ID.NOFRAMES:{startTagInHead(Wt,Pt);break}default:}}function endTagAfterFrameset(Wt,Pt){if(Pt.tagID===dn.TAG_ID.HTML){Wt.insertionMode=Gn.AFTER_AFTER_FRAMESET}}function startTagAfterAfterBody(Wt,Pt){if(Pt.tagID===dn.TAG_ID.HTML){startTagInBody(Wt,Pt)}else{tokenAfterAfterBody(Wt,Pt)}}function tokenAfterAfterBody(Wt,Pt){Wt.insertionMode=Gn.IN_BODY;modeInBody(Wt,Pt)}function startTagAfterAfterFrameset(Wt,Pt){switch(Pt.tagID){case dn.TAG_ID.HTML:{startTagInBody(Wt,Pt);break}case dn.TAG_ID.NOFRAMES:{startTagInHead(Wt,Pt);break}default:}}function nullCharacterInForeignContent(Wt,Pt){Pt.chars=cn.REPLACEMENT_CHARACTER;Wt._insertCharacters(Pt)}function characterInForeignContent(Wt,Pt){Wt._insertCharacters(Pt);Wt.framesetOk=false}function popUntilHtmlOrIntegrationPoint(Wt){while(Wt.treeAdapter.getNamespaceURI(Wt.openElements.current)!==dn.NS.HTML&&!Wt._isIntegrationPoint(Wt.openElements.currentTagId,Wt.openElements.current)){Wt.openElements.pop()}}function startTagInForeignContent(Wt,Pt){if(sn.causesExit(Pt)){popUntilHtmlOrIntegrationPoint(Wt);Wt._startTagOutsideForeignContent(Pt)}else{const en=Wt._getAdjustedCurrentElement();const tn=Wt.treeAdapter.getNamespaceURI(en);if(tn===dn.NS.MATHML){sn.adjustTokenMathMLAttrs(Pt)}else if(tn===dn.NS.SVG){sn.adjustTokenSVGTagName(Pt);sn.adjustTokenSVGAttrs(Pt)}sn.adjustTokenXMLAttrs(Pt);if(Pt.selfClosing){Wt._appendElement(Pt,tn)}else{Wt._insertElement(Pt,tn)}Pt.ackSelfClosing=true}}function endTagInForeignContent(Wt,Pt){if(Pt.tagID===dn.TAG_ID.P||Pt.tagID===dn.TAG_ID.BR){popUntilHtmlOrIntegrationPoint(Wt);Wt._endTagOutsideForeignContent(Pt);return}for(let en=Wt.openElements.stackTop;en>0;en--){const tn=Wt.openElements.items[en];if(Wt.treeAdapter.getNamespaceURI(tn)===dn.NS.HTML){Wt._endTagOutsideForeignContent(Pt);break}const nn=Wt.treeAdapter.getTagName(tn);if(nn.toLowerCase()===Pt.tagName){Pt.tagName=nn;Wt.openElements.shortenToLength(en);break}}}},54857:(Wt,Pt,en)=>{Object.defineProperty(Pt,"__esModule",{value:true});Pt.OpenElementStack=void 0;const tn=en(81510);const nn=new Set([tn.TAG_ID.DD,tn.TAG_ID.DT,tn.TAG_ID.LI,tn.TAG_ID.OPTGROUP,tn.TAG_ID.OPTION,tn.TAG_ID.P,tn.TAG_ID.RB,tn.TAG_ID.RP,tn.TAG_ID.RT,tn.TAG_ID.RTC]);const an=new Set([...nn,tn.TAG_ID.CAPTION,tn.TAG_ID.COLGROUP,tn.TAG_ID.TBODY,tn.TAG_ID.TD,tn.TAG_ID.TFOOT,tn.TAG_ID.TH,tn.TAG_ID.THEAD,tn.TAG_ID.TR]);const In=new Set([tn.TAG_ID.APPLET,tn.TAG_ID.CAPTION,tn.TAG_ID.HTML,tn.TAG_ID.MARQUEE,tn.TAG_ID.OBJECT,tn.TAG_ID.TABLE,tn.TAG_ID.TD,tn.TAG_ID.TEMPLATE,tn.TAG_ID.TH]);const rn=new Set([...In,tn.TAG_ID.OL,tn.TAG_ID.UL]);const sn=new Set([...In,tn.TAG_ID.BUTTON]);const on=new Set([tn.TAG_ID.ANNOTATION_XML,tn.TAG_ID.MI,tn.TAG_ID.MN,tn.TAG_ID.MO,tn.TAG_ID.MS,tn.TAG_ID.MTEXT]);const cn=new Set([tn.TAG_ID.DESC,tn.TAG_ID.FOREIGN_OBJECT,tn.TAG_ID.TITLE]);const dn=new Set([tn.TAG_ID.TR,tn.TAG_ID.TEMPLATE,tn.TAG_ID.HTML]);const un=new Set([tn.TAG_ID.TBODY,tn.TAG_ID.TFOOT,tn.TAG_ID.THEAD,tn.TAG_ID.TEMPLATE,tn.TAG_ID.HTML]);const pn=new Set([tn.TAG_ID.TABLE,tn.TAG_ID.TEMPLATE,tn.TAG_ID.HTML]);const mn=new Set([tn.TAG_ID.TD,tn.TAG_ID.TH]);class OpenElementStack{get currentTmplContentOrNode(){return this._isInTemplate()?this.treeAdapter.getTemplateContent(this.current):this.current}constructor(Wt,Pt,en){this.treeAdapter=Pt;this.handler=en;this.items=[];this.tagIDs=[];this.stackTop=-1;this.tmplCount=0;this.currentTagId=tn.TAG_ID.UNKNOWN;this.current=Wt}_indexOf(Wt){return this.items.lastIndexOf(Wt,this.stackTop)}_isInTemplate(){return this.currentTagId===tn.TAG_ID.TEMPLATE&&this.treeAdapter.getNamespaceURI(this.current)===tn.NS.HTML}_updateCurrentElement(){this.current=this.items[this.stackTop];this.currentTagId=this.tagIDs[this.stackTop]}push(Wt,Pt){this.stackTop++;this.items[this.stackTop]=Wt;this.current=Wt;this.tagIDs[this.stackTop]=Pt;this.currentTagId=Pt;if(this._isInTemplate()){this.tmplCount++}this.handler.onItemPush(Wt,Pt,true)}pop(){const Wt=this.current;if(this.tmplCount>0&&this._isInTemplate()){this.tmplCount--}this.stackTop--;this._updateCurrentElement();this.handler.onItemPop(Wt,true)}replace(Wt,Pt){const en=this._indexOf(Wt);this.items[en]=Pt;if(en===this.stackTop){this.current=Pt}}insertAfter(Wt,Pt,en){const tn=this._indexOf(Wt)+1;this.items.splice(tn,0,Pt);this.tagIDs.splice(tn,0,en);this.stackTop++;if(tn===this.stackTop){this._updateCurrentElement()}this.handler.onItemPush(this.current,this.currentTagId,tn===this.stackTop)}popUntilTagNamePopped(Wt){let Pt=this.stackTop+1;do{Pt=this.tagIDs.lastIndexOf(Wt,Pt-1)}while(Pt>0&&this.treeAdapter.getNamespaceURI(this.items[Pt])!==tn.NS.HTML);this.shortenToLength(Pt<0?0:Pt)}shortenToLength(Wt){while(this.stackTop>=Wt){const Pt=this.current;if(this.tmplCount>0&&this._isInTemplate()){this.tmplCount-=1}this.stackTop--;this._updateCurrentElement();this.handler.onItemPop(Pt,this.stackTop=0;en--){if(Wt.has(this.tagIDs[en])&&this.treeAdapter.getNamespaceURI(this.items[en])===Pt){return en}}return-1}clearBackTo(Wt,Pt){const en=this._indexOfTagNames(Wt,Pt);this.shortenToLength(en+1)}clearBackToTableContext(){this.clearBackTo(pn,tn.NS.HTML)}clearBackToTableBodyContext(){this.clearBackTo(un,tn.NS.HTML)}clearBackToTableRowContext(){this.clearBackTo(dn,tn.NS.HTML)}remove(Wt){const Pt=this._indexOf(Wt);if(Pt>=0){if(Pt===this.stackTop){this.pop()}else{this.items.splice(Pt,1);this.tagIDs.splice(Pt,1);this.stackTop--;this._updateCurrentElement();this.handler.onItemPop(Wt,false)}}}tryPeekProperlyNestedBodyElement(){return this.stackTop>=1&&this.tagIDs[1]===tn.TAG_ID.BODY?this.items[1]:null}contains(Wt){return this._indexOf(Wt)>-1}getCommonAncestor(Wt){const Pt=this._indexOf(Wt)-1;return Pt>=0?this.items[Pt]:null}isRootHtmlElementCurrent(){return this.stackTop===0&&this.tagIDs[0]===tn.TAG_ID.HTML}hasInDynamicScope(Wt,Pt){for(let en=this.stackTop;en>=0;en--){const nn=this.tagIDs[en];switch(this.treeAdapter.getNamespaceURI(this.items[en])){case tn.NS.HTML:{if(nn===Wt)return true;if(Pt.has(nn))return false;break}case tn.NS.SVG:{if(cn.has(nn))return false;break}case tn.NS.MATHML:{if(on.has(nn))return false;break}}}return true}hasInScope(Wt){return this.hasInDynamicScope(Wt,In)}hasInListItemScope(Wt){return this.hasInDynamicScope(Wt,rn)}hasInButtonScope(Wt){return this.hasInDynamicScope(Wt,sn)}hasNumberedHeaderInScope(){for(let Wt=this.stackTop;Wt>=0;Wt--){const Pt=this.tagIDs[Wt];switch(this.treeAdapter.getNamespaceURI(this.items[Wt])){case tn.NS.HTML:{if(tn.NUMBERED_HEADERS.has(Pt))return true;if(In.has(Pt))return false;break}case tn.NS.SVG:{if(cn.has(Pt))return false;break}case tn.NS.MATHML:{if(on.has(Pt))return false;break}}}return true}hasInTableScope(Wt){for(let Pt=this.stackTop;Pt>=0;Pt--){if(this.treeAdapter.getNamespaceURI(this.items[Pt])!==tn.NS.HTML){continue}switch(this.tagIDs[Pt]){case Wt:{return true}case tn.TAG_ID.TABLE:case tn.TAG_ID.HTML:{return false}}}return true}hasTableBodyContextInTableScope(){for(let Wt=this.stackTop;Wt>=0;Wt--){if(this.treeAdapter.getNamespaceURI(this.items[Wt])!==tn.NS.HTML){continue}switch(this.tagIDs[Wt]){case tn.TAG_ID.TBODY:case tn.TAG_ID.THEAD:case tn.TAG_ID.TFOOT:{return true}case tn.TAG_ID.TABLE:case tn.TAG_ID.HTML:{return false}}}return true}hasInSelectScope(Wt){for(let Pt=this.stackTop;Pt>=0;Pt--){if(this.treeAdapter.getNamespaceURI(this.items[Pt])!==tn.NS.HTML){continue}switch(this.tagIDs[Pt]){case Wt:{return true}case tn.TAG_ID.OPTION:case tn.TAG_ID.OPTGROUP:{break}default:{return false}}}return true}generateImpliedEndTags(){while(nn.has(this.currentTagId)){this.pop()}}generateImpliedEndTagsThoroughly(){while(an.has(this.currentTagId)){this.pop()}}generateImpliedEndTagsWithExclusion(Wt){while(this.currentTagId!==Wt&&an.has(this.currentTagId)){this.pop()}}}Pt.OpenElementStack=OpenElementStack},47950:(Wt,Pt,en)=>{Object.defineProperty(Pt,"__esModule",{value:true});Pt.serialize=serialize;Pt.serializeOuter=serializeOuter;const tn=en(81510);const nn=en(6104);const an=en(24760);const In=new Set([tn.TAG_NAMES.AREA,tn.TAG_NAMES.BASE,tn.TAG_NAMES.BASEFONT,tn.TAG_NAMES.BGSOUND,tn.TAG_NAMES.BR,tn.TAG_NAMES.COL,tn.TAG_NAMES.EMBED,tn.TAG_NAMES.FRAME,tn.TAG_NAMES.HR,tn.TAG_NAMES.IMG,tn.TAG_NAMES.INPUT,tn.TAG_NAMES.KEYGEN,tn.TAG_NAMES.LINK,tn.TAG_NAMES.META,tn.TAG_NAMES.PARAM,tn.TAG_NAMES.SOURCE,tn.TAG_NAMES.TRACK,tn.TAG_NAMES.WBR]);function isVoidElement(Wt,Pt){return Pt.treeAdapter.isElementNode(Wt)&&Pt.treeAdapter.getNamespaceURI(Wt)===tn.NS.HTML&&In.has(Pt.treeAdapter.getTagName(Wt))}const rn={treeAdapter:an.defaultTreeAdapter,scriptingEnabled:true};function serialize(Wt,Pt){const en=Object.assign(Object.assign({},rn),Pt);if(isVoidElement(Wt,en)){return""}return serializeChildNodes(Wt,en)}function serializeOuter(Wt,Pt){const en=Object.assign(Object.assign({},rn),Pt);return serializeNode(Wt,en)}function serializeChildNodes(Wt,Pt){let en="";const nn=Pt.treeAdapter.isElementNode(Wt)&&Pt.treeAdapter.getTagName(Wt)===tn.TAG_NAMES.TEMPLATE&&Pt.treeAdapter.getNamespaceURI(Wt)===tn.NS.HTML?Pt.treeAdapter.getTemplateContent(Wt):Wt;const an=Pt.treeAdapter.getChildNodes(nn);if(an){for(const Wt of an){en+=serializeNode(Wt,Pt)}}return en}function serializeNode(Wt,Pt){if(Pt.treeAdapter.isElementNode(Wt)){return serializeElement(Wt,Pt)}if(Pt.treeAdapter.isTextNode(Wt)){return serializeTextNode(Wt,Pt)}if(Pt.treeAdapter.isCommentNode(Wt)){return serializeCommentNode(Wt,Pt)}if(Pt.treeAdapter.isDocumentTypeNode(Wt)){return serializeDocumentTypeNode(Wt,Pt)}return""}function serializeElement(Wt,Pt){const en=Pt.treeAdapter.getTagName(Wt);return`<${en}${serializeAttributes(Wt,Pt)}>${isVoidElement(Wt,Pt)?"":`${serializeChildNodes(Wt,Pt)}`}`}function serializeAttributes(Wt,{treeAdapter:Pt}){let en="";for(const an of Pt.getAttrList(Wt)){en+=" ";if(an.namespace){switch(an.namespace){case tn.NS.XML:{en+=`xml:${an.name}`;break}case tn.NS.XMLNS:{if(an.name!=="xmlns"){en+="xmlns:"}en+=an.name;break}case tn.NS.XLINK:{en+=`xlink:${an.name}`;break}default:{en+=`${an.prefix}:${an.name}`}}}else{en+=an.name}en+=`="${(0,nn.escapeAttribute)(an.value)}"`}return en}function serializeTextNode(Wt,Pt){const{treeAdapter:en}=Pt;const an=en.getTextNodeContent(Wt);const In=en.getParentNode(Wt);const rn=In&&en.isElementNode(In)&&en.getTagName(In);return rn&&en.getNamespaceURI(In)===tn.NS.HTML&&(0,tn.hasUnescapedText)(rn,Pt.scriptingEnabled)?an:(0,nn.escapeText)(an)}function serializeCommentNode(Wt,{treeAdapter:Pt}){return`\x3c!--${Pt.getCommentNodeContent(Wt)}--\x3e`}function serializeDocumentTypeNode(Wt,{treeAdapter:Pt}){return``}},55007:(Wt,Pt,en)=>{Object.defineProperty(Pt,"__esModule",{value:true});Pt.Tokenizer=Pt.TokenizerMode=void 0;const tn=en(50732);const nn=en(73616);const an=en(30294);const In=en(31469);const rn=en(69322);const sn=en(81510);var on;(function(Wt){Wt[Wt["DATA"]=0]="DATA";Wt[Wt["RCDATA"]=1]="RCDATA";Wt[Wt["RAWTEXT"]=2]="RAWTEXT";Wt[Wt["SCRIPT_DATA"]=3]="SCRIPT_DATA";Wt[Wt["PLAINTEXT"]=4]="PLAINTEXT";Wt[Wt["TAG_OPEN"]=5]="TAG_OPEN";Wt[Wt["END_TAG_OPEN"]=6]="END_TAG_OPEN";Wt[Wt["TAG_NAME"]=7]="TAG_NAME";Wt[Wt["RCDATA_LESS_THAN_SIGN"]=8]="RCDATA_LESS_THAN_SIGN";Wt[Wt["RCDATA_END_TAG_OPEN"]=9]="RCDATA_END_TAG_OPEN";Wt[Wt["RCDATA_END_TAG_NAME"]=10]="RCDATA_END_TAG_NAME";Wt[Wt["RAWTEXT_LESS_THAN_SIGN"]=11]="RAWTEXT_LESS_THAN_SIGN";Wt[Wt["RAWTEXT_END_TAG_OPEN"]=12]="RAWTEXT_END_TAG_OPEN";Wt[Wt["RAWTEXT_END_TAG_NAME"]=13]="RAWTEXT_END_TAG_NAME";Wt[Wt["SCRIPT_DATA_LESS_THAN_SIGN"]=14]="SCRIPT_DATA_LESS_THAN_SIGN";Wt[Wt["SCRIPT_DATA_END_TAG_OPEN"]=15]="SCRIPT_DATA_END_TAG_OPEN";Wt[Wt["SCRIPT_DATA_END_TAG_NAME"]=16]="SCRIPT_DATA_END_TAG_NAME";Wt[Wt["SCRIPT_DATA_ESCAPE_START"]=17]="SCRIPT_DATA_ESCAPE_START";Wt[Wt["SCRIPT_DATA_ESCAPE_START_DASH"]=18]="SCRIPT_DATA_ESCAPE_START_DASH";Wt[Wt["SCRIPT_DATA_ESCAPED"]=19]="SCRIPT_DATA_ESCAPED";Wt[Wt["SCRIPT_DATA_ESCAPED_DASH"]=20]="SCRIPT_DATA_ESCAPED_DASH";Wt[Wt["SCRIPT_DATA_ESCAPED_DASH_DASH"]=21]="SCRIPT_DATA_ESCAPED_DASH_DASH";Wt[Wt["SCRIPT_DATA_ESCAPED_LESS_THAN_SIGN"]=22]="SCRIPT_DATA_ESCAPED_LESS_THAN_SIGN";Wt[Wt["SCRIPT_DATA_ESCAPED_END_TAG_OPEN"]=23]="SCRIPT_DATA_ESCAPED_END_TAG_OPEN";Wt[Wt["SCRIPT_DATA_ESCAPED_END_TAG_NAME"]=24]="SCRIPT_DATA_ESCAPED_END_TAG_NAME";Wt[Wt["SCRIPT_DATA_DOUBLE_ESCAPE_START"]=25]="SCRIPT_DATA_DOUBLE_ESCAPE_START";Wt[Wt["SCRIPT_DATA_DOUBLE_ESCAPED"]=26]="SCRIPT_DATA_DOUBLE_ESCAPED";Wt[Wt["SCRIPT_DATA_DOUBLE_ESCAPED_DASH"]=27]="SCRIPT_DATA_DOUBLE_ESCAPED_DASH";Wt[Wt["SCRIPT_DATA_DOUBLE_ESCAPED_DASH_DASH"]=28]="SCRIPT_DATA_DOUBLE_ESCAPED_DASH_DASH";Wt[Wt["SCRIPT_DATA_DOUBLE_ESCAPED_LESS_THAN_SIGN"]=29]="SCRIPT_DATA_DOUBLE_ESCAPED_LESS_THAN_SIGN";Wt[Wt["SCRIPT_DATA_DOUBLE_ESCAPE_END"]=30]="SCRIPT_DATA_DOUBLE_ESCAPE_END";Wt[Wt["BEFORE_ATTRIBUTE_NAME"]=31]="BEFORE_ATTRIBUTE_NAME";Wt[Wt["ATTRIBUTE_NAME"]=32]="ATTRIBUTE_NAME";Wt[Wt["AFTER_ATTRIBUTE_NAME"]=33]="AFTER_ATTRIBUTE_NAME";Wt[Wt["BEFORE_ATTRIBUTE_VALUE"]=34]="BEFORE_ATTRIBUTE_VALUE";Wt[Wt["ATTRIBUTE_VALUE_DOUBLE_QUOTED"]=35]="ATTRIBUTE_VALUE_DOUBLE_QUOTED";Wt[Wt["ATTRIBUTE_VALUE_SINGLE_QUOTED"]=36]="ATTRIBUTE_VALUE_SINGLE_QUOTED";Wt[Wt["ATTRIBUTE_VALUE_UNQUOTED"]=37]="ATTRIBUTE_VALUE_UNQUOTED";Wt[Wt["AFTER_ATTRIBUTE_VALUE_QUOTED"]=38]="AFTER_ATTRIBUTE_VALUE_QUOTED";Wt[Wt["SELF_CLOSING_START_TAG"]=39]="SELF_CLOSING_START_TAG";Wt[Wt["BOGUS_COMMENT"]=40]="BOGUS_COMMENT";Wt[Wt["MARKUP_DECLARATION_OPEN"]=41]="MARKUP_DECLARATION_OPEN";Wt[Wt["COMMENT_START"]=42]="COMMENT_START";Wt[Wt["COMMENT_START_DASH"]=43]="COMMENT_START_DASH";Wt[Wt["COMMENT"]=44]="COMMENT";Wt[Wt["COMMENT_LESS_THAN_SIGN"]=45]="COMMENT_LESS_THAN_SIGN";Wt[Wt["COMMENT_LESS_THAN_SIGN_BANG"]=46]="COMMENT_LESS_THAN_SIGN_BANG";Wt[Wt["COMMENT_LESS_THAN_SIGN_BANG_DASH"]=47]="COMMENT_LESS_THAN_SIGN_BANG_DASH";Wt[Wt["COMMENT_LESS_THAN_SIGN_BANG_DASH_DASH"]=48]="COMMENT_LESS_THAN_SIGN_BANG_DASH_DASH";Wt[Wt["COMMENT_END_DASH"]=49]="COMMENT_END_DASH";Wt[Wt["COMMENT_END"]=50]="COMMENT_END";Wt[Wt["COMMENT_END_BANG"]=51]="COMMENT_END_BANG";Wt[Wt["DOCTYPE"]=52]="DOCTYPE";Wt[Wt["BEFORE_DOCTYPE_NAME"]=53]="BEFORE_DOCTYPE_NAME";Wt[Wt["DOCTYPE_NAME"]=54]="DOCTYPE_NAME";Wt[Wt["AFTER_DOCTYPE_NAME"]=55]="AFTER_DOCTYPE_NAME";Wt[Wt["AFTER_DOCTYPE_PUBLIC_KEYWORD"]=56]="AFTER_DOCTYPE_PUBLIC_KEYWORD";Wt[Wt["BEFORE_DOCTYPE_PUBLIC_IDENTIFIER"]=57]="BEFORE_DOCTYPE_PUBLIC_IDENTIFIER";Wt[Wt["DOCTYPE_PUBLIC_IDENTIFIER_DOUBLE_QUOTED"]=58]="DOCTYPE_PUBLIC_IDENTIFIER_DOUBLE_QUOTED";Wt[Wt["DOCTYPE_PUBLIC_IDENTIFIER_SINGLE_QUOTED"]=59]="DOCTYPE_PUBLIC_IDENTIFIER_SINGLE_QUOTED";Wt[Wt["AFTER_DOCTYPE_PUBLIC_IDENTIFIER"]=60]="AFTER_DOCTYPE_PUBLIC_IDENTIFIER";Wt[Wt["BETWEEN_DOCTYPE_PUBLIC_AND_SYSTEM_IDENTIFIERS"]=61]="BETWEEN_DOCTYPE_PUBLIC_AND_SYSTEM_IDENTIFIERS";Wt[Wt["AFTER_DOCTYPE_SYSTEM_KEYWORD"]=62]="AFTER_DOCTYPE_SYSTEM_KEYWORD";Wt[Wt["BEFORE_DOCTYPE_SYSTEM_IDENTIFIER"]=63]="BEFORE_DOCTYPE_SYSTEM_IDENTIFIER";Wt[Wt["DOCTYPE_SYSTEM_IDENTIFIER_DOUBLE_QUOTED"]=64]="DOCTYPE_SYSTEM_IDENTIFIER_DOUBLE_QUOTED";Wt[Wt["DOCTYPE_SYSTEM_IDENTIFIER_SINGLE_QUOTED"]=65]="DOCTYPE_SYSTEM_IDENTIFIER_SINGLE_QUOTED";Wt[Wt["AFTER_DOCTYPE_SYSTEM_IDENTIFIER"]=66]="AFTER_DOCTYPE_SYSTEM_IDENTIFIER";Wt[Wt["BOGUS_DOCTYPE"]=67]="BOGUS_DOCTYPE";Wt[Wt["CDATA_SECTION"]=68]="CDATA_SECTION";Wt[Wt["CDATA_SECTION_BRACKET"]=69]="CDATA_SECTION_BRACKET";Wt[Wt["CDATA_SECTION_END"]=70]="CDATA_SECTION_END";Wt[Wt["CHARACTER_REFERENCE"]=71]="CHARACTER_REFERENCE";Wt[Wt["AMBIGUOUS_AMPERSAND"]=72]="AMBIGUOUS_AMPERSAND"})(on||(on={}));Pt.TokenizerMode={DATA:on.DATA,RCDATA:on.RCDATA,RAWTEXT:on.RAWTEXT,SCRIPT_DATA:on.SCRIPT_DATA,PLAINTEXT:on.PLAINTEXT,CDATA_SECTION:on.CDATA_SECTION};function isAsciiDigit(Wt){return Wt>=nn.CODE_POINTS.DIGIT_0&&Wt<=nn.CODE_POINTS.DIGIT_9}function isAsciiUpper(Wt){return Wt>=nn.CODE_POINTS.LATIN_CAPITAL_A&&Wt<=nn.CODE_POINTS.LATIN_CAPITAL_Z}function isAsciiLower(Wt){return Wt>=nn.CODE_POINTS.LATIN_SMALL_A&&Wt<=nn.CODE_POINTS.LATIN_SMALL_Z}function isAsciiLetter(Wt){return isAsciiLower(Wt)||isAsciiUpper(Wt)}function isAsciiAlphaNumeric(Wt){return isAsciiLetter(Wt)||isAsciiDigit(Wt)}function toAsciiLower(Wt){return Wt+32}function isWhitespace(Wt){return Wt===nn.CODE_POINTS.SPACE||Wt===nn.CODE_POINTS.LINE_FEED||Wt===nn.CODE_POINTS.TABULATION||Wt===nn.CODE_POINTS.FORM_FEED}function isScriptDataDoubleEscapeSequenceEnd(Wt){return isWhitespace(Wt)||Wt===nn.CODE_POINTS.SOLIDUS||Wt===nn.CODE_POINTS.GREATER_THAN_SIGN}function getErrorForNumericCharacterReference(Wt){if(Wt===nn.CODE_POINTS.NULL){return rn.ERR.nullCharacterReference}else if(Wt>1114111){return rn.ERR.characterReferenceOutsideUnicodeRange}else if((0,nn.isSurrogate)(Wt)){return rn.ERR.surrogateCharacterReference}else if((0,nn.isUndefinedCodePoint)(Wt)){return rn.ERR.noncharacterCharacterReference}else if((0,nn.isControlCodePoint)(Wt)||Wt===nn.CODE_POINTS.CARRIAGE_RETURN){return rn.ERR.controlCharacterReference}return null}class Tokenizer{constructor(Wt,Pt){this.options=Wt;this.handler=Pt;this.paused=false;this.inLoop=false;this.inForeignNode=false;this.lastStartTagName="";this.active=false;this.state=on.DATA;this.returnState=on.DATA;this.entityStartPos=0;this.consumedAfterSnapshot=-1;this.currentCharacterToken=null;this.currentToken=null;this.currentAttr={name:"",value:""};this.preprocessor=new tn.Preprocessor(Pt);this.currentLocation=this.getCurrentLocation(-1);this.entityDecoder=new In.EntityDecoder(In.htmlDecodeTree,((Wt,Pt)=>{this.preprocessor.pos=this.entityStartPos+Pt-1;this._flushCodePointConsumedAsCharacterReference(Wt)}),Pt.onParseError?{missingSemicolonAfterCharacterReference:()=>{this._err(rn.ERR.missingSemicolonAfterCharacterReference,1)},absenceOfDigitsInNumericCharacterReference:Wt=>{this._err(rn.ERR.absenceOfDigitsInNumericCharacterReference,this.entityStartPos-this.preprocessor.pos+Wt)},validateNumericCharacterReference:Wt=>{const Pt=getErrorForNumericCharacterReference(Wt);if(Pt)this._err(Pt,1)}}:undefined)}_err(Wt,Pt=0){var en,tn;(tn=(en=this.handler).onParseError)===null||tn===void 0?void 0:tn.call(en,this.preprocessor.getError(Wt,Pt))}getCurrentLocation(Wt){if(!this.options.sourceCodeLocationInfo){return null}return{startLine:this.preprocessor.line,startCol:this.preprocessor.col-Wt,startOffset:this.preprocessor.offset-Wt,endLine:-1,endCol:-1,endOffset:-1}}_runParsingLoop(){if(this.inLoop)return;this.inLoop=true;while(this.active&&!this.paused){this.consumedAfterSnapshot=0;const Wt=this._consume();if(!this._ensureHibernation()){this._callState(Wt)}}this.inLoop=false}pause(){this.paused=true}resume(Wt){if(!this.paused){throw new Error("Parser was already resumed")}this.paused=false;if(this.inLoop)return;this._runParsingLoop();if(!this.paused){Wt===null||Wt===void 0?void 0:Wt()}}write(Wt,Pt,en){this.active=true;this.preprocessor.write(Wt,Pt);this._runParsingLoop();if(!this.paused){en===null||en===void 0?void 0:en()}}insertHtmlAtCurrentPos(Wt){this.active=true;this.preprocessor.insertHtmlAtCurrentPos(Wt);this._runParsingLoop()}_ensureHibernation(){if(this.preprocessor.endOfChunkHit){this.preprocessor.retreat(this.consumedAfterSnapshot);this.consumedAfterSnapshot=0;this.active=false;return true}return false}_consume(){this.consumedAfterSnapshot++;return this.preprocessor.advance()}_advanceBy(Wt){this.consumedAfterSnapshot+=Wt;for(let Pt=0;Pt0){this._err(rn.ERR.endTagWithAttributes)}if(Wt.selfClosing){this._err(rn.ERR.endTagWithTrailingSolidus)}this.handler.onEndTag(Wt)}this.preprocessor.dropParsedChunk()}emitCurrentComment(Wt){this.prepareToken(Wt);this.handler.onComment(Wt);this.preprocessor.dropParsedChunk()}emitCurrentDoctype(Wt){this.prepareToken(Wt);this.handler.onDoctype(Wt);this.preprocessor.dropParsedChunk()}_emitCurrentCharacterToken(Wt){if(this.currentCharacterToken){if(Wt&&this.currentCharacterToken.location){this.currentCharacterToken.location.endLine=Wt.startLine;this.currentCharacterToken.location.endCol=Wt.startCol;this.currentCharacterToken.location.endOffset=Wt.startOffset}switch(this.currentCharacterToken.type){case an.TokenType.CHARACTER:{this.handler.onCharacter(this.currentCharacterToken);break}case an.TokenType.NULL_CHARACTER:{this.handler.onNullCharacter(this.currentCharacterToken);break}case an.TokenType.WHITESPACE_CHARACTER:{this.handler.onWhitespaceCharacter(this.currentCharacterToken);break}}this.currentCharacterToken=null}}_emitEOFToken(){const Wt=this.getCurrentLocation(0);if(Wt){Wt.endLine=Wt.startLine;Wt.endCol=Wt.startCol;Wt.endOffset=Wt.startOffset}this._emitCurrentCharacterToken(Wt);this.handler.onEof({type:an.TokenType.EOF,location:Wt});this.active=false}_appendCharToCurrentCharacterToken(Wt,Pt){if(this.currentCharacterToken){if(this.currentCharacterToken.type===Wt){this.currentCharacterToken.chars+=Pt;return}else{this.currentLocation=this.getCurrentLocation(0);this._emitCurrentCharacterToken(this.currentLocation);this.preprocessor.dropParsedChunk()}}this._createCharacterToken(Wt,Pt)}_emitCodePoint(Wt){const Pt=isWhitespace(Wt)?an.TokenType.WHITESPACE_CHARACTER:Wt===nn.CODE_POINTS.NULL?an.TokenType.NULL_CHARACTER:an.TokenType.CHARACTER;this._appendCharToCurrentCharacterToken(Pt,String.fromCodePoint(Wt))}_emitChars(Wt){this._appendCharToCurrentCharacterToken(an.TokenType.CHARACTER,Wt)}_startCharacterReference(){this.returnState=this.state;this.state=on.CHARACTER_REFERENCE;this.entityStartPos=this.preprocessor.pos;this.entityDecoder.startEntity(this._isCharacterReferenceInAttribute()?In.DecodingMode.Attribute:In.DecodingMode.Legacy)}_isCharacterReferenceInAttribute(){return this.returnState===on.ATTRIBUTE_VALUE_DOUBLE_QUOTED||this.returnState===on.ATTRIBUTE_VALUE_SINGLE_QUOTED||this.returnState===on.ATTRIBUTE_VALUE_UNQUOTED}_flushCodePointConsumedAsCharacterReference(Wt){if(this._isCharacterReferenceInAttribute()){this.currentAttr.value+=String.fromCodePoint(Wt)}else{this._emitCodePoint(Wt)}}_callState(Wt){switch(this.state){case on.DATA:{this._stateData(Wt);break}case on.RCDATA:{this._stateRcdata(Wt);break}case on.RAWTEXT:{this._stateRawtext(Wt);break}case on.SCRIPT_DATA:{this._stateScriptData(Wt);break}case on.PLAINTEXT:{this._statePlaintext(Wt);break}case on.TAG_OPEN:{this._stateTagOpen(Wt);break}case on.END_TAG_OPEN:{this._stateEndTagOpen(Wt);break}case on.TAG_NAME:{this._stateTagName(Wt);break}case on.RCDATA_LESS_THAN_SIGN:{this._stateRcdataLessThanSign(Wt);break}case on.RCDATA_END_TAG_OPEN:{this._stateRcdataEndTagOpen(Wt);break}case on.RCDATA_END_TAG_NAME:{this._stateRcdataEndTagName(Wt);break}case on.RAWTEXT_LESS_THAN_SIGN:{this._stateRawtextLessThanSign(Wt);break}case on.RAWTEXT_END_TAG_OPEN:{this._stateRawtextEndTagOpen(Wt);break}case on.RAWTEXT_END_TAG_NAME:{this._stateRawtextEndTagName(Wt);break}case on.SCRIPT_DATA_LESS_THAN_SIGN:{this._stateScriptDataLessThanSign(Wt);break}case on.SCRIPT_DATA_END_TAG_OPEN:{this._stateScriptDataEndTagOpen(Wt);break}case on.SCRIPT_DATA_END_TAG_NAME:{this._stateScriptDataEndTagName(Wt);break}case on.SCRIPT_DATA_ESCAPE_START:{this._stateScriptDataEscapeStart(Wt);break}case on.SCRIPT_DATA_ESCAPE_START_DASH:{this._stateScriptDataEscapeStartDash(Wt);break}case on.SCRIPT_DATA_ESCAPED:{this._stateScriptDataEscaped(Wt);break}case on.SCRIPT_DATA_ESCAPED_DASH:{this._stateScriptDataEscapedDash(Wt);break}case on.SCRIPT_DATA_ESCAPED_DASH_DASH:{this._stateScriptDataEscapedDashDash(Wt);break}case on.SCRIPT_DATA_ESCAPED_LESS_THAN_SIGN:{this._stateScriptDataEscapedLessThanSign(Wt);break}case on.SCRIPT_DATA_ESCAPED_END_TAG_OPEN:{this._stateScriptDataEscapedEndTagOpen(Wt);break}case on.SCRIPT_DATA_ESCAPED_END_TAG_NAME:{this._stateScriptDataEscapedEndTagName(Wt);break}case on.SCRIPT_DATA_DOUBLE_ESCAPE_START:{this._stateScriptDataDoubleEscapeStart(Wt);break}case on.SCRIPT_DATA_DOUBLE_ESCAPED:{this._stateScriptDataDoubleEscaped(Wt);break}case on.SCRIPT_DATA_DOUBLE_ESCAPED_DASH:{this._stateScriptDataDoubleEscapedDash(Wt);break}case on.SCRIPT_DATA_DOUBLE_ESCAPED_DASH_DASH:{this._stateScriptDataDoubleEscapedDashDash(Wt);break}case on.SCRIPT_DATA_DOUBLE_ESCAPED_LESS_THAN_SIGN:{this._stateScriptDataDoubleEscapedLessThanSign(Wt);break}case on.SCRIPT_DATA_DOUBLE_ESCAPE_END:{this._stateScriptDataDoubleEscapeEnd(Wt);break}case on.BEFORE_ATTRIBUTE_NAME:{this._stateBeforeAttributeName(Wt);break}case on.ATTRIBUTE_NAME:{this._stateAttributeName(Wt);break}case on.AFTER_ATTRIBUTE_NAME:{this._stateAfterAttributeName(Wt);break}case on.BEFORE_ATTRIBUTE_VALUE:{this._stateBeforeAttributeValue(Wt);break}case on.ATTRIBUTE_VALUE_DOUBLE_QUOTED:{this._stateAttributeValueDoubleQuoted(Wt);break}case on.ATTRIBUTE_VALUE_SINGLE_QUOTED:{this._stateAttributeValueSingleQuoted(Wt);break}case on.ATTRIBUTE_VALUE_UNQUOTED:{this._stateAttributeValueUnquoted(Wt);break}case on.AFTER_ATTRIBUTE_VALUE_QUOTED:{this._stateAfterAttributeValueQuoted(Wt);break}case on.SELF_CLOSING_START_TAG:{this._stateSelfClosingStartTag(Wt);break}case on.BOGUS_COMMENT:{this._stateBogusComment(Wt);break}case on.MARKUP_DECLARATION_OPEN:{this._stateMarkupDeclarationOpen(Wt);break}case on.COMMENT_START:{this._stateCommentStart(Wt);break}case on.COMMENT_START_DASH:{this._stateCommentStartDash(Wt);break}case on.COMMENT:{this._stateComment(Wt);break}case on.COMMENT_LESS_THAN_SIGN:{this._stateCommentLessThanSign(Wt);break}case on.COMMENT_LESS_THAN_SIGN_BANG:{this._stateCommentLessThanSignBang(Wt);break}case on.COMMENT_LESS_THAN_SIGN_BANG_DASH:{this._stateCommentLessThanSignBangDash(Wt);break}case on.COMMENT_LESS_THAN_SIGN_BANG_DASH_DASH:{this._stateCommentLessThanSignBangDashDash(Wt);break}case on.COMMENT_END_DASH:{this._stateCommentEndDash(Wt);break}case on.COMMENT_END:{this._stateCommentEnd(Wt);break}case on.COMMENT_END_BANG:{this._stateCommentEndBang(Wt);break}case on.DOCTYPE:{this._stateDoctype(Wt);break}case on.BEFORE_DOCTYPE_NAME:{this._stateBeforeDoctypeName(Wt);break}case on.DOCTYPE_NAME:{this._stateDoctypeName(Wt);break}case on.AFTER_DOCTYPE_NAME:{this._stateAfterDoctypeName(Wt);break}case on.AFTER_DOCTYPE_PUBLIC_KEYWORD:{this._stateAfterDoctypePublicKeyword(Wt);break}case on.BEFORE_DOCTYPE_PUBLIC_IDENTIFIER:{this._stateBeforeDoctypePublicIdentifier(Wt);break}case on.DOCTYPE_PUBLIC_IDENTIFIER_DOUBLE_QUOTED:{this._stateDoctypePublicIdentifierDoubleQuoted(Wt);break}case on.DOCTYPE_PUBLIC_IDENTIFIER_SINGLE_QUOTED:{this._stateDoctypePublicIdentifierSingleQuoted(Wt);break}case on.AFTER_DOCTYPE_PUBLIC_IDENTIFIER:{this._stateAfterDoctypePublicIdentifier(Wt);break}case on.BETWEEN_DOCTYPE_PUBLIC_AND_SYSTEM_IDENTIFIERS:{this._stateBetweenDoctypePublicAndSystemIdentifiers(Wt);break}case on.AFTER_DOCTYPE_SYSTEM_KEYWORD:{this._stateAfterDoctypeSystemKeyword(Wt);break}case on.BEFORE_DOCTYPE_SYSTEM_IDENTIFIER:{this._stateBeforeDoctypeSystemIdentifier(Wt);break}case on.DOCTYPE_SYSTEM_IDENTIFIER_DOUBLE_QUOTED:{this._stateDoctypeSystemIdentifierDoubleQuoted(Wt);break}case on.DOCTYPE_SYSTEM_IDENTIFIER_SINGLE_QUOTED:{this._stateDoctypeSystemIdentifierSingleQuoted(Wt);break}case on.AFTER_DOCTYPE_SYSTEM_IDENTIFIER:{this._stateAfterDoctypeSystemIdentifier(Wt);break}case on.BOGUS_DOCTYPE:{this._stateBogusDoctype(Wt);break}case on.CDATA_SECTION:{this._stateCdataSection(Wt);break}case on.CDATA_SECTION_BRACKET:{this._stateCdataSectionBracket(Wt);break}case on.CDATA_SECTION_END:{this._stateCdataSectionEnd(Wt);break}case on.CHARACTER_REFERENCE:{this._stateCharacterReference();break}case on.AMBIGUOUS_AMPERSAND:{this._stateAmbiguousAmpersand(Wt);break}default:{throw new Error("Unknown state")}}}_stateData(Wt){switch(Wt){case nn.CODE_POINTS.LESS_THAN_SIGN:{this.state=on.TAG_OPEN;break}case nn.CODE_POINTS.AMPERSAND:{this._startCharacterReference();break}case nn.CODE_POINTS.NULL:{this._err(rn.ERR.unexpectedNullCharacter);this._emitCodePoint(Wt);break}case nn.CODE_POINTS.EOF:{this._emitEOFToken();break}default:{this._emitCodePoint(Wt)}}}_stateRcdata(Wt){switch(Wt){case nn.CODE_POINTS.AMPERSAND:{this._startCharacterReference();break}case nn.CODE_POINTS.LESS_THAN_SIGN:{this.state=on.RCDATA_LESS_THAN_SIGN;break}case nn.CODE_POINTS.NULL:{this._err(rn.ERR.unexpectedNullCharacter);this._emitChars(nn.REPLACEMENT_CHARACTER);break}case nn.CODE_POINTS.EOF:{this._emitEOFToken();break}default:{this._emitCodePoint(Wt)}}}_stateRawtext(Wt){switch(Wt){case nn.CODE_POINTS.LESS_THAN_SIGN:{this.state=on.RAWTEXT_LESS_THAN_SIGN;break}case nn.CODE_POINTS.NULL:{this._err(rn.ERR.unexpectedNullCharacter);this._emitChars(nn.REPLACEMENT_CHARACTER);break}case nn.CODE_POINTS.EOF:{this._emitEOFToken();break}default:{this._emitCodePoint(Wt)}}}_stateScriptData(Wt){switch(Wt){case nn.CODE_POINTS.LESS_THAN_SIGN:{this.state=on.SCRIPT_DATA_LESS_THAN_SIGN;break}case nn.CODE_POINTS.NULL:{this._err(rn.ERR.unexpectedNullCharacter);this._emitChars(nn.REPLACEMENT_CHARACTER);break}case nn.CODE_POINTS.EOF:{this._emitEOFToken();break}default:{this._emitCodePoint(Wt)}}}_statePlaintext(Wt){switch(Wt){case nn.CODE_POINTS.NULL:{this._err(rn.ERR.unexpectedNullCharacter);this._emitChars(nn.REPLACEMENT_CHARACTER);break}case nn.CODE_POINTS.EOF:{this._emitEOFToken();break}default:{this._emitCodePoint(Wt)}}}_stateTagOpen(Wt){if(isAsciiLetter(Wt)){this._createStartTagToken();this.state=on.TAG_NAME;this._stateTagName(Wt)}else switch(Wt){case nn.CODE_POINTS.EXCLAMATION_MARK:{this.state=on.MARKUP_DECLARATION_OPEN;break}case nn.CODE_POINTS.SOLIDUS:{this.state=on.END_TAG_OPEN;break}case nn.CODE_POINTS.QUESTION_MARK:{this._err(rn.ERR.unexpectedQuestionMarkInsteadOfTagName);this._createCommentToken(1);this.state=on.BOGUS_COMMENT;this._stateBogusComment(Wt);break}case nn.CODE_POINTS.EOF:{this._err(rn.ERR.eofBeforeTagName);this._emitChars("<");this._emitEOFToken();break}default:{this._err(rn.ERR.invalidFirstCharacterOfTagName);this._emitChars("<");this.state=on.DATA;this._stateData(Wt)}}}_stateEndTagOpen(Wt){if(isAsciiLetter(Wt)){this._createEndTagToken();this.state=on.TAG_NAME;this._stateTagName(Wt)}else switch(Wt){case nn.CODE_POINTS.GREATER_THAN_SIGN:{this._err(rn.ERR.missingEndTagName);this.state=on.DATA;break}case nn.CODE_POINTS.EOF:{this._err(rn.ERR.eofBeforeTagName);this._emitChars("");break}case nn.CODE_POINTS.NULL:{this._err(rn.ERR.unexpectedNullCharacter);this.state=on.SCRIPT_DATA_ESCAPED;this._emitChars(nn.REPLACEMENT_CHARACTER);break}case nn.CODE_POINTS.EOF:{this._err(rn.ERR.eofInScriptHtmlCommentLikeText);this._emitEOFToken();break}default:{this.state=on.SCRIPT_DATA_ESCAPED;this._emitCodePoint(Wt)}}}_stateScriptDataEscapedLessThanSign(Wt){if(Wt===nn.CODE_POINTS.SOLIDUS){this.state=on.SCRIPT_DATA_ESCAPED_END_TAG_OPEN}else if(isAsciiLetter(Wt)){this._emitChars("<");this.state=on.SCRIPT_DATA_DOUBLE_ESCAPE_START;this._stateScriptDataDoubleEscapeStart(Wt)}else{this._emitChars("<");this.state=on.SCRIPT_DATA_ESCAPED;this._stateScriptDataEscaped(Wt)}}_stateScriptDataEscapedEndTagOpen(Wt){if(isAsciiLetter(Wt)){this.state=on.SCRIPT_DATA_ESCAPED_END_TAG_NAME;this._stateScriptDataEscapedEndTagName(Wt)}else{this._emitChars("");break}case nn.CODE_POINTS.NULL:{this._err(rn.ERR.unexpectedNullCharacter);this.state=on.SCRIPT_DATA_DOUBLE_ESCAPED;this._emitChars(nn.REPLACEMENT_CHARACTER);break}case nn.CODE_POINTS.EOF:{this._err(rn.ERR.eofInScriptHtmlCommentLikeText);this._emitEOFToken();break}default:{this.state=on.SCRIPT_DATA_DOUBLE_ESCAPED;this._emitCodePoint(Wt)}}}_stateScriptDataDoubleEscapedLessThanSign(Wt){if(Wt===nn.CODE_POINTS.SOLIDUS){this.state=on.SCRIPT_DATA_DOUBLE_ESCAPE_END;this._emitChars("/")}else{this.state=on.SCRIPT_DATA_DOUBLE_ESCAPED;this._stateScriptDataDoubleEscaped(Wt)}}_stateScriptDataDoubleEscapeEnd(Wt){if(this.preprocessor.startsWith(nn.SEQUENCES.SCRIPT,false)&&isScriptDataDoubleEscapeSequenceEnd(this.preprocessor.peek(nn.SEQUENCES.SCRIPT.length))){this._emitCodePoint(Wt);for(let Wt=0;Wt{Object.defineProperty(Pt,"__esModule",{value:true});Pt.Preprocessor=void 0;const tn=en(73616);const nn=en(69322);const an=1<<16;class Preprocessor{constructor(Wt){this.handler=Wt;this.html="";this.pos=-1;this.lastGapPos=-2;this.gapStack=[];this.skipNextNewLine=false;this.lastChunkWritten=false;this.endOfChunkHit=false;this.bufferWaterline=an;this.isEol=false;this.lineStartPos=0;this.droppedBufferSize=0;this.line=1;this.lastErrOffset=-1}get col(){return this.pos-this.lineStartPos+Number(this.lastGapPos!==this.pos)}get offset(){return this.droppedBufferSize+this.pos}getError(Wt,Pt){const{line:en,col:tn,offset:nn}=this;const an=tn+Pt;const In=nn+Pt;return{code:Wt,startLine:en,endLine:en,startCol:an,endCol:an,startOffset:In,endOffset:In}}_err(Wt){if(this.handler.onParseError&&this.lastErrOffset!==this.offset){this.lastErrOffset=this.offset;this.handler.onParseError(this.getError(Wt,0))}}_addGap(){this.gapStack.push(this.lastGapPos);this.lastGapPos=this.pos}_processSurrogate(Wt){if(this.pos!==this.html.length-1){const Pt=this.html.charCodeAt(this.pos+1);if((0,tn.isSurrogatePair)(Pt)){this.pos++;this._addGap();return(0,tn.getSurrogatePairCodePoint)(Wt,Pt)}}else if(!this.lastChunkWritten){this.endOfChunkHit=true;return tn.CODE_POINTS.EOF}this._err(nn.ERR.surrogateInInputStream);return Wt}willDropParsedChunk(){return this.pos>this.bufferWaterline}dropParsedChunk(){if(this.willDropParsedChunk()){this.html=this.html.substring(this.pos);this.lineStartPos-=this.pos;this.droppedBufferSize+=this.pos;this.pos=0;this.lastGapPos=-2;this.gapStack.length=0}}write(Wt,Pt){if(this.html.length>0){this.html+=Wt}else{this.html=Wt}this.endOfChunkHit=false;this.lastChunkWritten=Pt}insertHtmlAtCurrentPos(Wt){this.html=this.html.substring(0,this.pos+1)+Wt+this.html.substring(this.pos+1);this.endOfChunkHit=false}startsWith(Wt,Pt){if(this.pos+Wt.length>this.html.length){this.endOfChunkHit=!this.lastChunkWritten;return false}if(Pt){return this.html.startsWith(Wt,this.pos)}for(let Pt=0;Pt=this.html.length){this.endOfChunkHit=!this.lastChunkWritten;return tn.CODE_POINTS.EOF}const en=this.html.charCodeAt(Pt);return en===tn.CODE_POINTS.CARRIAGE_RETURN?tn.CODE_POINTS.LINE_FEED:en}advance(){this.pos++;if(this.isEol){this.isEol=false;this.line++;this.lineStartPos=this.pos}if(this.pos>=this.html.length){this.endOfChunkHit=!this.lastChunkWritten;return tn.CODE_POINTS.EOF}let Wt=this.html.charCodeAt(this.pos);if(Wt===tn.CODE_POINTS.CARRIAGE_RETURN){this.isEol=true;this.skipNextNewLine=true;return tn.CODE_POINTS.LINE_FEED}if(Wt===tn.CODE_POINTS.LINE_FEED){this.isEol=true;if(this.skipNextNewLine){this.line--;this.skipNextNewLine=false;this._addGap();return this.advance()}}this.skipNextNewLine=false;if((0,tn.isSurrogate)(Wt)){Wt=this._processSurrogate(Wt)}const Pt=this.handler.onParseError===null||Wt>31&&Wt<127||Wt===tn.CODE_POINTS.LINE_FEED||Wt===tn.CODE_POINTS.CARRIAGE_RETURN||Wt>159&&Wt<64976;if(!Pt){this._checkForProblematicCharacters(Wt)}return Wt}_checkForProblematicCharacters(Wt){if((0,tn.isControlCodePoint)(Wt)){this._err(nn.ERR.controlCharacterInInputStream)}else if((0,tn.isUndefinedCodePoint)(Wt)){this._err(nn.ERR.noncharacterInInputStream)}}retreat(Wt){this.pos-=Wt;while(this.pos{Object.defineProperty(Pt,"__esModule",{value:true});Pt.defaultTreeAdapter=void 0;const tn=en(81510);Pt.defaultTreeAdapter={createDocument(){return{nodeName:"#document",mode:tn.DOCUMENT_MODE.NO_QUIRKS,childNodes:[]}},createDocumentFragment(){return{nodeName:"#document-fragment",childNodes:[]}},createElement(Wt,Pt,en){return{nodeName:Wt,tagName:Wt,attrs:en,namespaceURI:Pt,childNodes:[],parentNode:null}},createCommentNode(Wt){return{nodeName:"#comment",data:Wt,parentNode:null}},createTextNode(Wt){return{nodeName:"#text",value:Wt,parentNode:null}},appendChild(Wt,Pt){Wt.childNodes.push(Pt);Pt.parentNode=Wt},insertBefore(Wt,Pt,en){const tn=Wt.childNodes.indexOf(en);Wt.childNodes.splice(tn,0,Pt);Pt.parentNode=Wt},setTemplateContent(Wt,Pt){Wt.content=Pt},getTemplateContent(Wt){return Wt.content},setDocumentType(Wt,en,tn,nn){const an=Wt.childNodes.find((Wt=>Wt.nodeName==="#documentType"));if(an){an.name=en;an.publicId=tn;an.systemId=nn}else{const an={nodeName:"#documentType",name:en,publicId:tn,systemId:nn,parentNode:null};Pt.defaultTreeAdapter.appendChild(Wt,an)}},setDocumentMode(Wt,Pt){Wt.mode=Pt},getDocumentMode(Wt){return Wt.mode},detachNode(Wt){if(Wt.parentNode){const Pt=Wt.parentNode.childNodes.indexOf(Wt);Wt.parentNode.childNodes.splice(Pt,1);Wt.parentNode=null}},insertText(Wt,en){if(Wt.childNodes.length>0){const tn=Wt.childNodes[Wt.childNodes.length-1];if(Pt.defaultTreeAdapter.isTextNode(tn)){tn.value+=en;return}}Pt.defaultTreeAdapter.appendChild(Wt,Pt.defaultTreeAdapter.createTextNode(en))},insertTextBefore(Wt,en,tn){const nn=Wt.childNodes[Wt.childNodes.indexOf(tn)-1];if(nn&&Pt.defaultTreeAdapter.isTextNode(nn)){nn.value+=en}else{Pt.defaultTreeAdapter.insertBefore(Wt,Pt.defaultTreeAdapter.createTextNode(en),tn)}},adoptAttributes(Wt,Pt){const en=new Set(Wt.attrs.map((Wt=>Wt.name)));for(let tn=0;tn{var tn=en(41127);var nn=en(63301);var an=en(84454);var In=en(92223);var rn=en(87103);var sn=en(90334);var on=en(13142);function resolveCollection(Wt,Pt,en,tn,nn,an){const In=en.type==="block-map"?rn.resolveBlockMap(Wt,Pt,en,tn,an):en.type==="block-seq"?sn.resolveBlockSeq(Wt,Pt,en,tn,an):on.resolveFlowCollection(Wt,Pt,en,tn,an);const cn=In.constructor;if(nn==="!"||nn===cn.tagName){In.tag=cn.tagName;return In}if(nn)In.tag=nn;return In}function composeCollection(Wt,Pt,en,rn,sn){const on=rn.tag;const cn=!on?null:Pt.directives.tagName(on.source,(Wt=>sn(on,"TAG_RESOLVE_FAILED",Wt)));if(en.type==="block-seq"){const{anchor:Wt,newlineAfterProp:Pt}=rn;const en=Wt&&on?Wt.offset>on.offset?Wt:on:Wt??on;if(en&&(!Pt||Pt.offsetWt.tag===cn&&Wt.collection===dn));if(!un){const tn=Pt.schema.knownTags[cn];if(tn&&tn.collection===dn){Pt.schema.tags.push(Object.assign({},tn,{default:false}));un=tn}else{if(tn?.collection){sn(on,"BAD_COLLECTION_TYPE",`${tn.tag} used for ${dn} collection, but expects ${tn.collection}`,true)}else{sn(on,"TAG_RESOLVE_FAILED",`Unresolved tag: ${cn}`,true)}return resolveCollection(Wt,Pt,en,sn,cn)}}const pn=resolveCollection(Wt,Pt,en,sn,cn,un);const mn=un.resolve?.(pn,(Wt=>sn(on,"TAG_RESOLVE_FAILED",Wt)),Pt.options)??pn;const bn=tn.isNode(mn)?mn:new nn.Scalar(mn);bn.range=pn.range;bn.tag=cn;if(un?.format)bn.format=un.format;return bn}Pt.composeCollection=composeCollection},23683:(Wt,Pt,en)=>{var tn=en(3021);var nn=en(45937);var an=en(17788);var In=en(34631);function composeDoc(Wt,Pt,{offset:en,start:rn,value:sn,end:on},cn){const dn=Object.assign({_directives:Pt},Wt);const un=new tn.Document(undefined,dn);const pn={atKey:false,atRoot:true,directives:un.directives,options:un.options,schema:un.schema};const mn=In.resolveProps(rn,{indicator:"doc-start",next:sn??on?.[0],offset:en,onError:cn,parentIndent:0,startOnNewline:true});if(mn.found){un.directives.docStart=true;if(sn&&(sn.type==="block-map"||sn.type==="block-seq")&&!mn.hasNewline)cn(mn.end,"MISSING_CHAR","Block collection cannot start on same line with directives-end marker")}un.contents=sn?nn.composeNode(pn,sn,mn,cn):nn.composeEmptyNode(pn,mn.end,rn,null,mn,cn);const bn=un.contents.range[2];const Gn=an.resolveEnd(on,bn,false,cn);if(Gn.comment)un.comment=Gn.comment;un.range=[en,bn,Gn.offset];return un}Pt.composeDoc=composeDoc},45937:(Wt,Pt,en)=>{var tn=en(4065);var nn=en(41127);var an=en(57349);var In=en(5413);var rn=en(17788);var sn=en(22599);const on={composeNode:composeNode,composeEmptyNode:composeEmptyNode};function composeNode(Wt,Pt,en,tn){const rn=Wt.atKey;const{spaceBefore:sn,comment:cn,anchor:dn,tag:un}=en;let pn;let mn=true;switch(Pt.type){case"alias":pn=composeAlias(Wt,Pt,tn);if(dn||un)tn(Pt,"ALIAS_PROPS","An alias node must not specify any properties");break;case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":case"block-scalar":pn=In.composeScalar(Wt,Pt,un,tn);if(dn)pn.anchor=dn.source.substring(1);break;case"block-map":case"block-seq":case"flow-collection":pn=an.composeCollection(on,Wt,Pt,en,tn);if(dn)pn.anchor=dn.source.substring(1);break;default:{const nn=Pt.type==="error"?Pt.message:`Unsupported token (type: ${Pt.type})`;tn(Pt,"UNEXPECTED_TOKEN",nn);pn=composeEmptyNode(Wt,Pt.offset,undefined,null,en,tn);mn=false}}if(dn&&pn.anchor==="")tn(dn,"BAD_ALIAS","Anchor cannot be an empty string");if(rn&&Wt.options.stringKeys&&(!nn.isScalar(pn)||typeof pn.value!=="string"||pn.tag&&pn.tag!=="tag:yaml.org,2002:str")){const Wt="With stringKeys, all keys must be strings";tn(un??Pt,"NON_STRING_KEY",Wt)}if(sn)pn.spaceBefore=true;if(cn){if(Pt.type==="scalar"&&Pt.source==="")pn.comment=cn;else pn.commentBefore=cn}if(Wt.options.keepSourceTokens&&mn)pn.srcToken=Pt;return pn}function composeEmptyNode(Wt,Pt,en,tn,{spaceBefore:nn,comment:an,anchor:rn,tag:on,end:cn},dn){const un={type:"scalar",offset:sn.emptyScalarPosition(Pt,en,tn),indent:-1,source:""};const pn=In.composeScalar(Wt,un,on,dn);if(rn){pn.anchor=rn.source.substring(1);if(pn.anchor==="")dn(rn,"BAD_ALIAS","Anchor cannot be an empty string")}if(nn)pn.spaceBefore=true;if(an){pn.comment=an;pn.range[2]=cn}return pn}function composeAlias({options:Wt},{offset:Pt,source:en,end:nn},an){const In=new tn.Alias(en.substring(1));if(In.source==="")an(Pt,"BAD_ALIAS","Alias cannot be an empty string");if(In.source.endsWith(":"))an(Pt+en.length-1,"BAD_ALIAS","Alias ending in : is ambiguous",true);const sn=Pt+en.length;const on=rn.resolveEnd(nn,sn,Wt.strict,an);In.range=[Pt,sn,on.offset];if(on.comment)In.comment=on.comment;return In}Pt.composeEmptyNode=composeEmptyNode;Pt.composeNode=composeNode},5413:(Wt,Pt,en)=>{var tn=en(41127);var nn=en(63301);var an=en(48913);var In=en(76842);function composeScalar(Wt,Pt,en,rn){const{value:sn,type:on,comment:cn,range:dn}=Pt.type==="block-scalar"?an.resolveBlockScalar(Wt,Pt,rn):In.resolveFlowScalar(Pt,Wt.options.strict,rn);const un=en?Wt.directives.tagName(en.source,(Wt=>rn(en,"TAG_RESOLVE_FAILED",Wt))):null;let pn;if(Wt.options.stringKeys&&Wt.atKey){pn=Wt.schema[tn.SCALAR]}else if(un)pn=findScalarTagByName(Wt.schema,sn,un,en,rn);else if(Pt.type==="scalar")pn=findScalarTagByTest(Wt,sn,Pt,rn);else pn=Wt.schema[tn.SCALAR];let mn;try{const an=pn.resolve(sn,(Wt=>rn(en??Pt,"TAG_RESOLVE_FAILED",Wt)),Wt.options);mn=tn.isScalar(an)?an:new nn.Scalar(an)}catch(Wt){const tn=Wt instanceof Error?Wt.message:String(Wt);rn(en??Pt,"TAG_RESOLVE_FAILED",tn);mn=new nn.Scalar(sn)}mn.range=dn;mn.source=sn;if(on)mn.type=on;if(un)mn.tag=un;if(pn.format)mn.format=pn.format;if(cn)mn.comment=cn;return mn}function findScalarTagByName(Wt,Pt,en,nn,an){if(en==="!")return Wt[tn.SCALAR];const In=[];for(const Pt of Wt.tags){if(!Pt.collection&&Pt.tag===en){if(Pt.default&&Pt.test)In.push(Pt);else return Pt}}for(const Wt of In)if(Wt.test?.test(Pt))return Wt;const rn=Wt.knownTags[en];if(rn&&!rn.collection){Wt.tags.push(Object.assign({},rn,{default:false,test:undefined}));return rn}an(nn,"TAG_RESOLVE_FAILED",`Unresolved tag: ${en}`,en!=="tag:yaml.org,2002:str");return Wt[tn.SCALAR]}function findScalarTagByTest({atKey:Wt,directives:Pt,schema:en},nn,an,In){const rn=en.tags.find((Pt=>(Pt.default===true||Wt&&Pt.default==="key")&&Pt.test?.test(nn)))||en[tn.SCALAR];if(en.compat){const Wt=en.compat.find((Wt=>Wt.default&&Wt.test?.test(nn)))??en[tn.SCALAR];if(rn.tag!==Wt.tag){const en=Pt.tagString(rn.tag);const tn=Pt.tagString(Wt.tag);const nn=`Value may be parsed as either ${en} or ${tn}`;In(an,"TAG_RESOLVE_FAILED",nn,true)}}return rn}Pt.composeScalar=composeScalar},89984:(Wt,Pt,en)=>{var tn=en(61342);var nn=en(3021);var an=en(91464);var In=en(41127);var rn=en(23683);var sn=en(17788);function getErrorPos(Wt){if(typeof Wt==="number")return[Wt,Wt+1];if(Array.isArray(Wt))return Wt.length===2?Wt:[Wt[0],Wt[1]];const{offset:Pt,source:en}=Wt;return[Pt,Pt+(typeof en==="string"?en.length:1)]}function parsePrelude(Wt){let Pt="";let en=false;let tn=false;for(let nn=0;nn{const nn=getErrorPos(Wt);if(tn)this.warnings.push(new an.YAMLWarning(nn,Pt,en));else this.errors.push(new an.YAMLParseError(nn,Pt,en))};this.directives=new tn.Directives({version:Wt.version||"1.2"});this.options=Wt}decorate(Wt,Pt){const{comment:en,afterEmptyLine:tn}=parsePrelude(this.prelude);if(en){const nn=Wt.contents;if(Pt){Wt.comment=Wt.comment?`${Wt.comment}\n${en}`:en}else if(tn||Wt.directives.docStart||!nn){Wt.commentBefore=en}else if(In.isCollection(nn)&&!nn.flow&&nn.items.length>0){let Wt=nn.items[0];if(In.isPair(Wt))Wt=Wt.key;const Pt=Wt.commentBefore;Wt.commentBefore=Pt?`${en}\n${Pt}`:en}else{const Wt=nn.commentBefore;nn.commentBefore=Wt?`${en}\n${Wt}`:en}}if(Pt){Array.prototype.push.apply(Wt.errors,this.errors);Array.prototype.push.apply(Wt.warnings,this.warnings)}else{Wt.errors=this.errors;Wt.warnings=this.warnings}this.prelude=[];this.errors=[];this.warnings=[]}streamInfo(){return{comment:parsePrelude(this.prelude).comment,directives:this.directives,errors:this.errors,warnings:this.warnings}}*compose(Wt,Pt=false,en=-1){for(const Pt of Wt)yield*this.next(Pt);yield*this.end(Pt,en)}*next(Wt){if(process.env.LOG_STREAM)console.dir(Wt,{depth:null});switch(Wt.type){case"directive":this.directives.add(Wt.source,((Pt,en,tn)=>{const nn=getErrorPos(Wt);nn[0]+=Pt;this.onError(nn,"BAD_DIRECTIVE",en,tn)}));this.prelude.push(Wt.source);this.atDirectives=true;break;case"document":{const Pt=rn.composeDoc(this.options,this.directives,Wt,this.onError);if(this.atDirectives&&!Pt.directives.docStart)this.onError(Wt,"MISSING_CHAR","Missing directives-end/doc-start indicator line");this.decorate(Pt,false);if(this.doc)yield this.doc;this.doc=Pt;this.atDirectives=false;break}case"byte-order-mark":case"space":break;case"comment":case"newline":this.prelude.push(Wt.source);break;case"error":{const Pt=Wt.source?`${Wt.message}: ${JSON.stringify(Wt.source)}`:Wt.message;const en=new an.YAMLParseError(getErrorPos(Wt),"UNEXPECTED_TOKEN",Pt);if(this.atDirectives||!this.doc)this.errors.push(en);else this.doc.errors.push(en);break}case"doc-end":{if(!this.doc){const Pt="Unexpected doc-end without preceding document";this.errors.push(new an.YAMLParseError(getErrorPos(Wt),"UNEXPECTED_TOKEN",Pt));break}this.doc.directives.docEnd=true;const Pt=sn.resolveEnd(Wt.end,Wt.offset+Wt.source.length,this.doc.options.strict,this.onError);this.decorate(this.doc,true);if(Pt.comment){const Wt=this.doc.comment;this.doc.comment=Wt?`${Wt}\n${Pt.comment}`:Pt.comment}this.doc.range[2]=Pt.offset;break}default:this.errors.push(new an.YAMLParseError(getErrorPos(Wt),"UNEXPECTED_TOKEN",`Unsupported token ${Wt.type}`))}}*end(Wt=false,Pt=-1){if(this.doc){this.decorate(this.doc,true);yield this.doc;this.doc=null}else if(Wt){const Wt=Object.assign({_directives:this.directives},this.options);const en=new nn.Document(undefined,Wt);if(this.atDirectives)this.onError(Pt,"MISSING_CHAR","Missing directives-end indicator line");en.range=[0,Pt,Pt];this.decorate(en,false);yield en}}}Pt.Composer=Composer},87103:(Wt,Pt,en)=>{var tn=en(57165);var nn=en(84454);var an=en(34631);var In=en(9499);var rn=en(74051);var sn=en(81187);const on="All mapping items must start at the same column";function resolveBlockMap({composeNode:Wt,composeEmptyNode:Pt},en,cn,dn,un){const pn=un?.nodeClass??nn.YAMLMap;const mn=new pn(en.schema);if(en.atRoot)en.atRoot=false;let bn=cn.offset;let Gn=null;for(const nn of cn.items){const{start:un,key:pn,sep:hn,value:Zn}=nn;const An=an.resolveProps(un,{indicator:"explicit-key-ind",next:pn??hn?.[0],offset:bn,onError:dn,parentIndent:cn.indent,startOnNewline:true});const Wn=!An.found;if(Wn){if(pn){if(pn.type==="block-seq")dn(bn,"BLOCK_AS_IMPLICIT_KEY","A block sequence may not be used as an implicit map key");else if("indent"in pn&&pn.indent!==cn.indent)dn(bn,"BAD_INDENT",on)}if(!An.anchor&&!An.tag&&!hn){Gn=An.end;if(An.comment){if(mn.comment)mn.comment+="\n"+An.comment;else mn.comment=An.comment}continue}if(An.newlineAfterProp||In.containsNewline(pn)){dn(pn??un[un.length-1],"MULTILINE_IMPLICIT_KEY","Implicit keys need to be on a single line")}}else if(An.found?.indent!==cn.indent){dn(bn,"BAD_INDENT",on)}en.atKey=true;const Nn=An.end;const gn=pn?Wt(en,pn,An,dn):Pt(en,Nn,un,null,An,dn);if(en.schema.compat)rn.flowIndentCheck(cn.indent,pn,dn);en.atKey=false;if(sn.mapIncludes(en,mn.items,gn))dn(Nn,"DUPLICATE_KEY","Map keys must be unique");const yn=an.resolveProps(hn??[],{indicator:"map-value-ind",next:Zn,offset:gn.range[2],onError:dn,parentIndent:cn.indent,startOnNewline:!pn||pn.type==="block-scalar"});bn=yn.end;if(yn.found){if(Wn){if(Zn?.type==="block-map"&&!yn.hasNewline)dn(bn,"BLOCK_AS_IMPLICIT_KEY","Nested mappings are not allowed in compact mappings");if(en.options.strict&&An.start{var tn=en(63301);function resolveBlockScalar(Wt,Pt,en){const nn=Pt.offset;const an=parseBlockScalarHeader(Pt,Wt.options.strict,en);if(!an)return{value:"",type:null,comment:"",range:[nn,nn,nn]};const In=an.mode===">"?tn.Scalar.BLOCK_FOLDED:tn.Scalar.BLOCK_LITERAL;const rn=Pt.source?splitLines(Pt.source):[];let sn=rn.length;for(let Wt=rn.length-1;Wt>=0;--Wt){const Pt=rn[Wt][1];if(Pt===""||Pt==="\r")sn=Wt;else break}if(sn===0){const Wt=an.chomp==="+"&&rn.length>0?"\n".repeat(Math.max(1,rn.length-1)):"";let en=nn+an.length;if(Pt.source)en+=Pt.source.length;return{value:Wt,type:In,comment:an.comment,range:[nn,en,en]}}let on=Pt.indent+an.indent;let cn=Pt.offset+an.length;let dn=0;for(let Pt=0;Pton)on=tn.length}else{if(tn.length=sn;--Wt){if(rn[Wt][0].length>on)sn=Wt+1}let un="";let pn="";let mn=false;for(let Wt=0;Wton||nn[0]==="\t"){if(pn===" ")pn="\n";else if(!mn&&pn==="\n")pn="\n\n";un+=pn+Pt.slice(on)+nn;pn="\n";mn=true}else if(nn===""){if(pn==="\n")un+="\n";else pn="\n"}else{un+=pn+nn;pn=" ";mn=false}}switch(an.chomp){case"-":break;case"+":for(let Wt=sn;Wt{var tn=en(92223);var nn=en(34631);var an=en(74051);function resolveBlockSeq({composeNode:Wt,composeEmptyNode:Pt},en,In,rn,sn){const on=sn?.nodeClass??tn.YAMLSeq;const cn=new on(en.schema);if(en.atRoot)en.atRoot=false;if(en.atKey)en.atKey=false;let dn=In.offset;let un=null;for(const{start:tn,value:sn}of In.items){const on=nn.resolveProps(tn,{indicator:"seq-item-ind",next:sn,offset:dn,onError:rn,parentIndent:In.indent,startOnNewline:true});if(!on.found){if(on.anchor||on.tag||sn){if(sn&&sn.type==="block-seq")rn(on.end,"BAD_INDENT","All sequence items must start at the same column");else rn(dn,"MISSING_CHAR","Sequence item without - indicator")}else{un=on.end;if(on.comment)cn.comment=on.comment;continue}}const pn=sn?Wt(en,sn,on,rn):Pt(en,on.end,tn,null,on,rn);if(en.schema.compat)an.flowIndentCheck(In.indent,sn,rn);dn=pn.range[2];cn.items.push(pn)}cn.range=[In.offset,dn,un??dn];return cn}Pt.resolveBlockSeq=resolveBlockSeq},17788:(Wt,Pt)=>{function resolveEnd(Wt,Pt,en,tn){let nn="";if(Wt){let an=false;let In="";for(const rn of Wt){const{source:Wt,type:sn}=rn;switch(sn){case"space":an=true;break;case"comment":{if(en&&!an)tn(rn,"MISSING_CHAR","Comments must be separated from other tokens by white space characters");const Pt=Wt.substring(1)||" ";if(!nn)nn=Pt;else nn+=In+Pt;In="";break}case"newline":if(nn)In+=Wt;an=true;break;default:tn(rn,"UNEXPECTED_TOKEN",`Unexpected ${sn} at node end`)}Pt+=Wt.length}}return{comment:nn,offset:Pt}}Pt.resolveEnd=resolveEnd},13142:(Wt,Pt,en)=>{var tn=en(41127);var nn=en(57165);var an=en(84454);var In=en(92223);var rn=en(17788);var sn=en(34631);var on=en(9499);var cn=en(81187);const dn="Block collections are not allowed within flow collections";const isBlock=Wt=>Wt&&(Wt.type==="block-map"||Wt.type==="block-seq");function resolveFlowCollection({composeNode:Wt,composeEmptyNode:Pt},en,un,pn,mn){const bn=un.start.source==="{";const Gn=bn?"flow map":"flow sequence";const hn=mn?.nodeClass??(bn?an.YAMLMap:In.YAMLSeq);const Zn=new hn(en.schema);Zn.flow=true;const An=en.atRoot;if(An)en.atRoot=false;if(en.atKey)en.atKey=false;let Wn=un.offset+un.start.source.length;for(let In=0;In0){const Wt=rn.resolveEnd(yn,vn,en.options.strict,pn);if(Wt.comment){if(Zn.comment)Zn.comment+="\n"+Wt.comment;else Zn.comment=Wt.comment}Zn.range=[un.offset,vn,Wt.offset]}else{Zn.range=[un.offset,vn,vn]}return Zn}Pt.resolveFlowCollection=resolveFlowCollection},76842:(Wt,Pt,en)=>{var tn=en(63301);var nn=en(17788);function resolveFlowScalar(Wt,Pt,en){const{offset:an,type:In,source:rn,end:sn}=Wt;let on;let cn;const _onError=(Wt,Pt,tn)=>en(an+Wt,Pt,tn);switch(In){case"scalar":on=tn.Scalar.PLAIN;cn=plainValue(rn,_onError);break;case"single-quoted-scalar":on=tn.Scalar.QUOTE_SINGLE;cn=singleQuotedValue(rn,_onError);break;case"double-quoted-scalar":on=tn.Scalar.QUOTE_DOUBLE;cn=doubleQuotedValue(rn,_onError);break;default:en(Wt,"UNEXPECTED_TOKEN",`Expected a flow scalar value, but found: ${In}`);return{value:"",type:null,comment:"",range:[an,an+rn.length,an+rn.length]}}const dn=an+rn.length;const un=nn.resolveEnd(sn,dn,Pt,en);return{value:cn,type:on,comment:un.comment,range:[an,dn,un.offset]}}function plainValue(Wt,Pt){let en="";switch(Wt[0]){case"\t":en="a tab character";break;case",":en="flow indicator character ,";break;case"%":en="directive indicator character %";break;case"|":case">":{en=`block scalar indicator ${Wt[0]}`;break}case"@":case"`":{en=`reserved character ${Wt[0]}`;break}}if(en)Pt(0,"BAD_SCALAR_START",`Plain value cannot start with ${en}`);return foldLines(Wt)}function singleQuotedValue(Wt,Pt){if(Wt[Wt.length-1]!=="'"||Wt.length===1)Pt(Wt.length,"MISSING_CHAR","Missing closing 'quote");return foldLines(Wt.slice(1,-1)).replace(/''/g,"'")}function foldLines(Wt){let Pt,en;try{Pt=new RegExp("(.*?)(?Pt?Wt.slice(Pt,tn+1):nn}else{en+=nn}}if(Wt[Wt.length-1]!=='"'||Wt.length===1)Pt(Wt.length,"MISSING_CHAR",'Missing closing "quote');return en}function foldNewline(Wt,Pt){let en="";let tn=Wt[Pt+1];while(tn===" "||tn==="\t"||tn==="\n"||tn==="\r"){if(tn==="\r"&&Wt[Pt+2]!=="\n")break;if(tn==="\n")en+="\n";Pt+=1;tn=Wt[Pt+1]}if(!en)en=" ";return{fold:en,offset:Pt}}const an={0:"\0",a:"",b:"\b",e:"",f:"\f",n:"\n",r:"\r",t:"\t",v:"\v",N:"…",_:" ",L:"\u2028",P:"\u2029"," ":" ",'"':'"',"/":"/","\\":"\\","\t":"\t"};function parseCharCode(Wt,Pt,en,tn){const nn=Wt.substr(Pt,en);const an=nn.length===en&&/^[0-9a-fA-F]+$/.test(nn);const In=an?parseInt(nn,16):NaN;if(isNaN(In)){const nn=Wt.substr(Pt-2,en+2);tn(Pt-2,"BAD_DQ_ESCAPE",`Invalid escape sequence ${nn}`);return nn}return String.fromCodePoint(In)}Pt.resolveFlowScalar=resolveFlowScalar},34631:(Wt,Pt)=>{function resolveProps(Wt,{flow:Pt,indicator:en,next:tn,offset:nn,onError:an,parentIndent:In,startOnNewline:rn}){let sn=false;let on=rn;let cn=rn;let dn="";let un="";let pn=false;let mn=false;let bn=null;let Gn=null;let hn=null;let Zn=null;let An=null;let Wn=null;let Nn=null;for(const nn of Wt){if(mn){if(nn.type!=="space"&&nn.type!=="newline"&&nn.type!=="comma")an(nn.offset,"MISSING_CHAR","Tags and anchors must be separated from the next token by white space");mn=false}if(bn){if(on&&nn.type!=="comment"&&nn.type!=="newline"){an(bn,"TAB_AS_INDENT","Tabs are not allowed as indentation")}bn=null}switch(nn.type){case"space":if(!Pt&&(en!=="doc-start"||tn?.type!=="flow-collection")&&nn.source.includes("\t")){bn=nn}cn=true;break;case"comment":{if(!cn)an(nn,"MISSING_CHAR","Comments must be separated from other tokens by white space characters");const Wt=nn.source.substring(1)||" ";if(!dn)dn=Wt;else dn+=un+Wt;un="";on=false;break}case"newline":if(on){if(dn)dn+=nn.source;else sn=true}else un+=nn.source;on=true;pn=true;if(Gn||hn)Zn=nn;cn=true;break;case"anchor":if(Gn)an(nn,"MULTIPLE_ANCHORS","A node can have at most one anchor");if(nn.source.endsWith(":"))an(nn.offset+nn.source.length-1,"BAD_ALIAS","Anchor ending in : is ambiguous",true);Gn=nn;if(Nn===null)Nn=nn.offset;on=false;cn=false;mn=true;break;case"tag":{if(hn)an(nn,"MULTIPLE_TAGS","A node can have at most one tag");hn=nn;if(Nn===null)Nn=nn.offset;on=false;cn=false;mn=true;break}case en:if(Gn||hn)an(nn,"BAD_PROP_ORDER",`Anchors and tags must be after the ${nn.source} indicator`);if(Wn)an(nn,"UNEXPECTED_TOKEN",`Unexpected ${nn.source} in ${Pt??"collection"}`);Wn=nn;on=en==="seq-item-ind"||en==="explicit-key-ind";cn=false;break;case"comma":if(Pt){if(An)an(nn,"UNEXPECTED_TOKEN",`Unexpected , in ${Pt}`);An=nn;on=false;cn=false;break}default:an(nn,"UNEXPECTED_TOKEN",`Unexpected ${nn.type} token`);on=false;cn=false}}const gn=Wt[Wt.length-1];const yn=gn?gn.offset+gn.source.length:nn;if(mn&&tn&&tn.type!=="space"&&tn.type!=="newline"&&tn.type!=="comma"&&(tn.type!=="scalar"||tn.source!=="")){an(tn.offset,"MISSING_CHAR","Tags and anchors must be separated from the next token by white space")}if(bn&&(on&&bn.indent<=In||tn?.type==="block-map"||tn?.type==="block-seq"))an(bn,"TAB_AS_INDENT","Tabs are not allowed as indentation");return{comma:An,found:Wn,spaceBefore:sn,comment:dn,hasNewline:pn,anchor:Gn,tag:hn,newlineAfterProp:Zn,end:yn,start:Nn??yn}}Pt.resolveProps=resolveProps},9499:(Wt,Pt)=>{function containsNewline(Wt){if(!Wt)return null;switch(Wt.type){case"alias":case"scalar":case"double-quoted-scalar":case"single-quoted-scalar":if(Wt.source.includes("\n"))return true;if(Wt.end)for(const Pt of Wt.end)if(Pt.type==="newline")return true;return false;case"flow-collection":for(const Pt of Wt.items){for(const Wt of Pt.start)if(Wt.type==="newline")return true;if(Pt.sep)for(const Wt of Pt.sep)if(Wt.type==="newline")return true;if(containsNewline(Pt.key)||containsNewline(Pt.value))return true}return false;default:return true}}Pt.containsNewline=containsNewline},22599:(Wt,Pt)=>{function emptyScalarPosition(Wt,Pt,en){if(Pt){if(en===null)en=Pt.length;for(let tn=en-1;tn>=0;--tn){let en=Pt[tn];switch(en.type){case"space":case"comment":case"newline":Wt-=en.source.length;continue}en=Pt[++tn];while(en?.type==="space"){Wt+=en.source.length;en=Pt[++tn]}break}}return Wt}Pt.emptyScalarPosition=emptyScalarPosition},74051:(Wt,Pt,en)=>{var tn=en(9499);function flowIndentCheck(Wt,Pt,en){if(Pt?.type==="flow-collection"){const nn=Pt.end[0];if(nn.indent===Wt&&(nn.source==="]"||nn.source==="}")&&tn.containsNewline(Pt)){const Wt="Flow end indicator should be more indented than parent";en(nn,"BAD_INDENT",Wt,true)}}}Pt.flowIndentCheck=flowIndentCheck},81187:(Wt,Pt,en)=>{var tn=en(41127);function mapIncludes(Wt,Pt,en){const{uniqueKeys:nn}=Wt.options;if(nn===false)return false;const an=typeof nn==="function"?nn:(Wt,Pt)=>Wt===Pt||tn.isScalar(Wt)&&tn.isScalar(Pt)&&Wt.value===Pt.value;return Pt.some((Wt=>an(Wt.key,en)))}Pt.mapIncludes=mapIncludes},3021:(Wt,Pt,en)=>{var tn=en(4065);var nn=en(40101);var an=en(41127);var In=en(57165);var rn=en(74043);var sn=en(45840);var on=en(6829);var cn=en(71596);var dn=en(83661);var un=en(42404);var pn=en(61342);class Document{constructor(Wt,Pt,en){this.commentBefore=null;this.comment=null;this.errors=[];this.warnings=[];Object.defineProperty(this,an.NODE_TYPE,{value:an.DOC});let tn=null;if(typeof Pt==="function"||Array.isArray(Pt)){tn=Pt}else if(en===undefined&&Pt){en=Pt;Pt=undefined}const nn=Object.assign({intAsBigInt:false,keepSourceTokens:false,logLevel:"warn",prettyErrors:true,strict:true,stringKeys:false,uniqueKeys:true,version:"1.2"},en);this.options=nn;let{version:In}=nn;if(en?._directives){this.directives=en._directives.atDocument();if(this.directives.yaml.explicit)In=this.directives.yaml.version}else this.directives=new pn.Directives({version:In});this.setSchema(In,en);this.contents=Wt===undefined?null:this.createNode(Wt,tn,en)}clone(){const Wt=Object.create(Document.prototype,{[an.NODE_TYPE]:{value:an.DOC}});Wt.commentBefore=this.commentBefore;Wt.comment=this.comment;Wt.errors=this.errors.slice();Wt.warnings=this.warnings.slice();Wt.options=Object.assign({},this.options);if(this.directives)Wt.directives=this.directives.clone();Wt.schema=this.schema.clone();Wt.contents=an.isNode(this.contents)?this.contents.clone(Wt.schema):this.contents;if(this.range)Wt.range=this.range.slice();return Wt}add(Wt){if(assertCollection(this.contents))this.contents.add(Wt)}addIn(Wt,Pt){if(assertCollection(this.contents))this.contents.addIn(Wt,Pt)}createAlias(Wt,Pt){if(!Wt.anchor){const en=cn.anchorNames(this);Wt.anchor=!Pt||en.has(Pt)?cn.findNewAnchor(Pt||"a",en):Pt}return new tn.Alias(Wt.anchor)}createNode(Wt,Pt,en){let tn=undefined;if(typeof Pt==="function"){Wt=Pt.call({"":Wt},"",Wt);tn=Pt}else if(Array.isArray(Pt)){const keyToStr=Wt=>typeof Wt==="number"||Wt instanceof String||Wt instanceof Number;const Wt=Pt.filter(keyToStr).map(String);if(Wt.length>0)Pt=Pt.concat(Wt);tn=Pt}else if(en===undefined&&Pt){en=Pt;Pt=undefined}const{aliasDuplicateObjects:nn,anchorPrefix:In,flow:rn,keepUndefined:sn,onTagObj:on,tag:dn}=en??{};const{onAnchor:pn,setAnchors:mn,sourceObjects:bn}=cn.createNodeAnchors(this,In||"a");const Gn={aliasDuplicateObjects:nn??true,keepUndefined:sn??false,onAnchor:pn,onTagObj:on,replacer:tn,schema:this.schema,sourceObjects:bn};const hn=un.createNode(Wt,dn,Gn);if(rn&&an.isCollection(hn))hn.flow=true;mn();return hn}createPair(Wt,Pt,en={}){const tn=this.createNode(Wt,null,en);const nn=this.createNode(Pt,null,en);return new In.Pair(tn,nn)}delete(Wt){return assertCollection(this.contents)?this.contents.delete(Wt):false}deleteIn(Wt){if(nn.isEmptyPath(Wt)){if(this.contents==null)return false;this.contents=null;return true}return assertCollection(this.contents)?this.contents.deleteIn(Wt):false}get(Wt,Pt){return an.isCollection(this.contents)?this.contents.get(Wt,Pt):undefined}getIn(Wt,Pt){if(nn.isEmptyPath(Wt))return!Pt&&an.isScalar(this.contents)?this.contents.value:this.contents;return an.isCollection(this.contents)?this.contents.getIn(Wt,Pt):undefined}has(Wt){return an.isCollection(this.contents)?this.contents.has(Wt):false}hasIn(Wt){if(nn.isEmptyPath(Wt))return this.contents!==undefined;return an.isCollection(this.contents)?this.contents.hasIn(Wt):false}set(Wt,Pt){if(this.contents==null){this.contents=nn.collectionFromPath(this.schema,[Wt],Pt)}else if(assertCollection(this.contents)){this.contents.set(Wt,Pt)}}setIn(Wt,Pt){if(nn.isEmptyPath(Wt)){this.contents=Pt}else if(this.contents==null){this.contents=nn.collectionFromPath(this.schema,Array.from(Wt),Pt)}else if(assertCollection(this.contents)){this.contents.setIn(Wt,Pt)}}setSchema(Wt,Pt={}){if(typeof Wt==="number")Wt=String(Wt);let en;switch(Wt){case"1.1":if(this.directives)this.directives.yaml.version="1.1";else this.directives=new pn.Directives({version:"1.1"});en={resolveKnownTags:false,schema:"yaml-1.1"};break;case"1.2":case"next":if(this.directives)this.directives.yaml.version=Wt;else this.directives=new pn.Directives({version:Wt});en={resolveKnownTags:true,schema:"core"};break;case null:if(this.directives)delete this.directives;en=null;break;default:{const Pt=JSON.stringify(Wt);throw new Error(`Expected '1.1', '1.2' or null as first argument, but found: ${Pt}`)}}if(Pt.schema instanceof Object)this.schema=Pt.schema;else if(en)this.schema=new sn.Schema(Object.assign(en,Pt));else throw new Error(`With a null YAML version, the { schema: Schema } option is required`)}toJS({json:Wt,jsonArg:Pt,mapAsMap:en,maxAliasCount:tn,onAnchor:nn,reviver:an}={}){const In={anchors:new Map,doc:this,keep:!Wt,mapAsMap:en===true,mapKeyWarned:false,maxAliasCount:typeof tn==="number"?tn:100};const sn=rn.toJS(this.contents,Pt??"",In);if(typeof nn==="function")for(const{count:Wt,res:Pt}of In.anchors.values())nn(Pt,Wt);return typeof an==="function"?dn.applyReviver(an,{"":sn},"",sn):sn}toJSON(Wt,Pt){return this.toJS({json:true,jsonArg:Wt,mapAsMap:false,onAnchor:Pt})}toString(Wt={}){if(this.errors.length>0)throw new Error("Document with errors cannot be stringified");if("indent"in Wt&&(!Number.isInteger(Wt.indent)||Number(Wt.indent)<=0)){const Pt=JSON.stringify(Wt.indent);throw new Error(`"indent" option must be a positive integer, not ${Pt}`)}return on.stringifyDocument(this,Wt)}}function assertCollection(Wt){if(an.isCollection(Wt))return true;throw new Error("Expected a YAML collection as document contents")}Pt.Document=Document},71596:(Wt,Pt,en)=>{var tn=en(41127);var nn=en(10204);function anchorIsValid(Wt){if(/[\x00-\x19\s,[\]{}]/.test(Wt)){const Pt=JSON.stringify(Wt);const en=`Anchor must not contain whitespace or control characters: ${Pt}`;throw new Error(en)}return true}function anchorNames(Wt){const Pt=new Set;nn.visit(Wt,{Value(Wt,en){if(en.anchor)Pt.add(en.anchor)}});return Pt}function findNewAnchor(Wt,Pt){for(let en=1;true;++en){const tn=`${Wt}${en}`;if(!Pt.has(tn))return tn}}function createNodeAnchors(Wt,Pt){const en=[];const nn=new Map;let an=null;return{onAnchor:tn=>{en.push(tn);if(!an)an=anchorNames(Wt);const nn=findNewAnchor(Pt,an);an.add(nn);return nn},setAnchors:()=>{for(const Wt of en){const Pt=nn.get(Wt);if(typeof Pt==="object"&&Pt.anchor&&(tn.isScalar(Pt.node)||tn.isCollection(Pt.node))){Pt.node.anchor=Pt.anchor}else{const Pt=new Error("Failed to resolve repeated object (this should not happen)");Pt.source=Wt;throw Pt}}},sourceObjects:nn}}Pt.anchorIsValid=anchorIsValid;Pt.anchorNames=anchorNames;Pt.createNodeAnchors=createNodeAnchors;Pt.findNewAnchor=findNewAnchor},83661:(Wt,Pt)=>{function applyReviver(Wt,Pt,en,tn){if(tn&&typeof tn==="object"){if(Array.isArray(tn)){for(let Pt=0,en=tn.length;Pt{var tn=en(4065);var nn=en(41127);var an=en(63301);const In="tag:yaml.org,2002:";function findTagObject(Wt,Pt,en){if(Pt){const Wt=en.filter((Wt=>Wt.tag===Pt));const tn=Wt.find((Wt=>!Wt.format))??Wt[0];if(!tn)throw new Error(`Tag ${Pt} not found`);return tn}return en.find((Pt=>Pt.identify?.(Wt)&&!Pt.format))}function createNode(Wt,Pt,en){if(nn.isDocument(Wt))Wt=Wt.contents;if(nn.isNode(Wt))return Wt;if(nn.isPair(Wt)){const Pt=en.schema[nn.MAP].createNode?.(en.schema,null,en);Pt.items.push(Wt);return Pt}if(Wt instanceof String||Wt instanceof Number||Wt instanceof Boolean||typeof BigInt!=="undefined"&&Wt instanceof BigInt){Wt=Wt.valueOf()}const{aliasDuplicateObjects:rn,onAnchor:sn,onTagObj:on,schema:cn,sourceObjects:dn}=en;let un=undefined;if(rn&&Wt&&typeof Wt==="object"){un=dn.get(Wt);if(un){if(!un.anchor)un.anchor=sn(Wt);return new tn.Alias(un.anchor)}else{un={anchor:null,node:null};dn.set(Wt,un)}}if(Pt?.startsWith("!!"))Pt=In+Pt.slice(2);let pn=findTagObject(Wt,Pt,cn.tags);if(!pn){if(Wt&&typeof Wt.toJSON==="function"){Wt=Wt.toJSON()}if(!Wt||typeof Wt!=="object"){const Pt=new an.Scalar(Wt);if(un)un.node=Pt;return Pt}pn=Wt instanceof Map?cn[nn.MAP]:Symbol.iterator in Object(Wt)?cn[nn.SEQ]:cn[nn.MAP]}if(on){on(pn);delete en.onTagObj}const mn=pn?.createNode?pn.createNode(en.schema,Wt,en):typeof pn?.nodeClass?.from==="function"?pn.nodeClass.from(en.schema,Wt,en):new an.Scalar(Wt);if(Pt)mn.tag=Pt;else if(!pn.default)mn.tag=pn.tag;if(un)un.node=mn;return mn}Pt.createNode=createNode},61342:(Wt,Pt,en)=>{var tn=en(41127);var nn=en(10204);const an={"!":"%21",",":"%2C","[":"%5B","]":"%5D","{":"%7B","}":"%7D"};const escapeTagName=Wt=>Wt.replace(/[!,[\]{}]/g,(Wt=>an[Wt]));class Directives{constructor(Wt,Pt){this.docStart=null;this.docEnd=false;this.yaml=Object.assign({},Directives.defaultYaml,Wt);this.tags=Object.assign({},Directives.defaultTags,Pt)}clone(){const Wt=new Directives(this.yaml,this.tags);Wt.docStart=this.docStart;return Wt}atDocument(){const Wt=new Directives(this.yaml,this.tags);switch(this.yaml.version){case"1.1":this.atNextDocument=true;break;case"1.2":this.atNextDocument=false;this.yaml={explicit:Directives.defaultYaml.explicit,version:"1.2"};this.tags=Object.assign({},Directives.defaultTags);break}return Wt}add(Wt,Pt){if(this.atNextDocument){this.yaml={explicit:Directives.defaultYaml.explicit,version:"1.1"};this.tags=Object.assign({},Directives.defaultTags);this.atNextDocument=false}const en=Wt.trim().split(/[ \t]+/);const tn=en.shift();switch(tn){case"%TAG":{if(en.length!==2){Pt(0,"%TAG directive should contain exactly two parts");if(en.length<2)return false}const[Wt,tn]=en;this.tags[Wt]=tn;return true}case"%YAML":{this.yaml.explicit=true;if(en.length!==1){Pt(0,"%YAML directive should contain exactly one part");return false}const[Wt]=en;if(Wt==="1.1"||Wt==="1.2"){this.yaml.version=Wt;return true}else{const en=/^\d+\.\d+$/.test(Wt);Pt(6,`Unsupported YAML version ${Wt}`,en);return false}}default:Pt(0,`Unknown directive ${tn}`,true);return false}}tagName(Wt,Pt){if(Wt==="!")return"!";if(Wt[0]!=="!"){Pt(`Not a valid tag: ${Wt}`);return null}if(Wt[1]==="<"){const en=Wt.slice(2,-1);if(en==="!"||en==="!!"){Pt(`Verbatim tags aren't resolved, so ${Wt} is invalid.`);return null}if(Wt[Wt.length-1]!==">")Pt("Verbatim tags must end with a >");return en}const[,en,tn]=Wt.match(/^(.*!)([^!]*)$/s);if(!tn)Pt(`The ${Wt} tag has no suffix`);const nn=this.tags[en];if(nn){try{return nn+decodeURIComponent(tn)}catch(Wt){Pt(String(Wt));return null}}if(en==="!")return Wt;Pt(`Could not resolve tag: ${Wt}`);return null}tagString(Wt){for(const[Pt,en]of Object.entries(this.tags)){if(Wt.startsWith(en))return Pt+escapeTagName(Wt.substring(en.length))}return Wt[0]==="!"?Wt:`!<${Wt}>`}toString(Wt){const Pt=this.yaml.explicit?[`%YAML ${this.yaml.version||"1.2"}`]:[];const en=Object.entries(this.tags);let an;if(Wt&&en.length>0&&tn.isNode(Wt.contents)){const Pt={};nn.visit(Wt.contents,((Wt,en)=>{if(tn.isNode(en)&&en.tag)Pt[en.tag]=true}));an=Object.keys(Pt)}else an=[];for(const[tn,nn]of en){if(tn==="!!"&&nn==="tag:yaml.org,2002:")continue;if(!Wt||an.some((Wt=>Wt.startsWith(nn))))Pt.push(`%TAG ${tn} ${nn}`)}return Pt.join("\n")}}Directives.defaultYaml={explicit:false,version:"1.2"};Directives.defaultTags={"!!":"tag:yaml.org,2002:"};Pt.Directives=Directives},91464:(Wt,Pt)=>{class YAMLError extends Error{constructor(Wt,Pt,en,tn){super();this.name=Wt;this.code=en;this.message=tn;this.pos=Pt}}class YAMLParseError extends YAMLError{constructor(Wt,Pt,en){super("YAMLParseError",Wt,Pt,en)}}class YAMLWarning extends YAMLError{constructor(Wt,Pt,en){super("YAMLWarning",Wt,Pt,en)}}const prettifyError=(Wt,Pt)=>en=>{if(en.pos[0]===-1)return;en.linePos=en.pos.map((Wt=>Pt.linePos(Wt)));const{line:tn,col:nn}=en.linePos[0];en.message+=` at line ${tn}, column ${nn}`;let an=nn-1;let In=Wt.substring(Pt.lineStarts[tn-1],Pt.lineStarts[tn]).replace(/[\n\r]+$/,"");if(an>=60&&In.length>80){const Wt=Math.min(an-39,In.length-79);In="…"+In.substring(Wt);an-=Wt-1}if(In.length>80)In=In.substring(0,79)+"…";if(tn>1&&/^ *$/.test(In.substring(0,an))){let en=Wt.substring(Pt.lineStarts[tn-2],Pt.lineStarts[tn-1]);if(en.length>80)en=en.substring(0,79)+"…\n";In=en+In}if(/[^ ]/.test(In)){let Wt=1;const Pt=en.linePos[1];if(Pt&&Pt.line===tn&&Pt.col>nn){Wt=Math.max(1,Math.min(Pt.col-nn,80-an))}const rn=" ".repeat(an)+"^".repeat(Wt);en.message+=`:\n\n${In}\n${rn}\n`}};Pt.YAMLError=YAMLError;Pt.YAMLParseError=YAMLParseError;Pt.YAMLWarning=YAMLWarning;Pt.prettifyError=prettifyError},38815:(Wt,Pt,en)=>{var tn;var nn=en(89984);var an=en(3021);var In=en(45840);var rn=en(91464);var sn=en(4065);var on=en(41127);var cn=en(57165);var dn=en(63301);var un=en(84454);var pn=en(92223);var mn=en(3461);var bn=en(40361);var Gn=en(66628);var hn=en(3456);var Zn=en(84047);var An=en(10204);tn=nn.Composer;tn=an.Document;tn=In.Schema;tn=rn.YAMLError;tn=rn.YAMLParseError;tn=rn.YAMLWarning;tn=sn.Alias;tn=on.isAlias;tn=on.isCollection;tn=on.isDocument;tn=on.isMap;tn=on.isNode;tn=on.isPair;tn=on.isScalar;tn=on.isSeq;tn=cn.Pair;tn=dn.Scalar;tn=un.YAMLMap;tn=pn.YAMLSeq;tn=mn;tn=bn.Lexer;tn=Gn.LineCounter;tn=hn.Parser;tn=Zn.parse;tn=Zn.parseAllDocuments;tn=Zn.parseDocument;Pt.As=Zn.stringify;tn=An.visit;tn=An.visitAsync},57249:(Wt,Pt)=>{function debug(Wt,...Pt){if(Wt==="debug")console.log(...Pt)}function warn(Wt,Pt){if(Wt==="debug"||Wt==="warn"){if(typeof process!=="undefined"&&process.emitWarning)process.emitWarning(Pt);else console.warn(Pt)}}Pt.debug=debug;Pt.warn=warn},4065:(Wt,Pt,en)=>{var tn=en(71596);var nn=en(10204);var an=en(41127);var In=en(66673);var rn=en(74043);class Alias extends In.NodeBase{constructor(Wt){super(an.ALIAS);this.source=Wt;Object.defineProperty(this,"tag",{set(){throw new Error("Alias nodes cannot have tags")}})}resolve(Wt){let Pt=undefined;nn.visit(Wt,{Node:(Wt,en)=>{if(en===this)return nn.visit.BREAK;if(en.anchor===this.source)Pt=en}});return Pt}toJSON(Wt,Pt){if(!Pt)return{source:this.source};const{anchors:en,doc:tn,maxAliasCount:nn}=Pt;const an=this.resolve(tn);if(!an){const Wt=`Unresolved alias (the anchor must be set before the alias): ${this.source}`;throw new ReferenceError(Wt)}let In=en.get(an);if(!In){rn.toJS(an,null,Pt);In=en.get(an)}if(!In||In.res===undefined){const Wt="This should not happen: Alias anchor was not resolved?";throw new ReferenceError(Wt)}if(nn>=0){In.count+=1;if(In.aliasCount===0)In.aliasCount=getAliasCount(tn,an,en);if(In.count*In.aliasCount>nn){const Wt="Excessive alias count indicates a resource exhaustion attack";throw new ReferenceError(Wt)}}return In.res}toString(Wt,Pt,en){const nn=`*${this.source}`;if(Wt){tn.anchorIsValid(this.source);if(Wt.options.verifyAliasOrder&&!Wt.anchors.has(this.source)){const Wt=`Unresolved alias (the anchor must be set before the alias): ${this.source}`;throw new Error(Wt)}if(Wt.implicitKey)return`${nn} `}return nn}}function getAliasCount(Wt,Pt,en){if(an.isAlias(Pt)){const tn=Pt.resolve(Wt);const nn=en&&tn&&en.get(tn);return nn?nn.count*nn.aliasCount:0}else if(an.isCollection(Pt)){let tn=0;for(const nn of Pt.items){const Pt=getAliasCount(Wt,nn,en);if(Pt>tn)tn=Pt}return tn}else if(an.isPair(Pt)){const tn=getAliasCount(Wt,Pt.key,en);const nn=getAliasCount(Wt,Pt.value,en);return Math.max(tn,nn)}return 1}Pt.Alias=Alias},40101:(Wt,Pt,en)=>{var tn=en(42404);var nn=en(41127);var an=en(66673);function collectionFromPath(Wt,Pt,en){let nn=en;for(let Wt=Pt.length-1;Wt>=0;--Wt){const en=Pt[Wt];if(typeof en==="number"&&Number.isInteger(en)&&en>=0){const Wt=[];Wt[en]=nn;nn=Wt}else{nn=new Map([[en,nn]])}}return tn.createNode(nn,undefined,{aliasDuplicateObjects:false,keepUndefined:false,onAnchor:()=>{throw new Error("This should not happen, please report a bug.")},schema:Wt,sourceObjects:new Map})}const isEmptyPath=Wt=>Wt==null||typeof Wt==="object"&&!!Wt[Symbol.iterator]().next().done;class Collection extends an.NodeBase{constructor(Wt,Pt){super(Wt);Object.defineProperty(this,"schema",{value:Pt,configurable:true,enumerable:false,writable:true})}clone(Wt){const Pt=Object.create(Object.getPrototypeOf(this),Object.getOwnPropertyDescriptors(this));if(Wt)Pt.schema=Wt;Pt.items=Pt.items.map((Pt=>nn.isNode(Pt)||nn.isPair(Pt)?Pt.clone(Wt):Pt));if(this.range)Pt.range=this.range.slice();return Pt}addIn(Wt,Pt){if(isEmptyPath(Wt))this.add(Pt);else{const[en,...tn]=Wt;const an=this.get(en,true);if(nn.isCollection(an))an.addIn(tn,Pt);else if(an===undefined&&this.schema)this.set(en,collectionFromPath(this.schema,tn,Pt));else throw new Error(`Expected YAML collection at ${en}. Remaining path: ${tn}`)}}deleteIn(Wt){const[Pt,...en]=Wt;if(en.length===0)return this.delete(Pt);const tn=this.get(Pt,true);if(nn.isCollection(tn))return tn.deleteIn(en);else throw new Error(`Expected YAML collection at ${Pt}. Remaining path: ${en}`)}getIn(Wt,Pt){const[en,...tn]=Wt;const an=this.get(en,true);if(tn.length===0)return!Pt&&nn.isScalar(an)?an.value:an;else return nn.isCollection(an)?an.getIn(tn,Pt):undefined}hasAllNullValues(Wt){return this.items.every((Pt=>{if(!nn.isPair(Pt))return false;const en=Pt.value;return en==null||Wt&&nn.isScalar(en)&&en.value==null&&!en.commentBefore&&!en.comment&&!en.tag}))}hasIn(Wt){const[Pt,...en]=Wt;if(en.length===0)return this.has(Pt);const tn=this.get(Pt,true);return nn.isCollection(tn)?tn.hasIn(en):false}setIn(Wt,Pt){const[en,...tn]=Wt;if(tn.length===0){this.set(en,Pt)}else{const Wt=this.get(en,true);if(nn.isCollection(Wt))Wt.setIn(tn,Pt);else if(Wt===undefined&&this.schema)this.set(en,collectionFromPath(this.schema,tn,Pt));else throw new Error(`Expected YAML collection at ${en}. Remaining path: ${tn}`)}}}Pt.Collection=Collection;Pt.collectionFromPath=collectionFromPath;Pt.isEmptyPath=isEmptyPath},66673:(Wt,Pt,en)=>{var tn=en(83661);var nn=en(41127);var an=en(74043);class NodeBase{constructor(Wt){Object.defineProperty(this,nn.NODE_TYPE,{value:Wt})}clone(){const Wt=Object.create(Object.getPrototypeOf(this),Object.getOwnPropertyDescriptors(this));if(this.range)Wt.range=this.range.slice();return Wt}toJS(Wt,{mapAsMap:Pt,maxAliasCount:en,onAnchor:In,reviver:rn}={}){if(!nn.isDocument(Wt))throw new TypeError("A document argument is required");const sn={anchors:new Map,doc:Wt,keep:true,mapAsMap:Pt===true,mapKeyWarned:false,maxAliasCount:typeof en==="number"?en:100};const on=an.toJS(this,"",sn);if(typeof In==="function")for(const{count:Wt,res:Pt}of sn.anchors.values())In(Pt,Wt);return typeof rn==="function"?tn.applyReviver(rn,{"":on},"",on):on}}Pt.NodeBase=NodeBase},57165:(Wt,Pt,en)=>{var tn=en(42404);var nn=en(59748);var an=en(97104);var In=en(41127);function createPair(Wt,Pt,en){const nn=tn.createNode(Wt,undefined,en);const an=tn.createNode(Pt,undefined,en);return new Pair(nn,an)}class Pair{constructor(Wt,Pt=null){Object.defineProperty(this,In.NODE_TYPE,{value:In.PAIR});this.key=Wt;this.value=Pt}clone(Wt){let{key:Pt,value:en}=this;if(In.isNode(Pt))Pt=Pt.clone(Wt);if(In.isNode(en))en=en.clone(Wt);return new Pair(Pt,en)}toJSON(Wt,Pt){const en=Pt?.mapAsMap?new Map:{};return an.addPairToJSMap(Pt,en,this)}toString(Wt,Pt,en){return Wt?.doc?nn.stringifyPair(this,Wt,Pt,en):JSON.stringify(this)}}Pt.Pair=Pair;Pt.createPair=createPair},63301:(Wt,Pt,en)=>{var tn=en(41127);var nn=en(66673);var an=en(74043);const isScalarValue=Wt=>!Wt||typeof Wt!=="function"&&typeof Wt!=="object";class Scalar extends nn.NodeBase{constructor(Wt){super(tn.SCALAR);this.value=Wt}toJSON(Wt,Pt){return Pt?.keep?this.value:an.toJS(this.value,Wt,Pt)}toString(){return String(this.value)}}Scalar.BLOCK_FOLDED="BLOCK_FOLDED";Scalar.BLOCK_LITERAL="BLOCK_LITERAL";Scalar.PLAIN="PLAIN";Scalar.QUOTE_DOUBLE="QUOTE_DOUBLE";Scalar.QUOTE_SINGLE="QUOTE_SINGLE";Pt.Scalar=Scalar;Pt.isScalarValue=isScalarValue},84454:(Wt,Pt,en)=>{var tn=en(61212);var nn=en(97104);var an=en(40101);var In=en(41127);var rn=en(57165);var sn=en(63301);function findPair(Wt,Pt){const en=In.isScalar(Pt)?Pt.value:Pt;for(const tn of Wt){if(In.isPair(tn)){if(tn.key===Pt||tn.key===en)return tn;if(In.isScalar(tn.key)&&tn.key.value===en)return tn}}return undefined}class YAMLMap extends an.Collection{static get tagName(){return"tag:yaml.org,2002:map"}constructor(Wt){super(In.MAP,Wt);this.items=[]}static from(Wt,Pt,en){const{keepUndefined:tn,replacer:nn}=en;const an=new this(Wt);const add=(Wt,In)=>{if(typeof nn==="function")In=nn.call(Pt,Wt,In);else if(Array.isArray(nn)&&!nn.includes(Wt))return;if(In!==undefined||tn)an.items.push(rn.createPair(Wt,In,en))};if(Pt instanceof Map){for(const[Wt,en]of Pt)add(Wt,en)}else if(Pt&&typeof Pt==="object"){for(const Wt of Object.keys(Pt))add(Wt,Pt[Wt])}if(typeof Wt.sortMapEntries==="function"){an.items.sort(Wt.sortMapEntries)}return an}add(Wt,Pt){let en;if(In.isPair(Wt))en=Wt;else if(!Wt||typeof Wt!=="object"||!("key"in Wt)){en=new rn.Pair(Wt,Wt?.value)}else en=new rn.Pair(Wt.key,Wt.value);const tn=findPair(this.items,en.key);const nn=this.schema?.sortMapEntries;if(tn){if(!Pt)throw new Error(`Key ${en.key} already set`);if(In.isScalar(tn.value)&&sn.isScalarValue(en.value))tn.value.value=en.value;else tn.value=en.value}else if(nn){const Wt=this.items.findIndex((Wt=>nn(en,Wt)<0));if(Wt===-1)this.items.push(en);else this.items.splice(Wt,0,en)}else{this.items.push(en)}}delete(Wt){const Pt=findPair(this.items,Wt);if(!Pt)return false;const en=this.items.splice(this.items.indexOf(Pt),1);return en.length>0}get(Wt,Pt){const en=findPair(this.items,Wt);const tn=en?.value;return(!Pt&&In.isScalar(tn)?tn.value:tn)??undefined}has(Wt){return!!findPair(this.items,Wt)}set(Wt,Pt){this.add(new rn.Pair(Wt,Pt),true)}toJSON(Wt,Pt,en){const tn=en?new en:Pt?.mapAsMap?new Map:{};if(Pt?.onCreate)Pt.onCreate(tn);for(const Wt of this.items)nn.addPairToJSMap(Pt,tn,Wt);return tn}toString(Wt,Pt,en){if(!Wt)return JSON.stringify(this);for(const Wt of this.items){if(!In.isPair(Wt))throw new Error(`Map items must all be pairs; found ${JSON.stringify(Wt)} instead`)}if(!Wt.allNullValues&&this.hasAllNullValues(false))Wt=Object.assign({},Wt,{allNullValues:true});return tn.stringifyCollection(this,Wt,{blockItemPrefix:"",flowChars:{start:"{",end:"}"},itemIndent:Wt.indent||"",onChompKeep:en,onComment:Pt})}}Pt.YAMLMap=YAMLMap;Pt.findPair=findPair},92223:(Wt,Pt,en)=>{var tn=en(42404);var nn=en(61212);var an=en(40101);var In=en(41127);var rn=en(63301);var sn=en(74043);class YAMLSeq extends an.Collection{static get tagName(){return"tag:yaml.org,2002:seq"}constructor(Wt){super(In.SEQ,Wt);this.items=[]}add(Wt){this.items.push(Wt)}delete(Wt){const Pt=asItemIndex(Wt);if(typeof Pt!=="number")return false;const en=this.items.splice(Pt,1);return en.length>0}get(Wt,Pt){const en=asItemIndex(Wt);if(typeof en!=="number")return undefined;const tn=this.items[en];return!Pt&&In.isScalar(tn)?tn.value:tn}has(Wt){const Pt=asItemIndex(Wt);return typeof Pt==="number"&&Pt=0?Pt:null}Pt.YAMLSeq=YAMLSeq},97104:(Wt,Pt,en)=>{var tn=en(57249);var nn=en(90452);var an=en(2148);var In=en(41127);var rn=en(74043);function addPairToJSMap(Wt,Pt,{key:en,value:tn}){if(In.isNode(en)&&en.addToJSMap)en.addToJSMap(Wt,Pt,tn);else if(nn.isMergeKey(Wt,en))nn.addMergeToJSMap(Wt,Pt,tn);else{const nn=rn.toJS(en,"",Wt);if(Pt instanceof Map){Pt.set(nn,rn.toJS(tn,nn,Wt))}else if(Pt instanceof Set){Pt.add(nn)}else{const an=stringifyKey(en,nn,Wt);const In=rn.toJS(tn,an,Wt);if(an in Pt)Object.defineProperty(Pt,an,{value:In,writable:true,enumerable:true,configurable:true});else Pt[an]=In}}return Pt}function stringifyKey(Wt,Pt,en){if(Pt===null)return"";if(typeof Pt!=="object")return String(Pt);if(In.isNode(Wt)&&en?.doc){const Pt=an.createStringifyContext(en.doc,{});Pt.anchors=new Set;for(const Wt of en.anchors.keys())Pt.anchors.add(Wt.anchor);Pt.inFlow=true;Pt.inStringifyKey=true;const nn=Wt.toString(Pt);if(!en.mapKeyWarned){let Wt=JSON.stringify(nn);if(Wt.length>40)Wt=Wt.substring(0,36)+'..."';tn.warn(en.doc.options.logLevel,`Keys with collection values will be stringified due to JS Object restrictions: ${Wt}. Set mapAsMap: true to use object keys.`);en.mapKeyWarned=true}return nn}return JSON.stringify(Pt)}Pt.addPairToJSMap=addPairToJSMap},41127:(Wt,Pt)=>{const en=Symbol.for("yaml.alias");const tn=Symbol.for("yaml.document");const nn=Symbol.for("yaml.map");const an=Symbol.for("yaml.pair");const In=Symbol.for("yaml.scalar");const rn=Symbol.for("yaml.seq");const sn=Symbol.for("yaml.node.type");const isAlias=Wt=>!!Wt&&typeof Wt==="object"&&Wt[sn]===en;const isDocument=Wt=>!!Wt&&typeof Wt==="object"&&Wt[sn]===tn;const isMap=Wt=>!!Wt&&typeof Wt==="object"&&Wt[sn]===nn;const isPair=Wt=>!!Wt&&typeof Wt==="object"&&Wt[sn]===an;const isScalar=Wt=>!!Wt&&typeof Wt==="object"&&Wt[sn]===In;const isSeq=Wt=>!!Wt&&typeof Wt==="object"&&Wt[sn]===rn;function isCollection(Wt){if(Wt&&typeof Wt==="object")switch(Wt[sn]){case nn:case rn:return true}return false}function isNode(Wt){if(Wt&&typeof Wt==="object")switch(Wt[sn]){case en:case nn:case In:case rn:return true}return false}const hasAnchor=Wt=>(isScalar(Wt)||isCollection(Wt))&&!!Wt.anchor;Pt.ALIAS=en;Pt.DOC=tn;Pt.MAP=nn;Pt.NODE_TYPE=sn;Pt.PAIR=an;Pt.SCALAR=In;Pt.SEQ=rn;Pt.hasAnchor=hasAnchor;Pt.isAlias=isAlias;Pt.isCollection=isCollection;Pt.isDocument=isDocument;Pt.isMap=isMap;Pt.isNode=isNode;Pt.isPair=isPair;Pt.isScalar=isScalar;Pt.isSeq=isSeq},74043:(Wt,Pt,en)=>{var tn=en(41127);function toJS(Wt,Pt,en){if(Array.isArray(Wt))return Wt.map(((Wt,Pt)=>toJS(Wt,String(Pt),en)));if(Wt&&typeof Wt.toJSON==="function"){if(!en||!tn.hasAnchor(Wt))return Wt.toJSON(Pt,en);const nn={aliasCount:0,count:1,res:undefined};en.anchors.set(Wt,nn);en.onCreate=Wt=>{nn.res=Wt;delete en.onCreate};const an=Wt.toJSON(Pt,en);if(en.onCreate)en.onCreate(an);return an}if(typeof Wt==="bigint"&&!en?.keep)return Number(Wt);return Wt}Pt.toJS=toJS},60110:(Wt,Pt,en)=>{var tn=en(48913);var nn=en(76842);var an=en(91464);var In=en(83069);function resolveAsScalar(Wt,Pt=true,en){if(Wt){const _onError=(Wt,Pt,tn)=>{const nn=typeof Wt==="number"?Wt:Array.isArray(Wt)?Wt[0]:Wt.offset;if(en)en(nn,Pt,tn);else throw new an.YAMLParseError([nn,nn+1],Pt,tn)};switch(Wt.type){case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":return nn.resolveFlowScalar(Wt,Pt,_onError);case"block-scalar":return tn.resolveBlockScalar({options:{strict:Pt}},Wt,_onError)}}return null}function createScalarToken(Wt,Pt){const{implicitKey:en=false,indent:tn,inFlow:nn=false,offset:an=-1,type:rn="PLAIN"}=Pt;const sn=In.stringifyString({type:rn,value:Wt},{implicitKey:en,indent:tn>0?" ".repeat(tn):"",inFlow:nn,options:{blockQuote:true,lineWidth:-1}});const on=Pt.end??[{type:"newline",offset:-1,indent:tn,source:"\n"}];switch(sn[0]){case"|":case">":{const Wt=sn.indexOf("\n");const Pt=sn.substring(0,Wt);const en=sn.substring(Wt+1)+"\n";const nn=[{type:"block-scalar-header",offset:an,indent:tn,source:Pt}];if(!addEndtoBlockProps(nn,on))nn.push({type:"newline",offset:-1,indent:tn,source:"\n"});return{type:"block-scalar",offset:an,indent:tn,props:nn,source:en}}case'"':return{type:"double-quoted-scalar",offset:an,indent:tn,source:sn,end:on};case"'":return{type:"single-quoted-scalar",offset:an,indent:tn,source:sn,end:on};default:return{type:"scalar",offset:an,indent:tn,source:sn,end:on}}}function setScalarValue(Wt,Pt,en={}){let{afterKey:tn=false,implicitKey:nn=false,inFlow:an=false,type:rn}=en;let sn="indent"in Wt?Wt.indent:null;if(tn&&typeof sn==="number")sn+=2;if(!rn)switch(Wt.type){case"single-quoted-scalar":rn="QUOTE_SINGLE";break;case"double-quoted-scalar":rn="QUOTE_DOUBLE";break;case"block-scalar":{const Pt=Wt.props[0];if(Pt.type!=="block-scalar-header")throw new Error("Invalid block scalar header");rn=Pt.source[0]===">"?"BLOCK_FOLDED":"BLOCK_LITERAL";break}default:rn="PLAIN"}const on=In.stringifyString({type:rn,value:Pt},{implicitKey:nn||sn===null,indent:sn!==null&&sn>0?" ".repeat(sn):"",inFlow:an,options:{blockQuote:true,lineWidth:-1}});switch(on[0]){case"|":case">":setBlockScalarValue(Wt,on);break;case'"':setFlowScalarValue(Wt,on,"double-quoted-scalar");break;case"'":setFlowScalarValue(Wt,on,"single-quoted-scalar");break;default:setFlowScalarValue(Wt,on,"scalar")}}function setBlockScalarValue(Wt,Pt){const en=Pt.indexOf("\n");const tn=Pt.substring(0,en);const nn=Pt.substring(en+1)+"\n";if(Wt.type==="block-scalar"){const Pt=Wt.props[0];if(Pt.type!=="block-scalar-header")throw new Error("Invalid block scalar header");Pt.source=tn;Wt.source=nn}else{const{offset:Pt}=Wt;const en="indent"in Wt?Wt.indent:-1;const an=[{type:"block-scalar-header",offset:Pt,indent:en,source:tn}];if(!addEndtoBlockProps(an,"end"in Wt?Wt.end:undefined))an.push({type:"newline",offset:-1,indent:en,source:"\n"});for(const Pt of Object.keys(Wt))if(Pt!=="type"&&Pt!=="offset")delete Wt[Pt];Object.assign(Wt,{type:"block-scalar",indent:en,props:an,source:nn})}}function addEndtoBlockProps(Wt,Pt){if(Pt)for(const en of Pt)switch(en.type){case"space":case"comment":Wt.push(en);break;case"newline":Wt.push(en);return true}return false}function setFlowScalarValue(Wt,Pt,en){switch(Wt.type){case"scalar":case"double-quoted-scalar":case"single-quoted-scalar":Wt.type=en;Wt.source=Pt;break;case"block-scalar":{const tn=Wt.props.slice(1);let nn=Pt.length;if(Wt.props[0].type==="block-scalar-header")nn-=Wt.props[0].source.length;for(const Wt of tn)Wt.offset+=nn;delete Wt.props;Object.assign(Wt,{type:en,source:Pt,end:tn});break}case"block-map":case"block-seq":{const tn=Wt.offset+Pt.length;const nn={type:"newline",offset:tn,indent:Wt.indent,source:"\n"};delete Wt.items;Object.assign(Wt,{type:en,source:Pt,end:[nn]});break}default:{const tn="indent"in Wt?Wt.indent:-1;const nn="end"in Wt&&Array.isArray(Wt.end)?Wt.end.filter((Wt=>Wt.type==="space"||Wt.type==="comment"||Wt.type==="newline")):[];for(const Pt of Object.keys(Wt))if(Pt!=="type"&&Pt!=="offset")delete Wt[Pt];Object.assign(Wt,{type:en,indent:tn,source:Pt,end:nn})}}}Pt.createScalarToken=createScalarToken;Pt.resolveAsScalar=resolveAsScalar;Pt.setScalarValue=setScalarValue},91733:(Wt,Pt)=>{const stringify=Wt=>"type"in Wt?stringifyToken(Wt):stringifyItem(Wt);function stringifyToken(Wt){switch(Wt.type){case"block-scalar":{let Pt="";for(const en of Wt.props)Pt+=stringifyToken(en);return Pt+Wt.source}case"block-map":case"block-seq":{let Pt="";for(const en of Wt.items)Pt+=stringifyItem(en);return Pt}case"flow-collection":{let Pt=Wt.start.source;for(const en of Wt.items)Pt+=stringifyItem(en);for(const en of Wt.end)Pt+=en.source;return Pt}case"document":{let Pt=stringifyItem(Wt);if(Wt.end)for(const en of Wt.end)Pt+=en.source;return Pt}default:{let Pt=Wt.source;if("end"in Wt&&Wt.end)for(const en of Wt.end)Pt+=en.source;return Pt}}}function stringifyItem({start:Wt,key:Pt,sep:en,value:tn}){let nn="";for(const Pt of Wt)nn+=Pt.source;if(Pt)nn+=stringifyToken(Pt);if(en)for(const Wt of en)nn+=Wt.source;if(tn)nn+=stringifyToken(tn);return nn}Pt.stringify=stringify},97715:(Wt,Pt)=>{const en=Symbol("break visit");const tn=Symbol("skip children");const nn=Symbol("remove item");function visit(Wt,Pt){if("type"in Wt&&Wt.type==="document")Wt={start:Wt.start,value:Wt.value};_visit(Object.freeze([]),Wt,Pt)}visit.BREAK=en;visit.SKIP=tn;visit.REMOVE=nn;visit.itemAtPath=(Wt,Pt)=>{let en=Wt;for(const[Wt,tn]of Pt){const Pt=en?.[Wt];if(Pt&&"items"in Pt){en=Pt.items[tn]}else return undefined}return en};visit.parentCollection=(Wt,Pt)=>{const en=visit.itemAtPath(Wt,Pt.slice(0,-1));const tn=Pt[Pt.length-1][0];const nn=en?.[tn];if(nn&&"items"in nn)return nn;throw new Error("Parent collection not found")};function _visit(Wt,Pt,tn){let an=tn(Pt,Wt);if(typeof an==="symbol")return an;for(const In of["key","value"]){const rn=Pt[In];if(rn&&"items"in rn){for(let Pt=0;Pt{var tn=en(60110);var nn=en(91733);var an=en(97715);const In="\ufeff";const rn="";const sn="";const on="";const isCollection=Wt=>!!Wt&&"items"in Wt;const isScalar=Wt=>!!Wt&&(Wt.type==="scalar"||Wt.type==="single-quoted-scalar"||Wt.type==="double-quoted-scalar"||Wt.type==="block-scalar");function prettyToken(Wt){switch(Wt){case In:return"";case rn:return"";case sn:return"";case on:return"";default:return JSON.stringify(Wt)}}function tokenType(Wt){switch(Wt){case In:return"byte-order-mark";case rn:return"doc-mode";case sn:return"flow-error-end";case on:return"scalar";case"---":return"doc-start";case"...":return"doc-end";case"":case"\n":case"\r\n":return"newline";case"-":return"seq-item-ind";case"?":return"explicit-key-ind";case":":return"map-value-ind";case"{":return"flow-map-start";case"}":return"flow-map-end";case"[":return"flow-seq-start";case"]":return"flow-seq-end";case",":return"comma"}switch(Wt[0]){case" ":case"\t":return"space";case"#":return"comment";case"%":return"directive-line";case"*":return"alias";case"&":return"anchor";case"!":return"tag";case"'":return"single-quoted-scalar";case'"':return"double-quoted-scalar";case"|":case">":return"block-scalar-header"}return null}Pt.createScalarToken=tn.createScalarToken;Pt.resolveAsScalar=tn.resolveAsScalar;Pt.setScalarValue=tn.setScalarValue;Pt.stringify=nn.stringify;Pt.visit=an.visit;Pt.BOM=In;Pt.DOCUMENT=rn;Pt.FLOW_END=sn;Pt.SCALAR=on;Pt.isCollection=isCollection;Pt.isScalar=isScalar;Pt.prettyToken=prettyToken;Pt.tokenType=tokenType},40361:(Wt,Pt,en)=>{var tn=en(3461);function isEmpty(Wt){switch(Wt){case undefined:case" ":case"\n":case"\r":case"\t":return true;default:return false}}const nn=new Set("0123456789ABCDEFabcdef");const an=new Set("0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-#;/?:@&=+$_.!~*'()");const In=new Set(",[]{}");const rn=new Set(" ,[]{}\n\r\t");const isNotAnchorChar=Wt=>!Wt||rn.has(Wt);class Lexer{constructor(){this.atEnd=false;this.blockScalarIndent=-1;this.blockScalarKeep=false;this.buffer="";this.flowKey=false;this.flowLevel=0;this.indentNext=0;this.indentValue=0;this.lineEndPos=null;this.next=null;this.pos=0}*lex(Wt,Pt=false){if(Wt){if(typeof Wt!=="string")throw TypeError("source is not a string");this.buffer=this.buffer?this.buffer+Wt:Wt;this.lineEndPos=null}this.atEnd=!Pt;let en=this.next??"stream";while(en&&(Pt||this.hasChars(1)))en=yield*this.parseNext(en)}atLineEnd(){let Wt=this.pos;let Pt=this.buffer[Wt];while(Pt===" "||Pt==="\t")Pt=this.buffer[++Wt];if(!Pt||Pt==="#"||Pt==="\n")return true;if(Pt==="\r")return this.buffer[Wt+1]==="\n";return false}charAt(Wt){return this.buffer[this.pos+Wt]}continueScalar(Wt){let Pt=this.buffer[Wt];if(this.indentNext>0){let en=0;while(Pt===" ")Pt=this.buffer[++en+Wt];if(Pt==="\r"){const Pt=this.buffer[en+Wt+1];if(Pt==="\n"||!Pt&&!this.atEnd)return Wt+en+1}return Pt==="\n"||en>=this.indentNext||!Pt&&!this.atEnd?Wt+en:-1}if(Pt==="-"||Pt==="."){const Pt=this.buffer.substr(Wt,3);if((Pt==="---"||Pt==="...")&&isEmpty(this.buffer[Wt+3]))return-1}return Wt}getLine(){let Wt=this.lineEndPos;if(typeof Wt!=="number"||Wt!==-1&&Wtthis.indentValue&&!isEmpty(this.charAt(1)))this.indentNext=this.indentValue;return yield*this.parseBlockStart()}*parseBlockStart(){const[Wt,Pt]=this.peek(2);if(!Pt&&!this.atEnd)return this.setNext("block-start");if((Wt==="-"||Wt==="?"||Wt===":")&&isEmpty(Pt)){const Wt=(yield*this.pushCount(1))+(yield*this.pushSpaces(true));this.indentNext=this.indentValue+1;this.indentValue+=Wt;return yield*this.parseBlockStart()}return"doc"}*parseDocument(){yield*this.pushSpaces(true);const Wt=this.getLine();if(Wt===null)return this.setNext("doc");let Pt=yield*this.pushIndicators();switch(Wt[Pt]){case"#":yield*this.pushCount(Wt.length-Pt);case undefined:yield*this.pushNewline();return yield*this.parseLineStart();case"{":case"[":yield*this.pushCount(1);this.flowKey=false;this.flowLevel=1;return"flow";case"}":case"]":yield*this.pushCount(1);return"doc";case"*":yield*this.pushUntil(isNotAnchorChar);return"doc";case'"':case"'":return yield*this.parseQuotedScalar();case"|":case">":Pt+=(yield*this.parseBlockScalarHeader());Pt+=(yield*this.pushSpaces(true));yield*this.pushCount(Wt.length-Pt);yield*this.pushNewline();return yield*this.parseBlockScalar();default:return yield*this.parsePlainScalar()}}*parseFlowCollection(){let Wt,Pt;let en=-1;do{Wt=yield*this.pushNewline();if(Wt>0){Pt=yield*this.pushSpaces(false);this.indentValue=en=Pt}else{Pt=0}Pt+=(yield*this.pushSpaces(true))}while(Wt+Pt>0);const nn=this.getLine();if(nn===null)return this.setNext("flow");if(en!==-1&&en"0"&&Pt<="9")this.blockScalarIndent=Number(Pt)-1;else if(Pt!=="-")break}return yield*this.pushUntil((Wt=>isEmpty(Wt)||Wt==="#"))}*parseBlockScalar(){let Wt=this.pos-1;let Pt=0;let en;e:for(let tn=this.pos;en=this.buffer[tn];++tn){switch(en){case" ":Pt+=1;break;case"\n":Wt=tn;Pt=0;break;case"\r":{const Wt=this.buffer[tn+1];if(!Wt&&!this.atEnd)return this.setNext("block-scalar");if(Wt==="\n")break}default:break e}}if(!en&&!this.atEnd)return this.setNext("block-scalar");if(Pt>=this.indentNext){if(this.blockScalarIndent===-1)this.indentNext=Pt;else{this.indentNext=this.blockScalarIndent+(this.indentNext===0?1:this.indentNext)}do{const Pt=this.continueScalar(Wt+1);if(Pt===-1)break;Wt=this.buffer.indexOf("\n",Pt)}while(Wt!==-1);if(Wt===-1){if(!this.atEnd)return this.setNext("block-scalar");Wt=this.buffer.length}}let nn=Wt+1;en=this.buffer[nn];while(en===" ")en=this.buffer[++nn];if(en==="\t"){while(en==="\t"||en===" "||en==="\r"||en==="\n")en=this.buffer[++nn];Wt=nn-1}else if(!this.blockScalarKeep){do{let en=Wt-1;let tn=this.buffer[en];if(tn==="\r")tn=this.buffer[--en];const nn=en;while(tn===" ")tn=this.buffer[--en];if(tn==="\n"&&en>=this.pos&&en+1+Pt>nn)Wt=en;else break}while(true)}yield tn.SCALAR;yield*this.pushToIndex(Wt+1,true);return yield*this.parseLineStart()}*parsePlainScalar(){const Wt=this.flowLevel>0;let Pt=this.pos-1;let en=this.pos-1;let nn;while(nn=this.buffer[++en]){if(nn===":"){const tn=this.buffer[en+1];if(isEmpty(tn)||Wt&&In.has(tn))break;Pt=en}else if(isEmpty(nn)){let tn=this.buffer[en+1];if(nn==="\r"){if(tn==="\n"){en+=1;nn="\n";tn=this.buffer[en+1]}else Pt=en}if(tn==="#"||Wt&&In.has(tn))break;if(nn==="\n"){const Wt=this.continueScalar(en+1);if(Wt===-1)break;en=Math.max(en,Wt-2)}}else{if(Wt&&In.has(nn))break;Pt=en}}if(!nn&&!this.atEnd)return this.setNext("plain-scalar");yield tn.SCALAR;yield*this.pushToIndex(Pt+1,true);return Wt?"flow":"doc"}*pushCount(Wt){if(Wt>0){yield this.buffer.substr(this.pos,Wt);this.pos+=Wt;return Wt}return 0}*pushToIndex(Wt,Pt){const en=this.buffer.slice(this.pos,Wt);if(en){yield en;this.pos+=en.length;return en.length}else if(Pt)yield"";return 0}*pushIndicators(){switch(this.charAt(0)){case"!":return(yield*this.pushTag())+(yield*this.pushSpaces(true))+(yield*this.pushIndicators());case"&":return(yield*this.pushUntil(isNotAnchorChar))+(yield*this.pushSpaces(true))+(yield*this.pushIndicators());case"-":case"?":case":":{const Wt=this.flowLevel>0;const Pt=this.charAt(1);if(isEmpty(Pt)||Wt&&In.has(Pt)){if(!Wt)this.indentNext=this.indentValue+1;else if(this.flowKey)this.flowKey=false;return(yield*this.pushCount(1))+(yield*this.pushSpaces(true))+(yield*this.pushIndicators())}}}return 0}*pushTag(){if(this.charAt(1)==="<"){let Wt=this.pos+2;let Pt=this.buffer[Wt];while(!isEmpty(Pt)&&Pt!==">")Pt=this.buffer[++Wt];return yield*this.pushToIndex(Pt===">"?Wt+1:Wt,false)}else{let Wt=this.pos+1;let Pt=this.buffer[Wt];while(Pt){if(an.has(Pt))Pt=this.buffer[++Wt];else if(Pt==="%"&&nn.has(this.buffer[Wt+1])&&nn.has(this.buffer[Wt+2])){Pt=this.buffer[Wt+=3]}else break}return yield*this.pushToIndex(Wt,false)}}*pushNewline(){const Wt=this.buffer[this.pos];if(Wt==="\n")return yield*this.pushCount(1);else if(Wt==="\r"&&this.charAt(1)==="\n")return yield*this.pushCount(2);else return 0}*pushSpaces(Wt){let Pt=this.pos-1;let en;do{en=this.buffer[++Pt]}while(en===" "||Wt&&en==="\t");const tn=Pt-this.pos;if(tn>0){yield this.buffer.substr(this.pos,tn);this.pos=Pt}return tn}*pushUntil(Wt){let Pt=this.pos;let en=this.buffer[Pt];while(!Wt(en))en=this.buffer[++Pt];return yield*this.pushToIndex(Pt,false)}}Pt.Lexer=Lexer},66628:(Wt,Pt)=>{class LineCounter{constructor(){this.lineStarts=[];this.addNewLine=Wt=>this.lineStarts.push(Wt);this.linePos=Wt=>{let Pt=0;let en=this.lineStarts.length;while(Pt>1;if(this.lineStarts[tn]{var tn=en(3461);var nn=en(40361);function includesToken(Wt,Pt){for(let en=0;en=0){switch(Wt[Pt].type){case"doc-start":case"explicit-key-ind":case"map-value-ind":case"seq-item-ind":case"newline":break e}}while(Wt[++Pt]?.type==="space"){}return Wt.splice(Pt,Wt.length)}function fixFlowSeqItems(Wt){if(Wt.start.type==="flow-seq-start"){for(const Pt of Wt.items){if(Pt.sep&&!Pt.value&&!includesToken(Pt.start,"explicit-key-ind")&&!includesToken(Pt.sep,"map-value-ind")){if(Pt.key)Pt.value=Pt.key;delete Pt.key;if(isFlowToken(Pt.value)){if(Pt.value.end)Array.prototype.push.apply(Pt.value.end,Pt.sep);else Pt.value.end=Pt.sep}else Array.prototype.push.apply(Pt.start,Pt.sep);delete Pt.sep}}}}class Parser{constructor(Wt){this.atNewLine=true;this.atScalar=false;this.indent=0;this.offset=0;this.onKeyLine=false;this.stack=[];this.source="";this.type="";this.lexer=new nn.Lexer;this.onNewLine=Wt}*parse(Wt,Pt=false){if(this.onNewLine&&this.offset===0)this.onNewLine(0);for(const en of this.lexer.lex(Wt,Pt))yield*this.next(en);if(!Pt)yield*this.end()}*next(Wt){this.source=Wt;if(process.env.LOG_TOKENS)console.log("|",tn.prettyToken(Wt));if(this.atScalar){this.atScalar=false;yield*this.step();this.offset+=Wt.length;return}const Pt=tn.tokenType(Wt);if(!Pt){const Pt=`Not a YAML token: ${Wt}`;yield*this.pop({type:"error",offset:this.offset,message:Pt,source:Wt});this.offset+=Wt.length}else if(Pt==="scalar"){this.atNewLine=false;this.atScalar=true;this.type="scalar"}else{this.type=Pt;yield*this.step();switch(Pt){case"newline":this.atNewLine=true;this.indent=0;if(this.onNewLine)this.onNewLine(this.offset+Wt.length);break;case"space":if(this.atNewLine&&Wt[0]===" ")this.indent+=Wt.length;break;case"explicit-key-ind":case"map-value-ind":case"seq-item-ind":if(this.atNewLine)this.indent+=Wt.length;break;case"doc-mode":case"flow-error-end":return;default:this.atNewLine=false}this.offset+=Wt.length}}*end(){while(this.stack.length>0)yield*this.pop()}get sourceToken(){const Wt={type:this.type,offset:this.offset,indent:this.indent,source:this.source};return Wt}*step(){const Wt=this.peek(1);if(this.type==="doc-end"&&(!Wt||Wt.type!=="doc-end")){while(this.stack.length>0)yield*this.pop();this.stack.push({type:"doc-end",offset:this.offset,source:this.source});return}if(!Wt)return yield*this.stream();switch(Wt.type){case"document":return yield*this.document(Wt);case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":return yield*this.scalar(Wt);case"block-scalar":return yield*this.blockScalar(Wt);case"block-map":return yield*this.blockMap(Wt);case"block-seq":return yield*this.blockSequence(Wt);case"flow-collection":return yield*this.flowCollection(Wt);case"doc-end":return yield*this.documentEnd(Wt)}yield*this.pop()}peek(Wt){return this.stack[this.stack.length-Wt]}*pop(Wt){const Pt=Wt??this.stack.pop();if(!Pt){const Wt="Tried to pop an empty stack";yield{type:"error",offset:this.offset,source:"",message:Wt}}else if(this.stack.length===0){yield Pt}else{const Wt=this.peek(1);if(Pt.type==="block-scalar"){Pt.indent="indent"in Wt?Wt.indent:0}else if(Pt.type==="flow-collection"&&Wt.type==="document"){Pt.indent=0}if(Pt.type==="flow-collection")fixFlowSeqItems(Pt);switch(Wt.type){case"document":Wt.value=Pt;break;case"block-scalar":Wt.props.push(Pt);break;case"block-map":{const en=Wt.items[Wt.items.length-1];if(en.value){Wt.items.push({start:[],key:Pt,sep:[]});this.onKeyLine=true;return}else if(en.sep){en.value=Pt}else{Object.assign(en,{key:Pt,sep:[]});this.onKeyLine=!en.explicitKey;return}break}case"block-seq":{const en=Wt.items[Wt.items.length-1];if(en.value)Wt.items.push({start:[],value:Pt});else en.value=Pt;break}case"flow-collection":{const en=Wt.items[Wt.items.length-1];if(!en||en.value)Wt.items.push({start:[],key:Pt,sep:[]});else if(en.sep)en.value=Pt;else Object.assign(en,{key:Pt,sep:[]});return}default:yield*this.pop();yield*this.pop(Pt)}if((Wt.type==="document"||Wt.type==="block-map"||Wt.type==="block-seq")&&(Pt.type==="block-map"||Pt.type==="block-seq")){const en=Pt.items[Pt.items.length-1];if(en&&!en.sep&&!en.value&&en.start.length>0&&findNonEmptyIndex(en.start)===-1&&(Pt.indent===0||en.start.every((Wt=>Wt.type!=="comment"||Wt.indent=Wt.indent){const en=!this.onKeyLine&&this.indent===Wt.indent;const tn=en&&(Pt.sep||Pt.explicitKey)&&this.type!=="seq-item-ind";let nn=[];if(tn&&Pt.sep&&!Pt.value){const en=[];for(let tn=0;tnWt.indent)en.length=0;break;default:en.length=0}}if(en.length>=2)nn=Pt.sep.splice(en[1])}switch(this.type){case"anchor":case"tag":if(tn||Pt.value){nn.push(this.sourceToken);Wt.items.push({start:nn});this.onKeyLine=true}else if(Pt.sep){Pt.sep.push(this.sourceToken)}else{Pt.start.push(this.sourceToken)}return;case"explicit-key-ind":if(!Pt.sep&&!Pt.explicitKey){Pt.start.push(this.sourceToken);Pt.explicitKey=true}else if(tn||Pt.value){nn.push(this.sourceToken);Wt.items.push({start:nn,explicitKey:true})}else{this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:[this.sourceToken],explicitKey:true}]})}this.onKeyLine=true;return;case"map-value-ind":if(Pt.explicitKey){if(!Pt.sep){if(includesToken(Pt.start,"newline")){Object.assign(Pt,{key:null,sep:[this.sourceToken]})}else{const Wt=getFirstKeyStartProps(Pt.start);this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:Wt,key:null,sep:[this.sourceToken]}]})}}else if(Pt.value){Wt.items.push({start:[],key:null,sep:[this.sourceToken]})}else if(includesToken(Pt.sep,"map-value-ind")){this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:nn,key:null,sep:[this.sourceToken]}]})}else if(isFlowToken(Pt.key)&&!includesToken(Pt.sep,"newline")){const Wt=getFirstKeyStartProps(Pt.start);const en=Pt.key;const tn=Pt.sep;tn.push(this.sourceToken);delete Pt.key;delete Pt.sep;this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:Wt,key:en,sep:tn}]})}else if(nn.length>0){Pt.sep=Pt.sep.concat(nn,this.sourceToken)}else{Pt.sep.push(this.sourceToken)}}else{if(!Pt.sep){Object.assign(Pt,{key:null,sep:[this.sourceToken]})}else if(Pt.value||tn){Wt.items.push({start:nn,key:null,sep:[this.sourceToken]})}else if(includesToken(Pt.sep,"map-value-ind")){this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:[],key:null,sep:[this.sourceToken]}]})}else{Pt.sep.push(this.sourceToken)}}this.onKeyLine=true;return;case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":{const en=this.flowScalar(this.type);if(tn||Pt.value){Wt.items.push({start:nn,key:en,sep:[]});this.onKeyLine=true}else if(Pt.sep){this.stack.push(en)}else{Object.assign(Pt,{key:en,sep:[]});this.onKeyLine=true}return}default:{const Pt=this.startBlockValue(Wt);if(Pt){if(en&&Pt.type!=="block-seq"){Wt.items.push({start:nn})}this.stack.push(Pt);return}}}}yield*this.pop();yield*this.step()}*blockSequence(Wt){const Pt=Wt.items[Wt.items.length-1];switch(this.type){case"newline":if(Pt.value){const en="end"in Pt.value?Pt.value.end:undefined;const tn=Array.isArray(en)?en[en.length-1]:undefined;if(tn?.type==="comment")en?.push(this.sourceToken);else Wt.items.push({start:[this.sourceToken]})}else Pt.start.push(this.sourceToken);return;case"space":case"comment":if(Pt.value)Wt.items.push({start:[this.sourceToken]});else{if(this.atIndentedComment(Pt.start,Wt.indent)){const en=Wt.items[Wt.items.length-2];const tn=en?.value?.end;if(Array.isArray(tn)){Array.prototype.push.apply(tn,Pt.start);tn.push(this.sourceToken);Wt.items.pop();return}}Pt.start.push(this.sourceToken)}return;case"anchor":case"tag":if(Pt.value||this.indent<=Wt.indent)break;Pt.start.push(this.sourceToken);return;case"seq-item-ind":if(this.indent!==Wt.indent)break;if(Pt.value||includesToken(Pt.start,"seq-item-ind"))Wt.items.push({start:[this.sourceToken]});else Pt.start.push(this.sourceToken);return}if(this.indent>Wt.indent){const Pt=this.startBlockValue(Wt);if(Pt){this.stack.push(Pt);return}}yield*this.pop();yield*this.step()}*flowCollection(Wt){const Pt=Wt.items[Wt.items.length-1];if(this.type==="flow-error-end"){let Wt;do{yield*this.pop();Wt=this.peek(1)}while(Wt&&Wt.type==="flow-collection")}else if(Wt.end.length===0){switch(this.type){case"comma":case"explicit-key-ind":if(!Pt||Pt.sep)Wt.items.push({start:[this.sourceToken]});else Pt.start.push(this.sourceToken);return;case"map-value-ind":if(!Pt||Pt.value)Wt.items.push({start:[],key:null,sep:[this.sourceToken]});else if(Pt.sep)Pt.sep.push(this.sourceToken);else Object.assign(Pt,{key:null,sep:[this.sourceToken]});return;case"space":case"comment":case"newline":case"anchor":case"tag":if(!Pt||Pt.value)Wt.items.push({start:[this.sourceToken]});else if(Pt.sep)Pt.sep.push(this.sourceToken);else Pt.start.push(this.sourceToken);return;case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":{const en=this.flowScalar(this.type);if(!Pt||Pt.value)Wt.items.push({start:[],key:en,sep:[]});else if(Pt.sep)this.stack.push(en);else Object.assign(Pt,{key:en,sep:[]});return}case"flow-map-end":case"flow-seq-end":Wt.end.push(this.sourceToken);return}const en=this.startBlockValue(Wt);if(en)this.stack.push(en);else{yield*this.pop();yield*this.step()}}else{const Pt=this.peek(2);if(Pt.type==="block-map"&&(this.type==="map-value-ind"&&Pt.indent===Wt.indent||this.type==="newline"&&!Pt.items[Pt.items.length-1].sep)){yield*this.pop();yield*this.step()}else if(this.type==="map-value-ind"&&Pt.type!=="flow-collection"){const en=getPrevProps(Pt);const tn=getFirstKeyStartProps(en);fixFlowSeqItems(Wt);const nn=Wt.end.splice(1,Wt.end.length);nn.push(this.sourceToken);const an={type:"block-map",offset:Wt.offset,indent:Wt.indent,items:[{start:tn,key:Wt,sep:nn}]};this.onKeyLine=true;this.stack[this.stack.length-1]=an}else{yield*this.lineEnd(Wt)}}}flowScalar(Wt){if(this.onNewLine){let Wt=this.source.indexOf("\n")+1;while(Wt!==0){this.onNewLine(this.offset+Wt);Wt=this.source.indexOf("\n",Wt)+1}}return{type:Wt,offset:this.offset,indent:this.indent,source:this.source}}startBlockValue(Wt){switch(this.type){case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":return this.flowScalar(this.type);case"block-scalar-header":return{type:"block-scalar",offset:this.offset,indent:this.indent,props:[this.sourceToken],source:""};case"flow-map-start":case"flow-seq-start":return{type:"flow-collection",offset:this.offset,indent:this.indent,start:this.sourceToken,items:[],end:[]};case"seq-item-ind":return{type:"block-seq",offset:this.offset,indent:this.indent,items:[{start:[this.sourceToken]}]};case"explicit-key-ind":{this.onKeyLine=true;const Pt=getPrevProps(Wt);const en=getFirstKeyStartProps(Pt);en.push(this.sourceToken);return{type:"block-map",offset:this.offset,indent:this.indent,items:[{start:en,explicitKey:true}]}}case"map-value-ind":{this.onKeyLine=true;const Pt=getPrevProps(Wt);const en=getFirstKeyStartProps(Pt);return{type:"block-map",offset:this.offset,indent:this.indent,items:[{start:en,key:null,sep:[this.sourceToken]}]}}}return null}atIndentedComment(Wt,Pt){if(this.type!=="comment")return false;if(this.indent<=Pt)return false;return Wt.every((Wt=>Wt.type==="newline"||Wt.type==="space"))}*documentEnd(Wt){if(this.type!=="doc-mode"){if(Wt.end)Wt.end.push(this.sourceToken);else Wt.end=[this.sourceToken];if(this.type==="newline")yield*this.pop()}}*lineEnd(Wt){switch(this.type){case"comma":case"doc-start":case"doc-end":case"flow-seq-end":case"flow-map-end":case"map-value-ind":yield*this.pop();yield*this.step();break;case"newline":this.onKeyLine=false;case"space":case"comment":default:if(Wt.end)Wt.end.push(this.sourceToken);else Wt.end=[this.sourceToken];if(this.type==="newline")yield*this.pop()}}}Pt.Parser=Parser},84047:(Wt,Pt,en)=>{var tn=en(89984);var nn=en(3021);var an=en(91464);var In=en(57249);var rn=en(41127);var sn=en(66628);var on=en(3456);function parseOptions(Wt){const Pt=Wt.prettyErrors!==false;const en=Wt.lineCounter||Pt&&new sn.LineCounter||null;return{lineCounter:en,prettyErrors:Pt}}function parseAllDocuments(Wt,Pt={}){const{lineCounter:en,prettyErrors:nn}=parseOptions(Pt);const In=new on.Parser(en?.addNewLine);const rn=new tn.Composer(Pt);const sn=Array.from(rn.compose(In.parse(Wt)));if(nn&&en)for(const Pt of sn){Pt.errors.forEach(an.prettifyError(Wt,en));Pt.warnings.forEach(an.prettifyError(Wt,en))}if(sn.length>0)return sn;return Object.assign([],{empty:true},rn.streamInfo())}function parseDocument(Wt,Pt={}){const{lineCounter:en,prettyErrors:nn}=parseOptions(Pt);const In=new on.Parser(en?.addNewLine);const rn=new tn.Composer(Pt);let sn=null;for(const Pt of rn.compose(In.parse(Wt),true,Wt.length)){if(!sn)sn=Pt;else if(sn.options.logLevel!=="silent"){sn.errors.push(new an.YAMLParseError(Pt.range.slice(0,2),"MULTIPLE_DOCS","Source contains multiple documents; please use YAML.parseAllDocuments()"));break}}if(nn&&en){sn.errors.forEach(an.prettifyError(Wt,en));sn.warnings.forEach(an.prettifyError(Wt,en))}return sn}function parse(Wt,Pt,en){let tn=undefined;if(typeof Pt==="function"){tn=Pt}else if(en===undefined&&Pt&&typeof Pt==="object"){en=Pt}const nn=parseDocument(Wt,en);if(!nn)return null;nn.warnings.forEach((Wt=>In.warn(nn.options.logLevel,Wt)));if(nn.errors.length>0){if(nn.options.logLevel!=="silent")throw nn.errors[0];else nn.errors=[]}return nn.toJS(Object.assign({reviver:tn},en))}function stringify(Wt,Pt,en){let tn=null;if(typeof Pt==="function"||Array.isArray(Pt)){tn=Pt}else if(en===undefined&&Pt){en=Pt}if(typeof en==="string")en=en.length;if(typeof en==="number"){const Wt=Math.round(en);en=Wt<1?undefined:Wt>8?{indent:8}:{indent:Wt}}if(Wt===undefined){const{keepUndefined:Wt}=en??Pt??{};if(!Wt)return undefined}if(rn.isDocument(Wt)&&!tn)return Wt.toString(en);return new nn.Document(Wt,tn,en).toString(en)}Pt.parse=parse;Pt.parseAllDocuments=parseAllDocuments;Pt.parseDocument=parseDocument;Pt.stringify=stringify},45840:(Wt,Pt,en)=>{var tn=en(41127);var nn=en(47451);var an=en(1706);var In=en(66464);var rn=en(90018);const sortMapEntriesByKey=(Wt,Pt)=>Wt.keyPt.key?1:0;class Schema{constructor({compat:Wt,customTags:Pt,merge:en,resolveKnownTags:sn,schema:on,sortMapEntries:cn,toStringDefaults:dn}){this.compat=Array.isArray(Wt)?rn.getTags(Wt,"compat"):Wt?rn.getTags(null,Wt):null;this.name=typeof on==="string"&&on||"core";this.knownTags=sn?rn.coreKnownTags:{};this.tags=rn.getTags(Pt,this.name,en);this.toStringOptions=dn??null;Object.defineProperty(this,tn.MAP,{value:nn.map});Object.defineProperty(this,tn.SCALAR,{value:In.string});Object.defineProperty(this,tn.SEQ,{value:an.seq});this.sortMapEntries=typeof cn==="function"?cn:cn===true?sortMapEntriesByKey:null}clone(){const Wt=Object.create(Schema.prototype,Object.getOwnPropertyDescriptors(this));Wt.tags=this.tags.slice();return Wt}}Pt.Schema=Schema},47451:(Wt,Pt,en)=>{var tn=en(41127);var nn=en(84454);const an={collection:"map",default:true,nodeClass:nn.YAMLMap,tag:"tag:yaml.org,2002:map",resolve(Wt,Pt){if(!tn.isMap(Wt))Pt("Expected a mapping for this tag");return Wt},createNode:(Wt,Pt,en)=>nn.YAMLMap.from(Wt,Pt,en)};Pt.map=an},73632:(Wt,Pt,en)=>{var tn=en(63301);const nn={identify:Wt=>Wt==null,createNode:()=>new tn.Scalar(null),default:true,tag:"tag:yaml.org,2002:null",test:/^(?:~|[Nn]ull|NULL)?$/,resolve:()=>new tn.Scalar(null),stringify:({source:Wt},Pt)=>typeof Wt==="string"&&nn.test.test(Wt)?Wt:Pt.options.nullStr};Pt.nullTag=nn},1706:(Wt,Pt,en)=>{var tn=en(41127);var nn=en(92223);const an={collection:"seq",default:true,nodeClass:nn.YAMLSeq,tag:"tag:yaml.org,2002:seq",resolve(Wt,Pt){if(!tn.isSeq(Wt))Pt("Expected a sequence for this tag");return Wt},createNode:(Wt,Pt,en)=>nn.YAMLSeq.from(Wt,Pt,en)};Pt.seq=an},66464:(Wt,Pt,en)=>{var tn=en(83069);const nn={identify:Wt=>typeof Wt==="string",default:true,tag:"tag:yaml.org,2002:str",resolve:Wt=>Wt,stringify(Wt,Pt,en,nn){Pt=Object.assign({actualString:true},Pt);return tn.stringifyString(Wt,Pt,en,nn)}};Pt.string=nn},73959:(Wt,Pt,en)=>{var tn=en(63301);const nn={identify:Wt=>typeof Wt==="boolean",default:true,tag:"tag:yaml.org,2002:bool",test:/^(?:[Tt]rue|TRUE|[Ff]alse|FALSE)$/,resolve:Wt=>new tn.Scalar(Wt[0]==="t"||Wt[0]==="T"),stringify({source:Wt,value:Pt},en){if(Wt&&nn.test.test(Wt)){const en=Wt[0]==="t"||Wt[0]==="T";if(Pt===en)return Wt}return Pt?en.options.trueStr:en.options.falseStr}};Pt.boolTag=nn},38405:(Wt,Pt,en)=>{var tn=en(63301);var nn=en(28689);const an={identify:Wt=>typeof Wt==="number",default:true,tag:"tag:yaml.org,2002:float",test:/^(?:[-+]?\.(?:inf|Inf|INF)|\.nan|\.NaN|\.NAN)$/,resolve:Wt=>Wt.slice(-3).toLowerCase()==="nan"?NaN:Wt[0]==="-"?Number.NEGATIVE_INFINITY:Number.POSITIVE_INFINITY,stringify:nn.stringifyNumber};const In={identify:Wt=>typeof Wt==="number",default:true,tag:"tag:yaml.org,2002:float",format:"EXP",test:/^[-+]?(?:\.[0-9]+|[0-9]+(?:\.[0-9]*)?)[eE][-+]?[0-9]+$/,resolve:Wt=>parseFloat(Wt),stringify(Wt){const Pt=Number(Wt.value);return isFinite(Pt)?Pt.toExponential():nn.stringifyNumber(Wt)}};const rn={identify:Wt=>typeof Wt==="number",default:true,tag:"tag:yaml.org,2002:float",test:/^[-+]?(?:\.[0-9]+|[0-9]+\.[0-9]*)$/,resolve(Wt){const Pt=new tn.Scalar(parseFloat(Wt));const en=Wt.indexOf(".");if(en!==-1&&Wt[Wt.length-1]==="0")Pt.minFractionDigits=Wt.length-en-1;return Pt},stringify:nn.stringifyNumber};Pt.float=rn;Pt.floatExp=In;Pt.floatNaN=an},59874:(Wt,Pt,en)=>{var tn=en(28689);const intIdentify=Wt=>typeof Wt==="bigint"||Number.isInteger(Wt);const intResolve=(Wt,Pt,en,{intAsBigInt:tn})=>tn?BigInt(Wt):parseInt(Wt.substring(Pt),en);function intStringify(Wt,Pt,en){const{value:nn}=Wt;if(intIdentify(nn)&&nn>=0)return en+nn.toString(Pt);return tn.stringifyNumber(Wt)}const nn={identify:Wt=>intIdentify(Wt)&&Wt>=0,default:true,tag:"tag:yaml.org,2002:int",format:"OCT",test:/^0o[0-7]+$/,resolve:(Wt,Pt,en)=>intResolve(Wt,2,8,en),stringify:Wt=>intStringify(Wt,8,"0o")};const an={identify:intIdentify,default:true,tag:"tag:yaml.org,2002:int",test:/^[-+]?[0-9]+$/,resolve:(Wt,Pt,en)=>intResolve(Wt,0,10,en),stringify:tn.stringifyNumber};const In={identify:Wt=>intIdentify(Wt)&&Wt>=0,default:true,tag:"tag:yaml.org,2002:int",format:"HEX",test:/^0x[0-9a-fA-F]+$/,resolve:(Wt,Pt,en)=>intResolve(Wt,2,16,en),stringify:Wt=>intStringify(Wt,16,"0x")};Pt.int=an;Pt.intHex=In;Pt.intOct=nn},70896:(Wt,Pt,en)=>{var tn=en(47451);var nn=en(73632);var an=en(1706);var In=en(66464);var rn=en(73959);var sn=en(38405);var on=en(59874);const cn=[tn.map,an.seq,In.string,nn.nullTag,rn.boolTag,on.intOct,on.int,on.intHex,sn.floatNaN,sn.floatExp,sn.float];Pt.schema=cn},33559:(Wt,Pt,en)=>{var tn=en(63301);var nn=en(47451);var an=en(1706);function intIdentify(Wt){return typeof Wt==="bigint"||Number.isInteger(Wt)}const stringifyJSON=({value:Wt})=>JSON.stringify(Wt);const In=[{identify:Wt=>typeof Wt==="string",default:true,tag:"tag:yaml.org,2002:str",resolve:Wt=>Wt,stringify:stringifyJSON},{identify:Wt=>Wt==null,createNode:()=>new tn.Scalar(null),default:true,tag:"tag:yaml.org,2002:null",test:/^null$/,resolve:()=>null,stringify:stringifyJSON},{identify:Wt=>typeof Wt==="boolean",default:true,tag:"tag:yaml.org,2002:bool",test:/^true$|^false$/,resolve:Wt=>Wt==="true",stringify:stringifyJSON},{identify:intIdentify,default:true,tag:"tag:yaml.org,2002:int",test:/^-?(?:0|[1-9][0-9]*)$/,resolve:(Wt,Pt,{intAsBigInt:en})=>en?BigInt(Wt):parseInt(Wt,10),stringify:({value:Wt})=>intIdentify(Wt)?Wt.toString():JSON.stringify(Wt)},{identify:Wt=>typeof Wt==="number",default:true,tag:"tag:yaml.org,2002:float",test:/^-?(?:0|[1-9][0-9]*)(?:\.[0-9]*)?(?:[eE][-+]?[0-9]+)?$/,resolve:Wt=>parseFloat(Wt),stringify:stringifyJSON}];const rn={default:true,tag:"",test:/^/,resolve(Wt,Pt){Pt(`Unresolved plain scalar ${JSON.stringify(Wt)}`);return Wt}};const sn=[nn.map,an.seq].concat(In,rn);Pt.schema=sn},90018:(Wt,Pt,en)=>{var tn=en(47451);var nn=en(73632);var an=en(1706);var In=en(66464);var rn=en(73959);var sn=en(38405);var on=en(59874);var cn=en(70896);var dn=en(33559);var un=en(56083);var pn=en(90452);var mn=en(50303);var bn=en(18385);var Gn=en(35913);var hn=en(81528);var Zn=en(24371);const An=new Map([["core",cn.schema],["failsafe",[tn.map,an.seq,In.string]],["json",dn.schema],["yaml11",Gn.schema],["yaml-1.1",Gn.schema]]);const Wn={binary:un.binary,bool:rn.boolTag,float:sn.float,floatExp:sn.floatExp,floatNaN:sn.floatNaN,floatTime:Zn.floatTime,int:on.int,intHex:on.intHex,intOct:on.intOct,intTime:Zn.intTime,map:tn.map,merge:pn.merge,null:nn.nullTag,omap:mn.omap,pairs:bn.pairs,seq:an.seq,set:hn.set,timestamp:Zn.timestamp};const Nn={"tag:yaml.org,2002:binary":un.binary,"tag:yaml.org,2002:merge":pn.merge,"tag:yaml.org,2002:omap":mn.omap,"tag:yaml.org,2002:pairs":bn.pairs,"tag:yaml.org,2002:set":hn.set,"tag:yaml.org,2002:timestamp":Zn.timestamp};function getTags(Wt,Pt,en){const tn=An.get(Pt);if(tn&&!Wt){return en&&!tn.includes(pn.merge)?tn.concat(pn.merge):tn.slice()}let nn=tn;if(!nn){if(Array.isArray(Wt))nn=[];else{const Wt=Array.from(An.keys()).filter((Wt=>Wt!=="yaml11")).map((Wt=>JSON.stringify(Wt))).join(", ");throw new Error(`Unknown schema "${Pt}"; use one of ${Wt} or define customTags array`)}}if(Array.isArray(Wt)){for(const Pt of Wt)nn=nn.concat(Pt)}else if(typeof Wt==="function"){nn=Wt(nn.slice())}if(en)nn=nn.concat(pn.merge);return nn.reduce(((Wt,Pt)=>{const en=typeof Pt==="string"?Wn[Pt]:Pt;if(!en){const Wt=JSON.stringify(Pt);const en=Object.keys(Wn).map((Wt=>JSON.stringify(Wt))).join(", ");throw new Error(`Unknown custom tag ${Wt}; use one of ${en}`)}if(!Wt.includes(en))Wt.push(en);return Wt}),[])}Pt.coreKnownTags=Nn;Pt.getTags=getTags},56083:(Wt,Pt,en)=>{var tn=en(63301);var nn=en(83069);const an={identify:Wt=>Wt instanceof Uint8Array,default:false,tag:"tag:yaml.org,2002:binary",resolve(Wt,Pt){if(typeof Buffer==="function"){return Buffer.from(Wt,"base64")}else if(typeof atob==="function"){const Pt=atob(Wt.replace(/[\n\r]/g,""));const en=new Uint8Array(Pt.length);for(let Wt=0;Wt{var tn=en(63301);function boolStringify({value:Wt,source:Pt},en){const tn=Wt?nn:an;if(Pt&&tn.test.test(Pt))return Pt;return Wt?en.options.trueStr:en.options.falseStr}const nn={identify:Wt=>Wt===true,default:true,tag:"tag:yaml.org,2002:bool",test:/^(?:Y|y|[Yy]es|YES|[Tt]rue|TRUE|[Oo]n|ON)$/,resolve:()=>new tn.Scalar(true),stringify:boolStringify};const an={identify:Wt=>Wt===false,default:true,tag:"tag:yaml.org,2002:bool",test:/^(?:N|n|[Nn]o|NO|[Ff]alse|FALSE|[Oo]ff|OFF)$/,resolve:()=>new tn.Scalar(false),stringify:boolStringify};Pt.falseTag=an;Pt.trueTag=nn},35782:(Wt,Pt,en)=>{var tn=en(63301);var nn=en(28689);const an={identify:Wt=>typeof Wt==="number",default:true,tag:"tag:yaml.org,2002:float",test:/^(?:[-+]?\.(?:inf|Inf|INF)|\.nan|\.NaN|\.NAN)$/,resolve:Wt=>Wt.slice(-3).toLowerCase()==="nan"?NaN:Wt[0]==="-"?Number.NEGATIVE_INFINITY:Number.POSITIVE_INFINITY,stringify:nn.stringifyNumber};const In={identify:Wt=>typeof Wt==="number",default:true,tag:"tag:yaml.org,2002:float",format:"EXP",test:/^[-+]?(?:[0-9][0-9_]*)?(?:\.[0-9_]*)?[eE][-+]?[0-9]+$/,resolve:Wt=>parseFloat(Wt.replace(/_/g,"")),stringify(Wt){const Pt=Number(Wt.value);return isFinite(Pt)?Pt.toExponential():nn.stringifyNumber(Wt)}};const rn={identify:Wt=>typeof Wt==="number",default:true,tag:"tag:yaml.org,2002:float",test:/^[-+]?(?:[0-9][0-9_]*)?\.[0-9_]*$/,resolve(Wt){const Pt=new tn.Scalar(parseFloat(Wt.replace(/_/g,"")));const en=Wt.indexOf(".");if(en!==-1){const tn=Wt.substring(en+1).replace(/_/g,"");if(tn[tn.length-1]==="0")Pt.minFractionDigits=tn.length}return Pt},stringify:nn.stringifyNumber};Pt.float=rn;Pt.floatExp=In;Pt.floatNaN=an},10873:(Wt,Pt,en)=>{var tn=en(28689);const intIdentify=Wt=>typeof Wt==="bigint"||Number.isInteger(Wt);function intResolve(Wt,Pt,en,{intAsBigInt:tn}){const nn=Wt[0];if(nn==="-"||nn==="+")Pt+=1;Wt=Wt.substring(Pt).replace(/_/g,"");if(tn){switch(en){case 2:Wt=`0b${Wt}`;break;case 8:Wt=`0o${Wt}`;break;case 16:Wt=`0x${Wt}`;break}const Pt=BigInt(Wt);return nn==="-"?BigInt(-1)*Pt:Pt}const an=parseInt(Wt,en);return nn==="-"?-1*an:an}function intStringify(Wt,Pt,en){const{value:nn}=Wt;if(intIdentify(nn)){const Wt=nn.toString(Pt);return nn<0?"-"+en+Wt.substr(1):en+Wt}return tn.stringifyNumber(Wt)}const nn={identify:intIdentify,default:true,tag:"tag:yaml.org,2002:int",format:"BIN",test:/^[-+]?0b[0-1_]+$/,resolve:(Wt,Pt,en)=>intResolve(Wt,2,2,en),stringify:Wt=>intStringify(Wt,2,"0b")};const an={identify:intIdentify,default:true,tag:"tag:yaml.org,2002:int",format:"OCT",test:/^[-+]?0[0-7_]+$/,resolve:(Wt,Pt,en)=>intResolve(Wt,1,8,en),stringify:Wt=>intStringify(Wt,8,"0")};const In={identify:intIdentify,default:true,tag:"tag:yaml.org,2002:int",test:/^[-+]?[0-9][0-9_]*$/,resolve:(Wt,Pt,en)=>intResolve(Wt,0,10,en),stringify:tn.stringifyNumber};const rn={identify:intIdentify,default:true,tag:"tag:yaml.org,2002:int",format:"HEX",test:/^[-+]?0x[0-9a-fA-F_]+$/,resolve:(Wt,Pt,en)=>intResolve(Wt,2,16,en),stringify:Wt=>intStringify(Wt,16,"0x")};Pt.int=In;Pt.intBin=nn;Pt.intHex=rn;Pt.intOct=an},90452:(Wt,Pt,en)=>{var tn=en(41127);var nn=en(63301);const an="<<";const In={identify:Wt=>Wt===an||typeof Wt==="symbol"&&Wt.description===an,default:"key",tag:"tag:yaml.org,2002:merge",test:/^<<$/,resolve:()=>Object.assign(new nn.Scalar(Symbol(an)),{addToJSMap:addMergeToJSMap}),stringify:()=>an};const isMergeKey=(Wt,Pt)=>(In.identify(Pt)||tn.isScalar(Pt)&&(!Pt.type||Pt.type===nn.Scalar.PLAIN)&&In.identify(Pt.value))&&Wt?.doc.schema.tags.some((Wt=>Wt.tag===In.tag&&Wt.default));function addMergeToJSMap(Wt,Pt,en){en=Wt&&tn.isAlias(en)?en.resolve(Wt.doc):en;if(tn.isSeq(en))for(const tn of en.items)mergeValue(Wt,Pt,tn);else if(Array.isArray(en))for(const tn of en)mergeValue(Wt,Pt,tn);else mergeValue(Wt,Pt,en)}function mergeValue(Wt,Pt,en){const nn=Wt&&tn.isAlias(en)?en.resolve(Wt.doc):en;if(!tn.isMap(nn))throw new Error("Merge sources must be maps or map aliases");const an=nn.toJSON(null,Wt,Map);for(const[Wt,en]of an){if(Pt instanceof Map){if(!Pt.has(Wt))Pt.set(Wt,en)}else if(Pt instanceof Set){Pt.add(Wt)}else if(!Object.prototype.hasOwnProperty.call(Pt,Wt)){Object.defineProperty(Pt,Wt,{value:en,writable:true,enumerable:true,configurable:true})}}return Pt}Pt.addMergeToJSMap=addMergeToJSMap;Pt.isMergeKey=isMergeKey;Pt.merge=In},50303:(Wt,Pt,en)=>{var tn=en(41127);var nn=en(74043);var an=en(84454);var In=en(92223);var rn=en(18385);class YAMLOMap extends In.YAMLSeq{constructor(){super();this.add=an.YAMLMap.prototype.add.bind(this);this.delete=an.YAMLMap.prototype.delete.bind(this);this.get=an.YAMLMap.prototype.get.bind(this);this.has=an.YAMLMap.prototype.has.bind(this);this.set=an.YAMLMap.prototype.set.bind(this);this.tag=YAMLOMap.tag}toJSON(Wt,Pt){if(!Pt)return super.toJSON(Wt);const en=new Map;if(Pt?.onCreate)Pt.onCreate(en);for(const Wt of this.items){let an,In;if(tn.isPair(Wt)){an=nn.toJS(Wt.key,"",Pt);In=nn.toJS(Wt.value,an,Pt)}else{an=nn.toJS(Wt,"",Pt)}if(en.has(an))throw new Error("Ordered maps must not include duplicate keys");en.set(an,In)}return en}static from(Wt,Pt,en){const tn=rn.createPairs(Wt,Pt,en);const nn=new this;nn.items=tn.items;return nn}}YAMLOMap.tag="tag:yaml.org,2002:omap";const sn={collection:"seq",identify:Wt=>Wt instanceof Map,nodeClass:YAMLOMap,default:false,tag:"tag:yaml.org,2002:omap",resolve(Wt,Pt){const en=rn.resolvePairs(Wt,Pt);const nn=[];for(const{key:Wt}of en.items){if(tn.isScalar(Wt)){if(nn.includes(Wt.value)){Pt(`Ordered maps must not include duplicate keys: ${Wt.value}`)}else{nn.push(Wt.value)}}}return Object.assign(new YAMLOMap,en)},createNode:(Wt,Pt,en)=>YAMLOMap.from(Wt,Pt,en)};Pt.YAMLOMap=YAMLOMap;Pt.omap=sn},18385:(Wt,Pt,en)=>{var tn=en(41127);var nn=en(57165);var an=en(63301);var In=en(92223);function resolvePairs(Wt,Pt){if(tn.isSeq(Wt)){for(let en=0;en1)Pt("Each pair must have its own sequence indicator");const Wt=In.items[0]||new nn.Pair(new an.Scalar(null));if(In.commentBefore)Wt.key.commentBefore=Wt.key.commentBefore?`${In.commentBefore}\n${Wt.key.commentBefore}`:In.commentBefore;if(In.comment){const Pt=Wt.value??Wt.key;Pt.comment=Pt.comment?`${In.comment}\n${Pt.comment}`:In.comment}In=Wt}Wt.items[en]=tn.isPair(In)?In:new nn.Pair(In)}}else Pt("Expected a sequence for this tag");return Wt}function createPairs(Wt,Pt,en){const{replacer:tn}=en;const an=new In.YAMLSeq(Wt);an.tag="tag:yaml.org,2002:pairs";let rn=0;if(Pt&&Symbol.iterator in Object(Pt))for(let Wt of Pt){if(typeof tn==="function")Wt=tn.call(Pt,String(rn++),Wt);let In,sn;if(Array.isArray(Wt)){if(Wt.length===2){In=Wt[0];sn=Wt[1]}else throw new TypeError(`Expected [key, value] tuple: ${Wt}`)}else if(Wt&&Wt instanceof Object){const Pt=Object.keys(Wt);if(Pt.length===1){In=Pt[0];sn=Wt[In]}else{throw new TypeError(`Expected tuple with one key, not ${Pt.length} keys`)}}else{In=Wt}an.items.push(nn.createPair(In,sn,en))}return an}const rn={collection:"seq",default:false,tag:"tag:yaml.org,2002:pairs",resolve:resolvePairs,createNode:createPairs};Pt.createPairs=createPairs;Pt.pairs=rn;Pt.resolvePairs=resolvePairs},35913:(Wt,Pt,en)=>{var tn=en(47451);var nn=en(73632);var an=en(1706);var In=en(66464);var rn=en(56083);var sn=en(88398);var on=en(35782);var cn=en(10873);var dn=en(90452);var un=en(50303);var pn=en(18385);var mn=en(81528);var bn=en(24371);const Gn=[tn.map,an.seq,In.string,nn.nullTag,sn.trueTag,sn.falseTag,cn.intBin,cn.intOct,cn.int,cn.intHex,on.floatNaN,on.floatExp,on.float,rn.binary,dn.merge,un.omap,pn.pairs,mn.set,bn.intTime,bn.floatTime,bn.timestamp];Pt.schema=Gn},81528:(Wt,Pt,en)=>{var tn=en(41127);var nn=en(57165);var an=en(84454);class YAMLSet extends an.YAMLMap{constructor(Wt){super(Wt);this.tag=YAMLSet.tag}add(Wt){let Pt;if(tn.isPair(Wt))Pt=Wt;else if(Wt&&typeof Wt==="object"&&"key"in Wt&&"value"in Wt&&Wt.value===null)Pt=new nn.Pair(Wt.key,null);else Pt=new nn.Pair(Wt,null);const en=an.findPair(this.items,Pt.key);if(!en)this.items.push(Pt)}get(Wt,Pt){const en=an.findPair(this.items,Wt);return!Pt&&tn.isPair(en)?tn.isScalar(en.key)?en.key.value:en.key:en}set(Wt,Pt){if(typeof Pt!=="boolean")throw new Error(`Expected boolean value for set(key, value) in a YAML set, not ${typeof Pt}`);const en=an.findPair(this.items,Wt);if(en&&!Pt){this.items.splice(this.items.indexOf(en),1)}else if(!en&&Pt){this.items.push(new nn.Pair(Wt))}}toJSON(Wt,Pt){return super.toJSON(Wt,Pt,Set)}toString(Wt,Pt,en){if(!Wt)return JSON.stringify(this);if(this.hasAllNullValues(true))return super.toString(Object.assign({},Wt,{allNullValues:true}),Pt,en);else throw new Error("Set items must all have null values")}static from(Wt,Pt,en){const{replacer:tn}=en;const an=new this(Wt);if(Pt&&Symbol.iterator in Object(Pt))for(let Wt of Pt){if(typeof tn==="function")Wt=tn.call(Pt,Wt,Wt);an.items.push(nn.createPair(Wt,null,en))}return an}}YAMLSet.tag="tag:yaml.org,2002:set";const In={collection:"map",identify:Wt=>Wt instanceof Set,nodeClass:YAMLSet,default:false,tag:"tag:yaml.org,2002:set",createNode:(Wt,Pt,en)=>YAMLSet.from(Wt,Pt,en),resolve(Wt,Pt){if(tn.isMap(Wt)){if(Wt.hasAllNullValues(true))return Object.assign(new YAMLSet,Wt);else Pt("Set items must all have null values")}else Pt("Expected a mapping for this tag");return Wt}};Pt.YAMLSet=YAMLSet;Pt.set=In},24371:(Wt,Pt,en)=>{var tn=en(28689);function parseSexagesimal(Wt,Pt){const en=Wt[0];const tn=en==="-"||en==="+"?Wt.substring(1):Wt;const num=Wt=>Pt?BigInt(Wt):Number(Wt);const nn=tn.replace(/_/g,"").split(":").reduce(((Wt,Pt)=>Wt*num(60)+num(Pt)),num(0));return en==="-"?num(-1)*nn:nn}function stringifySexagesimal(Wt){let{value:Pt}=Wt;let num=Wt=>Wt;if(typeof Pt==="bigint")num=Wt=>BigInt(Wt);else if(isNaN(Pt)||!isFinite(Pt))return tn.stringifyNumber(Wt);let en="";if(Pt<0){en="-";Pt*=num(-1)}const nn=num(60);const an=[Pt%nn];if(Pt<60){an.unshift(0)}else{Pt=(Pt-an[0])/nn;an.unshift(Pt%nn);if(Pt>=60){Pt=(Pt-an[0])/nn;an.unshift(Pt)}}return en+an.map((Wt=>String(Wt).padStart(2,"0"))).join(":").replace(/000000\d*$/,"")}const nn={identify:Wt=>typeof Wt==="bigint"||Number.isInteger(Wt),default:true,tag:"tag:yaml.org,2002:int",format:"TIME",test:/^[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+$/,resolve:(Wt,Pt,{intAsBigInt:en})=>parseSexagesimal(Wt,en),stringify:stringifySexagesimal};const an={identify:Wt=>typeof Wt==="number",default:true,tag:"tag:yaml.org,2002:float",format:"TIME",test:/^[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+\.[0-9_]*$/,resolve:Wt=>parseSexagesimal(Wt,false),stringify:stringifySexagesimal};const In={identify:Wt=>Wt instanceof Date,default:true,tag:"tag:yaml.org,2002:timestamp",test:RegExp("^([0-9]{4})-([0-9]{1,2})-([0-9]{1,2})"+"(?:"+"(?:t|T|[ \\t]+)"+"([0-9]{1,2}):([0-9]{1,2}):([0-9]{1,2}(\\.[0-9]+)?)"+"(?:[ \\t]*(Z|[-+][012]?[0-9](?::[0-9]{2})?))?"+")?$"),resolve(Wt){const Pt=Wt.match(In.test);if(!Pt)throw new Error("!!timestamp expects a date, starting with yyyy-mm-dd");const[,en,tn,nn,an,rn,sn]=Pt.map(Number);const on=Pt[7]?Number((Pt[7]+"00").substr(1,3)):0;let cn=Date.UTC(en,tn-1,nn,an||0,rn||0,sn||0,on);const dn=Pt[8];if(dn&&dn!=="Z"){let Wt=parseSexagesimal(dn,false);if(Math.abs(Wt)<30)Wt*=60;cn-=6e4*Wt}return new Date(cn)},stringify:({value:Wt})=>Wt.toISOString().replace(/(T00:00:00)?\.000Z$/,"")};Pt.floatTime=an;Pt.intTime=nn;Pt.timestamp=In},34475:(Wt,Pt)=>{const en="flow";const tn="block";const nn="quoted";function foldFlowLines(Wt,Pt,en="flow",{indentAtStart:an,lineWidth:In=80,minContentWidth:rn=20,onFold:sn,onOverflow:on}={}){if(!In||In<0)return Wt;if(InIn-Math.max(2,rn))dn.push(0);else pn=In-an}let mn=undefined;let bn=undefined;let Gn=false;let hn=-1;let Zn=-1;let An=-1;if(en===tn){hn=consumeMoreIndentedLines(Wt,hn,Pt.length);if(hn!==-1)pn=hn+cn}for(let an;an=Wt[hn+=1];){if(en===nn&&an==="\\"){Zn=hn;switch(Wt[hn+1]){case"x":hn+=3;break;case"u":hn+=5;break;case"U":hn+=9;break;default:hn+=1}An=hn}if(an==="\n"){if(en===tn)hn=consumeMoreIndentedLines(Wt,hn,Pt.length);pn=hn+Pt.length+cn;mn=undefined}else{if(an===" "&&bn&&bn!==" "&&bn!=="\n"&&bn!=="\t"){const Pt=Wt[hn+1];if(Pt&&Pt!==" "&&Pt!=="\n"&&Pt!=="\t")mn=hn}if(hn>=pn){if(mn){dn.push(mn);pn=mn+cn;mn=undefined}else if(en===nn){while(bn===" "||bn==="\t"){bn=an;an=Wt[hn+=1];Gn=true}const Pt=hn>An+1?hn-2:Zn-1;if(un[Pt])return Wt;dn.push(Pt);un[Pt]=true;pn=Pt+cn;mn=undefined}else{Gn=true}}}bn=an}if(Gn&&on)on();if(dn.length===0)return Wt;if(sn)sn();let Wn=Wt.slice(0,dn[0]);for(let tn=0;tn{var tn=en(71596);var nn=en(41127);var an=en(59799);var In=en(83069);function createStringifyContext(Wt,Pt){const en=Object.assign({blockQuote:true,commentString:an.stringifyComment,defaultKeyType:null,defaultStringType:"PLAIN",directives:null,doubleQuotedAsJSON:false,doubleQuotedMinMultiLineLength:40,falseStr:"false",flowCollectionPadding:true,indentSeq:true,lineWidth:80,minContentWidth:20,nullStr:"null",simpleKeys:false,singleQuote:null,trueStr:"true",verifyAliasOrder:true},Wt.schema.toStringOptions,Pt);let tn;switch(en.collectionStyle){case"block":tn=false;break;case"flow":tn=true;break;default:tn=null}return{anchors:new Set,doc:Wt,flowCollectionPadding:en.flowCollectionPadding?" ":"",indent:"",indentStep:typeof en.indent==="number"?" ".repeat(en.indent):" ",inFlow:tn,options:en}}function getTagObject(Wt,Pt){if(Pt.tag){const en=Wt.filter((Wt=>Wt.tag===Pt.tag));if(en.length>0)return en.find((Wt=>Wt.format===Pt.format))??en[0]}let en=undefined;let tn;if(nn.isScalar(Pt)){tn=Pt.value;let nn=Wt.filter((Wt=>Wt.identify?.(tn)));if(nn.length>1){const Wt=nn.filter((Wt=>Wt.test));if(Wt.length>0)nn=Wt}en=nn.find((Wt=>Wt.format===Pt.format))??nn.find((Wt=>!Wt.format))}else{tn=Pt;en=Wt.find((Wt=>Wt.nodeClass&&tn instanceof Wt.nodeClass))}if(!en){const Wt=tn?.constructor?.name??typeof tn;throw new Error(`Tag not resolved for ${Wt} value`)}return en}function stringifyProps(Wt,Pt,{anchors:en,doc:an}){if(!an.directives)return"";const In=[];const rn=(nn.isScalar(Wt)||nn.isCollection(Wt))&&Wt.anchor;if(rn&&tn.anchorIsValid(rn)){en.add(rn);In.push(`&${rn}`)}const sn=Wt.tag?Wt.tag:Pt.default?null:Pt.tag;if(sn)In.push(an.directives.tagString(sn));return In.join(" ")}function stringify(Wt,Pt,en,tn){if(nn.isPair(Wt))return Wt.toString(Pt,en,tn);if(nn.isAlias(Wt)){if(Pt.doc.directives)return Wt.toString(Pt);if(Pt.resolvedAliases?.has(Wt)){throw new TypeError(`Cannot stringify circular structure without alias nodes`)}else{if(Pt.resolvedAliases)Pt.resolvedAliases.add(Wt);else Pt.resolvedAliases=new Set([Wt]);Wt=Wt.resolve(Pt.doc)}}let an=undefined;const rn=nn.isNode(Wt)?Wt:Pt.doc.createNode(Wt,{onTagObj:Wt=>an=Wt});if(!an)an=getTagObject(Pt.doc.schema.tags,rn);const sn=stringifyProps(rn,an,Pt);if(sn.length>0)Pt.indentAtStart=(Pt.indentAtStart??0)+sn.length+1;const on=typeof an.stringify==="function"?an.stringify(rn,Pt,en,tn):nn.isScalar(rn)?In.stringifyString(rn,Pt,en,tn):rn.toString(Pt,en,tn);if(!sn)return on;return nn.isScalar(rn)||on[0]==="{"||on[0]==="["?`${sn} ${on}`:`${sn}\n${Pt.indent}${on}`}Pt.createStringifyContext=createStringifyContext;Pt.stringify=stringify},61212:(Wt,Pt,en)=>{var tn=en(41127);var nn=en(2148);var an=en(59799);function stringifyCollection(Wt,Pt,en){const tn=Pt.inFlow??Wt.flow;const nn=tn?stringifyFlowCollection:stringifyBlockCollection;return nn(Wt,Pt,en)}function stringifyBlockCollection({comment:Wt,items:Pt},en,{blockItemPrefix:In,flowChars:rn,itemIndent:sn,onChompKeep:on,onComment:cn}){const{indent:dn,options:{commentString:un}}=en;const pn=Object.assign({},en,{indent:sn,type:null});let mn=false;const bn=[];for(let Wt=0;Wton=null),(()=>mn=true));if(on)cn+=an.lineComment(cn,sn,un(on));if(mn&&on)mn=false;bn.push(In+cn)}let Gn;if(bn.length===0){Gn=rn.start+rn.end}else{Gn=bn[0];for(let Wt=1;Wtsn=null));if(enpn||on.includes("\n")))un=true;mn.push(on);pn=mn.length}const{start:bn,end:Gn}=en;if(mn.length===0){return bn+Gn}else{if(!un){const Wt=mn.reduce(((Wt,Pt)=>Wt+Pt.length+2),2);un=Pt.options.lineWidth>0&&Wt>Pt.options.lineWidth}if(un){let Wt=bn;for(const Pt of mn)Wt+=Pt?`\n${sn}${rn}${Pt}`:"\n";return`${Wt}\n${rn}${Gn}`}else{return`${bn}${on}${mn.join(" ")}${on}${Gn}`}}}function addCommentBefore({indent:Wt,options:{commentString:Pt}},en,tn,nn){if(tn&&nn)tn=tn.replace(/^\n+/,"");if(tn){const nn=an.indentComment(Pt(tn),Wt);en.push(nn.trimStart())}}Pt.stringifyCollection=stringifyCollection},59799:(Wt,Pt)=>{const stringifyComment=Wt=>Wt.replace(/^(?!$)(?: $)?/gm,"#");function indentComment(Wt,Pt){if(/^\n+$/.test(Wt))return Wt.substring(1);return Pt?Wt.replace(/^(?! *$)/gm,Pt):Wt}const lineComment=(Wt,Pt,en)=>Wt.endsWith("\n")?indentComment(en,Pt):en.includes("\n")?"\n"+indentComment(en,Pt):(Wt.endsWith(" ")?"":" ")+en;Pt.indentComment=indentComment;Pt.lineComment=lineComment;Pt.stringifyComment=stringifyComment},6829:(Wt,Pt,en)=>{var tn=en(41127);var nn=en(2148);var an=en(59799);function stringifyDocument(Wt,Pt){const en=[];let In=Pt.directives===true;if(Pt.directives!==false&&Wt.directives){const Pt=Wt.directives.toString(Wt);if(Pt){en.push(Pt);In=true}else if(Wt.directives.docStart)In=true}if(In)en.push("---");const rn=nn.createStringifyContext(Wt,Pt);const{commentString:sn}=rn.options;if(Wt.commentBefore){if(en.length!==1)en.unshift("");const Pt=sn(Wt.commentBefore);en.unshift(an.indentComment(Pt,""))}let on=false;let cn=null;if(Wt.contents){if(tn.isNode(Wt.contents)){if(Wt.contents.spaceBefore&&In)en.push("");if(Wt.contents.commentBefore){const Pt=sn(Wt.contents.commentBefore);en.push(an.indentComment(Pt,""))}rn.forceBlockIndent=!!Wt.comment;cn=Wt.contents.comment}const Pt=cn?undefined:()=>on=true;let dn=nn.stringify(Wt.contents,rn,(()=>cn=null),Pt);if(cn)dn+=an.lineComment(dn,"",sn(cn));if((dn[0]==="|"||dn[0]===">")&&en[en.length-1]==="---"){en[en.length-1]=`--- ${dn}`}else en.push(dn)}else{en.push(nn.stringify(Wt.contents,rn))}if(Wt.directives?.docEnd){if(Wt.comment){const Pt=sn(Wt.comment);if(Pt.includes("\n")){en.push("...");en.push(an.indentComment(Pt,""))}else{en.push(`... ${Pt}`)}}else{en.push("...")}}else{let Pt=Wt.comment;if(Pt&&on)Pt=Pt.replace(/^\n+/,"");if(Pt){if((!on||cn)&&en[en.length-1]!=="")en.push("");en.push(an.indentComment(sn(Pt),""))}}return en.join("\n")+"\n"}Pt.stringifyDocument=stringifyDocument},28689:(Wt,Pt)=>{function stringifyNumber({format:Wt,minFractionDigits:Pt,tag:en,value:tn}){if(typeof tn==="bigint")return String(tn);const nn=typeof tn==="number"?tn:Number(tn);if(!isFinite(nn))return isNaN(nn)?".nan":nn<0?"-.inf":".inf";let an=JSON.stringify(tn);if(!Wt&&Pt&&(!en||en==="tag:yaml.org,2002:float")&&/^\d/.test(an)){let Wt=an.indexOf(".");if(Wt<0){Wt=an.length;an+="."}let en=Pt-(an.length-Wt-1);while(en-- >0)an+="0"}return an}Pt.stringifyNumber=stringifyNumber},59748:(Wt,Pt,en)=>{var tn=en(41127);var nn=en(63301);var an=en(2148);var In=en(59799);function stringifyPair({key:Wt,value:Pt},en,rn,sn){const{allNullValues:on,doc:cn,indent:dn,indentStep:un,options:{commentString:pn,indentSeq:mn,simpleKeys:bn}}=en;let Gn=tn.isNode(Wt)&&Wt.comment||null;if(bn){if(Gn){throw new Error("With simple keys, key nodes cannot have comments")}if(tn.isCollection(Wt)||!tn.isNode(Wt)&&typeof Wt==="object"){const Wt="With simple keys, collection cannot be used as a key value";throw new Error(Wt)}}let hn=!bn&&(!Wt||Gn&&Pt==null&&!en.inFlow||tn.isCollection(Wt)||(tn.isScalar(Wt)?Wt.type===nn.Scalar.BLOCK_FOLDED||Wt.type===nn.Scalar.BLOCK_LITERAL:typeof Wt==="object"));en=Object.assign({},en,{allNullValues:false,implicitKey:!hn&&(bn||!on),indent:dn+un});let Zn=false;let An=false;let Wn=an.stringify(Wt,en,(()=>Zn=true),(()=>An=true));if(!hn&&!en.inFlow&&Wn.length>1024){if(bn)throw new Error("With simple keys, single line scalar must not span more than 1024 characters");hn=true}if(en.inFlow){if(on||Pt==null){if(Zn&&rn)rn();return Wn===""?"?":hn?`? ${Wn}`:Wn}}else if(on&&!bn||Pt==null&&hn){Wn=`? ${Wn}`;if(Gn&&!Zn){Wn+=In.lineComment(Wn,en.indent,pn(Gn))}else if(An&&sn)sn();return Wn}if(Zn)Gn=null;if(hn){if(Gn)Wn+=In.lineComment(Wn,en.indent,pn(Gn));Wn=`? ${Wn}\n${dn}:`}else{Wn=`${Wn}:`;if(Gn)Wn+=In.lineComment(Wn,en.indent,pn(Gn))}let Nn,gn,yn;if(tn.isNode(Pt)){Nn=!!Pt.spaceBefore;gn=Pt.commentBefore;yn=Pt.comment}else{Nn=false;gn=null;yn=null;if(Pt&&typeof Pt==="object")Pt=cn.createNode(Pt)}en.implicitKey=false;if(!hn&&!Gn&&tn.isScalar(Pt))en.indentAtStart=Wn.length+1;An=false;if(!mn&&un.length>=2&&!en.inFlow&&!hn&&tn.isSeq(Pt)&&!Pt.flow&&!Pt.tag&&!Pt.anchor){en.indent=en.indent.substring(2)}let vn=false;const Yn=an.stringify(Pt,en,(()=>vn=true),(()=>An=true));let En=" ";if(Gn||Nn||gn){En=Nn?"\n":"";if(gn){const Wt=pn(gn);En+=`\n${In.indentComment(Wt,en.indent)}`}if(Yn===""&&!en.inFlow){if(En==="\n")En="\n\n"}else{En+=`\n${en.indent}`}}else if(!hn&&tn.isCollection(Pt)){const Wt=Yn[0];const tn=Yn.indexOf("\n");const nn=tn!==-1;const an=en.inFlow??Pt.flow??Pt.items.length===0;if(nn||!an){let Pt=false;if(nn&&(Wt==="&"||Wt==="!")){let en=Yn.indexOf(" ");if(Wt==="&"&&en!==-1&&en{var tn=en(63301);var nn=en(34475);const getFoldOptions=(Wt,Pt)=>({indentAtStart:Pt?Wt.indent.length:Wt.indentAtStart,lineWidth:Wt.options.lineWidth,minContentWidth:Wt.options.minContentWidth});const containsDocumentMarker=Wt=>/^(%|---|\.\.\.)/m.test(Wt);function lineLengthOverLimit(Wt,Pt,en){if(!Pt||Pt<0)return false;const tn=Pt-en;const nn=Wt.length;if(nn<=tn)return false;for(let Pt=0,en=0;Pttn)return true;en=Pt+1;if(nn-en<=tn)return false}}return true}function doubleQuotedString(Wt,Pt){const en=JSON.stringify(Wt);if(Pt.options.doubleQuotedAsJSON)return en;const{implicitKey:tn}=Pt;const an=Pt.options.doubleQuotedMinMultiLineLength;const In=Pt.indent||(containsDocumentMarker(Wt)?" ":"");let rn="";let sn=0;for(let Wt=0,Pt=en[Wt];Pt;Pt=en[++Wt]){if(Pt===" "&&en[Wt+1]==="\\"&&en[Wt+2]==="n"){rn+=en.slice(sn,Wt)+"\\ ";Wt+=1;sn=Wt;Pt="\\"}if(Pt==="\\")switch(en[Wt+1]){case"u":{rn+=en.slice(sn,Wt);const Pt=en.substr(Wt+2,4);switch(Pt){case"0000":rn+="\\0";break;case"0007":rn+="\\a";break;case"000b":rn+="\\v";break;case"001b":rn+="\\e";break;case"0085":rn+="\\N";break;case"00a0":rn+="\\_";break;case"2028":rn+="\\L";break;case"2029":rn+="\\P";break;default:if(Pt.substr(0,2)==="00")rn+="\\x"+Pt.substr(2);else rn+=en.substr(Wt,6)}Wt+=5;sn=Wt+1}break;case"n":if(tn||en[Wt+2]==='"'||en.length\n";let mn;let bn;for(bn=en.length;bn>0;--bn){const Wt=en[bn-1];if(Wt!=="\n"&&Wt!=="\t"&&Wt!==" ")break}let Gn=en.substring(bn);const hn=Gn.indexOf("\n");if(hn===-1){mn="-"}else if(en===Gn||hn!==Gn.length-1){mn="+";if(sn)sn()}else{mn=""}if(Gn){en=en.slice(0,-Gn.length);if(Gn[Gn.length-1]==="\n")Gn=Gn.slice(0,-1);Gn=Gn.replace(an,`$&${un}`)}let Zn=false;let An;let Wn=-1;for(An=0;An{an=true}}const sn=nn.foldFlowLines(`${Nn}${Wt}${Gn}`,un,nn.FOLD_BLOCK,rn);if(!an)return`>${yn}\n${un}${sn}`}en=en.replace(/\n+/g,`$&${un}`);return`|${yn}\n${un}${Nn}${en}${Gn}`}function plainString(Wt,Pt,en,an){const{type:In,value:rn}=Wt;const{actualString:sn,implicitKey:on,indent:cn,indentStep:dn,inFlow:un}=Pt;if(on&&rn.includes("\n")||un&&/[[\]{},]/.test(rn)){return quotedString(rn,Pt)}if(!rn||/^[\n\t ,[\]{}#&*!|>'"%@`]|^[?-]$|^[?-][ \t]|[\n:][ \t]|[ \t]\n|[\n\t ]#|[\n\t :]$/.test(rn)){return on||un||!rn.includes("\n")?quotedString(rn,Pt):blockString(Wt,Pt,en,an)}if(!on&&!un&&In!==tn.Scalar.PLAIN&&rn.includes("\n")){return blockString(Wt,Pt,en,an)}if(containsDocumentMarker(rn)){if(cn===""){Pt.forceBlockIndent=true;return blockString(Wt,Pt,en,an)}else if(on&&cn===dn){return quotedString(rn,Pt)}}const pn=rn.replace(/\n+/g,`$&\n${cn}`);if(sn){const test=Wt=>Wt.default&&Wt.tag!=="tag:yaml.org,2002:str"&&Wt.test?.test(pn);const{compat:Wt,tags:en}=Pt.doc.schema;if(en.some(test)||Wt?.some(test))return quotedString(rn,Pt)}return on?pn:nn.foldFlowLines(pn,cn,nn.FOLD_FLOW,getFoldOptions(Pt,false))}function stringifyString(Wt,Pt,en,nn){const{implicitKey:an,inFlow:In}=Pt;const rn=typeof Wt.value==="string"?Wt:Object.assign({},Wt,{value:String(Wt.value)});let{type:sn}=Wt;if(sn!==tn.Scalar.QUOTE_DOUBLE){if(/[\x00-\x08\x0b-\x1f\x7f-\x9f\u{D800}-\u{DFFF}]/u.test(rn.value))sn=tn.Scalar.QUOTE_DOUBLE}const _stringify=Wt=>{switch(Wt){case tn.Scalar.BLOCK_FOLDED:case tn.Scalar.BLOCK_LITERAL:return an||In?quotedString(rn.value,Pt):blockString(rn,Pt,en,nn);case tn.Scalar.QUOTE_DOUBLE:return doubleQuotedString(rn.value,Pt);case tn.Scalar.QUOTE_SINGLE:return singleQuotedString(rn.value,Pt);case tn.Scalar.PLAIN:return plainString(rn,Pt,en,nn);default:return null}};let on=_stringify(sn);if(on===null){const{defaultKeyType:Wt,defaultStringType:en}=Pt.options;const tn=an&&Wt||en;on=_stringify(tn);if(on===null)throw new Error(`Unsupported default string type ${tn}`)}return on}Pt.stringifyString=stringifyString},10204:(Wt,Pt,en)=>{var tn=en(41127);const nn=Symbol("break visit");const an=Symbol("skip children");const In=Symbol("remove node");function visit(Wt,Pt){const en=initVisitor(Pt);if(tn.isDocument(Wt)){const Pt=visit_(null,Wt.contents,en,Object.freeze([Wt]));if(Pt===In)Wt.contents=null}else visit_(null,Wt,en,Object.freeze([]))}visit.BREAK=nn;visit.SKIP=an;visit.REMOVE=In;function visit_(Wt,Pt,en,an){const rn=callVisitor(Wt,Pt,en,an);if(tn.isNode(rn)||tn.isPair(rn)){replaceNode(Wt,an,rn);return visit_(Wt,rn,en,an)}if(typeof rn!=="symbol"){if(tn.isCollection(Pt)){an=Object.freeze(an.concat(Pt));for(let Wt=0;Wt{Object.defineProperties(Pt,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});function K(Wt){return Wt&&Wt.__esModule&&Object.prototype.hasOwnProperty.call(Wt,"default")?Wt.default:Wt}var en,tn;function Q(){if(tn)return en;tn=1;const Wt=2147483647,Pt=36,nn=1,an=26,In=38,rn=700,sn=72,on=128,cn="-",dn=/^xn--/,un=/[^\0-\x7F]/,pn=/[\x2E\u3002\uFF0E\uFF61]/g,mn={overflow:"Overflow: input needs wider integers to process","not-basic":"Illegal input >= 0x80 (not a basic code point)","invalid-input":"Invalid input"},bn=Pt-nn,Gn=Math.floor,hn=String.fromCharCode;function v(Wt){throw new RangeError(mn[Wt])}function U(Wt,Pt){const en=[];let tn=Wt.length;for(;tn--;)en[tn]=Pt(Wt[tn]);return en}function S(Wt,Pt){const en=Wt.split("@");let tn="";en.length>1&&(tn=en[0]+"@",Wt=en[1]),Wt=Wt.replace(pn,".");const nn=Wt.split("."),an=U(nn,Pt).join(".");return tn+an}function L(Wt){const Pt=[];let en=0;const tn=Wt.length;for(;en=55296&&nn<=56319&&enString.fromCodePoint(...Wt),J=function(Wt){return Wt>=48&&Wt<58?26+(Wt-48):Wt>=65&&Wt<91?Wt-65:Wt>=97&&Wt<123?Wt-97:Pt},D=function(Wt,Pt){return Wt+22+75*(Wt<26)-((Pt!=0)<<5)},T=function(Wt,en,tn){let nn=0;for(Wt=tn?Gn(Wt/rn):Wt>>1,Wt+=Gn(Wt/en);Wt>bn*an>>1;nn+=Pt)Wt=Gn(Wt/bn);return Gn(nn+(bn+1)*Wt/(Wt+In))},E=function(en){const tn=[],In=en.length;let rn=0,dn=on,un=sn,pn=en.lastIndexOf(cn);pn<0&&(pn=0);for(let Wt=0;Wt=128&&v("not-basic"),tn.push(en.charCodeAt(Wt));for(let sn=pn>0?pn+1:0;sn=In&&v("invalid-input");const cn=J(en.charCodeAt(sn++));cn>=Pt&&v("invalid-input"),cn>Gn((Wt-rn)/tn)&&v("overflow"),rn+=cn*tn;const dn=on<=un?nn:on>=un+an?an:on-un;if(cnGn(Wt/pn)&&v("overflow"),tn*=pn}const cn=tn.length+1;un=T(rn-on,cn,on==0),Gn(rn/cn)>Wt-dn&&v("overflow"),dn+=Gn(rn/cn),rn%=cn,tn.splice(rn++,0,dn)}return String.fromCodePoint(...tn)},B=function(en){const tn=[];en=L(en);const In=en.length;let rn=on,dn=0,un=sn;for(const Wt of en)Wt<128&&tn.push(hn(Wt));const pn=tn.length;let mn=pn;for(pn&&tn.push(cn);mn=rn&&WtGn((Wt-dn)/sn)&&v("overflow"),dn+=(In-rn)*sn,rn=In;for(const In of en)if(InWt&&v("overflow"),In===rn){let Wt=dn;for(let en=Pt;;en+=Pt){const In=en<=un?nn:en>=un+an?an:en-un;if(Wt{const en=Pt.replace(/^(\*\.|\!)/,""),tn=an.toASCII(en),nn=Pt.charAt(0);if(Wt.has(tn))throw new Error(`Multiple rules found for ${Pt} (${tn})`);return Wt.set(tn,{rule:Pt,suffix:en,punySuffix:tn,wildcard:nn==="*",exception:nn==="!"}),Wt}),new Map),aa=Wt=>{const Pt=an.toASCII(Wt).split(".");for(let Wt=0;Wt{const Pt=an.toASCII(Wt);if(Pt.length<1)return"DOMAIN_TOO_SHORT";if(Pt.length>255)return"DOMAIN_TOO_LONG";const en=Pt.split(".");let tn;for(let Wt=0;Wt63)return"LABEL_TOO_LONG";if(tn.charAt(0)==="-")return"LABEL_STARTS_WITH_DASH";if(tn.charAt(tn.length-1)==="-")return"LABEL_ENDS_WITH_DASH";if(!/^[a-z0-9\-_]+$/.test(tn))return"LABEL_INVALID_CHARS"}},_=Wt=>{if(typeof Wt!="string")throw new TypeError("Domain name must be a string.");let Pt=Wt.slice(0).toLowerCase();Pt.charAt(Pt.length-1)==="."&&(Pt=Pt.slice(0,Pt.length-1));const en=oa(Pt);if(en)return{input:Wt,error:{message:sn[en],code:en}};const tn={input:Wt,tld:null,sld:null,domain:null,subdomain:null,listed:!1},nn=Pt.split(".");if(nn[nn.length-1]==="local")return tn;const d=()=>(/xn--/.test(Pt)&&(tn.domain&&(tn.domain=an.toASCII(tn.domain)),tn.subdomain&&(tn.subdomain=an.toASCII(tn.subdomain))),tn),In=aa(Pt);if(!In)return nn.length<2?tn:(tn.tld=nn.pop(),tn.sld=nn.pop(),tn.domain=[tn.sld,tn.tld].join("."),nn.length&&(tn.subdomain=nn.pop()),d());tn.listed=!0;const rn=In.suffix.split("."),on=nn.slice(0,nn.length-rn.length);return In.exception&&on.push(rn.shift()),tn.tld=rn.join("."),!on.length||(In.wildcard&&(rn.unshift(on.pop()),tn.tld=rn.join(".")),!on.length)||(tn.sld=on.pop(),tn.domain=[tn.sld,tn.tld].join("."),on.length&&(tn.subdomain=on.join("."))),d()},N=Wt=>Wt&&_(Wt).domain||null,R=Wt=>{const Pt=_(Wt);return!!(Pt.domain&&Pt.listed)},on={parse:_,get:N,isValid:R};Pt["default"]=on;Pt.errorCodes=sn;Pt.get=N;Pt.isValid=R;Pt.parse=_},56220:(Wt,Pt,en)=>{en.d(Pt,{Y:()=>Blob}); /** - * BigNumber - * - * A wrapper around the BN.js object. We use the BN.js library - * because it is used by elliptic, so it is required regardless. - * + * @license + * web-streams-polyfill v4.0.0-beta.3 + * Copyright 2021 Mattias Buelens, Diwank Singh Tomer and other contributors. + * This code is released under the MIT license. + * SPDX-License-Identifier: MIT */ -var bn_js_1 = __importDefault(__nccwpck_require__(97468)); -var BN = bn_js_1.default.BN; -var bytes_1 = __nccwpck_require__(69691); -var logger_1 = __nccwpck_require__(8772); -var _version_1 = __nccwpck_require__(80188); -var logger = new logger_1.Logger(_version_1.version); -var _constructorGuard = {}; -var MAX_SAFE = 0x1fffffffffffff; -function isBigNumberish(value) { - return (value != null) && (BigNumber.isBigNumber(value) || - (typeof (value) === "number" && (value % 1) === 0) || - (typeof (value) === "string" && !!value.match(/^-?[0-9]+$/)) || - (0, bytes_1.isHexString)(value) || - (typeof (value) === "bigint") || - (0, bytes_1.isBytes)(value)); -} -exports.isBigNumberish = isBigNumberish; -// Only warn about passing 10 into radix once -var _warnedToStringRadix = false; -var BigNumber = /** @class */ (function () { - function BigNumber(constructorGuard, hex) { - if (constructorGuard !== _constructorGuard) { - logger.throwError("cannot call constructor directly; use BigNumber.from", logger_1.Logger.errors.UNSUPPORTED_OPERATION, { - operation: "new (BigNumber)" - }); - } - this._hex = hex; - this._isBigNumber = true; - Object.freeze(this); - } - BigNumber.prototype.fromTwos = function (value) { - return toBigNumber(toBN(this).fromTwos(value)); - }; - BigNumber.prototype.toTwos = function (value) { - return toBigNumber(toBN(this).toTwos(value)); - }; - BigNumber.prototype.abs = function () { - if (this._hex[0] === "-") { - return BigNumber.from(this._hex.substring(1)); - } - return this; - }; - BigNumber.prototype.add = function (other) { - return toBigNumber(toBN(this).add(toBN(other))); - }; - BigNumber.prototype.sub = function (other) { - return toBigNumber(toBN(this).sub(toBN(other))); - }; - BigNumber.prototype.div = function (other) { - var o = BigNumber.from(other); - if (o.isZero()) { - throwFault("division-by-zero", "div"); - } - return toBigNumber(toBN(this).div(toBN(other))); - }; - BigNumber.prototype.mul = function (other) { - return toBigNumber(toBN(this).mul(toBN(other))); - }; - BigNumber.prototype.mod = function (other) { - var value = toBN(other); - if (value.isNeg()) { - throwFault("division-by-zero", "mod"); - } - return toBigNumber(toBN(this).umod(value)); - }; - BigNumber.prototype.pow = function (other) { - var value = toBN(other); - if (value.isNeg()) { - throwFault("negative-power", "pow"); - } - return toBigNumber(toBN(this).pow(value)); - }; - BigNumber.prototype.and = function (other) { - var value = toBN(other); - if (this.isNegative() || value.isNeg()) { - throwFault("unbound-bitwise-result", "and"); - } - return toBigNumber(toBN(this).and(value)); - }; - BigNumber.prototype.or = function (other) { - var value = toBN(other); - if (this.isNegative() || value.isNeg()) { - throwFault("unbound-bitwise-result", "or"); - } - return toBigNumber(toBN(this).or(value)); - }; - BigNumber.prototype.xor = function (other) { - var value = toBN(other); - if (this.isNegative() || value.isNeg()) { - throwFault("unbound-bitwise-result", "xor"); - } - return toBigNumber(toBN(this).xor(value)); - }; - BigNumber.prototype.mask = function (value) { - if (this.isNegative() || value < 0) { - throwFault("negative-width", "mask"); - } - return toBigNumber(toBN(this).maskn(value)); - }; - BigNumber.prototype.shl = function (value) { - if (this.isNegative() || value < 0) { - throwFault("negative-width", "shl"); - } - return toBigNumber(toBN(this).shln(value)); - }; - BigNumber.prototype.shr = function (value) { - if (this.isNegative() || value < 0) { - throwFault("negative-width", "shr"); - } - return toBigNumber(toBN(this).shrn(value)); - }; - BigNumber.prototype.eq = function (other) { - return toBN(this).eq(toBN(other)); - }; - BigNumber.prototype.lt = function (other) { - return toBN(this).lt(toBN(other)); - }; - BigNumber.prototype.lte = function (other) { - return toBN(this).lte(toBN(other)); - }; - BigNumber.prototype.gt = function (other) { - return toBN(this).gt(toBN(other)); - }; - BigNumber.prototype.gte = function (other) { - return toBN(this).gte(toBN(other)); - }; - BigNumber.prototype.isNegative = function () { - return (this._hex[0] === "-"); - }; - BigNumber.prototype.isZero = function () { - return toBN(this).isZero(); - }; - BigNumber.prototype.toNumber = function () { - try { - return toBN(this).toNumber(); - } - catch (error) { - throwFault("overflow", "toNumber", this.toString()); - } - return null; - }; - BigNumber.prototype.toBigInt = function () { - try { - return BigInt(this.toString()); - } - catch (e) { } - return logger.throwError("this platform does not support BigInt", logger_1.Logger.errors.UNSUPPORTED_OPERATION, { - value: this.toString() - }); - }; - BigNumber.prototype.toString = function () { - // Lots of people expect this, which we do not support, so check (See: #889) - if (arguments.length > 0) { - if (arguments[0] === 10) { - if (!_warnedToStringRadix) { - _warnedToStringRadix = true; - logger.warn("BigNumber.toString does not accept any parameters; base-10 is assumed"); - } - } - else if (arguments[0] === 16) { - logger.throwError("BigNumber.toString does not accept any parameters; use bigNumber.toHexString()", logger_1.Logger.errors.UNEXPECTED_ARGUMENT, {}); - } - else { - logger.throwError("BigNumber.toString does not accept parameters", logger_1.Logger.errors.UNEXPECTED_ARGUMENT, {}); - } - } - return toBN(this).toString(10); - }; - BigNumber.prototype.toHexString = function () { - return this._hex; - }; - BigNumber.prototype.toJSON = function (key) { - return { type: "BigNumber", hex: this.toHexString() }; - }; - BigNumber.from = function (value) { - if (value instanceof BigNumber) { - return value; - } - if (typeof (value) === "string") { - if (value.match(/^-?0x[0-9a-f]+$/i)) { - return new BigNumber(_constructorGuard, toHex(value)); - } - if (value.match(/^-?[0-9]+$/)) { - return new BigNumber(_constructorGuard, toHex(new BN(value))); - } - return logger.throwArgumentError("invalid BigNumber string", "value", value); - } - if (typeof (value) === "number") { - if (value % 1) { - throwFault("underflow", "BigNumber.from", value); - } - if (value >= MAX_SAFE || value <= -MAX_SAFE) { - throwFault("overflow", "BigNumber.from", value); - } - return BigNumber.from(String(value)); - } - var anyValue = value; - if (typeof (anyValue) === "bigint") { - return BigNumber.from(anyValue.toString()); - } - if ((0, bytes_1.isBytes)(anyValue)) { - return BigNumber.from((0, bytes_1.hexlify)(anyValue)); - } - if (anyValue) { - // Hexable interface (takes priority) - if (anyValue.toHexString) { - var hex = anyValue.toHexString(); - if (typeof (hex) === "string") { - return BigNumber.from(hex); - } - } - else { - // For now, handle legacy JSON-ified values (goes away in v6) - var hex = anyValue._hex; - // New-form JSON - if (hex == null && anyValue.type === "BigNumber") { - hex = anyValue.hex; - } - if (typeof (hex) === "string") { - if ((0, bytes_1.isHexString)(hex) || (hex[0] === "-" && (0, bytes_1.isHexString)(hex.substring(1)))) { - return BigNumber.from(hex); - } - } - } - } - return logger.throwArgumentError("invalid BigNumber value", "value", value); - }; - BigNumber.isBigNumber = function (value) { - return !!(value && value._isBigNumber); - }; - return BigNumber; -}()); -exports.BigNumber = BigNumber; -// Normalize the hex string -function toHex(value) { - // For BN, call on the hex string - if (typeof (value) !== "string") { - return toHex(value.toString(16)); - } - // If negative, prepend the negative sign to the normalized positive value - if (value[0] === "-") { - // Strip off the negative sign - value = value.substring(1); - // Cannot have multiple negative signs (e.g. "--0x04") - if (value[0] === "-") { - logger.throwArgumentError("invalid hex", "value", value); - } - // Call toHex on the positive component - value = toHex(value); - // Do not allow "-0x00" - if (value === "0x00") { - return value; - } - // Negate the value - return "-" + value; - } - // Add a "0x" prefix if missing - if (value.substring(0, 2) !== "0x") { - value = "0x" + value; - } - // Normalize zero - if (value === "0x") { - return "0x00"; - } - // Make the string even length - if (value.length % 2) { - value = "0x0" + value.substring(2); - } - // Trim to smallest even-length string - while (value.length > 4 && value.substring(0, 4) === "0x00") { - value = "0x" + value.substring(4); - } - return value; -} -function toBigNumber(value) { - return BigNumber.from(toHex(value)); -} -function toBN(value) { - var hex = BigNumber.from(value).toHexString(); - if (hex[0] === "-") { - return (new BN("-" + hex.substring(3), 16)); - } - return new BN(hex.substring(2), 16); -} -function throwFault(fault, operation, value) { - var params = { fault: fault, operation: operation }; - if (value != null) { - params.value = value; - } - return logger.throwError(fault, logger_1.Logger.errors.NUMERIC_FAULT, params); -} -// value should have no prefix -function _base36To16(value) { - return (new BN(value, 36)).toString(16); -} -exports._base36To16 = _base36To16; -// value should have no prefix -function _base16To36(value) { - return (new BN(value, 16)).toString(36); -} -exports._base16To36 = _base16To36; -//# sourceMappingURL=bignumber.js.map - -/***/ }), - -/***/ 30812: -/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { - - -Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.FixedNumber = exports.FixedFormat = exports.parseFixed = exports.formatFixed = void 0; -var bytes_1 = __nccwpck_require__(69691); -var logger_1 = __nccwpck_require__(8772); -var _version_1 = __nccwpck_require__(80188); -var logger = new logger_1.Logger(_version_1.version); -var bignumber_1 = __nccwpck_require__(4248); -var _constructorGuard = {}; -var Zero = bignumber_1.BigNumber.from(0); -var NegativeOne = bignumber_1.BigNumber.from(-1); -function throwFault(message, fault, operation, value) { - var params = { fault: fault, operation: operation }; - if (value !== undefined) { - params.value = value; - } - return logger.throwError(message, logger_1.Logger.errors.NUMERIC_FAULT, params); -} -// Constant to pull zeros from for multipliers -var zeros = "0"; -while (zeros.length < 256) { - zeros += zeros; -} -// Returns a string "1" followed by decimal "0"s -function getMultiplier(decimals) { - if (typeof (decimals) !== "number") { - try { - decimals = bignumber_1.BigNumber.from(decimals).toNumber(); - } - catch (e) { } - } - if (typeof (decimals) === "number" && decimals >= 0 && decimals <= 256 && !(decimals % 1)) { - return ("1" + zeros.substring(0, decimals)); - } - return logger.throwArgumentError("invalid decimal size", "decimals", decimals); -} -function formatFixed(value, decimals) { - if (decimals == null) { - decimals = 0; - } - var multiplier = getMultiplier(decimals); - // Make sure wei is a big number (convert as necessary) - value = bignumber_1.BigNumber.from(value); - var negative = value.lt(Zero); - if (negative) { - value = value.mul(NegativeOne); - } - var fraction = value.mod(multiplier).toString(); - while (fraction.length < multiplier.length - 1) { - fraction = "0" + fraction; - } - // Strip training 0 - fraction = fraction.match(/^([0-9]*[1-9]|0)(0*)/)[1]; - var whole = value.div(multiplier).toString(); - if (multiplier.length === 1) { - value = whole; - } - else { - value = whole + "." + fraction; - } - if (negative) { - value = "-" + value; - } - return value; -} -exports.formatFixed = formatFixed; -function parseFixed(value, decimals) { - if (decimals == null) { - decimals = 0; - } - var multiplier = getMultiplier(decimals); - if (typeof (value) !== "string" || !value.match(/^-?[0-9.]+$/)) { - logger.throwArgumentError("invalid decimal value", "value", value); - } - // Is it negative? - var negative = (value.substring(0, 1) === "-"); - if (negative) { - value = value.substring(1); - } - if (value === ".") { - logger.throwArgumentError("missing value", "value", value); - } - // Split it into a whole and fractional part - var comps = value.split("."); - if (comps.length > 2) { - logger.throwArgumentError("too many decimal points", "value", value); - } - var whole = comps[0], fraction = comps[1]; - if (!whole) { - whole = "0"; - } - if (!fraction) { - fraction = "0"; - } - // Trim trailing zeros - while (fraction[fraction.length - 1] === "0") { - fraction = fraction.substring(0, fraction.length - 1); - } - // Check the fraction doesn't exceed our decimals size - if (fraction.length > multiplier.length - 1) { - throwFault("fractional component exceeds decimals", "underflow", "parseFixed"); - } - // If decimals is 0, we have an empty string for fraction - if (fraction === "") { - fraction = "0"; - } - // Fully pad the string with zeros to get to wei - while (fraction.length < multiplier.length - 1) { - fraction += "0"; - } - var wholeValue = bignumber_1.BigNumber.from(whole); - var fractionValue = bignumber_1.BigNumber.from(fraction); - var wei = (wholeValue.mul(multiplier)).add(fractionValue); - if (negative) { - wei = wei.mul(NegativeOne); - } - return wei; -} -exports.parseFixed = parseFixed; -var FixedFormat = /** @class */ (function () { - function FixedFormat(constructorGuard, signed, width, decimals) { - if (constructorGuard !== _constructorGuard) { - logger.throwError("cannot use FixedFormat constructor; use FixedFormat.from", logger_1.Logger.errors.UNSUPPORTED_OPERATION, { - operation: "new FixedFormat" - }); - } - this.signed = signed; - this.width = width; - this.decimals = decimals; - this.name = (signed ? "" : "u") + "fixed" + String(width) + "x" + String(decimals); - this._multiplier = getMultiplier(decimals); - Object.freeze(this); - } - FixedFormat.from = function (value) { - if (value instanceof FixedFormat) { - return value; - } - if (typeof (value) === "number") { - value = "fixed128x" + value; - } - var signed = true; - var width = 128; - var decimals = 18; - if (typeof (value) === "string") { - if (value === "fixed") { - // defaults... - } - else if (value === "ufixed") { - signed = false; - } - else { - var match = value.match(/^(u?)fixed([0-9]+)x([0-9]+)$/); - if (!match) { - logger.throwArgumentError("invalid fixed format", "format", value); - } - signed = (match[1] !== "u"); - width = parseInt(match[2]); - decimals = parseInt(match[3]); - } - } - else if (value) { - var check = function (key, type, defaultValue) { - if (value[key] == null) { - return defaultValue; - } - if (typeof (value[key]) !== type) { - logger.throwArgumentError("invalid fixed format (" + key + " not " + type + ")", "format." + key, value[key]); - } - return value[key]; - }; - signed = check("signed", "boolean", signed); - width = check("width", "number", width); - decimals = check("decimals", "number", decimals); - } - if (width % 8) { - logger.throwArgumentError("invalid fixed format width (not byte aligned)", "format.width", width); - } - if (decimals > 80) { - logger.throwArgumentError("invalid fixed format (decimals too large)", "format.decimals", decimals); - } - return new FixedFormat(_constructorGuard, signed, width, decimals); - }; - return FixedFormat; -}()); -exports.FixedFormat = FixedFormat; -var FixedNumber = /** @class */ (function () { - function FixedNumber(constructorGuard, hex, value, format) { - if (constructorGuard !== _constructorGuard) { - logger.throwError("cannot use FixedNumber constructor; use FixedNumber.from", logger_1.Logger.errors.UNSUPPORTED_OPERATION, { - operation: "new FixedFormat" - }); - } - this.format = format; - this._hex = hex; - this._value = value; - this._isFixedNumber = true; - Object.freeze(this); - } - FixedNumber.prototype._checkFormat = function (other) { - if (this.format.name !== other.format.name) { - logger.throwArgumentError("incompatible format; use fixedNumber.toFormat", "other", other); - } - }; - FixedNumber.prototype.addUnsafe = function (other) { - this._checkFormat(other); - var a = parseFixed(this._value, this.format.decimals); - var b = parseFixed(other._value, other.format.decimals); - return FixedNumber.fromValue(a.add(b), this.format.decimals, this.format); - }; - FixedNumber.prototype.subUnsafe = function (other) { - this._checkFormat(other); - var a = parseFixed(this._value, this.format.decimals); - var b = parseFixed(other._value, other.format.decimals); - return FixedNumber.fromValue(a.sub(b), this.format.decimals, this.format); - }; - FixedNumber.prototype.mulUnsafe = function (other) { - this._checkFormat(other); - var a = parseFixed(this._value, this.format.decimals); - var b = parseFixed(other._value, other.format.decimals); - return FixedNumber.fromValue(a.mul(b).div(this.format._multiplier), this.format.decimals, this.format); - }; - FixedNumber.prototype.divUnsafe = function (other) { - this._checkFormat(other); - var a = parseFixed(this._value, this.format.decimals); - var b = parseFixed(other._value, other.format.decimals); - return FixedNumber.fromValue(a.mul(this.format._multiplier).div(b), this.format.decimals, this.format); - }; - FixedNumber.prototype.floor = function () { - var comps = this.toString().split("."); - if (comps.length === 1) { - comps.push("0"); - } - var result = FixedNumber.from(comps[0], this.format); - var hasFraction = !comps[1].match(/^(0*)$/); - if (this.isNegative() && hasFraction) { - result = result.subUnsafe(ONE.toFormat(result.format)); - } - return result; - }; - FixedNumber.prototype.ceiling = function () { - var comps = this.toString().split("."); - if (comps.length === 1) { - comps.push("0"); - } - var result = FixedNumber.from(comps[0], this.format); - var hasFraction = !comps[1].match(/^(0*)$/); - if (!this.isNegative() && hasFraction) { - result = result.addUnsafe(ONE.toFormat(result.format)); - } - return result; - }; - // @TODO: Support other rounding algorithms - FixedNumber.prototype.round = function (decimals) { - if (decimals == null) { - decimals = 0; - } - // If we are already in range, we're done - var comps = this.toString().split("."); - if (comps.length === 1) { - comps.push("0"); - } - if (decimals < 0 || decimals > 80 || (decimals % 1)) { - logger.throwArgumentError("invalid decimal count", "decimals", decimals); - } - if (comps[1].length <= decimals) { - return this; - } - var factor = FixedNumber.from("1" + zeros.substring(0, decimals), this.format); - var bump = BUMP.toFormat(this.format); - return this.mulUnsafe(factor).addUnsafe(bump).floor().divUnsafe(factor); - }; - FixedNumber.prototype.isZero = function () { - return (this._value === "0.0" || this._value === "0"); - }; - FixedNumber.prototype.isNegative = function () { - return (this._value[0] === "-"); - }; - FixedNumber.prototype.toString = function () { return this._value; }; - FixedNumber.prototype.toHexString = function (width) { - if (width == null) { - return this._hex; - } - if (width % 8) { - logger.throwArgumentError("invalid byte width", "width", width); - } - var hex = bignumber_1.BigNumber.from(this._hex).fromTwos(this.format.width).toTwos(width).toHexString(); - return (0, bytes_1.hexZeroPad)(hex, width / 8); - }; - FixedNumber.prototype.toUnsafeFloat = function () { return parseFloat(this.toString()); }; - FixedNumber.prototype.toFormat = function (format) { - return FixedNumber.fromString(this._value, format); - }; - FixedNumber.fromValue = function (value, decimals, format) { - // If decimals looks more like a format, and there is no format, shift the parameters - if (format == null && decimals != null && !(0, bignumber_1.isBigNumberish)(decimals)) { - format = decimals; - decimals = null; - } - if (decimals == null) { - decimals = 0; - } - if (format == null) { - format = "fixed"; - } - return FixedNumber.fromString(formatFixed(value, decimals), FixedFormat.from(format)); - }; - FixedNumber.fromString = function (value, format) { - if (format == null) { - format = "fixed"; - } - var fixedFormat = FixedFormat.from(format); - var numeric = parseFixed(value, fixedFormat.decimals); - if (!fixedFormat.signed && numeric.lt(Zero)) { - throwFault("unsigned value cannot be negative", "overflow", "value", value); - } - var hex = null; - if (fixedFormat.signed) { - hex = numeric.toTwos(fixedFormat.width).toHexString(); - } - else { - hex = numeric.toHexString(); - hex = (0, bytes_1.hexZeroPad)(hex, fixedFormat.width / 8); - } - var decimal = formatFixed(numeric, fixedFormat.decimals); - return new FixedNumber(_constructorGuard, hex, decimal, fixedFormat); - }; - FixedNumber.fromBytes = function (value, format) { - if (format == null) { - format = "fixed"; - } - var fixedFormat = FixedFormat.from(format); - if ((0, bytes_1.arrayify)(value).length > fixedFormat.width / 8) { - throw new Error("overflow"); - } - var numeric = bignumber_1.BigNumber.from(value); - if (fixedFormat.signed) { - numeric = numeric.fromTwos(fixedFormat.width); - } - var hex = numeric.toTwos((fixedFormat.signed ? 0 : 1) + fixedFormat.width).toHexString(); - var decimal = formatFixed(numeric, fixedFormat.decimals); - return new FixedNumber(_constructorGuard, hex, decimal, fixedFormat); - }; - FixedNumber.from = function (value, format) { - if (typeof (value) === "string") { - return FixedNumber.fromString(value, format); - } - if ((0, bytes_1.isBytes)(value)) { - return FixedNumber.fromBytes(value, format); - } - try { - return FixedNumber.fromValue(value, 0, format); - } - catch (error) { - // Allow NUMERIC_FAULT to bubble up - if (error.code !== logger_1.Logger.errors.INVALID_ARGUMENT) { - throw error; - } - } - return logger.throwArgumentError("invalid FixedNumber value", "value", value); - }; - FixedNumber.isFixedNumber = function (value) { - return !!(value && value._isFixedNumber); - }; - return FixedNumber; -}()); -exports.FixedNumber = FixedNumber; -var ONE = FixedNumber.from(1); -var BUMP = FixedNumber.from("0.5"); -//# sourceMappingURL=fixednumber.js.map - -/***/ }), - -/***/ 14763: -/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { - - -Object.defineProperty(exports, "__esModule", ({ value: true })); -exports._base36To16 = exports._base16To36 = exports.parseFixed = exports.FixedNumber = exports.FixedFormat = exports.formatFixed = exports.BigNumber = void 0; -var bignumber_1 = __nccwpck_require__(4248); -Object.defineProperty(exports, "BigNumber", ({ enumerable: true, get: function () { return bignumber_1.BigNumber; } })); -var fixednumber_1 = __nccwpck_require__(30812); -Object.defineProperty(exports, "formatFixed", ({ enumerable: true, get: function () { return fixednumber_1.formatFixed; } })); -Object.defineProperty(exports, "FixedFormat", ({ enumerable: true, get: function () { return fixednumber_1.FixedFormat; } })); -Object.defineProperty(exports, "FixedNumber", ({ enumerable: true, get: function () { return fixednumber_1.FixedNumber; } })); -Object.defineProperty(exports, "parseFixed", ({ enumerable: true, get: function () { return fixednumber_1.parseFixed; } })); -// Internal methods used by address -var bignumber_2 = __nccwpck_require__(4248); -Object.defineProperty(exports, "_base16To36", ({ enumerable: true, get: function () { return bignumber_2._base16To36; } })); -Object.defineProperty(exports, "_base36To16", ({ enumerable: true, get: function () { return bignumber_2._base36To16; } })); -//# sourceMappingURL=index.js.map - -/***/ }), - -/***/ 36908: -/***/ ((__unused_webpack_module, exports) => { - - -Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.version = void 0; -exports.version = "bytes/5.7.0"; -//# sourceMappingURL=_version.js.map - -/***/ }), - -/***/ 69691: -/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { - - -Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.joinSignature = exports.splitSignature = exports.hexZeroPad = exports.hexStripZeros = exports.hexValue = exports.hexConcat = exports.hexDataSlice = exports.hexDataLength = exports.hexlify = exports.isHexString = exports.zeroPad = exports.stripZeros = exports.concat = exports.arrayify = exports.isBytes = exports.isBytesLike = void 0; -var logger_1 = __nccwpck_require__(8772); -var _version_1 = __nccwpck_require__(36908); -var logger = new logger_1.Logger(_version_1.version); -/////////////////////////////// -function isHexable(value) { - return !!(value.toHexString); -} -function addSlice(array) { - if (array.slice) { - return array; - } - array.slice = function () { - var args = Array.prototype.slice.call(arguments); - return addSlice(new Uint8Array(Array.prototype.slice.apply(array, args))); - }; - return array; -} -function isBytesLike(value) { - return ((isHexString(value) && !(value.length % 2)) || isBytes(value)); -} -exports.isBytesLike = isBytesLike; -function isInteger(value) { - return (typeof (value) === "number" && value == value && (value % 1) === 0); -} -function isBytes(value) { - if (value == null) { - return false; - } - if (value.constructor === Uint8Array) { - return true; - } - if (typeof (value) === "string") { - return false; - } - if (!isInteger(value.length) || value.length < 0) { - return false; - } - for (var i = 0; i < value.length; i++) { - var v = value[i]; - if (!isInteger(v) || v < 0 || v >= 256) { - return false; - } - } - return true; -} -exports.isBytes = isBytes; -function arrayify(value, options) { - if (!options) { - options = {}; - } - if (typeof (value) === "number") { - logger.checkSafeUint53(value, "invalid arrayify value"); - var result = []; - while (value) { - result.unshift(value & 0xff); - value = parseInt(String(value / 256)); - } - if (result.length === 0) { - result.push(0); - } - return addSlice(new Uint8Array(result)); - } - if (options.allowMissingPrefix && typeof (value) === "string" && value.substring(0, 2) !== "0x") { - value = "0x" + value; - } - if (isHexable(value)) { - value = value.toHexString(); - } - if (isHexString(value)) { - var hex = value.substring(2); - if (hex.length % 2) { - if (options.hexPad === "left") { - hex = "0" + hex; - } - else if (options.hexPad === "right") { - hex += "0"; - } - else { - logger.throwArgumentError("hex data is odd-length", "value", value); - } - } - var result = []; - for (var i = 0; i < hex.length; i += 2) { - result.push(parseInt(hex.substring(i, i + 2), 16)); - } - return addSlice(new Uint8Array(result)); - } - if (isBytes(value)) { - return addSlice(new Uint8Array(value)); - } - return logger.throwArgumentError("invalid arrayify value", "value", value); -} -exports.arrayify = arrayify; -function concat(items) { - var objects = items.map(function (item) { return arrayify(item); }); - var length = objects.reduce(function (accum, item) { return (accum + item.length); }, 0); - var result = new Uint8Array(length); - objects.reduce(function (offset, object) { - result.set(object, offset); - return offset + object.length; - }, 0); - return addSlice(result); -} -exports.concat = concat; -function stripZeros(value) { - var result = arrayify(value); - if (result.length === 0) { - return result; - } - // Find the first non-zero entry - var start = 0; - while (start < result.length && result[start] === 0) { - start++; - } - // If we started with zeros, strip them - if (start) { - result = result.slice(start); - } - return result; -} -exports.stripZeros = stripZeros; -function zeroPad(value, length) { - value = arrayify(value); - if (value.length > length) { - logger.throwArgumentError("value out of range", "value", arguments[0]); - } - var result = new Uint8Array(length); - result.set(value, length - value.length); - return addSlice(result); -} -exports.zeroPad = zeroPad; -function isHexString(value, length) { - if (typeof (value) !== "string" || !value.match(/^0x[0-9A-Fa-f]*$/)) { - return false; - } - if (length && value.length !== 2 + 2 * length) { - return false; - } - return true; -} -exports.isHexString = isHexString; -var HexCharacters = "0123456789abcdef"; -function hexlify(value, options) { - if (!options) { - options = {}; - } - if (typeof (value) === "number") { - logger.checkSafeUint53(value, "invalid hexlify value"); - var hex = ""; - while (value) { - hex = HexCharacters[value & 0xf] + hex; - value = Math.floor(value / 16); - } - if (hex.length) { - if (hex.length % 2) { - hex = "0" + hex; - } - return "0x" + hex; - } - return "0x00"; - } - if (typeof (value) === "bigint") { - value = value.toString(16); - if (value.length % 2) { - return ("0x0" + value); - } - return "0x" + value; - } - if (options.allowMissingPrefix && typeof (value) === "string" && value.substring(0, 2) !== "0x") { - value = "0x" + value; - } - if (isHexable(value)) { - return value.toHexString(); - } - if (isHexString(value)) { - if (value.length % 2) { - if (options.hexPad === "left") { - value = "0x0" + value.substring(2); - } - else if (options.hexPad === "right") { - value += "0"; - } - else { - logger.throwArgumentError("hex data is odd-length", "value", value); - } - } - return value.toLowerCase(); - } - if (isBytes(value)) { - var result = "0x"; - for (var i = 0; i < value.length; i++) { - var v = value[i]; - result += HexCharacters[(v & 0xf0) >> 4] + HexCharacters[v & 0x0f]; - } - return result; - } - return logger.throwArgumentError("invalid hexlify value", "value", value); -} -exports.hexlify = hexlify; -/* -function unoddify(value: BytesLike | Hexable | number): BytesLike | Hexable | number { - if (typeof(value) === "string" && value.length % 2 && value.substring(0, 2) === "0x") { - return "0x0" + value.substring(2); - } - return value; -} -*/ -function hexDataLength(data) { - if (typeof (data) !== "string") { - data = hexlify(data); - } - else if (!isHexString(data) || (data.length % 2)) { - return null; - } - return (data.length - 2) / 2; -} -exports.hexDataLength = hexDataLength; -function hexDataSlice(data, offset, endOffset) { - if (typeof (data) !== "string") { - data = hexlify(data); - } - else if (!isHexString(data) || (data.length % 2)) { - logger.throwArgumentError("invalid hexData", "value", data); - } - offset = 2 + 2 * offset; - if (endOffset != null) { - return "0x" + data.substring(offset, 2 + 2 * endOffset); - } - return "0x" + data.substring(offset); -} -exports.hexDataSlice = hexDataSlice; -function hexConcat(items) { - var result = "0x"; - items.forEach(function (item) { - result += hexlify(item).substring(2); - }); - return result; -} -exports.hexConcat = hexConcat; -function hexValue(value) { - var trimmed = hexStripZeros(hexlify(value, { hexPad: "left" })); - if (trimmed === "0x") { - return "0x0"; - } - return trimmed; -} -exports.hexValue = hexValue; -function hexStripZeros(value) { - if (typeof (value) !== "string") { - value = hexlify(value); - } - if (!isHexString(value)) { - logger.throwArgumentError("invalid hex string", "value", value); - } - value = value.substring(2); - var offset = 0; - while (offset < value.length && value[offset] === "0") { - offset++; - } - return "0x" + value.substring(offset); -} -exports.hexStripZeros = hexStripZeros; -function hexZeroPad(value, length) { - if (typeof (value) !== "string") { - value = hexlify(value); - } - else if (!isHexString(value)) { - logger.throwArgumentError("invalid hex string", "value", value); - } - if (value.length > 2 * length + 2) { - logger.throwArgumentError("value out of range", "value", arguments[1]); - } - while (value.length < 2 * length + 2) { - value = "0x0" + value.substring(2); - } - return value; -} -exports.hexZeroPad = hexZeroPad; -function splitSignature(signature) { - var result = { - r: "0x", - s: "0x", - _vs: "0x", - recoveryParam: 0, - v: 0, - yParityAndS: "0x", - compact: "0x" - }; - if (isBytesLike(signature)) { - var bytes = arrayify(signature); - // Get the r, s and v - if (bytes.length === 64) { - // EIP-2098; pull the v from the top bit of s and clear it - result.v = 27 + (bytes[32] >> 7); - bytes[32] &= 0x7f; - result.r = hexlify(bytes.slice(0, 32)); - result.s = hexlify(bytes.slice(32, 64)); - } - else if (bytes.length === 65) { - result.r = hexlify(bytes.slice(0, 32)); - result.s = hexlify(bytes.slice(32, 64)); - result.v = bytes[64]; - } - else { - logger.throwArgumentError("invalid signature string", "signature", signature); - } - // Allow a recid to be used as the v - if (result.v < 27) { - if (result.v === 0 || result.v === 1) { - result.v += 27; - } - else { - logger.throwArgumentError("signature invalid v byte", "signature", signature); - } - } - // Compute recoveryParam from v - result.recoveryParam = 1 - (result.v % 2); - // Compute _vs from recoveryParam and s - if (result.recoveryParam) { - bytes[32] |= 0x80; - } - result._vs = hexlify(bytes.slice(32, 64)); - } - else { - result.r = signature.r; - result.s = signature.s; - result.v = signature.v; - result.recoveryParam = signature.recoveryParam; - result._vs = signature._vs; - // If the _vs is available, use it to populate missing s, v and recoveryParam - // and verify non-missing s, v and recoveryParam - if (result._vs != null) { - var vs_1 = zeroPad(arrayify(result._vs), 32); - result._vs = hexlify(vs_1); - // Set or check the recid - var recoveryParam = ((vs_1[0] >= 128) ? 1 : 0); - if (result.recoveryParam == null) { - result.recoveryParam = recoveryParam; - } - else if (result.recoveryParam !== recoveryParam) { - logger.throwArgumentError("signature recoveryParam mismatch _vs", "signature", signature); - } - // Set or check the s - vs_1[0] &= 0x7f; - var s = hexlify(vs_1); - if (result.s == null) { - result.s = s; - } - else if (result.s !== s) { - logger.throwArgumentError("signature v mismatch _vs", "signature", signature); - } - } - // Use recid and v to populate each other - if (result.recoveryParam == null) { - if (result.v == null) { - logger.throwArgumentError("signature missing v and recoveryParam", "signature", signature); - } - else if (result.v === 0 || result.v === 1) { - result.recoveryParam = result.v; - } - else { - result.recoveryParam = 1 - (result.v % 2); - } - } - else { - if (result.v == null) { - result.v = 27 + result.recoveryParam; - } - else { - var recId = (result.v === 0 || result.v === 1) ? result.v : (1 - (result.v % 2)); - if (result.recoveryParam !== recId) { - logger.throwArgumentError("signature recoveryParam mismatch v", "signature", signature); - } - } - } - if (result.r == null || !isHexString(result.r)) { - logger.throwArgumentError("signature missing or invalid r", "signature", signature); - } - else { - result.r = hexZeroPad(result.r, 32); - } - if (result.s == null || !isHexString(result.s)) { - logger.throwArgumentError("signature missing or invalid s", "signature", signature); - } - else { - result.s = hexZeroPad(result.s, 32); - } - var vs = arrayify(result.s); - if (vs[0] >= 128) { - logger.throwArgumentError("signature s out of range", "signature", signature); - } - if (result.recoveryParam) { - vs[0] |= 0x80; - } - var _vs = hexlify(vs); - if (result._vs) { - if (!isHexString(result._vs)) { - logger.throwArgumentError("signature invalid _vs", "signature", signature); - } - result._vs = hexZeroPad(result._vs, 32); - } - // Set or check the _vs - if (result._vs == null) { - result._vs = _vs; - } - else if (result._vs !== _vs) { - logger.throwArgumentError("signature _vs mismatch v and s", "signature", signature); - } - } - result.yParityAndS = result._vs; - result.compact = result.r + result.yParityAndS.substring(2); - return result; -} -exports.splitSignature = splitSignature; -function joinSignature(signature) { - signature = splitSignature(signature); - return hexlify(concat([ - signature.r, - signature.s, - (signature.recoveryParam ? "0x1c" : "0x1b") - ])); -} -exports.joinSignature = joinSignature; -//# sourceMappingURL=index.js.map - -/***/ }), - -/***/ 94997: -/***/ ((__unused_webpack_module, exports) => { - - -Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.AddressZero = void 0; -exports.AddressZero = "0x0000000000000000000000000000000000000000"; -//# sourceMappingURL=addresses.js.map - -/***/ }), - -/***/ 94221: -/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { - - -Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.MaxInt256 = exports.MinInt256 = exports.MaxUint256 = exports.WeiPerEther = exports.Two = exports.One = exports.Zero = exports.NegativeOne = void 0; -var bignumber_1 = __nccwpck_require__(14763); -var NegativeOne = ( /*#__PURE__*/bignumber_1.BigNumber.from(-1)); -exports.NegativeOne = NegativeOne; -var Zero = ( /*#__PURE__*/bignumber_1.BigNumber.from(0)); -exports.Zero = Zero; -var One = ( /*#__PURE__*/bignumber_1.BigNumber.from(1)); -exports.One = One; -var Two = ( /*#__PURE__*/bignumber_1.BigNumber.from(2)); -exports.Two = Two; -var WeiPerEther = ( /*#__PURE__*/bignumber_1.BigNumber.from("1000000000000000000")); -exports.WeiPerEther = WeiPerEther; -var MaxUint256 = ( /*#__PURE__*/bignumber_1.BigNumber.from("0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff")); -exports.MaxUint256 = MaxUint256; -var MinInt256 = ( /*#__PURE__*/bignumber_1.BigNumber.from("-0x8000000000000000000000000000000000000000000000000000000000000000")); -exports.MinInt256 = MinInt256; -var MaxInt256 = ( /*#__PURE__*/bignumber_1.BigNumber.from("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff")); -exports.MaxInt256 = MaxInt256; -//# sourceMappingURL=bignumbers.js.map - -/***/ }), - -/***/ 93921: -/***/ ((__unused_webpack_module, exports) => { - - -Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.HashZero = void 0; -exports.HashZero = "0x0000000000000000000000000000000000000000000000000000000000000000"; -//# sourceMappingURL=hashes.js.map - -/***/ }), - -/***/ 46561: -/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { - - -Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.EtherSymbol = exports.HashZero = exports.MaxInt256 = exports.MinInt256 = exports.MaxUint256 = exports.WeiPerEther = exports.Two = exports.One = exports.Zero = exports.NegativeOne = exports.AddressZero = void 0; -var addresses_1 = __nccwpck_require__(94997); -Object.defineProperty(exports, "AddressZero", ({ enumerable: true, get: function () { return addresses_1.AddressZero; } })); -var bignumbers_1 = __nccwpck_require__(94221); -Object.defineProperty(exports, "NegativeOne", ({ enumerable: true, get: function () { return bignumbers_1.NegativeOne; } })); -Object.defineProperty(exports, "Zero", ({ enumerable: true, get: function () { return bignumbers_1.Zero; } })); -Object.defineProperty(exports, "One", ({ enumerable: true, get: function () { return bignumbers_1.One; } })); -Object.defineProperty(exports, "Two", ({ enumerable: true, get: function () { return bignumbers_1.Two; } })); -Object.defineProperty(exports, "WeiPerEther", ({ enumerable: true, get: function () { return bignumbers_1.WeiPerEther; } })); -Object.defineProperty(exports, "MaxUint256", ({ enumerable: true, get: function () { return bignumbers_1.MaxUint256; } })); -Object.defineProperty(exports, "MinInt256", ({ enumerable: true, get: function () { return bignumbers_1.MinInt256; } })); -Object.defineProperty(exports, "MaxInt256", ({ enumerable: true, get: function () { return bignumbers_1.MaxInt256; } })); -var hashes_1 = __nccwpck_require__(93921); -Object.defineProperty(exports, "HashZero", ({ enumerable: true, get: function () { return hashes_1.HashZero; } })); -var strings_1 = __nccwpck_require__(79863); -Object.defineProperty(exports, "EtherSymbol", ({ enumerable: true, get: function () { return strings_1.EtherSymbol; } })); -//# sourceMappingURL=index.js.map - -/***/ }), - -/***/ 79863: -/***/ ((__unused_webpack_module, exports) => { - - -Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.EtherSymbol = void 0; -// NFKC (composed) // (decomposed) -exports.EtherSymbol = "\u039e"; // "\uD835\uDF63"; -//# sourceMappingURL=strings.js.map - -/***/ }), - -/***/ 75284: -/***/ ((__unused_webpack_module, exports) => { - - -Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.version = void 0; -exports.version = "contracts/5.7.0"; -//# sourceMappingURL=_version.js.map - -/***/ }), - -/***/ 21795: -/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) { - - -var __extends = (this && this.__extends) || (function () { - var extendStatics = function (d, b) { - extendStatics = Object.setPrototypeOf || - ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || - function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; }; - return extendStatics(d, b); - }; - return function (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 __()); - }; -})(); -var __awaiter = (this && this.__awaiter) || function (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, reject) { - function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } - function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } - function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); -}; -var __generator = (this && this.__generator) || function (thisArg, body) { - var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g; - return g = { next: verb(0), "throw": verb(1), "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 (_) 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 }; - } -}; -var __spreadArray = (this && this.__spreadArray) || function (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)); -}; -Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.ContractFactory = exports.Contract = exports.BaseContract = void 0; -var abi_1 = __nccwpck_require__(48602); -var abstract_provider_1 = __nccwpck_require__(34224); -var abstract_signer_1 = __nccwpck_require__(2863); -var address_1 = __nccwpck_require__(10056); -var bignumber_1 = __nccwpck_require__(14763); -var bytes_1 = __nccwpck_require__(69691); -var properties_1 = __nccwpck_require__(54145); -var transactions_1 = __nccwpck_require__(55701); -var logger_1 = __nccwpck_require__(8772); -var _version_1 = __nccwpck_require__(75284); -var logger = new logger_1.Logger(_version_1.version); -; -; -/////////////////////////////// -var allowedTransactionKeys = { - chainId: true, data: true, from: true, gasLimit: true, gasPrice: true, nonce: true, to: true, value: true, - type: true, accessList: true, - maxFeePerGas: true, maxPriorityFeePerGas: true, - customData: true, - ccipReadEnabled: true -}; -function resolveName(resolver, nameOrPromise) { - return __awaiter(this, void 0, void 0, function () { - var name, address; - return __generator(this, function (_a) { - switch (_a.label) { - case 0: return [4 /*yield*/, nameOrPromise]; - case 1: - name = _a.sent(); - if (typeof (name) !== "string") { - logger.throwArgumentError("invalid address or ENS name", "name", name); - } - // If it is already an address, just use it (after adding checksum) - try { - return [2 /*return*/, (0, address_1.getAddress)(name)]; - } - catch (error) { } - if (!resolver) { - logger.throwError("a provider or signer is needed to resolve ENS names", logger_1.Logger.errors.UNSUPPORTED_OPERATION, { - operation: "resolveName" - }); - } - return [4 /*yield*/, resolver.resolveName(name)]; - case 2: - address = _a.sent(); - if (address == null) { - logger.throwArgumentError("resolver or addr is not configured for ENS name", "name", name); - } - return [2 /*return*/, address]; - } - }); - }); -} -// Recursively replaces ENS names with promises to resolve the name and resolves all properties -function resolveAddresses(resolver, value, paramType) { - return __awaiter(this, void 0, void 0, function () { - return __generator(this, function (_a) { - switch (_a.label) { - case 0: - if (!Array.isArray(paramType)) return [3 /*break*/, 2]; - return [4 /*yield*/, Promise.all(paramType.map(function (paramType, index) { - return resolveAddresses(resolver, ((Array.isArray(value)) ? value[index] : value[paramType.name]), paramType); - }))]; - case 1: return [2 /*return*/, _a.sent()]; - case 2: - if (!(paramType.type === "address")) return [3 /*break*/, 4]; - return [4 /*yield*/, resolveName(resolver, value)]; - case 3: return [2 /*return*/, _a.sent()]; - case 4: - if (!(paramType.type === "tuple")) return [3 /*break*/, 6]; - return [4 /*yield*/, resolveAddresses(resolver, value, paramType.components)]; - case 5: return [2 /*return*/, _a.sent()]; - case 6: - if (!(paramType.baseType === "array")) return [3 /*break*/, 8]; - if (!Array.isArray(value)) { - return [2 /*return*/, Promise.reject(logger.makeError("invalid value for array", logger_1.Logger.errors.INVALID_ARGUMENT, { - argument: "value", - value: value - }))]; - } - return [4 /*yield*/, Promise.all(value.map(function (v) { return resolveAddresses(resolver, v, paramType.arrayChildren); }))]; - case 7: return [2 /*return*/, _a.sent()]; - case 8: return [2 /*return*/, value]; - } - }); - }); -} -function populateTransaction(contract, fragment, args) { - return __awaiter(this, void 0, void 0, function () { - var overrides, resolved, data, tx, ro, intrinsic, bytes, i, roValue, leftovers; - var _this = this; - return __generator(this, function (_a) { - switch (_a.label) { - case 0: - overrides = {}; - if (args.length === fragment.inputs.length + 1 && typeof (args[args.length - 1]) === "object") { - overrides = (0, properties_1.shallowCopy)(args.pop()); - } - // Make sure the parameter count matches - logger.checkArgumentCount(args.length, fragment.inputs.length, "passed to contract"); - // Populate "from" override (allow promises) - if (contract.signer) { - if (overrides.from) { - // Contracts with a Signer are from the Signer's frame-of-reference; - // but we allow overriding "from" if it matches the signer - overrides.from = (0, properties_1.resolveProperties)({ - override: resolveName(contract.signer, overrides.from), - signer: contract.signer.getAddress() - }).then(function (check) { return __awaiter(_this, void 0, void 0, function () { - return __generator(this, function (_a) { - if ((0, address_1.getAddress)(check.signer) !== check.override) { - logger.throwError("Contract with a Signer cannot override from", logger_1.Logger.errors.UNSUPPORTED_OPERATION, { - operation: "overrides.from" - }); - } - return [2 /*return*/, check.override]; - }); - }); }); - } - else { - overrides.from = contract.signer.getAddress(); - } - } - else if (overrides.from) { - overrides.from = resolveName(contract.provider, overrides.from); - //} else { - // Contracts without a signer can override "from", and if - // unspecified the zero address is used - //overrides.from = AddressZero; - } - return [4 /*yield*/, (0, properties_1.resolveProperties)({ - args: resolveAddresses(contract.signer || contract.provider, args, fragment.inputs), - address: contract.resolvedAddress, - overrides: ((0, properties_1.resolveProperties)(overrides) || {}) - })]; - case 1: - resolved = _a.sent(); - data = contract.interface.encodeFunctionData(fragment, resolved.args); - tx = { - data: data, - to: resolved.address - }; - ro = resolved.overrides; - // Populate simple overrides - if (ro.nonce != null) { - tx.nonce = bignumber_1.BigNumber.from(ro.nonce).toNumber(); - } - if (ro.gasLimit != null) { - tx.gasLimit = bignumber_1.BigNumber.from(ro.gasLimit); - } - if (ro.gasPrice != null) { - tx.gasPrice = bignumber_1.BigNumber.from(ro.gasPrice); - } - if (ro.maxFeePerGas != null) { - tx.maxFeePerGas = bignumber_1.BigNumber.from(ro.maxFeePerGas); - } - if (ro.maxPriorityFeePerGas != null) { - tx.maxPriorityFeePerGas = bignumber_1.BigNumber.from(ro.maxPriorityFeePerGas); - } - if (ro.from != null) { - tx.from = ro.from; - } - if (ro.type != null) { - tx.type = ro.type; - } - if (ro.accessList != null) { - tx.accessList = (0, transactions_1.accessListify)(ro.accessList); - } - // If there was no "gasLimit" override, but the ABI specifies a default, use it - if (tx.gasLimit == null && fragment.gas != null) { - intrinsic = 21000; - bytes = (0, bytes_1.arrayify)(data); - for (i = 0; i < bytes.length; i++) { - intrinsic += 4; - if (bytes[i]) { - intrinsic += 64; - } - } - tx.gasLimit = bignumber_1.BigNumber.from(fragment.gas).add(intrinsic); - } - // Populate "value" override - if (ro.value) { - roValue = bignumber_1.BigNumber.from(ro.value); - if (!roValue.isZero() && !fragment.payable) { - logger.throwError("non-payable method cannot override value", logger_1.Logger.errors.UNSUPPORTED_OPERATION, { - operation: "overrides.value", - value: overrides.value - }); - } - tx.value = roValue; - } - if (ro.customData) { - tx.customData = (0, properties_1.shallowCopy)(ro.customData); - } - if (ro.ccipReadEnabled) { - tx.ccipReadEnabled = !!ro.ccipReadEnabled; - } - // Remove the overrides - delete overrides.nonce; - delete overrides.gasLimit; - delete overrides.gasPrice; - delete overrides.from; - delete overrides.value; - delete overrides.type; - delete overrides.accessList; - delete overrides.maxFeePerGas; - delete overrides.maxPriorityFeePerGas; - delete overrides.customData; - delete overrides.ccipReadEnabled; - leftovers = Object.keys(overrides).filter(function (key) { return (overrides[key] != null); }); - if (leftovers.length) { - logger.throwError("cannot override " + leftovers.map(function (l) { return JSON.stringify(l); }).join(","), logger_1.Logger.errors.UNSUPPORTED_OPERATION, { - operation: "overrides", - overrides: leftovers - }); - } - return [2 /*return*/, tx]; - } - }); - }); -} -function buildPopulate(contract, fragment) { - return function () { - var args = []; - for (var _i = 0; _i < arguments.length; _i++) { - args[_i] = arguments[_i]; - } - return populateTransaction(contract, fragment, args); - }; -} -function buildEstimate(contract, fragment) { - var signerOrProvider = (contract.signer || contract.provider); - return function () { - var args = []; - for (var _i = 0; _i < arguments.length; _i++) { - args[_i] = arguments[_i]; - } - return __awaiter(this, void 0, void 0, function () { - var tx; - return __generator(this, function (_a) { - switch (_a.label) { - case 0: - if (!signerOrProvider) { - logger.throwError("estimate require a provider or signer", logger_1.Logger.errors.UNSUPPORTED_OPERATION, { - operation: "estimateGas" - }); - } - return [4 /*yield*/, populateTransaction(contract, fragment, args)]; - case 1: - tx = _a.sent(); - return [4 /*yield*/, signerOrProvider.estimateGas(tx)]; - case 2: return [2 /*return*/, _a.sent()]; - } - }); - }); - }; -} -function addContractWait(contract, tx) { - var wait = tx.wait.bind(tx); - tx.wait = function (confirmations) { - return wait(confirmations).then(function (receipt) { - receipt.events = receipt.logs.map(function (log) { - var event = (0, properties_1.deepCopy)(log); - var parsed = null; - try { - parsed = contract.interface.parseLog(log); - } - catch (e) { } - // Successfully parsed the event log; include it - if (parsed) { - event.args = parsed.args; - event.decode = function (data, topics) { - return contract.interface.decodeEventLog(parsed.eventFragment, data, topics); - }; - event.event = parsed.name; - event.eventSignature = parsed.signature; - } - // Useful operations - event.removeListener = function () { return contract.provider; }; - event.getBlock = function () { - return contract.provider.getBlock(receipt.blockHash); - }; - event.getTransaction = function () { - return contract.provider.getTransaction(receipt.transactionHash); - }; - event.getTransactionReceipt = function () { - return Promise.resolve(receipt); - }; - return event; - }); - return receipt; - }); - }; -} -function buildCall(contract, fragment, collapseSimple) { - var signerOrProvider = (contract.signer || contract.provider); - return function () { - var args = []; - for (var _i = 0; _i < arguments.length; _i++) { - args[_i] = arguments[_i]; - } - return __awaiter(this, void 0, void 0, function () { - var blockTag, overrides, tx, result, value; - return __generator(this, function (_a) { - switch (_a.label) { - case 0: - blockTag = undefined; - if (!(args.length === fragment.inputs.length + 1 && typeof (args[args.length - 1]) === "object")) return [3 /*break*/, 3]; - overrides = (0, properties_1.shallowCopy)(args.pop()); - if (!(overrides.blockTag != null)) return [3 /*break*/, 2]; - return [4 /*yield*/, overrides.blockTag]; - case 1: - blockTag = _a.sent(); - _a.label = 2; - case 2: - delete overrides.blockTag; - args.push(overrides); - _a.label = 3; - case 3: - if (!(contract.deployTransaction != null)) return [3 /*break*/, 5]; - return [4 /*yield*/, contract._deployed(blockTag)]; - case 4: - _a.sent(); - _a.label = 5; - case 5: return [4 /*yield*/, populateTransaction(contract, fragment, args)]; - case 6: - tx = _a.sent(); - return [4 /*yield*/, signerOrProvider.call(tx, blockTag)]; - case 7: - result = _a.sent(); - try { - value = contract.interface.decodeFunctionResult(fragment, result); - if (collapseSimple && fragment.outputs.length === 1) { - value = value[0]; - } - return [2 /*return*/, value]; - } - catch (error) { - if (error.code === logger_1.Logger.errors.CALL_EXCEPTION) { - error.address = contract.address; - error.args = args; - error.transaction = tx; - } - throw error; - } - return [2 /*return*/]; - } - }); - }); - }; -} -function buildSend(contract, fragment) { - return function () { - var args = []; - for (var _i = 0; _i < arguments.length; _i++) { - args[_i] = arguments[_i]; - } - return __awaiter(this, void 0, void 0, function () { - var txRequest, tx; - return __generator(this, function (_a) { - switch (_a.label) { - case 0: - if (!contract.signer) { - logger.throwError("sending a transaction requires a signer", logger_1.Logger.errors.UNSUPPORTED_OPERATION, { - operation: "sendTransaction" - }); - } - if (!(contract.deployTransaction != null)) return [3 /*break*/, 2]; - return [4 /*yield*/, contract._deployed()]; - case 1: - _a.sent(); - _a.label = 2; - case 2: return [4 /*yield*/, populateTransaction(contract, fragment, args)]; - case 3: - txRequest = _a.sent(); - return [4 /*yield*/, contract.signer.sendTransaction(txRequest)]; - case 4: - tx = _a.sent(); - // Tweak the tx.wait so the receipt has extra properties - addContractWait(contract, tx); - return [2 /*return*/, tx]; - } - }); - }); - }; -} -function buildDefault(contract, fragment, collapseSimple) { - if (fragment.constant) { - return buildCall(contract, fragment, collapseSimple); - } - return buildSend(contract, fragment); -} -function getEventTag(filter) { - if (filter.address && (filter.topics == null || filter.topics.length === 0)) { - return "*"; - } - return (filter.address || "*") + "@" + (filter.topics ? filter.topics.map(function (topic) { - if (Array.isArray(topic)) { - return topic.join("|"); - } - return topic; - }).join(":") : ""); -} -var RunningEvent = /** @class */ (function () { - function RunningEvent(tag, filter) { - (0, properties_1.defineReadOnly)(this, "tag", tag); - (0, properties_1.defineReadOnly)(this, "filter", filter); - this._listeners = []; - } - RunningEvent.prototype.addListener = function (listener, once) { - this._listeners.push({ listener: listener, once: once }); - }; - RunningEvent.prototype.removeListener = function (listener) { - var done = false; - this._listeners = this._listeners.filter(function (item) { - if (done || item.listener !== listener) { - return true; - } - done = true; - return false; - }); - }; - RunningEvent.prototype.removeAllListeners = function () { - this._listeners = []; - }; - RunningEvent.prototype.listeners = function () { - return this._listeners.map(function (i) { return i.listener; }); - }; - RunningEvent.prototype.listenerCount = function () { - return this._listeners.length; - }; - RunningEvent.prototype.run = function (args) { - var _this = this; - var listenerCount = this.listenerCount(); - this._listeners = this._listeners.filter(function (item) { - var argsCopy = args.slice(); - // Call the callback in the next event loop - setTimeout(function () { - item.listener.apply(_this, argsCopy); - }, 0); - // Reschedule it if it not "once" - return !(item.once); - }); - return listenerCount; - }; - RunningEvent.prototype.prepareEvent = function (event) { - }; - // Returns the array that will be applied to an emit - RunningEvent.prototype.getEmit = function (event) { - return [event]; - }; - return RunningEvent; -}()); -var ErrorRunningEvent = /** @class */ (function (_super) { - __extends(ErrorRunningEvent, _super); - function ErrorRunningEvent() { - return _super.call(this, "error", null) || this; - } - return ErrorRunningEvent; -}(RunningEvent)); -// @TODO Fragment should inherit Wildcard? and just override getEmit? -// or have a common abstract super class, with enough constructor -// options to configure both. -// A Fragment Event will populate all the properties that Wildcard -// will, and additionally dereference the arguments when emitting -var FragmentRunningEvent = /** @class */ (function (_super) { - __extends(FragmentRunningEvent, _super); - function FragmentRunningEvent(address, contractInterface, fragment, topics) { - var _this = this; - var filter = { - address: address - }; - var topic = contractInterface.getEventTopic(fragment); - if (topics) { - if (topic !== topics[0]) { - logger.throwArgumentError("topic mismatch", "topics", topics); - } - filter.topics = topics.slice(); - } - else { - filter.topics = [topic]; - } - _this = _super.call(this, getEventTag(filter), filter) || this; - (0, properties_1.defineReadOnly)(_this, "address", address); - (0, properties_1.defineReadOnly)(_this, "interface", contractInterface); - (0, properties_1.defineReadOnly)(_this, "fragment", fragment); - return _this; - } - FragmentRunningEvent.prototype.prepareEvent = function (event) { - var _this = this; - _super.prototype.prepareEvent.call(this, event); - event.event = this.fragment.name; - event.eventSignature = this.fragment.format(); - event.decode = function (data, topics) { - return _this.interface.decodeEventLog(_this.fragment, data, topics); - }; - try { - event.args = this.interface.decodeEventLog(this.fragment, event.data, event.topics); - } - catch (error) { - event.args = null; - event.decodeError = error; - } - }; - FragmentRunningEvent.prototype.getEmit = function (event) { - var errors = (0, abi_1.checkResultErrors)(event.args); - if (errors.length) { - throw errors[0].error; - } - var args = (event.args || []).slice(); - args.push(event); - return args; - }; - return FragmentRunningEvent; -}(RunningEvent)); -// A Wildcard Event will attempt to populate: -// - event The name of the event name -// - eventSignature The full signature of the event -// - decode A function to decode data and topics -// - args The decoded data and topics -var WildcardRunningEvent = /** @class */ (function (_super) { - __extends(WildcardRunningEvent, _super); - function WildcardRunningEvent(address, contractInterface) { - var _this = _super.call(this, "*", { address: address }) || this; - (0, properties_1.defineReadOnly)(_this, "address", address); - (0, properties_1.defineReadOnly)(_this, "interface", contractInterface); - return _this; - } - WildcardRunningEvent.prototype.prepareEvent = function (event) { - var _this = this; - _super.prototype.prepareEvent.call(this, event); - try { - var parsed_1 = this.interface.parseLog(event); - event.event = parsed_1.name; - event.eventSignature = parsed_1.signature; - event.decode = function (data, topics) { - return _this.interface.decodeEventLog(parsed_1.eventFragment, data, topics); - }; - event.args = parsed_1.args; - } - catch (error) { - // No matching event - } - }; - return WildcardRunningEvent; -}(RunningEvent)); -var BaseContract = /** @class */ (function () { - function BaseContract(addressOrName, contractInterface, signerOrProvider) { - var _newTarget = this.constructor; - var _this = this; - // @TODO: Maybe still check the addressOrName looks like a valid address or name? - //address = getAddress(address); - (0, properties_1.defineReadOnly)(this, "interface", (0, properties_1.getStatic)(_newTarget, "getInterface")(contractInterface)); - if (signerOrProvider == null) { - (0, properties_1.defineReadOnly)(this, "provider", null); - (0, properties_1.defineReadOnly)(this, "signer", null); - } - else if (abstract_signer_1.Signer.isSigner(signerOrProvider)) { - (0, properties_1.defineReadOnly)(this, "provider", signerOrProvider.provider || null); - (0, properties_1.defineReadOnly)(this, "signer", signerOrProvider); - } - else if (abstract_provider_1.Provider.isProvider(signerOrProvider)) { - (0, properties_1.defineReadOnly)(this, "provider", signerOrProvider); - (0, properties_1.defineReadOnly)(this, "signer", null); - } - else { - logger.throwArgumentError("invalid signer or provider", "signerOrProvider", signerOrProvider); - } - (0, properties_1.defineReadOnly)(this, "callStatic", {}); - (0, properties_1.defineReadOnly)(this, "estimateGas", {}); - (0, properties_1.defineReadOnly)(this, "functions", {}); - (0, properties_1.defineReadOnly)(this, "populateTransaction", {}); - (0, properties_1.defineReadOnly)(this, "filters", {}); - { - var uniqueFilters_1 = {}; - Object.keys(this.interface.events).forEach(function (eventSignature) { - var event = _this.interface.events[eventSignature]; - (0, properties_1.defineReadOnly)(_this.filters, eventSignature, function () { - var args = []; - for (var _i = 0; _i < arguments.length; _i++) { - args[_i] = arguments[_i]; - } - return { - address: _this.address, - topics: _this.interface.encodeFilterTopics(event, args) - }; - }); - if (!uniqueFilters_1[event.name]) { - uniqueFilters_1[event.name] = []; - } - uniqueFilters_1[event.name].push(eventSignature); - }); - Object.keys(uniqueFilters_1).forEach(function (name) { - var filters = uniqueFilters_1[name]; - if (filters.length === 1) { - (0, properties_1.defineReadOnly)(_this.filters, name, _this.filters[filters[0]]); - } - else { - logger.warn("Duplicate definition of " + name + " (" + filters.join(", ") + ")"); - } - }); - } - (0, properties_1.defineReadOnly)(this, "_runningEvents", {}); - (0, properties_1.defineReadOnly)(this, "_wrappedEmits", {}); - if (addressOrName == null) { - logger.throwArgumentError("invalid contract address or ENS name", "addressOrName", addressOrName); - } - (0, properties_1.defineReadOnly)(this, "address", addressOrName); - if (this.provider) { - (0, properties_1.defineReadOnly)(this, "resolvedAddress", resolveName(this.provider, addressOrName)); - } - else { - try { - (0, properties_1.defineReadOnly)(this, "resolvedAddress", Promise.resolve((0, address_1.getAddress)(addressOrName))); - } - catch (error) { - // Without a provider, we cannot use ENS names - logger.throwError("provider is required to use ENS name as contract address", logger_1.Logger.errors.UNSUPPORTED_OPERATION, { - operation: "new Contract" - }); - } - } - // Swallow bad ENS names to prevent Unhandled Exceptions - this.resolvedAddress.catch(function (e) { }); - var uniqueNames = {}; - var uniqueSignatures = {}; - Object.keys(this.interface.functions).forEach(function (signature) { - var fragment = _this.interface.functions[signature]; - // Check that the signature is unique; if not the ABI generation has - // not been cleaned or may be incorrectly generated - if (uniqueSignatures[signature]) { - logger.warn("Duplicate ABI entry for " + JSON.stringify(signature)); - return; - } - uniqueSignatures[signature] = true; - // Track unique names; we only expose bare named functions if they - // are ambiguous - { - var name_1 = fragment.name; - if (!uniqueNames["%" + name_1]) { - uniqueNames["%" + name_1] = []; - } - uniqueNames["%" + name_1].push(signature); - } - if (_this[signature] == null) { - (0, properties_1.defineReadOnly)(_this, signature, buildDefault(_this, fragment, true)); - } - // We do not collapse simple calls on this bucket, which allows - // frameworks to safely use this without introspection as well as - // allows decoding error recovery. - if (_this.functions[signature] == null) { - (0, properties_1.defineReadOnly)(_this.functions, signature, buildDefault(_this, fragment, false)); - } - if (_this.callStatic[signature] == null) { - (0, properties_1.defineReadOnly)(_this.callStatic, signature, buildCall(_this, fragment, true)); - } - if (_this.populateTransaction[signature] == null) { - (0, properties_1.defineReadOnly)(_this.populateTransaction, signature, buildPopulate(_this, fragment)); - } - if (_this.estimateGas[signature] == null) { - (0, properties_1.defineReadOnly)(_this.estimateGas, signature, buildEstimate(_this, fragment)); - } - }); - Object.keys(uniqueNames).forEach(function (name) { - // Ambiguous names to not get attached as bare names - var signatures = uniqueNames[name]; - if (signatures.length > 1) { - return; - } - // Strip off the leading "%" used for prototype protection - name = name.substring(1); - var signature = signatures[0]; - // If overwriting a member property that is null, swallow the error - try { - if (_this[name] == null) { - (0, properties_1.defineReadOnly)(_this, name, _this[signature]); - } - } - catch (e) { } - if (_this.functions[name] == null) { - (0, properties_1.defineReadOnly)(_this.functions, name, _this.functions[signature]); - } - if (_this.callStatic[name] == null) { - (0, properties_1.defineReadOnly)(_this.callStatic, name, _this.callStatic[signature]); - } - if (_this.populateTransaction[name] == null) { - (0, properties_1.defineReadOnly)(_this.populateTransaction, name, _this.populateTransaction[signature]); - } - if (_this.estimateGas[name] == null) { - (0, properties_1.defineReadOnly)(_this.estimateGas, name, _this.estimateGas[signature]); - } - }); - } - BaseContract.getContractAddress = function (transaction) { - return (0, address_1.getContractAddress)(transaction); - }; - BaseContract.getInterface = function (contractInterface) { - if (abi_1.Interface.isInterface(contractInterface)) { - return contractInterface; - } - return new abi_1.Interface(contractInterface); - }; - // @TODO: Allow timeout? - BaseContract.prototype.deployed = function () { - return this._deployed(); - }; - BaseContract.prototype._deployed = function (blockTag) { - var _this = this; - if (!this._deployedPromise) { - // If we were just deployed, we know the transaction we should occur in - if (this.deployTransaction) { - this._deployedPromise = this.deployTransaction.wait().then(function () { - return _this; - }); - } - else { - // @TODO: Once we allow a timeout to be passed in, we will wait - // up to that many blocks for getCode - // Otherwise, poll for our code to be deployed - this._deployedPromise = this.provider.getCode(this.address, blockTag).then(function (code) { - if (code === "0x") { - logger.throwError("contract not deployed", logger_1.Logger.errors.UNSUPPORTED_OPERATION, { - contractAddress: _this.address, - operation: "getDeployed" - }); - } - return _this; - }); - } - } - return this._deployedPromise; - }; - // @TODO: - // estimateFallback(overrides?: TransactionRequest): Promise - // @TODO: - // estimateDeploy(bytecode: string, ...args): Promise - BaseContract.prototype.fallback = function (overrides) { - var _this = this; - if (!this.signer) { - logger.throwError("sending a transactions require a signer", logger_1.Logger.errors.UNSUPPORTED_OPERATION, { operation: "sendTransaction(fallback)" }); - } - var tx = (0, properties_1.shallowCopy)(overrides || {}); - ["from", "to"].forEach(function (key) { - if (tx[key] == null) { - return; - } - logger.throwError("cannot override " + key, logger_1.Logger.errors.UNSUPPORTED_OPERATION, { operation: key }); - }); - tx.to = this.resolvedAddress; - return this.deployed().then(function () { - return _this.signer.sendTransaction(tx); - }); - }; - // Reconnect to a different signer or provider - BaseContract.prototype.connect = function (signerOrProvider) { - if (typeof (signerOrProvider) === "string") { - signerOrProvider = new abstract_signer_1.VoidSigner(signerOrProvider, this.provider); - } - var contract = new (this.constructor)(this.address, this.interface, signerOrProvider); - if (this.deployTransaction) { - (0, properties_1.defineReadOnly)(contract, "deployTransaction", this.deployTransaction); - } - return contract; - }; - // Re-attach to a different on-chain instance of this contract - BaseContract.prototype.attach = function (addressOrName) { - return new (this.constructor)(addressOrName, this.interface, this.signer || this.provider); - }; - BaseContract.isIndexed = function (value) { - return abi_1.Indexed.isIndexed(value); - }; - BaseContract.prototype._normalizeRunningEvent = function (runningEvent) { - // Already have an instance of this event running; we can re-use it - if (this._runningEvents[runningEvent.tag]) { - return this._runningEvents[runningEvent.tag]; - } - return runningEvent; - }; - BaseContract.prototype._getRunningEvent = function (eventName) { - if (typeof (eventName) === "string") { - // Listen for "error" events (if your contract has an error event, include - // the full signature to bypass this special event keyword) - if (eventName === "error") { - return this._normalizeRunningEvent(new ErrorRunningEvent()); - } - // Listen for any event that is registered - if (eventName === "event") { - return this._normalizeRunningEvent(new RunningEvent("event", null)); - } - // Listen for any event - if (eventName === "*") { - return this._normalizeRunningEvent(new WildcardRunningEvent(this.address, this.interface)); - } - // Get the event Fragment (throws if ambiguous/unknown event) - var fragment = this.interface.getEvent(eventName); - return this._normalizeRunningEvent(new FragmentRunningEvent(this.address, this.interface, fragment)); - } - // We have topics to filter by... - if (eventName.topics && eventName.topics.length > 0) { - // Is it a known topichash? (throws if no matching topichash) - try { - var topic = eventName.topics[0]; - if (typeof (topic) !== "string") { - throw new Error("invalid topic"); // @TODO: May happen for anonymous events - } - var fragment = this.interface.getEvent(topic); - return this._normalizeRunningEvent(new FragmentRunningEvent(this.address, this.interface, fragment, eventName.topics)); - } - catch (error) { } - // Filter by the unknown topichash - var filter = { - address: this.address, - topics: eventName.topics - }; - return this._normalizeRunningEvent(new RunningEvent(getEventTag(filter), filter)); - } - return this._normalizeRunningEvent(new WildcardRunningEvent(this.address, this.interface)); - }; - BaseContract.prototype._checkRunningEvents = function (runningEvent) { - if (runningEvent.listenerCount() === 0) { - delete this._runningEvents[runningEvent.tag]; - // If we have a poller for this, remove it - var emit = this._wrappedEmits[runningEvent.tag]; - if (emit && runningEvent.filter) { - this.provider.off(runningEvent.filter, emit); - delete this._wrappedEmits[runningEvent.tag]; - } - } - }; - // Subclasses can override this to gracefully recover - // from parse errors if they wish - BaseContract.prototype._wrapEvent = function (runningEvent, log, listener) { - var _this = this; - var event = (0, properties_1.deepCopy)(log); - event.removeListener = function () { - if (!listener) { - return; - } - runningEvent.removeListener(listener); - _this._checkRunningEvents(runningEvent); - }; - event.getBlock = function () { return _this.provider.getBlock(log.blockHash); }; - event.getTransaction = function () { return _this.provider.getTransaction(log.transactionHash); }; - event.getTransactionReceipt = function () { return _this.provider.getTransactionReceipt(log.transactionHash); }; - // This may throw if the topics and data mismatch the signature - runningEvent.prepareEvent(event); - return event; - }; - BaseContract.prototype._addEventListener = function (runningEvent, listener, once) { - var _this = this; - if (!this.provider) { - logger.throwError("events require a provider or a signer with a provider", logger_1.Logger.errors.UNSUPPORTED_OPERATION, { operation: "once" }); - } - runningEvent.addListener(listener, once); - // Track this running event and its listeners (may already be there; but no hard in updating) - this._runningEvents[runningEvent.tag] = runningEvent; - // If we are not polling the provider, start polling - if (!this._wrappedEmits[runningEvent.tag]) { - var wrappedEmit = function (log) { - var event = _this._wrapEvent(runningEvent, log, listener); - // Try to emit the result for the parameterized event... - if (event.decodeError == null) { - try { - var args = runningEvent.getEmit(event); - _this.emit.apply(_this, __spreadArray([runningEvent.filter], args, false)); - } - catch (error) { - event.decodeError = error.error; - } - } - // Always emit "event" for fragment-base events - if (runningEvent.filter != null) { - _this.emit("event", event); - } - // Emit "error" if there was an error - if (event.decodeError != null) { - _this.emit("error", event.decodeError, event); - } - }; - this._wrappedEmits[runningEvent.tag] = wrappedEmit; - // Special events, like "error" do not have a filter - if (runningEvent.filter != null) { - this.provider.on(runningEvent.filter, wrappedEmit); - } - } - }; - BaseContract.prototype.queryFilter = function (event, fromBlockOrBlockhash, toBlock) { - var _this = this; - var runningEvent = this._getRunningEvent(event); - var filter = (0, properties_1.shallowCopy)(runningEvent.filter); - if (typeof (fromBlockOrBlockhash) === "string" && (0, bytes_1.isHexString)(fromBlockOrBlockhash, 32)) { - if (toBlock != null) { - logger.throwArgumentError("cannot specify toBlock with blockhash", "toBlock", toBlock); - } - filter.blockHash = fromBlockOrBlockhash; - } - else { - filter.fromBlock = ((fromBlockOrBlockhash != null) ? fromBlockOrBlockhash : 0); - filter.toBlock = ((toBlock != null) ? toBlock : "latest"); - } - return this.provider.getLogs(filter).then(function (logs) { - return logs.map(function (log) { return _this._wrapEvent(runningEvent, log, null); }); - }); - }; - BaseContract.prototype.on = function (event, listener) { - this._addEventListener(this._getRunningEvent(event), listener, false); - return this; - }; - BaseContract.prototype.once = function (event, listener) { - this._addEventListener(this._getRunningEvent(event), listener, true); - return this; - }; - BaseContract.prototype.emit = function (eventName) { - var args = []; - for (var _i = 1; _i < arguments.length; _i++) { - args[_i - 1] = arguments[_i]; - } - if (!this.provider) { - return false; - } - var runningEvent = this._getRunningEvent(eventName); - var result = (runningEvent.run(args) > 0); - // May have drained all the "once" events; check for living events - this._checkRunningEvents(runningEvent); - return result; - }; - BaseContract.prototype.listenerCount = function (eventName) { - var _this = this; - if (!this.provider) { - return 0; - } - if (eventName == null) { - return Object.keys(this._runningEvents).reduce(function (accum, key) { - return accum + _this._runningEvents[key].listenerCount(); - }, 0); - } - return this._getRunningEvent(eventName).listenerCount(); - }; - BaseContract.prototype.listeners = function (eventName) { - if (!this.provider) { - return []; - } - if (eventName == null) { - var result_1 = []; - for (var tag in this._runningEvents) { - this._runningEvents[tag].listeners().forEach(function (listener) { - result_1.push(listener); - }); - } - return result_1; - } - return this._getRunningEvent(eventName).listeners(); - }; - BaseContract.prototype.removeAllListeners = function (eventName) { - if (!this.provider) { - return this; - } - if (eventName == null) { - for (var tag in this._runningEvents) { - var runningEvent_1 = this._runningEvents[tag]; - runningEvent_1.removeAllListeners(); - this._checkRunningEvents(runningEvent_1); - } - return this; - } - // Delete any listeners - var runningEvent = this._getRunningEvent(eventName); - runningEvent.removeAllListeners(); - this._checkRunningEvents(runningEvent); - return this; - }; - BaseContract.prototype.off = function (eventName, listener) { - if (!this.provider) { - return this; - } - var runningEvent = this._getRunningEvent(eventName); - runningEvent.removeListener(listener); - this._checkRunningEvents(runningEvent); - return this; - }; - BaseContract.prototype.removeListener = function (eventName, listener) { - return this.off(eventName, listener); - }; - return BaseContract; -}()); -exports.BaseContract = BaseContract; -var Contract = /** @class */ (function (_super) { - __extends(Contract, _super); - function Contract() { - return _super !== null && _super.apply(this, arguments) || this; - } - return Contract; -}(BaseContract)); -exports.Contract = Contract; -var ContractFactory = /** @class */ (function () { - function ContractFactory(contractInterface, bytecode, signer) { - var _newTarget = this.constructor; - var bytecodeHex = null; - if (typeof (bytecode) === "string") { - bytecodeHex = bytecode; - } - else if ((0, bytes_1.isBytes)(bytecode)) { - bytecodeHex = (0, bytes_1.hexlify)(bytecode); - } - else if (bytecode && typeof (bytecode.object) === "string") { - // Allow the bytecode object from the Solidity compiler - bytecodeHex = bytecode.object; - } - else { - // Crash in the next verification step - bytecodeHex = "!"; - } - // Make sure it is 0x prefixed - if (bytecodeHex.substring(0, 2) !== "0x") { - bytecodeHex = "0x" + bytecodeHex; - } - // Make sure the final result is valid bytecode - if (!(0, bytes_1.isHexString)(bytecodeHex) || (bytecodeHex.length % 2)) { - logger.throwArgumentError("invalid bytecode", "bytecode", bytecode); - } - // If we have a signer, make sure it is valid - if (signer && !abstract_signer_1.Signer.isSigner(signer)) { - logger.throwArgumentError("invalid signer", "signer", signer); - } - (0, properties_1.defineReadOnly)(this, "bytecode", bytecodeHex); - (0, properties_1.defineReadOnly)(this, "interface", (0, properties_1.getStatic)(_newTarget, "getInterface")(contractInterface)); - (0, properties_1.defineReadOnly)(this, "signer", signer || null); - } - // @TODO: Future; rename to populateTransaction? - ContractFactory.prototype.getDeployTransaction = function () { - var args = []; - for (var _i = 0; _i < arguments.length; _i++) { - args[_i] = arguments[_i]; - } - var tx = {}; - // If we have 1 additional argument, we allow transaction overrides - if (args.length === this.interface.deploy.inputs.length + 1 && typeof (args[args.length - 1]) === "object") { - tx = (0, properties_1.shallowCopy)(args.pop()); - for (var key in tx) { - if (!allowedTransactionKeys[key]) { - throw new Error("unknown transaction override " + key); - } - } - } - // Do not allow these to be overridden in a deployment transaction - ["data", "from", "to"].forEach(function (key) { - if (tx[key] == null) { - return; - } - logger.throwError("cannot override " + key, logger_1.Logger.errors.UNSUPPORTED_OPERATION, { operation: key }); - }); - if (tx.value) { - var value = bignumber_1.BigNumber.from(tx.value); - if (!value.isZero() && !this.interface.deploy.payable) { - logger.throwError("non-payable constructor cannot override value", logger_1.Logger.errors.UNSUPPORTED_OPERATION, { - operation: "overrides.value", - value: tx.value - }); - } - } - // Make sure the call matches the constructor signature - logger.checkArgumentCount(args.length, this.interface.deploy.inputs.length, " in Contract constructor"); - // Set the data to the bytecode + the encoded constructor arguments - tx.data = (0, bytes_1.hexlify)((0, bytes_1.concat)([ - this.bytecode, - this.interface.encodeDeploy(args) - ])); - return tx; - }; - ContractFactory.prototype.deploy = function () { - var args = []; - for (var _i = 0; _i < arguments.length; _i++) { - args[_i] = arguments[_i]; - } - return __awaiter(this, void 0, void 0, function () { - var overrides, params, unsignedTx, tx, address, contract; - return __generator(this, function (_a) { - switch (_a.label) { - case 0: - overrides = {}; - // If 1 extra parameter was passed in, it contains overrides - if (args.length === this.interface.deploy.inputs.length + 1) { - overrides = args.pop(); - } - // Make sure the call matches the constructor signature - logger.checkArgumentCount(args.length, this.interface.deploy.inputs.length, " in Contract constructor"); - return [4 /*yield*/, resolveAddresses(this.signer, args, this.interface.deploy.inputs)]; - case 1: - params = _a.sent(); - params.push(overrides); - unsignedTx = this.getDeployTransaction.apply(this, params); - return [4 /*yield*/, this.signer.sendTransaction(unsignedTx)]; - case 2: - tx = _a.sent(); - address = (0, properties_1.getStatic)(this.constructor, "getContractAddress")(tx); - contract = (0, properties_1.getStatic)(this.constructor, "getContract")(address, this.interface, this.signer); - // Add the modified wait that wraps events - addContractWait(contract, tx); - (0, properties_1.defineReadOnly)(contract, "deployTransaction", tx); - return [2 /*return*/, contract]; - } - }); - }); - }; - ContractFactory.prototype.attach = function (address) { - return (this.constructor).getContract(address, this.interface, this.signer); - }; - ContractFactory.prototype.connect = function (signer) { - return new (this.constructor)(this.interface, this.bytecode, signer); - }; - ContractFactory.fromSolidity = function (compilerOutput, signer) { - if (compilerOutput == null) { - logger.throwError("missing compiler output", logger_1.Logger.errors.MISSING_ARGUMENT, { argument: "compilerOutput" }); - } - if (typeof (compilerOutput) === "string") { - compilerOutput = JSON.parse(compilerOutput); - } - var abi = compilerOutput.abi; - var bytecode = null; - if (compilerOutput.bytecode) { - bytecode = compilerOutput.bytecode; - } - else if (compilerOutput.evm && compilerOutput.evm.bytecode) { - bytecode = compilerOutput.evm.bytecode; - } - return new this(abi, bytecode, signer); - }; - ContractFactory.getInterface = function (contractInterface) { - return Contract.getInterface(contractInterface); - }; - ContractFactory.getContractAddress = function (tx) { - return (0, address_1.getContractAddress)(tx); - }; - ContractFactory.getContract = function (address, contractInterface, signer) { - return new Contract(address, contractInterface, signer); - }; - return ContractFactory; -}()); -exports.ContractFactory = ContractFactory; -//# sourceMappingURL=index.js.map - -/***/ }), - -/***/ 11909: -/***/ ((__unused_webpack_module, exports) => { - - -Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.version = void 0; -exports.version = "hash/5.7.0"; -//# sourceMappingURL=_version.js.map - -/***/ }), - -/***/ 6213: -/***/ ((__unused_webpack_module, exports) => { - - -/** - * MIT License - * - * Copyright (c) 2021 Andrew Raffensperger - * - * 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 is a near carbon-copy of the original source (link below) with the - * TypeScript typings added and a few tweaks to make it ES3-compatible. - * - * See: https://github.com/adraffy/ens-normalize.js - */ -Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.read_emoji_trie = exports.read_zero_terminated_array = exports.read_mapped_map = exports.read_member_array = exports.signed = exports.read_compressed_payload = exports.read_payload = exports.decode_arithmetic = void 0; -// https://github.com/behnammodi/polyfill/blob/master/array.polyfill.js -function flat(array, depth) { - if (depth == null) { - depth = 1; - } - var result = []; - var forEach = result.forEach; - var flatDeep = function (arr, depth) { - forEach.call(arr, function (val) { - if (depth > 0 && Array.isArray(val)) { - flatDeep(val, depth - 1); - } - else { - result.push(val); - } - }); - }; - flatDeep(array, depth); - return result; -} -function fromEntries(array) { - var result = {}; - for (var i = 0; i < array.length; i++) { - var value = array[i]; - result[value[0]] = value[1]; - } - return result; -} -function decode_arithmetic(bytes) { - var pos = 0; - function u16() { return (bytes[pos++] << 8) | bytes[pos++]; } - // decode the frequency table - var symbol_count = u16(); - var total = 1; - var acc = [0, 1]; // first symbol has frequency 1 - for (var i = 1; i < symbol_count; i++) { - acc.push(total += u16()); - } - // skip the sized-payload that the last 3 symbols index into - var skip = u16(); - var pos_payload = pos; - pos += skip; - var read_width = 0; - var read_buffer = 0; - function read_bit() { - if (read_width == 0) { - // this will read beyond end of buffer - // but (undefined|0) => zero pad - read_buffer = (read_buffer << 8) | bytes[pos++]; - read_width = 8; - } - return (read_buffer >> --read_width) & 1; - } - var N = 31; - var FULL = Math.pow(2, N); - var HALF = FULL >>> 1; - var QRTR = HALF >> 1; - var MASK = FULL - 1; - // fill register - var register = 0; - for (var i = 0; i < N; i++) - register = (register << 1) | read_bit(); - var symbols = []; - var low = 0; - var range = FULL; // treat like a float - while (true) { - var value = Math.floor((((register - low + 1) * total) - 1) / range); - var start = 0; - var end = symbol_count; - while (end - start > 1) { // binary search - var mid = (start + end) >>> 1; - if (value < acc[mid]) { - end = mid; - } - else { - start = mid; - } - } - if (start == 0) - break; // first symbol is end mark - symbols.push(start); - var a = low + Math.floor(range * acc[start] / total); - var b = low + Math.floor(range * acc[start + 1] / total) - 1; - while (((a ^ b) & HALF) == 0) { - register = (register << 1) & MASK | read_bit(); - a = (a << 1) & MASK; - b = (b << 1) & MASK | 1; - } - while (a & ~b & QRTR) { - register = (register & HALF) | ((register << 1) & (MASK >>> 1)) | read_bit(); - a = (a << 1) ^ HALF; - b = ((b ^ HALF) << 1) | HALF | 1; - } - low = a; - range = 1 + b - a; - } - var offset = symbol_count - 4; - return symbols.map(function (x) { - switch (x - offset) { - case 3: return offset + 0x10100 + ((bytes[pos_payload++] << 16) | (bytes[pos_payload++] << 8) | bytes[pos_payload++]); - case 2: return offset + 0x100 + ((bytes[pos_payload++] << 8) | bytes[pos_payload++]); - case 1: return offset + bytes[pos_payload++]; - default: return x - 1; - } - }); -} -exports.decode_arithmetic = decode_arithmetic; -// returns an iterator which returns the next symbol -function read_payload(v) { - var pos = 0; - return function () { return v[pos++]; }; -} -exports.read_payload = read_payload; -function read_compressed_payload(bytes) { - return read_payload(decode_arithmetic(bytes)); -} -exports.read_compressed_payload = read_compressed_payload; -// eg. [0,1,2,3...] => [0,-1,1,-2,...] -function signed(i) { - return (i & 1) ? (~i >> 1) : (i >> 1); -} -exports.signed = signed; -function read_counts(n, next) { - var v = Array(n); - for (var i = 0; i < n; i++) - v[i] = 1 + next(); - return v; -} -function read_ascending(n, next) { - var v = Array(n); - for (var i = 0, x = -1; i < n; i++) - v[i] = x += 1 + next(); - return v; -} -function read_deltas(n, next) { - var v = Array(n); - for (var i = 0, x = 0; i < n; i++) - v[i] = x += signed(next()); - return v; -} -function read_member_array(next, lookup) { - var v = read_ascending(next(), next); - var n = next(); - var vX = read_ascending(n, next); - var vN = read_counts(n, next); - for (var i = 0; i < n; i++) { - for (var j = 0; j < vN[i]; j++) { - v.push(vX[i] + j); - } - } - return lookup ? v.map(function (x) { return lookup[x]; }) : v; -} -exports.read_member_array = read_member_array; -// returns array of -// [x, ys] => single replacement rule -// [x, ys, n, dx, dx] => linear map -function read_mapped_map(next) { - var ret = []; - while (true) { - var w = next(); - if (w == 0) - break; - ret.push(read_linear_table(w, next)); - } - while (true) { - var w = next() - 1; - if (w < 0) - break; - ret.push(read_replacement_table(w, next)); - } - return fromEntries(flat(ret)); -} -exports.read_mapped_map = read_mapped_map; -function read_zero_terminated_array(next) { - var v = []; - while (true) { - var i = next(); - if (i == 0) - break; - v.push(i); - } - return v; -} -exports.read_zero_terminated_array = read_zero_terminated_array; -function read_transposed(n, w, next) { - var m = Array(n).fill(undefined).map(function () { return []; }); - for (var i = 0; i < w; i++) { - read_deltas(n, next).forEach(function (x, j) { return m[j].push(x); }); - } - return m; -} -function read_linear_table(w, next) { - var dx = 1 + next(); - var dy = next(); - var vN = read_zero_terminated_array(next); - var m = read_transposed(vN.length, 1 + w, next); - return flat(m.map(function (v, i) { - var x = v[0], ys = v.slice(1); - //let [x, ...ys] = v; - //return Array(vN[i]).fill().map((_, j) => { - return Array(vN[i]).fill(undefined).map(function (_, j) { - var j_dy = j * dy; - return [x + j * dx, ys.map(function (y) { return y + j_dy; })]; - }); - })); -} -function read_replacement_table(w, next) { - var n = 1 + next(); - var m = read_transposed(n, 1 + w, next); - return m.map(function (v) { return [v[0], v.slice(1)]; }); -} -function read_emoji_trie(next) { - var sorted = read_member_array(next).sort(function (a, b) { return a - b; }); - return read(); - function read() { - var branches = []; - while (true) { - var keys = read_member_array(next, sorted); - if (keys.length == 0) - break; - branches.push({ set: new Set(keys), node: read() }); - } - branches.sort(function (a, b) { return b.set.size - a.set.size; }); // sort by likelihood - var temp = next(); - var valid = temp % 3; - temp = (temp / 3) | 0; - var fe0f = !!(temp & 1); - temp >>= 1; - var save = temp == 1; - var check = temp == 2; - return { branches: branches, valid: valid, fe0f: fe0f, save: save, check: check }; - } -} -exports.read_emoji_trie = read_emoji_trie; -//# sourceMappingURL=decoder.js.map - -/***/ }), - -/***/ 83877: -/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { - - -/** - * MIT License - * - * Copyright (c) 2021 Andrew Raffensperger - * - * 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 is a near carbon-copy of the original source (link below) with the - * TypeScript typings added and a few tweaks to make it ES3-compatible. - * - * See: https://github.com/adraffy/ens-normalize.js - */ -Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.getData = void 0; -var base64_1 = __nccwpck_require__(14895); -var decoder_js_1 = __nccwpck_require__(6213); -function getData() { - return (0, decoder_js_1.read_compressed_payload)((0, base64_1.decode)('AEQF2AO2DEsA2wIrAGsBRABxAN8AZwCcAEwAqgA0AGwAUgByADcATAAVAFYAIQAyACEAKAAYAFgAGwAjABQAMAAmADIAFAAfABQAKwATACoADgAbAA8AHQAYABoAGQAxADgALAAoADwAEwA9ABMAGgARAA4ADwAWABMAFgAIAA8AHgQXBYMA5BHJAS8JtAYoAe4AExozi0UAH21tAaMnBT8CrnIyhrMDhRgDygIBUAEHcoFHUPe8AXBjAewCjgDQR8IICIcEcQLwATXCDgzvHwBmBoHNAqsBdBcUAykgDhAMShskMgo8AY8jqAQfAUAfHw8BDw87MioGlCIPBwZCa4ELatMAAMspJVgsDl8AIhckSg8XAHdvTwBcIQEiDT4OPhUqbyECAEoAS34Aej8Ybx83JgT/Xw8gHxZ/7w8RICxPHA9vBw+Pfw8PHwAPFv+fAsAvCc8vEr8ivwD/EQ8Bol8OEBa/A78hrwAPCU8vESNvvwWfHwNfAVoDHr+ZAAED34YaAdJPAK7PLwSEgDLHAGo1Pz8Pvx9fUwMrpb8O/58VTzAPIBoXIyQJNF8hpwIVAT8YGAUADDNBaX3RAMomJCg9EhUeA29MABsZBTMNJipjOhc19gcIDR8bBwQHEggCWi6DIgLuAQYA+BAFCha3A5XiAEsqM7UFFgFLhAMjFTMYE1Klnw74nRVBG/ASCm0BYRN/BrsU3VoWy+S0vV8LQx+vN8gF2AC2AK5EAWwApgYDKmAAroQ0NDQ0AT+OCg7wAAIHRAbpNgVcBV0APTA5BfbPFgMLzcYL/QqqA82eBALKCjQCjqYCht0/k2+OAsXQAoP3ASTKDgDw6ACKAUYCMpIKJpRaAE4A5womABzZvs0REEKiACIQAd5QdAECAj4Ywg/wGqY2AVgAYADYvAoCGAEubA0gvAY2ALAAbpbvqpyEAGAEpgQAJgAG7gAgAEACmghUFwCqAMpAINQIwC4DthRAAPcycKgApoIdABwBfCisABoATwBqASIAvhnSBP8aH/ECeAKXAq40NjgDBTwFYQU6AXs3oABgAD4XNgmcCY1eCl5tIFZeUqGgyoNHABgAEQAaABNwWQAmABMATPMa3T34ADldyprmM1M2XociUQgLzvwAXT3xABgAEQAaABNwIGFAnADD8AAgAD4BBJWzaCcIAIEBFMAWwKoAAdq9BWAF5wLQpALEtQAKUSGkahR4GnJM+gsAwCgeFAiUAECQ0BQuL8AAIAAAADKeIheclvFqQAAETr4iAMxIARMgAMIoHhQIAn0E0pDQFC4HhznoAAAAIAI2C0/4lvFqQAAETgBJJwYCAy4ABgYAFAA8MBKYEH4eRhTkAjYeFcgACAYAeABsOqyQ5gRwDayqugEgaIIAtgoACgDmEABmBAWGme5OBJJA2m4cDeoAmITWAXwrMgOgAGwBCh6CBXYF1Tzg1wKAAFdiuABRAFwAXQBsAG8AdgBrAHYAbwCEAHEwfxQBVE5TEQADVFhTBwBDANILAqcCzgLTApQCrQL6vAAMAL8APLhNBKkE6glGKTAU4Dr4N2EYEwBCkABKk8rHAbYBmwIoAiU4Ajf/Aq4CowCAANIChzgaNBsCsTgeODcFXrgClQKdAqQBiQGYAqsCsjTsNHsfNPA0ixsAWTWiOAMFPDQSNCk2BDZHNow2TTZUNhk28Jk9VzI3QkEoAoICoQKwAqcAQAAxBV4FXbS9BW47YkIXP1ciUqs05DS/FwABUwJW11e6nHuYZmSh/RAYA8oMKvZ8KASoUAJYWAJ6ILAsAZSoqjpgA0ocBIhmDgDWAAawRDQoAAcuAj5iAHABZiR2AIgiHgCaAU68ACxuHAG0ygM8MiZIAlgBdF4GagJqAPZOHAMuBgoATkYAsABiAHgAMLoGDPj0HpKEBAAOJgAuALggTAHWAeAMEDbd20Uege0ADwAWADkAQgA9OHd+2MUQZBBhBgNNDkxxPxUQArEPqwvqERoM1irQ090ANK4H8ANYB/ADWANYB/AH8ANYB/ADWANYA1gDWBwP8B/YxRBkD00EcgWTBZAE2wiIJk4RhgctCNdUEnQjHEwDSgEBIypJITuYMxAlR0wRTQgIATZHbKx9PQNMMbBU+pCnA9AyVDlxBgMedhKlAC8PeCE1uk6DekxxpQpQT7NX9wBFBgASqwAS5gBJDSgAUCwGPQBI4zTYABNGAE2bAE3KAExdGABKaAbgAFBXAFCOAFBJABI2SWdObALDOq0//QomCZhvwHdTBkIQHCemEPgMNAG2ATwN7kvZBPIGPATKH34ZGg/OlZ0Ipi3eDO4m5C6igFsj9iqEBe5L9TzeC05RaQ9aC2YJ5DpkgU8DIgEOIowK3g06CG4Q9ArKbA3mEUYHOgPWSZsApgcCCxIdNhW2JhFirQsKOXgG/Br3C5AmsBMqev0F1BoiBk4BKhsAANAu6IWxWjJcHU9gBgQLJiPIFKlQIQ0mQLh4SRocBxYlqgKSQ3FKiFE3HpQh9zw+DWcuFFF9B/Y8BhlQC4I8n0asRQ8R0z6OPUkiSkwtBDaALDAnjAnQD4YMunxzAVoJIgmyDHITMhEYN8YIOgcaLpclJxYIIkaWYJsE+KAD9BPSAwwFQAlCBxQDthwuEy8VKgUOgSXYAvQ21i60ApBWgQEYBcwPJh/gEFFH4Q7qCJwCZgOEJewALhUiABginAhEZABgj9lTBi7MCMhqbSN1A2gU6GIRdAeSDlgHqBw0FcAc4nDJXgyGCSiksAlcAXYJmgFgBOQICjVcjKEgQmdUi1kYnCBiQUBd/QIyDGYVoES+h3kCjA9sEhwBNgF0BzoNAgJ4Ee4RbBCWCOyGBTW2M/k6JgRQIYQgEgooA1BszwsoJvoM+WoBpBJjAw00PnfvZ6xgtyUX/gcaMsZBYSHyC5NPzgydGsIYQ1QvGeUHwAP0GvQn60FYBgADpAQUOk4z7wS+C2oIjAlAAEoOpBgH2BhrCnKM0QEyjAG4mgNYkoQCcJAGOAcMAGgMiAV65gAeAqgIpAAGANADWAA6Aq4HngAaAIZCAT4DKDABIuYCkAOUCDLMAZYwAfQqBBzEDBYA+DhuSwLDsgKAa2ajBd5ZAo8CSjYBTiYEBk9IUgOwcuIA3ABMBhTgSAEWrEvMG+REAeBwLADIAPwABjYHBkIBzgH0bgC4AWALMgmjtLYBTuoqAIQAFmwB2AKKAN4ANgCA8gFUAE4FWvoF1AJQSgESMhksWGIBvAMgATQBDgB6BsyOpsoIIARuB9QCEBwV4gLvLwe2AgMi4BPOQsYCvd9WADIXUu5eZwqoCqdeaAC0YTQHMnM9UQAPH6k+yAdy/BZIiQImSwBQ5gBQQzSaNTFWSTYBpwGqKQK38AFtqwBI/wK37gK3rQK3sAK6280C0gK33AK3zxAAUEIAUD9SklKDArekArw5AEQAzAHCO147WTteO1k7XjtZO147WTteO1kDmChYI03AVU0oJqkKbV9GYewMpw3VRMk6ShPcYFJgMxPJLbgUwhXPJVcZPhq9JwYl5VUKDwUt1GYxCC00dhe9AEApaYNCY4ceMQpMHOhTklT5LRwAskujM7ANrRsWREEFSHXuYisWDwojAmSCAmJDXE6wXDchAqH4AmiZAmYKAp+FOBwMAmY8AmYnBG8EgAN/FAN+kzkHOXgYOYM6JCQCbB4CMjc4CwJtyAJtr/CLADRoRiwBaADfAOIASwYHmQyOAP8MwwAOtgJ3MAJ2o0ACeUxEAni7Hl3cRa9G9AJ8QAJ6yQJ9CgJ88UgBSH5kJQAsFklZSlwWGErNAtECAtDNSygDiFADh+dExpEzAvKiXQQDA69Lz0wuJgTQTU1NsAKLQAKK2cIcCB5EaAa4Ao44Ao5dQZiCAo7aAo5deVG1UzYLUtVUhgKT/AKTDQDqAB1VH1WwVdEHLBwplocy4nhnRTw6ApegAu+zWCKpAFomApaQApZ9nQCqWa1aCoJOADwClrYClk9cRVzSApnMApllXMtdCBoCnJw5wzqeApwXAp+cAp65iwAeEDIrEAKd8gKekwC2PmE1YfACntQCoG8BqgKeoCACnk+mY8lkKCYsAiewAiZ/AqD8AqBN2AKmMAKlzwKoAAB+AqfzaH1osgAESmodatICrOQCrK8CrWgCrQMCVx4CVd0CseLYAx9PbJgCsr4OArLpGGzhbWRtSWADJc4Ctl08QG6RAylGArhfArlIFgK5K3hwN3DiAr0aAy2zAzISAr6JcgMDM3ICvhtzI3NQAsPMAsMFc4N0TDZGdOEDPKgDPJsDPcACxX0CxkgCxhGKAshqUgLIRQLJUALJLwJkngLd03h6YniveSZL0QMYpGcDAmH1GfSVJXsMXpNevBICz2wCz20wTFTT9BSgAMeuAs90ASrrA04TfkwGAtwoAtuLAtJQA1JdA1NgAQIDVY2AikABzBfuYUZ2AILPg44C2sgC2d+EEYRKpz0DhqYAMANkD4ZyWvoAVgLfZgLeuXR4AuIw7RUB8zEoAfScAfLTiALr9ALpcXoAAur6AurlAPpIAboC7ooC652Wq5cEAu5AA4XhmHpw4XGiAvMEAGoDjheZlAL3FAORbwOSiAL3mQL52gL4Z5odmqy8OJsfA52EAv77ARwAOp8dn7QDBY4DpmsDptoA0sYDBmuhiaIGCgMMSgFgASACtgNGAJwEgLpoBgC8BGzAEowcggCEDC6kdjoAJAM0C5IKRoABZCgiAIzw3AYBLACkfng9ogigkgNmWAN6AEQCvrkEVqTGAwCsBRbAA+4iQkMCHR072jI2PTbUNsk2RjY5NvA23TZKNiU3EDcZN5I+RTxDRTBCJkK5VBYKFhZfwQCWygU3AJBRHpu+OytgNxa61A40GMsYjsn7BVwFXQVcBV0FaAVdBVwFXQVcBV0FXAVdBVwFXUsaCNyKAK4AAQUHBwKU7oICoW1e7jAEzgPxA+YDwgCkBFDAwADABKzAAOxFLhitA1UFTDeyPkM+bj51QkRCuwTQWWQ8X+0AWBYzsACNA8xwzAGm7EZ/QisoCTAbLDs6fnLfb8H2GccsbgFw13M1HAVkBW/Jxsm9CNRO8E8FDD0FBQw9FkcClOYCoMFegpDfADgcMiA2AJQACB8AsigKAIzIEAJKeBIApY5yPZQIAKQiHb4fvj5BKSRPQrZCOz0oXyxgOywfKAnGbgMClQaCAkILXgdeCD9IIGUgQj5fPoY+dT52Ao5CM0dAX9BTVG9SDzFwWTQAbxBzJF/lOEIQQglCCkKJIAls5AcClQICoKPMODEFxhi6KSAbiyfIRrMjtCgdWCAkPlFBIitCsEJRzAbMAV/OEyQzDg0OAQQEJ36i328/Mk9AybDJsQlq3tDRApUKAkFzXf1d/j9uALYP6hCoFgCTGD8kPsFKQiobrm0+zj0KSD8kPnVCRBwMDyJRTHFgMTJa5rwXQiQ2YfI/JD7BMEJEHGINTw4TOFlIRzwJO0icMQpyPyQ+wzJCRBv6DVgnKB01NgUKj2bwYzMqCoBkznBgEF+zYDIocwRIX+NgHj4HICNfh2C4CwdwFWpTG/lgUhYGAwRfv2Ts8mAaXzVgml/XYIJfuWC4HI1gUF9pYJZgMR6ilQHMAOwLAlDRefC0in4AXAEJA6PjCwc0IamOANMMCAECRQDFNRTZBgd+CwQlRA+r6+gLBDEFBnwUBXgKATIArwAGRAAHA3cDdAN2A3kDdwN9A3oDdQN7A30DfAN4A3oDfQAYEAAlAtYASwMAUAFsAHcKAHcAmgB3AHUAdQB2AHVu8UgAygDAAHcAdQB1AHYAdQALCgB3AAsAmgB3AAsCOwB3AAtu8UgAygDAAHgKAJoAdwB3AHUAdQB2AHUAeAB1AHUAdgB1bvFIAMoAwAALCgCaAHcACwB3AAsCOwB3AAtu8UgAygDAAH4ACwGgALcBpwC6AahdAu0COwLtbvFIAMoAwAALCgCaAu0ACwLtAAsCOwLtAAtu8UgAygDAA24ACwNvAAu0VsQAAzsAABCkjUIpAAsAUIusOggWcgMeBxVsGwL67U/2HlzmWOEeOgALASvuAAseAfpKUpnpGgYJDCIZM6YyARUE9ThqAD5iXQgnAJYJPnOzw0ZAEZxEKsIAkA4DhAHnTAIDxxUDK0lxCQlPYgIvIQVYJQBVqE1GakUAKGYiDToSBA1EtAYAXQJYAIF8GgMHRyAAIAjOe9YncekRAA0KACUrjwE7Ayc6AAYWAqaiKG4McEcqANoN3+Mg9TwCBhIkuCny+JwUQ29L008JluRxu3K+oAdqiHOqFH0AG5SUIfUJ5SxCGfxdipRzqTmT4V5Zb+r1Uo4Vm+NqSSEl2mNvR2JhIa8SpYO6ntdwFXHCWTCK8f2+Hxo7uiG3drDycAuKIMP5bhi06ACnqArH1rz4Rqg//lm6SgJGEVbF9xJHISaR6HxqxSnkw6shDnelHKNEfGUXSJRJ1GcsmtJw25xrZMDK9gXSm1/YMkdX4/6NKYOdtk/NQ3/NnDASjTc3fPjIjW/5sVfVObX2oTDWkr1dF9f3kxBsD3/3aQO8hPfRz+e0uEiJqt1161griu7gz8hDDwtpy+F+BWtefnKHZPAxcZoWbnznhJpy0e842j36bcNzGnIEusgGX0a8ZxsnjcSsPDZ09yZ36fCQbriHeQ72JRMILNl6ePPf2HWoVwgWAm1fb3V2sAY0+B6rAXqSwPBgseVmoqsBTSrm91+XasMYYySI8eeRxH3ZvHkMz3BQ5aJ3iUVbYPNM3/7emRtjlsMgv/9VyTsyt/mK+8fgWeT6SoFaclXqn42dAIsvAarF5vNNWHzKSkKQ/8Hfk5ZWK7r9yliOsooyBjRhfkHP4Q2DkWXQi6FG/9r/IwbmkV5T7JSopHKn1pJwm9tb5Ot0oyN1Z2mPpKXHTxx2nlK08fKk1hEYA8WgVVWL5lgx0iTv+KdojJeU23ZDjmiubXOxVXJKKi2Wjuh2HLZOFLiSC7Tls5SMh4f+Pj6xUSrNjFqLGehRNB8lC0QSLNmkJJx/wSG3MnjE9T1CkPwJI0wH2lfzwETIiVqUxg0dfu5q39Gt+hwdcxkhhNvQ4TyrBceof3Mhs/IxFci1HmHr4FMZgXEEczPiGCx0HRwzAqDq2j9AVm1kwN0mRVLWLylgtoPNapF5cY4Y1wJh/e0BBwZj44YgZrDNqvD/9Hv7GFYdUQeDJuQ3EWI4HaKqavU1XjC/n41kT4L79kqGq0kLhdTZvgP3TA3fS0ozVz+5piZsoOtIvBUFoMKbNcmBL6YxxaUAusHB38XrS8dQMnQwJfUUkpRoGr5AUeWicvBTzyK9g77+yCkf5PAysL7r/JjcZgrbvRpMW9iyaxZvKO6ceZN2EwIxKwVFPuvFuiEPGCoagbMo+SpydLrXqBzNCDGFCrO/rkcwa2xhokQZ5CdZ0AsU3JfSqJ6n5I14YA+P/uAgfhPU84Tlw7cEFfp7AEE8ey4sP12PTt4Cods1GRgDOB5xvyiR5m+Bx8O5nBCNctU8BevfV5A08x6RHd5jcwPTMDSZJOedIZ1cGQ704lxbAzqZOP05ZxaOghzSdvFBHYqomATARyAADK4elP8Ly3IrUZKfWh23Xy20uBUmLS4Pfagu9+oyVa2iPgqRP3F2CTUsvJ7+RYnN8fFZbU/HVvxvcFFDKkiTqV5UBZ3Gz54JAKByi9hkKMZJvuGgcSYXFmw08UyoQyVdfTD1/dMkCHXcTGAKeROgArsvmRrQTLUOXioOHGK2QkjHuoYFgXciZoTJd6Fs5q1QX1G+p/e26hYsEf7QZD1nnIyl/SFkNtYYmmBhpBrxl9WbY0YpHWRuw2Ll/tj9mD8P4snVzJl4F9J+1arVeTb9E5r2ILH04qStjxQNwn3m4YNqxmaNbLAqW2TN6LidwuJRqS+NXbtqxoeDXpxeGWmxzSkWxjkyCkX4NQRme6q5SAcC+M7+9ETfA/EwrzQajKakCwYyeunP6ZFlxU2oMEn1Pz31zeStW74G406ZJFCl1wAXIoUKkWotYEpOuXB1uVNxJ63dpJEqfxBeptwIHNrPz8BllZoIcBoXwgfJ+8VAUnVPvRvexnw0Ma/WiGYuJO5y8QTvEYBigFmhUxY5RqzE8OcywN/8m4UYrlaniJO75XQ6KSo9+tWHlu+hMi0UVdiKQp7NelnoZUzNaIyBPVeOwK6GNp+FfHuPOoyhaWuNvTYFkvxscMQWDh+zeFCFkgwbXftiV23ywJ4+uwRqmg9k3KzwIQpzppt8DBBOMbrqwQM5Gb05sEwdKzMiAqOloaA/lr0KA+1pr0/+HiWoiIjHA/wir2nIuS3PeU/ji3O6ZwoxcR1SZ9FhtLC5S0FIzFhbBWcGVP/KpxOPSiUoAdWUpqKH++6Scz507iCcxYI6rdMBICPJZea7OcmeFw5mObJSiqpjg2UoWNIs+cFhyDSt6geV5qgi3FunmwwDoGSMgerFOZGX1m0dMCYo5XOruxO063dwENK9DbnVM9wYFREzh4vyU1WYYJ/LRRp6oxgjqP/X5a8/4Af6p6NWkQferzBmXme0zY/4nwMJm/wd1tIqSwGz+E3xPEAOoZlJit3XddD7/BT1pllzOx+8bmQtANQ/S6fZexc6qi3W+Q2xcmXTUhuS5mpHQRvcxZUN0S5+PL9lXWUAaRZhEH8hTdAcuNMMCuVNKTEGtSUKNi3O6KhSaTzck8csZ2vWRZ+d7mW8c4IKwXIYd25S/zIftPkwPzufjEvOHWVD1m+FjpDVUTV0DGDuHj6QnaEwLu/dEgdLQOg9E1Sro9XHJ8ykLAwtPu+pxqKDuFexqON1sKQm7rwbE1E68UCfA/erovrTCG+DBSNg0l4goDQvZN6uNlbyLpcZAwj2UclycvLpIZMgv4yRlpb3YuMftozorbcGVHt/VeDV3+Fdf1TP0iuaCsPi2G4XeGhsyF1ubVDxkoJhmniQ0/jSg/eYML9KLfnCFgISWkp91eauR3IQvED0nAPXK+6hPCYs+n3+hCZbiskmVMG2da+0EsZPonUeIY8EbfusQXjsK/eFDaosbPjEfQS0RKG7yj5GG69M7MeO1HmiUYocgygJHL6M1qzUDDwUSmr99V7Sdr2F3JjQAJY+F0yH33Iv3+C9M38eML7gTgmNu/r2bUMiPvpYbZ6v1/IaESirBHNa7mPKn4dEmYg7v/+HQgPN1G79jBQ1+soydfDC2r+h2Bl/KIc5KjMK7OH6nb1jLsNf0EHVe2KBiE51ox636uyG6Lho0t3J34L5QY/ilE3mikaF4HKXG1mG1rCevT1Vv6GavltxoQe/bMrpZvRggnBxSEPEeEzkEdOxTnPXHVjUYdw8JYvjB/o7Eegc3Ma+NUxLLnsK0kJlinPmUHzHGtrk5+CAbVzFOBqpyy3QVUnzTDfC/0XD94/okH+OB+i7g9lolhWIjSnfIb+Eq43ZXOWmwvjyV/qqD+t0e+7mTEM74qP/Ozt8nmC7mRpyu63OB4KnUzFc074SqoyPUAgM+/TJGFo6T44EHnQU4X4z6qannVqgw/U7zCpwcmXV1AubIrvOmkKHazJAR55ePjp5tLBsN8vAqs3NAHdcEHOR2xQ0lsNAFzSUuxFQCFYvXLZJdOj9p4fNq6p0HBGUik2YzaI4xySy91KzhQ0+q1hjxvImRwPRf76tChlRkhRCi74NXZ9qUNeIwP+s5p+3m5nwPdNOHgSLD79n7O9m1n1uDHiMntq4nkYwV5OZ1ENbXxFd4PgrlvavZsyUO4MqYlqqn1O8W/I1dEZq5dXhrbETLaZIbC2Kj/Aa/QM+fqUOHdf0tXAQ1huZ3cmWECWSXy/43j35+Mvq9xws7JKseriZ1pEWKc8qlzNrGPUGcVgOa9cPJYIJsGnJTAUsEcDOEVULO5x0rXBijc1lgXEzQQKhROf8zIV82w8eswc78YX11KYLWQRcgHNJElBxfXr72lS2RBSl07qTKorO2uUDZr3sFhYsvnhLZn0A94KRzJ/7DEGIAhW5ZWFpL8gEwu1aLA9MuWZzNwl8Oze9Y+bX+v9gywRVnoB5I/8kXTXU3141yRLYrIOOz6SOnyHNy4SieqzkBXharjfjqq1q6tklaEbA8Qfm2DaIPs7OTq/nvJBjKfO2H9bH2cCMh1+5gspfycu8f/cuuRmtDjyqZ7uCIMyjdV3a+p3fqmXsRx4C8lujezIFHnQiVTXLXuI1XrwN3+siYYj2HHTvESUx8DlOTXpak9qFRK+L3mgJ1WsD7F4cu1aJoFoYQnu+wGDMOjJM3kiBQWHCcvhJ/HRdxodOQp45YZaOTA22Nb4XKCVxqkbwMYFhzYQYIAnCW8FW14uf98jhUG2zrKhQQ0q0CEq0t5nXyvUyvR8DvD69LU+g3i+HFWQMQ8PqZuHD+sNKAV0+M6EJC0szq7rEr7B5bQ8BcNHzvDMc9eqB5ZCQdTf80Obn4uzjwpYU7SISdtV0QGa9D3Wrh2BDQtpBKxaNFV+/Cy2P/Sv+8s7Ud0Fd74X4+o/TNztWgETUapy+majNQ68Lq3ee0ZO48VEbTZYiH1Co4OlfWef82RWeyUXo7woM03PyapGfikTnQinoNq5z5veLpeMV3HCAMTaZmA1oGLAn7XS3XYsz+XK7VMQsc4XKrmDXOLU/pSXVNUq8dIqTba///3x6LiLS6xs1xuCAYSfcQ3+rQgmu7uvf3THKt5Ooo97TqcbRqxx7EASizaQCBQllG/rYxVapMLgtLbZS64w1MDBMXX+PQpBKNwqUKOf2DDRDUXQf9EhOS0Qj4nTmlA8dzSLz/G1d+Ud8MTy/6ghhdiLpeerGY/UlDOfiuqFsMUU5/UYlP+BAmgRLuNpvrUaLlVkrqDievNVEAwF+4CoM1MZTmjxjJMsKJq+u8Zd7tNCUFy6LiyYXRJQ4VyvEQFFaCGKsxIwQkk7EzZ6LTJq2hUuPhvAW+gQnSG6J+MszC+7QCRHcnqDdyNRJ6T9xyS87A6MDutbzKGvGktpbXqtzWtXb9HsfK2cBMomjN9a4y+TaJLnXxAeX/HWzmf4cR4vALt/P4w4qgKY04ml4ZdLOinFYS6cup3G/1ie4+t1eOnpBNlqGqs75ilzkT4+DsZQxNvaSKJ//6zIbbk/M7LOhFmRc/1R+kBtz7JFGdZm/COotIdvQoXpTqP/1uqEUmCb/QWoGLMwO5ANcHzxdY48IGP5+J+zKOTBFZ4Pid+GTM+Wq12MV/H86xEJptBa6T+p3kgpwLedManBHC2GgNrFpoN2xnrMz9WFWX/8/ygSBkavq2Uv7FdCsLEYLu9LLIvAU0bNRDtzYl+/vXmjpIvuJFYjmI0im6QEYqnIeMsNjXG4vIutIGHijeAG/9EDBozKV5cldkHbLxHh25vT+ZEzbhXlqvpzKJwcEgfNwLAKFeo0/pvEE10XDB+EXRTXtSzJozQKFFAJhMxYkVaCW+E9AL7tMeU8acxidHqzb6lX4691UsDpy/LLRmT+epgW56+5Cw8tB4kMUv6s9lh3eRKbyGs+H/4mQMaYzPTf2OOdokEn+zzgvoD3FqNKk8QqGAXVsqcGdXrT62fSPkR2vROFi68A6se86UxRUk4cajfPyCC4G5wDhD+zNq4jodQ4u4n/m37Lr36n4LIAAsVr02dFi9AiwA81MYs2rm4eDlDNmdMRvEKRHfBwW5DdMNp0jPFZMeARqF/wL4XBfd+EMLBfMzpH5GH6NaW+1vrvMdg+VxDzatk3MXgO3ro3P/DpcC6+Mo4MySJhKJhSR01SGGGp5hPWmrrUgrv3lDnP+HhcI3nt3YqBoVAVTBAQT5iuhTg8nvPtd8ZeYj6w1x6RqGUBrSku7+N1+BaasZvjTk64RoIDlL8brpEcJx3OmY7jLoZsswdtmhfC/G21llXhITOwmvRDDeTTPbyASOa16cF5/A1fZAidJpqju3wYAy9avPR1ya6eNp9K8XYrrtuxlqi+bDKwlfrYdR0RRiKRVTLOH85+ZY7XSmzRpfZBJjaTa81VDcJHpZnZnSQLASGYW9l51ZV/h7eVzTi3Hv6hUsgc/51AqJRTkpbFVLXXszoBL8nBX0u/0jBLT8nH+fJePbrwURT58OY+UieRjd1vs04w0VG5VN2U6MoGZkQzKN/ptz0Q366dxoTGmj7i1NQGHi9GgnquXFYdrCfZBmeb7s0T6yrdlZH5cZuwHFyIJ/kAtGsTg0xH5taAAq44BAk1CPk9KVVbqQzrCUiFdF/6gtlPQ8bHHc1G1W92MXGZ5HEHftyLYs8mbD/9xYRUWkHmlM0zC2ilJlnNgV4bfALpQghxOUoZL7VTqtCHIaQSXm+YUMnpkXybnV+A6xlm2CVy8fn0Xlm2XRa0+zzOa21JWWmixfiPMSCZ7qA4rS93VN3pkpF1s5TonQjisHf7iU9ZGvUPOAKZcR1pbeVf/Ul7OhepGCaId9wOtqo7pJ7yLcBZ0pFkOF28y4zEI/kcUNmutBHaQpBdNM8vjCS6HZRokkeo88TBAjGyG7SR+6vUgTcyK9Imalj0kuxz0wmK+byQU11AiJFk/ya5dNduRClcnU64yGu/ieWSeOos1t3ep+RPIWQ2pyTYVbZltTbsb7NiwSi3AV+8KLWk7LxCnfZUetEM8ThnsSoGH38/nyAwFguJp8FjvlHtcWZuU4hPva0rHfr0UhOOJ/F6vS62FW7KzkmRll2HEc7oUq4fyi5T70Vl7YVIfsPHUCdHesf9Lk7WNVWO75JDkYbMI8TOW8JKVtLY9d6UJRITO8oKo0xS+o99Yy04iniGHAaGj88kEWgwv0OrHdY/nr76DOGNS59hXCGXzTKUvDl9iKpLSWYN1lxIeyywdNpTkhay74w2jFT6NS8qkjo5CxA1yfSYwp6AJIZNKIeEK5PJAW7ORgWgwp0VgzYpqovMrWxbu+DGZ6Lhie1RAqpzm8VUzKJOH3mCzWuTOLsN3VT/dv2eeYe9UjbR8YTBsLz7q60VN1sU51k+um1f8JxD5pPhbhSC8rRaB454tmh6YUWrJI3+GWY0qeWioj/tbkYITOkJaeuGt4JrJvHA+l0Gu7kY7XOaa05alMnRWVCXqFgLIwSY4uF59Ue5SU4QKuc/HamDxbr0x6csCetXGoP7Qn1Bk/J9DsynO/UD6iZ1Hyrz+jit0hDCwi/E9OjgKTbB3ZQKQ/0ZOvevfNHG0NK4Aj3Cp7NpRk07RT1i/S0EL93Ag8GRgKI9CfpajKyK6+Jj/PI1KO5/85VAwz2AwzP8FTBb075IxCXv6T9RVvWT2tUaqxDS92zrGUbWzUYk9mSs82pECH+fkqsDt93VW++4YsR/dHCYcQSYTO/KaBMDj9LSD/J/+z20Kq8XvZUAIHtm9hRPP3ItbuAu2Hm5lkPs92pd7kCxgRs0xOVBnZ13ccdA0aunrwv9SdqElJRC3g+oCu+nXyCgmXUs9yMjTMAIHfxZV+aPKcZeUBWt057Xo85Ks1Ir5gzEHCWqZEhrLZMuF11ziGtFQUds/EESajhagzcKsxamcSZxGth4UII+adPhQkUnx2WyN+4YWR+r3f8MnkyGFuR4zjzxJS8WsQYR5PTyRaD9ixa6Mh741nBHbzfjXHskGDq179xaRNrCIB1z1xRfWfjqw2pHc1zk9xlPpL8sQWAIuETZZhbnmL54rceXVNRvUiKrrqIkeogsl0XXb17ylNb0f4GA9Wd44vffEG8FSZGHEL2fbaTGRcSiCeA8PmA/f6Hz8HCS76fXUHwgwkzSwlI71ekZ7Fapmlk/KC+Hs8hUcw3N2LN5LhkVYyizYFl/uPeVP5lsoJHhhfWvvSWruCUW1ZcJOeuTbrDgywJ/qG07gZJplnTvLcYdNaH0KMYOYMGX+rB4NGPFmQsNaIwlWrfCezxre8zXBrsMT+edVLbLqN1BqB76JH4BvZTqUIMfGwPGEn+EnmTV86fPBaYbFL3DFEhjB45CewkXEAtJxk4/Ms2pPXnaRqdky0HOYdcUcE2zcXq4vaIvW2/v0nHFJH2XXe22ueDmq/18XGtELSq85j9X8q0tcNSSKJIX8FTuJF/Pf8j5PhqG2u+osvsLxYrvvfeVJL+4tkcXcr9JV7v0ERmj/X6fM3NC4j6dS1+9Umr2oPavqiAydTZPLMNRGY23LO9zAVDly7jD+70G5TPPLdhRIl4WxcYjLnM+SNcJ26FOrkrISUtPObIz5Zb3AG612krnpy15RMW+1cQjlnWFI6538qky9axd2oJmHIHP08KyP0ubGO+TQNOYuv2uh17yCIvR8VcStw7o1g0NM60sk+8Tq7YfIBJrtp53GkvzXH7OA0p8/n/u1satf/VJhtR1l8Wa6Gmaug7haSpaCaYQax6ta0mkutlb+eAOSG1aobM81D9A4iS1RRlzBBoVX6tU1S6WE2N9ORY6DfeLRC4l9Rvr5h95XDWB2mR1d4WFudpsgVYwiTwT31ljskD8ZyDOlm5DkGh9N/UB/0AI5Xvb8ZBmai2hQ4BWMqFwYnzxwB26YHSOv9WgY3JXnvoN+2R4rqGVh/LLDMtpFP+SpMGJNWvbIl5SOodbCczW2RKleksPoUeGEzrjtKHVdtZA+kfqO+rVx/iclCqwoopepvJpSTDjT+b9GWylGRF8EDbGlw6eUzmJM95Ovoz+kwLX3c2fTjFeYEsE7vUZm3mqdGJuKh2w9/QGSaqRHs99aScGOdDqkFcACoqdbBoQqqjamhH6Q9ng39JCg3lrGJwd50Qk9ovnqBTr8MME7Ps2wiVfygUmPoUBJJfJWX5Nda0nuncbFkA==')); -} -exports.getData = getData; -//# sourceMappingURL=include.js.map - -/***/ }), - -/***/ 33306: -/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { - - -/** - * MIT License - * - * Copyright (c) 2021 Andrew Raffensperger - * - * 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 is a near carbon-copy of the original source (link below) with the - * TypeScript typings added and a few tweaks to make it ES3-compatible. - * - * See: https://github.com/adraffy/ens-normalize.js - */ -Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.ens_normalize = exports.ens_normalize_post_check = void 0; -var strings_1 = __nccwpck_require__(95578); -var include_js_1 = __nccwpck_require__(83877); -var r = (0, include_js_1.getData)(); -var decoder_js_1 = __nccwpck_require__(6213); -// @TODO: This should be lazily loaded -var VALID = new Set((0, decoder_js_1.read_member_array)(r)); -var IGNORED = new Set((0, decoder_js_1.read_member_array)(r)); -var MAPPED = (0, decoder_js_1.read_mapped_map)(r); -var EMOJI_ROOT = (0, decoder_js_1.read_emoji_trie)(r); -//const NFC_CHECK = new Set(read_member_array(r, Array.from(VALID.values()).sort((a, b) => a - b))); -//const STOP = 0x2E; -var HYPHEN = 0x2D; -var UNDERSCORE = 0x5F; -function explode_cp(name) { - return (0, strings_1.toUtf8CodePoints)(name); -} -function filter_fe0f(cps) { - return cps.filter(function (cp) { return cp != 0xFE0F; }); -} -function ens_normalize_post_check(name) { - for (var _i = 0, _a = name.split('.'); _i < _a.length; _i++) { - var label = _a[_i]; - var cps = explode_cp(label); - try { - for (var i = cps.lastIndexOf(UNDERSCORE) - 1; i >= 0; i--) { - if (cps[i] !== UNDERSCORE) { - throw new Error("underscore only allowed at start"); - } - } - if (cps.length >= 4 && cps.every(function (cp) { return cp < 0x80; }) && cps[2] === HYPHEN && cps[3] === HYPHEN) { - throw new Error("invalid label extension"); - } - } - catch (err) { - throw new Error("Invalid label \"" + label + "\": " + err.message); - } - } - return name; -} -exports.ens_normalize_post_check = ens_normalize_post_check; -function ens_normalize(name) { - return ens_normalize_post_check(normalize(name, filter_fe0f)); -} -exports.ens_normalize = ens_normalize; -function normalize(name, emoji_filter) { - var input = explode_cp(name).reverse(); // flip for pop - var output = []; - while (input.length) { - var emoji = consume_emoji_reversed(input); - if (emoji) { - output.push.apply(output, emoji_filter(emoji)); - continue; - } - var cp = input.pop(); - if (VALID.has(cp)) { - output.push(cp); - continue; - } - if (IGNORED.has(cp)) { - continue; - } - var cps = MAPPED[cp]; - if (cps) { - output.push.apply(output, cps); - continue; - } - throw new Error("Disallowed codepoint: 0x" + cp.toString(16).toUpperCase()); - } - return ens_normalize_post_check(nfc(String.fromCodePoint.apply(String, output))); -} -function nfc(s) { - return s.normalize('NFC'); -} -function consume_emoji_reversed(cps, eaten) { - var _a; - var node = EMOJI_ROOT; - var emoji; - var saved; - var stack = []; - var pos = cps.length; - if (eaten) - eaten.length = 0; // clear input buffer (if needed) - var _loop_1 = function () { - var cp = cps[--pos]; - node = (_a = node.branches.find(function (x) { return x.set.has(cp); })) === null || _a === void 0 ? void 0 : _a.node; - if (!node) - return "break"; - if (node.save) { // remember - saved = cp; - } - else if (node.check) { // check exclusion - if (cp === saved) - return "break"; - } - stack.push(cp); - if (node.fe0f) { - stack.push(0xFE0F); - if (pos > 0 && cps[pos - 1] == 0xFE0F) - pos--; // consume optional FE0F - } - if (node.valid) { // this is a valid emoji (so far) - emoji = stack.slice(); // copy stack - if (node.valid == 2) - emoji.splice(1, 1); // delete FE0F at position 1 (RGI ZWJ don't follow spec!) - if (eaten) - eaten.push.apply(eaten, cps.slice(pos).reverse()); // copy input (if needed) - cps.length = pos; // truncate - } - }; - while (pos) { - var state_1 = _loop_1(); - if (state_1 === "break") - break; - } - return emoji; -} -//# sourceMappingURL=lib.js.map - -/***/ }), - -/***/ 68095: -/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { - - -Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.id = void 0; -var keccak256_1 = __nccwpck_require__(15815); -var strings_1 = __nccwpck_require__(95578); -function id(text) { - return (0, keccak256_1.keccak256)((0, strings_1.toUtf8Bytes)(text)); -} -exports.id = id; -//# sourceMappingURL=id.js.map - -/***/ }), - -/***/ 39144: -/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { - - -Object.defineProperty(exports, "__esModule", ({ value: true })); -exports._TypedDataEncoder = exports.hashMessage = exports.messagePrefix = exports.ensNormalize = exports.isValidName = exports.namehash = exports.dnsEncode = exports.id = void 0; -var id_1 = __nccwpck_require__(68095); -Object.defineProperty(exports, "id", ({ enumerable: true, get: function () { return id_1.id; } })); -var namehash_1 = __nccwpck_require__(53229); -Object.defineProperty(exports, "dnsEncode", ({ enumerable: true, get: function () { return namehash_1.dnsEncode; } })); -Object.defineProperty(exports, "isValidName", ({ enumerable: true, get: function () { return namehash_1.isValidName; } })); -Object.defineProperty(exports, "namehash", ({ enumerable: true, get: function () { return namehash_1.namehash; } })); -var message_1 = __nccwpck_require__(28123); -Object.defineProperty(exports, "hashMessage", ({ enumerable: true, get: function () { return message_1.hashMessage; } })); -Object.defineProperty(exports, "messagePrefix", ({ enumerable: true, get: function () { return message_1.messagePrefix; } })); -var namehash_2 = __nccwpck_require__(53229); -Object.defineProperty(exports, "ensNormalize", ({ enumerable: true, get: function () { return namehash_2.ensNormalize; } })); -var typed_data_1 = __nccwpck_require__(59085); -Object.defineProperty(exports, "_TypedDataEncoder", ({ enumerable: true, get: function () { return typed_data_1.TypedDataEncoder; } })); -//# sourceMappingURL=index.js.map - -/***/ }), - -/***/ 28123: -/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { - - -Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.hashMessage = exports.messagePrefix = void 0; -var bytes_1 = __nccwpck_require__(69691); -var keccak256_1 = __nccwpck_require__(15815); -var strings_1 = __nccwpck_require__(95578); -exports.messagePrefix = "\x19Ethereum Signed Message:\n"; -function hashMessage(message) { - if (typeof (message) === "string") { - message = (0, strings_1.toUtf8Bytes)(message); - } - return (0, keccak256_1.keccak256)((0, bytes_1.concat)([ - (0, strings_1.toUtf8Bytes)(exports.messagePrefix), - (0, strings_1.toUtf8Bytes)(String(message.length)), - message - ])); -} -exports.hashMessage = hashMessage; -//# sourceMappingURL=message.js.map - -/***/ }), - -/***/ 53229: -/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { - - -Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.dnsEncode = exports.namehash = exports.isValidName = exports.ensNormalize = void 0; -var bytes_1 = __nccwpck_require__(69691); -var strings_1 = __nccwpck_require__(95578); -var keccak256_1 = __nccwpck_require__(15815); -var logger_1 = __nccwpck_require__(8772); -var _version_1 = __nccwpck_require__(11909); -var logger = new logger_1.Logger(_version_1.version); -var lib_1 = __nccwpck_require__(33306); -var Zeros = new Uint8Array(32); -Zeros.fill(0); -function checkComponent(comp) { - if (comp.length === 0) { - throw new Error("invalid ENS name; empty component"); - } - return comp; -} -function ensNameSplit(name) { - var bytes = (0, strings_1.toUtf8Bytes)((0, lib_1.ens_normalize)(name)); - var comps = []; - if (name.length === 0) { - return comps; - } - var last = 0; - for (var i = 0; i < bytes.length; i++) { - var d = bytes[i]; - // A separator (i.e. "."); copy this component - if (d === 0x2e) { - comps.push(checkComponent(bytes.slice(last, i))); - last = i + 1; - } - } - // There was a stray separator at the end of the name - if (last >= bytes.length) { - throw new Error("invalid ENS name; empty component"); - } - comps.push(checkComponent(bytes.slice(last))); - return comps; -} -function ensNormalize(name) { - return ensNameSplit(name).map(function (comp) { return (0, strings_1.toUtf8String)(comp); }).join("."); -} -exports.ensNormalize = ensNormalize; -function isValidName(name) { - try { - return (ensNameSplit(name).length !== 0); - } - catch (error) { } - return false; -} -exports.isValidName = isValidName; -function namehash(name) { - /* istanbul ignore if */ - if (typeof (name) !== "string") { - logger.throwArgumentError("invalid ENS name; not a string", "name", name); - } - var result = Zeros; - var comps = ensNameSplit(name); - while (comps.length) { - result = (0, keccak256_1.keccak256)((0, bytes_1.concat)([result, (0, keccak256_1.keccak256)(comps.pop())])); - } - return (0, bytes_1.hexlify)(result); -} -exports.namehash = namehash; -function dnsEncode(name) { - return (0, bytes_1.hexlify)((0, bytes_1.concat)(ensNameSplit(name).map(function (comp) { - // DNS does not allow components over 63 bytes in length - if (comp.length > 63) { - throw new Error("invalid DNS encoded entry; length exceeds 63 bytes"); - } - var bytes = new Uint8Array(comp.length + 1); - bytes.set(comp, 1); - bytes[0] = bytes.length - 1; - return bytes; - }))) + "00"; -} -exports.dnsEncode = dnsEncode; -//# sourceMappingURL=namehash.js.map - -/***/ }), - -/***/ 59085: -/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) { - - -var __awaiter = (this && this.__awaiter) || function (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, reject) { - function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } - function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } - function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); -}; -var __generator = (this && this.__generator) || function (thisArg, body) { - var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g; - return g = { next: verb(0), "throw": verb(1), "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 (_) 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 }; - } -}; -Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.TypedDataEncoder = void 0; -var address_1 = __nccwpck_require__(10056); -var bignumber_1 = __nccwpck_require__(14763); -var bytes_1 = __nccwpck_require__(69691); -var keccak256_1 = __nccwpck_require__(15815); -var properties_1 = __nccwpck_require__(54145); -var logger_1 = __nccwpck_require__(8772); -var _version_1 = __nccwpck_require__(11909); -var logger = new logger_1.Logger(_version_1.version); -var id_1 = __nccwpck_require__(68095); -var padding = new Uint8Array(32); -padding.fill(0); -var NegativeOne = bignumber_1.BigNumber.from(-1); -var Zero = bignumber_1.BigNumber.from(0); -var One = bignumber_1.BigNumber.from(1); -var MaxUint256 = bignumber_1.BigNumber.from("0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"); -function hexPadRight(value) { - var bytes = (0, bytes_1.arrayify)(value); - var padOffset = bytes.length % 32; - if (padOffset) { - return (0, bytes_1.hexConcat)([bytes, padding.slice(padOffset)]); - } - return (0, bytes_1.hexlify)(bytes); -} -var hexTrue = (0, bytes_1.hexZeroPad)(One.toHexString(), 32); -var hexFalse = (0, bytes_1.hexZeroPad)(Zero.toHexString(), 32); -var domainFieldTypes = { - name: "string", - version: "string", - chainId: "uint256", - verifyingContract: "address", - salt: "bytes32" -}; -var domainFieldNames = [ - "name", "version", "chainId", "verifyingContract", "salt" -]; -function checkString(key) { - return function (value) { - if (typeof (value) !== "string") { - logger.throwArgumentError("invalid domain value for " + JSON.stringify(key), "domain." + key, value); - } - return value; - }; -} -var domainChecks = { - name: checkString("name"), - version: checkString("version"), - chainId: function (value) { - try { - return bignumber_1.BigNumber.from(value).toString(); - } - catch (error) { } - return logger.throwArgumentError("invalid domain value for \"chainId\"", "domain.chainId", value); - }, - verifyingContract: function (value) { - try { - return (0, address_1.getAddress)(value).toLowerCase(); - } - catch (error) { } - return logger.throwArgumentError("invalid domain value \"verifyingContract\"", "domain.verifyingContract", value); - }, - salt: function (value) { - try { - var bytes = (0, bytes_1.arrayify)(value); - if (bytes.length !== 32) { - throw new Error("bad length"); - } - return (0, bytes_1.hexlify)(bytes); - } - catch (error) { } - return logger.throwArgumentError("invalid domain value \"salt\"", "domain.salt", value); - } -}; -function getBaseEncoder(type) { - // intXX and uintXX - { - var match = type.match(/^(u?)int(\d*)$/); - if (match) { - var signed = (match[1] === ""); - var width = parseInt(match[2] || "256"); - if (width % 8 !== 0 || width > 256 || (match[2] && match[2] !== String(width))) { - logger.throwArgumentError("invalid numeric width", "type", type); - } - var boundsUpper_1 = MaxUint256.mask(signed ? (width - 1) : width); - var boundsLower_1 = signed ? boundsUpper_1.add(One).mul(NegativeOne) : Zero; - return function (value) { - var v = bignumber_1.BigNumber.from(value); - if (v.lt(boundsLower_1) || v.gt(boundsUpper_1)) { - logger.throwArgumentError("value out-of-bounds for " + type, "value", value); - } - return (0, bytes_1.hexZeroPad)(v.toTwos(256).toHexString(), 32); - }; - } - } - // bytesXX - { - var match = type.match(/^bytes(\d+)$/); - if (match) { - var width_1 = parseInt(match[1]); - if (width_1 === 0 || width_1 > 32 || match[1] !== String(width_1)) { - logger.throwArgumentError("invalid bytes width", "type", type); - } - return function (value) { - var bytes = (0, bytes_1.arrayify)(value); - if (bytes.length !== width_1) { - logger.throwArgumentError("invalid length for " + type, "value", value); - } - return hexPadRight(value); - }; - } - } - switch (type) { - case "address": return function (value) { - return (0, bytes_1.hexZeroPad)((0, address_1.getAddress)(value), 32); - }; - case "bool": return function (value) { - return ((!value) ? hexFalse : hexTrue); - }; - case "bytes": return function (value) { - return (0, keccak256_1.keccak256)(value); - }; - case "string": return function (value) { - return (0, id_1.id)(value); - }; - } - return null; -} -function encodeType(name, fields) { - return name + "(" + fields.map(function (_a) { - var name = _a.name, type = _a.type; - return (type + " " + name); - }).join(",") + ")"; -} -var TypedDataEncoder = /** @class */ (function () { - function TypedDataEncoder(types) { - (0, properties_1.defineReadOnly)(this, "types", Object.freeze((0, properties_1.deepCopy)(types))); - (0, properties_1.defineReadOnly)(this, "_encoderCache", {}); - (0, properties_1.defineReadOnly)(this, "_types", {}); - // Link struct types to their direct child structs - var links = {}; - // Link structs to structs which contain them as a child - var parents = {}; - // Link all subtypes within a given struct - var subtypes = {}; - Object.keys(types).forEach(function (type) { - links[type] = {}; - parents[type] = []; - subtypes[type] = {}; - }); - var _loop_1 = function (name_1) { - var uniqueNames = {}; - types[name_1].forEach(function (field) { - // Check each field has a unique name - if (uniqueNames[field.name]) { - logger.throwArgumentError("duplicate variable name " + JSON.stringify(field.name) + " in " + JSON.stringify(name_1), "types", types); - } - uniqueNames[field.name] = true; - // Get the base type (drop any array specifiers) - var baseType = field.type.match(/^([^\x5b]*)(\x5b|$)/)[1]; - if (baseType === name_1) { - logger.throwArgumentError("circular type reference to " + JSON.stringify(baseType), "types", types); - } - // Is this a base encoding type? - var encoder = getBaseEncoder(baseType); - if (encoder) { - return; - } - if (!parents[baseType]) { - logger.throwArgumentError("unknown type " + JSON.stringify(baseType), "types", types); - } - // Add linkage - parents[baseType].push(name_1); - links[name_1][baseType] = true; - }); - }; - for (var name_1 in types) { - _loop_1(name_1); - } - // Deduce the primary type - var primaryTypes = Object.keys(parents).filter(function (n) { return (parents[n].length === 0); }); - if (primaryTypes.length === 0) { - logger.throwArgumentError("missing primary type", "types", types); - } - else if (primaryTypes.length > 1) { - logger.throwArgumentError("ambiguous primary types or unused types: " + primaryTypes.map(function (t) { return (JSON.stringify(t)); }).join(", "), "types", types); - } - (0, properties_1.defineReadOnly)(this, "primaryType", primaryTypes[0]); - // Check for circular type references - function checkCircular(type, found) { - if (found[type]) { - logger.throwArgumentError("circular type reference to " + JSON.stringify(type), "types", types); - } - found[type] = true; - Object.keys(links[type]).forEach(function (child) { - if (!parents[child]) { - return; - } - // Recursively check children - checkCircular(child, found); - // Mark all ancestors as having this decendant - Object.keys(found).forEach(function (subtype) { - subtypes[subtype][child] = true; - }); - }); - delete found[type]; - } - checkCircular(this.primaryType, {}); - // Compute each fully describe type - for (var name_2 in subtypes) { - var st = Object.keys(subtypes[name_2]); - st.sort(); - this._types[name_2] = encodeType(name_2, types[name_2]) + st.map(function (t) { return encodeType(t, types[t]); }).join(""); - } - } - TypedDataEncoder.prototype.getEncoder = function (type) { - var encoder = this._encoderCache[type]; - if (!encoder) { - encoder = this._encoderCache[type] = this._getEncoder(type); - } - return encoder; - }; - TypedDataEncoder.prototype._getEncoder = function (type) { - var _this = this; - // Basic encoder type (address, bool, uint256, etc) - { - var encoder = getBaseEncoder(type); - if (encoder) { - return encoder; - } - } - // Array - var match = type.match(/^(.*)(\x5b(\d*)\x5d)$/); - if (match) { - var subtype_1 = match[1]; - var subEncoder_1 = this.getEncoder(subtype_1); - var length_1 = parseInt(match[3]); - return function (value) { - if (length_1 >= 0 && value.length !== length_1) { - logger.throwArgumentError("array length mismatch; expected length ${ arrayLength }", "value", value); - } - var result = value.map(subEncoder_1); - if (_this._types[subtype_1]) { - result = result.map(keccak256_1.keccak256); - } - return (0, keccak256_1.keccak256)((0, bytes_1.hexConcat)(result)); - }; - } - // Struct - var fields = this.types[type]; - if (fields) { - var encodedType_1 = (0, id_1.id)(this._types[type]); - return function (value) { - var values = fields.map(function (_a) { - var name = _a.name, type = _a.type; - var result = _this.getEncoder(type)(value[name]); - if (_this._types[type]) { - return (0, keccak256_1.keccak256)(result); - } - return result; - }); - values.unshift(encodedType_1); - return (0, bytes_1.hexConcat)(values); - }; - } - return logger.throwArgumentError("unknown type: " + type, "type", type); - }; - TypedDataEncoder.prototype.encodeType = function (name) { - var result = this._types[name]; - if (!result) { - logger.throwArgumentError("unknown type: " + JSON.stringify(name), "name", name); - } - return result; - }; - TypedDataEncoder.prototype.encodeData = function (type, value) { - return this.getEncoder(type)(value); - }; - TypedDataEncoder.prototype.hashStruct = function (name, value) { - return (0, keccak256_1.keccak256)(this.encodeData(name, value)); - }; - TypedDataEncoder.prototype.encode = function (value) { - return this.encodeData(this.primaryType, value); - }; - TypedDataEncoder.prototype.hash = function (value) { - return this.hashStruct(this.primaryType, value); - }; - TypedDataEncoder.prototype._visit = function (type, value, callback) { - var _this = this; - // Basic encoder type (address, bool, uint256, etc) - { - var encoder = getBaseEncoder(type); - if (encoder) { - return callback(type, value); - } - } - // Array - var match = type.match(/^(.*)(\x5b(\d*)\x5d)$/); - if (match) { - var subtype_2 = match[1]; - var length_2 = parseInt(match[3]); - if (length_2 >= 0 && value.length !== length_2) { - logger.throwArgumentError("array length mismatch; expected length ${ arrayLength }", "value", value); - } - return value.map(function (v) { return _this._visit(subtype_2, v, callback); }); - } - // Struct - var fields = this.types[type]; - if (fields) { - return fields.reduce(function (accum, _a) { - var name = _a.name, type = _a.type; - accum[name] = _this._visit(type, value[name], callback); - return accum; - }, {}); - } - return logger.throwArgumentError("unknown type: " + type, "type", type); - }; - TypedDataEncoder.prototype.visit = function (value, callback) { - return this._visit(this.primaryType, value, callback); - }; - TypedDataEncoder.from = function (types) { - return new TypedDataEncoder(types); - }; - TypedDataEncoder.getPrimaryType = function (types) { - return TypedDataEncoder.from(types).primaryType; - }; - TypedDataEncoder.hashStruct = function (name, types, value) { - return TypedDataEncoder.from(types).hashStruct(name, value); - }; - TypedDataEncoder.hashDomain = function (domain) { - var domainFields = []; - for (var name_3 in domain) { - var type = domainFieldTypes[name_3]; - if (!type) { - logger.throwArgumentError("invalid typed-data domain key: " + JSON.stringify(name_3), "domain", domain); - } - domainFields.push({ name: name_3, type: type }); - } - domainFields.sort(function (a, b) { - return domainFieldNames.indexOf(a.name) - domainFieldNames.indexOf(b.name); - }); - return TypedDataEncoder.hashStruct("EIP712Domain", { EIP712Domain: domainFields }, domain); - }; - TypedDataEncoder.encode = function (domain, types, value) { - return (0, bytes_1.hexConcat)([ - "0x1901", - TypedDataEncoder.hashDomain(domain), - TypedDataEncoder.from(types).hash(value) - ]); - }; - TypedDataEncoder.hash = function (domain, types, value) { - return (0, keccak256_1.keccak256)(TypedDataEncoder.encode(domain, types, value)); - }; - // Replaces all address types with ENS names with their looked up address - TypedDataEncoder.resolveNames = function (domain, types, value, resolveName) { - return __awaiter(this, void 0, void 0, function () { - var ensCache, encoder, _a, _b, _i, name_4, _c, _d; - return __generator(this, function (_e) { - switch (_e.label) { - case 0: - // Make a copy to isolate it from the object passed in - domain = (0, properties_1.shallowCopy)(domain); - ensCache = {}; - // Do we need to look up the domain's verifyingContract? - if (domain.verifyingContract && !(0, bytes_1.isHexString)(domain.verifyingContract, 20)) { - ensCache[domain.verifyingContract] = "0x"; - } - encoder = TypedDataEncoder.from(types); - // Get a list of all the addresses - encoder.visit(value, function (type, value) { - if (type === "address" && !(0, bytes_1.isHexString)(value, 20)) { - ensCache[value] = "0x"; - } - return value; - }); - _a = []; - for (_b in ensCache) - _a.push(_b); - _i = 0; - _e.label = 1; - case 1: - if (!(_i < _a.length)) return [3 /*break*/, 4]; - name_4 = _a[_i]; - _c = ensCache; - _d = name_4; - return [4 /*yield*/, resolveName(name_4)]; - case 2: - _c[_d] = _e.sent(); - _e.label = 3; - case 3: - _i++; - return [3 /*break*/, 1]; - case 4: - // Replace the domain verifyingContract if needed - if (domain.verifyingContract && ensCache[domain.verifyingContract]) { - domain.verifyingContract = ensCache[domain.verifyingContract]; - } - // Replace all ENS names with their address - value = encoder.visit(value, function (type, value) { - if (type === "address" && ensCache[value]) { - return ensCache[value]; - } - return value; - }); - return [2 /*return*/, { domain: domain, value: value }]; - } - }); - }); - }; - TypedDataEncoder.getPayload = function (domain, types, value) { - // Validate the domain fields - TypedDataEncoder.hashDomain(domain); - // Derive the EIP712Domain Struct reference type - var domainValues = {}; - var domainTypes = []; - domainFieldNames.forEach(function (name) { - var value = domain[name]; - if (value == null) { - return; - } - domainValues[name] = domainChecks[name](value); - domainTypes.push({ name: name, type: domainFieldTypes[name] }); - }); - var encoder = TypedDataEncoder.from(types); - var typesWithDomain = (0, properties_1.shallowCopy)(types); - if (typesWithDomain.EIP712Domain) { - logger.throwArgumentError("types must not contain EIP712Domain type", "types.EIP712Domain", types); - } - else { - typesWithDomain.EIP712Domain = domainTypes; - } - // Validate the data structures and types - encoder.encode(value); - return { - types: typesWithDomain, - domain: domainValues, - primaryType: encoder.primaryType, - message: encoder.visit(value, function (type, value) { - // bytes - if (type.match(/^bytes(\d*)/)) { - return (0, bytes_1.hexlify)((0, bytes_1.arrayify)(value)); - } - // uint or int - if (type.match(/^u?int/)) { - return bignumber_1.BigNumber.from(value).toString(); - } - switch (type) { - case "address": - return value.toLowerCase(); - case "bool": - return !!value; - case "string": - if (typeof (value) !== "string") { - logger.throwArgumentError("invalid string", "value", value); - } - return value; - } - return logger.throwArgumentError("unsupported type", "type", type); - }) - }; - }; - return TypedDataEncoder; -}()); -exports.TypedDataEncoder = TypedDataEncoder; -//# sourceMappingURL=typed-data.js.map - -/***/ }), - -/***/ 63509: -/***/ ((__unused_webpack_module, exports) => { - - -Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.version = void 0; -exports.version = "hdnode/5.7.0"; -//# sourceMappingURL=_version.js.map - -/***/ }), - -/***/ 34456: -/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { - - -Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.getAccountPath = exports.isValidMnemonic = exports.entropyToMnemonic = exports.mnemonicToEntropy = exports.mnemonicToSeed = exports.HDNode = exports.defaultPath = void 0; -var basex_1 = __nccwpck_require__(13807); -var bytes_1 = __nccwpck_require__(69691); -var bignumber_1 = __nccwpck_require__(14763); -var strings_1 = __nccwpck_require__(95578); -var pbkdf2_1 = __nccwpck_require__(33545); -var properties_1 = __nccwpck_require__(54145); -var signing_key_1 = __nccwpck_require__(8681); -var sha2_1 = __nccwpck_require__(16892); -var transactions_1 = __nccwpck_require__(55701); -var wordlists_1 = __nccwpck_require__(34242); -var logger_1 = __nccwpck_require__(8772); -var _version_1 = __nccwpck_require__(63509); -var logger = new logger_1.Logger(_version_1.version); -var N = bignumber_1.BigNumber.from("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"); -// "Bitcoin seed" -var MasterSecret = (0, strings_1.toUtf8Bytes)("Bitcoin seed"); -var HardenedBit = 0x80000000; -// Returns a byte with the MSB bits set -function getUpperMask(bits) { - return ((1 << bits) - 1) << (8 - bits); -} -// Returns a byte with the LSB bits set -function getLowerMask(bits) { - return (1 << bits) - 1; -} -function bytes32(value) { - return (0, bytes_1.hexZeroPad)((0, bytes_1.hexlify)(value), 32); -} -function base58check(data) { - return basex_1.Base58.encode((0, bytes_1.concat)([data, (0, bytes_1.hexDataSlice)((0, sha2_1.sha256)((0, sha2_1.sha256)(data)), 0, 4)])); -} -function getWordlist(wordlist) { - if (wordlist == null) { - return wordlists_1.wordlists["en"]; - } - if (typeof (wordlist) === "string") { - var words = wordlists_1.wordlists[wordlist]; - if (words == null) { - logger.throwArgumentError("unknown locale", "wordlist", wordlist); - } - return words; - } - return wordlist; -} -var _constructorGuard = {}; -exports.defaultPath = "m/44'/60'/0'/0/0"; -; -var HDNode = /** @class */ (function () { - /** - * This constructor should not be called directly. - * - * Please use: - * - fromMnemonic - * - fromSeed - */ - function HDNode(constructorGuard, privateKey, publicKey, parentFingerprint, chainCode, index, depth, mnemonicOrPath) { - /* istanbul ignore if */ - if (constructorGuard !== _constructorGuard) { - throw new Error("HDNode constructor cannot be called directly"); - } - if (privateKey) { - var signingKey = new signing_key_1.SigningKey(privateKey); - (0, properties_1.defineReadOnly)(this, "privateKey", signingKey.privateKey); - (0, properties_1.defineReadOnly)(this, "publicKey", signingKey.compressedPublicKey); - } - else { - (0, properties_1.defineReadOnly)(this, "privateKey", null); - (0, properties_1.defineReadOnly)(this, "publicKey", (0, bytes_1.hexlify)(publicKey)); - } - (0, properties_1.defineReadOnly)(this, "parentFingerprint", parentFingerprint); - (0, properties_1.defineReadOnly)(this, "fingerprint", (0, bytes_1.hexDataSlice)((0, sha2_1.ripemd160)((0, sha2_1.sha256)(this.publicKey)), 0, 4)); - (0, properties_1.defineReadOnly)(this, "address", (0, transactions_1.computeAddress)(this.publicKey)); - (0, properties_1.defineReadOnly)(this, "chainCode", chainCode); - (0, properties_1.defineReadOnly)(this, "index", index); - (0, properties_1.defineReadOnly)(this, "depth", depth); - if (mnemonicOrPath == null) { - // From a source that does not preserve the path (e.g. extended keys) - (0, properties_1.defineReadOnly)(this, "mnemonic", null); - (0, properties_1.defineReadOnly)(this, "path", null); - } - else if (typeof (mnemonicOrPath) === "string") { - // From a source that does not preserve the mnemonic (e.g. neutered) - (0, properties_1.defineReadOnly)(this, "mnemonic", null); - (0, properties_1.defineReadOnly)(this, "path", mnemonicOrPath); - } - else { - // From a fully qualified source - (0, properties_1.defineReadOnly)(this, "mnemonic", mnemonicOrPath); - (0, properties_1.defineReadOnly)(this, "path", mnemonicOrPath.path); - } - } - Object.defineProperty(HDNode.prototype, "extendedKey", { - get: function () { - // We only support the mainnet values for now, but if anyone needs - // testnet values, let me know. I believe current sentiment is that - // we should always use mainnet, and use BIP-44 to derive the network - // - Mainnet: public=0x0488B21E, private=0x0488ADE4 - // - Testnet: public=0x043587CF, private=0x04358394 - if (this.depth >= 256) { - throw new Error("Depth too large!"); - } - return base58check((0, bytes_1.concat)([ - ((this.privateKey != null) ? "0x0488ADE4" : "0x0488B21E"), - (0, bytes_1.hexlify)(this.depth), - this.parentFingerprint, - (0, bytes_1.hexZeroPad)((0, bytes_1.hexlify)(this.index), 4), - this.chainCode, - ((this.privateKey != null) ? (0, bytes_1.concat)(["0x00", this.privateKey]) : this.publicKey), - ])); - }, - enumerable: false, - configurable: true - }); - HDNode.prototype.neuter = function () { - return new HDNode(_constructorGuard, null, this.publicKey, this.parentFingerprint, this.chainCode, this.index, this.depth, this.path); - }; - HDNode.prototype._derive = function (index) { - if (index > 0xffffffff) { - throw new Error("invalid index - " + String(index)); - } - // Base path - var path = this.path; - if (path) { - path += "/" + (index & ~HardenedBit); - } - var data = new Uint8Array(37); - if (index & HardenedBit) { - if (!this.privateKey) { - throw new Error("cannot derive child of neutered node"); - } - // Data = 0x00 || ser_256(k_par) - data.set((0, bytes_1.arrayify)(this.privateKey), 1); - // Hardened path - if (path) { - path += "'"; - } - } - else { - // Data = ser_p(point(k_par)) - data.set((0, bytes_1.arrayify)(this.publicKey)); - } - // Data += ser_32(i) - for (var i = 24; i >= 0; i -= 8) { - data[33 + (i >> 3)] = ((index >> (24 - i)) & 0xff); - } - var I = (0, bytes_1.arrayify)((0, sha2_1.computeHmac)(sha2_1.SupportedAlgorithm.sha512, this.chainCode, data)); - var IL = I.slice(0, 32); - var IR = I.slice(32); - // The private key - var ki = null; - // The public key - var Ki = null; - if (this.privateKey) { - ki = bytes32(bignumber_1.BigNumber.from(IL).add(this.privateKey).mod(N)); - } - else { - var ek = new signing_key_1.SigningKey((0, bytes_1.hexlify)(IL)); - Ki = ek._addPoint(this.publicKey); - } - var mnemonicOrPath = path; - var srcMnemonic = this.mnemonic; - if (srcMnemonic) { - mnemonicOrPath = Object.freeze({ - phrase: srcMnemonic.phrase, - path: path, - locale: (srcMnemonic.locale || "en") - }); - } - return new HDNode(_constructorGuard, ki, Ki, this.fingerprint, bytes32(IR), index, this.depth + 1, mnemonicOrPath); - }; - HDNode.prototype.derivePath = function (path) { - var components = path.split("/"); - if (components.length === 0 || (components[0] === "m" && this.depth !== 0)) { - throw new Error("invalid path - " + path); - } - if (components[0] === "m") { - components.shift(); - } - var result = this; - for (var i = 0; i < components.length; i++) { - var component = components[i]; - if (component.match(/^[0-9]+'$/)) { - var index = parseInt(component.substring(0, component.length - 1)); - if (index >= HardenedBit) { - throw new Error("invalid path index - " + component); - } - result = result._derive(HardenedBit + index); - } - else if (component.match(/^[0-9]+$/)) { - var index = parseInt(component); - if (index >= HardenedBit) { - throw new Error("invalid path index - " + component); - } - result = result._derive(index); - } - else { - throw new Error("invalid path component - " + component); - } - } - return result; - }; - HDNode._fromSeed = function (seed, mnemonic) { - var seedArray = (0, bytes_1.arrayify)(seed); - if (seedArray.length < 16 || seedArray.length > 64) { - throw new Error("invalid seed"); - } - var I = (0, bytes_1.arrayify)((0, sha2_1.computeHmac)(sha2_1.SupportedAlgorithm.sha512, MasterSecret, seedArray)); - return new HDNode(_constructorGuard, bytes32(I.slice(0, 32)), null, "0x00000000", bytes32(I.slice(32)), 0, 0, mnemonic); - }; - HDNode.fromMnemonic = function (mnemonic, password, wordlist) { - // If a locale name was passed in, find the associated wordlist - wordlist = getWordlist(wordlist); - // Normalize the case and spacing in the mnemonic (throws if the mnemonic is invalid) - mnemonic = entropyToMnemonic(mnemonicToEntropy(mnemonic, wordlist), wordlist); - return HDNode._fromSeed(mnemonicToSeed(mnemonic, password), { - phrase: mnemonic, - path: "m", - locale: wordlist.locale - }); - }; - HDNode.fromSeed = function (seed) { - return HDNode._fromSeed(seed, null); - }; - HDNode.fromExtendedKey = function (extendedKey) { - var bytes = basex_1.Base58.decode(extendedKey); - if (bytes.length !== 82 || base58check(bytes.slice(0, 78)) !== extendedKey) { - logger.throwArgumentError("invalid extended key", "extendedKey", "[REDACTED]"); - } - var depth = bytes[4]; - var parentFingerprint = (0, bytes_1.hexlify)(bytes.slice(5, 9)); - var index = parseInt((0, bytes_1.hexlify)(bytes.slice(9, 13)).substring(2), 16); - var chainCode = (0, bytes_1.hexlify)(bytes.slice(13, 45)); - var key = bytes.slice(45, 78); - switch ((0, bytes_1.hexlify)(bytes.slice(0, 4))) { - // Public Key - case "0x0488b21e": - case "0x043587cf": - return new HDNode(_constructorGuard, null, (0, bytes_1.hexlify)(key), parentFingerprint, chainCode, index, depth, null); - // Private Key - case "0x0488ade4": - case "0x04358394 ": - if (key[0] !== 0) { - break; - } - return new HDNode(_constructorGuard, (0, bytes_1.hexlify)(key.slice(1)), null, parentFingerprint, chainCode, index, depth, null); - } - return logger.throwArgumentError("invalid extended key", "extendedKey", "[REDACTED]"); - }; - return HDNode; -}()); -exports.HDNode = HDNode; -function mnemonicToSeed(mnemonic, password) { - if (!password) { - password = ""; - } - var salt = (0, strings_1.toUtf8Bytes)("mnemonic" + password, strings_1.UnicodeNormalizationForm.NFKD); - return (0, pbkdf2_1.pbkdf2)((0, strings_1.toUtf8Bytes)(mnemonic, strings_1.UnicodeNormalizationForm.NFKD), salt, 2048, 64, "sha512"); -} -exports.mnemonicToSeed = mnemonicToSeed; -function mnemonicToEntropy(mnemonic, wordlist) { - wordlist = getWordlist(wordlist); - logger.checkNormalize(); - var words = wordlist.split(mnemonic); - if ((words.length % 3) !== 0) { - throw new Error("invalid mnemonic"); - } - var entropy = (0, bytes_1.arrayify)(new Uint8Array(Math.ceil(11 * words.length / 8))); - var offset = 0; - for (var i = 0; i < words.length; i++) { - var index = wordlist.getWordIndex(words[i].normalize("NFKD")); - if (index === -1) { - throw new Error("invalid mnemonic"); - } - for (var bit = 0; bit < 11; bit++) { - if (index & (1 << (10 - bit))) { - entropy[offset >> 3] |= (1 << (7 - (offset % 8))); - } - offset++; - } - } - var entropyBits = 32 * words.length / 3; - var checksumBits = words.length / 3; - var checksumMask = getUpperMask(checksumBits); - var checksum = (0, bytes_1.arrayify)((0, sha2_1.sha256)(entropy.slice(0, entropyBits / 8)))[0] & checksumMask; - if (checksum !== (entropy[entropy.length - 1] & checksumMask)) { - throw new Error("invalid checksum"); - } - return (0, bytes_1.hexlify)(entropy.slice(0, entropyBits / 8)); -} -exports.mnemonicToEntropy = mnemonicToEntropy; -function entropyToMnemonic(entropy, wordlist) { - wordlist = getWordlist(wordlist); - entropy = (0, bytes_1.arrayify)(entropy); - if ((entropy.length % 4) !== 0 || entropy.length < 16 || entropy.length > 32) { - throw new Error("invalid entropy"); - } - var indices = [0]; - var remainingBits = 11; - for (var i = 0; i < entropy.length; i++) { - // Consume the whole byte (with still more to go) - if (remainingBits > 8) { - indices[indices.length - 1] <<= 8; - indices[indices.length - 1] |= entropy[i]; - remainingBits -= 8; - // This byte will complete an 11-bit index - } - else { - indices[indices.length - 1] <<= remainingBits; - indices[indices.length - 1] |= entropy[i] >> (8 - remainingBits); - // Start the next word - indices.push(entropy[i] & getLowerMask(8 - remainingBits)); - remainingBits += 3; - } - } - // Compute the checksum bits - var checksumBits = entropy.length / 4; - var checksum = (0, bytes_1.arrayify)((0, sha2_1.sha256)(entropy))[0] & getUpperMask(checksumBits); - // Shift the checksum into the word indices - indices[indices.length - 1] <<= checksumBits; - indices[indices.length - 1] |= (checksum >> (8 - checksumBits)); - return wordlist.join(indices.map(function (index) { return wordlist.getWord(index); })); -} -exports.entropyToMnemonic = entropyToMnemonic; -function isValidMnemonic(mnemonic, wordlist) { - try { - mnemonicToEntropy(mnemonic, wordlist); - return true; - } - catch (error) { } - return false; -} -exports.isValidMnemonic = isValidMnemonic; -function getAccountPath(index) { - if (typeof (index) !== "number" || index < 0 || index >= HardenedBit || index % 1) { - logger.throwArgumentError("invalid account index", "index", index); - } - return "m/44'/60'/" + index + "'/0/0"; -} -exports.getAccountPath = getAccountPath; -//# sourceMappingURL=index.js.map - -/***/ }), - -/***/ 51850: -/***/ ((__unused_webpack_module, exports) => { - - -Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.version = void 0; -exports.version = "json-wallets/5.7.0"; -//# sourceMappingURL=_version.js.map - -/***/ }), - -/***/ 2707: -/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) { - - -var __extends = (this && this.__extends) || (function () { - var extendStatics = function (d, b) { - extendStatics = Object.setPrototypeOf || - ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || - function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; }; - return extendStatics(d, b); - }; - return function (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 __()); - }; -})(); -var __importDefault = (this && this.__importDefault) || function (mod) { - return (mod && mod.__esModule) ? mod : { "default": mod }; -}; -Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.decrypt = exports.CrowdsaleAccount = void 0; -var aes_js_1 = __importDefault(__nccwpck_require__(33692)); -var address_1 = __nccwpck_require__(10056); -var bytes_1 = __nccwpck_require__(69691); -var keccak256_1 = __nccwpck_require__(15815); -var pbkdf2_1 = __nccwpck_require__(33545); -var strings_1 = __nccwpck_require__(95578); -var properties_1 = __nccwpck_require__(54145); -var logger_1 = __nccwpck_require__(8772); -var _version_1 = __nccwpck_require__(51850); -var logger = new logger_1.Logger(_version_1.version); -var utils_1 = __nccwpck_require__(71724); -var CrowdsaleAccount = /** @class */ (function (_super) { - __extends(CrowdsaleAccount, _super); - function CrowdsaleAccount() { - return _super !== null && _super.apply(this, arguments) || this; - } - CrowdsaleAccount.prototype.isCrowdsaleAccount = function (value) { - return !!(value && value._isCrowdsaleAccount); - }; - return CrowdsaleAccount; -}(properties_1.Description)); -exports.CrowdsaleAccount = CrowdsaleAccount; -// See: https://github.com/ethereum/pyethsaletool -function decrypt(json, password) { - var data = JSON.parse(json); - password = (0, utils_1.getPassword)(password); - // Ethereum Address - var ethaddr = (0, address_1.getAddress)((0, utils_1.searchPath)(data, "ethaddr")); - // Encrypted Seed - var encseed = (0, utils_1.looseArrayify)((0, utils_1.searchPath)(data, "encseed")); - if (!encseed || (encseed.length % 16) !== 0) { - logger.throwArgumentError("invalid encseed", "json", json); - } - var key = (0, bytes_1.arrayify)((0, pbkdf2_1.pbkdf2)(password, password, 2000, 32, "sha256")).slice(0, 16); - var iv = encseed.slice(0, 16); - var encryptedSeed = encseed.slice(16); - // Decrypt the seed - var aesCbc = new aes_js_1.default.ModeOfOperation.cbc(key, iv); - var seed = aes_js_1.default.padding.pkcs7.strip((0, bytes_1.arrayify)(aesCbc.decrypt(encryptedSeed))); - // This wallet format is weird... Convert the binary encoded hex to a string. - var seedHex = ""; - for (var i = 0; i < seed.length; i++) { - seedHex += String.fromCharCode(seed[i]); - } - var seedHexBytes = (0, strings_1.toUtf8Bytes)(seedHex); - var privateKey = (0, keccak256_1.keccak256)(seedHexBytes); - return new CrowdsaleAccount({ - _isCrowdsaleAccount: true, - address: ethaddr, - privateKey: privateKey - }); -} -exports.decrypt = decrypt; -//# sourceMappingURL=crowdsale.js.map - -/***/ }), - -/***/ 79393: -/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { - - -Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.decryptJsonWalletSync = exports.decryptJsonWallet = exports.getJsonWalletAddress = exports.isKeystoreWallet = exports.isCrowdsaleWallet = exports.encryptKeystore = exports.decryptKeystoreSync = exports.decryptKeystore = exports.decryptCrowdsale = void 0; -var crowdsale_1 = __nccwpck_require__(2707); -Object.defineProperty(exports, "decryptCrowdsale", ({ enumerable: true, get: function () { return crowdsale_1.decrypt; } })); -var inspect_1 = __nccwpck_require__(30625); -Object.defineProperty(exports, "getJsonWalletAddress", ({ enumerable: true, get: function () { return inspect_1.getJsonWalletAddress; } })); -Object.defineProperty(exports, "isCrowdsaleWallet", ({ enumerable: true, get: function () { return inspect_1.isCrowdsaleWallet; } })); -Object.defineProperty(exports, "isKeystoreWallet", ({ enumerable: true, get: function () { return inspect_1.isKeystoreWallet; } })); -var keystore_1 = __nccwpck_require__(21525); -Object.defineProperty(exports, "decryptKeystore", ({ enumerable: true, get: function () { return keystore_1.decrypt; } })); -Object.defineProperty(exports, "decryptKeystoreSync", ({ enumerable: true, get: function () { return keystore_1.decryptSync; } })); -Object.defineProperty(exports, "encryptKeystore", ({ enumerable: true, get: function () { return keystore_1.encrypt; } })); -function decryptJsonWallet(json, password, progressCallback) { - if ((0, inspect_1.isCrowdsaleWallet)(json)) { - if (progressCallback) { - progressCallback(0); - } - var account = (0, crowdsale_1.decrypt)(json, password); - if (progressCallback) { - progressCallback(1); - } - return Promise.resolve(account); - } - if ((0, inspect_1.isKeystoreWallet)(json)) { - return (0, keystore_1.decrypt)(json, password, progressCallback); - } - return Promise.reject(new Error("invalid JSON wallet")); -} -exports.decryptJsonWallet = decryptJsonWallet; -function decryptJsonWalletSync(json, password) { - if ((0, inspect_1.isCrowdsaleWallet)(json)) { - return (0, crowdsale_1.decrypt)(json, password); - } - if ((0, inspect_1.isKeystoreWallet)(json)) { - return (0, keystore_1.decryptSync)(json, password); - } - throw new Error("invalid JSON wallet"); -} -exports.decryptJsonWalletSync = decryptJsonWalletSync; -//# sourceMappingURL=index.js.map - -/***/ }), - -/***/ 30625: -/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { - - -Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.getJsonWalletAddress = exports.isKeystoreWallet = exports.isCrowdsaleWallet = void 0; -var address_1 = __nccwpck_require__(10056); -function isCrowdsaleWallet(json) { - var data = null; - try { - data = JSON.parse(json); - } - catch (error) { - return false; - } - return (data.encseed && data.ethaddr); -} -exports.isCrowdsaleWallet = isCrowdsaleWallet; -function isKeystoreWallet(json) { - var data = null; - try { - data = JSON.parse(json); - } - catch (error) { - return false; - } - if (!data.version || parseInt(data.version) !== data.version || parseInt(data.version) !== 3) { - return false; - } - // @TODO: Put more checks to make sure it has kdf, iv and all that good stuff - return true; -} -exports.isKeystoreWallet = isKeystoreWallet; -//export function isJsonWallet(json: string): boolean { -// return (isSecretStorageWallet(json) || isCrowdsaleWallet(json)); -//} -function getJsonWalletAddress(json) { - if (isCrowdsaleWallet(json)) { - try { - return (0, address_1.getAddress)(JSON.parse(json).ethaddr); - } - catch (error) { - return null; - } - } - if (isKeystoreWallet(json)) { - try { - return (0, address_1.getAddress)(JSON.parse(json).address); - } - catch (error) { - return null; - } - } - return null; -} -exports.getJsonWalletAddress = getJsonWalletAddress; -//# sourceMappingURL=inspect.js.map - -/***/ }), - -/***/ 21525: -/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) { - - -var __extends = (this && this.__extends) || (function () { - var extendStatics = function (d, b) { - extendStatics = Object.setPrototypeOf || - ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || - function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; }; - return extendStatics(d, b); - }; - return function (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 __()); - }; -})(); -var __awaiter = (this && this.__awaiter) || function (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, reject) { - function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } - function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } - function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); -}; -var __generator = (this && this.__generator) || function (thisArg, body) { - var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g; - return g = { next: verb(0), "throw": verb(1), "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 (_) 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 }; - } -}; -var __importDefault = (this && this.__importDefault) || function (mod) { - return (mod && mod.__esModule) ? mod : { "default": mod }; -}; -Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.encrypt = exports.decrypt = exports.decryptSync = exports.KeystoreAccount = void 0; -var aes_js_1 = __importDefault(__nccwpck_require__(33692)); -var scrypt_js_1 = __importDefault(__nccwpck_require__(32847)); -var address_1 = __nccwpck_require__(10056); -var bytes_1 = __nccwpck_require__(69691); -var hdnode_1 = __nccwpck_require__(34456); -var keccak256_1 = __nccwpck_require__(15815); -var pbkdf2_1 = __nccwpck_require__(33545); -var random_1 = __nccwpck_require__(4364); -var properties_1 = __nccwpck_require__(54145); -var transactions_1 = __nccwpck_require__(55701); -var utils_1 = __nccwpck_require__(71724); -var logger_1 = __nccwpck_require__(8772); -var _version_1 = __nccwpck_require__(51850); -var logger = new logger_1.Logger(_version_1.version); -// Exported Types -function hasMnemonic(value) { - return (value != null && value.mnemonic && value.mnemonic.phrase); -} -var KeystoreAccount = /** @class */ (function (_super) { - __extends(KeystoreAccount, _super); - function KeystoreAccount() { - return _super !== null && _super.apply(this, arguments) || this; - } - KeystoreAccount.prototype.isKeystoreAccount = function (value) { - return !!(value && value._isKeystoreAccount); - }; - return KeystoreAccount; -}(properties_1.Description)); -exports.KeystoreAccount = KeystoreAccount; -function _decrypt(data, key, ciphertext) { - var cipher = (0, utils_1.searchPath)(data, "crypto/cipher"); - if (cipher === "aes-128-ctr") { - var iv = (0, utils_1.looseArrayify)((0, utils_1.searchPath)(data, "crypto/cipherparams/iv")); - var counter = new aes_js_1.default.Counter(iv); - var aesCtr = new aes_js_1.default.ModeOfOperation.ctr(key, counter); - return (0, bytes_1.arrayify)(aesCtr.decrypt(ciphertext)); - } - return null; -} -function _getAccount(data, key) { - var ciphertext = (0, utils_1.looseArrayify)((0, utils_1.searchPath)(data, "crypto/ciphertext")); - var computedMAC = (0, bytes_1.hexlify)((0, keccak256_1.keccak256)((0, bytes_1.concat)([key.slice(16, 32), ciphertext]))).substring(2); - if (computedMAC !== (0, utils_1.searchPath)(data, "crypto/mac").toLowerCase()) { - throw new Error("invalid password"); - } - var privateKey = _decrypt(data, key.slice(0, 16), ciphertext); - if (!privateKey) { - logger.throwError("unsupported cipher", logger_1.Logger.errors.UNSUPPORTED_OPERATION, { - operation: "decrypt" - }); - } - var mnemonicKey = key.slice(32, 64); - var address = (0, transactions_1.computeAddress)(privateKey); - if (data.address) { - var check = data.address.toLowerCase(); - if (check.substring(0, 2) !== "0x") { - check = "0x" + check; - } - if ((0, address_1.getAddress)(check) !== address) { - throw new Error("address mismatch"); - } - } - var account = { - _isKeystoreAccount: true, - address: address, - privateKey: (0, bytes_1.hexlify)(privateKey) - }; - // Version 0.1 x-ethers metadata must contain an encrypted mnemonic phrase - if ((0, utils_1.searchPath)(data, "x-ethers/version") === "0.1") { - var mnemonicCiphertext = (0, utils_1.looseArrayify)((0, utils_1.searchPath)(data, "x-ethers/mnemonicCiphertext")); - var mnemonicIv = (0, utils_1.looseArrayify)((0, utils_1.searchPath)(data, "x-ethers/mnemonicCounter")); - var mnemonicCounter = new aes_js_1.default.Counter(mnemonicIv); - var mnemonicAesCtr = new aes_js_1.default.ModeOfOperation.ctr(mnemonicKey, mnemonicCounter); - var path = (0, utils_1.searchPath)(data, "x-ethers/path") || hdnode_1.defaultPath; - var locale = (0, utils_1.searchPath)(data, "x-ethers/locale") || "en"; - var entropy = (0, bytes_1.arrayify)(mnemonicAesCtr.decrypt(mnemonicCiphertext)); - try { - var mnemonic = (0, hdnode_1.entropyToMnemonic)(entropy, locale); - var node = hdnode_1.HDNode.fromMnemonic(mnemonic, null, locale).derivePath(path); - if (node.privateKey != account.privateKey) { - throw new Error("mnemonic mismatch"); - } - account.mnemonic = node.mnemonic; - } - catch (error) { - // If we don't have the locale wordlist installed to - // read this mnemonic, just bail and don't set the - // mnemonic - if (error.code !== logger_1.Logger.errors.INVALID_ARGUMENT || error.argument !== "wordlist") { - throw error; - } - } - } - return new KeystoreAccount(account); -} -function pbkdf2Sync(passwordBytes, salt, count, dkLen, prfFunc) { - return (0, bytes_1.arrayify)((0, pbkdf2_1.pbkdf2)(passwordBytes, salt, count, dkLen, prfFunc)); -} -function pbkdf2(passwordBytes, salt, count, dkLen, prfFunc) { - return Promise.resolve(pbkdf2Sync(passwordBytes, salt, count, dkLen, prfFunc)); -} -function _computeKdfKey(data, password, pbkdf2Func, scryptFunc, progressCallback) { - var passwordBytes = (0, utils_1.getPassword)(password); - var kdf = (0, utils_1.searchPath)(data, "crypto/kdf"); - if (kdf && typeof (kdf) === "string") { - var throwError = function (name, value) { - return logger.throwArgumentError("invalid key-derivation function parameters", name, value); - }; - if (kdf.toLowerCase() === "scrypt") { - var salt = (0, utils_1.looseArrayify)((0, utils_1.searchPath)(data, "crypto/kdfparams/salt")); - var N = parseInt((0, utils_1.searchPath)(data, "crypto/kdfparams/n")); - var r = parseInt((0, utils_1.searchPath)(data, "crypto/kdfparams/r")); - var p = parseInt((0, utils_1.searchPath)(data, "crypto/kdfparams/p")); - // Check for all required parameters - if (!N || !r || !p) { - throwError("kdf", kdf); - } - // Make sure N is a power of 2 - if ((N & (N - 1)) !== 0) { - throwError("N", N); - } - var dkLen = parseInt((0, utils_1.searchPath)(data, "crypto/kdfparams/dklen")); - if (dkLen !== 32) { - throwError("dklen", dkLen); - } - return scryptFunc(passwordBytes, salt, N, r, p, 64, progressCallback); - } - else if (kdf.toLowerCase() === "pbkdf2") { - var salt = (0, utils_1.looseArrayify)((0, utils_1.searchPath)(data, "crypto/kdfparams/salt")); - var prfFunc = null; - var prf = (0, utils_1.searchPath)(data, "crypto/kdfparams/prf"); - if (prf === "hmac-sha256") { - prfFunc = "sha256"; - } - else if (prf === "hmac-sha512") { - prfFunc = "sha512"; - } - else { - throwError("prf", prf); - } - var count = parseInt((0, utils_1.searchPath)(data, "crypto/kdfparams/c")); - var dkLen = parseInt((0, utils_1.searchPath)(data, "crypto/kdfparams/dklen")); - if (dkLen !== 32) { - throwError("dklen", dkLen); - } - return pbkdf2Func(passwordBytes, salt, count, dkLen, prfFunc); - } - } - return logger.throwArgumentError("unsupported key-derivation function", "kdf", kdf); -} -function decryptSync(json, password) { - var data = JSON.parse(json); - var key = _computeKdfKey(data, password, pbkdf2Sync, scrypt_js_1.default.syncScrypt); - return _getAccount(data, key); -} -exports.decryptSync = decryptSync; -function decrypt(json, password, progressCallback) { - return __awaiter(this, void 0, void 0, function () { - var data, key; - return __generator(this, function (_a) { - switch (_a.label) { - case 0: - data = JSON.parse(json); - return [4 /*yield*/, _computeKdfKey(data, password, pbkdf2, scrypt_js_1.default.scrypt, progressCallback)]; - case 1: - key = _a.sent(); - return [2 /*return*/, _getAccount(data, key)]; - } - }); - }); -} -exports.decrypt = decrypt; -function encrypt(account, password, options, progressCallback) { - try { - // Check the address matches the private key - if ((0, address_1.getAddress)(account.address) !== (0, transactions_1.computeAddress)(account.privateKey)) { - throw new Error("address/privateKey mismatch"); - } - // Check the mnemonic (if any) matches the private key - if (hasMnemonic(account)) { - var mnemonic = account.mnemonic; - var node = hdnode_1.HDNode.fromMnemonic(mnemonic.phrase, null, mnemonic.locale).derivePath(mnemonic.path || hdnode_1.defaultPath); - if (node.privateKey != account.privateKey) { - throw new Error("mnemonic mismatch"); - } - } - } - catch (e) { - return Promise.reject(e); - } - // The options are optional, so adjust the call as needed - if (typeof (options) === "function" && !progressCallback) { - progressCallback = options; - options = {}; - } - if (!options) { - options = {}; - } - var privateKey = (0, bytes_1.arrayify)(account.privateKey); - var passwordBytes = (0, utils_1.getPassword)(password); - var entropy = null; - var path = null; - var locale = null; - if (hasMnemonic(account)) { - var srcMnemonic = account.mnemonic; - entropy = (0, bytes_1.arrayify)((0, hdnode_1.mnemonicToEntropy)(srcMnemonic.phrase, srcMnemonic.locale || "en")); - path = srcMnemonic.path || hdnode_1.defaultPath; - locale = srcMnemonic.locale || "en"; - } - var client = options.client; - if (!client) { - client = "ethers.js"; - } - // Check/generate the salt - var salt = null; - if (options.salt) { - salt = (0, bytes_1.arrayify)(options.salt); - } - else { - salt = (0, random_1.randomBytes)(32); - ; - } - // Override initialization vector - var iv = null; - if (options.iv) { - iv = (0, bytes_1.arrayify)(options.iv); - if (iv.length !== 16) { - throw new Error("invalid iv"); - } - } - else { - iv = (0, random_1.randomBytes)(16); - } - // Override the uuid - var uuidRandom = null; - if (options.uuid) { - uuidRandom = (0, bytes_1.arrayify)(options.uuid); - if (uuidRandom.length !== 16) { - throw new Error("invalid uuid"); - } - } - else { - uuidRandom = (0, random_1.randomBytes)(16); - } - // Override the scrypt password-based key derivation function parameters - var N = (1 << 17), r = 8, p = 1; - if (options.scrypt) { - if (options.scrypt.N) { - N = options.scrypt.N; - } - if (options.scrypt.r) { - r = options.scrypt.r; - } - if (options.scrypt.p) { - p = options.scrypt.p; - } - } - // We take 64 bytes: - // - 32 bytes As normal for the Web3 secret storage (derivedKey, macPrefix) - // - 32 bytes AES key to encrypt mnemonic with (required here to be Ethers Wallet) - return scrypt_js_1.default.scrypt(passwordBytes, salt, N, r, p, 64, progressCallback).then(function (key) { - key = (0, bytes_1.arrayify)(key); - // This will be used to encrypt the wallet (as per Web3 secret storage) - var derivedKey = key.slice(0, 16); - var macPrefix = key.slice(16, 32); - // This will be used to encrypt the mnemonic phrase (if any) - var mnemonicKey = key.slice(32, 64); - // Encrypt the private key - var counter = new aes_js_1.default.Counter(iv); - var aesCtr = new aes_js_1.default.ModeOfOperation.ctr(derivedKey, counter); - var ciphertext = (0, bytes_1.arrayify)(aesCtr.encrypt(privateKey)); - // Compute the message authentication code, used to check the password - var mac = (0, keccak256_1.keccak256)((0, bytes_1.concat)([macPrefix, ciphertext])); - // See: https://github.com/ethereum/wiki/wiki/Web3-Secret-Storage-Definition - var data = { - address: account.address.substring(2).toLowerCase(), - id: (0, utils_1.uuidV4)(uuidRandom), - version: 3, - crypto: { - cipher: "aes-128-ctr", - cipherparams: { - iv: (0, bytes_1.hexlify)(iv).substring(2), - }, - ciphertext: (0, bytes_1.hexlify)(ciphertext).substring(2), - kdf: "scrypt", - kdfparams: { - salt: (0, bytes_1.hexlify)(salt).substring(2), - n: N, - dklen: 32, - p: p, - r: r - }, - mac: mac.substring(2) - } - }; - // If we have a mnemonic, encrypt it into the JSON wallet - if (entropy) { - var mnemonicIv = (0, random_1.randomBytes)(16); - var mnemonicCounter = new aes_js_1.default.Counter(mnemonicIv); - var mnemonicAesCtr = new aes_js_1.default.ModeOfOperation.ctr(mnemonicKey, mnemonicCounter); - var mnemonicCiphertext = (0, bytes_1.arrayify)(mnemonicAesCtr.encrypt(entropy)); - var now = new Date(); - var timestamp = (now.getUTCFullYear() + "-" + - (0, utils_1.zpad)(now.getUTCMonth() + 1, 2) + "-" + - (0, utils_1.zpad)(now.getUTCDate(), 2) + "T" + - (0, utils_1.zpad)(now.getUTCHours(), 2) + "-" + - (0, utils_1.zpad)(now.getUTCMinutes(), 2) + "-" + - (0, utils_1.zpad)(now.getUTCSeconds(), 2) + ".0Z"); - data["x-ethers"] = { - client: client, - gethFilename: ("UTC--" + timestamp + "--" + data.address), - mnemonicCounter: (0, bytes_1.hexlify)(mnemonicIv).substring(2), - mnemonicCiphertext: (0, bytes_1.hexlify)(mnemonicCiphertext).substring(2), - path: path, - locale: locale, - version: "0.1" - }; - } - return JSON.stringify(data); - }); -} -exports.encrypt = encrypt; -//# sourceMappingURL=keystore.js.map - -/***/ }), - -/***/ 71724: -/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { - - -Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.uuidV4 = exports.searchPath = exports.getPassword = exports.zpad = exports.looseArrayify = void 0; -var bytes_1 = __nccwpck_require__(69691); -var strings_1 = __nccwpck_require__(95578); -function looseArrayify(hexString) { - if (typeof (hexString) === 'string' && hexString.substring(0, 2) !== '0x') { - hexString = '0x' + hexString; - } - return (0, bytes_1.arrayify)(hexString); -} -exports.looseArrayify = looseArrayify; -function zpad(value, length) { - value = String(value); - while (value.length < length) { - value = '0' + value; - } - return value; -} -exports.zpad = zpad; -function getPassword(password) { - if (typeof (password) === 'string') { - return (0, strings_1.toUtf8Bytes)(password, strings_1.UnicodeNormalizationForm.NFKC); - } - return (0, bytes_1.arrayify)(password); -} -exports.getPassword = getPassword; -function searchPath(object, path) { - var currentChild = object; - var comps = path.toLowerCase().split('/'); - for (var i = 0; i < comps.length; i++) { - // Search for a child object with a case-insensitive matching key - var matchingChild = null; - for (var key in currentChild) { - if (key.toLowerCase() === comps[i]) { - matchingChild = currentChild[key]; - break; - } - } - // Didn't find one. :'( - if (matchingChild === null) { - return null; - } - // Now check this child... - currentChild = matchingChild; - } - return currentChild; -} -exports.searchPath = searchPath; -// See: https://www.ietf.org/rfc/rfc4122.txt (Section 4.4) -function uuidV4(randomBytes) { - var bytes = (0, bytes_1.arrayify)(randomBytes); - // Section: 4.1.3: - // - time_hi_and_version[12:16] = 0b0100 - bytes[6] = (bytes[6] & 0x0f) | 0x40; - // Section 4.4 - // - clock_seq_hi_and_reserved[6] = 0b0 - // - clock_seq_hi_and_reserved[7] = 0b1 - bytes[8] = (bytes[8] & 0x3f) | 0x80; - var value = (0, bytes_1.hexlify)(bytes); - return [ - value.substring(2, 10), - value.substring(10, 14), - value.substring(14, 18), - value.substring(18, 22), - value.substring(22, 34), - ].join("-"); -} -exports.uuidV4 = uuidV4; -//# sourceMappingURL=utils.js.map - -/***/ }), - -/***/ 15815: -/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) { - - -var __importDefault = (this && this.__importDefault) || function (mod) { - return (mod && mod.__esModule) ? mod : { "default": mod }; -}; -Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.keccak256 = void 0; -var js_sha3_1 = __importDefault(__nccwpck_require__(12920)); -var bytes_1 = __nccwpck_require__(69691); -function keccak256(data) { - return '0x' + js_sha3_1.default.keccak_256((0, bytes_1.arrayify)(data)); -} -exports.keccak256 = keccak256; -//# sourceMappingURL=index.js.map - -/***/ }), - -/***/ 86041: -/***/ ((__unused_webpack_module, exports) => { - - -Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.version = void 0; -exports.version = "logger/5.7.0"; -//# sourceMappingURL=_version.js.map - -/***/ }), - -/***/ 8772: -/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { - - -Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.Logger = exports.ErrorCode = exports.LogLevel = void 0; -var _permanentCensorErrors = false; -var _censorErrors = false; -var LogLevels = { debug: 1, "default": 2, info: 2, warning: 3, error: 4, off: 5 }; -var _logLevel = LogLevels["default"]; -var _version_1 = __nccwpck_require__(86041); -var _globalLogger = null; -function _checkNormalize() { - try { - var missing_1 = []; - // Make sure all forms of normalization are supported - ["NFD", "NFC", "NFKD", "NFKC"].forEach(function (form) { - try { - if ("test".normalize(form) !== "test") { - throw new Error("bad normalize"); - } - ; - } - catch (error) { - missing_1.push(form); - } - }); - if (missing_1.length) { - throw new Error("missing " + missing_1.join(", ")); - } - if (String.fromCharCode(0xe9).normalize("NFD") !== String.fromCharCode(0x65, 0x0301)) { - throw new Error("broken implementation"); - } - } - catch (error) { - return error.message; - } - return null; -} -var _normalizeError = _checkNormalize(); -var LogLevel; -(function (LogLevel) { - LogLevel["DEBUG"] = "DEBUG"; - LogLevel["INFO"] = "INFO"; - LogLevel["WARNING"] = "WARNING"; - LogLevel["ERROR"] = "ERROR"; - LogLevel["OFF"] = "OFF"; -})(LogLevel = exports.LogLevel || (exports.LogLevel = {})); -var ErrorCode; -(function (ErrorCode) { - /////////////////// - // Generic Errors - // Unknown Error - ErrorCode["UNKNOWN_ERROR"] = "UNKNOWN_ERROR"; - // Not Implemented - ErrorCode["NOT_IMPLEMENTED"] = "NOT_IMPLEMENTED"; - // Unsupported Operation - // - operation - ErrorCode["UNSUPPORTED_OPERATION"] = "UNSUPPORTED_OPERATION"; - // Network Error (i.e. Ethereum Network, such as an invalid chain ID) - // - event ("noNetwork" is not re-thrown in provider.ready; otherwise thrown) - ErrorCode["NETWORK_ERROR"] = "NETWORK_ERROR"; - // Some sort of bad response from the server - ErrorCode["SERVER_ERROR"] = "SERVER_ERROR"; - // Timeout - ErrorCode["TIMEOUT"] = "TIMEOUT"; - /////////////////// - // Operational Errors - // Buffer Overrun - ErrorCode["BUFFER_OVERRUN"] = "BUFFER_OVERRUN"; - // Numeric Fault - // - operation: the operation being executed - // - fault: the reason this faulted - ErrorCode["NUMERIC_FAULT"] = "NUMERIC_FAULT"; - /////////////////// - // Argument Errors - // Missing new operator to an object - // - name: The name of the class - ErrorCode["MISSING_NEW"] = "MISSING_NEW"; - // Invalid argument (e.g. value is incompatible with type) to a function: - // - argument: The argument name that was invalid - // - value: The value of the argument - ErrorCode["INVALID_ARGUMENT"] = "INVALID_ARGUMENT"; - // Missing argument to a function: - // - count: The number of arguments received - // - expectedCount: The number of arguments expected - ErrorCode["MISSING_ARGUMENT"] = "MISSING_ARGUMENT"; - // Too many arguments - // - count: The number of arguments received - // - expectedCount: The number of arguments expected - ErrorCode["UNEXPECTED_ARGUMENT"] = "UNEXPECTED_ARGUMENT"; - /////////////////// - // Blockchain Errors - // Call exception - // - transaction: the transaction - // - address?: the contract address - // - args?: The arguments passed into the function - // - method?: The Solidity method signature - // - errorSignature?: The EIP848 error signature - // - errorArgs?: The EIP848 error parameters - // - reason: The reason (only for EIP848 "Error(string)") - ErrorCode["CALL_EXCEPTION"] = "CALL_EXCEPTION"; - // Insufficient funds (< value + gasLimit * gasPrice) - // - transaction: the transaction attempted - ErrorCode["INSUFFICIENT_FUNDS"] = "INSUFFICIENT_FUNDS"; - // Nonce has already been used - // - transaction: the transaction attempted - ErrorCode["NONCE_EXPIRED"] = "NONCE_EXPIRED"; - // The replacement fee for the transaction is too low - // - transaction: the transaction attempted - ErrorCode["REPLACEMENT_UNDERPRICED"] = "REPLACEMENT_UNDERPRICED"; - // The gas limit could not be estimated - // - transaction: the transaction passed to estimateGas - ErrorCode["UNPREDICTABLE_GAS_LIMIT"] = "UNPREDICTABLE_GAS_LIMIT"; - // The transaction was replaced by one with a higher gas price - // - reason: "cancelled", "replaced" or "repriced" - // - cancelled: true if reason == "cancelled" or reason == "replaced") - // - hash: original transaction hash - // - replacement: the full TransactionsResponse for the replacement - // - receipt: the receipt of the replacement - ErrorCode["TRANSACTION_REPLACED"] = "TRANSACTION_REPLACED"; - /////////////////// - // Interaction Errors - // The user rejected the action, such as signing a message or sending - // a transaction - ErrorCode["ACTION_REJECTED"] = "ACTION_REJECTED"; -})(ErrorCode = exports.ErrorCode || (exports.ErrorCode = {})); -; -var HEX = "0123456789abcdef"; -var Logger = /** @class */ (function () { - function Logger(version) { - Object.defineProperty(this, "version", { - enumerable: true, - value: version, - writable: false - }); - } - Logger.prototype._log = function (logLevel, args) { - var level = logLevel.toLowerCase(); - if (LogLevels[level] == null) { - this.throwArgumentError("invalid log level name", "logLevel", logLevel); - } - if (_logLevel > LogLevels[level]) { - return; - } - console.log.apply(console, args); - }; - Logger.prototype.debug = function () { - var args = []; - for (var _i = 0; _i < arguments.length; _i++) { - args[_i] = arguments[_i]; - } - this._log(Logger.levels.DEBUG, args); - }; - Logger.prototype.info = function () { - var args = []; - for (var _i = 0; _i < arguments.length; _i++) { - args[_i] = arguments[_i]; - } - this._log(Logger.levels.INFO, args); - }; - Logger.prototype.warn = function () { - var args = []; - for (var _i = 0; _i < arguments.length; _i++) { - args[_i] = arguments[_i]; - } - this._log(Logger.levels.WARNING, args); - }; - Logger.prototype.makeError = function (message, code, params) { - // Errors are being censored - if (_censorErrors) { - return this.makeError("censored error", code, {}); - } - if (!code) { - code = Logger.errors.UNKNOWN_ERROR; - } - if (!params) { - params = {}; - } - var messageDetails = []; - Object.keys(params).forEach(function (key) { - var value = params[key]; - try { - if (value instanceof Uint8Array) { - var hex = ""; - for (var i = 0; i < value.length; i++) { - hex += HEX[value[i] >> 4]; - hex += HEX[value[i] & 0x0f]; - } - messageDetails.push(key + "=Uint8Array(0x" + hex + ")"); - } - else { - messageDetails.push(key + "=" + JSON.stringify(value)); - } - } - catch (error) { - messageDetails.push(key + "=" + JSON.stringify(params[key].toString())); - } - }); - messageDetails.push("code=" + code); - messageDetails.push("version=" + this.version); - var reason = message; - var url = ""; - switch (code) { - case ErrorCode.NUMERIC_FAULT: { - url = "NUMERIC_FAULT"; - var fault = message; - switch (fault) { - case "overflow": - case "underflow": - case "division-by-zero": - url += "-" + fault; - break; - case "negative-power": - case "negative-width": - url += "-unsupported"; - break; - case "unbound-bitwise-result": - url += "-unbound-result"; - break; - } - break; - } - case ErrorCode.CALL_EXCEPTION: - case ErrorCode.INSUFFICIENT_FUNDS: - case ErrorCode.MISSING_NEW: - case ErrorCode.NONCE_EXPIRED: - case ErrorCode.REPLACEMENT_UNDERPRICED: - case ErrorCode.TRANSACTION_REPLACED: - case ErrorCode.UNPREDICTABLE_GAS_LIMIT: - url = code; - break; - } - if (url) { - message += " [ See: https:/\/links.ethers.org/v5-errors-" + url + " ]"; - } - if (messageDetails.length) { - message += " (" + messageDetails.join(", ") + ")"; - } - // @TODO: Any?? - var error = new Error(message); - error.reason = reason; - error.code = code; - Object.keys(params).forEach(function (key) { - error[key] = params[key]; - }); - return error; - }; - Logger.prototype.throwError = function (message, code, params) { - throw this.makeError(message, code, params); - }; - Logger.prototype.throwArgumentError = function (message, name, value) { - return this.throwError(message, Logger.errors.INVALID_ARGUMENT, { - argument: name, - value: value - }); - }; - Logger.prototype.assert = function (condition, message, code, params) { - if (!!condition) { - return; - } - this.throwError(message, code, params); - }; - Logger.prototype.assertArgument = function (condition, message, name, value) { - if (!!condition) { - return; - } - this.throwArgumentError(message, name, value); - }; - Logger.prototype.checkNormalize = function (message) { - if (message == null) { - message = "platform missing String.prototype.normalize"; - } - if (_normalizeError) { - this.throwError("platform missing String.prototype.normalize", Logger.errors.UNSUPPORTED_OPERATION, { - operation: "String.prototype.normalize", form: _normalizeError - }); - } - }; - Logger.prototype.checkSafeUint53 = function (value, message) { - if (typeof (value) !== "number") { - return; - } - if (message == null) { - message = "value not safe"; - } - if (value < 0 || value >= 0x1fffffffffffff) { - this.throwError(message, Logger.errors.NUMERIC_FAULT, { - operation: "checkSafeInteger", - fault: "out-of-safe-range", - value: value - }); - } - if (value % 1) { - this.throwError(message, Logger.errors.NUMERIC_FAULT, { - operation: "checkSafeInteger", - fault: "non-integer", - value: value - }); - } - }; - Logger.prototype.checkArgumentCount = function (count, expectedCount, message) { - if (message) { - message = ": " + message; - } - else { - message = ""; - } - if (count < expectedCount) { - this.throwError("missing argument" + message, Logger.errors.MISSING_ARGUMENT, { - count: count, - expectedCount: expectedCount - }); - } - if (count > expectedCount) { - this.throwError("too many arguments" + message, Logger.errors.UNEXPECTED_ARGUMENT, { - count: count, - expectedCount: expectedCount - }); - } - }; - Logger.prototype.checkNew = function (target, kind) { - if (target === Object || target == null) { - this.throwError("missing new", Logger.errors.MISSING_NEW, { name: kind.name }); - } - }; - Logger.prototype.checkAbstract = function (target, kind) { - if (target === kind) { - this.throwError("cannot instantiate abstract class " + JSON.stringify(kind.name) + " directly; use a sub-class", Logger.errors.UNSUPPORTED_OPERATION, { name: target.name, operation: "new" }); - } - else if (target === Object || target == null) { - this.throwError("missing new", Logger.errors.MISSING_NEW, { name: kind.name }); - } - }; - Logger.globalLogger = function () { - if (!_globalLogger) { - _globalLogger = new Logger(_version_1.version); - } - return _globalLogger; - }; - Logger.setCensorship = function (censorship, permanent) { - if (!censorship && permanent) { - this.globalLogger().throwError("cannot permanently disable censorship", Logger.errors.UNSUPPORTED_OPERATION, { - operation: "setCensorship" - }); - } - if (_permanentCensorErrors) { - if (!censorship) { - return; - } - this.globalLogger().throwError("error censorship permanent", Logger.errors.UNSUPPORTED_OPERATION, { - operation: "setCensorship" - }); - } - _censorErrors = !!censorship; - _permanentCensorErrors = !!permanent; - }; - Logger.setLogLevel = function (logLevel) { - var level = LogLevels[logLevel.toLowerCase()]; - if (level == null) { - Logger.globalLogger().warn("invalid log level - " + logLevel); - return; - } - _logLevel = level; - }; - Logger.from = function (version) { - return new Logger(version); - }; - Logger.errors = ErrorCode; - Logger.levels = LogLevel; - return Logger; -}()); -exports.Logger = Logger; -//# sourceMappingURL=index.js.map - -/***/ }), - -/***/ 22480: -/***/ ((__unused_webpack_module, exports) => { - - -Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.version = void 0; -exports.version = "networks/5.7.1"; -//# sourceMappingURL=_version.js.map - -/***/ }), - -/***/ 6660: -/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { - - -Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.getNetwork = void 0; -var logger_1 = __nccwpck_require__(8772); -var _version_1 = __nccwpck_require__(22480); -var logger = new logger_1.Logger(_version_1.version); -; -function isRenetworkable(value) { - return (value && typeof (value.renetwork) === "function"); -} -function ethDefaultProvider(network) { - var func = function (providers, options) { - if (options == null) { - options = {}; - } - var providerList = []; - if (providers.InfuraProvider && options.infura !== "-") { - try { - providerList.push(new providers.InfuraProvider(network, options.infura)); - } - catch (error) { } - } - if (providers.EtherscanProvider && options.etherscan !== "-") { - try { - providerList.push(new providers.EtherscanProvider(network, options.etherscan)); - } - catch (error) { } - } - if (providers.AlchemyProvider && options.alchemy !== "-") { - try { - providerList.push(new providers.AlchemyProvider(network, options.alchemy)); - } - catch (error) { } - } - if (providers.PocketProvider && options.pocket !== "-") { - // These networks are currently faulty on Pocket as their - // network does not handle the Berlin hardfork, which is - // live on these ones. - // @TODO: This goes away once Pocket has upgraded their nodes - var skip = ["goerli", "ropsten", "rinkeby", "sepolia"]; - try { - var provider = new providers.PocketProvider(network, options.pocket); - if (provider.network && skip.indexOf(provider.network.name) === -1) { - providerList.push(provider); - } - } - catch (error) { } - } - if (providers.CloudflareProvider && options.cloudflare !== "-") { - try { - providerList.push(new providers.CloudflareProvider(network)); - } - catch (error) { } - } - if (providers.AnkrProvider && options.ankr !== "-") { - try { - var skip = ["ropsten"]; - var provider = new providers.AnkrProvider(network, options.ankr); - if (provider.network && skip.indexOf(provider.network.name) === -1) { - providerList.push(provider); - } - } - catch (error) { } - } - if (providerList.length === 0) { - return null; - } - if (providers.FallbackProvider) { - var quorum = 1; - if (options.quorum != null) { - quorum = options.quorum; - } - else if (network === "homestead") { - quorum = 2; - } - return new providers.FallbackProvider(providerList, quorum); - } - return providerList[0]; - }; - func.renetwork = function (network) { - return ethDefaultProvider(network); - }; - return func; -} -function etcDefaultProvider(url, network) { - var func = function (providers, options) { - if (providers.JsonRpcProvider) { - return new providers.JsonRpcProvider(url, network); - } - return null; - }; - func.renetwork = function (network) { - return etcDefaultProvider(url, network); - }; - return func; -} -var homestead = { - chainId: 1, - ensAddress: "0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e", - name: "homestead", - _defaultProvider: ethDefaultProvider("homestead") -}; -var ropsten = { - chainId: 3, - ensAddress: "0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e", - name: "ropsten", - _defaultProvider: ethDefaultProvider("ropsten") -}; -var classicMordor = { - chainId: 63, - name: "classicMordor", - _defaultProvider: etcDefaultProvider("https://www.ethercluster.com/mordor", "classicMordor") -}; -// See: https://chainlist.org -var networks = { - unspecified: { chainId: 0, name: "unspecified" }, - homestead: homestead, - mainnet: homestead, - morden: { chainId: 2, name: "morden" }, - ropsten: ropsten, - testnet: ropsten, - rinkeby: { - chainId: 4, - ensAddress: "0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e", - name: "rinkeby", - _defaultProvider: ethDefaultProvider("rinkeby") - }, - kovan: { - chainId: 42, - name: "kovan", - _defaultProvider: ethDefaultProvider("kovan") - }, - goerli: { - chainId: 5, - ensAddress: "0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e", - name: "goerli", - _defaultProvider: ethDefaultProvider("goerli") - }, - kintsugi: { chainId: 1337702, name: "kintsugi" }, - sepolia: { - chainId: 11155111, - name: "sepolia", - _defaultProvider: ethDefaultProvider("sepolia") - }, - // ETC (See: #351) - classic: { - chainId: 61, - name: "classic", - _defaultProvider: etcDefaultProvider("https:/\/www.ethercluster.com/etc", "classic") - }, - classicMorden: { chainId: 62, name: "classicMorden" }, - classicMordor: classicMordor, - classicTestnet: classicMordor, - classicKotti: { - chainId: 6, - name: "classicKotti", - _defaultProvider: etcDefaultProvider("https:/\/www.ethercluster.com/kotti", "classicKotti") - }, - xdai: { chainId: 100, name: "xdai" }, - matic: { - chainId: 137, - name: "matic", - _defaultProvider: ethDefaultProvider("matic") - }, - maticmum: { chainId: 80001, name: "maticmum" }, - optimism: { - chainId: 10, - name: "optimism", - _defaultProvider: ethDefaultProvider("optimism") - }, - "optimism-kovan": { chainId: 69, name: "optimism-kovan" }, - "optimism-goerli": { chainId: 420, name: "optimism-goerli" }, - arbitrum: { chainId: 42161, name: "arbitrum" }, - "arbitrum-rinkeby": { chainId: 421611, name: "arbitrum-rinkeby" }, - "arbitrum-goerli": { chainId: 421613, name: "arbitrum-goerli" }, - bnb: { chainId: 56, name: "bnb" }, - bnbt: { chainId: 97, name: "bnbt" }, -}; -/** - * getNetwork - * - * Converts a named common networks or chain ID (network ID) to a Network - * and verifies a network is a valid Network.. - */ -function getNetwork(network) { - // No network (null) - if (network == null) { - return null; - } - if (typeof (network) === "number") { - for (var name_1 in networks) { - var standard_1 = networks[name_1]; - if (standard_1.chainId === network) { - return { - name: standard_1.name, - chainId: standard_1.chainId, - ensAddress: (standard_1.ensAddress || null), - _defaultProvider: (standard_1._defaultProvider || null) - }; - } - } - return { - chainId: network, - name: "unknown" - }; - } - if (typeof (network) === "string") { - var standard_2 = networks[network]; - if (standard_2 == null) { - return null; - } - return { - name: standard_2.name, - chainId: standard_2.chainId, - ensAddress: standard_2.ensAddress, - _defaultProvider: (standard_2._defaultProvider || null) - }; - } - var standard = networks[network.name]; - // Not a standard network; check that it is a valid network in general - if (!standard) { - if (typeof (network.chainId) !== "number") { - logger.throwArgumentError("invalid network chainId", "network", network); - } - return network; - } - // Make sure the chainId matches the expected network chainId (or is 0; disable EIP-155) - if (network.chainId !== 0 && network.chainId !== standard.chainId) { - logger.throwArgumentError("network chainId mismatch", "network", network); - } - // @TODO: In the next major version add an attach function to a defaultProvider - // class and move the _defaultProvider internal to this file (extend Network) - var defaultProvider = network._defaultProvider || null; - if (defaultProvider == null && standard._defaultProvider) { - if (isRenetworkable(standard._defaultProvider)) { - defaultProvider = standard._defaultProvider.renetwork(network); - } - else { - defaultProvider = standard._defaultProvider; - } - } - // Standard Network (allow overriding the ENS address) - return { - name: network.name, - chainId: standard.chainId, - ensAddress: (network.ensAddress || standard.ensAddress || null), - _defaultProvider: defaultProvider - }; -} -exports.getNetwork = getNetwork; -//# sourceMappingURL=index.js.map - -/***/ }), - -/***/ 33545: -/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { - - -Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.pbkdf2 = void 0; -var pbkdf2_1 = __nccwpck_require__(6124); -Object.defineProperty(exports, "pbkdf2", ({ enumerable: true, get: function () { return pbkdf2_1.pbkdf2; } })); -//# sourceMappingURL=index.js.map - -/***/ }), - -/***/ 6124: -/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { - - -Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.pbkdf2 = void 0; -var crypto_1 = __nccwpck_require__(76982); -var bytes_1 = __nccwpck_require__(69691); -function bufferify(value) { - return Buffer.from((0, bytes_1.arrayify)(value)); -} -function pbkdf2(password, salt, iterations, keylen, hashAlgorithm) { - return (0, bytes_1.hexlify)((0, crypto_1.pbkdf2Sync)(bufferify(password), bufferify(salt), iterations, keylen, hashAlgorithm)); -} -exports.pbkdf2 = pbkdf2; -//# sourceMappingURL=pbkdf2.js.map - -/***/ }), - -/***/ 12522: -/***/ ((__unused_webpack_module, exports) => { - - -Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.version = void 0; -exports.version = "properties/5.7.0"; -//# sourceMappingURL=_version.js.map - -/***/ }), - -/***/ 54145: -/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) { - - -var __awaiter = (this && this.__awaiter) || function (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, reject) { - function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } - function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } - function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); -}; -var __generator = (this && this.__generator) || function (thisArg, body) { - var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g; - return g = { next: verb(0), "throw": verb(1), "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 (_) 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 }; - } -}; -Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.Description = exports.deepCopy = exports.shallowCopy = exports.checkProperties = exports.resolveProperties = exports.getStatic = exports.defineReadOnly = void 0; -var logger_1 = __nccwpck_require__(8772); -var _version_1 = __nccwpck_require__(12522); -var logger = new logger_1.Logger(_version_1.version); -function defineReadOnly(object, name, value) { - Object.defineProperty(object, name, { - enumerable: true, - value: value, - writable: false, - }); -} -exports.defineReadOnly = defineReadOnly; -// Crawl up the constructor chain to find a static method -function getStatic(ctor, key) { - for (var i = 0; i < 32; i++) { - if (ctor[key]) { - return ctor[key]; - } - if (!ctor.prototype || typeof (ctor.prototype) !== "object") { - break; - } - ctor = Object.getPrototypeOf(ctor.prototype).constructor; - } - return null; -} -exports.getStatic = getStatic; -function resolveProperties(object) { - return __awaiter(this, void 0, void 0, function () { - var promises, results; - return __generator(this, function (_a) { - switch (_a.label) { - case 0: - promises = Object.keys(object).map(function (key) { - var value = object[key]; - return Promise.resolve(value).then(function (v) { return ({ key: key, value: v }); }); - }); - return [4 /*yield*/, Promise.all(promises)]; - case 1: - results = _a.sent(); - return [2 /*return*/, results.reduce(function (accum, result) { - accum[(result.key)] = result.value; - return accum; - }, {})]; - } - }); - }); -} -exports.resolveProperties = resolveProperties; -function checkProperties(object, properties) { - if (!object || typeof (object) !== "object") { - logger.throwArgumentError("invalid object", "object", object); - } - Object.keys(object).forEach(function (key) { - if (!properties[key]) { - logger.throwArgumentError("invalid object key - " + key, "transaction:" + key, object); - } - }); -} -exports.checkProperties = checkProperties; -function shallowCopy(object) { - var result = {}; - for (var key in object) { - result[key] = object[key]; - } - return result; -} -exports.shallowCopy = shallowCopy; -var opaque = { bigint: true, boolean: true, "function": true, number: true, string: true }; -function _isFrozen(object) { - // Opaque objects are not mutable, so safe to copy by assignment - if (object === undefined || object === null || opaque[typeof (object)]) { - return true; - } - if (Array.isArray(object) || typeof (object) === "object") { - if (!Object.isFrozen(object)) { - return false; - } - var keys = Object.keys(object); - for (var i = 0; i < keys.length; i++) { - var value = null; - try { - value = object[keys[i]]; - } - catch (error) { - // If accessing a value triggers an error, it is a getter - // designed to do so (e.g. Result) and is therefore "frozen" - continue; - } - if (!_isFrozen(value)) { - return false; - } - } - return true; - } - return logger.throwArgumentError("Cannot deepCopy " + typeof (object), "object", object); -} -// Returns a new copy of object, such that no properties may be replaced. -// New properties may be added only to objects. -function _deepCopy(object) { - if (_isFrozen(object)) { - return object; - } - // Arrays are mutable, so we need to create a copy - if (Array.isArray(object)) { - return Object.freeze(object.map(function (item) { return deepCopy(item); })); - } - if (typeof (object) === "object") { - var result = {}; - for (var key in object) { - var value = object[key]; - if (value === undefined) { - continue; - } - defineReadOnly(result, key, deepCopy(value)); - } - return result; - } - return logger.throwArgumentError("Cannot deepCopy " + typeof (object), "object", object); -} -function deepCopy(object) { - return _deepCopy(object); -} -exports.deepCopy = deepCopy; -var Description = /** @class */ (function () { - function Description(info) { - for (var key in info) { - this[key] = deepCopy(info[key]); - } - } - return Description; -}()); -exports.Description = Description; -//# sourceMappingURL=index.js.map - -/***/ }), - -/***/ 69139: -/***/ ((__unused_webpack_module, exports) => { - - -Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.version = void 0; -exports.version = "providers/5.7.2"; -//# sourceMappingURL=_version.js.map - -/***/ }), - -/***/ 66407: -/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) { - - -var __extends = (this && this.__extends) || (function () { - var extendStatics = function (d, b) { - extendStatics = Object.setPrototypeOf || - ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || - function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; }; - return extendStatics(d, b); - }; - return function (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 __()); - }; -})(); -Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.AlchemyProvider = exports.AlchemyWebSocketProvider = void 0; -var properties_1 = __nccwpck_require__(54145); -var formatter_1 = __nccwpck_require__(60971); -var websocket_provider_1 = __nccwpck_require__(77071); -var logger_1 = __nccwpck_require__(8772); -var _version_1 = __nccwpck_require__(69139); -var logger = new logger_1.Logger(_version_1.version); -var url_json_rpc_provider_1 = __nccwpck_require__(67644); -// This key was provided to ethers.js by Alchemy to be used by the -// default provider, but it is recommended that for your own -// production environments, that you acquire your own API key at: -// https://dashboard.alchemyapi.io -var defaultApiKey = "_gg7wSSi0KMBsdKnGVfHDueq6xMB9EkC"; -var AlchemyWebSocketProvider = /** @class */ (function (_super) { - __extends(AlchemyWebSocketProvider, _super); - function AlchemyWebSocketProvider(network, apiKey) { - var _this = this; - var provider = new AlchemyProvider(network, apiKey); - var url = provider.connection.url.replace(/^http/i, "ws") - .replace(".alchemyapi.", ".ws.alchemyapi."); - _this = _super.call(this, url, provider.network) || this; - (0, properties_1.defineReadOnly)(_this, "apiKey", provider.apiKey); - return _this; - } - AlchemyWebSocketProvider.prototype.isCommunityResource = function () { - return (this.apiKey === defaultApiKey); - }; - return AlchemyWebSocketProvider; -}(websocket_provider_1.WebSocketProvider)); -exports.AlchemyWebSocketProvider = AlchemyWebSocketProvider; -var AlchemyProvider = /** @class */ (function (_super) { - __extends(AlchemyProvider, _super); - function AlchemyProvider() { - return _super !== null && _super.apply(this, arguments) || this; - } - AlchemyProvider.getWebSocketProvider = function (network, apiKey) { - return new AlchemyWebSocketProvider(network, apiKey); - }; - AlchemyProvider.getApiKey = function (apiKey) { - if (apiKey == null) { - return defaultApiKey; - } - if (apiKey && typeof (apiKey) !== "string") { - logger.throwArgumentError("invalid apiKey", "apiKey", apiKey); - } - return apiKey; - }; - AlchemyProvider.getUrl = function (network, apiKey) { - var host = null; - switch (network.name) { - case "homestead": - host = "eth-mainnet.alchemyapi.io/v2/"; - break; - case "goerli": - host = "eth-goerli.g.alchemy.com/v2/"; - break; - case "matic": - host = "polygon-mainnet.g.alchemy.com/v2/"; - break; - case "maticmum": - host = "polygon-mumbai.g.alchemy.com/v2/"; - break; - case "arbitrum": - host = "arb-mainnet.g.alchemy.com/v2/"; - break; - case "arbitrum-goerli": - host = "arb-goerli.g.alchemy.com/v2/"; - break; - case "optimism": - host = "opt-mainnet.g.alchemy.com/v2/"; - break; - case "optimism-goerli": - host = "opt-goerli.g.alchemy.com/v2/"; - break; - default: - logger.throwArgumentError("unsupported network", "network", arguments[0]); - } - return { - allowGzip: true, - url: ("https:/" + "/" + host + apiKey), - throttleCallback: function (attempt, url) { - if (apiKey === defaultApiKey) { - (0, formatter_1.showThrottleMessage)(); - } - return Promise.resolve(true); - } - }; - }; - AlchemyProvider.prototype.isCommunityResource = function () { - return (this.apiKey === defaultApiKey); - }; - return AlchemyProvider; -}(url_json_rpc_provider_1.UrlJsonRpcProvider)); -exports.AlchemyProvider = AlchemyProvider; -//# sourceMappingURL=alchemy-provider.js.map - -/***/ }), - -/***/ 80454: -/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) { - - -var __extends = (this && this.__extends) || (function () { - var extendStatics = function (d, b) { - extendStatics = Object.setPrototypeOf || - ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || - function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; }; - return extendStatics(d, b); - }; - return function (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 __()); - }; -})(); -Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.AnkrProvider = void 0; -var formatter_1 = __nccwpck_require__(60971); -var url_json_rpc_provider_1 = __nccwpck_require__(67644); -var logger_1 = __nccwpck_require__(8772); -var _version_1 = __nccwpck_require__(69139); -var logger = new logger_1.Logger(_version_1.version); -var defaultApiKey = "9f7d929b018cdffb338517efa06f58359e86ff1ffd350bc889738523659e7972"; -function getHost(name) { - switch (name) { - case "homestead": - return "rpc.ankr.com/eth/"; - case "ropsten": - return "rpc.ankr.com/eth_ropsten/"; - case "rinkeby": - return "rpc.ankr.com/eth_rinkeby/"; - case "goerli": - return "rpc.ankr.com/eth_goerli/"; - case "matic": - return "rpc.ankr.com/polygon/"; - case "arbitrum": - return "rpc.ankr.com/arbitrum/"; - } - return logger.throwArgumentError("unsupported network", "name", name); -} -var AnkrProvider = /** @class */ (function (_super) { - __extends(AnkrProvider, _super); - function AnkrProvider() { - return _super !== null && _super.apply(this, arguments) || this; - } - AnkrProvider.prototype.isCommunityResource = function () { - return (this.apiKey === defaultApiKey); - }; - AnkrProvider.getApiKey = function (apiKey) { - if (apiKey == null) { - return defaultApiKey; - } - return apiKey; - }; - AnkrProvider.getUrl = function (network, apiKey) { - if (apiKey == null) { - apiKey = defaultApiKey; - } - var connection = { - allowGzip: true, - url: ("https:/\/" + getHost(network.name) + apiKey), - throttleCallback: function (attempt, url) { - if (apiKey.apiKey === defaultApiKey) { - (0, formatter_1.showThrottleMessage)(); - } - return Promise.resolve(true); - } - }; - if (apiKey.projectSecret != null) { - connection.user = ""; - connection.password = apiKey.projectSecret; - } - return connection; - }; - return AnkrProvider; -}(url_json_rpc_provider_1.UrlJsonRpcProvider)); -exports.AnkrProvider = AnkrProvider; -//# sourceMappingURL=ankr-provider.js.map - -/***/ }), - -/***/ 9259: -/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) { - - -var __extends = (this && this.__extends) || (function () { - var extendStatics = function (d, b) { - extendStatics = Object.setPrototypeOf || - ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || - function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; }; - return extendStatics(d, b); - }; - return function (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 __()); - }; -})(); -var __awaiter = (this && this.__awaiter) || function (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, reject) { - function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } - function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } - function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); -}; -var __generator = (this && this.__generator) || function (thisArg, body) { - var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g; - return g = { next: verb(0), "throw": verb(1), "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 (_) 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 }; - } -}; -var __importDefault = (this && this.__importDefault) || function (mod) { - return (mod && mod.__esModule) ? mod : { "default": mod }; -}; -Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.BaseProvider = exports.Resolver = exports.Event = void 0; -var abstract_provider_1 = __nccwpck_require__(34224); -var base64_1 = __nccwpck_require__(14895); -var basex_1 = __nccwpck_require__(13807); -var bignumber_1 = __nccwpck_require__(14763); -var bytes_1 = __nccwpck_require__(69691); -var constants_1 = __nccwpck_require__(46561); -var hash_1 = __nccwpck_require__(39144); -var networks_1 = __nccwpck_require__(6660); -var properties_1 = __nccwpck_require__(54145); -var sha2_1 = __nccwpck_require__(16892); -var strings_1 = __nccwpck_require__(95578); -var web_1 = __nccwpck_require__(75570); -var bech32_1 = __importDefault(__nccwpck_require__(71354)); -var logger_1 = __nccwpck_require__(8772); -var _version_1 = __nccwpck_require__(69139); -var logger = new logger_1.Logger(_version_1.version); -var formatter_1 = __nccwpck_require__(60971); -var MAX_CCIP_REDIRECTS = 10; -////////////////////////////// -// Event Serializeing -function checkTopic(topic) { - if (topic == null) { - return "null"; - } - if ((0, bytes_1.hexDataLength)(topic) !== 32) { - logger.throwArgumentError("invalid topic", "topic", topic); - } - return topic.toLowerCase(); -} -function serializeTopics(topics) { - // Remove trailing null AND-topics; they are redundant - topics = topics.slice(); - while (topics.length > 0 && topics[topics.length - 1] == null) { - topics.pop(); - } - return topics.map(function (topic) { - if (Array.isArray(topic)) { - // Only track unique OR-topics - var unique_1 = {}; - topic.forEach(function (topic) { - unique_1[checkTopic(topic)] = true; - }); - // The order of OR-topics does not matter - var sorted = Object.keys(unique_1); - sorted.sort(); - return sorted.join("|"); - } - else { - return checkTopic(topic); - } - }).join("&"); -} -function deserializeTopics(data) { - if (data === "") { - return []; - } - return data.split(/&/g).map(function (topic) { - if (topic === "") { - return []; - } - var comps = topic.split("|").map(function (topic) { - return ((topic === "null") ? null : topic); - }); - return ((comps.length === 1) ? comps[0] : comps); - }); -} -function getEventTag(eventName) { - if (typeof (eventName) === "string") { - eventName = eventName.toLowerCase(); - if ((0, bytes_1.hexDataLength)(eventName) === 32) { - return "tx:" + eventName; - } - if (eventName.indexOf(":") === -1) { - return eventName; - } - } - else if (Array.isArray(eventName)) { - return "filter:*:" + serializeTopics(eventName); - } - else if (abstract_provider_1.ForkEvent.isForkEvent(eventName)) { - logger.warn("not implemented"); - throw new Error("not implemented"); - } - else if (eventName && typeof (eventName) === "object") { - return "filter:" + (eventName.address || "*") + ":" + serializeTopics(eventName.topics || []); - } - throw new Error("invalid event - " + eventName); -} -////////////////////////////// -// Helper Object -function getTime() { - return (new Date()).getTime(); -} -function stall(duration) { - return new Promise(function (resolve) { - setTimeout(resolve, duration); - }); -} -////////////////////////////// -// Provider Object -/** - * EventType - * - "block" - * - "poll" - * - "didPoll" - * - "pending" - * - "error" - * - "network" - * - filter - * - topics array - * - transaction hash - */ -var PollableEvents = ["block", "network", "pending", "poll"]; -var Event = /** @class */ (function () { - function Event(tag, listener, once) { - (0, properties_1.defineReadOnly)(this, "tag", tag); - (0, properties_1.defineReadOnly)(this, "listener", listener); - (0, properties_1.defineReadOnly)(this, "once", once); - this._lastBlockNumber = -2; - this._inflight = false; - } - Object.defineProperty(Event.prototype, "event", { - get: function () { - switch (this.type) { - case "tx": - return this.hash; - case "filter": - return this.filter; - } - return this.tag; - }, - enumerable: false, - configurable: true - }); - Object.defineProperty(Event.prototype, "type", { - get: function () { - return this.tag.split(":")[0]; - }, - enumerable: false, - configurable: true - }); - Object.defineProperty(Event.prototype, "hash", { - get: function () { - var comps = this.tag.split(":"); - if (comps[0] !== "tx") { - return null; - } - return comps[1]; - }, - enumerable: false, - configurable: true - }); - Object.defineProperty(Event.prototype, "filter", { - get: function () { - var comps = this.tag.split(":"); - if (comps[0] !== "filter") { - return null; - } - var address = comps[1]; - var topics = deserializeTopics(comps[2]); - var filter = {}; - if (topics.length > 0) { - filter.topics = topics; - } - if (address && address !== "*") { - filter.address = address; - } - return filter; - }, - enumerable: false, - configurable: true - }); - Event.prototype.pollable = function () { - return (this.tag.indexOf(":") >= 0 || PollableEvents.indexOf(this.tag) >= 0); - }; - return Event; -}()); -exports.Event = Event; -; -// https://github.com/satoshilabs/slips/blob/master/slip-0044.md -var coinInfos = { - "0": { symbol: "btc", p2pkh: 0x00, p2sh: 0x05, prefix: "bc" }, - "2": { symbol: "ltc", p2pkh: 0x30, p2sh: 0x32, prefix: "ltc" }, - "3": { symbol: "doge", p2pkh: 0x1e, p2sh: 0x16 }, - "60": { symbol: "eth", ilk: "eth" }, - "61": { symbol: "etc", ilk: "eth" }, - "700": { symbol: "xdai", ilk: "eth" }, -}; -function bytes32ify(value) { - return (0, bytes_1.hexZeroPad)(bignumber_1.BigNumber.from(value).toHexString(), 32); -} -// Compute the Base58Check encoded data (checksum is first 4 bytes of sha256d) -function base58Encode(data) { - return basex_1.Base58.encode((0, bytes_1.concat)([data, (0, bytes_1.hexDataSlice)((0, sha2_1.sha256)((0, sha2_1.sha256)(data)), 0, 4)])); -} -var matcherIpfs = new RegExp("^(ipfs):/\/(.*)$", "i"); -var matchers = [ - new RegExp("^(https):/\/(.*)$", "i"), - new RegExp("^(data):(.*)$", "i"), - matcherIpfs, - new RegExp("^eip155:[0-9]+/(erc[0-9]+):(.*)$", "i"), -]; -function _parseString(result, start) { - try { - return (0, strings_1.toUtf8String)(_parseBytes(result, start)); - } - catch (error) { } - return null; -} -function _parseBytes(result, start) { - if (result === "0x") { - return null; - } - var offset = bignumber_1.BigNumber.from((0, bytes_1.hexDataSlice)(result, start, start + 32)).toNumber(); - var length = bignumber_1.BigNumber.from((0, bytes_1.hexDataSlice)(result, offset, offset + 32)).toNumber(); - return (0, bytes_1.hexDataSlice)(result, offset + 32, offset + 32 + length); -} -// Trim off the ipfs:// prefix and return the default gateway URL -function getIpfsLink(link) { - if (link.match(/^ipfs:\/\/ipfs\//i)) { - link = link.substring(12); - } - else if (link.match(/^ipfs:\/\//i)) { - link = link.substring(7); - } - else { - logger.throwArgumentError("unsupported IPFS format", "link", link); - } - return "https://gateway.ipfs.io/ipfs/" + link; -} -function numPad(value) { - var result = (0, bytes_1.arrayify)(value); - if (result.length > 32) { - throw new Error("internal; should not happen"); - } - var padded = new Uint8Array(32); - padded.set(result, 32 - result.length); - return padded; -} -function bytesPad(value) { - if ((value.length % 32) === 0) { - return value; - } - var result = new Uint8Array(Math.ceil(value.length / 32) * 32); - result.set(value); - return result; -} -// ABI Encodes a series of (bytes, bytes, ...) -function encodeBytes(datas) { - var result = []; - var byteCount = 0; - // Add place-holders for pointers as we add items - for (var i = 0; i < datas.length; i++) { - result.push(null); - byteCount += 32; - } - for (var i = 0; i < datas.length; i++) { - var data = (0, bytes_1.arrayify)(datas[i]); - // Update the bytes offset - result[i] = numPad(byteCount); - // The length and padded value of data - result.push(numPad(data.length)); - result.push(bytesPad(data)); - byteCount += 32 + Math.ceil(data.length / 32) * 32; - } - return (0, bytes_1.hexConcat)(result); -} -var Resolver = /** @class */ (function () { - // The resolvedAddress is only for creating a ReverseLookup resolver - function Resolver(provider, address, name, resolvedAddress) { - (0, properties_1.defineReadOnly)(this, "provider", provider); - (0, properties_1.defineReadOnly)(this, "name", name); - (0, properties_1.defineReadOnly)(this, "address", provider.formatter.address(address)); - (0, properties_1.defineReadOnly)(this, "_resolvedAddress", resolvedAddress); - } - Resolver.prototype.supportsWildcard = function () { - var _this = this; - if (!this._supportsEip2544) { - // supportsInterface(bytes4 = selector("resolve(bytes,bytes)")) - this._supportsEip2544 = this.provider.call({ - to: this.address, - data: "0x01ffc9a79061b92300000000000000000000000000000000000000000000000000000000" - }).then(function (result) { - return bignumber_1.BigNumber.from(result).eq(1); - }).catch(function (error) { - if (error.code === logger_1.Logger.errors.CALL_EXCEPTION) { - return false; - } - // Rethrow the error: link is down, etc. Let future attempts retry. - _this._supportsEip2544 = null; - throw error; - }); - } - return this._supportsEip2544; - }; - Resolver.prototype._fetch = function (selector, parameters) { - return __awaiter(this, void 0, void 0, function () { - var tx, parseBytes, result, error_1; - return __generator(this, function (_a) { - switch (_a.label) { - case 0: - tx = { - to: this.address, - ccipReadEnabled: true, - data: (0, bytes_1.hexConcat)([selector, (0, hash_1.namehash)(this.name), (parameters || "0x")]) - }; - parseBytes = false; - return [4 /*yield*/, this.supportsWildcard()]; - case 1: - if (_a.sent()) { - parseBytes = true; - // selector("resolve(bytes,bytes)") - tx.data = (0, bytes_1.hexConcat)(["0x9061b923", encodeBytes([(0, hash_1.dnsEncode)(this.name), tx.data])]); - } - _a.label = 2; - case 2: - _a.trys.push([2, 4, , 5]); - return [4 /*yield*/, this.provider.call(tx)]; - case 3: - result = _a.sent(); - if (((0, bytes_1.arrayify)(result).length % 32) === 4) { - logger.throwError("resolver threw error", logger_1.Logger.errors.CALL_EXCEPTION, { - transaction: tx, data: result - }); - } - if (parseBytes) { - result = _parseBytes(result, 0); - } - return [2 /*return*/, result]; - case 4: - error_1 = _a.sent(); - if (error_1.code === logger_1.Logger.errors.CALL_EXCEPTION) { - return [2 /*return*/, null]; - } - throw error_1; - case 5: return [2 /*return*/]; - } - }); - }); - }; - Resolver.prototype._fetchBytes = function (selector, parameters) { - return __awaiter(this, void 0, void 0, function () { - var result; - return __generator(this, function (_a) { - switch (_a.label) { - case 0: return [4 /*yield*/, this._fetch(selector, parameters)]; - case 1: - result = _a.sent(); - if (result != null) { - return [2 /*return*/, _parseBytes(result, 0)]; - } - return [2 /*return*/, null]; - } - }); - }); - }; - Resolver.prototype._getAddress = function (coinType, hexBytes) { - var coinInfo = coinInfos[String(coinType)]; - if (coinInfo == null) { - logger.throwError("unsupported coin type: " + coinType, logger_1.Logger.errors.UNSUPPORTED_OPERATION, { - operation: "getAddress(" + coinType + ")" - }); - } - if (coinInfo.ilk === "eth") { - return this.provider.formatter.address(hexBytes); - } - var bytes = (0, bytes_1.arrayify)(hexBytes); - // P2PKH: OP_DUP OP_HASH160 OP_EQUALVERIFY OP_CHECKSIG - if (coinInfo.p2pkh != null) { - var p2pkh = hexBytes.match(/^0x76a9([0-9a-f][0-9a-f])([0-9a-f]*)88ac$/); - if (p2pkh) { - var length_1 = parseInt(p2pkh[1], 16); - if (p2pkh[2].length === length_1 * 2 && length_1 >= 1 && length_1 <= 75) { - return base58Encode((0, bytes_1.concat)([[coinInfo.p2pkh], ("0x" + p2pkh[2])])); - } - } - } - // P2SH: OP_HASH160 OP_EQUAL - if (coinInfo.p2sh != null) { - var p2sh = hexBytes.match(/^0xa9([0-9a-f][0-9a-f])([0-9a-f]*)87$/); - if (p2sh) { - var length_2 = parseInt(p2sh[1], 16); - if (p2sh[2].length === length_2 * 2 && length_2 >= 1 && length_2 <= 75) { - return base58Encode((0, bytes_1.concat)([[coinInfo.p2sh], ("0x" + p2sh[2])])); - } - } - } - // Bech32 - if (coinInfo.prefix != null) { - var length_3 = bytes[1]; - // https://github.com/bitcoin/bips/blob/master/bip-0141.mediawiki#witness-program - var version_1 = bytes[0]; - if (version_1 === 0x00) { - if (length_3 !== 20 && length_3 !== 32) { - version_1 = -1; - } - } - else { - version_1 = -1; - } - if (version_1 >= 0 && bytes.length === 2 + length_3 && length_3 >= 1 && length_3 <= 75) { - var words = bech32_1.default.toWords(bytes.slice(2)); - words.unshift(version_1); - return bech32_1.default.encode(coinInfo.prefix, words); - } - } - return null; - }; - Resolver.prototype.getAddress = function (coinType) { - return __awaiter(this, void 0, void 0, function () { - var result, error_2, hexBytes, address; - return __generator(this, function (_a) { - switch (_a.label) { - case 0: - if (coinType == null) { - coinType = 60; - } - if (!(coinType === 60)) return [3 /*break*/, 4]; - _a.label = 1; - case 1: - _a.trys.push([1, 3, , 4]); - return [4 /*yield*/, this._fetch("0x3b3b57de")]; - case 2: - result = _a.sent(); - // No address - if (result === "0x" || result === constants_1.HashZero) { - return [2 /*return*/, null]; - } - return [2 /*return*/, this.provider.formatter.callAddress(result)]; - case 3: - error_2 = _a.sent(); - if (error_2.code === logger_1.Logger.errors.CALL_EXCEPTION) { - return [2 /*return*/, null]; - } - throw error_2; - case 4: return [4 /*yield*/, this._fetchBytes("0xf1cb7e06", bytes32ify(coinType))]; - case 5: - hexBytes = _a.sent(); - // No address - if (hexBytes == null || hexBytes === "0x") { - return [2 /*return*/, null]; - } - address = this._getAddress(coinType, hexBytes); - if (address == null) { - logger.throwError("invalid or unsupported coin data", logger_1.Logger.errors.UNSUPPORTED_OPERATION, { - operation: "getAddress(" + coinType + ")", - coinType: coinType, - data: hexBytes - }); - } - return [2 /*return*/, address]; - } - }); - }); - }; - Resolver.prototype.getAvatar = function () { - return __awaiter(this, void 0, void 0, function () { - var linkage, avatar, i, match, scheme, _a, selector, owner, _b, comps, addr, tokenId, tokenOwner, _c, _d, balance, _e, _f, tx, metadataUrl, _g, metadata, imageUrl, ipfs, error_3; - return __generator(this, function (_h) { - switch (_h.label) { - case 0: - linkage = [{ type: "name", content: this.name }]; - _h.label = 1; - case 1: - _h.trys.push([1, 19, , 20]); - return [4 /*yield*/, this.getText("avatar")]; - case 2: - avatar = _h.sent(); - if (avatar == null) { - return [2 /*return*/, null]; - } - i = 0; - _h.label = 3; - case 3: - if (!(i < matchers.length)) return [3 /*break*/, 18]; - match = avatar.match(matchers[i]); - if (match == null) { - return [3 /*break*/, 17]; - } - scheme = match[1].toLowerCase(); - _a = scheme; - switch (_a) { - case "https": return [3 /*break*/, 4]; - case "data": return [3 /*break*/, 5]; - case "ipfs": return [3 /*break*/, 6]; - case "erc721": return [3 /*break*/, 7]; - case "erc1155": return [3 /*break*/, 7]; - } - return [3 /*break*/, 17]; - case 4: - linkage.push({ type: "url", content: avatar }); - return [2 /*return*/, { linkage: linkage, url: avatar }]; - case 5: - linkage.push({ type: "data", content: avatar }); - return [2 /*return*/, { linkage: linkage, url: avatar }]; - case 6: - linkage.push({ type: "ipfs", content: avatar }); - return [2 /*return*/, { linkage: linkage, url: getIpfsLink(avatar) }]; - case 7: - selector = (scheme === "erc721") ? "0xc87b56dd" : "0x0e89341c"; - linkage.push({ type: scheme, content: avatar }); - _b = this._resolvedAddress; - if (_b) return [3 /*break*/, 9]; - return [4 /*yield*/, this.getAddress()]; - case 8: - _b = (_h.sent()); - _h.label = 9; - case 9: - owner = (_b); - comps = (match[2] || "").split("/"); - if (comps.length !== 2) { - return [2 /*return*/, null]; - } - return [4 /*yield*/, this.provider.formatter.address(comps[0])]; - case 10: - addr = _h.sent(); - tokenId = (0, bytes_1.hexZeroPad)(bignumber_1.BigNumber.from(comps[1]).toHexString(), 32); - if (!(scheme === "erc721")) return [3 /*break*/, 12]; - _d = (_c = this.provider.formatter).callAddress; - return [4 /*yield*/, this.provider.call({ - to: addr, data: (0, bytes_1.hexConcat)(["0x6352211e", tokenId]) - })]; - case 11: - tokenOwner = _d.apply(_c, [_h.sent()]); - if (owner !== tokenOwner) { - return [2 /*return*/, null]; - } - linkage.push({ type: "owner", content: tokenOwner }); - return [3 /*break*/, 14]; - case 12: - if (!(scheme === "erc1155")) return [3 /*break*/, 14]; - _f = (_e = bignumber_1.BigNumber).from; - return [4 /*yield*/, this.provider.call({ - to: addr, data: (0, bytes_1.hexConcat)(["0x00fdd58e", (0, bytes_1.hexZeroPad)(owner, 32), tokenId]) - })]; - case 13: - balance = _f.apply(_e, [_h.sent()]); - if (balance.isZero()) { - return [2 /*return*/, null]; - } - linkage.push({ type: "balance", content: balance.toString() }); - _h.label = 14; - case 14: - tx = { - to: this.provider.formatter.address(comps[0]), - data: (0, bytes_1.hexConcat)([selector, tokenId]) - }; - _g = _parseString; - return [4 /*yield*/, this.provider.call(tx)]; - case 15: - metadataUrl = _g.apply(void 0, [_h.sent(), 0]); - if (metadataUrl == null) { - return [2 /*return*/, null]; - } - linkage.push({ type: "metadata-url-base", content: metadataUrl }); - // ERC-1155 allows a generic {id} in the URL - if (scheme === "erc1155") { - metadataUrl = metadataUrl.replace("{id}", tokenId.substring(2)); - linkage.push({ type: "metadata-url-expanded", content: metadataUrl }); - } - // Transform IPFS metadata links - if (metadataUrl.match(/^ipfs:/i)) { - metadataUrl = getIpfsLink(metadataUrl); - } - linkage.push({ type: "metadata-url", content: metadataUrl }); - return [4 /*yield*/, (0, web_1.fetchJson)(metadataUrl)]; - case 16: - metadata = _h.sent(); - if (!metadata) { - return [2 /*return*/, null]; - } - linkage.push({ type: "metadata", content: JSON.stringify(metadata) }); - imageUrl = metadata.image; - if (typeof (imageUrl) !== "string") { - return [2 /*return*/, null]; - } - if (imageUrl.match(/^(https:\/\/|data:)/i)) { - // Allow - } - else { - ipfs = imageUrl.match(matcherIpfs); - if (ipfs == null) { - return [2 /*return*/, null]; - } - linkage.push({ type: "url-ipfs", content: imageUrl }); - imageUrl = getIpfsLink(imageUrl); - } - linkage.push({ type: "url", content: imageUrl }); - return [2 /*return*/, { linkage: linkage, url: imageUrl }]; - case 17: - i++; - return [3 /*break*/, 3]; - case 18: return [3 /*break*/, 20]; - case 19: - error_3 = _h.sent(); - return [3 /*break*/, 20]; - case 20: return [2 /*return*/, null]; - } - }); - }); - }; - Resolver.prototype.getContentHash = function () { - return __awaiter(this, void 0, void 0, function () { - var hexBytes, ipfs, length_4, ipns, length_5, swarm, skynet, urlSafe_1, hash; - return __generator(this, function (_a) { - switch (_a.label) { - case 0: return [4 /*yield*/, this._fetchBytes("0xbc1c58d1")]; - case 1: - hexBytes = _a.sent(); - // No contenthash - if (hexBytes == null || hexBytes === "0x") { - return [2 /*return*/, null]; - } - ipfs = hexBytes.match(/^0xe3010170(([0-9a-f][0-9a-f])([0-9a-f][0-9a-f])([0-9a-f]*))$/); - if (ipfs) { - length_4 = parseInt(ipfs[3], 16); - if (ipfs[4].length === length_4 * 2) { - return [2 /*return*/, "ipfs:/\/" + basex_1.Base58.encode("0x" + ipfs[1])]; - } - } - ipns = hexBytes.match(/^0xe5010172(([0-9a-f][0-9a-f])([0-9a-f][0-9a-f])([0-9a-f]*))$/); - if (ipns) { - length_5 = parseInt(ipns[3], 16); - if (ipns[4].length === length_5 * 2) { - return [2 /*return*/, "ipns:/\/" + basex_1.Base58.encode("0x" + ipns[1])]; - } - } - swarm = hexBytes.match(/^0xe40101fa011b20([0-9a-f]*)$/); - if (swarm) { - if (swarm[1].length === (32 * 2)) { - return [2 /*return*/, "bzz:/\/" + swarm[1]]; - } - } - skynet = hexBytes.match(/^0x90b2c605([0-9a-f]*)$/); - if (skynet) { - if (skynet[1].length === (34 * 2)) { - urlSafe_1 = { "=": "", "+": "-", "/": "_" }; - hash = (0, base64_1.encode)("0x" + skynet[1]).replace(/[=+\/]/g, function (a) { return (urlSafe_1[a]); }); - return [2 /*return*/, "sia:/\/" + hash]; - } - } - return [2 /*return*/, logger.throwError("invalid or unsupported content hash data", logger_1.Logger.errors.UNSUPPORTED_OPERATION, { - operation: "getContentHash()", - data: hexBytes - })]; - } - }); - }); - }; - Resolver.prototype.getText = function (key) { - return __awaiter(this, void 0, void 0, function () { - var keyBytes, hexBytes; - return __generator(this, function (_a) { - switch (_a.label) { - case 0: - keyBytes = (0, strings_1.toUtf8Bytes)(key); - // The nodehash consumes the first slot, so the string pointer targets - // offset 64, with the length at offset 64 and data starting at offset 96 - keyBytes = (0, bytes_1.concat)([bytes32ify(64), bytes32ify(keyBytes.length), keyBytes]); - // Pad to word-size (32 bytes) - if ((keyBytes.length % 32) !== 0) { - keyBytes = (0, bytes_1.concat)([keyBytes, (0, bytes_1.hexZeroPad)("0x", 32 - (key.length % 32))]); - } - return [4 /*yield*/, this._fetchBytes("0x59d1d43c", (0, bytes_1.hexlify)(keyBytes))]; - case 1: - hexBytes = _a.sent(); - if (hexBytes == null || hexBytes === "0x") { - return [2 /*return*/, null]; - } - return [2 /*return*/, (0, strings_1.toUtf8String)(hexBytes)]; - } - }); - }); - }; - return Resolver; -}()); -exports.Resolver = Resolver; -var defaultFormatter = null; -var nextPollId = 1; -var BaseProvider = /** @class */ (function (_super) { - __extends(BaseProvider, _super); - /** - * ready - * - * A Promise that resolves only once the provider is ready. - * - * Sub-classes that call the super with a network without a chainId - * MUST set this. Standard named networks have a known chainId. - * - */ - function BaseProvider(network) { - var _newTarget = this.constructor; - var _this = _super.call(this) || this; - // Events being listened to - _this._events = []; - _this._emitted = { block: -2 }; - _this.disableCcipRead = false; - _this.formatter = _newTarget.getFormatter(); - // If network is any, this Provider allows the underlying - // network to change dynamically, and we auto-detect the - // current network - (0, properties_1.defineReadOnly)(_this, "anyNetwork", (network === "any")); - if (_this.anyNetwork) { - network = _this.detectNetwork(); - } - if (network instanceof Promise) { - _this._networkPromise = network; - // Squash any "unhandled promise" errors; that do not need to be handled - network.catch(function (error) { }); - // Trigger initial network setting (async) - _this._ready().catch(function (error) { }); - } - else { - var knownNetwork = (0, properties_1.getStatic)(_newTarget, "getNetwork")(network); - if (knownNetwork) { - (0, properties_1.defineReadOnly)(_this, "_network", knownNetwork); - _this.emit("network", knownNetwork, null); - } - else { - logger.throwArgumentError("invalid network", "network", network); - } - } - _this._maxInternalBlockNumber = -1024; - _this._lastBlockNumber = -2; - _this._maxFilterBlockRange = 10; - _this._pollingInterval = 4000; - _this._fastQueryDate = 0; - return _this; - } - BaseProvider.prototype._ready = function () { - return __awaiter(this, void 0, void 0, function () { - var network, error_4; - return __generator(this, function (_a) { - switch (_a.label) { - case 0: - if (!(this._network == null)) return [3 /*break*/, 7]; - network = null; - if (!this._networkPromise) return [3 /*break*/, 4]; - _a.label = 1; - case 1: - _a.trys.push([1, 3, , 4]); - return [4 /*yield*/, this._networkPromise]; - case 2: - network = _a.sent(); - return [3 /*break*/, 4]; - case 3: - error_4 = _a.sent(); - return [3 /*break*/, 4]; - case 4: - if (!(network == null)) return [3 /*break*/, 6]; - return [4 /*yield*/, this.detectNetwork()]; - case 5: - network = _a.sent(); - _a.label = 6; - case 6: - // This should never happen; every Provider sub-class should have - // suggested a network by here (or have thrown). - if (!network) { - logger.throwError("no network detected", logger_1.Logger.errors.UNKNOWN_ERROR, {}); - } - // Possible this call stacked so do not call defineReadOnly again - if (this._network == null) { - if (this.anyNetwork) { - this._network = network; - } - else { - (0, properties_1.defineReadOnly)(this, "_network", network); - } - this.emit("network", network, null); - } - _a.label = 7; - case 7: return [2 /*return*/, this._network]; - } - }); - }); - }; - Object.defineProperty(BaseProvider.prototype, "ready", { - // This will always return the most recently established network. - // For "any", this can change (a "network" event is emitted before - // any change is reflected); otherwise this cannot change - get: function () { - var _this = this; - return (0, web_1.poll)(function () { - return _this._ready().then(function (network) { - return network; - }, function (error) { - // If the network isn't running yet, we will wait - if (error.code === logger_1.Logger.errors.NETWORK_ERROR && error.event === "noNetwork") { - return undefined; - } - throw error; - }); - }); - }, - enumerable: false, - configurable: true - }); - // @TODO: Remove this and just create a singleton formatter - BaseProvider.getFormatter = function () { - if (defaultFormatter == null) { - defaultFormatter = new formatter_1.Formatter(); - } - return defaultFormatter; - }; - // @TODO: Remove this and just use getNetwork - BaseProvider.getNetwork = function (network) { - return (0, networks_1.getNetwork)((network == null) ? "homestead" : network); - }; - BaseProvider.prototype.ccipReadFetch = function (tx, calldata, urls) { - return __awaiter(this, void 0, void 0, function () { - var sender, data, errorMessages, i, url, href, json, result, errorMessage; - return __generator(this, function (_a) { - switch (_a.label) { - case 0: - if (this.disableCcipRead || urls.length === 0) { - return [2 /*return*/, null]; - } - sender = tx.to.toLowerCase(); - data = calldata.toLowerCase(); - errorMessages = []; - i = 0; - _a.label = 1; - case 1: - if (!(i < urls.length)) return [3 /*break*/, 4]; - url = urls[i]; - href = url.replace("{sender}", sender).replace("{data}", data); - json = (url.indexOf("{data}") >= 0) ? null : JSON.stringify({ data: data, sender: sender }); - return [4 /*yield*/, (0, web_1.fetchJson)({ url: href, errorPassThrough: true }, json, function (value, response) { - value.status = response.statusCode; - return value; - })]; - case 2: - result = _a.sent(); - if (result.data) { - return [2 /*return*/, result.data]; - } - errorMessage = (result.message || "unknown error"); - // 4xx indicates the result is not present; stop - if (result.status >= 400 && result.status < 500) { - return [2 /*return*/, logger.throwError("response not found during CCIP fetch: " + errorMessage, logger_1.Logger.errors.SERVER_ERROR, { url: url, errorMessage: errorMessage })]; - } - // 5xx indicates server issue; try the next url - errorMessages.push(errorMessage); - _a.label = 3; - case 3: - i++; - return [3 /*break*/, 1]; - case 4: return [2 /*return*/, logger.throwError("error encountered during CCIP fetch: " + errorMessages.map(function (m) { return JSON.stringify(m); }).join(", "), logger_1.Logger.errors.SERVER_ERROR, { - urls: urls, - errorMessages: errorMessages - })]; - } - }); - }); - }; - // Fetches the blockNumber, but will reuse any result that is less - // than maxAge old or has been requested since the last request - BaseProvider.prototype._getInternalBlockNumber = function (maxAge) { - return __awaiter(this, void 0, void 0, function () { - var internalBlockNumber, result, error_5, reqTime, checkInternalBlockNumber; - var _this = this; - return __generator(this, function (_a) { - switch (_a.label) { - case 0: return [4 /*yield*/, this._ready()]; - case 1: - _a.sent(); - if (!(maxAge > 0)) return [3 /*break*/, 7]; - _a.label = 2; - case 2: - if (!this._internalBlockNumber) return [3 /*break*/, 7]; - internalBlockNumber = this._internalBlockNumber; - _a.label = 3; - case 3: - _a.trys.push([3, 5, , 6]); - return [4 /*yield*/, internalBlockNumber]; - case 4: - result = _a.sent(); - if ((getTime() - result.respTime) <= maxAge) { - return [2 /*return*/, result.blockNumber]; - } - // Too old; fetch a new value - return [3 /*break*/, 7]; - case 5: - error_5 = _a.sent(); - // The fetch rejected; if we are the first to get the - // rejection, drop through so we replace it with a new - // fetch; all others blocked will then get that fetch - // which won't match the one they "remembered" and loop - if (this._internalBlockNumber === internalBlockNumber) { - return [3 /*break*/, 7]; - } - return [3 /*break*/, 6]; - case 6: return [3 /*break*/, 2]; - case 7: - reqTime = getTime(); - checkInternalBlockNumber = (0, properties_1.resolveProperties)({ - blockNumber: this.perform("getBlockNumber", {}), - networkError: this.getNetwork().then(function (network) { return (null); }, function (error) { return (error); }) - }).then(function (_a) { - var blockNumber = _a.blockNumber, networkError = _a.networkError; - if (networkError) { - // Unremember this bad internal block number - if (_this._internalBlockNumber === checkInternalBlockNumber) { - _this._internalBlockNumber = null; - } - throw networkError; - } - var respTime = getTime(); - blockNumber = bignumber_1.BigNumber.from(blockNumber).toNumber(); - if (blockNumber < _this._maxInternalBlockNumber) { - blockNumber = _this._maxInternalBlockNumber; - } - _this._maxInternalBlockNumber = blockNumber; - _this._setFastBlockNumber(blockNumber); // @TODO: Still need this? - return { blockNumber: blockNumber, reqTime: reqTime, respTime: respTime }; - }); - this._internalBlockNumber = checkInternalBlockNumber; - // Swallow unhandled exceptions; if needed they are handled else where - checkInternalBlockNumber.catch(function (error) { - // Don't null the dead (rejected) fetch, if it has already been updated - if (_this._internalBlockNumber === checkInternalBlockNumber) { - _this._internalBlockNumber = null; - } - }); - return [4 /*yield*/, checkInternalBlockNumber]; - case 8: return [2 /*return*/, (_a.sent()).blockNumber]; - } - }); - }); - }; - BaseProvider.prototype.poll = function () { - return __awaiter(this, void 0, void 0, function () { - var pollId, runners, blockNumber, error_6, i; - var _this = this; - return __generator(this, function (_a) { - switch (_a.label) { - case 0: - pollId = nextPollId++; - runners = []; - blockNumber = null; - _a.label = 1; - case 1: - _a.trys.push([1, 3, , 4]); - return [4 /*yield*/, this._getInternalBlockNumber(100 + this.pollingInterval / 2)]; - case 2: - blockNumber = _a.sent(); - return [3 /*break*/, 4]; - case 3: - error_6 = _a.sent(); - this.emit("error", error_6); - return [2 /*return*/]; - case 4: - this._setFastBlockNumber(blockNumber); - // Emit a poll event after we have the latest (fast) block number - this.emit("poll", pollId, blockNumber); - // If the block has not changed, meh. - if (blockNumber === this._lastBlockNumber) { - this.emit("didPoll", pollId); - return [2 /*return*/]; - } - // First polling cycle, trigger a "block" events - if (this._emitted.block === -2) { - this._emitted.block = blockNumber - 1; - } - if (Math.abs((this._emitted.block) - blockNumber) > 1000) { - logger.warn("network block skew detected; skipping block events (emitted=" + this._emitted.block + " blockNumber" + blockNumber + ")"); - this.emit("error", logger.makeError("network block skew detected", logger_1.Logger.errors.NETWORK_ERROR, { - blockNumber: blockNumber, - event: "blockSkew", - previousBlockNumber: this._emitted.block - })); - this.emit("block", blockNumber); - } - else { - // Notify all listener for each block that has passed - for (i = this._emitted.block + 1; i <= blockNumber; i++) { - this.emit("block", i); - } - } - // The emitted block was updated, check for obsolete events - if (this._emitted.block !== blockNumber) { - this._emitted.block = blockNumber; - Object.keys(this._emitted).forEach(function (key) { - // The block event does not expire - if (key === "block") { - return; - } - // The block we were at when we emitted this event - var eventBlockNumber = _this._emitted[key]; - // We cannot garbage collect pending transactions or blocks here - // They should be garbage collected by the Provider when setting - // "pending" events - if (eventBlockNumber === "pending") { - return; - } - // Evict any transaction hashes or block hashes over 12 blocks - // old, since they should not return null anyways - if (blockNumber - eventBlockNumber > 12) { - delete _this._emitted[key]; - } - }); - } - // First polling cycle - if (this._lastBlockNumber === -2) { - this._lastBlockNumber = blockNumber - 1; - } - // Find all transaction hashes we are waiting on - this._events.forEach(function (event) { - switch (event.type) { - case "tx": { - var hash_2 = event.hash; - var runner = _this.getTransactionReceipt(hash_2).then(function (receipt) { - if (!receipt || receipt.blockNumber == null) { - return null; - } - _this._emitted["t:" + hash_2] = receipt.blockNumber; - _this.emit(hash_2, receipt); - return null; - }).catch(function (error) { _this.emit("error", error); }); - runners.push(runner); - break; - } - case "filter": { - // We only allow a single getLogs to be in-flight at a time - if (!event._inflight) { - event._inflight = true; - // This is the first filter for this event, so we want to - // restrict events to events that happened no earlier than now - if (event._lastBlockNumber === -2) { - event._lastBlockNumber = blockNumber - 1; - } - // Filter from the last *known* event; due to load-balancing - // and some nodes returning updated block numbers before - // indexing events, a logs result with 0 entries cannot be - // trusted and we must retry a range which includes it again - var filter_1 = event.filter; - filter_1.fromBlock = event._lastBlockNumber + 1; - filter_1.toBlock = blockNumber; - // Prevent fitler ranges from growing too wild, since it is quite - // likely there just haven't been any events to move the lastBlockNumber. - var minFromBlock = filter_1.toBlock - _this._maxFilterBlockRange; - if (minFromBlock > filter_1.fromBlock) { - filter_1.fromBlock = minFromBlock; - } - if (filter_1.fromBlock < 0) { - filter_1.fromBlock = 0; - } - var runner = _this.getLogs(filter_1).then(function (logs) { - // Allow the next getLogs - event._inflight = false; - if (logs.length === 0) { - return; - } - logs.forEach(function (log) { - // Only when we get an event for a given block number - // can we trust the events are indexed - if (log.blockNumber > event._lastBlockNumber) { - event._lastBlockNumber = log.blockNumber; - } - // Make sure we stall requests to fetch blocks and txs - _this._emitted["b:" + log.blockHash] = log.blockNumber; - _this._emitted["t:" + log.transactionHash] = log.blockNumber; - _this.emit(filter_1, log); - }); - }).catch(function (error) { - _this.emit("error", error); - // Allow another getLogs (the range was not updated) - event._inflight = false; - }); - runners.push(runner); - } - break; - } - } - }); - this._lastBlockNumber = blockNumber; - // Once all events for this loop have been processed, emit "didPoll" - Promise.all(runners).then(function () { - _this.emit("didPoll", pollId); - }).catch(function (error) { _this.emit("error", error); }); - return [2 /*return*/]; - } - }); - }); - }; - // Deprecated; do not use this - BaseProvider.prototype.resetEventsBlock = function (blockNumber) { - this._lastBlockNumber = blockNumber - 1; - if (this.polling) { - this.poll(); - } - }; - Object.defineProperty(BaseProvider.prototype, "network", { - get: function () { - return this._network; - }, - enumerable: false, - configurable: true - }); - // This method should query the network if the underlying network - // can change, such as when connected to a JSON-RPC backend - BaseProvider.prototype.detectNetwork = function () { - return __awaiter(this, void 0, void 0, function () { - return __generator(this, function (_a) { - return [2 /*return*/, logger.throwError("provider does not support network detection", logger_1.Logger.errors.UNSUPPORTED_OPERATION, { - operation: "provider.detectNetwork" - })]; - }); - }); - }; - BaseProvider.prototype.getNetwork = function () { - return __awaiter(this, void 0, void 0, function () { - var network, currentNetwork, error; - return __generator(this, function (_a) { - switch (_a.label) { - case 0: return [4 /*yield*/, this._ready()]; - case 1: - network = _a.sent(); - return [4 /*yield*/, this.detectNetwork()]; - case 2: - currentNetwork = _a.sent(); - if (!(network.chainId !== currentNetwork.chainId)) return [3 /*break*/, 5]; - if (!this.anyNetwork) return [3 /*break*/, 4]; - this._network = currentNetwork; - // Reset all internal block number guards and caches - this._lastBlockNumber = -2; - this._fastBlockNumber = null; - this._fastBlockNumberPromise = null; - this._fastQueryDate = 0; - this._emitted.block = -2; - this._maxInternalBlockNumber = -1024; - this._internalBlockNumber = null; - // The "network" event MUST happen before this method resolves - // so any events have a chance to unregister, so we stall an - // additional event loop before returning from /this/ call - this.emit("network", currentNetwork, network); - return [4 /*yield*/, stall(0)]; - case 3: - _a.sent(); - return [2 /*return*/, this._network]; - case 4: - error = logger.makeError("underlying network changed", logger_1.Logger.errors.NETWORK_ERROR, { - event: "changed", - network: network, - detectedNetwork: currentNetwork - }); - this.emit("error", error); - throw error; - case 5: return [2 /*return*/, network]; - } - }); - }); - }; - Object.defineProperty(BaseProvider.prototype, "blockNumber", { - get: function () { - var _this = this; - this._getInternalBlockNumber(100 + this.pollingInterval / 2).then(function (blockNumber) { - _this._setFastBlockNumber(blockNumber); - }, function (error) { }); - return (this._fastBlockNumber != null) ? this._fastBlockNumber : -1; - }, - enumerable: false, - configurable: true - }); - Object.defineProperty(BaseProvider.prototype, "polling", { - get: function () { - return (this._poller != null); - }, - set: function (value) { - var _this = this; - if (value && !this._poller) { - this._poller = setInterval(function () { _this.poll(); }, this.pollingInterval); - if (!this._bootstrapPoll) { - this._bootstrapPoll = setTimeout(function () { - _this.poll(); - // We block additional polls until the polling interval - // is done, to prevent overwhelming the poll function - _this._bootstrapPoll = setTimeout(function () { - // If polling was disabled, something may require a poke - // since starting the bootstrap poll and it was disabled - if (!_this._poller) { - _this.poll(); - } - // Clear out the bootstrap so we can do another - _this._bootstrapPoll = null; - }, _this.pollingInterval); - }, 0); - } - } - else if (!value && this._poller) { - clearInterval(this._poller); - this._poller = null; - } - }, - enumerable: false, - configurable: true - }); - Object.defineProperty(BaseProvider.prototype, "pollingInterval", { - get: function () { - return this._pollingInterval; - }, - set: function (value) { - var _this = this; - if (typeof (value) !== "number" || value <= 0 || parseInt(String(value)) != value) { - throw new Error("invalid polling interval"); - } - this._pollingInterval = value; - if (this._poller) { - clearInterval(this._poller); - this._poller = setInterval(function () { _this.poll(); }, this._pollingInterval); - } - }, - enumerable: false, - configurable: true - }); - BaseProvider.prototype._getFastBlockNumber = function () { - var _this = this; - var now = getTime(); - // Stale block number, request a newer value - if ((now - this._fastQueryDate) > 2 * this._pollingInterval) { - this._fastQueryDate = now; - this._fastBlockNumberPromise = this.getBlockNumber().then(function (blockNumber) { - if (_this._fastBlockNumber == null || blockNumber > _this._fastBlockNumber) { - _this._fastBlockNumber = blockNumber; - } - return _this._fastBlockNumber; - }); - } - return this._fastBlockNumberPromise; - }; - BaseProvider.prototype._setFastBlockNumber = function (blockNumber) { - // Older block, maybe a stale request - if (this._fastBlockNumber != null && blockNumber < this._fastBlockNumber) { - return; - } - // Update the time we updated the blocknumber - this._fastQueryDate = getTime(); - // Newer block number, use it - if (this._fastBlockNumber == null || blockNumber > this._fastBlockNumber) { - this._fastBlockNumber = blockNumber; - this._fastBlockNumberPromise = Promise.resolve(blockNumber); - } - }; - BaseProvider.prototype.waitForTransaction = function (transactionHash, confirmations, timeout) { - return __awaiter(this, void 0, void 0, function () { - return __generator(this, function (_a) { - return [2 /*return*/, this._waitForTransaction(transactionHash, (confirmations == null) ? 1 : confirmations, timeout || 0, null)]; - }); - }); - }; - BaseProvider.prototype._waitForTransaction = function (transactionHash, confirmations, timeout, replaceable) { - return __awaiter(this, void 0, void 0, function () { - var receipt; - var _this = this; - return __generator(this, function (_a) { - switch (_a.label) { - case 0: return [4 /*yield*/, this.getTransactionReceipt(transactionHash)]; - case 1: - receipt = _a.sent(); - // Receipt is already good - if ((receipt ? receipt.confirmations : 0) >= confirmations) { - return [2 /*return*/, receipt]; - } - // Poll until the receipt is good... - return [2 /*return*/, new Promise(function (resolve, reject) { - var cancelFuncs = []; - var done = false; - var alreadyDone = function () { - if (done) { - return true; - } - done = true; - cancelFuncs.forEach(function (func) { func(); }); - return false; - }; - var minedHandler = function (receipt) { - if (receipt.confirmations < confirmations) { - return; - } - if (alreadyDone()) { - return; - } - resolve(receipt); - }; - _this.on(transactionHash, minedHandler); - cancelFuncs.push(function () { _this.removeListener(transactionHash, minedHandler); }); - if (replaceable) { - var lastBlockNumber_1 = replaceable.startBlock; - var scannedBlock_1 = null; - var replaceHandler_1 = function (blockNumber) { return __awaiter(_this, void 0, void 0, function () { - var _this = this; - return __generator(this, function (_a) { - switch (_a.label) { - case 0: - if (done) { - return [2 /*return*/]; - } - // Wait 1 second; this is only used in the case of a fault, so - // we will trade off a little bit of latency for more consistent - // results and fewer JSON-RPC calls - return [4 /*yield*/, stall(1000)]; - case 1: - // Wait 1 second; this is only used in the case of a fault, so - // we will trade off a little bit of latency for more consistent - // results and fewer JSON-RPC calls - _a.sent(); - this.getTransactionCount(replaceable.from).then(function (nonce) { return __awaiter(_this, void 0, void 0, function () { - var mined, block, ti, tx, receipt_1, reason; - return __generator(this, function (_a) { - switch (_a.label) { - case 0: - if (done) { - return [2 /*return*/]; - } - if (!(nonce <= replaceable.nonce)) return [3 /*break*/, 1]; - lastBlockNumber_1 = blockNumber; - return [3 /*break*/, 9]; - case 1: return [4 /*yield*/, this.getTransaction(transactionHash)]; - case 2: - mined = _a.sent(); - if (mined && mined.blockNumber != null) { - return [2 /*return*/]; - } - // First time scanning. We start a little earlier for some - // wiggle room here to handle the eventually consistent nature - // of blockchain (e.g. the getTransactionCount was for a - // different block) - if (scannedBlock_1 == null) { - scannedBlock_1 = lastBlockNumber_1 - 3; - if (scannedBlock_1 < replaceable.startBlock) { - scannedBlock_1 = replaceable.startBlock; - } - } - _a.label = 3; - case 3: - if (!(scannedBlock_1 <= blockNumber)) return [3 /*break*/, 9]; - if (done) { - return [2 /*return*/]; - } - return [4 /*yield*/, this.getBlockWithTransactions(scannedBlock_1)]; - case 4: - block = _a.sent(); - ti = 0; - _a.label = 5; - case 5: - if (!(ti < block.transactions.length)) return [3 /*break*/, 8]; - tx = block.transactions[ti]; - // Successfully mined! - if (tx.hash === transactionHash) { - return [2 /*return*/]; - } - if (!(tx.from === replaceable.from && tx.nonce === replaceable.nonce)) return [3 /*break*/, 7]; - if (done) { - return [2 /*return*/]; - } - return [4 /*yield*/, this.waitForTransaction(tx.hash, confirmations)]; - case 6: - receipt_1 = _a.sent(); - // Already resolved or rejected (prolly a timeout) - if (alreadyDone()) { - return [2 /*return*/]; - } - reason = "replaced"; - if (tx.data === replaceable.data && tx.to === replaceable.to && tx.value.eq(replaceable.value)) { - reason = "repriced"; - } - else if (tx.data === "0x" && tx.from === tx.to && tx.value.isZero()) { - reason = "cancelled"; - } - // Explain why we were replaced - reject(logger.makeError("transaction was replaced", logger_1.Logger.errors.TRANSACTION_REPLACED, { - cancelled: (reason === "replaced" || reason === "cancelled"), - reason: reason, - replacement: this._wrapTransaction(tx), - hash: transactionHash, - receipt: receipt_1 - })); - return [2 /*return*/]; - case 7: - ti++; - return [3 /*break*/, 5]; - case 8: - scannedBlock_1++; - return [3 /*break*/, 3]; - case 9: - if (done) { - return [2 /*return*/]; - } - this.once("block", replaceHandler_1); - return [2 /*return*/]; - } - }); - }); }, function (error) { - if (done) { - return; - } - _this.once("block", replaceHandler_1); - }); - return [2 /*return*/]; - } - }); - }); }; - if (done) { - return; - } - _this.once("block", replaceHandler_1); - cancelFuncs.push(function () { - _this.removeListener("block", replaceHandler_1); - }); - } - if (typeof (timeout) === "number" && timeout > 0) { - var timer_1 = setTimeout(function () { - if (alreadyDone()) { - return; - } - reject(logger.makeError("timeout exceeded", logger_1.Logger.errors.TIMEOUT, { timeout: timeout })); - }, timeout); - if (timer_1.unref) { - timer_1.unref(); - } - cancelFuncs.push(function () { clearTimeout(timer_1); }); - } - })]; - } - }); - }); - }; - BaseProvider.prototype.getBlockNumber = function () { - return __awaiter(this, void 0, void 0, function () { - return __generator(this, function (_a) { - return [2 /*return*/, this._getInternalBlockNumber(0)]; - }); - }); - }; - BaseProvider.prototype.getGasPrice = function () { - return __awaiter(this, void 0, void 0, function () { - var result; - return __generator(this, function (_a) { - switch (_a.label) { - case 0: return [4 /*yield*/, this.getNetwork()]; - case 1: - _a.sent(); - return [4 /*yield*/, this.perform("getGasPrice", {})]; - case 2: - result = _a.sent(); - try { - return [2 /*return*/, bignumber_1.BigNumber.from(result)]; - } - catch (error) { - return [2 /*return*/, logger.throwError("bad result from backend", logger_1.Logger.errors.SERVER_ERROR, { - method: "getGasPrice", - result: result, - error: error - })]; - } - return [2 /*return*/]; - } - }); - }); - }; - BaseProvider.prototype.getBalance = function (addressOrName, blockTag) { - return __awaiter(this, void 0, void 0, function () { - var params, result; - return __generator(this, function (_a) { - switch (_a.label) { - case 0: return [4 /*yield*/, this.getNetwork()]; - case 1: - _a.sent(); - return [4 /*yield*/, (0, properties_1.resolveProperties)({ - address: this._getAddress(addressOrName), - blockTag: this._getBlockTag(blockTag) - })]; - case 2: - params = _a.sent(); - return [4 /*yield*/, this.perform("getBalance", params)]; - case 3: - result = _a.sent(); - try { - return [2 /*return*/, bignumber_1.BigNumber.from(result)]; - } - catch (error) { - return [2 /*return*/, logger.throwError("bad result from backend", logger_1.Logger.errors.SERVER_ERROR, { - method: "getBalance", - params: params, - result: result, - error: error - })]; - } - return [2 /*return*/]; - } - }); - }); - }; - BaseProvider.prototype.getTransactionCount = function (addressOrName, blockTag) { - return __awaiter(this, void 0, void 0, function () { - var params, result; - return __generator(this, function (_a) { - switch (_a.label) { - case 0: return [4 /*yield*/, this.getNetwork()]; - case 1: - _a.sent(); - return [4 /*yield*/, (0, properties_1.resolveProperties)({ - address: this._getAddress(addressOrName), - blockTag: this._getBlockTag(blockTag) - })]; - case 2: - params = _a.sent(); - return [4 /*yield*/, this.perform("getTransactionCount", params)]; - case 3: - result = _a.sent(); - try { - return [2 /*return*/, bignumber_1.BigNumber.from(result).toNumber()]; - } - catch (error) { - return [2 /*return*/, logger.throwError("bad result from backend", logger_1.Logger.errors.SERVER_ERROR, { - method: "getTransactionCount", - params: params, - result: result, - error: error - })]; - } - return [2 /*return*/]; - } - }); - }); - }; - BaseProvider.prototype.getCode = function (addressOrName, blockTag) { - return __awaiter(this, void 0, void 0, function () { - var params, result; - return __generator(this, function (_a) { - switch (_a.label) { - case 0: return [4 /*yield*/, this.getNetwork()]; - case 1: - _a.sent(); - return [4 /*yield*/, (0, properties_1.resolveProperties)({ - address: this._getAddress(addressOrName), - blockTag: this._getBlockTag(blockTag) - })]; - case 2: - params = _a.sent(); - return [4 /*yield*/, this.perform("getCode", params)]; - case 3: - result = _a.sent(); - try { - return [2 /*return*/, (0, bytes_1.hexlify)(result)]; - } - catch (error) { - return [2 /*return*/, logger.throwError("bad result from backend", logger_1.Logger.errors.SERVER_ERROR, { - method: "getCode", - params: params, - result: result, - error: error - })]; - } - return [2 /*return*/]; - } - }); - }); - }; - BaseProvider.prototype.getStorageAt = function (addressOrName, position, blockTag) { - return __awaiter(this, void 0, void 0, function () { - var params, result; - return __generator(this, function (_a) { - switch (_a.label) { - case 0: return [4 /*yield*/, this.getNetwork()]; - case 1: - _a.sent(); - return [4 /*yield*/, (0, properties_1.resolveProperties)({ - address: this._getAddress(addressOrName), - blockTag: this._getBlockTag(blockTag), - position: Promise.resolve(position).then(function (p) { return (0, bytes_1.hexValue)(p); }) - })]; - case 2: - params = _a.sent(); - return [4 /*yield*/, this.perform("getStorageAt", params)]; - case 3: - result = _a.sent(); - try { - return [2 /*return*/, (0, bytes_1.hexlify)(result)]; - } - catch (error) { - return [2 /*return*/, logger.throwError("bad result from backend", logger_1.Logger.errors.SERVER_ERROR, { - method: "getStorageAt", - params: params, - result: result, - error: error - })]; - } - return [2 /*return*/]; - } - }); - }); - }; - // This should be called by any subclass wrapping a TransactionResponse - BaseProvider.prototype._wrapTransaction = function (tx, hash, startBlock) { - var _this = this; - if (hash != null && (0, bytes_1.hexDataLength)(hash) !== 32) { - throw new Error("invalid response - sendTransaction"); - } - var result = tx; - // Check the hash we expect is the same as the hash the server reported - if (hash != null && tx.hash !== hash) { - logger.throwError("Transaction hash mismatch from Provider.sendTransaction.", logger_1.Logger.errors.UNKNOWN_ERROR, { expectedHash: tx.hash, returnedHash: hash }); - } - result.wait = function (confirms, timeout) { return __awaiter(_this, void 0, void 0, function () { - var replacement, receipt; - return __generator(this, function (_a) { - switch (_a.label) { - case 0: - if (confirms == null) { - confirms = 1; - } - if (timeout == null) { - timeout = 0; - } - replacement = undefined; - if (confirms !== 0 && startBlock != null) { - replacement = { - data: tx.data, - from: tx.from, - nonce: tx.nonce, - to: tx.to, - value: tx.value, - startBlock: startBlock - }; - } - return [4 /*yield*/, this._waitForTransaction(tx.hash, confirms, timeout, replacement)]; - case 1: - receipt = _a.sent(); - if (receipt == null && confirms === 0) { - return [2 /*return*/, null]; - } - // No longer pending, allow the polling loop to garbage collect this - this._emitted["t:" + tx.hash] = receipt.blockNumber; - if (receipt.status === 0) { - logger.throwError("transaction failed", logger_1.Logger.errors.CALL_EXCEPTION, { - transactionHash: tx.hash, - transaction: tx, - receipt: receipt - }); - } - return [2 /*return*/, receipt]; - } - }); - }); }; - return result; - }; - BaseProvider.prototype.sendTransaction = function (signedTransaction) { - return __awaiter(this, void 0, void 0, function () { - var hexTx, tx, blockNumber, hash, error_7; - return __generator(this, function (_a) { - switch (_a.label) { - case 0: return [4 /*yield*/, this.getNetwork()]; - case 1: - _a.sent(); - return [4 /*yield*/, Promise.resolve(signedTransaction).then(function (t) { return (0, bytes_1.hexlify)(t); })]; - case 2: - hexTx = _a.sent(); - tx = this.formatter.transaction(signedTransaction); - if (tx.confirmations == null) { - tx.confirmations = 0; - } - return [4 /*yield*/, this._getInternalBlockNumber(100 + 2 * this.pollingInterval)]; - case 3: - blockNumber = _a.sent(); - _a.label = 4; - case 4: - _a.trys.push([4, 6, , 7]); - return [4 /*yield*/, this.perform("sendTransaction", { signedTransaction: hexTx })]; - case 5: - hash = _a.sent(); - return [2 /*return*/, this._wrapTransaction(tx, hash, blockNumber)]; - case 6: - error_7 = _a.sent(); - error_7.transaction = tx; - error_7.transactionHash = tx.hash; - throw error_7; - case 7: return [2 /*return*/]; - } - }); - }); - }; - BaseProvider.prototype._getTransactionRequest = function (transaction) { - return __awaiter(this, void 0, void 0, function () { - var values, tx, _a, _b; - var _this = this; - return __generator(this, function (_c) { - switch (_c.label) { - case 0: return [4 /*yield*/, transaction]; - case 1: - values = _c.sent(); - tx = {}; - ["from", "to"].forEach(function (key) { - if (values[key] == null) { - return; - } - tx[key] = Promise.resolve(values[key]).then(function (v) { return (v ? _this._getAddress(v) : null); }); - }); - ["gasLimit", "gasPrice", "maxFeePerGas", "maxPriorityFeePerGas", "value"].forEach(function (key) { - if (values[key] == null) { - return; - } - tx[key] = Promise.resolve(values[key]).then(function (v) { return (v ? bignumber_1.BigNumber.from(v) : null); }); - }); - ["type"].forEach(function (key) { - if (values[key] == null) { - return; - } - tx[key] = Promise.resolve(values[key]).then(function (v) { return ((v != null) ? v : null); }); - }); - if (values.accessList) { - tx.accessList = this.formatter.accessList(values.accessList); - } - ["data"].forEach(function (key) { - if (values[key] == null) { - return; - } - tx[key] = Promise.resolve(values[key]).then(function (v) { return (v ? (0, bytes_1.hexlify)(v) : null); }); - }); - _b = (_a = this.formatter).transactionRequest; - return [4 /*yield*/, (0, properties_1.resolveProperties)(tx)]; - case 2: return [2 /*return*/, _b.apply(_a, [_c.sent()])]; - } - }); - }); - }; - BaseProvider.prototype._getFilter = function (filter) { - return __awaiter(this, void 0, void 0, function () { - var result, _a, _b; - var _this = this; - return __generator(this, function (_c) { - switch (_c.label) { - case 0: return [4 /*yield*/, filter]; - case 1: - filter = _c.sent(); - result = {}; - if (filter.address != null) { - result.address = this._getAddress(filter.address); - } - ["blockHash", "topics"].forEach(function (key) { - if (filter[key] == null) { - return; - } - result[key] = filter[key]; - }); - ["fromBlock", "toBlock"].forEach(function (key) { - if (filter[key] == null) { - return; - } - result[key] = _this._getBlockTag(filter[key]); - }); - _b = (_a = this.formatter).filter; - return [4 /*yield*/, (0, properties_1.resolveProperties)(result)]; - case 2: return [2 /*return*/, _b.apply(_a, [_c.sent()])]; - } - }); - }); - }; - BaseProvider.prototype._call = function (transaction, blockTag, attempt) { - return __awaiter(this, void 0, void 0, function () { - var txSender, result, data, sender, urls, urlsOffset, urlsLength, urlsData, u, url, calldata, callbackSelector, extraData, ccipResult, tx, error_8; - return __generator(this, function (_a) { - switch (_a.label) { - case 0: - if (attempt >= MAX_CCIP_REDIRECTS) { - logger.throwError("CCIP read exceeded maximum redirections", logger_1.Logger.errors.SERVER_ERROR, { - redirects: attempt, - transaction: transaction - }); - } - txSender = transaction.to; - return [4 /*yield*/, this.perform("call", { transaction: transaction, blockTag: blockTag })]; - case 1: - result = _a.sent(); - if (!(attempt >= 0 && blockTag === "latest" && txSender != null && result.substring(0, 10) === "0x556f1830" && ((0, bytes_1.hexDataLength)(result) % 32 === 4))) return [3 /*break*/, 5]; - _a.label = 2; - case 2: - _a.trys.push([2, 4, , 5]); - data = (0, bytes_1.hexDataSlice)(result, 4); - sender = (0, bytes_1.hexDataSlice)(data, 0, 32); - if (!bignumber_1.BigNumber.from(sender).eq(txSender)) { - logger.throwError("CCIP Read sender did not match", logger_1.Logger.errors.CALL_EXCEPTION, { - name: "OffchainLookup", - signature: "OffchainLookup(address,string[],bytes,bytes4,bytes)", - transaction: transaction, - data: result - }); - } - urls = []; - urlsOffset = bignumber_1.BigNumber.from((0, bytes_1.hexDataSlice)(data, 32, 64)).toNumber(); - urlsLength = bignumber_1.BigNumber.from((0, bytes_1.hexDataSlice)(data, urlsOffset, urlsOffset + 32)).toNumber(); - urlsData = (0, bytes_1.hexDataSlice)(data, urlsOffset + 32); - for (u = 0; u < urlsLength; u++) { - url = _parseString(urlsData, u * 32); - if (url == null) { - logger.throwError("CCIP Read contained corrupt URL string", logger_1.Logger.errors.CALL_EXCEPTION, { - name: "OffchainLookup", - signature: "OffchainLookup(address,string[],bytes,bytes4,bytes)", - transaction: transaction, - data: result - }); - } - urls.push(url); - } - calldata = _parseBytes(data, 64); - // Get the callbackSelector (bytes4) - if (!bignumber_1.BigNumber.from((0, bytes_1.hexDataSlice)(data, 100, 128)).isZero()) { - logger.throwError("CCIP Read callback selector included junk", logger_1.Logger.errors.CALL_EXCEPTION, { - name: "OffchainLookup", - signature: "OffchainLookup(address,string[],bytes,bytes4,bytes)", - transaction: transaction, - data: result - }); - } - callbackSelector = (0, bytes_1.hexDataSlice)(data, 96, 100); - extraData = _parseBytes(data, 128); - return [4 /*yield*/, this.ccipReadFetch(transaction, calldata, urls)]; - case 3: - ccipResult = _a.sent(); - if (ccipResult == null) { - logger.throwError("CCIP Read disabled or provided no URLs", logger_1.Logger.errors.CALL_EXCEPTION, { - name: "OffchainLookup", - signature: "OffchainLookup(address,string[],bytes,bytes4,bytes)", - transaction: transaction, - data: result - }); - } - tx = { - to: txSender, - data: (0, bytes_1.hexConcat)([callbackSelector, encodeBytes([ccipResult, extraData])]) - }; - return [2 /*return*/, this._call(tx, blockTag, attempt + 1)]; - case 4: - error_8 = _a.sent(); - if (error_8.code === logger_1.Logger.errors.SERVER_ERROR) { - throw error_8; - } - return [3 /*break*/, 5]; - case 5: - try { - return [2 /*return*/, (0, bytes_1.hexlify)(result)]; - } - catch (error) { - return [2 /*return*/, logger.throwError("bad result from backend", logger_1.Logger.errors.SERVER_ERROR, { - method: "call", - params: { transaction: transaction, blockTag: blockTag }, - result: result, - error: error - })]; - } - return [2 /*return*/]; - } - }); - }); - }; - BaseProvider.prototype.call = function (transaction, blockTag) { - return __awaiter(this, void 0, void 0, function () { - var resolved; - return __generator(this, function (_a) { - switch (_a.label) { - case 0: return [4 /*yield*/, this.getNetwork()]; - case 1: - _a.sent(); - return [4 /*yield*/, (0, properties_1.resolveProperties)({ - transaction: this._getTransactionRequest(transaction), - blockTag: this._getBlockTag(blockTag), - ccipReadEnabled: Promise.resolve(transaction.ccipReadEnabled) - })]; - case 2: - resolved = _a.sent(); - return [2 /*return*/, this._call(resolved.transaction, resolved.blockTag, resolved.ccipReadEnabled ? 0 : -1)]; - } - }); - }); - }; - BaseProvider.prototype.estimateGas = function (transaction) { - return __awaiter(this, void 0, void 0, function () { - var params, result; - return __generator(this, function (_a) { - switch (_a.label) { - case 0: return [4 /*yield*/, this.getNetwork()]; - case 1: - _a.sent(); - return [4 /*yield*/, (0, properties_1.resolveProperties)({ - transaction: this._getTransactionRequest(transaction) - })]; - case 2: - params = _a.sent(); - return [4 /*yield*/, this.perform("estimateGas", params)]; - case 3: - result = _a.sent(); - try { - return [2 /*return*/, bignumber_1.BigNumber.from(result)]; - } - catch (error) { - return [2 /*return*/, logger.throwError("bad result from backend", logger_1.Logger.errors.SERVER_ERROR, { - method: "estimateGas", - params: params, - result: result, - error: error - })]; - } - return [2 /*return*/]; - } - }); - }); - }; - BaseProvider.prototype._getAddress = function (addressOrName) { - return __awaiter(this, void 0, void 0, function () { - var address; - return __generator(this, function (_a) { - switch (_a.label) { - case 0: return [4 /*yield*/, addressOrName]; - case 1: - addressOrName = _a.sent(); - if (typeof (addressOrName) !== "string") { - logger.throwArgumentError("invalid address or ENS name", "name", addressOrName); - } - return [4 /*yield*/, this.resolveName(addressOrName)]; - case 2: - address = _a.sent(); - if (address == null) { - logger.throwError("ENS name not configured", logger_1.Logger.errors.UNSUPPORTED_OPERATION, { - operation: "resolveName(" + JSON.stringify(addressOrName) + ")" - }); - } - return [2 /*return*/, address]; - } - }); - }); - }; - BaseProvider.prototype._getBlock = function (blockHashOrBlockTag, includeTransactions) { - return __awaiter(this, void 0, void 0, function () { - var blockNumber, params, _a, error_9; - var _this = this; - return __generator(this, function (_b) { - switch (_b.label) { - case 0: return [4 /*yield*/, this.getNetwork()]; - case 1: - _b.sent(); - return [4 /*yield*/, blockHashOrBlockTag]; - case 2: - blockHashOrBlockTag = _b.sent(); - blockNumber = -128; - params = { - includeTransactions: !!includeTransactions - }; - if (!(0, bytes_1.isHexString)(blockHashOrBlockTag, 32)) return [3 /*break*/, 3]; - params.blockHash = blockHashOrBlockTag; - return [3 /*break*/, 6]; - case 3: - _b.trys.push([3, 5, , 6]); - _a = params; - return [4 /*yield*/, this._getBlockTag(blockHashOrBlockTag)]; - case 4: - _a.blockTag = _b.sent(); - if ((0, bytes_1.isHexString)(params.blockTag)) { - blockNumber = parseInt(params.blockTag.substring(2), 16); - } - return [3 /*break*/, 6]; - case 5: - error_9 = _b.sent(); - logger.throwArgumentError("invalid block hash or block tag", "blockHashOrBlockTag", blockHashOrBlockTag); - return [3 /*break*/, 6]; - case 6: return [2 /*return*/, (0, web_1.poll)(function () { return __awaiter(_this, void 0, void 0, function () { - var block, blockNumber_1, i, tx, confirmations, blockWithTxs; - var _this = this; - return __generator(this, function (_a) { - switch (_a.label) { - case 0: return [4 /*yield*/, this.perform("getBlock", params)]; - case 1: - block = _a.sent(); - // Block was not found - if (block == null) { - // For blockhashes, if we didn't say it existed, that blockhash may - // not exist. If we did see it though, perhaps from a log, we know - // it exists, and this node is just not caught up yet. - if (params.blockHash != null) { - if (this._emitted["b:" + params.blockHash] == null) { - return [2 /*return*/, null]; - } - } - // For block tags, if we are asking for a future block, we return null - if (params.blockTag != null) { - if (blockNumber > this._emitted.block) { - return [2 /*return*/, null]; - } - } - // Retry on the next block - return [2 /*return*/, undefined]; - } - if (!includeTransactions) return [3 /*break*/, 8]; - blockNumber_1 = null; - i = 0; - _a.label = 2; - case 2: - if (!(i < block.transactions.length)) return [3 /*break*/, 7]; - tx = block.transactions[i]; - if (!(tx.blockNumber == null)) return [3 /*break*/, 3]; - tx.confirmations = 0; - return [3 /*break*/, 6]; - case 3: - if (!(tx.confirmations == null)) return [3 /*break*/, 6]; - if (!(blockNumber_1 == null)) return [3 /*break*/, 5]; - return [4 /*yield*/, this._getInternalBlockNumber(100 + 2 * this.pollingInterval)]; - case 4: - blockNumber_1 = _a.sent(); - _a.label = 5; - case 5: - confirmations = (blockNumber_1 - tx.blockNumber) + 1; - if (confirmations <= 0) { - confirmations = 1; - } - tx.confirmations = confirmations; - _a.label = 6; - case 6: - i++; - return [3 /*break*/, 2]; - case 7: - blockWithTxs = this.formatter.blockWithTransactions(block); - blockWithTxs.transactions = blockWithTxs.transactions.map(function (tx) { return _this._wrapTransaction(tx); }); - return [2 /*return*/, blockWithTxs]; - case 8: return [2 /*return*/, this.formatter.block(block)]; - } - }); - }); }, { oncePoll: this })]; - } - }); - }); - }; - BaseProvider.prototype.getBlock = function (blockHashOrBlockTag) { - return (this._getBlock(blockHashOrBlockTag, false)); - }; - BaseProvider.prototype.getBlockWithTransactions = function (blockHashOrBlockTag) { - return (this._getBlock(blockHashOrBlockTag, true)); - }; - BaseProvider.prototype.getTransaction = function (transactionHash) { - return __awaiter(this, void 0, void 0, function () { - var params; - var _this = this; - return __generator(this, function (_a) { - switch (_a.label) { - case 0: return [4 /*yield*/, this.getNetwork()]; - case 1: - _a.sent(); - return [4 /*yield*/, transactionHash]; - case 2: - transactionHash = _a.sent(); - params = { transactionHash: this.formatter.hash(transactionHash, true) }; - return [2 /*return*/, (0, web_1.poll)(function () { return __awaiter(_this, void 0, void 0, function () { - var result, tx, blockNumber, confirmations; - return __generator(this, function (_a) { - switch (_a.label) { - case 0: return [4 /*yield*/, this.perform("getTransaction", params)]; - case 1: - result = _a.sent(); - if (result == null) { - if (this._emitted["t:" + transactionHash] == null) { - return [2 /*return*/, null]; - } - return [2 /*return*/, undefined]; - } - tx = this.formatter.transactionResponse(result); - if (!(tx.blockNumber == null)) return [3 /*break*/, 2]; - tx.confirmations = 0; - return [3 /*break*/, 4]; - case 2: - if (!(tx.confirmations == null)) return [3 /*break*/, 4]; - return [4 /*yield*/, this._getInternalBlockNumber(100 + 2 * this.pollingInterval)]; - case 3: - blockNumber = _a.sent(); - confirmations = (blockNumber - tx.blockNumber) + 1; - if (confirmations <= 0) { - confirmations = 1; - } - tx.confirmations = confirmations; - _a.label = 4; - case 4: return [2 /*return*/, this._wrapTransaction(tx)]; - } - }); - }); }, { oncePoll: this })]; - } - }); - }); - }; - BaseProvider.prototype.getTransactionReceipt = function (transactionHash) { - return __awaiter(this, void 0, void 0, function () { - var params; - var _this = this; - return __generator(this, function (_a) { - switch (_a.label) { - case 0: return [4 /*yield*/, this.getNetwork()]; - case 1: - _a.sent(); - return [4 /*yield*/, transactionHash]; - case 2: - transactionHash = _a.sent(); - params = { transactionHash: this.formatter.hash(transactionHash, true) }; - return [2 /*return*/, (0, web_1.poll)(function () { return __awaiter(_this, void 0, void 0, function () { - var result, receipt, blockNumber, confirmations; - return __generator(this, function (_a) { - switch (_a.label) { - case 0: return [4 /*yield*/, this.perform("getTransactionReceipt", params)]; - case 1: - result = _a.sent(); - if (result == null) { - if (this._emitted["t:" + transactionHash] == null) { - return [2 /*return*/, null]; - } - return [2 /*return*/, undefined]; - } - // "geth-etc" returns receipts before they are ready - if (result.blockHash == null) { - return [2 /*return*/, undefined]; - } - receipt = this.formatter.receipt(result); - if (!(receipt.blockNumber == null)) return [3 /*break*/, 2]; - receipt.confirmations = 0; - return [3 /*break*/, 4]; - case 2: - if (!(receipt.confirmations == null)) return [3 /*break*/, 4]; - return [4 /*yield*/, this._getInternalBlockNumber(100 + 2 * this.pollingInterval)]; - case 3: - blockNumber = _a.sent(); - confirmations = (blockNumber - receipt.blockNumber) + 1; - if (confirmations <= 0) { - confirmations = 1; - } - receipt.confirmations = confirmations; - _a.label = 4; - case 4: return [2 /*return*/, receipt]; - } - }); - }); }, { oncePoll: this })]; - } - }); - }); - }; - BaseProvider.prototype.getLogs = function (filter) { - return __awaiter(this, void 0, void 0, function () { - var params, logs; - return __generator(this, function (_a) { - switch (_a.label) { - case 0: return [4 /*yield*/, this.getNetwork()]; - case 1: - _a.sent(); - return [4 /*yield*/, (0, properties_1.resolveProperties)({ filter: this._getFilter(filter) })]; - case 2: - params = _a.sent(); - return [4 /*yield*/, this.perform("getLogs", params)]; - case 3: - logs = _a.sent(); - logs.forEach(function (log) { - if (log.removed == null) { - log.removed = false; - } - }); - return [2 /*return*/, formatter_1.Formatter.arrayOf(this.formatter.filterLog.bind(this.formatter))(logs)]; - } - }); - }); - }; - BaseProvider.prototype.getEtherPrice = function () { - return __awaiter(this, void 0, void 0, function () { - return __generator(this, function (_a) { - switch (_a.label) { - case 0: return [4 /*yield*/, this.getNetwork()]; - case 1: - _a.sent(); - return [2 /*return*/, this.perform("getEtherPrice", {})]; - } - }); - }); - }; - BaseProvider.prototype._getBlockTag = function (blockTag) { - return __awaiter(this, void 0, void 0, function () { - var blockNumber; - return __generator(this, function (_a) { - switch (_a.label) { - case 0: return [4 /*yield*/, blockTag]; - case 1: - blockTag = _a.sent(); - if (!(typeof (blockTag) === "number" && blockTag < 0)) return [3 /*break*/, 3]; - if (blockTag % 1) { - logger.throwArgumentError("invalid BlockTag", "blockTag", blockTag); - } - return [4 /*yield*/, this._getInternalBlockNumber(100 + 2 * this.pollingInterval)]; - case 2: - blockNumber = _a.sent(); - blockNumber += blockTag; - if (blockNumber < 0) { - blockNumber = 0; - } - return [2 /*return*/, this.formatter.blockTag(blockNumber)]; - case 3: return [2 /*return*/, this.formatter.blockTag(blockTag)]; - } - }); - }); - }; - BaseProvider.prototype.getResolver = function (name) { - return __awaiter(this, void 0, void 0, function () { - var currentName, addr, resolver, _a; - return __generator(this, function (_b) { - switch (_b.label) { - case 0: - currentName = name; - _b.label = 1; - case 1: - if (false) {} - if (currentName === "" || currentName === ".") { - return [2 /*return*/, null]; - } - // Optimization since the eth node cannot change and does - // not have a wildcard resolver - if (name !== "eth" && currentName === "eth") { - return [2 /*return*/, null]; - } - return [4 /*yield*/, this._getResolver(currentName, "getResolver")]; - case 2: - addr = _b.sent(); - if (!(addr != null)) return [3 /*break*/, 5]; - resolver = new Resolver(this, addr, name); - _a = currentName !== name; - if (!_a) return [3 /*break*/, 4]; - return [4 /*yield*/, resolver.supportsWildcard()]; - case 3: - _a = !(_b.sent()); - _b.label = 4; - case 4: - // Legacy resolver found, using EIP-2544 so it isn't safe to use - if (_a) { - return [2 /*return*/, null]; - } - return [2 /*return*/, resolver]; - case 5: - // Get the parent node - currentName = currentName.split(".").slice(1).join("."); - return [3 /*break*/, 1]; - case 6: return [2 /*return*/]; - } - }); - }); - }; - BaseProvider.prototype._getResolver = function (name, operation) { - return __awaiter(this, void 0, void 0, function () { - var network, addrData, error_10; - return __generator(this, function (_a) { - switch (_a.label) { - case 0: - if (operation == null) { - operation = "ENS"; - } - return [4 /*yield*/, this.getNetwork()]; - case 1: - network = _a.sent(); - // No ENS... - if (!network.ensAddress) { - logger.throwError("network does not support ENS", logger_1.Logger.errors.UNSUPPORTED_OPERATION, { operation: operation, network: network.name }); - } - _a.label = 2; - case 2: - _a.trys.push([2, 4, , 5]); - return [4 /*yield*/, this.call({ - to: network.ensAddress, - data: ("0x0178b8bf" + (0, hash_1.namehash)(name).substring(2)) - })]; - case 3: - addrData = _a.sent(); - return [2 /*return*/, this.formatter.callAddress(addrData)]; - case 4: - error_10 = _a.sent(); - return [3 /*break*/, 5]; - case 5: return [2 /*return*/, null]; - } - }); - }); - }; - BaseProvider.prototype.resolveName = function (name) { - return __awaiter(this, void 0, void 0, function () { - var resolver; - return __generator(this, function (_a) { - switch (_a.label) { - case 0: return [4 /*yield*/, name]; - case 1: - name = _a.sent(); - // If it is already an address, nothing to resolve - try { - return [2 /*return*/, Promise.resolve(this.formatter.address(name))]; - } - catch (error) { - // If is is a hexstring, the address is bad (See #694) - if ((0, bytes_1.isHexString)(name)) { - throw error; - } - } - if (typeof (name) !== "string") { - logger.throwArgumentError("invalid ENS name", "name", name); - } - return [4 /*yield*/, this.getResolver(name)]; - case 2: - resolver = _a.sent(); - if (!resolver) { - return [2 /*return*/, null]; - } - return [4 /*yield*/, resolver.getAddress()]; - case 3: return [2 /*return*/, _a.sent()]; - } - }); - }); - }; - BaseProvider.prototype.lookupAddress = function (address) { - return __awaiter(this, void 0, void 0, function () { - var node, resolverAddr, name, _a, addr; - return __generator(this, function (_b) { - switch (_b.label) { - case 0: return [4 /*yield*/, address]; - case 1: - address = _b.sent(); - address = this.formatter.address(address); - node = address.substring(2).toLowerCase() + ".addr.reverse"; - return [4 /*yield*/, this._getResolver(node, "lookupAddress")]; - case 2: - resolverAddr = _b.sent(); - if (resolverAddr == null) { - return [2 /*return*/, null]; - } - _a = _parseString; - return [4 /*yield*/, this.call({ - to: resolverAddr, - data: ("0x691f3431" + (0, hash_1.namehash)(node).substring(2)) - })]; - case 3: - name = _a.apply(void 0, [_b.sent(), 0]); - return [4 /*yield*/, this.resolveName(name)]; - case 4: - addr = _b.sent(); - if (addr != address) { - return [2 /*return*/, null]; - } - return [2 /*return*/, name]; - } - }); - }); - }; - BaseProvider.prototype.getAvatar = function (nameOrAddress) { - return __awaiter(this, void 0, void 0, function () { - var resolver, address, node, resolverAddress, avatar_1, error_11, name_1, _a, error_12, avatar; - return __generator(this, function (_b) { - switch (_b.label) { - case 0: - resolver = null; - if (!(0, bytes_1.isHexString)(nameOrAddress)) return [3 /*break*/, 10]; - address = this.formatter.address(nameOrAddress); - node = address.substring(2).toLowerCase() + ".addr.reverse"; - return [4 /*yield*/, this._getResolver(node, "getAvatar")]; - case 1: - resolverAddress = _b.sent(); - if (!resolverAddress) { - return [2 /*return*/, null]; - } - // Try resolving the avatar against the addr.reverse resolver - resolver = new Resolver(this, resolverAddress, node); - _b.label = 2; - case 2: - _b.trys.push([2, 4, , 5]); - return [4 /*yield*/, resolver.getAvatar()]; - case 3: - avatar_1 = _b.sent(); - if (avatar_1) { - return [2 /*return*/, avatar_1.url]; - } - return [3 /*break*/, 5]; - case 4: - error_11 = _b.sent(); - if (error_11.code !== logger_1.Logger.errors.CALL_EXCEPTION) { - throw error_11; - } - return [3 /*break*/, 5]; - case 5: - _b.trys.push([5, 8, , 9]); - _a = _parseString; - return [4 /*yield*/, this.call({ - to: resolverAddress, - data: ("0x691f3431" + (0, hash_1.namehash)(node).substring(2)) - })]; - case 6: - name_1 = _a.apply(void 0, [_b.sent(), 0]); - return [4 /*yield*/, this.getResolver(name_1)]; - case 7: - resolver = _b.sent(); - return [3 /*break*/, 9]; - case 8: - error_12 = _b.sent(); - if (error_12.code !== logger_1.Logger.errors.CALL_EXCEPTION) { - throw error_12; - } - return [2 /*return*/, null]; - case 9: return [3 /*break*/, 12]; - case 10: return [4 /*yield*/, this.getResolver(nameOrAddress)]; - case 11: - // ENS name; forward lookup with wildcard - resolver = _b.sent(); - if (!resolver) { - return [2 /*return*/, null]; - } - _b.label = 12; - case 12: return [4 /*yield*/, resolver.getAvatar()]; - case 13: - avatar = _b.sent(); - if (avatar == null) { - return [2 /*return*/, null]; - } - return [2 /*return*/, avatar.url]; - } - }); - }); - }; - BaseProvider.prototype.perform = function (method, params) { - return logger.throwError(method + " not implemented", logger_1.Logger.errors.NOT_IMPLEMENTED, { operation: method }); - }; - BaseProvider.prototype._startEvent = function (event) { - this.polling = (this._events.filter(function (e) { return e.pollable(); }).length > 0); - }; - BaseProvider.prototype._stopEvent = function (event) { - this.polling = (this._events.filter(function (e) { return e.pollable(); }).length > 0); - }; - BaseProvider.prototype._addEventListener = function (eventName, listener, once) { - var event = new Event(getEventTag(eventName), listener, once); - this._events.push(event); - this._startEvent(event); - return this; - }; - BaseProvider.prototype.on = function (eventName, listener) { - return this._addEventListener(eventName, listener, false); - }; - BaseProvider.prototype.once = function (eventName, listener) { - return this._addEventListener(eventName, listener, true); - }; - BaseProvider.prototype.emit = function (eventName) { - var _this = this; - var args = []; - for (var _i = 1; _i < arguments.length; _i++) { - args[_i - 1] = arguments[_i]; - } - var result = false; - var stopped = []; - var eventTag = getEventTag(eventName); - this._events = this._events.filter(function (event) { - if (event.tag !== eventTag) { - return true; - } - setTimeout(function () { - event.listener.apply(_this, args); - }, 0); - result = true; - if (event.once) { - stopped.push(event); - return false; - } - return true; - }); - stopped.forEach(function (event) { _this._stopEvent(event); }); - return result; - }; - BaseProvider.prototype.listenerCount = function (eventName) { - if (!eventName) { - return this._events.length; - } - var eventTag = getEventTag(eventName); - return this._events.filter(function (event) { - return (event.tag === eventTag); - }).length; - }; - BaseProvider.prototype.listeners = function (eventName) { - if (eventName == null) { - return this._events.map(function (event) { return event.listener; }); - } - var eventTag = getEventTag(eventName); - return this._events - .filter(function (event) { return (event.tag === eventTag); }) - .map(function (event) { return event.listener; }); - }; - BaseProvider.prototype.off = function (eventName, listener) { - var _this = this; - if (listener == null) { - return this.removeAllListeners(eventName); - } - var stopped = []; - var found = false; - var eventTag = getEventTag(eventName); - this._events = this._events.filter(function (event) { - if (event.tag !== eventTag || event.listener != listener) { - return true; - } - if (found) { - return true; - } - found = true; - stopped.push(event); - return false; - }); - stopped.forEach(function (event) { _this._stopEvent(event); }); - return this; - }; - BaseProvider.prototype.removeAllListeners = function (eventName) { - var _this = this; - var stopped = []; - if (eventName == null) { - stopped = this._events; - this._events = []; - } - else { - var eventTag_1 = getEventTag(eventName); - this._events = this._events.filter(function (event) { - if (event.tag !== eventTag_1) { - return true; - } - stopped.push(event); - return false; - }); - } - stopped.forEach(function (event) { _this._stopEvent(event); }); - return this; - }; - return BaseProvider; -}(abstract_provider_1.Provider)); -exports.BaseProvider = BaseProvider; -//# sourceMappingURL=base-provider.js.map - -/***/ }), - -/***/ 82065: -/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) { - - -var __extends = (this && this.__extends) || (function () { - var extendStatics = function (d, b) { - extendStatics = Object.setPrototypeOf || - ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || - function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; }; - return extendStatics(d, b); - }; - return function (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 __()); - }; -})(); -var __awaiter = (this && this.__awaiter) || function (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, reject) { - function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } - function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } - function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); -}; -var __generator = (this && this.__generator) || function (thisArg, body) { - var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g; - return g = { next: verb(0), "throw": verb(1), "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 (_) 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 }; - } -}; -Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.CloudflareProvider = void 0; -var url_json_rpc_provider_1 = __nccwpck_require__(67644); -var logger_1 = __nccwpck_require__(8772); -var _version_1 = __nccwpck_require__(69139); -var logger = new logger_1.Logger(_version_1.version); -var CloudflareProvider = /** @class */ (function (_super) { - __extends(CloudflareProvider, _super); - function CloudflareProvider() { - return _super !== null && _super.apply(this, arguments) || this; - } - CloudflareProvider.getApiKey = function (apiKey) { - if (apiKey != null) { - logger.throwArgumentError("apiKey not supported for cloudflare", "apiKey", apiKey); - } - return null; - }; - CloudflareProvider.getUrl = function (network, apiKey) { - var host = null; - switch (network.name) { - case "homestead": - host = "https://cloudflare-eth.com/"; - break; - default: - logger.throwArgumentError("unsupported network", "network", arguments[0]); - } - return host; - }; - CloudflareProvider.prototype.perform = function (method, params) { - return __awaiter(this, void 0, void 0, function () { - var block; - return __generator(this, function (_a) { - switch (_a.label) { - case 0: - if (!(method === "getBlockNumber")) return [3 /*break*/, 2]; - return [4 /*yield*/, _super.prototype.perform.call(this, "getBlock", { blockTag: "latest" })]; - case 1: - block = _a.sent(); - return [2 /*return*/, block.number]; - case 2: return [2 /*return*/, _super.prototype.perform.call(this, method, params)]; - } - }); - }); - }; - return CloudflareProvider; -}(url_json_rpc_provider_1.UrlJsonRpcProvider)); -exports.CloudflareProvider = CloudflareProvider; -//# sourceMappingURL=cloudflare-provider.js.map - -/***/ }), - -/***/ 38601: -/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) { - - -var __extends = (this && this.__extends) || (function () { - var extendStatics = function (d, b) { - extendStatics = Object.setPrototypeOf || - ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || - function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; }; - return extendStatics(d, b); - }; - return function (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 __()); - }; -})(); -var __awaiter = (this && this.__awaiter) || function (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, reject) { - function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } - function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } - function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); -}; -var __generator = (this && this.__generator) || function (thisArg, body) { - var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g; - return g = { next: verb(0), "throw": verb(1), "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 (_) 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 }; - } -}; -Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.EtherscanProvider = void 0; -var bytes_1 = __nccwpck_require__(69691); -var properties_1 = __nccwpck_require__(54145); -var transactions_1 = __nccwpck_require__(55701); -var web_1 = __nccwpck_require__(75570); -var formatter_1 = __nccwpck_require__(60971); -var logger_1 = __nccwpck_require__(8772); -var _version_1 = __nccwpck_require__(69139); -var logger = new logger_1.Logger(_version_1.version); -var base_provider_1 = __nccwpck_require__(9259); -// The transaction has already been sanitized by the calls in Provider -function getTransactionPostData(transaction) { - var result = {}; - for (var key in transaction) { - if (transaction[key] == null) { - continue; - } - var value = transaction[key]; - if (key === "type" && value === 0) { - continue; - } - // Quantity-types require no leading zero, unless 0 - if ({ type: true, gasLimit: true, gasPrice: true, maxFeePerGs: true, maxPriorityFeePerGas: true, nonce: true, value: true }[key]) { - value = (0, bytes_1.hexValue)((0, bytes_1.hexlify)(value)); - } - else if (key === "accessList") { - value = "[" + (0, transactions_1.accessListify)(value).map(function (set) { - return "{address:\"" + set.address + "\",storageKeys:[\"" + set.storageKeys.join('","') + "\"]}"; - }).join(",") + "]"; - } - else { - value = (0, bytes_1.hexlify)(value); - } - result[key] = value; - } - return result; -} -function getResult(result) { - // getLogs, getHistory have weird success responses - if (result.status == 0 && (result.message === "No records found" || result.message === "No transactions found")) { - return result.result; - } - if (result.status != 1 || typeof (result.message) !== "string" || !result.message.match(/^OK/)) { - var error = new Error("invalid response"); - error.result = JSON.stringify(result); - if ((result.result || "").toLowerCase().indexOf("rate limit") >= 0) { - error.throttleRetry = true; - } - throw error; - } - return result.result; -} -function getJsonResult(result) { - // This response indicates we are being throttled - if (result && result.status == 0 && result.message == "NOTOK" && (result.result || "").toLowerCase().indexOf("rate limit") >= 0) { - var error = new Error("throttled response"); - error.result = JSON.stringify(result); - error.throttleRetry = true; - throw error; - } - if (result.jsonrpc != "2.0") { - // @TODO: not any - var error = new Error("invalid response"); - error.result = JSON.stringify(result); - throw error; - } - if (result.error) { - // @TODO: not any - var error = new Error(result.error.message || "unknown error"); - if (result.error.code) { - error.code = result.error.code; - } - if (result.error.data) { - error.data = result.error.data; - } - throw error; - } - return result.result; -} -// The blockTag was normalized as a string by the Provider pre-perform operations -function checkLogTag(blockTag) { - if (blockTag === "pending") { - throw new Error("pending not supported"); - } - if (blockTag === "latest") { - return blockTag; - } - return parseInt(blockTag.substring(2), 16); -} -function checkError(method, error, transaction) { - // Undo the "convenience" some nodes are attempting to prevent backwards - // incompatibility; maybe for v6 consider forwarding reverts as errors - if (method === "call" && error.code === logger_1.Logger.errors.SERVER_ERROR) { - var e = error.error; - // Etherscan keeps changing their string - if (e && (e.message.match(/reverted/i) || e.message.match(/VM execution error/i))) { - // Etherscan prefixes the data like "Reverted 0x1234" - var data = e.data; - if (data) { - data = "0x" + data.replace(/^.*0x/i, ""); - } - if ((0, bytes_1.isHexString)(data)) { - return data; - } - logger.throwError("missing revert data in call exception", logger_1.Logger.errors.CALL_EXCEPTION, { - error: error, - data: "0x" - }); - } - } - // Get the message from any nested error structure - var message = error.message; - if (error.code === logger_1.Logger.errors.SERVER_ERROR) { - if (error.error && typeof (error.error.message) === "string") { - message = error.error.message; - } - else if (typeof (error.body) === "string") { - message = error.body; - } - else if (typeof (error.responseText) === "string") { - message = error.responseText; - } - } - message = (message || "").toLowerCase(); - // "Insufficient funds. The account you tried to send transaction from does not have enough funds. Required 21464000000000 and got: 0" - if (message.match(/insufficient funds/)) { - logger.throwError("insufficient funds for intrinsic transaction cost", logger_1.Logger.errors.INSUFFICIENT_FUNDS, { - error: error, - method: method, - transaction: transaction - }); - } - // "Transaction with the same hash was already imported." - if (message.match(/same hash was already imported|transaction nonce is too low|nonce too low/)) { - logger.throwError("nonce has already been used", logger_1.Logger.errors.NONCE_EXPIRED, { - error: error, - method: method, - transaction: transaction - }); - } - // "Transaction gas price is too low. There is another transaction with same nonce in the queue. Try increasing the gas price or incrementing the nonce." - if (message.match(/another transaction with same nonce/)) { - logger.throwError("replacement fee too low", logger_1.Logger.errors.REPLACEMENT_UNDERPRICED, { - error: error, - method: method, - transaction: transaction - }); - } - if (message.match(/execution failed due to an exception|execution reverted/)) { - logger.throwError("cannot estimate gas; transaction may fail or may require manual gas limit", logger_1.Logger.errors.UNPREDICTABLE_GAS_LIMIT, { - error: error, - method: method, - transaction: transaction - }); - } - throw error; -} -var EtherscanProvider = /** @class */ (function (_super) { - __extends(EtherscanProvider, _super); - function EtherscanProvider(network, apiKey) { - var _this = _super.call(this, network) || this; - (0, properties_1.defineReadOnly)(_this, "baseUrl", _this.getBaseUrl()); - (0, properties_1.defineReadOnly)(_this, "apiKey", apiKey || null); - return _this; - } - EtherscanProvider.prototype.getBaseUrl = function () { - switch (this.network ? this.network.name : "invalid") { - case "homestead": - return "https:/\/api.etherscan.io"; - case "goerli": - return "https:/\/api-goerli.etherscan.io"; - case "sepolia": - return "https:/\/api-sepolia.etherscan.io"; - case "matic": - return "https:/\/api.polygonscan.com"; - case "maticmum": - return "https:/\/api-testnet.polygonscan.com"; - case "arbitrum": - return "https:/\/api.arbiscan.io"; - case "arbitrum-goerli": - return "https:/\/api-goerli.arbiscan.io"; - case "optimism": - return "https:/\/api-optimistic.etherscan.io"; - case "optimism-goerli": - return "https:/\/api-goerli-optimistic.etherscan.io"; - default: - } - return logger.throwArgumentError("unsupported network", "network", this.network.name); - }; - EtherscanProvider.prototype.getUrl = function (module, params) { - var query = Object.keys(params).reduce(function (accum, key) { - var value = params[key]; - if (value != null) { - accum += "&" + key + "=" + value; - } - return accum; - }, ""); - var apiKey = ((this.apiKey) ? "&apikey=" + this.apiKey : ""); - return this.baseUrl + "/api?module=" + module + query + apiKey; - }; - EtherscanProvider.prototype.getPostUrl = function () { - return this.baseUrl + "/api"; - }; - EtherscanProvider.prototype.getPostData = function (module, params) { - params.module = module; - params.apikey = this.apiKey; - return params; - }; - EtherscanProvider.prototype.fetch = function (module, params, post) { - return __awaiter(this, void 0, void 0, function () { - var url, payload, procFunc, connection, payloadStr, result; - var _this = this; - return __generator(this, function (_a) { - switch (_a.label) { - case 0: - url = (post ? this.getPostUrl() : this.getUrl(module, params)); - payload = (post ? this.getPostData(module, params) : null); - procFunc = (module === "proxy") ? getJsonResult : getResult; - this.emit("debug", { - action: "request", - request: url, - provider: this - }); - connection = { - url: url, - throttleSlotInterval: 1000, - throttleCallback: function (attempt, url) { - if (_this.isCommunityResource()) { - (0, formatter_1.showThrottleMessage)(); - } - return Promise.resolve(true); - } - }; - payloadStr = null; - if (payload) { - connection.headers = { "content-type": "application/x-www-form-urlencoded; charset=UTF-8" }; - payloadStr = Object.keys(payload).map(function (key) { - return key + "=" + payload[key]; - }).join("&"); - } - return [4 /*yield*/, (0, web_1.fetchJson)(connection, payloadStr, procFunc || getJsonResult)]; - case 1: - result = _a.sent(); - this.emit("debug", { - action: "response", - request: url, - response: (0, properties_1.deepCopy)(result), - provider: this - }); - return [2 /*return*/, result]; - } - }); - }); - }; - EtherscanProvider.prototype.detectNetwork = function () { - return __awaiter(this, void 0, void 0, function () { - return __generator(this, function (_a) { - return [2 /*return*/, this.network]; - }); - }); - }; - EtherscanProvider.prototype.perform = function (method, params) { - return __awaiter(this, void 0, void 0, function () { - var _a, postData, error_1, postData, error_2, args, topic0, logs, blocks, i, log, block, _b; - return __generator(this, function (_c) { - switch (_c.label) { - case 0: - _a = method; - switch (_a) { - case "getBlockNumber": return [3 /*break*/, 1]; - case "getGasPrice": return [3 /*break*/, 2]; - case "getBalance": return [3 /*break*/, 3]; - case "getTransactionCount": return [3 /*break*/, 4]; - case "getCode": return [3 /*break*/, 5]; - case "getStorageAt": return [3 /*break*/, 6]; - case "sendTransaction": return [3 /*break*/, 7]; - case "getBlock": return [3 /*break*/, 8]; - case "getTransaction": return [3 /*break*/, 9]; - case "getTransactionReceipt": return [3 /*break*/, 10]; - case "call": return [3 /*break*/, 11]; - case "estimateGas": return [3 /*break*/, 15]; - case "getLogs": return [3 /*break*/, 19]; - case "getEtherPrice": return [3 /*break*/, 26]; - } - return [3 /*break*/, 28]; - case 1: return [2 /*return*/, this.fetch("proxy", { action: "eth_blockNumber" })]; - case 2: return [2 /*return*/, this.fetch("proxy", { action: "eth_gasPrice" })]; - case 3: - // Returns base-10 result - return [2 /*return*/, this.fetch("account", { - action: "balance", - address: params.address, - tag: params.blockTag - })]; - case 4: return [2 /*return*/, this.fetch("proxy", { - action: "eth_getTransactionCount", - address: params.address, - tag: params.blockTag - })]; - case 5: return [2 /*return*/, this.fetch("proxy", { - action: "eth_getCode", - address: params.address, - tag: params.blockTag - })]; - case 6: return [2 /*return*/, this.fetch("proxy", { - action: "eth_getStorageAt", - address: params.address, - position: params.position, - tag: params.blockTag - })]; - case 7: return [2 /*return*/, this.fetch("proxy", { - action: "eth_sendRawTransaction", - hex: params.signedTransaction - }, true).catch(function (error) { - return checkError("sendTransaction", error, params.signedTransaction); - })]; - case 8: - if (params.blockTag) { - return [2 /*return*/, this.fetch("proxy", { - action: "eth_getBlockByNumber", - tag: params.blockTag, - boolean: (params.includeTransactions ? "true" : "false") - })]; - } - throw new Error("getBlock by blockHash not implemented"); - case 9: return [2 /*return*/, this.fetch("proxy", { - action: "eth_getTransactionByHash", - txhash: params.transactionHash - })]; - case 10: return [2 /*return*/, this.fetch("proxy", { - action: "eth_getTransactionReceipt", - txhash: params.transactionHash - })]; - case 11: - if (params.blockTag !== "latest") { - throw new Error("EtherscanProvider does not support blockTag for call"); - } - postData = getTransactionPostData(params.transaction); - postData.module = "proxy"; - postData.action = "eth_call"; - _c.label = 12; - case 12: - _c.trys.push([12, 14, , 15]); - return [4 /*yield*/, this.fetch("proxy", postData, true)]; - case 13: return [2 /*return*/, _c.sent()]; - case 14: - error_1 = _c.sent(); - return [2 /*return*/, checkError("call", error_1, params.transaction)]; - case 15: - postData = getTransactionPostData(params.transaction); - postData.module = "proxy"; - postData.action = "eth_estimateGas"; - _c.label = 16; - case 16: - _c.trys.push([16, 18, , 19]); - return [4 /*yield*/, this.fetch("proxy", postData, true)]; - case 17: return [2 /*return*/, _c.sent()]; - case 18: - error_2 = _c.sent(); - return [2 /*return*/, checkError("estimateGas", error_2, params.transaction)]; - case 19: - args = { action: "getLogs" }; - if (params.filter.fromBlock) { - args.fromBlock = checkLogTag(params.filter.fromBlock); - } - if (params.filter.toBlock) { - args.toBlock = checkLogTag(params.filter.toBlock); - } - if (params.filter.address) { - args.address = params.filter.address; - } - // @TODO: We can handle slightly more complicated logs using the logs API - if (params.filter.topics && params.filter.topics.length > 0) { - if (params.filter.topics.length > 1) { - logger.throwError("unsupported topic count", logger_1.Logger.errors.UNSUPPORTED_OPERATION, { topics: params.filter.topics }); - } - if (params.filter.topics.length === 1) { - topic0 = params.filter.topics[0]; - if (typeof (topic0) !== "string" || topic0.length !== 66) { - logger.throwError("unsupported topic format", logger_1.Logger.errors.UNSUPPORTED_OPERATION, { topic0: topic0 }); - } - args.topic0 = topic0; - } - } - return [4 /*yield*/, this.fetch("logs", args)]; - case 20: - logs = _c.sent(); - blocks = {}; - i = 0; - _c.label = 21; - case 21: - if (!(i < logs.length)) return [3 /*break*/, 25]; - log = logs[i]; - if (log.blockHash != null) { - return [3 /*break*/, 24]; - } - if (!(blocks[log.blockNumber] == null)) return [3 /*break*/, 23]; - return [4 /*yield*/, this.getBlock(log.blockNumber)]; - case 22: - block = _c.sent(); - if (block) { - blocks[log.blockNumber] = block.hash; - } - _c.label = 23; - case 23: - log.blockHash = blocks[log.blockNumber]; - _c.label = 24; - case 24: - i++; - return [3 /*break*/, 21]; - case 25: return [2 /*return*/, logs]; - case 26: - if (this.network.name !== "homestead") { - return [2 /*return*/, 0.0]; - } - _b = parseFloat; - return [4 /*yield*/, this.fetch("stats", { action: "ethprice" })]; - case 27: return [2 /*return*/, _b.apply(void 0, [(_c.sent()).ethusd])]; - case 28: return [3 /*break*/, 29]; - case 29: return [2 /*return*/, _super.prototype.perform.call(this, method, params)]; - } - }); - }); - }; - // Note: The `page` page parameter only allows pagination within the - // 10,000 window available without a page and offset parameter - // Error: Result window is too large, PageNo x Offset size must - // be less than or equal to 10000 - EtherscanProvider.prototype.getHistory = function (addressOrName, startBlock, endBlock) { - return __awaiter(this, void 0, void 0, function () { - var params, result; - var _a; - var _this = this; - return __generator(this, function (_b) { - switch (_b.label) { - case 0: - _a = { - action: "txlist" - }; - return [4 /*yield*/, this.resolveName(addressOrName)]; - case 1: - params = (_a.address = (_b.sent()), - _a.startblock = ((startBlock == null) ? 0 : startBlock), - _a.endblock = ((endBlock == null) ? 99999999 : endBlock), - _a.sort = "asc", - _a); - return [4 /*yield*/, this.fetch("account", params)]; - case 2: - result = _b.sent(); - return [2 /*return*/, result.map(function (tx) { - ["contractAddress", "to"].forEach(function (key) { - if (tx[key] == "") { - delete tx[key]; - } - }); - if (tx.creates == null && tx.contractAddress != null) { - tx.creates = tx.contractAddress; - } - var item = _this.formatter.transactionResponse(tx); - if (tx.timeStamp) { - item.timestamp = parseInt(tx.timeStamp); - } - return item; - })]; - } - }); - }); - }; - EtherscanProvider.prototype.isCommunityResource = function () { - return (this.apiKey == null); - }; - return EtherscanProvider; -}(base_provider_1.BaseProvider)); -exports.EtherscanProvider = EtherscanProvider; -//# sourceMappingURL=etherscan-provider.js.map - -/***/ }), - -/***/ 52510: -/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) { - - -var __extends = (this && this.__extends) || (function () { - var extendStatics = function (d, b) { - extendStatics = Object.setPrototypeOf || - ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || - function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; }; - return extendStatics(d, b); - }; - return function (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 __()); - }; -})(); -var __awaiter = (this && this.__awaiter) || function (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, reject) { - function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } - function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } - function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); -}; -var __generator = (this && this.__generator) || function (thisArg, body) { - var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g; - return g = { next: verb(0), "throw": verb(1), "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 (_) 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 }; - } -}; -Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.FallbackProvider = void 0; -var abstract_provider_1 = __nccwpck_require__(34224); -var bignumber_1 = __nccwpck_require__(14763); -var bytes_1 = __nccwpck_require__(69691); -var properties_1 = __nccwpck_require__(54145); -var random_1 = __nccwpck_require__(4364); -var web_1 = __nccwpck_require__(75570); -var base_provider_1 = __nccwpck_require__(9259); -var formatter_1 = __nccwpck_require__(60971); -var logger_1 = __nccwpck_require__(8772); -var _version_1 = __nccwpck_require__(69139); -var logger = new logger_1.Logger(_version_1.version); -function now() { return (new Date()).getTime(); } -// Returns to network as long as all agree, or null if any is null. -// Throws an error if any two networks do not match. -function checkNetworks(networks) { - var result = null; - for (var i = 0; i < networks.length; i++) { - var network = networks[i]; - // Null! We do not know our network; bail. - if (network == null) { - return null; - } - if (result) { - // Make sure the network matches the previous networks - if (!(result.name === network.name && result.chainId === network.chainId && - ((result.ensAddress === network.ensAddress) || (result.ensAddress == null && network.ensAddress == null)))) { - logger.throwArgumentError("provider mismatch", "networks", networks); - } - } - else { - result = network; - } - } - return result; -} -function median(values, maxDelta) { - values = values.slice().sort(); - var middle = Math.floor(values.length / 2); - // Odd length; take the middle - if (values.length % 2) { - return values[middle]; - } - // Even length; take the average of the two middle - var a = values[middle - 1], b = values[middle]; - if (maxDelta != null && Math.abs(a - b) > maxDelta) { - return null; - } - return (a + b) / 2; -} -function serialize(value) { - if (value === null) { - return "null"; - } - else if (typeof (value) === "number" || typeof (value) === "boolean") { - return JSON.stringify(value); - } - else if (typeof (value) === "string") { - return value; - } - else if (bignumber_1.BigNumber.isBigNumber(value)) { - return value.toString(); - } - else if (Array.isArray(value)) { - return JSON.stringify(value.map(function (i) { return serialize(i); })); - } - else if (typeof (value) === "object") { - var keys = Object.keys(value); - keys.sort(); - return "{" + keys.map(function (key) { - var v = value[key]; - if (typeof (v) === "function") { - v = "[function]"; - } - else { - v = serialize(v); - } - return JSON.stringify(key) + ":" + v; - }).join(",") + "}"; - } - throw new Error("unknown value type: " + typeof (value)); -} -// Next request ID to use for emitting debug info -var nextRid = 1; -; -function stall(duration) { - var cancel = null; - var timer = null; - var promise = (new Promise(function (resolve) { - cancel = function () { - if (timer) { - clearTimeout(timer); - timer = null; - } - resolve(); - }; - timer = setTimeout(cancel, duration); - })); - var wait = function (func) { - promise = promise.then(func); - return promise; - }; - function getPromise() { - return promise; - } - return { cancel: cancel, getPromise: getPromise, wait: wait }; -} -var ForwardErrors = [ - logger_1.Logger.errors.CALL_EXCEPTION, - logger_1.Logger.errors.INSUFFICIENT_FUNDS, - logger_1.Logger.errors.NONCE_EXPIRED, - logger_1.Logger.errors.REPLACEMENT_UNDERPRICED, - logger_1.Logger.errors.UNPREDICTABLE_GAS_LIMIT -]; -var ForwardProperties = [ - "address", - "args", - "errorArgs", - "errorSignature", - "method", - "transaction", -]; -; -function exposeDebugConfig(config, now) { - var result = { - weight: config.weight - }; - Object.defineProperty(result, "provider", { get: function () { return config.provider; } }); - if (config.start) { - result.start = config.start; - } - if (now) { - result.duration = (now - config.start); - } - if (config.done) { - if (config.error) { - result.error = config.error; - } - else { - result.result = config.result || null; - } - } - return result; -} -function normalizedTally(normalize, quorum) { - return function (configs) { - // Count the votes for each result - var tally = {}; - configs.forEach(function (c) { - var value = normalize(c.result); - if (!tally[value]) { - tally[value] = { count: 0, result: c.result }; - } - tally[value].count++; - }); - // Check for a quorum on any given result - var keys = Object.keys(tally); - for (var i = 0; i < keys.length; i++) { - var check = tally[keys[i]]; - if (check.count >= quorum) { - return check.result; - } - } - // No quroum - return undefined; - }; -} -function getProcessFunc(provider, method, params) { - var normalize = serialize; - switch (method) { - case "getBlockNumber": - // Return the median value, unless there is (median + 1) is also - // present, in which case that is probably true and the median - // is going to be stale soon. In the event of a malicious node, - // the lie will be true soon enough. - return function (configs) { - var values = configs.map(function (c) { return c.result; }); - // Get the median block number - var blockNumber = median(configs.map(function (c) { return c.result; }), 2); - if (blockNumber == null) { - return undefined; - } - blockNumber = Math.ceil(blockNumber); - // If the next block height is present, its prolly safe to use - if (values.indexOf(blockNumber + 1) >= 0) { - blockNumber++; - } - // Don't ever roll back the blockNumber - if (blockNumber >= provider._highestBlockNumber) { - provider._highestBlockNumber = blockNumber; - } - return provider._highestBlockNumber; - }; - case "getGasPrice": - // Return the middle (round index up) value, similar to median - // but do not average even entries and choose the higher. - // Malicious actors must compromise 50% of the nodes to lie. - return function (configs) { - var values = configs.map(function (c) { return c.result; }); - values.sort(); - return values[Math.floor(values.length / 2)]; - }; - case "getEtherPrice": - // Returns the median price. Malicious actors must compromise at - // least 50% of the nodes to lie (in a meaningful way). - return function (configs) { - return median(configs.map(function (c) { return c.result; })); - }; - // No additional normalizing required; serialize is enough - case "getBalance": - case "getTransactionCount": - case "getCode": - case "getStorageAt": - case "call": - case "estimateGas": - case "getLogs": - break; - // We drop the confirmations from transactions as it is approximate - case "getTransaction": - case "getTransactionReceipt": - normalize = function (tx) { - if (tx == null) { - return null; - } - tx = (0, properties_1.shallowCopy)(tx); - tx.confirmations = -1; - return serialize(tx); - }; - break; - // We drop the confirmations from transactions as it is approximate - case "getBlock": - // We drop the confirmations from transactions as it is approximate - if (params.includeTransactions) { - normalize = function (block) { - if (block == null) { - return null; - } - block = (0, properties_1.shallowCopy)(block); - block.transactions = block.transactions.map(function (tx) { - tx = (0, properties_1.shallowCopy)(tx); - tx.confirmations = -1; - return tx; - }); - return serialize(block); - }; - } - else { - normalize = function (block) { - if (block == null) { - return null; - } - return serialize(block); - }; - } - break; - default: - throw new Error("unknown method: " + method); - } - // Return the result if and only if the expected quorum is - // satisfied and agreed upon for the final result. - return normalizedTally(normalize, provider.quorum); -} -// If we are doing a blockTag query, we need to make sure the backend is -// caught up to the FallbackProvider, before sending a request to it. -function waitForSync(config, blockNumber) { - return __awaiter(this, void 0, void 0, function () { - var provider; - return __generator(this, function (_a) { - provider = (config.provider); - if ((provider.blockNumber != null && provider.blockNumber >= blockNumber) || blockNumber === -1) { - return [2 /*return*/, provider]; - } - return [2 /*return*/, (0, web_1.poll)(function () { - return new Promise(function (resolve, reject) { - setTimeout(function () { - // We are synced - if (provider.blockNumber >= blockNumber) { - return resolve(provider); - } - // We're done; just quit - if (config.cancelled) { - return resolve(null); - } - // Try again, next block - return resolve(undefined); - }, 0); - }); - }, { oncePoll: provider })]; - }); - }); -} -function getRunner(config, currentBlockNumber, method, params) { - return __awaiter(this, void 0, void 0, function () { - var provider, _a, filter; - return __generator(this, function (_b) { - switch (_b.label) { - case 0: - provider = config.provider; - _a = method; - switch (_a) { - case "getBlockNumber": return [3 /*break*/, 1]; - case "getGasPrice": return [3 /*break*/, 1]; - case "getEtherPrice": return [3 /*break*/, 2]; - case "getBalance": return [3 /*break*/, 3]; - case "getTransactionCount": return [3 /*break*/, 3]; - case "getCode": return [3 /*break*/, 3]; - case "getStorageAt": return [3 /*break*/, 6]; - case "getBlock": return [3 /*break*/, 9]; - case "call": return [3 /*break*/, 12]; - case "estimateGas": return [3 /*break*/, 12]; - case "getTransaction": return [3 /*break*/, 15]; - case "getTransactionReceipt": return [3 /*break*/, 15]; - case "getLogs": return [3 /*break*/, 16]; - } - return [3 /*break*/, 19]; - case 1: return [2 /*return*/, provider[method]()]; - case 2: - if (provider.getEtherPrice) { - return [2 /*return*/, provider.getEtherPrice()]; - } - return [3 /*break*/, 19]; - case 3: - if (!(params.blockTag && (0, bytes_1.isHexString)(params.blockTag))) return [3 /*break*/, 5]; - return [4 /*yield*/, waitForSync(config, currentBlockNumber)]; - case 4: - provider = _b.sent(); - _b.label = 5; - case 5: return [2 /*return*/, provider[method](params.address, params.blockTag || "latest")]; - case 6: - if (!(params.blockTag && (0, bytes_1.isHexString)(params.blockTag))) return [3 /*break*/, 8]; - return [4 /*yield*/, waitForSync(config, currentBlockNumber)]; - case 7: - provider = _b.sent(); - _b.label = 8; - case 8: return [2 /*return*/, provider.getStorageAt(params.address, params.position, params.blockTag || "latest")]; - case 9: - if (!(params.blockTag && (0, bytes_1.isHexString)(params.blockTag))) return [3 /*break*/, 11]; - return [4 /*yield*/, waitForSync(config, currentBlockNumber)]; - case 10: - provider = _b.sent(); - _b.label = 11; - case 11: return [2 /*return*/, provider[(params.includeTransactions ? "getBlockWithTransactions" : "getBlock")](params.blockTag || params.blockHash)]; - case 12: - if (!(params.blockTag && (0, bytes_1.isHexString)(params.blockTag))) return [3 /*break*/, 14]; - return [4 /*yield*/, waitForSync(config, currentBlockNumber)]; - case 13: - provider = _b.sent(); - _b.label = 14; - case 14: - if (method === "call" && params.blockTag) { - return [2 /*return*/, provider[method](params.transaction, params.blockTag)]; - } - return [2 /*return*/, provider[method](params.transaction)]; - case 15: return [2 /*return*/, provider[method](params.transactionHash)]; - case 16: - filter = params.filter; - if (!((filter.fromBlock && (0, bytes_1.isHexString)(filter.fromBlock)) || (filter.toBlock && (0, bytes_1.isHexString)(filter.toBlock)))) return [3 /*break*/, 18]; - return [4 /*yield*/, waitForSync(config, currentBlockNumber)]; - case 17: - provider = _b.sent(); - _b.label = 18; - case 18: return [2 /*return*/, provider.getLogs(filter)]; - case 19: return [2 /*return*/, logger.throwError("unknown method error", logger_1.Logger.errors.UNKNOWN_ERROR, { - method: method, - params: params - })]; - } - }); - }); -} -var FallbackProvider = /** @class */ (function (_super) { - __extends(FallbackProvider, _super); - function FallbackProvider(providers, quorum) { - var _this = this; - if (providers.length === 0) { - logger.throwArgumentError("missing providers", "providers", providers); - } - var providerConfigs = providers.map(function (configOrProvider, index) { - if (abstract_provider_1.Provider.isProvider(configOrProvider)) { - var stallTimeout = (0, formatter_1.isCommunityResource)(configOrProvider) ? 2000 : 750; - var priority = 1; - return Object.freeze({ provider: configOrProvider, weight: 1, stallTimeout: stallTimeout, priority: priority }); - } - var config = (0, properties_1.shallowCopy)(configOrProvider); - if (config.priority == null) { - config.priority = 1; - } - if (config.stallTimeout == null) { - config.stallTimeout = (0, formatter_1.isCommunityResource)(configOrProvider) ? 2000 : 750; - } - if (config.weight == null) { - config.weight = 1; - } - var weight = config.weight; - if (weight % 1 || weight > 512 || weight < 1) { - logger.throwArgumentError("invalid weight; must be integer in [1, 512]", "providers[" + index + "].weight", weight); - } - return Object.freeze(config); - }); - var total = providerConfigs.reduce(function (accum, c) { return (accum + c.weight); }, 0); - if (quorum == null) { - quorum = total / 2; - } - else if (quorum > total) { - logger.throwArgumentError("quorum will always fail; larger than total weight", "quorum", quorum); - } - // Are all providers' networks are known - var networkOrReady = checkNetworks(providerConfigs.map(function (c) { return (c.provider).network; })); - // Not all networks are known; we must stall - if (networkOrReady == null) { - networkOrReady = new Promise(function (resolve, reject) { - setTimeout(function () { - _this.detectNetwork().then(resolve, reject); - }, 0); - }); - } - _this = _super.call(this, networkOrReady) || this; - // Preserve a copy, so we do not get mutated - (0, properties_1.defineReadOnly)(_this, "providerConfigs", Object.freeze(providerConfigs)); - (0, properties_1.defineReadOnly)(_this, "quorum", quorum); - _this._highestBlockNumber = -1; - return _this; - } - FallbackProvider.prototype.detectNetwork = function () { - return __awaiter(this, void 0, void 0, function () { - var networks; - return __generator(this, function (_a) { - switch (_a.label) { - case 0: return [4 /*yield*/, Promise.all(this.providerConfigs.map(function (c) { return c.provider.getNetwork(); }))]; - case 1: - networks = _a.sent(); - return [2 /*return*/, checkNetworks(networks)]; - } - }); - }); - }; - FallbackProvider.prototype.perform = function (method, params) { - return __awaiter(this, void 0, void 0, function () { - var results, i_1, result, processFunc, configs, currentBlockNumber, i, first, _loop_1, this_1, state_1; - var _this = this; - return __generator(this, function (_a) { - switch (_a.label) { - case 0: - if (!(method === "sendTransaction")) return [3 /*break*/, 2]; - return [4 /*yield*/, Promise.all(this.providerConfigs.map(function (c) { - return c.provider.sendTransaction(params.signedTransaction).then(function (result) { - return result.hash; - }, function (error) { - return error; - }); - }))]; - case 1: - results = _a.sent(); - // Any success is good enough (other errors are likely "already seen" errors - for (i_1 = 0; i_1 < results.length; i_1++) { - result = results[i_1]; - if (typeof (result) === "string") { - return [2 /*return*/, result]; - } - } - // They were all an error; pick the first error - throw results[0]; - case 2: - if (!(this._highestBlockNumber === -1 && method !== "getBlockNumber")) return [3 /*break*/, 4]; - return [4 /*yield*/, this.getBlockNumber()]; - case 3: - _a.sent(); - _a.label = 4; - case 4: - processFunc = getProcessFunc(this, method, params); - configs = (0, random_1.shuffled)(this.providerConfigs.map(properties_1.shallowCopy)); - configs.sort(function (a, b) { return (a.priority - b.priority); }); - currentBlockNumber = this._highestBlockNumber; - i = 0; - first = true; - _loop_1 = function () { - var t0, inflightWeight, _loop_2, waiting, results, result, errors; - return __generator(this, function (_b) { - switch (_b.label) { - case 0: - t0 = now(); - inflightWeight = configs.filter(function (c) { return (c.runner && ((t0 - c.start) < c.stallTimeout)); }) - .reduce(function (accum, c) { return (accum + c.weight); }, 0); - _loop_2 = function () { - var config = configs[i++]; - var rid = nextRid++; - config.start = now(); - config.staller = stall(config.stallTimeout); - config.staller.wait(function () { config.staller = null; }); - config.runner = getRunner(config, currentBlockNumber, method, params).then(function (result) { - config.done = true; - config.result = result; - if (_this.listenerCount("debug")) { - _this.emit("debug", { - action: "request", - rid: rid, - backend: exposeDebugConfig(config, now()), - request: { method: method, params: (0, properties_1.deepCopy)(params) }, - provider: _this - }); - } - }, function (error) { - config.done = true; - config.error = error; - if (_this.listenerCount("debug")) { - _this.emit("debug", { - action: "request", - rid: rid, - backend: exposeDebugConfig(config, now()), - request: { method: method, params: (0, properties_1.deepCopy)(params) }, - provider: _this - }); - } - }); - if (this_1.listenerCount("debug")) { - this_1.emit("debug", { - action: "request", - rid: rid, - backend: exposeDebugConfig(config, null), - request: { method: method, params: (0, properties_1.deepCopy)(params) }, - provider: this_1 - }); - } - inflightWeight += config.weight; - }; - // Start running enough to meet quorum - while (inflightWeight < this_1.quorum && i < configs.length) { - _loop_2(); - } - waiting = []; - configs.forEach(function (c) { - if (c.done || !c.runner) { - return; - } - waiting.push(c.runner); - if (c.staller) { - waiting.push(c.staller.getPromise()); - } - }); - if (!waiting.length) return [3 /*break*/, 2]; - return [4 /*yield*/, Promise.race(waiting)]; - case 1: - _b.sent(); - _b.label = 2; - case 2: - results = configs.filter(function (c) { return (c.done && c.error == null); }); - if (!(results.length >= this_1.quorum)) return [3 /*break*/, 5]; - result = processFunc(results); - if (result !== undefined) { - // Shut down any stallers - configs.forEach(function (c) { - if (c.staller) { - c.staller.cancel(); - } - c.cancelled = true; - }); - return [2 /*return*/, { value: result }]; - } - if (!!first) return [3 /*break*/, 4]; - return [4 /*yield*/, stall(100).getPromise()]; - case 3: - _b.sent(); - _b.label = 4; - case 4: - first = false; - _b.label = 5; - case 5: - errors = configs.reduce(function (accum, c) { - if (!c.done || c.error == null) { - return accum; - } - var code = (c.error).code; - if (ForwardErrors.indexOf(code) >= 0) { - if (!accum[code]) { - accum[code] = { error: c.error, weight: 0 }; - } - accum[code].weight += c.weight; - } - return accum; - }, ({})); - Object.keys(errors).forEach(function (errorCode) { - var tally = errors[errorCode]; - if (tally.weight < _this.quorum) { - return; - } - // Shut down any stallers - configs.forEach(function (c) { - if (c.staller) { - c.staller.cancel(); - } - c.cancelled = true; - }); - var e = (tally.error); - var props = {}; - ForwardProperties.forEach(function (name) { - if (e[name] == null) { - return; - } - props[name] = e[name]; - }); - logger.throwError(e.reason || e.message, errorCode, props); - }); - // All configs have run to completion; we will never get more data - if (configs.filter(function (c) { return !c.done; }).length === 0) { - return [2 /*return*/, "break"]; - } - return [2 /*return*/]; - } - }); - }; - this_1 = this; - _a.label = 5; - case 5: - if (false) {} - return [5 /*yield**/, _loop_1()]; - case 6: - state_1 = _a.sent(); - if (typeof state_1 === "object") - return [2 /*return*/, state_1.value]; - if (state_1 === "break") - return [3 /*break*/, 7]; - return [3 /*break*/, 5]; - case 7: - // Shut down any stallers; shouldn't be any - configs.forEach(function (c) { - if (c.staller) { - c.staller.cancel(); - } - c.cancelled = true; - }); - return [2 /*return*/, logger.throwError("failed to meet quorum", logger_1.Logger.errors.SERVER_ERROR, { - method: method, - params: params, - //results: configs.map((c) => c.result), - //errors: configs.map((c) => c.error), - results: configs.map(function (c) { return exposeDebugConfig(c); }), - provider: this - })]; - } - }); - }); - }; - return FallbackProvider; -}(base_provider_1.BaseProvider)); -exports.FallbackProvider = FallbackProvider; -//# sourceMappingURL=fallback-provider.js.map - -/***/ }), - -/***/ 60971: -/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { - - -Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.showThrottleMessage = exports.isCommunityResource = exports.isCommunityResourcable = exports.Formatter = void 0; -var address_1 = __nccwpck_require__(10056); -var bignumber_1 = __nccwpck_require__(14763); -var bytes_1 = __nccwpck_require__(69691); -var constants_1 = __nccwpck_require__(46561); -var properties_1 = __nccwpck_require__(54145); -var transactions_1 = __nccwpck_require__(55701); -var logger_1 = __nccwpck_require__(8772); -var _version_1 = __nccwpck_require__(69139); -var logger = new logger_1.Logger(_version_1.version); -var Formatter = /** @class */ (function () { - function Formatter() { - this.formats = this.getDefaultFormats(); - } - Formatter.prototype.getDefaultFormats = function () { - var _this = this; - var formats = ({}); - var address = this.address.bind(this); - var bigNumber = this.bigNumber.bind(this); - var blockTag = this.blockTag.bind(this); - var data = this.data.bind(this); - var hash = this.hash.bind(this); - var hex = this.hex.bind(this); - var number = this.number.bind(this); - var type = this.type.bind(this); - var strictData = function (v) { return _this.data(v, true); }; - formats.transaction = { - hash: hash, - type: type, - accessList: Formatter.allowNull(this.accessList.bind(this), null), - blockHash: Formatter.allowNull(hash, null), - blockNumber: Formatter.allowNull(number, null), - transactionIndex: Formatter.allowNull(number, null), - confirmations: Formatter.allowNull(number, null), - from: address, - // either (gasPrice) or (maxPriorityFeePerGas + maxFeePerGas) - // must be set - gasPrice: Formatter.allowNull(bigNumber), - maxPriorityFeePerGas: Formatter.allowNull(bigNumber), - maxFeePerGas: Formatter.allowNull(bigNumber), - gasLimit: bigNumber, - to: Formatter.allowNull(address, null), - value: bigNumber, - nonce: number, - data: data, - r: Formatter.allowNull(this.uint256), - s: Formatter.allowNull(this.uint256), - v: Formatter.allowNull(number), - creates: Formatter.allowNull(address, null), - raw: Formatter.allowNull(data), - }; - formats.transactionRequest = { - from: Formatter.allowNull(address), - nonce: Formatter.allowNull(number), - gasLimit: Formatter.allowNull(bigNumber), - gasPrice: Formatter.allowNull(bigNumber), - maxPriorityFeePerGas: Formatter.allowNull(bigNumber), - maxFeePerGas: Formatter.allowNull(bigNumber), - to: Formatter.allowNull(address), - value: Formatter.allowNull(bigNumber), - data: Formatter.allowNull(strictData), - type: Formatter.allowNull(number), - accessList: Formatter.allowNull(this.accessList.bind(this), null), - }; - formats.receiptLog = { - transactionIndex: number, - blockNumber: number, - transactionHash: hash, - address: address, - topics: Formatter.arrayOf(hash), - data: data, - logIndex: number, - blockHash: hash, - }; - formats.receipt = { - to: Formatter.allowNull(this.address, null), - from: Formatter.allowNull(this.address, null), - contractAddress: Formatter.allowNull(address, null), - transactionIndex: number, - // should be allowNull(hash), but broken-EIP-658 support is handled in receipt - root: Formatter.allowNull(hex), - gasUsed: bigNumber, - logsBloom: Formatter.allowNull(data), - blockHash: hash, - transactionHash: hash, - logs: Formatter.arrayOf(this.receiptLog.bind(this)), - blockNumber: number, - confirmations: Formatter.allowNull(number, null), - cumulativeGasUsed: bigNumber, - effectiveGasPrice: Formatter.allowNull(bigNumber), - status: Formatter.allowNull(number), - type: type - }; - formats.block = { - hash: Formatter.allowNull(hash), - parentHash: hash, - number: number, - timestamp: number, - nonce: Formatter.allowNull(hex), - difficulty: this.difficulty.bind(this), - gasLimit: bigNumber, - gasUsed: bigNumber, - miner: Formatter.allowNull(address), - extraData: data, - transactions: Formatter.allowNull(Formatter.arrayOf(hash)), - baseFeePerGas: Formatter.allowNull(bigNumber) - }; - formats.blockWithTransactions = (0, properties_1.shallowCopy)(formats.block); - formats.blockWithTransactions.transactions = Formatter.allowNull(Formatter.arrayOf(this.transactionResponse.bind(this))); - formats.filter = { - fromBlock: Formatter.allowNull(blockTag, undefined), - toBlock: Formatter.allowNull(blockTag, undefined), - blockHash: Formatter.allowNull(hash, undefined), - address: Formatter.allowNull(address, undefined), - topics: Formatter.allowNull(this.topics.bind(this), undefined), - }; - formats.filterLog = { - blockNumber: Formatter.allowNull(number), - blockHash: Formatter.allowNull(hash), - transactionIndex: number, - removed: Formatter.allowNull(this.boolean.bind(this)), - address: address, - data: Formatter.allowFalsish(data, "0x"), - topics: Formatter.arrayOf(hash), - transactionHash: hash, - logIndex: number, - }; - return formats; - }; - Formatter.prototype.accessList = function (accessList) { - return (0, transactions_1.accessListify)(accessList || []); - }; - // Requires a BigNumberish that is within the IEEE754 safe integer range; returns a number - // Strict! Used on input. - Formatter.prototype.number = function (number) { - if (number === "0x") { - return 0; - } - return bignumber_1.BigNumber.from(number).toNumber(); - }; - Formatter.prototype.type = function (number) { - if (number === "0x" || number == null) { - return 0; - } - return bignumber_1.BigNumber.from(number).toNumber(); - }; - // Strict! Used on input. - Formatter.prototype.bigNumber = function (value) { - return bignumber_1.BigNumber.from(value); - }; - // Requires a boolean, "true" or "false"; returns a boolean - Formatter.prototype.boolean = function (value) { - if (typeof (value) === "boolean") { - return value; - } - if (typeof (value) === "string") { - value = value.toLowerCase(); - if (value === "true") { - return true; - } - if (value === "false") { - return false; - } - } - throw new Error("invalid boolean - " + value); - }; - Formatter.prototype.hex = function (value, strict) { - if (typeof (value) === "string") { - if (!strict && value.substring(0, 2) !== "0x") { - value = "0x" + value; - } - if ((0, bytes_1.isHexString)(value)) { - return value.toLowerCase(); - } - } - return logger.throwArgumentError("invalid hash", "value", value); - }; - Formatter.prototype.data = function (value, strict) { - var result = this.hex(value, strict); - if ((result.length % 2) !== 0) { - throw new Error("invalid data; odd-length - " + value); - } - return result; - }; - // Requires an address - // Strict! Used on input. - Formatter.prototype.address = function (value) { - return (0, address_1.getAddress)(value); - }; - Formatter.prototype.callAddress = function (value) { - if (!(0, bytes_1.isHexString)(value, 32)) { - return null; - } - var address = (0, address_1.getAddress)((0, bytes_1.hexDataSlice)(value, 12)); - return (address === constants_1.AddressZero) ? null : address; - }; - Formatter.prototype.contractAddress = function (value) { - return (0, address_1.getContractAddress)(value); - }; - // Strict! Used on input. - Formatter.prototype.blockTag = function (blockTag) { - if (blockTag == null) { - return "latest"; - } - if (blockTag === "earliest") { - return "0x0"; - } - switch (blockTag) { - case "earliest": return "0x0"; - case "latest": - case "pending": - case "safe": - case "finalized": - return blockTag; - } - if (typeof (blockTag) === "number" || (0, bytes_1.isHexString)(blockTag)) { - return (0, bytes_1.hexValue)(blockTag); - } - throw new Error("invalid blockTag"); - }; - // Requires a hash, optionally requires 0x prefix; returns prefixed lowercase hash. - Formatter.prototype.hash = function (value, strict) { - var result = this.hex(value, strict); - if ((0, bytes_1.hexDataLength)(result) !== 32) { - return logger.throwArgumentError("invalid hash", "value", value); - } - return result; - }; - // Returns the difficulty as a number, or if too large (i.e. PoA network) null - Formatter.prototype.difficulty = function (value) { - if (value == null) { - return null; - } - var v = bignumber_1.BigNumber.from(value); - try { - return v.toNumber(); - } - catch (error) { } - return null; - }; - Formatter.prototype.uint256 = function (value) { - if (!(0, bytes_1.isHexString)(value)) { - throw new Error("invalid uint256"); - } - return (0, bytes_1.hexZeroPad)(value, 32); - }; - Formatter.prototype._block = function (value, format) { - if (value.author != null && value.miner == null) { - value.miner = value.author; - } - // The difficulty may need to come from _difficulty in recursed blocks - var difficulty = (value._difficulty != null) ? value._difficulty : value.difficulty; - var result = Formatter.check(format, value); - result._difficulty = ((difficulty == null) ? null : bignumber_1.BigNumber.from(difficulty)); - return result; - }; - Formatter.prototype.block = function (value) { - return this._block(value, this.formats.block); - }; - Formatter.prototype.blockWithTransactions = function (value) { - return this._block(value, this.formats.blockWithTransactions); - }; - // Strict! Used on input. - Formatter.prototype.transactionRequest = function (value) { - return Formatter.check(this.formats.transactionRequest, value); - }; - Formatter.prototype.transactionResponse = function (transaction) { - // Rename gas to gasLimit - if (transaction.gas != null && transaction.gasLimit == null) { - transaction.gasLimit = transaction.gas; - } - // Some clients (TestRPC) do strange things like return 0x0 for the - // 0 address; correct this to be a real address - if (transaction.to && bignumber_1.BigNumber.from(transaction.to).isZero()) { - transaction.to = "0x0000000000000000000000000000000000000000"; - } - // Rename input to data - if (transaction.input != null && transaction.data == null) { - transaction.data = transaction.input; - } - // If to and creates are empty, populate the creates from the transaction - if (transaction.to == null && transaction.creates == null) { - transaction.creates = this.contractAddress(transaction); - } - if ((transaction.type === 1 || transaction.type === 2) && transaction.accessList == null) { - transaction.accessList = []; - } - var result = Formatter.check(this.formats.transaction, transaction); - if (transaction.chainId != null) { - var chainId = transaction.chainId; - if ((0, bytes_1.isHexString)(chainId)) { - chainId = bignumber_1.BigNumber.from(chainId).toNumber(); - } - result.chainId = chainId; - } - else { - var chainId = transaction.networkId; - // geth-etc returns chainId - if (chainId == null && result.v == null) { - chainId = transaction.chainId; - } - if ((0, bytes_1.isHexString)(chainId)) { - chainId = bignumber_1.BigNumber.from(chainId).toNumber(); - } - if (typeof (chainId) !== "number" && result.v != null) { - chainId = (result.v - 35) / 2; - if (chainId < 0) { - chainId = 0; - } - chainId = parseInt(chainId); - } - if (typeof (chainId) !== "number") { - chainId = 0; - } - result.chainId = chainId; - } - // 0x0000... should actually be null - if (result.blockHash && result.blockHash.replace(/0/g, "") === "x") { - result.blockHash = null; - } - return result; - }; - Formatter.prototype.transaction = function (value) { - return (0, transactions_1.parse)(value); - }; - Formatter.prototype.receiptLog = function (value) { - return Formatter.check(this.formats.receiptLog, value); - }; - Formatter.prototype.receipt = function (value) { - var result = Formatter.check(this.formats.receipt, value); - // RSK incorrectly implemented EIP-658, so we munge things a bit here for it - if (result.root != null) { - if (result.root.length <= 4) { - // Could be 0x00, 0x0, 0x01 or 0x1 - var value_1 = bignumber_1.BigNumber.from(result.root).toNumber(); - if (value_1 === 0 || value_1 === 1) { - // Make sure if both are specified, they match - if (result.status != null && (result.status !== value_1)) { - logger.throwArgumentError("alt-root-status/status mismatch", "value", { root: result.root, status: result.status }); - } - result.status = value_1; - delete result.root; - } - else { - logger.throwArgumentError("invalid alt-root-status", "value.root", result.root); - } - } - else if (result.root.length !== 66) { - // Must be a valid bytes32 - logger.throwArgumentError("invalid root hash", "value.root", result.root); - } - } - if (result.status != null) { - result.byzantium = true; - } - return result; - }; - Formatter.prototype.topics = function (value) { - var _this = this; - if (Array.isArray(value)) { - return value.map(function (v) { return _this.topics(v); }); - } - else if (value != null) { - return this.hash(value, true); - } - return null; - }; - Formatter.prototype.filter = function (value) { - return Formatter.check(this.formats.filter, value); - }; - Formatter.prototype.filterLog = function (value) { - return Formatter.check(this.formats.filterLog, value); - }; - Formatter.check = function (format, object) { - var result = {}; - for (var key in format) { - try { - var value = format[key](object[key]); - if (value !== undefined) { - result[key] = value; - } - } - catch (error) { - error.checkKey = key; - error.checkValue = object[key]; - throw error; - } - } - return result; - }; - // if value is null-ish, nullValue is returned - Formatter.allowNull = function (format, nullValue) { - return (function (value) { - if (value == null) { - return nullValue; - } - return format(value); - }); - }; - // If value is false-ish, replaceValue is returned - Formatter.allowFalsish = function (format, replaceValue) { - return (function (value) { - if (!value) { - return replaceValue; - } - return format(value); - }); - }; - // Requires an Array satisfying check - Formatter.arrayOf = function (format) { - return (function (array) { - if (!Array.isArray(array)) { - throw new Error("not an array"); - } - var result = []; - array.forEach(function (value) { - result.push(format(value)); - }); - return result; - }); - }; - return Formatter; -}()); -exports.Formatter = Formatter; -function isCommunityResourcable(value) { - return (value && typeof (value.isCommunityResource) === "function"); -} -exports.isCommunityResourcable = isCommunityResourcable; -function isCommunityResource(value) { - return (isCommunityResourcable(value) && value.isCommunityResource()); -} -exports.isCommunityResource = isCommunityResource; -// Show the throttle message only once -var throttleMessage = false; -function showThrottleMessage() { - if (throttleMessage) { - return; - } - throttleMessage = true; - console.log("========= NOTICE ========="); - console.log("Request-Rate Exceeded (this message will not be repeated)"); - console.log(""); - console.log("The default API keys for each service are provided as a highly-throttled,"); - console.log("community resource for low-traffic projects and early prototyping."); - console.log(""); - console.log("While your application will continue to function, we highly recommended"); - console.log("signing up for your own API keys to improve performance, increase your"); - console.log("request rate/limit and enable other perks, such as metrics and advanced APIs."); - console.log(""); - console.log("For more details: https:/\/docs.ethers.io/api-keys/"); - console.log("=========================="); -} -exports.showThrottleMessage = showThrottleMessage; -//# sourceMappingURL=formatter.js.map - -/***/ }), - -/***/ 36334: -/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { - - -Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.Formatter = exports.showThrottleMessage = exports.isCommunityResourcable = exports.isCommunityResource = exports.getNetwork = exports.getDefaultProvider = exports.JsonRpcSigner = exports.IpcProvider = exports.WebSocketProvider = exports.Web3Provider = exports.StaticJsonRpcProvider = exports.PocketProvider = exports.NodesmithProvider = exports.JsonRpcBatchProvider = exports.JsonRpcProvider = exports.InfuraWebSocketProvider = exports.InfuraProvider = exports.EtherscanProvider = exports.CloudflareProvider = exports.AnkrProvider = exports.AlchemyWebSocketProvider = exports.AlchemyProvider = exports.FallbackProvider = exports.UrlJsonRpcProvider = exports.Resolver = exports.BaseProvider = exports.Provider = void 0; -var abstract_provider_1 = __nccwpck_require__(34224); -Object.defineProperty(exports, "Provider", ({ enumerable: true, get: function () { return abstract_provider_1.Provider; } })); -var networks_1 = __nccwpck_require__(6660); -Object.defineProperty(exports, "getNetwork", ({ enumerable: true, get: function () { return networks_1.getNetwork; } })); -var base_provider_1 = __nccwpck_require__(9259); -Object.defineProperty(exports, "BaseProvider", ({ enumerable: true, get: function () { return base_provider_1.BaseProvider; } })); -Object.defineProperty(exports, "Resolver", ({ enumerable: true, get: function () { return base_provider_1.Resolver; } })); -var alchemy_provider_1 = __nccwpck_require__(66407); -Object.defineProperty(exports, "AlchemyProvider", ({ enumerable: true, get: function () { return alchemy_provider_1.AlchemyProvider; } })); -Object.defineProperty(exports, "AlchemyWebSocketProvider", ({ enumerable: true, get: function () { return alchemy_provider_1.AlchemyWebSocketProvider; } })); -var ankr_provider_1 = __nccwpck_require__(80454); -Object.defineProperty(exports, "AnkrProvider", ({ enumerable: true, get: function () { return ankr_provider_1.AnkrProvider; } })); -var cloudflare_provider_1 = __nccwpck_require__(82065); -Object.defineProperty(exports, "CloudflareProvider", ({ enumerable: true, get: function () { return cloudflare_provider_1.CloudflareProvider; } })); -var etherscan_provider_1 = __nccwpck_require__(38601); -Object.defineProperty(exports, "EtherscanProvider", ({ enumerable: true, get: function () { return etherscan_provider_1.EtherscanProvider; } })); -var fallback_provider_1 = __nccwpck_require__(52510); -Object.defineProperty(exports, "FallbackProvider", ({ enumerable: true, get: function () { return fallback_provider_1.FallbackProvider; } })); -var ipc_provider_1 = __nccwpck_require__(70427); -Object.defineProperty(exports, "IpcProvider", ({ enumerable: true, get: function () { return ipc_provider_1.IpcProvider; } })); -var infura_provider_1 = __nccwpck_require__(43073); -Object.defineProperty(exports, "InfuraProvider", ({ enumerable: true, get: function () { return infura_provider_1.InfuraProvider; } })); -Object.defineProperty(exports, "InfuraWebSocketProvider", ({ enumerable: true, get: function () { return infura_provider_1.InfuraWebSocketProvider; } })); -var json_rpc_provider_1 = __nccwpck_require__(39172); -Object.defineProperty(exports, "JsonRpcProvider", ({ enumerable: true, get: function () { return json_rpc_provider_1.JsonRpcProvider; } })); -Object.defineProperty(exports, "JsonRpcSigner", ({ enumerable: true, get: function () { return json_rpc_provider_1.JsonRpcSigner; } })); -var json_rpc_batch_provider_1 = __nccwpck_require__(52503); -Object.defineProperty(exports, "JsonRpcBatchProvider", ({ enumerable: true, get: function () { return json_rpc_batch_provider_1.JsonRpcBatchProvider; } })); -var nodesmith_provider_1 = __nccwpck_require__(76560); -Object.defineProperty(exports, "NodesmithProvider", ({ enumerable: true, get: function () { return nodesmith_provider_1.NodesmithProvider; } })); -var pocket_provider_1 = __nccwpck_require__(45902); -Object.defineProperty(exports, "PocketProvider", ({ enumerable: true, get: function () { return pocket_provider_1.PocketProvider; } })); -var url_json_rpc_provider_1 = __nccwpck_require__(67644); -Object.defineProperty(exports, "StaticJsonRpcProvider", ({ enumerable: true, get: function () { return url_json_rpc_provider_1.StaticJsonRpcProvider; } })); -Object.defineProperty(exports, "UrlJsonRpcProvider", ({ enumerable: true, get: function () { return url_json_rpc_provider_1.UrlJsonRpcProvider; } })); -var web3_provider_1 = __nccwpck_require__(69093); -Object.defineProperty(exports, "Web3Provider", ({ enumerable: true, get: function () { return web3_provider_1.Web3Provider; } })); -var websocket_provider_1 = __nccwpck_require__(77071); -Object.defineProperty(exports, "WebSocketProvider", ({ enumerable: true, get: function () { return websocket_provider_1.WebSocketProvider; } })); -var formatter_1 = __nccwpck_require__(60971); -Object.defineProperty(exports, "Formatter", ({ enumerable: true, get: function () { return formatter_1.Formatter; } })); -Object.defineProperty(exports, "isCommunityResourcable", ({ enumerable: true, get: function () { return formatter_1.isCommunityResourcable; } })); -Object.defineProperty(exports, "isCommunityResource", ({ enumerable: true, get: function () { return formatter_1.isCommunityResource; } })); -Object.defineProperty(exports, "showThrottleMessage", ({ enumerable: true, get: function () { return formatter_1.showThrottleMessage; } })); -var logger_1 = __nccwpck_require__(8772); -var _version_1 = __nccwpck_require__(69139); -var logger = new logger_1.Logger(_version_1.version); -//////////////////////// -// Helper Functions -function getDefaultProvider(network, options) { - if (network == null) { - network = "homestead"; - } - // If passed a URL, figure out the right type of provider based on the scheme - if (typeof (network) === "string") { - // @TODO: Add support for IpcProvider; maybe if it ends in ".ipc"? - // Handle http and ws (and their secure variants) - var match = network.match(/^(ws|http)s?:/i); - if (match) { - switch (match[1].toLowerCase()) { - case "http": - case "https": - return new json_rpc_provider_1.JsonRpcProvider(network); - case "ws": - case "wss": - return new websocket_provider_1.WebSocketProvider(network); - default: - logger.throwArgumentError("unsupported URL scheme", "network", network); - } - } - } - var n = (0, networks_1.getNetwork)(network); - if (!n || !n._defaultProvider) { - logger.throwError("unsupported getDefaultProvider network", logger_1.Logger.errors.NETWORK_ERROR, { - operation: "getDefaultProvider", - network: network - }); - } - return n._defaultProvider({ - FallbackProvider: fallback_provider_1.FallbackProvider, - AlchemyProvider: alchemy_provider_1.AlchemyProvider, - AnkrProvider: ankr_provider_1.AnkrProvider, - CloudflareProvider: cloudflare_provider_1.CloudflareProvider, - EtherscanProvider: etherscan_provider_1.EtherscanProvider, - InfuraProvider: infura_provider_1.InfuraProvider, - JsonRpcProvider: json_rpc_provider_1.JsonRpcProvider, - NodesmithProvider: nodesmith_provider_1.NodesmithProvider, - PocketProvider: pocket_provider_1.PocketProvider, - Web3Provider: web3_provider_1.Web3Provider, - IpcProvider: ipc_provider_1.IpcProvider, - }, options); -} -exports.getDefaultProvider = getDefaultProvider; -//# sourceMappingURL=index.js.map - -/***/ }), - -/***/ 43073: -/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) { - - -var __extends = (this && this.__extends) || (function () { - var extendStatics = function (d, b) { - extendStatics = Object.setPrototypeOf || - ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || - function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; }; - return extendStatics(d, b); - }; - return function (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 __()); - }; -})(); -Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.InfuraProvider = exports.InfuraWebSocketProvider = void 0; -var properties_1 = __nccwpck_require__(54145); -var websocket_provider_1 = __nccwpck_require__(77071); -var formatter_1 = __nccwpck_require__(60971); -var logger_1 = __nccwpck_require__(8772); -var _version_1 = __nccwpck_require__(69139); -var logger = new logger_1.Logger(_version_1.version); -var url_json_rpc_provider_1 = __nccwpck_require__(67644); -var defaultProjectId = "84842078b09946638c03157f83405213"; -var InfuraWebSocketProvider = /** @class */ (function (_super) { - __extends(InfuraWebSocketProvider, _super); - function InfuraWebSocketProvider(network, apiKey) { - var _this = this; - var provider = new InfuraProvider(network, apiKey); - var connection = provider.connection; - if (connection.password) { - logger.throwError("INFURA WebSocket project secrets unsupported", logger_1.Logger.errors.UNSUPPORTED_OPERATION, { - operation: "InfuraProvider.getWebSocketProvider()" - }); - } - var url = connection.url.replace(/^http/i, "ws").replace("/v3/", "/ws/v3/"); - _this = _super.call(this, url, network) || this; - (0, properties_1.defineReadOnly)(_this, "apiKey", provider.projectId); - (0, properties_1.defineReadOnly)(_this, "projectId", provider.projectId); - (0, properties_1.defineReadOnly)(_this, "projectSecret", provider.projectSecret); - return _this; - } - InfuraWebSocketProvider.prototype.isCommunityResource = function () { - return (this.projectId === defaultProjectId); - }; - return InfuraWebSocketProvider; -}(websocket_provider_1.WebSocketProvider)); -exports.InfuraWebSocketProvider = InfuraWebSocketProvider; -var InfuraProvider = /** @class */ (function (_super) { - __extends(InfuraProvider, _super); - function InfuraProvider() { - return _super !== null && _super.apply(this, arguments) || this; - } - InfuraProvider.getWebSocketProvider = function (network, apiKey) { - return new InfuraWebSocketProvider(network, apiKey); - }; - InfuraProvider.getApiKey = function (apiKey) { - var apiKeyObj = { - apiKey: defaultProjectId, - projectId: defaultProjectId, - projectSecret: null - }; - if (apiKey == null) { - return apiKeyObj; - } - if (typeof (apiKey) === "string") { - apiKeyObj.projectId = apiKey; - } - else if (apiKey.projectSecret != null) { - logger.assertArgument((typeof (apiKey.projectId) === "string"), "projectSecret requires a projectId", "projectId", apiKey.projectId); - logger.assertArgument((typeof (apiKey.projectSecret) === "string"), "invalid projectSecret", "projectSecret", "[REDACTED]"); - apiKeyObj.projectId = apiKey.projectId; - apiKeyObj.projectSecret = apiKey.projectSecret; - } - else if (apiKey.projectId) { - apiKeyObj.projectId = apiKey.projectId; - } - apiKeyObj.apiKey = apiKeyObj.projectId; - return apiKeyObj; - }; - InfuraProvider.getUrl = function (network, apiKey) { - var host = null; - switch (network ? network.name : "unknown") { - case "homestead": - host = "mainnet.infura.io"; - break; - case "goerli": - host = "goerli.infura.io"; - break; - case "sepolia": - host = "sepolia.infura.io"; - break; - case "matic": - host = "polygon-mainnet.infura.io"; - break; - case "maticmum": - host = "polygon-mumbai.infura.io"; - break; - case "optimism": - host = "optimism-mainnet.infura.io"; - break; - case "optimism-goerli": - host = "optimism-goerli.infura.io"; - break; - case "arbitrum": - host = "arbitrum-mainnet.infura.io"; - break; - case "arbitrum-goerli": - host = "arbitrum-goerli.infura.io"; - break; - default: - logger.throwError("unsupported network", logger_1.Logger.errors.INVALID_ARGUMENT, { - argument: "network", - value: network - }); - } - var connection = { - allowGzip: true, - url: ("https:/" + "/" + host + "/v3/" + apiKey.projectId), - throttleCallback: function (attempt, url) { - if (apiKey.projectId === defaultProjectId) { - (0, formatter_1.showThrottleMessage)(); - } - return Promise.resolve(true); - } - }; - if (apiKey.projectSecret != null) { - connection.user = ""; - connection.password = apiKey.projectSecret; - } - return connection; - }; - InfuraProvider.prototype.isCommunityResource = function () { - return (this.projectId === defaultProjectId); - }; - return InfuraProvider; -}(url_json_rpc_provider_1.UrlJsonRpcProvider)); -exports.InfuraProvider = InfuraProvider; -//# sourceMappingURL=infura-provider.js.map - -/***/ }), - -/***/ 70427: -/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) { - - -var __extends = (this && this.__extends) || (function () { - var extendStatics = function (d, b) { - extendStatics = Object.setPrototypeOf || - ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || - function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; }; - return extendStatics(d, b); - }; - return function (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 __()); - }; -})(); -Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.IpcProvider = void 0; -var net_1 = __nccwpck_require__(69278); -var properties_1 = __nccwpck_require__(54145); -var logger_1 = __nccwpck_require__(8772); -var _version_1 = __nccwpck_require__(69139); -var logger = new logger_1.Logger(_version_1.version); -var json_rpc_provider_1 = __nccwpck_require__(39172); -var IpcProvider = /** @class */ (function (_super) { - __extends(IpcProvider, _super); - function IpcProvider(path, network) { - var _this = this; - if (path == null) { - logger.throwError("missing path", logger_1.Logger.errors.MISSING_ARGUMENT, { arg: "path" }); - } - _this = _super.call(this, "ipc://" + path, network) || this; - (0, properties_1.defineReadOnly)(_this, "path", path); - return _this; - } - // @TODO: Create a connection to the IPC path and use filters instead of polling for block - IpcProvider.prototype.send = function (method, params) { - // This method is very simple right now. We create a new socket - // connection each time, which may be slower, but the main - // advantage we are aiming for now is security. This simplifies - // multiplexing requests (since we do not need to multiplex). - var _this = this; - var payload = JSON.stringify({ - method: method, - params: params, - id: 42, - jsonrpc: "2.0" - }); - return new Promise(function (resolve, reject) { - var response = Buffer.alloc(0); - var stream = (0, net_1.connect)(_this.path); - stream.on("data", function (data) { - response = Buffer.concat([response, data]); - }); - stream.on("end", function () { - try { - resolve(JSON.parse(response.toString()).result); - // @TODO: Better pull apart the error - stream.destroy(); - } - catch (error) { - reject(error); - stream.destroy(); - } - }); - stream.on("error", function (error) { - reject(error); - stream.destroy(); - }); - stream.write(payload); - stream.end(); - }); - }; - return IpcProvider; -}(json_rpc_provider_1.JsonRpcProvider)); -exports.IpcProvider = IpcProvider; -//# sourceMappingURL=ipc-provider.js.map - -/***/ }), - -/***/ 52503: -/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) { - - -var __extends = (this && this.__extends) || (function () { - var extendStatics = function (d, b) { - extendStatics = Object.setPrototypeOf || - ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || - function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; }; - return extendStatics(d, b); - }; - return function (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 __()); - }; -})(); -Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.JsonRpcBatchProvider = void 0; -var properties_1 = __nccwpck_require__(54145); -var web_1 = __nccwpck_require__(75570); -var json_rpc_provider_1 = __nccwpck_require__(39172); -// Experimental -var JsonRpcBatchProvider = /** @class */ (function (_super) { - __extends(JsonRpcBatchProvider, _super); - function JsonRpcBatchProvider() { - return _super !== null && _super.apply(this, arguments) || this; - } - JsonRpcBatchProvider.prototype.send = function (method, params) { - var _this = this; - var request = { - method: method, - params: params, - id: (this._nextId++), - jsonrpc: "2.0" - }; - if (this._pendingBatch == null) { - this._pendingBatch = []; - } - var inflightRequest = { request: request, resolve: null, reject: null }; - var promise = new Promise(function (resolve, reject) { - inflightRequest.resolve = resolve; - inflightRequest.reject = reject; - }); - this._pendingBatch.push(inflightRequest); - if (!this._pendingBatchAggregator) { - // Schedule batch for next event loop + short duration - this._pendingBatchAggregator = setTimeout(function () { - // Get teh current batch and clear it, so new requests - // go into the next batch - var batch = _this._pendingBatch; - _this._pendingBatch = null; - _this._pendingBatchAggregator = null; - // Get the request as an array of requests - var request = batch.map(function (inflight) { return inflight.request; }); - _this.emit("debug", { - action: "requestBatch", - request: (0, properties_1.deepCopy)(request), - provider: _this - }); - return (0, web_1.fetchJson)(_this.connection, JSON.stringify(request)).then(function (result) { - _this.emit("debug", { - action: "response", - request: request, - response: result, - provider: _this - }); - // For each result, feed it to the correct Promise, depending - // on whether it was a success or error - batch.forEach(function (inflightRequest, index) { - var payload = result[index]; - if (payload.error) { - var error = new Error(payload.error.message); - error.code = payload.error.code; - error.data = payload.error.data; - inflightRequest.reject(error); - } - else { - inflightRequest.resolve(payload.result); - } - }); - }, function (error) { - _this.emit("debug", { - action: "response", - error: error, - request: request, - provider: _this - }); - batch.forEach(function (inflightRequest) { - inflightRequest.reject(error); - }); - }); - }, 10); - } - return promise; - }; - return JsonRpcBatchProvider; -}(json_rpc_provider_1.JsonRpcProvider)); -exports.JsonRpcBatchProvider = JsonRpcBatchProvider; -//# sourceMappingURL=json-rpc-batch-provider.js.map - -/***/ }), - -/***/ 39172: -/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) { - - -var __extends = (this && this.__extends) || (function () { - var extendStatics = function (d, b) { - extendStatics = Object.setPrototypeOf || - ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || - function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; }; - return extendStatics(d, b); - }; - return function (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 __()); - }; -})(); -var __awaiter = (this && this.__awaiter) || function (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, reject) { - function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } - function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } - function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); -}; -var __generator = (this && this.__generator) || function (thisArg, body) { - var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g; - return g = { next: verb(0), "throw": verb(1), "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 (_) 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 }; - } -}; -Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.JsonRpcProvider = exports.JsonRpcSigner = void 0; -var abstract_signer_1 = __nccwpck_require__(2863); -var bignumber_1 = __nccwpck_require__(14763); -var bytes_1 = __nccwpck_require__(69691); -var hash_1 = __nccwpck_require__(39144); -var properties_1 = __nccwpck_require__(54145); -var strings_1 = __nccwpck_require__(95578); -var transactions_1 = __nccwpck_require__(55701); -var web_1 = __nccwpck_require__(75570); -var logger_1 = __nccwpck_require__(8772); -var _version_1 = __nccwpck_require__(69139); -var logger = new logger_1.Logger(_version_1.version); -var base_provider_1 = __nccwpck_require__(9259); -var errorGas = ["call", "estimateGas"]; -function spelunk(value, requireData) { - if (value == null) { - return null; - } - // These *are* the droids we're looking for. - if (typeof (value.message) === "string" && value.message.match("reverted")) { - var data = (0, bytes_1.isHexString)(value.data) ? value.data : null; - if (!requireData || data) { - return { message: value.message, data: data }; - } - } - // Spelunk further... - if (typeof (value) === "object") { - for (var key in value) { - var result = spelunk(value[key], requireData); - if (result) { - return result; - } - } - return null; - } - // Might be a JSON string we can further descend... - if (typeof (value) === "string") { - try { - return spelunk(JSON.parse(value), requireData); - } - catch (error) { } - } - return null; -} -function checkError(method, error, params) { - var transaction = params.transaction || params.signedTransaction; - // Undo the "convenience" some nodes are attempting to prevent backwards - // incompatibility; maybe for v6 consider forwarding reverts as errors - if (method === "call") { - var result = spelunk(error, true); - if (result) { - return result.data; - } - // Nothing descriptive.. - logger.throwError("missing revert data in call exception; Transaction reverted without a reason string", logger_1.Logger.errors.CALL_EXCEPTION, { - data: "0x", - transaction: transaction, - error: error - }); - } - if (method === "estimateGas") { - // Try to find something, with a preference on SERVER_ERROR body - var result = spelunk(error.body, false); - if (result == null) { - result = spelunk(error, false); - } - // Found "reverted", this is a CALL_EXCEPTION - if (result) { - logger.throwError("cannot estimate gas; transaction may fail or may require manual gas limit", logger_1.Logger.errors.UNPREDICTABLE_GAS_LIMIT, { - reason: result.message, - method: method, - transaction: transaction, - error: error - }); - } - } - // @TODO: Should we spelunk for message too? - var message = error.message; - if (error.code === logger_1.Logger.errors.SERVER_ERROR && error.error && typeof (error.error.message) === "string") { - message = error.error.message; - } - else if (typeof (error.body) === "string") { - message = error.body; - } - else if (typeof (error.responseText) === "string") { - message = error.responseText; - } - message = (message || "").toLowerCase(); - // "insufficient funds for gas * price + value + cost(data)" - if (message.match(/insufficient funds|base fee exceeds gas limit|InsufficientFunds/i)) { - logger.throwError("insufficient funds for intrinsic transaction cost", logger_1.Logger.errors.INSUFFICIENT_FUNDS, { - error: error, - method: method, - transaction: transaction - }); - } - // "nonce too low" - if (message.match(/nonce (is )?too low/i)) { - logger.throwError("nonce has already been used", logger_1.Logger.errors.NONCE_EXPIRED, { - error: error, - method: method, - transaction: transaction - }); - } - // "replacement transaction underpriced" - if (message.match(/replacement transaction underpriced|transaction gas price.*too low/i)) { - logger.throwError("replacement fee too low", logger_1.Logger.errors.REPLACEMENT_UNDERPRICED, { - error: error, - method: method, - transaction: transaction - }); - } - // "replacement transaction underpriced" - if (message.match(/only replay-protected/i)) { - logger.throwError("legacy pre-eip-155 transactions not supported", logger_1.Logger.errors.UNSUPPORTED_OPERATION, { - error: error, - method: method, - transaction: transaction - }); - } - if (errorGas.indexOf(method) >= 0 && message.match(/gas required exceeds allowance|always failing transaction|execution reverted|revert/)) { - logger.throwError("cannot estimate gas; transaction may fail or may require manual gas limit", logger_1.Logger.errors.UNPREDICTABLE_GAS_LIMIT, { - error: error, - method: method, - transaction: transaction - }); - } - throw error; -} -function timer(timeout) { - return new Promise(function (resolve) { - setTimeout(resolve, timeout); - }); -} -function getResult(payload) { - if (payload.error) { - // @TODO: not any - var error = new Error(payload.error.message); - error.code = payload.error.code; - error.data = payload.error.data; - throw error; - } - return payload.result; -} -function getLowerCase(value) { - if (value) { - return value.toLowerCase(); - } - return value; -} -var _constructorGuard = {}; -var JsonRpcSigner = /** @class */ (function (_super) { - __extends(JsonRpcSigner, _super); - function JsonRpcSigner(constructorGuard, provider, addressOrIndex) { - var _this = _super.call(this) || this; - if (constructorGuard !== _constructorGuard) { - throw new Error("do not call the JsonRpcSigner constructor directly; use provider.getSigner"); - } - (0, properties_1.defineReadOnly)(_this, "provider", provider); - if (addressOrIndex == null) { - addressOrIndex = 0; - } - if (typeof (addressOrIndex) === "string") { - (0, properties_1.defineReadOnly)(_this, "_address", _this.provider.formatter.address(addressOrIndex)); - (0, properties_1.defineReadOnly)(_this, "_index", null); - } - else if (typeof (addressOrIndex) === "number") { - (0, properties_1.defineReadOnly)(_this, "_index", addressOrIndex); - (0, properties_1.defineReadOnly)(_this, "_address", null); - } - else { - logger.throwArgumentError("invalid address or index", "addressOrIndex", addressOrIndex); - } - return _this; - } - JsonRpcSigner.prototype.connect = function (provider) { - return logger.throwError("cannot alter JSON-RPC Signer connection", logger_1.Logger.errors.UNSUPPORTED_OPERATION, { - operation: "connect" - }); - }; - JsonRpcSigner.prototype.connectUnchecked = function () { - return new UncheckedJsonRpcSigner(_constructorGuard, this.provider, this._address || this._index); - }; - JsonRpcSigner.prototype.getAddress = function () { - var _this = this; - if (this._address) { - return Promise.resolve(this._address); - } - return this.provider.send("eth_accounts", []).then(function (accounts) { - if (accounts.length <= _this._index) { - logger.throwError("unknown account #" + _this._index, logger_1.Logger.errors.UNSUPPORTED_OPERATION, { - operation: "getAddress" - }); - } - return _this.provider.formatter.address(accounts[_this._index]); - }); - }; - JsonRpcSigner.prototype.sendUncheckedTransaction = function (transaction) { - var _this = this; - transaction = (0, properties_1.shallowCopy)(transaction); - var fromAddress = this.getAddress().then(function (address) { - if (address) { - address = address.toLowerCase(); - } - return address; - }); - // The JSON-RPC for eth_sendTransaction uses 90000 gas; if the user - // wishes to use this, it is easy to specify explicitly, otherwise - // we look it up for them. - if (transaction.gasLimit == null) { - var estimate = (0, properties_1.shallowCopy)(transaction); - estimate.from = fromAddress; - transaction.gasLimit = this.provider.estimateGas(estimate); - } - if (transaction.to != null) { - transaction.to = Promise.resolve(transaction.to).then(function (to) { return __awaiter(_this, void 0, void 0, function () { - var address; - return __generator(this, function (_a) { - switch (_a.label) { - case 0: - if (to == null) { - return [2 /*return*/, null]; - } - return [4 /*yield*/, this.provider.resolveName(to)]; - case 1: - address = _a.sent(); - if (address == null) { - logger.throwArgumentError("provided ENS name resolves to null", "tx.to", to); - } - return [2 /*return*/, address]; - } - }); - }); }); - } - return (0, properties_1.resolveProperties)({ - tx: (0, properties_1.resolveProperties)(transaction), - sender: fromAddress - }).then(function (_a) { - var tx = _a.tx, sender = _a.sender; - if (tx.from != null) { - if (tx.from.toLowerCase() !== sender) { - logger.throwArgumentError("from address mismatch", "transaction", transaction); - } - } - else { - tx.from = sender; - } - var hexTx = _this.provider.constructor.hexlifyTransaction(tx, { from: true }); - return _this.provider.send("eth_sendTransaction", [hexTx]).then(function (hash) { - return hash; - }, function (error) { - if (typeof (error.message) === "string" && error.message.match(/user denied/i)) { - logger.throwError("user rejected transaction", logger_1.Logger.errors.ACTION_REJECTED, { - action: "sendTransaction", - transaction: tx - }); - } - return checkError("sendTransaction", error, hexTx); - }); - }); - }; - JsonRpcSigner.prototype.signTransaction = function (transaction) { - return logger.throwError("signing transactions is unsupported", logger_1.Logger.errors.UNSUPPORTED_OPERATION, { - operation: "signTransaction" - }); - }; - JsonRpcSigner.prototype.sendTransaction = function (transaction) { - return __awaiter(this, void 0, void 0, function () { - var blockNumber, hash, error_1; - var _this = this; - return __generator(this, function (_a) { - switch (_a.label) { - case 0: return [4 /*yield*/, this.provider._getInternalBlockNumber(100 + 2 * this.provider.pollingInterval)]; - case 1: - blockNumber = _a.sent(); - return [4 /*yield*/, this.sendUncheckedTransaction(transaction)]; - case 2: - hash = _a.sent(); - _a.label = 3; - case 3: - _a.trys.push([3, 5, , 6]); - return [4 /*yield*/, (0, web_1.poll)(function () { return __awaiter(_this, void 0, void 0, function () { - var tx; - return __generator(this, function (_a) { - switch (_a.label) { - case 0: return [4 /*yield*/, this.provider.getTransaction(hash)]; - case 1: - tx = _a.sent(); - if (tx === null) { - return [2 /*return*/, undefined]; - } - return [2 /*return*/, this.provider._wrapTransaction(tx, hash, blockNumber)]; - } - }); - }); }, { oncePoll: this.provider })]; - case 4: - // Unfortunately, JSON-RPC only provides and opaque transaction hash - // for a response, and we need the actual transaction, so we poll - // for it; it should show up very quickly - return [2 /*return*/, _a.sent()]; - case 5: - error_1 = _a.sent(); - error_1.transactionHash = hash; - throw error_1; - case 6: return [2 /*return*/]; - } - }); - }); - }; - JsonRpcSigner.prototype.signMessage = function (message) { - return __awaiter(this, void 0, void 0, function () { - var data, address, error_2; - return __generator(this, function (_a) { - switch (_a.label) { - case 0: - data = ((typeof (message) === "string") ? (0, strings_1.toUtf8Bytes)(message) : message); - return [4 /*yield*/, this.getAddress()]; - case 1: - address = _a.sent(); - _a.label = 2; - case 2: - _a.trys.push([2, 4, , 5]); - return [4 /*yield*/, this.provider.send("personal_sign", [(0, bytes_1.hexlify)(data), address.toLowerCase()])]; - case 3: return [2 /*return*/, _a.sent()]; - case 4: - error_2 = _a.sent(); - if (typeof (error_2.message) === "string" && error_2.message.match(/user denied/i)) { - logger.throwError("user rejected signing", logger_1.Logger.errors.ACTION_REJECTED, { - action: "signMessage", - from: address, - messageData: message - }); - } - throw error_2; - case 5: return [2 /*return*/]; - } - }); - }); - }; - JsonRpcSigner.prototype._legacySignMessage = function (message) { - return __awaiter(this, void 0, void 0, function () { - var data, address, error_3; - return __generator(this, function (_a) { - switch (_a.label) { - case 0: - data = ((typeof (message) === "string") ? (0, strings_1.toUtf8Bytes)(message) : message); - return [4 /*yield*/, this.getAddress()]; - case 1: - address = _a.sent(); - _a.label = 2; - case 2: - _a.trys.push([2, 4, , 5]); - return [4 /*yield*/, this.provider.send("eth_sign", [address.toLowerCase(), (0, bytes_1.hexlify)(data)])]; - case 3: - // https://github.com/ethereum/wiki/wiki/JSON-RPC#eth_sign - return [2 /*return*/, _a.sent()]; - case 4: - error_3 = _a.sent(); - if (typeof (error_3.message) === "string" && error_3.message.match(/user denied/i)) { - logger.throwError("user rejected signing", logger_1.Logger.errors.ACTION_REJECTED, { - action: "_legacySignMessage", - from: address, - messageData: message - }); - } - throw error_3; - case 5: return [2 /*return*/]; - } - }); - }); - }; - JsonRpcSigner.prototype._signTypedData = function (domain, types, value) { - return __awaiter(this, void 0, void 0, function () { - var populated, address, error_4; - var _this = this; - return __generator(this, function (_a) { - switch (_a.label) { - case 0: return [4 /*yield*/, hash_1._TypedDataEncoder.resolveNames(domain, types, value, function (name) { - return _this.provider.resolveName(name); - })]; - case 1: - populated = _a.sent(); - return [4 /*yield*/, this.getAddress()]; - case 2: - address = _a.sent(); - _a.label = 3; - case 3: - _a.trys.push([3, 5, , 6]); - return [4 /*yield*/, this.provider.send("eth_signTypedData_v4", [ - address.toLowerCase(), - JSON.stringify(hash_1._TypedDataEncoder.getPayload(populated.domain, types, populated.value)) - ])]; - case 4: return [2 /*return*/, _a.sent()]; - case 5: - error_4 = _a.sent(); - if (typeof (error_4.message) === "string" && error_4.message.match(/user denied/i)) { - logger.throwError("user rejected signing", logger_1.Logger.errors.ACTION_REJECTED, { - action: "_signTypedData", - from: address, - messageData: { domain: populated.domain, types: types, value: populated.value } - }); - } - throw error_4; - case 6: return [2 /*return*/]; - } - }); - }); - }; - JsonRpcSigner.prototype.unlock = function (password) { - return __awaiter(this, void 0, void 0, function () { - var provider, address; - return __generator(this, function (_a) { - switch (_a.label) { - case 0: - provider = this.provider; - return [4 /*yield*/, this.getAddress()]; - case 1: - address = _a.sent(); - return [2 /*return*/, provider.send("personal_unlockAccount", [address.toLowerCase(), password, null])]; - } - }); - }); - }; - return JsonRpcSigner; -}(abstract_signer_1.Signer)); -exports.JsonRpcSigner = JsonRpcSigner; -var UncheckedJsonRpcSigner = /** @class */ (function (_super) { - __extends(UncheckedJsonRpcSigner, _super); - function UncheckedJsonRpcSigner() { - return _super !== null && _super.apply(this, arguments) || this; - } - UncheckedJsonRpcSigner.prototype.sendTransaction = function (transaction) { - var _this = this; - return this.sendUncheckedTransaction(transaction).then(function (hash) { - return { - hash: hash, - nonce: null, - gasLimit: null, - gasPrice: null, - data: null, - value: null, - chainId: null, - confirmations: 0, - from: null, - wait: function (confirmations) { return _this.provider.waitForTransaction(hash, confirmations); } - }; - }); - }; - return UncheckedJsonRpcSigner; -}(JsonRpcSigner)); -var allowedTransactionKeys = { - chainId: true, data: true, gasLimit: true, gasPrice: true, nonce: true, to: true, value: true, - type: true, accessList: true, - maxFeePerGas: true, maxPriorityFeePerGas: true -}; -var JsonRpcProvider = /** @class */ (function (_super) { - __extends(JsonRpcProvider, _super); - function JsonRpcProvider(url, network) { - var _this = this; - var networkOrReady = network; - // The network is unknown, query the JSON-RPC for it - if (networkOrReady == null) { - networkOrReady = new Promise(function (resolve, reject) { - setTimeout(function () { - _this.detectNetwork().then(function (network) { - resolve(network); - }, function (error) { - reject(error); - }); - }, 0); - }); - } - _this = _super.call(this, networkOrReady) || this; - // Default URL - if (!url) { - url = (0, properties_1.getStatic)(_this.constructor, "defaultUrl")(); - } - if (typeof (url) === "string") { - (0, properties_1.defineReadOnly)(_this, "connection", Object.freeze({ - url: url - })); - } - else { - (0, properties_1.defineReadOnly)(_this, "connection", Object.freeze((0, properties_1.shallowCopy)(url))); - } - _this._nextId = 42; - return _this; - } - Object.defineProperty(JsonRpcProvider.prototype, "_cache", { - get: function () { - if (this._eventLoopCache == null) { - this._eventLoopCache = {}; - } - return this._eventLoopCache; - }, - enumerable: false, - configurable: true - }); - JsonRpcProvider.defaultUrl = function () { - return "http:/\/localhost:8545"; - }; - JsonRpcProvider.prototype.detectNetwork = function () { - var _this = this; - if (!this._cache["detectNetwork"]) { - this._cache["detectNetwork"] = this._uncachedDetectNetwork(); - // Clear this cache at the beginning of the next event loop - setTimeout(function () { - _this._cache["detectNetwork"] = null; - }, 0); - } - return this._cache["detectNetwork"]; - }; - JsonRpcProvider.prototype._uncachedDetectNetwork = function () { - return __awaiter(this, void 0, void 0, function () { - var chainId, error_5, error_6, getNetwork; - return __generator(this, function (_a) { - switch (_a.label) { - case 0: return [4 /*yield*/, timer(0)]; - case 1: - _a.sent(); - chainId = null; - _a.label = 2; - case 2: - _a.trys.push([2, 4, , 9]); - return [4 /*yield*/, this.send("eth_chainId", [])]; - case 3: - chainId = _a.sent(); - return [3 /*break*/, 9]; - case 4: - error_5 = _a.sent(); - _a.label = 5; - case 5: - _a.trys.push([5, 7, , 8]); - return [4 /*yield*/, this.send("net_version", [])]; - case 6: - chainId = _a.sent(); - return [3 /*break*/, 8]; - case 7: - error_6 = _a.sent(); - return [3 /*break*/, 8]; - case 8: return [3 /*break*/, 9]; - case 9: - if (chainId != null) { - getNetwork = (0, properties_1.getStatic)(this.constructor, "getNetwork"); - try { - return [2 /*return*/, getNetwork(bignumber_1.BigNumber.from(chainId).toNumber())]; - } - catch (error) { - return [2 /*return*/, logger.throwError("could not detect network", logger_1.Logger.errors.NETWORK_ERROR, { - chainId: chainId, - event: "invalidNetwork", - serverError: error - })]; - } - } - return [2 /*return*/, logger.throwError("could not detect network", logger_1.Logger.errors.NETWORK_ERROR, { - event: "noNetwork" - })]; - } - }); - }); - }; - JsonRpcProvider.prototype.getSigner = function (addressOrIndex) { - return new JsonRpcSigner(_constructorGuard, this, addressOrIndex); - }; - JsonRpcProvider.prototype.getUncheckedSigner = function (addressOrIndex) { - return this.getSigner(addressOrIndex).connectUnchecked(); - }; - JsonRpcProvider.prototype.listAccounts = function () { - var _this = this; - return this.send("eth_accounts", []).then(function (accounts) { - return accounts.map(function (a) { return _this.formatter.address(a); }); - }); - }; - JsonRpcProvider.prototype.send = function (method, params) { - var _this = this; - var request = { - method: method, - params: params, - id: (this._nextId++), - jsonrpc: "2.0" - }; - this.emit("debug", { - action: "request", - request: (0, properties_1.deepCopy)(request), - provider: this - }); - // We can expand this in the future to any call, but for now these - // are the biggest wins and do not require any serializing parameters. - var cache = (["eth_chainId", "eth_blockNumber"].indexOf(method) >= 0); - if (cache && this._cache[method]) { - return this._cache[method]; - } - var result = (0, web_1.fetchJson)(this.connection, JSON.stringify(request), getResult).then(function (result) { - _this.emit("debug", { - action: "response", - request: request, - response: result, - provider: _this - }); - return result; - }, function (error) { - _this.emit("debug", { - action: "response", - error: error, - request: request, - provider: _this - }); - throw error; - }); - // Cache the fetch, but clear it on the next event loop - if (cache) { - this._cache[method] = result; - setTimeout(function () { - _this._cache[method] = null; - }, 0); - } - return result; - }; - JsonRpcProvider.prototype.prepareRequest = function (method, params) { - switch (method) { - case "getBlockNumber": - return ["eth_blockNumber", []]; - case "getGasPrice": - return ["eth_gasPrice", []]; - case "getBalance": - return ["eth_getBalance", [getLowerCase(params.address), params.blockTag]]; - case "getTransactionCount": - return ["eth_getTransactionCount", [getLowerCase(params.address), params.blockTag]]; - case "getCode": - return ["eth_getCode", [getLowerCase(params.address), params.blockTag]]; - case "getStorageAt": - return ["eth_getStorageAt", [getLowerCase(params.address), (0, bytes_1.hexZeroPad)(params.position, 32), params.blockTag]]; - case "sendTransaction": - return ["eth_sendRawTransaction", [params.signedTransaction]]; - case "getBlock": - if (params.blockTag) { - return ["eth_getBlockByNumber", [params.blockTag, !!params.includeTransactions]]; - } - else if (params.blockHash) { - return ["eth_getBlockByHash", [params.blockHash, !!params.includeTransactions]]; - } - return null; - case "getTransaction": - return ["eth_getTransactionByHash", [params.transactionHash]]; - case "getTransactionReceipt": - return ["eth_getTransactionReceipt", [params.transactionHash]]; - case "call": { - var hexlifyTransaction = (0, properties_1.getStatic)(this.constructor, "hexlifyTransaction"); - return ["eth_call", [hexlifyTransaction(params.transaction, { from: true }), params.blockTag]]; - } - case "estimateGas": { - var hexlifyTransaction = (0, properties_1.getStatic)(this.constructor, "hexlifyTransaction"); - return ["eth_estimateGas", [hexlifyTransaction(params.transaction, { from: true })]]; - } - case "getLogs": - if (params.filter && params.filter.address != null) { - params.filter.address = getLowerCase(params.filter.address); - } - return ["eth_getLogs", [params.filter]]; - default: - break; - } - return null; - }; - JsonRpcProvider.prototype.perform = function (method, params) { - return __awaiter(this, void 0, void 0, function () { - var tx, feeData, args, error_7; - return __generator(this, function (_a) { - switch (_a.label) { - case 0: - if (!(method === "call" || method === "estimateGas")) return [3 /*break*/, 2]; - tx = params.transaction; - if (!(tx && tx.type != null && bignumber_1.BigNumber.from(tx.type).isZero())) return [3 /*break*/, 2]; - if (!(tx.maxFeePerGas == null && tx.maxPriorityFeePerGas == null)) return [3 /*break*/, 2]; - return [4 /*yield*/, this.getFeeData()]; - case 1: - feeData = _a.sent(); - if (feeData.maxFeePerGas == null && feeData.maxPriorityFeePerGas == null) { - // Network doesn't know about EIP-1559 (and hence type) - params = (0, properties_1.shallowCopy)(params); - params.transaction = (0, properties_1.shallowCopy)(tx); - delete params.transaction.type; - } - _a.label = 2; - case 2: - args = this.prepareRequest(method, params); - if (args == null) { - logger.throwError(method + " not implemented", logger_1.Logger.errors.NOT_IMPLEMENTED, { operation: method }); - } - _a.label = 3; - case 3: - _a.trys.push([3, 5, , 6]); - return [4 /*yield*/, this.send(args[0], args[1])]; - case 4: return [2 /*return*/, _a.sent()]; - case 5: - error_7 = _a.sent(); - return [2 /*return*/, checkError(method, error_7, params)]; - case 6: return [2 /*return*/]; - } - }); - }); - }; - JsonRpcProvider.prototype._startEvent = function (event) { - if (event.tag === "pending") { - this._startPending(); - } - _super.prototype._startEvent.call(this, event); - }; - JsonRpcProvider.prototype._startPending = function () { - if (this._pendingFilter != null) { - return; - } - var self = this; - var pendingFilter = this.send("eth_newPendingTransactionFilter", []); - this._pendingFilter = pendingFilter; - pendingFilter.then(function (filterId) { - function poll() { - self.send("eth_getFilterChanges", [filterId]).then(function (hashes) { - if (self._pendingFilter != pendingFilter) { - return null; - } - var seq = Promise.resolve(); - hashes.forEach(function (hash) { - // @TODO: This should be garbage collected at some point... How? When? - self._emitted["t:" + hash.toLowerCase()] = "pending"; - seq = seq.then(function () { - return self.getTransaction(hash).then(function (tx) { - self.emit("pending", tx); - return null; - }); - }); - }); - return seq.then(function () { - return timer(1000); - }); - }).then(function () { - if (self._pendingFilter != pendingFilter) { - self.send("eth_uninstallFilter", [filterId]); - return; - } - setTimeout(function () { poll(); }, 0); - return null; - }).catch(function (error) { }); - } - poll(); - return filterId; - }).catch(function (error) { }); - }; - JsonRpcProvider.prototype._stopEvent = function (event) { - if (event.tag === "pending" && this.listenerCount("pending") === 0) { - this._pendingFilter = null; - } - _super.prototype._stopEvent.call(this, event); - }; - // Convert an ethers.js transaction into a JSON-RPC transaction - // - gasLimit => gas - // - All values hexlified - // - All numeric values zero-striped - // - All addresses are lowercased - // NOTE: This allows a TransactionRequest, but all values should be resolved - // before this is called - // @TODO: This will likely be removed in future versions and prepareRequest - // will be the preferred method for this. - JsonRpcProvider.hexlifyTransaction = function (transaction, allowExtra) { - // Check only allowed properties are given - var allowed = (0, properties_1.shallowCopy)(allowedTransactionKeys); - if (allowExtra) { - for (var key in allowExtra) { - if (allowExtra[key]) { - allowed[key] = true; - } - } - } - (0, properties_1.checkProperties)(transaction, allowed); - var result = {}; - // JSON-RPC now requires numeric values to be "quantity" values - ["chainId", "gasLimit", "gasPrice", "type", "maxFeePerGas", "maxPriorityFeePerGas", "nonce", "value"].forEach(function (key) { - if (transaction[key] == null) { - return; - } - var value = (0, bytes_1.hexValue)(bignumber_1.BigNumber.from(transaction[key])); - if (key === "gasLimit") { - key = "gas"; - } - result[key] = value; - }); - ["from", "to", "data"].forEach(function (key) { - if (transaction[key] == null) { - return; - } - result[key] = (0, bytes_1.hexlify)(transaction[key]); - }); - if (transaction.accessList) { - result["accessList"] = (0, transactions_1.accessListify)(transaction.accessList); - } - return result; - }; - return JsonRpcProvider; -}(base_provider_1.BaseProvider)); -exports.JsonRpcProvider = JsonRpcProvider; -//# sourceMappingURL=json-rpc-provider.js.map - -/***/ }), - -/***/ 76560: -/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) { - -/* istanbul ignore file */ - -var __extends = (this && this.__extends) || (function () { - var extendStatics = function (d, b) { - extendStatics = Object.setPrototypeOf || - ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || - function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; }; - return extendStatics(d, b); - }; - return function (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 __()); - }; -})(); -Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.NodesmithProvider = void 0; -var url_json_rpc_provider_1 = __nccwpck_require__(67644); -var logger_1 = __nccwpck_require__(8772); -var _version_1 = __nccwpck_require__(69139); -var logger = new logger_1.Logger(_version_1.version); -// Special API key provided by Nodesmith for ethers.js -var defaultApiKey = "ETHERS_JS_SHARED"; -var NodesmithProvider = /** @class */ (function (_super) { - __extends(NodesmithProvider, _super); - function NodesmithProvider() { - return _super !== null && _super.apply(this, arguments) || this; - } - NodesmithProvider.getApiKey = function (apiKey) { - if (apiKey && typeof (apiKey) !== "string") { - logger.throwArgumentError("invalid apiKey", "apiKey", apiKey); - } - return apiKey || defaultApiKey; - }; - NodesmithProvider.getUrl = function (network, apiKey) { - logger.warn("NodeSmith will be discontinued on 2019-12-20; please migrate to another platform."); - var host = null; - switch (network.name) { - case "homestead": - host = "https://ethereum.api.nodesmith.io/v1/mainnet/jsonrpc"; - break; - case "ropsten": - host = "https://ethereum.api.nodesmith.io/v1/ropsten/jsonrpc"; - break; - case "rinkeby": - host = "https://ethereum.api.nodesmith.io/v1/rinkeby/jsonrpc"; - break; - case "goerli": - host = "https://ethereum.api.nodesmith.io/v1/goerli/jsonrpc"; - break; - case "kovan": - host = "https://ethereum.api.nodesmith.io/v1/kovan/jsonrpc"; - break; - default: - logger.throwArgumentError("unsupported network", "network", arguments[0]); - } - return (host + "?apiKey=" + apiKey); - }; - return NodesmithProvider; -}(url_json_rpc_provider_1.UrlJsonRpcProvider)); -exports.NodesmithProvider = NodesmithProvider; -//# sourceMappingURL=nodesmith-provider.js.map - -/***/ }), - -/***/ 45902: -/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) { - - -var __extends = (this && this.__extends) || (function () { - var extendStatics = function (d, b) { - extendStatics = Object.setPrototypeOf || - ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || - function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; }; - return extendStatics(d, b); - }; - return function (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 __()); - }; -})(); -Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.PocketProvider = void 0; -var logger_1 = __nccwpck_require__(8772); -var _version_1 = __nccwpck_require__(69139); -var logger = new logger_1.Logger(_version_1.version); -var url_json_rpc_provider_1 = __nccwpck_require__(67644); -var defaultApplicationId = "62e1ad51b37b8e00394bda3b"; -var PocketProvider = /** @class */ (function (_super) { - __extends(PocketProvider, _super); - function PocketProvider() { - return _super !== null && _super.apply(this, arguments) || this; - } - PocketProvider.getApiKey = function (apiKey) { - var apiKeyObj = { - applicationId: null, - loadBalancer: true, - applicationSecretKey: null - }; - // Parse applicationId and applicationSecretKey - if (apiKey == null) { - apiKeyObj.applicationId = defaultApplicationId; - } - else if (typeof (apiKey) === "string") { - apiKeyObj.applicationId = apiKey; - } - else if (apiKey.applicationSecretKey != null) { - apiKeyObj.applicationId = apiKey.applicationId; - apiKeyObj.applicationSecretKey = apiKey.applicationSecretKey; - } - else if (apiKey.applicationId) { - apiKeyObj.applicationId = apiKey.applicationId; - } - else { - logger.throwArgumentError("unsupported PocketProvider apiKey", "apiKey", apiKey); - } - return apiKeyObj; - }; - PocketProvider.getUrl = function (network, apiKey) { - var host = null; - switch (network ? network.name : "unknown") { - case "goerli": - host = "eth-goerli.gateway.pokt.network"; - break; - case "homestead": - host = "eth-mainnet.gateway.pokt.network"; - break; - case "kovan": - host = "poa-kovan.gateway.pokt.network"; - break; - case "matic": - host = "poly-mainnet.gateway.pokt.network"; - break; - case "maticmum": - host = "polygon-mumbai-rpc.gateway.pokt.network"; - break; - case "rinkeby": - host = "eth-rinkeby.gateway.pokt.network"; - break; - case "ropsten": - host = "eth-ropsten.gateway.pokt.network"; - break; - default: - logger.throwError("unsupported network", logger_1.Logger.errors.INVALID_ARGUMENT, { - argument: "network", - value: network - }); - } - var url = "https://" + host + "/v1/lb/" + apiKey.applicationId; - var connection = { headers: {}, url: url }; - if (apiKey.applicationSecretKey != null) { - connection.user = ""; - connection.password = apiKey.applicationSecretKey; - } - return connection; - }; - PocketProvider.prototype.isCommunityResource = function () { - return (this.applicationId === defaultApplicationId); - }; - return PocketProvider; -}(url_json_rpc_provider_1.UrlJsonRpcProvider)); -exports.PocketProvider = PocketProvider; -//# sourceMappingURL=pocket-provider.js.map - -/***/ }), - -/***/ 67644: -/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) { - - -var __extends = (this && this.__extends) || (function () { - var extendStatics = function (d, b) { - extendStatics = Object.setPrototypeOf || - ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || - function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; }; - return extendStatics(d, b); - }; - return function (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 __()); - }; -})(); -var __awaiter = (this && this.__awaiter) || function (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, reject) { - function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } - function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } - function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); -}; -var __generator = (this && this.__generator) || function (thisArg, body) { - var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g; - return g = { next: verb(0), "throw": verb(1), "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 (_) 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 }; - } -}; -Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.UrlJsonRpcProvider = exports.StaticJsonRpcProvider = void 0; -var properties_1 = __nccwpck_require__(54145); -var logger_1 = __nccwpck_require__(8772); -var _version_1 = __nccwpck_require__(69139); -var logger = new logger_1.Logger(_version_1.version); -var json_rpc_provider_1 = __nccwpck_require__(39172); -// A StaticJsonRpcProvider is useful when you *know* for certain that -// the backend will never change, as it never calls eth_chainId to -// verify its backend. However, if the backend does change, the effects -// are undefined and may include: -// - inconsistent results -// - locking up the UI -// - block skew warnings -// - wrong results -// If the network is not explicit (i.e. auto-detection is expected), the -// node MUST be running and available to respond to requests BEFORE this -// is instantiated. -var StaticJsonRpcProvider = /** @class */ (function (_super) { - __extends(StaticJsonRpcProvider, _super); - function StaticJsonRpcProvider() { - return _super !== null && _super.apply(this, arguments) || this; - } - StaticJsonRpcProvider.prototype.detectNetwork = function () { - return __awaiter(this, void 0, void 0, function () { - var network; - return __generator(this, function (_a) { - switch (_a.label) { - case 0: - network = this.network; - if (!(network == null)) return [3 /*break*/, 2]; - return [4 /*yield*/, _super.prototype.detectNetwork.call(this)]; - case 1: - network = _a.sent(); - if (!network) { - logger.throwError("no network detected", logger_1.Logger.errors.UNKNOWN_ERROR, {}); - } - // If still not set, set it - if (this._network == null) { - // A static network does not support "any" - (0, properties_1.defineReadOnly)(this, "_network", network); - this.emit("network", network, null); - } - _a.label = 2; - case 2: return [2 /*return*/, network]; - } - }); - }); - }; - return StaticJsonRpcProvider; -}(json_rpc_provider_1.JsonRpcProvider)); -exports.StaticJsonRpcProvider = StaticJsonRpcProvider; -var UrlJsonRpcProvider = /** @class */ (function (_super) { - __extends(UrlJsonRpcProvider, _super); - function UrlJsonRpcProvider(network, apiKey) { - var _newTarget = this.constructor; - var _this = this; - logger.checkAbstract(_newTarget, UrlJsonRpcProvider); - // Normalize the Network and API Key - network = (0, properties_1.getStatic)(_newTarget, "getNetwork")(network); - apiKey = (0, properties_1.getStatic)(_newTarget, "getApiKey")(apiKey); - var connection = (0, properties_1.getStatic)(_newTarget, "getUrl")(network, apiKey); - _this = _super.call(this, connection, network) || this; - if (typeof (apiKey) === "string") { - (0, properties_1.defineReadOnly)(_this, "apiKey", apiKey); - } - else if (apiKey != null) { - Object.keys(apiKey).forEach(function (key) { - (0, properties_1.defineReadOnly)(_this, key, apiKey[key]); - }); - } - return _this; - } - UrlJsonRpcProvider.prototype._startPending = function () { - logger.warn("WARNING: API provider does not support pending filters"); - }; - UrlJsonRpcProvider.prototype.isCommunityResource = function () { - return false; - }; - UrlJsonRpcProvider.prototype.getSigner = function (address) { - return logger.throwError("API provider does not support signing", logger_1.Logger.errors.UNSUPPORTED_OPERATION, { operation: "getSigner" }); - }; - UrlJsonRpcProvider.prototype.listAccounts = function () { - return Promise.resolve([]); - }; - // Return a defaultApiKey if null, otherwise validate the API key - UrlJsonRpcProvider.getApiKey = function (apiKey) { - return apiKey; - }; - // Returns the url or connection for the given network and API key. The - // API key will have been sanitized by the getApiKey first, so any validation - // or transformations can be done there. - UrlJsonRpcProvider.getUrl = function (network, apiKey) { - return logger.throwError("not implemented; sub-classes must override getUrl", logger_1.Logger.errors.NOT_IMPLEMENTED, { - operation: "getUrl" - }); - }; - return UrlJsonRpcProvider; -}(StaticJsonRpcProvider)); -exports.UrlJsonRpcProvider = UrlJsonRpcProvider; -//# sourceMappingURL=url-json-rpc-provider.js.map - -/***/ }), - -/***/ 69093: -/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) { - - -var __extends = (this && this.__extends) || (function () { - var extendStatics = function (d, b) { - extendStatics = Object.setPrototypeOf || - ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || - function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; }; - return extendStatics(d, b); - }; - return function (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 __()); - }; -})(); -Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.Web3Provider = void 0; -var properties_1 = __nccwpck_require__(54145); -var logger_1 = __nccwpck_require__(8772); -var _version_1 = __nccwpck_require__(69139); -var logger = new logger_1.Logger(_version_1.version); -var json_rpc_provider_1 = __nccwpck_require__(39172); -var _nextId = 1; -function buildWeb3LegacyFetcher(provider, sendFunc) { - var fetcher = "Web3LegacyFetcher"; - return function (method, params) { - var _this = this; - var request = { - method: method, - params: params, - id: (_nextId++), - jsonrpc: "2.0" - }; - return new Promise(function (resolve, reject) { - _this.emit("debug", { - action: "request", - fetcher: fetcher, - request: (0, properties_1.deepCopy)(request), - provider: _this - }); - sendFunc(request, function (error, response) { - if (error) { - _this.emit("debug", { - action: "response", - fetcher: fetcher, - error: error, - request: request, - provider: _this - }); - return reject(error); - } - _this.emit("debug", { - action: "response", - fetcher: fetcher, - request: request, - response: response, - provider: _this - }); - if (response.error) { - var error_1 = new Error(response.error.message); - error_1.code = response.error.code; - error_1.data = response.error.data; - return reject(error_1); - } - resolve(response.result); - }); - }); - }; -} -function buildEip1193Fetcher(provider) { - return function (method, params) { - var _this = this; - if (params == null) { - params = []; - } - var request = { method: method, params: params }; - this.emit("debug", { - action: "request", - fetcher: "Eip1193Fetcher", - request: (0, properties_1.deepCopy)(request), - provider: this - }); - return provider.request(request).then(function (response) { - _this.emit("debug", { - action: "response", - fetcher: "Eip1193Fetcher", - request: request, - response: response, - provider: _this - }); - return response; - }, function (error) { - _this.emit("debug", { - action: "response", - fetcher: "Eip1193Fetcher", - request: request, - error: error, - provider: _this - }); - throw error; - }); - }; -} -var Web3Provider = /** @class */ (function (_super) { - __extends(Web3Provider, _super); - function Web3Provider(provider, network) { - var _this = this; - if (provider == null) { - logger.throwArgumentError("missing provider", "provider", provider); - } - var path = null; - var jsonRpcFetchFunc = null; - var subprovider = null; - if (typeof (provider) === "function") { - path = "unknown:"; - jsonRpcFetchFunc = provider; - } - else { - path = provider.host || provider.path || ""; - if (!path && provider.isMetaMask) { - path = "metamask"; - } - subprovider = provider; - if (provider.request) { - if (path === "") { - path = "eip-1193:"; - } - jsonRpcFetchFunc = buildEip1193Fetcher(provider); - } - else if (provider.sendAsync) { - jsonRpcFetchFunc = buildWeb3LegacyFetcher(provider, provider.sendAsync.bind(provider)); - } - else if (provider.send) { - jsonRpcFetchFunc = buildWeb3LegacyFetcher(provider, provider.send.bind(provider)); - } - else { - logger.throwArgumentError("unsupported provider", "provider", provider); - } - if (!path) { - path = "unknown:"; - } - } - _this = _super.call(this, path, network) || this; - (0, properties_1.defineReadOnly)(_this, "jsonRpcFetchFunc", jsonRpcFetchFunc); - (0, properties_1.defineReadOnly)(_this, "provider", subprovider); - return _this; - } - Web3Provider.prototype.send = function (method, params) { - return this.jsonRpcFetchFunc(method, params); - }; - return Web3Provider; -}(json_rpc_provider_1.JsonRpcProvider)); -exports.Web3Provider = Web3Provider; -//# sourceMappingURL=web3-provider.js.map - -/***/ }), - -/***/ 77071: -/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) { - - -var __extends = (this && this.__extends) || (function () { - var extendStatics = function (d, b) { - extendStatics = Object.setPrototypeOf || - ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || - function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; }; - return extendStatics(d, b); - }; - return function (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 __()); - }; -})(); -var __awaiter = (this && this.__awaiter) || function (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, reject) { - function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } - function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } - function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); -}; -var __generator = (this && this.__generator) || function (thisArg, body) { - var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g; - return g = { next: verb(0), "throw": verb(1), "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 (_) 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 }; - } -}; -Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.WebSocketProvider = void 0; -var bignumber_1 = __nccwpck_require__(14763); -var properties_1 = __nccwpck_require__(54145); -var json_rpc_provider_1 = __nccwpck_require__(39172); -var ws_1 = __nccwpck_require__(11770); -var logger_1 = __nccwpck_require__(8772); -var _version_1 = __nccwpck_require__(69139); -var logger = new logger_1.Logger(_version_1.version); -/** - * Notes: - * - * This provider differs a bit from the polling providers. One main - * difference is how it handles consistency. The polling providers - * will stall responses to ensure a consistent state, while this - * WebSocket provider assumes the connected backend will manage this. - * - * For example, if a polling provider emits an event which indicates - * the event occurred in blockhash XXX, a call to fetch that block by - * its hash XXX, if not present will retry until it is present. This - * can occur when querying a pool of nodes that are mildly out of sync - * with each other. - */ -var NextId = 1; -// For more info about the Real-time Event API see: -// https://geth.ethereum.org/docs/rpc/pubsub -var WebSocketProvider = /** @class */ (function (_super) { - __extends(WebSocketProvider, _super); - function WebSocketProvider(url, network) { - var _this = this; - // This will be added in the future; please open an issue to expedite - if (network === "any") { - logger.throwError("WebSocketProvider does not support 'any' network yet", logger_1.Logger.errors.UNSUPPORTED_OPERATION, { - operation: "network:any" - }); - } - if (typeof (url) === "string") { - _this = _super.call(this, url, network) || this; - } - else { - _this = _super.call(this, "_websocket", network) || this; - } - _this._pollingInterval = -1; - _this._wsReady = false; - if (typeof (url) === "string") { - (0, properties_1.defineReadOnly)(_this, "_websocket", new ws_1.WebSocket(_this.connection.url)); - } - else { - (0, properties_1.defineReadOnly)(_this, "_websocket", url); - } - (0, properties_1.defineReadOnly)(_this, "_requests", {}); - (0, properties_1.defineReadOnly)(_this, "_subs", {}); - (0, properties_1.defineReadOnly)(_this, "_subIds", {}); - (0, properties_1.defineReadOnly)(_this, "_detectNetwork", _super.prototype.detectNetwork.call(_this)); - // Stall sending requests until the socket is open... - _this.websocket.onopen = function () { - _this._wsReady = true; - Object.keys(_this._requests).forEach(function (id) { - _this.websocket.send(_this._requests[id].payload); - }); - }; - _this.websocket.onmessage = function (messageEvent) { - var data = messageEvent.data; - var result = JSON.parse(data); - if (result.id != null) { - var id = String(result.id); - var request = _this._requests[id]; - delete _this._requests[id]; - if (result.result !== undefined) { - request.callback(null, result.result); - _this.emit("debug", { - action: "response", - request: JSON.parse(request.payload), - response: result.result, - provider: _this - }); - } - else { - var error = null; - if (result.error) { - error = new Error(result.error.message || "unknown error"); - (0, properties_1.defineReadOnly)(error, "code", result.error.code || null); - (0, properties_1.defineReadOnly)(error, "response", data); - } - else { - error = new Error("unknown error"); - } - request.callback(error, undefined); - _this.emit("debug", { - action: "response", - error: error, - request: JSON.parse(request.payload), - provider: _this - }); - } - } - else if (result.method === "eth_subscription") { - // Subscription... - var sub = _this._subs[result.params.subscription]; - if (sub) { - //this.emit.apply(this, ); - sub.processFunc(result.params.result); - } - } - else { - console.warn("this should not happen"); - } - }; - // This Provider does not actually poll, but we want to trigger - // poll events for things that depend on them (like stalling for - // block and transaction lookups) - var fauxPoll = setInterval(function () { - _this.emit("poll"); - }, 1000); - if (fauxPoll.unref) { - fauxPoll.unref(); - } - return _this; - } - Object.defineProperty(WebSocketProvider.prototype, "websocket", { - // Cannot narrow the type of _websocket, as that is not backwards compatible - // so we add a getter and let the WebSocket be a public API. - get: function () { return this._websocket; }, - enumerable: false, - configurable: true - }); - WebSocketProvider.prototype.detectNetwork = function () { - return this._detectNetwork; - }; - Object.defineProperty(WebSocketProvider.prototype, "pollingInterval", { - get: function () { - return 0; - }, - set: function (value) { - logger.throwError("cannot set polling interval on WebSocketProvider", logger_1.Logger.errors.UNSUPPORTED_OPERATION, { - operation: "setPollingInterval" - }); - }, - enumerable: false, - configurable: true - }); - WebSocketProvider.prototype.resetEventsBlock = function (blockNumber) { - logger.throwError("cannot reset events block on WebSocketProvider", logger_1.Logger.errors.UNSUPPORTED_OPERATION, { - operation: "resetEventBlock" - }); - }; - WebSocketProvider.prototype.poll = function () { - return __awaiter(this, void 0, void 0, function () { - return __generator(this, function (_a) { - return [2 /*return*/, null]; - }); - }); - }; - Object.defineProperty(WebSocketProvider.prototype, "polling", { - set: function (value) { - if (!value) { - return; - } - logger.throwError("cannot set polling on WebSocketProvider", logger_1.Logger.errors.UNSUPPORTED_OPERATION, { - operation: "setPolling" - }); - }, - enumerable: false, - configurable: true - }); - WebSocketProvider.prototype.send = function (method, params) { - var _this = this; - var rid = NextId++; - return new Promise(function (resolve, reject) { - function callback(error, result) { - if (error) { - return reject(error); - } - return resolve(result); - } - var payload = JSON.stringify({ - method: method, - params: params, - id: rid, - jsonrpc: "2.0" - }); - _this.emit("debug", { - action: "request", - request: JSON.parse(payload), - provider: _this - }); - _this._requests[String(rid)] = { callback: callback, payload: payload }; - if (_this._wsReady) { - _this.websocket.send(payload); - } - }); - }; - WebSocketProvider.defaultUrl = function () { - return "ws:/\/localhost:8546"; - }; - WebSocketProvider.prototype._subscribe = function (tag, param, processFunc) { - return __awaiter(this, void 0, void 0, function () { - var subIdPromise, subId; - var _this = this; - return __generator(this, function (_a) { - switch (_a.label) { - case 0: - subIdPromise = this._subIds[tag]; - if (subIdPromise == null) { - subIdPromise = Promise.all(param).then(function (param) { - return _this.send("eth_subscribe", param); - }); - this._subIds[tag] = subIdPromise; - } - return [4 /*yield*/, subIdPromise]; - case 1: - subId = _a.sent(); - this._subs[subId] = { tag: tag, processFunc: processFunc }; - return [2 /*return*/]; - } - }); - }); - }; - WebSocketProvider.prototype._startEvent = function (event) { - var _this = this; - switch (event.type) { - case "block": - this._subscribe("block", ["newHeads"], function (result) { - var blockNumber = bignumber_1.BigNumber.from(result.number).toNumber(); - _this._emitted.block = blockNumber; - _this.emit("block", blockNumber); - }); - break; - case "pending": - this._subscribe("pending", ["newPendingTransactions"], function (result) { - _this.emit("pending", result); - }); - break; - case "filter": - this._subscribe(event.tag, ["logs", this._getFilter(event.filter)], function (result) { - if (result.removed == null) { - result.removed = false; - } - _this.emit(event.filter, _this.formatter.filterLog(result)); - }); - break; - case "tx": { - var emitReceipt_1 = function (event) { - var hash = event.hash; - _this.getTransactionReceipt(hash).then(function (receipt) { - if (!receipt) { - return; - } - _this.emit(hash, receipt); - }); - }; - // In case it is already mined - emitReceipt_1(event); - // To keep things simple, we start up a single newHeads subscription - // to keep an eye out for transactions we are watching for. - // Starting a subscription for an event (i.e. "tx") that is already - // running is (basically) a nop. - this._subscribe("tx", ["newHeads"], function (result) { - _this._events.filter(function (e) { return (e.type === "tx"); }).forEach(emitReceipt_1); - }); - break; - } - // Nothing is needed - case "debug": - case "poll": - case "willPoll": - case "didPoll": - case "error": - break; - default: - console.log("unhandled:", event); - break; - } - }; - WebSocketProvider.prototype._stopEvent = function (event) { - var _this = this; - var tag = event.tag; - if (event.type === "tx") { - // There are remaining transaction event listeners - if (this._events.filter(function (e) { return (e.type === "tx"); }).length) { - return; - } - tag = "tx"; - } - else if (this.listenerCount(event.event)) { - // There are remaining event listeners - return; - } - var subId = this._subIds[tag]; - if (!subId) { - return; - } - delete this._subIds[tag]; - subId.then(function (subId) { - if (!_this._subs[subId]) { - return; - } - delete _this._subs[subId]; - _this.send("eth_unsubscribe", [subId]); - }); - }; - WebSocketProvider.prototype.destroy = function () { - return __awaiter(this, void 0, void 0, function () { - var _this = this; - return __generator(this, function (_a) { - switch (_a.label) { - case 0: - if (!(this.websocket.readyState === ws_1.WebSocket.CONNECTING)) return [3 /*break*/, 2]; - return [4 /*yield*/, (new Promise(function (resolve) { - _this.websocket.onopen = function () { - resolve(true); - }; - _this.websocket.onerror = function () { - resolve(false); - }; - }))]; - case 1: - _a.sent(); - _a.label = 2; - case 2: - // Hangup - // See: https://developer.mozilla.org/en-US/docs/Web/API/CloseEvent#Status_codes - this.websocket.close(1000); - return [2 /*return*/]; - } - }); - }); - }; - return WebSocketProvider; -}(json_rpc_provider_1.JsonRpcProvider)); -exports.WebSocketProvider = WebSocketProvider; -//# sourceMappingURL=websocket-provider.js.map - -/***/ }), - -/***/ 11770: -/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) { - - -var __importDefault = (this && this.__importDefault) || function (mod) { - return (mod && mod.__esModule) ? mod : { "default": mod }; -}; -Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.WebSocket = void 0; -var ws_1 = __importDefault(__nccwpck_require__(83200)); -exports.WebSocket = ws_1.default; -//# sourceMappingURL=ws.js.map - -/***/ }), - -/***/ 83200: -/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { - - - -const WebSocket = __nccwpck_require__(16875); - -WebSocket.createWebSocketStream = __nccwpck_require__(24242); -WebSocket.Server = __nccwpck_require__(20783); -WebSocket.Receiver = __nccwpck_require__(62091); -WebSocket.Sender = __nccwpck_require__(54071); - -module.exports = WebSocket; - - -/***/ }), - -/***/ 2557: -/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { - - - -const { EMPTY_BUFFER } = __nccwpck_require__(86238); - -/** - * Merges an array of buffers into a new buffer. - * - * @param {Buffer[]} list The array of buffers to concat - * @param {Number} totalLength The total length of buffers in the list - * @return {Buffer} The resulting buffer - * @public - */ -function concat(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 target.slice(0, offset); - - return target; -} - -/** - * Masks a buffer using the given mask. - * - * @param {Buffer} source The buffer to mask - * @param {Buffer} mask The mask to use - * @param {Buffer} output The buffer where to store the result - * @param {Number} offset The offset at which to start writing - * @param {Number} length The number of bytes to mask. - * @public - */ -function _mask(source, mask, output, offset, length) { - for (let i = 0; i < length; i++) { - output[offset + i] = source[i] ^ mask[i & 3]; - } -} - -/** - * Unmasks a buffer using the given mask. - * - * @param {Buffer} buffer The buffer to unmask - * @param {Buffer} mask The mask to use - * @public - */ -function _unmask(buffer, mask) { - // Required until https://github.com/nodejs/node/issues/9006 is resolved. - const length = buffer.length; - for (let i = 0; i < length; i++) { - buffer[i] ^= mask[i & 3]; - } -} - -/** - * Converts a buffer to an `ArrayBuffer`. - * - * @param {Buffer} buf The buffer to convert - * @return {ArrayBuffer} Converted buffer - * @public - */ -function toArrayBuffer(buf) { - if (buf.byteLength === buf.buffer.byteLength) { - return buf.buffer; - } - - return buf.buffer.slice(buf.byteOffset, buf.byteOffset + buf.byteLength); -} - -/** - * Converts `data` to a `Buffer`. - * - * @param {*} data The data to convert - * @return {Buffer} The buffer - * @throws {TypeError} - * @public - */ -function toBuffer(data) { - toBuffer.readOnly = true; - - if (Buffer.isBuffer(data)) return data; - - let buf; - - if (data instanceof ArrayBuffer) { - buf = Buffer.from(data); - } else if (ArrayBuffer.isView(data)) { - buf = Buffer.from(data.buffer, data.byteOffset, data.byteLength); - } else { - buf = Buffer.from(data); - toBuffer.readOnly = false; - } - - return buf; -} - -try { - const bufferUtil = __nccwpck_require__(77210); - const bu = bufferUtil.BufferUtil || bufferUtil; - - module.exports = { - concat, - mask(source, mask, output, offset, length) { - if (length < 48) _mask(source, mask, output, offset, length); - else bu.mask(source, mask, output, offset, length); - }, - toArrayBuffer, - toBuffer, - unmask(buffer, mask) { - if (buffer.length < 32) _unmask(buffer, mask); - else bu.unmask(buffer, mask); - } - }; -} catch (e) /* istanbul ignore next */ { - module.exports = { - concat, - mask: _mask, - toArrayBuffer, - toBuffer, - unmask: _unmask - }; -} - - -/***/ }), - -/***/ 86238: -/***/ ((module) => { - - - -module.exports = { - BINARY_TYPES: ['nodebuffer', 'arraybuffer', 'fragments'], - GUID: '258EAFA5-E914-47DA-95CA-C5AB0DC85B11', - kStatusCode: Symbol('status-code'), - kWebSocket: Symbol('websocket'), - EMPTY_BUFFER: Buffer.alloc(0), - NOOP: () => {} -}; - - -/***/ }), - -/***/ 19152: -/***/ ((module) => { - - - -/** - * Class representing an event. - * - * @private - */ -class Event { - /** - * Create a new `Event`. - * - * @param {String} type The name of the event - * @param {Object} target A reference to the target to which the event was - * dispatched - */ - constructor(type, target) { - this.target = target; - this.type = type; - } -} - -/** - * Class representing a message event. - * - * @extends Event - * @private - */ -class MessageEvent extends Event { - /** - * Create a new `MessageEvent`. - * - * @param {(String|Buffer|ArrayBuffer|Buffer[])} data The received data - * @param {WebSocket} target A reference to the target to which the event was - * dispatched - */ - constructor(data, target) { - super('message', target); - - this.data = data; - } -} - -/** - * Class representing a close event. - * - * @extends Event - * @private - */ -class CloseEvent extends Event { - /** - * Create a new `CloseEvent`. - * - * @param {Number} code The status code explaining why the connection is being - * closed - * @param {String} reason A human-readable string explaining why the - * connection is closing - * @param {WebSocket} target A reference to the target to which the event was - * dispatched - */ - constructor(code, reason, target) { - super('close', target); - - this.wasClean = target._closeFrameReceived && target._closeFrameSent; - this.reason = reason; - this.code = code; - } -} - -/** - * Class representing an open event. - * - * @extends Event - * @private - */ -class OpenEvent extends Event { - /** - * Create a new `OpenEvent`. - * - * @param {WebSocket} target A reference to the target to which the event was - * dispatched - */ - constructor(target) { - super('open', target); - } -} - -/** - * Class representing an error event. - * - * @extends Event - * @private - */ -class ErrorEvent extends Event { - /** - * Create a new `ErrorEvent`. - * - * @param {Object} error The error that generated this event - * @param {WebSocket} target A reference to the target to which the event was - * dispatched - */ - constructor(error, target) { - super('error', target); - - this.message = error.message; - this.error = error; - } -} - -/** - * This provides methods for emulating the `EventTarget` interface. It's not - * meant to be used directly. - * - * @mixin - */ -const EventTarget = { - /** - * Register an event listener. - * - * @param {String} type A string representing the event type to listen for - * @param {Function} listener The listener to add - * @param {Object} [options] An options object specifies characteristics about - * the event listener - * @param {Boolean} [options.once=false] A `Boolean`` indicating that the - * listener should be invoked at most once after being added. If `true`, - * the listener would be automatically removed when invoked. - * @public - */ - addEventListener(type, listener, options) { - if (typeof listener !== 'function') return; - - function onMessage(data) { - listener.call(this, new MessageEvent(data, this)); - } - - function onClose(code, message) { - listener.call(this, new CloseEvent(code, message, this)); - } - - function onError(error) { - listener.call(this, new ErrorEvent(error, this)); - } - - function onOpen() { - listener.call(this, new OpenEvent(this)); - } - - const method = options && options.once ? 'once' : 'on'; - - if (type === 'message') { - onMessage._listener = listener; - this[method](type, onMessage); - } else if (type === 'close') { - onClose._listener = listener; - this[method](type, onClose); - } else if (type === 'error') { - onError._listener = listener; - this[method](type, onError); - } else if (type === 'open') { - onOpen._listener = listener; - this[method](type, onOpen); - } else { - this[method](type, listener); - } - }, - - /** - * Remove an event listener. - * - * @param {String} type A string representing the event type to remove - * @param {Function} listener The listener to remove - * @public - */ - removeEventListener(type, listener) { - const listeners = this.listeners(type); - - for (let i = 0; i < listeners.length; i++) { - if (listeners[i] === listener || listeners[i]._listener === listener) { - this.removeListener(type, listeners[i]); - } - } - } -}; - -module.exports = EventTarget; - - -/***/ }), - -/***/ 21833: -/***/ ((module) => { - - - -// -// Allowed token characters: -// -// '!', '#', '$', '%', '&', ''', '*', '+', '-', -// '.', 0-9, A-Z, '^', '_', '`', a-z, '|', '~' -// -// tokenChars[32] === 0 // ' ' -// tokenChars[33] === 1 // '!' -// tokenChars[34] === 0 // '"' -// ... -// -// prettier-ignore -const tokenChars = [ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 0 - 15 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 16 - 31 - 0, 1, 0, 1, 1, 1, 1, 1, 0, 0, 1, 1, 0, 1, 1, 0, // 32 - 47 - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, // 48 - 63 - 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 64 - 79 - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, // 80 - 95 - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 96 - 111 - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 0 // 112 - 127 -]; - -/** - * Adds an offer to the map of extension offers or a parameter to the map of - * parameters. - * - * @param {Object} dest The map of extension offers or parameters - * @param {String} name The extension or parameter name - * @param {(Object|Boolean|String)} elem The extension parameters or the - * parameter value - * @private - */ -function push(dest, name, elem) { - if (dest[name] === undefined) dest[name] = [elem]; - else dest[name].push(elem); -} - -/** - * Parses the `Sec-WebSocket-Extensions` header into an object. - * - * @param {String} header The field value of the header - * @return {Object} The parsed object - * @public - */ -function parse(header) { - const offers = Object.create(null); - - if (header === undefined || header === '') return offers; - - let params = Object.create(null); - let mustUnescape = false; - let isEscaping = false; - let inQuotes = false; - let extensionName; - let paramName; - let start = -1; - let end = -1; - let i = 0; - - for (; i < header.length; i++) { - const code = header.charCodeAt(i); - - if (extensionName === undefined) { - if (end === -1 && tokenChars[code] === 1) { - if (start === -1) start = i; - } else if (code === 0x20 /* ' ' */ || code === 0x09 /* '\t' */) { - if (end === -1 && start !== -1) end = i; - } else if (code === 0x3b /* ';' */ || code === 0x2c /* ',' */) { - if (start === -1) { - throw new SyntaxError(`Unexpected character at index ${i}`); - } - - if (end === -1) end = i; - const name = header.slice(start, end); - if (code === 0x2c) { - 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 === undefined) { - if (end === -1 && tokenChars[code] === 1) { - if (start === -1) start = i; - } else if (code === 0x20 || code === 0x09) { - if (end === -1 && start !== -1) end = i; - } else if (code === 0x3b || code === 0x2c) { - if (start === -1) { - throw new SyntaxError(`Unexpected character at index ${i}`); - } - - if (end === -1) end = i; - push(params, header.slice(start, end), true); - if (code === 0x2c) { - push(offers, extensionName, params); - params = Object.create(null); - extensionName = undefined; - } - - start = end = -1; - } else if (code === 0x3d /* '=' */ && start !== -1 && end === -1) { - paramName = header.slice(start, i); - start = end = -1; - } else { - throw new SyntaxError(`Unexpected character at index ${i}`); - } - } else { - // - // The value of a quoted-string after unescaping must conform to the - // token ABNF, so only token characters are valid. - // Ref: https://tools.ietf.org/html/rfc6455#section-9.1 - // - 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 === 0x22 /* '"' */ && start !== -1) { - inQuotes = false; - end = i; - } else if (code === 0x5c /* '\' */) { - isEscaping = true; - } else { - throw new SyntaxError(`Unexpected character at index ${i}`); - } - } else if (code === 0x22 && header.charCodeAt(i - 1) === 0x3d) { - inQuotes = true; - } else if (end === -1 && tokenChars[code] === 1) { - if (start === -1) start = i; - } else if (start !== -1 && (code === 0x20 || code === 0x09)) { - if (end === -1) end = i; - } else if (code === 0x3b || code === 0x2c) { - if (start === -1) { - throw new SyntaxError(`Unexpected character at index ${i}`); - } - - if (end === -1) end = i; - let value = header.slice(start, end); - if (mustUnescape) { - value = value.replace(/\\/g, ''); - mustUnescape = false; - } - push(params, paramName, value); - if (code === 0x2c) { - push(offers, extensionName, params); - params = Object.create(null); - extensionName = undefined; - } - - paramName = undefined; - start = end = -1; - } else { - throw new SyntaxError(`Unexpected character at index ${i}`); - } - } - } - - if (start === -1 || inQuotes) { - throw new SyntaxError('Unexpected end of input'); - } - - if (end === -1) end = i; - const token = header.slice(start, end); - if (extensionName === undefined) { - push(offers, token, params); - } else { - if (paramName === undefined) { - push(params, token, true); - } else if (mustUnescape) { - push(params, paramName, token.replace(/\\/g, '')); - } else { - push(params, paramName, token); - } - push(offers, extensionName, params); - } - - return offers; -} - -/** - * Builds the `Sec-WebSocket-Extensions` header field value. - * - * @param {Object} extensions The map of extensions and parameters to format - * @return {String} A string representing the given object - * @public - */ -function format(extensions) { - return Object.keys(extensions) - .map((extension) => { - let configurations = extensions[extension]; - if (!Array.isArray(configurations)) configurations = [configurations]; - return configurations - .map((params) => { - return [extension] - .concat( - Object.keys(params).map((k) => { - let values = params[k]; - if (!Array.isArray(values)) values = [values]; - return values - .map((v) => (v === true ? k : `${k}=${v}`)) - .join('; '); - }) - ) - .join('; '); - }) - .join(', '); - }) - .join(', '); -} - -module.exports = { format, parse }; - - -/***/ }), - -/***/ 69476: -/***/ ((module) => { - - - -const kDone = Symbol('kDone'); -const kRun = Symbol('kRun'); - -/** - * A very simple job queue with adjustable concurrency. Adapted from - * https://github.com/STRML/async-limiter - */ -class Limiter { - /** - * Creates a new `Limiter`. - * - * @param {Number} [concurrency=Infinity] The maximum number of jobs allowed - * to run concurrently - */ - constructor(concurrency) { - this[kDone] = () => { - this.pending--; - this[kRun](); - }; - this.concurrency = concurrency || Infinity; - this.jobs = []; - this.pending = 0; - } - - /** - * Adds a job to the queue. - * - * @param {Function} job The job to run - * @public - */ - add(job) { - this.jobs.push(job); - this[kRun](); - } - - /** - * Removes a job from the queue and runs it if possible. - * - * @private - */ - [kRun]() { - if (this.pending === this.concurrency) return; - - if (this.jobs.length) { - const job = this.jobs.shift(); - - this.pending++; - job(this[kDone]); - } - } -} - -module.exports = Limiter; - - -/***/ }), - -/***/ 26866: -/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { - - - -const zlib = __nccwpck_require__(43106); - -const bufferUtil = __nccwpck_require__(2557); -const Limiter = __nccwpck_require__(69476); -const { kStatusCode, NOOP } = __nccwpck_require__(86238); - -const TRAILER = Buffer.from([0x00, 0x00, 0xff, 0xff]); -const kPerMessageDeflate = Symbol('permessage-deflate'); -const kTotalLength = Symbol('total-length'); -const kCallback = Symbol('callback'); -const kBuffers = Symbol('buffers'); -const kError = Symbol('error'); - -// -// We limit zlib concurrency, which prevents severe memory fragmentation -// as documented in https://github.com/nodejs/node/issues/8871#issuecomment-250915913 -// and https://github.com/websockets/ws/issues/1202 -// -// Intentionally global; it's the global thread pool that's an issue. -// -let zlibLimiter; - -/** - * permessage-deflate implementation. - */ -class PerMessageDeflate { - /** - * Creates a PerMessageDeflate instance. - * - * @param {Object} [options] Configuration options - * @param {Boolean} [options.serverNoContextTakeover=false] Request/accept - * disabling of server context takeover - * @param {Boolean} [options.clientNoContextTakeover=false] Advertise/ - * acknowledge disabling of client context takeover - * @param {(Boolean|Number)} [options.serverMaxWindowBits] Request/confirm the - * use of a custom server window size - * @param {(Boolean|Number)} [options.clientMaxWindowBits] Advertise support - * for, or request, a custom client window size - * @param {Object} [options.zlibDeflateOptions] Options to pass to zlib on - * deflate - * @param {Object} [options.zlibInflateOptions] Options to pass to zlib on - * inflate - * @param {Number} [options.threshold=1024] Size (in bytes) below which - * messages should not be compressed - * @param {Number} [options.concurrencyLimit=10] The number of concurrent - * calls to zlib - * @param {Boolean} [isServer=false] Create the instance in either server or - * client mode - * @param {Number} [maxPayload=0] The maximum allowed message length - */ - constructor(options, isServer, maxPayload) { - this._maxPayload = maxPayload | 0; - this._options = options || {}; - this._threshold = - this._options.threshold !== undefined ? this._options.threshold : 1024; - this._isServer = !!isServer; - this._deflate = null; - this._inflate = null; - - this.params = null; - - if (!zlibLimiter) { - const concurrency = - this._options.concurrencyLimit !== undefined - ? this._options.concurrencyLimit - : 10; - zlibLimiter = new Limiter(concurrency); - } - } - - /** - * @type {String} - */ - static get extensionName() { - return 'permessage-deflate'; - } - - /** - * Create an extension negotiation offer. - * - * @return {Object} Extension parameters - * @public - */ - 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 an extension negotiation offer/response. - * - * @param {Array} configurations The extension negotiation offers/reponse - * @return {Object} Accepted configuration - * @public - */ - accept(configurations) { - configurations = this.normalizeParams(configurations); - - this.params = this._isServer - ? this.acceptAsServer(configurations) - : this.acceptAsClient(configurations); - - return this.params; - } - - /** - * Releases all resources used by the extension. - * - * @public - */ - 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' - ) - ); - } - } - } - - /** - * Accept an extension negotiation offer. - * - * @param {Array} offers The extension negotiation offers - * @return {Object} Accepted configuration - * @private - */ - 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; - } - - /** - * Accept the extension negotiation response. - * - * @param {Array} response The extension negotiation response - * @return {Object} Accepted configuration - * @private - */ - 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; - } - - /** - * Normalize parameters. - * - * @param {Array} configurations The extension negotiation offers/reponse - * @return {Array} The offers/response with normalized parameters - * @private - */ - 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. Concurrency limited. - * - * @param {Buffer} data Compressed data - * @param {Boolean} fin Specifies whether or not this is the last fragment - * @param {Function} callback Callback - * @public - */ - decompress(data, fin, callback) { - zlibLimiter.add((done) => { - this._decompress(data, fin, (err, result) => { - done(); - callback(err, result); - }); - }); - } - - /** - * Compress data. Concurrency limited. - * - * @param {Buffer} data Data to compress - * @param {Boolean} fin Specifies whether or not this is the last fragment - * @param {Function} callback Callback - * @public - */ - compress(data, fin, callback) { - zlibLimiter.add((done) => { - this._compress(data, fin, (err, result) => { - done(); - callback(err, result); - }); - }); - } - - /** - * Decompress data. - * - * @param {Buffer} data Compressed data - * @param {Boolean} fin Specifies whether or not this is the last fragment - * @param {Function} callback Callback - * @private - */ - _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' - ? zlib.Z_DEFAULT_WINDOWBITS - : this.params[key]; - - this._inflate = zlib.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 data = 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, data); - }); - } - - /** - * Compress data. - * - * @param {Buffer} data Data to compress - * @param {Boolean} fin Specifies whether or not this is the last fragment - * @param {Function} callback Callback - * @private - */ - _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' - ? zlib.Z_DEFAULT_WINDOWBITS - : this.params[key]; - - this._deflate = zlib.createDeflateRaw({ - ...this._options.zlibDeflateOptions, - windowBits - }); - - this._deflate[kTotalLength] = 0; - this._deflate[kBuffers] = []; - - // - // An `'error'` event is emitted, only on Node.js < 10.0.0, if the - // `zlib.DeflateRaw` instance is closed while data is being processed. - // This can happen if `PerMessageDeflate#cleanup()` is called at the wrong - // time due to an abnormal WebSocket closure. - // - this._deflate.on('error', NOOP); - this._deflate.on('data', deflateOnData); - } - - this._deflate[kCallback] = callback; - - this._deflate.write(data); - this._deflate.flush(zlib.Z_SYNC_FLUSH, () => { - if (!this._deflate) { - // - // The deflate stream was closed while data was being processed. - // - return; - } - - let data = bufferUtil.concat( - this._deflate[kBuffers], - this._deflate[kTotalLength] - ); - - if (fin) data = data.slice(0, data.length - 4); - - // - // Ensure that the callback will not be called again in - // `PerMessageDeflate#cleanup()`. - // - this._deflate[kCallback] = null; - - this._deflate[kTotalLength] = 0; - this._deflate[kBuffers] = []; - - if (fin && this.params[`${endpoint}_no_context_takeover`]) { - this._deflate.reset(); - } - - callback(null, data); - }); - } -} - -module.exports = PerMessageDeflate; - -/** - * The listener of the `zlib.DeflateRaw` stream `'data'` event. - * - * @param {Buffer} chunk A chunk of data - * @private - */ -function deflateOnData(chunk) { - this[kBuffers].push(chunk); - this[kTotalLength] += chunk.length; -} - -/** - * The listener of the `zlib.InflateRaw` stream `'data'` event. - * - * @param {Buffer} chunk A chunk of data - * @private - */ -function inflateOnData(chunk) { - this[kTotalLength] += chunk.length; - - if ( - this[kPerMessageDeflate]._maxPayload < 1 || - this[kTotalLength] <= this[kPerMessageDeflate]._maxPayload - ) { - this[kBuffers].push(chunk); - return; - } - - this[kError] = new RangeError('Max payload size exceeded'); - this[kError][kStatusCode] = 1009; - this.removeListener('data', inflateOnData); - this.reset(); -} - -/** - * The listener of the `zlib.InflateRaw` stream `'error'` event. - * - * @param {Error} err The emitted error - * @private - */ -function inflateOnError(err) { - // - // There is no need to call `Zlib#close()` as the handle is automatically - // closed when an error is emitted. - // - this[kPerMessageDeflate]._inflate = null; - err[kStatusCode] = 1007; - this[kCallback](err); -} - - -/***/ }), - -/***/ 62091: -/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { - - - -const { Writable } = __nccwpck_require__(2203); - -const PerMessageDeflate = __nccwpck_require__(26866); -const { - BINARY_TYPES, - EMPTY_BUFFER, - kStatusCode, - kWebSocket -} = __nccwpck_require__(86238); -const { concat, toArrayBuffer, unmask } = __nccwpck_require__(2557); -const { isValidStatusCode, isValidUTF8 } = __nccwpck_require__(57769); - -const GET_INFO = 0; -const GET_PAYLOAD_LENGTH_16 = 1; -const GET_PAYLOAD_LENGTH_64 = 2; -const GET_MASK = 3; -const GET_DATA = 4; -const INFLATING = 5; - -/** - * HyBi Receiver implementation. - * - * @extends stream.Writable - */ -class Receiver extends Writable { - /** - * Creates a Receiver instance. - * - * @param {String} [binaryType=nodebuffer] The type for binary data - * @param {Object} [extensions] An object containing the negotiated extensions - * @param {Boolean} [isServer=false] Specifies whether to operate in client or - * server mode - * @param {Number} [maxPayload=0] The maximum allowed message length - */ - constructor(binaryType, extensions, isServer, maxPayload) { - super(); - - this._binaryType = binaryType || BINARY_TYPES[0]; - this[kWebSocket] = undefined; - this._extensions = extensions || {}; - this._isServer = !!isServer; - this._maxPayload = maxPayload | 0; - - this._bufferedBytes = 0; - this._buffers = []; - - this._compressed = false; - this._payloadLength = 0; - this._mask = undefined; - this._fragmented = 0; - this._masked = false; - this._fin = false; - this._opcode = 0; - - this._totalPayloadLength = 0; - this._messageLength = 0; - this._fragments = []; - - this._state = GET_INFO; - this._loop = false; - } - - /** - * Implements `Writable.prototype._write()`. - * - * @param {Buffer} chunk The chunk of data to write - * @param {String} encoding The character encoding of `chunk` - * @param {Function} cb Callback - * @private - */ - _write(chunk, encoding, cb) { - if (this._opcode === 0x08 && this._state == GET_INFO) return cb(); - - this._bufferedBytes += chunk.length; - this._buffers.push(chunk); - this.startLoop(cb); - } - - /** - * Consumes `n` bytes from the buffered data. - * - * @param {Number} n The number of bytes to consume - * @return {Buffer} The consumed bytes - * @private - */ - 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] = buf.slice(n); - return buf.slice(0, 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] = buf.slice(n); - } - - n -= buf.length; - } while (n > 0); - - return dst; - } - - /** - * Starts the parsing loop. - * - * @param {Function} cb Callback - * @private - */ - startLoop(cb) { - let err; - this._loop = true; - - do { - switch (this._state) { - case GET_INFO: - err = this.getInfo(); - break; - case GET_PAYLOAD_LENGTH_16: - err = this.getPayloadLength16(); - break; - case GET_PAYLOAD_LENGTH_64: - err = this.getPayloadLength64(); - break; - case GET_MASK: - this.getMask(); - break; - case GET_DATA: - err = this.getData(cb); - break; - default: - // `INFLATING` - this._loop = false; - return; - } - } while (this._loop); - - cb(err); - } - - /** - * Reads the first two bytes of a frame. - * - * @return {(RangeError|undefined)} A possible error - * @private - */ - getInfo() { - if (this._bufferedBytes < 2) { - this._loop = false; - return; - } - - const buf = this.consume(2); - - if ((buf[0] & 0x30) !== 0x00) { - this._loop = false; - return error(RangeError, 'RSV2 and RSV3 must be clear', true, 1002); - } - - const compressed = (buf[0] & 0x40) === 0x40; - - if (compressed && !this._extensions[PerMessageDeflate.extensionName]) { - this._loop = false; - return error(RangeError, 'RSV1 must be clear', true, 1002); - } - - this._fin = (buf[0] & 0x80) === 0x80; - this._opcode = buf[0] & 0x0f; - this._payloadLength = buf[1] & 0x7f; - - if (this._opcode === 0x00) { - if (compressed) { - this._loop = false; - return error(RangeError, 'RSV1 must be clear', true, 1002); - } - - if (!this._fragmented) { - this._loop = false; - return error(RangeError, 'invalid opcode 0', true, 1002); - } - - this._opcode = this._fragmented; - } else if (this._opcode === 0x01 || this._opcode === 0x02) { - if (this._fragmented) { - this._loop = false; - return error(RangeError, `invalid opcode ${this._opcode}`, true, 1002); - } - - this._compressed = compressed; - } else if (this._opcode > 0x07 && this._opcode < 0x0b) { - if (!this._fin) { - this._loop = false; - return error(RangeError, 'FIN must be set', true, 1002); - } - - if (compressed) { - this._loop = false; - return error(RangeError, 'RSV1 must be clear', true, 1002); - } - - if (this._payloadLength > 0x7d) { - this._loop = false; - return error( - RangeError, - `invalid payload length ${this._payloadLength}`, - true, - 1002 - ); - } - } else { - this._loop = false; - return error(RangeError, `invalid opcode ${this._opcode}`, true, 1002); - } - - if (!this._fin && !this._fragmented) this._fragmented = this._opcode; - this._masked = (buf[1] & 0x80) === 0x80; - - if (this._isServer) { - if (!this._masked) { - this._loop = false; - return error(RangeError, 'MASK must be set', true, 1002); - } - } else if (this._masked) { - this._loop = false; - return error(RangeError, 'MASK must be clear', true, 1002); - } - - if (this._payloadLength === 126) this._state = GET_PAYLOAD_LENGTH_16; - else if (this._payloadLength === 127) this._state = GET_PAYLOAD_LENGTH_64; - else return this.haveLength(); - } - - /** - * Gets extended payload length (7+16). - * - * @return {(RangeError|undefined)} A possible error - * @private - */ - getPayloadLength16() { - if (this._bufferedBytes < 2) { - this._loop = false; - return; - } - - this._payloadLength = this.consume(2).readUInt16BE(0); - return this.haveLength(); - } - - /** - * Gets extended payload length (7+64). - * - * @return {(RangeError|undefined)} A possible error - * @private - */ - getPayloadLength64() { - if (this._bufferedBytes < 8) { - this._loop = false; - return; - } - - const buf = this.consume(8); - const num = buf.readUInt32BE(0); - - // - // The maximum safe integer in JavaScript is 2^53 - 1. An error is returned - // if payload length is greater than this number. - // - if (num > Math.pow(2, 53 - 32) - 1) { - this._loop = false; - return error( - RangeError, - 'Unsupported WebSocket frame: payload length > 2^53 - 1', - false, - 1009 - ); - } - - this._payloadLength = num * Math.pow(2, 32) + buf.readUInt32BE(4); - return this.haveLength(); - } - - /** - * Payload length has been read. - * - * @return {(RangeError|undefined)} A possible error - * @private - */ - haveLength() { - if (this._payloadLength && this._opcode < 0x08) { - this._totalPayloadLength += this._payloadLength; - if (this._totalPayloadLength > this._maxPayload && this._maxPayload > 0) { - this._loop = false; - return error(RangeError, 'Max payload size exceeded', false, 1009); - } - } - - if (this._masked) this._state = GET_MASK; - else this._state = GET_DATA; - } - - /** - * Reads mask bytes. - * - * @private - */ - getMask() { - if (this._bufferedBytes < 4) { - this._loop = false; - return; - } - - this._mask = this.consume(4); - this._state = GET_DATA; - } - - /** - * Reads data bytes. - * - * @param {Function} cb Callback - * @return {(Error|RangeError|undefined)} A possible error - * @private - */ - 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) unmask(data, this._mask); - } - - if (this._opcode > 0x07) return this.controlMessage(data); - - if (this._compressed) { - this._state = INFLATING; - this.decompress(data, cb); - return; - } - - if (data.length) { - // - // This message is not compressed so its lenght is the sum of the payload - // length of all fragments. - // - this._messageLength = this._totalPayloadLength; - this._fragments.push(data); - } - - return this.dataMessage(); - } - - /** - * Decompresses data. - * - * @param {Buffer} data Compressed data - * @param {Function} cb Callback - * @private - */ - 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) { - return cb( - error(RangeError, 'Max payload size exceeded', false, 1009) - ); - } - - this._fragments.push(buf); - } - - const er = this.dataMessage(); - if (er) return cb(er); - - this.startLoop(cb); - }); - } - - /** - * Handles a data message. - * - * @return {(Error|undefined)} A possible error - * @private - */ - dataMessage() { - if (this._fin) { - 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 = concat(fragments, messageLength); - } else if (this._binaryType === 'arraybuffer') { - data = toArrayBuffer(concat(fragments, messageLength)); - } else { - data = fragments; - } - - this.emit('message', data); - } else { - const buf = concat(fragments, messageLength); - - if (!isValidUTF8(buf)) { - this._loop = false; - return error(Error, 'invalid UTF-8 sequence', true, 1007); - } - - this.emit('message', buf.toString()); - } - } - - this._state = GET_INFO; - } - - /** - * Handles a control message. - * - * @param {Buffer} data Data to handle - * @return {(Error|RangeError|undefined)} A possible error - * @private - */ - controlMessage(data) { - if (this._opcode === 0x08) { - this._loop = false; - - if (data.length === 0) { - this.emit('conclude', 1005, ''); - this.end(); - } else if (data.length === 1) { - return error(RangeError, 'invalid payload length 1', true, 1002); - } else { - const code = data.readUInt16BE(0); - - if (!isValidStatusCode(code)) { - return error(RangeError, `invalid status code ${code}`, true, 1002); - } - - const buf = data.slice(2); - - if (!isValidUTF8(buf)) { - return error(Error, 'invalid UTF-8 sequence', true, 1007); - } - - this.emit('conclude', code, buf.toString()); - this.end(); - } - } else if (this._opcode === 0x09) { - this.emit('ping', data); - } else { - this.emit('pong', data); - } - - this._state = GET_INFO; - } -} - -module.exports = Receiver; - -/** - * Builds an error object. - * - * @param {(Error|RangeError)} ErrorCtor The error constructor - * @param {String} message The error message - * @param {Boolean} prefix Specifies whether or not to add a default prefix to - * `message` - * @param {Number} statusCode The status code - * @return {(Error|RangeError)} The error - * @private - */ -function error(ErrorCtor, message, prefix, statusCode) { - const err = new ErrorCtor( - prefix ? `Invalid WebSocket frame: ${message}` : message - ); - - Error.captureStackTrace(err, error); - err[kStatusCode] = statusCode; - return err; -} - - -/***/ }), - -/***/ 54071: -/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { - - - -const { randomFillSync } = __nccwpck_require__(76982); - -const PerMessageDeflate = __nccwpck_require__(26866); -const { EMPTY_BUFFER } = __nccwpck_require__(86238); -const { isValidStatusCode } = __nccwpck_require__(57769); -const { mask: applyMask, toBuffer } = __nccwpck_require__(2557); - -const mask = Buffer.alloc(4); - -/** - * HyBi Sender implementation. - */ -class Sender { - /** - * Creates a Sender instance. - * - * @param {net.Socket} socket The connection socket - * @param {Object} [extensions] An object containing the negotiated extensions - */ - constructor(socket, extensions) { - this._extensions = extensions || {}; - this._socket = socket; - - this._firstFragment = true; - this._compress = false; - - this._bufferedBytes = 0; - this._deflating = false; - this._queue = []; - } - - /** - * Frames a piece of data according to the HyBi WebSocket protocol. - * - * @param {Buffer} data The data to frame - * @param {Object} options Options object - * @param {Number} options.opcode The opcode - * @param {Boolean} [options.readOnly=false] Specifies whether `data` can be - * modified - * @param {Boolean} [options.fin=false] Specifies whether or not to set the - * FIN bit - * @param {Boolean} [options.mask=false] Specifies whether or not to mask - * `data` - * @param {Boolean} [options.rsv1=false] Specifies whether or not to set the - * RSV1 bit - * @return {Buffer[]} The framed data as a list of `Buffer` instances - * @public - */ - static frame(data, options) { - const merge = options.mask && options.readOnly; - let offset = options.mask ? 6 : 2; - let payloadLength = data.length; - - if (data.length >= 65536) { - offset += 8; - payloadLength = 127; - } else if (data.length > 125) { - offset += 2; - payloadLength = 126; - } - - const target = Buffer.allocUnsafe(merge ? data.length + offset : offset); - - target[0] = options.fin ? options.opcode | 0x80 : options.opcode; - if (options.rsv1) target[0] |= 0x40; - - target[1] = payloadLength; - - if (payloadLength === 126) { - target.writeUInt16BE(data.length, 2); - } else if (payloadLength === 127) { - target.writeUInt32BE(0, 2); - target.writeUInt32BE(data.length, 6); - } - - if (!options.mask) return [target, data]; - - randomFillSync(mask, 0, 4); - - target[1] |= 0x80; - target[offset - 4] = mask[0]; - target[offset - 3] = mask[1]; - target[offset - 2] = mask[2]; - target[offset - 1] = mask[3]; - - if (merge) { - applyMask(data, mask, target, offset, data.length); - return [target]; - } - - applyMask(data, mask, data, 0, data.length); - return [target, data]; - } - - /** - * Sends a close message to the other peer. - * - * @param {Number} [code] The status code component of the body - * @param {String} [data] The message component of the body - * @param {Boolean} [mask=false] Specifies whether or not to mask the message - * @param {Function} [cb] Callback - * @public - */ - close(code, data, mask, cb) { - let buf; - - if (code === undefined) { - 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 === undefined || data === '') { - 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); - buf.write(data, 2); - } - - if (this._deflating) { - this.enqueue([this.doClose, buf, mask, cb]); - } else { - this.doClose(buf, mask, cb); - } - } - - /** - * Frames and sends a close message. - * - * @param {Buffer} data The message to send - * @param {Boolean} [mask=false] Specifies whether or not to mask `data` - * @param {Function} [cb] Callback - * @private - */ - doClose(data, mask, cb) { - this.sendFrame( - Sender.frame(data, { - fin: true, - rsv1: false, - opcode: 0x08, - mask, - readOnly: false - }), - cb - ); - } - - /** - * Sends a ping message to the other peer. - * - * @param {*} data The message to send - * @param {Boolean} [mask=false] Specifies whether or not to mask `data` - * @param {Function} [cb] Callback - * @public - */ - ping(data, mask, cb) { - const buf = toBuffer(data); - - if (buf.length > 125) { - throw new RangeError('The data size must not be greater than 125 bytes'); - } - - if (this._deflating) { - this.enqueue([this.doPing, buf, mask, toBuffer.readOnly, cb]); - } else { - this.doPing(buf, mask, toBuffer.readOnly, cb); - } - } - - /** - * Frames and sends a ping message. - * - * @param {Buffer} data The message to send - * @param {Boolean} [mask=false] Specifies whether or not to mask `data` - * @param {Boolean} [readOnly=false] Specifies whether `data` can be modified - * @param {Function} [cb] Callback - * @private - */ - doPing(data, mask, readOnly, cb) { - this.sendFrame( - Sender.frame(data, { - fin: true, - rsv1: false, - opcode: 0x09, - mask, - readOnly - }), - cb - ); - } - - /** - * Sends a pong message to the other peer. - * - * @param {*} data The message to send - * @param {Boolean} [mask=false] Specifies whether or not to mask `data` - * @param {Function} [cb] Callback - * @public - */ - pong(data, mask, cb) { - const buf = toBuffer(data); - - if (buf.length > 125) { - throw new RangeError('The data size must not be greater than 125 bytes'); - } - - if (this._deflating) { - this.enqueue([this.doPong, buf, mask, toBuffer.readOnly, cb]); - } else { - this.doPong(buf, mask, toBuffer.readOnly, cb); - } - } - - /** - * Frames and sends a pong message. - * - * @param {Buffer} data The message to send - * @param {Boolean} [mask=false] Specifies whether or not to mask `data` - * @param {Boolean} [readOnly=false] Specifies whether `data` can be modified - * @param {Function} [cb] Callback - * @private - */ - doPong(data, mask, readOnly, cb) { - this.sendFrame( - Sender.frame(data, { - fin: true, - rsv1: false, - opcode: 0x0a, - mask, - readOnly - }), - cb - ); - } - - /** - * Sends a data message to the other peer. - * - * @param {*} data The message to send - * @param {Object} options Options object - * @param {Boolean} [options.compress=false] Specifies whether or not to - * compress `data` - * @param {Boolean} [options.binary=false] Specifies whether `data` is binary - * or text - * @param {Boolean} [options.fin=false] Specifies whether the fragment is the - * last one - * @param {Boolean} [options.mask=false] Specifies whether or not to mask - * `data` - * @param {Function} [cb] Callback - * @public - */ - send(data, options, cb) { - const buf = toBuffer(data); - const perMessageDeflate = this._extensions[PerMessageDeflate.extensionName]; - let opcode = options.binary ? 2 : 1; - let rsv1 = options.compress; - - if (this._firstFragment) { - this._firstFragment = false; - if (rsv1 && perMessageDeflate) { - rsv1 = buf.length >= perMessageDeflate._threshold; - } - this._compress = rsv1; - } else { - rsv1 = false; - opcode = 0; - } - - if (options.fin) this._firstFragment = true; - - if (perMessageDeflate) { - const opts = { - fin: options.fin, - rsv1, - opcode, - mask: options.mask, - readOnly: toBuffer.readOnly - }; - - if (this._deflating) { - this.enqueue([this.dispatch, buf, this._compress, opts, cb]); - } else { - this.dispatch(buf, this._compress, opts, cb); - } - } else { - this.sendFrame( - Sender.frame(buf, { - fin: options.fin, - rsv1: false, - opcode, - mask: options.mask, - readOnly: toBuffer.readOnly - }), - cb - ); - } - } - - /** - * Dispatches a data message. - * - * @param {Buffer} data The message to send - * @param {Boolean} [compress=false] Specifies whether or not to compress - * `data` - * @param {Object} options Options object - * @param {Number} options.opcode The opcode - * @param {Boolean} [options.readOnly=false] Specifies whether `data` can be - * modified - * @param {Boolean} [options.fin=false] Specifies whether or not to set the - * FIN bit - * @param {Boolean} [options.mask=false] Specifies whether or not to mask - * `data` - * @param {Boolean} [options.rsv1=false] Specifies whether or not to set the - * RSV1 bit - * @param {Function} [cb] Callback - * @private - */ - dispatch(data, compress, options, cb) { - if (!compress) { - this.sendFrame(Sender.frame(data, options), cb); - return; - } - - const perMessageDeflate = this._extensions[PerMessageDeflate.extensionName]; - - this._bufferedBytes += data.length; - 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 callback = this._queue[i][4]; - - if (typeof callback === 'function') callback(err); - } - - return; - } - - this._bufferedBytes -= data.length; - this._deflating = false; - options.readOnly = false; - this.sendFrame(Sender.frame(buf, options), cb); - this.dequeue(); - }); - } - - /** - * Executes queued send operations. - * - * @private - */ - dequeue() { - while (!this._deflating && this._queue.length) { - const params = this._queue.shift(); - - this._bufferedBytes -= params[1].length; - Reflect.apply(params[0], this, params.slice(1)); - } - } - - /** - * Enqueues a send operation. - * - * @param {Array} params Send operation parameters. - * @private - */ - enqueue(params) { - this._bufferedBytes += params[1].length; - this._queue.push(params); - } - - /** - * Sends a frame. - * - * @param {Buffer[]} list The frame to send - * @param {Function} [cb] Callback - * @private - */ - 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); - } - } -} - -module.exports = Sender; - - -/***/ }), - -/***/ 24242: -/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { - - - -const { Duplex } = __nccwpck_require__(2203); - -/** - * Emits the `'close'` event on a stream. - * - * @param {stream.Duplex} The stream. - * @private - */ -function emitClose(stream) { - stream.emit('close'); -} - -/** - * The listener of the `'end'` event. - * - * @private - */ -function duplexOnEnd() { - if (!this.destroyed && this._writableState.finished) { - this.destroy(); - } -} - -/** - * The listener of the `'error'` event. - * - * @param {Error} err The error - * @private - */ -function duplexOnError(err) { - this.removeListener('error', duplexOnError); - this.destroy(); - if (this.listenerCount('error') === 0) { - // Do not suppress the throwing behavior. - this.emit('error', err); - } -} - -/** - * Wraps a `WebSocket` in a duplex stream. - * - * @param {WebSocket} ws The `WebSocket` to wrap - * @param {Object} [options] The options for the `Duplex` constructor - * @return {stream.Duplex} The duplex stream - * @public - */ -function createWebSocketStream(ws, options) { - let resumeOnReceiverDrain = true; - - function receiverOnDrain() { - if (resumeOnReceiverDrain) ws._socket.resume(); - } - - if (ws.readyState === ws.CONNECTING) { - ws.once('open', function open() { - ws._receiver.removeAllListeners('drain'); - ws._receiver.on('drain', receiverOnDrain); - }); - } else { - ws._receiver.removeAllListeners('drain'); - ws._receiver.on('drain', receiverOnDrain); - } - - const duplex = new Duplex({ - ...options, - autoDestroy: false, - emitClose: false, - objectMode: false, - writableObjectMode: false - }); - - ws.on('message', function message(msg) { - if (!duplex.push(msg)) { - resumeOnReceiverDrain = false; - ws._socket.pause(); - } - }); - - ws.once('error', function error(err) { - if (duplex.destroyed) return; - - 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(err) { - called = true; - callback(err); - }); - - ws.once('close', function close() { - if (!called) callback(err); - process.nextTick(emitClose, duplex); - }); - ws.terminate(); - }; - - duplex._final = function (callback) { - if (ws.readyState === ws.CONNECTING) { - ws.once('open', function open() { - duplex._final(callback); - }); - return; - } - - // If the value of the `_socket` property is `null` it means that `ws` is a - // client websocket and the handshake failed. In fact, when this happens, a - // socket is never assigned to the websocket. Wait for the `'error'` event - // that will be emitted by the websocket. - if (ws._socket === null) return; - - if (ws._socket._writableState.finished) { - callback(); - if (duplex._readableState.endEmitted) duplex.destroy(); - } else { - ws._socket.once('finish', function finish() { - // `duplex` is not destroyed here because the `'end'` event will be - // emitted on `duplex` after this `'finish'` event. The EOF signaling - // `null` chunk is, in fact, pushed when the websocket emits `'close'`. - callback(); - }); - ws.close(); - } - }; - - duplex._read = function () { - if (ws.readyState === ws.OPEN && !resumeOnReceiverDrain) { - resumeOnReceiverDrain = true; - if (!ws._receiver._writableState.needDrain) ws._socket.resume(); - } - }; - - duplex._write = function (chunk, encoding, callback) { - if (ws.readyState === ws.CONNECTING) { - ws.once('open', function open() { - duplex._write(chunk, encoding, callback); - }); - return; - } - - ws.send(chunk, callback); - }; - - duplex.on('end', duplexOnEnd); - duplex.on('error', duplexOnError); - return duplex; -} - -module.exports = createWebSocketStream; - - -/***/ }), - -/***/ 57769: -/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { - - - -/** - * Checks if a status code is allowed in a close frame. - * - * @param {Number} code The status code - * @return {Boolean} `true` if the status code is valid, else `false` - * @public - */ -function isValidStatusCode(code) { - return ( - (code >= 1000 && - code <= 1014 && - code !== 1004 && - code !== 1005 && - code !== 1006) || - (code >= 3000 && code <= 4999) - ); -} - -/** - * Checks if a given buffer contains only correct UTF-8. - * Ported from https://www.cl.cam.ac.uk/%7Emgk25/ucs/utf8_check.c by - * Markus Kuhn. - * - * @param {Buffer} buf The buffer to check - * @return {Boolean} `true` if `buf` contains only correct UTF-8, else `false` - * @public - */ -function _isValidUTF8(buf) { - const len = buf.length; - let i = 0; - - while (i < len) { - if ((buf[i] & 0x80) === 0) { - // 0xxxxxxx - i++; - } else if ((buf[i] & 0xe0) === 0xc0) { - // 110xxxxx 10xxxxxx - if ( - i + 1 === len || - (buf[i + 1] & 0xc0) !== 0x80 || - (buf[i] & 0xfe) === 0xc0 // Overlong - ) { - return false; - } - - i += 2; - } else if ((buf[i] & 0xf0) === 0xe0) { - // 1110xxxx 10xxxxxx 10xxxxxx - if ( - i + 2 >= len || - (buf[i + 1] & 0xc0) !== 0x80 || - (buf[i + 2] & 0xc0) !== 0x80 || - (buf[i] === 0xe0 && (buf[i + 1] & 0xe0) === 0x80) || // Overlong - (buf[i] === 0xed && (buf[i + 1] & 0xe0) === 0xa0) // Surrogate (U+D800 - U+DFFF) - ) { - return false; - } - - i += 3; - } else if ((buf[i] & 0xf8) === 0xf0) { - // 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx - if ( - i + 3 >= len || - (buf[i + 1] & 0xc0) !== 0x80 || - (buf[i + 2] & 0xc0) !== 0x80 || - (buf[i + 3] & 0xc0) !== 0x80 || - (buf[i] === 0xf0 && (buf[i + 1] & 0xf0) === 0x80) || // Overlong - (buf[i] === 0xf4 && buf[i + 1] > 0x8f) || - buf[i] > 0xf4 // > U+10FFFF - ) { - return false; - } - - i += 4; - } else { - return false; - } - } - - return true; -} - -try { - let isValidUTF8 = __nccwpck_require__(67963); - - /* istanbul ignore if */ - if (typeof isValidUTF8 === 'object') { - isValidUTF8 = isValidUTF8.Validation.isValidUTF8; // utf-8-validate@<3.0.0 - } - - module.exports = { - isValidStatusCode, - isValidUTF8(buf) { - return buf.length < 150 ? _isValidUTF8(buf) : isValidUTF8(buf); - } - }; -} catch (e) /* istanbul ignore next */ { - module.exports = { - isValidStatusCode, - isValidUTF8: _isValidUTF8 - }; -} - - -/***/ }), - -/***/ 20783: -/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { - - - -const EventEmitter = __nccwpck_require__(24434); -const { createHash } = __nccwpck_require__(76982); -const { createServer, STATUS_CODES } = __nccwpck_require__(58611); - -const PerMessageDeflate = __nccwpck_require__(26866); -const WebSocket = __nccwpck_require__(16875); -const { format, parse } = __nccwpck_require__(21833); -const { GUID, kWebSocket } = __nccwpck_require__(86238); - -const keyRegex = /^[+/0-9A-Za-z]{22}==$/; - -/** - * Class representing a WebSocket server. - * - * @extends EventEmitter - */ -class WebSocketServer extends EventEmitter { - /** - * Create a `WebSocketServer` instance. - * - * @param {Object} options Configuration options - * @param {Number} [options.backlog=511] The maximum length of the queue of - * pending connections - * @param {Boolean} [options.clientTracking=true] Specifies whether or not to - * track clients - * @param {Function} [options.handleProtocols] A hook to handle protocols - * @param {String} [options.host] The hostname where to bind the server - * @param {Number} [options.maxPayload=104857600] The maximum allowed message - * size - * @param {Boolean} [options.noServer=false] Enable no server mode - * @param {String} [options.path] Accept only connections matching this path - * @param {(Boolean|Object)} [options.perMessageDeflate=false] Enable/disable - * permessage-deflate - * @param {Number} [options.port] The port where to bind the server - * @param {http.Server} [options.server] A pre-created HTTP/S server to use - * @param {Function} [options.verifyClient] A hook to reject connections - * @param {Function} [callback] A listener for the `listening` event - */ - constructor(options, callback) { - super(); - - options = { - maxPayload: 100 * 1024 * 1024, - perMessageDeflate: false, - handleProtocols: null, - clientTracking: true, - verifyClient: null, - noServer: false, - backlog: null, // use default (511 as implemented in net.js) - server: null, - host: null, - path: null, - port: null, - ...options - }; - - if (options.port == null && !options.server && !options.noServer) { - throw new TypeError( - 'One of the "port", "server", or "noServer" options must be specified' - ); - } - - if (options.port != null) { - this._server = createServer((req, res) => { - const body = 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, head) => { - this.handleUpgrade(req, socket, head, emitConnection); - } - }); - } - - if (options.perMessageDeflate === true) options.perMessageDeflate = {}; - if (options.clientTracking) this.clients = new Set(); - this.options = options; - } - - /** - * Returns the bound address, the address family name, and port of the server - * as reported by the operating system if listening on an IP socket. - * If the server is listening on a pipe or UNIX domain socket, the name is - * returned as a string. - * - * @return {(Object|String|null)} The address of the server - * @public - */ - 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 the server. - * - * @param {Function} [cb] Callback - * @public - */ - close(cb) { - if (cb) this.once('close', cb); - - // - // Terminate all associated clients. - // - if (this.clients) { - for (const client of this.clients) client.terminate(); - } - - const server = this._server; - - if (server) { - this._removeListeners(); - this._removeListeners = this._server = null; - - // - // Close the http server if it was internally created. - // - if (this.options.port != null) { - server.close(() => this.emit('close')); - return; - } - } - - process.nextTick(emitClose, this); - } - - /** - * See if a given request should be handled by this server instance. - * - * @param {http.IncomingMessage} req Request object to inspect - * @return {Boolean} `true` if the request is valid, else `false` - * @public - */ - 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; - } - - /** - * Handle a HTTP Upgrade request. - * - * @param {http.IncomingMessage} req The request object - * @param {net.Socket} socket The network socket between the server and client - * @param {Buffer} head The first packet of the upgraded stream - * @param {Function} cb Callback - * @public - */ - handleUpgrade(req, socket, head, cb) { - socket.on('error', socketOnError); - - const key = - req.headers['sec-websocket-key'] !== undefined - ? req.headers['sec-websocket-key'].trim() - : false; - const version = +req.headers['sec-websocket-version']; - const extensions = {}; - - if ( - req.method !== 'GET' || - req.headers.upgrade.toLowerCase() !== 'websocket' || - !key || - !keyRegex.test(key) || - (version !== 8 && version !== 13) || - !this.shouldHandle(req) - ) { - return abortHandshake(socket, 400); - } - - if (this.options.perMessageDeflate) { - const perMessageDeflate = new PerMessageDeflate( - this.options.perMessageDeflate, - true, - this.options.maxPayload - ); - - try { - const offers = parse(req.headers['sec-websocket-extensions']); - - if (offers[PerMessageDeflate.extensionName]) { - perMessageDeflate.accept(offers[PerMessageDeflate.extensionName]); - extensions[PerMessageDeflate.extensionName] = perMessageDeflate; - } - } catch (err) { - return abortHandshake(socket, 400); - } - } - - // - // Optionally call external client verification handler. - // - 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, message, headers) => { - if (!verified) { - return abortHandshake(socket, code || 401, message, headers); - } - - this.completeUpgrade(key, extensions, req, socket, head, cb); - }); - return; - } - - if (!this.options.verifyClient(info)) return abortHandshake(socket, 401); - } - - this.completeUpgrade(key, extensions, req, socket, head, cb); - } - - /** - * Upgrade the connection to WebSocket. - * - * @param {String} key The value of the `Sec-WebSocket-Key` header - * @param {Object} extensions The accepted extensions - * @param {http.IncomingMessage} req The request object - * @param {net.Socket} socket The network socket between the server and client - * @param {Buffer} head The first packet of the upgraded stream - * @param {Function} cb Callback - * @throws {Error} If called more than once with the same socket - * @private - */ - completeUpgrade(key, extensions, req, socket, head, cb) { - // - // Destroy the socket if the client has already sent a FIN packet. - // - 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' - ); - } - - const digest = createHash('sha1') - .update(key + GUID) - .digest('base64'); - - const headers = [ - 'HTTP/1.1 101 Switching Protocols', - 'Upgrade: websocket', - 'Connection: Upgrade', - `Sec-WebSocket-Accept: ${digest}` - ]; - - const ws = new WebSocket(null); - let protocol = req.headers['sec-websocket-protocol']; - - if (protocol) { - protocol = protocol.split(',').map(trim); - - // - // Optionally call external protocol selection handler. - // - if (this.options.handleProtocols) { - protocol = this.options.handleProtocols(protocol, req); - } else { - protocol = protocol[0]; - } - - if (protocol) { - headers.push(`Sec-WebSocket-Protocol: ${protocol}`); - ws._protocol = protocol; - } - } - - if (extensions[PerMessageDeflate.extensionName]) { - const params = extensions[PerMessageDeflate.extensionName].params; - const value = format({ - [PerMessageDeflate.extensionName]: [params] - }); - headers.push(`Sec-WebSocket-Extensions: ${value}`); - ws._extensions = extensions; - } - - // - // Allow external modification/inspection of handshake headers. - // - this.emit('headers', headers, req); - - socket.write(headers.concat('\r\n').join('\r\n')); - socket.removeListener('error', socketOnError); - - ws.setSocket(socket, head, this.options.maxPayload); - - if (this.clients) { - this.clients.add(ws); - ws.on('close', () => this.clients.delete(ws)); - } - - cb(ws, req); - } -} - -module.exports = WebSocketServer; - -/** - * Add event listeners on an `EventEmitter` using a map of - * pairs. - * - * @param {EventEmitter} server The event emitter - * @param {Object.} map The listeners to add - * @return {Function} A function that will remove the added listeners when - * called - * @private - */ -function addListeners(server, map) { - for (const event of Object.keys(map)) server.on(event, map[event]); - - return function removeListeners() { - for (const event of Object.keys(map)) { - server.removeListener(event, map[event]); - } - }; -} - -/** - * Emit a `'close'` event on an `EventEmitter`. - * - * @param {EventEmitter} server The event emitter - * @private - */ -function emitClose(server) { - server.emit('close'); -} - -/** - * Handle premature socket errors. - * - * @private - */ -function socketOnError() { - this.destroy(); -} - -/** - * Close the connection when preconditions are not fulfilled. - * - * @param {net.Socket} socket The socket of the upgrade request - * @param {Number} code The HTTP response status code - * @param {String} [message] The HTTP response body - * @param {Object} [headers] Additional HTTP response headers - * @private - */ -function abortHandshake(socket, code, message, headers) { - if (socket.writable) { - message = message || STATUS_CODES[code]; - headers = { - Connection: 'close', - 'Content-Type': 'text/html', - 'Content-Length': Buffer.byteLength(message), - ...headers - }; - - socket.write( - `HTTP/1.1 ${code} ${STATUS_CODES[code]}\r\n` + - Object.keys(headers) - .map((h) => `${h}: ${headers[h]}`) - .join('\r\n') + - '\r\n\r\n' + - message - ); - } - - socket.removeListener('error', socketOnError); - socket.destroy(); -} - -/** - * Remove whitespace characters from both ends of a string. - * - * @param {String} str The string - * @return {String} A new string representing `str` stripped of whitespace - * characters from both its beginning and end - * @private - */ -function trim(str) { - return str.trim(); -} - - -/***/ }), - -/***/ 16875: -/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { - - - -const EventEmitter = __nccwpck_require__(24434); -const https = __nccwpck_require__(65692); -const http = __nccwpck_require__(58611); -const net = __nccwpck_require__(69278); -const tls = __nccwpck_require__(64756); -const { randomBytes, createHash } = __nccwpck_require__(76982); -const { URL } = __nccwpck_require__(87016); - -const PerMessageDeflate = __nccwpck_require__(26866); -const Receiver = __nccwpck_require__(62091); -const Sender = __nccwpck_require__(54071); -const { - BINARY_TYPES, - EMPTY_BUFFER, - GUID, - kStatusCode, - kWebSocket, - NOOP -} = __nccwpck_require__(86238); -const { addEventListener, removeEventListener } = __nccwpck_require__(19152); -const { format, parse } = __nccwpck_require__(21833); -const { toBuffer } = __nccwpck_require__(2557); - -const readyStates = ['CONNECTING', 'OPEN', 'CLOSING', 'CLOSED']; -const protocolVersions = [8, 13]; -const closeTimeout = 30 * 1000; - -/** - * Class representing a WebSocket. - * - * @extends EventEmitter - */ -class WebSocket extends EventEmitter { - /** - * Create a new `WebSocket`. - * - * @param {(String|url.URL)} address The URL to which to connect - * @param {(String|String[])} [protocols] The subprotocols - * @param {Object} [options] Connection options - */ - constructor(address, protocols, options) { - super(); - - this._binaryType = BINARY_TYPES[0]; - this._closeCode = 1006; - this._closeFrameReceived = false; - this._closeFrameSent = false; - this._closeMessage = ''; - this._closeTimer = null; - this._extensions = {}; - 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 (Array.isArray(protocols)) { - protocols = protocols.join(', '); - } else if (typeof protocols === 'object' && protocols !== null) { - options = protocols; - protocols = undefined; - } - - initAsClient(this, address, protocols, options); - } else { - this._isServer = true; - } - } - - /** - * This deviates from the WHATWG interface since ws doesn't support the - * required default "blob" type (instead we define a custom "nodebuffer" - * type). - * - * @type {String} - */ - get binaryType() { - return this._binaryType; - } - - set binaryType(type) { - if (!BINARY_TYPES.includes(type)) return; - - this._binaryType = type; - - // - // Allow to change `binaryType` on the fly. - // - if (this._receiver) this._receiver._binaryType = type; - } - - /** - * @type {Number} - */ - get bufferedAmount() { - if (!this._socket) return this._bufferedAmount; - - return this._socket._writableState.length + this._sender._bufferedBytes; - } - - /** - * @type {String} - */ - get extensions() { - return Object.keys(this._extensions).join(); - } - - /** - * @type {String} - */ - get protocol() { - return this._protocol; - } - - /** - * @type {Number} - */ - get readyState() { - return this._readyState; - } - - /** - * @type {String} - */ - get url() { - return this._url; - } - - /** - * Set up the socket and the internal resources. - * - * @param {net.Socket} socket The network socket between the server and client - * @param {Buffer} head The first packet of the upgraded stream - * @param {Number} [maxPayload=0] The maximum allowed message size - * @private - */ - setSocket(socket, head, maxPayload) { - const receiver = new Receiver( - this.binaryType, - this._extensions, - this._isServer, - maxPayload - ); - - this._sender = new Sender(socket, this._extensions); - 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); - - socket.setTimeout(0); - socket.setNoDelay(); - - if (head.length > 0) socket.unshift(head); - - socket.on('close', socketOnClose); - socket.on('data', socketOnData); - socket.on('end', socketOnEnd); - socket.on('error', socketOnError); - - this._readyState = WebSocket.OPEN; - this.emit('open'); - } - - /** - * Emit the `'close'` event. - * - * @private - */ - 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); - } - - /** - * Start a closing handshake. - * - * +----------+ +-----------+ +----------+ - * - - -|ws.close()|-->|close frame|-->|ws.close()|- - - - * | +----------+ +-----------+ +----------+ | - * +----------+ +-----------+ | - * CLOSING |ws.close()|<--|close frame|<--+-----+ CLOSING - * +----------+ +-----------+ | - * | | | +---+ | - * +------------------------+-->|fin| - - - - - * | +---+ | +---+ - * - - - - -|fin|<---------------------+ - * +---+ - * - * @param {Number} [code] Status code explaining why the connection is closing - * @param {String} [data] A string explaining why the connection is closing - * @public - */ - close(code, data) { - if (this.readyState === WebSocket.CLOSED) return; - if (this.readyState === WebSocket.CONNECTING) { - const msg = 'WebSocket was closed before the connection was established'; - return abortHandshake(this, this._req, msg); - } - - if (this.readyState === WebSocket.CLOSING) { - if (this._closeFrameSent && this._closeFrameReceived) this._socket.end(); - return; - } - - this._readyState = WebSocket.CLOSING; - this._sender.close(code, data, !this._isServer, (err) => { - // - // This error is handled by the `'error'` listener on the socket. We only - // want to know if the close frame has been sent here. - // - if (err) return; - - this._closeFrameSent = true; - if (this._closeFrameReceived) this._socket.end(); - }); - - // - // Specify a timeout for the closing handshake to complete. - // - this._closeTimer = setTimeout( - this._socket.destroy.bind(this._socket), - closeTimeout - ); - } - - /** - * Send a ping. - * - * @param {*} [data] The data to send - * @param {Boolean} [mask] Indicates whether or not to mask `data` - * @param {Function} [cb] Callback which is executed when the ping is sent - * @public - */ - 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 = undefined; - } else if (typeof mask === 'function') { - cb = mask; - mask = undefined; - } - - if (typeof data === 'number') data = data.toString(); - - if (this.readyState !== WebSocket.OPEN) { - sendAfterClose(this, data, cb); - return; - } - - if (mask === undefined) mask = !this._isServer; - this._sender.ping(data || EMPTY_BUFFER, mask, cb); - } - - /** - * Send a pong. - * - * @param {*} [data] The data to send - * @param {Boolean} [mask] Indicates whether or not to mask `data` - * @param {Function} [cb] Callback which is executed when the pong is sent - * @public - */ - 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 = undefined; - } else if (typeof mask === 'function') { - cb = mask; - mask = undefined; - } - - if (typeof data === 'number') data = data.toString(); - - if (this.readyState !== WebSocket.OPEN) { - sendAfterClose(this, data, cb); - return; - } - - if (mask === undefined) mask = !this._isServer; - this._sender.pong(data || EMPTY_BUFFER, mask, cb); - } - - /** - * Send a data message. - * - * @param {*} data The message to send - * @param {Object} [options] Options object - * @param {Boolean} [options.compress] Specifies whether or not to compress - * `data` - * @param {Boolean} [options.binary] Specifies whether `data` is binary or - * text - * @param {Boolean} [options.fin=true] Specifies whether the fragment is the - * last one - * @param {Boolean} [options.mask] Specifies whether or not to mask `data` - * @param {Function} [cb] Callback which is executed when data is written out - * @public - */ - 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); - } - - /** - * Forcibly close the connection. - * - * @public - */ - terminate() { - if (this.readyState === WebSocket.CLOSED) return; - if (this.readyState === WebSocket.CONNECTING) { - const msg = 'WebSocket was closed before the connection was established'; - return abortHandshake(this, this._req, msg); - } - - if (this._socket) { - this._readyState = WebSocket.CLOSING; - this._socket.destroy(); - } - } -} - -readyStates.forEach((readyState, i) => { - const descriptor = { enumerable: true, value: i }; - - Object.defineProperty(WebSocket.prototype, readyState, descriptor); - Object.defineProperty(WebSocket, readyState, descriptor); -}); - -[ - 'binaryType', - 'bufferedAmount', - 'extensions', - 'protocol', - 'readyState', - 'url' -].forEach((property) => { - Object.defineProperty(WebSocket.prototype, property, { enumerable: true }); -}); - -// -// Add the `onopen`, `onerror`, `onclose`, and `onmessage` attributes. -// See https://html.spec.whatwg.org/multipage/comms.html#the-websocket-interface -// -['open', 'error', 'close', 'message'].forEach((method) => { - Object.defineProperty(WebSocket.prototype, `on${method}`, { - configurable: true, - enumerable: true, - /** - * Return the listener of the event. - * - * @return {(Function|undefined)} The event listener or `undefined` - * @public - */ - get() { - const listeners = this.listeners(method); - for (let i = 0; i < listeners.length; i++) { - if (listeners[i]._listener) return listeners[i]._listener; - } - - return undefined; - }, - /** - * Add a listener for the event. - * - * @param {Function} listener The listener to add - * @public - */ - set(listener) { - const listeners = this.listeners(method); - for (let i = 0; i < listeners.length; i++) { - // - // Remove only the listeners added via `addEventListener`. - // - if (listeners[i]._listener) this.removeListener(method, listeners[i]); - } - this.addEventListener(method, listener); - } - }); -}); - -WebSocket.prototype.addEventListener = addEventListener; -WebSocket.prototype.removeEventListener = removeEventListener; - -module.exports = WebSocket; - -/** - * Initialize a WebSocket client. - * - * @param {WebSocket} websocket The client to initialize - * @param {(String|url.URL)} address The URL to which to connect - * @param {String} [protocols] The subprotocols - * @param {Object} [options] Connection options - * @param {(Boolean|Object)} [options.perMessageDeflate=true] Enable/disable - * permessage-deflate - * @param {Number} [options.handshakeTimeout] Timeout in milliseconds for the - * handshake request - * @param {Number} [options.protocolVersion=13] Value of the - * `Sec-WebSocket-Version` header - * @param {String} [options.origin] Value of the `Origin` or - * `Sec-WebSocket-Origin` header - * @param {Number} [options.maxPayload=104857600] The maximum allowed message - * size - * @param {Boolean} [options.followRedirects=false] Whether or not to follow - * redirects - * @param {Number} [options.maxRedirects=10] The maximum number of redirects - * allowed - * @private - */ -function initAsClient(websocket, address, protocols, options) { - const opts = { - protocolVersion: protocolVersions[1], - maxPayload: 100 * 1024 * 1024, - perMessageDeflate: true, - followRedirects: false, - maxRedirects: 10, - ...options, - createConnection: undefined, - socketPath: undefined, - hostname: undefined, - protocol: undefined, - timeout: undefined, - method: undefined, - host: undefined, - path: undefined, - port: undefined - }; - - if (!protocolVersions.includes(opts.protocolVersion)) { - throw new RangeError( - `Unsupported protocol version: ${opts.protocolVersion} ` + - `(supported versions: ${protocolVersions.join(', ')})` - ); - } - - let parsedUrl; - - if (address instanceof URL) { - parsedUrl = address; - websocket._url = address.href; - } else { - parsedUrl = new URL(address); - websocket._url = address; - } - - const isUnixSocket = parsedUrl.protocol === 'ws+unix:'; - - if (!parsedUrl.host && (!isUnixSocket || !parsedUrl.pathname)) { - throw new Error(`Invalid URL: ${websocket.url}`); - } - - const isSecure = - parsedUrl.protocol === 'wss:' || parsedUrl.protocol === 'https:'; - const defaultPort = isSecure ? 443 : 80; - const key = randomBytes(16).toString('base64'); - const get = isSecure ? https.get : http.get; - let perMessageDeflate; - - 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 = { - 'Sec-WebSocket-Version': opts.protocolVersion, - 'Sec-WebSocket-Key': key, - Connection: 'Upgrade', - Upgrade: 'websocket', - ...opts.headers - }; - 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'] = format({ - [PerMessageDeflate.extensionName]: perMessageDeflate.offer() - }); - } - if (protocols) { - opts.headers['Sec-WebSocket-Protocol'] = protocols; - } - 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 (isUnixSocket) { - const parts = opts.path.split(':'); - - opts.socketPath = parts[0]; - opts.path = parts[1]; - } - - let req = (websocket._req = get(opts)); - - if (opts.timeout) { - req.on('timeout', () => { - abortHandshake(websocket, req, 'Opening handshake has timed out'); - }); - } - - req.on('error', (err) => { - if (req === null || req.aborted) return; - - req = websocket._req = null; - websocket._readyState = WebSocket.CLOSING; - websocket.emit('error', err); - websocket.emitClose(); - }); - - 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(); - - const addr = new URL(location, address); - - 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, head) => { - websocket.emit('upgrade', res); - - // - // The user may have closed the connection from a listener of the `upgrade` - // event. - // - if (websocket.readyState !== WebSocket.CONNECTING) return; - - req = websocket._req = null; - - const digest = createHash('sha1') - .update(key + GUID) - .digest('base64'); - - if (res.headers['sec-websocket-accept'] !== digest) { - abortHandshake(websocket, socket, 'Invalid Sec-WebSocket-Accept header'); - return; - } - - const serverProt = res.headers['sec-websocket-protocol']; - const protList = (protocols || '').split(/, */); - let protError; - - if (!protocols && serverProt) { - protError = 'Server sent a subprotocol but none was requested'; - } else if (protocols && !serverProt) { - protError = 'Server sent no subprotocol'; - } else if (serverProt && !protList.includes(serverProt)) { - protError = 'Server sent an invalid subprotocol'; - } - - if (protError) { - abortHandshake(websocket, socket, protError); - return; - } - - if (serverProt) websocket._protocol = serverProt; - - if (perMessageDeflate) { - try { - const extensions = parse(res.headers['sec-websocket-extensions']); - - if (extensions[PerMessageDeflate.extensionName]) { - perMessageDeflate.accept(extensions[PerMessageDeflate.extensionName]); - websocket._extensions[PerMessageDeflate.extensionName] = - perMessageDeflate; - } - } catch (err) { - abortHandshake( - websocket, - socket, - 'Invalid Sec-WebSocket-Extensions header' - ); - return; - } - } - - websocket.setSocket(socket, head, opts.maxPayload); - }); -} - -/** - * Create a `net.Socket` and initiate a connection. - * - * @param {Object} options Connection options - * @return {net.Socket} The newly created socket used to start the connection - * @private - */ -function netConnect(options) { - options.path = options.socketPath; - return net.connect(options); -} - -/** - * Create a `tls.TLSSocket` and initiate a connection. - * - * @param {Object} options Connection options - * @return {tls.TLSSocket} The newly created socket used to start the connection - * @private - */ -function tlsConnect(options) { - options.path = undefined; - - if (!options.servername && options.servername !== '') { - options.servername = net.isIP(options.host) ? '' : options.host; - } - - return tls.connect(options); -} - -/** - * Abort the handshake and emit an error. - * - * @param {WebSocket} websocket The WebSocket instance - * @param {(http.ClientRequest|net.Socket)} stream The request to abort or the - * socket to destroy - * @param {String} message The error message - * @private - */ -function abortHandshake(websocket, stream, message) { - websocket._readyState = WebSocket.CLOSING; - - const err = new Error(message); - Error.captureStackTrace(err, abortHandshake); - - if (stream.setHeader) { - stream.abort(); - - if (stream.socket && !stream.socket.destroyed) { - // - // On Node.js >= 14.3.0 `request.abort()` does not destroy the socket if - // called after the request completed. See - // https://github.com/websockets/ws/issues/1869. - // - stream.socket.destroy(); - } - - stream.once('abort', websocket.emitClose.bind(websocket)); - websocket.emit('error', err); - } else { - stream.destroy(err); - stream.once('error', websocket.emit.bind(websocket, 'error')); - stream.once('close', websocket.emitClose.bind(websocket)); - } -} - -/** - * Handle cases where the `ping()`, `pong()`, or `send()` methods are called - * when the `readyState` attribute is `CLOSING` or `CLOSED`. - * - * @param {WebSocket} websocket The WebSocket instance - * @param {*} [data] The data to send - * @param {Function} [cb] Callback - * @private - */ -function sendAfterClose(websocket, data, cb) { - if (data) { - const length = toBuffer(data).length; - - // - // The `_bufferedAmount` property is used only when the peer is a client and - // the opening handshake fails. Under these circumstances, in fact, the - // `setSocket()` method is not called, so the `_socket` and `_sender` - // properties are set to `null`. - // - 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]})` - ); - cb(err); - } -} - -/** - * The listener of the `Receiver` `'conclude'` event. - * - * @param {Number} code The status code - * @param {String} reason The reason for closing - * @private - */ -function receiverOnConclude(code, reason) { - const websocket = this[kWebSocket]; - - websocket._socket.removeListener('data', socketOnData); - websocket._socket.resume(); - - websocket._closeFrameReceived = true; - websocket._closeMessage = reason; - websocket._closeCode = code; - - if (code === 1005) websocket.close(); - else websocket.close(code, reason); -} - -/** - * The listener of the `Receiver` `'drain'` event. - * - * @private - */ -function receiverOnDrain() { - this[kWebSocket]._socket.resume(); -} - -/** - * The listener of the `Receiver` `'error'` event. - * - * @param {(RangeError|Error)} err The emitted error - * @private - */ -function receiverOnError(err) { - const websocket = this[kWebSocket]; - - websocket._socket.removeListener('data', socketOnData); - - websocket._readyState = WebSocket.CLOSING; - websocket._closeCode = err[kStatusCode]; - websocket.emit('error', err); - websocket._socket.destroy(); -} - -/** - * The listener of the `Receiver` `'finish'` event. - * - * @private - */ -function receiverOnFinish() { - this[kWebSocket].emitClose(); -} - -/** - * The listener of the `Receiver` `'message'` event. - * - * @param {(String|Buffer|ArrayBuffer|Buffer[])} data The message - * @private - */ -function receiverOnMessage(data) { - this[kWebSocket].emit('message', data); -} - -/** - * The listener of the `Receiver` `'ping'` event. - * - * @param {Buffer} data The data included in the ping frame - * @private - */ -function receiverOnPing(data) { - const websocket = this[kWebSocket]; - - websocket.pong(data, !websocket._isServer, NOOP); - websocket.emit('ping', data); -} - -/** - * The listener of the `Receiver` `'pong'` event. - * - * @param {Buffer} data The data included in the pong frame - * @private - */ -function receiverOnPong(data) { - this[kWebSocket].emit('pong', data); -} - -/** - * The listener of the `net.Socket` `'close'` event. - * - * @private - */ -function socketOnClose() { - const websocket = this[kWebSocket]; - - this.removeListener('close', socketOnClose); - this.removeListener('end', socketOnEnd); - - websocket._readyState = WebSocket.CLOSING; - - // - // The close frame might not have been received or the `'end'` event emitted, - // for example, if the socket was destroyed due to an error. Ensure that the - // `receiver` stream is closed after writing any remaining buffered data to - // it. If the readable side of the socket is in flowing mode then there is no - // buffered data as everything has been already written and `readable.read()` - // will return `null`. If instead, the socket is paused, any possible buffered - // data will be read as a single chunk and emitted synchronously in a single - // `'data'` event. - // - websocket._socket.read(); - websocket._receiver.end(); - - this.removeListener('data', socketOnData); - this[kWebSocket] = undefined; - - 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); - } -} - -/** - * The listener of the `net.Socket` `'data'` event. - * - * @param {Buffer} chunk A chunk of data - * @private - */ -function socketOnData(chunk) { - if (!this[kWebSocket]._receiver.write(chunk)) { - this.pause(); - } -} - -/** - * The listener of the `net.Socket` `'end'` event. - * - * @private - */ -function socketOnEnd() { - const websocket = this[kWebSocket]; - - websocket._readyState = WebSocket.CLOSING; - websocket._receiver.end(); - this.end(); -} - -/** - * The listener of the `net.Socket` `'error'` event. - * - * @private - */ -function socketOnError() { - const websocket = this[kWebSocket]; - - this.removeListener('error', socketOnError); - this.on('error', NOOP); - - if (websocket) { - websocket._readyState = WebSocket.CLOSING; - this.destroy(); - } -} - - -/***/ }), - -/***/ 4364: -/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { - - -Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.shuffled = exports.randomBytes = void 0; -var random_1 = __nccwpck_require__(18752); -Object.defineProperty(exports, "randomBytes", ({ enumerable: true, get: function () { return random_1.randomBytes; } })); -var shuffle_1 = __nccwpck_require__(4334); -Object.defineProperty(exports, "shuffled", ({ enumerable: true, get: function () { return shuffle_1.shuffled; } })); -//# sourceMappingURL=index.js.map - -/***/ }), - -/***/ 18752: -/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { - - -Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.randomBytes = void 0; -var crypto_1 = __nccwpck_require__(76982); -var bytes_1 = __nccwpck_require__(69691); -function randomBytes(length) { - return (0, bytes_1.arrayify)((0, crypto_1.randomBytes)(length)); -} -exports.randomBytes = randomBytes; -//# sourceMappingURL=random.js.map - -/***/ }), - -/***/ 4334: -/***/ ((__unused_webpack_module, exports) => { - - -Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.shuffled = void 0; -function shuffled(array) { - array = array.slice(); - for (var i = array.length - 1; i > 0; i--) { - var j = Math.floor(Math.random() * (i + 1)); - var tmp = array[i]; - array[i] = array[j]; - array[j] = tmp; - } - return array; -} -exports.shuffled = shuffled; -//# sourceMappingURL=shuffle.js.map - -/***/ }), - -/***/ 12339: -/***/ ((__unused_webpack_module, exports) => { - - -Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.version = void 0; -exports.version = "rlp/5.7.0"; -//# sourceMappingURL=_version.js.map - -/***/ }), - -/***/ 99502: -/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { - - -Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.decode = exports.encode = void 0; -//See: https://github.com/ethereum/wiki/wiki/RLP -var bytes_1 = __nccwpck_require__(69691); -var logger_1 = __nccwpck_require__(8772); -var _version_1 = __nccwpck_require__(12339); -var logger = new logger_1.Logger(_version_1.version); -function arrayifyInteger(value) { - var result = []; - while (value) { - result.unshift(value & 0xff); - value >>= 8; - } - return result; -} -function unarrayifyInteger(data, offset, length) { - var result = 0; - for (var i = 0; i < length; i++) { - result = (result * 256) + data[offset + i]; - } - return result; -} -function _encode(object) { - if (Array.isArray(object)) { - var payload_1 = []; - object.forEach(function (child) { - payload_1 = payload_1.concat(_encode(child)); - }); - if (payload_1.length <= 55) { - payload_1.unshift(0xc0 + payload_1.length); - return payload_1; - } - var length_1 = arrayifyInteger(payload_1.length); - length_1.unshift(0xf7 + length_1.length); - return length_1.concat(payload_1); - } - if (!(0, bytes_1.isBytesLike)(object)) { - logger.throwArgumentError("RLP object must be BytesLike", "object", object); - } - var data = Array.prototype.slice.call((0, bytes_1.arrayify)(object)); - if (data.length === 1 && data[0] <= 0x7f) { - return data; - } - else if (data.length <= 55) { - data.unshift(0x80 + data.length); - return data; - } - var length = arrayifyInteger(data.length); - length.unshift(0xb7 + length.length); - return length.concat(data); -} -function encode(object) { - return (0, bytes_1.hexlify)(_encode(object)); -} -exports.encode = encode; -function _decodeChildren(data, offset, childOffset, length) { - var result = []; - while (childOffset < offset + 1 + length) { - var decoded = _decode(data, childOffset); - result.push(decoded.result); - childOffset += decoded.consumed; - if (childOffset > offset + 1 + length) { - logger.throwError("child data too short", logger_1.Logger.errors.BUFFER_OVERRUN, {}); - } - } - return { consumed: (1 + length), result: result }; -} -// returns { consumed: number, result: Object } -function _decode(data, offset) { - if (data.length === 0) { - logger.throwError("data too short", logger_1.Logger.errors.BUFFER_OVERRUN, {}); - } - // Array with extra length prefix - if (data[offset] >= 0xf8) { - var lengthLength = data[offset] - 0xf7; - if (offset + 1 + lengthLength > data.length) { - logger.throwError("data short segment too short", logger_1.Logger.errors.BUFFER_OVERRUN, {}); - } - var length_2 = unarrayifyInteger(data, offset + 1, lengthLength); - if (offset + 1 + lengthLength + length_2 > data.length) { - logger.throwError("data long segment too short", logger_1.Logger.errors.BUFFER_OVERRUN, {}); - } - return _decodeChildren(data, offset, offset + 1 + lengthLength, lengthLength + length_2); - } - else if (data[offset] >= 0xc0) { - var length_3 = data[offset] - 0xc0; - if (offset + 1 + length_3 > data.length) { - logger.throwError("data array too short", logger_1.Logger.errors.BUFFER_OVERRUN, {}); - } - return _decodeChildren(data, offset, offset + 1, length_3); - } - else if (data[offset] >= 0xb8) { - var lengthLength = data[offset] - 0xb7; - if (offset + 1 + lengthLength > data.length) { - logger.throwError("data array too short", logger_1.Logger.errors.BUFFER_OVERRUN, {}); - } - var length_4 = unarrayifyInteger(data, offset + 1, lengthLength); - if (offset + 1 + lengthLength + length_4 > data.length) { - logger.throwError("data array too short", logger_1.Logger.errors.BUFFER_OVERRUN, {}); - } - var result = (0, bytes_1.hexlify)(data.slice(offset + 1 + lengthLength, offset + 1 + lengthLength + length_4)); - return { consumed: (1 + lengthLength + length_4), result: result }; - } - else if (data[offset] >= 0x80) { - var length_5 = data[offset] - 0x80; - if (offset + 1 + length_5 > data.length) { - logger.throwError("data too short", logger_1.Logger.errors.BUFFER_OVERRUN, {}); - } - var result = (0, bytes_1.hexlify)(data.slice(offset + 1, offset + 1 + length_5)); - return { consumed: (1 + length_5), result: result }; - } - return { consumed: 1, result: (0, bytes_1.hexlify)(data[offset]) }; -} -function decode(data) { - var bytes = (0, bytes_1.arrayify)(data); - var decoded = _decode(bytes, 0); - if (decoded.consumed !== bytes.length) { - logger.throwArgumentError("invalid rlp data", "data", data); - } - return decoded.result; -} -exports.decode = decode; -//# sourceMappingURL=index.js.map - -/***/ }), - -/***/ 98833: -/***/ ((__unused_webpack_module, exports) => { - - -Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.version = void 0; -exports.version = "sha2/5.7.0"; -//# sourceMappingURL=_version.js.map - -/***/ }), - -/***/ 16892: -/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { - - -Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.SupportedAlgorithm = exports.sha512 = exports.sha256 = exports.ripemd160 = exports.computeHmac = void 0; -var sha2_1 = __nccwpck_require__(80138); -Object.defineProperty(exports, "computeHmac", ({ enumerable: true, get: function () { return sha2_1.computeHmac; } })); -Object.defineProperty(exports, "ripemd160", ({ enumerable: true, get: function () { return sha2_1.ripemd160; } })); -Object.defineProperty(exports, "sha256", ({ enumerable: true, get: function () { return sha2_1.sha256; } })); -Object.defineProperty(exports, "sha512", ({ enumerable: true, get: function () { return sha2_1.sha512; } })); -var types_1 = __nccwpck_require__(40505); -Object.defineProperty(exports, "SupportedAlgorithm", ({ enumerable: true, get: function () { return types_1.SupportedAlgorithm; } })); -//# sourceMappingURL=index.js.map - -/***/ }), - -/***/ 80138: -/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) { - - -var __importDefault = (this && this.__importDefault) || function (mod) { - return (mod && mod.__esModule) ? mod : { "default": mod }; -}; -Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.computeHmac = exports.sha512 = exports.sha256 = exports.ripemd160 = void 0; -var crypto_1 = __nccwpck_require__(76982); -var hash_js_1 = __importDefault(__nccwpck_require__(95632)); -var bytes_1 = __nccwpck_require__(69691); -var types_1 = __nccwpck_require__(40505); -var logger_1 = __nccwpck_require__(8772); -var _version_1 = __nccwpck_require__(98833); -var logger = new logger_1.Logger(_version_1.version); -function ripemd160(data) { - return "0x" + (hash_js_1.default.ripemd160().update((0, bytes_1.arrayify)(data)).digest("hex")); -} -exports.ripemd160 = ripemd160; -function sha256(data) { - return "0x" + (0, crypto_1.createHash)("sha256").update(Buffer.from((0, bytes_1.arrayify)(data))).digest("hex"); -} -exports.sha256 = sha256; -function sha512(data) { - return "0x" + (0, crypto_1.createHash)("sha512").update(Buffer.from((0, bytes_1.arrayify)(data))).digest("hex"); -} -exports.sha512 = sha512; -function computeHmac(algorithm, key, data) { - /* istanbul ignore if */ - if (!types_1.SupportedAlgorithm[algorithm]) { - logger.throwError("unsupported algorithm - " + algorithm, logger_1.Logger.errors.UNSUPPORTED_OPERATION, { - operation: "computeHmac", - algorithm: algorithm - }); - } - return "0x" + (0, crypto_1.createHmac)(algorithm, Buffer.from((0, bytes_1.arrayify)(key))).update(Buffer.from((0, bytes_1.arrayify)(data))).digest("hex"); -} -exports.computeHmac = computeHmac; -//# sourceMappingURL=sha2.js.map - -/***/ }), - -/***/ 40505: -/***/ ((__unused_webpack_module, exports) => { - - -Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.SupportedAlgorithm = void 0; -var SupportedAlgorithm; -(function (SupportedAlgorithm) { - SupportedAlgorithm["sha256"] = "sha256"; - SupportedAlgorithm["sha512"] = "sha512"; -})(SupportedAlgorithm = exports.SupportedAlgorithm || (exports.SupportedAlgorithm = {})); -; -//# sourceMappingURL=types.js.map - -/***/ }), - -/***/ 23474: -/***/ ((__unused_webpack_module, exports) => { - - -Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.version = void 0; -exports.version = "signing-key/5.7.0"; -//# sourceMappingURL=_version.js.map - -/***/ }), - -/***/ 98727: -/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) { - - -var __importDefault = (this && this.__importDefault) || function (mod) { - return (mod && mod.__esModule) ? mod : { "default": mod }; -}; -Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.EC = void 0; -var elliptic_1 = __importDefault(__nccwpck_require__(4665)); -var EC = elliptic_1.default.ec; -exports.EC = EC; -//# sourceMappingURL=elliptic.js.map - -/***/ }), - -/***/ 8681: -/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { - - -Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.computePublicKey = exports.recoverPublicKey = exports.SigningKey = void 0; -var elliptic_1 = __nccwpck_require__(98727); -var bytes_1 = __nccwpck_require__(69691); -var properties_1 = __nccwpck_require__(54145); -var logger_1 = __nccwpck_require__(8772); -var _version_1 = __nccwpck_require__(23474); -var logger = new logger_1.Logger(_version_1.version); -var _curve = null; -function getCurve() { - if (!_curve) { - _curve = new elliptic_1.EC("secp256k1"); - } - return _curve; -} -var SigningKey = /** @class */ (function () { - function SigningKey(privateKey) { - (0, properties_1.defineReadOnly)(this, "curve", "secp256k1"); - (0, properties_1.defineReadOnly)(this, "privateKey", (0, bytes_1.hexlify)(privateKey)); - if ((0, bytes_1.hexDataLength)(this.privateKey) !== 32) { - logger.throwArgumentError("invalid private key", "privateKey", "[[ REDACTED ]]"); - } - var keyPair = getCurve().keyFromPrivate((0, bytes_1.arrayify)(this.privateKey)); - (0, properties_1.defineReadOnly)(this, "publicKey", "0x" + keyPair.getPublic(false, "hex")); - (0, properties_1.defineReadOnly)(this, "compressedPublicKey", "0x" + keyPair.getPublic(true, "hex")); - (0, properties_1.defineReadOnly)(this, "_isSigningKey", true); - } - SigningKey.prototype._addPoint = function (other) { - var p0 = getCurve().keyFromPublic((0, bytes_1.arrayify)(this.publicKey)); - var p1 = getCurve().keyFromPublic((0, bytes_1.arrayify)(other)); - return "0x" + p0.pub.add(p1.pub).encodeCompressed("hex"); - }; - SigningKey.prototype.signDigest = function (digest) { - var keyPair = getCurve().keyFromPrivate((0, bytes_1.arrayify)(this.privateKey)); - var digestBytes = (0, bytes_1.arrayify)(digest); - if (digestBytes.length !== 32) { - logger.throwArgumentError("bad digest length", "digest", digest); - } - var signature = keyPair.sign(digestBytes, { canonical: true }); - return (0, bytes_1.splitSignature)({ - recoveryParam: signature.recoveryParam, - r: (0, bytes_1.hexZeroPad)("0x" + signature.r.toString(16), 32), - s: (0, bytes_1.hexZeroPad)("0x" + signature.s.toString(16), 32), - }); - }; - SigningKey.prototype.computeSharedSecret = function (otherKey) { - var keyPair = getCurve().keyFromPrivate((0, bytes_1.arrayify)(this.privateKey)); - var otherKeyPair = getCurve().keyFromPublic((0, bytes_1.arrayify)(computePublicKey(otherKey))); - return (0, bytes_1.hexZeroPad)("0x" + keyPair.derive(otherKeyPair.getPublic()).toString(16), 32); - }; - SigningKey.isSigningKey = function (value) { - return !!(value && value._isSigningKey); - }; - return SigningKey; -}()); -exports.SigningKey = SigningKey; -function recoverPublicKey(digest, signature) { - var sig = (0, bytes_1.splitSignature)(signature); - var rs = { r: (0, bytes_1.arrayify)(sig.r), s: (0, bytes_1.arrayify)(sig.s) }; - return "0x" + getCurve().recoverPubKey((0, bytes_1.arrayify)(digest), rs, sig.recoveryParam).encode("hex", false); -} -exports.recoverPublicKey = recoverPublicKey; -function computePublicKey(key, compressed) { - var bytes = (0, bytes_1.arrayify)(key); - if (bytes.length === 32) { - var signingKey = new SigningKey(bytes); - if (compressed) { - return "0x" + getCurve().keyFromPrivate(bytes).getPublic(true, "hex"); - } - return signingKey.publicKey; - } - else if (bytes.length === 33) { - if (compressed) { - return (0, bytes_1.hexlify)(bytes); - } - return "0x" + getCurve().keyFromPublic(bytes).getPublic(false, "hex"); - } - else if (bytes.length === 65) { - if (!compressed) { - return (0, bytes_1.hexlify)(bytes); - } - return "0x" + getCurve().keyFromPublic(bytes).getPublic(true, "hex"); - } - return logger.throwArgumentError("invalid public or private key", "key", "[REDACTED]"); -} -exports.computePublicKey = computePublicKey; -//# sourceMappingURL=index.js.map - -/***/ }), - -/***/ 76750: -/***/ ((__unused_webpack_module, exports) => { - - -Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.version = void 0; -exports.version = "solidity/5.7.0"; -//# sourceMappingURL=_version.js.map - -/***/ }), - -/***/ 48717: -/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { - - -Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.sha256 = exports.keccak256 = exports.pack = void 0; -var bignumber_1 = __nccwpck_require__(14763); -var bytes_1 = __nccwpck_require__(69691); -var keccak256_1 = __nccwpck_require__(15815); -var sha2_1 = __nccwpck_require__(16892); -var strings_1 = __nccwpck_require__(95578); -var regexBytes = new RegExp("^bytes([0-9]+)$"); -var regexNumber = new RegExp("^(u?int)([0-9]*)$"); -var regexArray = new RegExp("^(.*)\\[([0-9]*)\\]$"); -var Zeros = "0000000000000000000000000000000000000000000000000000000000000000"; -var logger_1 = __nccwpck_require__(8772); -var _version_1 = __nccwpck_require__(76750); -var logger = new logger_1.Logger(_version_1.version); -function _pack(type, value, isArray) { - switch (type) { - case "address": - if (isArray) { - return (0, bytes_1.zeroPad)(value, 32); - } - return (0, bytes_1.arrayify)(value); - case "string": - return (0, strings_1.toUtf8Bytes)(value); - case "bytes": - return (0, bytes_1.arrayify)(value); - case "bool": - value = (value ? "0x01" : "0x00"); - if (isArray) { - return (0, bytes_1.zeroPad)(value, 32); - } - return (0, bytes_1.arrayify)(value); - } - var match = type.match(regexNumber); - if (match) { - //let signed = (match[1] === "int") - var size = parseInt(match[2] || "256"); - if ((match[2] && String(size) !== match[2]) || (size % 8 !== 0) || size === 0 || size > 256) { - logger.throwArgumentError("invalid number type", "type", type); - } - if (isArray) { - size = 256; - } - value = bignumber_1.BigNumber.from(value).toTwos(size); - return (0, bytes_1.zeroPad)(value, size / 8); - } - match = type.match(regexBytes); - if (match) { - var size = parseInt(match[1]); - if (String(size) !== match[1] || size === 0 || size > 32) { - logger.throwArgumentError("invalid bytes type", "type", type); - } - if ((0, bytes_1.arrayify)(value).byteLength !== size) { - logger.throwArgumentError("invalid value for " + type, "value", value); - } - if (isArray) { - return (0, bytes_1.arrayify)((value + Zeros).substring(0, 66)); - } - return value; - } - match = type.match(regexArray); - if (match && Array.isArray(value)) { - var baseType_1 = match[1]; - var count = parseInt(match[2] || String(value.length)); - if (count != value.length) { - logger.throwArgumentError("invalid array length for " + type, "value", value); - } - var result_1 = []; - value.forEach(function (value) { - result_1.push(_pack(baseType_1, value, true)); - }); - return (0, bytes_1.concat)(result_1); - } - return logger.throwArgumentError("invalid type", "type", type); -} -// @TODO: Array Enum -function pack(types, values) { - if (types.length != values.length) { - logger.throwArgumentError("wrong number of values; expected ${ types.length }", "values", values); - } - var tight = []; - types.forEach(function (type, index) { - tight.push(_pack(type, values[index])); - }); - return (0, bytes_1.hexlify)((0, bytes_1.concat)(tight)); -} -exports.pack = pack; -function keccak256(types, values) { - return (0, keccak256_1.keccak256)(pack(types, values)); -} -exports.keccak256 = keccak256; -function sha256(types, values) { - return (0, sha2_1.sha256)(pack(types, values)); -} -exports.sha256 = sha256; -//# sourceMappingURL=index.js.map - -/***/ }), - -/***/ 96423: -/***/ ((__unused_webpack_module, exports) => { - - -Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.version = void 0; -exports.version = "strings/5.7.0"; -//# sourceMappingURL=_version.js.map - -/***/ }), - -/***/ 68180: -/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { - - -Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.parseBytes32String = exports.formatBytes32String = void 0; -var constants_1 = __nccwpck_require__(46561); -var bytes_1 = __nccwpck_require__(69691); -var utf8_1 = __nccwpck_require__(5347); -function formatBytes32String(text) { - // Get the bytes - var bytes = (0, utf8_1.toUtf8Bytes)(text); - // Check we have room for null-termination - if (bytes.length > 31) { - throw new Error("bytes32 string must be less than 32 bytes"); - } - // Zero-pad (implicitly null-terminates) - return (0, bytes_1.hexlify)((0, bytes_1.concat)([bytes, constants_1.HashZero]).slice(0, 32)); -} -exports.formatBytes32String = formatBytes32String; -function parseBytes32String(bytes) { - var data = (0, bytes_1.arrayify)(bytes); - // Must be 32 bytes with a null-termination - if (data.length !== 32) { - throw new Error("invalid bytes32 - not 32 bytes long"); - } - if (data[31] !== 0) { - throw new Error("invalid bytes32 string - no null terminator"); - } - // Find the null termination - var length = 31; - while (data[length - 1] === 0) { - length--; - } - // Determine the string value - return (0, utf8_1.toUtf8String)(data.slice(0, length)); -} -exports.parseBytes32String = parseBytes32String; -//# sourceMappingURL=bytes32.js.map - -/***/ }), - -/***/ 68928: -/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { - - -Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.nameprep = exports._nameprepTableC = exports._nameprepTableB2 = exports._nameprepTableA1 = void 0; -var utf8_1 = __nccwpck_require__(5347); -function bytes2(data) { - if ((data.length % 4) !== 0) { - throw new Error("bad data"); - } - var result = []; - for (var i = 0; i < data.length; i += 4) { - result.push(parseInt(data.substring(i, i + 4), 16)); - } - return result; -} -function createTable(data, func) { - if (!func) { - func = function (value) { return [parseInt(value, 16)]; }; - } - var lo = 0; - var result = {}; - data.split(",").forEach(function (pair) { - var comps = pair.split(":"); - lo += parseInt(comps[0], 16); - result[lo] = func(comps[1]); - }); - return result; -} -function createRangeTable(data) { - var hi = 0; - return data.split(",").map(function (v) { - var comps = v.split("-"); - if (comps.length === 1) { - comps[1] = "0"; - } - else if (comps[1] === "") { - comps[1] = "1"; - } - var lo = hi + parseInt(comps[0], 16); - hi = parseInt(comps[1], 16); - return { l: lo, h: hi }; - }); -} -function matchMap(value, ranges) { - var lo = 0; - for (var i = 0; i < ranges.length; i++) { - var range = ranges[i]; - lo += range.l; - if (value >= lo && value <= lo + range.h && ((value - lo) % (range.d || 1)) === 0) { - if (range.e && range.e.indexOf(value - lo) !== -1) { - continue; - } - return range; - } - } - return null; -} -var Table_A_1_ranges = createRangeTable("221,13-1b,5f-,40-10,51-f,11-3,3-3,2-2,2-4,8,2,15,2d,28-8,88,48,27-,3-5,11-20,27-,8,28,3-5,12,18,b-a,1c-4,6-16,2-d,2-2,2,1b-4,17-9,8f-,10,f,1f-2,1c-34,33-14e,4,36-,13-,6-2,1a-f,4,9-,3-,17,8,2-2,5-,2,8-,3-,4-8,2-3,3,6-,16-6,2-,7-3,3-,17,8,3,3,3-,2,6-3,3-,4-a,5,2-6,10-b,4,8,2,4,17,8,3,6-,b,4,4-,2-e,2-4,b-10,4,9-,3-,17,8,3-,5-,9-2,3-,4-7,3-3,3,4-3,c-10,3,7-2,4,5-2,3,2,3-2,3-2,4-2,9,4-3,6-2,4,5-8,2-e,d-d,4,9,4,18,b,6-3,8,4,5-6,3-8,3-3,b-11,3,9,4,18,b,6-3,8,4,5-6,3-6,2,3-3,b-11,3,9,4,18,11-3,7-,4,5-8,2-7,3-3,b-11,3,13-2,19,a,2-,8-2,2-3,7,2,9-11,4-b,3b-3,1e-24,3,2-,3,2-,2-5,5,8,4,2,2-,3,e,4-,6,2,7-,b-,3-21,49,23-5,1c-3,9,25,10-,2-2f,23,6,3,8-2,5-5,1b-45,27-9,2a-,2-3,5b-4,45-4,53-5,8,40,2,5-,8,2,5-,28,2,5-,20,2,5-,8,2,5-,8,8,18,20,2,5-,8,28,14-5,1d-22,56-b,277-8,1e-2,52-e,e,8-a,18-8,15-b,e,4,3-b,5e-2,b-15,10,b-5,59-7,2b-555,9d-3,5b-5,17-,7-,27-,7-,9,2,2,2,20-,36,10,f-,7,14-,4,a,54-3,2-6,6-5,9-,1c-10,13-1d,1c-14,3c-,10-6,32-b,240-30,28-18,c-14,a0,115-,3,66-,b-76,5,5-,1d,24,2,5-2,2,8-,35-2,19,f-10,1d-3,311-37f,1b,5a-b,d7-19,d-3,41,57-,68-4,29-3,5f,29-37,2e-2,25-c,2c-2,4e-3,30,78-3,64-,20,19b7-49,51a7-59,48e-2,38-738,2ba5-5b,222f-,3c-94,8-b,6-4,1b,6,2,3,3,6d-20,16e-f,41-,37-7,2e-2,11-f,5-b,18-,b,14,5-3,6,88-,2,bf-2,7-,7-,7-,4-2,8,8-9,8-2ff,20,5-b,1c-b4,27-,27-cbb1,f7-9,28-2,b5-221,56,48,3-,2-,3-,5,d,2,5,3,42,5-,9,8,1d,5,6,2-2,8,153-3,123-3,33-27fd,a6da-5128,21f-5df,3-fffd,3-fffd,3-fffd,3-fffd,3-fffd,3-fffd,3-fffd,3-fffd,3-fffd,3-fffd,3-fffd,3,2-1d,61-ff7d"); -// @TODO: Make this relative... -var Table_B_1_flags = "ad,34f,1806,180b,180c,180d,200b,200c,200d,2060,feff".split(",").map(function (v) { return parseInt(v, 16); }); -var Table_B_2_ranges = [ - { h: 25, s: 32, l: 65 }, - { h: 30, s: 32, e: [23], l: 127 }, - { h: 54, s: 1, e: [48], l: 64, d: 2 }, - { h: 14, s: 1, l: 57, d: 2 }, - { h: 44, s: 1, l: 17, d: 2 }, - { h: 10, s: 1, e: [2, 6, 8], l: 61, d: 2 }, - { h: 16, s: 1, l: 68, d: 2 }, - { h: 84, s: 1, e: [18, 24, 66], l: 19, d: 2 }, - { h: 26, s: 32, e: [17], l: 435 }, - { h: 22, s: 1, l: 71, d: 2 }, - { h: 15, s: 80, l: 40 }, - { h: 31, s: 32, l: 16 }, - { h: 32, s: 1, l: 80, d: 2 }, - { h: 52, s: 1, l: 42, d: 2 }, - { h: 12, s: 1, l: 55, d: 2 }, - { h: 40, s: 1, e: [38], l: 15, d: 2 }, - { h: 14, s: 1, l: 48, d: 2 }, - { h: 37, s: 48, l: 49 }, - { h: 148, s: 1, l: 6351, d: 2 }, - { h: 88, s: 1, l: 160, d: 2 }, - { h: 15, s: 16, l: 704 }, - { h: 25, s: 26, l: 854 }, - { h: 25, s: 32, l: 55915 }, - { h: 37, s: 40, l: 1247 }, - { h: 25, s: -119711, l: 53248 }, - { h: 25, s: -119763, l: 52 }, - { h: 25, s: -119815, l: 52 }, - { h: 25, s: -119867, e: [1, 4, 5, 7, 8, 11, 12, 17], l: 52 }, - { h: 25, s: -119919, l: 52 }, - { h: 24, s: -119971, e: [2, 7, 8, 17], l: 52 }, - { h: 24, s: -120023, e: [2, 7, 13, 15, 16, 17], l: 52 }, - { h: 25, s: -120075, l: 52 }, - { h: 25, s: -120127, l: 52 }, - { h: 25, s: -120179, l: 52 }, - { h: 25, s: -120231, l: 52 }, - { h: 25, s: -120283, l: 52 }, - { h: 25, s: -120335, l: 52 }, - { h: 24, s: -119543, e: [17], l: 56 }, - { h: 24, s: -119601, e: [17], l: 58 }, - { h: 24, s: -119659, e: [17], l: 58 }, - { h: 24, s: -119717, e: [17], l: 58 }, - { h: 24, s: -119775, e: [17], l: 58 } -]; -var Table_B_2_lut_abs = createTable("b5:3bc,c3:ff,7:73,2:253,5:254,3:256,1:257,5:259,1:25b,3:260,1:263,2:269,1:268,5:26f,1:272,2:275,7:280,3:283,5:288,3:28a,1:28b,5:292,3f:195,1:1bf,29:19e,125:3b9,8b:3b2,1:3b8,1:3c5,3:3c6,1:3c0,1a:3ba,1:3c1,1:3c3,2:3b8,1:3b5,1bc9:3b9,1c:1f76,1:1f77,f:1f7a,1:1f7b,d:1f78,1:1f79,1:1f7c,1:1f7d,107:63,5:25b,4:68,1:68,1:68,3:69,1:69,1:6c,3:6e,4:70,1:71,1:72,1:72,1:72,7:7a,2:3c9,2:7a,2:6b,1:e5,1:62,1:63,3:65,1:66,2:6d,b:3b3,1:3c0,6:64,1b574:3b8,1a:3c3,20:3b8,1a:3c3,20:3b8,1a:3c3,20:3b8,1a:3c3,20:3b8,1a:3c3"); -var Table_B_2_lut_rel = createTable("179:1,2:1,2:1,5:1,2:1,a:4f,a:1,8:1,2:1,2:1,3:1,5:1,3:1,4:1,2:1,3:1,4:1,8:2,1:1,2:2,1:1,2:2,27:2,195:26,2:25,1:25,1:25,2:40,2:3f,1:3f,33:1,11:-6,1:-9,1ac7:-3a,6d:-8,1:-8,1:-8,1:-8,1:-8,1:-8,1:-8,1:-8,9:-8,1:-8,1:-8,1:-8,1:-8,1:-8,b:-8,1:-8,1:-8,1:-8,1:-8,1:-8,1:-8,1:-8,9:-8,1:-8,1:-8,1:-8,1:-8,1:-8,1:-8,1:-8,9:-8,1:-8,1:-8,1:-8,1:-8,1:-8,c:-8,2:-8,2:-8,2:-8,9:-8,1:-8,1:-8,1:-8,1:-8,1:-8,1:-8,1:-8,49:-8,1:-8,1:-4a,1:-4a,d:-56,1:-56,1:-56,1:-56,d:-8,1:-8,f:-8,1:-8,3:-7"); -var Table_B_2_complex = createTable("df:00730073,51:00690307,19:02BC006E,a7:006A030C,18a:002003B9,16:03B903080301,20:03C503080301,1d7:05650582,190f:00680331,1:00740308,1:0077030A,1:0079030A,1:006102BE,b6:03C50313,2:03C503130300,2:03C503130301,2:03C503130342,2a:1F0003B9,1:1F0103B9,1:1F0203B9,1:1F0303B9,1:1F0403B9,1:1F0503B9,1:1F0603B9,1:1F0703B9,1:1F0003B9,1:1F0103B9,1:1F0203B9,1:1F0303B9,1:1F0403B9,1:1F0503B9,1:1F0603B9,1:1F0703B9,1:1F2003B9,1:1F2103B9,1:1F2203B9,1:1F2303B9,1:1F2403B9,1:1F2503B9,1:1F2603B9,1:1F2703B9,1:1F2003B9,1:1F2103B9,1:1F2203B9,1:1F2303B9,1:1F2403B9,1:1F2503B9,1:1F2603B9,1:1F2703B9,1:1F6003B9,1:1F6103B9,1:1F6203B9,1:1F6303B9,1:1F6403B9,1:1F6503B9,1:1F6603B9,1:1F6703B9,1:1F6003B9,1:1F6103B9,1:1F6203B9,1:1F6303B9,1:1F6403B9,1:1F6503B9,1:1F6603B9,1:1F6703B9,3:1F7003B9,1:03B103B9,1:03AC03B9,2:03B10342,1:03B1034203B9,5:03B103B9,6:1F7403B9,1:03B703B9,1:03AE03B9,2:03B70342,1:03B7034203B9,5:03B703B9,6:03B903080300,1:03B903080301,3:03B90342,1:03B903080342,b:03C503080300,1:03C503080301,1:03C10313,2:03C50342,1:03C503080342,b:1F7C03B9,1:03C903B9,1:03CE03B9,2:03C90342,1:03C9034203B9,5:03C903B9,ac:00720073,5b:00B00063,6:00B00066,d:006E006F,a:0073006D,1:00740065006C,1:0074006D,124f:006800700061,2:00610075,2:006F0076,b:00700061,1:006E0061,1:03BC0061,1:006D0061,1:006B0061,1:006B0062,1:006D0062,1:00670062,3:00700066,1:006E0066,1:03BC0066,4:0068007A,1:006B0068007A,1:006D0068007A,1:00670068007A,1:00740068007A,15:00700061,1:006B00700061,1:006D00700061,1:006700700061,8:00700076,1:006E0076,1:03BC0076,1:006D0076,1:006B0076,1:006D0076,1:00700077,1:006E0077,1:03BC0077,1:006D0077,1:006B0077,1:006D0077,1:006B03C9,1:006D03C9,2:00620071,3:00632215006B0067,1:0063006F002E,1:00640062,1:00670079,2:00680070,2:006B006B,1:006B006D,9:00700068,2:00700070006D,1:00700072,2:00730076,1:00770062,c723:00660066,1:00660069,1:0066006C,1:006600660069,1:00660066006C,1:00730074,1:00730074,d:05740576,1:05740565,1:0574056B,1:057E0576,1:0574056D", bytes2); -var Table_C_ranges = createRangeTable("80-20,2a0-,39c,32,f71,18e,7f2-f,19-7,30-4,7-5,f81-b,5,a800-20ff,4d1-1f,110,fa-6,d174-7,2e84-,ffff-,ffff-,ffff-,ffff-,ffff-,ffff-,ffff-,ffff-,ffff-,ffff-,ffff-,ffff-,2,1f-5f,ff7f-20001"); -function flatten(values) { - return values.reduce(function (accum, value) { - value.forEach(function (value) { accum.push(value); }); - return accum; - }, []); -} -function _nameprepTableA1(codepoint) { - return !!matchMap(codepoint, Table_A_1_ranges); -} -exports._nameprepTableA1 = _nameprepTableA1; -function _nameprepTableB2(codepoint) { - var range = matchMap(codepoint, Table_B_2_ranges); - if (range) { - return [codepoint + range.s]; - } - var codes = Table_B_2_lut_abs[codepoint]; - if (codes) { - return codes; - } - var shift = Table_B_2_lut_rel[codepoint]; - if (shift) { - return [codepoint + shift[0]]; - } - var complex = Table_B_2_complex[codepoint]; - if (complex) { - return complex; - } - return null; -} -exports._nameprepTableB2 = _nameprepTableB2; -function _nameprepTableC(codepoint) { - return !!matchMap(codepoint, Table_C_ranges); -} -exports._nameprepTableC = _nameprepTableC; -function nameprep(value) { - // This allows platforms with incomplete normalize to bypass - // it for very basic names which the built-in toLowerCase - // will certainly handle correctly - if (value.match(/^[a-z0-9-]*$/i) && value.length <= 59) { - return value.toLowerCase(); - } - // Get the code points (keeping the current normalization) - var codes = (0, utf8_1.toUtf8CodePoints)(value); - codes = flatten(codes.map(function (code) { - // Substitute Table B.1 (Maps to Nothing) - if (Table_B_1_flags.indexOf(code) >= 0) { - return []; - } - if (code >= 0xfe00 && code <= 0xfe0f) { - return []; - } - // Substitute Table B.2 (Case Folding) - var codesTableB2 = _nameprepTableB2(code); - if (codesTableB2) { - return codesTableB2; - } - // No Substitution - return [code]; - })); - // Normalize using form KC - codes = (0, utf8_1.toUtf8CodePoints)((0, utf8_1._toUtf8String)(codes), utf8_1.UnicodeNormalizationForm.NFKC); - // Prohibit Tables C.1.2, C.2.2, C.3, C.4, C.5, C.6, C.7, C.8, C.9 - codes.forEach(function (code) { - if (_nameprepTableC(code)) { - throw new Error("STRINGPREP_CONTAINS_PROHIBITED"); - } - }); - // Prohibit Unassigned Code Points (Table A.1) - codes.forEach(function (code) { - if (_nameprepTableA1(code)) { - throw new Error("STRINGPREP_CONTAINS_UNASSIGNED"); - } - }); - // IDNA extras - var name = (0, utf8_1._toUtf8String)(codes); - // IDNA: 4.2.3.1 - if (name.substring(0, 1) === "-" || name.substring(2, 4) === "--" || name.substring(name.length - 1) === "-") { - throw new Error("invalid hyphen"); - } - return name; -} -exports.nameprep = nameprep; -//# sourceMappingURL=idna.js.map - -/***/ }), - -/***/ 95578: -/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { - - -Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.nameprep = exports.parseBytes32String = exports.formatBytes32String = exports.UnicodeNormalizationForm = exports.Utf8ErrorReason = exports.Utf8ErrorFuncs = exports.toUtf8String = exports.toUtf8CodePoints = exports.toUtf8Bytes = exports._toEscapedUtf8String = void 0; -var bytes32_1 = __nccwpck_require__(68180); -Object.defineProperty(exports, "formatBytes32String", ({ enumerable: true, get: function () { return bytes32_1.formatBytes32String; } })); -Object.defineProperty(exports, "parseBytes32String", ({ enumerable: true, get: function () { return bytes32_1.parseBytes32String; } })); -var idna_1 = __nccwpck_require__(68928); -Object.defineProperty(exports, "nameprep", ({ enumerable: true, get: function () { return idna_1.nameprep; } })); -var utf8_1 = __nccwpck_require__(5347); -Object.defineProperty(exports, "_toEscapedUtf8String", ({ enumerable: true, get: function () { return utf8_1._toEscapedUtf8String; } })); -Object.defineProperty(exports, "toUtf8Bytes", ({ enumerable: true, get: function () { return utf8_1.toUtf8Bytes; } })); -Object.defineProperty(exports, "toUtf8CodePoints", ({ enumerable: true, get: function () { return utf8_1.toUtf8CodePoints; } })); -Object.defineProperty(exports, "toUtf8String", ({ enumerable: true, get: function () { return utf8_1.toUtf8String; } })); -Object.defineProperty(exports, "UnicodeNormalizationForm", ({ enumerable: true, get: function () { return utf8_1.UnicodeNormalizationForm; } })); -Object.defineProperty(exports, "Utf8ErrorFuncs", ({ enumerable: true, get: function () { return utf8_1.Utf8ErrorFuncs; } })); -Object.defineProperty(exports, "Utf8ErrorReason", ({ enumerable: true, get: function () { return utf8_1.Utf8ErrorReason; } })); -//# sourceMappingURL=index.js.map - -/***/ }), - -/***/ 5347: -/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { - - -Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.toUtf8CodePoints = exports.toUtf8String = exports._toUtf8String = exports._toEscapedUtf8String = exports.toUtf8Bytes = exports.Utf8ErrorFuncs = exports.Utf8ErrorReason = exports.UnicodeNormalizationForm = void 0; -var bytes_1 = __nccwpck_require__(69691); -var logger_1 = __nccwpck_require__(8772); -var _version_1 = __nccwpck_require__(96423); -var logger = new logger_1.Logger(_version_1.version); -/////////////////////////////// -var UnicodeNormalizationForm; -(function (UnicodeNormalizationForm) { - UnicodeNormalizationForm["current"] = ""; - UnicodeNormalizationForm["NFC"] = "NFC"; - UnicodeNormalizationForm["NFD"] = "NFD"; - UnicodeNormalizationForm["NFKC"] = "NFKC"; - UnicodeNormalizationForm["NFKD"] = "NFKD"; -})(UnicodeNormalizationForm = exports.UnicodeNormalizationForm || (exports.UnicodeNormalizationForm = {})); -; -var Utf8ErrorReason; -(function (Utf8ErrorReason) { - // A continuation byte was present where there was nothing to continue - // - offset = the index the codepoint began in - Utf8ErrorReason["UNEXPECTED_CONTINUE"] = "unexpected continuation byte"; - // An invalid (non-continuation) byte to start a UTF-8 codepoint was found - // - offset = the index the codepoint began in - Utf8ErrorReason["BAD_PREFIX"] = "bad codepoint prefix"; - // The string is too short to process the expected codepoint - // - offset = the index the codepoint began in - Utf8ErrorReason["OVERRUN"] = "string overrun"; - // A missing continuation byte was expected but not found - // - offset = the index the continuation byte was expected at - Utf8ErrorReason["MISSING_CONTINUE"] = "missing continuation byte"; - // The computed code point is outside the range for UTF-8 - // - offset = start of this codepoint - // - badCodepoint = the computed codepoint; outside the UTF-8 range - Utf8ErrorReason["OUT_OF_RANGE"] = "out of UTF-8 range"; - // UTF-8 strings may not contain UTF-16 surrogate pairs - // - offset = start of this codepoint - // - badCodepoint = the computed codepoint; inside the UTF-16 surrogate range - Utf8ErrorReason["UTF16_SURROGATE"] = "UTF-16 surrogate"; - // The string is an overlong representation - // - offset = start of this codepoint - // - badCodepoint = the computed codepoint; already bounds checked - Utf8ErrorReason["OVERLONG"] = "overlong representation"; -})(Utf8ErrorReason = exports.Utf8ErrorReason || (exports.Utf8ErrorReason = {})); -; -function errorFunc(reason, offset, bytes, output, badCodepoint) { - return logger.throwArgumentError("invalid codepoint at offset " + offset + "; " + reason, "bytes", bytes); -} -function ignoreFunc(reason, offset, bytes, output, badCodepoint) { - // If there is an invalid prefix (including stray continuation), skip any additional continuation bytes - if (reason === Utf8ErrorReason.BAD_PREFIX || reason === Utf8ErrorReason.UNEXPECTED_CONTINUE) { - var i = 0; - for (var o = offset + 1; o < bytes.length; o++) { - if (bytes[o] >> 6 !== 0x02) { - break; - } - i++; - } - return i; - } - // This byte runs us past the end of the string, so just jump to the end - // (but the first byte was read already read and therefore skipped) - if (reason === Utf8ErrorReason.OVERRUN) { - return bytes.length - offset - 1; - } - // Nothing to skip - return 0; -} -function replaceFunc(reason, offset, bytes, output, badCodepoint) { - // Overlong representations are otherwise "valid" code points; just non-deistingtished - if (reason === Utf8ErrorReason.OVERLONG) { - output.push(badCodepoint); - return 0; - } - // Put the replacement character into the output - output.push(0xfffd); - // Otherwise, process as if ignoring errors - return ignoreFunc(reason, offset, bytes, output, badCodepoint); -} -// Common error handing strategies -exports.Utf8ErrorFuncs = Object.freeze({ - error: errorFunc, - ignore: ignoreFunc, - replace: replaceFunc -}); -// http://stackoverflow.com/questions/13356493/decode-utf-8-with-javascript#13691499 -function getUtf8CodePoints(bytes, onError) { - if (onError == null) { - onError = exports.Utf8ErrorFuncs.error; - } - bytes = (0, bytes_1.arrayify)(bytes); - var result = []; - var i = 0; - // Invalid bytes are ignored - while (i < bytes.length) { - var c = bytes[i++]; - // 0xxx xxxx - if (c >> 7 === 0) { - result.push(c); - continue; - } - // Multibyte; how many bytes left for this character? - var extraLength = null; - var overlongMask = null; - // 110x xxxx 10xx xxxx - if ((c & 0xe0) === 0xc0) { - extraLength = 1; - overlongMask = 0x7f; - // 1110 xxxx 10xx xxxx 10xx xxxx - } - else if ((c & 0xf0) === 0xe0) { - extraLength = 2; - overlongMask = 0x7ff; - // 1111 0xxx 10xx xxxx 10xx xxxx 10xx xxxx - } - else if ((c & 0xf8) === 0xf0) { - extraLength = 3; - overlongMask = 0xffff; - } - else { - if ((c & 0xc0) === 0x80) { - i += onError(Utf8ErrorReason.UNEXPECTED_CONTINUE, i - 1, bytes, result); - } - else { - i += onError(Utf8ErrorReason.BAD_PREFIX, i - 1, bytes, result); - } - continue; - } - // Do we have enough bytes in our data? - if (i - 1 + extraLength >= bytes.length) { - i += onError(Utf8ErrorReason.OVERRUN, i - 1, bytes, result); - continue; - } - // Remove the length prefix from the char - var res = c & ((1 << (8 - extraLength - 1)) - 1); - for (var j = 0; j < extraLength; j++) { - var nextChar = bytes[i]; - // Invalid continuation byte - if ((nextChar & 0xc0) != 0x80) { - i += onError(Utf8ErrorReason.MISSING_CONTINUE, i, bytes, result); - res = null; - break; - } - ; - res = (res << 6) | (nextChar & 0x3f); - i++; - } - // See above loop for invalid continuation byte - if (res === null) { - continue; - } - // Maximum code point - if (res > 0x10ffff) { - i += onError(Utf8ErrorReason.OUT_OF_RANGE, i - 1 - extraLength, bytes, result, res); - continue; - } - // Reserved for UTF-16 surrogate halves - if (res >= 0xd800 && res <= 0xdfff) { - i += onError(Utf8ErrorReason.UTF16_SURROGATE, i - 1 - extraLength, bytes, result, res); - continue; - } - // Check for overlong sequences (more bytes than needed) - if (res <= overlongMask) { - i += onError(Utf8ErrorReason.OVERLONG, i - 1 - extraLength, bytes, result, res); - continue; - } - result.push(res); - } - return result; -} -// http://stackoverflow.com/questions/18729405/how-to-convert-utf8-string-to-byte-array -function toUtf8Bytes(str, form) { - if (form === void 0) { form = UnicodeNormalizationForm.current; } - if (form != UnicodeNormalizationForm.current) { - logger.checkNormalize(); - str = str.normalize(form); - } - var result = []; - for (var i = 0; i < str.length; i++) { - var c = str.charCodeAt(i); - if (c < 0x80) { - result.push(c); - } - else if (c < 0x800) { - result.push((c >> 6) | 0xc0); - result.push((c & 0x3f) | 0x80); - } - else if ((c & 0xfc00) == 0xd800) { - i++; - var c2 = str.charCodeAt(i); - if (i >= str.length || (c2 & 0xfc00) !== 0xdc00) { - throw new Error("invalid utf-8 string"); - } - // Surrogate Pair - var pair = 0x10000 + ((c & 0x03ff) << 10) + (c2 & 0x03ff); - result.push((pair >> 18) | 0xf0); - result.push(((pair >> 12) & 0x3f) | 0x80); - result.push(((pair >> 6) & 0x3f) | 0x80); - result.push((pair & 0x3f) | 0x80); - } - else { - result.push((c >> 12) | 0xe0); - result.push(((c >> 6) & 0x3f) | 0x80); - result.push((c & 0x3f) | 0x80); - } - } - return (0, bytes_1.arrayify)(result); -} -exports.toUtf8Bytes = toUtf8Bytes; -; -function escapeChar(value) { - var hex = ("0000" + value.toString(16)); - return "\\u" + hex.substring(hex.length - 4); -} -function _toEscapedUtf8String(bytes, onError) { - return '"' + getUtf8CodePoints(bytes, onError).map(function (codePoint) { - if (codePoint < 256) { - switch (codePoint) { - case 8: return "\\b"; - case 9: return "\\t"; - case 10: return "\\n"; - case 13: return "\\r"; - case 34: return "\\\""; - case 92: return "\\\\"; - } - if (codePoint >= 32 && codePoint < 127) { - return String.fromCharCode(codePoint); - } - } - if (codePoint <= 0xffff) { - return escapeChar(codePoint); - } - codePoint -= 0x10000; - return escapeChar(((codePoint >> 10) & 0x3ff) + 0xd800) + escapeChar((codePoint & 0x3ff) + 0xdc00); - }).join("") + '"'; -} -exports._toEscapedUtf8String = _toEscapedUtf8String; -function _toUtf8String(codePoints) { - return codePoints.map(function (codePoint) { - if (codePoint <= 0xffff) { - return String.fromCharCode(codePoint); - } - codePoint -= 0x10000; - return String.fromCharCode((((codePoint >> 10) & 0x3ff) + 0xd800), ((codePoint & 0x3ff) + 0xdc00)); - }).join(""); -} -exports._toUtf8String = _toUtf8String; -function toUtf8String(bytes, onError) { - return _toUtf8String(getUtf8CodePoints(bytes, onError)); -} -exports.toUtf8String = toUtf8String; -function toUtf8CodePoints(str, form) { - if (form === void 0) { form = UnicodeNormalizationForm.current; } - return getUtf8CodePoints(toUtf8Bytes(str, form)); -} -exports.toUtf8CodePoints = toUtf8CodePoints; -//# sourceMappingURL=utf8.js.map - -/***/ }), - -/***/ 49302: -/***/ ((__unused_webpack_module, exports) => { - - -Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.version = void 0; -exports.version = "transactions/5.7.0"; -//# sourceMappingURL=_version.js.map - -/***/ }), - -/***/ 55701: -/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) { - - -var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); -}) : (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - o[k2] = m[k]; -})); -var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { - Object.defineProperty(o, "default", { enumerable: true, value: v }); -}) : function(o, v) { - o["default"] = v; -}); -var __importStar = (this && this.__importStar) || function (mod) { - if (mod && mod.__esModule) return mod; - var result = {}; - if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); - __setModuleDefault(result, mod); - return result; -}; -Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.parse = exports.serialize = exports.accessListify = exports.recoverAddress = exports.computeAddress = exports.TransactionTypes = void 0; -var address_1 = __nccwpck_require__(10056); -var bignumber_1 = __nccwpck_require__(14763); -var bytes_1 = __nccwpck_require__(69691); -var constants_1 = __nccwpck_require__(46561); -var keccak256_1 = __nccwpck_require__(15815); -var properties_1 = __nccwpck_require__(54145); -var RLP = __importStar(__nccwpck_require__(99502)); -var signing_key_1 = __nccwpck_require__(8681); -var logger_1 = __nccwpck_require__(8772); -var _version_1 = __nccwpck_require__(49302); -var logger = new logger_1.Logger(_version_1.version); -var TransactionTypes; -(function (TransactionTypes) { - TransactionTypes[TransactionTypes["legacy"] = 0] = "legacy"; - TransactionTypes[TransactionTypes["eip2930"] = 1] = "eip2930"; - TransactionTypes[TransactionTypes["eip1559"] = 2] = "eip1559"; -})(TransactionTypes = exports.TransactionTypes || (exports.TransactionTypes = {})); -; -/////////////////////////////// -function handleAddress(value) { - if (value === "0x") { - return null; - } - return (0, address_1.getAddress)(value); -} -function handleNumber(value) { - if (value === "0x") { - return constants_1.Zero; - } - return bignumber_1.BigNumber.from(value); -} -// Legacy Transaction Fields -var transactionFields = [ - { name: "nonce", maxLength: 32, numeric: true }, - { name: "gasPrice", maxLength: 32, numeric: true }, - { name: "gasLimit", maxLength: 32, numeric: true }, - { name: "to", length: 20 }, - { name: "value", maxLength: 32, numeric: true }, - { name: "data" }, -]; -var allowedTransactionKeys = { - chainId: true, data: true, gasLimit: true, gasPrice: true, nonce: true, to: true, type: true, value: true -}; -function computeAddress(key) { - var publicKey = (0, signing_key_1.computePublicKey)(key); - return (0, address_1.getAddress)((0, bytes_1.hexDataSlice)((0, keccak256_1.keccak256)((0, bytes_1.hexDataSlice)(publicKey, 1)), 12)); -} -exports.computeAddress = computeAddress; -function recoverAddress(digest, signature) { - return computeAddress((0, signing_key_1.recoverPublicKey)((0, bytes_1.arrayify)(digest), signature)); -} -exports.recoverAddress = recoverAddress; -function formatNumber(value, name) { - var result = (0, bytes_1.stripZeros)(bignumber_1.BigNumber.from(value).toHexString()); - if (result.length > 32) { - logger.throwArgumentError("invalid length for " + name, ("transaction:" + name), value); - } - return result; -} -function accessSetify(addr, storageKeys) { - return { - address: (0, address_1.getAddress)(addr), - storageKeys: (storageKeys || []).map(function (storageKey, index) { - if ((0, bytes_1.hexDataLength)(storageKey) !== 32) { - logger.throwArgumentError("invalid access list storageKey", "accessList[" + addr + ":" + index + "]", storageKey); - } - return storageKey.toLowerCase(); - }) - }; -} -function accessListify(value) { - if (Array.isArray(value)) { - return value.map(function (set, index) { - if (Array.isArray(set)) { - if (set.length > 2) { - logger.throwArgumentError("access list expected to be [ address, storageKeys[] ]", "value[" + index + "]", set); - } - return accessSetify(set[0], set[1]); - } - return accessSetify(set.address, set.storageKeys); - }); - } - var result = Object.keys(value).map(function (addr) { - var storageKeys = value[addr].reduce(function (accum, storageKey) { - accum[storageKey] = true; - return accum; - }, {}); - return accessSetify(addr, Object.keys(storageKeys).sort()); - }); - result.sort(function (a, b) { return (a.address.localeCompare(b.address)); }); - return result; -} -exports.accessListify = accessListify; -function formatAccessList(value) { - return accessListify(value).map(function (set) { return [set.address, set.storageKeys]; }); -} -function _serializeEip1559(transaction, signature) { - // If there is an explicit gasPrice, make sure it matches the - // EIP-1559 fees; otherwise they may not understand what they - // think they are setting in terms of fee. - if (transaction.gasPrice != null) { - var gasPrice = bignumber_1.BigNumber.from(transaction.gasPrice); - var maxFeePerGas = bignumber_1.BigNumber.from(transaction.maxFeePerGas || 0); - if (!gasPrice.eq(maxFeePerGas)) { - logger.throwArgumentError("mismatch EIP-1559 gasPrice != maxFeePerGas", "tx", { - gasPrice: gasPrice, - maxFeePerGas: maxFeePerGas - }); - } - } - var fields = [ - formatNumber(transaction.chainId || 0, "chainId"), - formatNumber(transaction.nonce || 0, "nonce"), - formatNumber(transaction.maxPriorityFeePerGas || 0, "maxPriorityFeePerGas"), - formatNumber(transaction.maxFeePerGas || 0, "maxFeePerGas"), - formatNumber(transaction.gasLimit || 0, "gasLimit"), - ((transaction.to != null) ? (0, address_1.getAddress)(transaction.to) : "0x"), - formatNumber(transaction.value || 0, "value"), - (transaction.data || "0x"), - (formatAccessList(transaction.accessList || [])) - ]; - if (signature) { - var sig = (0, bytes_1.splitSignature)(signature); - fields.push(formatNumber(sig.recoveryParam, "recoveryParam")); - fields.push((0, bytes_1.stripZeros)(sig.r)); - fields.push((0, bytes_1.stripZeros)(sig.s)); - } - return (0, bytes_1.hexConcat)(["0x02", RLP.encode(fields)]); -} -function _serializeEip2930(transaction, signature) { - var fields = [ - formatNumber(transaction.chainId || 0, "chainId"), - formatNumber(transaction.nonce || 0, "nonce"), - formatNumber(transaction.gasPrice || 0, "gasPrice"), - formatNumber(transaction.gasLimit || 0, "gasLimit"), - ((transaction.to != null) ? (0, address_1.getAddress)(transaction.to) : "0x"), - formatNumber(transaction.value || 0, "value"), - (transaction.data || "0x"), - (formatAccessList(transaction.accessList || [])) - ]; - if (signature) { - var sig = (0, bytes_1.splitSignature)(signature); - fields.push(formatNumber(sig.recoveryParam, "recoveryParam")); - fields.push((0, bytes_1.stripZeros)(sig.r)); - fields.push((0, bytes_1.stripZeros)(sig.s)); - } - return (0, bytes_1.hexConcat)(["0x01", RLP.encode(fields)]); -} -// Legacy Transactions and EIP-155 -function _serialize(transaction, signature) { - (0, properties_1.checkProperties)(transaction, allowedTransactionKeys); - var raw = []; - transactionFields.forEach(function (fieldInfo) { - var value = transaction[fieldInfo.name] || ([]); - var options = {}; - if (fieldInfo.numeric) { - options.hexPad = "left"; - } - value = (0, bytes_1.arrayify)((0, bytes_1.hexlify)(value, options)); - // Fixed-width field - if (fieldInfo.length && value.length !== fieldInfo.length && value.length > 0) { - logger.throwArgumentError("invalid length for " + fieldInfo.name, ("transaction:" + fieldInfo.name), value); - } - // Variable-width (with a maximum) - if (fieldInfo.maxLength) { - value = (0, bytes_1.stripZeros)(value); - if (value.length > fieldInfo.maxLength) { - logger.throwArgumentError("invalid length for " + fieldInfo.name, ("transaction:" + fieldInfo.name), value); - } - } - raw.push((0, bytes_1.hexlify)(value)); - }); - var chainId = 0; - if (transaction.chainId != null) { - // A chainId was provided; if non-zero we'll use EIP-155 - chainId = transaction.chainId; - if (typeof (chainId) !== "number") { - logger.throwArgumentError("invalid transaction.chainId", "transaction", transaction); - } - } - else if (signature && !(0, bytes_1.isBytesLike)(signature) && signature.v > 28) { - // No chainId provided, but the signature is signing with EIP-155; derive chainId - chainId = Math.floor((signature.v - 35) / 2); - } - // We have an EIP-155 transaction (chainId was specified and non-zero) - if (chainId !== 0) { - raw.push((0, bytes_1.hexlify)(chainId)); // @TODO: hexValue? - raw.push("0x"); - raw.push("0x"); - } - // Requesting an unsigned transaction - if (!signature) { - return RLP.encode(raw); - } - // The splitSignature will ensure the transaction has a recoveryParam in the - // case that the signTransaction function only adds a v. - var sig = (0, bytes_1.splitSignature)(signature); - // We pushed a chainId and null r, s on for hashing only; remove those - var v = 27 + sig.recoveryParam; - if (chainId !== 0) { - raw.pop(); - raw.pop(); - raw.pop(); - v += chainId * 2 + 8; - // If an EIP-155 v (directly or indirectly; maybe _vs) was provided, check it! - if (sig.v > 28 && sig.v !== v) { - logger.throwArgumentError("transaction.chainId/signature.v mismatch", "signature", signature); - } - } - else if (sig.v !== v) { - logger.throwArgumentError("transaction.chainId/signature.v mismatch", "signature", signature); - } - raw.push((0, bytes_1.hexlify)(v)); - raw.push((0, bytes_1.stripZeros)((0, bytes_1.arrayify)(sig.r))); - raw.push((0, bytes_1.stripZeros)((0, bytes_1.arrayify)(sig.s))); - return RLP.encode(raw); -} -function serialize(transaction, signature) { - // Legacy and EIP-155 Transactions - if (transaction.type == null || transaction.type === 0) { - if (transaction.accessList != null) { - logger.throwArgumentError("untyped transactions do not support accessList; include type: 1", "transaction", transaction); - } - return _serialize(transaction, signature); - } - // Typed Transactions (EIP-2718) - switch (transaction.type) { - case 1: - return _serializeEip2930(transaction, signature); - case 2: - return _serializeEip1559(transaction, signature); - default: - break; - } - return logger.throwError("unsupported transaction type: " + transaction.type, logger_1.Logger.errors.UNSUPPORTED_OPERATION, { - operation: "serializeTransaction", - transactionType: transaction.type - }); -} -exports.serialize = serialize; -function _parseEipSignature(tx, fields, serialize) { - try { - var recid = handleNumber(fields[0]).toNumber(); - if (recid !== 0 && recid !== 1) { - throw new Error("bad recid"); - } - tx.v = recid; - } - catch (error) { - logger.throwArgumentError("invalid v for transaction type: 1", "v", fields[0]); - } - tx.r = (0, bytes_1.hexZeroPad)(fields[1], 32); - tx.s = (0, bytes_1.hexZeroPad)(fields[2], 32); - try { - var digest = (0, keccak256_1.keccak256)(serialize(tx)); - tx.from = recoverAddress(digest, { r: tx.r, s: tx.s, recoveryParam: tx.v }); - } - catch (error) { } -} -function _parseEip1559(payload) { - var transaction = RLP.decode(payload.slice(1)); - if (transaction.length !== 9 && transaction.length !== 12) { - logger.throwArgumentError("invalid component count for transaction type: 2", "payload", (0, bytes_1.hexlify)(payload)); - } - var maxPriorityFeePerGas = handleNumber(transaction[2]); - var maxFeePerGas = handleNumber(transaction[3]); - var tx = { - type: 2, - chainId: handleNumber(transaction[0]).toNumber(), - nonce: handleNumber(transaction[1]).toNumber(), - maxPriorityFeePerGas: maxPriorityFeePerGas, - maxFeePerGas: maxFeePerGas, - gasPrice: null, - gasLimit: handleNumber(transaction[4]), - to: handleAddress(transaction[5]), - value: handleNumber(transaction[6]), - data: transaction[7], - accessList: accessListify(transaction[8]), - }; - // Unsigned EIP-1559 Transaction - if (transaction.length === 9) { - return tx; - } - tx.hash = (0, keccak256_1.keccak256)(payload); - _parseEipSignature(tx, transaction.slice(9), _serializeEip1559); - return tx; -} -function _parseEip2930(payload) { - var transaction = RLP.decode(payload.slice(1)); - if (transaction.length !== 8 && transaction.length !== 11) { - logger.throwArgumentError("invalid component count for transaction type: 1", "payload", (0, bytes_1.hexlify)(payload)); - } - var tx = { - type: 1, - chainId: handleNumber(transaction[0]).toNumber(), - nonce: handleNumber(transaction[1]).toNumber(), - gasPrice: handleNumber(transaction[2]), - gasLimit: handleNumber(transaction[3]), - to: handleAddress(transaction[4]), - value: handleNumber(transaction[5]), - data: transaction[6], - accessList: accessListify(transaction[7]) - }; - // Unsigned EIP-2930 Transaction - if (transaction.length === 8) { - return tx; - } - tx.hash = (0, keccak256_1.keccak256)(payload); - _parseEipSignature(tx, transaction.slice(8), _serializeEip2930); - return tx; -} -// Legacy Transactions and EIP-155 -function _parse(rawTransaction) { - var transaction = RLP.decode(rawTransaction); - if (transaction.length !== 9 && transaction.length !== 6) { - logger.throwArgumentError("invalid raw transaction", "rawTransaction", rawTransaction); - } - var tx = { - nonce: handleNumber(transaction[0]).toNumber(), - gasPrice: handleNumber(transaction[1]), - gasLimit: handleNumber(transaction[2]), - to: handleAddress(transaction[3]), - value: handleNumber(transaction[4]), - data: transaction[5], - chainId: 0 - }; - // Legacy unsigned transaction - if (transaction.length === 6) { - return tx; - } - try { - tx.v = bignumber_1.BigNumber.from(transaction[6]).toNumber(); - } - catch (error) { - // @TODO: What makes snese to do? The v is too big - return tx; - } - tx.r = (0, bytes_1.hexZeroPad)(transaction[7], 32); - tx.s = (0, bytes_1.hexZeroPad)(transaction[8], 32); - if (bignumber_1.BigNumber.from(tx.r).isZero() && bignumber_1.BigNumber.from(tx.s).isZero()) { - // EIP-155 unsigned transaction - tx.chainId = tx.v; - tx.v = 0; - } - else { - // Signed Transaction - tx.chainId = Math.floor((tx.v - 35) / 2); - if (tx.chainId < 0) { - tx.chainId = 0; - } - var recoveryParam = tx.v - 27; - var raw = transaction.slice(0, 6); - if (tx.chainId !== 0) { - raw.push((0, bytes_1.hexlify)(tx.chainId)); - raw.push("0x"); - raw.push("0x"); - recoveryParam -= tx.chainId * 2 + 8; - } - var digest = (0, keccak256_1.keccak256)(RLP.encode(raw)); - try { - tx.from = recoverAddress(digest, { r: (0, bytes_1.hexlify)(tx.r), s: (0, bytes_1.hexlify)(tx.s), recoveryParam: recoveryParam }); - } - catch (error) { } - tx.hash = (0, keccak256_1.keccak256)(rawTransaction); - } - tx.type = null; - return tx; -} -function parse(rawTransaction) { - var payload = (0, bytes_1.arrayify)(rawTransaction); - // Legacy and EIP-155 Transactions - if (payload[0] > 0x7f) { - return _parse(payload); - } - // Typed Transaction (EIP-2718) - switch (payload[0]) { - case 1: - return _parseEip2930(payload); - case 2: - return _parseEip1559(payload); - default: - break; - } - return logger.throwError("unsupported transaction type: " + payload[0], logger_1.Logger.errors.UNSUPPORTED_OPERATION, { - operation: "parseTransaction", - transactionType: payload[0] - }); -} -exports.parse = parse; -//# sourceMappingURL=index.js.map - -/***/ }), - -/***/ 90968: -/***/ ((__unused_webpack_module, exports) => { - - -Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.version = void 0; -exports.version = "units/5.7.0"; -//# sourceMappingURL=_version.js.map - -/***/ }), - -/***/ 84575: -/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { - - -Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.parseEther = exports.formatEther = exports.parseUnits = exports.formatUnits = exports.commify = void 0; -var bignumber_1 = __nccwpck_require__(14763); -var logger_1 = __nccwpck_require__(8772); -var _version_1 = __nccwpck_require__(90968); -var logger = new logger_1.Logger(_version_1.version); -var names = [ - "wei", - "kwei", - "mwei", - "gwei", - "szabo", - "finney", - "ether", -]; -// Some environments have issues with RegEx that contain back-tracking, so we cannot -// use them. -function commify(value) { - var comps = String(value).split("."); - if (comps.length > 2 || !comps[0].match(/^-?[0-9]*$/) || (comps[1] && !comps[1].match(/^[0-9]*$/)) || value === "." || value === "-.") { - logger.throwArgumentError("invalid value", "value", value); - } - // Make sure we have at least one whole digit (0 if none) - var whole = comps[0]; - var negative = ""; - if (whole.substring(0, 1) === "-") { - negative = "-"; - whole = whole.substring(1); - } - // Make sure we have at least 1 whole digit with no leading zeros - while (whole.substring(0, 1) === "0") { - whole = whole.substring(1); - } - if (whole === "") { - whole = "0"; - } - var suffix = ""; - if (comps.length === 2) { - suffix = "." + (comps[1] || "0"); - } - while (suffix.length > 2 && suffix[suffix.length - 1] === "0") { - suffix = suffix.substring(0, suffix.length - 1); - } - var formatted = []; - while (whole.length) { - if (whole.length <= 3) { - formatted.unshift(whole); - break; - } - else { - var index = whole.length - 3; - formatted.unshift(whole.substring(index)); - whole = whole.substring(0, index); - } - } - return negative + formatted.join(",") + suffix; -} -exports.commify = commify; -function formatUnits(value, unitName) { - if (typeof (unitName) === "string") { - var index = names.indexOf(unitName); - if (index !== -1) { - unitName = 3 * index; - } - } - return (0, bignumber_1.formatFixed)(value, (unitName != null) ? unitName : 18); -} -exports.formatUnits = formatUnits; -function parseUnits(value, unitName) { - if (typeof (value) !== "string") { - logger.throwArgumentError("value must be a string", "value", value); - } - if (typeof (unitName) === "string") { - var index = names.indexOf(unitName); - if (index !== -1) { - unitName = 3 * index; - } - } - return (0, bignumber_1.parseFixed)(value, (unitName != null) ? unitName : 18); -} -exports.parseUnits = parseUnits; -function formatEther(wei) { - return formatUnits(wei, 18); -} -exports.formatEther = formatEther; -function parseEther(ether) { - return parseUnits(ether, 18); -} -exports.parseEther = parseEther; -//# sourceMappingURL=index.js.map - -/***/ }), - -/***/ 61690: -/***/ ((__unused_webpack_module, exports) => { - - -Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.version = void 0; -exports.version = "wallet/5.7.0"; -//# sourceMappingURL=_version.js.map - -/***/ }), - -/***/ 61009: -/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) { - - -var __extends = (this && this.__extends) || (function () { - var extendStatics = function (d, b) { - extendStatics = Object.setPrototypeOf || - ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || - function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; }; - return extendStatics(d, b); - }; - return function (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 __()); - }; -})(); -var __awaiter = (this && this.__awaiter) || function (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, reject) { - function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } - function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } - function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); -}; -var __generator = (this && this.__generator) || function (thisArg, body) { - var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g; - return g = { next: verb(0), "throw": verb(1), "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 (_) 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 }; - } -}; -Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.verifyTypedData = exports.verifyMessage = exports.Wallet = void 0; -var address_1 = __nccwpck_require__(10056); -var abstract_provider_1 = __nccwpck_require__(34224); -var abstract_signer_1 = __nccwpck_require__(2863); -var bytes_1 = __nccwpck_require__(69691); -var hash_1 = __nccwpck_require__(39144); -var hdnode_1 = __nccwpck_require__(34456); -var keccak256_1 = __nccwpck_require__(15815); -var properties_1 = __nccwpck_require__(54145); -var random_1 = __nccwpck_require__(4364); -var signing_key_1 = __nccwpck_require__(8681); -var json_wallets_1 = __nccwpck_require__(79393); -var transactions_1 = __nccwpck_require__(55701); -var logger_1 = __nccwpck_require__(8772); -var _version_1 = __nccwpck_require__(61690); -var logger = new logger_1.Logger(_version_1.version); -function isAccount(value) { - return (value != null && (0, bytes_1.isHexString)(value.privateKey, 32) && value.address != null); -} -function hasMnemonic(value) { - var mnemonic = value.mnemonic; - return (mnemonic && mnemonic.phrase); -} -var Wallet = /** @class */ (function (_super) { - __extends(Wallet, _super); - function Wallet(privateKey, provider) { - var _this = _super.call(this) || this; - if (isAccount(privateKey)) { - var signingKey_1 = new signing_key_1.SigningKey(privateKey.privateKey); - (0, properties_1.defineReadOnly)(_this, "_signingKey", function () { return signingKey_1; }); - (0, properties_1.defineReadOnly)(_this, "address", (0, transactions_1.computeAddress)(_this.publicKey)); - if (_this.address !== (0, address_1.getAddress)(privateKey.address)) { - logger.throwArgumentError("privateKey/address mismatch", "privateKey", "[REDACTED]"); - } - if (hasMnemonic(privateKey)) { - var srcMnemonic_1 = privateKey.mnemonic; - (0, properties_1.defineReadOnly)(_this, "_mnemonic", function () { return ({ - phrase: srcMnemonic_1.phrase, - path: srcMnemonic_1.path || hdnode_1.defaultPath, - locale: srcMnemonic_1.locale || "en" - }); }); - var mnemonic = _this.mnemonic; - var node = hdnode_1.HDNode.fromMnemonic(mnemonic.phrase, null, mnemonic.locale).derivePath(mnemonic.path); - if ((0, transactions_1.computeAddress)(node.privateKey) !== _this.address) { - logger.throwArgumentError("mnemonic/address mismatch", "privateKey", "[REDACTED]"); - } - } - else { - (0, properties_1.defineReadOnly)(_this, "_mnemonic", function () { return null; }); - } - } - else { - if (signing_key_1.SigningKey.isSigningKey(privateKey)) { - /* istanbul ignore if */ - if (privateKey.curve !== "secp256k1") { - logger.throwArgumentError("unsupported curve; must be secp256k1", "privateKey", "[REDACTED]"); - } - (0, properties_1.defineReadOnly)(_this, "_signingKey", function () { return privateKey; }); - } - else { - // A lot of common tools do not prefix private keys with a 0x (see: #1166) - if (typeof (privateKey) === "string") { - if (privateKey.match(/^[0-9a-f]*$/i) && privateKey.length === 64) { - privateKey = "0x" + privateKey; - } - } - var signingKey_2 = new signing_key_1.SigningKey(privateKey); - (0, properties_1.defineReadOnly)(_this, "_signingKey", function () { return signingKey_2; }); - } - (0, properties_1.defineReadOnly)(_this, "_mnemonic", function () { return null; }); - (0, properties_1.defineReadOnly)(_this, "address", (0, transactions_1.computeAddress)(_this.publicKey)); - } - /* istanbul ignore if */ - if (provider && !abstract_provider_1.Provider.isProvider(provider)) { - logger.throwArgumentError("invalid provider", "provider", provider); - } - (0, properties_1.defineReadOnly)(_this, "provider", provider || null); - return _this; - } - Object.defineProperty(Wallet.prototype, "mnemonic", { - get: function () { return this._mnemonic(); }, - enumerable: false, - configurable: true - }); - Object.defineProperty(Wallet.prototype, "privateKey", { - get: function () { return this._signingKey().privateKey; }, - enumerable: false, - configurable: true - }); - Object.defineProperty(Wallet.prototype, "publicKey", { - get: function () { return this._signingKey().publicKey; }, - enumerable: false, - configurable: true - }); - Wallet.prototype.getAddress = function () { - return Promise.resolve(this.address); - }; - Wallet.prototype.connect = function (provider) { - return new Wallet(this, provider); - }; - Wallet.prototype.signTransaction = function (transaction) { - var _this = this; - return (0, properties_1.resolveProperties)(transaction).then(function (tx) { - if (tx.from != null) { - if ((0, address_1.getAddress)(tx.from) !== _this.address) { - logger.throwArgumentError("transaction from address mismatch", "transaction.from", transaction.from); - } - delete tx.from; - } - var signature = _this._signingKey().signDigest((0, keccak256_1.keccak256)((0, transactions_1.serialize)(tx))); - return (0, transactions_1.serialize)(tx, signature); - }); - }; - Wallet.prototype.signMessage = function (message) { - return __awaiter(this, void 0, void 0, function () { - return __generator(this, function (_a) { - return [2 /*return*/, (0, bytes_1.joinSignature)(this._signingKey().signDigest((0, hash_1.hashMessage)(message)))]; - }); - }); - }; - Wallet.prototype._signTypedData = function (domain, types, value) { - return __awaiter(this, void 0, void 0, function () { - var populated; - var _this = this; - return __generator(this, function (_a) { - switch (_a.label) { - case 0: return [4 /*yield*/, hash_1._TypedDataEncoder.resolveNames(domain, types, value, function (name) { - if (_this.provider == null) { - logger.throwError("cannot resolve ENS names without a provider", logger_1.Logger.errors.UNSUPPORTED_OPERATION, { - operation: "resolveName", - value: name - }); - } - return _this.provider.resolveName(name); - })]; - case 1: - populated = _a.sent(); - return [2 /*return*/, (0, bytes_1.joinSignature)(this._signingKey().signDigest(hash_1._TypedDataEncoder.hash(populated.domain, types, populated.value)))]; - } - }); - }); - }; - Wallet.prototype.encrypt = function (password, options, progressCallback) { - if (typeof (options) === "function" && !progressCallback) { - progressCallback = options; - options = {}; - } - if (progressCallback && typeof (progressCallback) !== "function") { - throw new Error("invalid callback"); - } - if (!options) { - options = {}; - } - return (0, json_wallets_1.encryptKeystore)(this, password, options, progressCallback); - }; - /** - * Static methods to create Wallet instances. - */ - Wallet.createRandom = function (options) { - var entropy = (0, random_1.randomBytes)(16); - if (!options) { - options = {}; - } - if (options.extraEntropy) { - entropy = (0, bytes_1.arrayify)((0, bytes_1.hexDataSlice)((0, keccak256_1.keccak256)((0, bytes_1.concat)([entropy, options.extraEntropy])), 0, 16)); - } - var mnemonic = (0, hdnode_1.entropyToMnemonic)(entropy, options.locale); - return Wallet.fromMnemonic(mnemonic, options.path, options.locale); - }; - Wallet.fromEncryptedJson = function (json, password, progressCallback) { - return (0, json_wallets_1.decryptJsonWallet)(json, password, progressCallback).then(function (account) { - return new Wallet(account); - }); - }; - Wallet.fromEncryptedJsonSync = function (json, password) { - return new Wallet((0, json_wallets_1.decryptJsonWalletSync)(json, password)); - }; - Wallet.fromMnemonic = function (mnemonic, path, wordlist) { - if (!path) { - path = hdnode_1.defaultPath; - } - return new Wallet(hdnode_1.HDNode.fromMnemonic(mnemonic, null, wordlist).derivePath(path)); - }; - return Wallet; -}(abstract_signer_1.Signer)); -exports.Wallet = Wallet; -function verifyMessage(message, signature) { - return (0, transactions_1.recoverAddress)((0, hash_1.hashMessage)(message), signature); -} -exports.verifyMessage = verifyMessage; -function verifyTypedData(domain, types, value, signature) { - return (0, transactions_1.recoverAddress)(hash_1._TypedDataEncoder.hash(domain, types, value), signature); -} -exports.verifyTypedData = verifyTypedData; -//# sourceMappingURL=index.js.map - -/***/ }), - -/***/ 60191: -/***/ ((__unused_webpack_module, exports) => { - - -Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.version = void 0; -exports.version = "web/5.7.1"; -//# sourceMappingURL=_version.js.map - -/***/ }), - -/***/ 39705: -/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) { - - -var __awaiter = (this && this.__awaiter) || function (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, reject) { - function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } - function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } - function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); -}; -var __generator = (this && this.__generator) || function (thisArg, body) { - var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g; - return g = { next: verb(0), "throw": verb(1), "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 (_) 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 }; - } -}; -var __importDefault = (this && this.__importDefault) || function (mod) { - return (mod && mod.__esModule) ? mod : { "default": mod }; -}; -Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.getUrl = void 0; -var http_1 = __importDefault(__nccwpck_require__(58611)); -var https_1 = __importDefault(__nccwpck_require__(65692)); -var zlib_1 = __nccwpck_require__(43106); -var url_1 = __nccwpck_require__(87016); -var bytes_1 = __nccwpck_require__(69691); -var properties_1 = __nccwpck_require__(54145); -var logger_1 = __nccwpck_require__(8772); -var _version_1 = __nccwpck_require__(60191); -var logger = new logger_1.Logger(_version_1.version); -function getResponse(request) { - return new Promise(function (resolve, reject) { - request.once("response", function (resp) { - var response = { - statusCode: resp.statusCode, - statusMessage: resp.statusMessage, - headers: Object.keys(resp.headers).reduce(function (accum, name) { - var value = resp.headers[name]; - if (Array.isArray(value)) { - value = value.join(", "); - } - accum[name] = value; - return accum; - }, {}), - body: null - }; - //resp.setEncoding("utf8"); - resp.on("data", function (chunk) { - if (response.body == null) { - response.body = new Uint8Array(0); - } - response.body = (0, bytes_1.concat)([response.body, chunk]); - }); - resp.on("end", function () { - if (response.headers["content-encoding"] === "gzip") { - //const size = response.body.length; - response.body = (0, bytes_1.arrayify)((0, zlib_1.gunzipSync)(response.body)); - //console.log("Delta:", response.body.length - size, Buffer.from(response.body).toString()); - } - resolve(response); - }); - resp.on("error", function (error) { - /* istanbul ignore next */ - error.response = response; - reject(error); - }); - }); - request.on("error", function (error) { reject(error); }); - }); -} -// The URL.parse uses null instead of the empty string -function nonnull(value) { - if (value == null) { - return ""; - } - return value; -} -function getUrl(href, options) { - return __awaiter(this, void 0, void 0, function () { - var url, request, req, response; - return __generator(this, function (_a) { - switch (_a.label) { - case 0: - if (options == null) { - options = {}; - } - url = (0, url_1.parse)(href); - request = { - protocol: nonnull(url.protocol), - hostname: nonnull(url.hostname), - port: nonnull(url.port), - path: (nonnull(url.pathname) + nonnull(url.search)), - method: (options.method || "GET"), - headers: (0, properties_1.shallowCopy)(options.headers || {}), - }; - if (options.allowGzip) { - request.headers["accept-encoding"] = "gzip"; - } - req = null; - switch (nonnull(url.protocol)) { - case "http:": - req = http_1.default.request(request); - break; - case "https:": - req = https_1.default.request(request); - break; - default: - /* istanbul ignore next */ - logger.throwError("unsupported protocol " + url.protocol, logger_1.Logger.errors.UNSUPPORTED_OPERATION, { - protocol: url.protocol, - operation: "request" - }); - } - if (options.body) { - req.write(Buffer.from(options.body)); - } - req.end(); - return [4 /*yield*/, getResponse(req)]; - case 1: - response = _a.sent(); - return [2 /*return*/, response]; - } - }); - }); -} -exports.getUrl = getUrl; -//# sourceMappingURL=geturl.js.map - -/***/ }), - -/***/ 75570: -/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) { - - -var __awaiter = (this && this.__awaiter) || function (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, reject) { - function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } - function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } - function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); -}; -var __generator = (this && this.__generator) || function (thisArg, body) { - var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g; - return g = { next: verb(0), "throw": verb(1), "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 (_) 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 }; - } -}; -Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.poll = exports.fetchJson = exports._fetchData = void 0; -var base64_1 = __nccwpck_require__(14895); -var bytes_1 = __nccwpck_require__(69691); -var properties_1 = __nccwpck_require__(54145); -var strings_1 = __nccwpck_require__(95578); -var logger_1 = __nccwpck_require__(8772); -var _version_1 = __nccwpck_require__(60191); -var logger = new logger_1.Logger(_version_1.version); -var geturl_1 = __nccwpck_require__(39705); -function staller(duration) { - return new Promise(function (resolve) { - setTimeout(resolve, duration); - }); -} -function bodyify(value, type) { - if (value == null) { - return null; - } - if (typeof (value) === "string") { - return value; - } - if ((0, bytes_1.isBytesLike)(value)) { - if (type && (type.split("/")[0] === "text" || type.split(";")[0].trim() === "application/json")) { - try { - return (0, strings_1.toUtf8String)(value); - } - catch (error) { } - ; - } - return (0, bytes_1.hexlify)(value); - } - return value; -} -function unpercent(value) { - return (0, strings_1.toUtf8Bytes)(value.replace(/%([0-9a-f][0-9a-f])/gi, function (all, code) { - return String.fromCharCode(parseInt(code, 16)); - })); -} -// This API is still a work in progress; the future changes will likely be: -// - ConnectionInfo => FetchDataRequest -// - FetchDataRequest.body? = string | Uint8Array | { contentType: string, data: string | Uint8Array } -// - If string => text/plain, Uint8Array => application/octet-stream (if content-type unspecified) -// - FetchDataRequest.processFunc = (body: Uint8Array, response: FetchDataResponse) => T -// For this reason, it should be considered internal until the API is finalized -function _fetchData(connection, body, processFunc) { - // How many times to retry in the event of a throttle - var attemptLimit = (typeof (connection) === "object" && connection.throttleLimit != null) ? connection.throttleLimit : 12; - logger.assertArgument((attemptLimit > 0 && (attemptLimit % 1) === 0), "invalid connection throttle limit", "connection.throttleLimit", attemptLimit); - var throttleCallback = ((typeof (connection) === "object") ? connection.throttleCallback : null); - var throttleSlotInterval = ((typeof (connection) === "object" && typeof (connection.throttleSlotInterval) === "number") ? connection.throttleSlotInterval : 100); - logger.assertArgument((throttleSlotInterval > 0 && (throttleSlotInterval % 1) === 0), "invalid connection throttle slot interval", "connection.throttleSlotInterval", throttleSlotInterval); - var errorPassThrough = ((typeof (connection) === "object") ? !!(connection.errorPassThrough) : false); - var headers = {}; - var url = null; - // @TODO: Allow ConnectionInfo to override some of these values - var options = { - method: "GET", - }; - var allow304 = false; - var timeout = 2 * 60 * 1000; - if (typeof (connection) === "string") { - url = connection; - } - else if (typeof (connection) === "object") { - if (connection == null || connection.url == null) { - logger.throwArgumentError("missing URL", "connection.url", connection); - } - url = connection.url; - if (typeof (connection.timeout) === "number" && connection.timeout > 0) { - timeout = connection.timeout; - } - if (connection.headers) { - for (var key in connection.headers) { - headers[key.toLowerCase()] = { key: key, value: String(connection.headers[key]) }; - if (["if-none-match", "if-modified-since"].indexOf(key.toLowerCase()) >= 0) { - allow304 = true; - } - } - } - options.allowGzip = !!connection.allowGzip; - if (connection.user != null && connection.password != null) { - if (url.substring(0, 6) !== "https:" && connection.allowInsecureAuthentication !== true) { - logger.throwError("basic authentication requires a secure https url", logger_1.Logger.errors.INVALID_ARGUMENT, { argument: "url", url: url, user: connection.user, password: "[REDACTED]" }); - } - var authorization = connection.user + ":" + connection.password; - headers["authorization"] = { - key: "Authorization", - value: "Basic " + (0, base64_1.encode)((0, strings_1.toUtf8Bytes)(authorization)) - }; - } - if (connection.skipFetchSetup != null) { - options.skipFetchSetup = !!connection.skipFetchSetup; - } - if (connection.fetchOptions != null) { - options.fetchOptions = (0, properties_1.shallowCopy)(connection.fetchOptions); - } - } - var reData = new RegExp("^data:([^;:]*)?(;base64)?,(.*)$", "i"); - var dataMatch = ((url) ? url.match(reData) : null); - if (dataMatch) { - try { - var response = { - statusCode: 200, - statusMessage: "OK", - headers: { "content-type": (dataMatch[1] || "text/plain") }, - body: (dataMatch[2] ? (0, base64_1.decode)(dataMatch[3]) : unpercent(dataMatch[3])) - }; - var result = response.body; - if (processFunc) { - result = processFunc(response.body, response); - } - return Promise.resolve(result); - } - catch (error) { - logger.throwError("processing response error", logger_1.Logger.errors.SERVER_ERROR, { - body: bodyify(dataMatch[1], dataMatch[2]), - error: error, - requestBody: null, - requestMethod: "GET", - url: url - }); - } - } - if (body) { - options.method = "POST"; - options.body = body; - if (headers["content-type"] == null) { - headers["content-type"] = { key: "Content-Type", value: "application/octet-stream" }; - } - if (headers["content-length"] == null) { - headers["content-length"] = { key: "Content-Length", value: String(body.length) }; - } - } - var flatHeaders = {}; - Object.keys(headers).forEach(function (key) { - var header = headers[key]; - flatHeaders[header.key] = header.value; - }); - options.headers = flatHeaders; - var runningTimeout = (function () { - var timer = null; - var promise = new Promise(function (resolve, reject) { - if (timeout) { - timer = setTimeout(function () { - if (timer == null) { - return; - } - timer = null; - reject(logger.makeError("timeout", logger_1.Logger.errors.TIMEOUT, { - requestBody: bodyify(options.body, flatHeaders["content-type"]), - requestMethod: options.method, - timeout: timeout, - url: url - })); - }, timeout); - } - }); - var cancel = function () { - if (timer == null) { - return; - } - clearTimeout(timer); - timer = null; - }; - return { promise: promise, cancel: cancel }; - })(); - var runningFetch = (function () { - return __awaiter(this, void 0, void 0, function () { - var attempt, response, location_1, tryAgain, stall, retryAfter, error_1, body_1, result, error_2, tryAgain, timeout_1; - return __generator(this, function (_a) { - switch (_a.label) { - case 0: - attempt = 0; - _a.label = 1; - case 1: - if (!(attempt < attemptLimit)) return [3 /*break*/, 20]; - response = null; - _a.label = 2; - case 2: - _a.trys.push([2, 9, , 10]); - return [4 /*yield*/, (0, geturl_1.getUrl)(url, options)]; - case 3: - response = _a.sent(); - if (!(attempt < attemptLimit)) return [3 /*break*/, 8]; - if (!(response.statusCode === 301 || response.statusCode === 302)) return [3 /*break*/, 4]; - location_1 = response.headers.location || ""; - if (options.method === "GET" && location_1.match(/^https:/)) { - url = response.headers.location; - return [3 /*break*/, 19]; - } - return [3 /*break*/, 8]; - case 4: - if (!(response.statusCode === 429)) return [3 /*break*/, 8]; - tryAgain = true; - if (!throttleCallback) return [3 /*break*/, 6]; - return [4 /*yield*/, throttleCallback(attempt, url)]; - case 5: - tryAgain = _a.sent(); - _a.label = 6; - case 6: - if (!tryAgain) return [3 /*break*/, 8]; - stall = 0; - retryAfter = response.headers["retry-after"]; - if (typeof (retryAfter) === "string" && retryAfter.match(/^[1-9][0-9]*$/)) { - stall = parseInt(retryAfter) * 1000; - } - else { - stall = throttleSlotInterval * parseInt(String(Math.random() * Math.pow(2, attempt))); - } - //console.log("Stalling 429"); - return [4 /*yield*/, staller(stall)]; - case 7: - //console.log("Stalling 429"); - _a.sent(); - return [3 /*break*/, 19]; - case 8: return [3 /*break*/, 10]; - case 9: - error_1 = _a.sent(); - response = error_1.response; - if (response == null) { - runningTimeout.cancel(); - logger.throwError("missing response", logger_1.Logger.errors.SERVER_ERROR, { - requestBody: bodyify(options.body, flatHeaders["content-type"]), - requestMethod: options.method, - serverError: error_1, - url: url - }); - } - return [3 /*break*/, 10]; - case 10: - body_1 = response.body; - if (allow304 && response.statusCode === 304) { - body_1 = null; - } - else if (!errorPassThrough && (response.statusCode < 200 || response.statusCode >= 300)) { - runningTimeout.cancel(); - logger.throwError("bad response", logger_1.Logger.errors.SERVER_ERROR, { - status: response.statusCode, - headers: response.headers, - body: bodyify(body_1, ((response.headers) ? response.headers["content-type"] : null)), - requestBody: bodyify(options.body, flatHeaders["content-type"]), - requestMethod: options.method, - url: url - }); - } - if (!processFunc) return [3 /*break*/, 18]; - _a.label = 11; - case 11: - _a.trys.push([11, 13, , 18]); - return [4 /*yield*/, processFunc(body_1, response)]; - case 12: - result = _a.sent(); - runningTimeout.cancel(); - return [2 /*return*/, result]; - case 13: - error_2 = _a.sent(); - if (!(error_2.throttleRetry && attempt < attemptLimit)) return [3 /*break*/, 17]; - tryAgain = true; - if (!throttleCallback) return [3 /*break*/, 15]; - return [4 /*yield*/, throttleCallback(attempt, url)]; - case 14: - tryAgain = _a.sent(); - _a.label = 15; - case 15: - if (!tryAgain) return [3 /*break*/, 17]; - timeout_1 = throttleSlotInterval * parseInt(String(Math.random() * Math.pow(2, attempt))); - //console.log("Stalling callback"); - return [4 /*yield*/, staller(timeout_1)]; - case 16: - //console.log("Stalling callback"); - _a.sent(); - return [3 /*break*/, 19]; - case 17: - runningTimeout.cancel(); - logger.throwError("processing response error", logger_1.Logger.errors.SERVER_ERROR, { - body: bodyify(body_1, ((response.headers) ? response.headers["content-type"] : null)), - error: error_2, - requestBody: bodyify(options.body, flatHeaders["content-type"]), - requestMethod: options.method, - url: url - }); - return [3 /*break*/, 18]; - case 18: - runningTimeout.cancel(); - // If we had a processFunc, it either returned a T or threw above. - // The "body" is now a Uint8Array. - return [2 /*return*/, body_1]; - case 19: - attempt++; - return [3 /*break*/, 1]; - case 20: return [2 /*return*/, logger.throwError("failed response", logger_1.Logger.errors.SERVER_ERROR, { - requestBody: bodyify(options.body, flatHeaders["content-type"]), - requestMethod: options.method, - url: url - })]; - } - }); - }); - })(); - return Promise.race([runningTimeout.promise, runningFetch]); -} -exports._fetchData = _fetchData; -function fetchJson(connection, json, processFunc) { - var processJsonFunc = function (value, response) { - var result = null; - if (value != null) { - try { - result = JSON.parse((0, strings_1.toUtf8String)(value)); - } - catch (error) { - logger.throwError("invalid JSON", logger_1.Logger.errors.SERVER_ERROR, { - body: value, - error: error - }); - } - } - if (processFunc) { - result = processFunc(result, response); - } - return result; - }; - // If we have json to send, we must - // - add content-type of application/json (unless already overridden) - // - convert the json to bytes - var body = null; - if (json != null) { - body = (0, strings_1.toUtf8Bytes)(json); - // Create a connection with the content-type set for JSON - var updated = (typeof (connection) === "string") ? ({ url: connection }) : (0, properties_1.shallowCopy)(connection); - if (updated.headers) { - var hasContentType = (Object.keys(updated.headers).filter(function (k) { return (k.toLowerCase() === "content-type"); }).length) !== 0; - if (!hasContentType) { - updated.headers = (0, properties_1.shallowCopy)(updated.headers); - updated.headers["content-type"] = "application/json"; - } - } - else { - updated.headers = { "content-type": "application/json" }; - } - connection = updated; - } - return _fetchData(connection, body, processJsonFunc); -} -exports.fetchJson = fetchJson; -function poll(func, options) { - if (!options) { - options = {}; - } - options = (0, properties_1.shallowCopy)(options); - if (options.floor == null) { - options.floor = 0; - } - if (options.ceiling == null) { - options.ceiling = 10000; - } - if (options.interval == null) { - options.interval = 250; - } - return new Promise(function (resolve, reject) { - var timer = null; - var done = false; - // Returns true if cancel was successful. Unsuccessful cancel means we're already done. - var cancel = function () { - if (done) { - return false; - } - done = true; - if (timer) { - clearTimeout(timer); - } - return true; - }; - if (options.timeout) { - timer = setTimeout(function () { - if (cancel()) { - reject(new Error("timeout")); - } - }, options.timeout); - } - var retryLimit = options.retryLimit; - var attempt = 0; - function check() { - return func().then(function (result) { - // If we have a result, or are allowed null then we're done - if (result !== undefined) { - if (cancel()) { - resolve(result); - } - } - else if (options.oncePoll) { - options.oncePoll.once("poll", check); - } - else if (options.onceBlock) { - options.onceBlock.once("block", check); - // Otherwise, exponential back-off (up to 10s) our next request - } - else if (!done) { - attempt++; - if (attempt > retryLimit) { - if (cancel()) { - reject(new Error("retry limit reached")); - } - return; - } - var timeout = options.interval * parseInt(String(Math.random() * Math.pow(2, attempt))); - if (timeout < options.floor) { - timeout = options.floor; - } - if (timeout > options.ceiling) { - timeout = options.ceiling; - } - setTimeout(check, timeout); - } - return null; - }, function (error) { - if (cancel()) { - reject(error); - } - }); - } - check(); - }); -} -exports.poll = poll; -//# sourceMappingURL=index.js.map - -/***/ }), - -/***/ 82742: -/***/ ((__unused_webpack_module, exports) => { - - -Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.version = void 0; -exports.version = "wordlists/5.7.0"; -//# sourceMappingURL=_version.js.map - -/***/ }), - -/***/ 34242: -/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { - - -Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.wordlists = exports.Wordlist = exports.logger = void 0; -// Wordlists -// See: https://github.com/bitcoin/bips/blob/master/bip-0039/bip-0039-wordlists.md -var wordlist_1 = __nccwpck_require__(51497); -Object.defineProperty(exports, "logger", ({ enumerable: true, get: function () { return wordlist_1.logger; } })); -Object.defineProperty(exports, "Wordlist", ({ enumerable: true, get: function () { return wordlist_1.Wordlist; } })); -var wordlists_1 = __nccwpck_require__(19084); -Object.defineProperty(exports, "wordlists", ({ enumerable: true, get: function () { return wordlists_1.wordlists; } })); -//# sourceMappingURL=index.js.map - -/***/ }), - -/***/ 12087: -/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) { - - -var __extends = (this && this.__extends) || (function () { - var extendStatics = function (d, b) { - extendStatics = Object.setPrototypeOf || - ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || - function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; }; - return extendStatics(d, b); - }; - return function (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 __()); - }; -})(); -Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.langCz = void 0; -var wordlist_1 = __nccwpck_require__(51497); -var words = "AbdikaceAbecedaAdresaAgreseAkceAktovkaAlejAlkoholAmputaceAnanasAndulkaAnekdotaAnketaAntikaAnulovatArchaAroganceAsfaltAsistentAspiraceAstmaAstronomAtlasAtletikaAtolAutobusAzylBabkaBachorBacilBaculkaBadatelBagetaBagrBahnoBakterieBaladaBaletkaBalkonBalonekBalvanBalzaBambusBankomatBarbarBaretBarmanBarokoBarvaBaterkaBatohBavlnaBazalkaBazilikaBazukaBednaBeranBesedaBestieBetonBezinkaBezmocBeztakBicyklBidloBiftekBikinyBilanceBiografBiologBitvaBizonBlahobytBlatouchBlechaBleduleBleskBlikatBliznaBlokovatBlouditBludBobekBobrBodlinaBodnoutBohatostBojkotBojovatBokorysBolestBorecBoroviceBotaBoubelBouchatBoudaBouleBouratBoxerBradavkaBramboraBrankaBratrBreptaBriketaBrkoBrlohBronzBroskevBrunetkaBrusinkaBrzdaBrzyBublinaBubnovatBuchtaBuditelBudkaBudovaBufetBujarostBukviceBuldokBulvaBundaBunkrBurzaButikBuvolBuzolaBydletBylinaBytovkaBzukotCapartCarevnaCedrCeduleCejchCejnCelaCelerCelkemCelniceCeninaCennostCenovkaCentrumCenzorCestopisCetkaChalupaChapadloCharitaChataChechtatChemieChichotChirurgChladChlebaChlubitChmelChmuraChobotChocholChodbaCholeraChomoutChopitChorobaChovChrapotChrlitChrtChrupChtivostChudinaChutnatChvatChvilkaChvostChybaChystatChytitCibuleCigaretaCihelnaCihlaCinkotCirkusCisternaCitaceCitrusCizinecCizostClonaCokolivCouvatCtitelCtnostCudnostCuketaCukrCupotCvaknoutCvalCvikCvrkotCyklistaDalekoDarebaDatelDatumDceraDebataDechovkaDecibelDeficitDeflaceDeklDekretDemokratDepreseDerbyDeskaDetektivDikobrazDiktovatDiodaDiplomDiskDisplejDivadloDivochDlahaDlouhoDluhopisDnesDobroDobytekDocentDochutitDodnesDohledDohodaDohraDojemDojniceDokladDokolaDoktorDokumentDolarDolevaDolinaDomaDominantDomluvitDomovDonutitDopadDopisDoplnitDoposudDoprovodDopustitDorazitDorostDortDosahDoslovDostatekDosudDosytaDotazDotekDotknoutDoufatDoutnatDovozceDozaduDoznatDozorceDrahotaDrakDramatikDravecDrazeDrdolDrobnostDrogerieDrozdDrsnostDrtitDrzostDubenDuchovnoDudekDuhaDuhovkaDusitDusnoDutostDvojiceDvorecDynamitEkologEkonomieElektronElipsaEmailEmiseEmoceEmpatieEpizodaEpochaEpopejEposEsejEsenceEskortaEskymoEtiketaEuforieEvoluceExekuceExkurzeExpediceExplozeExportExtraktFackaFajfkaFakultaFanatikFantazieFarmacieFavoritFazoleFederaceFejetonFenkaFialkaFigurantFilozofFiltrFinanceFintaFixaceFjordFlanelFlirtFlotilaFondFosforFotbalFotkaFotonFrakceFreskaFrontaFukarFunkceFyzikaGalejeGarantGenetikaGeologGilotinaGlazuraGlejtGolemGolfistaGotikaGrafGramofonGranuleGrepGrilGrogGroteskaGumaHadiceHadrHalaHalenkaHanbaHanopisHarfaHarpunaHavranHebkostHejkalHejnoHejtmanHektarHelmaHematomHerecHernaHesloHezkyHistorikHladovkaHlasivkyHlavaHledatHlenHlodavecHlohHloupostHltatHlubinaHluchotaHmatHmotaHmyzHnisHnojivoHnoutHoblinaHobojHochHodinyHodlatHodnotaHodovatHojnostHokejHolinkaHolkaHolubHomoleHonitbaHonoraceHoralHordaHorizontHorkoHorlivecHormonHorninaHoroskopHorstvoHospodaHostinaHotovostHoubaHoufHoupatHouskaHovorHradbaHraniceHravostHrazdaHrbolekHrdinaHrdloHrdostHrnekHrobkaHromadaHrotHroudaHrozenHrstkaHrubostHryzatHubenostHubnoutHudbaHukotHumrHusitaHustotaHvozdHybnostHydrantHygienaHymnaHysterikIdylkaIhnedIkonaIluzeImunitaInfekceInflaceInkasoInovaceInspekceInternetInvalidaInvestorInzerceIronieJablkoJachtaJahodaJakmileJakostJalovecJantarJarmarkJaroJasanJasnoJatkaJavorJazykJedinecJedleJednatelJehlanJekotJelenJelitoJemnostJenomJepiceJeseterJevitJezdecJezeroJinakJindyJinochJiskraJistotaJitrniceJizvaJmenovatJogurtJurtaKabaretKabelKabinetKachnaKadetKadidloKahanKajakKajutaKakaoKaktusKalamitaKalhotyKalibrKalnostKameraKamkolivKamnaKanibalKanoeKantorKapalinaKapelaKapitolaKapkaKapleKapotaKaprKapustaKapybaraKaramelKarotkaKartonKasaKatalogKatedraKauceKauzaKavalecKazajkaKazetaKazivostKdekolivKdesiKedlubenKempKeramikaKinoKlacekKladivoKlamKlapotKlasikaKlaunKlecKlenbaKlepatKlesnoutKlidKlimaKlisnaKloboukKlokanKlopaKloubKlubovnaKlusatKluzkostKmenKmitatKmotrKnihaKnotKoaliceKoberecKobkaKoblihaKobylaKocourKohoutKojenecKokosKoktejlKolapsKoledaKolizeKoloKomandoKometaKomikKomnataKomoraKompasKomunitaKonatKonceptKondiceKonecKonfeseKongresKoninaKonkursKontaktKonzervaKopanecKopieKopnoutKoprovkaKorbelKorektorKormidloKoroptevKorpusKorunaKorytoKorzetKosatecKostkaKotelKotletaKotoulKoukatKoupelnaKousekKouzloKovbojKozaKozorohKrabiceKrachKrajinaKralovatKrasopisKravataKreditKrejcarKresbaKrevetaKriketKritikKrizeKrkavecKrmelecKrmivoKrocanKrokKronikaKropitKroupaKrovkaKrtekKruhadloKrupiceKrutostKrvinkaKrychleKryptaKrystalKrytKudlankaKufrKujnostKuklaKulajdaKulichKulkaKulometKulturaKunaKupodivuKurtKurzorKutilKvalitaKvasinkaKvestorKynologKyselinaKytaraKyticeKytkaKytovecKyvadloLabradorLachtanLadnostLaikLakomecLamelaLampaLanovkaLasiceLasoLasturaLatinkaLavinaLebkaLeckdyLedenLedniceLedovkaLedvinaLegendaLegieLegraceLehceLehkostLehnoutLektvarLenochodLentilkaLepenkaLepidloLetadloLetecLetmoLetokruhLevhartLevitaceLevobokLibraLichotkaLidojedLidskostLihovinaLijavecLilekLimetkaLinieLinkaLinoleumListopadLitinaLitovatLobistaLodivodLogikaLogopedLokalitaLoketLomcovatLopataLopuchLordLososLotrLoudalLouhLoukaLouskatLovecLstivostLucernaLuciferLumpLuskLustraceLviceLyraLyrikaLysinaMadamMadloMagistrMahagonMajetekMajitelMajoritaMakakMakoviceMakrelaMalbaMalinaMalovatMalviceMaminkaMandleMankoMarnostMasakrMaskotMasopustMaticeMatrikaMaturitaMazanecMazivoMazlitMazurkaMdlobaMechanikMeditaceMedovinaMelasaMelounMentolkaMetlaMetodaMetrMezeraMigraceMihnoutMihuleMikinaMikrofonMilenecMilimetrMilostMimikaMincovnaMinibarMinometMinulostMiskaMistrMixovatMladostMlhaMlhovinaMlokMlsatMluvitMnichMnohemMobilMocnostModelkaModlitbaMohylaMokroMolekulaMomentkaMonarchaMonoklMonstrumMontovatMonzunMosazMoskytMostMotivaceMotorkaMotykaMouchaMoudrostMozaikaMozekMozolMramorMravenecMrkevMrtvolaMrzetMrzutostMstitelMudrcMuflonMulatMumieMuniceMusetMutaceMuzeumMuzikantMyslivecMzdaNabouratNachytatNadaceNadbytekNadhozNadobroNadpisNahlasNahnatNahodileNahraditNaivitaNajednouNajistoNajmoutNaklonitNakonecNakrmitNalevoNamazatNamluvitNanometrNaokoNaopakNaostroNapadatNapevnoNaplnitNapnoutNaposledNaprostoNaroditNarubyNarychloNasaditNasekatNaslepoNastatNatolikNavenekNavrchNavzdoryNazvatNebeNechatNeckyNedalekoNedbatNeduhNegaceNehetNehodaNejenNejprveNeklidNelibostNemilostNemocNeochotaNeonkaNepokojNerostNervNesmyslNesouladNetvorNeuronNevinaNezvykleNicotaNijakNikamNikdyNiklNikterakNitroNoclehNohaviceNominaceNoraNorekNositelNosnostNouzeNovinyNovotaNozdraNudaNudleNugetNutitNutnostNutrieNymfaObalObarvitObavaObdivObecObehnatObejmoutObezitaObhajobaObilniceObjasnitObjektObklopitOblastOblekOblibaOblohaObludaObnosObohatitObojekOboutObrazecObrnaObrubaObrysObsahObsluhaObstaratObuvObvazObvinitObvodObvykleObyvatelObzorOcasOcelOcenitOchladitOchotaOchranaOcitnoutOdbojOdbytOdchodOdcizitOdebratOdeslatOdevzdatOdezvaOdhadceOdhoditOdjetOdjinudOdkazOdkoupitOdlivOdlukaOdmlkaOdolnostOdpadOdpisOdploutOdporOdpustitOdpykatOdrazkaOdsouditOdstupOdsunOdtokOdtudOdvahaOdvetaOdvolatOdvracetOdznakOfinaOfsajdOhlasOhniskoOhradaOhrozitOhryzekOkapOkeniceOklikaOknoOkouzlitOkovyOkrasaOkresOkrsekOkruhOkupantOkurkaOkusitOlejninaOlizovatOmakOmeletaOmezitOmladinaOmlouvatOmluvaOmylOnehdyOpakovatOpasekOperaceOpiceOpilostOpisovatOporaOpoziceOpravduOprotiOrbitalOrchestrOrgieOrliceOrlojOrtelOsadaOschnoutOsikaOsivoOslavaOslepitOslnitOslovitOsnovaOsobaOsolitOspalecOstenOstrahaOstudaOstychOsvojitOteplitOtiskOtopOtrhatOtrlostOtrokOtrubyOtvorOvanoutOvarOvesOvlivnitOvoceOxidOzdobaPachatelPacientPadouchPahorekPaktPalandaPalecPalivoPalubaPamfletPamlsekPanenkaPanikaPannaPanovatPanstvoPantoflePaprikaParketaParodiePartaParukaParybaPasekaPasivitaPastelkaPatentPatronaPavoukPaznehtPazourekPeckaPedagogPejsekPekloPelotonPenaltaPendrekPenzePeriskopPeroPestrostPetardaPeticePetrolejPevninaPexesoPianistaPihaPijavicePiklePiknikPilinaPilnostPilulkaPinzetaPipetaPisatelPistolePitevnaPivnicePivovarPlacentaPlakatPlamenPlanetaPlastikaPlatitPlavidloPlazPlechPlemenoPlentaPlesPletivoPlevelPlivatPlnitPlnoPlochaPlodinaPlombaPloutPlukPlynPobavitPobytPochodPocitPoctivecPodatPodcenitPodepsatPodhledPodivitPodkladPodmanitPodnikPodobaPodporaPodrazPodstataPodvodPodzimPoeziePohankaPohnutkaPohovorPohromaPohybPointaPojistkaPojmoutPokazitPoklesPokojPokrokPokutaPokynPolednePolibekPolknoutPolohaPolynomPomaluPominoutPomlkaPomocPomstaPomysletPonechatPonorkaPonurostPopadatPopelPopisekPoplachPoprositPopsatPopudPoradcePorcePorodPoruchaPoryvPosaditPosedPosilaPoskokPoslanecPosouditPospoluPostavaPosudekPosypPotahPotkanPotleskPotomekPotravaPotupaPotvoraPoukazPoutoPouzdroPovahaPovidlaPovlakPovozPovrchPovstatPovykPovzdechPozdravPozemekPoznatekPozorPozvatPracovatPrahoryPraktikaPralesPraotecPraporekPrasePravdaPrincipPrknoProbuditProcentoProdejProfeseProhraProjektProlomitPromilePronikatPropadProrokProsbaProtonProutekProvazPrskavkaPrstenPrudkostPrutPrvekPrvohoryPsanecPsovodPstruhPtactvoPubertaPuchPudlPukavecPuklinaPukrlePultPumpaPuncPupenPusaPusinkaPustinaPutovatPutykaPyramidaPyskPytelRacekRachotRadiaceRadniceRadonRaftRagbyRaketaRakovinaRamenoRampouchRandeRarachRaritaRasovnaRastrRatolestRazanceRazidloReagovatReakceReceptRedaktorReferentReflexRejnokReklamaRekordRekrutRektorReputaceRevizeRevmaRevolverRezervaRiskovatRizikoRobotikaRodokmenRohovkaRokleRokokoRomanetoRopovodRopuchaRorejsRosolRostlinaRotmistrRotopedRotundaRoubenkaRouchoRoupRouraRovinaRovniceRozborRozchodRozdatRozeznatRozhodceRozinkaRozjezdRozkazRozlohaRozmarRozpadRozruchRozsahRoztokRozumRozvodRubrikaRuchadloRukaviceRukopisRybaRybolovRychlostRydloRypadloRytinaRyzostSadistaSahatSakoSamecSamizdatSamotaSanitkaSardinkaSasankaSatelitSazbaSazeniceSborSchovatSebrankaSeceseSedadloSedimentSedloSehnatSejmoutSekeraSektaSekundaSekvojeSemenoSenoServisSesaditSeshoraSeskokSeslatSestraSesuvSesypatSetbaSetinaSetkatSetnoutSetrvatSeverSeznamShodaShrnoutSifonSilniceSirkaSirotekSirupSituaceSkafandrSkaliskoSkanzenSkautSkeptikSkicaSkladbaSkleniceSkloSkluzSkobaSkokanSkoroSkriptaSkrzSkupinaSkvostSkvrnaSlabikaSladidloSlaninaSlastSlavnostSledovatSlepecSlevaSlezinaSlibSlinaSlizniceSlonSloupekSlovoSluchSluhaSlunceSlupkaSlzaSmaragdSmetanaSmilstvoSmlouvaSmogSmradSmrkSmrtkaSmutekSmyslSnadSnahaSnobSobotaSochaSodovkaSokolSopkaSotvaSoubojSoucitSoudceSouhlasSouladSoumrakSoupravaSousedSoutokSouvisetSpalovnaSpasitelSpisSplavSpodekSpojenecSpoluSponzorSpornostSpoustaSprchaSpustitSrandaSrazSrdceSrnaSrnecSrovnatSrpenSrstSrubStaniceStarostaStatikaStavbaStehnoStezkaStodolaStolekStopaStornoStoupatStrachStresStrhnoutStromStrunaStudnaStupniceStvolStykSubjektSubtropySucharSudostSuknoSundatSunoutSurikataSurovinaSvahSvalstvoSvetrSvatbaSvazekSvisleSvitekSvobodaSvodidloSvorkaSvrabSykavkaSykotSynekSynovecSypatSypkostSyrovostSyselSytostTabletkaTabuleTahounTajemnoTajfunTajgaTajitTajnostTaktikaTamhleTamponTancovatTanecTankerTapetaTaveninaTazatelTechnikaTehdyTekutinaTelefonTemnotaTendenceTenistaTenorTeplotaTepnaTeprveTerapieTermoskaTextilTichoTiskopisTitulekTkadlecTkaninaTlapkaTleskatTlukotTlupaTmelToaletaTopinkaTopolTorzoTouhaToulecTradiceTraktorTrampTrasaTraverzaTrefitTrestTrezorTrhavinaTrhlinaTrochuTrojiceTroskaTroubaTrpceTrpitelTrpkostTrubecTruchlitTruhliceTrusTrvatTudyTuhnoutTuhostTundraTuristaTurnajTuzemskoTvarohTvorbaTvrdostTvrzTygrTykevUbohostUbozeUbratUbrousekUbrusUbytovnaUchoUctivostUdivitUhraditUjednatUjistitUjmoutUkazatelUklidnitUklonitUkotvitUkrojitUliceUlitaUlovitUmyvadloUnavitUniformaUniknoutUpadnoutUplatnitUplynoutUpoutatUpravitUranUrazitUsednoutUsilovatUsmrtitUsnadnitUsnoutUsouditUstlatUstrnoutUtahovatUtkatUtlumitUtonoutUtopenecUtrousitUvalitUvolnitUvozovkaUzdravitUzelUzeninaUzlinaUznatVagonValchaValounVanaVandalVanilkaVaranVarhanyVarovatVcelkuVchodVdovaVedroVegetaceVejceVelbloudVeletrhVelitelVelmocVelrybaVenkovVerandaVerzeVeselkaVeskrzeVesniceVespoduVestaVeterinaVeverkaVibraceVichrVideohraVidinaVidleVilaViniceVisetVitalitaVizeVizitkaVjezdVkladVkusVlajkaVlakVlasecVlevoVlhkostVlivVlnovkaVloupatVnucovatVnukVodaVodivostVodoznakVodstvoVojenskyVojnaVojskoVolantVolbaVolitVolnoVoskovkaVozidloVozovnaVpravoVrabecVracetVrahVrataVrbaVrcholekVrhatVrstvaVrtuleVsaditVstoupitVstupVtipVybavitVybratVychovatVydatVydraVyfotitVyhledatVyhnoutVyhoditVyhraditVyhubitVyjasnitVyjetVyjmoutVyklopitVykonatVylekatVymazatVymezitVymizetVymysletVynechatVynikatVynutitVypadatVyplatitVypravitVypustitVyrazitVyrovnatVyrvatVyslovitVysokoVystavitVysunoutVysypatVytasitVytesatVytratitVyvinoutVyvolatVyvrhelVyzdobitVyznatVzaduVzbuditVzchopitVzdorVzduchVzdychatVzestupVzhledemVzkazVzlykatVznikVzorekVzpouraVztahVztekXylofonZabratZabydletZachovatZadarmoZadusitZafoukatZahltitZahoditZahradaZahynoutZajatecZajetZajistitZaklepatZakoupitZalepitZamezitZamotatZamysletZanechatZanikatZaplatitZapojitZapsatZarazitZastavitZasunoutZatajitZatemnitZatknoutZaujmoutZavalitZaveletZavinitZavolatZavrtatZazvonitZbavitZbrusuZbudovatZbytekZdalekaZdarmaZdatnostZdivoZdobitZdrojZdvihZdymadloZeleninaZemanZeminaZeptatZezaduZezdolaZhatitZhltnoutZhlubokaZhotovitZhrubaZimaZimniceZjemnitZklamatZkoumatZkratkaZkumavkaZlatoZlehkaZlobaZlomZlostZlozvykZmapovatZmarZmatekZmijeZmizetZmocnitZmodratZmrzlinaZmutovatZnakZnalostZnamenatZnovuZobrazitZotavitZoubekZoufaleZploditZpomalitZpravaZprostitZprudkaZprvuZradaZranitZrcadloZrnitostZrnoZrovnaZrychlitZrzavostZtichaZtratitZubovinaZubrZvednoutZvenkuZveselaZvonZvratZvukovodZvyk"; -var wordlist = null; -function loadWords(lang) { - if (wordlist != null) { - return; - } - wordlist = words.replace(/([A-Z])/g, " $1").toLowerCase().substring(1).split(" "); - // Verify the computed list matches the official list - /* istanbul ignore if */ - if (wordlist_1.Wordlist.check(lang) !== "0x25f44555f4af25b51a711136e1c7d6e50ce9f8917d39d6b1f076b2bb4d2fac1a") { - wordlist = null; - throw new Error("BIP39 Wordlist for en (English) FAILED"); - } -} -var LangCz = /** @class */ (function (_super) { - __extends(LangCz, _super); - function LangCz() { - return _super.call(this, "cz") || this; - } - LangCz.prototype.getWord = function (index) { - loadWords(this); - return wordlist[index]; - }; - LangCz.prototype.getWordIndex = function (word) { - loadWords(this); - return wordlist.indexOf(word); - }; - return LangCz; -}(wordlist_1.Wordlist)); -var langCz = new LangCz(); -exports.langCz = langCz; -wordlist_1.Wordlist.register(langCz); -//# sourceMappingURL=lang-cz.js.map - -/***/ }), - -/***/ 42477: -/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) { - - -var __extends = (this && this.__extends) || (function () { - var extendStatics = function (d, b) { - extendStatics = Object.setPrototypeOf || - ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || - function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; }; - return extendStatics(d, b); - }; - return function (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 __()); - }; -})(); -Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.langEn = void 0; -var wordlist_1 = __nccwpck_require__(51497); -var words = "AbandonAbilityAbleAboutAboveAbsentAbsorbAbstractAbsurdAbuseAccessAccidentAccountAccuseAchieveAcidAcousticAcquireAcrossActActionActorActressActualAdaptAddAddictAddressAdjustAdmitAdultAdvanceAdviceAerobicAffairAffordAfraidAgainAgeAgentAgreeAheadAimAirAirportAisleAlarmAlbumAlcoholAlertAlienAllAlleyAllowAlmostAloneAlphaAlreadyAlsoAlterAlwaysAmateurAmazingAmongAmountAmusedAnalystAnchorAncientAngerAngleAngryAnimalAnkleAnnounceAnnualAnotherAnswerAntennaAntiqueAnxietyAnyApartApologyAppearAppleApproveAprilArchArcticAreaArenaArgueArmArmedArmorArmyAroundArrangeArrestArriveArrowArtArtefactArtistArtworkAskAspectAssaultAssetAssistAssumeAsthmaAthleteAtomAttackAttendAttitudeAttractAuctionAuditAugustAuntAuthorAutoAutumnAverageAvocadoAvoidAwakeAwareAwayAwesomeAwfulAwkwardAxisBabyBachelorBaconBadgeBagBalanceBalconyBallBambooBananaBannerBarBarelyBargainBarrelBaseBasicBasketBattleBeachBeanBeautyBecauseBecomeBeefBeforeBeginBehaveBehindBelieveBelowBeltBenchBenefitBestBetrayBetterBetweenBeyondBicycleBidBikeBindBiologyBirdBirthBitterBlackBladeBlameBlanketBlastBleakBlessBlindBloodBlossomBlouseBlueBlurBlushBoardBoatBodyBoilBombBoneBonusBookBoostBorderBoringBorrowBossBottomBounceBoxBoyBracketBrainBrandBrassBraveBreadBreezeBrickBridgeBriefBrightBringBriskBroccoliBrokenBronzeBroomBrotherBrownBrushBubbleBuddyBudgetBuffaloBuildBulbBulkBulletBundleBunkerBurdenBurgerBurstBusBusinessBusyButterBuyerBuzzCabbageCabinCableCactusCageCakeCallCalmCameraCampCanCanalCancelCandyCannonCanoeCanvasCanyonCapableCapitalCaptainCarCarbonCardCargoCarpetCarryCartCaseCashCasinoCastleCasualCatCatalogCatchCategoryCattleCaughtCauseCautionCaveCeilingCeleryCementCensusCenturyCerealCertainChairChalkChampionChangeChaosChapterChargeChaseChatCheapCheckCheeseChefCherryChestChickenChiefChildChimneyChoiceChooseChronicChuckleChunkChurnCigarCinnamonCircleCitizenCityCivilClaimClapClarifyClawClayCleanClerkCleverClickClientCliffClimbClinicClipClockClogCloseClothCloudClownClubClumpClusterClutchCoachCoastCoconutCodeCoffeeCoilCoinCollectColorColumnCombineComeComfortComicCommonCompanyConcertConductConfirmCongressConnectConsiderControlConvinceCookCoolCopperCopyCoralCoreCornCorrectCostCottonCouchCountryCoupleCourseCousinCoverCoyoteCrackCradleCraftCramCraneCrashCraterCrawlCrazyCreamCreditCreekCrewCricketCrimeCrispCriticCropCrossCrouchCrowdCrucialCruelCruiseCrumbleCrunchCrushCryCrystalCubeCultureCupCupboardCuriousCurrentCurtainCurveCushionCustomCuteCycleDadDamageDampDanceDangerDaringDashDaughterDawnDayDealDebateDebrisDecadeDecemberDecideDeclineDecorateDecreaseDeerDefenseDefineDefyDegreeDelayDeliverDemandDemiseDenialDentistDenyDepartDependDepositDepthDeputyDeriveDescribeDesertDesignDeskDespairDestroyDetailDetectDevelopDeviceDevoteDiagramDialDiamondDiaryDiceDieselDietDifferDigitalDignityDilemmaDinnerDinosaurDirectDirtDisagreeDiscoverDiseaseDishDismissDisorderDisplayDistanceDivertDivideDivorceDizzyDoctorDocumentDogDollDolphinDomainDonateDonkeyDonorDoorDoseDoubleDoveDraftDragonDramaDrasticDrawDreamDressDriftDrillDrinkDripDriveDropDrumDryDuckDumbDuneDuringDustDutchDutyDwarfDynamicEagerEagleEarlyEarnEarthEasilyEastEasyEchoEcologyEconomyEdgeEditEducateEffortEggEightEitherElbowElderElectricElegantElementElephantElevatorEliteElseEmbarkEmbodyEmbraceEmergeEmotionEmployEmpowerEmptyEnableEnactEndEndlessEndorseEnemyEnergyEnforceEngageEngineEnhanceEnjoyEnlistEnoughEnrichEnrollEnsureEnterEntireEntryEnvelopeEpisodeEqualEquipEraEraseErodeErosionErrorEruptEscapeEssayEssenceEstateEternalEthicsEvidenceEvilEvokeEvolveExactExampleExcessExchangeExciteExcludeExcuseExecuteExerciseExhaustExhibitExileExistExitExoticExpandExpectExpireExplainExposeExpressExtendExtraEyeEyebrowFabricFaceFacultyFadeFaintFaithFallFalseFameFamilyFamousFanFancyFantasyFarmFashionFatFatalFatherFatigueFaultFavoriteFeatureFebruaryFederalFeeFeedFeelFemaleFenceFestivalFetchFeverFewFiberFictionFieldFigureFileFilmFilterFinalFindFineFingerFinishFireFirmFirstFiscalFishFitFitnessFixFlagFlameFlashFlatFlavorFleeFlightFlipFloatFlockFloorFlowerFluidFlushFlyFoamFocusFogFoilFoldFollowFoodFootForceForestForgetForkFortuneForumForwardFossilFosterFoundFoxFragileFrameFrequentFreshFriendFringeFrogFrontFrostFrownFrozenFruitFuelFunFunnyFurnaceFuryFutureGadgetGainGalaxyGalleryGameGapGarageGarbageGardenGarlicGarmentGasGaspGateGatherGaugeGazeGeneralGeniusGenreGentleGenuineGestureGhostGiantGiftGiggleGingerGiraffeGirlGiveGladGlanceGlareGlassGlideGlimpseGlobeGloomGloryGloveGlowGlueGoatGoddessGoldGoodGooseGorillaGospelGossipGovernGownGrabGraceGrainGrantGrapeGrassGravityGreatGreenGridGriefGritGroceryGroupGrowGruntGuardGuessGuideGuiltGuitarGunGymHabitHairHalfHammerHamsterHandHappyHarborHardHarshHarvestHatHaveHawkHazardHeadHealthHeartHeavyHedgehogHeightHelloHelmetHelpHenHeroHiddenHighHillHintHipHireHistoryHobbyHockeyHoldHoleHolidayHollowHomeHoneyHoodHopeHornHorrorHorseHospitalHostHotelHourHoverHubHugeHumanHumbleHumorHundredHungryHuntHurdleHurryHurtHusbandHybridIceIconIdeaIdentifyIdleIgnoreIllIllegalIllnessImageImitateImmenseImmuneImpactImposeImproveImpulseInchIncludeIncomeIncreaseIndexIndicateIndoorIndustryInfantInflictInformInhaleInheritInitialInjectInjuryInmateInnerInnocentInputInquiryInsaneInsectInsideInspireInstallIntactInterestIntoInvestInviteInvolveIronIslandIsolateIssueItemIvoryJacketJaguarJarJazzJealousJeansJellyJewelJobJoinJokeJourneyJoyJudgeJuiceJumpJungleJuniorJunkJustKangarooKeenKeepKetchupKeyKickKidKidneyKindKingdomKissKitKitchenKiteKittenKiwiKneeKnifeKnockKnowLabLabelLaborLadderLadyLakeLampLanguageLaptopLargeLaterLatinLaughLaundryLavaLawLawnLawsuitLayerLazyLeaderLeafLearnLeaveLectureLeftLegLegalLegendLeisureLemonLendLengthLensLeopardLessonLetterLevelLiarLibertyLibraryLicenseLifeLiftLightLikeLimbLimitLinkLionLiquidListLittleLiveLizardLoadLoanLobsterLocalLockLogicLonelyLongLoopLotteryLoudLoungeLoveLoyalLuckyLuggageLumberLunarLunchLuxuryLyricsMachineMadMagicMagnetMaidMailMainMajorMakeMammalManManageMandateMangoMansionManualMapleMarbleMarchMarginMarineMarketMarriageMaskMassMasterMatchMaterialMathMatrixMatterMaximumMazeMeadowMeanMeasureMeatMechanicMedalMediaMelodyMeltMemberMemoryMentionMenuMercyMergeMeritMerryMeshMessageMetalMethodMiddleMidnightMilkMillionMimicMindMinimumMinorMinuteMiracleMirrorMiseryMissMistakeMixMixedMixtureMobileModelModifyMomMomentMonitorMonkeyMonsterMonthMoonMoralMoreMorningMosquitoMotherMotionMotorMountainMouseMoveMovieMuchMuffinMuleMultiplyMuscleMuseumMushroomMusicMustMutualMyselfMysteryMythNaiveNameNapkinNarrowNastyNationNatureNearNeckNeedNegativeNeglectNeitherNephewNerveNestNetNetworkNeutralNeverNewsNextNiceNightNobleNoiseNomineeNoodleNormalNorthNoseNotableNoteNothingNoticeNovelNowNuclearNumberNurseNutOakObeyObjectObligeObscureObserveObtainObviousOccurOceanOctoberOdorOffOfferOfficeOftenOilOkayOldOliveOlympicOmitOnceOneOnionOnlineOnlyOpenOperaOpinionOpposeOptionOrangeOrbitOrchardOrderOrdinaryOrganOrientOriginalOrphanOstrichOtherOutdoorOuterOutputOutsideOvalOvenOverOwnOwnerOxygenOysterOzonePactPaddlePagePairPalacePalmPandaPanelPanicPantherPaperParadeParentParkParrotPartyPassPatchPathPatientPatrolPatternPausePavePaymentPeacePeanutPearPeasantPelicanPenPenaltyPencilPeoplePepperPerfectPermitPersonPetPhonePhotoPhrasePhysicalPianoPicnicPicturePiecePigPigeonPillPilotPinkPioneerPipePistolPitchPizzaPlacePlanetPlasticPlatePlayPleasePledgePluckPlugPlungePoemPoetPointPolarPolePolicePondPonyPoolPopularPortionPositionPossiblePostPotatoPotteryPovertyPowderPowerPracticePraisePredictPreferPreparePresentPrettyPreventPricePridePrimaryPrintPriorityPrisonPrivatePrizeProblemProcessProduceProfitProgramProjectPromoteProofPropertyProsperProtectProudProvidePublicPuddingPullPulpPulsePumpkinPunchPupilPuppyPurchasePurityPurposePursePushPutPuzzlePyramidQualityQuantumQuarterQuestionQuickQuitQuizQuoteRabbitRaccoonRaceRackRadarRadioRailRainRaiseRallyRampRanchRandomRangeRapidRareRateRatherRavenRawRazorReadyRealReasonRebelRebuildRecallReceiveRecipeRecordRecycleReduceReflectReformRefuseRegionRegretRegularRejectRelaxReleaseReliefRelyRemainRememberRemindRemoveRenderRenewRentReopenRepairRepeatReplaceReportRequireRescueResembleResistResourceResponseResultRetireRetreatReturnReunionRevealReviewRewardRhythmRibRibbonRiceRichRideRidgeRifleRightRigidRingRiotRippleRiskRitualRivalRiverRoadRoastRobotRobustRocketRomanceRoofRookieRoomRoseRotateRoughRoundRouteRoyalRubberRudeRugRuleRunRunwayRuralSadSaddleSadnessSafeSailSaladSalmonSalonSaltSaluteSameSampleSandSatisfySatoshiSauceSausageSaveSayScaleScanScareScatterSceneSchemeSchoolScienceScissorsScorpionScoutScrapScreenScriptScrubSeaSearchSeasonSeatSecondSecretSectionSecuritySeedSeekSegmentSelectSellSeminarSeniorSenseSentenceSeriesServiceSessionSettleSetupSevenShadowShaftShallowShareShedShellSheriffShieldShiftShineShipShiverShockShoeShootShopShortShoulderShoveShrimpShrugShuffleShySiblingSickSideSiegeSightSignSilentSilkSillySilverSimilarSimpleSinceSingSirenSisterSituateSixSizeSkateSketchSkiSkillSkinSkirtSkullSlabSlamSleepSlenderSliceSlideSlightSlimSloganSlotSlowSlushSmallSmartSmileSmokeSmoothSnackSnakeSnapSniffSnowSoapSoccerSocialSockSodaSoftSolarSoldierSolidSolutionSolveSomeoneSongSoonSorrySortSoulSoundSoupSourceSouthSpaceSpareSpatialSpawnSpeakSpecialSpeedSpellSpendSphereSpiceSpiderSpikeSpinSpiritSplitSpoilSponsorSpoonSportSpotSpraySpreadSpringSpySquareSqueezeSquirrelStableStadiumStaffStageStairsStampStandStartStateStaySteakSteelStemStepStereoStickStillStingStockStomachStoneStoolStoryStoveStrategyStreetStrikeStrongStruggleStudentStuffStumbleStyleSubjectSubmitSubwaySuccessSuchSuddenSufferSugarSuggestSuitSummerSunSunnySunsetSuperSupplySupremeSureSurfaceSurgeSurpriseSurroundSurveySuspectSustainSwallowSwampSwapSwarmSwearSweetSwiftSwimSwingSwitchSwordSymbolSymptomSyrupSystemTableTackleTagTailTalentTalkTankTapeTargetTaskTasteTattooTaxiTeachTeamTellTenTenantTennisTentTermTestTextThankThatThemeThenTheoryThereTheyThingThisThoughtThreeThriveThrowThumbThunderTicketTideTigerTiltTimberTimeTinyTipTiredTissueTitleToastTobaccoTodayToddlerToeTogetherToiletTokenTomatoTomorrowToneTongueTonightToolToothTopTopicToppleTorchTornadoTortoiseTossTotalTouristTowardTowerTownToyTrackTradeTrafficTragicTrainTransferTrapTrashTravelTrayTreatTreeTrendTrialTribeTrickTriggerTrimTripTrophyTroubleTruckTrueTrulyTrumpetTrustTruthTryTubeTuitionTumbleTunaTunnelTurkeyTurnTurtleTwelveTwentyTwiceTwinTwistTwoTypeTypicalUglyUmbrellaUnableUnawareUncleUncoverUnderUndoUnfairUnfoldUnhappyUniformUniqueUnitUniverseUnknownUnlockUntilUnusualUnveilUpdateUpgradeUpholdUponUpperUpsetUrbanUrgeUsageUseUsedUsefulUselessUsualUtilityVacantVacuumVagueValidValleyValveVanVanishVaporVariousVastVaultVehicleVelvetVendorVentureVenueVerbVerifyVersionVeryVesselVeteranViableVibrantViciousVictoryVideoViewVillageVintageViolinVirtualVirusVisaVisitVisualVitalVividVocalVoiceVoidVolcanoVolumeVoteVoyageWageWagonWaitWalkWallWalnutWantWarfareWarmWarriorWashWaspWasteWaterWaveWayWealthWeaponWearWeaselWeatherWebWeddingWeekendWeirdWelcomeWestWetWhaleWhatWheatWheelWhenWhereWhipWhisperWideWidthWifeWildWillWinWindowWineWingWinkWinnerWinterWireWisdomWiseWishWitnessWolfWomanWonderWoodWoolWordWorkWorldWorryWorthWrapWreckWrestleWristWriteWrongYardYearYellowYouYoungYouthZebraZeroZoneZoo"; -var wordlist = null; -function loadWords(lang) { - if (wordlist != null) { - return; - } - wordlist = words.replace(/([A-Z])/g, " $1").toLowerCase().substring(1).split(" "); - // Verify the computed list matches the official list - /* istanbul ignore if */ - if (wordlist_1.Wordlist.check(lang) !== "0x3c8acc1e7b08d8e76f9fda015ef48dc8c710a73cb7e0f77b2c18a9b5a7adde60") { - wordlist = null; - throw new Error("BIP39 Wordlist for en (English) FAILED"); - } -} -var LangEn = /** @class */ (function (_super) { - __extends(LangEn, _super); - function LangEn() { - return _super.call(this, "en") || this; - } - LangEn.prototype.getWord = function (index) { - loadWords(this); - return wordlist[index]; - }; - LangEn.prototype.getWordIndex = function (word) { - loadWords(this); - return wordlist.indexOf(word); - }; - return LangEn; -}(wordlist_1.Wordlist)); -var langEn = new LangEn(); -exports.langEn = langEn; -wordlist_1.Wordlist.register(langEn); -//# sourceMappingURL=lang-en.js.map - -/***/ }), - -/***/ 82634: -/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) { - - -var __extends = (this && this.__extends) || (function () { - var extendStatics = function (d, b) { - extendStatics = Object.setPrototypeOf || - ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || - function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; }; - return extendStatics(d, b); - }; - return function (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 __()); - }; -})(); -Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.langEs = void 0; -var strings_1 = __nccwpck_require__(95578); -var wordlist_1 = __nccwpck_require__(51497); -var words = "A/bacoAbdomenAbejaAbiertoAbogadoAbonoAbortoAbrazoAbrirAbueloAbusoAcabarAcademiaAccesoAccio/nAceiteAcelgaAcentoAceptarA/cidoAclararAcne/AcogerAcosoActivoActoActrizActuarAcudirAcuerdoAcusarAdictoAdmitirAdoptarAdornoAduanaAdultoAe/reoAfectarAficio/nAfinarAfirmarA/gilAgitarAgoni/aAgostoAgotarAgregarAgrioAguaAgudoA/guilaAgujaAhogoAhorroAireAislarAjedrezAjenoAjusteAlacra/nAlambreAlarmaAlbaA/lbumAlcaldeAldeaAlegreAlejarAlertaAletaAlfilerAlgaAlgodo/nAliadoAlientoAlivioAlmaAlmejaAlmi/barAltarAltezaAltivoAltoAlturaAlumnoAlzarAmableAmanteAmapolaAmargoAmasarA/mbarA/mbitoAmenoAmigoAmistadAmorAmparoAmplioAnchoAncianoAnclaAndarAnde/nAnemiaA/nguloAnilloA/nimoAni/sAnotarAntenaAntiguoAntojoAnualAnularAnuncioA~adirA~ejoA~oApagarAparatoApetitoApioAplicarApodoAporteApoyoAprenderAprobarApuestaApuroAradoAra~aArarA/rbitroA/rbolArbustoArchivoArcoArderArdillaArduoA/reaA/ridoAriesArmoni/aArne/sAromaArpaArpo/nArregloArrozArrugaArteArtistaAsaAsadoAsaltoAscensoAsegurarAseoAsesorAsientoAsiloAsistirAsnoAsombroA/speroAstillaAstroAstutoAsumirAsuntoAtajoAtaqueAtarAtentoAteoA/ticoAtletaA/tomoAtraerAtrozAtu/nAudazAudioAugeAulaAumentoAusenteAutorAvalAvanceAvaroAveAvellanaAvenaAvestruzAvio/nAvisoAyerAyudaAyunoAzafra/nAzarAzoteAzu/carAzufreAzulBabaBaborBacheBahi/aBaileBajarBalanzaBalco/nBaldeBambu/BancoBandaBa~oBarbaBarcoBarnizBarroBa/sculaBasto/nBasuraBatallaBateri/aBatirBatutaBau/lBazarBebe/BebidaBelloBesarBesoBestiaBichoBienBingoBlancoBloqueBlusaBoaBobinaBoboBocaBocinaBodaBodegaBoinaBolaBoleroBolsaBombaBondadBonitoBonoBonsa/iBordeBorrarBosqueBoteBoti/nBo/vedaBozalBravoBrazoBrechaBreveBrilloBrincoBrisaBrocaBromaBronceBroteBrujaBruscoBrutoBuceoBucleBuenoBueyBufandaBufo/nBu/hoBuitreBultoBurbujaBurlaBurroBuscarButacaBuzo/nCaballoCabezaCabinaCabraCacaoCada/verCadenaCaerCafe/Cai/daCaima/nCajaCajo/nCalCalamarCalcioCaldoCalidadCalleCalmaCalorCalvoCamaCambioCamelloCaminoCampoCa/ncerCandilCanelaCanguroCanicaCantoCa~aCa~o/nCaobaCaosCapazCapita/nCapoteCaptarCapuchaCaraCarbo/nCa/rcelCaretaCargaCari~oCarneCarpetaCarroCartaCasaCascoCaseroCaspaCastorCatorceCatreCaudalCausaCazoCebollaCederCedroCeldaCe/lebreCelosoCe/lulaCementoCenizaCentroCercaCerdoCerezaCeroCerrarCertezaCe/spedCetroChacalChalecoChampu/ChanclaChapaCharlaChicoChisteChivoChoqueChozaChuletaChuparCiclo/nCiegoCieloCienCiertoCifraCigarroCimaCincoCineCintaCipre/sCircoCiruelaCisneCitaCiudadClamorClanClaroClaseClaveClienteClimaCli/nicaCobreCoccio/nCochinoCocinaCocoCo/digoCodoCofreCogerCoheteCoji/nCojoColaColchaColegioColgarColinaCollarColmoColumnaCombateComerComidaCo/modoCompraCondeConejoCongaConocerConsejoContarCopaCopiaCorazo/nCorbataCorchoCordo/nCoronaCorrerCoserCosmosCostaCra/neoCra/terCrearCrecerCrei/doCremaCri/aCrimenCriptaCrisisCromoCro/nicaCroquetaCrudoCruzCuadroCuartoCuatroCuboCubrirCucharaCuelloCuentoCuerdaCuestaCuevaCuidarCulebraCulpaCultoCumbreCumplirCunaCunetaCuotaCupo/nCu/pulaCurarCuriosoCursoCurvaCutisDamaDanzaDarDardoDa/tilDeberDe/bilDe/cadaDecirDedoDefensaDefinirDejarDelfi/nDelgadoDelitoDemoraDensoDentalDeporteDerechoDerrotaDesayunoDeseoDesfileDesnudoDestinoDesvi/oDetalleDetenerDeudaDi/aDiabloDiademaDiamanteDianaDiarioDibujoDictarDienteDietaDiezDifi/cilDignoDilemaDiluirDineroDirectoDirigirDiscoDise~oDisfrazDivaDivinoDobleDoceDolorDomingoDonDonarDoradoDormirDorsoDosDosisDrago/nDrogaDuchaDudaDueloDue~oDulceDu/oDuqueDurarDurezaDuroE/banoEbrioEcharEcoEcuadorEdadEdicio/nEdificioEditorEducarEfectoEficazEjeEjemploElefanteElegirElementoElevarElipseE/liteElixirElogioEludirEmbudoEmitirEmocio/nEmpateEmpe~oEmpleoEmpresaEnanoEncargoEnchufeEnci/aEnemigoEneroEnfadoEnfermoEnga~oEnigmaEnlaceEnormeEnredoEnsayoEnse~arEnteroEntrarEnvaseEnvi/oE/pocaEquipoErizoEscalaEscenaEscolarEscribirEscudoEsenciaEsferaEsfuerzoEspadaEspejoEspi/aEsposaEspumaEsqui/EstarEsteEstiloEstufaEtapaEternoE/ticaEtniaEvadirEvaluarEventoEvitarExactoExamenExcesoExcusaExentoExigirExilioExistirE/xitoExpertoExplicarExponerExtremoFa/bricaFa/bulaFachadaFa/cilFactorFaenaFajaFaldaFalloFalsoFaltarFamaFamiliaFamosoFarao/nFarmaciaFarolFarsaFaseFatigaFaunaFavorFaxFebreroFechaFelizFeoFeriaFerozFe/rtilFervorFesti/nFiableFianzaFiarFibraFiccio/nFichaFideoFiebreFielFieraFiestaFiguraFijarFijoFilaFileteFilialFiltroFinFincaFingirFinitoFirmaFlacoFlautaFlechaFlorFlotaFluirFlujoFlu/orFobiaFocaFogataFogo/nFolioFolletoFondoFormaForroFortunaForzarFosaFotoFracasoFra/gilFranjaFraseFraudeFrei/rFrenoFresaFri/oFritoFrutaFuegoFuenteFuerzaFugaFumarFuncio/nFundaFurgo/nFuriaFusilFu/tbolFuturoGacelaGafasGaitaGajoGalaGaleri/aGalloGambaGanarGanchoGangaGansoGarajeGarzaGasolinaGastarGatoGavila/nGemeloGemirGenGe/neroGenioGenteGeranioGerenteGermenGestoGiganteGimnasioGirarGiroGlaciarGloboGloriaGolGolfoGolosoGolpeGomaGordoGorilaGorraGotaGoteoGozarGradaGra/ficoGranoGrasaGratisGraveGrietaGrilloGripeGrisGritoGrosorGru/aGruesoGrumoGrupoGuanteGuapoGuardiaGuerraGui/aGui~oGuionGuisoGuitarraGusanoGustarHaberHa/bilHablarHacerHachaHadaHallarHamacaHarinaHazHaza~aHebillaHebraHechoHeladoHelioHembraHerirHermanoHe/roeHervirHieloHierroHi/gadoHigieneHijoHimnoHistoriaHocicoHogarHogueraHojaHombreHongoHonorHonraHoraHormigaHornoHostilHoyoHuecoHuelgaHuertaHuesoHuevoHuidaHuirHumanoHu/medoHumildeHumoHundirHuraca/nHurtoIconoIdealIdiomaI/doloIglesiaIglu/IgualIlegalIlusio/nImagenIma/nImitarImparImperioImponerImpulsoIncapazI/ndiceInerteInfielInformeIngenioInicioInmensoInmuneInnatoInsectoInstanteIntere/sI/ntimoIntuirInu/tilInviernoIraIrisIroni/aIslaIsloteJabali/Jabo/nJamo/nJarabeJardi/nJarraJaulaJazmi/nJefeJeringaJineteJornadaJorobaJovenJoyaJuergaJuevesJuezJugadorJugoJugueteJuicioJuncoJunglaJunioJuntarJu/piterJurarJustoJuvenilJuzgarKiloKoalaLabioLacioLacraLadoLadro/nLagartoLa/grimaLagunaLaicoLamerLa/minaLa/mparaLanaLanchaLangostaLanzaLa/pizLargoLarvaLa/stimaLataLa/texLatirLaurelLavarLazoLealLeccio/nLecheLectorLeerLegio/nLegumbreLejanoLenguaLentoLe~aLeo/nLeopardoLesio/nLetalLetraLeveLeyendaLibertadLibroLicorLi/derLidiarLienzoLigaLigeroLimaLi/miteLimo/nLimpioLinceLindoLi/neaLingoteLinoLinternaLi/quidoLisoListaLiteraLitioLitroLlagaLlamaLlantoLlaveLlegarLlenarLlevarLlorarLloverLluviaLoboLocio/nLocoLocuraLo/gicaLogroLombrizLomoLonjaLoteLuchaLucirLugarLujoLunaLunesLupaLustroLutoLuzMacetaMachoMaderaMadreMaduroMaestroMafiaMagiaMagoMai/zMaldadMaletaMallaMaloMama/MamboMamutMancoMandoManejarMangaManiqui/ManjarManoMansoMantaMa~anaMapaMa/quinaMarMarcoMareaMarfilMargenMaridoMa/rmolMarro/nMartesMarzoMasaMa/scaraMasivoMatarMateriaMatizMatrizMa/ximoMayorMazorcaMechaMedallaMedioMe/dulaMejillaMejorMelenaMelo/nMemoriaMenorMensajeMenteMenu/MercadoMerengueMe/ritoMesMeso/nMetaMeterMe/todoMetroMezclaMiedoMielMiembroMigaMilMilagroMilitarMillo/nMimoMinaMineroMi/nimoMinutoMiopeMirarMisaMiseriaMisilMismoMitadMitoMochilaMocio/nModaModeloMohoMojarMoldeMolerMolinoMomentoMomiaMonarcaMonedaMonjaMontoMo~oMoradaMorderMorenoMorirMorroMorsaMortalMoscaMostrarMotivoMoverMo/vilMozoMuchoMudarMuebleMuelaMuerteMuestraMugreMujerMulaMuletaMultaMundoMu~ecaMuralMuroMu/sculoMuseoMusgoMu/sicaMusloNa/carNacio/nNadarNaipeNaranjaNarizNarrarNasalNatalNativoNaturalNa/useaNavalNaveNavidadNecioNe/ctarNegarNegocioNegroNeo/nNervioNetoNeutroNevarNeveraNichoNidoNieblaNietoNi~ezNi~oNi/tidoNivelNoblezaNocheNo/minaNoriaNormaNorteNotaNoticiaNovatoNovelaNovioNubeNucaNu/cleoNudilloNudoNueraNueveNuezNuloNu/meroNutriaOasisObesoObispoObjetoObraObreroObservarObtenerObvioOcaOcasoOce/anoOchentaOchoOcioOcreOctavoOctubreOcultoOcuparOcurrirOdiarOdioOdiseaOesteOfensaOfertaOficioOfrecerOgroOi/doOi/rOjoOlaOleadaOlfatoOlivoOllaOlmoOlorOlvidoOmbligoOndaOnzaOpacoOpcio/nO/peraOpinarOponerOptarO/pticaOpuestoOracio/nOradorOralO/rbitaOrcaOrdenOrejaO/rganoOrgi/aOrgulloOrienteOrigenOrillaOroOrquestaOrugaOsadi/aOscuroOseznoOsoOstraOto~oOtroOvejaO/vuloO/xidoOxi/genoOyenteOzonoPactoPadrePaellaPa/ginaPagoPai/sPa/jaroPalabraPalcoPaletaPa/lidoPalmaPalomaPalparPanPanalPa/nicoPanteraPa~ueloPapa/PapelPapillaPaquetePararParcelaParedParirParoPa/rpadoParquePa/rrafoPartePasarPaseoPasio/nPasoPastaPataPatioPatriaPausaPautaPavoPayasoPeato/nPecadoPeceraPechoPedalPedirPegarPeinePelarPelda~oPeleaPeligroPellejoPeloPelucaPenaPensarPe~o/nPeo/nPeorPepinoPeque~oPeraPerchaPerderPerezaPerfilPericoPerlaPermisoPerroPersonaPesaPescaPe/simoPesta~aPe/taloPetro/leoPezPezu~aPicarPicho/nPiePiedraPiernaPiezaPijamaPilarPilotoPimientaPinoPintorPinzaPi~aPiojoPipaPirataPisarPiscinaPisoPistaPito/nPizcaPlacaPlanPlataPlayaPlazaPleitoPlenoPlomoPlumaPluralPobrePocoPoderPodioPoemaPoesi/aPoetaPolenPolici/aPolloPolvoPomadaPomeloPomoPompaPonerPorcio/nPortalPosadaPoseerPosiblePostePotenciaPotroPozoPradoPrecozPreguntaPremioPrensaPresoPrevioPrimoPri/ncipePrisio/nPrivarProaProbarProcesoProductoProezaProfesorProgramaProlePromesaProntoPropioPro/ximoPruebaPu/blicoPucheroPudorPuebloPuertaPuestoPulgaPulirPulmo/nPulpoPulsoPumaPuntoPu~alPu~oPupaPupilaPure/QuedarQuejaQuemarQuererQuesoQuietoQui/micaQuinceQuitarRa/banoRabiaRaboRacio/nRadicalRai/zRamaRampaRanchoRangoRapazRa/pidoRaptoRasgoRaspaRatoRayoRazaRazo/nReaccio/nRealidadReba~oReboteRecaerRecetaRechazoRecogerRecreoRectoRecursoRedRedondoReducirReflejoReformaRefra/nRefugioRegaloRegirReglaRegresoRehe/nReinoRei/rRejaRelatoRelevoRelieveRellenoRelojRemarRemedioRemoRencorRendirRentaRepartoRepetirReposoReptilResRescateResinaRespetoRestoResumenRetiroRetornoRetratoReunirReve/sRevistaReyRezarRicoRiegoRiendaRiesgoRifaRi/gidoRigorRinco/nRi~o/nRi/oRiquezaRisaRitmoRitoRizoRobleRoceRociarRodarRodeoRodillaRoerRojizoRojoRomeroRomperRonRoncoRondaRopaRoperoRosaRoscaRostroRotarRubi/RuborRudoRuedaRugirRuidoRuinaRuletaRuloRumboRumorRupturaRutaRutinaSa/badoSaberSabioSableSacarSagazSagradoSalaSaldoSaleroSalirSalmo/nSalo/nSalsaSaltoSaludSalvarSambaSancio/nSandi/aSanearSangreSanidadSanoSantoSapoSaqueSardinaSarte/nSastreSata/nSaunaSaxofo/nSeccio/nSecoSecretoSectaSedSeguirSeisSelloSelvaSemanaSemillaSendaSensorSe~alSe~orSepararSepiaSequi/aSerSerieSermo/nServirSesentaSesio/nSetaSetentaSeveroSexoSextoSidraSiestaSieteSigloSignoSi/labaSilbarSilencioSillaSi/mboloSimioSirenaSistemaSitioSituarSobreSocioSodioSolSolapaSoldadoSoledadSo/lidoSoltarSolucio/nSombraSondeoSonidoSonoroSonrisaSopaSoplarSoporteSordoSorpresaSorteoSoste/nSo/tanoSuaveSubirSucesoSudorSuegraSueloSue~oSuerteSufrirSujetoSulta/nSumarSuperarSuplirSuponerSupremoSurSurcoSure~oSurgirSustoSutilTabacoTabiqueTablaTabu/TacoTactoTajoTalarTalcoTalentoTallaTalo/nTama~oTamborTangoTanqueTapaTapeteTapiaTapo/nTaquillaTardeTareaTarifaTarjetaTarotTarroTartaTatuajeTauroTazaTazo/nTeatroTechoTeclaTe/cnicaTejadoTejerTejidoTelaTele/fonoTemaTemorTemploTenazTenderTenerTenisTensoTeori/aTerapiaTercoTe/rminoTernuraTerrorTesisTesoroTestigoTeteraTextoTezTibioTiburo/nTiempoTiendaTierraTiesoTigreTijeraTildeTimbreTi/midoTimoTintaTi/oTi/picoTipoTiraTiro/nTita/nTi/tereTi/tuloTizaToallaTobilloTocarTocinoTodoTogaToldoTomarTonoTontoToparTopeToqueTo/raxToreroTormentaTorneoToroTorpedoTorreTorsoTortugaTosToscoToserTo/xicoTrabajoTractorTraerTra/ficoTragoTrajeTramoTranceTratoTraumaTrazarTre/bolTreguaTreintaTrenTreparTresTribuTrigoTripaTristeTriunfoTrofeoTrompaTroncoTropaTroteTrozoTrucoTruenoTrufaTuberi/aTuboTuertoTumbaTumorTu/nelTu/nicaTurbinaTurismoTurnoTutorUbicarU/lceraUmbralUnidadUnirUniversoUnoUntarU~aUrbanoUrbeUrgenteUrnaUsarUsuarioU/tilUtopi/aUvaVacaVaci/oVacunaVagarVagoVainaVajillaValeVa/lidoValleValorVa/lvulaVampiroVaraVariarVaro/nVasoVecinoVectorVehi/culoVeinteVejezVelaVeleroVelozVenaVencerVendaVenenoVengarVenirVentaVenusVerVeranoVerboVerdeVeredaVerjaVersoVerterVi/aViajeVibrarVicioVi/ctimaVidaVi/deoVidrioViejoViernesVigorVilVillaVinagreVinoVi~edoVioli/nViralVirgoVirtudVisorVi/speraVistaVitaminaViudoVivazViveroVivirVivoVolca/nVolumenVolverVorazVotarVotoVozVueloVulgarYacerYateYeguaYemaYernoYesoYodoYogaYogurZafiroZanjaZapatoZarzaZonaZorroZumoZurdo"; -var lookup = {}; -var wordlist = null; -function dropDiacritic(word) { - wordlist_1.logger.checkNormalize(); - return (0, strings_1.toUtf8String)(Array.prototype.filter.call((0, strings_1.toUtf8Bytes)(word.normalize("NFD").toLowerCase()), function (c) { - return ((c >= 65 && c <= 90) || (c >= 97 && c <= 123)); - })); -} -function expand(word) { - var output = []; - Array.prototype.forEach.call((0, strings_1.toUtf8Bytes)(word), function (c) { - // Acute accent - if (c === 47) { - output.push(204); - output.push(129); - // n-tilde - } - else if (c === 126) { - output.push(110); - output.push(204); - output.push(131); - } - else { - output.push(c); - } - }); - return (0, strings_1.toUtf8String)(output); -} -function loadWords(lang) { - if (wordlist != null) { - return; - } - wordlist = words.replace(/([A-Z])/g, " $1").toLowerCase().substring(1).split(" ").map(function (w) { return expand(w); }); - wordlist.forEach(function (word, index) { - lookup[dropDiacritic(word)] = index; - }); - // Verify the computed list matches the official list - /* istanbul ignore if */ - if (wordlist_1.Wordlist.check(lang) !== "0xf74fb7092aeacdfbf8959557de22098da512207fb9f109cb526994938cf40300") { - wordlist = null; - throw new Error("BIP39 Wordlist for es (Spanish) FAILED"); - } -} -var LangEs = /** @class */ (function (_super) { - __extends(LangEs, _super); - function LangEs() { - return _super.call(this, "es") || this; - } - LangEs.prototype.getWord = function (index) { - loadWords(this); - return wordlist[index]; - }; - LangEs.prototype.getWordIndex = function (word) { - loadWords(this); - return lookup[dropDiacritic(word)]; - }; - return LangEs; -}(wordlist_1.Wordlist)); -var langEs = new LangEs(); -exports.langEs = langEs; -wordlist_1.Wordlist.register(langEs); -//# sourceMappingURL=lang-es.js.map - -/***/ }), - -/***/ 66226: -/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) { - - -var __extends = (this && this.__extends) || (function () { - var extendStatics = function (d, b) { - extendStatics = Object.setPrototypeOf || - ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || - function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; }; - return extendStatics(d, b); - }; - return function (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 __()); - }; -})(); -Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.langFr = void 0; -var strings_1 = __nccwpck_require__(95578); -var wordlist_1 = __nccwpck_require__(51497); -var words = "AbaisserAbandonAbdiquerAbeilleAbolirAborderAboutirAboyerAbrasifAbreuverAbriterAbrogerAbruptAbsenceAbsoluAbsurdeAbusifAbyssalAcade/mieAcajouAcarienAccablerAccepterAcclamerAccoladeAccrocheAccuserAcerbeAchatAcheterAcidulerAcierAcompteAcque/rirAcronymeActeurActifActuelAdepteAde/quatAdhe/sifAdjectifAdjugerAdmettreAdmirerAdopterAdorerAdoucirAdresseAdroitAdulteAdverbeAe/rerAe/ronefAffaireAffecterAfficheAffreuxAffublerAgacerAgencerAgileAgiterAgraferAgre/ableAgrumeAiderAiguilleAilierAimableAisanceAjouterAjusterAlarmerAlchimieAlerteAlge-breAlgueAlie/nerAlimentAlle/gerAlliageAllouerAllumerAlourdirAlpagaAltesseAlve/oleAmateurAmbiguAmbreAme/nagerAmertumeAmidonAmiralAmorcerAmourAmovibleAmphibieAmpleurAmusantAnalyseAnaphoreAnarchieAnatomieAncienAne/antirAngleAngoisseAnguleuxAnimalAnnexerAnnonceAnnuelAnodinAnomalieAnonymeAnormalAntenneAntidoteAnxieuxApaiserApe/ritifAplanirApologieAppareilAppelerApporterAppuyerAquariumAqueducArbitreArbusteArdeurArdoiseArgentArlequinArmatureArmementArmoireArmureArpenterArracherArriverArroserArsenicArte/rielArticleAspectAsphalteAspirerAssautAsservirAssietteAssocierAssurerAsticotAstreAstuceAtelierAtomeAtriumAtroceAttaqueAttentifAttirerAttraperAubaineAubergeAudaceAudibleAugurerAuroreAutomneAutrucheAvalerAvancerAvariceAvenirAverseAveugleAviateurAvideAvionAviserAvoineAvouerAvrilAxialAxiomeBadgeBafouerBagageBaguetteBaignadeBalancerBalconBaleineBalisageBambinBancaireBandageBanlieueBannie-reBanquierBarbierBarilBaronBarqueBarrageBassinBastionBatailleBateauBatterieBaudrierBavarderBeletteBe/lierBeloteBe/ne/ficeBerceauBergerBerlineBermudaBesaceBesogneBe/tailBeurreBiberonBicycleBiduleBijouBilanBilingueBillardBinaireBiologieBiopsieBiotypeBiscuitBisonBistouriBitumeBizarreBlafardBlagueBlanchirBlessantBlinderBlondBloquerBlousonBobardBobineBoireBoiserBolideBonbonBondirBonheurBonifierBonusBordureBorneBotteBoucleBoueuxBougieBoulonBouquinBourseBoussoleBoutiqueBoxeurBrancheBrasierBraveBrebisBre-cheBreuvageBricolerBrigadeBrillantBriocheBriqueBrochureBroderBronzerBrousseBroyeurBrumeBrusqueBrutalBruyantBuffleBuissonBulletinBureauBurinBustierButinerButoirBuvableBuvetteCabanonCabineCachetteCadeauCadreCafe/ineCaillouCaissonCalculerCalepinCalibreCalmerCalomnieCalvaireCamaradeCame/raCamionCampagneCanalCanetonCanonCantineCanularCapableCaporalCapriceCapsuleCapterCapucheCarabineCarboneCaresserCaribouCarnageCarotteCarreauCartonCascadeCasierCasqueCassureCauserCautionCavalierCaverneCaviarCe/dilleCeintureCe/lesteCelluleCendrierCensurerCentralCercleCe/re/bralCeriseCernerCerveauCesserChagrinChaiseChaleurChambreChanceChapitreCharbonChasseurChatonChaussonChavirerChemiseChenilleChe/quierChercherChevalChienChiffreChignonChime-reChiotChlorureChocolatChoisirChoseChouetteChromeChuteCigareCigogneCimenterCine/maCintrerCirculerCirerCirqueCiterneCitoyenCitronCivilClaironClameurClaquerClasseClavierClientClignerClimatClivageClocheClonageCloporteCobaltCobraCocasseCocotierCoderCodifierCoffreCognerCohe/sionCoifferCoincerCole-reColibriCollineColmaterColonelCombatCome/dieCommandeCompactConcertConduireConfierCongelerConnoterConsonneContactConvexeCopainCopieCorailCorbeauCordageCornicheCorpusCorrectCorte-geCosmiqueCostumeCotonCoudeCoupureCourageCouteauCouvrirCoyoteCrabeCrainteCravateCrayonCre/atureCre/diterCre/meuxCreuserCrevetteCriblerCrierCristalCrite-reCroireCroquerCrotaleCrucialCruelCrypterCubiqueCueillirCuille-reCuisineCuivreCulminerCultiverCumulerCupideCuratifCurseurCyanureCycleCylindreCyniqueDaignerDamierDangerDanseurDauphinDe/battreDe/biterDe/borderDe/briderDe/butantDe/calerDe/cembreDe/chirerDe/ciderDe/clarerDe/corerDe/crireDe/cuplerDe/daleDe/ductifDe/esseDe/fensifDe/filerDe/frayerDe/gagerDe/givrerDe/glutirDe/graferDe/jeunerDe/liceDe/logerDemanderDemeurerDe/molirDe/nicherDe/nouerDentelleDe/nuderDe/partDe/penserDe/phaserDe/placerDe/poserDe/rangerDe/roberDe/sastreDescenteDe/sertDe/signerDe/sobe/irDessinerDestrierDe/tacherDe/testerDe/tourerDe/tresseDevancerDevenirDevinerDevoirDiableDialogueDiamantDicterDiffe/rerDige/rerDigitalDigneDiluerDimancheDiminuerDioxydeDirectifDirigerDiscuterDisposerDissiperDistanceDivertirDiviserDocileDocteurDogmeDoigtDomaineDomicileDompterDonateurDonjonDonnerDopamineDortoirDorureDosageDoseurDossierDotationDouanierDoubleDouceurDouterDoyenDragonDraperDresserDribblerDroitureDuperieDuplexeDurableDurcirDynastieE/blouirE/carterE/charpeE/chelleE/clairerE/clipseE/cloreE/cluseE/coleE/conomieE/corceE/couterE/craserE/cre/merE/crivainE/crouE/cumeE/cureuilE/difierE/duquerEffacerEffectifEffigieEffortEffrayerEffusionE/galiserE/garerE/jecterE/laborerE/largirE/lectronE/le/gantE/le/phantE/le-veE/ligibleE/litismeE/logeE/luciderE/luderEmballerEmbellirEmbryonE/meraudeE/missionEmmenerE/motionE/mouvoirEmpereurEmployerEmporterEmpriseE/mulsionEncadrerEnche-reEnclaveEncocheEndiguerEndosserEndroitEnduireE/nergieEnfanceEnfermerEnfouirEngagerEnginEngloberE/nigmeEnjamberEnjeuEnleverEnnemiEnnuyeuxEnrichirEnrobageEnseigneEntasserEntendreEntierEntourerEntraverE/nume/rerEnvahirEnviableEnvoyerEnzymeE/olienE/paissirE/pargneE/patantE/pauleE/picerieE/pide/mieE/pierE/pilogueE/pineE/pisodeE/pitapheE/poqueE/preuveE/prouverE/puisantE/querreE/quipeE/rigerE/rosionErreurE/ruptionEscalierEspadonEspe-ceEspie-gleEspoirEspritEsquiverEssayerEssenceEssieuEssorerEstimeEstomacEstradeE/tage-reE/talerE/tancheE/tatiqueE/teindreE/tendoirE/ternelE/thanolE/thiqueEthnieE/tirerE/tofferE/toileE/tonnantE/tourdirE/trangeE/troitE/tudeEuphorieE/valuerE/vasionE/ventailE/videnceE/viterE/volutifE/voquerExactExage/rerExaucerExcellerExcitantExclusifExcuseExe/cuterExempleExercerExhalerExhorterExigenceExilerExisterExotiqueExpe/dierExplorerExposerExprimerExquisExtensifExtraireExulterFableFabuleuxFacetteFacileFactureFaiblirFalaiseFameuxFamilleFarceurFarfeluFarineFaroucheFascinerFatalFatigueFauconFautifFaveurFavoriFe/brileFe/conderFe/de/rerFe/linFemmeFe/murFendoirFe/odalFermerFe/roceFerveurFestivalFeuilleFeutreFe/vrierFiascoFicelerFictifFide-leFigureFilatureFiletageFilie-reFilleulFilmerFilouFiltrerFinancerFinirFioleFirmeFissureFixerFlairerFlammeFlasqueFlatteurFle/auFle-cheFleurFlexionFloconFloreFluctuerFluideFluvialFolieFonderieFongibleFontaineForcerForgeronFormulerFortuneFossileFoudreFouge-reFouillerFoulureFourmiFragileFraiseFranchirFrapperFrayeurFre/gateFreinerFrelonFre/mirFre/ne/sieFre-reFriableFrictionFrissonFrivoleFroidFromageFrontalFrotterFruitFugitifFuiteFureurFurieuxFurtifFusionFuturGagnerGalaxieGalerieGambaderGarantirGardienGarnirGarrigueGazelleGazonGe/antGe/latineGe/luleGendarmeGe/ne/ralGe/nieGenouGentilGe/ologieGe/ome-treGe/raniumGermeGestuelGeyserGibierGiclerGirafeGivreGlaceGlaiveGlisserGlobeGloireGlorieuxGolfeurGommeGonflerGorgeGorilleGoudronGouffreGoulotGoupilleGourmandGoutteGraduelGraffitiGraineGrandGrappinGratuitGravirGrenatGriffureGrillerGrimperGrognerGronderGrotteGroupeGrugerGrutierGruye-reGue/pardGuerrierGuideGuimauveGuitareGustatifGymnasteGyrostatHabitudeHachoirHalteHameauHangarHannetonHaricotHarmonieHarponHasardHe/liumHe/matomeHerbeHe/rissonHermineHe/ronHe/siterHeureuxHibernerHibouHilarantHistoireHiverHomardHommageHomoge-neHonneurHonorerHonteuxHordeHorizonHorlogeHormoneHorribleHouleuxHousseHublotHuileuxHumainHumbleHumideHumourHurlerHydromelHygie-neHymneHypnoseIdylleIgnorerIguaneIlliciteIllusionImageImbiberImiterImmenseImmobileImmuableImpactImpe/rialImplorerImposerImprimerImputerIncarnerIncendieIncidentInclinerIncoloreIndexerIndiceInductifIne/ditIneptieInexactInfiniInfligerInformerInfusionInge/rerInhalerInhiberInjecterInjureInnocentInoculerInonderInscrireInsecteInsigneInsoliteInspirerInstinctInsulterIntactIntenseIntimeIntrigueIntuitifInutileInvasionInventerInviterInvoquerIroniqueIrradierIrre/elIrriterIsolerIvoireIvresseJaguarJaillirJambeJanvierJardinJaugerJauneJavelotJetableJetonJeudiJeunesseJoindreJoncherJonglerJoueurJouissifJournalJovialJoyauJoyeuxJubilerJugementJuniorJuponJuristeJusticeJuteuxJuve/nileKayakKimonoKiosqueLabelLabialLabourerLace/rerLactoseLaguneLaineLaisserLaitierLambeauLamelleLampeLanceurLangageLanterneLapinLargeurLarmeLaurierLavaboLavoirLectureLe/galLe/gerLe/gumeLessiveLettreLevierLexiqueLe/zardLiasseLibe/rerLibreLicenceLicorneLie-geLie-vreLigatureLigoterLigueLimerLimiteLimonadeLimpideLine/aireLingotLionceauLiquideLisie-reListerLithiumLitigeLittoralLivreurLogiqueLointainLoisirLombricLoterieLouerLourdLoutreLouveLoyalLubieLucideLucratifLueurLugubreLuisantLumie-reLunaireLundiLuronLutterLuxueuxMachineMagasinMagentaMagiqueMaigreMaillonMaintienMairieMaisonMajorerMalaxerMale/ficeMalheurMaliceMalletteMammouthMandaterManiableManquantManteauManuelMarathonMarbreMarchandMardiMaritimeMarqueurMarronMartelerMascotteMassifMate/rielMatie-reMatraqueMaudireMaussadeMauveMaximalMe/chantMe/connuMe/dailleMe/decinMe/diterMe/duseMeilleurMe/langeMe/lodieMembreMe/moireMenacerMenerMenhirMensongeMentorMercrediMe/riteMerleMessagerMesureMe/talMe/te/oreMe/thodeMe/tierMeubleMiaulerMicrobeMietteMignonMigrerMilieuMillionMimiqueMinceMine/ralMinimalMinorerMinuteMiracleMiroiterMissileMixteMobileModerneMoelleuxMondialMoniteurMonnaieMonotoneMonstreMontagneMonumentMoqueurMorceauMorsureMortierMoteurMotifMoucheMoufleMoulinMoussonMoutonMouvantMultipleMunitionMurailleMure-neMurmureMuscleMuse/umMusicienMutationMuterMutuelMyriadeMyrtilleMyste-reMythiqueNageurNappeNarquoisNarrerNatationNationNatureNaufrageNautiqueNavireNe/buleuxNectarNe/fasteNe/gationNe/gligerNe/gocierNeigeNerveuxNettoyerNeuroneNeutronNeveuNicheNickelNitrateNiveauNobleNocifNocturneNoirceurNoisetteNomadeNombreuxNommerNormatifNotableNotifierNotoireNourrirNouveauNovateurNovembreNoviceNuageNuancerNuireNuisibleNume/roNuptialNuqueNutritifObe/irObjectifObligerObscurObserverObstacleObtenirObturerOccasionOccuperOce/anOctobreOctroyerOctuplerOculaireOdeurOdorantOffenserOfficierOffrirOgiveOiseauOisillonOlfactifOlivierOmbrageOmettreOnctueuxOndulerOne/reuxOniriqueOpaleOpaqueOpe/rerOpinionOpportunOpprimerOpterOptiqueOrageuxOrangeOrbiteOrdonnerOreilleOrganeOrgueilOrificeOrnementOrqueOrtieOscillerOsmoseOssatureOtarieOuraganOursonOutilOutragerOuvrageOvationOxydeOxyge-neOzonePaisiblePalacePalmare-sPalourdePalperPanachePandaPangolinPaniquerPanneauPanoramaPantalonPapayePapierPapoterPapyrusParadoxeParcelleParesseParfumerParlerParoleParrainParsemerPartagerParureParvenirPassionPaste-quePaternelPatiencePatronPavillonPavoiserPayerPaysagePeignePeintrePelagePe/licanPellePelousePeluchePendulePe/ne/trerPe/niblePensifPe/nuriePe/pitePe/plumPerdrixPerforerPe/riodePermuterPerplexePersilPertePeserPe/talePetitPe/trirPeuplePharaonPhobiePhoquePhotonPhrasePhysiquePianoPicturalPie-cePierrePieuvrePilotePinceauPipettePiquerPiroguePiscinePistonPivoterPixelPizzaPlacardPlafondPlaisirPlanerPlaquePlastronPlateauPleurerPlexusPliagePlombPlongerPluiePlumagePochettePoe/siePoe-tePointePoirierPoissonPoivrePolairePolicierPollenPolygonePommadePompierPonctuelPonde/rerPoneyPortiquePositionPosse/derPosturePotagerPoteauPotionPoucePoulainPoumonPourprePoussinPouvoirPrairiePratiquePre/cieuxPre/direPre/fixePre/ludePre/nomPre/sencePre/textePre/voirPrimitifPrincePrisonPriverProble-meProce/derProdigeProfondProgre-sProieProjeterProloguePromenerPropreProspe-reProte/gerProuesseProverbePrudencePruneauPsychosePublicPuceronPuiserPulpePulsarPunaisePunitifPupitrePurifierPuzzlePyramideQuasarQuerelleQuestionQuie/tudeQuitterQuotientRacineRaconterRadieuxRagondinRaideurRaisinRalentirRallongeRamasserRapideRasageRatisserRavagerRavinRayonnerRe/actifRe/agirRe/aliserRe/animerRecevoirRe/citerRe/clamerRe/colterRecruterReculerRecyclerRe/digerRedouterRefaireRe/flexeRe/formerRefrainRefugeRe/galienRe/gionRe/glageRe/gulierRe/ite/rerRejeterRejouerRelatifReleverReliefRemarqueReme-deRemiseRemonterRemplirRemuerRenardRenfortReniflerRenoncerRentrerRenvoiReplierReporterRepriseReptileRequinRe/serveRe/sineuxRe/soudreRespectResterRe/sultatRe/tablirRetenirRe/ticuleRetomberRetracerRe/unionRe/ussirRevancheRevivreRe/volteRe/vulsifRichesseRideauRieurRigideRigolerRincerRiposterRisibleRisqueRituelRivalRivie-reRocheuxRomanceRompreRonceRondinRoseauRosierRotatifRotorRotuleRougeRouilleRouleauRoutineRoyaumeRubanRubisRucheRuelleRugueuxRuinerRuisseauRuserRustiqueRythmeSablerSaboterSabreSacocheSafariSagesseSaisirSaladeSaliveSalonSaluerSamediSanctionSanglierSarcasmeSardineSaturerSaugrenuSaumonSauterSauvageSavantSavonnerScalpelScandaleSce/le/ratSce/narioSceptreSche/maScienceScinderScoreScrutinSculpterSe/anceSe/cableSe/cherSecouerSe/cre/terSe/datifSe/duireSeigneurSe/jourSe/lectifSemaineSemblerSemenceSe/minalSe/nateurSensibleSentenceSe/parerSe/quenceSereinSergentSe/rieuxSerrureSe/rumServiceSe/sameSe/virSevrageSextupleSide/ralSie-cleSie/gerSifflerSigleSignalSilenceSiliciumSimpleSince-reSinistreSiphonSiropSismiqueSituerSkierSocialSocleSodiumSoigneuxSoldatSoleilSolitudeSolubleSombreSommeilSomnolerSondeSongeurSonnetteSonoreSorcierSortirSosieSottiseSoucieuxSoudureSouffleSouleverSoupapeSourceSoutirerSouvenirSpacieuxSpatialSpe/cialSphe-reSpiralStableStationSternumStimulusStipulerStrictStudieuxStupeurStylisteSublimeSubstratSubtilSubvenirSucce-sSucreSuffixeSugge/rerSuiveurSulfateSuperbeSupplierSurfaceSuricateSurmenerSurpriseSursautSurvieSuspectSyllabeSymboleSyme/trieSynapseSyntaxeSyste-meTabacTablierTactileTaillerTalentTalismanTalonnerTambourTamiserTangibleTapisTaquinerTarderTarifTartineTasseTatamiTatouageTaupeTaureauTaxerTe/moinTemporelTenailleTendreTeneurTenirTensionTerminerTerneTerribleTe/tineTexteThe-meThe/orieThe/rapieThoraxTibiaTie-deTimideTirelireTiroirTissuTitaneTitreTituberTobogganTole/rantTomateToniqueTonneauToponymeTorcheTordreTornadeTorpilleTorrentTorseTortueTotemToucherTournageTousserToxineTractionTraficTragiqueTrahirTrainTrancherTravailTre-fleTremperTre/sorTreuilTriageTribunalTricoterTrilogieTriompheTriplerTriturerTrivialTromboneTroncTropicalTroupeauTuileTulipeTumulteTunnelTurbineTuteurTutoyerTuyauTympanTyphonTypiqueTyranUbuesqueUltimeUltrasonUnanimeUnifierUnionUniqueUnitaireUniversUraniumUrbainUrticantUsageUsineUsuelUsureUtileUtopieVacarmeVaccinVagabondVagueVaillantVaincreVaisseauValableValiseVallonValveVampireVanilleVapeurVarierVaseuxVassalVasteVecteurVedetteVe/ge/talVe/hiculeVeinardVe/loceVendrediVe/ne/rerVengerVenimeuxVentouseVerdureVe/rinVernirVerrouVerserVertuVestonVe/te/ranVe/tusteVexantVexerViaducViandeVictoireVidangeVide/oVignetteVigueurVilainVillageVinaigreViolonVipe-reVirementVirtuoseVirusVisageViseurVisionVisqueuxVisuelVitalVitesseViticoleVitrineVivaceVivipareVocationVoguerVoileVoisinVoitureVolailleVolcanVoltigerVolumeVoraceVortexVoterVouloirVoyageVoyelleWagonXe/nonYachtZe-breZe/nithZesteZoologie"; -var wordlist = null; -var lookup = {}; -function dropDiacritic(word) { - wordlist_1.logger.checkNormalize(); - return (0, strings_1.toUtf8String)(Array.prototype.filter.call((0, strings_1.toUtf8Bytes)(word.normalize("NFD").toLowerCase()), function (c) { - return ((c >= 65 && c <= 90) || (c >= 97 && c <= 123)); - })); -} -function expand(word) { - var output = []; - Array.prototype.forEach.call((0, strings_1.toUtf8Bytes)(word), function (c) { - // Acute accent - if (c === 47) { - output.push(204); - output.push(129); - // Grave accent - } - else if (c === 45) { - output.push(204); - output.push(128); - } - else { - output.push(c); - } - }); - return (0, strings_1.toUtf8String)(output); -} -function loadWords(lang) { - if (wordlist != null) { - return; - } - wordlist = words.replace(/([A-Z])/g, " $1").toLowerCase().substring(1).split(" ").map(function (w) { return expand(w); }); - wordlist.forEach(function (word, index) { - lookup[dropDiacritic(word)] = index; - }); - // Verify the computed list matches the official list - /* istanbul ignore if */ - if (wordlist_1.Wordlist.check(lang) !== "0x51deb7ae009149dc61a6bd18a918eb7ac78d2775726c68e598b92d002519b045") { - wordlist = null; - throw new Error("BIP39 Wordlist for fr (French) FAILED"); - } -} -var LangFr = /** @class */ (function (_super) { - __extends(LangFr, _super); - function LangFr() { - return _super.call(this, "fr") || this; - } - LangFr.prototype.getWord = function (index) { - loadWords(this); - return wordlist[index]; - }; - LangFr.prototype.getWordIndex = function (word) { - loadWords(this); - return lookup[dropDiacritic(word)]; - }; - return LangFr; -}(wordlist_1.Wordlist)); -var langFr = new LangFr(); -exports.langFr = langFr; -wordlist_1.Wordlist.register(langFr); -//# sourceMappingURL=lang-fr.js.map - -/***/ }), - -/***/ 25703: -/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) { - - -var __extends = (this && this.__extends) || (function () { - var extendStatics = function (d, b) { - extendStatics = Object.setPrototypeOf || - ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || - function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; }; - return extendStatics(d, b); - }; - return function (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 __()); - }; -})(); -Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.langIt = void 0; -var wordlist_1 = __nccwpck_require__(51497); -var words = "AbacoAbbaglioAbbinatoAbeteAbissoAbolireAbrasivoAbrogatoAccadereAccennoAccusatoAcetoneAchilleAcidoAcquaAcreAcrilicoAcrobataAcutoAdagioAddebitoAddomeAdeguatoAderireAdipeAdottareAdulareAffabileAffettoAffissoAffrantoAforismaAfosoAfricanoAgaveAgenteAgevoleAggancioAgireAgitareAgonismoAgricoloAgrumetoAguzzoAlabardaAlatoAlbatroAlberatoAlboAlbumeAlceAlcolicoAlettoneAlfaAlgebraAlianteAlibiAlimentoAllagatoAllegroAllievoAllodolaAllusivoAlmenoAlogenoAlpacaAlpestreAltalenaAlternoAlticcioAltroveAlunnoAlveoloAlzareAmalgamaAmanitaAmarenaAmbitoAmbratoAmebaAmericaAmetistaAmicoAmmassoAmmendaAmmirareAmmonitoAmoreAmpioAmpliareAmuletoAnacardoAnagrafeAnalistaAnarchiaAnatraAncaAncellaAncoraAndareAndreaAnelloAngeloAngolareAngustoAnimaAnnegareAnnidatoAnnoAnnuncioAnonimoAnticipoAnziApaticoAperturaApodeApparireAppetitoAppoggioApprodoAppuntoAprileArabicaArachideAragostaAraldicaArancioAraturaArazzoArbitroArchivioArditoArenileArgentoArgineArgutoAriaArmoniaArneseArredatoArringaArrostoArsenicoArsoArteficeArzilloAsciuttoAscoltoAsepsiAsetticoAsfaltoAsinoAsolaAspiratoAsproAssaggioAsseAssolutoAssurdoAstaAstenutoAsticeAstrattoAtavicoAteismoAtomicoAtonoAttesaAttivareAttornoAttritoAttualeAusilioAustriaAutistaAutonomoAutunnoAvanzatoAvereAvvenireAvvisoAvvolgereAzioneAzotoAzzimoAzzurroBabeleBaccanoBacinoBacoBadessaBadilataBagnatoBaitaBalconeBaldoBalenaBallataBalzanoBambinoBandireBaraondaBarbaroBarcaBaritonoBarlumeBaroccoBasilicoBassoBatostaBattutoBauleBavaBavosaBeccoBeffaBelgioBelvaBendaBenevoleBenignoBenzinaBereBerlinaBetaBibitaBiciBidoneBifidoBigaBilanciaBimboBinocoloBiologoBipedeBipolareBirbanteBirraBiscottoBisestoBisnonnoBisonteBisturiBizzarroBlandoBlattaBollitoBonificoBordoBoscoBotanicoBottinoBozzoloBraccioBradipoBramaBrancaBravuraBretellaBrevettoBrezzaBrigliaBrillanteBrindareBroccoloBrodoBronzinaBrulloBrunoBubboneBucaBudinoBuffoneBuioBulboBuonoBurloneBurrascaBussolaBustaCadettoCaducoCalamaroCalcoloCalesseCalibroCalmoCaloriaCambusaCamerataCamiciaCamminoCamolaCampaleCanapaCandelaCaneCaninoCanottoCantinaCapaceCapelloCapitoloCapogiroCapperoCapraCapsulaCarapaceCarcassaCardoCarismaCarovanaCarrettoCartolinaCasaccioCascataCasermaCasoCassoneCastelloCasualeCatastaCatenaCatrameCautoCavilloCedibileCedrataCefaloCelebreCellulareCenaCenoneCentesimoCeramicaCercareCertoCerumeCervelloCesoiaCespoCetoChelaChiaroChiccaChiedereChimeraChinaChirurgoChitarraCiaoCiclismoCifrareCignoCilindroCiottoloCircaCirrosiCitricoCittadinoCiuffoCivettaCivileClassicoClinicaCloroCoccoCodardoCodiceCoerenteCognomeCollareColmatoColoreColposoColtivatoColzaComaCometaCommandoComodoComputerComuneConcisoCondurreConfermaCongelareConiugeConnessoConoscereConsumoContinuoConvegnoCopertoCopioneCoppiaCopricapoCorazzaCordataCoricatoCorniceCorollaCorpoCorredoCorsiaCorteseCosmicoCostanteCotturaCovatoCratereCravattaCreatoCredereCremosoCrescitaCretaCricetoCrinaleCrisiCriticoCroceCronacaCrostataCrucialeCruscaCucireCuculoCuginoCullatoCupolaCuratoreCursoreCurvoCuscinoCustodeDadoDainoDalmataDamerinoDanielaDannosoDanzareDatatoDavantiDavveroDebuttoDecennioDecisoDeclinoDecolloDecretoDedicatoDefinitoDeformeDegnoDelegareDelfinoDelirioDeltaDemenzaDenotatoDentroDepositoDerapataDerivareDerogaDescrittoDesertoDesiderioDesumereDetersivoDevotoDiametroDicembreDiedroDifesoDiffusoDigerireDigitaleDiluvioDinamicoDinnanziDipintoDiplomaDipoloDiradareDireDirottoDirupoDisagioDiscretoDisfareDisgeloDispostoDistanzaDisumanoDitoDivanoDiveltoDividereDivoratoDobloneDocenteDoganaleDogmaDolceDomatoDomenicaDominareDondoloDonoDormireDoteDottoreDovutoDozzinaDragoDruidoDubbioDubitareDucaleDunaDuomoDupliceDuraturoEbanoEccessoEccoEclissiEconomiaEderaEdicolaEdileEditoriaEducareEgemoniaEgliEgoismoEgregioElaboratoElargireEleganteElencatoElettoElevareElficoElicaElmoElsaElusoEmanatoEmblemaEmessoEmiroEmotivoEmozioneEmpiricoEmuloEndemicoEnduroEnergiaEnfasiEnotecaEntrareEnzimaEpatiteEpilogoEpisodioEpocaleEppureEquatoreErarioErbaErbosoEredeEremitaErigereErmeticoEroeErosivoErranteEsagonoEsameEsanimeEsaudireEscaEsempioEsercitoEsibitoEsigenteEsistereEsitoEsofagoEsortatoEsosoEspansoEspressoEssenzaEssoEstesoEstimareEstoniaEstrosoEsultareEtilicoEtnicoEtruscoEttoEuclideoEuropaEvasoEvidenzaEvitatoEvolutoEvvivaFabbricaFaccendaFachiroFalcoFamigliaFanaleFanfaraFangoFantasmaFareFarfallaFarinosoFarmacoFasciaFastosoFasulloFaticareFatoFavolosoFebbreFecolaFedeFegatoFelpaFeltroFemminaFendereFenomenoFermentoFerroFertileFessuraFestivoFettaFeudoFiabaFiduciaFifaFiguratoFiloFinanzaFinestraFinireFioreFiscaleFisicoFiumeFlaconeFlamencoFleboFlemmaFloridoFluenteFluoroFobicoFocacciaFocosoFoderatoFoglioFolataFolcloreFolgoreFondenteFoneticoFoniaFontanaForbitoForchettaForestaFormicaFornaioForoFortezzaForzareFosfatoFossoFracassoFranaFrassinoFratelloFreccettaFrenataFrescoFrigoFrollinoFrondeFrugaleFruttaFucilataFucsiaFuggenteFulmineFulvoFumanteFumettoFumosoFuneFunzioneFuocoFurboFurgoneFuroreFusoFutileGabbianoGaffeGalateoGallinaGaloppoGamberoGammaGaranziaGarboGarofanoGarzoneGasdottoGasolioGastricoGattoGaudioGazeboGazzellaGecoGelatinaGelsoGemelloGemmatoGeneGenitoreGennaioGenotipoGergoGhepardoGhiaccioGhisaGialloGildaGineproGiocareGioielloGiornoGioveGiratoGironeGittataGiudizioGiuratoGiustoGlobuloGlutineGnomoGobbaGolfGomitoGommoneGonfioGonnaGovernoGracileGradoGraficoGrammoGrandeGrattareGravosoGraziaGrecaGreggeGrifoneGrigioGrinzaGrottaGruppoGuadagnoGuaioGuantoGuardareGufoGuidareIbernatoIconaIdenticoIdillioIdoloIdraIdricoIdrogenoIgieneIgnaroIgnoratoIlareIllesoIllogicoIlludereImballoImbevutoImboccoImbutoImmaneImmersoImmolatoImpaccoImpetoImpiegoImportoImprontaInalareInarcareInattivoIncantoIncendioInchinoIncisivoInclusoIncontroIncrocioIncuboIndagineIndiaIndoleIneditoInfattiInfilareInflittoIngaggioIngegnoIngleseIngordoIngrossoInnescoInodoreInoltrareInondatoInsanoInsettoInsiemeInsonniaInsulinaIntasatoInteroIntonacoIntuitoInumidireInvalidoInveceInvitoIperboleIpnoticoIpotesiIppicaIrideIrlandaIronicoIrrigatoIrrorareIsolatoIsotopoIstericoIstitutoIstriceItaliaIterareLabbroLabirintoLaccaLaceratoLacrimaLacunaLaddoveLagoLampoLancettaLanternaLardosoLargaLaringeLastraLatenzaLatinoLattugaLavagnaLavoroLegaleLeggeroLemboLentezzaLenzaLeoneLepreLesivoLessatoLestoLetteraleLevaLevigatoLiberoLidoLievitoLillaLimaturaLimitareLimpidoLineareLinguaLiquidoLiraLiricaLiscaLiteLitigioLivreaLocandaLodeLogicaLombareLondraLongevoLoquaceLorenzoLotoLotteriaLuceLucidatoLumacaLuminosoLungoLupoLuppoloLusingaLussoLuttoMacabroMacchinaMaceroMacinatoMadamaMagicoMagliaMagneteMagroMaiolicaMalafedeMalgradoMalintesoMalsanoMaltoMalumoreManaManciaMandorlaMangiareManifestoMannaroManovraMansardaMantideManubrioMappaMaratonaMarcireMarettaMarmoMarsupioMascheraMassaiaMastinoMaterassoMatricolaMattoneMaturoMazurcaMeandroMeccanicoMecenateMedesimoMeditareMegaMelassaMelisMelodiaMeningeMenoMensolaMercurioMerendaMerloMeschinoMeseMessereMestoloMetalloMetodoMettereMiagolareMicaMicelioMicheleMicroboMidolloMieleMiglioreMilanoMiliteMimosaMineraleMiniMinoreMirinoMirtilloMiscelaMissivaMistoMisurareMitezzaMitigareMitraMittenteMnemonicoModelloModificaModuloMoganoMogioMoleMolossoMonasteroMoncoMondinaMonetarioMonileMonotonoMonsoneMontatoMonvisoMoraMordereMorsicatoMostroMotivatoMotosegaMottoMovenzaMovimentoMozzoMuccaMucosaMuffaMughettoMugnaioMulattoMulinelloMultiploMummiaMuntoMuovereMuraleMusaMuscoloMusicaMutevoleMutoNababboNaftaNanometroNarcisoNariceNarratoNascereNastrareNaturaleNauticaNaviglioNebulosaNecrosiNegativoNegozioNemmenoNeofitaNerettoNervoNessunoNettunoNeutraleNeveNevroticoNicchiaNinfaNitidoNobileNocivoNodoNomeNominaNordicoNormaleNorvegeseNostranoNotareNotiziaNotturnoNovellaNucleoNullaNumeroNuovoNutrireNuvolaNuzialeOasiObbedireObbligoObeliscoOblioOboloObsoletoOccasioneOcchioOccidenteOccorrereOccultareOcraOculatoOdiernoOdorareOffertaOffrireOffuscatoOggettoOggiOgnunoOlandeseOlfattoOliatoOlivaOlogrammaOltreOmaggioOmbelicoOmbraOmegaOmissioneOndosoOnereOniceOnnivoroOnorevoleOntaOperatoOpinioneOppostoOracoloOrafoOrdineOrecchinoOreficeOrfanoOrganicoOrigineOrizzonteOrmaOrmeggioOrnativoOrologioOrrendoOrribileOrtensiaOrticaOrzataOrzoOsareOscurareOsmosiOspedaleOspiteOssaOssidareOstacoloOsteOtiteOtreOttagonoOttimoOttobreOvaleOvestOvinoOviparoOvocitoOvunqueOvviareOzioPacchettoPacePacificoPadellaPadronePaesePagaPaginaPalazzinaPalesarePallidoPaloPaludePandoroPannelloPaoloPaonazzoPapricaParabolaParcellaParerePargoloPariParlatoParolaPartireParvenzaParzialePassivoPasticcaPataccaPatologiaPattumePavonePeccatoPedalarePedonalePeggioPelosoPenarePendicePenisolaPennutoPenombraPensarePentolaPepePepitaPerbenePercorsoPerdonatoPerforarePergamenaPeriodoPermessoPernoPerplessoPersuasoPertugioPervasoPesatorePesistaPesoPestiferoPetaloPettinePetulantePezzoPiacerePiantaPiattinoPiccinoPicozzaPiegaPietraPifferoPigiamaPigolioPigroPilaPiliferoPillolaPilotaPimpantePinetaPinnaPinoloPioggiaPiomboPiramidePireticoPiritePirolisiPitonePizzicoPlaceboPlanarePlasmaPlatanoPlenarioPochezzaPoderosoPodismoPoesiaPoggiarePolentaPoligonoPollicePolmonitePolpettaPolsoPoltronaPolverePomicePomodoroPontePopolosoPorfidoPorosoPorporaPorrePortataPosaPositivoPossessoPostulatoPotassioPoterePranzoPrassiPraticaPreclusoPredicaPrefissoPregiatoPrelievoPremerePrenotarePreparatoPresenzaPretestoPrevalsoPrimaPrincipePrivatoProblemaProcuraProdurreProfumoProgettoProlungaPromessaPronomePropostaProrogaProtesoProvaPrudentePrugnaPruritoPsichePubblicoPudicaPugilatoPugnoPulcePulitoPulsantePuntarePupazzoPupillaPuroQuadroQualcosaQuasiQuerelaQuotaRaccoltoRaddoppioRadicaleRadunatoRafficaRagazzoRagioneRagnoRamarroRamingoRamoRandagioRantolareRapatoRapinaRappresoRasaturaRaschiatoRasenteRassegnaRastrelloRataRavvedutoRealeRecepireRecintoReclutaReconditoRecuperoRedditoRedimereRegalatoRegistroRegolaRegressoRelazioneRemareRemotoRennaReplicaReprimereReputareResaResidenteResponsoRestauroReteRetinaRetoricaRettificaRevocatoRiassuntoRibadireRibelleRibrezzoRicaricaRiccoRicevereRiciclatoRicordoRicredutoRidicoloRidurreRifasareRiflessoRiformaRifugioRigareRigettatoRighelloRilassatoRilevatoRimanereRimbalzoRimedioRimorchioRinascitaRincaroRinforzoRinnovoRinomatoRinsavitoRintoccoRinunciaRinvenireRiparatoRipetutoRipienoRiportareRipresaRipulireRisataRischioRiservaRisibileRisoRispettoRistoroRisultatoRisvoltoRitardoRitegnoRitmicoRitrovoRiunioneRivaRiversoRivincitaRivoltoRizomaRobaRoboticoRobustoRocciaRocoRodaggioRodereRoditoreRogitoRollioRomanticoRompereRonzioRosolareRospoRotanteRotondoRotulaRovescioRubizzoRubricaRugaRullinoRumineRumorosoRuoloRupeRussareRusticoSabatoSabbiareSabotatoSagomaSalassoSaldaturaSalgemmaSalivareSalmoneSaloneSaltareSalutoSalvoSapereSapidoSaporitoSaracenoSarcasmoSartoSassosoSatelliteSatiraSatolloSaturnoSavanaSavioSaziatoSbadiglioSbalzoSbancatoSbarraSbattereSbavareSbendareSbirciareSbloccatoSbocciatoSbrinareSbruffoneSbuffareScabrosoScadenzaScalaScambiareScandaloScapolaScarsoScatenareScavatoSceltoScenicoScettroSchedaSchienaSciarpaScienzaScindereScippoSciroppoScivoloSclerareScodellaScolpitoScompartoSconfortoScoprireScortaScossoneScozzeseScribaScrollareScrutinioScuderiaScultoreScuolaScuroScusareSdebitareSdoganareSeccaturaSecondoSedanoSeggiolaSegnalatoSegregatoSeguitoSelciatoSelettivoSellaSelvaggioSemaforoSembrareSemeSeminatoSempreSensoSentireSepoltoSequenzaSerataSerbatoSerenoSerioSerpenteSerraglioServireSestinaSetolaSettimanaSfaceloSfaldareSfamatoSfarzosoSfaticatoSferaSfidaSfilatoSfingeSfocatoSfoderareSfogoSfoltireSforzatoSfrattoSfruttatoSfuggitoSfumareSfusoSgabelloSgarbatoSgonfiareSgorbioSgrassatoSguardoSibiloSiccomeSierraSiglaSignoreSilenzioSillabaSimboloSimpaticoSimulatoSinfoniaSingoloSinistroSinoSintesiSinusoideSiparioSismaSistoleSituatoSlittaSlogaturaSlovenoSmarritoSmemoratoSmentitoSmeraldoSmilzoSmontareSmottatoSmussatoSnellireSnervatoSnodoSobbalzoSobrioSoccorsoSocialeSodaleSoffittoSognoSoldatoSolenneSolidoSollazzoSoloSolubileSolventeSomaticoSommaSondaSonettoSonniferoSopireSoppesoSopraSorgereSorpassoSorrisoSorsoSorteggioSorvolatoSospiroSostaSottileSpadaSpallaSpargereSpatolaSpaventoSpazzolaSpecieSpedireSpegnereSpelaturaSperanzaSpessoreSpettraleSpezzatoSpiaSpigolosoSpillatoSpinosoSpiraleSplendidoSportivoSposoSprangaSprecareSpronatoSpruzzoSpuntinoSquilloSradicareSrotolatoStabileStaccoStaffaStagnareStampatoStantioStarnutoStaseraStatutoSteloSteppaSterzoStilettoStimaStirpeStivaleStizzosoStonatoStoricoStrappoStregatoStriduloStrozzareStruttoStuccareStufoStupendoSubentroSuccosoSudoreSuggeritoSugoSultanoSuonareSuperboSupportoSurgelatoSurrogatoSussurroSuturaSvagareSvedeseSveglioSvelareSvenutoSveziaSviluppoSvistaSvizzeraSvoltaSvuotareTabaccoTabulatoTacciareTaciturnoTaleTalismanoTamponeTanninoTaraTardivoTargatoTariffaTarpareTartarugaTastoTatticoTavernaTavolataTazzaTecaTecnicoTelefonoTemerarioTempoTemutoTendoneTeneroTensioneTentacoloTeoremaTermeTerrazzoTerzettoTesiTesseratoTestatoTetroTettoiaTifareTigellaTimbroTintoTipicoTipografoTiraggioTiroTitanioTitoloTitubanteTizioTizzoneToccareTollerareToltoTombolaTomoTonfoTonsillaTopazioTopologiaToppaTorbaTornareTorroneTortoraToscanoTossireTostaturaTotanoTraboccoTracheaTrafilaTragediaTralcioTramontoTransitoTrapanoTrarreTraslocoTrattatoTraveTrecciaTremolioTrespoloTributoTrichecoTrifoglioTrilloTrinceaTrioTristezzaTrituratoTrivellaTrombaTronoTroppoTrottolaTrovareTruccatoTubaturaTuffatoTulipanoTumultoTunisiaTurbareTurchinoTutaTutelaUbicatoUccelloUccisoreUdireUditivoUffaUfficioUgualeUlisseUltimatoUmanoUmileUmorismoUncinettoUngereUnghereseUnicornoUnificatoUnisonoUnitarioUnteUovoUpupaUraganoUrgenzaUrloUsanzaUsatoUscitoUsignoloUsuraioUtensileUtilizzoUtopiaVacanteVaccinatoVagabondoVagliatoValangaValgoValicoVallettaValorosoValutareValvolaVampataVangareVanitosoVanoVantaggioVanveraVaporeVaranoVarcatoVarianteVascaVedettaVedovaVedutoVegetaleVeicoloVelcroVelinaVellutoVeloceVenatoVendemmiaVentoVeraceVerbaleVergognaVerificaVeroVerrucaVerticaleVescicaVessilloVestaleVeteranoVetrinaVetustoViandanteVibranteVicendaVichingoVicinanzaVidimareVigiliaVignetoVigoreVileVillanoViminiVincitoreViolaViperaVirgolaVirologoVirulentoViscosoVisioneVispoVissutoVisuraVitaVitelloVittimaVivandaVividoViziareVoceVogaVolatileVolereVolpeVoragineVulcanoZampognaZannaZappatoZatteraZavorraZefiroZelanteZeloZenzeroZerbinoZibettoZincoZirconeZittoZollaZoticoZuccheroZufoloZuluZuppa"; -var wordlist = null; -function loadWords(lang) { - if (wordlist != null) { - return; - } - wordlist = words.replace(/([A-Z])/g, " $1").toLowerCase().substring(1).split(" "); - // Verify the computed list matches the official list - /* istanbul ignore if */ - if (wordlist_1.Wordlist.check(lang) !== "0x5c1362d88fd4cf614a96f3234941d29f7d37c08c5292fde03bf62c2db6ff7620") { - wordlist = null; - throw new Error("BIP39 Wordlist for it (Italian) FAILED"); - } -} -var LangIt = /** @class */ (function (_super) { - __extends(LangIt, _super); - function LangIt() { - return _super.call(this, "it") || this; - } - LangIt.prototype.getWord = function (index) { - loadWords(this); - return wordlist[index]; - }; - LangIt.prototype.getWordIndex = function (word) { - loadWords(this); - return wordlist.indexOf(word); - }; - return LangIt; -}(wordlist_1.Wordlist)); -var langIt = new LangIt(); -exports.langIt = langIt; -wordlist_1.Wordlist.register(langIt); -//# sourceMappingURL=lang-it.js.map - -/***/ }), - -/***/ 9563: -/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) { - - -var __extends = (this && this.__extends) || (function () { - var extendStatics = function (d, b) { - extendStatics = Object.setPrototypeOf || - ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || - function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; }; - return extendStatics(d, b); - }; - return function (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 __()); - }; -})(); -Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.langJa = void 0; -var bytes_1 = __nccwpck_require__(69691); -var strings_1 = __nccwpck_require__(95578); -var wordlist_1 = __nccwpck_require__(51497); -var data = [ - // 4-kana words - "AQRASRAGBAGUAIRAHBAghAURAdBAdcAnoAMEAFBAFCBKFBQRBSFBCXBCDBCHBGFBEQBpBBpQBIkBHNBeOBgFBVCBhBBhNBmOBmRBiHBiFBUFBZDBvFBsXBkFBlcBjYBwDBMBBTBBTRBWBBWXXaQXaRXQWXSRXCFXYBXpHXOQXHRXhRXuRXmXXbRXlXXwDXTRXrCXWQXWGaBWaKcaYgasFadQalmaMBacAKaRKKBKKXKKjKQRKDRKCYKCRKIDKeVKHcKlXKjHKrYNAHNBWNaRNKcNIBNIONmXNsXNdXNnBNMBNRBNrXNWDNWMNFOQABQAHQBrQXBQXFQaRQKXQKDQKOQKFQNBQNDQQgQCXQCDQGBQGDQGdQYXQpBQpQQpHQLXQHuQgBQhBQhCQuFQmXQiDQUFQZDQsFQdRQkHQbRQlOQlmQPDQjDQwXQMBQMDQcFQTBQTHQrDDXQDNFDGBDGQDGRDpFDhFDmXDZXDbRDMYDRdDTRDrXSAhSBCSBrSGQSEQSHBSVRShYShkSyQSuFSiBSdcSoESocSlmSMBSFBSFKSFNSFdSFcCByCaRCKcCSBCSRCCrCGbCEHCYXCpBCpQCIBCIHCeNCgBCgFCVECVcCmkCmwCZXCZFCdRClOClmClFCjDCjdCnXCwBCwXCcRCFQCFjGXhGNhGDEGDMGCDGCHGIFGgBGVXGVEGVRGmXGsXGdYGoSGbRGnXGwXGwDGWRGFNGFLGFOGFdGFkEABEBDEBFEXOEaBEKSENBENDEYXEIgEIkEgBEgQEgHEhFEudEuFEiBEiHEiFEZDEvBEsXEsFEdXEdREkFEbBEbRElFEPCEfkEFNYAEYAhYBNYQdYDXYSRYCEYYoYgQYgRYuRYmCYZTYdBYbEYlXYjQYRbYWRpKXpQopQnpSFpCXpIBpISphNpdBpdRpbRpcZpFBpFNpFDpFopFrLADLBuLXQLXcLaFLCXLEhLpBLpFLHXLeVLhILdHLdRLoDLbRLrXIABIBQIBCIBsIBoIBMIBRIXaIaRIKYIKRINBINuICDIGBIIDIIkIgRIxFIyQIiHIdRIbYIbRIlHIwRIMYIcRIRVITRIFBIFNIFQOABOAFOBQOaFONBONMOQFOSFOCDOGBOEQOpBOLXOIBOIFOgQOgFOyQOycOmXOsXOdIOkHOMEOMkOWWHBNHXNHXWHNXHDuHDRHSuHSRHHoHhkHmRHdRHkQHlcHlRHwBHWcgAEgAggAkgBNgBQgBEgXOgYcgLXgHjgyQgiBgsFgdagMYgWSgFQgFEVBTVXEVKBVKNVKDVKYVKRVNBVNYVDBVDxVSBVSRVCjVGNVLXVIFVhBVhcVsXVdRVbRVlRhBYhKYhDYhGShxWhmNhdahdkhbRhjohMXhTRxAXxXSxKBxNBxEQxeNxeQxhXxsFxdbxlHxjcxFBxFNxFQxFOxFoyNYyYoybcyMYuBQuBRuBruDMuCouHBudQukkuoBulVuMXuFEmCYmCRmpRmeDmiMmjdmTFmFQiADiBOiaRiKRiNBiNRiSFiGkiGFiERipRiLFiIFihYibHijBijEiMXiWBiFBiFCUBQUXFUaRUNDUNcUNRUNFUDBUSHUCDUGBUGFUEqULNULoUIRUeEUeYUgBUhFUuRUiFUsXUdFUkHUbBUjSUjYUwXUMDUcHURdUTBUrBUrXUrQZAFZXZZaRZKFZNBZQFZCXZGBZYdZpBZLDZIFZHXZHNZeQZVRZVFZmXZiBZvFZdFZkFZbHZbFZwXZcCZcRZRBvBQvBGvBLvBWvCovMYsAFsBDsaRsKFsNFsDrsSHsSFsCXsCRsEBsEHsEfspBsLBsLDsIgsIRseGsbRsFBsFQsFSdNBdSRdCVdGHdYDdHcdVbdySduDdsXdlRdwXdWYdWcdWRkBMkXOkaRkNIkNFkSFkCFkYBkpRkeNkgBkhVkmXksFklVkMBkWDkFNoBNoaQoaFoNBoNXoNaoNEoSRoEroYXoYCoYbopRopFomXojkowXorFbBEbEIbdBbjYlaRlDElMXlFDjKjjSRjGBjYBjYkjpRjLXjIBjOFjeVjbRjwBnXQnSHnpFnLXnINnMBnTRwXBwXNwXYwNFwQFwSBwGFwLXwLDweNwgBwuHwjDwnXMBXMpFMIBMeNMTHcaQcNBcDHcSFcCXcpBcLXcLDcgFcuFcnXcwXccDcTQcrFTQErXNrCHrpFrgFrbFrTHrFcWNYWNbWEHWMXWTR", - // 5-kana words - "ABGHABIJAEAVAYJQALZJAIaRAHNXAHdcAHbRAZJMAZJRAZTRAdVJAklmAbcNAjdRAMnRAMWYAWpRAWgRAFgBAFhBAFdcBNJBBNJDBQKBBQhcBQlmBDEJBYJkBYJTBpNBBpJFBIJBBIJDBIcABOKXBOEJBOVJBOiJBOZJBepBBeLXBeIFBegBBgGJBVJXBuocBiJRBUJQBlXVBlITBwNFBMYVBcqXBTlmBWNFBWiJBWnRBFGHBFwXXKGJXNJBXNZJXDTTXSHSXSVRXSlHXCJDXGQJXEhXXYQJXYbRXOfXXeNcXVJFXhQJXhEJXdTRXjdXXMhBXcQTXRGBXTEBXTnQXFCXXFOFXFgFaBaFaBNJaBCJaBpBaBwXaNJKaNJDaQIBaDpRaEPDaHMFamDJalEJaMZJaFaFaFNBaFQJaFLDaFVHKBCYKBEBKBHDKXaFKXGdKXEJKXpHKXIBKXZDKXwXKKwLKNacKNYJKNJoKNWcKDGdKDTRKChXKGaRKGhBKGbRKEBTKEaRKEPTKLMDKLWRKOHDKVJcKdBcKlIBKlOPKFSBKFEPKFpFNBNJNJBQNBGHNBEPNBHXNBgFNBVXNBZDNBsXNBwXNNaRNNJDNNJENNJkNDCJNDVDNGJRNJiDNZJNNsCJNJFNNFSBNFCXNFEPNFLXNFIFQJBFQCaRQJEQQLJDQLJFQIaRQOqXQHaFQHHQQVJXQVJDQhNJQmEIQZJFQsJXQJrFQWbRDJABDBYJDXNFDXCXDXLXDXZDDXsJDQqXDSJFDJCXDEPkDEqXDYmQDpSJDOCkDOGQDHEIDVJDDuDuDWEBDJFgSBNDSBSFSBGHSBIBSBTQSKVYSJQNSJQiSJCXSEqXSJYVSIiJSOMYSHAHSHaQSeCFSepQSegBSHdHSHrFShSJSJuHSJUFSkNRSrSrSWEBSFaHSJFQSFCXSFGDSFYXSFODSFgBSFVXSFhBSFxFSFkFSFbBSFMFCADdCJXBCXaFCXKFCXNFCXCXCXGBCXEJCXYBCXLDCXIBCXOPCXHXCXgBCXhBCXiBCXlDCXcHCJNBCJNFCDCJCDGBCDVXCDhBCDiDCDJdCCmNCpJFCIaRCOqXCHCHCHZJCViJCuCuCmddCJiFCdNBCdHhClEJCnUJCreSCWlgCWTRCFBFCFNBCFYBCFVFCFhFCFdSCFTBCFWDGBNBGBQFGJBCGBEqGBpBGBgQGNBEGNJYGNkOGNJRGDUFGJpQGHaBGJeNGJeEGVBlGVKjGiJDGvJHGsVJGkEBGMIJGWjNGFBFGFCXGFGBGFYXGFpBGFMFEASJEAWpEJNFECJVEIXSEIQJEOqXEOcFEeNcEHEJEHlFEJgFEhlmEmDJEmZJEiMBEUqXEoSREPBFEPXFEPKFEPSFEPEFEPpFEPLXEPIBEJPdEPcFEPTBEJnXEqlHEMpREFCXEFODEFcFYASJYJAFYBaBYBVXYXpFYDhBYCJBYJGFYYbRYeNcYJeVYiIJYZJcYvJgYvJRYJsXYsJFYMYMYreVpBNHpBEJpBwXpQxFpYEJpeNDpJeDpeSFpeCHpHUJpHbBpHcHpmUJpiiJpUJrpsJuplITpFaBpFQqpFGBpFEfpFYBpFpBpFLJpFIDpFgBpFVXpFyQpFuFpFlFpFjDpFnXpFwXpJFMpFTBLXCJLXEFLXhFLXUJLXbFLalmLNJBLSJQLCLCLGJBLLDJLHaFLeNFLeSHLeCXLepFLhaRLZsJLsJDLsJrLocaLlLlLMdbLFNBLFSBLFEHLFkFIBBFIBXFIBaQIBKXIBSFIBpHIBLXIBgBIBhBIBuHIBmXIBiFIBZXIBvFIBbFIBjQIBwXIBWFIKTRIQUJIDGFICjQIYSRIINXIJeCIVaRImEkIZJFIvJRIsJXIdCJIJoRIbBQIjYBIcqXITFVIreVIFKFIFSFIFCJIFGFIFLDIFIBIJFOIFgBIFVXIJFhIFxFIFmXIFdHIFbBIJFrIJFWOBGBOQfXOOKjOUqXOfXBOqXEOcqXORVJOFIBOFlDHBIOHXiFHNTRHCJXHIaRHHJDHHEJHVbRHZJYHbIBHRsJHRkDHWlmgBKFgBSBgBCDgBGHgBpBgBIBgBVJgBuBgBvFgKDTgQVXgDUJgGSJgOqXgmUMgZIJgTUJgWIEgFBFgFNBgFDJgFSFgFGBgFYXgJFOgFgQgFVXgFhBgFbHgJFWVJABVQKcVDgFVOfXVeDFVhaRVmGdViJYVMaRVFNHhBNDhBCXhBEqhBpFhBLXhNJBhSJRheVXhhKEhxlmhZIJhdBQhkIJhbMNhMUJhMZJxNJgxQUJxDEkxDdFxSJRxplmxeSBxeCXxeGFxeYXxepQxegBxWVcxFEQxFLXxFIBxFgBxFxDxFZtxFdcxFbBxFwXyDJXyDlcuASJuDJpuDIBuCpJuGSJuIJFueEFuZIJusJXudWEuoIBuWGJuFBcuFKEuFNFuFQFuFDJuFGJuFVJuFUtuFdHuFTBmBYJmNJYmQhkmLJDmLJomIdXmiJYmvJRmsJRmklmmMBymMuCmclmmcnQiJABiJBNiJBDiBSFiBCJiBEFiBYBiBpFiBLXiBTHiJNciDEfiCZJiECJiJEqiOkHiHKFieNDiHJQieQcieDHieSFieCXieGFieEFieIHiegFihUJixNoioNXiFaBiFKFiFNDiFEPiFYXitFOitFHiFgBiFVEiFmXiFitiFbBiFMFiFrFUCXQUIoQUIJcUHQJUeCEUHwXUUJDUUqXUdWcUcqXUrnQUFNDUFSHUFCFUFEfUFLXUtFOZBXOZXSBZXpFZXVXZEQJZEJkZpDJZOqXZeNHZeCDZUqXZFBQZFEHZFLXvBAFvBKFvBCXvBEPvBpHvBIDvBgFvBuHvQNJvFNFvFGBvFIBvJFcsXCDsXLXsXsXsXlFsXcHsQqXsJQFsEqXseIFsFEHsFjDdBxOdNpRdNJRdEJbdpJRdhZJdnSJdrjNdFNJdFQHdFhNkNJDkYaRkHNRkHSRkVbRkuMRkjSJkcqDoSJFoEiJoYZJoOfXohEBoMGQocqXbBAFbBXFbBaFbBNDbBGBbBLXbBTBbBWDbGJYbIJHbFQqbFpQlDgQlOrFlVJRjGEBjZJRnXvJnXbBnEfHnOPDngJRnxfXnUJWwXEJwNpJwDpBwEfXwrEBMDCJMDGHMDIJMLJDcQGDcQpHcqXccqNFcqCXcFCJRBSBRBGBRBEJRBpQTBNFTBQJTBpBTBVXTFABTFSBTFCFTFGBTFMDrXCJrXLDrDNJrEfHrFQJrFitWNjdWNTR", - // 6-kana words - "AKLJMANOPFASNJIAEJWXAYJNRAIIbRAIcdaAeEfDAgidRAdjNYAMYEJAMIbRAFNJBAFpJFBBIJYBDZJFBSiJhBGdEBBEJfXBEJqXBEJWRBpaUJBLXrXBIYJMBOcfXBeEfFBestXBjNJRBcDJOBFEqXXNvJRXDMBhXCJNYXOAWpXONJWXHDEBXeIaRXhYJDXZJSJXMDJOXcASJXFVJXaBQqXaBZJFasXdQaFSJQaFEfXaFpJHaFOqXKBNSRKXvJBKQJhXKEJQJKEJGFKINJBKIJjNKgJNSKVElmKVhEBKiJGFKlBgJKjnUJKwsJYKMFIJKFNJDKFIJFKFOfXNJBSFNJBCXNBpJFNJBvQNJBMBNJLJXNJOqXNJeCXNJeGFNdsJCNbTKFNwXUJQNFEPQDiJcQDMSJQSFpBQGMQJQJeOcQyCJEQUJEBQJFBrQFEJqDXDJFDJXpBDJXIMDGiJhDIJGRDJeYcDHrDJDVXgFDkAWpDkIgRDjDEqDMvJRDJFNFDJFIBSKclmSJQOFSJQVHSJQjDSJGJBSJGJFSECJoSHEJqSJHTBSJVJDSViJYSZJNBSJsJDSFSJFSFEfXSJFLXCBUJVCJXSBCJXpBCXVJXCJXsXCJXdFCJNJHCLIJgCHiJFCVNJMChCJhCUHEJCsJTRCJdYcCoQJCCFEfXCFIJgCFUJxCFstFGJBaQGJBIDGQJqXGYJNRGJHKFGeQqDGHEJFGJeLXGHIiJGHdBlGUJEBGkIJTGFQPDGJFEqEAGegEJIJBEJVJXEhQJTEiJNcEJZJFEJoEqEjDEqEPDsXEPGJBEPOqXEPeQFEfDiDEJfEFEfepQEfMiJEqXNBEqDIDEqeSFEqVJXEMvJRYXNJDYXEJHYKVJcYYJEBYJeEcYJUqXYFpJFYFstXpAZJMpBSJFpNBNFpeQPDpHLJDpHIJFpHgJFpeitFpHZJFpJFADpFSJFpJFCJpFOqXpFitBpJFZJLXIJFLIJgRLVNJWLVHJMLwNpJLFGJBLFLJDLFOqXLJFUJIBDJXIBGJBIJBYQIJBIBIBOqXIBcqDIEGJFILNJTIIJEBIOiJhIJeNBIJeIBIhiJIIWoTRIJFAHIJFpBIJFuHIFUtFIJFTHOSBYJOEcqXOHEJqOvBpFOkVJrObBVJOncqDOcNJkHhNJRHuHJuHdMhBgBUqXgBsJXgONJBgHNJDgHHJQgJeitgHsJXgJyNagyDJBgZJDrgsVJQgkEJNgkjSJgJFAHgFCJDgFZtMVJXNFVXQfXVJXDJVXoQJVQVJQVDEfXVDvJHVEqNFVeQfXVHpJFVHxfXVVJSRVVmaRVlIJOhCXVJhHjYkhxCJVhWVUJhWiJcxBNJIxeEqDxfXBFxcFEPxFSJFxFYJXyBDQJydaUJyFOPDuYCJYuLvJRuHLJXuZJLDuFOPDuFZJHuFcqXmKHJdmCQJcmOsVJiJAGFitLCFieOfXiestXiZJMEikNJQirXzFiFQqXiFIJFiFZJFiFvtFUHpJFUteIcUteOcUVCJkUhdHcUbEJEUJqXQUMNJhURjYkUFitFZDGJHZJIxDZJVJXZJFDJZJFpQvBNJBvBSJFvJxBrseQqDsVFVJdFLJDkEJNBkmNJYkFLJDoQJOPoGsJRoEAHBoEJfFbBQqDbBZJHbFVJXlFIJBjYIrXjeitcjjCEBjWMNBwXQfXwXOaFwDsJXwCJTRwrCZJMDNJQcDDJFcqDOPRYiJFTBsJXTQIJBTFEfXTFLJDrXEJFrEJXMrFZJFWEJdEWYTlm", - // 7-kana words - "ABCDEFACNJTRAMBDJdAcNJVXBLNJEBXSIdWRXErNJkXYDJMBXZJCJaXMNJaYKKVJKcKDEJqXKDcNJhKVJrNYKbgJVXKFVJSBNBYBwDNJeQfXNJeEqXNhGJWENJFiJRQlIJbEQJfXxDQqXcfXQFNDEJQFwXUJDYcnUJDJIBgQDIUJTRDJFEqDSJQSJFSJQIJFSOPeZtSJFZJHCJXQfXCTDEqFGJBSJFGJBOfXGJBcqXGJHNJDGJRLiJEJfXEqEJFEJPEFpBEJYJBZJFYBwXUJYiJMEBYJZJyTYTONJXpQMFXFpeGIDdpJFstXpJFcPDLBVSJRLHQJqXLJFZJFIJBNJDIJBUqXIBkFDJIJEJPTIYJGWRIJeQPDIJeEfHIJFsJXOqGDSFHXEJqXgJCsJCgGQJqXgdQYJEgFMFNBgJFcqDVJwXUJVJFZJchIgJCCxOEJqXxOwXUJyDJBVRuscisciJBiJBieUtqXiJFDJkiFsJXQUGEZJcUJFsJXZtXIrXZDZJDrZJFNJDZJFstXvJFQqXvJFCJEsJXQJqkhkNGBbDJdTRbYJMEBlDwXUJMEFiJFcfXNJDRcNJWMTBLJXC", - // 8-kana words - "BraFUtHBFSJFdbNBLJXVJQoYJNEBSJBEJfHSJHwXUJCJdAZJMGjaFVJXEJPNJBlEJfFiJFpFbFEJqIJBVJCrIBdHiJhOPFChvJVJZJNJWxGFNIFLueIBQJqUHEJfUFstOZJDrlXEASJRlXVJXSFwVJNJWD", - // 9-kana words - "QJEJNNJDQJEJIBSFQJEJxegBQJEJfHEPSJBmXEJFSJCDEJqXLXNJFQqXIcQsFNJFIFEJqXUJgFsJXIJBUJEJfHNFvJxEqXNJnXUJFQqD", - // 10-kana words - "IJBEJqXZJ" -]; -// Maps each character into its kana value (the index) -var mapping = "~~AzB~X~a~KN~Q~D~S~C~G~E~Y~p~L~I~O~eH~g~V~hxyumi~~U~~Z~~v~~s~~dkoblPjfnqwMcRTr~W~~~F~~~~~Jt"; -var wordlist = null; -function hex(word) { - return (0, bytes_1.hexlify)((0, strings_1.toUtf8Bytes)(word)); -} -var KiYoKu = "0xe3818de38284e3818f"; -var KyoKu = "0xe3818de38283e3818f"; -function loadWords(lang) { - if (wordlist !== null) { - return; - } - wordlist = []; - // Transforms for normalizing (sort is a not quite UTF-8) - var transform = {}; - // Delete the diacritic marks - transform[(0, strings_1.toUtf8String)([227, 130, 154])] = false; - transform[(0, strings_1.toUtf8String)([227, 130, 153])] = false; - // Some simple transforms that sort out most of the order - transform[(0, strings_1.toUtf8String)([227, 130, 133])] = (0, strings_1.toUtf8String)([227, 130, 134]); - transform[(0, strings_1.toUtf8String)([227, 129, 163])] = (0, strings_1.toUtf8String)([227, 129, 164]); - transform[(0, strings_1.toUtf8String)([227, 130, 131])] = (0, strings_1.toUtf8String)([227, 130, 132]); - transform[(0, strings_1.toUtf8String)([227, 130, 135])] = (0, strings_1.toUtf8String)([227, 130, 136]); - // Normalize words using the transform - function normalize(word) { - var result = ""; - for (var i = 0; i < word.length; i++) { - var kana = word[i]; - var target = transform[kana]; - if (target === false) { - continue; - } - if (target) { - kana = target; - } - result += kana; - } - return result; - } - // Sort how the Japanese list is sorted - function sortJapanese(a, b) { - a = normalize(a); - b = normalize(b); - if (a < b) { - return -1; - } - if (a > b) { - return 1; - } - return 0; - } - // Load all the words - for (var length_1 = 3; length_1 <= 9; length_1++) { - var d = data[length_1 - 3]; - for (var offset = 0; offset < d.length; offset += length_1) { - var word = []; - for (var i = 0; i < length_1; i++) { - var k = mapping.indexOf(d[offset + i]); - word.push(227); - word.push((k & 0x40) ? 130 : 129); - word.push((k & 0x3f) + 128); - } - wordlist.push((0, strings_1.toUtf8String)(word)); - } - } - wordlist.sort(sortJapanese); - // For some reason kyoku and kiyoku are flipped in node (!!). - // The order SHOULD be: - // - kyoku - // - kiyoku - // This should ignore "if", but that doesn't work here?? - /* istanbul ignore next */ - if (hex(wordlist[442]) === KiYoKu && hex(wordlist[443]) === KyoKu) { - var tmp = wordlist[442]; - wordlist[442] = wordlist[443]; - wordlist[443] = tmp; - } - // Verify the computed list matches the official list - /* istanbul ignore if */ - if (wordlist_1.Wordlist.check(lang) !== "0xcb36b09e6baa935787fd762ce65e80b0c6a8dabdfbc3a7f86ac0e2c4fd111600") { - wordlist = null; - throw new Error("BIP39 Wordlist for ja (Japanese) FAILED"); - } -} -var LangJa = /** @class */ (function (_super) { - __extends(LangJa, _super); - function LangJa() { - return _super.call(this, "ja") || this; - } - LangJa.prototype.getWord = function (index) { - loadWords(this); - return wordlist[index]; - }; - LangJa.prototype.getWordIndex = function (word) { - loadWords(this); - return wordlist.indexOf(word); - }; - LangJa.prototype.split = function (mnemonic) { - wordlist_1.logger.checkNormalize(); - return mnemonic.split(/(?:\u3000| )+/g); - }; - LangJa.prototype.join = function (words) { - return words.join("\u3000"); - }; - return LangJa; -}(wordlist_1.Wordlist)); -var langJa = new LangJa(); -exports.langJa = langJa; -wordlist_1.Wordlist.register(langJa); -//# sourceMappingURL=lang-ja.js.map - -/***/ }), - -/***/ 40756: -/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) { - - -var __extends = (this && this.__extends) || (function () { - var extendStatics = function (d, b) { - extendStatics = Object.setPrototypeOf || - ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || - function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; }; - return extendStatics(d, b); - }; - return function (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 __()); - }; -})(); -Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.langKo = void 0; -var strings_1 = __nccwpck_require__(95578); -var wordlist_1 = __nccwpck_require__(51497); -var data = [ - "OYAa", - "ATAZoATBl3ATCTrATCl8ATDloATGg3ATHT8ATJT8ATJl3ATLlvATLn4ATMT8ATMX8ATMboATMgoAToLbAToMTATrHgATvHnAT3AnAT3JbAT3MTAT8DbAT8JTAT8LmAT8MYAT8MbAT#LnAUHT8AUHZvAUJXrAUJX8AULnrAXJnvAXLUoAXLgvAXMn6AXRg3AXrMbAX3JTAX3QbAYLn3AZLgvAZrSUAZvAcAZ8AaAZ8AbAZ8AnAZ8HnAZ8LgAZ8MYAZ8MgAZ8OnAaAboAaDTrAaFTrAaJTrAaJboAaLVoAaMXvAaOl8AaSeoAbAUoAbAg8AbAl4AbGnrAbMT8AbMXrAbMn4AbQb8AbSV8AbvRlAb8AUAb8AnAb8HgAb8JTAb8NTAb8RbAcGboAcLnvAcMT8AcMX8AcSToAcrAaAcrFnAc8AbAc8MgAfGgrAfHboAfJnvAfLV8AfLkoAfMT8AfMnoAfQb8AfScrAfSgrAgAZ8AgFl3AgGX8AgHZvAgHgrAgJXoAgJX8AgJboAgLZoAgLn4AgOX8AgoATAgoAnAgoCUAgoJgAgoLXAgoMYAgoSeAgrDUAgrJTAhrFnAhrLjAhrQgAjAgoAjJnrAkMX8AkOnoAlCTvAlCV8AlClvAlFg4AlFl6AlFn3AloSnAlrAXAlrAfAlrFUAlrFbAlrGgAlrOXAlvKnAlvMTAl3AbAl3MnAnATrAnAcrAnCZ3AnCl8AnDg8AnFboAnFl3AnHX4AnHbrAnHgrAnIl3AnJgvAnLXoAnLX4AnLbrAnLgrAnLhrAnMXoAnMgrAnOn3AnSbrAnSeoAnvLnAn3OnCTGgvCTSlvCTvAUCTvKnCTvNTCT3CZCT3GUCT3MTCT8HnCUCZrCULf8CULnvCU3HnCU3JUCY6NUCbDb8CbFZoCbLnrCboOTCboScCbrFnCbvLnCb8AgCb8HgCb$LnCkLfoClBn3CloDUDTHT8DTLl3DTSU8DTrAaDTrLXDTrLjDTrOYDTrOgDTvFXDTvFnDT3HUDT3LfDUCT9DUDT4DUFVoDUFV8DUFkoDUGgrDUJnrDULl8DUMT8DUMXrDUMX4DUMg8DUOUoDUOgvDUOg8DUSToDUSZ8DbDXoDbDgoDbGT8DbJn3DbLg3DbLn4DbMXrDbMg8DbOToDboJXGTClvGTDT8GTFZrGTLVoGTLlvGTLl3GTMg8GTOTvGTSlrGToCUGTrDgGTrJYGTrScGTtLnGTvAnGTvQgGUCZrGUDTvGUFZoGUHXrGULnvGUMT8GUoMgGXoLnGXrMXGXrMnGXvFnGYLnvGZOnvGZvOnGZ8LaGZ8LmGbAl3GbDYvGbDlrGbHX3GbJl4GbLV8GbLn3GbMn4GboJTGboRfGbvFUGb3GUGb4JnGgDX3GgFl$GgJlrGgLX6GgLZoGgLf8GgOXoGgrAgGgrJXGgrMYGgrScGgvATGgvOYGnAgoGnJgvGnLZoGnLg3GnLnrGnQn8GnSbrGnrMgHTClvHTDToHTFT3HTQT8HToJTHToJgHTrDUHTrMnHTvFYHTvRfHT8MnHT8SUHUAZ8HUBb4HUDTvHUoMYHXFl6HXJX6HXQlrHXrAUHXrMnHXrSbHXvFYHXvKXHX3LjHX3MeHYvQlHZrScHZvDbHbAcrHbFT3HbFl3HbJT8HbLTrHbMT8HbMXrHbMbrHbQb8HbSX3HboDbHboJTHbrFUHbrHgHbrJTHb8JTHb8MnHb8QgHgAlrHgDT3HgGgrHgHgrHgJTrHgJT8HgLX@HgLnrHgMT8HgMX8HgMboHgOnrHgQToHgRg3HgoHgHgrCbHgrFnHgrLVHgvAcHgvAfHnAloHnCTrHnCnvHnGTrHnGZ8HnGnvHnJT8HnLf8HnLkvHnMg8HnRTrITvFUITvFnJTAXrJTCV8JTFT3JTFT8JTFn4JTGgvJTHT8JTJT8JTJXvJTJl3JTJnvJTLX4JTLf8JTLhvJTMT8JTMXrJTMnrJTObrJTQT8JTSlvJT8DUJT8FkJT8MTJT8OXJT8OgJT8QUJT8RfJUHZoJXFT4JXFlrJXGZ8JXGnrJXLV8JXLgvJXMXoJXMX3JXNboJXPlvJXoJTJXoLkJXrAXJXrHUJXrJgJXvJTJXvOnJX4KnJYAl3JYJT8JYLhvJYQToJYrQXJY6NUJbAl3JbCZrJbDloJbGT8JbGgrJbJXvJbJboJbLf8JbLhrJbLl3JbMnvJbRg8JbSZ8JboDbJbrCZJbrSUJb3KnJb8LnJfRn8JgAXrJgCZrJgDTrJgGZrJgGZ8JgHToJgJT8JgJXoJgJgvJgLX4JgLZ3JgLZ8JgLn4JgMgrJgMn4JgOgvJgPX6JgRnvJgSToJgoCZJgoJbJgoMYJgrJXJgrJgJgrLjJg6MTJlCn3JlGgvJlJl8Jl4AnJl8FnJl8HgJnAToJnATrJnAbvJnDUoJnGnrJnJXrJnJXvJnLhvJnLnrJnLnvJnMToJnMT8JnMXvJnMX3JnMg8JnMlrJnMn4JnOX8JnST4JnSX3JnoAgJnoAnJnoJTJnoObJnrAbJnrAkJnrHnJnrJTJnrJYJnrOYJnrScJnvCUJnvFaJnvJgJnvJnJnvOYJnvQUJnvRUJn3FnJn3JTKnFl3KnLT6LTDlvLTMnoLTOn3LTRl3LTSb4LTSlrLToAnLToJgLTrAULTrAcLTrCULTrHgLTrMgLT3JnLULnrLUMX8LUoJgLVATrLVDTrLVLb8LVoJgLV8MgLV8RTLXDg3LXFlrLXrCnLXrLXLX3GTLX4GgLX4OYLZAXrLZAcrLZAgrLZAhrLZDXyLZDlrLZFbrLZFl3LZJX6LZJX8LZLc8LZLnrLZSU8LZoJTLZoJnLZrAgLZrAnLZrJYLZrLULZrMgLZrSkLZvAnLZvGULZvJeLZvOTLZ3FZLZ4JXLZ8STLZ8ScLaAT3LaAl3LaHT8LaJTrLaJT8LaJXrLaJgvLaJl4LaLVoLaMXrLaMXvLaMX8LbClvLbFToLbHlrLbJn4LbLZ3LbLhvLbMXrLbMnoLbvSULcLnrLc8HnLc8MTLdrMnLeAgoLeOgvLeOn3LfAl3LfLnvLfMl3LfOX8Lf8AnLf8JXLf8LXLgJTrLgJXrLgJl8LgMX8LgRZrLhCToLhrAbLhrFULhrJXLhvJYLjHTrLjHX4LjJX8LjLhrLjSX3LjSZ4LkFX4LkGZ8LkGgvLkJTrLkMXoLkSToLkSU8LkSZ8LkoOYLl3FfLl3MgLmAZrLmCbrLmGgrLmHboLmJnoLmJn3LmLfoLmLhrLmSToLnAX6LnAb6LnCZ3LnCb3LnDTvLnDb8LnFl3LnGnrLnHZvLnHgvLnITvLnJT8LnJX8LnJlvLnLf8LnLg6LnLhvLnLnoLnMXrLnMg8LnQlvLnSbrLnrAgLnrAnLnrDbLnrFkLnrJdLnrMULnrOYLnrSTLnvAnLnvDULnvHgLnvOYLnvOnLn3GgLn4DULn4JTLn4JnMTAZoMTAloMTDb8MTFT8MTJnoMTJnrMTLZrMTLhrMTLkvMTMX8MTRTrMToATMTrDnMTrOnMT3JnMT4MnMT8FUMT8FaMT8FlMT8GTMT8GbMT8GnMT8HnMT8JTMT8JbMT8OTMUCl8MUJTrMUJU8MUMX8MURTrMUSToMXAX6MXAb6MXCZoMXFXrMXHXrMXLgvMXOgoMXrAUMXrAnMXrHgMXrJYMXrJnMXrMTMXrMgMXrOYMXrSZMXrSgMXvDUMXvOTMX3JgMX3OTMX4JnMX8DbMX8FnMX8HbMX8HgMX8HnMX8LbMX8MnMX8OnMYAb8MYGboMYHTvMYHX4MYLTrMYLnvMYMToMYOgvMYRg3MYSTrMbAToMbAXrMbAl3MbAn8MbGZ8MbJT8MbJXrMbMXvMbMX8MbMnoMbrMUMb8AfMb8FbMb8FkMcJXoMeLnrMgFl3MgGTvMgGXoMgGgrMgGnrMgHT8MgHZrMgJnoMgLnrMgLnvMgMT8MgQUoMgrHnMgvAnMg8HgMg8JYMg8LfMloJnMl8ATMl8AXMl8JYMnAToMnAT4MnAZ8MnAl3MnAl4MnCl8MnHT8MnHg8MnJnoMnLZoMnLhrMnMXoMnMX3MnMnrMnOgvMnrFbMnrFfMnrFnMnrNTMnvJXNTMl8OTCT3OTFV8OTFn3OTHZvOTJXrOTOl3OT3ATOT3JUOT3LZOT3LeOT3MbOT8ATOT8AbOT8AgOT8MbOUCXvOUMX3OXHXvOXLl3OXrMUOXvDbOX6NUOX8JbOYFZoOYLbrOYLkoOYMg8OYSX3ObHTrObHT4ObJgrObLhrObMX3ObOX8Ob8FnOeAlrOeJT8OeJXrOeJnrOeLToOeMb8OgJXoOgLXoOgMnrOgOXrOgOloOgoAgOgoJbOgoMYOgoSTOg8AbOjLX4OjMnoOjSV8OnLVoOnrAgOn3DUPXQlrPXvFXPbvFTPdAT3PlFn3PnvFbQTLn4QToAgQToMTQULV8QURg8QUoJnQXCXvQbFbrQb8AaQb8AcQb8FbQb8MYQb8ScQeAlrQeLhrQjAn3QlFXoQloJgQloSnRTLnvRTrGURTrJTRUJZrRUoJlRUrQnRZrLmRZrMnRZrSnRZ8ATRZ8JbRZ8ScRbMT8RbST3RfGZrRfMX8RfMgrRfSZrRnAbrRnGT8RnvJgRnvLfRnvMTRn8AaSTClvSTJgrSTOXrSTRg3STRnvSToAcSToAfSToAnSToHnSToLjSToMTSTrAaSTrEUST3BYST8AgST8LmSUAZvSUAgrSUDT4SUDT8SUGgvSUJXoSUJXvSULTrSU8JTSU8LjSV8AnSV8JgSXFToSXLf8SYvAnSZrDUSZrMUSZrMnSZ8HgSZ8JTSZ8JgSZ8MYSZ8QUSaQUoSbCT3SbHToSbQYvSbSl4SboJnSbvFbSb8HbSb8JgSb8OTScGZrScHgrScJTvScMT8ScSToScoHbScrMTScvAnSeAZrSeAcrSeHboSeJUoSeLhrSeMT8SeMXrSe6JgSgHTrSkJnoSkLnvSk8CUSlFl3SlrSnSl8GnSmAboSmGT8SmJU8", - "ATLnDlATrAZoATrJX4ATrMT8ATrMX4ATrRTrATvDl8ATvJUoATvMl8AT3AToAT3MX8AT8CT3AT8DT8AT8HZrAT8HgoAUAgFnAUCTFnAXoMX8AXrAT8AXrGgvAXrJXvAXrOgoAXvLl3AZvAgoAZvFbrAZvJXoAZvJl8AZvJn3AZvMX8AZvSbrAZ8FZoAZ8LZ8AZ8MU8AZ8OTvAZ8SV8AZ8SX3AbAgFZAboJnoAbvGboAb8ATrAb8AZoAb8AgrAb8Al4Ab8Db8Ab8JnoAb8LX4Ab8LZrAb8LhrAb8MT8Ab8OUoAb8Qb8Ab8ST8AcrAUoAcrAc8AcrCZ3AcrFT3AcrFZrAcrJl4AcrJn3AcrMX3AcrOTvAc8AZ8Ac8MT8AfAcJXAgoFn4AgoGgvAgoGnrAgoLc8AgoMXoAgrLnrAkrSZ8AlFXCTAloHboAlrHbrAlrLhrAlrLkoAl3CZrAl3LUoAl3LZrAnrAl4AnrMT8An3HT4BT3IToBX4MnvBb!Ln$CTGXMnCToLZ4CTrHT8CT3JTrCT3RZrCT#GTvCU6GgvCU8Db8CU8GZrCU8HT8CboLl3CbrGgrCbrMU8Cb8DT3Cb8GnrCb8LX4Cb8MT8Cb8ObrCgrGgvCgrKX4Cl8FZoDTrAbvDTrDboDTrGT6DTrJgrDTrMX3DTrRZrDTrRg8DTvAVvDTvFZoDT3DT8DT3Ln3DT4HZrDT4MT8DT8AlrDT8MT8DUAkGbDUDbJnDYLnQlDbDUOYDbMTAnDbMXSnDboAT3DboFn4DboLnvDj6JTrGTCgFTGTGgFnGTJTMnGTLnPlGToJT8GTrCT3GTrLVoGTrLnvGTrMX3GTrMboGTvKl3GZClFnGZrDT3GZ8DTrGZ8FZ8GZ8MXvGZ8On8GZ8ST3GbCnQXGbMbFnGboFboGboJg3GboMXoGb3JTvGb3JboGb3Mn6Gb3Qb8GgDXLjGgMnAUGgrDloGgrHX4GgrSToGgvAXrGgvAZvGgvFbrGgvLl3GgvMnvGnDnLXGnrATrGnrMboGnuLl3HTATMnHTAgCnHTCTCTHTrGTvHTrHTvHTrJX8HTrLl8HTrMT8HTrMgoHTrOTrHTuOn3HTvAZrHTvDTvHTvGboHTvJU8HTvLl3HTvMXrHTvQb4HT4GT6HT4JT8HT4Jb#HT8Al3HT8GZrHT8GgrHT8HX4HT8Jb8HT8JnoHT8LTrHT8LgvHT8SToHT8SV8HUoJUoHUoJX8HUoLnrHXrLZoHXvAl3HX3LnrHX4FkvHX4LhrHX4MXoHX4OnoHZrAZ8HZrDb8HZrGZ8HZrJnrHZvGZ8HZvLnvHZ8JnvHZ8LhrHbCXJlHbMTAnHboJl4HbpLl3HbrJX8HbrLnrHbrMnvHbvRYrHgoSTrHgrFV8HgrGZ8HgrJXoHgrRnvHgvBb!HgvGTrHgvHX4HgvHn!HgvLTrHgvSU8HnDnLbHnFbJbHnvDn8Hn6GgvHn!BTvJTCTLnJTQgFnJTrAnvJTrLX4JTrOUoJTvFn3JTvLnrJTvNToJT3AgoJT3Jn4JT3LhvJT3ObrJT8AcrJT8Al3JT8JT8JT8JnoJT8LX4JT8LnrJT8MX3JT8Rg3JT8Sc8JUoBTvJU8AToJU8GZ8JU8GgvJU8JTrJU8JXrJU8JnrJU8LnvJU8ScvJXHnJlJXrGgvJXrJU8JXrLhrJXrMT8JXrMXrJXrQUoJXvCTvJXvGZ8JXvGgrJXvQT8JX8Ab8JX8DT8JX8GZ8JX8HZvJX8LnrJX8MT8JX8MXoJX8MnvJX8ST3JYGnCTJbAkGbJbCTAnJbLTAcJboDT3JboLb6JbrAnvJbrCn3JbrDl8JbrGboJbrIZoJbrJnvJbrMnvJbrQb4Jb8RZrJeAbAnJgJnFbJgScAnJgrATrJgvHZ8JgvMn4JlJlFbJlLiQXJlLjOnJlRbOlJlvNXoJlvRl3Jl4AcrJl8AUoJl8MnrJnFnMlJnHgGbJnoDT8JnoFV8JnoGgvJnoIT8JnoQToJnoRg3JnrCZ3JnrGgrJnrHTvJnrLf8JnrOX8JnvAT3JnvFZoJnvGT8JnvJl4JnvMT8JnvMX8JnvOXrJnvPX6JnvSX3JnvSZrJn3MT8Jn3MX8Jn3RTrLTATKnLTJnLTLTMXKnLTRTQlLToGb8LTrAZ8LTrCZ8LTrDb8LTrHT8LT3PX6LT4FZoLT$CTvLT$GgrLUvHX3LVoATrLVoAgoLVoJboLVoMX3LVoRg3LV8CZ3LV8FZoLV8GTvLXrDXoLXrFbrLXvAgvLXvFlrLXvLl3LXvRn6LX4Mb8LX8GT8LYCXMnLYrMnrLZoSTvLZrAZvLZrAloLZrFToLZrJXvLZrJboLZrJl4LZrLnrLZrMT8LZrOgvLZrRnvLZrST4LZvMX8LZvSlvLZ8AgoLZ8CT3LZ8JT8LZ8LV8LZ8LZoLZ8Lg8LZ8SV8LZ8SbrLZ$HT8LZ$Mn4La6CTvLbFbMnLbRYFTLbSnFZLboJT8LbrAT9LbrGb3LbrQb8LcrJX8LcrMXrLerHTvLerJbrLerNboLgrDb8LgrGZ8LgrHTrLgrMXrLgrSU8LgvJTrLgvLl3Lg6Ll3LhrLnrLhrMT8LhvAl4LiLnQXLkoAgrLkoJT8LkoJn4LlrSU8Ll3FZoLl3HTrLl3JX8Ll3JnoLl3LToLmLeFbLnDUFbLnLVAnLnrATrLnrAZoLnrAb8LnrAlrLnrGgvLnrJU8LnrLZrLnrLhrLnrMb8LnrOXrLnrSZ8LnvAb4LnvDTrLnvDl8LnvHTrLnvHbrLnvJT8LnvJU8LnvJbrLnvLhvLnvMX8LnvMb8LnvNnoLnvSU8Ln3Al3Ln4FZoLn4GT6Ln4JgvLn4LhrLn4MT8Ln4SToMToCZrMToJX8MToLX4MToLf8MToRg3MTrEloMTvGb6MT3BTrMT3Lb6MT8AcrMT8AgrMT8GZrMT8JnoMT8LnrMT8MX3MUOUAnMXAbFnMXoAloMXoJX8MXoLf8MXoLl8MXrAb8MXrDTvMXrGT8MXrGgrMXrHTrMXrLf8MXrMU8MXrOXvMXrQb8MXvGT8MXvHTrMXvLVoMX3AX3MX3Jn3MX3LhrMX3MX3MX4AlrMX4OboMX8GTvMX8GZrMX8GgrMX8JT8MX8JX8MX8LhrMX8MT8MYDUFbMYMgDbMbGnFfMbvLX4MbvLl3Mb8Mb8Mb8ST4MgGXCnMg8ATrMg8AgoMg8CZrMg8DTrMg8DboMg8HTrMg8JgrMg8LT8MloJXoMl8AhrMl8JT8MnLgAUMnoJXrMnoLX4MnoLhrMnoMT8MnrAl4MnrDb8MnrOTvMnrOgvMnrQb8MnrSU8MnvGgrMnvHZ8Mn3MToMn4DTrMn4LTrMn4Mg8NnBXAnOTFTFnOToAToOTrGgvOTrJX8OT3JXoOT6MTrOT8GgrOT8HTpOT8MToOUoHT8OUoJT8OUoLn3OXrAgoOXrDg8OXrMT8OXvSToOX6CTvOX8CZrOX8OgrOb6HgvOb8AToOb8MT8OcvLZ8OgvAlrOgvHTvOgvJTrOgvJnrOgvLZrOgvLn4OgvMT8OgvRTrOg8AZoOg8DbvOnrOXoOnvJn4OnvLhvOnvRTrOn3GgoOn3JnvOn6JbvOn8OTrPTGYFTPbBnFnPbGnDnPgDYQTPlrAnvPlrETvPlrLnvPlrMXvPlvFX4QTMTAnQTrJU8QYCnJlQYJlQlQbGTQbQb8JnrQb8LZoQb8LnvQb8MT8Qb8Ml8Qb8ST4QloAl4QloHZvQloJX8QloMn8QnJZOlRTrAZvRTrDTrRTvJn4RTvLhvRT4Jb8RZrAZrRZ8AkrRZ8JU8RZ8LV8RZ8LnvRbJlQXRg3GboRg3MnvRg8AZ8Rg8JboRg8Jl4RnLTCbRnvFl3RnvQb8SToAl4SToCZrSToFZoSToHXrSToJU8SToJgvSToJl4SToLhrSToMX3STrAlvSTrCT9STrCgrSTrGgrSTrHXrSTrHboSTrJnoSTrNboSTvLnrST4AZoST8Ab8ST8JT8SUoJn3SU6HZ#SU6JTvSU8Db8SU8HboSU8LgrSV8JT8SZrAcrSZrAl3SZrJT8SZrJnvSZrMT8SZvLUoSZ4FZoSZ8JnoSZ8RZrScoLnrScoMT8ScoMX8ScrAT4ScrAZ8ScrLZ8ScrLkvScvDb8ScvLf8ScvNToSgrFZrShvKnrSloHUoSloLnrSlrMXoSl8HgrSmrJUoSn3BX6", - "ATFlOn3ATLgrDYAT4MTAnAT8LTMnAYJnRTrAbGgJnrAbLV8LnAbvNTAnAeFbLg3AgOYMXoAlQbFboAnDboAfAnJgoJTBToDgAnBUJbAl3BboDUAnCTDlvLnCTFTrSnCYoQTLnDTwAbAnDUDTrSnDUHgHgrDX8LXFnDbJXAcrETvLTLnGTFTQbrGTMnGToGT3DUFbGUJlPX3GbQg8LnGboJbFnGb3GgAYGgAg8ScGgMbAXrGgvAbAnGnJTLnvGnvATFgHTDT6ATHTrDlJnHYLnMn8HZrSbJTHZ8LTFnHbFTJUoHgSeMT8HgrLjAnHgvAbAnHlFUrDlHnDgvAnHnHTFT3HnQTGnrJTAaMXvJTGbCn3JTOgrAnJXvAXMnJbMg8SnJbMnRg3Jb8LTMnJnAl3OnJnGYrQlJnJlQY3LTDlCn3LTJjLg3LTLgvFXLTMg3GTLV8HUOgLXFZLg3LXNXrMnLX8QXFnLX9AlMYLYLXPXrLZAbJU8LZDUJU8LZMXrSnLZ$AgFnLaPXrDULbFYrMnLbMn8LXLboJgJgLeFbLg3LgLZrSnLgOYAgoLhrRnJlLkCTrSnLkOnLhrLnFX%AYLnFZoJXLnHTvJbLnLloAbMTATLf8MTHgJn3MTMXrAXMT3MTFnMUITvFnMXFX%AYMXMXvFbMXrFTDbMYAcMX3MbLf8SnMb8JbFnMgMXrMTMgvAXFnMgvGgCmMnAloSnMnFnJTrOXvMXSnOX8HTMnObJT8ScObLZFl3ObMXCZoPTLgrQXPUFnoQXPU3RXJlPX3RkQXPbrJXQlPlrJbFnQUAhrDbQXGnCXvQYLnHlvQbLfLnvRTOgvJbRXJYrQlRYLnrQlRbLnrQlRlFT8JlRlFnrQXSTClCn3STHTrAnSTLZQlrSTMnGTrSToHgGbSTrGTDnSTvGXCnST3HgFbSU3HXAXSbAnJn3SbFT8LnScLfLnv", - "AT3JgJX8AT8FZoSnAT8JgFV8AT8LhrDbAZ8JT8DbAb8GgLhrAb8SkLnvAe8MT8SnAlMYJXLVAl3GYDTvAl3LfLnvBUDTvLl3CTOn3HTrCT3DUGgrCU8MT8AbCbFTrJUoCgrDb8MTDTLV8JX8DTLnLXQlDT8LZrSnDUQb8FZ8DUST4JnvDb8ScOUoDj6GbJl4GTLfCYMlGToAXvFnGboAXvLnGgAcrJn3GgvFnSToGnLf8JnvGn#HTDToHTLnFXJlHTvATFToHTvHTDToHTvMTAgoHT3STClvHT4AlFl6HT8HTDToHUoDgJTrHUoScMX3HbRZrMXoHboJg8LTHgDb8JTrHgMToLf8HgvLnLnoHnHn3HT4Hn6MgvAnJTJU8ScvJT3AaQT8JT8HTrAnJXrRg8AnJbAloMXoJbrATFToJbvMnoSnJgDb6GgvJgDb8MXoJgSX3JU8JguATFToJlPYLnQlJlQkDnLbJlQlFYJlJl8Lf8OTJnCTFnLbJnLTHXMnJnLXGXCnJnoFfRg3JnrMYRg3Jn3HgFl3KT8Dg8LnLTRlFnPTLTvPbLbvLVoSbrCZLXMY6HT3LXNU7DlrLXNXDTATLX8DX8LnLZDb8JU8LZMnoLhrLZSToJU8LZrLaLnrLZvJn3SnLZ8LhrSnLaJnoMT8LbFlrHTvLbrFTLnrLbvATLlvLb6OTFn3LcLnJZOlLeAT6Mn4LeJT3ObrLg6LXFlrLhrJg8LnLhvDlPX4LhvLfLnvLj6JTFT3LnFbrMXoLnQluCTvLnrQXCY6LnvLfLnvLnvMgLnvLnvSeLf8MTMbrJn3MT3JgST3MT8AnATrMT8LULnrMUMToCZrMUScvLf8MXoDT8SnMX6ATFToMX8AXMT8MX8FkMT8MX8HTrDUMX8ScoSnMYJT6CTvMgAcrMXoMg8SToAfMlvAXLg3MnFl3AnvOT3AnFl3OUoATHT8OU3RnLXrOXrOXrSnObPbvFn6Og8HgrSnOg8OX8DbPTvAgoJgPU3RYLnrPXrDnJZrPb8CTGgvPlrLTDlvPlvFUJnoQUvFXrQlQeMnoAl3QlrQlrSnRTFTrJUoSTDlLiLXSTFg6HT3STJgoMn4STrFTJTrSTrLZFl3ST4FnMXoSUrDlHUoScvHTvSnSfLkvMXo", - "AUoAcrMXoAZ8HboAg8AbOg6ATFgAg8AloMXoAl3AT8JTrAl8MX8MXoCT3SToJU8Cl8Db8MXoDT8HgrATrDboOT8MXoGTOTrATMnGT8LhrAZ8GnvFnGnQXHToGgvAcrHTvAXvLl3HbrAZoMXoHgBlFXLg3HgMnFXrSnHgrSb8JUoHn6HT8LgvITvATrJUoJUoLZrRnvJU8HT8Jb8JXvFX8QT8JXvLToJTrJYrQnGnQXJgrJnoATrJnoJU8ScvJnvMnvMXoLTCTLgrJXLTJlRTvQlLbRnJlQYvLbrMb8LnvLbvFn3RnoLdCVSTGZrLeSTvGXCnLg3MnoLn3MToLlrETvMT8SToAl3MbrDU6GTvMb8LX4LhrPlrLXGXCnSToLf8Rg3STrDb8LTrSTvLTHXMnSb3RYLnMnSgOg6ATFg", - "HUDlGnrQXrJTrHgLnrAcJYMb8DULc8LTvFgGnCk3Mg8JbAnLX4QYvFYHnMXrRUoJnGnvFnRlvFTJlQnoSTrBXHXrLYSUJgLfoMT8Se8DTrHbDb", - "AbDl8SToJU8An3RbAb8ST8DUSTrGnrAgoLbFU6Db8LTrMg8AaHT8Jb8ObDl8SToJU8Pb3RlvFYoJl" -]; -var codes = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789!@#$%^&*"; -function getHangul(code) { - if (code >= 40) { - code = code + 168 - 40; - } - else if (code >= 19) { - code = code + 97 - 19; - } - return (0, strings_1.toUtf8String)([225, (code >> 6) + 132, (code & 0x3f) + 128]); -} -var wordlist = null; -function loadWords(lang) { - if (wordlist != null) { - return; - } - wordlist = []; - data.forEach(function (data, length) { - length += 4; - for (var i = 0; i < data.length; i += length) { - var word = ""; - for (var j = 0; j < length; j++) { - word += getHangul(codes.indexOf(data[i + j])); - } - wordlist.push(word); - } - }); - wordlist.sort(); - // Verify the computed list matches the official list - /* istanbul ignore if */ - if (wordlist_1.Wordlist.check(lang) !== "0xf9eddeace9c5d3da9c93cf7d3cd38f6a13ed3affb933259ae865714e8a3ae71a") { - wordlist = null; - throw new Error("BIP39 Wordlist for ko (Korean) FAILED"); - } -} -var LangKo = /** @class */ (function (_super) { - __extends(LangKo, _super); - function LangKo() { - return _super.call(this, "ko") || this; - } - LangKo.prototype.getWord = function (index) { - loadWords(this); - return wordlist[index]; - }; - LangKo.prototype.getWordIndex = function (word) { - loadWords(this); - return wordlist.indexOf(word); - }; - return LangKo; -}(wordlist_1.Wordlist)); -var langKo = new LangKo(); -exports.langKo = langKo; -wordlist_1.Wordlist.register(langKo); -//# sourceMappingURL=lang-ko.js.map - -/***/ }), - -/***/ 73468: -/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) { - - -var __extends = (this && this.__extends) || (function () { - var extendStatics = function (d, b) { - extendStatics = Object.setPrototypeOf || - ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || - function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; }; - return extendStatics(d, b); - }; - return function (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 __()); - }; -})(); -Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.langZhTw = exports.langZhCn = void 0; -var strings_1 = __nccwpck_require__(95578); -var wordlist_1 = __nccwpck_require__(51497); -var data = "}aE#4A=Yv&co#4N#6G=cJ&SM#66|/Z#4t&kn~46#4K~4q%b9=IR#7l,mB#7W_X2*dl}Uo~7s}Uf&Iw#9c&cw~6O&H6&wx&IG%v5=IQ~8a&Pv#47$PR&50%Ko&QM&3l#5f,D9#4L|/H&tQ;v0~6n]nN> 2), - 128 + codes.indexOf(data[i * 3 + 1]), - 128 + codes.indexOf(data[i * 3 + 2]), - ]; - if (lang.locale === "zh_tw") { - var common = s % 4; - for (var i_1 = common; i_1 < 3; i_1++) { - bytes[i_1] = codes.indexOf(deltaData[deltaOffset++]) + ((i_1 == 0) ? 228 : 128); - } - } - wordlist[lang.locale].push((0, strings_1.toUtf8String)(bytes)); - } - // Verify the computed list matches the official list - /* istanbul ignore if */ - if (wordlist_1.Wordlist.check(lang) !== Checks[lang.locale]) { - wordlist[lang.locale] = null; - throw new Error("BIP39 Wordlist for " + lang.locale + " (Chinese) FAILED"); - } -} -var LangZh = /** @class */ (function (_super) { - __extends(LangZh, _super); - function LangZh(country) { - return _super.call(this, "zh_" + country) || this; - } - LangZh.prototype.getWord = function (index) { - loadWords(this); - return wordlist[this.locale][index]; - }; - LangZh.prototype.getWordIndex = function (word) { - loadWords(this); - return wordlist[this.locale].indexOf(word); - }; - LangZh.prototype.split = function (mnemonic) { - mnemonic = mnemonic.replace(/(?:\u3000| )+/g, ""); - return mnemonic.split(""); - }; - return LangZh; -}(wordlist_1.Wordlist)); -var langZhCn = new LangZh("cn"); -exports.langZhCn = langZhCn; -wordlist_1.Wordlist.register(langZhCn); -wordlist_1.Wordlist.register(langZhCn, "zh"); -var langZhTw = new LangZh("tw"); -exports.langZhTw = langZhTw; -wordlist_1.Wordlist.register(langZhTw); -//# sourceMappingURL=lang-zh.js.map - -/***/ }), - -/***/ 51497: -/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { - - -Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.Wordlist = exports.logger = void 0; -// This gets overridden by rollup -var exportWordlist = false; -var hash_1 = __nccwpck_require__(39144); -var properties_1 = __nccwpck_require__(54145); -var logger_1 = __nccwpck_require__(8772); -var _version_1 = __nccwpck_require__(82742); -exports.logger = new logger_1.Logger(_version_1.version); -var Wordlist = /** @class */ (function () { - function Wordlist(locale) { - var _newTarget = this.constructor; - exports.logger.checkAbstract(_newTarget, Wordlist); - (0, properties_1.defineReadOnly)(this, "locale", locale); - } - // Subclasses may override this - Wordlist.prototype.split = function (mnemonic) { - return mnemonic.toLowerCase().split(/ +/g); - }; - // Subclasses may override this - Wordlist.prototype.join = function (words) { - return words.join(" "); - }; - Wordlist.check = function (wordlist) { - var words = []; - for (var i = 0; i < 2048; i++) { - var word = wordlist.getWord(i); - /* istanbul ignore if */ - if (i !== wordlist.getWordIndex(word)) { - return "0x"; - } - words.push(word); - } - return (0, hash_1.id)(words.join("\n") + "\n"); - }; - Wordlist.register = function (lang, name) { - if (!name) { - name = lang.locale; - } - /* istanbul ignore if */ - if (exportWordlist) { - try { - var anyGlobal = window; - if (anyGlobal._ethers && anyGlobal._ethers.wordlists) { - if (!anyGlobal._ethers.wordlists[name]) { - (0, properties_1.defineReadOnly)(anyGlobal._ethers.wordlists, name, lang); - } - } - } - catch (error) { } - } - }; - return Wordlist; -}()); -exports.Wordlist = Wordlist; -//# sourceMappingURL=wordlist.js.map - -/***/ }), - -/***/ 19084: -/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { - - -Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.wordlists = void 0; -var lang_cz_1 = __nccwpck_require__(12087); -var lang_en_1 = __nccwpck_require__(42477); -var lang_es_1 = __nccwpck_require__(82634); -var lang_fr_1 = __nccwpck_require__(66226); -var lang_ja_1 = __nccwpck_require__(9563); -var lang_ko_1 = __nccwpck_require__(40756); -var lang_it_1 = __nccwpck_require__(25703); -var lang_zh_1 = __nccwpck_require__(73468); -exports.wordlists = { - cz: lang_cz_1.langCz, - en: lang_en_1.langEn, - es: lang_es_1.langEs, - fr: lang_fr_1.langFr, - it: lang_it_1.langIt, - ja: lang_ja_1.langJa, - ko: lang_ko_1.langKo, - zh: lang_zh_1.langZhCn, - zh_cn: lang_zh_1.langZhCn, - zh_tw: lang_zh_1.langZhTw -}; -//# sourceMappingURL=wordlists.js.map - -/***/ }), - -/***/ 31435: -/***/ ((module) => { - - -var __defProp = Object.defineProperty; -var __getOwnPropDesc = Object.getOwnPropertyDescriptor; -var __getOwnPropNames = Object.getOwnPropertyNames; -var __hasOwnProp = Object.prototype.hasOwnProperty; -var __export = (target, all) => { - for (var name in all) - __defProp(target, name, { get: all[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 __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); - -// pkg/dist-src/index.js -var dist_src_exports = {}; -__export(dist_src_exports, { - createTokenAuth: () => createTokenAuth -}); -module.exports = __toCommonJS(dist_src_exports); - -// pkg/dist-src/auth.js -var REGEX_IS_INSTALLATION_LEGACY = /^v1\./; -var REGEX_IS_INSTALLATION = /^ghs_/; -var REGEX_IS_USER_TO_SERVER = /^ghu_/; -async function auth(token) { - const isApp = token.split(/\./).length === 3; - const isInstallation = REGEX_IS_INSTALLATION_LEGACY.test(token) || REGEX_IS_INSTALLATION.test(token); - const isUserToServer = REGEX_IS_USER_TO_SERVER.test(token); - const tokenType = isApp ? "app" : isInstallation ? "installation" : isUserToServer ? "user-to-server" : "oauth"; - return { - type: "token", - token, - tokenType - }; -} - -// pkg/dist-src/with-authorization-prefix.js -function withAuthorizationPrefix(token) { - if (token.split(/\./).length === 3) { - return `bearer ${token}`; - } - return `token ${token}`; -} - -// pkg/dist-src/hook.js -async function hook(token, request, route, parameters) { - const endpoint = request.endpoint.merge( - route, - parameters - ); - endpoint.headers.authorization = withAuthorizationPrefix(token); - return request(endpoint); -} - -// pkg/dist-src/index.js -var createTokenAuth = function createTokenAuth2(token) { - if (!token) { - throw new Error("[@octokit/auth-token] No token passed to createTokenAuth"); - } - if (typeof token !== "string") { - throw new Error( - "[@octokit/auth-token] Token passed to createTokenAuth is not a string" - ); - } - token = token.replace(/^(token|bearer) +/i, ""); - return Object.assign(auth.bind(null, token), { - hook: hook.bind(null, token) - }); -}; -// Annotate the CommonJS export names for ESM import in node: -0 && (0); - - -/***/ }), - -/***/ 99214: -/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { - - -var __defProp = Object.defineProperty; -var __getOwnPropDesc = Object.getOwnPropertyDescriptor; -var __getOwnPropNames = Object.getOwnPropertyNames; -var __hasOwnProp = Object.prototype.hasOwnProperty; -var __export = (target, all) => { - for (var name in all) - __defProp(target, name, { get: all[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 __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); - -// pkg/dist-src/index.js -var dist_src_exports = {}; -__export(dist_src_exports, { - Octokit: () => Octokit -}); -module.exports = __toCommonJS(dist_src_exports); -var import_universal_user_agent = __nccwpck_require__(39530); -var import_before_after_hook = __nccwpck_require__(89851); -var import_request = __nccwpck_require__(57114); -var import_graphql = __nccwpck_require__(19906); -var import_auth_token = __nccwpck_require__(31435); - -// pkg/dist-src/version.js -var VERSION = "5.2.0"; - -// pkg/dist-src/index.js -var noop = () => { -}; -var consoleWarn = console.warn.bind(console); -var consoleError = console.error.bind(console); -var userAgentTrail = `octokit-core.js/${VERSION} ${(0, import_universal_user_agent.getUserAgent)()}`; -var Octokit = class { - static { - this.VERSION = VERSION; - } - static defaults(defaults) { - const OctokitWithDefaults = class extends this { - constructor(...args) { - const options = args[0] || {}; - if (typeof defaults === "function") { - super(defaults(options)); - return; - } - super( - Object.assign( - {}, - defaults, - options, - options.userAgent && defaults.userAgent ? { - userAgent: `${options.userAgent} ${defaults.userAgent}` - } : null - ) - ); - } - }; - return OctokitWithDefaults; - } - static { - this.plugins = []; - } - /** - * Attach a plugin (or many) to your Octokit instance. - * - * @example - * const API = Octokit.plugin(plugin1, plugin2, plugin3, ...) - */ - static plugin(...newPlugins) { - const currentPlugins = this.plugins; - const NewOctokit = class extends this { - static { - this.plugins = currentPlugins.concat( - newPlugins.filter((plugin) => !currentPlugins.includes(plugin)) - ); - } - }; - return NewOctokit; - } - constructor(options = {}) { - const hook = new import_before_after_hook.Collection(); - const requestDefaults = { - baseUrl: import_request.request.endpoint.DEFAULTS.baseUrl, - headers: {}, - request: Object.assign({}, options.request, { - // @ts-ignore internal usage only, no need to type - hook: hook.bind(null, "request") - }), - mediaType: { - previews: [], - format: "" - } - }; - requestDefaults.headers["user-agent"] = options.userAgent ? `${options.userAgent} ${userAgentTrail}` : userAgentTrail; - if (options.baseUrl) { - requestDefaults.baseUrl = options.baseUrl; - } - if (options.previews) { - requestDefaults.mediaType.previews = options.previews; - } - if (options.timeZone) { - requestDefaults.headers["time-zone"] = options.timeZone; - } - this.request = import_request.request.defaults(requestDefaults); - this.graphql = (0, import_graphql.withCustomRequest)(this.request).defaults(requestDefaults); - this.log = Object.assign( - { - debug: noop, - info: noop, - warn: consoleWarn, - error: consoleError - }, - options.log - ); - this.hook = hook; - if (!options.authStrategy) { - if (!options.auth) { - this.auth = async () => ({ - type: "unauthenticated" - }); - } else { - const auth = (0, import_auth_token.createTokenAuth)(options.auth); - hook.wrap("request", auth.hook); - this.auth = auth; - } - } else { - const { authStrategy, ...otherOptions } = options; - const auth = authStrategy( - Object.assign( - { - request: this.request, - log: this.log, - // we pass the current octokit instance as well as its constructor options - // to allow for authentication strategies that return a new octokit instance - // that shares the same internal state as the current one. The original - // requirement for this was the "event-octokit" authentication strategy - // of https://github.com/probot/octokit-auth-probot. - octokit: this, - octokitOptions: otherOptions - }, - options.auth - ) - ); - hook.wrap("request", auth.hook); - this.auth = auth; - } - const classConstructor = this.constructor; - for (let i = 0; i < classConstructor.plugins.length; ++i) { - Object.assign(this, classConstructor.plugins[i](this, options)); - } - } -}; -// Annotate the CommonJS export names for ESM import in node: -0 && (0); - - -/***/ }), - -/***/ 70976: -/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { - - -var __defProp = Object.defineProperty; -var __getOwnPropDesc = Object.getOwnPropertyDescriptor; -var __getOwnPropNames = Object.getOwnPropertyNames; -var __hasOwnProp = Object.prototype.hasOwnProperty; -var __export = (target, all) => { - for (var name in all) - __defProp(target, name, { get: all[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 __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); - -// pkg/dist-src/index.js -var dist_src_exports = {}; -__export(dist_src_exports, { - endpoint: () => endpoint -}); -module.exports = __toCommonJS(dist_src_exports); - -// pkg/dist-src/defaults.js -var import_universal_user_agent = __nccwpck_require__(39530); - -// pkg/dist-src/version.js -var VERSION = "9.0.5"; - -// pkg/dist-src/defaults.js -var userAgent = `octokit-endpoint.js/${VERSION} ${(0, import_universal_user_agent.getUserAgent)()}`; -var DEFAULTS = { - method: "GET", - baseUrl: "https://api.github.com", - headers: { - accept: "application/vnd.github.v3+json", - "user-agent": userAgent - }, - mediaType: { - format: "" - } -}; - -// pkg/dist-src/util/lowercase-keys.js -function lowercaseKeys(object) { - if (!object) { - return {}; - } - return Object.keys(object).reduce((newObj, key) => { - newObj[key.toLowerCase()] = object[key]; - return newObj; - }, {}); -} - -// pkg/dist-src/util/is-plain-object.js -function isPlainObject(value) { - if (typeof value !== "object" || value === null) - return false; - if (Object.prototype.toString.call(value) !== "[object Object]") - return false; - const proto = Object.getPrototypeOf(value); - if (proto === null) - return true; - const Ctor = Object.prototype.hasOwnProperty.call(proto, "constructor") && proto.constructor; - return typeof Ctor === "function" && Ctor instanceof Ctor && Function.prototype.call(Ctor) === Function.prototype.call(value); -} - -// pkg/dist-src/util/merge-deep.js -function mergeDeep(defaults, options) { - const result = Object.assign({}, defaults); - Object.keys(options).forEach((key) => { - if (isPlainObject(options[key])) { - if (!(key in defaults)) - Object.assign(result, { [key]: options[key] }); - else - result[key] = mergeDeep(defaults[key], options[key]); - } else { - Object.assign(result, { [key]: options[key] }); - } - }); - return result; -} - -// pkg/dist-src/util/remove-undefined-properties.js -function removeUndefinedProperties(obj) { - for (const key in obj) { - if (obj[key] === void 0) { - delete obj[key]; - } - } - return obj; -} - -// pkg/dist-src/merge.js -function merge(defaults, route, options) { - if (typeof route === "string") { - let [method, url] = route.split(" "); - options = Object.assign(url ? { method, url } : { url: method }, options); - } else { - options = Object.assign({}, route); - } - options.headers = lowercaseKeys(options.headers); - removeUndefinedProperties(options); - removeUndefinedProperties(options.headers); - const mergedOptions = mergeDeep(defaults || {}, options); - if (options.url === "/graphql") { - if (defaults && defaults.mediaType.previews?.length) { - mergedOptions.mediaType.previews = defaults.mediaType.previews.filter( - (preview) => !mergedOptions.mediaType.previews.includes(preview) - ).concat(mergedOptions.mediaType.previews); - } - mergedOptions.mediaType.previews = (mergedOptions.mediaType.previews || []).map((preview) => preview.replace(/-preview/, "")); - } - return mergedOptions; -} - -// pkg/dist-src/util/add-query-parameters.js -function addQueryParameters(url, parameters) { - const separator = /\?/.test(url) ? "&" : "?"; - const names = Object.keys(parameters); - if (names.length === 0) { - return url; - } - return url + separator + names.map((name) => { - if (name === "q") { - return "q=" + parameters.q.split("+").map(encodeURIComponent).join("+"); - } - return `${name}=${encodeURIComponent(parameters[name])}`; - }).join("&"); -} - -// pkg/dist-src/util/extract-url-variable-names.js -var urlVariableRegex = /\{[^}]+\}/g; -function removeNonChars(variableName) { - return variableName.replace(/^\W+|\W+$/g, "").split(/,/); -} -function extractUrlVariableNames(url) { - const matches = url.match(urlVariableRegex); - if (!matches) { - return []; - } - return matches.map(removeNonChars).reduce((a, b) => a.concat(b), []); -} - -// pkg/dist-src/util/omit.js -function omit(object, keysToOmit) { - const result = { __proto__: null }; - for (const key of Object.keys(object)) { - if (keysToOmit.indexOf(key) === -1) { - result[key] = object[key]; - } - } - return result; -} - -// pkg/dist-src/util/url-template.js -function encodeReserved(str) { - return str.split(/(%[0-9A-Fa-f]{2})/g).map(function(part) { - if (!/%[0-9A-Fa-f]/.test(part)) { - part = encodeURI(part).replace(/%5B/g, "[").replace(/%5D/g, "]"); - } - return part; - }).join(""); -} -function encodeUnreserved(str) { - return encodeURIComponent(str).replace(/[!'()*]/g, function(c) { - return "%" + c.charCodeAt(0).toString(16).toUpperCase(); - }); -} -function encodeValue(operator, value, key) { - value = operator === "+" || operator === "#" ? encodeReserved(value) : encodeUnreserved(value); - if (key) { - return encodeUnreserved(key) + "=" + value; - } else { - return value; - } -} -function isDefined(value) { - return value !== void 0 && value !== null; -} -function isKeyOperator(operator) { - return operator === ";" || operator === "&" || operator === "?"; -} -function getValues(context, operator, key, modifier) { - var value = context[key], result = []; - if (isDefined(value) && value !== "") { - if (typeof value === "string" || typeof value === "number" || typeof value === "boolean") { - value = value.toString(); - if (modifier && modifier !== "*") { - value = value.substring(0, parseInt(modifier, 10)); - } - result.push( - encodeValue(operator, value, isKeyOperator(operator) ? key : "") - ); - } else { - if (modifier === "*") { - if (Array.isArray(value)) { - value.filter(isDefined).forEach(function(value2) { - result.push( - encodeValue(operator, value2, isKeyOperator(operator) ? key : "") - ); - }); - } else { - Object.keys(value).forEach(function(k) { - if (isDefined(value[k])) { - result.push(encodeValue(operator, value[k], k)); - } - }); - } - } else { - const tmp = []; - if (Array.isArray(value)) { - value.filter(isDefined).forEach(function(value2) { - tmp.push(encodeValue(operator, value2)); - }); - } else { - Object.keys(value).forEach(function(k) { - if (isDefined(value[k])) { - tmp.push(encodeUnreserved(k)); - tmp.push(encodeValue(operator, value[k].toString())); - } - }); - } - if (isKeyOperator(operator)) { - result.push(encodeUnreserved(key) + "=" + tmp.join(",")); - } else if (tmp.length !== 0) { - result.push(tmp.join(",")); - } - } - } - } else { - if (operator === ";") { - if (isDefined(value)) { - result.push(encodeUnreserved(key)); - } - } else if (value === "" && (operator === "&" || operator === "?")) { - result.push(encodeUnreserved(key) + "="); - } else if (value === "") { - result.push(""); - } - } - return result; -} -function parseUrl(template) { - return { - expand: expand.bind(null, template) - }; -} -function expand(template, context) { - var operators = ["+", "#", ".", "/", ";", "?", "&"]; - template = template.replace( - /\{([^\{\}]+)\}|([^\{\}]+)/g, - function(_, expression, literal) { - if (expression) { - let operator = ""; - const values = []; - if (operators.indexOf(expression.charAt(0)) !== -1) { - operator = expression.charAt(0); - expression = expression.substr(1); - } - expression.split(/,/g).forEach(function(variable) { - var tmp = /([^:\*]*)(?::(\d+)|(\*))?/.exec(variable); - values.push(getValues(context, operator, tmp[1], tmp[2] || tmp[3])); - }); - if (operator && operator !== "+") { - var separator = ","; - if (operator === "?") { - separator = "&"; - } else if (operator !== "#") { - separator = operator; - } - return (values.length !== 0 ? operator : "") + values.join(separator); - } else { - return values.join(","); - } - } else { - return encodeReserved(literal); - } - } - ); - if (template === "/") { - return template; - } else { - return template.replace(/\/$/, ""); - } -} - -// pkg/dist-src/parse.js -function parse(options) { - let method = options.method.toUpperCase(); - let url = (options.url || "/").replace(/:([a-z]\w+)/g, "{$1}"); - let headers = Object.assign({}, options.headers); - let body; - let parameters = omit(options, [ - "method", - "baseUrl", - "url", - "headers", - "request", - "mediaType" - ]); - const urlVariableNames = extractUrlVariableNames(url); - url = parseUrl(url).expand(parameters); - if (!/^http/.test(url)) { - url = options.baseUrl + url; - } - const omittedParameters = Object.keys(options).filter((option) => urlVariableNames.includes(option)).concat("baseUrl"); - const remainingParameters = omit(parameters, omittedParameters); - const isBinaryRequest = /application\/octet-stream/i.test(headers.accept); - if (!isBinaryRequest) { - if (options.mediaType.format) { - headers.accept = headers.accept.split(/,/).map( - (format) => format.replace( - /application\/vnd(\.\w+)(\.v3)?(\.\w+)?(\+json)?$/, - `application/vnd$1$2.${options.mediaType.format}` - ) - ).join(","); - } - if (url.endsWith("/graphql")) { - if (options.mediaType.previews?.length) { - const previewsFromAcceptHeader = headers.accept.match(/[\w-]+(?=-preview)/g) || []; - headers.accept = previewsFromAcceptHeader.concat(options.mediaType.previews).map((preview) => { - const format = options.mediaType.format ? `.${options.mediaType.format}` : "+json"; - return `application/vnd.github.${preview}-preview${format}`; - }).join(","); - } - } - } - if (["GET", "HEAD"].includes(method)) { - url = addQueryParameters(url, remainingParameters); - } else { - if ("data" in remainingParameters) { - body = remainingParameters.data; - } else { - if (Object.keys(remainingParameters).length) { - body = remainingParameters; - } - } - } - if (!headers["content-type"] && typeof body !== "undefined") { - headers["content-type"] = "application/json; charset=utf-8"; - } - if (["PATCH", "PUT"].includes(method) && typeof body === "undefined") { - body = ""; - } - return Object.assign( - { method, url, headers }, - typeof body !== "undefined" ? { body } : null, - options.request ? { request: options.request } : null - ); -} - -// pkg/dist-src/endpoint-with-defaults.js -function endpointWithDefaults(defaults, route, options) { - return parse(merge(defaults, route, options)); -} - -// pkg/dist-src/with-defaults.js -function withDefaults(oldDefaults, newDefaults) { - const DEFAULTS2 = merge(oldDefaults, newDefaults); - const endpoint2 = endpointWithDefaults.bind(null, DEFAULTS2); - return Object.assign(endpoint2, { - DEFAULTS: DEFAULTS2, - defaults: withDefaults.bind(null, DEFAULTS2), - merge: merge.bind(null, DEFAULTS2), - parse - }); -} - -// pkg/dist-src/index.js -var endpoint = withDefaults(null, DEFAULTS); -// Annotate the CommonJS export names for ESM import in node: -0 && (0); - - -/***/ }), - -/***/ 19906: -/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { - - -var __defProp = Object.defineProperty; -var __getOwnPropDesc = Object.getOwnPropertyDescriptor; -var __getOwnPropNames = Object.getOwnPropertyNames; -var __hasOwnProp = Object.prototype.hasOwnProperty; -var __export = (target, all) => { - for (var name in all) - __defProp(target, name, { get: all[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 __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); - -// pkg/dist-src/index.js -var dist_src_exports = {}; -__export(dist_src_exports, { - GraphqlResponseError: () => GraphqlResponseError, - graphql: () => graphql2, - withCustomRequest: () => withCustomRequest -}); -module.exports = __toCommonJS(dist_src_exports); -var import_request3 = __nccwpck_require__(57114); -var import_universal_user_agent = __nccwpck_require__(39530); - -// pkg/dist-src/version.js -var VERSION = "7.1.0"; - -// pkg/dist-src/with-defaults.js -var import_request2 = __nccwpck_require__(57114); - -// pkg/dist-src/graphql.js -var import_request = __nccwpck_require__(57114); - -// pkg/dist-src/error.js -function _buildMessageForResponseErrors(data) { - return `Request failed due to following response errors: -` + data.errors.map((e) => ` - ${e.message}`).join("\n"); -} -var GraphqlResponseError = class extends Error { - constructor(request2, headers, response) { - super(_buildMessageForResponseErrors(response)); - this.request = request2; - this.headers = headers; - this.response = response; - this.name = "GraphqlResponseError"; - this.errors = response.errors; - this.data = response.data; - if (Error.captureStackTrace) { - Error.captureStackTrace(this, this.constructor); - } - } -}; - -// pkg/dist-src/graphql.js -var NON_VARIABLE_OPTIONS = [ - "method", - "baseUrl", - "url", - "headers", - "request", - "query", - "mediaType" -]; -var FORBIDDEN_VARIABLE_OPTIONS = ["query", "method", "url"]; -var GHES_V3_SUFFIX_REGEX = /\/api\/v3\/?$/; -function graphql(request2, query, options) { - if (options) { - if (typeof query === "string" && "query" in options) { - return Promise.reject( - new Error(`[@octokit/graphql] "query" cannot be used as variable name`) - ); - } - for (const key in options) { - if (!FORBIDDEN_VARIABLE_OPTIONS.includes(key)) - continue; - return Promise.reject( - new Error( - `[@octokit/graphql] "${key}" cannot be used as variable name` - ) - ); - } - } - const parsedOptions = typeof query === "string" ? Object.assign({ query }, options) : query; - const requestOptions = Object.keys( - parsedOptions - ).reduce((result, key) => { - if (NON_VARIABLE_OPTIONS.includes(key)) { - result[key] = parsedOptions[key]; - return result; - } - if (!result.variables) { - result.variables = {}; - } - result.variables[key] = parsedOptions[key]; - return result; - }, {}); - const baseUrl = parsedOptions.baseUrl || request2.endpoint.DEFAULTS.baseUrl; - if (GHES_V3_SUFFIX_REGEX.test(baseUrl)) { - requestOptions.url = baseUrl.replace(GHES_V3_SUFFIX_REGEX, "/api/graphql"); - } - return request2(requestOptions).then((response) => { - if (response.data.errors) { - const headers = {}; - for (const key of Object.keys(response.headers)) { - headers[key] = response.headers[key]; - } - throw new GraphqlResponseError( - requestOptions, - headers, - response.data - ); - } - return response.data.data; - }); -} - -// pkg/dist-src/with-defaults.js -function withDefaults(request2, newDefaults) { - const newRequest = request2.defaults(newDefaults); - const newApi = (query, options) => { - return graphql(newRequest, query, options); - }; - return Object.assign(newApi, { - defaults: withDefaults.bind(null, newRequest), - endpoint: newRequest.endpoint - }); -} - -// pkg/dist-src/index.js -var graphql2 = withDefaults(import_request3.request, { - headers: { - "user-agent": `octokit-graphql.js/${VERSION} ${(0, import_universal_user_agent.getUserAgent)()}` - }, - method: "POST", - url: "/graphql" -}); -function withCustomRequest(customRequest) { - return withDefaults(customRequest, { - method: "POST", - url: "/graphql" - }); -} -// Annotate the CommonJS export names for ESM import in node: -0 && (0); - - -/***/ }), - -/***/ 78737: -/***/ ((module) => { - - -var __defProp = Object.defineProperty; -var __getOwnPropDesc = Object.getOwnPropertyDescriptor; -var __getOwnPropNames = Object.getOwnPropertyNames; -var __hasOwnProp = Object.prototype.hasOwnProperty; -var __export = (target, all) => { - for (var name in all) - __defProp(target, name, { get: all[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 __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); - -// pkg/dist-src/index.js -var dist_src_exports = {}; -__export(dist_src_exports, { - composePaginateRest: () => composePaginateRest, - isPaginatingEndpoint: () => isPaginatingEndpoint, - paginateRest: () => paginateRest, - paginatingEndpoints: () => paginatingEndpoints -}); -module.exports = __toCommonJS(dist_src_exports); - -// pkg/dist-src/version.js -var VERSION = "9.2.1"; - -// pkg/dist-src/normalize-paginated-list-response.js -function normalizePaginatedListResponse(response) { - if (!response.data) { - return { - ...response, - data: [] - }; - } - const responseNeedsNormalization = "total_count" in response.data && !("url" in response.data); - if (!responseNeedsNormalization) - return response; - const incompleteResults = response.data.incomplete_results; - const repositorySelection = response.data.repository_selection; - const totalCount = response.data.total_count; - delete response.data.incomplete_results; - delete response.data.repository_selection; - delete response.data.total_count; - const namespaceKey = Object.keys(response.data)[0]; - const data = response.data[namespaceKey]; - response.data = data; - if (typeof incompleteResults !== "undefined") { - response.data.incomplete_results = incompleteResults; - } - if (typeof repositorySelection !== "undefined") { - response.data.repository_selection = repositorySelection; - } - response.data.total_count = totalCount; - return response; -} - -// pkg/dist-src/iterator.js -function iterator(octokit, route, parameters) { - const options = typeof route === "function" ? route.endpoint(parameters) : octokit.request.endpoint(route, parameters); - const requestMethod = typeof route === "function" ? route : octokit.request; - const method = options.method; - const headers = options.headers; - let url = options.url; - return { - [Symbol.asyncIterator]: () => ({ - async next() { - if (!url) - return { done: true }; - try { - const response = await requestMethod({ method, url, headers }); - const normalizedResponse = normalizePaginatedListResponse(response); - url = ((normalizedResponse.headers.link || "").match( - /<([^>]+)>;\s*rel="next"/ - ) || [])[1]; - return { value: normalizedResponse }; - } catch (error) { - if (error.status !== 409) - throw error; - url = ""; - return { - value: { - status: 200, - headers: {}, - data: [] - } - }; - } - } - }) - }; -} - -// pkg/dist-src/paginate.js -function paginate(octokit, route, parameters, mapFn) { - if (typeof parameters === "function") { - mapFn = parameters; - parameters = void 0; - } - return gather( - octokit, - [], - iterator(octokit, route, parameters)[Symbol.asyncIterator](), - mapFn - ); -} -function gather(octokit, results, iterator2, mapFn) { - return iterator2.next().then((result) => { - if (result.done) { - return results; - } - let earlyExit = false; - function done() { - earlyExit = true; - } - results = results.concat( - mapFn ? mapFn(result.value, done) : result.value.data - ); - if (earlyExit) { - return results; - } - return gather(octokit, results, iterator2, mapFn); - }); -} - -// pkg/dist-src/compose-paginate.js -var composePaginateRest = Object.assign(paginate, { - iterator -}); - -// pkg/dist-src/generated/paginating-endpoints.js -var paginatingEndpoints = [ - "GET /advisories", - "GET /app/hook/deliveries", - "GET /app/installation-requests", - "GET /app/installations", - "GET /assignments/{assignment_id}/accepted_assignments", - "GET /classrooms", - "GET /classrooms/{classroom_id}/assignments", - "GET /enterprises/{enterprise}/dependabot/alerts", - "GET /enterprises/{enterprise}/secret-scanning/alerts", - "GET /events", - "GET /gists", - "GET /gists/public", - "GET /gists/starred", - "GET /gists/{gist_id}/comments", - "GET /gists/{gist_id}/commits", - "GET /gists/{gist_id}/forks", - "GET /installation/repositories", - "GET /issues", - "GET /licenses", - "GET /marketplace_listing/plans", - "GET /marketplace_listing/plans/{plan_id}/accounts", - "GET /marketplace_listing/stubbed/plans", - "GET /marketplace_listing/stubbed/plans/{plan_id}/accounts", - "GET /networks/{owner}/{repo}/events", - "GET /notifications", - "GET /organizations", - "GET /orgs/{org}/actions/cache/usage-by-repository", - "GET /orgs/{org}/actions/permissions/repositories", - "GET /orgs/{org}/actions/runners", - "GET /orgs/{org}/actions/secrets", - "GET /orgs/{org}/actions/secrets/{secret_name}/repositories", - "GET /orgs/{org}/actions/variables", - "GET /orgs/{org}/actions/variables/{name}/repositories", - "GET /orgs/{org}/blocks", - "GET /orgs/{org}/code-scanning/alerts", - "GET /orgs/{org}/codespaces", - "GET /orgs/{org}/codespaces/secrets", - "GET /orgs/{org}/codespaces/secrets/{secret_name}/repositories", - "GET /orgs/{org}/copilot/billing/seats", - "GET /orgs/{org}/dependabot/alerts", - "GET /orgs/{org}/dependabot/secrets", - "GET /orgs/{org}/dependabot/secrets/{secret_name}/repositories", - "GET /orgs/{org}/events", - "GET /orgs/{org}/failed_invitations", - "GET /orgs/{org}/hooks", - "GET /orgs/{org}/hooks/{hook_id}/deliveries", - "GET /orgs/{org}/installations", - "GET /orgs/{org}/invitations", - "GET /orgs/{org}/invitations/{invitation_id}/teams", - "GET /orgs/{org}/issues", - "GET /orgs/{org}/members", - "GET /orgs/{org}/members/{username}/codespaces", - "GET /orgs/{org}/migrations", - "GET /orgs/{org}/migrations/{migration_id}/repositories", - "GET /orgs/{org}/organization-roles/{role_id}/teams", - "GET /orgs/{org}/organization-roles/{role_id}/users", - "GET /orgs/{org}/outside_collaborators", - "GET /orgs/{org}/packages", - "GET /orgs/{org}/packages/{package_type}/{package_name}/versions", - "GET /orgs/{org}/personal-access-token-requests", - "GET /orgs/{org}/personal-access-token-requests/{pat_request_id}/repositories", - "GET /orgs/{org}/personal-access-tokens", - "GET /orgs/{org}/personal-access-tokens/{pat_id}/repositories", - "GET /orgs/{org}/projects", - "GET /orgs/{org}/properties/values", - "GET /orgs/{org}/public_members", - "GET /orgs/{org}/repos", - "GET /orgs/{org}/rulesets", - "GET /orgs/{org}/rulesets/rule-suites", - "GET /orgs/{org}/secret-scanning/alerts", - "GET /orgs/{org}/security-advisories", - "GET /orgs/{org}/teams", - "GET /orgs/{org}/teams/{team_slug}/discussions", - "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments", - "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions", - "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions", - "GET /orgs/{org}/teams/{team_slug}/invitations", - "GET /orgs/{org}/teams/{team_slug}/members", - "GET /orgs/{org}/teams/{team_slug}/projects", - "GET /orgs/{org}/teams/{team_slug}/repos", - "GET /orgs/{org}/teams/{team_slug}/teams", - "GET /projects/columns/{column_id}/cards", - "GET /projects/{project_id}/collaborators", - "GET /projects/{project_id}/columns", - "GET /repos/{owner}/{repo}/actions/artifacts", - "GET /repos/{owner}/{repo}/actions/caches", - "GET /repos/{owner}/{repo}/actions/organization-secrets", - "GET /repos/{owner}/{repo}/actions/organization-variables", - "GET /repos/{owner}/{repo}/actions/runners", - "GET /repos/{owner}/{repo}/actions/runs", - "GET /repos/{owner}/{repo}/actions/runs/{run_id}/artifacts", - "GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/jobs", - "GET /repos/{owner}/{repo}/actions/runs/{run_id}/jobs", - "GET /repos/{owner}/{repo}/actions/secrets", - "GET /repos/{owner}/{repo}/actions/variables", - "GET /repos/{owner}/{repo}/actions/workflows", - "GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs", - "GET /repos/{owner}/{repo}/activity", - "GET /repos/{owner}/{repo}/assignees", - "GET /repos/{owner}/{repo}/branches", - "GET /repos/{owner}/{repo}/check-runs/{check_run_id}/annotations", - "GET /repos/{owner}/{repo}/check-suites/{check_suite_id}/check-runs", - "GET /repos/{owner}/{repo}/code-scanning/alerts", - "GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances", - "GET /repos/{owner}/{repo}/code-scanning/analyses", - "GET /repos/{owner}/{repo}/codespaces", - "GET /repos/{owner}/{repo}/codespaces/devcontainers", - "GET /repos/{owner}/{repo}/codespaces/secrets", - "GET /repos/{owner}/{repo}/collaborators", - "GET /repos/{owner}/{repo}/comments", - "GET /repos/{owner}/{repo}/comments/{comment_id}/reactions", - "GET /repos/{owner}/{repo}/commits", - "GET /repos/{owner}/{repo}/commits/{commit_sha}/comments", - "GET /repos/{owner}/{repo}/commits/{commit_sha}/pulls", - "GET /repos/{owner}/{repo}/commits/{ref}/check-runs", - "GET /repos/{owner}/{repo}/commits/{ref}/check-suites", - "GET /repos/{owner}/{repo}/commits/{ref}/status", - "GET /repos/{owner}/{repo}/commits/{ref}/statuses", - "GET /repos/{owner}/{repo}/contributors", - "GET /repos/{owner}/{repo}/dependabot/alerts", - "GET /repos/{owner}/{repo}/dependabot/secrets", - "GET /repos/{owner}/{repo}/deployments", - "GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses", - "GET /repos/{owner}/{repo}/environments", - "GET /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies", - "GET /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules/apps", - "GET /repos/{owner}/{repo}/events", - "GET /repos/{owner}/{repo}/forks", - "GET /repos/{owner}/{repo}/hooks", - "GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries", - "GET /repos/{owner}/{repo}/invitations", - "GET /repos/{owner}/{repo}/issues", - "GET /repos/{owner}/{repo}/issues/comments", - "GET /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions", - "GET /repos/{owner}/{repo}/issues/events", - "GET /repos/{owner}/{repo}/issues/{issue_number}/comments", - "GET /repos/{owner}/{repo}/issues/{issue_number}/events", - "GET /repos/{owner}/{repo}/issues/{issue_number}/labels", - "GET /repos/{owner}/{repo}/issues/{issue_number}/reactions", - "GET /repos/{owner}/{repo}/issues/{issue_number}/timeline", - "GET /repos/{owner}/{repo}/keys", - "GET /repos/{owner}/{repo}/labels", - "GET /repos/{owner}/{repo}/milestones", - "GET /repos/{owner}/{repo}/milestones/{milestone_number}/labels", - "GET /repos/{owner}/{repo}/notifications", - "GET /repos/{owner}/{repo}/pages/builds", - "GET /repos/{owner}/{repo}/projects", - "GET /repos/{owner}/{repo}/pulls", - "GET /repos/{owner}/{repo}/pulls/comments", - "GET /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions", - "GET /repos/{owner}/{repo}/pulls/{pull_number}/comments", - "GET /repos/{owner}/{repo}/pulls/{pull_number}/commits", - "GET /repos/{owner}/{repo}/pulls/{pull_number}/files", - "GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews", - "GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/comments", - "GET /repos/{owner}/{repo}/releases", - "GET /repos/{owner}/{repo}/releases/{release_id}/assets", - "GET /repos/{owner}/{repo}/releases/{release_id}/reactions", - "GET /repos/{owner}/{repo}/rules/branches/{branch}", - "GET /repos/{owner}/{repo}/rulesets", - "GET /repos/{owner}/{repo}/rulesets/rule-suites", - "GET /repos/{owner}/{repo}/secret-scanning/alerts", - "GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}/locations", - "GET /repos/{owner}/{repo}/security-advisories", - "GET /repos/{owner}/{repo}/stargazers", - "GET /repos/{owner}/{repo}/subscribers", - "GET /repos/{owner}/{repo}/tags", - "GET /repos/{owner}/{repo}/teams", - "GET /repos/{owner}/{repo}/topics", - "GET /repositories", - "GET /repositories/{repository_id}/environments/{environment_name}/secrets", - "GET /repositories/{repository_id}/environments/{environment_name}/variables", - "GET /search/code", - "GET /search/commits", - "GET /search/issues", - "GET /search/labels", - "GET /search/repositories", - "GET /search/topics", - "GET /search/users", - "GET /teams/{team_id}/discussions", - "GET /teams/{team_id}/discussions/{discussion_number}/comments", - "GET /teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}/reactions", - "GET /teams/{team_id}/discussions/{discussion_number}/reactions", - "GET /teams/{team_id}/invitations", - "GET /teams/{team_id}/members", - "GET /teams/{team_id}/projects", - "GET /teams/{team_id}/repos", - "GET /teams/{team_id}/teams", - "GET /user/blocks", - "GET /user/codespaces", - "GET /user/codespaces/secrets", - "GET /user/emails", - "GET /user/followers", - "GET /user/following", - "GET /user/gpg_keys", - "GET /user/installations", - "GET /user/installations/{installation_id}/repositories", - "GET /user/issues", - "GET /user/keys", - "GET /user/marketplace_purchases", - "GET /user/marketplace_purchases/stubbed", - "GET /user/memberships/orgs", - "GET /user/migrations", - "GET /user/migrations/{migration_id}/repositories", - "GET /user/orgs", - "GET /user/packages", - "GET /user/packages/{package_type}/{package_name}/versions", - "GET /user/public_emails", - "GET /user/repos", - "GET /user/repository_invitations", - "GET /user/social_accounts", - "GET /user/ssh_signing_keys", - "GET /user/starred", - "GET /user/subscriptions", - "GET /user/teams", - "GET /users", - "GET /users/{username}/events", - "GET /users/{username}/events/orgs/{org}", - "GET /users/{username}/events/public", - "GET /users/{username}/followers", - "GET /users/{username}/following", - "GET /users/{username}/gists", - "GET /users/{username}/gpg_keys", - "GET /users/{username}/keys", - "GET /users/{username}/orgs", - "GET /users/{username}/packages", - "GET /users/{username}/projects", - "GET /users/{username}/received_events", - "GET /users/{username}/received_events/public", - "GET /users/{username}/repos", - "GET /users/{username}/social_accounts", - "GET /users/{username}/ssh_signing_keys", - "GET /users/{username}/starred", - "GET /users/{username}/subscriptions" -]; - -// pkg/dist-src/paginating-endpoints.js -function isPaginatingEndpoint(arg) { - if (typeof arg === "string") { - return paginatingEndpoints.includes(arg); - } else { - return false; - } -} - -// pkg/dist-src/index.js -function paginateRest(octokit) { - return { - paginate: Object.assign(paginate.bind(null, octokit), { - iterator: iterator.bind(null, octokit) - }) - }; -} -paginateRest.VERSION = VERSION; -// Annotate the CommonJS export names for ESM import in node: -0 && (0); - - -/***/ }), - -/***/ 8704: -/***/ ((module) => { - - -var __defProp = Object.defineProperty; -var __getOwnPropDesc = Object.getOwnPropertyDescriptor; -var __getOwnPropNames = Object.getOwnPropertyNames; -var __hasOwnProp = Object.prototype.hasOwnProperty; -var __export = (target, all) => { - for (var name in all) - __defProp(target, name, { get: all[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 __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); - -// pkg/dist-src/index.js -var dist_src_exports = {}; -__export(dist_src_exports, { - legacyRestEndpointMethods: () => legacyRestEndpointMethods, - restEndpointMethods: () => restEndpointMethods -}); -module.exports = __toCommonJS(dist_src_exports); - -// pkg/dist-src/version.js -var VERSION = "10.4.1"; - -// pkg/dist-src/generated/endpoints.js -var Endpoints = { - actions: { - addCustomLabelsToSelfHostedRunnerForOrg: [ - "POST /orgs/{org}/actions/runners/{runner_id}/labels" - ], - addCustomLabelsToSelfHostedRunnerForRepo: [ - "POST /repos/{owner}/{repo}/actions/runners/{runner_id}/labels" - ], - addSelectedRepoToOrgSecret: [ - "PUT /orgs/{org}/actions/secrets/{secret_name}/repositories/{repository_id}" - ], - addSelectedRepoToOrgVariable: [ - "PUT /orgs/{org}/actions/variables/{name}/repositories/{repository_id}" - ], - approveWorkflowRun: [ - "POST /repos/{owner}/{repo}/actions/runs/{run_id}/approve" - ], - cancelWorkflowRun: [ - "POST /repos/{owner}/{repo}/actions/runs/{run_id}/cancel" - ], - createEnvironmentVariable: [ - "POST /repositories/{repository_id}/environments/{environment_name}/variables" - ], - createOrUpdateEnvironmentSecret: [ - "PUT /repositories/{repository_id}/environments/{environment_name}/secrets/{secret_name}" - ], - createOrUpdateOrgSecret: ["PUT /orgs/{org}/actions/secrets/{secret_name}"], - createOrUpdateRepoSecret: [ - "PUT /repos/{owner}/{repo}/actions/secrets/{secret_name}" - ], - createOrgVariable: ["POST /orgs/{org}/actions/variables"], - createRegistrationTokenForOrg: [ - "POST /orgs/{org}/actions/runners/registration-token" - ], - createRegistrationTokenForRepo: [ - "POST /repos/{owner}/{repo}/actions/runners/registration-token" - ], - createRemoveTokenForOrg: ["POST /orgs/{org}/actions/runners/remove-token"], - createRemoveTokenForRepo: [ - "POST /repos/{owner}/{repo}/actions/runners/remove-token" - ], - createRepoVariable: ["POST /repos/{owner}/{repo}/actions/variables"], - createWorkflowDispatch: [ - "POST /repos/{owner}/{repo}/actions/workflows/{workflow_id}/dispatches" - ], - deleteActionsCacheById: [ - "DELETE /repos/{owner}/{repo}/actions/caches/{cache_id}" - ], - deleteActionsCacheByKey: [ - "DELETE /repos/{owner}/{repo}/actions/caches{?key,ref}" - ], - deleteArtifact: [ - "DELETE /repos/{owner}/{repo}/actions/artifacts/{artifact_id}" - ], - deleteEnvironmentSecret: [ - "DELETE /repositories/{repository_id}/environments/{environment_name}/secrets/{secret_name}" - ], - deleteEnvironmentVariable: [ - "DELETE /repositories/{repository_id}/environments/{environment_name}/variables/{name}" - ], - deleteOrgSecret: ["DELETE /orgs/{org}/actions/secrets/{secret_name}"], - deleteOrgVariable: ["DELETE /orgs/{org}/actions/variables/{name}"], - deleteRepoSecret: [ - "DELETE /repos/{owner}/{repo}/actions/secrets/{secret_name}" - ], - deleteRepoVariable: [ - "DELETE /repos/{owner}/{repo}/actions/variables/{name}" - ], - deleteSelfHostedRunnerFromOrg: [ - "DELETE /orgs/{org}/actions/runners/{runner_id}" - ], - deleteSelfHostedRunnerFromRepo: [ - "DELETE /repos/{owner}/{repo}/actions/runners/{runner_id}" - ], - deleteWorkflowRun: ["DELETE /repos/{owner}/{repo}/actions/runs/{run_id}"], - deleteWorkflowRunLogs: [ - "DELETE /repos/{owner}/{repo}/actions/runs/{run_id}/logs" - ], - disableSelectedRepositoryGithubActionsOrganization: [ - "DELETE /orgs/{org}/actions/permissions/repositories/{repository_id}" - ], - disableWorkflow: [ - "PUT /repos/{owner}/{repo}/actions/workflows/{workflow_id}/disable" - ], - downloadArtifact: [ - "GET /repos/{owner}/{repo}/actions/artifacts/{artifact_id}/{archive_format}" - ], - downloadJobLogsForWorkflowRun: [ - "GET /repos/{owner}/{repo}/actions/jobs/{job_id}/logs" - ], - downloadWorkflowRunAttemptLogs: [ - "GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/logs" - ], - downloadWorkflowRunLogs: [ - "GET /repos/{owner}/{repo}/actions/runs/{run_id}/logs" - ], - enableSelectedRepositoryGithubActionsOrganization: [ - "PUT /orgs/{org}/actions/permissions/repositories/{repository_id}" - ], - enableWorkflow: [ - "PUT /repos/{owner}/{repo}/actions/workflows/{workflow_id}/enable" - ], - forceCancelWorkflowRun: [ - "POST /repos/{owner}/{repo}/actions/runs/{run_id}/force-cancel" - ], - generateRunnerJitconfigForOrg: [ - "POST /orgs/{org}/actions/runners/generate-jitconfig" - ], - generateRunnerJitconfigForRepo: [ - "POST /repos/{owner}/{repo}/actions/runners/generate-jitconfig" - ], - getActionsCacheList: ["GET /repos/{owner}/{repo}/actions/caches"], - getActionsCacheUsage: ["GET /repos/{owner}/{repo}/actions/cache/usage"], - getActionsCacheUsageByRepoForOrg: [ - "GET /orgs/{org}/actions/cache/usage-by-repository" - ], - getActionsCacheUsageForOrg: ["GET /orgs/{org}/actions/cache/usage"], - getAllowedActionsOrganization: [ - "GET /orgs/{org}/actions/permissions/selected-actions" - ], - getAllowedActionsRepository: [ - "GET /repos/{owner}/{repo}/actions/permissions/selected-actions" - ], - getArtifact: ["GET /repos/{owner}/{repo}/actions/artifacts/{artifact_id}"], - getCustomOidcSubClaimForRepo: [ - "GET /repos/{owner}/{repo}/actions/oidc/customization/sub" - ], - getEnvironmentPublicKey: [ - "GET /repositories/{repository_id}/environments/{environment_name}/secrets/public-key" - ], - getEnvironmentSecret: [ - "GET /repositories/{repository_id}/environments/{environment_name}/secrets/{secret_name}" - ], - getEnvironmentVariable: [ - "GET /repositories/{repository_id}/environments/{environment_name}/variables/{name}" - ], - getGithubActionsDefaultWorkflowPermissionsOrganization: [ - "GET /orgs/{org}/actions/permissions/workflow" - ], - getGithubActionsDefaultWorkflowPermissionsRepository: [ - "GET /repos/{owner}/{repo}/actions/permissions/workflow" - ], - getGithubActionsPermissionsOrganization: [ - "GET /orgs/{org}/actions/permissions" - ], - getGithubActionsPermissionsRepository: [ - "GET /repos/{owner}/{repo}/actions/permissions" - ], - getJobForWorkflowRun: ["GET /repos/{owner}/{repo}/actions/jobs/{job_id}"], - getOrgPublicKey: ["GET /orgs/{org}/actions/secrets/public-key"], - getOrgSecret: ["GET /orgs/{org}/actions/secrets/{secret_name}"], - getOrgVariable: ["GET /orgs/{org}/actions/variables/{name}"], - getPendingDeploymentsForRun: [ - "GET /repos/{owner}/{repo}/actions/runs/{run_id}/pending_deployments" - ], - getRepoPermissions: [ - "GET /repos/{owner}/{repo}/actions/permissions", - {}, - { renamed: ["actions", "getGithubActionsPermissionsRepository"] } - ], - getRepoPublicKey: ["GET /repos/{owner}/{repo}/actions/secrets/public-key"], - getRepoSecret: ["GET /repos/{owner}/{repo}/actions/secrets/{secret_name}"], - getRepoVariable: ["GET /repos/{owner}/{repo}/actions/variables/{name}"], - getReviewsForRun: [ - "GET /repos/{owner}/{repo}/actions/runs/{run_id}/approvals" - ], - getSelfHostedRunnerForOrg: ["GET /orgs/{org}/actions/runners/{runner_id}"], - getSelfHostedRunnerForRepo: [ - "GET /repos/{owner}/{repo}/actions/runners/{runner_id}" - ], - getWorkflow: ["GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}"], - getWorkflowAccessToRepository: [ - "GET /repos/{owner}/{repo}/actions/permissions/access" - ], - getWorkflowRun: ["GET /repos/{owner}/{repo}/actions/runs/{run_id}"], - getWorkflowRunAttempt: [ - "GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}" - ], - getWorkflowRunUsage: [ - "GET /repos/{owner}/{repo}/actions/runs/{run_id}/timing" - ], - getWorkflowUsage: [ - "GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/timing" - ], - listArtifactsForRepo: ["GET /repos/{owner}/{repo}/actions/artifacts"], - listEnvironmentSecrets: [ - "GET /repositories/{repository_id}/environments/{environment_name}/secrets" - ], - listEnvironmentVariables: [ - "GET /repositories/{repository_id}/environments/{environment_name}/variables" - ], - listJobsForWorkflowRun: [ - "GET /repos/{owner}/{repo}/actions/runs/{run_id}/jobs" - ], - listJobsForWorkflowRunAttempt: [ - "GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/jobs" - ], - listLabelsForSelfHostedRunnerForOrg: [ - "GET /orgs/{org}/actions/runners/{runner_id}/labels" - ], - listLabelsForSelfHostedRunnerForRepo: [ - "GET /repos/{owner}/{repo}/actions/runners/{runner_id}/labels" - ], - listOrgSecrets: ["GET /orgs/{org}/actions/secrets"], - listOrgVariables: ["GET /orgs/{org}/actions/variables"], - listRepoOrganizationSecrets: [ - "GET /repos/{owner}/{repo}/actions/organization-secrets" - ], - listRepoOrganizationVariables: [ - "GET /repos/{owner}/{repo}/actions/organization-variables" - ], - listRepoSecrets: ["GET /repos/{owner}/{repo}/actions/secrets"], - listRepoVariables: ["GET /repos/{owner}/{repo}/actions/variables"], - listRepoWorkflows: ["GET /repos/{owner}/{repo}/actions/workflows"], - listRunnerApplicationsForOrg: ["GET /orgs/{org}/actions/runners/downloads"], - listRunnerApplicationsForRepo: [ - "GET /repos/{owner}/{repo}/actions/runners/downloads" - ], - listSelectedReposForOrgSecret: [ - "GET /orgs/{org}/actions/secrets/{secret_name}/repositories" - ], - listSelectedReposForOrgVariable: [ - "GET /orgs/{org}/actions/variables/{name}/repositories" - ], - listSelectedRepositoriesEnabledGithubActionsOrganization: [ - "GET /orgs/{org}/actions/permissions/repositories" - ], - listSelfHostedRunnersForOrg: ["GET /orgs/{org}/actions/runners"], - listSelfHostedRunnersForRepo: ["GET /repos/{owner}/{repo}/actions/runners"], - listWorkflowRunArtifacts: [ - "GET /repos/{owner}/{repo}/actions/runs/{run_id}/artifacts" - ], - listWorkflowRuns: [ - "GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs" - ], - listWorkflowRunsForRepo: ["GET /repos/{owner}/{repo}/actions/runs"], - reRunJobForWorkflowRun: [ - "POST /repos/{owner}/{repo}/actions/jobs/{job_id}/rerun" - ], - reRunWorkflow: ["POST /repos/{owner}/{repo}/actions/runs/{run_id}/rerun"], - reRunWorkflowFailedJobs: [ - "POST /repos/{owner}/{repo}/actions/runs/{run_id}/rerun-failed-jobs" - ], - removeAllCustomLabelsFromSelfHostedRunnerForOrg: [ - "DELETE /orgs/{org}/actions/runners/{runner_id}/labels" - ], - removeAllCustomLabelsFromSelfHostedRunnerForRepo: [ - "DELETE /repos/{owner}/{repo}/actions/runners/{runner_id}/labels" - ], - removeCustomLabelFromSelfHostedRunnerForOrg: [ - "DELETE /orgs/{org}/actions/runners/{runner_id}/labels/{name}" - ], - removeCustomLabelFromSelfHostedRunnerForRepo: [ - "DELETE /repos/{owner}/{repo}/actions/runners/{runner_id}/labels/{name}" - ], - removeSelectedRepoFromOrgSecret: [ - "DELETE /orgs/{org}/actions/secrets/{secret_name}/repositories/{repository_id}" - ], - removeSelectedRepoFromOrgVariable: [ - "DELETE /orgs/{org}/actions/variables/{name}/repositories/{repository_id}" - ], - reviewCustomGatesForRun: [ - "POST /repos/{owner}/{repo}/actions/runs/{run_id}/deployment_protection_rule" - ], - reviewPendingDeploymentsForRun: [ - "POST /repos/{owner}/{repo}/actions/runs/{run_id}/pending_deployments" - ], - setAllowedActionsOrganization: [ - "PUT /orgs/{org}/actions/permissions/selected-actions" - ], - setAllowedActionsRepository: [ - "PUT /repos/{owner}/{repo}/actions/permissions/selected-actions" - ], - setCustomLabelsForSelfHostedRunnerForOrg: [ - "PUT /orgs/{org}/actions/runners/{runner_id}/labels" - ], - setCustomLabelsForSelfHostedRunnerForRepo: [ - "PUT /repos/{owner}/{repo}/actions/runners/{runner_id}/labels" - ], - setCustomOidcSubClaimForRepo: [ - "PUT /repos/{owner}/{repo}/actions/oidc/customization/sub" - ], - setGithubActionsDefaultWorkflowPermissionsOrganization: [ - "PUT /orgs/{org}/actions/permissions/workflow" - ], - setGithubActionsDefaultWorkflowPermissionsRepository: [ - "PUT /repos/{owner}/{repo}/actions/permissions/workflow" - ], - setGithubActionsPermissionsOrganization: [ - "PUT /orgs/{org}/actions/permissions" - ], - setGithubActionsPermissionsRepository: [ - "PUT /repos/{owner}/{repo}/actions/permissions" - ], - setSelectedReposForOrgSecret: [ - "PUT /orgs/{org}/actions/secrets/{secret_name}/repositories" - ], - setSelectedReposForOrgVariable: [ - "PUT /orgs/{org}/actions/variables/{name}/repositories" - ], - setSelectedRepositoriesEnabledGithubActionsOrganization: [ - "PUT /orgs/{org}/actions/permissions/repositories" - ], - setWorkflowAccessToRepository: [ - "PUT /repos/{owner}/{repo}/actions/permissions/access" - ], - updateEnvironmentVariable: [ - "PATCH /repositories/{repository_id}/environments/{environment_name}/variables/{name}" - ], - updateOrgVariable: ["PATCH /orgs/{org}/actions/variables/{name}"], - updateRepoVariable: [ - "PATCH /repos/{owner}/{repo}/actions/variables/{name}" - ] - }, - activity: { - checkRepoIsStarredByAuthenticatedUser: ["GET /user/starred/{owner}/{repo}"], - deleteRepoSubscription: ["DELETE /repos/{owner}/{repo}/subscription"], - deleteThreadSubscription: [ - "DELETE /notifications/threads/{thread_id}/subscription" - ], - getFeeds: ["GET /feeds"], - getRepoSubscription: ["GET /repos/{owner}/{repo}/subscription"], - getThread: ["GET /notifications/threads/{thread_id}"], - getThreadSubscriptionForAuthenticatedUser: [ - "GET /notifications/threads/{thread_id}/subscription" - ], - listEventsForAuthenticatedUser: ["GET /users/{username}/events"], - listNotificationsForAuthenticatedUser: ["GET /notifications"], - listOrgEventsForAuthenticatedUser: [ - "GET /users/{username}/events/orgs/{org}" - ], - listPublicEvents: ["GET /events"], - listPublicEventsForRepoNetwork: ["GET /networks/{owner}/{repo}/events"], - listPublicEventsForUser: ["GET /users/{username}/events/public"], - listPublicOrgEvents: ["GET /orgs/{org}/events"], - listReceivedEventsForUser: ["GET /users/{username}/received_events"], - listReceivedPublicEventsForUser: [ - "GET /users/{username}/received_events/public" - ], - listRepoEvents: ["GET /repos/{owner}/{repo}/events"], - listRepoNotificationsForAuthenticatedUser: [ - "GET /repos/{owner}/{repo}/notifications" - ], - listReposStarredByAuthenticatedUser: ["GET /user/starred"], - listReposStarredByUser: ["GET /users/{username}/starred"], - listReposWatchedByUser: ["GET /users/{username}/subscriptions"], - listStargazersForRepo: ["GET /repos/{owner}/{repo}/stargazers"], - listWatchedReposForAuthenticatedUser: ["GET /user/subscriptions"], - listWatchersForRepo: ["GET /repos/{owner}/{repo}/subscribers"], - markNotificationsAsRead: ["PUT /notifications"], - markRepoNotificationsAsRead: ["PUT /repos/{owner}/{repo}/notifications"], - markThreadAsDone: ["DELETE /notifications/threads/{thread_id}"], - markThreadAsRead: ["PATCH /notifications/threads/{thread_id}"], - setRepoSubscription: ["PUT /repos/{owner}/{repo}/subscription"], - setThreadSubscription: [ - "PUT /notifications/threads/{thread_id}/subscription" - ], - starRepoForAuthenticatedUser: ["PUT /user/starred/{owner}/{repo}"], - unstarRepoForAuthenticatedUser: ["DELETE /user/starred/{owner}/{repo}"] - }, - apps: { - addRepoToInstallation: [ - "PUT /user/installations/{installation_id}/repositories/{repository_id}", - {}, - { renamed: ["apps", "addRepoToInstallationForAuthenticatedUser"] } - ], - addRepoToInstallationForAuthenticatedUser: [ - "PUT /user/installations/{installation_id}/repositories/{repository_id}" - ], - checkToken: ["POST /applications/{client_id}/token"], - createFromManifest: ["POST /app-manifests/{code}/conversions"], - createInstallationAccessToken: [ - "POST /app/installations/{installation_id}/access_tokens" - ], - deleteAuthorization: ["DELETE /applications/{client_id}/grant"], - deleteInstallation: ["DELETE /app/installations/{installation_id}"], - deleteToken: ["DELETE /applications/{client_id}/token"], - getAuthenticated: ["GET /app"], - getBySlug: ["GET /apps/{app_slug}"], - getInstallation: ["GET /app/installations/{installation_id}"], - getOrgInstallation: ["GET /orgs/{org}/installation"], - getRepoInstallation: ["GET /repos/{owner}/{repo}/installation"], - getSubscriptionPlanForAccount: [ - "GET /marketplace_listing/accounts/{account_id}" - ], - getSubscriptionPlanForAccountStubbed: [ - "GET /marketplace_listing/stubbed/accounts/{account_id}" - ], - getUserInstallation: ["GET /users/{username}/installation"], - getWebhookConfigForApp: ["GET /app/hook/config"], - getWebhookDelivery: ["GET /app/hook/deliveries/{delivery_id}"], - listAccountsForPlan: ["GET /marketplace_listing/plans/{plan_id}/accounts"], - listAccountsForPlanStubbed: [ - "GET /marketplace_listing/stubbed/plans/{plan_id}/accounts" - ], - listInstallationReposForAuthenticatedUser: [ - "GET /user/installations/{installation_id}/repositories" - ], - listInstallationRequestsForAuthenticatedApp: [ - "GET /app/installation-requests" - ], - listInstallations: ["GET /app/installations"], - listInstallationsForAuthenticatedUser: ["GET /user/installations"], - listPlans: ["GET /marketplace_listing/plans"], - listPlansStubbed: ["GET /marketplace_listing/stubbed/plans"], - listReposAccessibleToInstallation: ["GET /installation/repositories"], - listSubscriptionsForAuthenticatedUser: ["GET /user/marketplace_purchases"], - listSubscriptionsForAuthenticatedUserStubbed: [ - "GET /user/marketplace_purchases/stubbed" - ], - listWebhookDeliveries: ["GET /app/hook/deliveries"], - redeliverWebhookDelivery: [ - "POST /app/hook/deliveries/{delivery_id}/attempts" - ], - removeRepoFromInstallation: [ - "DELETE /user/installations/{installation_id}/repositories/{repository_id}", - {}, - { renamed: ["apps", "removeRepoFromInstallationForAuthenticatedUser"] } - ], - removeRepoFromInstallationForAuthenticatedUser: [ - "DELETE /user/installations/{installation_id}/repositories/{repository_id}" - ], - resetToken: ["PATCH /applications/{client_id}/token"], - revokeInstallationAccessToken: ["DELETE /installation/token"], - scopeToken: ["POST /applications/{client_id}/token/scoped"], - suspendInstallation: ["PUT /app/installations/{installation_id}/suspended"], - unsuspendInstallation: [ - "DELETE /app/installations/{installation_id}/suspended" - ], - updateWebhookConfigForApp: ["PATCH /app/hook/config"] - }, - billing: { - getGithubActionsBillingOrg: ["GET /orgs/{org}/settings/billing/actions"], - getGithubActionsBillingUser: [ - "GET /users/{username}/settings/billing/actions" - ], - getGithubPackagesBillingOrg: ["GET /orgs/{org}/settings/billing/packages"], - getGithubPackagesBillingUser: [ - "GET /users/{username}/settings/billing/packages" - ], - getSharedStorageBillingOrg: [ - "GET /orgs/{org}/settings/billing/shared-storage" - ], - getSharedStorageBillingUser: [ - "GET /users/{username}/settings/billing/shared-storage" - ] - }, - checks: { - create: ["POST /repos/{owner}/{repo}/check-runs"], - createSuite: ["POST /repos/{owner}/{repo}/check-suites"], - get: ["GET /repos/{owner}/{repo}/check-runs/{check_run_id}"], - getSuite: ["GET /repos/{owner}/{repo}/check-suites/{check_suite_id}"], - listAnnotations: [ - "GET /repos/{owner}/{repo}/check-runs/{check_run_id}/annotations" - ], - listForRef: ["GET /repos/{owner}/{repo}/commits/{ref}/check-runs"], - listForSuite: [ - "GET /repos/{owner}/{repo}/check-suites/{check_suite_id}/check-runs" - ], - listSuitesForRef: ["GET /repos/{owner}/{repo}/commits/{ref}/check-suites"], - rerequestRun: [ - "POST /repos/{owner}/{repo}/check-runs/{check_run_id}/rerequest" - ], - rerequestSuite: [ - "POST /repos/{owner}/{repo}/check-suites/{check_suite_id}/rerequest" - ], - setSuitesPreferences: [ - "PATCH /repos/{owner}/{repo}/check-suites/preferences" - ], - update: ["PATCH /repos/{owner}/{repo}/check-runs/{check_run_id}"] - }, - codeScanning: { - deleteAnalysis: [ - "DELETE /repos/{owner}/{repo}/code-scanning/analyses/{analysis_id}{?confirm_delete}" - ], - getAlert: [ - "GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}", - {}, - { renamedParameters: { alert_id: "alert_number" } } - ], - getAnalysis: [ - "GET /repos/{owner}/{repo}/code-scanning/analyses/{analysis_id}" - ], - getCodeqlDatabase: [ - "GET /repos/{owner}/{repo}/code-scanning/codeql/databases/{language}" - ], - getDefaultSetup: ["GET /repos/{owner}/{repo}/code-scanning/default-setup"], - getSarif: ["GET /repos/{owner}/{repo}/code-scanning/sarifs/{sarif_id}"], - listAlertInstances: [ - "GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances" - ], - listAlertsForOrg: ["GET /orgs/{org}/code-scanning/alerts"], - listAlertsForRepo: ["GET /repos/{owner}/{repo}/code-scanning/alerts"], - listAlertsInstances: [ - "GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances", - {}, - { renamed: ["codeScanning", "listAlertInstances"] } - ], - listCodeqlDatabases: [ - "GET /repos/{owner}/{repo}/code-scanning/codeql/databases" - ], - listRecentAnalyses: ["GET /repos/{owner}/{repo}/code-scanning/analyses"], - updateAlert: [ - "PATCH /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}" - ], - updateDefaultSetup: [ - "PATCH /repos/{owner}/{repo}/code-scanning/default-setup" - ], - uploadSarif: ["POST /repos/{owner}/{repo}/code-scanning/sarifs"] - }, - codesOfConduct: { - getAllCodesOfConduct: ["GET /codes_of_conduct"], - getConductCode: ["GET /codes_of_conduct/{key}"] - }, - codespaces: { - addRepositoryForSecretForAuthenticatedUser: [ - "PUT /user/codespaces/secrets/{secret_name}/repositories/{repository_id}" - ], - addSelectedRepoToOrgSecret: [ - "PUT /orgs/{org}/codespaces/secrets/{secret_name}/repositories/{repository_id}" - ], - checkPermissionsForDevcontainer: [ - "GET /repos/{owner}/{repo}/codespaces/permissions_check" - ], - codespaceMachinesForAuthenticatedUser: [ - "GET /user/codespaces/{codespace_name}/machines" - ], - createForAuthenticatedUser: ["POST /user/codespaces"], - createOrUpdateOrgSecret: [ - "PUT /orgs/{org}/codespaces/secrets/{secret_name}" - ], - createOrUpdateRepoSecret: [ - "PUT /repos/{owner}/{repo}/codespaces/secrets/{secret_name}" - ], - createOrUpdateSecretForAuthenticatedUser: [ - "PUT /user/codespaces/secrets/{secret_name}" - ], - createWithPrForAuthenticatedUser: [ - "POST /repos/{owner}/{repo}/pulls/{pull_number}/codespaces" - ], - createWithRepoForAuthenticatedUser: [ - "POST /repos/{owner}/{repo}/codespaces" - ], - deleteForAuthenticatedUser: ["DELETE /user/codespaces/{codespace_name}"], - deleteFromOrganization: [ - "DELETE /orgs/{org}/members/{username}/codespaces/{codespace_name}" - ], - deleteOrgSecret: ["DELETE /orgs/{org}/codespaces/secrets/{secret_name}"], - deleteRepoSecret: [ - "DELETE /repos/{owner}/{repo}/codespaces/secrets/{secret_name}" - ], - deleteSecretForAuthenticatedUser: [ - "DELETE /user/codespaces/secrets/{secret_name}" - ], - exportForAuthenticatedUser: [ - "POST /user/codespaces/{codespace_name}/exports" - ], - getCodespacesForUserInOrg: [ - "GET /orgs/{org}/members/{username}/codespaces" - ], - getExportDetailsForAuthenticatedUser: [ - "GET /user/codespaces/{codespace_name}/exports/{export_id}" - ], - getForAuthenticatedUser: ["GET /user/codespaces/{codespace_name}"], - getOrgPublicKey: ["GET /orgs/{org}/codespaces/secrets/public-key"], - getOrgSecret: ["GET /orgs/{org}/codespaces/secrets/{secret_name}"], - getPublicKeyForAuthenticatedUser: [ - "GET /user/codespaces/secrets/public-key" - ], - getRepoPublicKey: [ - "GET /repos/{owner}/{repo}/codespaces/secrets/public-key" - ], - getRepoSecret: [ - "GET /repos/{owner}/{repo}/codespaces/secrets/{secret_name}" - ], - getSecretForAuthenticatedUser: [ - "GET /user/codespaces/secrets/{secret_name}" - ], - listDevcontainersInRepositoryForAuthenticatedUser: [ - "GET /repos/{owner}/{repo}/codespaces/devcontainers" - ], - listForAuthenticatedUser: ["GET /user/codespaces"], - listInOrganization: [ - "GET /orgs/{org}/codespaces", - {}, - { renamedParameters: { org_id: "org" } } - ], - listInRepositoryForAuthenticatedUser: [ - "GET /repos/{owner}/{repo}/codespaces" - ], - listOrgSecrets: ["GET /orgs/{org}/codespaces/secrets"], - listRepoSecrets: ["GET /repos/{owner}/{repo}/codespaces/secrets"], - listRepositoriesForSecretForAuthenticatedUser: [ - "GET /user/codespaces/secrets/{secret_name}/repositories" - ], - listSecretsForAuthenticatedUser: ["GET /user/codespaces/secrets"], - listSelectedReposForOrgSecret: [ - "GET /orgs/{org}/codespaces/secrets/{secret_name}/repositories" - ], - preFlightWithRepoForAuthenticatedUser: [ - "GET /repos/{owner}/{repo}/codespaces/new" - ], - publishForAuthenticatedUser: [ - "POST /user/codespaces/{codespace_name}/publish" - ], - removeRepositoryForSecretForAuthenticatedUser: [ - "DELETE /user/codespaces/secrets/{secret_name}/repositories/{repository_id}" - ], - removeSelectedRepoFromOrgSecret: [ - "DELETE /orgs/{org}/codespaces/secrets/{secret_name}/repositories/{repository_id}" - ], - repoMachinesForAuthenticatedUser: [ - "GET /repos/{owner}/{repo}/codespaces/machines" - ], - setRepositoriesForSecretForAuthenticatedUser: [ - "PUT /user/codespaces/secrets/{secret_name}/repositories" - ], - setSelectedReposForOrgSecret: [ - "PUT /orgs/{org}/codespaces/secrets/{secret_name}/repositories" - ], - startForAuthenticatedUser: ["POST /user/codespaces/{codespace_name}/start"], - stopForAuthenticatedUser: ["POST /user/codespaces/{codespace_name}/stop"], - stopInOrganization: [ - "POST /orgs/{org}/members/{username}/codespaces/{codespace_name}/stop" - ], - updateForAuthenticatedUser: ["PATCH /user/codespaces/{codespace_name}"] - }, - copilot: { - addCopilotSeatsForTeams: [ - "POST /orgs/{org}/copilot/billing/selected_teams" - ], - addCopilotSeatsForUsers: [ - "POST /orgs/{org}/copilot/billing/selected_users" - ], - cancelCopilotSeatAssignmentForTeams: [ - "DELETE /orgs/{org}/copilot/billing/selected_teams" - ], - cancelCopilotSeatAssignmentForUsers: [ - "DELETE /orgs/{org}/copilot/billing/selected_users" - ], - getCopilotOrganizationDetails: ["GET /orgs/{org}/copilot/billing"], - getCopilotSeatDetailsForUser: [ - "GET /orgs/{org}/members/{username}/copilot" - ], - listCopilotSeats: ["GET /orgs/{org}/copilot/billing/seats"] - }, - dependabot: { - addSelectedRepoToOrgSecret: [ - "PUT /orgs/{org}/dependabot/secrets/{secret_name}/repositories/{repository_id}" - ], - createOrUpdateOrgSecret: [ - "PUT /orgs/{org}/dependabot/secrets/{secret_name}" - ], - createOrUpdateRepoSecret: [ - "PUT /repos/{owner}/{repo}/dependabot/secrets/{secret_name}" - ], - deleteOrgSecret: ["DELETE /orgs/{org}/dependabot/secrets/{secret_name}"], - deleteRepoSecret: [ - "DELETE /repos/{owner}/{repo}/dependabot/secrets/{secret_name}" - ], - getAlert: ["GET /repos/{owner}/{repo}/dependabot/alerts/{alert_number}"], - getOrgPublicKey: ["GET /orgs/{org}/dependabot/secrets/public-key"], - getOrgSecret: ["GET /orgs/{org}/dependabot/secrets/{secret_name}"], - getRepoPublicKey: [ - "GET /repos/{owner}/{repo}/dependabot/secrets/public-key" - ], - getRepoSecret: [ - "GET /repos/{owner}/{repo}/dependabot/secrets/{secret_name}" - ], - listAlertsForEnterprise: [ - "GET /enterprises/{enterprise}/dependabot/alerts" - ], - listAlertsForOrg: ["GET /orgs/{org}/dependabot/alerts"], - listAlertsForRepo: ["GET /repos/{owner}/{repo}/dependabot/alerts"], - listOrgSecrets: ["GET /orgs/{org}/dependabot/secrets"], - listRepoSecrets: ["GET /repos/{owner}/{repo}/dependabot/secrets"], - listSelectedReposForOrgSecret: [ - "GET /orgs/{org}/dependabot/secrets/{secret_name}/repositories" - ], - removeSelectedRepoFromOrgSecret: [ - "DELETE /orgs/{org}/dependabot/secrets/{secret_name}/repositories/{repository_id}" - ], - setSelectedReposForOrgSecret: [ - "PUT /orgs/{org}/dependabot/secrets/{secret_name}/repositories" - ], - updateAlert: [ - "PATCH /repos/{owner}/{repo}/dependabot/alerts/{alert_number}" - ] - }, - dependencyGraph: { - createRepositorySnapshot: [ - "POST /repos/{owner}/{repo}/dependency-graph/snapshots" - ], - diffRange: [ - "GET /repos/{owner}/{repo}/dependency-graph/compare/{basehead}" - ], - exportSbom: ["GET /repos/{owner}/{repo}/dependency-graph/sbom"] - }, - emojis: { get: ["GET /emojis"] }, - gists: { - checkIsStarred: ["GET /gists/{gist_id}/star"], - create: ["POST /gists"], - createComment: ["POST /gists/{gist_id}/comments"], - delete: ["DELETE /gists/{gist_id}"], - deleteComment: ["DELETE /gists/{gist_id}/comments/{comment_id}"], - fork: ["POST /gists/{gist_id}/forks"], - get: ["GET /gists/{gist_id}"], - getComment: ["GET /gists/{gist_id}/comments/{comment_id}"], - getRevision: ["GET /gists/{gist_id}/{sha}"], - list: ["GET /gists"], - listComments: ["GET /gists/{gist_id}/comments"], - listCommits: ["GET /gists/{gist_id}/commits"], - listForUser: ["GET /users/{username}/gists"], - listForks: ["GET /gists/{gist_id}/forks"], - listPublic: ["GET /gists/public"], - listStarred: ["GET /gists/starred"], - star: ["PUT /gists/{gist_id}/star"], - unstar: ["DELETE /gists/{gist_id}/star"], - update: ["PATCH /gists/{gist_id}"], - updateComment: ["PATCH /gists/{gist_id}/comments/{comment_id}"] - }, - git: { - createBlob: ["POST /repos/{owner}/{repo}/git/blobs"], - createCommit: ["POST /repos/{owner}/{repo}/git/commits"], - createRef: ["POST /repos/{owner}/{repo}/git/refs"], - createTag: ["POST /repos/{owner}/{repo}/git/tags"], - createTree: ["POST /repos/{owner}/{repo}/git/trees"], - deleteRef: ["DELETE /repos/{owner}/{repo}/git/refs/{ref}"], - getBlob: ["GET /repos/{owner}/{repo}/git/blobs/{file_sha}"], - getCommit: ["GET /repos/{owner}/{repo}/git/commits/{commit_sha}"], - getRef: ["GET /repos/{owner}/{repo}/git/ref/{ref}"], - getTag: ["GET /repos/{owner}/{repo}/git/tags/{tag_sha}"], - getTree: ["GET /repos/{owner}/{repo}/git/trees/{tree_sha}"], - listMatchingRefs: ["GET /repos/{owner}/{repo}/git/matching-refs/{ref}"], - updateRef: ["PATCH /repos/{owner}/{repo}/git/refs/{ref}"] - }, - gitignore: { - getAllTemplates: ["GET /gitignore/templates"], - getTemplate: ["GET /gitignore/templates/{name}"] - }, - interactions: { - getRestrictionsForAuthenticatedUser: ["GET /user/interaction-limits"], - getRestrictionsForOrg: ["GET /orgs/{org}/interaction-limits"], - getRestrictionsForRepo: ["GET /repos/{owner}/{repo}/interaction-limits"], - getRestrictionsForYourPublicRepos: [ - "GET /user/interaction-limits", - {}, - { renamed: ["interactions", "getRestrictionsForAuthenticatedUser"] } - ], - removeRestrictionsForAuthenticatedUser: ["DELETE /user/interaction-limits"], - removeRestrictionsForOrg: ["DELETE /orgs/{org}/interaction-limits"], - removeRestrictionsForRepo: [ - "DELETE /repos/{owner}/{repo}/interaction-limits" - ], - removeRestrictionsForYourPublicRepos: [ - "DELETE /user/interaction-limits", - {}, - { renamed: ["interactions", "removeRestrictionsForAuthenticatedUser"] } - ], - setRestrictionsForAuthenticatedUser: ["PUT /user/interaction-limits"], - setRestrictionsForOrg: ["PUT /orgs/{org}/interaction-limits"], - setRestrictionsForRepo: ["PUT /repos/{owner}/{repo}/interaction-limits"], - setRestrictionsForYourPublicRepos: [ - "PUT /user/interaction-limits", - {}, - { renamed: ["interactions", "setRestrictionsForAuthenticatedUser"] } - ] - }, - issues: { - addAssignees: [ - "POST /repos/{owner}/{repo}/issues/{issue_number}/assignees" - ], - addLabels: ["POST /repos/{owner}/{repo}/issues/{issue_number}/labels"], - checkUserCanBeAssigned: ["GET /repos/{owner}/{repo}/assignees/{assignee}"], - checkUserCanBeAssignedToIssue: [ - "GET /repos/{owner}/{repo}/issues/{issue_number}/assignees/{assignee}" - ], - create: ["POST /repos/{owner}/{repo}/issues"], - createComment: [ - "POST /repos/{owner}/{repo}/issues/{issue_number}/comments" - ], - createLabel: ["POST /repos/{owner}/{repo}/labels"], - createMilestone: ["POST /repos/{owner}/{repo}/milestones"], - deleteComment: [ - "DELETE /repos/{owner}/{repo}/issues/comments/{comment_id}" - ], - deleteLabel: ["DELETE /repos/{owner}/{repo}/labels/{name}"], - deleteMilestone: [ - "DELETE /repos/{owner}/{repo}/milestones/{milestone_number}" - ], - get: ["GET /repos/{owner}/{repo}/issues/{issue_number}"], - getComment: ["GET /repos/{owner}/{repo}/issues/comments/{comment_id}"], - getEvent: ["GET /repos/{owner}/{repo}/issues/events/{event_id}"], - getLabel: ["GET /repos/{owner}/{repo}/labels/{name}"], - getMilestone: ["GET /repos/{owner}/{repo}/milestones/{milestone_number}"], - list: ["GET /issues"], - listAssignees: ["GET /repos/{owner}/{repo}/assignees"], - listComments: ["GET /repos/{owner}/{repo}/issues/{issue_number}/comments"], - listCommentsForRepo: ["GET /repos/{owner}/{repo}/issues/comments"], - listEvents: ["GET /repos/{owner}/{repo}/issues/{issue_number}/events"], - listEventsForRepo: ["GET /repos/{owner}/{repo}/issues/events"], - listEventsForTimeline: [ - "GET /repos/{owner}/{repo}/issues/{issue_number}/timeline" - ], - listForAuthenticatedUser: ["GET /user/issues"], - listForOrg: ["GET /orgs/{org}/issues"], - listForRepo: ["GET /repos/{owner}/{repo}/issues"], - listLabelsForMilestone: [ - "GET /repos/{owner}/{repo}/milestones/{milestone_number}/labels" - ], - listLabelsForRepo: ["GET /repos/{owner}/{repo}/labels"], - listLabelsOnIssue: [ - "GET /repos/{owner}/{repo}/issues/{issue_number}/labels" - ], - listMilestones: ["GET /repos/{owner}/{repo}/milestones"], - lock: ["PUT /repos/{owner}/{repo}/issues/{issue_number}/lock"], - removeAllLabels: [ - "DELETE /repos/{owner}/{repo}/issues/{issue_number}/labels" - ], - removeAssignees: [ - "DELETE /repos/{owner}/{repo}/issues/{issue_number}/assignees" - ], - removeLabel: [ - "DELETE /repos/{owner}/{repo}/issues/{issue_number}/labels/{name}" - ], - setLabels: ["PUT /repos/{owner}/{repo}/issues/{issue_number}/labels"], - unlock: ["DELETE /repos/{owner}/{repo}/issues/{issue_number}/lock"], - update: ["PATCH /repos/{owner}/{repo}/issues/{issue_number}"], - updateComment: ["PATCH /repos/{owner}/{repo}/issues/comments/{comment_id}"], - updateLabel: ["PATCH /repos/{owner}/{repo}/labels/{name}"], - updateMilestone: [ - "PATCH /repos/{owner}/{repo}/milestones/{milestone_number}" - ] - }, - licenses: { - get: ["GET /licenses/{license}"], - getAllCommonlyUsed: ["GET /licenses"], - getForRepo: ["GET /repos/{owner}/{repo}/license"] - }, - markdown: { - render: ["POST /markdown"], - renderRaw: [ - "POST /markdown/raw", - { headers: { "content-type": "text/plain; charset=utf-8" } } - ] - }, - meta: { - get: ["GET /meta"], - getAllVersions: ["GET /versions"], - getOctocat: ["GET /octocat"], - getZen: ["GET /zen"], - root: ["GET /"] - }, - migrations: { - cancelImport: [ - "DELETE /repos/{owner}/{repo}/import", - {}, - { - deprecated: "octokit.rest.migrations.cancelImport() is deprecated, see https://docs.github.com/rest/migrations/source-imports#cancel-an-import" - } - ], - deleteArchiveForAuthenticatedUser: [ - "DELETE /user/migrations/{migration_id}/archive" - ], - deleteArchiveForOrg: [ - "DELETE /orgs/{org}/migrations/{migration_id}/archive" - ], - downloadArchiveForOrg: [ - "GET /orgs/{org}/migrations/{migration_id}/archive" - ], - getArchiveForAuthenticatedUser: [ - "GET /user/migrations/{migration_id}/archive" - ], - getCommitAuthors: [ - "GET /repos/{owner}/{repo}/import/authors", - {}, - { - deprecated: "octokit.rest.migrations.getCommitAuthors() is deprecated, see https://docs.github.com/rest/migrations/source-imports#get-commit-authors" - } - ], - getImportStatus: [ - "GET /repos/{owner}/{repo}/import", - {}, - { - deprecated: "octokit.rest.migrations.getImportStatus() is deprecated, see https://docs.github.com/rest/migrations/source-imports#get-an-import-status" - } - ], - getLargeFiles: [ - "GET /repos/{owner}/{repo}/import/large_files", - {}, - { - deprecated: "octokit.rest.migrations.getLargeFiles() is deprecated, see https://docs.github.com/rest/migrations/source-imports#get-large-files" - } - ], - getStatusForAuthenticatedUser: ["GET /user/migrations/{migration_id}"], - getStatusForOrg: ["GET /orgs/{org}/migrations/{migration_id}"], - listForAuthenticatedUser: ["GET /user/migrations"], - listForOrg: ["GET /orgs/{org}/migrations"], - listReposForAuthenticatedUser: [ - "GET /user/migrations/{migration_id}/repositories" - ], - listReposForOrg: ["GET /orgs/{org}/migrations/{migration_id}/repositories"], - listReposForUser: [ - "GET /user/migrations/{migration_id}/repositories", - {}, - { renamed: ["migrations", "listReposForAuthenticatedUser"] } - ], - mapCommitAuthor: [ - "PATCH /repos/{owner}/{repo}/import/authors/{author_id}", - {}, - { - deprecated: "octokit.rest.migrations.mapCommitAuthor() is deprecated, see https://docs.github.com/rest/migrations/source-imports#map-a-commit-author" - } - ], - setLfsPreference: [ - "PATCH /repos/{owner}/{repo}/import/lfs", - {}, - { - deprecated: "octokit.rest.migrations.setLfsPreference() is deprecated, see https://docs.github.com/rest/migrations/source-imports#update-git-lfs-preference" - } - ], - startForAuthenticatedUser: ["POST /user/migrations"], - startForOrg: ["POST /orgs/{org}/migrations"], - startImport: [ - "PUT /repos/{owner}/{repo}/import", - {}, - { - deprecated: "octokit.rest.migrations.startImport() is deprecated, see https://docs.github.com/rest/migrations/source-imports#start-an-import" - } - ], - unlockRepoForAuthenticatedUser: [ - "DELETE /user/migrations/{migration_id}/repos/{repo_name}/lock" - ], - unlockRepoForOrg: [ - "DELETE /orgs/{org}/migrations/{migration_id}/repos/{repo_name}/lock" - ], - updateImport: [ - "PATCH /repos/{owner}/{repo}/import", - {}, - { - deprecated: "octokit.rest.migrations.updateImport() is deprecated, see https://docs.github.com/rest/migrations/source-imports#update-an-import" - } - ] - }, - oidc: { - getOidcCustomSubTemplateForOrg: [ - "GET /orgs/{org}/actions/oidc/customization/sub" - ], - updateOidcCustomSubTemplateForOrg: [ - "PUT /orgs/{org}/actions/oidc/customization/sub" - ] - }, - orgs: { - addSecurityManagerTeam: [ - "PUT /orgs/{org}/security-managers/teams/{team_slug}" - ], - assignTeamToOrgRole: [ - "PUT /orgs/{org}/organization-roles/teams/{team_slug}/{role_id}" - ], - assignUserToOrgRole: [ - "PUT /orgs/{org}/organization-roles/users/{username}/{role_id}" - ], - blockUser: ["PUT /orgs/{org}/blocks/{username}"], - cancelInvitation: ["DELETE /orgs/{org}/invitations/{invitation_id}"], - checkBlockedUser: ["GET /orgs/{org}/blocks/{username}"], - checkMembershipForUser: ["GET /orgs/{org}/members/{username}"], - checkPublicMembershipForUser: ["GET /orgs/{org}/public_members/{username}"], - convertMemberToOutsideCollaborator: [ - "PUT /orgs/{org}/outside_collaborators/{username}" - ], - createCustomOrganizationRole: ["POST /orgs/{org}/organization-roles"], - createInvitation: ["POST /orgs/{org}/invitations"], - createOrUpdateCustomProperties: ["PATCH /orgs/{org}/properties/schema"], - createOrUpdateCustomPropertiesValuesForRepos: [ - "PATCH /orgs/{org}/properties/values" - ], - createOrUpdateCustomProperty: [ - "PUT /orgs/{org}/properties/schema/{custom_property_name}" - ], - createWebhook: ["POST /orgs/{org}/hooks"], - delete: ["DELETE /orgs/{org}"], - deleteCustomOrganizationRole: [ - "DELETE /orgs/{org}/organization-roles/{role_id}" - ], - deleteWebhook: ["DELETE /orgs/{org}/hooks/{hook_id}"], - enableOrDisableSecurityProductOnAllOrgRepos: [ - "POST /orgs/{org}/{security_product}/{enablement}" - ], - get: ["GET /orgs/{org}"], - getAllCustomProperties: ["GET /orgs/{org}/properties/schema"], - getCustomProperty: [ - "GET /orgs/{org}/properties/schema/{custom_property_name}" - ], - getMembershipForAuthenticatedUser: ["GET /user/memberships/orgs/{org}"], - getMembershipForUser: ["GET /orgs/{org}/memberships/{username}"], - getOrgRole: ["GET /orgs/{org}/organization-roles/{role_id}"], - getWebhook: ["GET /orgs/{org}/hooks/{hook_id}"], - getWebhookConfigForOrg: ["GET /orgs/{org}/hooks/{hook_id}/config"], - getWebhookDelivery: [ - "GET /orgs/{org}/hooks/{hook_id}/deliveries/{delivery_id}" - ], - list: ["GET /organizations"], - listAppInstallations: ["GET /orgs/{org}/installations"], - listBlockedUsers: ["GET /orgs/{org}/blocks"], - listCustomPropertiesValuesForRepos: ["GET /orgs/{org}/properties/values"], - listFailedInvitations: ["GET /orgs/{org}/failed_invitations"], - listForAuthenticatedUser: ["GET /user/orgs"], - listForUser: ["GET /users/{username}/orgs"], - listInvitationTeams: ["GET /orgs/{org}/invitations/{invitation_id}/teams"], - listMembers: ["GET /orgs/{org}/members"], - listMembershipsForAuthenticatedUser: ["GET /user/memberships/orgs"], - listOrgRoleTeams: ["GET /orgs/{org}/organization-roles/{role_id}/teams"], - listOrgRoleUsers: ["GET /orgs/{org}/organization-roles/{role_id}/users"], - listOrgRoles: ["GET /orgs/{org}/organization-roles"], - listOrganizationFineGrainedPermissions: [ - "GET /orgs/{org}/organization-fine-grained-permissions" - ], - listOutsideCollaborators: ["GET /orgs/{org}/outside_collaborators"], - listPatGrantRepositories: [ - "GET /orgs/{org}/personal-access-tokens/{pat_id}/repositories" - ], - listPatGrantRequestRepositories: [ - "GET /orgs/{org}/personal-access-token-requests/{pat_request_id}/repositories" - ], - listPatGrantRequests: ["GET /orgs/{org}/personal-access-token-requests"], - listPatGrants: ["GET /orgs/{org}/personal-access-tokens"], - listPendingInvitations: ["GET /orgs/{org}/invitations"], - listPublicMembers: ["GET /orgs/{org}/public_members"], - listSecurityManagerTeams: ["GET /orgs/{org}/security-managers"], - listWebhookDeliveries: ["GET /orgs/{org}/hooks/{hook_id}/deliveries"], - listWebhooks: ["GET /orgs/{org}/hooks"], - patchCustomOrganizationRole: [ - "PATCH /orgs/{org}/organization-roles/{role_id}" - ], - pingWebhook: ["POST /orgs/{org}/hooks/{hook_id}/pings"], - redeliverWebhookDelivery: [ - "POST /orgs/{org}/hooks/{hook_id}/deliveries/{delivery_id}/attempts" - ], - removeCustomProperty: [ - "DELETE /orgs/{org}/properties/schema/{custom_property_name}" - ], - removeMember: ["DELETE /orgs/{org}/members/{username}"], - removeMembershipForUser: ["DELETE /orgs/{org}/memberships/{username}"], - removeOutsideCollaborator: [ - "DELETE /orgs/{org}/outside_collaborators/{username}" - ], - removePublicMembershipForAuthenticatedUser: [ - "DELETE /orgs/{org}/public_members/{username}" - ], - removeSecurityManagerTeam: [ - "DELETE /orgs/{org}/security-managers/teams/{team_slug}" - ], - reviewPatGrantRequest: [ - "POST /orgs/{org}/personal-access-token-requests/{pat_request_id}" - ], - reviewPatGrantRequestsInBulk: [ - "POST /orgs/{org}/personal-access-token-requests" - ], - revokeAllOrgRolesTeam: [ - "DELETE /orgs/{org}/organization-roles/teams/{team_slug}" - ], - revokeAllOrgRolesUser: [ - "DELETE /orgs/{org}/organization-roles/users/{username}" - ], - revokeOrgRoleTeam: [ - "DELETE /orgs/{org}/organization-roles/teams/{team_slug}/{role_id}" - ], - revokeOrgRoleUser: [ - "DELETE /orgs/{org}/organization-roles/users/{username}/{role_id}" - ], - setMembershipForUser: ["PUT /orgs/{org}/memberships/{username}"], - setPublicMembershipForAuthenticatedUser: [ - "PUT /orgs/{org}/public_members/{username}" - ], - unblockUser: ["DELETE /orgs/{org}/blocks/{username}"], - update: ["PATCH /orgs/{org}"], - updateMembershipForAuthenticatedUser: [ - "PATCH /user/memberships/orgs/{org}" - ], - updatePatAccess: ["POST /orgs/{org}/personal-access-tokens/{pat_id}"], - updatePatAccesses: ["POST /orgs/{org}/personal-access-tokens"], - updateWebhook: ["PATCH /orgs/{org}/hooks/{hook_id}"], - updateWebhookConfigForOrg: ["PATCH /orgs/{org}/hooks/{hook_id}/config"] - }, - packages: { - deletePackageForAuthenticatedUser: [ - "DELETE /user/packages/{package_type}/{package_name}" - ], - deletePackageForOrg: [ - "DELETE /orgs/{org}/packages/{package_type}/{package_name}" - ], - deletePackageForUser: [ - "DELETE /users/{username}/packages/{package_type}/{package_name}" - ], - deletePackageVersionForAuthenticatedUser: [ - "DELETE /user/packages/{package_type}/{package_name}/versions/{package_version_id}" - ], - deletePackageVersionForOrg: [ - "DELETE /orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}" - ], - deletePackageVersionForUser: [ - "DELETE /users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}" - ], - getAllPackageVersionsForAPackageOwnedByAnOrg: [ - "GET /orgs/{org}/packages/{package_type}/{package_name}/versions", - {}, - { renamed: ["packages", "getAllPackageVersionsForPackageOwnedByOrg"] } - ], - getAllPackageVersionsForAPackageOwnedByTheAuthenticatedUser: [ - "GET /user/packages/{package_type}/{package_name}/versions", - {}, - { - renamed: [ - "packages", - "getAllPackageVersionsForPackageOwnedByAuthenticatedUser" - ] - } - ], - getAllPackageVersionsForPackageOwnedByAuthenticatedUser: [ - "GET /user/packages/{package_type}/{package_name}/versions" - ], - getAllPackageVersionsForPackageOwnedByOrg: [ - "GET /orgs/{org}/packages/{package_type}/{package_name}/versions" - ], - getAllPackageVersionsForPackageOwnedByUser: [ - "GET /users/{username}/packages/{package_type}/{package_name}/versions" - ], - getPackageForAuthenticatedUser: [ - "GET /user/packages/{package_type}/{package_name}" - ], - getPackageForOrganization: [ - "GET /orgs/{org}/packages/{package_type}/{package_name}" - ], - getPackageForUser: [ - "GET /users/{username}/packages/{package_type}/{package_name}" - ], - getPackageVersionForAuthenticatedUser: [ - "GET /user/packages/{package_type}/{package_name}/versions/{package_version_id}" - ], - getPackageVersionForOrganization: [ - "GET /orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}" - ], - getPackageVersionForUser: [ - "GET /users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}" - ], - listDockerMigrationConflictingPackagesForAuthenticatedUser: [ - "GET /user/docker/conflicts" - ], - listDockerMigrationConflictingPackagesForOrganization: [ - "GET /orgs/{org}/docker/conflicts" - ], - listDockerMigrationConflictingPackagesForUser: [ - "GET /users/{username}/docker/conflicts" - ], - listPackagesForAuthenticatedUser: ["GET /user/packages"], - listPackagesForOrganization: ["GET /orgs/{org}/packages"], - listPackagesForUser: ["GET /users/{username}/packages"], - restorePackageForAuthenticatedUser: [ - "POST /user/packages/{package_type}/{package_name}/restore{?token}" - ], - restorePackageForOrg: [ - "POST /orgs/{org}/packages/{package_type}/{package_name}/restore{?token}" - ], - restorePackageForUser: [ - "POST /users/{username}/packages/{package_type}/{package_name}/restore{?token}" - ], - restorePackageVersionForAuthenticatedUser: [ - "POST /user/packages/{package_type}/{package_name}/versions/{package_version_id}/restore" - ], - restorePackageVersionForOrg: [ - "POST /orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}/restore" - ], - restorePackageVersionForUser: [ - "POST /users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}/restore" - ] - }, - projects: { - addCollaborator: ["PUT /projects/{project_id}/collaborators/{username}"], - createCard: ["POST /projects/columns/{column_id}/cards"], - createColumn: ["POST /projects/{project_id}/columns"], - createForAuthenticatedUser: ["POST /user/projects"], - createForOrg: ["POST /orgs/{org}/projects"], - createForRepo: ["POST /repos/{owner}/{repo}/projects"], - delete: ["DELETE /projects/{project_id}"], - deleteCard: ["DELETE /projects/columns/cards/{card_id}"], - deleteColumn: ["DELETE /projects/columns/{column_id}"], - get: ["GET /projects/{project_id}"], - getCard: ["GET /projects/columns/cards/{card_id}"], - getColumn: ["GET /projects/columns/{column_id}"], - getPermissionForUser: [ - "GET /projects/{project_id}/collaborators/{username}/permission" - ], - listCards: ["GET /projects/columns/{column_id}/cards"], - listCollaborators: ["GET /projects/{project_id}/collaborators"], - listColumns: ["GET /projects/{project_id}/columns"], - listForOrg: ["GET /orgs/{org}/projects"], - listForRepo: ["GET /repos/{owner}/{repo}/projects"], - listForUser: ["GET /users/{username}/projects"], - moveCard: ["POST /projects/columns/cards/{card_id}/moves"], - moveColumn: ["POST /projects/columns/{column_id}/moves"], - removeCollaborator: [ - "DELETE /projects/{project_id}/collaborators/{username}" - ], - update: ["PATCH /projects/{project_id}"], - updateCard: ["PATCH /projects/columns/cards/{card_id}"], - updateColumn: ["PATCH /projects/columns/{column_id}"] - }, - pulls: { - checkIfMerged: ["GET /repos/{owner}/{repo}/pulls/{pull_number}/merge"], - create: ["POST /repos/{owner}/{repo}/pulls"], - createReplyForReviewComment: [ - "POST /repos/{owner}/{repo}/pulls/{pull_number}/comments/{comment_id}/replies" - ], - createReview: ["POST /repos/{owner}/{repo}/pulls/{pull_number}/reviews"], - createReviewComment: [ - "POST /repos/{owner}/{repo}/pulls/{pull_number}/comments" - ], - deletePendingReview: [ - "DELETE /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}" - ], - deleteReviewComment: [ - "DELETE /repos/{owner}/{repo}/pulls/comments/{comment_id}" - ], - dismissReview: [ - "PUT /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/dismissals" - ], - get: ["GET /repos/{owner}/{repo}/pulls/{pull_number}"], - getReview: [ - "GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}" - ], - getReviewComment: ["GET /repos/{owner}/{repo}/pulls/comments/{comment_id}"], - list: ["GET /repos/{owner}/{repo}/pulls"], - listCommentsForReview: [ - "GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/comments" - ], - listCommits: ["GET /repos/{owner}/{repo}/pulls/{pull_number}/commits"], - listFiles: ["GET /repos/{owner}/{repo}/pulls/{pull_number}/files"], - listRequestedReviewers: [ - "GET /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers" - ], - listReviewComments: [ - "GET /repos/{owner}/{repo}/pulls/{pull_number}/comments" - ], - listReviewCommentsForRepo: ["GET /repos/{owner}/{repo}/pulls/comments"], - listReviews: ["GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews"], - merge: ["PUT /repos/{owner}/{repo}/pulls/{pull_number}/merge"], - removeRequestedReviewers: [ - "DELETE /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers" - ], - requestReviewers: [ - "POST /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers" - ], - submitReview: [ - "POST /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/events" - ], - update: ["PATCH /repos/{owner}/{repo}/pulls/{pull_number}"], - updateBranch: [ - "PUT /repos/{owner}/{repo}/pulls/{pull_number}/update-branch" - ], - updateReview: [ - "PUT /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}" - ], - updateReviewComment: [ - "PATCH /repos/{owner}/{repo}/pulls/comments/{comment_id}" - ] - }, - rateLimit: { get: ["GET /rate_limit"] }, - reactions: { - createForCommitComment: [ - "POST /repos/{owner}/{repo}/comments/{comment_id}/reactions" - ], - createForIssue: [ - "POST /repos/{owner}/{repo}/issues/{issue_number}/reactions" - ], - createForIssueComment: [ - "POST /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions" - ], - createForPullRequestReviewComment: [ - "POST /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions" - ], - createForRelease: [ - "POST /repos/{owner}/{repo}/releases/{release_id}/reactions" - ], - createForTeamDiscussionCommentInOrg: [ - "POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions" - ], - createForTeamDiscussionInOrg: [ - "POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions" - ], - deleteForCommitComment: [ - "DELETE /repos/{owner}/{repo}/comments/{comment_id}/reactions/{reaction_id}" - ], - deleteForIssue: [ - "DELETE /repos/{owner}/{repo}/issues/{issue_number}/reactions/{reaction_id}" - ], - deleteForIssueComment: [ - "DELETE /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions/{reaction_id}" - ], - deleteForPullRequestComment: [ - "DELETE /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions/{reaction_id}" - ], - deleteForRelease: [ - "DELETE /repos/{owner}/{repo}/releases/{release_id}/reactions/{reaction_id}" - ], - deleteForTeamDiscussion: [ - "DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions/{reaction_id}" - ], - deleteForTeamDiscussionComment: [ - "DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions/{reaction_id}" - ], - listForCommitComment: [ - "GET /repos/{owner}/{repo}/comments/{comment_id}/reactions" - ], - listForIssue: ["GET /repos/{owner}/{repo}/issues/{issue_number}/reactions"], - listForIssueComment: [ - "GET /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions" - ], - listForPullRequestReviewComment: [ - "GET /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions" - ], - listForRelease: [ - "GET /repos/{owner}/{repo}/releases/{release_id}/reactions" - ], - listForTeamDiscussionCommentInOrg: [ - "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions" - ], - listForTeamDiscussionInOrg: [ - "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions" - ] - }, - repos: { - acceptInvitation: [ - "PATCH /user/repository_invitations/{invitation_id}", - {}, - { renamed: ["repos", "acceptInvitationForAuthenticatedUser"] } - ], - acceptInvitationForAuthenticatedUser: [ - "PATCH /user/repository_invitations/{invitation_id}" - ], - addAppAccessRestrictions: [ - "POST /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps", - {}, - { mapToData: "apps" } - ], - addCollaborator: ["PUT /repos/{owner}/{repo}/collaborators/{username}"], - addStatusCheckContexts: [ - "POST /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts", - {}, - { mapToData: "contexts" } - ], - addTeamAccessRestrictions: [ - "POST /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams", - {}, - { mapToData: "teams" } - ], - addUserAccessRestrictions: [ - "POST /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users", - {}, - { mapToData: "users" } - ], - cancelPagesDeployment: [ - "POST /repos/{owner}/{repo}/pages/deployments/{pages_deployment_id}/cancel" - ], - checkAutomatedSecurityFixes: [ - "GET /repos/{owner}/{repo}/automated-security-fixes" - ], - checkCollaborator: ["GET /repos/{owner}/{repo}/collaborators/{username}"], - checkVulnerabilityAlerts: [ - "GET /repos/{owner}/{repo}/vulnerability-alerts" - ], - codeownersErrors: ["GET /repos/{owner}/{repo}/codeowners/errors"], - compareCommits: ["GET /repos/{owner}/{repo}/compare/{base}...{head}"], - compareCommitsWithBasehead: [ - "GET /repos/{owner}/{repo}/compare/{basehead}" - ], - createAutolink: ["POST /repos/{owner}/{repo}/autolinks"], - createCommitComment: [ - "POST /repos/{owner}/{repo}/commits/{commit_sha}/comments" - ], - createCommitSignatureProtection: [ - "POST /repos/{owner}/{repo}/branches/{branch}/protection/required_signatures" - ], - createCommitStatus: ["POST /repos/{owner}/{repo}/statuses/{sha}"], - createDeployKey: ["POST /repos/{owner}/{repo}/keys"], - createDeployment: ["POST /repos/{owner}/{repo}/deployments"], - createDeploymentBranchPolicy: [ - "POST /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies" - ], - createDeploymentProtectionRule: [ - "POST /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules" - ], - createDeploymentStatus: [ - "POST /repos/{owner}/{repo}/deployments/{deployment_id}/statuses" - ], - createDispatchEvent: ["POST /repos/{owner}/{repo}/dispatches"], - createForAuthenticatedUser: ["POST /user/repos"], - createFork: ["POST /repos/{owner}/{repo}/forks"], - createInOrg: ["POST /orgs/{org}/repos"], - createOrUpdateCustomPropertiesValues: [ - "PATCH /repos/{owner}/{repo}/properties/values" - ], - createOrUpdateEnvironment: [ - "PUT /repos/{owner}/{repo}/environments/{environment_name}" - ], - createOrUpdateFileContents: ["PUT /repos/{owner}/{repo}/contents/{path}"], - createOrgRuleset: ["POST /orgs/{org}/rulesets"], - createPagesDeployment: ["POST /repos/{owner}/{repo}/pages/deployments"], - createPagesSite: ["POST /repos/{owner}/{repo}/pages"], - createRelease: ["POST /repos/{owner}/{repo}/releases"], - createRepoRuleset: ["POST /repos/{owner}/{repo}/rulesets"], - createTagProtection: ["POST /repos/{owner}/{repo}/tags/protection"], - createUsingTemplate: [ - "POST /repos/{template_owner}/{template_repo}/generate" - ], - createWebhook: ["POST /repos/{owner}/{repo}/hooks"], - declineInvitation: [ - "DELETE /user/repository_invitations/{invitation_id}", - {}, - { renamed: ["repos", "declineInvitationForAuthenticatedUser"] } - ], - declineInvitationForAuthenticatedUser: [ - "DELETE /user/repository_invitations/{invitation_id}" - ], - delete: ["DELETE /repos/{owner}/{repo}"], - deleteAccessRestrictions: [ - "DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions" - ], - deleteAdminBranchProtection: [ - "DELETE /repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins" - ], - deleteAnEnvironment: [ - "DELETE /repos/{owner}/{repo}/environments/{environment_name}" - ], - deleteAutolink: ["DELETE /repos/{owner}/{repo}/autolinks/{autolink_id}"], - deleteBranchProtection: [ - "DELETE /repos/{owner}/{repo}/branches/{branch}/protection" - ], - deleteCommitComment: ["DELETE /repos/{owner}/{repo}/comments/{comment_id}"], - deleteCommitSignatureProtection: [ - "DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_signatures" - ], - deleteDeployKey: ["DELETE /repos/{owner}/{repo}/keys/{key_id}"], - deleteDeployment: [ - "DELETE /repos/{owner}/{repo}/deployments/{deployment_id}" - ], - deleteDeploymentBranchPolicy: [ - "DELETE /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies/{branch_policy_id}" - ], - deleteFile: ["DELETE /repos/{owner}/{repo}/contents/{path}"], - deleteInvitation: [ - "DELETE /repos/{owner}/{repo}/invitations/{invitation_id}" - ], - deleteOrgRuleset: ["DELETE /orgs/{org}/rulesets/{ruleset_id}"], - deletePagesSite: ["DELETE /repos/{owner}/{repo}/pages"], - deletePullRequestReviewProtection: [ - "DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews" - ], - deleteRelease: ["DELETE /repos/{owner}/{repo}/releases/{release_id}"], - deleteReleaseAsset: [ - "DELETE /repos/{owner}/{repo}/releases/assets/{asset_id}" - ], - deleteRepoRuleset: ["DELETE /repos/{owner}/{repo}/rulesets/{ruleset_id}"], - deleteTagProtection: [ - "DELETE /repos/{owner}/{repo}/tags/protection/{tag_protection_id}" - ], - deleteWebhook: ["DELETE /repos/{owner}/{repo}/hooks/{hook_id}"], - disableAutomatedSecurityFixes: [ - "DELETE /repos/{owner}/{repo}/automated-security-fixes" - ], - disableDeploymentProtectionRule: [ - "DELETE /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules/{protection_rule_id}" - ], - disablePrivateVulnerabilityReporting: [ - "DELETE /repos/{owner}/{repo}/private-vulnerability-reporting" - ], - disableVulnerabilityAlerts: [ - "DELETE /repos/{owner}/{repo}/vulnerability-alerts" - ], - downloadArchive: [ - "GET /repos/{owner}/{repo}/zipball/{ref}", - {}, - { renamed: ["repos", "downloadZipballArchive"] } - ], - downloadTarballArchive: ["GET /repos/{owner}/{repo}/tarball/{ref}"], - downloadZipballArchive: ["GET /repos/{owner}/{repo}/zipball/{ref}"], - enableAutomatedSecurityFixes: [ - "PUT /repos/{owner}/{repo}/automated-security-fixes" - ], - enablePrivateVulnerabilityReporting: [ - "PUT /repos/{owner}/{repo}/private-vulnerability-reporting" - ], - enableVulnerabilityAlerts: [ - "PUT /repos/{owner}/{repo}/vulnerability-alerts" - ], - generateReleaseNotes: [ - "POST /repos/{owner}/{repo}/releases/generate-notes" - ], - get: ["GET /repos/{owner}/{repo}"], - getAccessRestrictions: [ - "GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions" - ], - getAdminBranchProtection: [ - "GET /repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins" - ], - getAllDeploymentProtectionRules: [ - "GET /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules" - ], - getAllEnvironments: ["GET /repos/{owner}/{repo}/environments"], - getAllStatusCheckContexts: [ - "GET /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts" - ], - getAllTopics: ["GET /repos/{owner}/{repo}/topics"], - getAppsWithAccessToProtectedBranch: [ - "GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps" - ], - getAutolink: ["GET /repos/{owner}/{repo}/autolinks/{autolink_id}"], - getBranch: ["GET /repos/{owner}/{repo}/branches/{branch}"], - getBranchProtection: [ - "GET /repos/{owner}/{repo}/branches/{branch}/protection" - ], - getBranchRules: ["GET /repos/{owner}/{repo}/rules/branches/{branch}"], - getClones: ["GET /repos/{owner}/{repo}/traffic/clones"], - getCodeFrequencyStats: ["GET /repos/{owner}/{repo}/stats/code_frequency"], - getCollaboratorPermissionLevel: [ - "GET /repos/{owner}/{repo}/collaborators/{username}/permission" - ], - getCombinedStatusForRef: ["GET /repos/{owner}/{repo}/commits/{ref}/status"], - getCommit: ["GET /repos/{owner}/{repo}/commits/{ref}"], - getCommitActivityStats: ["GET /repos/{owner}/{repo}/stats/commit_activity"], - getCommitComment: ["GET /repos/{owner}/{repo}/comments/{comment_id}"], - getCommitSignatureProtection: [ - "GET /repos/{owner}/{repo}/branches/{branch}/protection/required_signatures" - ], - getCommunityProfileMetrics: ["GET /repos/{owner}/{repo}/community/profile"], - getContent: ["GET /repos/{owner}/{repo}/contents/{path}"], - getContributorsStats: ["GET /repos/{owner}/{repo}/stats/contributors"], - getCustomDeploymentProtectionRule: [ - "GET /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules/{protection_rule_id}" - ], - getCustomPropertiesValues: ["GET /repos/{owner}/{repo}/properties/values"], - getDeployKey: ["GET /repos/{owner}/{repo}/keys/{key_id}"], - getDeployment: ["GET /repos/{owner}/{repo}/deployments/{deployment_id}"], - getDeploymentBranchPolicy: [ - "GET /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies/{branch_policy_id}" - ], - getDeploymentStatus: [ - "GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses/{status_id}" - ], - getEnvironment: [ - "GET /repos/{owner}/{repo}/environments/{environment_name}" - ], - getLatestPagesBuild: ["GET /repos/{owner}/{repo}/pages/builds/latest"], - getLatestRelease: ["GET /repos/{owner}/{repo}/releases/latest"], - getOrgRuleSuite: ["GET /orgs/{org}/rulesets/rule-suites/{rule_suite_id}"], - getOrgRuleSuites: ["GET /orgs/{org}/rulesets/rule-suites"], - getOrgRuleset: ["GET /orgs/{org}/rulesets/{ruleset_id}"], - getOrgRulesets: ["GET /orgs/{org}/rulesets"], - getPages: ["GET /repos/{owner}/{repo}/pages"], - getPagesBuild: ["GET /repos/{owner}/{repo}/pages/builds/{build_id}"], - getPagesDeployment: [ - "GET /repos/{owner}/{repo}/pages/deployments/{pages_deployment_id}" - ], - getPagesHealthCheck: ["GET /repos/{owner}/{repo}/pages/health"], - getParticipationStats: ["GET /repos/{owner}/{repo}/stats/participation"], - getPullRequestReviewProtection: [ - "GET /repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews" - ], - getPunchCardStats: ["GET /repos/{owner}/{repo}/stats/punch_card"], - getReadme: ["GET /repos/{owner}/{repo}/readme"], - getReadmeInDirectory: ["GET /repos/{owner}/{repo}/readme/{dir}"], - getRelease: ["GET /repos/{owner}/{repo}/releases/{release_id}"], - getReleaseAsset: ["GET /repos/{owner}/{repo}/releases/assets/{asset_id}"], - getReleaseByTag: ["GET /repos/{owner}/{repo}/releases/tags/{tag}"], - getRepoRuleSuite: [ - "GET /repos/{owner}/{repo}/rulesets/rule-suites/{rule_suite_id}" - ], - getRepoRuleSuites: ["GET /repos/{owner}/{repo}/rulesets/rule-suites"], - getRepoRuleset: ["GET /repos/{owner}/{repo}/rulesets/{ruleset_id}"], - getRepoRulesets: ["GET /repos/{owner}/{repo}/rulesets"], - getStatusChecksProtection: [ - "GET /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks" - ], - getTeamsWithAccessToProtectedBranch: [ - "GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams" - ], - getTopPaths: ["GET /repos/{owner}/{repo}/traffic/popular/paths"], - getTopReferrers: ["GET /repos/{owner}/{repo}/traffic/popular/referrers"], - getUsersWithAccessToProtectedBranch: [ - "GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users" - ], - getViews: ["GET /repos/{owner}/{repo}/traffic/views"], - getWebhook: ["GET /repos/{owner}/{repo}/hooks/{hook_id}"], - getWebhookConfigForRepo: [ - "GET /repos/{owner}/{repo}/hooks/{hook_id}/config" - ], - getWebhookDelivery: [ - "GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries/{delivery_id}" - ], - listActivities: ["GET /repos/{owner}/{repo}/activity"], - listAutolinks: ["GET /repos/{owner}/{repo}/autolinks"], - listBranches: ["GET /repos/{owner}/{repo}/branches"], - listBranchesForHeadCommit: [ - "GET /repos/{owner}/{repo}/commits/{commit_sha}/branches-where-head" - ], - listCollaborators: ["GET /repos/{owner}/{repo}/collaborators"], - listCommentsForCommit: [ - "GET /repos/{owner}/{repo}/commits/{commit_sha}/comments" - ], - listCommitCommentsForRepo: ["GET /repos/{owner}/{repo}/comments"], - listCommitStatusesForRef: [ - "GET /repos/{owner}/{repo}/commits/{ref}/statuses" - ], - listCommits: ["GET /repos/{owner}/{repo}/commits"], - listContributors: ["GET /repos/{owner}/{repo}/contributors"], - listCustomDeploymentRuleIntegrations: [ - "GET /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules/apps" - ], - listDeployKeys: ["GET /repos/{owner}/{repo}/keys"], - listDeploymentBranchPolicies: [ - "GET /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies" - ], - listDeploymentStatuses: [ - "GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses" - ], - listDeployments: ["GET /repos/{owner}/{repo}/deployments"], - listForAuthenticatedUser: ["GET /user/repos"], - listForOrg: ["GET /orgs/{org}/repos"], - listForUser: ["GET /users/{username}/repos"], - listForks: ["GET /repos/{owner}/{repo}/forks"], - listInvitations: ["GET /repos/{owner}/{repo}/invitations"], - listInvitationsForAuthenticatedUser: ["GET /user/repository_invitations"], - listLanguages: ["GET /repos/{owner}/{repo}/languages"], - listPagesBuilds: ["GET /repos/{owner}/{repo}/pages/builds"], - listPublic: ["GET /repositories"], - listPullRequestsAssociatedWithCommit: [ - "GET /repos/{owner}/{repo}/commits/{commit_sha}/pulls" - ], - listReleaseAssets: [ - "GET /repos/{owner}/{repo}/releases/{release_id}/assets" - ], - listReleases: ["GET /repos/{owner}/{repo}/releases"], - listTagProtection: ["GET /repos/{owner}/{repo}/tags/protection"], - listTags: ["GET /repos/{owner}/{repo}/tags"], - listTeams: ["GET /repos/{owner}/{repo}/teams"], - listWebhookDeliveries: [ - "GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries" - ], - listWebhooks: ["GET /repos/{owner}/{repo}/hooks"], - merge: ["POST /repos/{owner}/{repo}/merges"], - mergeUpstream: ["POST /repos/{owner}/{repo}/merge-upstream"], - pingWebhook: ["POST /repos/{owner}/{repo}/hooks/{hook_id}/pings"], - redeliverWebhookDelivery: [ - "POST /repos/{owner}/{repo}/hooks/{hook_id}/deliveries/{delivery_id}/attempts" - ], - removeAppAccessRestrictions: [ - "DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps", - {}, - { mapToData: "apps" } - ], - removeCollaborator: [ - "DELETE /repos/{owner}/{repo}/collaborators/{username}" - ], - removeStatusCheckContexts: [ - "DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts", - {}, - { mapToData: "contexts" } - ], - removeStatusCheckProtection: [ - "DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks" - ], - removeTeamAccessRestrictions: [ - "DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams", - {}, - { mapToData: "teams" } - ], - removeUserAccessRestrictions: [ - "DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users", - {}, - { mapToData: "users" } - ], - renameBranch: ["POST /repos/{owner}/{repo}/branches/{branch}/rename"], - replaceAllTopics: ["PUT /repos/{owner}/{repo}/topics"], - requestPagesBuild: ["POST /repos/{owner}/{repo}/pages/builds"], - setAdminBranchProtection: [ - "POST /repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins" - ], - setAppAccessRestrictions: [ - "PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps", - {}, - { mapToData: "apps" } - ], - setStatusCheckContexts: [ - "PUT /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts", - {}, - { mapToData: "contexts" } - ], - setTeamAccessRestrictions: [ - "PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams", - {}, - { mapToData: "teams" } - ], - setUserAccessRestrictions: [ - "PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users", - {}, - { mapToData: "users" } - ], - testPushWebhook: ["POST /repos/{owner}/{repo}/hooks/{hook_id}/tests"], - transfer: ["POST /repos/{owner}/{repo}/transfer"], - update: ["PATCH /repos/{owner}/{repo}"], - updateBranchProtection: [ - "PUT /repos/{owner}/{repo}/branches/{branch}/protection" - ], - updateCommitComment: ["PATCH /repos/{owner}/{repo}/comments/{comment_id}"], - updateDeploymentBranchPolicy: [ - "PUT /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies/{branch_policy_id}" - ], - updateInformationAboutPagesSite: ["PUT /repos/{owner}/{repo}/pages"], - updateInvitation: [ - "PATCH /repos/{owner}/{repo}/invitations/{invitation_id}" - ], - updateOrgRuleset: ["PUT /orgs/{org}/rulesets/{ruleset_id}"], - updatePullRequestReviewProtection: [ - "PATCH /repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews" - ], - updateRelease: ["PATCH /repos/{owner}/{repo}/releases/{release_id}"], - updateReleaseAsset: [ - "PATCH /repos/{owner}/{repo}/releases/assets/{asset_id}" - ], - updateRepoRuleset: ["PUT /repos/{owner}/{repo}/rulesets/{ruleset_id}"], - updateStatusCheckPotection: [ - "PATCH /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks", - {}, - { renamed: ["repos", "updateStatusCheckProtection"] } - ], - updateStatusCheckProtection: [ - "PATCH /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks" - ], - updateWebhook: ["PATCH /repos/{owner}/{repo}/hooks/{hook_id}"], - updateWebhookConfigForRepo: [ - "PATCH /repos/{owner}/{repo}/hooks/{hook_id}/config" - ], - uploadReleaseAsset: [ - "POST /repos/{owner}/{repo}/releases/{release_id}/assets{?name,label}", - { baseUrl: "https://uploads.github.com" } - ] - }, - search: { - code: ["GET /search/code"], - commits: ["GET /search/commits"], - issuesAndPullRequests: ["GET /search/issues"], - labels: ["GET /search/labels"], - repos: ["GET /search/repositories"], - topics: ["GET /search/topics"], - users: ["GET /search/users"] - }, - secretScanning: { - getAlert: [ - "GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}" - ], - listAlertsForEnterprise: [ - "GET /enterprises/{enterprise}/secret-scanning/alerts" - ], - listAlertsForOrg: ["GET /orgs/{org}/secret-scanning/alerts"], - listAlertsForRepo: ["GET /repos/{owner}/{repo}/secret-scanning/alerts"], - listLocationsForAlert: [ - "GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}/locations" - ], - updateAlert: [ - "PATCH /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}" - ] - }, - securityAdvisories: { - createFork: [ - "POST /repos/{owner}/{repo}/security-advisories/{ghsa_id}/forks" - ], - createPrivateVulnerabilityReport: [ - "POST /repos/{owner}/{repo}/security-advisories/reports" - ], - createRepositoryAdvisory: [ - "POST /repos/{owner}/{repo}/security-advisories" - ], - createRepositoryAdvisoryCveRequest: [ - "POST /repos/{owner}/{repo}/security-advisories/{ghsa_id}/cve" - ], - getGlobalAdvisory: ["GET /advisories/{ghsa_id}"], - getRepositoryAdvisory: [ - "GET /repos/{owner}/{repo}/security-advisories/{ghsa_id}" - ], - listGlobalAdvisories: ["GET /advisories"], - listOrgRepositoryAdvisories: ["GET /orgs/{org}/security-advisories"], - listRepositoryAdvisories: ["GET /repos/{owner}/{repo}/security-advisories"], - updateRepositoryAdvisory: [ - "PATCH /repos/{owner}/{repo}/security-advisories/{ghsa_id}" - ] - }, - teams: { - addOrUpdateMembershipForUserInOrg: [ - "PUT /orgs/{org}/teams/{team_slug}/memberships/{username}" - ], - addOrUpdateProjectPermissionsInOrg: [ - "PUT /orgs/{org}/teams/{team_slug}/projects/{project_id}" - ], - addOrUpdateRepoPermissionsInOrg: [ - "PUT /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}" - ], - checkPermissionsForProjectInOrg: [ - "GET /orgs/{org}/teams/{team_slug}/projects/{project_id}" - ], - checkPermissionsForRepoInOrg: [ - "GET /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}" - ], - create: ["POST /orgs/{org}/teams"], - createDiscussionCommentInOrg: [ - "POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments" - ], - createDiscussionInOrg: ["POST /orgs/{org}/teams/{team_slug}/discussions"], - deleteDiscussionCommentInOrg: [ - "DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}" - ], - deleteDiscussionInOrg: [ - "DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}" - ], - deleteInOrg: ["DELETE /orgs/{org}/teams/{team_slug}"], - getByName: ["GET /orgs/{org}/teams/{team_slug}"], - getDiscussionCommentInOrg: [ - "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}" - ], - getDiscussionInOrg: [ - "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}" - ], - getMembershipForUserInOrg: [ - "GET /orgs/{org}/teams/{team_slug}/memberships/{username}" - ], - list: ["GET /orgs/{org}/teams"], - listChildInOrg: ["GET /orgs/{org}/teams/{team_slug}/teams"], - listDiscussionCommentsInOrg: [ - "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments" - ], - listDiscussionsInOrg: ["GET /orgs/{org}/teams/{team_slug}/discussions"], - listForAuthenticatedUser: ["GET /user/teams"], - listMembersInOrg: ["GET /orgs/{org}/teams/{team_slug}/members"], - listPendingInvitationsInOrg: [ - "GET /orgs/{org}/teams/{team_slug}/invitations" - ], - listProjectsInOrg: ["GET /orgs/{org}/teams/{team_slug}/projects"], - listReposInOrg: ["GET /orgs/{org}/teams/{team_slug}/repos"], - removeMembershipForUserInOrg: [ - "DELETE /orgs/{org}/teams/{team_slug}/memberships/{username}" - ], - removeProjectInOrg: [ - "DELETE /orgs/{org}/teams/{team_slug}/projects/{project_id}" - ], - removeRepoInOrg: [ - "DELETE /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}" - ], - updateDiscussionCommentInOrg: [ - "PATCH /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}" - ], - updateDiscussionInOrg: [ - "PATCH /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}" - ], - updateInOrg: ["PATCH /orgs/{org}/teams/{team_slug}"] - }, - users: { - addEmailForAuthenticated: [ - "POST /user/emails", - {}, - { renamed: ["users", "addEmailForAuthenticatedUser"] } - ], - addEmailForAuthenticatedUser: ["POST /user/emails"], - addSocialAccountForAuthenticatedUser: ["POST /user/social_accounts"], - block: ["PUT /user/blocks/{username}"], - checkBlocked: ["GET /user/blocks/{username}"], - checkFollowingForUser: ["GET /users/{username}/following/{target_user}"], - checkPersonIsFollowedByAuthenticated: ["GET /user/following/{username}"], - createGpgKeyForAuthenticated: [ - "POST /user/gpg_keys", - {}, - { renamed: ["users", "createGpgKeyForAuthenticatedUser"] } - ], - createGpgKeyForAuthenticatedUser: ["POST /user/gpg_keys"], - createPublicSshKeyForAuthenticated: [ - "POST /user/keys", - {}, - { renamed: ["users", "createPublicSshKeyForAuthenticatedUser"] } - ], - createPublicSshKeyForAuthenticatedUser: ["POST /user/keys"], - createSshSigningKeyForAuthenticatedUser: ["POST /user/ssh_signing_keys"], - deleteEmailForAuthenticated: [ - "DELETE /user/emails", - {}, - { renamed: ["users", "deleteEmailForAuthenticatedUser"] } - ], - deleteEmailForAuthenticatedUser: ["DELETE /user/emails"], - deleteGpgKeyForAuthenticated: [ - "DELETE /user/gpg_keys/{gpg_key_id}", - {}, - { renamed: ["users", "deleteGpgKeyForAuthenticatedUser"] } - ], - deleteGpgKeyForAuthenticatedUser: ["DELETE /user/gpg_keys/{gpg_key_id}"], - deletePublicSshKeyForAuthenticated: [ - "DELETE /user/keys/{key_id}", - {}, - { renamed: ["users", "deletePublicSshKeyForAuthenticatedUser"] } - ], - deletePublicSshKeyForAuthenticatedUser: ["DELETE /user/keys/{key_id}"], - deleteSocialAccountForAuthenticatedUser: ["DELETE /user/social_accounts"], - deleteSshSigningKeyForAuthenticatedUser: [ - "DELETE /user/ssh_signing_keys/{ssh_signing_key_id}" - ], - follow: ["PUT /user/following/{username}"], - getAuthenticated: ["GET /user"], - getByUsername: ["GET /users/{username}"], - getContextForUser: ["GET /users/{username}/hovercard"], - getGpgKeyForAuthenticated: [ - "GET /user/gpg_keys/{gpg_key_id}", - {}, - { renamed: ["users", "getGpgKeyForAuthenticatedUser"] } - ], - getGpgKeyForAuthenticatedUser: ["GET /user/gpg_keys/{gpg_key_id}"], - getPublicSshKeyForAuthenticated: [ - "GET /user/keys/{key_id}", - {}, - { renamed: ["users", "getPublicSshKeyForAuthenticatedUser"] } - ], - getPublicSshKeyForAuthenticatedUser: ["GET /user/keys/{key_id}"], - getSshSigningKeyForAuthenticatedUser: [ - "GET /user/ssh_signing_keys/{ssh_signing_key_id}" - ], - list: ["GET /users"], - listBlockedByAuthenticated: [ - "GET /user/blocks", - {}, - { renamed: ["users", "listBlockedByAuthenticatedUser"] } - ], - listBlockedByAuthenticatedUser: ["GET /user/blocks"], - listEmailsForAuthenticated: [ - "GET /user/emails", - {}, - { renamed: ["users", "listEmailsForAuthenticatedUser"] } - ], - listEmailsForAuthenticatedUser: ["GET /user/emails"], - listFollowedByAuthenticated: [ - "GET /user/following", - {}, - { renamed: ["users", "listFollowedByAuthenticatedUser"] } - ], - listFollowedByAuthenticatedUser: ["GET /user/following"], - listFollowersForAuthenticatedUser: ["GET /user/followers"], - listFollowersForUser: ["GET /users/{username}/followers"], - listFollowingForUser: ["GET /users/{username}/following"], - listGpgKeysForAuthenticated: [ - "GET /user/gpg_keys", - {}, - { renamed: ["users", "listGpgKeysForAuthenticatedUser"] } - ], - listGpgKeysForAuthenticatedUser: ["GET /user/gpg_keys"], - listGpgKeysForUser: ["GET /users/{username}/gpg_keys"], - listPublicEmailsForAuthenticated: [ - "GET /user/public_emails", - {}, - { renamed: ["users", "listPublicEmailsForAuthenticatedUser"] } - ], - listPublicEmailsForAuthenticatedUser: ["GET /user/public_emails"], - listPublicKeysForUser: ["GET /users/{username}/keys"], - listPublicSshKeysForAuthenticated: [ - "GET /user/keys", - {}, - { renamed: ["users", "listPublicSshKeysForAuthenticatedUser"] } - ], - listPublicSshKeysForAuthenticatedUser: ["GET /user/keys"], - listSocialAccountsForAuthenticatedUser: ["GET /user/social_accounts"], - listSocialAccountsForUser: ["GET /users/{username}/social_accounts"], - listSshSigningKeysForAuthenticatedUser: ["GET /user/ssh_signing_keys"], - listSshSigningKeysForUser: ["GET /users/{username}/ssh_signing_keys"], - setPrimaryEmailVisibilityForAuthenticated: [ - "PATCH /user/email/visibility", - {}, - { renamed: ["users", "setPrimaryEmailVisibilityForAuthenticatedUser"] } - ], - setPrimaryEmailVisibilityForAuthenticatedUser: [ - "PATCH /user/email/visibility" - ], - unblock: ["DELETE /user/blocks/{username}"], - unfollow: ["DELETE /user/following/{username}"], - updateAuthenticated: ["PATCH /user"] - } -}; -var endpoints_default = Endpoints; - -// pkg/dist-src/endpoints-to-methods.js -var endpointMethodsMap = /* @__PURE__ */ new Map(); -for (const [scope, endpoints] of Object.entries(endpoints_default)) { - for (const [methodName, endpoint] of Object.entries(endpoints)) { - const [route, defaults, decorations] = endpoint; - const [method, url] = route.split(/ /); - const endpointDefaults = Object.assign( - { - method, - url - }, - defaults - ); - if (!endpointMethodsMap.has(scope)) { - endpointMethodsMap.set(scope, /* @__PURE__ */ new Map()); - } - endpointMethodsMap.get(scope).set(methodName, { - scope, - methodName, - endpointDefaults, - decorations - }); - } -} -var handler = { - has({ scope }, methodName) { - return endpointMethodsMap.get(scope).has(methodName); - }, - getOwnPropertyDescriptor(target, methodName) { - return { - value: this.get(target, methodName), - // ensures method is in the cache - configurable: true, - writable: true, - enumerable: true - }; - }, - defineProperty(target, methodName, descriptor) { - Object.defineProperty(target.cache, methodName, descriptor); - return true; - }, - deleteProperty(target, methodName) { - delete target.cache[methodName]; - return true; - }, - ownKeys({ scope }) { - return [...endpointMethodsMap.get(scope).keys()]; - }, - set(target, methodName, value) { - return target.cache[methodName] = value; - }, - get({ octokit, scope, cache }, methodName) { - if (cache[methodName]) { - return cache[methodName]; - } - const method = endpointMethodsMap.get(scope).get(methodName); - if (!method) { - return void 0; - } - const { endpointDefaults, decorations } = method; - if (decorations) { - cache[methodName] = decorate( - octokit, - scope, - methodName, - endpointDefaults, - decorations - ); - } else { - cache[methodName] = octokit.request.defaults(endpointDefaults); - } - return cache[methodName]; - } -}; -function endpointsToMethods(octokit) { - const newMethods = {}; - for (const scope of endpointMethodsMap.keys()) { - newMethods[scope] = new Proxy({ octokit, scope, cache: {} }, handler); - } - return newMethods; -} -function decorate(octokit, scope, methodName, defaults, decorations) { - const requestWithDefaults = octokit.request.defaults(defaults); - function withDecorations(...args) { - let options = requestWithDefaults.endpoint.merge(...args); - if (decorations.mapToData) { - options = Object.assign({}, options, { - data: options[decorations.mapToData], - [decorations.mapToData]: void 0 - }); - return requestWithDefaults(options); - } - if (decorations.renamed) { - const [newScope, newMethodName] = decorations.renamed; - octokit.log.warn( - `octokit.${scope}.${methodName}() has been renamed to octokit.${newScope}.${newMethodName}()` - ); - } - if (decorations.deprecated) { - octokit.log.warn(decorations.deprecated); - } - if (decorations.renamedParameters) { - const options2 = requestWithDefaults.endpoint.merge(...args); - for (const [name, alias] of Object.entries( - decorations.renamedParameters - )) { - if (name in options2) { - octokit.log.warn( - `"${name}" parameter is deprecated for "octokit.${scope}.${methodName}()". Use "${alias}" instead` - ); - if (!(alias in options2)) { - options2[alias] = options2[name]; - } - delete options2[name]; - } - } - return requestWithDefaults(options2); - } - return requestWithDefaults(...args); - } - return Object.assign(withDecorations, requestWithDefaults); -} - -// pkg/dist-src/index.js -function restEndpointMethods(octokit) { - const api = endpointsToMethods(octokit); - return { - rest: api - }; -} -restEndpointMethods.VERSION = VERSION; -function legacyRestEndpointMethods(octokit) { - const api = endpointsToMethods(octokit); - return { - ...api, - rest: api - }; -} -legacyRestEndpointMethods.VERSION = VERSION; -// Annotate the CommonJS export names for ESM import in node: -0 && (0); - - -/***/ }), - -/***/ 8485: -/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { - - -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 __export = (target, all) => { - for (var name in all) - __defProp(target, name, { get: all[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 = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps( - // If the importer is in node compatibility mode or this is not an ESM - // file that has been converted to a CommonJS file using a Babel- - // compatible transform (i.e. "__esModule" has not been set), then set - // "default" to the CommonJS "module.exports" for node compatibility. - isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target, - mod -)); -var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); - -// pkg/dist-src/index.js -var dist_src_exports = {}; -__export(dist_src_exports, { - RequestError: () => RequestError -}); -module.exports = __toCommonJS(dist_src_exports); -var import_deprecation = __nccwpck_require__(94325); -var import_once = __toESM(__nccwpck_require__(72367)); -var logOnceCode = (0, import_once.default)((deprecation) => console.warn(deprecation)); -var logOnceHeaders = (0, import_once.default)((deprecation) => console.warn(deprecation)); -var RequestError = class extends Error { - constructor(message, statusCode, options) { - super(message); - if (Error.captureStackTrace) { - Error.captureStackTrace(this, this.constructor); - } - this.name = "HttpError"; - this.status = statusCode; - let headers; - if ("headers" in options && typeof options.headers !== "undefined") { - headers = options.headers; - } - if ("response" in options) { - this.response = options.response; - headers = options.response.headers; - } - const requestCopy = Object.assign({}, options.request); - if (options.request.headers.authorization) { - requestCopy.headers = Object.assign({}, options.request.headers, { - authorization: options.request.headers.authorization.replace( - / .*$/, - " [REDACTED]" - ) - }); - } - requestCopy.url = requestCopy.url.replace(/\bclient_secret=\w+/g, "client_secret=[REDACTED]").replace(/\baccess_token=\w+/g, "access_token=[REDACTED]"); - this.request = requestCopy; - Object.defineProperty(this, "code", { - get() { - logOnceCode( - new import_deprecation.Deprecation( - "[@octokit/request-error] `error.code` is deprecated, use `error.status`." - ) - ); - return statusCode; - } - }); - Object.defineProperty(this, "headers", { - get() { - logOnceHeaders( - new import_deprecation.Deprecation( - "[@octokit/request-error] `error.headers` is deprecated, use `error.response.headers`." - ) - ); - return headers || {}; - } - }); - } -}; -// Annotate the CommonJS export names for ESM import in node: -0 && (0); - - -/***/ }), - -/***/ 57114: -/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { - - -var __defProp = Object.defineProperty; -var __getOwnPropDesc = Object.getOwnPropertyDescriptor; -var __getOwnPropNames = Object.getOwnPropertyNames; -var __hasOwnProp = Object.prototype.hasOwnProperty; -var __export = (target, all) => { - for (var name in all) - __defProp(target, name, { get: all[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 __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); - -// pkg/dist-src/index.js -var dist_src_exports = {}; -__export(dist_src_exports, { - request: () => request -}); -module.exports = __toCommonJS(dist_src_exports); -var import_endpoint = __nccwpck_require__(70976); -var import_universal_user_agent = __nccwpck_require__(39530); - -// pkg/dist-src/version.js -var VERSION = "8.4.0"; - -// pkg/dist-src/is-plain-object.js -function isPlainObject(value) { - if (typeof value !== "object" || value === null) - return false; - if (Object.prototype.toString.call(value) !== "[object Object]") - return false; - const proto = Object.getPrototypeOf(value); - if (proto === null) - return true; - const Ctor = Object.prototype.hasOwnProperty.call(proto, "constructor") && proto.constructor; - return typeof Ctor === "function" && Ctor instanceof Ctor && Function.prototype.call(Ctor) === Function.prototype.call(value); -} - -// pkg/dist-src/fetch-wrapper.js -var import_request_error = __nccwpck_require__(8485); - -// pkg/dist-src/get-buffer-response.js -function getBufferResponse(response) { - return response.arrayBuffer(); -} - -// pkg/dist-src/fetch-wrapper.js -function fetchWrapper(requestOptions) { - var _a, _b, _c, _d; - const log = requestOptions.request && requestOptions.request.log ? requestOptions.request.log : console; - const parseSuccessResponseBody = ((_a = requestOptions.request) == null ? void 0 : _a.parseSuccessResponseBody) !== false; - if (isPlainObject(requestOptions.body) || Array.isArray(requestOptions.body)) { - requestOptions.body = JSON.stringify(requestOptions.body); - } - let headers = {}; - let status; - let url; - let { fetch } = globalThis; - if ((_b = requestOptions.request) == null ? void 0 : _b.fetch) { - fetch = requestOptions.request.fetch; - } - if (!fetch) { - throw new Error( - "fetch is not set. Please pass a fetch implementation as new Octokit({ request: { fetch }}). Learn more at https://github.com/octokit/octokit.js/#fetch-missing" - ); - } - return fetch(requestOptions.url, { - method: requestOptions.method, - body: requestOptions.body, - redirect: (_c = requestOptions.request) == null ? void 0 : _c.redirect, - headers: requestOptions.headers, - signal: (_d = requestOptions.request) == null ? void 0 : _d.signal, - // duplex must be set if request.body is ReadableStream or Async Iterables. - // See https://fetch.spec.whatwg.org/#dom-requestinit-duplex. - ...requestOptions.body && { duplex: "half" } - }).then(async (response) => { - url = response.url; - status = response.status; - for (const keyAndValue of response.headers) { - headers[keyAndValue[0]] = keyAndValue[1]; - } - if ("deprecation" in headers) { - const matches = headers.link && headers.link.match(/<([^>]+)>; rel="deprecation"/); - const deprecationLink = matches && matches.pop(); - log.warn( - `[@octokit/request] "${requestOptions.method} ${requestOptions.url}" is deprecated. It is scheduled to be removed on ${headers.sunset}${deprecationLink ? `. See ${deprecationLink}` : ""}` - ); - } - if (status === 204 || status === 205) { - return; - } - if (requestOptions.method === "HEAD") { - if (status < 400) { - return; - } - throw new import_request_error.RequestError(response.statusText, status, { - response: { - url, - status, - headers, - data: void 0 - }, - request: requestOptions - }); - } - if (status === 304) { - throw new import_request_error.RequestError("Not modified", status, { - response: { - url, - status, - headers, - data: await getResponseData(response) - }, - request: requestOptions - }); - } - if (status >= 400) { - const data = await getResponseData(response); - const error = new import_request_error.RequestError(toErrorMessage(data), status, { - response: { - url, - status, - headers, - data - }, - request: requestOptions - }); - throw error; - } - return parseSuccessResponseBody ? await getResponseData(response) : response.body; - }).then((data) => { - return { - status, - url, - headers, - data - }; - }).catch((error) => { - if (error instanceof import_request_error.RequestError) - throw error; - else if (error.name === "AbortError") - throw error; - let message = error.message; - if (error.name === "TypeError" && "cause" in error) { - if (error.cause instanceof Error) { - message = error.cause.message; - } else if (typeof error.cause === "string") { - message = error.cause; - } - } - throw new import_request_error.RequestError(message, 500, { - request: requestOptions - }); - }); -} -async function getResponseData(response) { - const contentType = response.headers.get("content-type"); - if (/application\/json/.test(contentType)) { - return response.json().catch(() => response.text()).catch(() => ""); - } - if (!contentType || /^text\/|charset=utf-8$/.test(contentType)) { - return response.text(); - } - return getBufferResponse(response); -} -function toErrorMessage(data) { - if (typeof data === "string") - return data; - let suffix; - if ("documentation_url" in data) { - suffix = ` - ${data.documentation_url}`; - } else { - suffix = ""; - } - if ("message" in data) { - if (Array.isArray(data.errors)) { - return `${data.message}: ${data.errors.map(JSON.stringify).join(", ")}${suffix}`; - } - return `${data.message}${suffix}`; - } - return `Unknown error: ${JSON.stringify(data)}`; -} - -// pkg/dist-src/with-defaults.js -function withDefaults(oldEndpoint, newDefaults) { - const endpoint2 = oldEndpoint.defaults(newDefaults); - const newApi = function(route, parameters) { - const endpointOptions = endpoint2.merge(route, parameters); - if (!endpointOptions.request || !endpointOptions.request.hook) { - return fetchWrapper(endpoint2.parse(endpointOptions)); - } - const request2 = (route2, parameters2) => { - return fetchWrapper( - endpoint2.parse(endpoint2.merge(route2, parameters2)) - ); - }; - Object.assign(request2, { - endpoint: endpoint2, - defaults: withDefaults.bind(null, endpoint2) - }); - return endpointOptions.request.hook(request2, endpointOptions); - }; - return Object.assign(newApi, { - endpoint: endpoint2, - defaults: withDefaults.bind(null, endpoint2) - }); -} - -// pkg/dist-src/index.js -var request = withDefaults(import_endpoint.endpoint, { - headers: { - "user-agent": `octokit-request.js/${VERSION} ${(0, import_universal_user_agent.getUserAgent)()}` - } -}); -// Annotate the CommonJS export names for ESM import in node: -0 && (0); - - -/***/ }), - -/***/ 85504: -/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) { - - -var __importDefault = (this && this.__importDefault) || function (mod) { - return (mod && mod.__esModule) ? mod : { "default": mod }; -}; -Object.defineProperty(exports, "__esModule", ({ value: true })); -const GoTrueAdminApi_1 = __importDefault(__nccwpck_require__(66164)); -const AuthAdminApi = GoTrueAdminApi_1.default; -exports["default"] = AuthAdminApi; -//# sourceMappingURL=AuthAdminApi.js.map - -/***/ }), - -/***/ 18322: -/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) { - - -var __importDefault = (this && this.__importDefault) || function (mod) { - return (mod && mod.__esModule) ? mod : { "default": mod }; -}; -Object.defineProperty(exports, "__esModule", ({ value: true })); -const GoTrueClient_1 = __importDefault(__nccwpck_require__(82334)); -const AuthClient = GoTrueClient_1.default; -exports["default"] = AuthClient; -//# sourceMappingURL=AuthClient.js.map - -/***/ }), - -/***/ 66164: -/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) { - - -var __rest = (this && this.__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(exports, "__esModule", ({ value: true })); -const fetch_1 = __nccwpck_require__(12587); -const helpers_1 = __nccwpck_require__(6614); -const errors_1 = __nccwpck_require__(528); -class GoTrueAdminApi { - constructor({ url = '', headers = {}, fetch, }) { - this.url = url; - this.headers = headers; - this.fetch = (0, helpers_1.resolveFetch)(fetch); - this.mfa = { - listFactors: this._listFactors.bind(this), - deleteFactor: this._deleteFactor.bind(this), - }; - } - /** - * Removes a logged-in session. - * @param jwt A valid, logged-in JWT. - * @param scope The logout sope. - */ - async signOut(jwt, scope = 'global') { - try { - await (0, fetch_1._request)(this.fetch, 'POST', `${this.url}/logout?scope=${scope}`, { - headers: this.headers, - jwt, - noResolveJson: true, - }); - return { data: null, error: null }; - } - catch (error) { - if ((0, errors_1.isAuthError)(error)) { - return { data: null, error }; - } - throw error; - } - } - /** - * Sends an invite link to an email address. - * @param email The email address of the user. - * @param options Additional options to be included when inviting. - */ - async inviteUserByEmail(email, options = {}) { - try { - return await (0, fetch_1._request)(this.fetch, 'POST', `${this.url}/invite`, { - body: { email, data: options.data }, - headers: this.headers, - redirectTo: options.redirectTo, - xform: fetch_1._userResponse, - }); - } - catch (error) { - if ((0, errors_1.isAuthError)(error)) { - return { data: { user: null }, error }; - } - throw error; - } - } - /** - * Generates email links and OTPs to be sent via a custom email provider. - * @param email The user's email. - * @param options.password User password. For signup only. - * @param options.data Optional user metadata. For signup only. - * @param options.redirectTo The redirect url which should be appended to the generated link - */ - async generateLink(params) { - try { - const { options } = params, rest = __rest(params, ["options"]); - const body = Object.assign(Object.assign({}, rest), options); - if ('newEmail' in rest) { - // replace newEmail with new_email in request body - body.new_email = rest === null || rest === void 0 ? void 0 : rest.newEmail; - delete body['newEmail']; - } - return await (0, fetch_1._request)(this.fetch, 'POST', `${this.url}/admin/generate_link`, { - body: body, - headers: this.headers, - xform: fetch_1._generateLinkResponse, - redirectTo: options === null || options === void 0 ? void 0 : options.redirectTo, - }); - } - catch (error) { - if ((0, errors_1.isAuthError)(error)) { - return { - data: { - properties: null, - user: null, - }, - error, - }; - } - throw error; - } - } - // User Admin API - /** - * Creates a new user. - * This function should only be called on a server. Never expose your `service_role` key in the browser. - */ - async createUser(attributes) { - try { - return await (0, fetch_1._request)(this.fetch, 'POST', `${this.url}/admin/users`, { - body: attributes, - headers: this.headers, - xform: fetch_1._userResponse, - }); - } - catch (error) { - if ((0, errors_1.isAuthError)(error)) { - return { data: { user: null }, error }; - } - throw error; - } - } - /** - * Get a list of users. - * - * This function should only be called on a server. Never expose your `service_role` key in the browser. - * @param params An object which supports `page` and `perPage` as numbers, to alter the paginated results. - */ - async listUsers(params) { - var _a, _b, _c, _d, _e, _f, _g; - try { - const pagination = { nextPage: null, lastPage: 0, total: 0 }; - const response = await (0, fetch_1._request)(this.fetch, 'GET', `${this.url}/admin/users`, { - headers: this.headers, - noResolveJson: true, - query: { - page: (_b = (_a = params === null || params === void 0 ? void 0 : params.page) === null || _a === void 0 ? void 0 : _a.toString()) !== null && _b !== void 0 ? _b : '', - per_page: (_d = (_c = params === null || params === void 0 ? void 0 : params.perPage) === null || _c === void 0 ? void 0 : _c.toString()) !== null && _d !== void 0 ? _d : '', - }, - xform: fetch_1._noResolveJsonResponse, - }); - if (response.error) - throw response.error; - const users = await response.json(); - const total = (_e = response.headers.get('x-total-count')) !== null && _e !== void 0 ? _e : 0; - const links = (_g = (_f = response.headers.get('link')) === null || _f === void 0 ? void 0 : _f.split(',')) !== null && _g !== void 0 ? _g : []; - if (links.length > 0) { - links.forEach((link) => { - const page = parseInt(link.split(';')[0].split('=')[1].substring(0, 1)); - const rel = JSON.parse(link.split(';')[1].split('=')[1]); - pagination[`${rel}Page`] = page; - }); - pagination.total = parseInt(total); - } - return { data: Object.assign(Object.assign({}, users), pagination), error: null }; - } - catch (error) { - if ((0, errors_1.isAuthError)(error)) { - return { data: { users: [] }, error }; - } - throw error; - } - } - /** - * Get user by id. - * - * @param uid The user's unique identifier - * - * This function should only be called on a server. Never expose your `service_role` key in the browser. - */ - async getUserById(uid) { - try { - return await (0, fetch_1._request)(this.fetch, 'GET', `${this.url}/admin/users/${uid}`, { - headers: this.headers, - xform: fetch_1._userResponse, - }); - } - catch (error) { - if ((0, errors_1.isAuthError)(error)) { - return { data: { user: null }, error }; - } - throw error; - } - } - /** - * Updates the user data. - * - * @param attributes The data you want to update. - * - * This function should only be called on a server. Never expose your `service_role` key in the browser. - */ - async updateUserById(uid, attributes) { - try { - return await (0, fetch_1._request)(this.fetch, 'PUT', `${this.url}/admin/users/${uid}`, { - body: attributes, - headers: this.headers, - xform: fetch_1._userResponse, - }); - } - catch (error) { - if ((0, errors_1.isAuthError)(error)) { - return { data: { user: null }, error }; - } - throw error; - } - } - /** - * Delete a user. Requires a `service_role` key. - * - * @param id The user id you want to remove. - * @param shouldSoftDelete If true, then the user will be soft-deleted (setting `deleted_at` to the current timestamp and disabling their account while preserving their data) from the auth schema. - * Defaults to false for backward compatibility. - * - * This function should only be called on a server. Never expose your `service_role` key in the browser. - */ - async deleteUser(id, shouldSoftDelete = false) { - try { - return await (0, fetch_1._request)(this.fetch, 'DELETE', `${this.url}/admin/users/${id}`, { - headers: this.headers, - body: { - should_soft_delete: shouldSoftDelete, - }, - xform: fetch_1._userResponse, - }); - } - catch (error) { - if ((0, errors_1.isAuthError)(error)) { - return { data: { user: null }, error }; - } - throw error; - } - } - async _listFactors(params) { - try { - const { data, error } = await (0, fetch_1._request)(this.fetch, 'GET', `${this.url}/admin/users/${params.userId}/factors`, { - headers: this.headers, - xform: (factors) => { - return { data: { factors }, error: null }; - }, - }); - return { data, error }; - } - catch (error) { - if ((0, errors_1.isAuthError)(error)) { - return { data: null, error }; - } - throw error; - } - } - async _deleteFactor(params) { - try { - const data = await (0, fetch_1._request)(this.fetch, 'DELETE', `${this.url}/admin/users/${params.userId}/factors/${params.id}`, { - headers: this.headers, - }); - return { data, error: null }; - } - catch (error) { - if ((0, errors_1.isAuthError)(error)) { - return { data: null, error }; - } - throw error; - } - } -} -exports["default"] = GoTrueAdminApi; -//# sourceMappingURL=GoTrueAdminApi.js.map - -/***/ }), - -/***/ 82334: -/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) { - - -var __importDefault = (this && this.__importDefault) || function (mod) { - return (mod && mod.__esModule) ? mod : { "default": mod }; -}; -Object.defineProperty(exports, "__esModule", ({ value: true })); -const GoTrueAdminApi_1 = __importDefault(__nccwpck_require__(66164)); -const constants_1 = __nccwpck_require__(17626); -const errors_1 = __nccwpck_require__(528); -const fetch_1 = __nccwpck_require__(12587); -const helpers_1 = __nccwpck_require__(6614); -const local_storage_1 = __nccwpck_require__(80728); -const polyfills_1 = __nccwpck_require__(49363); -const version_1 = __nccwpck_require__(96999); -const locks_1 = __nccwpck_require__(66935); -(0, polyfills_1.polyfillGlobalThis)(); // Make "globalThis" available -const DEFAULT_OPTIONS = { - url: constants_1.GOTRUE_URL, - storageKey: constants_1.STORAGE_KEY, - autoRefreshToken: true, - persistSession: true, - detectSessionInUrl: true, - headers: constants_1.DEFAULT_HEADERS, - flowType: 'implicit', - debug: false, -}; -/** Current session will be checked for refresh at this interval. */ -const AUTO_REFRESH_TICK_DURATION = 30 * 1000; -/** - * A token refresh will be attempted this many ticks before the current session expires. */ -const AUTO_REFRESH_TICK_THRESHOLD = 3; -async function lockNoOp(name, acquireTimeout, fn) { - return await fn(); -} -class GoTrueClient { - /** - * Create a new client for use in the browser. - */ - constructor(options) { - var _a, _b; - this.memoryStorage = null; - this.stateChangeEmitters = new Map(); - this.autoRefreshTicker = null; - this.visibilityChangedCallback = null; - this.refreshingDeferred = null; - /** - * Keeps track of the async client initialization. - * When null or not yet resolved the auth state is `unknown` - * Once resolved the the auth state is known and it's save to call any further client methods. - * Keep extra care to never reject or throw uncaught errors - */ - this.initializePromise = null; - this.detectSessionInUrl = true; - this.lockAcquired = false; - this.pendingInLock = []; - /** - * Used to broadcast state change events to other tabs listening. - */ - this.broadcastChannel = null; - this.logger = console.log; - this.insecureGetSessionWarningShown = false; - this.instanceID = GoTrueClient.nextInstanceID; - GoTrueClient.nextInstanceID += 1; - if (this.instanceID > 0 && (0, helpers_1.isBrowser)()) { - console.warn('Multiple GoTrueClient instances detected in the same browser context. It is not an error, but this should be avoided as it may produce undefined behavior when used concurrently under the same storage key.'); - } - const settings = Object.assign(Object.assign({}, DEFAULT_OPTIONS), options); - this.logDebugMessages = !!settings.debug; - if (typeof settings.debug === 'function') { - this.logger = settings.debug; - } - this.persistSession = settings.persistSession; - this.storageKey = settings.storageKey; - this.autoRefreshToken = settings.autoRefreshToken; - this.admin = new GoTrueAdminApi_1.default({ - url: settings.url, - headers: settings.headers, - fetch: settings.fetch, - }); - this.url = settings.url; - this.headers = settings.headers; - this.fetch = (0, helpers_1.resolveFetch)(settings.fetch); - this.lock = settings.lock || lockNoOp; - this.detectSessionInUrl = settings.detectSessionInUrl; - this.flowType = settings.flowType; - if (settings.lock) { - this.lock = settings.lock; - } - else if ((0, helpers_1.isBrowser)() && ((_a = globalThis === null || globalThis === void 0 ? void 0 : globalThis.navigator) === null || _a === void 0 ? void 0 : _a.locks)) { - this.lock = locks_1.navigatorLock; - } - else { - this.lock = lockNoOp; - } - this.mfa = { - verify: this._verify.bind(this), - enroll: this._enroll.bind(this), - unenroll: this._unenroll.bind(this), - challenge: this._challenge.bind(this), - listFactors: this._listFactors.bind(this), - challengeAndVerify: this._challengeAndVerify.bind(this), - getAuthenticatorAssuranceLevel: this._getAuthenticatorAssuranceLevel.bind(this), - }; - if (this.persistSession) { - if (settings.storage) { - this.storage = settings.storage; - } - else { - if ((0, helpers_1.supportsLocalStorage)()) { - this.storage = local_storage_1.localStorageAdapter; - } - else { - this.memoryStorage = {}; - this.storage = (0, local_storage_1.memoryLocalStorageAdapter)(this.memoryStorage); - } - } - } - else { - this.memoryStorage = {}; - this.storage = (0, local_storage_1.memoryLocalStorageAdapter)(this.memoryStorage); - } - if ((0, helpers_1.isBrowser)() && globalThis.BroadcastChannel && this.persistSession && this.storageKey) { - try { - this.broadcastChannel = new globalThis.BroadcastChannel(this.storageKey); - } - catch (e) { - console.error('Failed to create a new BroadcastChannel, multi-tab state changes will not be available', e); - } - (_b = this.broadcastChannel) === null || _b === void 0 ? void 0 : _b.addEventListener('message', async (event) => { - this._debug('received broadcast notification from other tab or client', event); - await this._notifyAllSubscribers(event.data.event, event.data.session, false); // broadcast = false so we don't get an endless loop of messages - }); - } - this.initialize(); - } - _debug(...args) { - if (this.logDebugMessages) { - this.logger(`GoTrueClient@${this.instanceID} (${version_1.version}) ${new Date().toISOString()}`, ...args); - } - return this; - } - /** - * Initializes the client session either from the url or from storage. - * This method is automatically called when instantiating the client, but should also be called - * manually when checking for an error from an auth redirect (oauth, magiclink, password recovery, etc). - */ - async initialize() { - if (this.initializePromise) { - return await this.initializePromise; - } - this.initializePromise = (async () => { - return await this._acquireLock(-1, async () => { - return await this._initialize(); - }); - })(); - return await this.initializePromise; - } - /** - * IMPORTANT: - * 1. Never throw in this method, as it is called from the constructor - * 2. Never return a session from this method as it would be cached over - * the whole lifetime of the client - */ - async _initialize() { - try { - const isPKCEFlow = (0, helpers_1.isBrowser)() ? await this._isPKCEFlow() : false; - this._debug('#_initialize()', 'begin', 'is PKCE flow', isPKCEFlow); - if (isPKCEFlow || (this.detectSessionInUrl && this._isImplicitGrantFlow())) { - const { data, error } = await this._getSessionFromURL(isPKCEFlow); - if (error) { - this._debug('#_initialize()', 'error detecting session from URL', error); - // hacky workaround to keep the existing session if there's an error returned from identity linking - // TODO: once error codes are ready, we should match against it instead of the message - if ((error === null || error === void 0 ? void 0 : error.message) === 'Identity is already linked' || - (error === null || error === void 0 ? void 0 : error.message) === 'Identity is already linked to another user') { - return { error }; - } - // failed login attempt via url, - // remove old session as in verifyOtp, signUp and signInWith* - await this._removeSession(); - return { error }; - } - const { session, redirectType } = data; - this._debug('#_initialize()', 'detected session in URL', session, 'redirect type', redirectType); - await this._saveSession(session); - setTimeout(async () => { - if (redirectType === 'recovery') { - await this._notifyAllSubscribers('PASSWORD_RECOVERY', session); - } - else { - await this._notifyAllSubscribers('SIGNED_IN', session); - } - }, 0); - return { error: null }; - } - // no login attempt via callback url try to recover session from storage - await this._recoverAndRefresh(); - return { error: null }; - } - catch (error) { - if ((0, errors_1.isAuthError)(error)) { - return { error }; - } - return { - error: new errors_1.AuthUnknownError('Unexpected error during initialization', error), - }; - } - finally { - await this._handleVisibilityChange(); - this._debug('#_initialize()', 'end'); - } - } - /** - * Creates a new anonymous user. - * - * @returns A session where the is_anonymous claim in the access token JWT set to true - */ - async signInAnonymously(credentials) { - var _a, _b, _c; - try { - await this._removeSession(); - const res = await (0, fetch_1._request)(this.fetch, 'POST', `${this.url}/signup`, { - headers: this.headers, - body: { - data: (_b = (_a = credentials === null || credentials === void 0 ? void 0 : credentials.options) === null || _a === void 0 ? void 0 : _a.data) !== null && _b !== void 0 ? _b : {}, - gotrue_meta_security: { captcha_token: (_c = credentials === null || credentials === void 0 ? void 0 : credentials.options) === null || _c === void 0 ? void 0 : _c.captchaToken }, - }, - xform: fetch_1._sessionResponse, - }); - const { data, error } = res; - if (error || !data) { - return { data: { user: null, session: null }, error: error }; - } - const session = data.session; - const user = data.user; - if (data.session) { - await this._saveSession(data.session); - await this._notifyAllSubscribers('SIGNED_IN', session); - } - return { data: { user, session }, error: null }; - } - catch (error) { - if ((0, errors_1.isAuthError)(error)) { - return { data: { user: null, session: null }, error }; - } - throw error; - } - } - /** - * Creates a new user. - * - * Be aware that if a user account exists in the system you may get back an - * error message that attempts to hide this information from the user. - * This method has support for PKCE via email signups. The PKCE flow cannot be used when autoconfirm is enabled. - * - * @returns A logged-in session if the server has "autoconfirm" ON - * @returns A user if the server has "autoconfirm" OFF - */ - async signUp(credentials) { - var _a, _b, _c; - try { - await this._removeSession(); - let res; - if ('email' in credentials) { - const { email, password, options } = credentials; - let codeChallenge = null; - let codeChallengeMethod = null; - if (this.flowType === 'pkce') { - ; - [codeChallenge, codeChallengeMethod] = await (0, helpers_1.getCodeChallengeAndMethod)(this.storage, this.storageKey); - } - res = await (0, fetch_1._request)(this.fetch, 'POST', `${this.url}/signup`, { - headers: this.headers, - redirectTo: options === null || options === void 0 ? void 0 : options.emailRedirectTo, - body: { - email, - password, - data: (_a = options === null || options === void 0 ? void 0 : options.data) !== null && _a !== void 0 ? _a : {}, - gotrue_meta_security: { captcha_token: options === null || options === void 0 ? void 0 : options.captchaToken }, - code_challenge: codeChallenge, - code_challenge_method: codeChallengeMethod, - }, - xform: fetch_1._sessionResponse, - }); - } - else if ('phone' in credentials) { - const { phone, password, options } = credentials; - res = await (0, fetch_1._request)(this.fetch, 'POST', `${this.url}/signup`, { - headers: this.headers, - body: { - phone, - password, - data: (_b = options === null || options === void 0 ? void 0 : options.data) !== null && _b !== void 0 ? _b : {}, - channel: (_c = options === null || options === void 0 ? void 0 : options.channel) !== null && _c !== void 0 ? _c : 'sms', - gotrue_meta_security: { captcha_token: options === null || options === void 0 ? void 0 : options.captchaToken }, - }, - xform: fetch_1._sessionResponse, - }); - } - else { - throw new errors_1.AuthInvalidCredentialsError('You must provide either an email or phone number and a password'); - } - const { data, error } = res; - if (error || !data) { - return { data: { user: null, session: null }, error: error }; - } - const session = data.session; - const user = data.user; - if (data.session) { - await this._saveSession(data.session); - await this._notifyAllSubscribers('SIGNED_IN', session); - } - return { data: { user, session }, error: null }; - } - catch (error) { - if ((0, errors_1.isAuthError)(error)) { - return { data: { user: null, session: null }, error }; - } - throw error; - } - } - /** - * Log in an existing user with an email and password or phone and password. - * - * Be aware that you may get back an error message that will not distinguish - * between the cases where the account does not exist or that the - * email/phone and password combination is wrong or that the account can only - * be accessed via social login. - */ - async signInWithPassword(credentials) { - try { - await this._removeSession(); - let res; - if ('email' in credentials) { - const { email, password, options } = credentials; - res = await (0, fetch_1._request)(this.fetch, 'POST', `${this.url}/token?grant_type=password`, { - headers: this.headers, - body: { - email, - password, - gotrue_meta_security: { captcha_token: options === null || options === void 0 ? void 0 : options.captchaToken }, - }, - xform: fetch_1._sessionResponsePassword, - }); - } - else if ('phone' in credentials) { - const { phone, password, options } = credentials; - res = await (0, fetch_1._request)(this.fetch, 'POST', `${this.url}/token?grant_type=password`, { - headers: this.headers, - body: { - phone, - password, - gotrue_meta_security: { captcha_token: options === null || options === void 0 ? void 0 : options.captchaToken }, - }, - xform: fetch_1._sessionResponsePassword, - }); - } - else { - throw new errors_1.AuthInvalidCredentialsError('You must provide either an email or phone number and a password'); - } - const { data, error } = res; - if (error) { - return { data: { user: null, session: null }, error }; - } - else if (!data || !data.session || !data.user) { - return { data: { user: null, session: null }, error: new errors_1.AuthInvalidTokenResponseError() }; - } - if (data.session) { - await this._saveSession(data.session); - await this._notifyAllSubscribers('SIGNED_IN', data.session); - } - return { - data: Object.assign({ user: data.user, session: data.session }, (data.weak_password ? { weakPassword: data.weak_password } : null)), - error, - }; - } - catch (error) { - if ((0, errors_1.isAuthError)(error)) { - return { data: { user: null, session: null }, error }; - } - throw error; - } - } - /** - * Log in an existing user via a third-party provider. - * This method supports the PKCE flow. - */ - async signInWithOAuth(credentials) { - var _a, _b, _c, _d; - await this._removeSession(); - return await this._handleProviderSignIn(credentials.provider, { - redirectTo: (_a = credentials.options) === null || _a === void 0 ? void 0 : _a.redirectTo, - scopes: (_b = credentials.options) === null || _b === void 0 ? void 0 : _b.scopes, - queryParams: (_c = credentials.options) === null || _c === void 0 ? void 0 : _c.queryParams, - skipBrowserRedirect: (_d = credentials.options) === null || _d === void 0 ? void 0 : _d.skipBrowserRedirect, - }); - } - /** - * Log in an existing user by exchanging an Auth Code issued during the PKCE flow. - */ - async exchangeCodeForSession(authCode) { - await this.initializePromise; - return this._acquireLock(-1, async () => { - return this._exchangeCodeForSession(authCode); - }); - } - async _exchangeCodeForSession(authCode) { - const storageItem = await (0, helpers_1.getItemAsync)(this.storage, `${this.storageKey}-code-verifier`); - const [codeVerifier, redirectType] = (storageItem !== null && storageItem !== void 0 ? storageItem : '').split('/'); - const { data, error } = await (0, fetch_1._request)(this.fetch, 'POST', `${this.url}/token?grant_type=pkce`, { - headers: this.headers, - body: { - auth_code: authCode, - code_verifier: codeVerifier, - }, - xform: fetch_1._sessionResponse, - }); - await (0, helpers_1.removeItemAsync)(this.storage, `${this.storageKey}-code-verifier`); - if (error) { - return { data: { user: null, session: null, redirectType: null }, error }; - } - else if (!data || !data.session || !data.user) { - return { - data: { user: null, session: null, redirectType: null }, - error: new errors_1.AuthInvalidTokenResponseError(), - }; - } - if (data.session) { - await this._saveSession(data.session); - await this._notifyAllSubscribers('SIGNED_IN', data.session); - } - return { data: Object.assign(Object.assign({}, data), { redirectType: redirectType !== null && redirectType !== void 0 ? redirectType : null }), error }; - } - /** - * Allows signing in with an OIDC ID token. The authentication provider used - * should be enabled and configured. - */ - async signInWithIdToken(credentials) { - await this._removeSession(); - try { - const { options, provider, token, access_token, nonce } = credentials; - const res = await (0, fetch_1._request)(this.fetch, 'POST', `${this.url}/token?grant_type=id_token`, { - headers: this.headers, - body: { - provider, - id_token: token, - access_token, - nonce, - gotrue_meta_security: { captcha_token: options === null || options === void 0 ? void 0 : options.captchaToken }, - }, - xform: fetch_1._sessionResponse, - }); - const { data, error } = res; - if (error) { - return { data: { user: null, session: null }, error }; - } - else if (!data || !data.session || !data.user) { - return { - data: { user: null, session: null }, - error: new errors_1.AuthInvalidTokenResponseError(), - }; - } - if (data.session) { - await this._saveSession(data.session); - await this._notifyAllSubscribers('SIGNED_IN', data.session); - } - return { data, error }; - } - catch (error) { - if ((0, errors_1.isAuthError)(error)) { - return { data: { user: null, session: null }, error }; - } - throw error; - } - } - /** - * Log in a user using magiclink or a one-time password (OTP). - * - * If the `{{ .ConfirmationURL }}` variable is specified in the email template, a magiclink will be sent. - * If the `{{ .Token }}` variable is specified in the email template, an OTP will be sent. - * If you're using phone sign-ins, only an OTP will be sent. You won't be able to send a magiclink for phone sign-ins. - * - * Be aware that you may get back an error message that will not distinguish - * between the cases where the account does not exist or, that the account - * can only be accessed via social login. - * - * Do note that you will need to configure a Whatsapp sender on Twilio - * if you are using phone sign in with the 'whatsapp' channel. The whatsapp - * channel is not supported on other providers - * at this time. - * This method supports PKCE when an email is passed. - */ - async signInWithOtp(credentials) { - var _a, _b, _c, _d, _e; - try { - await this._removeSession(); - if ('email' in credentials) { - const { email, options } = credentials; - let codeChallenge = null; - let codeChallengeMethod = null; - if (this.flowType === 'pkce') { - ; - [codeChallenge, codeChallengeMethod] = await (0, helpers_1.getCodeChallengeAndMethod)(this.storage, this.storageKey); - } - const { error } = await (0, fetch_1._request)(this.fetch, 'POST', `${this.url}/otp`, { - headers: this.headers, - body: { - email, - data: (_a = options === null || options === void 0 ? void 0 : options.data) !== null && _a !== void 0 ? _a : {}, - create_user: (_b = options === null || options === void 0 ? void 0 : options.shouldCreateUser) !== null && _b !== void 0 ? _b : true, - gotrue_meta_security: { captcha_token: options === null || options === void 0 ? void 0 : options.captchaToken }, - code_challenge: codeChallenge, - code_challenge_method: codeChallengeMethod, - }, - redirectTo: options === null || options === void 0 ? void 0 : options.emailRedirectTo, - }); - return { data: { user: null, session: null }, error }; - } - if ('phone' in credentials) { - const { phone, options } = credentials; - const { data, error } = await (0, fetch_1._request)(this.fetch, 'POST', `${this.url}/otp`, { - headers: this.headers, - body: { - phone, - data: (_c = options === null || options === void 0 ? void 0 : options.data) !== null && _c !== void 0 ? _c : {}, - create_user: (_d = options === null || options === void 0 ? void 0 : options.shouldCreateUser) !== null && _d !== void 0 ? _d : true, - gotrue_meta_security: { captcha_token: options === null || options === void 0 ? void 0 : options.captchaToken }, - channel: (_e = options === null || options === void 0 ? void 0 : options.channel) !== null && _e !== void 0 ? _e : 'sms', - }, - }); - return { data: { user: null, session: null, messageId: data === null || data === void 0 ? void 0 : data.message_id }, error }; - } - throw new errors_1.AuthInvalidCredentialsError('You must provide either an email or phone number.'); - } - catch (error) { - if ((0, errors_1.isAuthError)(error)) { - return { data: { user: null, session: null }, error }; - } - throw error; - } - } - /** - * Log in a user given a User supplied OTP or TokenHash received through mobile or email. - */ - async verifyOtp(params) { - var _a, _b; - try { - if (params.type !== 'email_change' && params.type !== 'phone_change') { - // we don't want to remove the authenticated session if the user is performing an email_change or phone_change verification - await this._removeSession(); - } - let redirectTo = undefined; - let captchaToken = undefined; - if ('options' in params) { - redirectTo = (_a = params.options) === null || _a === void 0 ? void 0 : _a.redirectTo; - captchaToken = (_b = params.options) === null || _b === void 0 ? void 0 : _b.captchaToken; - } - const { data, error } = await (0, fetch_1._request)(this.fetch, 'POST', `${this.url}/verify`, { - headers: this.headers, - body: Object.assign(Object.assign({}, params), { gotrue_meta_security: { captcha_token: captchaToken } }), - redirectTo, - xform: fetch_1._sessionResponse, - }); - if (error) { - throw error; - } - if (!data) { - throw new Error('An error occurred on token verification.'); - } - const session = data.session; - const user = data.user; - if (session === null || session === void 0 ? void 0 : session.access_token) { - await this._saveSession(session); - await this._notifyAllSubscribers(params.type == 'recovery' ? 'PASSWORD_RECOVERY' : 'SIGNED_IN', session); - } - return { data: { user, session }, error: null }; - } - catch (error) { - if ((0, errors_1.isAuthError)(error)) { - return { data: { user: null, session: null }, error }; - } - throw error; - } - } - /** - * Attempts a single-sign on using an enterprise Identity Provider. A - * successful SSO attempt will redirect the current page to the identity - * provider authorization page. The redirect URL is implementation and SSO - * protocol specific. - * - * You can use it by providing a SSO domain. Typically you can extract this - * domain by asking users for their email address. If this domain is - * registered on the Auth instance the redirect will use that organization's - * currently active SSO Identity Provider for the login. - * - * If you have built an organization-specific login page, you can use the - * organization's SSO Identity Provider UUID directly instead. - */ - async signInWithSSO(params) { - var _a, _b, _c; - try { - await this._removeSession(); - let codeChallenge = null; - let codeChallengeMethod = null; - if (this.flowType === 'pkce') { - ; - [codeChallenge, codeChallengeMethod] = await (0, helpers_1.getCodeChallengeAndMethod)(this.storage, this.storageKey); - } - return await (0, fetch_1._request)(this.fetch, 'POST', `${this.url}/sso`, { - body: Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, ('providerId' in params ? { provider_id: params.providerId } : null)), ('domain' in params ? { domain: params.domain } : null)), { redirect_to: (_b = (_a = params.options) === null || _a === void 0 ? void 0 : _a.redirectTo) !== null && _b !== void 0 ? _b : undefined }), (((_c = params === null || params === void 0 ? void 0 : params.options) === null || _c === void 0 ? void 0 : _c.captchaToken) - ? { gotrue_meta_security: { captcha_token: params.options.captchaToken } } - : null)), { skip_http_redirect: true, code_challenge: codeChallenge, code_challenge_method: codeChallengeMethod }), - headers: this.headers, - xform: fetch_1._ssoResponse, - }); - } - catch (error) { - if ((0, errors_1.isAuthError)(error)) { - return { data: null, error }; - } - throw error; - } - } - /** - * Sends a reauthentication OTP to the user's email or phone number. - * Requires the user to be signed-in. - */ - async reauthenticate() { - await this.initializePromise; - return await this._acquireLock(-1, async () => { - return await this._reauthenticate(); - }); - } - async _reauthenticate() { - try { - return await this._useSession(async (result) => { - const { data: { session }, error: sessionError, } = result; - if (sessionError) - throw sessionError; - if (!session) - throw new errors_1.AuthSessionMissingError(); - const { error } = await (0, fetch_1._request)(this.fetch, 'GET', `${this.url}/reauthenticate`, { - headers: this.headers, - jwt: session.access_token, - }); - return { data: { user: null, session: null }, error }; - }); - } - catch (error) { - if ((0, errors_1.isAuthError)(error)) { - return { data: { user: null, session: null }, error }; - } - throw error; - } - } - /** - * Resends an existing signup confirmation email, email change email, SMS OTP or phone change OTP. - */ - async resend(credentials) { - try { - if (credentials.type != 'email_change' && credentials.type != 'phone_change') { - await this._removeSession(); - } - const endpoint = `${this.url}/resend`; - if ('email' in credentials) { - const { email, type, options } = credentials; - const { error } = await (0, fetch_1._request)(this.fetch, 'POST', endpoint, { - headers: this.headers, - body: { - email, - type, - gotrue_meta_security: { captcha_token: options === null || options === void 0 ? void 0 : options.captchaToken }, - }, - redirectTo: options === null || options === void 0 ? void 0 : options.emailRedirectTo, - }); - return { data: { user: null, session: null }, error }; - } - else if ('phone' in credentials) { - const { phone, type, options } = credentials; - const { data, error } = await (0, fetch_1._request)(this.fetch, 'POST', endpoint, { - headers: this.headers, - body: { - phone, - type, - gotrue_meta_security: { captcha_token: options === null || options === void 0 ? void 0 : options.captchaToken }, - }, - }); - return { data: { user: null, session: null, messageId: data === null || data === void 0 ? void 0 : data.message_id }, error }; - } - throw new errors_1.AuthInvalidCredentialsError('You must provide either an email or phone number and a type'); - } - catch (error) { - if ((0, errors_1.isAuthError)(error)) { - return { data: { user: null, session: null }, error }; - } - throw error; - } - } - /** - * Returns the session, refreshing it if necessary. - * - * The session returned can be null if the session is not detected which can happen in the event a user is not signed-in or has logged out. - * - * **IMPORTANT:** This method loads values directly from the storage attached - * to the client. If that storage is based on request cookies for example, - * the values in it may not be authentic and therefore it's strongly advised - * against using this method and its results in such circumstances. A warning - * will be emitted if this is detected. Use {@link #getUser()} instead. - */ - async getSession() { - await this.initializePromise; - const result = await this._acquireLock(-1, async () => { - return this._useSession(async (result) => { - return result; - }); - }); - if (result.data && this.storage.isServer) { - if (!this.insecureGetSessionWarningShown) { - console.warn('Using supabase.auth.getSession() is potentially insecure as it loads data directly from the storage medium (typically cookies) which may not be authentic. Prefer using supabase.auth.getUser() instead. To suppress this warning call supabase.auth.getUser() before you call supabase.auth.getSession().'); - this.insecureGetSessionWarningShown = true; - } - } - return result; - } - /** - * Acquires a global lock based on the storage key. - */ - async _acquireLock(acquireTimeout, fn) { - this._debug('#_acquireLock', 'begin', acquireTimeout); - try { - if (this.lockAcquired) { - const last = this.pendingInLock.length - ? this.pendingInLock[this.pendingInLock.length - 1] - : Promise.resolve(); - const result = (async () => { - await last; - return await fn(); - })(); - this.pendingInLock.push((async () => { - try { - await result; - } - catch (e) { - // we just care if it finished - } - })()); - return result; - } - return await this.lock(`lock:${this.storageKey}`, acquireTimeout, async () => { - this._debug('#_acquireLock', 'lock acquired for storage key', this.storageKey); - try { - this.lockAcquired = true; - const result = fn(); - this.pendingInLock.push((async () => { - try { - await result; - } - catch (e) { - // we just care if it finished - } - })()); - await result; - // keep draining the queue until there's nothing to wait on - while (this.pendingInLock.length) { - const waitOn = [...this.pendingInLock]; - await Promise.all(waitOn); - this.pendingInLock.splice(0, waitOn.length); - } - return await result; - } - finally { - this._debug('#_acquireLock', 'lock released for storage key', this.storageKey); - this.lockAcquired = false; - } - }); - } - finally { - this._debug('#_acquireLock', 'end'); - } - } - /** - * Use instead of {@link #getSession} inside the library. It is - * semantically usually what you want, as getting a session involves some - * processing afterwards that requires only one client operating on the - * session at once across multiple tabs or processes. - */ - async _useSession(fn) { - this._debug('#_useSession', 'begin'); - try { - // the use of __loadSession here is the only correct use of the function! - const result = await this.__loadSession(); - return await fn(result); - } - finally { - this._debug('#_useSession', 'end'); - } - } - /** - * NEVER USE DIRECTLY! - * - * Always use {@link #_useSession}. - */ - async __loadSession() { - this._debug('#__loadSession()', 'begin'); - if (!this.lockAcquired) { - this._debug('#__loadSession()', 'used outside of an acquired lock!', new Error().stack); - } - try { - let currentSession = null; - const maybeSession = await (0, helpers_1.getItemAsync)(this.storage, this.storageKey); - this._debug('#getSession()', 'session from storage', maybeSession); - if (maybeSession !== null) { - if (this._isValidSession(maybeSession)) { - currentSession = maybeSession; - } - else { - this._debug('#getSession()', 'session from storage is not valid'); - await this._removeSession(); - } - } - if (!currentSession) { - return { data: { session: null }, error: null }; - } - const hasExpired = currentSession.expires_at - ? currentSession.expires_at <= Date.now() / 1000 - : false; - this._debug('#__loadSession()', `session has${hasExpired ? '' : ' not'} expired`, 'expires_at', currentSession.expires_at); - if (!hasExpired) { - if (this.storage.isServer) { - let user = currentSession.user; - delete currentSession.user; - Object.defineProperty(currentSession, 'user', { - enumerable: true, - get: () => { - if (!currentSession.__suppressUserWarning) { - // do not suppress this warning if insecureGetSessionWarningShown is true, as the data is still not authenticated - console.warn('Using the user object as returned from supabase.auth.getSession() or from some supabase.auth.onAuthStateChange() events could be insecure! This value comes directly from the storage medium (usually cookies on the server) and many not be authentic. Use supabase.auth.getUser() instead which authenticates the data by contacting the Supabase Auth server.'); - } - return user; - }, - set: (value) => { - user = value; - }, - }); - } - return { data: { session: currentSession }, error: null }; - } - const { session, error } = await this._callRefreshToken(currentSession.refresh_token); - if (error) { - return { data: { session: null }, error }; - } - return { data: { session }, error: null }; - } - finally { - this._debug('#__loadSession()', 'end'); - } - } - /** - * Gets the current user details if there is an existing session. This method - * performs a network request to the Supabase Auth server, so the returned - * value is authentic and can be used to base authorization rules on. - * - * @param jwt Takes in an optional access token JWT. If no JWT is provided, the JWT from the current session is used. - */ - async getUser(jwt) { - if (jwt) { - return await this._getUser(jwt); - } - await this.initializePromise; - const result = await this._acquireLock(-1, async () => { - return await this._getUser(); - }); - if (result.data && this.storage.isServer) { - // no longer emit the insecure warning for getSession() as the access_token is now authenticated - this.insecureGetSessionWarningShown = true; - } - return result; - } - async _getUser(jwt) { - try { - if (jwt) { - return await (0, fetch_1._request)(this.fetch, 'GET', `${this.url}/user`, { - headers: this.headers, - jwt: jwt, - xform: fetch_1._userResponse, - }); - } - return await this._useSession(async (result) => { - var _a, _b; - const { data, error } = result; - if (error) { - throw error; - } - return await (0, fetch_1._request)(this.fetch, 'GET', `${this.url}/user`, { - headers: this.headers, - jwt: (_b = (_a = data.session) === null || _a === void 0 ? void 0 : _a.access_token) !== null && _b !== void 0 ? _b : undefined, - xform: fetch_1._userResponse, - }); - }); - } - catch (error) { - if ((0, errors_1.isAuthError)(error)) { - return { data: { user: null }, error }; - } - throw error; - } - } - /** - * Updates user data for a logged in user. - */ - async updateUser(attributes, options = {}) { - await this.initializePromise; - return await this._acquireLock(-1, async () => { - return await this._updateUser(attributes, options); - }); - } - async _updateUser(attributes, options = {}) { - try { - return await this._useSession(async (result) => { - const { data: sessionData, error: sessionError } = result; - if (sessionError) { - throw sessionError; - } - if (!sessionData.session) { - throw new errors_1.AuthSessionMissingError(); - } - const session = sessionData.session; - let codeChallenge = null; - let codeChallengeMethod = null; - if (this.flowType === 'pkce' && attributes.email != null) { - ; - [codeChallenge, codeChallengeMethod] = await (0, helpers_1.getCodeChallengeAndMethod)(this.storage, this.storageKey); - } - const { data, error: userError } = await (0, fetch_1._request)(this.fetch, 'PUT', `${this.url}/user`, { - headers: this.headers, - redirectTo: options === null || options === void 0 ? void 0 : options.emailRedirectTo, - body: Object.assign(Object.assign({}, attributes), { code_challenge: codeChallenge, code_challenge_method: codeChallengeMethod }), - jwt: session.access_token, - xform: fetch_1._userResponse, - }); - if (userError) - throw userError; - session.user = data.user; - await this._saveSession(session); - await this._notifyAllSubscribers('USER_UPDATED', session); - return { data: { user: session.user }, error: null }; - }); - } - catch (error) { - if ((0, errors_1.isAuthError)(error)) { - return { data: { user: null }, error }; - } - throw error; - } - } - /** - * Decodes a JWT (without performing any validation). - */ - _decodeJWT(jwt) { - return (0, helpers_1.decodeJWTPayload)(jwt); - } - /** - * Sets the session data from the current session. If the current session is expired, setSession will take care of refreshing it to obtain a new session. - * If the refresh token or access token in the current session is invalid, an error will be thrown. - * @param currentSession The current session that minimally contains an access token and refresh token. - */ - async setSession(currentSession) { - await this.initializePromise; - return await this._acquireLock(-1, async () => { - return await this._setSession(currentSession); - }); - } - async _setSession(currentSession) { - try { - if (!currentSession.access_token || !currentSession.refresh_token) { - throw new errors_1.AuthSessionMissingError(); - } - const timeNow = Date.now() / 1000; - let expiresAt = timeNow; - let hasExpired = true; - let session = null; - const payload = (0, helpers_1.decodeJWTPayload)(currentSession.access_token); - if (payload.exp) { - expiresAt = payload.exp; - hasExpired = expiresAt <= timeNow; - } - if (hasExpired) { - const { session: refreshedSession, error } = await this._callRefreshToken(currentSession.refresh_token); - if (error) { - return { data: { user: null, session: null }, error: error }; - } - if (!refreshedSession) { - return { data: { user: null, session: null }, error: null }; - } - session = refreshedSession; - } - else { - const { data, error } = await this._getUser(currentSession.access_token); - if (error) { - throw error; - } - session = { - access_token: currentSession.access_token, - refresh_token: currentSession.refresh_token, - user: data.user, - token_type: 'bearer', - expires_in: expiresAt - timeNow, - expires_at: expiresAt, - }; - await this._saveSession(session); - await this._notifyAllSubscribers('SIGNED_IN', session); - } - return { data: { user: session.user, session }, error: null }; - } - catch (error) { - if ((0, errors_1.isAuthError)(error)) { - return { data: { session: null, user: null }, error }; - } - throw error; - } - } - /** - * Returns a new session, regardless of expiry status. - * Takes in an optional current session. If not passed in, then refreshSession() will attempt to retrieve it from getSession(). - * If the current session's refresh token is invalid, an error will be thrown. - * @param currentSession The current session. If passed in, it must contain a refresh token. - */ - async refreshSession(currentSession) { - await this.initializePromise; - return await this._acquireLock(-1, async () => { - return await this._refreshSession(currentSession); - }); - } - async _refreshSession(currentSession) { - try { - return await this._useSession(async (result) => { - var _a; - if (!currentSession) { - const { data, error } = result; - if (error) { - throw error; - } - currentSession = (_a = data.session) !== null && _a !== void 0 ? _a : undefined; - } - if (!(currentSession === null || currentSession === void 0 ? void 0 : currentSession.refresh_token)) { - throw new errors_1.AuthSessionMissingError(); - } - const { session, error } = await this._callRefreshToken(currentSession.refresh_token); - if (error) { - return { data: { user: null, session: null }, error: error }; - } - if (!session) { - return { data: { user: null, session: null }, error: null }; - } - return { data: { user: session.user, session }, error: null }; - }); - } - catch (error) { - if ((0, errors_1.isAuthError)(error)) { - return { data: { user: null, session: null }, error }; - } - throw error; - } - } - /** - * Gets the session data from a URL string - */ - async _getSessionFromURL(isPKCEFlow) { - try { - if (!(0, helpers_1.isBrowser)()) - throw new errors_1.AuthImplicitGrantRedirectError('No browser detected.'); - if (this.flowType === 'implicit' && !this._isImplicitGrantFlow()) { - throw new errors_1.AuthImplicitGrantRedirectError('Not a valid implicit grant flow url.'); - } - else if (this.flowType == 'pkce' && !isPKCEFlow) { - throw new errors_1.AuthPKCEGrantCodeExchangeError('Not a valid PKCE flow url.'); - } - const params = (0, helpers_1.parseParametersFromURL)(window.location.href); - if (isPKCEFlow) { - if (!params.code) - throw new errors_1.AuthPKCEGrantCodeExchangeError('No code detected.'); - const { data, error } = await this._exchangeCodeForSession(params.code); - if (error) - throw error; - const url = new URL(window.location.href); - url.searchParams.delete('code'); - window.history.replaceState(window.history.state, '', url.toString()); - return { data: { session: data.session, redirectType: null }, error: null }; - } - if (params.error || params.error_description || params.error_code) { - throw new errors_1.AuthImplicitGrantRedirectError(params.error_description || 'Error in URL with unspecified error_description', { - error: params.error || 'unspecified_error', - code: params.error_code || 'unspecified_code', - }); - } - const { provider_token, provider_refresh_token, access_token, refresh_token, expires_in, expires_at, token_type, } = params; - if (!access_token || !expires_in || !refresh_token || !token_type) { - throw new errors_1.AuthImplicitGrantRedirectError('No session defined in URL'); - } - const timeNow = Math.round(Date.now() / 1000); - const expiresIn = parseInt(expires_in); - let expiresAt = timeNow + expiresIn; - if (expires_at) { - expiresAt = parseInt(expires_at); - } - const actuallyExpiresIn = expiresAt - timeNow; - if (actuallyExpiresIn * 1000 <= AUTO_REFRESH_TICK_DURATION) { - console.warn(`@supabase/gotrue-js: Session as retrieved from URL expires in ${actuallyExpiresIn}s, should have been closer to ${expiresIn}s`); - } - const issuedAt = expiresAt - expiresIn; - if (timeNow - issuedAt >= 120) { - console.warn('@supabase/gotrue-js: Session as retrieved from URL was issued over 120s ago, URL could be stale', issuedAt, expiresAt, timeNow); - } - else if (timeNow - issuedAt < 0) { - console.warn('@supabase/gotrue-js: Session as retrieved from URL was issued in the future? Check the device clok for skew', issuedAt, expiresAt, timeNow); - } - const { data, error } = await this._getUser(access_token); - if (error) - throw error; - const session = { - provider_token, - provider_refresh_token, - access_token, - expires_in: expiresIn, - expires_at: expiresAt, - refresh_token, - token_type, - user: data.user, - }; - // Remove tokens from URL - window.location.hash = ''; - this._debug('#_getSessionFromURL()', 'clearing window.location.hash'); - return { data: { session, redirectType: params.type }, error: null }; - } - catch (error) { - if ((0, errors_1.isAuthError)(error)) { - return { data: { session: null, redirectType: null }, error }; - } - throw error; - } - } - /** - * Checks if the current URL contains parameters given by an implicit oauth grant flow (https://www.rfc-editor.org/rfc/rfc6749.html#section-4.2) - */ - _isImplicitGrantFlow() { - const params = (0, helpers_1.parseParametersFromURL)(window.location.href); - return !!((0, helpers_1.isBrowser)() && (params.access_token || params.error_description)); - } - /** - * Checks if the current URL and backing storage contain parameters given by a PKCE flow - */ - async _isPKCEFlow() { - const params = (0, helpers_1.parseParametersFromURL)(window.location.href); - const currentStorageContent = await (0, helpers_1.getItemAsync)(this.storage, `${this.storageKey}-code-verifier`); - return !!(params.code && currentStorageContent); - } - /** - * Inside a browser context, `signOut()` will remove the logged in user from the browser session and log them out - removing all items from localstorage and then trigger a `"SIGNED_OUT"` event. - * - * For server-side management, you can revoke all refresh tokens for a user by passing a user's JWT through to `auth.api.signOut(JWT: string)`. - * There is no way to revoke a user's access token jwt until it expires. It is recommended to set a shorter expiry on the jwt for this reason. - * - * If using `others` scope, no `SIGNED_OUT` event is fired! - */ - async signOut(options = { scope: 'global' }) { - await this.initializePromise; - return await this._acquireLock(-1, async () => { - return await this._signOut(options); - }); - } - async _signOut({ scope } = { scope: 'global' }) { - return await this._useSession(async (result) => { - var _a; - const { data, error: sessionError } = result; - if (sessionError) { - return { error: sessionError }; - } - const accessToken = (_a = data.session) === null || _a === void 0 ? void 0 : _a.access_token; - if (accessToken) { - const { error } = await this.admin.signOut(accessToken, scope); - if (error) { - // ignore 404s since user might not exist anymore - // ignore 401s since an invalid or expired JWT should sign out the current session - if (!((0, errors_1.isAuthApiError)(error) && (error.status === 404 || error.status === 401))) { - return { error }; - } - } - } - if (scope !== 'others') { - await this._removeSession(); - await (0, helpers_1.removeItemAsync)(this.storage, `${this.storageKey}-code-verifier`); - await this._notifyAllSubscribers('SIGNED_OUT', null); - } - return { error: null }; - }); - } - /** - * Receive a notification every time an auth event happens. - * @param callback A callback function to be invoked when an auth event happens. - */ - onAuthStateChange(callback) { - const id = (0, helpers_1.uuid)(); - const subscription = { - id, - callback, - unsubscribe: () => { - this._debug('#unsubscribe()', 'state change callback with id removed', id); - this.stateChangeEmitters.delete(id); - }, - }; - this._debug('#onAuthStateChange()', 'registered callback with id', id); - this.stateChangeEmitters.set(id, subscription); - (async () => { - await this.initializePromise; - await this._acquireLock(-1, async () => { - this._emitInitialSession(id); - }); - })(); - return { data: { subscription } }; - } - async _emitInitialSession(id) { - return await this._useSession(async (result) => { - var _a, _b; - try { - const { data: { session }, error, } = result; - if (error) - throw error; - await ((_a = this.stateChangeEmitters.get(id)) === null || _a === void 0 ? void 0 : _a.callback('INITIAL_SESSION', session)); - this._debug('INITIAL_SESSION', 'callback id', id, 'session', session); - } - catch (err) { - await ((_b = this.stateChangeEmitters.get(id)) === null || _b === void 0 ? void 0 : _b.callback('INITIAL_SESSION', null)); - this._debug('INITIAL_SESSION', 'callback id', id, 'error', err); - console.error(err); - } - }); - } - /** - * Sends a password reset request to an email address. This method supports the PKCE flow. - * - * @param email The email address of the user. - * @param options.redirectTo The URL to send the user to after they click the password reset link. - * @param options.captchaToken Verification token received when the user completes the captcha on the site. - */ - async resetPasswordForEmail(email, options = {}) { - let codeChallenge = null; - let codeChallengeMethod = null; - if (this.flowType === 'pkce') { - ; - [codeChallenge, codeChallengeMethod] = await (0, helpers_1.getCodeChallengeAndMethod)(this.storage, this.storageKey, true // isPasswordRecovery - ); - } - try { - return await (0, fetch_1._request)(this.fetch, 'POST', `${this.url}/recover`, { - body: { - email, - code_challenge: codeChallenge, - code_challenge_method: codeChallengeMethod, - gotrue_meta_security: { captcha_token: options.captchaToken }, - }, - headers: this.headers, - redirectTo: options.redirectTo, - }); - } - catch (error) { - if ((0, errors_1.isAuthError)(error)) { - return { data: null, error }; - } - throw error; - } - } - /** - * Gets all the identities linked to a user. - */ - async getUserIdentities() { - var _a; - try { - const { data, error } = await this.getUser(); - if (error) - throw error; - return { data: { identities: (_a = data.user.identities) !== null && _a !== void 0 ? _a : [] }, error: null }; - } - catch (error) { - if ((0, errors_1.isAuthError)(error)) { - return { data: null, error }; - } - throw error; - } - } - /** - * Links an oauth identity to an existing user. - * This method supports the PKCE flow. - */ - async linkIdentity(credentials) { - var _a; - try { - const { data, error } = await this._useSession(async (result) => { - var _a, _b, _c, _d, _e; - const { data, error } = result; - if (error) - throw error; - const url = await this._getUrlForProvider(`${this.url}/user/identities/authorize`, credentials.provider, { - redirectTo: (_a = credentials.options) === null || _a === void 0 ? void 0 : _a.redirectTo, - scopes: (_b = credentials.options) === null || _b === void 0 ? void 0 : _b.scopes, - queryParams: (_c = credentials.options) === null || _c === void 0 ? void 0 : _c.queryParams, - skipBrowserRedirect: true, - }); - return await (0, fetch_1._request)(this.fetch, 'GET', url, { - headers: this.headers, - jwt: (_e = (_d = data.session) === null || _d === void 0 ? void 0 : _d.access_token) !== null && _e !== void 0 ? _e : undefined, - }); - }); - if (error) - throw error; - if ((0, helpers_1.isBrowser)() && !((_a = credentials.options) === null || _a === void 0 ? void 0 : _a.skipBrowserRedirect)) { - window.location.assign(data === null || data === void 0 ? void 0 : data.url); - } - return { data: { provider: credentials.provider, url: data === null || data === void 0 ? void 0 : data.url }, error: null }; - } - catch (error) { - if ((0, errors_1.isAuthError)(error)) { - return { data: { provider: credentials.provider, url: null }, error }; - } - throw error; - } - } - /** - * Unlinks an identity from a user by deleting it. The user will no longer be able to sign in with that identity once it's unlinked. - */ - async unlinkIdentity(identity) { - try { - return await this._useSession(async (result) => { - var _a, _b; - const { data, error } = result; - if (error) { - throw error; - } - return await (0, fetch_1._request)(this.fetch, 'DELETE', `${this.url}/user/identities/${identity.identity_id}`, { - headers: this.headers, - jwt: (_b = (_a = data.session) === null || _a === void 0 ? void 0 : _a.access_token) !== null && _b !== void 0 ? _b : undefined, - }); - }); - } - catch (error) { - if ((0, errors_1.isAuthError)(error)) { - return { data: null, error }; - } - throw error; - } - } - /** - * Generates a new JWT. - * @param refreshToken A valid refresh token that was returned on login. - */ - async _refreshAccessToken(refreshToken) { - const debugName = `#_refreshAccessToken(${refreshToken.substring(0, 5)}...)`; - this._debug(debugName, 'begin'); - try { - const startedAt = Date.now(); - // will attempt to refresh the token with exponential backoff - return await (0, helpers_1.retryable)(async (attempt) => { - await (0, helpers_1.sleep)(attempt * 200); // 0, 200, 400, 800, ... - this._debug(debugName, 'refreshing attempt', attempt); - return await (0, fetch_1._request)(this.fetch, 'POST', `${this.url}/token?grant_type=refresh_token`, { - body: { refresh_token: refreshToken }, - headers: this.headers, - xform: fetch_1._sessionResponse, - }); - }, (attempt, _, result) => result && - result.error && - (0, errors_1.isAuthRetryableFetchError)(result.error) && - // retryable only if the request can be sent before the backoff overflows the tick duration - Date.now() + (attempt + 1) * 200 - startedAt < AUTO_REFRESH_TICK_DURATION); - } - catch (error) { - this._debug(debugName, 'error', error); - if ((0, errors_1.isAuthError)(error)) { - return { data: { session: null, user: null }, error }; - } - throw error; - } - finally { - this._debug(debugName, 'end'); - } - } - _isValidSession(maybeSession) { - const isValidSession = typeof maybeSession === 'object' && - maybeSession !== null && - 'access_token' in maybeSession && - 'refresh_token' in maybeSession && - 'expires_at' in maybeSession; - return isValidSession; - } - async _handleProviderSignIn(provider, options) { - const url = await this._getUrlForProvider(`${this.url}/authorize`, provider, { - redirectTo: options.redirectTo, - scopes: options.scopes, - queryParams: options.queryParams, - }); - this._debug('#_handleProviderSignIn()', 'provider', provider, 'options', options, 'url', url); - // try to open on the browser - if ((0, helpers_1.isBrowser)() && !options.skipBrowserRedirect) { - window.location.assign(url); - } - return { data: { provider, url }, error: null }; - } - /** - * Recovers the session from LocalStorage and refreshes - * Note: this method is async to accommodate for AsyncStorage e.g. in React native. - */ - async _recoverAndRefresh() { - var _a; - const debugName = '#_recoverAndRefresh()'; - this._debug(debugName, 'begin'); - try { - const currentSession = await (0, helpers_1.getItemAsync)(this.storage, this.storageKey); - this._debug(debugName, 'session from storage', currentSession); - if (!this._isValidSession(currentSession)) { - this._debug(debugName, 'session is not valid'); - if (currentSession !== null) { - await this._removeSession(); - } - return; - } - const timeNow = Math.round(Date.now() / 1000); - const expiresWithMargin = ((_a = currentSession.expires_at) !== null && _a !== void 0 ? _a : Infinity) < timeNow + constants_1.EXPIRY_MARGIN; - this._debug(debugName, `session has${expiresWithMargin ? '' : ' not'} expired with margin of ${constants_1.EXPIRY_MARGIN}s`); - if (expiresWithMargin) { - if (this.autoRefreshToken && currentSession.refresh_token) { - const { error } = await this._callRefreshToken(currentSession.refresh_token); - if (error) { - console.error(error); - if (!(0, errors_1.isAuthRetryableFetchError)(error)) { - this._debug(debugName, 'refresh failed with a non-retryable error, removing the session', error); - await this._removeSession(); - } - } - } - } - else { - // no need to persist currentSession again, as we just loaded it from - // local storage; persisting it again may overwrite a value saved by - // another client with access to the same local storage - await this._notifyAllSubscribers('SIGNED_IN', currentSession); - } - } - catch (err) { - this._debug(debugName, 'error', err); - console.error(err); - return; - } - finally { - this._debug(debugName, 'end'); - } - } - async _callRefreshToken(refreshToken) { - var _a, _b; - if (!refreshToken) { - throw new errors_1.AuthSessionMissingError(); - } - // refreshing is already in progress - if (this.refreshingDeferred) { - return this.refreshingDeferred.promise; - } - const debugName = `#_callRefreshToken(${refreshToken.substring(0, 5)}...)`; - this._debug(debugName, 'begin'); - try { - this.refreshingDeferred = new helpers_1.Deferred(); - const { data, error } = await this._refreshAccessToken(refreshToken); - if (error) - throw error; - if (!data.session) - throw new errors_1.AuthSessionMissingError(); - await this._saveSession(data.session); - await this._notifyAllSubscribers('TOKEN_REFRESHED', data.session); - const result = { session: data.session, error: null }; - this.refreshingDeferred.resolve(result); - return result; - } - catch (error) { - this._debug(debugName, 'error', error); - if ((0, errors_1.isAuthError)(error)) { - const result = { session: null, error }; - if (!(0, errors_1.isAuthRetryableFetchError)(error)) { - await this._removeSession(); - await this._notifyAllSubscribers('SIGNED_OUT', null); - } - (_a = this.refreshingDeferred) === null || _a === void 0 ? void 0 : _a.resolve(result); - return result; - } - (_b = this.refreshingDeferred) === null || _b === void 0 ? void 0 : _b.reject(error); - throw error; - } - finally { - this.refreshingDeferred = null; - this._debug(debugName, 'end'); - } - } - async _notifyAllSubscribers(event, session, broadcast = true) { - const debugName = `#_notifyAllSubscribers(${event})`; - this._debug(debugName, 'begin', session, `broadcast = ${broadcast}`); - try { - if (this.broadcastChannel && broadcast) { - this.broadcastChannel.postMessage({ event, session }); - } - const errors = []; - const promises = Array.from(this.stateChangeEmitters.values()).map(async (x) => { - try { - await x.callback(event, session); - } - catch (e) { - errors.push(e); - } - }); - await Promise.all(promises); - if (errors.length > 0) { - for (let i = 0; i < errors.length; i += 1) { - console.error(errors[i]); - } - throw errors[0]; - } - } - finally { - this._debug(debugName, 'end'); - } - } - /** - * set currentSession and currentUser - * process to _startAutoRefreshToken if possible - */ - async _saveSession(session) { - this._debug('#_saveSession()', session); - await (0, helpers_1.setItemAsync)(this.storage, this.storageKey, session); - } - async _removeSession() { - this._debug('#_removeSession()'); - await (0, helpers_1.removeItemAsync)(this.storage, this.storageKey); - } - /** - * Removes any registered visibilitychange callback. - * - * {@see #startAutoRefresh} - * {@see #stopAutoRefresh} - */ - _removeVisibilityChangedCallback() { - this._debug('#_removeVisibilityChangedCallback()'); - const callback = this.visibilityChangedCallback; - this.visibilityChangedCallback = null; - try { - if (callback && (0, helpers_1.isBrowser)() && (window === null || window === void 0 ? void 0 : window.removeEventListener)) { - window.removeEventListener('visibilitychange', callback); - } - } - catch (e) { - console.error('removing visibilitychange callback failed', e); - } - } - /** - * This is the private implementation of {@link #startAutoRefresh}. Use this - * within the library. - */ - async _startAutoRefresh() { - await this._stopAutoRefresh(); - this._debug('#_startAutoRefresh()'); - const ticker = setInterval(() => this._autoRefreshTokenTick(), AUTO_REFRESH_TICK_DURATION); - this.autoRefreshTicker = ticker; - if (ticker && typeof ticker === 'object' && typeof ticker.unref === 'function') { - // ticker is a NodeJS Timeout object that has an `unref` method - // https://nodejs.org/api/timers.html#timeoutunref - // When auto refresh is used in NodeJS (like for testing) the - // `setInterval` is preventing the process from being marked as - // finished and tests run endlessly. This can be prevented by calling - // `unref()` on the returned object. - ticker.unref(); - // @ts-ignore - } - else if (typeof Deno !== 'undefined' && typeof Deno.unrefTimer === 'function') { - // similar like for NodeJS, but with the Deno API - // https://deno.land/api@latest?unstable&s=Deno.unrefTimer - // @ts-ignore - Deno.unrefTimer(ticker); - } - // run the tick immediately, but in the next pass of the event loop so that - // #_initialize can be allowed to complete without recursively waiting on - // itself - setTimeout(async () => { - await this.initializePromise; - await this._autoRefreshTokenTick(); - }, 0); - } - /** - * This is the private implementation of {@link #stopAutoRefresh}. Use this - * within the library. - */ - async _stopAutoRefresh() { - this._debug('#_stopAutoRefresh()'); - const ticker = this.autoRefreshTicker; - this.autoRefreshTicker = null; - if (ticker) { - clearInterval(ticker); - } - } - /** - * Starts an auto-refresh process in the background. The session is checked - * every few seconds. Close to the time of expiration a process is started to - * refresh the session. If refreshing fails it will be retried for as long as - * necessary. - * - * If you set the {@link GoTrueClientOptions#autoRefreshToken} you don't need - * to call this function, it will be called for you. - * - * On browsers the refresh process works only when the tab/window is in the - * foreground to conserve resources as well as prevent race conditions and - * flooding auth with requests. If you call this method any managed - * visibility change callback will be removed and you must manage visibility - * changes on your own. - * - * On non-browser platforms the refresh process works *continuously* in the - * background, which may not be desirable. You should hook into your - * platform's foreground indication mechanism and call these methods - * appropriately to conserve resources. - * - * {@see #stopAutoRefresh} - */ - async startAutoRefresh() { - this._removeVisibilityChangedCallback(); - await this._startAutoRefresh(); - } - /** - * Stops an active auto refresh process running in the background (if any). - * - * If you call this method any managed visibility change callback will be - * removed and you must manage visibility changes on your own. - * - * See {@link #startAutoRefresh} for more details. - */ - async stopAutoRefresh() { - this._removeVisibilityChangedCallback(); - await this._stopAutoRefresh(); - } - /** - * Runs the auto refresh token tick. - */ - async _autoRefreshTokenTick() { - this._debug('#_autoRefreshTokenTick()', 'begin'); - try { - await this._acquireLock(0, async () => { - try { - const now = Date.now(); - try { - return await this._useSession(async (result) => { - const { data: { session }, } = result; - if (!session || !session.refresh_token || !session.expires_at) { - this._debug('#_autoRefreshTokenTick()', 'no session'); - return; - } - // session will expire in this many ticks (or has already expired if <= 0) - const expiresInTicks = Math.floor((session.expires_at * 1000 - now) / AUTO_REFRESH_TICK_DURATION); - this._debug('#_autoRefreshTokenTick()', `access token expires in ${expiresInTicks} ticks, a tick lasts ${AUTO_REFRESH_TICK_DURATION}ms, refresh threshold is ${AUTO_REFRESH_TICK_THRESHOLD} ticks`); - if (expiresInTicks <= AUTO_REFRESH_TICK_THRESHOLD) { - await this._callRefreshToken(session.refresh_token); - } - }); - } - catch (e) { - console.error('Auto refresh tick failed with error. This is likely a transient error.', e); - } - } - finally { - this._debug('#_autoRefreshTokenTick()', 'end'); - } - }); - } - catch (e) { - if (e.isAcquireTimeout || e instanceof locks_1.LockAcquireTimeoutError) { - this._debug('auto refresh token tick lock not available'); - } - else { - throw e; - } - } - } - /** - * Registers callbacks on the browser / platform, which in-turn run - * algorithms when the browser window/tab are in foreground. On non-browser - * platforms it assumes always foreground. - */ - async _handleVisibilityChange() { - this._debug('#_handleVisibilityChange()'); - if (!(0, helpers_1.isBrowser)() || !(window === null || window === void 0 ? void 0 : window.addEventListener)) { - if (this.autoRefreshToken) { - // in non-browser environments the refresh token ticker runs always - this.startAutoRefresh(); - } - return false; - } - try { - this.visibilityChangedCallback = async () => await this._onVisibilityChanged(false); - window === null || window === void 0 ? void 0 : window.addEventListener('visibilitychange', this.visibilityChangedCallback); - // now immediately call the visbility changed callback to setup with the - // current visbility state - await this._onVisibilityChanged(true); // initial call - } - catch (error) { - console.error('_handleVisibilityChange', error); - } - } - /** - * Callback registered with `window.addEventListener('visibilitychange')`. - */ - async _onVisibilityChanged(calledFromInitialize) { - const methodName = `#_onVisibilityChanged(${calledFromInitialize})`; - this._debug(methodName, 'visibilityState', document.visibilityState); - if (document.visibilityState === 'visible') { - if (this.autoRefreshToken) { - // in browser environments the refresh token ticker runs only on focused tabs - // which prevents race conditions - this._startAutoRefresh(); - } - if (!calledFromInitialize) { - // called when the visibility has changed, i.e. the browser - // transitioned from hidden -> visible so we need to see if the session - // should be recovered immediately... but to do that we need to acquire - // the lock first asynchronously - await this.initializePromise; - await this._acquireLock(-1, async () => { - if (document.visibilityState !== 'visible') { - this._debug(methodName, 'acquired the lock to recover the session, but the browser visibilityState is no longer visible, aborting'); - // visibility has changed while waiting for the lock, abort - return; - } - // recover the session - await this._recoverAndRefresh(); - }); - } - } - else if (document.visibilityState === 'hidden') { - if (this.autoRefreshToken) { - this._stopAutoRefresh(); - } - } - } - /** - * Generates the relevant login URL for a third-party provider. - * @param options.redirectTo A URL or mobile address to send the user to after they are confirmed. - * @param options.scopes A space-separated list of scopes granted to the OAuth application. - * @param options.queryParams An object of key-value pairs containing query parameters granted to the OAuth application. - */ - async _getUrlForProvider(url, provider, options) { - const urlParams = [`provider=${encodeURIComponent(provider)}`]; - if (options === null || options === void 0 ? void 0 : options.redirectTo) { - urlParams.push(`redirect_to=${encodeURIComponent(options.redirectTo)}`); - } - if (options === null || options === void 0 ? void 0 : options.scopes) { - urlParams.push(`scopes=${encodeURIComponent(options.scopes)}`); - } - if (this.flowType === 'pkce') { - const [codeChallenge, codeChallengeMethod] = await (0, helpers_1.getCodeChallengeAndMethod)(this.storage, this.storageKey); - const flowParams = new URLSearchParams({ - code_challenge: `${encodeURIComponent(codeChallenge)}`, - code_challenge_method: `${encodeURIComponent(codeChallengeMethod)}`, - }); - urlParams.push(flowParams.toString()); - } - if (options === null || options === void 0 ? void 0 : options.queryParams) { - const query = new URLSearchParams(options.queryParams); - urlParams.push(query.toString()); - } - if (options === null || options === void 0 ? void 0 : options.skipBrowserRedirect) { - urlParams.push(`skip_http_redirect=${options.skipBrowserRedirect}`); - } - return `${url}?${urlParams.join('&')}`; - } - async _unenroll(params) { - try { - return await this._useSession(async (result) => { - var _a; - const { data: sessionData, error: sessionError } = result; - if (sessionError) { - return { data: null, error: sessionError }; - } - return await (0, fetch_1._request)(this.fetch, 'DELETE', `${this.url}/factors/${params.factorId}`, { - headers: this.headers, - jwt: (_a = sessionData === null || sessionData === void 0 ? void 0 : sessionData.session) === null || _a === void 0 ? void 0 : _a.access_token, - }); - }); - } - catch (error) { - if ((0, errors_1.isAuthError)(error)) { - return { data: null, error }; - } - throw error; - } - } - /** - * {@see GoTrueMFAApi#enroll} - */ - async _enroll(params) { - try { - return await this._useSession(async (result) => { - var _a, _b; - const { data: sessionData, error: sessionError } = result; - if (sessionError) { - return { data: null, error: sessionError }; - } - const { data, error } = await (0, fetch_1._request)(this.fetch, 'POST', `${this.url}/factors`, { - body: { - friendly_name: params.friendlyName, - factor_type: params.factorType, - issuer: params.issuer, - }, - headers: this.headers, - jwt: (_a = sessionData === null || sessionData === void 0 ? void 0 : sessionData.session) === null || _a === void 0 ? void 0 : _a.access_token, - }); - if (error) { - return { data: null, error }; - } - if ((_b = data === null || data === void 0 ? void 0 : data.totp) === null || _b === void 0 ? void 0 : _b.qr_code) { - data.totp.qr_code = `data:image/svg+xml;utf-8,${data.totp.qr_code}`; - } - return { data, error: null }; - }); - } - catch (error) { - if ((0, errors_1.isAuthError)(error)) { - return { data: null, error }; - } - throw error; - } - } - /** - * {@see GoTrueMFAApi#verify} - */ - async _verify(params) { - return this._acquireLock(-1, async () => { - try { - return await this._useSession(async (result) => { - var _a; - const { data: sessionData, error: sessionError } = result; - if (sessionError) { - return { data: null, error: sessionError }; - } - const { data, error } = await (0, fetch_1._request)(this.fetch, 'POST', `${this.url}/factors/${params.factorId}/verify`, { - body: { code: params.code, challenge_id: params.challengeId }, - headers: this.headers, - jwt: (_a = sessionData === null || sessionData === void 0 ? void 0 : sessionData.session) === null || _a === void 0 ? void 0 : _a.access_token, - }); - if (error) { - return { data: null, error }; - } - await this._saveSession(Object.assign({ expires_at: Math.round(Date.now() / 1000) + data.expires_in }, data)); - await this._notifyAllSubscribers('MFA_CHALLENGE_VERIFIED', data); - return { data, error }; - }); - } - catch (error) { - if ((0, errors_1.isAuthError)(error)) { - return { data: null, error }; - } - throw error; - } - }); - } - /** - * {@see GoTrueMFAApi#challenge} - */ - async _challenge(params) { - return this._acquireLock(-1, async () => { - try { - return await this._useSession(async (result) => { - var _a; - const { data: sessionData, error: sessionError } = result; - if (sessionError) { - return { data: null, error: sessionError }; - } - return await (0, fetch_1._request)(this.fetch, 'POST', `${this.url}/factors/${params.factorId}/challenge`, { - headers: this.headers, - jwt: (_a = sessionData === null || sessionData === void 0 ? void 0 : sessionData.session) === null || _a === void 0 ? void 0 : _a.access_token, - }); - }); - } - catch (error) { - if ((0, errors_1.isAuthError)(error)) { - return { data: null, error }; - } - throw error; - } - }); - } - /** - * {@see GoTrueMFAApi#challengeAndVerify} - */ - async _challengeAndVerify(params) { - // both _challenge and _verify independently acquire the lock, so no need - // to acquire it here - const { data: challengeData, error: challengeError } = await this._challenge({ - factorId: params.factorId, - }); - if (challengeError) { - return { data: null, error: challengeError }; - } - return await this._verify({ - factorId: params.factorId, - challengeId: challengeData.id, - code: params.code, - }); - } - /** - * {@see GoTrueMFAApi#listFactors} - */ - async _listFactors() { - // use #getUser instead of #_getUser as the former acquires a lock - const { data: { user }, error: userError, } = await this.getUser(); - if (userError) { - return { data: null, error: userError }; - } - const factors = (user === null || user === void 0 ? void 0 : user.factors) || []; - const totp = factors.filter((factor) => factor.factor_type === 'totp' && factor.status === 'verified'); - return { - data: { - all: factors, - totp, - }, - error: null, - }; - } - /** - * {@see GoTrueMFAApi#getAuthenticatorAssuranceLevel} - */ - async _getAuthenticatorAssuranceLevel() { - return this._acquireLock(-1, async () => { - return await this._useSession(async (result) => { - var _a, _b; - const { data: { session }, error: sessionError, } = result; - if (sessionError) { - return { data: null, error: sessionError }; - } - if (!session) { - return { - data: { currentLevel: null, nextLevel: null, currentAuthenticationMethods: [] }, - error: null, - }; - } - const payload = this._decodeJWT(session.access_token); - let currentLevel = null; - if (payload.aal) { - currentLevel = payload.aal; - } - let nextLevel = currentLevel; - const verifiedFactors = (_b = (_a = session.user.factors) === null || _a === void 0 ? void 0 : _a.filter((factor) => factor.status === 'verified')) !== null && _b !== void 0 ? _b : []; - if (verifiedFactors.length > 0) { - nextLevel = 'aal2'; - } - const currentAuthenticationMethods = payload.amr || []; - return { data: { currentLevel, nextLevel, currentAuthenticationMethods }, error: null }; - }); - }); - } -} -exports["default"] = GoTrueClient; -GoTrueClient.nextInstanceID = 0; -//# sourceMappingURL=GoTrueClient.js.map - -/***/ }), - -/***/ 95495: -/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) { - - -var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { - if (k2 === undefined) 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 === undefined) k2 = k; - o[k2] = m[k]; -})); -var __exportStar = (this && this.__exportStar) || function(m, exports) { - for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p); -}; -var __importDefault = (this && this.__importDefault) || function (mod) { - return (mod && mod.__esModule) ? mod : { "default": mod }; -}; -Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.lockInternals = exports.NavigatorLockAcquireTimeoutError = exports.navigatorLock = exports.AuthClient = exports.AuthAdminApi = exports.GoTrueClient = exports.GoTrueAdminApi = void 0; -const GoTrueAdminApi_1 = __importDefault(__nccwpck_require__(66164)); -exports.GoTrueAdminApi = GoTrueAdminApi_1.default; -const GoTrueClient_1 = __importDefault(__nccwpck_require__(82334)); -exports.GoTrueClient = GoTrueClient_1.default; -const AuthAdminApi_1 = __importDefault(__nccwpck_require__(85504)); -exports.AuthAdminApi = AuthAdminApi_1.default; -const AuthClient_1 = __importDefault(__nccwpck_require__(18322)); -exports.AuthClient = AuthClient_1.default; -__exportStar(__nccwpck_require__(22510), exports); -__exportStar(__nccwpck_require__(528), exports); -var locks_1 = __nccwpck_require__(66935); -Object.defineProperty(exports, "navigatorLock", ({ enumerable: true, get: function () { return locks_1.navigatorLock; } })); -Object.defineProperty(exports, "NavigatorLockAcquireTimeoutError", ({ enumerable: true, get: function () { return locks_1.NavigatorLockAcquireTimeoutError; } })); -Object.defineProperty(exports, "lockInternals", ({ enumerable: true, get: function () { return locks_1.internals; } })); -//# sourceMappingURL=index.js.map - -/***/ }), - -/***/ 17626: -/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { - - -Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.API_VERSIONS = exports.API_VERSION_HEADER_NAME = exports.NETWORK_FAILURE = exports.EXPIRY_MARGIN = exports.DEFAULT_HEADERS = exports.AUDIENCE = exports.STORAGE_KEY = exports.GOTRUE_URL = void 0; -const version_1 = __nccwpck_require__(96999); -exports.GOTRUE_URL = 'http://localhost:9999'; -exports.STORAGE_KEY = 'supabase.auth.token'; -exports.AUDIENCE = ''; -exports.DEFAULT_HEADERS = { 'X-Client-Info': `gotrue-js/${version_1.version}` }; -exports.EXPIRY_MARGIN = 10; // in seconds -exports.NETWORK_FAILURE = { - MAX_RETRIES: 10, - RETRY_INTERVAL: 2, // in deciseconds -}; -exports.API_VERSION_HEADER_NAME = 'X-Supabase-Api-Version'; -exports.API_VERSIONS = { - '2024-01-01': { - timestamp: Date.parse('2024-01-01T00:00:00.0Z'), - name: '2024-01-01', - }, -}; -//# sourceMappingURL=constants.js.map - -/***/ }), - -/***/ 528: -/***/ ((__unused_webpack_module, exports) => { - - -Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.isAuthWeakPasswordError = exports.AuthWeakPasswordError = exports.isAuthRetryableFetchError = exports.AuthRetryableFetchError = exports.AuthPKCEGrantCodeExchangeError = exports.AuthImplicitGrantRedirectError = exports.AuthInvalidCredentialsError = exports.AuthInvalidTokenResponseError = exports.AuthSessionMissingError = exports.CustomAuthError = exports.AuthUnknownError = exports.isAuthApiError = exports.AuthApiError = exports.isAuthError = exports.AuthError = void 0; -class AuthError extends Error { - constructor(message, status, code) { - super(message); - this.__isAuthError = true; - this.name = 'AuthError'; - this.status = status; - this.code = code; - } -} -exports.AuthError = AuthError; -function isAuthError(error) { - return typeof error === 'object' && error !== null && '__isAuthError' in error; -} -exports.isAuthError = isAuthError; -class AuthApiError extends AuthError { - constructor(message, status, code) { - super(message, status, code); - this.name = 'AuthApiError'; - this.status = status; - this.code = code; - } -} -exports.AuthApiError = AuthApiError; -function isAuthApiError(error) { - return isAuthError(error) && error.name === 'AuthApiError'; -} -exports.isAuthApiError = isAuthApiError; -class AuthUnknownError extends AuthError { - constructor(message, originalError) { - super(message); - this.name = 'AuthUnknownError'; - this.originalError = originalError; - } -} -exports.AuthUnknownError = AuthUnknownError; -class CustomAuthError extends AuthError { - constructor(message, name, status, code) { - super(message, status, code); - this.name = name; - this.status = status; - } -} -exports.CustomAuthError = CustomAuthError; -class AuthSessionMissingError extends CustomAuthError { - constructor() { - super('Auth session missing!', 'AuthSessionMissingError', 400, undefined); - } -} -exports.AuthSessionMissingError = AuthSessionMissingError; -class AuthInvalidTokenResponseError extends CustomAuthError { - constructor() { - super('Auth session or user missing', 'AuthInvalidTokenResponseError', 500, undefined); - } -} -exports.AuthInvalidTokenResponseError = AuthInvalidTokenResponseError; -class AuthInvalidCredentialsError extends CustomAuthError { - constructor(message) { - super(message, 'AuthInvalidCredentialsError', 400, undefined); - } -} -exports.AuthInvalidCredentialsError = AuthInvalidCredentialsError; -class AuthImplicitGrantRedirectError extends CustomAuthError { - constructor(message, details = null) { - super(message, 'AuthImplicitGrantRedirectError', 500, undefined); - this.details = null; - this.details = details; - } - toJSON() { - return { - name: this.name, - message: this.message, - status: this.status, - details: this.details, - }; - } -} -exports.AuthImplicitGrantRedirectError = AuthImplicitGrantRedirectError; -class AuthPKCEGrantCodeExchangeError extends CustomAuthError { - constructor(message, details = null) { - super(message, 'AuthPKCEGrantCodeExchangeError', 500, undefined); - this.details = null; - this.details = details; - } - toJSON() { - return { - name: this.name, - message: this.message, - status: this.status, - details: this.details, - }; - } -} -exports.AuthPKCEGrantCodeExchangeError = AuthPKCEGrantCodeExchangeError; -class AuthRetryableFetchError extends CustomAuthError { - constructor(message, status) { - super(message, 'AuthRetryableFetchError', status, undefined); - } -} -exports.AuthRetryableFetchError = AuthRetryableFetchError; -function isAuthRetryableFetchError(error) { - return isAuthError(error) && error.name === 'AuthRetryableFetchError'; -} -exports.isAuthRetryableFetchError = isAuthRetryableFetchError; -/** - * This error is thrown on certain methods when the password used is deemed - * weak. Inspect the reasons to identify what password strength rules are - * inadequate. - */ -class AuthWeakPasswordError extends CustomAuthError { - constructor(message, status, reasons) { - super(message, 'AuthWeakPasswordError', status, 'weak_password'); - this.reasons = reasons; - } -} -exports.AuthWeakPasswordError = AuthWeakPasswordError; -function isAuthWeakPasswordError(error) { - return isAuthError(error) && error.name === 'AuthWeakPasswordError'; -} -exports.isAuthWeakPasswordError = isAuthWeakPasswordError; -//# sourceMappingURL=errors.js.map - -/***/ }), - -/***/ 12587: -/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) { - - -var __rest = (this && this.__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(exports, "__esModule", ({ value: true })); -exports._noResolveJsonResponse = exports._generateLinkResponse = exports._ssoResponse = exports._userResponse = exports._sessionResponsePassword = exports._sessionResponse = exports._request = exports.handleError = void 0; -const constants_1 = __nccwpck_require__(17626); -const helpers_1 = __nccwpck_require__(6614); -const errors_1 = __nccwpck_require__(528); -const _getErrorMessage = (err) => err.msg || err.message || err.error_description || err.error || JSON.stringify(err); -const NETWORK_ERROR_CODES = [502, 503, 504]; -async function handleError(error) { - var _a; - if (!(0, helpers_1.looksLikeFetchResponse)(error)) { - throw new errors_1.AuthRetryableFetchError(_getErrorMessage(error), 0); - } - if (NETWORK_ERROR_CODES.includes(error.status)) { - // status in 500...599 range - server had an error, request might be retryed. - throw new errors_1.AuthRetryableFetchError(_getErrorMessage(error), error.status); - } - let data; - try { - data = await error.json(); - } - catch (e) { - throw new errors_1.AuthUnknownError(_getErrorMessage(e), e); - } - let errorCode = undefined; - const responseAPIVersion = (0, helpers_1.parseResponseAPIVersion)(error); - if (responseAPIVersion && - responseAPIVersion.getTime() >= constants_1.API_VERSIONS['2024-01-01'].timestamp && - typeof data === 'object' && - data && - typeof data.code === 'string') { - errorCode = data.code; - } - else if (typeof data === 'object' && data && typeof data.error_code === 'string') { - errorCode = data.error_code; - } - if (!errorCode) { - // Legacy support for weak password errors, when there were no error codes - if (typeof data === 'object' && - data && - typeof data.weak_password === 'object' && - data.weak_password && - Array.isArray(data.weak_password.reasons) && - data.weak_password.reasons.length && - data.weak_password.reasons.reduce((a, i) => a && typeof i === 'string', true)) { - throw new errors_1.AuthWeakPasswordError(_getErrorMessage(data), error.status, data.weak_password.reasons); - } - } - else if (errorCode === 'weak_password') { - throw new errors_1.AuthWeakPasswordError(_getErrorMessage(data), error.status, ((_a = data.weak_password) === null || _a === void 0 ? void 0 : _a.reasons) || []); - } - throw new errors_1.AuthApiError(_getErrorMessage(data), error.status || 500, errorCode); -} -exports.handleError = handleError; -const _getRequestParams = (method, options, parameters, body) => { - const params = { method, headers: (options === null || options === void 0 ? void 0 : options.headers) || {} }; - if (method === 'GET') { - return params; - } - params.headers = Object.assign({ 'Content-Type': 'application/json;charset=UTF-8' }, options === null || options === void 0 ? void 0 : options.headers); - params.body = JSON.stringify(body); - return Object.assign(Object.assign({}, params), parameters); -}; -async function _request(fetcher, method, url, options) { - var _a; - const headers = Object.assign({}, options === null || options === void 0 ? void 0 : options.headers); - if (!headers[constants_1.API_VERSION_HEADER_NAME]) { - headers[constants_1.API_VERSION_HEADER_NAME] = constants_1.API_VERSIONS['2024-01-01'].name; - } - if (options === null || options === void 0 ? void 0 : options.jwt) { - headers['Authorization'] = `Bearer ${options.jwt}`; - } - const qs = (_a = options === null || options === void 0 ? void 0 : options.query) !== null && _a !== void 0 ? _a : {}; - if (options === null || options === void 0 ? void 0 : options.redirectTo) { - qs['redirect_to'] = options.redirectTo; - } - const queryString = Object.keys(qs).length ? '?' + new URLSearchParams(qs).toString() : ''; - const data = await _handleRequest(fetcher, method, url + queryString, { - headers, - noResolveJson: options === null || options === void 0 ? void 0 : options.noResolveJson, - }, {}, options === null || options === void 0 ? void 0 : options.body); - return (options === null || options === void 0 ? void 0 : options.xform) ? options === null || options === void 0 ? void 0 : options.xform(data) : { data: Object.assign({}, data), error: null }; -} -exports._request = _request; -async function _handleRequest(fetcher, method, url, options, parameters, body) { - const requestParams = _getRequestParams(method, options, parameters, body); - let result; - try { - result = await fetcher(url, Object.assign(Object.assign({}, requestParams), { - // UNDER NO CIRCUMSTANCE SHOULD THIS OPTION BE REMOVED, YOU MAY BE OPENING UP A SECURITY HOLE IN NEXT.JS APPS - // https://nextjs.org/docs/app/building-your-application/caching#opting-out-1 - cache: 'no-store' })); - } - catch (e) { - console.error(e); - // fetch failed, likely due to a network or CORS error - throw new errors_1.AuthRetryableFetchError(_getErrorMessage(e), 0); - } - if (!result.ok) { - await handleError(result); - } - if (options === null || options === void 0 ? void 0 : options.noResolveJson) { - return result; - } - try { - return await result.json(); - } - catch (e) { - await handleError(e); - } -} -function _sessionResponse(data) { - var _a; - let session = null; - if (hasSession(data)) { - session = Object.assign({}, data); - if (!data.expires_at) { - session.expires_at = (0, helpers_1.expiresAt)(data.expires_in); - } - } - const user = (_a = data.user) !== null && _a !== void 0 ? _a : data; - return { data: { session, user }, error: null }; -} -exports._sessionResponse = _sessionResponse; -function _sessionResponsePassword(data) { - const response = _sessionResponse(data); - if (!response.error && - data.weak_password && - typeof data.weak_password === 'object' && - Array.isArray(data.weak_password.reasons) && - data.weak_password.reasons.length && - data.weak_password.message && - typeof data.weak_password.message === 'string' && - data.weak_password.reasons.reduce((a, i) => a && typeof i === 'string', true)) { - response.data.weak_password = data.weak_password; - } - return response; -} -exports._sessionResponsePassword = _sessionResponsePassword; -function _userResponse(data) { - var _a; - const user = (_a = data.user) !== null && _a !== void 0 ? _a : data; - return { data: { user }, error: null }; -} -exports._userResponse = _userResponse; -function _ssoResponse(data) { - return { data, error: null }; -} -exports._ssoResponse = _ssoResponse; -function _generateLinkResponse(data) { - const { action_link, email_otp, hashed_token, redirect_to, verification_type } = data, rest = __rest(data, ["action_link", "email_otp", "hashed_token", "redirect_to", "verification_type"]); - const properties = { - action_link, - email_otp, - hashed_token, - redirect_to, - verification_type, - }; - const user = Object.assign({}, rest); - return { - data: { - properties, - user, - }, - error: null, - }; -} -exports._generateLinkResponse = _generateLinkResponse; -function _noResolveJsonResponse(data) { - return data; -} -exports._noResolveJsonResponse = _noResolveJsonResponse; -/** - * hasSession checks if the response object contains a valid session - * @param data A response object - * @returns true if a session is in the response - */ -function hasSession(data) { - return data.access_token && data.refresh_token && data.expires_in; -} -//# sourceMappingURL=fetch.js.map - -/***/ }), - -/***/ 6614: -/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) { - - -var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { - if (k2 === undefined) 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 === undefined) k2 = k; - o[k2] = m[k]; -})); -var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { - Object.defineProperty(o, "default", { enumerable: true, value: v }); -}) : function(o, v) { - o["default"] = v; -}); -var __importStar = (this && this.__importStar) || function (mod) { - if (mod && mod.__esModule) return mod; - var result = {}; - if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); - __setModuleDefault(result, mod); - return result; -}; -Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.parseResponseAPIVersion = exports.getCodeChallengeAndMethod = exports.generatePKCEChallenge = exports.generatePKCEVerifier = exports.retryable = exports.sleep = exports.decodeJWTPayload = exports.Deferred = exports.decodeBase64URL = exports.removeItemAsync = exports.getItemAsync = exports.setItemAsync = exports.looksLikeFetchResponse = exports.resolveFetch = exports.parseParametersFromURL = exports.supportsLocalStorage = exports.isBrowser = exports.uuid = exports.expiresAt = void 0; -const constants_1 = __nccwpck_require__(17626); -function expiresAt(expiresIn) { - const timeNow = Math.round(Date.now() / 1000); - return timeNow + expiresIn; -} -exports.expiresAt = expiresAt; -function uuid() { - return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) { - const r = (Math.random() * 16) | 0, v = c == 'x' ? r : (r & 0x3) | 0x8; - return v.toString(16); - }); -} -exports.uuid = uuid; -const isBrowser = () => typeof document !== 'undefined'; -exports.isBrowser = isBrowser; -const localStorageWriteTests = { - tested: false, - writable: false, -}; -/** - * Checks whether localStorage is supported on this browser. - */ -const supportsLocalStorage = () => { - if (!(0, exports.isBrowser)()) { - return false; - } - try { - if (typeof globalThis.localStorage !== 'object') { - return false; - } - } - catch (e) { - // DOM exception when accessing `localStorage` - return false; - } - if (localStorageWriteTests.tested) { - return localStorageWriteTests.writable; - } - const randomKey = `lswt-${Math.random()}${Math.random()}`; - try { - globalThis.localStorage.setItem(randomKey, randomKey); - globalThis.localStorage.removeItem(randomKey); - localStorageWriteTests.tested = true; - localStorageWriteTests.writable = true; - } - catch (e) { - // localStorage can't be written to - // https://www.chromium.org/for-testers/bug-reporting-guidelines/uncaught-securityerror-failed-to-read-the-localstorage-property-from-window-access-is-denied-for-this-document - localStorageWriteTests.tested = true; - localStorageWriteTests.writable = false; - } - return localStorageWriteTests.writable; -}; -exports.supportsLocalStorage = supportsLocalStorage; -/** - * Extracts parameters encoded in the URL both in the query and fragment. - */ -function parseParametersFromURL(href) { - const result = {}; - const url = new URL(href); - if (url.hash && url.hash[0] === '#') { - try { - const hashSearchParams = new URLSearchParams(url.hash.substring(1)); - hashSearchParams.forEach((value, key) => { - result[key] = value; - }); - } - catch (e) { - // hash is not a query string - } - } - // search parameters take precedence over hash parameters - url.searchParams.forEach((value, key) => { - result[key] = value; - }); - return result; -} -exports.parseParametersFromURL = parseParametersFromURL; -const resolveFetch = (customFetch) => { - let _fetch; - if (customFetch) { - _fetch = customFetch; - } - else if (typeof fetch === 'undefined') { - _fetch = (...args) => Promise.resolve().then(() => __importStar(__nccwpck_require__(18839))).then(({ default: fetch }) => fetch(...args)); - } - else { - _fetch = fetch; - } - return (...args) => _fetch(...args); -}; -exports.resolveFetch = resolveFetch; -const looksLikeFetchResponse = (maybeResponse) => { - return (typeof maybeResponse === 'object' && - maybeResponse !== null && - 'status' in maybeResponse && - 'ok' in maybeResponse && - 'json' in maybeResponse && - typeof maybeResponse.json === 'function'); -}; -exports.looksLikeFetchResponse = looksLikeFetchResponse; -// Storage helpers -const setItemAsync = async (storage, key, data) => { - await storage.setItem(key, JSON.stringify(data)); -}; -exports.setItemAsync = setItemAsync; -const getItemAsync = async (storage, key) => { - const value = await storage.getItem(key); - if (!value) { - return null; - } - try { - return JSON.parse(value); - } - catch (_a) { - return value; - } -}; -exports.getItemAsync = getItemAsync; -const removeItemAsync = async (storage, key) => { - await storage.removeItem(key); -}; -exports.removeItemAsync = removeItemAsync; -function decodeBase64URL(value) { - const key = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/='; - let base64 = ''; - let chr1, chr2, chr3; - let enc1, enc2, enc3, enc4; - let i = 0; - value = value.replace('-', '+').replace('_', '/'); - while (i < value.length) { - enc1 = key.indexOf(value.charAt(i++)); - enc2 = key.indexOf(value.charAt(i++)); - enc3 = key.indexOf(value.charAt(i++)); - enc4 = key.indexOf(value.charAt(i++)); - chr1 = (enc1 << 2) | (enc2 >> 4); - chr2 = ((enc2 & 15) << 4) | (enc3 >> 2); - chr3 = ((enc3 & 3) << 6) | enc4; - base64 = base64 + String.fromCharCode(chr1); - if (enc3 != 64 && chr2 != 0) { - base64 = base64 + String.fromCharCode(chr2); - } - if (enc4 != 64 && chr3 != 0) { - base64 = base64 + String.fromCharCode(chr3); - } - } - return base64; -} -exports.decodeBase64URL = decodeBase64URL; -/** - * A deferred represents some asynchronous work that is not yet finished, which - * may or may not culminate in a value. - * Taken from: https://github.com/mike-north/types/blob/master/src/async.ts - */ -class Deferred { - constructor() { - // eslint-disable-next-line @typescript-eslint/no-extra-semi - ; - this.promise = new Deferred.promiseConstructor((res, rej) => { - // eslint-disable-next-line @typescript-eslint/no-extra-semi - ; - this.resolve = res; - this.reject = rej; - }); - } -} -exports.Deferred = Deferred; -Deferred.promiseConstructor = Promise; -// Taken from: https://stackoverflow.com/questions/38552003/how-to-decode-jwt-token-in-javascript-without-using-a-library -function decodeJWTPayload(token) { - // Regex checks for base64url format - const base64UrlRegex = /^([a-z0-9_-]{4})*($|[a-z0-9_-]{3}=?$|[a-z0-9_-]{2}(==)?$)$/i; - const parts = token.split('.'); - if (parts.length !== 3) { - throw new Error('JWT is not valid: not a JWT structure'); - } - if (!base64UrlRegex.test(parts[1])) { - throw new Error('JWT is not valid: payload is not in base64url format'); - } - const base64Url = parts[1]; - return JSON.parse(decodeBase64URL(base64Url)); -} -exports.decodeJWTPayload = decodeJWTPayload; -/** - * Creates a promise that resolves to null after some time. - */ -async function sleep(time) { - return await new Promise((accept) => { - setTimeout(() => accept(null), time); - }); -} -exports.sleep = sleep; -/** - * Converts the provided async function into a retryable function. Each result - * or thrown error is sent to the isRetryable function which should return true - * if the function should run again. - */ -function retryable(fn, isRetryable) { - const promise = new Promise((accept, reject) => { - // eslint-disable-next-line @typescript-eslint/no-extra-semi - ; - (async () => { - for (let attempt = 0; attempt < Infinity; attempt++) { - try { - const result = await fn(attempt); - if (!isRetryable(attempt, null, result)) { - accept(result); - return; - } - } - catch (e) { - if (!isRetryable(attempt, e)) { - reject(e); - return; - } - } - } - })(); - }); - return promise; -} -exports.retryable = retryable; -function dec2hex(dec) { - return ('0' + dec.toString(16)).substr(-2); -} -// Functions below taken from: https://stackoverflow.com/questions/63309409/creating-a-code-verifier-and-challenge-for-pkce-auth-on-spotify-api-in-reactjs -function generatePKCEVerifier() { - const verifierLength = 56; - const array = new Uint32Array(verifierLength); - if (typeof crypto === 'undefined') { - const charSet = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-._~'; - const charSetLen = charSet.length; - let verifier = ''; - for (let i = 0; i < verifierLength; i++) { - verifier += charSet.charAt(Math.floor(Math.random() * charSetLen)); - } - return verifier; - } - crypto.getRandomValues(array); - return Array.from(array, dec2hex).join(''); -} -exports.generatePKCEVerifier = generatePKCEVerifier; -async function sha256(randomString) { - const encoder = new TextEncoder(); - const encodedData = encoder.encode(randomString); - const hash = await crypto.subtle.digest('SHA-256', encodedData); - const bytes = new Uint8Array(hash); - return Array.from(bytes) - .map((c) => String.fromCharCode(c)) - .join(''); -} -function base64urlencode(str) { - return btoa(str).replace(/\+/g, '-').replace(/\//g, '_').replace(/=+$/, ''); -} -async function generatePKCEChallenge(verifier) { - const hasCryptoSupport = typeof crypto !== 'undefined' && - typeof crypto.subtle !== 'undefined' && - typeof TextEncoder !== 'undefined'; - if (!hasCryptoSupport) { - console.warn('WebCrypto API is not supported. Code challenge method will default to use plain instead of sha256.'); - return verifier; - } - const hashed = await sha256(verifier); - return base64urlencode(hashed); -} -exports.generatePKCEChallenge = generatePKCEChallenge; -async function getCodeChallengeAndMethod(storage, storageKey, isPasswordRecovery = false) { - const codeVerifier = generatePKCEVerifier(); - let storedCodeVerifier = codeVerifier; - if (isPasswordRecovery) { - storedCodeVerifier += '/PASSWORD_RECOVERY'; - } - await (0, exports.setItemAsync)(storage, `${storageKey}-code-verifier`, storedCodeVerifier); - const codeChallenge = await generatePKCEChallenge(codeVerifier); - const codeChallengeMethod = codeVerifier === codeChallenge ? 'plain' : 's256'; - return [codeChallenge, codeChallengeMethod]; -} -exports.getCodeChallengeAndMethod = getCodeChallengeAndMethod; -/** Parses the API version which is 2YYY-MM-DD. */ -const API_VERSION_REGEX = /^2[0-9]{3}-(0[1-9]|1[0-2])-(0[1-9]|1[0-9]|2[0-9]|3[0-1])$/i; -function parseResponseAPIVersion(response) { - const apiVersion = response.headers.get(constants_1.API_VERSION_HEADER_NAME); - if (!apiVersion) { - return null; - } - if (!apiVersion.match(API_VERSION_REGEX)) { - return null; - } - try { - const date = new Date(`${apiVersion}T00:00:00.0Z`); - return date; - } - catch (e) { - return null; - } -} -exports.parseResponseAPIVersion = parseResponseAPIVersion; -//# sourceMappingURL=helpers.js.map - -/***/ }), - -/***/ 80728: -/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { - - -Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.memoryLocalStorageAdapter = exports.localStorageAdapter = void 0; -const helpers_1 = __nccwpck_require__(6614); -/** - * Provides safe access to the globalThis.localStorage property. - */ -exports.localStorageAdapter = { - getItem: (key) => { - if (!(0, helpers_1.supportsLocalStorage)()) { - return null; - } - return globalThis.localStorage.getItem(key); - }, - setItem: (key, value) => { - if (!(0, helpers_1.supportsLocalStorage)()) { - return; - } - globalThis.localStorage.setItem(key, value); - }, - removeItem: (key) => { - if (!(0, helpers_1.supportsLocalStorage)()) { - return; - } - globalThis.localStorage.removeItem(key); - }, -}; -/** - * Returns a localStorage-like object that stores the key-value pairs in - * memory. - */ -function memoryLocalStorageAdapter(store = {}) { - return { - getItem: (key) => { - return store[key] || null; - }, - setItem: (key, value) => { - store[key] = value; - }, - removeItem: (key) => { - delete store[key]; - }, - }; -} -exports.memoryLocalStorageAdapter = memoryLocalStorageAdapter; -//# sourceMappingURL=local-storage.js.map - -/***/ }), - -/***/ 66935: -/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { - - -Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.navigatorLock = exports.NavigatorLockAcquireTimeoutError = exports.LockAcquireTimeoutError = exports.internals = void 0; -const helpers_1 = __nccwpck_require__(6614); -/** - * @experimental - */ -exports.internals = { - /** - * @experimental - */ - debug: !!(globalThis && - (0, helpers_1.supportsLocalStorage)() && - globalThis.localStorage && - globalThis.localStorage.getItem('supabase.gotrue-js.locks.debug') === 'true'), -}; -/** - * An error thrown when a lock cannot be acquired after some amount of time. - * - * Use the {@link #isAcquireTimeout} property instead of checking with `instanceof`. - */ -class LockAcquireTimeoutError extends Error { - constructor(message) { - super(message); - this.isAcquireTimeout = true; - } -} -exports.LockAcquireTimeoutError = LockAcquireTimeoutError; -class NavigatorLockAcquireTimeoutError extends LockAcquireTimeoutError { -} -exports.NavigatorLockAcquireTimeoutError = NavigatorLockAcquireTimeoutError; -/** - * Implements a global exclusive lock using the Navigator LockManager API. It - * is available on all browsers released after 2022-03-15 with Safari being the - * last one to release support. If the API is not available, this function will - * throw. Make sure you check availablility before configuring {@link - * GoTrueClient}. - * - * You can turn on debugging by setting the `supabase.gotrue-js.locks.debug` - * local storage item to `true`. - * - * Internals: - * - * Since the LockManager API does not preserve stack traces for the async - * function passed in the `request` method, a trick is used where acquiring the - * lock releases a previously started promise to run the operation in the `fn` - * function. The lock waits for that promise to finish (with or without error), - * while the function will finally wait for the result anyway. - * - * @param name Name of the lock to be acquired. - * @param acquireTimeout If negative, no timeout. If 0 an error is thrown if - * the lock can't be acquired without waiting. If positive, the lock acquire - * will time out after so many milliseconds. An error is - * a timeout if it has `isAcquireTimeout` set to true. - * @param fn The operation to run once the lock is acquired. - */ -async function navigatorLock(name, acquireTimeout, fn) { - if (exports.internals.debug) { - console.log('@supabase/gotrue-js: navigatorLock: acquire lock', name, acquireTimeout); - } - const abortController = new globalThis.AbortController(); - if (acquireTimeout > 0) { - setTimeout(() => { - abortController.abort(); - if (exports.internals.debug) { - console.log('@supabase/gotrue-js: navigatorLock acquire timed out', name); - } - }, acquireTimeout); - } - // MDN article: https://developer.mozilla.org/en-US/docs/Web/API/LockManager/request - return await globalThis.navigator.locks.request(name, acquireTimeout === 0 - ? { - mode: 'exclusive', - ifAvailable: true, - } - : { - mode: 'exclusive', - signal: abortController.signal, - }, async (lock) => { - if (lock) { - if (exports.internals.debug) { - console.log('@supabase/gotrue-js: navigatorLock: acquired', name, lock.name); - } - try { - return await fn(); - } - finally { - if (exports.internals.debug) { - console.log('@supabase/gotrue-js: navigatorLock: released', name, lock.name); - } - } - } - else { - if (acquireTimeout === 0) { - if (exports.internals.debug) { - console.log('@supabase/gotrue-js: navigatorLock: not immediately available', name); - } - throw new NavigatorLockAcquireTimeoutError(`Acquiring an exclusive Navigator LockManager lock "${name}" immediately failed`); - } - else { - if (exports.internals.debug) { - try { - const result = await globalThis.navigator.locks.query(); - console.log('@supabase/gotrue-js: Navigator LockManager state', JSON.stringify(result, null, ' ')); - } - catch (e) { - console.warn('@supabase/gotrue-js: Error when querying Navigator LockManager state', e); - } - } - // Browser is not following the Navigator LockManager spec, it - // returned a null lock when we didn't use ifAvailable. So we can - // pretend the lock is acquired in the name of backward compatibility - // and user experience and just run the function. - console.warn('@supabase/gotrue-js: Navigator LockManager returned a null lock when using #request without ifAvailable set to true, it appears this browser is not following the LockManager spec https://developer.mozilla.org/en-US/docs/Web/API/LockManager/request'); - return await fn(); - } - } - }); -} -exports.navigatorLock = navigatorLock; -//# sourceMappingURL=locks.js.map - -/***/ }), - -/***/ 49363: -/***/ ((__unused_webpack_module, exports) => { - - -Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.polyfillGlobalThis = void 0; -/** - * https://mathiasbynens.be/notes/globalthis - */ -function polyfillGlobalThis() { - if (typeof globalThis === 'object') - return; - try { - Object.defineProperty(Object.prototype, '__magic__', { - get: function () { - return this; - }, - configurable: true, - }); - // @ts-expect-error 'Allow access to magic' - __magic__.globalThis = __magic__; - // @ts-expect-error 'Allow access to magic' - delete Object.prototype.__magic__; - } - catch (e) { - if (typeof self !== 'undefined') { - // @ts-expect-error 'Allow access to globals' - self.globalThis = self; - } - } -} -exports.polyfillGlobalThis = polyfillGlobalThis; -//# sourceMappingURL=polyfills.js.map - -/***/ }), - -/***/ 22510: -/***/ ((__unused_webpack_module, exports) => { - - -Object.defineProperty(exports, "__esModule", ({ value: true })); -//# sourceMappingURL=types.js.map - -/***/ }), - -/***/ 96999: -/***/ ((__unused_webpack_module, exports) => { - - -Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.version = void 0; -exports.version = '2.63.0'; -//# sourceMappingURL=version.js.map - -/***/ }), - -/***/ 95328: -/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) { - - -var __awaiter = (this && this.__awaiter) || function (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, reject) { - function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } - function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } - function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); -}; -Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.FunctionsClient = void 0; -const helper_1 = __nccwpck_require__(22232); -const types_1 = __nccwpck_require__(84555); -class FunctionsClient { - constructor(url, { headers = {}, customFetch, region = types_1.FunctionRegion.Any, } = {}) { - this.url = url; - this.headers = headers; - this.region = region; - this.fetch = (0, helper_1.resolveFetch)(customFetch); - } - /** - * Updates the authorization header - * @param token - the new jwt token sent in the authorisation header - */ - setAuth(token) { - this.headers.Authorization = `Bearer ${token}`; - } - /** - * Invokes a function - * @param functionName - The name of the Function to invoke. - * @param options - Options for invoking the Function. - */ - invoke(functionName, options = {}) { - var _a; - return __awaiter(this, void 0, void 0, function* () { - try { - const { headers, method, body: functionArgs } = options; - let _headers = {}; - let { region } = options; - if (!region) { - region = this.region; - } - if (region && region !== 'any') { - _headers['x-region'] = region; - } - let body; - if (functionArgs && - ((headers && !Object.prototype.hasOwnProperty.call(headers, 'Content-Type')) || !headers)) { - if ((typeof Blob !== 'undefined' && functionArgs instanceof Blob) || - functionArgs instanceof ArrayBuffer) { - // will work for File as File inherits Blob - // also works for ArrayBuffer as it is the same underlying structure as a Blob - _headers['Content-Type'] = 'application/octet-stream'; - body = functionArgs; - } - else if (typeof functionArgs === 'string') { - // plain string - _headers['Content-Type'] = 'text/plain'; - body = functionArgs; - } - else if (typeof FormData !== 'undefined' && functionArgs instanceof FormData) { - // don't set content-type headers - // Request will automatically add the right boundary value - body = functionArgs; - } - else { - // default, assume this is JSON - _headers['Content-Type'] = 'application/json'; - body = JSON.stringify(functionArgs); - } - } - const response = yield this.fetch(`${this.url}/${functionName}`, { - method: method || 'POST', - // headers priority is (high to low): - // 1. invoke-level headers - // 2. client-level headers - // 3. default Content-Type header - headers: Object.assign(Object.assign(Object.assign({}, _headers), this.headers), headers), - body, - }).catch((fetchError) => { - throw new types_1.FunctionsFetchError(fetchError); - }); - const isRelayError = response.headers.get('x-relay-error'); - if (isRelayError && isRelayError === 'true') { - throw new types_1.FunctionsRelayError(response); - } - if (!response.ok) { - throw new types_1.FunctionsHttpError(response); - } - let responseType = ((_a = response.headers.get('Content-Type')) !== null && _a !== void 0 ? _a : 'text/plain').split(';')[0].trim(); - let data; - if (responseType === 'application/json') { - data = yield response.json(); - } - else if (responseType === 'application/octet-stream') { - data = yield response.blob(); - } - else if (responseType === 'multipart/form-data') { - data = yield response.formData(); - } - else { - // default to text - data = yield response.text(); - } - return { data, error: null }; - } - catch (error) { - return { data: null, error }; - } - }); - } -} -exports.FunctionsClient = FunctionsClient; -//# sourceMappingURL=FunctionsClient.js.map - -/***/ }), - -/***/ 22232: -/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) { - - -var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { - if (k2 === undefined) 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 === undefined) k2 = k; - o[k2] = m[k]; -})); -var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { - Object.defineProperty(o, "default", { enumerable: true, value: v }); -}) : function(o, v) { - o["default"] = v; -}); -var __importStar = (this && this.__importStar) || function (mod) { - if (mod && mod.__esModule) return mod; - var result = {}; - if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); - __setModuleDefault(result, mod); - return result; -}; -Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.resolveFetch = void 0; -const resolveFetch = (customFetch) => { - let _fetch; - if (customFetch) { - _fetch = customFetch; - } - else if (typeof fetch === 'undefined') { - _fetch = (...args) => Promise.resolve().then(() => __importStar(__nccwpck_require__(18839))).then(({ default: fetch }) => fetch(...args)); - } - else { - _fetch = fetch; - } - return (...args) => _fetch(...args); -}; -exports.resolveFetch = resolveFetch; -//# sourceMappingURL=helper.js.map - -/***/ }), - -/***/ 97654: -/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { - - -Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.FunctionRegion = exports.FunctionsRelayError = exports.FunctionsHttpError = exports.FunctionsFetchError = exports.FunctionsError = exports.FunctionsClient = void 0; -var FunctionsClient_1 = __nccwpck_require__(95328); -Object.defineProperty(exports, "FunctionsClient", ({ enumerable: true, get: function () { return FunctionsClient_1.FunctionsClient; } })); -var types_1 = __nccwpck_require__(84555); -Object.defineProperty(exports, "FunctionsError", ({ enumerable: true, get: function () { return types_1.FunctionsError; } })); -Object.defineProperty(exports, "FunctionsFetchError", ({ enumerable: true, get: function () { return types_1.FunctionsFetchError; } })); -Object.defineProperty(exports, "FunctionsHttpError", ({ enumerable: true, get: function () { return types_1.FunctionsHttpError; } })); -Object.defineProperty(exports, "FunctionsRelayError", ({ enumerable: true, get: function () { return types_1.FunctionsRelayError; } })); -Object.defineProperty(exports, "FunctionRegion", ({ enumerable: true, get: function () { return types_1.FunctionRegion; } })); -//# sourceMappingURL=index.js.map - -/***/ }), - -/***/ 84555: -/***/ ((__unused_webpack_module, exports) => { - - -Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.FunctionRegion = exports.FunctionsHttpError = exports.FunctionsRelayError = exports.FunctionsFetchError = exports.FunctionsError = void 0; -class FunctionsError extends Error { - constructor(message, name = 'FunctionsError', context) { - super(message); - this.name = name; - this.context = context; - } -} -exports.FunctionsError = FunctionsError; -class FunctionsFetchError extends FunctionsError { - constructor(context) { - super('Failed to send a request to the Edge Function', 'FunctionsFetchError', context); - } -} -exports.FunctionsFetchError = FunctionsFetchError; -class FunctionsRelayError extends FunctionsError { - constructor(context) { - super('Relay Error invoking the Edge Function', 'FunctionsRelayError', context); - } -} -exports.FunctionsRelayError = FunctionsRelayError; -class FunctionsHttpError extends FunctionsError { - constructor(context) { - super('Edge Function returned a non-2xx status code', 'FunctionsHttpError', context); - } -} -exports.FunctionsHttpError = FunctionsHttpError; -// Define the enum for the 'region' property -var FunctionRegion; -(function (FunctionRegion) { - FunctionRegion["Any"] = "any"; - FunctionRegion["ApNortheast1"] = "ap-northeast-1"; - FunctionRegion["ApNortheast2"] = "ap-northeast-2"; - FunctionRegion["ApSouth1"] = "ap-south-1"; - FunctionRegion["ApSoutheast1"] = "ap-southeast-1"; - FunctionRegion["ApSoutheast2"] = "ap-southeast-2"; - FunctionRegion["CaCentral1"] = "ca-central-1"; - FunctionRegion["EuCentral1"] = "eu-central-1"; - FunctionRegion["EuWest1"] = "eu-west-1"; - FunctionRegion["EuWest2"] = "eu-west-2"; - FunctionRegion["EuWest3"] = "eu-west-3"; - FunctionRegion["SaEast1"] = "sa-east-1"; - FunctionRegion["UsEast1"] = "us-east-1"; - FunctionRegion["UsWest1"] = "us-west-1"; - FunctionRegion["UsWest2"] = "us-west-2"; -})(FunctionRegion = exports.FunctionRegion || (exports.FunctionRegion = {})); -//# sourceMappingURL=types.js.map - -/***/ }), - -/***/ 18839: -/***/ ((module, exports, __nccwpck_require__) => { - - - -Object.defineProperty(exports, "__esModule", ({ value: true })); - -function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; } - -var Stream = _interopDefault(__nccwpck_require__(2203)); -var http = _interopDefault(__nccwpck_require__(58611)); -var Url = _interopDefault(__nccwpck_require__(87016)); -var whatwgUrl = _interopDefault(__nccwpck_require__(68383)); -var https = _interopDefault(__nccwpck_require__(65692)); -var zlib = _interopDefault(__nccwpck_require__(43106)); - -// Based on https://github.com/tmpvar/jsdom/blob/aa85b2abf07766ff7bf5c1f6daafb3726f2f2db5/lib/jsdom/living/blob.js - -// fix for "Readable" isn't a named export issue -const Readable = Stream.Readable; - -const BUFFER = Symbol('buffer'); -const TYPE = Symbol('type'); - -class Blob { - constructor() { - this[TYPE] = ''; - - const blobParts = arguments[0]; - const options = arguments[1]; - - const buffers = []; - let size = 0; - - if (blobParts) { - const a = blobParts; - const length = Number(a.length); - for (let i = 0; i < length; i++) { - const element = a[i]; - let buffer; - if (element instanceof Buffer) { - buffer = element; - } else if (ArrayBuffer.isView(element)) { - buffer = Buffer.from(element.buffer, element.byteOffset, element.byteLength); - } else if (element instanceof ArrayBuffer) { - buffer = Buffer.from(element); - } else if (element instanceof Blob) { - buffer = element[BUFFER]; - } else { - buffer = Buffer.from(typeof element === 'string' ? element : String(element)); - } - size += buffer.length; - buffers.push(buffer); - } - } - - this[BUFFER] = Buffer.concat(buffers); - - let type = options && options.type !== undefined && String(options.type).toLowerCase(); - if (type && !/[^\u0020-\u007E]/.test(type)) { - this[TYPE] = type; - } - } - get size() { - return this[BUFFER].length; - } - get type() { - return this[TYPE]; - } - text() { - return Promise.resolve(this[BUFFER].toString()); - } - arrayBuffer() { - const buf = this[BUFFER]; - const ab = buf.buffer.slice(buf.byteOffset, buf.byteOffset + buf.byteLength); - return Promise.resolve(ab); - } - stream() { - const readable = new Readable(); - readable._read = function () {}; - readable.push(this[BUFFER]); - readable.push(null); - return readable; - } - toString() { - return '[object Blob]'; - } - slice() { - const size = this.size; - - const start = arguments[0]; - const end = arguments[1]; - let relativeStart, relativeEnd; - if (start === undefined) { - relativeStart = 0; - } else if (start < 0) { - relativeStart = Math.max(size + start, 0); - } else { - relativeStart = Math.min(start, size); - } - if (end === undefined) { - relativeEnd = size; - } else if (end < 0) { - relativeEnd = Math.max(size + end, 0); - } else { - relativeEnd = Math.min(end, size); - } - const span = Math.max(relativeEnd - relativeStart, 0); - - const buffer = this[BUFFER]; - const slicedBuffer = buffer.slice(relativeStart, relativeStart + span); - const blob = new Blob([], { type: arguments[2] }); - blob[BUFFER] = slicedBuffer; - return blob; - } -} - -Object.defineProperties(Blob.prototype, { - size: { enumerable: true }, - type: { enumerable: true }, - slice: { enumerable: true } -}); - -Object.defineProperty(Blob.prototype, Symbol.toStringTag, { - value: 'Blob', - writable: false, - enumerable: false, - configurable: true -}); - -/** - * fetch-error.js - * - * FetchError interface for operational errors - */ - -/** - * Create FetchError instance - * - * @param String message Error message for human - * @param String type Error type for machine - * @param String systemError For Node.js system error - * @return FetchError - */ -function FetchError(message, type, systemError) { - Error.call(this, message); - - this.message = message; - this.type = type; - - // when err.type is `system`, err.code contains system error code - if (systemError) { - this.code = this.errno = systemError.code; - } - - // hide custom error implementation details from end-users - Error.captureStackTrace(this, this.constructor); -} - -FetchError.prototype = Object.create(Error.prototype); -FetchError.prototype.constructor = FetchError; -FetchError.prototype.name = 'FetchError'; - -let convert; - -const INTERNALS = Symbol('Body internals'); - -// fix an issue where "PassThrough" isn't a named export for node <10 -const PassThrough = Stream.PassThrough; - -/** - * Body mixin - * - * Ref: https://fetch.spec.whatwg.org/#body - * - * @param Stream body Readable stream - * @param Object opts Response options - * @return Void - */ -function Body(body) { - var _this = this; - - var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}, - _ref$size = _ref.size; - - let size = _ref$size === undefined ? 0 : _ref$size; - var _ref$timeout = _ref.timeout; - let timeout = _ref$timeout === undefined ? 0 : _ref$timeout; - - if (body == null) { - // body is undefined or null - body = null; - } else if (isURLSearchParams(body)) { - // body is a URLSearchParams - body = Buffer.from(body.toString()); - } else if (isBlob(body)) ; else if (Buffer.isBuffer(body)) ; else if (Object.prototype.toString.call(body) === '[object ArrayBuffer]') { - // body is ArrayBuffer - body = Buffer.from(body); - } else if (ArrayBuffer.isView(body)) { - // body is ArrayBufferView - body = Buffer.from(body.buffer, body.byteOffset, body.byteLength); - } else if (body instanceof Stream) ; else { - // none of the above - // coerce to string then buffer - body = Buffer.from(String(body)); - } - this[INTERNALS] = { - body, - disturbed: false, - error: null - }; - this.size = size; - this.timeout = timeout; - - if (body instanceof Stream) { - body.on('error', function (err) { - const error = err.name === 'AbortError' ? err : new FetchError(`Invalid response body while trying to fetch ${_this.url}: ${err.message}`, 'system', err); - _this[INTERNALS].error = error; - }); - } -} - -Body.prototype = { - get body() { - return this[INTERNALS].body; - }, - - get bodyUsed() { - return this[INTERNALS].disturbed; - }, - - /** - * Decode response as ArrayBuffer - * - * @return Promise - */ - arrayBuffer() { - return consumeBody.call(this).then(function (buf) { - return buf.buffer.slice(buf.byteOffset, buf.byteOffset + buf.byteLength); - }); - }, - - /** - * Return raw response as Blob - * - * @return Promise - */ - blob() { - let ct = this.headers && this.headers.get('content-type') || ''; - return consumeBody.call(this).then(function (buf) { - return Object.assign( - // Prevent copying - new Blob([], { - type: ct.toLowerCase() - }), { - [BUFFER]: buf - }); - }); - }, - - /** - * Decode response as json - * - * @return Promise - */ - json() { - var _this2 = this; - - return consumeBody.call(this).then(function (buffer) { - try { - return JSON.parse(buffer.toString()); - } catch (err) { - return Body.Promise.reject(new FetchError(`invalid json response body at ${_this2.url} reason: ${err.message}`, 'invalid-json')); - } - }); - }, - - /** - * Decode response as text - * - * @return Promise - */ - text() { - return consumeBody.call(this).then(function (buffer) { - return buffer.toString(); - }); - }, - - /** - * Decode response as buffer (non-spec api) - * - * @return Promise - */ - buffer() { - return consumeBody.call(this); - }, - - /** - * Decode response as text, while automatically detecting the encoding and - * trying to decode to UTF-8 (non-spec api) - * - * @return Promise - */ - textConverted() { - var _this3 = this; - - return consumeBody.call(this).then(function (buffer) { - return convertBody(buffer, _this3.headers); - }); - } -}; - -// In browsers, all properties are enumerable. -Object.defineProperties(Body.prototype, { - body: { enumerable: true }, - bodyUsed: { enumerable: true }, - arrayBuffer: { enumerable: true }, - blob: { enumerable: true }, - json: { enumerable: true }, - text: { enumerable: true } -}); - -Body.mixIn = function (proto) { - for (const name of Object.getOwnPropertyNames(Body.prototype)) { - // istanbul ignore else: future proof - if (!(name in proto)) { - const desc = Object.getOwnPropertyDescriptor(Body.prototype, name); - Object.defineProperty(proto, name, desc); - } - } -}; - -/** - * Consume and convert an entire Body to a Buffer. - * - * Ref: https://fetch.spec.whatwg.org/#concept-body-consume-body - * - * @return Promise - */ -function consumeBody() { - var _this4 = this; - - if (this[INTERNALS].disturbed) { - return Body.Promise.reject(new TypeError(`body used already for: ${this.url}`)); - } - - this[INTERNALS].disturbed = true; - - if (this[INTERNALS].error) { - return Body.Promise.reject(this[INTERNALS].error); - } - - let body = this.body; - - // body is null - if (body === null) { - return Body.Promise.resolve(Buffer.alloc(0)); - } - - // body is blob - if (isBlob(body)) { - body = body.stream(); - } - - // body is buffer - if (Buffer.isBuffer(body)) { - return Body.Promise.resolve(body); - } - - // istanbul ignore if: should never happen - if (!(body instanceof Stream)) { - return Body.Promise.resolve(Buffer.alloc(0)); - } - - // body is stream - // get ready to actually consume the body - let accum = []; - let accumBytes = 0; - let abort = false; - - return new Body.Promise(function (resolve, reject) { - let resTimeout; - - // allow timeout on slow response body - if (_this4.timeout) { - resTimeout = setTimeout(function () { - abort = true; - reject(new FetchError(`Response timeout while trying to fetch ${_this4.url} (over ${_this4.timeout}ms)`, 'body-timeout')); - }, _this4.timeout); - } - - // handle stream errors - body.on('error', function (err) { - if (err.name === 'AbortError') { - // if the request was aborted, reject with this Error - abort = true; - reject(err); - } else { - // other errors, such as incorrect content-encoding - reject(new FetchError(`Invalid response body while trying to fetch ${_this4.url}: ${err.message}`, 'system', err)); - } - }); - - body.on('data', function (chunk) { - if (abort || chunk === null) { - return; - } - - if (_this4.size && accumBytes + chunk.length > _this4.size) { - abort = true; - reject(new FetchError(`content size at ${_this4.url} over limit: ${_this4.size}`, 'max-size')); - return; - } - - accumBytes += chunk.length; - accum.push(chunk); - }); - - body.on('end', function () { - if (abort) { - return; - } - - clearTimeout(resTimeout); - - try { - resolve(Buffer.concat(accum, accumBytes)); - } catch (err) { - // handle streams that have accumulated too much data (issue #414) - reject(new FetchError(`Could not create Buffer from response body for ${_this4.url}: ${err.message}`, 'system', err)); - } - }); - }); -} - -/** - * Detect buffer encoding and convert to target encoding - * ref: http://www.w3.org/TR/2011/WD-html5-20110113/parsing.html#determining-the-character-encoding - * - * @param Buffer buffer Incoming buffer - * @param String encoding Target encoding - * @return String - */ -function convertBody(buffer, headers) { - { - throw new Error('The package `encoding` must be installed to use the textConverted() function'); - } - - const ct = headers.get('content-type'); - let charset = 'utf-8'; - let res, str; - - // header - if (ct) { - res = /charset=([^;]*)/i.exec(ct); - } - - // no charset in content type, peek at response body for at most 1024 bytes - str = buffer.slice(0, 1024).toString(); - - // html5 - if (!res && str) { - res = / 0 && arguments[0] !== undefined ? arguments[0] : undefined; - - this[MAP] = Object.create(null); - - if (init instanceof Headers) { - const rawHeaders = init.raw(); - const headerNames = Object.keys(rawHeaders); - - for (const headerName of headerNames) { - for (const value of rawHeaders[headerName]) { - this.append(headerName, value); - } - } - - return; - } - - // We don't worry about converting prop to ByteString here as append() - // will handle it. - if (init == null) ; else if (typeof init === 'object') { - const method = init[Symbol.iterator]; - if (method != null) { - if (typeof method !== 'function') { - throw new TypeError('Header pairs must be iterable'); - } - - // sequence> - // Note: per spec we have to first exhaust the lists then process them - const pairs = []; - for (const pair of init) { - if (typeof pair !== 'object' || typeof pair[Symbol.iterator] !== 'function') { - throw new TypeError('Each header pair must be iterable'); - } - pairs.push(Array.from(pair)); - } - - for (const pair of pairs) { - if (pair.length !== 2) { - throw new TypeError('Each header pair must be a name/value tuple'); - } - this.append(pair[0], pair[1]); - } - } else { - // record - for (const key of Object.keys(init)) { - const value = init[key]; - this.append(key, value); - } - } - } else { - throw new TypeError('Provided initializer must be an object'); - } - } - - /** - * Return combined header value given name - * - * @param String name Header name - * @return Mixed - */ - get(name) { - name = `${name}`; - validateName(name); - const key = find(this[MAP], name); - if (key === undefined) { - return null; - } - - return this[MAP][key].join(', '); - } - - /** - * Iterate over all headers - * - * @param Function callback Executed for each item with parameters (value, name, thisArg) - * @param Boolean thisArg `this` context for callback function - * @return Void - */ - forEach(callback) { - let thisArg = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : undefined; - - let pairs = getHeaders(this); - let i = 0; - while (i < pairs.length) { - var _pairs$i = pairs[i]; - const name = _pairs$i[0], - value = _pairs$i[1]; - - callback.call(thisArg, value, name, this); - pairs = getHeaders(this); - i++; - } - } - - /** - * Overwrite header values given name - * - * @param String name Header name - * @param String value Header value - * @return Void - */ - set(name, value) { - name = `${name}`; - value = `${value}`; - validateName(name); - validateValue(value); - const key = find(this[MAP], name); - this[MAP][key !== undefined ? key : name] = [value]; - } - - /** - * Append a value onto existing header - * - * @param String name Header name - * @param String value Header value - * @return Void - */ - append(name, value) { - name = `${name}`; - value = `${value}`; - validateName(name); - validateValue(value); - const key = find(this[MAP], name); - if (key !== undefined) { - this[MAP][key].push(value); - } else { - this[MAP][name] = [value]; - } - } - - /** - * Check for header name existence - * - * @param String name Header name - * @return Boolean - */ - has(name) { - name = `${name}`; - validateName(name); - return find(this[MAP], name) !== undefined; - } - - /** - * Delete all header values given name - * - * @param String name Header name - * @return Void - */ - delete(name) { - name = `${name}`; - validateName(name); - const key = find(this[MAP], name); - if (key !== undefined) { - delete this[MAP][key]; - } - } - - /** - * Return raw headers (non-spec api) - * - * @return Object - */ - raw() { - return this[MAP]; - } - - /** - * Get an iterator on keys. - * - * @return Iterator - */ - keys() { - return createHeadersIterator(this, 'key'); - } - - /** - * Get an iterator on values. - * - * @return Iterator - */ - values() { - return createHeadersIterator(this, 'value'); - } - - /** - * Get an iterator on entries. - * - * This is the default iterator of the Headers object. - * - * @return Iterator - */ - [Symbol.iterator]() { - return createHeadersIterator(this, 'key+value'); - } -} -Headers.prototype.entries = Headers.prototype[Symbol.iterator]; - -Object.defineProperty(Headers.prototype, Symbol.toStringTag, { - value: 'Headers', - writable: false, - enumerable: false, - configurable: true -}); - -Object.defineProperties(Headers.prototype, { - get: { enumerable: true }, - forEach: { enumerable: true }, - set: { enumerable: true }, - append: { enumerable: true }, - has: { enumerable: true }, - delete: { enumerable: true }, - keys: { enumerable: true }, - values: { enumerable: true }, - entries: { enumerable: true } -}); - -function getHeaders(headers) { - let kind = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'key+value'; - - const keys = Object.keys(headers[MAP]).sort(); - return keys.map(kind === 'key' ? function (k) { - return k.toLowerCase(); - } : kind === 'value' ? function (k) { - return headers[MAP][k].join(', '); - } : function (k) { - return [k.toLowerCase(), headers[MAP][k].join(', ')]; - }); -} - -const INTERNAL = Symbol('internal'); - -function createHeadersIterator(target, kind) { - const iterator = Object.create(HeadersIteratorPrototype); - iterator[INTERNAL] = { - target, - kind, - index: 0 - }; - return iterator; -} - -const HeadersIteratorPrototype = Object.setPrototypeOf({ - next() { - // istanbul ignore if - if (!this || Object.getPrototypeOf(this) !== HeadersIteratorPrototype) { - throw new TypeError('Value of `this` is not a HeadersIterator'); - } - - var _INTERNAL = this[INTERNAL]; - const target = _INTERNAL.target, - kind = _INTERNAL.kind, - index = _INTERNAL.index; - - const values = getHeaders(target, kind); - const len = values.length; - if (index >= len) { - return { - value: undefined, - done: true - }; - } - - this[INTERNAL].index = index + 1; - - return { - value: values[index], - done: false - }; - } -}, Object.getPrototypeOf(Object.getPrototypeOf([][Symbol.iterator]()))); - -Object.defineProperty(HeadersIteratorPrototype, Symbol.toStringTag, { - value: 'HeadersIterator', - writable: false, - enumerable: false, - configurable: true -}); - -/** - * Export the Headers object in a form that Node.js can consume. - * - * @param Headers headers - * @return Object - */ -function exportNodeCompatibleHeaders(headers) { - const obj = Object.assign({ __proto__: null }, headers[MAP]); - - // http.request() only supports string as Host header. This hack makes - // specifying custom Host header possible. - const hostHeaderKey = find(headers[MAP], 'Host'); - if (hostHeaderKey !== undefined) { - obj[hostHeaderKey] = obj[hostHeaderKey][0]; - } - - return obj; -} - -/** - * Create a Headers object from an object of headers, ignoring those that do - * not conform to HTTP grammar productions. - * - * @param Object obj Object of headers - * @return Headers - */ -function createHeadersLenient(obj) { - const headers = new Headers(); - for (const name of Object.keys(obj)) { - if (invalidTokenRegex.test(name)) { - continue; - } - if (Array.isArray(obj[name])) { - for (const val of obj[name]) { - if (invalidHeaderCharRegex.test(val)) { - continue; - } - if (headers[MAP][name] === undefined) { - headers[MAP][name] = [val]; - } else { - headers[MAP][name].push(val); - } - } - } else if (!invalidHeaderCharRegex.test(obj[name])) { - headers[MAP][name] = [obj[name]]; - } - } - return headers; -} - -const INTERNALS$1 = Symbol('Response internals'); - -// fix an issue where "STATUS_CODES" aren't a named export for node <10 -const STATUS_CODES = http.STATUS_CODES; - -/** - * Response class - * - * @param Stream body Readable stream - * @param Object opts Response options - * @return Void - */ -class Response { - constructor() { - let body = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null; - let opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - - Body.call(this, body, opts); - - const status = opts.status || 200; - const headers = new Headers(opts.headers); - - if (body != null && !headers.has('Content-Type')) { - const contentType = extractContentType(body); - if (contentType) { - headers.append('Content-Type', contentType); - } - } - - this[INTERNALS$1] = { - url: opts.url, - status, - statusText: opts.statusText || STATUS_CODES[status], - headers, - counter: opts.counter - }; - } - - get url() { - return this[INTERNALS$1].url || ''; - } - - get status() { - return this[INTERNALS$1].status; - } - - /** - * Convenience property representing if the request ended normally - */ - get ok() { - return this[INTERNALS$1].status >= 200 && this[INTERNALS$1].status < 300; - } - - get redirected() { - return this[INTERNALS$1].counter > 0; - } - - get statusText() { - return this[INTERNALS$1].statusText; - } - - get headers() { - return this[INTERNALS$1].headers; - } - - /** - * Clone this response - * - * @return Response - */ - clone() { - return new Response(clone(this), { - url: this.url, - status: this.status, - statusText: this.statusText, - headers: this.headers, - ok: this.ok, - redirected: this.redirected - }); - } -} - -Body.mixIn(Response.prototype); - -Object.defineProperties(Response.prototype, { - url: { enumerable: true }, - status: { enumerable: true }, - ok: { enumerable: true }, - redirected: { enumerable: true }, - statusText: { enumerable: true }, - headers: { enumerable: true }, - clone: { enumerable: true } -}); - -Object.defineProperty(Response.prototype, Symbol.toStringTag, { - value: 'Response', - writable: false, - enumerable: false, - configurable: true -}); - -const INTERNALS$2 = Symbol('Request internals'); -const URL = Url.URL || whatwgUrl.URL; - -// fix an issue where "format", "parse" aren't a named export for node <10 -const parse_url = Url.parse; -const format_url = Url.format; - -/** - * Wrapper around `new URL` to handle arbitrary URLs - * - * @param {string} urlStr - * @return {void} - */ -function parseURL(urlStr) { - /* - Check whether the URL is absolute or not - Scheme: https://tools.ietf.org/html/rfc3986#section-3.1 - Absolute URL: https://tools.ietf.org/html/rfc3986#section-4.3 - */ - if (/^[a-zA-Z][a-zA-Z\d+\-.]*:/.exec(urlStr)) { - urlStr = new URL(urlStr).toString(); - } - - // Fallback to old implementation for arbitrary URLs - return parse_url(urlStr); -} - -const streamDestructionSupported = 'destroy' in Stream.Readable.prototype; - -/** - * Check if a value is an instance of Request. - * - * @param Mixed input - * @return Boolean - */ -function isRequest(input) { - return typeof input === 'object' && typeof input[INTERNALS$2] === 'object'; -} - -function isAbortSignal(signal) { - const proto = signal && typeof signal === 'object' && Object.getPrototypeOf(signal); - return !!(proto && proto.constructor.name === 'AbortSignal'); -} - -/** - * Request class - * - * @param Mixed input Url or Request instance - * @param Object init Custom options - * @return Void - */ -class Request { - constructor(input) { - let init = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - - let parsedURL; - - // normalize input - if (!isRequest(input)) { - if (input && input.href) { - // in order to support Node.js' Url objects; though WHATWG's URL objects - // will fall into this branch also (since their `toString()` will return - // `href` property anyway) - parsedURL = parseURL(input.href); - } else { - // coerce input to a string before attempting to parse - parsedURL = parseURL(`${input}`); - } - input = {}; - } else { - parsedURL = parseURL(input.url); - } - - let method = init.method || input.method || 'GET'; - method = method.toUpperCase(); - - if ((init.body != null || isRequest(input) && input.body !== null) && (method === 'GET' || method === 'HEAD')) { - throw new TypeError('Request with GET/HEAD method cannot have body'); - } - - let inputBody = init.body != null ? init.body : isRequest(input) && input.body !== null ? clone(input) : null; - - Body.call(this, inputBody, { - timeout: init.timeout || input.timeout || 0, - size: init.size || input.size || 0 - }); - - const headers = new Headers(init.headers || input.headers || {}); - - if (inputBody != null && !headers.has('Content-Type')) { - const contentType = extractContentType(inputBody); - if (contentType) { - headers.append('Content-Type', contentType); - } - } - - let signal = isRequest(input) ? input.signal : null; - if ('signal' in init) signal = init.signal; - - if (signal != null && !isAbortSignal(signal)) { - throw new TypeError('Expected signal to be an instanceof AbortSignal'); - } - - this[INTERNALS$2] = { - method, - redirect: init.redirect || input.redirect || 'follow', - headers, - parsedURL, - signal - }; - - // node-fetch-only options - this.follow = init.follow !== undefined ? init.follow : input.follow !== undefined ? input.follow : 20; - this.compress = init.compress !== undefined ? init.compress : input.compress !== undefined ? input.compress : true; - this.counter = init.counter || input.counter || 0; - this.agent = init.agent || input.agent; - } - - get method() { - return this[INTERNALS$2].method; - } - - get url() { - return format_url(this[INTERNALS$2].parsedURL); - } - - get headers() { - return this[INTERNALS$2].headers; - } - - get redirect() { - return this[INTERNALS$2].redirect; - } - - get signal() { - return this[INTERNALS$2].signal; - } - - /** - * Clone this request - * - * @return Request - */ - clone() { - return new Request(this); - } -} - -Body.mixIn(Request.prototype); - -Object.defineProperty(Request.prototype, Symbol.toStringTag, { - value: 'Request', - writable: false, - enumerable: false, - configurable: true -}); - -Object.defineProperties(Request.prototype, { - method: { enumerable: true }, - url: { enumerable: true }, - headers: { enumerable: true }, - redirect: { enumerable: true }, - clone: { enumerable: true }, - signal: { enumerable: true } -}); - -/** - * Convert a Request to Node.js http request options. - * - * @param Request A Request instance - * @return Object The options object to be passed to http.request - */ -function getNodeRequestOptions(request) { - const parsedURL = request[INTERNALS$2].parsedURL; - const headers = new Headers(request[INTERNALS$2].headers); - - // fetch step 1.3 - if (!headers.has('Accept')) { - headers.set('Accept', '*/*'); - } - - // Basic fetch - if (!parsedURL.protocol || !parsedURL.hostname) { - throw new TypeError('Only absolute URLs are supported'); - } - - if (!/^https?:$/.test(parsedURL.protocol)) { - throw new TypeError('Only HTTP(S) protocols are supported'); - } - - if (request.signal && request.body instanceof Stream.Readable && !streamDestructionSupported) { - throw new Error('Cancellation of streamed requests with AbortSignal is not supported in node < 8'); - } - - // HTTP-network-or-cache fetch steps 2.4-2.7 - let contentLengthValue = null; - if (request.body == null && /^(POST|PUT)$/i.test(request.method)) { - contentLengthValue = '0'; - } - if (request.body != null) { - const totalBytes = getTotalBytes(request); - if (typeof totalBytes === 'number') { - contentLengthValue = String(totalBytes); - } - } - if (contentLengthValue) { - headers.set('Content-Length', contentLengthValue); - } - - // HTTP-network-or-cache fetch step 2.11 - if (!headers.has('User-Agent')) { - headers.set('User-Agent', 'node-fetch/1.0 (+https://github.com/bitinn/node-fetch)'); - } - - // HTTP-network-or-cache fetch step 2.15 - if (request.compress && !headers.has('Accept-Encoding')) { - headers.set('Accept-Encoding', 'gzip,deflate'); - } - - let agent = request.agent; - if (typeof agent === 'function') { - agent = agent(parsedURL); - } - - if (!headers.has('Connection') && !agent) { - headers.set('Connection', 'close'); - } - - // HTTP-network fetch step 4.2 - // chunked encoding is handled by Node.js - - return Object.assign({}, parsedURL, { - method: request.method, - headers: exportNodeCompatibleHeaders(headers), - agent - }); -} - -/** - * abort-error.js - * - * AbortError interface for cancelled requests - */ - -/** - * Create AbortError instance - * - * @param String message Error message for human - * @return AbortError - */ -function AbortError(message) { - Error.call(this, message); - - this.type = 'aborted'; - this.message = message; - - // hide custom error implementation details from end-users - Error.captureStackTrace(this, this.constructor); -} - -AbortError.prototype = Object.create(Error.prototype); -AbortError.prototype.constructor = AbortError; -AbortError.prototype.name = 'AbortError'; - -const URL$1 = Url.URL || whatwgUrl.URL; - -// fix an issue where "PassThrough", "resolve" aren't a named export for node <10 -const PassThrough$1 = Stream.PassThrough; - -const isDomainOrSubdomain = function isDomainOrSubdomain(destination, original) { - const orig = new URL$1(original).hostname; - const dest = new URL$1(destination).hostname; - - return orig === dest || orig[orig.length - dest.length - 1] === '.' && orig.endsWith(dest); -}; - -/** - * isSameProtocol reports whether the two provided URLs use the same protocol. - * - * Both domains must already be in canonical form. - * @param {string|URL} original - * @param {string|URL} destination - */ -const isSameProtocol = function isSameProtocol(destination, original) { - const orig = new URL$1(original).protocol; - const dest = new URL$1(destination).protocol; - - return orig === dest; -}; - -/** - * Fetch function - * - * @param Mixed url Absolute url or Request instance - * @param Object opts Fetch options - * @return Promise - */ -function fetch(url, opts) { - - // allow custom promise - if (!fetch.Promise) { - throw new Error('native promise missing, set fetch.Promise to your favorite alternative'); - } - - Body.Promise = fetch.Promise; - - // wrap http.request into fetch - return new fetch.Promise(function (resolve, reject) { - // build request object - const request = new Request(url, opts); - const options = getNodeRequestOptions(request); - - const send = (options.protocol === 'https:' ? https : http).request; - const signal = request.signal; - - let response = null; - - const abort = function abort() { - let error = new AbortError('The user aborted a request.'); - reject(error); - if (request.body && request.body instanceof Stream.Readable) { - destroyStream(request.body, error); - } - if (!response || !response.body) return; - response.body.emit('error', error); - }; - - if (signal && signal.aborted) { - abort(); - return; - } - - const abortAndFinalize = function abortAndFinalize() { - abort(); - finalize(); - }; - - // send request - const req = send(options); - let reqTimeout; - - if (signal) { - signal.addEventListener('abort', abortAndFinalize); - } - - function finalize() { - req.abort(); - if (signal) signal.removeEventListener('abort', abortAndFinalize); - clearTimeout(reqTimeout); - } - - if (request.timeout) { - req.once('socket', function (socket) { - reqTimeout = setTimeout(function () { - reject(new FetchError(`network timeout at: ${request.url}`, 'request-timeout')); - finalize(); - }, request.timeout); - }); - } - - req.on('error', function (err) { - reject(new FetchError(`request to ${request.url} failed, reason: ${err.message}`, 'system', err)); - - if (response && response.body) { - destroyStream(response.body, err); - } - - finalize(); - }); - - fixResponseChunkedTransferBadEnding(req, function (err) { - if (signal && signal.aborted) { - return; - } - - if (response && response.body) { - destroyStream(response.body, err); - } - }); - - /* c8 ignore next 18 */ - if (parseInt(process.version.substring(1)) < 14) { - // Before Node.js 14, pipeline() does not fully support async iterators and does not always - // properly handle when the socket close/end events are out of order. - req.on('socket', function (s) { - s.addListener('close', function (hadError) { - // if a data listener is still present we didn't end cleanly - const hasDataListener = s.listenerCount('data') > 0; - - // if end happened before close but the socket didn't emit an error, do it now - if (response && hasDataListener && !hadError && !(signal && signal.aborted)) { - const err = new Error('Premature close'); - err.code = 'ERR_STREAM_PREMATURE_CLOSE'; - response.body.emit('error', err); - } - }); - }); - } - - req.on('response', function (res) { - clearTimeout(reqTimeout); - - const headers = createHeadersLenient(res.headers); - - // HTTP fetch step 5 - if (fetch.isRedirect(res.statusCode)) { - // HTTP fetch step 5.2 - const location = headers.get('Location'); - - // HTTP fetch step 5.3 - let locationURL = null; - try { - locationURL = location === null ? null : new URL$1(location, request.url).toString(); - } catch (err) { - // error here can only be invalid URL in Location: header - // do not throw when options.redirect == manual - // let the user extract the errorneous redirect URL - if (request.redirect !== 'manual') { - reject(new FetchError(`uri requested responds with an invalid redirect URL: ${location}`, 'invalid-redirect')); - finalize(); - return; - } - } - - // HTTP fetch step 5.5 - switch (request.redirect) { - case 'error': - reject(new FetchError(`uri requested responds with a redirect, redirect mode is set to error: ${request.url}`, 'no-redirect')); - finalize(); - return; - case 'manual': - // node-fetch-specific step: make manual redirect a bit easier to use by setting the Location header value to the resolved URL. - if (locationURL !== null) { - // handle corrupted header - try { - headers.set('Location', locationURL); - } catch (err) { - // istanbul ignore next: nodejs server prevent invalid response headers, we can't test this through normal request - reject(err); - } - } - break; - case 'follow': - // HTTP-redirect fetch step 2 - if (locationURL === null) { - break; - } - - // HTTP-redirect fetch step 5 - if (request.counter >= request.follow) { - reject(new FetchError(`maximum redirect reached at: ${request.url}`, 'max-redirect')); - finalize(); - return; - } - - // HTTP-redirect fetch step 6 (counter increment) - // Create a new Request object. - const requestOpts = { - headers: new Headers(request.headers), - follow: request.follow, - counter: request.counter + 1, - agent: request.agent, - compress: request.compress, - method: request.method, - body: request.body, - signal: request.signal, - timeout: request.timeout, - size: request.size - }; - - if (!isDomainOrSubdomain(request.url, locationURL) || !isSameProtocol(request.url, locationURL)) { - for (const name of ['authorization', 'www-authenticate', 'cookie', 'cookie2']) { - requestOpts.headers.delete(name); - } - } - - // HTTP-redirect fetch step 9 - if (res.statusCode !== 303 && request.body && getTotalBytes(request) === null) { - reject(new FetchError('Cannot follow redirect with body being a readable stream', 'unsupported-redirect')); - finalize(); - return; - } - - // HTTP-redirect fetch step 11 - if (res.statusCode === 303 || (res.statusCode === 301 || res.statusCode === 302) && request.method === 'POST') { - requestOpts.method = 'GET'; - requestOpts.body = undefined; - requestOpts.headers.delete('content-length'); - } - - // HTTP-redirect fetch step 15 - resolve(fetch(new Request(locationURL, requestOpts))); - finalize(); - return; - } - } - - // prepare response - res.once('end', function () { - if (signal) signal.removeEventListener('abort', abortAndFinalize); - }); - let body = res.pipe(new PassThrough$1()); - - const response_options = { - url: request.url, - status: res.statusCode, - statusText: res.statusMessage, - headers: headers, - size: request.size, - timeout: request.timeout, - counter: request.counter - }; - - // HTTP-network fetch step 12.1.1.3 - const codings = headers.get('Content-Encoding'); - - // HTTP-network fetch step 12.1.1.4: handle content codings - - // in following scenarios we ignore compression support - // 1. compression support is disabled - // 2. HEAD request - // 3. no Content-Encoding header - // 4. no content response (204) - // 5. content not modified response (304) - if (!request.compress || request.method === 'HEAD' || codings === null || res.statusCode === 204 || res.statusCode === 304) { - response = new Response(body, response_options); - resolve(response); - return; - } - - // For Node v6+ - // Be less strict when decoding compressed responses, since sometimes - // servers send slightly invalid responses that are still accepted - // by common browsers. - // Always using Z_SYNC_FLUSH is what cURL does. - const zlibOptions = { - flush: zlib.Z_SYNC_FLUSH, - finishFlush: zlib.Z_SYNC_FLUSH - }; - - // for gzip - if (codings == 'gzip' || codings == 'x-gzip') { - body = body.pipe(zlib.createGunzip(zlibOptions)); - response = new Response(body, response_options); - resolve(response); - return; - } - - // for deflate - if (codings == 'deflate' || codings == 'x-deflate') { - // handle the infamous raw deflate response from old servers - // a hack for old IIS and Apache servers - const raw = res.pipe(new PassThrough$1()); - raw.once('data', function (chunk) { - // see http://stackoverflow.com/questions/37519828 - if ((chunk[0] & 0x0F) === 0x08) { - body = body.pipe(zlib.createInflate()); - } else { - body = body.pipe(zlib.createInflateRaw()); - } - response = new Response(body, response_options); - resolve(response); - }); - raw.on('end', function () { - // some old IIS servers return zero-length OK deflate responses, so 'data' is never emitted. - if (!response) { - response = new Response(body, response_options); - resolve(response); - } - }); - return; - } - - // for br - if (codings == 'br' && typeof zlib.createBrotliDecompress === 'function') { - body = body.pipe(zlib.createBrotliDecompress()); - response = new Response(body, response_options); - resolve(response); - return; - } - - // otherwise, use response as-is - response = new Response(body, response_options); - resolve(response); - }); - - writeToStream(req, request); - }); -} -function fixResponseChunkedTransferBadEnding(request, errorCallback) { - let socket; - - request.on('socket', function (s) { - socket = s; - }); - - request.on('response', function (response) { - const headers = response.headers; - - if (headers['transfer-encoding'] === 'chunked' && !headers['content-length']) { - response.once('close', function (hadError) { - // tests for socket presence, as in some situations the - // the 'socket' event is not triggered for the request - // (happens in deno), avoids `TypeError` - // if a data listener is still present we didn't end cleanly - const hasDataListener = socket && socket.listenerCount('data') > 0; - - if (hasDataListener && !hadError) { - const err = new Error('Premature close'); - err.code = 'ERR_STREAM_PREMATURE_CLOSE'; - errorCallback(err); - } - }); - } - }); -} - -function destroyStream(stream, err) { - if (stream.destroy) { - stream.destroy(err); - } else { - // node < 8 - stream.emit('error', err); - stream.end(); - } -} - -/** - * Redirect code matching - * - * @param Number code Status code - * @return Boolean - */ -fetch.isRedirect = function (code) { - return code === 301 || code === 302 || code === 303 || code === 307 || code === 308; -}; - -// expose Promise -fetch.Promise = global.Promise; - -module.exports = exports = fetch; -Object.defineProperty(exports, "__esModule", ({ value: true })); -exports["default"] = exports; -exports.Headers = Headers; -exports.Request = Request; -exports.Response = Response; -exports.FetchError = FetchError; - - -/***/ }), - -/***/ 50401: -/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { - - -const usm = __nccwpck_require__(45062); - -exports.implementation = class URLImpl { - constructor(constructorArgs) { - const url = constructorArgs[0]; - const base = constructorArgs[1]; - - let parsedBase = null; - if (base !== undefined) { - parsedBase = usm.basicURLParse(base); - if (parsedBase === "failure") { - throw new TypeError("Invalid base URL"); - } - } - - const parsedURL = usm.basicURLParse(url, { baseURL: parsedBase }); - if (parsedURL === "failure") { - throw new TypeError("Invalid URL"); - } - - this._url = parsedURL; - - // TODO: query stuff - } - - get href() { - return usm.serializeURL(this._url); - } - - set href(v) { - const parsedURL = usm.basicURLParse(v); - if (parsedURL === "failure") { - throw new TypeError("Invalid URL"); - } - - this._url = parsedURL; - } - - get origin() { - return usm.serializeURLOrigin(this._url); - } - - get protocol() { - return this._url.scheme + ":"; - } - - set protocol(v) { - usm.basicURLParse(v + ":", { url: this._url, stateOverride: "scheme start" }); - } - - get username() { - return this._url.username; - } - - set username(v) { - if (usm.cannotHaveAUsernamePasswordPort(this._url)) { - return; - } - - usm.setTheUsername(this._url, v); - } - - get password() { - return this._url.password; - } - - set password(v) { - if (usm.cannotHaveAUsernamePasswordPort(this._url)) { - return; - } - - usm.setThePassword(this._url, v); - } - - get host() { - const url = this._url; - - if (url.host === null) { - return ""; - } - - if (url.port === null) { - return usm.serializeHost(url.host); - } - - return usm.serializeHost(url.host) + ":" + usm.serializeInteger(url.port); - } - - set host(v) { - if (this._url.cannotBeABaseURL) { - return; - } - - usm.basicURLParse(v, { url: this._url, stateOverride: "host" }); - } - - get hostname() { - if (this._url.host === null) { - return ""; - } - - return usm.serializeHost(this._url.host); - } - - set hostname(v) { - if (this._url.cannotBeABaseURL) { - return; - } - - usm.basicURLParse(v, { url: this._url, stateOverride: "hostname" }); - } - - get port() { - if (this._url.port === null) { - return ""; - } - - return usm.serializeInteger(this._url.port); - } - - set port(v) { - if (usm.cannotHaveAUsernamePasswordPort(this._url)) { - return; - } - - if (v === "") { - this._url.port = null; - } else { - usm.basicURLParse(v, { url: this._url, stateOverride: "port" }); - } - } - - get pathname() { - if (this._url.cannotBeABaseURL) { - return this._url.path[0]; - } - - if (this._url.path.length === 0) { - return ""; - } - - return "/" + this._url.path.join("/"); - } - - set pathname(v) { - if (this._url.cannotBeABaseURL) { - return; - } - - this._url.path = []; - usm.basicURLParse(v, { url: this._url, stateOverride: "path start" }); - } - - get search() { - if (this._url.query === null || this._url.query === "") { - return ""; - } - - return "?" + this._url.query; - } - - set search(v) { - // TODO: query stuff - - const url = this._url; - - if (v === "") { - url.query = null; - return; - } - - const input = v[0] === "?" ? v.substring(1) : v; - url.query = ""; - usm.basicURLParse(input, { url, stateOverride: "query" }); - } - - get hash() { - if (this._url.fragment === null || this._url.fragment === "") { - return ""; - } - - return "#" + this._url.fragment; - } - - set hash(v) { - if (v === "") { - this._url.fragment = null; - return; - } - - const input = v[0] === "#" ? v.substring(1) : v; - this._url.fragment = ""; - usm.basicURLParse(input, { url: this._url, stateOverride: "fragment" }); - } - - toJSON() { - return this.href; - } -}; - - -/***/ }), - -/***/ 88150: -/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { - - - -const conversions = __nccwpck_require__(11690); -const utils = __nccwpck_require__(28042); -const Impl = __nccwpck_require__(50401); - -const impl = utils.implSymbol; - -function URL(url) { - if (!this || this[impl] || !(this instanceof URL)) { - throw new TypeError("Failed to construct 'URL': Please use the 'new' operator, this DOM object constructor cannot be called as a function."); - } - if (arguments.length < 1) { - throw new TypeError("Failed to construct 'URL': 1 argument required, but only " + arguments.length + " present."); - } - const args = []; - for (let i = 0; i < arguments.length && i < 2; ++i) { - args[i] = arguments[i]; - } - args[0] = conversions["USVString"](args[0]); - if (args[1] !== undefined) { - args[1] = conversions["USVString"](args[1]); - } - - module.exports.setup(this, args); -} - -URL.prototype.toJSON = function toJSON() { - if (!this || !module.exports.is(this)) { - throw new TypeError("Illegal invocation"); - } - const args = []; - for (let i = 0; i < arguments.length && i < 0; ++i) { - args[i] = arguments[i]; - } - return this[impl].toJSON.apply(this[impl], args); -}; -Object.defineProperty(URL.prototype, "href", { - get() { - return this[impl].href; - }, - set(V) { - V = conversions["USVString"](V); - this[impl].href = V; - }, - enumerable: true, - configurable: true -}); - -URL.prototype.toString = function () { - if (!this || !module.exports.is(this)) { - throw new TypeError("Illegal invocation"); - } - return this.href; -}; - -Object.defineProperty(URL.prototype, "origin", { - get() { - return this[impl].origin; - }, - enumerable: true, - configurable: true -}); - -Object.defineProperty(URL.prototype, "protocol", { - get() { - return this[impl].protocol; - }, - set(V) { - V = conversions["USVString"](V); - this[impl].protocol = V; - }, - enumerable: true, - configurable: true -}); - -Object.defineProperty(URL.prototype, "username", { - get() { - return this[impl].username; - }, - set(V) { - V = conversions["USVString"](V); - this[impl].username = V; - }, - enumerable: true, - configurable: true -}); - -Object.defineProperty(URL.prototype, "password", { - get() { - return this[impl].password; - }, - set(V) { - V = conversions["USVString"](V); - this[impl].password = V; - }, - enumerable: true, - configurable: true -}); - -Object.defineProperty(URL.prototype, "host", { - get() { - return this[impl].host; - }, - set(V) { - V = conversions["USVString"](V); - this[impl].host = V; - }, - enumerable: true, - configurable: true -}); - -Object.defineProperty(URL.prototype, "hostname", { - get() { - return this[impl].hostname; - }, - set(V) { - V = conversions["USVString"](V); - this[impl].hostname = V; - }, - enumerable: true, - configurable: true -}); - -Object.defineProperty(URL.prototype, "port", { - get() { - return this[impl].port; - }, - set(V) { - V = conversions["USVString"](V); - this[impl].port = V; - }, - enumerable: true, - configurable: true -}); - -Object.defineProperty(URL.prototype, "pathname", { - get() { - return this[impl].pathname; - }, - set(V) { - V = conversions["USVString"](V); - this[impl].pathname = V; - }, - enumerable: true, - configurable: true -}); - -Object.defineProperty(URL.prototype, "search", { - get() { - return this[impl].search; - }, - set(V) { - V = conversions["USVString"](V); - this[impl].search = V; - }, - enumerable: true, - configurable: true -}); - -Object.defineProperty(URL.prototype, "hash", { - get() { - return this[impl].hash; - }, - set(V) { - V = conversions["USVString"](V); - this[impl].hash = V; - }, - enumerable: true, - configurable: true -}); - - -module.exports = { - is(obj) { - return !!obj && obj[impl] instanceof Impl.implementation; - }, - create(constructorArgs, privateData) { - let obj = Object.create(URL.prototype); - this.setup(obj, constructorArgs, privateData); - return obj; - }, - setup(obj, constructorArgs, privateData) { - if (!privateData) privateData = {}; - privateData.wrapper = obj; - - obj[impl] = new Impl.implementation(constructorArgs, privateData); - obj[impl][utils.wrapperSymbol] = obj; - }, - interface: URL, - expose: { - Window: { URL: URL }, - Worker: { URL: URL } - } -}; - - - -/***/ }), - -/***/ 68383: -/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { - - - -exports.URL = __nccwpck_require__(88150)["interface"]; -exports.serializeURL = __nccwpck_require__(45062).serializeURL; -exports.serializeURLOrigin = __nccwpck_require__(45062).serializeURLOrigin; -exports.basicURLParse = __nccwpck_require__(45062).basicURLParse; -exports.setTheUsername = __nccwpck_require__(45062).setTheUsername; -exports.setThePassword = __nccwpck_require__(45062).setThePassword; -exports.serializeHost = __nccwpck_require__(45062).serializeHost; -exports.serializeInteger = __nccwpck_require__(45062).serializeInteger; -exports.parseURL = __nccwpck_require__(45062).parseURL; - - -/***/ }), - -/***/ 45062: -/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { - - -const punycode = __nccwpck_require__(24876); -const tr46 = __nccwpck_require__(90103); - -const specialSchemes = { - ftp: 21, - file: null, - gopher: 70, - http: 80, - https: 443, - ws: 80, - wss: 443 -}; - -const failure = Symbol("failure"); - -function countSymbols(str) { - return punycode.ucs2.decode(str).length; -} - -function at(input, idx) { - const c = input[idx]; - return isNaN(c) ? undefined : String.fromCodePoint(c); -} - -function isASCIIDigit(c) { - return c >= 0x30 && c <= 0x39; -} - -function isASCIIAlpha(c) { - return (c >= 0x41 && c <= 0x5A) || (c >= 0x61 && c <= 0x7A); -} - -function isASCIIAlphanumeric(c) { - return isASCIIAlpha(c) || isASCIIDigit(c); -} - -function isASCIIHex(c) { - return isASCIIDigit(c) || (c >= 0x41 && c <= 0x46) || (c >= 0x61 && c <= 0x66); -} - -function isSingleDot(buffer) { - return buffer === "." || buffer.toLowerCase() === "%2e"; -} - -function isDoubleDot(buffer) { - buffer = buffer.toLowerCase(); - return buffer === ".." || buffer === "%2e." || buffer === ".%2e" || buffer === "%2e%2e"; -} - -function isWindowsDriveLetterCodePoints(cp1, cp2) { - return isASCIIAlpha(cp1) && (cp2 === 58 || cp2 === 124); -} - -function isWindowsDriveLetterString(string) { - return string.length === 2 && isASCIIAlpha(string.codePointAt(0)) && (string[1] === ":" || string[1] === "|"); -} - -function isNormalizedWindowsDriveLetterString(string) { - return string.length === 2 && isASCIIAlpha(string.codePointAt(0)) && string[1] === ":"; -} - -function containsForbiddenHostCodePoint(string) { - return string.search(/\u0000|\u0009|\u000A|\u000D|\u0020|#|%|\/|:|\?|@|\[|\\|\]/) !== -1; -} - -function containsForbiddenHostCodePointExcludingPercent(string) { - return string.search(/\u0000|\u0009|\u000A|\u000D|\u0020|#|\/|:|\?|@|\[|\\|\]/) !== -1; -} - -function isSpecialScheme(scheme) { - return specialSchemes[scheme] !== undefined; -} - -function isSpecial(url) { - return isSpecialScheme(url.scheme); -} - -function defaultPort(scheme) { - return specialSchemes[scheme]; -} - -function percentEncode(c) { - let hex = c.toString(16).toUpperCase(); - if (hex.length === 1) { - hex = "0" + hex; - } - - return "%" + hex; -} - -function utf8PercentEncode(c) { - const buf = new Buffer(c); - - let str = ""; - - for (let i = 0; i < buf.length; ++i) { - str += percentEncode(buf[i]); - } - - return str; -} - -function utf8PercentDecode(str) { - const input = new Buffer(str); - const output = []; - for (let i = 0; i < input.length; ++i) { - if (input[i] !== 37) { - output.push(input[i]); - } else if (input[i] === 37 && isASCIIHex(input[i + 1]) && isASCIIHex(input[i + 2])) { - output.push(parseInt(input.slice(i + 1, i + 3).toString(), 16)); - i += 2; - } else { - output.push(input[i]); - } - } - return new Buffer(output).toString(); -} - -function isC0ControlPercentEncode(c) { - return c <= 0x1F || c > 0x7E; -} - -const extraPathPercentEncodeSet = new Set([32, 34, 35, 60, 62, 63, 96, 123, 125]); -function isPathPercentEncode(c) { - return isC0ControlPercentEncode(c) || extraPathPercentEncodeSet.has(c); -} - -const extraUserinfoPercentEncodeSet = - new Set([47, 58, 59, 61, 64, 91, 92, 93, 94, 124]); -function isUserinfoPercentEncode(c) { - return isPathPercentEncode(c) || extraUserinfoPercentEncodeSet.has(c); -} - -function percentEncodeChar(c, encodeSetPredicate) { - const cStr = String.fromCodePoint(c); - - if (encodeSetPredicate(c)) { - return utf8PercentEncode(cStr); - } - - return cStr; -} - -function parseIPv4Number(input) { - let R = 10; - - if (input.length >= 2 && input.charAt(0) === "0" && input.charAt(1).toLowerCase() === "x") { - input = input.substring(2); - R = 16; - } else if (input.length >= 2 && input.charAt(0) === "0") { - input = input.substring(1); - R = 8; - } - - if (input === "") { - return 0; - } - - const regex = R === 10 ? /[^0-9]/ : (R === 16 ? /[^0-9A-Fa-f]/ : /[^0-7]/); - if (regex.test(input)) { - return failure; - } - - return parseInt(input, R); -} - -function parseIPv4(input) { - const parts = input.split("."); - if (parts[parts.length - 1] === "") { - if (parts.length > 1) { - parts.pop(); - } - } - - if (parts.length > 4) { - return input; - } - - const numbers = []; - for (const part of parts) { - if (part === "") { - return input; - } - const n = parseIPv4Number(part); - if (n === failure) { - return input; - } - - numbers.push(n); - } - - for (let i = 0; i < numbers.length - 1; ++i) { - if (numbers[i] > 255) { - return failure; - } - } - if (numbers[numbers.length - 1] >= Math.pow(256, 5 - numbers.length)) { - return failure; - } - - let ipv4 = numbers.pop(); - let counter = 0; - - for (const n of numbers) { - ipv4 += n * Math.pow(256, 3 - counter); - ++counter; - } - - return ipv4; -} - -function serializeIPv4(address) { - let output = ""; - let n = address; - - for (let i = 1; i <= 4; ++i) { - output = String(n % 256) + output; - if (i !== 4) { - output = "." + output; - } - n = Math.floor(n / 256); - } - - return output; -} - -function parseIPv6(input) { - const address = [0, 0, 0, 0, 0, 0, 0, 0]; - let pieceIndex = 0; - let compress = null; - let pointer = 0; - - input = punycode.ucs2.decode(input); - - if (input[pointer] === 58) { - if (input[pointer + 1] !== 58) { - return failure; - } - - pointer += 2; - ++pieceIndex; - compress = pieceIndex; - } - - while (pointer < input.length) { - if (pieceIndex === 8) { - return failure; - } - - if (input[pointer] === 58) { - if (compress !== null) { - return failure; - } - ++pointer; - ++pieceIndex; - compress = pieceIndex; - continue; - } - - let value = 0; - let length = 0; - - while (length < 4 && isASCIIHex(input[pointer])) { - value = value * 0x10 + parseInt(at(input, pointer), 16); - ++pointer; - ++length; - } - - if (input[pointer] === 46) { - if (length === 0) { - return failure; - } - - pointer -= length; - - if (pieceIndex > 6) { - return failure; - } - - let numbersSeen = 0; - - while (input[pointer] !== undefined) { - let ipv4Piece = null; - - if (numbersSeen > 0) { - if (input[pointer] === 46 && numbersSeen < 4) { - ++pointer; - } else { - return failure; - } - } - - if (!isASCIIDigit(input[pointer])) { - return failure; - } - - while (isASCIIDigit(input[pointer])) { - const number = parseInt(at(input, pointer)); - if (ipv4Piece === null) { - ipv4Piece = number; - } else if (ipv4Piece === 0) { - return failure; - } else { - ipv4Piece = ipv4Piece * 10 + number; - } - if (ipv4Piece > 255) { - return failure; - } - ++pointer; - } - - address[pieceIndex] = address[pieceIndex] * 0x100 + ipv4Piece; - - ++numbersSeen; - - if (numbersSeen === 2 || numbersSeen === 4) { - ++pieceIndex; - } - } - - if (numbersSeen !== 4) { - return failure; - } - - break; - } else if (input[pointer] === 58) { - ++pointer; - if (input[pointer] === undefined) { - return failure; - } - } else if (input[pointer] !== undefined) { - return failure; - } - - address[pieceIndex] = value; - ++pieceIndex; - } - - if (compress !== null) { - let swaps = pieceIndex - compress; - pieceIndex = 7; - while (pieceIndex !== 0 && swaps > 0) { - const temp = address[compress + swaps - 1]; - address[compress + swaps - 1] = address[pieceIndex]; - address[pieceIndex] = temp; - --pieceIndex; - --swaps; - } - } else if (compress === null && pieceIndex !== 8) { - return failure; - } - - return address; -} - -function serializeIPv6(address) { - let output = ""; - const seqResult = findLongestZeroSequence(address); - const compress = seqResult.idx; - let ignore0 = false; - - for (let pieceIndex = 0; pieceIndex <= 7; ++pieceIndex) { - if (ignore0 && address[pieceIndex] === 0) { - continue; - } else if (ignore0) { - ignore0 = false; - } - - if (compress === pieceIndex) { - const separator = pieceIndex === 0 ? "::" : ":"; - output += separator; - ignore0 = true; - continue; - } - - output += address[pieceIndex].toString(16); - - if (pieceIndex !== 7) { - output += ":"; - } - } - - return output; -} - -function parseHost(input, isSpecialArg) { - if (input[0] === "[") { - if (input[input.length - 1] !== "]") { - return failure; - } - - return parseIPv6(input.substring(1, input.length - 1)); - } - - if (!isSpecialArg) { - return parseOpaqueHost(input); - } - - const domain = utf8PercentDecode(input); - const asciiDomain = tr46.toASCII(domain, false, tr46.PROCESSING_OPTIONS.NONTRANSITIONAL, false); - if (asciiDomain === null) { - return failure; - } - - if (containsForbiddenHostCodePoint(asciiDomain)) { - return failure; - } - - const ipv4Host = parseIPv4(asciiDomain); - if (typeof ipv4Host === "number" || ipv4Host === failure) { - return ipv4Host; - } - - return asciiDomain; -} - -function parseOpaqueHost(input) { - if (containsForbiddenHostCodePointExcludingPercent(input)) { - return failure; - } - - let output = ""; - const decoded = punycode.ucs2.decode(input); - for (let i = 0; i < decoded.length; ++i) { - output += percentEncodeChar(decoded[i], isC0ControlPercentEncode); - } - return output; -} - -function findLongestZeroSequence(arr) { - let maxIdx = null; - let maxLen = 1; // only find elements > 1 - let currStart = null; - let currLen = 0; - - for (let i = 0; i < arr.length; ++i) { - if (arr[i] !== 0) { - if (currLen > maxLen) { - maxIdx = currStart; - maxLen = currLen; - } - - currStart = null; - currLen = 0; - } else { - if (currStart === null) { - currStart = i; - } - ++currLen; - } - } - - // if trailing zeros - if (currLen > maxLen) { - maxIdx = currStart; - maxLen = currLen; - } - - return { - idx: maxIdx, - len: maxLen - }; -} - -function serializeHost(host) { - if (typeof host === "number") { - return serializeIPv4(host); - } - - // IPv6 serializer - if (host instanceof Array) { - return "[" + serializeIPv6(host) + "]"; - } - - return host; -} - -function trimControlChars(url) { - return url.replace(/^[\u0000-\u001F\u0020]+|[\u0000-\u001F\u0020]+$/g, ""); -} - -function trimTabAndNewline(url) { - return url.replace(/\u0009|\u000A|\u000D/g, ""); -} - -function shortenPath(url) { - const path = url.path; - if (path.length === 0) { - return; - } - if (url.scheme === "file" && path.length === 1 && isNormalizedWindowsDriveLetter(path[0])) { - return; - } - - path.pop(); -} - -function includesCredentials(url) { - return url.username !== "" || url.password !== ""; -} - -function cannotHaveAUsernamePasswordPort(url) { - return url.host === null || url.host === "" || url.cannotBeABaseURL || url.scheme === "file"; -} - -function isNormalizedWindowsDriveLetter(string) { - return /^[A-Za-z]:$/.test(string); -} - -function URLStateMachine(input, base, encodingOverride, url, stateOverride) { - this.pointer = 0; - this.input = input; - this.base = base || null; - this.encodingOverride = encodingOverride || "utf-8"; - this.stateOverride = stateOverride; - this.url = url; - this.failure = false; - this.parseError = false; - - if (!this.url) { - this.url = { - scheme: "", - username: "", - password: "", - host: null, - port: null, - path: [], - query: null, - fragment: null, - - cannotBeABaseURL: false - }; - - const res = trimControlChars(this.input); - if (res !== this.input) { - this.parseError = true; - } - this.input = res; - } - - const res = trimTabAndNewline(this.input); - if (res !== this.input) { - this.parseError = true; - } - this.input = res; - - this.state = stateOverride || "scheme start"; - - this.buffer = ""; - this.atFlag = false; - this.arrFlag = false; - this.passwordTokenSeenFlag = false; - - this.input = punycode.ucs2.decode(this.input); - - for (; this.pointer <= this.input.length; ++this.pointer) { - const c = this.input[this.pointer]; - const cStr = isNaN(c) ? undefined : String.fromCodePoint(c); - - // exec state machine - const ret = this["parse " + this.state](c, cStr); - if (!ret) { - break; // terminate algorithm - } else if (ret === failure) { - this.failure = true; - break; - } - } -} - -URLStateMachine.prototype["parse scheme start"] = function parseSchemeStart(c, cStr) { - if (isASCIIAlpha(c)) { - this.buffer += cStr.toLowerCase(); - this.state = "scheme"; - } else if (!this.stateOverride) { - this.state = "no scheme"; - --this.pointer; - } else { - this.parseError = true; - return failure; - } - - return true; -}; - -URLStateMachine.prototype["parse scheme"] = function parseScheme(c, cStr) { - if (isASCIIAlphanumeric(c) || c === 43 || c === 45 || c === 46) { - this.buffer += cStr.toLowerCase(); - } else if (c === 58) { - if (this.stateOverride) { - if (isSpecial(this.url) && !isSpecialScheme(this.buffer)) { - return false; - } - - if (!isSpecial(this.url) && isSpecialScheme(this.buffer)) { - return false; - } - - if ((includesCredentials(this.url) || this.url.port !== null) && this.buffer === "file") { - return false; - } - - if (this.url.scheme === "file" && (this.url.host === "" || this.url.host === null)) { - return false; - } - } - this.url.scheme = this.buffer; - this.buffer = ""; - if (this.stateOverride) { - return false; - } - if (this.url.scheme === "file") { - if (this.input[this.pointer + 1] !== 47 || this.input[this.pointer + 2] !== 47) { - this.parseError = true; - } - this.state = "file"; - } else if (isSpecial(this.url) && this.base !== null && this.base.scheme === this.url.scheme) { - this.state = "special relative or authority"; - } else if (isSpecial(this.url)) { - this.state = "special authority slashes"; - } else if (this.input[this.pointer + 1] === 47) { - this.state = "path or authority"; - ++this.pointer; - } else { - this.url.cannotBeABaseURL = true; - this.url.path.push(""); - this.state = "cannot-be-a-base-URL path"; - } - } else if (!this.stateOverride) { - this.buffer = ""; - this.state = "no scheme"; - this.pointer = -1; - } else { - this.parseError = true; - return failure; - } - - return true; -}; - -URLStateMachine.prototype["parse no scheme"] = function parseNoScheme(c) { - if (this.base === null || (this.base.cannotBeABaseURL && c !== 35)) { - return failure; - } else if (this.base.cannotBeABaseURL && c === 35) { - this.url.scheme = this.base.scheme; - this.url.path = this.base.path.slice(); - this.url.query = this.base.query; - this.url.fragment = ""; - this.url.cannotBeABaseURL = true; - this.state = "fragment"; - } else if (this.base.scheme === "file") { - this.state = "file"; - --this.pointer; - } else { - this.state = "relative"; - --this.pointer; - } - - return true; -}; - -URLStateMachine.prototype["parse special relative or authority"] = function parseSpecialRelativeOrAuthority(c) { - if (c === 47 && this.input[this.pointer + 1] === 47) { - this.state = "special authority ignore slashes"; - ++this.pointer; - } else { - this.parseError = true; - this.state = "relative"; - --this.pointer; - } - - return true; -}; - -URLStateMachine.prototype["parse path or authority"] = function parsePathOrAuthority(c) { - if (c === 47) { - this.state = "authority"; - } else { - this.state = "path"; - --this.pointer; - } - - return true; -}; - -URLStateMachine.prototype["parse relative"] = function parseRelative(c) { - this.url.scheme = this.base.scheme; - if (isNaN(c)) { - this.url.username = this.base.username; - this.url.password = this.base.password; - this.url.host = this.base.host; - this.url.port = this.base.port; - this.url.path = this.base.path.slice(); - this.url.query = this.base.query; - } else if (c === 47) { - this.state = "relative slash"; - } else if (c === 63) { - this.url.username = this.base.username; - this.url.password = this.base.password; - this.url.host = this.base.host; - this.url.port = this.base.port; - this.url.path = this.base.path.slice(); - this.url.query = ""; - this.state = "query"; - } else if (c === 35) { - this.url.username = this.base.username; - this.url.password = this.base.password; - this.url.host = this.base.host; - this.url.port = this.base.port; - this.url.path = this.base.path.slice(); - this.url.query = this.base.query; - this.url.fragment = ""; - this.state = "fragment"; - } else if (isSpecial(this.url) && c === 92) { - this.parseError = true; - this.state = "relative slash"; - } else { - this.url.username = this.base.username; - this.url.password = this.base.password; - this.url.host = this.base.host; - this.url.port = this.base.port; - this.url.path = this.base.path.slice(0, this.base.path.length - 1); - - this.state = "path"; - --this.pointer; - } - - return true; -}; - -URLStateMachine.prototype["parse relative slash"] = function parseRelativeSlash(c) { - if (isSpecial(this.url) && (c === 47 || c === 92)) { - if (c === 92) { - this.parseError = true; - } - this.state = "special authority ignore slashes"; - } else if (c === 47) { - this.state = "authority"; - } else { - this.url.username = this.base.username; - this.url.password = this.base.password; - this.url.host = this.base.host; - this.url.port = this.base.port; - this.state = "path"; - --this.pointer; - } - - return true; -}; - -URLStateMachine.prototype["parse special authority slashes"] = function parseSpecialAuthoritySlashes(c) { - if (c === 47 && this.input[this.pointer + 1] === 47) { - this.state = "special authority ignore slashes"; - ++this.pointer; - } else { - this.parseError = true; - this.state = "special authority ignore slashes"; - --this.pointer; - } - - return true; -}; - -URLStateMachine.prototype["parse special authority ignore slashes"] = function parseSpecialAuthorityIgnoreSlashes(c) { - if (c !== 47 && c !== 92) { - this.state = "authority"; - --this.pointer; - } else { - this.parseError = true; - } - - return true; -}; - -URLStateMachine.prototype["parse authority"] = function parseAuthority(c, cStr) { - if (c === 64) { - this.parseError = true; - if (this.atFlag) { - this.buffer = "%40" + this.buffer; - } - this.atFlag = true; - - // careful, this is based on buffer and has its own pointer (this.pointer != pointer) and inner chars - const len = countSymbols(this.buffer); - for (let pointer = 0; pointer < len; ++pointer) { - const codePoint = this.buffer.codePointAt(pointer); - - if (codePoint === 58 && !this.passwordTokenSeenFlag) { - this.passwordTokenSeenFlag = true; - continue; - } - const encodedCodePoints = percentEncodeChar(codePoint, isUserinfoPercentEncode); - if (this.passwordTokenSeenFlag) { - this.url.password += encodedCodePoints; - } else { - this.url.username += encodedCodePoints; - } - } - this.buffer = ""; - } else if (isNaN(c) || c === 47 || c === 63 || c === 35 || - (isSpecial(this.url) && c === 92)) { - if (this.atFlag && this.buffer === "") { - this.parseError = true; - return failure; - } - this.pointer -= countSymbols(this.buffer) + 1; - this.buffer = ""; - this.state = "host"; - } else { - this.buffer += cStr; - } - - return true; -}; - -URLStateMachine.prototype["parse hostname"] = -URLStateMachine.prototype["parse host"] = function parseHostName(c, cStr) { - if (this.stateOverride && this.url.scheme === "file") { - --this.pointer; - this.state = "file host"; - } else if (c === 58 && !this.arrFlag) { - if (this.buffer === "") { - this.parseError = true; - return failure; - } - - const host = parseHost(this.buffer, isSpecial(this.url)); - if (host === failure) { - return failure; - } - - this.url.host = host; - this.buffer = ""; - this.state = "port"; - if (this.stateOverride === "hostname") { - return false; - } - } else if (isNaN(c) || c === 47 || c === 63 || c === 35 || - (isSpecial(this.url) && c === 92)) { - --this.pointer; - if (isSpecial(this.url) && this.buffer === "") { - this.parseError = true; - return failure; - } else if (this.stateOverride && this.buffer === "" && - (includesCredentials(this.url) || this.url.port !== null)) { - this.parseError = true; - return false; - } - - const host = parseHost(this.buffer, isSpecial(this.url)); - if (host === failure) { - return failure; - } - - this.url.host = host; - this.buffer = ""; - this.state = "path start"; - if (this.stateOverride) { - return false; - } - } else { - if (c === 91) { - this.arrFlag = true; - } else if (c === 93) { - this.arrFlag = false; - } - this.buffer += cStr; - } - - return true; -}; - -URLStateMachine.prototype["parse port"] = function parsePort(c, cStr) { - if (isASCIIDigit(c)) { - this.buffer += cStr; - } else if (isNaN(c) || c === 47 || c === 63 || c === 35 || - (isSpecial(this.url) && c === 92) || - this.stateOverride) { - if (this.buffer !== "") { - const port = parseInt(this.buffer); - if (port > Math.pow(2, 16) - 1) { - this.parseError = true; - return failure; - } - this.url.port = port === defaultPort(this.url.scheme) ? null : port; - this.buffer = ""; - } - if (this.stateOverride) { - return false; - } - this.state = "path start"; - --this.pointer; - } else { - this.parseError = true; - return failure; - } - - return true; -}; - -const fileOtherwiseCodePoints = new Set([47, 92, 63, 35]); - -URLStateMachine.prototype["parse file"] = function parseFile(c) { - this.url.scheme = "file"; - - if (c === 47 || c === 92) { - if (c === 92) { - this.parseError = true; - } - this.state = "file slash"; - } else if (this.base !== null && this.base.scheme === "file") { - if (isNaN(c)) { - this.url.host = this.base.host; - this.url.path = this.base.path.slice(); - this.url.query = this.base.query; - } else if (c === 63) { - this.url.host = this.base.host; - this.url.path = this.base.path.slice(); - this.url.query = ""; - this.state = "query"; - } else if (c === 35) { - this.url.host = this.base.host; - this.url.path = this.base.path.slice(); - this.url.query = this.base.query; - this.url.fragment = ""; - this.state = "fragment"; - } else { - if (this.input.length - this.pointer - 1 === 0 || // remaining consists of 0 code points - !isWindowsDriveLetterCodePoints(c, this.input[this.pointer + 1]) || - (this.input.length - this.pointer - 1 >= 2 && // remaining has at least 2 code points - !fileOtherwiseCodePoints.has(this.input[this.pointer + 2]))) { - this.url.host = this.base.host; - this.url.path = this.base.path.slice(); - shortenPath(this.url); - } else { - this.parseError = true; - } - - this.state = "path"; - --this.pointer; - } - } else { - this.state = "path"; - --this.pointer; - } - - return true; -}; - -URLStateMachine.prototype["parse file slash"] = function parseFileSlash(c) { - if (c === 47 || c === 92) { - if (c === 92) { - this.parseError = true; - } - this.state = "file host"; - } else { - if (this.base !== null && this.base.scheme === "file") { - if (isNormalizedWindowsDriveLetterString(this.base.path[0])) { - this.url.path.push(this.base.path[0]); - } else { - this.url.host = this.base.host; - } - } - this.state = "path"; - --this.pointer; - } - - return true; -}; - -URLStateMachine.prototype["parse file host"] = function parseFileHost(c, cStr) { - if (isNaN(c) || c === 47 || c === 92 || c === 63 || c === 35) { - --this.pointer; - if (!this.stateOverride && isWindowsDriveLetterString(this.buffer)) { - this.parseError = true; - this.state = "path"; - } else if (this.buffer === "") { - this.url.host = ""; - if (this.stateOverride) { - return false; - } - this.state = "path start"; - } else { - let host = parseHost(this.buffer, isSpecial(this.url)); - if (host === failure) { - return failure; - } - if (host === "localhost") { - host = ""; - } - this.url.host = host; - - if (this.stateOverride) { - return false; - } - - this.buffer = ""; - this.state = "path start"; - } - } else { - this.buffer += cStr; - } - - return true; -}; - -URLStateMachine.prototype["parse path start"] = function parsePathStart(c) { - if (isSpecial(this.url)) { - if (c === 92) { - this.parseError = true; - } - this.state = "path"; - - if (c !== 47 && c !== 92) { - --this.pointer; - } - } else if (!this.stateOverride && c === 63) { - this.url.query = ""; - this.state = "query"; - } else if (!this.stateOverride && c === 35) { - this.url.fragment = ""; - this.state = "fragment"; - } else if (c !== undefined) { - this.state = "path"; - if (c !== 47) { - --this.pointer; - } - } - - return true; -}; - -URLStateMachine.prototype["parse path"] = function parsePath(c) { - if (isNaN(c) || c === 47 || (isSpecial(this.url) && c === 92) || - (!this.stateOverride && (c === 63 || c === 35))) { - if (isSpecial(this.url) && c === 92) { - this.parseError = true; - } - - if (isDoubleDot(this.buffer)) { - shortenPath(this.url); - if (c !== 47 && !(isSpecial(this.url) && c === 92)) { - this.url.path.push(""); - } - } else if (isSingleDot(this.buffer) && c !== 47 && - !(isSpecial(this.url) && c === 92)) { - this.url.path.push(""); - } else if (!isSingleDot(this.buffer)) { - if (this.url.scheme === "file" && this.url.path.length === 0 && isWindowsDriveLetterString(this.buffer)) { - if (this.url.host !== "" && this.url.host !== null) { - this.parseError = true; - this.url.host = ""; - } - this.buffer = this.buffer[0] + ":"; - } - this.url.path.push(this.buffer); - } - this.buffer = ""; - if (this.url.scheme === "file" && (c === undefined || c === 63 || c === 35)) { - while (this.url.path.length > 1 && this.url.path[0] === "") { - this.parseError = true; - this.url.path.shift(); - } - } - if (c === 63) { - this.url.query = ""; - this.state = "query"; - } - if (c === 35) { - this.url.fragment = ""; - this.state = "fragment"; - } - } else { - // TODO: If c is not a URL code point and not "%", parse error. - - if (c === 37 && - (!isASCIIHex(this.input[this.pointer + 1]) || - !isASCIIHex(this.input[this.pointer + 2]))) { - this.parseError = true; - } - - this.buffer += percentEncodeChar(c, isPathPercentEncode); - } - - return true; -}; - -URLStateMachine.prototype["parse cannot-be-a-base-URL path"] = function parseCannotBeABaseURLPath(c) { - if (c === 63) { - this.url.query = ""; - this.state = "query"; - } else if (c === 35) { - this.url.fragment = ""; - this.state = "fragment"; - } else { - // TODO: Add: not a URL code point - if (!isNaN(c) && c !== 37) { - this.parseError = true; - } - - if (c === 37 && - (!isASCIIHex(this.input[this.pointer + 1]) || - !isASCIIHex(this.input[this.pointer + 2]))) { - this.parseError = true; - } - - if (!isNaN(c)) { - this.url.path[0] = this.url.path[0] + percentEncodeChar(c, isC0ControlPercentEncode); - } - } - - return true; -}; - -URLStateMachine.prototype["parse query"] = function parseQuery(c, cStr) { - if (isNaN(c) || (!this.stateOverride && c === 35)) { - if (!isSpecial(this.url) || this.url.scheme === "ws" || this.url.scheme === "wss") { - this.encodingOverride = "utf-8"; - } - - const buffer = new Buffer(this.buffer); // TODO: Use encoding override instead - for (let i = 0; i < buffer.length; ++i) { - if (buffer[i] < 0x21 || buffer[i] > 0x7E || buffer[i] === 0x22 || buffer[i] === 0x23 || - buffer[i] === 0x3C || buffer[i] === 0x3E) { - this.url.query += percentEncode(buffer[i]); - } else { - this.url.query += String.fromCodePoint(buffer[i]); - } - } - - this.buffer = ""; - if (c === 35) { - this.url.fragment = ""; - this.state = "fragment"; - } - } else { - // TODO: If c is not a URL code point and not "%", parse error. - if (c === 37 && - (!isASCIIHex(this.input[this.pointer + 1]) || - !isASCIIHex(this.input[this.pointer + 2]))) { - this.parseError = true; - } - - this.buffer += cStr; - } - - return true; -}; - -URLStateMachine.prototype["parse fragment"] = function parseFragment(c) { - if (isNaN(c)) { // do nothing - } else if (c === 0x0) { - this.parseError = true; - } else { - // TODO: If c is not a URL code point and not "%", parse error. - if (c === 37 && - (!isASCIIHex(this.input[this.pointer + 1]) || - !isASCIIHex(this.input[this.pointer + 2]))) { - this.parseError = true; - } - - this.url.fragment += percentEncodeChar(c, isC0ControlPercentEncode); - } - - return true; -}; - -function serializeURL(url, excludeFragment) { - let output = url.scheme + ":"; - if (url.host !== null) { - output += "//"; - - if (url.username !== "" || url.password !== "") { - output += url.username; - if (url.password !== "") { - output += ":" + url.password; - } - output += "@"; - } - - output += serializeHost(url.host); - - if (url.port !== null) { - output += ":" + url.port; - } - } else if (url.host === null && url.scheme === "file") { - output += "//"; - } - - if (url.cannotBeABaseURL) { - output += url.path[0]; - } else { - for (const string of url.path) { - output += "/" + string; - } - } - - if (url.query !== null) { - output += "?" + url.query; - } - - if (!excludeFragment && url.fragment !== null) { - output += "#" + url.fragment; - } - - return output; -} - -function serializeOrigin(tuple) { - let result = tuple.scheme + "://"; - result += serializeHost(tuple.host); - - if (tuple.port !== null) { - result += ":" + tuple.port; - } - - return result; -} - -module.exports.serializeURL = serializeURL; - -module.exports.serializeURLOrigin = function (url) { - // https://url.spec.whatwg.org/#concept-url-origin - switch (url.scheme) { - case "blob": - try { - return module.exports.serializeURLOrigin(module.exports.parseURL(url.path[0])); - } catch (e) { - // serializing an opaque origin returns "null" - return "null"; - } - case "ftp": - case "gopher": - case "http": - case "https": - case "ws": - case "wss": - return serializeOrigin({ - scheme: url.scheme, - host: url.host, - port: url.port - }); - case "file": - // spec says "exercise to the reader", chrome says "file://" - return "file://"; - default: - // serializing an opaque origin returns "null" - return "null"; - } -}; - -module.exports.basicURLParse = function (input, options) { - if (options === undefined) { - options = {}; - } - - const usm = new URLStateMachine(input, options.baseURL, options.encodingOverride, options.url, options.stateOverride); - if (usm.failure) { - return "failure"; - } - - return usm.url; -}; - -module.exports.setTheUsername = function (url, username) { - url.username = ""; - const decoded = punycode.ucs2.decode(username); - for (let i = 0; i < decoded.length; ++i) { - url.username += percentEncodeChar(decoded[i], isUserinfoPercentEncode); - } -}; - -module.exports.setThePassword = function (url, password) { - url.password = ""; - const decoded = punycode.ucs2.decode(password); - for (let i = 0; i < decoded.length; ++i) { - url.password += percentEncodeChar(decoded[i], isUserinfoPercentEncode); - } -}; - -module.exports.serializeHost = serializeHost; - -module.exports.cannotHaveAUsernamePasswordPort = cannotHaveAUsernamePasswordPort; - -module.exports.serializeInteger = function (integer) { - return String(integer); -}; - -module.exports.parseURL = function (input, options) { - if (options === undefined) { - options = {}; - } - - // We don't handle blobs, so this just delegates: - return module.exports.basicURLParse(input, { baseURL: options.baseURL, encodingOverride: options.encodingOverride }); -}; - - -/***/ }), - -/***/ 28042: -/***/ ((module) => { - - - -module.exports.mixin = function mixin(target, source) { - const keys = Object.getOwnPropertyNames(source); - for (let i = 0; i < keys.length; ++i) { - Object.defineProperty(target, keys[i], Object.getOwnPropertyDescriptor(source, keys[i])); - } -}; - -module.exports.wrapperSymbol = Symbol("wrapper"); -module.exports.implSymbol = Symbol("impl"); - -module.exports.wrapperForImpl = function (impl) { - return impl[module.exports.wrapperSymbol]; -}; - -module.exports.implForWrapper = function (wrapper) { - return wrapper[module.exports.implSymbol]; -}; - - - -/***/ }), - -/***/ 90103: -/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { - - - -var punycode = __nccwpck_require__(24876); -var mappingTable = __nccwpck_require__(60338); - -var PROCESSING_OPTIONS = { - TRANSITIONAL: 0, - NONTRANSITIONAL: 1 -}; - -function normalize(str) { // fix bug in v8 - return str.split('\u0000').map(function (s) { return s.normalize('NFC'); }).join('\u0000'); -} - -function findStatus(val) { - var start = 0; - var end = mappingTable.length - 1; - - while (start <= end) { - var mid = Math.floor((start + end) / 2); - - var target = mappingTable[mid]; - if (target[0][0] <= val && target[0][1] >= val) { - return target; - } else if (target[0][0] > val) { - end = mid - 1; - } else { - start = mid + 1; - } - } - - return null; -} - -var regexAstralSymbols = /[\uD800-\uDBFF][\uDC00-\uDFFF]/g; - -function countSymbols(string) { - return string - // replace every surrogate pair with a BMP symbol - .replace(regexAstralSymbols, '_') - // then get the length - .length; -} - -function mapChars(domain_name, useSTD3, processing_option) { - var hasError = false; - var processed = ""; - - var len = countSymbols(domain_name); - for (var i = 0; i < len; ++i) { - var codePoint = domain_name.codePointAt(i); - var status = findStatus(codePoint); - - switch (status[1]) { - case "disallowed": - hasError = true; - processed += String.fromCodePoint(codePoint); - break; - case "ignored": - break; - case "mapped": - processed += String.fromCodePoint.apply(String, status[2]); - break; - case "deviation": - if (processing_option === PROCESSING_OPTIONS.TRANSITIONAL) { - processed += String.fromCodePoint.apply(String, status[2]); - } else { - processed += String.fromCodePoint(codePoint); - } - break; - case "valid": - processed += String.fromCodePoint(codePoint); - break; - case "disallowed_STD3_mapped": - if (useSTD3) { - hasError = true; - processed += String.fromCodePoint(codePoint); - } else { - processed += String.fromCodePoint.apply(String, status[2]); - } - break; - case "disallowed_STD3_valid": - if (useSTD3) { - hasError = true; - } - - processed += String.fromCodePoint(codePoint); - break; - } - } - - return { - string: processed, - error: hasError - }; -} - -var combiningMarksRegex = /[\u0300-\u036F\u0483-\u0489\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u0610-\u061A\u064B-\u065F\u0670\u06D6-\u06DC\u06DF-\u06E4\u06E7\u06E8\u06EA-\u06ED\u0711\u0730-\u074A\u07A6-\u07B0\u07EB-\u07F3\u0816-\u0819\u081B-\u0823\u0825-\u0827\u0829-\u082D\u0859-\u085B\u08E4-\u0903\u093A-\u093C\u093E-\u094F\u0951-\u0957\u0962\u0963\u0981-\u0983\u09BC\u09BE-\u09C4\u09C7\u09C8\u09CB-\u09CD\u09D7\u09E2\u09E3\u0A01-\u0A03\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A70\u0A71\u0A75\u0A81-\u0A83\u0ABC\u0ABE-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AE2\u0AE3\u0B01-\u0B03\u0B3C\u0B3E-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B62\u0B63\u0B82\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD7\u0C00-\u0C03\u0C3E-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C62\u0C63\u0C81-\u0C83\u0CBC\u0CBE-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CE2\u0CE3\u0D01-\u0D03\u0D3E-\u0D44\u0D46-\u0D48\u0D4A-\u0D4D\u0D57\u0D62\u0D63\u0D82\u0D83\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DF2\u0DF3\u0E31\u0E34-\u0E3A\u0E47-\u0E4E\u0EB1\u0EB4-\u0EB9\u0EBB\u0EBC\u0EC8-\u0ECD\u0F18\u0F19\u0F35\u0F37\u0F39\u0F3E\u0F3F\u0F71-\u0F84\u0F86\u0F87\u0F8D-\u0F97\u0F99-\u0FBC\u0FC6\u102B-\u103E\u1056-\u1059\u105E-\u1060\u1062-\u1064\u1067-\u106D\u1071-\u1074\u1082-\u108D\u108F\u109A-\u109D\u135D-\u135F\u1712-\u1714\u1732-\u1734\u1752\u1753\u1772\u1773\u17B4-\u17D3\u17DD\u180B-\u180D\u18A9\u1920-\u192B\u1930-\u193B\u19B0-\u19C0\u19C8\u19C9\u1A17-\u1A1B\u1A55-\u1A5E\u1A60-\u1A7C\u1A7F\u1AB0-\u1ABE\u1B00-\u1B04\u1B34-\u1B44\u1B6B-\u1B73\u1B80-\u1B82\u1BA1-\u1BAD\u1BE6-\u1BF3\u1C24-\u1C37\u1CD0-\u1CD2\u1CD4-\u1CE8\u1CED\u1CF2-\u1CF4\u1CF8\u1CF9\u1DC0-\u1DF5\u1DFC-\u1DFF\u20D0-\u20F0\u2CEF-\u2CF1\u2D7F\u2DE0-\u2DFF\u302A-\u302F\u3099\u309A\uA66F-\uA672\uA674-\uA67D\uA69F\uA6F0\uA6F1\uA802\uA806\uA80B\uA823-\uA827\uA880\uA881\uA8B4-\uA8C4\uA8E0-\uA8F1\uA926-\uA92D\uA947-\uA953\uA980-\uA983\uA9B3-\uA9C0\uA9E5\uAA29-\uAA36\uAA43\uAA4C\uAA4D\uAA7B-\uAA7D\uAAB0\uAAB2-\uAAB4\uAAB7\uAAB8\uAABE\uAABF\uAAC1\uAAEB-\uAAEF\uAAF5\uAAF6\uABE3-\uABEA\uABEC\uABED\uFB1E\uFE00-\uFE0F\uFE20-\uFE2D]|\uD800[\uDDFD\uDEE0\uDF76-\uDF7A]|\uD802[\uDE01-\uDE03\uDE05\uDE06\uDE0C-\uDE0F\uDE38-\uDE3A\uDE3F\uDEE5\uDEE6]|\uD804[\uDC00-\uDC02\uDC38-\uDC46\uDC7F-\uDC82\uDCB0-\uDCBA\uDD00-\uDD02\uDD27-\uDD34\uDD73\uDD80-\uDD82\uDDB3-\uDDC0\uDE2C-\uDE37\uDEDF-\uDEEA\uDF01-\uDF03\uDF3C\uDF3E-\uDF44\uDF47\uDF48\uDF4B-\uDF4D\uDF57\uDF62\uDF63\uDF66-\uDF6C\uDF70-\uDF74]|\uD805[\uDCB0-\uDCC3\uDDAF-\uDDB5\uDDB8-\uDDC0\uDE30-\uDE40\uDEAB-\uDEB7]|\uD81A[\uDEF0-\uDEF4\uDF30-\uDF36]|\uD81B[\uDF51-\uDF7E\uDF8F-\uDF92]|\uD82F[\uDC9D\uDC9E]|\uD834[\uDD65-\uDD69\uDD6D-\uDD72\uDD7B-\uDD82\uDD85-\uDD8B\uDDAA-\uDDAD\uDE42-\uDE44]|\uD83A[\uDCD0-\uDCD6]|\uDB40[\uDD00-\uDDEF]/; - -function validateLabel(label, processing_option) { - if (label.substr(0, 4) === "xn--") { - label = punycode.toUnicode(label); - processing_option = PROCESSING_OPTIONS.NONTRANSITIONAL; - } - - var error = false; - - if (normalize(label) !== label || - (label[3] === "-" && label[4] === "-") || - label[0] === "-" || label[label.length - 1] === "-" || - label.indexOf(".") !== -1 || - label.search(combiningMarksRegex) === 0) { - error = true; - } - - var len = countSymbols(label); - for (var i = 0; i < len; ++i) { - var status = findStatus(label.codePointAt(i)); - if ((processing === PROCESSING_OPTIONS.TRANSITIONAL && status[1] !== "valid") || - (processing === PROCESSING_OPTIONS.NONTRANSITIONAL && - status[1] !== "valid" && status[1] !== "deviation")) { - error = true; - break; - } - } - - return { - label: label, - error: error - }; -} - -function processing(domain_name, useSTD3, processing_option) { - var result = mapChars(domain_name, useSTD3, processing_option); - result.string = normalize(result.string); - - var labels = result.string.split("."); - for (var i = 0; i < labels.length; ++i) { - try { - var validation = validateLabel(labels[i]); - labels[i] = validation.label; - result.error = result.error || validation.error; - } catch(e) { - result.error = true; - } - } - - return { - string: labels.join("."), - error: result.error - }; -} - -module.exports.toASCII = function(domain_name, useSTD3, processing_option, verifyDnsLength) { - var result = processing(domain_name, useSTD3, processing_option); - var labels = result.string.split("."); - labels = labels.map(function(l) { - try { - return punycode.toASCII(l); - } catch(e) { - result.error = true; - return l; - } - }); - - if (verifyDnsLength) { - var total = labels.slice(0, labels.length - 1).join(".").length; - if (total.length > 253 || total.length === 0) { - result.error = true; - } - - for (var i=0; i < labels.length; ++i) { - if (labels.length > 63 || labels.length === 0) { - result.error = true; - break; - } - } - } - - if (result.error) return null; - return labels.join("."); -}; - -module.exports.toUnicode = function(domain_name, useSTD3) { - var result = processing(domain_name, useSTD3, PROCESSING_OPTIONS.NONTRANSITIONAL); - - return { - domain: result.string, - error: result.error - }; -}; - -module.exports.PROCESSING_OPTIONS = PROCESSING_OPTIONS; - - -/***/ }), - -/***/ 11690: -/***/ ((module) => { - - - -var conversions = {}; -module.exports = conversions; - -function sign(x) { - return x < 0 ? -1 : 1; -} - -function evenRound(x) { - // Round x to the nearest integer, choosing the even integer if it lies halfway between two. - if ((x % 1) === 0.5 && (x & 1) === 0) { // [even number].5; round down (i.e. floor) - return Math.floor(x); - } else { - return Math.round(x); - } -} - -function createNumberConversion(bitLength, typeOpts) { - if (!typeOpts.unsigned) { - --bitLength; - } - const lowerBound = typeOpts.unsigned ? 0 : -Math.pow(2, bitLength); - const upperBound = Math.pow(2, bitLength) - 1; - - const moduloVal = typeOpts.moduloBitLength ? Math.pow(2, typeOpts.moduloBitLength) : Math.pow(2, bitLength); - const moduloBound = typeOpts.moduloBitLength ? Math.pow(2, typeOpts.moduloBitLength - 1) : Math.pow(2, bitLength - 1); - - return function(V, opts) { - if (!opts) opts = {}; - - let x = +V; - - if (opts.enforceRange) { - if (!Number.isFinite(x)) { - throw new TypeError("Argument is not a finite number"); - } - - x = sign(x) * Math.floor(Math.abs(x)); - if (x < lowerBound || x > upperBound) { - throw new TypeError("Argument is not in byte range"); - } - - return x; - } - - if (!isNaN(x) && opts.clamp) { - x = evenRound(x); - - if (x < lowerBound) x = lowerBound; - if (x > upperBound) x = upperBound; - return x; - } - - if (!Number.isFinite(x) || x === 0) { - return 0; - } - - x = sign(x) * Math.floor(Math.abs(x)); - x = x % moduloVal; - - if (!typeOpts.unsigned && x >= moduloBound) { - return x - moduloVal; - } else if (typeOpts.unsigned) { - if (x < 0) { - x += moduloVal; - } else if (x === -0) { // don't return negative zero - return 0; - } - } - - return x; - } -} - -conversions["void"] = function () { - return undefined; -}; - -conversions["boolean"] = function (val) { - return !!val; -}; - -conversions["byte"] = createNumberConversion(8, { unsigned: false }); -conversions["octet"] = createNumberConversion(8, { unsigned: true }); - -conversions["short"] = createNumberConversion(16, { unsigned: false }); -conversions["unsigned short"] = createNumberConversion(16, { unsigned: true }); - -conversions["long"] = createNumberConversion(32, { unsigned: false }); -conversions["unsigned long"] = createNumberConversion(32, { unsigned: true }); - -conversions["long long"] = createNumberConversion(32, { unsigned: false, moduloBitLength: 64 }); -conversions["unsigned long long"] = createNumberConversion(32, { unsigned: true, moduloBitLength: 64 }); - -conversions["double"] = function (V) { - const x = +V; - - if (!Number.isFinite(x)) { - throw new TypeError("Argument is not a finite floating-point value"); - } - - return x; -}; - -conversions["unrestricted double"] = function (V) { - const x = +V; - - if (isNaN(x)) { - throw new TypeError("Argument is NaN"); - } - - return x; -}; - -// not quite valid, but good enough for JS -conversions["float"] = conversions["double"]; -conversions["unrestricted float"] = conversions["unrestricted double"]; - -conversions["DOMString"] = function (V, opts) { - if (!opts) opts = {}; - - if (opts.treatNullAsEmptyString && V === null) { - return ""; - } - - return String(V); -}; - -conversions["ByteString"] = function (V, opts) { - const x = String(V); - let c = undefined; - for (let i = 0; (c = x.codePointAt(i)) !== undefined; ++i) { - if (c > 255) { - throw new TypeError("Argument is not a valid bytestring"); - } - } - - return x; -}; - -conversions["USVString"] = function (V) { - const S = String(V); - const n = S.length; - const U = []; - for (let i = 0; i < n; ++i) { - const c = S.charCodeAt(i); - if (c < 0xD800 || c > 0xDFFF) { - U.push(String.fromCodePoint(c)); - } else if (0xDC00 <= c && c <= 0xDFFF) { - U.push(String.fromCodePoint(0xFFFD)); - } else { - if (i === n - 1) { - U.push(String.fromCodePoint(0xFFFD)); - } else { - const d = S.charCodeAt(i + 1); - if (0xDC00 <= d && d <= 0xDFFF) { - const a = c & 0x3FF; - const b = d & 0x3FF; - U.push(String.fromCodePoint((2 << 15) + (2 << 9) * a + b)); - ++i; - } else { - U.push(String.fromCodePoint(0xFFFD)); - } - } - } - } - - return U.join(''); -}; - -conversions["Date"] = function (V, opts) { - if (!(V instanceof Date)) { - throw new TypeError("Argument is not a Date object"); - } - if (isNaN(V)) { - return undefined; - } - - return V; -}; - -conversions["RegExp"] = function (V, opts) { - if (!(V instanceof RegExp)) { - V = new RegExp(V); - } - - return V; -}; - - -/***/ }), - -/***/ 71800: -/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) { - - -var __importDefault = (this && this.__importDefault) || function (mod) { - return (mod && mod.__esModule) ? mod : { "default": mod }; -}; -Object.defineProperty(exports, "__esModule", ({ value: true })); -// @ts-ignore -const node_fetch_1 = __importDefault(__nccwpck_require__(18839)); -const PostgrestError_1 = __importDefault(__nccwpck_require__(86725)); -class PostgrestBuilder { - constructor(builder) { - this.shouldThrowOnError = false; - this.method = builder.method; - this.url = builder.url; - this.headers = builder.headers; - this.schema = builder.schema; - this.body = builder.body; - this.shouldThrowOnError = builder.shouldThrowOnError; - this.signal = builder.signal; - this.isMaybeSingle = builder.isMaybeSingle; - if (builder.fetch) { - this.fetch = builder.fetch; - } - else if (typeof fetch === 'undefined') { - this.fetch = node_fetch_1.default; - } - else { - this.fetch = fetch; - } - } - /** - * If there's an error with the query, throwOnError will reject the promise by - * throwing the error instead of returning it as part of a successful response. - * - * {@link https://github.com/supabase/supabase-js/issues/92} - */ - throwOnError() { - this.shouldThrowOnError = true; - return this; - } - then(onfulfilled, onrejected) { - // https://postgrest.org/en/stable/api.html#switching-schemas - if (this.schema === undefined) { - // skip - } - else if (['GET', 'HEAD'].includes(this.method)) { - this.headers['Accept-Profile'] = this.schema; - } - else { - this.headers['Content-Profile'] = this.schema; - } - if (this.method !== 'GET' && this.method !== 'HEAD') { - this.headers['Content-Type'] = 'application/json'; - } - // NOTE: Invoke w/o `this` to avoid illegal invocation error. - // https://github.com/supabase/postgrest-js/pull/247 - const _fetch = this.fetch; - let res = _fetch(this.url.toString(), { - method: this.method, - headers: this.headers, - body: JSON.stringify(this.body), - signal: this.signal, - }).then(async (res) => { - var _a, _b, _c; - let error = null; - let data = null; - let count = null; - let status = res.status; - let statusText = res.statusText; - if (res.ok) { - if (this.method !== 'HEAD') { - const body = await res.text(); - if (body === '') { - // Prefer: return=minimal - } - else if (this.headers['Accept'] === 'text/csv') { - data = body; - } - else if (this.headers['Accept'] && - this.headers['Accept'].includes('application/vnd.pgrst.plan+text')) { - data = body; - } - else { - data = JSON.parse(body); - } - } - const countHeader = (_a = this.headers['Prefer']) === null || _a === void 0 ? void 0 : _a.match(/count=(exact|planned|estimated)/); - const contentRange = (_b = res.headers.get('content-range')) === null || _b === void 0 ? void 0 : _b.split('/'); - if (countHeader && contentRange && contentRange.length > 1) { - count = parseInt(contentRange[1]); - } - // Temporary partial fix for https://github.com/supabase/postgrest-js/issues/361 - // Issue persists e.g. for `.insert([...]).select().maybeSingle()` - if (this.isMaybeSingle && this.method === 'GET' && Array.isArray(data)) { - if (data.length > 1) { - error = { - // https://github.com/PostgREST/postgrest/blob/a867d79c42419af16c18c3fb019eba8df992626f/src/PostgREST/Error.hs#L553 - code: 'PGRST116', - details: `Results contain ${data.length} rows, application/vnd.pgrst.object+json requires 1 row`, - hint: null, - message: 'JSON object requested, multiple (or no) rows returned', - }; - data = null; - count = null; - status = 406; - statusText = 'Not Acceptable'; - } - else if (data.length === 1) { - data = data[0]; - } - else { - data = null; - } - } - } - else { - const body = await res.text(); - try { - error = JSON.parse(body); - // Workaround for https://github.com/supabase/postgrest-js/issues/295 - if (Array.isArray(error) && res.status === 404) { - data = []; - error = null; - status = 200; - statusText = 'OK'; - } - } - catch (_d) { - // Workaround for https://github.com/supabase/postgrest-js/issues/295 - if (res.status === 404 && body === '') { - status = 204; - statusText = 'No Content'; - } - else { - error = { - message: body, - }; - } - } - if (error && this.isMaybeSingle && ((_c = error === null || error === void 0 ? void 0 : error.details) === null || _c === void 0 ? void 0 : _c.includes('0 rows'))) { - error = null; - status = 200; - statusText = 'OK'; - } - if (error && this.shouldThrowOnError) { - throw new PostgrestError_1.default(error); - } - } - const postgrestResponse = { - error, - data, - count, - status, - statusText, - }; - return postgrestResponse; - }); - if (!this.shouldThrowOnError) { - res = res.catch((fetchError) => { - var _a, _b, _c; - return ({ - error: { - message: `${(_a = fetchError === null || fetchError === void 0 ? void 0 : fetchError.name) !== null && _a !== void 0 ? _a : 'FetchError'}: ${fetchError === null || fetchError === void 0 ? void 0 : fetchError.message}`, - details: `${(_b = fetchError === null || fetchError === void 0 ? void 0 : fetchError.stack) !== null && _b !== void 0 ? _b : ''}`, - hint: '', - code: `${(_c = fetchError === null || fetchError === void 0 ? void 0 : fetchError.code) !== null && _c !== void 0 ? _c : ''}`, - }, - data: null, - count: null, - status: 0, - statusText: '', - }); - }); - } - return res.then(onfulfilled, onrejected); - } -} -exports["default"] = PostgrestBuilder; -//# sourceMappingURL=PostgrestBuilder.js.map - -/***/ }), - -/***/ 87632: -/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) { - - -var __importDefault = (this && this.__importDefault) || function (mod) { - return (mod && mod.__esModule) ? mod : { "default": mod }; -}; -Object.defineProperty(exports, "__esModule", ({ value: true })); -const PostgrestQueryBuilder_1 = __importDefault(__nccwpck_require__(70524)); -const PostgrestFilterBuilder_1 = __importDefault(__nccwpck_require__(76226)); -const constants_1 = __nccwpck_require__(70219); -/** - * PostgREST client. - * - * @typeParam Database - Types for the schema from the [type - * generator](https://supabase.com/docs/reference/javascript/next/typescript-support) - * - * @typeParam SchemaName - Postgres schema to switch to. Must be a string - * literal, the same one passed to the constructor. If the schema is not - * `"public"`, this must be supplied manually. - */ -class PostgrestClient { - // TODO: Add back shouldThrowOnError once we figure out the typings - /** - * Creates a PostgREST client. - * - * @param url - URL of the PostgREST endpoint - * @param options - Named parameters - * @param options.headers - Custom headers - * @param options.schema - Postgres schema to switch to - * @param options.fetch - Custom fetch - */ - constructor(url, { headers = {}, schema, fetch, } = {}) { - this.url = url; - this.headers = Object.assign(Object.assign({}, constants_1.DEFAULT_HEADERS), headers); - this.schemaName = schema; - this.fetch = fetch; - } - /** - * Perform a query on a table or a view. - * - * @param relation - The table or view name to query - */ - from(relation) { - const url = new URL(`${this.url}/${relation}`); - return new PostgrestQueryBuilder_1.default(url, { - headers: Object.assign({}, this.headers), - schema: this.schemaName, - fetch: this.fetch, - }); - } - /** - * Select a schema to query or perform an function (rpc) call. - * - * The schema needs to be on the list of exposed schemas inside Supabase. - * - * @param schema - The schema to query - */ - schema(schema) { - return new PostgrestClient(this.url, { - headers: this.headers, - schema, - fetch: this.fetch, - }); - } - /** - * Perform a function call. - * - * @param fn - The function name to call - * @param args - The arguments to pass to the function call - * @param options - Named parameters - * @param options.head - When set to `true`, `data` will not be returned. - * Useful if you only need the count. - * @param options.get - When set to `true`, the function will be called with - * read-only access mode. - * @param options.count - Count algorithm to use to count rows returned by the - * function. Only applicable for [set-returning - * functions](https://www.postgresql.org/docs/current/functions-srf.html). - * - * `"exact"`: Exact but slow count algorithm. Performs a `COUNT(*)` under the - * hood. - * - * `"planned"`: Approximated but fast count algorithm. Uses the Postgres - * statistics under the hood. - * - * `"estimated"`: Uses exact count for low numbers and planned count for high - * numbers. - */ - rpc(fn, args = {}, { head = false, get = false, count, } = {}) { - let method; - const url = new URL(`${this.url}/rpc/${fn}`); - let body; - if (head) { - method = 'HEAD'; - Object.entries(args).forEach(([name, value]) => { - url.searchParams.append(name, `${value}`); - }); - } - else if (get) { - method = 'GET'; - Object.entries(args).forEach(([name, value]) => { - url.searchParams.append(name, `${value}`); - }); - } - else { - method = 'POST'; - body = args; - } - const headers = Object.assign({}, this.headers); - if (count) { - headers['Prefer'] = `count=${count}`; - } - return new PostgrestFilterBuilder_1.default({ - method, - url, - headers, - schema: this.schemaName, - body, - fetch: this.fetch, - allowEmpty: false, - }); - } -} -exports["default"] = PostgrestClient; -//# sourceMappingURL=PostgrestClient.js.map - -/***/ }), - -/***/ 86725: -/***/ ((__unused_webpack_module, exports) => { - - -Object.defineProperty(exports, "__esModule", ({ value: true })); -class PostgrestError extends Error { - constructor(context) { - super(context.message); - this.name = 'PostgrestError'; - this.details = context.details; - this.hint = context.hint; - this.code = context.code; - } -} -exports["default"] = PostgrestError; -//# sourceMappingURL=PostgrestError.js.map - -/***/ }), - -/***/ 76226: -/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) { - - -var __importDefault = (this && this.__importDefault) || function (mod) { - return (mod && mod.__esModule) ? mod : { "default": mod }; -}; -Object.defineProperty(exports, "__esModule", ({ value: true })); -const PostgrestTransformBuilder_1 = __importDefault(__nccwpck_require__(94388)); -class PostgrestFilterBuilder extends PostgrestTransformBuilder_1.default { - /** - * Match only rows where `column` is equal to `value`. - * - * To check if the value of `column` is NULL, you should use `.is()` instead. - * - * @param column - The column to filter on - * @param value - The value to filter with - */ - eq(column, value) { - this.url.searchParams.append(column, `eq.${value}`); - return this; - } - /** - * Match only rows where `column` is not equal to `value`. - * - * @param column - The column to filter on - * @param value - The value to filter with - */ - neq(column, value) { - this.url.searchParams.append(column, `neq.${value}`); - return this; - } - /** - * Match only rows where `column` is greater than `value`. - * - * @param column - The column to filter on - * @param value - The value to filter with - */ - gt(column, value) { - this.url.searchParams.append(column, `gt.${value}`); - return this; - } - /** - * Match only rows where `column` is greater than or equal to `value`. - * - * @param column - The column to filter on - * @param value - The value to filter with - */ - gte(column, value) { - this.url.searchParams.append(column, `gte.${value}`); - return this; - } - /** - * Match only rows where `column` is less than `value`. - * - * @param column - The column to filter on - * @param value - The value to filter with - */ - lt(column, value) { - this.url.searchParams.append(column, `lt.${value}`); - return this; - } - /** - * Match only rows where `column` is less than or equal to `value`. - * - * @param column - The column to filter on - * @param value - The value to filter with - */ - lte(column, value) { - this.url.searchParams.append(column, `lte.${value}`); - return this; - } - /** - * Match only rows where `column` matches `pattern` case-sensitively. - * - * @param column - The column to filter on - * @param pattern - The pattern to match with - */ - like(column, pattern) { - this.url.searchParams.append(column, `like.${pattern}`); - return this; - } - /** - * Match only rows where `column` matches all of `patterns` case-sensitively. - * - * @param column - The column to filter on - * @param patterns - The patterns to match with - */ - likeAllOf(column, patterns) { - this.url.searchParams.append(column, `like(all).{${patterns.join(',')}}`); - return this; - } - /** - * Match only rows where `column` matches any of `patterns` case-sensitively. - * - * @param column - The column to filter on - * @param patterns - The patterns to match with - */ - likeAnyOf(column, patterns) { - this.url.searchParams.append(column, `like(any).{${patterns.join(',')}}`); - return this; - } - /** - * Match only rows where `column` matches `pattern` case-insensitively. - * - * @param column - The column to filter on - * @param pattern - The pattern to match with - */ - ilike(column, pattern) { - this.url.searchParams.append(column, `ilike.${pattern}`); - return this; - } - /** - * Match only rows where `column` matches all of `patterns` case-insensitively. - * - * @param column - The column to filter on - * @param patterns - The patterns to match with - */ - ilikeAllOf(column, patterns) { - this.url.searchParams.append(column, `ilike(all).{${patterns.join(',')}}`); - return this; - } - /** - * Match only rows where `column` matches any of `patterns` case-insensitively. - * - * @param column - The column to filter on - * @param patterns - The patterns to match with - */ - ilikeAnyOf(column, patterns) { - this.url.searchParams.append(column, `ilike(any).{${patterns.join(',')}}`); - return this; - } - /** - * Match only rows where `column` IS `value`. - * - * For non-boolean columns, this is only relevant for checking if the value of - * `column` is NULL by setting `value` to `null`. - * - * For boolean columns, you can also set `value` to `true` or `false` and it - * will behave the same way as `.eq()`. - * - * @param column - The column to filter on - * @param value - The value to filter with - */ - is(column, value) { - this.url.searchParams.append(column, `is.${value}`); - return this; - } - /** - * Match only rows where `column` is included in the `values` array. - * - * @param column - The column to filter on - * @param values - The values array to filter with - */ - in(column, values) { - const cleanedValues = Array.from(new Set(values)) - .map((s) => { - // handle postgrest reserved characters - // https://postgrest.org/en/v7.0.0/api.html#reserved-characters - if (typeof s === 'string' && new RegExp('[,()]').test(s)) - return `"${s}"`; - else - return `${s}`; - }) - .join(','); - this.url.searchParams.append(column, `in.(${cleanedValues})`); - return this; - } - /** - * Only relevant for jsonb, array, and range columns. Match only rows where - * `column` contains every element appearing in `value`. - * - * @param column - The jsonb, array, or range column to filter on - * @param value - The jsonb, array, or range value to filter with - */ - contains(column, value) { - if (typeof value === 'string') { - // range types can be inclusive '[', ']' or exclusive '(', ')' so just - // keep it simple and accept a string - this.url.searchParams.append(column, `cs.${value}`); - } - else if (Array.isArray(value)) { - // array - this.url.searchParams.append(column, `cs.{${value.join(',')}}`); - } - else { - // json - this.url.searchParams.append(column, `cs.${JSON.stringify(value)}`); - } - return this; - } - /** - * Only relevant for jsonb, array, and range columns. Match only rows where - * every element appearing in `column` is contained by `value`. - * - * @param column - The jsonb, array, or range column to filter on - * @param value - The jsonb, array, or range value to filter with - */ - containedBy(column, value) { - if (typeof value === 'string') { - // range - this.url.searchParams.append(column, `cd.${value}`); - } - else if (Array.isArray(value)) { - // array - this.url.searchParams.append(column, `cd.{${value.join(',')}}`); - } - else { - // json - this.url.searchParams.append(column, `cd.${JSON.stringify(value)}`); - } - return this; - } - /** - * Only relevant for range columns. Match only rows where every element in - * `column` is greater than any element in `range`. - * - * @param column - The range column to filter on - * @param range - The range to filter with - */ - rangeGt(column, range) { - this.url.searchParams.append(column, `sr.${range}`); - return this; - } - /** - * Only relevant for range columns. Match only rows where every element in - * `column` is either contained in `range` or greater than any element in - * `range`. - * - * @param column - The range column to filter on - * @param range - The range to filter with - */ - rangeGte(column, range) { - this.url.searchParams.append(column, `nxl.${range}`); - return this; - } - /** - * Only relevant for range columns. Match only rows where every element in - * `column` is less than any element in `range`. - * - * @param column - The range column to filter on - * @param range - The range to filter with - */ - rangeLt(column, range) { - this.url.searchParams.append(column, `sl.${range}`); - return this; - } - /** - * Only relevant for range columns. Match only rows where every element in - * `column` is either contained in `range` or less than any element in - * `range`. - * - * @param column - The range column to filter on - * @param range - The range to filter with - */ - rangeLte(column, range) { - this.url.searchParams.append(column, `nxr.${range}`); - return this; - } - /** - * Only relevant for range columns. Match only rows where `column` is - * mutually exclusive to `range` and there can be no element between the two - * ranges. - * - * @param column - The range column to filter on - * @param range - The range to filter with - */ - rangeAdjacent(column, range) { - this.url.searchParams.append(column, `adj.${range}`); - return this; - } - /** - * Only relevant for array and range columns. Match only rows where - * `column` and `value` have an element in common. - * - * @param column - The array or range column to filter on - * @param value - The array or range value to filter with - */ - overlaps(column, value) { - if (typeof value === 'string') { - // range - this.url.searchParams.append(column, `ov.${value}`); - } - else { - // array - this.url.searchParams.append(column, `ov.{${value.join(',')}}`); - } - return this; - } - /** - * Only relevant for text and tsvector columns. Match only rows where - * `column` matches the query string in `query`. - * - * @param column - The text or tsvector column to filter on - * @param query - The query text to match with - * @param options - Named parameters - * @param options.config - The text search configuration to use - * @param options.type - Change how the `query` text is interpreted - */ - textSearch(column, query, { config, type } = {}) { - let typePart = ''; - if (type === 'plain') { - typePart = 'pl'; - } - else if (type === 'phrase') { - typePart = 'ph'; - } - else if (type === 'websearch') { - typePart = 'w'; - } - const configPart = config === undefined ? '' : `(${config})`; - this.url.searchParams.append(column, `${typePart}fts${configPart}.${query}`); - return this; - } - /** - * Match only rows where each column in `query` keys is equal to its - * associated value. Shorthand for multiple `.eq()`s. - * - * @param query - The object to filter with, with column names as keys mapped - * to their filter values - */ - match(query) { - Object.entries(query).forEach(([column, value]) => { - this.url.searchParams.append(column, `eq.${value}`); - }); - return this; - } - /** - * Match only rows which doesn't satisfy the filter. - * - * Unlike most filters, `opearator` and `value` are used as-is and need to - * follow [PostgREST - * syntax](https://postgrest.org/en/stable/api.html#operators). You also need - * to make sure they are properly sanitized. - * - * @param column - The column to filter on - * @param operator - The operator to be negated to filter with, following - * PostgREST syntax - * @param value - The value to filter with, following PostgREST syntax - */ - not(column, operator, value) { - this.url.searchParams.append(column, `not.${operator}.${value}`); - return this; - } - /** - * Match only rows which satisfy at least one of the filters. - * - * Unlike most filters, `filters` is used as-is and needs to follow [PostgREST - * syntax](https://postgrest.org/en/stable/api.html#operators). You also need - * to make sure it's properly sanitized. - * - * It's currently not possible to do an `.or()` filter across multiple tables. - * - * @param filters - The filters to use, following PostgREST syntax - * @param options - Named parameters - * @param options.referencedTable - Set this to filter on referenced tables - * instead of the parent table - * @param options.foreignTable - Deprecated, use `referencedTable` instead - */ - or(filters, { foreignTable, referencedTable = foreignTable, } = {}) { - const key = referencedTable ? `${referencedTable}.or` : 'or'; - this.url.searchParams.append(key, `(${filters})`); - return this; - } - /** - * Match only rows which satisfy the filter. This is an escape hatch - you - * should use the specific filter methods wherever possible. - * - * Unlike most filters, `opearator` and `value` are used as-is and need to - * follow [PostgREST - * syntax](https://postgrest.org/en/stable/api.html#operators). You also need - * to make sure they are properly sanitized. - * - * @param column - The column to filter on - * @param operator - The operator to filter with, following PostgREST syntax - * @param value - The value to filter with, following PostgREST syntax - */ - filter(column, operator, value) { - this.url.searchParams.append(column, `${operator}.${value}`); - return this; - } -} -exports["default"] = PostgrestFilterBuilder; -//# sourceMappingURL=PostgrestFilterBuilder.js.map - -/***/ }), - -/***/ 70524: -/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) { - - -var __importDefault = (this && this.__importDefault) || function (mod) { - return (mod && mod.__esModule) ? mod : { "default": mod }; -}; -Object.defineProperty(exports, "__esModule", ({ value: true })); -const PostgrestFilterBuilder_1 = __importDefault(__nccwpck_require__(76226)); -class PostgrestQueryBuilder { - constructor(url, { headers = {}, schema, fetch, }) { - this.url = url; - this.headers = headers; - this.schema = schema; - this.fetch = fetch; - } - /** - * Perform a SELECT query on the table or view. - * - * @param columns - The columns to retrieve, separated by commas. Columns can be renamed when returned with `customName:columnName` - * - * @param options - Named parameters - * - * @param options.head - When set to `true`, `data` will not be returned. - * Useful if you only need the count. - * - * @param options.count - Count algorithm to use to count rows in the table or view. - * - * `"exact"`: Exact but slow count algorithm. Performs a `COUNT(*)` under the - * hood. - * - * `"planned"`: Approximated but fast count algorithm. Uses the Postgres - * statistics under the hood. - * - * `"estimated"`: Uses exact count for low numbers and planned count for high - * numbers. - */ - select(columns, { head = false, count, } = {}) { - const method = head ? 'HEAD' : 'GET'; - // Remove whitespaces except when quoted - let quoted = false; - const cleanedColumns = (columns !== null && columns !== void 0 ? columns : '*') - .split('') - .map((c) => { - if (/\s/.test(c) && !quoted) { - return ''; - } - if (c === '"') { - quoted = !quoted; - } - return c; - }) - .join(''); - this.url.searchParams.set('select', cleanedColumns); - if (count) { - this.headers['Prefer'] = `count=${count}`; - } - return new PostgrestFilterBuilder_1.default({ - method, - url: this.url, - headers: this.headers, - schema: this.schema, - fetch: this.fetch, - allowEmpty: false, - }); - } - /** - * Perform an INSERT into the table or view. - * - * By default, inserted rows are not returned. To return it, chain the call - * with `.select()`. - * - * @param values - The values to insert. Pass an object to insert a single row - * or an array to insert multiple rows. - * - * @param options - Named parameters - * - * @param options.count - Count algorithm to use to count inserted rows. - * - * `"exact"`: Exact but slow count algorithm. Performs a `COUNT(*)` under the - * hood. - * - * `"planned"`: Approximated but fast count algorithm. Uses the Postgres - * statistics under the hood. - * - * `"estimated"`: Uses exact count for low numbers and planned count for high - * numbers. - * - * @param options.defaultToNull - Make missing fields default to `null`. - * Otherwise, use the default value for the column. Only applies for bulk - * inserts. - */ - insert(values, { count, defaultToNull = true, } = {}) { - const method = 'POST'; - const prefersHeaders = []; - if (this.headers['Prefer']) { - prefersHeaders.push(this.headers['Prefer']); - } - if (count) { - prefersHeaders.push(`count=${count}`); - } - if (!defaultToNull) { - prefersHeaders.push('missing=default'); - } - this.headers['Prefer'] = prefersHeaders.join(','); - if (Array.isArray(values)) { - const columns = values.reduce((acc, x) => acc.concat(Object.keys(x)), []); - if (columns.length > 0) { - const uniqueColumns = [...new Set(columns)].map((column) => `"${column}"`); - this.url.searchParams.set('columns', uniqueColumns.join(',')); - } - } - return new PostgrestFilterBuilder_1.default({ - method, - url: this.url, - headers: this.headers, - schema: this.schema, - body: values, - fetch: this.fetch, - allowEmpty: false, - }); - } - /** - * Perform an UPSERT on the table or view. Depending on the column(s) passed - * to `onConflict`, `.upsert()` allows you to perform the equivalent of - * `.insert()` if a row with the corresponding `onConflict` columns doesn't - * exist, or if it does exist, perform an alternative action depending on - * `ignoreDuplicates`. - * - * By default, upserted rows are not returned. To return it, chain the call - * with `.select()`. - * - * @param values - The values to upsert with. Pass an object to upsert a - * single row or an array to upsert multiple rows. - * - * @param options - Named parameters - * - * @param options.onConflict - Comma-separated UNIQUE column(s) to specify how - * duplicate rows are determined. Two rows are duplicates if all the - * `onConflict` columns are equal. - * - * @param options.ignoreDuplicates - If `true`, duplicate rows are ignored. If - * `false`, duplicate rows are merged with existing rows. - * - * @param options.count - Count algorithm to use to count upserted rows. - * - * `"exact"`: Exact but slow count algorithm. Performs a `COUNT(*)` under the - * hood. - * - * `"planned"`: Approximated but fast count algorithm. Uses the Postgres - * statistics under the hood. - * - * `"estimated"`: Uses exact count for low numbers and planned count for high - * numbers. - * - * @param options.defaultToNull - Make missing fields default to `null`. - * Otherwise, use the default value for the column. This only applies when - * inserting new rows, not when merging with existing rows under - * `ignoreDuplicates: false`. This also only applies when doing bulk upserts. - */ - upsert(values, { onConflict, ignoreDuplicates = false, count, defaultToNull = true, } = {}) { - const method = 'POST'; - const prefersHeaders = [`resolution=${ignoreDuplicates ? 'ignore' : 'merge'}-duplicates`]; - if (onConflict !== undefined) - this.url.searchParams.set('on_conflict', onConflict); - if (this.headers['Prefer']) { - prefersHeaders.push(this.headers['Prefer']); - } - if (count) { - prefersHeaders.push(`count=${count}`); - } - if (!defaultToNull) { - prefersHeaders.push('missing=default'); - } - this.headers['Prefer'] = prefersHeaders.join(','); - if (Array.isArray(values)) { - const columns = values.reduce((acc, x) => acc.concat(Object.keys(x)), []); - if (columns.length > 0) { - const uniqueColumns = [...new Set(columns)].map((column) => `"${column}"`); - this.url.searchParams.set('columns', uniqueColumns.join(',')); - } - } - return new PostgrestFilterBuilder_1.default({ - method, - url: this.url, - headers: this.headers, - schema: this.schema, - body: values, - fetch: this.fetch, - allowEmpty: false, - }); - } - /** - * Perform an UPDATE on the table or view. - * - * By default, updated rows are not returned. To return it, chain the call - * with `.select()` after filters. - * - * @param values - The values to update with - * - * @param options - Named parameters - * - * @param options.count - Count algorithm to use to count updated rows. - * - * `"exact"`: Exact but slow count algorithm. Performs a `COUNT(*)` under the - * hood. - * - * `"planned"`: Approximated but fast count algorithm. Uses the Postgres - * statistics under the hood. - * - * `"estimated"`: Uses exact count for low numbers and planned count for high - * numbers. - */ - update(values, { count, } = {}) { - const method = 'PATCH'; - const prefersHeaders = []; - if (this.headers['Prefer']) { - prefersHeaders.push(this.headers['Prefer']); - } - if (count) { - prefersHeaders.push(`count=${count}`); - } - this.headers['Prefer'] = prefersHeaders.join(','); - return new PostgrestFilterBuilder_1.default({ - method, - url: this.url, - headers: this.headers, - schema: this.schema, - body: values, - fetch: this.fetch, - allowEmpty: false, - }); - } - /** - * Perform a DELETE on the table or view. - * - * By default, deleted rows are not returned. To return it, chain the call - * with `.select()` after filters. - * - * @param options - Named parameters - * - * @param options.count - Count algorithm to use to count deleted rows. - * - * `"exact"`: Exact but slow count algorithm. Performs a `COUNT(*)` under the - * hood. - * - * `"planned"`: Approximated but fast count algorithm. Uses the Postgres - * statistics under the hood. - * - * `"estimated"`: Uses exact count for low numbers and planned count for high - * numbers. - */ - delete({ count, } = {}) { - const method = 'DELETE'; - const prefersHeaders = []; - if (count) { - prefersHeaders.push(`count=${count}`); - } - if (this.headers['Prefer']) { - prefersHeaders.unshift(this.headers['Prefer']); - } - this.headers['Prefer'] = prefersHeaders.join(','); - return new PostgrestFilterBuilder_1.default({ - method, - url: this.url, - headers: this.headers, - schema: this.schema, - fetch: this.fetch, - allowEmpty: false, - }); - } -} -exports["default"] = PostgrestQueryBuilder; -//# sourceMappingURL=PostgrestQueryBuilder.js.map - -/***/ }), - -/***/ 94388: -/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) { - - -var __importDefault = (this && this.__importDefault) || function (mod) { - return (mod && mod.__esModule) ? mod : { "default": mod }; -}; -Object.defineProperty(exports, "__esModule", ({ value: true })); -const PostgrestBuilder_1 = __importDefault(__nccwpck_require__(71800)); -class PostgrestTransformBuilder extends PostgrestBuilder_1.default { - /** - * Perform a SELECT on the query result. - * - * By default, `.insert()`, `.update()`, `.upsert()`, and `.delete()` do not - * return modified rows. By calling this method, modified rows are returned in - * `data`. - * - * @param columns - The columns to retrieve, separated by commas - */ - select(columns) { - // Remove whitespaces except when quoted - let quoted = false; - const cleanedColumns = (columns !== null && columns !== void 0 ? columns : '*') - .split('') - .map((c) => { - if (/\s/.test(c) && !quoted) { - return ''; - } - if (c === '"') { - quoted = !quoted; - } - return c; - }) - .join(''); - this.url.searchParams.set('select', cleanedColumns); - if (this.headers['Prefer']) { - this.headers['Prefer'] += ','; - } - this.headers['Prefer'] += 'return=representation'; - return this; - } - /** - * Order the query result by `column`. - * - * You can call this method multiple times to order by multiple columns. - * - * You can order referenced tables, but it only affects the ordering of the - * parent table if you use `!inner` in the query. - * - * @param column - The column to order by - * @param options - Named parameters - * @param options.ascending - If `true`, the result will be in ascending order - * @param options.nullsFirst - If `true`, `null`s appear first. If `false`, - * `null`s appear last. - * @param options.referencedTable - Set this to order a referenced table by - * its columns - * @param options.foreignTable - Deprecated, use `options.referencedTable` - * instead - */ - order(column, { ascending = true, nullsFirst, foreignTable, referencedTable = foreignTable, } = {}) { - const key = referencedTable ? `${referencedTable}.order` : 'order'; - const existingOrder = this.url.searchParams.get(key); - this.url.searchParams.set(key, `${existingOrder ? `${existingOrder},` : ''}${column}.${ascending ? 'asc' : 'desc'}${nullsFirst === undefined ? '' : nullsFirst ? '.nullsfirst' : '.nullslast'}`); - return this; - } - /** - * Limit the query result by `count`. - * - * @param count - The maximum number of rows to return - * @param options - Named parameters - * @param options.referencedTable - Set this to limit rows of referenced - * tables instead of the parent table - * @param options.foreignTable - Deprecated, use `options.referencedTable` - * instead - */ - limit(count, { foreignTable, referencedTable = foreignTable, } = {}) { - const key = typeof referencedTable === 'undefined' ? 'limit' : `${referencedTable}.limit`; - this.url.searchParams.set(key, `${count}`); - return this; - } - /** - * Limit the query result by starting at an offset (`from`) and ending at the offset (`from + to`). - * Only records within this range are returned. - * This respects the query order and if there is no order clause the range could behave unexpectedly. - * The `from` and `to` values are 0-based and inclusive: `range(1, 3)` will include the second, third - * and fourth rows of the query. - * - * @param from - The starting index from which to limit the result - * @param to - The last index to which to limit the result - * @param options - Named parameters - * @param options.referencedTable - Set this to limit rows of referenced - * tables instead of the parent table - * @param options.foreignTable - Deprecated, use `options.referencedTable` - * instead - */ - range(from, to, { foreignTable, referencedTable = foreignTable, } = {}) { - const keyOffset = typeof referencedTable === 'undefined' ? 'offset' : `${referencedTable}.offset`; - const keyLimit = typeof referencedTable === 'undefined' ? 'limit' : `${referencedTable}.limit`; - this.url.searchParams.set(keyOffset, `${from}`); - // Range is inclusive, so add 1 - this.url.searchParams.set(keyLimit, `${to - from + 1}`); - return this; - } - /** - * Set the AbortSignal for the fetch request. - * - * @param signal - The AbortSignal to use for the fetch request - */ - abortSignal(signal) { - this.signal = signal; - return this; - } - /** - * Return `data` as a single object instead of an array of objects. - * - * Query result must be one row (e.g. using `.limit(1)`), otherwise this - * returns an error. - */ - single() { - this.headers['Accept'] = 'application/vnd.pgrst.object+json'; - return this; - } - /** - * Return `data` as a single object instead of an array of objects. - * - * Query result must be zero or one row (e.g. using `.limit(1)`), otherwise - * this returns an error. - */ - maybeSingle() { - // Temporary partial fix for https://github.com/supabase/postgrest-js/issues/361 - // Issue persists e.g. for `.insert([...]).select().maybeSingle()` - if (this.method === 'GET') { - this.headers['Accept'] = 'application/json'; - } - else { - this.headers['Accept'] = 'application/vnd.pgrst.object+json'; - } - this.isMaybeSingle = true; - return this; - } - /** - * Return `data` as a string in CSV format. - */ - csv() { - this.headers['Accept'] = 'text/csv'; - return this; - } - /** - * Return `data` as an object in [GeoJSON](https://geojson.org) format. - */ - geojson() { - this.headers['Accept'] = 'application/geo+json'; - return this; - } - /** - * Return `data` as the EXPLAIN plan for the query. - * - * You need to enable the - * [db_plan_enabled](https://supabase.com/docs/guides/database/debugging-performance#enabling-explain) - * setting before using this method. - * - * @param options - Named parameters - * - * @param options.analyze - If `true`, the query will be executed and the - * actual run time will be returned - * - * @param options.verbose - If `true`, the query identifier will be returned - * and `data` will include the output columns of the query - * - * @param options.settings - If `true`, include information on configuration - * parameters that affect query planning - * - * @param options.buffers - If `true`, include information on buffer usage - * - * @param options.wal - If `true`, include information on WAL record generation - * - * @param options.format - The format of the output, can be `"text"` (default) - * or `"json"` - */ - explain({ analyze = false, verbose = false, settings = false, buffers = false, wal = false, format = 'text', } = {}) { - var _a; - const options = [ - analyze ? 'analyze' : null, - verbose ? 'verbose' : null, - settings ? 'settings' : null, - buffers ? 'buffers' : null, - wal ? 'wal' : null, - ] - .filter(Boolean) - .join('|'); - // An Accept header can carry multiple media types but postgrest-js always sends one - const forMediatype = (_a = this.headers['Accept']) !== null && _a !== void 0 ? _a : 'application/json'; - this.headers['Accept'] = `application/vnd.pgrst.plan+${format}; for="${forMediatype}"; options=${options};`; - if (format === 'json') - return this; - else - return this; - } - /** - * Rollback the query. - * - * `data` will still be returned, but the query is not committed. - */ - rollback() { - var _a; - if (((_a = this.headers['Prefer']) !== null && _a !== void 0 ? _a : '').trim().length > 0) { - this.headers['Prefer'] += ',tx=rollback'; - } - else { - this.headers['Prefer'] = 'tx=rollback'; - } - return this; - } - /** - * Override the type of the returned `data`. - * - * @typeParam NewResult - The new result type to override with - */ - returns() { - return this; - } -} -exports["default"] = PostgrestTransformBuilder; -//# sourceMappingURL=PostgrestTransformBuilder.js.map - -/***/ }), - -/***/ 70219: -/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { - - -Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.DEFAULT_HEADERS = void 0; -const version_1 = __nccwpck_require__(69774); -exports.DEFAULT_HEADERS = { 'X-Client-Info': `postgrest-js/${version_1.version}` }; -//# sourceMappingURL=constants.js.map - -/***/ }), - -/***/ 47738: -/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) { - - -var __importDefault = (this && this.__importDefault) || function (mod) { - return (mod && mod.__esModule) ? mod : { "default": mod }; -}; -Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.PostgrestBuilder = exports.PostgrestTransformBuilder = exports.PostgrestFilterBuilder = exports.PostgrestQueryBuilder = exports.PostgrestClient = void 0; -var PostgrestClient_1 = __nccwpck_require__(87632); -Object.defineProperty(exports, "PostgrestClient", ({ enumerable: true, get: function () { return __importDefault(PostgrestClient_1).default; } })); -var PostgrestQueryBuilder_1 = __nccwpck_require__(70524); -Object.defineProperty(exports, "PostgrestQueryBuilder", ({ enumerable: true, get: function () { return __importDefault(PostgrestQueryBuilder_1).default; } })); -var PostgrestFilterBuilder_1 = __nccwpck_require__(76226); -Object.defineProperty(exports, "PostgrestFilterBuilder", ({ enumerable: true, get: function () { return __importDefault(PostgrestFilterBuilder_1).default; } })); -var PostgrestTransformBuilder_1 = __nccwpck_require__(94388); -Object.defineProperty(exports, "PostgrestTransformBuilder", ({ enumerable: true, get: function () { return __importDefault(PostgrestTransformBuilder_1).default; } })); -var PostgrestBuilder_1 = __nccwpck_require__(71800); -Object.defineProperty(exports, "PostgrestBuilder", ({ enumerable: true, get: function () { return __importDefault(PostgrestBuilder_1).default; } })); -//# sourceMappingURL=index.js.map - -/***/ }), - -/***/ 69774: -/***/ ((__unused_webpack_module, exports) => { - - -Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.version = void 0; -exports.version = '1.15.0'; -//# sourceMappingURL=version.js.map - -/***/ }), - -/***/ 1218: -/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) { - - -var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { - if (k2 === undefined) 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 === undefined) k2 = k; - o[k2] = m[k]; -})); -var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { - Object.defineProperty(o, "default", { enumerable: true, value: v }); -}) : function(o, v) { - o["default"] = v; -}); -var __importStar = (this && this.__importStar) || function (mod) { - if (mod && mod.__esModule) return mod; - var result = {}; - if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); - __setModuleDefault(result, mod); - return result; -}; -var __importDefault = (this && this.__importDefault) || function (mod) { - return (mod && mod.__esModule) ? mod : { "default": mod }; -}; -Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.REALTIME_CHANNEL_STATES = exports.REALTIME_SUBSCRIBE_STATES = exports.REALTIME_LISTEN_TYPES = exports.REALTIME_POSTGRES_CHANGES_LISTEN_EVENT = void 0; -const constants_1 = __nccwpck_require__(8631); -const push_1 = __importDefault(__nccwpck_require__(55832)); -const timer_1 = __importDefault(__nccwpck_require__(49419)); -const RealtimePresence_1 = __importDefault(__nccwpck_require__(93360)); -const Transformers = __importStar(__nccwpck_require__(40112)); -var REALTIME_POSTGRES_CHANGES_LISTEN_EVENT; -(function (REALTIME_POSTGRES_CHANGES_LISTEN_EVENT) { - REALTIME_POSTGRES_CHANGES_LISTEN_EVENT["ALL"] = "*"; - REALTIME_POSTGRES_CHANGES_LISTEN_EVENT["INSERT"] = "INSERT"; - REALTIME_POSTGRES_CHANGES_LISTEN_EVENT["UPDATE"] = "UPDATE"; - REALTIME_POSTGRES_CHANGES_LISTEN_EVENT["DELETE"] = "DELETE"; -})(REALTIME_POSTGRES_CHANGES_LISTEN_EVENT = exports.REALTIME_POSTGRES_CHANGES_LISTEN_EVENT || (exports.REALTIME_POSTGRES_CHANGES_LISTEN_EVENT = {})); -var REALTIME_LISTEN_TYPES; -(function (REALTIME_LISTEN_TYPES) { - REALTIME_LISTEN_TYPES["BROADCAST"] = "broadcast"; - REALTIME_LISTEN_TYPES["PRESENCE"] = "presence"; - /** - * listen to Postgres changes. - */ - REALTIME_LISTEN_TYPES["POSTGRES_CHANGES"] = "postgres_changes"; -})(REALTIME_LISTEN_TYPES = exports.REALTIME_LISTEN_TYPES || (exports.REALTIME_LISTEN_TYPES = {})); -var REALTIME_SUBSCRIBE_STATES; -(function (REALTIME_SUBSCRIBE_STATES) { - REALTIME_SUBSCRIBE_STATES["SUBSCRIBED"] = "SUBSCRIBED"; - REALTIME_SUBSCRIBE_STATES["TIMED_OUT"] = "TIMED_OUT"; - REALTIME_SUBSCRIBE_STATES["CLOSED"] = "CLOSED"; - REALTIME_SUBSCRIBE_STATES["CHANNEL_ERROR"] = "CHANNEL_ERROR"; -})(REALTIME_SUBSCRIBE_STATES = exports.REALTIME_SUBSCRIBE_STATES || (exports.REALTIME_SUBSCRIBE_STATES = {})); -exports.REALTIME_CHANNEL_STATES = constants_1.CHANNEL_STATES; -/** A channel is the basic building block of Realtime - * and narrows the scope of data flow to subscribed clients. - * You can think of a channel as a chatroom where participants are able to see who's online - * and send and receive messages. - */ -class RealtimeChannel { - constructor( - /** Topic name can be any string. */ - topic, params = { config: {} }, socket) { - this.topic = topic; - this.params = params; - this.socket = socket; - this.bindings = {}; - this.state = constants_1.CHANNEL_STATES.closed; - this.joinedOnce = false; - this.pushBuffer = []; - this.subTopic = topic.replace(/^realtime:/i, ''); - this.params.config = Object.assign({ - broadcast: { ack: false, self: false }, - presence: { key: '' }, - }, params.config); - this.timeout = this.socket.timeout; - this.joinPush = new push_1.default(this, constants_1.CHANNEL_EVENTS.join, this.params, this.timeout); - this.rejoinTimer = new timer_1.default(() => this._rejoinUntilConnected(), this.socket.reconnectAfterMs); - this.joinPush.receive('ok', () => { - this.state = constants_1.CHANNEL_STATES.joined; - this.rejoinTimer.reset(); - this.pushBuffer.forEach((pushEvent) => pushEvent.send()); - this.pushBuffer = []; - }); - this._onClose(() => { - this.rejoinTimer.reset(); - this.socket.log('channel', `close ${this.topic} ${this._joinRef()}`); - this.state = constants_1.CHANNEL_STATES.closed; - this.socket._remove(this); - }); - this._onError((reason) => { - if (this._isLeaving() || this._isClosed()) { - return; - } - this.socket.log('channel', `error ${this.topic}`, reason); - this.state = constants_1.CHANNEL_STATES.errored; - this.rejoinTimer.scheduleTimeout(); - }); - this.joinPush.receive('timeout', () => { - if (!this._isJoining()) { - return; - } - this.socket.log('channel', `timeout ${this.topic}`, this.joinPush.timeout); - this.state = constants_1.CHANNEL_STATES.errored; - this.rejoinTimer.scheduleTimeout(); - }); - this._on(constants_1.CHANNEL_EVENTS.reply, {}, (payload, ref) => { - this._trigger(this._replyEventName(ref), payload); - }); - this.presence = new RealtimePresence_1.default(this); - this.broadcastEndpointURL = this._broadcastEndpointURL(); - } - /** Subscribe registers your client with the server */ - subscribe(callback, timeout = this.timeout) { - var _a, _b; - if (!this.socket.isConnected()) { - this.socket.connect(); - } - if (this.joinedOnce) { - throw `tried to subscribe multiple times. 'subscribe' can only be called a single time per channel instance`; - } - else { - const { config: { broadcast, presence }, } = this.params; - this._onError((e) => callback && callback('CHANNEL_ERROR', e)); - this._onClose(() => callback && callback('CLOSED')); - const accessTokenPayload = {}; - const config = { - broadcast, - presence, - postgres_changes: (_b = (_a = this.bindings.postgres_changes) === null || _a === void 0 ? void 0 : _a.map((r) => r.filter)) !== null && _b !== void 0 ? _b : [], - }; - if (this.socket.accessToken) { - accessTokenPayload.access_token = this.socket.accessToken; - } - this.updateJoinPayload(Object.assign({ config }, accessTokenPayload)); - this.joinedOnce = true; - this._rejoin(timeout); - this.joinPush - .receive('ok', ({ postgres_changes: serverPostgresFilters, }) => { - var _a; - this.socket.accessToken && - this.socket.setAuth(this.socket.accessToken); - if (serverPostgresFilters === undefined) { - callback && callback('SUBSCRIBED'); - return; - } - else { - const clientPostgresBindings = this.bindings.postgres_changes; - const bindingsLen = (_a = clientPostgresBindings === null || clientPostgresBindings === void 0 ? void 0 : clientPostgresBindings.length) !== null && _a !== void 0 ? _a : 0; - const newPostgresBindings = []; - for (let i = 0; i < bindingsLen; i++) { - const clientPostgresBinding = clientPostgresBindings[i]; - const { filter: { event, schema, table, filter }, } = clientPostgresBinding; - const serverPostgresFilter = serverPostgresFilters && serverPostgresFilters[i]; - if (serverPostgresFilter && - serverPostgresFilter.event === event && - serverPostgresFilter.schema === schema && - serverPostgresFilter.table === table && - serverPostgresFilter.filter === filter) { - newPostgresBindings.push(Object.assign(Object.assign({}, clientPostgresBinding), { id: serverPostgresFilter.id })); - } - else { - this.unsubscribe(); - callback && - callback('CHANNEL_ERROR', new Error('mismatch between server and client bindings for postgres changes')); - return; - } - } - this.bindings.postgres_changes = newPostgresBindings; - callback && callback('SUBSCRIBED'); - return; - } - }) - .receive('error', (error) => { - callback && - callback('CHANNEL_ERROR', new Error(JSON.stringify(Object.values(error).join(', ') || 'error'))); - return; - }) - .receive('timeout', () => { - callback && callback('TIMED_OUT'); - return; - }); - } - return this; - } - presenceState() { - return this.presence.state; - } - async track(payload, opts = {}) { - return await this.send({ - type: 'presence', - event: 'track', - payload, - }, opts.timeout || this.timeout); - } - async untrack(opts = {}) { - return await this.send({ - type: 'presence', - event: 'untrack', - }, opts); - } - on(type, filter, callback) { - return this._on(type, filter, callback); - } - /** - * Sends a message into the channel. - * - * @param args Arguments to send to channel - * @param args.type The type of event to send - * @param args.event The name of the event being sent - * @param args.payload Payload to be sent - * @param opts Options to be used during the send process - */ - async send(args, opts = {}) { - var _a, _b; - if (!this._canPush() && args.type === 'broadcast') { - const { event, payload: endpoint_payload } = args; - const options = { - method: 'POST', - headers: { - apikey: (_a = this.socket.apiKey) !== null && _a !== void 0 ? _a : '', - 'Content-Type': 'application/json', - }, - body: JSON.stringify({ - messages: [ - { topic: this.subTopic, event, payload: endpoint_payload }, - ], - }), - }; - try { - const response = await this._fetchWithTimeout(this.broadcastEndpointURL, options, (_b = opts.timeout) !== null && _b !== void 0 ? _b : this.timeout); - if (response.ok) { - return 'ok'; - } - else { - return 'error'; - } - } - catch (error) { - if (error.name === 'AbortError') { - return 'timed out'; - } - else { - return 'error'; - } - } - } - else { - return new Promise((resolve) => { - var _a, _b, _c; - const push = this._push(args.type, args, opts.timeout || this.timeout); - if (args.type === 'broadcast' && !((_c = (_b = (_a = this.params) === null || _a === void 0 ? void 0 : _a.config) === null || _b === void 0 ? void 0 : _b.broadcast) === null || _c === void 0 ? void 0 : _c.ack)) { - resolve('ok'); - } - push.receive('ok', () => resolve('ok')); - push.receive('timeout', () => resolve('timed out')); - }); - } - } - updateJoinPayload(payload) { - this.joinPush.updatePayload(payload); - } - /** - * Leaves the channel. - * - * Unsubscribes from server events, and instructs channel to terminate on server. - * Triggers onClose() hooks. - * - * To receive leave acknowledgements, use the a `receive` hook to bind to the server ack, ie: - * channel.unsubscribe().receive("ok", () => alert("left!") ) - */ - unsubscribe(timeout = this.timeout) { - this.state = constants_1.CHANNEL_STATES.leaving; - const onClose = () => { - this.socket.log('channel', `leave ${this.topic}`); - this._trigger(constants_1.CHANNEL_EVENTS.close, 'leave', this._joinRef()); - }; - this.rejoinTimer.reset(); - // Destroy joinPush to avoid connection timeouts during unscription phase - this.joinPush.destroy(); - return new Promise((resolve) => { - const leavePush = new push_1.default(this, constants_1.CHANNEL_EVENTS.leave, {}, timeout); - leavePush - .receive('ok', () => { - onClose(); - resolve('ok'); - }) - .receive('timeout', () => { - onClose(); - resolve('timed out'); - }) - .receive('error', () => { - resolve('error'); - }); - leavePush.send(); - if (!this._canPush()) { - leavePush.trigger('ok', {}); - } - }); - } - /** @internal */ - _broadcastEndpointURL() { - let url = this.socket.endPoint; - url = url.replace(/^ws/i, 'http'); - url = url.replace(/(\/socket\/websocket|\/socket|\/websocket)\/?$/i, ''); - return url.replace(/\/+$/, '') + '/api/broadcast'; - } - async _fetchWithTimeout(url, options, timeout) { - const controller = new AbortController(); - const id = setTimeout(() => controller.abort(), timeout); - const response = await this.socket.fetch(url, Object.assign(Object.assign({}, options), { signal: controller.signal })); - clearTimeout(id); - return response; - } - /** @internal */ - _push(event, payload, timeout = this.timeout) { - if (!this.joinedOnce) { - throw `tried to push '${event}' to '${this.topic}' before joining. Use channel.subscribe() before pushing events`; - } - let pushEvent = new push_1.default(this, event, payload, timeout); - if (this._canPush()) { - pushEvent.send(); - } - else { - pushEvent.startTimeout(); - this.pushBuffer.push(pushEvent); - } - return pushEvent; - } - /** - * Overridable message hook - * - * Receives all events for specialized message handling before dispatching to the channel callbacks. - * Must return the payload, modified or unmodified. - * - * @internal - */ - _onMessage(_event, payload, _ref) { - return payload; - } - /** @internal */ - _isMember(topic) { - return this.topic === topic; - } - /** @internal */ - _joinRef() { - return this.joinPush.ref; - } - /** @internal */ - _trigger(type, payload, ref) { - var _a, _b; - const typeLower = type.toLocaleLowerCase(); - const { close, error, leave, join } = constants_1.CHANNEL_EVENTS; - const events = [close, error, leave, join]; - if (ref && events.indexOf(typeLower) >= 0 && ref !== this._joinRef()) { - return; - } - let handledPayload = this._onMessage(typeLower, payload, ref); - if (payload && !handledPayload) { - throw 'channel onMessage callbacks must return the payload, modified or unmodified'; - } - if (['insert', 'update', 'delete'].includes(typeLower)) { - (_a = this.bindings.postgres_changes) === null || _a === void 0 ? void 0 : _a.filter((bind) => { - var _a, _b, _c; - return (((_a = bind.filter) === null || _a === void 0 ? void 0 : _a.event) === '*' || - ((_c = (_b = bind.filter) === null || _b === void 0 ? void 0 : _b.event) === null || _c === void 0 ? void 0 : _c.toLocaleLowerCase()) === typeLower); - }).map((bind) => bind.callback(handledPayload, ref)); - } - else { - (_b = this.bindings[typeLower]) === null || _b === void 0 ? void 0 : _b.filter((bind) => { - var _a, _b, _c, _d, _e, _f; - if (['broadcast', 'presence', 'postgres_changes'].includes(typeLower)) { - if ('id' in bind) { - const bindId = bind.id; - const bindEvent = (_a = bind.filter) === null || _a === void 0 ? void 0 : _a.event; - return (bindId && - ((_b = payload.ids) === null || _b === void 0 ? void 0 : _b.includes(bindId)) && - (bindEvent === '*' || - (bindEvent === null || bindEvent === void 0 ? void 0 : bindEvent.toLocaleLowerCase()) === - ((_c = payload.data) === null || _c === void 0 ? void 0 : _c.type.toLocaleLowerCase()))); - } - else { - const bindEvent = (_e = (_d = bind === null || bind === void 0 ? void 0 : bind.filter) === null || _d === void 0 ? void 0 : _d.event) === null || _e === void 0 ? void 0 : _e.toLocaleLowerCase(); - return (bindEvent === '*' || - bindEvent === ((_f = payload === null || payload === void 0 ? void 0 : payload.event) === null || _f === void 0 ? void 0 : _f.toLocaleLowerCase())); - } - } - else { - return bind.type.toLocaleLowerCase() === typeLower; - } - }).map((bind) => { - if (typeof handledPayload === 'object' && 'ids' in handledPayload) { - const postgresChanges = handledPayload.data; - const { schema, table, commit_timestamp, type, errors } = postgresChanges; - const enrichedPayload = { - schema: schema, - table: table, - commit_timestamp: commit_timestamp, - eventType: type, - new: {}, - old: {}, - errors: errors, - }; - handledPayload = Object.assign(Object.assign({}, enrichedPayload), this._getPayloadRecords(postgresChanges)); - } - bind.callback(handledPayload, ref); - }); - } - } - /** @internal */ - _isClosed() { - return this.state === constants_1.CHANNEL_STATES.closed; - } - /** @internal */ - _isJoined() { - return this.state === constants_1.CHANNEL_STATES.joined; - } - /** @internal */ - _isJoining() { - return this.state === constants_1.CHANNEL_STATES.joining; - } - /** @internal */ - _isLeaving() { - return this.state === constants_1.CHANNEL_STATES.leaving; - } - /** @internal */ - _replyEventName(ref) { - return `chan_reply_${ref}`; - } - /** @internal */ - _on(type, filter, callback) { - const typeLower = type.toLocaleLowerCase(); - const binding = { - type: typeLower, - filter: filter, - callback: callback, - }; - if (this.bindings[typeLower]) { - this.bindings[typeLower].push(binding); - } - else { - this.bindings[typeLower] = [binding]; - } - return this; - } - /** @internal */ - _off(type, filter) { - const typeLower = type.toLocaleLowerCase(); - this.bindings[typeLower] = this.bindings[typeLower].filter((bind) => { - var _a; - return !(((_a = bind.type) === null || _a === void 0 ? void 0 : _a.toLocaleLowerCase()) === typeLower && - RealtimeChannel.isEqual(bind.filter, filter)); - }); - return this; - } - /** @internal */ - static isEqual(obj1, obj2) { - if (Object.keys(obj1).length !== Object.keys(obj2).length) { - return false; - } - for (const k in obj1) { - if (obj1[k] !== obj2[k]) { - return false; - } - } - return true; - } - /** @internal */ - _rejoinUntilConnected() { - this.rejoinTimer.scheduleTimeout(); - if (this.socket.isConnected()) { - this._rejoin(); - } - } - /** - * Registers a callback that will be executed when the channel closes. - * - * @internal - */ - _onClose(callback) { - this._on(constants_1.CHANNEL_EVENTS.close, {}, callback); - } - /** - * Registers a callback that will be executed when the channel encounteres an error. - * - * @internal - */ - _onError(callback) { - this._on(constants_1.CHANNEL_EVENTS.error, {}, (reason) => callback(reason)); - } - /** - * Returns `true` if the socket is connected and the channel has been joined. - * - * @internal - */ - _canPush() { - return this.socket.isConnected() && this._isJoined(); - } - /** @internal */ - _rejoin(timeout = this.timeout) { - if (this._isLeaving()) { - return; - } - this.socket._leaveOpenTopic(this.topic); - this.state = constants_1.CHANNEL_STATES.joining; - this.joinPush.resend(timeout); - } - /** @internal */ - _getPayloadRecords(payload) { - const records = { - new: {}, - old: {}, - }; - if (payload.type === 'INSERT' || payload.type === 'UPDATE') { - records.new = Transformers.convertChangeData(payload.columns, payload.record); - } - if (payload.type === 'UPDATE' || payload.type === 'DELETE') { - records.old = Transformers.convertChangeData(payload.columns, payload.old_record); - } - return records; - } -} -exports["default"] = RealtimeChannel; -//# sourceMappingURL=RealtimeChannel.js.map - -/***/ }), - -/***/ 78822: -/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) { - - -var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { - if (k2 === undefined) 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 === undefined) k2 = k; - o[k2] = m[k]; -})); -var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { - Object.defineProperty(o, "default", { enumerable: true, value: v }); -}) : function(o, v) { - o["default"] = v; -}); -var __importStar = (this && this.__importStar) || function (mod) { - if (mod && mod.__esModule) return mod; - var result = {}; - if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); - __setModuleDefault(result, mod); - return result; -}; -var __importDefault = (this && this.__importDefault) || function (mod) { - return (mod && mod.__esModule) ? mod : { "default": mod }; -}; -Object.defineProperty(exports, "__esModule", ({ value: true })); -const constants_1 = __nccwpck_require__(8631); -const timer_1 = __importDefault(__nccwpck_require__(49419)); -const serializer_1 = __importDefault(__nccwpck_require__(15000)); -const RealtimeChannel_1 = __importDefault(__nccwpck_require__(1218)); -const noop = () => { }; -const NATIVE_WEBSOCKET_AVAILABLE = typeof WebSocket !== 'undefined'; -class RealtimeClient { - /** - * Initializes the Socket. - * - * @param endPoint The string WebSocket endpoint, ie, "ws://example.com/socket", "wss://example.com", "/socket" (inherited host & protocol) - * @param options.transport The Websocket Transport, for example WebSocket. - * @param options.timeout The default timeout in milliseconds to trigger push timeouts. - * @param options.params The optional params to pass when connecting. - * @param options.headers The optional headers to pass when connecting. - * @param options.heartbeatIntervalMs The millisec interval to send a heartbeat message. - * @param options.logger The optional function for specialized logging, ie: logger: (kind, msg, data) => { console.log(`${kind}: ${msg}`, data) } - * @param options.encode The function to encode outgoing messages. Defaults to JSON: (payload, callback) => callback(JSON.stringify(payload)) - * @param options.decode The function to decode incoming messages. Defaults to Serializer's decode. - * @param options.reconnectAfterMs he optional function that returns the millsec reconnect interval. Defaults to stepped backoff off. - */ - constructor(endPoint, options) { - var _a; - this.accessToken = null; - this.apiKey = null; - this.channels = []; - this.endPoint = ''; - this.headers = constants_1.DEFAULT_HEADERS; - this.params = {}; - this.timeout = constants_1.DEFAULT_TIMEOUT; - this.heartbeatIntervalMs = 30000; - this.heartbeatTimer = undefined; - this.pendingHeartbeatRef = null; - this.ref = 0; - this.logger = noop; - this.conn = null; - this.sendBuffer = []; - this.serializer = new serializer_1.default(); - this.stateChangeCallbacks = { - open: [], - close: [], - error: [], - message: [], - }; - /** - * Use either custom fetch, if provided, or default fetch to make HTTP requests - * - * @internal - */ - this._resolveFetch = (customFetch) => { - let _fetch; - if (customFetch) { - _fetch = customFetch; - } - else if (typeof fetch === 'undefined') { - _fetch = (...args) => Promise.resolve().then(() => __importStar(__nccwpck_require__(18839))).then(({ default: fetch }) => fetch(...args)); - } - else { - _fetch = fetch; - } - return (...args) => _fetch(...args); - }; - this.endPoint = `${endPoint}/${constants_1.TRANSPORTS.websocket}`; - if (options === null || options === void 0 ? void 0 : options.transport) { - this.transport = options.transport; - } - else { - this.transport = null; - } - if (options === null || options === void 0 ? void 0 : options.params) - this.params = options.params; - if (options === null || options === void 0 ? void 0 : options.headers) - this.headers = Object.assign(Object.assign({}, this.headers), options.headers); - if (options === null || options === void 0 ? void 0 : options.timeout) - this.timeout = options.timeout; - if (options === null || options === void 0 ? void 0 : options.logger) - this.logger = options.logger; - if (options === null || options === void 0 ? void 0 : options.heartbeatIntervalMs) - this.heartbeatIntervalMs = options.heartbeatIntervalMs; - const accessToken = (_a = options === null || options === void 0 ? void 0 : options.params) === null || _a === void 0 ? void 0 : _a.apikey; - if (accessToken) { - this.accessToken = accessToken; - this.apiKey = accessToken; - } - this.reconnectAfterMs = (options === null || options === void 0 ? void 0 : options.reconnectAfterMs) - ? options.reconnectAfterMs - : (tries) => { - return [1000, 2000, 5000, 10000][tries - 1] || 10000; - }; - this.encode = (options === null || options === void 0 ? void 0 : options.encode) - ? options.encode - : (payload, callback) => { - return callback(JSON.stringify(payload)); - }; - this.decode = (options === null || options === void 0 ? void 0 : options.decode) - ? options.decode - : this.serializer.decode.bind(this.serializer); - this.reconnectTimer = new timer_1.default(async () => { - this.disconnect(); - this.connect(); - }, this.reconnectAfterMs); - this.fetch = this._resolveFetch(options === null || options === void 0 ? void 0 : options.fetch); - } - /** - * Connects the socket, unless already connected. - */ - connect() { - if (this.conn) { - return; - } - if (this.transport) { - this.conn = new this.transport(this._endPointURL(), undefined, { - headers: this.headers, - }); - return; - } - if (NATIVE_WEBSOCKET_AVAILABLE) { - this.conn = new WebSocket(this._endPointURL()); - this.setupConnection(); - return; - } - this.conn = new WSWebSocketDummy(this._endPointURL(), undefined, { - close: () => { - this.conn = null; - }, - }); - Promise.resolve().then(() => __importStar(__nccwpck_require__(87571))).then(({ default: WS }) => { - this.conn = new WS(this._endPointURL(), undefined, { - headers: this.headers, - }); - this.setupConnection(); - }); - } - /** - * Disconnects the socket. - * - * @param code A numeric status code to send on disconnect. - * @param reason A custom reason for the disconnect. - */ - disconnect(code, reason) { - if (this.conn) { - this.conn.onclose = function () { }; // noop - if (code) { - this.conn.close(code, reason !== null && reason !== void 0 ? reason : ''); - } - else { - this.conn.close(); - } - this.conn = null; - // remove open handles - this.heartbeatTimer && clearInterval(this.heartbeatTimer); - this.reconnectTimer.reset(); - } - } - /** - * Returns all created channels - */ - getChannels() { - return this.channels; - } - /** - * Unsubscribes and removes a single channel - * @param channel A RealtimeChannel instance - */ - async removeChannel(channel) { - const status = await channel.unsubscribe(); - if (this.channels.length === 0) { - this.disconnect(); - } - return status; - } - /** - * Unsubscribes and removes all channels - */ - async removeAllChannels() { - const values_1 = await Promise.all(this.channels.map((channel) => channel.unsubscribe())); - this.disconnect(); - return values_1; - } - /** - * Logs the message. - * - * For customized logging, `this.logger` can be overridden. - */ - log(kind, msg, data) { - this.logger(kind, msg, data); - } - /** - * Returns the current state of the socket. - */ - connectionState() { - switch (this.conn && this.conn.readyState) { - case constants_1.SOCKET_STATES.connecting: - return constants_1.CONNECTION_STATE.Connecting; - case constants_1.SOCKET_STATES.open: - return constants_1.CONNECTION_STATE.Open; - case constants_1.SOCKET_STATES.closing: - return constants_1.CONNECTION_STATE.Closing; - default: - return constants_1.CONNECTION_STATE.Closed; - } - } - /** - * Returns `true` is the connection is open. - */ - isConnected() { - return this.connectionState() === constants_1.CONNECTION_STATE.Open; - } - channel(topic, params = { config: {} }) { - const chan = new RealtimeChannel_1.default(`realtime:${topic}`, params, this); - this.channels.push(chan); - return chan; - } - /** - * Push out a message if the socket is connected. - * - * If the socket is not connected, the message gets enqueued within a local buffer, and sent out when a connection is next established. - */ - push(data) { - const { topic, event, payload, ref } = data; - const callback = () => { - this.encode(data, (result) => { - var _a; - (_a = this.conn) === null || _a === void 0 ? void 0 : _a.send(result); - }); - }; - this.log('push', `${topic} ${event} (${ref})`, payload); - if (this.isConnected()) { - callback(); - } - else { - this.sendBuffer.push(callback); - } - } - /** - * Sets the JWT access token used for channel subscription authorization and Realtime RLS. - * - * @param token A JWT string. - */ - setAuth(token) { - this.accessToken = token; - this.channels.forEach((channel) => { - token && channel.updateJoinPayload({ access_token: token }); - if (channel.joinedOnce && channel._isJoined()) { - channel._push(constants_1.CHANNEL_EVENTS.access_token, { access_token: token }); - } - }); - } - /** - * Return the next message ref, accounting for overflows - * - * @internal - */ - _makeRef() { - let newRef = this.ref + 1; - if (newRef === this.ref) { - this.ref = 0; - } - else { - this.ref = newRef; - } - return this.ref.toString(); - } - /** - * Unsubscribe from channels with the specified topic. - * - * @internal - */ - _leaveOpenTopic(topic) { - let dupChannel = this.channels.find((c) => c.topic === topic && (c._isJoined() || c._isJoining())); - if (dupChannel) { - this.log('transport', `leaving duplicate topic "${topic}"`); - dupChannel.unsubscribe(); - } - } - /** - * Removes a subscription from the socket. - * - * @param channel An open subscription. - * - * @internal - */ - _remove(channel) { - this.channels = this.channels.filter((c) => c._joinRef() !== channel._joinRef()); - } - /** - * Sets up connection handlers. - * - * @internal - */ - setupConnection() { - if (this.conn) { - this.conn.binaryType = 'arraybuffer'; - this.conn.onopen = () => this._onConnOpen(); - this.conn.onerror = (error) => this._onConnError(error); - this.conn.onmessage = (event) => this._onConnMessage(event); - this.conn.onclose = (event) => this._onConnClose(event); - } - } - /** - * Returns the URL of the websocket. - * - * @internal - */ - _endPointURL() { - return this._appendParams(this.endPoint, Object.assign({}, this.params, { vsn: constants_1.VSN })); - } - /** @internal */ - _onConnMessage(rawMessage) { - this.decode(rawMessage.data, (msg) => { - let { topic, event, payload, ref } = msg; - if ((ref && ref === this.pendingHeartbeatRef) || - event === (payload === null || payload === void 0 ? void 0 : payload.type)) { - this.pendingHeartbeatRef = null; - } - this.log('receive', `${payload.status || ''} ${topic} ${event} ${(ref && '(' + ref + ')') || ''}`, payload); - this.channels - .filter((channel) => channel._isMember(topic)) - .forEach((channel) => channel._trigger(event, payload, ref)); - this.stateChangeCallbacks.message.forEach((callback) => callback(msg)); - }); - } - /** @internal */ - _onConnOpen() { - this.log('transport', `connected to ${this._endPointURL()}`); - this._flushSendBuffer(); - this.reconnectTimer.reset(); - this.heartbeatTimer && clearInterval(this.heartbeatTimer); - this.heartbeatTimer = setInterval(() => this._sendHeartbeat(), this.heartbeatIntervalMs); - this.stateChangeCallbacks.open.forEach((callback) => callback()); - } - /** @internal */ - _onConnClose(event) { - this.log('transport', 'close', event); - this._triggerChanError(); - this.heartbeatTimer && clearInterval(this.heartbeatTimer); - this.reconnectTimer.scheduleTimeout(); - this.stateChangeCallbacks.close.forEach((callback) => callback(event)); - } - /** @internal */ - _onConnError(error) { - this.log('transport', error.message); - this._triggerChanError(); - this.stateChangeCallbacks.error.forEach((callback) => callback(error)); - } - /** @internal */ - _triggerChanError() { - this.channels.forEach((channel) => channel._trigger(constants_1.CHANNEL_EVENTS.error)); - } - /** @internal */ - _appendParams(url, params) { - if (Object.keys(params).length === 0) { - return url; - } - const prefix = url.match(/\?/) ? '&' : '?'; - const query = new URLSearchParams(params); - return `${url}${prefix}${query}`; - } - /** @internal */ - _flushSendBuffer() { - if (this.isConnected() && this.sendBuffer.length > 0) { - this.sendBuffer.forEach((callback) => callback()); - this.sendBuffer = []; - } - } - /** @internal */ - _sendHeartbeat() { - var _a; - if (!this.isConnected()) { - return; - } - if (this.pendingHeartbeatRef) { - this.pendingHeartbeatRef = null; - this.log('transport', 'heartbeat timeout. Attempting to re-establish connection'); - (_a = this.conn) === null || _a === void 0 ? void 0 : _a.close(constants_1.WS_CLOSE_NORMAL, 'hearbeat timeout'); - return; - } - this.pendingHeartbeatRef = this._makeRef(); - this.push({ - topic: 'phoenix', - event: 'heartbeat', - payload: {}, - ref: this.pendingHeartbeatRef, - }); - this.setAuth(this.accessToken); - } -} -exports["default"] = RealtimeClient; -class WSWebSocketDummy { - constructor(address, _protocols, options) { - this.binaryType = 'arraybuffer'; - this.onclose = () => { }; - this.onerror = () => { }; - this.onmessage = () => { }; - this.onopen = () => { }; - this.readyState = constants_1.SOCKET_STATES.connecting; - this.send = () => { }; - this.url = null; - this.url = address; - this.close = options.close; - } -} -//# sourceMappingURL=RealtimeClient.js.map - -/***/ }), - -/***/ 93360: -/***/ ((__unused_webpack_module, exports) => { - - -/* - This file draws heavily from https://github.com/phoenixframework/phoenix/blob/d344ec0a732ab4ee204215b31de69cf4be72e3bf/assets/js/phoenix/presence.js - License: https://github.com/phoenixframework/phoenix/blob/d344ec0a732ab4ee204215b31de69cf4be72e3bf/LICENSE.md -*/ -Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.REALTIME_PRESENCE_LISTEN_EVENTS = void 0; -var REALTIME_PRESENCE_LISTEN_EVENTS; -(function (REALTIME_PRESENCE_LISTEN_EVENTS) { - REALTIME_PRESENCE_LISTEN_EVENTS["SYNC"] = "sync"; - REALTIME_PRESENCE_LISTEN_EVENTS["JOIN"] = "join"; - REALTIME_PRESENCE_LISTEN_EVENTS["LEAVE"] = "leave"; -})(REALTIME_PRESENCE_LISTEN_EVENTS = exports.REALTIME_PRESENCE_LISTEN_EVENTS || (exports.REALTIME_PRESENCE_LISTEN_EVENTS = {})); -class RealtimePresence { - /** - * Initializes the Presence. - * - * @param channel - The RealtimeChannel - * @param opts - The options, - * for example `{events: {state: 'state', diff: 'diff'}}` - */ - constructor(channel, opts) { - this.channel = channel; - this.state = {}; - this.pendingDiffs = []; - this.joinRef = null; - this.caller = { - onJoin: () => { }, - onLeave: () => { }, - onSync: () => { }, - }; - const events = (opts === null || opts === void 0 ? void 0 : opts.events) || { - state: 'presence_state', - diff: 'presence_diff', - }; - this.channel._on(events.state, {}, (newState) => { - const { onJoin, onLeave, onSync } = this.caller; - this.joinRef = this.channel._joinRef(); - this.state = RealtimePresence.syncState(this.state, newState, onJoin, onLeave); - this.pendingDiffs.forEach((diff) => { - this.state = RealtimePresence.syncDiff(this.state, diff, onJoin, onLeave); - }); - this.pendingDiffs = []; - onSync(); - }); - this.channel._on(events.diff, {}, (diff) => { - const { onJoin, onLeave, onSync } = this.caller; - if (this.inPendingSyncState()) { - this.pendingDiffs.push(diff); - } - else { - this.state = RealtimePresence.syncDiff(this.state, diff, onJoin, onLeave); - onSync(); - } - }); - this.onJoin((key, currentPresences, newPresences) => { - this.channel._trigger('presence', { - event: 'join', - key, - currentPresences, - newPresences, - }); - }); - this.onLeave((key, currentPresences, leftPresences) => { - this.channel._trigger('presence', { - event: 'leave', - key, - currentPresences, - leftPresences, - }); - }); - this.onSync(() => { - this.channel._trigger('presence', { event: 'sync' }); - }); - } - /** - * Used to sync the list of presences on the server with the - * client's state. - * - * An optional `onJoin` and `onLeave` callback can be provided to - * react to changes in the client's local presences across - * disconnects and reconnects with the server. - * - * @internal - */ - static syncState(currentState, newState, onJoin, onLeave) { - const state = this.cloneDeep(currentState); - const transformedState = this.transformState(newState); - const joins = {}; - const leaves = {}; - this.map(state, (key, presences) => { - if (!transformedState[key]) { - leaves[key] = presences; - } - }); - this.map(transformedState, (key, newPresences) => { - const currentPresences = state[key]; - if (currentPresences) { - const newPresenceRefs = newPresences.map((m) => m.presence_ref); - const curPresenceRefs = currentPresences.map((m) => m.presence_ref); - const joinedPresences = newPresences.filter((m) => curPresenceRefs.indexOf(m.presence_ref) < 0); - const leftPresences = currentPresences.filter((m) => newPresenceRefs.indexOf(m.presence_ref) < 0); - if (joinedPresences.length > 0) { - joins[key] = joinedPresences; - } - if (leftPresences.length > 0) { - leaves[key] = leftPresences; - } - } - else { - joins[key] = newPresences; - } - }); - return this.syncDiff(state, { joins, leaves }, onJoin, onLeave); - } - /** - * Used to sync a diff of presence join and leave events from the - * server, as they happen. - * - * Like `syncState`, `syncDiff` accepts optional `onJoin` and - * `onLeave` callbacks to react to a user joining or leaving from a - * device. - * - * @internal - */ - static syncDiff(state, diff, onJoin, onLeave) { - const { joins, leaves } = { - joins: this.transformState(diff.joins), - leaves: this.transformState(diff.leaves), - }; - if (!onJoin) { - onJoin = () => { }; - } - if (!onLeave) { - onLeave = () => { }; - } - this.map(joins, (key, newPresences) => { - var _a; - const currentPresences = (_a = state[key]) !== null && _a !== void 0 ? _a : []; - state[key] = this.cloneDeep(newPresences); - if (currentPresences.length > 0) { - const joinedPresenceRefs = state[key].map((m) => m.presence_ref); - const curPresences = currentPresences.filter((m) => joinedPresenceRefs.indexOf(m.presence_ref) < 0); - state[key].unshift(...curPresences); - } - onJoin(key, currentPresences, newPresences); - }); - this.map(leaves, (key, leftPresences) => { - let currentPresences = state[key]; - if (!currentPresences) - return; - const presenceRefsToRemove = leftPresences.map((m) => m.presence_ref); - currentPresences = currentPresences.filter((m) => presenceRefsToRemove.indexOf(m.presence_ref) < 0); - state[key] = currentPresences; - onLeave(key, currentPresences, leftPresences); - if (currentPresences.length === 0) - delete state[key]; - }); - return state; - } - /** @internal */ - static map(obj, func) { - return Object.getOwnPropertyNames(obj).map((key) => func(key, obj[key])); - } - /** - * Remove 'metas' key - * Change 'phx_ref' to 'presence_ref' - * Remove 'phx_ref' and 'phx_ref_prev' - * - * @example - * // returns { - * abc123: [ - * { presence_ref: '2', user_id: 1 }, - * { presence_ref: '3', user_id: 2 } - * ] - * } - * RealtimePresence.transformState({ - * abc123: { - * metas: [ - * { phx_ref: '2', phx_ref_prev: '1' user_id: 1 }, - * { phx_ref: '3', user_id: 2 } - * ] - * } - * }) - * - * @internal - */ - static transformState(state) { - state = this.cloneDeep(state); - return Object.getOwnPropertyNames(state).reduce((newState, key) => { - const presences = state[key]; - if ('metas' in presences) { - newState[key] = presences.metas.map((presence) => { - presence['presence_ref'] = presence['phx_ref']; - delete presence['phx_ref']; - delete presence['phx_ref_prev']; - return presence; - }); - } - else { - newState[key] = presences; - } - return newState; - }, {}); - } - /** @internal */ - static cloneDeep(obj) { - return JSON.parse(JSON.stringify(obj)); - } - /** @internal */ - onJoin(callback) { - this.caller.onJoin = callback; - } - /** @internal */ - onLeave(callback) { - this.caller.onLeave = callback; - } - /** @internal */ - onSync(callback) { - this.caller.onSync = callback; - } - /** @internal */ - inPendingSyncState() { - return !this.joinRef || this.joinRef !== this.channel._joinRef(); - } -} -exports["default"] = RealtimePresence; -//# sourceMappingURL=RealtimePresence.js.map - -/***/ }), - -/***/ 74898: -/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) { - - -var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { - if (k2 === undefined) 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 === undefined) k2 = k; - o[k2] = m[k]; -})); -var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { - Object.defineProperty(o, "default", { enumerable: true, value: v }); -}) : function(o, v) { - o["default"] = v; -}); -var __importStar = (this && this.__importStar) || function (mod) { - if (mod && mod.__esModule) return mod; - var result = {}; - if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); - __setModuleDefault(result, mod); - return result; -}; -var __importDefault = (this && this.__importDefault) || function (mod) { - return (mod && mod.__esModule) ? mod : { "default": mod }; -}; -Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.REALTIME_CHANNEL_STATES = exports.REALTIME_SUBSCRIBE_STATES = exports.REALTIME_PRESENCE_LISTEN_EVENTS = exports.REALTIME_POSTGRES_CHANGES_LISTEN_EVENT = exports.REALTIME_LISTEN_TYPES = exports.RealtimeClient = exports.RealtimeChannel = exports.RealtimePresence = void 0; -const RealtimeClient_1 = __importDefault(__nccwpck_require__(78822)); -exports.RealtimeClient = RealtimeClient_1.default; -const RealtimeChannel_1 = __importStar(__nccwpck_require__(1218)); -exports.RealtimeChannel = RealtimeChannel_1.default; -Object.defineProperty(exports, "REALTIME_LISTEN_TYPES", ({ enumerable: true, get: function () { return RealtimeChannel_1.REALTIME_LISTEN_TYPES; } })); -Object.defineProperty(exports, "REALTIME_POSTGRES_CHANGES_LISTEN_EVENT", ({ enumerable: true, get: function () { return RealtimeChannel_1.REALTIME_POSTGRES_CHANGES_LISTEN_EVENT; } })); -Object.defineProperty(exports, "REALTIME_SUBSCRIBE_STATES", ({ enumerable: true, get: function () { return RealtimeChannel_1.REALTIME_SUBSCRIBE_STATES; } })); -Object.defineProperty(exports, "REALTIME_CHANNEL_STATES", ({ enumerable: true, get: function () { return RealtimeChannel_1.REALTIME_CHANNEL_STATES; } })); -const RealtimePresence_1 = __importStar(__nccwpck_require__(93360)); -exports.RealtimePresence = RealtimePresence_1.default; -Object.defineProperty(exports, "REALTIME_PRESENCE_LISTEN_EVENTS", ({ enumerable: true, get: function () { return RealtimePresence_1.REALTIME_PRESENCE_LISTEN_EVENTS; } })); -//# sourceMappingURL=index.js.map - -/***/ }), - -/***/ 8631: -/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { - - -Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.CONNECTION_STATE = exports.TRANSPORTS = exports.CHANNEL_EVENTS = exports.CHANNEL_STATES = exports.SOCKET_STATES = exports.WS_CLOSE_NORMAL = exports.DEFAULT_TIMEOUT = exports.VSN = exports.DEFAULT_HEADERS = void 0; -const version_1 = __nccwpck_require__(96466); -exports.DEFAULT_HEADERS = { 'X-Client-Info': `realtime-js/${version_1.version}` }; -exports.VSN = '1.0.0'; -exports.DEFAULT_TIMEOUT = 10000; -exports.WS_CLOSE_NORMAL = 1000; -var SOCKET_STATES; -(function (SOCKET_STATES) { - SOCKET_STATES[SOCKET_STATES["connecting"] = 0] = "connecting"; - SOCKET_STATES[SOCKET_STATES["open"] = 1] = "open"; - SOCKET_STATES[SOCKET_STATES["closing"] = 2] = "closing"; - SOCKET_STATES[SOCKET_STATES["closed"] = 3] = "closed"; -})(SOCKET_STATES = exports.SOCKET_STATES || (exports.SOCKET_STATES = {})); -var CHANNEL_STATES; -(function (CHANNEL_STATES) { - CHANNEL_STATES["closed"] = "closed"; - CHANNEL_STATES["errored"] = "errored"; - CHANNEL_STATES["joined"] = "joined"; - CHANNEL_STATES["joining"] = "joining"; - CHANNEL_STATES["leaving"] = "leaving"; -})(CHANNEL_STATES = exports.CHANNEL_STATES || (exports.CHANNEL_STATES = {})); -var CHANNEL_EVENTS; -(function (CHANNEL_EVENTS) { - CHANNEL_EVENTS["close"] = "phx_close"; - CHANNEL_EVENTS["error"] = "phx_error"; - CHANNEL_EVENTS["join"] = "phx_join"; - CHANNEL_EVENTS["reply"] = "phx_reply"; - CHANNEL_EVENTS["leave"] = "phx_leave"; - CHANNEL_EVENTS["access_token"] = "access_token"; -})(CHANNEL_EVENTS = exports.CHANNEL_EVENTS || (exports.CHANNEL_EVENTS = {})); -var TRANSPORTS; -(function (TRANSPORTS) { - TRANSPORTS["websocket"] = "websocket"; -})(TRANSPORTS = exports.TRANSPORTS || (exports.TRANSPORTS = {})); -var CONNECTION_STATE; -(function (CONNECTION_STATE) { - CONNECTION_STATE["Connecting"] = "connecting"; - CONNECTION_STATE["Open"] = "open"; - CONNECTION_STATE["Closing"] = "closing"; - CONNECTION_STATE["Closed"] = "closed"; -})(CONNECTION_STATE = exports.CONNECTION_STATE || (exports.CONNECTION_STATE = {})); -//# sourceMappingURL=constants.js.map - -/***/ }), - -/***/ 55832: -/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { - - -Object.defineProperty(exports, "__esModule", ({ value: true })); -const constants_1 = __nccwpck_require__(8631); -class Push { - /** - * Initializes the Push - * - * @param channel The Channel - * @param event The event, for example `"phx_join"` - * @param payload The payload, for example `{user_id: 123}` - * @param timeout The push timeout in milliseconds - */ - constructor(channel, event, payload = {}, timeout = constants_1.DEFAULT_TIMEOUT) { - this.channel = channel; - this.event = event; - this.payload = payload; - this.timeout = timeout; - this.sent = false; - this.timeoutTimer = undefined; - this.ref = ''; - this.receivedResp = null; - this.recHooks = []; - this.refEvent = null; - } - resend(timeout) { - this.timeout = timeout; - this._cancelRefEvent(); - this.ref = ''; - this.refEvent = null; - this.receivedResp = null; - this.sent = false; - this.send(); - } - send() { - if (this._hasReceived('timeout')) { - return; - } - this.startTimeout(); - this.sent = true; - this.channel.socket.push({ - topic: this.channel.topic, - event: this.event, - payload: this.payload, - ref: this.ref, - join_ref: this.channel._joinRef(), - }); - } - updatePayload(payload) { - this.payload = Object.assign(Object.assign({}, this.payload), payload); - } - receive(status, callback) { - var _a; - if (this._hasReceived(status)) { - callback((_a = this.receivedResp) === null || _a === void 0 ? void 0 : _a.response); - } - this.recHooks.push({ status, callback }); - return this; - } - startTimeout() { - if (this.timeoutTimer) { - return; - } - this.ref = this.channel.socket._makeRef(); - this.refEvent = this.channel._replyEventName(this.ref); - const callback = (payload) => { - this._cancelRefEvent(); - this._cancelTimeout(); - this.receivedResp = payload; - this._matchReceive(payload); - }; - this.channel._on(this.refEvent, {}, callback); - this.timeoutTimer = setTimeout(() => { - this.trigger('timeout', {}); - }, this.timeout); - } - trigger(status, response) { - if (this.refEvent) - this.channel._trigger(this.refEvent, { status, response }); - } - destroy() { - this._cancelRefEvent(); - this._cancelTimeout(); - } - _cancelRefEvent() { - if (!this.refEvent) { - return; - } - this.channel._off(this.refEvent, {}); - } - _cancelTimeout() { - clearTimeout(this.timeoutTimer); - this.timeoutTimer = undefined; - } - _matchReceive({ status, response, }) { - this.recHooks - .filter((h) => h.status === status) - .forEach((h) => h.callback(response)); - } - _hasReceived(status) { - return this.receivedResp && this.receivedResp.status === status; - } -} -exports["default"] = Push; -//# sourceMappingURL=push.js.map - -/***/ }), - -/***/ 15000: -/***/ ((__unused_webpack_module, exports) => { - - -// This file draws heavily from https://github.com/phoenixframework/phoenix/commit/cf098e9cf7a44ee6479d31d911a97d3c7430c6fe -// License: https://github.com/phoenixframework/phoenix/blob/master/LICENSE.md -Object.defineProperty(exports, "__esModule", ({ value: true })); -class Serializer { - constructor() { - this.HEADER_LENGTH = 1; - } - decode(rawPayload, callback) { - if (rawPayload.constructor === ArrayBuffer) { - return callback(this._binaryDecode(rawPayload)); - } - if (typeof rawPayload === 'string') { - return callback(JSON.parse(rawPayload)); - } - return callback({}); - } - _binaryDecode(buffer) { - const view = new DataView(buffer); - const decoder = new TextDecoder(); - return this._decodeBroadcast(buffer, view, decoder); - } - _decodeBroadcast(buffer, view, decoder) { - const topicSize = view.getUint8(1); - const eventSize = view.getUint8(2); - let offset = this.HEADER_LENGTH + 2; - const topic = decoder.decode(buffer.slice(offset, offset + topicSize)); - offset = offset + topicSize; - const event = decoder.decode(buffer.slice(offset, offset + eventSize)); - offset = offset + eventSize; - const data = JSON.parse(decoder.decode(buffer.slice(offset, buffer.byteLength))); - return { ref: null, topic: topic, event: event, payload: data }; - } -} -exports["default"] = Serializer; -//# sourceMappingURL=serializer.js.map - -/***/ }), - -/***/ 49419: -/***/ ((__unused_webpack_module, exports) => { - - -Object.defineProperty(exports, "__esModule", ({ value: true })); -/** - * Creates a timer that accepts a `timerCalc` function to perform calculated timeout retries, such as exponential backoff. - * - * @example - * let reconnectTimer = new Timer(() => this.connect(), function(tries){ - * return [1000, 5000, 10000][tries - 1] || 10000 - * }) - * reconnectTimer.scheduleTimeout() // fires after 1000 - * reconnectTimer.scheduleTimeout() // fires after 5000 - * reconnectTimer.reset() - * reconnectTimer.scheduleTimeout() // fires after 1000 - */ -class Timer { - constructor(callback, timerCalc) { - this.callback = callback; - this.timerCalc = timerCalc; - this.timer = undefined; - this.tries = 0; - this.callback = callback; - this.timerCalc = timerCalc; - } - reset() { - this.tries = 0; - clearTimeout(this.timer); - } - // Cancels any previous scheduleTimeout and schedules callback - scheduleTimeout() { - clearTimeout(this.timer); - this.timer = setTimeout(() => { - this.tries = this.tries + 1; - this.callback(); - }, this.timerCalc(this.tries + 1)); - } -} -exports["default"] = Timer; -//# sourceMappingURL=timer.js.map - -/***/ }), - -/***/ 40112: -/***/ ((__unused_webpack_module, exports) => { - - -/** - * Helpers to convert the change Payload into native JS types. - */ -Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.toTimestampString = exports.toArray = exports.toJson = exports.toNumber = exports.toBoolean = exports.convertCell = exports.convertColumn = exports.convertChangeData = exports.PostgresTypes = void 0; -// Adapted from epgsql (src/epgsql_binary.erl), this module licensed under -// 3-clause BSD found here: https://raw.githubusercontent.com/epgsql/epgsql/devel/LICENSE -var PostgresTypes; -(function (PostgresTypes) { - PostgresTypes["abstime"] = "abstime"; - PostgresTypes["bool"] = "bool"; - PostgresTypes["date"] = "date"; - PostgresTypes["daterange"] = "daterange"; - PostgresTypes["float4"] = "float4"; - PostgresTypes["float8"] = "float8"; - PostgresTypes["int2"] = "int2"; - PostgresTypes["int4"] = "int4"; - PostgresTypes["int4range"] = "int4range"; - PostgresTypes["int8"] = "int8"; - PostgresTypes["int8range"] = "int8range"; - PostgresTypes["json"] = "json"; - PostgresTypes["jsonb"] = "jsonb"; - PostgresTypes["money"] = "money"; - PostgresTypes["numeric"] = "numeric"; - PostgresTypes["oid"] = "oid"; - PostgresTypes["reltime"] = "reltime"; - PostgresTypes["text"] = "text"; - PostgresTypes["time"] = "time"; - PostgresTypes["timestamp"] = "timestamp"; - PostgresTypes["timestamptz"] = "timestamptz"; - PostgresTypes["timetz"] = "timetz"; - PostgresTypes["tsrange"] = "tsrange"; - PostgresTypes["tstzrange"] = "tstzrange"; -})(PostgresTypes = exports.PostgresTypes || (exports.PostgresTypes = {})); -/** - * Takes an array of columns and an object of string values then converts each string value - * to its mapped type. - * - * @param {{name: String, type: String}[]} columns - * @param {Object} record - * @param {Object} options The map of various options that can be applied to the mapper - * @param {Array} options.skipTypes The array of types that should not be converted - * - * @example convertChangeData([{name: 'first_name', type: 'text'}, {name: 'age', type: 'int4'}], {first_name: 'Paul', age:'33'}, {}) - * //=>{ first_name: 'Paul', age: 33 } - */ -const convertChangeData = (columns, record, options = {}) => { - var _a; - const skipTypes = (_a = options.skipTypes) !== null && _a !== void 0 ? _a : []; - return Object.keys(record).reduce((acc, rec_key) => { - acc[rec_key] = (0, exports.convertColumn)(rec_key, columns, record, skipTypes); - return acc; - }, {}); -}; -exports.convertChangeData = convertChangeData; -/** - * Converts the value of an individual column. - * - * @param {String} columnName The column that you want to convert - * @param {{name: String, type: String}[]} columns All of the columns - * @param {Object} record The map of string values - * @param {Array} skipTypes An array of types that should not be converted - * @return {object} Useless information - * - * @example convertColumn('age', [{name: 'first_name', type: 'text'}, {name: 'age', type: 'int4'}], {first_name: 'Paul', age: '33'}, []) - * //=> 33 - * @example convertColumn('age', [{name: 'first_name', type: 'text'}, {name: 'age', type: 'int4'}], {first_name: 'Paul', age: '33'}, ['int4']) - * //=> "33" - */ -const convertColumn = (columnName, columns, record, skipTypes) => { - const column = columns.find((x) => x.name === columnName); - const colType = column === null || column === void 0 ? void 0 : column.type; - const value = record[columnName]; - if (colType && !skipTypes.includes(colType)) { - return (0, exports.convertCell)(colType, value); - } - return noop(value); -}; -exports.convertColumn = convertColumn; -/** - * If the value of the cell is `null`, returns null. - * Otherwise converts the string value to the correct type. - * @param {String} type A postgres column type - * @param {String} value The cell value - * - * @example convertCell('bool', 't') - * //=> true - * @example convertCell('int8', '10') - * //=> 10 - * @example convertCell('_int4', '{1,2,3,4}') - * //=> [1,2,3,4] - */ -const convertCell = (type, value) => { - // if data type is an array - if (type.charAt(0) === '_') { - const dataType = type.slice(1, type.length); - return (0, exports.toArray)(value, dataType); - } - // If not null, convert to correct type. - switch (type) { - case PostgresTypes.bool: - return (0, exports.toBoolean)(value); - case PostgresTypes.float4: - case PostgresTypes.float8: - case PostgresTypes.int2: - case PostgresTypes.int4: - case PostgresTypes.int8: - case PostgresTypes.numeric: - case PostgresTypes.oid: - return (0, exports.toNumber)(value); - case PostgresTypes.json: - case PostgresTypes.jsonb: - return (0, exports.toJson)(value); - case PostgresTypes.timestamp: - return (0, exports.toTimestampString)(value); // Format to be consistent with PostgREST - case PostgresTypes.abstime: // To allow users to cast it based on Timezone - case PostgresTypes.date: // To allow users to cast it based on Timezone - case PostgresTypes.daterange: - case PostgresTypes.int4range: - case PostgresTypes.int8range: - case PostgresTypes.money: - case PostgresTypes.reltime: // To allow users to cast it based on Timezone - case PostgresTypes.text: - case PostgresTypes.time: // To allow users to cast it based on Timezone - case PostgresTypes.timestamptz: // To allow users to cast it based on Timezone - case PostgresTypes.timetz: // To allow users to cast it based on Timezone - case PostgresTypes.tsrange: - case PostgresTypes.tstzrange: - return noop(value); - default: - // Return the value for remaining types - return noop(value); - } -}; -exports.convertCell = convertCell; -const noop = (value) => { - return value; -}; -const toBoolean = (value) => { - switch (value) { - case 't': - return true; - case 'f': - return false; - default: - return value; - } -}; -exports.toBoolean = toBoolean; -const toNumber = (value) => { - if (typeof value === 'string') { - const parsedValue = parseFloat(value); - if (!Number.isNaN(parsedValue)) { - return parsedValue; - } - } - return value; -}; -exports.toNumber = toNumber; -const toJson = (value) => { - if (typeof value === 'string') { - try { - return JSON.parse(value); - } - catch (error) { - console.log(`JSON parse error: ${error}`); - return value; - } - } - return value; -}; -exports.toJson = toJson; -/** - * Converts a Postgres Array into a native JS array - * - * @example toArray('{}', 'int4') - * //=> [] - * @example toArray('{"[2021-01-01,2021-12-31)","(2021-01-01,2021-12-32]"}', 'daterange') - * //=> ['[2021-01-01,2021-12-31)', '(2021-01-01,2021-12-32]'] - * @example toArray([1,2,3,4], 'int4') - * //=> [1,2,3,4] - */ -const toArray = (value, type) => { - if (typeof value !== 'string') { - return value; - } - const lastIdx = value.length - 1; - const closeBrace = value[lastIdx]; - const openBrace = value[0]; - // Confirm value is a Postgres array by checking curly brackets - if (openBrace === '{' && closeBrace === '}') { - let arr; - const valTrim = value.slice(1, lastIdx); - // TODO: find a better solution to separate Postgres array data - try { - arr = JSON.parse('[' + valTrim + ']'); - } - catch (_) { - // WARNING: splitting on comma does not cover all edge cases - arr = valTrim ? valTrim.split(',') : []; - } - return arr.map((val) => (0, exports.convertCell)(type, val)); - } - return value; -}; -exports.toArray = toArray; -/** - * Fixes timestamp to be ISO-8601. Swaps the space between the date and time for a 'T' - * See https://github.com/supabase/supabase/issues/18 - * - * @example toTimestampString('2019-09-10 00:00:00') - * //=> '2019-09-10T00:00:00' - */ -const toTimestampString = (value) => { - if (typeof value === 'string') { - return value.replace(' ', 'T'); - } - return value; -}; -exports.toTimestampString = toTimestampString; -//# sourceMappingURL=transformers.js.map - -/***/ }), - -/***/ 96466: -/***/ ((__unused_webpack_module, exports) => { - - -Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.version = void 0; -exports.version = '2.9.3'; -//# sourceMappingURL=version.js.map - -/***/ }), - -/***/ 24: -/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) { - - -var __importDefault = (this && this.__importDefault) || function (mod) { - return (mod && mod.__esModule) ? mod : { "default": mod }; -}; -Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.StorageClient = void 0; -const StorageFileApi_1 = __importDefault(__nccwpck_require__(47798)); -const StorageBucketApi_1 = __importDefault(__nccwpck_require__(60129)); -class StorageClient extends StorageBucketApi_1.default { - constructor(url, headers = {}, fetch) { - super(url, headers, fetch); - } - /** - * Perform file operation in a bucket. - * - * @param id The bucket id to operate on. - */ - from(id) { - return new StorageFileApi_1.default(this.url, this.headers, id, this.fetch); - } -} -exports.StorageClient = StorageClient; -//# sourceMappingURL=StorageClient.js.map - -/***/ }), - -/***/ 23534: -/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) { - - -var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { - if (k2 === undefined) 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 === undefined) k2 = k; - o[k2] = m[k]; -})); -var __exportStar = (this && this.__exportStar) || function(m, exports) { - for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p); -}; -Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.StorageClient = void 0; -var StorageClient_1 = __nccwpck_require__(24); -Object.defineProperty(exports, "StorageClient", ({ enumerable: true, get: function () { return StorageClient_1.StorageClient; } })); -__exportStar(__nccwpck_require__(25071), exports); -__exportStar(__nccwpck_require__(53191), exports); -//# sourceMappingURL=index.js.map - -/***/ }), - -/***/ 66467: -/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { - - -Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.DEFAULT_HEADERS = void 0; -const version_1 = __nccwpck_require__(40518); -exports.DEFAULT_HEADERS = { 'X-Client-Info': `storage-js/${version_1.version}` }; -//# sourceMappingURL=constants.js.map - -/***/ }), - -/***/ 53191: -/***/ ((__unused_webpack_module, exports) => { - - -Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.StorageUnknownError = exports.StorageApiError = exports.isStorageError = exports.StorageError = void 0; -class StorageError extends Error { - constructor(message) { - super(message); - this.__isStorageError = true; - this.name = 'StorageError'; - } -} -exports.StorageError = StorageError; -function isStorageError(error) { - return typeof error === 'object' && error !== null && '__isStorageError' in error; -} -exports.isStorageError = isStorageError; -class StorageApiError extends StorageError { - constructor(message, status) { - super(message); - this.name = 'StorageApiError'; - this.status = status; - } - toJSON() { - return { - name: this.name, - message: this.message, - status: this.status, - }; - } -} -exports.StorageApiError = StorageApiError; -class StorageUnknownError extends StorageError { - constructor(message, originalError) { - super(message); - this.name = 'StorageUnknownError'; - this.originalError = originalError; - } -} -exports.StorageUnknownError = StorageUnknownError; -//# sourceMappingURL=errors.js.map - -/***/ }), - -/***/ 81854: -/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) { - - -var __awaiter = (this && this.__awaiter) || function (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, reject) { - function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } - function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } - function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); -}; -Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.remove = exports.put = exports.post = exports.get = void 0; -const errors_1 = __nccwpck_require__(53191); -const helpers_1 = __nccwpck_require__(18163); -const _getErrorMessage = (err) => err.msg || err.message || err.error_description || err.error || JSON.stringify(err); -const handleError = (error, reject) => __awaiter(void 0, void 0, void 0, function* () { - const Res = yield (0, helpers_1.resolveResponse)(); - if (error instanceof Res) { - error - .json() - .then((err) => { - reject(new errors_1.StorageApiError(_getErrorMessage(err), error.status || 500)); - }) - .catch((err) => { - reject(new errors_1.StorageUnknownError(_getErrorMessage(err), err)); - }); - } - else { - reject(new errors_1.StorageUnknownError(_getErrorMessage(error), error)); - } -}); -const _getRequestParams = (method, options, parameters, body) => { - const params = { method, headers: (options === null || options === void 0 ? void 0 : options.headers) || {} }; - if (method === 'GET') { - return params; - } - params.headers = Object.assign({ 'Content-Type': 'application/json' }, options === null || options === void 0 ? void 0 : options.headers); - params.body = JSON.stringify(body); - return Object.assign(Object.assign({}, params), parameters); -}; -function _handleRequest(fetcher, method, url, options, parameters, body) { - return __awaiter(this, void 0, void 0, function* () { - return new Promise((resolve, reject) => { - fetcher(url, _getRequestParams(method, options, parameters, body)) - .then((result) => { - if (!result.ok) - throw result; - if (options === null || options === void 0 ? void 0 : options.noResolveJson) - return result; - return result.json(); - }) - .then((data) => resolve(data)) - .catch((error) => handleError(error, reject)); - }); - }); -} -function get(fetcher, url, options, parameters) { - return __awaiter(this, void 0, void 0, function* () { - return _handleRequest(fetcher, 'GET', url, options, parameters); - }); -} -exports.get = get; -function post(fetcher, url, body, options, parameters) { - return __awaiter(this, void 0, void 0, function* () { - return _handleRequest(fetcher, 'POST', url, options, parameters, body); - }); -} -exports.post = post; -function put(fetcher, url, body, options, parameters) { - return __awaiter(this, void 0, void 0, function* () { - return _handleRequest(fetcher, 'PUT', url, options, parameters, body); - }); -} -exports.put = put; -function remove(fetcher, url, body, options, parameters) { - return __awaiter(this, void 0, void 0, function* () { - return _handleRequest(fetcher, 'DELETE', url, options, parameters, body); - }); -} -exports.remove = remove; -//# sourceMappingURL=fetch.js.map - -/***/ }), - -/***/ 18163: -/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) { - - -var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { - if (k2 === undefined) 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 === undefined) k2 = k; - o[k2] = m[k]; -})); -var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { - Object.defineProperty(o, "default", { enumerable: true, value: v }); -}) : function(o, v) { - o["default"] = v; -}); -var __importStar = (this && this.__importStar) || function (mod) { - if (mod && mod.__esModule) return mod; - var result = {}; - if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); - __setModuleDefault(result, mod); - return result; -}; -var __awaiter = (this && this.__awaiter) || function (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, reject) { - function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } - function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } - function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); -}; -Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.resolveResponse = exports.resolveFetch = void 0; -const resolveFetch = (customFetch) => { - let _fetch; - if (customFetch) { - _fetch = customFetch; - } - else if (typeof fetch === 'undefined') { - _fetch = (...args) => Promise.resolve().then(() => __importStar(__nccwpck_require__(18839))).then(({ default: fetch }) => fetch(...args)); - } - else { - _fetch = fetch; - } - return (...args) => _fetch(...args); -}; -exports.resolveFetch = resolveFetch; -const resolveResponse = () => __awaiter(void 0, void 0, void 0, function* () { - if (typeof Response === 'undefined') { - // @ts-ignore - return (yield Promise.resolve().then(() => __importStar(__nccwpck_require__(18839)))).Response; - } - return Response; -}); -exports.resolveResponse = resolveResponse; -//# sourceMappingURL=helpers.js.map - -/***/ }), - -/***/ 25071: -/***/ ((__unused_webpack_module, exports) => { - - -Object.defineProperty(exports, "__esModule", ({ value: true })); -//# sourceMappingURL=types.js.map - -/***/ }), - -/***/ 40518: -/***/ ((__unused_webpack_module, exports) => { - - -Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.version = void 0; -// generated by genversion -exports.version = '2.5.5'; -//# sourceMappingURL=version.js.map - -/***/ }), - -/***/ 60129: -/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) { - - -var __awaiter = (this && this.__awaiter) || function (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, reject) { - function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } - function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } - function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); -}; -Object.defineProperty(exports, "__esModule", ({ value: true })); -const constants_1 = __nccwpck_require__(66467); -const errors_1 = __nccwpck_require__(53191); -const fetch_1 = __nccwpck_require__(81854); -const helpers_1 = __nccwpck_require__(18163); -class StorageBucketApi { - constructor(url, headers = {}, fetch) { - this.url = url; - this.headers = Object.assign(Object.assign({}, constants_1.DEFAULT_HEADERS), headers); - this.fetch = (0, helpers_1.resolveFetch)(fetch); - } - /** - * Retrieves the details of all Storage buckets within an existing project. - */ - listBuckets() { - return __awaiter(this, void 0, void 0, function* () { - try { - const data = yield (0, fetch_1.get)(this.fetch, `${this.url}/bucket`, { headers: this.headers }); - return { data, error: null }; - } - catch (error) { - if ((0, errors_1.isStorageError)(error)) { - return { data: null, error }; - } - throw error; - } - }); - } - /** - * Retrieves the details of an existing Storage bucket. - * - * @param id The unique identifier of the bucket you would like to retrieve. - */ - getBucket(id) { - return __awaiter(this, void 0, void 0, function* () { - try { - const data = yield (0, fetch_1.get)(this.fetch, `${this.url}/bucket/${id}`, { headers: this.headers }); - return { data, error: null }; - } - catch (error) { - if ((0, errors_1.isStorageError)(error)) { - return { data: null, error }; - } - throw error; - } - }); - } - /** - * Creates a new Storage bucket - * - * @param id A unique identifier for the bucket you are creating. - * @param options.public The visibility of the bucket. Public buckets don't require an authorization token to download objects, but still require a valid token for all other operations. By default, buckets are private. - * @param options.fileSizeLimit specifies the max file size in bytes that can be uploaded to this bucket. - * The global file size limit takes precedence over this value. - * The default value is null, which doesn't set a per bucket file size limit. - * @param options.allowedMimeTypes specifies the allowed mime types that this bucket can accept during upload. - * The default value is null, which allows files with all mime types to be uploaded. - * Each mime type specified can be a wildcard, e.g. image/*, or a specific mime type, e.g. image/png. - * @returns newly created bucket id - */ - createBucket(id, options = { - public: false, - }) { - return __awaiter(this, void 0, void 0, function* () { - try { - const data = yield (0, fetch_1.post)(this.fetch, `${this.url}/bucket`, { - id, - name: id, - public: options.public, - file_size_limit: options.fileSizeLimit, - allowed_mime_types: options.allowedMimeTypes, - }, { headers: this.headers }); - return { data, error: null }; - } - catch (error) { - if ((0, errors_1.isStorageError)(error)) { - return { data: null, error }; - } - throw error; - } - }); - } - /** - * Updates a Storage bucket - * - * @param id A unique identifier for the bucket you are updating. - * @param options.public The visibility of the bucket. Public buckets don't require an authorization token to download objects, but still require a valid token for all other operations. - * @param options.fileSizeLimit specifies the max file size in bytes that can be uploaded to this bucket. - * The global file size limit takes precedence over this value. - * The default value is null, which doesn't set a per bucket file size limit. - * @param options.allowedMimeTypes specifies the allowed mime types that this bucket can accept during upload. - * The default value is null, which allows files with all mime types to be uploaded. - * Each mime type specified can be a wildcard, e.g. image/*, or a specific mime type, e.g. image/png. - */ - updateBucket(id, options) { - return __awaiter(this, void 0, void 0, function* () { - try { - const data = yield (0, fetch_1.put)(this.fetch, `${this.url}/bucket/${id}`, { - id, - name: id, - public: options.public, - file_size_limit: options.fileSizeLimit, - allowed_mime_types: options.allowedMimeTypes, - }, { headers: this.headers }); - return { data, error: null }; - } - catch (error) { - if ((0, errors_1.isStorageError)(error)) { - return { data: null, error }; - } - throw error; - } - }); - } - /** - * Removes all objects inside a single bucket. - * - * @param id The unique identifier of the bucket you would like to empty. - */ - emptyBucket(id) { - return __awaiter(this, void 0, void 0, function* () { - try { - const data = yield (0, fetch_1.post)(this.fetch, `${this.url}/bucket/${id}/empty`, {}, { headers: this.headers }); - return { data, error: null }; - } - catch (error) { - if ((0, errors_1.isStorageError)(error)) { - return { data: null, error }; - } - throw error; - } - }); - } - /** - * Deletes an existing bucket. A bucket can't be deleted with existing objects inside it. - * You must first `empty()` the bucket. - * - * @param id The unique identifier of the bucket you would like to delete. - */ - deleteBucket(id) { - return __awaiter(this, void 0, void 0, function* () { - try { - const data = yield (0, fetch_1.remove)(this.fetch, `${this.url}/bucket/${id}`, {}, { headers: this.headers }); - return { data, error: null }; - } - catch (error) { - if ((0, errors_1.isStorageError)(error)) { - return { data: null, error }; - } - throw error; - } - }); - } -} -exports["default"] = StorageBucketApi; -//# sourceMappingURL=StorageBucketApi.js.map - -/***/ }), - -/***/ 47798: -/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) { - - -var __awaiter = (this && this.__awaiter) || function (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, reject) { - function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } - function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } - function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); -}; -Object.defineProperty(exports, "__esModule", ({ value: true })); -const errors_1 = __nccwpck_require__(53191); -const fetch_1 = __nccwpck_require__(81854); -const helpers_1 = __nccwpck_require__(18163); -const DEFAULT_SEARCH_OPTIONS = { - limit: 100, - offset: 0, - sortBy: { - column: 'name', - order: 'asc', - }, -}; -const DEFAULT_FILE_OPTIONS = { - cacheControl: '3600', - contentType: 'text/plain;charset=UTF-8', - upsert: false, -}; -class StorageFileApi { - constructor(url, headers = {}, bucketId, fetch) { - this.url = url; - this.headers = headers; - this.bucketId = bucketId; - this.fetch = (0, helpers_1.resolveFetch)(fetch); - } - /** - * Uploads a file to an existing bucket or replaces an existing file at the specified path with a new one. - * - * @param method HTTP method. - * @param path The relative file path. Should be of the format `folder/subfolder/filename.png`. The bucket must already exist before attempting to upload. - * @param fileBody The body of the file to be stored in the bucket. - */ - uploadOrUpdate(method, path, fileBody, fileOptions) { - return __awaiter(this, void 0, void 0, function* () { - try { - let body; - const options = Object.assign(Object.assign({}, DEFAULT_FILE_OPTIONS), fileOptions); - const headers = Object.assign(Object.assign({}, this.headers), (method === 'POST' && { 'x-upsert': String(options.upsert) })); - if (typeof Blob !== 'undefined' && fileBody instanceof Blob) { - body = new FormData(); - body.append('cacheControl', options.cacheControl); - body.append('', fileBody); - } - else if (typeof FormData !== 'undefined' && fileBody instanceof FormData) { - body = fileBody; - body.append('cacheControl', options.cacheControl); - } - else { - body = fileBody; - headers['cache-control'] = `max-age=${options.cacheControl}`; - headers['content-type'] = options.contentType; - } - const cleanPath = this._removeEmptyFolders(path); - const _path = this._getFinalPath(cleanPath); - const res = yield this.fetch(`${this.url}/object/${_path}`, Object.assign({ method, body: body, headers }, ((options === null || options === void 0 ? void 0 : options.duplex) ? { duplex: options.duplex } : {}))); - const data = yield res.json(); - if (res.ok) { - return { - data: { path: cleanPath, id: data.Id, fullPath: data.Key }, - error: null, - }; - } - else { - const error = data; - return { data: null, error }; - } - } - catch (error) { - if ((0, errors_1.isStorageError)(error)) { - return { data: null, error }; - } - throw error; - } - }); - } - /** - * Uploads a file to an existing bucket. - * - * @param path The file path, including the file name. Should be of the format `folder/subfolder/filename.png`. The bucket must already exist before attempting to upload. - * @param fileBody The body of the file to be stored in the bucket. - */ - upload(path, fileBody, fileOptions) { - return __awaiter(this, void 0, void 0, function* () { - return this.uploadOrUpdate('POST', path, fileBody, fileOptions); - }); - } - /** - * Upload a file with a token generated from `createSignedUploadUrl`. - * @param path The file path, including the file name. Should be of the format `folder/subfolder/filename.png`. The bucket must already exist before attempting to upload. - * @param token The token generated from `createSignedUploadUrl` - * @param fileBody The body of the file to be stored in the bucket. - */ - uploadToSignedUrl(path, token, fileBody, fileOptions) { - return __awaiter(this, void 0, void 0, function* () { - const cleanPath = this._removeEmptyFolders(path); - const _path = this._getFinalPath(cleanPath); - const url = new URL(this.url + `/object/upload/sign/${_path}`); - url.searchParams.set('token', token); - try { - let body; - const options = Object.assign({ upsert: DEFAULT_FILE_OPTIONS.upsert }, fileOptions); - const headers = Object.assign(Object.assign({}, this.headers), { 'x-upsert': String(options.upsert) }); - if (typeof Blob !== 'undefined' && fileBody instanceof Blob) { - body = new FormData(); - body.append('cacheControl', options.cacheControl); - body.append('', fileBody); - } - else if (typeof FormData !== 'undefined' && fileBody instanceof FormData) { - body = fileBody; - body.append('cacheControl', options.cacheControl); - } - else { - body = fileBody; - headers['cache-control'] = `max-age=${options.cacheControl}`; - headers['content-type'] = options.contentType; - } - const res = yield this.fetch(url.toString(), { - method: 'PUT', - body: body, - headers, - }); - const data = yield res.json(); - if (res.ok) { - return { - data: { path: cleanPath, fullPath: data.Key }, - error: null, - }; - } - else { - const error = data; - return { data: null, error }; - } - } - catch (error) { - if ((0, errors_1.isStorageError)(error)) { - return { data: null, error }; - } - throw error; - } - }); - } - /** - * Creates a signed upload URL. - * Signed upload URLs can be used to upload files to the bucket without further authentication. - * They are valid for 2 hours. - * @param path The file path, including the current file name. For example `folder/image.png`. - */ - createSignedUploadUrl(path) { - return __awaiter(this, void 0, void 0, function* () { - try { - let _path = this._getFinalPath(path); - const data = yield (0, fetch_1.post)(this.fetch, `${this.url}/object/upload/sign/${_path}`, {}, { headers: this.headers }); - const url = new URL(this.url + data.url); - const token = url.searchParams.get('token'); - if (!token) { - throw new errors_1.StorageError('No token returned by API'); - } - return { data: { signedUrl: url.toString(), path, token }, error: null }; - } - catch (error) { - if ((0, errors_1.isStorageError)(error)) { - return { data: null, error }; - } - throw error; - } - }); - } - /** - * Replaces an existing file at the specified path with a new one. - * - * @param path The relative file path. Should be of the format `folder/subfolder/filename.png`. The bucket must already exist before attempting to update. - * @param fileBody The body of the file to be stored in the bucket. - */ - update(path, fileBody, fileOptions) { - return __awaiter(this, void 0, void 0, function* () { - return this.uploadOrUpdate('PUT', path, fileBody, fileOptions); - }); - } - /** - * Moves an existing file to a new path in the same bucket. - * - * @param fromPath The original file path, including the current file name. For example `folder/image.png`. - * @param toPath The new file path, including the new file name. For example `folder/image-new.png`. - */ - move(fromPath, toPath) { - return __awaiter(this, void 0, void 0, function* () { - try { - const data = yield (0, fetch_1.post)(this.fetch, `${this.url}/object/move`, { bucketId: this.bucketId, sourceKey: fromPath, destinationKey: toPath }, { headers: this.headers }); - return { data, error: null }; - } - catch (error) { - if ((0, errors_1.isStorageError)(error)) { - return { data: null, error }; - } - throw error; - } - }); - } - /** - * Copies an existing file to a new path in the same bucket. - * - * @param fromPath The original file path, including the current file name. For example `folder/image.png`. - * @param toPath The new file path, including the new file name. For example `folder/image-copy.png`. - */ - copy(fromPath, toPath) { - return __awaiter(this, void 0, void 0, function* () { - try { - const data = yield (0, fetch_1.post)(this.fetch, `${this.url}/object/copy`, { bucketId: this.bucketId, sourceKey: fromPath, destinationKey: toPath }, { headers: this.headers }); - return { data: { path: data.Key }, error: null }; - } - catch (error) { - if ((0, errors_1.isStorageError)(error)) { - return { data: null, error }; - } - throw error; - } - }); - } - /** - * Creates a signed URL. Use a signed URL to share a file for a fixed amount of time. - * - * @param path The file path, including the current file name. For example `folder/image.png`. - * @param expiresIn The number of seconds until the signed URL expires. For example, `60` for a URL which is valid for one minute. - * @param options.download triggers the file as a download if set to true. Set this parameter as the name of the file if you want to trigger the download with a different filename. - * @param options.transform Transform the asset before serving it to the client. - */ - createSignedUrl(path, expiresIn, options) { - return __awaiter(this, void 0, void 0, function* () { - try { - let _path = this._getFinalPath(path); - let data = yield (0, fetch_1.post)(this.fetch, `${this.url}/object/sign/${_path}`, Object.assign({ expiresIn }, ((options === null || options === void 0 ? void 0 : options.transform) ? { transform: options.transform } : {})), { headers: this.headers }); - const downloadQueryParam = (options === null || options === void 0 ? void 0 : options.download) - ? `&download=${options.download === true ? '' : options.download}` - : ''; - const signedUrl = encodeURI(`${this.url}${data.signedURL}${downloadQueryParam}`); - data = { signedUrl }; - return { data, error: null }; - } - catch (error) { - if ((0, errors_1.isStorageError)(error)) { - return { data: null, error }; - } - throw error; - } - }); - } - /** - * Creates multiple signed URLs. Use a signed URL to share a file for a fixed amount of time. - * - * @param paths The file paths to be downloaded, including the current file names. For example `['folder/image.png', 'folder2/image2.png']`. - * @param expiresIn The number of seconds until the signed URLs expire. For example, `60` for URLs which are valid for one minute. - * @param options.download triggers the file as a download if set to true. Set this parameter as the name of the file if you want to trigger the download with a different filename. - */ - createSignedUrls(paths, expiresIn, options) { - return __awaiter(this, void 0, void 0, function* () { - try { - const data = yield (0, fetch_1.post)(this.fetch, `${this.url}/object/sign/${this.bucketId}`, { expiresIn, paths }, { headers: this.headers }); - const downloadQueryParam = (options === null || options === void 0 ? void 0 : options.download) - ? `&download=${options.download === true ? '' : options.download}` - : ''; - return { - data: data.map((datum) => (Object.assign(Object.assign({}, datum), { signedUrl: datum.signedURL - ? encodeURI(`${this.url}${datum.signedURL}${downloadQueryParam}`) - : null }))), - error: null, - }; - } - catch (error) { - if ((0, errors_1.isStorageError)(error)) { - return { data: null, error }; - } - throw error; - } - }); - } - /** - * Downloads a file from a private bucket. For public buckets, make a request to the URL returned from `getPublicUrl` instead. - * - * @param path The full path and file name of the file to be downloaded. For example `folder/image.png`. - * @param options.transform Transform the asset before serving it to the client. - */ - download(path, options) { - return __awaiter(this, void 0, void 0, function* () { - const wantsTransformation = typeof (options === null || options === void 0 ? void 0 : options.transform) !== 'undefined'; - const renderPath = wantsTransformation ? 'render/image/authenticated' : 'object'; - const transformationQuery = this.transformOptsToQueryString((options === null || options === void 0 ? void 0 : options.transform) || {}); - const queryString = transformationQuery ? `?${transformationQuery}` : ''; - try { - const _path = this._getFinalPath(path); - const res = yield (0, fetch_1.get)(this.fetch, `${this.url}/${renderPath}/${_path}${queryString}`, { - headers: this.headers, - noResolveJson: true, - }); - const data = yield res.blob(); - return { data, error: null }; - } - catch (error) { - if ((0, errors_1.isStorageError)(error)) { - return { data: null, error }; - } - throw error; - } - }); - } - /** - * A simple convenience function to get the URL for an asset in a public bucket. If you do not want to use this function, you can construct the public URL by concatenating the bucket URL with the path to the asset. - * This function does not verify if the bucket is public. If a public URL is created for a bucket which is not public, you will not be able to download the asset. - * - * @param path The path and name of the file to generate the public URL for. For example `folder/image.png`. - * @param options.download Triggers the file as a download if set to true. Set this parameter as the name of the file if you want to trigger the download with a different filename. - * @param options.transform Transform the asset before serving it to the client. - */ - getPublicUrl(path, options) { - const _path = this._getFinalPath(path); - const _queryString = []; - const downloadQueryParam = (options === null || options === void 0 ? void 0 : options.download) - ? `download=${options.download === true ? '' : options.download}` - : ''; - if (downloadQueryParam !== '') { - _queryString.push(downloadQueryParam); - } - const wantsTransformation = typeof (options === null || options === void 0 ? void 0 : options.transform) !== 'undefined'; - const renderPath = wantsTransformation ? 'render/image' : 'object'; - const transformationQuery = this.transformOptsToQueryString((options === null || options === void 0 ? void 0 : options.transform) || {}); - if (transformationQuery !== '') { - _queryString.push(transformationQuery); - } - let queryString = _queryString.join('&'); - if (queryString !== '') { - queryString = `?${queryString}`; - } - return { - data: { publicUrl: encodeURI(`${this.url}/${renderPath}/public/${_path}${queryString}`) }, - }; - } - /** - * Deletes files within the same bucket - * - * @param paths An array of files to delete, including the path and file name. For example [`'folder/image.png'`]. - */ - remove(paths) { - return __awaiter(this, void 0, void 0, function* () { - try { - const data = yield (0, fetch_1.remove)(this.fetch, `${this.url}/object/${this.bucketId}`, { prefixes: paths }, { headers: this.headers }); - return { data, error: null }; - } - catch (error) { - if ((0, errors_1.isStorageError)(error)) { - return { data: null, error }; - } - throw error; - } - }); - } - /** - * Get file metadata - * @param id the file id to retrieve metadata - */ - // async getMetadata( - // id: string - // ): Promise< - // | { - // data: Metadata - // error: null - // } - // | { - // data: null - // error: StorageError - // } - // > { - // try { - // const data = await get(this.fetch, `${this.url}/metadata/${id}`, { headers: this.headers }) - // return { data, error: null } - // } catch (error) { - // if (isStorageError(error)) { - // return { data: null, error } - // } - // throw error - // } - // } - /** - * Update file metadata - * @param id the file id to update metadata - * @param meta the new file metadata - */ - // async updateMetadata( - // id: string, - // meta: Metadata - // ): Promise< - // | { - // data: Metadata - // error: null - // } - // | { - // data: null - // error: StorageError - // } - // > { - // try { - // const data = await post( - // this.fetch, - // `${this.url}/metadata/${id}`, - // { ...meta }, - // { headers: this.headers } - // ) - // return { data, error: null } - // } catch (error) { - // if (isStorageError(error)) { - // return { data: null, error } - // } - // throw error - // } - // } - /** - * Lists all the files within a bucket. - * @param path The folder path. - */ - list(path, options, parameters) { - return __awaiter(this, void 0, void 0, function* () { - try { - const body = Object.assign(Object.assign(Object.assign({}, DEFAULT_SEARCH_OPTIONS), options), { prefix: path || '' }); - const data = yield (0, fetch_1.post)(this.fetch, `${this.url}/object/list/${this.bucketId}`, body, { headers: this.headers }, parameters); - return { data, error: null }; - } - catch (error) { - if ((0, errors_1.isStorageError)(error)) { - return { data: null, error }; - } - throw error; - } - }); - } - _getFinalPath(path) { - return `${this.bucketId}/${path}`; - } - _removeEmptyFolders(path) { - return path.replace(/^\/|\/$/g, '').replace(/\/+/g, '/'); - } - transformOptsToQueryString(transform) { - const params = []; - if (transform.width) { - params.push(`width=${transform.width}`); - } - if (transform.height) { - params.push(`height=${transform.height}`); - } - if (transform.resize) { - params.push(`resize=${transform.resize}`); - } - if (transform.format) { - params.push(`format=${transform.format}`); - } - if (transform.quality) { - params.push(`quality=${transform.quality}`); - } - return params.join('&'); - } -} -exports["default"] = StorageFileApi; -//# sourceMappingURL=StorageFileApi.js.map - -/***/ }), - -/***/ 51078: -/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) { - - -var __awaiter = (this && this.__awaiter) || function (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, reject) { - function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } - function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } - function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); -}; -Object.defineProperty(exports, "__esModule", ({ value: true })); -const functions_js_1 = __nccwpck_require__(97654); -const postgrest_js_1 = __nccwpck_require__(47738); -const realtime_js_1 = __nccwpck_require__(74898); -const storage_js_1 = __nccwpck_require__(23534); -const constants_1 = __nccwpck_require__(77754); -const fetch_1 = __nccwpck_require__(88203); -const helpers_1 = __nccwpck_require__(44534); -const SupabaseAuthClient_1 = __nccwpck_require__(21712); -/** - * Supabase Client. - * - * An isomorphic Javascript client for interacting with Postgres. - */ -class SupabaseClient { - /** - * Create a new client for use in the browser. - * @param supabaseUrl The unique Supabase URL which is supplied when you create a new project in your project dashboard. - * @param supabaseKey The unique Supabase Key which is supplied when you create a new project in your project dashboard. - * @param options.db.schema You can switch in between schemas. The schema needs to be on the list of exposed schemas inside Supabase. - * @param options.auth.autoRefreshToken Set to "true" if you want to automatically refresh the token before expiring. - * @param options.auth.persistSession Set to "true" if you want to automatically save the user session into local storage. - * @param options.auth.detectSessionInUrl Set to "true" if you want to automatically detects OAuth grants in the URL and signs in the user. - * @param options.realtime Options passed along to realtime-js constructor. - * @param options.global.fetch A custom fetch implementation. - * @param options.global.headers Any additional headers to send with each network request. - */ - constructor(supabaseUrl, supabaseKey, options) { - var _a, _b, _c, _d, _e, _f, _g, _h; - this.supabaseUrl = supabaseUrl; - this.supabaseKey = supabaseKey; - if (!supabaseUrl) - throw new Error('supabaseUrl is required.'); - if (!supabaseKey) - throw new Error('supabaseKey is required.'); - const _supabaseUrl = (0, helpers_1.stripTrailingSlash)(supabaseUrl); - this.realtimeUrl = `${_supabaseUrl}/realtime/v1`.replace(/^http/i, 'ws'); - this.authUrl = `${_supabaseUrl}/auth/v1`; - this.storageUrl = `${_supabaseUrl}/storage/v1`; - this.functionsUrl = `${_supabaseUrl}/functions/v1`; - // default storage key uses the supabase project ref as a namespace - const defaultStorageKey = `sb-${new URL(this.authUrl).hostname.split('.')[0]}-auth-token`; - const DEFAULTS = { - db: constants_1.DEFAULT_DB_OPTIONS, - realtime: constants_1.DEFAULT_REALTIME_OPTIONS, - auth: Object.assign(Object.assign({}, constants_1.DEFAULT_AUTH_OPTIONS), { storageKey: defaultStorageKey }), - global: constants_1.DEFAULT_GLOBAL_OPTIONS, - }; - const settings = (0, helpers_1.applySettingDefaults)(options !== null && options !== void 0 ? options : {}, DEFAULTS); - this.storageKey = (_b = (_a = settings.auth) === null || _a === void 0 ? void 0 : _a.storageKey) !== null && _b !== void 0 ? _b : ''; - this.headers = (_d = (_c = settings.global) === null || _c === void 0 ? void 0 : _c.headers) !== null && _d !== void 0 ? _d : {}; - this.auth = this._initSupabaseAuthClient((_e = settings.auth) !== null && _e !== void 0 ? _e : {}, this.headers, (_f = settings.global) === null || _f === void 0 ? void 0 : _f.fetch); - this.fetch = (0, fetch_1.fetchWithAuth)(supabaseKey, this._getAccessToken.bind(this), (_g = settings.global) === null || _g === void 0 ? void 0 : _g.fetch); - this.realtime = this._initRealtimeClient(Object.assign({ headers: this.headers }, settings.realtime)); - this.rest = new postgrest_js_1.PostgrestClient(`${_supabaseUrl}/rest/v1`, { - headers: this.headers, - schema: (_h = settings.db) === null || _h === void 0 ? void 0 : _h.schema, - fetch: this.fetch, - }); - this._listenForAuthEvents(); - } - /** - * Supabase Functions allows you to deploy and invoke edge functions. - */ - get functions() { - return new functions_js_1.FunctionsClient(this.functionsUrl, { - headers: this.headers, - customFetch: this.fetch, - }); - } - /** - * Supabase Storage allows you to manage user-generated content, such as photos or videos. - */ - get storage() { - return new storage_js_1.StorageClient(this.storageUrl, this.headers, this.fetch); - } - /** - * Perform a query on a table or a view. - * - * @param relation - The table or view name to query - */ - from(relation) { - return this.rest.from(relation); - } - // NOTE: signatures must be kept in sync with PostgrestClient.schema - /** - * Select a schema to query or perform an function (rpc) call. - * - * The schema needs to be on the list of exposed schemas inside Supabase. - * - * @param schema - The schema to query - */ - schema(schema) { - return this.rest.schema(schema); - } - // NOTE: signatures must be kept in sync with PostgrestClient.rpc - /** - * Perform a function call. - * - * @param fn - The function name to call - * @param args - The arguments to pass to the function call - * @param options - Named parameters - * @param options.head - When set to `true`, `data` will not be returned. - * Useful if you only need the count. - * @param options.count - Count algorithm to use to count rows returned by the - * function. Only applicable for [set-returning - * functions](https://www.postgresql.org/docs/current/functions-srf.html). - * - * `"exact"`: Exact but slow count algorithm. Performs a `COUNT(*)` under the - * hood. - * - * `"planned"`: Approximated but fast count algorithm. Uses the Postgres - * statistics under the hood. - * - * `"estimated"`: Uses exact count for low numbers and planned count for high - * numbers. - */ - rpc(fn, args = {}, options = {}) { - return this.rest.rpc(fn, args, options); - } - /** - * Creates a Realtime channel with Broadcast, Presence, and Postgres Changes. - * - * @param {string} name - The name of the Realtime channel. - * @param {Object} opts - The options to pass to the Realtime channel. - * - */ - channel(name, opts = { config: {} }) { - return this.realtime.channel(name, opts); - } - /** - * Returns all Realtime channels. - */ - getChannels() { - return this.realtime.getChannels(); - } - /** - * Unsubscribes and removes Realtime channel from Realtime client. - * - * @param {RealtimeChannel} channel - The name of the Realtime channel. - * - */ - removeChannel(channel) { - return this.realtime.removeChannel(channel); - } - /** - * Unsubscribes and removes all Realtime channels from Realtime client. - */ - removeAllChannels() { - return this.realtime.removeAllChannels(); - } - _getAccessToken() { - var _a, _b; - return __awaiter(this, void 0, void 0, function* () { - const { data } = yield this.auth.getSession(); - return (_b = (_a = data.session) === null || _a === void 0 ? void 0 : _a.access_token) !== null && _b !== void 0 ? _b : null; - }); - } - _initSupabaseAuthClient({ autoRefreshToken, persistSession, detectSessionInUrl, storage, storageKey, flowType, debug, }, headers, fetch) { - const authHeaders = { - Authorization: `Bearer ${this.supabaseKey}`, - apikey: `${this.supabaseKey}`, - }; - return new SupabaseAuthClient_1.SupabaseAuthClient({ - url: this.authUrl, - headers: Object.assign(Object.assign({}, authHeaders), headers), - storageKey: storageKey, - autoRefreshToken, - persistSession, - detectSessionInUrl, - storage, - flowType, - debug, - fetch, - }); - } - _initRealtimeClient(options) { - return new realtime_js_1.RealtimeClient(this.realtimeUrl, Object.assign(Object.assign({}, options), { params: Object.assign({ apikey: this.supabaseKey }, options === null || options === void 0 ? void 0 : options.params) })); - } - _listenForAuthEvents() { - let data = this.auth.onAuthStateChange((event, session) => { - this._handleTokenChanged(event, 'CLIENT', session === null || session === void 0 ? void 0 : session.access_token); - }); - return data; - } - _handleTokenChanged(event, source, token) { - if ((event === 'TOKEN_REFRESHED' || event === 'SIGNED_IN') && - this.changedAccessToken !== token) { - // Token has changed - this.realtime.setAuth(token !== null && token !== void 0 ? token : null); - this.changedAccessToken = token; - } - else if (event === 'SIGNED_OUT') { - // Token is removed - this.realtime.setAuth(this.supabaseKey); - if (source == 'STORAGE') - this.auth.signOut(); - this.changedAccessToken = undefined; - } - } -} -exports["default"] = SupabaseClient; -//# sourceMappingURL=SupabaseClient.js.map - -/***/ }), - -/***/ 64583: -/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) { - - -var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { - if (k2 === undefined) 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 === undefined) k2 = k; - o[k2] = m[k]; -})); -var __exportStar = (this && this.__exportStar) || function(m, exports) { - for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p); -}; -var __importDefault = (this && this.__importDefault) || function (mod) { - return (mod && mod.__esModule) ? mod : { "default": mod }; -}; -Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.createClient = exports.SupabaseClient = exports.FunctionRegion = exports.FunctionsError = exports.FunctionsRelayError = exports.FunctionsFetchError = exports.FunctionsHttpError = void 0; -const SupabaseClient_1 = __importDefault(__nccwpck_require__(51078)); -__exportStar(__nccwpck_require__(95495), exports); -var functions_js_1 = __nccwpck_require__(97654); -Object.defineProperty(exports, "FunctionsHttpError", ({ enumerable: true, get: function () { return functions_js_1.FunctionsHttpError; } })); -Object.defineProperty(exports, "FunctionsFetchError", ({ enumerable: true, get: function () { return functions_js_1.FunctionsFetchError; } })); -Object.defineProperty(exports, "FunctionsRelayError", ({ enumerable: true, get: function () { return functions_js_1.FunctionsRelayError; } })); -Object.defineProperty(exports, "FunctionsError", ({ enumerable: true, get: function () { return functions_js_1.FunctionsError; } })); -Object.defineProperty(exports, "FunctionRegion", ({ enumerable: true, get: function () { return functions_js_1.FunctionRegion; } })); -__exportStar(__nccwpck_require__(74898), exports); -var SupabaseClient_2 = __nccwpck_require__(51078); -Object.defineProperty(exports, "SupabaseClient", ({ enumerable: true, get: function () { return __importDefault(SupabaseClient_2).default; } })); -/** - * Creates a new Supabase Client. - */ -const createClient = (supabaseUrl, supabaseKey, options) => { - return new SupabaseClient_1.default(supabaseUrl, supabaseKey, options); -}; -exports.createClient = createClient; -//# sourceMappingURL=index.js.map - -/***/ }), - -/***/ 21712: -/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { - - -Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.SupabaseAuthClient = void 0; -const auth_js_1 = __nccwpck_require__(95495); -class SupabaseAuthClient extends auth_js_1.AuthClient { - constructor(options) { - super(options); - } -} -exports.SupabaseAuthClient = SupabaseAuthClient; -//# sourceMappingURL=SupabaseAuthClient.js.map - -/***/ }), - -/***/ 77754: -/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { - - -Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.DEFAULT_REALTIME_OPTIONS = exports.DEFAULT_AUTH_OPTIONS = exports.DEFAULT_DB_OPTIONS = exports.DEFAULT_GLOBAL_OPTIONS = exports.DEFAULT_HEADERS = void 0; -const version_1 = __nccwpck_require__(84935); -let JS_ENV = ''; -// @ts-ignore -if (typeof Deno !== 'undefined') { - JS_ENV = 'deno'; -} -else if (typeof document !== 'undefined') { - JS_ENV = 'web'; -} -else if (typeof navigator !== 'undefined' && navigator.product === 'ReactNative') { - JS_ENV = 'react-native'; -} -else { - JS_ENV = 'node'; -} -exports.DEFAULT_HEADERS = { 'X-Client-Info': `supabase-js-${JS_ENV}/${version_1.version}` }; -exports.DEFAULT_GLOBAL_OPTIONS = { - headers: exports.DEFAULT_HEADERS, -}; -exports.DEFAULT_DB_OPTIONS = { - schema: 'public', -}; -exports.DEFAULT_AUTH_OPTIONS = { - autoRefreshToken: true, - persistSession: true, - detectSessionInUrl: true, - flowType: 'implicit', -}; -exports.DEFAULT_REALTIME_OPTIONS = {}; -//# sourceMappingURL=constants.js.map - -/***/ }), - -/***/ 88203: -/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) { - - -var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { - if (k2 === undefined) 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 === undefined) k2 = k; - o[k2] = m[k]; -})); -var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { - Object.defineProperty(o, "default", { enumerable: true, value: v }); -}) : function(o, v) { - o["default"] = v; -}); -var __importStar = (this && this.__importStar) || function (mod) { - if (mod && mod.__esModule) return mod; - var result = {}; - if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); - __setModuleDefault(result, mod); - return result; -}; -var __awaiter = (this && this.__awaiter) || function (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, reject) { - function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } - function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } - function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); -}; -Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.fetchWithAuth = exports.resolveHeadersConstructor = exports.resolveFetch = void 0; -// @ts-ignore -const node_fetch_1 = __importStar(__nccwpck_require__(18839)); -const resolveFetch = (customFetch) => { - let _fetch; - if (customFetch) { - _fetch = customFetch; - } - else if (typeof fetch === 'undefined') { - _fetch = node_fetch_1.default; - } - else { - _fetch = fetch; - } - return (...args) => _fetch(...args); -}; -exports.resolveFetch = resolveFetch; -const resolveHeadersConstructor = () => { - if (typeof Headers === 'undefined') { - return node_fetch_1.Headers; - } - return Headers; -}; -exports.resolveHeadersConstructor = resolveHeadersConstructor; -const fetchWithAuth = (supabaseKey, getAccessToken, customFetch) => { - const fetch = (0, exports.resolveFetch)(customFetch); - const HeadersConstructor = (0, exports.resolveHeadersConstructor)(); - return (input, init) => __awaiter(void 0, void 0, void 0, function* () { - var _a; - const accessToken = (_a = (yield getAccessToken())) !== null && _a !== void 0 ? _a : supabaseKey; - let headers = new HeadersConstructor(init === null || init === void 0 ? void 0 : init.headers); - if (!headers.has('apikey')) { - headers.set('apikey', supabaseKey); - } - if (!headers.has('Authorization')) { - headers.set('Authorization', `Bearer ${accessToken}`); - } - return fetch(input, Object.assign(Object.assign({}, init), { headers })); - }); -}; -exports.fetchWithAuth = fetchWithAuth; -//# sourceMappingURL=fetch.js.map - -/***/ }), - -/***/ 44534: -/***/ ((__unused_webpack_module, exports) => { - - -Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.applySettingDefaults = exports.isBrowser = exports.stripTrailingSlash = exports.uuid = void 0; -function uuid() { - return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) { - var r = (Math.random() * 16) | 0, v = c == 'x' ? r : (r & 0x3) | 0x8; - return v.toString(16); - }); -} -exports.uuid = uuid; -function stripTrailingSlash(url) { - return url.replace(/\/$/, ''); -} -exports.stripTrailingSlash = stripTrailingSlash; -const isBrowser = () => typeof window !== 'undefined'; -exports.isBrowser = isBrowser; -function applySettingDefaults(options, defaults) { - const { db: dbOptions, auth: authOptions, realtime: realtimeOptions, global: globalOptions, } = options; - const { db: DEFAULT_DB_OPTIONS, auth: DEFAULT_AUTH_OPTIONS, realtime: DEFAULT_REALTIME_OPTIONS, global: DEFAULT_GLOBAL_OPTIONS, } = defaults; - return { - db: Object.assign(Object.assign({}, DEFAULT_DB_OPTIONS), dbOptions), - auth: Object.assign(Object.assign({}, DEFAULT_AUTH_OPTIONS), authOptions), - realtime: Object.assign(Object.assign({}, DEFAULT_REALTIME_OPTIONS), realtimeOptions), - global: Object.assign(Object.assign({}, DEFAULT_GLOBAL_OPTIONS), globalOptions), - }; -} -exports.applySettingDefaults = applySettingDefaults; -//# sourceMappingURL=helpers.js.map - -/***/ }), - -/***/ 84935: -/***/ ((__unused_webpack_module, exports) => { - - -Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.version = void 0; -exports.version = '2.42.0'; -//# sourceMappingURL=version.js.map - -/***/ }), - -/***/ 64125: -/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { - - -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 __commonJS = (cb, mod) => function __require() { - return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports; -}; -var __export = (target, all3) => { - for (var name in all3) - __defProp(target, name, { get: all3[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 = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps( - // If the importer is in node compatibility mode or this is not an ESM - // file that has been converted to a CommonJS file using a Babel- - // compatible transform (i.e. "__esModule" has not been set), then set - // "default" to the CommonJS "module.exports" for node compatibility. - isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target, - mod -)); -var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); - -// node_modules/bn.js/lib/bn.js -var require_bn = __commonJS({ - "node_modules/bn.js/lib/bn.js"(exports2, module2) { - "use strict"; - (function(module3, exports3) { - "use strict"; - function assert(val, msg) { - if (!val) - throw new Error(msg || "Assertion failed"); - } - function inherits2(ctor, superCtor) { - ctor.super_ = superCtor; - var TempCtor = function() { - }; - TempCtor.prototype = superCtor.prototype; - ctor.prototype = new TempCtor(); - ctor.prototype.constructor = ctor; - } - function BN(number, base, endian) { - if (BN.isBN(number)) { - return number; - } - this.negative = 0; - this.words = null; - this.length = 0; - this.red = null; - if (number !== null) { - if (base === "le" || base === "be") { - endian = base; - base = 10; - } - this._init(number || 0, base || 10, endian || "be"); - } - } - if (typeof module3 === "object") { - module3.exports = BN; - } else { - exports3.BN = BN; - } - BN.BN = BN; - BN.wordSize = 26; - var Buffer2; - try { - if (typeof window !== "undefined" && typeof window.Buffer !== "undefined") { - Buffer2 = window.Buffer; - } else { - Buffer2 = (__nccwpck_require__(20181).Buffer); - } - } catch (e) { - } - BN.isBN = function isBN(num) { - if (num instanceof BN) { - return true; - } - return num !== null && typeof num === "object" && num.constructor.wordSize === BN.wordSize && Array.isArray(num.words); - }; - BN.max = function max(left, right) { - if (left.cmp(right) > 0) - return left; - return right; - }; - BN.min = function min(left, right) { - if (left.cmp(right) < 0) - return left; - return right; - }; - BN.prototype._init = function init(number, base, endian) { - if (typeof number === "number") { - return this._initNumber(number, base, endian); - } - if (typeof number === "object") { - return this._initArray(number, base, endian); - } - if (base === "hex") { - base = 16; - } - assert(base === (base | 0) && base >= 2 && base <= 36); - number = number.toString().replace(/\s+/g, ""); - var start = 0; - if (number[0] === "-") { - start++; - this.negative = 1; - } - if (start < number.length) { - if (base === 16) { - this._parseHex(number, start, endian); - } else { - this._parseBase(number, base, start); - if (endian === "le") { - this._initArray(this.toArray(), base, endian); - } - } - } - }; - BN.prototype._initNumber = function _initNumber(number, base, endian) { - if (number < 0) { - this.negative = 1; - number = -number; - } - if (number < 67108864) { - this.words = [number & 67108863]; - this.length = 1; - } else if (number < 4503599627370496) { - this.words = [ - number & 67108863, - number / 67108864 & 67108863 - ]; - this.length = 2; - } else { - assert(number < 9007199254740992); - this.words = [ - number & 67108863, - number / 67108864 & 67108863, - 1 - ]; - this.length = 3; - } - if (endian !== "le") - return; - this._initArray(this.toArray(), base, endian); - }; - BN.prototype._initArray = function _initArray(number, base, endian) { - assert(typeof number.length === "number"); - if (number.length <= 0) { - this.words = [0]; - this.length = 1; - return this; - } - this.length = Math.ceil(number.length / 3); - this.words = new Array(this.length); - for (var i = 0; i < this.length; i++) { - this.words[i] = 0; - } - var j, w; - var off = 0; - if (endian === "be") { - for (i = number.length - 1, j = 0; i >= 0; i -= 3) { - w = number[i] | number[i - 1] << 8 | number[i - 2] << 16; - this.words[j] |= w << off & 67108863; - this.words[j + 1] = w >>> 26 - off & 67108863; - off += 24; - if (off >= 26) { - off -= 26; - j++; - } - } - } else if (endian === "le") { - for (i = 0, j = 0; i < number.length; i += 3) { - w = number[i] | number[i + 1] << 8 | number[i + 2] << 16; - this.words[j] |= w << off & 67108863; - this.words[j + 1] = w >>> 26 - off & 67108863; - off += 24; - if (off >= 26) { - off -= 26; - j++; - } - } - } - return this._strip(); - }; - function parseHex4Bits(string, index) { - var c = string.charCodeAt(index); - if (c >= 48 && c <= 57) { - return c - 48; - } else if (c >= 65 && c <= 70) { - return c - 55; - } else if (c >= 97 && c <= 102) { - return c - 87; - } else { - assert(false, "Invalid character in " + string); - } - } - function parseHexByte(string, lowerBound, index) { - var r = parseHex4Bits(string, index); - if (index - 1 >= lowerBound) { - r |= parseHex4Bits(string, index - 1) << 4; - } - return r; - } - BN.prototype._parseHex = function _parseHex(number, start, endian) { - this.length = Math.ceil((number.length - start) / 6); - this.words = new Array(this.length); - for (var i = 0; i < this.length; i++) { - this.words[i] = 0; - } - var off = 0; - var j = 0; - var w; - if (endian === "be") { - for (i = number.length - 1; i >= start; i -= 2) { - w = parseHexByte(number, start, i) << off; - this.words[j] |= w & 67108863; - if (off >= 18) { - off -= 18; - j += 1; - this.words[j] |= w >>> 26; - } else { - off += 8; - } - } - } else { - var parseLength = number.length - start; - for (i = parseLength % 2 === 0 ? start + 1 : start; i < number.length; i += 2) { - w = parseHexByte(number, start, i) << off; - this.words[j] |= w & 67108863; - if (off >= 18) { - off -= 18; - j += 1; - this.words[j] |= w >>> 26; - } else { - off += 8; - } - } - } - this._strip(); - }; - function parseBase(str, start, end, mul) { - var r = 0; - var b = 0; - var len = Math.min(str.length, end); - for (var i = start; i < len; i++) { - var c = str.charCodeAt(i) - 48; - r *= mul; - if (c >= 49) { - b = c - 49 + 10; - } else if (c >= 17) { - b = c - 17 + 10; - } else { - b = c; - } - assert(c >= 0 && b < mul, "Invalid character"); - r += b; - } - return r; - } - BN.prototype._parseBase = function _parseBase(number, base, start) { - this.words = [0]; - this.length = 1; - for (var limbLen = 0, limbPow = 1; limbPow <= 67108863; limbPow *= base) { - limbLen++; - } - limbLen--; - limbPow = limbPow / base | 0; - var total = number.length - start; - var mod = total % limbLen; - var end = Math.min(total, total - mod) + start; - var word = 0; - for (var i = start; i < end; i += limbLen) { - word = parseBase(number, i, i + limbLen, base); - this.imuln(limbPow); - if (this.words[0] + word < 67108864) { - this.words[0] += word; - } else { - this._iaddn(word); - } - } - if (mod !== 0) { - var pow = 1; - word = parseBase(number, i, number.length, base); - for (i = 0; i < mod; i++) { - pow *= base; - } - this.imuln(pow); - if (this.words[0] + word < 67108864) { - this.words[0] += word; - } else { - this._iaddn(word); - } - } - this._strip(); - }; - BN.prototype.copy = function copy(dest) { - dest.words = new Array(this.length); - for (var i = 0; i < this.length; i++) { - dest.words[i] = this.words[i]; - } - dest.length = this.length; - dest.negative = this.negative; - dest.red = this.red; - }; - function move(dest, src) { - dest.words = src.words; - dest.length = src.length; - dest.negative = src.negative; - dest.red = src.red; - } - BN.prototype._move = function _move(dest) { - move(dest, this); - }; - BN.prototype.clone = function clone() { - var r = new BN(null); - this.copy(r); - return r; - }; - BN.prototype._expand = function _expand(size) { - while (this.length < size) { - this.words[this.length++] = 0; - } - return this; - }; - BN.prototype._strip = function strip() { - while (this.length > 1 && this.words[this.length - 1] === 0) { - this.length--; - } - return this._normSign(); - }; - BN.prototype._normSign = function _normSign() { - if (this.length === 1 && this.words[0] === 0) { - this.negative = 0; - } - return this; - }; - if (typeof Symbol !== "undefined" && typeof Symbol.for === "function") { - try { - BN.prototype[Symbol.for("nodejs.util.inspect.custom")] = inspect; - } catch (e) { - BN.prototype.inspect = inspect; - } - } else { - BN.prototype.inspect = inspect; - } - function inspect() { - return (this.red ? ""; - } - var zeros = [ - "", - "0", - "00", - "000", - "0000", - "00000", - "000000", - "0000000", - "00000000", - "000000000", - "0000000000", - "00000000000", - "000000000000", - "0000000000000", - "00000000000000", - "000000000000000", - "0000000000000000", - "00000000000000000", - "000000000000000000", - "0000000000000000000", - "00000000000000000000", - "000000000000000000000", - "0000000000000000000000", - "00000000000000000000000", - "000000000000000000000000", - "0000000000000000000000000" - ]; - var groupSizes = [ - 0, - 0, - 25, - 16, - 12, - 11, - 10, - 9, - 8, - 8, - 7, - 7, - 7, - 7, - 6, - 6, - 6, - 6, - 6, - 6, - 6, - 5, - 5, - 5, - 5, - 5, - 5, - 5, - 5, - 5, - 5, - 5, - 5, - 5, - 5, - 5, - 5 - ]; - var groupBases = [ - 0, - 0, - 33554432, - 43046721, - 16777216, - 48828125, - 60466176, - 40353607, - 16777216, - 43046721, - 1e7, - 19487171, - 35831808, - 62748517, - 7529536, - 11390625, - 16777216, - 24137569, - 34012224, - 47045881, - 64e6, - 4084101, - 5153632, - 6436343, - 7962624, - 9765625, - 11881376, - 14348907, - 17210368, - 20511149, - 243e5, - 28629151, - 33554432, - 39135393, - 45435424, - 52521875, - 60466176 - ]; - BN.prototype.toString = function toString3(base, padding) { - base = base || 10; - padding = padding | 0 || 1; - var out; - if (base === 16 || base === "hex") { - out = ""; - var off = 0; - var carry = 0; - for (var i = 0; i < this.length; i++) { - var w = this.words[i]; - var word = ((w << off | carry) & 16777215).toString(16); - carry = w >>> 24 - off & 16777215; - off += 2; - if (off >= 26) { - off -= 26; - i--; - } - if (carry !== 0 || i !== this.length - 1) { - out = zeros[6 - word.length] + word + out; - } else { - out = word + out; - } - } - if (carry !== 0) { - out = carry.toString(16) + out; - } - while (out.length % padding !== 0) { - out = "0" + out; - } - if (this.negative !== 0) { - out = "-" + out; - } - return out; - } - if (base === (base | 0) && base >= 2 && base <= 36) { - var groupSize = groupSizes[base]; - var groupBase = groupBases[base]; - out = ""; - var c = this.clone(); - c.negative = 0; - while (!c.isZero()) { - var r = c.modrn(groupBase).toString(base); - c = c.idivn(groupBase); - if (!c.isZero()) { - out = zeros[groupSize - r.length] + r + out; - } else { - out = r + out; - } - } - if (this.isZero()) { - out = "0" + out; - } - while (out.length % padding !== 0) { - out = "0" + out; - } - if (this.negative !== 0) { - out = "-" + out; - } - return out; - } - assert(false, "Base should be between 2 and 36"); - }; - BN.prototype.toNumber = function toNumber() { - var ret = this.words[0]; - if (this.length === 2) { - ret += this.words[1] * 67108864; - } else if (this.length === 3 && this.words[2] === 1) { - ret += 4503599627370496 + this.words[1] * 67108864; - } else if (this.length > 2) { - assert(false, "Number can only safely store up to 53 bits"); - } - return this.negative !== 0 ? -ret : ret; - }; - BN.prototype.toJSON = function toJSON2() { - return this.toString(16, 2); - }; - if (Buffer2) { - BN.prototype.toBuffer = function toBuffer(endian, length) { - return this.toArrayLike(Buffer2, endian, length); - }; - } - BN.prototype.toArray = function toArray2(endian, length) { - return this.toArrayLike(Array, endian, length); - }; - var allocate = function allocate2(ArrayType, size) { - if (ArrayType.allocUnsafe) { - return ArrayType.allocUnsafe(size); - } - return new ArrayType(size); - }; - BN.prototype.toArrayLike = function toArrayLike(ArrayType, endian, length) { - this._strip(); - var byteLength = this.byteLength(); - var reqLength = length || Math.max(1, byteLength); - assert(byteLength <= reqLength, "byte array longer than desired length"); - assert(reqLength > 0, "Requested array length <= 0"); - var res = allocate(ArrayType, reqLength); - var postfix = endian === "le" ? "LE" : "BE"; - this["_toArrayLike" + postfix](res, byteLength); - return res; - }; - BN.prototype._toArrayLikeLE = function _toArrayLikeLE(res, byteLength) { - var position = 0; - var carry = 0; - for (var i = 0, shift = 0; i < this.length; i++) { - var word = this.words[i] << shift | carry; - res[position++] = word & 255; - if (position < res.length) { - res[position++] = word >> 8 & 255; - } - if (position < res.length) { - res[position++] = word >> 16 & 255; - } - if (shift === 6) { - if (position < res.length) { - res[position++] = word >> 24 & 255; - } - carry = 0; - shift = 0; - } else { - carry = word >>> 24; - shift += 2; - } - } - if (position < res.length) { - res[position++] = carry; - while (position < res.length) { - res[position++] = 0; - } - } - }; - BN.prototype._toArrayLikeBE = function _toArrayLikeBE(res, byteLength) { - var position = res.length - 1; - var carry = 0; - for (var i = 0, shift = 0; i < this.length; i++) { - var word = this.words[i] << shift | carry; - res[position--] = word & 255; - if (position >= 0) { - res[position--] = word >> 8 & 255; - } - if (position >= 0) { - res[position--] = word >> 16 & 255; - } - if (shift === 6) { - if (position >= 0) { - res[position--] = word >> 24 & 255; - } - carry = 0; - shift = 0; - } else { - carry = word >>> 24; - shift += 2; - } - } - if (position >= 0) { - res[position--] = carry; - while (position >= 0) { - res[position--] = 0; - } - } - }; - if (Math.clz32) { - BN.prototype._countBits = function _countBits(w) { - return 32 - Math.clz32(w); - }; - } else { - BN.prototype._countBits = function _countBits(w) { - var t = w; - var r = 0; - if (t >= 4096) { - r += 13; - t >>>= 13; - } - if (t >= 64) { - r += 7; - t >>>= 7; - } - if (t >= 8) { - r += 4; - t >>>= 4; - } - if (t >= 2) { - r += 2; - t >>>= 2; - } - return r + t; - }; - } - BN.prototype._zeroBits = function _zeroBits(w) { - if (w === 0) - return 26; - var t = w; - var r = 0; - if ((t & 8191) === 0) { - r += 13; - t >>>= 13; - } - if ((t & 127) === 0) { - r += 7; - t >>>= 7; - } - if ((t & 15) === 0) { - r += 4; - t >>>= 4; - } - if ((t & 3) === 0) { - r += 2; - t >>>= 2; - } - if ((t & 1) === 0) { - r++; - } - return r; - }; - BN.prototype.bitLength = function bitLength() { - var w = this.words[this.length - 1]; - var hi = this._countBits(w); - return (this.length - 1) * 26 + hi; - }; - function toBitArray(num) { - var w = new Array(num.bitLength()); - for (var bit = 0; bit < w.length; bit++) { - var off = bit / 26 | 0; - var wbit = bit % 26; - w[bit] = num.words[off] >>> wbit & 1; - } - return w; - } - BN.prototype.zeroBits = function zeroBits() { - if (this.isZero()) - return 0; - var r = 0; - for (var i = 0; i < this.length; i++) { - var b = this._zeroBits(this.words[i]); - r += b; - if (b !== 26) - break; - } - return r; - }; - BN.prototype.byteLength = function byteLength() { - return Math.ceil(this.bitLength() / 8); - }; - BN.prototype.toTwos = function toTwos(width) { - if (this.negative !== 0) { - return this.abs().inotn(width).iaddn(1); - } - return this.clone(); - }; - BN.prototype.fromTwos = function fromTwos(width) { - if (this.testn(width - 1)) { - return this.notn(width).iaddn(1).ineg(); - } - return this.clone(); - }; - BN.prototype.isNeg = function isNeg() { - return this.negative !== 0; - }; - BN.prototype.neg = function neg() { - return this.clone().ineg(); - }; - BN.prototype.ineg = function ineg() { - if (!this.isZero()) { - this.negative ^= 1; - } - return this; - }; - BN.prototype.iuor = function iuor(num) { - while (this.length < num.length) { - this.words[this.length++] = 0; - } - for (var i = 0; i < num.length; i++) { - this.words[i] = this.words[i] | num.words[i]; - } - return this._strip(); - }; - BN.prototype.ior = function ior(num) { - assert((this.negative | num.negative) === 0); - return this.iuor(num); - }; - BN.prototype.or = function or(num) { - if (this.length > num.length) - return this.clone().ior(num); - return num.clone().ior(this); - }; - BN.prototype.uor = function uor(num) { - if (this.length > num.length) - return this.clone().iuor(num); - return num.clone().iuor(this); - }; - BN.prototype.iuand = function iuand(num) { - var b; - if (this.length > num.length) { - b = num; - } else { - b = this; - } - for (var i = 0; i < b.length; i++) { - this.words[i] = this.words[i] & num.words[i]; - } - this.length = b.length; - return this._strip(); - }; - BN.prototype.iand = function iand(num) { - assert((this.negative | num.negative) === 0); - return this.iuand(num); - }; - BN.prototype.and = function and(num) { - if (this.length > num.length) - return this.clone().iand(num); - return num.clone().iand(this); - }; - BN.prototype.uand = function uand(num) { - if (this.length > num.length) - return this.clone().iuand(num); - return num.clone().iuand(this); - }; - BN.prototype.iuxor = function iuxor(num) { - var a; - var b; - if (this.length > num.length) { - a = this; - b = num; - } else { - a = num; - b = this; - } - for (var i = 0; i < b.length; i++) { - this.words[i] = a.words[i] ^ b.words[i]; - } - if (this !== a) { - for (; i < a.length; i++) { - this.words[i] = a.words[i]; - } - } - this.length = a.length; - return this._strip(); - }; - BN.prototype.ixor = function ixor(num) { - assert((this.negative | num.negative) === 0); - return this.iuxor(num); - }; - BN.prototype.xor = function xor(num) { - if (this.length > num.length) - return this.clone().ixor(num); - return num.clone().ixor(this); - }; - BN.prototype.uxor = function uxor(num) { - if (this.length > num.length) - return this.clone().iuxor(num); - return num.clone().iuxor(this); - }; - BN.prototype.inotn = function inotn(width) { - assert(typeof width === "number" && width >= 0); - var bytesNeeded = Math.ceil(width / 26) | 0; - var bitsLeft = width % 26; - this._expand(bytesNeeded); - if (bitsLeft > 0) { - bytesNeeded--; - } - for (var i = 0; i < bytesNeeded; i++) { - this.words[i] = ~this.words[i] & 67108863; - } - if (bitsLeft > 0) { - this.words[i] = ~this.words[i] & 67108863 >> 26 - bitsLeft; - } - return this._strip(); - }; - BN.prototype.notn = function notn(width) { - return this.clone().inotn(width); - }; - BN.prototype.setn = function setn(bit, val) { - assert(typeof bit === "number" && bit >= 0); - var off = bit / 26 | 0; - var wbit = bit % 26; - this._expand(off + 1); - if (val) { - this.words[off] = this.words[off] | 1 << wbit; - } else { - this.words[off] = this.words[off] & ~(1 << wbit); - } - return this._strip(); - }; - BN.prototype.iadd = function iadd(num) { - var r; - if (this.negative !== 0 && num.negative === 0) { - this.negative = 0; - r = this.isub(num); - this.negative ^= 1; - return this._normSign(); - } else if (this.negative === 0 && num.negative !== 0) { - num.negative = 0; - r = this.isub(num); - num.negative = 1; - return r._normSign(); - } - var a, b; - if (this.length > num.length) { - a = this; - b = num; - } else { - a = num; - b = this; - } - var carry = 0; - for (var i = 0; i < b.length; i++) { - r = (a.words[i] | 0) + (b.words[i] | 0) + carry; - this.words[i] = r & 67108863; - carry = r >>> 26; - } - for (; carry !== 0 && i < a.length; i++) { - r = (a.words[i] | 0) + carry; - this.words[i] = r & 67108863; - carry = r >>> 26; - } - this.length = a.length; - if (carry !== 0) { - this.words[this.length] = carry; - this.length++; - } else if (a !== this) { - for (; i < a.length; i++) { - this.words[i] = a.words[i]; - } - } - return this; - }; - BN.prototype.add = function add(num) { - var res; - if (num.negative !== 0 && this.negative === 0) { - num.negative = 0; - res = this.sub(num); - num.negative ^= 1; - return res; - } else if (num.negative === 0 && this.negative !== 0) { - this.negative = 0; - res = num.sub(this); - this.negative = 1; - return res; - } - if (this.length > num.length) - return this.clone().iadd(num); - return num.clone().iadd(this); - }; - BN.prototype.isub = function isub(num) { - if (num.negative !== 0) { - num.negative = 0; - var r = this.iadd(num); - num.negative = 1; - return r._normSign(); - } else if (this.negative !== 0) { - this.negative = 0; - this.iadd(num); - this.negative = 1; - return this._normSign(); - } - var cmp = this.cmp(num); - if (cmp === 0) { - this.negative = 0; - this.length = 1; - this.words[0] = 0; - return this; - } - var a, b; - if (cmp > 0) { - a = this; - b = num; - } else { - a = num; - b = this; - } - var carry = 0; - for (var i = 0; i < b.length; i++) { - r = (a.words[i] | 0) - (b.words[i] | 0) + carry; - carry = r >> 26; - this.words[i] = r & 67108863; - } - for (; carry !== 0 && i < a.length; i++) { - r = (a.words[i] | 0) + carry; - carry = r >> 26; - this.words[i] = r & 67108863; - } - if (carry === 0 && i < a.length && a !== this) { - for (; i < a.length; i++) { - this.words[i] = a.words[i]; - } - } - this.length = Math.max(this.length, i); - if (a !== this) { - this.negative = 1; - } - return this._strip(); - }; - BN.prototype.sub = function sub(num) { - return this.clone().isub(num); - }; - function smallMulTo(self2, num, out) { - out.negative = num.negative ^ self2.negative; - var len = self2.length + num.length | 0; - out.length = len; - len = len - 1 | 0; - var a = self2.words[0] | 0; - var b = num.words[0] | 0; - var r = a * b; - var lo = r & 67108863; - var carry = r / 67108864 | 0; - out.words[0] = lo; - for (var k = 1; k < len; k++) { - var ncarry = carry >>> 26; - var rword = carry & 67108863; - var maxJ = Math.min(k, num.length - 1); - for (var j = Math.max(0, k - self2.length + 1); j <= maxJ; j++) { - var i = k - j | 0; - a = self2.words[i] | 0; - b = num.words[j] | 0; - r = a * b + rword; - ncarry += r / 67108864 | 0; - rword = r & 67108863; - } - out.words[k] = rword | 0; - carry = ncarry | 0; - } - if (carry !== 0) { - out.words[k] = carry | 0; - } else { - out.length--; - } - return out._strip(); - } - var comb10MulTo = function comb10MulTo2(self2, num, out) { - var a = self2.words; - var b = num.words; - var o = out.words; - var c = 0; - var lo; - var mid; - var hi; - var a0 = a[0] | 0; - var al0 = a0 & 8191; - var ah0 = a0 >>> 13; - var a1 = a[1] | 0; - var al1 = a1 & 8191; - var ah1 = a1 >>> 13; - var a2 = a[2] | 0; - var al2 = a2 & 8191; - var ah2 = a2 >>> 13; - var a3 = a[3] | 0; - var al3 = a3 & 8191; - var ah3 = a3 >>> 13; - var a4 = a[4] | 0; - var al4 = a4 & 8191; - var ah4 = a4 >>> 13; - var a5 = a[5] | 0; - var al5 = a5 & 8191; - var ah5 = a5 >>> 13; - var a6 = a[6] | 0; - var al6 = a6 & 8191; - var ah6 = a6 >>> 13; - var a7 = a[7] | 0; - var al7 = a7 & 8191; - var ah7 = a7 >>> 13; - var a8 = a[8] | 0; - var al8 = a8 & 8191; - var ah8 = a8 >>> 13; - var a9 = a[9] | 0; - var al9 = a9 & 8191; - var ah9 = a9 >>> 13; - var b0 = b[0] | 0; - var bl0 = b0 & 8191; - var bh0 = b0 >>> 13; - var b1 = b[1] | 0; - var bl1 = b1 & 8191; - var bh1 = b1 >>> 13; - var b2 = b[2] | 0; - var bl2 = b2 & 8191; - var bh2 = b2 >>> 13; - var b3 = b[3] | 0; - var bl3 = b3 & 8191; - var bh3 = b3 >>> 13; - var b4 = b[4] | 0; - var bl4 = b4 & 8191; - var bh4 = b4 >>> 13; - var b5 = b[5] | 0; - var bl5 = b5 & 8191; - var bh5 = b5 >>> 13; - var b6 = b[6] | 0; - var bl6 = b6 & 8191; - var bh6 = b6 >>> 13; - var b7 = b[7] | 0; - var bl7 = b7 & 8191; - var bh7 = b7 >>> 13; - var b8 = b[8] | 0; - var bl8 = b8 & 8191; - var bh8 = b8 >>> 13; - var b9 = b[9] | 0; - var bl9 = b9 & 8191; - var bh9 = b9 >>> 13; - out.negative = self2.negative ^ num.negative; - out.length = 19; - lo = Math.imul(al0, bl0); - mid = Math.imul(al0, bh0); - mid = mid + Math.imul(ah0, bl0) | 0; - hi = Math.imul(ah0, bh0); - var w0 = (c + lo | 0) + ((mid & 8191) << 13) | 0; - c = (hi + (mid >>> 13) | 0) + (w0 >>> 26) | 0; - w0 &= 67108863; - lo = Math.imul(al1, bl0); - mid = Math.imul(al1, bh0); - mid = mid + Math.imul(ah1, bl0) | 0; - hi = Math.imul(ah1, bh0); - lo = lo + Math.imul(al0, bl1) | 0; - mid = mid + Math.imul(al0, bh1) | 0; - mid = mid + Math.imul(ah0, bl1) | 0; - hi = hi + Math.imul(ah0, bh1) | 0; - var w1 = (c + lo | 0) + ((mid & 8191) << 13) | 0; - c = (hi + (mid >>> 13) | 0) + (w1 >>> 26) | 0; - w1 &= 67108863; - lo = Math.imul(al2, bl0); - mid = Math.imul(al2, bh0); - mid = mid + Math.imul(ah2, bl0) | 0; - hi = Math.imul(ah2, bh0); - lo = lo + Math.imul(al1, bl1) | 0; - mid = mid + Math.imul(al1, bh1) | 0; - mid = mid + Math.imul(ah1, bl1) | 0; - hi = hi + Math.imul(ah1, bh1) | 0; - lo = lo + Math.imul(al0, bl2) | 0; - mid = mid + Math.imul(al0, bh2) | 0; - mid = mid + Math.imul(ah0, bl2) | 0; - hi = hi + Math.imul(ah0, bh2) | 0; - var w2 = (c + lo | 0) + ((mid & 8191) << 13) | 0; - c = (hi + (mid >>> 13) | 0) + (w2 >>> 26) | 0; - w2 &= 67108863; - lo = Math.imul(al3, bl0); - mid = Math.imul(al3, bh0); - mid = mid + Math.imul(ah3, bl0) | 0; - hi = Math.imul(ah3, bh0); - lo = lo + Math.imul(al2, bl1) | 0; - mid = mid + Math.imul(al2, bh1) | 0; - mid = mid + Math.imul(ah2, bl1) | 0; - hi = hi + Math.imul(ah2, bh1) | 0; - lo = lo + Math.imul(al1, bl2) | 0; - mid = mid + Math.imul(al1, bh2) | 0; - mid = mid + Math.imul(ah1, bl2) | 0; - hi = hi + Math.imul(ah1, bh2) | 0; - lo = lo + Math.imul(al0, bl3) | 0; - mid = mid + Math.imul(al0, bh3) | 0; - mid = mid + Math.imul(ah0, bl3) | 0; - hi = hi + Math.imul(ah0, bh3) | 0; - var w3 = (c + lo | 0) + ((mid & 8191) << 13) | 0; - c = (hi + (mid >>> 13) | 0) + (w3 >>> 26) | 0; - w3 &= 67108863; - lo = Math.imul(al4, bl0); - mid = Math.imul(al4, bh0); - mid = mid + Math.imul(ah4, bl0) | 0; - hi = Math.imul(ah4, bh0); - lo = lo + Math.imul(al3, bl1) | 0; - mid = mid + Math.imul(al3, bh1) | 0; - mid = mid + Math.imul(ah3, bl1) | 0; - hi = hi + Math.imul(ah3, bh1) | 0; - lo = lo + Math.imul(al2, bl2) | 0; - mid = mid + Math.imul(al2, bh2) | 0; - mid = mid + Math.imul(ah2, bl2) | 0; - hi = hi + Math.imul(ah2, bh2) | 0; - lo = lo + Math.imul(al1, bl3) | 0; - mid = mid + Math.imul(al1, bh3) | 0; - mid = mid + Math.imul(ah1, bl3) | 0; - hi = hi + Math.imul(ah1, bh3) | 0; - lo = lo + Math.imul(al0, bl4) | 0; - mid = mid + Math.imul(al0, bh4) | 0; - mid = mid + Math.imul(ah0, bl4) | 0; - hi = hi + Math.imul(ah0, bh4) | 0; - var w4 = (c + lo | 0) + ((mid & 8191) << 13) | 0; - c = (hi + (mid >>> 13) | 0) + (w4 >>> 26) | 0; - w4 &= 67108863; - lo = Math.imul(al5, bl0); - mid = Math.imul(al5, bh0); - mid = mid + Math.imul(ah5, bl0) | 0; - hi = Math.imul(ah5, bh0); - lo = lo + Math.imul(al4, bl1) | 0; - mid = mid + Math.imul(al4, bh1) | 0; - mid = mid + Math.imul(ah4, bl1) | 0; - hi = hi + Math.imul(ah4, bh1) | 0; - lo = lo + Math.imul(al3, bl2) | 0; - mid = mid + Math.imul(al3, bh2) | 0; - mid = mid + Math.imul(ah3, bl2) | 0; - hi = hi + Math.imul(ah3, bh2) | 0; - lo = lo + Math.imul(al2, bl3) | 0; - mid = mid + Math.imul(al2, bh3) | 0; - mid = mid + Math.imul(ah2, bl3) | 0; - hi = hi + Math.imul(ah2, bh3) | 0; - lo = lo + Math.imul(al1, bl4) | 0; - mid = mid + Math.imul(al1, bh4) | 0; - mid = mid + Math.imul(ah1, bl4) | 0; - hi = hi + Math.imul(ah1, bh4) | 0; - lo = lo + Math.imul(al0, bl5) | 0; - mid = mid + Math.imul(al0, bh5) | 0; - mid = mid + Math.imul(ah0, bl5) | 0; - hi = hi + Math.imul(ah0, bh5) | 0; - var w5 = (c + lo | 0) + ((mid & 8191) << 13) | 0; - c = (hi + (mid >>> 13) | 0) + (w5 >>> 26) | 0; - w5 &= 67108863; - lo = Math.imul(al6, bl0); - mid = Math.imul(al6, bh0); - mid = mid + Math.imul(ah6, bl0) | 0; - hi = Math.imul(ah6, bh0); - lo = lo + Math.imul(al5, bl1) | 0; - mid = mid + Math.imul(al5, bh1) | 0; - mid = mid + Math.imul(ah5, bl1) | 0; - hi = hi + Math.imul(ah5, bh1) | 0; - lo = lo + Math.imul(al4, bl2) | 0; - mid = mid + Math.imul(al4, bh2) | 0; - mid = mid + Math.imul(ah4, bl2) | 0; - hi = hi + Math.imul(ah4, bh2) | 0; - lo = lo + Math.imul(al3, bl3) | 0; - mid = mid + Math.imul(al3, bh3) | 0; - mid = mid + Math.imul(ah3, bl3) | 0; - hi = hi + Math.imul(ah3, bh3) | 0; - lo = lo + Math.imul(al2, bl4) | 0; - mid = mid + Math.imul(al2, bh4) | 0; - mid = mid + Math.imul(ah2, bl4) | 0; - hi = hi + Math.imul(ah2, bh4) | 0; - lo = lo + Math.imul(al1, bl5) | 0; - mid = mid + Math.imul(al1, bh5) | 0; - mid = mid + Math.imul(ah1, bl5) | 0; - hi = hi + Math.imul(ah1, bh5) | 0; - lo = lo + Math.imul(al0, bl6) | 0; - mid = mid + Math.imul(al0, bh6) | 0; - mid = mid + Math.imul(ah0, bl6) | 0; - hi = hi + Math.imul(ah0, bh6) | 0; - var w6 = (c + lo | 0) + ((mid & 8191) << 13) | 0; - c = (hi + (mid >>> 13) | 0) + (w6 >>> 26) | 0; - w6 &= 67108863; - lo = Math.imul(al7, bl0); - mid = Math.imul(al7, bh0); - mid = mid + Math.imul(ah7, bl0) | 0; - hi = Math.imul(ah7, bh0); - lo = lo + Math.imul(al6, bl1) | 0; - mid = mid + Math.imul(al6, bh1) | 0; - mid = mid + Math.imul(ah6, bl1) | 0; - hi = hi + Math.imul(ah6, bh1) | 0; - lo = lo + Math.imul(al5, bl2) | 0; - mid = mid + Math.imul(al5, bh2) | 0; - mid = mid + Math.imul(ah5, bl2) | 0; - hi = hi + Math.imul(ah5, bh2) | 0; - lo = lo + Math.imul(al4, bl3) | 0; - mid = mid + Math.imul(al4, bh3) | 0; - mid = mid + Math.imul(ah4, bl3) | 0; - hi = hi + Math.imul(ah4, bh3) | 0; - lo = lo + Math.imul(al3, bl4) | 0; - mid = mid + Math.imul(al3, bh4) | 0; - mid = mid + Math.imul(ah3, bl4) | 0; - hi = hi + Math.imul(ah3, bh4) | 0; - lo = lo + Math.imul(al2, bl5) | 0; - mid = mid + Math.imul(al2, bh5) | 0; - mid = mid + Math.imul(ah2, bl5) | 0; - hi = hi + Math.imul(ah2, bh5) | 0; - lo = lo + Math.imul(al1, bl6) | 0; - mid = mid + Math.imul(al1, bh6) | 0; - mid = mid + Math.imul(ah1, bl6) | 0; - hi = hi + Math.imul(ah1, bh6) | 0; - lo = lo + Math.imul(al0, bl7) | 0; - mid = mid + Math.imul(al0, bh7) | 0; - mid = mid + Math.imul(ah0, bl7) | 0; - hi = hi + Math.imul(ah0, bh7) | 0; - var w7 = (c + lo | 0) + ((mid & 8191) << 13) | 0; - c = (hi + (mid >>> 13) | 0) + (w7 >>> 26) | 0; - w7 &= 67108863; - lo = Math.imul(al8, bl0); - mid = Math.imul(al8, bh0); - mid = mid + Math.imul(ah8, bl0) | 0; - hi = Math.imul(ah8, bh0); - lo = lo + Math.imul(al7, bl1) | 0; - mid = mid + Math.imul(al7, bh1) | 0; - mid = mid + Math.imul(ah7, bl1) | 0; - hi = hi + Math.imul(ah7, bh1) | 0; - lo = lo + Math.imul(al6, bl2) | 0; - mid = mid + Math.imul(al6, bh2) | 0; - mid = mid + Math.imul(ah6, bl2) | 0; - hi = hi + Math.imul(ah6, bh2) | 0; - lo = lo + Math.imul(al5, bl3) | 0; - mid = mid + Math.imul(al5, bh3) | 0; - mid = mid + Math.imul(ah5, bl3) | 0; - hi = hi + Math.imul(ah5, bh3) | 0; - lo = lo + Math.imul(al4, bl4) | 0; - mid = mid + Math.imul(al4, bh4) | 0; - mid = mid + Math.imul(ah4, bl4) | 0; - hi = hi + Math.imul(ah4, bh4) | 0; - lo = lo + Math.imul(al3, bl5) | 0; - mid = mid + Math.imul(al3, bh5) | 0; - mid = mid + Math.imul(ah3, bl5) | 0; - hi = hi + Math.imul(ah3, bh5) | 0; - lo = lo + Math.imul(al2, bl6) | 0; - mid = mid + Math.imul(al2, bh6) | 0; - mid = mid + Math.imul(ah2, bl6) | 0; - hi = hi + Math.imul(ah2, bh6) | 0; - lo = lo + Math.imul(al1, bl7) | 0; - mid = mid + Math.imul(al1, bh7) | 0; - mid = mid + Math.imul(ah1, bl7) | 0; - hi = hi + Math.imul(ah1, bh7) | 0; - lo = lo + Math.imul(al0, bl8) | 0; - mid = mid + Math.imul(al0, bh8) | 0; - mid = mid + Math.imul(ah0, bl8) | 0; - hi = hi + Math.imul(ah0, bh8) | 0; - var w8 = (c + lo | 0) + ((mid & 8191) << 13) | 0; - c = (hi + (mid >>> 13) | 0) + (w8 >>> 26) | 0; - w8 &= 67108863; - lo = Math.imul(al9, bl0); - mid = Math.imul(al9, bh0); - mid = mid + Math.imul(ah9, bl0) | 0; - hi = Math.imul(ah9, bh0); - lo = lo + Math.imul(al8, bl1) | 0; - mid = mid + Math.imul(al8, bh1) | 0; - mid = mid + Math.imul(ah8, bl1) | 0; - hi = hi + Math.imul(ah8, bh1) | 0; - lo = lo + Math.imul(al7, bl2) | 0; - mid = mid + Math.imul(al7, bh2) | 0; - mid = mid + Math.imul(ah7, bl2) | 0; - hi = hi + Math.imul(ah7, bh2) | 0; - lo = lo + Math.imul(al6, bl3) | 0; - mid = mid + Math.imul(al6, bh3) | 0; - mid = mid + Math.imul(ah6, bl3) | 0; - hi = hi + Math.imul(ah6, bh3) | 0; - lo = lo + Math.imul(al5, bl4) | 0; - mid = mid + Math.imul(al5, bh4) | 0; - mid = mid + Math.imul(ah5, bl4) | 0; - hi = hi + Math.imul(ah5, bh4) | 0; - lo = lo + Math.imul(al4, bl5) | 0; - mid = mid + Math.imul(al4, bh5) | 0; - mid = mid + Math.imul(ah4, bl5) | 0; - hi = hi + Math.imul(ah4, bh5) | 0; - lo = lo + Math.imul(al3, bl6) | 0; - mid = mid + Math.imul(al3, bh6) | 0; - mid = mid + Math.imul(ah3, bl6) | 0; - hi = hi + Math.imul(ah3, bh6) | 0; - lo = lo + Math.imul(al2, bl7) | 0; - mid = mid + Math.imul(al2, bh7) | 0; - mid = mid + Math.imul(ah2, bl7) | 0; - hi = hi + Math.imul(ah2, bh7) | 0; - lo = lo + Math.imul(al1, bl8) | 0; - mid = mid + Math.imul(al1, bh8) | 0; - mid = mid + Math.imul(ah1, bl8) | 0; - hi = hi + Math.imul(ah1, bh8) | 0; - lo = lo + Math.imul(al0, bl9) | 0; - mid = mid + Math.imul(al0, bh9) | 0; - mid = mid + Math.imul(ah0, bl9) | 0; - hi = hi + Math.imul(ah0, bh9) | 0; - var w9 = (c + lo | 0) + ((mid & 8191) << 13) | 0; - c = (hi + (mid >>> 13) | 0) + (w9 >>> 26) | 0; - w9 &= 67108863; - lo = Math.imul(al9, bl1); - mid = Math.imul(al9, bh1); - mid = mid + Math.imul(ah9, bl1) | 0; - hi = Math.imul(ah9, bh1); - lo = lo + Math.imul(al8, bl2) | 0; - mid = mid + Math.imul(al8, bh2) | 0; - mid = mid + Math.imul(ah8, bl2) | 0; - hi = hi + Math.imul(ah8, bh2) | 0; - lo = lo + Math.imul(al7, bl3) | 0; - mid = mid + Math.imul(al7, bh3) | 0; - mid = mid + Math.imul(ah7, bl3) | 0; - hi = hi + Math.imul(ah7, bh3) | 0; - lo = lo + Math.imul(al6, bl4) | 0; - mid = mid + Math.imul(al6, bh4) | 0; - mid = mid + Math.imul(ah6, bl4) | 0; - hi = hi + Math.imul(ah6, bh4) | 0; - lo = lo + Math.imul(al5, bl5) | 0; - mid = mid + Math.imul(al5, bh5) | 0; - mid = mid + Math.imul(ah5, bl5) | 0; - hi = hi + Math.imul(ah5, bh5) | 0; - lo = lo + Math.imul(al4, bl6) | 0; - mid = mid + Math.imul(al4, bh6) | 0; - mid = mid + Math.imul(ah4, bl6) | 0; - hi = hi + Math.imul(ah4, bh6) | 0; - lo = lo + Math.imul(al3, bl7) | 0; - mid = mid + Math.imul(al3, bh7) | 0; - mid = mid + Math.imul(ah3, bl7) | 0; - hi = hi + Math.imul(ah3, bh7) | 0; - lo = lo + Math.imul(al2, bl8) | 0; - mid = mid + Math.imul(al2, bh8) | 0; - mid = mid + Math.imul(ah2, bl8) | 0; - hi = hi + Math.imul(ah2, bh8) | 0; - lo = lo + Math.imul(al1, bl9) | 0; - mid = mid + Math.imul(al1, bh9) | 0; - mid = mid + Math.imul(ah1, bl9) | 0; - hi = hi + Math.imul(ah1, bh9) | 0; - var w10 = (c + lo | 0) + ((mid & 8191) << 13) | 0; - c = (hi + (mid >>> 13) | 0) + (w10 >>> 26) | 0; - w10 &= 67108863; - lo = Math.imul(al9, bl2); - mid = Math.imul(al9, bh2); - mid = mid + Math.imul(ah9, bl2) | 0; - hi = Math.imul(ah9, bh2); - lo = lo + Math.imul(al8, bl3) | 0; - mid = mid + Math.imul(al8, bh3) | 0; - mid = mid + Math.imul(ah8, bl3) | 0; - hi = hi + Math.imul(ah8, bh3) | 0; - lo = lo + Math.imul(al7, bl4) | 0; - mid = mid + Math.imul(al7, bh4) | 0; - mid = mid + Math.imul(ah7, bl4) | 0; - hi = hi + Math.imul(ah7, bh4) | 0; - lo = lo + Math.imul(al6, bl5) | 0; - mid = mid + Math.imul(al6, bh5) | 0; - mid = mid + Math.imul(ah6, bl5) | 0; - hi = hi + Math.imul(ah6, bh5) | 0; - lo = lo + Math.imul(al5, bl6) | 0; - mid = mid + Math.imul(al5, bh6) | 0; - mid = mid + Math.imul(ah5, bl6) | 0; - hi = hi + Math.imul(ah5, bh6) | 0; - lo = lo + Math.imul(al4, bl7) | 0; - mid = mid + Math.imul(al4, bh7) | 0; - mid = mid + Math.imul(ah4, bl7) | 0; - hi = hi + Math.imul(ah4, bh7) | 0; - lo = lo + Math.imul(al3, bl8) | 0; - mid = mid + Math.imul(al3, bh8) | 0; - mid = mid + Math.imul(ah3, bl8) | 0; - hi = hi + Math.imul(ah3, bh8) | 0; - lo = lo + Math.imul(al2, bl9) | 0; - mid = mid + Math.imul(al2, bh9) | 0; - mid = mid + Math.imul(ah2, bl9) | 0; - hi = hi + Math.imul(ah2, bh9) | 0; - var w11 = (c + lo | 0) + ((mid & 8191) << 13) | 0; - c = (hi + (mid >>> 13) | 0) + (w11 >>> 26) | 0; - w11 &= 67108863; - lo = Math.imul(al9, bl3); - mid = Math.imul(al9, bh3); - mid = mid + Math.imul(ah9, bl3) | 0; - hi = Math.imul(ah9, bh3); - lo = lo + Math.imul(al8, bl4) | 0; - mid = mid + Math.imul(al8, bh4) | 0; - mid = mid + Math.imul(ah8, bl4) | 0; - hi = hi + Math.imul(ah8, bh4) | 0; - lo = lo + Math.imul(al7, bl5) | 0; - mid = mid + Math.imul(al7, bh5) | 0; - mid = mid + Math.imul(ah7, bl5) | 0; - hi = hi + Math.imul(ah7, bh5) | 0; - lo = lo + Math.imul(al6, bl6) | 0; - mid = mid + Math.imul(al6, bh6) | 0; - mid = mid + Math.imul(ah6, bl6) | 0; - hi = hi + Math.imul(ah6, bh6) | 0; - lo = lo + Math.imul(al5, bl7) | 0; - mid = mid + Math.imul(al5, bh7) | 0; - mid = mid + Math.imul(ah5, bl7) | 0; - hi = hi + Math.imul(ah5, bh7) | 0; - lo = lo + Math.imul(al4, bl8) | 0; - mid = mid + Math.imul(al4, bh8) | 0; - mid = mid + Math.imul(ah4, bl8) | 0; - hi = hi + Math.imul(ah4, bh8) | 0; - lo = lo + Math.imul(al3, bl9) | 0; - mid = mid + Math.imul(al3, bh9) | 0; - mid = mid + Math.imul(ah3, bl9) | 0; - hi = hi + Math.imul(ah3, bh9) | 0; - var w12 = (c + lo | 0) + ((mid & 8191) << 13) | 0; - c = (hi + (mid >>> 13) | 0) + (w12 >>> 26) | 0; - w12 &= 67108863; - lo = Math.imul(al9, bl4); - mid = Math.imul(al9, bh4); - mid = mid + Math.imul(ah9, bl4) | 0; - hi = Math.imul(ah9, bh4); - lo = lo + Math.imul(al8, bl5) | 0; - mid = mid + Math.imul(al8, bh5) | 0; - mid = mid + Math.imul(ah8, bl5) | 0; - hi = hi + Math.imul(ah8, bh5) | 0; - lo = lo + Math.imul(al7, bl6) | 0; - mid = mid + Math.imul(al7, bh6) | 0; - mid = mid + Math.imul(ah7, bl6) | 0; - hi = hi + Math.imul(ah7, bh6) | 0; - lo = lo + Math.imul(al6, bl7) | 0; - mid = mid + Math.imul(al6, bh7) | 0; - mid = mid + Math.imul(ah6, bl7) | 0; - hi = hi + Math.imul(ah6, bh7) | 0; - lo = lo + Math.imul(al5, bl8) | 0; - mid = mid + Math.imul(al5, bh8) | 0; - mid = mid + Math.imul(ah5, bl8) | 0; - hi = hi + Math.imul(ah5, bh8) | 0; - lo = lo + Math.imul(al4, bl9) | 0; - mid = mid + Math.imul(al4, bh9) | 0; - mid = mid + Math.imul(ah4, bl9) | 0; - hi = hi + Math.imul(ah4, bh9) | 0; - var w13 = (c + lo | 0) + ((mid & 8191) << 13) | 0; - c = (hi + (mid >>> 13) | 0) + (w13 >>> 26) | 0; - w13 &= 67108863; - lo = Math.imul(al9, bl5); - mid = Math.imul(al9, bh5); - mid = mid + Math.imul(ah9, bl5) | 0; - hi = Math.imul(ah9, bh5); - lo = lo + Math.imul(al8, bl6) | 0; - mid = mid + Math.imul(al8, bh6) | 0; - mid = mid + Math.imul(ah8, bl6) | 0; - hi = hi + Math.imul(ah8, bh6) | 0; - lo = lo + Math.imul(al7, bl7) | 0; - mid = mid + Math.imul(al7, bh7) | 0; - mid = mid + Math.imul(ah7, bl7) | 0; - hi = hi + Math.imul(ah7, bh7) | 0; - lo = lo + Math.imul(al6, bl8) | 0; - mid = mid + Math.imul(al6, bh8) | 0; - mid = mid + Math.imul(ah6, bl8) | 0; - hi = hi + Math.imul(ah6, bh8) | 0; - lo = lo + Math.imul(al5, bl9) | 0; - mid = mid + Math.imul(al5, bh9) | 0; - mid = mid + Math.imul(ah5, bl9) | 0; - hi = hi + Math.imul(ah5, bh9) | 0; - var w14 = (c + lo | 0) + ((mid & 8191) << 13) | 0; - c = (hi + (mid >>> 13) | 0) + (w14 >>> 26) | 0; - w14 &= 67108863; - lo = Math.imul(al9, bl6); - mid = Math.imul(al9, bh6); - mid = mid + Math.imul(ah9, bl6) | 0; - hi = Math.imul(ah9, bh6); - lo = lo + Math.imul(al8, bl7) | 0; - mid = mid + Math.imul(al8, bh7) | 0; - mid = mid + Math.imul(ah8, bl7) | 0; - hi = hi + Math.imul(ah8, bh7) | 0; - lo = lo + Math.imul(al7, bl8) | 0; - mid = mid + Math.imul(al7, bh8) | 0; - mid = mid + Math.imul(ah7, bl8) | 0; - hi = hi + Math.imul(ah7, bh8) | 0; - lo = lo + Math.imul(al6, bl9) | 0; - mid = mid + Math.imul(al6, bh9) | 0; - mid = mid + Math.imul(ah6, bl9) | 0; - hi = hi + Math.imul(ah6, bh9) | 0; - var w15 = (c + lo | 0) + ((mid & 8191) << 13) | 0; - c = (hi + (mid >>> 13) | 0) + (w15 >>> 26) | 0; - w15 &= 67108863; - lo = Math.imul(al9, bl7); - mid = Math.imul(al9, bh7); - mid = mid + Math.imul(ah9, bl7) | 0; - hi = Math.imul(ah9, bh7); - lo = lo + Math.imul(al8, bl8) | 0; - mid = mid + Math.imul(al8, bh8) | 0; - mid = mid + Math.imul(ah8, bl8) | 0; - hi = hi + Math.imul(ah8, bh8) | 0; - lo = lo + Math.imul(al7, bl9) | 0; - mid = mid + Math.imul(al7, bh9) | 0; - mid = mid + Math.imul(ah7, bl9) | 0; - hi = hi + Math.imul(ah7, bh9) | 0; - var w16 = (c + lo | 0) + ((mid & 8191) << 13) | 0; - c = (hi + (mid >>> 13) | 0) + (w16 >>> 26) | 0; - w16 &= 67108863; - lo = Math.imul(al9, bl8); - mid = Math.imul(al9, bh8); - mid = mid + Math.imul(ah9, bl8) | 0; - hi = Math.imul(ah9, bh8); - lo = lo + Math.imul(al8, bl9) | 0; - mid = mid + Math.imul(al8, bh9) | 0; - mid = mid + Math.imul(ah8, bl9) | 0; - hi = hi + Math.imul(ah8, bh9) | 0; - var w17 = (c + lo | 0) + ((mid & 8191) << 13) | 0; - c = (hi + (mid >>> 13) | 0) + (w17 >>> 26) | 0; - w17 &= 67108863; - lo = Math.imul(al9, bl9); - mid = Math.imul(al9, bh9); - mid = mid + Math.imul(ah9, bl9) | 0; - hi = Math.imul(ah9, bh9); - var w18 = (c + lo | 0) + ((mid & 8191) << 13) | 0; - c = (hi + (mid >>> 13) | 0) + (w18 >>> 26) | 0; - w18 &= 67108863; - o[0] = w0; - o[1] = w1; - o[2] = w2; - o[3] = w3; - o[4] = w4; - o[5] = w5; - o[6] = w6; - o[7] = w7; - o[8] = w8; - o[9] = w9; - o[10] = w10; - o[11] = w11; - o[12] = w12; - o[13] = w13; - o[14] = w14; - o[15] = w15; - o[16] = w16; - o[17] = w17; - o[18] = w18; - if (c !== 0) { - o[19] = c; - out.length++; - } - return out; - }; - if (!Math.imul) { - comb10MulTo = smallMulTo; - } - function bigMulTo(self2, num, out) { - out.negative = num.negative ^ self2.negative; - out.length = self2.length + num.length; - var carry = 0; - var hncarry = 0; - for (var k = 0; k < out.length - 1; k++) { - var ncarry = hncarry; - hncarry = 0; - var rword = carry & 67108863; - var maxJ = Math.min(k, num.length - 1); - for (var j = Math.max(0, k - self2.length + 1); j <= maxJ; j++) { - var i = k - j; - var a = self2.words[i] | 0; - var b = num.words[j] | 0; - var r = a * b; - var lo = r & 67108863; - ncarry = ncarry + (r / 67108864 | 0) | 0; - lo = lo + rword | 0; - rword = lo & 67108863; - ncarry = ncarry + (lo >>> 26) | 0; - hncarry += ncarry >>> 26; - ncarry &= 67108863; - } - out.words[k] = rword; - carry = ncarry; - ncarry = hncarry; - } - if (carry !== 0) { - out.words[k] = carry; - } else { - out.length--; - } - return out._strip(); - } - function jumboMulTo(self2, num, out) { - return bigMulTo(self2, num, out); - } - BN.prototype.mulTo = function mulTo(num, out) { - var res; - var len = this.length + num.length; - if (this.length === 10 && num.length === 10) { - res = comb10MulTo(this, num, out); - } else if (len < 63) { - res = smallMulTo(this, num, out); - } else if (len < 1024) { - res = bigMulTo(this, num, out); - } else { - res = jumboMulTo(this, num, out); - } - return res; - }; - function FFTM(x, y) { - this.x = x; - this.y = y; - } - FFTM.prototype.makeRBT = function makeRBT(N) { - var t = new Array(N); - var l = BN.prototype._countBits(N) - 1; - for (var i = 0; i < N; i++) { - t[i] = this.revBin(i, l, N); - } - return t; - }; - FFTM.prototype.revBin = function revBin(x, l, N) { - if (x === 0 || x === N - 1) - return x; - var rb = 0; - for (var i = 0; i < l; i++) { - rb |= (x & 1) << l - i - 1; - x >>= 1; - } - return rb; - }; - FFTM.prototype.permute = function permute(rbt, rws, iws, rtws, itws, N) { - for (var i = 0; i < N; i++) { - rtws[i] = rws[rbt[i]]; - itws[i] = iws[rbt[i]]; - } - }; - FFTM.prototype.transform = function transform(rws, iws, rtws, itws, N, rbt) { - this.permute(rbt, rws, iws, rtws, itws, N); - for (var s = 1; s < N; s <<= 1) { - var l = s << 1; - var rtwdf = Math.cos(2 * Math.PI / l); - var itwdf = Math.sin(2 * Math.PI / l); - for (var p = 0; p < N; p += l) { - var rtwdf_ = rtwdf; - var itwdf_ = itwdf; - for (var j = 0; j < s; j++) { - var re = rtws[p + j]; - var ie = itws[p + j]; - var ro = rtws[p + j + s]; - var io = itws[p + j + s]; - var rx = rtwdf_ * ro - itwdf_ * io; - io = rtwdf_ * io + itwdf_ * ro; - ro = rx; - rtws[p + j] = re + ro; - itws[p + j] = ie + io; - rtws[p + j + s] = re - ro; - itws[p + j + s] = ie - io; - if (j !== l) { - rx = rtwdf * rtwdf_ - itwdf * itwdf_; - itwdf_ = rtwdf * itwdf_ + itwdf * rtwdf_; - rtwdf_ = rx; - } - } - } - } - }; - FFTM.prototype.guessLen13b = function guessLen13b(n, m) { - var N = Math.max(m, n) | 1; - var odd = N & 1; - var i = 0; - for (N = N / 2 | 0; N; N = N >>> 1) { - i++; - } - return 1 << i + 1 + odd; - }; - FFTM.prototype.conjugate = function conjugate(rws, iws, N) { - if (N <= 1) - return; - for (var i = 0; i < N / 2; i++) { - var t = rws[i]; - rws[i] = rws[N - i - 1]; - rws[N - i - 1] = t; - t = iws[i]; - iws[i] = -iws[N - i - 1]; - iws[N - i - 1] = -t; - } - }; - FFTM.prototype.normalize13b = function normalize13b(ws, N) { - var carry = 0; - for (var i = 0; i < N / 2; i++) { - var w = Math.round(ws[2 * i + 1] / N) * 8192 + Math.round(ws[2 * i] / N) + carry; - ws[i] = w & 67108863; - if (w < 67108864) { - carry = 0; - } else { - carry = w / 67108864 | 0; - } - } - return ws; - }; - FFTM.prototype.convert13b = function convert13b(ws, len, rws, N) { - var carry = 0; - for (var i = 0; i < len; i++) { - carry = carry + (ws[i] | 0); - rws[2 * i] = carry & 8191; - carry = carry >>> 13; - rws[2 * i + 1] = carry & 8191; - carry = carry >>> 13; - } - for (i = 2 * len; i < N; ++i) { - rws[i] = 0; - } - assert(carry === 0); - assert((carry & ~8191) === 0); - }; - FFTM.prototype.stub = function stub(N) { - var ph = new Array(N); - for (var i = 0; i < N; i++) { - ph[i] = 0; - } - return ph; - }; - FFTM.prototype.mulp = function mulp(x, y, out) { - var N = 2 * this.guessLen13b(x.length, y.length); - var rbt = this.makeRBT(N); - var _ = this.stub(N); - var rws = new Array(N); - var rwst = new Array(N); - var iwst = new Array(N); - var nrws = new Array(N); - var nrwst = new Array(N); - var niwst = new Array(N); - var rmws = out.words; - rmws.length = N; - this.convert13b(x.words, x.length, rws, N); - this.convert13b(y.words, y.length, nrws, N); - this.transform(rws, _, rwst, iwst, N, rbt); - this.transform(nrws, _, nrwst, niwst, N, rbt); - for (var i = 0; i < N; i++) { - var rx = rwst[i] * nrwst[i] - iwst[i] * niwst[i]; - iwst[i] = rwst[i] * niwst[i] + iwst[i] * nrwst[i]; - rwst[i] = rx; - } - this.conjugate(rwst, iwst, N); - this.transform(rwst, iwst, rmws, _, N, rbt); - this.conjugate(rmws, _, N); - this.normalize13b(rmws, N); - out.negative = x.negative ^ y.negative; - out.length = x.length + y.length; - return out._strip(); - }; - BN.prototype.mul = function mul(num) { - var out = new BN(null); - out.words = new Array(this.length + num.length); - return this.mulTo(num, out); - }; - BN.prototype.mulf = function mulf(num) { - var out = new BN(null); - out.words = new Array(this.length + num.length); - return jumboMulTo(this, num, out); - }; - BN.prototype.imul = function imul(num) { - return this.clone().mulTo(num, this); - }; - BN.prototype.imuln = function imuln(num) { - var isNegNum = num < 0; - if (isNegNum) - num = -num; - assert(typeof num === "number"); - assert(num < 67108864); - var carry = 0; - for (var i = 0; i < this.length; i++) { - var w = (this.words[i] | 0) * num; - var lo = (w & 67108863) + (carry & 67108863); - carry >>= 26; - carry += w / 67108864 | 0; - carry += lo >>> 26; - this.words[i] = lo & 67108863; - } - if (carry !== 0) { - this.words[i] = carry; - this.length++; - } - return isNegNum ? this.ineg() : this; - }; - BN.prototype.muln = function muln(num) { - return this.clone().imuln(num); - }; - BN.prototype.sqr = function sqr() { - return this.mul(this); - }; - BN.prototype.isqr = function isqr() { - return this.imul(this.clone()); - }; - BN.prototype.pow = function pow(num) { - var w = toBitArray(num); - if (w.length === 0) - return new BN(1); - var res = this; - for (var i = 0; i < w.length; i++, res = res.sqr()) { - if (w[i] !== 0) - break; - } - if (++i < w.length) { - for (var q = res.sqr(); i < w.length; i++, q = q.sqr()) { - if (w[i] === 0) - continue; - res = res.mul(q); - } - } - return res; - }; - BN.prototype.iushln = function iushln(bits) { - assert(typeof bits === "number" && bits >= 0); - var r = bits % 26; - var s = (bits - r) / 26; - var carryMask = 67108863 >>> 26 - r << 26 - r; - var i; - if (r !== 0) { - var carry = 0; - for (i = 0; i < this.length; i++) { - var newCarry = this.words[i] & carryMask; - var c = (this.words[i] | 0) - newCarry << r; - this.words[i] = c | carry; - carry = newCarry >>> 26 - r; - } - if (carry) { - this.words[i] = carry; - this.length++; - } - } - if (s !== 0) { - for (i = this.length - 1; i >= 0; i--) { - this.words[i + s] = this.words[i]; - } - for (i = 0; i < s; i++) { - this.words[i] = 0; - } - this.length += s; - } - return this._strip(); - }; - BN.prototype.ishln = function ishln(bits) { - assert(this.negative === 0); - return this.iushln(bits); - }; - BN.prototype.iushrn = function iushrn(bits, hint, extended) { - assert(typeof bits === "number" && bits >= 0); - var h; - if (hint) { - h = (hint - hint % 26) / 26; - } else { - h = 0; - } - var r = bits % 26; - var s = Math.min((bits - r) / 26, this.length); - var mask = 67108863 ^ 67108863 >>> r << r; - var maskedWords = extended; - h -= s; - h = Math.max(0, h); - if (maskedWords) { - for (var i = 0; i < s; i++) { - maskedWords.words[i] = this.words[i]; - } - maskedWords.length = s; - } - if (s === 0) { - } else if (this.length > s) { - this.length -= s; - for (i = 0; i < this.length; i++) { - this.words[i] = this.words[i + s]; - } - } else { - this.words[0] = 0; - this.length = 1; - } - var carry = 0; - for (i = this.length - 1; i >= 0 && (carry !== 0 || i >= h); i--) { - var word = this.words[i] | 0; - this.words[i] = carry << 26 - r | word >>> r; - carry = word & mask; - } - if (maskedWords && carry !== 0) { - maskedWords.words[maskedWords.length++] = carry; - } - if (this.length === 0) { - this.words[0] = 0; - this.length = 1; - } - return this._strip(); - }; - BN.prototype.ishrn = function ishrn(bits, hint, extended) { - assert(this.negative === 0); - return this.iushrn(bits, hint, extended); - }; - BN.prototype.shln = function shln(bits) { - return this.clone().ishln(bits); - }; - BN.prototype.ushln = function ushln(bits) { - return this.clone().iushln(bits); - }; - BN.prototype.shrn = function shrn(bits) { - return this.clone().ishrn(bits); - }; - BN.prototype.ushrn = function ushrn(bits) { - return this.clone().iushrn(bits); - }; - BN.prototype.testn = function testn(bit) { - assert(typeof bit === "number" && bit >= 0); - var r = bit % 26; - var s = (bit - r) / 26; - var q = 1 << r; - if (this.length <= s) - return false; - var w = this.words[s]; - return !!(w & q); - }; - BN.prototype.imaskn = function imaskn(bits) { - assert(typeof bits === "number" && bits >= 0); - var r = bits % 26; - var s = (bits - r) / 26; - assert(this.negative === 0, "imaskn works only with positive numbers"); - if (this.length <= s) { - return this; - } - if (r !== 0) { - s++; - } - this.length = Math.min(s, this.length); - if (r !== 0) { - var mask = 67108863 ^ 67108863 >>> r << r; - this.words[this.length - 1] &= mask; - } - return this._strip(); - }; - BN.prototype.maskn = function maskn(bits) { - return this.clone().imaskn(bits); - }; - BN.prototype.iaddn = function iaddn(num) { - assert(typeof num === "number"); - assert(num < 67108864); - if (num < 0) - return this.isubn(-num); - if (this.negative !== 0) { - if (this.length === 1 && (this.words[0] | 0) <= num) { - this.words[0] = num - (this.words[0] | 0); - this.negative = 0; - return this; - } - this.negative = 0; - this.isubn(num); - this.negative = 1; - return this; - } - return this._iaddn(num); - }; - BN.prototype._iaddn = function _iaddn(num) { - this.words[0] += num; - for (var i = 0; i < this.length && this.words[i] >= 67108864; i++) { - this.words[i] -= 67108864; - if (i === this.length - 1) { - this.words[i + 1] = 1; - } else { - this.words[i + 1]++; - } - } - this.length = Math.max(this.length, i + 1); - return this; - }; - BN.prototype.isubn = function isubn(num) { - assert(typeof num === "number"); - assert(num < 67108864); - if (num < 0) - return this.iaddn(-num); - if (this.negative !== 0) { - this.negative = 0; - this.iaddn(num); - this.negative = 1; - return this; - } - this.words[0] -= num; - if (this.length === 1 && this.words[0] < 0) { - this.words[0] = -this.words[0]; - this.negative = 1; - } else { - for (var i = 0; i < this.length && this.words[i] < 0; i++) { - this.words[i] += 67108864; - this.words[i + 1] -= 1; - } - } - return this._strip(); - }; - BN.prototype.addn = function addn(num) { - return this.clone().iaddn(num); - }; - BN.prototype.subn = function subn(num) { - return this.clone().isubn(num); - }; - BN.prototype.iabs = function iabs() { - this.negative = 0; - return this; - }; - BN.prototype.abs = function abs() { - return this.clone().iabs(); - }; - BN.prototype._ishlnsubmul = function _ishlnsubmul(num, mul, shift) { - var len = num.length + shift; - var i; - this._expand(len); - var w; - var carry = 0; - for (i = 0; i < num.length; i++) { - w = (this.words[i + shift] | 0) + carry; - var right = (num.words[i] | 0) * mul; - w -= right & 67108863; - carry = (w >> 26) - (right / 67108864 | 0); - this.words[i + shift] = w & 67108863; - } - for (; i < this.length - shift; i++) { - w = (this.words[i + shift] | 0) + carry; - carry = w >> 26; - this.words[i + shift] = w & 67108863; - } - if (carry === 0) - return this._strip(); - assert(carry === -1); - carry = 0; - for (i = 0; i < this.length; i++) { - w = -(this.words[i] | 0) + carry; - carry = w >> 26; - this.words[i] = w & 67108863; - } - this.negative = 1; - return this._strip(); - }; - BN.prototype._wordDiv = function _wordDiv(num, mode) { - var shift = this.length - num.length; - var a = this.clone(); - var b = num; - var bhi = b.words[b.length - 1] | 0; - var bhiBits = this._countBits(bhi); - shift = 26 - bhiBits; - if (shift !== 0) { - b = b.ushln(shift); - a.iushln(shift); - bhi = b.words[b.length - 1] | 0; - } - var m = a.length - b.length; - var q; - if (mode !== "mod") { - q = new BN(null); - q.length = m + 1; - q.words = new Array(q.length); - for (var i = 0; i < q.length; i++) { - q.words[i] = 0; - } - } - var diff = a.clone()._ishlnsubmul(b, 1, m); - if (diff.negative === 0) { - a = diff; - if (q) { - q.words[m] = 1; - } - } - for (var j = m - 1; j >= 0; j--) { - var qj = (a.words[b.length + j] | 0) * 67108864 + (a.words[b.length + j - 1] | 0); - qj = Math.min(qj / bhi | 0, 67108863); - a._ishlnsubmul(b, qj, j); - while (a.negative !== 0) { - qj--; - a.negative = 0; - a._ishlnsubmul(b, 1, j); - if (!a.isZero()) { - a.negative ^= 1; - } - } - if (q) { - q.words[j] = qj; - } - } - if (q) { - q._strip(); - } - a._strip(); - if (mode !== "div" && shift !== 0) { - a.iushrn(shift); - } - return { - div: q || null, - mod: a - }; - }; - BN.prototype.divmod = function divmod(num, mode, positive) { - assert(!num.isZero()); - if (this.isZero()) { - return { - div: new BN(0), - mod: new BN(0) - }; - } - var div, mod, res; - if (this.negative !== 0 && num.negative === 0) { - res = this.neg().divmod(num, mode); - if (mode !== "mod") { - div = res.div.neg(); - } - if (mode !== "div") { - mod = res.mod.neg(); - if (positive && mod.negative !== 0) { - mod.iadd(num); - } - } - return { - div, - mod - }; - } - if (this.negative === 0 && num.negative !== 0) { - res = this.divmod(num.neg(), mode); - if (mode !== "mod") { - div = res.div.neg(); - } - return { - div, - mod: res.mod - }; - } - if ((this.negative & num.negative) !== 0) { - res = this.neg().divmod(num.neg(), mode); - if (mode !== "div") { - mod = res.mod.neg(); - if (positive && mod.negative !== 0) { - mod.isub(num); - } - } - return { - div: res.div, - mod - }; - } - if (num.length > this.length || this.cmp(num) < 0) { - return { - div: new BN(0), - mod: this - }; - } - if (num.length === 1) { - if (mode === "div") { - return { - div: this.divn(num.words[0]), - mod: null - }; - } - if (mode === "mod") { - return { - div: null, - mod: new BN(this.modrn(num.words[0])) - }; - } - return { - div: this.divn(num.words[0]), - mod: new BN(this.modrn(num.words[0])) - }; - } - return this._wordDiv(num, mode); - }; - BN.prototype.div = function div(num) { - return this.divmod(num, "div", false).div; - }; - BN.prototype.mod = function mod(num) { - return this.divmod(num, "mod", false).mod; - }; - BN.prototype.umod = function umod(num) { - return this.divmod(num, "mod", true).mod; - }; - BN.prototype.divRound = function divRound(num) { - var dm = this.divmod(num); - if (dm.mod.isZero()) - return dm.div; - var mod = dm.div.negative !== 0 ? dm.mod.isub(num) : dm.mod; - var half = num.ushrn(1); - var r2 = num.andln(1); - var cmp = mod.cmp(half); - if (cmp < 0 || r2 === 1 && cmp === 0) - return dm.div; - return dm.div.negative !== 0 ? dm.div.isubn(1) : dm.div.iaddn(1); - }; - BN.prototype.modrn = function modrn(num) { - var isNegNum = num < 0; - if (isNegNum) - num = -num; - assert(num <= 67108863); - var p = (1 << 26) % num; - var acc = 0; - for (var i = this.length - 1; i >= 0; i--) { - acc = (p * acc + (this.words[i] | 0)) % num; - } - return isNegNum ? -acc : acc; - }; - BN.prototype.modn = function modn(num) { - return this.modrn(num); - }; - BN.prototype.idivn = function idivn(num) { - var isNegNum = num < 0; - if (isNegNum) - num = -num; - assert(num <= 67108863); - var carry = 0; - for (var i = this.length - 1; i >= 0; i--) { - var w = (this.words[i] | 0) + carry * 67108864; - this.words[i] = w / num | 0; - carry = w % num; - } - this._strip(); - return isNegNum ? this.ineg() : this; - }; - BN.prototype.divn = function divn(num) { - return this.clone().idivn(num); - }; - BN.prototype.egcd = function egcd(p) { - assert(p.negative === 0); - assert(!p.isZero()); - var x = this; - var y = p.clone(); - if (x.negative !== 0) { - x = x.umod(p); - } else { - x = x.clone(); - } - var A = new BN(1); - var B = new BN(0); - var C = new BN(0); - var D = new BN(1); - var g = 0; - while (x.isEven() && y.isEven()) { - x.iushrn(1); - y.iushrn(1); - ++g; - } - var yp = y.clone(); - var xp = x.clone(); - while (!x.isZero()) { - for (var i = 0, im = 1; (x.words[0] & im) === 0 && i < 26; ++i, im <<= 1) - ; - if (i > 0) { - x.iushrn(i); - while (i-- > 0) { - if (A.isOdd() || B.isOdd()) { - A.iadd(yp); - B.isub(xp); - } - A.iushrn(1); - B.iushrn(1); - } - } - for (var j = 0, jm = 1; (y.words[0] & jm) === 0 && j < 26; ++j, jm <<= 1) - ; - if (j > 0) { - y.iushrn(j); - while (j-- > 0) { - if (C.isOdd() || D.isOdd()) { - C.iadd(yp); - D.isub(xp); - } - C.iushrn(1); - D.iushrn(1); - } - } - if (x.cmp(y) >= 0) { - x.isub(y); - A.isub(C); - B.isub(D); - } else { - y.isub(x); - C.isub(A); - D.isub(B); - } - } - return { - a: C, - b: D, - gcd: y.iushln(g) - }; - }; - BN.prototype._invmp = function _invmp(p) { - assert(p.negative === 0); - assert(!p.isZero()); - var a = this; - var b = p.clone(); - if (a.negative !== 0) { - a = a.umod(p); - } else { - a = a.clone(); - } - var x1 = new BN(1); - var x2 = new BN(0); - var delta = b.clone(); - while (a.cmpn(1) > 0 && b.cmpn(1) > 0) { - for (var i = 0, im = 1; (a.words[0] & im) === 0 && i < 26; ++i, im <<= 1) - ; - if (i > 0) { - a.iushrn(i); - while (i-- > 0) { - if (x1.isOdd()) { - x1.iadd(delta); - } - x1.iushrn(1); - } - } - for (var j = 0, jm = 1; (b.words[0] & jm) === 0 && j < 26; ++j, jm <<= 1) - ; - if (j > 0) { - b.iushrn(j); - while (j-- > 0) { - if (x2.isOdd()) { - x2.iadd(delta); - } - x2.iushrn(1); - } - } - if (a.cmp(b) >= 0) { - a.isub(b); - x1.isub(x2); - } else { - b.isub(a); - x2.isub(x1); - } - } - var res; - if (a.cmpn(1) === 0) { - res = x1; - } else { - res = x2; - } - if (res.cmpn(0) < 0) { - res.iadd(p); - } - return res; - }; - BN.prototype.gcd = function gcd(num) { - if (this.isZero()) - return num.abs(); - if (num.isZero()) - return this.abs(); - var a = this.clone(); - var b = num.clone(); - a.negative = 0; - b.negative = 0; - for (var shift = 0; a.isEven() && b.isEven(); shift++) { - a.iushrn(1); - b.iushrn(1); - } - do { - while (a.isEven()) { - a.iushrn(1); - } - while (b.isEven()) { - b.iushrn(1); - } - var r = a.cmp(b); - if (r < 0) { - var t = a; - a = b; - b = t; - } else if (r === 0 || b.cmpn(1) === 0) { - break; - } - a.isub(b); - } while (true); - return b.iushln(shift); - }; - BN.prototype.invm = function invm(num) { - return this.egcd(num).a.umod(num); - }; - BN.prototype.isEven = function isEven() { - return (this.words[0] & 1) === 0; - }; - BN.prototype.isOdd = function isOdd() { - return (this.words[0] & 1) === 1; - }; - BN.prototype.andln = function andln(num) { - return this.words[0] & num; - }; - BN.prototype.bincn = function bincn(bit) { - assert(typeof bit === "number"); - var r = bit % 26; - var s = (bit - r) / 26; - var q = 1 << r; - if (this.length <= s) { - this._expand(s + 1); - this.words[s] |= q; - return this; - } - var carry = q; - for (var i = s; carry !== 0 && i < this.length; i++) { - var w = this.words[i] | 0; - w += carry; - carry = w >>> 26; - w &= 67108863; - this.words[i] = w; - } - if (carry !== 0) { - this.words[i] = carry; - this.length++; - } - return this; - }; - BN.prototype.isZero = function isZero() { - return this.length === 1 && this.words[0] === 0; - }; - BN.prototype.cmpn = function cmpn(num) { - var negative = num < 0; - if (this.negative !== 0 && !negative) - return -1; - if (this.negative === 0 && negative) - return 1; - this._strip(); - var res; - if (this.length > 1) { - res = 1; - } else { - if (negative) { - num = -num; - } - assert(num <= 67108863, "Number is too big"); - var w = this.words[0] | 0; - res = w === num ? 0 : w < num ? -1 : 1; - } - if (this.negative !== 0) - return -res | 0; - return res; - }; - BN.prototype.cmp = function cmp(num) { - if (this.negative !== 0 && num.negative === 0) - return -1; - if (this.negative === 0 && num.negative !== 0) - return 1; - var res = this.ucmp(num); - if (this.negative !== 0) - return -res | 0; - return res; - }; - BN.prototype.ucmp = function ucmp(num) { - if (this.length > num.length) - return 1; - if (this.length < num.length) - return -1; - var res = 0; - for (var i = this.length - 1; i >= 0; i--) { - var a = this.words[i] | 0; - var b = num.words[i] | 0; - if (a === b) - continue; - if (a < b) { - res = -1; - } else if (a > b) { - res = 1; - } - break; - } - return res; - }; - BN.prototype.gtn = function gtn(num) { - return this.cmpn(num) === 1; - }; - BN.prototype.gt = function gt(num) { - return this.cmp(num) === 1; - }; - BN.prototype.gten = function gten(num) { - return this.cmpn(num) >= 0; - }; - BN.prototype.gte = function gte(num) { - return this.cmp(num) >= 0; - }; - BN.prototype.ltn = function ltn(num) { - return this.cmpn(num) === -1; - }; - BN.prototype.lt = function lt(num) { - return this.cmp(num) === -1; - }; - BN.prototype.lten = function lten(num) { - return this.cmpn(num) <= 0; - }; - BN.prototype.lte = function lte(num) { - return this.cmp(num) <= 0; - }; - BN.prototype.eqn = function eqn(num) { - return this.cmpn(num) === 0; - }; - BN.prototype.eq = function eq(num) { - return this.cmp(num) === 0; - }; - BN.red = function red(num) { - return new Red(num); - }; - BN.prototype.toRed = function toRed(ctx) { - assert(!this.red, "Already a number in reduction context"); - assert(this.negative === 0, "red works only with positives"); - return ctx.convertTo(this)._forceRed(ctx); - }; - BN.prototype.fromRed = function fromRed() { - assert(this.red, "fromRed works only with numbers in reduction context"); - return this.red.convertFrom(this); - }; - BN.prototype._forceRed = function _forceRed(ctx) { - this.red = ctx; - return this; - }; - BN.prototype.forceRed = function forceRed(ctx) { - assert(!this.red, "Already a number in reduction context"); - return this._forceRed(ctx); - }; - BN.prototype.redAdd = function redAdd(num) { - assert(this.red, "redAdd works only with red numbers"); - return this.red.add(this, num); - }; - BN.prototype.redIAdd = function redIAdd(num) { - assert(this.red, "redIAdd works only with red numbers"); - return this.red.iadd(this, num); - }; - BN.prototype.redSub = function redSub(num) { - assert(this.red, "redSub works only with red numbers"); - return this.red.sub(this, num); - }; - BN.prototype.redISub = function redISub(num) { - assert(this.red, "redISub works only with red numbers"); - return this.red.isub(this, num); - }; - BN.prototype.redShl = function redShl(num) { - assert(this.red, "redShl works only with red numbers"); - return this.red.shl(this, num); - }; - BN.prototype.redMul = function redMul(num) { - assert(this.red, "redMul works only with red numbers"); - this.red._verify2(this, num); - return this.red.mul(this, num); - }; - BN.prototype.redIMul = function redIMul(num) { - assert(this.red, "redMul works only with red numbers"); - this.red._verify2(this, num); - return this.red.imul(this, num); - }; - BN.prototype.redSqr = function redSqr() { - assert(this.red, "redSqr works only with red numbers"); - this.red._verify1(this); - return this.red.sqr(this); - }; - BN.prototype.redISqr = function redISqr() { - assert(this.red, "redISqr works only with red numbers"); - this.red._verify1(this); - return this.red.isqr(this); - }; - BN.prototype.redSqrt = function redSqrt() { - assert(this.red, "redSqrt works only with red numbers"); - this.red._verify1(this); - return this.red.sqrt(this); - }; - BN.prototype.redInvm = function redInvm() { - assert(this.red, "redInvm works only with red numbers"); - this.red._verify1(this); - return this.red.invm(this); - }; - BN.prototype.redNeg = function redNeg() { - assert(this.red, "redNeg works only with red numbers"); - this.red._verify1(this); - return this.red.neg(this); - }; - BN.prototype.redPow = function redPow(num) { - assert(this.red && !num.red, "redPow(normalNum)"); - this.red._verify1(this); - return this.red.pow(this, num); - }; - var primes = { - k256: null, - p224: null, - p192: null, - p25519: null - }; - function MPrime(name, p) { - this.name = name; - this.p = new BN(p, 16); - this.n = this.p.bitLength(); - this.k = new BN(1).iushln(this.n).isub(this.p); - this.tmp = this._tmp(); - } - MPrime.prototype._tmp = function _tmp() { - var tmp = new BN(null); - tmp.words = new Array(Math.ceil(this.n / 13)); - return tmp; - }; - MPrime.prototype.ireduce = function ireduce(num) { - var r = num; - var rlen; - do { - this.split(r, this.tmp); - r = this.imulK(r); - r = r.iadd(this.tmp); - rlen = r.bitLength(); - } while (rlen > this.n); - var cmp = rlen < this.n ? -1 : r.ucmp(this.p); - if (cmp === 0) { - r.words[0] = 0; - r.length = 1; - } else if (cmp > 0) { - r.isub(this.p); - } else { - if (r.strip !== void 0) { - r.strip(); - } else { - r._strip(); - } - } - return r; - }; - MPrime.prototype.split = function split(input, out) { - input.iushrn(this.n, 0, out); - }; - MPrime.prototype.imulK = function imulK(num) { - return num.imul(this.k); - }; - function K256() { - MPrime.call( - this, - "k256", - "ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f" - ); - } - inherits2(K256, MPrime); - K256.prototype.split = function split(input, output) { - var mask = 4194303; - var outLen = Math.min(input.length, 9); - for (var i = 0; i < outLen; i++) { - output.words[i] = input.words[i]; - } - output.length = outLen; - if (input.length <= 9) { - input.words[0] = 0; - input.length = 1; - return; - } - var prev = input.words[9]; - output.words[output.length++] = prev & mask; - for (i = 10; i < input.length; i++) { - var next = input.words[i] | 0; - input.words[i - 10] = (next & mask) << 4 | prev >>> 22; - prev = next; - } - prev >>>= 22; - input.words[i - 10] = prev; - if (prev === 0 && input.length > 10) { - input.length -= 10; - } else { - input.length -= 9; - } - }; - K256.prototype.imulK = function imulK(num) { - num.words[num.length] = 0; - num.words[num.length + 1] = 0; - num.length += 2; - var lo = 0; - for (var i = 0; i < num.length; i++) { - var w = num.words[i] | 0; - lo += w * 977; - num.words[i] = lo & 67108863; - lo = w * 64 + (lo / 67108864 | 0); - } - if (num.words[num.length - 1] === 0) { - num.length--; - if (num.words[num.length - 1] === 0) { - num.length--; - } - } - return num; - }; - function P224() { - MPrime.call( - this, - "p224", - "ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001" - ); - } - inherits2(P224, MPrime); - function P192() { - MPrime.call( - this, - "p192", - "ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff" - ); - } - inherits2(P192, MPrime); - function P25519() { - MPrime.call( - this, - "25519", - "7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed" - ); - } - inherits2(P25519, MPrime); - P25519.prototype.imulK = function imulK(num) { - var carry = 0; - for (var i = 0; i < num.length; i++) { - var hi = (num.words[i] | 0) * 19 + carry; - var lo = hi & 67108863; - hi >>>= 26; - num.words[i] = lo; - carry = hi; - } - if (carry !== 0) { - num.words[num.length++] = carry; - } - return num; - }; - BN._prime = function prime(name) { - if (primes[name]) - return primes[name]; - var prime2; - if (name === "k256") { - prime2 = new K256(); - } else if (name === "p224") { - prime2 = new P224(); - } else if (name === "p192") { - prime2 = new P192(); - } else if (name === "p25519") { - prime2 = new P25519(); - } else { - throw new Error("Unknown prime " + name); - } - primes[name] = prime2; - return prime2; - }; - function Red(m) { - if (typeof m === "string") { - var prime = BN._prime(m); - this.m = prime.p; - this.prime = prime; - } else { - assert(m.gtn(1), "modulus must be greater than 1"); - this.m = m; - this.prime = null; - } - } - Red.prototype._verify1 = function _verify1(a) { - assert(a.negative === 0, "red works only with positives"); - assert(a.red, "red works only with red numbers"); - }; - Red.prototype._verify2 = function _verify2(a, b) { - assert((a.negative | b.negative) === 0, "red works only with positives"); - assert( - a.red && a.red === b.red, - "red works only with red numbers" - ); - }; - Red.prototype.imod = function imod(a) { - if (this.prime) - return this.prime.ireduce(a)._forceRed(this); - move(a, a.umod(this.m)._forceRed(this)); - return a; - }; - Red.prototype.neg = function neg(a) { - if (a.isZero()) { - return a.clone(); - } - return this.m.sub(a)._forceRed(this); - }; - Red.prototype.add = function add(a, b) { - this._verify2(a, b); - var res = a.add(b); - if (res.cmp(this.m) >= 0) { - res.isub(this.m); - } - return res._forceRed(this); - }; - Red.prototype.iadd = function iadd(a, b) { - this._verify2(a, b); - var res = a.iadd(b); - if (res.cmp(this.m) >= 0) { - res.isub(this.m); - } - return res; - }; - Red.prototype.sub = function sub(a, b) { - this._verify2(a, b); - var res = a.sub(b); - if (res.cmpn(0) < 0) { - res.iadd(this.m); - } - return res._forceRed(this); - }; - Red.prototype.isub = function isub(a, b) { - this._verify2(a, b); - var res = a.isub(b); - if (res.cmpn(0) < 0) { - res.iadd(this.m); - } - return res; - }; - Red.prototype.shl = function shl(a, num) { - this._verify1(a); - return this.imod(a.ushln(num)); - }; - Red.prototype.imul = function imul(a, b) { - this._verify2(a, b); - return this.imod(a.imul(b)); - }; - Red.prototype.mul = function mul(a, b) { - this._verify2(a, b); - return this.imod(a.mul(b)); - }; - Red.prototype.isqr = function isqr(a) { - return this.imul(a, a.clone()); - }; - Red.prototype.sqr = function sqr(a) { - return this.mul(a, a); - }; - Red.prototype.sqrt = function sqrt(a) { - if (a.isZero()) - return a.clone(); - var mod3 = this.m.andln(3); - assert(mod3 % 2 === 1); - if (mod3 === 3) { - var pow = this.m.add(new BN(1)).iushrn(2); - return this.pow(a, pow); - } - var q = this.m.subn(1); - var s = 0; - while (!q.isZero() && q.andln(1) === 0) { - s++; - q.iushrn(1); - } - assert(!q.isZero()); - var one = new BN(1).toRed(this); - var nOne = one.redNeg(); - var lpow = this.m.subn(1).iushrn(1); - var z = this.m.bitLength(); - z = new BN(2 * z * z).toRed(this); - while (this.pow(z, lpow).cmp(nOne) !== 0) { - z.redIAdd(nOne); - } - var c = this.pow(z, q); - var r = this.pow(a, q.addn(1).iushrn(1)); - var t = this.pow(a, q); - var m = s; - while (t.cmp(one) !== 0) { - var tmp = t; - for (var i = 0; tmp.cmp(one) !== 0; i++) { - tmp = tmp.redSqr(); - } - assert(i < m); - var b = this.pow(c, new BN(1).iushln(m - i - 1)); - r = r.redMul(b); - c = b.redSqr(); - t = t.redMul(c); - m = i; - } - return r; - }; - Red.prototype.invm = function invm(a) { - var inv = a._invmp(this.m); - if (inv.negative !== 0) { - inv.negative = 0; - return this.imod(inv).redNeg(); - } else { - return this.imod(inv); - } - }; - Red.prototype.pow = function pow(a, num) { - if (num.isZero()) - return new BN(1).toRed(this); - if (num.cmpn(1) === 0) - return a.clone(); - var windowSize = 4; - var wnd = new Array(1 << windowSize); - wnd[0] = new BN(1).toRed(this); - wnd[1] = a; - for (var i = 2; i < wnd.length; i++) { - wnd[i] = this.mul(wnd[i - 1], a); - } - var res = wnd[0]; - var current = 0; - var currentLen = 0; - var start = num.bitLength() % 26; - if (start === 0) { - start = 26; - } - for (i = num.length - 1; i >= 0; i--) { - var word = num.words[i]; - for (var j = start - 1; j >= 0; j--) { - var bit = word >> j & 1; - if (res !== wnd[0]) { - res = this.sqr(res); - } - if (bit === 0 && current === 0) { - currentLen = 0; - continue; - } - current <<= 1; - current |= bit; - currentLen++; - if (currentLen !== windowSize && (i !== 0 || j !== 0)) - continue; - res = this.mul(res, wnd[current]); - currentLen = 0; - current = 0; - } - start = 26; - } - return res; - }; - Red.prototype.convertTo = function convertTo(num) { - var r = num.umod(this.m); - return r === num ? r.clone() : r; - }; - Red.prototype.convertFrom = function convertFrom(num) { - var res = num.clone(); - res.red = null; - return res; - }; - BN.mont = function mont(num) { - return new Mont(num); - }; - function Mont(m) { - Red.call(this, m); - this.shift = this.m.bitLength(); - if (this.shift % 26 !== 0) { - this.shift += 26 - this.shift % 26; - } - this.r = new BN(1).iushln(this.shift); - this.r2 = this.imod(this.r.sqr()); - this.rinv = this.r._invmp(this.m); - this.minv = this.rinv.mul(this.r).isubn(1).div(this.m); - this.minv = this.minv.umod(this.r); - this.minv = this.r.sub(this.minv); - } - inherits2(Mont, Red); - Mont.prototype.convertTo = function convertTo(num) { - return this.imod(num.ushln(this.shift)); - }; - Mont.prototype.convertFrom = function convertFrom(num) { - var r = this.imod(num.mul(this.rinv)); - r.red = null; - return r; - }; - Mont.prototype.imul = function imul(a, b) { - if (a.isZero() || b.isZero()) { - a.words[0] = 0; - a.length = 1; - return a; - } - var t = a.imul(b); - var c = t.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m); - var u = t.isub(c).iushrn(this.shift); - var res = u; - if (u.cmp(this.m) >= 0) { - res = u.isub(this.m); - } else if (u.cmpn(0) < 0) { - res = u.iadd(this.m); - } - return res._forceRed(this); - }; - Mont.prototype.mul = function mul(a, b) { - if (a.isZero() || b.isZero()) - return new BN(0)._forceRed(this); - var t = a.mul(b); - var c = t.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m); - var u = t.isub(c).iushrn(this.shift); - var res = u; - if (u.cmp(this.m) >= 0) { - res = u.isub(this.m); - } else if (u.cmpn(0) < 0) { - res = u.iadd(this.m); - } - return res._forceRed(this); - }; - Mont.prototype.invm = function invm(a) { - var res = this.imod(a._invmp(this.m).mul(this.r2)); - return res._forceRed(this); - }; - })(typeof module2 === "undefined" || module2, exports2); - } -}); - -// node_modules/@ethersproject/logger/lib/_version.js -var require_version = __commonJS({ - "node_modules/@ethersproject/logger/lib/_version.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.version = void 0; - exports2.version = "logger/5.7.0"; - } -}); - -// node_modules/@ethersproject/logger/lib/index.js -var require_lib = __commonJS({ - "node_modules/@ethersproject/logger/lib/index.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.Logger = exports2.ErrorCode = exports2.LogLevel = void 0; - var _permanentCensorErrors = false; - var _censorErrors = false; - var LogLevels = { debug: 1, "default": 2, info: 2, warning: 3, error: 4, off: 5 }; - var _logLevel = LogLevels["default"]; - var _version_1 = require_version(); - var _globalLogger = null; - function _checkNormalize() { - try { - var missing_1 = []; - ["NFD", "NFC", "NFKD", "NFKC"].forEach(function(form) { - try { - if ("test".normalize(form) !== "test") { - throw new Error("bad normalize"); - } - ; - } catch (error) { - missing_1.push(form); - } - }); - if (missing_1.length) { - throw new Error("missing " + missing_1.join(", ")); - } - if (String.fromCharCode(233).normalize("NFD") !== String.fromCharCode(101, 769)) { - throw new Error("broken implementation"); - } - } catch (error) { - return error.message; - } - return null; - } - var _normalizeError = _checkNormalize(); - var LogLevel; - (function(LogLevel2) { - LogLevel2["DEBUG"] = "DEBUG"; - LogLevel2["INFO"] = "INFO"; - LogLevel2["WARNING"] = "WARNING"; - LogLevel2["ERROR"] = "ERROR"; - LogLevel2["OFF"] = "OFF"; - })(LogLevel = exports2.LogLevel || (exports2.LogLevel = {})); - var ErrorCode; - (function(ErrorCode2) { - ErrorCode2["UNKNOWN_ERROR"] = "UNKNOWN_ERROR"; - ErrorCode2["NOT_IMPLEMENTED"] = "NOT_IMPLEMENTED"; - ErrorCode2["UNSUPPORTED_OPERATION"] = "UNSUPPORTED_OPERATION"; - ErrorCode2["NETWORK_ERROR"] = "NETWORK_ERROR"; - ErrorCode2["SERVER_ERROR"] = "SERVER_ERROR"; - ErrorCode2["TIMEOUT"] = "TIMEOUT"; - ErrorCode2["BUFFER_OVERRUN"] = "BUFFER_OVERRUN"; - ErrorCode2["NUMERIC_FAULT"] = "NUMERIC_FAULT"; - ErrorCode2["MISSING_NEW"] = "MISSING_NEW"; - ErrorCode2["INVALID_ARGUMENT"] = "INVALID_ARGUMENT"; - ErrorCode2["MISSING_ARGUMENT"] = "MISSING_ARGUMENT"; - ErrorCode2["UNEXPECTED_ARGUMENT"] = "UNEXPECTED_ARGUMENT"; - ErrorCode2["CALL_EXCEPTION"] = "CALL_EXCEPTION"; - ErrorCode2["INSUFFICIENT_FUNDS"] = "INSUFFICIENT_FUNDS"; - ErrorCode2["NONCE_EXPIRED"] = "NONCE_EXPIRED"; - ErrorCode2["REPLACEMENT_UNDERPRICED"] = "REPLACEMENT_UNDERPRICED"; - ErrorCode2["UNPREDICTABLE_GAS_LIMIT"] = "UNPREDICTABLE_GAS_LIMIT"; - ErrorCode2["TRANSACTION_REPLACED"] = "TRANSACTION_REPLACED"; - ErrorCode2["ACTION_REJECTED"] = "ACTION_REJECTED"; - })(ErrorCode = exports2.ErrorCode || (exports2.ErrorCode = {})); - var HEX = "0123456789abcdef"; - var Logger = ( - /** @class */ - function() { - function Logger2(version) { - Object.defineProperty(this, "version", { - enumerable: true, - value: version, - writable: false - }); - } - Logger2.prototype._log = function(logLevel, args) { - var level = logLevel.toLowerCase(); - if (LogLevels[level] == null) { - this.throwArgumentError("invalid log level name", "logLevel", logLevel); - } - if (_logLevel > LogLevels[level]) { - return; - } - console.log.apply(console, args); - }; - Logger2.prototype.debug = function() { - var args = []; - for (var _i = 0; _i < arguments.length; _i++) { - args[_i] = arguments[_i]; - } - this._log(Logger2.levels.DEBUG, args); - }; - Logger2.prototype.info = function() { - var args = []; - for (var _i = 0; _i < arguments.length; _i++) { - args[_i] = arguments[_i]; - } - this._log(Logger2.levels.INFO, args); - }; - Logger2.prototype.warn = function() { - var args = []; - for (var _i = 0; _i < arguments.length; _i++) { - args[_i] = arguments[_i]; - } - this._log(Logger2.levels.WARNING, args); - }; - Logger2.prototype.makeError = function(message, code, params) { - if (_censorErrors) { - return this.makeError("censored error", code, {}); - } - if (!code) { - code = Logger2.errors.UNKNOWN_ERROR; - } - if (!params) { - params = {}; - } - var messageDetails = []; - Object.keys(params).forEach(function(key) { - var value = params[key]; - try { - if (value instanceof Uint8Array) { - var hex = ""; - for (var i = 0; i < value.length; i++) { - hex += HEX[value[i] >> 4]; - hex += HEX[value[i] & 15]; - } - messageDetails.push(key + "=Uint8Array(0x" + hex + ")"); - } else { - messageDetails.push(key + "=" + JSON.stringify(value)); - } - } catch (error2) { - messageDetails.push(key + "=" + JSON.stringify(params[key].toString())); - } - }); - messageDetails.push("code=" + code); - messageDetails.push("version=" + this.version); - var reason = message; - var url2 = ""; - switch (code) { - case ErrorCode.NUMERIC_FAULT: { - url2 = "NUMERIC_FAULT"; - var fault = message; - switch (fault) { - case "overflow": - case "underflow": - case "division-by-zero": - url2 += "-" + fault; - break; - case "negative-power": - case "negative-width": - url2 += "-unsupported"; - break; - case "unbound-bitwise-result": - url2 += "-unbound-result"; - break; - } - break; - } - case ErrorCode.CALL_EXCEPTION: - case ErrorCode.INSUFFICIENT_FUNDS: - case ErrorCode.MISSING_NEW: - case ErrorCode.NONCE_EXPIRED: - case ErrorCode.REPLACEMENT_UNDERPRICED: - case ErrorCode.TRANSACTION_REPLACED: - case ErrorCode.UNPREDICTABLE_GAS_LIMIT: - url2 = code; - break; - } - if (url2) { - message += " [ See: https://links.ethers.org/v5-errors-" + url2 + " ]"; - } - if (messageDetails.length) { - message += " (" + messageDetails.join(", ") + ")"; - } - var error = new Error(message); - error.reason = reason; - error.code = code; - Object.keys(params).forEach(function(key) { - error[key] = params[key]; - }); - return error; - }; - Logger2.prototype.throwError = function(message, code, params) { - throw this.makeError(message, code, params); - }; - Logger2.prototype.throwArgumentError = function(message, name, value) { - return this.throwError(message, Logger2.errors.INVALID_ARGUMENT, { - argument: name, - value - }); - }; - Logger2.prototype.assert = function(condition, message, code, params) { - if (!!condition) { - return; - } - this.throwError(message, code, params); - }; - Logger2.prototype.assertArgument = function(condition, message, name, value) { - if (!!condition) { - return; - } - this.throwArgumentError(message, name, value); - }; - Logger2.prototype.checkNormalize = function(message) { - if (message == null) { - message = "platform missing String.prototype.normalize"; - } - if (_normalizeError) { - this.throwError("platform missing String.prototype.normalize", Logger2.errors.UNSUPPORTED_OPERATION, { - operation: "String.prototype.normalize", - form: _normalizeError - }); - } - }; - Logger2.prototype.checkSafeUint53 = function(value, message) { - if (typeof value !== "number") { - return; - } - if (message == null) { - message = "value not safe"; - } - if (value < 0 || value >= 9007199254740991) { - this.throwError(message, Logger2.errors.NUMERIC_FAULT, { - operation: "checkSafeInteger", - fault: "out-of-safe-range", - value - }); - } - if (value % 1) { - this.throwError(message, Logger2.errors.NUMERIC_FAULT, { - operation: "checkSafeInteger", - fault: "non-integer", - value - }); - } - }; - Logger2.prototype.checkArgumentCount = function(count, expectedCount, message) { - if (message) { - message = ": " + message; - } else { - message = ""; - } - if (count < expectedCount) { - this.throwError("missing argument" + message, Logger2.errors.MISSING_ARGUMENT, { - count, - expectedCount - }); - } - if (count > expectedCount) { - this.throwError("too many arguments" + message, Logger2.errors.UNEXPECTED_ARGUMENT, { - count, - expectedCount - }); - } - }; - Logger2.prototype.checkNew = function(target, kind) { - if (target === Object || target == null) { - this.throwError("missing new", Logger2.errors.MISSING_NEW, { name: kind.name }); - } - }; - Logger2.prototype.checkAbstract = function(target, kind) { - if (target === kind) { - this.throwError("cannot instantiate abstract class " + JSON.stringify(kind.name) + " directly; use a sub-class", Logger2.errors.UNSUPPORTED_OPERATION, { name: target.name, operation: "new" }); - } else if (target === Object || target == null) { - this.throwError("missing new", Logger2.errors.MISSING_NEW, { name: kind.name }); - } - }; - Logger2.globalLogger = function() { - if (!_globalLogger) { - _globalLogger = new Logger2(_version_1.version); - } - return _globalLogger; - }; - Logger2.setCensorship = function(censorship, permanent) { - if (!censorship && permanent) { - this.globalLogger().throwError("cannot permanently disable censorship", Logger2.errors.UNSUPPORTED_OPERATION, { - operation: "setCensorship" - }); - } - if (_permanentCensorErrors) { - if (!censorship) { - return; - } - this.globalLogger().throwError("error censorship permanent", Logger2.errors.UNSUPPORTED_OPERATION, { - operation: "setCensorship" - }); - } - _censorErrors = !!censorship; - _permanentCensorErrors = !!permanent; - }; - Logger2.setLogLevel = function(logLevel) { - var level = LogLevels[logLevel.toLowerCase()]; - if (level == null) { - Logger2.globalLogger().warn("invalid log level - " + logLevel); - return; - } - _logLevel = level; - }; - Logger2.from = function(version) { - return new Logger2(version); - }; - Logger2.errors = ErrorCode; - Logger2.levels = LogLevel; - return Logger2; - }() - ); - exports2.Logger = Logger; - } -}); - -// node_modules/@ethersproject/bytes/lib/_version.js -var require_version2 = __commonJS({ - "node_modules/@ethersproject/bytes/lib/_version.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.version = void 0; - exports2.version = "bytes/5.7.0"; - } -}); - -// node_modules/@ethersproject/bytes/lib/index.js -var require_lib2 = __commonJS({ - "node_modules/@ethersproject/bytes/lib/index.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.joinSignature = exports2.splitSignature = exports2.hexZeroPad = exports2.hexStripZeros = exports2.hexValue = exports2.hexConcat = exports2.hexDataSlice = exports2.hexDataLength = exports2.hexlify = exports2.isHexString = exports2.zeroPad = exports2.stripZeros = exports2.concat = exports2.arrayify = exports2.isBytes = exports2.isBytesLike = void 0; - var logger_1 = require_lib(); - var _version_1 = require_version2(); - var logger = new logger_1.Logger(_version_1.version); - function isHexable(value) { - return !!value.toHexString; - } - function addSlice(array) { - if (array.slice) { - return array; - } - array.slice = function() { - var args = Array.prototype.slice.call(arguments); - return addSlice(new Uint8Array(Array.prototype.slice.apply(array, args))); - }; - return array; - } - function isBytesLike(value) { - return isHexString(value) && !(value.length % 2) || isBytes(value); - } - exports2.isBytesLike = isBytesLike; - function isInteger(value) { - return typeof value === "number" && value == value && value % 1 === 0; - } - function isBytes(value) { - if (value == null) { - return false; - } - if (value.constructor === Uint8Array) { - return true; - } - if (typeof value === "string") { - return false; - } - if (!isInteger(value.length) || value.length < 0) { - return false; - } - for (var i = 0; i < value.length; i++) { - var v = value[i]; - if (!isInteger(v) || v < 0 || v >= 256) { - return false; - } - } - return true; - } - exports2.isBytes = isBytes; - function arrayify(value, options) { - if (!options) { - options = {}; - } - if (typeof value === "number") { - logger.checkSafeUint53(value, "invalid arrayify value"); - var result = []; - while (value) { - result.unshift(value & 255); - value = parseInt(String(value / 256)); - } - if (result.length === 0) { - result.push(0); - } - return addSlice(new Uint8Array(result)); - } - if (options.allowMissingPrefix && typeof value === "string" && value.substring(0, 2) !== "0x") { - value = "0x" + value; - } - if (isHexable(value)) { - value = value.toHexString(); - } - if (isHexString(value)) { - var hex = value.substring(2); - if (hex.length % 2) { - if (options.hexPad === "left") { - hex = "0" + hex; - } else if (options.hexPad === "right") { - hex += "0"; - } else { - logger.throwArgumentError("hex data is odd-length", "value", value); - } - } - var result = []; - for (var i = 0; i < hex.length; i += 2) { - result.push(parseInt(hex.substring(i, i + 2), 16)); - } - return addSlice(new Uint8Array(result)); - } - if (isBytes(value)) { - return addSlice(new Uint8Array(value)); - } - return logger.throwArgumentError("invalid arrayify value", "value", value); - } - exports2.arrayify = arrayify; - function concat(items) { - var objects = items.map(function(item) { - return arrayify(item); - }); - var length = objects.reduce(function(accum, item) { - return accum + item.length; - }, 0); - var result = new Uint8Array(length); - objects.reduce(function(offset, object) { - result.set(object, offset); - return offset + object.length; - }, 0); - return addSlice(result); - } - exports2.concat = concat; - function stripZeros(value) { - var result = arrayify(value); - if (result.length === 0) { - return result; - } - var start = 0; - while (start < result.length && result[start] === 0) { - start++; - } - if (start) { - result = result.slice(start); - } - return result; - } - exports2.stripZeros = stripZeros; - function zeroPad(value, length) { - value = arrayify(value); - if (value.length > length) { - logger.throwArgumentError("value out of range", "value", arguments[0]); - } - var result = new Uint8Array(length); - result.set(value, length - value.length); - return addSlice(result); - } - exports2.zeroPad = zeroPad; - function isHexString(value, length) { - if (typeof value !== "string" || !value.match(/^0x[0-9A-Fa-f]*$/)) { - return false; - } - if (length && value.length !== 2 + 2 * length) { - return false; - } - return true; - } - exports2.isHexString = isHexString; - var HexCharacters = "0123456789abcdef"; - function hexlify(value, options) { - if (!options) { - options = {}; - } - if (typeof value === "number") { - logger.checkSafeUint53(value, "invalid hexlify value"); - var hex = ""; - while (value) { - hex = HexCharacters[value & 15] + hex; - value = Math.floor(value / 16); - } - if (hex.length) { - if (hex.length % 2) { - hex = "0" + hex; - } - return "0x" + hex; - } - return "0x00"; - } - if (typeof value === "bigint") { - value = value.toString(16); - if (value.length % 2) { - return "0x0" + value; - } - return "0x" + value; - } - if (options.allowMissingPrefix && typeof value === "string" && value.substring(0, 2) !== "0x") { - value = "0x" + value; - } - if (isHexable(value)) { - return value.toHexString(); - } - if (isHexString(value)) { - if (value.length % 2) { - if (options.hexPad === "left") { - value = "0x0" + value.substring(2); - } else if (options.hexPad === "right") { - value += "0"; - } else { - logger.throwArgumentError("hex data is odd-length", "value", value); - } - } - return value.toLowerCase(); - } - if (isBytes(value)) { - var result = "0x"; - for (var i = 0; i < value.length; i++) { - var v = value[i]; - result += HexCharacters[(v & 240) >> 4] + HexCharacters[v & 15]; - } - return result; - } - return logger.throwArgumentError("invalid hexlify value", "value", value); - } - exports2.hexlify = hexlify; - function hexDataLength(data) { - if (typeof data !== "string") { - data = hexlify(data); - } else if (!isHexString(data) || data.length % 2) { - return null; - } - return (data.length - 2) / 2; - } - exports2.hexDataLength = hexDataLength; - function hexDataSlice(data, offset, endOffset) { - if (typeof data !== "string") { - data = hexlify(data); - } else if (!isHexString(data) || data.length % 2) { - logger.throwArgumentError("invalid hexData", "value", data); - } - offset = 2 + 2 * offset; - if (endOffset != null) { - return "0x" + data.substring(offset, 2 + 2 * endOffset); - } - return "0x" + data.substring(offset); - } - exports2.hexDataSlice = hexDataSlice; - function hexConcat(items) { - var result = "0x"; - items.forEach(function(item) { - result += hexlify(item).substring(2); - }); - return result; - } - exports2.hexConcat = hexConcat; - function hexValue(value) { - var trimmed = hexStripZeros(hexlify(value, { hexPad: "left" })); - if (trimmed === "0x") { - return "0x0"; - } - return trimmed; - } - exports2.hexValue = hexValue; - function hexStripZeros(value) { - if (typeof value !== "string") { - value = hexlify(value); - } - if (!isHexString(value)) { - logger.throwArgumentError("invalid hex string", "value", value); - } - value = value.substring(2); - var offset = 0; - while (offset < value.length && value[offset] === "0") { - offset++; - } - return "0x" + value.substring(offset); - } - exports2.hexStripZeros = hexStripZeros; - function hexZeroPad(value, length) { - if (typeof value !== "string") { - value = hexlify(value); - } else if (!isHexString(value)) { - logger.throwArgumentError("invalid hex string", "value", value); - } - if (value.length > 2 * length + 2) { - logger.throwArgumentError("value out of range", "value", arguments[1]); - } - while (value.length < 2 * length + 2) { - value = "0x0" + value.substring(2); - } - return value; - } - exports2.hexZeroPad = hexZeroPad; - function splitSignature(signature) { - var result = { - r: "0x", - s: "0x", - _vs: "0x", - recoveryParam: 0, - v: 0, - yParityAndS: "0x", - compact: "0x" - }; - if (isBytesLike(signature)) { - var bytes = arrayify(signature); - if (bytes.length === 64) { - result.v = 27 + (bytes[32] >> 7); - bytes[32] &= 127; - result.r = hexlify(bytes.slice(0, 32)); - result.s = hexlify(bytes.slice(32, 64)); - } else if (bytes.length === 65) { - result.r = hexlify(bytes.slice(0, 32)); - result.s = hexlify(bytes.slice(32, 64)); - result.v = bytes[64]; - } else { - logger.throwArgumentError("invalid signature string", "signature", signature); - } - if (result.v < 27) { - if (result.v === 0 || result.v === 1) { - result.v += 27; - } else { - logger.throwArgumentError("signature invalid v byte", "signature", signature); - } - } - result.recoveryParam = 1 - result.v % 2; - if (result.recoveryParam) { - bytes[32] |= 128; - } - result._vs = hexlify(bytes.slice(32, 64)); - } else { - result.r = signature.r; - result.s = signature.s; - result.v = signature.v; - result.recoveryParam = signature.recoveryParam; - result._vs = signature._vs; - if (result._vs != null) { - var vs_1 = zeroPad(arrayify(result._vs), 32); - result._vs = hexlify(vs_1); - var recoveryParam = vs_1[0] >= 128 ? 1 : 0; - if (result.recoveryParam == null) { - result.recoveryParam = recoveryParam; - } else if (result.recoveryParam !== recoveryParam) { - logger.throwArgumentError("signature recoveryParam mismatch _vs", "signature", signature); - } - vs_1[0] &= 127; - var s = hexlify(vs_1); - if (result.s == null) { - result.s = s; - } else if (result.s !== s) { - logger.throwArgumentError("signature v mismatch _vs", "signature", signature); - } - } - if (result.recoveryParam == null) { - if (result.v == null) { - logger.throwArgumentError("signature missing v and recoveryParam", "signature", signature); - } else if (result.v === 0 || result.v === 1) { - result.recoveryParam = result.v; - } else { - result.recoveryParam = 1 - result.v % 2; - } - } else { - if (result.v == null) { - result.v = 27 + result.recoveryParam; - } else { - var recId = result.v === 0 || result.v === 1 ? result.v : 1 - result.v % 2; - if (result.recoveryParam !== recId) { - logger.throwArgumentError("signature recoveryParam mismatch v", "signature", signature); - } - } - } - if (result.r == null || !isHexString(result.r)) { - logger.throwArgumentError("signature missing or invalid r", "signature", signature); - } else { - result.r = hexZeroPad(result.r, 32); - } - if (result.s == null || !isHexString(result.s)) { - logger.throwArgumentError("signature missing or invalid s", "signature", signature); - } else { - result.s = hexZeroPad(result.s, 32); - } - var vs = arrayify(result.s); - if (vs[0] >= 128) { - logger.throwArgumentError("signature s out of range", "signature", signature); - } - if (result.recoveryParam) { - vs[0] |= 128; - } - var _vs = hexlify(vs); - if (result._vs) { - if (!isHexString(result._vs)) { - logger.throwArgumentError("signature invalid _vs", "signature", signature); - } - result._vs = hexZeroPad(result._vs, 32); - } - if (result._vs == null) { - result._vs = _vs; - } else if (result._vs !== _vs) { - logger.throwArgumentError("signature _vs mismatch v and s", "signature", signature); - } - } - result.yParityAndS = result._vs; - result.compact = result.r + result.yParityAndS.substring(2); - return result; - } - exports2.splitSignature = splitSignature; - function joinSignature(signature) { - signature = splitSignature(signature); - return hexlify(concat([ - signature.r, - signature.s, - signature.recoveryParam ? "0x1c" : "0x1b" - ])); - } - exports2.joinSignature = joinSignature; - } -}); - -// node_modules/@ethersproject/bignumber/lib/_version.js -var require_version3 = __commonJS({ - "node_modules/@ethersproject/bignumber/lib/_version.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.version = void 0; - exports2.version = "bignumber/5.7.0"; - } -}); - -// node_modules/@ethersproject/bignumber/lib/bignumber.js -var require_bignumber = __commonJS({ - "node_modules/@ethersproject/bignumber/lib/bignumber.js"(exports2) { - "use strict"; - var __importDefault = exports2 && exports2.__importDefault || function(mod) { - return mod && mod.__esModule ? mod : { "default": mod }; - }; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2._base16To36 = exports2._base36To16 = exports2.BigNumber = exports2.isBigNumberish = void 0; - var bn_js_1 = __importDefault(require_bn()); - var BN = bn_js_1.default.BN; - var bytes_1 = require_lib2(); - var logger_1 = require_lib(); - var _version_1 = require_version3(); - var logger = new logger_1.Logger(_version_1.version); - var _constructorGuard = {}; - var MAX_SAFE = 9007199254740991; - function isBigNumberish(value) { - return value != null && (BigNumber.isBigNumber(value) || typeof value === "number" && value % 1 === 0 || typeof value === "string" && !!value.match(/^-?[0-9]+$/) || (0, bytes_1.isHexString)(value) || typeof value === "bigint" || (0, bytes_1.isBytes)(value)); - } - exports2.isBigNumberish = isBigNumberish; - var _warnedToStringRadix = false; - var BigNumber = ( - /** @class */ - function() { - function BigNumber2(constructorGuard, hex) { - if (constructorGuard !== _constructorGuard) { - logger.throwError("cannot call constructor directly; use BigNumber.from", logger_1.Logger.errors.UNSUPPORTED_OPERATION, { - operation: "new (BigNumber)" - }); - } - this._hex = hex; - this._isBigNumber = true; - Object.freeze(this); - } - BigNumber2.prototype.fromTwos = function(value) { - return toBigNumber(toBN(this).fromTwos(value)); - }; - BigNumber2.prototype.toTwos = function(value) { - return toBigNumber(toBN(this).toTwos(value)); - }; - BigNumber2.prototype.abs = function() { - if (this._hex[0] === "-") { - return BigNumber2.from(this._hex.substring(1)); - } - return this; - }; - BigNumber2.prototype.add = function(other) { - return toBigNumber(toBN(this).add(toBN(other))); - }; - BigNumber2.prototype.sub = function(other) { - return toBigNumber(toBN(this).sub(toBN(other))); - }; - BigNumber2.prototype.div = function(other) { - var o = BigNumber2.from(other); - if (o.isZero()) { - throwFault("division-by-zero", "div"); - } - return toBigNumber(toBN(this).div(toBN(other))); - }; - BigNumber2.prototype.mul = function(other) { - return toBigNumber(toBN(this).mul(toBN(other))); - }; - BigNumber2.prototype.mod = function(other) { - var value = toBN(other); - if (value.isNeg()) { - throwFault("division-by-zero", "mod"); - } - return toBigNumber(toBN(this).umod(value)); - }; - BigNumber2.prototype.pow = function(other) { - var value = toBN(other); - if (value.isNeg()) { - throwFault("negative-power", "pow"); - } - return toBigNumber(toBN(this).pow(value)); - }; - BigNumber2.prototype.and = function(other) { - var value = toBN(other); - if (this.isNegative() || value.isNeg()) { - throwFault("unbound-bitwise-result", "and"); - } - return toBigNumber(toBN(this).and(value)); - }; - BigNumber2.prototype.or = function(other) { - var value = toBN(other); - if (this.isNegative() || value.isNeg()) { - throwFault("unbound-bitwise-result", "or"); - } - return toBigNumber(toBN(this).or(value)); - }; - BigNumber2.prototype.xor = function(other) { - var value = toBN(other); - if (this.isNegative() || value.isNeg()) { - throwFault("unbound-bitwise-result", "xor"); - } - return toBigNumber(toBN(this).xor(value)); - }; - BigNumber2.prototype.mask = function(value) { - if (this.isNegative() || value < 0) { - throwFault("negative-width", "mask"); - } - return toBigNumber(toBN(this).maskn(value)); - }; - BigNumber2.prototype.shl = function(value) { - if (this.isNegative() || value < 0) { - throwFault("negative-width", "shl"); - } - return toBigNumber(toBN(this).shln(value)); - }; - BigNumber2.prototype.shr = function(value) { - if (this.isNegative() || value < 0) { - throwFault("negative-width", "shr"); - } - return toBigNumber(toBN(this).shrn(value)); - }; - BigNumber2.prototype.eq = function(other) { - return toBN(this).eq(toBN(other)); - }; - BigNumber2.prototype.lt = function(other) { - return toBN(this).lt(toBN(other)); - }; - BigNumber2.prototype.lte = function(other) { - return toBN(this).lte(toBN(other)); - }; - BigNumber2.prototype.gt = function(other) { - return toBN(this).gt(toBN(other)); - }; - BigNumber2.prototype.gte = function(other) { - return toBN(this).gte(toBN(other)); - }; - BigNumber2.prototype.isNegative = function() { - return this._hex[0] === "-"; - }; - BigNumber2.prototype.isZero = function() { - return toBN(this).isZero(); - }; - BigNumber2.prototype.toNumber = function() { - try { - return toBN(this).toNumber(); - } catch (error) { - throwFault("overflow", "toNumber", this.toString()); - } - return null; - }; - BigNumber2.prototype.toBigInt = function() { - try { - return BigInt(this.toString()); - } catch (e) { - } - return logger.throwError("this platform does not support BigInt", logger_1.Logger.errors.UNSUPPORTED_OPERATION, { - value: this.toString() - }); - }; - BigNumber2.prototype.toString = function() { - if (arguments.length > 0) { - if (arguments[0] === 10) { - if (!_warnedToStringRadix) { - _warnedToStringRadix = true; - logger.warn("BigNumber.toString does not accept any parameters; base-10 is assumed"); - } - } else if (arguments[0] === 16) { - logger.throwError("BigNumber.toString does not accept any parameters; use bigNumber.toHexString()", logger_1.Logger.errors.UNEXPECTED_ARGUMENT, {}); - } else { - logger.throwError("BigNumber.toString does not accept parameters", logger_1.Logger.errors.UNEXPECTED_ARGUMENT, {}); - } - } - return toBN(this).toString(10); - }; - BigNumber2.prototype.toHexString = function() { - return this._hex; - }; - BigNumber2.prototype.toJSON = function(key) { - return { type: "BigNumber", hex: this.toHexString() }; - }; - BigNumber2.from = function(value) { - if (value instanceof BigNumber2) { - return value; - } - if (typeof value === "string") { - if (value.match(/^-?0x[0-9a-f]+$/i)) { - return new BigNumber2(_constructorGuard, toHex(value)); - } - if (value.match(/^-?[0-9]+$/)) { - return new BigNumber2(_constructorGuard, toHex(new BN(value))); - } - return logger.throwArgumentError("invalid BigNumber string", "value", value); - } - if (typeof value === "number") { - if (value % 1) { - throwFault("underflow", "BigNumber.from", value); - } - if (value >= MAX_SAFE || value <= -MAX_SAFE) { - throwFault("overflow", "BigNumber.from", value); - } - return BigNumber2.from(String(value)); - } - var anyValue = value; - if (typeof anyValue === "bigint") { - return BigNumber2.from(anyValue.toString()); - } - if ((0, bytes_1.isBytes)(anyValue)) { - return BigNumber2.from((0, bytes_1.hexlify)(anyValue)); - } - if (anyValue) { - if (anyValue.toHexString) { - var hex = anyValue.toHexString(); - if (typeof hex === "string") { - return BigNumber2.from(hex); - } - } else { - var hex = anyValue._hex; - if (hex == null && anyValue.type === "BigNumber") { - hex = anyValue.hex; - } - if (typeof hex === "string") { - if ((0, bytes_1.isHexString)(hex) || hex[0] === "-" && (0, bytes_1.isHexString)(hex.substring(1))) { - return BigNumber2.from(hex); - } - } - } - } - return logger.throwArgumentError("invalid BigNumber value", "value", value); - }; - BigNumber2.isBigNumber = function(value) { - return !!(value && value._isBigNumber); - }; - return BigNumber2; - }() - ); - exports2.BigNumber = BigNumber; - function toHex(value) { - if (typeof value !== "string") { - return toHex(value.toString(16)); - } - if (value[0] === "-") { - value = value.substring(1); - if (value[0] === "-") { - logger.throwArgumentError("invalid hex", "value", value); - } - value = toHex(value); - if (value === "0x00") { - return value; - } - return "-" + value; - } - if (value.substring(0, 2) !== "0x") { - value = "0x" + value; - } - if (value === "0x") { - return "0x00"; - } - if (value.length % 2) { - value = "0x0" + value.substring(2); - } - while (value.length > 4 && value.substring(0, 4) === "0x00") { - value = "0x" + value.substring(4); - } - return value; - } - function toBigNumber(value) { - return BigNumber.from(toHex(value)); - } - function toBN(value) { - var hex = BigNumber.from(value).toHexString(); - if (hex[0] === "-") { - return new BN("-" + hex.substring(3), 16); - } - return new BN(hex.substring(2), 16); - } - function throwFault(fault, operation, value) { - var params = { fault, operation }; - if (value != null) { - params.value = value; - } - return logger.throwError(fault, logger_1.Logger.errors.NUMERIC_FAULT, params); - } - function _base36To16(value) { - return new BN(value, 36).toString(16); - } - exports2._base36To16 = _base36To16; - function _base16To36(value) { - return new BN(value, 16).toString(36); - } - exports2._base16To36 = _base16To36; - } -}); - -// node_modules/@ethersproject/bignumber/lib/fixednumber.js -var require_fixednumber = __commonJS({ - "node_modules/@ethersproject/bignumber/lib/fixednumber.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.FixedNumber = exports2.FixedFormat = exports2.parseFixed = exports2.formatFixed = void 0; - var bytes_1 = require_lib2(); - var logger_1 = require_lib(); - var _version_1 = require_version3(); - var logger = new logger_1.Logger(_version_1.version); - var bignumber_1 = require_bignumber(); - var _constructorGuard = {}; - var Zero = bignumber_1.BigNumber.from(0); - var NegativeOne = bignumber_1.BigNumber.from(-1); - function throwFault(message, fault, operation, value) { - var params = { fault, operation }; - if (value !== void 0) { - params.value = value; - } - return logger.throwError(message, logger_1.Logger.errors.NUMERIC_FAULT, params); - } - var zeros = "0"; - while (zeros.length < 256) { - zeros += zeros; - } - function getMultiplier(decimals) { - if (typeof decimals !== "number") { - try { - decimals = bignumber_1.BigNumber.from(decimals).toNumber(); - } catch (e) { - } - } - if (typeof decimals === "number" && decimals >= 0 && decimals <= 256 && !(decimals % 1)) { - return "1" + zeros.substring(0, decimals); - } - return logger.throwArgumentError("invalid decimal size", "decimals", decimals); - } - function formatFixed(value, decimals) { - if (decimals == null) { - decimals = 0; - } - var multiplier = getMultiplier(decimals); - value = bignumber_1.BigNumber.from(value); - var negative = value.lt(Zero); - if (negative) { - value = value.mul(NegativeOne); - } - var fraction = value.mod(multiplier).toString(); - while (fraction.length < multiplier.length - 1) { - fraction = "0" + fraction; - } - fraction = fraction.match(/^([0-9]*[1-9]|0)(0*)/)[1]; - var whole = value.div(multiplier).toString(); - if (multiplier.length === 1) { - value = whole; - } else { - value = whole + "." + fraction; - } - if (negative) { - value = "-" + value; - } - return value; - } - exports2.formatFixed = formatFixed; - function parseFixed(value, decimals) { - if (decimals == null) { - decimals = 0; - } - var multiplier = getMultiplier(decimals); - if (typeof value !== "string" || !value.match(/^-?[0-9.]+$/)) { - logger.throwArgumentError("invalid decimal value", "value", value); - } - var negative = value.substring(0, 1) === "-"; - if (negative) { - value = value.substring(1); - } - if (value === ".") { - logger.throwArgumentError("missing value", "value", value); - } - var comps = value.split("."); - if (comps.length > 2) { - logger.throwArgumentError("too many decimal points", "value", value); - } - var whole = comps[0], fraction = comps[1]; - if (!whole) { - whole = "0"; - } - if (!fraction) { - fraction = "0"; - } - while (fraction[fraction.length - 1] === "0") { - fraction = fraction.substring(0, fraction.length - 1); - } - if (fraction.length > multiplier.length - 1) { - throwFault("fractional component exceeds decimals", "underflow", "parseFixed"); - } - if (fraction === "") { - fraction = "0"; - } - while (fraction.length < multiplier.length - 1) { - fraction += "0"; - } - var wholeValue = bignumber_1.BigNumber.from(whole); - var fractionValue = bignumber_1.BigNumber.from(fraction); - var wei = wholeValue.mul(multiplier).add(fractionValue); - if (negative) { - wei = wei.mul(NegativeOne); - } - return wei; - } - exports2.parseFixed = parseFixed; - var FixedFormat = ( - /** @class */ - function() { - function FixedFormat2(constructorGuard, signed, width, decimals) { - if (constructorGuard !== _constructorGuard) { - logger.throwError("cannot use FixedFormat constructor; use FixedFormat.from", logger_1.Logger.errors.UNSUPPORTED_OPERATION, { - operation: "new FixedFormat" - }); - } - this.signed = signed; - this.width = width; - this.decimals = decimals; - this.name = (signed ? "" : "u") + "fixed" + String(width) + "x" + String(decimals); - this._multiplier = getMultiplier(decimals); - Object.freeze(this); - } - FixedFormat2.from = function(value) { - if (value instanceof FixedFormat2) { - return value; - } - if (typeof value === "number") { - value = "fixed128x" + value; - } - var signed = true; - var width = 128; - var decimals = 18; - if (typeof value === "string") { - if (value === "fixed") { - } else if (value === "ufixed") { - signed = false; - } else { - var match = value.match(/^(u?)fixed([0-9]+)x([0-9]+)$/); - if (!match) { - logger.throwArgumentError("invalid fixed format", "format", value); - } - signed = match[1] !== "u"; - width = parseInt(match[2]); - decimals = parseInt(match[3]); - } - } else if (value) { - var check = function(key, type, defaultValue) { - if (value[key] == null) { - return defaultValue; - } - if (typeof value[key] !== type) { - logger.throwArgumentError("invalid fixed format (" + key + " not " + type + ")", "format." + key, value[key]); - } - return value[key]; - }; - signed = check("signed", "boolean", signed); - width = check("width", "number", width); - decimals = check("decimals", "number", decimals); - } - if (width % 8) { - logger.throwArgumentError("invalid fixed format width (not byte aligned)", "format.width", width); - } - if (decimals > 80) { - logger.throwArgumentError("invalid fixed format (decimals too large)", "format.decimals", decimals); - } - return new FixedFormat2(_constructorGuard, signed, width, decimals); - }; - return FixedFormat2; - }() - ); - exports2.FixedFormat = FixedFormat; - var FixedNumber = ( - /** @class */ - function() { - function FixedNumber2(constructorGuard, hex, value, format) { - if (constructorGuard !== _constructorGuard) { - logger.throwError("cannot use FixedNumber constructor; use FixedNumber.from", logger_1.Logger.errors.UNSUPPORTED_OPERATION, { - operation: "new FixedFormat" - }); - } - this.format = format; - this._hex = hex; - this._value = value; - this._isFixedNumber = true; - Object.freeze(this); - } - FixedNumber2.prototype._checkFormat = function(other) { - if (this.format.name !== other.format.name) { - logger.throwArgumentError("incompatible format; use fixedNumber.toFormat", "other", other); - } - }; - FixedNumber2.prototype.addUnsafe = function(other) { - this._checkFormat(other); - var a = parseFixed(this._value, this.format.decimals); - var b = parseFixed(other._value, other.format.decimals); - return FixedNumber2.fromValue(a.add(b), this.format.decimals, this.format); - }; - FixedNumber2.prototype.subUnsafe = function(other) { - this._checkFormat(other); - var a = parseFixed(this._value, this.format.decimals); - var b = parseFixed(other._value, other.format.decimals); - return FixedNumber2.fromValue(a.sub(b), this.format.decimals, this.format); - }; - FixedNumber2.prototype.mulUnsafe = function(other) { - this._checkFormat(other); - var a = parseFixed(this._value, this.format.decimals); - var b = parseFixed(other._value, other.format.decimals); - return FixedNumber2.fromValue(a.mul(b).div(this.format._multiplier), this.format.decimals, this.format); - }; - FixedNumber2.prototype.divUnsafe = function(other) { - this._checkFormat(other); - var a = parseFixed(this._value, this.format.decimals); - var b = parseFixed(other._value, other.format.decimals); - return FixedNumber2.fromValue(a.mul(this.format._multiplier).div(b), this.format.decimals, this.format); - }; - FixedNumber2.prototype.floor = function() { - var comps = this.toString().split("."); - if (comps.length === 1) { - comps.push("0"); - } - var result = FixedNumber2.from(comps[0], this.format); - var hasFraction = !comps[1].match(/^(0*)$/); - if (this.isNegative() && hasFraction) { - result = result.subUnsafe(ONE.toFormat(result.format)); - } - return result; - }; - FixedNumber2.prototype.ceiling = function() { - var comps = this.toString().split("."); - if (comps.length === 1) { - comps.push("0"); - } - var result = FixedNumber2.from(comps[0], this.format); - var hasFraction = !comps[1].match(/^(0*)$/); - if (!this.isNegative() && hasFraction) { - result = result.addUnsafe(ONE.toFormat(result.format)); - } - return result; - }; - FixedNumber2.prototype.round = function(decimals) { - if (decimals == null) { - decimals = 0; - } - var comps = this.toString().split("."); - if (comps.length === 1) { - comps.push("0"); - } - if (decimals < 0 || decimals > 80 || decimals % 1) { - logger.throwArgumentError("invalid decimal count", "decimals", decimals); - } - if (comps[1].length <= decimals) { - return this; - } - var factor = FixedNumber2.from("1" + zeros.substring(0, decimals), this.format); - var bump = BUMP.toFormat(this.format); - return this.mulUnsafe(factor).addUnsafe(bump).floor().divUnsafe(factor); - }; - FixedNumber2.prototype.isZero = function() { - return this._value === "0.0" || this._value === "0"; - }; - FixedNumber2.prototype.isNegative = function() { - return this._value[0] === "-"; - }; - FixedNumber2.prototype.toString = function() { - return this._value; - }; - FixedNumber2.prototype.toHexString = function(width) { - if (width == null) { - return this._hex; - } - if (width % 8) { - logger.throwArgumentError("invalid byte width", "width", width); - } - var hex = bignumber_1.BigNumber.from(this._hex).fromTwos(this.format.width).toTwos(width).toHexString(); - return (0, bytes_1.hexZeroPad)(hex, width / 8); - }; - FixedNumber2.prototype.toUnsafeFloat = function() { - return parseFloat(this.toString()); - }; - FixedNumber2.prototype.toFormat = function(format) { - return FixedNumber2.fromString(this._value, format); - }; - FixedNumber2.fromValue = function(value, decimals, format) { - if (format == null && decimals != null && !(0, bignumber_1.isBigNumberish)(decimals)) { - format = decimals; - decimals = null; - } - if (decimals == null) { - decimals = 0; - } - if (format == null) { - format = "fixed"; - } - return FixedNumber2.fromString(formatFixed(value, decimals), FixedFormat.from(format)); - }; - FixedNumber2.fromString = function(value, format) { - if (format == null) { - format = "fixed"; - } - var fixedFormat = FixedFormat.from(format); - var numeric = parseFixed(value, fixedFormat.decimals); - if (!fixedFormat.signed && numeric.lt(Zero)) { - throwFault("unsigned value cannot be negative", "overflow", "value", value); - } - var hex = null; - if (fixedFormat.signed) { - hex = numeric.toTwos(fixedFormat.width).toHexString(); - } else { - hex = numeric.toHexString(); - hex = (0, bytes_1.hexZeroPad)(hex, fixedFormat.width / 8); - } - var decimal = formatFixed(numeric, fixedFormat.decimals); - return new FixedNumber2(_constructorGuard, hex, decimal, fixedFormat); - }; - FixedNumber2.fromBytes = function(value, format) { - if (format == null) { - format = "fixed"; - } - var fixedFormat = FixedFormat.from(format); - if ((0, bytes_1.arrayify)(value).length > fixedFormat.width / 8) { - throw new Error("overflow"); - } - var numeric = bignumber_1.BigNumber.from(value); - if (fixedFormat.signed) { - numeric = numeric.fromTwos(fixedFormat.width); - } - var hex = numeric.toTwos((fixedFormat.signed ? 0 : 1) + fixedFormat.width).toHexString(); - var decimal = formatFixed(numeric, fixedFormat.decimals); - return new FixedNumber2(_constructorGuard, hex, decimal, fixedFormat); - }; - FixedNumber2.from = function(value, format) { - if (typeof value === "string") { - return FixedNumber2.fromString(value, format); - } - if ((0, bytes_1.isBytes)(value)) { - return FixedNumber2.fromBytes(value, format); - } - try { - return FixedNumber2.fromValue(value, 0, format); - } catch (error) { - if (error.code !== logger_1.Logger.errors.INVALID_ARGUMENT) { - throw error; - } - } - return logger.throwArgumentError("invalid FixedNumber value", "value", value); - }; - FixedNumber2.isFixedNumber = function(value) { - return !!(value && value._isFixedNumber); - }; - return FixedNumber2; - }() - ); - exports2.FixedNumber = FixedNumber; - var ONE = FixedNumber.from(1); - var BUMP = FixedNumber.from("0.5"); - } -}); - -// node_modules/@ethersproject/bignumber/lib/index.js -var require_lib3 = __commonJS({ - "node_modules/@ethersproject/bignumber/lib/index.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2._base36To16 = exports2._base16To36 = exports2.parseFixed = exports2.FixedNumber = exports2.FixedFormat = exports2.formatFixed = exports2.BigNumber = void 0; - var bignumber_1 = require_bignumber(); - Object.defineProperty(exports2, "BigNumber", { enumerable: true, get: function() { - return bignumber_1.BigNumber; - } }); - var fixednumber_1 = require_fixednumber(); - Object.defineProperty(exports2, "formatFixed", { enumerable: true, get: function() { - return fixednumber_1.formatFixed; - } }); - Object.defineProperty(exports2, "FixedFormat", { enumerable: true, get: function() { - return fixednumber_1.FixedFormat; - } }); - Object.defineProperty(exports2, "FixedNumber", { enumerable: true, get: function() { - return fixednumber_1.FixedNumber; - } }); - Object.defineProperty(exports2, "parseFixed", { enumerable: true, get: function() { - return fixednumber_1.parseFixed; - } }); - var bignumber_2 = require_bignumber(); - Object.defineProperty(exports2, "_base16To36", { enumerable: true, get: function() { - return bignumber_2._base16To36; - } }); - Object.defineProperty(exports2, "_base36To16", { enumerable: true, get: function() { - return bignumber_2._base36To16; - } }); - } -}); - -// node_modules/@ethersproject/properties/lib/_version.js -var require_version4 = __commonJS({ - "node_modules/@ethersproject/properties/lib/_version.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.version = void 0; - exports2.version = "properties/5.7.0"; - } -}); - -// node_modules/@ethersproject/properties/lib/index.js -var require_lib4 = __commonJS({ - "node_modules/@ethersproject/properties/lib/index.js"(exports2) { - "use strict"; - var __awaiter = exports2 && exports2.__awaiter || function(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, reject) { - function fulfilled(value) { - try { - step(generator.next(value)); - } catch (e) { - reject(e); - } - } - function rejected(value) { - try { - step(generator["throw"](value)); - } catch (e) { - reject(e); - } - } - function step(result) { - result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); - } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); - }; - var __generator = exports2 && exports2.__generator || function(thisArg, body) { - var _ = { label: 0, sent: function() { - if (t[0] & 1) - throw t[1]; - return t[1]; - }, trys: [], ops: [] }, f, y, t, g; - return g = { next: verb(0), "throw": verb(1), "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 (_) - 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 }; - } - }; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.Description = exports2.deepCopy = exports2.shallowCopy = exports2.checkProperties = exports2.resolveProperties = exports2.getStatic = exports2.defineReadOnly = void 0; - var logger_1 = require_lib(); - var _version_1 = require_version4(); - var logger = new logger_1.Logger(_version_1.version); - function defineReadOnly(object, name, value) { - Object.defineProperty(object, name, { - enumerable: true, - value, - writable: false - }); - } - exports2.defineReadOnly = defineReadOnly; - function getStatic(ctor, key) { - for (var i = 0; i < 32; i++) { - if (ctor[key]) { - return ctor[key]; - } - if (!ctor.prototype || typeof ctor.prototype !== "object") { - break; - } - ctor = Object.getPrototypeOf(ctor.prototype).constructor; - } - return null; - } - exports2.getStatic = getStatic; - function resolveProperties(object) { - return __awaiter(this, void 0, void 0, function() { - var promises, results; - return __generator(this, function(_a) { - switch (_a.label) { - case 0: - promises = Object.keys(object).map(function(key) { - var value = object[key]; - return Promise.resolve(value).then(function(v) { - return { key, value: v }; - }); - }); - return [4, Promise.all(promises)]; - case 1: - results = _a.sent(); - return [2, results.reduce(function(accum, result) { - accum[result.key] = result.value; - return accum; - }, {})]; - } - }); - }); - } - exports2.resolveProperties = resolveProperties; - function checkProperties(object, properties) { - if (!object || typeof object !== "object") { - logger.throwArgumentError("invalid object", "object", object); - } - Object.keys(object).forEach(function(key) { - if (!properties[key]) { - logger.throwArgumentError("invalid object key - " + key, "transaction:" + key, object); - } - }); - } - exports2.checkProperties = checkProperties; - function shallowCopy(object) { - var result = {}; - for (var key in object) { - result[key] = object[key]; - } - return result; - } - exports2.shallowCopy = shallowCopy; - var opaque = { bigint: true, boolean: true, "function": true, number: true, string: true }; - function _isFrozen(object) { - if (object === void 0 || object === null || opaque[typeof object]) { - return true; - } - if (Array.isArray(object) || typeof object === "object") { - if (!Object.isFrozen(object)) { - return false; - } - var keys = Object.keys(object); - for (var i = 0; i < keys.length; i++) { - var value = null; - try { - value = object[keys[i]]; - } catch (error) { - continue; - } - if (!_isFrozen(value)) { - return false; - } - } - return true; - } - return logger.throwArgumentError("Cannot deepCopy " + typeof object, "object", object); - } - function _deepCopy(object) { - if (_isFrozen(object)) { - return object; - } - if (Array.isArray(object)) { - return Object.freeze(object.map(function(item) { - return deepCopy(item); - })); - } - if (typeof object === "object") { - var result = {}; - for (var key in object) { - var value = object[key]; - if (value === void 0) { - continue; - } - defineReadOnly(result, key, deepCopy(value)); - } - return result; - } - return logger.throwArgumentError("Cannot deepCopy " + typeof object, "object", object); - } - function deepCopy(object) { - return _deepCopy(object); - } - exports2.deepCopy = deepCopy; - var Description = ( - /** @class */ - /* @__PURE__ */ function() { - function Description2(info) { - for (var key in info) { - this[key] = deepCopy(info[key]); - } - } - return Description2; - }() - ); - exports2.Description = Description; - } -}); - -// node_modules/@ethersproject/abstract-provider/lib/_version.js -var require_version5 = __commonJS({ - "node_modules/@ethersproject/abstract-provider/lib/_version.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.version = void 0; - exports2.version = "abstract-provider/5.7.0"; - } -}); - -// node_modules/@ethersproject/abstract-provider/lib/index.js -var require_lib5 = __commonJS({ - "node_modules/@ethersproject/abstract-provider/lib/index.js"(exports2) { - "use strict"; - var __extends = exports2 && exports2.__extends || /* @__PURE__ */ function() { - var 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); - }; - return function(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 __()); - }; - }(); - var __awaiter = exports2 && exports2.__awaiter || function(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, reject) { - function fulfilled(value) { - try { - step(generator.next(value)); - } catch (e) { - reject(e); - } - } - function rejected(value) { - try { - step(generator["throw"](value)); - } catch (e) { - reject(e); - } - } - function step(result) { - result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); - } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); - }; - var __generator = exports2 && exports2.__generator || function(thisArg, body) { - var _ = { label: 0, sent: function() { - if (t[0] & 1) - throw t[1]; - return t[1]; - }, trys: [], ops: [] }, f, y, t, g; - return g = { next: verb(0), "throw": verb(1), "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 (_) - 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 }; - } - }; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.Provider = exports2.TransactionOrderForkEvent = exports2.TransactionForkEvent = exports2.BlockForkEvent = exports2.ForkEvent = void 0; - var bignumber_1 = require_lib3(); - var bytes_1 = require_lib2(); - var properties_1 = require_lib4(); - var logger_1 = require_lib(); - var _version_1 = require_version5(); - var logger = new logger_1.Logger(_version_1.version); - var ForkEvent = ( - /** @class */ - function(_super) { - __extends(ForkEvent2, _super); - function ForkEvent2() { - return _super !== null && _super.apply(this, arguments) || this; - } - ForkEvent2.isForkEvent = function(value) { - return !!(value && value._isForkEvent); - }; - return ForkEvent2; - }(properties_1.Description) - ); - exports2.ForkEvent = ForkEvent; - var BlockForkEvent = ( - /** @class */ - function(_super) { - __extends(BlockForkEvent2, _super); - function BlockForkEvent2(blockHash, expiry) { - var _this = this; - if (!(0, bytes_1.isHexString)(blockHash, 32)) { - logger.throwArgumentError("invalid blockHash", "blockHash", blockHash); - } - _this = _super.call(this, { - _isForkEvent: true, - _isBlockForkEvent: true, - expiry: expiry || 0, - blockHash - }) || this; - return _this; - } - return BlockForkEvent2; - }(ForkEvent) - ); - exports2.BlockForkEvent = BlockForkEvent; - var TransactionForkEvent = ( - /** @class */ - function(_super) { - __extends(TransactionForkEvent2, _super); - function TransactionForkEvent2(hash, expiry) { - var _this = this; - if (!(0, bytes_1.isHexString)(hash, 32)) { - logger.throwArgumentError("invalid transaction hash", "hash", hash); - } - _this = _super.call(this, { - _isForkEvent: true, - _isTransactionForkEvent: true, - expiry: expiry || 0, - hash - }) || this; - return _this; - } - return TransactionForkEvent2; - }(ForkEvent) - ); - exports2.TransactionForkEvent = TransactionForkEvent; - var TransactionOrderForkEvent = ( - /** @class */ - function(_super) { - __extends(TransactionOrderForkEvent2, _super); - function TransactionOrderForkEvent2(beforeHash, afterHash, expiry) { - var _this = this; - if (!(0, bytes_1.isHexString)(beforeHash, 32)) { - logger.throwArgumentError("invalid transaction hash", "beforeHash", beforeHash); - } - if (!(0, bytes_1.isHexString)(afterHash, 32)) { - logger.throwArgumentError("invalid transaction hash", "afterHash", afterHash); - } - _this = _super.call(this, { - _isForkEvent: true, - _isTransactionOrderForkEvent: true, - expiry: expiry || 0, - beforeHash, - afterHash - }) || this; - return _this; - } - return TransactionOrderForkEvent2; - }(ForkEvent) - ); - exports2.TransactionOrderForkEvent = TransactionOrderForkEvent; - var Provider = ( - /** @class */ - function() { - function Provider2() { - var _newTarget = this.constructor; - logger.checkAbstract(_newTarget, Provider2); - (0, properties_1.defineReadOnly)(this, "_isProvider", true); - } - Provider2.prototype.getFeeData = function() { - return __awaiter(this, void 0, void 0, function() { - var _a, block, gasPrice, lastBaseFeePerGas, maxFeePerGas, maxPriorityFeePerGas; - return __generator(this, function(_b) { - switch (_b.label) { - case 0: - return [4, (0, properties_1.resolveProperties)({ - block: this.getBlock("latest"), - gasPrice: this.getGasPrice().catch(function(error) { - return null; - }) - })]; - case 1: - _a = _b.sent(), block = _a.block, gasPrice = _a.gasPrice; - lastBaseFeePerGas = null, maxFeePerGas = null, maxPriorityFeePerGas = null; - if (block && block.baseFeePerGas) { - lastBaseFeePerGas = block.baseFeePerGas; - maxPriorityFeePerGas = bignumber_1.BigNumber.from("1500000000"); - maxFeePerGas = block.baseFeePerGas.mul(2).add(maxPriorityFeePerGas); - } - return [2, { lastBaseFeePerGas, maxFeePerGas, maxPriorityFeePerGas, gasPrice }]; - } - }); - }); - }; - Provider2.prototype.addListener = function(eventName, listener) { - return this.on(eventName, listener); - }; - Provider2.prototype.removeListener = function(eventName, listener) { - return this.off(eventName, listener); - }; - Provider2.isProvider = function(value) { - return !!(value && value._isProvider); - }; - return Provider2; - }() - ); - exports2.Provider = Provider; - } -}); - -// node_modules/@ethersproject/networks/lib/_version.js -var require_version6 = __commonJS({ - "node_modules/@ethersproject/networks/lib/_version.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.version = void 0; - exports2.version = "networks/5.7.1"; - } -}); - -// node_modules/@ethersproject/networks/lib/index.js -var require_lib6 = __commonJS({ - "node_modules/@ethersproject/networks/lib/index.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.getNetwork = void 0; - var logger_1 = require_lib(); - var _version_1 = require_version6(); - var logger = new logger_1.Logger(_version_1.version); - function isRenetworkable(value) { - return value && typeof value.renetwork === "function"; - } - function ethDefaultProvider(network) { - var func = function(providers, options) { - if (options == null) { - options = {}; - } - var providerList = []; - if (providers.InfuraProvider && options.infura !== "-") { - try { - providerList.push(new providers.InfuraProvider(network, options.infura)); - } catch (error) { - } - } - if (providers.EtherscanProvider && options.etherscan !== "-") { - try { - providerList.push(new providers.EtherscanProvider(network, options.etherscan)); - } catch (error) { - } - } - if (providers.AlchemyProvider && options.alchemy !== "-") { - try { - providerList.push(new providers.AlchemyProvider(network, options.alchemy)); - } catch (error) { - } - } - if (providers.PocketProvider && options.pocket !== "-") { - var skip = ["goerli", "ropsten", "rinkeby", "sepolia"]; - try { - var provider = new providers.PocketProvider(network, options.pocket); - if (provider.network && skip.indexOf(provider.network.name) === -1) { - providerList.push(provider); - } - } catch (error) { - } - } - if (providers.CloudflareProvider && options.cloudflare !== "-") { - try { - providerList.push(new providers.CloudflareProvider(network)); - } catch (error) { - } - } - if (providers.AnkrProvider && options.ankr !== "-") { - try { - var skip = ["ropsten"]; - var provider = new providers.AnkrProvider(network, options.ankr); - if (provider.network && skip.indexOf(provider.network.name) === -1) { - providerList.push(provider); - } - } catch (error) { - } - } - if (providerList.length === 0) { - return null; - } - if (providers.FallbackProvider) { - var quorum = 1; - if (options.quorum != null) { - quorum = options.quorum; - } else if (network === "homestead") { - quorum = 2; - } - return new providers.FallbackProvider(providerList, quorum); - } - return providerList[0]; - }; - func.renetwork = function(network2) { - return ethDefaultProvider(network2); - }; - return func; - } - function etcDefaultProvider(url2, network) { - var func = function(providers, options) { - if (providers.JsonRpcProvider) { - return new providers.JsonRpcProvider(url2, network); - } - return null; - }; - func.renetwork = function(network2) { - return etcDefaultProvider(url2, network2); - }; - return func; - } - var homestead = { - chainId: 1, - ensAddress: "0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e", - name: "homestead", - _defaultProvider: ethDefaultProvider("homestead") - }; - var ropsten = { - chainId: 3, - ensAddress: "0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e", - name: "ropsten", - _defaultProvider: ethDefaultProvider("ropsten") - }; - var classicMordor = { - chainId: 63, - name: "classicMordor", - _defaultProvider: etcDefaultProvider("https://www.ethercluster.com/mordor", "classicMordor") - }; - var networks = { - unspecified: { chainId: 0, name: "unspecified" }, - homestead, - mainnet: homestead, - morden: { chainId: 2, name: "morden" }, - ropsten, - testnet: ropsten, - rinkeby: { - chainId: 4, - ensAddress: "0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e", - name: "rinkeby", - _defaultProvider: ethDefaultProvider("rinkeby") - }, - kovan: { - chainId: 42, - name: "kovan", - _defaultProvider: ethDefaultProvider("kovan") - }, - goerli: { - chainId: 5, - ensAddress: "0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e", - name: "goerli", - _defaultProvider: ethDefaultProvider("goerli") - }, - kintsugi: { chainId: 1337702, name: "kintsugi" }, - sepolia: { - chainId: 11155111, - name: "sepolia", - _defaultProvider: ethDefaultProvider("sepolia") - }, - // ETC (See: #351) - classic: { - chainId: 61, - name: "classic", - _defaultProvider: etcDefaultProvider("https://www.ethercluster.com/etc", "classic") - }, - classicMorden: { chainId: 62, name: "classicMorden" }, - classicMordor, - classicTestnet: classicMordor, - classicKotti: { - chainId: 6, - name: "classicKotti", - _defaultProvider: etcDefaultProvider("https://www.ethercluster.com/kotti", "classicKotti") - }, - xdai: { chainId: 100, name: "xdai" }, - matic: { - chainId: 137, - name: "matic", - _defaultProvider: ethDefaultProvider("matic") - }, - maticmum: { chainId: 80001, name: "maticmum" }, - optimism: { - chainId: 10, - name: "optimism", - _defaultProvider: ethDefaultProvider("optimism") - }, - "optimism-kovan": { chainId: 69, name: "optimism-kovan" }, - "optimism-goerli": { chainId: 420, name: "optimism-goerli" }, - arbitrum: { chainId: 42161, name: "arbitrum" }, - "arbitrum-rinkeby": { chainId: 421611, name: "arbitrum-rinkeby" }, - "arbitrum-goerli": { chainId: 421613, name: "arbitrum-goerli" }, - bnb: { chainId: 56, name: "bnb" }, - bnbt: { chainId: 97, name: "bnbt" } - }; - function getNetwork(network) { - if (network == null) { - return null; - } - if (typeof network === "number") { - for (var name_1 in networks) { - var standard_1 = networks[name_1]; - if (standard_1.chainId === network) { - return { - name: standard_1.name, - chainId: standard_1.chainId, - ensAddress: standard_1.ensAddress || null, - _defaultProvider: standard_1._defaultProvider || null - }; - } - } - return { - chainId: network, - name: "unknown" - }; - } - if (typeof network === "string") { - var standard_2 = networks[network]; - if (standard_2 == null) { - return null; - } - return { - name: standard_2.name, - chainId: standard_2.chainId, - ensAddress: standard_2.ensAddress, - _defaultProvider: standard_2._defaultProvider || null - }; - } - var standard = networks[network.name]; - if (!standard) { - if (typeof network.chainId !== "number") { - logger.throwArgumentError("invalid network chainId", "network", network); - } - return network; - } - if (network.chainId !== 0 && network.chainId !== standard.chainId) { - logger.throwArgumentError("network chainId mismatch", "network", network); - } - var defaultProvider = network._defaultProvider || null; - if (defaultProvider == null && standard._defaultProvider) { - if (isRenetworkable(standard._defaultProvider)) { - defaultProvider = standard._defaultProvider.renetwork(network); - } else { - defaultProvider = standard._defaultProvider; - } - } - return { - name: network.name, - chainId: standard.chainId, - ensAddress: network.ensAddress || standard.ensAddress || null, - _defaultProvider: defaultProvider - }; - } - exports2.getNetwork = getNetwork; - } -}); - -// node_modules/@ethersproject/base64/lib/base64.js -var require_base64 = __commonJS({ - "node_modules/@ethersproject/base64/lib/base64.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.encode = exports2.decode = void 0; - var bytes_1 = require_lib2(); - function decode(textData) { - return (0, bytes_1.arrayify)(new Uint8Array(Buffer.from(textData, "base64"))); - } - exports2.decode = decode; - function encode3(data) { - return Buffer.from((0, bytes_1.arrayify)(data)).toString("base64"); - } - exports2.encode = encode3; - } -}); - -// node_modules/@ethersproject/base64/lib/index.js -var require_lib7 = __commonJS({ - "node_modules/@ethersproject/base64/lib/index.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.encode = exports2.decode = void 0; - var base64_1 = require_base64(); - Object.defineProperty(exports2, "decode", { enumerable: true, get: function() { - return base64_1.decode; - } }); - Object.defineProperty(exports2, "encode", { enumerable: true, get: function() { - return base64_1.encode; - } }); - } -}); - -// node_modules/@ethersproject/basex/lib/index.js -var require_lib8 = __commonJS({ - "node_modules/@ethersproject/basex/lib/index.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.Base58 = exports2.Base32 = exports2.BaseX = void 0; - var bytes_1 = require_lib2(); - var properties_1 = require_lib4(); - var BaseX = ( - /** @class */ - function() { - function BaseX2(alphabet) { - (0, properties_1.defineReadOnly)(this, "alphabet", alphabet); - (0, properties_1.defineReadOnly)(this, "base", alphabet.length); - (0, properties_1.defineReadOnly)(this, "_alphabetMap", {}); - (0, properties_1.defineReadOnly)(this, "_leader", alphabet.charAt(0)); - for (var i = 0; i < alphabet.length; i++) { - this._alphabetMap[alphabet.charAt(i)] = i; - } - } - BaseX2.prototype.encode = function(value) { - var source = (0, bytes_1.arrayify)(value); - if (source.length === 0) { - return ""; - } - var digits = [0]; - for (var i = 0; i < source.length; ++i) { - var carry = source[i]; - for (var j = 0; j < digits.length; ++j) { - carry += digits[j] << 8; - digits[j] = carry % this.base; - carry = carry / this.base | 0; - } - while (carry > 0) { - digits.push(carry % this.base); - carry = carry / this.base | 0; - } - } - var string = ""; - for (var k = 0; source[k] === 0 && k < source.length - 1; ++k) { - string += this._leader; - } - for (var q = digits.length - 1; q >= 0; --q) { - string += this.alphabet[digits[q]]; - } - return string; - }; - BaseX2.prototype.decode = function(value) { - if (typeof value !== "string") { - throw new TypeError("Expected String"); - } - var bytes = []; - if (value.length === 0) { - return new Uint8Array(bytes); - } - bytes.push(0); - for (var i = 0; i < value.length; i++) { - var byte = this._alphabetMap[value[i]]; - if (byte === void 0) { - throw new Error("Non-base" + this.base + " character"); - } - var carry = byte; - for (var j = 0; j < bytes.length; ++j) { - carry += bytes[j] * this.base; - bytes[j] = carry & 255; - carry >>= 8; - } - while (carry > 0) { - bytes.push(carry & 255); - carry >>= 8; - } - } - for (var k = 0; value[k] === this._leader && k < value.length - 1; ++k) { - bytes.push(0); - } - return (0, bytes_1.arrayify)(new Uint8Array(bytes.reverse())); - }; - return BaseX2; - }() - ); - exports2.BaseX = BaseX; - var Base32 = new BaseX("abcdefghijklmnopqrstuvwxyz234567"); - exports2.Base32 = Base32; - var Base58 = new BaseX("123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"); - exports2.Base58 = Base58; - } -}); - -// node_modules/@ethersproject/constants/lib/addresses.js -var require_addresses = __commonJS({ - "node_modules/@ethersproject/constants/lib/addresses.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.AddressZero = void 0; - exports2.AddressZero = "0x0000000000000000000000000000000000000000"; - } -}); - -// node_modules/@ethersproject/constants/lib/bignumbers.js -var require_bignumbers = __commonJS({ - "node_modules/@ethersproject/constants/lib/bignumbers.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.MaxInt256 = exports2.MinInt256 = exports2.MaxUint256 = exports2.WeiPerEther = exports2.Two = exports2.One = exports2.Zero = exports2.NegativeOne = void 0; - var bignumber_1 = require_lib3(); - var NegativeOne = /* @__PURE__ */ bignumber_1.BigNumber.from(-1); - exports2.NegativeOne = NegativeOne; - var Zero = /* @__PURE__ */ bignumber_1.BigNumber.from(0); - exports2.Zero = Zero; - var One = /* @__PURE__ */ bignumber_1.BigNumber.from(1); - exports2.One = One; - var Two = /* @__PURE__ */ bignumber_1.BigNumber.from(2); - exports2.Two = Two; - var WeiPerEther = /* @__PURE__ */ bignumber_1.BigNumber.from("1000000000000000000"); - exports2.WeiPerEther = WeiPerEther; - var MaxUint256 = /* @__PURE__ */ bignumber_1.BigNumber.from("0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"); - exports2.MaxUint256 = MaxUint256; - var MinInt256 = /* @__PURE__ */ bignumber_1.BigNumber.from("-0x8000000000000000000000000000000000000000000000000000000000000000"); - exports2.MinInt256 = MinInt256; - var MaxInt256 = /* @__PURE__ */ bignumber_1.BigNumber.from("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"); - exports2.MaxInt256 = MaxInt256; - } -}); - -// node_modules/@ethersproject/constants/lib/hashes.js -var require_hashes = __commonJS({ - "node_modules/@ethersproject/constants/lib/hashes.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.HashZero = void 0; - exports2.HashZero = "0x0000000000000000000000000000000000000000000000000000000000000000"; - } -}); - -// node_modules/@ethersproject/constants/lib/strings.js -var require_strings = __commonJS({ - "node_modules/@ethersproject/constants/lib/strings.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.EtherSymbol = void 0; - exports2.EtherSymbol = "\u039E"; - } -}); - -// node_modules/@ethersproject/constants/lib/index.js -var require_lib9 = __commonJS({ - "node_modules/@ethersproject/constants/lib/index.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.EtherSymbol = exports2.HashZero = exports2.MaxInt256 = exports2.MinInt256 = exports2.MaxUint256 = exports2.WeiPerEther = exports2.Two = exports2.One = exports2.Zero = exports2.NegativeOne = exports2.AddressZero = void 0; - var addresses_1 = require_addresses(); - Object.defineProperty(exports2, "AddressZero", { enumerable: true, get: function() { - return addresses_1.AddressZero; - } }); - var bignumbers_1 = require_bignumbers(); - Object.defineProperty(exports2, "NegativeOne", { enumerable: true, get: function() { - return bignumbers_1.NegativeOne; - } }); - Object.defineProperty(exports2, "Zero", { enumerable: true, get: function() { - return bignumbers_1.Zero; - } }); - Object.defineProperty(exports2, "One", { enumerable: true, get: function() { - return bignumbers_1.One; - } }); - Object.defineProperty(exports2, "Two", { enumerable: true, get: function() { - return bignumbers_1.Two; - } }); - Object.defineProperty(exports2, "WeiPerEther", { enumerable: true, get: function() { - return bignumbers_1.WeiPerEther; - } }); - Object.defineProperty(exports2, "MaxUint256", { enumerable: true, get: function() { - return bignumbers_1.MaxUint256; - } }); - Object.defineProperty(exports2, "MinInt256", { enumerable: true, get: function() { - return bignumbers_1.MinInt256; - } }); - Object.defineProperty(exports2, "MaxInt256", { enumerable: true, get: function() { - return bignumbers_1.MaxInt256; - } }); - var hashes_1 = require_hashes(); - Object.defineProperty(exports2, "HashZero", { enumerable: true, get: function() { - return hashes_1.HashZero; - } }); - var strings_1 = require_strings(); - Object.defineProperty(exports2, "EtherSymbol", { enumerable: true, get: function() { - return strings_1.EtherSymbol; - } }); - } -}); - -// node_modules/js-sha3/src/sha3.js -var require_sha3 = __commonJS({ - "node_modules/js-sha3/src/sha3.js"(exports2, module2) { - "use strict"; - (function() { - "use strict"; - var INPUT_ERROR = "input is invalid type"; - var FINALIZE_ERROR = "finalize already called"; - var WINDOW = typeof window === "object"; - var root = WINDOW ? window : {}; - if (root.JS_SHA3_NO_WINDOW) { - WINDOW = false; - } - var WEB_WORKER = !WINDOW && typeof self === "object"; - var NODE_JS = !root.JS_SHA3_NO_NODE_JS && typeof process === "object" && process.versions && process.versions.node; - if (NODE_JS) { - root = global; - } else if (WEB_WORKER) { - root = self; - } - var COMMON_JS = !root.JS_SHA3_NO_COMMON_JS && typeof module2 === "object" && module2.exports; - var AMD = typeof define === "function" && define.amd; - var ARRAY_BUFFER = !root.JS_SHA3_NO_ARRAY_BUFFER && typeof ArrayBuffer !== "undefined"; - var HEX_CHARS = "0123456789abcdef".split(""); - var SHAKE_PADDING = [31, 7936, 2031616, 520093696]; - var CSHAKE_PADDING = [4, 1024, 262144, 67108864]; - var KECCAK_PADDING = [1, 256, 65536, 16777216]; - var PADDING = [6, 1536, 393216, 100663296]; - var SHIFT = [0, 8, 16, 24]; - var RC = [ - 1, - 0, - 32898, - 0, - 32906, - 2147483648, - 2147516416, - 2147483648, - 32907, - 0, - 2147483649, - 0, - 2147516545, - 2147483648, - 32777, - 2147483648, - 138, - 0, - 136, - 0, - 2147516425, - 0, - 2147483658, - 0, - 2147516555, - 0, - 139, - 2147483648, - 32905, - 2147483648, - 32771, - 2147483648, - 32770, - 2147483648, - 128, - 2147483648, - 32778, - 0, - 2147483658, - 2147483648, - 2147516545, - 2147483648, - 32896, - 2147483648, - 2147483649, - 0, - 2147516424, - 2147483648 - ]; - var BITS = [224, 256, 384, 512]; - var SHAKE_BITS = [128, 256]; - var OUTPUT_TYPES = ["hex", "buffer", "arrayBuffer", "array", "digest"]; - var CSHAKE_BYTEPAD = { - "128": 168, - "256": 136 - }; - if (root.JS_SHA3_NO_NODE_JS || !Array.isArray) { - Array.isArray = function(obj) { - return Object.prototype.toString.call(obj) === "[object Array]"; - }; - } - if (ARRAY_BUFFER && (root.JS_SHA3_NO_ARRAY_BUFFER_IS_VIEW || !ArrayBuffer.isView)) { - ArrayBuffer.isView = function(obj) { - return typeof obj === "object" && obj.buffer && obj.buffer.constructor === ArrayBuffer; - }; - } - var createOutputMethod = function(bits2, padding, outputType) { - return function(message) { - return new Keccak(bits2, padding, bits2).update(message)[outputType](); - }; - }; - var createShakeOutputMethod = function(bits2, padding, outputType) { - return function(message, outputBits) { - return new Keccak(bits2, padding, outputBits).update(message)[outputType](); - }; - }; - var createCshakeOutputMethod = function(bits2, padding, outputType) { - return function(message, outputBits, n, s) { - return methods["cshake" + bits2].update(message, outputBits, n, s)[outputType](); - }; - }; - var createKmacOutputMethod = function(bits2, padding, outputType) { - return function(key, message, outputBits, s) { - return methods["kmac" + bits2].update(key, message, outputBits, s)[outputType](); - }; - }; - var createOutputMethods = function(method, createMethod2, bits2, padding) { - for (var i2 = 0; i2 < OUTPUT_TYPES.length; ++i2) { - var type = OUTPUT_TYPES[i2]; - method[type] = createMethod2(bits2, padding, type); - } - return method; - }; - var createMethod = function(bits2, padding) { - var method = createOutputMethod(bits2, padding, "hex"); - method.create = function() { - return new Keccak(bits2, padding, bits2); - }; - method.update = function(message) { - return method.create().update(message); - }; - return createOutputMethods(method, createOutputMethod, bits2, padding); - }; - var createShakeMethod = function(bits2, padding) { - var method = createShakeOutputMethod(bits2, padding, "hex"); - method.create = function(outputBits) { - return new Keccak(bits2, padding, outputBits); - }; - method.update = function(message, outputBits) { - return method.create(outputBits).update(message); - }; - return createOutputMethods(method, createShakeOutputMethod, bits2, padding); - }; - var createCshakeMethod = function(bits2, padding) { - var w = CSHAKE_BYTEPAD[bits2]; - var method = createCshakeOutputMethod(bits2, padding, "hex"); - method.create = function(outputBits, n, s) { - if (!n && !s) { - return methods["shake" + bits2].create(outputBits); - } else { - return new Keccak(bits2, padding, outputBits).bytepad([n, s], w); - } - }; - method.update = function(message, outputBits, n, s) { - return method.create(outputBits, n, s).update(message); - }; - return createOutputMethods(method, createCshakeOutputMethod, bits2, padding); - }; - var createKmacMethod = function(bits2, padding) { - var w = CSHAKE_BYTEPAD[bits2]; - var method = createKmacOutputMethod(bits2, padding, "hex"); - method.create = function(key, outputBits, s) { - return new Kmac(bits2, padding, outputBits).bytepad(["KMAC", s], w).bytepad([key], w); - }; - method.update = function(key, message, outputBits, s) { - return method.create(key, outputBits, s).update(message); - }; - return createOutputMethods(method, createKmacOutputMethod, bits2, padding); - }; - var algorithms = [ - { name: "keccak", padding: KECCAK_PADDING, bits: BITS, createMethod }, - { name: "sha3", padding: PADDING, bits: BITS, createMethod }, - { name: "shake", padding: SHAKE_PADDING, bits: SHAKE_BITS, createMethod: createShakeMethod }, - { name: "cshake", padding: CSHAKE_PADDING, bits: SHAKE_BITS, createMethod: createCshakeMethod }, - { name: "kmac", padding: CSHAKE_PADDING, bits: SHAKE_BITS, createMethod: createKmacMethod } - ]; - var methods = {}, methodNames = []; - for (var i = 0; i < algorithms.length; ++i) { - var algorithm = algorithms[i]; - var bits = algorithm.bits; - for (var j = 0; j < bits.length; ++j) { - var methodName = algorithm.name + "_" + bits[j]; - methodNames.push(methodName); - methods[methodName] = algorithm.createMethod(bits[j], algorithm.padding); - if (algorithm.name !== "sha3") { - var newMethodName = algorithm.name + bits[j]; - methodNames.push(newMethodName); - methods[newMethodName] = methods[methodName]; - } - } - } - function Keccak(bits2, padding, outputBits) { - this.blocks = []; - this.s = []; - this.padding = padding; - this.outputBits = outputBits; - this.reset = true; - this.finalized = false; - this.block = 0; - this.start = 0; - this.blockCount = 1600 - (bits2 << 1) >> 5; - this.byteCount = this.blockCount << 2; - this.outputBlocks = outputBits >> 5; - this.extraBytes = (outputBits & 31) >> 3; - for (var i2 = 0; i2 < 50; ++i2) { - this.s[i2] = 0; - } - } - Keccak.prototype.update = function(message) { - if (this.finalized) { - throw new Error(FINALIZE_ERROR); - } - var notString, type = typeof message; - if (type !== "string") { - if (type === "object") { - if (message === null) { - throw new Error(INPUT_ERROR); - } else if (ARRAY_BUFFER && message.constructor === ArrayBuffer) { - message = new Uint8Array(message); - } else if (!Array.isArray(message)) { - if (!ARRAY_BUFFER || !ArrayBuffer.isView(message)) { - throw new Error(INPUT_ERROR); - } - } - } else { - throw new Error(INPUT_ERROR); - } - notString = true; - } - var blocks = this.blocks, byteCount = this.byteCount, length = message.length, blockCount = this.blockCount, index = 0, s = this.s, i2, code; - while (index < length) { - if (this.reset) { - this.reset = false; - blocks[0] = this.block; - for (i2 = 1; i2 < blockCount + 1; ++i2) { - blocks[i2] = 0; - } - } - if (notString) { - for (i2 = this.start; index < length && i2 < byteCount; ++index) { - blocks[i2 >> 2] |= message[index] << SHIFT[i2++ & 3]; - } - } else { - for (i2 = this.start; index < length && i2 < byteCount; ++index) { - code = message.charCodeAt(index); - if (code < 128) { - blocks[i2 >> 2] |= code << SHIFT[i2++ & 3]; - } else if (code < 2048) { - blocks[i2 >> 2] |= (192 | code >> 6) << SHIFT[i2++ & 3]; - blocks[i2 >> 2] |= (128 | code & 63) << SHIFT[i2++ & 3]; - } else if (code < 55296 || code >= 57344) { - blocks[i2 >> 2] |= (224 | code >> 12) << SHIFT[i2++ & 3]; - blocks[i2 >> 2] |= (128 | code >> 6 & 63) << SHIFT[i2++ & 3]; - blocks[i2 >> 2] |= (128 | code & 63) << SHIFT[i2++ & 3]; - } else { - code = 65536 + ((code & 1023) << 10 | message.charCodeAt(++index) & 1023); - blocks[i2 >> 2] |= (240 | code >> 18) << SHIFT[i2++ & 3]; - blocks[i2 >> 2] |= (128 | code >> 12 & 63) << SHIFT[i2++ & 3]; - blocks[i2 >> 2] |= (128 | code >> 6 & 63) << SHIFT[i2++ & 3]; - blocks[i2 >> 2] |= (128 | code & 63) << SHIFT[i2++ & 3]; - } - } - } - this.lastByteIndex = i2; - if (i2 >= byteCount) { - this.start = i2 - byteCount; - this.block = blocks[blockCount]; - for (i2 = 0; i2 < blockCount; ++i2) { - s[i2] ^= blocks[i2]; - } - f(s); - this.reset = true; - } else { - this.start = i2; - } - } - return this; - }; - Keccak.prototype.encode = function(x, right) { - var o = x & 255, n = 1; - var bytes = [o]; - x = x >> 8; - o = x & 255; - while (o > 0) { - bytes.unshift(o); - x = x >> 8; - o = x & 255; - ++n; - } - if (right) { - bytes.push(n); - } else { - bytes.unshift(n); - } - this.update(bytes); - return bytes.length; - }; - Keccak.prototype.encodeString = function(str) { - var notString, type = typeof str; - if (type !== "string") { - if (type === "object") { - if (str === null) { - throw new Error(INPUT_ERROR); - } else if (ARRAY_BUFFER && str.constructor === ArrayBuffer) { - str = new Uint8Array(str); - } else if (!Array.isArray(str)) { - if (!ARRAY_BUFFER || !ArrayBuffer.isView(str)) { - throw new Error(INPUT_ERROR); - } - } - } else { - throw new Error(INPUT_ERROR); - } - notString = true; - } - var bytes = 0, length = str.length; - if (notString) { - bytes = length; - } else { - for (var i2 = 0; i2 < str.length; ++i2) { - var code = str.charCodeAt(i2); - if (code < 128) { - bytes += 1; - } else if (code < 2048) { - bytes += 2; - } else if (code < 55296 || code >= 57344) { - bytes += 3; - } else { - code = 65536 + ((code & 1023) << 10 | str.charCodeAt(++i2) & 1023); - bytes += 4; - } - } - } - bytes += this.encode(bytes * 8); - this.update(str); - return bytes; - }; - Keccak.prototype.bytepad = function(strs, w) { - var bytes = this.encode(w); - for (var i2 = 0; i2 < strs.length; ++i2) { - bytes += this.encodeString(strs[i2]); - } - var paddingBytes = w - bytes % w; - var zeros = []; - zeros.length = paddingBytes; - this.update(zeros); - return this; - }; - Keccak.prototype.finalize = function() { - if (this.finalized) { - return; - } - this.finalized = true; - var blocks = this.blocks, i2 = this.lastByteIndex, blockCount = this.blockCount, s = this.s; - blocks[i2 >> 2] |= this.padding[i2 & 3]; - if (this.lastByteIndex === this.byteCount) { - blocks[0] = blocks[blockCount]; - for (i2 = 1; i2 < blockCount + 1; ++i2) { - blocks[i2] = 0; - } - } - blocks[blockCount - 1] |= 2147483648; - for (i2 = 0; i2 < blockCount; ++i2) { - s[i2] ^= blocks[i2]; - } - f(s); - }; - Keccak.prototype.toString = Keccak.prototype.hex = function() { - this.finalize(); - var blockCount = this.blockCount, s = this.s, outputBlocks = this.outputBlocks, extraBytes = this.extraBytes, i2 = 0, j2 = 0; - var hex = "", block; - while (j2 < outputBlocks) { - for (i2 = 0; i2 < blockCount && j2 < outputBlocks; ++i2, ++j2) { - block = s[i2]; - hex += HEX_CHARS[block >> 4 & 15] + HEX_CHARS[block & 15] + HEX_CHARS[block >> 12 & 15] + HEX_CHARS[block >> 8 & 15] + HEX_CHARS[block >> 20 & 15] + HEX_CHARS[block >> 16 & 15] + HEX_CHARS[block >> 28 & 15] + HEX_CHARS[block >> 24 & 15]; - } - if (j2 % blockCount === 0) { - f(s); - i2 = 0; - } - } - if (extraBytes) { - block = s[i2]; - hex += HEX_CHARS[block >> 4 & 15] + HEX_CHARS[block & 15]; - if (extraBytes > 1) { - hex += HEX_CHARS[block >> 12 & 15] + HEX_CHARS[block >> 8 & 15]; - } - if (extraBytes > 2) { - hex += HEX_CHARS[block >> 20 & 15] + HEX_CHARS[block >> 16 & 15]; - } - } - return hex; - }; - Keccak.prototype.arrayBuffer = function() { - this.finalize(); - var blockCount = this.blockCount, s = this.s, outputBlocks = this.outputBlocks, extraBytes = this.extraBytes, i2 = 0, j2 = 0; - var bytes = this.outputBits >> 3; - var buffer; - if (extraBytes) { - buffer = new ArrayBuffer(outputBlocks + 1 << 2); - } else { - buffer = new ArrayBuffer(bytes); - } - var array = new Uint32Array(buffer); - while (j2 < outputBlocks) { - for (i2 = 0; i2 < blockCount && j2 < outputBlocks; ++i2, ++j2) { - array[j2] = s[i2]; - } - if (j2 % blockCount === 0) { - f(s); - } - } - if (extraBytes) { - array[i2] = s[i2]; - buffer = buffer.slice(0, bytes); - } - return buffer; - }; - Keccak.prototype.buffer = Keccak.prototype.arrayBuffer; - Keccak.prototype.digest = Keccak.prototype.array = function() { - this.finalize(); - var blockCount = this.blockCount, s = this.s, outputBlocks = this.outputBlocks, extraBytes = this.extraBytes, i2 = 0, j2 = 0; - var array = [], offset, block; - while (j2 < outputBlocks) { - for (i2 = 0; i2 < blockCount && j2 < outputBlocks; ++i2, ++j2) { - offset = j2 << 2; - block = s[i2]; - array[offset] = block & 255; - array[offset + 1] = block >> 8 & 255; - array[offset + 2] = block >> 16 & 255; - array[offset + 3] = block >> 24 & 255; - } - if (j2 % blockCount === 0) { - f(s); - } - } - if (extraBytes) { - offset = j2 << 2; - block = s[i2]; - array[offset] = block & 255; - if (extraBytes > 1) { - array[offset + 1] = block >> 8 & 255; - } - if (extraBytes > 2) { - array[offset + 2] = block >> 16 & 255; - } - } - return array; - }; - function Kmac(bits2, padding, outputBits) { - Keccak.call(this, bits2, padding, outputBits); - } - Kmac.prototype = new Keccak(); - Kmac.prototype.finalize = function() { - this.encode(this.outputBits, true); - return Keccak.prototype.finalize.call(this); - }; - var f = function(s) { - var h, l, n, c0, c1, c2, c3, c4, c5, c6, c7, c8, c9, b0, b1, b2, b3, b4, b5, b6, b7, b8, b9, b10, b11, b12, b13, b14, b15, b16, b17, b18, b19, b20, b21, b22, b23, b24, b25, b26, b27, b28, b29, b30, b31, b32, b33, b34, b35, b36, b37, b38, b39, b40, b41, b42, b43, b44, b45, b46, b47, b48, b49; - for (n = 0; n < 48; n += 2) { - c0 = s[0] ^ s[10] ^ s[20] ^ s[30] ^ s[40]; - c1 = s[1] ^ s[11] ^ s[21] ^ s[31] ^ s[41]; - c2 = s[2] ^ s[12] ^ s[22] ^ s[32] ^ s[42]; - c3 = s[3] ^ s[13] ^ s[23] ^ s[33] ^ s[43]; - c4 = s[4] ^ s[14] ^ s[24] ^ s[34] ^ s[44]; - c5 = s[5] ^ s[15] ^ s[25] ^ s[35] ^ s[45]; - c6 = s[6] ^ s[16] ^ s[26] ^ s[36] ^ s[46]; - c7 = s[7] ^ s[17] ^ s[27] ^ s[37] ^ s[47]; - c8 = s[8] ^ s[18] ^ s[28] ^ s[38] ^ s[48]; - c9 = s[9] ^ s[19] ^ s[29] ^ s[39] ^ s[49]; - h = c8 ^ (c2 << 1 | c3 >>> 31); - l = c9 ^ (c3 << 1 | c2 >>> 31); - s[0] ^= h; - s[1] ^= l; - s[10] ^= h; - s[11] ^= l; - s[20] ^= h; - s[21] ^= l; - s[30] ^= h; - s[31] ^= l; - s[40] ^= h; - s[41] ^= l; - h = c0 ^ (c4 << 1 | c5 >>> 31); - l = c1 ^ (c5 << 1 | c4 >>> 31); - s[2] ^= h; - s[3] ^= l; - s[12] ^= h; - s[13] ^= l; - s[22] ^= h; - s[23] ^= l; - s[32] ^= h; - s[33] ^= l; - s[42] ^= h; - s[43] ^= l; - h = c2 ^ (c6 << 1 | c7 >>> 31); - l = c3 ^ (c7 << 1 | c6 >>> 31); - s[4] ^= h; - s[5] ^= l; - s[14] ^= h; - s[15] ^= l; - s[24] ^= h; - s[25] ^= l; - s[34] ^= h; - s[35] ^= l; - s[44] ^= h; - s[45] ^= l; - h = c4 ^ (c8 << 1 | c9 >>> 31); - l = c5 ^ (c9 << 1 | c8 >>> 31); - s[6] ^= h; - s[7] ^= l; - s[16] ^= h; - s[17] ^= l; - s[26] ^= h; - s[27] ^= l; - s[36] ^= h; - s[37] ^= l; - s[46] ^= h; - s[47] ^= l; - h = c6 ^ (c0 << 1 | c1 >>> 31); - l = c7 ^ (c1 << 1 | c0 >>> 31); - s[8] ^= h; - s[9] ^= l; - s[18] ^= h; - s[19] ^= l; - s[28] ^= h; - s[29] ^= l; - s[38] ^= h; - s[39] ^= l; - s[48] ^= h; - s[49] ^= l; - b0 = s[0]; - b1 = s[1]; - b32 = s[11] << 4 | s[10] >>> 28; - b33 = s[10] << 4 | s[11] >>> 28; - b14 = s[20] << 3 | s[21] >>> 29; - b15 = s[21] << 3 | s[20] >>> 29; - b46 = s[31] << 9 | s[30] >>> 23; - b47 = s[30] << 9 | s[31] >>> 23; - b28 = s[40] << 18 | s[41] >>> 14; - b29 = s[41] << 18 | s[40] >>> 14; - b20 = s[2] << 1 | s[3] >>> 31; - b21 = s[3] << 1 | s[2] >>> 31; - b2 = s[13] << 12 | s[12] >>> 20; - b3 = s[12] << 12 | s[13] >>> 20; - b34 = s[22] << 10 | s[23] >>> 22; - b35 = s[23] << 10 | s[22] >>> 22; - b16 = s[33] << 13 | s[32] >>> 19; - b17 = s[32] << 13 | s[33] >>> 19; - b48 = s[42] << 2 | s[43] >>> 30; - b49 = s[43] << 2 | s[42] >>> 30; - b40 = s[5] << 30 | s[4] >>> 2; - b41 = s[4] << 30 | s[5] >>> 2; - b22 = s[14] << 6 | s[15] >>> 26; - b23 = s[15] << 6 | s[14] >>> 26; - b4 = s[25] << 11 | s[24] >>> 21; - b5 = s[24] << 11 | s[25] >>> 21; - b36 = s[34] << 15 | s[35] >>> 17; - b37 = s[35] << 15 | s[34] >>> 17; - b18 = s[45] << 29 | s[44] >>> 3; - b19 = s[44] << 29 | s[45] >>> 3; - b10 = s[6] << 28 | s[7] >>> 4; - b11 = s[7] << 28 | s[6] >>> 4; - b42 = s[17] << 23 | s[16] >>> 9; - b43 = s[16] << 23 | s[17] >>> 9; - b24 = s[26] << 25 | s[27] >>> 7; - b25 = s[27] << 25 | s[26] >>> 7; - b6 = s[36] << 21 | s[37] >>> 11; - b7 = s[37] << 21 | s[36] >>> 11; - b38 = s[47] << 24 | s[46] >>> 8; - b39 = s[46] << 24 | s[47] >>> 8; - b30 = s[8] << 27 | s[9] >>> 5; - b31 = s[9] << 27 | s[8] >>> 5; - b12 = s[18] << 20 | s[19] >>> 12; - b13 = s[19] << 20 | s[18] >>> 12; - b44 = s[29] << 7 | s[28] >>> 25; - b45 = s[28] << 7 | s[29] >>> 25; - b26 = s[38] << 8 | s[39] >>> 24; - b27 = s[39] << 8 | s[38] >>> 24; - b8 = s[48] << 14 | s[49] >>> 18; - b9 = s[49] << 14 | s[48] >>> 18; - s[0] = b0 ^ ~b2 & b4; - s[1] = b1 ^ ~b3 & b5; - s[10] = b10 ^ ~b12 & b14; - s[11] = b11 ^ ~b13 & b15; - s[20] = b20 ^ ~b22 & b24; - s[21] = b21 ^ ~b23 & b25; - s[30] = b30 ^ ~b32 & b34; - s[31] = b31 ^ ~b33 & b35; - s[40] = b40 ^ ~b42 & b44; - s[41] = b41 ^ ~b43 & b45; - s[2] = b2 ^ ~b4 & b6; - s[3] = b3 ^ ~b5 & b7; - s[12] = b12 ^ ~b14 & b16; - s[13] = b13 ^ ~b15 & b17; - s[22] = b22 ^ ~b24 & b26; - s[23] = b23 ^ ~b25 & b27; - s[32] = b32 ^ ~b34 & b36; - s[33] = b33 ^ ~b35 & b37; - s[42] = b42 ^ ~b44 & b46; - s[43] = b43 ^ ~b45 & b47; - s[4] = b4 ^ ~b6 & b8; - s[5] = b5 ^ ~b7 & b9; - s[14] = b14 ^ ~b16 & b18; - s[15] = b15 ^ ~b17 & b19; - s[24] = b24 ^ ~b26 & b28; - s[25] = b25 ^ ~b27 & b29; - s[34] = b34 ^ ~b36 & b38; - s[35] = b35 ^ ~b37 & b39; - s[44] = b44 ^ ~b46 & b48; - s[45] = b45 ^ ~b47 & b49; - s[6] = b6 ^ ~b8 & b0; - s[7] = b7 ^ ~b9 & b1; - s[16] = b16 ^ ~b18 & b10; - s[17] = b17 ^ ~b19 & b11; - s[26] = b26 ^ ~b28 & b20; - s[27] = b27 ^ ~b29 & b21; - s[36] = b36 ^ ~b38 & b30; - s[37] = b37 ^ ~b39 & b31; - s[46] = b46 ^ ~b48 & b40; - s[47] = b47 ^ ~b49 & b41; - s[8] = b8 ^ ~b0 & b2; - s[9] = b9 ^ ~b1 & b3; - s[18] = b18 ^ ~b10 & b12; - s[19] = b19 ^ ~b11 & b13; - s[28] = b28 ^ ~b20 & b22; - s[29] = b29 ^ ~b21 & b23; - s[38] = b38 ^ ~b30 & b32; - s[39] = b39 ^ ~b31 & b33; - s[48] = b48 ^ ~b40 & b42; - s[49] = b49 ^ ~b41 & b43; - s[0] ^= RC[n]; - s[1] ^= RC[n + 1]; - } - }; - if (COMMON_JS) { - module2.exports = methods; - } else { - for (i = 0; i < methodNames.length; ++i) { - root[methodNames[i]] = methods[methodNames[i]]; - } - if (AMD) { - define(function() { - return methods; - }); - } - } - })(); - } -}); - -// node_modules/@ethersproject/keccak256/lib/index.js -var require_lib10 = __commonJS({ - "node_modules/@ethersproject/keccak256/lib/index.js"(exports2) { - "use strict"; - var __importDefault = exports2 && exports2.__importDefault || function(mod) { - return mod && mod.__esModule ? mod : { "default": mod }; - }; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.keccak256 = void 0; - var js_sha3_1 = __importDefault(require_sha3()); - var bytes_1 = require_lib2(); - function keccak256(data) { - return "0x" + js_sha3_1.default.keccak_256((0, bytes_1.arrayify)(data)); - } - exports2.keccak256 = keccak256; - } -}); - -// node_modules/@ethersproject/strings/lib/_version.js -var require_version7 = __commonJS({ - "node_modules/@ethersproject/strings/lib/_version.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.version = void 0; - exports2.version = "strings/5.7.0"; - } -}); - -// node_modules/@ethersproject/strings/lib/utf8.js -var require_utf8 = __commonJS({ - "node_modules/@ethersproject/strings/lib/utf8.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.toUtf8CodePoints = exports2.toUtf8String = exports2._toUtf8String = exports2._toEscapedUtf8String = exports2.toUtf8Bytes = exports2.Utf8ErrorFuncs = exports2.Utf8ErrorReason = exports2.UnicodeNormalizationForm = void 0; - var bytes_1 = require_lib2(); - var logger_1 = require_lib(); - var _version_1 = require_version7(); - var logger = new logger_1.Logger(_version_1.version); - var UnicodeNormalizationForm; - (function(UnicodeNormalizationForm2) { - UnicodeNormalizationForm2["current"] = ""; - UnicodeNormalizationForm2["NFC"] = "NFC"; - UnicodeNormalizationForm2["NFD"] = "NFD"; - UnicodeNormalizationForm2["NFKC"] = "NFKC"; - UnicodeNormalizationForm2["NFKD"] = "NFKD"; - })(UnicodeNormalizationForm = exports2.UnicodeNormalizationForm || (exports2.UnicodeNormalizationForm = {})); - var Utf8ErrorReason; - (function(Utf8ErrorReason2) { - Utf8ErrorReason2["UNEXPECTED_CONTINUE"] = "unexpected continuation byte"; - Utf8ErrorReason2["BAD_PREFIX"] = "bad codepoint prefix"; - Utf8ErrorReason2["OVERRUN"] = "string overrun"; - Utf8ErrorReason2["MISSING_CONTINUE"] = "missing continuation byte"; - Utf8ErrorReason2["OUT_OF_RANGE"] = "out of UTF-8 range"; - Utf8ErrorReason2["UTF16_SURROGATE"] = "UTF-16 surrogate"; - Utf8ErrorReason2["OVERLONG"] = "overlong representation"; - })(Utf8ErrorReason = exports2.Utf8ErrorReason || (exports2.Utf8ErrorReason = {})); - function errorFunc(reason, offset, bytes, output, badCodepoint) { - return logger.throwArgumentError("invalid codepoint at offset " + offset + "; " + reason, "bytes", bytes); - } - function ignoreFunc(reason, offset, bytes, output, badCodepoint) { - if (reason === Utf8ErrorReason.BAD_PREFIX || reason === Utf8ErrorReason.UNEXPECTED_CONTINUE) { - var i = 0; - for (var o = offset + 1; o < bytes.length; o++) { - if (bytes[o] >> 6 !== 2) { - break; - } - i++; - } - return i; - } - if (reason === Utf8ErrorReason.OVERRUN) { - return bytes.length - offset - 1; - } - return 0; - } - function replaceFunc(reason, offset, bytes, output, badCodepoint) { - if (reason === Utf8ErrorReason.OVERLONG) { - output.push(badCodepoint); - return 0; - } - output.push(65533); - return ignoreFunc(reason, offset, bytes, output, badCodepoint); - } - exports2.Utf8ErrorFuncs = Object.freeze({ - error: errorFunc, - ignore: ignoreFunc, - replace: replaceFunc - }); - function getUtf8CodePoints(bytes, onError) { - if (onError == null) { - onError = exports2.Utf8ErrorFuncs.error; - } - bytes = (0, bytes_1.arrayify)(bytes); - var result = []; - var i = 0; - while (i < bytes.length) { - var c = bytes[i++]; - if (c >> 7 === 0) { - result.push(c); - continue; - } - var extraLength = null; - var overlongMask = null; - if ((c & 224) === 192) { - extraLength = 1; - overlongMask = 127; - } else if ((c & 240) === 224) { - extraLength = 2; - overlongMask = 2047; - } else if ((c & 248) === 240) { - extraLength = 3; - overlongMask = 65535; - } else { - if ((c & 192) === 128) { - i += onError(Utf8ErrorReason.UNEXPECTED_CONTINUE, i - 1, bytes, result); - } else { - i += onError(Utf8ErrorReason.BAD_PREFIX, i - 1, bytes, result); - } - continue; - } - if (i - 1 + extraLength >= bytes.length) { - i += onError(Utf8ErrorReason.OVERRUN, i - 1, bytes, result); - continue; - } - var res = c & (1 << 8 - extraLength - 1) - 1; - for (var j = 0; j < extraLength; j++) { - var nextChar = bytes[i]; - if ((nextChar & 192) != 128) { - i += onError(Utf8ErrorReason.MISSING_CONTINUE, i, bytes, result); - res = null; - break; - } - ; - res = res << 6 | nextChar & 63; - i++; - } - if (res === null) { - continue; - } - if (res > 1114111) { - i += onError(Utf8ErrorReason.OUT_OF_RANGE, i - 1 - extraLength, bytes, result, res); - continue; - } - if (res >= 55296 && res <= 57343) { - i += onError(Utf8ErrorReason.UTF16_SURROGATE, i - 1 - extraLength, bytes, result, res); - continue; - } - if (res <= overlongMask) { - i += onError(Utf8ErrorReason.OVERLONG, i - 1 - extraLength, bytes, result, res); - continue; - } - result.push(res); - } - return result; - } - function toUtf8Bytes(str, form) { - if (form === void 0) { - form = UnicodeNormalizationForm.current; - } - if (form != UnicodeNormalizationForm.current) { - logger.checkNormalize(); - str = str.normalize(form); - } - var result = []; - for (var i = 0; i < str.length; i++) { - var c = str.charCodeAt(i); - if (c < 128) { - result.push(c); - } else if (c < 2048) { - result.push(c >> 6 | 192); - result.push(c & 63 | 128); - } else if ((c & 64512) == 55296) { - i++; - var c2 = str.charCodeAt(i); - if (i >= str.length || (c2 & 64512) !== 56320) { - throw new Error("invalid utf-8 string"); - } - var pair = 65536 + ((c & 1023) << 10) + (c2 & 1023); - result.push(pair >> 18 | 240); - result.push(pair >> 12 & 63 | 128); - result.push(pair >> 6 & 63 | 128); - result.push(pair & 63 | 128); - } else { - result.push(c >> 12 | 224); - result.push(c >> 6 & 63 | 128); - result.push(c & 63 | 128); - } - } - return (0, bytes_1.arrayify)(result); - } - exports2.toUtf8Bytes = toUtf8Bytes; - function escapeChar(value) { - var hex = "0000" + value.toString(16); - return "\\u" + hex.substring(hex.length - 4); - } - function _toEscapedUtf8String(bytes, onError) { - return '"' + getUtf8CodePoints(bytes, onError).map(function(codePoint) { - if (codePoint < 256) { - switch (codePoint) { - case 8: - return "\\b"; - case 9: - return "\\t"; - case 10: - return "\\n"; - case 13: - return "\\r"; - case 34: - return '\\"'; - case 92: - return "\\\\"; - } - if (codePoint >= 32 && codePoint < 127) { - return String.fromCharCode(codePoint); - } - } - if (codePoint <= 65535) { - return escapeChar(codePoint); - } - codePoint -= 65536; - return escapeChar((codePoint >> 10 & 1023) + 55296) + escapeChar((codePoint & 1023) + 56320); - }).join("") + '"'; - } - exports2._toEscapedUtf8String = _toEscapedUtf8String; - function _toUtf8String(codePoints) { - return codePoints.map(function(codePoint) { - if (codePoint <= 65535) { - return String.fromCharCode(codePoint); - } - codePoint -= 65536; - return String.fromCharCode((codePoint >> 10 & 1023) + 55296, (codePoint & 1023) + 56320); - }).join(""); - } - exports2._toUtf8String = _toUtf8String; - function toUtf8String(bytes, onError) { - return _toUtf8String(getUtf8CodePoints(bytes, onError)); - } - exports2.toUtf8String = toUtf8String; - function toUtf8CodePoints(str, form) { - if (form === void 0) { - form = UnicodeNormalizationForm.current; - } - return getUtf8CodePoints(toUtf8Bytes(str, form)); - } - exports2.toUtf8CodePoints = toUtf8CodePoints; - } -}); - -// node_modules/@ethersproject/strings/lib/bytes32.js -var require_bytes32 = __commonJS({ - "node_modules/@ethersproject/strings/lib/bytes32.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.parseBytes32String = exports2.formatBytes32String = void 0; - var constants_1 = require_lib9(); - var bytes_1 = require_lib2(); - var utf8_1 = require_utf8(); - function formatBytes32String(text) { - var bytes = (0, utf8_1.toUtf8Bytes)(text); - if (bytes.length > 31) { - throw new Error("bytes32 string must be less than 32 bytes"); - } - return (0, bytes_1.hexlify)((0, bytes_1.concat)([bytes, constants_1.HashZero]).slice(0, 32)); - } - exports2.formatBytes32String = formatBytes32String; - function parseBytes32String(bytes) { - var data = (0, bytes_1.arrayify)(bytes); - if (data.length !== 32) { - throw new Error("invalid bytes32 - not 32 bytes long"); - } - if (data[31] !== 0) { - throw new Error("invalid bytes32 string - no null terminator"); - } - var length = 31; - while (data[length - 1] === 0) { - length--; - } - return (0, utf8_1.toUtf8String)(data.slice(0, length)); - } - exports2.parseBytes32String = parseBytes32String; - } -}); - -// node_modules/@ethersproject/strings/lib/idna.js -var require_idna = __commonJS({ - "node_modules/@ethersproject/strings/lib/idna.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.nameprep = exports2._nameprepTableC = exports2._nameprepTableB2 = exports2._nameprepTableA1 = void 0; - var utf8_1 = require_utf8(); - function bytes2(data) { - if (data.length % 4 !== 0) { - throw new Error("bad data"); - } - var result = []; - for (var i = 0; i < data.length; i += 4) { - result.push(parseInt(data.substring(i, i + 4), 16)); - } - return result; - } - function createTable(data, func) { - if (!func) { - func = function(value) { - return [parseInt(value, 16)]; - }; - } - var lo = 0; - var result = {}; - data.split(",").forEach(function(pair) { - var comps = pair.split(":"); - lo += parseInt(comps[0], 16); - result[lo] = func(comps[1]); - }); - return result; - } - function createRangeTable(data) { - var hi = 0; - return data.split(",").map(function(v) { - var comps = v.split("-"); - if (comps.length === 1) { - comps[1] = "0"; - } else if (comps[1] === "") { - comps[1] = "1"; - } - var lo = hi + parseInt(comps[0], 16); - hi = parseInt(comps[1], 16); - return { l: lo, h: hi }; - }); - } - function matchMap(value, ranges) { - var lo = 0; - for (var i = 0; i < ranges.length; i++) { - var range = ranges[i]; - lo += range.l; - if (value >= lo && value <= lo + range.h && (value - lo) % (range.d || 1) === 0) { - if (range.e && range.e.indexOf(value - lo) !== -1) { - continue; - } - return range; - } - } - return null; - } - var Table_A_1_ranges = createRangeTable("221,13-1b,5f-,40-10,51-f,11-3,3-3,2-2,2-4,8,2,15,2d,28-8,88,48,27-,3-5,11-20,27-,8,28,3-5,12,18,b-a,1c-4,6-16,2-d,2-2,2,1b-4,17-9,8f-,10,f,1f-2,1c-34,33-14e,4,36-,13-,6-2,1a-f,4,9-,3-,17,8,2-2,5-,2,8-,3-,4-8,2-3,3,6-,16-6,2-,7-3,3-,17,8,3,3,3-,2,6-3,3-,4-a,5,2-6,10-b,4,8,2,4,17,8,3,6-,b,4,4-,2-e,2-4,b-10,4,9-,3-,17,8,3-,5-,9-2,3-,4-7,3-3,3,4-3,c-10,3,7-2,4,5-2,3,2,3-2,3-2,4-2,9,4-3,6-2,4,5-8,2-e,d-d,4,9,4,18,b,6-3,8,4,5-6,3-8,3-3,b-11,3,9,4,18,b,6-3,8,4,5-6,3-6,2,3-3,b-11,3,9,4,18,11-3,7-,4,5-8,2-7,3-3,b-11,3,13-2,19,a,2-,8-2,2-3,7,2,9-11,4-b,3b-3,1e-24,3,2-,3,2-,2-5,5,8,4,2,2-,3,e,4-,6,2,7-,b-,3-21,49,23-5,1c-3,9,25,10-,2-2f,23,6,3,8-2,5-5,1b-45,27-9,2a-,2-3,5b-4,45-4,53-5,8,40,2,5-,8,2,5-,28,2,5-,20,2,5-,8,2,5-,8,8,18,20,2,5-,8,28,14-5,1d-22,56-b,277-8,1e-2,52-e,e,8-a,18-8,15-b,e,4,3-b,5e-2,b-15,10,b-5,59-7,2b-555,9d-3,5b-5,17-,7-,27-,7-,9,2,2,2,20-,36,10,f-,7,14-,4,a,54-3,2-6,6-5,9-,1c-10,13-1d,1c-14,3c-,10-6,32-b,240-30,28-18,c-14,a0,115-,3,66-,b-76,5,5-,1d,24,2,5-2,2,8-,35-2,19,f-10,1d-3,311-37f,1b,5a-b,d7-19,d-3,41,57-,68-4,29-3,5f,29-37,2e-2,25-c,2c-2,4e-3,30,78-3,64-,20,19b7-49,51a7-59,48e-2,38-738,2ba5-5b,222f-,3c-94,8-b,6-4,1b,6,2,3,3,6d-20,16e-f,41-,37-7,2e-2,11-f,5-b,18-,b,14,5-3,6,88-,2,bf-2,7-,7-,7-,4-2,8,8-9,8-2ff,20,5-b,1c-b4,27-,27-cbb1,f7-9,28-2,b5-221,56,48,3-,2-,3-,5,d,2,5,3,42,5-,9,8,1d,5,6,2-2,8,153-3,123-3,33-27fd,a6da-5128,21f-5df,3-fffd,3-fffd,3-fffd,3-fffd,3-fffd,3-fffd,3-fffd,3-fffd,3-fffd,3-fffd,3-fffd,3,2-1d,61-ff7d"); - var Table_B_1_flags = "ad,34f,1806,180b,180c,180d,200b,200c,200d,2060,feff".split(",").map(function(v) { - return parseInt(v, 16); - }); - var Table_B_2_ranges = [ - { h: 25, s: 32, l: 65 }, - { h: 30, s: 32, e: [23], l: 127 }, - { h: 54, s: 1, e: [48], l: 64, d: 2 }, - { h: 14, s: 1, l: 57, d: 2 }, - { h: 44, s: 1, l: 17, d: 2 }, - { h: 10, s: 1, e: [2, 6, 8], l: 61, d: 2 }, - { h: 16, s: 1, l: 68, d: 2 }, - { h: 84, s: 1, e: [18, 24, 66], l: 19, d: 2 }, - { h: 26, s: 32, e: [17], l: 435 }, - { h: 22, s: 1, l: 71, d: 2 }, - { h: 15, s: 80, l: 40 }, - { h: 31, s: 32, l: 16 }, - { h: 32, s: 1, l: 80, d: 2 }, - { h: 52, s: 1, l: 42, d: 2 }, - { h: 12, s: 1, l: 55, d: 2 }, - { h: 40, s: 1, e: [38], l: 15, d: 2 }, - { h: 14, s: 1, l: 48, d: 2 }, - { h: 37, s: 48, l: 49 }, - { h: 148, s: 1, l: 6351, d: 2 }, - { h: 88, s: 1, l: 160, d: 2 }, - { h: 15, s: 16, l: 704 }, - { h: 25, s: 26, l: 854 }, - { h: 25, s: 32, l: 55915 }, - { h: 37, s: 40, l: 1247 }, - { h: 25, s: -119711, l: 53248 }, - { h: 25, s: -119763, l: 52 }, - { h: 25, s: -119815, l: 52 }, - { h: 25, s: -119867, e: [1, 4, 5, 7, 8, 11, 12, 17], l: 52 }, - { h: 25, s: -119919, l: 52 }, - { h: 24, s: -119971, e: [2, 7, 8, 17], l: 52 }, - { h: 24, s: -120023, e: [2, 7, 13, 15, 16, 17], l: 52 }, - { h: 25, s: -120075, l: 52 }, - { h: 25, s: -120127, l: 52 }, - { h: 25, s: -120179, l: 52 }, - { h: 25, s: -120231, l: 52 }, - { h: 25, s: -120283, l: 52 }, - { h: 25, s: -120335, l: 52 }, - { h: 24, s: -119543, e: [17], l: 56 }, - { h: 24, s: -119601, e: [17], l: 58 }, - { h: 24, s: -119659, e: [17], l: 58 }, - { h: 24, s: -119717, e: [17], l: 58 }, - { h: 24, s: -119775, e: [17], l: 58 } - ]; - var Table_B_2_lut_abs = createTable("b5:3bc,c3:ff,7:73,2:253,5:254,3:256,1:257,5:259,1:25b,3:260,1:263,2:269,1:268,5:26f,1:272,2:275,7:280,3:283,5:288,3:28a,1:28b,5:292,3f:195,1:1bf,29:19e,125:3b9,8b:3b2,1:3b8,1:3c5,3:3c6,1:3c0,1a:3ba,1:3c1,1:3c3,2:3b8,1:3b5,1bc9:3b9,1c:1f76,1:1f77,f:1f7a,1:1f7b,d:1f78,1:1f79,1:1f7c,1:1f7d,107:63,5:25b,4:68,1:68,1:68,3:69,1:69,1:6c,3:6e,4:70,1:71,1:72,1:72,1:72,7:7a,2:3c9,2:7a,2:6b,1:e5,1:62,1:63,3:65,1:66,2:6d,b:3b3,1:3c0,6:64,1b574:3b8,1a:3c3,20:3b8,1a:3c3,20:3b8,1a:3c3,20:3b8,1a:3c3,20:3b8,1a:3c3"); - var Table_B_2_lut_rel = createTable("179:1,2:1,2:1,5:1,2:1,a:4f,a:1,8:1,2:1,2:1,3:1,5:1,3:1,4:1,2:1,3:1,4:1,8:2,1:1,2:2,1:1,2:2,27:2,195:26,2:25,1:25,1:25,2:40,2:3f,1:3f,33:1,11:-6,1:-9,1ac7:-3a,6d:-8,1:-8,1:-8,1:-8,1:-8,1:-8,1:-8,1:-8,9:-8,1:-8,1:-8,1:-8,1:-8,1:-8,b:-8,1:-8,1:-8,1:-8,1:-8,1:-8,1:-8,1:-8,9:-8,1:-8,1:-8,1:-8,1:-8,1:-8,1:-8,1:-8,9:-8,1:-8,1:-8,1:-8,1:-8,1:-8,c:-8,2:-8,2:-8,2:-8,9:-8,1:-8,1:-8,1:-8,1:-8,1:-8,1:-8,1:-8,49:-8,1:-8,1:-4a,1:-4a,d:-56,1:-56,1:-56,1:-56,d:-8,1:-8,f:-8,1:-8,3:-7"); - var Table_B_2_complex = createTable("df:00730073,51:00690307,19:02BC006E,a7:006A030C,18a:002003B9,16:03B903080301,20:03C503080301,1d7:05650582,190f:00680331,1:00740308,1:0077030A,1:0079030A,1:006102BE,b6:03C50313,2:03C503130300,2:03C503130301,2:03C503130342,2a:1F0003B9,1:1F0103B9,1:1F0203B9,1:1F0303B9,1:1F0403B9,1:1F0503B9,1:1F0603B9,1:1F0703B9,1:1F0003B9,1:1F0103B9,1:1F0203B9,1:1F0303B9,1:1F0403B9,1:1F0503B9,1:1F0603B9,1:1F0703B9,1:1F2003B9,1:1F2103B9,1:1F2203B9,1:1F2303B9,1:1F2403B9,1:1F2503B9,1:1F2603B9,1:1F2703B9,1:1F2003B9,1:1F2103B9,1:1F2203B9,1:1F2303B9,1:1F2403B9,1:1F2503B9,1:1F2603B9,1:1F2703B9,1:1F6003B9,1:1F6103B9,1:1F6203B9,1:1F6303B9,1:1F6403B9,1:1F6503B9,1:1F6603B9,1:1F6703B9,1:1F6003B9,1:1F6103B9,1:1F6203B9,1:1F6303B9,1:1F6403B9,1:1F6503B9,1:1F6603B9,1:1F6703B9,3:1F7003B9,1:03B103B9,1:03AC03B9,2:03B10342,1:03B1034203B9,5:03B103B9,6:1F7403B9,1:03B703B9,1:03AE03B9,2:03B70342,1:03B7034203B9,5:03B703B9,6:03B903080300,1:03B903080301,3:03B90342,1:03B903080342,b:03C503080300,1:03C503080301,1:03C10313,2:03C50342,1:03C503080342,b:1F7C03B9,1:03C903B9,1:03CE03B9,2:03C90342,1:03C9034203B9,5:03C903B9,ac:00720073,5b:00B00063,6:00B00066,d:006E006F,a:0073006D,1:00740065006C,1:0074006D,124f:006800700061,2:00610075,2:006F0076,b:00700061,1:006E0061,1:03BC0061,1:006D0061,1:006B0061,1:006B0062,1:006D0062,1:00670062,3:00700066,1:006E0066,1:03BC0066,4:0068007A,1:006B0068007A,1:006D0068007A,1:00670068007A,1:00740068007A,15:00700061,1:006B00700061,1:006D00700061,1:006700700061,8:00700076,1:006E0076,1:03BC0076,1:006D0076,1:006B0076,1:006D0076,1:00700077,1:006E0077,1:03BC0077,1:006D0077,1:006B0077,1:006D0077,1:006B03C9,1:006D03C9,2:00620071,3:00632215006B0067,1:0063006F002E,1:00640062,1:00670079,2:00680070,2:006B006B,1:006B006D,9:00700068,2:00700070006D,1:00700072,2:00730076,1:00770062,c723:00660066,1:00660069,1:0066006C,1:006600660069,1:00660066006C,1:00730074,1:00730074,d:05740576,1:05740565,1:0574056B,1:057E0576,1:0574056D", bytes2); - var Table_C_ranges = createRangeTable("80-20,2a0-,39c,32,f71,18e,7f2-f,19-7,30-4,7-5,f81-b,5,a800-20ff,4d1-1f,110,fa-6,d174-7,2e84-,ffff-,ffff-,ffff-,ffff-,ffff-,ffff-,ffff-,ffff-,ffff-,ffff-,ffff-,ffff-,2,1f-5f,ff7f-20001"); - function flatten(values) { - return values.reduce(function(accum, value) { - value.forEach(function(value2) { - accum.push(value2); - }); - return accum; - }, []); - } - function _nameprepTableA1(codepoint) { - return !!matchMap(codepoint, Table_A_1_ranges); - } - exports2._nameprepTableA1 = _nameprepTableA1; - function _nameprepTableB2(codepoint) { - var range = matchMap(codepoint, Table_B_2_ranges); - if (range) { - return [codepoint + range.s]; - } - var codes = Table_B_2_lut_abs[codepoint]; - if (codes) { - return codes; - } - var shift = Table_B_2_lut_rel[codepoint]; - if (shift) { - return [codepoint + shift[0]]; - } - var complex = Table_B_2_complex[codepoint]; - if (complex) { - return complex; - } - return null; - } - exports2._nameprepTableB2 = _nameprepTableB2; - function _nameprepTableC(codepoint) { - return !!matchMap(codepoint, Table_C_ranges); - } - exports2._nameprepTableC = _nameprepTableC; - function nameprep(value) { - if (value.match(/^[a-z0-9-]*$/i) && value.length <= 59) { - return value.toLowerCase(); - } - var codes = (0, utf8_1.toUtf8CodePoints)(value); - codes = flatten(codes.map(function(code) { - if (Table_B_1_flags.indexOf(code) >= 0) { - return []; - } - if (code >= 65024 && code <= 65039) { - return []; - } - var codesTableB2 = _nameprepTableB2(code); - if (codesTableB2) { - return codesTableB2; - } - return [code]; - })); - codes = (0, utf8_1.toUtf8CodePoints)((0, utf8_1._toUtf8String)(codes), utf8_1.UnicodeNormalizationForm.NFKC); - codes.forEach(function(code) { - if (_nameprepTableC(code)) { - throw new Error("STRINGPREP_CONTAINS_PROHIBITED"); - } - }); - codes.forEach(function(code) { - if (_nameprepTableA1(code)) { - throw new Error("STRINGPREP_CONTAINS_UNASSIGNED"); - } - }); - var name = (0, utf8_1._toUtf8String)(codes); - if (name.substring(0, 1) === "-" || name.substring(2, 4) === "--" || name.substring(name.length - 1) === "-") { - throw new Error("invalid hyphen"); - } - return name; - } - exports2.nameprep = nameprep; - } -}); - -// node_modules/@ethersproject/strings/lib/index.js -var require_lib11 = __commonJS({ - "node_modules/@ethersproject/strings/lib/index.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.nameprep = exports2.parseBytes32String = exports2.formatBytes32String = exports2.UnicodeNormalizationForm = exports2.Utf8ErrorReason = exports2.Utf8ErrorFuncs = exports2.toUtf8String = exports2.toUtf8CodePoints = exports2.toUtf8Bytes = exports2._toEscapedUtf8String = void 0; - var bytes32_1 = require_bytes32(); - Object.defineProperty(exports2, "formatBytes32String", { enumerable: true, get: function() { - return bytes32_1.formatBytes32String; - } }); - Object.defineProperty(exports2, "parseBytes32String", { enumerable: true, get: function() { - return bytes32_1.parseBytes32String; - } }); - var idna_1 = require_idna(); - Object.defineProperty(exports2, "nameprep", { enumerable: true, get: function() { - return idna_1.nameprep; - } }); - var utf8_1 = require_utf8(); - Object.defineProperty(exports2, "_toEscapedUtf8String", { enumerable: true, get: function() { - return utf8_1._toEscapedUtf8String; - } }); - Object.defineProperty(exports2, "toUtf8Bytes", { enumerable: true, get: function() { - return utf8_1.toUtf8Bytes; - } }); - Object.defineProperty(exports2, "toUtf8CodePoints", { enumerable: true, get: function() { - return utf8_1.toUtf8CodePoints; - } }); - Object.defineProperty(exports2, "toUtf8String", { enumerable: true, get: function() { - return utf8_1.toUtf8String; - } }); - Object.defineProperty(exports2, "UnicodeNormalizationForm", { enumerable: true, get: function() { - return utf8_1.UnicodeNormalizationForm; - } }); - Object.defineProperty(exports2, "Utf8ErrorFuncs", { enumerable: true, get: function() { - return utf8_1.Utf8ErrorFuncs; - } }); - Object.defineProperty(exports2, "Utf8ErrorReason", { enumerable: true, get: function() { - return utf8_1.Utf8ErrorReason; - } }); - } -}); - -// node_modules/@ethersproject/hash/lib/id.js -var require_id = __commonJS({ - "node_modules/@ethersproject/hash/lib/id.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.id = void 0; - var keccak256_1 = require_lib10(); - var strings_1 = require_lib11(); - function id(text) { - return (0, keccak256_1.keccak256)((0, strings_1.toUtf8Bytes)(text)); - } - exports2.id = id; - } -}); - -// node_modules/@ethersproject/hash/lib/_version.js -var require_version8 = __commonJS({ - "node_modules/@ethersproject/hash/lib/_version.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.version = void 0; - exports2.version = "hash/5.7.0"; - } -}); - -// node_modules/@ethersproject/hash/lib/ens-normalize/decoder.js -var require_decoder = __commonJS({ - "node_modules/@ethersproject/hash/lib/ens-normalize/decoder.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.read_emoji_trie = exports2.read_zero_terminated_array = exports2.read_mapped_map = exports2.read_member_array = exports2.signed = exports2.read_compressed_payload = exports2.read_payload = exports2.decode_arithmetic = void 0; - function flat(array, depth) { - if (depth == null) { - depth = 1; - } - var result = []; - var forEach2 = result.forEach; - var flatDeep = function(arr, depth2) { - forEach2.call(arr, function(val) { - if (depth2 > 0 && Array.isArray(val)) { - flatDeep(val, depth2 - 1); - } else { - result.push(val); - } - }); - }; - flatDeep(array, depth); - return result; - } - function fromEntries(array) { - var result = {}; - for (var i = 0; i < array.length; i++) { - var value = array[i]; - result[value[0]] = value[1]; - } - return result; - } - function decode_arithmetic(bytes) { - var pos = 0; - function u16() { - return bytes[pos++] << 8 | bytes[pos++]; - } - var symbol_count = u16(); - var total = 1; - var acc = [0, 1]; - for (var i = 1; i < symbol_count; i++) { - acc.push(total += u16()); - } - var skip = u16(); - var pos_payload = pos; - pos += skip; - var read_width = 0; - var read_buffer = 0; - function read_bit() { - if (read_width == 0) { - read_buffer = read_buffer << 8 | bytes[pos++]; - read_width = 8; - } - return read_buffer >> --read_width & 1; - } - var N = 31; - var FULL = Math.pow(2, N); - var HALF = FULL >>> 1; - var QRTR = HALF >> 1; - var MASK = FULL - 1; - var register = 0; - for (var i = 0; i < N; i++) - register = register << 1 | read_bit(); - var symbols = []; - var low = 0; - var range = FULL; - while (true) { - var value = Math.floor(((register - low + 1) * total - 1) / range); - var start = 0; - var end = symbol_count; - while (end - start > 1) { - var mid = start + end >>> 1; - if (value < acc[mid]) { - end = mid; - } else { - start = mid; - } - } - if (start == 0) - break; - symbols.push(start); - var a = low + Math.floor(range * acc[start] / total); - var b = low + Math.floor(range * acc[start + 1] / total) - 1; - while (((a ^ b) & HALF) == 0) { - register = register << 1 & MASK | read_bit(); - a = a << 1 & MASK; - b = b << 1 & MASK | 1; - } - while (a & ~b & QRTR) { - register = register & HALF | register << 1 & MASK >>> 1 | read_bit(); - a = a << 1 ^ HALF; - b = (b ^ HALF) << 1 | HALF | 1; - } - low = a; - range = 1 + b - a; - } - var offset = symbol_count - 4; - return symbols.map(function(x) { - switch (x - offset) { - case 3: - return offset + 65792 + (bytes[pos_payload++] << 16 | bytes[pos_payload++] << 8 | bytes[pos_payload++]); - case 2: - return offset + 256 + (bytes[pos_payload++] << 8 | bytes[pos_payload++]); - case 1: - return offset + bytes[pos_payload++]; - default: - return x - 1; - } - }); - } - exports2.decode_arithmetic = decode_arithmetic; - function read_payload(v) { - var pos = 0; - return function() { - return v[pos++]; - }; - } - exports2.read_payload = read_payload; - function read_compressed_payload(bytes) { - return read_payload(decode_arithmetic(bytes)); - } - exports2.read_compressed_payload = read_compressed_payload; - function signed(i) { - return i & 1 ? ~i >> 1 : i >> 1; - } - exports2.signed = signed; - function read_counts(n, next) { - var v = Array(n); - for (var i = 0; i < n; i++) - v[i] = 1 + next(); - return v; - } - function read_ascending(n, next) { - var v = Array(n); - for (var i = 0, x = -1; i < n; i++) - v[i] = x += 1 + next(); - return v; - } - function read_deltas(n, next) { - var v = Array(n); - for (var i = 0, x = 0; i < n; i++) - v[i] = x += signed(next()); - return v; - } - function read_member_array(next, lookup) { - var v = read_ascending(next(), next); - var n = next(); - var vX = read_ascending(n, next); - var vN = read_counts(n, next); - for (var i = 0; i < n; i++) { - for (var j = 0; j < vN[i]; j++) { - v.push(vX[i] + j); - } - } - return lookup ? v.map(function(x) { - return lookup[x]; - }) : v; - } - exports2.read_member_array = read_member_array; - function read_mapped_map(next) { - var ret = []; - while (true) { - var w = next(); - if (w == 0) - break; - ret.push(read_linear_table(w, next)); - } - while (true) { - var w = next() - 1; - if (w < 0) - break; - ret.push(read_replacement_table(w, next)); - } - return fromEntries(flat(ret)); - } - exports2.read_mapped_map = read_mapped_map; - function read_zero_terminated_array(next) { - var v = []; - while (true) { - var i = next(); - if (i == 0) - break; - v.push(i); - } - return v; - } - exports2.read_zero_terminated_array = read_zero_terminated_array; - function read_transposed(n, w, next) { - var m = Array(n).fill(void 0).map(function() { - return []; - }); - for (var i = 0; i < w; i++) { - read_deltas(n, next).forEach(function(x, j) { - return m[j].push(x); - }); - } - return m; - } - function read_linear_table(w, next) { - var dx = 1 + next(); - var dy = next(); - var vN = read_zero_terminated_array(next); - var m = read_transposed(vN.length, 1 + w, next); - return flat(m.map(function(v, i) { - var x = v[0], ys = v.slice(1); - return Array(vN[i]).fill(void 0).map(function(_, j) { - var j_dy = j * dy; - return [x + j * dx, ys.map(function(y) { - return y + j_dy; - })]; - }); - })); - } - function read_replacement_table(w, next) { - var n = 1 + next(); - var m = read_transposed(n, 1 + w, next); - return m.map(function(v) { - return [v[0], v.slice(1)]; - }); - } - function read_emoji_trie(next) { - var sorted = read_member_array(next).sort(function(a, b) { - return a - b; - }); - return read(); - function read() { - var branches = []; - while (true) { - var keys = read_member_array(next, sorted); - if (keys.length == 0) - break; - branches.push({ set: new Set(keys), node: read() }); - } - branches.sort(function(a, b) { - return b.set.size - a.set.size; - }); - var temp = next(); - var valid = temp % 3; - temp = temp / 3 | 0; - var fe0f = !!(temp & 1); - temp >>= 1; - var save = temp == 1; - var check = temp == 2; - return { branches, valid, fe0f, save, check }; - } - } - exports2.read_emoji_trie = read_emoji_trie; - } -}); - -// node_modules/@ethersproject/hash/lib/ens-normalize/include.js -var require_include = __commonJS({ - "node_modules/@ethersproject/hash/lib/ens-normalize/include.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.getData = void 0; - var base64_1 = require_lib7(); - var decoder_js_1 = require_decoder(); - function getData() { - return (0, decoder_js_1.read_compressed_payload)((0, base64_1.decode)("AEQF2AO2DEsA2wIrAGsBRABxAN8AZwCcAEwAqgA0AGwAUgByADcATAAVAFYAIQAyACEAKAAYAFgAGwAjABQAMAAmADIAFAAfABQAKwATACoADgAbAA8AHQAYABoAGQAxADgALAAoADwAEwA9ABMAGgARAA4ADwAWABMAFgAIAA8AHgQXBYMA5BHJAS8JtAYoAe4AExozi0UAH21tAaMnBT8CrnIyhrMDhRgDygIBUAEHcoFHUPe8AXBjAewCjgDQR8IICIcEcQLwATXCDgzvHwBmBoHNAqsBdBcUAykgDhAMShskMgo8AY8jqAQfAUAfHw8BDw87MioGlCIPBwZCa4ELatMAAMspJVgsDl8AIhckSg8XAHdvTwBcIQEiDT4OPhUqbyECAEoAS34Aej8Ybx83JgT/Xw8gHxZ/7w8RICxPHA9vBw+Pfw8PHwAPFv+fAsAvCc8vEr8ivwD/EQ8Bol8OEBa/A78hrwAPCU8vESNvvwWfHwNfAVoDHr+ZAAED34YaAdJPAK7PLwSEgDLHAGo1Pz8Pvx9fUwMrpb8O/58VTzAPIBoXIyQJNF8hpwIVAT8YGAUADDNBaX3RAMomJCg9EhUeA29MABsZBTMNJipjOhc19gcIDR8bBwQHEggCWi6DIgLuAQYA+BAFCha3A5XiAEsqM7UFFgFLhAMjFTMYE1Klnw74nRVBG/ASCm0BYRN/BrsU3VoWy+S0vV8LQx+vN8gF2AC2AK5EAWwApgYDKmAAroQ0NDQ0AT+OCg7wAAIHRAbpNgVcBV0APTA5BfbPFgMLzcYL/QqqA82eBALKCjQCjqYCht0/k2+OAsXQAoP3ASTKDgDw6ACKAUYCMpIKJpRaAE4A5womABzZvs0REEKiACIQAd5QdAECAj4Ywg/wGqY2AVgAYADYvAoCGAEubA0gvAY2ALAAbpbvqpyEAGAEpgQAJgAG7gAgAEACmghUFwCqAMpAINQIwC4DthRAAPcycKgApoIdABwBfCisABoATwBqASIAvhnSBP8aH/ECeAKXAq40NjgDBTwFYQU6AXs3oABgAD4XNgmcCY1eCl5tIFZeUqGgyoNHABgAEQAaABNwWQAmABMATPMa3T34ADldyprmM1M2XociUQgLzvwAXT3xABgAEQAaABNwIGFAnADD8AAgAD4BBJWzaCcIAIEBFMAWwKoAAdq9BWAF5wLQpALEtQAKUSGkahR4GnJM+gsAwCgeFAiUAECQ0BQuL8AAIAAAADKeIheclvFqQAAETr4iAMxIARMgAMIoHhQIAn0E0pDQFC4HhznoAAAAIAI2C0/4lvFqQAAETgBJJwYCAy4ABgYAFAA8MBKYEH4eRhTkAjYeFcgACAYAeABsOqyQ5gRwDayqugEgaIIAtgoACgDmEABmBAWGme5OBJJA2m4cDeoAmITWAXwrMgOgAGwBCh6CBXYF1Tzg1wKAAFdiuABRAFwAXQBsAG8AdgBrAHYAbwCEAHEwfxQBVE5TEQADVFhTBwBDANILAqcCzgLTApQCrQL6vAAMAL8APLhNBKkE6glGKTAU4Dr4N2EYEwBCkABKk8rHAbYBmwIoAiU4Ajf/Aq4CowCAANIChzgaNBsCsTgeODcFXrgClQKdAqQBiQGYAqsCsjTsNHsfNPA0ixsAWTWiOAMFPDQSNCk2BDZHNow2TTZUNhk28Jk9VzI3QkEoAoICoQKwAqcAQAAxBV4FXbS9BW47YkIXP1ciUqs05DS/FwABUwJW11e6nHuYZmSh/RAYA8oMKvZ8KASoUAJYWAJ6ILAsAZSoqjpgA0ocBIhmDgDWAAawRDQoAAcuAj5iAHABZiR2AIgiHgCaAU68ACxuHAG0ygM8MiZIAlgBdF4GagJqAPZOHAMuBgoATkYAsABiAHgAMLoGDPj0HpKEBAAOJgAuALggTAHWAeAMEDbd20Uege0ADwAWADkAQgA9OHd+2MUQZBBhBgNNDkxxPxUQArEPqwvqERoM1irQ090ANK4H8ANYB/ADWANYB/AH8ANYB/ADWANYA1gDWBwP8B/YxRBkD00EcgWTBZAE2wiIJk4RhgctCNdUEnQjHEwDSgEBIypJITuYMxAlR0wRTQgIATZHbKx9PQNMMbBU+pCnA9AyVDlxBgMedhKlAC8PeCE1uk6DekxxpQpQT7NX9wBFBgASqwAS5gBJDSgAUCwGPQBI4zTYABNGAE2bAE3KAExdGABKaAbgAFBXAFCOAFBJABI2SWdObALDOq0//QomCZhvwHdTBkIQHCemEPgMNAG2ATwN7kvZBPIGPATKH34ZGg/OlZ0Ipi3eDO4m5C6igFsj9iqEBe5L9TzeC05RaQ9aC2YJ5DpkgU8DIgEOIowK3g06CG4Q9ArKbA3mEUYHOgPWSZsApgcCCxIdNhW2JhFirQsKOXgG/Br3C5AmsBMqev0F1BoiBk4BKhsAANAu6IWxWjJcHU9gBgQLJiPIFKlQIQ0mQLh4SRocBxYlqgKSQ3FKiFE3HpQh9zw+DWcuFFF9B/Y8BhlQC4I8n0asRQ8R0z6OPUkiSkwtBDaALDAnjAnQD4YMunxzAVoJIgmyDHITMhEYN8YIOgcaLpclJxYIIkaWYJsE+KAD9BPSAwwFQAlCBxQDthwuEy8VKgUOgSXYAvQ21i60ApBWgQEYBcwPJh/gEFFH4Q7qCJwCZgOEJewALhUiABginAhEZABgj9lTBi7MCMhqbSN1A2gU6GIRdAeSDlgHqBw0FcAc4nDJXgyGCSiksAlcAXYJmgFgBOQICjVcjKEgQmdUi1kYnCBiQUBd/QIyDGYVoES+h3kCjA9sEhwBNgF0BzoNAgJ4Ee4RbBCWCOyGBTW2M/k6JgRQIYQgEgooA1BszwsoJvoM+WoBpBJjAw00PnfvZ6xgtyUX/gcaMsZBYSHyC5NPzgydGsIYQ1QvGeUHwAP0GvQn60FYBgADpAQUOk4z7wS+C2oIjAlAAEoOpBgH2BhrCnKM0QEyjAG4mgNYkoQCcJAGOAcMAGgMiAV65gAeAqgIpAAGANADWAA6Aq4HngAaAIZCAT4DKDABIuYCkAOUCDLMAZYwAfQqBBzEDBYA+DhuSwLDsgKAa2ajBd5ZAo8CSjYBTiYEBk9IUgOwcuIA3ABMBhTgSAEWrEvMG+REAeBwLADIAPwABjYHBkIBzgH0bgC4AWALMgmjtLYBTuoqAIQAFmwB2AKKAN4ANgCA8gFUAE4FWvoF1AJQSgESMhksWGIBvAMgATQBDgB6BsyOpsoIIARuB9QCEBwV4gLvLwe2AgMi4BPOQsYCvd9WADIXUu5eZwqoCqdeaAC0YTQHMnM9UQAPH6k+yAdy/BZIiQImSwBQ5gBQQzSaNTFWSTYBpwGqKQK38AFtqwBI/wK37gK3rQK3sAK6280C0gK33AK3zxAAUEIAUD9SklKDArekArw5AEQAzAHCO147WTteO1k7XjtZO147WTteO1kDmChYI03AVU0oJqkKbV9GYewMpw3VRMk6ShPcYFJgMxPJLbgUwhXPJVcZPhq9JwYl5VUKDwUt1GYxCC00dhe9AEApaYNCY4ceMQpMHOhTklT5LRwAskujM7ANrRsWREEFSHXuYisWDwojAmSCAmJDXE6wXDchAqH4AmiZAmYKAp+FOBwMAmY8AmYnBG8EgAN/FAN+kzkHOXgYOYM6JCQCbB4CMjc4CwJtyAJtr/CLADRoRiwBaADfAOIASwYHmQyOAP8MwwAOtgJ3MAJ2o0ACeUxEAni7Hl3cRa9G9AJ8QAJ6yQJ9CgJ88UgBSH5kJQAsFklZSlwWGErNAtECAtDNSygDiFADh+dExpEzAvKiXQQDA69Lz0wuJgTQTU1NsAKLQAKK2cIcCB5EaAa4Ao44Ao5dQZiCAo7aAo5deVG1UzYLUtVUhgKT/AKTDQDqAB1VH1WwVdEHLBwplocy4nhnRTw6ApegAu+zWCKpAFomApaQApZ9nQCqWa1aCoJOADwClrYClk9cRVzSApnMApllXMtdCBoCnJw5wzqeApwXAp+cAp65iwAeEDIrEAKd8gKekwC2PmE1YfACntQCoG8BqgKeoCACnk+mY8lkKCYsAiewAiZ/AqD8AqBN2AKmMAKlzwKoAAB+AqfzaH1osgAESmodatICrOQCrK8CrWgCrQMCVx4CVd0CseLYAx9PbJgCsr4OArLpGGzhbWRtSWADJc4Ctl08QG6RAylGArhfArlIFgK5K3hwN3DiAr0aAy2zAzISAr6JcgMDM3ICvhtzI3NQAsPMAsMFc4N0TDZGdOEDPKgDPJsDPcACxX0CxkgCxhGKAshqUgLIRQLJUALJLwJkngLd03h6YniveSZL0QMYpGcDAmH1GfSVJXsMXpNevBICz2wCz20wTFTT9BSgAMeuAs90ASrrA04TfkwGAtwoAtuLAtJQA1JdA1NgAQIDVY2AikABzBfuYUZ2AILPg44C2sgC2d+EEYRKpz0DhqYAMANkD4ZyWvoAVgLfZgLeuXR4AuIw7RUB8zEoAfScAfLTiALr9ALpcXoAAur6AurlAPpIAboC7ooC652Wq5cEAu5AA4XhmHpw4XGiAvMEAGoDjheZlAL3FAORbwOSiAL3mQL52gL4Z5odmqy8OJsfA52EAv77ARwAOp8dn7QDBY4DpmsDptoA0sYDBmuhiaIGCgMMSgFgASACtgNGAJwEgLpoBgC8BGzAEowcggCEDC6kdjoAJAM0C5IKRoABZCgiAIzw3AYBLACkfng9ogigkgNmWAN6AEQCvrkEVqTGAwCsBRbAA+4iQkMCHR072jI2PTbUNsk2RjY5NvA23TZKNiU3EDcZN5I+RTxDRTBCJkK5VBYKFhZfwQCWygU3AJBRHpu+OytgNxa61A40GMsYjsn7BVwFXQVcBV0FaAVdBVwFXQVcBV0FXAVdBVwFXUsaCNyKAK4AAQUHBwKU7oICoW1e7jAEzgPxA+YDwgCkBFDAwADABKzAAOxFLhitA1UFTDeyPkM+bj51QkRCuwTQWWQ8X+0AWBYzsACNA8xwzAGm7EZ/QisoCTAbLDs6fnLfb8H2GccsbgFw13M1HAVkBW/Jxsm9CNRO8E8FDD0FBQw9FkcClOYCoMFegpDfADgcMiA2AJQACB8AsigKAIzIEAJKeBIApY5yPZQIAKQiHb4fvj5BKSRPQrZCOz0oXyxgOywfKAnGbgMClQaCAkILXgdeCD9IIGUgQj5fPoY+dT52Ao5CM0dAX9BTVG9SDzFwWTQAbxBzJF/lOEIQQglCCkKJIAls5AcClQICoKPMODEFxhi6KSAbiyfIRrMjtCgdWCAkPlFBIitCsEJRzAbMAV/OEyQzDg0OAQQEJ36i328/Mk9AybDJsQlq3tDRApUKAkFzXf1d/j9uALYP6hCoFgCTGD8kPsFKQiobrm0+zj0KSD8kPnVCRBwMDyJRTHFgMTJa5rwXQiQ2YfI/JD7BMEJEHGINTw4TOFlIRzwJO0icMQpyPyQ+wzJCRBv6DVgnKB01NgUKj2bwYzMqCoBkznBgEF+zYDIocwRIX+NgHj4HICNfh2C4CwdwFWpTG/lgUhYGAwRfv2Ts8mAaXzVgml/XYIJfuWC4HI1gUF9pYJZgMR6ilQHMAOwLAlDRefC0in4AXAEJA6PjCwc0IamOANMMCAECRQDFNRTZBgd+CwQlRA+r6+gLBDEFBnwUBXgKATIArwAGRAAHA3cDdAN2A3kDdwN9A3oDdQN7A30DfAN4A3oDfQAYEAAlAtYASwMAUAFsAHcKAHcAmgB3AHUAdQB2AHVu8UgAygDAAHcAdQB1AHYAdQALCgB3AAsAmgB3AAsCOwB3AAtu8UgAygDAAHgKAJoAdwB3AHUAdQB2AHUAeAB1AHUAdgB1bvFIAMoAwAALCgCaAHcACwB3AAsCOwB3AAtu8UgAygDAAH4ACwGgALcBpwC6AahdAu0COwLtbvFIAMoAwAALCgCaAu0ACwLtAAsCOwLtAAtu8UgAygDAA24ACwNvAAu0VsQAAzsAABCkjUIpAAsAUIusOggWcgMeBxVsGwL67U/2HlzmWOEeOgALASvuAAseAfpKUpnpGgYJDCIZM6YyARUE9ThqAD5iXQgnAJYJPnOzw0ZAEZxEKsIAkA4DhAHnTAIDxxUDK0lxCQlPYgIvIQVYJQBVqE1GakUAKGYiDToSBA1EtAYAXQJYAIF8GgMHRyAAIAjOe9YncekRAA0KACUrjwE7Ayc6AAYWAqaiKG4McEcqANoN3+Mg9TwCBhIkuCny+JwUQ29L008JluRxu3K+oAdqiHOqFH0AG5SUIfUJ5SxCGfxdipRzqTmT4V5Zb+r1Uo4Vm+NqSSEl2mNvR2JhIa8SpYO6ntdwFXHCWTCK8f2+Hxo7uiG3drDycAuKIMP5bhi06ACnqArH1rz4Rqg//lm6SgJGEVbF9xJHISaR6HxqxSnkw6shDnelHKNEfGUXSJRJ1GcsmtJw25xrZMDK9gXSm1/YMkdX4/6NKYOdtk/NQ3/NnDASjTc3fPjIjW/5sVfVObX2oTDWkr1dF9f3kxBsD3/3aQO8hPfRz+e0uEiJqt1161griu7gz8hDDwtpy+F+BWtefnKHZPAxcZoWbnznhJpy0e842j36bcNzGnIEusgGX0a8ZxsnjcSsPDZ09yZ36fCQbriHeQ72JRMILNl6ePPf2HWoVwgWAm1fb3V2sAY0+B6rAXqSwPBgseVmoqsBTSrm91+XasMYYySI8eeRxH3ZvHkMz3BQ5aJ3iUVbYPNM3/7emRtjlsMgv/9VyTsyt/mK+8fgWeT6SoFaclXqn42dAIsvAarF5vNNWHzKSkKQ/8Hfk5ZWK7r9yliOsooyBjRhfkHP4Q2DkWXQi6FG/9r/IwbmkV5T7JSopHKn1pJwm9tb5Ot0oyN1Z2mPpKXHTxx2nlK08fKk1hEYA8WgVVWL5lgx0iTv+KdojJeU23ZDjmiubXOxVXJKKi2Wjuh2HLZOFLiSC7Tls5SMh4f+Pj6xUSrNjFqLGehRNB8lC0QSLNmkJJx/wSG3MnjE9T1CkPwJI0wH2lfzwETIiVqUxg0dfu5q39Gt+hwdcxkhhNvQ4TyrBceof3Mhs/IxFci1HmHr4FMZgXEEczPiGCx0HRwzAqDq2j9AVm1kwN0mRVLWLylgtoPNapF5cY4Y1wJh/e0BBwZj44YgZrDNqvD/9Hv7GFYdUQeDJuQ3EWI4HaKqavU1XjC/n41kT4L79kqGq0kLhdTZvgP3TA3fS0ozVz+5piZsoOtIvBUFoMKbNcmBL6YxxaUAusHB38XrS8dQMnQwJfUUkpRoGr5AUeWicvBTzyK9g77+yCkf5PAysL7r/JjcZgrbvRpMW9iyaxZvKO6ceZN2EwIxKwVFPuvFuiEPGCoagbMo+SpydLrXqBzNCDGFCrO/rkcwa2xhokQZ5CdZ0AsU3JfSqJ6n5I14YA+P/uAgfhPU84Tlw7cEFfp7AEE8ey4sP12PTt4Cods1GRgDOB5xvyiR5m+Bx8O5nBCNctU8BevfV5A08x6RHd5jcwPTMDSZJOedIZ1cGQ704lxbAzqZOP05ZxaOghzSdvFBHYqomATARyAADK4elP8Ly3IrUZKfWh23Xy20uBUmLS4Pfagu9+oyVa2iPgqRP3F2CTUsvJ7+RYnN8fFZbU/HVvxvcFFDKkiTqV5UBZ3Gz54JAKByi9hkKMZJvuGgcSYXFmw08UyoQyVdfTD1/dMkCHXcTGAKeROgArsvmRrQTLUOXioOHGK2QkjHuoYFgXciZoTJd6Fs5q1QX1G+p/e26hYsEf7QZD1nnIyl/SFkNtYYmmBhpBrxl9WbY0YpHWRuw2Ll/tj9mD8P4snVzJl4F9J+1arVeTb9E5r2ILH04qStjxQNwn3m4YNqxmaNbLAqW2TN6LidwuJRqS+NXbtqxoeDXpxeGWmxzSkWxjkyCkX4NQRme6q5SAcC+M7+9ETfA/EwrzQajKakCwYyeunP6ZFlxU2oMEn1Pz31zeStW74G406ZJFCl1wAXIoUKkWotYEpOuXB1uVNxJ63dpJEqfxBeptwIHNrPz8BllZoIcBoXwgfJ+8VAUnVPvRvexnw0Ma/WiGYuJO5y8QTvEYBigFmhUxY5RqzE8OcywN/8m4UYrlaniJO75XQ6KSo9+tWHlu+hMi0UVdiKQp7NelnoZUzNaIyBPVeOwK6GNp+FfHuPOoyhaWuNvTYFkvxscMQWDh+zeFCFkgwbXftiV23ywJ4+uwRqmg9k3KzwIQpzppt8DBBOMbrqwQM5Gb05sEwdKzMiAqOloaA/lr0KA+1pr0/+HiWoiIjHA/wir2nIuS3PeU/ji3O6ZwoxcR1SZ9FhtLC5S0FIzFhbBWcGVP/KpxOPSiUoAdWUpqKH++6Scz507iCcxYI6rdMBICPJZea7OcmeFw5mObJSiqpjg2UoWNIs+cFhyDSt6geV5qgi3FunmwwDoGSMgerFOZGX1m0dMCYo5XOruxO063dwENK9DbnVM9wYFREzh4vyU1WYYJ/LRRp6oxgjqP/X5a8/4Af6p6NWkQferzBmXme0zY/4nwMJm/wd1tIqSwGz+E3xPEAOoZlJit3XddD7/BT1pllzOx+8bmQtANQ/S6fZexc6qi3W+Q2xcmXTUhuS5mpHQRvcxZUN0S5+PL9lXWUAaRZhEH8hTdAcuNMMCuVNKTEGtSUKNi3O6KhSaTzck8csZ2vWRZ+d7mW8c4IKwXIYd25S/zIftPkwPzufjEvOHWVD1m+FjpDVUTV0DGDuHj6QnaEwLu/dEgdLQOg9E1Sro9XHJ8ykLAwtPu+pxqKDuFexqON1sKQm7rwbE1E68UCfA/erovrTCG+DBSNg0l4goDQvZN6uNlbyLpcZAwj2UclycvLpIZMgv4yRlpb3YuMftozorbcGVHt/VeDV3+Fdf1TP0iuaCsPi2G4XeGhsyF1ubVDxkoJhmniQ0/jSg/eYML9KLfnCFgISWkp91eauR3IQvED0nAPXK+6hPCYs+n3+hCZbiskmVMG2da+0EsZPonUeIY8EbfusQXjsK/eFDaosbPjEfQS0RKG7yj5GG69M7MeO1HmiUYocgygJHL6M1qzUDDwUSmr99V7Sdr2F3JjQAJY+F0yH33Iv3+C9M38eML7gTgmNu/r2bUMiPvpYbZ6v1/IaESirBHNa7mPKn4dEmYg7v/+HQgPN1G79jBQ1+soydfDC2r+h2Bl/KIc5KjMK7OH6nb1jLsNf0EHVe2KBiE51ox636uyG6Lho0t3J34L5QY/ilE3mikaF4HKXG1mG1rCevT1Vv6GavltxoQe/bMrpZvRggnBxSEPEeEzkEdOxTnPXHVjUYdw8JYvjB/o7Eegc3Ma+NUxLLnsK0kJlinPmUHzHGtrk5+CAbVzFOBqpyy3QVUnzTDfC/0XD94/okH+OB+i7g9lolhWIjSnfIb+Eq43ZXOWmwvjyV/qqD+t0e+7mTEM74qP/Ozt8nmC7mRpyu63OB4KnUzFc074SqoyPUAgM+/TJGFo6T44EHnQU4X4z6qannVqgw/U7zCpwcmXV1AubIrvOmkKHazJAR55ePjp5tLBsN8vAqs3NAHdcEHOR2xQ0lsNAFzSUuxFQCFYvXLZJdOj9p4fNq6p0HBGUik2YzaI4xySy91KzhQ0+q1hjxvImRwPRf76tChlRkhRCi74NXZ9qUNeIwP+s5p+3m5nwPdNOHgSLD79n7O9m1n1uDHiMntq4nkYwV5OZ1ENbXxFd4PgrlvavZsyUO4MqYlqqn1O8W/I1dEZq5dXhrbETLaZIbC2Kj/Aa/QM+fqUOHdf0tXAQ1huZ3cmWECWSXy/43j35+Mvq9xws7JKseriZ1pEWKc8qlzNrGPUGcVgOa9cPJYIJsGnJTAUsEcDOEVULO5x0rXBijc1lgXEzQQKhROf8zIV82w8eswc78YX11KYLWQRcgHNJElBxfXr72lS2RBSl07qTKorO2uUDZr3sFhYsvnhLZn0A94KRzJ/7DEGIAhW5ZWFpL8gEwu1aLA9MuWZzNwl8Oze9Y+bX+v9gywRVnoB5I/8kXTXU3141yRLYrIOOz6SOnyHNy4SieqzkBXharjfjqq1q6tklaEbA8Qfm2DaIPs7OTq/nvJBjKfO2H9bH2cCMh1+5gspfycu8f/cuuRmtDjyqZ7uCIMyjdV3a+p3fqmXsRx4C8lujezIFHnQiVTXLXuI1XrwN3+siYYj2HHTvESUx8DlOTXpak9qFRK+L3mgJ1WsD7F4cu1aJoFoYQnu+wGDMOjJM3kiBQWHCcvhJ/HRdxodOQp45YZaOTA22Nb4XKCVxqkbwMYFhzYQYIAnCW8FW14uf98jhUG2zrKhQQ0q0CEq0t5nXyvUyvR8DvD69LU+g3i+HFWQMQ8PqZuHD+sNKAV0+M6EJC0szq7rEr7B5bQ8BcNHzvDMc9eqB5ZCQdTf80Obn4uzjwpYU7SISdtV0QGa9D3Wrh2BDQtpBKxaNFV+/Cy2P/Sv+8s7Ud0Fd74X4+o/TNztWgETUapy+majNQ68Lq3ee0ZO48VEbTZYiH1Co4OlfWef82RWeyUXo7woM03PyapGfikTnQinoNq5z5veLpeMV3HCAMTaZmA1oGLAn7XS3XYsz+XK7VMQsc4XKrmDXOLU/pSXVNUq8dIqTba///3x6LiLS6xs1xuCAYSfcQ3+rQgmu7uvf3THKt5Ooo97TqcbRqxx7EASizaQCBQllG/rYxVapMLgtLbZS64w1MDBMXX+PQpBKNwqUKOf2DDRDUXQf9EhOS0Qj4nTmlA8dzSLz/G1d+Ud8MTy/6ghhdiLpeerGY/UlDOfiuqFsMUU5/UYlP+BAmgRLuNpvrUaLlVkrqDievNVEAwF+4CoM1MZTmjxjJMsKJq+u8Zd7tNCUFy6LiyYXRJQ4VyvEQFFaCGKsxIwQkk7EzZ6LTJq2hUuPhvAW+gQnSG6J+MszC+7QCRHcnqDdyNRJ6T9xyS87A6MDutbzKGvGktpbXqtzWtXb9HsfK2cBMomjN9a4y+TaJLnXxAeX/HWzmf4cR4vALt/P4w4qgKY04ml4ZdLOinFYS6cup3G/1ie4+t1eOnpBNlqGqs75ilzkT4+DsZQxNvaSKJ//6zIbbk/M7LOhFmRc/1R+kBtz7JFGdZm/COotIdvQoXpTqP/1uqEUmCb/QWoGLMwO5ANcHzxdY48IGP5+J+zKOTBFZ4Pid+GTM+Wq12MV/H86xEJptBa6T+p3kgpwLedManBHC2GgNrFpoN2xnrMz9WFWX/8/ygSBkavq2Uv7FdCsLEYLu9LLIvAU0bNRDtzYl+/vXmjpIvuJFYjmI0im6QEYqnIeMsNjXG4vIutIGHijeAG/9EDBozKV5cldkHbLxHh25vT+ZEzbhXlqvpzKJwcEgfNwLAKFeo0/pvEE10XDB+EXRTXtSzJozQKFFAJhMxYkVaCW+E9AL7tMeU8acxidHqzb6lX4691UsDpy/LLRmT+epgW56+5Cw8tB4kMUv6s9lh3eRKbyGs+H/4mQMaYzPTf2OOdokEn+zzgvoD3FqNKk8QqGAXVsqcGdXrT62fSPkR2vROFi68A6se86UxRUk4cajfPyCC4G5wDhD+zNq4jodQ4u4n/m37Lr36n4LIAAsVr02dFi9AiwA81MYs2rm4eDlDNmdMRvEKRHfBwW5DdMNp0jPFZMeARqF/wL4XBfd+EMLBfMzpH5GH6NaW+1vrvMdg+VxDzatk3MXgO3ro3P/DpcC6+Mo4MySJhKJhSR01SGGGp5hPWmrrUgrv3lDnP+HhcI3nt3YqBoVAVTBAQT5iuhTg8nvPtd8ZeYj6w1x6RqGUBrSku7+N1+BaasZvjTk64RoIDlL8brpEcJx3OmY7jLoZsswdtmhfC/G21llXhITOwmvRDDeTTPbyASOa16cF5/A1fZAidJpqju3wYAy9avPR1ya6eNp9K8XYrrtuxlqi+bDKwlfrYdR0RRiKRVTLOH85+ZY7XSmzRpfZBJjaTa81VDcJHpZnZnSQLASGYW9l51ZV/h7eVzTi3Hv6hUsgc/51AqJRTkpbFVLXXszoBL8nBX0u/0jBLT8nH+fJePbrwURT58OY+UieRjd1vs04w0VG5VN2U6MoGZkQzKN/ptz0Q366dxoTGmj7i1NQGHi9GgnquXFYdrCfZBmeb7s0T6yrdlZH5cZuwHFyIJ/kAtGsTg0xH5taAAq44BAk1CPk9KVVbqQzrCUiFdF/6gtlPQ8bHHc1G1W92MXGZ5HEHftyLYs8mbD/9xYRUWkHmlM0zC2ilJlnNgV4bfALpQghxOUoZL7VTqtCHIaQSXm+YUMnpkXybnV+A6xlm2CVy8fn0Xlm2XRa0+zzOa21JWWmixfiPMSCZ7qA4rS93VN3pkpF1s5TonQjisHf7iU9ZGvUPOAKZcR1pbeVf/Ul7OhepGCaId9wOtqo7pJ7yLcBZ0pFkOF28y4zEI/kcUNmutBHaQpBdNM8vjCS6HZRokkeo88TBAjGyG7SR+6vUgTcyK9Imalj0kuxz0wmK+byQU11AiJFk/ya5dNduRClcnU64yGu/ieWSeOos1t3ep+RPIWQ2pyTYVbZltTbsb7NiwSi3AV+8KLWk7LxCnfZUetEM8ThnsSoGH38/nyAwFguJp8FjvlHtcWZuU4hPva0rHfr0UhOOJ/F6vS62FW7KzkmRll2HEc7oUq4fyi5T70Vl7YVIfsPHUCdHesf9Lk7WNVWO75JDkYbMI8TOW8JKVtLY9d6UJRITO8oKo0xS+o99Yy04iniGHAaGj88kEWgwv0OrHdY/nr76DOGNS59hXCGXzTKUvDl9iKpLSWYN1lxIeyywdNpTkhay74w2jFT6NS8qkjo5CxA1yfSYwp6AJIZNKIeEK5PJAW7ORgWgwp0VgzYpqovMrWxbu+DGZ6Lhie1RAqpzm8VUzKJOH3mCzWuTOLsN3VT/dv2eeYe9UjbR8YTBsLz7q60VN1sU51k+um1f8JxD5pPhbhSC8rRaB454tmh6YUWrJI3+GWY0qeWioj/tbkYITOkJaeuGt4JrJvHA+l0Gu7kY7XOaa05alMnRWVCXqFgLIwSY4uF59Ue5SU4QKuc/HamDxbr0x6csCetXGoP7Qn1Bk/J9DsynO/UD6iZ1Hyrz+jit0hDCwi/E9OjgKTbB3ZQKQ/0ZOvevfNHG0NK4Aj3Cp7NpRk07RT1i/S0EL93Ag8GRgKI9CfpajKyK6+Jj/PI1KO5/85VAwz2AwzP8FTBb075IxCXv6T9RVvWT2tUaqxDS92zrGUbWzUYk9mSs82pECH+fkqsDt93VW++4YsR/dHCYcQSYTO/KaBMDj9LSD/J/+z20Kq8XvZUAIHtm9hRPP3ItbuAu2Hm5lkPs92pd7kCxgRs0xOVBnZ13ccdA0aunrwv9SdqElJRC3g+oCu+nXyCgmXUs9yMjTMAIHfxZV+aPKcZeUBWt057Xo85Ks1Ir5gzEHCWqZEhrLZMuF11ziGtFQUds/EESajhagzcKsxamcSZxGth4UII+adPhQkUnx2WyN+4YWR+r3f8MnkyGFuR4zjzxJS8WsQYR5PTyRaD9ixa6Mh741nBHbzfjXHskGDq179xaRNrCIB1z1xRfWfjqw2pHc1zk9xlPpL8sQWAIuETZZhbnmL54rceXVNRvUiKrrqIkeogsl0XXb17ylNb0f4GA9Wd44vffEG8FSZGHEL2fbaTGRcSiCeA8PmA/f6Hz8HCS76fXUHwgwkzSwlI71ekZ7Fapmlk/KC+Hs8hUcw3N2LN5LhkVYyizYFl/uPeVP5lsoJHhhfWvvSWruCUW1ZcJOeuTbrDgywJ/qG07gZJplnTvLcYdNaH0KMYOYMGX+rB4NGPFmQsNaIwlWrfCezxre8zXBrsMT+edVLbLqN1BqB76JH4BvZTqUIMfGwPGEn+EnmTV86fPBaYbFL3DFEhjB45CewkXEAtJxk4/Ms2pPXnaRqdky0HOYdcUcE2zcXq4vaIvW2/v0nHFJH2XXe22ueDmq/18XGtELSq85j9X8q0tcNSSKJIX8FTuJF/Pf8j5PhqG2u+osvsLxYrvvfeVJL+4tkcXcr9JV7v0ERmj/X6fM3NC4j6dS1+9Umr2oPavqiAydTZPLMNRGY23LO9zAVDly7jD+70G5TPPLdhRIl4WxcYjLnM+SNcJ26FOrkrISUtPObIz5Zb3AG612krnpy15RMW+1cQjlnWFI6538qky9axd2oJmHIHP08KyP0ubGO+TQNOYuv2uh17yCIvR8VcStw7o1g0NM60sk+8Tq7YfIBJrtp53GkvzXH7OA0p8/n/u1satf/VJhtR1l8Wa6Gmaug7haSpaCaYQax6ta0mkutlb+eAOSG1aobM81D9A4iS1RRlzBBoVX6tU1S6WE2N9ORY6DfeLRC4l9Rvr5h95XDWB2mR1d4WFudpsgVYwiTwT31ljskD8ZyDOlm5DkGh9N/UB/0AI5Xvb8ZBmai2hQ4BWMqFwYnzxwB26YHSOv9WgY3JXnvoN+2R4rqGVh/LLDMtpFP+SpMGJNWvbIl5SOodbCczW2RKleksPoUeGEzrjtKHVdtZA+kfqO+rVx/iclCqwoopepvJpSTDjT+b9GWylGRF8EDbGlw6eUzmJM95Ovoz+kwLX3c2fTjFeYEsE7vUZm3mqdGJuKh2w9/QGSaqRHs99aScGOdDqkFcACoqdbBoQqqjamhH6Q9ng39JCg3lrGJwd50Qk9ovnqBTr8MME7Ps2wiVfygUmPoUBJJfJWX5Nda0nuncbFkA==")); - } - exports2.getData = getData; - } -}); - -// node_modules/@ethersproject/hash/lib/ens-normalize/lib.js -var require_lib12 = __commonJS({ - "node_modules/@ethersproject/hash/lib/ens-normalize/lib.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.ens_normalize = exports2.ens_normalize_post_check = void 0; - var strings_1 = require_lib11(); - var include_js_1 = require_include(); - var r = (0, include_js_1.getData)(); - var decoder_js_1 = require_decoder(); - var VALID = new Set((0, decoder_js_1.read_member_array)(r)); - var IGNORED = new Set((0, decoder_js_1.read_member_array)(r)); - var MAPPED = (0, decoder_js_1.read_mapped_map)(r); - var EMOJI_ROOT = (0, decoder_js_1.read_emoji_trie)(r); - var HYPHEN = 45; - var UNDERSCORE = 95; - function explode_cp(name) { - return (0, strings_1.toUtf8CodePoints)(name); - } - function filter_fe0f(cps) { - return cps.filter(function(cp) { - return cp != 65039; - }); - } - function ens_normalize_post_check(name) { - for (var _i = 0, _a = name.split("."); _i < _a.length; _i++) { - var label = _a[_i]; - var cps = explode_cp(label); - try { - for (var i = cps.lastIndexOf(UNDERSCORE) - 1; i >= 0; i--) { - if (cps[i] !== UNDERSCORE) { - throw new Error("underscore only allowed at start"); - } - } - if (cps.length >= 4 && cps.every(function(cp) { - return cp < 128; - }) && cps[2] === HYPHEN && cps[3] === HYPHEN) { - throw new Error("invalid label extension"); - } - } catch (err) { - throw new Error('Invalid label "' + label + '": ' + err.message); - } - } - return name; - } - exports2.ens_normalize_post_check = ens_normalize_post_check; - function ens_normalize(name) { - return ens_normalize_post_check(normalize(name, filter_fe0f)); - } - exports2.ens_normalize = ens_normalize; - function normalize(name, emoji_filter) { - var input = explode_cp(name).reverse(); - var output = []; - while (input.length) { - var emoji = consume_emoji_reversed(input); - if (emoji) { - output.push.apply(output, emoji_filter(emoji)); - continue; - } - var cp = input.pop(); - if (VALID.has(cp)) { - output.push(cp); - continue; - } - if (IGNORED.has(cp)) { - continue; - } - var cps = MAPPED[cp]; - if (cps) { - output.push.apply(output, cps); - continue; - } - throw new Error("Disallowed codepoint: 0x" + cp.toString(16).toUpperCase()); - } - return ens_normalize_post_check(nfc(String.fromCodePoint.apply(String, output))); - } - function nfc(s) { - return s.normalize("NFC"); - } - function consume_emoji_reversed(cps, eaten) { - var _a; - var node = EMOJI_ROOT; - var emoji; - var saved; - var stack = []; - var pos = cps.length; - if (eaten) - eaten.length = 0; - var _loop_1 = function() { - var cp = cps[--pos]; - node = (_a = node.branches.find(function(x) { - return x.set.has(cp); - })) === null || _a === void 0 ? void 0 : _a.node; - if (!node) - return "break"; - if (node.save) { - saved = cp; - } else if (node.check) { - if (cp === saved) - return "break"; - } - stack.push(cp); - if (node.fe0f) { - stack.push(65039); - if (pos > 0 && cps[pos - 1] == 65039) - pos--; - } - if (node.valid) { - emoji = stack.slice(); - if (node.valid == 2) - emoji.splice(1, 1); - if (eaten) - eaten.push.apply(eaten, cps.slice(pos).reverse()); - cps.length = pos; - } - }; - while (pos) { - var state_1 = _loop_1(); - if (state_1 === "break") - break; - } - return emoji; - } - } -}); - -// node_modules/@ethersproject/hash/lib/namehash.js -var require_namehash = __commonJS({ - "node_modules/@ethersproject/hash/lib/namehash.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.dnsEncode = exports2.namehash = exports2.isValidName = exports2.ensNormalize = void 0; - var bytes_1 = require_lib2(); - var strings_1 = require_lib11(); - var keccak256_1 = require_lib10(); - var logger_1 = require_lib(); - var _version_1 = require_version8(); - var logger = new logger_1.Logger(_version_1.version); - var lib_1 = require_lib12(); - var Zeros = new Uint8Array(32); - Zeros.fill(0); - function checkComponent(comp) { - if (comp.length === 0) { - throw new Error("invalid ENS name; empty component"); - } - return comp; - } - function ensNameSplit(name) { - var bytes = (0, strings_1.toUtf8Bytes)((0, lib_1.ens_normalize)(name)); - var comps = []; - if (name.length === 0) { - return comps; - } - var last = 0; - for (var i = 0; i < bytes.length; i++) { - var d = bytes[i]; - if (d === 46) { - comps.push(checkComponent(bytes.slice(last, i))); - last = i + 1; - } - } - if (last >= bytes.length) { - throw new Error("invalid ENS name; empty component"); - } - comps.push(checkComponent(bytes.slice(last))); - return comps; - } - function ensNormalize(name) { - return ensNameSplit(name).map(function(comp) { - return (0, strings_1.toUtf8String)(comp); - }).join("."); - } - exports2.ensNormalize = ensNormalize; - function isValidName(name) { - try { - return ensNameSplit(name).length !== 0; - } catch (error) { - } - return false; - } - exports2.isValidName = isValidName; - function namehash(name) { - if (typeof name !== "string") { - logger.throwArgumentError("invalid ENS name; not a string", "name", name); - } - var result = Zeros; - var comps = ensNameSplit(name); - while (comps.length) { - result = (0, keccak256_1.keccak256)((0, bytes_1.concat)([result, (0, keccak256_1.keccak256)(comps.pop())])); - } - return (0, bytes_1.hexlify)(result); - } - exports2.namehash = namehash; - function dnsEncode(name) { - return (0, bytes_1.hexlify)((0, bytes_1.concat)(ensNameSplit(name).map(function(comp) { - if (comp.length > 63) { - throw new Error("invalid DNS encoded entry; length exceeds 63 bytes"); - } - var bytes = new Uint8Array(comp.length + 1); - bytes.set(comp, 1); - bytes[0] = bytes.length - 1; - return bytes; - }))) + "00"; - } - exports2.dnsEncode = dnsEncode; - } -}); - -// node_modules/@ethersproject/hash/lib/message.js -var require_message = __commonJS({ - "node_modules/@ethersproject/hash/lib/message.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.hashMessage = exports2.messagePrefix = void 0; - var bytes_1 = require_lib2(); - var keccak256_1 = require_lib10(); - var strings_1 = require_lib11(); - exports2.messagePrefix = "Ethereum Signed Message:\n"; - function hashMessage(message) { - if (typeof message === "string") { - message = (0, strings_1.toUtf8Bytes)(message); - } - return (0, keccak256_1.keccak256)((0, bytes_1.concat)([ - (0, strings_1.toUtf8Bytes)(exports2.messagePrefix), - (0, strings_1.toUtf8Bytes)(String(message.length)), - message - ])); - } - exports2.hashMessage = hashMessage; - } -}); - -// node_modules/@ethersproject/rlp/lib/_version.js -var require_version9 = __commonJS({ - "node_modules/@ethersproject/rlp/lib/_version.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.version = void 0; - exports2.version = "rlp/5.7.0"; - } -}); - -// node_modules/@ethersproject/rlp/lib/index.js -var require_lib13 = __commonJS({ - "node_modules/@ethersproject/rlp/lib/index.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.decode = exports2.encode = void 0; - var bytes_1 = require_lib2(); - var logger_1 = require_lib(); - var _version_1 = require_version9(); - var logger = new logger_1.Logger(_version_1.version); - function arrayifyInteger(value) { - var result = []; - while (value) { - result.unshift(value & 255); - value >>= 8; - } - return result; - } - function unarrayifyInteger(data, offset, length) { - var result = 0; - for (var i = 0; i < length; i++) { - result = result * 256 + data[offset + i]; - } - return result; - } - function _encode(object) { - if (Array.isArray(object)) { - var payload_1 = []; - object.forEach(function(child) { - payload_1 = payload_1.concat(_encode(child)); - }); - if (payload_1.length <= 55) { - payload_1.unshift(192 + payload_1.length); - return payload_1; - } - var length_1 = arrayifyInteger(payload_1.length); - length_1.unshift(247 + length_1.length); - return length_1.concat(payload_1); - } - if (!(0, bytes_1.isBytesLike)(object)) { - logger.throwArgumentError("RLP object must be BytesLike", "object", object); - } - var data = Array.prototype.slice.call((0, bytes_1.arrayify)(object)); - if (data.length === 1 && data[0] <= 127) { - return data; - } else if (data.length <= 55) { - data.unshift(128 + data.length); - return data; - } - var length = arrayifyInteger(data.length); - length.unshift(183 + length.length); - return length.concat(data); - } - function encode3(object) { - return (0, bytes_1.hexlify)(_encode(object)); - } - exports2.encode = encode3; - function _decodeChildren(data, offset, childOffset, length) { - var result = []; - while (childOffset < offset + 1 + length) { - var decoded = _decode(data, childOffset); - result.push(decoded.result); - childOffset += decoded.consumed; - if (childOffset > offset + 1 + length) { - logger.throwError("child data too short", logger_1.Logger.errors.BUFFER_OVERRUN, {}); - } - } - return { consumed: 1 + length, result }; - } - function _decode(data, offset) { - if (data.length === 0) { - logger.throwError("data too short", logger_1.Logger.errors.BUFFER_OVERRUN, {}); - } - if (data[offset] >= 248) { - var lengthLength = data[offset] - 247; - if (offset + 1 + lengthLength > data.length) { - logger.throwError("data short segment too short", logger_1.Logger.errors.BUFFER_OVERRUN, {}); - } - var length_2 = unarrayifyInteger(data, offset + 1, lengthLength); - if (offset + 1 + lengthLength + length_2 > data.length) { - logger.throwError("data long segment too short", logger_1.Logger.errors.BUFFER_OVERRUN, {}); - } - return _decodeChildren(data, offset, offset + 1 + lengthLength, lengthLength + length_2); - } else if (data[offset] >= 192) { - var length_3 = data[offset] - 192; - if (offset + 1 + length_3 > data.length) { - logger.throwError("data array too short", logger_1.Logger.errors.BUFFER_OVERRUN, {}); - } - return _decodeChildren(data, offset, offset + 1, length_3); - } else if (data[offset] >= 184) { - var lengthLength = data[offset] - 183; - if (offset + 1 + lengthLength > data.length) { - logger.throwError("data array too short", logger_1.Logger.errors.BUFFER_OVERRUN, {}); - } - var length_4 = unarrayifyInteger(data, offset + 1, lengthLength); - if (offset + 1 + lengthLength + length_4 > data.length) { - logger.throwError("data array too short", logger_1.Logger.errors.BUFFER_OVERRUN, {}); - } - var result = (0, bytes_1.hexlify)(data.slice(offset + 1 + lengthLength, offset + 1 + lengthLength + length_4)); - return { consumed: 1 + lengthLength + length_4, result }; - } else if (data[offset] >= 128) { - var length_5 = data[offset] - 128; - if (offset + 1 + length_5 > data.length) { - logger.throwError("data too short", logger_1.Logger.errors.BUFFER_OVERRUN, {}); - } - var result = (0, bytes_1.hexlify)(data.slice(offset + 1, offset + 1 + length_5)); - return { consumed: 1 + length_5, result }; - } - return { consumed: 1, result: (0, bytes_1.hexlify)(data[offset]) }; - } - function decode(data) { - var bytes = (0, bytes_1.arrayify)(data); - var decoded = _decode(bytes, 0); - if (decoded.consumed !== bytes.length) { - logger.throwArgumentError("invalid rlp data", "data", data); - } - return decoded.result; - } - exports2.decode = decode; - } -}); - -// node_modules/@ethersproject/address/lib/_version.js -var require_version10 = __commonJS({ - "node_modules/@ethersproject/address/lib/_version.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.version = void 0; - exports2.version = "address/5.7.0"; - } -}); - -// node_modules/@ethersproject/address/lib/index.js -var require_lib14 = __commonJS({ - "node_modules/@ethersproject/address/lib/index.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.getCreate2Address = exports2.getContractAddress = exports2.getIcapAddress = exports2.isAddress = exports2.getAddress = void 0; - var bytes_1 = require_lib2(); - var bignumber_1 = require_lib3(); - var keccak256_1 = require_lib10(); - var rlp_1 = require_lib13(); - var logger_1 = require_lib(); - var _version_1 = require_version10(); - var logger = new logger_1.Logger(_version_1.version); - function getChecksumAddress(address) { - if (!(0, bytes_1.isHexString)(address, 20)) { - logger.throwArgumentError("invalid address", "address", address); - } - address = address.toLowerCase(); - var chars = address.substring(2).split(""); - var expanded = new Uint8Array(40); - for (var i2 = 0; i2 < 40; i2++) { - expanded[i2] = chars[i2].charCodeAt(0); - } - var hashed = (0, bytes_1.arrayify)((0, keccak256_1.keccak256)(expanded)); - for (var i2 = 0; i2 < 40; i2 += 2) { - if (hashed[i2 >> 1] >> 4 >= 8) { - chars[i2] = chars[i2].toUpperCase(); - } - if ((hashed[i2 >> 1] & 15) >= 8) { - chars[i2 + 1] = chars[i2 + 1].toUpperCase(); - } - } - return "0x" + chars.join(""); - } - var MAX_SAFE_INTEGER = 9007199254740991; - function log10(x) { - if (Math.log10) { - return Math.log10(x); - } - return Math.log(x) / Math.LN10; - } - var ibanLookup = {}; - for (i = 0; i < 10; i++) { - ibanLookup[String(i)] = String(i); - } - var i; - for (i = 0; i < 26; i++) { - ibanLookup[String.fromCharCode(65 + i)] = String(10 + i); - } - var i; - var safeDigits = Math.floor(log10(MAX_SAFE_INTEGER)); - function ibanChecksum(address) { - address = address.toUpperCase(); - address = address.substring(4) + address.substring(0, 2) + "00"; - var expanded = address.split("").map(function(c) { - return ibanLookup[c]; - }).join(""); - while (expanded.length >= safeDigits) { - var block = expanded.substring(0, safeDigits); - expanded = parseInt(block, 10) % 97 + expanded.substring(block.length); - } - var checksum = String(98 - parseInt(expanded, 10) % 97); - while (checksum.length < 2) { - checksum = "0" + checksum; - } - return checksum; - } - function getAddress(address) { - var result = null; - if (typeof address !== "string") { - logger.throwArgumentError("invalid address", "address", address); - } - if (address.match(/^(0x)?[0-9a-fA-F]{40}$/)) { - if (address.substring(0, 2) !== "0x") { - address = "0x" + address; - } - result = getChecksumAddress(address); - if (address.match(/([A-F].*[a-f])|([a-f].*[A-F])/) && result !== address) { - logger.throwArgumentError("bad address checksum", "address", address); - } - } else if (address.match(/^XE[0-9]{2}[0-9A-Za-z]{30,31}$/)) { - if (address.substring(2, 4) !== ibanChecksum(address)) { - logger.throwArgumentError("bad icap checksum", "address", address); - } - result = (0, bignumber_1._base36To16)(address.substring(4)); - while (result.length < 40) { - result = "0" + result; - } - result = getChecksumAddress("0x" + result); - } else { - logger.throwArgumentError("invalid address", "address", address); - } - return result; - } - exports2.getAddress = getAddress; - function isAddress(address) { - try { - getAddress(address); - return true; - } catch (error) { - } - return false; - } - exports2.isAddress = isAddress; - function getIcapAddress(address) { - var base36 = (0, bignumber_1._base16To36)(getAddress(address).substring(2)).toUpperCase(); - while (base36.length < 30) { - base36 = "0" + base36; - } - return "XE" + ibanChecksum("XE00" + base36) + base36; - } - exports2.getIcapAddress = getIcapAddress; - function getContractAddress(transaction) { - var from = null; - try { - from = getAddress(transaction.from); - } catch (error) { - logger.throwArgumentError("missing from address", "transaction", transaction); - } - var nonce = (0, bytes_1.stripZeros)((0, bytes_1.arrayify)(bignumber_1.BigNumber.from(transaction.nonce).toHexString())); - return getAddress((0, bytes_1.hexDataSlice)((0, keccak256_1.keccak256)((0, rlp_1.encode)([from, nonce])), 12)); - } - exports2.getContractAddress = getContractAddress; - function getCreate2Address(from, salt, initCodeHash) { - if ((0, bytes_1.hexDataLength)(salt) !== 32) { - logger.throwArgumentError("salt must be 32 bytes", "salt", salt); - } - if ((0, bytes_1.hexDataLength)(initCodeHash) !== 32) { - logger.throwArgumentError("initCodeHash must be 32 bytes", "initCodeHash", initCodeHash); - } - return getAddress((0, bytes_1.hexDataSlice)((0, keccak256_1.keccak256)((0, bytes_1.concat)(["0xff", getAddress(from), salt, initCodeHash])), 12)); - } - exports2.getCreate2Address = getCreate2Address; - } -}); - -// node_modules/@ethersproject/hash/lib/typed-data.js -var require_typed_data = __commonJS({ - "node_modules/@ethersproject/hash/lib/typed-data.js"(exports2) { - "use strict"; - var __awaiter = exports2 && exports2.__awaiter || function(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, reject) { - function fulfilled(value) { - try { - step(generator.next(value)); - } catch (e) { - reject(e); - } - } - function rejected(value) { - try { - step(generator["throw"](value)); - } catch (e) { - reject(e); - } - } - function step(result) { - result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); - } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); - }; - var __generator = exports2 && exports2.__generator || function(thisArg, body) { - var _ = { label: 0, sent: function() { - if (t[0] & 1) - throw t[1]; - return t[1]; - }, trys: [], ops: [] }, f, y, t, g; - return g = { next: verb(0), "throw": verb(1), "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 (_) - 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 }; - } - }; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.TypedDataEncoder = void 0; - var address_1 = require_lib14(); - var bignumber_1 = require_lib3(); - var bytes_1 = require_lib2(); - var keccak256_1 = require_lib10(); - var properties_1 = require_lib4(); - var logger_1 = require_lib(); - var _version_1 = require_version8(); - var logger = new logger_1.Logger(_version_1.version); - var id_1 = require_id(); - var padding = new Uint8Array(32); - padding.fill(0); - var NegativeOne = bignumber_1.BigNumber.from(-1); - var Zero = bignumber_1.BigNumber.from(0); - var One = bignumber_1.BigNumber.from(1); - var MaxUint256 = bignumber_1.BigNumber.from("0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"); - function hexPadRight(value) { - var bytes = (0, bytes_1.arrayify)(value); - var padOffset = bytes.length % 32; - if (padOffset) { - return (0, bytes_1.hexConcat)([bytes, padding.slice(padOffset)]); - } - return (0, bytes_1.hexlify)(bytes); - } - var hexTrue = (0, bytes_1.hexZeroPad)(One.toHexString(), 32); - var hexFalse = (0, bytes_1.hexZeroPad)(Zero.toHexString(), 32); - var domainFieldTypes = { - name: "string", - version: "string", - chainId: "uint256", - verifyingContract: "address", - salt: "bytes32" - }; - var domainFieldNames = [ - "name", - "version", - "chainId", - "verifyingContract", - "salt" - ]; - function checkString(key) { - return function(value) { - if (typeof value !== "string") { - logger.throwArgumentError("invalid domain value for " + JSON.stringify(key), "domain." + key, value); - } - return value; - }; - } - var domainChecks = { - name: checkString("name"), - version: checkString("version"), - chainId: function(value) { - try { - return bignumber_1.BigNumber.from(value).toString(); - } catch (error) { - } - return logger.throwArgumentError('invalid domain value for "chainId"', "domain.chainId", value); - }, - verifyingContract: function(value) { - try { - return (0, address_1.getAddress)(value).toLowerCase(); - } catch (error) { - } - return logger.throwArgumentError('invalid domain value "verifyingContract"', "domain.verifyingContract", value); - }, - salt: function(value) { - try { - var bytes = (0, bytes_1.arrayify)(value); - if (bytes.length !== 32) { - throw new Error("bad length"); - } - return (0, bytes_1.hexlify)(bytes); - } catch (error) { - } - return logger.throwArgumentError('invalid domain value "salt"', "domain.salt", value); - } - }; - function getBaseEncoder(type) { - { - var match = type.match(/^(u?)int(\d*)$/); - if (match) { - var signed = match[1] === ""; - var width = parseInt(match[2] || "256"); - if (width % 8 !== 0 || width > 256 || match[2] && match[2] !== String(width)) { - logger.throwArgumentError("invalid numeric width", "type", type); - } - var boundsUpper_1 = MaxUint256.mask(signed ? width - 1 : width); - var boundsLower_1 = signed ? boundsUpper_1.add(One).mul(NegativeOne) : Zero; - return function(value) { - var v = bignumber_1.BigNumber.from(value); - if (v.lt(boundsLower_1) || v.gt(boundsUpper_1)) { - logger.throwArgumentError("value out-of-bounds for " + type, "value", value); - } - return (0, bytes_1.hexZeroPad)(v.toTwos(256).toHexString(), 32); - }; - } - } - { - var match = type.match(/^bytes(\d+)$/); - if (match) { - var width_1 = parseInt(match[1]); - if (width_1 === 0 || width_1 > 32 || match[1] !== String(width_1)) { - logger.throwArgumentError("invalid bytes width", "type", type); - } - return function(value) { - var bytes = (0, bytes_1.arrayify)(value); - if (bytes.length !== width_1) { - logger.throwArgumentError("invalid length for " + type, "value", value); - } - return hexPadRight(value); - }; - } - } - switch (type) { - case "address": - return function(value) { - return (0, bytes_1.hexZeroPad)((0, address_1.getAddress)(value), 32); - }; - case "bool": - return function(value) { - return !value ? hexFalse : hexTrue; - }; - case "bytes": - return function(value) { - return (0, keccak256_1.keccak256)(value); - }; - case "string": - return function(value) { - return (0, id_1.id)(value); - }; - } - return null; - } - function encodeType(name, fields) { - return name + "(" + fields.map(function(_a) { - var name2 = _a.name, type = _a.type; - return type + " " + name2; - }).join(",") + ")"; - } - var TypedDataEncoder = ( - /** @class */ - function() { - function TypedDataEncoder2(types) { - (0, properties_1.defineReadOnly)(this, "types", Object.freeze((0, properties_1.deepCopy)(types))); - (0, properties_1.defineReadOnly)(this, "_encoderCache", {}); - (0, properties_1.defineReadOnly)(this, "_types", {}); - var links = {}; - var parents = {}; - var subtypes = {}; - Object.keys(types).forEach(function(type) { - links[type] = {}; - parents[type] = []; - subtypes[type] = {}; - }); - var _loop_1 = function(name_12) { - var uniqueNames = {}; - types[name_12].forEach(function(field) { - if (uniqueNames[field.name]) { - logger.throwArgumentError("duplicate variable name " + JSON.stringify(field.name) + " in " + JSON.stringify(name_12), "types", types); - } - uniqueNames[field.name] = true; - var baseType = field.type.match(/^([^\x5b]*)(\x5b|$)/)[1]; - if (baseType === name_12) { - logger.throwArgumentError("circular type reference to " + JSON.stringify(baseType), "types", types); - } - var encoder = getBaseEncoder(baseType); - if (encoder) { - return; - } - if (!parents[baseType]) { - logger.throwArgumentError("unknown type " + JSON.stringify(baseType), "types", types); - } - parents[baseType].push(name_12); - links[name_12][baseType] = true; - }); - }; - for (var name_1 in types) { - _loop_1(name_1); - } - var primaryTypes = Object.keys(parents).filter(function(n) { - return parents[n].length === 0; - }); - if (primaryTypes.length === 0) { - logger.throwArgumentError("missing primary type", "types", types); - } else if (primaryTypes.length > 1) { - logger.throwArgumentError("ambiguous primary types or unused types: " + primaryTypes.map(function(t) { - return JSON.stringify(t); - }).join(", "), "types", types); - } - (0, properties_1.defineReadOnly)(this, "primaryType", primaryTypes[0]); - function checkCircular(type, found) { - if (found[type]) { - logger.throwArgumentError("circular type reference to " + JSON.stringify(type), "types", types); - } - found[type] = true; - Object.keys(links[type]).forEach(function(child) { - if (!parents[child]) { - return; - } - checkCircular(child, found); - Object.keys(found).forEach(function(subtype) { - subtypes[subtype][child] = true; - }); - }); - delete found[type]; - } - checkCircular(this.primaryType, {}); - for (var name_2 in subtypes) { - var st = Object.keys(subtypes[name_2]); - st.sort(); - this._types[name_2] = encodeType(name_2, types[name_2]) + st.map(function(t) { - return encodeType(t, types[t]); - }).join(""); - } - } - TypedDataEncoder2.prototype.getEncoder = function(type) { - var encoder = this._encoderCache[type]; - if (!encoder) { - encoder = this._encoderCache[type] = this._getEncoder(type); - } - return encoder; - }; - TypedDataEncoder2.prototype._getEncoder = function(type) { - var _this = this; - { - var encoder = getBaseEncoder(type); - if (encoder) { - return encoder; - } - } - var match = type.match(/^(.*)(\x5b(\d*)\x5d)$/); - if (match) { - var subtype_1 = match[1]; - var subEncoder_1 = this.getEncoder(subtype_1); - var length_1 = parseInt(match[3]); - return function(value) { - if (length_1 >= 0 && value.length !== length_1) { - logger.throwArgumentError("array length mismatch; expected length ${ arrayLength }", "value", value); - } - var result = value.map(subEncoder_1); - if (_this._types[subtype_1]) { - result = result.map(keccak256_1.keccak256); - } - return (0, keccak256_1.keccak256)((0, bytes_1.hexConcat)(result)); - }; - } - var fields = this.types[type]; - if (fields) { - var encodedType_1 = (0, id_1.id)(this._types[type]); - return function(value) { - var values = fields.map(function(_a) { - var name = _a.name, type2 = _a.type; - var result = _this.getEncoder(type2)(value[name]); - if (_this._types[type2]) { - return (0, keccak256_1.keccak256)(result); - } - return result; - }); - values.unshift(encodedType_1); - return (0, bytes_1.hexConcat)(values); - }; - } - return logger.throwArgumentError("unknown type: " + type, "type", type); - }; - TypedDataEncoder2.prototype.encodeType = function(name) { - var result = this._types[name]; - if (!result) { - logger.throwArgumentError("unknown type: " + JSON.stringify(name), "name", name); - } - return result; - }; - TypedDataEncoder2.prototype.encodeData = function(type, value) { - return this.getEncoder(type)(value); - }; - TypedDataEncoder2.prototype.hashStruct = function(name, value) { - return (0, keccak256_1.keccak256)(this.encodeData(name, value)); - }; - TypedDataEncoder2.prototype.encode = function(value) { - return this.encodeData(this.primaryType, value); - }; - TypedDataEncoder2.prototype.hash = function(value) { - return this.hashStruct(this.primaryType, value); - }; - TypedDataEncoder2.prototype._visit = function(type, value, callback) { - var _this = this; - { - var encoder = getBaseEncoder(type); - if (encoder) { - return callback(type, value); - } - } - var match = type.match(/^(.*)(\x5b(\d*)\x5d)$/); - if (match) { - var subtype_2 = match[1]; - var length_2 = parseInt(match[3]); - if (length_2 >= 0 && value.length !== length_2) { - logger.throwArgumentError("array length mismatch; expected length ${ arrayLength }", "value", value); - } - return value.map(function(v) { - return _this._visit(subtype_2, v, callback); - }); - } - var fields = this.types[type]; - if (fields) { - return fields.reduce(function(accum, _a) { - var name = _a.name, type2 = _a.type; - accum[name] = _this._visit(type2, value[name], callback); - return accum; - }, {}); - } - return logger.throwArgumentError("unknown type: " + type, "type", type); - }; - TypedDataEncoder2.prototype.visit = function(value, callback) { - return this._visit(this.primaryType, value, callback); - }; - TypedDataEncoder2.from = function(types) { - return new TypedDataEncoder2(types); - }; - TypedDataEncoder2.getPrimaryType = function(types) { - return TypedDataEncoder2.from(types).primaryType; - }; - TypedDataEncoder2.hashStruct = function(name, types, value) { - return TypedDataEncoder2.from(types).hashStruct(name, value); - }; - TypedDataEncoder2.hashDomain = function(domain) { - var domainFields = []; - for (var name_3 in domain) { - var type = domainFieldTypes[name_3]; - if (!type) { - logger.throwArgumentError("invalid typed-data domain key: " + JSON.stringify(name_3), "domain", domain); - } - domainFields.push({ name: name_3, type }); - } - domainFields.sort(function(a, b) { - return domainFieldNames.indexOf(a.name) - domainFieldNames.indexOf(b.name); - }); - return TypedDataEncoder2.hashStruct("EIP712Domain", { EIP712Domain: domainFields }, domain); - }; - TypedDataEncoder2.encode = function(domain, types, value) { - return (0, bytes_1.hexConcat)([ - "0x1901", - TypedDataEncoder2.hashDomain(domain), - TypedDataEncoder2.from(types).hash(value) - ]); - }; - TypedDataEncoder2.hash = function(domain, types, value) { - return (0, keccak256_1.keccak256)(TypedDataEncoder2.encode(domain, types, value)); - }; - TypedDataEncoder2.resolveNames = function(domain, types, value, resolveName) { - return __awaiter(this, void 0, void 0, function() { - var ensCache, encoder, _a, _b, _i, name_4, _c, _d; - return __generator(this, function(_e) { - switch (_e.label) { - case 0: - domain = (0, properties_1.shallowCopy)(domain); - ensCache = {}; - if (domain.verifyingContract && !(0, bytes_1.isHexString)(domain.verifyingContract, 20)) { - ensCache[domain.verifyingContract] = "0x"; - } - encoder = TypedDataEncoder2.from(types); - encoder.visit(value, function(type, value2) { - if (type === "address" && !(0, bytes_1.isHexString)(value2, 20)) { - ensCache[value2] = "0x"; - } - return value2; - }); - _a = []; - for (_b in ensCache) - _a.push(_b); - _i = 0; - _e.label = 1; - case 1: - if (!(_i < _a.length)) - return [3, 4]; - name_4 = _a[_i]; - _c = ensCache; - _d = name_4; - return [4, resolveName(name_4)]; - case 2: - _c[_d] = _e.sent(); - _e.label = 3; - case 3: - _i++; - return [3, 1]; - case 4: - if (domain.verifyingContract && ensCache[domain.verifyingContract]) { - domain.verifyingContract = ensCache[domain.verifyingContract]; - } - value = encoder.visit(value, function(type, value2) { - if (type === "address" && ensCache[value2]) { - return ensCache[value2]; - } - return value2; - }); - return [2, { domain, value }]; - } - }); - }); - }; - TypedDataEncoder2.getPayload = function(domain, types, value) { - TypedDataEncoder2.hashDomain(domain); - var domainValues = {}; - var domainTypes = []; - domainFieldNames.forEach(function(name) { - var value2 = domain[name]; - if (value2 == null) { - return; - } - domainValues[name] = domainChecks[name](value2); - domainTypes.push({ name, type: domainFieldTypes[name] }); - }); - var encoder = TypedDataEncoder2.from(types); - var typesWithDomain = (0, properties_1.shallowCopy)(types); - if (typesWithDomain.EIP712Domain) { - logger.throwArgumentError("types must not contain EIP712Domain type", "types.EIP712Domain", types); - } else { - typesWithDomain.EIP712Domain = domainTypes; - } - encoder.encode(value); - return { - types: typesWithDomain, - domain: domainValues, - primaryType: encoder.primaryType, - message: encoder.visit(value, function(type, value2) { - if (type.match(/^bytes(\d*)/)) { - return (0, bytes_1.hexlify)((0, bytes_1.arrayify)(value2)); - } - if (type.match(/^u?int/)) { - return bignumber_1.BigNumber.from(value2).toString(); - } - switch (type) { - case "address": - return value2.toLowerCase(); - case "bool": - return !!value2; - case "string": - if (typeof value2 !== "string") { - logger.throwArgumentError("invalid string", "value", value2); - } - return value2; - } - return logger.throwArgumentError("unsupported type", "type", type); - }) - }; - }; - return TypedDataEncoder2; - }() - ); - exports2.TypedDataEncoder = TypedDataEncoder; - } -}); - -// node_modules/@ethersproject/hash/lib/index.js -var require_lib15 = __commonJS({ - "node_modules/@ethersproject/hash/lib/index.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2._TypedDataEncoder = exports2.hashMessage = exports2.messagePrefix = exports2.ensNormalize = exports2.isValidName = exports2.namehash = exports2.dnsEncode = exports2.id = void 0; - var id_1 = require_id(); - Object.defineProperty(exports2, "id", { enumerable: true, get: function() { - return id_1.id; - } }); - var namehash_1 = require_namehash(); - Object.defineProperty(exports2, "dnsEncode", { enumerable: true, get: function() { - return namehash_1.dnsEncode; - } }); - Object.defineProperty(exports2, "isValidName", { enumerable: true, get: function() { - return namehash_1.isValidName; - } }); - Object.defineProperty(exports2, "namehash", { enumerable: true, get: function() { - return namehash_1.namehash; - } }); - var message_1 = require_message(); - Object.defineProperty(exports2, "hashMessage", { enumerable: true, get: function() { - return message_1.hashMessage; - } }); - Object.defineProperty(exports2, "messagePrefix", { enumerable: true, get: function() { - return message_1.messagePrefix; - } }); - var namehash_2 = require_namehash(); - Object.defineProperty(exports2, "ensNormalize", { enumerable: true, get: function() { - return namehash_2.ensNormalize; - } }); - var typed_data_1 = require_typed_data(); - Object.defineProperty(exports2, "_TypedDataEncoder", { enumerable: true, get: function() { - return typed_data_1.TypedDataEncoder; - } }); - } -}); - -// node_modules/minimalistic-assert/index.js -var require_minimalistic_assert = __commonJS({ - "node_modules/minimalistic-assert/index.js"(exports2, module2) { - "use strict"; - module2.exports = assert; - function assert(val, msg) { - if (!val) - throw new Error(msg || "Assertion failed"); - } - assert.equal = function assertEqual(l, r, msg) { - if (l != r) - throw new Error(msg || "Assertion failed: " + l + " != " + r); - }; - } -}); - -// node_modules/inherits/inherits_browser.js -var require_inherits_browser = __commonJS({ - "node_modules/inherits/inherits_browser.js"(exports2, module2) { - "use strict"; - if (typeof Object.create === "function") { - module2.exports = function inherits2(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 inherits2(ctor, superCtor) { - if (superCtor) { - ctor.super_ = superCtor; - var TempCtor = function() { - }; - TempCtor.prototype = superCtor.prototype; - ctor.prototype = new TempCtor(); - ctor.prototype.constructor = ctor; - } - }; - } - } -}); - -// node_modules/inherits/inherits.js -var require_inherits = __commonJS({ - "node_modules/inherits/inherits.js"(exports2, module2) { - "use strict"; - try { - util2 = __nccwpck_require__(39023); - if (typeof util2.inherits !== "function") - throw ""; - module2.exports = util2.inherits; - } catch (e) { - module2.exports = require_inherits_browser(); - } - var util2; - } -}); - -// node_modules/hash.js/lib/hash/utils.js -var require_utils = __commonJS({ - "node_modules/hash.js/lib/hash/utils.js"(exports2) { - "use strict"; - var assert = require_minimalistic_assert(); - var inherits2 = require_inherits(); - exports2.inherits = inherits2; - function isSurrogatePair(msg, i) { - if ((msg.charCodeAt(i) & 64512) !== 55296) { - return false; - } - if (i < 0 || i + 1 >= msg.length) { - return false; - } - return (msg.charCodeAt(i + 1) & 64512) === 56320; - } - function toArray2(msg, enc) { - if (Array.isArray(msg)) - return msg.slice(); - if (!msg) - return []; - var res = []; - if (typeof msg === "string") { - if (!enc) { - var p = 0; - for (var i = 0; i < msg.length; i++) { - var c = msg.charCodeAt(i); - if (c < 128) { - res[p++] = c; - } else if (c < 2048) { - res[p++] = c >> 6 | 192; - res[p++] = c & 63 | 128; - } else if (isSurrogatePair(msg, i)) { - c = 65536 + ((c & 1023) << 10) + (msg.charCodeAt(++i) & 1023); - res[p++] = c >> 18 | 240; - res[p++] = c >> 12 & 63 | 128; - res[p++] = c >> 6 & 63 | 128; - res[p++] = c & 63 | 128; - } else { - res[p++] = c >> 12 | 224; - res[p++] = c >> 6 & 63 | 128; - res[p++] = c & 63 | 128; - } - } - } else if (enc === "hex") { - msg = msg.replace(/[^a-z0-9]+/ig, ""); - if (msg.length % 2 !== 0) - msg = "0" + msg; - for (i = 0; i < msg.length; i += 2) - res.push(parseInt(msg[i] + msg[i + 1], 16)); - } - } else { - for (i = 0; i < msg.length; i++) - res[i] = msg[i] | 0; - } - return res; - } - exports2.toArray = toArray2; - function toHex(msg) { - var res = ""; - for (var i = 0; i < msg.length; i++) - res += zero2(msg[i].toString(16)); - return res; - } - exports2.toHex = toHex; - function htonl(w) { - var res = w >>> 24 | w >>> 8 & 65280 | w << 8 & 16711680 | (w & 255) << 24; - return res >>> 0; - } - exports2.htonl = htonl; - function toHex32(msg, endian) { - var res = ""; - for (var i = 0; i < msg.length; i++) { - var w = msg[i]; - if (endian === "little") - w = htonl(w); - res += zero8(w.toString(16)); - } - return res; - } - exports2.toHex32 = toHex32; - function zero2(word) { - if (word.length === 1) - return "0" + word; - else - return word; - } - exports2.zero2 = zero2; - function zero8(word) { - if (word.length === 7) - return "0" + word; - else if (word.length === 6) - return "00" + word; - else if (word.length === 5) - return "000" + word; - else if (word.length === 4) - return "0000" + word; - else if (word.length === 3) - return "00000" + word; - else if (word.length === 2) - return "000000" + word; - else if (word.length === 1) - return "0000000" + word; - else - return word; - } - exports2.zero8 = zero8; - function join32(msg, start, end, endian) { - var len = end - start; - assert(len % 4 === 0); - var res = new Array(len / 4); - for (var i = 0, k = start; i < res.length; i++, k += 4) { - var w; - if (endian === "big") - w = msg[k] << 24 | msg[k + 1] << 16 | msg[k + 2] << 8 | msg[k + 3]; - else - w = msg[k + 3] << 24 | msg[k + 2] << 16 | msg[k + 1] << 8 | msg[k]; - res[i] = w >>> 0; - } - return res; - } - exports2.join32 = join32; - function split32(msg, endian) { - var res = new Array(msg.length * 4); - for (var i = 0, k = 0; i < msg.length; i++, k += 4) { - var m = msg[i]; - if (endian === "big") { - res[k] = m >>> 24; - res[k + 1] = m >>> 16 & 255; - res[k + 2] = m >>> 8 & 255; - res[k + 3] = m & 255; - } else { - res[k + 3] = m >>> 24; - res[k + 2] = m >>> 16 & 255; - res[k + 1] = m >>> 8 & 255; - res[k] = m & 255; - } - } - return res; - } - exports2.split32 = split32; - function rotr32(w, b) { - return w >>> b | w << 32 - b; - } - exports2.rotr32 = rotr32; - function rotl32(w, b) { - return w << b | w >>> 32 - b; - } - exports2.rotl32 = rotl32; - function sum32(a, b) { - return a + b >>> 0; - } - exports2.sum32 = sum32; - function sum32_3(a, b, c) { - return a + b + c >>> 0; - } - exports2.sum32_3 = sum32_3; - function sum32_4(a, b, c, d) { - return a + b + c + d >>> 0; - } - exports2.sum32_4 = sum32_4; - function sum32_5(a, b, c, d, e) { - return a + b + c + d + e >>> 0; - } - exports2.sum32_5 = sum32_5; - function sum64(buf, pos, ah, al) { - var bh = buf[pos]; - var bl = buf[pos + 1]; - var lo = al + bl >>> 0; - var hi = (lo < al ? 1 : 0) + ah + bh; - buf[pos] = hi >>> 0; - buf[pos + 1] = lo; - } - exports2.sum64 = sum64; - function sum64_hi(ah, al, bh, bl) { - var lo = al + bl >>> 0; - var hi = (lo < al ? 1 : 0) + ah + bh; - return hi >>> 0; - } - exports2.sum64_hi = sum64_hi; - function sum64_lo(ah, al, bh, bl) { - var lo = al + bl; - return lo >>> 0; - } - exports2.sum64_lo = sum64_lo; - function sum64_4_hi(ah, al, bh, bl, ch, cl, dh, dl) { - var carry = 0; - var lo = al; - lo = lo + bl >>> 0; - carry += lo < al ? 1 : 0; - lo = lo + cl >>> 0; - carry += lo < cl ? 1 : 0; - lo = lo + dl >>> 0; - carry += lo < dl ? 1 : 0; - var hi = ah + bh + ch + dh + carry; - return hi >>> 0; - } - exports2.sum64_4_hi = sum64_4_hi; - function sum64_4_lo(ah, al, bh, bl, ch, cl, dh, dl) { - var lo = al + bl + cl + dl; - return lo >>> 0; - } - exports2.sum64_4_lo = sum64_4_lo; - function sum64_5_hi(ah, al, bh, bl, ch, cl, dh, dl, eh, el) { - var carry = 0; - var lo = al; - lo = lo + bl >>> 0; - carry += lo < al ? 1 : 0; - lo = lo + cl >>> 0; - carry += lo < cl ? 1 : 0; - lo = lo + dl >>> 0; - carry += lo < dl ? 1 : 0; - lo = lo + el >>> 0; - carry += lo < el ? 1 : 0; - var hi = ah + bh + ch + dh + eh + carry; - return hi >>> 0; - } - exports2.sum64_5_hi = sum64_5_hi; - function sum64_5_lo(ah, al, bh, bl, ch, cl, dh, dl, eh, el) { - var lo = al + bl + cl + dl + el; - return lo >>> 0; - } - exports2.sum64_5_lo = sum64_5_lo; - function rotr64_hi(ah, al, num) { - var r = al << 32 - num | ah >>> num; - return r >>> 0; - } - exports2.rotr64_hi = rotr64_hi; - function rotr64_lo(ah, al, num) { - var r = ah << 32 - num | al >>> num; - return r >>> 0; - } - exports2.rotr64_lo = rotr64_lo; - function shr64_hi(ah, al, num) { - return ah >>> num; - } - exports2.shr64_hi = shr64_hi; - function shr64_lo(ah, al, num) { - var r = ah << 32 - num | al >>> num; - return r >>> 0; - } - exports2.shr64_lo = shr64_lo; - } -}); - -// node_modules/hash.js/lib/hash/common.js -var require_common = __commonJS({ - "node_modules/hash.js/lib/hash/common.js"(exports2) { - "use strict"; - var utils = require_utils(); - var assert = require_minimalistic_assert(); - function BlockHash() { - this.pending = null; - this.pendingTotal = 0; - this.blockSize = this.constructor.blockSize; - this.outSize = this.constructor.outSize; - this.hmacStrength = this.constructor.hmacStrength; - this.padLength = this.constructor.padLength / 8; - this.endian = "big"; - this._delta8 = this.blockSize / 8; - this._delta32 = this.blockSize / 32; - } - exports2.BlockHash = BlockHash; - BlockHash.prototype.update = function update(msg, enc) { - msg = utils.toArray(msg, enc); - if (!this.pending) - this.pending = msg; - else - this.pending = this.pending.concat(msg); - this.pendingTotal += msg.length; - if (this.pending.length >= this._delta8) { - msg = this.pending; - var r = msg.length % this._delta8; - this.pending = msg.slice(msg.length - r, msg.length); - if (this.pending.length === 0) - this.pending = null; - msg = utils.join32(msg, 0, msg.length - r, this.endian); - for (var i = 0; i < msg.length; i += this._delta32) - this._update(msg, i, i + this._delta32); - } - return this; - }; - BlockHash.prototype.digest = function digest(enc) { - this.update(this._pad()); - assert(this.pending === null); - return this._digest(enc); - }; - BlockHash.prototype._pad = function pad() { - var len = this.pendingTotal; - var bytes = this._delta8; - var k = bytes - (len + this.padLength) % bytes; - var res = new Array(k + this.padLength); - res[0] = 128; - for (var i = 1; i < k; i++) - res[i] = 0; - len <<= 3; - if (this.endian === "big") { - for (var t = 8; t < this.padLength; t++) - res[i++] = 0; - res[i++] = 0; - res[i++] = 0; - res[i++] = 0; - res[i++] = 0; - res[i++] = len >>> 24 & 255; - res[i++] = len >>> 16 & 255; - res[i++] = len >>> 8 & 255; - res[i++] = len & 255; - } else { - res[i++] = len & 255; - res[i++] = len >>> 8 & 255; - res[i++] = len >>> 16 & 255; - res[i++] = len >>> 24 & 255; - res[i++] = 0; - res[i++] = 0; - res[i++] = 0; - res[i++] = 0; - for (t = 8; t < this.padLength; t++) - res[i++] = 0; - } - return res; - }; - } -}); - -// node_modules/hash.js/lib/hash/sha/common.js -var require_common2 = __commonJS({ - "node_modules/hash.js/lib/hash/sha/common.js"(exports2) { - "use strict"; - var utils = require_utils(); - var rotr32 = utils.rotr32; - function ft_1(s, x, y, z) { - if (s === 0) - return ch32(x, y, z); - if (s === 1 || s === 3) - return p32(x, y, z); - if (s === 2) - return maj32(x, y, z); - } - exports2.ft_1 = ft_1; - function ch32(x, y, z) { - return x & y ^ ~x & z; - } - exports2.ch32 = ch32; - function maj32(x, y, z) { - return x & y ^ x & z ^ y & z; - } - exports2.maj32 = maj32; - function p32(x, y, z) { - return x ^ y ^ z; - } - exports2.p32 = p32; - function s0_256(x) { - return rotr32(x, 2) ^ rotr32(x, 13) ^ rotr32(x, 22); - } - exports2.s0_256 = s0_256; - function s1_256(x) { - return rotr32(x, 6) ^ rotr32(x, 11) ^ rotr32(x, 25); - } - exports2.s1_256 = s1_256; - function g0_256(x) { - return rotr32(x, 7) ^ rotr32(x, 18) ^ x >>> 3; - } - exports2.g0_256 = g0_256; - function g1_256(x) { - return rotr32(x, 17) ^ rotr32(x, 19) ^ x >>> 10; - } - exports2.g1_256 = g1_256; - } -}); - -// node_modules/hash.js/lib/hash/sha/1.js -var require__ = __commonJS({ - "node_modules/hash.js/lib/hash/sha/1.js"(exports2, module2) { - "use strict"; - var utils = require_utils(); - var common = require_common(); - var shaCommon = require_common2(); - var rotl32 = utils.rotl32; - var sum32 = utils.sum32; - var sum32_5 = utils.sum32_5; - var ft_1 = shaCommon.ft_1; - var BlockHash = common.BlockHash; - var sha1_K = [ - 1518500249, - 1859775393, - 2400959708, - 3395469782 - ]; - function SHA1() { - if (!(this instanceof SHA1)) - return new SHA1(); - BlockHash.call(this); - this.h = [ - 1732584193, - 4023233417, - 2562383102, - 271733878, - 3285377520 - ]; - this.W = new Array(80); - } - utils.inherits(SHA1, BlockHash); - module2.exports = SHA1; - SHA1.blockSize = 512; - SHA1.outSize = 160; - SHA1.hmacStrength = 80; - SHA1.padLength = 64; - SHA1.prototype._update = function _update(msg, start) { - var W = this.W; - for (var i = 0; i < 16; i++) - W[i] = msg[start + i]; - for (; i < W.length; i++) - W[i] = rotl32(W[i - 3] ^ W[i - 8] ^ W[i - 14] ^ W[i - 16], 1); - var a = this.h[0]; - var b = this.h[1]; - var c = this.h[2]; - var d = this.h[3]; - var e = this.h[4]; - for (i = 0; i < W.length; i++) { - var s = ~~(i / 20); - var t = sum32_5(rotl32(a, 5), ft_1(s, b, c, d), e, W[i], sha1_K[s]); - e = d; - d = c; - c = rotl32(b, 30); - b = a; - a = t; - } - this.h[0] = sum32(this.h[0], a); - this.h[1] = sum32(this.h[1], b); - this.h[2] = sum32(this.h[2], c); - this.h[3] = sum32(this.h[3], d); - this.h[4] = sum32(this.h[4], e); - }; - SHA1.prototype._digest = function digest(enc) { - if (enc === "hex") - return utils.toHex32(this.h, "big"); - else - return utils.split32(this.h, "big"); - }; - } -}); - -// node_modules/hash.js/lib/hash/sha/256.js -var require__2 = __commonJS({ - "node_modules/hash.js/lib/hash/sha/256.js"(exports2, module2) { - "use strict"; - var utils = require_utils(); - var common = require_common(); - var shaCommon = require_common2(); - var assert = require_minimalistic_assert(); - var sum32 = utils.sum32; - var sum32_4 = utils.sum32_4; - var sum32_5 = utils.sum32_5; - var ch32 = shaCommon.ch32; - var maj32 = shaCommon.maj32; - var s0_256 = shaCommon.s0_256; - var s1_256 = shaCommon.s1_256; - var g0_256 = shaCommon.g0_256; - var g1_256 = shaCommon.g1_256; - var BlockHash = common.BlockHash; - var sha256_K = [ - 1116352408, - 1899447441, - 3049323471, - 3921009573, - 961987163, - 1508970993, - 2453635748, - 2870763221, - 3624381080, - 310598401, - 607225278, - 1426881987, - 1925078388, - 2162078206, - 2614888103, - 3248222580, - 3835390401, - 4022224774, - 264347078, - 604807628, - 770255983, - 1249150122, - 1555081692, - 1996064986, - 2554220882, - 2821834349, - 2952996808, - 3210313671, - 3336571891, - 3584528711, - 113926993, - 338241895, - 666307205, - 773529912, - 1294757372, - 1396182291, - 1695183700, - 1986661051, - 2177026350, - 2456956037, - 2730485921, - 2820302411, - 3259730800, - 3345764771, - 3516065817, - 3600352804, - 4094571909, - 275423344, - 430227734, - 506948616, - 659060556, - 883997877, - 958139571, - 1322822218, - 1537002063, - 1747873779, - 1955562222, - 2024104815, - 2227730452, - 2361852424, - 2428436474, - 2756734187, - 3204031479, - 3329325298 - ]; - function SHA256() { - if (!(this instanceof SHA256)) - return new SHA256(); - BlockHash.call(this); - this.h = [ - 1779033703, - 3144134277, - 1013904242, - 2773480762, - 1359893119, - 2600822924, - 528734635, - 1541459225 - ]; - this.k = sha256_K; - this.W = new Array(64); - } - utils.inherits(SHA256, BlockHash); - module2.exports = SHA256; - SHA256.blockSize = 512; - SHA256.outSize = 256; - SHA256.hmacStrength = 192; - SHA256.padLength = 64; - SHA256.prototype._update = function _update(msg, start) { - var W = this.W; - for (var i = 0; i < 16; i++) - W[i] = msg[start + i]; - for (; i < W.length; i++) - W[i] = sum32_4(g1_256(W[i - 2]), W[i - 7], g0_256(W[i - 15]), W[i - 16]); - var a = this.h[0]; - var b = this.h[1]; - var c = this.h[2]; - var d = this.h[3]; - var e = this.h[4]; - var f = this.h[5]; - var g = this.h[6]; - var h = this.h[7]; - assert(this.k.length === W.length); - for (i = 0; i < W.length; i++) { - var T1 = sum32_5(h, s1_256(e), ch32(e, f, g), this.k[i], W[i]); - var T2 = sum32(s0_256(a), maj32(a, b, c)); - h = g; - g = f; - f = e; - e = sum32(d, T1); - d = c; - c = b; - b = a; - a = sum32(T1, T2); - } - this.h[0] = sum32(this.h[0], a); - this.h[1] = sum32(this.h[1], b); - this.h[2] = sum32(this.h[2], c); - this.h[3] = sum32(this.h[3], d); - this.h[4] = sum32(this.h[4], e); - this.h[5] = sum32(this.h[5], f); - this.h[6] = sum32(this.h[6], g); - this.h[7] = sum32(this.h[7], h); - }; - SHA256.prototype._digest = function digest(enc) { - if (enc === "hex") - return utils.toHex32(this.h, "big"); - else - return utils.split32(this.h, "big"); - }; - } -}); - -// node_modules/hash.js/lib/hash/sha/224.js -var require__3 = __commonJS({ - "node_modules/hash.js/lib/hash/sha/224.js"(exports2, module2) { - "use strict"; - var utils = require_utils(); - var SHA256 = require__2(); - function SHA224() { - if (!(this instanceof SHA224)) - return new SHA224(); - SHA256.call(this); - this.h = [ - 3238371032, - 914150663, - 812702999, - 4144912697, - 4290775857, - 1750603025, - 1694076839, - 3204075428 - ]; - } - utils.inherits(SHA224, SHA256); - module2.exports = SHA224; - SHA224.blockSize = 512; - SHA224.outSize = 224; - SHA224.hmacStrength = 192; - SHA224.padLength = 64; - SHA224.prototype._digest = function digest(enc) { - if (enc === "hex") - return utils.toHex32(this.h.slice(0, 7), "big"); - else - return utils.split32(this.h.slice(0, 7), "big"); - }; - } -}); - -// node_modules/hash.js/lib/hash/sha/512.js -var require__4 = __commonJS({ - "node_modules/hash.js/lib/hash/sha/512.js"(exports2, module2) { - "use strict"; - var utils = require_utils(); - var common = require_common(); - var assert = require_minimalistic_assert(); - var rotr64_hi = utils.rotr64_hi; - var rotr64_lo = utils.rotr64_lo; - var shr64_hi = utils.shr64_hi; - var shr64_lo = utils.shr64_lo; - var sum64 = utils.sum64; - var sum64_hi = utils.sum64_hi; - var sum64_lo = utils.sum64_lo; - var sum64_4_hi = utils.sum64_4_hi; - var sum64_4_lo = utils.sum64_4_lo; - var sum64_5_hi = utils.sum64_5_hi; - var sum64_5_lo = utils.sum64_5_lo; - var BlockHash = common.BlockHash; - var sha512_K = [ - 1116352408, - 3609767458, - 1899447441, - 602891725, - 3049323471, - 3964484399, - 3921009573, - 2173295548, - 961987163, - 4081628472, - 1508970993, - 3053834265, - 2453635748, - 2937671579, - 2870763221, - 3664609560, - 3624381080, - 2734883394, - 310598401, - 1164996542, - 607225278, - 1323610764, - 1426881987, - 3590304994, - 1925078388, - 4068182383, - 2162078206, - 991336113, - 2614888103, - 633803317, - 3248222580, - 3479774868, - 3835390401, - 2666613458, - 4022224774, - 944711139, - 264347078, - 2341262773, - 604807628, - 2007800933, - 770255983, - 1495990901, - 1249150122, - 1856431235, - 1555081692, - 3175218132, - 1996064986, - 2198950837, - 2554220882, - 3999719339, - 2821834349, - 766784016, - 2952996808, - 2566594879, - 3210313671, - 3203337956, - 3336571891, - 1034457026, - 3584528711, - 2466948901, - 113926993, - 3758326383, - 338241895, - 168717936, - 666307205, - 1188179964, - 773529912, - 1546045734, - 1294757372, - 1522805485, - 1396182291, - 2643833823, - 1695183700, - 2343527390, - 1986661051, - 1014477480, - 2177026350, - 1206759142, - 2456956037, - 344077627, - 2730485921, - 1290863460, - 2820302411, - 3158454273, - 3259730800, - 3505952657, - 3345764771, - 106217008, - 3516065817, - 3606008344, - 3600352804, - 1432725776, - 4094571909, - 1467031594, - 275423344, - 851169720, - 430227734, - 3100823752, - 506948616, - 1363258195, - 659060556, - 3750685593, - 883997877, - 3785050280, - 958139571, - 3318307427, - 1322822218, - 3812723403, - 1537002063, - 2003034995, - 1747873779, - 3602036899, - 1955562222, - 1575990012, - 2024104815, - 1125592928, - 2227730452, - 2716904306, - 2361852424, - 442776044, - 2428436474, - 593698344, - 2756734187, - 3733110249, - 3204031479, - 2999351573, - 3329325298, - 3815920427, - 3391569614, - 3928383900, - 3515267271, - 566280711, - 3940187606, - 3454069534, - 4118630271, - 4000239992, - 116418474, - 1914138554, - 174292421, - 2731055270, - 289380356, - 3203993006, - 460393269, - 320620315, - 685471733, - 587496836, - 852142971, - 1086792851, - 1017036298, - 365543100, - 1126000580, - 2618297676, - 1288033470, - 3409855158, - 1501505948, - 4234509866, - 1607167915, - 987167468, - 1816402316, - 1246189591 - ]; - function SHA512() { - if (!(this instanceof SHA512)) - return new SHA512(); - BlockHash.call(this); - this.h = [ - 1779033703, - 4089235720, - 3144134277, - 2227873595, - 1013904242, - 4271175723, - 2773480762, - 1595750129, - 1359893119, - 2917565137, - 2600822924, - 725511199, - 528734635, - 4215389547, - 1541459225, - 327033209 - ]; - this.k = sha512_K; - this.W = new Array(160); - } - utils.inherits(SHA512, BlockHash); - module2.exports = SHA512; - SHA512.blockSize = 1024; - SHA512.outSize = 512; - SHA512.hmacStrength = 192; - SHA512.padLength = 128; - SHA512.prototype._prepareBlock = function _prepareBlock(msg, start) { - var W = this.W; - for (var i = 0; i < 32; i++) - W[i] = msg[start + i]; - for (; i < W.length; i += 2) { - var c0_hi = g1_512_hi(W[i - 4], W[i - 3]); - var c0_lo = g1_512_lo(W[i - 4], W[i - 3]); - var c1_hi = W[i - 14]; - var c1_lo = W[i - 13]; - var c2_hi = g0_512_hi(W[i - 30], W[i - 29]); - var c2_lo = g0_512_lo(W[i - 30], W[i - 29]); - var c3_hi = W[i - 32]; - var c3_lo = W[i - 31]; - W[i] = sum64_4_hi( - c0_hi, - c0_lo, - c1_hi, - c1_lo, - c2_hi, - c2_lo, - c3_hi, - c3_lo - ); - W[i + 1] = sum64_4_lo( - c0_hi, - c0_lo, - c1_hi, - c1_lo, - c2_hi, - c2_lo, - c3_hi, - c3_lo - ); - } - }; - SHA512.prototype._update = function _update(msg, start) { - this._prepareBlock(msg, start); - var W = this.W; - var ah = this.h[0]; - var al = this.h[1]; - var bh = this.h[2]; - var bl = this.h[3]; - var ch = this.h[4]; - var cl = this.h[5]; - var dh = this.h[6]; - var dl = this.h[7]; - var eh = this.h[8]; - var el = this.h[9]; - var fh = this.h[10]; - var fl = this.h[11]; - var gh = this.h[12]; - var gl = this.h[13]; - var hh = this.h[14]; - var hl = this.h[15]; - assert(this.k.length === W.length); - for (var i = 0; i < W.length; i += 2) { - var c0_hi = hh; - var c0_lo = hl; - var c1_hi = s1_512_hi(eh, el); - var c1_lo = s1_512_lo(eh, el); - var c2_hi = ch64_hi(eh, el, fh, fl, gh, gl); - var c2_lo = ch64_lo(eh, el, fh, fl, gh, gl); - var c3_hi = this.k[i]; - var c3_lo = this.k[i + 1]; - var c4_hi = W[i]; - var c4_lo = W[i + 1]; - var T1_hi = sum64_5_hi( - c0_hi, - c0_lo, - c1_hi, - c1_lo, - c2_hi, - c2_lo, - c3_hi, - c3_lo, - c4_hi, - c4_lo - ); - var T1_lo = sum64_5_lo( - c0_hi, - c0_lo, - c1_hi, - c1_lo, - c2_hi, - c2_lo, - c3_hi, - c3_lo, - c4_hi, - c4_lo - ); - c0_hi = s0_512_hi(ah, al); - c0_lo = s0_512_lo(ah, al); - c1_hi = maj64_hi(ah, al, bh, bl, ch, cl); - c1_lo = maj64_lo(ah, al, bh, bl, ch, cl); - var T2_hi = sum64_hi(c0_hi, c0_lo, c1_hi, c1_lo); - var T2_lo = sum64_lo(c0_hi, c0_lo, c1_hi, c1_lo); - hh = gh; - hl = gl; - gh = fh; - gl = fl; - fh = eh; - fl = el; - eh = sum64_hi(dh, dl, T1_hi, T1_lo); - el = sum64_lo(dl, dl, T1_hi, T1_lo); - dh = ch; - dl = cl; - ch = bh; - cl = bl; - bh = ah; - bl = al; - ah = sum64_hi(T1_hi, T1_lo, T2_hi, T2_lo); - al = sum64_lo(T1_hi, T1_lo, T2_hi, T2_lo); - } - sum64(this.h, 0, ah, al); - sum64(this.h, 2, bh, bl); - sum64(this.h, 4, ch, cl); - sum64(this.h, 6, dh, dl); - sum64(this.h, 8, eh, el); - sum64(this.h, 10, fh, fl); - sum64(this.h, 12, gh, gl); - sum64(this.h, 14, hh, hl); - }; - SHA512.prototype._digest = function digest(enc) { - if (enc === "hex") - return utils.toHex32(this.h, "big"); - else - return utils.split32(this.h, "big"); - }; - function ch64_hi(xh, xl, yh, yl, zh) { - var r = xh & yh ^ ~xh & zh; - if (r < 0) - r += 4294967296; - return r; - } - function ch64_lo(xh, xl, yh, yl, zh, zl) { - var r = xl & yl ^ ~xl & zl; - if (r < 0) - r += 4294967296; - return r; - } - function maj64_hi(xh, xl, yh, yl, zh) { - var r = xh & yh ^ xh & zh ^ yh & zh; - if (r < 0) - r += 4294967296; - return r; - } - function maj64_lo(xh, xl, yh, yl, zh, zl) { - var r = xl & yl ^ xl & zl ^ yl & zl; - if (r < 0) - r += 4294967296; - return r; - } - function s0_512_hi(xh, xl) { - var c0_hi = rotr64_hi(xh, xl, 28); - var c1_hi = rotr64_hi(xl, xh, 2); - var c2_hi = rotr64_hi(xl, xh, 7); - var r = c0_hi ^ c1_hi ^ c2_hi; - if (r < 0) - r += 4294967296; - return r; - } - function s0_512_lo(xh, xl) { - var c0_lo = rotr64_lo(xh, xl, 28); - var c1_lo = rotr64_lo(xl, xh, 2); - var c2_lo = rotr64_lo(xl, xh, 7); - var r = c0_lo ^ c1_lo ^ c2_lo; - if (r < 0) - r += 4294967296; - return r; - } - function s1_512_hi(xh, xl) { - var c0_hi = rotr64_hi(xh, xl, 14); - var c1_hi = rotr64_hi(xh, xl, 18); - var c2_hi = rotr64_hi(xl, xh, 9); - var r = c0_hi ^ c1_hi ^ c2_hi; - if (r < 0) - r += 4294967296; - return r; - } - function s1_512_lo(xh, xl) { - var c0_lo = rotr64_lo(xh, xl, 14); - var c1_lo = rotr64_lo(xh, xl, 18); - var c2_lo = rotr64_lo(xl, xh, 9); - var r = c0_lo ^ c1_lo ^ c2_lo; - if (r < 0) - r += 4294967296; - return r; - } - function g0_512_hi(xh, xl) { - var c0_hi = rotr64_hi(xh, xl, 1); - var c1_hi = rotr64_hi(xh, xl, 8); - var c2_hi = shr64_hi(xh, xl, 7); - var r = c0_hi ^ c1_hi ^ c2_hi; - if (r < 0) - r += 4294967296; - return r; - } - function g0_512_lo(xh, xl) { - var c0_lo = rotr64_lo(xh, xl, 1); - var c1_lo = rotr64_lo(xh, xl, 8); - var c2_lo = shr64_lo(xh, xl, 7); - var r = c0_lo ^ c1_lo ^ c2_lo; - if (r < 0) - r += 4294967296; - return r; - } - function g1_512_hi(xh, xl) { - var c0_hi = rotr64_hi(xh, xl, 19); - var c1_hi = rotr64_hi(xl, xh, 29); - var c2_hi = shr64_hi(xh, xl, 6); - var r = c0_hi ^ c1_hi ^ c2_hi; - if (r < 0) - r += 4294967296; - return r; - } - function g1_512_lo(xh, xl) { - var c0_lo = rotr64_lo(xh, xl, 19); - var c1_lo = rotr64_lo(xl, xh, 29); - var c2_lo = shr64_lo(xh, xl, 6); - var r = c0_lo ^ c1_lo ^ c2_lo; - if (r < 0) - r += 4294967296; - return r; - } - } -}); - -// node_modules/hash.js/lib/hash/sha/384.js -var require__5 = __commonJS({ - "node_modules/hash.js/lib/hash/sha/384.js"(exports2, module2) { - "use strict"; - var utils = require_utils(); - var SHA512 = require__4(); - function SHA384() { - if (!(this instanceof SHA384)) - return new SHA384(); - SHA512.call(this); - this.h = [ - 3418070365, - 3238371032, - 1654270250, - 914150663, - 2438529370, - 812702999, - 355462360, - 4144912697, - 1731405415, - 4290775857, - 2394180231, - 1750603025, - 3675008525, - 1694076839, - 1203062813, - 3204075428 - ]; - } - utils.inherits(SHA384, SHA512); - module2.exports = SHA384; - SHA384.blockSize = 1024; - SHA384.outSize = 384; - SHA384.hmacStrength = 192; - SHA384.padLength = 128; - SHA384.prototype._digest = function digest(enc) { - if (enc === "hex") - return utils.toHex32(this.h.slice(0, 12), "big"); - else - return utils.split32(this.h.slice(0, 12), "big"); - }; - } -}); - -// node_modules/hash.js/lib/hash/sha.js -var require_sha = __commonJS({ - "node_modules/hash.js/lib/hash/sha.js"(exports2) { - "use strict"; - exports2.sha1 = require__(); - exports2.sha224 = require__3(); - exports2.sha256 = require__2(); - exports2.sha384 = require__5(); - exports2.sha512 = require__4(); - } -}); - -// node_modules/hash.js/lib/hash/ripemd.js -var require_ripemd = __commonJS({ - "node_modules/hash.js/lib/hash/ripemd.js"(exports2) { - "use strict"; - var utils = require_utils(); - var common = require_common(); - var rotl32 = utils.rotl32; - var sum32 = utils.sum32; - var sum32_3 = utils.sum32_3; - var sum32_4 = utils.sum32_4; - var BlockHash = common.BlockHash; - function RIPEMD160() { - if (!(this instanceof RIPEMD160)) - return new RIPEMD160(); - BlockHash.call(this); - this.h = [1732584193, 4023233417, 2562383102, 271733878, 3285377520]; - this.endian = "little"; - } - utils.inherits(RIPEMD160, BlockHash); - exports2.ripemd160 = RIPEMD160; - RIPEMD160.blockSize = 512; - RIPEMD160.outSize = 160; - RIPEMD160.hmacStrength = 192; - RIPEMD160.padLength = 64; - RIPEMD160.prototype._update = function update(msg, start) { - var A = this.h[0]; - var B = this.h[1]; - var C = this.h[2]; - var D = this.h[3]; - var E = this.h[4]; - var Ah = A; - var Bh = B; - var Ch = C; - var Dh = D; - var Eh = E; - for (var j = 0; j < 80; j++) { - var T = sum32( - rotl32( - sum32_4(A, f(j, B, C, D), msg[r[j] + start], K(j)), - s[j] - ), - E - ); - A = E; - E = D; - D = rotl32(C, 10); - C = B; - B = T; - T = sum32( - rotl32( - sum32_4(Ah, f(79 - j, Bh, Ch, Dh), msg[rh[j] + start], Kh(j)), - sh[j] - ), - Eh - ); - Ah = Eh; - Eh = Dh; - Dh = rotl32(Ch, 10); - Ch = Bh; - Bh = T; - } - T = sum32_3(this.h[1], C, Dh); - this.h[1] = sum32_3(this.h[2], D, Eh); - this.h[2] = sum32_3(this.h[3], E, Ah); - this.h[3] = sum32_3(this.h[4], A, Bh); - this.h[4] = sum32_3(this.h[0], B, Ch); - this.h[0] = T; - }; - RIPEMD160.prototype._digest = function digest(enc) { - if (enc === "hex") - return utils.toHex32(this.h, "little"); - else - return utils.split32(this.h, "little"); - }; - function f(j, x, y, z) { - if (j <= 15) - return x ^ y ^ z; - else if (j <= 31) - return x & y | ~x & z; - else if (j <= 47) - return (x | ~y) ^ z; - else if (j <= 63) - return x & z | y & ~z; - else - return x ^ (y | ~z); - } - function K(j) { - if (j <= 15) - return 0; - else if (j <= 31) - return 1518500249; - else if (j <= 47) - return 1859775393; - else if (j <= 63) - return 2400959708; - else - return 2840853838; - } - function Kh(j) { - if (j <= 15) - return 1352829926; - else if (j <= 31) - return 1548603684; - else if (j <= 47) - return 1836072691; - else if (j <= 63) - return 2053994217; - else - return 0; - } - var r = [ - 0, - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 7, - 4, - 13, - 1, - 10, - 6, - 15, - 3, - 12, - 0, - 9, - 5, - 2, - 14, - 11, - 8, - 3, - 10, - 14, - 4, - 9, - 15, - 8, - 1, - 2, - 7, - 0, - 6, - 13, - 11, - 5, - 12, - 1, - 9, - 11, - 10, - 0, - 8, - 12, - 4, - 13, - 3, - 7, - 15, - 14, - 5, - 6, - 2, - 4, - 0, - 5, - 9, - 7, - 12, - 2, - 10, - 14, - 1, - 3, - 8, - 11, - 6, - 15, - 13 - ]; - var rh = [ - 5, - 14, - 7, - 0, - 9, - 2, - 11, - 4, - 13, - 6, - 15, - 8, - 1, - 10, - 3, - 12, - 6, - 11, - 3, - 7, - 0, - 13, - 5, - 10, - 14, - 15, - 8, - 12, - 4, - 9, - 1, - 2, - 15, - 5, - 1, - 3, - 7, - 14, - 6, - 9, - 11, - 8, - 12, - 2, - 10, - 0, - 4, - 13, - 8, - 6, - 4, - 1, - 3, - 11, - 15, - 0, - 5, - 12, - 2, - 13, - 9, - 7, - 10, - 14, - 12, - 15, - 10, - 4, - 1, - 5, - 8, - 7, - 6, - 2, - 13, - 14, - 0, - 3, - 9, - 11 - ]; - var s = [ - 11, - 14, - 15, - 12, - 5, - 8, - 7, - 9, - 11, - 13, - 14, - 15, - 6, - 7, - 9, - 8, - 7, - 6, - 8, - 13, - 11, - 9, - 7, - 15, - 7, - 12, - 15, - 9, - 11, - 7, - 13, - 12, - 11, - 13, - 6, - 7, - 14, - 9, - 13, - 15, - 14, - 8, - 13, - 6, - 5, - 12, - 7, - 5, - 11, - 12, - 14, - 15, - 14, - 15, - 9, - 8, - 9, - 14, - 5, - 6, - 8, - 6, - 5, - 12, - 9, - 15, - 5, - 11, - 6, - 8, - 13, - 12, - 5, - 12, - 13, - 14, - 11, - 8, - 5, - 6 - ]; - var sh = [ - 8, - 9, - 9, - 11, - 13, - 15, - 15, - 5, - 7, - 7, - 8, - 11, - 14, - 14, - 12, - 6, - 9, - 13, - 15, - 7, - 12, - 8, - 9, - 11, - 7, - 7, - 12, - 7, - 6, - 15, - 13, - 11, - 9, - 7, - 15, - 11, - 8, - 6, - 6, - 14, - 12, - 13, - 5, - 14, - 13, - 13, - 7, - 5, - 15, - 5, - 8, - 11, - 14, - 14, - 6, - 14, - 6, - 9, - 12, - 9, - 12, - 5, - 15, - 8, - 8, - 5, - 12, - 9, - 12, - 5, - 14, - 6, - 8, - 13, - 6, - 5, - 15, - 13, - 11, - 11 - ]; - } -}); - -// node_modules/hash.js/lib/hash/hmac.js -var require_hmac = __commonJS({ - "node_modules/hash.js/lib/hash/hmac.js"(exports2, module2) { - "use strict"; - var utils = require_utils(); - var assert = require_minimalistic_assert(); - function Hmac(hash, key, enc) { - if (!(this instanceof Hmac)) - return new Hmac(hash, key, enc); - this.Hash = hash; - this.blockSize = hash.blockSize / 8; - this.outSize = hash.outSize / 8; - this.inner = null; - this.outer = null; - this._init(utils.toArray(key, enc)); - } - module2.exports = Hmac; - Hmac.prototype._init = function init(key) { - if (key.length > this.blockSize) - key = new this.Hash().update(key).digest(); - assert(key.length <= this.blockSize); - for (var i = key.length; i < this.blockSize; i++) - key.push(0); - for (i = 0; i < key.length; i++) - key[i] ^= 54; - this.inner = new this.Hash().update(key); - for (i = 0; i < key.length; i++) - key[i] ^= 106; - this.outer = new this.Hash().update(key); - }; - Hmac.prototype.update = function update(msg, enc) { - this.inner.update(msg, enc); - return this; - }; - Hmac.prototype.digest = function digest(enc) { - this.outer.update(this.inner.digest()); - return this.outer.digest(enc); - }; - } -}); - -// node_modules/hash.js/lib/hash.js -var require_hash = __commonJS({ - "node_modules/hash.js/lib/hash.js"(exports2) { - "use strict"; - var hash = exports2; - hash.utils = require_utils(); - hash.common = require_common(); - hash.sha = require_sha(); - hash.ripemd = require_ripemd(); - hash.hmac = require_hmac(); - hash.sha1 = hash.sha.sha1; - hash.sha256 = hash.sha.sha256; - hash.sha224 = hash.sha.sha224; - hash.sha384 = hash.sha.sha384; - hash.sha512 = hash.sha.sha512; - hash.ripemd160 = hash.ripemd.ripemd160; - } -}); - -// node_modules/@ethersproject/sha2/lib/types.js -var require_types = __commonJS({ - "node_modules/@ethersproject/sha2/lib/types.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.SupportedAlgorithm = void 0; - var SupportedAlgorithm; - (function(SupportedAlgorithm2) { - SupportedAlgorithm2["sha256"] = "sha256"; - SupportedAlgorithm2["sha512"] = "sha512"; - })(SupportedAlgorithm = exports2.SupportedAlgorithm || (exports2.SupportedAlgorithm = {})); - } -}); - -// node_modules/@ethersproject/sha2/lib/_version.js -var require_version11 = __commonJS({ - "node_modules/@ethersproject/sha2/lib/_version.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.version = void 0; - exports2.version = "sha2/5.7.0"; - } -}); - -// node_modules/@ethersproject/sha2/lib/sha2.js -var require_sha2 = __commonJS({ - "node_modules/@ethersproject/sha2/lib/sha2.js"(exports2) { - "use strict"; - var __importDefault = exports2 && exports2.__importDefault || function(mod) { - return mod && mod.__esModule ? mod : { "default": mod }; - }; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.computeHmac = exports2.sha512 = exports2.sha256 = exports2.ripemd160 = void 0; - var crypto_1 = __nccwpck_require__(76982); - var hash_js_1 = __importDefault(require_hash()); - var bytes_1 = require_lib2(); - var types_1 = require_types(); - var logger_1 = require_lib(); - var _version_1 = require_version11(); - var logger = new logger_1.Logger(_version_1.version); - function ripemd160(data) { - return "0x" + hash_js_1.default.ripemd160().update((0, bytes_1.arrayify)(data)).digest("hex"); - } - exports2.ripemd160 = ripemd160; - function sha256(data) { - return "0x" + (0, crypto_1.createHash)("sha256").update(Buffer.from((0, bytes_1.arrayify)(data))).digest("hex"); - } - exports2.sha256 = sha256; - function sha512(data) { - return "0x" + (0, crypto_1.createHash)("sha512").update(Buffer.from((0, bytes_1.arrayify)(data))).digest("hex"); - } - exports2.sha512 = sha512; - function computeHmac(algorithm, key, data) { - if (!types_1.SupportedAlgorithm[algorithm]) { - logger.throwError("unsupported algorithm - " + algorithm, logger_1.Logger.errors.UNSUPPORTED_OPERATION, { - operation: "computeHmac", - algorithm - }); - } - return "0x" + (0, crypto_1.createHmac)(algorithm, Buffer.from((0, bytes_1.arrayify)(key))).update(Buffer.from((0, bytes_1.arrayify)(data))).digest("hex"); - } - exports2.computeHmac = computeHmac; - } -}); - -// node_modules/@ethersproject/sha2/lib/index.js -var require_lib16 = __commonJS({ - "node_modules/@ethersproject/sha2/lib/index.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.SupportedAlgorithm = exports2.sha512 = exports2.sha256 = exports2.ripemd160 = exports2.computeHmac = void 0; - var sha2_1 = require_sha2(); - Object.defineProperty(exports2, "computeHmac", { enumerable: true, get: function() { - return sha2_1.computeHmac; - } }); - Object.defineProperty(exports2, "ripemd160", { enumerable: true, get: function() { - return sha2_1.ripemd160; - } }); - Object.defineProperty(exports2, "sha256", { enumerable: true, get: function() { - return sha2_1.sha256; - } }); - Object.defineProperty(exports2, "sha512", { enumerable: true, get: function() { - return sha2_1.sha512; - } }); - var types_1 = require_types(); - Object.defineProperty(exports2, "SupportedAlgorithm", { enumerable: true, get: function() { - return types_1.SupportedAlgorithm; - } }); - } -}); - -// node_modules/@ethersproject/web/lib/_version.js -var require_version12 = __commonJS({ - "node_modules/@ethersproject/web/lib/_version.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.version = void 0; - exports2.version = "web/5.7.1"; - } -}); - -// node_modules/@ethersproject/web/lib/geturl.js -var require_geturl = __commonJS({ - "node_modules/@ethersproject/web/lib/geturl.js"(exports2) { - "use strict"; - var __awaiter = exports2 && exports2.__awaiter || function(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, reject) { - function fulfilled(value) { - try { - step(generator.next(value)); - } catch (e) { - reject(e); - } - } - function rejected(value) { - try { - step(generator["throw"](value)); - } catch (e) { - reject(e); - } - } - function step(result) { - result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); - } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); - }; - var __generator = exports2 && exports2.__generator || function(thisArg, body) { - var _ = { label: 0, sent: function() { - if (t[0] & 1) - throw t[1]; - return t[1]; - }, trys: [], ops: [] }, f, y, t, g; - return g = { next: verb(0), "throw": verb(1), "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 (_) - 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 }; - } - }; - var __importDefault = exports2 && exports2.__importDefault || function(mod) { - return mod && mod.__esModule ? mod : { "default": mod }; - }; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.getUrl = void 0; - var http_1 = __importDefault(__nccwpck_require__(58611)); - var https_1 = __importDefault(__nccwpck_require__(65692)); - var zlib_1 = __nccwpck_require__(43106); - var url_1 = __nccwpck_require__(87016); - var bytes_1 = require_lib2(); - var properties_1 = require_lib4(); - var logger_1 = require_lib(); - var _version_1 = require_version12(); - var logger = new logger_1.Logger(_version_1.version); - function getResponse(request) { - return new Promise(function(resolve, reject) { - request.once("response", function(resp) { - var response = { - statusCode: resp.statusCode, - statusMessage: resp.statusMessage, - headers: Object.keys(resp.headers).reduce(function(accum, name) { - var value = resp.headers[name]; - if (Array.isArray(value)) { - value = value.join(", "); - } - accum[name] = value; - return accum; - }, {}), - body: null - }; - resp.on("data", function(chunk) { - if (response.body == null) { - response.body = new Uint8Array(0); - } - response.body = (0, bytes_1.concat)([response.body, chunk]); - }); - resp.on("end", function() { - if (response.headers["content-encoding"] === "gzip") { - response.body = (0, bytes_1.arrayify)((0, zlib_1.gunzipSync)(response.body)); - } - resolve(response); - }); - resp.on("error", function(error) { - error.response = response; - reject(error); - }); - }); - request.on("error", function(error) { - reject(error); - }); - }); - } - function nonnull(value) { - if (value == null) { - return ""; - } - return value; - } - function getUrl(href, options) { - return __awaiter(this, void 0, void 0, function() { - var url2, request, req, response; - return __generator(this, function(_a) { - switch (_a.label) { - case 0: - if (options == null) { - options = {}; - } - url2 = (0, url_1.parse)(href); - request = { - protocol: nonnull(url2.protocol), - hostname: nonnull(url2.hostname), - port: nonnull(url2.port), - path: nonnull(url2.pathname) + nonnull(url2.search), - method: options.method || "GET", - headers: (0, properties_1.shallowCopy)(options.headers || {}) - }; - if (options.allowGzip) { - request.headers["accept-encoding"] = "gzip"; - } - req = null; - switch (nonnull(url2.protocol)) { - case "http:": - req = http_1.default.request(request); - break; - case "https:": - req = https_1.default.request(request); - break; - default: - logger.throwError("unsupported protocol " + url2.protocol, logger_1.Logger.errors.UNSUPPORTED_OPERATION, { - protocol: url2.protocol, - operation: "request" - }); - } - if (options.body) { - req.write(Buffer.from(options.body)); - } - req.end(); - return [4, getResponse(req)]; - case 1: - response = _a.sent(); - return [2, response]; - } - }); - }); - } - exports2.getUrl = getUrl; - } -}); - -// node_modules/@ethersproject/web/lib/index.js -var require_lib17 = __commonJS({ - "node_modules/@ethersproject/web/lib/index.js"(exports2) { - "use strict"; - var __awaiter = exports2 && exports2.__awaiter || function(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, reject) { - function fulfilled(value) { - try { - step(generator.next(value)); - } catch (e) { - reject(e); - } - } - function rejected(value) { - try { - step(generator["throw"](value)); - } catch (e) { - reject(e); - } - } - function step(result) { - result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); - } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); - }; - var __generator = exports2 && exports2.__generator || function(thisArg, body) { - var _ = { label: 0, sent: function() { - if (t[0] & 1) - throw t[1]; - return t[1]; - }, trys: [], ops: [] }, f, y, t, g; - return g = { next: verb(0), "throw": verb(1), "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 (_) - 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 }; - } - }; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.poll = exports2.fetchJson = exports2._fetchData = void 0; - var base64_1 = require_lib7(); - var bytes_1 = require_lib2(); - var properties_1 = require_lib4(); - var strings_1 = require_lib11(); - var logger_1 = require_lib(); - var _version_1 = require_version12(); - var logger = new logger_1.Logger(_version_1.version); - var geturl_1 = require_geturl(); - function staller(duration) { - return new Promise(function(resolve) { - setTimeout(resolve, duration); - }); - } - function bodyify(value, type) { - if (value == null) { - return null; - } - if (typeof value === "string") { - return value; - } - if ((0, bytes_1.isBytesLike)(value)) { - if (type && (type.split("/")[0] === "text" || type.split(";")[0].trim() === "application/json")) { - try { - return (0, strings_1.toUtf8String)(value); - } catch (error) { - } - ; - } - return (0, bytes_1.hexlify)(value); - } - return value; - } - function unpercent(value) { - return (0, strings_1.toUtf8Bytes)(value.replace(/%([0-9a-f][0-9a-f])/gi, function(all3, code) { - return String.fromCharCode(parseInt(code, 16)); - })); - } - function _fetchData(connection, body, processFunc) { - var attemptLimit = typeof connection === "object" && connection.throttleLimit != null ? connection.throttleLimit : 12; - logger.assertArgument(attemptLimit > 0 && attemptLimit % 1 === 0, "invalid connection throttle limit", "connection.throttleLimit", attemptLimit); - var throttleCallback = typeof connection === "object" ? connection.throttleCallback : null; - var throttleSlotInterval = typeof connection === "object" && typeof connection.throttleSlotInterval === "number" ? connection.throttleSlotInterval : 100; - logger.assertArgument(throttleSlotInterval > 0 && throttleSlotInterval % 1 === 0, "invalid connection throttle slot interval", "connection.throttleSlotInterval", throttleSlotInterval); - var errorPassThrough = typeof connection === "object" ? !!connection.errorPassThrough : false; - var headers = {}; - var url2 = null; - var options = { - method: "GET" - }; - var allow304 = false; - var timeout = 2 * 60 * 1e3; - if (typeof connection === "string") { - url2 = connection; - } else if (typeof connection === "object") { - if (connection == null || connection.url == null) { - logger.throwArgumentError("missing URL", "connection.url", connection); - } - url2 = connection.url; - if (typeof connection.timeout === "number" && connection.timeout > 0) { - timeout = connection.timeout; - } - if (connection.headers) { - for (var key in connection.headers) { - headers[key.toLowerCase()] = { key, value: String(connection.headers[key]) }; - if (["if-none-match", "if-modified-since"].indexOf(key.toLowerCase()) >= 0) { - allow304 = true; - } - } - } - options.allowGzip = !!connection.allowGzip; - if (connection.user != null && connection.password != null) { - if (url2.substring(0, 6) !== "https:" && connection.allowInsecureAuthentication !== true) { - logger.throwError("basic authentication requires a secure https url", logger_1.Logger.errors.INVALID_ARGUMENT, { argument: "url", url: url2, user: connection.user, password: "[REDACTED]" }); - } - var authorization = connection.user + ":" + connection.password; - headers["authorization"] = { - key: "Authorization", - value: "Basic " + (0, base64_1.encode)((0, strings_1.toUtf8Bytes)(authorization)) - }; - } - if (connection.skipFetchSetup != null) { - options.skipFetchSetup = !!connection.skipFetchSetup; - } - if (connection.fetchOptions != null) { - options.fetchOptions = (0, properties_1.shallowCopy)(connection.fetchOptions); - } - } - var reData = new RegExp("^data:([^;:]*)?(;base64)?,(.*)$", "i"); - var dataMatch = url2 ? url2.match(reData) : null; - if (dataMatch) { - try { - var response = { - statusCode: 200, - statusMessage: "OK", - headers: { "content-type": dataMatch[1] || "text/plain" }, - body: dataMatch[2] ? (0, base64_1.decode)(dataMatch[3]) : unpercent(dataMatch[3]) - }; - var result = response.body; - if (processFunc) { - result = processFunc(response.body, response); - } - return Promise.resolve(result); - } catch (error) { - logger.throwError("processing response error", logger_1.Logger.errors.SERVER_ERROR, { - body: bodyify(dataMatch[1], dataMatch[2]), - error, - requestBody: null, - requestMethod: "GET", - url: url2 - }); - } - } - if (body) { - options.method = "POST"; - options.body = body; - if (headers["content-type"] == null) { - headers["content-type"] = { key: "Content-Type", value: "application/octet-stream" }; - } - if (headers["content-length"] == null) { - headers["content-length"] = { key: "Content-Length", value: String(body.length) }; - } - } - var flatHeaders = {}; - Object.keys(headers).forEach(function(key2) { - var header = headers[key2]; - flatHeaders[header.key] = header.value; - }); - options.headers = flatHeaders; - var runningTimeout = function() { - var timer = null; - var promise = new Promise(function(resolve, reject) { - if (timeout) { - timer = setTimeout(function() { - if (timer == null) { - return; - } - timer = null; - reject(logger.makeError("timeout", logger_1.Logger.errors.TIMEOUT, { - requestBody: bodyify(options.body, flatHeaders["content-type"]), - requestMethod: options.method, - timeout, - url: url2 - })); - }, timeout); - } - }); - var cancel = function() { - if (timer == null) { - return; - } - clearTimeout(timer); - timer = null; - }; - return { promise, cancel }; - }(); - var runningFetch = function() { - return __awaiter(this, void 0, void 0, function() { - var attempt, response2, location_1, tryAgain, stall, retryAfter, error_1, body_1, result2, error_2, tryAgain, timeout_1; - return __generator(this, function(_a) { - switch (_a.label) { - case 0: - attempt = 0; - _a.label = 1; - case 1: - if (!(attempt < attemptLimit)) - return [3, 20]; - response2 = null; - _a.label = 2; - case 2: - _a.trys.push([2, 9, , 10]); - return [4, (0, geturl_1.getUrl)(url2, options)]; - case 3: - response2 = _a.sent(); - if (!(attempt < attemptLimit)) - return [3, 8]; - if (!(response2.statusCode === 301 || response2.statusCode === 302)) - return [3, 4]; - location_1 = response2.headers.location || ""; - if (options.method === "GET" && location_1.match(/^https:/)) { - url2 = response2.headers.location; - return [3, 19]; - } - return [3, 8]; - case 4: - if (!(response2.statusCode === 429)) - return [3, 8]; - tryAgain = true; - if (!throttleCallback) - return [3, 6]; - return [4, throttleCallback(attempt, url2)]; - case 5: - tryAgain = _a.sent(); - _a.label = 6; - case 6: - if (!tryAgain) - return [3, 8]; - stall = 0; - retryAfter = response2.headers["retry-after"]; - if (typeof retryAfter === "string" && retryAfter.match(/^[1-9][0-9]*$/)) { - stall = parseInt(retryAfter) * 1e3; - } else { - stall = throttleSlotInterval * parseInt(String(Math.random() * Math.pow(2, attempt))); - } - return [4, staller(stall)]; - case 7: - _a.sent(); - return [3, 19]; - case 8: - return [3, 10]; - case 9: - error_1 = _a.sent(); - response2 = error_1.response; - if (response2 == null) { - runningTimeout.cancel(); - logger.throwError("missing response", logger_1.Logger.errors.SERVER_ERROR, { - requestBody: bodyify(options.body, flatHeaders["content-type"]), - requestMethod: options.method, - serverError: error_1, - url: url2 - }); - } - return [3, 10]; - case 10: - body_1 = response2.body; - if (allow304 && response2.statusCode === 304) { - body_1 = null; - } else if (!errorPassThrough && (response2.statusCode < 200 || response2.statusCode >= 300)) { - runningTimeout.cancel(); - logger.throwError("bad response", logger_1.Logger.errors.SERVER_ERROR, { - status: response2.statusCode, - headers: response2.headers, - body: bodyify(body_1, response2.headers ? response2.headers["content-type"] : null), - requestBody: bodyify(options.body, flatHeaders["content-type"]), - requestMethod: options.method, - url: url2 - }); - } - if (!processFunc) - return [3, 18]; - _a.label = 11; - case 11: - _a.trys.push([11, 13, , 18]); - return [4, processFunc(body_1, response2)]; - case 12: - result2 = _a.sent(); - runningTimeout.cancel(); - return [2, result2]; - case 13: - error_2 = _a.sent(); - if (!(error_2.throttleRetry && attempt < attemptLimit)) - return [3, 17]; - tryAgain = true; - if (!throttleCallback) - return [3, 15]; - return [4, throttleCallback(attempt, url2)]; - case 14: - tryAgain = _a.sent(); - _a.label = 15; - case 15: - if (!tryAgain) - return [3, 17]; - timeout_1 = throttleSlotInterval * parseInt(String(Math.random() * Math.pow(2, attempt))); - return [4, staller(timeout_1)]; - case 16: - _a.sent(); - return [3, 19]; - case 17: - runningTimeout.cancel(); - logger.throwError("processing response error", logger_1.Logger.errors.SERVER_ERROR, { - body: bodyify(body_1, response2.headers ? response2.headers["content-type"] : null), - error: error_2, - requestBody: bodyify(options.body, flatHeaders["content-type"]), - requestMethod: options.method, - url: url2 - }); - return [3, 18]; - case 18: - runningTimeout.cancel(); - return [2, body_1]; - case 19: - attempt++; - return [3, 1]; - case 20: - return [2, logger.throwError("failed response", logger_1.Logger.errors.SERVER_ERROR, { - requestBody: bodyify(options.body, flatHeaders["content-type"]), - requestMethod: options.method, - url: url2 - })]; - } - }); - }); - }(); - return Promise.race([runningTimeout.promise, runningFetch]); - } - exports2._fetchData = _fetchData; - function fetchJson(connection, json, processFunc) { - var processJsonFunc = function(value, response) { - var result = null; - if (value != null) { - try { - result = JSON.parse((0, strings_1.toUtf8String)(value)); - } catch (error) { - logger.throwError("invalid JSON", logger_1.Logger.errors.SERVER_ERROR, { - body: value, - error - }); - } - } - if (processFunc) { - result = processFunc(result, response); - } - return result; - }; - var body = null; - if (json != null) { - body = (0, strings_1.toUtf8Bytes)(json); - var updated = typeof connection === "string" ? { url: connection } : (0, properties_1.shallowCopy)(connection); - if (updated.headers) { - var hasContentType = Object.keys(updated.headers).filter(function(k) { - return k.toLowerCase() === "content-type"; - }).length !== 0; - if (!hasContentType) { - updated.headers = (0, properties_1.shallowCopy)(updated.headers); - updated.headers["content-type"] = "application/json"; - } - } else { - updated.headers = { "content-type": "application/json" }; - } - connection = updated; - } - return _fetchData(connection, body, processJsonFunc); - } - exports2.fetchJson = fetchJson; - function poll(func, options) { - if (!options) { - options = {}; - } - options = (0, properties_1.shallowCopy)(options); - if (options.floor == null) { - options.floor = 0; - } - if (options.ceiling == null) { - options.ceiling = 1e4; - } - if (options.interval == null) { - options.interval = 250; - } - return new Promise(function(resolve, reject) { - var timer = null; - var done = false; - var cancel = function() { - if (done) { - return false; - } - done = true; - if (timer) { - clearTimeout(timer); - } - return true; - }; - if (options.timeout) { - timer = setTimeout(function() { - if (cancel()) { - reject(new Error("timeout")); - } - }, options.timeout); - } - var retryLimit = options.retryLimit; - var attempt = 0; - function check() { - return func().then(function(result) { - if (result !== void 0) { - if (cancel()) { - resolve(result); - } - } else if (options.oncePoll) { - options.oncePoll.once("poll", check); - } else if (options.onceBlock) { - options.onceBlock.once("block", check); - } else if (!done) { - attempt++; - if (attempt > retryLimit) { - if (cancel()) { - reject(new Error("retry limit reached")); - } - return; - } - var timeout = options.interval * parseInt(String(Math.random() * Math.pow(2, attempt))); - if (timeout < options.floor) { - timeout = options.floor; - } - if (timeout > options.ceiling) { - timeout = options.ceiling; - } - setTimeout(check, timeout); - } - return null; - }, function(error) { - if (cancel()) { - reject(error); - } - }); - } - check(); - }); - } - exports2.poll = poll; - } -}); - -// node_modules/bech32/index.js -var require_bech32 = __commonJS({ - "node_modules/bech32/index.js"(exports2, module2) { - "use strict"; - var ALPHABET2 = "qpzry9x8gf2tvdw0s3jn54khce6mua7l"; - var ALPHABET_MAP = {}; - for (z = 0; z < ALPHABET2.length; z++) { - x = ALPHABET2.charAt(z); - if (ALPHABET_MAP[x] !== void 0) - throw new TypeError(x + " is ambiguous"); - ALPHABET_MAP[x] = z; - } - var x; - var z; - function polymodStep(pre) { - var b = pre >> 25; - return (pre & 33554431) << 5 ^ -(b >> 0 & 1) & 996825010 ^ -(b >> 1 & 1) & 642813549 ^ -(b >> 2 & 1) & 513874426 ^ -(b >> 3 & 1) & 1027748829 ^ -(b >> 4 & 1) & 705979059; - } - function prefixChk(prefix) { - var chk = 1; - for (var i = 0; i < prefix.length; ++i) { - var c = prefix.charCodeAt(i); - if (c < 33 || c > 126) - return "Invalid prefix (" + prefix + ")"; - chk = polymodStep(chk) ^ c >> 5; - } - chk = polymodStep(chk); - for (i = 0; i < prefix.length; ++i) { - var v = prefix.charCodeAt(i); - chk = polymodStep(chk) ^ v & 31; - } - return chk; - } - function encode3(prefix, words, LIMIT) { - LIMIT = LIMIT || 90; - if (prefix.length + 7 + words.length > LIMIT) - throw new TypeError("Exceeds length limit"); - prefix = prefix.toLowerCase(); - var chk = prefixChk(prefix); - if (typeof chk === "string") - throw new Error(chk); - var result = prefix + "1"; - for (var i = 0; i < words.length; ++i) { - var x2 = words[i]; - if (x2 >> 5 !== 0) - throw new Error("Non 5-bit word"); - chk = polymodStep(chk) ^ x2; - result += ALPHABET2.charAt(x2); - } - for (i = 0; i < 6; ++i) { - chk = polymodStep(chk); - } - chk ^= 1; - for (i = 0; i < 6; ++i) { - var v = chk >> (5 - i) * 5 & 31; - result += ALPHABET2.charAt(v); - } - return result; - } - function __decode(str, LIMIT) { - LIMIT = LIMIT || 90; - if (str.length < 8) - return str + " too short"; - if (str.length > LIMIT) - return "Exceeds length limit"; - var lowered = str.toLowerCase(); - var uppered = str.toUpperCase(); - if (str !== lowered && str !== uppered) - return "Mixed-case string " + str; - str = lowered; - var split = str.lastIndexOf("1"); - if (split === -1) - return "No separator character for " + str; - if (split === 0) - return "Missing prefix for " + str; - var prefix = str.slice(0, split); - var wordChars = str.slice(split + 1); - if (wordChars.length < 6) - return "Data too short"; - var chk = prefixChk(prefix); - if (typeof chk === "string") - return chk; - var words = []; - for (var i = 0; i < wordChars.length; ++i) { - var c = wordChars.charAt(i); - var v = ALPHABET_MAP[c]; - if (v === void 0) - return "Unknown character " + c; - chk = polymodStep(chk) ^ v; - if (i + 6 >= wordChars.length) - continue; - words.push(v); - } - if (chk !== 1) - return "Invalid checksum for " + str; - return { prefix, words }; - } - function decodeUnsafe() { - var res = __decode.apply(null, arguments); - if (typeof res === "object") - return res; - } - function decode(str) { - var res = __decode.apply(null, arguments); - if (typeof res === "object") - return res; - throw new Error(res); - } - function convert(data, inBits, outBits, pad) { - var value = 0; - var bits = 0; - var maxV = (1 << outBits) - 1; - var result = []; - for (var i = 0; i < data.length; ++i) { - value = value << inBits | data[i]; - bits += inBits; - while (bits >= outBits) { - bits -= outBits; - result.push(value >> bits & maxV); - } - } - if (pad) { - if (bits > 0) { - result.push(value << outBits - bits & maxV); - } - } else { - if (bits >= inBits) - return "Excess padding"; - if (value << outBits - bits & maxV) - return "Non-zero padding"; - } - return result; - } - function toWordsUnsafe(bytes) { - var res = convert(bytes, 8, 5, true); - if (Array.isArray(res)) - return res; - } - function toWords(bytes) { - var res = convert(bytes, 8, 5, true); - if (Array.isArray(res)) - return res; - throw new Error(res); - } - function fromWordsUnsafe(words) { - var res = convert(words, 5, 8, false); - if (Array.isArray(res)) - return res; - } - function fromWords(words) { - var res = convert(words, 5, 8, false); - if (Array.isArray(res)) - return res; - throw new Error(res); - } - module2.exports = { - decodeUnsafe, - decode, - encode: encode3, - toWordsUnsafe, - toWords, - fromWordsUnsafe, - fromWords - }; - } -}); - -// node_modules/@ethersproject/providers/lib/_version.js -var require_version13 = __commonJS({ - "node_modules/@ethersproject/providers/lib/_version.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.version = void 0; - exports2.version = "providers/5.7.2"; - } -}); - -// node_modules/elliptic/package.json -var require_package = __commonJS({ - "node_modules/elliptic/package.json"(exports2, module2) { - module2.exports = { - name: "elliptic", - version: "6.5.4", - description: "EC cryptography", - main: "lib/elliptic.js", - files: [ - "lib" - ], - scripts: { - lint: "eslint lib test", - "lint:fix": "npm run lint -- --fix", - unit: "istanbul test _mocha --reporter=spec test/index.js", - test: "npm run lint && npm run unit", - version: "grunt dist && git add dist/" - }, - repository: { - type: "git", - url: "git@github.com:indutny/elliptic" - }, - keywords: [ - "EC", - "Elliptic", - "curve", - "Cryptography" - ], - author: "Fedor Indutny ", - license: "MIT", - bugs: { - url: "https://github.com/indutny/elliptic/issues" - }, - homepage: "https://github.com/indutny/elliptic", - devDependencies: { - brfs: "^2.0.2", - coveralls: "^3.1.0", - eslint: "^7.6.0", - grunt: "^1.2.1", - "grunt-browserify": "^5.3.0", - "grunt-cli": "^1.3.2", - "grunt-contrib-connect": "^3.0.0", - "grunt-contrib-copy": "^1.0.0", - "grunt-contrib-uglify": "^5.0.0", - "grunt-mocha-istanbul": "^5.0.2", - "grunt-saucelabs": "^9.0.1", - istanbul: "^0.4.5", - mocha: "^8.0.1" - }, - dependencies: { - "bn.js": "^4.11.9", - brorand: "^1.1.0", - "hash.js": "^1.0.0", - "hmac-drbg": "^1.0.1", - inherits: "^2.0.4", - "minimalistic-assert": "^1.0.1", - "minimalistic-crypto-utils": "^1.0.1" - } - }; - } -}); - -// node_modules/elliptic/node_modules/bn.js/lib/bn.js -var require_bn2 = __commonJS({ - "node_modules/elliptic/node_modules/bn.js/lib/bn.js"(exports2, module2) { - "use strict"; - (function(module3, exports3) { - "use strict"; - function assert(val, msg) { - if (!val) - throw new Error(msg || "Assertion failed"); - } - function inherits2(ctor, superCtor) { - ctor.super_ = superCtor; - var TempCtor = function() { - }; - TempCtor.prototype = superCtor.prototype; - ctor.prototype = new TempCtor(); - ctor.prototype.constructor = ctor; - } - function BN(number, base, endian) { - if (BN.isBN(number)) { - return number; - } - this.negative = 0; - this.words = null; - this.length = 0; - this.red = null; - if (number !== null) { - if (base === "le" || base === "be") { - endian = base; - base = 10; - } - this._init(number || 0, base || 10, endian || "be"); - } - } - if (typeof module3 === "object") { - module3.exports = BN; - } else { - exports3.BN = BN; - } - BN.BN = BN; - BN.wordSize = 26; - var Buffer2; - try { - if (typeof window !== "undefined" && typeof window.Buffer !== "undefined") { - Buffer2 = window.Buffer; - } else { - Buffer2 = (__nccwpck_require__(20181).Buffer); - } - } catch (e) { - } - BN.isBN = function isBN(num) { - if (num instanceof BN) { - return true; - } - return num !== null && typeof num === "object" && num.constructor.wordSize === BN.wordSize && Array.isArray(num.words); - }; - BN.max = function max(left, right) { - if (left.cmp(right) > 0) - return left; - return right; - }; - BN.min = function min(left, right) { - if (left.cmp(right) < 0) - return left; - return right; - }; - BN.prototype._init = function init(number, base, endian) { - if (typeof number === "number") { - return this._initNumber(number, base, endian); - } - if (typeof number === "object") { - return this._initArray(number, base, endian); - } - if (base === "hex") { - base = 16; - } - assert(base === (base | 0) && base >= 2 && base <= 36); - number = number.toString().replace(/\s+/g, ""); - var start = 0; - if (number[0] === "-") { - start++; - this.negative = 1; - } - if (start < number.length) { - if (base === 16) { - this._parseHex(number, start, endian); - } else { - this._parseBase(number, base, start); - if (endian === "le") { - this._initArray(this.toArray(), base, endian); - } - } - } - }; - BN.prototype._initNumber = function _initNumber(number, base, endian) { - if (number < 0) { - this.negative = 1; - number = -number; - } - if (number < 67108864) { - this.words = [number & 67108863]; - this.length = 1; - } else if (number < 4503599627370496) { - this.words = [ - number & 67108863, - number / 67108864 & 67108863 - ]; - this.length = 2; - } else { - assert(number < 9007199254740992); - this.words = [ - number & 67108863, - number / 67108864 & 67108863, - 1 - ]; - this.length = 3; - } - if (endian !== "le") - return; - this._initArray(this.toArray(), base, endian); - }; - BN.prototype._initArray = function _initArray(number, base, endian) { - assert(typeof number.length === "number"); - if (number.length <= 0) { - this.words = [0]; - this.length = 1; - return this; - } - this.length = Math.ceil(number.length / 3); - this.words = new Array(this.length); - for (var i = 0; i < this.length; i++) { - this.words[i] = 0; - } - var j, w; - var off = 0; - if (endian === "be") { - for (i = number.length - 1, j = 0; i >= 0; i -= 3) { - w = number[i] | number[i - 1] << 8 | number[i - 2] << 16; - this.words[j] |= w << off & 67108863; - this.words[j + 1] = w >>> 26 - off & 67108863; - off += 24; - if (off >= 26) { - off -= 26; - j++; - } - } - } else if (endian === "le") { - for (i = 0, j = 0; i < number.length; i += 3) { - w = number[i] | number[i + 1] << 8 | number[i + 2] << 16; - this.words[j] |= w << off & 67108863; - this.words[j + 1] = w >>> 26 - off & 67108863; - off += 24; - if (off >= 26) { - off -= 26; - j++; - } - } - } - return this.strip(); - }; - function parseHex4Bits(string, index) { - var c = string.charCodeAt(index); - if (c >= 65 && c <= 70) { - return c - 55; - } else if (c >= 97 && c <= 102) { - return c - 87; - } else { - return c - 48 & 15; - } - } - function parseHexByte(string, lowerBound, index) { - var r = parseHex4Bits(string, index); - if (index - 1 >= lowerBound) { - r |= parseHex4Bits(string, index - 1) << 4; - } - return r; - } - BN.prototype._parseHex = function _parseHex(number, start, endian) { - this.length = Math.ceil((number.length - start) / 6); - this.words = new Array(this.length); - for (var i = 0; i < this.length; i++) { - this.words[i] = 0; - } - var off = 0; - var j = 0; - var w; - if (endian === "be") { - for (i = number.length - 1; i >= start; i -= 2) { - w = parseHexByte(number, start, i) << off; - this.words[j] |= w & 67108863; - if (off >= 18) { - off -= 18; - j += 1; - this.words[j] |= w >>> 26; - } else { - off += 8; - } - } - } else { - var parseLength = number.length - start; - for (i = parseLength % 2 === 0 ? start + 1 : start; i < number.length; i += 2) { - w = parseHexByte(number, start, i) << off; - this.words[j] |= w & 67108863; - if (off >= 18) { - off -= 18; - j += 1; - this.words[j] |= w >>> 26; - } else { - off += 8; - } - } - } - this.strip(); - }; - function parseBase(str, start, end, mul) { - var r = 0; - var len = Math.min(str.length, end); - for (var i = start; i < len; i++) { - var c = str.charCodeAt(i) - 48; - r *= mul; - if (c >= 49) { - r += c - 49 + 10; - } else if (c >= 17) { - r += c - 17 + 10; - } else { - r += c; - } - } - return r; - } - BN.prototype._parseBase = function _parseBase(number, base, start) { - this.words = [0]; - this.length = 1; - for (var limbLen = 0, limbPow = 1; limbPow <= 67108863; limbPow *= base) { - limbLen++; - } - limbLen--; - limbPow = limbPow / base | 0; - var total = number.length - start; - var mod = total % limbLen; - var end = Math.min(total, total - mod) + start; - var word = 0; - for (var i = start; i < end; i += limbLen) { - word = parseBase(number, i, i + limbLen, base); - this.imuln(limbPow); - if (this.words[0] + word < 67108864) { - this.words[0] += word; - } else { - this._iaddn(word); - } - } - if (mod !== 0) { - var pow = 1; - word = parseBase(number, i, number.length, base); - for (i = 0; i < mod; i++) { - pow *= base; - } - this.imuln(pow); - if (this.words[0] + word < 67108864) { - this.words[0] += word; - } else { - this._iaddn(word); - } - } - this.strip(); - }; - BN.prototype.copy = function copy(dest) { - dest.words = new Array(this.length); - for (var i = 0; i < this.length; i++) { - dest.words[i] = this.words[i]; - } - dest.length = this.length; - dest.negative = this.negative; - dest.red = this.red; - }; - BN.prototype.clone = function clone() { - var r = new BN(null); - this.copy(r); - return r; - }; - BN.prototype._expand = function _expand(size) { - while (this.length < size) { - this.words[this.length++] = 0; - } - return this; - }; - BN.prototype.strip = function strip() { - while (this.length > 1 && this.words[this.length - 1] === 0) { - this.length--; - } - return this._normSign(); - }; - BN.prototype._normSign = function _normSign() { - if (this.length === 1 && this.words[0] === 0) { - this.negative = 0; - } - return this; - }; - BN.prototype.inspect = function inspect() { - return (this.red ? ""; - }; - var zeros = [ - "", - "0", - "00", - "000", - "0000", - "00000", - "000000", - "0000000", - "00000000", - "000000000", - "0000000000", - "00000000000", - "000000000000", - "0000000000000", - "00000000000000", - "000000000000000", - "0000000000000000", - "00000000000000000", - "000000000000000000", - "0000000000000000000", - "00000000000000000000", - "000000000000000000000", - "0000000000000000000000", - "00000000000000000000000", - "000000000000000000000000", - "0000000000000000000000000" - ]; - var groupSizes = [ - 0, - 0, - 25, - 16, - 12, - 11, - 10, - 9, - 8, - 8, - 7, - 7, - 7, - 7, - 6, - 6, - 6, - 6, - 6, - 6, - 6, - 5, - 5, - 5, - 5, - 5, - 5, - 5, - 5, - 5, - 5, - 5, - 5, - 5, - 5, - 5, - 5 - ]; - var groupBases = [ - 0, - 0, - 33554432, - 43046721, - 16777216, - 48828125, - 60466176, - 40353607, - 16777216, - 43046721, - 1e7, - 19487171, - 35831808, - 62748517, - 7529536, - 11390625, - 16777216, - 24137569, - 34012224, - 47045881, - 64e6, - 4084101, - 5153632, - 6436343, - 7962624, - 9765625, - 11881376, - 14348907, - 17210368, - 20511149, - 243e5, - 28629151, - 33554432, - 39135393, - 45435424, - 52521875, - 60466176 - ]; - BN.prototype.toString = function toString3(base, padding) { - base = base || 10; - padding = padding | 0 || 1; - var out; - if (base === 16 || base === "hex") { - out = ""; - var off = 0; - var carry = 0; - for (var i = 0; i < this.length; i++) { - var w = this.words[i]; - var word = ((w << off | carry) & 16777215).toString(16); - carry = w >>> 24 - off & 16777215; - if (carry !== 0 || i !== this.length - 1) { - out = zeros[6 - word.length] + word + out; - } else { - out = word + out; - } - off += 2; - if (off >= 26) { - off -= 26; - i--; - } - } - if (carry !== 0) { - out = carry.toString(16) + out; - } - while (out.length % padding !== 0) { - out = "0" + out; - } - if (this.negative !== 0) { - out = "-" + out; - } - return out; - } - if (base === (base | 0) && base >= 2 && base <= 36) { - var groupSize = groupSizes[base]; - var groupBase = groupBases[base]; - out = ""; - var c = this.clone(); - c.negative = 0; - while (!c.isZero()) { - var r = c.modn(groupBase).toString(base); - c = c.idivn(groupBase); - if (!c.isZero()) { - out = zeros[groupSize - r.length] + r + out; - } else { - out = r + out; - } - } - if (this.isZero()) { - out = "0" + out; - } - while (out.length % padding !== 0) { - out = "0" + out; - } - if (this.negative !== 0) { - out = "-" + out; - } - return out; - } - assert(false, "Base should be between 2 and 36"); - }; - BN.prototype.toNumber = function toNumber() { - var ret = this.words[0]; - if (this.length === 2) { - ret += this.words[1] * 67108864; - } else if (this.length === 3 && this.words[2] === 1) { - ret += 4503599627370496 + this.words[1] * 67108864; - } else if (this.length > 2) { - assert(false, "Number can only safely store up to 53 bits"); - } - return this.negative !== 0 ? -ret : ret; - }; - BN.prototype.toJSON = function toJSON2() { - return this.toString(16); - }; - BN.prototype.toBuffer = function toBuffer(endian, length) { - assert(typeof Buffer2 !== "undefined"); - return this.toArrayLike(Buffer2, endian, length); - }; - BN.prototype.toArray = function toArray2(endian, length) { - return this.toArrayLike(Array, endian, length); - }; - BN.prototype.toArrayLike = function toArrayLike(ArrayType, endian, length) { - var byteLength = this.byteLength(); - var reqLength = length || Math.max(1, byteLength); - assert(byteLength <= reqLength, "byte array longer than desired length"); - assert(reqLength > 0, "Requested array length <= 0"); - this.strip(); - var littleEndian = endian === "le"; - var res = new ArrayType(reqLength); - var b, i; - var q = this.clone(); - if (!littleEndian) { - for (i = 0; i < reqLength - byteLength; i++) { - res[i] = 0; - } - for (i = 0; !q.isZero(); i++) { - b = q.andln(255); - q.iushrn(8); - res[reqLength - i - 1] = b; - } - } else { - for (i = 0; !q.isZero(); i++) { - b = q.andln(255); - q.iushrn(8); - res[i] = b; - } - for (; i < reqLength; i++) { - res[i] = 0; - } - } - return res; - }; - if (Math.clz32) { - BN.prototype._countBits = function _countBits(w) { - return 32 - Math.clz32(w); - }; - } else { - BN.prototype._countBits = function _countBits(w) { - var t = w; - var r = 0; - if (t >= 4096) { - r += 13; - t >>>= 13; - } - if (t >= 64) { - r += 7; - t >>>= 7; - } - if (t >= 8) { - r += 4; - t >>>= 4; - } - if (t >= 2) { - r += 2; - t >>>= 2; - } - return r + t; - }; - } - BN.prototype._zeroBits = function _zeroBits(w) { - if (w === 0) - return 26; - var t = w; - var r = 0; - if ((t & 8191) === 0) { - r += 13; - t >>>= 13; - } - if ((t & 127) === 0) { - r += 7; - t >>>= 7; - } - if ((t & 15) === 0) { - r += 4; - t >>>= 4; - } - if ((t & 3) === 0) { - r += 2; - t >>>= 2; - } - if ((t & 1) === 0) { - r++; - } - return r; - }; - BN.prototype.bitLength = function bitLength() { - var w = this.words[this.length - 1]; - var hi = this._countBits(w); - return (this.length - 1) * 26 + hi; - }; - function toBitArray(num) { - var w = new Array(num.bitLength()); - for (var bit = 0; bit < w.length; bit++) { - var off = bit / 26 | 0; - var wbit = bit % 26; - w[bit] = (num.words[off] & 1 << wbit) >>> wbit; - } - return w; - } - BN.prototype.zeroBits = function zeroBits() { - if (this.isZero()) - return 0; - var r = 0; - for (var i = 0; i < this.length; i++) { - var b = this._zeroBits(this.words[i]); - r += b; - if (b !== 26) - break; - } - return r; - }; - BN.prototype.byteLength = function byteLength() { - return Math.ceil(this.bitLength() / 8); - }; - BN.prototype.toTwos = function toTwos(width) { - if (this.negative !== 0) { - return this.abs().inotn(width).iaddn(1); - } - return this.clone(); - }; - BN.prototype.fromTwos = function fromTwos(width) { - if (this.testn(width - 1)) { - return this.notn(width).iaddn(1).ineg(); - } - return this.clone(); - }; - BN.prototype.isNeg = function isNeg() { - return this.negative !== 0; - }; - BN.prototype.neg = function neg() { - return this.clone().ineg(); - }; - BN.prototype.ineg = function ineg() { - if (!this.isZero()) { - this.negative ^= 1; - } - return this; - }; - BN.prototype.iuor = function iuor(num) { - while (this.length < num.length) { - this.words[this.length++] = 0; - } - for (var i = 0; i < num.length; i++) { - this.words[i] = this.words[i] | num.words[i]; - } - return this.strip(); - }; - BN.prototype.ior = function ior(num) { - assert((this.negative | num.negative) === 0); - return this.iuor(num); - }; - BN.prototype.or = function or(num) { - if (this.length > num.length) - return this.clone().ior(num); - return num.clone().ior(this); - }; - BN.prototype.uor = function uor(num) { - if (this.length > num.length) - return this.clone().iuor(num); - return num.clone().iuor(this); - }; - BN.prototype.iuand = function iuand(num) { - var b; - if (this.length > num.length) { - b = num; - } else { - b = this; - } - for (var i = 0; i < b.length; i++) { - this.words[i] = this.words[i] & num.words[i]; - } - this.length = b.length; - return this.strip(); - }; - BN.prototype.iand = function iand(num) { - assert((this.negative | num.negative) === 0); - return this.iuand(num); - }; - BN.prototype.and = function and(num) { - if (this.length > num.length) - return this.clone().iand(num); - return num.clone().iand(this); - }; - BN.prototype.uand = function uand(num) { - if (this.length > num.length) - return this.clone().iuand(num); - return num.clone().iuand(this); - }; - BN.prototype.iuxor = function iuxor(num) { - var a; - var b; - if (this.length > num.length) { - a = this; - b = num; - } else { - a = num; - b = this; - } - for (var i = 0; i < b.length; i++) { - this.words[i] = a.words[i] ^ b.words[i]; - } - if (this !== a) { - for (; i < a.length; i++) { - this.words[i] = a.words[i]; - } - } - this.length = a.length; - return this.strip(); - }; - BN.prototype.ixor = function ixor(num) { - assert((this.negative | num.negative) === 0); - return this.iuxor(num); - }; - BN.prototype.xor = function xor(num) { - if (this.length > num.length) - return this.clone().ixor(num); - return num.clone().ixor(this); - }; - BN.prototype.uxor = function uxor(num) { - if (this.length > num.length) - return this.clone().iuxor(num); - return num.clone().iuxor(this); - }; - BN.prototype.inotn = function inotn(width) { - assert(typeof width === "number" && width >= 0); - var bytesNeeded = Math.ceil(width / 26) | 0; - var bitsLeft = width % 26; - this._expand(bytesNeeded); - if (bitsLeft > 0) { - bytesNeeded--; - } - for (var i = 0; i < bytesNeeded; i++) { - this.words[i] = ~this.words[i] & 67108863; - } - if (bitsLeft > 0) { - this.words[i] = ~this.words[i] & 67108863 >> 26 - bitsLeft; - } - return this.strip(); - }; - BN.prototype.notn = function notn(width) { - return this.clone().inotn(width); - }; - BN.prototype.setn = function setn(bit, val) { - assert(typeof bit === "number" && bit >= 0); - var off = bit / 26 | 0; - var wbit = bit % 26; - this._expand(off + 1); - if (val) { - this.words[off] = this.words[off] | 1 << wbit; - } else { - this.words[off] = this.words[off] & ~(1 << wbit); - } - return this.strip(); - }; - BN.prototype.iadd = function iadd(num) { - var r; - if (this.negative !== 0 && num.negative === 0) { - this.negative = 0; - r = this.isub(num); - this.negative ^= 1; - return this._normSign(); - } else if (this.negative === 0 && num.negative !== 0) { - num.negative = 0; - r = this.isub(num); - num.negative = 1; - return r._normSign(); - } - var a, b; - if (this.length > num.length) { - a = this; - b = num; - } else { - a = num; - b = this; - } - var carry = 0; - for (var i = 0; i < b.length; i++) { - r = (a.words[i] | 0) + (b.words[i] | 0) + carry; - this.words[i] = r & 67108863; - carry = r >>> 26; - } - for (; carry !== 0 && i < a.length; i++) { - r = (a.words[i] | 0) + carry; - this.words[i] = r & 67108863; - carry = r >>> 26; - } - this.length = a.length; - if (carry !== 0) { - this.words[this.length] = carry; - this.length++; - } else if (a !== this) { - for (; i < a.length; i++) { - this.words[i] = a.words[i]; - } - } - return this; - }; - BN.prototype.add = function add(num) { - var res; - if (num.negative !== 0 && this.negative === 0) { - num.negative = 0; - res = this.sub(num); - num.negative ^= 1; - return res; - } else if (num.negative === 0 && this.negative !== 0) { - this.negative = 0; - res = num.sub(this); - this.negative = 1; - return res; - } - if (this.length > num.length) - return this.clone().iadd(num); - return num.clone().iadd(this); - }; - BN.prototype.isub = function isub(num) { - if (num.negative !== 0) { - num.negative = 0; - var r = this.iadd(num); - num.negative = 1; - return r._normSign(); - } else if (this.negative !== 0) { - this.negative = 0; - this.iadd(num); - this.negative = 1; - return this._normSign(); - } - var cmp = this.cmp(num); - if (cmp === 0) { - this.negative = 0; - this.length = 1; - this.words[0] = 0; - return this; - } - var a, b; - if (cmp > 0) { - a = this; - b = num; - } else { - a = num; - b = this; - } - var carry = 0; - for (var i = 0; i < b.length; i++) { - r = (a.words[i] | 0) - (b.words[i] | 0) + carry; - carry = r >> 26; - this.words[i] = r & 67108863; - } - for (; carry !== 0 && i < a.length; i++) { - r = (a.words[i] | 0) + carry; - carry = r >> 26; - this.words[i] = r & 67108863; - } - if (carry === 0 && i < a.length && a !== this) { - for (; i < a.length; i++) { - this.words[i] = a.words[i]; - } - } - this.length = Math.max(this.length, i); - if (a !== this) { - this.negative = 1; - } - return this.strip(); - }; - BN.prototype.sub = function sub(num) { - return this.clone().isub(num); - }; - function smallMulTo(self2, num, out) { - out.negative = num.negative ^ self2.negative; - var len = self2.length + num.length | 0; - out.length = len; - len = len - 1 | 0; - var a = self2.words[0] | 0; - var b = num.words[0] | 0; - var r = a * b; - var lo = r & 67108863; - var carry = r / 67108864 | 0; - out.words[0] = lo; - for (var k = 1; k < len; k++) { - var ncarry = carry >>> 26; - var rword = carry & 67108863; - var maxJ = Math.min(k, num.length - 1); - for (var j = Math.max(0, k - self2.length + 1); j <= maxJ; j++) { - var i = k - j | 0; - a = self2.words[i] | 0; - b = num.words[j] | 0; - r = a * b + rword; - ncarry += r / 67108864 | 0; - rword = r & 67108863; - } - out.words[k] = rword | 0; - carry = ncarry | 0; - } - if (carry !== 0) { - out.words[k] = carry | 0; - } else { - out.length--; - } - return out.strip(); - } - var comb10MulTo = function comb10MulTo2(self2, num, out) { - var a = self2.words; - var b = num.words; - var o = out.words; - var c = 0; - var lo; - var mid; - var hi; - var a0 = a[0] | 0; - var al0 = a0 & 8191; - var ah0 = a0 >>> 13; - var a1 = a[1] | 0; - var al1 = a1 & 8191; - var ah1 = a1 >>> 13; - var a2 = a[2] | 0; - var al2 = a2 & 8191; - var ah2 = a2 >>> 13; - var a3 = a[3] | 0; - var al3 = a3 & 8191; - var ah3 = a3 >>> 13; - var a4 = a[4] | 0; - var al4 = a4 & 8191; - var ah4 = a4 >>> 13; - var a5 = a[5] | 0; - var al5 = a5 & 8191; - var ah5 = a5 >>> 13; - var a6 = a[6] | 0; - var al6 = a6 & 8191; - var ah6 = a6 >>> 13; - var a7 = a[7] | 0; - var al7 = a7 & 8191; - var ah7 = a7 >>> 13; - var a8 = a[8] | 0; - var al8 = a8 & 8191; - var ah8 = a8 >>> 13; - var a9 = a[9] | 0; - var al9 = a9 & 8191; - var ah9 = a9 >>> 13; - var b0 = b[0] | 0; - var bl0 = b0 & 8191; - var bh0 = b0 >>> 13; - var b1 = b[1] | 0; - var bl1 = b1 & 8191; - var bh1 = b1 >>> 13; - var b2 = b[2] | 0; - var bl2 = b2 & 8191; - var bh2 = b2 >>> 13; - var b3 = b[3] | 0; - var bl3 = b3 & 8191; - var bh3 = b3 >>> 13; - var b4 = b[4] | 0; - var bl4 = b4 & 8191; - var bh4 = b4 >>> 13; - var b5 = b[5] | 0; - var bl5 = b5 & 8191; - var bh5 = b5 >>> 13; - var b6 = b[6] | 0; - var bl6 = b6 & 8191; - var bh6 = b6 >>> 13; - var b7 = b[7] | 0; - var bl7 = b7 & 8191; - var bh7 = b7 >>> 13; - var b8 = b[8] | 0; - var bl8 = b8 & 8191; - var bh8 = b8 >>> 13; - var b9 = b[9] | 0; - var bl9 = b9 & 8191; - var bh9 = b9 >>> 13; - out.negative = self2.negative ^ num.negative; - out.length = 19; - lo = Math.imul(al0, bl0); - mid = Math.imul(al0, bh0); - mid = mid + Math.imul(ah0, bl0) | 0; - hi = Math.imul(ah0, bh0); - var w0 = (c + lo | 0) + ((mid & 8191) << 13) | 0; - c = (hi + (mid >>> 13) | 0) + (w0 >>> 26) | 0; - w0 &= 67108863; - lo = Math.imul(al1, bl0); - mid = Math.imul(al1, bh0); - mid = mid + Math.imul(ah1, bl0) | 0; - hi = Math.imul(ah1, bh0); - lo = lo + Math.imul(al0, bl1) | 0; - mid = mid + Math.imul(al0, bh1) | 0; - mid = mid + Math.imul(ah0, bl1) | 0; - hi = hi + Math.imul(ah0, bh1) | 0; - var w1 = (c + lo | 0) + ((mid & 8191) << 13) | 0; - c = (hi + (mid >>> 13) | 0) + (w1 >>> 26) | 0; - w1 &= 67108863; - lo = Math.imul(al2, bl0); - mid = Math.imul(al2, bh0); - mid = mid + Math.imul(ah2, bl0) | 0; - hi = Math.imul(ah2, bh0); - lo = lo + Math.imul(al1, bl1) | 0; - mid = mid + Math.imul(al1, bh1) | 0; - mid = mid + Math.imul(ah1, bl1) | 0; - hi = hi + Math.imul(ah1, bh1) | 0; - lo = lo + Math.imul(al0, bl2) | 0; - mid = mid + Math.imul(al0, bh2) | 0; - mid = mid + Math.imul(ah0, bl2) | 0; - hi = hi + Math.imul(ah0, bh2) | 0; - var w2 = (c + lo | 0) + ((mid & 8191) << 13) | 0; - c = (hi + (mid >>> 13) | 0) + (w2 >>> 26) | 0; - w2 &= 67108863; - lo = Math.imul(al3, bl0); - mid = Math.imul(al3, bh0); - mid = mid + Math.imul(ah3, bl0) | 0; - hi = Math.imul(ah3, bh0); - lo = lo + Math.imul(al2, bl1) | 0; - mid = mid + Math.imul(al2, bh1) | 0; - mid = mid + Math.imul(ah2, bl1) | 0; - hi = hi + Math.imul(ah2, bh1) | 0; - lo = lo + Math.imul(al1, bl2) | 0; - mid = mid + Math.imul(al1, bh2) | 0; - mid = mid + Math.imul(ah1, bl2) | 0; - hi = hi + Math.imul(ah1, bh2) | 0; - lo = lo + Math.imul(al0, bl3) | 0; - mid = mid + Math.imul(al0, bh3) | 0; - mid = mid + Math.imul(ah0, bl3) | 0; - hi = hi + Math.imul(ah0, bh3) | 0; - var w3 = (c + lo | 0) + ((mid & 8191) << 13) | 0; - c = (hi + (mid >>> 13) | 0) + (w3 >>> 26) | 0; - w3 &= 67108863; - lo = Math.imul(al4, bl0); - mid = Math.imul(al4, bh0); - mid = mid + Math.imul(ah4, bl0) | 0; - hi = Math.imul(ah4, bh0); - lo = lo + Math.imul(al3, bl1) | 0; - mid = mid + Math.imul(al3, bh1) | 0; - mid = mid + Math.imul(ah3, bl1) | 0; - hi = hi + Math.imul(ah3, bh1) | 0; - lo = lo + Math.imul(al2, bl2) | 0; - mid = mid + Math.imul(al2, bh2) | 0; - mid = mid + Math.imul(ah2, bl2) | 0; - hi = hi + Math.imul(ah2, bh2) | 0; - lo = lo + Math.imul(al1, bl3) | 0; - mid = mid + Math.imul(al1, bh3) | 0; - mid = mid + Math.imul(ah1, bl3) | 0; - hi = hi + Math.imul(ah1, bh3) | 0; - lo = lo + Math.imul(al0, bl4) | 0; - mid = mid + Math.imul(al0, bh4) | 0; - mid = mid + Math.imul(ah0, bl4) | 0; - hi = hi + Math.imul(ah0, bh4) | 0; - var w4 = (c + lo | 0) + ((mid & 8191) << 13) | 0; - c = (hi + (mid >>> 13) | 0) + (w4 >>> 26) | 0; - w4 &= 67108863; - lo = Math.imul(al5, bl0); - mid = Math.imul(al5, bh0); - mid = mid + Math.imul(ah5, bl0) | 0; - hi = Math.imul(ah5, bh0); - lo = lo + Math.imul(al4, bl1) | 0; - mid = mid + Math.imul(al4, bh1) | 0; - mid = mid + Math.imul(ah4, bl1) | 0; - hi = hi + Math.imul(ah4, bh1) | 0; - lo = lo + Math.imul(al3, bl2) | 0; - mid = mid + Math.imul(al3, bh2) | 0; - mid = mid + Math.imul(ah3, bl2) | 0; - hi = hi + Math.imul(ah3, bh2) | 0; - lo = lo + Math.imul(al2, bl3) | 0; - mid = mid + Math.imul(al2, bh3) | 0; - mid = mid + Math.imul(ah2, bl3) | 0; - hi = hi + Math.imul(ah2, bh3) | 0; - lo = lo + Math.imul(al1, bl4) | 0; - mid = mid + Math.imul(al1, bh4) | 0; - mid = mid + Math.imul(ah1, bl4) | 0; - hi = hi + Math.imul(ah1, bh4) | 0; - lo = lo + Math.imul(al0, bl5) | 0; - mid = mid + Math.imul(al0, bh5) | 0; - mid = mid + Math.imul(ah0, bl5) | 0; - hi = hi + Math.imul(ah0, bh5) | 0; - var w5 = (c + lo | 0) + ((mid & 8191) << 13) | 0; - c = (hi + (mid >>> 13) | 0) + (w5 >>> 26) | 0; - w5 &= 67108863; - lo = Math.imul(al6, bl0); - mid = Math.imul(al6, bh0); - mid = mid + Math.imul(ah6, bl0) | 0; - hi = Math.imul(ah6, bh0); - lo = lo + Math.imul(al5, bl1) | 0; - mid = mid + Math.imul(al5, bh1) | 0; - mid = mid + Math.imul(ah5, bl1) | 0; - hi = hi + Math.imul(ah5, bh1) | 0; - lo = lo + Math.imul(al4, bl2) | 0; - mid = mid + Math.imul(al4, bh2) | 0; - mid = mid + Math.imul(ah4, bl2) | 0; - hi = hi + Math.imul(ah4, bh2) | 0; - lo = lo + Math.imul(al3, bl3) | 0; - mid = mid + Math.imul(al3, bh3) | 0; - mid = mid + Math.imul(ah3, bl3) | 0; - hi = hi + Math.imul(ah3, bh3) | 0; - lo = lo + Math.imul(al2, bl4) | 0; - mid = mid + Math.imul(al2, bh4) | 0; - mid = mid + Math.imul(ah2, bl4) | 0; - hi = hi + Math.imul(ah2, bh4) | 0; - lo = lo + Math.imul(al1, bl5) | 0; - mid = mid + Math.imul(al1, bh5) | 0; - mid = mid + Math.imul(ah1, bl5) | 0; - hi = hi + Math.imul(ah1, bh5) | 0; - lo = lo + Math.imul(al0, bl6) | 0; - mid = mid + Math.imul(al0, bh6) | 0; - mid = mid + Math.imul(ah0, bl6) | 0; - hi = hi + Math.imul(ah0, bh6) | 0; - var w6 = (c + lo | 0) + ((mid & 8191) << 13) | 0; - c = (hi + (mid >>> 13) | 0) + (w6 >>> 26) | 0; - w6 &= 67108863; - lo = Math.imul(al7, bl0); - mid = Math.imul(al7, bh0); - mid = mid + Math.imul(ah7, bl0) | 0; - hi = Math.imul(ah7, bh0); - lo = lo + Math.imul(al6, bl1) | 0; - mid = mid + Math.imul(al6, bh1) | 0; - mid = mid + Math.imul(ah6, bl1) | 0; - hi = hi + Math.imul(ah6, bh1) | 0; - lo = lo + Math.imul(al5, bl2) | 0; - mid = mid + Math.imul(al5, bh2) | 0; - mid = mid + Math.imul(ah5, bl2) | 0; - hi = hi + Math.imul(ah5, bh2) | 0; - lo = lo + Math.imul(al4, bl3) | 0; - mid = mid + Math.imul(al4, bh3) | 0; - mid = mid + Math.imul(ah4, bl3) | 0; - hi = hi + Math.imul(ah4, bh3) | 0; - lo = lo + Math.imul(al3, bl4) | 0; - mid = mid + Math.imul(al3, bh4) | 0; - mid = mid + Math.imul(ah3, bl4) | 0; - hi = hi + Math.imul(ah3, bh4) | 0; - lo = lo + Math.imul(al2, bl5) | 0; - mid = mid + Math.imul(al2, bh5) | 0; - mid = mid + Math.imul(ah2, bl5) | 0; - hi = hi + Math.imul(ah2, bh5) | 0; - lo = lo + Math.imul(al1, bl6) | 0; - mid = mid + Math.imul(al1, bh6) | 0; - mid = mid + Math.imul(ah1, bl6) | 0; - hi = hi + Math.imul(ah1, bh6) | 0; - lo = lo + Math.imul(al0, bl7) | 0; - mid = mid + Math.imul(al0, bh7) | 0; - mid = mid + Math.imul(ah0, bl7) | 0; - hi = hi + Math.imul(ah0, bh7) | 0; - var w7 = (c + lo | 0) + ((mid & 8191) << 13) | 0; - c = (hi + (mid >>> 13) | 0) + (w7 >>> 26) | 0; - w7 &= 67108863; - lo = Math.imul(al8, bl0); - mid = Math.imul(al8, bh0); - mid = mid + Math.imul(ah8, bl0) | 0; - hi = Math.imul(ah8, bh0); - lo = lo + Math.imul(al7, bl1) | 0; - mid = mid + Math.imul(al7, bh1) | 0; - mid = mid + Math.imul(ah7, bl1) | 0; - hi = hi + Math.imul(ah7, bh1) | 0; - lo = lo + Math.imul(al6, bl2) | 0; - mid = mid + Math.imul(al6, bh2) | 0; - mid = mid + Math.imul(ah6, bl2) | 0; - hi = hi + Math.imul(ah6, bh2) | 0; - lo = lo + Math.imul(al5, bl3) | 0; - mid = mid + Math.imul(al5, bh3) | 0; - mid = mid + Math.imul(ah5, bl3) | 0; - hi = hi + Math.imul(ah5, bh3) | 0; - lo = lo + Math.imul(al4, bl4) | 0; - mid = mid + Math.imul(al4, bh4) | 0; - mid = mid + Math.imul(ah4, bl4) | 0; - hi = hi + Math.imul(ah4, bh4) | 0; - lo = lo + Math.imul(al3, bl5) | 0; - mid = mid + Math.imul(al3, bh5) | 0; - mid = mid + Math.imul(ah3, bl5) | 0; - hi = hi + Math.imul(ah3, bh5) | 0; - lo = lo + Math.imul(al2, bl6) | 0; - mid = mid + Math.imul(al2, bh6) | 0; - mid = mid + Math.imul(ah2, bl6) | 0; - hi = hi + Math.imul(ah2, bh6) | 0; - lo = lo + Math.imul(al1, bl7) | 0; - mid = mid + Math.imul(al1, bh7) | 0; - mid = mid + Math.imul(ah1, bl7) | 0; - hi = hi + Math.imul(ah1, bh7) | 0; - lo = lo + Math.imul(al0, bl8) | 0; - mid = mid + Math.imul(al0, bh8) | 0; - mid = mid + Math.imul(ah0, bl8) | 0; - hi = hi + Math.imul(ah0, bh8) | 0; - var w8 = (c + lo | 0) + ((mid & 8191) << 13) | 0; - c = (hi + (mid >>> 13) | 0) + (w8 >>> 26) | 0; - w8 &= 67108863; - lo = Math.imul(al9, bl0); - mid = Math.imul(al9, bh0); - mid = mid + Math.imul(ah9, bl0) | 0; - hi = Math.imul(ah9, bh0); - lo = lo + Math.imul(al8, bl1) | 0; - mid = mid + Math.imul(al8, bh1) | 0; - mid = mid + Math.imul(ah8, bl1) | 0; - hi = hi + Math.imul(ah8, bh1) | 0; - lo = lo + Math.imul(al7, bl2) | 0; - mid = mid + Math.imul(al7, bh2) | 0; - mid = mid + Math.imul(ah7, bl2) | 0; - hi = hi + Math.imul(ah7, bh2) | 0; - lo = lo + Math.imul(al6, bl3) | 0; - mid = mid + Math.imul(al6, bh3) | 0; - mid = mid + Math.imul(ah6, bl3) | 0; - hi = hi + Math.imul(ah6, bh3) | 0; - lo = lo + Math.imul(al5, bl4) | 0; - mid = mid + Math.imul(al5, bh4) | 0; - mid = mid + Math.imul(ah5, bl4) | 0; - hi = hi + Math.imul(ah5, bh4) | 0; - lo = lo + Math.imul(al4, bl5) | 0; - mid = mid + Math.imul(al4, bh5) | 0; - mid = mid + Math.imul(ah4, bl5) | 0; - hi = hi + Math.imul(ah4, bh5) | 0; - lo = lo + Math.imul(al3, bl6) | 0; - mid = mid + Math.imul(al3, bh6) | 0; - mid = mid + Math.imul(ah3, bl6) | 0; - hi = hi + Math.imul(ah3, bh6) | 0; - lo = lo + Math.imul(al2, bl7) | 0; - mid = mid + Math.imul(al2, bh7) | 0; - mid = mid + Math.imul(ah2, bl7) | 0; - hi = hi + Math.imul(ah2, bh7) | 0; - lo = lo + Math.imul(al1, bl8) | 0; - mid = mid + Math.imul(al1, bh8) | 0; - mid = mid + Math.imul(ah1, bl8) | 0; - hi = hi + Math.imul(ah1, bh8) | 0; - lo = lo + Math.imul(al0, bl9) | 0; - mid = mid + Math.imul(al0, bh9) | 0; - mid = mid + Math.imul(ah0, bl9) | 0; - hi = hi + Math.imul(ah0, bh9) | 0; - var w9 = (c + lo | 0) + ((mid & 8191) << 13) | 0; - c = (hi + (mid >>> 13) | 0) + (w9 >>> 26) | 0; - w9 &= 67108863; - lo = Math.imul(al9, bl1); - mid = Math.imul(al9, bh1); - mid = mid + Math.imul(ah9, bl1) | 0; - hi = Math.imul(ah9, bh1); - lo = lo + Math.imul(al8, bl2) | 0; - mid = mid + Math.imul(al8, bh2) | 0; - mid = mid + Math.imul(ah8, bl2) | 0; - hi = hi + Math.imul(ah8, bh2) | 0; - lo = lo + Math.imul(al7, bl3) | 0; - mid = mid + Math.imul(al7, bh3) | 0; - mid = mid + Math.imul(ah7, bl3) | 0; - hi = hi + Math.imul(ah7, bh3) | 0; - lo = lo + Math.imul(al6, bl4) | 0; - mid = mid + Math.imul(al6, bh4) | 0; - mid = mid + Math.imul(ah6, bl4) | 0; - hi = hi + Math.imul(ah6, bh4) | 0; - lo = lo + Math.imul(al5, bl5) | 0; - mid = mid + Math.imul(al5, bh5) | 0; - mid = mid + Math.imul(ah5, bl5) | 0; - hi = hi + Math.imul(ah5, bh5) | 0; - lo = lo + Math.imul(al4, bl6) | 0; - mid = mid + Math.imul(al4, bh6) | 0; - mid = mid + Math.imul(ah4, bl6) | 0; - hi = hi + Math.imul(ah4, bh6) | 0; - lo = lo + Math.imul(al3, bl7) | 0; - mid = mid + Math.imul(al3, bh7) | 0; - mid = mid + Math.imul(ah3, bl7) | 0; - hi = hi + Math.imul(ah3, bh7) | 0; - lo = lo + Math.imul(al2, bl8) | 0; - mid = mid + Math.imul(al2, bh8) | 0; - mid = mid + Math.imul(ah2, bl8) | 0; - hi = hi + Math.imul(ah2, bh8) | 0; - lo = lo + Math.imul(al1, bl9) | 0; - mid = mid + Math.imul(al1, bh9) | 0; - mid = mid + Math.imul(ah1, bl9) | 0; - hi = hi + Math.imul(ah1, bh9) | 0; - var w10 = (c + lo | 0) + ((mid & 8191) << 13) | 0; - c = (hi + (mid >>> 13) | 0) + (w10 >>> 26) | 0; - w10 &= 67108863; - lo = Math.imul(al9, bl2); - mid = Math.imul(al9, bh2); - mid = mid + Math.imul(ah9, bl2) | 0; - hi = Math.imul(ah9, bh2); - lo = lo + Math.imul(al8, bl3) | 0; - mid = mid + Math.imul(al8, bh3) | 0; - mid = mid + Math.imul(ah8, bl3) | 0; - hi = hi + Math.imul(ah8, bh3) | 0; - lo = lo + Math.imul(al7, bl4) | 0; - mid = mid + Math.imul(al7, bh4) | 0; - mid = mid + Math.imul(ah7, bl4) | 0; - hi = hi + Math.imul(ah7, bh4) | 0; - lo = lo + Math.imul(al6, bl5) | 0; - mid = mid + Math.imul(al6, bh5) | 0; - mid = mid + Math.imul(ah6, bl5) | 0; - hi = hi + Math.imul(ah6, bh5) | 0; - lo = lo + Math.imul(al5, bl6) | 0; - mid = mid + Math.imul(al5, bh6) | 0; - mid = mid + Math.imul(ah5, bl6) | 0; - hi = hi + Math.imul(ah5, bh6) | 0; - lo = lo + Math.imul(al4, bl7) | 0; - mid = mid + Math.imul(al4, bh7) | 0; - mid = mid + Math.imul(ah4, bl7) | 0; - hi = hi + Math.imul(ah4, bh7) | 0; - lo = lo + Math.imul(al3, bl8) | 0; - mid = mid + Math.imul(al3, bh8) | 0; - mid = mid + Math.imul(ah3, bl8) | 0; - hi = hi + Math.imul(ah3, bh8) | 0; - lo = lo + Math.imul(al2, bl9) | 0; - mid = mid + Math.imul(al2, bh9) | 0; - mid = mid + Math.imul(ah2, bl9) | 0; - hi = hi + Math.imul(ah2, bh9) | 0; - var w11 = (c + lo | 0) + ((mid & 8191) << 13) | 0; - c = (hi + (mid >>> 13) | 0) + (w11 >>> 26) | 0; - w11 &= 67108863; - lo = Math.imul(al9, bl3); - mid = Math.imul(al9, bh3); - mid = mid + Math.imul(ah9, bl3) | 0; - hi = Math.imul(ah9, bh3); - lo = lo + Math.imul(al8, bl4) | 0; - mid = mid + Math.imul(al8, bh4) | 0; - mid = mid + Math.imul(ah8, bl4) | 0; - hi = hi + Math.imul(ah8, bh4) | 0; - lo = lo + Math.imul(al7, bl5) | 0; - mid = mid + Math.imul(al7, bh5) | 0; - mid = mid + Math.imul(ah7, bl5) | 0; - hi = hi + Math.imul(ah7, bh5) | 0; - lo = lo + Math.imul(al6, bl6) | 0; - mid = mid + Math.imul(al6, bh6) | 0; - mid = mid + Math.imul(ah6, bl6) | 0; - hi = hi + Math.imul(ah6, bh6) | 0; - lo = lo + Math.imul(al5, bl7) | 0; - mid = mid + Math.imul(al5, bh7) | 0; - mid = mid + Math.imul(ah5, bl7) | 0; - hi = hi + Math.imul(ah5, bh7) | 0; - lo = lo + Math.imul(al4, bl8) | 0; - mid = mid + Math.imul(al4, bh8) | 0; - mid = mid + Math.imul(ah4, bl8) | 0; - hi = hi + Math.imul(ah4, bh8) | 0; - lo = lo + Math.imul(al3, bl9) | 0; - mid = mid + Math.imul(al3, bh9) | 0; - mid = mid + Math.imul(ah3, bl9) | 0; - hi = hi + Math.imul(ah3, bh9) | 0; - var w12 = (c + lo | 0) + ((mid & 8191) << 13) | 0; - c = (hi + (mid >>> 13) | 0) + (w12 >>> 26) | 0; - w12 &= 67108863; - lo = Math.imul(al9, bl4); - mid = Math.imul(al9, bh4); - mid = mid + Math.imul(ah9, bl4) | 0; - hi = Math.imul(ah9, bh4); - lo = lo + Math.imul(al8, bl5) | 0; - mid = mid + Math.imul(al8, bh5) | 0; - mid = mid + Math.imul(ah8, bl5) | 0; - hi = hi + Math.imul(ah8, bh5) | 0; - lo = lo + Math.imul(al7, bl6) | 0; - mid = mid + Math.imul(al7, bh6) | 0; - mid = mid + Math.imul(ah7, bl6) | 0; - hi = hi + Math.imul(ah7, bh6) | 0; - lo = lo + Math.imul(al6, bl7) | 0; - mid = mid + Math.imul(al6, bh7) | 0; - mid = mid + Math.imul(ah6, bl7) | 0; - hi = hi + Math.imul(ah6, bh7) | 0; - lo = lo + Math.imul(al5, bl8) | 0; - mid = mid + Math.imul(al5, bh8) | 0; - mid = mid + Math.imul(ah5, bl8) | 0; - hi = hi + Math.imul(ah5, bh8) | 0; - lo = lo + Math.imul(al4, bl9) | 0; - mid = mid + Math.imul(al4, bh9) | 0; - mid = mid + Math.imul(ah4, bl9) | 0; - hi = hi + Math.imul(ah4, bh9) | 0; - var w13 = (c + lo | 0) + ((mid & 8191) << 13) | 0; - c = (hi + (mid >>> 13) | 0) + (w13 >>> 26) | 0; - w13 &= 67108863; - lo = Math.imul(al9, bl5); - mid = Math.imul(al9, bh5); - mid = mid + Math.imul(ah9, bl5) | 0; - hi = Math.imul(ah9, bh5); - lo = lo + Math.imul(al8, bl6) | 0; - mid = mid + Math.imul(al8, bh6) | 0; - mid = mid + Math.imul(ah8, bl6) | 0; - hi = hi + Math.imul(ah8, bh6) | 0; - lo = lo + Math.imul(al7, bl7) | 0; - mid = mid + Math.imul(al7, bh7) | 0; - mid = mid + Math.imul(ah7, bl7) | 0; - hi = hi + Math.imul(ah7, bh7) | 0; - lo = lo + Math.imul(al6, bl8) | 0; - mid = mid + Math.imul(al6, bh8) | 0; - mid = mid + Math.imul(ah6, bl8) | 0; - hi = hi + Math.imul(ah6, bh8) | 0; - lo = lo + Math.imul(al5, bl9) | 0; - mid = mid + Math.imul(al5, bh9) | 0; - mid = mid + Math.imul(ah5, bl9) | 0; - hi = hi + Math.imul(ah5, bh9) | 0; - var w14 = (c + lo | 0) + ((mid & 8191) << 13) | 0; - c = (hi + (mid >>> 13) | 0) + (w14 >>> 26) | 0; - w14 &= 67108863; - lo = Math.imul(al9, bl6); - mid = Math.imul(al9, bh6); - mid = mid + Math.imul(ah9, bl6) | 0; - hi = Math.imul(ah9, bh6); - lo = lo + Math.imul(al8, bl7) | 0; - mid = mid + Math.imul(al8, bh7) | 0; - mid = mid + Math.imul(ah8, bl7) | 0; - hi = hi + Math.imul(ah8, bh7) | 0; - lo = lo + Math.imul(al7, bl8) | 0; - mid = mid + Math.imul(al7, bh8) | 0; - mid = mid + Math.imul(ah7, bl8) | 0; - hi = hi + Math.imul(ah7, bh8) | 0; - lo = lo + Math.imul(al6, bl9) | 0; - mid = mid + Math.imul(al6, bh9) | 0; - mid = mid + Math.imul(ah6, bl9) | 0; - hi = hi + Math.imul(ah6, bh9) | 0; - var w15 = (c + lo | 0) + ((mid & 8191) << 13) | 0; - c = (hi + (mid >>> 13) | 0) + (w15 >>> 26) | 0; - w15 &= 67108863; - lo = Math.imul(al9, bl7); - mid = Math.imul(al9, bh7); - mid = mid + Math.imul(ah9, bl7) | 0; - hi = Math.imul(ah9, bh7); - lo = lo + Math.imul(al8, bl8) | 0; - mid = mid + Math.imul(al8, bh8) | 0; - mid = mid + Math.imul(ah8, bl8) | 0; - hi = hi + Math.imul(ah8, bh8) | 0; - lo = lo + Math.imul(al7, bl9) | 0; - mid = mid + Math.imul(al7, bh9) | 0; - mid = mid + Math.imul(ah7, bl9) | 0; - hi = hi + Math.imul(ah7, bh9) | 0; - var w16 = (c + lo | 0) + ((mid & 8191) << 13) | 0; - c = (hi + (mid >>> 13) | 0) + (w16 >>> 26) | 0; - w16 &= 67108863; - lo = Math.imul(al9, bl8); - mid = Math.imul(al9, bh8); - mid = mid + Math.imul(ah9, bl8) | 0; - hi = Math.imul(ah9, bh8); - lo = lo + Math.imul(al8, bl9) | 0; - mid = mid + Math.imul(al8, bh9) | 0; - mid = mid + Math.imul(ah8, bl9) | 0; - hi = hi + Math.imul(ah8, bh9) | 0; - var w17 = (c + lo | 0) + ((mid & 8191) << 13) | 0; - c = (hi + (mid >>> 13) | 0) + (w17 >>> 26) | 0; - w17 &= 67108863; - lo = Math.imul(al9, bl9); - mid = Math.imul(al9, bh9); - mid = mid + Math.imul(ah9, bl9) | 0; - hi = Math.imul(ah9, bh9); - var w18 = (c + lo | 0) + ((mid & 8191) << 13) | 0; - c = (hi + (mid >>> 13) | 0) + (w18 >>> 26) | 0; - w18 &= 67108863; - o[0] = w0; - o[1] = w1; - o[2] = w2; - o[3] = w3; - o[4] = w4; - o[5] = w5; - o[6] = w6; - o[7] = w7; - o[8] = w8; - o[9] = w9; - o[10] = w10; - o[11] = w11; - o[12] = w12; - o[13] = w13; - o[14] = w14; - o[15] = w15; - o[16] = w16; - o[17] = w17; - o[18] = w18; - if (c !== 0) { - o[19] = c; - out.length++; - } - return out; - }; - if (!Math.imul) { - comb10MulTo = smallMulTo; - } - function bigMulTo(self2, num, out) { - out.negative = num.negative ^ self2.negative; - out.length = self2.length + num.length; - var carry = 0; - var hncarry = 0; - for (var k = 0; k < out.length - 1; k++) { - var ncarry = hncarry; - hncarry = 0; - var rword = carry & 67108863; - var maxJ = Math.min(k, num.length - 1); - for (var j = Math.max(0, k - self2.length + 1); j <= maxJ; j++) { - var i = k - j; - var a = self2.words[i] | 0; - var b = num.words[j] | 0; - var r = a * b; - var lo = r & 67108863; - ncarry = ncarry + (r / 67108864 | 0) | 0; - lo = lo + rword | 0; - rword = lo & 67108863; - ncarry = ncarry + (lo >>> 26) | 0; - hncarry += ncarry >>> 26; - ncarry &= 67108863; - } - out.words[k] = rword; - carry = ncarry; - ncarry = hncarry; - } - if (carry !== 0) { - out.words[k] = carry; - } else { - out.length--; - } - return out.strip(); - } - function jumboMulTo(self2, num, out) { - var fftm = new FFTM(); - return fftm.mulp(self2, num, out); - } - BN.prototype.mulTo = function mulTo(num, out) { - var res; - var len = this.length + num.length; - if (this.length === 10 && num.length === 10) { - res = comb10MulTo(this, num, out); - } else if (len < 63) { - res = smallMulTo(this, num, out); - } else if (len < 1024) { - res = bigMulTo(this, num, out); - } else { - res = jumboMulTo(this, num, out); - } - return res; - }; - function FFTM(x, y) { - this.x = x; - this.y = y; - } - FFTM.prototype.makeRBT = function makeRBT(N) { - var t = new Array(N); - var l = BN.prototype._countBits(N) - 1; - for (var i = 0; i < N; i++) { - t[i] = this.revBin(i, l, N); - } - return t; - }; - FFTM.prototype.revBin = function revBin(x, l, N) { - if (x === 0 || x === N - 1) - return x; - var rb = 0; - for (var i = 0; i < l; i++) { - rb |= (x & 1) << l - i - 1; - x >>= 1; - } - return rb; - }; - FFTM.prototype.permute = function permute(rbt, rws, iws, rtws, itws, N) { - for (var i = 0; i < N; i++) { - rtws[i] = rws[rbt[i]]; - itws[i] = iws[rbt[i]]; - } - }; - FFTM.prototype.transform = function transform(rws, iws, rtws, itws, N, rbt) { - this.permute(rbt, rws, iws, rtws, itws, N); - for (var s = 1; s < N; s <<= 1) { - var l = s << 1; - var rtwdf = Math.cos(2 * Math.PI / l); - var itwdf = Math.sin(2 * Math.PI / l); - for (var p = 0; p < N; p += l) { - var rtwdf_ = rtwdf; - var itwdf_ = itwdf; - for (var j = 0; j < s; j++) { - var re = rtws[p + j]; - var ie = itws[p + j]; - var ro = rtws[p + j + s]; - var io = itws[p + j + s]; - var rx = rtwdf_ * ro - itwdf_ * io; - io = rtwdf_ * io + itwdf_ * ro; - ro = rx; - rtws[p + j] = re + ro; - itws[p + j] = ie + io; - rtws[p + j + s] = re - ro; - itws[p + j + s] = ie - io; - if (j !== l) { - rx = rtwdf * rtwdf_ - itwdf * itwdf_; - itwdf_ = rtwdf * itwdf_ + itwdf * rtwdf_; - rtwdf_ = rx; - } - } - } - } - }; - FFTM.prototype.guessLen13b = function guessLen13b(n, m) { - var N = Math.max(m, n) | 1; - var odd = N & 1; - var i = 0; - for (N = N / 2 | 0; N; N = N >>> 1) { - i++; - } - return 1 << i + 1 + odd; - }; - FFTM.prototype.conjugate = function conjugate(rws, iws, N) { - if (N <= 1) - return; - for (var i = 0; i < N / 2; i++) { - var t = rws[i]; - rws[i] = rws[N - i - 1]; - rws[N - i - 1] = t; - t = iws[i]; - iws[i] = -iws[N - i - 1]; - iws[N - i - 1] = -t; - } - }; - FFTM.prototype.normalize13b = function normalize13b(ws, N) { - var carry = 0; - for (var i = 0; i < N / 2; i++) { - var w = Math.round(ws[2 * i + 1] / N) * 8192 + Math.round(ws[2 * i] / N) + carry; - ws[i] = w & 67108863; - if (w < 67108864) { - carry = 0; - } else { - carry = w / 67108864 | 0; - } - } - return ws; - }; - FFTM.prototype.convert13b = function convert13b(ws, len, rws, N) { - var carry = 0; - for (var i = 0; i < len; i++) { - carry = carry + (ws[i] | 0); - rws[2 * i] = carry & 8191; - carry = carry >>> 13; - rws[2 * i + 1] = carry & 8191; - carry = carry >>> 13; - } - for (i = 2 * len; i < N; ++i) { - rws[i] = 0; - } - assert(carry === 0); - assert((carry & ~8191) === 0); - }; - FFTM.prototype.stub = function stub(N) { - var ph = new Array(N); - for (var i = 0; i < N; i++) { - ph[i] = 0; - } - return ph; - }; - FFTM.prototype.mulp = function mulp(x, y, out) { - var N = 2 * this.guessLen13b(x.length, y.length); - var rbt = this.makeRBT(N); - var _ = this.stub(N); - var rws = new Array(N); - var rwst = new Array(N); - var iwst = new Array(N); - var nrws = new Array(N); - var nrwst = new Array(N); - var niwst = new Array(N); - var rmws = out.words; - rmws.length = N; - this.convert13b(x.words, x.length, rws, N); - this.convert13b(y.words, y.length, nrws, N); - this.transform(rws, _, rwst, iwst, N, rbt); - this.transform(nrws, _, nrwst, niwst, N, rbt); - for (var i = 0; i < N; i++) { - var rx = rwst[i] * nrwst[i] - iwst[i] * niwst[i]; - iwst[i] = rwst[i] * niwst[i] + iwst[i] * nrwst[i]; - rwst[i] = rx; - } - this.conjugate(rwst, iwst, N); - this.transform(rwst, iwst, rmws, _, N, rbt); - this.conjugate(rmws, _, N); - this.normalize13b(rmws, N); - out.negative = x.negative ^ y.negative; - out.length = x.length + y.length; - return out.strip(); - }; - BN.prototype.mul = function mul(num) { - var out = new BN(null); - out.words = new Array(this.length + num.length); - return this.mulTo(num, out); - }; - BN.prototype.mulf = function mulf(num) { - var out = new BN(null); - out.words = new Array(this.length + num.length); - return jumboMulTo(this, num, out); - }; - BN.prototype.imul = function imul(num) { - return this.clone().mulTo(num, this); - }; - BN.prototype.imuln = function imuln(num) { - assert(typeof num === "number"); - assert(num < 67108864); - var carry = 0; - for (var i = 0; i < this.length; i++) { - var w = (this.words[i] | 0) * num; - var lo = (w & 67108863) + (carry & 67108863); - carry >>= 26; - carry += w / 67108864 | 0; - carry += lo >>> 26; - this.words[i] = lo & 67108863; - } - if (carry !== 0) { - this.words[i] = carry; - this.length++; - } - return this; - }; - BN.prototype.muln = function muln(num) { - return this.clone().imuln(num); - }; - BN.prototype.sqr = function sqr() { - return this.mul(this); - }; - BN.prototype.isqr = function isqr() { - return this.imul(this.clone()); - }; - BN.prototype.pow = function pow(num) { - var w = toBitArray(num); - if (w.length === 0) - return new BN(1); - var res = this; - for (var i = 0; i < w.length; i++, res = res.sqr()) { - if (w[i] !== 0) - break; - } - if (++i < w.length) { - for (var q = res.sqr(); i < w.length; i++, q = q.sqr()) { - if (w[i] === 0) - continue; - res = res.mul(q); - } - } - return res; - }; - BN.prototype.iushln = function iushln(bits) { - assert(typeof bits === "number" && bits >= 0); - var r = bits % 26; - var s = (bits - r) / 26; - var carryMask = 67108863 >>> 26 - r << 26 - r; - var i; - if (r !== 0) { - var carry = 0; - for (i = 0; i < this.length; i++) { - var newCarry = this.words[i] & carryMask; - var c = (this.words[i] | 0) - newCarry << r; - this.words[i] = c | carry; - carry = newCarry >>> 26 - r; - } - if (carry) { - this.words[i] = carry; - this.length++; - } - } - if (s !== 0) { - for (i = this.length - 1; i >= 0; i--) { - this.words[i + s] = this.words[i]; - } - for (i = 0; i < s; i++) { - this.words[i] = 0; - } - this.length += s; - } - return this.strip(); - }; - BN.prototype.ishln = function ishln(bits) { - assert(this.negative === 0); - return this.iushln(bits); - }; - BN.prototype.iushrn = function iushrn(bits, hint, extended) { - assert(typeof bits === "number" && bits >= 0); - var h; - if (hint) { - h = (hint - hint % 26) / 26; - } else { - h = 0; - } - var r = bits % 26; - var s = Math.min((bits - r) / 26, this.length); - var mask = 67108863 ^ 67108863 >>> r << r; - var maskedWords = extended; - h -= s; - h = Math.max(0, h); - if (maskedWords) { - for (var i = 0; i < s; i++) { - maskedWords.words[i] = this.words[i]; - } - maskedWords.length = s; - } - if (s === 0) { - } else if (this.length > s) { - this.length -= s; - for (i = 0; i < this.length; i++) { - this.words[i] = this.words[i + s]; - } - } else { - this.words[0] = 0; - this.length = 1; - } - var carry = 0; - for (i = this.length - 1; i >= 0 && (carry !== 0 || i >= h); i--) { - var word = this.words[i] | 0; - this.words[i] = carry << 26 - r | word >>> r; - carry = word & mask; - } - if (maskedWords && carry !== 0) { - maskedWords.words[maskedWords.length++] = carry; - } - if (this.length === 0) { - this.words[0] = 0; - this.length = 1; - } - return this.strip(); - }; - BN.prototype.ishrn = function ishrn(bits, hint, extended) { - assert(this.negative === 0); - return this.iushrn(bits, hint, extended); - }; - BN.prototype.shln = function shln(bits) { - return this.clone().ishln(bits); - }; - BN.prototype.ushln = function ushln(bits) { - return this.clone().iushln(bits); - }; - BN.prototype.shrn = function shrn(bits) { - return this.clone().ishrn(bits); - }; - BN.prototype.ushrn = function ushrn(bits) { - return this.clone().iushrn(bits); - }; - BN.prototype.testn = function testn(bit) { - assert(typeof bit === "number" && bit >= 0); - var r = bit % 26; - var s = (bit - r) / 26; - var q = 1 << r; - if (this.length <= s) - return false; - var w = this.words[s]; - return !!(w & q); - }; - BN.prototype.imaskn = function imaskn(bits) { - assert(typeof bits === "number" && bits >= 0); - var r = bits % 26; - var s = (bits - r) / 26; - assert(this.negative === 0, "imaskn works only with positive numbers"); - if (this.length <= s) { - return this; - } - if (r !== 0) { - s++; - } - this.length = Math.min(s, this.length); - if (r !== 0) { - var mask = 67108863 ^ 67108863 >>> r << r; - this.words[this.length - 1] &= mask; - } - return this.strip(); - }; - BN.prototype.maskn = function maskn(bits) { - return this.clone().imaskn(bits); - }; - BN.prototype.iaddn = function iaddn(num) { - assert(typeof num === "number"); - assert(num < 67108864); - if (num < 0) - return this.isubn(-num); - if (this.negative !== 0) { - if (this.length === 1 && (this.words[0] | 0) < num) { - this.words[0] = num - (this.words[0] | 0); - this.negative = 0; - return this; - } - this.negative = 0; - this.isubn(num); - this.negative = 1; - return this; - } - return this._iaddn(num); - }; - BN.prototype._iaddn = function _iaddn(num) { - this.words[0] += num; - for (var i = 0; i < this.length && this.words[i] >= 67108864; i++) { - this.words[i] -= 67108864; - if (i === this.length - 1) { - this.words[i + 1] = 1; - } else { - this.words[i + 1]++; - } - } - this.length = Math.max(this.length, i + 1); - return this; - }; - BN.prototype.isubn = function isubn(num) { - assert(typeof num === "number"); - assert(num < 67108864); - if (num < 0) - return this.iaddn(-num); - if (this.negative !== 0) { - this.negative = 0; - this.iaddn(num); - this.negative = 1; - return this; - } - this.words[0] -= num; - if (this.length === 1 && this.words[0] < 0) { - this.words[0] = -this.words[0]; - this.negative = 1; - } else { - for (var i = 0; i < this.length && this.words[i] < 0; i++) { - this.words[i] += 67108864; - this.words[i + 1] -= 1; - } - } - return this.strip(); - }; - BN.prototype.addn = function addn(num) { - return this.clone().iaddn(num); - }; - BN.prototype.subn = function subn(num) { - return this.clone().isubn(num); - }; - BN.prototype.iabs = function iabs() { - this.negative = 0; - return this; - }; - BN.prototype.abs = function abs() { - return this.clone().iabs(); - }; - BN.prototype._ishlnsubmul = function _ishlnsubmul(num, mul, shift) { - var len = num.length + shift; - var i; - this._expand(len); - var w; - var carry = 0; - for (i = 0; i < num.length; i++) { - w = (this.words[i + shift] | 0) + carry; - var right = (num.words[i] | 0) * mul; - w -= right & 67108863; - carry = (w >> 26) - (right / 67108864 | 0); - this.words[i + shift] = w & 67108863; - } - for (; i < this.length - shift; i++) { - w = (this.words[i + shift] | 0) + carry; - carry = w >> 26; - this.words[i + shift] = w & 67108863; - } - if (carry === 0) - return this.strip(); - assert(carry === -1); - carry = 0; - for (i = 0; i < this.length; i++) { - w = -(this.words[i] | 0) + carry; - carry = w >> 26; - this.words[i] = w & 67108863; - } - this.negative = 1; - return this.strip(); - }; - BN.prototype._wordDiv = function _wordDiv(num, mode) { - var shift = this.length - num.length; - var a = this.clone(); - var b = num; - var bhi = b.words[b.length - 1] | 0; - var bhiBits = this._countBits(bhi); - shift = 26 - bhiBits; - if (shift !== 0) { - b = b.ushln(shift); - a.iushln(shift); - bhi = b.words[b.length - 1] | 0; - } - var m = a.length - b.length; - var q; - if (mode !== "mod") { - q = new BN(null); - q.length = m + 1; - q.words = new Array(q.length); - for (var i = 0; i < q.length; i++) { - q.words[i] = 0; - } - } - var diff = a.clone()._ishlnsubmul(b, 1, m); - if (diff.negative === 0) { - a = diff; - if (q) { - q.words[m] = 1; - } - } - for (var j = m - 1; j >= 0; j--) { - var qj = (a.words[b.length + j] | 0) * 67108864 + (a.words[b.length + j - 1] | 0); - qj = Math.min(qj / bhi | 0, 67108863); - a._ishlnsubmul(b, qj, j); - while (a.negative !== 0) { - qj--; - a.negative = 0; - a._ishlnsubmul(b, 1, j); - if (!a.isZero()) { - a.negative ^= 1; - } - } - if (q) { - q.words[j] = qj; - } - } - if (q) { - q.strip(); - } - a.strip(); - if (mode !== "div" && shift !== 0) { - a.iushrn(shift); - } - return { - div: q || null, - mod: a - }; - }; - BN.prototype.divmod = function divmod(num, mode, positive) { - assert(!num.isZero()); - if (this.isZero()) { - return { - div: new BN(0), - mod: new BN(0) - }; - } - var div, mod, res; - if (this.negative !== 0 && num.negative === 0) { - res = this.neg().divmod(num, mode); - if (mode !== "mod") { - div = res.div.neg(); - } - if (mode !== "div") { - mod = res.mod.neg(); - if (positive && mod.negative !== 0) { - mod.iadd(num); - } - } - return { - div, - mod - }; - } - if (this.negative === 0 && num.negative !== 0) { - res = this.divmod(num.neg(), mode); - if (mode !== "mod") { - div = res.div.neg(); - } - return { - div, - mod: res.mod - }; - } - if ((this.negative & num.negative) !== 0) { - res = this.neg().divmod(num.neg(), mode); - if (mode !== "div") { - mod = res.mod.neg(); - if (positive && mod.negative !== 0) { - mod.isub(num); - } - } - return { - div: res.div, - mod - }; - } - if (num.length > this.length || this.cmp(num) < 0) { - return { - div: new BN(0), - mod: this - }; - } - if (num.length === 1) { - if (mode === "div") { - return { - div: this.divn(num.words[0]), - mod: null - }; - } - if (mode === "mod") { - return { - div: null, - mod: new BN(this.modn(num.words[0])) - }; - } - return { - div: this.divn(num.words[0]), - mod: new BN(this.modn(num.words[0])) - }; - } - return this._wordDiv(num, mode); - }; - BN.prototype.div = function div(num) { - return this.divmod(num, "div", false).div; - }; - BN.prototype.mod = function mod(num) { - return this.divmod(num, "mod", false).mod; - }; - BN.prototype.umod = function umod(num) { - return this.divmod(num, "mod", true).mod; - }; - BN.prototype.divRound = function divRound(num) { - var dm = this.divmod(num); - if (dm.mod.isZero()) - return dm.div; - var mod = dm.div.negative !== 0 ? dm.mod.isub(num) : dm.mod; - var half = num.ushrn(1); - var r2 = num.andln(1); - var cmp = mod.cmp(half); - if (cmp < 0 || r2 === 1 && cmp === 0) - return dm.div; - return dm.div.negative !== 0 ? dm.div.isubn(1) : dm.div.iaddn(1); - }; - BN.prototype.modn = function modn(num) { - assert(num <= 67108863); - var p = (1 << 26) % num; - var acc = 0; - for (var i = this.length - 1; i >= 0; i--) { - acc = (p * acc + (this.words[i] | 0)) % num; - } - return acc; - }; - BN.prototype.idivn = function idivn(num) { - assert(num <= 67108863); - var carry = 0; - for (var i = this.length - 1; i >= 0; i--) { - var w = (this.words[i] | 0) + carry * 67108864; - this.words[i] = w / num | 0; - carry = w % num; - } - return this.strip(); - }; - BN.prototype.divn = function divn(num) { - return this.clone().idivn(num); - }; - BN.prototype.egcd = function egcd(p) { - assert(p.negative === 0); - assert(!p.isZero()); - var x = this; - var y = p.clone(); - if (x.negative !== 0) { - x = x.umod(p); - } else { - x = x.clone(); - } - var A = new BN(1); - var B = new BN(0); - var C = new BN(0); - var D = new BN(1); - var g = 0; - while (x.isEven() && y.isEven()) { - x.iushrn(1); - y.iushrn(1); - ++g; - } - var yp = y.clone(); - var xp = x.clone(); - while (!x.isZero()) { - for (var i = 0, im = 1; (x.words[0] & im) === 0 && i < 26; ++i, im <<= 1) - ; - if (i > 0) { - x.iushrn(i); - while (i-- > 0) { - if (A.isOdd() || B.isOdd()) { - A.iadd(yp); - B.isub(xp); - } - A.iushrn(1); - B.iushrn(1); - } - } - for (var j = 0, jm = 1; (y.words[0] & jm) === 0 && j < 26; ++j, jm <<= 1) - ; - if (j > 0) { - y.iushrn(j); - while (j-- > 0) { - if (C.isOdd() || D.isOdd()) { - C.iadd(yp); - D.isub(xp); - } - C.iushrn(1); - D.iushrn(1); - } - } - if (x.cmp(y) >= 0) { - x.isub(y); - A.isub(C); - B.isub(D); - } else { - y.isub(x); - C.isub(A); - D.isub(B); - } - } - return { - a: C, - b: D, - gcd: y.iushln(g) - }; - }; - BN.prototype._invmp = function _invmp(p) { - assert(p.negative === 0); - assert(!p.isZero()); - var a = this; - var b = p.clone(); - if (a.negative !== 0) { - a = a.umod(p); - } else { - a = a.clone(); - } - var x1 = new BN(1); - var x2 = new BN(0); - var delta = b.clone(); - while (a.cmpn(1) > 0 && b.cmpn(1) > 0) { - for (var i = 0, im = 1; (a.words[0] & im) === 0 && i < 26; ++i, im <<= 1) - ; - if (i > 0) { - a.iushrn(i); - while (i-- > 0) { - if (x1.isOdd()) { - x1.iadd(delta); - } - x1.iushrn(1); - } - } - for (var j = 0, jm = 1; (b.words[0] & jm) === 0 && j < 26; ++j, jm <<= 1) - ; - if (j > 0) { - b.iushrn(j); - while (j-- > 0) { - if (x2.isOdd()) { - x2.iadd(delta); - } - x2.iushrn(1); - } - } - if (a.cmp(b) >= 0) { - a.isub(b); - x1.isub(x2); - } else { - b.isub(a); - x2.isub(x1); - } - } - var res; - if (a.cmpn(1) === 0) { - res = x1; - } else { - res = x2; - } - if (res.cmpn(0) < 0) { - res.iadd(p); - } - return res; - }; - BN.prototype.gcd = function gcd(num) { - if (this.isZero()) - return num.abs(); - if (num.isZero()) - return this.abs(); - var a = this.clone(); - var b = num.clone(); - a.negative = 0; - b.negative = 0; - for (var shift = 0; a.isEven() && b.isEven(); shift++) { - a.iushrn(1); - b.iushrn(1); - } - do { - while (a.isEven()) { - a.iushrn(1); - } - while (b.isEven()) { - b.iushrn(1); - } - var r = a.cmp(b); - if (r < 0) { - var t = a; - a = b; - b = t; - } else if (r === 0 || b.cmpn(1) === 0) { - break; - } - a.isub(b); - } while (true); - return b.iushln(shift); - }; - BN.prototype.invm = function invm(num) { - return this.egcd(num).a.umod(num); - }; - BN.prototype.isEven = function isEven() { - return (this.words[0] & 1) === 0; - }; - BN.prototype.isOdd = function isOdd() { - return (this.words[0] & 1) === 1; - }; - BN.prototype.andln = function andln(num) { - return this.words[0] & num; - }; - BN.prototype.bincn = function bincn(bit) { - assert(typeof bit === "number"); - var r = bit % 26; - var s = (bit - r) / 26; - var q = 1 << r; - if (this.length <= s) { - this._expand(s + 1); - this.words[s] |= q; - return this; - } - var carry = q; - for (var i = s; carry !== 0 && i < this.length; i++) { - var w = this.words[i] | 0; - w += carry; - carry = w >>> 26; - w &= 67108863; - this.words[i] = w; - } - if (carry !== 0) { - this.words[i] = carry; - this.length++; - } - return this; - }; - BN.prototype.isZero = function isZero() { - return this.length === 1 && this.words[0] === 0; - }; - BN.prototype.cmpn = function cmpn(num) { - var negative = num < 0; - if (this.negative !== 0 && !negative) - return -1; - if (this.negative === 0 && negative) - return 1; - this.strip(); - var res; - if (this.length > 1) { - res = 1; - } else { - if (negative) { - num = -num; - } - assert(num <= 67108863, "Number is too big"); - var w = this.words[0] | 0; - res = w === num ? 0 : w < num ? -1 : 1; - } - if (this.negative !== 0) - return -res | 0; - return res; - }; - BN.prototype.cmp = function cmp(num) { - if (this.negative !== 0 && num.negative === 0) - return -1; - if (this.negative === 0 && num.negative !== 0) - return 1; - var res = this.ucmp(num); - if (this.negative !== 0) - return -res | 0; - return res; - }; - BN.prototype.ucmp = function ucmp(num) { - if (this.length > num.length) - return 1; - if (this.length < num.length) - return -1; - var res = 0; - for (var i = this.length - 1; i >= 0; i--) { - var a = this.words[i] | 0; - var b = num.words[i] | 0; - if (a === b) - continue; - if (a < b) { - res = -1; - } else if (a > b) { - res = 1; - } - break; - } - return res; - }; - BN.prototype.gtn = function gtn(num) { - return this.cmpn(num) === 1; - }; - BN.prototype.gt = function gt(num) { - return this.cmp(num) === 1; - }; - BN.prototype.gten = function gten(num) { - return this.cmpn(num) >= 0; - }; - BN.prototype.gte = function gte(num) { - return this.cmp(num) >= 0; - }; - BN.prototype.ltn = function ltn(num) { - return this.cmpn(num) === -1; - }; - BN.prototype.lt = function lt(num) { - return this.cmp(num) === -1; - }; - BN.prototype.lten = function lten(num) { - return this.cmpn(num) <= 0; - }; - BN.prototype.lte = function lte(num) { - return this.cmp(num) <= 0; - }; - BN.prototype.eqn = function eqn(num) { - return this.cmpn(num) === 0; - }; - BN.prototype.eq = function eq(num) { - return this.cmp(num) === 0; - }; - BN.red = function red(num) { - return new Red(num); - }; - BN.prototype.toRed = function toRed(ctx) { - assert(!this.red, "Already a number in reduction context"); - assert(this.negative === 0, "red works only with positives"); - return ctx.convertTo(this)._forceRed(ctx); - }; - BN.prototype.fromRed = function fromRed() { - assert(this.red, "fromRed works only with numbers in reduction context"); - return this.red.convertFrom(this); - }; - BN.prototype._forceRed = function _forceRed(ctx) { - this.red = ctx; - return this; - }; - BN.prototype.forceRed = function forceRed(ctx) { - assert(!this.red, "Already a number in reduction context"); - return this._forceRed(ctx); - }; - BN.prototype.redAdd = function redAdd(num) { - assert(this.red, "redAdd works only with red numbers"); - return this.red.add(this, num); - }; - BN.prototype.redIAdd = function redIAdd(num) { - assert(this.red, "redIAdd works only with red numbers"); - return this.red.iadd(this, num); - }; - BN.prototype.redSub = function redSub(num) { - assert(this.red, "redSub works only with red numbers"); - return this.red.sub(this, num); - }; - BN.prototype.redISub = function redISub(num) { - assert(this.red, "redISub works only with red numbers"); - return this.red.isub(this, num); - }; - BN.prototype.redShl = function redShl(num) { - assert(this.red, "redShl works only with red numbers"); - return this.red.shl(this, num); - }; - BN.prototype.redMul = function redMul(num) { - assert(this.red, "redMul works only with red numbers"); - this.red._verify2(this, num); - return this.red.mul(this, num); - }; - BN.prototype.redIMul = function redIMul(num) { - assert(this.red, "redMul works only with red numbers"); - this.red._verify2(this, num); - return this.red.imul(this, num); - }; - BN.prototype.redSqr = function redSqr() { - assert(this.red, "redSqr works only with red numbers"); - this.red._verify1(this); - return this.red.sqr(this); - }; - BN.prototype.redISqr = function redISqr() { - assert(this.red, "redISqr works only with red numbers"); - this.red._verify1(this); - return this.red.isqr(this); - }; - BN.prototype.redSqrt = function redSqrt() { - assert(this.red, "redSqrt works only with red numbers"); - this.red._verify1(this); - return this.red.sqrt(this); - }; - BN.prototype.redInvm = function redInvm() { - assert(this.red, "redInvm works only with red numbers"); - this.red._verify1(this); - return this.red.invm(this); - }; - BN.prototype.redNeg = function redNeg() { - assert(this.red, "redNeg works only with red numbers"); - this.red._verify1(this); - return this.red.neg(this); - }; - BN.prototype.redPow = function redPow(num) { - assert(this.red && !num.red, "redPow(normalNum)"); - this.red._verify1(this); - return this.red.pow(this, num); - }; - var primes = { - k256: null, - p224: null, - p192: null, - p25519: null - }; - function MPrime(name, p) { - this.name = name; - this.p = new BN(p, 16); - this.n = this.p.bitLength(); - this.k = new BN(1).iushln(this.n).isub(this.p); - this.tmp = this._tmp(); - } - MPrime.prototype._tmp = function _tmp() { - var tmp = new BN(null); - tmp.words = new Array(Math.ceil(this.n / 13)); - return tmp; - }; - MPrime.prototype.ireduce = function ireduce(num) { - var r = num; - var rlen; - do { - this.split(r, this.tmp); - r = this.imulK(r); - r = r.iadd(this.tmp); - rlen = r.bitLength(); - } while (rlen > this.n); - var cmp = rlen < this.n ? -1 : r.ucmp(this.p); - if (cmp === 0) { - r.words[0] = 0; - r.length = 1; - } else if (cmp > 0) { - r.isub(this.p); - } else { - if (r.strip !== void 0) { - r.strip(); - } else { - r._strip(); - } - } - return r; - }; - MPrime.prototype.split = function split(input, out) { - input.iushrn(this.n, 0, out); - }; - MPrime.prototype.imulK = function imulK(num) { - return num.imul(this.k); - }; - function K256() { - MPrime.call( - this, - "k256", - "ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f" - ); - } - inherits2(K256, MPrime); - K256.prototype.split = function split(input, output) { - var mask = 4194303; - var outLen = Math.min(input.length, 9); - for (var i = 0; i < outLen; i++) { - output.words[i] = input.words[i]; - } - output.length = outLen; - if (input.length <= 9) { - input.words[0] = 0; - input.length = 1; - return; - } - var prev = input.words[9]; - output.words[output.length++] = prev & mask; - for (i = 10; i < input.length; i++) { - var next = input.words[i] | 0; - input.words[i - 10] = (next & mask) << 4 | prev >>> 22; - prev = next; - } - prev >>>= 22; - input.words[i - 10] = prev; - if (prev === 0 && input.length > 10) { - input.length -= 10; - } else { - input.length -= 9; - } - }; - K256.prototype.imulK = function imulK(num) { - num.words[num.length] = 0; - num.words[num.length + 1] = 0; - num.length += 2; - var lo = 0; - for (var i = 0; i < num.length; i++) { - var w = num.words[i] | 0; - lo += w * 977; - num.words[i] = lo & 67108863; - lo = w * 64 + (lo / 67108864 | 0); - } - if (num.words[num.length - 1] === 0) { - num.length--; - if (num.words[num.length - 1] === 0) { - num.length--; - } - } - return num; - }; - function P224() { - MPrime.call( - this, - "p224", - "ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001" - ); - } - inherits2(P224, MPrime); - function P192() { - MPrime.call( - this, - "p192", - "ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff" - ); - } - inherits2(P192, MPrime); - function P25519() { - MPrime.call( - this, - "25519", - "7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed" - ); - } - inherits2(P25519, MPrime); - P25519.prototype.imulK = function imulK(num) { - var carry = 0; - for (var i = 0; i < num.length; i++) { - var hi = (num.words[i] | 0) * 19 + carry; - var lo = hi & 67108863; - hi >>>= 26; - num.words[i] = lo; - carry = hi; - } - if (carry !== 0) { - num.words[num.length++] = carry; - } - return num; - }; - BN._prime = function prime(name) { - if (primes[name]) - return primes[name]; - var prime2; - if (name === "k256") { - prime2 = new K256(); - } else if (name === "p224") { - prime2 = new P224(); - } else if (name === "p192") { - prime2 = new P192(); - } else if (name === "p25519") { - prime2 = new P25519(); - } else { - throw new Error("Unknown prime " + name); - } - primes[name] = prime2; - return prime2; - }; - function Red(m) { - if (typeof m === "string") { - var prime = BN._prime(m); - this.m = prime.p; - this.prime = prime; - } else { - assert(m.gtn(1), "modulus must be greater than 1"); - this.m = m; - this.prime = null; - } - } - Red.prototype._verify1 = function _verify1(a) { - assert(a.negative === 0, "red works only with positives"); - assert(a.red, "red works only with red numbers"); - }; - Red.prototype._verify2 = function _verify2(a, b) { - assert((a.negative | b.negative) === 0, "red works only with positives"); - assert( - a.red && a.red === b.red, - "red works only with red numbers" - ); - }; - Red.prototype.imod = function imod(a) { - if (this.prime) - return this.prime.ireduce(a)._forceRed(this); - return a.umod(this.m)._forceRed(this); - }; - Red.prototype.neg = function neg(a) { - if (a.isZero()) { - return a.clone(); - } - return this.m.sub(a)._forceRed(this); - }; - Red.prototype.add = function add(a, b) { - this._verify2(a, b); - var res = a.add(b); - if (res.cmp(this.m) >= 0) { - res.isub(this.m); - } - return res._forceRed(this); - }; - Red.prototype.iadd = function iadd(a, b) { - this._verify2(a, b); - var res = a.iadd(b); - if (res.cmp(this.m) >= 0) { - res.isub(this.m); - } - return res; - }; - Red.prototype.sub = function sub(a, b) { - this._verify2(a, b); - var res = a.sub(b); - if (res.cmpn(0) < 0) { - res.iadd(this.m); - } - return res._forceRed(this); - }; - Red.prototype.isub = function isub(a, b) { - this._verify2(a, b); - var res = a.isub(b); - if (res.cmpn(0) < 0) { - res.iadd(this.m); - } - return res; - }; - Red.prototype.shl = function shl(a, num) { - this._verify1(a); - return this.imod(a.ushln(num)); - }; - Red.prototype.imul = function imul(a, b) { - this._verify2(a, b); - return this.imod(a.imul(b)); - }; - Red.prototype.mul = function mul(a, b) { - this._verify2(a, b); - return this.imod(a.mul(b)); - }; - Red.prototype.isqr = function isqr(a) { - return this.imul(a, a.clone()); - }; - Red.prototype.sqr = function sqr(a) { - return this.mul(a, a); - }; - Red.prototype.sqrt = function sqrt(a) { - if (a.isZero()) - return a.clone(); - var mod3 = this.m.andln(3); - assert(mod3 % 2 === 1); - if (mod3 === 3) { - var pow = this.m.add(new BN(1)).iushrn(2); - return this.pow(a, pow); - } - var q = this.m.subn(1); - var s = 0; - while (!q.isZero() && q.andln(1) === 0) { - s++; - q.iushrn(1); - } - assert(!q.isZero()); - var one = new BN(1).toRed(this); - var nOne = one.redNeg(); - var lpow = this.m.subn(1).iushrn(1); - var z = this.m.bitLength(); - z = new BN(2 * z * z).toRed(this); - while (this.pow(z, lpow).cmp(nOne) !== 0) { - z.redIAdd(nOne); - } - var c = this.pow(z, q); - var r = this.pow(a, q.addn(1).iushrn(1)); - var t = this.pow(a, q); - var m = s; - while (t.cmp(one) !== 0) { - var tmp = t; - for (var i = 0; tmp.cmp(one) !== 0; i++) { - tmp = tmp.redSqr(); - } - assert(i < m); - var b = this.pow(c, new BN(1).iushln(m - i - 1)); - r = r.redMul(b); - c = b.redSqr(); - t = t.redMul(c); - m = i; - } - return r; - }; - Red.prototype.invm = function invm(a) { - var inv = a._invmp(this.m); - if (inv.negative !== 0) { - inv.negative = 0; - return this.imod(inv).redNeg(); - } else { - return this.imod(inv); - } - }; - Red.prototype.pow = function pow(a, num) { - if (num.isZero()) - return new BN(1).toRed(this); - if (num.cmpn(1) === 0) - return a.clone(); - var windowSize = 4; - var wnd = new Array(1 << windowSize); - wnd[0] = new BN(1).toRed(this); - wnd[1] = a; - for (var i = 2; i < wnd.length; i++) { - wnd[i] = this.mul(wnd[i - 1], a); - } - var res = wnd[0]; - var current = 0; - var currentLen = 0; - var start = num.bitLength() % 26; - if (start === 0) { - start = 26; - } - for (i = num.length - 1; i >= 0; i--) { - var word = num.words[i]; - for (var j = start - 1; j >= 0; j--) { - var bit = word >> j & 1; - if (res !== wnd[0]) { - res = this.sqr(res); - } - if (bit === 0 && current === 0) { - currentLen = 0; - continue; - } - current <<= 1; - current |= bit; - currentLen++; - if (currentLen !== windowSize && (i !== 0 || j !== 0)) - continue; - res = this.mul(res, wnd[current]); - currentLen = 0; - current = 0; - } - start = 26; - } - return res; - }; - Red.prototype.convertTo = function convertTo(num) { - var r = num.umod(this.m); - return r === num ? r.clone() : r; - }; - Red.prototype.convertFrom = function convertFrom(num) { - var res = num.clone(); - res.red = null; - return res; - }; - BN.mont = function mont(num) { - return new Mont(num); - }; - function Mont(m) { - Red.call(this, m); - this.shift = this.m.bitLength(); - if (this.shift % 26 !== 0) { - this.shift += 26 - this.shift % 26; - } - this.r = new BN(1).iushln(this.shift); - this.r2 = this.imod(this.r.sqr()); - this.rinv = this.r._invmp(this.m); - this.minv = this.rinv.mul(this.r).isubn(1).div(this.m); - this.minv = this.minv.umod(this.r); - this.minv = this.r.sub(this.minv); - } - inherits2(Mont, Red); - Mont.prototype.convertTo = function convertTo(num) { - return this.imod(num.ushln(this.shift)); - }; - Mont.prototype.convertFrom = function convertFrom(num) { - var r = this.imod(num.mul(this.rinv)); - r.red = null; - return r; - }; - Mont.prototype.imul = function imul(a, b) { - if (a.isZero() || b.isZero()) { - a.words[0] = 0; - a.length = 1; - return a; - } - var t = a.imul(b); - var c = t.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m); - var u = t.isub(c).iushrn(this.shift); - var res = u; - if (u.cmp(this.m) >= 0) { - res = u.isub(this.m); - } else if (u.cmpn(0) < 0) { - res = u.iadd(this.m); - } - return res._forceRed(this); - }; - Mont.prototype.mul = function mul(a, b) { - if (a.isZero() || b.isZero()) - return new BN(0)._forceRed(this); - var t = a.mul(b); - var c = t.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m); - var u = t.isub(c).iushrn(this.shift); - var res = u; - if (u.cmp(this.m) >= 0) { - res = u.isub(this.m); - } else if (u.cmpn(0) < 0) { - res = u.iadd(this.m); - } - return res._forceRed(this); - }; - Mont.prototype.invm = function invm(a) { - var res = this.imod(a._invmp(this.m).mul(this.r2)); - return res._forceRed(this); - }; - })(typeof module2 === "undefined" || module2, exports2); - } -}); - -// node_modules/minimalistic-crypto-utils/lib/utils.js -var require_utils2 = __commonJS({ - "node_modules/minimalistic-crypto-utils/lib/utils.js"(exports2) { - "use strict"; - var utils = exports2; - function toArray2(msg, enc) { - if (Array.isArray(msg)) - return msg.slice(); - if (!msg) - return []; - var res = []; - if (typeof msg !== "string") { - for (var i = 0; i < msg.length; i++) - res[i] = msg[i] | 0; - return res; - } - if (enc === "hex") { - msg = msg.replace(/[^a-z0-9]+/ig, ""); - if (msg.length % 2 !== 0) - msg = "0" + msg; - for (var i = 0; i < msg.length; i += 2) - res.push(parseInt(msg[i] + msg[i + 1], 16)); - } else { - for (var i = 0; i < msg.length; i++) { - var c = msg.charCodeAt(i); - var hi = c >> 8; - var lo = c & 255; - if (hi) - res.push(hi, lo); - else - res.push(lo); - } - } - return res; - } - utils.toArray = toArray2; - function zero2(word) { - if (word.length === 1) - return "0" + word; - else - return word; - } - utils.zero2 = zero2; - function toHex(msg) { - var res = ""; - for (var i = 0; i < msg.length; i++) - res += zero2(msg[i].toString(16)); - return res; - } - utils.toHex = toHex; - utils.encode = function encode3(arr, enc) { - if (enc === "hex") - return toHex(arr); - else - return arr; - }; - } -}); - -// node_modules/elliptic/lib/elliptic/utils.js -var require_utils3 = __commonJS({ - "node_modules/elliptic/lib/elliptic/utils.js"(exports2) { - "use strict"; - var utils = exports2; - var BN = require_bn2(); - var minAssert = require_minimalistic_assert(); - var minUtils = require_utils2(); - utils.assert = minAssert; - utils.toArray = minUtils.toArray; - utils.zero2 = minUtils.zero2; - utils.toHex = minUtils.toHex; - utils.encode = minUtils.encode; - function getNAF(num, w, bits) { - var naf = new Array(Math.max(num.bitLength(), bits) + 1); - naf.fill(0); - var ws = 1 << w + 1; - var k = num.clone(); - for (var i = 0; i < naf.length; i++) { - var z; - var mod = k.andln(ws - 1); - if (k.isOdd()) { - if (mod > (ws >> 1) - 1) - z = (ws >> 1) - mod; - else - z = mod; - k.isubn(z); - } else { - z = 0; - } - naf[i] = z; - k.iushrn(1); - } - return naf; - } - utils.getNAF = getNAF; - function getJSF(k1, k2) { - var jsf = [ - [], - [] - ]; - k1 = k1.clone(); - k2 = k2.clone(); - var d1 = 0; - var d2 = 0; - var m8; - while (k1.cmpn(-d1) > 0 || k2.cmpn(-d2) > 0) { - var m14 = k1.andln(3) + d1 & 3; - var m24 = k2.andln(3) + d2 & 3; - if (m14 === 3) - m14 = -1; - if (m24 === 3) - m24 = -1; - var u1; - if ((m14 & 1) === 0) { - u1 = 0; - } else { - m8 = k1.andln(7) + d1 & 7; - if ((m8 === 3 || m8 === 5) && m24 === 2) - u1 = -m14; - else - u1 = m14; - } - jsf[0].push(u1); - var u2; - if ((m24 & 1) === 0) { - u2 = 0; - } else { - m8 = k2.andln(7) + d2 & 7; - if ((m8 === 3 || m8 === 5) && m14 === 2) - u2 = -m24; - else - u2 = m24; - } - jsf[1].push(u2); - if (2 * d1 === u1 + 1) - d1 = 1 - d1; - if (2 * d2 === u2 + 1) - d2 = 1 - d2; - k1.iushrn(1); - k2.iushrn(1); - } - return jsf; - } - utils.getJSF = getJSF; - function cachedProperty(obj, name, computer) { - var key = "_" + name; - obj.prototype[name] = function cachedProperty2() { - return this[key] !== void 0 ? this[key] : this[key] = computer.call(this); - }; - } - utils.cachedProperty = cachedProperty; - function parseBytes(bytes) { - return typeof bytes === "string" ? utils.toArray(bytes, "hex") : bytes; - } - utils.parseBytes = parseBytes; - function intFromLE(bytes) { - return new BN(bytes, "hex", "le"); - } - utils.intFromLE = intFromLE; - } -}); - -// node_modules/brorand/index.js -var require_brorand = __commonJS({ - "node_modules/brorand/index.js"(exports2, module2) { - "use strict"; - var r; - module2.exports = function rand(len) { - if (!r) - r = new Rand(null); - return r.generate(len); - }; - function Rand(rand) { - this.rand = rand; - } - module2.exports.Rand = Rand; - Rand.prototype.generate = function generate(len) { - return this._rand(len); - }; - Rand.prototype._rand = function _rand(n) { - if (this.rand.getBytes) - return this.rand.getBytes(n); - var res = new Uint8Array(n); - for (var i = 0; i < res.length; i++) - res[i] = this.rand.getByte(); - return res; - }; - if (typeof self === "object") { - if (self.crypto && self.crypto.getRandomValues) { - Rand.prototype._rand = function _rand(n) { - var arr = new Uint8Array(n); - self.crypto.getRandomValues(arr); - return arr; - }; - } else if (self.msCrypto && self.msCrypto.getRandomValues) { - Rand.prototype._rand = function _rand(n) { - var arr = new Uint8Array(n); - self.msCrypto.getRandomValues(arr); - return arr; - }; - } else if (typeof window === "object") { - Rand.prototype._rand = function() { - throw new Error("Not implemented yet"); - }; - } - } else { - try { - crypto = __nccwpck_require__(76982); - if (typeof crypto.randomBytes !== "function") - throw new Error("Not supported"); - Rand.prototype._rand = function _rand(n) { - return crypto.randomBytes(n); - }; - } catch (e) { - } - } - var crypto; - } -}); - -// node_modules/elliptic/lib/elliptic/curve/base.js -var require_base = __commonJS({ - "node_modules/elliptic/lib/elliptic/curve/base.js"(exports2, module2) { - "use strict"; - var BN = require_bn2(); - var utils = require_utils3(); - var getNAF = utils.getNAF; - var getJSF = utils.getJSF; - var assert = utils.assert; - function BaseCurve(type, conf) { - this.type = type; - this.p = new BN(conf.p, 16); - this.red = conf.prime ? BN.red(conf.prime) : BN.mont(this.p); - this.zero = new BN(0).toRed(this.red); - this.one = new BN(1).toRed(this.red); - this.two = new BN(2).toRed(this.red); - this.n = conf.n && new BN(conf.n, 16); - this.g = conf.g && this.pointFromJSON(conf.g, conf.gRed); - this._wnafT1 = new Array(4); - this._wnafT2 = new Array(4); - this._wnafT3 = new Array(4); - this._wnafT4 = new Array(4); - this._bitLength = this.n ? this.n.bitLength() : 0; - var adjustCount = this.n && this.p.div(this.n); - if (!adjustCount || adjustCount.cmpn(100) > 0) { - this.redN = null; - } else { - this._maxwellTrick = true; - this.redN = this.n.toRed(this.red); - } - } - module2.exports = BaseCurve; - BaseCurve.prototype.point = function point() { - throw new Error("Not implemented"); - }; - BaseCurve.prototype.validate = function validate() { - throw new Error("Not implemented"); - }; - BaseCurve.prototype._fixedNafMul = function _fixedNafMul(p, k) { - assert(p.precomputed); - var doubles = p._getDoubles(); - var naf = getNAF(k, 1, this._bitLength); - var I = (1 << doubles.step + 1) - (doubles.step % 2 === 0 ? 2 : 1); - I /= 3; - var repr = []; - var j; - var nafW; - for (j = 0; j < naf.length; j += doubles.step) { - nafW = 0; - for (var l = j + doubles.step - 1; l >= j; l--) - nafW = (nafW << 1) + naf[l]; - repr.push(nafW); - } - var a = this.jpoint(null, null, null); - var b = this.jpoint(null, null, null); - for (var i = I; i > 0; i--) { - for (j = 0; j < repr.length; j++) { - nafW = repr[j]; - if (nafW === i) - b = b.mixedAdd(doubles.points[j]); - else if (nafW === -i) - b = b.mixedAdd(doubles.points[j].neg()); - } - a = a.add(b); - } - return a.toP(); - }; - BaseCurve.prototype._wnafMul = function _wnafMul(p, k) { - var w = 4; - var nafPoints = p._getNAFPoints(w); - w = nafPoints.wnd; - var wnd = nafPoints.points; - var naf = getNAF(k, w, this._bitLength); - var acc = this.jpoint(null, null, null); - for (var i = naf.length - 1; i >= 0; i--) { - for (var l = 0; i >= 0 && naf[i] === 0; i--) - l++; - if (i >= 0) - l++; - acc = acc.dblp(l); - if (i < 0) - break; - var z = naf[i]; - assert(z !== 0); - if (p.type === "affine") { - if (z > 0) - acc = acc.mixedAdd(wnd[z - 1 >> 1]); - else - acc = acc.mixedAdd(wnd[-z - 1 >> 1].neg()); - } else { - if (z > 0) - acc = acc.add(wnd[z - 1 >> 1]); - else - acc = acc.add(wnd[-z - 1 >> 1].neg()); - } - } - return p.type === "affine" ? acc.toP() : acc; - }; - BaseCurve.prototype._wnafMulAdd = function _wnafMulAdd(defW, points, coeffs, len, jacobianResult) { - var wndWidth = this._wnafT1; - var wnd = this._wnafT2; - var naf = this._wnafT3; - var max = 0; - var i; - var j; - var p; - for (i = 0; i < len; i++) { - p = points[i]; - var nafPoints = p._getNAFPoints(defW); - wndWidth[i] = nafPoints.wnd; - wnd[i] = nafPoints.points; - } - for (i = len - 1; i >= 1; i -= 2) { - var a = i - 1; - var b = i; - if (wndWidth[a] !== 1 || wndWidth[b] !== 1) { - naf[a] = getNAF(coeffs[a], wndWidth[a], this._bitLength); - naf[b] = getNAF(coeffs[b], wndWidth[b], this._bitLength); - max = Math.max(naf[a].length, max); - max = Math.max(naf[b].length, max); - continue; - } - var comb = [ - points[a], - /* 1 */ - null, - /* 3 */ - null, - /* 5 */ - points[b] - /* 7 */ - ]; - if (points[a].y.cmp(points[b].y) === 0) { - comb[1] = points[a].add(points[b]); - comb[2] = points[a].toJ().mixedAdd(points[b].neg()); - } else if (points[a].y.cmp(points[b].y.redNeg()) === 0) { - comb[1] = points[a].toJ().mixedAdd(points[b]); - comb[2] = points[a].add(points[b].neg()); - } else { - comb[1] = points[a].toJ().mixedAdd(points[b]); - comb[2] = points[a].toJ().mixedAdd(points[b].neg()); - } - var index = [ - -3, - /* -1 -1 */ - -1, - /* -1 0 */ - -5, - /* -1 1 */ - -7, - /* 0 -1 */ - 0, - /* 0 0 */ - 7, - /* 0 1 */ - 5, - /* 1 -1 */ - 1, - /* 1 0 */ - 3 - /* 1 1 */ - ]; - var jsf = getJSF(coeffs[a], coeffs[b]); - max = Math.max(jsf[0].length, max); - naf[a] = new Array(max); - naf[b] = new Array(max); - for (j = 0; j < max; j++) { - var ja = jsf[0][j] | 0; - var jb = jsf[1][j] | 0; - naf[a][j] = index[(ja + 1) * 3 + (jb + 1)]; - naf[b][j] = 0; - wnd[a] = comb; - } - } - var acc = this.jpoint(null, null, null); - var tmp = this._wnafT4; - for (i = max; i >= 0; i--) { - var k = 0; - while (i >= 0) { - var zero = true; - for (j = 0; j < len; j++) { - tmp[j] = naf[j][i] | 0; - if (tmp[j] !== 0) - zero = false; - } - if (!zero) - break; - k++; - i--; - } - if (i >= 0) - k++; - acc = acc.dblp(k); - if (i < 0) - break; - for (j = 0; j < len; j++) { - var z = tmp[j]; - p; - if (z === 0) - continue; - else if (z > 0) - p = wnd[j][z - 1 >> 1]; - else if (z < 0) - p = wnd[j][-z - 1 >> 1].neg(); - if (p.type === "affine") - acc = acc.mixedAdd(p); - else - acc = acc.add(p); - } - } - for (i = 0; i < len; i++) - wnd[i] = null; - if (jacobianResult) - return acc; - else - return acc.toP(); - }; - function BasePoint(curve, type) { - this.curve = curve; - this.type = type; - this.precomputed = null; - } - BaseCurve.BasePoint = BasePoint; - BasePoint.prototype.eq = function eq() { - throw new Error("Not implemented"); - }; - BasePoint.prototype.validate = function validate() { - return this.curve.validate(this); - }; - BaseCurve.prototype.decodePoint = function decodePoint(bytes, enc) { - bytes = utils.toArray(bytes, enc); - var len = this.p.byteLength(); - if ((bytes[0] === 4 || bytes[0] === 6 || bytes[0] === 7) && bytes.length - 1 === 2 * len) { - if (bytes[0] === 6) - assert(bytes[bytes.length - 1] % 2 === 0); - else if (bytes[0] === 7) - assert(bytes[bytes.length - 1] % 2 === 1); - var res = this.point( - bytes.slice(1, 1 + len), - bytes.slice(1 + len, 1 + 2 * len) - ); - return res; - } else if ((bytes[0] === 2 || bytes[0] === 3) && bytes.length - 1 === len) { - return this.pointFromX(bytes.slice(1, 1 + len), bytes[0] === 3); - } - throw new Error("Unknown point format"); - }; - BasePoint.prototype.encodeCompressed = function encodeCompressed(enc) { - return this.encode(enc, true); - }; - BasePoint.prototype._encode = function _encode(compact) { - var len = this.curve.p.byteLength(); - var x = this.getX().toArray("be", len); - if (compact) - return [this.getY().isEven() ? 2 : 3].concat(x); - return [4].concat(x, this.getY().toArray("be", len)); - }; - BasePoint.prototype.encode = function encode3(enc, compact) { - return utils.encode(this._encode(compact), enc); - }; - BasePoint.prototype.precompute = function precompute(power) { - if (this.precomputed) - return this; - var precomputed = { - doubles: null, - naf: null, - beta: null - }; - precomputed.naf = this._getNAFPoints(8); - precomputed.doubles = this._getDoubles(4, power); - precomputed.beta = this._getBeta(); - this.precomputed = precomputed; - return this; - }; - BasePoint.prototype._hasDoubles = function _hasDoubles(k) { - if (!this.precomputed) - return false; - var doubles = this.precomputed.doubles; - if (!doubles) - return false; - return doubles.points.length >= Math.ceil((k.bitLength() + 1) / doubles.step); - }; - BasePoint.prototype._getDoubles = function _getDoubles(step, power) { - if (this.precomputed && this.precomputed.doubles) - return this.precomputed.doubles; - var doubles = [this]; - var acc = this; - for (var i = 0; i < power; i += step) { - for (var j = 0; j < step; j++) - acc = acc.dbl(); - doubles.push(acc); - } - return { - step, - points: doubles - }; - }; - BasePoint.prototype._getNAFPoints = function _getNAFPoints(wnd) { - if (this.precomputed && this.precomputed.naf) - return this.precomputed.naf; - var res = [this]; - var max = (1 << wnd) - 1; - var dbl = max === 1 ? null : this.dbl(); - for (var i = 1; i < max; i++) - res[i] = res[i - 1].add(dbl); - return { - wnd, - points: res - }; - }; - BasePoint.prototype._getBeta = function _getBeta() { - return null; - }; - BasePoint.prototype.dblp = function dblp(k) { - var r = this; - for (var i = 0; i < k; i++) - r = r.dbl(); - return r; - }; - } -}); - -// node_modules/elliptic/lib/elliptic/curve/short.js -var require_short = __commonJS({ - "node_modules/elliptic/lib/elliptic/curve/short.js"(exports2, module2) { - "use strict"; - var utils = require_utils3(); - var BN = require_bn2(); - var inherits2 = require_inherits(); - var Base = require_base(); - var assert = utils.assert; - function ShortCurve(conf) { - Base.call(this, "short", conf); - this.a = new BN(conf.a, 16).toRed(this.red); - this.b = new BN(conf.b, 16).toRed(this.red); - this.tinv = this.two.redInvm(); - this.zeroA = this.a.fromRed().cmpn(0) === 0; - this.threeA = this.a.fromRed().sub(this.p).cmpn(-3) === 0; - this.endo = this._getEndomorphism(conf); - this._endoWnafT1 = new Array(4); - this._endoWnafT2 = new Array(4); - } - inherits2(ShortCurve, Base); - module2.exports = ShortCurve; - ShortCurve.prototype._getEndomorphism = function _getEndomorphism(conf) { - if (!this.zeroA || !this.g || !this.n || this.p.modn(3) !== 1) - return; - var beta; - var lambda; - if (conf.beta) { - beta = new BN(conf.beta, 16).toRed(this.red); - } else { - var betas = this._getEndoRoots(this.p); - beta = betas[0].cmp(betas[1]) < 0 ? betas[0] : betas[1]; - beta = beta.toRed(this.red); - } - if (conf.lambda) { - lambda = new BN(conf.lambda, 16); - } else { - var lambdas = this._getEndoRoots(this.n); - if (this.g.mul(lambdas[0]).x.cmp(this.g.x.redMul(beta)) === 0) { - lambda = lambdas[0]; - } else { - lambda = lambdas[1]; - assert(this.g.mul(lambda).x.cmp(this.g.x.redMul(beta)) === 0); - } - } - var basis; - if (conf.basis) { - basis = conf.basis.map(function(vec) { - return { - a: new BN(vec.a, 16), - b: new BN(vec.b, 16) - }; - }); - } else { - basis = this._getEndoBasis(lambda); - } - return { - beta, - lambda, - basis - }; - }; - ShortCurve.prototype._getEndoRoots = function _getEndoRoots(num) { - var red = num === this.p ? this.red : BN.mont(num); - var tinv = new BN(2).toRed(red).redInvm(); - var ntinv = tinv.redNeg(); - var s = new BN(3).toRed(red).redNeg().redSqrt().redMul(tinv); - var l1 = ntinv.redAdd(s).fromRed(); - var l2 = ntinv.redSub(s).fromRed(); - return [l1, l2]; - }; - ShortCurve.prototype._getEndoBasis = function _getEndoBasis(lambda) { - var aprxSqrt = this.n.ushrn(Math.floor(this.n.bitLength() / 2)); - var u = lambda; - var v = this.n.clone(); - var x1 = new BN(1); - var y1 = new BN(0); - var x2 = new BN(0); - var y2 = new BN(1); - var a0; - var b0; - var a1; - var b1; - var a2; - var b2; - var prevR; - var i = 0; - var r; - var x; - while (u.cmpn(0) !== 0) { - var q = v.div(u); - r = v.sub(q.mul(u)); - x = x2.sub(q.mul(x1)); - var y = y2.sub(q.mul(y1)); - if (!a1 && r.cmp(aprxSqrt) < 0) { - a0 = prevR.neg(); - b0 = x1; - a1 = r.neg(); - b1 = x; - } else if (a1 && ++i === 2) { - break; - } - prevR = r; - v = u; - u = r; - x2 = x1; - x1 = x; - y2 = y1; - y1 = y; - } - a2 = r.neg(); - b2 = x; - var len1 = a1.sqr().add(b1.sqr()); - var len2 = a2.sqr().add(b2.sqr()); - if (len2.cmp(len1) >= 0) { - a2 = a0; - b2 = b0; - } - if (a1.negative) { - a1 = a1.neg(); - b1 = b1.neg(); - } - if (a2.negative) { - a2 = a2.neg(); - b2 = b2.neg(); - } - return [ - { a: a1, b: b1 }, - { a: a2, b: b2 } - ]; - }; - ShortCurve.prototype._endoSplit = function _endoSplit(k) { - var basis = this.endo.basis; - var v1 = basis[0]; - var v2 = basis[1]; - var c1 = v2.b.mul(k).divRound(this.n); - var c2 = v1.b.neg().mul(k).divRound(this.n); - var p1 = c1.mul(v1.a); - var p2 = c2.mul(v2.a); - var q1 = c1.mul(v1.b); - var q2 = c2.mul(v2.b); - var k1 = k.sub(p1).sub(p2); - var k2 = q1.add(q2).neg(); - return { k1, k2 }; - }; - ShortCurve.prototype.pointFromX = function pointFromX(x, odd) { - x = new BN(x, 16); - if (!x.red) - x = x.toRed(this.red); - var y2 = x.redSqr().redMul(x).redIAdd(x.redMul(this.a)).redIAdd(this.b); - var y = y2.redSqrt(); - if (y.redSqr().redSub(y2).cmp(this.zero) !== 0) - throw new Error("invalid point"); - var isOdd = y.fromRed().isOdd(); - if (odd && !isOdd || !odd && isOdd) - y = y.redNeg(); - return this.point(x, y); - }; - ShortCurve.prototype.validate = function validate(point) { - if (point.inf) - return true; - var x = point.x; - var y = point.y; - var ax = this.a.redMul(x); - var rhs = x.redSqr().redMul(x).redIAdd(ax).redIAdd(this.b); - return y.redSqr().redISub(rhs).cmpn(0) === 0; - }; - ShortCurve.prototype._endoWnafMulAdd = function _endoWnafMulAdd(points, coeffs, jacobianResult) { - var npoints = this._endoWnafT1; - var ncoeffs = this._endoWnafT2; - for (var i = 0; i < points.length; i++) { - var split = this._endoSplit(coeffs[i]); - var p = points[i]; - var beta = p._getBeta(); - if (split.k1.negative) { - split.k1.ineg(); - p = p.neg(true); - } - if (split.k2.negative) { - split.k2.ineg(); - beta = beta.neg(true); - } - npoints[i * 2] = p; - npoints[i * 2 + 1] = beta; - ncoeffs[i * 2] = split.k1; - ncoeffs[i * 2 + 1] = split.k2; - } - var res = this._wnafMulAdd(1, npoints, ncoeffs, i * 2, jacobianResult); - for (var j = 0; j < i * 2; j++) { - npoints[j] = null; - ncoeffs[j] = null; - } - return res; - }; - function Point(curve, x, y, isRed) { - Base.BasePoint.call(this, curve, "affine"); - if (x === null && y === null) { - this.x = null; - this.y = null; - this.inf = true; - } else { - this.x = new BN(x, 16); - this.y = new BN(y, 16); - if (isRed) { - this.x.forceRed(this.curve.red); - this.y.forceRed(this.curve.red); - } - if (!this.x.red) - this.x = this.x.toRed(this.curve.red); - if (!this.y.red) - this.y = this.y.toRed(this.curve.red); - this.inf = false; - } - } - inherits2(Point, Base.BasePoint); - ShortCurve.prototype.point = function point(x, y, isRed) { - return new Point(this, x, y, isRed); - }; - ShortCurve.prototype.pointFromJSON = function pointFromJSON(obj, red) { - return Point.fromJSON(this, obj, red); - }; - Point.prototype._getBeta = function _getBeta() { - if (!this.curve.endo) - return; - var pre = this.precomputed; - if (pre && pre.beta) - return pre.beta; - var beta = this.curve.point(this.x.redMul(this.curve.endo.beta), this.y); - if (pre) { - var curve = this.curve; - var endoMul = function(p) { - return curve.point(p.x.redMul(curve.endo.beta), p.y); - }; - pre.beta = beta; - beta.precomputed = { - beta: null, - naf: pre.naf && { - wnd: pre.naf.wnd, - points: pre.naf.points.map(endoMul) - }, - doubles: pre.doubles && { - step: pre.doubles.step, - points: pre.doubles.points.map(endoMul) - } - }; - } - return beta; - }; - Point.prototype.toJSON = function toJSON2() { - if (!this.precomputed) - return [this.x, this.y]; - return [this.x, this.y, this.precomputed && { - doubles: this.precomputed.doubles && { - step: this.precomputed.doubles.step, - points: this.precomputed.doubles.points.slice(1) - }, - naf: this.precomputed.naf && { - wnd: this.precomputed.naf.wnd, - points: this.precomputed.naf.points.slice(1) - } - }]; - }; - Point.fromJSON = function fromJSON(curve, obj, red) { - if (typeof obj === "string") - obj = JSON.parse(obj); - var res = curve.point(obj[0], obj[1], red); - if (!obj[2]) - return res; - function obj2point(obj2) { - return curve.point(obj2[0], obj2[1], red); - } - var pre = obj[2]; - res.precomputed = { - beta: null, - doubles: pre.doubles && { - step: pre.doubles.step, - points: [res].concat(pre.doubles.points.map(obj2point)) - }, - naf: pre.naf && { - wnd: pre.naf.wnd, - points: [res].concat(pre.naf.points.map(obj2point)) - } - }; - return res; - }; - Point.prototype.inspect = function inspect() { - if (this.isInfinity()) - return ""; - return ""; - }; - Point.prototype.isInfinity = function isInfinity() { - return this.inf; - }; - Point.prototype.add = function add(p) { - if (this.inf) - return p; - if (p.inf) - return this; - if (this.eq(p)) - return this.dbl(); - if (this.neg().eq(p)) - return this.curve.point(null, null); - if (this.x.cmp(p.x) === 0) - return this.curve.point(null, null); - var c = this.y.redSub(p.y); - if (c.cmpn(0) !== 0) - c = c.redMul(this.x.redSub(p.x).redInvm()); - var nx = c.redSqr().redISub(this.x).redISub(p.x); - var ny = c.redMul(this.x.redSub(nx)).redISub(this.y); - return this.curve.point(nx, ny); - }; - Point.prototype.dbl = function dbl() { - if (this.inf) - return this; - var ys1 = this.y.redAdd(this.y); - if (ys1.cmpn(0) === 0) - return this.curve.point(null, null); - var a = this.curve.a; - var x2 = this.x.redSqr(); - var dyinv = ys1.redInvm(); - var c = x2.redAdd(x2).redIAdd(x2).redIAdd(a).redMul(dyinv); - var nx = c.redSqr().redISub(this.x.redAdd(this.x)); - var ny = c.redMul(this.x.redSub(nx)).redISub(this.y); - return this.curve.point(nx, ny); - }; - Point.prototype.getX = function getX() { - return this.x.fromRed(); - }; - Point.prototype.getY = function getY() { - return this.y.fromRed(); - }; - Point.prototype.mul = function mul(k) { - k = new BN(k, 16); - if (this.isInfinity()) - return this; - else if (this._hasDoubles(k)) - return this.curve._fixedNafMul(this, k); - else if (this.curve.endo) - return this.curve._endoWnafMulAdd([this], [k]); - else - return this.curve._wnafMul(this, k); - }; - Point.prototype.mulAdd = function mulAdd(k1, p2, k2) { - var points = [this, p2]; - var coeffs = [k1, k2]; - if (this.curve.endo) - return this.curve._endoWnafMulAdd(points, coeffs); - else - return this.curve._wnafMulAdd(1, points, coeffs, 2); - }; - Point.prototype.jmulAdd = function jmulAdd(k1, p2, k2) { - var points = [this, p2]; - var coeffs = [k1, k2]; - if (this.curve.endo) - return this.curve._endoWnafMulAdd(points, coeffs, true); - else - return this.curve._wnafMulAdd(1, points, coeffs, 2, true); - }; - Point.prototype.eq = function eq(p) { - return this === p || this.inf === p.inf && (this.inf || this.x.cmp(p.x) === 0 && this.y.cmp(p.y) === 0); - }; - Point.prototype.neg = function neg(_precompute) { - if (this.inf) - return this; - var res = this.curve.point(this.x, this.y.redNeg()); - if (_precompute && this.precomputed) { - var pre = this.precomputed; - var negate = function(p) { - return p.neg(); - }; - res.precomputed = { - naf: pre.naf && { - wnd: pre.naf.wnd, - points: pre.naf.points.map(negate) - }, - doubles: pre.doubles && { - step: pre.doubles.step, - points: pre.doubles.points.map(negate) - } - }; - } - return res; - }; - Point.prototype.toJ = function toJ() { - if (this.inf) - return this.curve.jpoint(null, null, null); - var res = this.curve.jpoint(this.x, this.y, this.curve.one); - return res; - }; - function JPoint(curve, x, y, z) { - Base.BasePoint.call(this, curve, "jacobian"); - if (x === null && y === null && z === null) { - this.x = this.curve.one; - this.y = this.curve.one; - this.z = new BN(0); - } else { - this.x = new BN(x, 16); - this.y = new BN(y, 16); - this.z = new BN(z, 16); - } - if (!this.x.red) - this.x = this.x.toRed(this.curve.red); - if (!this.y.red) - this.y = this.y.toRed(this.curve.red); - if (!this.z.red) - this.z = this.z.toRed(this.curve.red); - this.zOne = this.z === this.curve.one; - } - inherits2(JPoint, Base.BasePoint); - ShortCurve.prototype.jpoint = function jpoint(x, y, z) { - return new JPoint(this, x, y, z); - }; - JPoint.prototype.toP = function toP() { - if (this.isInfinity()) - return this.curve.point(null, null); - var zinv = this.z.redInvm(); - var zinv2 = zinv.redSqr(); - var ax = this.x.redMul(zinv2); - var ay = this.y.redMul(zinv2).redMul(zinv); - return this.curve.point(ax, ay); - }; - JPoint.prototype.neg = function neg() { - return this.curve.jpoint(this.x, this.y.redNeg(), this.z); - }; - JPoint.prototype.add = function add(p) { - if (this.isInfinity()) - return p; - if (p.isInfinity()) - return this; - var pz2 = p.z.redSqr(); - var z2 = this.z.redSqr(); - var u1 = this.x.redMul(pz2); - var u2 = p.x.redMul(z2); - var s1 = this.y.redMul(pz2.redMul(p.z)); - var s2 = p.y.redMul(z2.redMul(this.z)); - var h = u1.redSub(u2); - var r = s1.redSub(s2); - if (h.cmpn(0) === 0) { - if (r.cmpn(0) !== 0) - return this.curve.jpoint(null, null, null); - else - return this.dbl(); - } - var h2 = h.redSqr(); - var h3 = h2.redMul(h); - var v = u1.redMul(h2); - var nx = r.redSqr().redIAdd(h3).redISub(v).redISub(v); - var ny = r.redMul(v.redISub(nx)).redISub(s1.redMul(h3)); - var nz = this.z.redMul(p.z).redMul(h); - return this.curve.jpoint(nx, ny, nz); - }; - JPoint.prototype.mixedAdd = function mixedAdd(p) { - if (this.isInfinity()) - return p.toJ(); - if (p.isInfinity()) - return this; - var z2 = this.z.redSqr(); - var u1 = this.x; - var u2 = p.x.redMul(z2); - var s1 = this.y; - var s2 = p.y.redMul(z2).redMul(this.z); - var h = u1.redSub(u2); - var r = s1.redSub(s2); - if (h.cmpn(0) === 0) { - if (r.cmpn(0) !== 0) - return this.curve.jpoint(null, null, null); - else - return this.dbl(); - } - var h2 = h.redSqr(); - var h3 = h2.redMul(h); - var v = u1.redMul(h2); - var nx = r.redSqr().redIAdd(h3).redISub(v).redISub(v); - var ny = r.redMul(v.redISub(nx)).redISub(s1.redMul(h3)); - var nz = this.z.redMul(h); - return this.curve.jpoint(nx, ny, nz); - }; - JPoint.prototype.dblp = function dblp(pow) { - if (pow === 0) - return this; - if (this.isInfinity()) - return this; - if (!pow) - return this.dbl(); - var i; - if (this.curve.zeroA || this.curve.threeA) { - var r = this; - for (i = 0; i < pow; i++) - r = r.dbl(); - return r; - } - var a = this.curve.a; - var tinv = this.curve.tinv; - var jx = this.x; - var jy = this.y; - var jz = this.z; - var jz4 = jz.redSqr().redSqr(); - var jyd = jy.redAdd(jy); - for (i = 0; i < pow; i++) { - var jx2 = jx.redSqr(); - var jyd2 = jyd.redSqr(); - var jyd4 = jyd2.redSqr(); - var c = jx2.redAdd(jx2).redIAdd(jx2).redIAdd(a.redMul(jz4)); - var t1 = jx.redMul(jyd2); - var nx = c.redSqr().redISub(t1.redAdd(t1)); - var t2 = t1.redISub(nx); - var dny = c.redMul(t2); - dny = dny.redIAdd(dny).redISub(jyd4); - var nz = jyd.redMul(jz); - if (i + 1 < pow) - jz4 = jz4.redMul(jyd4); - jx = nx; - jz = nz; - jyd = dny; - } - return this.curve.jpoint(jx, jyd.redMul(tinv), jz); - }; - JPoint.prototype.dbl = function dbl() { - if (this.isInfinity()) - return this; - if (this.curve.zeroA) - return this._zeroDbl(); - else if (this.curve.threeA) - return this._threeDbl(); - else - return this._dbl(); - }; - JPoint.prototype._zeroDbl = function _zeroDbl() { - var nx; - var ny; - var nz; - if (this.zOne) { - var xx = this.x.redSqr(); - var yy = this.y.redSqr(); - var yyyy = yy.redSqr(); - var s = this.x.redAdd(yy).redSqr().redISub(xx).redISub(yyyy); - s = s.redIAdd(s); - var m = xx.redAdd(xx).redIAdd(xx); - var t = m.redSqr().redISub(s).redISub(s); - var yyyy8 = yyyy.redIAdd(yyyy); - yyyy8 = yyyy8.redIAdd(yyyy8); - yyyy8 = yyyy8.redIAdd(yyyy8); - nx = t; - ny = m.redMul(s.redISub(t)).redISub(yyyy8); - nz = this.y.redAdd(this.y); - } else { - var a = this.x.redSqr(); - var b = this.y.redSqr(); - var c = b.redSqr(); - var d = this.x.redAdd(b).redSqr().redISub(a).redISub(c); - d = d.redIAdd(d); - var e = a.redAdd(a).redIAdd(a); - var f = e.redSqr(); - var c8 = c.redIAdd(c); - c8 = c8.redIAdd(c8); - c8 = c8.redIAdd(c8); - nx = f.redISub(d).redISub(d); - ny = e.redMul(d.redISub(nx)).redISub(c8); - nz = this.y.redMul(this.z); - nz = nz.redIAdd(nz); - } - return this.curve.jpoint(nx, ny, nz); - }; - JPoint.prototype._threeDbl = function _threeDbl() { - var nx; - var ny; - var nz; - if (this.zOne) { - var xx = this.x.redSqr(); - var yy = this.y.redSqr(); - var yyyy = yy.redSqr(); - var s = this.x.redAdd(yy).redSqr().redISub(xx).redISub(yyyy); - s = s.redIAdd(s); - var m = xx.redAdd(xx).redIAdd(xx).redIAdd(this.curve.a); - var t = m.redSqr().redISub(s).redISub(s); - nx = t; - var yyyy8 = yyyy.redIAdd(yyyy); - yyyy8 = yyyy8.redIAdd(yyyy8); - yyyy8 = yyyy8.redIAdd(yyyy8); - ny = m.redMul(s.redISub(t)).redISub(yyyy8); - nz = this.y.redAdd(this.y); - } else { - var delta = this.z.redSqr(); - var gamma = this.y.redSqr(); - var beta = this.x.redMul(gamma); - var alpha = this.x.redSub(delta).redMul(this.x.redAdd(delta)); - alpha = alpha.redAdd(alpha).redIAdd(alpha); - var beta4 = beta.redIAdd(beta); - beta4 = beta4.redIAdd(beta4); - var beta8 = beta4.redAdd(beta4); - nx = alpha.redSqr().redISub(beta8); - nz = this.y.redAdd(this.z).redSqr().redISub(gamma).redISub(delta); - var ggamma8 = gamma.redSqr(); - ggamma8 = ggamma8.redIAdd(ggamma8); - ggamma8 = ggamma8.redIAdd(ggamma8); - ggamma8 = ggamma8.redIAdd(ggamma8); - ny = alpha.redMul(beta4.redISub(nx)).redISub(ggamma8); - } - return this.curve.jpoint(nx, ny, nz); - }; - JPoint.prototype._dbl = function _dbl() { - var a = this.curve.a; - var jx = this.x; - var jy = this.y; - var jz = this.z; - var jz4 = jz.redSqr().redSqr(); - var jx2 = jx.redSqr(); - var jy2 = jy.redSqr(); - var c = jx2.redAdd(jx2).redIAdd(jx2).redIAdd(a.redMul(jz4)); - var jxd4 = jx.redAdd(jx); - jxd4 = jxd4.redIAdd(jxd4); - var t1 = jxd4.redMul(jy2); - var nx = c.redSqr().redISub(t1.redAdd(t1)); - var t2 = t1.redISub(nx); - var jyd8 = jy2.redSqr(); - jyd8 = jyd8.redIAdd(jyd8); - jyd8 = jyd8.redIAdd(jyd8); - jyd8 = jyd8.redIAdd(jyd8); - var ny = c.redMul(t2).redISub(jyd8); - var nz = jy.redAdd(jy).redMul(jz); - return this.curve.jpoint(nx, ny, nz); - }; - JPoint.prototype.trpl = function trpl() { - if (!this.curve.zeroA) - return this.dbl().add(this); - var xx = this.x.redSqr(); - var yy = this.y.redSqr(); - var zz = this.z.redSqr(); - var yyyy = yy.redSqr(); - var m = xx.redAdd(xx).redIAdd(xx); - var mm = m.redSqr(); - var e = this.x.redAdd(yy).redSqr().redISub(xx).redISub(yyyy); - e = e.redIAdd(e); - e = e.redAdd(e).redIAdd(e); - e = e.redISub(mm); - var ee = e.redSqr(); - var t = yyyy.redIAdd(yyyy); - t = t.redIAdd(t); - t = t.redIAdd(t); - t = t.redIAdd(t); - var u = m.redIAdd(e).redSqr().redISub(mm).redISub(ee).redISub(t); - var yyu4 = yy.redMul(u); - yyu4 = yyu4.redIAdd(yyu4); - yyu4 = yyu4.redIAdd(yyu4); - var nx = this.x.redMul(ee).redISub(yyu4); - nx = nx.redIAdd(nx); - nx = nx.redIAdd(nx); - var ny = this.y.redMul(u.redMul(t.redISub(u)).redISub(e.redMul(ee))); - ny = ny.redIAdd(ny); - ny = ny.redIAdd(ny); - ny = ny.redIAdd(ny); - var nz = this.z.redAdd(e).redSqr().redISub(zz).redISub(ee); - return this.curve.jpoint(nx, ny, nz); - }; - JPoint.prototype.mul = function mul(k, kbase) { - k = new BN(k, kbase); - return this.curve._wnafMul(this, k); - }; - JPoint.prototype.eq = function eq(p) { - if (p.type === "affine") - return this.eq(p.toJ()); - if (this === p) - return true; - var z2 = this.z.redSqr(); - var pz2 = p.z.redSqr(); - if (this.x.redMul(pz2).redISub(p.x.redMul(z2)).cmpn(0) !== 0) - return false; - var z3 = z2.redMul(this.z); - var pz3 = pz2.redMul(p.z); - return this.y.redMul(pz3).redISub(p.y.redMul(z3)).cmpn(0) === 0; - }; - JPoint.prototype.eqXToP = function eqXToP(x) { - var zs = this.z.redSqr(); - var rx = x.toRed(this.curve.red).redMul(zs); - if (this.x.cmp(rx) === 0) - return true; - var xc = x.clone(); - var t = this.curve.redN.redMul(zs); - for (; ; ) { - xc.iadd(this.curve.n); - if (xc.cmp(this.curve.p) >= 0) - return false; - rx.redIAdd(t); - if (this.x.cmp(rx) === 0) - return true; - } - }; - JPoint.prototype.inspect = function inspect() { - if (this.isInfinity()) - return ""; - return ""; - }; - JPoint.prototype.isInfinity = function isInfinity() { - return this.z.cmpn(0) === 0; - }; - } -}); - -// node_modules/elliptic/lib/elliptic/curve/mont.js -var require_mont = __commonJS({ - "node_modules/elliptic/lib/elliptic/curve/mont.js"(exports2, module2) { - "use strict"; - var BN = require_bn2(); - var inherits2 = require_inherits(); - var Base = require_base(); - var utils = require_utils3(); - function MontCurve(conf) { - Base.call(this, "mont", conf); - this.a = new BN(conf.a, 16).toRed(this.red); - this.b = new BN(conf.b, 16).toRed(this.red); - this.i4 = new BN(4).toRed(this.red).redInvm(); - this.two = new BN(2).toRed(this.red); - this.a24 = this.i4.redMul(this.a.redAdd(this.two)); - } - inherits2(MontCurve, Base); - module2.exports = MontCurve; - MontCurve.prototype.validate = function validate(point) { - var x = point.normalize().x; - var x2 = x.redSqr(); - var rhs = x2.redMul(x).redAdd(x2.redMul(this.a)).redAdd(x); - var y = rhs.redSqrt(); - return y.redSqr().cmp(rhs) === 0; - }; - function Point(curve, x, z) { - Base.BasePoint.call(this, curve, "projective"); - if (x === null && z === null) { - this.x = this.curve.one; - this.z = this.curve.zero; - } else { - this.x = new BN(x, 16); - this.z = new BN(z, 16); - if (!this.x.red) - this.x = this.x.toRed(this.curve.red); - if (!this.z.red) - this.z = this.z.toRed(this.curve.red); - } - } - inherits2(Point, Base.BasePoint); - MontCurve.prototype.decodePoint = function decodePoint(bytes, enc) { - return this.point(utils.toArray(bytes, enc), 1); - }; - MontCurve.prototype.point = function point(x, z) { - return new Point(this, x, z); - }; - MontCurve.prototype.pointFromJSON = function pointFromJSON(obj) { - return Point.fromJSON(this, obj); - }; - Point.prototype.precompute = function precompute() { - }; - Point.prototype._encode = function _encode() { - return this.getX().toArray("be", this.curve.p.byteLength()); - }; - Point.fromJSON = function fromJSON(curve, obj) { - return new Point(curve, obj[0], obj[1] || curve.one); - }; - Point.prototype.inspect = function inspect() { - if (this.isInfinity()) - return ""; - return ""; - }; - Point.prototype.isInfinity = function isInfinity() { - return this.z.cmpn(0) === 0; - }; - Point.prototype.dbl = function dbl() { - var a = this.x.redAdd(this.z); - var aa = a.redSqr(); - var b = this.x.redSub(this.z); - var bb = b.redSqr(); - var c = aa.redSub(bb); - var nx = aa.redMul(bb); - var nz = c.redMul(bb.redAdd(this.curve.a24.redMul(c))); - return this.curve.point(nx, nz); - }; - Point.prototype.add = function add() { - throw new Error("Not supported on Montgomery curve"); - }; - Point.prototype.diffAdd = function diffAdd(p, diff) { - var a = this.x.redAdd(this.z); - var b = this.x.redSub(this.z); - var c = p.x.redAdd(p.z); - var d = p.x.redSub(p.z); - var da = d.redMul(a); - var cb = c.redMul(b); - var nx = diff.z.redMul(da.redAdd(cb).redSqr()); - var nz = diff.x.redMul(da.redISub(cb).redSqr()); - return this.curve.point(nx, nz); - }; - Point.prototype.mul = function mul(k) { - var t = k.clone(); - var a = this; - var b = this.curve.point(null, null); - var c = this; - for (var bits = []; t.cmpn(0) !== 0; t.iushrn(1)) - bits.push(t.andln(1)); - for (var i = bits.length - 1; i >= 0; i--) { - if (bits[i] === 0) { - a = a.diffAdd(b, c); - b = b.dbl(); - } else { - b = a.diffAdd(b, c); - a = a.dbl(); - } - } - return b; - }; - Point.prototype.mulAdd = function mulAdd() { - throw new Error("Not supported on Montgomery curve"); - }; - Point.prototype.jumlAdd = function jumlAdd() { - throw new Error("Not supported on Montgomery curve"); - }; - Point.prototype.eq = function eq(other) { - return this.getX().cmp(other.getX()) === 0; - }; - Point.prototype.normalize = function normalize() { - this.x = this.x.redMul(this.z.redInvm()); - this.z = this.curve.one; - return this; - }; - Point.prototype.getX = function getX() { - this.normalize(); - return this.x.fromRed(); - }; - } -}); - -// node_modules/elliptic/lib/elliptic/curve/edwards.js -var require_edwards = __commonJS({ - "node_modules/elliptic/lib/elliptic/curve/edwards.js"(exports2, module2) { - "use strict"; - var utils = require_utils3(); - var BN = require_bn2(); - var inherits2 = require_inherits(); - var Base = require_base(); - var assert = utils.assert; - function EdwardsCurve(conf) { - this.twisted = (conf.a | 0) !== 1; - this.mOneA = this.twisted && (conf.a | 0) === -1; - this.extended = this.mOneA; - Base.call(this, "edwards", conf); - this.a = new BN(conf.a, 16).umod(this.red.m); - this.a = this.a.toRed(this.red); - this.c = new BN(conf.c, 16).toRed(this.red); - this.c2 = this.c.redSqr(); - this.d = new BN(conf.d, 16).toRed(this.red); - this.dd = this.d.redAdd(this.d); - assert(!this.twisted || this.c.fromRed().cmpn(1) === 0); - this.oneC = (conf.c | 0) === 1; - } - inherits2(EdwardsCurve, Base); - module2.exports = EdwardsCurve; - EdwardsCurve.prototype._mulA = function _mulA(num) { - if (this.mOneA) - return num.redNeg(); - else - return this.a.redMul(num); - }; - EdwardsCurve.prototype._mulC = function _mulC(num) { - if (this.oneC) - return num; - else - return this.c.redMul(num); - }; - EdwardsCurve.prototype.jpoint = function jpoint(x, y, z, t) { - return this.point(x, y, z, t); - }; - EdwardsCurve.prototype.pointFromX = function pointFromX(x, odd) { - x = new BN(x, 16); - if (!x.red) - x = x.toRed(this.red); - var x2 = x.redSqr(); - var rhs = this.c2.redSub(this.a.redMul(x2)); - var lhs = this.one.redSub(this.c2.redMul(this.d).redMul(x2)); - var y2 = rhs.redMul(lhs.redInvm()); - var y = y2.redSqrt(); - if (y.redSqr().redSub(y2).cmp(this.zero) !== 0) - throw new Error("invalid point"); - var isOdd = y.fromRed().isOdd(); - if (odd && !isOdd || !odd && isOdd) - y = y.redNeg(); - return this.point(x, y); - }; - EdwardsCurve.prototype.pointFromY = function pointFromY(y, odd) { - y = new BN(y, 16); - if (!y.red) - y = y.toRed(this.red); - var y2 = y.redSqr(); - var lhs = y2.redSub(this.c2); - var rhs = y2.redMul(this.d).redMul(this.c2).redSub(this.a); - var x2 = lhs.redMul(rhs.redInvm()); - if (x2.cmp(this.zero) === 0) { - if (odd) - throw new Error("invalid point"); - else - return this.point(this.zero, y); - } - var x = x2.redSqrt(); - if (x.redSqr().redSub(x2).cmp(this.zero) !== 0) - throw new Error("invalid point"); - if (x.fromRed().isOdd() !== odd) - x = x.redNeg(); - return this.point(x, y); - }; - EdwardsCurve.prototype.validate = function validate(point) { - if (point.isInfinity()) - return true; - point.normalize(); - var x2 = point.x.redSqr(); - var y2 = point.y.redSqr(); - var lhs = x2.redMul(this.a).redAdd(y2); - var rhs = this.c2.redMul(this.one.redAdd(this.d.redMul(x2).redMul(y2))); - return lhs.cmp(rhs) === 0; - }; - function Point(curve, x, y, z, t) { - Base.BasePoint.call(this, curve, "projective"); - if (x === null && y === null && z === null) { - this.x = this.curve.zero; - this.y = this.curve.one; - this.z = this.curve.one; - this.t = this.curve.zero; - this.zOne = true; - } else { - this.x = new BN(x, 16); - this.y = new BN(y, 16); - this.z = z ? new BN(z, 16) : this.curve.one; - this.t = t && new BN(t, 16); - if (!this.x.red) - this.x = this.x.toRed(this.curve.red); - if (!this.y.red) - this.y = this.y.toRed(this.curve.red); - if (!this.z.red) - this.z = this.z.toRed(this.curve.red); - if (this.t && !this.t.red) - this.t = this.t.toRed(this.curve.red); - this.zOne = this.z === this.curve.one; - if (this.curve.extended && !this.t) { - this.t = this.x.redMul(this.y); - if (!this.zOne) - this.t = this.t.redMul(this.z.redInvm()); - } - } - } - inherits2(Point, Base.BasePoint); - EdwardsCurve.prototype.pointFromJSON = function pointFromJSON(obj) { - return Point.fromJSON(this, obj); - }; - EdwardsCurve.prototype.point = function point(x, y, z, t) { - return new Point(this, x, y, z, t); - }; - Point.fromJSON = function fromJSON(curve, obj) { - return new Point(curve, obj[0], obj[1], obj[2]); - }; - Point.prototype.inspect = function inspect() { - if (this.isInfinity()) - return ""; - return ""; - }; - Point.prototype.isInfinity = function isInfinity() { - return this.x.cmpn(0) === 0 && (this.y.cmp(this.z) === 0 || this.zOne && this.y.cmp(this.curve.c) === 0); - }; - Point.prototype._extDbl = function _extDbl() { - var a = this.x.redSqr(); - var b = this.y.redSqr(); - var c = this.z.redSqr(); - c = c.redIAdd(c); - var d = this.curve._mulA(a); - var e = this.x.redAdd(this.y).redSqr().redISub(a).redISub(b); - var g = d.redAdd(b); - var f = g.redSub(c); - var h = d.redSub(b); - var nx = e.redMul(f); - var ny = g.redMul(h); - var nt = e.redMul(h); - var nz = f.redMul(g); - return this.curve.point(nx, ny, nz, nt); - }; - Point.prototype._projDbl = function _projDbl() { - var b = this.x.redAdd(this.y).redSqr(); - var c = this.x.redSqr(); - var d = this.y.redSqr(); - var nx; - var ny; - var nz; - var e; - var h; - var j; - if (this.curve.twisted) { - e = this.curve._mulA(c); - var f = e.redAdd(d); - if (this.zOne) { - nx = b.redSub(c).redSub(d).redMul(f.redSub(this.curve.two)); - ny = f.redMul(e.redSub(d)); - nz = f.redSqr().redSub(f).redSub(f); - } else { - h = this.z.redSqr(); - j = f.redSub(h).redISub(h); - nx = b.redSub(c).redISub(d).redMul(j); - ny = f.redMul(e.redSub(d)); - nz = f.redMul(j); - } - } else { - e = c.redAdd(d); - h = this.curve._mulC(this.z).redSqr(); - j = e.redSub(h).redSub(h); - nx = this.curve._mulC(b.redISub(e)).redMul(j); - ny = this.curve._mulC(e).redMul(c.redISub(d)); - nz = e.redMul(j); - } - return this.curve.point(nx, ny, nz); - }; - Point.prototype.dbl = function dbl() { - if (this.isInfinity()) - return this; - if (this.curve.extended) - return this._extDbl(); - else - return this._projDbl(); - }; - Point.prototype._extAdd = function _extAdd(p) { - var a = this.y.redSub(this.x).redMul(p.y.redSub(p.x)); - var b = this.y.redAdd(this.x).redMul(p.y.redAdd(p.x)); - var c = this.t.redMul(this.curve.dd).redMul(p.t); - var d = this.z.redMul(p.z.redAdd(p.z)); - var e = b.redSub(a); - var f = d.redSub(c); - var g = d.redAdd(c); - var h = b.redAdd(a); - var nx = e.redMul(f); - var ny = g.redMul(h); - var nt = e.redMul(h); - var nz = f.redMul(g); - return this.curve.point(nx, ny, nz, nt); - }; - Point.prototype._projAdd = function _projAdd(p) { - var a = this.z.redMul(p.z); - var b = a.redSqr(); - var c = this.x.redMul(p.x); - var d = this.y.redMul(p.y); - var e = this.curve.d.redMul(c).redMul(d); - var f = b.redSub(e); - var g = b.redAdd(e); - var tmp = this.x.redAdd(this.y).redMul(p.x.redAdd(p.y)).redISub(c).redISub(d); - var nx = a.redMul(f).redMul(tmp); - var ny; - var nz; - if (this.curve.twisted) { - ny = a.redMul(g).redMul(d.redSub(this.curve._mulA(c))); - nz = f.redMul(g); - } else { - ny = a.redMul(g).redMul(d.redSub(c)); - nz = this.curve._mulC(f).redMul(g); - } - return this.curve.point(nx, ny, nz); - }; - Point.prototype.add = function add(p) { - if (this.isInfinity()) - return p; - if (p.isInfinity()) - return this; - if (this.curve.extended) - return this._extAdd(p); - else - return this._projAdd(p); - }; - Point.prototype.mul = function mul(k) { - if (this._hasDoubles(k)) - return this.curve._fixedNafMul(this, k); - else - return this.curve._wnafMul(this, k); - }; - Point.prototype.mulAdd = function mulAdd(k1, p, k2) { - return this.curve._wnafMulAdd(1, [this, p], [k1, k2], 2, false); - }; - Point.prototype.jmulAdd = function jmulAdd(k1, p, k2) { - return this.curve._wnafMulAdd(1, [this, p], [k1, k2], 2, true); - }; - Point.prototype.normalize = function normalize() { - if (this.zOne) - return this; - var zi = this.z.redInvm(); - this.x = this.x.redMul(zi); - this.y = this.y.redMul(zi); - if (this.t) - this.t = this.t.redMul(zi); - this.z = this.curve.one; - this.zOne = true; - return this; - }; - Point.prototype.neg = function neg() { - return this.curve.point( - this.x.redNeg(), - this.y, - this.z, - this.t && this.t.redNeg() - ); - }; - Point.prototype.getX = function getX() { - this.normalize(); - return this.x.fromRed(); - }; - Point.prototype.getY = function getY() { - this.normalize(); - return this.y.fromRed(); - }; - Point.prototype.eq = function eq(other) { - return this === other || this.getX().cmp(other.getX()) === 0 && this.getY().cmp(other.getY()) === 0; - }; - Point.prototype.eqXToP = function eqXToP(x) { - var rx = x.toRed(this.curve.red).redMul(this.z); - if (this.x.cmp(rx) === 0) - return true; - var xc = x.clone(); - var t = this.curve.redN.redMul(this.z); - for (; ; ) { - xc.iadd(this.curve.n); - if (xc.cmp(this.curve.p) >= 0) - return false; - rx.redIAdd(t); - if (this.x.cmp(rx) === 0) - return true; - } - }; - Point.prototype.toP = Point.prototype.normalize; - Point.prototype.mixedAdd = Point.prototype.add; - } -}); - -// node_modules/elliptic/lib/elliptic/curve/index.js -var require_curve = __commonJS({ - "node_modules/elliptic/lib/elliptic/curve/index.js"(exports2) { - "use strict"; - var curve = exports2; - curve.base = require_base(); - curve.short = require_short(); - curve.mont = require_mont(); - curve.edwards = require_edwards(); - } -}); - -// node_modules/elliptic/lib/elliptic/precomputed/secp256k1.js -var require_secp256k1 = __commonJS({ - "node_modules/elliptic/lib/elliptic/precomputed/secp256k1.js"(exports2, module2) { - "use strict"; - module2.exports = { - doubles: { - step: 4, - points: [ - [ - "e60fce93b59e9ec53011aabc21c23e97b2a31369b87a5ae9c44ee89e2a6dec0a", - "f7e3507399e595929db99f34f57937101296891e44d23f0be1f32cce69616821" - ], - [ - "8282263212c609d9ea2a6e3e172de238d8c39cabd5ac1ca10646e23fd5f51508", - "11f8a8098557dfe45e8256e830b60ace62d613ac2f7b17bed31b6eaff6e26caf" - ], - [ - "175e159f728b865a72f99cc6c6fc846de0b93833fd2222ed73fce5b551e5b739", - "d3506e0d9e3c79eba4ef97a51ff71f5eacb5955add24345c6efa6ffee9fed695" - ], - [ - "363d90d447b00c9c99ceac05b6262ee053441c7e55552ffe526bad8f83ff4640", - "4e273adfc732221953b445397f3363145b9a89008199ecb62003c7f3bee9de9" - ], - [ - "8b4b5f165df3c2be8c6244b5b745638843e4a781a15bcd1b69f79a55dffdf80c", - "4aad0a6f68d308b4b3fbd7813ab0da04f9e336546162ee56b3eff0c65fd4fd36" - ], - [ - "723cbaa6e5db996d6bf771c00bd548c7b700dbffa6c0e77bcb6115925232fcda", - "96e867b5595cc498a921137488824d6e2660a0653779494801dc069d9eb39f5f" - ], - [ - "eebfa4d493bebf98ba5feec812c2d3b50947961237a919839a533eca0e7dd7fa", - "5d9a8ca3970ef0f269ee7edaf178089d9ae4cdc3a711f712ddfd4fdae1de8999" - ], - [ - "100f44da696e71672791d0a09b7bde459f1215a29b3c03bfefd7835b39a48db0", - "cdd9e13192a00b772ec8f3300c090666b7ff4a18ff5195ac0fbd5cd62bc65a09" - ], - [ - "e1031be262c7ed1b1dc9227a4a04c017a77f8d4464f3b3852c8acde6e534fd2d", - "9d7061928940405e6bb6a4176597535af292dd419e1ced79a44f18f29456a00d" - ], - [ - "feea6cae46d55b530ac2839f143bd7ec5cf8b266a41d6af52d5e688d9094696d", - "e57c6b6c97dce1bab06e4e12bf3ecd5c981c8957cc41442d3155debf18090088" - ], - [ - "da67a91d91049cdcb367be4be6ffca3cfeed657d808583de33fa978bc1ec6cb1", - "9bacaa35481642bc41f463f7ec9780e5dec7adc508f740a17e9ea8e27a68be1d" - ], - [ - "53904faa0b334cdda6e000935ef22151ec08d0f7bb11069f57545ccc1a37b7c0", - "5bc087d0bc80106d88c9eccac20d3c1c13999981e14434699dcb096b022771c8" - ], - [ - "8e7bcd0bd35983a7719cca7764ca906779b53a043a9b8bcaeff959f43ad86047", - "10b7770b2a3da4b3940310420ca9514579e88e2e47fd68b3ea10047e8460372a" - ], - [ - "385eed34c1cdff21e6d0818689b81bde71a7f4f18397e6690a841e1599c43862", - "283bebc3e8ea23f56701de19e9ebf4576b304eec2086dc8cc0458fe5542e5453" - ], - [ - "6f9d9b803ecf191637c73a4413dfa180fddf84a5947fbc9c606ed86c3fac3a7", - "7c80c68e603059ba69b8e2a30e45c4d47ea4dd2f5c281002d86890603a842160" - ], - [ - "3322d401243c4e2582a2147c104d6ecbf774d163db0f5e5313b7e0e742d0e6bd", - "56e70797e9664ef5bfb019bc4ddaf9b72805f63ea2873af624f3a2e96c28b2a0" - ], - [ - "85672c7d2de0b7da2bd1770d89665868741b3f9af7643397721d74d28134ab83", - "7c481b9b5b43b2eb6374049bfa62c2e5e77f17fcc5298f44c8e3094f790313a6" - ], - [ - "948bf809b1988a46b06c9f1919413b10f9226c60f668832ffd959af60c82a0a", - "53a562856dcb6646dc6b74c5d1c3418c6d4dff08c97cd2bed4cb7f88d8c8e589" - ], - [ - "6260ce7f461801c34f067ce0f02873a8f1b0e44dfc69752accecd819f38fd8e8", - "bc2da82b6fa5b571a7f09049776a1ef7ecd292238051c198c1a84e95b2b4ae17" - ], - [ - "e5037de0afc1d8d43d8348414bbf4103043ec8f575bfdc432953cc8d2037fa2d", - "4571534baa94d3b5f9f98d09fb990bddbd5f5b03ec481f10e0e5dc841d755bda" - ], - [ - "e06372b0f4a207adf5ea905e8f1771b4e7e8dbd1c6a6c5b725866a0ae4fce725", - "7a908974bce18cfe12a27bb2ad5a488cd7484a7787104870b27034f94eee31dd" - ], - [ - "213c7a715cd5d45358d0bbf9dc0ce02204b10bdde2a3f58540ad6908d0559754", - "4b6dad0b5ae462507013ad06245ba190bb4850f5f36a7eeddff2c27534b458f2" - ], - [ - "4e7c272a7af4b34e8dbb9352a5419a87e2838c70adc62cddf0cc3a3b08fbd53c", - "17749c766c9d0b18e16fd09f6def681b530b9614bff7dd33e0b3941817dcaae6" - ], - [ - "fea74e3dbe778b1b10f238ad61686aa5c76e3db2be43057632427e2840fb27b6", - "6e0568db9b0b13297cf674deccb6af93126b596b973f7b77701d3db7f23cb96f" - ], - [ - "76e64113f677cf0e10a2570d599968d31544e179b760432952c02a4417bdde39", - "c90ddf8dee4e95cf577066d70681f0d35e2a33d2b56d2032b4b1752d1901ac01" - ], - [ - "c738c56b03b2abe1e8281baa743f8f9a8f7cc643df26cbee3ab150242bcbb891", - "893fb578951ad2537f718f2eacbfbbbb82314eef7880cfe917e735d9699a84c3" - ], - [ - "d895626548b65b81e264c7637c972877d1d72e5f3a925014372e9f6588f6c14b", - "febfaa38f2bc7eae728ec60818c340eb03428d632bb067e179363ed75d7d991f" - ], - [ - "b8da94032a957518eb0f6433571e8761ceffc73693e84edd49150a564f676e03", - "2804dfa44805a1e4d7c99cc9762808b092cc584d95ff3b511488e4e74efdf6e7" - ], - [ - "e80fea14441fb33a7d8adab9475d7fab2019effb5156a792f1a11778e3c0df5d", - "eed1de7f638e00771e89768ca3ca94472d155e80af322ea9fcb4291b6ac9ec78" - ], - [ - "a301697bdfcd704313ba48e51d567543f2a182031efd6915ddc07bbcc4e16070", - "7370f91cfb67e4f5081809fa25d40f9b1735dbf7c0a11a130c0d1a041e177ea1" - ], - [ - "90ad85b389d6b936463f9d0512678de208cc330b11307fffab7ac63e3fb04ed4", - "e507a3620a38261affdcbd9427222b839aefabe1582894d991d4d48cb6ef150" - ], - [ - "8f68b9d2f63b5f339239c1ad981f162ee88c5678723ea3351b7b444c9ec4c0da", - "662a9f2dba063986de1d90c2b6be215dbbea2cfe95510bfdf23cbf79501fff82" - ], - [ - "e4f3fb0176af85d65ff99ff9198c36091f48e86503681e3e6686fd5053231e11", - "1e63633ad0ef4f1c1661a6d0ea02b7286cc7e74ec951d1c9822c38576feb73bc" - ], - [ - "8c00fa9b18ebf331eb961537a45a4266c7034f2f0d4e1d0716fb6eae20eae29e", - "efa47267fea521a1a9dc343a3736c974c2fadafa81e36c54e7d2a4c66702414b" - ], - [ - "e7a26ce69dd4829f3e10cec0a9e98ed3143d084f308b92c0997fddfc60cb3e41", - "2a758e300fa7984b471b006a1aafbb18d0a6b2c0420e83e20e8a9421cf2cfd51" - ], - [ - "b6459e0ee3662ec8d23540c223bcbdc571cbcb967d79424f3cf29eb3de6b80ef", - "67c876d06f3e06de1dadf16e5661db3c4b3ae6d48e35b2ff30bf0b61a71ba45" - ], - [ - "d68a80c8280bb840793234aa118f06231d6f1fc67e73c5a5deda0f5b496943e8", - "db8ba9fff4b586d00c4b1f9177b0e28b5b0e7b8f7845295a294c84266b133120" - ], - [ - "324aed7df65c804252dc0270907a30b09612aeb973449cea4095980fc28d3d5d", - "648a365774b61f2ff130c0c35aec1f4f19213b0c7e332843967224af96ab7c84" - ], - [ - "4df9c14919cde61f6d51dfdbe5fee5dceec4143ba8d1ca888e8bd373fd054c96", - "35ec51092d8728050974c23a1d85d4b5d506cdc288490192ebac06cad10d5d" - ], - [ - "9c3919a84a474870faed8a9c1cc66021523489054d7f0308cbfc99c8ac1f98cd", - "ddb84f0f4a4ddd57584f044bf260e641905326f76c64c8e6be7e5e03d4fc599d" - ], - [ - "6057170b1dd12fdf8de05f281d8e06bb91e1493a8b91d4cc5a21382120a959e5", - "9a1af0b26a6a4807add9a2daf71df262465152bc3ee24c65e899be932385a2a8" - ], - [ - "a576df8e23a08411421439a4518da31880cef0fba7d4df12b1a6973eecb94266", - "40a6bf20e76640b2c92b97afe58cd82c432e10a7f514d9f3ee8be11ae1b28ec8" - ], - [ - "7778a78c28dec3e30a05fe9629de8c38bb30d1f5cf9a3a208f763889be58ad71", - "34626d9ab5a5b22ff7098e12f2ff580087b38411ff24ac563b513fc1fd9f43ac" - ], - [ - "928955ee637a84463729fd30e7afd2ed5f96274e5ad7e5cb09eda9c06d903ac", - "c25621003d3f42a827b78a13093a95eeac3d26efa8a8d83fc5180e935bcd091f" - ], - [ - "85d0fef3ec6db109399064f3a0e3b2855645b4a907ad354527aae75163d82751", - "1f03648413a38c0be29d496e582cf5663e8751e96877331582c237a24eb1f962" - ], - [ - "ff2b0dce97eece97c1c9b6041798b85dfdfb6d8882da20308f5404824526087e", - "493d13fef524ba188af4c4dc54d07936c7b7ed6fb90e2ceb2c951e01f0c29907" - ], - [ - "827fbbe4b1e880ea9ed2b2e6301b212b57f1ee148cd6dd28780e5e2cf856e241", - "c60f9c923c727b0b71bef2c67d1d12687ff7a63186903166d605b68baec293ec" - ], - [ - "eaa649f21f51bdbae7be4ae34ce6e5217a58fdce7f47f9aa7f3b58fa2120e2b3", - "be3279ed5bbbb03ac69a80f89879aa5a01a6b965f13f7e59d47a5305ba5ad93d" - ], - [ - "e4a42d43c5cf169d9391df6decf42ee541b6d8f0c9a137401e23632dda34d24f", - "4d9f92e716d1c73526fc99ccfb8ad34ce886eedfa8d8e4f13a7f7131deba9414" - ], - [ - "1ec80fef360cbdd954160fadab352b6b92b53576a88fea4947173b9d4300bf19", - "aeefe93756b5340d2f3a4958a7abbf5e0146e77f6295a07b671cdc1cc107cefd" - ], - [ - "146a778c04670c2f91b00af4680dfa8bce3490717d58ba889ddb5928366642be", - "b318e0ec3354028add669827f9d4b2870aaa971d2f7e5ed1d0b297483d83efd0" - ], - [ - "fa50c0f61d22e5f07e3acebb1aa07b128d0012209a28b9776d76a8793180eef9", - "6b84c6922397eba9b72cd2872281a68a5e683293a57a213b38cd8d7d3f4f2811" - ], - [ - "da1d61d0ca721a11b1a5bf6b7d88e8421a288ab5d5bba5220e53d32b5f067ec2", - "8157f55a7c99306c79c0766161c91e2966a73899d279b48a655fba0f1ad836f1" - ], - [ - "a8e282ff0c9706907215ff98e8fd416615311de0446f1e062a73b0610d064e13", - "7f97355b8db81c09abfb7f3c5b2515888b679a3e50dd6bd6cef7c73111f4cc0c" - ], - [ - "174a53b9c9a285872d39e56e6913cab15d59b1fa512508c022f382de8319497c", - "ccc9dc37abfc9c1657b4155f2c47f9e6646b3a1d8cb9854383da13ac079afa73" - ], - [ - "959396981943785c3d3e57edf5018cdbe039e730e4918b3d884fdff09475b7ba", - "2e7e552888c331dd8ba0386a4b9cd6849c653f64c8709385e9b8abf87524f2fd" - ], - [ - "d2a63a50ae401e56d645a1153b109a8fcca0a43d561fba2dbb51340c9d82b151", - "e82d86fb6443fcb7565aee58b2948220a70f750af484ca52d4142174dcf89405" - ], - [ - "64587e2335471eb890ee7896d7cfdc866bacbdbd3839317b3436f9b45617e073", - "d99fcdd5bf6902e2ae96dd6447c299a185b90a39133aeab358299e5e9faf6589" - ], - [ - "8481bde0e4e4d885b3a546d3e549de042f0aa6cea250e7fd358d6c86dd45e458", - "38ee7b8cba5404dd84a25bf39cecb2ca900a79c42b262e556d64b1b59779057e" - ], - [ - "13464a57a78102aa62b6979ae817f4637ffcfed3c4b1ce30bcd6303f6caf666b", - "69be159004614580ef7e433453ccb0ca48f300a81d0942e13f495a907f6ecc27" - ], - [ - "bc4a9df5b713fe2e9aef430bcc1dc97a0cd9ccede2f28588cada3a0d2d83f366", - "d3a81ca6e785c06383937adf4b798caa6e8a9fbfa547b16d758d666581f33c1" - ], - [ - "8c28a97bf8298bc0d23d8c749452a32e694b65e30a9472a3954ab30fe5324caa", - "40a30463a3305193378fedf31f7cc0eb7ae784f0451cb9459e71dc73cbef9482" - ], - [ - "8ea9666139527a8c1dd94ce4f071fd23c8b350c5a4bb33748c4ba111faccae0", - "620efabbc8ee2782e24e7c0cfb95c5d735b783be9cf0f8e955af34a30e62b945" - ], - [ - "dd3625faef5ba06074669716bbd3788d89bdde815959968092f76cc4eb9a9787", - "7a188fa3520e30d461da2501045731ca941461982883395937f68d00c644a573" - ], - [ - "f710d79d9eb962297e4f6232b40e8f7feb2bc63814614d692c12de752408221e", - "ea98e67232d3b3295d3b535532115ccac8612c721851617526ae47a9c77bfc82" - ] - ] - }, - naf: { - wnd: 7, - points: [ - [ - "f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9", - "388f7b0f632de8140fe337e62a37f3566500a99934c2231b6cb9fd7584b8e672" - ], - [ - "2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4", - "d8ac222636e5e3d6d4dba9dda6c9c426f788271bab0d6840dca87d3aa6ac62d6" - ], - [ - "5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc", - "6aebca40ba255960a3178d6d861a54dba813d0b813fde7b5a5082628087264da" - ], - [ - "acd484e2f0c7f65309ad178a9f559abde09796974c57e714c35f110dfc27ccbe", - "cc338921b0a7d9fd64380971763b61e9add888a4375f8e0f05cc262ac64f9c37" - ], - [ - "774ae7f858a9411e5ef4246b70c65aac5649980be5c17891bbec17895da008cb", - "d984a032eb6b5e190243dd56d7b7b365372db1e2dff9d6a8301d74c9c953c61b" - ], - [ - "f28773c2d975288bc7d1d205c3748651b075fbc6610e58cddeeddf8f19405aa8", - "ab0902e8d880a89758212eb65cdaf473a1a06da521fa91f29b5cb52db03ed81" - ], - [ - "d7924d4f7d43ea965a465ae3095ff41131e5946f3c85f79e44adbcf8e27e080e", - "581e2872a86c72a683842ec228cc6defea40af2bd896d3a5c504dc9ff6a26b58" - ], - [ - "defdea4cdb677750a420fee807eacf21eb9898ae79b9768766e4faa04a2d4a34", - "4211ab0694635168e997b0ead2a93daeced1f4a04a95c0f6cfb199f69e56eb77" - ], - [ - "2b4ea0a797a443d293ef5cff444f4979f06acfebd7e86d277475656138385b6c", - "85e89bc037945d93b343083b5a1c86131a01f60c50269763b570c854e5c09b7a" - ], - [ - "352bbf4a4cdd12564f93fa332ce333301d9ad40271f8107181340aef25be59d5", - "321eb4075348f534d59c18259dda3e1f4a1b3b2e71b1039c67bd3d8bcf81998c" - ], - [ - "2fa2104d6b38d11b0230010559879124e42ab8dfeff5ff29dc9cdadd4ecacc3f", - "2de1068295dd865b64569335bd5dd80181d70ecfc882648423ba76b532b7d67" - ], - [ - "9248279b09b4d68dab21a9b066edda83263c3d84e09572e269ca0cd7f5453714", - "73016f7bf234aade5d1aa71bdea2b1ff3fc0de2a887912ffe54a32ce97cb3402" - ], - [ - "daed4f2be3a8bf278e70132fb0beb7522f570e144bf615c07e996d443dee8729", - "a69dce4a7d6c98e8d4a1aca87ef8d7003f83c230f3afa726ab40e52290be1c55" - ], - [ - "c44d12c7065d812e8acf28d7cbb19f9011ecd9e9fdf281b0e6a3b5e87d22e7db", - "2119a460ce326cdc76c45926c982fdac0e106e861edf61c5a039063f0e0e6482" - ], - [ - "6a245bf6dc698504c89a20cfded60853152b695336c28063b61c65cbd269e6b4", - "e022cf42c2bd4a708b3f5126f16a24ad8b33ba48d0423b6efd5e6348100d8a82" - ], - [ - "1697ffa6fd9de627c077e3d2fe541084ce13300b0bec1146f95ae57f0d0bd6a5", - "b9c398f186806f5d27561506e4557433a2cf15009e498ae7adee9d63d01b2396" - ], - [ - "605bdb019981718b986d0f07e834cb0d9deb8360ffb7f61df982345ef27a7479", - "2972d2de4f8d20681a78d93ec96fe23c26bfae84fb14db43b01e1e9056b8c49" - ], - [ - "62d14dab4150bf497402fdc45a215e10dcb01c354959b10cfe31c7e9d87ff33d", - "80fc06bd8cc5b01098088a1950eed0db01aa132967ab472235f5642483b25eaf" - ], - [ - "80c60ad0040f27dade5b4b06c408e56b2c50e9f56b9b8b425e555c2f86308b6f", - "1c38303f1cc5c30f26e66bad7fe72f70a65eed4cbe7024eb1aa01f56430bd57a" - ], - [ - "7a9375ad6167ad54aa74c6348cc54d344cc5dc9487d847049d5eabb0fa03c8fb", - "d0e3fa9eca8726909559e0d79269046bdc59ea10c70ce2b02d499ec224dc7f7" - ], - [ - "d528ecd9b696b54c907a9ed045447a79bb408ec39b68df504bb51f459bc3ffc9", - "eecf41253136e5f99966f21881fd656ebc4345405c520dbc063465b521409933" - ], - [ - "49370a4b5f43412ea25f514e8ecdad05266115e4a7ecb1387231808f8b45963", - "758f3f41afd6ed428b3081b0512fd62a54c3f3afbb5b6764b653052a12949c9a" - ], - [ - "77f230936ee88cbbd73df930d64702ef881d811e0e1498e2f1c13eb1fc345d74", - "958ef42a7886b6400a08266e9ba1b37896c95330d97077cbbe8eb3c7671c60d6" - ], - [ - "f2dac991cc4ce4b9ea44887e5c7c0bce58c80074ab9d4dbaeb28531b7739f530", - "e0dedc9b3b2f8dad4da1f32dec2531df9eb5fbeb0598e4fd1a117dba703a3c37" - ], - [ - "463b3d9f662621fb1b4be8fbbe2520125a216cdfc9dae3debcba4850c690d45b", - "5ed430d78c296c3543114306dd8622d7c622e27c970a1de31cb377b01af7307e" - ], - [ - "f16f804244e46e2a09232d4aff3b59976b98fac14328a2d1a32496b49998f247", - "cedabd9b82203f7e13d206fcdf4e33d92a6c53c26e5cce26d6579962c4e31df6" - ], - [ - "caf754272dc84563b0352b7a14311af55d245315ace27c65369e15f7151d41d1", - "cb474660ef35f5f2a41b643fa5e460575f4fa9b7962232a5c32f908318a04476" - ], - [ - "2600ca4b282cb986f85d0f1709979d8b44a09c07cb86d7c124497bc86f082120", - "4119b88753c15bd6a693b03fcddbb45d5ac6be74ab5f0ef44b0be9475a7e4b40" - ], - [ - "7635ca72d7e8432c338ec53cd12220bc01c48685e24f7dc8c602a7746998e435", - "91b649609489d613d1d5e590f78e6d74ecfc061d57048bad9e76f302c5b9c61" - ], - [ - "754e3239f325570cdbbf4a87deee8a66b7f2b33479d468fbc1a50743bf56cc18", - "673fb86e5bda30fb3cd0ed304ea49a023ee33d0197a695d0c5d98093c536683" - ], - [ - "e3e6bd1071a1e96aff57859c82d570f0330800661d1c952f9fe2694691d9b9e8", - "59c9e0bba394e76f40c0aa58379a3cb6a5a2283993e90c4167002af4920e37f5" - ], - [ - "186b483d056a033826ae73d88f732985c4ccb1f32ba35f4b4cc47fdcf04aa6eb", - "3b952d32c67cf77e2e17446e204180ab21fb8090895138b4a4a797f86e80888b" - ], - [ - "df9d70a6b9876ce544c98561f4be4f725442e6d2b737d9c91a8321724ce0963f", - "55eb2dafd84d6ccd5f862b785dc39d4ab157222720ef9da217b8c45cf2ba2417" - ], - [ - "5edd5cc23c51e87a497ca815d5dce0f8ab52554f849ed8995de64c5f34ce7143", - "efae9c8dbc14130661e8cec030c89ad0c13c66c0d17a2905cdc706ab7399a868" - ], - [ - "290798c2b6476830da12fe02287e9e777aa3fba1c355b17a722d362f84614fba", - "e38da76dcd440621988d00bcf79af25d5b29c094db2a23146d003afd41943e7a" - ], - [ - "af3c423a95d9f5b3054754efa150ac39cd29552fe360257362dfdecef4053b45", - "f98a3fd831eb2b749a93b0e6f35cfb40c8cd5aa667a15581bc2feded498fd9c6" - ], - [ - "766dbb24d134e745cccaa28c99bf274906bb66b26dcf98df8d2fed50d884249a", - "744b1152eacbe5e38dcc887980da38b897584a65fa06cedd2c924f97cbac5996" - ], - [ - "59dbf46f8c94759ba21277c33784f41645f7b44f6c596a58ce92e666191abe3e", - "c534ad44175fbc300f4ea6ce648309a042ce739a7919798cd85e216c4a307f6e" - ], - [ - "f13ada95103c4537305e691e74e9a4a8dd647e711a95e73cb62dc6018cfd87b8", - "e13817b44ee14de663bf4bc808341f326949e21a6a75c2570778419bdaf5733d" - ], - [ - "7754b4fa0e8aced06d4167a2c59cca4cda1869c06ebadfb6488550015a88522c", - "30e93e864e669d82224b967c3020b8fa8d1e4e350b6cbcc537a48b57841163a2" - ], - [ - "948dcadf5990e048aa3874d46abef9d701858f95de8041d2a6828c99e2262519", - "e491a42537f6e597d5d28a3224b1bc25df9154efbd2ef1d2cbba2cae5347d57e" - ], - [ - "7962414450c76c1689c7b48f8202ec37fb224cf5ac0bfa1570328a8a3d7c77ab", - "100b610ec4ffb4760d5c1fc133ef6f6b12507a051f04ac5760afa5b29db83437" - ], - [ - "3514087834964b54b15b160644d915485a16977225b8847bb0dd085137ec47ca", - "ef0afbb2056205448e1652c48e8127fc6039e77c15c2378b7e7d15a0de293311" - ], - [ - "d3cc30ad6b483e4bc79ce2c9dd8bc54993e947eb8df787b442943d3f7b527eaf", - "8b378a22d827278d89c5e9be8f9508ae3c2ad46290358630afb34db04eede0a4" - ], - [ - "1624d84780732860ce1c78fcbfefe08b2b29823db913f6493975ba0ff4847610", - "68651cf9b6da903e0914448c6cd9d4ca896878f5282be4c8cc06e2a404078575" - ], - [ - "733ce80da955a8a26902c95633e62a985192474b5af207da6df7b4fd5fc61cd4", - "f5435a2bd2badf7d485a4d8b8db9fcce3e1ef8e0201e4578c54673bc1dc5ea1d" - ], - [ - "15d9441254945064cf1a1c33bbd3b49f8966c5092171e699ef258dfab81c045c", - "d56eb30b69463e7234f5137b73b84177434800bacebfc685fc37bbe9efe4070d" - ], - [ - "a1d0fcf2ec9de675b612136e5ce70d271c21417c9d2b8aaaac138599d0717940", - "edd77f50bcb5a3cab2e90737309667f2641462a54070f3d519212d39c197a629" - ], - [ - "e22fbe15c0af8ccc5780c0735f84dbe9a790badee8245c06c7ca37331cb36980", - "a855babad5cd60c88b430a69f53a1a7a38289154964799be43d06d77d31da06" - ], - [ - "311091dd9860e8e20ee13473c1155f5f69635e394704eaa74009452246cfa9b3", - "66db656f87d1f04fffd1f04788c06830871ec5a64feee685bd80f0b1286d8374" - ], - [ - "34c1fd04d301be89b31c0442d3e6ac24883928b45a9340781867d4232ec2dbdf", - "9414685e97b1b5954bd46f730174136d57f1ceeb487443dc5321857ba73abee" - ], - [ - "f219ea5d6b54701c1c14de5b557eb42a8d13f3abbcd08affcc2a5e6b049b8d63", - "4cb95957e83d40b0f73af4544cccf6b1f4b08d3c07b27fb8d8c2962a400766d1" - ], - [ - "d7b8740f74a8fbaab1f683db8f45de26543a5490bca627087236912469a0b448", - "fa77968128d9c92ee1010f337ad4717eff15db5ed3c049b3411e0315eaa4593b" - ], - [ - "32d31c222f8f6f0ef86f7c98d3a3335ead5bcd32abdd94289fe4d3091aa824bf", - "5f3032f5892156e39ccd3d7915b9e1da2e6dac9e6f26e961118d14b8462e1661" - ], - [ - "7461f371914ab32671045a155d9831ea8793d77cd59592c4340f86cbc18347b5", - "8ec0ba238b96bec0cbdddcae0aa442542eee1ff50c986ea6b39847b3cc092ff6" - ], - [ - "ee079adb1df1860074356a25aa38206a6d716b2c3e67453d287698bad7b2b2d6", - "8dc2412aafe3be5c4c5f37e0ecc5f9f6a446989af04c4e25ebaac479ec1c8c1e" - ], - [ - "16ec93e447ec83f0467b18302ee620f7e65de331874c9dc72bfd8616ba9da6b5", - "5e4631150e62fb40d0e8c2a7ca5804a39d58186a50e497139626778e25b0674d" - ], - [ - "eaa5f980c245f6f038978290afa70b6bd8855897f98b6aa485b96065d537bd99", - "f65f5d3e292c2e0819a528391c994624d784869d7e6ea67fb18041024edc07dc" - ], - [ - "78c9407544ac132692ee1910a02439958ae04877151342ea96c4b6b35a49f51", - "f3e0319169eb9b85d5404795539a5e68fa1fbd583c064d2462b675f194a3ddb4" - ], - [ - "494f4be219a1a77016dcd838431aea0001cdc8ae7a6fc688726578d9702857a5", - "42242a969283a5f339ba7f075e36ba2af925ce30d767ed6e55f4b031880d562c" - ], - [ - "a598a8030da6d86c6bc7f2f5144ea549d28211ea58faa70ebf4c1e665c1fe9b5", - "204b5d6f84822c307e4b4a7140737aec23fc63b65b35f86a10026dbd2d864e6b" - ], - [ - "c41916365abb2b5d09192f5f2dbeafec208f020f12570a184dbadc3e58595997", - "4f14351d0087efa49d245b328984989d5caf9450f34bfc0ed16e96b58fa9913" - ], - [ - "841d6063a586fa475a724604da03bc5b92a2e0d2e0a36acfe4c73a5514742881", - "73867f59c0659e81904f9a1c7543698e62562d6744c169ce7a36de01a8d6154" - ], - [ - "5e95bb399a6971d376026947f89bde2f282b33810928be4ded112ac4d70e20d5", - "39f23f366809085beebfc71181313775a99c9aed7d8ba38b161384c746012865" - ], - [ - "36e4641a53948fd476c39f8a99fd974e5ec07564b5315d8bf99471bca0ef2f66", - "d2424b1b1abe4eb8164227b085c9aa9456ea13493fd563e06fd51cf5694c78fc" - ], - [ - "336581ea7bfbbb290c191a2f507a41cf5643842170e914faeab27c2c579f726", - "ead12168595fe1be99252129b6e56b3391f7ab1410cd1e0ef3dcdcabd2fda224" - ], - [ - "8ab89816dadfd6b6a1f2634fcf00ec8403781025ed6890c4849742706bd43ede", - "6fdcef09f2f6d0a044e654aef624136f503d459c3e89845858a47a9129cdd24e" - ], - [ - "1e33f1a746c9c5778133344d9299fcaa20b0938e8acff2544bb40284b8c5fb94", - "60660257dd11b3aa9c8ed618d24edff2306d320f1d03010e33a7d2057f3b3b6" - ], - [ - "85b7c1dcb3cec1b7ee7f30ded79dd20a0ed1f4cc18cbcfcfa410361fd8f08f31", - "3d98a9cdd026dd43f39048f25a8847f4fcafad1895d7a633c6fed3c35e999511" - ], - [ - "29df9fbd8d9e46509275f4b125d6d45d7fbe9a3b878a7af872a2800661ac5f51", - "b4c4fe99c775a606e2d8862179139ffda61dc861c019e55cd2876eb2a27d84b" - ], - [ - "a0b1cae06b0a847a3fea6e671aaf8adfdfe58ca2f768105c8082b2e449fce252", - "ae434102edde0958ec4b19d917a6a28e6b72da1834aff0e650f049503a296cf2" - ], - [ - "4e8ceafb9b3e9a136dc7ff67e840295b499dfb3b2133e4ba113f2e4c0e121e5", - "cf2174118c8b6d7a4b48f6d534ce5c79422c086a63460502b827ce62a326683c" - ], - [ - "d24a44e047e19b6f5afb81c7ca2f69080a5076689a010919f42725c2b789a33b", - "6fb8d5591b466f8fc63db50f1c0f1c69013f996887b8244d2cdec417afea8fa3" - ], - [ - "ea01606a7a6c9cdd249fdfcfacb99584001edd28abbab77b5104e98e8e3b35d4", - "322af4908c7312b0cfbfe369f7a7b3cdb7d4494bc2823700cfd652188a3ea98d" - ], - [ - "af8addbf2b661c8a6c6328655eb96651252007d8c5ea31be4ad196de8ce2131f", - "6749e67c029b85f52a034eafd096836b2520818680e26ac8f3dfbcdb71749700" - ], - [ - "e3ae1974566ca06cc516d47e0fb165a674a3dabcfca15e722f0e3450f45889", - "2aeabe7e4531510116217f07bf4d07300de97e4874f81f533420a72eeb0bd6a4" - ], - [ - "591ee355313d99721cf6993ffed1e3e301993ff3ed258802075ea8ced397e246", - "b0ea558a113c30bea60fc4775460c7901ff0b053d25ca2bdeee98f1a4be5d196" - ], - [ - "11396d55fda54c49f19aa97318d8da61fa8584e47b084945077cf03255b52984", - "998c74a8cd45ac01289d5833a7beb4744ff536b01b257be4c5767bea93ea57a4" - ], - [ - "3c5d2a1ba39c5a1790000738c9e0c40b8dcdfd5468754b6405540157e017aa7a", - "b2284279995a34e2f9d4de7396fc18b80f9b8b9fdd270f6661f79ca4c81bd257" - ], - [ - "cc8704b8a60a0defa3a99a7299f2e9c3fbc395afb04ac078425ef8a1793cc030", - "bdd46039feed17881d1e0862db347f8cf395b74fc4bcdc4e940b74e3ac1f1b13" - ], - [ - "c533e4f7ea8555aacd9777ac5cad29b97dd4defccc53ee7ea204119b2889b197", - "6f0a256bc5efdf429a2fb6242f1a43a2d9b925bb4a4b3a26bb8e0f45eb596096" - ], - [ - "c14f8f2ccb27d6f109f6d08d03cc96a69ba8c34eec07bbcf566d48e33da6593", - "c359d6923bb398f7fd4473e16fe1c28475b740dd098075e6c0e8649113dc3a38" - ], - [ - "a6cbc3046bc6a450bac24789fa17115a4c9739ed75f8f21ce441f72e0b90e6ef", - "21ae7f4680e889bb130619e2c0f95a360ceb573c70603139862afd617fa9b9f" - ], - [ - "347d6d9a02c48927ebfb86c1359b1caf130a3c0267d11ce6344b39f99d43cc38", - "60ea7f61a353524d1c987f6ecec92f086d565ab687870cb12689ff1e31c74448" - ], - [ - "da6545d2181db8d983f7dcb375ef5866d47c67b1bf31c8cf855ef7437b72656a", - "49b96715ab6878a79e78f07ce5680c5d6673051b4935bd897fea824b77dc208a" - ], - [ - "c40747cc9d012cb1a13b8148309c6de7ec25d6945d657146b9d5994b8feb1111", - "5ca560753be2a12fc6de6caf2cb489565db936156b9514e1bb5e83037e0fa2d4" - ], - [ - "4e42c8ec82c99798ccf3a610be870e78338c7f713348bd34c8203ef4037f3502", - "7571d74ee5e0fb92a7a8b33a07783341a5492144cc54bcc40a94473693606437" - ], - [ - "3775ab7089bc6af823aba2e1af70b236d251cadb0c86743287522a1b3b0dedea", - "be52d107bcfa09d8bcb9736a828cfa7fac8db17bf7a76a2c42ad961409018cf7" - ], - [ - "cee31cbf7e34ec379d94fb814d3d775ad954595d1314ba8846959e3e82f74e26", - "8fd64a14c06b589c26b947ae2bcf6bfa0149ef0be14ed4d80f448a01c43b1c6d" - ], - [ - "b4f9eaea09b6917619f6ea6a4eb5464efddb58fd45b1ebefcdc1a01d08b47986", - "39e5c9925b5a54b07433a4f18c61726f8bb131c012ca542eb24a8ac07200682a" - ], - [ - "d4263dfc3d2df923a0179a48966d30ce84e2515afc3dccc1b77907792ebcc60e", - "62dfaf07a0f78feb30e30d6295853ce189e127760ad6cf7fae164e122a208d54" - ], - [ - "48457524820fa65a4f8d35eb6930857c0032acc0a4a2de422233eeda897612c4", - "25a748ab367979d98733c38a1fa1c2e7dc6cc07db2d60a9ae7a76aaa49bd0f77" - ], - [ - "dfeeef1881101f2cb11644f3a2afdfc2045e19919152923f367a1767c11cceda", - "ecfb7056cf1de042f9420bab396793c0c390bde74b4bbdff16a83ae09a9a7517" - ], - [ - "6d7ef6b17543f8373c573f44e1f389835d89bcbc6062ced36c82df83b8fae859", - "cd450ec335438986dfefa10c57fea9bcc521a0959b2d80bbf74b190dca712d10" - ], - [ - "e75605d59102a5a2684500d3b991f2e3f3c88b93225547035af25af66e04541f", - "f5c54754a8f71ee540b9b48728473e314f729ac5308b06938360990e2bfad125" - ], - [ - "eb98660f4c4dfaa06a2be453d5020bc99a0c2e60abe388457dd43fefb1ed620c", - "6cb9a8876d9cb8520609af3add26cd20a0a7cd8a9411131ce85f44100099223e" - ], - [ - "13e87b027d8514d35939f2e6892b19922154596941888336dc3563e3b8dba942", - "fef5a3c68059a6dec5d624114bf1e91aac2b9da568d6abeb2570d55646b8adf1" - ], - [ - "ee163026e9fd6fe017c38f06a5be6fc125424b371ce2708e7bf4491691e5764a", - "1acb250f255dd61c43d94ccc670d0f58f49ae3fa15b96623e5430da0ad6c62b2" - ], - [ - "b268f5ef9ad51e4d78de3a750c2dc89b1e626d43505867999932e5db33af3d80", - "5f310d4b3c99b9ebb19f77d41c1dee018cf0d34fd4191614003e945a1216e423" - ], - [ - "ff07f3118a9df035e9fad85eb6c7bfe42b02f01ca99ceea3bf7ffdba93c4750d", - "438136d603e858a3a5c440c38eccbaddc1d2942114e2eddd4740d098ced1f0d8" - ], - [ - "8d8b9855c7c052a34146fd20ffb658bea4b9f69e0d825ebec16e8c3ce2b526a1", - "cdb559eedc2d79f926baf44fb84ea4d44bcf50fee51d7ceb30e2e7f463036758" - ], - [ - "52db0b5384dfbf05bfa9d472d7ae26dfe4b851ceca91b1eba54263180da32b63", - "c3b997d050ee5d423ebaf66a6db9f57b3180c902875679de924b69d84a7b375" - ], - [ - "e62f9490d3d51da6395efd24e80919cc7d0f29c3f3fa48c6fff543becbd43352", - "6d89ad7ba4876b0b22c2ca280c682862f342c8591f1daf5170e07bfd9ccafa7d" - ], - [ - "7f30ea2476b399b4957509c88f77d0191afa2ff5cb7b14fd6d8e7d65aaab1193", - "ca5ef7d4b231c94c3b15389a5f6311e9daff7bb67b103e9880ef4bff637acaec" - ], - [ - "5098ff1e1d9f14fb46a210fada6c903fef0fb7b4a1dd1d9ac60a0361800b7a00", - "9731141d81fc8f8084d37c6e7542006b3ee1b40d60dfe5362a5b132fd17ddc0" - ], - [ - "32b78c7de9ee512a72895be6b9cbefa6e2f3c4ccce445c96b9f2c81e2778ad58", - "ee1849f513df71e32efc3896ee28260c73bb80547ae2275ba497237794c8753c" - ], - [ - "e2cb74fddc8e9fbcd076eef2a7c72b0ce37d50f08269dfc074b581550547a4f7", - "d3aa2ed71c9dd2247a62df062736eb0baddea9e36122d2be8641abcb005cc4a4" - ], - [ - "8438447566d4d7bedadc299496ab357426009a35f235cb141be0d99cd10ae3a8", - "c4e1020916980a4da5d01ac5e6ad330734ef0d7906631c4f2390426b2edd791f" - ], - [ - "4162d488b89402039b584c6fc6c308870587d9c46f660b878ab65c82c711d67e", - "67163e903236289f776f22c25fb8a3afc1732f2b84b4e95dbda47ae5a0852649" - ], - [ - "3fad3fa84caf0f34f0f89bfd2dcf54fc175d767aec3e50684f3ba4a4bf5f683d", - "cd1bc7cb6cc407bb2f0ca647c718a730cf71872e7d0d2a53fa20efcdfe61826" - ], - [ - "674f2600a3007a00568c1a7ce05d0816c1fb84bf1370798f1c69532faeb1a86b", - "299d21f9413f33b3edf43b257004580b70db57da0b182259e09eecc69e0d38a5" - ], - [ - "d32f4da54ade74abb81b815ad1fb3b263d82d6c692714bcff87d29bd5ee9f08f", - "f9429e738b8e53b968e99016c059707782e14f4535359d582fc416910b3eea87" - ], - [ - "30e4e670435385556e593657135845d36fbb6931f72b08cb1ed954f1e3ce3ff6", - "462f9bce619898638499350113bbc9b10a878d35da70740dc695a559eb88db7b" - ], - [ - "be2062003c51cc3004682904330e4dee7f3dcd10b01e580bf1971b04d4cad297", - "62188bc49d61e5428573d48a74e1c655b1c61090905682a0d5558ed72dccb9bc" - ], - [ - "93144423ace3451ed29e0fb9ac2af211cb6e84a601df5993c419859fff5df04a", - "7c10dfb164c3425f5c71a3f9d7992038f1065224f72bb9d1d902a6d13037b47c" - ], - [ - "b015f8044f5fcbdcf21ca26d6c34fb8197829205c7b7d2a7cb66418c157b112c", - "ab8c1e086d04e813744a655b2df8d5f83b3cdc6faa3088c1d3aea1454e3a1d5f" - ], - [ - "d5e9e1da649d97d89e4868117a465a3a4f8a18de57a140d36b3f2af341a21b52", - "4cb04437f391ed73111a13cc1d4dd0db1693465c2240480d8955e8592f27447a" - ], - [ - "d3ae41047dd7ca065dbf8ed77b992439983005cd72e16d6f996a5316d36966bb", - "bd1aeb21ad22ebb22a10f0303417c6d964f8cdd7df0aca614b10dc14d125ac46" - ], - [ - "463e2763d885f958fc66cdd22800f0a487197d0a82e377b49f80af87c897b065", - "bfefacdb0e5d0fd7df3a311a94de062b26b80c61fbc97508b79992671ef7ca7f" - ], - [ - "7985fdfd127c0567c6f53ec1bb63ec3158e597c40bfe747c83cddfc910641917", - "603c12daf3d9862ef2b25fe1de289aed24ed291e0ec6708703a5bd567f32ed03" - ], - [ - "74a1ad6b5f76e39db2dd249410eac7f99e74c59cb83d2d0ed5ff1543da7703e9", - "cc6157ef18c9c63cd6193d83631bbea0093e0968942e8c33d5737fd790e0db08" - ], - [ - "30682a50703375f602d416664ba19b7fc9bab42c72747463a71d0896b22f6da3", - "553e04f6b018b4fa6c8f39e7f311d3176290d0e0f19ca73f17714d9977a22ff8" - ], - [ - "9e2158f0d7c0d5f26c3791efefa79597654e7a2b2464f52b1ee6c1347769ef57", - "712fcdd1b9053f09003a3481fa7762e9ffd7c8ef35a38509e2fbf2629008373" - ], - [ - "176e26989a43c9cfeba4029c202538c28172e566e3c4fce7322857f3be327d66", - "ed8cc9d04b29eb877d270b4878dc43c19aefd31f4eee09ee7b47834c1fa4b1c3" - ], - [ - "75d46efea3771e6e68abb89a13ad747ecf1892393dfc4f1b7004788c50374da8", - "9852390a99507679fd0b86fd2b39a868d7efc22151346e1a3ca4726586a6bed8" - ], - [ - "809a20c67d64900ffb698c4c825f6d5f2310fb0451c869345b7319f645605721", - "9e994980d9917e22b76b061927fa04143d096ccc54963e6a5ebfa5f3f8e286c1" - ], - [ - "1b38903a43f7f114ed4500b4eac7083fdefece1cf29c63528d563446f972c180", - "4036edc931a60ae889353f77fd53de4a2708b26b6f5da72ad3394119daf408f9" - ] - ] - } - }; - } -}); - -// node_modules/elliptic/lib/elliptic/curves.js -var require_curves = __commonJS({ - "node_modules/elliptic/lib/elliptic/curves.js"(exports2) { - "use strict"; - var curves = exports2; - var hash = require_hash(); - var curve = require_curve(); - var utils = require_utils3(); - var assert = utils.assert; - function PresetCurve(options) { - if (options.type === "short") - this.curve = new curve.short(options); - else if (options.type === "edwards") - this.curve = new curve.edwards(options); - else - this.curve = new curve.mont(options); - this.g = this.curve.g; - this.n = this.curve.n; - this.hash = options.hash; - assert(this.g.validate(), "Invalid curve"); - assert(this.g.mul(this.n).isInfinity(), "Invalid curve, G*N != O"); - } - curves.PresetCurve = PresetCurve; - function defineCurve(name, options) { - Object.defineProperty(curves, name, { - configurable: true, - enumerable: true, - get: function() { - var curve2 = new PresetCurve(options); - Object.defineProperty(curves, name, { - configurable: true, - enumerable: true, - value: curve2 - }); - return curve2; - } - }); - } - defineCurve("p192", { - type: "short", - prime: "p192", - p: "ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff", - a: "ffffffff ffffffff ffffffff fffffffe ffffffff fffffffc", - b: "64210519 e59c80e7 0fa7e9ab 72243049 feb8deec c146b9b1", - n: "ffffffff ffffffff ffffffff 99def836 146bc9b1 b4d22831", - hash: hash.sha256, - gRed: false, - g: [ - "188da80e b03090f6 7cbf20eb 43a18800 f4ff0afd 82ff1012", - "07192b95 ffc8da78 631011ed 6b24cdd5 73f977a1 1e794811" - ] - }); - defineCurve("p224", { - type: "short", - prime: "p224", - p: "ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001", - a: "ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff fffffffe", - b: "b4050a85 0c04b3ab f5413256 5044b0b7 d7bfd8ba 270b3943 2355ffb4", - n: "ffffffff ffffffff ffffffff ffff16a2 e0b8f03e 13dd2945 5c5c2a3d", - hash: hash.sha256, - gRed: false, - g: [ - "b70e0cbd 6bb4bf7f 321390b9 4a03c1d3 56c21122 343280d6 115c1d21", - "bd376388 b5f723fb 4c22dfe6 cd4375a0 5a074764 44d58199 85007e34" - ] - }); - defineCurve("p256", { - type: "short", - prime: null, - p: "ffffffff 00000001 00000000 00000000 00000000 ffffffff ffffffff ffffffff", - a: "ffffffff 00000001 00000000 00000000 00000000 ffffffff ffffffff fffffffc", - b: "5ac635d8 aa3a93e7 b3ebbd55 769886bc 651d06b0 cc53b0f6 3bce3c3e 27d2604b", - n: "ffffffff 00000000 ffffffff ffffffff bce6faad a7179e84 f3b9cac2 fc632551", - hash: hash.sha256, - gRed: false, - g: [ - "6b17d1f2 e12c4247 f8bce6e5 63a440f2 77037d81 2deb33a0 f4a13945 d898c296", - "4fe342e2 fe1a7f9b 8ee7eb4a 7c0f9e16 2bce3357 6b315ece cbb64068 37bf51f5" - ] - }); - defineCurve("p384", { - type: "short", - prime: null, - p: "ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe ffffffff 00000000 00000000 ffffffff", - a: "ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe ffffffff 00000000 00000000 fffffffc", - b: "b3312fa7 e23ee7e4 988e056b e3f82d19 181d9c6e fe814112 0314088f 5013875a c656398d 8a2ed19d 2a85c8ed d3ec2aef", - n: "ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff c7634d81 f4372ddf 581a0db2 48b0a77a ecec196a ccc52973", - hash: hash.sha384, - gRed: false, - g: [ - "aa87ca22 be8b0537 8eb1c71e f320ad74 6e1d3b62 8ba79b98 59f741e0 82542a38 5502f25d bf55296c 3a545e38 72760ab7", - "3617de4a 96262c6f 5d9e98bf 9292dc29 f8f41dbd 289a147c e9da3113 b5f0b8c0 0a60b1ce 1d7e819d 7a431d7c 90ea0e5f" - ] - }); - defineCurve("p521", { - type: "short", - prime: null, - p: "000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff", - a: "000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffc", - b: "00000051 953eb961 8e1c9a1f 929a21a0 b68540ee a2da725b 99b315f3 b8b48991 8ef109e1 56193951 ec7e937b 1652c0bd 3bb1bf07 3573df88 3d2c34f1 ef451fd4 6b503f00", - n: "000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffa 51868783 bf2f966b 7fcc0148 f709a5d0 3bb5c9b8 899c47ae bb6fb71e 91386409", - hash: hash.sha512, - gRed: false, - g: [ - "000000c6 858e06b7 0404e9cd 9e3ecb66 2395b442 9c648139 053fb521 f828af60 6b4d3dba a14b5e77 efe75928 fe1dc127 a2ffa8de 3348b3c1 856a429b f97e7e31 c2e5bd66", - "00000118 39296a78 9a3bc004 5c8a5fb4 2c7d1bd9 98f54449 579b4468 17afbd17 273e662c 97ee7299 5ef42640 c550b901 3fad0761 353c7086 a272c240 88be9476 9fd16650" - ] - }); - defineCurve("curve25519", { - type: "mont", - prime: "p25519", - p: "7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed", - a: "76d06", - b: "1", - n: "1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed", - hash: hash.sha256, - gRed: false, - g: [ - "9" - ] - }); - defineCurve("ed25519", { - type: "edwards", - prime: "p25519", - p: "7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed", - a: "-1", - c: "1", - // -121665 * (121666^(-1)) (mod P) - d: "52036cee2b6ffe73 8cc740797779e898 00700a4d4141d8ab 75eb4dca135978a3", - n: "1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed", - hash: hash.sha256, - gRed: false, - g: [ - "216936d3cd6e53fec0a4e231fdd6dc5c692cc7609525a7b2c9562d608f25d51a", - // 4/5 - "6666666666666666666666666666666666666666666666666666666666666658" - ] - }); - var pre; - try { - pre = require_secp256k1(); - } catch (e) { - pre = void 0; - } - defineCurve("secp256k1", { - type: "short", - prime: "k256", - p: "ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f", - a: "0", - b: "7", - n: "ffffffff ffffffff ffffffff fffffffe baaedce6 af48a03b bfd25e8c d0364141", - h: "1", - hash: hash.sha256, - // Precomputed endomorphism - beta: "7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee", - lambda: "5363ad4cc05c30e0a5261c028812645a122e22ea20816678df02967c1b23bd72", - basis: [ - { - a: "3086d221a7d46bcde86c90e49284eb15", - b: "-e4437ed6010e88286f547fa90abfe4c3" - }, - { - a: "114ca50f7a8e2f3f657c1108d9d44cfd8", - b: "3086d221a7d46bcde86c90e49284eb15" - } - ], - gRed: false, - g: [ - "79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798", - "483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8", - pre - ] - }); - } -}); - -// node_modules/hmac-drbg/lib/hmac-drbg.js -var require_hmac_drbg = __commonJS({ - "node_modules/hmac-drbg/lib/hmac-drbg.js"(exports2, module2) { - "use strict"; - var hash = require_hash(); - var utils = require_utils2(); - var assert = require_minimalistic_assert(); - function HmacDRBG(options) { - if (!(this instanceof HmacDRBG)) - return new HmacDRBG(options); - this.hash = options.hash; - this.predResist = !!options.predResist; - this.outLen = this.hash.outSize; - this.minEntropy = options.minEntropy || this.hash.hmacStrength; - this._reseed = null; - this.reseedInterval = null; - this.K = null; - this.V = null; - var entropy = utils.toArray(options.entropy, options.entropyEnc || "hex"); - var nonce = utils.toArray(options.nonce, options.nonceEnc || "hex"); - var pers = utils.toArray(options.pers, options.persEnc || "hex"); - assert( - entropy.length >= this.minEntropy / 8, - "Not enough entropy. Minimum is: " + this.minEntropy + " bits" - ); - this._init(entropy, nonce, pers); - } - module2.exports = HmacDRBG; - HmacDRBG.prototype._init = function init(entropy, nonce, pers) { - var seed = entropy.concat(nonce).concat(pers); - this.K = new Array(this.outLen / 8); - this.V = new Array(this.outLen / 8); - for (var i = 0; i < this.V.length; i++) { - this.K[i] = 0; - this.V[i] = 1; - } - this._update(seed); - this._reseed = 1; - this.reseedInterval = 281474976710656; - }; - HmacDRBG.prototype._hmac = function hmac() { - return new hash.hmac(this.hash, this.K); - }; - HmacDRBG.prototype._update = function update(seed) { - var kmac = this._hmac().update(this.V).update([0]); - if (seed) - kmac = kmac.update(seed); - this.K = kmac.digest(); - this.V = this._hmac().update(this.V).digest(); - if (!seed) - return; - this.K = this._hmac().update(this.V).update([1]).update(seed).digest(); - this.V = this._hmac().update(this.V).digest(); - }; - HmacDRBG.prototype.reseed = function reseed(entropy, entropyEnc, add, addEnc) { - if (typeof entropyEnc !== "string") { - addEnc = add; - add = entropyEnc; - entropyEnc = null; - } - entropy = utils.toArray(entropy, entropyEnc); - add = utils.toArray(add, addEnc); - assert( - entropy.length >= this.minEntropy / 8, - "Not enough entropy. Minimum is: " + this.minEntropy + " bits" - ); - this._update(entropy.concat(add || [])); - this._reseed = 1; - }; - HmacDRBG.prototype.generate = function generate(len, enc, add, addEnc) { - if (this._reseed > this.reseedInterval) - throw new Error("Reseed is required"); - if (typeof enc !== "string") { - addEnc = add; - add = enc; - enc = null; - } - if (add) { - add = utils.toArray(add, addEnc || "hex"); - this._update(add); - } - var temp = []; - while (temp.length < len) { - this.V = this._hmac().update(this.V).digest(); - temp = temp.concat(this.V); - } - var res = temp.slice(0, len); - this._update(add); - this._reseed++; - return utils.encode(res, enc); - }; - } -}); - -// node_modules/elliptic/lib/elliptic/ec/key.js -var require_key = __commonJS({ - "node_modules/elliptic/lib/elliptic/ec/key.js"(exports2, module2) { - "use strict"; - var BN = require_bn2(); - var utils = require_utils3(); - var assert = utils.assert; - function KeyPair(ec, options) { - this.ec = ec; - this.priv = null; - this.pub = null; - if (options.priv) - this._importPrivate(options.priv, options.privEnc); - if (options.pub) - this._importPublic(options.pub, options.pubEnc); - } - module2.exports = KeyPair; - KeyPair.fromPublic = function fromPublic(ec, pub, enc) { - if (pub instanceof KeyPair) - return pub; - return new KeyPair(ec, { - pub, - pubEnc: enc - }); - }; - KeyPair.fromPrivate = function fromPrivate(ec, priv, enc) { - if (priv instanceof KeyPair) - return priv; - return new KeyPair(ec, { - priv, - privEnc: enc - }); - }; - KeyPair.prototype.validate = function validate() { - var pub = this.getPublic(); - if (pub.isInfinity()) - return { result: false, reason: "Invalid public key" }; - if (!pub.validate()) - return { result: false, reason: "Public key is not a point" }; - if (!pub.mul(this.ec.curve.n).isInfinity()) - return { result: false, reason: "Public key * N != O" }; - return { result: true, reason: null }; - }; - KeyPair.prototype.getPublic = function getPublic(compact, enc) { - if (typeof compact === "string") { - enc = compact; - compact = null; - } - if (!this.pub) - this.pub = this.ec.g.mul(this.priv); - if (!enc) - return this.pub; - return this.pub.encode(enc, compact); - }; - KeyPair.prototype.getPrivate = function getPrivate(enc) { - if (enc === "hex") - return this.priv.toString(16, 2); - else - return this.priv; - }; - KeyPair.prototype._importPrivate = function _importPrivate(key, enc) { - this.priv = new BN(key, enc || 16); - this.priv = this.priv.umod(this.ec.curve.n); - }; - KeyPair.prototype._importPublic = function _importPublic(key, enc) { - if (key.x || key.y) { - if (this.ec.curve.type === "mont") { - assert(key.x, "Need x coordinate"); - } else if (this.ec.curve.type === "short" || this.ec.curve.type === "edwards") { - assert(key.x && key.y, "Need both x and y coordinate"); - } - this.pub = this.ec.curve.point(key.x, key.y); - return; - } - this.pub = this.ec.curve.decodePoint(key, enc); - }; - KeyPair.prototype.derive = function derive(pub) { - if (!pub.validate()) { - assert(pub.validate(), "public point not validated"); - } - return pub.mul(this.priv).getX(); - }; - KeyPair.prototype.sign = function sign(msg, enc, options) { - return this.ec.sign(msg, this, enc, options); - }; - KeyPair.prototype.verify = function verify(msg, signature) { - return this.ec.verify(msg, signature, this); - }; - KeyPair.prototype.inspect = function inspect() { - return ""; - }; - } -}); - -// node_modules/elliptic/lib/elliptic/ec/signature.js -var require_signature = __commonJS({ - "node_modules/elliptic/lib/elliptic/ec/signature.js"(exports2, module2) { - "use strict"; - var BN = require_bn2(); - var utils = require_utils3(); - var assert = utils.assert; - function Signature(options, enc) { - if (options instanceof Signature) - return options; - if (this._importDER(options, enc)) - return; - assert(options.r && options.s, "Signature without r or s"); - this.r = new BN(options.r, 16); - this.s = new BN(options.s, 16); - if (options.recoveryParam === void 0) - this.recoveryParam = null; - else - this.recoveryParam = options.recoveryParam; - } - module2.exports = Signature; - function Position() { - this.place = 0; - } - function getLength(buf, p) { - var initial = buf[p.place++]; - if (!(initial & 128)) { - return initial; - } - var octetLen = initial & 15; - if (octetLen === 0 || octetLen > 4) { - return false; - } - var val = 0; - for (var i = 0, off = p.place; i < octetLen; i++, off++) { - val <<= 8; - val |= buf[off]; - val >>>= 0; - } - if (val <= 127) { - return false; - } - p.place = off; - return val; - } - function rmPadding(buf) { - var i = 0; - var len = buf.length - 1; - while (!buf[i] && !(buf[i + 1] & 128) && i < len) { - i++; - } - if (i === 0) { - return buf; - } - return buf.slice(i); - } - Signature.prototype._importDER = function _importDER(data, enc) { - data = utils.toArray(data, enc); - var p = new Position(); - if (data[p.place++] !== 48) { - return false; - } - var len = getLength(data, p); - if (len === false) { - return false; - } - if (len + p.place !== data.length) { - return false; - } - if (data[p.place++] !== 2) { - return false; - } - var rlen = getLength(data, p); - if (rlen === false) { - return false; - } - var r = data.slice(p.place, rlen + p.place); - p.place += rlen; - if (data[p.place++] !== 2) { - return false; - } - var slen = getLength(data, p); - if (slen === false) { - return false; - } - if (data.length !== slen + p.place) { - return false; - } - var s = data.slice(p.place, slen + p.place); - if (r[0] === 0) { - if (r[1] & 128) { - r = r.slice(1); - } else { - return false; - } - } - if (s[0] === 0) { - if (s[1] & 128) { - s = s.slice(1); - } else { - return false; - } - } - this.r = new BN(r); - this.s = new BN(s); - this.recoveryParam = null; - return true; - }; - function constructLength(arr, len) { - if (len < 128) { - arr.push(len); - return; - } - var octets = 1 + (Math.log(len) / Math.LN2 >>> 3); - arr.push(octets | 128); - while (--octets) { - arr.push(len >>> (octets << 3) & 255); - } - arr.push(len); - } - Signature.prototype.toDER = function toDER(enc) { - var r = this.r.toArray(); - var s = this.s.toArray(); - if (r[0] & 128) - r = [0].concat(r); - if (s[0] & 128) - s = [0].concat(s); - r = rmPadding(r); - s = rmPadding(s); - while (!s[0] && !(s[1] & 128)) { - s = s.slice(1); - } - var arr = [2]; - constructLength(arr, r.length); - arr = arr.concat(r); - arr.push(2); - constructLength(arr, s.length); - var backHalf = arr.concat(s); - var res = [48]; - constructLength(res, backHalf.length); - res = res.concat(backHalf); - return utils.encode(res, enc); - }; - } -}); - -// node_modules/elliptic/lib/elliptic/ec/index.js -var require_ec = __commonJS({ - "node_modules/elliptic/lib/elliptic/ec/index.js"(exports2, module2) { - "use strict"; - var BN = require_bn2(); - var HmacDRBG = require_hmac_drbg(); - var utils = require_utils3(); - var curves = require_curves(); - var rand = require_brorand(); - var assert = utils.assert; - var KeyPair = require_key(); - var Signature = require_signature(); - function EC(options) { - if (!(this instanceof EC)) - return new EC(options); - if (typeof options === "string") { - assert( - Object.prototype.hasOwnProperty.call(curves, options), - "Unknown curve " + options - ); - options = curves[options]; - } - if (options instanceof curves.PresetCurve) - options = { curve: options }; - this.curve = options.curve.curve; - this.n = this.curve.n; - this.nh = this.n.ushrn(1); - this.g = this.curve.g; - this.g = options.curve.g; - this.g.precompute(options.curve.n.bitLength() + 1); - this.hash = options.hash || options.curve.hash; - } - module2.exports = EC; - EC.prototype.keyPair = function keyPair(options) { - return new KeyPair(this, options); - }; - EC.prototype.keyFromPrivate = function keyFromPrivate(priv, enc) { - return KeyPair.fromPrivate(this, priv, enc); - }; - EC.prototype.keyFromPublic = function keyFromPublic(pub, enc) { - return KeyPair.fromPublic(this, pub, enc); - }; - EC.prototype.genKeyPair = function genKeyPair(options) { - if (!options) - options = {}; - var drbg = new HmacDRBG({ - hash: this.hash, - pers: options.pers, - persEnc: options.persEnc || "utf8", - entropy: options.entropy || rand(this.hash.hmacStrength), - entropyEnc: options.entropy && options.entropyEnc || "utf8", - nonce: this.n.toArray() - }); - var bytes = this.n.byteLength(); - var ns2 = this.n.sub(new BN(2)); - for (; ; ) { - var priv = new BN(drbg.generate(bytes)); - if (priv.cmp(ns2) > 0) - continue; - priv.iaddn(1); - return this.keyFromPrivate(priv); - } - }; - EC.prototype._truncateToN = function _truncateToN(msg, truncOnly) { - var delta = msg.byteLength() * 8 - this.n.bitLength(); - if (delta > 0) - msg = msg.ushrn(delta); - if (!truncOnly && msg.cmp(this.n) >= 0) - return msg.sub(this.n); - else - return msg; - }; - EC.prototype.sign = function sign(msg, key, enc, options) { - if (typeof enc === "object") { - options = enc; - enc = null; - } - if (!options) - options = {}; - key = this.keyFromPrivate(key, enc); - msg = this._truncateToN(new BN(msg, 16)); - var bytes = this.n.byteLength(); - var bkey = key.getPrivate().toArray("be", bytes); - var nonce = msg.toArray("be", bytes); - var drbg = new HmacDRBG({ - hash: this.hash, - entropy: bkey, - nonce, - pers: options.pers, - persEnc: options.persEnc || "utf8" - }); - var ns1 = this.n.sub(new BN(1)); - for (var iter = 0; ; iter++) { - var k = options.k ? options.k(iter) : new BN(drbg.generate(this.n.byteLength())); - k = this._truncateToN(k, true); - if (k.cmpn(1) <= 0 || k.cmp(ns1) >= 0) - continue; - var kp = this.g.mul(k); - if (kp.isInfinity()) - continue; - var kpX = kp.getX(); - var r = kpX.umod(this.n); - if (r.cmpn(0) === 0) - continue; - var s = k.invm(this.n).mul(r.mul(key.getPrivate()).iadd(msg)); - s = s.umod(this.n); - if (s.cmpn(0) === 0) - continue; - var recoveryParam = (kp.getY().isOdd() ? 1 : 0) | (kpX.cmp(r) !== 0 ? 2 : 0); - if (options.canonical && s.cmp(this.nh) > 0) { - s = this.n.sub(s); - recoveryParam ^= 1; - } - return new Signature({ r, s, recoveryParam }); - } - }; - EC.prototype.verify = function verify(msg, signature, key, enc) { - msg = this._truncateToN(new BN(msg, 16)); - key = this.keyFromPublic(key, enc); - signature = new Signature(signature, "hex"); - var r = signature.r; - var s = signature.s; - if (r.cmpn(1) < 0 || r.cmp(this.n) >= 0) - return false; - if (s.cmpn(1) < 0 || s.cmp(this.n) >= 0) - return false; - var sinv = s.invm(this.n); - var u1 = sinv.mul(msg).umod(this.n); - var u2 = sinv.mul(r).umod(this.n); - var p; - if (!this.curve._maxwellTrick) { - p = this.g.mulAdd(u1, key.getPublic(), u2); - if (p.isInfinity()) - return false; - return p.getX().umod(this.n).cmp(r) === 0; - } - p = this.g.jmulAdd(u1, key.getPublic(), u2); - if (p.isInfinity()) - return false; - return p.eqXToP(r); - }; - EC.prototype.recoverPubKey = function(msg, signature, j, enc) { - assert((3 & j) === j, "The recovery param is more than two bits"); - signature = new Signature(signature, enc); - var n = this.n; - var e = new BN(msg); - var r = signature.r; - var s = signature.s; - var isYOdd = j & 1; - var isSecondKey = j >> 1; - if (r.cmp(this.curve.p.umod(this.curve.n)) >= 0 && isSecondKey) - throw new Error("Unable to find sencond key candinate"); - if (isSecondKey) - r = this.curve.pointFromX(r.add(this.curve.n), isYOdd); - else - r = this.curve.pointFromX(r, isYOdd); - var rInv = signature.r.invm(n); - var s1 = n.sub(e).mul(rInv).umod(n); - var s2 = s.mul(rInv).umod(n); - return this.g.mulAdd(s1, r, s2); - }; - EC.prototype.getKeyRecoveryParam = function(e, signature, Q, enc) { - signature = new Signature(signature, enc); - if (signature.recoveryParam !== null) - return signature.recoveryParam; - for (var i = 0; i < 4; i++) { - var Qprime; - try { - Qprime = this.recoverPubKey(e, signature, i); - } catch (e2) { - continue; - } - if (Qprime.eq(Q)) - return i; - } - throw new Error("Unable to find valid recovery factor"); - }; - } -}); - -// node_modules/elliptic/lib/elliptic/eddsa/key.js -var require_key2 = __commonJS({ - "node_modules/elliptic/lib/elliptic/eddsa/key.js"(exports2, module2) { - "use strict"; - var utils = require_utils3(); - var assert = utils.assert; - var parseBytes = utils.parseBytes; - var cachedProperty = utils.cachedProperty; - function KeyPair(eddsa, params) { - this.eddsa = eddsa; - this._secret = parseBytes(params.secret); - if (eddsa.isPoint(params.pub)) - this._pub = params.pub; - else - this._pubBytes = parseBytes(params.pub); - } - KeyPair.fromPublic = function fromPublic(eddsa, pub) { - if (pub instanceof KeyPair) - return pub; - return new KeyPair(eddsa, { pub }); - }; - KeyPair.fromSecret = function fromSecret(eddsa, secret) { - if (secret instanceof KeyPair) - return secret; - return new KeyPair(eddsa, { secret }); - }; - KeyPair.prototype.secret = function secret() { - return this._secret; - }; - cachedProperty(KeyPair, "pubBytes", function pubBytes() { - return this.eddsa.encodePoint(this.pub()); - }); - cachedProperty(KeyPair, "pub", function pub() { - if (this._pubBytes) - return this.eddsa.decodePoint(this._pubBytes); - return this.eddsa.g.mul(this.priv()); - }); - cachedProperty(KeyPair, "privBytes", function privBytes() { - var eddsa = this.eddsa; - var hash = this.hash(); - var lastIx = eddsa.encodingLength - 1; - var a = hash.slice(0, eddsa.encodingLength); - a[0] &= 248; - a[lastIx] &= 127; - a[lastIx] |= 64; - return a; - }); - cachedProperty(KeyPair, "priv", function priv() { - return this.eddsa.decodeInt(this.privBytes()); - }); - cachedProperty(KeyPair, "hash", function hash() { - return this.eddsa.hash().update(this.secret()).digest(); - }); - cachedProperty(KeyPair, "messagePrefix", function messagePrefix() { - return this.hash().slice(this.eddsa.encodingLength); - }); - KeyPair.prototype.sign = function sign(message) { - assert(this._secret, "KeyPair can only verify"); - return this.eddsa.sign(message, this); - }; - KeyPair.prototype.verify = function verify(message, sig) { - return this.eddsa.verify(message, sig, this); - }; - KeyPair.prototype.getSecret = function getSecret(enc) { - assert(this._secret, "KeyPair is public only"); - return utils.encode(this.secret(), enc); - }; - KeyPair.prototype.getPublic = function getPublic(enc) { - return utils.encode(this.pubBytes(), enc); - }; - module2.exports = KeyPair; - } -}); - -// node_modules/elliptic/lib/elliptic/eddsa/signature.js -var require_signature2 = __commonJS({ - "node_modules/elliptic/lib/elliptic/eddsa/signature.js"(exports2, module2) { - "use strict"; - var BN = require_bn2(); - var utils = require_utils3(); - var assert = utils.assert; - var cachedProperty = utils.cachedProperty; - var parseBytes = utils.parseBytes; - function Signature(eddsa, sig) { - this.eddsa = eddsa; - if (typeof sig !== "object") - sig = parseBytes(sig); - if (Array.isArray(sig)) { - sig = { - R: sig.slice(0, eddsa.encodingLength), - S: sig.slice(eddsa.encodingLength) - }; - } - assert(sig.R && sig.S, "Signature without R or S"); - if (eddsa.isPoint(sig.R)) - this._R = sig.R; - if (sig.S instanceof BN) - this._S = sig.S; - this._Rencoded = Array.isArray(sig.R) ? sig.R : sig.Rencoded; - this._Sencoded = Array.isArray(sig.S) ? sig.S : sig.Sencoded; - } - cachedProperty(Signature, "S", function S() { - return this.eddsa.decodeInt(this.Sencoded()); - }); - cachedProperty(Signature, "R", function R() { - return this.eddsa.decodePoint(this.Rencoded()); - }); - cachedProperty(Signature, "Rencoded", function Rencoded() { - return this.eddsa.encodePoint(this.R()); - }); - cachedProperty(Signature, "Sencoded", function Sencoded() { - return this.eddsa.encodeInt(this.S()); - }); - Signature.prototype.toBytes = function toBytes() { - return this.Rencoded().concat(this.Sencoded()); - }; - Signature.prototype.toHex = function toHex() { - return utils.encode(this.toBytes(), "hex").toUpperCase(); - }; - module2.exports = Signature; - } -}); - -// node_modules/elliptic/lib/elliptic/eddsa/index.js -var require_eddsa = __commonJS({ - "node_modules/elliptic/lib/elliptic/eddsa/index.js"(exports2, module2) { - "use strict"; - var hash = require_hash(); - var curves = require_curves(); - var utils = require_utils3(); - var assert = utils.assert; - var parseBytes = utils.parseBytes; - var KeyPair = require_key2(); - var Signature = require_signature2(); - function EDDSA(curve) { - assert(curve === "ed25519", "only tested with ed25519 so far"); - if (!(this instanceof EDDSA)) - return new EDDSA(curve); - curve = curves[curve].curve; - this.curve = curve; - this.g = curve.g; - this.g.precompute(curve.n.bitLength() + 1); - this.pointClass = curve.point().constructor; - this.encodingLength = Math.ceil(curve.n.bitLength() / 8); - this.hash = hash.sha512; - } - module2.exports = EDDSA; - EDDSA.prototype.sign = function sign(message, secret) { - message = parseBytes(message); - var key = this.keyFromSecret(secret); - var r = this.hashInt(key.messagePrefix(), message); - var R = this.g.mul(r); - var Rencoded = this.encodePoint(R); - var s_ = this.hashInt(Rencoded, key.pubBytes(), message).mul(key.priv()); - var S = r.add(s_).umod(this.curve.n); - return this.makeSignature({ R, S, Rencoded }); - }; - EDDSA.prototype.verify = function verify(message, sig, pub) { - message = parseBytes(message); - sig = this.makeSignature(sig); - var key = this.keyFromPublic(pub); - var h = this.hashInt(sig.Rencoded(), key.pubBytes(), message); - var SG = this.g.mul(sig.S()); - var RplusAh = sig.R().add(key.pub().mul(h)); - return RplusAh.eq(SG); - }; - EDDSA.prototype.hashInt = function hashInt() { - var hash2 = this.hash(); - for (var i = 0; i < arguments.length; i++) - hash2.update(arguments[i]); - return utils.intFromLE(hash2.digest()).umod(this.curve.n); - }; - EDDSA.prototype.keyFromPublic = function keyFromPublic(pub) { - return KeyPair.fromPublic(this, pub); - }; - EDDSA.prototype.keyFromSecret = function keyFromSecret(secret) { - return KeyPair.fromSecret(this, secret); - }; - EDDSA.prototype.makeSignature = function makeSignature(sig) { - if (sig instanceof Signature) - return sig; - return new Signature(this, sig); - }; - EDDSA.prototype.encodePoint = function encodePoint(point) { - var enc = point.getY().toArray("le", this.encodingLength); - enc[this.encodingLength - 1] |= point.getX().isOdd() ? 128 : 0; - return enc; - }; - EDDSA.prototype.decodePoint = function decodePoint(bytes) { - bytes = utils.parseBytes(bytes); - var lastIx = bytes.length - 1; - var normed = bytes.slice(0, lastIx).concat(bytes[lastIx] & ~128); - var xIsOdd = (bytes[lastIx] & 128) !== 0; - var y = utils.intFromLE(normed); - return this.curve.pointFromY(y, xIsOdd); - }; - EDDSA.prototype.encodeInt = function encodeInt(num) { - return num.toArray("le", this.encodingLength); - }; - EDDSA.prototype.decodeInt = function decodeInt(bytes) { - return utils.intFromLE(bytes); - }; - EDDSA.prototype.isPoint = function isPoint(val) { - return val instanceof this.pointClass; - }; - } -}); - -// node_modules/elliptic/lib/elliptic.js -var require_elliptic = __commonJS({ - "node_modules/elliptic/lib/elliptic.js"(exports2) { - "use strict"; - var elliptic = exports2; - elliptic.version = require_package().version; - elliptic.utils = require_utils3(); - elliptic.rand = require_brorand(); - elliptic.curve = require_curve(); - elliptic.curves = require_curves(); - elliptic.ec = require_ec(); - elliptic.eddsa = require_eddsa(); - } -}); - -// node_modules/@ethersproject/signing-key/lib/elliptic.js -var require_elliptic2 = __commonJS({ - "node_modules/@ethersproject/signing-key/lib/elliptic.js"(exports2) { - "use strict"; - var __importDefault = exports2 && exports2.__importDefault || function(mod) { - return mod && mod.__esModule ? mod : { "default": mod }; - }; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.EC = void 0; - var elliptic_1 = __importDefault(require_elliptic()); - var EC = elliptic_1.default.ec; - exports2.EC = EC; - } -}); - -// node_modules/@ethersproject/signing-key/lib/_version.js -var require_version14 = __commonJS({ - "node_modules/@ethersproject/signing-key/lib/_version.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.version = void 0; - exports2.version = "signing-key/5.7.0"; - } -}); - -// node_modules/@ethersproject/signing-key/lib/index.js -var require_lib18 = __commonJS({ - "node_modules/@ethersproject/signing-key/lib/index.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.computePublicKey = exports2.recoverPublicKey = exports2.SigningKey = void 0; - var elliptic_1 = require_elliptic2(); - var bytes_1 = require_lib2(); - var properties_1 = require_lib4(); - var logger_1 = require_lib(); - var _version_1 = require_version14(); - var logger = new logger_1.Logger(_version_1.version); - var _curve = null; - function getCurve() { - if (!_curve) { - _curve = new elliptic_1.EC("secp256k1"); - } - return _curve; - } - var SigningKey = ( - /** @class */ - function() { - function SigningKey2(privateKey) { - (0, properties_1.defineReadOnly)(this, "curve", "secp256k1"); - (0, properties_1.defineReadOnly)(this, "privateKey", (0, bytes_1.hexlify)(privateKey)); - if ((0, bytes_1.hexDataLength)(this.privateKey) !== 32) { - logger.throwArgumentError("invalid private key", "privateKey", "[[ REDACTED ]]"); - } - var keyPair = getCurve().keyFromPrivate((0, bytes_1.arrayify)(this.privateKey)); - (0, properties_1.defineReadOnly)(this, "publicKey", "0x" + keyPair.getPublic(false, "hex")); - (0, properties_1.defineReadOnly)(this, "compressedPublicKey", "0x" + keyPair.getPublic(true, "hex")); - (0, properties_1.defineReadOnly)(this, "_isSigningKey", true); - } - SigningKey2.prototype._addPoint = function(other) { - var p0 = getCurve().keyFromPublic((0, bytes_1.arrayify)(this.publicKey)); - var p1 = getCurve().keyFromPublic((0, bytes_1.arrayify)(other)); - return "0x" + p0.pub.add(p1.pub).encodeCompressed("hex"); - }; - SigningKey2.prototype.signDigest = function(digest) { - var keyPair = getCurve().keyFromPrivate((0, bytes_1.arrayify)(this.privateKey)); - var digestBytes = (0, bytes_1.arrayify)(digest); - if (digestBytes.length !== 32) { - logger.throwArgumentError("bad digest length", "digest", digest); - } - var signature = keyPair.sign(digestBytes, { canonical: true }); - return (0, bytes_1.splitSignature)({ - recoveryParam: signature.recoveryParam, - r: (0, bytes_1.hexZeroPad)("0x" + signature.r.toString(16), 32), - s: (0, bytes_1.hexZeroPad)("0x" + signature.s.toString(16), 32) - }); - }; - SigningKey2.prototype.computeSharedSecret = function(otherKey) { - var keyPair = getCurve().keyFromPrivate((0, bytes_1.arrayify)(this.privateKey)); - var otherKeyPair = getCurve().keyFromPublic((0, bytes_1.arrayify)(computePublicKey(otherKey))); - return (0, bytes_1.hexZeroPad)("0x" + keyPair.derive(otherKeyPair.getPublic()).toString(16), 32); - }; - SigningKey2.isSigningKey = function(value) { - return !!(value && value._isSigningKey); - }; - return SigningKey2; - }() - ); - exports2.SigningKey = SigningKey; - function recoverPublicKey(digest, signature) { - var sig = (0, bytes_1.splitSignature)(signature); - var rs = { r: (0, bytes_1.arrayify)(sig.r), s: (0, bytes_1.arrayify)(sig.s) }; - return "0x" + getCurve().recoverPubKey((0, bytes_1.arrayify)(digest), rs, sig.recoveryParam).encode("hex", false); - } - exports2.recoverPublicKey = recoverPublicKey; - function computePublicKey(key, compressed) { - var bytes = (0, bytes_1.arrayify)(key); - if (bytes.length === 32) { - var signingKey = new SigningKey(bytes); - if (compressed) { - return "0x" + getCurve().keyFromPrivate(bytes).getPublic(true, "hex"); - } - return signingKey.publicKey; - } else if (bytes.length === 33) { - if (compressed) { - return (0, bytes_1.hexlify)(bytes); - } - return "0x" + getCurve().keyFromPublic(bytes).getPublic(false, "hex"); - } else if (bytes.length === 65) { - if (!compressed) { - return (0, bytes_1.hexlify)(bytes); - } - return "0x" + getCurve().keyFromPublic(bytes).getPublic(true, "hex"); - } - return logger.throwArgumentError("invalid public or private key", "key", "[REDACTED]"); - } - exports2.computePublicKey = computePublicKey; - } -}); - -// node_modules/@ethersproject/transactions/lib/_version.js -var require_version15 = __commonJS({ - "node_modules/@ethersproject/transactions/lib/_version.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.version = void 0; - exports2.version = "transactions/5.7.0"; - } -}); - -// node_modules/@ethersproject/transactions/lib/index.js -var require_lib19 = __commonJS({ - "node_modules/@ethersproject/transactions/lib/index.js"(exports2) { - "use strict"; - var __createBinding = exports2 && exports2.__createBinding || (Object.create ? function(o, m, k, k2) { - if (k2 === void 0) - k2 = k; - Object.defineProperty(o, k2, { enumerable: true, get: function() { - return m[k]; - } }); - } : function(o, m, k, k2) { - if (k2 === void 0) - k2 = k; - o[k2] = m[k]; - }); - var __setModuleDefault = exports2 && exports2.__setModuleDefault || (Object.create ? function(o, v) { - Object.defineProperty(o, "default", { enumerable: true, value: v }); - } : function(o, v) { - o["default"] = v; - }); - var __importStar = exports2 && exports2.__importStar || function(mod) { - if (mod && mod.__esModule) - return mod; - var result = {}; - if (mod != null) { - for (var k in mod) - if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) - __createBinding(result, mod, k); - } - __setModuleDefault(result, mod); - return result; - }; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.parse = exports2.serialize = exports2.accessListify = exports2.recoverAddress = exports2.computeAddress = exports2.TransactionTypes = void 0; - var address_1 = require_lib14(); - var bignumber_1 = require_lib3(); - var bytes_1 = require_lib2(); - var constants_1 = require_lib9(); - var keccak256_1 = require_lib10(); - var properties_1 = require_lib4(); - var RLP = __importStar(require_lib13()); - var signing_key_1 = require_lib18(); - var logger_1 = require_lib(); - var _version_1 = require_version15(); - var logger = new logger_1.Logger(_version_1.version); - var TransactionTypes; - (function(TransactionTypes2) { - TransactionTypes2[TransactionTypes2["legacy"] = 0] = "legacy"; - TransactionTypes2[TransactionTypes2["eip2930"] = 1] = "eip2930"; - TransactionTypes2[TransactionTypes2["eip1559"] = 2] = "eip1559"; - })(TransactionTypes = exports2.TransactionTypes || (exports2.TransactionTypes = {})); - function handleAddress(value) { - if (value === "0x") { - return null; - } - return (0, address_1.getAddress)(value); - } - function handleNumber(value) { - if (value === "0x") { - return constants_1.Zero; - } - return bignumber_1.BigNumber.from(value); - } - var transactionFields = [ - { name: "nonce", maxLength: 32, numeric: true }, - { name: "gasPrice", maxLength: 32, numeric: true }, - { name: "gasLimit", maxLength: 32, numeric: true }, - { name: "to", length: 20 }, - { name: "value", maxLength: 32, numeric: true }, - { name: "data" } - ]; - var allowedTransactionKeys = { - chainId: true, - data: true, - gasLimit: true, - gasPrice: true, - nonce: true, - to: true, - type: true, - value: true - }; - function computeAddress(key) { - var publicKey = (0, signing_key_1.computePublicKey)(key); - return (0, address_1.getAddress)((0, bytes_1.hexDataSlice)((0, keccak256_1.keccak256)((0, bytes_1.hexDataSlice)(publicKey, 1)), 12)); - } - exports2.computeAddress = computeAddress; - function recoverAddress(digest, signature) { - return computeAddress((0, signing_key_1.recoverPublicKey)((0, bytes_1.arrayify)(digest), signature)); - } - exports2.recoverAddress = recoverAddress; - function formatNumber(value, name) { - var result = (0, bytes_1.stripZeros)(bignumber_1.BigNumber.from(value).toHexString()); - if (result.length > 32) { - logger.throwArgumentError("invalid length for " + name, "transaction:" + name, value); - } - return result; - } - function accessSetify(addr, storageKeys) { - return { - address: (0, address_1.getAddress)(addr), - storageKeys: (storageKeys || []).map(function(storageKey, index) { - if ((0, bytes_1.hexDataLength)(storageKey) !== 32) { - logger.throwArgumentError("invalid access list storageKey", "accessList[" + addr + ":" + index + "]", storageKey); - } - return storageKey.toLowerCase(); - }) - }; - } - function accessListify(value) { - if (Array.isArray(value)) { - return value.map(function(set, index) { - if (Array.isArray(set)) { - if (set.length > 2) { - logger.throwArgumentError("access list expected to be [ address, storageKeys[] ]", "value[" + index + "]", set); - } - return accessSetify(set[0], set[1]); - } - return accessSetify(set.address, set.storageKeys); - }); - } - var result = Object.keys(value).map(function(addr) { - var storageKeys = value[addr].reduce(function(accum, storageKey) { - accum[storageKey] = true; - return accum; - }, {}); - return accessSetify(addr, Object.keys(storageKeys).sort()); - }); - result.sort(function(a, b) { - return a.address.localeCompare(b.address); - }); - return result; - } - exports2.accessListify = accessListify; - function formatAccessList(value) { - return accessListify(value).map(function(set) { - return [set.address, set.storageKeys]; - }); - } - function _serializeEip1559(transaction, signature) { - if (transaction.gasPrice != null) { - var gasPrice = bignumber_1.BigNumber.from(transaction.gasPrice); - var maxFeePerGas = bignumber_1.BigNumber.from(transaction.maxFeePerGas || 0); - if (!gasPrice.eq(maxFeePerGas)) { - logger.throwArgumentError("mismatch EIP-1559 gasPrice != maxFeePerGas", "tx", { - gasPrice, - maxFeePerGas - }); - } - } - var fields = [ - formatNumber(transaction.chainId || 0, "chainId"), - formatNumber(transaction.nonce || 0, "nonce"), - formatNumber(transaction.maxPriorityFeePerGas || 0, "maxPriorityFeePerGas"), - formatNumber(transaction.maxFeePerGas || 0, "maxFeePerGas"), - formatNumber(transaction.gasLimit || 0, "gasLimit"), - transaction.to != null ? (0, address_1.getAddress)(transaction.to) : "0x", - formatNumber(transaction.value || 0, "value"), - transaction.data || "0x", - formatAccessList(transaction.accessList || []) - ]; - if (signature) { - var sig = (0, bytes_1.splitSignature)(signature); - fields.push(formatNumber(sig.recoveryParam, "recoveryParam")); - fields.push((0, bytes_1.stripZeros)(sig.r)); - fields.push((0, bytes_1.stripZeros)(sig.s)); - } - return (0, bytes_1.hexConcat)(["0x02", RLP.encode(fields)]); - } - function _serializeEip2930(transaction, signature) { - var fields = [ - formatNumber(transaction.chainId || 0, "chainId"), - formatNumber(transaction.nonce || 0, "nonce"), - formatNumber(transaction.gasPrice || 0, "gasPrice"), - formatNumber(transaction.gasLimit || 0, "gasLimit"), - transaction.to != null ? (0, address_1.getAddress)(transaction.to) : "0x", - formatNumber(transaction.value || 0, "value"), - transaction.data || "0x", - formatAccessList(transaction.accessList || []) - ]; - if (signature) { - var sig = (0, bytes_1.splitSignature)(signature); - fields.push(formatNumber(sig.recoveryParam, "recoveryParam")); - fields.push((0, bytes_1.stripZeros)(sig.r)); - fields.push((0, bytes_1.stripZeros)(sig.s)); - } - return (0, bytes_1.hexConcat)(["0x01", RLP.encode(fields)]); - } - function _serialize(transaction, signature) { - (0, properties_1.checkProperties)(transaction, allowedTransactionKeys); - var raw = []; - transactionFields.forEach(function(fieldInfo) { - var value = transaction[fieldInfo.name] || []; - var options = {}; - if (fieldInfo.numeric) { - options.hexPad = "left"; - } - value = (0, bytes_1.arrayify)((0, bytes_1.hexlify)(value, options)); - if (fieldInfo.length && value.length !== fieldInfo.length && value.length > 0) { - logger.throwArgumentError("invalid length for " + fieldInfo.name, "transaction:" + fieldInfo.name, value); - } - if (fieldInfo.maxLength) { - value = (0, bytes_1.stripZeros)(value); - if (value.length > fieldInfo.maxLength) { - logger.throwArgumentError("invalid length for " + fieldInfo.name, "transaction:" + fieldInfo.name, value); - } - } - raw.push((0, bytes_1.hexlify)(value)); - }); - var chainId = 0; - if (transaction.chainId != null) { - chainId = transaction.chainId; - if (typeof chainId !== "number") { - logger.throwArgumentError("invalid transaction.chainId", "transaction", transaction); - } - } else if (signature && !(0, bytes_1.isBytesLike)(signature) && signature.v > 28) { - chainId = Math.floor((signature.v - 35) / 2); - } - if (chainId !== 0) { - raw.push((0, bytes_1.hexlify)(chainId)); - raw.push("0x"); - raw.push("0x"); - } - if (!signature) { - return RLP.encode(raw); - } - var sig = (0, bytes_1.splitSignature)(signature); - var v = 27 + sig.recoveryParam; - if (chainId !== 0) { - raw.pop(); - raw.pop(); - raw.pop(); - v += chainId * 2 + 8; - if (sig.v > 28 && sig.v !== v) { - logger.throwArgumentError("transaction.chainId/signature.v mismatch", "signature", signature); - } - } else if (sig.v !== v) { - logger.throwArgumentError("transaction.chainId/signature.v mismatch", "signature", signature); - } - raw.push((0, bytes_1.hexlify)(v)); - raw.push((0, bytes_1.stripZeros)((0, bytes_1.arrayify)(sig.r))); - raw.push((0, bytes_1.stripZeros)((0, bytes_1.arrayify)(sig.s))); - return RLP.encode(raw); - } - function serialize(transaction, signature) { - if (transaction.type == null || transaction.type === 0) { - if (transaction.accessList != null) { - logger.throwArgumentError("untyped transactions do not support accessList; include type: 1", "transaction", transaction); - } - return _serialize(transaction, signature); - } - switch (transaction.type) { - case 1: - return _serializeEip2930(transaction, signature); - case 2: - return _serializeEip1559(transaction, signature); - default: - break; - } - return logger.throwError("unsupported transaction type: " + transaction.type, logger_1.Logger.errors.UNSUPPORTED_OPERATION, { - operation: "serializeTransaction", - transactionType: transaction.type - }); - } - exports2.serialize = serialize; - function _parseEipSignature(tx, fields, serialize2) { - try { - var recid = handleNumber(fields[0]).toNumber(); - if (recid !== 0 && recid !== 1) { - throw new Error("bad recid"); - } - tx.v = recid; - } catch (error) { - logger.throwArgumentError("invalid v for transaction type: 1", "v", fields[0]); - } - tx.r = (0, bytes_1.hexZeroPad)(fields[1], 32); - tx.s = (0, bytes_1.hexZeroPad)(fields[2], 32); - try { - var digest = (0, keccak256_1.keccak256)(serialize2(tx)); - tx.from = recoverAddress(digest, { r: tx.r, s: tx.s, recoveryParam: tx.v }); - } catch (error) { - } - } - function _parseEip1559(payload) { - var transaction = RLP.decode(payload.slice(1)); - if (transaction.length !== 9 && transaction.length !== 12) { - logger.throwArgumentError("invalid component count for transaction type: 2", "payload", (0, bytes_1.hexlify)(payload)); - } - var maxPriorityFeePerGas = handleNumber(transaction[2]); - var maxFeePerGas = handleNumber(transaction[3]); - var tx = { - type: 2, - chainId: handleNumber(transaction[0]).toNumber(), - nonce: handleNumber(transaction[1]).toNumber(), - maxPriorityFeePerGas, - maxFeePerGas, - gasPrice: null, - gasLimit: handleNumber(transaction[4]), - to: handleAddress(transaction[5]), - value: handleNumber(transaction[6]), - data: transaction[7], - accessList: accessListify(transaction[8]) - }; - if (transaction.length === 9) { - return tx; - } - tx.hash = (0, keccak256_1.keccak256)(payload); - _parseEipSignature(tx, transaction.slice(9), _serializeEip1559); - return tx; - } - function _parseEip2930(payload) { - var transaction = RLP.decode(payload.slice(1)); - if (transaction.length !== 8 && transaction.length !== 11) { - logger.throwArgumentError("invalid component count for transaction type: 1", "payload", (0, bytes_1.hexlify)(payload)); - } - var tx = { - type: 1, - chainId: handleNumber(transaction[0]).toNumber(), - nonce: handleNumber(transaction[1]).toNumber(), - gasPrice: handleNumber(transaction[2]), - gasLimit: handleNumber(transaction[3]), - to: handleAddress(transaction[4]), - value: handleNumber(transaction[5]), - data: transaction[6], - accessList: accessListify(transaction[7]) - }; - if (transaction.length === 8) { - return tx; - } - tx.hash = (0, keccak256_1.keccak256)(payload); - _parseEipSignature(tx, transaction.slice(8), _serializeEip2930); - return tx; - } - function _parse(rawTransaction) { - var transaction = RLP.decode(rawTransaction); - if (transaction.length !== 9 && transaction.length !== 6) { - logger.throwArgumentError("invalid raw transaction", "rawTransaction", rawTransaction); - } - var tx = { - nonce: handleNumber(transaction[0]).toNumber(), - gasPrice: handleNumber(transaction[1]), - gasLimit: handleNumber(transaction[2]), - to: handleAddress(transaction[3]), - value: handleNumber(transaction[4]), - data: transaction[5], - chainId: 0 - }; - if (transaction.length === 6) { - return tx; - } - try { - tx.v = bignumber_1.BigNumber.from(transaction[6]).toNumber(); - } catch (error) { - return tx; - } - tx.r = (0, bytes_1.hexZeroPad)(transaction[7], 32); - tx.s = (0, bytes_1.hexZeroPad)(transaction[8], 32); - if (bignumber_1.BigNumber.from(tx.r).isZero() && bignumber_1.BigNumber.from(tx.s).isZero()) { - tx.chainId = tx.v; - tx.v = 0; - } else { - tx.chainId = Math.floor((tx.v - 35) / 2); - if (tx.chainId < 0) { - tx.chainId = 0; - } - var recoveryParam = tx.v - 27; - var raw = transaction.slice(0, 6); - if (tx.chainId !== 0) { - raw.push((0, bytes_1.hexlify)(tx.chainId)); - raw.push("0x"); - raw.push("0x"); - recoveryParam -= tx.chainId * 2 + 8; - } - var digest = (0, keccak256_1.keccak256)(RLP.encode(raw)); - try { - tx.from = recoverAddress(digest, { r: (0, bytes_1.hexlify)(tx.r), s: (0, bytes_1.hexlify)(tx.s), recoveryParam }); - } catch (error) { - } - tx.hash = (0, keccak256_1.keccak256)(rawTransaction); - } - tx.type = null; - return tx; - } - function parse(rawTransaction) { - var payload = (0, bytes_1.arrayify)(rawTransaction); - if (payload[0] > 127) { - return _parse(payload); - } - switch (payload[0]) { - case 1: - return _parseEip2930(payload); - case 2: - return _parseEip1559(payload); - default: - break; - } - return logger.throwError("unsupported transaction type: " + payload[0], logger_1.Logger.errors.UNSUPPORTED_OPERATION, { - operation: "parseTransaction", - transactionType: payload[0] - }); - } - exports2.parse = parse; - } -}); - -// node_modules/@ethersproject/providers/lib/formatter.js -var require_formatter = __commonJS({ - "node_modules/@ethersproject/providers/lib/formatter.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.showThrottleMessage = exports2.isCommunityResource = exports2.isCommunityResourcable = exports2.Formatter = void 0; - var address_1 = require_lib14(); - var bignumber_1 = require_lib3(); - var bytes_1 = require_lib2(); - var constants_1 = require_lib9(); - var properties_1 = require_lib4(); - var transactions_1 = require_lib19(); - var logger_1 = require_lib(); - var _version_1 = require_version13(); - var logger = new logger_1.Logger(_version_1.version); - var Formatter = ( - /** @class */ - function() { - function Formatter2() { - this.formats = this.getDefaultFormats(); - } - Formatter2.prototype.getDefaultFormats = function() { - var _this = this; - var formats = {}; - var address = this.address.bind(this); - var bigNumber = this.bigNumber.bind(this); - var blockTag = this.blockTag.bind(this); - var data = this.data.bind(this); - var hash = this.hash.bind(this); - var hex = this.hex.bind(this); - var number = this.number.bind(this); - var type = this.type.bind(this); - var strictData = function(v) { - return _this.data(v, true); - }; - formats.transaction = { - hash, - type, - accessList: Formatter2.allowNull(this.accessList.bind(this), null), - blockHash: Formatter2.allowNull(hash, null), - blockNumber: Formatter2.allowNull(number, null), - transactionIndex: Formatter2.allowNull(number, null), - confirmations: Formatter2.allowNull(number, null), - from: address, - // either (gasPrice) or (maxPriorityFeePerGas + maxFeePerGas) - // must be set - gasPrice: Formatter2.allowNull(bigNumber), - maxPriorityFeePerGas: Formatter2.allowNull(bigNumber), - maxFeePerGas: Formatter2.allowNull(bigNumber), - gasLimit: bigNumber, - to: Formatter2.allowNull(address, null), - value: bigNumber, - nonce: number, - data, - r: Formatter2.allowNull(this.uint256), - s: Formatter2.allowNull(this.uint256), - v: Formatter2.allowNull(number), - creates: Formatter2.allowNull(address, null), - raw: Formatter2.allowNull(data) - }; - formats.transactionRequest = { - from: Formatter2.allowNull(address), - nonce: Formatter2.allowNull(number), - gasLimit: Formatter2.allowNull(bigNumber), - gasPrice: Formatter2.allowNull(bigNumber), - maxPriorityFeePerGas: Formatter2.allowNull(bigNumber), - maxFeePerGas: Formatter2.allowNull(bigNumber), - to: Formatter2.allowNull(address), - value: Formatter2.allowNull(bigNumber), - data: Formatter2.allowNull(strictData), - type: Formatter2.allowNull(number), - accessList: Formatter2.allowNull(this.accessList.bind(this), null) - }; - formats.receiptLog = { - transactionIndex: number, - blockNumber: number, - transactionHash: hash, - address, - topics: Formatter2.arrayOf(hash), - data, - logIndex: number, - blockHash: hash - }; - formats.receipt = { - to: Formatter2.allowNull(this.address, null), - from: Formatter2.allowNull(this.address, null), - contractAddress: Formatter2.allowNull(address, null), - transactionIndex: number, - // should be allowNull(hash), but broken-EIP-658 support is handled in receipt - root: Formatter2.allowNull(hex), - gasUsed: bigNumber, - logsBloom: Formatter2.allowNull(data), - blockHash: hash, - transactionHash: hash, - logs: Formatter2.arrayOf(this.receiptLog.bind(this)), - blockNumber: number, - confirmations: Formatter2.allowNull(number, null), - cumulativeGasUsed: bigNumber, - effectiveGasPrice: Formatter2.allowNull(bigNumber), - status: Formatter2.allowNull(number), - type - }; - formats.block = { - hash: Formatter2.allowNull(hash), - parentHash: hash, - number, - timestamp: number, - nonce: Formatter2.allowNull(hex), - difficulty: this.difficulty.bind(this), - gasLimit: bigNumber, - gasUsed: bigNumber, - miner: Formatter2.allowNull(address), - extraData: data, - transactions: Formatter2.allowNull(Formatter2.arrayOf(hash)), - baseFeePerGas: Formatter2.allowNull(bigNumber) - }; - formats.blockWithTransactions = (0, properties_1.shallowCopy)(formats.block); - formats.blockWithTransactions.transactions = Formatter2.allowNull(Formatter2.arrayOf(this.transactionResponse.bind(this))); - formats.filter = { - fromBlock: Formatter2.allowNull(blockTag, void 0), - toBlock: Formatter2.allowNull(blockTag, void 0), - blockHash: Formatter2.allowNull(hash, void 0), - address: Formatter2.allowNull(address, void 0), - topics: Formatter2.allowNull(this.topics.bind(this), void 0) - }; - formats.filterLog = { - blockNumber: Formatter2.allowNull(number), - blockHash: Formatter2.allowNull(hash), - transactionIndex: number, - removed: Formatter2.allowNull(this.boolean.bind(this)), - address, - data: Formatter2.allowFalsish(data, "0x"), - topics: Formatter2.arrayOf(hash), - transactionHash: hash, - logIndex: number - }; - return formats; - }; - Formatter2.prototype.accessList = function(accessList) { - return (0, transactions_1.accessListify)(accessList || []); - }; - Formatter2.prototype.number = function(number) { - if (number === "0x") { - return 0; - } - return bignumber_1.BigNumber.from(number).toNumber(); - }; - Formatter2.prototype.type = function(number) { - if (number === "0x" || number == null) { - return 0; - } - return bignumber_1.BigNumber.from(number).toNumber(); - }; - Formatter2.prototype.bigNumber = function(value) { - return bignumber_1.BigNumber.from(value); - }; - Formatter2.prototype.boolean = function(value) { - if (typeof value === "boolean") { - return value; - } - if (typeof value === "string") { - value = value.toLowerCase(); - if (value === "true") { - return true; - } - if (value === "false") { - return false; - } - } - throw new Error("invalid boolean - " + value); - }; - Formatter2.prototype.hex = function(value, strict) { - if (typeof value === "string") { - if (!strict && value.substring(0, 2) !== "0x") { - value = "0x" + value; - } - if ((0, bytes_1.isHexString)(value)) { - return value.toLowerCase(); - } - } - return logger.throwArgumentError("invalid hash", "value", value); - }; - Formatter2.prototype.data = function(value, strict) { - var result = this.hex(value, strict); - if (result.length % 2 !== 0) { - throw new Error("invalid data; odd-length - " + value); - } - return result; - }; - Formatter2.prototype.address = function(value) { - return (0, address_1.getAddress)(value); - }; - Formatter2.prototype.callAddress = function(value) { - if (!(0, bytes_1.isHexString)(value, 32)) { - return null; - } - var address = (0, address_1.getAddress)((0, bytes_1.hexDataSlice)(value, 12)); - return address === constants_1.AddressZero ? null : address; - }; - Formatter2.prototype.contractAddress = function(value) { - return (0, address_1.getContractAddress)(value); - }; - Formatter2.prototype.blockTag = function(blockTag) { - if (blockTag == null) { - return "latest"; - } - if (blockTag === "earliest") { - return "0x0"; - } - switch (blockTag) { - case "earliest": - return "0x0"; - case "latest": - case "pending": - case "safe": - case "finalized": - return blockTag; - } - if (typeof blockTag === "number" || (0, bytes_1.isHexString)(blockTag)) { - return (0, bytes_1.hexValue)(blockTag); - } - throw new Error("invalid blockTag"); - }; - Formatter2.prototype.hash = function(value, strict) { - var result = this.hex(value, strict); - if ((0, bytes_1.hexDataLength)(result) !== 32) { - return logger.throwArgumentError("invalid hash", "value", value); - } - return result; - }; - Formatter2.prototype.difficulty = function(value) { - if (value == null) { - return null; - } - var v = bignumber_1.BigNumber.from(value); - try { - return v.toNumber(); - } catch (error) { - } - return null; - }; - Formatter2.prototype.uint256 = function(value) { - if (!(0, bytes_1.isHexString)(value)) { - throw new Error("invalid uint256"); - } - return (0, bytes_1.hexZeroPad)(value, 32); - }; - Formatter2.prototype._block = function(value, format) { - if (value.author != null && value.miner == null) { - value.miner = value.author; - } - var difficulty = value._difficulty != null ? value._difficulty : value.difficulty; - var result = Formatter2.check(format, value); - result._difficulty = difficulty == null ? null : bignumber_1.BigNumber.from(difficulty); - return result; - }; - Formatter2.prototype.block = function(value) { - return this._block(value, this.formats.block); - }; - Formatter2.prototype.blockWithTransactions = function(value) { - return this._block(value, this.formats.blockWithTransactions); - }; - Formatter2.prototype.transactionRequest = function(value) { - return Formatter2.check(this.formats.transactionRequest, value); - }; - Formatter2.prototype.transactionResponse = function(transaction) { - if (transaction.gas != null && transaction.gasLimit == null) { - transaction.gasLimit = transaction.gas; - } - if (transaction.to && bignumber_1.BigNumber.from(transaction.to).isZero()) { - transaction.to = "0x0000000000000000000000000000000000000000"; - } - if (transaction.input != null && transaction.data == null) { - transaction.data = transaction.input; - } - if (transaction.to == null && transaction.creates == null) { - transaction.creates = this.contractAddress(transaction); - } - if ((transaction.type === 1 || transaction.type === 2) && transaction.accessList == null) { - transaction.accessList = []; - } - var result = Formatter2.check(this.formats.transaction, transaction); - if (transaction.chainId != null) { - var chainId = transaction.chainId; - if ((0, bytes_1.isHexString)(chainId)) { - chainId = bignumber_1.BigNumber.from(chainId).toNumber(); - } - result.chainId = chainId; - } else { - var chainId = transaction.networkId; - if (chainId == null && result.v == null) { - chainId = transaction.chainId; - } - if ((0, bytes_1.isHexString)(chainId)) { - chainId = bignumber_1.BigNumber.from(chainId).toNumber(); - } - if (typeof chainId !== "number" && result.v != null) { - chainId = (result.v - 35) / 2; - if (chainId < 0) { - chainId = 0; - } - chainId = parseInt(chainId); - } - if (typeof chainId !== "number") { - chainId = 0; - } - result.chainId = chainId; - } - if (result.blockHash && result.blockHash.replace(/0/g, "") === "x") { - result.blockHash = null; - } - return result; - }; - Formatter2.prototype.transaction = function(value) { - return (0, transactions_1.parse)(value); - }; - Formatter2.prototype.receiptLog = function(value) { - return Formatter2.check(this.formats.receiptLog, value); - }; - Formatter2.prototype.receipt = function(value) { - var result = Formatter2.check(this.formats.receipt, value); - if (result.root != null) { - if (result.root.length <= 4) { - var value_1 = bignumber_1.BigNumber.from(result.root).toNumber(); - if (value_1 === 0 || value_1 === 1) { - if (result.status != null && result.status !== value_1) { - logger.throwArgumentError("alt-root-status/status mismatch", "value", { root: result.root, status: result.status }); - } - result.status = value_1; - delete result.root; - } else { - logger.throwArgumentError("invalid alt-root-status", "value.root", result.root); - } - } else if (result.root.length !== 66) { - logger.throwArgumentError("invalid root hash", "value.root", result.root); - } - } - if (result.status != null) { - result.byzantium = true; - } - return result; - }; - Formatter2.prototype.topics = function(value) { - var _this = this; - if (Array.isArray(value)) { - return value.map(function(v) { - return _this.topics(v); - }); - } else if (value != null) { - return this.hash(value, true); - } - return null; - }; - Formatter2.prototype.filter = function(value) { - return Formatter2.check(this.formats.filter, value); - }; - Formatter2.prototype.filterLog = function(value) { - return Formatter2.check(this.formats.filterLog, value); - }; - Formatter2.check = function(format, object) { - var result = {}; - for (var key in format) { - try { - var value = format[key](object[key]); - if (value !== void 0) { - result[key] = value; - } - } catch (error) { - error.checkKey = key; - error.checkValue = object[key]; - throw error; - } - } - return result; - }; - Formatter2.allowNull = function(format, nullValue) { - return function(value) { - if (value == null) { - return nullValue; - } - return format(value); - }; - }; - Formatter2.allowFalsish = function(format, replaceValue) { - return function(value) { - if (!value) { - return replaceValue; - } - return format(value); - }; - }; - Formatter2.arrayOf = function(format) { - return function(array) { - if (!Array.isArray(array)) { - throw new Error("not an array"); - } - var result = []; - array.forEach(function(value) { - result.push(format(value)); - }); - return result; - }; - }; - return Formatter2; - }() - ); - exports2.Formatter = Formatter; - function isCommunityResourcable(value) { - return value && typeof value.isCommunityResource === "function"; - } - exports2.isCommunityResourcable = isCommunityResourcable; - function isCommunityResource(value) { - return isCommunityResourcable(value) && value.isCommunityResource(); - } - exports2.isCommunityResource = isCommunityResource; - var throttleMessage = false; - function showThrottleMessage() { - if (throttleMessage) { - return; - } - throttleMessage = true; - console.log("========= NOTICE ========="); - console.log("Request-Rate Exceeded (this message will not be repeated)"); - console.log(""); - console.log("The default API keys for each service are provided as a highly-throttled,"); - console.log("community resource for low-traffic projects and early prototyping."); - console.log(""); - console.log("While your application will continue to function, we highly recommended"); - console.log("signing up for your own API keys to improve performance, increase your"); - console.log("request rate/limit and enable other perks, such as metrics and advanced APIs."); - console.log(""); - console.log("For more details: https://docs.ethers.io/api-keys/"); - console.log("=========================="); - } - exports2.showThrottleMessage = showThrottleMessage; - } -}); - -// node_modules/@ethersproject/providers/lib/base-provider.js -var require_base_provider = __commonJS({ - "node_modules/@ethersproject/providers/lib/base-provider.js"(exports2) { - "use strict"; - var __extends = exports2 && exports2.__extends || /* @__PURE__ */ function() { - var 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); - }; - return function(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 __()); - }; - }(); - var __awaiter = exports2 && exports2.__awaiter || function(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, reject) { - function fulfilled(value) { - try { - step(generator.next(value)); - } catch (e) { - reject(e); - } - } - function rejected(value) { - try { - step(generator["throw"](value)); - } catch (e) { - reject(e); - } - } - function step(result) { - result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); - } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); - }; - var __generator = exports2 && exports2.__generator || function(thisArg, body) { - var _ = { label: 0, sent: function() { - if (t[0] & 1) - throw t[1]; - return t[1]; - }, trys: [], ops: [] }, f, y, t, g; - return g = { next: verb(0), "throw": verb(1), "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 (_) - 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 }; - } - }; - var __importDefault = exports2 && exports2.__importDefault || function(mod) { - return mod && mod.__esModule ? mod : { "default": mod }; - }; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.BaseProvider = exports2.Resolver = exports2.Event = void 0; - var abstract_provider_1 = require_lib5(); - var base64_1 = require_lib7(); - var basex_1 = require_lib8(); - var bignumber_1 = require_lib3(); - var bytes_1 = require_lib2(); - var constants_1 = require_lib9(); - var hash_1 = require_lib15(); - var networks_1 = require_lib6(); - var properties_1 = require_lib4(); - var sha2_1 = require_lib16(); - var strings_1 = require_lib11(); - var web_1 = require_lib17(); - var bech32_1 = __importDefault(require_bech32()); - var logger_1 = require_lib(); - var _version_1 = require_version13(); - var logger = new logger_1.Logger(_version_1.version); - var formatter_1 = require_formatter(); - var MAX_CCIP_REDIRECTS = 10; - function checkTopic(topic) { - if (topic == null) { - return "null"; - } - if ((0, bytes_1.hexDataLength)(topic) !== 32) { - logger.throwArgumentError("invalid topic", "topic", topic); - } - return topic.toLowerCase(); - } - function serializeTopics(topics) { - topics = topics.slice(); - while (topics.length > 0 && topics[topics.length - 1] == null) { - topics.pop(); - } - return topics.map(function(topic) { - if (Array.isArray(topic)) { - var unique_1 = {}; - topic.forEach(function(topic2) { - unique_1[checkTopic(topic2)] = true; - }); - var sorted = Object.keys(unique_1); - sorted.sort(); - return sorted.join("|"); - } else { - return checkTopic(topic); - } - }).join("&"); - } - function deserializeTopics(data) { - if (data === "") { - return []; - } - return data.split(/&/g).map(function(topic) { - if (topic === "") { - return []; - } - var comps = topic.split("|").map(function(topic2) { - return topic2 === "null" ? null : topic2; - }); - return comps.length === 1 ? comps[0] : comps; - }); - } - function getEventTag(eventName) { - if (typeof eventName === "string") { - eventName = eventName.toLowerCase(); - if ((0, bytes_1.hexDataLength)(eventName) === 32) { - return "tx:" + eventName; - } - if (eventName.indexOf(":") === -1) { - return eventName; - } - } else if (Array.isArray(eventName)) { - return "filter:*:" + serializeTopics(eventName); - } else if (abstract_provider_1.ForkEvent.isForkEvent(eventName)) { - logger.warn("not implemented"); - throw new Error("not implemented"); - } else if (eventName && typeof eventName === "object") { - return "filter:" + (eventName.address || "*") + ":" + serializeTopics(eventName.topics || []); - } - throw new Error("invalid event - " + eventName); - } - function getTime() { - return (/* @__PURE__ */ new Date()).getTime(); - } - function stall(duration) { - return new Promise(function(resolve) { - setTimeout(resolve, duration); - }); - } - var PollableEvents = ["block", "network", "pending", "poll"]; - var Event = ( - /** @class */ - function() { - function Event2(tag, listener, once) { - (0, properties_1.defineReadOnly)(this, "tag", tag); - (0, properties_1.defineReadOnly)(this, "listener", listener); - (0, properties_1.defineReadOnly)(this, "once", once); - this._lastBlockNumber = -2; - this._inflight = false; - } - Object.defineProperty(Event2.prototype, "event", { - get: function() { - switch (this.type) { - case "tx": - return this.hash; - case "filter": - return this.filter; - } - return this.tag; - }, - enumerable: false, - configurable: true - }); - Object.defineProperty(Event2.prototype, "type", { - get: function() { - return this.tag.split(":")[0]; - }, - enumerable: false, - configurable: true - }); - Object.defineProperty(Event2.prototype, "hash", { - get: function() { - var comps = this.tag.split(":"); - if (comps[0] !== "tx") { - return null; - } - return comps[1]; - }, - enumerable: false, - configurable: true - }); - Object.defineProperty(Event2.prototype, "filter", { - get: function() { - var comps = this.tag.split(":"); - if (comps[0] !== "filter") { - return null; - } - var address = comps[1]; - var topics = deserializeTopics(comps[2]); - var filter2 = {}; - if (topics.length > 0) { - filter2.topics = topics; - } - if (address && address !== "*") { - filter2.address = address; - } - return filter2; - }, - enumerable: false, - configurable: true - }); - Event2.prototype.pollable = function() { - return this.tag.indexOf(":") >= 0 || PollableEvents.indexOf(this.tag) >= 0; - }; - return Event2; - }() - ); - exports2.Event = Event; - var coinInfos = { - "0": { symbol: "btc", p2pkh: 0, p2sh: 5, prefix: "bc" }, - "2": { symbol: "ltc", p2pkh: 48, p2sh: 50, prefix: "ltc" }, - "3": { symbol: "doge", p2pkh: 30, p2sh: 22 }, - "60": { symbol: "eth", ilk: "eth" }, - "61": { symbol: "etc", ilk: "eth" }, - "700": { symbol: "xdai", ilk: "eth" } - }; - function bytes32ify(value) { - return (0, bytes_1.hexZeroPad)(bignumber_1.BigNumber.from(value).toHexString(), 32); - } - function base58Encode(data) { - return basex_1.Base58.encode((0, bytes_1.concat)([data, (0, bytes_1.hexDataSlice)((0, sha2_1.sha256)((0, sha2_1.sha256)(data)), 0, 4)])); - } - var matcherIpfs = new RegExp("^(ipfs)://(.*)$", "i"); - var matchers = [ - new RegExp("^(https)://(.*)$", "i"), - new RegExp("^(data):(.*)$", "i"), - matcherIpfs, - new RegExp("^eip155:[0-9]+/(erc[0-9]+):(.*)$", "i") - ]; - function _parseString(result, start) { - try { - return (0, strings_1.toUtf8String)(_parseBytes(result, start)); - } catch (error) { - } - return null; - } - function _parseBytes(result, start) { - if (result === "0x") { - return null; - } - var offset = bignumber_1.BigNumber.from((0, bytes_1.hexDataSlice)(result, start, start + 32)).toNumber(); - var length = bignumber_1.BigNumber.from((0, bytes_1.hexDataSlice)(result, offset, offset + 32)).toNumber(); - return (0, bytes_1.hexDataSlice)(result, offset + 32, offset + 32 + length); - } - function getIpfsLink(link) { - if (link.match(/^ipfs:\/\/ipfs\//i)) { - link = link.substring(12); - } else if (link.match(/^ipfs:\/\//i)) { - link = link.substring(7); - } else { - logger.throwArgumentError("unsupported IPFS format", "link", link); - } - return "https://gateway.ipfs.io/ipfs/" + link; - } - function numPad(value) { - var result = (0, bytes_1.arrayify)(value); - if (result.length > 32) { - throw new Error("internal; should not happen"); - } - var padded = new Uint8Array(32); - padded.set(result, 32 - result.length); - return padded; - } - function bytesPad(value) { - if (value.length % 32 === 0) { - return value; - } - var result = new Uint8Array(Math.ceil(value.length / 32) * 32); - result.set(value); - return result; - } - function encodeBytes(datas) { - var result = []; - var byteCount = 0; - for (var i = 0; i < datas.length; i++) { - result.push(null); - byteCount += 32; - } - for (var i = 0; i < datas.length; i++) { - var data = (0, bytes_1.arrayify)(datas[i]); - result[i] = numPad(byteCount); - result.push(numPad(data.length)); - result.push(bytesPad(data)); - byteCount += 32 + Math.ceil(data.length / 32) * 32; - } - return (0, bytes_1.hexConcat)(result); - } - var Resolver = ( - /** @class */ - function() { - function Resolver2(provider, address, name, resolvedAddress) { - (0, properties_1.defineReadOnly)(this, "provider", provider); - (0, properties_1.defineReadOnly)(this, "name", name); - (0, properties_1.defineReadOnly)(this, "address", provider.formatter.address(address)); - (0, properties_1.defineReadOnly)(this, "_resolvedAddress", resolvedAddress); - } - Resolver2.prototype.supportsWildcard = function() { - var _this = this; - if (!this._supportsEip2544) { - this._supportsEip2544 = this.provider.call({ - to: this.address, - data: "0x01ffc9a79061b92300000000000000000000000000000000000000000000000000000000" - }).then(function(result) { - return bignumber_1.BigNumber.from(result).eq(1); - }).catch(function(error) { - if (error.code === logger_1.Logger.errors.CALL_EXCEPTION) { - return false; - } - _this._supportsEip2544 = null; - throw error; - }); - } - return this._supportsEip2544; - }; - Resolver2.prototype._fetch = function(selector, parameters) { - return __awaiter(this, void 0, void 0, function() { - var tx, parseBytes, result, error_1; - return __generator(this, function(_a) { - switch (_a.label) { - case 0: - tx = { - to: this.address, - ccipReadEnabled: true, - data: (0, bytes_1.hexConcat)([selector, (0, hash_1.namehash)(this.name), parameters || "0x"]) - }; - parseBytes = false; - return [4, this.supportsWildcard()]; - case 1: - if (_a.sent()) { - parseBytes = true; - tx.data = (0, bytes_1.hexConcat)(["0x9061b923", encodeBytes([(0, hash_1.dnsEncode)(this.name), tx.data])]); - } - _a.label = 2; - case 2: - _a.trys.push([2, 4, , 5]); - return [4, this.provider.call(tx)]; - case 3: - result = _a.sent(); - if ((0, bytes_1.arrayify)(result).length % 32 === 4) { - logger.throwError("resolver threw error", logger_1.Logger.errors.CALL_EXCEPTION, { - transaction: tx, - data: result - }); - } - if (parseBytes) { - result = _parseBytes(result, 0); - } - return [2, result]; - case 4: - error_1 = _a.sent(); - if (error_1.code === logger_1.Logger.errors.CALL_EXCEPTION) { - return [2, null]; - } - throw error_1; - case 5: - return [ - 2 - /*return*/ - ]; - } - }); - }); - }; - Resolver2.prototype._fetchBytes = function(selector, parameters) { - return __awaiter(this, void 0, void 0, function() { - var result; - return __generator(this, function(_a) { - switch (_a.label) { - case 0: - return [4, this._fetch(selector, parameters)]; - case 1: - result = _a.sent(); - if (result != null) { - return [2, _parseBytes(result, 0)]; - } - return [2, null]; - } - }); - }); - }; - Resolver2.prototype._getAddress = function(coinType, hexBytes) { - var coinInfo = coinInfos[String(coinType)]; - if (coinInfo == null) { - logger.throwError("unsupported coin type: " + coinType, logger_1.Logger.errors.UNSUPPORTED_OPERATION, { - operation: "getAddress(" + coinType + ")" - }); - } - if (coinInfo.ilk === "eth") { - return this.provider.formatter.address(hexBytes); - } - var bytes = (0, bytes_1.arrayify)(hexBytes); - if (coinInfo.p2pkh != null) { - var p2pkh = hexBytes.match(/^0x76a9([0-9a-f][0-9a-f])([0-9a-f]*)88ac$/); - if (p2pkh) { - var length_1 = parseInt(p2pkh[1], 16); - if (p2pkh[2].length === length_1 * 2 && length_1 >= 1 && length_1 <= 75) { - return base58Encode((0, bytes_1.concat)([[coinInfo.p2pkh], "0x" + p2pkh[2]])); - } - } - } - if (coinInfo.p2sh != null) { - var p2sh = hexBytes.match(/^0xa9([0-9a-f][0-9a-f])([0-9a-f]*)87$/); - if (p2sh) { - var length_2 = parseInt(p2sh[1], 16); - if (p2sh[2].length === length_2 * 2 && length_2 >= 1 && length_2 <= 75) { - return base58Encode((0, bytes_1.concat)([[coinInfo.p2sh], "0x" + p2sh[2]])); - } - } - } - if (coinInfo.prefix != null) { - var length_3 = bytes[1]; - var version_1 = bytes[0]; - if (version_1 === 0) { - if (length_3 !== 20 && length_3 !== 32) { - version_1 = -1; - } - } else { - version_1 = -1; - } - if (version_1 >= 0 && bytes.length === 2 + length_3 && length_3 >= 1 && length_3 <= 75) { - var words = bech32_1.default.toWords(bytes.slice(2)); - words.unshift(version_1); - return bech32_1.default.encode(coinInfo.prefix, words); - } - } - return null; - }; - Resolver2.prototype.getAddress = function(coinType) { - return __awaiter(this, void 0, void 0, function() { - var result, error_2, hexBytes, address; - return __generator(this, function(_a) { - switch (_a.label) { - case 0: - if (coinType == null) { - coinType = 60; - } - if (!(coinType === 60)) - return [3, 4]; - _a.label = 1; - case 1: - _a.trys.push([1, 3, , 4]); - return [4, this._fetch("0x3b3b57de")]; - case 2: - result = _a.sent(); - if (result === "0x" || result === constants_1.HashZero) { - return [2, null]; - } - return [2, this.provider.formatter.callAddress(result)]; - case 3: - error_2 = _a.sent(); - if (error_2.code === logger_1.Logger.errors.CALL_EXCEPTION) { - return [2, null]; - } - throw error_2; - case 4: - return [4, this._fetchBytes("0xf1cb7e06", bytes32ify(coinType))]; - case 5: - hexBytes = _a.sent(); - if (hexBytes == null || hexBytes === "0x") { - return [2, null]; - } - address = this._getAddress(coinType, hexBytes); - if (address == null) { - logger.throwError("invalid or unsupported coin data", logger_1.Logger.errors.UNSUPPORTED_OPERATION, { - operation: "getAddress(" + coinType + ")", - coinType, - data: hexBytes - }); - } - return [2, address]; - } - }); - }); - }; - Resolver2.prototype.getAvatar = function() { - return __awaiter(this, void 0, void 0, function() { - var linkage, avatar, i, match, scheme, _a, selector, owner, _b, comps, addr, tokenId, tokenOwner, _c, _d, balance, _e, _f, tx, metadataUrl, _g, metadata, imageUrl, ipfs, error_3; - return __generator(this, function(_h) { - switch (_h.label) { - case 0: - linkage = [{ type: "name", content: this.name }]; - _h.label = 1; - case 1: - _h.trys.push([1, 19, , 20]); - return [4, this.getText("avatar")]; - case 2: - avatar = _h.sent(); - if (avatar == null) { - return [2, null]; - } - i = 0; - _h.label = 3; - case 3: - if (!(i < matchers.length)) - return [3, 18]; - match = avatar.match(matchers[i]); - if (match == null) { - return [3, 17]; - } - scheme = match[1].toLowerCase(); - _a = scheme; - switch (_a) { - case "https": - return [3, 4]; - case "data": - return [3, 5]; - case "ipfs": - return [3, 6]; - case "erc721": - return [3, 7]; - case "erc1155": - return [3, 7]; - } - return [3, 17]; - case 4: - linkage.push({ type: "url", content: avatar }); - return [2, { linkage, url: avatar }]; - case 5: - linkage.push({ type: "data", content: avatar }); - return [2, { linkage, url: avatar }]; - case 6: - linkage.push({ type: "ipfs", content: avatar }); - return [2, { linkage, url: getIpfsLink(avatar) }]; - case 7: - selector = scheme === "erc721" ? "0xc87b56dd" : "0x0e89341c"; - linkage.push({ type: scheme, content: avatar }); - _b = this._resolvedAddress; - if (_b) - return [3, 9]; - return [4, this.getAddress()]; - case 8: - _b = _h.sent(); - _h.label = 9; - case 9: - owner = _b; - comps = (match[2] || "").split("/"); - if (comps.length !== 2) { - return [2, null]; - } - return [4, this.provider.formatter.address(comps[0])]; - case 10: - addr = _h.sent(); - tokenId = (0, bytes_1.hexZeroPad)(bignumber_1.BigNumber.from(comps[1]).toHexString(), 32); - if (!(scheme === "erc721")) - return [3, 12]; - _d = (_c = this.provider.formatter).callAddress; - return [4, this.provider.call({ - to: addr, - data: (0, bytes_1.hexConcat)(["0x6352211e", tokenId]) - })]; - case 11: - tokenOwner = _d.apply(_c, [_h.sent()]); - if (owner !== tokenOwner) { - return [2, null]; - } - linkage.push({ type: "owner", content: tokenOwner }); - return [3, 14]; - case 12: - if (!(scheme === "erc1155")) - return [3, 14]; - _f = (_e = bignumber_1.BigNumber).from; - return [4, this.provider.call({ - to: addr, - data: (0, bytes_1.hexConcat)(["0x00fdd58e", (0, bytes_1.hexZeroPad)(owner, 32), tokenId]) - })]; - case 13: - balance = _f.apply(_e, [_h.sent()]); - if (balance.isZero()) { - return [2, null]; - } - linkage.push({ type: "balance", content: balance.toString() }); - _h.label = 14; - case 14: - tx = { - to: this.provider.formatter.address(comps[0]), - data: (0, bytes_1.hexConcat)([selector, tokenId]) - }; - _g = _parseString; - return [4, this.provider.call(tx)]; - case 15: - metadataUrl = _g.apply(void 0, [_h.sent(), 0]); - if (metadataUrl == null) { - return [2, null]; - } - linkage.push({ type: "metadata-url-base", content: metadataUrl }); - if (scheme === "erc1155") { - metadataUrl = metadataUrl.replace("{id}", tokenId.substring(2)); - linkage.push({ type: "metadata-url-expanded", content: metadataUrl }); - } - if (metadataUrl.match(/^ipfs:/i)) { - metadataUrl = getIpfsLink(metadataUrl); - } - linkage.push({ type: "metadata-url", content: metadataUrl }); - return [4, (0, web_1.fetchJson)(metadataUrl)]; - case 16: - metadata = _h.sent(); - if (!metadata) { - return [2, null]; - } - linkage.push({ type: "metadata", content: JSON.stringify(metadata) }); - imageUrl = metadata.image; - if (typeof imageUrl !== "string") { - return [2, null]; - } - if (imageUrl.match(/^(https:\/\/|data:)/i)) { - } else { - ipfs = imageUrl.match(matcherIpfs); - if (ipfs == null) { - return [2, null]; - } - linkage.push({ type: "url-ipfs", content: imageUrl }); - imageUrl = getIpfsLink(imageUrl); - } - linkage.push({ type: "url", content: imageUrl }); - return [2, { linkage, url: imageUrl }]; - case 17: - i++; - return [3, 3]; - case 18: - return [3, 20]; - case 19: - error_3 = _h.sent(); - return [3, 20]; - case 20: - return [2, null]; - } - }); - }); - }; - Resolver2.prototype.getContentHash = function() { - return __awaiter(this, void 0, void 0, function() { - var hexBytes, ipfs, length_4, ipns, length_5, swarm, skynet, urlSafe_1, hash; - return __generator(this, function(_a) { - switch (_a.label) { - case 0: - return [4, this._fetchBytes("0xbc1c58d1")]; - case 1: - hexBytes = _a.sent(); - if (hexBytes == null || hexBytes === "0x") { - return [2, null]; - } - ipfs = hexBytes.match(/^0xe3010170(([0-9a-f][0-9a-f])([0-9a-f][0-9a-f])([0-9a-f]*))$/); - if (ipfs) { - length_4 = parseInt(ipfs[3], 16); - if (ipfs[4].length === length_4 * 2) { - return [2, "ipfs://" + basex_1.Base58.encode("0x" + ipfs[1])]; - } - } - ipns = hexBytes.match(/^0xe5010172(([0-9a-f][0-9a-f])([0-9a-f][0-9a-f])([0-9a-f]*))$/); - if (ipns) { - length_5 = parseInt(ipns[3], 16); - if (ipns[4].length === length_5 * 2) { - return [2, "ipns://" + basex_1.Base58.encode("0x" + ipns[1])]; - } - } - swarm = hexBytes.match(/^0xe40101fa011b20([0-9a-f]*)$/); - if (swarm) { - if (swarm[1].length === 32 * 2) { - return [2, "bzz://" + swarm[1]]; - } - } - skynet = hexBytes.match(/^0x90b2c605([0-9a-f]*)$/); - if (skynet) { - if (skynet[1].length === 34 * 2) { - urlSafe_1 = { "=": "", "+": "-", "/": "_" }; - hash = (0, base64_1.encode)("0x" + skynet[1]).replace(/[=+\/]/g, function(a) { - return urlSafe_1[a]; - }); - return [2, "sia://" + hash]; - } - } - return [2, logger.throwError("invalid or unsupported content hash data", logger_1.Logger.errors.UNSUPPORTED_OPERATION, { - operation: "getContentHash()", - data: hexBytes - })]; - } - }); - }); - }; - Resolver2.prototype.getText = function(key) { - return __awaiter(this, void 0, void 0, function() { - var keyBytes, hexBytes; - return __generator(this, function(_a) { - switch (_a.label) { - case 0: - keyBytes = (0, strings_1.toUtf8Bytes)(key); - keyBytes = (0, bytes_1.concat)([bytes32ify(64), bytes32ify(keyBytes.length), keyBytes]); - if (keyBytes.length % 32 !== 0) { - keyBytes = (0, bytes_1.concat)([keyBytes, (0, bytes_1.hexZeroPad)("0x", 32 - key.length % 32)]); - } - return [4, this._fetchBytes("0x59d1d43c", (0, bytes_1.hexlify)(keyBytes))]; - case 1: - hexBytes = _a.sent(); - if (hexBytes == null || hexBytes === "0x") { - return [2, null]; - } - return [2, (0, strings_1.toUtf8String)(hexBytes)]; - } - }); - }); - }; - return Resolver2; - }() - ); - exports2.Resolver = Resolver; - var defaultFormatter = null; - var nextPollId = 1; - var BaseProvider = ( - /** @class */ - function(_super) { - __extends(BaseProvider2, _super); - function BaseProvider2(network) { - var _newTarget = this.constructor; - var _this = _super.call(this) || this; - _this._events = []; - _this._emitted = { block: -2 }; - _this.disableCcipRead = false; - _this.formatter = _newTarget.getFormatter(); - (0, properties_1.defineReadOnly)(_this, "anyNetwork", network === "any"); - if (_this.anyNetwork) { - network = _this.detectNetwork(); - } - if (network instanceof Promise) { - _this._networkPromise = network; - network.catch(function(error) { - }); - _this._ready().catch(function(error) { - }); - } else { - var knownNetwork = (0, properties_1.getStatic)(_newTarget, "getNetwork")(network); - if (knownNetwork) { - (0, properties_1.defineReadOnly)(_this, "_network", knownNetwork); - _this.emit("network", knownNetwork, null); - } else { - logger.throwArgumentError("invalid network", "network", network); - } - } - _this._maxInternalBlockNumber = -1024; - _this._lastBlockNumber = -2; - _this._maxFilterBlockRange = 10; - _this._pollingInterval = 4e3; - _this._fastQueryDate = 0; - return _this; - } - BaseProvider2.prototype._ready = function() { - return __awaiter(this, void 0, void 0, function() { - var network, error_4; - return __generator(this, function(_a) { - switch (_a.label) { - case 0: - if (!(this._network == null)) - return [3, 7]; - network = null; - if (!this._networkPromise) - return [3, 4]; - _a.label = 1; - case 1: - _a.trys.push([1, 3, , 4]); - return [4, this._networkPromise]; - case 2: - network = _a.sent(); - return [3, 4]; - case 3: - error_4 = _a.sent(); - return [3, 4]; - case 4: - if (!(network == null)) - return [3, 6]; - return [4, this.detectNetwork()]; - case 5: - network = _a.sent(); - _a.label = 6; - case 6: - if (!network) { - logger.throwError("no network detected", logger_1.Logger.errors.UNKNOWN_ERROR, {}); - } - if (this._network == null) { - if (this.anyNetwork) { - this._network = network; - } else { - (0, properties_1.defineReadOnly)(this, "_network", network); - } - this.emit("network", network, null); - } - _a.label = 7; - case 7: - return [2, this._network]; - } - }); - }); - }; - Object.defineProperty(BaseProvider2.prototype, "ready", { - // This will always return the most recently established network. - // For "any", this can change (a "network" event is emitted before - // any change is reflected); otherwise this cannot change - get: function() { - var _this = this; - return (0, web_1.poll)(function() { - return _this._ready().then(function(network) { - return network; - }, function(error) { - if (error.code === logger_1.Logger.errors.NETWORK_ERROR && error.event === "noNetwork") { - return void 0; - } - throw error; - }); - }); - }, - enumerable: false, - configurable: true - }); - BaseProvider2.getFormatter = function() { - if (defaultFormatter == null) { - defaultFormatter = new formatter_1.Formatter(); - } - return defaultFormatter; - }; - BaseProvider2.getNetwork = function(network) { - return (0, networks_1.getNetwork)(network == null ? "homestead" : network); - }; - BaseProvider2.prototype.ccipReadFetch = function(tx, calldata, urls) { - return __awaiter(this, void 0, void 0, function() { - var sender, data, errorMessages, i, url2, href, json, result, errorMessage; - return __generator(this, function(_a) { - switch (_a.label) { - case 0: - if (this.disableCcipRead || urls.length === 0) { - return [2, null]; - } - sender = tx.to.toLowerCase(); - data = calldata.toLowerCase(); - errorMessages = []; - i = 0; - _a.label = 1; - case 1: - if (!(i < urls.length)) - return [3, 4]; - url2 = urls[i]; - href = url2.replace("{sender}", sender).replace("{data}", data); - json = url2.indexOf("{data}") >= 0 ? null : JSON.stringify({ data, sender }); - return [4, (0, web_1.fetchJson)({ url: href, errorPassThrough: true }, json, function(value, response) { - value.status = response.statusCode; - return value; - })]; - case 2: - result = _a.sent(); - if (result.data) { - return [2, result.data]; - } - errorMessage = result.message || "unknown error"; - if (result.status >= 400 && result.status < 500) { - return [2, logger.throwError("response not found during CCIP fetch: " + errorMessage, logger_1.Logger.errors.SERVER_ERROR, { url: url2, errorMessage })]; - } - errorMessages.push(errorMessage); - _a.label = 3; - case 3: - i++; - return [3, 1]; - case 4: - return [2, logger.throwError("error encountered during CCIP fetch: " + errorMessages.map(function(m) { - return JSON.stringify(m); - }).join(", "), logger_1.Logger.errors.SERVER_ERROR, { - urls, - errorMessages - })]; - } - }); - }); - }; - BaseProvider2.prototype._getInternalBlockNumber = function(maxAge) { - return __awaiter(this, void 0, void 0, function() { - var internalBlockNumber, result, error_5, reqTime, checkInternalBlockNumber; - var _this = this; - return __generator(this, function(_a) { - switch (_a.label) { - case 0: - return [4, this._ready()]; - case 1: - _a.sent(); - if (!(maxAge > 0)) - return [3, 7]; - _a.label = 2; - case 2: - if (!this._internalBlockNumber) - return [3, 7]; - internalBlockNumber = this._internalBlockNumber; - _a.label = 3; - case 3: - _a.trys.push([3, 5, , 6]); - return [4, internalBlockNumber]; - case 4: - result = _a.sent(); - if (getTime() - result.respTime <= maxAge) { - return [2, result.blockNumber]; - } - return [3, 7]; - case 5: - error_5 = _a.sent(); - if (this._internalBlockNumber === internalBlockNumber) { - return [3, 7]; - } - return [3, 6]; - case 6: - return [3, 2]; - case 7: - reqTime = getTime(); - checkInternalBlockNumber = (0, properties_1.resolveProperties)({ - blockNumber: this.perform("getBlockNumber", {}), - networkError: this.getNetwork().then(function(network) { - return null; - }, function(error) { - return error; - }) - }).then(function(_a2) { - var blockNumber = _a2.blockNumber, networkError = _a2.networkError; - if (networkError) { - if (_this._internalBlockNumber === checkInternalBlockNumber) { - _this._internalBlockNumber = null; - } - throw networkError; - } - var respTime = getTime(); - blockNumber = bignumber_1.BigNumber.from(blockNumber).toNumber(); - if (blockNumber < _this._maxInternalBlockNumber) { - blockNumber = _this._maxInternalBlockNumber; - } - _this._maxInternalBlockNumber = blockNumber; - _this._setFastBlockNumber(blockNumber); - return { blockNumber, reqTime, respTime }; - }); - this._internalBlockNumber = checkInternalBlockNumber; - checkInternalBlockNumber.catch(function(error) { - if (_this._internalBlockNumber === checkInternalBlockNumber) { - _this._internalBlockNumber = null; - } - }); - return [4, checkInternalBlockNumber]; - case 8: - return [2, _a.sent().blockNumber]; - } - }); - }); - }; - BaseProvider2.prototype.poll = function() { - return __awaiter(this, void 0, void 0, function() { - var pollId, runners, blockNumber, error_6, i; - var _this = this; - return __generator(this, function(_a) { - switch (_a.label) { - case 0: - pollId = nextPollId++; - runners = []; - blockNumber = null; - _a.label = 1; - case 1: - _a.trys.push([1, 3, , 4]); - return [4, this._getInternalBlockNumber(100 + this.pollingInterval / 2)]; - case 2: - blockNumber = _a.sent(); - return [3, 4]; - case 3: - error_6 = _a.sent(); - this.emit("error", error_6); - return [ - 2 - /*return*/ - ]; - case 4: - this._setFastBlockNumber(blockNumber); - this.emit("poll", pollId, blockNumber); - if (blockNumber === this._lastBlockNumber) { - this.emit("didPoll", pollId); - return [ - 2 - /*return*/ - ]; - } - if (this._emitted.block === -2) { - this._emitted.block = blockNumber - 1; - } - if (Math.abs(this._emitted.block - blockNumber) > 1e3) { - logger.warn("network block skew detected; skipping block events (emitted=" + this._emitted.block + " blockNumber" + blockNumber + ")"); - this.emit("error", logger.makeError("network block skew detected", logger_1.Logger.errors.NETWORK_ERROR, { - blockNumber, - event: "blockSkew", - previousBlockNumber: this._emitted.block - })); - this.emit("block", blockNumber); - } else { - for (i = this._emitted.block + 1; i <= blockNumber; i++) { - this.emit("block", i); - } - } - if (this._emitted.block !== blockNumber) { - this._emitted.block = blockNumber; - Object.keys(this._emitted).forEach(function(key) { - if (key === "block") { - return; - } - var eventBlockNumber = _this._emitted[key]; - if (eventBlockNumber === "pending") { - return; - } - if (blockNumber - eventBlockNumber > 12) { - delete _this._emitted[key]; - } - }); - } - if (this._lastBlockNumber === -2) { - this._lastBlockNumber = blockNumber - 1; - } - this._events.forEach(function(event) { - switch (event.type) { - case "tx": { - var hash_2 = event.hash; - var runner = _this.getTransactionReceipt(hash_2).then(function(receipt) { - if (!receipt || receipt.blockNumber == null) { - return null; - } - _this._emitted["t:" + hash_2] = receipt.blockNumber; - _this.emit(hash_2, receipt); - return null; - }).catch(function(error) { - _this.emit("error", error); - }); - runners.push(runner); - break; - } - case "filter": { - if (!event._inflight) { - event._inflight = true; - if (event._lastBlockNumber === -2) { - event._lastBlockNumber = blockNumber - 1; - } - var filter_1 = event.filter; - filter_1.fromBlock = event._lastBlockNumber + 1; - filter_1.toBlock = blockNumber; - var minFromBlock = filter_1.toBlock - _this._maxFilterBlockRange; - if (minFromBlock > filter_1.fromBlock) { - filter_1.fromBlock = minFromBlock; - } - if (filter_1.fromBlock < 0) { - filter_1.fromBlock = 0; - } - var runner = _this.getLogs(filter_1).then(function(logs) { - event._inflight = false; - if (logs.length === 0) { - return; - } - logs.forEach(function(log) { - if (log.blockNumber > event._lastBlockNumber) { - event._lastBlockNumber = log.blockNumber; - } - _this._emitted["b:" + log.blockHash] = log.blockNumber; - _this._emitted["t:" + log.transactionHash] = log.blockNumber; - _this.emit(filter_1, log); - }); - }).catch(function(error) { - _this.emit("error", error); - event._inflight = false; - }); - runners.push(runner); - } - break; - } - } - }); - this._lastBlockNumber = blockNumber; - Promise.all(runners).then(function() { - _this.emit("didPoll", pollId); - }).catch(function(error) { - _this.emit("error", error); - }); - return [ - 2 - /*return*/ - ]; - } - }); - }); - }; - BaseProvider2.prototype.resetEventsBlock = function(blockNumber) { - this._lastBlockNumber = blockNumber - 1; - if (this.polling) { - this.poll(); - } - }; - Object.defineProperty(BaseProvider2.prototype, "network", { - get: function() { - return this._network; - }, - enumerable: false, - configurable: true - }); - BaseProvider2.prototype.detectNetwork = function() { - return __awaiter(this, void 0, void 0, function() { - return __generator(this, function(_a) { - return [2, logger.throwError("provider does not support network detection", logger_1.Logger.errors.UNSUPPORTED_OPERATION, { - operation: "provider.detectNetwork" - })]; - }); - }); - }; - BaseProvider2.prototype.getNetwork = function() { - return __awaiter(this, void 0, void 0, function() { - var network, currentNetwork, error; - return __generator(this, function(_a) { - switch (_a.label) { - case 0: - return [4, this._ready()]; - case 1: - network = _a.sent(); - return [4, this.detectNetwork()]; - case 2: - currentNetwork = _a.sent(); - if (!(network.chainId !== currentNetwork.chainId)) - return [3, 5]; - if (!this.anyNetwork) - return [3, 4]; - this._network = currentNetwork; - this._lastBlockNumber = -2; - this._fastBlockNumber = null; - this._fastBlockNumberPromise = null; - this._fastQueryDate = 0; - this._emitted.block = -2; - this._maxInternalBlockNumber = -1024; - this._internalBlockNumber = null; - this.emit("network", currentNetwork, network); - return [4, stall(0)]; - case 3: - _a.sent(); - return [2, this._network]; - case 4: - error = logger.makeError("underlying network changed", logger_1.Logger.errors.NETWORK_ERROR, { - event: "changed", - network, - detectedNetwork: currentNetwork - }); - this.emit("error", error); - throw error; - case 5: - return [2, network]; - } - }); - }); - }; - Object.defineProperty(BaseProvider2.prototype, "blockNumber", { - get: function() { - var _this = this; - this._getInternalBlockNumber(100 + this.pollingInterval / 2).then(function(blockNumber) { - _this._setFastBlockNumber(blockNumber); - }, function(error) { - }); - return this._fastBlockNumber != null ? this._fastBlockNumber : -1; - }, - enumerable: false, - configurable: true - }); - Object.defineProperty(BaseProvider2.prototype, "polling", { - get: function() { - return this._poller != null; - }, - set: function(value) { - var _this = this; - if (value && !this._poller) { - this._poller = setInterval(function() { - _this.poll(); - }, this.pollingInterval); - if (!this._bootstrapPoll) { - this._bootstrapPoll = setTimeout(function() { - _this.poll(); - _this._bootstrapPoll = setTimeout(function() { - if (!_this._poller) { - _this.poll(); - } - _this._bootstrapPoll = null; - }, _this.pollingInterval); - }, 0); - } - } else if (!value && this._poller) { - clearInterval(this._poller); - this._poller = null; - } - }, - enumerable: false, - configurable: true - }); - Object.defineProperty(BaseProvider2.prototype, "pollingInterval", { - get: function() { - return this._pollingInterval; - }, - set: function(value) { - var _this = this; - if (typeof value !== "number" || value <= 0 || parseInt(String(value)) != value) { - throw new Error("invalid polling interval"); - } - this._pollingInterval = value; - if (this._poller) { - clearInterval(this._poller); - this._poller = setInterval(function() { - _this.poll(); - }, this._pollingInterval); - } - }, - enumerable: false, - configurable: true - }); - BaseProvider2.prototype._getFastBlockNumber = function() { - var _this = this; - var now = getTime(); - if (now - this._fastQueryDate > 2 * this._pollingInterval) { - this._fastQueryDate = now; - this._fastBlockNumberPromise = this.getBlockNumber().then(function(blockNumber) { - if (_this._fastBlockNumber == null || blockNumber > _this._fastBlockNumber) { - _this._fastBlockNumber = blockNumber; - } - return _this._fastBlockNumber; - }); - } - return this._fastBlockNumberPromise; - }; - BaseProvider2.prototype._setFastBlockNumber = function(blockNumber) { - if (this._fastBlockNumber != null && blockNumber < this._fastBlockNumber) { - return; - } - this._fastQueryDate = getTime(); - if (this._fastBlockNumber == null || blockNumber > this._fastBlockNumber) { - this._fastBlockNumber = blockNumber; - this._fastBlockNumberPromise = Promise.resolve(blockNumber); - } - }; - BaseProvider2.prototype.waitForTransaction = function(transactionHash, confirmations, timeout) { - return __awaiter(this, void 0, void 0, function() { - return __generator(this, function(_a) { - return [2, this._waitForTransaction(transactionHash, confirmations == null ? 1 : confirmations, timeout || 0, null)]; - }); - }); - }; - BaseProvider2.prototype._waitForTransaction = function(transactionHash, confirmations, timeout, replaceable) { - return __awaiter(this, void 0, void 0, function() { - var receipt; - var _this = this; - return __generator(this, function(_a) { - switch (_a.label) { - case 0: - return [4, this.getTransactionReceipt(transactionHash)]; - case 1: - receipt = _a.sent(); - if ((receipt ? receipt.confirmations : 0) >= confirmations) { - return [2, receipt]; - } - return [2, new Promise(function(resolve, reject) { - var cancelFuncs = []; - var done = false; - var alreadyDone = function() { - if (done) { - return true; - } - done = true; - cancelFuncs.forEach(function(func) { - func(); - }); - return false; - }; - var minedHandler = function(receipt2) { - if (receipt2.confirmations < confirmations) { - return; - } - if (alreadyDone()) { - return; - } - resolve(receipt2); - }; - _this.on(transactionHash, minedHandler); - cancelFuncs.push(function() { - _this.removeListener(transactionHash, minedHandler); - }); - if (replaceable) { - var lastBlockNumber_1 = replaceable.startBlock; - var scannedBlock_1 = null; - var replaceHandler_1 = function(blockNumber) { - return __awaiter(_this, void 0, void 0, function() { - var _this2 = this; - return __generator(this, function(_a2) { - switch (_a2.label) { - case 0: - if (done) { - return [ - 2 - /*return*/ - ]; - } - return [4, stall(1e3)]; - case 1: - _a2.sent(); - this.getTransactionCount(replaceable.from).then(function(nonce) { - return __awaiter(_this2, void 0, void 0, function() { - var mined, block, ti, tx, receipt_1, reason; - return __generator(this, function(_a3) { - switch (_a3.label) { - case 0: - if (done) { - return [ - 2 - /*return*/ - ]; - } - if (!(nonce <= replaceable.nonce)) - return [3, 1]; - lastBlockNumber_1 = blockNumber; - return [3, 9]; - case 1: - return [4, this.getTransaction(transactionHash)]; - case 2: - mined = _a3.sent(); - if (mined && mined.blockNumber != null) { - return [ - 2 - /*return*/ - ]; - } - if (scannedBlock_1 == null) { - scannedBlock_1 = lastBlockNumber_1 - 3; - if (scannedBlock_1 < replaceable.startBlock) { - scannedBlock_1 = replaceable.startBlock; - } - } - _a3.label = 3; - case 3: - if (!(scannedBlock_1 <= blockNumber)) - return [3, 9]; - if (done) { - return [ - 2 - /*return*/ - ]; - } - return [4, this.getBlockWithTransactions(scannedBlock_1)]; - case 4: - block = _a3.sent(); - ti = 0; - _a3.label = 5; - case 5: - if (!(ti < block.transactions.length)) - return [3, 8]; - tx = block.transactions[ti]; - if (tx.hash === transactionHash) { - return [ - 2 - /*return*/ - ]; - } - if (!(tx.from === replaceable.from && tx.nonce === replaceable.nonce)) - return [3, 7]; - if (done) { - return [ - 2 - /*return*/ - ]; - } - return [4, this.waitForTransaction(tx.hash, confirmations)]; - case 6: - receipt_1 = _a3.sent(); - if (alreadyDone()) { - return [ - 2 - /*return*/ - ]; - } - reason = "replaced"; - if (tx.data === replaceable.data && tx.to === replaceable.to && tx.value.eq(replaceable.value)) { - reason = "repriced"; - } else if (tx.data === "0x" && tx.from === tx.to && tx.value.isZero()) { - reason = "cancelled"; - } - reject(logger.makeError("transaction was replaced", logger_1.Logger.errors.TRANSACTION_REPLACED, { - cancelled: reason === "replaced" || reason === "cancelled", - reason, - replacement: this._wrapTransaction(tx), - hash: transactionHash, - receipt: receipt_1 - })); - return [ - 2 - /*return*/ - ]; - case 7: - ti++; - return [3, 5]; - case 8: - scannedBlock_1++; - return [3, 3]; - case 9: - if (done) { - return [ - 2 - /*return*/ - ]; - } - this.once("block", replaceHandler_1); - return [ - 2 - /*return*/ - ]; - } - }); - }); - }, function(error) { - if (done) { - return; - } - _this2.once("block", replaceHandler_1); - }); - return [ - 2 - /*return*/ - ]; - } - }); - }); - }; - if (done) { - return; - } - _this.once("block", replaceHandler_1); - cancelFuncs.push(function() { - _this.removeListener("block", replaceHandler_1); - }); - } - if (typeof timeout === "number" && timeout > 0) { - var timer_1 = setTimeout(function() { - if (alreadyDone()) { - return; - } - reject(logger.makeError("timeout exceeded", logger_1.Logger.errors.TIMEOUT, { timeout })); - }, timeout); - if (timer_1.unref) { - timer_1.unref(); - } - cancelFuncs.push(function() { - clearTimeout(timer_1); - }); - } - })]; - } - }); - }); - }; - BaseProvider2.prototype.getBlockNumber = function() { - return __awaiter(this, void 0, void 0, function() { - return __generator(this, function(_a) { - return [2, this._getInternalBlockNumber(0)]; - }); - }); - }; - BaseProvider2.prototype.getGasPrice = function() { - return __awaiter(this, void 0, void 0, function() { - var result; - return __generator(this, function(_a) { - switch (_a.label) { - case 0: - return [4, this.getNetwork()]; - case 1: - _a.sent(); - return [4, this.perform("getGasPrice", {})]; - case 2: - result = _a.sent(); - try { - return [2, bignumber_1.BigNumber.from(result)]; - } catch (error) { - return [2, logger.throwError("bad result from backend", logger_1.Logger.errors.SERVER_ERROR, { - method: "getGasPrice", - result, - error - })]; - } - return [ - 2 - /*return*/ - ]; - } - }); - }); - }; - BaseProvider2.prototype.getBalance = function(addressOrName, blockTag) { - return __awaiter(this, void 0, void 0, function() { - var params, result; - return __generator(this, function(_a) { - switch (_a.label) { - case 0: - return [4, this.getNetwork()]; - case 1: - _a.sent(); - return [4, (0, properties_1.resolveProperties)({ - address: this._getAddress(addressOrName), - blockTag: this._getBlockTag(blockTag) - })]; - case 2: - params = _a.sent(); - return [4, this.perform("getBalance", params)]; - case 3: - result = _a.sent(); - try { - return [2, bignumber_1.BigNumber.from(result)]; - } catch (error) { - return [2, logger.throwError("bad result from backend", logger_1.Logger.errors.SERVER_ERROR, { - method: "getBalance", - params, - result, - error - })]; - } - return [ - 2 - /*return*/ - ]; - } - }); - }); - }; - BaseProvider2.prototype.getTransactionCount = function(addressOrName, blockTag) { - return __awaiter(this, void 0, void 0, function() { - var params, result; - return __generator(this, function(_a) { - switch (_a.label) { - case 0: - return [4, this.getNetwork()]; - case 1: - _a.sent(); - return [4, (0, properties_1.resolveProperties)({ - address: this._getAddress(addressOrName), - blockTag: this._getBlockTag(blockTag) - })]; - case 2: - params = _a.sent(); - return [4, this.perform("getTransactionCount", params)]; - case 3: - result = _a.sent(); - try { - return [2, bignumber_1.BigNumber.from(result).toNumber()]; - } catch (error) { - return [2, logger.throwError("bad result from backend", logger_1.Logger.errors.SERVER_ERROR, { - method: "getTransactionCount", - params, - result, - error - })]; - } - return [ - 2 - /*return*/ - ]; - } - }); - }); - }; - BaseProvider2.prototype.getCode = function(addressOrName, blockTag) { - return __awaiter(this, void 0, void 0, function() { - var params, result; - return __generator(this, function(_a) { - switch (_a.label) { - case 0: - return [4, this.getNetwork()]; - case 1: - _a.sent(); - return [4, (0, properties_1.resolveProperties)({ - address: this._getAddress(addressOrName), - blockTag: this._getBlockTag(blockTag) - })]; - case 2: - params = _a.sent(); - return [4, this.perform("getCode", params)]; - case 3: - result = _a.sent(); - try { - return [2, (0, bytes_1.hexlify)(result)]; - } catch (error) { - return [2, logger.throwError("bad result from backend", logger_1.Logger.errors.SERVER_ERROR, { - method: "getCode", - params, - result, - error - })]; - } - return [ - 2 - /*return*/ - ]; - } - }); - }); - }; - BaseProvider2.prototype.getStorageAt = function(addressOrName, position, blockTag) { - return __awaiter(this, void 0, void 0, function() { - var params, result; - return __generator(this, function(_a) { - switch (_a.label) { - case 0: - return [4, this.getNetwork()]; - case 1: - _a.sent(); - return [4, (0, properties_1.resolveProperties)({ - address: this._getAddress(addressOrName), - blockTag: this._getBlockTag(blockTag), - position: Promise.resolve(position).then(function(p) { - return (0, bytes_1.hexValue)(p); - }) - })]; - case 2: - params = _a.sent(); - return [4, this.perform("getStorageAt", params)]; - case 3: - result = _a.sent(); - try { - return [2, (0, bytes_1.hexlify)(result)]; - } catch (error) { - return [2, logger.throwError("bad result from backend", logger_1.Logger.errors.SERVER_ERROR, { - method: "getStorageAt", - params, - result, - error - })]; - } - return [ - 2 - /*return*/ - ]; - } - }); - }); - }; - BaseProvider2.prototype._wrapTransaction = function(tx, hash, startBlock) { - var _this = this; - if (hash != null && (0, bytes_1.hexDataLength)(hash) !== 32) { - throw new Error("invalid response - sendTransaction"); - } - var result = tx; - if (hash != null && tx.hash !== hash) { - logger.throwError("Transaction hash mismatch from Provider.sendTransaction.", logger_1.Logger.errors.UNKNOWN_ERROR, { expectedHash: tx.hash, returnedHash: hash }); - } - result.wait = function(confirms, timeout) { - return __awaiter(_this, void 0, void 0, function() { - var replacement, receipt; - return __generator(this, function(_a) { - switch (_a.label) { - case 0: - if (confirms == null) { - confirms = 1; - } - if (timeout == null) { - timeout = 0; - } - replacement = void 0; - if (confirms !== 0 && startBlock != null) { - replacement = { - data: tx.data, - from: tx.from, - nonce: tx.nonce, - to: tx.to, - value: tx.value, - startBlock - }; - } - return [4, this._waitForTransaction(tx.hash, confirms, timeout, replacement)]; - case 1: - receipt = _a.sent(); - if (receipt == null && confirms === 0) { - return [2, null]; - } - this._emitted["t:" + tx.hash] = receipt.blockNumber; - if (receipt.status === 0) { - logger.throwError("transaction failed", logger_1.Logger.errors.CALL_EXCEPTION, { - transactionHash: tx.hash, - transaction: tx, - receipt - }); - } - return [2, receipt]; - } - }); - }); - }; - return result; - }; - BaseProvider2.prototype.sendTransaction = function(signedTransaction) { - return __awaiter(this, void 0, void 0, function() { - var hexTx, tx, blockNumber, hash, error_7; - return __generator(this, function(_a) { - switch (_a.label) { - case 0: - return [4, this.getNetwork()]; - case 1: - _a.sent(); - return [4, Promise.resolve(signedTransaction).then(function(t) { - return (0, bytes_1.hexlify)(t); - })]; - case 2: - hexTx = _a.sent(); - tx = this.formatter.transaction(signedTransaction); - if (tx.confirmations == null) { - tx.confirmations = 0; - } - return [4, this._getInternalBlockNumber(100 + 2 * this.pollingInterval)]; - case 3: - blockNumber = _a.sent(); - _a.label = 4; - case 4: - _a.trys.push([4, 6, , 7]); - return [4, this.perform("sendTransaction", { signedTransaction: hexTx })]; - case 5: - hash = _a.sent(); - return [2, this._wrapTransaction(tx, hash, blockNumber)]; - case 6: - error_7 = _a.sent(); - error_7.transaction = tx; - error_7.transactionHash = tx.hash; - throw error_7; - case 7: - return [ - 2 - /*return*/ - ]; - } - }); - }); - }; - BaseProvider2.prototype._getTransactionRequest = function(transaction) { - return __awaiter(this, void 0, void 0, function() { - var values, tx, _a, _b; - var _this = this; - return __generator(this, function(_c) { - switch (_c.label) { - case 0: - return [4, transaction]; - case 1: - values = _c.sent(); - tx = {}; - ["from", "to"].forEach(function(key) { - if (values[key] == null) { - return; - } - tx[key] = Promise.resolve(values[key]).then(function(v) { - return v ? _this._getAddress(v) : null; - }); - }); - ["gasLimit", "gasPrice", "maxFeePerGas", "maxPriorityFeePerGas", "value"].forEach(function(key) { - if (values[key] == null) { - return; - } - tx[key] = Promise.resolve(values[key]).then(function(v) { - return v ? bignumber_1.BigNumber.from(v) : null; - }); - }); - ["type"].forEach(function(key) { - if (values[key] == null) { - return; - } - tx[key] = Promise.resolve(values[key]).then(function(v) { - return v != null ? v : null; - }); - }); - if (values.accessList) { - tx.accessList = this.formatter.accessList(values.accessList); - } - ["data"].forEach(function(key) { - if (values[key] == null) { - return; - } - tx[key] = Promise.resolve(values[key]).then(function(v) { - return v ? (0, bytes_1.hexlify)(v) : null; - }); - }); - _b = (_a = this.formatter).transactionRequest; - return [4, (0, properties_1.resolveProperties)(tx)]; - case 2: - return [2, _b.apply(_a, [_c.sent()])]; - } - }); - }); - }; - BaseProvider2.prototype._getFilter = function(filter2) { - return __awaiter(this, void 0, void 0, function() { - var result, _a, _b; - var _this = this; - return __generator(this, function(_c) { - switch (_c.label) { - case 0: - return [4, filter2]; - case 1: - filter2 = _c.sent(); - result = {}; - if (filter2.address != null) { - result.address = this._getAddress(filter2.address); - } - ["blockHash", "topics"].forEach(function(key) { - if (filter2[key] == null) { - return; - } - result[key] = filter2[key]; - }); - ["fromBlock", "toBlock"].forEach(function(key) { - if (filter2[key] == null) { - return; - } - result[key] = _this._getBlockTag(filter2[key]); - }); - _b = (_a = this.formatter).filter; - return [4, (0, properties_1.resolveProperties)(result)]; - case 2: - return [2, _b.apply(_a, [_c.sent()])]; - } - }); - }); - }; - BaseProvider2.prototype._call = function(transaction, blockTag, attempt) { - return __awaiter(this, void 0, void 0, function() { - var txSender, result, data, sender, urls, urlsOffset, urlsLength, urlsData, u, url2, calldata, callbackSelector, extraData, ccipResult, tx, error_8; - return __generator(this, function(_a) { - switch (_a.label) { - case 0: - if (attempt >= MAX_CCIP_REDIRECTS) { - logger.throwError("CCIP read exceeded maximum redirections", logger_1.Logger.errors.SERVER_ERROR, { - redirects: attempt, - transaction - }); - } - txSender = transaction.to; - return [4, this.perform("call", { transaction, blockTag })]; - case 1: - result = _a.sent(); - if (!(attempt >= 0 && blockTag === "latest" && txSender != null && result.substring(0, 10) === "0x556f1830" && (0, bytes_1.hexDataLength)(result) % 32 === 4)) - return [3, 5]; - _a.label = 2; - case 2: - _a.trys.push([2, 4, , 5]); - data = (0, bytes_1.hexDataSlice)(result, 4); - sender = (0, bytes_1.hexDataSlice)(data, 0, 32); - if (!bignumber_1.BigNumber.from(sender).eq(txSender)) { - logger.throwError("CCIP Read sender did not match", logger_1.Logger.errors.CALL_EXCEPTION, { - name: "OffchainLookup", - signature: "OffchainLookup(address,string[],bytes,bytes4,bytes)", - transaction, - data: result - }); - } - urls = []; - urlsOffset = bignumber_1.BigNumber.from((0, bytes_1.hexDataSlice)(data, 32, 64)).toNumber(); - urlsLength = bignumber_1.BigNumber.from((0, bytes_1.hexDataSlice)(data, urlsOffset, urlsOffset + 32)).toNumber(); - urlsData = (0, bytes_1.hexDataSlice)(data, urlsOffset + 32); - for (u = 0; u < urlsLength; u++) { - url2 = _parseString(urlsData, u * 32); - if (url2 == null) { - logger.throwError("CCIP Read contained corrupt URL string", logger_1.Logger.errors.CALL_EXCEPTION, { - name: "OffchainLookup", - signature: "OffchainLookup(address,string[],bytes,bytes4,bytes)", - transaction, - data: result - }); - } - urls.push(url2); - } - calldata = _parseBytes(data, 64); - if (!bignumber_1.BigNumber.from((0, bytes_1.hexDataSlice)(data, 100, 128)).isZero()) { - logger.throwError("CCIP Read callback selector included junk", logger_1.Logger.errors.CALL_EXCEPTION, { - name: "OffchainLookup", - signature: "OffchainLookup(address,string[],bytes,bytes4,bytes)", - transaction, - data: result - }); - } - callbackSelector = (0, bytes_1.hexDataSlice)(data, 96, 100); - extraData = _parseBytes(data, 128); - return [4, this.ccipReadFetch(transaction, calldata, urls)]; - case 3: - ccipResult = _a.sent(); - if (ccipResult == null) { - logger.throwError("CCIP Read disabled or provided no URLs", logger_1.Logger.errors.CALL_EXCEPTION, { - name: "OffchainLookup", - signature: "OffchainLookup(address,string[],bytes,bytes4,bytes)", - transaction, - data: result - }); - } - tx = { - to: txSender, - data: (0, bytes_1.hexConcat)([callbackSelector, encodeBytes([ccipResult, extraData])]) - }; - return [2, this._call(tx, blockTag, attempt + 1)]; - case 4: - error_8 = _a.sent(); - if (error_8.code === logger_1.Logger.errors.SERVER_ERROR) { - throw error_8; - } - return [3, 5]; - case 5: - try { - return [2, (0, bytes_1.hexlify)(result)]; - } catch (error) { - return [2, logger.throwError("bad result from backend", logger_1.Logger.errors.SERVER_ERROR, { - method: "call", - params: { transaction, blockTag }, - result, - error - })]; - } - return [ - 2 - /*return*/ - ]; - } - }); - }); - }; - BaseProvider2.prototype.call = function(transaction, blockTag) { - return __awaiter(this, void 0, void 0, function() { - var resolved; - return __generator(this, function(_a) { - switch (_a.label) { - case 0: - return [4, this.getNetwork()]; - case 1: - _a.sent(); - return [4, (0, properties_1.resolveProperties)({ - transaction: this._getTransactionRequest(transaction), - blockTag: this._getBlockTag(blockTag), - ccipReadEnabled: Promise.resolve(transaction.ccipReadEnabled) - })]; - case 2: - resolved = _a.sent(); - return [2, this._call(resolved.transaction, resolved.blockTag, resolved.ccipReadEnabled ? 0 : -1)]; - } - }); - }); - }; - BaseProvider2.prototype.estimateGas = function(transaction) { - return __awaiter(this, void 0, void 0, function() { - var params, result; - return __generator(this, function(_a) { - switch (_a.label) { - case 0: - return [4, this.getNetwork()]; - case 1: - _a.sent(); - return [4, (0, properties_1.resolveProperties)({ - transaction: this._getTransactionRequest(transaction) - })]; - case 2: - params = _a.sent(); - return [4, this.perform("estimateGas", params)]; - case 3: - result = _a.sent(); - try { - return [2, bignumber_1.BigNumber.from(result)]; - } catch (error) { - return [2, logger.throwError("bad result from backend", logger_1.Logger.errors.SERVER_ERROR, { - method: "estimateGas", - params, - result, - error - })]; - } - return [ - 2 - /*return*/ - ]; - } - }); - }); - }; - BaseProvider2.prototype._getAddress = function(addressOrName) { - return __awaiter(this, void 0, void 0, function() { - var address; - return __generator(this, function(_a) { - switch (_a.label) { - case 0: - return [4, addressOrName]; - case 1: - addressOrName = _a.sent(); - if (typeof addressOrName !== "string") { - logger.throwArgumentError("invalid address or ENS name", "name", addressOrName); - } - return [4, this.resolveName(addressOrName)]; - case 2: - address = _a.sent(); - if (address == null) { - logger.throwError("ENS name not configured", logger_1.Logger.errors.UNSUPPORTED_OPERATION, { - operation: "resolveName(" + JSON.stringify(addressOrName) + ")" - }); - } - return [2, address]; - } - }); - }); - }; - BaseProvider2.prototype._getBlock = function(blockHashOrBlockTag, includeTransactions) { - return __awaiter(this, void 0, void 0, function() { - var blockNumber, params, _a, error_9; - var _this = this; - return __generator(this, function(_b) { - switch (_b.label) { - case 0: - return [4, this.getNetwork()]; - case 1: - _b.sent(); - return [4, blockHashOrBlockTag]; - case 2: - blockHashOrBlockTag = _b.sent(); - blockNumber = -128; - params = { - includeTransactions: !!includeTransactions - }; - if (!(0, bytes_1.isHexString)(blockHashOrBlockTag, 32)) - return [3, 3]; - params.blockHash = blockHashOrBlockTag; - return [3, 6]; - case 3: - _b.trys.push([3, 5, , 6]); - _a = params; - return [4, this._getBlockTag(blockHashOrBlockTag)]; - case 4: - _a.blockTag = _b.sent(); - if ((0, bytes_1.isHexString)(params.blockTag)) { - blockNumber = parseInt(params.blockTag.substring(2), 16); - } - return [3, 6]; - case 5: - error_9 = _b.sent(); - logger.throwArgumentError("invalid block hash or block tag", "blockHashOrBlockTag", blockHashOrBlockTag); - return [3, 6]; - case 6: - return [2, (0, web_1.poll)(function() { - return __awaiter(_this, void 0, void 0, function() { - var block, blockNumber_1, i, tx, confirmations, blockWithTxs; - var _this2 = this; - return __generator(this, function(_a2) { - switch (_a2.label) { - case 0: - return [4, this.perform("getBlock", params)]; - case 1: - block = _a2.sent(); - if (block == null) { - if (params.blockHash != null) { - if (this._emitted["b:" + params.blockHash] == null) { - return [2, null]; - } - } - if (params.blockTag != null) { - if (blockNumber > this._emitted.block) { - return [2, null]; - } - } - return [2, void 0]; - } - if (!includeTransactions) - return [3, 8]; - blockNumber_1 = null; - i = 0; - _a2.label = 2; - case 2: - if (!(i < block.transactions.length)) - return [3, 7]; - tx = block.transactions[i]; - if (!(tx.blockNumber == null)) - return [3, 3]; - tx.confirmations = 0; - return [3, 6]; - case 3: - if (!(tx.confirmations == null)) - return [3, 6]; - if (!(blockNumber_1 == null)) - return [3, 5]; - return [4, this._getInternalBlockNumber(100 + 2 * this.pollingInterval)]; - case 4: - blockNumber_1 = _a2.sent(); - _a2.label = 5; - case 5: - confirmations = blockNumber_1 - tx.blockNumber + 1; - if (confirmations <= 0) { - confirmations = 1; - } - tx.confirmations = confirmations; - _a2.label = 6; - case 6: - i++; - return [3, 2]; - case 7: - blockWithTxs = this.formatter.blockWithTransactions(block); - blockWithTxs.transactions = blockWithTxs.transactions.map(function(tx2) { - return _this2._wrapTransaction(tx2); - }); - return [2, blockWithTxs]; - case 8: - return [2, this.formatter.block(block)]; - } - }); - }); - }, { oncePoll: this })]; - } - }); - }); - }; - BaseProvider2.prototype.getBlock = function(blockHashOrBlockTag) { - return this._getBlock(blockHashOrBlockTag, false); - }; - BaseProvider2.prototype.getBlockWithTransactions = function(blockHashOrBlockTag) { - return this._getBlock(blockHashOrBlockTag, true); - }; - BaseProvider2.prototype.getTransaction = function(transactionHash) { - return __awaiter(this, void 0, void 0, function() { - var params; - var _this = this; - return __generator(this, function(_a) { - switch (_a.label) { - case 0: - return [4, this.getNetwork()]; - case 1: - _a.sent(); - return [4, transactionHash]; - case 2: - transactionHash = _a.sent(); - params = { transactionHash: this.formatter.hash(transactionHash, true) }; - return [2, (0, web_1.poll)(function() { - return __awaiter(_this, void 0, void 0, function() { - var result, tx, blockNumber, confirmations; - return __generator(this, function(_a2) { - switch (_a2.label) { - case 0: - return [4, this.perform("getTransaction", params)]; - case 1: - result = _a2.sent(); - if (result == null) { - if (this._emitted["t:" + transactionHash] == null) { - return [2, null]; - } - return [2, void 0]; - } - tx = this.formatter.transactionResponse(result); - if (!(tx.blockNumber == null)) - return [3, 2]; - tx.confirmations = 0; - return [3, 4]; - case 2: - if (!(tx.confirmations == null)) - return [3, 4]; - return [4, this._getInternalBlockNumber(100 + 2 * this.pollingInterval)]; - case 3: - blockNumber = _a2.sent(); - confirmations = blockNumber - tx.blockNumber + 1; - if (confirmations <= 0) { - confirmations = 1; - } - tx.confirmations = confirmations; - _a2.label = 4; - case 4: - return [2, this._wrapTransaction(tx)]; - } - }); - }); - }, { oncePoll: this })]; - } - }); - }); - }; - BaseProvider2.prototype.getTransactionReceipt = function(transactionHash) { - return __awaiter(this, void 0, void 0, function() { - var params; - var _this = this; - return __generator(this, function(_a) { - switch (_a.label) { - case 0: - return [4, this.getNetwork()]; - case 1: - _a.sent(); - return [4, transactionHash]; - case 2: - transactionHash = _a.sent(); - params = { transactionHash: this.formatter.hash(transactionHash, true) }; - return [2, (0, web_1.poll)(function() { - return __awaiter(_this, void 0, void 0, function() { - var result, receipt, blockNumber, confirmations; - return __generator(this, function(_a2) { - switch (_a2.label) { - case 0: - return [4, this.perform("getTransactionReceipt", params)]; - case 1: - result = _a2.sent(); - if (result == null) { - if (this._emitted["t:" + transactionHash] == null) { - return [2, null]; - } - return [2, void 0]; - } - if (result.blockHash == null) { - return [2, void 0]; - } - receipt = this.formatter.receipt(result); - if (!(receipt.blockNumber == null)) - return [3, 2]; - receipt.confirmations = 0; - return [3, 4]; - case 2: - if (!(receipt.confirmations == null)) - return [3, 4]; - return [4, this._getInternalBlockNumber(100 + 2 * this.pollingInterval)]; - case 3: - blockNumber = _a2.sent(); - confirmations = blockNumber - receipt.blockNumber + 1; - if (confirmations <= 0) { - confirmations = 1; - } - receipt.confirmations = confirmations; - _a2.label = 4; - case 4: - return [2, receipt]; - } - }); - }); - }, { oncePoll: this })]; - } - }); - }); - }; - BaseProvider2.prototype.getLogs = function(filter2) { - return __awaiter(this, void 0, void 0, function() { - var params, logs; - return __generator(this, function(_a) { - switch (_a.label) { - case 0: - return [4, this.getNetwork()]; - case 1: - _a.sent(); - return [4, (0, properties_1.resolveProperties)({ filter: this._getFilter(filter2) })]; - case 2: - params = _a.sent(); - return [4, this.perform("getLogs", params)]; - case 3: - logs = _a.sent(); - logs.forEach(function(log) { - if (log.removed == null) { - log.removed = false; - } - }); - return [2, formatter_1.Formatter.arrayOf(this.formatter.filterLog.bind(this.formatter))(logs)]; - } - }); - }); - }; - BaseProvider2.prototype.getEtherPrice = function() { - return __awaiter(this, void 0, void 0, function() { - return __generator(this, function(_a) { - switch (_a.label) { - case 0: - return [4, this.getNetwork()]; - case 1: - _a.sent(); - return [2, this.perform("getEtherPrice", {})]; - } - }); - }); - }; - BaseProvider2.prototype._getBlockTag = function(blockTag) { - return __awaiter(this, void 0, void 0, function() { - var blockNumber; - return __generator(this, function(_a) { - switch (_a.label) { - case 0: - return [4, blockTag]; - case 1: - blockTag = _a.sent(); - if (!(typeof blockTag === "number" && blockTag < 0)) - return [3, 3]; - if (blockTag % 1) { - logger.throwArgumentError("invalid BlockTag", "blockTag", blockTag); - } - return [4, this._getInternalBlockNumber(100 + 2 * this.pollingInterval)]; - case 2: - blockNumber = _a.sent(); - blockNumber += blockTag; - if (blockNumber < 0) { - blockNumber = 0; - } - return [2, this.formatter.blockTag(blockNumber)]; - case 3: - return [2, this.formatter.blockTag(blockTag)]; - } - }); - }); - }; - BaseProvider2.prototype.getResolver = function(name) { - return __awaiter(this, void 0, void 0, function() { - var currentName, addr, resolver, _a; - return __generator(this, function(_b) { - switch (_b.label) { - case 0: - currentName = name; - _b.label = 1; - case 1: - if (false) - {} - if (currentName === "" || currentName === ".") { - return [2, null]; - } - if (name !== "eth" && currentName === "eth") { - return [2, null]; - } - return [4, this._getResolver(currentName, "getResolver")]; - case 2: - addr = _b.sent(); - if (!(addr != null)) - return [3, 5]; - resolver = new Resolver(this, addr, name); - _a = currentName !== name; - if (!_a) - return [3, 4]; - return [4, resolver.supportsWildcard()]; - case 3: - _a = !_b.sent(); - _b.label = 4; - case 4: - if (_a) { - return [2, null]; - } - return [2, resolver]; - case 5: - currentName = currentName.split(".").slice(1).join("."); - return [3, 1]; - case 6: - return [ - 2 - /*return*/ - ]; - } - }); - }); - }; - BaseProvider2.prototype._getResolver = function(name, operation) { - return __awaiter(this, void 0, void 0, function() { - var network, addrData, error_10; - return __generator(this, function(_a) { - switch (_a.label) { - case 0: - if (operation == null) { - operation = "ENS"; - } - return [4, this.getNetwork()]; - case 1: - network = _a.sent(); - if (!network.ensAddress) { - logger.throwError("network does not support ENS", logger_1.Logger.errors.UNSUPPORTED_OPERATION, { operation, network: network.name }); - } - _a.label = 2; - case 2: - _a.trys.push([2, 4, , 5]); - return [4, this.call({ - to: network.ensAddress, - data: "0x0178b8bf" + (0, hash_1.namehash)(name).substring(2) - })]; - case 3: - addrData = _a.sent(); - return [2, this.formatter.callAddress(addrData)]; - case 4: - error_10 = _a.sent(); - return [3, 5]; - case 5: - return [2, null]; - } - }); - }); - }; - BaseProvider2.prototype.resolveName = function(name) { - return __awaiter(this, void 0, void 0, function() { - var resolver; - return __generator(this, function(_a) { - switch (_a.label) { - case 0: - return [4, name]; - case 1: - name = _a.sent(); - try { - return [2, Promise.resolve(this.formatter.address(name))]; - } catch (error) { - if ((0, bytes_1.isHexString)(name)) { - throw error; - } - } - if (typeof name !== "string") { - logger.throwArgumentError("invalid ENS name", "name", name); - } - return [4, this.getResolver(name)]; - case 2: - resolver = _a.sent(); - if (!resolver) { - return [2, null]; - } - return [4, resolver.getAddress()]; - case 3: - return [2, _a.sent()]; - } - }); - }); - }; - BaseProvider2.prototype.lookupAddress = function(address) { - return __awaiter(this, void 0, void 0, function() { - var node, resolverAddr, name, _a, addr; - return __generator(this, function(_b) { - switch (_b.label) { - case 0: - return [4, address]; - case 1: - address = _b.sent(); - address = this.formatter.address(address); - node = address.substring(2).toLowerCase() + ".addr.reverse"; - return [4, this._getResolver(node, "lookupAddress")]; - case 2: - resolverAddr = _b.sent(); - if (resolverAddr == null) { - return [2, null]; - } - _a = _parseString; - return [4, this.call({ - to: resolverAddr, - data: "0x691f3431" + (0, hash_1.namehash)(node).substring(2) - })]; - case 3: - name = _a.apply(void 0, [_b.sent(), 0]); - return [4, this.resolveName(name)]; - case 4: - addr = _b.sent(); - if (addr != address) { - return [2, null]; - } - return [2, name]; - } - }); - }); - }; - BaseProvider2.prototype.getAvatar = function(nameOrAddress) { - return __awaiter(this, void 0, void 0, function() { - var resolver, address, node, resolverAddress, avatar_1, error_11, name_1, _a, error_12, avatar; - return __generator(this, function(_b) { - switch (_b.label) { - case 0: - resolver = null; - if (!(0, bytes_1.isHexString)(nameOrAddress)) - return [3, 10]; - address = this.formatter.address(nameOrAddress); - node = address.substring(2).toLowerCase() + ".addr.reverse"; - return [4, this._getResolver(node, "getAvatar")]; - case 1: - resolverAddress = _b.sent(); - if (!resolverAddress) { - return [2, null]; - } - resolver = new Resolver(this, resolverAddress, node); - _b.label = 2; - case 2: - _b.trys.push([2, 4, , 5]); - return [4, resolver.getAvatar()]; - case 3: - avatar_1 = _b.sent(); - if (avatar_1) { - return [2, avatar_1.url]; - } - return [3, 5]; - case 4: - error_11 = _b.sent(); - if (error_11.code !== logger_1.Logger.errors.CALL_EXCEPTION) { - throw error_11; - } - return [3, 5]; - case 5: - _b.trys.push([5, 8, , 9]); - _a = _parseString; - return [4, this.call({ - to: resolverAddress, - data: "0x691f3431" + (0, hash_1.namehash)(node).substring(2) - })]; - case 6: - name_1 = _a.apply(void 0, [_b.sent(), 0]); - return [4, this.getResolver(name_1)]; - case 7: - resolver = _b.sent(); - return [3, 9]; - case 8: - error_12 = _b.sent(); - if (error_12.code !== logger_1.Logger.errors.CALL_EXCEPTION) { - throw error_12; - } - return [2, null]; - case 9: - return [3, 12]; - case 10: - return [4, this.getResolver(nameOrAddress)]; - case 11: - resolver = _b.sent(); - if (!resolver) { - return [2, null]; - } - _b.label = 12; - case 12: - return [4, resolver.getAvatar()]; - case 13: - avatar = _b.sent(); - if (avatar == null) { - return [2, null]; - } - return [2, avatar.url]; - } - }); - }); - }; - BaseProvider2.prototype.perform = function(method, params) { - return logger.throwError(method + " not implemented", logger_1.Logger.errors.NOT_IMPLEMENTED, { operation: method }); - }; - BaseProvider2.prototype._startEvent = function(event) { - this.polling = this._events.filter(function(e) { - return e.pollable(); - }).length > 0; - }; - BaseProvider2.prototype._stopEvent = function(event) { - this.polling = this._events.filter(function(e) { - return e.pollable(); - }).length > 0; - }; - BaseProvider2.prototype._addEventListener = function(eventName, listener, once) { - var event = new Event(getEventTag(eventName), listener, once); - this._events.push(event); - this._startEvent(event); - return this; - }; - BaseProvider2.prototype.on = function(eventName, listener) { - return this._addEventListener(eventName, listener, false); - }; - BaseProvider2.prototype.once = function(eventName, listener) { - return this._addEventListener(eventName, listener, true); - }; - BaseProvider2.prototype.emit = function(eventName) { - var _this = this; - var args = []; - for (var _i = 1; _i < arguments.length; _i++) { - args[_i - 1] = arguments[_i]; - } - var result = false; - var stopped = []; - var eventTag = getEventTag(eventName); - this._events = this._events.filter(function(event) { - if (event.tag !== eventTag) { - return true; - } - setTimeout(function() { - event.listener.apply(_this, args); - }, 0); - result = true; - if (event.once) { - stopped.push(event); - return false; - } - return true; - }); - stopped.forEach(function(event) { - _this._stopEvent(event); - }); - return result; - }; - BaseProvider2.prototype.listenerCount = function(eventName) { - if (!eventName) { - return this._events.length; - } - var eventTag = getEventTag(eventName); - return this._events.filter(function(event) { - return event.tag === eventTag; - }).length; - }; - BaseProvider2.prototype.listeners = function(eventName) { - if (eventName == null) { - return this._events.map(function(event) { - return event.listener; - }); - } - var eventTag = getEventTag(eventName); - return this._events.filter(function(event) { - return event.tag === eventTag; - }).map(function(event) { - return event.listener; - }); - }; - BaseProvider2.prototype.off = function(eventName, listener) { - var _this = this; - if (listener == null) { - return this.removeAllListeners(eventName); - } - var stopped = []; - var found = false; - var eventTag = getEventTag(eventName); - this._events = this._events.filter(function(event) { - if (event.tag !== eventTag || event.listener != listener) { - return true; - } - if (found) { - return true; - } - found = true; - stopped.push(event); - return false; - }); - stopped.forEach(function(event) { - _this._stopEvent(event); - }); - return this; - }; - BaseProvider2.prototype.removeAllListeners = function(eventName) { - var _this = this; - var stopped = []; - if (eventName == null) { - stopped = this._events; - this._events = []; - } else { - var eventTag_1 = getEventTag(eventName); - this._events = this._events.filter(function(event) { - if (event.tag !== eventTag_1) { - return true; - } - stopped.push(event); - return false; - }); - } - stopped.forEach(function(event) { - _this._stopEvent(event); - }); - return this; - }; - return BaseProvider2; - }(abstract_provider_1.Provider) - ); - exports2.BaseProvider = BaseProvider; - } -}); - -// node_modules/@ethersproject/abstract-signer/lib/_version.js -var require_version16 = __commonJS({ - "node_modules/@ethersproject/abstract-signer/lib/_version.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.version = void 0; - exports2.version = "abstract-signer/5.7.0"; - } -}); - -// node_modules/@ethersproject/abstract-signer/lib/index.js -var require_lib20 = __commonJS({ - "node_modules/@ethersproject/abstract-signer/lib/index.js"(exports2) { - "use strict"; - var __extends = exports2 && exports2.__extends || /* @__PURE__ */ function() { - var 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); - }; - return function(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 __()); - }; - }(); - var __awaiter = exports2 && exports2.__awaiter || function(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, reject) { - function fulfilled(value) { - try { - step(generator.next(value)); - } catch (e) { - reject(e); - } - } - function rejected(value) { - try { - step(generator["throw"](value)); - } catch (e) { - reject(e); - } - } - function step(result) { - result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); - } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); - }; - var __generator = exports2 && exports2.__generator || function(thisArg, body) { - var _ = { label: 0, sent: function() { - if (t[0] & 1) - throw t[1]; - return t[1]; - }, trys: [], ops: [] }, f, y, t, g; - return g = { next: verb(0), "throw": verb(1), "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 (_) - 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 }; - } - }; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.VoidSigner = exports2.Signer = void 0; - var properties_1 = require_lib4(); - var logger_1 = require_lib(); - var _version_1 = require_version16(); - var logger = new logger_1.Logger(_version_1.version); - var allowedTransactionKeys = [ - "accessList", - "ccipReadEnabled", - "chainId", - "customData", - "data", - "from", - "gasLimit", - "gasPrice", - "maxFeePerGas", - "maxPriorityFeePerGas", - "nonce", - "to", - "type", - "value" - ]; - var forwardErrors = [ - logger_1.Logger.errors.INSUFFICIENT_FUNDS, - logger_1.Logger.errors.NONCE_EXPIRED, - logger_1.Logger.errors.REPLACEMENT_UNDERPRICED - ]; - var Signer = ( - /** @class */ - function() { - function Signer2() { - var _newTarget = this.constructor; - logger.checkAbstract(_newTarget, Signer2); - (0, properties_1.defineReadOnly)(this, "_isSigner", true); - } - Signer2.prototype.getBalance = function(blockTag) { - return __awaiter(this, void 0, void 0, function() { - return __generator(this, function(_a) { - switch (_a.label) { - case 0: - this._checkProvider("getBalance"); - return [4, this.provider.getBalance(this.getAddress(), blockTag)]; - case 1: - return [2, _a.sent()]; - } - }); - }); - }; - Signer2.prototype.getTransactionCount = function(blockTag) { - return __awaiter(this, void 0, void 0, function() { - return __generator(this, function(_a) { - switch (_a.label) { - case 0: - this._checkProvider("getTransactionCount"); - return [4, this.provider.getTransactionCount(this.getAddress(), blockTag)]; - case 1: - return [2, _a.sent()]; - } - }); - }); - }; - Signer2.prototype.estimateGas = function(transaction) { - return __awaiter(this, void 0, void 0, function() { - var tx; - return __generator(this, function(_a) { - switch (_a.label) { - case 0: - this._checkProvider("estimateGas"); - return [4, (0, properties_1.resolveProperties)(this.checkTransaction(transaction))]; - case 1: - tx = _a.sent(); - return [4, this.provider.estimateGas(tx)]; - case 2: - return [2, _a.sent()]; - } - }); - }); - }; - Signer2.prototype.call = function(transaction, blockTag) { - return __awaiter(this, void 0, void 0, function() { - var tx; - return __generator(this, function(_a) { - switch (_a.label) { - case 0: - this._checkProvider("call"); - return [4, (0, properties_1.resolveProperties)(this.checkTransaction(transaction))]; - case 1: - tx = _a.sent(); - return [4, this.provider.call(tx, blockTag)]; - case 2: - return [2, _a.sent()]; - } - }); - }); - }; - Signer2.prototype.sendTransaction = function(transaction) { - return __awaiter(this, void 0, void 0, function() { - var tx, signedTx; - return __generator(this, function(_a) { - switch (_a.label) { - case 0: - this._checkProvider("sendTransaction"); - return [4, this.populateTransaction(transaction)]; - case 1: - tx = _a.sent(); - return [4, this.signTransaction(tx)]; - case 2: - signedTx = _a.sent(); - return [4, this.provider.sendTransaction(signedTx)]; - case 3: - return [2, _a.sent()]; - } - }); - }); - }; - Signer2.prototype.getChainId = function() { - return __awaiter(this, void 0, void 0, function() { - var network; - return __generator(this, function(_a) { - switch (_a.label) { - case 0: - this._checkProvider("getChainId"); - return [4, this.provider.getNetwork()]; - case 1: - network = _a.sent(); - return [2, network.chainId]; - } - }); - }); - }; - Signer2.prototype.getGasPrice = function() { - return __awaiter(this, void 0, void 0, function() { - return __generator(this, function(_a) { - switch (_a.label) { - case 0: - this._checkProvider("getGasPrice"); - return [4, this.provider.getGasPrice()]; - case 1: - return [2, _a.sent()]; - } - }); - }); - }; - Signer2.prototype.getFeeData = function() { - return __awaiter(this, void 0, void 0, function() { - return __generator(this, function(_a) { - switch (_a.label) { - case 0: - this._checkProvider("getFeeData"); - return [4, this.provider.getFeeData()]; - case 1: - return [2, _a.sent()]; - } - }); - }); - }; - Signer2.prototype.resolveName = function(name) { - return __awaiter(this, void 0, void 0, function() { - return __generator(this, function(_a) { - switch (_a.label) { - case 0: - this._checkProvider("resolveName"); - return [4, this.provider.resolveName(name)]; - case 1: - return [2, _a.sent()]; - } - }); - }); - }; - Signer2.prototype.checkTransaction = function(transaction) { - for (var key in transaction) { - if (allowedTransactionKeys.indexOf(key) === -1) { - logger.throwArgumentError("invalid transaction key: " + key, "transaction", transaction); - } - } - var tx = (0, properties_1.shallowCopy)(transaction); - if (tx.from == null) { - tx.from = this.getAddress(); - } else { - tx.from = Promise.all([ - Promise.resolve(tx.from), - this.getAddress() - ]).then(function(result) { - if (result[0].toLowerCase() !== result[1].toLowerCase()) { - logger.throwArgumentError("from address mismatch", "transaction", transaction); - } - return result[0]; - }); - } - return tx; - }; - Signer2.prototype.populateTransaction = function(transaction) { - return __awaiter(this, void 0, void 0, function() { - var tx, hasEip1559, feeData, gasPrice; - var _this = this; - return __generator(this, function(_a) { - switch (_a.label) { - case 0: - return [4, (0, properties_1.resolveProperties)(this.checkTransaction(transaction))]; - case 1: - tx = _a.sent(); - if (tx.to != null) { - tx.to = Promise.resolve(tx.to).then(function(to) { - return __awaiter(_this, void 0, void 0, function() { - var address; - return __generator(this, function(_a2) { - switch (_a2.label) { - case 0: - if (to == null) { - return [2, null]; - } - return [4, this.resolveName(to)]; - case 1: - address = _a2.sent(); - if (address == null) { - logger.throwArgumentError("provided ENS name resolves to null", "tx.to", to); - } - return [2, address]; - } - }); - }); - }); - tx.to.catch(function(error) { - }); - } - hasEip1559 = tx.maxFeePerGas != null || tx.maxPriorityFeePerGas != null; - if (tx.gasPrice != null && (tx.type === 2 || hasEip1559)) { - logger.throwArgumentError("eip-1559 transaction do not support gasPrice", "transaction", transaction); - } else if ((tx.type === 0 || tx.type === 1) && hasEip1559) { - logger.throwArgumentError("pre-eip-1559 transaction do not support maxFeePerGas/maxPriorityFeePerGas", "transaction", transaction); - } - if (!((tx.type === 2 || tx.type == null) && (tx.maxFeePerGas != null && tx.maxPriorityFeePerGas != null))) - return [3, 2]; - tx.type = 2; - return [3, 5]; - case 2: - if (!(tx.type === 0 || tx.type === 1)) - return [3, 3]; - if (tx.gasPrice == null) { - tx.gasPrice = this.getGasPrice(); - } - return [3, 5]; - case 3: - return [4, this.getFeeData()]; - case 4: - feeData = _a.sent(); - if (tx.type == null) { - if (feeData.maxFeePerGas != null && feeData.maxPriorityFeePerGas != null) { - tx.type = 2; - if (tx.gasPrice != null) { - gasPrice = tx.gasPrice; - delete tx.gasPrice; - tx.maxFeePerGas = gasPrice; - tx.maxPriorityFeePerGas = gasPrice; - } else { - if (tx.maxFeePerGas == null) { - tx.maxFeePerGas = feeData.maxFeePerGas; - } - if (tx.maxPriorityFeePerGas == null) { - tx.maxPriorityFeePerGas = feeData.maxPriorityFeePerGas; - } - } - } else if (feeData.gasPrice != null) { - if (hasEip1559) { - logger.throwError("network does not support EIP-1559", logger_1.Logger.errors.UNSUPPORTED_OPERATION, { - operation: "populateTransaction" - }); - } - if (tx.gasPrice == null) { - tx.gasPrice = feeData.gasPrice; - } - tx.type = 0; - } else { - logger.throwError("failed to get consistent fee data", logger_1.Logger.errors.UNSUPPORTED_OPERATION, { - operation: "signer.getFeeData" - }); - } - } else if (tx.type === 2) { - if (tx.maxFeePerGas == null) { - tx.maxFeePerGas = feeData.maxFeePerGas; - } - if (tx.maxPriorityFeePerGas == null) { - tx.maxPriorityFeePerGas = feeData.maxPriorityFeePerGas; - } - } - _a.label = 5; - case 5: - if (tx.nonce == null) { - tx.nonce = this.getTransactionCount("pending"); - } - if (tx.gasLimit == null) { - tx.gasLimit = this.estimateGas(tx).catch(function(error) { - if (forwardErrors.indexOf(error.code) >= 0) { - throw error; - } - return logger.throwError("cannot estimate gas; transaction may fail or may require manual gas limit", logger_1.Logger.errors.UNPREDICTABLE_GAS_LIMIT, { - error, - tx - }); - }); - } - if (tx.chainId == null) { - tx.chainId = this.getChainId(); - } else { - tx.chainId = Promise.all([ - Promise.resolve(tx.chainId), - this.getChainId() - ]).then(function(results) { - if (results[1] !== 0 && results[0] !== results[1]) { - logger.throwArgumentError("chainId address mismatch", "transaction", transaction); - } - return results[0]; - }); - } - return [4, (0, properties_1.resolveProperties)(tx)]; - case 6: - return [2, _a.sent()]; - } - }); - }); - }; - Signer2.prototype._checkProvider = function(operation) { - if (!this.provider) { - logger.throwError("missing provider", logger_1.Logger.errors.UNSUPPORTED_OPERATION, { - operation: operation || "_checkProvider" - }); - } - }; - Signer2.isSigner = function(value) { - return !!(value && value._isSigner); - }; - return Signer2; - }() - ); - exports2.Signer = Signer; - var VoidSigner = ( - /** @class */ - function(_super) { - __extends(VoidSigner2, _super); - function VoidSigner2(address, provider) { - var _this = _super.call(this) || this; - (0, properties_1.defineReadOnly)(_this, "address", address); - (0, properties_1.defineReadOnly)(_this, "provider", provider || null); - return _this; - } - VoidSigner2.prototype.getAddress = function() { - return Promise.resolve(this.address); - }; - VoidSigner2.prototype._fail = function(message, operation) { - return Promise.resolve().then(function() { - logger.throwError(message, logger_1.Logger.errors.UNSUPPORTED_OPERATION, { operation }); - }); - }; - VoidSigner2.prototype.signMessage = function(message) { - return this._fail("VoidSigner cannot sign messages", "signMessage"); - }; - VoidSigner2.prototype.signTransaction = function(transaction) { - return this._fail("VoidSigner cannot sign transactions", "signTransaction"); - }; - VoidSigner2.prototype._signTypedData = function(domain, types, value) { - return this._fail("VoidSigner cannot sign typed data", "signTypedData"); - }; - VoidSigner2.prototype.connect = function(provider) { - return new VoidSigner2(this.address, provider); - }; - return VoidSigner2; - }(Signer) - ); - exports2.VoidSigner = VoidSigner; - } -}); - -// node_modules/@ethersproject/providers/lib/json-rpc-provider.js -var require_json_rpc_provider = __commonJS({ - "node_modules/@ethersproject/providers/lib/json-rpc-provider.js"(exports2) { - "use strict"; - var __extends = exports2 && exports2.__extends || /* @__PURE__ */ function() { - var 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); - }; - return function(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 __()); - }; - }(); - var __awaiter = exports2 && exports2.__awaiter || function(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, reject) { - function fulfilled(value) { - try { - step(generator.next(value)); - } catch (e) { - reject(e); - } - } - function rejected(value) { - try { - step(generator["throw"](value)); - } catch (e) { - reject(e); - } - } - function step(result) { - result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); - } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); - }; - var __generator = exports2 && exports2.__generator || function(thisArg, body) { - var _ = { label: 0, sent: function() { - if (t[0] & 1) - throw t[1]; - return t[1]; - }, trys: [], ops: [] }, f, y, t, g; - return g = { next: verb(0), "throw": verb(1), "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 (_) - 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 }; - } - }; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.JsonRpcProvider = exports2.JsonRpcSigner = void 0; - var abstract_signer_1 = require_lib20(); - var bignumber_1 = require_lib3(); - var bytes_1 = require_lib2(); - var hash_1 = require_lib15(); - var properties_1 = require_lib4(); - var strings_1 = require_lib11(); - var transactions_1 = require_lib19(); - var web_1 = require_lib17(); - var logger_1 = require_lib(); - var _version_1 = require_version13(); - var logger = new logger_1.Logger(_version_1.version); - var base_provider_1 = require_base_provider(); - var errorGas = ["call", "estimateGas"]; - function spelunk(value, requireData) { - if (value == null) { - return null; - } - if (typeof value.message === "string" && value.message.match("reverted")) { - var data = (0, bytes_1.isHexString)(value.data) ? value.data : null; - if (!requireData || data) { - return { message: value.message, data }; - } - } - if (typeof value === "object") { - for (var key in value) { - var result = spelunk(value[key], requireData); - if (result) { - return result; - } - } - return null; - } - if (typeof value === "string") { - try { - return spelunk(JSON.parse(value), requireData); - } catch (error) { - } - } - return null; - } - function checkError(method, error, params) { - var transaction = params.transaction || params.signedTransaction; - if (method === "call") { - var result = spelunk(error, true); - if (result) { - return result.data; - } - logger.throwError("missing revert data in call exception; Transaction reverted without a reason string", logger_1.Logger.errors.CALL_EXCEPTION, { - data: "0x", - transaction, - error - }); - } - if (method === "estimateGas") { - var result = spelunk(error.body, false); - if (result == null) { - result = spelunk(error, false); - } - if (result) { - logger.throwError("cannot estimate gas; transaction may fail or may require manual gas limit", logger_1.Logger.errors.UNPREDICTABLE_GAS_LIMIT, { - reason: result.message, - method, - transaction, - error - }); - } - } - var message = error.message; - if (error.code === logger_1.Logger.errors.SERVER_ERROR && error.error && typeof error.error.message === "string") { - message = error.error.message; - } else if (typeof error.body === "string") { - message = error.body; - } else if (typeof error.responseText === "string") { - message = error.responseText; - } - message = (message || "").toLowerCase(); - if (message.match(/insufficient funds|base fee exceeds gas limit|InsufficientFunds/i)) { - logger.throwError("insufficient funds for intrinsic transaction cost", logger_1.Logger.errors.INSUFFICIENT_FUNDS, { - error, - method, - transaction - }); - } - if (message.match(/nonce (is )?too low/i)) { - logger.throwError("nonce has already been used", logger_1.Logger.errors.NONCE_EXPIRED, { - error, - method, - transaction - }); - } - if (message.match(/replacement transaction underpriced|transaction gas price.*too low/i)) { - logger.throwError("replacement fee too low", logger_1.Logger.errors.REPLACEMENT_UNDERPRICED, { - error, - method, - transaction - }); - } - if (message.match(/only replay-protected/i)) { - logger.throwError("legacy pre-eip-155 transactions not supported", logger_1.Logger.errors.UNSUPPORTED_OPERATION, { - error, - method, - transaction - }); - } - if (errorGas.indexOf(method) >= 0 && message.match(/gas required exceeds allowance|always failing transaction|execution reverted|revert/)) { - logger.throwError("cannot estimate gas; transaction may fail or may require manual gas limit", logger_1.Logger.errors.UNPREDICTABLE_GAS_LIMIT, { - error, - method, - transaction - }); - } - throw error; - } - function timer(timeout) { - return new Promise(function(resolve) { - setTimeout(resolve, timeout); - }); - } - function getResult(payload) { - if (payload.error) { - var error = new Error(payload.error.message); - error.code = payload.error.code; - error.data = payload.error.data; - throw error; - } - return payload.result; - } - function getLowerCase(value) { - if (value) { - return value.toLowerCase(); - } - return value; - } - var _constructorGuard = {}; - var JsonRpcSigner = ( - /** @class */ - function(_super) { - __extends(JsonRpcSigner2, _super); - function JsonRpcSigner2(constructorGuard, provider, addressOrIndex) { - var _this = _super.call(this) || this; - if (constructorGuard !== _constructorGuard) { - throw new Error("do not call the JsonRpcSigner constructor directly; use provider.getSigner"); - } - (0, properties_1.defineReadOnly)(_this, "provider", provider); - if (addressOrIndex == null) { - addressOrIndex = 0; - } - if (typeof addressOrIndex === "string") { - (0, properties_1.defineReadOnly)(_this, "_address", _this.provider.formatter.address(addressOrIndex)); - (0, properties_1.defineReadOnly)(_this, "_index", null); - } else if (typeof addressOrIndex === "number") { - (0, properties_1.defineReadOnly)(_this, "_index", addressOrIndex); - (0, properties_1.defineReadOnly)(_this, "_address", null); - } else { - logger.throwArgumentError("invalid address or index", "addressOrIndex", addressOrIndex); - } - return _this; - } - JsonRpcSigner2.prototype.connect = function(provider) { - return logger.throwError("cannot alter JSON-RPC Signer connection", logger_1.Logger.errors.UNSUPPORTED_OPERATION, { - operation: "connect" - }); - }; - JsonRpcSigner2.prototype.connectUnchecked = function() { - return new UncheckedJsonRpcSigner(_constructorGuard, this.provider, this._address || this._index); - }; - JsonRpcSigner2.prototype.getAddress = function() { - var _this = this; - if (this._address) { - return Promise.resolve(this._address); - } - return this.provider.send("eth_accounts", []).then(function(accounts) { - if (accounts.length <= _this._index) { - logger.throwError("unknown account #" + _this._index, logger_1.Logger.errors.UNSUPPORTED_OPERATION, { - operation: "getAddress" - }); - } - return _this.provider.formatter.address(accounts[_this._index]); - }); - }; - JsonRpcSigner2.prototype.sendUncheckedTransaction = function(transaction) { - var _this = this; - transaction = (0, properties_1.shallowCopy)(transaction); - var fromAddress = this.getAddress().then(function(address) { - if (address) { - address = address.toLowerCase(); - } - return address; - }); - if (transaction.gasLimit == null) { - var estimate = (0, properties_1.shallowCopy)(transaction); - estimate.from = fromAddress; - transaction.gasLimit = this.provider.estimateGas(estimate); - } - if (transaction.to != null) { - transaction.to = Promise.resolve(transaction.to).then(function(to) { - return __awaiter(_this, void 0, void 0, function() { - var address; - return __generator(this, function(_a) { - switch (_a.label) { - case 0: - if (to == null) { - return [2, null]; - } - return [4, this.provider.resolveName(to)]; - case 1: - address = _a.sent(); - if (address == null) { - logger.throwArgumentError("provided ENS name resolves to null", "tx.to", to); - } - return [2, address]; - } - }); - }); - }); - } - return (0, properties_1.resolveProperties)({ - tx: (0, properties_1.resolveProperties)(transaction), - sender: fromAddress - }).then(function(_a) { - var tx = _a.tx, sender = _a.sender; - if (tx.from != null) { - if (tx.from.toLowerCase() !== sender) { - logger.throwArgumentError("from address mismatch", "transaction", transaction); - } - } else { - tx.from = sender; - } - var hexTx = _this.provider.constructor.hexlifyTransaction(tx, { from: true }); - return _this.provider.send("eth_sendTransaction", [hexTx]).then(function(hash) { - return hash; - }, function(error) { - if (typeof error.message === "string" && error.message.match(/user denied/i)) { - logger.throwError("user rejected transaction", logger_1.Logger.errors.ACTION_REJECTED, { - action: "sendTransaction", - transaction: tx - }); - } - return checkError("sendTransaction", error, hexTx); - }); - }); - }; - JsonRpcSigner2.prototype.signTransaction = function(transaction) { - return logger.throwError("signing transactions is unsupported", logger_1.Logger.errors.UNSUPPORTED_OPERATION, { - operation: "signTransaction" - }); - }; - JsonRpcSigner2.prototype.sendTransaction = function(transaction) { - return __awaiter(this, void 0, void 0, function() { - var blockNumber, hash, error_1; - var _this = this; - return __generator(this, function(_a) { - switch (_a.label) { - case 0: - return [4, this.provider._getInternalBlockNumber(100 + 2 * this.provider.pollingInterval)]; - case 1: - blockNumber = _a.sent(); - return [4, this.sendUncheckedTransaction(transaction)]; - case 2: - hash = _a.sent(); - _a.label = 3; - case 3: - _a.trys.push([3, 5, , 6]); - return [4, (0, web_1.poll)(function() { - return __awaiter(_this, void 0, void 0, function() { - var tx; - return __generator(this, function(_a2) { - switch (_a2.label) { - case 0: - return [4, this.provider.getTransaction(hash)]; - case 1: - tx = _a2.sent(); - if (tx === null) { - return [2, void 0]; - } - return [2, this.provider._wrapTransaction(tx, hash, blockNumber)]; - } - }); - }); - }, { oncePoll: this.provider })]; - case 4: - return [2, _a.sent()]; - case 5: - error_1 = _a.sent(); - error_1.transactionHash = hash; - throw error_1; - case 6: - return [ - 2 - /*return*/ - ]; - } - }); - }); - }; - JsonRpcSigner2.prototype.signMessage = function(message) { - return __awaiter(this, void 0, void 0, function() { - var data, address, error_2; - return __generator(this, function(_a) { - switch (_a.label) { - case 0: - data = typeof message === "string" ? (0, strings_1.toUtf8Bytes)(message) : message; - return [4, this.getAddress()]; - case 1: - address = _a.sent(); - _a.label = 2; - case 2: - _a.trys.push([2, 4, , 5]); - return [4, this.provider.send("personal_sign", [(0, bytes_1.hexlify)(data), address.toLowerCase()])]; - case 3: - return [2, _a.sent()]; - case 4: - error_2 = _a.sent(); - if (typeof error_2.message === "string" && error_2.message.match(/user denied/i)) { - logger.throwError("user rejected signing", logger_1.Logger.errors.ACTION_REJECTED, { - action: "signMessage", - from: address, - messageData: message - }); - } - throw error_2; - case 5: - return [ - 2 - /*return*/ - ]; - } - }); - }); - }; - JsonRpcSigner2.prototype._legacySignMessage = function(message) { - return __awaiter(this, void 0, void 0, function() { - var data, address, error_3; - return __generator(this, function(_a) { - switch (_a.label) { - case 0: - data = typeof message === "string" ? (0, strings_1.toUtf8Bytes)(message) : message; - return [4, this.getAddress()]; - case 1: - address = _a.sent(); - _a.label = 2; - case 2: - _a.trys.push([2, 4, , 5]); - return [4, this.provider.send("eth_sign", [address.toLowerCase(), (0, bytes_1.hexlify)(data)])]; - case 3: - return [2, _a.sent()]; - case 4: - error_3 = _a.sent(); - if (typeof error_3.message === "string" && error_3.message.match(/user denied/i)) { - logger.throwError("user rejected signing", logger_1.Logger.errors.ACTION_REJECTED, { - action: "_legacySignMessage", - from: address, - messageData: message - }); - } - throw error_3; - case 5: - return [ - 2 - /*return*/ - ]; - } - }); - }); - }; - JsonRpcSigner2.prototype._signTypedData = function(domain, types, value) { - return __awaiter(this, void 0, void 0, function() { - var populated, address, error_4; - var _this = this; - return __generator(this, function(_a) { - switch (_a.label) { - case 0: - return [4, hash_1._TypedDataEncoder.resolveNames(domain, types, value, function(name) { - return _this.provider.resolveName(name); - })]; - case 1: - populated = _a.sent(); - return [4, this.getAddress()]; - case 2: - address = _a.sent(); - _a.label = 3; - case 3: - _a.trys.push([3, 5, , 6]); - return [4, this.provider.send("eth_signTypedData_v4", [ - address.toLowerCase(), - JSON.stringify(hash_1._TypedDataEncoder.getPayload(populated.domain, types, populated.value)) - ])]; - case 4: - return [2, _a.sent()]; - case 5: - error_4 = _a.sent(); - if (typeof error_4.message === "string" && error_4.message.match(/user denied/i)) { - logger.throwError("user rejected signing", logger_1.Logger.errors.ACTION_REJECTED, { - action: "_signTypedData", - from: address, - messageData: { domain: populated.domain, types, value: populated.value } - }); - } - throw error_4; - case 6: - return [ - 2 - /*return*/ - ]; - } - }); - }); - }; - JsonRpcSigner2.prototype.unlock = function(password) { - return __awaiter(this, void 0, void 0, function() { - var provider, address; - return __generator(this, function(_a) { - switch (_a.label) { - case 0: - provider = this.provider; - return [4, this.getAddress()]; - case 1: - address = _a.sent(); - return [2, provider.send("personal_unlockAccount", [address.toLowerCase(), password, null])]; - } - }); - }); - }; - return JsonRpcSigner2; - }(abstract_signer_1.Signer) - ); - exports2.JsonRpcSigner = JsonRpcSigner; - var UncheckedJsonRpcSigner = ( - /** @class */ - function(_super) { - __extends(UncheckedJsonRpcSigner2, _super); - function UncheckedJsonRpcSigner2() { - return _super !== null && _super.apply(this, arguments) || this; - } - UncheckedJsonRpcSigner2.prototype.sendTransaction = function(transaction) { - var _this = this; - return this.sendUncheckedTransaction(transaction).then(function(hash) { - return { - hash, - nonce: null, - gasLimit: null, - gasPrice: null, - data: null, - value: null, - chainId: null, - confirmations: 0, - from: null, - wait: function(confirmations) { - return _this.provider.waitForTransaction(hash, confirmations); - } - }; - }); - }; - return UncheckedJsonRpcSigner2; - }(JsonRpcSigner) - ); - var allowedTransactionKeys = { - chainId: true, - data: true, - gasLimit: true, - gasPrice: true, - nonce: true, - to: true, - value: true, - type: true, - accessList: true, - maxFeePerGas: true, - maxPriorityFeePerGas: true - }; - var JsonRpcProvider2 = ( - /** @class */ - function(_super) { - __extends(JsonRpcProvider3, _super); - function JsonRpcProvider3(url2, network) { - var _this = this; - var networkOrReady = network; - if (networkOrReady == null) { - networkOrReady = new Promise(function(resolve, reject) { - setTimeout(function() { - _this.detectNetwork().then(function(network2) { - resolve(network2); - }, function(error) { - reject(error); - }); - }, 0); - }); - } - _this = _super.call(this, networkOrReady) || this; - if (!url2) { - url2 = (0, properties_1.getStatic)(_this.constructor, "defaultUrl")(); - } - if (typeof url2 === "string") { - (0, properties_1.defineReadOnly)(_this, "connection", Object.freeze({ - url: url2 - })); - } else { - (0, properties_1.defineReadOnly)(_this, "connection", Object.freeze((0, properties_1.shallowCopy)(url2))); - } - _this._nextId = 42; - return _this; - } - Object.defineProperty(JsonRpcProvider3.prototype, "_cache", { - get: function() { - if (this._eventLoopCache == null) { - this._eventLoopCache = {}; - } - return this._eventLoopCache; - }, - enumerable: false, - configurable: true - }); - JsonRpcProvider3.defaultUrl = function() { - return "http://localhost:8545"; - }; - JsonRpcProvider3.prototype.detectNetwork = function() { - var _this = this; - if (!this._cache["detectNetwork"]) { - this._cache["detectNetwork"] = this._uncachedDetectNetwork(); - setTimeout(function() { - _this._cache["detectNetwork"] = null; - }, 0); - } - return this._cache["detectNetwork"]; - }; - JsonRpcProvider3.prototype._uncachedDetectNetwork = function() { - return __awaiter(this, void 0, void 0, function() { - var chainId, error_5, error_6, getNetwork; - return __generator(this, function(_a) { - switch (_a.label) { - case 0: - return [4, timer(0)]; - case 1: - _a.sent(); - chainId = null; - _a.label = 2; - case 2: - _a.trys.push([2, 4, , 9]); - return [4, this.send("eth_chainId", [])]; - case 3: - chainId = _a.sent(); - return [3, 9]; - case 4: - error_5 = _a.sent(); - _a.label = 5; - case 5: - _a.trys.push([5, 7, , 8]); - return [4, this.send("net_version", [])]; - case 6: - chainId = _a.sent(); - return [3, 8]; - case 7: - error_6 = _a.sent(); - return [3, 8]; - case 8: - return [3, 9]; - case 9: - if (chainId != null) { - getNetwork = (0, properties_1.getStatic)(this.constructor, "getNetwork"); - try { - return [2, getNetwork(bignumber_1.BigNumber.from(chainId).toNumber())]; - } catch (error) { - return [2, logger.throwError("could not detect network", logger_1.Logger.errors.NETWORK_ERROR, { - chainId, - event: "invalidNetwork", - serverError: error - })]; - } - } - return [2, logger.throwError("could not detect network", logger_1.Logger.errors.NETWORK_ERROR, { - event: "noNetwork" - })]; - } - }); - }); - }; - JsonRpcProvider3.prototype.getSigner = function(addressOrIndex) { - return new JsonRpcSigner(_constructorGuard, this, addressOrIndex); - }; - JsonRpcProvider3.prototype.getUncheckedSigner = function(addressOrIndex) { - return this.getSigner(addressOrIndex).connectUnchecked(); - }; - JsonRpcProvider3.prototype.listAccounts = function() { - var _this = this; - return this.send("eth_accounts", []).then(function(accounts) { - return accounts.map(function(a) { - return _this.formatter.address(a); - }); - }); - }; - JsonRpcProvider3.prototype.send = function(method, params) { - var _this = this; - var request = { - method, - params, - id: this._nextId++, - jsonrpc: "2.0" - }; - this.emit("debug", { - action: "request", - request: (0, properties_1.deepCopy)(request), - provider: this - }); - var cache = ["eth_chainId", "eth_blockNumber"].indexOf(method) >= 0; - if (cache && this._cache[method]) { - return this._cache[method]; - } - var result = (0, web_1.fetchJson)(this.connection, JSON.stringify(request), getResult).then(function(result2) { - _this.emit("debug", { - action: "response", - request, - response: result2, - provider: _this - }); - return result2; - }, function(error) { - _this.emit("debug", { - action: "response", - error, - request, - provider: _this - }); - throw error; - }); - if (cache) { - this._cache[method] = result; - setTimeout(function() { - _this._cache[method] = null; - }, 0); - } - return result; - }; - JsonRpcProvider3.prototype.prepareRequest = function(method, params) { - switch (method) { - case "getBlockNumber": - return ["eth_blockNumber", []]; - case "getGasPrice": - return ["eth_gasPrice", []]; - case "getBalance": - return ["eth_getBalance", [getLowerCase(params.address), params.blockTag]]; - case "getTransactionCount": - return ["eth_getTransactionCount", [getLowerCase(params.address), params.blockTag]]; - case "getCode": - return ["eth_getCode", [getLowerCase(params.address), params.blockTag]]; - case "getStorageAt": - return ["eth_getStorageAt", [getLowerCase(params.address), (0, bytes_1.hexZeroPad)(params.position, 32), params.blockTag]]; - case "sendTransaction": - return ["eth_sendRawTransaction", [params.signedTransaction]]; - case "getBlock": - if (params.blockTag) { - return ["eth_getBlockByNumber", [params.blockTag, !!params.includeTransactions]]; - } else if (params.blockHash) { - return ["eth_getBlockByHash", [params.blockHash, !!params.includeTransactions]]; - } - return null; - case "getTransaction": - return ["eth_getTransactionByHash", [params.transactionHash]]; - case "getTransactionReceipt": - return ["eth_getTransactionReceipt", [params.transactionHash]]; - case "call": { - var hexlifyTransaction = (0, properties_1.getStatic)(this.constructor, "hexlifyTransaction"); - return ["eth_call", [hexlifyTransaction(params.transaction, { from: true }), params.blockTag]]; - } - case "estimateGas": { - var hexlifyTransaction = (0, properties_1.getStatic)(this.constructor, "hexlifyTransaction"); - return ["eth_estimateGas", [hexlifyTransaction(params.transaction, { from: true })]]; - } - case "getLogs": - if (params.filter && params.filter.address != null) { - params.filter.address = getLowerCase(params.filter.address); - } - return ["eth_getLogs", [params.filter]]; - default: - break; - } - return null; - }; - JsonRpcProvider3.prototype.perform = function(method, params) { - return __awaiter(this, void 0, void 0, function() { - var tx, feeData, args, error_7; - return __generator(this, function(_a) { - switch (_a.label) { - case 0: - if (!(method === "call" || method === "estimateGas")) - return [3, 2]; - tx = params.transaction; - if (!(tx && tx.type != null && bignumber_1.BigNumber.from(tx.type).isZero())) - return [3, 2]; - if (!(tx.maxFeePerGas == null && tx.maxPriorityFeePerGas == null)) - return [3, 2]; - return [4, this.getFeeData()]; - case 1: - feeData = _a.sent(); - if (feeData.maxFeePerGas == null && feeData.maxPriorityFeePerGas == null) { - params = (0, properties_1.shallowCopy)(params); - params.transaction = (0, properties_1.shallowCopy)(tx); - delete params.transaction.type; - } - _a.label = 2; - case 2: - args = this.prepareRequest(method, params); - if (args == null) { - logger.throwError(method + " not implemented", logger_1.Logger.errors.NOT_IMPLEMENTED, { operation: method }); - } - _a.label = 3; - case 3: - _a.trys.push([3, 5, , 6]); - return [4, this.send(args[0], args[1])]; - case 4: - return [2, _a.sent()]; - case 5: - error_7 = _a.sent(); - return [2, checkError(method, error_7, params)]; - case 6: - return [ - 2 - /*return*/ - ]; - } - }); - }); - }; - JsonRpcProvider3.prototype._startEvent = function(event) { - if (event.tag === "pending") { - this._startPending(); - } - _super.prototype._startEvent.call(this, event); - }; - JsonRpcProvider3.prototype._startPending = function() { - if (this._pendingFilter != null) { - return; - } - var self2 = this; - var pendingFilter = this.send("eth_newPendingTransactionFilter", []); - this._pendingFilter = pendingFilter; - pendingFilter.then(function(filterId) { - function poll() { - self2.send("eth_getFilterChanges", [filterId]).then(function(hashes) { - if (self2._pendingFilter != pendingFilter) { - return null; - } - var seq = Promise.resolve(); - hashes.forEach(function(hash) { - self2._emitted["t:" + hash.toLowerCase()] = "pending"; - seq = seq.then(function() { - return self2.getTransaction(hash).then(function(tx) { - self2.emit("pending", tx); - return null; - }); - }); - }); - return seq.then(function() { - return timer(1e3); - }); - }).then(function() { - if (self2._pendingFilter != pendingFilter) { - self2.send("eth_uninstallFilter", [filterId]); - return; - } - setTimeout(function() { - poll(); - }, 0); - return null; - }).catch(function(error) { - }); - } - poll(); - return filterId; - }).catch(function(error) { - }); - }; - JsonRpcProvider3.prototype._stopEvent = function(event) { - if (event.tag === "pending" && this.listenerCount("pending") === 0) { - this._pendingFilter = null; - } - _super.prototype._stopEvent.call(this, event); - }; - JsonRpcProvider3.hexlifyTransaction = function(transaction, allowExtra) { - var allowed = (0, properties_1.shallowCopy)(allowedTransactionKeys); - if (allowExtra) { - for (var key in allowExtra) { - if (allowExtra[key]) { - allowed[key] = true; - } - } - } - (0, properties_1.checkProperties)(transaction, allowed); - var result = {}; - ["chainId", "gasLimit", "gasPrice", "type", "maxFeePerGas", "maxPriorityFeePerGas", "nonce", "value"].forEach(function(key2) { - if (transaction[key2] == null) { - return; - } - var value = (0, bytes_1.hexValue)(bignumber_1.BigNumber.from(transaction[key2])); - if (key2 === "gasLimit") { - key2 = "gas"; - } - result[key2] = value; - }); - ["from", "to", "data"].forEach(function(key2) { - if (transaction[key2] == null) { - return; - } - result[key2] = (0, bytes_1.hexlify)(transaction[key2]); - }); - if (transaction.accessList) { - result["accessList"] = (0, transactions_1.accessListify)(transaction.accessList); - } - return result; - }; - return JsonRpcProvider3; - }(base_provider_1.BaseProvider) - ); - exports2.JsonRpcProvider = JsonRpcProvider2; - } -}); - -// node_modules/ws/lib/constants.js -var require_constants = __commonJS({ - "node_modules/ws/lib/constants.js"(exports2, module2) { - "use strict"; - module2.exports = { - BINARY_TYPES: ["nodebuffer", "arraybuffer", "fragments"], - GUID: "258EAFA5-E914-47DA-95CA-C5AB0DC85B11", - kStatusCode: Symbol("status-code"), - kWebSocket: Symbol("websocket"), - EMPTY_BUFFER: Buffer.alloc(0), - NOOP: () => { - } - }; - } -}); - -// node_modules/ws/lib/buffer-util.js -var require_buffer_util = __commonJS({ - "node_modules/ws/lib/buffer-util.js"(exports2, module2) { - "use strict"; - var { EMPTY_BUFFER } = require_constants(); - function concat(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 target.slice(0, 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) { - const length = buffer.length; - for (let i = 0; i < length; i++) { - buffer[i] ^= mask[i & 3]; - } - } - function toArrayBuffer(buf) { - if (buf.byteLength === buf.buffer.byteLength) { - return buf.buffer; - } - return buf.buffer.slice(buf.byteOffset, buf.byteOffset + buf.byteLength); - } - function toBuffer(data) { - toBuffer.readOnly = true; - if (Buffer.isBuffer(data)) - return data; - let buf; - if (data instanceof ArrayBuffer) { - buf = Buffer.from(data); - } else if (ArrayBuffer.isView(data)) { - buf = Buffer.from(data.buffer, data.byteOffset, data.byteLength); - } else { - buf = Buffer.from(data); - toBuffer.readOnly = false; - } - return buf; - } - try { - const bufferUtil = __nccwpck_require__(77210); - const bu = bufferUtil.BufferUtil || bufferUtil; - module2.exports = { - concat, - mask(source, mask, output, offset, length) { - if (length < 48) - _mask(source, mask, output, offset, length); - else - bu.mask(source, mask, output, offset, length); - }, - toArrayBuffer, - toBuffer, - unmask(buffer, mask) { - if (buffer.length < 32) - _unmask(buffer, mask); - else - bu.unmask(buffer, mask); - } - }; - } catch (e) { - module2.exports = { - concat, - mask: _mask, - toArrayBuffer, - toBuffer, - unmask: _unmask - }; - } - } -}); - -// node_modules/ws/lib/limiter.js -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 { - /** - * Creates a new `Limiter`. - * - * @param {Number} [concurrency=Infinity] The maximum number of jobs allowed - * to run concurrently - */ - constructor(concurrency) { - this[kDone] = () => { - this.pending--; - this[kRun](); - }; - this.concurrency = concurrency || Infinity; - this.jobs = []; - this.pending = 0; - } - /** - * Adds a job to the queue. - * - * @param {Function} job The job to run - * @public - */ - add(job) { - this.jobs.push(job); - this[kRun](); - } - /** - * Removes a job from the queue and runs it if possible. - * - * @private - */ - [kRun]() { - if (this.pending === this.concurrency) - return; - if (this.jobs.length) { - const job = this.jobs.shift(); - this.pending++; - job(this[kDone]); - } - } - }; - module2.exports = Limiter; - } -}); - -// node_modules/ws/lib/permessage-deflate.js -var require_permessage_deflate = __commonJS({ - "node_modules/ws/lib/permessage-deflate.js"(exports2, module2) { - "use strict"; - var zlib2 = __nccwpck_require__(43106); - var bufferUtil = require_buffer_util(); - var Limiter = require_limiter(); - var { kStatusCode, NOOP } = require_constants(); - 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 { - /** - * Creates a PerMessageDeflate instance. - * - * @param {Object} [options] Configuration options - * @param {Boolean} [options.serverNoContextTakeover=false] Request/accept - * disabling of server context takeover - * @param {Boolean} [options.clientNoContextTakeover=false] Advertise/ - * acknowledge disabling of client context takeover - * @param {(Boolean|Number)} [options.serverMaxWindowBits] Request/confirm the - * use of a custom server window size - * @param {(Boolean|Number)} [options.clientMaxWindowBits] Advertise support - * for, or request, a custom client window size - * @param {Object} [options.zlibDeflateOptions] Options to pass to zlib on - * deflate - * @param {Object} [options.zlibInflateOptions] Options to pass to zlib on - * inflate - * @param {Number} [options.threshold=1024] Size (in bytes) below which - * messages should not be compressed - * @param {Number} [options.concurrencyLimit=10] The number of concurrent - * calls to zlib - * @param {Boolean} [isServer=false] Create the instance in either server or - * client mode - * @param {Number} [maxPayload=0] The maximum allowed message length - */ - 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); - } - } - /** - * @type {String} - */ - static get extensionName() { - return "permessage-deflate"; - } - /** - * Create an extension negotiation offer. - * - * @return {Object} Extension parameters - * @public - */ - 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 an extension negotiation offer/response. - * - * @param {Array} configurations The extension negotiation offers/reponse - * @return {Object} Accepted configuration - * @public - */ - accept(configurations) { - configurations = this.normalizeParams(configurations); - this.params = this._isServer ? this.acceptAsServer(configurations) : this.acceptAsClient(configurations); - return this.params; - } - /** - * Releases all resources used by the extension. - * - * @public - */ - 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" - ) - ); - } - } - } - /** - * Accept an extension negotiation offer. - * - * @param {Array} offers The extension negotiation offers - * @return {Object} Accepted configuration - * @private - */ - 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; - } - /** - * Accept the extension negotiation response. - * - * @param {Array} response The extension negotiation response - * @return {Object} Accepted configuration - * @private - */ - 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; - } - /** - * Normalize parameters. - * - * @param {Array} configurations The extension negotiation offers/reponse - * @return {Array} The offers/response with normalized parameters - * @private - */ - 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. Concurrency limited. - * - * @param {Buffer} data Compressed data - * @param {Boolean} fin Specifies whether or not this is the last fragment - * @param {Function} callback Callback - * @public - */ - decompress(data, fin, callback) { - zlibLimiter.add((done) => { - this._decompress(data, fin, (err, result) => { - done(); - callback(err, result); - }); - }); - } - /** - * Compress data. Concurrency limited. - * - * @param {Buffer} data Data to compress - * @param {Boolean} fin Specifies whether or not this is the last fragment - * @param {Function} callback Callback - * @public - */ - compress(data, fin, callback) { - zlibLimiter.add((done) => { - this._compress(data, fin, (err, result) => { - done(); - callback(err, result); - }); - }); - } - /** - * Decompress data. - * - * @param {Buffer} data Compressed data - * @param {Boolean} fin Specifies whether or not this is the last fragment - * @param {Function} callback Callback - * @private - */ - _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. - * - * @param {Buffer} data Data to compress - * @param {Boolean} fin Specifies whether or not this is the last fragment - * @param {Function} callback Callback - * @private - */ - _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("error", NOOP); - 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 = data2.slice(0, 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(chunk) { - this[kBuffers].push(chunk); - this[kTotalLength] += chunk.length; - } - function inflateOnData(chunk) { - this[kTotalLength] += chunk.length; - if (this[kPerMessageDeflate]._maxPayload < 1 || this[kTotalLength] <= this[kPerMessageDeflate]._maxPayload) { - this[kBuffers].push(chunk); - return; - } - this[kError] = new RangeError("Max payload size exceeded"); - this[kError][kStatusCode] = 1009; - this.removeListener("data", inflateOnData); - this.reset(); - } - function inflateOnError(err) { - this[kPerMessageDeflate]._inflate = null; - err[kStatusCode] = 1007; - this[kCallback](err); - } - } -}); - -// node_modules/ws/lib/validation.js -var require_validation = __commonJS({ - "node_modules/ws/lib/validation.js"(exports2, module2) { - "use strict"; - 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 || // Overlong - 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 || // Overlong - buf[i] === 244 && buf[i + 1] > 143 || buf[i] > 244) { - return false; - } - i += 4; - } else { - return false; - } - } - return true; - } - try { - let isValidUTF8 = __nccwpck_require__(67963); - if (typeof isValidUTF8 === "object") { - isValidUTF8 = isValidUTF8.Validation.isValidUTF8; - } - module2.exports = { - isValidStatusCode, - isValidUTF8(buf) { - return buf.length < 150 ? _isValidUTF8(buf) : isValidUTF8(buf); - } - }; - } catch (e) { - module2.exports = { - isValidStatusCode, - isValidUTF8: _isValidUTF8 - }; - } - } -}); - -// node_modules/ws/lib/receiver.js -var require_receiver = __commonJS({ - "node_modules/ws/lib/receiver.js"(exports2, module2) { - "use strict"; - var { Writable } = __nccwpck_require__(2203); - var PerMessageDeflate = require_permessage_deflate(); - var { - BINARY_TYPES, - EMPTY_BUFFER, - kStatusCode, - kWebSocket - } = require_constants(); - var { concat, toArrayBuffer, unmask } = require_buffer_util(); - var { isValidStatusCode, isValidUTF8 } = require_validation(); - 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 Receiver = class extends Writable { - /** - * Creates a Receiver instance. - * - * @param {String} [binaryType=nodebuffer] The type for binary data - * @param {Object} [extensions] An object containing the negotiated extensions - * @param {Boolean} [isServer=false] Specifies whether to operate in client or - * server mode - * @param {Number} [maxPayload=0] The maximum allowed message length - */ - constructor(binaryType, extensions, isServer, maxPayload) { - super(); - this._binaryType = binaryType || BINARY_TYPES[0]; - this[kWebSocket] = void 0; - this._extensions = extensions || {}; - this._isServer = !!isServer; - this._maxPayload = maxPayload | 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._state = GET_INFO; - this._loop = false; - } - /** - * Implements `Writable.prototype._write()`. - * - * @param {Buffer} chunk The chunk of data to write - * @param {String} encoding The character encoding of `chunk` - * @param {Function} cb Callback - * @private - */ - _write(chunk, encoding, cb) { - if (this._opcode === 8 && this._state == GET_INFO) - return cb(); - this._bufferedBytes += chunk.length; - this._buffers.push(chunk); - this.startLoop(cb); - } - /** - * Consumes `n` bytes from the buffered data. - * - * @param {Number} n The number of bytes to consume - * @return {Buffer} The consumed bytes - * @private - */ - 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] = buf.slice(n); - return buf.slice(0, 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] = buf.slice(n); - } - n -= buf.length; - } while (n > 0); - return dst; - } - /** - * Starts the parsing loop. - * - * @param {Function} cb Callback - * @private - */ - startLoop(cb) { - let err; - this._loop = true; - do { - switch (this._state) { - case GET_INFO: - err = this.getInfo(); - break; - case GET_PAYLOAD_LENGTH_16: - err = this.getPayloadLength16(); - break; - case GET_PAYLOAD_LENGTH_64: - err = this.getPayloadLength64(); - break; - case GET_MASK: - this.getMask(); - break; - case GET_DATA: - err = this.getData(cb); - break; - default: - this._loop = false; - return; - } - } while (this._loop); - cb(err); - } - /** - * Reads the first two bytes of a frame. - * - * @return {(RangeError|undefined)} A possible error - * @private - */ - getInfo() { - if (this._bufferedBytes < 2) { - this._loop = false; - return; - } - const buf = this.consume(2); - if ((buf[0] & 48) !== 0) { - this._loop = false; - return error(RangeError, "RSV2 and RSV3 must be clear", true, 1002); - } - const compressed = (buf[0] & 64) === 64; - if (compressed && !this._extensions[PerMessageDeflate.extensionName]) { - this._loop = false; - return error(RangeError, "RSV1 must be clear", true, 1002); - } - this._fin = (buf[0] & 128) === 128; - this._opcode = buf[0] & 15; - this._payloadLength = buf[1] & 127; - if (this._opcode === 0) { - if (compressed) { - this._loop = false; - return error(RangeError, "RSV1 must be clear", true, 1002); - } - if (!this._fragmented) { - this._loop = false; - return error(RangeError, "invalid opcode 0", true, 1002); - } - this._opcode = this._fragmented; - } else if (this._opcode === 1 || this._opcode === 2) { - if (this._fragmented) { - this._loop = false; - return error(RangeError, `invalid opcode ${this._opcode}`, true, 1002); - } - this._compressed = compressed; - } else if (this._opcode > 7 && this._opcode < 11) { - if (!this._fin) { - this._loop = false; - return error(RangeError, "FIN must be set", true, 1002); - } - if (compressed) { - this._loop = false; - return error(RangeError, "RSV1 must be clear", true, 1002); - } - if (this._payloadLength > 125) { - this._loop = false; - return error( - RangeError, - `invalid payload length ${this._payloadLength}`, - true, - 1002 - ); - } - } else { - this._loop = false; - return error(RangeError, `invalid opcode ${this._opcode}`, true, 1002); - } - if (!this._fin && !this._fragmented) - this._fragmented = this._opcode; - this._masked = (buf[1] & 128) === 128; - if (this._isServer) { - if (!this._masked) { - this._loop = false; - return error(RangeError, "MASK must be set", true, 1002); - } - } else if (this._masked) { - this._loop = false; - return error(RangeError, "MASK must be clear", true, 1002); - } - if (this._payloadLength === 126) - this._state = GET_PAYLOAD_LENGTH_16; - else if (this._payloadLength === 127) - this._state = GET_PAYLOAD_LENGTH_64; - else - return this.haveLength(); - } - /** - * Gets extended payload length (7+16). - * - * @return {(RangeError|undefined)} A possible error - * @private - */ - getPayloadLength16() { - if (this._bufferedBytes < 2) { - this._loop = false; - return; - } - this._payloadLength = this.consume(2).readUInt16BE(0); - return this.haveLength(); - } - /** - * Gets extended payload length (7+64). - * - * @return {(RangeError|undefined)} A possible error - * @private - */ - getPayloadLength64() { - 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) { - this._loop = false; - return error( - RangeError, - "Unsupported WebSocket frame: payload length > 2^53 - 1", - false, - 1009 - ); - } - this._payloadLength = num * Math.pow(2, 32) + buf.readUInt32BE(4); - return this.haveLength(); - } - /** - * Payload length has been read. - * - * @return {(RangeError|undefined)} A possible error - * @private - */ - haveLength() { - if (this._payloadLength && this._opcode < 8) { - this._totalPayloadLength += this._payloadLength; - if (this._totalPayloadLength > this._maxPayload && this._maxPayload > 0) { - this._loop = false; - return error(RangeError, "Max payload size exceeded", false, 1009); - } - } - if (this._masked) - this._state = GET_MASK; - else - this._state = GET_DATA; - } - /** - * Reads mask bytes. - * - * @private - */ - getMask() { - if (this._bufferedBytes < 4) { - this._loop = false; - return; - } - this._mask = this.consume(4); - this._state = GET_DATA; - } - /** - * Reads data bytes. - * - * @param {Function} cb Callback - * @return {(Error|RangeError|undefined)} A possible error - * @private - */ - 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) - unmask(data, this._mask); - } - if (this._opcode > 7) - return this.controlMessage(data); - if (this._compressed) { - this._state = INFLATING; - this.decompress(data, cb); - return; - } - if (data.length) { - this._messageLength = this._totalPayloadLength; - this._fragments.push(data); - } - return this.dataMessage(); - } - /** - * Decompresses data. - * - * @param {Buffer} data Compressed data - * @param {Function} cb Callback - * @private - */ - 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) { - return cb( - error(RangeError, "Max payload size exceeded", false, 1009) - ); - } - this._fragments.push(buf); - } - const er = this.dataMessage(); - if (er) - return cb(er); - this.startLoop(cb); - }); - } - /** - * Handles a data message. - * - * @return {(Error|undefined)} A possible error - * @private - */ - dataMessage() { - if (this._fin) { - 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 = concat(fragments, messageLength); - } else if (this._binaryType === "arraybuffer") { - data = toArrayBuffer(concat(fragments, messageLength)); - } else { - data = fragments; - } - this.emit("message", data); - } else { - const buf = concat(fragments, messageLength); - if (!isValidUTF8(buf)) { - this._loop = false; - return error(Error, "invalid UTF-8 sequence", true, 1007); - } - this.emit("message", buf.toString()); - } - } - this._state = GET_INFO; - } - /** - * Handles a control message. - * - * @param {Buffer} data Data to handle - * @return {(Error|RangeError|undefined)} A possible error - * @private - */ - controlMessage(data) { - if (this._opcode === 8) { - this._loop = false; - if (data.length === 0) { - this.emit("conclude", 1005, ""); - this.end(); - } else if (data.length === 1) { - return error(RangeError, "invalid payload length 1", true, 1002); - } else { - const code = data.readUInt16BE(0); - if (!isValidStatusCode(code)) { - return error(RangeError, `invalid status code ${code}`, true, 1002); - } - const buf = data.slice(2); - if (!isValidUTF8(buf)) { - return error(Error, "invalid UTF-8 sequence", true, 1007); - } - this.emit("conclude", code, buf.toString()); - this.end(); - } - } else if (this._opcode === 9) { - this.emit("ping", data); - } else { - this.emit("pong", data); - } - this._state = GET_INFO; - } - }; - module2.exports = Receiver; - function error(ErrorCtor, message, prefix, statusCode) { - const err = new ErrorCtor( - prefix ? `Invalid WebSocket frame: ${message}` : message - ); - Error.captureStackTrace(err, error); - err[kStatusCode] = statusCode; - return err; - } - } -}); - -// node_modules/ws/lib/sender.js -var require_sender = __commonJS({ - "node_modules/ws/lib/sender.js"(exports2, module2) { - "use strict"; - var { randomFillSync } = __nccwpck_require__(76982); - var PerMessageDeflate = require_permessage_deflate(); - var { EMPTY_BUFFER } = require_constants(); - var { isValidStatusCode } = require_validation(); - var { mask: applyMask, toBuffer } = require_buffer_util(); - var mask = Buffer.alloc(4); - var Sender = class _Sender { - /** - * Creates a Sender instance. - * - * @param {net.Socket} socket The connection socket - * @param {Object} [extensions] An object containing the negotiated extensions - */ - constructor(socket, extensions) { - this._extensions = extensions || {}; - this._socket = socket; - this._firstFragment = true; - this._compress = false; - this._bufferedBytes = 0; - this._deflating = false; - this._queue = []; - } - /** - * Frames a piece of data according to the HyBi WebSocket protocol. - * - * @param {Buffer} data The data to frame - * @param {Object} options Options object - * @param {Number} options.opcode The opcode - * @param {Boolean} [options.readOnly=false] Specifies whether `data` can be - * modified - * @param {Boolean} [options.fin=false] Specifies whether or not to set the - * FIN bit - * @param {Boolean} [options.mask=false] Specifies whether or not to mask - * `data` - * @param {Boolean} [options.rsv1=false] Specifies whether or not to set the - * RSV1 bit - * @return {Buffer[]} The framed data as a list of `Buffer` instances - * @public - */ - static frame(data, options) { - const merge2 = options.mask && options.readOnly; - let offset = options.mask ? 6 : 2; - let payloadLength = data.length; - if (data.length >= 65536) { - offset += 8; - payloadLength = 127; - } else if (data.length > 125) { - offset += 2; - payloadLength = 126; - } - const target = Buffer.allocUnsafe(merge2 ? data.length + 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(data.length, 2); - } else if (payloadLength === 127) { - target.writeUInt32BE(0, 2); - target.writeUInt32BE(data.length, 6); - } - if (!options.mask) - return [target, data]; - randomFillSync(mask, 0, 4); - target[1] |= 128; - target[offset - 4] = mask[0]; - target[offset - 3] = mask[1]; - target[offset - 2] = mask[2]; - target[offset - 1] = mask[3]; - if (merge2) { - applyMask(data, mask, target, offset, data.length); - return [target]; - } - applyMask(data, mask, data, 0, data.length); - return [target, data]; - } - /** - * Sends a close message to the other peer. - * - * @param {Number} [code] The status code component of the body - * @param {String} [data] The message component of the body - * @param {Boolean} [mask=false] Specifies whether or not to mask the message - * @param {Function} [cb] Callback - * @public - */ - close(code, data, mask2, 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 === "") { - 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); - buf.write(data, 2); - } - if (this._deflating) { - this.enqueue([this.doClose, buf, mask2, cb]); - } else { - this.doClose(buf, mask2, cb); - } - } - /** - * Frames and sends a close message. - * - * @param {Buffer} data The message to send - * @param {Boolean} [mask=false] Specifies whether or not to mask `data` - * @param {Function} [cb] Callback - * @private - */ - doClose(data, mask2, cb) { - this.sendFrame( - _Sender.frame(data, { - fin: true, - rsv1: false, - opcode: 8, - mask: mask2, - readOnly: false - }), - cb - ); - } - /** - * Sends a ping message to the other peer. - * - * @param {*} data The message to send - * @param {Boolean} [mask=false] Specifies whether or not to mask `data` - * @param {Function} [cb] Callback - * @public - */ - ping(data, mask2, cb) { - const buf = toBuffer(data); - if (buf.length > 125) { - throw new RangeError("The data size must not be greater than 125 bytes"); - } - if (this._deflating) { - this.enqueue([this.doPing, buf, mask2, toBuffer.readOnly, cb]); - } else { - this.doPing(buf, mask2, toBuffer.readOnly, cb); - } - } - /** - * Frames and sends a ping message. - * - * @param {Buffer} data The message to send - * @param {Boolean} [mask=false] Specifies whether or not to mask `data` - * @param {Boolean} [readOnly=false] Specifies whether `data` can be modified - * @param {Function} [cb] Callback - * @private - */ - doPing(data, mask2, readOnly, cb) { - this.sendFrame( - _Sender.frame(data, { - fin: true, - rsv1: false, - opcode: 9, - mask: mask2, - readOnly - }), - cb - ); - } - /** - * Sends a pong message to the other peer. - * - * @param {*} data The message to send - * @param {Boolean} [mask=false] Specifies whether or not to mask `data` - * @param {Function} [cb] Callback - * @public - */ - pong(data, mask2, cb) { - const buf = toBuffer(data); - if (buf.length > 125) { - throw new RangeError("The data size must not be greater than 125 bytes"); - } - if (this._deflating) { - this.enqueue([this.doPong, buf, mask2, toBuffer.readOnly, cb]); - } else { - this.doPong(buf, mask2, toBuffer.readOnly, cb); - } - } - /** - * Frames and sends a pong message. - * - * @param {Buffer} data The message to send - * @param {Boolean} [mask=false] Specifies whether or not to mask `data` - * @param {Boolean} [readOnly=false] Specifies whether `data` can be modified - * @param {Function} [cb] Callback - * @private - */ - doPong(data, mask2, readOnly, cb) { - this.sendFrame( - _Sender.frame(data, { - fin: true, - rsv1: false, - opcode: 10, - mask: mask2, - readOnly - }), - cb - ); - } - /** - * Sends a data message to the other peer. - * - * @param {*} data The message to send - * @param {Object} options Options object - * @param {Boolean} [options.compress=false] Specifies whether or not to - * compress `data` - * @param {Boolean} [options.binary=false] Specifies whether `data` is binary - * or text - * @param {Boolean} [options.fin=false] Specifies whether the fragment is the - * last one - * @param {Boolean} [options.mask=false] Specifies whether or not to mask - * `data` - * @param {Function} [cb] Callback - * @public - */ - send(data, options, cb) { - const buf = toBuffer(data); - const perMessageDeflate = this._extensions[PerMessageDeflate.extensionName]; - let opcode = options.binary ? 2 : 1; - let rsv1 = options.compress; - if (this._firstFragment) { - this._firstFragment = false; - if (rsv1 && perMessageDeflate) { - rsv1 = buf.length >= perMessageDeflate._threshold; - } - this._compress = rsv1; - } else { - rsv1 = false; - opcode = 0; - } - if (options.fin) - this._firstFragment = true; - if (perMessageDeflate) { - const opts = { - fin: options.fin, - rsv1, - opcode, - mask: options.mask, - readOnly: toBuffer.readOnly - }; - if (this._deflating) { - this.enqueue([this.dispatch, buf, this._compress, opts, cb]); - } else { - this.dispatch(buf, this._compress, opts, cb); - } - } else { - this.sendFrame( - _Sender.frame(buf, { - fin: options.fin, - rsv1: false, - opcode, - mask: options.mask, - readOnly: toBuffer.readOnly - }), - cb - ); - } - } - /** - * Dispatches a data message. - * - * @param {Buffer} data The message to send - * @param {Boolean} [compress=false] Specifies whether or not to compress - * `data` - * @param {Object} options Options object - * @param {Number} options.opcode The opcode - * @param {Boolean} [options.readOnly=false] Specifies whether `data` can be - * modified - * @param {Boolean} [options.fin=false] Specifies whether or not to set the - * FIN bit - * @param {Boolean} [options.mask=false] Specifies whether or not to mask - * `data` - * @param {Boolean} [options.rsv1=false] Specifies whether or not to set the - * RSV1 bit - * @param {Function} [cb] Callback - * @private - */ - dispatch(data, compress, options, cb) { - if (!compress) { - this.sendFrame(_Sender.frame(data, options), cb); - return; - } - const perMessageDeflate = this._extensions[PerMessageDeflate.extensionName]; - this._bufferedBytes += data.length; - 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 callback = this._queue[i][4]; - if (typeof callback === "function") - callback(err); - } - return; - } - this._bufferedBytes -= data.length; - this._deflating = false; - options.readOnly = false; - this.sendFrame(_Sender.frame(buf, options), cb); - this.dequeue(); - }); - } - /** - * Executes queued send operations. - * - * @private - */ - dequeue() { - while (!this._deflating && this._queue.length) { - const params = this._queue.shift(); - this._bufferedBytes -= params[1].length; - Reflect.apply(params[0], this, params.slice(1)); - } - } - /** - * Enqueues a send operation. - * - * @param {Array} params Send operation parameters. - * @private - */ - enqueue(params) { - this._bufferedBytes += params[1].length; - this._queue.push(params); - } - /** - * Sends a frame. - * - * @param {Buffer[]} list The frame to send - * @param {Function} [cb] Callback - * @private - */ - 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; - } -}); - -// node_modules/ws/lib/event-target.js -var require_event_target = __commonJS({ - "node_modules/ws/lib/event-target.js"(exports2, module2) { - "use strict"; - var Event = class { - /** - * Create a new `Event`. - * - * @param {String} type The name of the event - * @param {Object} target A reference to the target to which the event was - * dispatched - */ - constructor(type, target) { - this.target = target; - this.type = type; - } - }; - var MessageEvent = class extends Event { - /** - * Create a new `MessageEvent`. - * - * @param {(String|Buffer|ArrayBuffer|Buffer[])} data The received data - * @param {WebSocket} target A reference to the target to which the event was - * dispatched - */ - constructor(data, target) { - super("message", target); - this.data = data; - } - }; - var CloseEvent = class extends Event { - /** - * Create a new `CloseEvent`. - * - * @param {Number} code The status code explaining why the connection is being - * closed - * @param {String} reason A human-readable string explaining why the - * connection is closing - * @param {WebSocket} target A reference to the target to which the event was - * dispatched - */ - constructor(code, reason, target) { - super("close", target); - this.wasClean = target._closeFrameReceived && target._closeFrameSent; - this.reason = reason; - this.code = code; - } - }; - var OpenEvent = class extends Event { - /** - * Create a new `OpenEvent`. - * - * @param {WebSocket} target A reference to the target to which the event was - * dispatched - */ - constructor(target) { - super("open", target); - } - }; - var ErrorEvent = class extends Event { - /** - * Create a new `ErrorEvent`. - * - * @param {Object} error The error that generated this event - * @param {WebSocket} target A reference to the target to which the event was - * dispatched - */ - constructor(error, target) { - super("error", target); - this.message = error.message; - this.error = error; - } - }; - var EventTarget = { - /** - * Register an event listener. - * - * @param {String} type A string representing the event type to listen for - * @param {Function} listener The listener to add - * @param {Object} [options] An options object specifies characteristics about - * the event listener - * @param {Boolean} [options.once=false] A `Boolean`` indicating that the - * listener should be invoked at most once after being added. If `true`, - * the listener would be automatically removed when invoked. - * @public - */ - addEventListener(type, listener, options) { - if (typeof listener !== "function") - return; - function onMessage(data) { - listener.call(this, new MessageEvent(data, this)); - } - function onClose(code, message) { - listener.call(this, new CloseEvent(code, message, this)); - } - function onError(error) { - listener.call(this, new ErrorEvent(error, this)); - } - function onOpen() { - listener.call(this, new OpenEvent(this)); - } - const method = options && options.once ? "once" : "on"; - if (type === "message") { - onMessage._listener = listener; - this[method](type, onMessage); - } else if (type === "close") { - onClose._listener = listener; - this[method](type, onClose); - } else if (type === "error") { - onError._listener = listener; - this[method](type, onError); - } else if (type === "open") { - onOpen._listener = listener; - this[method](type, onOpen); - } else { - this[method](type, listener); - } - }, - /** - * Remove an event listener. - * - * @param {String} type A string representing the event type to remove - * @param {Function} listener The listener to remove - * @public - */ - removeEventListener(type, listener) { - const listeners = this.listeners(type); - for (let i = 0; i < listeners.length; i++) { - if (listeners[i] === listener || listeners[i]._listener === listener) { - this.removeListener(type, listeners[i]); - } - } - } - }; - module2.exports = EventTarget; - } -}); - -// node_modules/ws/lib/extension.js -var require_extension = __commonJS({ - "node_modules/ws/lib/extension.js"(exports2, module2) { - "use strict"; - var tokenChars = [ - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - // 0 - 15 - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - // 16 - 31 - 0, - 1, - 0, - 1, - 1, - 1, - 1, - 1, - 0, - 0, - 1, - 1, - 0, - 1, - 1, - 0, - // 32 - 47 - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 0, - 0, - 0, - 0, - 0, - 0, - // 48 - 63 - 0, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - // 64 - 79 - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 0, - 0, - 0, - 1, - 1, - // 80 - 95 - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - // 96 - 111 - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 0, - 1, - 0, - 1, - 0 - // 112 - 127 - ]; - function push(dest, name, elem) { - if (dest[name] === void 0) - dest[name] = [elem]; - else - dest[name].push(elem); - } - function parse(header) { - const offers = /* @__PURE__ */ Object.create(null); - if (header === void 0 || header === "") - return offers; - let params = /* @__PURE__ */ Object.create(null); - let mustUnescape = false; - let isEscaping = false; - let inQuotes = false; - let extensionName; - let paramName; - let start = -1; - let end = -1; - let i = 0; - for (; i < header.length; i++) { - const code = header.charCodeAt(i); - if (extensionName === 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; - const name = header.slice(start, end); - if (code === 44) { - push(offers, name, params); - params = /* @__PURE__ */ 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, header.slice(start, end), true); - if (code === 44) { - push(offers, extensionName, params); - params = /* @__PURE__ */ Object.create(null); - extensionName = void 0; - } - start = end = -1; - } else if (code === 61 && start !== -1 && end === -1) { - paramName = header.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 && header.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 = header.slice(start, end); - if (mustUnescape) { - value = value.replace(/\\/g, ""); - mustUnescape = false; - } - push(params, paramName, value); - if (code === 44) { - push(offers, extensionName, params); - params = /* @__PURE__ */ 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) { - throw new SyntaxError("Unexpected end of input"); - } - if (end === -1) - end = i; - const token = header.slice(start, end); - if (extensionName === void 0) { - push(offers, token, params); - } else { - if (paramName === void 0) { - push(params, token, true); - } else if (mustUnescape) { - push(params, paramName, token.replace(/\\/g, "")); - } else { - push(params, paramName, token); - } - push(offers, extensionName, params); - } - return offers; - } - function format(extensions) { - return Object.keys(extensions).map((extension) => { - let configurations = extensions[extension]; - if (!Array.isArray(configurations)) - configurations = [configurations]; - return configurations.map((params) => { - return [extension].concat( - Object.keys(params).map((k) => { - let values = params[k]; - if (!Array.isArray(values)) - values = [values]; - return values.map((v) => v === true ? k : `${k}=${v}`).join("; "); - }) - ).join("; "); - }).join(", "); - }).join(", "); - } - module2.exports = { format, parse }; - } -}); - -// node_modules/ws/lib/websocket.js -var require_websocket = __commonJS({ - "node_modules/ws/lib/websocket.js"(exports2, module2) { - "use strict"; - var EventEmitter2 = __nccwpck_require__(24434); - var https2 = __nccwpck_require__(65692); - var http2 = __nccwpck_require__(58611); - var net = __nccwpck_require__(69278); - var tls = __nccwpck_require__(64756); - var { randomBytes, createHash } = __nccwpck_require__(76982); - var { URL: URL2 } = __nccwpck_require__(87016); - var PerMessageDeflate = require_permessage_deflate(); - var Receiver = require_receiver(); - var Sender = require_sender(); - var { - BINARY_TYPES, - EMPTY_BUFFER, - GUID, - kStatusCode, - kWebSocket, - NOOP - } = require_constants(); - var { addEventListener, removeEventListener } = require_event_target(); - var { format, parse } = require_extension(); - var { toBuffer } = require_buffer_util(); - var readyStates = ["CONNECTING", "OPEN", "CLOSING", "CLOSED"]; - var protocolVersions = [8, 13]; - var closeTimeout = 30 * 1e3; - var WebSocket = class _WebSocket extends EventEmitter2 { - /** - * Create a new `WebSocket`. - * - * @param {(String|url.URL)} address The URL to which to connect - * @param {(String|String[])} [protocols] The subprotocols - * @param {Object} [options] Connection options - */ - constructor(address, protocols, options) { - super(); - this._binaryType = BINARY_TYPES[0]; - this._closeCode = 1006; - this._closeFrameReceived = false; - this._closeFrameSent = false; - this._closeMessage = ""; - this._closeTimer = null; - this._extensions = {}; - 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 (Array.isArray(protocols)) { - protocols = protocols.join(", "); - } else if (typeof protocols === "object" && protocols !== null) { - options = protocols; - protocols = void 0; - } - initAsClient(this, address, protocols, options); - } else { - this._isServer = true; - } - } - /** - * This deviates from the WHATWG interface since ws doesn't support the - * required default "blob" type (instead we define a custom "nodebuffer" - * type). - * - * @type {String} - */ - get binaryType() { - return this._binaryType; - } - set binaryType(type) { - if (!BINARY_TYPES.includes(type)) - return; - this._binaryType = type; - if (this._receiver) - this._receiver._binaryType = type; - } - /** - * @type {Number} - */ - get bufferedAmount() { - if (!this._socket) - return this._bufferedAmount; - return this._socket._writableState.length + this._sender._bufferedBytes; - } - /** - * @type {String} - */ - get extensions() { - return Object.keys(this._extensions).join(); - } - /** - * @type {String} - */ - get protocol() { - return this._protocol; - } - /** - * @type {Number} - */ - get readyState() { - return this._readyState; - } - /** - * @type {String} - */ - get url() { - return this._url; - } - /** - * Set up the socket and the internal resources. - * - * @param {net.Socket} socket The network socket between the server and client - * @param {Buffer} head The first packet of the upgraded stream - * @param {Number} [maxPayload=0] The maximum allowed message size - * @private - */ - setSocket(socket, head, maxPayload) { - const receiver = new Receiver( - this.binaryType, - this._extensions, - this._isServer, - maxPayload - ); - this._sender = new Sender(socket, this._extensions); - 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); - socket.setTimeout(0); - socket.setNoDelay(); - if (head.length > 0) - socket.unshift(head); - socket.on("close", socketOnClose); - socket.on("data", socketOnData); - socket.on("end", socketOnEnd); - socket.on("error", socketOnError); - this._readyState = _WebSocket.OPEN; - this.emit("open"); - } - /** - * Emit the `'close'` event. - * - * @private - */ - 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); - } - /** - * Start a closing handshake. - * - * +----------+ +-----------+ +----------+ - * - - -|ws.close()|-->|close frame|-->|ws.close()|- - - - * | +----------+ +-----------+ +----------+ | - * +----------+ +-----------+ | - * CLOSING |ws.close()|<--|close frame|<--+-----+ CLOSING - * +----------+ +-----------+ | - * | | | +---+ | - * +------------------------+-->|fin| - - - - - * | +---+ | +---+ - * - - - - -|fin|<---------------------+ - * +---+ - * - * @param {Number} [code] Status code explaining why the connection is closing - * @param {String} [data] A string explaining why the connection is closing - * @public - */ - close(code, data) { - if (this.readyState === _WebSocket.CLOSED) - return; - if (this.readyState === _WebSocket.CONNECTING) { - const msg = "WebSocket was closed before the connection was established"; - return abortHandshake(this, this._req, msg); - } - if (this.readyState === _WebSocket.CLOSING) { - if (this._closeFrameSent && this._closeFrameReceived) - 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._socket.end(); - }); - this._closeTimer = setTimeout( - this._socket.destroy.bind(this._socket), - closeTimeout - ); - } - /** - * Send a ping. - * - * @param {*} [data] The data to send - * @param {Boolean} [mask] Indicates whether or not to mask `data` - * @param {Function} [cb] Callback which is executed when the ping is sent - * @public - */ - 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); - } - /** - * Send a pong. - * - * @param {*} [data] The data to send - * @param {Boolean} [mask] Indicates whether or not to mask `data` - * @param {Function} [cb] Callback which is executed when the pong is sent - * @public - */ - 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); - } - /** - * Send a data message. - * - * @param {*} data The message to send - * @param {Object} [options] Options object - * @param {Boolean} [options.compress] Specifies whether or not to compress - * `data` - * @param {Boolean} [options.binary] Specifies whether `data` is binary or - * text - * @param {Boolean} [options.fin=true] Specifies whether the fragment is the - * last one - * @param {Boolean} [options.mask] Specifies whether or not to mask `data` - * @param {Function} [cb] Callback which is executed when data is written out - * @public - */ - 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); - } - /** - * Forcibly close the connection. - * - * @public - */ - terminate() { - if (this.readyState === _WebSocket.CLOSED) - return; - if (this.readyState === _WebSocket.CONNECTING) { - const msg = "WebSocket was closed before the connection was established"; - return abortHandshake(this, this._req, msg); - } - if (this._socket) { - this._readyState = _WebSocket.CLOSING; - this._socket.destroy(); - } - } - }; - readyStates.forEach((readyState, i) => { - const descriptor = { enumerable: true, value: i }; - Object.defineProperty(WebSocket.prototype, readyState, descriptor); - Object.defineProperty(WebSocket, readyState, descriptor); - }); - [ - "binaryType", - "bufferedAmount", - "extensions", - "protocol", - "readyState", - "url" - ].forEach((property) => { - Object.defineProperty(WebSocket.prototype, property, { enumerable: true }); - }); - ["open", "error", "close", "message"].forEach((method) => { - Object.defineProperty(WebSocket.prototype, `on${method}`, { - configurable: true, - enumerable: true, - /** - * Return the listener of the event. - * - * @return {(Function|undefined)} The event listener or `undefined` - * @public - */ - get() { - const listeners = this.listeners(method); - for (let i = 0; i < listeners.length; i++) { - if (listeners[i]._listener) - return listeners[i]._listener; - } - return void 0; - }, - /** - * Add a listener for the event. - * - * @param {Function} listener The listener to add - * @public - */ - set(listener) { - const listeners = this.listeners(method); - for (let i = 0; i < listeners.length; i++) { - if (listeners[i]._listener) - this.removeListener(method, listeners[i]); - } - this.addEventListener(method, listener); - } - }); - }); - WebSocket.prototype.addEventListener = addEventListener; - WebSocket.prototype.removeEventListener = removeEventListener; - module2.exports = WebSocket; - function initAsClient(websocket, address, protocols, options) { - const opts = { - protocolVersion: protocolVersions[1], - maxPayload: 100 * 1024 * 1024, - perMessageDeflate: true, - followRedirects: false, - maxRedirects: 10, - ...options, - createConnection: void 0, - socketPath: void 0, - hostname: void 0, - protocol: void 0, - timeout: void 0, - method: void 0, - host: void 0, - path: void 0, - port: void 0 - }; - if (!protocolVersions.includes(opts.protocolVersion)) { - throw new RangeError( - `Unsupported protocol version: ${opts.protocolVersion} (supported versions: ${protocolVersions.join(", ")})` - ); - } - let parsedUrl; - if (address instanceof URL2) { - parsedUrl = address; - websocket._url = address.href; - } else { - parsedUrl = new URL2(address); - websocket._url = address; - } - const isUnixSocket = parsedUrl.protocol === "ws+unix:"; - if (!parsedUrl.host && (!isUnixSocket || !parsedUrl.pathname)) { - throw new Error(`Invalid URL: ${websocket.url}`); - } - const isSecure = parsedUrl.protocol === "wss:" || parsedUrl.protocol === "https:"; - const defaultPort = isSecure ? 443 : 80; - const key = randomBytes(16).toString("base64"); - const get = isSecure ? https2.get : http2.get; - let perMessageDeflate; - 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 = { - "Sec-WebSocket-Version": opts.protocolVersion, - "Sec-WebSocket-Key": key, - Connection: "Upgrade", - Upgrade: "websocket", - ...opts.headers - }; - 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"] = format({ - [PerMessageDeflate.extensionName]: perMessageDeflate.offer() - }); - } - if (protocols) { - opts.headers["Sec-WebSocket-Protocol"] = protocols; - } - 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 (isUnixSocket) { - const parts = opts.path.split(":"); - opts.socketPath = parts[0]; - opts.path = parts[1]; - } - let req = websocket._req = get(opts); - if (opts.timeout) { - req.on("timeout", () => { - abortHandshake(websocket, req, "Opening handshake has timed out"); - }); - } - req.on("error", (err) => { - if (req === null || req.aborted) - return; - req = websocket._req = null; - websocket._readyState = WebSocket.CLOSING; - websocket.emit("error", err); - websocket.emitClose(); - }); - 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(); - const addr = new URL2(location, address); - 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, head) => { - websocket.emit("upgrade", res); - if (websocket.readyState !== WebSocket.CONNECTING) - return; - req = websocket._req = null; - const digest = createHash("sha1").update(key + GUID).digest("base64"); - if (res.headers["sec-websocket-accept"] !== digest) { - abortHandshake(websocket, socket, "Invalid Sec-WebSocket-Accept header"); - return; - } - const serverProt = res.headers["sec-websocket-protocol"]; - const protList = (protocols || "").split(/, */); - let protError; - if (!protocols && serverProt) { - protError = "Server sent a subprotocol but none was requested"; - } else if (protocols && !serverProt) { - protError = "Server sent no subprotocol"; - } else if (serverProt && !protList.includes(serverProt)) { - protError = "Server sent an invalid subprotocol"; - } - if (protError) { - abortHandshake(websocket, socket, protError); - return; - } - if (serverProt) - websocket._protocol = serverProt; - if (perMessageDeflate) { - try { - const extensions = parse(res.headers["sec-websocket-extensions"]); - if (extensions[PerMessageDeflate.extensionName]) { - perMessageDeflate.accept(extensions[PerMessageDeflate.extensionName]); - websocket._extensions[PerMessageDeflate.extensionName] = perMessageDeflate; - } - } catch (err) { - abortHandshake( - websocket, - socket, - "Invalid Sec-WebSocket-Extensions header" - ); - return; - } - } - websocket.setSocket(socket, head, opts.maxPayload); - }); - } - function netConnect(options) { - options.path = options.socketPath; - return net.connect(options); - } - function tlsConnect(options) { - options.path = void 0; - if (!options.servername && options.servername !== "") { - options.servername = net.isIP(options.host) ? "" : options.host; - } - return tls.connect(options); - } - function abortHandshake(websocket, stream4, message) { - websocket._readyState = WebSocket.CLOSING; - const err = new Error(message); - Error.captureStackTrace(err, abortHandshake); - if (stream4.setHeader) { - stream4.abort(); - if (stream4.socket && !stream4.socket.destroyed) { - stream4.socket.destroy(); - } - stream4.once("abort", websocket.emitClose.bind(websocket)); - websocket.emit("error", err); - } else { - stream4.destroy(err); - stream4.once("error", websocket.emit.bind(websocket, "error")); - stream4.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]})` - ); - cb(err); - } - } - function receiverOnConclude(code, reason) { - const websocket = this[kWebSocket]; - websocket._socket.removeListener("data", socketOnData); - websocket._socket.resume(); - websocket._closeFrameReceived = true; - websocket._closeMessage = reason; - websocket._closeCode = code; - if (code === 1005) - websocket.close(); - else - websocket.close(code, reason); - } - function receiverOnDrain() { - this[kWebSocket]._socket.resume(); - } - function receiverOnError(err) { - const websocket = this[kWebSocket]; - websocket._socket.removeListener("data", socketOnData); - websocket._readyState = WebSocket.CLOSING; - websocket._closeCode = err[kStatusCode]; - websocket.emit("error", err); - websocket._socket.destroy(); - } - function receiverOnFinish() { - this[kWebSocket].emitClose(); - } - function receiverOnMessage(data) { - this[kWebSocket].emit("message", data); - } - function receiverOnPing(data) { - const websocket = this[kWebSocket]; - websocket.pong(data, !websocket._isServer, NOOP); - websocket.emit("ping", data); - } - function receiverOnPong(data) { - this[kWebSocket].emit("pong", data); - } - function socketOnClose() { - const websocket = this[kWebSocket]; - this.removeListener("close", socketOnClose); - this.removeListener("end", socketOnEnd); - websocket._readyState = WebSocket.CLOSING; - websocket._socket.read(); - websocket._receiver.end(); - this.removeListener("data", socketOnData); - 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(chunk) { - if (!this[kWebSocket]._receiver.write(chunk)) { - this.pause(); - } - } - function socketOnEnd() { - const websocket = this[kWebSocket]; - websocket._readyState = WebSocket.CLOSING; - websocket._receiver.end(); - this.end(); - } - function socketOnError() { - const websocket = this[kWebSocket]; - this.removeListener("error", socketOnError); - this.on("error", NOOP); - if (websocket) { - websocket._readyState = WebSocket.CLOSING; - this.destroy(); - } - } - } -}); - -// node_modules/ws/lib/stream.js -var require_stream = __commonJS({ - "node_modules/ws/lib/stream.js"(exports2, module2) { - "use strict"; - var { Duplex } = __nccwpck_require__(2203); - function emitClose(stream4) { - stream4.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 resumeOnReceiverDrain = true; - function receiverOnDrain() { - if (resumeOnReceiverDrain) - ws._socket.resume(); - } - if (ws.readyState === ws.CONNECTING) { - ws.once("open", function open() { - ws._receiver.removeAllListeners("drain"); - ws._receiver.on("drain", receiverOnDrain); - }); - } else { - ws._receiver.removeAllListeners("drain"); - ws._receiver.on("drain", receiverOnDrain); - } - const duplex = new Duplex({ - ...options, - autoDestroy: false, - emitClose: false, - objectMode: false, - writableObjectMode: false - }); - ws.on("message", function message(msg) { - if (!duplex.push(msg)) { - resumeOnReceiverDrain = false; - ws._socket.pause(); - } - }); - ws.once("error", function error(err) { - if (duplex.destroyed) - return; - 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); - }); - ws.terminate(); - }; - duplex._final = function(callback) { - if (ws.readyState === ws.CONNECTING) { - ws.once("open", function open() { - 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.readyState === ws.OPEN && !resumeOnReceiverDrain) { - resumeOnReceiverDrain = true; - if (!ws._receiver._writableState.needDrain) - ws._socket.resume(); - } - }; - duplex._write = function(chunk, encoding, callback) { - if (ws.readyState === ws.CONNECTING) { - ws.once("open", function open() { - duplex._write(chunk, encoding, callback); - }); - return; - } - ws.send(chunk, callback); - }; - duplex.on("end", duplexOnEnd); - duplex.on("error", duplexOnError); - return duplex; - } - module2.exports = createWebSocketStream; - } -}); - -// node_modules/ws/lib/websocket-server.js -var require_websocket_server = __commonJS({ - "node_modules/ws/lib/websocket-server.js"(exports2, module2) { - "use strict"; - var EventEmitter2 = __nccwpck_require__(24434); - var { createHash } = __nccwpck_require__(76982); - var { createServer, STATUS_CODES } = __nccwpck_require__(58611); - var PerMessageDeflate = require_permessage_deflate(); - var WebSocket = require_websocket(); - var { format, parse } = require_extension(); - var { GUID, kWebSocket } = require_constants(); - var keyRegex = /^[+/0-9A-Za-z]{22}==$/; - var WebSocketServer = class extends EventEmitter2 { - /** - * Create a `WebSocketServer` instance. - * - * @param {Object} options Configuration options - * @param {Number} [options.backlog=511] The maximum length of the queue of - * pending connections - * @param {Boolean} [options.clientTracking=true] Specifies whether or not to - * track clients - * @param {Function} [options.handleProtocols] A hook to handle protocols - * @param {String} [options.host] The hostname where to bind the server - * @param {Number} [options.maxPayload=104857600] The maximum allowed message - * size - * @param {Boolean} [options.noServer=false] Enable no server mode - * @param {String} [options.path] Accept only connections matching this path - * @param {(Boolean|Object)} [options.perMessageDeflate=false] Enable/disable - * permessage-deflate - * @param {Number} [options.port] The port where to bind the server - * @param {http.Server} [options.server] A pre-created HTTP/S server to use - * @param {Function} [options.verifyClient] A hook to reject connections - * @param {Function} [callback] A listener for the `listening` event - */ - constructor(options, callback) { - super(); - options = { - maxPayload: 100 * 1024 * 1024, - perMessageDeflate: false, - handleProtocols: null, - clientTracking: true, - verifyClient: null, - noServer: false, - backlog: null, - // use default (511 as implemented in net.js) - server: null, - host: null, - path: null, - port: null, - ...options - }; - if (options.port == null && !options.server && !options.noServer) { - throw new TypeError( - 'One of the "port", "server", or "noServer" options must be specified' - ); - } - if (options.port != null) { - this._server = createServer((req, res) => { - const body = 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, head) => { - this.handleUpgrade(req, socket, head, emitConnection); - } - }); - } - if (options.perMessageDeflate === true) - options.perMessageDeflate = {}; - if (options.clientTracking) - this.clients = /* @__PURE__ */ new Set(); - this.options = options; - } - /** - * Returns the bound address, the address family name, and port of the server - * as reported by the operating system if listening on an IP socket. - * If the server is listening on a pipe or UNIX domain socket, the name is - * returned as a string. - * - * @return {(Object|String|null)} The address of the server - * @public - */ - 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 the server. - * - * @param {Function} [cb] Callback - * @public - */ - close(cb) { - if (cb) - this.once("close", cb); - if (this.clients) { - for (const client of this.clients) - client.terminate(); - } - const server = this._server; - if (server) { - this._removeListeners(); - this._removeListeners = this._server = null; - if (this.options.port != null) { - server.close(() => this.emit("close")); - return; - } - } - process.nextTick(emitClose, this); - } - /** - * See if a given request should be handled by this server instance. - * - * @param {http.IncomingMessage} req Request object to inspect - * @return {Boolean} `true` if the request is valid, else `false` - * @public - */ - 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; - } - /** - * Handle a HTTP Upgrade request. - * - * @param {http.IncomingMessage} req The request object - * @param {net.Socket} socket The network socket between the server and client - * @param {Buffer} head The first packet of the upgraded stream - * @param {Function} cb Callback - * @public - */ - handleUpgrade(req, socket, head, cb) { - socket.on("error", socketOnError); - const key = req.headers["sec-websocket-key"] !== void 0 ? req.headers["sec-websocket-key"].trim() : false; - const version = +req.headers["sec-websocket-version"]; - const extensions = {}; - if (req.method !== "GET" || req.headers.upgrade.toLowerCase() !== "websocket" || !key || !keyRegex.test(key) || version !== 8 && version !== 13 || !this.shouldHandle(req)) { - return abortHandshake(socket, 400); - } - if (this.options.perMessageDeflate) { - const perMessageDeflate = new PerMessageDeflate( - this.options.perMessageDeflate, - true, - this.options.maxPayload - ); - try { - const offers = parse(req.headers["sec-websocket-extensions"]); - if (offers[PerMessageDeflate.extensionName]) { - perMessageDeflate.accept(offers[PerMessageDeflate.extensionName]); - extensions[PerMessageDeflate.extensionName] = perMessageDeflate; - } - } catch (err) { - return abortHandshake(socket, 400); - } - } - 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, message, headers) => { - if (!verified) { - return abortHandshake(socket, code || 401, message, headers); - } - this.completeUpgrade(key, extensions, req, socket, head, cb); - }); - return; - } - if (!this.options.verifyClient(info)) - return abortHandshake(socket, 401); - } - this.completeUpgrade(key, extensions, req, socket, head, cb); - } - /** - * Upgrade the connection to WebSocket. - * - * @param {String} key The value of the `Sec-WebSocket-Key` header - * @param {Object} extensions The accepted extensions - * @param {http.IncomingMessage} req The request object - * @param {net.Socket} socket The network socket between the server and client - * @param {Buffer} head The first packet of the upgraded stream - * @param {Function} cb Callback - * @throws {Error} If called more than once with the same socket - * @private - */ - completeUpgrade(key, extensions, req, socket, head, 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" - ); - } - const digest = createHash("sha1").update(key + GUID).digest("base64"); - const headers = [ - "HTTP/1.1 101 Switching Protocols", - "Upgrade: websocket", - "Connection: Upgrade", - `Sec-WebSocket-Accept: ${digest}` - ]; - const ws = new WebSocket(null); - let protocol = req.headers["sec-websocket-protocol"]; - if (protocol) { - protocol = protocol.split(",").map(trim2); - if (this.options.handleProtocols) { - protocol = this.options.handleProtocols(protocol, req); - } else { - protocol = protocol[0]; - } - if (protocol) { - headers.push(`Sec-WebSocket-Protocol: ${protocol}`); - ws._protocol = protocol; - } - } - if (extensions[PerMessageDeflate.extensionName]) { - const params = extensions[PerMessageDeflate.extensionName].params; - const value = format({ - [PerMessageDeflate.extensionName]: [params] - }); - headers.push(`Sec-WebSocket-Extensions: ${value}`); - ws._extensions = extensions; - } - this.emit("headers", headers, req); - socket.write(headers.concat("\r\n").join("\r\n")); - socket.removeListener("error", socketOnError); - ws.setSocket(socket, head, this.options.maxPayload); - if (this.clients) { - this.clients.add(ws); - ws.on("close", () => this.clients.delete(ws)); - } - cb(ws, req); - } - }; - module2.exports = WebSocketServer; - function addListeners(server, map) { - for (const event of Object.keys(map)) - server.on(event, map[event]); - return function removeListeners() { - for (const event of Object.keys(map)) { - server.removeListener(event, map[event]); - } - }; - } - function emitClose(server) { - server.emit("close"); - } - function socketOnError() { - this.destroy(); - } - function abortHandshake(socket, code, message, headers) { - if (socket.writable) { - message = message || STATUS_CODES[code]; - headers = { - Connection: "close", - "Content-Type": "text/html", - "Content-Length": Buffer.byteLength(message), - ...headers - }; - socket.write( - `HTTP/1.1 ${code} ${STATUS_CODES[code]}\r -` + Object.keys(headers).map((h) => `${h}: ${headers[h]}`).join("\r\n") + "\r\n\r\n" + message - ); - } - socket.removeListener("error", socketOnError); - socket.destroy(); - } - function trim2(str) { - return str.trim(); - } - } -}); - -// node_modules/ws/index.js -var require_ws = __commonJS({ - "node_modules/ws/index.js"(exports2, module2) { - "use strict"; - var WebSocket = require_websocket(); - WebSocket.createWebSocketStream = require_stream(); - WebSocket.Server = require_websocket_server(); - WebSocket.Receiver = require_receiver(); - WebSocket.Sender = require_sender(); - module2.exports = WebSocket; - } -}); - -// node_modules/@ethersproject/providers/lib/ws.js -var require_ws2 = __commonJS({ - "node_modules/@ethersproject/providers/lib/ws.js"(exports2) { - "use strict"; - var __importDefault = exports2 && exports2.__importDefault || function(mod) { - return mod && mod.__esModule ? mod : { "default": mod }; - }; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.WebSocket = void 0; - var ws_1 = __importDefault(require_ws()); - exports2.WebSocket = ws_1.default; - } -}); - -// node_modules/@ethersproject/providers/lib/websocket-provider.js -var require_websocket_provider = __commonJS({ - "node_modules/@ethersproject/providers/lib/websocket-provider.js"(exports2) { - "use strict"; - var __extends = exports2 && exports2.__extends || /* @__PURE__ */ function() { - var 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); - }; - return function(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 __()); - }; - }(); - var __awaiter = exports2 && exports2.__awaiter || function(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, reject) { - function fulfilled(value) { - try { - step(generator.next(value)); - } catch (e) { - reject(e); - } - } - function rejected(value) { - try { - step(generator["throw"](value)); - } catch (e) { - reject(e); - } - } - function step(result) { - result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); - } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); - }; - var __generator = exports2 && exports2.__generator || function(thisArg, body) { - var _ = { label: 0, sent: function() { - if (t[0] & 1) - throw t[1]; - return t[1]; - }, trys: [], ops: [] }, f, y, t, g; - return g = { next: verb(0), "throw": verb(1), "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 (_) - 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 }; - } - }; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.WebSocketProvider = void 0; - var bignumber_1 = require_lib3(); - var properties_1 = require_lib4(); - var json_rpc_provider_1 = require_json_rpc_provider(); - var ws_1 = require_ws2(); - var logger_1 = require_lib(); - var _version_1 = require_version13(); - var logger = new logger_1.Logger(_version_1.version); - var NextId = 1; - var WebSocketProvider = ( - /** @class */ - function(_super) { - __extends(WebSocketProvider2, _super); - function WebSocketProvider2(url2, network) { - var _this = this; - if (network === "any") { - logger.throwError("WebSocketProvider does not support 'any' network yet", logger_1.Logger.errors.UNSUPPORTED_OPERATION, { - operation: "network:any" - }); - } - if (typeof url2 === "string") { - _this = _super.call(this, url2, network) || this; - } else { - _this = _super.call(this, "_websocket", network) || this; - } - _this._pollingInterval = -1; - _this._wsReady = false; - if (typeof url2 === "string") { - (0, properties_1.defineReadOnly)(_this, "_websocket", new ws_1.WebSocket(_this.connection.url)); - } else { - (0, properties_1.defineReadOnly)(_this, "_websocket", url2); - } - (0, properties_1.defineReadOnly)(_this, "_requests", {}); - (0, properties_1.defineReadOnly)(_this, "_subs", {}); - (0, properties_1.defineReadOnly)(_this, "_subIds", {}); - (0, properties_1.defineReadOnly)(_this, "_detectNetwork", _super.prototype.detectNetwork.call(_this)); - _this.websocket.onopen = function() { - _this._wsReady = true; - Object.keys(_this._requests).forEach(function(id) { - _this.websocket.send(_this._requests[id].payload); - }); - }; - _this.websocket.onmessage = function(messageEvent) { - var data = messageEvent.data; - var result = JSON.parse(data); - if (result.id != null) { - var id = String(result.id); - var request = _this._requests[id]; - delete _this._requests[id]; - if (result.result !== void 0) { - request.callback(null, result.result); - _this.emit("debug", { - action: "response", - request: JSON.parse(request.payload), - response: result.result, - provider: _this - }); - } else { - var error = null; - if (result.error) { - error = new Error(result.error.message || "unknown error"); - (0, properties_1.defineReadOnly)(error, "code", result.error.code || null); - (0, properties_1.defineReadOnly)(error, "response", data); - } else { - error = new Error("unknown error"); - } - request.callback(error, void 0); - _this.emit("debug", { - action: "response", - error, - request: JSON.parse(request.payload), - provider: _this - }); - } - } else if (result.method === "eth_subscription") { - var sub = _this._subs[result.params.subscription]; - if (sub) { - sub.processFunc(result.params.result); - } - } else { - console.warn("this should not happen"); - } - }; - var fauxPoll = setInterval(function() { - _this.emit("poll"); - }, 1e3); - if (fauxPoll.unref) { - fauxPoll.unref(); - } - return _this; - } - Object.defineProperty(WebSocketProvider2.prototype, "websocket", { - // Cannot narrow the type of _websocket, as that is not backwards compatible - // so we add a getter and let the WebSocket be a public API. - get: function() { - return this._websocket; - }, - enumerable: false, - configurable: true - }); - WebSocketProvider2.prototype.detectNetwork = function() { - return this._detectNetwork; - }; - Object.defineProperty(WebSocketProvider2.prototype, "pollingInterval", { - get: function() { - return 0; - }, - set: function(value) { - logger.throwError("cannot set polling interval on WebSocketProvider", logger_1.Logger.errors.UNSUPPORTED_OPERATION, { - operation: "setPollingInterval" - }); - }, - enumerable: false, - configurable: true - }); - WebSocketProvider2.prototype.resetEventsBlock = function(blockNumber) { - logger.throwError("cannot reset events block on WebSocketProvider", logger_1.Logger.errors.UNSUPPORTED_OPERATION, { - operation: "resetEventBlock" - }); - }; - WebSocketProvider2.prototype.poll = function() { - return __awaiter(this, void 0, void 0, function() { - return __generator(this, function(_a) { - return [2, null]; - }); - }); - }; - Object.defineProperty(WebSocketProvider2.prototype, "polling", { - set: function(value) { - if (!value) { - return; - } - logger.throwError("cannot set polling on WebSocketProvider", logger_1.Logger.errors.UNSUPPORTED_OPERATION, { - operation: "setPolling" - }); - }, - enumerable: false, - configurable: true - }); - WebSocketProvider2.prototype.send = function(method, params) { - var _this = this; - var rid = NextId++; - return new Promise(function(resolve, reject) { - function callback(error, result) { - if (error) { - return reject(error); - } - return resolve(result); - } - var payload = JSON.stringify({ - method, - params, - id: rid, - jsonrpc: "2.0" - }); - _this.emit("debug", { - action: "request", - request: JSON.parse(payload), - provider: _this - }); - _this._requests[String(rid)] = { callback, payload }; - if (_this._wsReady) { - _this.websocket.send(payload); - } - }); - }; - WebSocketProvider2.defaultUrl = function() { - return "ws://localhost:8546"; - }; - WebSocketProvider2.prototype._subscribe = function(tag, param, processFunc) { - return __awaiter(this, void 0, void 0, function() { - var subIdPromise, subId; - var _this = this; - return __generator(this, function(_a) { - switch (_a.label) { - case 0: - subIdPromise = this._subIds[tag]; - if (subIdPromise == null) { - subIdPromise = Promise.all(param).then(function(param2) { - return _this.send("eth_subscribe", param2); - }); - this._subIds[tag] = subIdPromise; - } - return [4, subIdPromise]; - case 1: - subId = _a.sent(); - this._subs[subId] = { tag, processFunc }; - return [ - 2 - /*return*/ - ]; - } - }); - }); - }; - WebSocketProvider2.prototype._startEvent = function(event) { - var _this = this; - switch (event.type) { - case "block": - this._subscribe("block", ["newHeads"], function(result) { - var blockNumber = bignumber_1.BigNumber.from(result.number).toNumber(); - _this._emitted.block = blockNumber; - _this.emit("block", blockNumber); - }); - break; - case "pending": - this._subscribe("pending", ["newPendingTransactions"], function(result) { - _this.emit("pending", result); - }); - break; - case "filter": - this._subscribe(event.tag, ["logs", this._getFilter(event.filter)], function(result) { - if (result.removed == null) { - result.removed = false; - } - _this.emit(event.filter, _this.formatter.filterLog(result)); - }); - break; - case "tx": { - var emitReceipt_1 = function(event2) { - var hash = event2.hash; - _this.getTransactionReceipt(hash).then(function(receipt) { - if (!receipt) { - return; - } - _this.emit(hash, receipt); - }); - }; - emitReceipt_1(event); - this._subscribe("tx", ["newHeads"], function(result) { - _this._events.filter(function(e) { - return e.type === "tx"; - }).forEach(emitReceipt_1); - }); - break; - } - case "debug": - case "poll": - case "willPoll": - case "didPoll": - case "error": - break; - default: - console.log("unhandled:", event); - break; - } - }; - WebSocketProvider2.prototype._stopEvent = function(event) { - var _this = this; - var tag = event.tag; - if (event.type === "tx") { - if (this._events.filter(function(e) { - return e.type === "tx"; - }).length) { - return; - } - tag = "tx"; - } else if (this.listenerCount(event.event)) { - return; - } - var subId = this._subIds[tag]; - if (!subId) { - return; - } - delete this._subIds[tag]; - subId.then(function(subId2) { - if (!_this._subs[subId2]) { - return; - } - delete _this._subs[subId2]; - _this.send("eth_unsubscribe", [subId2]); - }); - }; - WebSocketProvider2.prototype.destroy = function() { - return __awaiter(this, void 0, void 0, function() { - var _this = this; - return __generator(this, function(_a) { - switch (_a.label) { - case 0: - if (!(this.websocket.readyState === ws_1.WebSocket.CONNECTING)) - return [3, 2]; - return [4, new Promise(function(resolve) { - _this.websocket.onopen = function() { - resolve(true); - }; - _this.websocket.onerror = function() { - resolve(false); - }; - })]; - case 1: - _a.sent(); - _a.label = 2; - case 2: - this.websocket.close(1e3); - return [ - 2 - /*return*/ - ]; - } - }); - }); - }; - return WebSocketProvider2; - }(json_rpc_provider_1.JsonRpcProvider) - ); - exports2.WebSocketProvider = WebSocketProvider; - } -}); - -// node_modules/@ethersproject/providers/lib/url-json-rpc-provider.js -var require_url_json_rpc_provider = __commonJS({ - "node_modules/@ethersproject/providers/lib/url-json-rpc-provider.js"(exports2) { - "use strict"; - var __extends = exports2 && exports2.__extends || /* @__PURE__ */ function() { - var 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); - }; - return function(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 __()); - }; - }(); - var __awaiter = exports2 && exports2.__awaiter || function(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, reject) { - function fulfilled(value) { - try { - step(generator.next(value)); - } catch (e) { - reject(e); - } - } - function rejected(value) { - try { - step(generator["throw"](value)); - } catch (e) { - reject(e); - } - } - function step(result) { - result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); - } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); - }; - var __generator = exports2 && exports2.__generator || function(thisArg, body) { - var _ = { label: 0, sent: function() { - if (t[0] & 1) - throw t[1]; - return t[1]; - }, trys: [], ops: [] }, f, y, t, g; - return g = { next: verb(0), "throw": verb(1), "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 (_) - 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 }; - } - }; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.UrlJsonRpcProvider = exports2.StaticJsonRpcProvider = void 0; - var properties_1 = require_lib4(); - var logger_1 = require_lib(); - var _version_1 = require_version13(); - var logger = new logger_1.Logger(_version_1.version); - var json_rpc_provider_1 = require_json_rpc_provider(); - var StaticJsonRpcProvider = ( - /** @class */ - function(_super) { - __extends(StaticJsonRpcProvider2, _super); - function StaticJsonRpcProvider2() { - return _super !== null && _super.apply(this, arguments) || this; - } - StaticJsonRpcProvider2.prototype.detectNetwork = function() { - return __awaiter(this, void 0, void 0, function() { - var network; - return __generator(this, function(_a) { - switch (_a.label) { - case 0: - network = this.network; - if (!(network == null)) - return [3, 2]; - return [4, _super.prototype.detectNetwork.call(this)]; - case 1: - network = _a.sent(); - if (!network) { - logger.throwError("no network detected", logger_1.Logger.errors.UNKNOWN_ERROR, {}); - } - if (this._network == null) { - (0, properties_1.defineReadOnly)(this, "_network", network); - this.emit("network", network, null); - } - _a.label = 2; - case 2: - return [2, network]; - } - }); - }); - }; - return StaticJsonRpcProvider2; - }(json_rpc_provider_1.JsonRpcProvider) - ); - exports2.StaticJsonRpcProvider = StaticJsonRpcProvider; - var UrlJsonRpcProvider = ( - /** @class */ - function(_super) { - __extends(UrlJsonRpcProvider2, _super); - function UrlJsonRpcProvider2(network, apiKey) { - var _newTarget = this.constructor; - var _this = this; - logger.checkAbstract(_newTarget, UrlJsonRpcProvider2); - network = (0, properties_1.getStatic)(_newTarget, "getNetwork")(network); - apiKey = (0, properties_1.getStatic)(_newTarget, "getApiKey")(apiKey); - var connection = (0, properties_1.getStatic)(_newTarget, "getUrl")(network, apiKey); - _this = _super.call(this, connection, network) || this; - if (typeof apiKey === "string") { - (0, properties_1.defineReadOnly)(_this, "apiKey", apiKey); - } else if (apiKey != null) { - Object.keys(apiKey).forEach(function(key) { - (0, properties_1.defineReadOnly)(_this, key, apiKey[key]); - }); - } - return _this; - } - UrlJsonRpcProvider2.prototype._startPending = function() { - logger.warn("WARNING: API provider does not support pending filters"); - }; - UrlJsonRpcProvider2.prototype.isCommunityResource = function() { - return false; - }; - UrlJsonRpcProvider2.prototype.getSigner = function(address) { - return logger.throwError("API provider does not support signing", logger_1.Logger.errors.UNSUPPORTED_OPERATION, { operation: "getSigner" }); - }; - UrlJsonRpcProvider2.prototype.listAccounts = function() { - return Promise.resolve([]); - }; - UrlJsonRpcProvider2.getApiKey = function(apiKey) { - return apiKey; - }; - UrlJsonRpcProvider2.getUrl = function(network, apiKey) { - return logger.throwError("not implemented; sub-classes must override getUrl", logger_1.Logger.errors.NOT_IMPLEMENTED, { - operation: "getUrl" - }); - }; - return UrlJsonRpcProvider2; - }(StaticJsonRpcProvider) - ); - exports2.UrlJsonRpcProvider = UrlJsonRpcProvider; - } -}); - -// node_modules/@ethersproject/providers/lib/alchemy-provider.js -var require_alchemy_provider = __commonJS({ - "node_modules/@ethersproject/providers/lib/alchemy-provider.js"(exports2) { - "use strict"; - var __extends = exports2 && exports2.__extends || /* @__PURE__ */ function() { - var 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); - }; - return function(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 __()); - }; - }(); - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.AlchemyProvider = exports2.AlchemyWebSocketProvider = void 0; - var properties_1 = require_lib4(); - var formatter_1 = require_formatter(); - var websocket_provider_1 = require_websocket_provider(); - var logger_1 = require_lib(); - var _version_1 = require_version13(); - var logger = new logger_1.Logger(_version_1.version); - var url_json_rpc_provider_1 = require_url_json_rpc_provider(); - var defaultApiKey = "_gg7wSSi0KMBsdKnGVfHDueq6xMB9EkC"; - var AlchemyWebSocketProvider = ( - /** @class */ - function(_super) { - __extends(AlchemyWebSocketProvider2, _super); - function AlchemyWebSocketProvider2(network, apiKey) { - var _this = this; - var provider = new AlchemyProvider(network, apiKey); - var url2 = provider.connection.url.replace(/^http/i, "ws").replace(".alchemyapi.", ".ws.alchemyapi."); - _this = _super.call(this, url2, provider.network) || this; - (0, properties_1.defineReadOnly)(_this, "apiKey", provider.apiKey); - return _this; - } - AlchemyWebSocketProvider2.prototype.isCommunityResource = function() { - return this.apiKey === defaultApiKey; - }; - return AlchemyWebSocketProvider2; - }(websocket_provider_1.WebSocketProvider) - ); - exports2.AlchemyWebSocketProvider = AlchemyWebSocketProvider; - var AlchemyProvider = ( - /** @class */ - function(_super) { - __extends(AlchemyProvider2, _super); - function AlchemyProvider2() { - return _super !== null && _super.apply(this, arguments) || this; - } - AlchemyProvider2.getWebSocketProvider = function(network, apiKey) { - return new AlchemyWebSocketProvider(network, apiKey); - }; - AlchemyProvider2.getApiKey = function(apiKey) { - if (apiKey == null) { - return defaultApiKey; - } - if (apiKey && typeof apiKey !== "string") { - logger.throwArgumentError("invalid apiKey", "apiKey", apiKey); - } - return apiKey; - }; - AlchemyProvider2.getUrl = function(network, apiKey) { - var host = null; - switch (network.name) { - case "homestead": - host = "eth-mainnet.alchemyapi.io/v2/"; - break; - case "goerli": - host = "eth-goerli.g.alchemy.com/v2/"; - break; - case "matic": - host = "polygon-mainnet.g.alchemy.com/v2/"; - break; - case "maticmum": - host = "polygon-mumbai.g.alchemy.com/v2/"; - break; - case "arbitrum": - host = "arb-mainnet.g.alchemy.com/v2/"; - break; - case "arbitrum-goerli": - host = "arb-goerli.g.alchemy.com/v2/"; - break; - case "optimism": - host = "opt-mainnet.g.alchemy.com/v2/"; - break; - case "optimism-goerli": - host = "opt-goerli.g.alchemy.com/v2/"; - break; - default: - logger.throwArgumentError("unsupported network", "network", arguments[0]); - } - return { - allowGzip: true, - url: "https://" + host + apiKey, - throttleCallback: function(attempt, url2) { - if (apiKey === defaultApiKey) { - (0, formatter_1.showThrottleMessage)(); - } - return Promise.resolve(true); - } - }; - }; - AlchemyProvider2.prototype.isCommunityResource = function() { - return this.apiKey === defaultApiKey; - }; - return AlchemyProvider2; - }(url_json_rpc_provider_1.UrlJsonRpcProvider) - ); - exports2.AlchemyProvider = AlchemyProvider; - } -}); - -// node_modules/@ethersproject/providers/lib/ankr-provider.js -var require_ankr_provider = __commonJS({ - "node_modules/@ethersproject/providers/lib/ankr-provider.js"(exports2) { - "use strict"; - var __extends = exports2 && exports2.__extends || /* @__PURE__ */ function() { - var 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); - }; - return function(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 __()); - }; - }(); - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.AnkrProvider = void 0; - var formatter_1 = require_formatter(); - var url_json_rpc_provider_1 = require_url_json_rpc_provider(); - var logger_1 = require_lib(); - var _version_1 = require_version13(); - var logger = new logger_1.Logger(_version_1.version); - var defaultApiKey = "9f7d929b018cdffb338517efa06f58359e86ff1ffd350bc889738523659e7972"; - function getHost(name) { - switch (name) { - case "homestead": - return "rpc.ankr.com/eth/"; - case "ropsten": - return "rpc.ankr.com/eth_ropsten/"; - case "rinkeby": - return "rpc.ankr.com/eth_rinkeby/"; - case "goerli": - return "rpc.ankr.com/eth_goerli/"; - case "matic": - return "rpc.ankr.com/polygon/"; - case "arbitrum": - return "rpc.ankr.com/arbitrum/"; - } - return logger.throwArgumentError("unsupported network", "name", name); - } - var AnkrProvider = ( - /** @class */ - function(_super) { - __extends(AnkrProvider2, _super); - function AnkrProvider2() { - return _super !== null && _super.apply(this, arguments) || this; - } - AnkrProvider2.prototype.isCommunityResource = function() { - return this.apiKey === defaultApiKey; - }; - AnkrProvider2.getApiKey = function(apiKey) { - if (apiKey == null) { - return defaultApiKey; - } - return apiKey; - }; - AnkrProvider2.getUrl = function(network, apiKey) { - if (apiKey == null) { - apiKey = defaultApiKey; - } - var connection = { - allowGzip: true, - url: "https://" + getHost(network.name) + apiKey, - throttleCallback: function(attempt, url2) { - if (apiKey.apiKey === defaultApiKey) { - (0, formatter_1.showThrottleMessage)(); - } - return Promise.resolve(true); - } - }; - if (apiKey.projectSecret != null) { - connection.user = ""; - connection.password = apiKey.projectSecret; - } - return connection; - }; - return AnkrProvider2; - }(url_json_rpc_provider_1.UrlJsonRpcProvider) - ); - exports2.AnkrProvider = AnkrProvider; - } -}); - -// node_modules/@ethersproject/providers/lib/cloudflare-provider.js -var require_cloudflare_provider = __commonJS({ - "node_modules/@ethersproject/providers/lib/cloudflare-provider.js"(exports2) { - "use strict"; - var __extends = exports2 && exports2.__extends || /* @__PURE__ */ function() { - var 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); - }; - return function(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 __()); - }; - }(); - var __awaiter = exports2 && exports2.__awaiter || function(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, reject) { - function fulfilled(value) { - try { - step(generator.next(value)); - } catch (e) { - reject(e); - } - } - function rejected(value) { - try { - step(generator["throw"](value)); - } catch (e) { - reject(e); - } - } - function step(result) { - result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); - } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); - }; - var __generator = exports2 && exports2.__generator || function(thisArg, body) { - var _ = { label: 0, sent: function() { - if (t[0] & 1) - throw t[1]; - return t[1]; - }, trys: [], ops: [] }, f, y, t, g; - return g = { next: verb(0), "throw": verb(1), "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 (_) - 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 }; - } - }; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.CloudflareProvider = void 0; - var url_json_rpc_provider_1 = require_url_json_rpc_provider(); - var logger_1 = require_lib(); - var _version_1 = require_version13(); - var logger = new logger_1.Logger(_version_1.version); - var CloudflareProvider = ( - /** @class */ - function(_super) { - __extends(CloudflareProvider2, _super); - function CloudflareProvider2() { - return _super !== null && _super.apply(this, arguments) || this; - } - CloudflareProvider2.getApiKey = function(apiKey) { - if (apiKey != null) { - logger.throwArgumentError("apiKey not supported for cloudflare", "apiKey", apiKey); - } - return null; - }; - CloudflareProvider2.getUrl = function(network, apiKey) { - var host = null; - switch (network.name) { - case "homestead": - host = "https://cloudflare-eth.com/"; - break; - default: - logger.throwArgumentError("unsupported network", "network", arguments[0]); - } - return host; - }; - CloudflareProvider2.prototype.perform = function(method, params) { - return __awaiter(this, void 0, void 0, function() { - var block; - return __generator(this, function(_a) { - switch (_a.label) { - case 0: - if (!(method === "getBlockNumber")) - return [3, 2]; - return [4, _super.prototype.perform.call(this, "getBlock", { blockTag: "latest" })]; - case 1: - block = _a.sent(); - return [2, block.number]; - case 2: - return [2, _super.prototype.perform.call(this, method, params)]; - } - }); - }); - }; - return CloudflareProvider2; - }(url_json_rpc_provider_1.UrlJsonRpcProvider) - ); - exports2.CloudflareProvider = CloudflareProvider; - } -}); - -// node_modules/@ethersproject/providers/lib/etherscan-provider.js -var require_etherscan_provider = __commonJS({ - "node_modules/@ethersproject/providers/lib/etherscan-provider.js"(exports2) { - "use strict"; - var __extends = exports2 && exports2.__extends || /* @__PURE__ */ function() { - var 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); - }; - return function(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 __()); - }; - }(); - var __awaiter = exports2 && exports2.__awaiter || function(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, reject) { - function fulfilled(value) { - try { - step(generator.next(value)); - } catch (e) { - reject(e); - } - } - function rejected(value) { - try { - step(generator["throw"](value)); - } catch (e) { - reject(e); - } - } - function step(result) { - result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); - } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); - }; - var __generator = exports2 && exports2.__generator || function(thisArg, body) { - var _ = { label: 0, sent: function() { - if (t[0] & 1) - throw t[1]; - return t[1]; - }, trys: [], ops: [] }, f, y, t, g; - return g = { next: verb(0), "throw": verb(1), "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 (_) - 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 }; - } - }; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.EtherscanProvider = void 0; - var bytes_1 = require_lib2(); - var properties_1 = require_lib4(); - var transactions_1 = require_lib19(); - var web_1 = require_lib17(); - var formatter_1 = require_formatter(); - var logger_1 = require_lib(); - var _version_1 = require_version13(); - var logger = new logger_1.Logger(_version_1.version); - var base_provider_1 = require_base_provider(); - function getTransactionPostData(transaction) { - var result = {}; - for (var key in transaction) { - if (transaction[key] == null) { - continue; - } - var value = transaction[key]; - if (key === "type" && value === 0) { - continue; - } - if ({ type: true, gasLimit: true, gasPrice: true, maxFeePerGs: true, maxPriorityFeePerGas: true, nonce: true, value: true }[key]) { - value = (0, bytes_1.hexValue)((0, bytes_1.hexlify)(value)); - } else if (key === "accessList") { - value = "[" + (0, transactions_1.accessListify)(value).map(function(set) { - return '{address:"' + set.address + '",storageKeys:["' + set.storageKeys.join('","') + '"]}'; - }).join(",") + "]"; - } else { - value = (0, bytes_1.hexlify)(value); - } - result[key] = value; - } - return result; - } - function getResult(result) { - if (result.status == 0 && (result.message === "No records found" || result.message === "No transactions found")) { - return result.result; - } - if (result.status != 1 || typeof result.message !== "string" || !result.message.match(/^OK/)) { - var error = new Error("invalid response"); - error.result = JSON.stringify(result); - if ((result.result || "").toLowerCase().indexOf("rate limit") >= 0) { - error.throttleRetry = true; - } - throw error; - } - return result.result; - } - function getJsonResult(result) { - if (result && result.status == 0 && result.message == "NOTOK" && (result.result || "").toLowerCase().indexOf("rate limit") >= 0) { - var error = new Error("throttled response"); - error.result = JSON.stringify(result); - error.throttleRetry = true; - throw error; - } - if (result.jsonrpc != "2.0") { - var error = new Error("invalid response"); - error.result = JSON.stringify(result); - throw error; - } - if (result.error) { - var error = new Error(result.error.message || "unknown error"); - if (result.error.code) { - error.code = result.error.code; - } - if (result.error.data) { - error.data = result.error.data; - } - throw error; - } - return result.result; - } - function checkLogTag(blockTag) { - if (blockTag === "pending") { - throw new Error("pending not supported"); - } - if (blockTag === "latest") { - return blockTag; - } - return parseInt(blockTag.substring(2), 16); - } - function checkError(method, error, transaction) { - if (method === "call" && error.code === logger_1.Logger.errors.SERVER_ERROR) { - var e = error.error; - if (e && (e.message.match(/reverted/i) || e.message.match(/VM execution error/i))) { - var data = e.data; - if (data) { - data = "0x" + data.replace(/^.*0x/i, ""); - } - if ((0, bytes_1.isHexString)(data)) { - return data; - } - logger.throwError("missing revert data in call exception", logger_1.Logger.errors.CALL_EXCEPTION, { - error, - data: "0x" - }); - } - } - var message = error.message; - if (error.code === logger_1.Logger.errors.SERVER_ERROR) { - if (error.error && typeof error.error.message === "string") { - message = error.error.message; - } else if (typeof error.body === "string") { - message = error.body; - } else if (typeof error.responseText === "string") { - message = error.responseText; - } - } - message = (message || "").toLowerCase(); - if (message.match(/insufficient funds/)) { - logger.throwError("insufficient funds for intrinsic transaction cost", logger_1.Logger.errors.INSUFFICIENT_FUNDS, { - error, - method, - transaction - }); - } - if (message.match(/same hash was already imported|transaction nonce is too low|nonce too low/)) { - logger.throwError("nonce has already been used", logger_1.Logger.errors.NONCE_EXPIRED, { - error, - method, - transaction - }); - } - if (message.match(/another transaction with same nonce/)) { - logger.throwError("replacement fee too low", logger_1.Logger.errors.REPLACEMENT_UNDERPRICED, { - error, - method, - transaction - }); - } - if (message.match(/execution failed due to an exception|execution reverted/)) { - logger.throwError("cannot estimate gas; transaction may fail or may require manual gas limit", logger_1.Logger.errors.UNPREDICTABLE_GAS_LIMIT, { - error, - method, - transaction - }); - } - throw error; - } - var EtherscanProvider = ( - /** @class */ - function(_super) { - __extends(EtherscanProvider2, _super); - function EtherscanProvider2(network, apiKey) { - var _this = _super.call(this, network) || this; - (0, properties_1.defineReadOnly)(_this, "baseUrl", _this.getBaseUrl()); - (0, properties_1.defineReadOnly)(_this, "apiKey", apiKey || null); - return _this; - } - EtherscanProvider2.prototype.getBaseUrl = function() { - switch (this.network ? this.network.name : "invalid") { - case "homestead": - return "https://api.etherscan.io"; - case "goerli": - return "https://api-goerli.etherscan.io"; - case "sepolia": - return "https://api-sepolia.etherscan.io"; - case "matic": - return "https://api.polygonscan.com"; - case "maticmum": - return "https://api-testnet.polygonscan.com"; - case "arbitrum": - return "https://api.arbiscan.io"; - case "arbitrum-goerli": - return "https://api-goerli.arbiscan.io"; - case "optimism": - return "https://api-optimistic.etherscan.io"; - case "optimism-goerli": - return "https://api-goerli-optimistic.etherscan.io"; - default: - } - return logger.throwArgumentError("unsupported network", "network", this.network.name); - }; - EtherscanProvider2.prototype.getUrl = function(module3, params) { - var query = Object.keys(params).reduce(function(accum, key) { - var value = params[key]; - if (value != null) { - accum += "&" + key + "=" + value; - } - return accum; - }, ""); - var apiKey = this.apiKey ? "&apikey=" + this.apiKey : ""; - return this.baseUrl + "/api?module=" + module3 + query + apiKey; - }; - EtherscanProvider2.prototype.getPostUrl = function() { - return this.baseUrl + "/api"; - }; - EtherscanProvider2.prototype.getPostData = function(module3, params) { - params.module = module3; - params.apikey = this.apiKey; - return params; - }; - EtherscanProvider2.prototype.fetch = function(module3, params, post) { - return __awaiter(this, void 0, void 0, function() { - var url2, payload, procFunc, connection, payloadStr, result; - var _this = this; - return __generator(this, function(_a) { - switch (_a.label) { - case 0: - url2 = post ? this.getPostUrl() : this.getUrl(module3, params); - payload = post ? this.getPostData(module3, params) : null; - procFunc = module3 === "proxy" ? getJsonResult : getResult; - this.emit("debug", { - action: "request", - request: url2, - provider: this - }); - connection = { - url: url2, - throttleSlotInterval: 1e3, - throttleCallback: function(attempt, url3) { - if (_this.isCommunityResource()) { - (0, formatter_1.showThrottleMessage)(); - } - return Promise.resolve(true); - } - }; - payloadStr = null; - if (payload) { - connection.headers = { "content-type": "application/x-www-form-urlencoded; charset=UTF-8" }; - payloadStr = Object.keys(payload).map(function(key) { - return key + "=" + payload[key]; - }).join("&"); - } - return [4, (0, web_1.fetchJson)(connection, payloadStr, procFunc || getJsonResult)]; - case 1: - result = _a.sent(); - this.emit("debug", { - action: "response", - request: url2, - response: (0, properties_1.deepCopy)(result), - provider: this - }); - return [2, result]; - } - }); - }); - }; - EtherscanProvider2.prototype.detectNetwork = function() { - return __awaiter(this, void 0, void 0, function() { - return __generator(this, function(_a) { - return [2, this.network]; - }); - }); - }; - EtherscanProvider2.prototype.perform = function(method, params) { - return __awaiter(this, void 0, void 0, function() { - var _a, postData, error_1, postData, error_2, args, topic0, logs, blocks, i, log, block, _b; - return __generator(this, function(_c) { - switch (_c.label) { - case 0: - _a = method; - switch (_a) { - case "getBlockNumber": - return [3, 1]; - case "getGasPrice": - return [3, 2]; - case "getBalance": - return [3, 3]; - case "getTransactionCount": - return [3, 4]; - case "getCode": - return [3, 5]; - case "getStorageAt": - return [3, 6]; - case "sendTransaction": - return [3, 7]; - case "getBlock": - return [3, 8]; - case "getTransaction": - return [3, 9]; - case "getTransactionReceipt": - return [3, 10]; - case "call": - return [3, 11]; - case "estimateGas": - return [3, 15]; - case "getLogs": - return [3, 19]; - case "getEtherPrice": - return [3, 26]; - } - return [3, 28]; - case 1: - return [2, this.fetch("proxy", { action: "eth_blockNumber" })]; - case 2: - return [2, this.fetch("proxy", { action: "eth_gasPrice" })]; - case 3: - return [2, this.fetch("account", { - action: "balance", - address: params.address, - tag: params.blockTag - })]; - case 4: - return [2, this.fetch("proxy", { - action: "eth_getTransactionCount", - address: params.address, - tag: params.blockTag - })]; - case 5: - return [2, this.fetch("proxy", { - action: "eth_getCode", - address: params.address, - tag: params.blockTag - })]; - case 6: - return [2, this.fetch("proxy", { - action: "eth_getStorageAt", - address: params.address, - position: params.position, - tag: params.blockTag - })]; - case 7: - return [2, this.fetch("proxy", { - action: "eth_sendRawTransaction", - hex: params.signedTransaction - }, true).catch(function(error) { - return checkError("sendTransaction", error, params.signedTransaction); - })]; - case 8: - if (params.blockTag) { - return [2, this.fetch("proxy", { - action: "eth_getBlockByNumber", - tag: params.blockTag, - boolean: params.includeTransactions ? "true" : "false" - })]; - } - throw new Error("getBlock by blockHash not implemented"); - case 9: - return [2, this.fetch("proxy", { - action: "eth_getTransactionByHash", - txhash: params.transactionHash - })]; - case 10: - return [2, this.fetch("proxy", { - action: "eth_getTransactionReceipt", - txhash: params.transactionHash - })]; - case 11: - if (params.blockTag !== "latest") { - throw new Error("EtherscanProvider does not support blockTag for call"); - } - postData = getTransactionPostData(params.transaction); - postData.module = "proxy"; - postData.action = "eth_call"; - _c.label = 12; - case 12: - _c.trys.push([12, 14, , 15]); - return [4, this.fetch("proxy", postData, true)]; - case 13: - return [2, _c.sent()]; - case 14: - error_1 = _c.sent(); - return [2, checkError("call", error_1, params.transaction)]; - case 15: - postData = getTransactionPostData(params.transaction); - postData.module = "proxy"; - postData.action = "eth_estimateGas"; - _c.label = 16; - case 16: - _c.trys.push([16, 18, , 19]); - return [4, this.fetch("proxy", postData, true)]; - case 17: - return [2, _c.sent()]; - case 18: - error_2 = _c.sent(); - return [2, checkError("estimateGas", error_2, params.transaction)]; - case 19: - args = { action: "getLogs" }; - if (params.filter.fromBlock) { - args.fromBlock = checkLogTag(params.filter.fromBlock); - } - if (params.filter.toBlock) { - args.toBlock = checkLogTag(params.filter.toBlock); - } - if (params.filter.address) { - args.address = params.filter.address; - } - if (params.filter.topics && params.filter.topics.length > 0) { - if (params.filter.topics.length > 1) { - logger.throwError("unsupported topic count", logger_1.Logger.errors.UNSUPPORTED_OPERATION, { topics: params.filter.topics }); - } - if (params.filter.topics.length === 1) { - topic0 = params.filter.topics[0]; - if (typeof topic0 !== "string" || topic0.length !== 66) { - logger.throwError("unsupported topic format", logger_1.Logger.errors.UNSUPPORTED_OPERATION, { topic0 }); - } - args.topic0 = topic0; - } - } - return [4, this.fetch("logs", args)]; - case 20: - logs = _c.sent(); - blocks = {}; - i = 0; - _c.label = 21; - case 21: - if (!(i < logs.length)) - return [3, 25]; - log = logs[i]; - if (log.blockHash != null) { - return [3, 24]; - } - if (!(blocks[log.blockNumber] == null)) - return [3, 23]; - return [4, this.getBlock(log.blockNumber)]; - case 22: - block = _c.sent(); - if (block) { - blocks[log.blockNumber] = block.hash; - } - _c.label = 23; - case 23: - log.blockHash = blocks[log.blockNumber]; - _c.label = 24; - case 24: - i++; - return [3, 21]; - case 25: - return [2, logs]; - case 26: - if (this.network.name !== "homestead") { - return [2, 0]; - } - _b = parseFloat; - return [4, this.fetch("stats", { action: "ethprice" })]; - case 27: - return [2, _b.apply(void 0, [_c.sent().ethusd])]; - case 28: - return [3, 29]; - case 29: - return [2, _super.prototype.perform.call(this, method, params)]; - } - }); - }); - }; - EtherscanProvider2.prototype.getHistory = function(addressOrName, startBlock, endBlock) { - return __awaiter(this, void 0, void 0, function() { - var params, result; - var _a; - var _this = this; - return __generator(this, function(_b) { - switch (_b.label) { - case 0: - _a = { - action: "txlist" - }; - return [4, this.resolveName(addressOrName)]; - case 1: - params = (_a.address = _b.sent(), _a.startblock = startBlock == null ? 0 : startBlock, _a.endblock = endBlock == null ? 99999999 : endBlock, _a.sort = "asc", _a); - return [4, this.fetch("account", params)]; - case 2: - result = _b.sent(); - return [2, result.map(function(tx) { - ["contractAddress", "to"].forEach(function(key) { - if (tx[key] == "") { - delete tx[key]; - } - }); - if (tx.creates == null && tx.contractAddress != null) { - tx.creates = tx.contractAddress; - } - var item = _this.formatter.transactionResponse(tx); - if (tx.timeStamp) { - item.timestamp = parseInt(tx.timeStamp); - } - return item; - })]; - } - }); - }); - }; - EtherscanProvider2.prototype.isCommunityResource = function() { - return this.apiKey == null; - }; - return EtherscanProvider2; - }(base_provider_1.BaseProvider) - ); - exports2.EtherscanProvider = EtherscanProvider; - } -}); - -// node_modules/@ethersproject/random/lib/random.js -var require_random = __commonJS({ - "node_modules/@ethersproject/random/lib/random.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.randomBytes = void 0; - var crypto_1 = __nccwpck_require__(76982); - var bytes_1 = require_lib2(); - function randomBytes(length) { - return (0, bytes_1.arrayify)((0, crypto_1.randomBytes)(length)); - } - exports2.randomBytes = randomBytes; - } -}); - -// node_modules/@ethersproject/random/lib/shuffle.js -var require_shuffle = __commonJS({ - "node_modules/@ethersproject/random/lib/shuffle.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.shuffled = void 0; - function shuffled(array) { - array = array.slice(); - for (var i = array.length - 1; i > 0; i--) { - var j = Math.floor(Math.random() * (i + 1)); - var tmp = array[i]; - array[i] = array[j]; - array[j] = tmp; - } - return array; - } - exports2.shuffled = shuffled; - } -}); - -// node_modules/@ethersproject/random/lib/index.js -var require_lib21 = __commonJS({ - "node_modules/@ethersproject/random/lib/index.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.shuffled = exports2.randomBytes = void 0; - var random_1 = require_random(); - Object.defineProperty(exports2, "randomBytes", { enumerable: true, get: function() { - return random_1.randomBytes; - } }); - var shuffle_1 = require_shuffle(); - Object.defineProperty(exports2, "shuffled", { enumerable: true, get: function() { - return shuffle_1.shuffled; - } }); - } -}); - -// node_modules/@ethersproject/providers/lib/fallback-provider.js -var require_fallback_provider = __commonJS({ - "node_modules/@ethersproject/providers/lib/fallback-provider.js"(exports2) { - "use strict"; - var __extends = exports2 && exports2.__extends || /* @__PURE__ */ function() { - var 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); - }; - return function(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 __()); - }; - }(); - var __awaiter = exports2 && exports2.__awaiter || function(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, reject) { - function fulfilled(value) { - try { - step(generator.next(value)); - } catch (e) { - reject(e); - } - } - function rejected(value) { - try { - step(generator["throw"](value)); - } catch (e) { - reject(e); - } - } - function step(result) { - result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); - } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); - }; - var __generator = exports2 && exports2.__generator || function(thisArg, body) { - var _ = { label: 0, sent: function() { - if (t[0] & 1) - throw t[1]; - return t[1]; - }, trys: [], ops: [] }, f, y, t, g; - return g = { next: verb(0), "throw": verb(1), "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 (_) - 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 }; - } - }; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.FallbackProvider = void 0; - var abstract_provider_1 = require_lib5(); - var bignumber_1 = require_lib3(); - var bytes_1 = require_lib2(); - var properties_1 = require_lib4(); - var random_1 = require_lib21(); - var web_1 = require_lib17(); - var base_provider_1 = require_base_provider(); - var formatter_1 = require_formatter(); - var logger_1 = require_lib(); - var _version_1 = require_version13(); - var logger = new logger_1.Logger(_version_1.version); - function now() { - return (/* @__PURE__ */ new Date()).getTime(); - } - function checkNetworks(networks) { - var result = null; - for (var i = 0; i < networks.length; i++) { - var network = networks[i]; - if (network == null) { - return null; - } - if (result) { - if (!(result.name === network.name && result.chainId === network.chainId && (result.ensAddress === network.ensAddress || result.ensAddress == null && network.ensAddress == null))) { - logger.throwArgumentError("provider mismatch", "networks", networks); - } - } else { - result = network; - } - } - return result; - } - function median(values, maxDelta) { - values = values.slice().sort(); - var middle = Math.floor(values.length / 2); - if (values.length % 2) { - return values[middle]; - } - var a = values[middle - 1], b = values[middle]; - if (maxDelta != null && Math.abs(a - b) > maxDelta) { - return null; - } - return (a + b) / 2; - } - function serialize(value) { - if (value === null) { - return "null"; - } else if (typeof value === "number" || typeof value === "boolean") { - return JSON.stringify(value); - } else if (typeof value === "string") { - return value; - } else if (bignumber_1.BigNumber.isBigNumber(value)) { - return value.toString(); - } else if (Array.isArray(value)) { - return JSON.stringify(value.map(function(i) { - return serialize(i); - })); - } else if (typeof value === "object") { - var keys = Object.keys(value); - keys.sort(); - return "{" + keys.map(function(key) { - var v = value[key]; - if (typeof v === "function") { - v = "[function]"; - } else { - v = serialize(v); - } - return JSON.stringify(key) + ":" + v; - }).join(",") + "}"; - } - throw new Error("unknown value type: " + typeof value); - } - var nextRid = 1; - function stall(duration) { - var cancel = null; - var timer = null; - var promise = new Promise(function(resolve) { - cancel = function() { - if (timer) { - clearTimeout(timer); - timer = null; - } - resolve(); - }; - timer = setTimeout(cancel, duration); - }); - var wait = function(func) { - promise = promise.then(func); - return promise; - }; - function getPromise() { - return promise; - } - return { cancel, getPromise, wait }; - } - var ForwardErrors = [ - logger_1.Logger.errors.CALL_EXCEPTION, - logger_1.Logger.errors.INSUFFICIENT_FUNDS, - logger_1.Logger.errors.NONCE_EXPIRED, - logger_1.Logger.errors.REPLACEMENT_UNDERPRICED, - logger_1.Logger.errors.UNPREDICTABLE_GAS_LIMIT - ]; - var ForwardProperties = [ - "address", - "args", - "errorArgs", - "errorSignature", - "method", - "transaction" - ]; - function exposeDebugConfig(config, now2) { - var result = { - weight: config.weight - }; - Object.defineProperty(result, "provider", { get: function() { - return config.provider; - } }); - if (config.start) { - result.start = config.start; - } - if (now2) { - result.duration = now2 - config.start; - } - if (config.done) { - if (config.error) { - result.error = config.error; - } else { - result.result = config.result || null; - } - } - return result; - } - function normalizedTally(normalize, quorum) { - return function(configs) { - var tally = {}; - configs.forEach(function(c) { - var value = normalize(c.result); - if (!tally[value]) { - tally[value] = { count: 0, result: c.result }; - } - tally[value].count++; - }); - var keys = Object.keys(tally); - for (var i = 0; i < keys.length; i++) { - var check = tally[keys[i]]; - if (check.count >= quorum) { - return check.result; - } - } - return void 0; - }; - } - function getProcessFunc(provider, method, params) { - var normalize = serialize; - switch (method) { - case "getBlockNumber": - return function(configs) { - var values = configs.map(function(c) { - return c.result; - }); - var blockNumber = median(configs.map(function(c) { - return c.result; - }), 2); - if (blockNumber == null) { - return void 0; - } - blockNumber = Math.ceil(blockNumber); - if (values.indexOf(blockNumber + 1) >= 0) { - blockNumber++; - } - if (blockNumber >= provider._highestBlockNumber) { - provider._highestBlockNumber = blockNumber; - } - return provider._highestBlockNumber; - }; - case "getGasPrice": - return function(configs) { - var values = configs.map(function(c) { - return c.result; - }); - values.sort(); - return values[Math.floor(values.length / 2)]; - }; - case "getEtherPrice": - return function(configs) { - return median(configs.map(function(c) { - return c.result; - })); - }; - case "getBalance": - case "getTransactionCount": - case "getCode": - case "getStorageAt": - case "call": - case "estimateGas": - case "getLogs": - break; - case "getTransaction": - case "getTransactionReceipt": - normalize = function(tx) { - if (tx == null) { - return null; - } - tx = (0, properties_1.shallowCopy)(tx); - tx.confirmations = -1; - return serialize(tx); - }; - break; - case "getBlock": - if (params.includeTransactions) { - normalize = function(block) { - if (block == null) { - return null; - } - block = (0, properties_1.shallowCopy)(block); - block.transactions = block.transactions.map(function(tx) { - tx = (0, properties_1.shallowCopy)(tx); - tx.confirmations = -1; - return tx; - }); - return serialize(block); - }; - } else { - normalize = function(block) { - if (block == null) { - return null; - } - return serialize(block); - }; - } - break; - default: - throw new Error("unknown method: " + method); - } - return normalizedTally(normalize, provider.quorum); - } - function waitForSync(config, blockNumber) { - return __awaiter(this, void 0, void 0, function() { - var provider; - return __generator(this, function(_a) { - provider = config.provider; - if (provider.blockNumber != null && provider.blockNumber >= blockNumber || blockNumber === -1) { - return [2, provider]; - } - return [2, (0, web_1.poll)(function() { - return new Promise(function(resolve, reject) { - setTimeout(function() { - if (provider.blockNumber >= blockNumber) { - return resolve(provider); - } - if (config.cancelled) { - return resolve(null); - } - return resolve(void 0); - }, 0); - }); - }, { oncePoll: provider })]; - }); - }); - } - function getRunner(config, currentBlockNumber, method, params) { - return __awaiter(this, void 0, void 0, function() { - var provider, _a, filter2; - return __generator(this, function(_b) { - switch (_b.label) { - case 0: - provider = config.provider; - _a = method; - switch (_a) { - case "getBlockNumber": - return [3, 1]; - case "getGasPrice": - return [3, 1]; - case "getEtherPrice": - return [3, 2]; - case "getBalance": - return [3, 3]; - case "getTransactionCount": - return [3, 3]; - case "getCode": - return [3, 3]; - case "getStorageAt": - return [3, 6]; - case "getBlock": - return [3, 9]; - case "call": - return [3, 12]; - case "estimateGas": - return [3, 12]; - case "getTransaction": - return [3, 15]; - case "getTransactionReceipt": - return [3, 15]; - case "getLogs": - return [3, 16]; - } - return [3, 19]; - case 1: - return [2, provider[method]()]; - case 2: - if (provider.getEtherPrice) { - return [2, provider.getEtherPrice()]; - } - return [3, 19]; - case 3: - if (!(params.blockTag && (0, bytes_1.isHexString)(params.blockTag))) - return [3, 5]; - return [4, waitForSync(config, currentBlockNumber)]; - case 4: - provider = _b.sent(); - _b.label = 5; - case 5: - return [2, provider[method](params.address, params.blockTag || "latest")]; - case 6: - if (!(params.blockTag && (0, bytes_1.isHexString)(params.blockTag))) - return [3, 8]; - return [4, waitForSync(config, currentBlockNumber)]; - case 7: - provider = _b.sent(); - _b.label = 8; - case 8: - return [2, provider.getStorageAt(params.address, params.position, params.blockTag || "latest")]; - case 9: - if (!(params.blockTag && (0, bytes_1.isHexString)(params.blockTag))) - return [3, 11]; - return [4, waitForSync(config, currentBlockNumber)]; - case 10: - provider = _b.sent(); - _b.label = 11; - case 11: - return [2, provider[params.includeTransactions ? "getBlockWithTransactions" : "getBlock"](params.blockTag || params.blockHash)]; - case 12: - if (!(params.blockTag && (0, bytes_1.isHexString)(params.blockTag))) - return [3, 14]; - return [4, waitForSync(config, currentBlockNumber)]; - case 13: - provider = _b.sent(); - _b.label = 14; - case 14: - if (method === "call" && params.blockTag) { - return [2, provider[method](params.transaction, params.blockTag)]; - } - return [2, provider[method](params.transaction)]; - case 15: - return [2, provider[method](params.transactionHash)]; - case 16: - filter2 = params.filter; - if (!(filter2.fromBlock && (0, bytes_1.isHexString)(filter2.fromBlock) || filter2.toBlock && (0, bytes_1.isHexString)(filter2.toBlock))) - return [3, 18]; - return [4, waitForSync(config, currentBlockNumber)]; - case 17: - provider = _b.sent(); - _b.label = 18; - case 18: - return [2, provider.getLogs(filter2)]; - case 19: - return [2, logger.throwError("unknown method error", logger_1.Logger.errors.UNKNOWN_ERROR, { - method, - params - })]; - } - }); - }); - } - var FallbackProvider = ( - /** @class */ - function(_super) { - __extends(FallbackProvider2, _super); - function FallbackProvider2(providers, quorum) { - var _this = this; - if (providers.length === 0) { - logger.throwArgumentError("missing providers", "providers", providers); - } - var providerConfigs = providers.map(function(configOrProvider, index) { - if (abstract_provider_1.Provider.isProvider(configOrProvider)) { - var stallTimeout = (0, formatter_1.isCommunityResource)(configOrProvider) ? 2e3 : 750; - var priority = 1; - return Object.freeze({ provider: configOrProvider, weight: 1, stallTimeout, priority }); - } - var config = (0, properties_1.shallowCopy)(configOrProvider); - if (config.priority == null) { - config.priority = 1; - } - if (config.stallTimeout == null) { - config.stallTimeout = (0, formatter_1.isCommunityResource)(configOrProvider) ? 2e3 : 750; - } - if (config.weight == null) { - config.weight = 1; - } - var weight = config.weight; - if (weight % 1 || weight > 512 || weight < 1) { - logger.throwArgumentError("invalid weight; must be integer in [1, 512]", "providers[" + index + "].weight", weight); - } - return Object.freeze(config); - }); - var total = providerConfigs.reduce(function(accum, c) { - return accum + c.weight; - }, 0); - if (quorum == null) { - quorum = total / 2; - } else if (quorum > total) { - logger.throwArgumentError("quorum will always fail; larger than total weight", "quorum", quorum); - } - var networkOrReady = checkNetworks(providerConfigs.map(function(c) { - return c.provider.network; - })); - if (networkOrReady == null) { - networkOrReady = new Promise(function(resolve, reject) { - setTimeout(function() { - _this.detectNetwork().then(resolve, reject); - }, 0); - }); - } - _this = _super.call(this, networkOrReady) || this; - (0, properties_1.defineReadOnly)(_this, "providerConfigs", Object.freeze(providerConfigs)); - (0, properties_1.defineReadOnly)(_this, "quorum", quorum); - _this._highestBlockNumber = -1; - return _this; - } - FallbackProvider2.prototype.detectNetwork = function() { - return __awaiter(this, void 0, void 0, function() { - var networks; - return __generator(this, function(_a) { - switch (_a.label) { - case 0: - return [4, Promise.all(this.providerConfigs.map(function(c) { - return c.provider.getNetwork(); - }))]; - case 1: - networks = _a.sent(); - return [2, checkNetworks(networks)]; - } - }); - }); - }; - FallbackProvider2.prototype.perform = function(method, params) { - return __awaiter(this, void 0, void 0, function() { - var results, i_1, result, processFunc, configs, currentBlockNumber, i, first, _loop_1, this_1, state_1; - var _this = this; - return __generator(this, function(_a) { - switch (_a.label) { - case 0: - if (!(method === "sendTransaction")) - return [3, 2]; - return [4, Promise.all(this.providerConfigs.map(function(c) { - return c.provider.sendTransaction(params.signedTransaction).then(function(result2) { - return result2.hash; - }, function(error) { - return error; - }); - }))]; - case 1: - results = _a.sent(); - for (i_1 = 0; i_1 < results.length; i_1++) { - result = results[i_1]; - if (typeof result === "string") { - return [2, result]; - } - } - throw results[0]; - case 2: - if (!(this._highestBlockNumber === -1 && method !== "getBlockNumber")) - return [3, 4]; - return [4, this.getBlockNumber()]; - case 3: - _a.sent(); - _a.label = 4; - case 4: - processFunc = getProcessFunc(this, method, params); - configs = (0, random_1.shuffled)(this.providerConfigs.map(properties_1.shallowCopy)); - configs.sort(function(a, b) { - return a.priority - b.priority; - }); - currentBlockNumber = this._highestBlockNumber; - i = 0; - first = true; - _loop_1 = function() { - var t0, inflightWeight, _loop_2, waiting, results2, result2, errors; - return __generator(this, function(_b) { - switch (_b.label) { - case 0: - t0 = now(); - inflightWeight = configs.filter(function(c) { - return c.runner && t0 - c.start < c.stallTimeout; - }).reduce(function(accum, c) { - return accum + c.weight; - }, 0); - _loop_2 = function() { - var config = configs[i++]; - var rid = nextRid++; - config.start = now(); - config.staller = stall(config.stallTimeout); - config.staller.wait(function() { - config.staller = null; - }); - config.runner = getRunner(config, currentBlockNumber, method, params).then(function(result3) { - config.done = true; - config.result = result3; - if (_this.listenerCount("debug")) { - _this.emit("debug", { - action: "request", - rid, - backend: exposeDebugConfig(config, now()), - request: { method, params: (0, properties_1.deepCopy)(params) }, - provider: _this - }); - } - }, function(error) { - config.done = true; - config.error = error; - if (_this.listenerCount("debug")) { - _this.emit("debug", { - action: "request", - rid, - backend: exposeDebugConfig(config, now()), - request: { method, params: (0, properties_1.deepCopy)(params) }, - provider: _this - }); - } - }); - if (this_1.listenerCount("debug")) { - this_1.emit("debug", { - action: "request", - rid, - backend: exposeDebugConfig(config, null), - request: { method, params: (0, properties_1.deepCopy)(params) }, - provider: this_1 - }); - } - inflightWeight += config.weight; - }; - while (inflightWeight < this_1.quorum && i < configs.length) { - _loop_2(); - } - waiting = []; - configs.forEach(function(c) { - if (c.done || !c.runner) { - return; - } - waiting.push(c.runner); - if (c.staller) { - waiting.push(c.staller.getPromise()); - } - }); - if (!waiting.length) - return [3, 2]; - return [4, Promise.race(waiting)]; - case 1: - _b.sent(); - _b.label = 2; - case 2: - results2 = configs.filter(function(c) { - return c.done && c.error == null; - }); - if (!(results2.length >= this_1.quorum)) - return [3, 5]; - result2 = processFunc(results2); - if (result2 !== void 0) { - configs.forEach(function(c) { - if (c.staller) { - c.staller.cancel(); - } - c.cancelled = true; - }); - return [2, { value: result2 }]; - } - if (!!first) - return [3, 4]; - return [4, stall(100).getPromise()]; - case 3: - _b.sent(); - _b.label = 4; - case 4: - first = false; - _b.label = 5; - case 5: - errors = configs.reduce(function(accum, c) { - if (!c.done || c.error == null) { - return accum; - } - var code = c.error.code; - if (ForwardErrors.indexOf(code) >= 0) { - if (!accum[code]) { - accum[code] = { error: c.error, weight: 0 }; - } - accum[code].weight += c.weight; - } - return accum; - }, {}); - Object.keys(errors).forEach(function(errorCode) { - var tally = errors[errorCode]; - if (tally.weight < _this.quorum) { - return; - } - configs.forEach(function(c) { - if (c.staller) { - c.staller.cancel(); - } - c.cancelled = true; - }); - var e = tally.error; - var props = {}; - ForwardProperties.forEach(function(name) { - if (e[name] == null) { - return; - } - props[name] = e[name]; - }); - logger.throwError(e.reason || e.message, errorCode, props); - }); - if (configs.filter(function(c) { - return !c.done; - }).length === 0) { - return [2, "break"]; - } - return [ - 2 - /*return*/ - ]; - } - }); - }; - this_1 = this; - _a.label = 5; - case 5: - if (false) - {} - return [5, _loop_1()]; - case 6: - state_1 = _a.sent(); - if (typeof state_1 === "object") - return [2, state_1.value]; - if (state_1 === "break") - return [3, 7]; - return [3, 5]; - case 7: - configs.forEach(function(c) { - if (c.staller) { - c.staller.cancel(); - } - c.cancelled = true; - }); - return [2, logger.throwError("failed to meet quorum", logger_1.Logger.errors.SERVER_ERROR, { - method, - params, - //results: configs.map((c) => c.result), - //errors: configs.map((c) => c.error), - results: configs.map(function(c) { - return exposeDebugConfig(c); - }), - provider: this - })]; - } - }); - }); - }; - return FallbackProvider2; - }(base_provider_1.BaseProvider) - ); - exports2.FallbackProvider = FallbackProvider; - } -}); - -// node_modules/@ethersproject/providers/lib/ipc-provider.js -var require_ipc_provider = __commonJS({ - "node_modules/@ethersproject/providers/lib/ipc-provider.js"(exports2) { - "use strict"; - var __extends = exports2 && exports2.__extends || /* @__PURE__ */ function() { - var 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); - }; - return function(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 __()); - }; - }(); - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.IpcProvider = void 0; - var net_1 = __nccwpck_require__(69278); - var properties_1 = require_lib4(); - var logger_1 = require_lib(); - var _version_1 = require_version13(); - var logger = new logger_1.Logger(_version_1.version); - var json_rpc_provider_1 = require_json_rpc_provider(); - var IpcProvider = ( - /** @class */ - function(_super) { - __extends(IpcProvider2, _super); - function IpcProvider2(path, network) { - var _this = this; - if (path == null) { - logger.throwError("missing path", logger_1.Logger.errors.MISSING_ARGUMENT, { arg: "path" }); - } - _this = _super.call(this, "ipc://" + path, network) || this; - (0, properties_1.defineReadOnly)(_this, "path", path); - return _this; - } - IpcProvider2.prototype.send = function(method, params) { - var _this = this; - var payload = JSON.stringify({ - method, - params, - id: 42, - jsonrpc: "2.0" - }); - return new Promise(function(resolve, reject) { - var response = Buffer.alloc(0); - var stream4 = (0, net_1.connect)(_this.path); - stream4.on("data", function(data) { - response = Buffer.concat([response, data]); - }); - stream4.on("end", function() { - try { - resolve(JSON.parse(response.toString()).result); - stream4.destroy(); - } catch (error) { - reject(error); - stream4.destroy(); - } - }); - stream4.on("error", function(error) { - reject(error); - stream4.destroy(); - }); - stream4.write(payload); - stream4.end(); - }); - }; - return IpcProvider2; - }(json_rpc_provider_1.JsonRpcProvider) - ); - exports2.IpcProvider = IpcProvider; - } -}); - -// node_modules/@ethersproject/providers/lib/infura-provider.js -var require_infura_provider = __commonJS({ - "node_modules/@ethersproject/providers/lib/infura-provider.js"(exports2) { - "use strict"; - var __extends = exports2 && exports2.__extends || /* @__PURE__ */ function() { - var 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); - }; - return function(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 __()); - }; - }(); - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.InfuraProvider = exports2.InfuraWebSocketProvider = void 0; - var properties_1 = require_lib4(); - var websocket_provider_1 = require_websocket_provider(); - var formatter_1 = require_formatter(); - var logger_1 = require_lib(); - var _version_1 = require_version13(); - var logger = new logger_1.Logger(_version_1.version); - var url_json_rpc_provider_1 = require_url_json_rpc_provider(); - var defaultProjectId = "84842078b09946638c03157f83405213"; - var InfuraWebSocketProvider = ( - /** @class */ - function(_super) { - __extends(InfuraWebSocketProvider2, _super); - function InfuraWebSocketProvider2(network, apiKey) { - var _this = this; - var provider = new InfuraProvider(network, apiKey); - var connection = provider.connection; - if (connection.password) { - logger.throwError("INFURA WebSocket project secrets unsupported", logger_1.Logger.errors.UNSUPPORTED_OPERATION, { - operation: "InfuraProvider.getWebSocketProvider()" - }); - } - var url2 = connection.url.replace(/^http/i, "ws").replace("/v3/", "/ws/v3/"); - _this = _super.call(this, url2, network) || this; - (0, properties_1.defineReadOnly)(_this, "apiKey", provider.projectId); - (0, properties_1.defineReadOnly)(_this, "projectId", provider.projectId); - (0, properties_1.defineReadOnly)(_this, "projectSecret", provider.projectSecret); - return _this; - } - InfuraWebSocketProvider2.prototype.isCommunityResource = function() { - return this.projectId === defaultProjectId; - }; - return InfuraWebSocketProvider2; - }(websocket_provider_1.WebSocketProvider) - ); - exports2.InfuraWebSocketProvider = InfuraWebSocketProvider; - var InfuraProvider = ( - /** @class */ - function(_super) { - __extends(InfuraProvider2, _super); - function InfuraProvider2() { - return _super !== null && _super.apply(this, arguments) || this; - } - InfuraProvider2.getWebSocketProvider = function(network, apiKey) { - return new InfuraWebSocketProvider(network, apiKey); - }; - InfuraProvider2.getApiKey = function(apiKey) { - var apiKeyObj = { - apiKey: defaultProjectId, - projectId: defaultProjectId, - projectSecret: null - }; - if (apiKey == null) { - return apiKeyObj; - } - if (typeof apiKey === "string") { - apiKeyObj.projectId = apiKey; - } else if (apiKey.projectSecret != null) { - logger.assertArgument(typeof apiKey.projectId === "string", "projectSecret requires a projectId", "projectId", apiKey.projectId); - logger.assertArgument(typeof apiKey.projectSecret === "string", "invalid projectSecret", "projectSecret", "[REDACTED]"); - apiKeyObj.projectId = apiKey.projectId; - apiKeyObj.projectSecret = apiKey.projectSecret; - } else if (apiKey.projectId) { - apiKeyObj.projectId = apiKey.projectId; - } - apiKeyObj.apiKey = apiKeyObj.projectId; - return apiKeyObj; - }; - InfuraProvider2.getUrl = function(network, apiKey) { - var host = null; - switch (network ? network.name : "unknown") { - case "homestead": - host = "mainnet.infura.io"; - break; - case "goerli": - host = "goerli.infura.io"; - break; - case "sepolia": - host = "sepolia.infura.io"; - break; - case "matic": - host = "polygon-mainnet.infura.io"; - break; - case "maticmum": - host = "polygon-mumbai.infura.io"; - break; - case "optimism": - host = "optimism-mainnet.infura.io"; - break; - case "optimism-goerli": - host = "optimism-goerli.infura.io"; - break; - case "arbitrum": - host = "arbitrum-mainnet.infura.io"; - break; - case "arbitrum-goerli": - host = "arbitrum-goerli.infura.io"; - break; - default: - logger.throwError("unsupported network", logger_1.Logger.errors.INVALID_ARGUMENT, { - argument: "network", - value: network - }); - } - var connection = { - allowGzip: true, - url: "https://" + host + "/v3/" + apiKey.projectId, - throttleCallback: function(attempt, url2) { - if (apiKey.projectId === defaultProjectId) { - (0, formatter_1.showThrottleMessage)(); - } - return Promise.resolve(true); - } - }; - if (apiKey.projectSecret != null) { - connection.user = ""; - connection.password = apiKey.projectSecret; - } - return connection; - }; - InfuraProvider2.prototype.isCommunityResource = function() { - return this.projectId === defaultProjectId; - }; - return InfuraProvider2; - }(url_json_rpc_provider_1.UrlJsonRpcProvider) - ); - exports2.InfuraProvider = InfuraProvider; - } -}); - -// node_modules/@ethersproject/providers/lib/json-rpc-batch-provider.js -var require_json_rpc_batch_provider = __commonJS({ - "node_modules/@ethersproject/providers/lib/json-rpc-batch-provider.js"(exports2) { - "use strict"; - var __extends = exports2 && exports2.__extends || /* @__PURE__ */ function() { - var 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); - }; - return function(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 __()); - }; - }(); - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.JsonRpcBatchProvider = void 0; - var properties_1 = require_lib4(); - var web_1 = require_lib17(); - var json_rpc_provider_1 = require_json_rpc_provider(); - var JsonRpcBatchProvider = ( - /** @class */ - function(_super) { - __extends(JsonRpcBatchProvider2, _super); - function JsonRpcBatchProvider2() { - return _super !== null && _super.apply(this, arguments) || this; - } - JsonRpcBatchProvider2.prototype.send = function(method, params) { - var _this = this; - var request = { - method, - params, - id: this._nextId++, - jsonrpc: "2.0" - }; - if (this._pendingBatch == null) { - this._pendingBatch = []; - } - var inflightRequest = { request, resolve: null, reject: null }; - var promise = new Promise(function(resolve, reject) { - inflightRequest.resolve = resolve; - inflightRequest.reject = reject; - }); - this._pendingBatch.push(inflightRequest); - if (!this._pendingBatchAggregator) { - this._pendingBatchAggregator = setTimeout(function() { - var batch = _this._pendingBatch; - _this._pendingBatch = null; - _this._pendingBatchAggregator = null; - var request2 = batch.map(function(inflight) { - return inflight.request; - }); - _this.emit("debug", { - action: "requestBatch", - request: (0, properties_1.deepCopy)(request2), - provider: _this - }); - return (0, web_1.fetchJson)(_this.connection, JSON.stringify(request2)).then(function(result) { - _this.emit("debug", { - action: "response", - request: request2, - response: result, - provider: _this - }); - batch.forEach(function(inflightRequest2, index) { - var payload = result[index]; - if (payload.error) { - var error = new Error(payload.error.message); - error.code = payload.error.code; - error.data = payload.error.data; - inflightRequest2.reject(error); - } else { - inflightRequest2.resolve(payload.result); - } - }); - }, function(error) { - _this.emit("debug", { - action: "response", - error, - request: request2, - provider: _this - }); - batch.forEach(function(inflightRequest2) { - inflightRequest2.reject(error); - }); - }); - }, 10); - } - return promise; - }; - return JsonRpcBatchProvider2; - }(json_rpc_provider_1.JsonRpcProvider) - ); - exports2.JsonRpcBatchProvider = JsonRpcBatchProvider; - } -}); - -// node_modules/@ethersproject/providers/lib/nodesmith-provider.js -var require_nodesmith_provider = __commonJS({ - "node_modules/@ethersproject/providers/lib/nodesmith-provider.js"(exports2) { - "use strict"; - var __extends = exports2 && exports2.__extends || /* @__PURE__ */ function() { - var 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); - }; - return function(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 __()); - }; - }(); - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.NodesmithProvider = void 0; - var url_json_rpc_provider_1 = require_url_json_rpc_provider(); - var logger_1 = require_lib(); - var _version_1 = require_version13(); - var logger = new logger_1.Logger(_version_1.version); - var defaultApiKey = "ETHERS_JS_SHARED"; - var NodesmithProvider = ( - /** @class */ - function(_super) { - __extends(NodesmithProvider2, _super); - function NodesmithProvider2() { - return _super !== null && _super.apply(this, arguments) || this; - } - NodesmithProvider2.getApiKey = function(apiKey) { - if (apiKey && typeof apiKey !== "string") { - logger.throwArgumentError("invalid apiKey", "apiKey", apiKey); - } - return apiKey || defaultApiKey; - }; - NodesmithProvider2.getUrl = function(network, apiKey) { - logger.warn("NodeSmith will be discontinued on 2019-12-20; please migrate to another platform."); - var host = null; - switch (network.name) { - case "homestead": - host = "https://ethereum.api.nodesmith.io/v1/mainnet/jsonrpc"; - break; - case "ropsten": - host = "https://ethereum.api.nodesmith.io/v1/ropsten/jsonrpc"; - break; - case "rinkeby": - host = "https://ethereum.api.nodesmith.io/v1/rinkeby/jsonrpc"; - break; - case "goerli": - host = "https://ethereum.api.nodesmith.io/v1/goerli/jsonrpc"; - break; - case "kovan": - host = "https://ethereum.api.nodesmith.io/v1/kovan/jsonrpc"; - break; - default: - logger.throwArgumentError("unsupported network", "network", arguments[0]); - } - return host + "?apiKey=" + apiKey; - }; - return NodesmithProvider2; - }(url_json_rpc_provider_1.UrlJsonRpcProvider) - ); - exports2.NodesmithProvider = NodesmithProvider; - } -}); - -// node_modules/@ethersproject/providers/lib/pocket-provider.js -var require_pocket_provider = __commonJS({ - "node_modules/@ethersproject/providers/lib/pocket-provider.js"(exports2) { - "use strict"; - var __extends = exports2 && exports2.__extends || /* @__PURE__ */ function() { - var 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); - }; - return function(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 __()); - }; - }(); - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.PocketProvider = void 0; - var logger_1 = require_lib(); - var _version_1 = require_version13(); - var logger = new logger_1.Logger(_version_1.version); - var url_json_rpc_provider_1 = require_url_json_rpc_provider(); - var defaultApplicationId = "62e1ad51b37b8e00394bda3b"; - var PocketProvider = ( - /** @class */ - function(_super) { - __extends(PocketProvider2, _super); - function PocketProvider2() { - return _super !== null && _super.apply(this, arguments) || this; - } - PocketProvider2.getApiKey = function(apiKey) { - var apiKeyObj = { - applicationId: null, - loadBalancer: true, - applicationSecretKey: null - }; - if (apiKey == null) { - apiKeyObj.applicationId = defaultApplicationId; - } else if (typeof apiKey === "string") { - apiKeyObj.applicationId = apiKey; - } else if (apiKey.applicationSecretKey != null) { - apiKeyObj.applicationId = apiKey.applicationId; - apiKeyObj.applicationSecretKey = apiKey.applicationSecretKey; - } else if (apiKey.applicationId) { - apiKeyObj.applicationId = apiKey.applicationId; - } else { - logger.throwArgumentError("unsupported PocketProvider apiKey", "apiKey", apiKey); - } - return apiKeyObj; - }; - PocketProvider2.getUrl = function(network, apiKey) { - var host = null; - switch (network ? network.name : "unknown") { - case "goerli": - host = "eth-goerli.gateway.pokt.network"; - break; - case "homestead": - host = "eth-mainnet.gateway.pokt.network"; - break; - case "kovan": - host = "poa-kovan.gateway.pokt.network"; - break; - case "matic": - host = "poly-mainnet.gateway.pokt.network"; - break; - case "maticmum": - host = "polygon-mumbai-rpc.gateway.pokt.network"; - break; - case "rinkeby": - host = "eth-rinkeby.gateway.pokt.network"; - break; - case "ropsten": - host = "eth-ropsten.gateway.pokt.network"; - break; - default: - logger.throwError("unsupported network", logger_1.Logger.errors.INVALID_ARGUMENT, { - argument: "network", - value: network - }); - } - var url2 = "https://" + host + "/v1/lb/" + apiKey.applicationId; - var connection = { headers: {}, url: url2 }; - if (apiKey.applicationSecretKey != null) { - connection.user = ""; - connection.password = apiKey.applicationSecretKey; - } - return connection; - }; - PocketProvider2.prototype.isCommunityResource = function() { - return this.applicationId === defaultApplicationId; - }; - return PocketProvider2; - }(url_json_rpc_provider_1.UrlJsonRpcProvider) - ); - exports2.PocketProvider = PocketProvider; - } -}); - -// node_modules/@ethersproject/providers/lib/web3-provider.js -var require_web3_provider = __commonJS({ - "node_modules/@ethersproject/providers/lib/web3-provider.js"(exports2) { - "use strict"; - var __extends = exports2 && exports2.__extends || /* @__PURE__ */ function() { - var 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); - }; - return function(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 __()); - }; - }(); - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.Web3Provider = void 0; - var properties_1 = require_lib4(); - var logger_1 = require_lib(); - var _version_1 = require_version13(); - var logger = new logger_1.Logger(_version_1.version); - var json_rpc_provider_1 = require_json_rpc_provider(); - var _nextId = 1; - function buildWeb3LegacyFetcher(provider, sendFunc) { - var fetcher = "Web3LegacyFetcher"; - return function(method, params) { - var _this = this; - var request = { - method, - params, - id: _nextId++, - jsonrpc: "2.0" - }; - return new Promise(function(resolve, reject) { - _this.emit("debug", { - action: "request", - fetcher, - request: (0, properties_1.deepCopy)(request), - provider: _this - }); - sendFunc(request, function(error, response) { - if (error) { - _this.emit("debug", { - action: "response", - fetcher, - error, - request, - provider: _this - }); - return reject(error); - } - _this.emit("debug", { - action: "response", - fetcher, - request, - response, - provider: _this - }); - if (response.error) { - var error_1 = new Error(response.error.message); - error_1.code = response.error.code; - error_1.data = response.error.data; - return reject(error_1); - } - resolve(response.result); - }); - }); - }; - } - function buildEip1193Fetcher(provider) { - return function(method, params) { - var _this = this; - if (params == null) { - params = []; - } - var request = { method, params }; - this.emit("debug", { - action: "request", - fetcher: "Eip1193Fetcher", - request: (0, properties_1.deepCopy)(request), - provider: this - }); - return provider.request(request).then(function(response) { - _this.emit("debug", { - action: "response", - fetcher: "Eip1193Fetcher", - request, - response, - provider: _this - }); - return response; - }, function(error) { - _this.emit("debug", { - action: "response", - fetcher: "Eip1193Fetcher", - request, - error, - provider: _this - }); - throw error; - }); - }; - } - var Web3Provider = ( - /** @class */ - function(_super) { - __extends(Web3Provider2, _super); - function Web3Provider2(provider, network) { - var _this = this; - if (provider == null) { - logger.throwArgumentError("missing provider", "provider", provider); - } - var path = null; - var jsonRpcFetchFunc = null; - var subprovider = null; - if (typeof provider === "function") { - path = "unknown:"; - jsonRpcFetchFunc = provider; - } else { - path = provider.host || provider.path || ""; - if (!path && provider.isMetaMask) { - path = "metamask"; - } - subprovider = provider; - if (provider.request) { - if (path === "") { - path = "eip-1193:"; - } - jsonRpcFetchFunc = buildEip1193Fetcher(provider); - } else if (provider.sendAsync) { - jsonRpcFetchFunc = buildWeb3LegacyFetcher(provider, provider.sendAsync.bind(provider)); - } else if (provider.send) { - jsonRpcFetchFunc = buildWeb3LegacyFetcher(provider, provider.send.bind(provider)); - } else { - logger.throwArgumentError("unsupported provider", "provider", provider); - } - if (!path) { - path = "unknown:"; - } - } - _this = _super.call(this, path, network) || this; - (0, properties_1.defineReadOnly)(_this, "jsonRpcFetchFunc", jsonRpcFetchFunc); - (0, properties_1.defineReadOnly)(_this, "provider", subprovider); - return _this; - } - Web3Provider2.prototype.send = function(method, params) { - return this.jsonRpcFetchFunc(method, params); - }; - return Web3Provider2; - }(json_rpc_provider_1.JsonRpcProvider) - ); - exports2.Web3Provider = Web3Provider; - } -}); - -// node_modules/@ethersproject/providers/lib/index.js -var require_lib22 = __commonJS({ - "node_modules/@ethersproject/providers/lib/index.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.Formatter = exports2.showThrottleMessage = exports2.isCommunityResourcable = exports2.isCommunityResource = exports2.getNetwork = exports2.getDefaultProvider = exports2.JsonRpcSigner = exports2.IpcProvider = exports2.WebSocketProvider = exports2.Web3Provider = exports2.StaticJsonRpcProvider = exports2.PocketProvider = exports2.NodesmithProvider = exports2.JsonRpcBatchProvider = exports2.JsonRpcProvider = exports2.InfuraWebSocketProvider = exports2.InfuraProvider = exports2.EtherscanProvider = exports2.CloudflareProvider = exports2.AnkrProvider = exports2.AlchemyWebSocketProvider = exports2.AlchemyProvider = exports2.FallbackProvider = exports2.UrlJsonRpcProvider = exports2.Resolver = exports2.BaseProvider = exports2.Provider = void 0; - var abstract_provider_1 = require_lib5(); - Object.defineProperty(exports2, "Provider", { enumerable: true, get: function() { - return abstract_provider_1.Provider; - } }); - var networks_1 = require_lib6(); - Object.defineProperty(exports2, "getNetwork", { enumerable: true, get: function() { - return networks_1.getNetwork; - } }); - var base_provider_1 = require_base_provider(); - Object.defineProperty(exports2, "BaseProvider", { enumerable: true, get: function() { - return base_provider_1.BaseProvider; - } }); - Object.defineProperty(exports2, "Resolver", { enumerable: true, get: function() { - return base_provider_1.Resolver; - } }); - var alchemy_provider_1 = require_alchemy_provider(); - Object.defineProperty(exports2, "AlchemyProvider", { enumerable: true, get: function() { - return alchemy_provider_1.AlchemyProvider; - } }); - Object.defineProperty(exports2, "AlchemyWebSocketProvider", { enumerable: true, get: function() { - return alchemy_provider_1.AlchemyWebSocketProvider; - } }); - var ankr_provider_1 = require_ankr_provider(); - Object.defineProperty(exports2, "AnkrProvider", { enumerable: true, get: function() { - return ankr_provider_1.AnkrProvider; - } }); - var cloudflare_provider_1 = require_cloudflare_provider(); - Object.defineProperty(exports2, "CloudflareProvider", { enumerable: true, get: function() { - return cloudflare_provider_1.CloudflareProvider; - } }); - var etherscan_provider_1 = require_etherscan_provider(); - Object.defineProperty(exports2, "EtherscanProvider", { enumerable: true, get: function() { - return etherscan_provider_1.EtherscanProvider; - } }); - var fallback_provider_1 = require_fallback_provider(); - Object.defineProperty(exports2, "FallbackProvider", { enumerable: true, get: function() { - return fallback_provider_1.FallbackProvider; - } }); - var ipc_provider_1 = require_ipc_provider(); - Object.defineProperty(exports2, "IpcProvider", { enumerable: true, get: function() { - return ipc_provider_1.IpcProvider; - } }); - var infura_provider_1 = require_infura_provider(); - Object.defineProperty(exports2, "InfuraProvider", { enumerable: true, get: function() { - return infura_provider_1.InfuraProvider; - } }); - Object.defineProperty(exports2, "InfuraWebSocketProvider", { enumerable: true, get: function() { - return infura_provider_1.InfuraWebSocketProvider; - } }); - var json_rpc_provider_1 = require_json_rpc_provider(); - Object.defineProperty(exports2, "JsonRpcProvider", { enumerable: true, get: function() { - return json_rpc_provider_1.JsonRpcProvider; - } }); - Object.defineProperty(exports2, "JsonRpcSigner", { enumerable: true, get: function() { - return json_rpc_provider_1.JsonRpcSigner; - } }); - var json_rpc_batch_provider_1 = require_json_rpc_batch_provider(); - Object.defineProperty(exports2, "JsonRpcBatchProvider", { enumerable: true, get: function() { - return json_rpc_batch_provider_1.JsonRpcBatchProvider; - } }); - var nodesmith_provider_1 = require_nodesmith_provider(); - Object.defineProperty(exports2, "NodesmithProvider", { enumerable: true, get: function() { - return nodesmith_provider_1.NodesmithProvider; - } }); - var pocket_provider_1 = require_pocket_provider(); - Object.defineProperty(exports2, "PocketProvider", { enumerable: true, get: function() { - return pocket_provider_1.PocketProvider; - } }); - var url_json_rpc_provider_1 = require_url_json_rpc_provider(); - Object.defineProperty(exports2, "StaticJsonRpcProvider", { enumerable: true, get: function() { - return url_json_rpc_provider_1.StaticJsonRpcProvider; - } }); - Object.defineProperty(exports2, "UrlJsonRpcProvider", { enumerable: true, get: function() { - return url_json_rpc_provider_1.UrlJsonRpcProvider; - } }); - var web3_provider_1 = require_web3_provider(); - Object.defineProperty(exports2, "Web3Provider", { enumerable: true, get: function() { - return web3_provider_1.Web3Provider; - } }); - var websocket_provider_1 = require_websocket_provider(); - Object.defineProperty(exports2, "WebSocketProvider", { enumerable: true, get: function() { - return websocket_provider_1.WebSocketProvider; - } }); - var formatter_1 = require_formatter(); - Object.defineProperty(exports2, "Formatter", { enumerable: true, get: function() { - return formatter_1.Formatter; - } }); - Object.defineProperty(exports2, "isCommunityResourcable", { enumerable: true, get: function() { - return formatter_1.isCommunityResourcable; - } }); - Object.defineProperty(exports2, "isCommunityResource", { enumerable: true, get: function() { - return formatter_1.isCommunityResource; - } }); - Object.defineProperty(exports2, "showThrottleMessage", { enumerable: true, get: function() { - return formatter_1.showThrottleMessage; - } }); - var logger_1 = require_lib(); - var _version_1 = require_version13(); - var logger = new logger_1.Logger(_version_1.version); - function getDefaultProvider(network, options) { - if (network == null) { - network = "homestead"; - } - if (typeof network === "string") { - var match = network.match(/^(ws|http)s?:/i); - if (match) { - switch (match[1].toLowerCase()) { - case "http": - case "https": - return new json_rpc_provider_1.JsonRpcProvider(network); - case "ws": - case "wss": - return new websocket_provider_1.WebSocketProvider(network); - default: - logger.throwArgumentError("unsupported URL scheme", "network", network); - } - } - } - var n = (0, networks_1.getNetwork)(network); - if (!n || !n._defaultProvider) { - logger.throwError("unsupported getDefaultProvider network", logger_1.Logger.errors.NETWORK_ERROR, { - operation: "getDefaultProvider", - network - }); - } - return n._defaultProvider({ - FallbackProvider: fallback_provider_1.FallbackProvider, - AlchemyProvider: alchemy_provider_1.AlchemyProvider, - AnkrProvider: ankr_provider_1.AnkrProvider, - CloudflareProvider: cloudflare_provider_1.CloudflareProvider, - EtherscanProvider: etherscan_provider_1.EtherscanProvider, - InfuraProvider: infura_provider_1.InfuraProvider, - JsonRpcProvider: json_rpc_provider_1.JsonRpcProvider, - NodesmithProvider: nodesmith_provider_1.NodesmithProvider, - PocketProvider: pocket_provider_1.PocketProvider, - Web3Provider: web3_provider_1.Web3Provider, - IpcProvider: ipc_provider_1.IpcProvider - }, options); - } - exports2.getDefaultProvider = getDefaultProvider; - } -}); - -// node_modules/delayed-stream/lib/delayed_stream.js -var require_delayed_stream = __commonJS({ - "node_modules/delayed-stream/lib/delayed_stream.js"(exports2, module2) { - "use strict"; - var Stream = (__nccwpck_require__(2203).Stream); - var util2 = __nccwpck_require__(39023); - module2.exports = DelayedStream; - function DelayedStream() { - this.source = null; - this.dataSize = 0; - this.maxDataSize = 1024 * 1024; - this.pauseStream = true; - this._maxDataSizeExceeded = false; - this._released = false; - this._bufferedEvents = []; - } - util2.inherits(DelayedStream, Stream); - DelayedStream.create = function(source, options) { - var delayedStream = new this(); - options = options || {}; - for (var option in options) { - delayedStream[option] = options[option]; - } - delayedStream.source = source; - var realEmit = source.emit; - source.emit = function() { - delayedStream._handleEmit(arguments); - return realEmit.apply(source, arguments); - }; - source.on("error", function() { - }); - if (delayedStream.pauseStream) { - source.pause(); - } - return delayedStream; - }; - Object.defineProperty(DelayedStream.prototype, "readable", { - configurable: true, - enumerable: true, - get: function() { - return this.source.readable; - } - }); - DelayedStream.prototype.setEncoding = function() { - return this.source.setEncoding.apply(this.source, arguments); - }; - DelayedStream.prototype.resume = function() { - if (!this._released) { - this.release(); - } - this.source.resume(); - }; - DelayedStream.prototype.pause = function() { - this.source.pause(); - }; - DelayedStream.prototype.release = function() { - this._released = true; - this._bufferedEvents.forEach(function(args) { - this.emit.apply(this, args); - }.bind(this)); - this._bufferedEvents = []; - }; - DelayedStream.prototype.pipe = function() { - var r = Stream.prototype.pipe.apply(this, arguments); - this.resume(); - return r; - }; - DelayedStream.prototype._handleEmit = function(args) { - if (this._released) { - this.emit.apply(this, args); - return; - } - if (args[0] === "data") { - this.dataSize += args[1].length; - this._checkIfMaxDataSizeExceeded(); - } - this._bufferedEvents.push(args); - }; - DelayedStream.prototype._checkIfMaxDataSizeExceeded = function() { - if (this._maxDataSizeExceeded) { - return; - } - if (this.dataSize <= this.maxDataSize) { - return; - } - this._maxDataSizeExceeded = true; - var message = "DelayedStream#maxDataSize of " + this.maxDataSize + " bytes exceeded."; - this.emit("error", new Error(message)); - }; - } -}); - -// node_modules/combined-stream/lib/combined_stream.js -var require_combined_stream = __commonJS({ - "node_modules/combined-stream/lib/combined_stream.js"(exports2, module2) { - "use strict"; - var util2 = __nccwpck_require__(39023); - var Stream = (__nccwpck_require__(2203).Stream); - var DelayedStream = require_delayed_stream(); - module2.exports = CombinedStream; - function CombinedStream() { - this.writable = false; - this.readable = true; - this.dataSize = 0; - this.maxDataSize = 2 * 1024 * 1024; - this.pauseStreams = true; - this._released = false; - this._streams = []; - this._currentStream = null; - this._insideLoop = false; - this._pendingNext = false; - } - util2.inherits(CombinedStream, Stream); - CombinedStream.create = function(options) { - var combinedStream = new this(); - options = options || {}; - for (var option in options) { - combinedStream[option] = options[option]; - } - return combinedStream; - }; - CombinedStream.isStreamLike = function(stream4) { - return typeof stream4 !== "function" && typeof stream4 !== "string" && typeof stream4 !== "boolean" && typeof stream4 !== "number" && !Buffer.isBuffer(stream4); - }; - CombinedStream.prototype.append = function(stream4) { - var isStreamLike = CombinedStream.isStreamLike(stream4); - if (isStreamLike) { - if (!(stream4 instanceof DelayedStream)) { - var newStream = DelayedStream.create(stream4, { - maxDataSize: Infinity, - pauseStream: this.pauseStreams - }); - stream4.on("data", this._checkDataSize.bind(this)); - stream4 = newStream; - } - this._handleErrors(stream4); - if (this.pauseStreams) { - stream4.pause(); - } - } - this._streams.push(stream4); - return this; - }; - CombinedStream.prototype.pipe = function(dest, options) { - Stream.prototype.pipe.call(this, dest, options); - this.resume(); - return dest; - }; - CombinedStream.prototype._getNext = function() { - this._currentStream = null; - if (this._insideLoop) { - this._pendingNext = true; - return; - } - this._insideLoop = true; - try { - do { - this._pendingNext = false; - this._realGetNext(); - } while (this._pendingNext); - } finally { - this._insideLoop = false; - } - }; - CombinedStream.prototype._realGetNext = function() { - var stream4 = this._streams.shift(); - if (typeof stream4 == "undefined") { - this.end(); - return; - } - if (typeof stream4 !== "function") { - this._pipeNext(stream4); - return; - } - var getStream = stream4; - getStream(function(stream5) { - var isStreamLike = CombinedStream.isStreamLike(stream5); - if (isStreamLike) { - stream5.on("data", this._checkDataSize.bind(this)); - this._handleErrors(stream5); - } - this._pipeNext(stream5); - }.bind(this)); - }; - CombinedStream.prototype._pipeNext = function(stream4) { - this._currentStream = stream4; - var isStreamLike = CombinedStream.isStreamLike(stream4); - if (isStreamLike) { - stream4.on("end", this._getNext.bind(this)); - stream4.pipe(this, { end: false }); - return; - } - var value = stream4; - this.write(value); - this._getNext(); - }; - CombinedStream.prototype._handleErrors = function(stream4) { - var self2 = this; - stream4.on("error", function(err) { - self2._emitError(err); - }); - }; - CombinedStream.prototype.write = function(data) { - this.emit("data", data); - }; - CombinedStream.prototype.pause = function() { - if (!this.pauseStreams) { - return; - } - if (this.pauseStreams && this._currentStream && typeof this._currentStream.pause == "function") - this._currentStream.pause(); - this.emit("pause"); - }; - CombinedStream.prototype.resume = function() { - if (!this._released) { - this._released = true; - this.writable = true; - this._getNext(); - } - if (this.pauseStreams && this._currentStream && typeof this._currentStream.resume == "function") - this._currentStream.resume(); - this.emit("resume"); - }; - CombinedStream.prototype.end = function() { - this._reset(); - this.emit("end"); - }; - CombinedStream.prototype.destroy = function() { - this._reset(); - this.emit("close"); - }; - CombinedStream.prototype._reset = function() { - this.writable = false; - this._streams = []; - this._currentStream = null; - }; - CombinedStream.prototype._checkDataSize = function() { - this._updateDataSize(); - if (this.dataSize <= this.maxDataSize) { - return; - } - var message = "DelayedStream#maxDataSize of " + this.maxDataSize + " bytes exceeded."; - this._emitError(new Error(message)); - }; - CombinedStream.prototype._updateDataSize = function() { - this.dataSize = 0; - var self2 = this; - this._streams.forEach(function(stream4) { - if (!stream4.dataSize) { - return; - } - self2.dataSize += stream4.dataSize; - }); - if (this._currentStream && this._currentStream.dataSize) { - this.dataSize += this._currentStream.dataSize; - } - }; - CombinedStream.prototype._emitError = function(err) { - this._reset(); - this.emit("error", err); - }; - } -}); - -// node_modules/mime-db/db.json -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 - } - }; - } -}); - -// node_modules/mime-db/index.js -var require_mime_db = __commonJS({ - "node_modules/mime-db/index.js"(exports2, module2) { - "use strict"; - module2.exports = require_db(); - } -}); - -// node_modules/mime-types/index.js -var require_mime_types = __commonJS({ - "node_modules/mime-types/index.js"(exports2) { - "use strict"; - var db = require_mime_db(); - var extname = (__nccwpck_require__(16928).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 = /* @__PURE__ */ Object.create(null); - exports2.lookup = lookup; - exports2.types = /* @__PURE__ */ Object.create(null); - populateMaps(exports2.extensions, exports2.types); - function charset(type) { - if (!type || typeof type !== "string") { - return false; - } - var match = EXTRACT_TYPE_REGEXP.exec(type); - 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(str) { - if (!str || typeof str !== "string") { - return false; - } - var mime = str.indexOf("/") === -1 ? exports2.lookup(str) : str; - if (!mime) { - return false; - } - if (mime.indexOf("charset") === -1) { - var charset2 = exports2.charset(mime); - if (charset2) - mime += "; charset=" + charset2.toLowerCase(); - } - return mime; - } - function extension(type) { - if (!type || typeof type !== "string") { - return false; - } - var match = EXTRACT_TYPE_REGEXP.exec(type); - var exts = match && exports2.extensions[match[1].toLowerCase()]; - if (!exts || !exts.length) { - return false; - } - return exts[0]; - } - function lookup(path) { - if (!path || typeof path !== "string") { - return false; - } - var extension2 = extname("x." + path).toLowerCase().substr(1); - if (!extension2) { - return false; - } - return exports2.types[extension2] || false; - } - function populateMaps(extensions, types) { - var preference = ["nginx", "apache", void 0, "iana"]; - Object.keys(db).forEach(function forEachMimeType(type) { - var mime = db[type]; - var exts = mime.extensions; - if (!exts || !exts.length) { - return; - } - extensions[type] = exts; - for (var i = 0; i < exts.length; i++) { - var extension2 = exts[i]; - if (types[extension2]) { - var from = preference.indexOf(db[types[extension2]].source); - var to = preference.indexOf(mime.source); - if (types[extension2] !== "application/octet-stream" && (from > to || from === to && types[extension2].substr(0, 12) === "application/")) { - continue; - } - } - types[extension2] = type; - } - }); - } - } -}); - -// node_modules/asynckit/lib/defer.js -var require_defer = __commonJS({ - "node_modules/asynckit/lib/defer.js"(exports2, module2) { - "use strict"; - module2.exports = defer; - function defer(fn) { - var nextTick = typeof setImmediate == "function" ? setImmediate : typeof process == "object" && typeof process.nextTick == "function" ? process.nextTick : null; - if (nextTick) { - nextTick(fn); - } else { - setTimeout(fn, 0); - } - } - } -}); - -// node_modules/asynckit/lib/async.js -var require_async = __commonJS({ - "node_modules/asynckit/lib/async.js"(exports2, module2) { - "use strict"; - var defer = require_defer(); - module2.exports = async; - function async(callback) { - var isAsync = false; - defer(function() { - isAsync = true; - }); - return function async_callback(err, result) { - if (isAsync) { - callback(err, result); - } else { - defer(function nextTick_callback() { - callback(err, result); - }); - } - }; - } - } -}); - -// node_modules/asynckit/lib/abort.js -var require_abort = __commonJS({ - "node_modules/asynckit/lib/abort.js"(exports2, module2) { - "use strict"; - module2.exports = abort; - function abort(state) { - Object.keys(state.jobs).forEach(clean.bind(state)); - state.jobs = {}; - } - function clean(key) { - if (typeof this.jobs[key] == "function") { - this.jobs[key](); - } - } - } -}); - -// node_modules/asynckit/lib/iterate.js -var require_iterate = __commonJS({ - "node_modules/asynckit/lib/iterate.js"(exports2, module2) { - "use strict"; - var async = require_async(); - var abort = require_abort(); - module2.exports = iterate; - function iterate(list, iterator, state, callback) { - var key = state["keyedList"] ? state["keyedList"][state.index] : state.index; - state.jobs[key] = runJob(iterator, key, list[key], function(error, output) { - if (!(key in state.jobs)) { - return; - } - delete state.jobs[key]; - if (error) { - abort(state); - } else { - state.results[key] = output; - } - callback(error, state.results); - }); - } - function runJob(iterator, key, item, callback) { - var aborter; - if (iterator.length == 2) { - aborter = iterator(item, async(callback)); - } else { - aborter = iterator(item, key, async(callback)); - } - return aborter; - } - } -}); - -// node_modules/asynckit/lib/state.js -var require_state = __commonJS({ - "node_modules/asynckit/lib/state.js"(exports2, module2) { - "use strict"; - module2.exports = state; - function state(list, sortMethod) { - var isNamedList = !Array.isArray(list), initState = { - index: 0, - keyedList: isNamedList || sortMethod ? Object.keys(list) : null, - jobs: {}, - results: isNamedList ? {} : [], - size: isNamedList ? Object.keys(list).length : list.length - }; - if (sortMethod) { - initState.keyedList.sort(isNamedList ? sortMethod : function(a, b) { - return sortMethod(list[a], list[b]); - }); - } - return initState; - } - } -}); - -// node_modules/asynckit/lib/terminator.js -var require_terminator = __commonJS({ - "node_modules/asynckit/lib/terminator.js"(exports2, module2) { - "use strict"; - var abort = require_abort(); - var async = require_async(); - module2.exports = terminator; - function terminator(callback) { - if (!Object.keys(this.jobs).length) { - return; - } - this.index = this.size; - abort(this); - async(callback)(null, this.results); - } - } -}); - -// node_modules/asynckit/parallel.js -var require_parallel = __commonJS({ - "node_modules/asynckit/parallel.js"(exports2, module2) { - "use strict"; - var iterate = require_iterate(); - var initState = require_state(); - var terminator = require_terminator(); - module2.exports = parallel; - function parallel(list, iterator, callback) { - var state = initState(list); - while (state.index < (state["keyedList"] || list).length) { - iterate(list, iterator, state, function(error, result) { - if (error) { - callback(error, result); - return; - } - if (Object.keys(state.jobs).length === 0) { - callback(null, state.results); - return; - } - }); - state.index++; - } - return terminator.bind(state, callback); - } - } -}); - -// node_modules/asynckit/serialOrdered.js -var require_serialOrdered = __commonJS({ - "node_modules/asynckit/serialOrdered.js"(exports2, module2) { - "use strict"; - var iterate = require_iterate(); - var initState = require_state(); - var terminator = require_terminator(); - module2.exports = serialOrdered; - module2.exports.ascending = ascending; - module2.exports.descending = descending; - function serialOrdered(list, iterator, sortMethod, callback) { - var state = initState(list, sortMethod); - iterate(list, iterator, state, function iteratorHandler(error, result) { - if (error) { - callback(error, result); - return; - } - state.index++; - if (state.index < (state["keyedList"] || list).length) { - iterate(list, iterator, state, iteratorHandler); - return; - } - callback(null, state.results); - }); - return terminator.bind(state, callback); - } - function ascending(a, b) { - return a < b ? -1 : a > b ? 1 : 0; - } - function descending(a, b) { - return -1 * ascending(a, b); - } - } -}); - -// node_modules/asynckit/serial.js -var require_serial = __commonJS({ - "node_modules/asynckit/serial.js"(exports2, module2) { - "use strict"; - var serialOrdered = require_serialOrdered(); - module2.exports = serial; - function serial(list, iterator, callback) { - return serialOrdered(list, iterator, null, callback); - } - } -}); - -// node_modules/asynckit/index.js -var require_asynckit = __commonJS({ - "node_modules/asynckit/index.js"(exports2, module2) { - "use strict"; - module2.exports = { - parallel: require_parallel(), - serial: require_serial(), - serialOrdered: require_serialOrdered() - }; - } -}); - -// node_modules/form-data/lib/populate.js -var require_populate = __commonJS({ - "node_modules/form-data/lib/populate.js"(exports2, module2) { - "use strict"; - module2.exports = function(dst, src) { - Object.keys(src).forEach(function(prop) { - dst[prop] = dst[prop] || src[prop]; - }); - return dst; - }; - } -}); - -// node_modules/form-data/lib/form_data.js -var require_form_data = __commonJS({ - "node_modules/form-data/lib/form_data.js"(exports2, module2) { - "use strict"; - var CombinedStream = require_combined_stream(); - var util2 = __nccwpck_require__(39023); - var path = __nccwpck_require__(16928); - var http2 = __nccwpck_require__(58611); - var https2 = __nccwpck_require__(65692); - var parseUrl = (__nccwpck_require__(87016).parse); - var fs = __nccwpck_require__(79896); - var Stream = (__nccwpck_require__(2203).Stream); - var mime = require_mime_types(); - var asynckit = require_asynckit(); - var populate = require_populate(); - module2.exports = FormData3; - util2.inherits(FormData3, CombinedStream); - function FormData3(options) { - if (!(this instanceof FormData3)) { - return new FormData3(options); - } - this._overheadLength = 0; - this._valueLength = 0; - this._valuesToMeasure = []; - CombinedStream.call(this); - options = options || {}; - for (var option in options) { - this[option] = options[option]; - } - } - FormData3.LINE_BREAK = "\r\n"; - FormData3.DEFAULT_CONTENT_TYPE = "application/octet-stream"; - FormData3.prototype.append = function(field, value, options) { - options = options || {}; - if (typeof options == "string") { - options = { filename: options }; - } - var append2 = CombinedStream.prototype.append.bind(this); - if (typeof value == "number") { - value = "" + value; - } - if (util2.isArray(value)) { - this._error(new Error("Arrays are not supported.")); - return; - } - var header = this._multiPartHeader(field, value, options); - var footer = this._multiPartFooter(); - append2(header); - append2(value); - append2(footer); - this._trackLength(header, value, options); - }; - FormData3.prototype._trackLength = function(header, value, options) { - var valueLength = 0; - if (options.knownLength != null) { - valueLength += +options.knownLength; - } else if (Buffer.isBuffer(value)) { - valueLength = value.length; - } else if (typeof value === "string") { - valueLength = Buffer.byteLength(value); - } - this._valueLength += valueLength; - this._overheadLength += Buffer.byteLength(header) + FormData3.LINE_BREAK.length; - if (!value || !value.path && !(value.readable && value.hasOwnProperty("httpVersion")) && !(value instanceof Stream)) { - return; - } - if (!options.knownLength) { - this._valuesToMeasure.push(value); - } - }; - FormData3.prototype._lengthRetriever = function(value, callback) { - if (value.hasOwnProperty("fd")) { - if (value.end != void 0 && value.end != Infinity && value.start != void 0) { - callback(null, value.end + 1 - (value.start ? value.start : 0)); - } else { - fs.stat(value.path, function(err, stat) { - var fileSize; - if (err) { - callback(err); - return; - } - fileSize = stat.size - (value.start ? value.start : 0); - callback(null, fileSize); - }); - } - } else if (value.hasOwnProperty("httpVersion")) { - callback(null, +value.headers["content-length"]); - } else if (value.hasOwnProperty("httpModule")) { - value.on("response", function(response) { - value.pause(); - callback(null, +response.headers["content-length"]); - }); - value.resume(); - } else { - callback("Unknown stream"); - } - }; - FormData3.prototype._multiPartHeader = function(field, value, options) { - if (typeof options.header == "string") { - return options.header; - } - var contentDisposition = this._getContentDisposition(value, options); - var contentType = this._getContentType(value, options); - var contents = ""; - var headers = { - // add custom disposition as third element or keep it two elements if not - "Content-Disposition": ["form-data", 'name="' + field + '"'].concat(contentDisposition || []), - // if no content type. allow it to be empty array - "Content-Type": [].concat(contentType || []) - }; - if (typeof options.header == "object") { - populate(headers, options.header); - } - var header; - for (var prop in headers) { - if (!headers.hasOwnProperty(prop)) - continue; - header = headers[prop]; - if (header == null) { - continue; - } - if (!Array.isArray(header)) { - header = [header]; - } - if (header.length) { - contents += prop + ": " + header.join("; ") + FormData3.LINE_BREAK; - } - } - return "--" + this.getBoundary() + FormData3.LINE_BREAK + contents + FormData3.LINE_BREAK; - }; - FormData3.prototype._getContentDisposition = function(value, options) { - var filename, contentDisposition; - if (typeof options.filepath === "string") { - filename = path.normalize(options.filepath).replace(/\\/g, "/"); - } else if (options.filename || value.name || value.path) { - filename = path.basename(options.filename || value.name || value.path); - } else if (value.readable && value.hasOwnProperty("httpVersion")) { - filename = path.basename(value.client._httpMessage.path || ""); - } - if (filename) { - contentDisposition = 'filename="' + filename + '"'; - } - return contentDisposition; - }; - FormData3.prototype._getContentType = function(value, options) { - var contentType = options.contentType; - if (!contentType && value.name) { - contentType = mime.lookup(value.name); - } - if (!contentType && value.path) { - contentType = mime.lookup(value.path); - } - if (!contentType && value.readable && value.hasOwnProperty("httpVersion")) { - contentType = value.headers["content-type"]; - } - if (!contentType && (options.filepath || options.filename)) { - contentType = mime.lookup(options.filepath || options.filename); - } - if (!contentType && typeof value == "object") { - contentType = FormData3.DEFAULT_CONTENT_TYPE; - } - return contentType; - }; - FormData3.prototype._multiPartFooter = function() { - return function(next) { - var footer = FormData3.LINE_BREAK; - var lastPart = this._streams.length === 0; - if (lastPart) { - footer += this._lastBoundary(); - } - next(footer); - }.bind(this); - }; - FormData3.prototype._lastBoundary = function() { - return "--" + this.getBoundary() + "--" + FormData3.LINE_BREAK; - }; - FormData3.prototype.getHeaders = function(userHeaders) { - var header; - var formHeaders = { - "content-type": "multipart/form-data; boundary=" + this.getBoundary() - }; - for (header in userHeaders) { - if (userHeaders.hasOwnProperty(header)) { - formHeaders[header.toLowerCase()] = userHeaders[header]; - } - } - return formHeaders; - }; - FormData3.prototype.setBoundary = function(boundary) { - this._boundary = boundary; - }; - FormData3.prototype.getBoundary = function() { - if (!this._boundary) { - this._generateBoundary(); - } - return this._boundary; - }; - FormData3.prototype.getBuffer = function() { - var dataBuffer = new Buffer.alloc(0); - var boundary = this.getBoundary(); - for (var i = 0, len = this._streams.length; i < len; i++) { - if (typeof this._streams[i] !== "function") { - if (Buffer.isBuffer(this._streams[i])) { - dataBuffer = Buffer.concat([dataBuffer, this._streams[i]]); - } else { - dataBuffer = Buffer.concat([dataBuffer, Buffer.from(this._streams[i])]); - } - if (typeof this._streams[i] !== "string" || this._streams[i].substring(2, boundary.length + 2) !== boundary) { - dataBuffer = Buffer.concat([dataBuffer, Buffer.from(FormData3.LINE_BREAK)]); - } - } - } - return Buffer.concat([dataBuffer, Buffer.from(this._lastBoundary())]); - }; - FormData3.prototype._generateBoundary = function() { - var boundary = "--------------------------"; - for (var i = 0; i < 24; i++) { - boundary += Math.floor(Math.random() * 10).toString(16); - } - this._boundary = boundary; - }; - FormData3.prototype.getLengthSync = function() { - var knownLength = this._overheadLength + this._valueLength; - if (this._streams.length) { - knownLength += this._lastBoundary().length; - } - if (!this.hasKnownLength()) { - this._error(new Error("Cannot calculate proper length in synchronous way.")); - } - return knownLength; - }; - FormData3.prototype.hasKnownLength = function() { - var hasKnownLength = true; - if (this._valuesToMeasure.length) { - hasKnownLength = false; - } - return hasKnownLength; - }; - FormData3.prototype.getLength = function(cb) { - var knownLength = this._overheadLength + this._valueLength; - if (this._streams.length) { - knownLength += this._lastBoundary().length; - } - if (!this._valuesToMeasure.length) { - process.nextTick(cb.bind(this, null, knownLength)); - return; - } - asynckit.parallel(this._valuesToMeasure, this._lengthRetriever, function(err, values) { - if (err) { - cb(err); - return; - } - values.forEach(function(length) { - knownLength += length; - }); - cb(null, knownLength); - }); - }; - FormData3.prototype.submit = function(params, cb) { - var request, options, defaults2 = { method: "post" }; - if (typeof params == "string") { - params = parseUrl(params); - options = populate({ - port: params.port, - path: params.pathname, - host: params.hostname, - protocol: params.protocol - }, defaults2); - } else { - options = populate(params, defaults2); - if (!options.port) { - options.port = options.protocol == "https:" ? 443 : 80; - } - } - options.headers = this.getHeaders(params.headers); - if (options.protocol == "https:") { - request = https2.request(options); - } else { - request = http2.request(options); - } - this.getLength(function(err, length) { - if (err && err !== "Unknown stream") { - this._error(err); - return; - } - if (length) { - request.setHeader("Content-Length", length); - } - this.pipe(request); - if (cb) { - var onResponse; - var callback = function(error, responce) { - request.removeListener("error", callback); - request.removeListener("response", onResponse); - return cb.call(this, error, responce); - }; - onResponse = callback.bind(this, null); - request.on("error", callback); - request.on("response", onResponse); - } - }.bind(this)); - return request; - }; - FormData3.prototype._error = function(err) { - if (!this.error) { - this.error = err; - this.pause(); - this.emit("error", err); - } - }; - FormData3.prototype.toString = function() { - return "[object FormData]"; - }; - } -}); - -// node_modules/proxy-from-env/index.js -var require_proxy_from_env = __commonJS({ - "node_modules/proxy-from-env/index.js"(exports2) { - "use strict"; - var parseUrl = (__nccwpck_require__(87016).parse); - var DEFAULT_PORTS = { - ftp: 21, - gopher: 70, - http: 80, - https: 443, - ws: 80, - wss: 443 - }; - var stringEndsWith = String.prototype.endsWith || function(s) { - return s.length <= this.length && this.indexOf(s, this.length - s.length) !== -1; - }; - function getProxyForUrl2(url2) { - var parsedUrl = typeof url2 === "string" ? parseUrl(url2) : url2 || {}; - var proto = parsedUrl.protocol; - var hostname = parsedUrl.host; - var port = parsedUrl.port; - if (typeof hostname !== "string" || !hostname || typeof proto !== "string") { - return ""; - } - proto = proto.split(":", 1)[0]; - hostname = hostname.replace(/:\d*$/, ""); - port = parseInt(port) || DEFAULT_PORTS[proto] || 0; - if (!shouldProxy(hostname, port)) { - return ""; - } - var proxy = getEnv("npm_config_" + proto + "_proxy") || getEnv(proto + "_proxy") || getEnv("npm_config_proxy") || getEnv("all_proxy"); - if (proxy && proxy.indexOf("://") === -1) { - proxy = proto + "://" + proxy; - } - return proxy; - } - function shouldProxy(hostname, port) { - var NO_PROXY = (getEnv("npm_config_no_proxy") || getEnv("no_proxy")).toLowerCase(); - if (!NO_PROXY) { - return true; - } - if (NO_PROXY === "*") { - return false; - } - return NO_PROXY.split(/[,\s]/).every(function(proxy) { - if (!proxy) { - return true; - } - var parsedProxy = proxy.match(/^(.+):(\d+)$/); - var parsedProxyHostname = parsedProxy ? parsedProxy[1] : proxy; - var parsedProxyPort = parsedProxy ? parseInt(parsedProxy[2]) : 0; - if (parsedProxyPort && parsedProxyPort !== port) { - return true; - } - if (!/^[.*]/.test(parsedProxyHostname)) { - return hostname !== parsedProxyHostname; - } - if (parsedProxyHostname.charAt(0) === "*") { - parsedProxyHostname = parsedProxyHostname.slice(1); - } - return !stringEndsWith.call(hostname, parsedProxyHostname); - }); - } - function getEnv(key) { - return process.env[key.toLowerCase()] || process.env[key.toUpperCase()] || ""; - } - exports2.getProxyForUrl = getProxyForUrl2; - } -}); - -// node_modules/ms/index.js -var require_ms = __commonJS({ - "node_modules/ms/index.js"(exports2, module2) { - "use strict"; - 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 type = typeof val; - if (type === "string" && val.length > 0) { - return parse(val); - } else if (type === "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 parse(str) { - str = String(str); - if (str.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( - str - ); - if (!match) { - return; - } - var n = parseFloat(match[1]); - var type = (match[2] || "ms").toLowerCase(); - switch (type) { - 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" : ""); - } - } -}); - -// node_modules/debug/src/common.js -var require_common3 = __commonJS({ - "node_modules/debug/src/common.js"(exports2, module2) { - "use strict"; - function setup(env) { - createDebug.debug = createDebug; - createDebug.default = createDebug; - createDebug.coerce = coerce; - createDebug.disable = disable; - createDebug.enable = enable; - createDebug.enabled = enabled; - createDebug.humanize = require_ms(); - createDebug.destroy = destroy; - Object.keys(env).forEach((key) => { - createDebug[key] = env[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(...args) { - if (!debug.enabled) { - return; - } - const self2 = debug; - const curr = Number(/* @__PURE__ */ new Date()); - const ms = curr - (prevTime || curr); - self2.diff = ms; - self2.prev = prevTime; - self2.curr = curr; - prevTime = curr; - args[0] = createDebug.coerce(args[0]); - if (typeof args[0] !== "string") { - args.unshift("%O"); - } - let index = 0; - args[0] = args[0].replace(/%([a-zA-Z%])/g, (match, format) => { - if (match === "%%") { - return "%"; - } - index++; - const formatter = createDebug.formatters[format]; - if (typeof formatter === "function") { - const val = args[index]; - match = formatter.call(self2, val); - args.splice(index, 1); - index--; - } - return match; - }); - createDebug.formatArgs.call(self2, args); - const logFn = self2.log || createDebug.log; - logFn.apply(self2, args); - } - debug.namespace = namespace; - debug.useColors = createDebug.useColors(); - debug.color = createDebug.selectColor(namespace); - debug.extend = extend2; - 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 extend2(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 split = (typeof namespaces === "string" ? namespaces : "").split(/[\s,]+/); - const len = split.length; - for (i = 0; i < len; i++) { - if (!split[i]) { - continue; - } - namespaces = split[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 enabled(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 coerce(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; - } -}); - -// node_modules/debug/src/browser.js -var require_browser = __commonJS({ - "node_modules/debug/src/browser.js"(exports2, module2) { - "use strict"; - exports2.formatArgs = formatArgs; - exports2.save = save; - exports2.load = load; - exports2.useColors = useColors; - exports2.storage = localstorage(); - exports2.destroy = /* @__PURE__ */ (() => { - 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 || // Is firebug? http://stackoverflow.com/a/398120/376773 - typeof window !== "undefined" && window.console && (window.console.firebug || window.console.exception && window.console.table) || // Is firefox >= v31? - // https://developer.mozilla.org/en-US/docs/Tools/Web_Console#Styling_messages - typeof navigator !== "undefined" && navigator.userAgent && (m = navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/)) && parseInt(m[1], 10) >= 31 || // Double check webkit in userAgent just in case we are in a worker - typeof navigator !== "undefined" && navigator.userAgent && navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/); - } - function formatArgs(args) { - args[0] = (this.useColors ? "%c" : "") + this.namespace + (this.useColors ? " %c" : " ") + args[0] + (this.useColors ? "%c " : " ") + "+" + module2.exports.humanize(this.diff); - if (!this.useColors) { - return; - } - const c = "color: " + this.color; - args.splice(1, 0, c, "color: inherit"); - let index = 0; - let lastC = 0; - args[0].replace(/%[a-zA-Z%]/g, (match) => { - if (match === "%%") { - return; - } - index++; - if (match === "%c") { - lastC = index; - } - }); - args.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 load() { - 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_common3()(exports2); - var { formatters } = module2.exports; - formatters.j = function(v) { - try { - return JSON.stringify(v); - } catch (error) { - return "[UnexpectedJSONParseError]: " + error.message; - } - }; - } -}); - -// node_modules/has-flag/index.js -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); - }; - } -}); - -// node_modules/supports-color/index.js -var require_supports_color = __commonJS({ - "node_modules/supports-color/index.js"(exports2, module2) { - "use strict"; - var os = __nccwpck_require__(70857); - var tty = __nccwpck_require__(52018); - var hasFlag = require_has_flag(); - var { env } = process; - var forceColor; - if (hasFlag("no-color") || hasFlag("no-colors") || hasFlag("color=false") || hasFlag("color=never")) { - forceColor = 0; - } else if (hasFlag("color") || hasFlag("colors") || hasFlag("color=true") || hasFlag("color=always")) { - forceColor = 1; - } - if ("FORCE_COLOR" in env) { - if (env.FORCE_COLOR === "true") { - forceColor = 1; - } else if (env.FORCE_COLOR === "false") { - forceColor = 0; - } else { - forceColor = env.FORCE_COLOR.length === 0 ? 1 : Math.min(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) { - if (forceColor === 0) { - return 0; - } - if (hasFlag("color=16m") || hasFlag("color=full") || hasFlag("color=truecolor")) { - return 3; - } - if (hasFlag("color=256")) { - return 2; - } - if (haveStream && !streamIsTTY && forceColor === void 0) { - return 0; - } - const min = forceColor || 0; - if (env.TERM === "dumb") { - return min; - } - if (process.platform === "win32") { - const osRelease = os.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 (["TRAVIS", "CIRCLECI", "APPVEYOR", "GITLAB_CI", "GITHUB_ACTIONS", "BUILDKITE"].some((sign) => sign in env) || env.CI_NAME === "codeship") { - return 1; - } - return min; - } - 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 ("TERM_PROGRAM" in env) { - const version = 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 min; - } - function getSupportLevel(stream4) { - const level = supportsColor(stream4, stream4 && stream4.isTTY); - return translateLevel(level); - } - module2.exports = { - supportsColor: getSupportLevel, - stdout: translateLevel(supportsColor(true, tty.isatty(1))), - stderr: translateLevel(supportsColor(true, tty.isatty(2))) - }; - } -}); - -// node_modules/debug/src/node.js -var require_node = __commonJS({ - "node_modules/debug/src/node.js"(exports2, module2) { - "use strict"; - var tty = __nccwpck_require__(52018); - var util2 = __nccwpck_require__(39023); - exports2.init = init; - exports2.log = log; - exports2.formatArgs = formatArgs; - exports2.save = save; - exports2.load = load; - exports2.useColors = useColors; - exports2.destroy = util2.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 supportsColor = require_supports_color(); - if (supportsColor && (supportsColor.stderr || supportsColor).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) : tty.isatty(process.stderr.fd); - } - function formatArgs(args) { - 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`; - args[0] = prefix + args[0].split("\n").join("\n" + prefix); - args.push(colorCode + "m+" + module2.exports.humanize(this.diff) + "\x1B[0m"); - } else { - args[0] = getDate() + name + " " + args[0]; - } - } - function getDate() { - if (exports2.inspectOpts.hideDate) { - return ""; - } - return (/* @__PURE__ */ new Date()).toISOString() + " "; - } - function log(...args) { - return process.stderr.write(util2.formatWithOptions(exports2.inspectOpts, ...args) + "\n"); - } - function save(namespaces) { - if (namespaces) { - process.env.DEBUG = namespaces; - } else { - delete process.env.DEBUG; - } - } - function load() { - return process.env.DEBUG; - } - function init(debug) { - debug.inspectOpts = {}; - const keys = Object.keys(exports2.inspectOpts); - for (let i = 0; i < keys.length; i++) { - debug.inspectOpts[keys[i]] = exports2.inspectOpts[keys[i]]; - } - } - module2.exports = require_common3()(exports2); - var { formatters } = module2.exports; - formatters.o = function(v) { - this.inspectOpts.colors = this.useColors; - return util2.inspect(v, this.inspectOpts).split("\n").map((str) => str.trim()).join(" "); - }; - formatters.O = function(v) { - this.inspectOpts.colors = this.useColors; - return util2.inspect(v, this.inspectOpts); - }; - } -}); - -// node_modules/debug/src/index.js -var require_src = __commonJS({ - "node_modules/debug/src/index.js"(exports2, module2) { - "use strict"; - if (typeof process === "undefined" || process.type === "renderer" || process.browser === true || process.__nwjs) { - module2.exports = require_browser(); - } else { - module2.exports = require_node(); - } - } -}); - -// node_modules/follow-redirects/debug.js -var require_debug = __commonJS({ - "node_modules/follow-redirects/debug.js"(exports2, module2) { - "use strict"; - var debug; - module2.exports = function() { - if (!debug) { - try { - debug = require_src()("follow-redirects"); - } catch (error) { - } - if (typeof debug !== "function") { - debug = function() { - }; - } - } - debug.apply(null, arguments); - }; - } -}); - -// node_modules/follow-redirects/index.js -var require_follow_redirects = __commonJS({ - "node_modules/follow-redirects/index.js"(exports2, module2) { - "use strict"; - var url2 = __nccwpck_require__(87016); - var URL2 = url2.URL; - var http2 = __nccwpck_require__(58611); - var https2 = __nccwpck_require__(65692); - var Writable = (__nccwpck_require__(2203).Writable); - var assert = __nccwpck_require__(42613); - var debug = require_debug(); - var useNativeURL = false; - try { - assert(new URL2()); - } catch (error) { - useNativeURL = error.code === "ERR_INVALID_URL"; - } - var preservedUrlFields = [ - "auth", - "host", - "hostname", - "href", - "path", - "pathname", - "port", - "protocol", - "query", - "search", - "hash" - ]; - var events = ["abort", "aborted", "connect", "error", "socket", "timeout"]; - var eventHandlers = /* @__PURE__ */ Object.create(null); - events.forEach(function(event) { - eventHandlers[event] = function(arg1, arg2, arg3) { - this._redirectable.emit(event, arg1, arg2, arg3); - }; - }); - var InvalidUrlError = createErrorType( - "ERR_INVALID_URL", - "Invalid URL", - TypeError - ); - var RedirectionError = createErrorType( - "ERR_FR_REDIRECTION_FAILURE", - "Redirected request failed" - ); - var TooManyRedirectsError = createErrorType( - "ERR_FR_TOO_MANY_REDIRECTS", - "Maximum number of redirects exceeded", - RedirectionError - ); - var MaxBodyLengthExceededError = createErrorType( - "ERR_FR_MAX_BODY_LENGTH_EXCEEDED", - "Request body larger than maxBodyLength limit" - ); - var WriteAfterEndError = createErrorType( - "ERR_STREAM_WRITE_AFTER_END", - "write after end" - ); - var destroy = Writable.prototype.destroy || noop2; - function RedirectableRequest(options, responseCallback) { - Writable.call(this); - this._sanitizeOptions(options); - this._options = options; - this._ended = false; - this._ending = false; - this._redirectCount = 0; - this._redirects = []; - this._requestBodyLength = 0; - this._requestBodyBuffers = []; - if (responseCallback) { - this.on("response", responseCallback); - } - var self2 = this; - this._onNativeResponse = function(response) { - try { - self2._processResponse(response); - } catch (cause) { - self2.emit("error", cause instanceof RedirectionError ? cause : new RedirectionError({ cause })); - } - }; - this._performRequest(); - } - RedirectableRequest.prototype = Object.create(Writable.prototype); - RedirectableRequest.prototype.abort = function() { - destroyRequest(this._currentRequest); - this._currentRequest.abort(); - this.emit("abort"); - }; - RedirectableRequest.prototype.destroy = function(error) { - destroyRequest(this._currentRequest, error); - destroy.call(this, error); - return this; - }; - RedirectableRequest.prototype.write = function(data, encoding, callback) { - if (this._ending) { - throw new WriteAfterEndError(); - } - if (!isString2(data) && !isBuffer2(data)) { - throw new TypeError("data should be a string, Buffer or Uint8Array"); - } - if (isFunction2(encoding)) { - callback = encoding; - encoding = null; - } - if (data.length === 0) { - if (callback) { - callback(); - } - return; - } - if (this._requestBodyLength + data.length <= this._options.maxBodyLength) { - this._requestBodyLength += data.length; - this._requestBodyBuffers.push({ data, encoding }); - this._currentRequest.write(data, encoding, callback); - } else { - this.emit("error", new MaxBodyLengthExceededError()); - this.abort(); - } - }; - RedirectableRequest.prototype.end = function(data, encoding, callback) { - if (isFunction2(data)) { - callback = data; - data = encoding = null; - } else if (isFunction2(encoding)) { - callback = encoding; - encoding = null; - } - if (!data) { - this._ended = this._ending = true; - this._currentRequest.end(null, null, callback); - } else { - var self2 = this; - var currentRequest = this._currentRequest; - this.write(data, encoding, function() { - self2._ended = true; - currentRequest.end(null, null, callback); - }); - this._ending = true; - } - }; - RedirectableRequest.prototype.setHeader = function(name, value) { - this._options.headers[name] = value; - this._currentRequest.setHeader(name, value); - }; - RedirectableRequest.prototype.removeHeader = function(name) { - delete this._options.headers[name]; - this._currentRequest.removeHeader(name); - }; - RedirectableRequest.prototype.setTimeout = function(msecs, callback) { - var self2 = this; - function destroyOnTimeout(socket) { - socket.setTimeout(msecs); - socket.removeListener("timeout", socket.destroy); - socket.addListener("timeout", socket.destroy); - } - function startTimer(socket) { - if (self2._timeout) { - clearTimeout(self2._timeout); - } - self2._timeout = setTimeout(function() { - self2.emit("timeout"); - clearTimer(); - }, msecs); - destroyOnTimeout(socket); - } - function clearTimer() { - if (self2._timeout) { - clearTimeout(self2._timeout); - self2._timeout = null; - } - self2.removeListener("abort", clearTimer); - self2.removeListener("error", clearTimer); - self2.removeListener("response", clearTimer); - self2.removeListener("close", clearTimer); - if (callback) { - self2.removeListener("timeout", callback); - } - if (!self2.socket) { - self2._currentRequest.removeListener("socket", startTimer); - } - } - if (callback) { - this.on("timeout", callback); - } - if (this.socket) { - startTimer(this.socket); - } else { - this._currentRequest.once("socket", startTimer); - } - this.on("socket", destroyOnTimeout); - this.on("abort", clearTimer); - this.on("error", clearTimer); - this.on("response", clearTimer); - this.on("close", clearTimer); - return this; - }; - [ - "flushHeaders", - "getHeader", - "setNoDelay", - "setSocketKeepAlive" - ].forEach(function(method) { - RedirectableRequest.prototype[method] = function(a, b) { - return this._currentRequest[method](a, b); - }; - }); - ["aborted", "connection", "socket"].forEach(function(property) { - Object.defineProperty(RedirectableRequest.prototype, property, { - get: function() { - return this._currentRequest[property]; - } - }); - }); - RedirectableRequest.prototype._sanitizeOptions = function(options) { - if (!options.headers) { - options.headers = {}; - } - if (options.host) { - if (!options.hostname) { - options.hostname = options.host; - } - delete options.host; - } - if (!options.pathname && options.path) { - var searchPos = options.path.indexOf("?"); - if (searchPos < 0) { - options.pathname = options.path; - } else { - options.pathname = options.path.substring(0, searchPos); - options.search = options.path.substring(searchPos); - } - } - }; - RedirectableRequest.prototype._performRequest = function() { - var protocol = this._options.protocol; - var nativeProtocol = this._options.nativeProtocols[protocol]; - if (!nativeProtocol) { - throw new TypeError("Unsupported protocol " + protocol); - } - if (this._options.agents) { - var scheme = protocol.slice(0, -1); - this._options.agent = this._options.agents[scheme]; - } - var request = this._currentRequest = nativeProtocol.request(this._options, this._onNativeResponse); - request._redirectable = this; - for (var event of events) { - request.on(event, eventHandlers[event]); - } - this._currentUrl = /^\//.test(this._options.path) ? url2.format(this._options) : ( - // When making a request to a proxy, […] - // a client MUST send the target URI in absolute-form […]. - this._options.path - ); - if (this._isRedirect) { - var i = 0; - var self2 = this; - var buffers = this._requestBodyBuffers; - (function writeNext(error) { - if (request === self2._currentRequest) { - if (error) { - self2.emit("error", error); - } else if (i < buffers.length) { - var buffer = buffers[i++]; - if (!request.finished) { - request.write(buffer.data, buffer.encoding, writeNext); - } - } else if (self2._ended) { - request.end(); - } - } - })(); - } - }; - RedirectableRequest.prototype._processResponse = function(response) { - var statusCode = response.statusCode; - if (this._options.trackRedirects) { - this._redirects.push({ - url: this._currentUrl, - headers: response.headers, - statusCode - }); - } - var location = response.headers.location; - if (!location || this._options.followRedirects === false || statusCode < 300 || statusCode >= 400) { - response.responseUrl = this._currentUrl; - response.redirects = this._redirects; - this.emit("response", response); - this._requestBodyBuffers = []; - return; - } - destroyRequest(this._currentRequest); - response.destroy(); - if (++this._redirectCount > this._options.maxRedirects) { - throw new TooManyRedirectsError(); - } - var requestHeaders; - var beforeRedirect = this._options.beforeRedirect; - if (beforeRedirect) { - requestHeaders = Object.assign({ - // The Host header was set by nativeProtocol.request - Host: response.req.getHeader("host") - }, this._options.headers); - } - var method = this._options.method; - if ((statusCode === 301 || statusCode === 302) && this._options.method === "POST" || // RFC7231§6.4.4: The 303 (See Other) status code indicates that - // the server is redirecting the user agent to a different resource […] - // A user agent can perform a retrieval request targeting that URI - // (a GET or HEAD request if using HTTP) […] - statusCode === 303 && !/^(?:GET|HEAD)$/.test(this._options.method)) { - this._options.method = "GET"; - this._requestBodyBuffers = []; - removeMatchingHeaders(/^content-/i, this._options.headers); - } - var currentHostHeader = removeMatchingHeaders(/^host$/i, this._options.headers); - var currentUrlParts = parseUrl(this._currentUrl); - var currentHost = currentHostHeader || currentUrlParts.host; - var currentUrl = /^\w+:/.test(location) ? this._currentUrl : url2.format(Object.assign(currentUrlParts, { host: currentHost })); - var redirectUrl = resolveUrl(location, currentUrl); - debug("redirecting to", redirectUrl.href); - this._isRedirect = true; - spreadUrlObject(redirectUrl, this._options); - if (redirectUrl.protocol !== currentUrlParts.protocol && redirectUrl.protocol !== "https:" || redirectUrl.host !== currentHost && !isSubdomain(redirectUrl.host, currentHost)) { - removeMatchingHeaders(/^(?:(?:proxy-)?authorization|cookie)$/i, this._options.headers); - } - if (isFunction2(beforeRedirect)) { - var responseDetails = { - headers: response.headers, - statusCode - }; - var requestDetails = { - url: currentUrl, - method, - headers: requestHeaders - }; - beforeRedirect(this._options, responseDetails, requestDetails); - this._sanitizeOptions(this._options); - } - this._performRequest(); - }; - function wrap(protocols) { - var exports3 = { - maxRedirects: 21, - maxBodyLength: 10 * 1024 * 1024 - }; - var nativeProtocols = {}; - Object.keys(protocols).forEach(function(scheme) { - var protocol = scheme + ":"; - var nativeProtocol = nativeProtocols[protocol] = protocols[scheme]; - var wrappedProtocol = exports3[scheme] = Object.create(nativeProtocol); - function request(input, options, callback) { - if (isURL(input)) { - input = spreadUrlObject(input); - } else if (isString2(input)) { - input = spreadUrlObject(parseUrl(input)); - } else { - callback = options; - options = validateUrl(input); - input = { protocol }; - } - if (isFunction2(options)) { - callback = options; - options = null; - } - options = Object.assign({ - maxRedirects: exports3.maxRedirects, - maxBodyLength: exports3.maxBodyLength - }, input, options); - options.nativeProtocols = nativeProtocols; - if (!isString2(options.host) && !isString2(options.hostname)) { - options.hostname = "::1"; - } - assert.equal(options.protocol, protocol, "protocol mismatch"); - debug("options", options); - return new RedirectableRequest(options, callback); - } - function get(input, options, callback) { - var wrappedRequest = wrappedProtocol.request(input, options, callback); - wrappedRequest.end(); - return wrappedRequest; - } - Object.defineProperties(wrappedProtocol, { - request: { value: request, configurable: true, enumerable: true, writable: true }, - get: { value: get, configurable: true, enumerable: true, writable: true } - }); - }); - return exports3; - } - function noop2() { - } - function parseUrl(input) { - var parsed; - if (useNativeURL) { - parsed = new URL2(input); - } else { - parsed = validateUrl(url2.parse(input)); - if (!isString2(parsed.protocol)) { - throw new InvalidUrlError({ input }); - } - } - return parsed; - } - function resolveUrl(relative, base) { - return useNativeURL ? new URL2(relative, base) : parseUrl(url2.resolve(base, relative)); - } - function validateUrl(input) { - if (/^\[/.test(input.hostname) && !/^\[[:0-9a-f]+\]$/i.test(input.hostname)) { - throw new InvalidUrlError({ input: input.href || input }); - } - if (/^\[/.test(input.host) && !/^\[[:0-9a-f]+\](:\d+)?$/i.test(input.host)) { - throw new InvalidUrlError({ input: input.href || input }); - } - return input; - } - function spreadUrlObject(urlObject, target) { - var spread3 = target || {}; - for (var key of preservedUrlFields) { - spread3[key] = urlObject[key]; - } - if (spread3.hostname.startsWith("[")) { - spread3.hostname = spread3.hostname.slice(1, -1); - } - if (spread3.port !== "") { - spread3.port = Number(spread3.port); - } - spread3.path = spread3.search ? spread3.pathname + spread3.search : spread3.pathname; - return spread3; - } - function removeMatchingHeaders(regex, headers) { - var lastValue; - for (var header in headers) { - if (regex.test(header)) { - lastValue = headers[header]; - delete headers[header]; - } - } - return lastValue === null || typeof lastValue === "undefined" ? void 0 : String(lastValue).trim(); - } - function createErrorType(code, message, baseClass) { - function CustomError(properties) { - Error.captureStackTrace(this, this.constructor); - Object.assign(this, properties || {}); - this.code = code; - this.message = this.cause ? message + ": " + this.cause.message : message; - } - CustomError.prototype = new (baseClass || Error)(); - Object.defineProperties(CustomError.prototype, { - constructor: { - value: CustomError, - enumerable: false - }, - name: { - value: "Error [" + code + "]", - enumerable: false - } - }); - return CustomError; - } - function destroyRequest(request, error) { - for (var event of events) { - request.removeListener(event, eventHandlers[event]); - } - request.on("error", noop2); - request.destroy(error); - } - function isSubdomain(subdomain, domain) { - assert(isString2(subdomain) && isString2(domain)); - var dot = subdomain.length - domain.length - 1; - return dot > 0 && subdomain[dot] === "." && subdomain.endsWith(domain); - } - function isString2(value) { - return typeof value === "string" || value instanceof String; - } - function isFunction2(value) { - return typeof value === "function"; - } - function isBuffer2(value) { - return typeof value === "object" && "length" in value; - } - function isURL(value) { - return URL2 && value instanceof URL2; - } - module2.exports = wrap({ http: http2, https: https2 }); - module2.exports.wrap = wrap; - } -}); - -// index.ts -var rpc_handler_exports = {}; -__export(rpc_handler_exports, { - LOCAL_HOST: () => LOCAL_HOST, - PrettyLogs: () => PrettyLogs, - RPCHandler: () => RPCHandler, - RPCService: () => RPCService, - StorageService: () => StorageService, - getNetworkCurrency: () => getNetworkCurrency, - getNetworkData: () => getNetworkData, - getNetworkExplorer: () => getNetworkExplorer, - getNetworkFaucets: () => getNetworkFaucets, - getNetworkId: () => getNetworkId, - getNetworkName: () => getNetworkName, - getNetworkRpcs: () => getNetworkRpcs, - networkCurrencies: () => networkCurrencies, - networkExplorers: () => networkExplorers, - networkIds: () => networkIds, - networkNames: () => networkNames, - networkRpcs: () => networkRpcs, - nftAddress: () => nftAddress, - permit2Address: () => permit2Address -}); -module.exports = __toCommonJS(rpc_handler_exports); - -// dynamic.ts -var CHAINS_IDS = { - "1": "ethereum-mainnet", - "2": "expanse-network", - "3": "ropsten", - "4": "rinkeby", - "5": "goerli", - "7": "thaichain", - "8": "ubiq", - "9": "ubiq-network-testnet", - "10": "op-mainnet", - "11": "metadium-mainnet", - "12": "metadium-testnet", - "13": "diode-testnet-staging", - "14": "flare-mainnet", - "15": "diode-prenet", - "16": "songbird-testnet-coston", - "17": "thaichain-2.0-thaifi", - "18": "thundercore-testnet", - "19": "songbird-canary-network", - "20": "elastos-smart-chain", - "21": "elastos-smart-chain-testnet", - "22": "ela-did-sidechain-mainnet", - "23": "ela-did-sidechain-testnet", - "24": "kardiachain-mainnet", - "25": "cronos-mainnet", - "26": "genesis-l1-testnet", - "27": "shibachain", - "29": "genesis-l1", - "30": "rootstock-mainnet", - "31": "rootstock-testnet", - "32": "gooddata-testnet", - "33": "gooddata-mainnet", - "34": "securechain-mainnet", - "35": "tbwg-chain", - "36": "dxchain-mainnet", - "37": "xpla-mainnet", - "38": "valorbit", - "39": "u2u-solaris-mainnet", - "40": "telos-evm-mainnet", - "41": "telos-evm-testnet", - "42": "lukso-mainnet", - "43": "darwinia-pangolin-testnet", - "44": "crab-network", - "45": "darwinia-pangoro-testnet", - "46": "darwinia-network", - "47": "acria-intellichain", - "48": "ennothem-mainnet-proterozoic", - "49": "ennothem-testnet-pioneer", - "50": "xdc-network", - "51": "xdc-apothem-network", - "52": "coinex-smart-chain-mainnet", - "53": "coinex-smart-chain-testnet", - "54": "openpiece-mainnet", - "55": "zyx-mainnet", - "56": "bnb-smart-chain-mainnet", - "57": "syscoin-mainnet", - "58": "ontology-mainnet", - "60": "gochain", - "61": "ethereum-classic", - "63": "mordor-testnet", - "64": "ellaism", - "65": "okexchain-testnet", - "66": "okxchain-mainnet", - "67": "dbchain-testnet", - "68": "soterone-mainnet", - "69": "optimism-kovan", - "70": "hoo-smart-chain", - "71": "conflux-espace-(testnet)", - "72": "dxchain-testnet", - "73": "fncy", - "74": "idchain-mainnet", - "75": "decimal-smart-chain-mainnet", - "76": "mix", - "77": "poa-network-sokol", - "78": "primuschain-mainnet", - "79": "zenith-mainnet", - "80": "genechain", - "81": "japan-open-chain-mainnet", - "82": "meter-mainnet", - "83": "meter-testnet", - "84": "linqto-devnet", - "85": "gatechain-testnet", - "86": "gatechain-mainnet", - "87": "nova-network", - "88": "viction", - "89": "viction-testnet", - "90": "garizon-stage0", - "91": "garizon-stage1", - "92": "garizon-stage2", - "93": "garizon-stage3", - "94": "swissdlt", - "95": "camdl-mainnet", - "96": "bitkub-chain", - "97": "bnb-smart-chain-testnet", - "98": "six-protocol", - "99": "poa-network-core", - "100": "gnosis", - "101": "etherinc", - "102": "web3games-testnet", - "103": "worldland-mainnet", - "104": "kaiba-lightning-chain-testnet", - "105": "web3games-devnet", - "106": "velas-evm-mainnet", - "107": "nebula-testnet", - "108": "thundercore-mainnet", - "109": "shibarium", - "110": "proton-testnet", - "111": "etherlite-chain", - "112": "coinbit-mainnet", - "113": "dehvo", - "114": "flare-testnet-coston2", - "117": "uptick-mainnet", - "118": "arcology-testnet", - "119": "enuls-mainnet", - "120": "enuls-testnet", - "121": "realchain-mainnet", - "122": "fuse-mainnet", - "123": "fuse-sparknet", - "124": "decentralized-web-mainnet", - "125": "oychain-testnet", - "126": "oychain-mainnet", - "127": "factory-127-mainnet", - "128": "huobi-eco-chain-mainnet", - "129": "innovator-chain", - "131": "engram-testnet", - "132": "namefi-chain-mainnet", - "133": "hashkey-chain-testnet", - "134": "iexec-sidechain", - "135": "alyx-chain-testnet", - "136": "deamchain-mainnet", - "137": "polygon-mainnet", - "138": "defi-oracle-meta-mainnet", - "139": "woopchain-mainnet", - "140": "eternal-mainnet", - "141": "openpiece-testnet", - "142": "dax-chain", - "144": "phi-network-v2", - "145": "soraai-testnet", - "147": "flag-mainnet", - "148": "shimmerevm", - "150": "six-protocol-testnet", - "151": "redbelly-network-mainnet", - "152": "redbelly-network-devnet", - "153": "redbelly-network-testnet", - "154": "redbelly-network-tge", - "155": "tenet-testnet", - "156": "oeblock-testnet", - "157": "puppynet-shibarium", - "158": "roburna-mainnet", - "159": "roburna-testnet", - "160": "armonia-eva-chain-mainnet", - "161": "armonia-eva-chain-testnet", - "162": "lightstreams-testnet", - "163": "lightstreams-mainnet", - "164": "omni-omega", - "166": "omni", - "167": "atoshi-testnet", - "168": "aioz-network", - "169": "manta-pacific-mainnet", - "170": "hoo-smart-chain-testnet", - "172": "latam-blockchain-resil-testnet", - "176": "dc-mainnet", - "178": "abey-testnet", - "179": "abey-mainnet", - "180": "ame-chain-mainnet", - "181": "waterfall-network", - "184": "dojima-testnet", - "185": "mint-mainnet", - "186": "seele-mainnet", - "187": "dojima", - "188": "bmc-mainnet", - "189": "bmc-testnet", - "190": "cmdao-bbq-chain", - "191": "filefilego", - "193": "crypto-emergency", - "195": "x-layer-testnet", - "196": "x-layer-mainnet", - "197": "neutrinos-testnet", - "198": "bitchain-mainnet", - "199": "bittorrent-chain-mainnet", - "200": "arbitrum-on-xdai", - "201": "moac-testnet", - "202": "edgeless-testnet", - "204": "opbnb-mainnet", - "205": "ekaash", - "206": "vinuchain-testnet", - "207": "vinuchain-network", - "208": "structx-mainnet", - "210": "bitnet", - "211": "freight-trust-network", - "212": "mapo-makalu", - "213": "b2-hub-mainnet", - "214": "shinarium-mainnet", - "217": "siriusnet-v2", - "220": "scalind-testnet", - "221": "blockex-mainnet", - "223": "b2-mainnet", - "224": "viridis-testnet", - "225": "lachain-mainnet", - "226": "lachain-testnet", - "228": "mind-network-mainnet", - "230": "swapdex", - "233": "ethernity-testnet", - "234": "protojumbo-testnet", - "236": "deamchain-testnet", - "242": "plinga-mainnet", - "246": "energy-web-chain", - "248": "oasys-mainnet", - "250": "fantom-opera", - "252": "fraxtal", - "254": "swan-chain-mainnet", - "255": "kroma", - "256": "huobi-eco-chain-testnet", - "258": "setheum", - "259": "neonlink-mainnet", - "261": "guru-network-testnet", - "262": "sur-blockchain-network", - "266": "neura", - "267": "neura-testnet", - "268": "neura-devnet", - "269": "high-performance-blockchain", - "271": "egoncoin-mainnet", - "274": "lachain", - "278": "xfair.ai-mainnet", - "279": "bpx-blockchain", - "282": "cronos-zkevm-testnet", - "288": "boba-network", - "291": "orderly-mainnet", - "295": "hedera-mainnet", - "296": "hedera-testnet", - "297": "hedera-previewnet", - "298": "hedera-localnet", - "300": "zksync-sepolia-testnet", - "302": "zkcandy-sepolia-testnet", - "303": "neurochain-testnet", - "305": "zksats-mainnet", - "307": "lovely-network-testnet", - "308": "furtheon", - "309": "wyzth-testnet", - "311": "omax-mainnet", - "313": "neurochain-mainnet", - "314": "filecoin---mainnet", - "321": "kcc-mainnet", - "322": "kcc-testnet", - "323": "cosvm-mainnet", - "324": "zksync-mainnet", - "325": "grvt-mainnet", - "326": "grvt-sepolia-testnet", - "333": "web3q-mainnet", - "335": "dfk-chain-test", - "336": "shiden", - "338": "cronos-testnet", - "345": "tsc-mainnet", - "360": "shape", - "361": "theta-mainnet", - "363": "theta-sapphire-testnet", - "364": "theta-amber-testnet", - "365": "theta-testnet", - "369": "pulsechain", - "371": "consta-testnet", - "380": "zkamoeba-testnet", - "381": "zkamoeba-mainnet", - "385": "lisinski", - "388": "cronos-zkevm-mainnet", - "395": "camdl-testnet", - "397": "near-mainnet", - "398": "near-testnet", - "399": "nativ3-mainnet", - "400": "hyperonchain-testnet", - "401": "ozone-chain-testnet", - "404": "syndr-l3", - "411": "pepe-chain-mainnet", - "416": "sx-network-mainnet", - "418": "latestnet", - "420": "optimism-goerli-testnet", - "422": "viridis-mainnet", - "424": "pgn-(public-goods-network)", - "427": "zeeth-chain", - "428": "geso-verse", - "434": "boyaa-mainnet", - "443": "ten-testnet", - "444": "synapse-chain-testnet", - "456": "arzio-chain", - "462": "areon-network-testnet", - "463": "areon-network-mainnet", - "480": "world-chain", - "499": "rupaya", - "500": "camino-c-chain", - "501": "columbus-test-network", - "510": "syndicate-chain", - "512": "double-a-chain-mainnet", - "513": "double-a-chain-testnet", - "516": "gear-zero-network-mainnet", - "520": "xt-smart-chain-mainnet", - "529": "firechain-mainnet", - "530": "f(x)core-mainnet-network", - "534": "candle", - "537": "optrust-mainnet", - "542": "pawchain-testnet", - "545": "testnet", - "555": "vela1-chain-mainnet", - "558": "tao-network", - "568": "dogechain-testnet", - "570": "rollux-mainnet", - "571": "metachain-mainnet", - "579": "filenova-mainnet", - "592": "astar", - "595": "acala-mandala-testnet-tc9", - "596": "karura-network-testnet", - "597": "acala-network-testnet", - "600": "meshnyan-testnet", - "601": "vine-testnet", - "610": "darwin-devnet", - "612": "eiob-mainnet", - "614": "graphlinq-blockchain-mainnet", - "624": "binary-mainnet", - "625": "binary-sepolia", - "634": "avocado", - "646": "previewnet", - "647": "sx-network-testnet", - "648": "endurance-smart-chain-mainnet", - "653": "kalichain-testnet", - "654": "kalichain", - "662": "ultronsmartchain", - "666": "pixie-chain-testnet", - "667": "laos-arrakis", - "668": "juncachain", - "669": "juncachain-testnet", - "686": "karura-network", - "690": "redstone", - "700": "star-social-testnet", - "701": "darwinia-koi-testnet", - "707": "blockchain-station-mainnet", - "708": "blockchain-station-testnet", - "710": "highbury", - "713": "vrcscan-mainnet", - "719": "shibarium-beta", - "721": "lycan-chain", - "727": "blucrates", - "730": "lovely-network-mainnet", - "741": "vention-smart-chain-testnet", - "742": "script-testnet", - "747": "mainnet", - "766": "ql1", - "776": "openchain-testnet", - "777": "cheapeth", - "786": "maal-chain", - "787": "acala-network", - "788": "aerochain-testnet", - "789": "patex", - "799": "rupaya-testnet", - "800": "lucid-blockchain", - "803": "haic", - "808": "portal-fantasy-chain-test", - "810": "haven1-testnet", - "813": "qitmeer-network-mainnet", - "814": "firechain-zkevm", - "818": "beone-chain-mainnet", - "820": "callisto-mainnet", - "822": "runic-chain-testnet", - "831": "checkdot-blockchain-devnet", - "841": "taraxa-mainnet", - "842": "taraxa-testnet", - "852": "hongkong-mainnet", - "859": "zeeth-chain-dev", - "868": "fantasia-chain-mainnet", - "876": "bandai-namco-research-verse-mainnet", - "877": "dexit-network", - "880": "ambros-chain-mainnet", - "888": "wanchain", - "898": "maxi-chain-testnet", - "899": "maxi-chain-mainnet", - "900": "garizon-testnet-stage0", - "901": "garizon-testnet-stage1", - "902": "garizon-testnet-stage2", - "903": "garizon-testnet-stage3", - "909": "portal-fantasy-chain", - "910": "decentrabone-layer1-testnet", - "911": "taproot-mainnet", - "917": "rinia-testnet", - "919": "mode-testnet", - "927": "yidark-chain-mainnet", - "943": "pulsechain-testnet-v4", - "956": "munode-testnet", - "957": "lyra-chain", - "963": "btc20-smart-chain", - "969": "ethxy", - "970": "oort-mainnet", - "971": "oort-huygens", - "972": "oort-ascraeus", - "977": "nepal-blockchain-network", - "979": "ethxy-testnet", - "980": "top-mainnet-evm", - "985": "memo-smart-chain-mainnet", - "987": "binarychain-mainnet", - "989": "top-mainnet", - "990": "eliberty-mainnet", - "995": "5irechain-mainnet", - "996": "bifrost-polkadot-mainnet", - "997": "5irechain-thunder", - "998": "lucky-network", - "999": "wanchain-testnet", - "1000": "gton-mainnet", - "1001": "kaia-testnet-kairos", - "1003": "tectum-emission-token", - "1004": "t-ekta", - "1007": "newton-testnet", - "1008": "eurus-mainnet", - "1009": "jumbochain-mainnet", - "1010": "evrice-network", - "1011": "rebus-mainnet", - "1012": "newton", - "1022": "sakura", - "1023": "clover-testnet", - "1024": "clv-parachain", - "1028": "bittorrent-chain-testnet", - "1030": "conflux-espace", - "1031": "proxy-network-testnet", - "1038": "bronos-testnet", - "1039": "bronos-mainnet", - "1073": "shimmerevm-testnet", - "1075": "iota-evm-testnet", - "1079": "mintara-testnet", - "1080": "mintara-mainnet", - "1088": "metis-andromeda-mainnet", - "1089": "humans.ai-mainnet", - "1099": "moac-mainnet", - "1100": "dymension", - "1101": "polygon-zkevm", - "1107": "blxq-testnet", - "1108": "blxq-mainnet", - "1111": "wemix3.0-mainnet", - "1112": "wemix3.0-testnet", - "1113": "b2-hub-testnet", - "1115": "core-blockchain-testnet", - "1116": "core-blockchain-mainnet", - "1117": "dogcoin-mainnet", - "1123": "b2-testnet", - "1130": "defichain-evm-network-mainnet", - "1131": "defichain-evm-network-testnet", - "1133": "defimetachain-changi-testnet", - "1135": "lisk", - "1138": "amstar-testnet", - "1139": "mathchain", - "1140": "mathchain-testnet", - "1147": "flag-testnet", - "1149": "symplexia-smart-chain", - "1170": "origin-testnet", - "1177": "smart-host-teknoloji-testnet", - "1188": "clubmos-mainnet", - "1197": "iora-chain", - "1200": "cuckoo-chain", - "1201": "evanesco-testnet", - "1202": "world-trade-technical-chain-mainnet", - "1209": "saitablockchain(sbc)", - "1210": "cuckoo-sepolia", - "1213": "popcateum-mainnet", - "1214": "enterchain-mainnet", - "1221": "cycle-network-testnet", - "1223": "cycle-network-testnet-jellyfish", - "1225": "hybrid-testnet", - "1227": "bitcoin-protocol-testnet", - "1229": "exzo-network-mainnet", - "1230": "ultron-testnet", - "1231": "ultron-mainnet", - "1234": "step-network", - "1235": "itx-mainnet", - "1243": "arc-mainnet", - "1244": "arc-testnet", - "1246": "om-platform-mainnet", - "1248": "dogether-mainnet", - "1252": "cic-chain-testnet", - "1280": "halo-mainnet", - "1284": "moonbeam", - "1285": "moonriver", - "1287": "moonbase-alpha", - "1288": "moonrock", - "1291": "swisstronik-testnet", - "1311": "dos-fuji-subnet", - "1313": "jaiho-chain", - "1314": "alyx-mainnet", - "1319": "aia-mainnet", - "1320": "aia-testnet", - "1328": "sei-testnet", - "1329": "sei-network", - "1337": "geth-testnet", - "1338": "elysium-testnet", - "1339": "elysium-mainnet", - "1343": "blitz-subnet", - "1353": "cic-chain-mainnet", - "1369": "zafirium-mainnet", - "1370": "ramestta-mainnet", - "1377": "pingaksha-testnet", - "1379": "kalar-chain", - "1388": "amstar-mainnet", - "1392": "joseon-mainnet", - "1414": "silicon-zkevm-sepolia-testnet", - "1433": "rikeza-network-mainnet", - "1440": "living-assets-mainnet", - "1442": "polygon-zkevm-testnet", - "1452": "gil-testnet", - "1453": "metachain-istanbul", - "1455": "ctex-scan-blockchain", - "1456": "zkbase-mainnet", - "1490": "vitruveo-mainnet", - "1499": "idos-games-chain-testnet", - "1501": "bevm-canary", - "1506": "sherpax-mainnet", - "1507": "sherpax-testnet", - "1515": "beagle-messaging-chain", - "1559": "tenet", - "1570": "starchain-testnet", - "1578": "starchain", - "1617": "ethereum-inscription-mainnet", - "1618": "catecoin-chain-mainnet", - "1620": "atheios", - "1625": "gravity-alpha-mainnet", - "1648": "pivotal-mainnet", - "1657": "btachain", - "1662": "liquichain", - "1663": "horizen-gobi-testnet", - "1686": "mint-testnet", - "1687": "mint-sepolia-testnet", - "1688": "ludan-mainnet", - "1701": "anytype-evm-chain", - "1707": "tbsi-mainnet", - "1708": "tbsi-testnet", - "1717": "doric-network", - "1718": "palette-chain-mainnet", - "1729": "reya-network", - "1740": "metal-l2-testnet", - "1750": "metal-l2", - "1773": "partychain", - "1777": "gauss-mainnet", - "1789": "zkbase-sepolia-testnet", - "1804": "kerleano", - "1807": "rabbit-analog-testnet-chain", - "1811": "lif3-chain-testnet", - "1818": "cube-chain-mainnet", - "1819": "cube-chain-testnet", - "1821": "ruby-smart-chain-mainnet", - "1856": "teslafunds", - "1875": "whitechain", - "1881": "gitshock-cartenz-testnet", - "1890": "lightlink-phoenix-mainnet", - "1891": "lightlink-pegasus-testnet", - "1898": "bon-network", - "1899": "redefi-layer-2", - "1904": "sports-chain-network", - "1907": "bitcichain-mainnet", - "1908": "bitcichain-testnet", - "1909": "merkle-scan", - "1911": "scalind", - "1912": "ruby-smart-chain-testnet", - "1918": "upb-crescdi-testnet", - "1945": "onus-chain-testnet", - "1951": "d-chain-mainnet", - "1953": "selendra-network-testnet", - "1954": "dexilla-testnet", - "1956": "aiw3-testnet", - "1961": "selendra-network-mainnet", - "1967": "eleanor", - "1969": "super-smart-chain-testnet", - "1970": "super-smart-chain-mainnet", - "1971": "atelier", - "1972": "redecoin", - "1975": "onus-chain-mainnet", - "1984": "eurus-testnet", - "1985": "satoshie", - "1986": "satoshie-testnet", - "1987": "ethergem", - "1992": "hubble-exchange", - "1993": "b3-sepolia-testnet", - "1994": "ekta", - "1995": "edexa-testnet", - "1996": "sanko", - "1997": "kyoto", - "1998": "kyoto-testnet", - "2000": "dogechain-mainnet", - "2001": "milkomeda-c1-mainnet", - "2002": "milkomeda-a1-mainnet", - "2004": "metalink-network", - "2008": "cloudwalk-testnet", - "2009": "cloudwalk-mainnet", - "2013": "panarchy", - "2014": "now-chain-testnet", - "2016": "mainnetz-mainnet", - "2017": "adiri", - "2018": "publicmint-devnet", - "2019": "publicmint-testnet", - "2020": "publicmint-mainnet", - "2021": "edgeware-edgeevm-mainnet", - "2022": "beresheet-bereevm-testnet", - "2023": "taycan-testnet", - "2024": "swan-saturn-testnet", - "2025": "rangers-protocol-mainnet", - "2026": "edgeless-network", - "2031": "centrifuge", - "2032": "catalyst", - "2035": "phala-network", - "2037": "kiwi-subnet", - "2038": "shrapnel-testnet", - "2039": "aleph-zero-testnet", - "2040": "vanar-mainnet", - "2043": "neuroweb", - "2044": "shrapnel-subnet", - "2045": "aiw3-mainnet", - "2047": "stratos-testnet", - "2048": "stratos", - "2049": "movo-smart-chain-mainnet", - "2077": "quokkacoin-mainnet", - "2088": "altair", - "2100": "ecoball-mainnet", - "2101": "ecoball-testnet-espuma", - "2109": "exosama-network", - "2112": "uchain-mainnet", - "2121": "catena-mainnet", - "2122": "metaplayerone-mainnet", - "2124": "metaplayerone-dubai-testnet", - "2136": "bigshortbets-testnet", - "2137": "bigshortbets", - "2138": "defi-oracle-meta-testnet", - "2140": "oneness-network", - "2141": "oneness-testnet", - "2151": "bosagora-mainnet", - "2152": "findora-mainnet", - "2153": "findora-testnet", - "2154": "findora-forge", - "2162": "animechain-testnet", - "2199": "moonsama-network", - "2202": "antofy-mainnet", - "2203": "bitcoin-evm", - "2213": "evanesco-mainnet", - "2221": "kava-testnet", - "2222": "kava", - "2223": "vchain-mainnet", - "2241": "krest-network", - "2300": "bomb-chain", - "2306": "ebro-network", - "2309": "arevia", - "2311": "chronicle-vesuvius---lit-protocol-testnet", - "2323": "soma-network-testnet", - "2330": "altcoinchain", - "2331": "rss3-vsl-sepolia-testnet", - "2332": "soma-network-mainnet", - "2340": "atleta-olympia", - "2342": "omnia-chain", - "2355": "silicon-zkevm", - "2358": "kroma-sepolia", - "2370": "nexis-network-testnet", - "2399": "bomb-chain-testnet", - "2400": "tcg-verse-mainnet", - "2410": "karak-mainnet", - "2415": "xodex", - "2425": "king-of-legends-mainnet", - "2442": "polygon-zkevm-cardona-testnet", - "2458": "hybrid-chain-network-testnet", - "2468": "hybrid-chain-network-mainnet", - "2484": "unicorn-ultra-nebulas-testnet", - "2522": "fraxtal-testnet", - "2525": "inevm-mainnet", - "2559": "kortho-mainnet", - "2569": "techpay-mainnet", - "2606": "pocrnet", - "2611": "redlight-chain-mainnet", - "2612": "ezchain-c-chain-mainnet", - "2613": "ezchain-c-chain-testnet", - "2625": "whitechain-testnet", - "2648": "ailayer-testnet", - "2649": "ailayer-mainnet", - "2662": "apex", - "2710": "morph-testnet", - "2718": "k-laos", - "2730": "xr-sepolia", - "2731": "elizabeth-testnet", - "2748": "nanon", - "2777": "gm-network-mainnet", - "2810": "morph-holesky", - "2882": "chips-network", - "2907": "elux-chain", - "2911": "hychain", - "2941": "xenon-chain-testnet", - "2999": "bityuan-mainnet", - "3000": "cennznet-rata", - "3001": "cennznet-nikau", - "3003": "canxium-mainnet", - "3011": "playa3ull-games", - "3031": "orlando-chain", - "3033": "rebus-testnet", - "3068": "bifrost-mainnet", - "3073": "movement-evm", - "3084": "xl-network-testnet", - "3100": "immu3-evm", - "3102": "vulture-evm-beta", - "3109": "satoshivm-alpha-mainnet", - "3110": "satoshivm-testnet", - "3269": "dubxcoin-network", - "3270": "dubxcoin-testnet", - "3306": "debounce-subnet-testnet", - "3331": "zcore-testnet", - "3333": "ethstorage-testnet", - "3334": "web3q-galileo", - "3335": "ethstorage-mainnet", - "3338": "peaq", - "3400": "paribu-net-mainnet", - "3424": "evolve-mainnet", - "3434": "securechain-testnet", - "3456": "layeredge-testnet", - "3490": "gtcscan", - "3500": "paribu-net-testnet", - "3501": "jfin-chain", - "3601": "pandoproject-mainnet", - "3602": "pandoproject-testnet", - "3630": "tycooncoin", - "3636": "botanix-testnet", - "3637": "botanix-mainnet", - "3639": "ichain-network", - "3645": "ichain-testnet", - "3666": "jouleverse-mainnet", - "3690": "bittex-mainnet", - "3693": "empire-network", - "3698": "senjepowers-testnet", - "3699": "senjepowers-mainnet", - "3737": "crossbell", - "3776": "astar-zkevm", - "3797": "alveychain-mainnet", - "3799": "tangle-testnet", - "3885": "firechain-zkevm-ghostrider", - "3888": "kalychain-mainnet", - "3889": "kalychain-testnet", - "3912": "drac-network", - "3939": "dos-tesnet", - "3966": "dyno-mainnet", - "3967": "dyno-testnet", - "3993": "apex-testnet", - "3999": "yuanchain-mainnet", - "4000": "ozone-chain-mainnet", - "4001": "peperium-chain-testnet", - "4002": "fantom-testnet", - "4003": "x1-fastnet", - "4040": "carbonium-testnet-network", - "4048": "gan-testnet", - "4058": "bahamut-ocean", - "4061": "nahmii-3-mainnet", - "4062": "nahmii-3-testnet", - "4078": "muster-mainnet", - "4080": "tobe-chain", - "4090": "fastex-chain-(bahamut)-oasis-testnet", - "4096": "bitindi-testnet", - "4099": "bitindi-mainnet", - "4102": "aioz-network-testnet", - "4139": "humans.ai-testnet", - "4141": "tipboxcoin-testnet", - "4157": "crossfi-testnet", - "4162": "sx-rollup", - "4181": "phi-network-v1", - "4200": "merlin-mainnet", - "4201": "lukso-testnet", - "4202": "lisk-sepolia-testnet", - "4242": "nexi-mainnet", - "4243": "nexi-v2-mainnet", - "4337": "beam", - "4400": "credit-smart-chain-mainnet", - "4444": "htmlcoin-mainnet", - "4460": "orderly-sepolia-testnet", - "4488": "hydra-chain", - "4544": "emoney-network-testnet", - "4613": "very-mainnet", - "4653": "gold-chain", - "4689": "iotex-network-mainnet", - "4690": "iotex-network-testnet", - "4759": "meverse-chain-testnet", - "4777": "blackfort-exchange-network-testnet", - "4801": "world-chain-sepolia-testnet", - "4893": "globel-chain", - "4918": "venidium-testnet", - "4919": "venidium-mainnet", - "4999": "blackfort-exchange-network", - "5000": "mantle", - "5001": "mantle-testnet", - "5002": "treasurenet-mainnet-alpha", - "5003": "mantle-sepolia-testnet", - "5005": "treasurenet-testnet", - "5039": "onigiri-test-subnet", - "5040": "onigiri-subnet", - "5051": "nollie-skatechain-testnet", - "5100": "syndicate-testnet", - "5101": "syndicate-frame-chain", - "5102": "sic-testnet", - "5103": "coordinape-testnet", - "5104": "charmverse-testnet", - "5105": "superloyalty-testnet", - "5106": "azra-testnet", - "5112": "ham", - "5151": "mechain-testnet", - "5165": "bahamut", - "5169": "smart-layer-network", - "5177": "tlchain-network-mainnet", - "5197": "eraswap-mainnet", - "5234": "humanode-mainnet", - "5315": "uzmi-network-mainnet", - "5317": "optrust-testnet", - "5321": "itx-testnet", - "5333": "netsbo", - "5353": "tritanium-testnet", - "5372": "settlus-testnet", - "5424": "edexa-mainnet", - "5439": "egochain", - "5522": "vex-evm-testnet", - "5551": "nahmii-2-mainnet", - "5555": "chain-verse-mainnet", - "5611": "opbnb-testnet", - "5615": "arcturus-testneet", - "5616": "arcturus-chain-testnet", - "5656": "qie-blockchain", - "5675": "filenova-testnet", - "5678": "tanssi-demo", - "5700": "syscoin-tanenbaum-testnet", - "5729": "hika-network-testnet", - "5758": "satoshichain-testnet", - "5777": "ganache", - "5845": "tangle", - "5851": "ontology-testnet", - "5858": "chang-chain-foundation-mainnet", - "5869": "wegochain-rubidium-mainnet", - "6000": "bouncebit-testnet", - "6001": "bouncebit-mainnet", - "6065": "tres-testnet", - "6066": "tres-mainnet", - "6102": "cascadia-testnet", - "6118": "uptn-testnet", - "6119": "uptn", - "6283": "laos", - "6321": "aura-euphoria-testnet", - "6322": "aura-mainnet", - "6363": "digit-soul-smart-chain", - "6398": "connext-sepolia", - "6502": "peerpay", - "6550": "flamma-testnet", - "6552": "scolcoin-weichain-testnet", - "6565": "fox-testnet-network", - "6626": "pixie-chain-mainnet", - "6660": "latest-chain-testnet", - "6661": "cybria-mainnet", - "6666": "cybria-testnet", - "6678": "edge-matrix-chain", - "6688": "irishub", - "6699": "ox-chain", - "6701": "paxb-mainnet", - "6779": "compverse-mainnet", - "6789": "gold-smart-chain-mainnet", - "6805": "race-mainnet", - "6806": "race-testnet", - "6868": "pools-mainnet", - "6969": "tomb-chain-mainnet", - "6999": "polysmartchain", - "7000": "zetachain-mainnet", - "7001": "zetachain-testnet", - "7007": "bst-chain", - "7027": "ella-the-heart", - "7070": "planq-mainnet", - "7077": "planq-atlas-testnet", - "7100": "nume", - "7118": "help-the-homeless", - "7171": "bitrock-mainnet", - "7222": "nibiru-devnet-3", - "7244": "zeus-testnet", - "7300": "xpla-verse", - "7331": "klyntar", - "7332": "horizen-eon-mainnet", - "7341": "shyft-mainnet", - "7484": "raba-network-mainnet", - "7518": "meverse-chain-mainnet", - "7560": "cyber-mainnet", - "7575": "adil-testnet", - "7576": "adil-chain-v2-mainnet", - "7668": "the-root-network---mainnet", - "7672": "the-root-network---porcini-testnet", - "7700": "canto", - "7701": "canto-tesnet", - "7771": "bitrock-testnet", - "7774": "gdcc-mainnet", - "7775": "gdcc-testnet", - "7776": "pandasea-mainnet", - "7777": "rise-of-the-warbots-testnet", - "7778": "orenium-mainnet-protocol", - "7798": "openex-long-testnet", - "7860": "maalchain-testnet", - "7862": "maalchain-v2", - "7863": "maalchain-testnet-v2", - "7878": "hazlor-testnet", - "7887": "kinto-mainnet", - "7895": "ardenium-athena", - "7923": "dot-blox", - "7924": "mo-mainnet", - "7979": "dos-chain", - "8000": "teleport", - "8001": "teleport-testnet", - "8008": "polynomial", - "8029": "mdgl-testnet", - "8047": "boat-mainnet", - "8054": "karak-sepolia", - "8080": "shardeum-liberty-1.x", - "8081": "shardeum-liberty-2.x", - "8082": "shardeum-sphinx-1.x", - "8086": "bitcoin-chain", - "8087": "e-dollar", - "8098": "streamux-blockchain", - "8131": "qitmeer-network-testnet", - "8132": "qitmeer-network-mixnet", - "8133": "qitmeer-network-privnet", - "8134": "amana", - "8135": "flana", - "8136": "mizana", - "8181": "testnet-beone-chain", - "8192": "torus-mainnet", - "8194": "torus-testnet", - "8217": "kaia-mainnet", - "8227": "space-subnet", - "8272": "blockton-blockchain", - "8285": "korthotest", - "8329": "lorenzo", - "8333": "b3", - "8387": "dracones-financial-services", - "8453": "base", - "8545": "chakra-testnet", - "8654": "toki-network", - "8655": "toki-testnet", - "8668": "hela-official-runtime-mainnet", - "8723": "tool-global-mainnet", - "8724": "tool-global-testnet", - "8726": "storagechain-mainnet", - "8727": "storagechain-testnet", - "8732": "bullions-smart-chain", - "8738": "alph-network", - "8768": "tmy-chain", - "8822": "iota-evm", - "8844": "hydra-chain-testnet", - "8848": "maro-blockchain-mainnet", - "8866": "superlumio", - "8869": "lif3-chain", - "8880": "unique", - "8881": "quartz-by-unique", - "8882": "opal-testnet-by-unique", - "8883": "sapphire-by-unique", - "8886": "avenium-testnet", - "8888": "xanachain", - "8889": "vyvo-smart-chain", - "8890": "orenium-testnet-protocol", - "8898": "mammoth-mainnet", - "8899": "jibchain-l1", - "8911": "algen", - "8912": "algen-testnet", - "8921": "algen-layer2", - "8922": "algen-layer2-testnet", - "8989": "giant-mammoth-mainnet", - "8995": "bloxberg", - "9000": "evmos-testnet", - "9001": "evmos", - "9007": "shido-testnet-block", - "9008": "shido-mainnet-block", - "9012": "berylbit-mainnet", - "9024": "nexa-testnet-block", - "9025": "nexa-mainnet-block", - "9069": "apex-fusion---nexus-mainnet", - "9070": "apex-fusion---nexus-testnet", - "9100": "genesis-coin", - "9223": "codefin-mainnet", - "9339": "dogcoin-testnet", - "9372": "oasys-testnet", - "9393": "dela-sepolia-testnet", - "9395": "evoke-mainnet", - "9496": "weavevm-testnet", - "9527": "rangers-protocol-testnet-robin", - "9528": "qeasyweb3-testnet", - "9559": "neonlink-testnet", - "9700": "oort-mainnetdev", - "9728": "boba-bnb-testnet", - "9768": "mainnetz-testnet", - "9779": "pepenetwork-mainnet", - "9789": "tabi-testnet", - "9790": "carbon-evm", - "9792": "carbon-evm-testnet", - "9797": "optimusz7-mainnet", - "9818": "imperium-testnet", - "9819": "imperium-mainnet", - "9876": "binarychain-testnet", - "9888": "dogelayer-mainnet", - "9898": "larissa-chain", - "9911": "espento-mainnet", - "9977": "mind-smart-chain-testnet", - "9980": "combo-mainnet", - "9981": "volley-mainnet", - "9990": "agung-network", - "9996": "mind-smart-chain-mainnet", - "9997": "altlayer-testnet", - "9998": "ztc-mainnet", - "9999": "myown-testnet", - "10000": "smart-bitcoin-cash", - "10001": "smart-bitcoin-cash-testnet", - "10024": "gon-chain", - "10081": "japan-open-chain-testnet", - "10086": "sjatsh", - "10096": "metanova-verse", - "10101": "blockchain-genesis-mainnet", - "10200": "gnosis-chiado-testnet", - "10201": "maxxchain-mainnet", - "10222": "glscan", - "10242": "arthera-mainnet", - "10243": "arthera-testnet", - "10248": "0xtade", - "10321": "tao-evm-mainnet", - "10324": "tao-evm-testnet", - "10395": "worldland-testnet", - "10507": "numbers-mainnet", - "10508": "numbers-testnet", - "10823": "cryptocoinpay", - "10849": "lamina1", - "10850": "lamina1-identity", - "10946": "quadrans-blockchain", - "10947": "quadrans-blockchain-testnet", - "11011": "shape-sepolia-testnet", - "11110": "astra", - "11111": "wagmi", - "11115": "astra-testnet", - "11119": "hashbit-mainnet", - "11124": "abstract-testnet", - "11221": "shine-chain", - "11227": "jiritsu-testnet-subnet", - "11235": "haqq-network", - "11437": "shyft-testnet", - "11501": "bevm-mainnet", - "11503": "bevm-testnet", - "11521": "satschain", - "11612": "sardis-testnet", - "11822": "artela-testnet", - "11891": "polygon-supernet-arianee", - "12001": "fuse-testnet", - "12009": "satoshichain-mainnet", - "12020": "aternos", - "12051": "singularity-zero-testnet", - "12052": "singularity-zero-mainnet", - "12123": "brc-chain-mainnet", - "12306": "fibonacci-mainnet", - "12321": "blg-testnet", - "12324": "l3x-protocol", - "12325": "l3x-protocol-testnet", - "12345": "step-testnet", - "12553": "rss3-vsl-mainnet", - "12715": "rikeza-network-testnet", - "12781": "playdapp-testnet", - "12890": "quantum-chain-testnet", - "12898": "playfair-testnet-subnet", - "13000": "sps", - "13308": "credit-smart-chain", - "13337": "beam-testnet", - "13371": "immutable-zkevm", - "13381": "phoenix-mainnet", - "13396": "masa", - "13473": "immutable-zkevm-testnet", - "13505": "gravity-alpha-testnet-sepolia", - "13600": "kronobit-mainnet", - "13812": "susono", - "14000": "sps-testnet", - "14324": "evolve-testnet", - "14333": "vitruveo-testnet", - "14801": "vana-satori-testnet", - "14853": "humanode-testnet-5-israfel", - "15003": "immutable-zkevm-devnet", - "15257": "poodl-testnet", - "15259": "poodl-mainnet", - "15430": "kymtc-mainnet", - "15551": "loopnetwork-mainnet", - "15555": "trust-evm-testnet", - "15557": "eos-evm-network-testnet", - "16000": "metadot-mainnet", - "16001": "metadot-testnet", - "16116": "defiverse-mainnet", - "16166": "cypherium-mainnet", - "16180": "plyr-phi", - "16350": "incentiv-devnet", - "16481": "pivotal-sepolia", - "16507": "genesys-mainnet", - "16600": "0g-newton-testnet", - "16688": "irishub-testnet", - "16718": "airdao-mainnet", - "16888": "ivar-chain-testnet", - "17000": "holesky", - "17069": "garnet-holesky", - "17071": "onchain-points", - "17117": "defiverse-testnet", - "17171": "g8chain-mainnet", - "17172": "eclipse-subnet", - "17180": "palette-chain-testnet", - "17217": "konet-mainnet", - "17777": "eos-evm-network", - "18000": "frontier-of-dreams-testnet", - "18122": "smart-trade-networks", - "18159": "proof-of-memes", - "18181": "g8chain-testnet", - "18233": "unreal", - "18686": "mxc-zkevm-moonchain", - "18888": "titan-(tkx)", - "18889": "titan-(tkx)-testnet", - "19011": "home-verse-mainnet", - "19077": "blockx-atlantis-testnet", - "19191": "blockx-mainnet", - "19224": "decentraconnect-social", - "19527": "magnet-network", - "19600": "lbry-mainnet", - "19845": "btcix-network", - "20001": "camelark-mainnet", - "20041": "niza-chain-mainnet", - "20073": "niza-chain-testnet", - "20729": "callisto-testnet", - "20736": "p12-chain", - "20765": "jono11-subnet", - "21004": "c4ei", - "21133": "all-about-healthy", - "21223": "dcpay-mainnet", - "21224": "dcpay-testnet", - "21337": "cennznet-azalea", - "21363": "lestnet", - "21816": "omchain-mainnet", - "21912": "bsl-mainnet", - "22023": "taycan", - "22040": "airdao-testnet", - "22222": "nautilus-mainnet", - "22324": "goldxchain-testnet", - "22776": "map-protocol", - "23006": "antofy-testnet", - "23118": "opside-testnet", - "23294": "oasis-sapphire", - "23295": "oasis-sapphire-testnet", - "23451": "dreyerx-mainnet", - "23452": "dreyerx-testnet", - "23888": "blast-testnet", - "24076": "kymtc-testnet", - "24484": "webchain", - "24734": "mintme.com-coin", - "25186": "liquidlayer-mainnet", - "25839": "alveychain-testnet", - "25888": "hammer-chain-mainnet", - "25925": "bitkub-chain-testnet", - "26026": "ferrum-testnet", - "26482": "ducatusx-testnet", - "26483": "ducatusx", - "26600": "hertz-network-mainnet", - "26863": "oasischain-mainnet", - "27181": "klaos-nova", - "27483": "nanon-sepolia", - "27827": "zeroone-mainnet-subnet", - "28516": "vizing-testnet", - "28518": "vizing-mainnet", - "28528": "optimism-bedrock-(goerli-alpha-testnet)", - "28882": "boba-sepolia", - "29112": "hychain-testnet", - "29223": "nexa-metanet", - "29536": "kaichain-testnet", - "29548": "mch-verse-mainnet", - "30067": "piece-testnet", - "30088": "miyou-mainnet", - "30103": "cerium-testnet", - "30730": "movement-evm-legacy", - "30731": "movement-evm-devnet", - "30732": "movement-evm-testnet", - "31102": "ethersocial-network", - "31223": "cloudtx-mainnet", - "31224": "cloudtx-testnet", - "31337": "gochain-testnet", - "31414": "evoke-testnet", - "31753": "xchain-mainnet", - "31754": "xchain-testnet", - "32001": "w3gamez-holesky-testnet", - "32382": "santiment-intelligence-network", - "32520": "bitgert-mainnet", - "32659": "fusion-mainnet", - "32769": "zilliqa-evm", - "32990": "zilliqa-evm-isolated-server", - "33033": "entangle-mainnet", - "33101": "zilliqa-evm-testnet", - "33103": "zilliqa-2-evm-proto-testnet", - "33111": "curtis", - "33133": "entangle-testnet", - "33210": "cloudverse-subnet", - "33333": "aves-mainnet", - "33385": "zilliqa-evm-devnet", - "33401": "slingshot", - "33469": "zilliqa-2-evm-devnet", - "33979": "funki", - "34443": "mode", - "34504": "zeus-mainnet", - "35011": "j2o-taro", - "35441": "q-mainnet", - "35443": "q-testnet", - "38400": "connectormanager", - "38401": "connectormanager-robin", - "39656": "prm-mainnet", - "39797": "energi-mainnet", - "39815": "oho-mainnet", - "41455": "aleph-zero-evm", - "41500": "opulent-x-beta", - "42069": "pegglecoin", - "42072": "agentlayer-testnet", - "42161": "arbitrum-one", - "42170": "arbitrum-nova", - "42220": "celo-mainnet", - "42261": "oasis-emerald-testnet", - "42262": "oasis-emerald", - "42355": "goldxchain-mainnet", - "42421": "assetchain-testnet", - "42766": "zkfair-mainnet", - "42793": "etherlink-mainnet", - "42801": "gesoten-verse-testnet", - "42888": "kinto-testnet", - "43110": "athereum", - "43111": "hemi-network", - "43113": "avalanche-fuji-testnet", - "43114": "avalanche-c-chain", - "43851": "zkfair-testnet", - "44444": "frenchain", - "44445": "quantum-network", - "44787": "celo-alfajores-testnet", - "45000": "autobahn-network", - "45454": "swamps-l2", - "45510": "deelance-mainnet", - "45513": "blessnet", - "46688": "fusion-testnet", - "47763": "neo-x-mainnet", - "47803": "redefi-layer-1", - "47805": "rei-network", - "48795": "space-subnet-testnet", - "48899": "zircuit-testnet", - "48900": "zircuit-mainnet", - "49049": "wireshape-floripa-testnet", - "49088": "bifrost-testnet", - "49321": "gunz-testnet", - "49797": "energi-testnet", - "50001": "liveplex-oracleevm", - "50005": "yooldo-verse-mainnet", - "50006": "yooldo-verse-testnet", - "50021": "gton-testnet", - "51178": "lumoz-testnet-alpha", - "51712": "sardis-mainnet", - "52014": "electroneum-mainnet", - "53277": "doid", - "53302": "superseed-sepolia-testnet", - "53457": "dodochain-testnet", - "53935": "dfk-chain", - "54211": "haqq-chain-testnet", - "54321": "toronet-testnet", - "55004": "titan", - "55551": "photon-aurora-testnet", - "55555": "rei-chain-mainnet", - "55556": "rei-chain-testnet", - "55614": "flamma-mainnet", - "56026": "lambda-chain-mainnet", - "56288": "boba-bnb-mainnet", - "56400": "testnet-zeroone-subnet", - "56789": "velo-labs-mainnet", - "56797": "doid-testnet", - "57000": "rollux-testnet", - "57451": "coinsec-network", - "58008": "sepolia-pgn-(public-goods-network)", - "59140": "linea-goerli", - "59141": "linea-sepolia", - "59144": "linea", - "59902": "metis-sepolia-testnet", - "59971": "genesys-code-mainnet", - "60000": "thinkium-testnet-chain-0", - "60001": "thinkium-testnet-chain-1", - "60002": "thinkium-testnet-chain-2", - "60103": "thinkium-testnet-chain-103", - "60808": "bob", - "61022": "orange-chain-mainnet", - "61406": "kaichain", - "61800": "axelchain-dev-net", - "61803": "etica-mainnet", - "61916": "doken-super-chain-mainnet", - "62049": "optopia-testnet", - "62050": "optopia-mainnet", - "62298": "citrea-devnet", - "62320": "celo-baklava-testnet", - "62621": "multivac-mainnet", - "62831": "plyr-tau-testnet", - "62850": "laos-sigma-testnet", - "63000": "ecredits-mainnet", - "63001": "ecredits-testnet", - "65349": "cratd2c-testnet", - "65357": "vecno-mainnet", - "65450": "scolcoin-mainnet", - "65536": "automata-mainnet", - "66988": "janus-testnet", - "67588": "cosmic-chain", - "68770": "dm2-verse-mainnet", - "69420": "condrieu", - "70000": "thinkium-mainnet-chain-0", - "70001": "thinkium-mainnet-chain-1", - "70002": "thinkium-mainnet-chain-2", - "70103": "thinkium-mainnet-chain-103", - "70700": "proof-of-play---apex", - "71111": "guapcoinx", - "71393": "polyjuice-testnet", - "71401": "godwoken-testnet-v1", - "71402": "godwoken-mainnet", - "72778": "caga-crypto-ankara-testnet", - "72992": "grok-chain-mainnet", - "73114": "icb-testnet", - "73115": "icb-network", - "73799": "energy-web-volta-testnet", - "73927": "mixin-virtual-machine", - "75000": "resincoin-mainnet", - "75512": "geek-verse-mainnet", - "75513": "geek-verse-testnet", - "77001": "borachain-mainnet", - "77238": "foundry-chain-testnet", - "77612": "vention-smart-chain-mainnet", - "77677": "cycle-network-mainnet-sailboat", - "77777": "toronet-mainnet", - "78110": "firenze-test-network", - "78281": "dragonfly-mainnet-(hexapod)", - "78430": "amplify-subnet", - "78431": "bulletin-subnet", - "78432": "conduit-subnet", - "78600": "vanguard", - "79879": "gold-smart-chain-testnet", - "80001": "mumbai", - "80002": "amoy", - "80008": "polynomia-sepolia", - "80084": "berachain-bartio", - "80085": "berachain-artio", - "80096": "hizoco-mainnet", - "81041": "nordek-mainnet", - "81341": "amana-testnet", - "81342": "amana-mixnet", - "81343": "amana-privnet", - "81351": "flana-testnet", - "81352": "flana-mixnet", - "81353": "flana-privnet", - "81361": "mizana-testnet", - "81362": "mizana-mixnet", - "81363": "mizana-privnet", - "81457": "blast", - "81720": "quantum-chain-mainnet", - "82459": "smart-layer-network-testnet", - "83144": "xprotocol-testnet", - "83278": "esa", - "83872": "zedxion", - "84531": "base-goerli-testnet", - "84532": "base-sepolia-testnet", - "84886": "aerie-network", - "85449": "cybertrust", - "88002": "nautilus-proteus-testnet", - "88559": "inoai", - "88800": "zkasino-mainnet", - "88817": "unit-zero-testnet", - "88819": "unit-zero-stagenet", - "88882": "chiliz-spicy-testnet", - "88888": "chiliz-chain-mainnet", - "90001": "f(x)core-testnet-network", - "90210": "beverly-hills", - "90354": "camp-testnet", - "91002": "nautilus-trition-chain", - "91120": "metadap-enterprise-mainnet", - "91715": "combo-testnet", - "92001": "lambda-testnet", - "93572": "liquidlayer-testnet", - "93747": "stratovm-testnet", - "96970": "mantis-testnet-(hexapod)", - "97435": "slingshot-testnet", - "97531": "green-chain-testnet", - "97970": "optimusz7-testnet", - "98881": "ebi-chain", - "99099": "eliberty-testnet", - "99876": "edge-matrix-chain-testnet", - "99998": "ub-smart-chain(testnet)", - "99999": "ub-smart-chain", - "100000": "quarkchain-mainnet-root", - "100001": "quarkchain-mainnet-shard-0", - "100002": "quarkchain-mainnet-shard-1", - "100003": "quarkchain-mainnet-shard-2", - "100004": "quarkchain-mainnet-shard-3", - "100005": "quarkchain-mainnet-shard-4", - "100006": "quarkchain-mainnet-shard-5", - "100007": "quarkchain-mainnet-shard-6", - "100008": "quarkchain-mainnet-shard-7", - "100009": "vechain", - "100010": "vechain-testnet", - "100011": "quarkchain-l2-mainnet", - "101010": "global-trust-network", - "102031": "creditcoin-testnet", - "103090": "crystaleum", - "103454": "masa-testnet", - "104566": "kaspaclassic-mainnet", - "105105": "stratis-mainnet", - "108801": "brochain-mainnet", - "110000": "quarkchain-devnet-root", - "110001": "quarkchain-devnet-shard-0", - "110002": "quarkchain-devnet-shard-1", - "110003": "quarkchain-devnet-shard-2", - "110004": "quarkchain-devnet-shard-3", - "110005": "quarkchain-devnet-shard-4", - "110006": "quarkchain-devnet-shard-5", - "110007": "quarkchain-devnet-shard-6", - "110008": "quarkchain-devnet-shard-7", - "110011": "quarkchain-l2-testnet", - "110110": "mars-credit", - "111000": "siberium-test-network", - "111111": "siberium-network", - "111188": "re.al", - "112358": "metachain-one-mainnet", - "119139": "metadap-enterprise-testnet", - "123321": "gemchain", - "123456": "adil-devnet", - "128123": "etherlink-testnet", - "131313": "odyssey-chain-(testnet)", - "131419": "etnd-chain-mainnets", - "132902": "form-testnet", - "141319": "magape-testnet", - "142857": "icplaza-mainnet", - "161212": "playfi-mainnet", - "165279": "eclat-mainnet", - "167000": "taiko-mainnet", - "167008": "taiko-katla-l2", - "167009": "taiko-hekla-l2", - "175177": "chronicle---lit-protocol-testnet", - "175188": "chronicle-yellowstone---lit-protocol-testnet", - "188710": "bitica-chain-mainnet", - "188881": "condor-test-network", - "192940": "mind-network-testnet", - "199991": "mazze-testnet", - "200000": "xfair.ai-testnet", - "200101": "milkomeda-c1-testnet", - "200202": "milkomeda-a1-testnet", - "200625": "akroma", - "200810": "bitlayer-testnet", - "200901": "bitlayer-mainnet", - "201018": "alaya-mainnet", - "201030": "alaya-dev-testnet", - "201804": "mythical-chain", - "202020": "decimal-smart-chain-testnet", - "202212": "x1-devnet", - "202401": "ymtech-besu-testnet", - "202624": "jellie", - "204005": "x1-network", - "205205": "auroria-testnet", - "210049": "gitagi-atlas-testnet", - "210425": "platon-mainnet", - "220315": "mas-mainnet", - "221230": "reapchain-mainnet", - "221231": "reapchain-testnet", - "222222": "hydradx", - "222555": "deepl-mainnet", - "222666": "deepl-testnet", - "224168": "taf-eco-chain-mainnet", - "224422": "conet-sebolia-testnet", - "224433": "conet-holesky", - "229772": "abyss-protocol", - "230315": "hashkey-chain-testnet(discard)", - "234666": "haymo-testnet", - "240515": "orange-chain-testnet", - "246529": "artis-sigma1", - "246785": "artis-testnet-tau1", - "247253": "saakuru-testnet", - "256256": "cmp-mainnet", - "262371": "eclat-testnet", - "266256": "gear-zero-network-testnet", - "271271": "egoncoin-testnet", - "281121": "social-smart-chain-mainnet", - "282828": "zillion-sepolia-testnet", - "292003": "cipherem-testnet", - "309075": "one-world-chain-mainnet", - "313313": "saharaai-testnet", - "314159": "filecoin---calibration-testnet", - "322202": "parex-mainnet", - "323213": "bloom-genesis-testnet", - "327126": "waba-chain-testnet", - "328527": "nal-mainnet", - "330844": "ttcoin-smart-chain-mainnet", - "333313": "bloom-genesis-mainnet", - "333331": "aves-testnet", - "333333": "nativ3-testnet", - "333666": "oone-chain-testnet", - "333777": "oone-chain-devnet", - "333888": "polis-testnet", - "333999": "polis-mainnet", - "336655": "upchain-testnet", - "336666": "upchain-mainnet", - "355110": "bitfinity-network-mainnet", - "355113": "bitfinity-network-testnet", - "360890": "lavita-mainnet", - "363636": "digit-soul-smart-chain-2", - "373737": "hapchain-testnet", - "381931": "metal-c-chain", - "381932": "metal-tahoe-c-chain", - "404040": "tipboxcoin-mainnet", - "413413": "aie-testnet", - "420420": "kekchain", - "420666": "kekchain-(kektest)", - "420692": "alterium-l2-testnet", - "421611": "arbitrum-rinkeby", - "421613": "arbitrum-goerli", - "421614": "arbitrum-sepolia", - "424242": "fastex-chain-testnet", - "431140": "markr-go", - "432201": "dexalot-subnet-testnet", - "432204": "dexalot-subnet", - "444444": "syndr-l3-sepolia", - "444900": "weelink-testnet", - "471100": "patex-sepolia-testnet", - "473861": "ultra-pro-mainnet", - "474142": "openchain-mainnet", - "486487": "gobbl-testnet", - "490000": "autonomys-testnet-nova-domain", - "504441": "playdapp-network", - "512512": "cmp-testnet", - "513100": "dischain", - "526916": "docoin-community-chain", - "534351": "scroll-sepolia-testnet", - "534352": "scroll", - "534849": "shinarium-beta", - "535037": "beaneco-smartchain", - "552981": "one-world-chain-testnet", - "555555": "pentagon-testnet", - "555666": "eclipse-testnet", - "622277": "hypra-mainnet", - "622463": "atlas", - "641230": "bear-network-chain-mainnet", - "651940": "all-mainnet", - "656476": "open-campus-codex", - "660279": "xai-mainnet", - "666666": "vision---vpioneer-test-chain", - "666888": "hela-official-runtime-testnet", - "686868": "won-network", - "696969": "galadriel-devnet", - "710420": "tiltyard-mainnet-subnet", - "713715": "sei-devnet", - "721529": "eram-mainnet", - "743111": "hemi-sepolia", - "751230": "bear-network-chain-testnet", - "752024": "ternoa-testnet", - "761412": "miexs-smartchain", - "764984": "lamina1-testnet", - "767368": "lamina1-identity-testnet", - "776877": "modularium", - "800001": "octaspace", - "808080": "biz-smart-chain-testnet", - "808813": "bob-sepolia", - "810180": "zklink-nova-mainnet", - "810181": "zklink-nova-sepolia-testnet", - "810182": "zklink-nova-goerli-testnet", - "820522": "tsc-testnet", - "827431": "curve-mainnet", - "839320": "prm-testnet", - "840000": "runevm-testnet", - "846000": "4goodnetwork", - "855456": "dodao", - "879151": "blocx-mainnet", - "888882": "rexx-mainnet", - "888888": "vision---mainnet", - "900000": "posichain-mainnet-shard-0", - "910000": "posichain-testnet-shard-0", - "912559": "astria-evm-dusknet", - "920000": "posichain-devnet-shard-0", - "920001": "posichain-devnet-shard-1", - "923018": "fncy-testnet", - "955081": "jono12-subnet", - "955305": "eluvio-content-fabric", - "978657": "treasure-ruby", - "984122": "forma", - "984123": "forma-sketchpad", - "988207": "ecrox-chain-mainnet", - "998899": "supernet-testnet", - "999999": "amchain", - "1100789": "netmind-chain-testnet", - "1127469": "tiltyard-subnet", - "1234567": "sharecle-mainnet", - "1261120": "zkatana", - "1313114": "etho-protocol", - "1313500": "xerom", - "1337702": "kintsugi", - "1337802": "kiln", - "1337803": "zhejiang", - "1398243": "automata-testnet", - "1612127": "playfi-albireo-testnet", - "1637450": "xterio-testnet", - "1731313": "turkey-demo-dev", - "2021398": "debank-testnet", - "2099156": "plian-mainnet-main", - "2206132": "platon-dev-testnet2", - "2611555": "dpu-chain", - "2702128": "xterio-chain", - "3132023": "saharaai-network", - "3141592": "filecoin---butterfly-testnet", - "3397901": "funki-sepolia-sandbox", - "3441005": "manta-pacific-testnet", - "3441006": "manta-pacific-sepolia-testnet", - "4000003": "altlayer-zero-gas-network", - "4281033": "worlds-caldera", - "4444444": "altar-testnet", - "4457845": "zero-testnet-(sepolia)", - "5112023": "numblock-chain", - "5167003": "mxc-wannsee-zkevm-testnet", - "5167004": "moonchain-geneva-testnet", - "5201420": "electroneum-testnet", - "5318008": "reactive-kopli", - "5555555": "imversed-mainnet", - "5555558": "imversed-testnet", - "6038361": "astar-zkyoto", - "6666665": "safe(anwang)-mainnet", - "6666666": "safe(anwang)-testnet", - "7225878": "saakuru-mainnet", - "7355310": "openvessel", - "7668378": "ql1-testnet", - "7762959": "musicoin", - "7777777": "zora", - "8007736": "plian-mainnet-subchain-1", - "8008135": "fhenix-helium", - "8080808": "hokum", - "8601152": "waterfall-8-test-network", - "8794598": "hapchain", - "8888881": "quarix-testnet", - "8888888": "quarix", - "9322252": "xcap", - "9322253": "milvine", - "9999999": "fluence", - "10067275": "plian-testnet-subchain-1", - "10101010": "soverun-mainnet", - "10241024": "alienx-mainnet", - "10241025": "alienx-hal-testnet", - "11145513": "blessnet-sepolia", - "11155111": "sepolia", - "11155420": "op-sepolia-testnet", - "12052024": "memento-testnet", - "12227332": "neox-testnet-t4", - "13068200": "coti-devnet", - "13371337": "pepchain-churchill", - "14288640": "anduschain-mainnet", - "16658437": "plian-testnet-main", - "17000920": "lambda-chain-testnet", - "18071918": "mande-network-mainnet", - "18289463": "iolite", - "19850818": "deepbrainchain-testnet", - "19880818": "deepbrainchain-mainnet", - "20180427": "stability-testnet", - "20180430": "smartmesh-mainnet", - "20181205": "quarkblockchain", - "20201022": "pego-network", - "20230825": "vcity-testnet", - "20240324": "debank-sepolia-testnet", - "20240603": "dbk-chain", - "20241133": "swan-proxima-testnet", - "20482050": "hokum-testnet", - "22052002": "excelon-mainnet", - "27082017": "excoincial-chain-volta-testnet", - "27082022": "excoincial-chain-mainnet", - "28122024": "ancient8-testnet", - "28945486": "auxilium-network-mainnet", - "29032022": "flachain-mainnet", - "31415926": "filecoin---local-testnet", - "35855456": "joys-digital-mainnet", - "37084624": "skale-nebula-hub-testnet", - "39916801": "kingdom-chain", - "43214913": "maistestsubnet", - "52164803": "fluence-testnet", - "61717561": "aquachain", - "65010003": "autonity-bakerloo-(yamuna)-testnet", - "65100003": "autonity-piccadilly-(yamuna)-testnet", - "68840142": "frame-testnet", - "77787778": "0xhash-testnet", - "79479957": "sx-toronto-rollup", - "88558801": "backstop-testnet", - "88888888": "t.e.a.m-blockchain", - "94204209": "polygon-blackberry", - "99415706": "joys-digital-testnet", - "100000000": "ethos", - "108160679": "oraichain-mainnet", - "111557560": "cyber-testnet", - "123420111": "op-celestia-raspberry", - "161221135": "plume-testnet", - "168587773": "blast-sepolia-testnet", - "192837465": "gather-mainnet-network", - "222000222": "kanazawa", - "245022926": "neon-evm-devnet", - "245022929": "neon-evm-devnet-rollup", - "245022934": "neon-evm-mainnet", - "278611351": "razor-skale-chain", - "311752642": "oneledger-mainnet", - "328527624": "nal-sepolia-testnet", - "333000333": "meld", - "356256156": "gather-testnet-network", - "476462898": "skopje-testnet", - "486217935": "gather-devnet-network", - "531050104": "sophon-testnet", - "666666666": "degen-chain", - "888888888": "ancient8", - "889910245": "ptcescan-testnet", - "889910246": "ptcescan-mainnet", - "974399131": "skale-calypso-hub-testnet", - "999999999": "zora-sepolia-testnet", - "1020352220": "skale-titan-hub-testnet", - "1122334455": "ipos-network", - "1146703430": "cyberdecknet", - "1273227453": "human-protocol", - "1313161554": "aurora-mainnet", - "1313161555": "aurora-testnet", - "1313161556": "aurora-betanet", - "1313161560": "powergold", - "1350216234": "skale-titan-hub", - "1351057110": "chaos-(skale-testnet)", - "1380012617": "rari-chain-mainnet", - "1380996178": "raptorchain", - "1444673419": "skale-europa-hub-testnet", - "1482601649": "skale-nebula-hub", - "1511670449": "gpt-mainnet", - "1564830818": "skale-calypso-hub", - "1666600000": "harmony-mainnet-shard-0", - "1666600001": "harmony-mainnet-shard-1", - "1666700000": "harmony-testnet-shard-0", - "1666700001": "harmony-testnet-shard-1", - "1666900000": "harmony-devnet-shard-0", - "1666900001": "harmony-devnet-shard-1", - "1802203764": "kakarot-sepolia", - "1903648807": "gemuchain-testnet", - "1918988905": "rari-chain-testnet", - "2021121117": "datahopper", - "2046399126": "skale-europa-hub", - "3125659152": "pirl", - "4216137055": "oneledger-testnet-frankenstein", - "11297108109": "palm", - "11297108099": "palm-testnet", - "28872323069": "gitswarm-test-network", - "37714555429": "xai-testnet-v2", - "88153591557": "arbitrum-blueberry", - "107107114116": "kakarot-sepolia-deprecated", - "111222333444": "alphabet-mainnet", - "123420000220": "fluence-stage", - "197710212030": "ntity-mainnet", - "197710212031": "haradev-testnet", - "202402181627": "gm-network-testnet", - "383414847825": "zeniq", - "666301171999": "pdc-mainnet", - "6022140761023": "molereum-network", - "2713017997578000": "dchain-testnet", - "2716446429837000": "dchain" -}; -var NETWORK_FAUCETS = { - "1": [], - "2": [], - "3": [ - "http://fauceth.komputing.org?chain=3&address=${ADDRESS}", - "https://faucet.ropsten.be?${ADDRESS}" - ], - "4": [ - "http://fauceth.komputing.org?chain=4&address=${ADDRESS}", - "https://faucet.rinkeby.io" - ], - "5": [ - "http://fauceth.komputing.org?chain=5&address=${ADDRESS}", - "https://goerli-faucet.slock.it?address=${ADDRESS}", - "https://faucet.goerli.mudit.blog" - ], - "7": [], - "8": [], - "9": [], - "10": [], - "11": [], - "12": [], - "13": [], - "14": [], - "15": [], - "16": [ - "https://faucet.flare.network" - ], - "17": [], - "18": [ - "https://faucet-testnet.thundercore.com" - ], - "19": [], - "20": [], - "21": [ - "https://esc-faucet.elastos.io/" - ], - "22": [], - "23": [], - "24": [], - "25": [], - "26": [], - "27": [], - "29": [], - "30": [], - "31": [ - "https://faucet.rsk.co/" - ], - "32": [], - "33": [], - "34": [], - "35": [], - "36": [], - "37": [], - "38": [], - "39": [], - "40": [], - "41": [ - "https://app.telos.net/testnet/developers" - ], - "42": [], - "43": [ - "https://docs.darwinia.network/pangolin-testnet-1e9ac8b09e874e8abd6a7f18c096ca6a" - ], - "44": [], - "45": [ - "https://docs.darwinia.network/pangoro-testnet-70cfec5dc9ca42759959ba3803edaec2" - ], - "46": [], - "47": [], - "48": [], - "49": [], - "50": [], - "51": [ - "https://faucet.apothem.network" - ], - "52": [], - "53": [], - "54": [], - "55": [], - "56": [], - "57": [ - "https://faucet.syscoin.org" - ], - "58": [], - "60": [], - "61": [], - "63": [ - "https://easy.hebeswap.com/#/faucet", - "https://faucet.mordortest.net" - ], - "64": [], - "65": [ - "https://www.okex.com/drawdex" - ], - "66": [], - "67": [], - "68": [], - "69": [ - "http://fauceth.komputing.org?chain=69&address=${ADDRESS}" - ], - "70": [], - "71": [ - "https://faucet.confluxnetwork.org" - ], - "72": [ - "https://faucet.dxscan.io" - ], - "73": [ - "https://faucet-testnet.fncy.world" - ], - "74": [], - "75": [], - "76": [], - "77": [], - "78": [], - "79": [], - "80": [], - "81": [], - "82": [ - "https://faucet.meter.io" - ], - "83": [ - "https://faucet-warringstakes.meter.io" - ], - "84": [], - "85": [ - "https://www.gatescan.org/testnet/faucet" - ], - "86": [ - "https://www.gatescan.org/faucet" - ], - "87": [], - "88": [], - "89": [], - "90": [], - "91": [], - "92": [], - "93": [], - "94": [], - "95": [ - "https://faucet.camdl.gov.kh/" - ], - "96": [], - "97": [ - "https://testnet.bnbchain.org/faucet-smart" - ], - "98": [], - "99": [], - "100": [ - "https://gnosisfaucet.com", - "https://stakely.io/faucet/gnosis-chain-xdai", - "https://faucet.prussia.dev/xdai" - ], - "101": [], - "102": [], - "103": [], - "104": [], - "105": [], - "106": [], - "107": [ - "https://faucet.novanetwork.io" - ], - "108": [], - "109": [], - "110": [], - "111": [ - "https://etherlite.org/faucets" - ], - "112": [], - "113": [ - "https://buy.dehvo.com" - ], - "114": [ - "https://faucet.flare.network" - ], - "117": [], - "118": [], - "119": [], - "120": [ - "http://faucet.nuls.io" - ], - "121": [], - "122": [], - "123": [ - "https://get.fusespark.io" - ], - "124": [], - "125": [ - "https://faucet.oychain.io" - ], - "126": [], - "127": [], - "128": [], - "129": [], - "131": [], - "132": [], - "133": [], - "134": [], - "135": [ - "https://faucet.alyxchain.com" - ], - "136": [], - "137": [], - "138": [], - "139": [], - "140": [], - "141": [], - "142": [], - "144": [], - "145": [], - "147": [], - "148": [], - "150": [ - "https://faucet.sixprotocol.net" - ], - "151": [], - "152": [], - "153": [], - "154": [], - "155": [ - "https://faucet.testnet.tenet.org" - ], - "156": [], - "157": [ - "https://beta.shibariumtech.com/faucet" - ], - "158": [], - "159": [], - "160": [], - "161": [], - "162": [ - "https://discuss.lightstreams.network/t/request-test-tokens" - ], - "163": [], - "164": [], - "166": [], - "167": [], - "168": [], - "169": [], - "170": [ - "https://faucet-testnet.hscscan.com/" - ], - "172": [ - "https://faucet.latam-blockchain.com" - ], - "176": [], - "178": [ - "https://testnet-faucet.abeychain.com" - ], - "179": [], - "180": [], - "181": [], - "184": [], - "185": [], - "186": [], - "187": [], - "188": [], - "189": [], - "190": [], - "191": [], - "193": [], - "195": [ - "https://www.okx.com/xlayer/faucet" - ], - "196": [], - "197": [ - "https://neutrinoschain.com/faucet" - ], - "198": [], - "199": [], - "200": [], - "201": [], - "202": [], - "204": [], - "205": [], - "206": [], - "207": [], - "208": [], - "210": [], - "211": [ - "http://faucet.freight.sh" - ], - "212": [ - "https://faucet.mapprotocol.io" - ], - "213": [], - "214": [], - "217": [], - "220": [ - "https://faucet.scalind.com" - ], - "221": [], - "223": [], - "224": [ - "https://faucet.vrd.network" - ], - "225": [], - "226": [], - "228": [], - "230": [], - "233": [], - "234": [ - "https://protojumbo.jumbochain.org/faucet-smart" - ], - "236": [ - "https://faucet.deamchain.com" - ], - "242": [], - "246": [], - "248": [], - "250": [], - "252": [], - "254": [], - "255": [], - "256": [ - "https://scan-testnet.hecochain.com/faucet" - ], - "258": [], - "259": [], - "261": [ - "https://v2.dex.guru/season-pass/faucet" - ], - "262": [], - "266": [], - "267": [ - "https://testnet.neuraprotocol.io/faucet" - ], - "268": [], - "269": [ - "https://myhpbwallet.com/" - ], - "271": [], - "274": [], - "278": [], - "279": [], - "282": [ - "https://zkevm.cronos.org/faucet" - ], - "288": [], - "291": [], - "295": [], - "296": [ - "https://portal.hedera.com" - ], - "297": [ - "https://portal.hedera.com" - ], - "298": [], - "300": [], - "302": [], - "303": [], - "305": [], - "307": [ - "https://faucet.lovely.network" - ], - "308": [], - "309": [], - "311": [ - "https://faucet.omaxray.com/" - ], - "313": [], - "314": [], - "321": [], - "322": [ - "https://faucet-testnet.kcc.network" - ], - "323": [], - "324": [], - "325": [], - "326": [], - "333": [], - "335": [], - "336": [], - "338": [ - "https://cronos.org/faucet" - ], - "345": [], - "360": [], - "361": [], - "363": [], - "364": [], - "365": [], - "369": [], - "371": [], - "380": [], - "381": [], - "385": [ - "https://pipa.lisinski.online" - ], - "388": [], - "395": [ - "https://faucet.testnet.camdl.gov.kh/" - ], - "397": [], - "398": [], - "399": [], - "400": [ - "https://faucet.hyperonchain.com" - ], - "401": [], - "404": [], - "411": [], - "416": [], - "418": [ - "https://faucet.lachain.network" - ], - "420": [], - "422": [], - "424": [], - "427": [], - "428": [], - "434": [], - "443": [], - "444": [], - "456": [], - "462": [], - "463": [], - "480": [], - "499": [], - "500": [], - "501": [], - "510": [], - "512": [], - "513": [ - "https://scan-testnet.acuteangle.com/faucet" - ], - "516": [], - "520": [ - "https://xsc.pub/faucet" - ], - "529": [], - "530": [], - "534": [], - "537": [], - "542": [], - "545": [ - "https://testnet-faucet.onflow.org" - ], - "555": [], - "558": [], - "568": [ - "https://faucet.dogechain.dog" - ], - "570": [ - "https://rollux.id/faucetapp" - ], - "571": [], - "579": [], - "592": [], - "595": [], - "596": [], - "597": [], - "600": [], - "601": [ - "https://vne.network/rose" - ], - "610": [ - "https://devnet-rpc.darwinchain.ai/faucet" - ], - "612": [], - "614": [], - "624": [], - "625": [], - "634": [], - "646": [ - "https://previewnet-faucet.onflow.org" - ], - "647": [ - "https://faucet.toronto.sx.technology" - ], - "648": [], - "653": [], - "654": [], - "662": [], - "666": [ - "https://chain.pixie.xyz/faucet" - ], - "667": [], - "668": [], - "669": [ - "https://faucet-testnet.juncachain.com" - ], - "686": [], - "690": [], - "700": [], - "701": [], - "707": [], - "708": [ - "https://faucet.bcsdev.io" - ], - "710": [], - "713": [], - "719": [], - "721": [], - "727": [], - "730": [], - "741": [ - "https://faucet.vention.network" - ], - "742": [], - "747": [], - "766": [], - "776": [ - "https://faucet.openchain.info/" - ], - "777": [], - "786": [], - "787": [], - "788": [ - "https://faucet.aerochain.id/" - ], - "789": [], - "799": [ - "https://faucet.testnet.rupaya.io" - ], - "800": [ - "https://faucet.lucidcoin.io" - ], - "803": [], - "808": [], - "810": [ - "https://www.haven1.org/faucet" - ], - "813": [], - "814": [], - "818": [], - "820": [], - "822": [ - "https://faucet.runic.build" - ], - "831": [], - "841": [], - "842": [], - "852": [], - "859": [], - "868": [], - "876": [], - "877": [ - "https://faucet.dexit.network" - ], - "880": [], - "888": [], - "898": [ - "https://faucet.maxi.network" - ], - "899": [], - "900": [ - "https://faucet-testnet.garizon.com" - ], - "901": [ - "https://faucet-testnet.garizon.com" - ], - "902": [ - "https://faucet-testnet.garizon.com" - ], - "903": [ - "https://faucet-testnet.garizon.com" - ], - "909": [], - "910": [], - "911": [], - "917": [ - "https://faucet.thefirechain.com" - ], - "919": [ - "https://sepoliafaucet.com/" - ], - "927": [], - "943": [ - "https://faucet.v4.testnet.pulsechain.com/" - ], - "956": [], - "957": [], - "963": [], - "969": [], - "970": [], - "971": [], - "972": [], - "977": [ - "https://faucet.nepalblockchain.network" - ], - "979": [], - "980": [], - "985": [ - "https://faucet.metamemo.one/" - ], - "987": [], - "989": [], - "990": [ - "https://faucet.eliberty.ngo" - ], - "995": [], - "996": [], - "997": [ - "https://explorer.5ire.network/faucet" - ], - "998": [], - "999": [], - "1000": [], - "1001": [ - "https://faucet.kaia.io" - ], - "1003": [], - "1004": [], - "1007": [], - "1008": [], - "1009": [], - "1010": [], - "1011": [], - "1012": [], - "1022": [], - "1023": [], - "1024": [], - "1028": [], - "1030": [], - "1031": [], - "1038": [ - "https://faucet.bronos.org" - ], - "1039": [], - "1073": [ - "https://evm-toolkit.evm.testnet.shimmer.network", - "https://evm-faucet.testnet.shimmer.network" - ], - "1075": [ - "https://evm-toolkit.evm.testnet.iotaledger.net" - ], - "1079": [], - "1080": [], - "1088": [], - "1089": [], - "1099": [], - "1100": [], - "1101": [], - "1107": [], - "1108": [], - "1111": [], - "1112": [ - "https://wallet.test.wemix.com/faucet" - ], - "1113": [], - "1115": [ - "https://scan.test.btcs.network/faucet" - ], - "1116": [], - "1117": [ - "https://faucet.dogcoin.network" - ], - "1123": [], - "1130": [], - "1131": [], - "1133": [ - "http://tc04.mydefichain.com/faucet" - ], - "1135": [], - "1138": [], - "1139": [], - "1140": [ - "https://scan.boka.network/#/Galois/faucet" - ], - "1147": [ - "https://faucet.flagscan.xyz" - ], - "1149": [], - "1170": [], - "1177": [], - "1188": [], - "1197": [], - "1200": [], - "1201": [], - "1202": [], - "1209": [], - "1210": [ - "https://cuckoo.network/portal/faucet/" - ], - "1213": [], - "1214": [], - "1221": [], - "1223": [], - "1225": [], - "1227": [], - "1229": [], - "1230": [], - "1231": [], - "1234": [], - "1235": [], - "1243": [], - "1244": [ - "https://faucet.archiechain.io" - ], - "1246": [], - "1248": [], - "1252": [ - "https://cicfaucet.com" - ], - "1280": [], - "1284": [], - "1285": [], - "1287": [], - "1288": [], - "1291": [ - "https://faucet.testnet.swisstronik.com" - ], - "1311": [], - "1313": [], - "1314": [], - "1319": [], - "1320": [ - "https://aia-faucet-testnet.aiachain.org" - ], - "1328": [ - "https://atlantic-2.app.sei.io/faucet" - ], - "1329": [], - "1337": [], - "1338": [], - "1339": [], - "1343": [], - "1353": [], - "1369": [], - "1370": [], - "1377": [], - "1379": [], - "1388": [], - "1392": [], - "1414": [], - "1433": [], - "1440": [], - "1442": [], - "1452": [], - "1453": [ - "https://istanbul-faucet.metachain.dev" - ], - "1455": [ - "https://faucet.ctexscan.com" - ], - "1456": [], - "1490": [], - "1499": [], - "1501": [], - "1506": [], - "1507": [], - "1515": [ - "https://faucet.beagle.chat/" - ], - "1559": [], - "1570": [], - "1578": [], - "1617": [], - "1618": [], - "1620": [], - "1625": [], - "1648": [], - "1657": [], - "1662": [], - "1663": [ - "https://faucet.horizen.io" - ], - "1686": [], - "1687": [], - "1688": [], - "1701": [ - "https://evm.anytype.io/faucet" - ], - "1707": [], - "1708": [ - "https://faucet.blockchain.or.th" - ], - "1717": [], - "1718": [], - "1729": [], - "1740": [], - "1750": [], - "1773": [], - "1777": [], - "1789": [], - "1804": [ - "https://github.com/ethereum-pocr/kerleano/blob/main/docs/faucet.md" - ], - "1807": [ - "https://analogfaucet.com" - ], - "1811": [], - "1818": [], - "1819": [ - "https://faucet.cube.network" - ], - "1821": [], - "1856": [], - "1875": [], - "1881": [], - "1890": [], - "1891": [ - "https://faucet.pegasus.lightlink.io/" - ], - "1898": [], - "1899": [], - "1904": [], - "1907": [], - "1908": [ - "https://faucet.bitcichain.com" - ], - "1909": [], - "1911": [], - "1912": [ - "https://claim-faucet.rubychain.io/" - ], - "1918": [], - "1945": [], - "1951": [], - "1953": [], - "1954": [], - "1956": [], - "1961": [], - "1967": [ - "https://faucet.metatime.com/eleanor" - ], - "1969": [ - "https://testnet.scschain.com" - ], - "1970": [], - "1971": [], - "1972": [], - "1975": [], - "1984": [], - "1985": [], - "1986": [], - "1987": [], - "1992": [], - "1993": [], - "1994": [], - "1995": [ - "https://faucet.edexa.com/" - ], - "1996": [], - "1997": [], - "1998": [ - "https://faucet.kyotoprotocol.io" - ], - "2000": [], - "2001": [], - "2002": [], - "2004": [], - "2008": [], - "2009": [], - "2013": [], - "2014": [ - "https://faucet.nowchain.co" - ], - "2016": [], - "2017": [ - "https://telcoin.network/faucet" - ], - "2018": [], - "2019": [], - "2020": [], - "2021": [], - "2022": [], - "2023": [ - "https://ttaycan-faucet.hupayx.io/" - ], - "2024": [], - "2025": [], - "2026": [], - "2031": [], - "2032": [], - "2035": [], - "2037": [], - "2038": [], - "2039": [], - "2040": [], - "2043": [], - "2044": [], - "2045": [], - "2047": [], - "2048": [], - "2049": [], - "2077": [], - "2088": [], - "2100": [], - "2101": [], - "2109": [], - "2112": [], - "2121": [], - "2122": [], - "2124": [], - "2136": [], - "2137": [], - "2138": [], - "2140": [], - "2141": [], - "2151": [], - "2152": [], - "2153": [], - "2154": [], - "2162": [], - "2199": [ - "https://multiverse.moonsama.com/faucet" - ], - "2202": [ - "https://faucet.antofy.io" - ], - "2203": [], - "2213": [], - "2221": [ - "https://faucet.kava.io" - ], - "2222": [], - "2223": [], - "2241": [], - "2300": [], - "2306": [], - "2309": [], - "2311": [ - "https://developer.litprotocol.com/support/intro" - ], - "2323": [ - "https://faucet.somanetwork.io" - ], - "2330": [], - "2331": [], - "2332": [ - "https://airdrop.somanetwork.io" - ], - "2340": [ - "https://app-olympia.atleta.network/faucet" - ], - "2342": [ - "https://www.omniaverse.io" - ], - "2355": [], - "2358": [], - "2370": [ - "https://evm-faucet.nexis.network" - ], - "2399": [ - "https://faucet.bombchain-testnet.ankr.com/" - ], - "2400": [], - "2410": [], - "2415": [], - "2425": [], - "2442": [], - "2458": [ - "https://faucet-testnet.hybridchain.ai" - ], - "2468": [ - "https://faucet-testnet.hybridchain.ai" - ], - "2484": [ - "https://faucet.uniultra.xyz" - ], - "2522": [], - "2525": [], - "2559": [], - "2569": [], - "2606": [], - "2611": [], - "2612": [], - "2613": [ - "https://testnet-faucet.ezchain.com" - ], - "2625": [ - "https://testnet.whitechain.io/faucet" - ], - "2648": [], - "2649": [], - "2662": [], - "2710": [], - "2718": [], - "2730": [], - "2731": [], - "2748": [], - "2777": [], - "2810": [], - "2882": [], - "2907": [], - "2911": [], - "2941": [ - "https://xfaucet.xenonchain.com" - ], - "2999": [], - "3000": [ - "https://app-faucet.centrality.me" - ], - "3001": [ - "https://app-faucet.centrality.me" - ], - "3003": [], - "3011": [], - "3031": [], - "3033": [], - "3068": [], - "3073": [], - "3084": [], - "3100": [], - "3102": [], - "3109": [], - "3110": [], - "3269": [], - "3270": [ - "https://faucet.arabianchain.org/" - ], - "3306": [], - "3331": [ - "https://faucet.zcore.cash" - ], - "3333": [], - "3334": [], - "3335": [], - "3338": [], - "3400": [], - "3424": [], - "3434": [ - "https://faucet.securechain.ai" - ], - "3456": [ - "https://testnet-faucet.layeredge.io" - ], - "3490": [], - "3500": [ - "https://faucet.paribuscan.com" - ], - "3501": [], - "3601": [], - "3602": [], - "3630": [], - "3636": [ - "https://faucet.botanixlabs.dev" - ], - "3637": [ - "https://faucet.btxtestchain.com" - ], - "3639": [], - "3645": [], - "3666": [], - "3690": [], - "3693": [], - "3698": [ - "https://faucet.senjepowersscan.com" - ], - "3699": [ - "https://faucet.senjepowersscan.com" - ], - "3737": [ - "https://faucet.crossbell.io" - ], - "3776": [], - "3797": [], - "3799": [ - "https://faucet.tangle.tools" - ], - "3885": [ - "zkevm-faucet.thefirechain.com" - ], - "3888": [], - "3889": [], - "3912": [ - "https://www.dracscan.io/faucet" - ], - "3939": [], - "3966": [ - "https://faucet.dynoscan.io" - ], - "3967": [ - "https://faucet.dynoscan.io" - ], - "3993": [ - "https://sepoliafaucet.com/" - ], - "3999": [], - "4000": [], - "4001": [], - "4002": [ - "https://faucet.fantom.network" - ], - "4003": [], - "4040": [ - "https://getfaucet.carbonium.network" - ], - "4048": [], - "4058": [], - "4061": [], - "4062": [], - "4078": [], - "4080": [], - "4090": [ - "https://faucet.oasis.fastexchain.com" - ], - "4096": [ - "https://faucet.bitindi.org" - ], - "4099": [ - "https://faucet.bitindi.org" - ], - "4102": [], - "4139": [], - "4141": [ - "https://faucet.tipboxcoin.net" - ], - "4157": [], - "4162": [], - "4181": [], - "4200": [], - "4201": [ - "https://faucet.testnet.lukso.network" - ], - "4202": [ - "https://app.optimism.io/faucet" - ], - "4242": [], - "4243": [], - "4337": [ - "https://faucet.onbeam.com" - ], - "4400": [], - "4444": [ - "https://gruvin.me/htmlcoin" - ], - "4460": [], - "4488": [], - "4544": [ - "https://faucet.emoney.network/faucet" - ], - "4613": [], - "4653": [], - "4689": [], - "4690": [ - "https://faucet.iotex.io/" - ], - "4759": [], - "4777": [], - "4801": [], - "4893": [], - "4918": [], - "4919": [], - "4999": [], - "5000": [], - "5001": [ - "https://faucet.testnet.mantle.xyz" - ], - "5002": [], - "5003": [ - "https://faucet.sepolia.mantle.xyz" - ], - "5005": [], - "5039": [], - "5040": [], - "5051": [], - "5100": [], - "5101": [], - "5102": [], - "5103": [], - "5104": [], - "5105": [], - "5106": [], - "5112": [], - "5151": [ - "https://faucet.mechain.tech" - ], - "5165": [], - "5169": [], - "5177": [], - "5197": [], - "5234": [], - "5315": [], - "5317": [], - "5321": [], - "5333": [], - "5353": [ - "https://faucet.tritanium.network" - ], - "5372": [ - "https://faucet.settlus.io" - ], - "5424": [], - "5439": [], - "5522": [ - "https://t.me/vexfaucetbot" - ], - "5551": [], - "5555": [], - "5611": [ - "https://testnet.bnbchain.org/faucet-smart" - ], - "5615": [ - "https://faucet.arcturuschain.io" - ], - "5616": [], - "5656": [], - "5675": [], - "5678": [], - "5700": [ - "https://faucet.tanenbaum.io" - ], - "5729": [], - "5758": [ - "https://faucet.satoshichain.io" - ], - "5777": [], - "5845": [], - "5851": [ - "https://developer.ont.io/" - ], - "5858": [], - "5869": [], - "6000": [], - "6001": [], - "6065": [ - "http://faucet.tresleches.finance:8080" - ], - "6066": [], - "6102": [ - "https://www.cascadia.foundation/faucet" - ], - "6118": [], - "6119": [], - "6283": [], - "6321": [ - "https://aura.faucetme.pro" - ], - "6322": [], - "6363": [], - "6398": [], - "6502": [], - "6550": [], - "6552": [ - "https://faucet.scolcoin.com" - ], - "6565": [ - "https://faucet.foxchain.app" - ], - "6626": [], - "6660": [ - "http://faucet.latestchain.io" - ], - "6661": [], - "6666": [ - "https://faucet.cybascan.io" - ], - "6678": [], - "6688": [], - "6699": [], - "6701": [], - "6779": [], - "6789": [ - "https://faucet.goldsmartchain.com" - ], - "6805": [], - "6806": [ - "https://faucet.racetestnet.io/" - ], - "6868": [], - "6969": [], - "6999": [], - "7000": [], - "7001": [ - "https://www.zetachain.com/docs/reference/apps/get-testnet-zeta/" - ], - "7007": [], - "7027": [], - "7070": [], - "7077": [], - "7100": [], - "7118": [], - "7171": [], - "7222": [], - "7244": [ - "https://faucet.zeuschainscan.io" - ], - "7300": [], - "7331": [], - "7332": [], - "7341": [], - "7484": [], - "7518": [], - "7560": [], - "7575": [ - "https://testnet-faucet.adil-scan.io" - ], - "7576": [], - "7668": [], - "7672": [], - "7700": [], - "7701": [], - "7771": [ - "https://faucet.bit-rock.io" - ], - "7774": [], - "7775": [], - "7776": [], - "7777": [], - "7778": [], - "7798": [ - "https://long.hub.openex.network/faucet" - ], - "7860": [ - "https://faucet-testnet.maalscan.io/" - ], - "7862": [], - "7863": [ - "https://faucet-new-testnet.maalscan.io/" - ], - "7878": [ - "https://faucet.hazlor.com" - ], - "7887": [], - "7895": [ - "https://faucet-athena.ardescan.com/" - ], - "7923": [], - "7924": [ - "https://faucet.mochain.app/" - ], - "7979": [], - "8000": [], - "8001": [ - "https://chain-docs.teleport.network/testnet/faucet.html" - ], - "8008": [], - "8029": [], - "8047": [], - "8054": [], - "8080": [ - "https://faucet.liberty10.shardeum.org" - ], - "8081": [ - "https://faucet.liberty20.shardeum.org" - ], - "8082": [ - "https://faucet-sphinx.shardeum.org/" - ], - "8086": [], - "8087": [], - "8098": [], - "8131": [ - "https://faucet.qitmeer.io" - ], - "8132": [], - "8133": [], - "8134": [], - "8135": [], - "8136": [], - "8181": [ - "https://testnet.beonescan.com/faucet" - ], - "8192": [], - "8194": [], - "8217": [], - "8227": [], - "8272": [ - "https://faucet.blocktonscan.com/" - ], - "8285": [], - "8329": [], - "8333": [], - "8387": [], - "8453": [], - "8545": [], - "8654": [], - "8655": [], - "8668": [], - "8723": [], - "8724": [ - "https://testnet-explorer.wolot.io" - ], - "8726": [], - "8727": [], - "8732": [], - "8738": [], - "8768": [ - "https://faucet.tmychain.org/" - ], - "8822": [], - "8844": [ - "https://app.testnet.hydrachain.org/faucet" - ], - "8848": [], - "8866": [], - "8869": [], - "8880": [], - "8881": [], - "8882": [ - "https://t.me/unique2faucet_opal_bot" - ], - "8883": [], - "8886": [ - "https://faucet-testnet.avenium.io" - ], - "8888": [], - "8889": [], - "8890": [ - "https://faucetcoin.orenium.org" - ], - "8898": [ - "https://faucet.mmtscan.io/" - ], - "8899": [], - "8911": [], - "8912": [], - "8921": [], - "8922": [], - "8989": [], - "8995": [ - "https://faucet.bloxberg.org/" - ], - "9000": [ - "https://faucet.evmos.dev" - ], - "9001": [], - "9007": [ - "https://testnet.shidoscan.com/faucet" - ], - "9008": [], - "9012": [ - "https://t.me/BerylBit" - ], - "9024": [ - "https://testnet.nexablockscan.io/faucet" - ], - "9025": [], - "9069": [], - "9070": [], - "9100": [], - "9223": [], - "9339": [ - "https://faucet.dogcoin.network" - ], - "9372": [], - "9393": [], - "9395": [], - "9496": [], - "9527": [ - "https://robin-faucet.rangersprotocol.com" - ], - "9528": [ - "http://faucet.qeasyweb3.com" - ], - "9559": [ - "https://faucet.neonlink.io/" - ], - "9700": [], - "9728": [], - "9768": [ - "https://faucet.mainnetz.io" - ], - "9779": [], - "9789": [ - "https://faucet.testnet.tabichain.com" - ], - "9790": [], - "9792": [], - "9797": [], - "9818": [ - "https://faucet.imperiumchain.com/" - ], - "9819": [ - "https://faucet.imperiumchain.com/" - ], - "9876": [ - "https://faucet.testnet.binarychain.org" - ], - "9888": [], - "9898": [], - "9911": [], - "9977": [ - "https://faucet.mindchain.info/" - ], - "9980": [], - "9981": [], - "9990": [], - "9996": [], - "9997": [], - "9998": [], - "9999": [], - "10000": [], - "10001": [], - "10024": [], - "10081": [], - "10086": [], - "10096": [], - "10101": [], - "10200": [ - "https://gnosisfaucet.com" - ], - "10201": [ - "https://faucet.maxxchain.org" - ], - "10222": [], - "10242": [], - "10243": [ - "https://faucet.arthera.net" - ], - "10248": [], - "10321": [], - "10324": [ - "https://faucet.taoevm.io" - ], - "10395": [], - "10507": [], - "10508": [ - "https://faucet.avax.network/?subnet=num", - "https://faucet.num.network" - ], - "10823": [], - "10849": [], - "10850": [], - "10946": [], - "10947": [ - "https://faucetpage.quadrans.io" - ], - "11011": [], - "11110": [], - "11111": [ - "https://faucet.avax.network/?subnet=wagmi" - ], - "11115": [ - "https://faucet.astranaut.dev" - ], - "11119": [], - "11124": [ - "https://faucet.triangleplatform.com/abstract/testnet" - ], - "11221": [], - "11227": [], - "11235": [], - "11437": [], - "11501": [], - "11503": [], - "11521": [], - "11612": [ - "https://faucet.sardisnetwork.com" - ], - "11822": [], - "11891": [], - "12001": [ - "https://faucet.flash.fuse.io" - ], - "12009": [], - "12020": [ - "https://faucet.aternoschain.com" - ], - "12051": [ - "https://nft.singularity.gold" - ], - "12052": [ - "https://zeroscan.singularity.gold" - ], - "12123": [ - "https://faucet.brcchain.io" - ], - "12306": [ - "https://test.fibochain.org/faucets" - ], - "12321": [ - "https://faucet.blgchain.com" - ], - "12324": [], - "12325": [], - "12345": [ - "https://faucet.step.network" - ], - "12553": [], - "12715": [], - "12781": [], - "12890": [], - "12898": [], - "13000": [], - "13308": [], - "13337": [ - "https://faucet.avax.network/?subnet=beam", - "https://faucet.onbeam.com" - ], - "13371": [ - "https://docs.immutable.com/docs/zkEVM/guides/faucet" - ], - "13381": [], - "13396": [], - "13473": [ - "https://docs.immutable.com/docs/zkEVM/guides/faucet" - ], - "13505": [], - "13600": [], - "13812": [], - "14000": [], - "14324": [ - "https://faucet.evolveblockchain.io" - ], - "14333": [ - "https://faucet.vitruveo.xyz" - ], - "14801": [ - "https://faucet.vana.org" - ], - "14853": [ - "https://t.me/HumanodeTestnet5FaucetBot" - ], - "15003": [ - "https://docs.immutable.com/docs/zkEVM/guides/faucet" - ], - "15257": [ - "https://faucet.poodl.org" - ], - "15259": [], - "15430": [], - "15551": [], - "15555": [ - "https://faucet.testnet-dev.trust.one/" - ], - "15557": [], - "16000": [], - "16001": [ - "https://faucet.metadot.network/" - ], - "16116": [], - "16166": [], - "16180": [], - "16350": [ - "https://faucet.incentiv-dev.ankr.network" - ], - "16481": [], - "16507": [], - "16600": [ - "https://faucet.0g.ai" - ], - "16688": [], - "16718": [], - "16888": [ - "https://tfaucet.ivarex.com/" - ], - "17000": [ - "https://faucet.holesky.ethpandaops.io", - "https://holesky-faucet.pk910.de" - ], - "17069": [], - "17071": [], - "17117": [], - "17171": [ - "https://faucet.oneg8.network" - ], - "17172": [], - "17180": [], - "17217": [], - "17777": [], - "18000": [], - "18122": [], - "18159": [], - "18181": [ - "https://faucet.oneg8.network" - ], - "18233": [], - "18686": [], - "18888": [], - "18889": [], - "19011": [], - "19077": [ - "https://ping.blockxnet.com/blockx-atlantis-testnet/faucet" - ], - "19191": [ - "https://ping.blockxnet.com/blockx/faucet" - ], - "19224": [], - "19527": [], - "19600": [], - "19845": [], - "20001": [], - "20041": [], - "20073": [], - "20729": [ - "https://faucet.callisto.network/" - ], - "20736": [], - "20765": [], - "21004": [ - "https://play.google.com/store/apps/details?id=net.c4ei.fps2" - ], - "21133": [ - "https://t.me/c4eiAirdrop" - ], - "21223": [], - "21224": [ - "https://faucet.dcpay.io" - ], - "21337": [], - "21363": [], - "21816": [], - "21912": [], - "22023": [], - "22040": [], - "22222": [], - "22324": [ - "https://faucet.goldxchain.io" - ], - "22776": [], - "23006": [ - "https://faucet.antofy.io" - ], - "23118": [ - "https://faucet.opside.network" - ], - "23294": [], - "23295": [], - "23451": [], - "23452": [], - "23888": [], - "24076": [ - "https://faucet.kymaticscan.online" - ], - "24484": [], - "24734": [], - "25186": [], - "25839": [ - "https://faucet.alveytestnet.com" - ], - "25888": [], - "25925": [ - "https://faucet.bitkubchain.com" - ], - "26026": [ - "https://testnet.faucet.ferrumnetwork.io" - ], - "26482": [], - "26483": [], - "26600": [], - "26863": [ - "http://faucet.oasischain.io" - ], - "27181": [], - "27483": [], - "27827": [], - "28516": [], - "28518": [], - "28528": [], - "28882": [ - "https://www.l2faucet.com/boba" - ], - "29112": [], - "29223": [], - "29536": [ - "https://faucet.kaichain.net" - ], - "29548": [], - "30067": [ - "https://piecenetwork.com/faucet" - ], - "30088": [], - "30103": [], - "30730": [], - "30731": [], - "30732": [], - "31102": [], - "31223": [], - "31224": [ - "https://faucet.cloudtx.finance" - ], - "31337": [], - "31414": [ - "https://faucet.evokescan.org" - ], - "31753": [], - "31754": [ - "https://xchainfaucet.net" - ], - "32001": [], - "32382": [], - "32520": [], - "32659": [], - "32769": [], - "32990": [ - "https://dev-wallet.zilliqa.com/faucet?network=isolated_server" - ], - "33033": [], - "33101": [ - "https://dev-wallet.zilliqa.com/faucet?network=testnet" - ], - "33103": [ - "https://faucet.zq2-prototestnet.zilliqa.com" - ], - "33111": [ - "https://curtis.hub.caldera.xyz" - ], - "33133": [], - "33210": [], - "33333": [], - "33385": [ - "https://faucet.devnet.zilliqa.com/" - ], - "33401": [], - "33469": [ - "https://faucet.zq2-devnet.zilliqa.com" - ], - "33979": [], - "34443": [], - "34504": [], - "35011": [], - "35441": [], - "35443": [], - "38400": [], - "38401": [ - "https://robin-faucet.rangersprotocol.com" - ], - "39656": [], - "39797": [], - "39815": [], - "41455": [], - "41500": [], - "42069": [], - "42072": [], - "42161": [], - "42170": [], - "42220": [], - "42261": [ - "https://faucet.testnet.oasis.io/" - ], - "42262": [], - "42355": [], - "42421": [ - "https://faucet.assetchain.org" - ], - "42766": [], - "42793": [], - "42801": [], - "42888": [], - "43110": [ - "http://athfaucet.ava.network//?address=${ADDRESS}" - ], - "43111": [], - "43113": [ - "https://faucet.avax-test.network/" - ], - "43114": [], - "43851": [], - "44444": [], - "44445": [], - "44787": [ - "https://celo.org/developers/faucet", - "https://cauldron.pretoriaresearchlab.io/alfajores-faucet" - ], - "45000": [], - "45454": [], - "45510": [ - "https://faucet.deelance.com" - ], - "45513": [], - "46688": [], - "47763": [], - "47803": [], - "47805": [], - "48795": [], - "48899": [], - "48900": [], - "49049": [], - "49088": [], - "49321": [], - "49797": [], - "50001": [], - "50005": [], - "50006": [], - "50021": [], - "51178": [], - "51712": [ - "https://faucet.sardisnetwork.com" - ], - "52014": [], - "53277": [], - "53302": [ - "https://sepoliafaucet.com" - ], - "53457": [], - "53935": [], - "54211": [ - "https://testedge2.haqq.network" - ], - "54321": [], - "55004": [], - "55551": [ - "https://photonchain.io/testnet2" - ], - "55555": [ - "http://kururu.finance/faucet?chainId=55555" - ], - "55556": [ - "http://kururu.finance/faucet?chainId=55556" - ], - "55614": [], - "56026": [], - "56288": [], - "56400": [], - "56789": [ - "https://nova-faucet.velo.org" - ], - "56797": [], - "57000": [ - "https://rollux.id/faucetapp" - ], - "57451": [], - "58008": [], - "59140": [ - "https://faucetlink.to/goerli" - ], - "59141": [], - "59144": [], - "59902": [ - "https://sepolia.faucet.metisdevops.link" - ], - "59971": [], - "60000": [ - "https://www.thinkiumdev.net/faucet" - ], - "60001": [ - "https://www.thinkiumdev.net/faucet" - ], - "60002": [ - "https://www.thinkiumdev.net/faucet" - ], - "60103": [ - "https://www.thinkiumdev.net/faucet" - ], - "60808": [], - "61022": [], - "61406": [], - "61800": [], - "61803": [ - "http://faucet.etica-stats.org/" - ], - "61916": [], - "62049": [], - "62050": [], - "62298": [ - "https://citrea.xyz/bridge" - ], - "62320": [ - "https://docs.google.com/forms/d/e/1FAIpQLSdfr1BwUTYepVmmvfVUDRCwALejZ-TUva2YujNpvrEmPAX2pg/viewform", - "https://cauldron.pretoriaresearchlab.io/baklava-faucet" - ], - "62621": [], - "62831": [ - "https://faucet.avax.network/?subnet=plyr" - ], - "62850": [], - "63000": [], - "63001": [ - "https://faucet.tst.ecredits.com" - ], - "65349": [], - "65357": [], - "65450": [], - "65536": [], - "66988": [], - "67588": [], - "68770": [], - "69420": [ - "https://faucet.condrieu.ethdevops.io" - ], - "70000": [], - "70001": [], - "70002": [], - "70103": [], - "70700": [], - "71111": [], - "71393": [ - "https://faucet.nervos.org/" - ], - "71401": [ - "https://testnet.bridge.godwoken.io" - ], - "71402": [], - "72778": [], - "72992": [], - "73114": [], - "73115": [], - "73799": [ - "https://voltafaucet.energyweb.org" - ], - "73927": [], - "75000": [], - "75512": [], - "75513": [], - "77001": [], - "77238": [ - "https://faucet.foundryscan.org" - ], - "77612": [ - "https://faucet.vention.network" - ], - "77677": [], - "77777": [], - "78110": [], - "78281": [], - "78430": [], - "78431": [], - "78432": [], - "78600": [ - "https://faucet.vanarchain.com" - ], - "79879": [ - "https://faucet.goldsmartchain.com" - ], - "80001": [ - "https://faucet.polygon.technology/" - ], - "80002": [ - "https://faucet.polygon.technology/" - ], - "80008": [], - "80084": [ - "https://bartio.faucet.berachain.com" - ], - "80085": [ - "https://artio.faucet.berachain.com" - ], - "80096": [], - "81041": [], - "81341": [], - "81342": [], - "81343": [], - "81351": [], - "81352": [], - "81353": [], - "81361": [], - "81362": [], - "81363": [], - "81457": [], - "81720": [], - "82459": [], - "83144": [ - "https://xprotocol.org/faucets" - ], - "83278": [], - "83872": [], - "84531": [ - "https://www.coinbase.com/faucets/base-ethereum-goerli-faucet" - ], - "84532": [], - "84886": [], - "85449": [], - "88002": [ - "https://proteusfaucet.nautchain.xyz" - ], - "88559": [], - "88800": [], - "88817": [], - "88819": [], - "88882": [ - "https://spicy-faucet.chiliz.com", - "https://tatum.io/faucets/chiliz" - ], - "88888": [ - "https://spicy-faucet.chiliz.com", - "https://tatum.io/faucets/chiliz" - ], - "90001": [], - "90210": [ - "https://faucet.beverlyhills.ethdevops.io" - ], - "90354": [ - "https://www.campnetwork.xyz/faucet" - ], - "91002": [ - "https://faucet.eclipse.builders" - ], - "91120": [], - "91715": [], - "92001": [ - "https://faucet.lambda.top" - ], - "93572": [ - "https://claim.liquidlayer.network" - ], - "93747": [], - "96970": [ - "https://mantis.switch.ch/faucet", - "https://mantis.kore-technologies.ch/faucet", - "https://mantis.phoenix-systems.io/faucet", - "https://mantis.block-spirit.ch/faucet" - ], - "97435": [], - "97531": [], - "97970": [ - "https://faucet.optimusz7.com" - ], - "98881": [], - "99099": [ - "https://faucet.eliberty.ngo" - ], - "99876": [], - "99998": [], - "99999": [], - "100000": [], - "100001": [], - "100002": [], - "100003": [], - "100004": [], - "100005": [], - "100006": [], - "100007": [], - "100008": [], - "100009": [], - "100010": [ - "https://faucet.vecha.in" - ], - "100011": [], - "101010": [], - "102031": [], - "103090": [], - "103454": [], - "104566": [], - "105105": [], - "108801": [], - "110000": [], - "110001": [], - "110002": [], - "110003": [], - "110004": [], - "110005": [], - "110006": [], - "110007": [], - "110008": [], - "110011": [], - "110110": [], - "111000": [], - "111111": [], - "111188": [], - "112358": [], - "119139": [], - "123321": [], - "123456": [], - "128123": [ - "https://faucet.etherlink.com" - ], - "131313": [ - "https://faucet.dioneprotocol.com/" - ], - "131419": [], - "132902": [ - "https://info.form.network/faucet" - ], - "141319": [], - "142857": [], - "161212": [], - "165279": [], - "167000": [], - "167008": [], - "167009": [], - "175177": [ - "https://faucet.litprotocol.com" - ], - "175188": [ - "https://developer.litprotocol.com/support/intro" - ], - "188710": [], - "188881": [ - "https://faucet.condor.systems" - ], - "192940": [], - "199991": [ - "https://faucet.mazze.io/" - ], - "200000": [], - "200101": [], - "200202": [], - "200625": [], - "200810": [ - "https://www.bitlayer.org/faucet" - ], - "200901": [], - "201018": [], - "201030": [ - "https://faucet.alaya.network/faucet/?id=f93426c0887f11eb83b900163e06151c" - ], - "201804": [], - "202020": [], - "202212": [], - "202401": [], - "202624": [], - "204005": [], - "205205": [ - "https://auroria.faucet.stratisevm.com" - ], - "210049": [], - "210425": [], - "220315": [], - "221230": [], - "221231": [ - "http://faucet.reapchain.com" - ], - "222222": [], - "222555": [], - "222666": [ - "https://faucet.deeplnetwork.org" - ], - "224168": [], - "224422": [], - "224433": [], - "229772": [ - "https://faucet.abyssprotocol.ai/" - ], - "230315": [ - "https://testnet.hashkeychain/faucet" - ], - "234666": [], - "240515": [], - "246529": [], - "246785": [], - "247253": [], - "256256": [], - "262371": [ - "https://faucet.eclatscan.com" - ], - "266256": [], - "271271": [ - "https://faucet.egonscan.com" - ], - "281121": [], - "282828": [], - "292003": [], - "309075": [], - "313313": [], - "314159": [ - "https://faucet.calibration.fildev.network/" - ], - "322202": [], - "323213": [ - "https://faucet.bloomgenesis.com" - ], - "327126": [], - "328527": [], - "330844": [ - "https://faucet.tscscan.com" - ], - "333313": [], - "333331": [], - "333333": [], - "333666": [ - "https://apps-test.adigium.com/faucet" - ], - "333777": [ - "https://apps-test.adigium.com/faucet" - ], - "333888": [ - "https://faucet.polis.tech" - ], - "333999": [ - "https://faucet.polis.tech" - ], - "336655": [ - "https://faucet-testnet.uniport.network" - ], - "336666": [], - "355110": [], - "355113": [ - "https://bitfinity.network/faucet" - ], - "360890": [], - "363636": [], - "373737": [], - "381931": [], - "381932": [], - "404040": [ - "https://faucet.tipboxcoin.net" - ], - "413413": [], - "420420": [], - "420666": [], - "420692": [], - "421611": [ - "http://fauceth.komputing.org?chain=421611&address=${ADDRESS}" - ], - "421613": [], - "421614": [], - "424242": [], - "431140": [], - "432201": [ - "https://faucet.avax.network/?subnet=dexalot" - ], - "432204": [], - "444444": [], - "444900": [ - "https://faucet.weelink.gw002.oneitfarm.com" - ], - "471100": [], - "473861": [], - "474142": [], - "486487": [ - "https://faucet.gobbl.io" - ], - "490000": [], - "504441": [], - "512512": [ - "https://dev.caduceus.foundation/testNetwork" - ], - "513100": [], - "526916": [], - "534351": [], - "534352": [], - "534849": [ - "https://faucet.shinarium.org" - ], - "535037": [], - "552981": [ - "https://faucet.oneworldchain.org" - ], - "555555": [ - "https://bridge-testnet.pentagon.games" - ], - "555666": [], - "622277": [], - "622463": [], - "641230": [], - "651940": [], - "656476": [], - "660279": [], - "666666": [ - "https://vpioneerfaucet.visionscan.org" - ], - "666888": [ - "https://testnet-faucet.helachain.com" - ], - "686868": [ - "https://faucet.wondollars.org" - ], - "696969": [ - "https://docs.galadriel.com/faucet" - ], - "710420": [], - "713715": [ - "https://sei-faucet.nima.enterprises", - "https://sei-evm.faucetme.pro" - ], - "721529": [], - "743111": [], - "751230": [ - "https://faucet.bearnetwork.net" - ], - "752024": [ - "https://faucet.zkevm.ternoa.network" - ], - "761412": [], - "764984": [], - "767368": [], - "776877": [], - "800001": [], - "808080": [], - "808813": [], - "810180": [], - "810181": [], - "810182": [], - "820522": [], - "827431": [], - "839320": [ - "https://faucet.prmscan.org" - ], - "840000": [ - "https://faucet.runevm.io/" - ], - "846000": [], - "855456": [], - "879151": [], - "888882": [], - "888888": [], - "900000": [], - "910000": [ - "https://faucet.posichain.org/" - ], - "912559": [ - "https://faucet.evm.dusk-3.devnet.astria.org/" - ], - "920000": [ - "https://faucet.posichain.org/" - ], - "920001": [ - "https://faucet.posichain.org/" - ], - "923018": [ - "https://faucet-testnet.fncy.world" - ], - "955081": [], - "955305": [], - "978657": [ - "https://portal.treasure.lol/faucet" - ], - "984122": [], - "984123": [], - "988207": [], - "998899": [ - "https://faucet.chaingames.io" - ], - "999999": [], - "1100789": [], - "1127469": [], - "1234567": [], - "1261120": [], - "1313114": [], - "1313500": [], - "1337702": [ - "http://fauceth.komputing.org?chain=1337702&address=${ADDRESS}", - "https://faucet.kintsugi.themerge.dev" - ], - "1337802": [ - "https://faucet.kiln.themerge.dev", - "https://kiln-faucet.pk910.de", - "https://kilnfaucet.com" - ], - "1337803": [ - "https://faucet.zhejiang.ethpandaops.io", - "https://zhejiang-faucet.pk910.de" - ], - "1398243": [], - "1612127": [], - "1637450": [], - "1731313": [], - "2021398": [], - "2099156": [], - "2206132": [ - "https://devnet2faucet.platon.network/faucet" - ], - "2611555": [], - "2702128": [], - "3132023": [], - "3141592": [ - "https://faucet.butterfly.fildev.network" - ], - "3397901": [], - "3441005": [], - "3441006": [], - "4000003": [], - "4281033": [], - "4444444": [ - "https://sepoliafaucet.com/" - ], - "4457845": [], - "5112023": [], - "5167003": [], - "5167004": [], - "5201420": [], - "5318008": [ - "https://dev.reactive.network/docs/kopli-testnet#faucet" - ], - "5555555": [], - "5555558": [], - "6038361": [], - "6666665": [], - "6666666": [], - "7225878": [], - "7355310": [], - "7668378": [ - "https://faucet.qom.one" - ], - "7762959": [], - "7777777": [], - "8007736": [], - "8008135": [ - "https://get-helium.fhenix.zone" - ], - "8080808": [], - "8601152": [ - "https://faucet.testnet8.waterfall.network" - ], - "8794598": [], - "8888881": [], - "8888888": [], - "9322252": [], - "9322253": [], - "9999999": [], - "10067275": [], - "10101010": [ - "https://faucet.soverun.com" - ], - "10241024": [], - "10241025": [], - "11145513": [ - "https://blessnet-sepolia-testnet.hub.caldera.xyz" - ], - "11155111": [ - "http://fauceth.komputing.org?chain=11155111&address=${ADDRESS}" - ], - "11155420": [ - "https://app.optimism.io/faucet" - ], - "12052024": [], - "12227332": [], - "13068200": [ - "https://faucet.coti.io" - ], - "13371337": [], - "14288640": [], - "16658437": [], - "17000920": [], - "18071918": [], - "18289463": [], - "19850818": [], - "19880818": [], - "20180427": [], - "20180430": [], - "20181205": [], - "20201022": [], - "20230825": [], - "20240324": [], - "20240603": [], - "20241133": [], - "20482050": [], - "22052002": [], - "27082017": [ - "https://faucet.exlscan.com" - ], - "27082022": [], - "28122024": [], - "28945486": [], - "29032022": [], - "31415926": [], - "35855456": [], - "37084624": [ - "https://www.sfuelstation.com/" - ], - "39916801": [], - "43214913": [], - "52164803": [], - "61717561": [ - "https://aquacha.in/faucet" - ], - "65010003": [ - "https://faucet.autonity.org/" - ], - "65100003": [], - "68840142": [ - "https://faucet.triangleplatform.com/frame/testnet" - ], - "77787778": [], - "79479957": [ - "https://faucet.toronto.sx.technology" - ], - "88558801": [], - "88888888": [], - "94204209": [], - "99415706": [ - "https://faucet.joys.digital/" - ], - "100000000": [ - "https://faucet.ethos.cool" - ], - "108160679": [], - "111557560": [], - "123420111": [], - "161221135": [], - "168587773": [ - "https://faucet.quicknode.com/blast/sepolia" - ], - "192837465": [], - "222000222": [], - "245022926": [ - "https://neonfaucet.org" - ], - "245022929": [], - "245022934": [], - "278611351": [ - "https://faucet.razorscan.io/" - ], - "311752642": [], - "328527624": [], - "333000333": [], - "356256156": [], - "476462898": [ - "https://skopje-faucet.gptprotocol.io" - ], - "486217935": [], - "531050104": [], - "666666666": [], - "888888888": [], - "889910245": [ - "https://faucet.ptcscan.io/" - ], - "889910246": [], - "974399131": [ - "https://www.sfuelstation.com/" - ], - "999999999": [], - "1020352220": [ - "https://www.sfuelstation.com/" - ], - "1122334455": [], - "1146703430": [], - "1273227453": [ - "https://dashboard.humanprotocol.org/faucet" - ], - "1313161554": [], - "1313161555": [], - "1313161556": [], - "1313161560": [], - "1350216234": [ - "https://sfuel.skale.network/" - ], - "1351057110": [ - "https://sfuel.skale.network/staging/chaos" - ], - "1380012617": [], - "1380996178": [], - "1444673419": [ - "https://www.sfuelstation.com/" - ], - "1482601649": [ - "https://sfuel.skale.network/" - ], - "1511670449": [], - "1564830818": [ - "https://sfuel.dirtroad.dev" - ], - "1666600000": [], - "1666600001": [], - "1666700000": [ - "https://faucet.pops.one" - ], - "1666700001": [ - "https://faucet.pops.one" - ], - "1666900000": [], - "1666900001": [], - "1802203764": [], - "1903648807": [ - "https://faucet.gemuchain.io/" - ], - "1918988905": [], - "2021121117": [], - "2046399126": [ - "https://ruby.exchange/faucet.html", - "https://sfuel.mylilius.com/" - ], - "3125659152": [], - "4216137055": [ - "https://frankenstein-faucet.oneledger.network" - ], - "11297108109": [], - "11297108099": [], - "28872323069": [], - "37714555429": [], - "88153591557": [], - "107107114116": [], - "111222333444": [], - "123420000220": [], - "197710212030": [], - "197710212031": [], - "202402181627": [], - "383414847825": [ - "https://faucet.zeniq.net/" - ], - "666301171999": [], - "6022140761023": [], - "2713017997578000": [], - "2716446429837000": [] -}; -var NETWORK_EXPLORERS = { - "1": [ - { - "name": "etherscan", - "url": "https://etherscan.io", - "standard": "EIP3091" - }, - { - "name": "blockscout", - "url": "https://eth.blockscout.com", - "icon": "blockscout", - "standard": "EIP3091" - }, - { - "name": "dexguru", - "url": "https://ethereum.dex.guru", - "icon": "dexguru", - "standard": "EIP3091" - } - ], - "3": [ - { - "name": "etherscan", - "url": "https://ropsten.etherscan.io", - "standard": "EIP3091" - } - ], - "4": [ - { - "name": "etherscan-rinkeby", - "url": "https://rinkeby.etherscan.io", - "standard": "EIP3091" - } - ], - "5": [ - { - "name": "etherscan-goerli", - "url": "https://goerli.etherscan.io", - "standard": "EIP3091" - }, - { - "name": "blockscout-goerli", - "url": "https://eth-goerli.blockscout.com", - "icon": "blockscout", - "standard": "EIP3091" - } - ], - "7": [ - { - "name": "Thaichain Explorer", - "url": "https://exp.thaichain.org", - "standard": "EIP3091" - } - ], - "8": [ - { - "name": "ubiqscan", - "url": "https://ubiqscan.io", - "standard": "EIP3091" - } - ], - "10": [ - { - "name": "etherscan", - "url": "https://optimistic.etherscan.io", - "standard": "EIP3091" - }, - { - "name": "blockscout", - "url": "https://optimism.blockscout.com", - "icon": "blockscout", - "standard": "EIP3091" - }, - { - "name": "dexguru", - "url": "https://optimism.dex.guru", - "icon": "dexguru", - "standard": "EIP3091" - } - ], - "14": [ - { - "name": "blockscout", - "url": "https://flare-explorer.flare.network", - "standard": "EIP3091" - }, - { - "name": "flarescan", - "url": "https://mainnet.flarescan.com", - "standard": "EIP3091" - } - ], - "16": [ - { - "name": "blockscout", - "url": "https://coston-explorer.flare.network", - "standard": "EIP3091" - }, - { - "name": "flarescan", - "url": "https://coston.testnet.flarescan.com", - "standard": "EIP3091" - } - ], - "18": [ - { - "name": "thundercore-blockscout-testnet", - "url": "https://explorer-testnet.thundercore.com", - "standard": "EIP3091" - } - ], - "19": [ - { - "name": "blockscout", - "url": "https://songbird-explorer.flare.network", - "standard": "EIP3091" - }, - { - "name": "flarescan", - "url": "https://songbird.flarescan.com", - "standard": "EIP3091" - } - ], - "20": [ - { - "name": "elastos esc explorer", - "url": "https://esc.elastos.io", - "standard": "EIP3091" - } - ], - "21": [ - { - "name": "elastos esc explorer", - "url": "https://esc-testnet.elastos.io", - "standard": "EIP3091" - } - ], - "25": [ - { - "name": "Cronos Explorer", - "url": "https://explorer.cronos.org", - "standard": "none" - } - ], - "26": [ - { - "name": "Genesis L1 testnet explorer", - "url": "https://testnet.genesisl1.org", - "standard": "none" - } - ], - "27": [ - { - "name": "Shiba Explorer", - "url": "https://exp.shibchain.org", - "standard": "none" - } - ], - "29": [ - { - "name": "Genesis L1 blockchain explorer", - "url": "https://explorer.genesisl1.org", - "standard": "none" - } - ], - "30": [ - { - "name": "Rootstock Explorer", - "url": "https://explorer.rsk.co", - "standard": "EIP3091" - }, - { - "name": "blockscout", - "url": "https://rootstock.blockscout.com", - "icon": "blockscout", - "standard": "EIP3091" - } - ], - "31": [ - { - "name": "RSK Testnet Explorer", - "url": "https://explorer.testnet.rsk.co", - "standard": "EIP3091" - } - ], - "34": [ - { - "name": "SecureChain Mainnet", - "url": "https://explorer.securechain.ai", - "standard": "EIP3091" - } - ], - "36": [ - { - "name": "dxscan", - "url": "https://dxscan.io", - "standard": "EIP3091" - } - ], - "37": [ - { - "name": "XPLA Explorer", - "url": "https://explorer.xpla.io/mainnet", - "standard": "EIP3091" - } - ], - "39": [ - { - "icon": "u2u", - "name": "U2U Explorer", - "url": "https://u2uscan.xyz", - "standard": "EIP3091" - } - ], - "40": [ - { - "name": "teloscan", - "url": "https://teloscan.io", - "standard": "EIP3091" - } - ], - "41": [ - { - "name": "teloscan", - "url": "https://testnet.teloscan.io", - "standard": "EIP3091" - } - ], - "42": [ - { - "name": "Blockscout", - "url": "https://explorer.execution.mainnet.lukso.network", - "standard": "EIP3091" - } - ], - "43": [ - { - "name": "subscan", - "url": "https://pangolin.subscan.io", - "standard": "EIP3091" - } - ], - "44": [ - { - "name": "blockscout", - "url": "https://crab-scan.darwinia.network", - "standard": "EIP3091" - } - ], - "45": [ - { - "name": "subscan", - "url": "https://pangoro.subscan.io", - "standard": "none" - } - ], - "46": [ - { - "name": "blockscout", - "url": "https://explorer.darwinia.network", - "standard": "EIP3091" - } - ], - "47": [ - { - "name": "Acria IntelliChain-Explorer", - "url": "https://explorer.acria.ai", - "standard": "EIP3091" - } - ], - "48": [ - { - "name": "etmpscan", - "url": "https://etmscan.network", - "icon": "etmp", - "standard": "EIP3091" - } - ], - "49": [ - { - "name": "etmp", - "url": "https://pioneer.etmscan.network", - "standard": "EIP3091" - } - ], - "50": [ - { - "name": "xdcscan", - "url": "https://xdcscan.io", - "icon": "blocksscan", - "standard": "EIP3091" - }, - { - "name": "blocksscan", - "url": "https://xdc.blocksscan.io", - "icon": "blocksscan", - "standard": "EIP3091" - } - ], - "51": [ - { - "name": "xdcscan", - "url": "https://apothem.xinfinscan.com", - "icon": "blocksscan", - "standard": "EIP3091" - }, - { - "name": "blocksscan", - "url": "https://apothem.blocksscan.io", - "icon": "blocksscan", - "standard": "EIP3091" - } - ], - "52": [ - { - "name": "coinexscan", - "url": "https://www.coinex.net", - "standard": "none" - } - ], - "53": [ - { - "name": "coinexscan", - "url": "https://testnet.coinex.net", - "standard": "none" - } - ], - "54": [ - { - "name": "Belly Scan", - "url": "https://bellyscan.com", - "standard": "none" - } - ], - "55": [ - { - "name": "zyxscan", - "url": "https://zyxscan.com", - "standard": "none" - } - ], - "56": [ - { - "name": "bscscan", - "url": "https://bscscan.com", - "standard": "EIP3091" - }, - { - "name": "dexguru", - "url": "https://bnb.dex.guru", - "icon": "dexguru", - "standard": "EIP3091" - } - ], - "57": [ - { - "name": "Syscoin Block Explorer", - "url": "https://explorer.syscoin.org", - "standard": "EIP3091" - } - ], - "58": [ - { - "name": "explorer", - "url": "https://explorer.ont.io", - "standard": "EIP3091" - } - ], - "60": [ - { - "name": "GoChain Explorer", - "url": "https://explorer.gochain.io", - "standard": "EIP3091" - } - ], - "61": [ - { - "name": "blockscout-ethereum-classic", - "url": "https://etc.blockscout.com", - "standard": "EIP3091" - }, - { - "name": "etcnetworkinfo-blockscout-ethereum-classic", - "url": "https://explorer-blockscout.etc-network.info", - "standard": "none" - }, - { - "name": "etcnetworkinfo-alethio-ethereum-classic", - "url": "https://explorer-alethio.etc-network.info", - "standard": "none" - }, - { - "name": "etcnetworkinfo-expedition-ethereum-classic", - "url": "https://explorer-expedition.etc-network.info", - "standard": "none" - }, - { - "name": "hebeblock-ethereum-classic", - "url": "https://etcerscan.com", - "standard": "EIP3091" - }, - { - "name": "oklink-ethereum-classic", - "url": "https://www.oklink.com/etc", - "standard": "EIP3091" - }, - { - "name": "tokenview-ethereum-classic", - "url": "https://etc.tokenview.io", - "standard": "EIP3091" - } - ], - "63": [ - { - "name": "blockscout-mordor", - "url": "https://etc-mordor.blockscout.com", - "standard": "EIP3091" - }, - { - "name": "etcnetworkinfo-expedition-mordor", - "url": "https://explorer-expedition.etc-network.info/?network=Ethereum+Classic+at+etc-network.info+GETH+Mordor", - "standard": "none" - } - ], - "65": [ - { - "name": "OKLink", - "url": "https://www.oklink.com/okexchain-test", - "standard": "EIP3091" - } - ], - "66": [ - { - "name": "OKLink", - "url": "https://www.oklink.com/en/okc", - "standard": "EIP3091" - } - ], - "69": [ - { - "name": "etherscan", - "url": "https://kovan-optimistic.etherscan.io", - "standard": "EIP3091" - } - ], - "70": [ - { - "name": "hooscan", - "url": "https://www.hooscan.com", - "standard": "EIP3091" - } - ], - "71": [ - { - "name": "Conflux Scan", - "url": "https://evmtestnet.confluxscan.net", - "standard": "none" - } - ], - "73": [ - { - "name": "fncy scan", - "url": "https://fncyscan.fncy.world", - "icon": "fncy", - "standard": "EIP3091" - } - ], - "74": [ - { - "name": "explorer", - "url": "https://explorer.idchain.one", - "standard": "EIP3091" - } - ], - "75": [ - { - "name": "DSC Explorer Mainnet", - "url": "https://explorer.decimalchain.com", - "icon": "dsc", - "standard": "EIP3091" - } - ], - "77": [ - { - "name": "blockscout", - "url": "https://blockscout.com/poa/sokol", - "icon": "blockscout", - "standard": "EIP3091" - } - ], - "79": [ - { - "name": "zenith scan", - "url": "https://scan.zenithchain.co", - "standard": "EIP3091" - } - ], - "80": [ - { - "name": "GeneChain Scan", - "url": "https://scan.genechain.io", - "standard": "EIP3091" - } - ], - "81": [ - { - "name": "Block Explorer", - "url": "https://explorer.japanopenchain.org", - "standard": "EIP3091", - "icon": "joc" - } - ], - "82": [ - { - "name": "Meter Mainnet Scan", - "url": "https://scan.meter.io", - "standard": "EIP3091" - } - ], - "83": [ - { - "name": "Meter Testnet Scan", - "url": "https://scan-warringstakes.meter.io", - "standard": "EIP3091" - } - ], - "84": [ - { - "name": "Linqto Devnet Explorer", - "url": "https://explorer.linqto-dev.com", - "standard": "EIP3091" - } - ], - "85": [ - { - "name": "GateScan", - "url": "https://www.gatescan.org/testnet", - "standard": "EIP3091" - } - ], - "86": [ - { - "name": "GateScan", - "url": "https://www.gatescan.org", - "standard": "EIP3091" - } - ], - "87": [ - { - "name": "novanetwork", - "url": "https://explorer.novanetwork.io", - "standard": "EIP3091" - } - ], - "90": [ - { - "name": "explorer", - "url": "https://explorer.garizon.com", - "icon": "garizon", - "standard": "EIP3091" - } - ], - "91": [ - { - "name": "explorer", - "url": "https://explorer.garizon.com", - "icon": "garizon", - "standard": "EIP3091" - } - ], - "92": [ - { - "name": "explorer", - "url": "https://explorer.garizon.com", - "icon": "garizon", - "standard": "EIP3091" - } - ], - "93": [ - { - "name": "explorer", - "url": "https://explorer.garizon.com", - "icon": "garizon", - "standard": "EIP3091" - } - ], - "94": [ - { - "name": "SwissDLT Explorer", - "url": "https://explorer.swissdlt.ch", - "icon": "bcts", - "standard": "EIP3091" - } - ], - "95": [ - { - "name": "CamDL Block Explorer", - "url": "https://explorer.camdl.gov.kh", - "standard": "EIP3091" - } - ], - "96": [ - { - "name": "Bitkub Chain Explorer", - "url": "https://bkcscan.com", - "standard": "none", - "icon": "bkc" - } - ], - "97": [ - { - "name": "bscscan-testnet", - "url": "https://testnet.bscscan.com", - "standard": "EIP3091" - } - ], - "98": [ - { - "name": "SIX Scan", - "url": "https://sixscan.io/sixnet", - "standard": "none", - "icon": "six" - } - ], - "99": [ - { - "name": "blockscout", - "url": "https://blockscout.com/poa/core", - "icon": "blockscout", - "standard": "EIP3091" - } - ], - "100": [ - { - "name": "gnosisscan", - "url": "https://gnosisscan.io", - "standard": "EIP3091" - }, - { - "name": "blockscout", - "url": "https://gnosis.blockscout.com", - "icon": "blockscout", - "standard": "EIP3091" - }, - { - "name": "dexguru", - "url": "https://gnosis.dex.guru", - "icon": "dexguru", - "standard": "EIP3091" - } - ], - "103": [ - { - "name": "Worldland Explorer", - "url": "https://scan.worldland.foundation", - "standard": "EIP3091" - } - ], - "104": [ - { - "name": "kaibascan", - "url": "https://kaibascan.io", - "icon": "kaibascan", - "standard": "EIP3091" - } - ], - "105": [ - { - "name": "Web3Games Explorer", - "url": "https://explorer-devnet.web3games.org", - "standard": "none" - } - ], - "106": [ - { - "name": "Velas Explorer", - "url": "https://evmexplorer.velas.com", - "standard": "EIP3091" - } - ], - "107": [ - { - "name": "nebulatestnet", - "url": "https://explorer.novanetwork.io", - "standard": "EIP3091" - } - ], - "108": [ - { - "name": "thundercore-viewblock", - "url": "https://viewblock.io/thundercore", - "standard": "EIP3091" - } - ], - "109": [ - { - "name": "shibariumscan", - "url": "https://www.shibariumscan.io", - "standard": "none" - } - ], - "112": [ - { - "name": "blockscout", - "url": "https://coinbit-explorer.chain.sbcrypto.app", - "icon": "blockscout", - "standard": "EIP3091" - } - ], - "113": [ - { - "name": "Dehvo Explorer", - "url": "https://explorer.dehvo.com", - "standard": "EIP3091" - } - ], - "114": [ - { - "name": "blockscout", - "url": "https://coston2-explorer.flare.network", - "standard": "EIP3091" - }, - { - "name": "flarescan", - "url": "https://coston2.testnet.flarescan.com", - "standard": "EIP3091" - } - ], - "117": [ - { - "name": "Uptick Explorer", - "url": "https://evm-explorer.uptick.network", - "icon": "uptick", - "standard": "none" - } - ], - "118": [ - { - "name": "arcology", - "url": "https://testnet.arcology.network/explorer", - "standard": "none" - } - ], - "119": [ - { - "name": "enulsscan", - "url": "https://evmscan.nuls.io", - "icon": "enuls", - "standard": "EIP3091" - } - ], - "120": [ - { - "name": "enulsscan", - "url": "https://beta.evmscan.nuls.io", - "icon": "enuls", - "standard": "EIP3091" - } - ], - "121": [ - { - "name": "realscan", - "url": "https://rclscan.com", - "standard": "EIP3091" - } - ], - "122": [ - { - "name": "blockscout", - "url": "https://explorer.fuse.io", - "icon": "blockscout", - "standard": "EIP3091" - } - ], - "125": [ - { - "name": "OYchain Testnet Explorer", - "url": "https://explorer.testnet.oychain.io", - "standard": "none" - } - ], - "126": [ - { - "name": "OYchain Mainnet Explorer", - "url": "https://explorer.oychain.io", - "standard": "none" - } - ], - "128": [ - { - "name": "hecoinfo", - "url": "https://hecoinfo.com", - "standard": "EIP3091" - } - ], - "129": [ - { - "name": "Innovator Explorer", - "url": "https://evm.innovatorchain.com", - "icon": "blockscout", - "standard": "none" - } - ], - "131": [ - { - "name": "blockscout", - "url": "https://tokioscan-v2.engram.tech", - "icon": "engram", - "standard": "EIP3091" - } - ], - "133": [ - { - "name": "blockscout", - "url": "https://hashkeychain-testnet-explorer.alt.technology", - "icon": "blockscout", - "standard": "EIP3091" - } - ], - "134": [ - { - "name": "blockscout", - "url": "https://blockscout.bellecour.iex.ec", - "icon": "blockscout", - "standard": "EIP3091" - } - ], - "135": [ - { - "name": "alyx testnet scan", - "url": "https://testnet.alyxscan.com", - "standard": "EIP3091" - } - ], - "136": [ - { - "name": "Deamchain Block Explorer", - "url": "https://scan.deamchain.com", - "standard": "EIP3091", - "icon": "deam" - } - ], - "137": [ - { - "name": "polygonscan", - "url": "https://polygonscan.com", - "standard": "EIP3091" - }, - { - "name": "dexguru", - "url": "https://polygon.dex.guru", - "icon": "dexguru", - "standard": "EIP3091" - } - ], - "138": [ - { - "name": "Blockscout Explorer", - "url": "https://blockscout.defi-oracle.io", - "standard": "none" - }, - { - "name": "Quorum Explorer", - "url": "https://explorer.defi-oracle.io", - "standard": "none" - } - ], - "139": [ - { - "name": "wikiwoop", - "url": "https://explorer.wikiwoop.com", - "standard": "EIP3091" - } - ], - "141": [ - { - "name": "Belly Scan", - "url": "https://testnet.bellyscan.com", - "standard": "none" - } - ], - "144": [ - { - "name": "Phiscan", - "url": "https://phiscan.com", - "icon": "phi", - "standard": "none" - } - ], - "145": [ - { - "name": "blockscout", - "url": "https://explorer.soraai.bot", - "icon": "blockscout", - "standard": "EIP3091" - } - ], - "147": [ - { - "name": "Flag Mainnet Explorer", - "url": "https://flagscan.xyz", - "standard": "EIP3091" - } - ], - "148": [ - { - "name": "explorer", - "url": "https://explorer.evm.shimmer.network", - "icon": "shimmerevm", - "standard": "EIP3091" - } - ], - "150": [ - { - "name": "SIX Scan fivenet", - "url": "https://sixscan.io/fivenet", - "standard": "none", - "icon": "six" - } - ], - "153": [ - { - "name": "Redbelly Network Testnet Explorer", - "url": "https://explorer.testnet.redbelly.network", - "standard": "none" - } - ], - "155": [ - { - "name": "TenetScan Testnet", - "url": "https://testnet.tenetscan.io", - "icon": "tenet", - "standard": "EIP3091" - } - ], - "156": [ - { - "name": "OEScan explorer", - "url": "https://testnet.oescan.io", - "standard": "EIP3091" - } - ], - "157": [ - { - "name": "puppyscan", - "url": "https://puppyscan.shib.io", - "standard": "none" - } - ], - "158": [ - { - "name": "Rbascan Explorer", - "url": "https://rbascan.com", - "standard": "EIP3091" - } - ], - "159": [ - { - "name": "Rbascan Testnet Explorer", - "url": "https://testnet.rbascan.com", - "standard": "EIP3091" - } - ], - "161": [ - { - "name": "blockscout - evascan", - "url": "https://testnet.evascan.io", - "standard": "EIP3091" - } - ], - "164": [ - { - "name": "Omni EVM and cross-chain Explorer", - "url": "https://omega.omniscan.network", - "standard": "EIP3091" - } - ], - "167": [ - { - "name": "atoshiscan", - "url": "https://scan.atoverse.info", - "standard": "EIP3091" - } - ], - "168": [ - { - "name": "AIOZ Network Explorer", - "url": "https://explorer.aioz.network", - "standard": "EIP3091" - } - ], - "169": [ - { - "name": "manta-pacific Explorer", - "url": "https://pacific-explorer.manta.network", - "standard": "EIP3091" - } - ], - "176": [ - { - "name": "dcscan", - "url": "https://exp.dcnetio.cloud", - "standard": "none" - } - ], - "178": [ - { - "name": "abeyscan-testnet", - "url": "https://testnet.abeyscan.com", - "standard": "EIP3091" - } - ], - "179": [ - { - "name": "abeyscan", - "url": "https://abeyscan.com", - "standard": "EIP3091" - } - ], - "180": [ - { - "name": "AME Scan", - "url": "https://amescan.io", - "standard": "EIP3091" - } - ], - "184": [ - { - "name": "Dojima Testnet Explorer", - "url": "https://explorer-test.dojima.network", - "standard": "none" - } - ], - "185": [ - { - "name": "blockscout", - "url": "https://explorer.mintchain.io", - "icon": "mint", - "standard": "EIP3091" - } - ], - "186": [ - { - "name": "seeleview", - "url": "https://seeleview.net", - "standard": "none" - } - ], - "187": [ - { - "name": "Dojima Explorer", - "url": "https://explorer.dojima.network", - "standard": "none" - } - ], - "188": [ - { - "name": "Blockmeta", - "url": "https://bmc.blockmeta.com", - "standard": "none" - } - ], - "189": [ - { - "name": "Blockmeta", - "url": "https://bmctestnet.blockmeta.com", - "standard": "none" - } - ], - "190": [ - { - "name": "bbqchain-explorer", - "url": "https://bbqchain-exp.commudao.xyz", - "standard": "EIP3091" - } - ], - "193": [ - { - "name": "cemscan", - "url": "https://cemscan.com", - "standard": "EIP3091" - } - ], - "195": [ - { - "name": "OKLink", - "url": "https://www.oklink.com/xlayer-test", - "standard": "EIP3091" - } - ], - "196": [ - { - "name": "OKLink", - "url": "https://www.oklink.com/xlayer", - "standard": "EIP3091" - } - ], - "197": [ - { - "name": "blockscout", - "url": "https://testnet.neutrinoschain.com", - "standard": "EIP3091" - } - ], - "198": [ - { - "name": "Bitchain Scan", - "url": "https://explorer.bitchain.biz", - "standard": "EIP3091" - } - ], - "199": [ - { - "name": "BitTorrent Chain Explorer", - "url": "https://bttcscan.com", - "standard": "EIP3091" - } - ], - "200": [ - { - "name": "blockscout", - "url": "https://blockscout.com/xdai/arbitrum", - "standard": "EIP3091" - } - ], - "201": [ - { - "name": "moac testnet explorer", - "url": "https://testnet.moac.io", - "standard": "none" - } - ], - "202": [ - { - "name": "Edgeless Explorer", - "url": "https://testnet.explorer.edgeless.network", - "standard": "EIP3091" - } - ], - "204": [ - { - "name": "opbnbscan", - "url": "https://mainnet.opbnbscan.com", - "standard": "EIP3091" - } - ], - "206": [ - { - "name": "VinuScan Testnet", - "url": "https://testnet.vinuscan.com", - "icon": "vinuscan-testnet", - "standard": "none" - } - ], - "207": [ - { - "name": "VinuScan", - "url": "https://vinuscan.com", - "icon": "vinuscan", - "standard": "none" - } - ], - "210": [ - { - "name": "Bitnet Explorer", - "url": "https://btnscan.com", - "standard": "EIP3091" - } - ], - "212": [ - { - "name": "maposcan", - "url": "https://testnet.maposcan.io", - "standard": "EIP3091" - } - ], - "213": [ - { - "name": "B2 Hub Mainnet Explorer", - "url": "https://hub-explorer.bsquared.network", - "icon": "bsquare", - "standard": "EIP3091" - } - ], - "214": [ - { - "name": "shinascan", - "url": "https://shinascan.shinarium.org", - "standard": "EIP3091" - } - ], - "217": [ - { - "name": "siriusnet explorer", - "url": "https://scan.siriusnet.io", - "standard": "none" - } - ], - "220": [ - { - "name": "scalind", - "url": "https://explorer-sepolia.scalind.com", - "standard": "EIP3091" - } - ], - "221": [ - { - "name": "BlockEx Scan", - "url": "http://explorer.blockex.biz", - "standard": "EIP3091" - } - ], - "223": [ - { - "name": "blockscout", - "url": "https://explorer.bsquared.network", - "icon": "bsquare", - "standard": "EIP3091" - } - ], - "224": [ - { - "name": "Viridis Testnet", - "url": "https://testnet.vrd.network", - "standard": "EIP3091" - } - ], - "225": [ - { - "name": "blockscout", - "url": "https://scan.lachain.io", - "standard": "EIP3091" - } - ], - "226": [ - { - "name": "blockscout", - "url": "https://scan-test.lachain.io", - "standard": "EIP3091" - } - ], - "230": [ - { - "name": "SwapDEX", - "url": "https://evm.swapdex.network", - "standard": "none" - } - ], - "233": [ - { - "name": "Ethernity Testnet Explorer", - "url": "https://testnet.ernscan.io", - "standard": "EIP3091" - } - ], - "234": [ - { - "name": "ProtoJumbo", - "url": "https://protojumbo.jumbochain.org", - "standard": "EIP3091" - } - ], - "236": [ - { - "name": "Deamchain Testnet Explorer", - "url": "https://testnet-scan.deamchain.com", - "standard": "EIP3091", - "icon": "deam" - } - ], - "242": [ - { - "name": "plgscan", - "url": "https://www.plgscan.com", - "standard": "EIP3091" - } - ], - "246": [ - { - "name": "blockscout", - "url": "https://explorer.energyweb.org", - "standard": "none" - } - ], - "248": [ - { - "name": "blockscout", - "url": "https://explorer.oasys.games", - "standard": "EIP3091" - } - ], - "250": [ - { - "name": "ftmscan", - "url": "https://ftmscan.com", - "icon": "ftmscan", - "standard": "EIP3091" - }, - { - "name": "dexguru", - "url": "https://fantom.dex.guru", - "icon": "dexguru", - "standard": "EIP3091" - } - ], - "252": [ - { - "name": "fraxscan", - "url": "https://fraxscan.com", - "standard": "EIP3091" - } - ], - "254": [ - { - "name": "Swanchain Explorer", - "url": "https://swanscan.io", - "standard": "EIP3091" - } - ], - "255": [ - { - "name": "blockscout", - "url": "https://blockscout.kroma.network", - "icon": "blockscout", - "standard": "EIP3091" - } - ], - "259": [ - { - "name": "Neon Blockchain Explorer", - "url": "https://scan.neonlink.io", - "standard": "EIP3091", - "icon": "neonlink" - } - ], - "261": [ - { - "name": "guruscan", - "url": "https://scan.gurunetwork.ai", - "standard": "EIP3091" - } - ], - "262": [ - { - "name": "Surnet Explorer", - "url": "https://explorer.surnet.org", - "icon": "SUR", - "standard": "EIP3091" - } - ], - "267": [ - { - "name": "ankrscan-neura", - "url": "https://testnet.explorer.neuraprotocol.io", - "icon": "neura", - "standard": "EIP3091" - }, - { - "name": "blockscout", - "url": "https://explorer.neura-testnet.ankr.com", - "icon": "blockscout", - "standard": "EIP3091" - } - ], - "269": [ - { - "name": "hscan", - "url": "https://hscan.org", - "standard": "EIP3091" - } - ], - "271": [ - { - "name": "EgonCoin Mainnet", - "url": "https://egonscan.com", - "standard": "EIP3091" - } - ], - "274": [ - { - "name": "LaChain Explorer", - "url": "https://explorer.lachain.network", - "standard": "EIP3091" - } - ], - "282": [ - { - "name": "Cronos zkEVM Testnet Explorer", - "url": "https://explorer.zkevm.cronos.org/testnet", - "standard": "none" - } - ], - "288": [ - { - "name": "Bobascan", - "url": "https://bobascan.com", - "standard": "none" - } - ], - "291": [ - { - "name": "orderlyscout", - "url": "https://explorer.orderly.network", - "icon": "blockscout", - "standard": "EIP3091" - } - ], - "295": [ - { - "name": "HashScan", - "url": "https://hashscan.io/mainnet", - "standard": "EIP3091" - }, - { - "name": "Arkhia Explorer", - "url": "https://explorer.arkhia.io", - "standard": "none" - }, - { - "name": "DragonGlass", - "url": "https://app.dragonglass.me", - "standard": "none" - }, - { - "name": "Hedera Explorer", - "url": "https://hederaexplorer.io", - "standard": "none" - }, - { - "name": "Ledger Works Explore", - "url": "https://explore.lworks.io", - "standard": "none" - } - ], - "296": [ - { - "name": "HashScan", - "url": "https://hashscan.io/testnet", - "standard": "EIP3091" - }, - { - "name": "Arkhia Explorer", - "url": "https://explorer.arkhia.io", - "standard": "none" - }, - { - "name": "DragonGlass", - "url": "https://app.dragonglass.me", - "standard": "none" - }, - { - "name": "Hedera Explorer", - "url": "https://hederaexplorer.io", - "standard": "none" - }, - { - "name": "Ledger Works Explore", - "url": "https://explore.lworks.io", - "standard": "none" - } - ], - "297": [ - { - "name": "HashScan", - "url": "https://hashscan.io/previewnet", - "standard": "EIP3091" - } - ], - "300": [ - { - "name": "zkSync Block Explorer", - "url": "https://sepolia.explorer.zksync.io", - "icon": "zksync-era", - "standard": "EIP3091" - } - ], - "302": [ - { - "name": "zkCandy Block Explorer", - "url": "https://sepolia.explorer.zkcandy.io", - "icon": "zkcandy", - "standard": "EIP3091" - } - ], - "303": [ - { - "name": "neuroscan", - "url": "https://testnet.ncnscan.com", - "standard": "EIP3091" - } - ], - "305": [ - { - "name": "blockscout", - "url": "https://explorer.zksats.io", - "icon": "zksats", - "standard": "EIP3091" - } - ], - "307": [ - { - "name": "Lovely Network Testnet", - "url": "https://tscan.lovely.network", - "standard": "EIP3091" - } - ], - "308": [ - { - "name": "furthscan", - "url": "http://furthscan.com", - "standard": "EIP3091" - } - ], - "309": [ - { - "name": "wyzth", - "url": "http://24.199.108.65:4000", - "icon": "wyzth", - "standard": "EIP3091" - } - ], - "311": [ - { - "name": "Omax Chain Explorer", - "url": "https://omaxray.com", - "icon": "omaxray", - "standard": "EIP3091" - } - ], - "313": [ - { - "name": "neuroscan", - "url": "https://ncnscan.com", - "standard": "EIP3091" - } - ], - "314": [ - { - "name": "Filfox", - "url": "https://filfox.info/en", - "standard": "none" - }, - { - "name": "Beryx", - "url": "https://beryx.zondax.ch", - "standard": "none" - }, - { - "name": "Glif Explorer", - "url": "https://explorer.glif.io", - "standard": "EIP3091" - }, - { - "name": "Dev.storage", - "url": "https://dev.storage", - "standard": "none" - }, - { - "name": "Filscan", - "url": "https://filscan.io", - "standard": "none" - }, - { - "name": "Filscout", - "url": "https://filscout.io/en", - "standard": "none" - } - ], - "321": [ - { - "name": "KCC Explorer", - "url": "https://explorer.kcc.io/en", - "standard": "EIP3091" - } - ], - "322": [ - { - "name": "kcc-scan-testnet", - "url": "https://scan-testnet.kcc.network", - "standard": "EIP3091" - } - ], - "323": [ - { - "name": "Blockscout", - "url": "https://explorer.cosvm.net", - "icon": "blockscout", - "standard": "EIP3091" - } - ], - "324": [ - { - "name": "zkSync Era Block Explorer", - "url": "https://explorer.zksync.io", - "icon": "zksync-era", - "standard": "EIP3091" - } - ], - "333": [ - { - "name": "w3q-mainnet", - "url": "https://explorer.mainnet.web3q.io", - "standard": "EIP3091" - } - ], - "335": [ - { - "name": "ethernal", - "url": "https://explorer-test.dfkchain.com", - "icon": "ethereum", - "standard": "none" - } - ], - "336": [ - { - "name": "subscan", - "url": "https://shiden.subscan.io", - "standard": "none", - "icon": "subscan" - }, - { - "name": "blockscout", - "url": "https://blockscout.com/shiden", - "icon": "blockscout", - "standard": "EIP3091" - } - ], - "338": [ - { - "name": "Cronos Testnet Explorer", - "url": "https://explorer.cronos.org/testnet", - "standard": "none" - } - ], - "345": [ - { - "name": "tscscan", - "url": "https://www.tscscan.io", - "icon": "netxscan", - "standard": "none" - } - ], - "361": [ - { - "name": "Theta Mainnet Explorer", - "url": "https://explorer.thetatoken.org", - "standard": "EIP3091" - } - ], - "363": [ - { - "name": "Theta Sapphire Testnet Explorer", - "url": "https://guardian-testnet-sapphire-explorer.thetatoken.org", - "standard": "EIP3091" - } - ], - "364": [ - { - "name": "Theta Amber Testnet Explorer", - "url": "https://guardian-testnet-amber-explorer.thetatoken.org", - "standard": "EIP3091" - } - ], - "365": [ - { - "name": "Theta Testnet Explorer", - "url": "https://testnet-explorer.thetatoken.org", - "standard": "EIP3091" - } - ], - "369": [ - { - "name": "blockscout", - "url": "https://scan.pulsechain.com", - "icon": "blockscout", - "standard": "EIP3091" - }, - { - "name": "otterscan", - "url": "https://otter.pulsechain.com", - "standard": "EIP3091" - } - ], - "371": [ - { - "name": "blockscout", - "url": "https://explorer-testnet.theconsta.com", - "standard": "EIP3091" - } - ], - "380": [ - { - "name": "ZKAmoeba Test Explorer", - "url": "https://testnetexplorer.zkamoeba.com", - "icon": "zkamoeba-micro", - "standard": "EIP3091" - } - ], - "381": [ - { - "name": "ZKAmoeba Explorer", - "url": "https://explorer.zkamoeba.com", - "icon": "zkamoeba-micro", - "standard": "EIP3091" - } - ], - "388": [ - { - "name": "Cronos zkEVM (Mainnet) Chain Explorer", - "url": "https://explorer.zkevm.cronos.org", - "standard": "none" - } - ], - "395": [ - { - "name": "CamDL Testnet Explorer", - "url": "https://explorer.testnet.camdl.gov.kh", - "standard": "EIP3091" - } - ], - "397": [ - { - "name": "Near Blocks", - "url": "https://nearblocks.io", - "standard": "none" - } - ], - "398": [ - { - "name": "Near blocks", - "url": "https://testnet.nearblocks.io", - "standard": "none" - } - ], - "399": [ - { - "name": "N3scan", - "url": "https://scan.nativ3.network", - "standard": "EIP3091" - } - ], - "400": [ - { - "name": "blockscout", - "url": "https://testnet.hyperonchain.com", - "icon": "hyperonchain", - "standard": "EIP3091" - } - ], - "401": [ - { - "name": "OZONE Scan", - "url": "https://testnet.ozonescan.io", - "standard": "EIP3091" - } - ], - "404": [ - { - "name": "Syndr L3 Explorer", - "url": "https://explorer.syndr.com", - "standard": "EIP3091" - } - ], - "411": [ - { - "name": "pepechain explorer", - "url": "https://explorer.pepe-chain.vip", - "standard": "EIP3091" - } - ], - "416": [ - { - "name": "SX Network Explorer", - "url": "https://explorer.sx.technology", - "standard": "EIP3091" - } - ], - "418": [ - { - "name": "LaTestnet Explorer", - "url": "https://testexplorer.lachain.network", - "standard": "EIP3091" - } - ], - "420": [ - { - "name": "blockscout", - "url": "https://optimism-goerli.blockscout.com", - "icon": "blockscout", - "standard": "EIP3091" - } - ], - "422": [ - { - "name": "Viridis Mainnet", - "url": "https://explorer.vrd.network", - "standard": "EIP3091" - } - ], - "424": [ - { - "name": "blockscout", - "url": "https://explorer.publicgoods.network", - "icon": "blockscout", - "standard": "EIP3091" - } - ], - "427": [ - { - "name": "Zeeth Explorer", - "url": "https://explorer.zeeth.io", - "standard": "none" - } - ], - "428": [ - { - "name": "Geso Verse Explorer", - "url": "https://explorer.verse.gesoten.com", - "standard": "EIP3091" - } - ], - "434": [ - { - "name": "Boyaa explorer", - "url": "https://explorer.mainnet.boyaa.network", - "standard": "EIP3091" - } - ], - "443": [ - { - "name": "Ten Sepolia Rollup Explorer", - "url": "https://tenscan.io", - "standard": "none" - } - ], - "444": [ - { - "name": "Synapse Chain Sepolia", - "url": "https://sepolia.synapsescan.com", - "standard": "EIP3091" - } - ], - "456": [ - { - "name": "ARZIO Scan", - "url": "https://scan.arzio.co", - "standard": "EIP3091" - } - ], - "462": [ - { - "name": "AreonScan", - "url": "https://areonscan.com", - "standard": "none" - } - ], - "463": [ - { - "name": "AreonScan", - "url": "https://areonscan.com", - "standard": "none" - } - ], - "500": [ - { - "name": "blockexplorer", - "url": "https://suite.camino.network/explorer", - "standard": "none" - } - ], - "501": [ - { - "name": "blockexplorer", - "url": "https://suite.camino.network/explorer", - "standard": "none" - } - ], - "512": [ - { - "name": "aacscan", - "url": "https://scan.acuteangle.com", - "standard": "EIP3091" - } - ], - "513": [ - { - "name": "aacscan-testnet", - "url": "https://scan-testnet.acuteangle.com", - "standard": "EIP3091" - } - ], - "520": [ - { - "name": "xscscan", - "url": "https://xscscan.pub", - "standard": "EIP3091" - } - ], - "530": [ - { - "name": "FunctionX Explorer", - "url": "https://fx-evm.functionx.io", - "standard": "EIP3091" - } - ], - "534": [ - { - "name": "candleexplorer", - "url": "https://candleexplorer.com", - "standard": "EIP3091" - } - ], - "537": [ - { - "name": "OpTrust explorer", - "url": "https://scan.optrust.io", - "icon": "optrust", - "standard": "none" - } - ], - "542": [ - { - "name": "PAWCHAIN Testnet", - "url": "https://pawscan.io", - "standard": "none" - } - ], - "545": [ - { - "name": "FlowScan: Testnet", - "url": "https://evm-testnet.flowscan.io", - "standard": "EIP3091" - } - ], - "555": [ - { - "name": "Vela1 Chain Mainnet Explorer", - "url": "https://exp.velaverse.io", - "standard": "EIP3091" - } - ], - "568": [ - { - "name": "dogechain testnet explorer", - "url": "https://explorer-testnet.dogechain.dog", - "standard": "EIP3091" - } - ], - "570": [ - { - "name": "Rollux Explorer", - "url": "https://explorer.rollux.com", - "standard": "EIP3091" - } - ], - "571": [ - { - "name": "MetaExplorer", - "url": "https://explorer.metatime.com", - "standard": "EIP3091" - } - ], - "579": [ - { - "name": "filenova explorer", - "url": "https://scan.filenova.org", - "icon": "filenova", - "standard": "none" - } - ], - "592": [ - { - "name": "subscan", - "url": "https://astar.subscan.io", - "standard": "none", - "icon": "subscan" - }, - { - "name": "blockscout", - "url": "https://blockscout.com/astar", - "icon": "blockscout", - "standard": "EIP3091" - } - ], - "595": [ - { - "name": "blockscout", - "url": "https://blockscout.mandala.aca-staging.network", - "standard": "EIP3091" - } - ], - "596": [ - { - "name": "blockscout", - "url": "https://blockscout.karura-testnet.aca-staging.network", - "standard": "EIP3091" - } - ], - "597": [ - { - "name": "blockscout", - "url": "https://blockscout.acala-dev.aca-dev.network", - "standard": "EIP3091" - } - ], - "601": [ - { - "name": "Vine Explorer", - "url": "https://vne.network/rose", - "standard": "none", - "icon": "vine" - } - ], - "610": [ - { - "name": "Darwin Explorer", - "url": "https://explorer.darwinchain.ai", - "icon": "darwin", - "standard": "none" - } - ], - "612": [ - { - "name": "EIOB Explorer", - "url": "https://explorer.eiob.xyz", - "standard": "none" - } - ], - "614": [ - { - "name": "GLQ Explorer", - "url": "https://explorer.graphlinq.io", - "standard": "none" - } - ], - "624": [ - { - "name": "Tracehawk", - "url": "https://explorer.thebinaryholdings.com", - "standard": "none" - } - ], - "625": [ - { - "name": "Tracehawk", - "url": "https://explorer.sepolia.thebinaryholdings.com", - "standard": "none" - } - ], - "634": [ - { - "name": "avoscan", - "url": "https://avoscan.co", - "icon": "avocado", - "standard": "none" - } - ], - "646": [ - { - "name": "EVM on Flow Block Explorer (PreviewNet)", - "url": "https://eth.flowscan.io", - "standard": "EIP3091" - } - ], - "647": [ - { - "name": "SX Network Toronto Explorer", - "url": "https://explorer.toronto.sx.technology", - "standard": "EIP3091" - } - ], - "648": [ - { - "name": "Endurance Scan", - "url": "https://explorer.endurance.fusionist.io", - "standard": "EIP3091" - } - ], - "653": [ - { - "name": "kalichain explorer", - "url": "https://explorer.kalichain.com", - "standard": "EIP3091" - } - ], - "654": [ - { - "name": "kalichain explorer", - "url": "https://explorer.kalichain.com", - "standard": "EIP3091" - } - ], - "662": [ - { - "name": "ultronsmartchain explorer", - "url": "https://scan.ultronsmartchain.io", - "standard": "EIP3091" - } - ], - "667": [ - { - "name": "blockscout", - "url": "https://arrakis.gorengine.com", - "icon": "laos", - "standard": "EIP3091" - } - ], - "668": [ - { - "name": "JuncaScan", - "url": "https://scan.juncachain.com", - "standard": "EIP3091" - } - ], - "669": [ - { - "name": "JuncaScan", - "url": "https://scan-testnet.juncachain.com", - "standard": "EIP3091" - } - ], - "686": [ - { - "name": "blockscout", - "url": "https://blockscout.karura.network", - "standard": "EIP3091" - } - ], - "690": [ - { - "name": "blockscout", - "url": "https://explorer.redstone.xyz", - "icon": "blockscout", - "standard": "EIP3091" - } - ], - "700": [ - { - "name": "starscan", - "url": "https://avastar.info", - "standard": "EIP3091" - } - ], - "701": [ - { - "name": "blockscout", - "url": "https://koi-scan.darwinia.network", - "standard": "EIP3091" - } - ], - "707": [ - { - "name": "BlockChain Station Explorer", - "url": "https://explorer.bcsdev.io", - "standard": "EIP3091" - } - ], - "708": [ - { - "name": "BlockChain Station Explorer", - "url": "https://testnet.bcsdev.io", - "standard": "EIP3091" - } - ], - "710": [ - { - "name": "Furya EVM Explorer", - "url": "https://explorer.furya.io", - "standard": "EIP3091", - "icon": "highbury" - } - ], - "713": [ - { - "name": "vrcscan", - "url": "https://vrcscan.com", - "standard": "EIP3091" - }, - { - "name": "dxbscan", - "url": "https://dxb.vrcscan.com", - "standard": "EIP3091" - } - ], - "719": [ - { - "name": "shibscan", - "url": "https://puppyscan.shib.io", - "standard": "EIP3091" - } - ], - "721": [ - { - "name": "blockscout", - "url": "https://explorer.lycanchain.com", - "standard": "EIP3091" - } - ], - "730": [ - { - "name": "Lovely Network Mainnet", - "url": "https://scan.lovely.network", - "standard": "EIP3091" - } - ], - "741": [ - { - "name": "ventionscan", - "url": "https://testnet.ventionscan.io", - "standard": "EIP3091" - } - ], - "742": [ - { - "name": "Script Explorer", - "url": "https://explorer.script.tv", - "standard": "none" - } - ], - "747": [ - { - "name": "Flow Diver", - "url": "https://flowdiver.io", - "standard": "none" - } - ], - "766": [ - { - "name": "QL1 Mainnet Explorer", - "url": "https://mainnet.qom.one", - "icon": "qom", - "standard": "EIP3091" - } - ], - "776": [ - { - "name": "OPEN CHAIN TESTNET", - "url": "https://testnet.openchain.info", - "standard": "none" - } - ], - "786": [ - { - "name": "maalscan", - "url": "https://maalscan.io", - "standard": "EIP3091" - } - ], - "787": [ - { - "name": "blockscout", - "url": "https://blockscout.acala.network", - "standard": "EIP3091" - } - ], - "788": [ - { - "name": "aeroscan", - "url": "https://testnet.aeroscan.id", - "standard": "EIP3091" - } - ], - "789": [ - { - "name": "patexscan", - "url": "https://patexscan.io", - "icon": "patex", - "standard": "EIP3091" - } - ], - "799": [ - { - "name": "rupayascan", - "url": "https://scan.testnet.rupaya.io", - "standard": "EIP3091" - } - ], - "800": [ - { - "name": "Lucid Explorer", - "url": "https://explorer.lucidcoin.io", - "standard": "none" - } - ], - "810": [ - { - "name": "Haven1 Explorer", - "url": "https://testnet-explorer.haven1.org", - "icon": "haven1", - "standard": "EIP3091" - } - ], - "813": [ - { - "name": "meerscan", - "icon": "meer", - "url": "https://qng.qitmeer.io", - "standard": "EIP3091" - }, - { - "name": "meerscan", - "icon": "meer", - "url": "https://qng.meerscan.io", - "standard": "EIP3091" - } - ], - "818": [ - { - "name": "BeOne Chain Mainnet", - "url": "https://beonescan.com", - "standard": "EIP3091" - } - ], - "822": [ - { - "name": "RunicScan", - "url": "https://scan.runic.build", - "icon": "runic-testnet", - "standard": "EIP3091" - } - ], - "831": [ - { - "name": "CDT Explorer", - "url": "https://explorer.checkdot.io", - "standard": "none" - } - ], - "841": [ - { - "name": "Taraxa Explorer", - "url": "https://explorer.mainnet.taraxa.io", - "standard": "none" - } - ], - "842": [ - { - "name": "Taraxa Explorer", - "url": "https://explorer.testnet.taraxa.io", - "standard": "none" - } - ], - "852": [ - { - "name": "HongKong Mainnet Explorer", - "url": "http://47.238.205.52", - "standard": "none" - } - ], - "859": [ - { - "name": "Zeeth Explorer Dev", - "url": "https://explorer.dev.zeeth.io", - "standard": "none" - } - ], - "868": [ - { - "name": "FSCScan", - "url": "https://explorer.fantasiachain.com", - "standard": "EIP3091" - } - ], - "876": [ - { - "name": "Bandai Namco Research Verse Explorer", - "url": "https://explorer.main.oasvrs.bnken.net", - "standard": "EIP3091" - } - ], - "877": [ - { - "name": "dxtscan", - "url": "https://dxtscan.com", - "standard": "EIP3091" - } - ], - "880": [ - { - "name": "Ambros Chain Explorer", - "url": "https://ambrosscan.com", - "standard": "none" - } - ], - "888": [ - { - "name": "wanscan", - "icon": "wanchain", - "url": "https://wanscan.org", - "standard": "EIP3091" - } - ], - "898": [ - { - "name": "Maxi Chain Testnet Explorer", - "url": "https://testnet.maxi.network", - "standard": "EIP3091" - } - ], - "899": [ - { - "name": "Maxi Chain Mainnet Explorer", - "url": "https://mainnet.maxi.network", - "standard": "EIP3091" - } - ], - "900": [ - { - "name": "explorer", - "url": "https://explorer-testnet.garizon.com", - "icon": "garizon", - "standard": "EIP3091" - } - ], - "901": [ - { - "name": "explorer", - "url": "https://explorer-testnet.garizon.com", - "icon": "garizon", - "standard": "EIP3091" - } - ], - "902": [ - { - "name": "explorer", - "url": "https://explorer-testnet.garizon.com", - "icon": "garizon", - "standard": "EIP3091" - } - ], - "903": [ - { - "name": "explorer", - "url": "https://explorer-testnet.garizon.com", - "icon": "garizon", - "standard": "EIP3091" - } - ], - "911": [ - { - "name": "TAPROOT Scan", - "url": "https://scan.taprootchain.io", - "icon": "taproot", - "standard": "EIP3091" - } - ], - "917": [ - { - "name": "FireScan", - "url": "https://rinia.firescan.io", - "standard": "EIP3091" - } - ], - "919": [ - { - "name": "modescout", - "url": "https://sepolia.explorer.mode.network", - "standard": "none" - } - ], - "927": [ - { - "name": "Yidarkscan", - "url": "https://yidarkscan.com", - "standard": "EIP3091" - } - ], - "943": [ - { - "name": "blockscout", - "url": "https://scan.v4.testnet.pulsechain.com", - "icon": "blockscout", - "standard": "EIP3091" - }, - { - "name": "blockscout", - "url": "https://otter-testnet-pulsechain.g4mm4.io", - "standard": "EIP3091" - } - ], - "957": [ - { - "name": "Lyra Explorer", - "url": "https://explorer.lyra.finance", - "icon": "lyra", - "standard": "EIP3091" - } - ], - "963": [ - { - "name": "blockscout", - "url": "https://scan.bitcoincode.technology", - "standard": "EIP3091" - } - ], - "969": [ - { - "name": "EthXY Network Explorer", - "url": "https://explorer.ethxy.com", - "standard": "EIP3091" - } - ], - "970": [ - { - "name": "Oort Mainnet Explorer", - "url": "https://mainnet-scan.oortech.com", - "standard": "none", - "icon": "oort" - } - ], - "972": [ - { - "name": "Oort Ascraeus Explorer", - "url": "https://ascraeus-scan.oortech.com", - "standard": "none", - "icon": "oort" - } - ], - "979": [ - { - "name": "EthXY Testnet Network Explorer", - "url": "https://explorer.testnet.ethxy.com", - "standard": "EIP3091" - } - ], - "980": [ - { - "name": "topscan.dev", - "url": "https://www.topscan.io", - "standard": "none" - } - ], - "985": [ - { - "name": "Memo Mainnet Explorer", - "url": "https://scan.metamemo.one:8080", - "icon": "memo", - "standard": "EIP3091" - } - ], - "987": [ - { - "name": "BinaryChain Explorer", - "url": "https://explorer.binarychain.org", - "standard": "EIP3091" - } - ], - "989": [ - { - "name": "topscan.dev", - "url": "https://www.topscan.io", - "standard": "none" - } - ], - "990": [ - { - "name": "eLiberty Mainnet", - "url": "https://explorer.eliberty.ngo", - "standard": "EIP3091" - } - ], - "995": [ - { - "name": "5ireChain Explorer", - "url": "https://5irescan.io", - "standard": "none", - "icon": "5ireChain" - } - ], - "997": [ - { - "name": "5ireChain Explorer", - "url": "https://explorer.5ire.network", - "standard": "none", - "icon": "5ireChain" - } - ], - "998": [ - { - "name": "blockscout", - "url": "https://explorer.luckynetwork.org", - "standard": "none" - }, - { - "name": "expedition", - "url": "https://lnscan.org", - "standard": "none" - } - ], - "999": [ - { - "name": "wanscan", - "icon": "wanchain", - "url": "https://testnet.wanscan.org", - "standard": "EIP3091" - } - ], - "1000": [ - { - "name": "GTON Network Explorer", - "url": "https://explorer.gton.network", - "standard": "EIP3091" - } - ], - "1001": [ - { - "name": "Klaytnscope", - "url": "https://baobab.klaytnscope.com", - "standard": "EIP3091" - }, - { - "name": "Klaytnfinder", - "url": "https://baobab.klaytnfinder.io", - "standard": "EIP3091" - } - ], - "1003": [ - { - "name": "Tectum explorer", - "url": "https://explorer.tectum.io", - "icon": "Tettoken256", - "standard": "EIP3091" - } - ], - "1004": [ - { - "name": "test-ektascan", - "url": "https://test.ektascan.io", - "icon": "ekta", - "standard": "EIP3091" - } - ], - "1008": [ - { - "name": "eurusexplorer", - "url": "https://explorer.eurus.network", - "icon": "eurus", - "standard": "none" - } - ], - "1009": [ - { - "name": "Jumboscan", - "url": "https://jumboscan.jumbochain.org", - "standard": "EIP3091" - } - ], - "1011": [ - { - "name": "Rebus EVM Explorer (Blockscout)", - "url": "https://evm.rebuschain.com", - "icon": "rebus", - "standard": "none" - }, - { - "name": "Rebus Cosmos Explorer (ping.pub)", - "url": "https://cosmos.rebuschain.com", - "icon": "rebus", - "standard": "none" - } - ], - "1028": [ - { - "name": "testbttcscan", - "url": "https://testscan.bittorrentchain.io", - "standard": "none" - } - ], - "1030": [ - { - "name": "Conflux Scan", - "url": "https://evm.confluxscan.net", - "standard": "none" - } - ], - "1031": [ - { - "name": "proxy network testnet", - "url": "http://testnet-explorer.theproxy.network", - "standard": "EIP3091" - } - ], - "1038": [ - { - "name": "Bronos Testnet Explorer", - "url": "https://tbroscan.bronos.org", - "standard": "none", - "icon": "bronos" - } - ], - "1039": [ - { - "name": "Bronos Explorer", - "url": "https://broscan.bronos.org", - "standard": "none", - "icon": "bronos" - } - ], - "1073": [ - { - "name": "explorer", - "url": "https://explorer.evm.testnet.shimmer.network", - "standard": "EIP3091" - } - ], - "1075": [ - { - "name": "explorer", - "url": "https://explorer.evm.testnet.iotaledger.net", - "standard": "EIP3091" - } - ], - "1079": [ - { - "name": "explorer", - "url": "https://subnets-test.avax.network/mintara", - "standard": "EIP3091" - } - ], - "1080": [ - { - "name": "explorer", - "url": "https://subnets.avax.network/mintara", - "standard": "EIP3091" - } - ], - "1088": [ - { - "name": "blockscout", - "url": "https://andromeda-explorer.metis.io", - "standard": "EIP3091" - } - ], - "1089": [ - { - "name": "explorer.guru", - "url": "https://humans.explorers.guru", - "icon": "humans", - "standard": "none" - } - ], - "1099": [ - { - "name": "moac explorer", - "url": "https://explorer.moac.io", - "standard": "none" - } - ], - "1100": [ - { - "name": "dym.fyi", - "url": "https://dym.fyi", - "standard": "EIP3091" - } - ], - "1101": [ - { - "name": "blockscout", - "url": "https://zkevm.polygonscan.com", - "icon": "zkevm", - "standard": "EIP3091" - } - ], - "1107": [ - { - "name": "BLXq Explorer", - "url": "https://explorer.blx.org", - "icon": "blxq", - "standard": "none" - } - ], - "1108": [ - { - "name": "BLXq Explorer", - "url": "https://explorer.blxq.org", - "icon": "blxq", - "standard": "EIP3091" - } - ], - "1111": [ - { - "name": "WEMIX Block Explorer", - "url": "https://explorer.wemix.com", - "standard": "EIP3091" - } - ], - "1112": [ - { - "name": "WEMIX Testnet Microscope", - "url": "https://microscope.test.wemix.com", - "standard": "EIP3091" - } - ], - "1113": [ - { - "name": "B2 Hub Habitat Testnet Explorer", - "url": "https://testnet-hub-explorer.bsquared.network", - "icon": "bsquare", - "standard": "EIP3091" - } - ], - "1115": [ - { - "name": "Core Scan Testnet", - "url": "https://scan.test.btcs.network", - "icon": "core", - "standard": "EIP3091" - } - ], - "1116": [ - { - "name": "Core Scan", - "url": "https://scan.coredao.org", - "icon": "core", - "standard": "EIP3091" - } - ], - "1117": [ - { - "name": "Dogcoin", - "url": "https://explorer.dogcoin.network", - "standard": "EIP3091" - } - ], - "1123": [ - { - "name": "blockscout", - "url": "https://testnet-explorer.bsquared.network", - "icon": "bsquare", - "standard": "EIP3091" - } - ], - "1133": [ - { - "name": "MetaScan", - "url": "https://meta.defiscan.live", - "standard": "EIP3091" - } - ], - "1135": [ - { - "name": "blockscout", - "url": "https://blockscout.lisk.com", - "icon": "blockscout", - "standard": "EIP3091" - } - ], - "1138": [ - { - "name": "amstarscan-testnet", - "url": "https://testnet.amstarscan.com", - "standard": "EIP3091" - } - ], - "1147": [ - { - "name": "Flag Testnet Explorer", - "url": "https://testnet-explorer.flagscan.xyz", - "standard": "EIP3091" - } - ], - "1149": [ - { - "name": "Plexchain Explorer", - "url": "https://explorer.plexfinance.us", - "icon": "plexchain", - "standard": "EIP3091" - } - ], - "1170": [ - { - "name": "Origin Explorer", - "url": "https://evm-explorer.origin.uptick.network", - "icon": "origin", - "standard": "none" - } - ], - "1177": [ - { - "name": "Smart Host Teknoloji TESTNET Explorer", - "url": "https://s2.tl.web.tr:4000", - "icon": "smarthost", - "standard": "EIP3091" - } - ], - "1188": [ - { - "name": "mosscan", - "url": "https://www.mosscan.com", - "icon": "clubmos", - "standard": "none" - } - ], - "1197": [ - { - "name": "ioraexplorer", - "url": "https://explorer.iorachain.com", - "standard": "EIP3091" - } - ], - "1200": [ - { - "name": "Cuckoo Chain Explorer", - "url": "https://scan.cuckoo.network", - "standard": "EIP3091" - } - ], - "1202": [ - { - "name": "WTTScout", - "url": "https://explorer.cadaut.com", - "standard": "EIP3091" - } - ], - "1209": [ - { - "name": "Saitascan explorer", - "url": "https://saitascan.io", - "standard": "none", - "icon": "SaitaBlockChain(SBC)" - } - ], - "1210": [ - { - "name": "Cuckoo Sepolia Explorer", - "url": "https://testnet-scan.cuckoo.network", - "standard": "EIP3091" - } - ], - "1213": [ - { - "name": "popcateum explorer", - "url": "https://explorer.popcateum.org", - "standard": "none" - } - ], - "1214": [ - { - "name": "Enter Explorer - Expenter", - "url": "https://explorer.entercoin.net", - "icon": "enter", - "standard": "EIP3091" - } - ], - "1225": [ - { - "name": "Hybrid Testnet", - "url": "https://explorer.buildonhybrid.com", - "standard": "EIP3091" - } - ], - "1227": [ - { - "name": "BTCP explorer", - "url": "https://explorer.btcprotocol.io", - "standard": "EIP3091" - } - ], - "1229": [ - { - "name": "blockscout", - "url": "https://exzoscan.io", - "standard": "EIP3091" - } - ], - "1230": [ - { - "name": "Ultron Testnet Explorer", - "url": "https://explorer.ultron-dev.io", - "icon": "ultron", - "standard": "none" - } - ], - "1231": [ - { - "name": "Ultron Explorer", - "url": "https://ulxscan.com", - "icon": "ultron", - "standard": "none" - } - ], - "1234": [ - { - "name": "StepScan", - "url": "https://stepscan.io", - "icon": "step", - "standard": "EIP3091" - } - ], - "1235": [ - { - "name": "ITX Mainnet Explorer (Blockscout)", - "url": "https://explorer.itxchain.com", - "standard": "EIP3091" - } - ], - "1243": [ - { - "name": "archiescan", - "url": "https://app.archiescan.io", - "standard": "none" - } - ], - "1244": [ - { - "name": "archiescan", - "url": "https://testnet.archiescan.io", - "standard": "none" - } - ], - "1246": [ - { - "name": "OMSCAN - Expenter", - "url": "https://omscan.omplatform.com", - "standard": "none" - } - ], - "1248": [ - { - "name": "DogetherExplorer", - "url": "https://explorer.dogether.dog", - "standard": "EIP3091" - } - ], - "1252": [ - { - "name": "CICscan", - "url": "https://testnet.cicscan.com", - "icon": "cicchain", - "standard": "EIP3091" - } - ], - "1280": [ - { - "name": "HALOexplorer", - "url": "https://browser.halo.land", - "standard": "none" - } - ], - "1284": [ - { - "name": "moonscan", - "url": "https://moonbeam.moonscan.io", - "standard": "none" - } - ], - "1285": [ - { - "name": "moonscan", - "url": "https://moonriver.moonscan.io", - "standard": "none" - } - ], - "1287": [ - { - "name": "moonscan", - "url": "https://moonbase.moonscan.io", - "standard": "none" - } - ], - "1291": [ - { - "name": "Swisstronik Scout", - "url": "https://explorer-evm.testnet.swisstronik.com", - "standard": "none" - } - ], - "1311": [ - { - "name": "dos-testnet", - "url": "https://test.doscan.io", - "standard": "EIP3091" - } - ], - "1313": [ - { - "name": "JaiHo Chain Explorer", - "url": "https://jaihochain.com", - "standard": "EIP3091" - } - ], - "1314": [ - { - "name": "alyxscan", - "url": "https://www.alyxscan.com", - "standard": "EIP3091" - } - ], - "1319": [ - { - "name": "AIA Chain Explorer Mainnet", - "url": "https://aiascan.com", - "standard": "EIP3091" - } - ], - "1320": [ - { - "name": "AIA Chain Explorer Testnet", - "url": "https://testnet.aiascan.com", - "standard": "EIP3091" - } - ], - "1328": [ - { - "name": "Seitrace", - "url": "https://seitrace.com", - "standard": "EIP3091" - } - ], - "1329": [ - { - "name": "Seitrace", - "url": "https://seitrace.com", - "standard": "EIP3091" - } - ], - "1338": [ - { - "name": "Elysium testnet explorer", - "url": "https://elysium-explorer.vulcanforged.com", - "standard": "none" - } - ], - "1339": [ - { - "name": "Elysium mainnet explorer", - "url": "https://explorer.elysiumchain.tech", - "standard": "none" - } - ], - "1343": [ - { - "name": "BLITZ Explorer", - "url": "https://subnets-test.avax.network/blitz", - "standard": "EIP3091" - } - ], - "1353": [ - { - "name": "CICscan", - "url": "https://cicscan.com", - "icon": "cicchain", - "standard": "EIP3091" - } - ], - "1369": [ - { - "name": "zafirium-explorer", - "url": "https://explorer.zakumi.io", - "standard": "none" - } - ], - "1370": [ - { - "name": "ramascan", - "url": "https://ramascan.com", - "icon": "ramestta", - "standard": "EIP3091" - } - ], - "1377": [ - { - "name": "Pingaksha", - "url": "https://pingaksha.ramascan.com", - "icon": "ramestta", - "standard": "EIP3091" - } - ], - "1379": [ - { - "name": "kalarscan", - "url": "https://explorer.kalarchain.tech", - "icon": "kalarscan", - "standard": "EIP3091" - } - ], - "1388": [ - { - "name": "amstarscan", - "url": "https://mainnet.amstarscan.com", - "standard": "EIP3091" - } - ], - "1392": [ - { - "name": "BlockExplorer", - "url": "https://www.blockexplorer.com", - "standard": "EIP3091" - } - ], - "1433": [ - { - "name": "Rikeza Blockchain explorer", - "url": "https://rikscan.com", - "standard": "EIP3091" - } - ], - "1442": [ - { - "name": "Polygon zkEVM explorer", - "url": "https://explorer.public.zkevm-test.net", - "standard": "EIP3091" - } - ], - "1452": [ - { - "name": "GIL Explorer", - "url": "https://explorer.giltestnet.com", - "standard": "EIP3091" - } - ], - "1453": [ - { - "name": "MetaExplorer", - "url": "https://istanbul-explorer.metachain.dev", - "standard": "EIP3091" - } - ], - "1455": [ - { - "name": "Ctex Scan Explorer", - "url": "https://ctexscan.com", - "standard": "none" - } - ], - "1456": [ - { - "name": "ZKbase Block Explorer", - "url": "https://explorer.zkbase.app", - "icon": "zkbase", - "standard": "EIP3091" - } - ], - "1490": [ - { - "name": "Vitruveo Explorer", - "url": "https://explorer.vitruveo.xyz", - "icon": "vitruveo", - "standard": "EIP3091" - } - ], - "1499": [ - { - "name": "IGC-Scan", - "url": "https://igcscan.com", - "standard": "EIP3091" - } - ], - "1501": [ - { - "name": "bevm canary scan", - "url": "https://scan-canary.bevm.io", - "standard": "none" - } - ], - "1506": [ - { - "name": "Sherpax Mainnet Explorer", - "url": "https://evm.sherpax.io", - "standard": "none" - } - ], - "1507": [ - { - "name": "Sherpax Testnet Explorer", - "url": "https://evm-pre.sherpax.io", - "standard": "none" - } - ], - "1515": [ - { - "name": "Beagle Messaging Chain Explorer", - "url": "https://eth.beagle.chat", - "standard": "EIP3091" - } - ], - "1559": [ - { - "name": "TenetScan Mainnet", - "url": "https://tenetscan.io", - "icon": "tenet", - "standard": "EIP3091" - } - ], - "1570": [ - { - "name": "StarCHAIN Explorer", - "url": "https://testnet.starchainscan.io", - "standard": "EIP3091" - } - ], - "1578": [ - { - "name": "StarCHAIN Explorer", - "url": "https://starchainscan.io", - "standard": "EIP3091" - } - ], - "1617": [ - { - "name": "Ethereum Inscription Explorer", - "url": "https://explorer.etins.org", - "standard": "none" - } - ], - "1625": [ - { - "name": "Gravity Alpha Mainnet Explorer", - "url": "https://explorer.gravity.xyz", - "standard": "EIP3091" - } - ], - "1648": [ - { - "name": "Pivotal Scan", - "url": "https://pivotalscan.xyz", - "standard": "EIP3091" - } - ], - "1662": [ - { - "name": "Liquichain Mainnet", - "url": "https://mainnet.liquichain.io", - "standard": "EIP3091" - } - ], - "1663": [ - { - "name": "Gobi Testnet Block Explorer", - "url": "https://gobi-explorer.horizen.io", - "icon": "eon", - "standard": "EIP3091" - } - ], - "1686": [ - { - "name": "blockscout", - "url": "https://testnet-explorer.mintchain.io", - "icon": "mintTestnet", - "standard": "EIP3091" - } - ], - "1687": [ - { - "name": "blockscout", - "url": "https://sepolia-testnet-explorer.mintchain.io", - "icon": "mintTestnet", - "standard": "EIP3091" - } - ], - "1701": [ - { - "name": "Anytype Explorer", - "url": "https://explorer.anytype.io", - "icon": "any", - "standard": "EIP3091" - } - ], - "1707": [ - { - "name": "blockscout", - "url": "https://exp.blockchain.or.th", - "standard": "EIP3091" - } - ], - "1708": [ - { - "name": "blockscout", - "url": "https://exp.testnet.blockchain.or.th", - "standard": "EIP3091" - } - ], - "1717": [ - { - "name": "Doric Explorer", - "url": "https://explorer.doric.network", - "standard": "EIP3091" - } - ], - "1718": [ - { - "name": "Palettescan", - "url": "https://palettescan.com", - "icon": "PLT", - "standard": "none" - } - ], - "1729": [ - { - "name": "Reya Network Explorer", - "url": "https://explorer.reya.network", - "standard": "EIP3091" - } - ], - "1740": [ - { - "name": "blockscout", - "url": "https://testnet.explorer.metall2.com", - "icon": "blockscout", - "standard": "EIP3091" - } - ], - "1750": [ - { - "name": "blockscout", - "url": "https://explorer.metall2.com", - "icon": "blockscout", - "standard": "EIP3091" - } - ], - "1773": [ - { - "name": "PartyExplorer", - "url": "https://partyexplorer.co", - "icon": "grams", - "standard": "EIP3091" - } - ], - "1777": [ - { - "name": "Gauss Explorer", - "url": "https://explorer.gaussgang.com", - "standard": "EIP3091" - } - ], - "1789": [ - { - "name": "ZKbase Block Explorer", - "url": "https://sepolia-explorer.zkbase.app", - "icon": "zkbase", - "standard": "EIP3091" - } - ], - "1804": [ - { - "name": "Lite Explorer", - "url": "https://ethereum-pocr.github.io/explorer/kerleano", - "icon": "pocr", - "standard": "EIP3091" - } - ], - "1807": [ - { - "name": "blockscout", - "url": "https://rabbit.analogscan.com", - "standard": "none" - } - ], - "1811": [ - { - "name": "lif3scout", - "url": "https://testnet.lif3scout.com", - "standard": "none" - } - ], - "1818": [ - { - "name": "cube-scan", - "url": "https://cubescan.network", - "standard": "EIP3091" - } - ], - "1819": [ - { - "name": "cubetest-scan", - "url": "https://testnet.cubescan.network", - "standard": "EIP3091" - } - ], - "1821": [ - { - "name": "RUBY Smart Chain MAINNET Explorer", - "icon": "ruby", - "url": "https://rubyscan.net", - "standard": "none" - } - ], - "1875": [ - { - "name": "whitechain-explorer", - "url": "https://explorer.whitechain.io", - "standard": "EIP3091" - } - ], - "1881": [ - { - "name": "blockscout", - "url": "https://scan.cartenz.works", - "standard": "EIP3091" - } - ], - "1890": [ - { - "name": "phoenix", - "url": "https://phoenix.lightlink.io", - "icon": "lightlink", - "standard": "EIP3091" - } - ], - "1891": [ - { - "name": "pegasus", - "url": "https://pegasus.lightlink.io", - "icon": "lightlink", - "standard": "EIP3091" - } - ], - "1898": [ - { - "name": "explorer", - "url": "https://explorer.boyanet.org:4001", - "standard": "EIP3091" - } - ], - "1899": [ - { - "name": "ReDeFi Scan", - "url": "https://scanlayer2.redefi.world", - "standard": "EIP3091" - } - ], - "1904": [ - { - "name": "blockscout", - "url": "https://explorer.sportschainnetwork.xyz", - "standard": "EIP3091" - } - ], - "1907": [ - { - "name": "Bitci Explorer", - "url": "https://bitciexplorer.com", - "standard": "EIP3091" - } - ], - "1908": [ - { - "name": "Bitci Explorer Testnet", - "url": "https://testnet.bitciexplorer.com", - "standard": "EIP3091" - } - ], - "1909": [ - { - "name": "blockscout", - "url": "https://merklescan.com", - "standard": "none" - } - ], - "1911": [ - { - "name": "scalind", - "url": "https://explorer.scalind.com", - "standard": "EIP3091" - } - ], - "1912": [ - { - "name": "RUBY Smart Chain Testnet Explorer", - "icon": "ruby", - "url": "https://testnet.rubyscan.net", - "standard": "none" - } - ], - "1945": [ - { - "name": "Onus explorer testnet", - "url": "https://explorer-testnet.onuschain.io", - "icon": "onus", - "standard": "EIP3091" - } - ], - "1954": [ - { - "name": "dos-mainnet", - "url": "https://exp.dexilla.com", - "standard": "EIP3091" - } - ], - "1956": [ - { - "name": "aiw3 testnet scan", - "url": "https://scan-testnet.aiw3.io", - "standard": "none" - } - ], - "1961": [ - { - "name": "Selendra Scan", - "url": "https://scan.selendra.org", - "standard": "none" - } - ], - "1967": [ - { - "name": "metaexplorer-eleanor", - "url": "https://explorer.metatime.com/eleanor", - "standard": "EIP3091" - } - ], - "1969": [ - { - "name": "blockscout", - "url": "https://testnetscan.scschain.com", - "standard": "EIP3091" - } - ], - "1970": [ - { - "name": "blockscout", - "url": "https://scan.scschain.com", - "standard": "EIP3091" - } - ], - "1972": [ - { - "name": "RedeCoin Explorer", - "url": "https://explorer3.redecoin.eu", - "standard": "none" - } - ], - "1975": [ - { - "name": "Onus explorer mainnet", - "url": "https://explorer.onuschain.io", - "icon": "onus", - "standard": "EIP3091" - } - ], - "1984": [ - { - "name": "testnetexplorer", - "url": "https://testnetexplorer.eurus.network", - "icon": "eurus", - "standard": "none" - } - ], - "1985": [ - { - "name": "mainnetexplorer", - "url": "http://explore.satosh.ie", - "icon": "satoshie", - "standard": "none" - } - ], - "1986": [ - { - "name": "testnetexplorer", - "url": "http://explore-testnet.satosh.ie", - "icon": "satoshie", - "standard": "none" - } - ], - "1992": [ - { - "name": "routescan", - "url": "https://explorer.hubble.exchange", - "standard": "EIP3091" - } - ], - "1993": [ - { - "name": "Blockscout", - "url": "https://sepolia.explorer.b3.fun", - "standard": "EIP3091" - } - ], - "1994": [ - { - "name": "ektascan", - "url": "https://ektascan.io", - "icon": "ekta", - "standard": "EIP3091" - } - ], - "1995": [ - { - "name": "edexa-testnet", - "url": "https://explorer.testnet.edexa.network", - "standard": "EIP3091" - } - ], - "1996": [ - { - "name": "Sanko Explorer", - "url": "https://explorer.sanko.xyz", - "standard": "EIP3091" - } - ], - "1997": [ - { - "name": "Kyotoscan", - "url": "https://kyotoscan.io", - "standard": "EIP3091" - } - ], - "1998": [ - { - "name": "Kyotoscan", - "url": "https://testnet.kyotoscan.io", - "standard": "EIP3091" - } - ], - "2000": [ - { - "name": "dogechain explorer", - "url": "https://explorer.dogechain.dog", - "standard": "EIP3091" - } - ], - "2001": [ - { - "name": "Blockscout", - "url": "https://explorer-mainnet-cardano-evm.c1.milkomeda.com", - "standard": "none" - } - ], - "2002": [ - { - "name": "Blockscout", - "url": "https://explorer-mainnet-algorand-rollup.a1.milkomeda.com", - "standard": "none" - } - ], - "2004": [ - { - "name": "MetaScan", - "url": "http://twoto3.com:3000", - "standard": "none" - } - ], - "2008": [ - { - "name": "CloudWalk Testnet Explorer", - "url": "https://explorer.testnet.cloudwalk.io", - "standard": "none" - } - ], - "2009": [ - { - "name": "CloudWalk Mainnet Explorer", - "url": "https://explorer.mainnet.cloudwalk.io", - "standard": "none" - } - ], - "2014": [ - { - "name": "nowscan", - "url": "https://testnet.nowscan.io", - "standard": "EIP3091" - } - ], - "2016": [ - { - "name": "MainnetZ", - "url": "https://explorer.mainnetz.io", - "standard": "EIP3091" - } - ], - "2017": [ - { - "name": "telscan", - "url": "https://telscan.io", - "icon": "telcoin", - "standard": "EIP3091" - } - ], - "2018": [ - { - "name": "PublicMint Explorer", - "url": "https://explorer.dev.publicmint.io", - "standard": "EIP3091" - } - ], - "2019": [ - { - "name": "PublicMint Explorer", - "url": "https://explorer.tst.publicmint.io", - "standard": "EIP3091" - } - ], - "2020": [ - { - "name": "PublicMint Explorer", - "url": "https://explorer.publicmint.io", - "standard": "EIP3091" - } - ], - "2021": [ - { - "name": "Edgscan EdgeEVM explorer by Bharathcoorg", - "url": "https://edgscan.live", - "standard": "EIP3091" - }, - { - "name": "Edgscan EdgeWASM explorer by Bharathcoorg", - "url": "https://edgscan.ink", - "standard": "none", - "icon": "edgscan" - } - ], - "2022": [ - { - "name": "Edgscan by Bharathcoorg", - "url": "https://testnet.edgscan.live", - "standard": "EIP3091" - } - ], - "2023": [ - { - "name": "Taycan Explorer(Blockscout)", - "url": "https://evmscan-test.hupayx.io", - "standard": "none", - "icon": "shuffle" - }, - { - "name": "Taycan Cosmos Explorer", - "url": "https://cosmoscan-test.hupayx.io", - "standard": "none", - "icon": "shuffle" - } - ], - "2025": [ - { - "name": "rangersscan", - "url": "https://scan.rangersprotocol.com", - "standard": "none" - } - ], - "2026": [ - { - "name": "Edgeless Explorer", - "url": "https://explorer.edgeless.network", - "standard": "EIP3091" - } - ], - "2031": [ - { - "name": "subscan", - "url": "https://centrifuge.subscan.io", - "standard": "EIP3091", - "icon": "subscan" - } - ], - "2037": [ - { - "name": "KIWI Explorer", - "url": "https://subnets-test.avax.network/kiwi", - "standard": "EIP3091" - } - ], - "2038": [ - { - "name": "SHRAPNEL Explorer", - "url": "https://subnets-test.avax.network/shrapnel", - "standard": "EIP3091" - } - ], - "2039": [ - { - "name": "Aleph Zero Testnet", - "url": "https://test.azero.dev/#/explorer", - "icon": "aleph", - "standard": "none" - } - ], - "2040": [ - { - "name": "Vanar Explorer", - "url": "https://explorer.vanarchain.com", - "icon": "vanar", - "standard": "EIP3091" - } - ], - "2047": [ - { - "name": "Stratos EVM Explorer (Blockscout)", - "url": "https://web3-explorer-mesos.thestratos.org", - "standard": "none" - }, - { - "name": "Stratos Cosmos Explorer (BigDipper)", - "url": "https://big-dipper-mesos.thestratos.org", - "standard": "none" - } - ], - "2048": [ - { - "name": "Stratos EVM Explorer (Blockscout)", - "url": "https://web3-explorer.thestratos.org", - "standard": "none" - }, - { - "name": "Stratos Cosmos Explorer (BigDipper)", - "url": "https://explorer.thestratos.org", - "standard": "none" - } - ], - "2049": [ - { - "name": "movoscan", - "url": "https://movoscan.com", - "icon": "movoscan", - "standard": "none" - } - ], - "2077": [ - { - "name": "blockscout", - "url": "https://explorer.qkacoin.org", - "standard": "EIP3091" - } - ], - "2100": [ - { - "name": "Ecoball Explorer", - "url": "https://scan.ecoball.org", - "standard": "EIP3091" - } - ], - "2101": [ - { - "name": "Ecoball Testnet Explorer", - "url": "https://espuma-scan.ecoball.org", - "standard": "EIP3091" - } - ], - "2109": [ - { - "name": "blockscout", - "url": "https://explorer.exosama.com", - "icon": "blockscout", - "standard": "EIP3091" - } - ], - "2112": [ - { - "name": "uchain.info", - "url": "https://uchain.info", - "standard": "EIP3091" - } - ], - "2121": [ - { - "name": "catenascan", - "url": "https://catenascan.com", - "standard": "EIP3091" - } - ], - "2122": [ - { - "name": "Metad Scan", - "url": "https://scan.metaplayer.one", - "icon": "metad", - "standard": "EIP3091" - } - ], - "2124": [ - { - "name": "MP1Scan", - "url": "https://dubai.mp1scan.io", - "standard": "EIP3091" - } - ], - "2136": [ - { - "name": "Polkadot.js", - "url": "https://polkadot.js.org/apps/?rpc=wss://test-market.bigsb.network#/explorer", - "standard": "none" - } - ], - "2138": [ - { - "name": "Quorum Explorer", - "url": "https://public-2138.defi-oracle.io", - "standard": "none" - } - ], - "2140": [ - { - "name": "oneness-mainnet", - "url": "https://scan.onenesslabs.io", - "standard": "EIP3091" - } - ], - "2141": [ - { - "name": "oneness-testnet", - "url": "https://scan.testnet.onenesslabs.io", - "standard": "EIP3091" - } - ], - "2151": [ - { - "name": "BOASCAN", - "url": "https://boascan.io", - "icon": "agora", - "standard": "EIP3091" - } - ], - "2152": [ - { - "name": "findorascan", - "url": "https://evm.findorascan.io", - "standard": "EIP3091" - } - ], - "2153": [ - { - "name": "findorascan", - "url": "https://testnet-anvil.evm.findorascan.io", - "standard": "EIP3091" - } - ], - "2154": [ - { - "name": "findorascan", - "url": "https://testnet-forge.evm.findorascan.io", - "standard": "EIP3091" - } - ], - "2162": [ - { - "name": "blockscout", - "url": "https://explorer.kanda.animechain.ai", - "standard": "EIP3091" - } - ], - "2199": [ - { - "name": "blockscout", - "url": "https://explorer.moonsama.com", - "icon": "blockscout", - "standard": "EIP3091" - } - ], - "2202": [ - { - "name": "Antofy Mainnet", - "url": "https://antofyscan.com", - "standard": "EIP3091" - } - ], - "2203": [ - { - "name": "Explorer", - "url": "https://explorer.bitcoinevm.com", - "icon": "ebtc", - "standard": "none" - } - ], - "2213": [ - { - "name": "Evanesco Explorer", - "url": "https://explorer.evanesco.org", - "standard": "none" - } - ], - "2221": [ - { - "name": "Kava Testnet Explorer", - "url": "http://testnet.kavascan.com", - "standard": "EIP3091", - "icon": "kava" - } - ], - "2222": [ - { - "name": "Kava EVM Explorer", - "url": "https://kavascan.com", - "standard": "EIP3091", - "icon": "kava" - } - ], - "2223": [ - { - "name": "VChain Scan", - "url": "https://scan.vcex.xyz", - "standard": "EIP3091" - } - ], - "2241": [ - { - "name": "Polkadot.js", - "url": "https://polkadot.js.org/apps/?rpc=wss://wss-krest.peaq.network#/explorer", - "standard": "none" - }, - { - "name": "Subscan", - "url": "https://krest.subscan.io", - "standard": "none" - } - ], - "2300": [ - { - "name": "bombscan", - "icon": "bomb", - "url": "https://bombscan.com", - "standard": "EIP3091" - } - ], - "2311": [ - { - "name": "Lit Chronicle Vesuvius Explorer", - "url": "https://vesuvius-explorer.litprotocol.com", - "icon": "lit", - "standard": "EIP3091" - } - ], - "2323": [ - { - "name": "SOMA Testnet Explorer", - "icon": "soma", - "url": "https://testnet.somascan.io", - "standard": "none" - } - ], - "2330": [ - { - "name": "expedition", - "url": "http://expedition.altcoinchain.org", - "icon": "altcoinchain", - "standard": "none" - } - ], - "2331": [ - { - "name": "RSS3 VSL Sepolia Testnet Scan", - "url": "https://scan.testnet.rss3.io", - "standard": "EIP3091" - } - ], - "2332": [ - { - "name": "SOMA Explorer Mainnet", - "icon": "soma", - "url": "https://somascan.io", - "standard": "none" - } - ], - "2340": [ - { - "name": "Atleta Olympia Explorer", - "icon": "atleta", - "url": "https://blockscout.atleta.network", - "standard": "none" - }, - { - "name": "Atleta Olympia Polka Explorer", - "icon": "atleta", - "url": "https://polkadot-explorer.atleta.network/#/explorer", - "standard": "none" - } - ], - "2342": [ - { - "name": "OmniaVerse Explorer", - "url": "https://scan.omniaverse.io", - "standard": "EIP3091" - } - ], - "2358": [ - { - "name": "blockscout", - "url": "https://blockscout.sepolia.kroma.network", - "icon": "kroma", - "standard": "EIP3091" - } - ], - "2370": [ - { - "name": "Nexis Testnet Explorer", - "url": "https://evm-testnet.nexscan.io", - "standard": "EIP3091" - } - ], - "2399": [ - { - "name": "bombscan-testnet", - "icon": "bomb", - "url": "https://explorer.bombchain-testnet.ankr.com", - "standard": "EIP3091" - } - ], - "2400": [ - { - "name": "TCG Verse Explorer", - "url": "https://explorer.tcgverse.xyz", - "standard": "EIP3091" - } - ], - "2410": [ - { - "name": "Karak Mainnet Explorer", - "url": "https://explorer.karak.network", - "standard": "EIP3091" - } - ], - "2415": [ - { - "name": "XODEX Explorer", - "url": "https://explorer.xo-dex.com", - "standard": "EIP3091", - "icon": "xodex" - } - ], - "2425": [ - { - "name": "King Of Legends Mainnet Explorer", - "url": "https://kingscan.org", - "icon": "kol", - "standard": "EIP3091" - } - ], - "2442": [ - { - "name": "polygonscan", - "url": "https://cardona-zkevm.polygonscan.com", - "standard": "EIP3091" - } - ], - "2458": [ - { - "name": "Hybrid Chain Explorer Testnet", - "icon": "hybrid", - "url": "https://testnet.hybridscan.ai", - "standard": "none" - } - ], - "2468": [ - { - "name": "Hybrid Chain Explorer Mainnet", - "icon": "hybrid", - "url": "https://hybridscan.ai", - "standard": "none" - } - ], - "2484": [ - { - "icon": "u2u_nebulas", - "name": "U2U Explorer", - "url": "https://testnet.u2uscan.xyz", - "standard": "EIP3091" - } - ], - "2522": [ - { - "name": "fraxscan", - "url": "https://holesky.fraxscan.com", - "standard": "EIP3091" - } - ], - "2569": [ - { - "name": "tpcscan", - "url": "https://tpcscan.com", - "icon": "techpay", - "standard": "EIP3091" - } - ], - "2606": [ - { - "name": "Lite Explorer", - "url": "https://ethereum-pocr.github.io/explorer/pocrnet", - "icon": "pocr", - "standard": "EIP3091" - } - ], - "2611": [ - { - "name": "REDLC Explorer", - "url": "https://redlightscan.finance", - "standard": "EIP3091" - } - ], - "2612": [ - { - "name": "ezchain", - "url": "https://cchain-explorer.ezchain.com", - "standard": "EIP3091" - } - ], - "2613": [ - { - "name": "ezchain", - "url": "https://testnet-cchain-explorer.ezchain.com", - "standard": "EIP3091" - } - ], - "2625": [ - { - "name": "whitechain-testnet-explorer", - "url": "https://testnet.whitechain.io", - "standard": "EIP3091" - } - ], - "2648": [ - { - "name": "blockscout", - "url": "https://testnet-explorer.ailayer.xyz", - "icon": "ailayer", - "standard": "EIP3091" - } - ], - "2649": [ - { - "name": "blockscout", - "url": "https://mainnet-explorer.ailayer.xyz", - "icon": "ailayer", - "standard": "EIP3091" - } - ], - "2710": [ - { - "name": "Morph Testnet Explorer", - "url": "https://explorer-testnet.morphl2.io", - "standard": "EIP3091" - } - ], - "2718": [ - { - "name": "blockscout", - "url": "https://blockscout.klaos.laosfoundation.io", - "icon": "k-laos", - "standard": "EIP3091" - } - ], - "2730": [ - { - "name": "XR Sepolia Explorer", - "url": "https://xr-sepolia-testnet.explorer.caldera.xyz", - "icon": "blockscout", - "standard": "EIP3091" - } - ], - "2731": [ - { - "name": "Time Network Explorer", - "url": "https://testnet-scanner.timenetwork.io", - "standard": "none", - "icon": "timenet" - } - ], - "2748": [ - { - "name": "Nanon Rollup Explorer", - "url": "https://explorer.nanon.network", - "standard": "EIP3091" - } - ], - "2777": [ - { - "name": "GM Network Mainnet Explorer", - "url": "https://scan.gmnetwork.ai", - "standard": "EIP3091" - } - ], - "2810": [ - { - "name": "Morph Holesky Testnet Explorer", - "url": "https://explorer-holesky.morphl2.io", - "standard": "EIP3091" - } - ], - "2907": [ - { - "name": "blockscout", - "url": "https://eluxscan.com", - "standard": "none" - } - ], - "2911": [ - { - "name": "blockscout", - "url": "https://explorer.hychain.com", - "icon": "hychain", - "standard": "EIP3091" - } - ], - "2941": [ - { - "name": "Xenon testnet Explorer", - "url": "https://testnet.xenonchain.com", - "standard": "none" - } - ], - "2999": [ - { - "name": "BitYuan Block Chain Explorer", - "url": "https://mainnet.bityuan.com", - "standard": "none" - } - ], - "3001": [ - { - "name": "UNcover", - "url": "https://www.uncoverexplorer.com/?network=Nikau", - "standard": "none" - } - ], - "3003": [ - { - "name": "canxium explorer", - "url": "https://explorer.canxium.org", - "standard": "none" - } - ], - "3011": [ - { - "name": "PLAYA3ULL GAMES Explorer", - "url": "https://3011.routescan.io", - "icon": "playa3ull", - "standard": "EIP3091" - } - ], - "3031": [ - { - "name": "Orlando (ORL) Explorer", - "url": "https://orlscan.com", - "icon": "orl", - "standard": "EIP3091" - } - ], - "3033": [ - { - "name": "Rebus EVM Explorer (Blockscout)", - "url": "https://evm.testnet.rebus.money", - "icon": "rebus", - "standard": "none" - }, - { - "name": "Rebus Cosmos Explorer (ping.pub)", - "url": "https://testnet.rebus.money/rebustestnet", - "icon": "rebus", - "standard": "none" - } - ], - "3068": [ - { - "name": "explorer-thebifrost", - "url": "https://explorer.mainnet.bifrostnetwork.com", - "standard": "EIP3091" - } - ], - "3073": [ - { - "name": "mevm explorer", - "url": "https://explorer.movementlabs.xyz", - "standard": "none" - } - ], - "3084": [ - { - "name": "XL Network Explorer", - "url": "https://subnets-test.avax.network/xlnetworkt", - "standard": "EIP3091" - } - ], - "3306": [ - { - "name": "Debounce Devnet Explorer", - "url": "https://explorer.debounce.network", - "standard": "EIP3091" - } - ], - "3334": [ - { - "name": "w3q-galileo", - "url": "https://explorer.galileo.web3q.io", - "standard": "EIP3091" - } - ], - "3338": [ - { - "name": "Subscan", - "url": "https://peaq.subscan.io", - "standard": "none" - } - ], - "3400": [ - { - "name": "Paribu Net Explorer", - "url": "https://explorer.paribu.network", - "standard": "EIP3091" - } - ], - "3424": [ - { - "name": "Evolve Mainnet Explorer", - "url": "https://evoexplorer.com", - "standard": "EIP3091" - } - ], - "3434": [ - { - "name": "SecureChain", - "url": "https://testnet.securechain.ai", - "standard": "EIP3091" - } - ], - "3456": [ - { - "name": "LayerEdge Testnet Explorer", - "url": "https://testnet-explorer.layeredge.io", - "icon": "layerEdge", - "standard": "EIP3091" - } - ], - "3490": [ - { - "name": "GTCScan Explorer", - "url": "https://gtcscan.io", - "standard": "none", - "icon": "gtc" - } - ], - "3500": [ - { - "name": "Paribu Net Testnet Explorer", - "url": "https://testnet.paribuscan.com", - "standard": "EIP3091" - } - ], - "3501": [ - { - "name": "JFIN Chain Explorer", - "url": "https://exp.jfinchain.com", - "standard": "EIP3091" - } - ], - "3601": [ - { - "name": "Pando Mainnet Explorer", - "url": "https://explorer.pandoproject.org", - "standard": "none" - } - ], - "3602": [ - { - "name": "Pando Testnet Explorer", - "url": "https://testnet.explorer.pandoproject.org", - "standard": "none" - } - ], - "3636": [ - { - "name": "3xpl", - "url": "https://3xpl.com/botanix", - "standard": "EIP3091" - }, - { - "name": "Blockscout", - "url": "https://blockscout.botanixlabs.dev", - "standard": "EIP3091" - } - ], - "3637": [ - { - "name": "Botanix", - "url": "https://btxtestchain.com", - "standard": "EIP3091" - } - ], - "3639": [ - { - "name": "iChainscan", - "url": "https://ichainscan.com", - "standard": "EIP3091" - } - ], - "3645": [ - { - "name": "iChainscan", - "url": "https://test.ichainscan.com", - "standard": "EIP3091" - } - ], - "3666": [ - { - "name": "jscan", - "url": "https://jscan.jnsdao.com", - "standard": "EIP3091" - } - ], - "3690": [ - { - "name": "bittexscan", - "url": "https://bittexscan.com", - "standard": "EIP3091" - } - ], - "3693": [ - { - "name": "Empire Explorer", - "url": "https://explorer.empirenetwork.io", - "standard": "none" - } - ], - "3698": [ - { - "name": "SenjePowers", - "url": "https://testnet.senjepowersscan.com", - "standard": "EIP3091" - } - ], - "3699": [ - { - "name": "SenjePowers", - "url": "https://senjepowersscan.com", - "standard": "EIP3091" - } - ], - "3737": [ - { - "name": "Crossbell Explorer", - "url": "https://scan.crossbell.io", - "standard": "EIP3091" - } - ], - "3776": [ - { - "name": "Blockscout Astar zkEVM explorer", - "url": "https://astar-zkevm.explorer.startale.com", - "standard": "EIP3091" - } - ], - "3797": [ - { - "name": "AlveyScan", - "url": "https://alveyscan.com", - "icon": "alveychain", - "standard": "EIP3091" - } - ], - "3799": [ - { - "name": "ttntscan", - "url": "https://testnet-explorer.tangle.tools", - "icon": "blockscout", - "standard": "EIP3091" - } - ], - "3888": [ - { - "name": "KalyScan", - "url": "https://kalyscan.io", - "standard": "EIP3091" - } - ], - "3889": [ - { - "name": "KalyScan", - "url": "https://testnet.kalyscan.io", - "standard": "EIP3091" - } - ], - "3912": [ - { - "name": "DRAC_Network Scan", - "url": "https://www.dracscan.io", - "standard": "EIP3091" - } - ], - "3939": [ - { - "name": "DOScan-Test", - "url": "https://test.doscan.io", - "icon": "doschain", - "standard": "EIP3091" - } - ], - "3966": [ - { - "name": "DYNO Explorer", - "url": "https://dynoscan.io", - "standard": "EIP3091" - } - ], - "3967": [ - { - "name": "DYNO Explorer", - "url": "https://testnet.dynoscan.io", - "standard": "EIP3091" - } - ], - "3993": [ - { - "name": "blockscout", - "url": "https://exp-testnet.apexlayer.xyz", - "standard": "EIP3091" - } - ], - "3999": [ - { - "name": "YuanChain Explorer", - "url": "https://mainnet.yuan.org", - "standard": "none" - } - ], - "4000": [ - { - "name": "OZONE Scan", - "url": "https://ozonescan.io", - "standard": "EIP3091" - } - ], - "4001": [ - { - "name": "Peperium Chain Explorer", - "url": "https://scan-testnet.peperium.io", - "icon": "peperium", - "standard": "EIP3091" - } - ], - "4002": [ - { - "name": "ftmscan", - "url": "https://testnet.ftmscan.com", - "icon": "ftmscan", - "standard": "EIP3091" - } - ], - "4003": [ - { - "name": "Blockscout", - "url": "https://explorer.x1-fastnet.xen.network", - "icon": "blockscout", - "standard": "EIP3091" - } - ], - "4040": [ - { - "name": "Carbonium Network tesnet Explorer", - "icon": "cbr", - "url": "https://testnet.carboniumscan.com", - "standard": "none" - } - ], - "4048": [ - { - "name": "ganscan", - "url": "https://ganscan.gpu.net", - "standard": "none" - } - ], - "4058": [ - { - "name": "blockscout", - "url": "https://ocean.ftnscan.com", - "standard": "none" - } - ], - "4061": [ - { - "name": "Nahmii 3 Mainnet Explorer", - "url": "https://explorer.nahmii.io", - "icon": "nahmii", - "standard": "EIP3091" - } - ], - "4062": [ - { - "name": "Nahmii 3 Testnet Explorer", - "url": "https://explorer.testnet.nahmii.io", - "icon": "nahmii", - "standard": "EIP3091" - } - ], - "4078": [ - { - "name": "Musterscan", - "url": "https://muster-explorer.alt.technology", - "standard": "EIP3091" - } - ], - "4080": [ - { - "name": "tobescan", - "url": "https://tobescan.com", - "standard": "EIP3091" - } - ], - "4090": [ - { - "name": "blockscout", - "url": "https://oasis.ftnscan.com", - "standard": "none" - } - ], - "4096": [ - { - "name": "Bitindi", - "url": "https://testnet.bitindiscan.com", - "standard": "EIP3091" - } - ], - "4099": [ - { - "name": "Bitindi", - "url": "https://bitindiscan.com", - "standard": "EIP3091" - } - ], - "4102": [ - { - "name": "AIOZ Network Testnet Explorer", - "url": "https://testnet.explorer.aioz.network", - "standard": "EIP3091" - } - ], - "4141": [ - { - "name": "Tipboxcoin", - "url": "https://testnet.tipboxcoin.net", - "standard": "EIP3091" - } - ], - "4157": [ - { - "name": "CrossFi Testnet Scan", - "url": "https://test.xfiscan.com", - "standard": "EIP3091", - "icon": "crossfi" - } - ], - "4162": [ - { - "name": "SX L2 Explorer", - "url": "https://explorerl2.sx.technology", - "standard": "EIP3091", - "icon": "SX" - } - ], - "4181": [ - { - "name": "PHI Explorer", - "url": "https://explorer.phi.network", - "icon": "phi", - "standard": "none" - } - ], - "4200": [ - { - "name": "L2scan", - "url": "https://scan.merlinchain.io", - "icon": "merlin", - "standard": "EIP3091" - } - ], - "4201": [ - { - "name": "Blockscout", - "url": "https://explorer.execution.testnet.lukso.network", - "standard": "none" - } - ], - "4202": [ - { - "name": "liskscout", - "url": "https://sepolia-blockscout.lisk.com", - "icon": "blockscout", - "standard": "EIP3091" - } - ], - "4242": [ - { - "name": "nexiscan", - "url": "https://www.nexiscan.com", - "standard": "EIP3091" - } - ], - "4243": [ - { - "name": "nexiscan", - "url": "https://www.nexiscan.com", - "standard": "EIP3091" - } - ], - "4337": [ - { - "name": "Beam Explorer", - "url": "https://subnets.avax.network/beam", - "standard": "EIP3091" - } - ], - "4400": [ - { - "name": "Creditscan", - "url": "https://scan.creditsmartchain.com", - "icon": "credit", - "standard": "EIP3091" - } - ], - "4444": [ - { - "name": "htmlcoin", - "url": "https://explorer.htmlcoin.com", - "icon": "htmlcoin", - "standard": "none" - } - ], - "4460": [ - { - "name": "basescout", - "url": "https://explorerl2new-orderly-l2-4460-sepolia-8tc3sd7dvy.t.conduit.xyz", - "icon": "blockscout", - "standard": "EIP3091" - } - ], - "4544": [ - { - "name": "EMoney ethscan", - "url": "https://ethscan.emoney.network", - "icon": "emoney", - "standard": "EIP3091" - } - ], - "4613": [ - { - "name": "VERY explorer", - "url": "https://www.veryscan.io", - "standard": "none" - } - ], - "4689": [ - { - "name": "iotexscan", - "url": "https://iotexscan.io", - "standard": "EIP3091" - } - ], - "4690": [ - { - "name": "testnet iotexscan", - "url": "https://testnet.iotexscan.io", - "standard": "EIP3091" - } - ], - "4759": [ - { - "name": "MEVerse Chain Testnet Explorer", - "url": "https://testnet.meversescan.io", - "standard": "none", - "icon": "meverse" - } - ], - "4777": [ - { - "name": "blockscout", - "url": "https://testnet-explorer.blackfort.network", - "icon": "blockscout", - "standard": "EIP3091" - } - ], - "4893": [ - { - "name": "blockscout", - "url": "https://gcscan.io", - "standard": "none" - } - ], - "4918": [ - { - "name": "Venidium EVM Testnet Explorer", - "url": "https://evm-testnet.venidiumexplorer.com", - "standard": "EIP3091" - } - ], - "4919": [ - { - "name": "Venidium Explorer", - "url": "https://evm.venidiumexplorer.com", - "standard": "EIP3091" - } - ], - "4999": [ - { - "name": "blockscout", - "url": "https://explorer.blackfort.network", - "icon": "blockscout", - "standard": "EIP3091" - } - ], - "5000": [ - { - "name": "mantlescan", - "url": "https://mantlescan.xyz", - "standard": "EIP3091" - }, - { - "name": "Mantle Explorer", - "url": "https://explorer.mantle.xyz", - "standard": "EIP3091" - } - ], - "5001": [ - { - "name": "Mantle Testnet Explorer", - "url": "https://explorer.testnet.mantle.xyz", - "standard": "EIP3091" - } - ], - "5002": [ - { - "name": "Treasurenet EVM BlockExplorer", - "url": "https://evmexplorer.treasurenet.io", - "icon": "treasurenet", - "standard": "none" - } - ], - "5003": [ - { - "name": "blockscout", - "url": "https://explorer.sepolia.mantle.xyz", - "standard": "EIP3091" - } - ], - "5005": [ - { - "name": "Treasurenet EVM BlockExplorer", - "url": "https://evmexplorer.testnet.treasurenet.io", - "icon": "treasurenet", - "standard": "none" - } - ], - "5039": [ - { - "name": "ONIGIRI Explorer", - "url": "https://subnets-test.avax.network/onigiri", - "standard": "EIP3091" - } - ], - "5040": [ - { - "name": "ONIGIRI Explorer", - "url": "https://subnets.avax.network/onigiri", - "standard": "EIP3091" - } - ], - "5051": [ - { - "name": "Nollie Skate Chain Testnet Explorer", - "url": "https://nolliescan.skatechain.org", - "standard": "EIP3091" - } - ], - "5102": [ - { - "name": "blockscout", - "url": "https://explorerl2new-sic-testnet-zvr7tlkzsi.t.conduit.xyz", - "standard": "EIP3091" - } - ], - "5106": [ - { - "name": "blockscout", - "url": "https://explorerl2new-azra-testnet-6hz86owb1n.t.conduit.xyz", - "standard": "EIP3091" - } - ], - "5112": [ - { - "name": "blockscout", - "url": "https://explorer.ham.fun", - "icon": "blockscout", - "standard": "EIP3091" - } - ], - "5151": [ - { - "name": "MeChain Scan", - "url": "https://testnet-scan.mechain.tech", - "icon": "mechain", - "standard": "EIP3091" - } - ], - "5165": [ - { - "name": "blockscout", - "url": "https://ftnscan.com", - "standard": "none" - } - ], - "5169": [ - { - "name": "SLN Mainnet Explorer", - "url": "https://explorer.main.smartlayer.network", - "standard": "EIP3091" - } - ], - "5177": [ - { - "name": "TLChain Explorer", - "url": "https://explorer.tlchain.network", - "standard": "none" - } - ], - "5234": [ - { - "name": "Subscan", - "url": "https://humanode.subscan.io", - "standard": "EIP3091", - "icon": "subscan" - } - ], - "5317": [ - { - "name": "OpTrust Testnet explorer", - "url": "https://scantest.optrust.io", - "icon": "optrust", - "standard": "none" - } - ], - "5321": [ - { - "name": "ITX Testnet Explorer (Blockscout)", - "url": "https://explorer.testnet.itxchain.com", - "standard": "EIP3091" - } - ], - "5333": [ - { - "name": "netsbo", - "url": "https://explorer.netsbo.io", - "icon": "netsbo", - "standard": "none" - } - ], - "5353": [ - { - "name": "TRITANIUM Testnet Explorer", - "icon": "tritanium", - "url": "https://testnet.tritanium.network", - "standard": "none" - } - ], - "5372": [ - { - "name": "Settlus Scan", - "url": "https://testnet.settlus.network", - "standard": "EIP3091" - } - ], - "5424": [ - { - "name": "edexa-mainnet", - "url": "https://explorer.edexa.network", - "standard": "EIP3091" - } - ], - "5439": [ - { - "name": "egoscan", - "url": "https://egoscan.io", - "standard": "EIP3091" - } - ], - "5522": [ - { - "name": "Vexascan-EVM-TestNet", - "url": "https://testnet.vexascan.com/evmexplorer", - "standard": "EIP3091" - } - ], - "5551": [ - { - "name": "Nahmii 2 Mainnet Explorer", - "url": "https://explorer.n2.nahmii.io", - "icon": "nahmii", - "standard": "EIP3091" - } - ], - "5555": [ - { - "name": "Chain Verse Explorer", - "url": "https://explorer.chainverse.info", - "standard": "EIP3091" - } - ], - "5611": [ - { - "name": "bscscan-opbnb-testnet", - "url": "https://opbnb-testnet.bscscan.com", - "standard": "EIP3091" - }, - { - "name": "opbnbscan", - "url": "https://opbnbscan.com", - "standard": "EIP3091" - } - ], - "5615": [ - { - "name": "explorer-arcturus-testnet", - "url": "https://testnet.arcscan.net", - "standard": "EIP3091" - } - ], - "5656": [ - { - "name": "QIE Explorer", - "url": "https://mainnet.qiblockchain.online", - "standard": "EIP3091" - } - ], - "5675": [ - { - "name": "filenova testnet explorer", - "url": "https://scantest.filenova.org", - "icon": "filenova", - "standard": "none" - } - ], - "5678": [ - { - "name": "BlockScout", - "url": "https://3001-blockscout.a.dancebox.tanssi.network", - "standard": "EIP3091" - } - ], - "5700": [ - { - "name": "Syscoin Testnet Block Explorer", - "url": "https://tanenbaum.io", - "standard": "EIP3091" - } - ], - "5729": [ - { - "name": "Hika Network Testnet Explorer", - "url": "https://scan-testnet.hika.network", - "standard": "none" - } - ], - "5758": [ - { - "name": "SatoshiChain Testnet Explorer", - "url": "https://testnet.satoshiscan.io", - "standard": "EIP3091" - } - ], - "5845": [ - { - "name": "Tangle EVM Explorer", - "url": "https://explorer.tangle.tools", - "standard": "EIP3091", - "icon": "tangle" - } - ], - "5851": [ - { - "name": "explorer", - "url": "https://explorer.ont.io/testnet", - "standard": "EIP3091" - } - ], - "5858": [ - { - "name": "CTH Scan", - "url": "https://cthscan.com", - "standard": "EIP3091", - "icon": "blockscout" - } - ], - "5869": [ - { - "name": "wegoscan2", - "url": "https://scan2.wegochain.io", - "standard": "EIP3091" - } - ], - "6000": [ - { - "name": "BBScan Testnet Explorer", - "url": "https://bbscan.io", - "standard": "none" - } - ], - "6001": [ - { - "name": "BBScan Mainnet Explorer", - "url": "https://bbscan.io", - "standard": "none" - } - ], - "6065": [ - { - "name": "treslechesexplorer", - "url": "https://explorer-test.tresleches.finance", - "icon": "treslechesexplorer", - "standard": "EIP3091" - } - ], - "6066": [ - { - "name": "treslechesexplorer", - "url": "https://explorer.tresleches.finance", - "icon": "treslechesexplorer", - "standard": "EIP3091" - } - ], - "6102": [ - { - "name": "Cascadia EVM Explorer", - "url": "https://explorer.cascadia.foundation", - "standard": "none", - "icon": "cascadia" - }, - { - "name": "Cascadia Cosmos Explorer", - "url": "https://validator.cascadia.foundation", - "standard": "none", - "icon": "cascadia" - } - ], - "6118": [ - { - "name": "UPTN Testnet Explorer", - "url": "https://testnet.explorer.uptn.io", - "standard": "EIP3091" - } - ], - "6119": [ - { - "name": "UPTN Explorer", - "url": "https://explorer.uptn.io", - "standard": "EIP3091" - } - ], - "6283": [ - { - "name": "blockscout", - "url": "https://blockscout.laos.laosfoundation.io", - "icon": "blockscout", - "standard": "EIP3091" - } - ], - "6321": [ - { - "name": "Aurascan Explorer", - "url": "https://euphoria.aurascan.io", - "standard": "none", - "icon": "aura" - } - ], - "6322": [ - { - "name": "Aurascan Explorer", - "url": "https://aurascan.io", - "standard": "none", - "icon": "aura" - } - ], - "6398": [ - { - "name": "Connext Sepolia", - "url": "https://connext-sepolia.blockscout.com", - "icon": "connext", - "standard": "none" - } - ], - "6550": [ - { - "name": "flascan", - "url": "https://testnet.flascan.net", - "standard": "EIP3091" - } - ], - "6552": [ - { - "name": "Scolscan Testnet Explorer", - "url": "https://testnet-explorer.scolcoin.com", - "standard": "EIP3091" - } - ], - "6565": [ - { - "name": "FOX Testnet Explorer", - "icon": "fox", - "url": "https://testnet.foxscan.app", - "standard": "none" - } - ], - "6626": [ - { - "name": "blockscout", - "url": "https://scan.chain.pixie.xyz", - "standard": "none" - } - ], - "6660": [ - { - "name": "Latest Chain", - "url": "http://testnet.latestchain.io", - "standard": "EIP3091" - } - ], - "6661": [ - { - "name": "Cybria Explorer", - "url": "https://cybascan.io", - "icon": "cybascan", - "standard": "EIP3091" - } - ], - "6666": [ - { - "name": "Cybria Explorer", - "url": "https://explorer.cybascan.io", - "icon": "cybascan", - "standard": "EIP3091" - } - ], - "6678": [ - { - "name": "blockscout", - "url": "https://emcscan.com", - "standard": "EIP3091" - } - ], - "6688": [ - { - "name": "IRISHub Cosmos Explorer (IOBScan)", - "url": "https://irishub.iobscan.io", - "standard": "none", - "icon": "irishub" - } - ], - "6701": [ - { - "name": "PAXB Explorer", - "url": "https://scan.paxb.io", - "icon": "paxb", - "standard": "EIP3091" - } - ], - "6779": [ - { - "name": "cpvscan", - "url": "https://scan.compverse.io", - "standard": "EIP3091" - } - ], - "6789": [ - { - "name": "Gold Smart Chain", - "url": "https://mainnet.goldsmartchain.com", - "standard": "EIP3091" - } - ], - "6805": [ - { - "name": "blockscout", - "url": "https://racescan.io", - "icon": "blockscout", - "standard": "EIP3091" - } - ], - "6806": [ - { - "name": "blockscout", - "url": "https://testnet.racescan.io", - "icon": "blockscout", - "standard": "EIP3091" - } - ], - "6868": [ - { - "name": "poolsscan", - "url": "https://scan.poolsmobility.com", - "icon": "POOLS", - "standard": "EIP3091" - } - ], - "6969": [ - { - "name": "tombscout", - "url": "https://tombscout.com", - "standard": "none" - } - ], - "7000": [ - { - "name": "ZetaChain Mainnet Explorer", - "url": "https://explorer.zetachain.com", - "standard": "none" - } - ], - "7001": [ - { - "name": "ZetaScan", - "url": "https://athens.explorer.zetachain.com", - "standard": "none" - }, - { - "name": "Blockscout", - "url": "https://zetachain-athens-3.blockscout.com", - "icon": "blockscout", - "standard": "EIP3091" - } - ], - "7007": [ - { - "name": "blockscout", - "url": "https://bstscan.com", - "standard": "EIP3091" - } - ], - "7027": [ - { - "name": "Ella", - "url": "https://ella.network", - "standard": "EIP3091" - } - ], - "7070": [ - { - "name": "Planq EVM Explorer (Blockscout)", - "url": "https://evm.planq.network", - "standard": "none" - }, - { - "name": "Planq Cosmos Explorer (BigDipper)", - "url": "https://explorer.planq.network", - "standard": "none" - } - ], - "7100": [ - { - "name": "numeexplorer", - "url": "https://explorer.numecrypto.com", - "icon": "nume", - "standard": "none" - } - ], - "7171": [ - { - "name": "Bitrock Explorer", - "url": "https://explorer.bit-rock.io", - "standard": "EIP3091" - } - ], - "7244": [ - { - "name": "ZEUS Testnet Explorer", - "url": "https://testnet-explorer.zeuschainscan.io", - "icon": "zeusicon", - "standard": "EIP3091" - } - ], - "7300": [ - { - "name": "XPLA Verse Explorer", - "url": "https://explorer-xpla-verse.xpla.dev", - "standard": "EIP3091" - } - ], - "7332": [ - { - "name": "Horizen EON Block Explorer", - "url": "https://eon-explorer.horizenlabs.io", - "icon": "eon", - "standard": "EIP3091" - } - ], - "7341": [ - { - "name": "Shyft BX", - "url": "https://bx.shyft.network", - "standard": "EIP3091" - } - ], - "7484": [ - { - "name": "raba", - "url": "https://x.raba.app/explorer", - "standard": "none" - } - ], - "7518": [ - { - "name": "MEVerse Chain Explorer", - "url": "https://www.meversescan.io", - "standard": "none", - "icon": "meverse" - } - ], - "7560": [ - { - "name": "Cyber Mainnet Explorer", - "url": "https://cyberscan.co", - "standard": "EIP3091" - } - ], - "7575": [ - { - "name": "ADIL Testnet Explorer", - "url": "https://testnet.adilchain-scan.io", - "standard": "EIP3091" - } - ], - "7576": [ - { - "name": "ADIL Mainnet Explorer", - "url": "https://adilchain-scan.io", - "standard": "EIP3091" - } - ], - "7668": [ - { - "name": "rootnet", - "url": "https://explorer.rootnet.live", - "standard": "EIP3091" - } - ], - "7672": [ - { - "name": "rootnet", - "url": "https://explorer.rootnet.cloud", - "standard": "EIP3091" - } - ], - "7700": [ - { - "name": "Canto Explorer (OKLink)", - "url": "https://www.oklink.com/canto", - "standard": "EIP3091" - }, - { - "name": "Canto EVM Explorer (Blockscout)", - "url": "https://tuber.build", - "standard": "EIP3091" - }, - { - "name": "dexguru", - "url": "https://canto.dex.guru", - "icon": "dexguru", - "standard": "EIP3091" - } - ], - "7701": [ - { - "name": "Canto Testnet EVM Explorer (Blockscout)", - "url": "https://testnet.tuber.build", - "standard": "none" - }, - { - "name": "dexguru", - "url": "https://canto-test.dex.guru", - "icon": "dexguru", - "standard": "EIP3091" - } - ], - "7771": [ - { - "name": "Bitrock Testnet Explorer", - "url": "https://testnetscan.bit-rock.io", - "standard": "EIP3091" - } - ], - "7774": [ - { - "name": "GDCC", - "url": "https://gdccscan.io", - "standard": "none" - } - ], - "7775": [ - { - "name": "GDCC", - "url": "https://testnet.gdccscan.io", - "standard": "none" - } - ], - "7776": [ - { - "name": "Tracehawk", - "url": "https://pandaseascan.com", - "standard": "none" - } - ], - "7777": [ - { - "name": "avascan", - "url": "https://testnet.avascan.info/blockchain/2mZ9doojfwHzXN3VXDQELKnKyZYxv7833U8Yq5eTfFx3hxJtiy", - "standard": "none" - } - ], - "7778": [ - { - "name": "ORE Mainnet Explorer", - "icon": "ore", - "url": "https://oreniumscan.org", - "standard": "none" - } - ], - "7798": [ - { - "name": "OpenEX Long Testnet Explorer", - "url": "https://scan.long.openex.network", - "icon": "oex", - "standard": "EIP3091" - } - ], - "7860": [ - { - "name": "maalscan testnet", - "url": "https://testnet.maalscan.io", - "standard": "EIP3091" - } - ], - "7862": [ - { - "name": "maalscan", - "url": "https://maalscan.io", - "standard": "EIP3091" - } - ], - "7863": [ - { - "name": "maalscan testnet", - "url": "https://new-testnet.maalscan.io", - "standard": "EIP3091" - } - ], - "7878": [ - { - "name": "Hazlor Testnet Explorer", - "url": "https://explorer.hazlor.com", - "standard": "none" - } - ], - "7887": [ - { - "name": "Kinto Explorer", - "url": "https://explorer.kinto.xyz", - "icon": "kinto", - "standard": "EIP3091" - } - ], - "7895": [ - { - "name": "ARDENIUM Athena Explorer", - "icon": "ard", - "url": "https://testnet.ardscan.com", - "standard": "none" - } - ], - "7923": [ - { - "name": "blockscout", - "url": "https://explorer.dotblox.io", - "standard": "none" - } - ], - "7924": [ - { - "name": "MO Explorer", - "url": "https://moscan.app", - "standard": "none" - } - ], - "7979": [ - { - "name": "DOScan", - "url": "https://doscan.io", - "icon": "doschain", - "standard": "EIP3091" - } - ], - "8000": [ - { - "name": "Teleport EVM Explorer (Blockscout)", - "url": "https://evm-explorer.teleport.network", - "standard": "none", - "icon": "teleport" - }, - { - "name": "Teleport Cosmos Explorer (Big Dipper)", - "url": "https://explorer.teleport.network", - "standard": "none", - "icon": "teleport" - } - ], - "8001": [ - { - "name": "Teleport EVM Explorer (Blockscout)", - "url": "https://evm-explorer.testnet.teleport.network", - "standard": "none", - "icon": "teleport" - }, - { - "name": "Teleport Cosmos Explorer (Big Dipper)", - "url": "https://explorer.testnet.teleport.network", - "standard": "none", - "icon": "teleport" - } - ], - "8008": [ - { - "name": "Polynomial Explorer", - "url": "https://polynomialscan.io", - "standard": "none", - "icon": "polynomial" - } - ], - "8047": [ - { - "name": "BOAT Mainnet Explorer", - "url": "https://scan.come.boats", - "icon": "boat", - "standard": "EIP3091" - } - ], - "8054": [ - { - "name": "Karak Sepolia Explorer", - "url": "https://explorer.sepolia.karak.network", - "standard": "EIP3091" - } - ], - "8080": [ - { - "name": "Shardeum Scan", - "url": "https://explorer-liberty10.shardeum.org", - "standard": "EIP3091" - } - ], - "8081": [ - { - "name": "Shardeum Scan", - "url": "https://explorer-liberty20.shardeum.org", - "standard": "EIP3091" - } - ], - "8082": [ - { - "name": "Shardeum Scan", - "url": "https://explorer-sphinx.shardeum.org", - "standard": "EIP3091" - } - ], - "8131": [ - { - "name": "meerscan testnet", - "icon": "meer", - "url": "https://testnet-qng.qitmeer.io", - "standard": "EIP3091" - } - ], - "8181": [ - { - "name": "Testnet BeOne Chain", - "url": "https://testnet.beonescan.com", - "icon": "beonechain", - "standard": "none" - } - ], - "8192": [ - { - "name": "blockscout", - "url": "https://toruscan.com", - "icon": "blockscout", - "standard": "EIP3091" - } - ], - "8194": [ - { - "name": "blockscout", - "url": "https://testnet.toruscan.com", - "icon": "blockscout", - "standard": "EIP3091" - } - ], - "8217": [ - { - "name": "Klaytnscope", - "url": "https://scope.klaytn.com", - "standard": "EIP3091" - }, - { - "name": "Klaytnfinder", - "url": "https://klaytnfinder.io", - "standard": "EIP3091" - } - ], - "8227": [ - { - "name": "SPACE Explorer", - "url": "https://subnets.avax.network/space", - "standard": "EIP3091" - } - ], - "8272": [ - { - "name": "Blockton Explorer", - "url": "https://blocktonscan.com", - "standard": "none" - } - ], - "8329": [ - { - "name": "Lorenzo Explorer", - "url": "https://scan.lorenzo-protocol.xyz", - "standard": "none", - "icon": "lorenzo" - } - ], - "8333": [ - { - "name": "Blockscout", - "url": "https://explorer.b3.fun", - "standard": "EIP3091" - } - ], - "8453": [ - { - "name": "basescan", - "url": "https://basescan.org", - "standard": "none" - }, - { - "name": "basescout", - "url": "https://base.blockscout.com", - "icon": "blockscout", - "standard": "EIP3091" - }, - { - "name": "dexguru", - "url": "https://base.dex.guru", - "icon": "dexguru", - "standard": "EIP3091" - } - ], - "8668": [ - { - "name": "Hela Official Runtime Mainnet Explorer", - "url": "https://mainnet-blockexplorer.helachain.com", - "standard": "EIP3091" - } - ], - "8723": [ - { - "name": "OLO Block Explorer", - "url": "https://www.olo.network", - "standard": "EIP3091" - } - ], - "8726": [ - { - "name": "Storscan", - "url": "https://explorer-storagechain.invo.zone/?network=StorageChain", - "standard": "none" - } - ], - "8727": [ - { - "name": "Storscan", - "url": "https://explorer-storagechain.invo.zone/?network=StorageChain%20Testnet", - "standard": "none" - } - ], - "8732": [ - { - "name": "Bullionscan", - "url": "https://bullionscan.org", - "standard": "EIP3091" - } - ], - "8738": [ - { - "name": "alphscan", - "url": "https://explorer.alph.network", - "standard": "EIP3091" - } - ], - "8822": [ - { - "name": "explorer", - "url": "https://explorer.evm.iota.org", - "icon": "iotaevm", - "standard": "EIP3091" - } - ], - "8844": [ - { - "name": "Hydra Chain Testnet explorer", - "url": "https://hydragon.hydrachain.org", - "icon": "hydra", - "standard": "EIP3091" - } - ], - "8848": [ - { - "name": "MARO Scan", - "url": "https://scan.ma.ro/#", - "standard": "none" - } - ], - "8866": [ - { - "name": "Lumio explorer", - "url": "https://explorer.lumio.io", - "standard": "none" - } - ], - "8869": [ - { - "name": "lif3scout", - "url": "https://lif3scout.com", - "standard": "none" - } - ], - "8880": [ - { - "name": "Unique Scan", - "url": "https://uniquescan.io/unique", - "standard": "none" - } - ], - "8881": [ - { - "name": "Unique Scan / Quartz", - "url": "https://uniquescan.io/quartz", - "standard": "none" - } - ], - "8882": [ - { - "name": "Unique Scan / Opal", - "url": "https://uniquescan.io/opal", - "standard": "none" - } - ], - "8883": [ - { - "name": "Unique Scan / Sapphire", - "url": "https://uniquescan.io/sapphire", - "standard": "none" - } - ], - "8886": [ - { - "name": "Avenium Explorer Testnet", - "icon": "avenium", - "url": "https://testnet.avescan.net", - "standard": "none" - } - ], - "8888": [ - { - "name": "XANAChain", - "url": "https://xanachain.xana.net", - "standard": "EIP3091" - } - ], - "8890": [ - { - "name": "ORE Testnet Explorer", - "icon": "ore", - "url": "https://testnet.oreniumscan.org", - "standard": "none" - } - ], - "8898": [ - { - "name": "mmtscan", - "url": "https://mmtscan.io", - "standard": "EIP3091", - "icon": "mmt" - } - ], - "8899": [ - { - "name": "JIBCHAIN Explorer", - "url": "https://exp-l1.jibchain.net", - "standard": "EIP3091" - } - ], - "8911": [ - { - "name": "algscan", - "url": "https://scan.algen.network", - "icon": "alg", - "standard": "EIP3091" - } - ], - "8912": [ - { - "name": "algscan", - "url": "https://scan.test.algen.network", - "icon": "alg", - "standard": "EIP3091" - } - ], - "8921": [ - { - "name": "algl2scan", - "url": "https://scan.alg2.algen.network", - "icon": "algl2", - "standard": "EIP3091" - } - ], - "8922": [ - { - "name": "algl2scan", - "url": "https://scan.alg2-test.algen.network", - "icon": "algl2", - "standard": "EIP3091" - } - ], - "8989": [ - { - "name": "gmmtscan", - "url": "https://scan.gmmtchain.io", - "standard": "EIP3091", - "icon": "gmmt" - } - ], - "9000": [ - { - "name": "Evmos Explorer (Escan)", - "url": "https://testnet.escan.live", - "standard": "none", - "icon": "evmos" - } - ], - "9001": [ - { - "name": "Evmos Explorer (Escan)", - "url": "https://escan.live", - "standard": "none", - "icon": "evmos" - } - ], - "9007": [ - { - "name": "Shidoblock Testnet Explorer", - "url": "https://testnet.shidoscan.com", - "standard": "none", - "icon": "shidoChain" - } - ], - "9008": [ - { - "name": "Shidoblock Mainnet Explorer", - "url": "https://shidoscan.com", - "standard": "none", - "icon": "shidoChain" - } - ], - "9012": [ - { - "name": "berylbit-explorer", - "url": "https://explorer.berylbit.io", - "standard": "EIP3091" - } - ], - "9024": [ - { - "name": "Nexablock Testnet Explorer", - "url": "https://testnet.nexablockscan.io", - "standard": "none", - "icon": "nexaChain" - } - ], - "9025": [ - { - "name": "Nexablock Mainnet Explorer", - "url": "https://nexablockscan.io", - "standard": "none", - "icon": "nexaChain" - } - ], - "9223": [ - { - "name": "Codefin Net Explorer", - "url": "https://explorer.codefin.pro", - "standard": "EIP3091" - } - ], - "9339": [ - { - "name": "Dogcoin", - "url": "https://testnet.dogcoin.network", - "standard": "EIP3091" - } - ], - "9372": [ - { - "name": "blockscout", - "url": "https://explorer.testnet.oasys.games", - "standard": "EIP3091" - } - ], - "9393": [ - { - "name": "basescout", - "url": "https://sepolia-delascan.deperp.com", - "icon": "blockscout", - "standard": "EIP3091" - } - ], - "9395": [ - { - "name": "Evoke SmartChain Explorer", - "url": "https://explorer.evokescan.org", - "standard": "EIP3091" - } - ], - "9496": [ - { - "name": "WeaveVM Explorer", - "url": "https://explorer.wvm.dev", - "standard": "EIP3091" - } - ], - "9527": [ - { - "name": "rangersscan-robin", - "url": "https://robin-rangersscan.rangersprotocol.com", - "standard": "none" - } - ], - "9528": [ - { - "name": "QEasyWeb3 Explorer", - "url": "https://www.qeasyweb3.com", - "standard": "EIP3091" - } - ], - "9559": [ - { - "name": "Neon Blockchain Explorer", - "url": "https://testnet-scan.neonlink.io", - "standard": "EIP3091", - "icon": "neonlink" - } - ], - "9700": [ - { - "name": "Oort MainnetDev Scan", - "url": "https://dev-scan.oortech.com", - "standard": "none", - "icon": "oort" - } - ], - "9728": [ - { - "name": "Boba BNB Testnet block explorer", - "url": "https://testnet.bobascan.com", - "standard": "none" - } - ], - "9768": [ - { - "name": "MainnetZ", - "url": "https://testnet.mainnetz.io", - "standard": "EIP3091" - } - ], - "9779": [ - { - "name": "Pepe Explorer", - "url": "https://explorer.pepenetwork.io", - "icon": "pepenetwork", - "standard": "none" - } - ], - "9789": [ - { - "name": "Tabi Testnet Explorer", - "url": "https://testnet.tabiscan.com", - "standard": "none" - } - ], - "9797": [ - { - "name": "OptimusZ7 Mainnet Explorer", - "url": "https://explorer.optimusz7.com", - "standard": "EIP3091" - } - ], - "9818": [ - { - "name": "IMPERIUM TESTNET Explorer", - "icon": "timp", - "url": "https://network.impscan.com", - "standard": "none" - } - ], - "9819": [ - { - "name": "IMPERIUM Explorer", - "icon": "imp", - "url": "https://impscan.com", - "standard": "none" - } - ], - "9876": [ - { - "name": "BinaryChain Testnet Explorer", - "url": "https://explorer.testnet.binarychain.org", - "standard": "EIP3091" - } - ], - "9888": [ - { - "name": "Dogelayer mainnet explorer", - "url": "https://dl-explorer.dogelayer.org", - "standard": "EIP3091" - } - ], - "9898": [ - { - "name": "Larissa Scan", - "url": "https://scan.larissa.network", - "standard": "EIP3091" - } - ], - "9911": [ - { - "name": "escscan", - "url": "https://escscan.com", - "icon": "espento", - "standard": "EIP3091" - } - ], - "9977": [ - { - "name": "Mind Chain explorer", - "url": "https://testnet.mindscan.info", - "standard": "EIP3091" - } - ], - "9980": [ - { - "name": "combotrace explorer", - "url": "https://combotrace.nodereal.io", - "standard": "EIP3091" - } - ], - "9981": [ - { - "name": "Volley Mainnet Explorer", - "url": "https://volleyscan.io", - "standard": "EIP3091" - } - ], - "9990": [ - { - "name": "Polkadot.js", - "url": "https://polkadot.js.org/apps/?rpc=wss://wsspc1-qa.agung.peaq.network#/explorer", - "standard": "none" - }, - { - "name": "Subscan", - "url": "https://agung.subscan.io", - "standard": "none" - } - ], - "9996": [ - { - "name": "Mind Chain explorer", - "url": "https://mainnet.mindscan.info", - "standard": "EIP3091" - } - ], - "9997": [ - { - "name": "blockscout", - "url": "https://testnet-rollup-explorer.altlayer.io", - "icon": "blockscout", - "standard": "EIP3091" - } - ], - "10024": [ - { - "name": "Gon Explorer", - "url": "https://gonscan.com", - "standard": "none" - } - ], - "10081": [ - { - "name": "Testnet Block Explorer", - "url": "https://explorer.testnet.japanopenchain.org", - "standard": "EIP3091" - } - ], - "10096": [ - { - "name": "Blockscout", - "url": "https://explorer.metanovaverse.com", - "standard": "EIP3091" - }, - { - "name": "Cosmos Explorer (Ping)", - "url": "https://ping.metanovaverse.com/metanovaverse", - "standard": "none" - } - ], - "10200": [ - { - "name": "blockscout-chiadochain", - "url": "https://blockscout.chiadochain.net", - "icon": "blockscout", - "standard": "EIP3091" - }, - { - "name": "blockscout", - "url": "https://gnosis-chiado.blockscout.com", - "icon": "blockscout", - "standard": "EIP3091" - } - ], - "10201": [ - { - "name": "MaxxChain Block Explorer", - "url": "https://explorer.maxxchain.org", - "standard": "EIP3091" - } - ], - "10222": [ - { - "name": "GLScan Explorer", - "url": "https://glscan.io", - "standard": "none", - "icon": "glc" - } - ], - "10242": [ - { - "name": "blockscout", - "url": "https://explorer.arthera.net", - "icon": "blockscout", - "standard": "EIP3091" - } - ], - "10243": [ - { - "name": "blockscout", - "url": "https://explorer-test.arthera.net", - "icon": "blockscout", - "standard": "EIP3091" - } - ], - "10248": [ - { - "name": "0xtrade Scan", - "url": "https://www.0xtscan.com", - "standard": "none" - } - ], - "10321": [ - { - "name": "TAO Mainnet Explorer", - "url": "https://taoscan.org", - "standard": "EIP3091" - } - ], - "10324": [ - { - "name": "TAO Testnet Explorer", - "url": "https://testnet.taoscan.org", - "standard": "EIP3091" - } - ], - "10395": [ - { - "name": "Worldland Explorer", - "url": "https://testscan.worldland.foundation", - "standard": "EIP3091" - } - ], - "10507": [ - { - "name": "ethernal", - "url": "https://mainnet.num.network", - "standard": "EIP3091" - } - ], - "10508": [ - { - "name": "ethernal", - "url": "https://testnet.num.network", - "standard": "EIP3091" - } - ], - "10823": [ - { - "name": "CCP Explorer", - "url": "https://cryptocoinpay.info", - "standard": "EIP3091" - } - ], - "10849": [ - { - "name": "Lamina1 Explorer", - "url": "https://subnets.avax.network/lamina1", - "standard": "EIP3091" - } - ], - "10850": [ - { - "name": "Lamina1 Identity Explorer", - "url": "https://subnets.avax.network/lamina1id", - "standard": "EIP3091" - } - ], - "10946": [ - { - "name": "explorer", - "url": "https://explorer.quadrans.io", - "icon": "quadrans", - "standard": "EIP3091" - } - ], - "10947": [ - { - "name": "explorer", - "url": "https://explorer.testnet.quadrans.io", - "icon": "quadrans", - "standard": "EIP3091" - } - ], - "11011": [ - { - "name": "blockscout", - "url": "https://shape-sepolia-explorer.alchemy.com", - "standard": "EIP3091" - } - ], - "11110": [ - { - "name": "Astra EVM Explorer (Blockscout)", - "url": "https://explorer.astranaut.io", - "standard": "none", - "icon": "astra" - }, - { - "name": "Astra PingPub Explorer", - "url": "https://ping.astranaut.io/astra", - "standard": "none", - "icon": "astra" - } - ], - "11111": [ - { - "name": "Avalanche Subnet Explorer", - "url": "https://subnets-test.avax.network/wagmi", - "standard": "EIP3091" - } - ], - "11115": [ - { - "name": "Astra EVM Explorer", - "url": "https://explorer.astranaut.dev", - "standard": "EIP3091", - "icon": "astra" - }, - { - "name": "Astra PingPub Explorer", - "url": "https://ping.astranaut.dev/astra", - "standard": "none", - "icon": "astra" - } - ], - "11119": [ - { - "name": "hashbitscan", - "url": "https://explorer.hashbit.org", - "standard": "EIP3091" - } - ], - "11124": [ - { - "name": "Abstract Block Explorer", - "url": "https://explorer.testnet.abs.xyz", - "standard": "none" - } - ], - "11221": [ - { - "name": "shinescan", - "url": "https://shinescan.io", - "icon": "shine", - "standard": "none" - } - ], - "11227": [ - { - "name": "JIRITSUTES Explorer", - "url": "https://subnets-test.avax.network/jiritsutes", - "standard": "EIP3091" - } - ], - "11235": [ - { - "name": "Mainnet HAQQ Explorer", - "url": "https://explorer.haqq.network", - "standard": "EIP3091" - } - ], - "11437": [ - { - "name": "Shyft Testnet BX", - "url": "https://bx.testnet.shyft.network", - "standard": "EIP3091" - } - ], - "11501": [ - { - "name": "bevm mainnet scan", - "url": "https://scan-mainnet.bevm.io", - "standard": "none" - } - ], - "11503": [ - { - "name": "bevm testnet scan", - "url": "https://scan-testnet.bevm.io", - "standard": "none" - } - ], - "11521": [ - { - "name": "satschain scan", - "url": "https://scan-satschain.bevm.io", - "standard": "none" - } - ], - "11612": [ - { - "name": "Sardis", - "url": "https://testnet.sardisnetwork.com", - "standard": "EIP3091" - } - ], - "11822": [ - { - "name": "ArtelaScan", - "url": "https://betanet-scan.artela.network", - "standard": "EIP3091" - } - ], - "11891": [ - { - "name": "Polygon Supernet Arianee Explorer", - "url": "https://polygonsupernet.explorer.arianee.net", - "standard": "EIP3091" - } - ], - "12001": [ - { - "name": "Blockscout", - "url": "https://explorer.flash.fuse.io", - "standard": "none" - } - ], - "12009": [ - { - "name": "SatoshiChain Explorer", - "url": "https://satoshiscan.io", - "standard": "EIP3091" - } - ], - "12020": [ - { - "name": "blockscout", - "url": "https://explorer.aternoschain.com", - "icon": "blockscout", - "standard": "EIP3091" - } - ], - "12051": [ - { - "name": "zeroscan", - "url": "https://betaenv.singularity.gold:18002", - "standard": "EIP3091" - } - ], - "12052": [ - { - "name": "zeroscan", - "url": "https://zeroscan.singularity.gold", - "standard": "EIP3091" - } - ], - "12123": [ - { - "name": "BRC Chain Explorer", - "url": "https://scan.brcchain.io", - "standard": "EIP3091" - } - ], - "12306": [ - { - "name": "fiboscan", - "url": "https://scan.fibochain.org", - "standard": "EIP3091" - } - ], - "12324": [ - { - "name": "L3X Mainnet Explorer", - "url": "https://explorer.l3x.com", - "standard": "EIP3091" - } - ], - "12325": [ - { - "name": "L3X Testnet Explorer", - "url": "https://explorer-testnet.l3x.com", - "standard": "EIP3091" - } - ], - "12345": [ - { - "name": "StepScan", - "url": "https://testnet.stepscan.io", - "icon": "step", - "standard": "EIP3091" - } - ], - "12553": [ - { - "name": "RSS3 VSL Scan", - "url": "https://scan.rss3.io", - "standard": "EIP3091" - } - ], - "12715": [ - { - "name": "Rikeza Blockchain explorer", - "url": "https://testnet.rikscan.com", - "standard": "EIP3091" - } - ], - "12781": [ - { - "name": "Playdapp Testnet Explorer", - "url": "https://subnets-test.avax.network/playdappte", - "standard": "EIP3091" - } - ], - "12890": [ - { - "name": "Quantum Scan Testnet", - "url": "https://testnet.quantumscan.org", - "standard": "EIP3091" - } - ], - "12898": [ - { - "name": "Avalanche Subnet Explorer", - "url": "https://subnets-test.avax.network/letsplayfair", - "standard": "EIP3091" - } - ], - "13000": [ - { - "name": "SPS Explorer", - "url": "http://spsscan.ssquad.games", - "standard": "EIP3091" - } - ], - "13308": [ - { - "name": "Creditscan", - "url": "https://scan.creditsmartchain.com", - "icon": "credit", - "standard": "EIP3091" - } - ], - "13337": [ - { - "name": "Beam Explorer", - "url": "https://subnets-test.avax.network/beam", - "standard": "EIP3091" - } - ], - "13371": [ - { - "name": "Immutable explorer", - "url": "https://explorer.immutable.com", - "standard": "EIP3091", - "icon": "immutable" - } - ], - "13381": [ - { - "name": "phoenixplorer", - "url": "https://phoenixplorer.com", - "standard": "EIP3091" - } - ], - "13396": [ - { - "name": "Masa Explorer", - "url": "https://subnets.avax.network/masa", - "standard": "EIP3091" - } - ], - "13473": [ - { - "name": "Immutable Testnet explorer", - "url": "https://explorer.testnet.immutable.com", - "standard": "EIP3091", - "icon": "immutable" - } - ], - "13505": [ - { - "name": "Gravity Alpha Testnet Sepolia Explorer", - "url": "https://explorer-sepolia.gravity.xyz", - "standard": "EIP3091" - } - ], - "13600": [ - { - "name": "qbitscan", - "url": "https://explorer.qbitscan.com", - "icon": "kronobit", - "standard": "EIP3091" - } - ], - "13812": [ - { - "name": "Susono", - "url": "http://explorer.opn.network", - "standard": "none" - } - ], - "14000": [ - { - "name": "SPS Test Explorer", - "url": "https://explorer.3sps.net", - "standard": "EIP3091" - } - ], - "14324": [ - { - "name": "Evolve Testnet Explorer", - "url": "https://testnet.evolveblockchain.io", - "standard": "EIP3091" - } - ], - "14333": [ - { - "name": "Vitruveo Testnet Explorer", - "url": "https://test-explorer.vitruveo.xyz", - "icon": "vitruveo", - "standard": "EIP3091" - } - ], - "14801": [ - { - "name": "satoriscan", - "url": "https://satori.vanascan.io", - "standard": "EIP3091" - } - ], - "15003": [ - { - "name": "Immutable Devnet explorer", - "url": "https://explorer.dev.immutable.com", - "standard": "EIP3091", - "icon": "immutable" - } - ], - "15257": [ - { - "name": "Poodl Testnet Explorer", - "url": "https://testnet.poodl.org", - "standard": "EIP3091" - } - ], - "15259": [ - { - "name": "Poodl Mainnet Explorer", - "url": "https://explorer.poodl.org", - "standard": "EIP3091" - } - ], - "15430": [ - { - "name": "KYMTC Mainnet Explorer", - "url": "https://kymaticscan.online", - "icon": "kymtc", - "standard": "EIP3091" - } - ], - "15551": [ - { - "name": "loopscan", - "url": "http://explorer.mainnetloop.com", - "standard": "none" - } - ], - "15555": [ - { - "name": "Trust EVM Explorer", - "url": "https://trustscan.one", - "standard": "EIP3091" - } - ], - "15557": [ - { - "name": "EOS EVM Explorer", - "url": "https://explorer.testnet.evm.eosnetwork.com", - "standard": "EIP3091" - } - ], - "16116": [ - { - "name": "DeFiVerse Explorer", - "url": "https://scan.defi-verse.org", - "icon": "defiverse", - "standard": "EIP3091" - } - ], - "16166": [ - { - "name": "Testnet Block Explorer", - "url": "https://cypherium.tryethernal.com", - "standard": "EIP3091" - } - ], - "16180": [ - { - "name": "Avalanche Subnet Explorer", - "url": "https://subnets.avax.network/plyr", - "standard": "EIP3091" - } - ], - "16481": [ - { - "name": "Pivotal Scan", - "url": "https://sepolia.pivotalscan.xyz", - "standard": "EIP3091" - } - ], - "16507": [ - { - "name": "GchainExplorer", - "url": "https://gchainexplorer.genesys.network", - "standard": "EIP3091" - } - ], - "16600": [ - { - "name": "0G Chain Explorer", - "url": "https://chainscan-newton.0g.ai", - "standard": "none" - } - ], - "16688": [ - { - "name": "IRISHub Testnet Cosmos Explorer (IOBScan)", - "url": "https://nyancat.iobscan.io", - "standard": "none", - "icon": "nyancat" - } - ], - "16718": [ - { - "name": "AirDAO Network Explorer", - "url": "https://airdao.io/explorer", - "standard": "none" - } - ], - "16888": [ - { - "name": "ivarscan", - "url": "https://testnet.ivarscan.com", - "standard": "EIP3091" - } - ], - "17000": [ - { - "name": "Holesky Explorer", - "url": "https://holesky.beaconcha.in", - "icon": "ethereum", - "standard": "EIP3091" - }, - { - "name": "otterscan-holesky", - "url": "https://holesky.otterscan.io", - "icon": "ethereum", - "standard": "EIP3091" - }, - { - "name": "Holesky Etherscan", - "url": "https://holesky.etherscan.io", - "icon": "ethereum", - "standard": "EIP3091" - } - ], - "17069": [ - { - "name": "blockscout", - "url": "https://explorer.garnetchain.com", - "icon": "blockscout", - "standard": "EIP3091" - } - ], - "17071": [ - { - "name": "blockscout", - "url": "https://explorer.onchainpoints.xyz", - "icon": "blockscout", - "standard": "EIP3091" - } - ], - "17117": [ - { - "name": "DeFiVerse Testnet Explorer", - "url": "https://scan-testnet.defi-verse.org", - "icon": "defiverse", - "standard": "EIP3091" - } - ], - "17171": [ - { - "name": "G8Chain", - "url": "https://mainnet.oneg8.network", - "standard": "EIP3091" - } - ], - "17172": [ - { - "name": "ECLIPSE Explorer", - "url": "https://subnets-test.avax.network/eclipse", - "standard": "EIP3091" - } - ], - "17180": [ - { - "name": "Palettescan", - "url": "https://testnet.palettescan.com", - "icon": "PLT", - "standard": "none" - } - ], - "17217": [ - { - "name": "konet-explorer", - "url": "https://explorer.kon-wallet.com", - "standard": "EIP3091" - } - ], - "17777": [ - { - "name": "EOS EVM Explorer", - "url": "https://explorer.evm.eosnetwork.com", - "standard": "EIP3091" - } - ], - "18000": [ - { - "name": "Game Network", - "url": "https://explorer.fod.games", - "standard": "EIP3091" - } - ], - "18122": [ - { - "name": "stnscan", - "url": "https://stnscan.com", - "icon": "stn", - "standard": "none" - } - ], - "18159": [ - { - "name": "explorer-proofofmemes", - "url": "https://memescan.io", - "standard": "EIP3091" - } - ], - "18181": [ - { - "name": "G8Chain", - "url": "https://testnet.oneg8.network", - "standard": "EIP3091" - } - ], - "18233": [ - { - "name": "blockscout", - "url": "https://unreal.blockscout.com", - "icon": "unreal", - "standard": "EIP3091" - } - ], - "18686": [ - { - "name": "MXC zkEVM Moonchain", - "url": "https://explorer.moonchain.com", - "standard": "EIP3091" - } - ], - "18888": [ - { - "name": "Titan Explorer", - "url": "https://tkxscan.io/Titan", - "standard": "none", - "icon": "titan_tkx" - } - ], - "18889": [ - { - "name": "Titan Explorer", - "url": "https://titan-testnet-explorer-light.titanlab.io/Titan%20Testnet", - "standard": "none", - "icon": "titan_tkx" - } - ], - "19011": [ - { - "name": "HOME Verse Explorer", - "url": "https://explorer.oasys.homeverse.games", - "standard": "EIP3091" - } - ], - "19077": [ - { - "name": "BlockX EVM Explorer (Blockscout)", - "url": "https://testnet-explorer.blockxnet.com", - "standard": "EIP3091" - }, - { - "name": "BlockX Cosmos Explorer (Ping)", - "url": "https://ping.blockxnet.com/blockx-atlantis-testnet", - "standard": "none" - } - ], - "19191": [ - { - "name": "BlockX EVM Explorer (Blockscout)", - "url": "https://explorer.blockxnet.com", - "standard": "EIP3091" - }, - { - "name": "BlockX Cosmos Explorer (Ping)", - "url": "https://ping.blockxnet.com/blockx", - "standard": "none" - } - ], - "19224": [ - { - "name": "Decentraconnect Social", - "url": "https://decentraconnect.io", - "standard": "EIP3091" - } - ], - "19600": [ - { - "name": "LBRY Block Explorer", - "url": "https://explorer.lbry.com", - "icon": "lbry", - "standard": "none" - } - ], - "19845": [ - { - "name": "BTCIXScan", - "url": "https://btcixscan.com", - "standard": "none" - } - ], - "20001": [ - { - "name": "CamelarkScan", - "url": "https://scan.camelark.com", - "standard": "EIP3091" - } - ], - "20041": [ - { - "name": "NizaScan", - "url": "https://nizascan.io", - "standard": "EIP3091" - } - ], - "20073": [ - { - "name": "NizaScan", - "url": "https://testnet.nizascan.io", - "standard": "EIP3091" - } - ], - "20736": [ - { - "name": "P12 Chain Explorer", - "url": "https://explorer.p12.games", - "standard": "EIP3091" - } - ], - "20765": [ - { - "name": "JONO11 Explorer", - "url": "https://subnets-test.avax.network/jono11", - "standard": "EIP3091" - } - ], - "21004": [ - { - "name": "C4EI sirato", - "url": "https://exp.c4ei.net", - "icon": "c4ei", - "standard": "none" - } - ], - "21133": [ - { - "name": "AAH Blockscout", - "url": "https://exp.c4ex.net", - "icon": "aah", - "standard": "EIP3091" - } - ], - "21223": [ - { - "name": "DCpay Mainnet Explorer", - "url": "https://mainnet.dcpay.io", - "standard": "EIP3091" - } - ], - "21224": [ - { - "name": "DCpay Testnet Explorer", - "url": "https://testnet.dcpay.io", - "standard": "EIP3091" - } - ], - "21337": [ - { - "name": "UNcover", - "url": "https://uncoverexplorer.com", - "standard": "none" - } - ], - "21363": [ - { - "name": "Lestnet Explorer", - "url": "https://explore.lestnet.org", - "icon": "blockscout", - "standard": "EIP3091" - } - ], - "21816": [ - { - "name": "omChain Explorer", - "url": "https://explorer.omchain.io", - "standard": "EIP3091" - } - ], - "21912": [ - { - "name": "BSL Mainnet Explorer", - "url": "https://scan.nftruth.io", - "standard": "EIP3091" - } - ], - "22023": [ - { - "name": "Taycan Explorer(Blockscout)", - "url": "https://taycan-evmscan.hupayx.io", - "standard": "none", - "icon": "shuffle" - }, - { - "name": "Taycan Cosmos Explorer(BigDipper)", - "url": "https://taycan-cosmoscan.hupayx.io", - "standard": "none", - "icon": "shuffle" - } - ], - "22040": [ - { - "name": "AirDAO Network Explorer", - "url": "https://testnet.airdao.io/explorer", - "standard": "none" - } - ], - "22222": [ - { - "name": "Nautscan", - "url": "https://nautscan.com", - "standard": "EIP3091", - "icon": "nautilus" - } - ], - "22324": [ - { - "name": "GoldXChain Testnet Explorer", - "url": "https://testnet-explorer.goldxchain.io", - "standard": "EIP3091" - } - ], - "22776": [ - { - "name": "maposcan", - "url": "https://maposcan.io", - "standard": "EIP3091" - } - ], - "23006": [ - { - "name": "Antofy Testnet", - "url": "https://test.antofyscan.com", - "standard": "EIP3091" - } - ], - "23118": [ - { - "name": "opsideInfo", - "url": "https://opside.info", - "standard": "EIP3091" - } - ], - "23294": [ - { - "name": "Oasis Sapphire Explorer", - "url": "https://explorer.oasis.io/mainnet/sapphire", - "standard": "EIP3091" - } - ], - "23295": [ - { - "name": "Oasis Sapphire Testnet Explorer", - "url": "https://explorer.oasis.io/testnet/sapphire", - "standard": "EIP3091" - } - ], - "23451": [ - { - "name": "drxscan", - "url": "https://scan.dreyerx.com", - "icon": "dreyerx", - "standard": "EIP3091" - } - ], - "23452": [ - { - "name": "drxscan", - "url": "https://testnet-scan.dreyerx.com", - "icon": "dreyerx", - "standard": "EIP3091" - } - ], - "23888": [ - { - "name": "Blast Testnet", - "url": "http://testnet-explorer.blastblockchain.com", - "standard": "EIP3091" - } - ], - "24076": [ - { - "name": "KYMTC Testnet Explorer", - "url": "https://testnet-explorer.kymaticscan.online", - "icon": "kymtc", - "standard": "EIP3091" - } - ], - "25186": [ - { - "name": "LiquidLayer Mainnet Explorer", - "url": "https://scan.liquidlayer.network", - "standard": "EIP3091" - } - ], - "25839": [ - { - "name": "AlveyScan Testnet", - "url": "https://alveytestnet.com", - "icon": "alveychain", - "standard": "EIP3091" - } - ], - "25888": [ - { - "name": "Hammer Chain Explorer", - "url": "https://www.hammerchain.io", - "standard": "none" - } - ], - "25925": [ - { - "name": "bkcscan-testnet", - "url": "https://testnet.bkcscan.com", - "standard": "none", - "icon": "bkc" - } - ], - "26026": [ - { - "name": "polkadotjs", - "url": "https://polkadot.js.org/apps/?rpc=wss%3A%2F%2Ftestnet.dev.svcs.ferrumnetwork.io#/explorer", - "standard": "none" - } - ], - "26482": [ - { - "name": "Blockscout", - "url": "https://explorer-testnet.ducatusx.com", - "icon": "blockscout", - "standard": "EIP3091" - } - ], - "26483": [ - { - "name": "Blockscout", - "url": "https://explorer.ducatusx.com", - "icon": "blockscout", - "standard": "EIP3091" - } - ], - "26600": [ - { - "name": "Hertz Scan", - "url": "https://hertzscan.com", - "icon": "hertz-network", - "standard": "EIP3091" - } - ], - "26863": [ - { - "name": "OasisChain Explorer", - "url": "https://scan.oasischain.io", - "standard": "EIP3091" - } - ], - "27181": [ - { - "name": "blockscout", - "url": "https://blockscout.klaosnova.laosfoundation.io", - "icon": "k-laos", - "standard": "EIP3091" - } - ], - "27483": [ - { - "name": "Nanon Sepolia Rollup Testnet Explorer", - "url": "https://sepolia-explorer.nanon.network", - "standard": "EIP3091" - } - ], - "27827": [ - { - "name": "ZEROONEMAI Explorer", - "url": "https://subnets.avax.network/zeroonemai", - "standard": "EIP3091" - } - ], - "28516": [ - { - "name": "blockscout", - "url": "https://explorer-sepolia.vizing.com", - "icon": "vizing", - "standard": "EIP3091" - } - ], - "28518": [ - { - "name": "blockscout", - "url": "https://explorer.vizing.com", - "icon": "vizing", - "standard": "EIP3091" - } - ], - "28528": [ - { - "name": "blockscout", - "url": "https://blockscout.com/optimism/bedrock-alpha", - "standard": "EIP3091" - } - ], - "28882": [ - { - "name": "Bobascan", - "url": "https://testnet.bobascan.com", - "standard": "none" - } - ], - "29112": [ - { - "name": "blockscout", - "url": "https://testnet.explorer.hychain.com", - "icon": "hychain", - "standard": "EIP3091" - } - ], - "29223": [ - { - "name": "NexaShell", - "url": "https://nexa.sh", - "standard": "none", - "icon": "nexashell" - } - ], - "29536": [ - { - "name": "KaiChain Explorer", - "url": "https://testnet-explorer.kaichain.net", - "standard": "EIP3091" - } - ], - "29548": [ - { - "name": "MCH Verse Explorer", - "url": "https://explorer.oasys.mycryptoheroes.net", - "standard": "EIP3091" - } - ], - "30067": [ - { - "name": "Piece Scan", - "url": "https://testnet-scan.piecenetwork.com", - "standard": "EIP3091" - } - ], - "30088": [ - { - "name": "MiYou block explorer", - "url": "https://myscan.miyou.io", - "standard": "EIP3091" - } - ], - "30103": [ - { - "name": "canxium explorer", - "url": "https://cerium-explorer.canxium.net", - "standard": "none" - } - ], - "30730": [ - { - "name": "mevm explorer", - "url": "https://explorer.movementlabs.xyz", - "standard": "none" - } - ], - "30731": [ - { - "name": "mevm explorer", - "url": "https://explorer.movementlabs.xyz", - "standard": "none" - } - ], - "30732": [ - { - "name": "mevm explorer", - "url": "https://explorer.testnet.imola.movementlabs.xyz", - "standard": "none" - } - ], - "31223": [ - { - "name": "cloudtxscan", - "url": "https://scan.cloudtx.finance", - "standard": "EIP3091" - } - ], - "31224": [ - { - "name": "cloudtxexplorer", - "url": "https://explorer.cloudtx.finance", - "standard": "EIP3091" - } - ], - "31337": [ - { - "name": "GoChain Testnet Explorer", - "url": "https://testnet-explorer.gochain.io", - "standard": "EIP3091" - } - ], - "31414": [ - { - "name": "Evoke SmartChain Testnet Explorer", - "url": "https://testnet-explorer.evokescan.org", - "standard": "EIP3091" - } - ], - "31753": [ - { - "name": "Xchain Mainnet Explorer", - "url": "https://xchainscan.com", - "standard": "EIP3091" - } - ], - "31754": [ - { - "name": "Xchain Testnet Explorer", - "url": "https://xchaintest.net", - "standard": "EIP3091" - } - ], - "32001": [ - { - "name": "W3Gamez Holesky Explorer", - "url": "https://w3gamez-holesky.web3games.com", - "icon": "web3games", - "standard": "EIP3091" - } - ], - "32382": [ - { - "name": "Santiment Intelligence Explorer", - "url": "https://app-explorer-pos.sanr.app", - "standard": "none" - } - ], - "32520": [ - { - "name": "Brise Scan", - "url": "https://brisescan.com", - "icon": "brise", - "standard": "EIP3091" - } - ], - "32659": [ - { - "name": "fsnscan", - "url": "https://fsnscan.com", - "icon": "fsnscan", - "standard": "EIP3091" - } - ], - "32769": [ - { - "name": "Zilliqa EVM Explorer", - "url": "https://evmx.zilliqa.com", - "standard": "none" - } - ], - "32990": [ - { - "name": "Zilliqa EVM Isolated Server Explorer", - "url": "https://devex.zilliqa.com/?network=https://zilliqa-isolated-server.zilliqa.com", - "standard": "none" - } - ], - "33033": [ - { - "name": "Entangle Mainnet Explorer", - "url": "https://explorer.entangle.fi", - "standard": "none" - } - ], - "33101": [ - { - "name": "Zilliqa EVM Explorer", - "url": "https://evmx.zilliqa.com", - "standard": "none" - } - ], - "33103": [ - { - "name": "Zilliqa 2 EVM proto-testnet explorer", - "url": "https://explorer.zq2-prototestnet.zilliqa.com", - "standard": "EIP3091" - } - ], - "33111": [ - { - "name": "Curtis Explorer", - "url": "https://explorer.curtis.apechain.com", - "standard": "EIP3091" - } - ], - "33210": [ - { - "name": "CLOUDVERSE Explorer", - "url": "https://subnets.avax.network/cloudverse", - "standard": "EIP3091" - } - ], - "33333": [ - { - "name": "avescan", - "url": "https://avescan.io", - "icon": "avescan", - "standard": "EIP3091" - } - ], - "33385": [ - { - "name": "Zilliqa EVM Devnet Explorer", - "url": "https://otterscan.devnet.zilliqa.com", - "standard": "EIP3091" - } - ], - "33401": [ - { - "name": "SlingShot Explorer", - "url": "https://explore.slingshotdao.com", - "icon": "slingshot", - "standard": "EIP3091" - } - ], - "33469": [ - { - "name": "Zilliqa-2 EVM Devnet Explorer", - "url": "https://explorer.zq2-devnet.zilliqa.com", - "standard": "EIP3091" - } - ], - "33979": [ - { - "name": "FunkiScan", - "url": "https://funkiscan.io", - "standard": "none" - }, - { - "name": "Funki Mainnet Explorer", - "url": "https://funki.superscan.network", - "standard": "none" - } - ], - "34443": [ - { - "name": "modescout", - "url": "https://explorer.mode.network", - "standard": "none" - } - ], - "34504": [ - { - "name": "ZEUS Mainnet Explorer", - "url": "https://zeuschainscan.io", - "icon": "zeusicon", - "standard": "EIP3091" - } - ], - "35011": [ - { - "name": "J2O Taro Explorer", - "url": "https://exp.j2o.io", - "icon": "j2otaro", - "standard": "EIP3091" - } - ], - "35441": [ - { - "name": "Q explorer", - "url": "https://explorer.q.org", - "icon": "q", - "standard": "EIP3091" - } - ], - "35443": [ - { - "name": "Q explorer", - "url": "https://explorer.qtestnet.org", - "icon": "q", - "standard": "EIP3091" - } - ], - "38400": [ - { - "name": "rangersscan", - "url": "https://scan.rangersprotocol.com", - "standard": "none" - } - ], - "38401": [ - { - "name": "rangersscan-robin", - "url": "https://robin-rangersscan.rangersprotocol.com", - "standard": "none" - } - ], - "39656": [ - { - "name": "Primal Network", - "url": "https://prmscan.org", - "standard": "EIP3091" - } - ], - "39815": [ - { - "name": "ohoscan", - "url": "https://ohoscan.com", - "icon": "ohoscan", - "standard": "EIP3091" - } - ], - "41455": [ - { - "name": "Aleph Zero EVM Mainnet Explorer", - "url": "https://evm-explorer.alephzero.org", - "icon": "aleph-zero", - "standard": "none" - } - ], - "41500": [ - { - "name": "Opulent-X BETA Explorer", - "url": "https://explorer.opulent-x.com", - "standard": "none" - } - ], - "42072": [ - { - "name": "AgentLayer Testnet Explorer", - "url": "https://testnet-explorer.agentlayer.xyz", - "standard": "EIP3091" - } - ], - "42161": [ - { - "name": "Arbiscan", - "url": "https://arbiscan.io", - "standard": "EIP3091" - }, - { - "name": "Arbitrum Explorer", - "url": "https://explorer.arbitrum.io", - "standard": "EIP3091" - }, - { - "name": "dexguru", - "url": "https://arbitrum.dex.guru", - "icon": "dexguru", - "standard": "EIP3091" - } - ], - "42170": [ - { - "name": "Arbitrum Nova Chain Explorer", - "url": "https://nova-explorer.arbitrum.io", - "icon": "blockscout", - "standard": "EIP3091" - }, - { - "name": "dexguru", - "url": "https://nova.dex.guru", - "icon": "dexguru", - "standard": "EIP3091" - } - ], - "42220": [ - { - "name": "Celoscan", - "url": "https://celoscan.io", - "standard": "EIP3091" - }, - { - "name": "blockscout", - "url": "https://explorer.celo.org", - "standard": "none" - } - ], - "42261": [ - { - "name": "Oasis Emerald Testnet Explorer", - "url": "https://explorer.oasis.io/testnet/emerald", - "standard": "EIP3091" - } - ], - "42262": [ - { - "name": "Oasis Emerald Explorer", - "url": "https://explorer.oasis.io/mainnet/emerald", - "standard": "EIP3091" - } - ], - "42355": [ - { - "name": "GoldXChain Explorer", - "url": "https://explorer.goldxchain.io", - "standard": "EIP3091" - } - ], - "42421": [ - { - "name": "Asset Chain Testnet Explorer", - "url": "https://scan-testnet.assetchain.org", - "standard": "EIP3091" - } - ], - "42766": [ - { - "name": "blockscout", - "url": "https://scan.zkfair.io", - "icon": "zkfair", - "standard": "EIP3091" - } - ], - "42793": [ - { - "name": "Etherlink Explorer", - "url": "https://explorer.etherlink.com", - "standard": "EIP3091" - } - ], - "42801": [ - { - "name": "Gesoten Verse Testnet Explorer", - "url": "https://explorer.testnet.verse.gesoten.com", - "standard": "EIP3091" - } - ], - "42888": [ - { - "name": "kintoscan", - "url": "http://35.215.120.180:4000", - "standard": "EIP3091" - } - ], - "43113": [ - { - "name": "snowtrace", - "url": "https://testnet.snowtrace.io", - "standard": "EIP3091" - } - ], - "43114": [ - { - "name": "snowtrace", - "url": "https://snowtrace.io", - "standard": "EIP3091" - } - ], - "43851": [ - { - "name": "ZKFair Testnet Info", - "url": "https://testnet-scan.zkfair.io", - "icon": "zkfair", - "standard": "EIP3091" - } - ], - "44444": [ - { - "name": "blockscout", - "url": "https://frenscan.io", - "icon": "fren", - "standard": "EIP3091" - } - ], - "44445": [ - { - "name": "Quantum Explorer", - "url": "https://qtm.avescoin.io", - "icon": "quantum", - "standard": "EIP3091" - } - ], - "44787": [ - { - "name": "Alfajoresscan", - "url": "https://alfajores.celoscan.io", - "standard": "EIP3091" - } - ], - "45000": [ - { - "name": "autobahn explorer", - "url": "https://explorer.autobahn.network", - "icon": "autobahn", - "standard": "EIP3091" - } - ], - "45454": [ - { - "name": "blockscout", - "url": "https://swamps-explorer.tc.l2aas.com", - "icon": "blockscout", - "standard": "EIP3091" - } - ], - "45510": [ - { - "name": "Deelance Mainnet Explorer", - "url": "https://deescan.com", - "standard": "EIP3091" - } - ], - "45513": [ - { - "name": "blockscout", - "url": "https://blessnet.calderaexplorer.xyz", - "icon": "bless", - "standard": "EIP3091" - } - ], - "46688": [ - { - "name": "fsnscan", - "url": "https://testnet.fsnscan.com", - "icon": "fsnscan", - "standard": "EIP3091" - } - ], - "47763": [ - { - "name": "Neo X - Explorer", - "url": "https://xexplorer.neo.org", - "standard": "EIP3091" - } - ], - "47803": [ - { - "name": "ReDeFi Scan", - "url": "https://scanlayer1.redefi.world", - "standard": "EIP3091" - } - ], - "47805": [ - { - "name": "rei-scan", - "url": "https://scan.rei.network", - "standard": "none" - } - ], - "48795": [ - { - "name": "SPACE Explorer", - "url": "https://subnets-test.avax.network/space", - "standard": "EIP3091" - } - ], - "48899": [ - { - "name": "Zircuit", - "url": "https://explorer.testnet.zircuit.com", - "icon": "zircuit", - "standard": "none" - } - ], - "48900": [ - { - "name": "Zircuit", - "url": "https://explorer.zircuit.com", - "icon": "zircuit", - "standard": "none" - } - ], - "49049": [ - { - "name": "Wire Explorer", - "url": "https://floripa-explorer.wireshape.org", - "standard": "EIP3091" - } - ], - "49088": [ - { - "name": "explorer-thebifrost", - "url": "https://explorer.testnet.bifrostnetwork.com", - "standard": "EIP3091" - } - ], - "49321": [ - { - "name": "blockscout", - "url": "https://testnet.gunzscan.io", - "standard": "EIP3091" - } - ], - "50005": [ - { - "name": "Yooldo Verse Explorer", - "url": "https://explorer.yooldo-verse.xyz", - "standard": "EIP3091" - } - ], - "50006": [ - { - "name": "Yooldo Verse Explorer", - "url": "https://explorer.testnet.yooldo-verse.xyz", - "standard": "EIP3091" - } - ], - "50021": [ - { - "name": "GTON Testnet Network Explorer", - "url": "https://explorer.testnet.gton.network", - "standard": "EIP3091" - } - ], - "51178": [ - { - "name": "LumozTestnetInfo", - "url": "https://lumoz.info", - "icon": "opside-new", - "standard": "EIP3091" - } - ], - "51712": [ - { - "name": "Sardis", - "url": "https://contract-mainnet.sardisnetwork.com", - "standard": "EIP3091" - } - ], - "52014": [ - { - "name": "blockscout", - "url": "https://blockexplorer.electroneum.com", - "icon": "electroneum", - "standard": "EIP3091" - } - ], - "53277": [ - { - "name": "DOID Scan", - "url": "https://scan.doid.tech", - "icon": "doid", - "standard": "EIP3091" - } - ], - "53302": [ - { - "name": "seedscout", - "url": "https://sepolia-explorer.superseed.xyz", - "standard": "EIP3091" - } - ], - "53457": [ - { - "name": "DODOchain Testnet (Sepolia) Explorer", - "url": "https://testnet-scan.dodochain.com", - "icon": "dodochain_testnet", - "standard": "EIP3091" - } - ], - "53935": [ - { - "name": "ethernal", - "url": "https://explorer.dfkchain.com", - "icon": "ethereum", - "standard": "none" - } - ], - "54211": [ - { - "name": "TestEdge HAQQ Explorer", - "url": "https://explorer.testedge2.haqq.network", - "standard": "EIP3091" - } - ], - "54321": [ - { - "name": "toronet_explorer", - "url": "https://testnet.toronet.org", - "standard": "none" - } - ], - "55004": [ - { - "name": "blockscout", - "url": "https://explorer.titan.tokamak.network", - "standard": "EIP3091" - } - ], - "55551": [ - { - "name": "photon_testnet2_explorer", - "url": "https://testnet2.photonchain.io", - "standard": "none" - } - ], - "55555": [ - { - "name": "reiscan", - "url": "https://reiscan.com", - "standard": "EIP3091" - } - ], - "55556": [ - { - "name": "reiscan", - "url": "https://testnet.reiscan.com", - "standard": "EIP3091" - } - ], - "55614": [ - { - "name": "flascan", - "url": "https://flascan.net", - "standard": "EIP3091" - } - ], - "56026": [ - { - "name": "Lambda Chain Mainnet Explorer", - "url": "https://scan.lambda.im", - "standard": "EIP3091" - } - ], - "56288": [ - { - "name": "Boba BNB block explorer", - "url": "https://bobascan.com", - "standard": "none" - } - ], - "56400": [ - { - "name": "TESTNETZER Explorer", - "url": "https://subnets-test.avax.network/testnetzer", - "standard": "EIP3091" - } - ], - "56789": [ - { - "name": "novascan", - "url": "https://novascan.velo.org", - "standard": "EIP3091" - } - ], - "56797": [ - { - "name": "DOID Testnet Scan", - "url": "https://scan.testnet.doid.tech", - "icon": "doid", - "standard": "EIP3091" - } - ], - "57000": [ - { - "name": "Rollux Testnet Explorer", - "url": "https://rollux.tanenbaum.io", - "standard": "EIP3091" - } - ], - "57451": [ - { - "name": "coinsecnetwork", - "url": "https://explorer.coinsec.network", - "standard": "EIP3091" - } - ], - "58008": [ - { - "name": "blockscout", - "url": "https://explorer.sepolia.publicgoods.network", - "icon": "blockscout", - "standard": "EIP3091" - } - ], - "59140": [ - { - "name": "Etherscan", - "url": "https://goerli.lineascan.build", - "standard": "EIP3091", - "icon": "linea" - }, - { - "name": "Blockscout", - "url": "https://explorer.goerli.linea.build", - "standard": "EIP3091", - "icon": "linea" - } - ], - "59141": [ - { - "name": "Etherscan", - "url": "https://sepolia.lineascan.build", - "standard": "EIP3091", - "icon": "linea" - }, - { - "name": "Blockscout", - "url": "https://explorer.sepolia.linea.build", - "standard": "EIP3091", - "icon": "linea" - } - ], - "59144": [ - { - "name": "Etherscan", - "url": "https://lineascan.build", - "standard": "EIP3091", - "icon": "linea" - }, - { - "name": "Blockscout", - "url": "https://explorer.linea.build", - "standard": "EIP3091", - "icon": "linea" - }, - { - "name": "L2scan", - "url": "https://linea.l2scan.co", - "standard": "EIP3091", - "icon": "linea" - } - ], - "59902": [ - { - "name": "blockscout", - "url": "https://sepolia-explorer.metisdevops.link", - "standard": "EIP3091" - } - ], - "59971": [ - { - "name": "Genesys Scan", - "url": "https://genesysscan.io", - "icon": "genesyscode", - "standard": "none" - } - ], - "60000": [ - { - "name": "thinkiumscan", - "url": "https://test0.thinkiumscan.net", - "standard": "EIP3091" - } - ], - "60001": [ - { - "name": "thinkiumscan", - "url": "https://test1.thinkiumscan.net", - "standard": "EIP3091" - } - ], - "60002": [ - { - "name": "thinkiumscan", - "url": "https://test2.thinkiumscan.net", - "standard": "EIP3091" - } - ], - "60103": [ - { - "name": "thinkiumscan", - "url": "https://test103.thinkiumscan.net", - "standard": "EIP3091" - } - ], - "60808": [ - { - "name": "bobscout", - "url": "https://explorer.gobob.xyz", - "icon": "blockscout", - "standard": "EIP3091" - } - ], - "61022": [ - { - "name": "Blockscout", - "url": "https://scan.orangechain.xyz", - "icon": "orange", - "standard": "EIP3091" - } - ], - "61406": [ - { - "name": "KaiChain Explorer", - "url": "https://explorer.kaichain.net", - "standard": "EIP3091" - } - ], - "61800": [ - { - "name": "AxelChain Dev-Net Explorer", - "url": "https://devexplorer2.viacube.com", - "standard": "EIP3091" - } - ], - "61803": [ - { - "name": "eticascan", - "url": "https://eticascan.org", - "standard": "EIP3091" - }, - { - "name": "eticastats", - "url": "http://explorer.etica-stats.org", - "standard": "EIP3091" - } - ], - "61916": [ - { - "name": "DSC Scan", - "url": "https://explore.doken.dev", - "icon": "doken", - "standard": "EIP3091" - } - ], - "62049": [ - { - "name": "optopia-testnet-scan", - "url": "https://scan-testnet.optopia.ai", - "icon": "optopia", - "standard": "EIP3091" - } - ], - "62050": [ - { - "name": "optopia-scan", - "url": "https://scan.optopia.ai", - "icon": "optopia", - "standard": "EIP3091" - } - ], - "62298": [ - { - "name": "Citrea Devnet Explorer", - "url": "https://explorer.devnet.citrea.xyz", - "icon": "citrea", - "standard": "EIP3091" - } - ], - "62621": [ - { - "name": "MultiVAC Explorer", - "url": "https://e.mtv.ac", - "standard": "none" - } - ], - "62831": [ - { - "name": "Avalanche Subnet Testnet Explorer", - "url": "https://subnets-test.avax.network/plyr", - "standard": "EIP3091" - } - ], - "62850": [ - { - "name": "blockscout", - "url": "https://sigma.explorer.laosnetwork.io", - "icon": "blockscout", - "standard": "EIP3091" - } - ], - "63000": [ - { - "name": "eCredits MainNet Explorer", - "url": "https://explorer.ecredits.com", - "icon": "ecredits", - "standard": "EIP3091" - } - ], - "63001": [ - { - "name": "eCredits TestNet Explorer", - "url": "https://explorer.tst.ecredits.com", - "icon": "ecredits", - "standard": "EIP3091" - } - ], - "65349": [ - { - "name": "Blockscout", - "url": "https://explorer-testnet.cratd2csmartchain.io", - "icon": "blockscout", - "standard": "EIP3091" - } - ], - "65357": [ - { - "name": "vecno", - "url": "https://explorer.vecno.org", - "icon": "blockscout", - "standard": "EIP3091" - } - ], - "65450": [ - { - "name": "Scolscan Explorer", - "url": "https://explorer.scolcoin.com", - "standard": "EIP3091" - } - ], - "66988": [ - { - "name": "JanusNetwork Testnet Explorer", - "url": "https://beta.scan.janusnetwork.io", - "standard": "none" - } - ], - "68770": [ - { - "name": "DM2Verse Explorer", - "url": "https://explorer.dm2verse.dmm.com", - "standard": "EIP3091" - } - ], - "69420": [ - { - "name": "Condrieu explorer", - "url": "https://explorer.condrieu.ethdevops.io", - "standard": "none" - } - ], - "70000": [ - { - "name": "thinkiumscan", - "url": "https://chain0.thinkiumscan.net", - "standard": "EIP3091" - } - ], - "70001": [ - { - "name": "thinkiumscan", - "url": "https://chain1.thinkiumscan.net", - "standard": "EIP3091" - } - ], - "70002": [ - { - "name": "thinkiumscan", - "url": "https://chain2.thinkiumscan.net", - "standard": "EIP3091" - } - ], - "70103": [ - { - "name": "thinkiumscan", - "url": "https://chain103.thinkiumscan.net", - "standard": "EIP3091" - } - ], - "70700": [ - { - "name": "Proof of Play Apex Explorer", - "url": "https://explorer.apex.proofofplay.com", - "icon": "pop-apex", - "standard": "EIP3091" - } - ], - "71111": [ - { - "name": "GuapcoinX Explorer", - "url": "http://explorer.guapcoinx.com", - "standard": "none", - "icon": "guapcoinx" - } - ], - "71401": [ - { - "name": "GWScan Block Explorer", - "url": "https://v1.testnet.gwscan.com", - "standard": "none" - } - ], - "71402": [ - { - "name": "GWScan Block Explorer", - "url": "https://v1.gwscan.com", - "standard": "none" - } - ], - "72778": [ - { - "name": "ankara", - "url": "https://explorer.ankara-cagacrypto.com", - "standard": "EIP3091" - } - ], - "72992": [ - { - "name": "GrokScan", - "url": "https://mainnet-explorer.grokchain.dev", - "standard": "none" - } - ], - "73114": [ - { - "name": "ICB Tesnet Explorer", - "url": "https://testnet.icbscan.io", - "standard": "EIP3091" - } - ], - "73115": [ - { - "name": "ICB Explorer", - "url": "https://icbscan.io", - "standard": "EIP3091" - } - ], - "73927": [ - { - "name": "mvmscan", - "url": "https://scan.mvm.dev", - "icon": "mvm", - "standard": "EIP3091" - } - ], - "75000": [ - { - "name": "ResinScan", - "url": "https://explorer.resincoin.dev", - "standard": "none" - } - ], - "75512": [ - { - "name": "Geek Explorer", - "url": "https://explorer.geekout-pte.com", - "standard": "EIP3091" - } - ], - "75513": [ - { - "name": "Geek Testnet Explorer", - "url": "https://explorer-testnet.geekout-pte.com", - "standard": "EIP3091" - } - ], - "77001": [ - { - "name": "BORAchainscope", - "url": "https://scope.boraportal.com", - "standard": "EIP3091" - } - ], - "77238": [ - { - "name": "Foundry Scan Testnet", - "url": "https://testnet-explorer.foundryscan.org", - "standard": "EIP3091" - } - ], - "77612": [ - { - "name": "ventionscan", - "url": "https://ventionscan.io", - "standard": "EIP3091" - } - ], - "77777": [ - { - "name": "toronet_explorer", - "url": "https://toronet.org/explorer", - "standard": "none" - } - ], - "78281": [ - { - "name": "Dragonfly Blockscout", - "url": "https://blockscout.dragonfly.hexapod.network", - "icon": "blockscout", - "standard": "EIP3091" - } - ], - "78430": [ - { - "name": "AMPLIFY Explorer", - "url": "https://subnets-test.avax.network/amplify", - "standard": "EIP3091" - } - ], - "78431": [ - { - "name": "BULLETIN Explorer", - "url": "https://subnets-test.avax.network/bulletin", - "standard": "EIP3091" - } - ], - "78432": [ - { - "name": "CONDUIT Explorer", - "url": "https://subnets-test.avax.network/conduit", - "standard": "EIP3091" - } - ], - "78600": [ - { - "name": "Vanguard Explorer", - "url": "https://explorer-vanguard.vanarchain.com", - "icon": "vanguard", - "standard": "EIP3091" - } - ], - "79879": [ - { - "name": "Gold Smart Chain", - "url": "https://testnet.goldsmartchain.com", - "standard": "EIP3091" - } - ], - "80001": [ - { - "name": "polygonscan", - "url": "https://mumbai.polygonscan.com", - "standard": "EIP3091" - } - ], - "80002": [ - { - "name": "polygonamoy", - "url": "https://www.oklink.com/amoy", - "standard": "EIP3091" - } - ], - "80008": [ - { - "name": "Polynomial Sepolia Explorer", - "url": "https://sepolia.polynomialscan.io", - "standard": "none", - "icon": "polynomialSepolia" - } - ], - "80084": [ - { - "name": "Beratrail", - "url": "https://bartio.beratrail.io", - "icon": "berachain", - "standard": "none" - } - ], - "80085": [ - { - "name": "Beratrail", - "url": "https://artio.beratrail.io", - "icon": "berachain", - "standard": "none" - } - ], - "80096": [ - { - "name": "blockscout", - "url": "https://hizoco.net:38443", - "standard": "none" - } - ], - "81041": [ - { - "name": "nordek", - "url": "https://nordekscan.com", - "standard": "EIP3091" - } - ], - "81457": [ - { - "name": "Blastscan", - "url": "https://blastscan.io", - "icon": "blast", - "standard": "EIP3091" - }, - { - "name": "Blast Explorer", - "url": "https://blastexplorer.io", - "icon": "blast", - "standard": "EIP3091" - } - ], - "81720": [ - { - "name": "Quantum Scan Mainnet", - "url": "https://quantumscan.org", - "standard": "EIP3091" - } - ], - "82459": [ - { - "name": "SLN Testnet Explorer", - "url": "https://explorer.test.smartlayer.network", - "standard": "EIP3091" - } - ], - "83144": [ - { - "name": "Blockscout", - "url": "https://explorer.testnet.xprotocol.org", - "standard": "EIP3091" - } - ], - "83872": [ - { - "name": "Zedscan", - "url": "http://zedscan.net", - "standard": "EIP3091" - } - ], - "84531": [ - { - "name": "basescan", - "url": "https://goerli.basescan.org", - "standard": "none" - }, - { - "name": "basescout", - "url": "https://base-goerli.blockscout.com", - "icon": "blockscout", - "standard": "EIP3091" - }, - { - "name": "dexguru", - "url": "https://base-goerli.dex.guru", - "icon": "dexguru", - "standard": "EIP3091" - } - ], - "84532": [ - { - "name": "basescout", - "url": "https://base-sepolia.blockscout.com", - "icon": "blockscout", - "standard": "EIP3091" - } - ], - "84886": [ - { - "name": "Aerie Explorer", - "url": "https://explorer.aerielab.io", - "icon": "aerie", - "standard": "EIP3091" - } - ], - "88002": [ - { - "name": "Nautscan", - "url": "https://proteus.nautscan.com", - "standard": "EIP3091", - "icon": "nautilus" - } - ], - "88559": [ - { - "name": "inoai.live", - "url": "https://inoai.live", - "standard": "EIP3091" - } - ], - "88800": [ - { - "name": "Tracehawk", - "url": "https://explorer.zkas.zeeve.net", - "standard": "none" - } - ], - "88817": [ - { - "name": "explorer-testnet", - "url": "https://explorer-testnet.unit0.dev", - "standard": "EIP3091" - } - ], - "88819": [ - { - "name": "explorer-stagenet", - "url": "https://explorer-stagenet.unit0.dev", - "standard": "EIP3091" - } - ], - "88882": [ - { - "name": "spicy-explorer", - "url": "https://testnet.chiliscan.com", - "standard": "EIP3091" - } - ], - "88888": [ - { - "name": "chiliscan", - "url": "https://chiliscan.com", - "standard": "EIP3091" - }, - { - "name": "chilizscan", - "url": "https://scan.chiliz.com", - "standard": "EIP3091" - } - ], - "90210": [ - { - "name": "Beverly Hills explorer", - "url": "https://explorer.beverlyhills.ethdevops.io", - "standard": "none" - } - ], - "90354": [ - { - "name": "blockscout", - "url": "https://explorerl2new-camp-network-4xje7wy105.t.conduit.xyz", - "icon": "blockscout", - "standard": "EIP3091" - } - ], - "91002": [ - { - "name": "Nautscan", - "url": "https://triton.nautscan.com", - "standard": "EIP3091" - } - ], - "91120": [ - { - "name": "MetaDAP Enterprise Mainnet explorer", - "url": "https://explorer.chain.metadap.io", - "standard": "none" - } - ], - "91715": [ - { - "name": "combotrace explorer", - "url": "https://combotrace-testnet.nodereal.io", - "standard": "EIP3091" - } - ], - "92001": [ - { - "name": "Lambda EVM Explorer", - "url": "https://explorer.lambda.top", - "standard": "EIP3091", - "icon": "lambda" - } - ], - "93572": [ - { - "name": "LiquidLayer Testnet Explorer", - "url": "https://testnet-scan.liquidlayer.network", - "standard": "EIP3091" - } - ], - "93747": [ - { - "name": "StratoVM Block Explorer", - "url": "https://explorer.stratovm.io", - "standard": "none" - } - ], - "96970": [ - { - "name": "Mantis Blockscout", - "url": "https://blockscout.mantis.hexapod.network", - "icon": "blockscout", - "standard": "EIP3091" - } - ], - "97435": [ - { - "name": "SlingShot Test Explorer", - "url": "https://explorer-dependent-emerald-whippet-gh6kch3nen.t.conduit.xyz", - "icon": "slingshot", - "standard": "EIP3091" - } - ], - "97531": [ - { - "name": "Green Chain Explorer", - "url": "https://explorer.greenchain.app", - "standard": "EIP3091" - } - ], - "97970": [ - { - "name": "OptimusZ7 Testnet Explorer", - "url": "https://testnet.optimusz7.com", - "standard": "EIP3091" - } - ], - "99099": [ - { - "name": "eLiberty Testnet", - "url": "https://testnet.eliberty.ngo", - "standard": "EIP3091" - } - ], - "99876": [ - { - "name": "blockscout", - "url": "https://testnet.emcscan.com", - "standard": "EIP3091" - } - ], - "100001": [ - { - "name": "quarkchain-mainnet", - "url": "https://mainnet.quarkchain.io/0", - "standard": "EIP3091" - } - ], - "100002": [ - { - "name": "quarkchain-mainnet", - "url": "https://mainnet.quarkchain.io/1", - "standard": "EIP3091" - } - ], - "100003": [ - { - "name": "quarkchain-mainnet", - "url": "https://mainnet.quarkchain.io/2", - "standard": "EIP3091" - } - ], - "100004": [ - { - "name": "quarkchain-mainnet", - "url": "https://mainnet.quarkchain.io/3", - "standard": "EIP3091" - } - ], - "100005": [ - { - "name": "quarkchain-mainnet", - "url": "https://mainnet.quarkchain.io/4", - "standard": "EIP3091" - } - ], - "100006": [ - { - "name": "quarkchain-mainnet", - "url": "https://mainnet.quarkchain.io/5", - "standard": "EIP3091" - } - ], - "100007": [ - { - "name": "quarkchain-mainnet", - "url": "https://mainnet.quarkchain.io/6", - "standard": "EIP3091" - } - ], - "100008": [ - { - "name": "quarkchain-mainnet", - "url": "https://mainnet.quarkchain.io/7", - "standard": "EIP3091" - } - ], - "100009": [ - { - "name": "VeChain Stats", - "url": "https://vechainstats.com", - "standard": "none" - }, - { - "name": "VeChain Explorer", - "url": "https://explore.vechain.org", - "standard": "none" - } - ], - "100010": [ - { - "name": "VeChain Explorer", - "url": "https://explore-testnet.vechain.org", - "standard": "none" - } - ], - "101010": [ - { - "name": "blockscout", - "url": "https://stability.blockscout.com", - "standard": "EIP3091" - } - ], - "102031": [ - { - "name": "blockscout", - "url": "https://creditcoin-testnet.blockscout.com", - "icon": "blockscout", - "standard": "EIP3091" - } - ], - "103090": [ - { - "name": "blockscout", - "url": "https://scan.crystaleum.org", - "icon": "crystal", - "standard": "EIP3091" - } - ], - "103454": [ - { - "name": "Masa Testnet Explorer", - "url": "https://subnets-test.avax.network/masatestnet", - "standard": "EIP3091" - } - ], - "104566": [ - { - "name": "KaspaClassic Explorer", - "url": "https://explorer.kaspaclassic.world", - "standard": "none" - } - ], - "105105": [ - { - "name": "Stratis Explorer", - "url": "https://explorer.stratisevm.com", - "standard": "EIP3091" - } - ], - "108801": [ - { - "name": "BROChain Explorer", - "url": "https://explorer.brochain.org", - "standard": "EIP3091" - } - ], - "110001": [ - { - "name": "quarkchain-devnet", - "url": "https://devnet.quarkchain.io/0", - "standard": "EIP3091" - } - ], - "110002": [ - { - "name": "quarkchain-devnet", - "url": "https://devnet.quarkchain.io/1", - "standard": "EIP3091" - } - ], - "110003": [ - { - "name": "quarkchain-devnet", - "url": "https://devnet.quarkchain.io/2", - "standard": "EIP3091" - } - ], - "110004": [ - { - "name": "quarkchain-devnet", - "url": "https://devnet.quarkchain.io/3", - "standard": "EIP3091" - } - ], - "110005": [ - { - "name": "quarkchain-devnet", - "url": "https://devnet.quarkchain.io/4", - "standard": "EIP3091" - } - ], - "110006": [ - { - "name": "quarkchain-devnet", - "url": "https://devnet.quarkchain.io/5", - "standard": "EIP3091" - } - ], - "110007": [ - { - "name": "quarkchain-devnet", - "url": "https://devnet.quarkchain.io/6", - "standard": "EIP3091" - } - ], - "110008": [ - { - "name": "quarkchain-devnet", - "url": "https://devnet.quarkchain.io/7", - "standard": "EIP3091" - } - ], - "111000": [ - { - "name": "Siberium Testnet Explorer - blockscout", - "url": "https://explorer.test.siberium.net", - "icon": "siberium", - "standard": "EIP3091" - } - ], - "111111": [ - { - "name": "Siberium Mainnet Explorer - blockscout - 1", - "url": "https://explorer.main.siberium.net", - "icon": "siberium", - "standard": "EIP3091" - }, - { - "name": "Siberium Mainnet Explorer - blockscout - 2", - "url": "https://explorer.main.siberium.net.ru", - "icon": "siberium", - "standard": "EIP3091" - } - ], - "111188": [ - { - "name": "blockscout", - "url": "https://explorer.re.al", - "icon": "real", - "standard": "EIP3091" - } - ], - "112358": [ - { - "name": "blockscout", - "url": "https://explorer.metachain.one", - "icon": "blockscout", - "standard": "EIP3091" - } - ], - "119139": [ - { - "name": "MetaDAP Enterprise Testnet explorer", - "url": "https://explorer.testnet.chain.metadap.io", - "standard": "none" - } - ], - "123321": [ - { - "name": "Gemchain Scan", - "url": "https://scan.gemchain.org", - "standard": "EIP3091" - } - ], - "123456": [ - { - "name": "ADIL Devnet Explorer", - "url": "https://devnet.adilchain-scan.io", - "standard": "EIP3091" - } - ], - "128123": [ - { - "name": "Etherlink Testnet Explorer", - "url": "https://testnet-explorer.etherlink.com", - "standard": "EIP3091" - } - ], - "131419": [ - { - "name": "etndscan", - "url": "https://scan.etnd.pro", - "icon": "ETND", - "standard": "none" - } - ], - "132902": [ - { - "name": "Form Testnet explorer", - "url": "https://testnet-explorer.form.network", - "standard": "EIP3091" - } - ], - "141319": [ - { - "name": "etherscan", - "url": "http://testnet-api.magape.io:81", - "icon": "magape", - "standard": "EIP3091" - } - ], - "142857": [ - { - "name": "ICPlaza", - "url": "https://browsemainnet.ic-plaza.org/index", - "standard": "none" - } - ], - "165279": [ - { - "name": "Eclat Mainnet Explorer", - "url": "https://eclatscan.com", - "standard": "EIP3091" - } - ], - "167000": [ - { - "name": "etherscan", - "url": "https://taikoscan.io", - "standard": "EIP3091" - } - ], - "167008": [ - { - "name": "blockscout", - "url": "https://explorer.katla.taiko.xyz", - "standard": "EIP3091" - } - ], - "167009": [ - { - "name": "blockscout", - "url": "https://blockscoutapi.hekla.taiko.xyz", - "standard": "EIP3091" - }, - { - "name": "routescan", - "url": "https://hekla.taikoscan.network", - "standard": "EIP3091" - } - ], - "175177": [ - { - "name": "Lit Chronicle Explorer", - "url": "https://chain.litprotocol.com", - "icon": "lit", - "standard": "EIP3091" - } - ], - "175188": [ - { - "name": "Lit Chronicle Yellowstone Explorer", - "url": "https://yellowstone-explorer.litprotocol.com", - "icon": "lit", - "standard": "EIP3091" - } - ], - "188710": [ - { - "name": "Bitica DPOS Blockchain Explorer", - "url": "https://biticablockchain.com", - "standard": "none" - } - ], - "188881": [ - { - "name": "CondorScan", - "url": "https://explorer.condor.systems", - "standard": "none" - } - ], - "199991": [ - { - "name": "MAZZE Testnet Explorer", - "url": "https://mazzescan.io", - "standard": "none" - } - ], - "200101": [ - { - "name": "Blockscout", - "url": "https://explorer-devnet-cardano-evm.c1.milkomeda.com", - "standard": "none" - } - ], - "200202": [ - { - "name": "Blockscout", - "url": "https://explorer-devnet-algorand-rollup.a1.milkomeda.com", - "standard": "none" - } - ], - "200810": [ - { - "name": "bitlayer testnet scan", - "url": "https://testnet.btrscan.com", - "standard": "EIP3091" - } - ], - "200901": [ - { - "name": "bitlayer mainnet scan", - "url": "https://www.btrscan.com", - "standard": "EIP3091" - } - ], - "201018": [ - { - "name": "alaya explorer", - "url": "https://scan.alaya.network", - "standard": "none" - } - ], - "201030": [ - { - "name": "alaya explorer", - "url": "https://devnetscan.alaya.network", - "standard": "none" - } - ], - "201804": [ - { - "name": "Mythical Chain Explorer", - "url": "https://explorer.mythicalgames.com", - "icon": "mythical", - "standard": "EIP3091" - } - ], - "202020": [ - { - "name": "DSC Explorer Testnet", - "url": "https://testnet.explorer.decimalchain.com", - "icon": "dsc", - "standard": "EIP3091" - } - ], - "202212": [ - { - "name": "Blockscout", - "url": "https://explorer.x1-devnet.xen.network", - "icon": "blockscout", - "standard": "EIP3091" - } - ], - "202401": [ - { - "name": "YMTECH-BESU Chainlens", - "url": "http://39.119.118.198", - "standard": "none" - } - ], - "202624": [ - { - "name": "Jellie Blockchain Explorer", - "url": "https://jellie.twala.io", - "standard": "EIP3091", - "icon": "twala" - } - ], - "204005": [ - { - "name": "Blockscout", - "url": "https://explorer.x1-testnet.xen.network", - "icon": "blockscout", - "standard": "EIP3091" - } - ], - "205205": [ - { - "name": "Auroria Testnet Explorer", - "url": "https://auroria.explorer.stratisevm.com", - "standard": "EIP3091" - } - ], - "210425": [ - { - "name": "PlatON explorer", - "url": "https://scan.platon.network", - "standard": "none" - } - ], - "220315": [ - { - "name": "explorer masnet", - "url": "https://explorer.masnet.ai", - "standard": "EIP3091" - } - ], - "221230": [ - { - "name": "Reapchain Dashboard", - "url": "https://dashboard.reapchain.org", - "icon": "reapchain", - "standard": "none" - } - ], - "221231": [ - { - "name": "Reapchain Testnet Dashboard", - "url": "https://test-dashboard.reapchain.org", - "icon": "reapchain", - "standard": "none" - } - ], - "222222": [ - { - "name": "blockscout", - "url": "https://explorer.evm.hydration.cloud", - "standard": "EIP3091" - } - ], - "222555": [ - { - "name": "DeepL Mainnet Explorer", - "url": "https://scan.deeplnetwork.org", - "icon": "deepl", - "standard": "EIP3091" - } - ], - "222666": [ - { - "name": "DeepL Testnet Explorer", - "url": "https://testnet-scan.deeplnetwork.org", - "icon": "deepl", - "standard": "EIP3091" - } - ], - "224168": [ - { - "name": "Taf ECO Chain Mainnet", - "url": "https://ecoscan.tafchain.com", - "standard": "EIP3091" - } - ], - "224422": [ - { - "name": "CONET Scan", - "url": "https://scan.conet.network", - "standard": "EIP3091" - } - ], - "224433": [ - { - "name": "CONET Holesky Scan", - "url": "https://scan.conet.network", - "standard": "EIP3091" - } - ], - "229772": [ - { - "name": "blockscout", - "url": "https://testnet.abyssprotocol.ai", - "icon": "blockscout", - "standard": "EIP3091" - } - ], - "230315": [ - { - "name": "HashKey Chain Testnet Explorer", - "url": "https://testnet.hashkeyscan.io", - "standard": "none" - } - ], - "240515": [ - { - "name": "Blockscout", - "url": "https://testnet-scan.orangechain.xyz", - "icon": "orange", - "standard": "EIP3091" - } - ], - "247253": [ - { - "name": "saakuru-explorer-testnet", - "url": "https://explorer-testnet.saakuru.network", - "standard": "EIP3091" - } - ], - "256256": [ - { - "name": "Mainnet Scan", - "url": "https://mainnet.scan.caduceus.foundation", - "standard": "none" - } - ], - "262371": [ - { - "name": "Eclat Testnet Explorer", - "url": "https://testnet-explorer.eclatscan.com", - "standard": "EIP3091" - } - ], - "271271": [ - { - "name": "EgonCoin Testnet", - "url": "https://testnet.egonscan.com", - "standard": "EIP3091" - } - ], - "282828": [ - { - "name": "zillscout", - "url": "https://sepolia.zillnet.io", - "icon": "zillion", - "standard": "EIP3091" - } - ], - "292003": [ - { - "name": "Cipherscan Testnet Explorer", - "icon": "cipherscan", - "url": "https://cipherscan.net", - "standard": "EIP3091" - } - ], - "309075": [ - { - "name": "One World Chain Mainnet Explorer", - "url": "https://mainnet.oneworldchain.org", - "standard": "EIP3091" - } - ], - "313313": [ - { - "name": "Testnet Scan", - "url": "https://explorer.saharaa.info", - "standard": "EIP3091" - } - ], - "314159": [ - { - "name": "Filscan - Calibration", - "url": "https://calibration.filscan.io", - "standard": "none" - }, - { - "name": "Filscout - Calibration", - "url": "https://calibration.filscout.com/en", - "standard": "none" - }, - { - "name": "Filfox - Calibration", - "url": "https://calibration.filfox.info", - "standard": "none" - }, - { - "name": "Glif Explorer - Calibration", - "url": "https://explorer.glif.io/?network=calibration", - "standard": "none" - }, - { - "name": "Beryx", - "url": "https://beryx.zondax.ch", - "standard": "none" - } - ], - "322202": [ - { - "name": "Parex Mainnet Explorer", - "url": "https://scan.parex.network", - "icon": "parexmain", - "standard": "EIP3091" - } - ], - "323213": [ - { - "name": "Bloom Genesis Testnet", - "url": "https://testnet.bloomgenesis.com", - "standard": "EIP3091" - } - ], - "327126": [ - { - "name": "blockscout", - "url": "https://explorer.wabaworld.com", - "standard": "none" - } - ], - "328527": [ - { - "name": "Nal Network Explorer", - "url": "https://scan.nal.network", - "standard": "EIP3091" - } - ], - "330844": [ - { - "name": "TTcoin Smart Chain Explorer", - "url": "https://tscscan.com", - "standard": "EIP3091", - "icon": "tscscan" - } - ], - "333313": [ - { - "name": "Bloom Genesis Mainnet", - "url": "https://explorer.bloomgenesis.com", - "standard": "EIP3091" - } - ], - "333331": [ - { - "name": "avescan", - "url": "https://testnet.avescoin.io", - "icon": "avescan", - "standard": "EIP3091" - } - ], - "333333": [ - { - "name": "Nativ3 Test Explorer", - "url": "https://scantest.nativ3.network", - "standard": "EIP3091" - } - ], - "333666": [ - { - "name": "blockscout", - "url": "https://testnet.oonescan.com", - "standard": "none" - } - ], - "333777": [ - { - "name": "blockscout", - "url": "https://dev.oonescan.com", - "standard": "none" - } - ], - "336655": [ - { - "name": "UPchain Testnet Explorer", - "url": "https://explorer-testnet.uniport.network", - "icon": "up", - "standard": "EIP3091" - } - ], - "336666": [ - { - "name": "UPchain Mainnet Explorer", - "url": "https://explorer.uniport.network", - "icon": "up", - "standard": "EIP3091" - } - ], - "355110": [ - { - "name": "Bitfinity Mainnet Block Explorer", - "url": "https://explorer.mainnet.bitfinity.network", - "icon": "bitfinity", - "standard": "EIP3091" - } - ], - "355113": [ - { - "name": "Bitfinity Testnet Block Explorer", - "url": "https://explorer.testnet.bitfinity.network", - "icon": "bitfinity", - "standard": "EIP3091" - }, - { - "name": "Bitfinity Testnet Block Explorer", - "url": "https://bitfinity-test.dex.guru", - "icon": "dexguru", - "standard": "EIP3091" - } - ], - "360890": [ - { - "name": "LAVITA Mainnet Explorer", - "url": "https://tsub360890-explorer.thetatoken.org", - "icon": "lavita", - "standard": "EIP3091" - } - ], - "363636": [ - { - "name": "Digit Soul Explorer", - "url": "https://dgs-exp.digitsoul.co.th", - "standard": "EIP3091" - } - ], - "373737": [ - { - "name": "HAP EVM Explorer (Blockscout)", - "url": "https://blockscout-test.hap.land", - "standard": "none", - "icon": "hap" - } - ], - "381931": [ - { - "name": "metalscan", - "url": "https://metalscan.io", - "standard": "EIP3091" - } - ], - "381932": [ - { - "name": "metalscan", - "url": "https://tahoe.metalscan.io", - "standard": "EIP3091" - } - ], - "404040": [ - { - "name": "Tipboxcoin", - "url": "https://tipboxcoin.net", - "standard": "EIP3091" - } - ], - "413413": [ - { - "name": "aiescan-testnet", - "icon": "aie", - "url": "https://testnet.aiescan.io", - "standard": "none" - } - ], - "420420": [ - { - "name": "blockscout", - "url": "https://mainnet-explorer.kekchain.com", - "icon": "kek", - "standard": "EIP3091" - } - ], - "420666": [ - { - "name": "blockscout", - "url": "https://testnet-explorer.kekchain.com", - "icon": "kek", - "standard": "EIP3091" - } - ], - "420692": [ - { - "name": "Alterium L2 Testnet Explorer", - "url": "https://l2-testnet.altscan.org", - "standard": "EIP3091" - } - ], - "421611": [ - { - "name": "arbiscan-testnet", - "url": "https://testnet.arbiscan.io", - "standard": "EIP3091" - }, - { - "name": "arbitrum-rinkeby", - "url": "https://rinkeby-explorer.arbitrum.io", - "standard": "EIP3091" - } - ], - "421613": [ - { - "name": "Arbitrum Goerli Arbiscan", - "url": "https://goerli.arbiscan.io", - "standard": "EIP3091" - } - ], - "421614": [ - { - "name": "Arbitrum Sepolia Rollup Testnet Explorer", - "url": "https://sepolia-explorer.arbitrum.io", - "standard": "EIP3091" - } - ], - "424242": [ - { - "name": "blockscout", - "url": "https://testnet.ftnscan.com", - "standard": "none" - } - ], - "432201": [ - { - "name": "Avalanche Subnet Testnet Explorer", - "url": "https://subnets-test.avax.network/dexalot", - "standard": "EIP3091" - } - ], - "432204": [ - { - "name": "Avalanche Subnet Explorer", - "url": "https://subnets.avax.network/dexalot", - "standard": "EIP3091" - } - ], - "444444": [ - { - "name": "Syndr L3 Sepolia Testnet Explorer", - "url": "https://sepolia-explorer.syndr.com", - "standard": "EIP3091" - } - ], - "444900": [ - { - "name": "weelink-testnet", - "url": "https://weelink.cloud/#/blockView/overview", - "standard": "none" - } - ], - "473861": [ - { - "name": "ultraproscan", - "url": "https://ultraproscan.io", - "icon": "ultrapro", - "standard": "EIP3091" - } - ], - "474142": [ - { - "name": "SIDE SCAN", - "url": "https://sidescan.luniverse.io/1641349324562974539", - "standard": "none" - } - ], - "486487": [ - { - "name": "Gobbl Testnet Explorer", - "url": "https://explorer.gobbl.io", - "standard": "EIP3091" - } - ], - "490000": [ - { - "name": "astral", - "url": "https://nova.subspace.network", - "icon": "blockscout", - "standard": "EIP3091" - } - ], - "504441": [ - { - "name": "Playdapp Explorer", - "url": "https://subnets.avax.network/playdappne", - "standard": "EIP3091" - } - ], - "512512": [ - { - "name": "Galaxy Scan", - "url": "https://galaxy.scan.caduceus.foundation", - "standard": "none" - } - ], - "513100": [ - { - "name": "DisChain", - "url": "https://www.oklink.com/dis", - "standard": "EIP3091" - } - ], - "526916": [ - { - "name": "DoCoin Community Chain Explorer", - "url": "https://explorer.docoin.shop", - "standard": "EIP3091" - } - ], - "534351": [ - { - "name": "Scroll Sepolia Etherscan", - "url": "https://sepolia.scrollscan.com", - "standard": "EIP3091" - } - ], - "534352": [ - { - "name": "Scrollscan", - "url": "https://scrollscan.com", - "standard": "EIP3091" - } - ], - "534849": [ - { - "name": "shinascan", - "url": "https://shinascan.shinarium.org", - "standard": "EIP3091" - } - ], - "535037": [ - { - "name": "bescscan", - "url": "https://Bescscan.io", - "standard": "EIP3091" - } - ], - "552981": [ - { - "name": "One World Chain Testnet Explorer", - "url": "https://testnet.oneworldchain.org", - "standard": "EIP3091" - } - ], - "555555": [ - { - "name": "Pentagon Testnet Explorer", - "url": "https://explorer-testnet.pentagon.games", - "icon": "pentagon", - "standard": "EIP3091" - } - ], - "555666": [ - { - "name": "ECLIPSE Explorer", - "url": "https://subnets-test.avax.network/eclipsecha", - "standard": "EIP3091" - } - ], - "622277": [ - { - "name": "hypra", - "url": "https://explorer.hypra.network", - "icon": "blockscout", - "standard": "EIP3091" - } - ], - "622463": [ - { - "name": "Atlas Testnet Scan", - "url": "https://explorer.testnet.atl.network", - "icon": "atlas", - "standard": "EIP3091" - } - ], - "641230": [ - { - "name": "brnkscan", - "url": "https://brnkscan.bearnetwork.net", - "standard": "EIP3091" - } - ], - "651940": [ - { - "name": "Alltra SmartChain Explorer", - "url": "https://alltra.global", - "standard": "EIP3091" - } - ], - "656476": [ - { - "name": "Open Campus Codex", - "url": "https://opencampus-codex.blockscout.com", - "icon": "open-campus-codex", - "standard": "none" - } - ], - "660279": [ - { - "name": "Blockscout", - "url": "https://explorer.xai-chain.net", - "standard": "EIP3091" - } - ], - "666888": [ - { - "name": "Hela Official Runtime Testnet Explorer", - "url": "https://testnet-blockexplorer.helachain.com", - "standard": "EIP3091" - } - ], - "686868": [ - { - "name": "Won Explorer", - "url": "https://scan.wonnetwork.org", - "standard": "EIP3091" - } - ], - "696969": [ - { - "name": "Galadriel Explorer", - "url": "https://explorer.galadriel.com", - "standard": "none" - } - ], - "710420": [ - { - "name": "TILTYARD Explorer", - "url": "https://subnets.avax.network/tiltyard", - "standard": "EIP3091" - } - ], - "713715": [ - { - "name": "Seistream", - "url": "https://seistream.app", - "standard": "none" - }, - { - "name": "Seitrace", - "url": "https://seitrace.com", - "standard": "EIP3091" - } - ], - "721529": [ - { - "name": "Eramscan", - "url": "https://eramscan.com", - "standard": "EIP3091" - } - ], - "743111": [ - { - "name": "blockscout", - "url": "https://testnet.explorer.hemi.xyz", - "icon": "blockscout", - "standard": "EIP3091" - } - ], - "751230": [ - { - "name": "brnktestscan", - "url": "https://brnktest-scan.bearnetwork.net", - "standard": "EIP3091" - } - ], - "752024": [ - { - "name": "Tracehawk", - "url": "https://explorer.zkevm.ternoa.network", - "standard": "none" - } - ], - "761412": [ - { - "name": "Miexs Smartchain Explorer", - "url": "https://miexs.com", - "standard": "EIP3091" - } - ], - "764984": [ - { - "name": "Lamina1 Test Explorer", - "url": "https://subnets-test.avax.network/lamina1tes", - "standard": "EIP3091" - } - ], - "767368": [ - { - "name": "Lamina1 Identity Testnet Explorer", - "url": "https://subnets-test.avax.network/lamina1id", - "standard": "EIP3091" - } - ], - "776877": [ - { - "name": "Tanssi Explorer", - "url": "https://tanssi-evmexplorer.netlify.app/?rpcUrl=https://fraa-dancebox-3035-rpc.a.dancebox.tanssi.network", - "standard": "none" - } - ], - "800001": [ - { - "name": "blockscout", - "url": "https://explorer.octa.space", - "icon": "blockscout", - "standard": "EIP3091" - } - ], - "808080": [ - { - "name": "BIZ Smart Chain Testnet Explorer", - "url": "https://testnet.btscan.io", - "standard": "EIP3091" - } - ], - "808813": [ - { - "name": "bobscout", - "url": "https://bob-sepolia.explorer.gobob.xyz", - "icon": "blockscout", - "standard": "EIP3091" - } - ], - "810180": [ - { - "name": "zkLink Nova Block Explorer", - "url": "https://explorer.zklink.io", - "icon": "zklink-nova", - "standard": "EIP3091" - } - ], - "810181": [ - { - "name": "zkLink Nova Block Explorer", - "url": "https://sepolia.explorer.zklink.io", - "icon": "zklink-nova", - "standard": "EIP3091" - } - ], - "810182": [ - { - "name": "zkLink Nova Block Explorer", - "url": "https://goerli.explorer.zklink.io", - "icon": "zklink-nova", - "standard": "EIP3091" - } - ], - "820522": [ - { - "name": "tscscan", - "url": "https://testnet.tscscan.io", - "icon": "netxscan", - "standard": "none" - } - ], - "827431": [ - { - "name": "CURVE Mainnet", - "url": "https://curvescan.io", - "standard": "EIP3091" - } - ], - "839320": [ - { - "name": "Primal Network Testnet", - "url": "https://testnet-explorer.prmscan.org", - "standard": "EIP3091" - } - ], - "840000": [ - { - "name": "Tracehawk", - "url": "https://explorer.runevm.io", - "standard": "none" - } - ], - "855456": [ - { - "name": "Dodao Explorer", - "url": "https://tanssi-evmexplorer.netlify.app/?rpcUrl=https://fraa-dancebox-3041-rpc.a.dancebox.tanssi.network", - "icon": "dodao", - "standard": "EIP3091" - } - ], - "879151": [ - { - "name": "BlocX Mainnet Explorer", - "url": "https://explorer.blxscan.com", - "icon": "blx", - "standard": "none" - } - ], - "888882": [ - { - "name": "REXX Mainnet Explorer", - "url": "https://rexxnetwork.com", - "standard": "EIP3091" - } - ], - "888888": [ - { - "name": "Visionscan", - "url": "https://www.visionscan.org", - "standard": "EIP3091" - } - ], - "900000": [ - { - "name": "Posichain Explorer", - "url": "https://explorer.posichain.org", - "standard": "EIP3091" - } - ], - "910000": [ - { - "name": "Posichain Explorer Testnet", - "url": "https://explorer-testnet.posichain.org", - "standard": "EIP3091" - } - ], - "912559": [ - { - "name": "Astria EVM Dusknet Explorer", - "url": "https://explorer.evm.dusk-3.devnet.astria.org", - "standard": "EIP3091" - } - ], - "920000": [ - { - "name": "Posichain Explorer Devnet", - "url": "https://explorer-devnet.posichain.org", - "standard": "EIP3091" - } - ], - "920001": [ - { - "name": "Posichain Explorer Devnet", - "url": "https://explorer-devnet.posichain.org", - "standard": "EIP3091" - } - ], - "923018": [ - { - "name": "fncy scan testnet", - "url": "https://fncyscan-testnet.fncy.world", - "icon": "fncy", - "standard": "EIP3091" - } - ], - "955081": [ - { - "name": "JONO12 Explorer", - "url": "https://subnets-test.avax.network/jono12", - "standard": "EIP3091" - } - ], - "955305": [ - { - "name": "blockscout", - "url": "https://explorer.eluv.io", - "standard": "EIP3091" - } - ], - "978657": [ - { - "name": "treasurescan", - "url": "https://testnet.treasurescan.io", - "icon": "treasure", - "standard": "EIP3091" - } - ], - "984122": [ - { - "name": "blockscout", - "url": "https://explorer.forma.art", - "icon": "blockscout", - "standard": "EIP3091" - } - ], - "984123": [ - { - "name": "blockscout", - "url": "https://explorer.sketchpad-1.forma.art", - "icon": "blockscout", - "standard": "EIP3091" - } - ], - "988207": [ - { - "name": "Ecrox Chain Explorer", - "url": "https://ecroxscan.com", - "standard": "EIP3091" - } - ], - "998899": [ - { - "name": "supernet-testnet-explorer", - "url": "https://testnet-explorer.supernet.chaingames.io", - "standard": "EIP3091" - } - ], - "999999": [ - { - "name": "AMCAmChain explorer", - "url": "https://explorer.amchain.net", - "standard": "none" - } - ], - "1100789": [ - { - "name": "NetMind Testnet Explorer", - "url": "https://testbrower.protago-dev.com", - "icon": "netmind", - "standard": "EIP3091" - } - ], - "1127469": [ - { - "name": "TILTYARD Explorer", - "url": "http://testnet-explorer.tiltyard.gg", - "standard": "EIP3091" - } - ], - "1234567": [ - { - "name": "Etherscan", - "url": "https://etherscan.io", - "standard": "none", - "icon": "sharecle" - } - ], - "1261120": [ - { - "name": "Blockscout zKatana chain explorer", - "url": "https://zkatana.blockscout.com", - "standard": "EIP3091" - }, - { - "name": "Startale zKatana chain explorer", - "url": "https://zkatana.explorer.startale.com", - "standard": "EIP3091" - } - ], - "1313114": [ - { - "name": "blockscout", - "url": "https://explorer.ethoprotocol.com", - "standard": "none" - } - ], - "1337702": [ - { - "name": "kintsugi explorer", - "url": "https://explorer.kintsugi.themerge.dev", - "standard": "EIP3091" - } - ], - "1337802": [ - { - "name": "Kiln Explorer", - "url": "https://explorer.kiln.themerge.dev", - "icon": "ethereum", - "standard": "EIP3091" - } - ], - "1337803": [ - { - "name": "Zhejiang Explorer", - "url": "https://zhejiang.beaconcha.in", - "icon": "ethereum", - "standard": "EIP3091" - } - ], - "1398243": [ - { - "name": "Automata Testnet Explorer", - "url": "https://automata-testnet-explorer.alt.technology", - "standard": "EIP3091" - } - ], - "1612127": [ - { - "name": "PlayFi Block Explorer", - "url": "https://albireo-explorer.playfi.ai", - "standard": "EIP3091" - } - ], - "1637450": [ - { - "name": "Xterio Testnet Explorer", - "url": "https://testnet.xterscan.io", - "standard": "EIP3091" - } - ], - "2021398": [ - { - "name": "DeBank Chain Explorer", - "url": "https://explorer.testnet.debank.com", - "standard": "EIP3091" - } - ], - "2099156": [ - { - "name": "piscan", - "url": "https://piscan.plian.org/pchain", - "standard": "EIP3091" - } - ], - "2206132": [ - { - "name": "PlatON explorer", - "url": "https://devnet2scan.platon.network", - "standard": "none" - } - ], - "2702128": [ - { - "name": "Xterio Chain Explorer", - "url": "https://eth.xterscan.io", - "standard": "EIP3091" - } - ], - "3397901": [ - { - "name": "Funki Sepolia Sandbox Explorer", - "url": "https://sepolia-sandbox.funkichain.com", - "standard": "none" - } - ], - "3441005": [ - { - "name": "manta-testnet Explorer", - "url": "https://manta-testnet.calderaexplorer.xyz", - "standard": "EIP3091" - } - ], - "3441006": [ - { - "name": "manta-testnet Explorer", - "url": "https://pacific-explorer.sepolia-testnet.manta.network", - "standard": "EIP3091" - } - ], - "4000003": [ - { - "name": "blockscout", - "url": "https://zero-explorer.alt.technology", - "icon": "blockscout", - "standard": "EIP3091" - } - ], - "4444444": [ - { - "name": "altar testnet explorer", - "url": "https://altar-explorer.ceremonies.ai", - "standard": "none" - } - ], - "4457845": [ - { - "name": "ZERO Testnet Explorer", - "url": "https://explorer.zero.network", - "standard": "EIP3091" - } - ], - "5112023": [ - { - "name": "NumBlock Explorer", - "url": "https://mainnet.numblock.org", - "standard": "none", - "icon": "NumBlock" - } - ], - "5167003": [ - { - "name": "MXC Wannsee zkEVM Testnet", - "url": "https://wannsee-explorer.mxc.com", - "standard": "EIP3091" - } - ], - "5167004": [ - { - "name": "Moonchain Geneva Testnet", - "url": "https://geneva-explorer.moonchain.com", - "standard": "EIP3091" - } - ], - "5201420": [ - { - "name": "blockscout", - "url": "https://blockexplorer.thesecurityteam.rocks", - "icon": "electroneum", - "standard": "EIP3091" - } - ], - "5318008": [ - { - "name": "reactscan", - "url": "https://kopli.reactscan.net", - "standard": "none" - } - ], - "5555555": [ - { - "name": "Imversed EVM explorer (Blockscout)", - "url": "https://txe.imversed.network", - "icon": "imversed", - "standard": "EIP3091" - }, - { - "name": "Imversed Cosmos Explorer (Big Dipper)", - "url": "https://tex-c.imversed.com", - "icon": "imversed", - "standard": "none" - } - ], - "5555558": [ - { - "name": "Imversed EVM Explorer (Blockscout)", - "url": "https://txe-test.imversed.network", - "icon": "imversed", - "standard": "EIP3091" - }, - { - "name": "Imversed Cosmos Explorer (Big Dipper)", - "url": "https://tex-t.imversed.com", - "icon": "imversed", - "standard": "none" - } - ], - "6038361": [ - { - "name": "Blockscout zKyoto explorer", - "url": "https://astar-zkyoto.blockscout.com", - "standard": "EIP3091" - } - ], - "6666665": [ - { - "name": "Safe(AnWang) Explorer", - "url": "http://safe4.anwang.com", - "icon": "safe-anwang", - "standard": "EIP3091" - } - ], - "6666666": [ - { - "name": "Safe(AnWang) Testnet Explorer", - "url": "http://safe4-testnet.anwang.com", - "icon": "safe-anwang", - "standard": "EIP3091" - } - ], - "7225878": [ - { - "name": "saakuru-explorer", - "url": "https://explorer.saakuru.network", - "standard": "EIP3091" - } - ], - "7355310": [ - { - "name": "openvessel-mainnet", - "url": "https://mainnet-explorer.openvessel.io", - "standard": "none" - } - ], - "7668378": [ - { - "name": "QL1 Testnet Explorer", - "url": "https://testnet.qom.one", - "icon": "qom", - "standard": "EIP3091" - } - ], - "7777777": [ - { - "name": "Zora Network Explorer", - "url": "https://explorer.zora.energy", - "standard": "EIP3091" - } - ], - "8007736": [ - { - "name": "piscan", - "url": "https://piscan.plian.org/child_0", - "standard": "EIP3091" - } - ], - "8008135": [ - { - "name": "Fhenix Helium Explorer (Blockscout)", - "url": "https://explorer.helium.fhenix.zone", - "standard": "EIP3091" - } - ], - "8080808": [ - { - "name": "Hokum Explorer", - "url": "https://explorer.hokum.gg", - "standard": "EIP3091" - } - ], - "8794598": [ - { - "name": "HAP EVM Explorer (Blockscout)", - "url": "https://blockscout.hap.land", - "standard": "none", - "icon": "hap" - } - ], - "9322252": [ - { - "name": "blockscout", - "url": "https://xcap-mainnet.explorer.xcap.network", - "icon": "blockscout", - "standard": "EIP3091" - } - ], - "9322253": [ - { - "name": "blockscout", - "url": "https://xcap-milvine.explorer.xcap.network", - "icon": "blockscout", - "standard": "EIP3091" - } - ], - "9999999": [ - { - "name": "blockscout", - "url": "https://blockscout.mainnet.fluence.dev", - "standard": "EIP3091" - } - ], - "10067275": [ - { - "name": "piscan", - "url": "https://testnet.plian.org/child_test", - "standard": "EIP3091" - } - ], - "10101010": [ - { - "name": "Soverun", - "url": "https://explorer.soverun.com", - "standard": "EIP3091" - } - ], - "10241024": [ - { - "name": "AlienXChain Explorer", - "url": "https://explorer.alienxchain.io", - "standard": "EIP3091" - } - ], - "10241025": [ - { - "name": "Hal Explorer", - "url": "https://hal-explorer.alienxchain.io", - "standard": "EIP3091" - } - ], - "11145513": [ - { - "name": "blockscout", - "url": "https://blessnet-sepolia-testnet.explorer.caldera.xyz", - "icon": "bless", - "standard": "EIP3091" - } - ], - "11155111": [ - { - "name": "etherscan-sepolia", - "url": "https://sepolia.etherscan.io", - "standard": "EIP3091" - }, - { - "name": "otterscan-sepolia", - "url": "https://sepolia.otterscan.io", - "standard": "EIP3091" - } - ], - "11155420": [ - { - "name": "opscout", - "url": "https://optimism-sepolia.blockscout.com", - "icon": "blockscout", - "standard": "EIP3091" - } - ], - "12052024": [ - { - "name": "Tracehawk", - "url": "https://test-explorer.mementoblockchain.com", - "standard": "none" - } - ], - "12227332": [ - { - "name": "neox-scan", - "url": "https://testnet.scan.banelabs.org", - "standard": "EIP3091" - } - ], - "13068200": [ - { - "name": "coti devnet explorer", - "url": "https://explorer-devnet.coti.io", - "icon": "ethernal", - "standard": "EIP3091" - } - ], - "14288640": [ - { - "name": "anduschain explorer", - "url": "https://explorer.anduschain.io", - "icon": "daon", - "standard": "none" - } - ], - "16658437": [ - { - "name": "piscan", - "url": "https://testnet.plian.org/testnet", - "standard": "EIP3091" - } - ], - "17000920": [ - { - "name": "Lambda Chain Testnet Explorer", - "url": "https://testscan.lambda.im", - "standard": "EIP3091" - } - ], - "18071918": [ - { - "name": "FYI", - "url": "https://dym.fyi/r/mande", - "icon": "fyi", - "standard": "EIP3091" - } - ], - "19850818": [ - { - "name": "DeepBrainChain Testnet", - "url": "https://blockscout-testnet.dbcscan.io", - "icon": "dbc", - "standard": "EIP3091" - } - ], - "19880818": [ - { - "name": "DeepBrainChain Mainnet", - "url": "https://blockscout.dbcscan.io", - "icon": "dbc", - "standard": "EIP3091" - } - ], - "20180427": [ - { - "name": "blockscout", - "url": "https://stability-testnet.blockscout.com", - "standard": "EIP3091" - } - ], - "20180430": [ - { - "name": "spectrum", - "url": "https://spectrum.pub", - "standard": "none" - } - ], - "20181205": [ - { - "name": "qkiscan", - "url": "https://qkiscan.io", - "standard": "EIP3091" - } - ], - "20201022": [ - { - "name": "Pego Network Explorer", - "url": "https://scan.pego.network", - "standard": "EIP3091" - } - ], - "20230825": [ - { - "name": "Vcity Explorer", - "url": "https://scan.vcity.app", - "icon": "vcity", - "standard": "EIP3091" - } - ], - "20240324": [ - { - "name": "DeBank Chain Explorer", - "url": "https://sepolia-explorer.testnet.debank.com", - "standard": "EIP3091" - } - ], - "20240603": [ - { - "name": "DBK Chain Explorer", - "url": "https://scan.dbkchain.io", - "standard": "EIP3091" - } - ], - "20241133": [ - { - "name": "Swan Proxima Chain explorer", - "url": "https://proxima-explorer.swanchain.io", - "standard": "EIP3091" - } - ], - "20482050": [ - { - "name": "Hokum Explorer", - "url": "https://testnet-explorer.hokum.gg", - "standard": "EIP3091" - } - ], - "22052002": [ - { - "name": "Excelon explorer", - "url": "https://explorer.excelon.io", - "standard": "EIP3091" - } - ], - "27082017": [ - { - "name": "exlscan", - "url": "https://testnet-explorer.exlscan.com", - "icon": "exl", - "standard": "EIP3091" - } - ], - "27082022": [ - { - "name": "exlscan", - "url": "https://exlscan.com", - "icon": "exl", - "standard": "EIP3091" - } - ], - "28122024": [ - { - "name": "scan-testnet", - "url": "https://scanv2-testnet.ancient8.gg", - "standard": "EIP3091" - } - ], - "29032022": [ - { - "name": "FLXExplorer", - "url": "https://explorer.flaexchange.top", - "standard": "EIP3091" - } - ], - "37084624": [ - { - "name": "Blockscout", - "url": "https://lanky-ill-funny-testnet.explorer.testnet.skalenodes.com", - "standard": "EIP3091" - } - ], - "39916801": [ - { - "name": "TravelSong", - "url": "https://www.beastkingdom.io/travelsong", - "standard": "EIP3091" - } - ], - "43214913": [ - { - "name": "maistesntet", - "url": "http://174.138.9.169:3006/?network=maistesntet", - "standard": "none" - } - ], - "52164803": [ - { - "name": "blockscout", - "url": "https://blockscout.testnet.fluence.dev", - "standard": "EIP3091" - } - ], - "65010003": [ - { - "name": "autonity-blockscout", - "url": "https://bakerloo.autonity.org", - "standard": "EIP3091" - } - ], - "65100003": [ - { - "name": "autonity-blockscout", - "url": "https://piccadilly.autonity.org", - "standard": "EIP3091" - } - ], - "68840142": [ - { - "name": "Frame Testnet Explorer", - "url": "https://explorer.testnet.frame.xyz", - "standard": "EIP3091" - } - ], - "77787778": [ - { - "name": "blockscout", - "url": "https://test.0xhashscan.io", - "icon": "blockscout", - "standard": "EIP3091" - } - ], - "79479957": [ - { - "name": "SX Toronto L2 Explorer", - "url": "https://explorerl2.toronto.sx.technology", - "standard": "EIP3091", - "icon": "SX" - } - ], - "88888888": [ - { - "name": "teamscan", - "url": "https://teamblockchain.team", - "standard": "EIP3091" - } - ], - "94204209": [ - { - "name": "blockscout", - "url": "https://polygon-blackberry.gelatoscout.com", - "icon": "blockscout", - "standard": "EIP3091" - } - ], - "100000000": [ - { - "name": "ethos scan", - "url": "https://scan.ethos.cool", - "icon": "ethos", - "standard": "EIP3091" - } - ], - "111557560": [ - { - "name": "Cyber Testnet Explorer", - "url": "https://testnet.cyberscan.co", - "standard": "EIP3091" - } - ], - "123420111": [ - { - "name": "blockscout", - "url": "https://opcelestia-raspberry.gelatoscout.com", - "icon": "blockscout", - "standard": "EIP3091" - } - ], - "161221135": [ - { - "name": "Blockscout", - "url": "https://testnet-explorer.plumenetwork.xyz", - "icon": "blockscout", - "standard": "EIP3091" - } - ], - "168587773": [ - { - "name": "Blast Sepolia Explorer", - "url": "https://testnet.blastscan.io", - "icon": "blast", - "standard": "EIP3091" - } - ], - "192837465": [ - { - "name": "Blockscout", - "url": "https://explorer.gather.network", - "icon": "gather", - "standard": "none" - } - ], - "222000222": [ - { - "name": "explorer", - "url": "https://testnet.meldscan.io", - "icon": "meld", - "standard": "EIP3091" - }, - { - "name": "explorer", - "url": "https://subnets-test.avax.network/meld", - "icon": "meld", - "standard": "EIP3091" - } - ], - "245022926": [ - { - "name": "neonscan", - "url": "https://devnet.neonscan.org", - "standard": "EIP3091" - }, - { - "name": "blockscout", - "url": "https://neon-devnet.blockscout.com", - "icon": "blockscout", - "standard": "EIP3091" - } - ], - "245022934": [ - { - "name": "neonscan", - "url": "https://neonscan.org", - "standard": "EIP3091" - }, - { - "name": "native", - "url": "https://neon.blockscout.com", - "standard": "EIP3091" - } - ], - "278611351": [ - { - "name": "turbulent-unique-scheat", - "url": "https://turbulent-unique-scheat.explorer.mainnet.skalenodes.com", - "standard": "EIP3091" - } - ], - "311752642": [ - { - "name": "OneLedger Block Explorer", - "url": "https://mainnet-explorer.oneledger.network", - "standard": "EIP3091" - } - ], - "328527624": [ - { - "name": "Nal Sepolia Testnet Network Explorer", - "url": "https://testnet-scan.nal.network", - "standard": "EIP3091" - } - ], - "333000333": [ - { - "name": "explorer", - "url": "https://meldscan.io", - "icon": "meld", - "standard": "EIP3091" - }, - { - "name": "explorer", - "url": "https://subnets.avax.network/meld", - "icon": "meld", - "standard": "EIP3091" - } - ], - "356256156": [ - { - "name": "Blockscout", - "url": "https://testnet-explorer.gather.network", - "icon": "gather", - "standard": "none" - } - ], - "476462898": [ - { - "name": "blockscout", - "url": "https://skopje-explorer.gptprotocol.io", - "standard": "EIP3091", - "icon": "blockscout" - } - ], - "486217935": [ - { - "name": "Blockscout", - "url": "https://devnet-explorer.gather.network", - "standard": "none" - } - ], - "531050104": [ - { - "name": "Sophon Testnet", - "url": "https://explorer.testnet.sophon.xyz", - "icon": "sophon-testnet", - "standard": "none" - } - ], - "888888888": [ - { - "name": "Ancient8 Explorer", - "url": "https://scan.ancient8.gg", - "standard": "EIP3091" - } - ], - "889910245": [ - { - "name": "PTCESCAN Testnet Explorer", - "url": "https://explorer-testnet.ptcscan.io", - "standard": "EIP3091" - } - ], - "889910246": [ - { - "name": "PTCESCAN Explorer", - "url": "https://ptcscan.io", - "standard": "EIP3091" - } - ], - "974399131": [ - { - "name": "Blockscout", - "url": "https://giant-half-dual-testnet.explorer.testnet.skalenodes.com", - "standard": "EIP3091" - } - ], - "999999999": [ - { - "name": "Zora Sepolia Testnet Network Explorer", - "url": "https://sepolia.explorer.zora.energy", - "standard": "EIP3091" - } - ], - "1020352220": [ - { - "name": "Blockscout", - "url": "https://aware-fake-trim-testnet.explorer.testnet.skalenodes.com", - "standard": "EIP3091" - } - ], - "1146703430": [ - { - "name": "CybEthExplorer", - "url": "http://cybeth1.cyberdeck.eu:8000", - "icon": "cyberdeck", - "standard": "none" - } - ], - "1273227453": [ - { - "name": "Blockscout", - "url": "https://wan-red-ain.explorer.mainnet.skalenodes.com", - "icon": "human", - "standard": "EIP3091" - } - ], - "1313161554": [ - { - "name": "aurorascan.dev", - "url": "https://aurorascan.dev", - "standard": "EIP3091" - } - ], - "1313161555": [ - { - "name": "aurorascan.dev", - "url": "https://testnet.aurorascan.dev", - "standard": "EIP3091" - } - ], - "1313161560": [ - { - "name": "PowerGold explorer", - "url": "https://explorer.powergold.aurora.dev", - "standard": "EIP3091" - } - ], - "1350216234": [ - { - "name": "Blockscout", - "url": "https://parallel-stormy-spica.explorer.mainnet.skalenodes.com", - "standard": "EIP3091" - } - ], - "1351057110": [ - { - "name": "Blockscout", - "url": "https://staging-fast-active-bellatrix.explorer.staging-v3.skalenodes.com", - "icon": "chaos", - "standard": "EIP3091" - } - ], - "1380012617": [ - { - "name": "rarichain-explorer", - "url": "https://mainnet.explorer.rarichain.org", - "standard": "EIP3091" - } - ], - "1380996178": [ - { - "name": "RaptorChain Explorer", - "url": "https://explorer.raptorchain.io", - "icon": "raptorchain_explorer", - "standard": "EIP3091" - } - ], - "1444673419": [ - { - "name": "Blockscout", - "url": "https://juicy-low-small-testnet.explorer.testnet.skalenodes.com", - "standard": "EIP3091" - } - ], - "1482601649": [ - { - "name": "Blockscout", - "url": "https://green-giddy-denebola.explorer.mainnet.skalenodes.com", - "standard": "EIP3091" - } - ], - "1511670449": [ - { - "name": "blockscout", - "url": "https://explorer.gptprotocol.io", - "standard": "EIP3091", - "icon": "blockscout" - } - ], - "1564830818": [ - { - "name": "Blockscout", - "url": "https://honorable-steel-rasalhague.explorer.mainnet.skalenodes.com", - "standard": "EIP3091" - } - ], - "1666600000": [ - { - "name": "Harmony Block Explorer", - "url": "https://explorer.harmony.one", - "standard": "EIP3091" - } - ], - "1666600001": [ - { - "name": "Harmony Block Explorer", - "url": "https://explorer.harmony.one/blocks/shard/1", - "standard": "none" - } - ], - "1666700000": [ - { - "name": "Harmony Testnet Block Explorer", - "url": "https://explorer.testnet.harmony.one", - "standard": "EIP3091" - } - ], - "1666700001": [ - { - "name": "Harmony Block Explorer", - "url": "https://explorer.testnet.harmony.one", - "standard": "none" - } - ], - "1802203764": [ - { - "name": "Kakarot Scan", - "url": "https://sepolia.kakarotscan.org", - "standard": "EIP3091" - }, - { - "name": "Kakarot Explorer", - "url": "https://sepolia-explorer.kakarot.org", - "standard": "EIP3091" - } - ], - "1903648807": [ - { - "name": "Gemuchain Explorer (Blockscout)", - "url": "https://gemutest-explorer.gemuchain.io", - "standard": "EIP3091" - } - ], - "1918988905": [ - { - "name": "rarichain-testnet-explorer", - "url": "https://explorer.rarichain.org", - "standard": "EIP3091" - } - ], - "2046399126": [ - { - "name": "Blockscout", - "url": "https://elated-tan-skat.explorer.mainnet.skalenodes.com", - "standard": "EIP3091" - } - ], - "4216137055": [ - { - "name": "OneLedger Block Explorer", - "url": "https://frankenstein-explorer.oneledger.network", - "standard": "EIP3091" - } - ], - "11297108109": [ - { - "name": "Chainlens", - "url": "https://palm.chainlens.com", - "standard": "EIP3091" - }, - { - "name": "Dora", - "url": "https://www.ondora.xyz/network/palm", - "standard": "none" - } - ], - "11297108099": [ - { - "name": "Chainlens", - "url": "https://testnet.palm.chainlens.com", - "standard": "EIP3091" - }, - { - "name": "Dora", - "url": "https://www.ondora.xyz/network/palm-testnet", - "standard": "none" - } - ], - "37714555429": [ - { - "name": "Blockscout", - "url": "https://testnet-explorer-v2.xai-chain.net", - "standard": "EIP3091" - } - ], - "88153591557": [ - { - "name": "blockscout", - "url": "https://arb-blueberry.gelatoscout.com", - "icon": "blockscout", - "standard": "EIP3091" - } - ], - "111222333444": [ - { - "name": "Alphabet Explorer", - "url": "https://scan.alphabetnetwork.org", - "standard": "EIP3091" - } - ], - "123420000220": [ - { - "name": "blockscout", - "url": "https://blockscout-123420000220.raas-testnet.gelato.digital", - "standard": "EIP3091" - } - ], - "197710212030": [ - { - "name": "Ntity Blockscout", - "url": "https://blockscout.ntity.io", - "icon": "ntity", - "standard": "EIP3091" - } - ], - "197710212031": [ - { - "name": "Ntity Haradev Blockscout", - "url": "https://blockscout.haradev.com", - "icon": "ntity", - "standard": "EIP3091" - } - ], - "202402181627": [ - { - "name": "gmnetwork-testnet", - "url": "https://gmnetwork-testnet-explorer.alt.technology", - "standard": "EIP3091" - } - ], - "383414847825": [ - { - "name": "zeniq-smart-chain-explorer", - "url": "https://smart.zeniq.net", - "standard": "EIP3091" - } - ], - "666301171999": [ - { - "name": "ipdcscan", - "url": "https://scan.ipdc.io", - "standard": "EIP3091" - } - ], - "2713017997578000": [ - { - "name": "dchaint scan", - "url": "https://dchaintestnet-2713017997578000-1.testnet.sagaexplorer.io", - "standard": "EIP3091" - } - ], - "2716446429837000": [ - { - "name": "dchain scan", - "url": "https://dchain-2716446429837000-1.sagaexplorer.io", - "standard": "EIP3091" - } - ] -}; -var NETWORK_CURRENCIES = { - "1": { - "name": "Ether", - "symbol": "ETH", - "decimals": 18 - }, - "2": { - "name": "Expanse Network Ether", - "symbol": "EXP", - "decimals": 18 - }, - "3": { - "name": "Ropsten Ether", - "symbol": "ETH", - "decimals": 18 - }, - "4": { - "name": "Rinkeby Ether", - "symbol": "ETH", - "decimals": 18 - }, - "5": { - "name": "Goerli Ether", - "symbol": "ETH", - "decimals": 18 - }, - "7": { - "name": "ThaiChain Ether", - "symbol": "TCH", - "decimals": 18 - }, - "8": { - "name": "Ubiq Ether", - "symbol": "UBQ", - "decimals": 18 - }, - "9": { - "name": "Ubiq Testnet Ether", - "symbol": "TUBQ", - "decimals": 18 - }, - "10": { - "name": "Ether", - "symbol": "ETH", - "decimals": 18 - }, - "11": { - "name": "Metadium Mainnet Ether", - "symbol": "META", - "decimals": 18 - }, - "12": { - "name": "Metadium Testnet Ether", - "symbol": "KAL", - "decimals": 18 - }, - "13": { - "name": "Staging Diodes", - "symbol": "sDIODE", - "decimals": 18 - }, - "14": { - "name": "Flare", - "symbol": "FLR", - "decimals": 18 - }, - "15": { - "name": "Diodes", - "symbol": "DIODE", - "decimals": 18 - }, - "16": { - "name": "Coston Flare", - "symbol": "CFLR", - "decimals": 18 - }, - "17": { - "name": "Thaifi Ether", - "symbol": "TFI", - "decimals": 18 - }, - "18": { - "name": "ThunderCore Testnet Token", - "symbol": "TST", - "decimals": 18 - }, - "19": { - "name": "Songbird", - "symbol": "SGB", - "decimals": 18 - }, - "20": { - "name": "Elastos", - "symbol": "ELA", - "decimals": 18 - }, - "21": { - "name": "Elastos", - "symbol": "tELA", - "decimals": 18 - }, - "22": { - "name": "Elastos", - "symbol": "ELA", - "decimals": 18 - }, - "23": { - "name": "Elastos", - "symbol": "tELA", - "decimals": 18 - }, - "24": { - "name": "KardiaChain", - "symbol": "KAI", - "decimals": 18 - }, - "25": { - "name": "Cronos", - "symbol": "CRO", - "decimals": 18 - }, - "26": { - "name": "L1 testcoin", - "symbol": "L1test", - "decimals": 18 - }, - "27": { - "name": "SHIBA INU COIN", - "symbol": "SHIB", - "decimals": 18 - }, - "29": { - "name": "L1 coin", - "symbol": "L1", - "decimals": 18 - }, - "30": { - "name": "Smart Bitcoin", - "symbol": "RBTC", - "decimals": 18 - }, - "31": { - "name": "Testnet Smart Bitcoin", - "symbol": "tRBTC", - "decimals": 18 - }, - "32": { - "name": "GoodData Testnet Ether", - "symbol": "GooD", - "decimals": 18 - }, - "33": { - "name": "GoodData Mainnet Ether", - "symbol": "GooD", - "decimals": 18 - }, - "34": { - "name": "SecureChain", - "symbol": "SCAI", - "decimals": 18 - }, - "35": { - "name": "TBWG Ether", - "symbol": "TBG", - "decimals": 18 - }, - "36": { - "name": "Dxchain", - "symbol": "DX", - "decimals": 18 - }, - "37": { - "name": "XPLA", - "symbol": "XPLA", - "decimals": 18 - }, - "38": { - "name": "Valorbit", - "symbol": "VAL", - "decimals": 18 - }, - "39": { - "name": "Unicorn Ultra", - "symbol": "U2U", - "decimals": 18 - }, - "40": { - "name": "Telos", - "symbol": "TLOS", - "decimals": 18 - }, - "41": { - "name": "Telos", - "symbol": "TLOS", - "decimals": 18 - }, - "42": { - "name": "LUKSO", - "symbol": "LYX", - "decimals": 18 - }, - "43": { - "name": "Pangolin Network Native Token", - "symbol": "PRING", - "decimals": 18 - }, - "44": { - "name": "Crab Network Native Token", - "symbol": "CRAB", - "decimals": 18 - }, - "45": { - "name": "Pangoro Network Native Token", - "symbol": "ORING", - "decimals": 18 - }, - "46": { - "name": "Darwinia Network Native Token", - "symbol": "RING", - "decimals": 18 - }, - "47": { - "name": "ACRIA", - "symbol": "ACRIA", - "decimals": 18 - }, - "48": { - "name": "Ennothem", - "symbol": "ETMP", - "decimals": 18 - }, - "49": { - "name": "Ennothem", - "symbol": "ETMP", - "decimals": 18 - }, - "50": { - "name": "XinFin", - "symbol": "XDC", - "decimals": 18 - }, - "51": { - "name": "XinFin", - "symbol": "TXDC", - "decimals": 18 - }, - "52": { - "name": "CoinEx Chain Native Token", - "symbol": "cet", - "decimals": 18 - }, - "53": { - "name": "CoinEx Chain Test Native Token", - "symbol": "cett", - "decimals": 18 - }, - "54": { - "name": "Belly", - "symbol": "BELLY", - "decimals": 18 - }, - "55": { - "name": "Zyx", - "symbol": "ZYX", - "decimals": 18 - }, - "56": { - "name": "BNB Chain Native Token", - "symbol": "BNB", - "decimals": 18 - }, - "57": { - "name": "Syscoin", - "symbol": "SYS", - "decimals": 18 - }, - "58": { - "name": "ONG", - "symbol": "ONG", - "decimals": 18 - }, - "60": { - "name": "GoChain Ether", - "symbol": "GO", - "decimals": 18 - }, - "61": { - "name": "Ether", - "symbol": "ETC", - "decimals": 18 - }, - "63": { - "name": "Mordor Ether", - "symbol": "METC", - "decimals": 18 - }, - "64": { - "name": "Ellaism Ether", - "symbol": "ELLA", - "decimals": 18 - }, - "65": { - "name": "OKExChain Global Utility Token in testnet", - "symbol": "OKT", - "decimals": 18 - }, - "66": { - "name": "OKXChain Global Utility Token", - "symbol": "OKT", - "decimals": 18 - }, - "67": { - "name": "DBChain Testnet", - "symbol": "DBM", - "decimals": 18 - }, - "68": { - "name": "SoterOne Mainnet Ether", - "symbol": "SOTER", - "decimals": 18 - }, - "69": { - "name": "Kovan Ether", - "symbol": "ETH", - "decimals": 18 - }, - "70": { - "name": "Hoo Smart Chain Native Token", - "symbol": "HOO", - "decimals": 18 - }, - "71": { - "name": "CFX", - "symbol": "CFX", - "decimals": 18 - }, - "72": { - "name": "DxChain Testnet", - "symbol": "DX", - "decimals": 18 - }, - "73": { - "name": "FNCY", - "symbol": "FNCY", - "decimals": 18 - }, - "74": { - "name": "EIDI", - "symbol": "EIDI", - "decimals": 18 - }, - "75": { - "name": "Decimal", - "symbol": "DEL", - "decimals": 18 - }, - "76": { - "name": "Mix Ether", - "symbol": "MIX", - "decimals": 18 - }, - "77": { - "name": "POA Sokol Ether", - "symbol": "SPOA", - "decimals": 18 - }, - "78": { - "name": "Primus Ether", - "symbol": "PETH", - "decimals": 18 - }, - "79": { - "name": "ZENITH", - "symbol": "ZENITH", - "decimals": 18 - }, - "80": { - "name": "RNA", - "symbol": "RNA", - "decimals": 18 - }, - "81": { - "name": "Japan Open Chain Token", - "symbol": "JOC", - "decimals": 18 - }, - "82": { - "name": "Meter", - "symbol": "MTR", - "decimals": 18 - }, - "83": { - "name": "Meter", - "symbol": "MTR", - "decimals": 18 - }, - "84": { - "name": "XRP", - "symbol": "XRP", - "decimals": 18 - }, - "85": { - "name": "GateToken", - "symbol": "GT", - "decimals": 18 - }, - "86": { - "name": "GateToken", - "symbol": "GT", - "decimals": 18 - }, - "87": { - "name": "Supernova", - "symbol": "SNT", - "decimals": 18 - }, - "88": { - "name": "Viction", - "symbol": "VIC", - "decimals": 18 - }, - "89": { - "name": "Viction", - "symbol": "VIC", - "decimals": 18 - }, - "90": { - "name": "Garizon", - "symbol": "GAR", - "decimals": 18 - }, - "91": { - "name": "Garizon", - "symbol": "GAR", - "decimals": 18 - }, - "92": { - "name": "Garizon", - "symbol": "GAR", - "decimals": 18 - }, - "93": { - "name": "Garizon", - "symbol": "GAR", - "decimals": 18 - }, - "94": { - "name": "BCTS", - "symbol": "BCTS", - "decimals": 18 - }, - "95": { - "name": "CADL", - "symbol": "CADL", - "decimals": 18 - }, - "96": { - "name": "Bitkub Coin", - "symbol": "KUB", - "decimals": 18 - }, - "97": { - "name": "BNB Chain Native Token", - "symbol": "tBNB", - "decimals": 18 - }, - "98": { - "name": "SIX evm token", - "symbol": "SIX", - "decimals": 18 - }, - "99": { - "name": "POA Network Core Ether", - "symbol": "POA", - "decimals": 18 - }, - "100": { - "name": "xDAI", - "symbol": "XDAI", - "decimals": 18 - }, - "101": { - "name": "EtherInc Ether", - "symbol": "ETI", - "decimals": 18 - }, - "102": { - "name": "Web3Games", - "symbol": "W3G", - "decimals": 18 - }, - "103": { - "name": "Worldland", - "symbol": "WLC", - "decimals": 18 - }, - "104": { - "name": "Kaiba Testnet Token", - "symbol": "tKAIBA", - "decimals": 18 - }, - "105": { - "name": "Web3Games", - "symbol": "W3G", - "decimals": 18 - }, - "106": { - "name": "Velas", - "symbol": "VLX", - "decimals": 18 - }, - "107": { - "name": "Nebula X", - "symbol": "NBX", - "decimals": 18 - }, - "108": { - "name": "ThunderCore Token", - "symbol": "TT", - "decimals": 18 - }, - "109": { - "name": "BONE Shibarium", - "symbol": "BONE", - "decimals": 18 - }, - "110": { - "name": "Proton", - "symbol": "XPR", - "decimals": 4 - }, - "111": { - "name": "EtherLite", - "symbol": "ETL", - "decimals": 18 - }, - "112": { - "name": "Gas IDR", - "symbol": "GIDR", - "decimals": 18 - }, - "113": { - "name": "Dehvo", - "symbol": "Deh", - "decimals": 18 - }, - "114": { - "name": "Coston2 Flare", - "symbol": "C2FLR", - "decimals": 18 - }, - "117": { - "name": "Uptick", - "symbol": "UPTICK", - "decimals": 18 - }, - "118": { - "name": "Arcology Coin", - "symbol": "Acol", - "decimals": 18 - }, - "119": { - "name": "NULS", - "symbol": "NULS", - "decimals": 18 - }, - "120": { - "name": "NULS", - "symbol": "NULS", - "decimals": 18 - }, - "121": { - "name": "Realchain", - "symbol": "REAL", - "decimals": 18 - }, - "122": { - "name": "Fuse", - "symbol": "FUSE", - "decimals": 18 - }, - "123": { - "name": "Spark", - "symbol": "SPARK", - "decimals": 18 - }, - "124": { - "name": "Decentralized Web Utility", - "symbol": "DWU", - "decimals": 18 - }, - "125": { - "name": "OYchain Token", - "symbol": "OY", - "decimals": 18 - }, - "126": { - "name": "OYchain Token", - "symbol": "OY", - "decimals": 18 - }, - "127": { - "name": "Factory 127 Token", - "symbol": "FETH", - "decimals": 18 - }, - "128": { - "name": "Huobi ECO Chain Native Token", - "symbol": "HT", - "decimals": 18 - }, - "129": { - "name": "INOV8", - "symbol": "INOV8", - "decimals": 18 - }, - "131": { - "name": "Engram Tokio Testnet", - "symbol": "tGRAM", - "decimals": 18 - }, - "132": { - "name": "Namefi Coin", - "symbol": "NFIC", - "decimals": 18 - }, - "133": { - "name": "HashKey EcoPoints", - "symbol": "HSK", - "decimals": 18 - }, - "134": { - "name": "xRLC", - "symbol": "xRLC", - "decimals": 18 - }, - "135": { - "name": "Alyx Testnet Native Token", - "symbol": "ALYX", - "decimals": 18 - }, - "136": { - "name": "Deamchain Native Token", - "symbol": "DEAM", - "decimals": 18 - }, - "137": { - "name": "MATIC", - "symbol": "MATIC", - "decimals": 18 - }, - "138": { - "name": "Ether", - "symbol": "ETH", - "decimals": 18 - }, - "139": { - "name": "WoopCoin", - "symbol": "WOOC", - "decimals": 18 - }, - "140": { - "name": "Eternal", - "symbol": "Eter", - "decimals": 18 - }, - "141": { - "name": "Belly", - "symbol": "BELLY", - "decimals": 18 - }, - "142": { - "name": "Prodax", - "symbol": "DAX", - "decimals": 18 - }, - "144": { - "name": "PHI", - "symbol": "\u03A6", - "decimals": 18 - }, - "145": { - "name": "SoraETH", - "symbol": "SETH", - "decimals": 18 - }, - "147": { - "name": "Flag", - "symbol": "FLAG", - "decimals": 18 - }, - "148": { - "name": "SMR", - "symbol": "SMR", - "decimals": 18 - }, - "150": { - "name": "SIX testnet evm token", - "symbol": "tSIX", - "decimals": 18 - }, - "151": { - "name": "Redbelly Network Coin", - "symbol": "RBNT", - "decimals": 18 - }, - "152": { - "name": "Redbelly Network Coin", - "symbol": "RBNT", - "decimals": 18 - }, - "153": { - "name": "Redbelly Network Coin", - "symbol": "RBNT", - "decimals": 18 - }, - "154": { - "name": "Redbelly Network Coin", - "symbol": "RBNT", - "decimals": 18 - }, - "155": { - "name": "TENET", - "symbol": "TENET", - "decimals": 18 - }, - "156": { - "name": "OEBlock", - "symbol": "OEB", - "decimals": 18 - }, - "157": { - "name": "BONE", - "symbol": "BONE", - "decimals": 18 - }, - "158": { - "name": "Roburna", - "symbol": "RBA", - "decimals": 18 - }, - "159": { - "name": "Roburna", - "symbol": "RBAT", - "decimals": 18 - }, - "160": { - "name": "Armonia Multichain Native Token", - "symbol": "AMAX", - "decimals": 18 - }, - "161": { - "name": "Armonia Multichain Native Token", - "symbol": "AMAX", - "decimals": 18 - }, - "162": { - "name": "Lightstreams PHT", - "symbol": "PHT", - "decimals": 18 - }, - "163": { - "name": "Lightstreams PHT", - "symbol": "PHT", - "decimals": 18 - }, - "164": { - "name": "Omni", - "symbol": "OMNI", - "decimals": 18 - }, - "166": { - "name": "Omni", - "symbol": "OMNI", - "decimals": 18 - }, - "167": { - "name": "ATOSHI", - "symbol": "ATOS", - "decimals": 18 - }, - "168": { - "name": "AIOZ", - "symbol": "AIOZ", - "decimals": 18 - }, - "169": { - "name": "Ether", - "symbol": "ETH", - "decimals": 18 - }, - "170": { - "name": "HOO", - "symbol": "HOO", - "decimals": 18 - }, - "172": { - "name": "Latam-Blockchain Resil Test Native Token", - "symbol": "usd", - "decimals": 18 - }, - "176": { - "name": "DC Native Token", - "symbol": "DCT", - "decimals": 18 - }, - "178": { - "name": "ABEY", - "symbol": "tABEY", - "decimals": 18 - }, - "179": { - "name": "ABEY", - "symbol": "ABEY", - "decimals": 18 - }, - "180": { - "name": "AME", - "symbol": "AME", - "decimals": 18 - }, - "181": { - "name": "WATER", - "symbol": "WATER", - "decimals": 18 - }, - "184": { - "name": "Dojima", - "symbol": "DOJ", - "decimals": 18 - }, - "185": { - "name": "Ether", - "symbol": "ETH", - "decimals": 18 - }, - "186": { - "name": "Seele", - "symbol": "Seele", - "decimals": 18 - }, - "187": { - "name": "Dojima", - "symbol": "DOJ", - "decimals": 18 - }, - "188": { - "name": "BTM", - "symbol": "BTM", - "decimals": 18 - }, - "189": { - "name": "BTM", - "symbol": "BTM", - "decimals": 18 - }, - "190": { - "name": "CommuDAO", - "symbol": "CMD", - "decimals": 18 - }, - "191": { - "name": "FFG", - "symbol": "FFG", - "decimals": 18 - }, - "193": { - "name": "Crypto Emergency", - "symbol": "CEM", - "decimals": 18 - }, - "195": { - "name": "X Layer Global Utility Token in testnet", - "symbol": "OKB", - "decimals": 18 - }, - "196": { - "name": "X Layer Global Utility Token", - "symbol": "OKB", - "decimals": 18 - }, - "197": { - "name": "Neutrinos", - "symbol": "NEUTR", - "decimals": 18 - }, - "198": { - "name": "Bitcoin", - "symbol": "BTC", - "decimals": 18 - }, - "199": { - "name": "BitTorrent", - "symbol": "BTT", - "decimals": 18 - }, - "200": { - "name": "xDAI", - "symbol": "xDAI", - "decimals": 18 - }, - "201": { - "name": "MOAC", - "symbol": "mc", - "decimals": 18 - }, - "202": { - "name": "Edgeless Wrapped Eth", - "symbol": "EwEth", - "decimals": 18 - }, - "204": { - "name": "BNB Chain Native Token", - "symbol": "BNB", - "decimals": 18 - }, - "205": { - "name": "Global Mobile Money Gateway", - "symbol": "$EKH", - "decimals": 18 - }, - "206": { - "name": "VinuChain", - "symbol": "VC", - "decimals": 18 - }, - "207": { - "name": "VinuChain", - "symbol": "VC", - "decimals": 18 - }, - "208": { - "name": "Notes", - "symbol": "utx", - "decimals": 18 - }, - "210": { - "name": "Bitnet", - "symbol": "BTN", - "decimals": 18 - }, - "211": { - "name": "Freight Trust Native", - "symbol": "0xF", - "decimals": 18 - }, - "212": { - "name": "Makalu MAPO", - "symbol": "MAPO", - "decimals": 18 - }, - "213": { - "name": "BSquared Token", - "symbol": "B2", - "decimals": 18 - }, - "214": { - "name": "Shina Inu", - "symbol": "SHI", - "decimals": 18 - }, - "217": { - "name": "MCD", - "symbol": "MCD", - "decimals": 18 - }, - "220": { - "name": "Sepolia Ether", - "symbol": "ETH", - "decimals": 18 - }, - "221": { - "name": "BlockEx", - "symbol": "XBE", - "decimals": 18 - }, - "223": { - "name": "Bitcoin", - "symbol": "BTC", - "decimals": 18 - }, - "224": { - "name": "Viridis Token", - "symbol": "VRD", - "decimals": 18 - }, - "225": { - "name": "LA", - "symbol": "LA", - "decimals": 18 - }, - "226": { - "name": "TLA", - "symbol": "TLA", - "decimals": 18 - }, - "228": { - "name": "FHE", - "symbol": "FHE", - "decimals": 18 - }, - "230": { - "name": "SwapDEX", - "symbol": "SDX", - "decimals": 18 - }, - "233": { - "name": "Ether", - "symbol": "ETH", - "decimals": 18 - }, - "234": { - "name": "JNFTC", - "symbol": "JNFTC", - "decimals": 18 - }, - "236": { - "name": "Deamchain Native Token", - "symbol": "DEAM", - "decimals": 18 - }, - "242": { - "name": "Plinga", - "symbol": "PLINGA", - "decimals": 18 - }, - "246": { - "name": "Energy Web Token", - "symbol": "EWT", - "decimals": 18 - }, - "248": { - "name": "OAS", - "symbol": "OAS", - "decimals": 18 - }, - "250": { - "name": "Fantom", - "symbol": "FTM", - "decimals": 18 - }, - "252": { - "name": "Frax Ether", - "symbol": "frxETH", - "decimals": 18 - }, - "254": { - "name": "Ether", - "symbol": "ETH", - "decimals": 18 - }, - "255": { - "name": "Ether", - "symbol": "ETH", - "decimals": 18 - }, - "256": { - "name": "Huobi ECO Chain Test Native Token", - "symbol": "htt", - "decimals": 18 - }, - "258": { - "name": "Setheum", - "symbol": "SETM", - "decimals": 18 - }, - "259": { - "name": "Neonlink Native Token", - "symbol": "NEON", - "decimals": 18 - }, - "261": { - "name": "testGURU", - "symbol": "tGURU", - "decimals": 18 - }, - "262": { - "name": "Suren", - "symbol": "SRN", - "decimals": 18 - }, - "266": { - "name": "Ankr", - "symbol": "ANKR", - "decimals": 18 - }, - "267": { - "name": "Testnet Ankr", - "symbol": "ANKR", - "decimals": 18 - }, - "268": { - "name": "Devnet Ankr", - "symbol": "ANKR", - "decimals": 18 - }, - "269": { - "name": "High Performance Blockchain Ether", - "symbol": "HPB", - "decimals": 18 - }, - "271": { - "name": "EgonCoin", - "symbol": "EGON", - "decimals": 18 - }, - "274": { - "name": "LaCoin", - "symbol": "LAC", - "decimals": 18 - }, - "278": { - "name": "FAI", - "symbol": "FAI", - "decimals": 18 - }, - "279": { - "name": "BPX", - "symbol": "BPX", - "decimals": 18 - }, - "282": { - "name": "Cronos zkEVM Test Coin", - "symbol": "zkTCRO", - "decimals": 18 - }, - "288": { - "name": "Ether", - "symbol": "ETH", - "decimals": 18 - }, - "291": { - "name": "Ether", - "symbol": "ETH", - "decimals": 18 - }, - "295": { - "name": "hbar", - "symbol": "HBAR", - "decimals": 18 - }, - "296": { - "name": "hbar", - "symbol": "HBAR", - "decimals": 18 - }, - "297": { - "name": "hbar", - "symbol": "HBAR", - "decimals": 18 - }, - "298": { - "name": "hbar", - "symbol": "HBAR", - "decimals": 18 - }, - "300": { - "name": "Ether", - "symbol": "ETH", - "decimals": 18 - }, - "302": { - "name": "Ether", - "symbol": "ETH", - "decimals": 18 - }, - "303": { - "name": "Neurochain", - "symbol": "tNCN", - "decimals": 18 - }, - "305": { - "name": "BTC", - "symbol": "BTC", - "decimals": 18 - }, - "307": { - "name": "Lovely", - "symbol": "LOVELY", - "decimals": 18 - }, - "308": { - "name": "Furtheon", - "symbol": "FTH", - "decimals": 18 - }, - "309": { - "name": "Wyzth", - "symbol": "WYZ", - "decimals": 18 - }, - "311": { - "name": "OMAX COIN", - "symbol": "OMAX", - "decimals": 18 - }, - "313": { - "name": "Neurochain", - "symbol": "NCN", - "decimals": 18 - }, - "314": { - "name": "filecoin", - "symbol": "FIL", - "decimals": 18 - }, - "321": { - "name": "KuCoin Token", - "symbol": "KCS", - "decimals": 18 - }, - "322": { - "name": "KuCoin Testnet Token", - "symbol": "tKCS", - "decimals": 18 - }, - "323": { - "name": "Cosvm", - "symbol": "CVM", - "decimals": 18 - }, - "324": { - "name": "Ether", - "symbol": "ETH", - "decimals": 18 - }, - "325": { - "name": "ETH", - "symbol": "ETH", - "decimals": 18 - }, - "326": { - "name": "ETH", - "symbol": "ETH", - "decimals": 18 - }, - "333": { - "name": "Web3Q", - "symbol": "W3Q", - "decimals": 18 - }, - "335": { - "name": "Jewel", - "symbol": "JEWEL", - "decimals": 18 - }, - "336": { - "name": "Shiden", - "symbol": "SDN", - "decimals": 18 - }, - "338": { - "name": "Cronos Test Coin", - "symbol": "TCRO", - "decimals": 18 - }, - "345": { - "name": "TAS", - "symbol": "TAS", - "decimals": 18 - }, - "360": { - "name": "Ether", - "symbol": "ETH", - "decimals": 18 - }, - "361": { - "name": "Theta Fuel", - "symbol": "TFUEL", - "decimals": 18 - }, - "363": { - "name": "Theta Fuel", - "symbol": "TFUEL", - "decimals": 18 - }, - "364": { - "name": "Theta Fuel", - "symbol": "TFUEL", - "decimals": 18 - }, - "365": { - "name": "Theta Fuel", - "symbol": "TFUEL", - "decimals": 18 - }, - "369": { - "name": "Pulse", - "symbol": "PLS", - "decimals": 18 - }, - "371": { - "name": "tCNT", - "symbol": "tCNT", - "decimals": 18 - }, - "380": { - "name": "filecoin", - "symbol": "FIL", - "decimals": 18 - }, - "381": { - "name": "filecoin", - "symbol": "FIL", - "decimals": 18 - }, - "385": { - "name": "Lisinski Ether", - "symbol": "LISINS", - "decimals": 18 - }, - "388": { - "name": "Cronos zkEVM CRO", - "symbol": "zkCRO", - "decimals": 18 - }, - "395": { - "name": "CADL", - "symbol": "CADL", - "decimals": 18 - }, - "397": { - "name": "NEAR", - "symbol": "NEAR", - "decimals": 18 - }, - "398": { - "name": "Testnet NEAR", - "symbol": "NEAR", - "decimals": 18 - }, - "399": { - "name": "USNT", - "symbol": "USNT", - "decimals": 18 - }, - "400": { - "name": "HyperonChain", - "symbol": "HPN", - "decimals": 18 - }, - "401": { - "name": "OZONE", - "symbol": "OZO", - "decimals": 18 - }, - "404": { - "name": "Ether", - "symbol": "ETH", - "decimals": 18 - }, - "411": { - "name": "Pepe", - "symbol": "PEPE", - "decimals": 18 - }, - "416": { - "name": "SX Network", - "symbol": "SX", - "decimals": 18 - }, - "418": { - "name": "Test LaCoin", - "symbol": "TLA", - "decimals": 18 - }, - "420": { - "name": "Goerli Ether", - "symbol": "ETH", - "decimals": 18 - }, - "422": { - "name": "Viridis Token", - "symbol": "VRD", - "decimals": 18 - }, - "424": { - "name": "Ether", - "symbol": "ETH", - "decimals": 18 - }, - "427": { - "name": "Zeeth Token", - "symbol": "ZTH", - "decimals": 18 - }, - "428": { - "name": "OAS", - "symbol": "OAS", - "decimals": 18 - }, - "434": { - "name": "Boyaa mainnet native coin", - "symbol": "BYC", - "decimals": 18 - }, - "443": { - "name": "Sepolia Ether", - "symbol": "ETH", - "decimals": 18 - }, - "444": { - "name": "Sepolia ETH", - "symbol": "ETH", - "decimals": 18 - }, - "456": { - "name": "ARZIO", - "symbol": "AZO", - "decimals": 18 - }, - "462": { - "name": "Areon", - "symbol": "TAREA", - "decimals": 18 - }, - "463": { - "name": "Areon", - "symbol": "AREA", - "decimals": 18 - }, - "480": { - "name": "Ether", - "symbol": "ETH", - "decimals": 18 - }, - "499": { - "name": "Rupaya", - "symbol": "RUPX", - "decimals": 18 - }, - "500": { - "name": "Camino", - "symbol": "CAM", - "decimals": 18 - }, - "501": { - "name": "Camino", - "symbol": "CAM", - "decimals": 18 - }, - "510": { - "name": "Ether", - "symbol": "ETH", - "decimals": 18 - }, - "512": { - "name": "Acuteangle Native Token", - "symbol": "AAC", - "decimals": 18 - }, - "513": { - "name": "Acuteangle Native Token", - "symbol": "AAC", - "decimals": 18 - }, - "516": { - "name": "Gear Zero Network Native Token", - "symbol": "GZN", - "decimals": 18 - }, - "520": { - "name": "XT Smart Chain Native Token", - "symbol": "XT", - "decimals": 18 - }, - "529": { - "name": "Firechain", - "symbol": "FIRE", - "decimals": 18 - }, - "530": { - "name": "Function X", - "symbol": "FX", - "decimals": 18 - }, - "534": { - "name": "CANDLE", - "symbol": "CNDL", - "decimals": 18 - }, - "537": { - "name": "BSC", - "symbol": "BNB", - "decimals": 18 - }, - "542": { - "name": "PAW", - "symbol": "PAW", - "decimals": 18 - }, - "545": { - "name": "FLOW", - "symbol": "FLOW", - "decimals": 18 - }, - "555": { - "name": "CLASS COIN", - "symbol": "CLASS", - "decimals": 18 - }, - "558": { - "name": "Tao", - "symbol": "TAO", - "decimals": 18 - }, - "568": { - "name": "Dogecoin", - "symbol": "DOGE", - "decimals": 18 - }, - "570": { - "name": "Syscoin", - "symbol": "SYS", - "decimals": 18 - }, - "571": { - "name": "Metatime Coin", - "symbol": "MTC", - "decimals": 18 - }, - "579": { - "name": "Filecoin", - "symbol": "FIL", - "decimals": 18 - }, - "592": { - "name": "Astar", - "symbol": "ASTR", - "decimals": 18 - }, - "595": { - "name": "Acala Mandala Token", - "symbol": "mACA", - "decimals": 18 - }, - "596": { - "name": "Karura Token", - "symbol": "KAR", - "decimals": 18 - }, - "597": { - "name": "Acala Token", - "symbol": "ACA", - "decimals": 18 - }, - "600": { - "name": "Meshnyan Testnet Native Token", - "symbol": "MESHT", - "decimals": 18 - }, - "601": { - "name": "VINE", - "symbol": "VNE", - "decimals": 18 - }, - "610": { - "name": "Darwin Devnet token", - "symbol": "DNA", - "decimals": 18 - }, - "612": { - "name": "EIOB", - "symbol": "EIOB", - "decimals": 18 - }, - "614": { - "name": "GLQ", - "symbol": "GLQ", - "decimals": 18 - }, - "624": { - "name": "Binary Token", - "symbol": "BNRY", - "decimals": 18 - }, - "625": { - "name": "Test BNRY", - "symbol": "BNRY", - "decimals": 18 - }, - "634": { - "name": "USDC", - "symbol": "USDC", - "decimals": 18 - }, - "646": { - "name": "FLOW", - "symbol": "FLOW", - "decimals": 18 - }, - "647": { - "name": "SX Network", - "symbol": "SX", - "decimals": 18 - }, - "648": { - "name": "Endurance Chain Native Token", - "symbol": "ACE", - "decimals": 18 - }, - "653": { - "name": "kalis", - "symbol": "KALIS", - "decimals": 18 - }, - "654": { - "name": "kalis", - "symbol": "KALIS", - "decimals": 18 - }, - "662": { - "name": "ulc", - "symbol": "ULC", - "decimals": 18 - }, - "666": { - "name": "Pixie Chain Testnet Native Token", - "symbol": "PCTT", - "decimals": 18 - }, - "667": { - "name": "LAOS", - "symbol": "LAOS", - "decimals": 18 - }, - "668": { - "name": "JuncaChain Native Token", - "symbol": "JGC", - "decimals": 18 - }, - "669": { - "name": "JuncaChain Testnet Native Token", - "symbol": "JGCT", - "decimals": 18 - }, - "686": { - "name": "Karura Token", - "symbol": "KAR", - "decimals": 18 - }, - "690": { - "name": "Ether", - "symbol": "ETH", - "decimals": 18 - }, - "700": { - "name": "Social", - "symbol": "SNS", - "decimals": 18 - }, - "701": { - "name": "Koi Network Native Token", - "symbol": "KRING", - "decimals": 18 - }, - "707": { - "name": "BCS Token", - "symbol": "BCS", - "decimals": 18 - }, - "708": { - "name": "BCS Testnet Token", - "symbol": "tBCS", - "decimals": 18 - }, - "710": { - "name": "Fury", - "symbol": "FURY", - "decimals": 18 - }, - "713": { - "name": "VRC Chain", - "symbol": "VRC", - "decimals": 18 - }, - "719": { - "name": "BONE", - "symbol": "BONE", - "decimals": 18 - }, - "721": { - "name": "Lycan", - "symbol": "LYC", - "decimals": 18 - }, - "727": { - "name": "Blucrates", - "symbol": "BLU", - "decimals": 18 - }, - "730": { - "name": "Lovely", - "symbol": "LOVELY", - "decimals": 18 - }, - "741": { - "name": "VNT", - "symbol": "VNT", - "decimals": 18 - }, - "742": { - "name": "Script", - "symbol": "SPAY", - "decimals": 18 - }, - "747": { - "name": "FLOW", - "symbol": "FLOW", - "decimals": 18 - }, - "766": { - "name": "Shiba Predator", - "symbol": "QOM", - "decimals": 18 - }, - "776": { - "name": "Openchain Testnet", - "symbol": "TOPC", - "decimals": 18 - }, - "777": { - "name": "cTH", - "symbol": "cTH", - "decimals": 18 - }, - "786": { - "name": "MAAL", - "symbol": "MAAL", - "decimals": 18 - }, - "787": { - "name": "Acala Token", - "symbol": "ACA", - "decimals": 18 - }, - "788": { - "name": "Aerochain Testnet", - "symbol": "TAero", - "decimals": 18 - }, - "789": { - "name": "Ether", - "symbol": "ETH", - "decimals": 18 - }, - "799": { - "name": "Test Rupaya", - "symbol": "TRUPX", - "decimals": 18 - }, - "800": { - "name": "LUCID", - "symbol": "LUCID", - "decimals": 18 - }, - "803": { - "name": "Haicoin", - "symbol": "HAIC", - "decimals": 18 - }, - "808": { - "name": "Portal Fantasy Token", - "symbol": "PFT", - "decimals": 18 - }, - "810": { - "name": "Haven1", - "symbol": "H1", - "decimals": 18 - }, - "813": { - "name": "Qitmeer", - "symbol": "MEER", - "decimals": 18 - }, - "814": { - "name": "Ether", - "symbol": "ETH", - "decimals": 18 - }, - "818": { - "name": "BeOne Chain Mainnet", - "symbol": "BOC", - "decimals": 18 - }, - "820": { - "name": "Callisto", - "symbol": "CLO", - "decimals": 18 - }, - "822": { - "name": "Bitcoin", - "symbol": "rBTC", - "decimals": 18 - }, - "831": { - "name": "CDT", - "symbol": "CDT", - "decimals": 18 - }, - "841": { - "name": "Tara", - "symbol": "TARA", - "decimals": 18 - }, - "842": { - "name": "Tara", - "symbol": "TARA", - "decimals": 18 - }, - "852": { - "name": "HongKong", - "symbol": "HK", - "decimals": 18 - }, - "859": { - "name": "Zeeth Token", - "symbol": "ZTH", - "decimals": 18 - }, - "868": { - "name": "FST", - "symbol": "FST", - "decimals": 18 - }, - "876": { - "name": "OAS", - "symbol": "OAS", - "decimals": 18 - }, - "877": { - "name": "Dexit network", - "symbol": "DXT", - "decimals": 18 - }, - "880": { - "name": "AMBROS", - "symbol": "AMBROS", - "decimals": 18 - }, - "888": { - "name": "Wancoin", - "symbol": "WAN", - "decimals": 18 - }, - "898": { - "name": "MAXI GAS", - "symbol": "MGAS", - "decimals": 18 - }, - "899": { - "name": "MAXI GAS", - "symbol": "MGAS", - "decimals": 18 - }, - "900": { - "name": "Garizon", - "symbol": "GAR", - "decimals": 18 - }, - "901": { - "name": "Garizon", - "symbol": "GAR", - "decimals": 18 - }, - "902": { - "name": "Garizon", - "symbol": "GAR", - "decimals": 18 - }, - "903": { - "name": "Garizon", - "symbol": "GAR", - "decimals": 18 - }, - "909": { - "name": "Portal Fantasy Token", - "symbol": "PFT", - "decimals": 18 - }, - "910": { - "name": "DecentraBone", - "symbol": "DBONE", - "decimals": 18 - }, - "911": { - "name": "TBTC", - "symbol": "TBTC", - "decimals": 18 - }, - "917": { - "name": "Firechain", - "symbol": "FIRE", - "decimals": 18 - }, - "919": { - "name": "Sepolia Ether", - "symbol": "ETH", - "decimals": 18 - }, - "927": { - "name": "Yidark", - "symbol": "YDK", - "decimals": 18 - }, - "943": { - "name": "Test Pulse", - "symbol": "tPLS", - "decimals": 18 - }, - "956": { - "name": "Ether", - "symbol": "ETH", - "decimals": 18 - }, - "957": { - "name": "Ether", - "symbol": "ETH", - "decimals": 18 - }, - "963": { - "name": "BTCC", - "symbol": "BTCC", - "decimals": 18 - }, - "969": { - "name": "Settled EthXY Token", - "symbol": "SEXY", - "decimals": 18 - }, - "970": { - "name": "Oort", - "symbol": "OORT", - "decimals": 18 - }, - "971": { - "name": "Oort", - "symbol": "CCN", - "decimals": 18 - }, - "972": { - "name": "Oort", - "symbol": "CCNA", - "decimals": 18 - }, - "977": { - "name": "Nepal Blockchain Network Ether", - "symbol": "YETI", - "decimals": 18 - }, - "979": { - "name": "Settled EthXY Token", - "symbol": "SEXY", - "decimals": 18 - }, - "980": { - "name": "Ether", - "symbol": "ETH", - "decimals": 18 - }, - "985": { - "name": "Memo", - "symbol": "CMEMO", - "decimals": 18 - }, - "987": { - "name": "BINARY", - "symbol": "BNRY", - "decimals": 18 - }, - "989": { - "name": "TOP", - "symbol": "TOP", - "decimals": 6 - }, - "990": { - "name": "eLiberty", - "symbol": "$EL", - "decimals": 18 - }, - "995": { - "name": "5ire Token", - "symbol": "5IRE", - "decimals": 18 - }, - "996": { - "name": "Wrapped ETH", - "symbol": "WETH", - "decimals": 18 - }, - "997": { - "name": "5ire Testnet Token", - "symbol": "T5IRE", - "decimals": 18 - }, - "998": { - "name": "Lucky", - "symbol": "L99", - "decimals": 18 - }, - "999": { - "name": "Wancoin", - "symbol": "WAN", - "decimals": 18 - }, - "1000": { - "name": "GCD", - "symbol": "GCD", - "decimals": 18 - }, - "1001": { - "name": "KAIA", - "symbol": "KLAY", - "decimals": 18 - }, - "1003": { - "name": "Tectum", - "symbol": "TET", - "decimals": 8 - }, - "1004": { - "name": "T-EKTA", - "symbol": "T-EKTA", - "decimals": 18 - }, - "1007": { - "name": "Newton", - "symbol": "NEW", - "decimals": 18 - }, - "1008": { - "name": "Eurus", - "symbol": "EUN", - "decimals": 18 - }, - "1009": { - "name": "JNFTC", - "symbol": "JNFTC", - "decimals": 18 - }, - "1010": { - "name": "Evrice", - "symbol": "EVC", - "decimals": 18 - }, - "1011": { - "name": "Rebus", - "symbol": "REBUS", - "decimals": 18 - }, - "1012": { - "name": "Newton", - "symbol": "NEW", - "decimals": 18 - }, - "1022": { - "name": "Sakura", - "symbol": "SKU", - "decimals": 18 - }, - "1023": { - "name": "Clover", - "symbol": "CLV", - "decimals": 18 - }, - "1024": { - "name": "CLV", - "symbol": "CLV", - "decimals": 18 - }, - "1028": { - "name": "BitTorrent", - "symbol": "BTT", - "decimals": 18 - }, - "1030": { - "name": "CFX", - "symbol": "CFX", - "decimals": 18 - }, - "1031": { - "name": "PRX", - "symbol": "PRX", - "decimals": 18 - }, - "1038": { - "name": "tBRO", - "symbol": "tBRO", - "decimals": 18 - }, - "1039": { - "name": "BRO", - "symbol": "BRO", - "decimals": 18 - }, - "1073": { - "name": "SMR", - "symbol": "SMR", - "decimals": 18 - }, - "1075": { - "name": "IOTA", - "symbol": "IOTA", - "decimals": 18 - }, - "1079": { - "name": "MINTARA", - "symbol": "MNTR", - "decimals": 18 - }, - "1080": { - "name": "MINTARA", - "symbol": "MNTR", - "decimals": 18 - }, - "1088": { - "name": "Metis", - "symbol": "METIS", - "decimals": 18 - }, - "1089": { - "name": "HEART", - "symbol": "HEART", - "decimals": 18 - }, - "1099": { - "name": "MOAC", - "symbol": "mc", - "decimals": 18 - }, - "1100": { - "name": "DYM", - "symbol": "DYM", - "decimals": 18 - }, - "1101": { - "name": "Ether", - "symbol": "ETH", - "decimals": 18 - }, - "1107": { - "name": "BLXQ", - "symbol": "BLXQ", - "decimals": 18 - }, - "1108": { - "name": "BLXQ", - "symbol": "BLXQ", - "decimals": 18 - }, - "1111": { - "name": "WEMIX", - "symbol": "WEMIX", - "decimals": 18 - }, - "1112": { - "name": "TestnetWEMIX", - "symbol": "tWEMIX", - "decimals": 18 - }, - "1113": { - "name": "BSquared Token", - "symbol": "B2", - "decimals": 18 - }, - "1115": { - "name": "Core Blockchain Testnet Native Token", - "symbol": "tCORE", - "decimals": 18 - }, - "1116": { - "name": "Core Blockchain Native Token", - "symbol": "CORE", - "decimals": 18 - }, - "1117": { - "name": "Dogcoin", - "symbol": "DOGS", - "decimals": 18 - }, - "1123": { - "name": "Bitcoin", - "symbol": "BTC", - "decimals": 18 - }, - "1130": { - "name": "DeFiChain", - "symbol": "DFI", - "decimals": 18 - }, - "1131": { - "name": "DeFiChain", - "symbol": "DFI", - "decimals": 18 - }, - "1133": { - "name": "DeFiChain Token", - "symbol": "DFI", - "decimals": 18 - }, - "1135": { - "name": "Ether", - "symbol": "ETH", - "decimals": 18 - }, - "1138": { - "name": "SINSO", - "symbol": "SINSO", - "decimals": 18 - }, - "1139": { - "name": "MathChain", - "symbol": "MATH", - "decimals": 18 - }, - "1140": { - "name": "MathChain", - "symbol": "MATH", - "decimals": 18 - }, - "1147": { - "name": "Flag Testnet", - "symbol": "FLAG", - "decimals": 18 - }, - "1149": { - "name": "Plex Native Token", - "symbol": "PLEX", - "decimals": 18 - }, - "1170": { - "name": "Origin", - "symbol": "UOC", - "decimals": 18 - }, - "1177": { - "name": "Smart Host Teknoloji TESTNET", - "symbol": "tSHT", - "decimals": 18 - }, - "1188": { - "name": "ClubMos", - "symbol": "MOS", - "decimals": 18 - }, - "1197": { - "name": "Iora", - "symbol": "IORA", - "decimals": 18 - }, - "1200": { - "name": "CuckooAI", - "symbol": "CAI", - "decimals": 18 - }, - "1201": { - "name": "AVIS", - "symbol": "AVIS", - "decimals": 18 - }, - "1202": { - "name": "World Trade Token", - "symbol": "WTT", - "decimals": 18 - }, - "1209": { - "name": "SaitaBlockChain(SBC)", - "symbol": "STC", - "decimals": 18 - }, - "1210": { - "name": "CuckooAI", - "symbol": "CAI", - "decimals": 18 - }, - "1213": { - "name": "Popcat", - "symbol": "POP", - "decimals": 18 - }, - "1214": { - "name": "EnterCoin", - "symbol": "ENTER", - "decimals": 18 - }, - "1221": { - "name": "Ether", - "symbol": "ETH", - "decimals": 18 - }, - "1223": { - "name": "Ether", - "symbol": "ETH", - "decimals": 18 - }, - "1225": { - "name": "Hybrid", - "symbol": "HYB", - "decimals": 18 - }, - "1227": { - "name": "BTC Protocol", - "symbol": "BTCP", - "decimals": 18 - }, - "1229": { - "name": "Exzo", - "symbol": "XZO", - "decimals": 18 - }, - "1230": { - "name": "Ultron", - "symbol": "ULX", - "decimals": 18 - }, - "1231": { - "name": "Ultron", - "symbol": "ULX", - "decimals": 18 - }, - "1234": { - "name": "FITFI", - "symbol": "FITFI", - "decimals": 18 - }, - "1235": { - "name": "ITX", - "symbol": "ITX", - "decimals": 18 - }, - "1243": { - "name": "ARC", - "symbol": "ARC", - "decimals": 18 - }, - "1244": { - "name": "ARC", - "symbol": "ARC", - "decimals": 18 - }, - "1246": { - "name": "OMCOIN", - "symbol": "OM", - "decimals": 18 - }, - "1248": { - "name": "Dogether", - "symbol": "dogeth", - "decimals": 18 - }, - "1252": { - "name": "Crazy Internet Coin", - "symbol": "CICT", - "decimals": 18 - }, - "1280": { - "name": "HALO", - "symbol": "HO", - "decimals": 18 - }, - "1284": { - "name": "Glimmer", - "symbol": "GLMR", - "decimals": 18 - }, - "1285": { - "name": "Moonriver", - "symbol": "MOVR", - "decimals": 18 - }, - "1287": { - "name": "Dev", - "symbol": "DEV", - "decimals": 18 - }, - "1288": { - "name": "Rocs", - "symbol": "ROC", - "decimals": 18 - }, - "1291": { - "name": "Swisstronik", - "symbol": "SWTR", - "decimals": 18 - }, - "1311": { - "name": "Dos Native Token", - "symbol": "DOS", - "decimals": 18 - }, - "1313": { - "name": "JaiHo", - "symbol": "JaiHo", - "decimals": 18 - }, - "1314": { - "name": "Alyx Chain Native Token", - "symbol": "ALYX", - "decimals": 18 - }, - "1319": { - "name": "AIA Mainnet", - "symbol": "AIA", - "decimals": 18 - }, - "1320": { - "name": "AIA Testnet", - "symbol": "AIA", - "decimals": 18 - }, - "1328": { - "name": "Sei", - "symbol": "SEI", - "decimals": 18 - }, - "1329": { - "name": "Sei", - "symbol": "SEI", - "decimals": 18 - }, - "1337": { - "name": "Geth Testnet Ether", - "symbol": "ETH", - "decimals": 18 - }, - "1338": { - "name": "LAVA", - "symbol": "LAVA", - "decimals": 18 - }, - "1339": { - "name": "LAVA", - "symbol": "LAVA", - "decimals": 18 - }, - "1343": { - "name": "BLITZ GAS", - "symbol": "BGAS", - "decimals": 18 - }, - "1353": { - "name": "Crazy Internet Coin", - "symbol": "CIC", - "decimals": 18 - }, - "1369": { - "name": "Zakumi Chain Native Token", - "symbol": "ZAFIC", - "decimals": 18 - }, - "1370": { - "name": "Rama", - "symbol": "RAMA", - "decimals": 18 - }, - "1377": { - "name": "Rama", - "symbol": "tRAMA", - "decimals": 18 - }, - "1379": { - "name": "Kalar", - "symbol": "KLC", - "decimals": 18 - }, - "1388": { - "name": "SINSO", - "symbol": "SINSO", - "decimals": 18 - }, - "1392": { - "name": "Joseon Mun", - "symbol": "JSM", - "decimals": 18 - }, - "1414": { - "name": "Sepolia Ether", - "symbol": "ETH", - "decimals": 18 - }, - "1433": { - "name": "Rikeza", - "symbol": "RIK", - "decimals": 18 - }, - "1440": { - "name": "LAS", - "symbol": "LAS", - "decimals": 18 - }, - "1442": { - "name": "Ether", - "symbol": "ETH", - "decimals": 18 - }, - "1452": { - "name": "GANG", - "symbol": "GANG", - "decimals": 18 - }, - "1453": { - "name": "Metatime Coin", - "symbol": "MTC", - "decimals": 18 - }, - "1455": { - "name": "CTEX", - "symbol": "CTEX", - "decimals": 18 - }, - "1456": { - "name": "Ether", - "symbol": "ETH", - "decimals": 18 - }, - "1490": { - "name": "Vitruveo Coin", - "symbol": "VTRU", - "decimals": 18 - }, - "1499": { - "name": "iDos Games Coin", - "symbol": "IGC", - "decimals": 18 - }, - "1501": { - "name": "BTC", - "symbol": "BTC", - "decimals": 18 - }, - "1506": { - "name": "KSX", - "symbol": "KSX", - "decimals": 18 - }, - "1507": { - "name": "KSX", - "symbol": "KSX", - "decimals": 18 - }, - "1515": { - "name": "Beagle", - "symbol": "BG", - "decimals": 18 - }, - "1559": { - "name": "TENET", - "symbol": "TENET", - "decimals": 18 - }, - "1570": { - "name": "STARX", - "symbol": "STARX", - "decimals": 18 - }, - "1578": { - "name": "STARX", - "symbol": "STARX", - "decimals": 18 - }, - "1617": { - "name": "Ethereum Inscription", - "symbol": "ETINS", - "decimals": 18 - }, - "1618": { - "name": "Catecoin", - "symbol": "CATE", - "decimals": 18 - }, - "1620": { - "name": "Atheios Ether", - "symbol": "ATH", - "decimals": 18 - }, - "1625": { - "name": "Gravity", - "symbol": "G", - "decimals": 18 - }, - "1648": { - "name": "Pivotal Plus", - "symbol": "PLUS", - "decimals": 18 - }, - "1657": { - "name": "Bitcoin Asset", - "symbol": "BTA", - "decimals": 18 - }, - "1662": { - "name": "Licoin", - "symbol": "LCN", - "decimals": 18 - }, - "1663": { - "name": "Testnet Zen", - "symbol": "tZEN", - "decimals": 18 - }, - "1686": { - "name": "Sepolia Ether", - "symbol": "ETH", - "decimals": 18 - }, - "1687": { - "name": "Sepolia Ether", - "symbol": "ETH", - "decimals": 18 - }, - "1688": { - "name": "LUDAN", - "symbol": "LUDAN", - "decimals": 18 - }, - "1701": { - "name": "ANY", - "symbol": "ANY", - "decimals": 18 - }, - "1707": { - "name": "Jinda", - "symbol": "JINDA", - "decimals": 18 - }, - "1708": { - "name": "Jinda", - "symbol": "JINDA", - "decimals": 18 - }, - "1717": { - "name": "Doric Native Token", - "symbol": "DRC", - "decimals": 18 - }, - "1718": { - "name": "Palette Token", - "symbol": "PLT", - "decimals": 18 - }, - "1729": { - "name": "Ether", - "symbol": "ETH", - "decimals": 18 - }, - "1740": { - "name": "ETH", - "symbol": "ETH", - "decimals": 18 - }, - "1750": { - "name": "ETH", - "symbol": "ETH", - "decimals": 18 - }, - "1773": { - "name": "Grams", - "symbol": "GRAMS", - "decimals": 18 - }, - "1777": { - "name": "GANG", - "symbol": "GANG", - "decimals": 18 - }, - "1789": { - "name": "Ether", - "symbol": "ETH", - "decimals": 18 - }, - "1804": { - "name": "Climate awaReness Coin", - "symbol": "CRC", - "decimals": 18 - }, - "1807": { - "name": "Rabbit Analog Test Chain Native Token ", - "symbol": "rAna", - "decimals": 18 - }, - "1811": { - "name": "LIF3", - "symbol": "LIF3", - "decimals": 18 - }, - "1818": { - "name": "Cube Chain Native Token", - "symbol": "CUBE", - "decimals": 18 - }, - "1819": { - "name": "Cube Chain Test Native Token", - "symbol": "CUBET", - "decimals": 18 - }, - "1821": { - "name": "RUBY Smart Chain Native Token", - "symbol": "RUBY", - "decimals": 18 - }, - "1856": { - "name": "Teslafunds Ether", - "symbol": "TSF", - "decimals": 18 - }, - "1875": { - "name": "WhiteBIT Coin", - "symbol": "WBT", - "decimals": 18 - }, - "1881": { - "name": "Gitshock Cartenz", - "symbol": "tGTFX", - "decimals": 18 - }, - "1890": { - "name": "Ethereum", - "symbol": "ETH", - "decimals": 18 - }, - "1891": { - "name": "Ethereum", - "symbol": "ETH", - "decimals": 18 - }, - "1898": { - "name": "BOYACoin", - "symbol": "BOY", - "decimals": 18 - }, - "1899": { - "name": "RED", - "symbol": "RED", - "decimals": 18 - }, - "1904": { - "name": "SCN", - "symbol": "SCN", - "decimals": 18 - }, - "1907": { - "name": "Bitci", - "symbol": "BITCI", - "decimals": 18 - }, - "1908": { - "name": "Test Bitci", - "symbol": "TBITCI", - "decimals": 18 - }, - "1909": { - "name": "Merkle", - "symbol": "MRK", - "decimals": 18 - }, - "1911": { - "name": "Ether", - "symbol": "ETH", - "decimals": 18 - }, - "1912": { - "name": "RUBY Smart Chain Native Token", - "symbol": "tRUBY", - "decimals": 18 - }, - "1918": { - "name": "UPBEth", - "symbol": "UPBEth", - "decimals": 18 - }, - "1945": { - "name": "ONUS", - "symbol": "ONUS", - "decimals": 18 - }, - "1951": { - "name": "DOINX", - "symbol": "DOINX", - "decimals": 18 - }, - "1953": { - "name": "Selendra", - "symbol": "tSEL", - "decimals": 18 - }, - "1954": { - "name": "Dexilla Native Token", - "symbol": "DXZ", - "decimals": 18 - }, - "1956": { - "name": "BTC", - "symbol": "BTC", - "decimals": 18 - }, - "1961": { - "name": "Selendra", - "symbol": "SEL", - "decimals": 18 - }, - "1967": { - "name": "Eleanor Metacoin", - "symbol": "MTC", - "decimals": 18 - }, - "1969": { - "name": "Super Chain Native Token", - "symbol": "TSCS", - "decimals": 18 - }, - "1970": { - "name": "Super Chain Native Token", - "symbol": "SCS", - "decimals": 18 - }, - "1971": { - "name": "ATLR", - "symbol": "ATLR", - "decimals": 18 - }, - "1972": { - "name": "RedeCoin", - "symbol": "REDEV2", - "decimals": 18 - }, - "1975": { - "name": "ONUS", - "symbol": "ONUS", - "decimals": 18 - }, - "1984": { - "name": "Eurus", - "symbol": "EUN", - "decimals": 18 - }, - "1985": { - "name": "Tushy Token", - "symbol": "TUSHY", - "decimals": 18 - }, - "1986": { - "name": "Tushy Token", - "symbol": "TUSHY", - "decimals": 18 - }, - "1987": { - "name": "EtherGem Ether", - "symbol": "EGEM", - "decimals": 18 - }, - "1992": { - "name": "USD Coin", - "symbol": "USDC", - "decimals": 18 - }, - "1993": { - "name": "ETH", - "symbol": "ETH", - "decimals": 18 - }, - "1994": { - "name": "EKTA", - "symbol": "EKTA", - "decimals": 18 - }, - "1995": { - "name": "EDEXA", - "symbol": "EDX", - "decimals": 18 - }, - "1996": { - "name": "DMT", - "symbol": "DMT", - "decimals": 18 - }, - "1997": { - "name": "Kyoto", - "symbol": "KYOTO", - "decimals": 18 - }, - "1998": { - "name": "Kyoto", - "symbol": "KYOTO", - "decimals": 18 - }, - "2000": { - "name": "Dogecoin", - "symbol": "DOGE", - "decimals": 18 - }, - "2001": { - "name": "milkAda", - "symbol": "mADA", - "decimals": 18 - }, - "2002": { - "name": "milkALGO", - "symbol": "mALGO", - "decimals": 18 - }, - "2004": { - "name": "MetaLink", - "symbol": "MTL", - "decimals": 18 - }, - "2008": { - "name": "CloudWalk Native Token", - "symbol": "CWN", - "decimals": 18 - }, - "2009": { - "name": "CloudWalk Native Token", - "symbol": "CWN", - "decimals": 18 - }, - "2013": { - "name": "GAS", - "symbol": "GAS", - "decimals": 18 - }, - "2014": { - "name": "NOW Coin", - "symbol": "NOW", - "decimals": 18 - }, - "2016": { - "name": "MainnetZ", - "symbol": "NetZ", - "decimals": 18 - }, - "2017": { - "name": "Telcoin", - "symbol": "TEL", - "decimals": 18 - }, - "2018": { - "name": "USD", - "symbol": "USD", - "decimals": 18 - }, - "2019": { - "name": "USD", - "symbol": "USD", - "decimals": 18 - }, - "2020": { - "name": "USD", - "symbol": "USD", - "decimals": 18 - }, - "2021": { - "name": "Edgeware", - "symbol": "EDG", - "decimals": 18 - }, - "2022": { - "name": "Testnet EDG", - "symbol": "tEDG", - "decimals": 18 - }, - "2023": { - "name": "test-Shuffle", - "symbol": "tSFL", - "decimals": 18 - }, - "2024": { - "name": "SWANETH", - "symbol": "sETH", - "decimals": 18 - }, - "2025": { - "name": "Rangers Protocol Gas", - "symbol": "RPG", - "decimals": 18 - }, - "2026": { - "name": "Edgeless Wrapped Eth", - "symbol": "EwEth", - "decimals": 18 - }, - "2031": { - "name": "Centrifuge", - "symbol": "CFG", - "decimals": 18 - }, - "2032": { - "name": "Catalyst CFG", - "symbol": "NCFG", - "decimals": 18 - }, - "2035": { - "name": "Phala", - "symbol": "PHA", - "decimals": 18 - }, - "2037": { - "name": "Shrapgas", - "symbol": "SHRAP", - "decimals": 18 - }, - "2038": { - "name": "SHRAPG", - "symbol": "SHRAPG", - "decimals": 18 - }, - "2039": { - "name": "TZERO", - "symbol": "TZERO", - "decimals": 18 - }, - "2040": { - "name": "VANRY", - "symbol": "VANRY", - "decimals": 18 - }, - "2043": { - "name": "NeuroWeb Token", - "symbol": "NEURO", - "decimals": 12 - }, - "2044": { - "name": "Shrapnel Gas Token", - "symbol": "SHRAPG", - "decimals": 18 - }, - "2045": { - "name": "BTC", - "symbol": "BTC", - "decimals": 18 - }, - "2047": { - "name": "STOS", - "symbol": "STOS", - "decimals": 18 - }, - "2048": { - "name": "STOS", - "symbol": "STOS", - "decimals": 18 - }, - "2049": { - "name": "Movo Smart Chain", - "symbol": "MOVO", - "decimals": 18 - }, - "2077": { - "name": "Qkacoin", - "symbol": "QKA", - "decimals": 18 - }, - "2088": { - "name": "Altair", - "symbol": "AIR", - "decimals": 18 - }, - "2100": { - "name": "Ecoball Coin", - "symbol": "ECO", - "decimals": 18 - }, - "2101": { - "name": "Espuma Coin", - "symbol": "ECO", - "decimals": 18 - }, - "2109": { - "name": "Sama Token", - "symbol": "SAMA", - "decimals": 18 - }, - "2112": { - "name": "UCASH", - "symbol": "UCASH", - "decimals": 18 - }, - "2121": { - "name": "Catena", - "symbol": "CMCX", - "decimals": 18 - }, - "2122": { - "name": "METAD", - "symbol": "METAD", - "decimals": 18 - }, - "2124": { - "name": "Metaunit", - "symbol": "MEU", - "decimals": 18 - }, - "2136": { - "name": "Dolarz", - "symbol": "Dolarz", - "decimals": 18 - }, - "2137": { - "name": "USD Coin", - "symbol": "USDC", - "decimals": 18 - }, - "2138": { - "name": "testEther", - "symbol": "tETH", - "decimals": 18 - }, - "2140": { - "name": "BTC", - "symbol": "BTC", - "decimals": 18 - }, - "2141": { - "name": "BTC", - "symbol": "BTC", - "decimals": 18 - }, - "2151": { - "name": "BOSAGORA", - "symbol": "BOA", - "decimals": 18 - }, - "2152": { - "name": "FRA", - "symbol": "FRA", - "decimals": 18 - }, - "2153": { - "name": "FRA", - "symbol": "FRA", - "decimals": 18 - }, - "2154": { - "name": "FRA", - "symbol": "FRA", - "decimals": 18 - }, - "2162": { - "name": "Coin", - "symbol": "COIN", - "decimals": 18 - }, - "2199": { - "name": "Sama Token", - "symbol": "SAMA", - "decimals": 18 - }, - "2202": { - "name": "Antofy", - "symbol": "ABN", - "decimals": 18 - }, - "2203": { - "name": "Bitcoin", - "symbol": "BTC", - "decimals": 18 - }, - "2213": { - "name": "EVA", - "symbol": "EVA", - "decimals": 18 - }, - "2221": { - "name": "TKava", - "symbol": "TKAVA", - "decimals": 18 - }, - "2222": { - "name": "Kava", - "symbol": "KAVA", - "decimals": 18 - }, - "2223": { - "name": "VNDT", - "symbol": "VNDT", - "decimals": 18 - }, - "2241": { - "name": "Krest", - "symbol": "KRST", - "decimals": 18 - }, - "2300": { - "name": "BOMB Token", - "symbol": "BOMB", - "decimals": 18 - }, - "2306": { - "name": "Ebro", - "symbol": "ebro", - "decimals": 18 - }, - "2309": { - "name": "Arev", - "symbol": "AR\xC9V", - "decimals": 18 - }, - "2311": { - "name": "Test LPX", - "symbol": "tstLPX", - "decimals": 18 - }, - "2323": { - "name": "SMA", - "symbol": "tSMA", - "decimals": 18 - }, - "2330": { - "name": "Altcoin", - "symbol": "ALT", - "decimals": 18 - }, - "2331": { - "name": "RSS3", - "symbol": "RSS3", - "decimals": 18 - }, - "2332": { - "name": "Soma Native Token", - "symbol": "SMA", - "decimals": 18 - }, - "2340": { - "name": "Atla", - "symbol": "ATLA", - "decimals": 18 - }, - "2342": { - "name": "Omnia", - "symbol": "OMNIA", - "decimals": 18 - }, - "2355": { - "name": "Ether", - "symbol": "ETH", - "decimals": 18 - }, - "2358": { - "name": "Sepolia Ether", - "symbol": "ETH", - "decimals": 18 - }, - "2370": { - "name": "Nexis", - "symbol": "NZT", - "decimals": 18 - }, - "2399": { - "name": "BOMB Token", - "symbol": "tBOMB", - "decimals": 18 - }, - "2400": { - "name": "OAS", - "symbol": "OAS", - "decimals": 18 - }, - "2410": { - "name": "Ether", - "symbol": "ETH", - "decimals": 18 - }, - "2415": { - "name": "XODEX Native Token", - "symbol": "XODEX", - "decimals": 18 - }, - "2425": { - "name": "King Of Legends", - "symbol": "KCC", - "decimals": 18 - }, - "2442": { - "name": "Ether", - "symbol": "ETH", - "decimals": 18 - }, - "2458": { - "name": "Hybrid Chain Native Token", - "symbol": "tHRC", - "decimals": 18 - }, - "2468": { - "name": "Hybrid Chain Native Token", - "symbol": "HRC", - "decimals": 18 - }, - "2484": { - "name": "Unicorn Ultra Nebulas Testnet", - "symbol": "U2U", - "decimals": 18 - }, - "2522": { - "name": "Frax Ether", - "symbol": "frxETH", - "decimals": 18 - }, - "2525": { - "name": "Injective", - "symbol": "INJ", - "decimals": 18 - }, - "2559": { - "name": "KorthoChain", - "symbol": "KTO", - "decimals": 11 - }, - "2569": { - "name": "TechPay", - "symbol": "TPC", - "decimals": 18 - }, - "2606": { - "name": "Climate awaReness Coin", - "symbol": "CRC", - "decimals": 18 - }, - "2611": { - "name": "Redlight Coin", - "symbol": "REDLC", - "decimals": 18 - }, - "2612": { - "name": "EZChain", - "symbol": "EZC", - "decimals": 18 - }, - "2613": { - "name": "EZChain", - "symbol": "EZC", - "decimals": 18 - }, - "2625": { - "name": "WhiteBIT Coin", - "symbol": "WBT", - "decimals": 18 - }, - "2648": { - "name": "BTC", - "symbol": "BTC", - "decimals": 18 - }, - "2649": { - "name": "BTC", - "symbol": "BTC", - "decimals": 18 - }, - "2662": { - "name": "Ether", - "symbol": "ETH", - "decimals": 18 - }, - "2710": { - "name": "Ether", - "symbol": "ETH", - "decimals": 18 - }, - "2718": { - "name": "KLAOS", - "symbol": "KLAOS", - "decimals": 18 - }, - "2730": { - "name": "tXR", - "symbol": "tXR", - "decimals": 18 - }, - "2731": { - "name": "TIME", - "symbol": "TIME", - "decimals": 18 - }, - "2748": { - "name": "Ether", - "symbol": "ETH", - "decimals": 18 - }, - "2777": { - "name": "Ether", - "symbol": "ETH", - "decimals": 18 - }, - "2810": { - "name": "Ether", - "symbol": "ETH", - "decimals": 18 - }, - "2882": { - "name": "IOTA", - "symbol": "IOTA", - "decimals": 18 - }, - "2907": { - "name": "Elux Chain", - "symbol": "ELUX", - "decimals": 18 - }, - "2911": { - "name": "TOPIA", - "symbol": "TOPIA", - "decimals": 18 - }, - "2941": { - "name": "Xenon Testnet", - "symbol": "tXEN", - "decimals": 18 - }, - "2999": { - "name": "BTY", - "symbol": "BTY", - "decimals": 18 - }, - "3000": { - "name": "CPAY", - "symbol": "CPAY", - "decimals": 18 - }, - "3001": { - "name": "CPAY", - "symbol": "CPAY", - "decimals": 18 - }, - "3003": { - "name": "Canxium", - "symbol": "CAU", - "decimals": 18 - }, - "3011": { - "name": "3ULL", - "symbol": "3ULL", - "decimals": 18 - }, - "3031": { - "name": "Orlando", - "symbol": "ORL", - "decimals": 18 - }, - "3033": { - "name": "Rebus", - "symbol": "REBUS", - "decimals": 18 - }, - "3068": { - "name": "Bifrost", - "symbol": "BFC", - "decimals": 18 - }, - "3073": { - "name": "Move", - "symbol": "MOVE", - "decimals": 18 - }, - "3084": { - "name": "XLNetwork", - "symbol": "XLN", - "decimals": 18 - }, - "3100": { - "name": "IMMU", - "symbol": "IMMU", - "decimals": 18 - }, - "3102": { - "name": "VFI", - "symbol": "VFI", - "decimals": 18 - }, - "3109": { - "name": "BTC", - "symbol": "BTC", - "decimals": 18 - }, - "3110": { - "name": "BTC", - "symbol": "BTC", - "decimals": 18 - }, - "3269": { - "name": "Dubxcoin mainnet", - "symbol": "DUBX", - "decimals": 18 - }, - "3270": { - "name": "Dubxcoin testnet", - "symbol": "TDUBX", - "decimals": 18 - }, - "3306": { - "name": "Debounce Network", - "symbol": "DB", - "decimals": 18 - }, - "3331": { - "name": "ZCore", - "symbol": "ZCR", - "decimals": 18 - }, - "3333": { - "name": "Ether", - "symbol": "ETH", - "decimals": 18 - }, - "3334": { - "name": "Web3Q", - "symbol": "W3Q", - "decimals": 18 - }, - "3335": { - "name": "Ether", - "symbol": "ETH", - "decimals": 18 - }, - "3338": { - "name": "peaq", - "symbol": "PEAQ", - "decimals": 18 - }, - "3400": { - "name": "PRB", - "symbol": "PRB", - "decimals": 18 - }, - "3424": { - "name": "Evolve", - "symbol": "EVO", - "decimals": 18 - }, - "3434": { - "name": "SCAI", - "symbol": "SCAI", - "decimals": 18 - }, - "3456": { - "name": "Bitcoin", - "symbol": "BTC", - "decimals": 18 - }, - "3490": { - "name": "GTC", - "symbol": "GTC", - "decimals": 18 - }, - "3500": { - "name": "PRB", - "symbol": "PRB", - "decimals": 18 - }, - "3501": { - "name": "JFIN Coin", - "symbol": "JFIN", - "decimals": 18 - }, - "3601": { - "name": "pando-token", - "symbol": "PTX", - "decimals": 18 - }, - "3602": { - "name": "pando-token", - "symbol": "PTX", - "decimals": 18 - }, - "3630": { - "name": "Tycooncoin", - "symbol": "TYCO", - "decimals": 18 - }, - "3636": { - "name": "Botanix", - "symbol": "BTC", - "decimals": 18 - }, - "3637": { - "name": "Botanix", - "symbol": "BTC", - "decimals": 18 - }, - "3639": { - "name": "ISLAMICOIN", - "symbol": "ISLAMI", - "decimals": 18 - }, - "3645": { - "name": "ISLAMICOIN", - "symbol": "ISLAMI", - "decimals": 18 - }, - "3666": { - "name": "J", - "symbol": "J", - "decimals": 18 - }, - "3690": { - "name": "Bittex", - "symbol": "BTX", - "decimals": 18 - }, - "3693": { - "name": "Empire", - "symbol": "EMPIRE", - "decimals": 18 - }, - "3698": { - "name": "SenjePowers", - "symbol": "SPC", - "decimals": 18 - }, - "3699": { - "name": "SenjePowers", - "symbol": "SPC", - "decimals": 18 - }, - "3737": { - "name": "Crossbell Token", - "symbol": "CSB", - "decimals": 18 - }, - "3776": { - "name": "Ether", - "symbol": "ETH", - "decimals": 18 - }, - "3797": { - "name": "AlveyCoin", - "symbol": "ALV", - "decimals": 18 - }, - "3799": { - "name": "Testnet Tangle Network Token", - "symbol": "tTNT", - "decimals": 18 - }, - "3885": { - "name": "Ether", - "symbol": "ETH", - "decimals": 18 - }, - "3888": { - "name": "KalyCoin", - "symbol": "KLC", - "decimals": 18 - }, - "3889": { - "name": "KalyCoin", - "symbol": "KLC", - "decimals": 18 - }, - "3912": { - "name": "DRAC", - "symbol": "DRAC", - "decimals": 18 - }, - "3939": { - "name": "DOS", - "symbol": "DOS", - "decimals": 18 - }, - "3966": { - "name": "DYNO Token", - "symbol": "DYNO", - "decimals": 18 - }, - "3967": { - "name": "DYNO Token", - "symbol": "tDYNO", - "decimals": 18 - }, - "3993": { - "name": "Sepolia Ether", - "symbol": "ETH", - "decimals": 18 - }, - "3999": { - "name": "YCC", - "symbol": "YCC", - "decimals": 18 - }, - "4000": { - "name": "OZONE", - "symbol": "OZO", - "decimals": 18 - }, - "4001": { - "name": "Peperium Chain Testnet", - "symbol": "PERIUM", - "decimals": 18 - }, - "4002": { - "name": "Fantom", - "symbol": "FTM", - "decimals": 18 - }, - "4003": { - "name": "XN", - "symbol": "XN", - "decimals": 18 - }, - "4040": { - "name": "Carbonium", - "symbol": "tCBR", - "decimals": 18 - }, - "4048": { - "name": "GP Token", - "symbol": "GP", - "decimals": 18 - }, - "4058": { - "name": "FTN", - "symbol": "FTN", - "decimals": 18 - }, - "4061": { - "name": "Ether", - "symbol": "ETH", - "decimals": 18 - }, - "4062": { - "name": "Sepolia Ether", - "symbol": "ETH", - "decimals": 18 - }, - "4078": { - "name": "Ether", - "symbol": "ETH", - "decimals": 18 - }, - "4080": { - "name": "Tobe Coin", - "symbol": "TBC", - "decimals": 18 - }, - "4090": { - "name": "FTN", - "symbol": "FTN", - "decimals": 18 - }, - "4096": { - "name": "BNI", - "symbol": "$BNI", - "decimals": 18 - }, - "4099": { - "name": "BNI", - "symbol": "$BNI", - "decimals": 18 - }, - "4102": { - "name": "testAIOZ", - "symbol": "AIOZ", - "decimals": 18 - }, - "4139": { - "name": "HEART", - "symbol": "HEART", - "decimals": 18 - }, - "4141": { - "name": "Tipboxcoin", - "symbol": "TPBX", - "decimals": 18 - }, - "4157": { - "name": "XFI", - "symbol": "XFI", - "decimals": 18 - }, - "4162": { - "name": "SX Network", - "symbol": "SX", - "decimals": 18 - }, - "4181": { - "name": "PHI", - "symbol": "\u03A6", - "decimals": 18 - }, - "4200": { - "name": "BTC", - "symbol": "BTC", - "decimals": 18 - }, - "4201": { - "name": "TestLYX", - "symbol": "LYXt", - "decimals": 18 - }, - "4202": { - "name": "Sepolia Ether", - "symbol": "ETH", - "decimals": 18 - }, - "4242": { - "name": "Nexi", - "symbol": "NEXI", - "decimals": 18 - }, - "4243": { - "name": "NexiV2", - "symbol": "NEXI", - "decimals": 18 - }, - "4337": { - "name": "Beam", - "symbol": "BEAM", - "decimals": 18 - }, - "4400": { - "name": "Credit", - "symbol": "CREDIT", - "decimals": 18 - }, - "4444": { - "name": "Htmlcoin", - "symbol": "HTML", - "decimals": 8 - }, - "4460": { - "name": "Sepolia Ether", - "symbol": "ETH", - "decimals": 18 - }, - "4488": { - "name": "Hydra", - "symbol": "HYDRA", - "decimals": 18 - }, - "4544": { - "name": "Emoney Network", - "symbol": "EMYC", - "decimals": 18 - }, - "4613": { - "name": "VERY", - "symbol": "VERY", - "decimals": 18 - }, - "4653": { - "name": "Ether", - "symbol": "ETH", - "decimals": 18 - }, - "4689": { - "name": "IoTeX", - "symbol": "IOTX", - "decimals": 18 - }, - "4690": { - "name": "IoTeX", - "symbol": "IOTX", - "decimals": 18 - }, - "4759": { - "name": "MEVerse", - "symbol": "MEV", - "decimals": 18 - }, - "4777": { - "name": "BlackFort Testnet Token", - "symbol": "TBXN", - "decimals": 18 - }, - "4801": { - "name": "Sepolia Ether", - "symbol": "ETH", - "decimals": 18 - }, - "4893": { - "name": "Globel Chain", - "symbol": "GC", - "decimals": 18 - }, - "4918": { - "name": "Venidium", - "symbol": "XVM", - "decimals": 18 - }, - "4919": { - "name": "Venidium", - "symbol": "XVM", - "decimals": 18 - }, - "4999": { - "name": "BlackFort Token", - "symbol": "BXN", - "decimals": 18 - }, - "5000": { - "name": "Mantle", - "symbol": "MNT", - "decimals": 18 - }, - "5001": { - "name": "Testnet Mantle", - "symbol": "MNT", - "decimals": 18 - }, - "5002": { - "name": "UNIT", - "symbol": "UNIT", - "decimals": 18 - }, - "5003": { - "name": "Sepolia Mantle", - "symbol": "MNT", - "decimals": 18 - }, - "5005": { - "name": "UNIT", - "symbol": "UNIT", - "decimals": 18 - }, - "5039": { - "name": "ONIGIRI", - "symbol": "ONGR", - "decimals": 18 - }, - "5040": { - "name": "ONIGIRI", - "symbol": "ONGR", - "decimals": 18 - }, - "5051": { - "name": "Ether", - "symbol": "ETH", - "decimals": 18 - }, - "5100": { - "name": "S-Ether", - "symbol": "ETH", - "decimals": 18 - }, - "5101": { - "name": "Ether", - "symbol": "ETH", - "decimals": 18 - }, - "5102": { - "name": "ETH", - "symbol": "ETH", - "decimals": 18 - }, - "5103": { - "name": "ETH", - "symbol": "ETH", - "decimals": 18 - }, - "5104": { - "name": "ETH", - "symbol": "ETH", - "decimals": 18 - }, - "5105": { - "name": "ETH", - "symbol": "ETH", - "decimals": 18 - }, - "5106": { - "name": "ETH", - "symbol": "ETH", - "decimals": 18 - }, - "5112": { - "name": "Ether", - "symbol": "ETH", - "decimals": 18 - }, - "5151": { - "name": "ZKME", - "symbol": "ZKME", - "decimals": 18 - }, - "5165": { - "name": "FTN", - "symbol": "FTN", - "decimals": 18 - }, - "5169": { - "name": "Service Unit Token", - "symbol": "SU", - "decimals": 18 - }, - "5177": { - "name": "TLChain Network", - "symbol": "TLC", - "decimals": 18 - }, - "5197": { - "name": "EraSwap", - "symbol": "ES", - "decimals": 18 - }, - "5234": { - "name": "eHMND", - "symbol": "eHMND", - "decimals": 18 - }, - "5315": { - "name": "UZMI", - "symbol": "UZMI", - "decimals": 18 - }, - "5317": { - "name": "TestBSC", - "symbol": "tBNB", - "decimals": 18 - }, - "5321": { - "name": "ITX", - "symbol": "ITX", - "decimals": 18 - }, - "5333": { - "name": "Netsbo", - "symbol": "NETS", - "decimals": 18 - }, - "5353": { - "name": "Tritanium Native Token", - "symbol": "tTRN", - "decimals": 18 - }, - "5372": { - "name": "Setl", - "symbol": "SETL", - "decimals": 18 - }, - "5424": { - "name": "EDEXA", - "symbol": "EDX", - "decimals": 18 - }, - "5439": { - "name": "EGAX", - "symbol": "EGAX", - "decimals": 18 - }, - "5522": { - "name": "VEX EVM TESTNET", - "symbol": "VEX", - "decimals": 18 - }, - "5551": { - "name": "Ether", - "symbol": "ETH", - "decimals": 18 - }, - "5555": { - "name": "Oasys", - "symbol": "OAS", - "decimals": 18 - }, - "5611": { - "name": "BNB Chain Native Token", - "symbol": "tBNB", - "decimals": 18 - }, - "5615": { - "name": "tARC", - "symbol": "tARC", - "decimals": 18 - }, - "5616": { - "name": "Test Arct", - "symbol": "tARCT", - "decimals": 18 - }, - "5656": { - "name": "QIE Blockchain", - "symbol": "QIE", - "decimals": 18 - }, - "5675": { - "name": "Test Filecoin", - "symbol": "tFIL", - "decimals": 18 - }, - "5678": { - "name": "TANGO", - "symbol": "TANGO", - "decimals": 18 - }, - "5700": { - "name": "Testnet Syscoin", - "symbol": "tSYS", - "decimals": 18 - }, - "5729": { - "name": "Hik Token", - "symbol": "HIK", - "decimals": 18 - }, - "5758": { - "name": "SatoshiChain Coin", - "symbol": "SATS", - "decimals": 18 - }, - "5777": { - "name": "Ganache Test Ether", - "symbol": "ETH", - "decimals": 18 - }, - "5845": { - "name": "Tangle", - "symbol": "TNT", - "decimals": 18 - }, - "5851": { - "name": "ONG", - "symbol": "ONG", - "decimals": 18 - }, - "5858": { - "name": "Chang Coin Thailand", - "symbol": "CTH", - "decimals": 18 - }, - "5869": { - "name": "Rubid", - "symbol": "RBD", - "decimals": 18 - }, - "6000": { - "name": "BounceBit", - "symbol": "BB", - "decimals": 18 - }, - "6001": { - "name": "BounceBit", - "symbol": "BB", - "decimals": 18 - }, - "6065": { - "name": "TRES", - "symbol": "TRES", - "decimals": 18 - }, - "6066": { - "name": "TRES", - "symbol": "TRES", - "decimals": 18 - }, - "6102": { - "name": "CC", - "symbol": "tCC", - "decimals": 18 - }, - "6118": { - "name": "UPTN", - "symbol": "UPTN", - "decimals": 18 - }, - "6119": { - "name": "UPTN", - "symbol": "UPTN", - "decimals": 18 - }, - "6283": { - "name": "LAOS", - "symbol": "LAOS", - "decimals": 18 - }, - "6321": { - "name": "test-EAura", - "symbol": "eAura", - "decimals": 18 - }, - "6322": { - "name": "Aura", - "symbol": "AURA", - "decimals": 18 - }, - "6363": { - "name": "Digit Coin", - "symbol": "DGC", - "decimals": 18 - }, - "6398": { - "name": "ETH", - "symbol": "ETH", - "decimals": 18 - }, - "6502": { - "name": "Peerpay", - "symbol": "P2P", - "decimals": 18 - }, - "6550": { - "name": "Flamma", - "symbol": "FLA", - "decimals": 18 - }, - "6552": { - "name": "Scolcoin", - "symbol": "SCOL", - "decimals": 18 - }, - "6565": { - "name": "FOX Native Token", - "symbol": "tFOX", - "decimals": 18 - }, - "6626": { - "name": "Pixie Chain Native Token", - "symbol": "PIX", - "decimals": 18 - }, - "6660": { - "name": "Latest", - "symbol": "LATEST", - "decimals": 18 - }, - "6661": { - "name": "Cybria", - "symbol": "CYBA", - "decimals": 18 - }, - "6666": { - "name": "Cybria", - "symbol": "CYBA", - "decimals": 18 - }, - "6678": { - "name": "Edge Matrix Chain Token", - "symbol": "EMC", - "decimals": 18 - }, - "6688": { - "name": "Eris", - "symbol": "ERIS", - "decimals": 18 - }, - "6699": { - "name": "OX", - "symbol": "OX", - "decimals": 18 - }, - "6701": { - "name": "PAXB", - "symbol": "PAXB", - "decimals": 18 - }, - "6779": { - "name": "compverse", - "symbol": "CPV", - "decimals": 18 - }, - "6789": { - "name": "Standard in Gold", - "symbol": "STAND", - "decimals": 18 - }, - "6805": { - "name": "Ether", - "symbol": "ETH", - "decimals": 18 - }, - "6806": { - "name": "Sepolia Ether", - "symbol": "ETH", - "decimals": 18 - }, - "6868": { - "name": "POOLS Native Token", - "symbol": "POOLS", - "decimals": 18 - }, - "6969": { - "name": "Tomb", - "symbol": "TOMB", - "decimals": 18 - }, - "6999": { - "name": "PSC", - "symbol": "PSC", - "decimals": 18 - }, - "7000": { - "name": "Zeta", - "symbol": "ZETA", - "decimals": 18 - }, - "7001": { - "name": "Zeta", - "symbol": "ZETA", - "decimals": 18 - }, - "7007": { - "name": "BST Chain", - "symbol": "BSTC", - "decimals": 18 - }, - "7027": { - "name": "Ella", - "symbol": "ELLA", - "decimals": 18 - }, - "7070": { - "name": "Planq", - "symbol": "PLQ", - "decimals": 18 - }, - "7077": { - "name": "Planq", - "symbol": "tPLQ", - "decimals": 18 - }, - "7100": { - "name": "Dai Stablecoin", - "symbol": "DAI", - "decimals": 18 - }, - "7118": { - "name": "Help The Homeless Coin", - "symbol": "HTH", - "decimals": 18 - }, - "7171": { - "name": "BITROCK", - "symbol": "BROCK", - "decimals": 18 - }, - "7222": { - "name": "NIBI", - "symbol": "NIBI", - "decimals": 18 - }, - "7244": { - "name": "The ZEUS Token", - "symbol": "ZEUS", - "decimals": 18 - }, - "7300": { - "name": "OAS", - "symbol": "OAS", - "decimals": 18 - }, - "7331": { - "name": "KLYNTAR", - "symbol": "KLY", - "decimals": 18 - }, - "7332": { - "name": "Zencash", - "symbol": "ZEN", - "decimals": 18 - }, - "7341": { - "name": "Shyft", - "symbol": "SHYFT", - "decimals": 18 - }, - "7484": { - "name": "Raba", - "symbol": "RABA", - "decimals": 18 - }, - "7518": { - "name": "MEVerse", - "symbol": "MEV", - "decimals": 18 - }, - "7560": { - "name": "Ether", - "symbol": "ETH", - "decimals": 18 - }, - "7575": { - "name": "Testnet ADIL", - "symbol": "ADIL", - "decimals": 18 - }, - "7576": { - "name": "ADIL", - "symbol": "ADIL", - "decimals": 18 - }, - "7668": { - "name": "XRP", - "symbol": "XRP", - "decimals": 6 - }, - "7672": { - "name": "XRP", - "symbol": "XRP", - "decimals": 6 - }, - "7700": { - "name": "Canto", - "symbol": "CANTO", - "decimals": 18 - }, - "7701": { - "name": "Testnet Canto", - "symbol": "CANTO", - "decimals": 18 - }, - "7771": { - "name": "BITROCK", - "symbol": "BROCK", - "decimals": 18 - }, - "7774": { - "name": "GDCC", - "symbol": "GDCC", - "decimals": 18 - }, - "7775": { - "name": "GDCC", - "symbol": "GDCC", - "decimals": 18 - }, - "7776": { - "name": "PandaSea Coin", - "symbol": "PANDA", - "decimals": 18 - }, - "7777": { - "name": "Nano Machines", - "symbol": "NMAC", - "decimals": 18 - }, - "7778": { - "name": "ORENIUM", - "symbol": "ORE", - "decimals": 18 - }, - "7798": { - "name": "USDT Testnet", - "symbol": "USDT", - "decimals": 18 - }, - "7860": { - "name": "MAAL", - "symbol": "MAAL", - "decimals": 18 - }, - "7862": { - "name": "MAAL", - "symbol": "MAAL", - "decimals": 18 - }, - "7863": { - "name": "MAAL", - "symbol": "MAAL", - "decimals": 18 - }, - "7878": { - "name": "Hazlor Test Coin", - "symbol": "TSCAS", - "decimals": 18 - }, - "7887": { - "name": "Ethereum", - "symbol": "ETH", - "decimals": 18 - }, - "7895": { - "name": "ARD", - "symbol": "tARD", - "decimals": 18 - }, - "7923": { - "name": "Dot Blox", - "symbol": "DTBX", - "decimals": 18 - }, - "7924": { - "name": "MO", - "symbol": "MO", - "decimals": 18 - }, - "7979": { - "name": "DOS", - "symbol": "DOS", - "decimals": 18 - }, - "8000": { - "name": "Tele", - "symbol": "TELE", - "decimals": 18 - }, - "8001": { - "name": "Tele", - "symbol": "TELE", - "decimals": 18 - }, - "8008": { - "name": "Ether", - "symbol": "ETH", - "decimals": 18 - }, - "8029": { - "name": "MDGL Token", - "symbol": "MDGLT", - "decimals": 18 - }, - "8047": { - "name": "Best Of All Time Token", - "symbol": "BOAT", - "decimals": 18 - }, - "8054": { - "name": "Ether", - "symbol": "ETH", - "decimals": 18 - }, - "8080": { - "name": "Shardeum SHM", - "symbol": "SHM", - "decimals": 18 - }, - "8081": { - "name": "Shardeum SHM", - "symbol": "SHM", - "decimals": 18 - }, - "8082": { - "name": "Shardeum SHM", - "symbol": "SHM", - "decimals": 18 - }, - "8086": { - "name": "Bitcoin", - "symbol": "BTC", - "decimals": 18 - }, - "8087": { - "name": "E-Dollar", - "symbol": "USD", - "decimals": 18 - }, - "8098": { - "name": "StreamuX", - "symbol": "SmuX", - "decimals": 18 - }, - "8131": { - "name": "Qitmeer Testnet", - "symbol": "MEER-T", - "decimals": 18 - }, - "8132": { - "name": "Qitmeer Mixnet", - "symbol": "MEER-M", - "decimals": 18 - }, - "8133": { - "name": "Qitmeer Privnet", - "symbol": "MEER-P", - "decimals": 18 - }, - "8134": { - "name": "Amana Mainnet", - "symbol": "MEER", - "decimals": 18 - }, - "8135": { - "name": "Flana Mainnet", - "symbol": "MEER", - "decimals": 18 - }, - "8136": { - "name": "Mizana Mainnet", - "symbol": "MEER", - "decimals": 18 - }, - "8181": { - "name": "Testnet BeOne Chain", - "symbol": "tBOC", - "decimals": 18 - }, - "8192": { - "name": "TQF", - "symbol": "TQF", - "decimals": 18 - }, - "8194": { - "name": "tTQF", - "symbol": "TTQF", - "decimals": 18 - }, - "8217": { - "name": "KAIA", - "symbol": "KLAY", - "decimals": 18 - }, - "8227": { - "name": "FUEL", - "symbol": "FUEL", - "decimals": 18 - }, - "8272": { - "name": "BLOCKTON", - "symbol": "BTON", - "decimals": 18 - }, - "8285": { - "name": "Kortho Test", - "symbol": "KTO", - "decimals": 11 - }, - "8329": { - "name": "Lorenzo stBTC", - "symbol": "stBTC", - "decimals": 18 - }, - "8333": { - "name": "ETH", - "symbol": "ETH", - "decimals": 18 - }, - "8387": { - "name": "Functionally Universal Coin Kind", - "symbol": "FUCK", - "decimals": 18 - }, - "8453": { - "name": "Ether", - "symbol": "ETH", - "decimals": 18 - }, - "8545": { - "name": "Chakra", - "symbol": "CKR", - "decimals": 18 - }, - "8654": { - "name": "Toki", - "symbol": "TOKI", - "decimals": 18 - }, - "8655": { - "name": "Toki", - "symbol": "TOKI", - "decimals": 18 - }, - "8668": { - "name": "Hela HLUSD", - "symbol": "HLUSD", - "decimals": 18 - }, - "8723": { - "name": "TOOL Global", - "symbol": "OLO", - "decimals": 18 - }, - "8724": { - "name": "TOOL Global", - "symbol": "OLO", - "decimals": 18 - }, - "8726": { - "name": "Storagechain", - "symbol": "STOR", - "decimals": 18 - }, - "8727": { - "name": "Storagechain", - "symbol": "STOR", - "decimals": 18 - }, - "8732": { - "name": "Bullions", - "symbol": "BLN", - "decimals": 18 - }, - "8738": { - "name": "Alph Network", - "symbol": "ALPH", - "decimals": 18 - }, - "8768": { - "name": "TMY", - "symbol": "TMY", - "decimals": 18 - }, - "8822": { - "name": "IOTA", - "symbol": "IOTA", - "decimals": 18 - }, - "8844": { - "name": "tHydra", - "symbol": "tHYDRA", - "decimals": 18 - }, - "8848": { - "name": "MARO", - "symbol": "MARO", - "decimals": 18 - }, - "8866": { - "name": "Ether", - "symbol": "ETH", - "decimals": 18 - }, - "8869": { - "name": "LIF3", - "symbol": "LIF3", - "decimals": 18 - }, - "8880": { - "name": "Unique", - "symbol": "UNQ", - "decimals": 18 - }, - "8881": { - "name": "Quartz", - "symbol": "QTZ", - "decimals": 18 - }, - "8882": { - "name": "Opal", - "symbol": "UNQ", - "decimals": 18 - }, - "8883": { - "name": "Quartz", - "symbol": "QTZ", - "decimals": 18 - }, - "8886": { - "name": "Ave Native Token", - "symbol": "tAVE", - "decimals": 18 - }, - "8888": { - "name": "XETA", - "symbol": "XETA", - "decimals": 18 - }, - "8889": { - "name": "VSC", - "symbol": "VSC", - "decimals": 18 - }, - "8890": { - "name": "ORENIUM", - "symbol": "tORE", - "decimals": 18 - }, - "8898": { - "name": "Mammoth Token", - "symbol": "MMT", - "decimals": 18 - }, - "8899": { - "name": "JIBCOIN", - "symbol": "JBC", - "decimals": 18 - }, - "8911": { - "name": "ALG", - "symbol": "ALG", - "decimals": 18 - }, - "8912": { - "name": "ALG", - "symbol": "ALG", - "decimals": 18 - }, - "8921": { - "name": "ALG", - "symbol": "ALG", - "decimals": 18 - }, - "8922": { - "name": "ALG", - "symbol": "ALG", - "decimals": 18 - }, - "8989": { - "name": "Giant Mammoth Coin", - "symbol": "GMMT", - "decimals": 18 - }, - "8995": { - "name": "BERG", - "symbol": "U+25B3", - "decimals": 18 - }, - "9000": { - "name": "test-Evmos", - "symbol": "tEVMOS", - "decimals": 18 - }, - "9001": { - "name": "Evmos", - "symbol": "EVMOS", - "decimals": 18 - }, - "9007": { - "name": "Shido Testnet Token", - "symbol": "SHIDO", - "decimals": 18 - }, - "9008": { - "name": "Shido Mainnet Token", - "symbol": "SHIDO", - "decimals": 18 - }, - "9012": { - "name": "BerylBit Chain Native Token", - "symbol": "BRB", - "decimals": 18 - }, - "9024": { - "name": "Nexa Testnet Token", - "symbol": "NEXB", - "decimals": 18 - }, - "9025": { - "name": "Nexa Mainnet Token", - "symbol": "NEXB", - "decimals": 18 - }, - "9069": { - "name": "Apex Fusion Token", - "symbol": "AP3X", - "decimals": 18 - }, - "9070": { - "name": "Apex Fusion Token", - "symbol": "tAP3X", - "decimals": 18 - }, - "9100": { - "name": "GN Coin", - "symbol": "GNC", - "decimals": 18 - }, - "9223": { - "name": "Codefin", - "symbol": "COF", - "decimals": 18 - }, - "9339": { - "name": "Dogcoin", - "symbol": "DOGS", - "decimals": 18 - }, - "9372": { - "name": "OAS", - "symbol": "OAS", - "decimals": 18 - }, - "9393": { - "name": "Sepolia Ether", - "symbol": "ETH", - "decimals": 18 - }, - "9395": { - "name": "MTHN", - "symbol": "MTHN", - "decimals": 18 - }, - "9496": { - "name": "Testnet WeaveVM Token", - "symbol": "tWVM", - "decimals": 18 - }, - "9527": { - "name": "Rangers Protocol Gas", - "symbol": "tRPG", - "decimals": 18 - }, - "9528": { - "name": "QET", - "symbol": "QET", - "decimals": 18 - }, - "9559": { - "name": "Neonlink Native Token", - "symbol": "tNEON", - "decimals": 18 - }, - "9700": { - "name": "Oort", - "symbol": "OORT", - "decimals": 18 - }, - "9728": { - "name": "Boba Token", - "symbol": "BOBA", - "decimals": 18 - }, - "9768": { - "name": "MainnetZ", - "symbol": "NetZ", - "decimals": 18 - }, - "9779": { - "name": "Pepe", - "symbol": "WPEPE", - "decimals": 18 - }, - "9789": { - "name": "Tabi", - "symbol": "TABI", - "decimals": 18 - }, - "9790": { - "name": "swth", - "symbol": "SWTH", - "decimals": 18 - }, - "9792": { - "name": "swth", - "symbol": "SWTH", - "decimals": 18 - }, - "9797": { - "name": "OptimusZ7", - "symbol": "OZ7", - "decimals": 18 - }, - "9818": { - "name": "tIMP", - "symbol": "tIMP", - "decimals": 18 - }, - "9819": { - "name": "IMP", - "symbol": "IMP", - "decimals": 18 - }, - "9876": { - "name": "BINARY", - "symbol": "BNRY", - "decimals": 18 - }, - "9888": { - "name": "Dogecoin", - "symbol": "DOGE", - "decimals": 18 - }, - "9898": { - "name": "Larissa", - "symbol": "LRS", - "decimals": 18 - }, - "9911": { - "name": "ESPENTO", - "symbol": "SPENT", - "decimals": 18 - }, - "9977": { - "name": "MIND Coin", - "symbol": "tMIND", - "decimals": 18 - }, - "9980": { - "name": "BNB Chain Native Token", - "symbol": "BNB", - "decimals": 18 - }, - "9981": { - "name": "V2X", - "symbol": "V2X", - "decimals": 18 - }, - "9990": { - "name": "Agung", - "symbol": "AGNG", - "decimals": 18 - }, - "9996": { - "name": "MIND Coin", - "symbol": "MIND", - "decimals": 18 - }, - "9997": { - "name": "Ether", - "symbol": "ETH", - "decimals": 18 - }, - "9998": { - "name": "Ztcer", - "symbol": "ZTC", - "decimals": 5 - }, - "9999": { - "name": "MYN", - "symbol": "MYN", - "decimals": 18 - }, - "10000": { - "name": "Bitcoin Cash", - "symbol": "BCH", - "decimals": 18 - }, - "10001": { - "name": "Bitcoin Cash Test Token", - "symbol": "BCHT", - "decimals": 18 - }, - "10024": { - "name": "Gon Token", - "symbol": "GT", - "decimals": 18 - }, - "10081": { - "name": "Japan Open Chain Testnet Token", - "symbol": "JOCT", - "decimals": 18 - }, - "10086": { - "name": "Ether", - "symbol": "ETH", - "decimals": 18 - }, - "10096": { - "name": "MNV", - "symbol": "MNV", - "decimals": 18 - }, - "10101": { - "name": "GEN", - "symbol": "GEN", - "decimals": 18 - }, - "10200": { - "name": "Chiado xDAI", - "symbol": "XDAI", - "decimals": 18 - }, - "10201": { - "name": "Power", - "symbol": "PWR", - "decimals": 18 - }, - "10222": { - "name": "GLC", - "symbol": "GLC", - "decimals": 18 - }, - "10242": { - "name": "Arthera", - "symbol": "AA", - "decimals": 18 - }, - "10243": { - "name": "Arthera", - "symbol": "AA", - "decimals": 18 - }, - "10248": { - "name": "0XT", - "symbol": "0XT", - "decimals": 18 - }, - "10321": { - "name": "TAO", - "symbol": "TAO", - "decimals": 18 - }, - "10324": { - "name": "TAO", - "symbol": "TAO", - "decimals": 18 - }, - "10395": { - "name": "Worldland", - "symbol": "WLC", - "decimals": 18 - }, - "10507": { - "name": "NUM Token", - "symbol": "NUM", - "decimals": 18 - }, - "10508": { - "name": "NUM Token", - "symbol": "NUM", - "decimals": 18 - }, - "10823": { - "name": "CryptoCoinPay", - "symbol": "CCP", - "decimals": 18 - }, - "10849": { - "name": "L1", - "symbol": "L1", - "decimals": 18 - }, - "10850": { - "name": "L1 ID", - "symbol": "L1ID", - "decimals": 18 - }, - "10946": { - "name": "Quadrans Coin", - "symbol": "QDC", - "decimals": 18 - }, - "10947": { - "name": "Quadrans Testnet Coin", - "symbol": "tQDC", - "decimals": 18 - }, - "11011": { - "name": "Sepolia Ether", - "symbol": "ETH", - "decimals": 18 - }, - "11110": { - "name": "Astra", - "symbol": "ASA", - "decimals": 18 - }, - "11111": { - "name": "WAGMI", - "symbol": "WGM", - "decimals": 18 - }, - "11115": { - "name": "test-Astra", - "symbol": "tASA", - "decimals": 18 - }, - "11119": { - "name": "HashBit Native Token", - "symbol": "HBIT", - "decimals": 18 - }, - "11124": { - "name": "ETH", - "symbol": "ETH", - "decimals": 18 - }, - "11221": { - "name": "Shine", - "symbol": "SC20", - "decimals": 18 - }, - "11227": { - "name": "JIRI", - "symbol": "TZW", - "decimals": 18 - }, - "11235": { - "name": "Islamic Coin", - "symbol": "ISLM", - "decimals": 18 - }, - "11437": { - "name": "Shyft Test Token", - "symbol": "SHYFTT", - "decimals": 18 - }, - "11501": { - "name": "BTC", - "symbol": "BTC", - "decimals": 18 - }, - "11503": { - "name": "BTC", - "symbol": "BTC", - "decimals": 18 - }, - "11521": { - "name": "SATS", - "symbol": "SATS", - "decimals": 18 - }, - "11612": { - "name": "Sardis", - "symbol": "SRDX", - "decimals": 18 - }, - "11822": { - "name": "ART", - "symbol": "ART", - "decimals": 18 - }, - "11891": { - "name": "Arianee", - "symbol": "ARIA20", - "decimals": 18 - }, - "12001": { - "name": "Ether", - "symbol": "ETH", - "decimals": 18 - }, - "12009": { - "name": "SatoshiChain Coin", - "symbol": "SATS", - "decimals": 18 - }, - "12020": { - "name": "Aternos", - "symbol": "ATR", - "decimals": 18 - }, - "12051": { - "name": "ZERO", - "symbol": "tZERO", - "decimals": 18 - }, - "12052": { - "name": "ZERO", - "symbol": "ZERO", - "decimals": 18 - }, - "12123": { - "name": "BRC Chain mainnet native token", - "symbol": "BRC", - "decimals": 18 - }, - "12306": { - "name": "FIBONACCI UTILITY TOKEN", - "symbol": "FIBO", - "decimals": 18 - }, - "12321": { - "name": "Blg", - "symbol": "BLG", - "decimals": 18 - }, - "12324": { - "name": "Ether", - "symbol": "ETH", - "decimals": 18 - }, - "12325": { - "name": "Ether", - "symbol": "ETH", - "decimals": 18 - }, - "12345": { - "name": "FITFI", - "symbol": "FITFI", - "decimals": 18 - }, - "12553": { - "name": "RSS3", - "symbol": "RSS3", - "decimals": 18 - }, - "12715": { - "name": "Rikeza", - "symbol": "RIK", - "decimals": 18 - }, - "12781": { - "name": "Playdapp", - "symbol": "PDA", - "decimals": 18 - }, - "12890": { - "name": "Quantum Chain", - "symbol": "tQNET", - "decimals": 18 - }, - "12898": { - "name": "BTLT Token", - "symbol": "BTLT", - "decimals": 18 - }, - "13000": { - "name": "ECG", - "symbol": "ECG", - "decimals": 18 - }, - "13308": { - "name": "Credit", - "symbol": "CREDIT", - "decimals": 18 - }, - "13337": { - "name": "Beam", - "symbol": "BEAM", - "decimals": 18 - }, - "13371": { - "name": "IMX", - "symbol": "IMX", - "decimals": 18 - }, - "13381": { - "name": "Phoenix", - "symbol": "PHX", - "decimals": 18 - }, - "13396": { - "name": "Masa Token", - "symbol": "MASA", - "decimals": 18 - }, - "13473": { - "name": "Test IMX", - "symbol": "tIMX", - "decimals": 18 - }, - "13505": { - "name": "Sepolia Gravity", - "symbol": "G", - "decimals": 18 - }, - "13600": { - "name": "Kronobit", - "symbol": "KNB", - "decimals": 18 - }, - "13812": { - "name": "Susono", - "symbol": "OPN", - "decimals": 18 - }, - "14000": { - "name": "ECG", - "symbol": "ECG", - "decimals": 18 - }, - "14324": { - "name": "Evolve", - "symbol": "EVO", - "decimals": 18 - }, - "14333": { - "name": "Vitruveo Test Coin", - "symbol": "tVTRU", - "decimals": 18 - }, - "14801": { - "name": "DAT", - "symbol": "DAT", - "decimals": 18 - }, - "14853": { - "name": "eHMND", - "symbol": "eHMND", - "decimals": 18 - }, - "15003": { - "name": "Dev IMX", - "symbol": "dIMX", - "decimals": 18 - }, - "15257": { - "name": "Poodl", - "symbol": "POODL", - "decimals": 18 - }, - "15259": { - "name": "Poodl", - "symbol": "POODL", - "decimals": 18 - }, - "15430": { - "name": "KYMTC", - "symbol": "KYMTC", - "decimals": 18 - }, - "15551": { - "name": "LOOP", - "symbol": "LOOP", - "decimals": 18 - }, - "15555": { - "name": "Trust EVM", - "symbol": "EVM", - "decimals": 18 - }, - "15557": { - "name": "EOS", - "symbol": "EOS", - "decimals": 18 - }, - "16000": { - "name": "MetaDot Token", - "symbol": "MTT", - "decimals": 18 - }, - "16001": { - "name": "MetaDot Token TestNet", - "symbol": "MTTest", - "decimals": 18 - }, - "16116": { - "name": "Oasys", - "symbol": "OAS", - "decimals": 18 - }, - "16166": { - "name": "Cypherium", - "symbol": "CPH", - "decimals": 18 - }, - "16180": { - "name": "PLYR", - "symbol": "PLYR", - "decimals": 18 - }, - "16350": { - "name": "Testnet INC", - "symbol": "INC", - "decimals": 18 - }, - "16481": { - "name": "Pivotal Plus", - "symbol": "PLUS", - "decimals": 18 - }, - "16507": { - "name": "Genesys", - "symbol": "GSYS", - "decimals": 18 - }, - "16600": { - "name": "A0GI", - "symbol": "A0GI", - "decimals": 18 - }, - "16688": { - "name": "Eris", - "symbol": "ERIS", - "decimals": 18 - }, - "16718": { - "name": "Amber", - "symbol": "AMB", - "decimals": 18 - }, - "16888": { - "name": "tIvar", - "symbol": "tIVAR", - "decimals": 18 - }, - "17000": { - "name": "Testnet ETH", - "symbol": "ETH", - "decimals": 18 - }, - "17069": { - "name": "Ether", - "symbol": "ETH", - "decimals": 18 - }, - "17071": { - "name": "OnchainPoints.xyz", - "symbol": "POP", - "decimals": 18 - }, - "17117": { - "name": "Oasys", - "symbol": "OAS", - "decimals": 18 - }, - "17171": { - "name": "G8Chain", - "symbol": "G8C", - "decimals": 18 - }, - "17172": { - "name": "Eclipse", - "symbol": "ECLP", - "decimals": 16 - }, - "17180": { - "name": "Palette Token", - "symbol": "PLT", - "decimals": 18 - }, - "17217": { - "name": "KONET", - "symbol": "KONET", - "decimals": 18 - }, - "17777": { - "name": "EOS", - "symbol": "EOS", - "decimals": 18 - }, - "18000": { - "name": "ZKST", - "symbol": "ZKST", - "decimals": 18 - }, - "18122": { - "name": "STN", - "symbol": "STN", - "decimals": 18 - }, - "18159": { - "name": "Proof Of Memes", - "symbol": "POM", - "decimals": 18 - }, - "18181": { - "name": "G8Coin", - "symbol": "G8C", - "decimals": 18 - }, - "18233": { - "name": "unreal Ether", - "symbol": "reETH", - "decimals": 18 - }, - "18686": { - "name": "MXC zkEVM Moonchain", - "symbol": "MXC", - "decimals": 18 - }, - "18888": { - "name": "Titan tkx", - "symbol": "TKX", - "decimals": 18 - }, - "18889": { - "name": "Titan tkx", - "symbol": "TKX", - "decimals": 18 - }, - "19011": { - "name": "OAS", - "symbol": "OAS", - "decimals": 18 - }, - "19077": { - "name": "BCX", - "symbol": "BCX", - "decimals": 18 - }, - "19191": { - "name": "BCX", - "symbol": "BCX", - "decimals": 18 - }, - "19224": { - "name": "Decentraconnect Social", - "symbol": "DCSM", - "decimals": 18 - }, - "19527": { - "name": "Magnet Network", - "symbol": "DOT", - "decimals": 18 - }, - "19600": { - "name": "LBRY Credits", - "symbol": "LBC", - "decimals": 8 - }, - "19845": { - "name": "BTCIX Network", - "symbol": "BTCIX", - "decimals": 18 - }, - "20001": { - "name": "EthereumPoW", - "symbol": "ETHW", - "decimals": 18 - }, - "20041": { - "name": "Niza Global", - "symbol": "NIZA", - "decimals": 18 - }, - "20073": { - "name": "Niza Global", - "symbol": "NIZA", - "decimals": 18 - }, - "20729": { - "name": "Callisto", - "symbol": "CLO", - "decimals": 18 - }, - "20736": { - "name": "Hooked P2", - "symbol": "hP2", - "decimals": 18 - }, - "20765": { - "name": "Jono11 Token", - "symbol": "JONO", - "decimals": 18 - }, - "21004": { - "name": "C4EI", - "symbol": "C4EI", - "decimals": 18 - }, - "21133": { - "name": "AAH", - "symbol": "AAH", - "decimals": 18 - }, - "21223": { - "name": "DCP", - "symbol": "DCP", - "decimals": 18 - }, - "21224": { - "name": "DCP", - "symbol": "DCP", - "decimals": 18 - }, - "21337": { - "name": "CPAY", - "symbol": "CPAY", - "decimals": 18 - }, - "21363": { - "name": "Lestnet Ether", - "symbol": "LETH", - "decimals": 18 - }, - "21816": { - "name": "omChain", - "symbol": "OMC", - "decimals": 18 - }, - "21912": { - "name": "Origin NFT", - "symbol": "ONF", - "decimals": 18 - }, - "22023": { - "name": "shuffle", - "symbol": "SFL", - "decimals": 18 - }, - "22040": { - "name": "Amber", - "symbol": "AMB", - "decimals": 18 - }, - "22222": { - "name": "Zebec", - "symbol": "ZBC", - "decimals": 18 - }, - "22324": { - "name": "GoldX", - "symbol": "GOLDX", - "decimals": 18 - }, - "22776": { - "name": "MAPO", - "symbol": "MAPO", - "decimals": 18 - }, - "23006": { - "name": "Antofy", - "symbol": "ABN", - "decimals": 18 - }, - "23118": { - "name": "IDE", - "symbol": "IDE", - "decimals": 18 - }, - "23294": { - "name": "Sapphire Rose", - "symbol": "ROSE", - "decimals": 18 - }, - "23295": { - "name": "Sapphire Test Rose", - "symbol": "TEST", - "decimals": 18 - }, - "23451": { - "name": "DreyerX", - "symbol": "DRX", - "decimals": 18 - }, - "23452": { - "name": "DreyerX", - "symbol": "DRX", - "decimals": 18 - }, - "23888": { - "name": "Ether", - "symbol": "ETH", - "decimals": 18 - }, - "24076": { - "name": "KYMTC", - "symbol": "KYMTC", - "decimals": 18 - }, - "24484": { - "name": "Webchain Ether", - "symbol": "WEB", - "decimals": 18 - }, - "24734": { - "name": "MintMe.com Coin", - "symbol": "MINTME", - "decimals": 18 - }, - "25186": { - "name": "LiquidLayer", - "symbol": "LILA", - "decimals": 18 - }, - "25839": { - "name": "AlveyCoin Testnet", - "symbol": "tALV", - "decimals": 18 - }, - "25888": { - "name": "GOLDT", - "symbol": "GOLDT", - "decimals": 18 - }, - "25925": { - "name": "Bitkub Coin", - "symbol": "tKUB", - "decimals": 18 - }, - "26026": { - "name": "Ferrum", - "symbol": "tFRM", - "decimals": 18 - }, - "26482": { - "name": "DUCX", - "symbol": "DUCX", - "decimals": 18 - }, - "26483": { - "name": "DUCX", - "symbol": "DUCX", - "decimals": 18 - }, - "26600": { - "name": "Hertz", - "symbol": "HTZ", - "decimals": 18 - }, - "26863": { - "name": "OAC", - "symbol": "OAC", - "decimals": 18 - }, - "27181": { - "name": "KLAOS", - "symbol": "KLAOS", - "decimals": 18 - }, - "27483": { - "name": "Sepolia Ether", - "symbol": "ETH", - "decimals": 18 - }, - "27827": { - "name": "ZERO", - "symbol": "ZERO", - "decimals": 18 - }, - "28516": { - "name": "Ether", - "symbol": "ETH", - "decimals": 18 - }, - "28518": { - "name": "Ether", - "symbol": "ETH", - "decimals": 18 - }, - "28528": { - "name": "Goerli Ether", - "symbol": "ETH", - "decimals": 18 - }, - "28882": { - "name": "Ether", - "symbol": "ETH", - "decimals": 18 - }, - "29112": { - "name": "TOPIA", - "symbol": "TOPIA", - "decimals": 18 - }, - "29223": { - "name": "Nexa", - "symbol": "NEXA", - "decimals": 18 - }, - "29536": { - "name": "KaiChain Testnet Native Token", - "symbol": "KEC", - "decimals": 18 - }, - "29548": { - "name": "OAS", - "symbol": "OAS", - "decimals": 18 - }, - "30067": { - "name": "ECE", - "symbol": "ECE", - "decimals": 18 - }, - "30088": { - "name": "Miyou", - "symbol": "MY", - "decimals": 18 - }, - "30103": { - "name": "Canxium", - "symbol": "CAU", - "decimals": 18 - }, - "30730": { - "name": "Move", - "symbol": "MOVE", - "decimals": 18 - }, - "30731": { - "name": "Move", - "symbol": "MOVE", - "decimals": 18 - }, - "30732": { - "name": "Move", - "symbol": "MOVE", - "decimals": 18 - }, - "31102": { - "name": "Ethersocial Network Ether", - "symbol": "ESN", - "decimals": 18 - }, - "31223": { - "name": "CloudTx", - "symbol": "CLD", - "decimals": 18 - }, - "31224": { - "name": "CloudTx", - "symbol": "CLD", - "decimals": 18 - }, - "31337": { - "name": "GoChain Coin", - "symbol": "GO", - "decimals": 18 - }, - "31414": { - "name": "MTHN Testnet", - "symbol": "MTHN", - "decimals": 18 - }, - "31753": { - "name": "Intdestcoin", - "symbol": "INTD", - "decimals": 18 - }, - "31754": { - "name": "Intdestcoin Testnet", - "symbol": "INTD", - "decimals": 18 - }, - "32001": { - "name": "W3Gamez Testnet Ether", - "symbol": "ETH", - "decimals": 18 - }, - "32382": { - "name": "SANR", - "symbol": "SANR", - "decimals": 18 - }, - "32520": { - "name": "Bitrise Token", - "symbol": "Brise", - "decimals": 18 - }, - "32659": { - "name": "Fusion", - "symbol": "FSN", - "decimals": 18 - }, - "32769": { - "name": "Zilliqa", - "symbol": "ZIL", - "decimals": 18 - }, - "32990": { - "name": "Zilliqa", - "symbol": "ZIL", - "decimals": 18 - }, - "33033": { - "name": "Entangle", - "symbol": "NGL", - "decimals": 18 - }, - "33101": { - "name": "Zilliqa", - "symbol": "ZIL", - "decimals": 18 - }, - "33103": { - "name": "Zilliqa", - "symbol": "ZIL", - "decimals": 18 - }, - "33111": { - "name": "ApeCoin", - "symbol": "APE", - "decimals": 18 - }, - "33133": { - "name": "Entangle", - "symbol": "NGL", - "decimals": 18 - }, - "33210": { - "name": "XCLOUD", - "symbol": "XCLOUD", - "decimals": 18 - }, - "33333": { - "name": "Aves", - "symbol": "AVS", - "decimals": 18 - }, - "33385": { - "name": "Zilliqa", - "symbol": "ZIL", - "decimals": 18 - }, - "33401": { - "name": "Sling", - "symbol": "SLING", - "decimals": 18 - }, - "33469": { - "name": "Zilliqa", - "symbol": "ZIL", - "decimals": 18 - }, - "33979": { - "name": "Ether", - "symbol": "ETH", - "decimals": 18 - }, - "34443": { - "name": "Ether", - "symbol": "ETH", - "decimals": 18 - }, - "34504": { - "name": "The ZEUS Token", - "symbol": "ZEUS", - "decimals": 18 - }, - "35011": { - "name": "TARO Coin", - "symbol": "taro", - "decimals": 18 - }, - "35441": { - "name": "QGOV", - "symbol": "QGOV", - "decimals": 18 - }, - "35443": { - "name": "Q token", - "symbol": "Q", - "decimals": 18 - }, - "38400": { - "name": "Rangers Protocol Gas", - "symbol": "cmRPG", - "decimals": 18 - }, - "38401": { - "name": "Rangers Protocol Gas", - "symbol": "ttRPG", - "decimals": 18 - }, - "39656": { - "name": "Primal Network", - "symbol": "PRM", - "decimals": 18 - }, - "39797": { - "name": "Energi", - "symbol": "NRG", - "decimals": 18 - }, - "39815": { - "name": "OHO", - "symbol": "OHO", - "decimals": 18 - }, - "41455": { - "name": "Aleph Zero", - "symbol": "AZERO", - "decimals": 18 - }, - "41500": { - "name": "Oxyn Gas", - "symbol": "OXYN", - "decimals": 18 - }, - "42069": { - "name": "pegglecoin", - "symbol": "peggle", - "decimals": 18 - }, - "42072": { - "name": "Agent", - "symbol": "AGENT", - "decimals": 18 - }, - "42161": { - "name": "Ether", - "symbol": "ETH", - "decimals": 18 - }, - "42170": { - "name": "Ether", - "symbol": "ETH", - "decimals": 18 - }, - "42220": { - "name": "CELO", - "symbol": "CELO", - "decimals": 18 - }, - "42261": { - "name": "Emerald Rose", - "symbol": "ROSE", - "decimals": 18 - }, - "42262": { - "name": "Emerald Rose", - "symbol": "ROSE", - "decimals": 18 - }, - "42355": { - "name": "GoldX", - "symbol": "GOLDX", - "decimals": 18 - }, - "42421": { - "name": "Real World Asset", - "symbol": "RWA", - "decimals": 18 - }, - "42766": { - "name": "USDC Token", - "symbol": "USDC", - "decimals": 18 - }, - "42793": { - "name": "tez", - "symbol": "XTZ", - "decimals": 18 - }, - "42801": { - "name": "OAS", - "symbol": "OAS", - "decimals": 18 - }, - "42888": { - "name": "Ether", - "symbol": "ETH", - "decimals": 18 - }, - "43110": { - "name": "Athereum Ether", - "symbol": "ATH", - "decimals": 18 - }, - "43111": { - "name": "Ether", - "symbol": "ETH", - "decimals": 18 - }, - "43113": { - "name": "Avalanche", - "symbol": "AVAX", - "decimals": 18 - }, - "43114": { - "name": "Avalanche", - "symbol": "AVAX", - "decimals": 18 - }, - "43851": { - "name": "USDC Token", - "symbol": "USDC", - "decimals": 18 - }, - "44444": { - "name": "FREN", - "symbol": "FREN", - "decimals": 18 - }, - "44445": { - "name": "Quantum", - "symbol": "QTM", - "decimals": 18 - }, - "44787": { - "name": "CELO", - "symbol": "CELO", - "decimals": 18 - }, - "45000": { - "name": "TXL", - "symbol": "TXL", - "decimals": 18 - }, - "45454": { - "name": "SWP", - "symbol": "SWP", - "decimals": 18 - }, - "45510": { - "name": "Deelance", - "symbol": "DEE", - "decimals": 18 - }, - "45513": { - "name": "Bless", - "symbol": "BLESS", - "decimals": 18 - }, - "46688": { - "name": "Testnet Fusion", - "symbol": "T-FSN", - "decimals": 18 - }, - "47763": { - "name": "Gas", - "symbol": "GAS", - "decimals": 18 - }, - "47803": { - "name": "BAX", - "symbol": "BAX", - "decimals": 18 - }, - "47805": { - "name": "REI", - "symbol": "REI", - "decimals": 18 - }, - "48795": { - "name": "FUEL", - "symbol": "FUEL", - "decimals": 18 - }, - "48899": { - "name": "ETH", - "symbol": "ETH", - "decimals": 18 - }, - "48900": { - "name": "ETH", - "symbol": "ETH", - "decimals": 18 - }, - "49049": { - "name": "WIRE", - "symbol": "WIRE", - "decimals": 18 - }, - "49088": { - "name": "Bifrost", - "symbol": "BFC", - "decimals": 18 - }, - "49321": { - "name": "GUN", - "symbol": "GUN", - "decimals": 18 - }, - "49797": { - "name": "Energi", - "symbol": "NRG", - "decimals": 18 - }, - "50001": { - "name": "Ether", - "symbol": "ETH", - "decimals": 18 - }, - "50005": { - "name": "OAS", - "symbol": "OAS", - "decimals": 18 - }, - "50006": { - "name": "OAS", - "symbol": "OAS", - "decimals": 18 - }, - "50021": { - "name": "GCD", - "symbol": "GCD", - "decimals": 18 - }, - "51178": { - "name": "Lumoz Test Token", - "symbol": "MOZ", - "decimals": 18 - }, - "51712": { - "name": "Sardis", - "symbol": "SRDX", - "decimals": 18 - }, - "52014": { - "name": "Electroneum", - "symbol": "ETN", - "decimals": 18 - }, - "53277": { - "name": "DOID", - "symbol": "DOID", - "decimals": 18 - }, - "53302": { - "name": "Sepolia Ether", - "symbol": "ETH", - "decimals": 18 - }, - "53457": { - "name": "DODO", - "symbol": "DODO", - "decimals": 18 - }, - "53935": { - "name": "Jewel", - "symbol": "JEWEL", - "decimals": 18 - }, - "54211": { - "name": "Islamic Coin", - "symbol": "ISLMT", - "decimals": 18 - }, - "54321": { - "name": "Toroe", - "symbol": "TOROE", - "decimals": 18 - }, - "55004": { - "name": "Ether", - "symbol": "ETH", - "decimals": 18 - }, - "55551": { - "name": "Photon", - "symbol": "PTON", - "decimals": 18 - }, - "55555": { - "name": "Rei", - "symbol": "REI", - "decimals": 18 - }, - "55556": { - "name": "tRei", - "symbol": "tREI", - "decimals": 18 - }, - "55614": { - "name": "Flamma", - "symbol": "FLA", - "decimals": 18 - }, - "56026": { - "name": "ETH", - "symbol": "ETH", - "decimals": 18 - }, - "56288": { - "name": "Boba Token", - "symbol": "BOBA", - "decimals": 18 - }, - "56400": { - "name": "ZERO", - "symbol": "ZERO", - "decimals": 18 - }, - "56789": { - "name": "Nova", - "symbol": "NOVA", - "decimals": 18 - }, - "56797": { - "name": "DOID", - "symbol": "DOID", - "decimals": 18 - }, - "57000": { - "name": "Testnet Syscoin", - "symbol": "TSYS", - "decimals": 18 - }, - "57451": { - "name": "COINSEC", - "symbol": "SEC", - "decimals": 18 - }, - "58008": { - "name": "Sepolia Ether", - "symbol": "ETH", - "decimals": 18 - }, - "59140": { - "name": "Linea Ether", - "symbol": "ETH", - "decimals": 18 - }, - "59141": { - "name": "Linea Ether", - "symbol": "ETH", - "decimals": 18 - }, - "59144": { - "name": "Linea Ether", - "symbol": "ETH", - "decimals": 18 - }, - "59902": { - "name": "tMetis", - "symbol": "tMETIS", - "decimals": 18 - }, - "59971": { - "name": "GenesysCode", - "symbol": "GCODE", - "decimals": 18 - }, - "60000": { - "name": "TKM", - "symbol": "TKM", - "decimals": 18 - }, - "60001": { - "name": "TKM", - "symbol": "TKM", - "decimals": 18 - }, - "60002": { - "name": "TKM", - "symbol": "TKM", - "decimals": 18 - }, - "60103": { - "name": "TKM", - "symbol": "TKM", - "decimals": 18 - }, - "60808": { - "name": "Ether", - "symbol": "ETH", - "decimals": 18 - }, - "61022": { - "name": "BTC", - "symbol": "BTC", - "decimals": 18 - }, - "61406": { - "name": "KaiChain Native Token", - "symbol": "KEC", - "decimals": 18 - }, - "61800": { - "name": "Axelium", - "symbol": "AIUM", - "decimals": 18 - }, - "61803": { - "name": "EGAZ", - "symbol": "EGAZ", - "decimals": 18 - }, - "61916": { - "name": "DoKEN", - "symbol": "DKN", - "decimals": 18 - }, - "62049": { - "name": "Ether", - "symbol": "ETH", - "decimals": 18 - }, - "62050": { - "name": "Ether", - "symbol": "ETH", - "decimals": 18 - }, - "62298": { - "name": "Citrea BTC", - "symbol": "cBTC", - "decimals": 18 - }, - "62320": { - "name": "CELO", - "symbol": "CELO", - "decimals": 18 - }, - "62621": { - "name": "MultiVAC", - "symbol": "MTV", - "decimals": 18 - }, - "62831": { - "name": "PLYR", - "symbol": "PLYR", - "decimals": 18 - }, - "62850": { - "name": "SIGMA", - "symbol": "SIGMA", - "decimals": 18 - }, - "63000": { - "name": "eCredits", - "symbol": "ECS", - "decimals": 18 - }, - "63001": { - "name": "eCredits", - "symbol": "ECS", - "decimals": 18 - }, - "65349": { - "name": "CRATD2C", - "symbol": "CRAT", - "decimals": 18 - }, - "65357": { - "name": "Vecno", - "symbol": "VE", - "decimals": 18 - }, - "65450": { - "name": "Scolcoin", - "symbol": "SCOL", - "decimals": 18 - }, - "65536": { - "name": "ATA", - "symbol": "ATA", - "decimals": 18 - }, - "66988": { - "name": "Janus", - "symbol": "JNS", - "decimals": 18 - }, - "67588": { - "name": "Cosmic Chain", - "symbol": "COSMIC", - "decimals": 18 - }, - "68770": { - "name": "OAS", - "symbol": "OAS", - "decimals": 18 - }, - "69420": { - "name": "Condrieu Testnet Ether", - "symbol": "CTE", - "decimals": 18 - }, - "70000": { - "name": "TKM", - "symbol": "TKM", - "decimals": 18 - }, - "70001": { - "name": "TKM", - "symbol": "TKM", - "decimals": 18 - }, - "70002": { - "name": "TKM", - "symbol": "TKM", - "decimals": 18 - }, - "70103": { - "name": "TKM", - "symbol": "TKM", - "decimals": 18 - }, - "70700": { - "name": "Ether", - "symbol": "ETH", - "decimals": 18 - }, - "71111": { - "name": "GuapcoinX", - "symbol": "GuapX", - "decimals": 18 - }, - "71393": { - "name": "CKB", - "symbol": "CKB", - "decimals": 8 - }, - "71401": { - "name": "pCKB", - "symbol": "pCKB", - "decimals": 18 - }, - "71402": { - "name": "pCKB", - "symbol": "pCKB", - "decimals": 18 - }, - "72778": { - "name": "Caga", - "symbol": "CAGA", - "decimals": 18 - }, - "72992": { - "name": "Groc", - "symbol": "GROC", - "decimals": 18 - }, - "73114": { - "name": "ICB Testnet Token", - "symbol": "ICBT", - "decimals": 18 - }, - "73115": { - "name": "ICB Native Token", - "symbol": "ICBX", - "decimals": 18 - }, - "73799": { - "name": "Volta Token", - "symbol": "VT", - "decimals": 18 - }, - "73927": { - "name": "Ether", - "symbol": "ETH", - "decimals": 18 - }, - "75000": { - "name": "Ether", - "symbol": "RESIN", - "decimals": 18 - }, - "75512": { - "name": "OAS", - "symbol": "OAS", - "decimals": 18 - }, - "75513": { - "name": "OAS", - "symbol": "OAS", - "decimals": 18 - }, - "77001": { - "name": "BORA", - "symbol": "BORA", - "decimals": 18 - }, - "77238": { - "name": "Foundry Chain Testnet", - "symbol": "tFNC", - "decimals": 18 - }, - "77612": { - "name": "VNT", - "symbol": "VNT", - "decimals": 18 - }, - "77677": { - "name": "Ether", - "symbol": "ETH", - "decimals": 18 - }, - "77777": { - "name": "Toroe", - "symbol": "TOROE", - "decimals": 18 - }, - "78110": { - "name": "Firenze Ether", - "symbol": "FIN", - "decimals": 18 - }, - "78281": { - "name": "Dragonfly", - "symbol": "DFLY", - "decimals": 18 - }, - "78430": { - "name": "AMP", - "symbol": "AMP", - "decimals": 18 - }, - "78431": { - "name": "BLT", - "symbol": "BLT", - "decimals": 18 - }, - "78432": { - "name": "CON", - "symbol": "CON", - "decimals": 18 - }, - "78600": { - "name": "Vanguard Vanry", - "symbol": "VANRY", - "decimals": 18 - }, - "79879": { - "name": "Standard in Gold", - "symbol": "STAND", - "decimals": 18 - }, - "80001": { - "name": "MATIC", - "symbol": "MATIC", - "decimals": 18 - }, - "80002": { - "name": "MATIC", - "symbol": "MATIC", - "decimals": 18 - }, - "80008": { - "name": "Ether", - "symbol": "ETH", - "decimals": 18 - }, - "80084": { - "name": "BERA Token", - "symbol": "BERA", - "decimals": 18 - }, - "80085": { - "name": "BERA Token", - "symbol": "BERA", - "decimals": 18 - }, - "80096": { - "name": "Hizoco", - "symbol": "HZC", - "decimals": 18 - }, - "81041": { - "name": "NRK", - "symbol": "NRK", - "decimals": 18 - }, - "81341": { - "name": "Amana Testnet", - "symbol": "MEER-T", - "decimals": 18 - }, - "81342": { - "name": "Amana Mixnet", - "symbol": "MEER-M", - "decimals": 18 - }, - "81343": { - "name": "Amana Privnet", - "symbol": "MEER-P", - "decimals": 18 - }, - "81351": { - "name": "Flana Testnet", - "symbol": "MEER-T", - "decimals": 18 - }, - "81352": { - "name": "Flana Mixnet", - "symbol": "MEER-M", - "decimals": 18 - }, - "81353": { - "name": "Flana Privnet", - "symbol": "MEER-P", - "decimals": 18 - }, - "81361": { - "name": "Mizana Testnet", - "symbol": "MEER-T", - "decimals": 18 - }, - "81362": { - "name": "Mizana Mixnet", - "symbol": "MEER-M", - "decimals": 18 - }, - "81363": { - "name": "Mizana Privnet", - "symbol": "MEER-P", - "decimals": 18 - }, - "81457": { - "name": "Ether", - "symbol": "ETH", - "decimals": 18 - }, - "81720": { - "name": "Quantum Chain", - "symbol": "QNET", - "decimals": 18 - }, - "82459": { - "name": "Service Unit Token", - "symbol": "SU", - "decimals": 18 - }, - "83144": { - "name": "KICK Testnet Token", - "symbol": "KICK", - "decimals": 18 - }, - "83278": { - "name": "Esa", - "symbol": "Esa", - "decimals": 18 - }, - "83872": { - "name": "Zedxion", - "symbol": "ZEDX", - "decimals": 9 - }, - "84531": { - "name": "Goerli Ether", - "symbol": "ETH", - "decimals": 18 - }, - "84532": { - "name": "Sepolia Ether", - "symbol": "ETH", - "decimals": 18 - }, - "84886": { - "name": "Aerie", - "symbol": "AER", - "decimals": 18 - }, - "85449": { - "name": "Cyber Trust", - "symbol": "CYBER", - "decimals": 18 - }, - "88002": { - "name": "Zebec Test Token", - "symbol": "tZBC", - "decimals": 18 - }, - "88559": { - "name": "InoAi", - "symbol": "INO", - "decimals": 18 - }, - "88800": { - "name": "ZKAS", - "symbol": "ZKAS", - "decimals": 18 - }, - "88817": { - "name": "UNIT0", - "symbol": "UNIT0", - "decimals": 18 - }, - "88819": { - "name": "UNIT0", - "symbol": "UNIT0", - "decimals": 18 - }, - "88882": { - "name": "Chiliz", - "symbol": "CHZ", - "decimals": 18 - }, - "88888": { - "name": "Chiliz", - "symbol": "CHZ", - "decimals": 18 - }, - "90001": { - "name": "Function X", - "symbol": "FX", - "decimals": 18 - }, - "90210": { - "name": "Beverly Hills Testnet Ether", - "symbol": "BVE", - "decimals": 18 - }, - "90354": { - "name": "Ethereum", - "symbol": "ETH", - "decimals": 18 - }, - "91002": { - "name": "Nautilus Zebec Testnet Tokens", - "symbol": "tZBC", - "decimals": 18 - }, - "91120": { - "name": "DAP", - "symbol": "DAP", - "decimals": 18 - }, - "91715": { - "name": "BNB Chain Native Token", - "symbol": "tcBNB", - "decimals": 18 - }, - "92001": { - "name": "test-Lamb", - "symbol": "LAMB", - "decimals": 18 - }, - "93572": { - "name": "LiquidLayer Testnet", - "symbol": "LILA", - "decimals": 18 - }, - "93747": { - "name": "SVM", - "symbol": "SVM", - "decimals": 18 - }, - "96970": { - "name": "Mantis", - "symbol": "MANTIS", - "decimals": 18 - }, - "97435": { - "name": "Sling Test", - "symbol": "SLINGT", - "decimals": 18 - }, - "97531": { - "name": "GREEN", - "symbol": "GREEN", - "decimals": 18 - }, - "97970": { - "name": "OptimusZ7", - "symbol": "OZ7", - "decimals": 18 - }, - "98881": { - "name": "Ether", - "symbol": "ETH", - "decimals": 18 - }, - "99099": { - "name": "eLiberty", - "symbol": "$EL", - "decimals": 18 - }, - "99876": { - "name": "Edge Matrix Chain Token", - "symbol": "EMC", - "decimals": 18 - }, - "99998": { - "name": "UBC", - "symbol": "UBC", - "decimals": 18 - }, - "99999": { - "name": "UBC", - "symbol": "UBC", - "decimals": 18 - }, - "100000": { - "name": "QKC", - "symbol": "QKC", - "decimals": 18 - }, - "100001": { - "name": "QKC", - "symbol": "QKC", - "decimals": 18 - }, - "100002": { - "name": "QKC", - "symbol": "QKC", - "decimals": 18 - }, - "100003": { - "name": "QKC", - "symbol": "QKC", - "decimals": 18 - }, - "100004": { - "name": "QKC", - "symbol": "QKC", - "decimals": 18 - }, - "100005": { - "name": "QKC", - "symbol": "QKC", - "decimals": 18 - }, - "100006": { - "name": "QKC", - "symbol": "QKC", - "decimals": 18 - }, - "100007": { - "name": "QKC", - "symbol": "QKC", - "decimals": 18 - }, - "100008": { - "name": "QKC", - "symbol": "QKC", - "decimals": 18 - }, - "100009": { - "name": "VeChain", - "symbol": "VET", - "decimals": 18 - }, - "100010": { - "name": "VeChain", - "symbol": "VET", - "decimals": 18 - }, - "100011": { - "name": "QKC", - "symbol": "QKC", - "decimals": 18 - }, - "101010": { - "name": "FREE", - "symbol": "FREE", - "decimals": 18 - }, - "102031": { - "name": "Testnet CTC", - "symbol": "tCTC", - "decimals": 18 - }, - "103090": { - "name": "CRFI", - "symbol": "\u25C8", - "decimals": 18 - }, - "103454": { - "name": "Masa Token", - "symbol": "MASA", - "decimals": 18 - }, - "104566": { - "name": "KaspaClassic", - "symbol": "CAS", - "decimals": 18 - }, - "105105": { - "name": "Stratis", - "symbol": "STRAX", - "decimals": 18 - }, - "108801": { - "name": "Brother", - "symbol": "BRO", - "decimals": 18 - }, - "110000": { - "name": "QKC", - "symbol": "QKC", - "decimals": 18 - }, - "110001": { - "name": "QKC", - "symbol": "QKC", - "decimals": 18 - }, - "110002": { - "name": "QKC", - "symbol": "QKC", - "decimals": 18 - }, - "110003": { - "name": "QKC", - "symbol": "QKC", - "decimals": 18 - }, - "110004": { - "name": "QKC", - "symbol": "QKC", - "decimals": 18 - }, - "110005": { - "name": "QKC", - "symbol": "QKC", - "decimals": 18 - }, - "110006": { - "name": "QKC", - "symbol": "QKC", - "decimals": 18 - }, - "110007": { - "name": "QKC", - "symbol": "QKC", - "decimals": 18 - }, - "110008": { - "name": "QKC", - "symbol": "QKC", - "decimals": 18 - }, - "110011": { - "name": "QKC", - "symbol": "QKC", - "decimals": 18 - }, - "110110": { - "name": "Mars Credit", - "symbol": "MARS", - "decimals": 18 - }, - "111000": { - "name": "TestSIBR", - "symbol": "SIBR", - "decimals": 18 - }, - "111111": { - "name": "Siberium", - "symbol": "SIBR", - "decimals": 18 - }, - "111188": { - "name": "re.al Ether", - "symbol": "reETH", - "decimals": 18 - }, - "112358": { - "name": "Metao", - "symbol": "METAO", - "decimals": 18 - }, - "119139": { - "name": "DAP", - "symbol": "DAP", - "decimals": 18 - }, - "123321": { - "name": "GEM", - "symbol": "GEM", - "decimals": 18 - }, - "123456": { - "name": "Devnet ADIL", - "symbol": "ADIL", - "decimals": 18 - }, - "128123": { - "name": "tez", - "symbol": "XTZ", - "decimals": 18 - }, - "131313": { - "name": "DIONE", - "symbol": "DIONE", - "decimals": 18 - }, - "131419": { - "name": "ETND", - "symbol": "ETND", - "decimals": 18 - }, - "132902": { - "name": "Ether", - "symbol": "ETH", - "decimals": 18 - }, - "141319": { - "name": "MagApe", - "symbol": "MAG", - "decimals": 18 - }, - "142857": { - "name": "ict", - "symbol": "ict", - "decimals": 18 - }, - "161212": { - "name": "Play", - "symbol": "PLAY", - "decimals": 18 - }, - "165279": { - "name": "Eclat", - "symbol": "ECLAT", - "decimals": 18 - }, - "167000": { - "name": "Ether", - "symbol": "ETH", - "decimals": 18 - }, - "167008": { - "name": "Ether", - "symbol": "ETH", - "decimals": 18 - }, - "167009": { - "name": "Ether", - "symbol": "ETH", - "decimals": 18 - }, - "175177": { - "name": "Test LIT", - "symbol": "tstLIT", - "decimals": 18 - }, - "175188": { - "name": "Test LPX", - "symbol": "tstLPX", - "decimals": 18 - }, - "188710": { - "name": "Bitica Coin", - "symbol": "BDCC", - "decimals": 18 - }, - "188881": { - "name": "Condor Native Token", - "symbol": "CONDOR", - "decimals": 18 - }, - "192940": { - "name": "FHE", - "symbol": "FHE", - "decimals": 18 - }, - "199991": { - "name": "MAZZE Testnet", - "symbol": "MAZZE", - "decimals": 18 - }, - "200000": { - "name": "FAI", - "symbol": "FAI", - "decimals": 18 - }, - "200101": { - "name": "milkTAda", - "symbol": "mTAda", - "decimals": 18 - }, - "200202": { - "name": "milkTAlgo", - "symbol": "mTAlgo", - "decimals": 18 - }, - "200625": { - "name": "Akroma Ether", - "symbol": "AKA", - "decimals": 18 - }, - "200810": { - "name": "BTC", - "symbol": "BTC", - "decimals": 18 - }, - "200901": { - "name": "BTC", - "symbol": "BTC", - "decimals": 18 - }, - "201018": { - "name": "ATP", - "symbol": "atp", - "decimals": 18 - }, - "201030": { - "name": "ATP", - "symbol": "atp", - "decimals": 18 - }, - "201804": { - "name": "Mythos", - "symbol": "MYTH", - "decimals": 18 - }, - "202020": { - "name": "Decimal", - "symbol": "tDEL", - "decimals": 18 - }, - "202212": { - "name": "XN", - "symbol": "XN", - "decimals": 18 - }, - "202401": { - "name": "ETH", - "symbol": "ETH", - "decimals": 18 - }, - "202624": { - "name": "Twala Coin", - "symbol": "TWL", - "decimals": 18 - }, - "204005": { - "name": "XN", - "symbol": "XN", - "decimals": 18 - }, - "205205": { - "name": "Auroria Stratis", - "symbol": "tSTRAX", - "decimals": 18 - }, - "210049": { - "name": "GitAGI", - "symbol": "tGAGI", - "decimals": 18 - }, - "210425": { - "name": "LAT", - "symbol": "lat", - "decimals": 18 - }, - "220315": { - "name": "Master Bank", - "symbol": "MAS", - "decimals": 18 - }, - "221230": { - "name": "Reap", - "symbol": "REAP", - "decimals": 18 - }, - "221231": { - "name": "test-Reap", - "symbol": "tREAP", - "decimals": 18 - }, - "222222": { - "name": "Wrapped ETH", - "symbol": "WETH", - "decimals": 18 - }, - "222555": { - "name": "DeepL", - "symbol": "DEEPL", - "decimals": 18 - }, - "222666": { - "name": "DeepL", - "symbol": "DEEPL", - "decimals": 18 - }, - "224168": { - "name": "Taf ECO Chain Mainnet", - "symbol": "TAFECO", - "decimals": 18 - }, - "224422": { - "name": "CONET Sebolia", - "symbol": "CONET", - "decimals": 18 - }, - "224433": { - "name": "CONET Holesky", - "symbol": "CONET", - "decimals": 18 - }, - "229772": { - "name": "AbyssETH", - "symbol": "aETH", - "decimals": 18 - }, - "230315": { - "name": "HashKey Token", - "symbol": "tHSK", - "decimals": 18 - }, - "234666": { - "name": "HAYMO", - "symbol": "HYM", - "decimals": 18 - }, - "240515": { - "name": "BTC", - "symbol": "BTC", - "decimals": 18 - }, - "246529": { - "name": "ARTIS sigma1 Ether", - "symbol": "ATS", - "decimals": 18 - }, - "246785": { - "name": "ARTIS tau1 Ether", - "symbol": "tATS", - "decimals": 18 - }, - "247253": { - "name": "OAS", - "symbol": "OAS", - "decimals": 18 - }, - "256256": { - "name": "Caduceus Token", - "symbol": "CMP", - "decimals": 18 - }, - "262371": { - "name": "Eclat Testnet", - "symbol": "ECLAT", - "decimals": 18 - }, - "266256": { - "name": "Gear Zero Network Native Token", - "symbol": "GZN", - "decimals": 18 - }, - "271271": { - "name": "EgonCoin", - "symbol": "EGON", - "decimals": 18 - }, - "281121": { - "name": "SoChain", - "symbol": "$OC", - "decimals": 18 - }, - "282828": { - "name": "Sepolia Ether", - "symbol": "ETH", - "decimals": 18 - }, - "292003": { - "name": "CIP", - "symbol": "CIP", - "decimals": 18 - }, - "309075": { - "name": "OWCT", - "symbol": "OWCT", - "decimals": 18 - }, - "313313": { - "name": "SAHARA", - "symbol": "SAH", - "decimals": 18 - }, - "314159": { - "name": "testnet filecoin", - "symbol": "tFIL", - "decimals": 18 - }, - "322202": { - "name": "PAREX", - "symbol": "PRX", - "decimals": 18 - }, - "323213": { - "name": "Bloom", - "symbol": "BGBC", - "decimals": 18 - }, - "327126": { - "name": "WABA", - "symbol": "WABA", - "decimals": 18 - }, - "328527": { - "name": "Ether", - "symbol": "ETH", - "decimals": 18 - }, - "330844": { - "name": "TTcoin", - "symbol": "TC", - "decimals": 18 - }, - "333313": { - "name": "Bloom", - "symbol": "BGBC", - "decimals": 18 - }, - "333331": { - "name": "AvesT", - "symbol": "AVST", - "decimals": 18 - }, - "333333": { - "name": "USNT", - "symbol": "USNT", - "decimals": 18 - }, - "333666": { - "name": "tOONE", - "symbol": "tOONE", - "decimals": 18 - }, - "333777": { - "name": "tOONE", - "symbol": "tOONE", - "decimals": 18 - }, - "333888": { - "name": "tPolis", - "symbol": "tPOLIS", - "decimals": 18 - }, - "333999": { - "name": "Polis", - "symbol": "POLIS", - "decimals": 18 - }, - "336655": { - "name": "UBTC", - "symbol": "UBTC", - "decimals": 18 - }, - "336666": { - "name": "UBTC", - "symbol": "UBTC", - "decimals": 18 - }, - "355110": { - "name": "Bitfinity Token", - "symbol": "BFT", - "decimals": 18 - }, - "355113": { - "name": "Bitfinity Token", - "symbol": "BFT", - "decimals": 18 - }, - "360890": { - "name": "vTFUEL", - "symbol": "vTFUEL", - "decimals": 18 - }, - "363636": { - "name": "Digit Coin", - "symbol": "DGC", - "decimals": 18 - }, - "373737": { - "name": "HAP", - "symbol": "HAP", - "decimals": 18 - }, - "381931": { - "name": "Metal", - "symbol": "METAL", - "decimals": 18 - }, - "381932": { - "name": "Metal", - "symbol": "METAL", - "decimals": 18 - }, - "404040": { - "name": "Tipboxcoin", - "symbol": "TPBX", - "decimals": 18 - }, - "413413": { - "name": "AIE", - "symbol": "AIE", - "decimals": 18 - }, - "420420": { - "name": "KEK", - "symbol": "KEK", - "decimals": 18 - }, - "420666": { - "name": "tKEK", - "symbol": "tKEK", - "decimals": 18 - }, - "420692": { - "name": "Alterium ETH", - "symbol": "AltETH", - "decimals": 18 - }, - "421611": { - "name": "Arbitrum Rinkeby Ether", - "symbol": "ETH", - "decimals": 18 - }, - "421613": { - "name": "Arbitrum Goerli Ether", - "symbol": "AGOR", - "decimals": 18 - }, - "421614": { - "name": "Sepolia Ether", - "symbol": "ETH", - "decimals": 18 - }, - "424242": { - "name": "FTN", - "symbol": "FTN", - "decimals": 18 - }, - "431140": { - "name": "Avalanche", - "symbol": "AVAX", - "decimals": 18 - }, - "432201": { - "name": "Dexalot", - "symbol": "ALOT", - "decimals": 18 - }, - "432204": { - "name": "Dexalot", - "symbol": "ALOT", - "decimals": 18 - }, - "444444": { - "name": "Sepolia Ether", - "symbol": "ETH", - "decimals": 18 - }, - "444900": { - "name": "Weelink Chain Token", - "symbol": "tWLK", - "decimals": 18 - }, - "471100": { - "name": "Sepolia Ether", - "symbol": "ETH", - "decimals": 18 - }, - "473861": { - "name": "Ultra Pro", - "symbol": "UPRO", - "decimals": 18 - }, - "474142": { - "name": "OpenCoin", - "symbol": "OPC", - "decimals": 10 - }, - "486487": { - "name": "Gobbl Token", - "symbol": "GOBBL", - "decimals": 18 - }, - "490000": { - "name": "Test Auto Coin", - "symbol": "TATC", - "decimals": 18 - }, - "504441": { - "name": "Playdapp", - "symbol": "PDA", - "decimals": 18 - }, - "512512": { - "name": "Caduceus Testnet Token", - "symbol": "CMP", - "decimals": 18 - }, - "513100": { - "name": "DisChain", - "symbol": "DIS", - "decimals": 18 - }, - "526916": { - "name": "DO", - "symbol": "DCT", - "decimals": 18 - }, - "534351": { - "name": "Ether", - "symbol": "ETH", - "decimals": 18 - }, - "534352": { - "name": "Ether", - "symbol": "ETH", - "decimals": 18 - }, - "534849": { - "name": "Shina Inu", - "symbol": "SHI", - "decimals": 18 - }, - "535037": { - "name": "BeanEco SmartChain", - "symbol": "BESC", - "decimals": 18 - }, - "552981": { - "name": "OWCT", - "symbol": "OWCT", - "decimals": 18 - }, - "555555": { - "name": "Pentagon", - "symbol": "PEN", - "decimals": 18 - }, - "555666": { - "name": "Eclipse", - "symbol": "ECLPS", - "decimals": 18 - }, - "622277": { - "name": "Hypra", - "symbol": "HYP", - "decimals": 18 - }, - "622463": { - "name": "TON", - "symbol": "TON", - "decimals": 18 - }, - "641230": { - "name": "Bear Network Chain Native Token", - "symbol": "BRNKC", - "decimals": 18 - }, - "651940": { - "name": "ALL", - "symbol": "ALL", - "decimals": 18 - }, - "656476": { - "name": "EDU", - "symbol": "EDU", - "decimals": 18 - }, - "660279": { - "name": "Xai", - "symbol": "XAI", - "decimals": 18 - }, - "666666": { - "name": "VS", - "symbol": "VS", - "decimals": 18 - }, - "666888": { - "name": "Hela HLUSD", - "symbol": "HLUSD", - "decimals": 18 - }, - "686868": { - "name": "Won", - "symbol": "WON", - "decimals": 18 - }, - "696969": { - "name": "Galadriel Devnet token", - "symbol": "GAL", - "decimals": 18 - }, - "710420": { - "name": "TILT", - "symbol": "TILT", - "decimals": 18 - }, - "713715": { - "name": "Sei", - "symbol": "SEI", - "decimals": 18 - }, - "721529": { - "name": "ERAM", - "symbol": "ERAM", - "decimals": 18 - }, - "743111": { - "name": "Sepolia Ether", - "symbol": "ETH", - "decimals": 18 - }, - "751230": { - "name": "Bear Network Chain Testnet Token", - "symbol": "tBRNKC", - "decimals": 18 - }, - "752024": { - "name": "Capsule Coin", - "symbol": "CAPS", - "decimals": 18 - }, - "761412": { - "name": "Miexs Coin", - "symbol": "MIX", - "decimals": 18 - }, - "764984": { - "name": "Lamina1 Test", - "symbol": "L1T", - "decimals": 18 - }, - "767368": { - "name": "L1ID Test", - "symbol": "L1IDT", - "decimals": 18 - }, - "776877": { - "name": "Modularium", - "symbol": "MDM", - "decimals": 18 - }, - "800001": { - "name": "OctaSpace", - "symbol": "OCTA", - "decimals": 18 - }, - "808080": { - "name": "tBIZT", - "symbol": "tBIZT", - "decimals": 18 - }, - "808813": { - "name": "Sepolia Ether", - "symbol": "ETH", - "decimals": 18 - }, - "810180": { - "name": "Ether", - "symbol": "ETH", - "decimals": 18 - }, - "810181": { - "name": "Ether", - "symbol": "ETH", - "decimals": 18 - }, - "810182": { - "name": "Ether", - "symbol": "ETH", - "decimals": 18 - }, - "820522": { - "name": "TAS", - "symbol": "tTAS", - "decimals": 18 - }, - "827431": { - "name": "Curve", - "symbol": "CURVE", - "decimals": 18 - }, - "839320": { - "name": "Primal Network", - "symbol": "PRM", - "decimals": 18 - }, - "840000": { - "name": "Test Bitcoin", - "symbol": "tBTC", - "decimals": 8 - }, - "846000": { - "name": "APTA", - "symbol": "APTA", - "decimals": 18 - }, - "855456": { - "name": "Dodao", - "symbol": "DODAO", - "decimals": 18 - }, - "879151": { - "name": "BlocX", - "symbol": "BLX", - "decimals": 18 - }, - "888882": { - "name": "REXX", - "symbol": "REXX", - "decimals": 18 - }, - "888888": { - "name": "VS", - "symbol": "VS", - "decimals": 18 - }, - "900000": { - "name": "Posichain Native Token", - "symbol": "POSI", - "decimals": 18 - }, - "910000": { - "name": "Posichain Native Token", - "symbol": "POSI", - "decimals": 18 - }, - "912559": { - "name": "RIA", - "symbol": "RIA", - "decimals": 18 - }, - "920000": { - "name": "Posichain Native Token", - "symbol": "POSI", - "decimals": 18 - }, - "920001": { - "name": "Posichain Native Token", - "symbol": "POSI", - "decimals": 18 - }, - "923018": { - "name": "FNCY", - "symbol": "FNCY", - "decimals": 18 - }, - "955081": { - "name": "Jono12 Token", - "symbol": "JONO", - "decimals": 18 - }, - "955305": { - "name": "ELV", - "symbol": "ELV", - "decimals": 18 - }, - "978657": { - "name": "Testnet MAGIC", - "symbol": "MAGIC", - "decimals": 18 - }, - "984122": { - "name": "TIA", - "symbol": "TIA", - "decimals": 18 - }, - "984123": { - "name": "TIA", - "symbol": "TIA", - "decimals": 18 - }, - "988207": { - "name": "ECROX COIN", - "symbol": "ECROX", - "decimals": 18 - }, - "998899": { - "name": "CHAIN", - "symbol": "CHAIN", - "decimals": 18 - }, - "999999": { - "name": "AMC", - "symbol": "AMC", - "decimals": 18 - }, - "1100789": { - "name": "NMT", - "symbol": "NMT", - "decimals": 18 - }, - "1127469": { - "name": "Tiltyard Token", - "symbol": "TILTG", - "decimals": 18 - }, - "1234567": { - "name": "SHARECLE COIN", - "symbol": "SHR", - "decimals": 18 - }, - "1261120": { - "name": "Sepolia Ether", - "symbol": "ETH", - "decimals": 18 - }, - "1313114": { - "name": "Etho Protocol", - "symbol": "ETHO", - "decimals": 18 - }, - "1313500": { - "name": "Xerom Ether", - "symbol": "XERO", - "decimals": 18 - }, - "1337702": { - "name": "kintsugi Ethere", - "symbol": "kiETH", - "decimals": 18 - }, - "1337802": { - "name": "Testnet ETH", - "symbol": "ETH", - "decimals": 18 - }, - "1337803": { - "name": "Testnet ETH", - "symbol": "ETH", - "decimals": 18 - }, - "1398243": { - "name": "ATA", - "symbol": "ATA", - "decimals": 18 - }, - "1612127": { - "name": "Ether", - "symbol": "ETH", - "decimals": 18 - }, - "1637450": { - "name": "tBNB", - "symbol": "tBNB", - "decimals": 18 - }, - "1731313": { - "name": "Ether", - "symbol": "ETH", - "decimals": 18 - }, - "2021398": { - "name": "DeBank USD", - "symbol": "USD", - "decimals": 18 - }, - "2099156": { - "name": "Plian Token", - "symbol": "PI", - "decimals": 18 - }, - "2206132": { - "name": "LAT", - "symbol": "lat", - "decimals": 18 - }, - "2611555": { - "name": "DGC", - "symbol": "DGC", - "decimals": 18 - }, - "2702128": { - "name": "ETH", - "symbol": "ETH", - "decimals": 18 - }, - "3132023": { - "name": "SAHARA", - "symbol": "SAH", - "decimals": 18 - }, - "3141592": { - "name": "testnet filecoin", - "symbol": "tFIL", - "decimals": 18 - }, - "3397901": { - "name": "Ether", - "symbol": "ETH", - "decimals": 18 - }, - "3441005": { - "name": "Manta", - "symbol": "MANTA", - "decimals": 18 - }, - "3441006": { - "name": "Ether", - "symbol": "ETH", - "decimals": 18 - }, - "4000003": { - "name": "ZERO", - "symbol": "ZERO", - "decimals": 18 - }, - "4281033": { - "name": "Ether", - "symbol": "ETH", - "decimals": 18 - }, - "4444444": { - "name": "Sepolia Ether", - "symbol": "ETH", - "decimals": 18 - }, - "4457845": { - "name": "Ether", - "symbol": "ETH", - "decimals": 18 - }, - "5112023": { - "name": "NUMB Token", - "symbol": "NUMB", - "decimals": 18 - }, - "5167003": { - "name": "MXC Wannsee zkEVM Testnet", - "symbol": "MXC", - "decimals": 18 - }, - "5167004": { - "name": "Moonchain Geneva Testnet", - "symbol": "MXC", - "decimals": 18 - }, - "5201420": { - "name": "Electroneum", - "symbol": "ETN", - "decimals": 18 - }, - "5318008": { - "name": "Kopli React", - "symbol": "REACT", - "decimals": 18 - }, - "5555555": { - "name": "Imversed Token", - "symbol": "IMV", - "decimals": 18 - }, - "5555558": { - "name": "Imversed Token", - "symbol": "IMV", - "decimals": 18 - }, - "6038361": { - "name": "Sepolia Ether", - "symbol": "ETH", - "decimals": 18 - }, - "6666665": { - "name": "SAFE(AnWang)", - "symbol": "SAFE", - "decimals": 18 - }, - "6666666": { - "name": "SAFE(AnWang)", - "symbol": "SAFE", - "decimals": 18 - }, - "7225878": { - "name": "OAS", - "symbol": "OAS", - "decimals": 18 - }, - "7355310": { - "name": "Vessel ETH", - "symbol": "VETH", - "decimals": 18 - }, - "7668378": { - "name": "Shiba Predator", - "symbol": "QOM", - "decimals": 18 - }, - "7762959": { - "name": "Musicoin", - "symbol": "MUSIC", - "decimals": 18 - }, - "7777777": { - "name": "Ether", - "symbol": "ETH", - "decimals": 18 - }, - "8007736": { - "name": "Plian Token", - "symbol": "PI", - "decimals": 18 - }, - "8008135": { - "name": "tFHE", - "symbol": "tFHE", - "decimals": 18 - }, - "8080808": { - "name": "Ether", - "symbol": "ETH", - "decimals": 18 - }, - "8601152": { - "name": "WATER", - "symbol": "WATER", - "decimals": 18 - }, - "8794598": { - "name": "HAP", - "symbol": "HAP", - "decimals": 18 - }, - "8888881": { - "name": "QARE", - "symbol": "QARE", - "decimals": 18 - }, - "8888888": { - "name": "QARE", - "symbol": "QARE", - "decimals": 18 - }, - "9322252": { - "name": "Gas", - "symbol": "GAS", - "decimals": 18 - }, - "9322253": { - "name": "Gas", - "symbol": "GAS", - "decimals": 18 - }, - "9999999": { - "name": "FLT", - "symbol": "FLT", - "decimals": 18 - }, - "10067275": { - "name": "Plian Token", - "symbol": "TPI", - "decimals": 18 - }, - "10101010": { - "name": "Soverun", - "symbol": "SVRN", - "decimals": 18 - }, - "10241024": { - "name": "Ethereum", - "symbol": "ETH", - "decimals": 18 - }, - "10241025": { - "name": "Ethereum", - "symbol": "ETH", - "decimals": 18 - }, - "11145513": { - "name": "Bless", - "symbol": "BLESS", - "decimals": 18 - }, - "11155111": { - "name": "Sepolia Ether", - "symbol": "ETH", - "decimals": 18 - }, - "11155420": { - "name": "Sepolia Ether", - "symbol": "ETH", - "decimals": 18 - }, - "12052024": { - "name": "Ether", - "symbol": "ETH", - "decimals": 18 - }, - "12227332": { - "name": "Gas", - "symbol": "GAS", - "decimals": 18 - }, - "13068200": { - "name": "COTI2", - "symbol": "COTI2", - "decimals": 18 - }, - "13371337": { - "name": "PepChain Churchill Ether", - "symbol": "TPEP", - "decimals": 18 - }, - "14288640": { - "name": "DAON", - "symbol": "DEB", - "decimals": 18 - }, - "16658437": { - "name": "Plian Testnet Token", - "symbol": "TPI", - "decimals": 18 - }, - "17000920": { - "name": "ETH", - "symbol": "ETH", - "decimals": 18 - }, - "18071918": { - "name": "Mand", - "symbol": "MAND", - "decimals": 18 - }, - "18289463": { - "name": "IOLite Ether", - "symbol": "ILT", - "decimals": 18 - }, - "19850818": { - "name": "DeepBrainChain", - "symbol": "DBC", - "decimals": 18 - }, - "19880818": { - "name": "DeepBrainChain", - "symbol": "DBC", - "decimals": 18 - }, - "20180427": { - "name": "FREE", - "symbol": "FREE", - "decimals": 18 - }, - "20180430": { - "name": "SmartMesh Native Token", - "symbol": "SMT", - "decimals": 18 - }, - "20181205": { - "name": "quarkblockchain Native Token", - "symbol": "QKI", - "decimals": 18 - }, - "20201022": { - "name": "Pego Native Token", - "symbol": "PG", - "decimals": 18 - }, - "20230825": { - "name": "Testnet Vcity Token", - "symbol": "VCITY", - "decimals": 18 - }, - "20240324": { - "name": "DeBank USD", - "symbol": "USD", - "decimals": 18 - }, - "20240603": { - "name": "Ether", - "symbol": "ETH", - "decimals": 18 - }, - "20241133": { - "name": "SWANETH", - "symbol": "sETH", - "decimals": 18 - }, - "20482050": { - "name": "Ether", - "symbol": "ETH", - "decimals": 18 - }, - "22052002": { - "name": "Excelon", - "symbol": "xlon", - "decimals": 18 - }, - "27082017": { - "name": "TExlcoin", - "symbol": "TEXL", - "decimals": 18 - }, - "27082022": { - "name": "Exlcoin", - "symbol": "EXL", - "decimals": 18 - }, - "28122024": { - "name": "Ether", - "symbol": "ETH", - "decimals": 18 - }, - "28945486": { - "name": "Auxilium coin", - "symbol": "AUX", - "decimals": 18 - }, - "29032022": { - "name": "Flacoin", - "symbol": "FLA", - "decimals": 18 - }, - "31415926": { - "name": "testnet filecoin", - "symbol": "tFIL", - "decimals": 18 - }, - "35855456": { - "name": "JOYS", - "symbol": "JOYS", - "decimals": 18 - }, - "37084624": { - "name": "sFUEL", - "symbol": "sFUEL", - "decimals": 18 - }, - "39916801": { - "name": "Kozi", - "symbol": "KOZI", - "decimals": 18 - }, - "43214913": { - "name": "maistestsubnet", - "symbol": "MAI", - "decimals": 18 - }, - "52164803": { - "name": "tFLT", - "symbol": "tFLT", - "decimals": 18 - }, - "61717561": { - "name": "Aquachain Ether", - "symbol": "AQUA", - "decimals": 18 - }, - "65010003": { - "name": "Bakerloo Auton", - "symbol": "ATN", - "decimals": 18 - }, - "65100003": { - "name": "Piccadilly Auton", - "symbol": "ATN", - "decimals": 18 - }, - "68840142": { - "name": "Sepolia Ether", - "symbol": "ETH", - "decimals": 18 - }, - "77787778": { - "name": "0xHash", - "symbol": "HETH", - "decimals": 18 - }, - "79479957": { - "name": "SX Network", - "symbol": "SX", - "decimals": 18 - }, - "88558801": { - "name": "Backstop Testnet 1", - "symbol": "ZBS", - "decimals": 18 - }, - "88888888": { - "name": "TEAM", - "symbol": "$TEAM", - "decimals": 18 - }, - "94204209": { - "name": "Sepolia Ether", - "symbol": "ETH", - "decimals": 18 - }, - "99415706": { - "name": "TOYS", - "symbol": "TOYS", - "decimals": 18 - }, - "100000000": { - "name": "ETHOS", - "symbol": "ETHOS", - "decimals": 18 - }, - "108160679": { - "name": "Oraichain Token", - "symbol": "ORAI", - "decimals": 18 - }, - "111557560": { - "name": "Sepolia Ether", - "symbol": "ETH", - "decimals": 18 - }, - "123420111": { - "name": "Sepolia Ether", - "symbol": "ETH", - "decimals": 18 - }, - "161221135": { - "name": "Plume Sepolia Ether", - "symbol": "ETH", - "decimals": 18 - }, - "168587773": { - "name": "Sepolia Ether", - "symbol": "ETH", - "decimals": 18 - }, - "192837465": { - "name": "Gather", - "symbol": "GTH", - "decimals": 18 - }, - "222000222": { - "name": "gMeld", - "symbol": "gMELD", - "decimals": 18 - }, - "245022926": { - "name": "Neon", - "symbol": "NEON", - "decimals": 18 - }, - "245022929": { - "name": "Neon", - "symbol": "NEON", - "decimals": 18 - }, - "245022934": { - "name": "Neon", - "symbol": "NEON", - "decimals": 18 - }, - "278611351": { - "name": "sFuel", - "symbol": "SFUEL", - "decimals": 18 - }, - "311752642": { - "name": "OLT", - "symbol": "OLT", - "decimals": 18 - }, - "328527624": { - "name": "Sepolia Ether", - "symbol": "ETH", - "decimals": 18 - }, - "333000333": { - "name": "gMeld", - "symbol": "gMELD", - "decimals": 18 - }, - "356256156": { - "name": "Gather", - "symbol": "GTH", - "decimals": 18 - }, - "476462898": { - "name": "SkpGPT", - "symbol": "SkpGPT", - "decimals": 18 - }, - "486217935": { - "name": "Gather", - "symbol": "GTH", - "decimals": 18 - }, - "531050104": { - "name": "ETH", - "symbol": "ETH", - "decimals": 18 - }, - "666666666": { - "name": "DEGEN", - "symbol": "DEGEN", - "decimals": 18 - }, - "888888888": { - "name": "Ether", - "symbol": "ETH", - "decimals": 18 - }, - "889910245": { - "name": "PTCE", - "symbol": "PTCE", - "decimals": 18 - }, - "889910246": { - "name": "PTCE", - "symbol": "PTCE", - "decimals": 18 - }, - "974399131": { - "name": "sFUEL", - "symbol": "sFUEL", - "decimals": 18 - }, - "999999999": { - "name": "Sepolia Ether", - "symbol": "ETH", - "decimals": 18 - }, - "1020352220": { - "name": "sFUEL", - "symbol": "sFUEL", - "decimals": 18 - }, - "1122334455": { - "name": "IPOS Network Ether", - "symbol": "IPOS", - "decimals": 18 - }, - "1146703430": { - "name": "Cyb", - "symbol": "CYB", - "decimals": 18 - }, - "1273227453": { - "name": "sFUEL", - "symbol": "sFUEL", - "decimals": 18 - }, - "1313161554": { - "name": "Ether", - "symbol": "ETH", - "decimals": 18 - }, - "1313161555": { - "name": "Ether", - "symbol": "ETH", - "decimals": 18 - }, - "1313161556": { - "name": "Ether", - "symbol": "ETH", - "decimals": 18 - }, - "1313161560": { - "name": "Ether", - "symbol": "ETH", - "decimals": 18 - }, - "1350216234": { - "name": "sFUEL", - "symbol": "sFUEL", - "decimals": 18 - }, - "1351057110": { - "name": "sFUEL", - "symbol": "sFUEL", - "decimals": 18 - }, - "1380012617": { - "name": "Ethereum", - "symbol": "ETH", - "decimals": 18 - }, - "1380996178": { - "name": "Raptor", - "symbol": "RPTR", - "decimals": 18 - }, - "1444673419": { - "name": "sFUEL", - "symbol": "sFUEL", - "decimals": 18 - }, - "1482601649": { - "name": "sFUEL", - "symbol": "sFUEL", - "decimals": 18 - }, - "1511670449": { - "name": "GPT", - "symbol": "GPT", - "decimals": 18 - }, - "1564830818": { - "name": "sFUEL", - "symbol": "sFUEL", - "decimals": 18 - }, - "1666600000": { - "name": "ONE", - "symbol": "ONE", - "decimals": 18 - }, - "1666600001": { - "name": "ONE", - "symbol": "ONE", - "decimals": 18 - }, - "1666700000": { - "name": "ONE", - "symbol": "ONE", - "decimals": 18 - }, - "1666700001": { - "name": "ONE", - "symbol": "ONE", - "decimals": 18 - }, - "1666900000": { - "name": "ONE", - "symbol": "ONE", - "decimals": 18 - }, - "1666900001": { - "name": "ONE", - "symbol": "ONE", - "decimals": 18 - }, - "1802203764": { - "name": "Ether", - "symbol": "ETH", - "decimals": 18 - }, - "1903648807": { - "name": "Gemuchain", - "symbol": "GEMU", - "decimals": 18 - }, - "1918988905": { - "name": "Ethereum", - "symbol": "ETH", - "decimals": 18 - }, - "2021121117": { - "name": "DataHoppers", - "symbol": "HOP", - "decimals": 18 - }, - "2046399126": { - "name": "sFUEL", - "symbol": "sFUEL", - "decimals": 18 - }, - "3125659152": { - "name": "Pirl Ether", - "symbol": "PIRL", - "decimals": 18 - }, - "4216137055": { - "name": "OLT", - "symbol": "OLT", - "decimals": 18 - }, - "11297108109": { - "name": "PALM", - "symbol": "PALM", - "decimals": 18 - }, - "11297108099": { - "name": "PALM", - "symbol": "PALM", - "decimals": 18 - }, - "28872323069": { - "name": "GitSwarm Ether", - "symbol": "GS-ETH", - "decimals": 18 - }, - "37714555429": { - "name": "sXai", - "symbol": "sXAI", - "decimals": 18 - }, - "88153591557": { - "name": "GelatoCGT", - "symbol": "CGT", - "decimals": 18 - }, - "107107114116": { - "name": "Ether", - "symbol": "ETH", - "decimals": 18 - }, - "111222333444": { - "name": "ALT", - "symbol": "ALT", - "decimals": 18 - }, - "123420000220": { - "name": "tFLT", - "symbol": "tFLT", - "decimals": 18 - }, - "197710212030": { - "name": "Ntity", - "symbol": "NTT", - "decimals": 18 - }, - "197710212031": { - "name": "Ntity Haradev", - "symbol": "NTTH", - "decimals": 18 - }, - "202402181627": { - "name": "Ether", - "symbol": "ETH", - "decimals": 18 - }, - "383414847825": { - "name": "Zeniq", - "symbol": "ZENIQ", - "decimals": 18 - }, - "666301171999": { - "name": "PDC", - "symbol": "PDC", - "decimals": 18 - }, - "6022140761023": { - "name": "Molereum Ether", - "symbol": "MOLE", - "decimals": 18 - }, - "2713017997578000": { - "name": "Ether", - "symbol": "ETH", - "decimals": 18 - }, - "2716446429837000": { - "name": "Ether", - "symbol": "ETH", - "decimals": 18 - } -}; -var EXTRA_RPCS = { - "1": [ - { - "url": "https://eth.llamarpc.com", - "tracking": "none", - "trackingDetails": "LlamaNodes is open-source and does not track or store user information that transits through our RPCs (location, IP, wallet, etc). To learn more, have a look at the public Privacy Policy in our docs: https://llamanodes.notion.site/Privacy-Practices-f20fd8fdd02a469d9d4f42a5989bb936", - "isOpenSource": true - }, - { - "url": "https://endpoints.omniatech.io/v1/eth/mainnet/public", - "tracking": "none", - "trackingDetails": "All the data and metadata remain private to the users. No third party is able to access, analyze or track it. OMNIA leverages different technologies and approaches to guarantee the privacy of their users, from front-running protection and private mempools, to obfuscation and random dispatching. https://blog.omniatech.io/how-omnia-handles-your-personal-data" - }, - { - "url": "https://rpc.ankr.com/eth", - "tracking": "limited", - "trackingDetails": "For service delivery purposes, we temporarily record IP addresses to set usage limits and monitor for denial of service attacks against our infrastructure. Though we do look at high-level data around the success rate of transactions made over the blockchain RPC, we do not correlate wallet transactions made over the infrastructure to the IP address making the RPC request. Thus, we do not store, exploit, or share any information regarding Personal Identifiable Information (PII), including wallet addresses. https://www.ankr.com/blog/ankrs-ip-address-policy-and-your-privacy/" - }, - { - "url": "https://go.getblock.io/d7dab8149ec04390aaa923ff2768f914", - "tracking": "none", - "trackingDetails": "We automatically collect certain information through cookies and similar technologies when you visit, use or navigate Website. This information does not reveal your specific identity (like your name or contact information) and does not allow to identify you. However, it may include device and usage information, such as your IP address, browser and device characteristics, its type and version, operating system, language preferences, referring URLs, device name, country, location, information about how and when you use our Website, information about your interaction in our emails, and other technical and statistical information. This information is primarily needed to maintain the security and operation of our Website, and for our internal analytics and reporting purposes.Specifically, as the RPC provider, we do not log and store your IP address, country, location and similar data. https://getblock.io/privacy-policy/" - }, - { - "url": "https://eth-mainnet.nodereal.io/v1/1659dfb40aa24bbb8153a677b98064d7", - "tracking": "yes", - "trackingDetails": `We may automatically record certain information about how you use our Sites (we refer to this information as "Log Data"). Log Data may include information such as a user's Internet Protocol (IP) address, device and browser type, operating system, the pages or features of our Sites to which a user browsed and the time spent on those pages or features, the frequency with which the Sites are used by a user, search terms, the links on our Sites that a user clicked on or used, and other statistics. We use this information to administer the Service and we analyze (and may engage third parties to analyze) this information to improve and enhance the Service by expanding its features and functionality and tailoring it to our users' needs and preferences. https://nodereal.io/terms` - }, - { - "url": "https://ethereum-rpc.publicnode.com", - "tracking": "none", - "trackingDetails": "We do not store or track any user data with the exception of data that will be public on chain. We do not correlate wallets address's with IP's, any data which is needed to transact is deleted after 24 hours. We also do no use any Analytics or 3rd party website tracking. https://www.publicnode.com/privacy" - }, - { - "url": "wss://ethereum-rpc.publicnode.com", - "tracking": "none", - "trackingDetails": "We do not store or track any user data with the exception of data that will be public on chain. We do not correlate wallets address's with IP's, any data which is needed to transact is deleted after 24 hours. We also do no use any Analytics or 3rd party website tracking. https://www.publicnode.com/privacy" - }, - { - "url": "https://1rpc.io/eth", - "tracking": "none", - "trackingDetails": "With the exception of data that will be public on chain, all the other metadata / data should remain private to users and other parties should not be able to access or collect it. 1RPC uses many different techniques to prevent the unnecessary collection of user privacy, which prevents tracking from RPC providers. https://docs.1rpc.io/technology/zero-tracking" - }, - { - "url": "https://rpc.builder0x69.io", - "tracking": "none", - "trackingDetails": "Private transactions / MM RPC: https://twitter.com/builder0x69" - }, - { - "url": "https://rpc.mevblocker.io", - "tracking": "none", - "trackingDetails": "Privacy notice: MEV Blocker RPC does not store any kind of user information (i.e. IP, location, user agent, etc.) in any data bases. Only transactions are preserved to be displayed via status endpoint like https://rpc.mevblocker.io/tx/0x627b09d5a9954a810cd3c34b23694439da40558a41b0d87970f2c3420634a229. Connect to MEV Blocker via https://rpc.mevblocker.io" - }, - { - "url": "https://rpc.flashbots.net", - "tracking": "none", - "trackingDetails": "Privacy notice: Flashbots Protect RPC does not track any kind of user information (i.e. IP, location, etc.). No user information is ever stored or even logged. https://docs.flashbots.net/flashbots-protect/rpc/quick-start" - }, - { - "url": "https://virginia.rpc.blxrbdn.com", - "tracking": "yes", - "trackingDetails": "We may collect information that is publicly available in a blockchain when providing our services, such as: Public wallet identifier of the sender and recipient of a transaction, Unique identifier for a transaction, Date and time of a transaction, Transaction value, along with associated costs, Status of a transaction (such as whether the transaction is complete, in-progress, or resulted in an error) https://bloxroute.com/wp-content/uploads/2021/12/bloXroute-Privacy-Policy-04-01-2019-Final.pdf" - }, - { - "url": "https://uk.rpc.blxrbdn.com", - "tracking": "yes", - "trackingDetails": "We may collect information that is publicly available in a blockchain when providing our services, such as: Public wallet identifier of the sender and recipient of a transaction, Unique identifier for a transaction, Date and time of a transaction, Transaction value, along with associated costs, Status of a transaction (such as whether the transaction is complete, in-progress, or resulted in an error) https://bloxroute.com/wp-content/uploads/2021/12/bloXroute-Privacy-Policy-04-01-2019-Final.pdf" - }, - { - "url": "https://singapore.rpc.blxrbdn.com", - "tracking": "yes", - "trackingDetails": "We may collect information that is publicly available in a blockchain when providing our services, such as: Public wallet identifier of the sender and recipient of a transaction, Unique identifier for a transaction, Date and time of a transaction, Transaction value, along with associated costs, Status of a transaction (such as whether the transaction is complete, in-progress, or resulted in an error) https://bloxroute.com/wp-content/uploads/2021/12/bloXroute-Privacy-Policy-04-01-2019-Final.pdf" - }, - { - "url": "https://eth.rpc.blxrbdn.com", - "tracking": "yes", - "trackingDetails": "We may collect information that is publicly available in a blockchain when providing our services, such as: Public wallet identifier of the sender and recipient of a transaction, Unique identifier for a transaction, Date and time of a transaction, Transaction value, along with associated costs, Status of a transaction (such as whether the transaction is complete, in-progress, or resulted in an error) https://bloxroute.com/wp-content/uploads/2021/12/bloXroute-Privacy-Policy-04-01-2019-Final.pdf" - }, - { - "url": "https://cloudflare-eth.com", - "tracking": "yes", - "trackingDetails": "Just as when you visit and interact with most websites and services delivered via the Internet, when you visit our Websites, including the Cloudflare Community Forum, we gather certain information and store it in log files. This information may include but is not limited to Internet Protocol (IP) addresses, system configuration information, URLs of referring pages, and locale and language preferences. https://www.cloudflare.com/privacypolicy/" - }, - { - "url": "https://eth-mainnet.public.blastapi.io", - "tracking": "limited", - "trackingDetails": "All the information in our logs (log data) can only be accessed for the last 7 days at any certain time, and it is completely purged after 14 days. We do not store any user information for longer periods of time or with any other purposes than investigating potential errors and service failures. https://blastapi.io/privacy-policy" - }, - { - "url": "https://api.securerpc.com/v1", - "tracking": "unspecified" - }, - { - "url": "https://openapi.bitstack.com/v1/wNFxbiJyQsSeLrX8RRCHi7NpRxrlErZk/DjShIqLishPCTB9HiMkPHXjUM9CNM9Na/ETH/mainnet", - "tracking": "yes", - "trackingDetails": "Information about your computer hardware and software may be automatically collected by BitStack. This information can include: your IP address, browser type, domain names, access times and referring website addresses. https://bitstack.com/#/privacy" - }, - { - "url": "https://eth-pokt.nodies.app", - "tracking": "none", - "trackingDetails": "What We Do Not Collect: User's IP address, request origin, request data. https://www.blog.pokt.network/rpc-logging-practices/" - }, - { - "url": "https://eth-mainnet-public.unifra.io", - "tracking": "limited", - "trackingDetails": "Regarding the RPC(remote procedure call) data, we do not collect request data or request origin. We temporarily record the request method names and IP addresses for 7 days to ensure our service functionality such as load balancing and DDoS protection. All the data is automatically deleted after 7 days. Only the amounts of RPC requests of users are recorded for accounting and billing purposes within longer time. https://unifra.io/" - }, - { - "url": "https://ethereum.blockpi.network/v1/rpc/public", - "tracking": "limited", - "trackingDetails": "We do not collect request data or request origin. We only temporarily record the request method names and IP addresses for 7 days to ensure our service functionality such as load balancing and DDoS protection. All the data is automatically deleted after 7 days and we do not store any user information for longer periods of time. https://blockpi.io/privacy-policy" - }, - { - "url": "https://rpc.payload.de", - "tracking": "none", - "trackingDetails": "Sent transactions are private: https://payload.de/docs. By default, no data is collected when using the RPC endpoint. If provided by the user, the public address for authentication is captured when using the RPC endpoint in order to prioritize requests under high load. This information is optional and solely provided at the user's discretion. https://payload.de/privacy/" - }, - { - "url": "https://api.zmok.io/mainnet/oaen6dy8ff6hju9k", - "tracking": "none", - "trackingDetails": 'API requests - we do NOT store any usage data, additionally, we do not store your logs. No KYC - "Darknet" style of sign-up/sign-in. Only provider that provides Ethereum endpoints as TOR/Onion hidden service. Analytical data are stored only on the landing page/web. https://zmok.io/privacy-policy' - }, - { - "url": "https://eth-mainnet.g.alchemy.com/v2/demo", - "tracking": "yes", - "trackingDetails": "We may collect certain information automatically when you use our Services, such as your Internet protocol (IP) address, user settings, MAC address, cookie identifiers, mobile carrier, mobile advertising and other unique identifiers, browser or device information, location information (including approximate location derived from IP address), and Internet service provider. https://www.alchemy.com/policies/privacy-policy" - }, - { - "url": "https://eth.api.onfinality.io/public", - "tracking": "limited", - "trackingDetails": "For the sole purpose of providing our service, we temporarily record IP addresses and origins to check against free limits, provide load balancing, prevent DOS attacks, and to determine where best to locate our nodes. We do not, and will never, correlate or link specific wallet addresses or transactions made over our infrastructure to the IP address or origin making the RPC request. After processing IP addresses, we discard the IP address value within 24 hours. Read more here: https://blog.onfinality.io/how-does-onfinality-deal-with-personal-information/" - }, - { - "url": "https://core.gashawk.io/rpc", - "tracking": "yes", - "trackingDetails": "Sign-in with Ethereum on https://www.gashawk.io required prior to use. We may collect information that is publicly available in a blockchain when providing our services, such as: Public wallet identifier of the sender and recipient of a transaction, Unique identifier for a transaction, Date and time of a transaction, Transaction value, along with associated costs, Status of a transaction (such as whether the transaction is complete, in-progress, or resulted in an error), read the terms of service https://www.gashawk.io/#/terms and the privacy policy https://www.gashawk.io/#/privacy." - }, - { - "url": "https://mainnet.eth.cloud.ava.do" - }, - { - "url": "https://ethereumnodelight.app.runonflux.io" - }, - { - "url": "https://eth-mainnet.rpcfast.com?api_key=xbhWBI1Wkguk8SNMu1bvvLurPGLXmgwYeC4S6g2H7WdwFigZSmPWVZRxrskEQwIf" - }, - { - "url": "https://main-light.eth.linkpool.io" - }, - { - "url": "https://rpc.eth.gateway.fm", - "tracking": "yes", - "trackingDetails": "When you use our services or visit our websites, we may log your device\u2019s IP address for debugging and security reasons. We may retain this information for up to twelve months" - }, - { - "url": "https://rpc.chain49.com/ethereum?api_key=14d1a8b86d8a4b4797938332394203dc", - "tracking": "yes", - "trackingDetails": "We collect device information and request metadata like IP address and User Agent for the purpose of load balancing and rate limiting. More info: https://chain49.com/privacy-policy" - }, - { - "url": "https://eth.meowrpc.com", - "tracking": "none", - "trackingDetails": "With the exclusion of data that will be openly visible and available on the blockchain, MEOWRPC does not track or store any kind of user information (such as location, IP address, etc.) that passes through our RPC. For further details regarding our privacy practices, we encourage you to refer to our Privacy Policy. https://privacy.meowrpc.com" - }, - { - "url": "https://eth.drpc.org", - "tracking": "none", - "trackingDetails": "Specific types of technical data that we may temporarily log include:IP address (only in logs for redirecting requests to the nearest RPC nodes and rate limiting at the free level, which are cleared weekly). The user ID is hidden in the temporary logs, so it is not possible to link them to a specific user.https://drpc.org/privacy-policy" - }, - { - "url": "https://mainnet.gateway.tenderly.co", - "tracking": "yes", - "trackingDetails": "Additionally, if you are an Account Member, we may collect business and transactional data about you (and your business) that accumulates over the normal course of operation regarding providing our Services. This may include transaction records, stored files, user profiles, information about collaborators, analytics data, and other metrics, as well as other types of information created or generated by your interaction with our Services. https://tenderly.co/privacy-policy" - }, - { - "url": "https://rpc.tenderly.co/fork/c63af728-a183-4cfb-b24e-a92801463484", - "tracking": "yes", - "trackingDetails": "Additionally, if you are an Account Member, we may collect business and transactional data about you (and your business) that accumulates over the normal course of operation regarding providing our Services. This may include transaction records, stored files, user profiles, information about collaborators, analytics data, and other metrics, as well as other types of information created or generated by your interaction with our Services. https://tenderly.co/privacy-policy" - }, - { - "url": "https://gateway.tenderly.co/public/mainnet", - "tracking": "yes", - "trackingDetails": "Additionally, if you are an Account Member, we may collect business and transactional data about you (and your business) that accumulates over the normal course of operation regarding providing our Services. This may include transaction records, stored files, user profiles, information about collaborators, analytics data, and other metrics, as well as other types of information created or generated by your interaction with our Services. https://tenderly.co/privacy-policy" - }, - { - "url": "https://api.zan.top/node/v1/eth/mainnet/public", - "tracking": "limited", - "trackingDetails": "ZAN Node Service generally does not store any kind of user information (e.g. IP address, location, requst location, request data, etc.) that transits through our RPCs except for one senario \u2014\u2014we may track your IP address when you are using our RPCs and will delete it immediately when you stoping using our RPCs. To learn more, please review our privacy policy at https://a.zan.top/static/Privacy-Policy.pdf" - }, - { - "url": "https://eth-mainnet.diamondswap.org/rpc", - "tracking": "limited", - "trackingDetails": "We record limited metadata from requests. This data is stored for a maximum of 90 days and is solely used for debugging, identifying suspicious activity, and generating analytics." - }, - { - "url": "https://rpc.notadegen.com/eth" - }, - { - "url": "https://eth.merkle.io", - "tracking": "none", - "trackingDetails": "merkle does not track or store user information that transits through our RPCs (location, IP, wallet, etc)." - }, - { - "url": "https://rpc.lokibuilder.xyz/wallet", - "tracking": "none", - "trackingDetails": "Private transactions. No tracking of any kind (no IPs, location, wallet etc.): https://lokibuilder.xyz/privacy" - }, - { - "url": "https://services.tokenview.io/vipapi/nodeservice/eth?apikey=qVHq2o6jpaakcw3lRstl", - "tracking": "yes", - "trackingDetails": "Information about your computer hardware and software may be automatically collected by Tokenview. This information can include such details as your IP address, browser type, domain names, access times, etc.https://services.tokenview.io/en/protocol" - }, - { - "url": "https://eth.nodeconnect.org", - "tracking": "yes", - "trackingDetails": "We may collect information about how you interact with our Service. This may include information about your operating system, IP address, and browser type : https://nodeconnect.org/privacy.txt" - }, - { - "url": "https://api.stateless.solutions/ethereum/v1/0ec6cac0-ecac-4247-8a41-1e685deadfe4", - "tracking": "none", - "trackingDetails": "Through any of our RPC API endpoints, whether public or private, we do not collect personal identifiers such as IP addresses, request origins, or specific request data. https://www.stateless.solutions/api-usage-privacy-policy" - }, - { - "url": "https://rpc.polysplit.cloud/v1/chain/1", - "tracking": "none", - "trackingDetails": "When you use our Service, we does not track the IP address or other user info.https://polysplit.cloud/privacy" - }, - { - "url": "https://rpc.tornadoeth.cash/eth", - "tracking": "none", - "trackingDetails": "TornadoRPC prioritizes user privacy and data security. We do not track or store any user information that passes through our RPC, except for data that is clearly visible on the blockchain. For detailed information about our privacy practices, see our Privacy Policy: https://rpc.tornadoeth.cash/privacy" - }, - { - "url": "https://rpc.tornadoeth.cash/mev", - "tracking": "none", - "trackingDetails": "TornadoRPC prioritizes user privacy and data security. We do not track or store any user information that passes through our RPC, except for data that is clearly visible on the blockchain. For detailed information about our privacy practices, see our Privacy Policy: https://rpc.tornadoeth.cash/privacy" - }, - { - "url": "https://eth1.lava.build/lava-referer-ed07f753-8c19-4309-b632-5a4a421aa589", - "tracking": "yes", - "trackingDetails": "We, our service providers, and our business partners may automatically log information about you, your computer or mobile device, and your interaction over time with the Service..., such as: Device data, ...your computer or mobile device's operating system type and version, manufacturer and model, browser type, screen resolution, RAM and disk size, CPU usage, device type (e.g., phone, tablet), IP address, unique identifiers (including identifiers used for advertising purposes), language settings, mobile device carrier, radio/network information (e.g., Wi-Fi, LTE, 3G), and general location information such as city, state or geographic area. https://www.lavanet.xyz/privacy-policy" - }, - { - "url": "https://eth1.lava.build/lava-referer-16223de7-12c0-49f3-8d87-e5f1e6a0eb3b", - "tracking": "yes", - "trackingDetails": "We, our service providers, and our business partners may automatically log information about you, your computer or mobile device, and your interaction over time with the Service..., such as: Device data, ...your computer or mobile device's operating system type and version, manufacturer and model, browser type, screen resolution, RAM and disk size, CPU usage, device type (e.g., phone, tablet), IP address, unique identifiers (including identifiers used for advertising purposes), language settings, mobile device carrier, radio/network information (e.g., Wi-Fi, LTE, 3G), and general location information such as city, state or geographic area. https://www.lavanet.xyz/privacy-policy" - }, - { - "url": "https://api.mycryptoapi.com/eth" - }, - { - "url": "wss://mainnet.gateway.tenderly.co" - }, - { - "url": "https://rpc.blocknative.com/boost" - }, - { - "url": "https://rpc.flashbots.net/fast" - }, - { - "url": "https://rpc.mevblocker.io/fast" - }, - { - "url": "https://rpc.mevblocker.io/noreverts" - }, - { - "url": "https://rpc.mevblocker.io/fullprivacy" - }, - { - "url": "wss://eth.drpc.org" - } - ], - "2": [ - { - "url": "https://node.eggs.cool" - }, - { - "url": "https://node.expanse.tech" - } - ], - "3": [ - { - "url": "https://rpc.ankr.com/eth_ropsten" - }, - { - "url": "https://ropsten.infura.io/v3/9aa3d95b3bc440fa88ea12eaa4456161" - } - ], - "4": [ - { - "url": "https://rpc.ankr.com/eth_rinkeby" - }, - { - "url": "https://rinkeby.infura.io/3/9aa3d95b3bc440fa88ea12eaa4456161" - } - ], - "5": [ - { - "url": "https://rpc.ankr.com/eth_goerli", - "tracking": "limited", - "trackingDetails": "For service delivery purposes, we temporarily record IP addresses to set usage limits and monitor for denial of service attacks against our infrastructure. Though we do look at high-level data around the success rate of transactions made over the blockchain RPC, we do not correlate wallet transactions made over the infrastructure to the IP address making the RPC request. Thus, we do not store, exploit, or share any information regarding Personal Identifiable Information (PII), including wallet addresses. https://www.ankr.com/blog/ankrs-ip-address-policy-and-your-privacy/" - }, - { - "url": "https://endpoints.omniatech.io/v1/eth/goerli/public", - "tracking": "none", - "trackingDetails": "All the data and metadata remain private to the users. No third party is able to access, analyze or track it. OMNIA leverages different technologies and approaches to guarantee the privacy of their users, from front-running protection and private mempools, to obfuscation and random dispatching. https://blog.omniatech.io/how-omnia-handles-your-personal-data" - }, - { - "url": "https://goerli.infura.io/v3/9aa3d95b3bc440fa88ea12eaa4456161", - "tracking": "limited", - "trackingDetails": "We collect wallet and IP address information. The purpose of this collection is to ensure successful transaction propagation, execution, and other important service functionality such as load balancing and DDoS protection. IP addresses and wallet address data relating to a transaction are not stored together or in a way that allows our systems to associate those two pieces of data. We retain and delete user data such as IP address and wallet address pursuant to our data retention policy. https://consensys.net/blog/news/consensys-data-retention-update/" - }, - { - "url": "https://eth-goerli.public.blastapi.io", - "tracking": "limited", - "trackingDetails": "All the information in our logs (log data) can only be accessed for the last 7 days at any certain time, and it is completely purged after 14 days. We do not store any user information for longer periods of time or with any other purposes than investigating potential errors and service failures. https://blastapi.io/privacy-policy" - }, - { - "url": "https://eth-goerli.g.alchemy.com/v2/demo", - "tracking": "yes", - "trackingDetails": "We may collect certain information automatically when you use our Services, such as your Internet protocol (IP) address, user settings, MAC address, cookie identifiers, mobile carrier, mobile advertising and other unique identifiers, browser or device information, location information (including approximate location derived from IP address), and Internet service provider. https://www.alchemy.com/policies/privacy-policy" - }, - { - "url": "https://goerli.blockpi.network/v1/rpc/public", - "tracking": "limited", - "trackingDetails": "We do not collect request data or request origin. We only temporarily record the request method names and IP addresses for 7 days to ensure our service functionality such as load balancing and DDoS protection. All the data is automatically deleted after 7 days and we do not store any user information for longer periods of time. https://blockpi.io/privacy-policy" - }, - { - "url": "https://eth-goerli.api.onfinality.io/public", - "tracking": "limited", - "trackingDetails": "For the sole purpose of providing our service, we temporarily record IP addresses and origins to check against free limits, provide load balancing, prevent DOS attacks, and to determine where best to locate our nodes. We do not, and will never, correlate or link specific wallet addresses or transactions made over our infrastructure to the IP address or origin making the RPC request. After processing IP addresses, we discard the IP address value within 24 hours. Read more here: https://blog.onfinality.io/how-does-onfinality-deal-with-personal-information/" - }, - { - "url": "https://rpc.goerli.eth.gateway.fm", - "tracking": "yes", - "trackingDetails": "When you use our services or visit our websites, we may log your device\u2019s IP address for debugging and security reasons. We may retain this information for up to twelve months" - }, - { - "url": "https://ethereum-goerli-rpc.publicnode.com", - "tracking": "none", - "trackingDetails": "We do not store or track any user data with the exception of data that will be public on chain. We do not correlate wallets address's with IP's, any data which is needed to transact is deleted after 24 hours. We also do no use any Analytics or 3rd party website tracking. https://www.publicnode.com/privacy" - }, - { - "url": "wss://ethereum-goerli-rpc.publicnode.com", - "tracking": "none", - "trackingDetails": "We do not store or track any user data with the exception of data that will be public on chain. We do not correlate wallets address's with IP's, any data which is needed to transact is deleted after 24 hours. We also do no use any Analytics or 3rd party website tracking. https://www.publicnode.com/privacy" - }, - { - "url": "https://goerli.gateway.tenderly.co", - "tracking": "yes", - "trackingDetails": "Additionally, if you are an Account Member, we may collect business and transactional data about you (and your business) that accumulates over the normal course of operation regarding providing our Services. This may include transaction records, stored files, user profiles, information about collaborators, analytics data, and other metrics, as well as other types of information created or generated by your interaction with our Services. https://tenderly.co/privacy-policy" - }, - { - "url": "https://gateway.tenderly.co/public/goerli", - "tracking": "yes", - "trackingDetails": "Additionally, if you are an Account Member, we may collect business and transactional data about you (and your business) that accumulates over the normal course of operation regarding providing our Services. This may include transaction records, stored files, user profiles, information about collaborators, analytics data, and other metrics, as well as other types of information created or generated by your interaction with our Services. https://tenderly.co/privacy-policy" - }, - { - "url": "https://api.zan.top/node/v1/eth/goerli/public", - "tracking": "limited", - "trackingDetails": "ZAN Node Service generally does not store any kind of user information (e.g. IP address, location, requst location, request data, etc.) that transits through our RPCs except for one senario \u2014\u2014we may track your IP address when you are using our RPCs and will delete it immediately when you stoping using our RPCs. To learn more, please review our privacy policy at https://a.zan.top/static/Privacy-Policy.pdf" - }, - { - "url": "https://builder-rpc1.0xblockswap.com", - "tracking": "yes", - "trackingDetails": "Blockswap RPC does not track any kind of user information at the builder RPC level (i.e. IP, location, etc.) nor is any information logged. All blocks are encrypted when passed between proposers, builders, relayers, and Ethereum. It does not transmit any transactions to the relayer. We use analytical cookies to see which content on the Site is highly frequented and also to analyze if content should be updated or improved. These cookies process and save data like your browser type, referrer URLs, operating system, date/time stamp, views and clicks on the Site, and your (truncated) IP address. For more information please visit: https://docs.pon.network/pon/privacy" - }, - { - "url": "https://builder-rpc2.0xblockswap.com", - "tracking": "yes", - "trackingDetails": "Blockswap RPC does not track any kind of user information at the builder RPC level (i.e. IP, location, etc.) nor is any information logged. All blocks are encrypted when passed between proposers, builders, relayers, and Ethereum. It does not transmit any transactions to the relayer. We use analytical cookies to see which content on the Site is highly frequented and also to analyze if content should be updated or improved. These cookies process and save data like your browser type, referrer URLs, operating system, date/time stamp, views and clicks on the Site, and your (truncated) IP address. For more information please visit: https://docs.pon.network/pon/privacy" - }, - { - "url": "https://rpc.tornadoeth.cash/goerli", - "tracking": "none", - "trackingDetails": "TornadoRPC prioritizes user privacy and data security. We do not track or store any user information that passes through our RPC, except for data that is clearly visible on the blockchain. For detailed information about our privacy practices, see our Privacy Policy: https://rpc.tornadoeth.cash/privacy" - }, - { - "url": "https://rpc.goerli.mudit.blog" - }, - { - "url": "wss://goerli.gateway.tenderly.co" - } - ], - "7": [ - { - "url": "https://rpc.dome.cloud" - }, - { - "url": "https://rpc.thaichain.org" - } - ], - "8": [ - { - "url": "https://rpc.octano.dev" - }, - { - "url": "https://pyrus2.ubiqscan.io" - } - ], - "10": [ - { - "url": "https://optimism.llamarpc.com", - "tracking": "none", - "trackingDetails": "LlamaNodes is open-source and does not track or store user information that transits through our RPCs (location, IP, wallet, etc). To learn more, have a look at the public Privacy Policy in our docs: https://llamanodes.notion.site/Privacy-Practices-f20fd8fdd02a469d9d4f42a5989bb936", - "isOpenSource": true - }, - { - "url": "https://mainnet.optimism.io" - }, - { - "url": "https://optimism-mainnet.public.blastapi.io", - "tracking": "limited", - "trackingDetails": "All the information in our logs (log data) can only be accessed for the last 7 days at any certain time, and it is completely purged after 14 days. We do not store any user information for longer periods of time or with any other purposes than investigating potential errors and service failures. https://blastapi.io/privacy-policy" - }, - { - "url": "https://rpc.ankr.com/optimism", - "tracking": "limited", - "trackingDetails": "For service delivery purposes, we temporarily record IP addresses to set usage limits and monitor for denial of service attacks against our infrastructure. Though we do look at high-level data around the success rate of transactions made over the blockchain RPC, we do not correlate wallet transactions made over the infrastructure to the IP address making the RPC request. Thus, we do not store, exploit, or share any information regarding Personal Identifiable Information (PII), including wallet addresses. https://www.ankr.com/blog/ankrs-ip-address-policy-and-your-privacy/" - }, - { - "url": "https://1rpc.io/op", - "tracking": "none", - "trackingDetails": "With the exception of data that will be public on chain, all the other metadata / data should remain private to users and other parties should not be able to access or collect it. 1RPC uses many different techniques to prevent the unnecessary collection of user privacy, which prevents tracking from RPC providers. https://docs.1rpc.io/technology/zero-tracking" - }, - { - "url": "https://op-pokt.nodies.app", - "tracking": "none", - "trackingDetails": "What We Do Not Collect: User's IP address, request origin, request data. https://www.blog.pokt.network/rpc-logging-practices/" - }, - { - "url": "https://opt-mainnet.g.alchemy.com/v2/demo", - "tracking": "yes", - "trackingDetails": "We may collect certain information automatically when you use our Services, such as your Internet protocol (IP) address, user settings, MAC address, cookie identifiers, mobile carrier, mobile advertising and other unique identifiers, browser or device information, location information (including approximate location derived from IP address), and Internet service provider. https://www.alchemy.com/policies/privacy-policy" - }, - { - "url": "https://optimism.blockpi.network/v1/rpc/public", - "tracking": "limited", - "trackingDetails": "We do not collect request data or request origin. We only temporarily record the request method names and IP addresses for 7 days to ensure our service functionality such as load balancing and DDoS protection. All the data is automatically deleted after 7 days and we do not store any user information for longer periods of time. https://blockpi.io/privacy-policy" - }, - { - "url": "https://endpoints.omniatech.io/v1/op/mainnet/public", - "tracking": "none", - "trackingDetails": "All the data and metadata remain private to the users. No third party is able to access, analyze or track it. OMNIA leverages different technologies and approaches to guarantee the privacy of their users, from front-running protection and private mempools, to obfuscation and random dispatching. https://blog.omniatech.io/how-omnia-handles-your-personal-data" - }, - { - "url": "https://optimism.api.onfinality.io/public", - "tracking": "limited", - "trackingDetails": "For the sole purpose of providing our service, we temporarily record IP addresses and origins to check against free limits, provide load balancing, prevent DOS attacks, and to determine where best to locate our nodes. We do not, and will never, correlate or link specific wallet addresses or transactions made over our infrastructure to the IP address or origin making the RPC request. After processing IP addresses, we discard the IP address value within 24 hours. Read more here: https://blog.onfinality.io/how-does-onfinality-deal-with-personal-information/" - }, - { - "url": "https://rpc.optimism.gateway.fm", - "tracking": "yes", - "trackingDetails": "When you use our services or visit our websites, we may log your device\u2019s IP address for debugging and security reasons. We may retain this information for up to twelve months" - }, - { - "url": "https://optimism-rpc.publicnode.com", - "tracking": "none", - "trackingDetails": "We do not store or track any user data with the exception of data that will be public on chain. We do not correlate wallets address's with IP's, any data which is needed to transact is deleted after 24 hours. We also do no use any Analytics or 3rd party website tracking. https://www.publicnode.com/privacy" - }, - { - "url": "wss://optimism-rpc.publicnode.com", - "tracking": "none", - "trackingDetails": "We do not store or track any user data with the exception of data that will be public on chain. We do not correlate wallets address's with IP's, any data which is needed to transact is deleted after 24 hours. We also do no use any Analytics or 3rd party website tracking. https://www.publicnode.com/privacy" - }, - { - "url": "https://optimism.meowrpc.com", - "tracking": "none", - "trackingDetails": "With the exclusion of data that will be openly visible and available on the blockchain, MEOWRPC does not track or store any kind of user information (such as location, IP address, etc.) that passes through our RPC. For further details regarding our privacy practices, we encourage you to refer to our Privacy Policy. https://privacy.meowrpc.com" - }, - { - "url": "https://api.zan.top/node/v1/opt/mainnet/public", - "tracking": "limited", - "trackingDetails": "ZAN Node Service generally does not store any kind of user information (e.g. IP address, location, requst location, request data, etc.) that transits through our RPCs except for one senario \u2014\u2014we may track your IP address when you are using our RPCs and will delete it immediately when you stoping using our RPCs. To learn more, please review our privacy policy at https://a.zan.top/static/Privacy-Policy.pdf" - }, - { - "url": "https://optimism.drpc.org", - "tracking": "none", - "trackingDetails": "Specific types of technical data that we may temporarily log include:IP address (only in logs for redirecting requests to the nearest RPC nodes and rate limiting at the free level, which are cleared weekly). The user ID is hidden in the temporary logs, so it is not possible to link them to a specific user.https://drpc.org/privacy-policy" - }, - { - "url": "https://optimism.gateway.tenderly.co", - "tracking": "yes", - "trackingDetails": "Additionally, if you are an Account Member, we may collect business and transactional data about you (and your business) that accumulates over the normal course of operation regarding providing our Services. This may include transaction records, stored files, user profiles, information about collaborators, analytics data, and other metrics, as well as other types of information created or generated by your interaction with our Services. https://tenderly.co/privacy-policy" - }, - { - "url": "https://gateway.tenderly.co/public/optimism", - "tracking": "yes", - "trackingDetails": "Additionally, if you are an Account Member, we may collect business and transactional data about you (and your business) that accumulates over the normal course of operation regarding providing our Services. This may include transaction records, stored files, user profiles, information about collaborators, analytics data, and other metrics, as well as other types of information created or generated by your interaction with our Services. https://tenderly.co/privacy-policy" - }, - { - "url": "https://api.stateless.solutions/optimism/v1/f373feb1-c8e4-41c9-bb74-2c691988dd34", - "tracking": "none", - "trackingDetails": "Through any of our RPC API endpoints, whether public or private, we do not collect personal identifiers such as IP addresses, request origins, or specific request data. https://www.stateless.solutions/api-usage-privacy-policy" - }, - { - "url": "https://rpc.tornadoeth.cash/optimism", - "tracking": "none", - "trackingDetails": "TornadoRPC prioritizes user privacy and data security. We do not track or store any user information that passes through our RPC, except for data that is clearly visible on the blockchain. For detailed information about our privacy practices, see our Privacy Policy: https://rpc.tornadoeth.cash/privacy" - }, - { - "url": "wss://optimism.gateway.tenderly.co" - }, - { - "url": "wss://optimism.drpc.org" - } - ], - "11": [ - { - "url": "https://api.metadium.com/dev" - }, - { - "url": "https://api.metadium.com/prod" - } - ], - "12": [ - { - "url": "https://api.metadium.com/dev" - } - ], - "13": [ - { - "url": "https://staging.diode.io:8443" - }, - { - "url": "wss://staging.diode.io:8443/ws" - } - ], - "14": [ - { - "url": "https://flare-api.flare.network/ext/C/rpc" - }, - { - "url": "https://flare.rpc.thirdweb.com" - }, - { - "url": "https://flare-bundler.etherspot.io" - }, - { - "url": "https://rpc.ankr.com/flare" - }, - { - "url": "https://01-gravelines-003-01.rpc.tatum.io/ext/bc/C/rpc" - }, - { - "url": "https://01-vinthill-003-02.rpc.tatum.io/ext/bc/C/rpc" - }, - { - "url": "https://rpc.ftso.au/flare" - }, - { - "url": "https://flare.enosys.global/ext/C/rpc" - }, - { - "url": "https://flare.solidifi.app/ext/C/rpc" - } - ], - "15": [ - { - "url": "https://prenet.diode.io:8443" - }, - { - "url": "wss://prenet.diode.io:8443/ws" - } - ], - "16": [ - { - "url": "https://coston-api.flare.network/ext/C/rpc" - }, - { - "url": "https://songbird-testnet-coston.rpc.thirdweb.com" - }, - { - "url": "https://01-gravelines-004-01.rpc.tatum.io/ext/bc/C/rpc" - }, - { - "url": "https://02-chicago-004-02.rpc.tatum.io/ext/bc/C/rpc" - }, - { - "url": "https://02-tokyo-004-03.rpc.tatum.io/ext/bc/C/rpc" - }, - { - "url": "https://coston.enosys.global/ext/C/rpc" - } - ], - "17": [ - { - "url": "https://rpc.thaifi.com" - } - ], - "18": [ - { - "url": "https://testnet-rpc.thundercore.com" - }, - { - "url": "https://thundercore-testnet.drpc.org" - }, - { - "url": "wss://thundercore-testnet.drpc.org" - } - ], - "19": [ - { - "url": "https://songbird.towolabs.com/rpc" - }, - { - "url": "https://songbird-api.flare.network/ext/C/rpc" - }, - { - "url": "https://01-gravelines-006-01.rpc.tatum.io/ext/bc/C/rpc" - }, - { - "url": "https://01-vinthill-006-02.rpc.tatum.io/ext/bc/C/rpc" - }, - { - "url": "https://02-tokyo-006-03.rpc.tatum.io/ext/bc/C/rpc" - }, - { - "url": "https://rpc.ftso.au/songbird" - }, - { - "url": "https://songbird.enosys.global/ext/C/rpc" - }, - { - "url": "https://songbird.solidifi.app/ext/C/rpc" - } - ], - "20": [ - { - "url": "https://api.elastos.io/esc" - }, - { - "url": "https://api.trinity-tech.io/esc" - }, - { - "url": "https://api.elastos.io/eth" - } - ], - "21": [ - { - "url": "https://api-testnet.elastos.io/eth" - } - ], - "22": [ - { - "url": "https://api.trinity-tech.io/eid" - }, - { - "url": "https://api.elastos.io/eid" - } - ], - "24": [ - { - "url": "https://rpc.kardiachain.io" - } - ], - "25": [ - { - "url": "https://evm.cronos.org" - }, - { - "url": "https://cronos-rpc.elk.finance" - }, - { - "url": "https://cronos.blockpi.network/v1/rpc/public", - "tracking": "limited", - "trackingDetails": "We do not collect request data or request origin. We only temporarily record the request method names and IP addresses for 7 days to ensure our service functionality such as load balancing and DDoS protection. All the data is automatically deleted after 7 days and we do not store any user information for longer periods of time. https://blockpi.io/privacy-policy" - }, - { - "url": "https://cronos-evm-rpc.publicnode.com", - "tracking": "none", - "trackingDetails": "We do not store or track any user data with the exception of data that will be public on chain. We do not correlate wallets address's with IP's, any data which is needed to transact is deleted after 24 hours. We also do no use any Analytics or 3rd party website tracking. https://www.publicnode.com/privacy" - }, - { - "url": "wss://cronos-evm-rpc.publicnode.com", - "tracking": "none", - "trackingDetails": "We do not store or track any user data with the exception of data that will be public on chain. We do not correlate wallets address's with IP's, any data which is needed to transact is deleted after 24 hours. We also do no use any Analytics or 3rd party website tracking. https://www.publicnode.com/privacy" - }, - { - "url": "https://1rpc.io/cro", - "tracking": "none", - "trackingDetails": "With the exception of data that will be public on chain, all the other metadata / data should remain private to users and other parties should not be able to access or collect it. 1RPC uses many different techniques to prevent the unnecessary collection of user privacy, which prevents tracking from RPC providers. https://docs.1rpc.io/technology/zero-tracking" - }, - { - "url": "https://cronos.drpc.org" - }, - { - "url": "wss://cronos.drpc.org" - } - ], - "26": [ - { - "url": "https://testrpc.genesisl1.org" - } - ], - "27": [ - { - "url": "https://rpc.shibachain.net" - }, - { - "url": "https://rpc.shibchain.org" - } - ], - "29": [ - { - "url": "https://rpc.genesisl1.org" - } - ], - "30": [ - { - "url": "https://public-node.rsk.co" - }, - { - "url": "https://mycrypto.rsk.co" - } - ], - "31": [ - { - "url": "https://public-node.testnet.rsk.co" - }, - { - "url": "https://mycrypto.testnet.rsk.co" - } - ], - "32": [ - { - "url": "https://test2.goodata.io" - } - ], - "33": [ - { - "url": "https://rpc.goodata.io" - } - ], - "34": [ - { - "url": "https://mainnet-rpc.scai.network" - } - ], - "35": [ - { - "url": "https://rpc.tbwg.io" - } - ], - "36": [ - { - "url": "https://mainnet.dxchain.com" - } - ], - "37": [ - { - "url": "https://dimension-evm-rpc.xpla.dev" - } - ], - "38": [ - { - "url": "https://rpc.valorbit.com/v2" - } - ], - "39": [ - { - "url": "https://rpc-mainnet.uniultra.xyz" - } - ], - "40": [ - { - "url": "https://mainnet.telos.net/evm" - }, - { - "url": "https://rpc1.eu.telos.net/evm" - }, - { - "url": "https://rpc1.us.telos.net/evm" - }, - { - "url": "https://rpc2.us.telos.net/evm" - }, - { - "url": "https://api.kainosbp.com/evm" - }, - { - "url": "https://rpc2.eu.telos.net/evm" - }, - { - "url": "https://evm.teloskorea.com/evm" - }, - { - "url": "https://rpc2.teloskorea.com/evm" - }, - { - "url": "https://rpc01.us.telosunlimited.io/evm" - }, - { - "url": "https://rpc02.us.telosunlimited.io/evm" - }, - { - "url": "https://1rpc.io/telos/evm", - "tracking": "none", - "trackingDetails": "With the exception of data that will be public on chain, all the other metadata / data should remain private to users and other parties should not be able to access or collect it. 1RPC uses many different techniques to prevent the unnecessary collection of user privacy, which prevents tracking from RPC providers. https://docs.1rpc.io/technology/zero-tracking" - }, - { - "url": "https://telos.drpc.org" - }, - { - "url": "wss://telos.drpc.org" - } - ], - "41": [ - { - "url": "https://testnet.telos.net/evm" - }, - { - "url": "https://telos-testnet.drpc.org" - }, - { - "url": "wss://telos-testnet.drpc.org" - } - ], - "42": [ - { - "url": "https://rpc.mainnet.lukso.network" - }, - { - "url": "wss://ws-rpc.mainnet.lukso.network" - } - ], - "43": [ - { - "url": "https://pangolin-rpc.darwinia.network" - } - ], - "44": [ - { - "url": "https://crab.api.onfinality.io/public", - "tracking": "limited", - "trackingDetails": "For the sole purpose of providing our service, we temporarily record IP addresses and origins to check against free limits, provide load balancing, prevent DOS attacks, and to determine where best to locate our nodes. We do not, and will never, correlate or link specific wallet addresses or transactions made over our infrastructure to the IP address or origin making the RPC request. After processing IP addresses, we discard the IP address value within 24 hours. Read more here: https://blog.onfinality.io/how-does-onfinality-deal-with-personal-information/" - }, - { - "url": "https://crab-rpc.darwinia.network" - }, - { - "url": "https://crab-rpc.dcdao.box" - } - ], - "45": [ - { - "url": "https://pangoro-rpc.darwinia.network" - } - ], - "46": [ - { - "url": "https://rpc.darwinia.network" - }, - { - "url": "https://darwinia-rpc.dcdao.box" - }, - { - "url": "https://darwinia-rpc.dwellir.com" - } - ], - "47": [ - { - "url": "https://aic.acria.ai" - } - ], - "48": [ - { - "url": "https://rpc.etm.network" - } - ], - "49": [ - { - "url": "https://rpc.pioneer.etm.network" - } - ], - "50": [ - { - "url": "https://rpc.xdcrpc.com" - }, - { - "url": "https://rpc1.xinfin.network" - }, - { - "url": "https://erpc.xinfin.network" - }, - { - "url": "https://rpc.xinfin.network" - }, - { - "url": "https://erpc.xdcrpc.com" - }, - { - "url": "https://rpc.xdc.org" - }, - { - "url": "https://rpc.ankr.com/xdc", - "tracking": "limited", - "trackingDetails": "For service delivery purposes, we temporarily record IP addresses to set usage limits and monitor for denial of service attacks against our infrastructure. Though we do look at high-level data around the success rate of transactions made over the blockchain RPC, we do not correlate wallet transactions made over the infrastructure to the IP address making the RPC request. Thus, we do not store, exploit, or share any information regarding Personal Identifiable Information (PII), including wallet addresses. https://www.ankr.com/blog/ankrs-ip-address-policy-and-your-privacy/" - }, - { - "url": "https://rpc-xdc.icecreamswap.com" - } - ], - "51": [ - { - "url": "https://rpc.apothem.network" - }, - { - "url": "https://erpc.apothem.network" - }, - { - "url": "https://apothem.xdcrpc.com" - } - ], - "52": [ - { - "url": "https://rpc.coinex.net" - }, - { - "url": "https://rpc1.coinex.net" - }, - { - "url": "https://rpc2.coinex.net" - }, - { - "url": "https://rpc3.coinex.net" - }, - { - "url": "https://rpc4.coinex.net" - } - ], - "53": [ - { - "url": "https://testnet-rpc.coinex.net" - } - ], - "54": [ - { - "url": "https://mainnet.openpiece.io" - } - ], - "55": [ - { - "url": "https://rpc-1.zyx.network" - }, - { - "url": "https://rpc-2.zyx.network" - }, - { - "url": "https://rpc-3.zyx.network" - }, - { - "url": "https://rpc-5.zyx.network" - }, - { - "url": "https://rpc-4.zyx.network" - }, - { - "url": "https://rpc-6.zyx.network" - } - ], - "56": [ - { - "url": "https://binance.llamarpc.com", - "tracking": "none", - "trackingDetails": "LlamaNodes is open-source and does not track or store user information that transits through our RPCs (location, IP, wallet, etc). To learn more, have a look at the public Privacy Policy in our docs: https://llamanodes.notion.site/Privacy-Practices-f20fd8fdd02a469d9d4f42a5989bb936", - "isOpenSource": true - }, - { - "url": "https://bsc-dataseed.bnbchain.org" - }, - { - "url": "https://bsc-dataseed1.defibit.io" - }, - { - "url": "https://bsc-dataseed1.ninicoin.io" - }, - { - "url": "https://bsc-dataseed2.defibit.io" - }, - { - "url": "https://bsc-dataseed3.defibit.io" - }, - { - "url": "https://bsc-dataseed4.defibit.io" - }, - { - "url": "https://bsc-dataseed2.ninicoin.io" - }, - { - "url": "https://bsc-dataseed3.ninicoin.io" - }, - { - "url": "https://bsc-dataseed4.ninicoin.io" - }, - { - "url": "https://bsc-dataseed1.bnbchain.org" - }, - { - "url": "https://bsc-dataseed2.bnbchain.org" - }, - { - "url": "https://bsc-dataseed3.bnbchain.org" - }, - { - "url": "https://bsc-dataseed4.bnbchain.org" - }, - { - "url": "https://bsc-dataseed6.dict.life" - }, - { - "url": "https://rpc-bsc.48.club", - "tracking": "limited", - "trackingDetails": "IP addresses will be read for rate-limit purpose without being actively stored at application layer. Also notice that we don't actively purge user footprint in lower-level protocol." - }, - { - "url": "https://koge-rpc-bsc.48.club", - "tracking": "limited", - "trackingDetails": "IP addresses will be read for rate-limit purpose without being actively stored at application layer. Also notice that we don't actively purge user footprint in lower-level protocol." - }, - { - "url": "https://endpoints.omniatech.io/v1/bsc/mainnet/public", - "tracking": "none", - "trackingDetails": "All the data and metadata remain private to the users. No third party is able to access, analyze or track it. OMNIA leverages different technologies and approaches to guarantee the privacy of their users, from front-running protection and private mempools, to obfuscation and random dispatching. https://blog.omniatech.io/how-omnia-handles-your-personal-data" - }, - { - "url": "https://bsc-pokt.nodies.app", - "tracking": "none", - "trackingDetails": "What We Do Not Collect: User's IP address, request origin, request data. https://www.blog.pokt.network/rpc-logging-practices/" - }, - { - "url": "https://bsc-mainnet.nodereal.io/v1/64a9df0874fb4a93b9d0a3849de012d3", - "tracking": "yes", - "trackingDetails": `We may automatically record certain information about how you use our Sites (we refer to this information as "Log Data"). Log Data may include information such as a user's Internet Protocol (IP) address, device and browser type, operating system, the pages or features of our Sites to which a user browsed and the time spent on those pages or features, the frequency with which the Sites are used by a user, search terms, the links on our Sites that a user clicked on or used, and other statistics. We use this information to administer the Service and we analyze (and may engage third parties to analyze) this information to improve and enhance the Service by expanding its features and functionality and tailoring it to our users' needs and preferences. https://nodereal.io/terms` - }, - { - "url": "https://rpc.ankr.com/bsc", - "tracking": "limited", - "trackingDetails": "For service delivery purposes, we temporarily record IP addresses to set usage limits and monitor for denial of service attacks against our infrastructure. Though we do look at high-level data around the success rate of transactions made over the blockchain RPC, we do not correlate wallet transactions made over the infrastructure to the IP address making the RPC request. Thus, we do not store, exploit, or share any information regarding Personal Identifiable Information (PII), including wallet addresses. https://www.ankr.com/blog/ankrs-ip-address-policy-and-your-privacy/" - }, - { - "url": "https://getblock.io/nodes/bsc", - "tracking": "limited", - "trackingDetails": "We automatically collect certain information through cookies and similar technologies when you visit, use or navigate Website. This information does not reveal your specific identity (like your name or contact information) and does not allow to identify you. However, it may include device and usage information, such as your IP address, browser and device characteristics, its type and version, operating system, language preferences, referring URLs, device name, country, location, information about how and when you use our Website, information about your interaction in our emails, and other technical and statistical information. This information is primarily needed to maintain the security and operation of our Website, and for our internal analytics and reporting purposes.Specifically, as the RPC provider, we do not log and store your IP address, country, location and similar data. https://getblock.io/privacy-policy/" - }, - { - "url": "https://bscrpc.com" - }, - { - "url": "https://bsc.rpcgator.com" - }, - { - "url": "https://binance.nodereal.io", - "tracking": "yes", - "trackingDetails": `We may automatically record certain information about how you use our Sites (we refer to this information as "Log Data"). Log Data may include information such as a user's Internet Protocol (IP) address, device and browser type, operating system, the pages or features of our Sites to which a user browsed and the time spent on those pages or features, the frequency with which the Sites are used by a user, search terms, the links on our Sites that a user clicked on or used, and other statistics. We use this information to administer the Service and we analyze (and may engage third parties to analyze) this information to improve and enhance the Service by expanding its features and functionality and tailoring it to our users' needs and preferences. https://nodereal.io/terms` - }, - { - "url": "https://bsc-mainnet.rpcfast.com?api_key=xbhWBI1Wkguk8SNMu1bvvLurPGLXmgwYeC4S6g2H7WdwFigZSmPWVZRxrskEQwIf" - }, - { - "url": "https://nodes.vefinetwork.org/smartchain" - }, - { - "url": "https://1rpc.io/bnb", - "tracking": "none", - "trackingDetails": "With the exception of data that will be public on chain, all the other metadata / data should remain private to users and other parties should not be able to access or collect it. 1RPC uses many different techniques to prevent the unnecessary collection of user privacy, which prevents tracking from RPC providers. https://docs.1rpc.io/technology/zero-tracking" - }, - { - "url": "https://bsc.rpc.blxrbdn.com", - "tracking": "yes", - "trackingDetails": "We may collect information that is publicly available in a blockchain when providing our services, such as: Public wallet identifier of the sender and recipient of a transaction, Unique identifier for a transaction, Date and time of a transaction, Transaction value, along with associated costs, Status of a transaction (such as whether the transaction is complete, in-progress, or resulted in an error) https://bloxroute.com/wp-content/uploads/2021/12/bloXroute-Privacy-Policy-04-01-2019-Final.pdf" - }, - { - "url": "https://bsc.blockpi.network/v1/rpc/public", - "tracking": "limited", - "trackingDetails": "We do not collect request data or request origin. We only temporarily record the request method names and IP addresses for 7 days to ensure our service functionality such as load balancing and DDoS protection. All the data is automatically deleted after 7 days and we do not store any user information for longer periods of time. https://blockpi.io/privacy-policy" - }, - { - "url": "https://bnb.api.onfinality.io/public", - "tracking": "limited", - "trackingDetails": "For the sole purpose of providing our service, we temporarily record IP addresses and origins to check against free limits, provide load balancing, prevent DOS attacks, and to determine where best to locate our nodes. We do not, and will never, correlate or link specific wallet addresses or transactions made over our infrastructure to the IP address or origin making the RPC request. After processing IP addresses, we discard the IP address value within 24 hours. Read more here: https://blog.onfinality.io/how-does-onfinality-deal-with-personal-information/" - }, - { - "url": "https://bsc-rpc.publicnode.com", - "tracking": "none", - "trackingDetails": "We do not store or track any user data with the exception of data that will be public on chain. We do not correlate wallets address's with IP's, any data which is needed to transact is deleted after 24 hours. We also do no use any Analytics or 3rd party website tracking. https://www.publicnode.com/privacy" - }, - { - "url": "wss://bsc-rpc.publicnode.com", - "tracking": "none", - "trackingDetails": "We do not store or track any user data with the exception of data that will be public on chain. We do not correlate wallets address's with IP's, any data which is needed to transact is deleted after 24 hours. We also do no use any Analytics or 3rd party website tracking. https://www.publicnode.com/privacy" - }, - { - "url": "https://bsc-mainnet.public.blastapi.io", - "tracking": "limited", - "trackingDetails": "All the information in our logs (log data) can only be accessed for the last 7 days at any certain time, and it is completely purged after 14 days. We do not store any user information for longer periods of time or with any other purposes than investigating potential errors and service failures. https://blastapi.io/privacy-policy" - }, - { - "url": "https://bsc.meowrpc.com", - "tracking": "none", - "trackingDetails": "With the exclusion of data that will be openly visible and available on the blockchain, MEOWRPC does not track or store any kind of user information (such as location, IP address, etc.) that passes through our RPC. For further details regarding our privacy practices, we encourage you to refer to our Privacy Policy. https://privacy.meowrpc.com" - }, - { - "url": "https://api.zan.top/node/v1/bsc/mainnet/public", - "tracking": "limited", - "trackingDetails": "ZAN Node Service generally does not store any kind of user information (e.g. IP address, location, requst location, request data, etc.) that transits through our RPCs except for one senario \u2014\u2014we may track your IP address when you are using our RPCs and will delete it immediately when you stoping using our RPCs. To learn more, please review our privacy policy at https://a.zan.top/static/Privacy-Policy.pdf" - }, - { - "url": "https://bsc.drpc.org", - "tracking": "none", - "trackingDetails": "Specific types of technical data that we may temporarily log include:IP address (only in logs for redirecting requests to the nearest RPC nodes and rate limiting at the free level, which are cleared weekly). The user ID is hidden in the temporary logs, so it is not possible to link them to a specific user.https://drpc.org/privacy-policy" - }, - { - "url": "https://services.tokenview.io/vipapi/nodeservice/bsc?apikey=qVHq2o6jpaakcw3lRstl", - "tracking": "yes", - "trackingDetails": "Information about your computer hardware and software may be automatically collected by Tokenview. This information can include such details as your IP address, browser type, domain names, access times, etc.https://services.tokenview.io/en/protocol" - }, - { - "url": "https://rpc.polysplit.cloud/v1/chain/56", - "tracking": "none", - "trackingDetails": "When you use our Service, we does not track the IP address or other user info.https://polysplit.cloud/privacy" - }, - { - "url": "https://rpc.tornadoeth.cash/bsc", - "tracking": "none", - "trackingDetails": "TornadoRPC prioritizes user privacy and data security. We do not track or store any user information that passes through our RPC, except for data that is clearly visible on the blockchain. For detailed information about our privacy practices, see our Privacy Policy: https://rpc.tornadoeth.cash/privacy" - }, - { - "url": "wss://bsc-ws-node.nariox.org" - } - ], - "57": [ - { - "url": "https://rpc.syscoin.org" - }, - { - "url": "https://rpc.ankr.com/syscoin", - "tracking": "limited", - "trackingDetails": "For service delivery purposes, we temporarily record IP addresses to set usage limits and monitor for denial of service attacks against our infrastructure. Though we do look at high-level data around the success rate of transactions made over the blockchain RPC, we do not correlate wallet transactions made over the infrastructure to the IP address making the RPC request. Thus, we do not store, exploit, or share any information regarding Personal Identifiable Information (PII), including wallet addresses. https://www.ankr.com/blog/ankrs-ip-address-policy-and-your-privacy/" - }, - { - "url": "https://syscoin-evm-rpc.publicnode.com", - "tracking": "none", - "trackingDetails": "We do not store or track any user data with the exception of data that will be public on chain. We do not correlate wallets address's with IP's, any data which is needed to transact is deleted after 24 hours. We also do no use any Analytics or 3rd party website tracking. https://www.publicnode.com/privacy" - }, - { - "url": "wss://syscoin-evm-rpc.publicnode.com", - "tracking": "none", - "trackingDetails": "We do not store or track any user data with the exception of data that will be public on chain. We do not correlate wallets address's with IP's, any data which is needed to transact is deleted after 24 hours. We also do no use any Analytics or 3rd party website tracking. https://www.publicnode.com/privacy" - }, - { - "url": "https://rpc.ankr.com/syscoin/${ANKR_API_KEY}" - }, - { - "url": "https://syscoin.public-rpc.com" - }, - { - "url": "wss://rpc.syscoin.org/wss" - }, - { - "url": "https://syscoin-evm.publicnode.com" - }, - { - "url": "wss://syscoin-evm.publicnode.com" - } - ], - "58": [ - { - "url": "https://dappnode1.ont.io:10339" - }, - { - "url": "https://dappnode2.ont.io:10339" - }, - { - "url": "https://dappnode3.ont.io:10339" - }, - { - "url": "https://dappnode4.ont.io:10339" - }, - { - "url": "http://dappnode1.ont.io:20339" - }, - { - "url": "http://dappnode2.ont.io:20339" - }, - { - "url": "http://dappnode3.ont.io:20339" - }, - { - "url": "http://dappnode4.ont.io:20339" - } - ], - "60": [ - { - "url": "https://rpc.gochain.io" - } - ], - "61": [ - { - "url": "https://etc.mytokenpocket.vip" - }, - { - "url": "https://rpc.etcinscribe.com" - }, - { - "url": "https://etc.etcdesktop.com" - }, - { - "url": "https://besu-de.etc-network.info", - "tracking": "limited", - "trackingDetails": "We do use analytics at 3rd party tracking websites (Google Analytics & Google Search Console) the following interactions with our systems are automatically logged when you access our services, such as your Internet Protocol (IP) address as well as accessed services and pages(Packet details are discarded / not logged!). Data redemption is varying based on traffic, but deleted after 31 days." - }, - { - "url": "https://geth-de.etc-network.info", - "tracking": "limited", - "trackingDetails": "We do use analytics at 3rd party tracking websites (Google Analytics & Google Search Console) the following interactions with our systems are automatically logged when you access our services, such as your Internet Protocol (IP) address as well as accessed services and pages(Packet details are discarded / not logged!). Data redemption is varying based on traffic, but deleted after 31 days." - }, - { - "url": "https://besu-at.etc-network.info", - "tracking": "limited", - "trackingDetails": "We do use analytics at 3rd party tracking websites (Google Analytics & Google Search Console) the following interactions with our systems are automatically logged when you access our services, such as your Internet Protocol (IP) address as well as accessed services and pages(Packet details are discarded / not logged!). Data redemption is varying based on traffic, but deleted after 31 days." - }, - { - "url": "https://geth-at.etc-network.info", - "tracking": "limited", - "trackingDetails": "We do use analytics at 3rd party tracking websites (Google Analytics & Google Search Console) the following interactions with our systems are automatically logged when you access our services, such as your Internet Protocol (IP) address as well as accessed services and pages(Packet details are discarded / not logged!). Data redemption is varying based on traffic, but deleted after 31 days." - }, - { - "url": "https://services.tokenview.io/vipapi/nodeservice/etc?apikey=qVHq2o6jpaakcw3lRstl", - "tracking": "yes", - "trackingDetails": "Information about your computer hardware and software may be automatically collected by Tokenview. This information can include such details as your IP address, browser type, domain names, access times, etc.https://services.tokenview.io/en/protocol" - }, - { - "url": "https://etc.rivet.link", - "tracking": "none", - "trackingDetails": "We collect End Users\u2019 information when they use our Customers\u2019 web3-enabled websites, web applications, and APIs. This information may include but is not limited to IP addresses, system configuration information, and other information about traffic to and from Customers\u2019 websites (collectively, \u201CLog Data\u201D). We collect and use Log Data to operate, maintain, and improve our Services in performance of our obligations under our Customer agreements.https://rivet.cloud/privacy-policy" - } - ], - "63": [ - { - "url": "https://rpc.mordor.etccooperative.org" - }, - { - "url": "https://geth-mordor.etc-network.info", - "tracking": "limited", - "trackingDetails": "We do use analytics at 3rd party tracking websites (Google Analytics & Google Search Console) the following interactions with our systems are automatically logged when you access our services, such as your Internet Protocol (IP) address as well as accessed services and pages(Packet details are discarded / not logged!). Data redemption is varying based on traffic, but deleted after 31 days." - } - ], - "64": [ - { - "url": "https://jsonrpc.ellaism.org" - } - ], - "65": [ - { - "url": "https://exchaintestrpc.okex.org" - } - ], - "66": [ - { - "url": "https://exchainrpc.okex.org" - }, - { - "url": "https://oktc-mainnet.public.blastapi.io", - "tracking": "limited", - "trackingDetails": "All the information in our logs (log data) can only be accessed for the last 7 days at any certain time, and it is completely purged after 14 days. We do not store any user information for longer periods of time or with any other purposes than investigating potential errors and service failures. https://blastapi.io/privacy-policy" - }, - { - "url": "https://okt-chain.api.onfinality.io/public", - "tracking": "limited", - "trackingDetails": "For the sole purpose of providing our service, we temporarily record IP addresses and origins to check against free limits, provide load balancing, prevent DOS attacks, and to determine where best to locate our nodes. We do not, and will never, correlate or link specific wallet addresses or transactions made over our infrastructure to the IP address or origin making the RPC request. After processing IP addresses, we discard the IP address value within 24 hours. Read more here: https://blog.onfinality.io/how-does-onfinality-deal-with-personal-information/" - }, - { - "url": "https://1rpc.io/oktc", - "tracking": "none", - "trackingDetails": "With the exception of data that will be public on chain, all the other metadata / data should remain private to users and other parties should not be able to access or collect it. 1RPC uses many different techniques to prevent the unnecessary collection of user privacy, which prevents tracking from RPC providers. https://docs.1rpc.io/technology/zero-tracking" - }, - { - "url": "https://okc-mainnet.gateway.pokt.network/v1/lb/6275309bea1b320039c893ff" - } - ], - "67": [ - { - "url": "http://test-rpc.dbmbp.com" - } - ], - "68": [ - { - "url": "https://rpc.soter.one" - } - ], - "69": [ - { - "url": "https://kovan.optimism.io" - } - ], - "70": [ - { - "url": "https://http-mainnet.hoosmartchain.com" - }, - { - "url": "https://http-mainnet2.hoosmartchain.com" - }, - { - "url": "wss://ws-mainnet.hoosmartchain.com" - }, - { - "url": "wss://ws-mainnet2.hoosmartchain.com" - } - ], - "71": [ - { - "url": "https://evmtestnet.confluxrpc.com" - } - ], - "72": [ - { - "url": "https://testnet-http.dxchain.com" - } - ], - "73": [ - { - "url": "https://fncy-seed1.fncy.world" - } - ], - "74": [ - { - "url": "https://idchain.one/rpc" - }, - { - "url": "wss://idchain.one/ws" - } - ], - "75": [ - { - "url": "https://node.decimalchain.com/web3" - }, - { - "url": "https://node1-mainnet.decimalchain.com/web3" - }, - { - "url": "https://node2-mainnet.decimalchain.com/web3" - }, - { - "url": "https://node3-mainnet.decimalchain.com/web3" - }, - { - "url": "https://node4-mainnet.decimalchain.com/web3" - } - ], - "76": [ - { - "url": "https://rpc2.mix-blockchain.org:8647" - } - ], - "77": [ - { - "url": "https://sokol.poa.network" - }, - { - "url": "wss://sokol.poa.network/wss" - }, - { - "url": "ws://sokol.poa.network:8546" - } - ], - "78": [ - { - "url": "https://ethnode.primusmoney.com/mainnet" - } - ], - "79": [ - { - "url": "https://dataserver-us-1.zenithchain.co" - }, - { - "url": "https://dataserver-asia-3.zenithchain.co" - }, - { - "url": "https://dataserver-asia-4.zenithchain.co" - }, - { - "url": "https://dataserver-asia-2.zenithchain.co" - }, - { - "url": "https://dataserver-asia-5.zenithchain.co" - }, - { - "url": "https://dataserver-asia-6.zenithchain.co" - }, - { - "url": "https://dataserver-asia-7.zenithchain.co" - } - ], - "80": [ - { - "url": "website:https://genechain.io/en/index.html" - }, - { - "url": "https://rpc.genechain.io" - } - ], - "81": [ - { - "url": "https://rpc-1.japanopenchain.org:8545" - }, - { - "url": "https://rpc-2.japanopenchain.org:8545" - }, - { - "url": "https://rpc-3.japanopenchain.org" - } - ], - "82": [ - { - "url": "https://rpc.meter.io" - }, - { - "url": "https://rpc-meter.jellypool.xyz", - "tracking": "yes", - "trackingDetails": "The information collected by log files include internet protocol (IP) addresses, browser type, Internet Service Provider (ISP), date and time stamp, referring/exit pages, and possibly the number of clicks. These are not linked to any information that is personally identifiable. The purpose of the information is for analyzing trends, administering the site, tracking users' movement on the website, and gathering demographic information. https://www.jellypool.xyz/privacy/" - }, - { - "url": "https://meter.blockpi.network/v1/rpc/public", - "tracking": "limited", - "trackingDetails": "We do not collect request data or request origin. We only temporarily record the request method names and IP addresses for 7 days to ensure our service functionality such as load balancing and DDoS protection. All the data is automatically deleted after 7 days and we do not store any user information for longer periods of time. https://blockpi.io/privacy-policy" - } - ], - "83": [ - { - "url": "https://rpctest.meter.io" - } - ], - "84": [ - { - "url": "https://linqto-dev.com" - } - ], - "85": [ - { - "url": "https://testnet.gatenode.cc" - } - ], - "86": [ - { - "url": "https://evm.gatenode.cc" - } - ], - "87": [ - { - "url": "https://rpc.novanetwork.io:9070", - "tracking": "none", - "trackingDetails": "Only strictly functional data is automatically collected by the RPC. None of this data is directly exported or used for commercial purposes." - }, - { - "url": "https://dev.rpc.novanetwork.io", - "tracking": "none", - "trackingDetails": "Only strictly functional data is automatically collected by the RPC. None of this data is directly exported or used for commercial purposes." - }, - { - "url": "https://connect.novanetwork.io" - }, - { - "url": "https://0x57.redjackstudio.com" - } - ], - "88": [ - { - "url": "https://rpc.tomochain.com" - }, - { - "url": "https://viction.blockpi.network/v1/rpc/public", - "tracking": "limited", - "trackingDetails": "We do not collect request data or request origin. We only temporarily record the request method names and IP addresses for 7 days to ensure our service functionality such as load balancing and DDoS protection. All the data is automatically deleted after 7 days and we do not store any user information for longer periods of time. https://blockpi.io/privacy-policy" - }, - { - "url": "https://rpc.viction.xyz" - } - ], - "89": [ - { - "url": "https://rpc-testnet.viction.xyz" - } - ], - "90": [ - { - "url": "https://s0.garizon.net/rpc" - } - ], - "91": [ - { - "url": "https://s1.garizon.net/rpc" - } - ], - "92": [ - { - "url": "https://s2.garizon.net/rpc" - } - ], - "93": [ - { - "url": "https://s3.garizon.net/rpc" - } - ], - "94": [ - { - "url": "https://rpc.swissdlt.ch" - } - ], - "95": [ - { - "url": "https://rpc1.camdl.gov.kh" - } - ], - "96": [ - { - "url": "https://rpc.bitkubchain.io" - }, - { - "url": "wss://wss.bitkubchain.io" - } - ], - "97": [ - { - "url": "https://endpoints.omniatech.io/v1/bsc/testnet/public", - "tracking": "none", - "trackingDetails": "All the data and metadata remain private to the users. No third party is able to access, analyze or track it. OMNIA leverages different technologies and approaches to guarantee the privacy of their users, from front-running protection and private mempools, to obfuscation and random dispatching. https://blog.omniatech.io/how-omnia-handles-your-personal-data" - }, - { - "url": "https://bsctestapi.terminet.io/rpc" - }, - { - "url": "https://bsc-testnet.public.blastapi.io", - "tracking": "limited", - "trackingDetails": "All the information in our logs (log data) can only be accessed for the last 7 days at any certain time, and it is completely purged after 14 days. We do not store any user information for longer periods of time or with any other purposes than investigating potential errors and service failures. https://blastapi.io/privacy-policy" - }, - { - "url": "https://bsc-testnet-rpc.publicnode.com", - "tracking": "none", - "trackingDetails": "We do not store or track any user data with the exception of data that will be public on chain. We do not correlate wallets address's with IP's, any data which is needed to transact is deleted after 24 hours. We also do no use any Analytics or 3rd party website tracking. https://www.publicnode.com/privacy" - }, - { - "url": "wss://bsc-testnet-rpc.publicnode.com", - "tracking": "none", - "trackingDetails": "We do not store or track any user data with the exception of data that will be public on chain. We do not correlate wallets address's with IP's, any data which is needed to transact is deleted after 24 hours. We also do no use any Analytics or 3rd party website tracking. https://www.publicnode.com/privacy" - }, - { - "url": "https://api.zan.top/node/v1/bsc/testnet/public", - "tracking": "limited", - "trackingDetails": "ZAN Node Service generally does not store any kind of user information (e.g. IP address, location, requst location, request data, etc.) that transits through our RPCs except for one senario \u2014\u2014we may track your IP address when you are using our RPCs and will delete it immediately when you stoping using our RPCs. To learn more, please review our privacy policy at https://a.zan.top/static/Privacy-Policy.pdf" - }, - { - "url": "https://bsc-testnet.blockpi.network/v1/rpc/public", - "tracking": "limited", - "trackingDetails": "We do not collect request data or request origin. We only temporarily record the request method names and IP addresses for 7 days to ensure our service functionality such as load balancing and DDoS protection. All the data is automatically deleted after 7 days and we do not store any user information for longer periods of time. https://blockpi.io/privacy-policy" - }, - { - "url": "https://data-seed-prebsc-1-s1.bnbchain.org:8545" - }, - { - "url": "https://data-seed-prebsc-2-s1.bnbchain.org:8545" - }, - { - "url": "https://data-seed-prebsc-1-s2.bnbchain.org:8545" - }, - { - "url": "https://data-seed-prebsc-2-s2.bnbchain.org:8545" - }, - { - "url": "https://data-seed-prebsc-1-s3.bnbchain.org:8545" - }, - { - "url": "https://data-seed-prebsc-2-s3.bnbchain.org:8545" - } - ], - "98": [ - { - "url": "https://sixnet-rpc-evm.sixprotocol.net" - } - ], - "99": [ - { - "url": "https://core.poanetwork.dev" - }, - { - "url": "https://core.poa.network" - } - ], - "100": [ - { - "url": "https://rpc.gnosischain.com" - }, - { - "url": "https://xdai-archive.blockscout.com" - }, - { - "url": "https://gnosis-pokt.nodies.app", - "tracking": "none", - "trackingDetails": "What We Do Not Collect: User's IP address, request origin, request data. https://www.blog.pokt.network/rpc-logging-practices/" - }, - { - "url": "https://rpc.gnosis.gateway.fm", - "tracking": "yes", - "trackingDetails": "When you use our services or visit our websites, we may log your device\u2019s IP address for debugging and security reasons. We may retain this information for up to twelve months" - }, - { - "url": "https://gnosis-mainnet.public.blastapi.io", - "tracking": "limited", - "trackingDetails": "All the information in our logs (log data) can only be accessed for the last 7 days at any certain time, and it is completely purged after 14 days. We do not store any user information for longer periods of time or with any other purposes than investigating potential errors and service failures. https://blastapi.io/privacy-policy" - }, - { - "url": "https://rpc.ankr.com/gnosis", - "tracking": "limited", - "trackingDetails": "For service delivery purposes, we temporarily record IP addresses to set usage limits and monitor for denial of service attacks against our infrastructure. Though we do look at high-level data around the success rate of transactions made over the blockchain RPC, we do not correlate wallet transactions made over the infrastructure to the IP address making the RPC request. Thus, we do not store, exploit, or share any information regarding Personal Identifiable Information (PII), including wallet addresses. https://www.ankr.com/blog/ankrs-ip-address-policy-and-your-privacy/" - }, - { - "url": "https://rpc.ap-southeast-1.gateway.fm/v4/gnosis/non-archival/mainnet", - "tracking": "yes", - "trackingDetails": "When you use our services or visit our websites, we may log your device\u2019s IP address for debugging and security reasons. We may retain this information for up to twelve months" - }, - { - "url": "https://gnosis.blockpi.network/v1/rpc/public", - "tracking": "limited", - "trackingDetails": "We do not collect request data or request origin. We only temporarily record the request method names and IP addresses for 7 days to ensure our service functionality such as load balancing and DDoS protection. All the data is automatically deleted after 7 days and we do not store any user information for longer periods of time. https://blockpi.io/privacy-policy" - }, - { - "url": "https://gnosis.api.onfinality.io/public", - "tracking": "limited", - "trackingDetails": "For the sole purpose of providing our service, we temporarily record IP addresses and origins to check against free limits, provide load balancing, prevent DOS attacks, and to determine where best to locate our nodes. We do not, and will never, correlate or link specific wallet addresses or transactions made over our infrastructure to the IP address or origin making the RPC request. After processing IP addresses, we discard the IP address value within 24 hours. Read more here: https://blog.onfinality.io/how-does-onfinality-deal-with-personal-information/" - }, - { - "url": "https://gnosis.drpc.org", - "tracking": "none", - "trackingDetails": "Specific types of technical data that we may temporarily log include:IP address (only in logs for redirecting requests to the nearest RPC nodes and rate limiting at the free level, which are cleared weekly). The user ID is hidden in the temporary logs, so it is not possible to link them to a specific user.https://drpc.org/privacy-policy" - }, - { - "url": "https://endpoints.omniatech.io/v1/gnosis/mainnet/public", - "tracking": "none", - "trackingDetails": "All the data and metadata remain private to the users. No third party is able to access, analyze or track it. OMNIA leverages different technologies and approaches to guarantee the privacy of their users, from front-running protection and private mempools, to obfuscation and random dispatching. https://blog.omniatech.io/how-omnia-handles-your-personal-data" - }, - { - "url": "https://gnosis-rpc.publicnode.com", - "tracking": "none", - "trackingDetails": "We do not store or track any user data with the exception of data that will be public on chain. We do not correlate wallets address's with IP's, any data which is needed to transact is deleted after 24 hours. We also do no use any Analytics or 3rd party website tracking. https://www.publicnode.com/privacy" - }, - { - "url": "wss://gnosis-rpc.publicnode.com", - "tracking": "none", - "trackingDetails": "We do not store or track any user data with the exception of data that will be public on chain. We do not correlate wallets address's with IP's, any data which is needed to transact is deleted after 24 hours. We also do no use any Analytics or 3rd party website tracking. https://www.publicnode.com/privacy" - }, - { - "url": "https://1rpc.io/gnosis", - "tracking": "none", - "trackingDetails": "With the exception of data that will be public on chain, all the other metadata / data should remain private to users and other parties should not be able to access or collect it. 1RPC uses many different techniques to prevent the unnecessary collection of user privacy, which prevents tracking from RPC providers. https://docs.1rpc.io/technology/zero-tracking" - }, - { - "url": "https://rpc.tornadoeth.cash/gnosis", - "tracking": "none", - "trackingDetails": "TornadoRPC prioritizes user privacy and data security. We do not track or store any user information that passes through our RPC, except for data that is clearly visible on the blockchain. For detailed information about our privacy practices, see our Privacy Policy: https://rpc.tornadoeth.cash/privacy" - }, - { - "url": "https://gnosischain-rpc.gateway.pokt.network" - }, - { - "url": "https://web3endpoints.com/gnosischain-mainnet" - }, - { - "url": "https://gnosis.oat.farm" - }, - { - "url": "wss://rpc.gnosischain.com/wss" - } - ], - "101": [ - { - "url": "https://api.einc.io/jsonrpc/mainnet" - } - ], - "102": [ - { - "url": "https://testnet-rpc-0.web3games.org/evm" - }, - { - "url": "https://testnet-rpc-1.web3games.org/evm" - }, - { - "url": "https://testnet-rpc-2.web3games.org/evm" - } - ], - "103": [ - { - "url": "https://seoul.worldland.foundation" - }, - { - "url": "https://seoul2.worldland.foundation" - } - ], - "104": [ - { - "url": "https://klc.live" - } - ], - "105": [ - { - "url": "https://devnet.web3games.org/evm" - } - ], - "106": [ - { - "url": "https://evmexplorer.velas.com/rpc" - }, - { - "url": "https://velas-mainnet.rpcfast.com?api_key=xbhWBI1Wkguk8SNMu1bvvLurPGLXmgwYeC4S6g2H7WdwFigZSmPWVZRxrskEQwIf" - }, - { - "url": "https://explorer.velas.com/rpc" - } - ], - "107": [ - { - "url": "https://testnet.rpc.novanetwork.io" - } - ], - "108": [ - { - "url": "https://mainnet-rpc.thundercore.com" - }, - { - "url": "https://mainnet-rpc.thundertoken.net" - }, - { - "url": "https://mainnet-rpc.thundercore.io" - } - ], - "109": [ - { - "url": "https://www.shibrpc.com" - } - ], - "110": [ - { - "url": "https://protontestnet.greymass.com" - } - ], - "111": [ - { - "url": "https://rpc.etherlite.org" - } - ], - "112": [ - { - "url": "https://coinbit-rpc-mainnet.chain.sbcrypto.app" - } - ], - "113": [ - { - "url": "https://connect.dehvo.com" - }, - { - "url": "https://rpc.dehvo.com" - }, - { - "url": "https://rpc1.dehvo.com" - }, - { - "url": "https://rpc2.dehvo.com" - } - ], - "114": [ - { - "url": "https://coston2-api.flare.network/ext/C/rpc" - }, - { - "url": "https://flare-testnet-coston2.rpc.thirdweb.com" - }, - { - "url": "https://flaretestnet-bundler.etherspot.io" - }, - { - "url": "https://01-gravelines-005-01.rpc.tatum.io/ext/bc/C/rpc" - }, - { - "url": "https://02-chicago-005-02.rpc.tatum.io/ext/bc/C/rpc" - }, - { - "url": "https://02-tokyo-005-03.rpc.tatum.io/ext/bc/C/rpc" - }, - { - "url": "https://coston2.enosys.global/ext/C/rpc" - } - ], - "117": [ - { - "url": "https://json-rpc.uptick.network" - } - ], - "118": [ - { - "url": "https://testnet.arcology.network/rpc" - } - ], - "119": [ - { - "url": "https://evmapi.nuls.io" - }, - { - "url": "https://evmapi2.nuls.io" - } - ], - "120": [ - { - "url": "https://beta.evmapi.nuls.io" - }, - { - "url": "https://beta.evmapi2.nuls.io" - } - ], - "121": [ - { - "url": "https://rcl-dataseed1.rclsidechain.com" - }, - { - "url": "https://rcl-dataseed2.rclsidechain.com" - }, - { - "url": "https://rcl-dataseed3.rclsidechain.com" - }, - { - "url": "https://rcl-dataseed4.rclsidechain.com" - }, - { - "url": "wss://rcl-dataseed1.rclsidechain.com/v1" - }, - { - "url": "wss://rcl-dataseed2.rclsidechain.com/v1" - }, - { - "url": "wss://rcl-dataseed3.rclsidechain.com/v1" - }, - { - "url": "wss://rcl-dataseed4.rclsidechain.com/v1" - } - ], - "122": [ - { - "url": "https://rpc.fuse.io" - }, - { - "url": "https://fuse-pokt.nodies.app", - "tracking": "none", - "trackingDetails": "What We Do Not Collect: User's IP address, request origin, request data. https://www.blog.pokt.network/rpc-logging-practices/" - }, - { - "url": "https://fuse-mainnet.chainstacklabs.com", - "tracking": "yes", - "trackingDetails": "We process certain personal data to provide you with the core functionality of our Services. Specifically, when you are: Using the Chainstack Console, we process your name, surname, email address (your account identifier), organization name, IP address, all HTTP headers (most importantly User-Agent), cookies; Using the Chainstack Blockchain infrastructure, we process nodes' token stored in Chainstack Vault, IP address and HTTP headers, request body, API token in Chainstack Vault.https://chainstack.com/privacy/" - }, - { - "url": "https://fuse.api.onfinality.io/public", - "tracking": "limited", - "trackingDetails": "For the sole purpose of providing our service, we temporarily record IP addresses and origins to check against free limits, provide load balancing, prevent DOS attacks, and to determine where best to locate our nodes. We do not, and will never, correlate or link specific wallet addresses or transactions made over our infrastructure to the IP address or origin making the RPC request. After processing IP addresses, we discard the IP address value within 24 hours. Read more here: https://blog.onfinality.io/how-does-onfinality-deal-with-personal-information/" - }, - { - "url": "https://fuse.liquify.com", - "tracking": "yes", - "trackingDetails": "What data do we collect? Information collected automatically from your device, including IP address, device type,operating system, browser-type, broad geographic location and other technical information.https://www.liquify.io/privacy_policy.pdf" - }, - { - "url": "https://fuse.drpc.org" - }, - { - "url": "wss://fuse.drpc.org" - } - ], - "123": [ - { - "url": "https://rpc.fusespark.io" - } - ], - "124": [ - { - "url": "https://decentralized-web.tech/dw_rpc.php" - } - ], - "125": [ - { - "url": "https://rpc.testnet.oychain.io" - } - ], - "126": [ - { - "url": "https://rpc.mainnet.oychain.io" - }, - { - "url": "https://rpc.oychain.io" - } - ], - "128": [ - { - "url": "https://http-mainnet.hecochain.com" - }, - { - "url": "https://http-mainnet-node.huobichain.com" - }, - { - "url": "https://hecoapi.terminet.io/rpc" - }, - { - "url": "wss://ws-mainnet.hecochain.com" - } - ], - "129": [ - { - "url": "https://rpc.innovatorchain.com" - } - ], - "131": [ - { - "url": "https://tokioswift.engram.tech" - }, - { - "url": "https://tokio-archive.engram.tech" - } - ], - "132": [ - { - "url": "https://rpc.chain.namefi.io" - } - ], - "133": [ - { - "url": "https://hashkeychain-testnet.alt.technology" - } - ], - "134": [ - { - "url": "https://bellecour.iex.ec" - } - ], - "135": [ - { - "url": "https://testnet-rpc.alyxchain.com" - } - ], - "136": [ - { - "url": "https://mainnet.deamchain.com" - } - ], - "137": [ - { - "url": "https://polygon.llamarpc.com", - "tracking": "none", - "trackingDetails": "LlamaNodes is open-source and does not track or store user information that transits through our RPCs (location, IP, wallet, etc). To learn more, have a look at the public Privacy Policy in our docs: https://llamanodes.notion.site/Privacy-Practices-f20fd8fdd02a469d9d4f42a5989bb936", - "isOpenSource": true - }, - { - "url": "https://rpc-mainnet.maticvigil.com" - }, - { - "url": "https://endpoints.omniatech.io/v1/matic/mainnet/public", - "tracking": "none", - "trackingDetails": "All the data and metadata remain private to the users. No third party is able to access, analyze or track it. OMNIA leverages different technologies and approaches to guarantee the privacy of their users, from front-running protection and private mempools, to obfuscation and random dispatching. https://blog.omniatech.io/how-omnia-handles-your-personal-data" - }, - { - "url": "https://polygon-rpc.com" - }, - { - "url": "https://rpc-mainnet.matic.network" - }, - { - "url": "https://rpc-mainnet.matic.quiknode.pro", - "tracking": "yes", - "trackingDetails": "Information about your computer hardware and software may be automatically collected by QuickNode. This information can include such details as your IP address, browser type, domain names, access times and referring website addresses.https://www.quicknode.com/privacy" - }, - { - "url": "https://matic-mainnet-full-rpc.bwarelabs.com" - }, - { - "url": "https://matic-mainnet-archive-rpc.bwarelabs.com" - }, - { - "url": "https://polygon-pokt.nodies.app", - "tracking": "none", - "trackingDetails": "What We Do Not Collect: User's IP address, request origin, request data. https://www.blog.pokt.network/rpc-logging-practices/" - }, - { - "url": "https://rpc.ankr.com/polygon", - "tracking": "limited", - "trackingDetails": "For service delivery purposes, we temporarily record IP addresses to set usage limits and monitor for denial of service attacks against our infrastructure. Though we do look at high-level data around the success rate of transactions made over the blockchain RPC, we do not correlate wallet transactions made over the infrastructure to the IP address making the RPC request. Thus, we do not store, exploit, or share any information regarding Personal Identifiable Information (PII), including wallet addresses. https://www.ankr.com/blog/ankrs-ip-address-policy-and-your-privacy/" - }, - { - "url": "https://polygon-mainnet.public.blastapi.io", - "tracking": "limited", - "trackingDetails": "All the information in our logs (log data) can only be accessed for the last 7 days at any certain time, and it is completely purged after 14 days. We do not store any user information for longer periods of time or with any other purposes than investigating potential errors and service failures. https://blastapi.io/privacy-policy" - }, - { - "url": "https://polygonapi.terminet.io/rpc" - }, - { - "url": "https://1rpc.io/matic", - "tracking": "none", - "trackingDetails": "With the exception of data that will be public on chain, all the other metadata / data should remain private to users and other parties should not be able to access or collect it. 1RPC uses many different techniques to prevent the unnecessary collection of user privacy, which prevents tracking from RPC providers. https://docs.1rpc.io/technology/zero-tracking" - }, - { - "url": "https://polygon-mainnet.rpcfast.com?api_key=xbhWBI1Wkguk8SNMu1bvvLurPGLXmgwYeC4S6g2H7WdwFigZSmPWVZRxrskEQwIf" - }, - { - "url": "https://polygon-bor-rpc.publicnode.com", - "tracking": "none", - "trackingDetails": "We do not store or track any user data with the exception of data that will be public on chain. We do not correlate wallets address's with IP's, any data which is needed to transact is deleted after 24 hours. We also do no use any Analytics or 3rd party website tracking. https://www.publicnode.com/privacy" - }, - { - "url": "wss://polygon-bor-rpc.publicnode.com", - "tracking": "none", - "trackingDetails": "We do not store or track any user data with the exception of data that will be public on chain. We do not correlate wallets address's with IP's, any data which is needed to transact is deleted after 24 hours. We also do no use any Analytics or 3rd party website tracking. https://www.publicnode.com/privacy" - }, - { - "url": "https://polygon-mainnet-public.unifra.io" - }, - { - "url": "https://polygon-mainnet.g.alchemy.com/v2/demo", - "tracking": "yes", - "trackingDetails": "We may collect certain information automatically when you use our Services, such as your Internet protocol (IP) address, user settings, MAC address, cookie identifiers, mobile carrier, mobile advertising and other unique identifiers, browser or device information, location information (including approximate location derived from IP address), and Internet service provider. https://www.alchemy.com/policies/privacy-policy" - }, - { - "url": "https://polygon.blockpi.network/v1/rpc/public", - "tracking": "limited", - "trackingDetails": "We do not collect request data or request origin. We only temporarily record the request method names and IP addresses for 7 days to ensure our service functionality such as load balancing and DDoS protection. All the data is automatically deleted after 7 days and we do not store any user information for longer periods of time. https://blockpi.io/privacy-policy" - }, - { - "url": "https://polygon.api.onfinality.io/public", - "tracking": "limited", - "trackingDetails": "For the sole purpose of providing our service, we temporarily record IP addresses and origins to check against free limits, provide load balancing, prevent DOS attacks, and to determine where best to locate our nodes. We do not, and will never, correlate or link specific wallet addresses or transactions made over our infrastructure to the IP address or origin making the RPC request. After processing IP addresses, we discard the IP address value within 24 hours. Read more here: https://blog.onfinality.io/how-does-onfinality-deal-with-personal-information/" - }, - { - "url": "https://polygon.rpc.blxrbdn.com", - "tracking": "yes", - "trackingDetails": "We may collect information that is publicly available in a blockchain when providing our services, such as: Public wallet identifier of the sender and recipient of a transaction, Unique identifier for a transaction, Date and time of a transaction, Transaction value, along with associated costs, Status of a transaction (such as whether the transaction is complete, in-progress, or resulted in an error) https://bloxroute.com/wp-content/uploads/2021/12/bloXroute-Privacy-Policy-04-01-2019-Final.pdf" - }, - { - "url": "https://polygon.drpc.org", - "tracking": "none", - "trackingDetails": "Specific types of technical data that we may temporarily log include:IP address (only in logs for redirecting requests to the nearest RPC nodes and rate limiting at the free level, which are cleared weekly). The user ID is hidden in the temporary logs, so it is not possible to link them to a specific user.https://drpc.org/privacy-policy" - }, - { - "url": "https://polygon.gateway.tenderly.co", - "tracking": "yes", - "trackingDetails": "Additionally, if you are an Account Member, we may collect business and transactional data about you (and your business) that accumulates over the normal course of operation regarding providing our Services. This may include transaction records, stored files, user profiles, information about collaborators, analytics data, and other metrics, as well as other types of information created or generated by your interaction with our Services. https://tenderly.co/privacy-policy" - }, - { - "url": "https://gateway.tenderly.co/public/polygon", - "tracking": "yes", - "trackingDetails": "Additionally, if you are an Account Member, we may collect business and transactional data about you (and your business) that accumulates over the normal course of operation regarding providing our Services. This may include transaction records, stored files, user profiles, information about collaborators, analytics data, and other metrics, as well as other types of information created or generated by your interaction with our Services. https://tenderly.co/privacy-policy" - }, - { - "url": "https://api.zan.top/node/v1/polygon/mainnet/public", - "tracking": "limited", - "trackingDetails": "ZAN Node Service generally does not store any kind of user information (e.g. IP address, location, requst location, request data, etc.) that transits through our RPCs except for one senario \u2014\u2014we may track your IP address when you are using our RPCs and will delete it immediately when you stoping using our RPCs. To learn more, please review our privacy policy at https://a.zan.top/static/Privacy-Policy.pdf" - }, - { - "url": "https://polygon.meowrpc.com", - "tracking": "none", - "trackingDetails": "With the exclusion of data that will be openly visible and available on the blockchain, MEOWRPC does not track or store any kind of user information (such as location, IP address, etc.) that passes through our RPC. For further details regarding our privacy practices, we encourage you to refer to our Privacy Policy. https://privacy.meowrpc.com" - }, - { - "url": "https://getblock.io/nodes/matic", - "tracking": "none", - "trackingDetails": "We automatically collect certain information through cookies and similar technologies when you visit, use or navigate Website. This information does not reveal your specific identity (like your name or contact information) and does not allow to identify you. However, it may include device and usage information, such as your IP address, browser and device characteristics, its type and version, operating system, language preferences, referring URLs, device name, country, location, information about how and when you use our Website, information about your interaction in our emails, and other technical and statistical information. This information is primarily needed to maintain the security and operation of our Website, and for our internal analytics and reporting purposes.Specifically, as the RPC provider, we do not log and store your IP address, country, location and similar data. https://getblock.io/privacy-policy/" - }, - { - "url": "https://api.stateless.solutions/polygon/v1/5850f066-209e-4e3c-a294-0757a4eb34b3", - "tracking": "none", - "trackingDetails": "Through any of our RPC API endpoints, whether public or private, we do not collect personal identifiers such as IP addresses, request origins, or specific request data. https://www.stateless.solutions/api-usage-privacy-policy" - }, - { - "url": "https://rpc.tornadoeth.cash/polygon", - "tracking": "none", - "trackingDetails": "TornadoRPC prioritizes user privacy and data security. We do not track or store any user information that passes through our RPC, except for data that is clearly visible on the blockchain. For detailed information about our privacy practices, see our Privacy Policy: https://rpc.tornadoeth.cash/privacy" - }, - { - "url": "https://matic-mainnet.chainstacklabs.com" - }, - { - "url": "wss://polygon.gateway.tenderly.co" - }, - { - "url": "wss://polygon.drpc.org" - } - ], - "138": [ - { - "url": "https://rpc.defi-oracle.io" - }, - { - "url": "wss://wss.defi-oracle.io" - } - ], - "139": [ - { - "url": "https://rpc.woop.ai/rpc" - } - ], - "140": [ - { - "url": "https://mainnet.eternalcoin.io/v1" - }, - { - "url": "ws://mainnet.eternalcoin.io/v1/ws" - } - ], - "141": [ - { - "url": "https://testnet.openpiece.io" - } - ], - "142": [ - { - "url": "https://rpc.prodax.io" - } - ], - "144": [ - { - "url": "https://connect.phi.network" - } - ], - "145": [ - { - "url": "https://rpc-testnet.soraai.bot" - } - ], - "147": [ - { - "url": "https://mainnet-rpc.flagscan.xyz" - } - ], - "148": [ - { - "url": "https://json-rpc.evm.shimmer.network" - } - ], - "150": [ - { - "url": "https://rpc-evm.fivenet.sixprotocol.net" - } - ], - "153": [ - { - "url": "https://governors.testnet.redbelly.network" - } - ], - "155": [ - { - "url": "https://rpc.testnet.tenet.org" - } - ], - "156": [ - { - "url": "https://testnet-rpc.oeblock.com" - } - ], - "157": [ - { - "url": "https://puppynet.shibrpc.com" - } - ], - "158": [ - { - "url": "https://dataseed.roburna.com" - } - ], - "159": [ - { - "url": "https://preseed-testnet-1.roburna.com" - } - ], - "160": [ - { - "url": "https://evascan.io/api/eth-rpc" - } - ], - "161": [ - { - "url": "https://testnet.evascan.io/api/eth-rpc" - } - ], - "162": [ - { - "url": "https://node.sirius.lightstreams.io" - } - ], - "163": [ - { - "url": "https://node.mainnet.lightstreams.io" - } - ], - "164": [ - { - "url": "https://omega.omni.network" - }, - { - "url": "wss://wss.omega.omni.network" - } - ], - "167": [ - { - "url": "https://node.atoshi.io" - }, - { - "url": "https://node2.atoshi.io" - }, - { - "url": "https://node3.atoshi.io" - } - ], - "168": [ - { - "url": "https://eth-dataseed.aioz.network" - } - ], - "169": [ - { - "url": "https://pacific-rpc.manta.network/http" - }, - { - "url": "https://1rpc.io/manta", - "tracking": "none", - "trackingDetails": "With the exception of data that will be public on chain, all the other metadata / data should remain private to users and other parties should not be able to access or collect it. 1RPC uses many different techniques to prevent the unnecessary collection of user privacy, which prevents tracking from RPC providers. https://docs.1rpc.io/technology/zero-tracking" - }, - { - "url": "https://manta-pacific.drpc.org" - }, - { - "url": "wss://manta-pacific.drpc.org" - } - ], - "170": [ - { - "url": "https://http-testnet.hoosmartchain.com" - } - ], - "172": [ - { - "url": "https://rpc.latam-blockchain.com" - }, - { - "url": "wss://ws.latam-blockchain.com" - } - ], - "176": [ - { - "url": "https://rpc.dcnetio.cloud" - }, - { - "url": "wss://ws.dcnetio.cloud" - } - ], - "178": [ - { - "url": "https://testrpc.abeychain.com" - } - ], - "179": [ - { - "url": "https://rpc.abeychain.com" - } - ], - "180": [ - { - "url": "https://node1.amechain.io" - } - ], - "181": [ - { - "url": "https://rpc.waterfall.network" - } - ], - "184": [ - { - "url": "https://rpc-test-d11k.dojima.network" - } - ], - "185": [ - { - "url": "https://rpc.mintchain.io" - }, - { - "url": "https://global.rpc.mintchain.io" - }, - { - "url": "https://asia.rpc.mintchain.io" - } - ], - "186": [ - { - "url": "https://rpc.seelen.pro" - } - ], - "187": [ - { - "url": "https://rpc-d11k.dojima.network" - } - ], - "188": [ - { - "url": "https://mainnet.bmcchain.com" - } - ], - "189": [ - { - "url": "https://testnet.bmcchain.com" - } - ], - "190": [ - { - "url": "https://bbqchain-rpc.commudao.xyz" - } - ], - "191": [ - { - "url": "https://rpc.filefilego.com/rpc" - } - ], - "193": [ - { - "url": "https://cemchain.com" - } - ], - "195": [ - { - "url": "https://x1-testnet.blockpi.network/v1/rpc/public ", - "tracking": "limited", - "trackingDetails": "We do not collect request data or request origin. We only temporarily record the request method names and IP addresses for 7 days to ensure our service functionality such as load balancing and DDoS protection. All the data is automatically deleted after 7 days and we do not store any user information for longer periods of time. https://blockpi.io/privacy-policy" - }, - { - "url": "https://testrpc.xlayer.tech" - }, - { - "url": "https://xlayertestrpc.okx.com" - } - ], - "196": [ - { - "url": "https://rpc.xlayer.tech" - }, - { - "url": "https://xlayerrpc.okx.com" - } - ], - "197": [ - { - "url": "https://testnet-rpc.neutrinoschain.com" - } - ], - "198": [ - { - "url": "https://rpc.bitchain.biz" - } - ], - "199": [ - { - "url": "https://rpc.bittorrentchain.io" - }, - { - "url": "https://rpc.bt.io" - }, - { - "url": "https://bittorrent.drpc.org" - }, - { - "url": "wss://bittorrent.drpc.org" - } - ], - "200": [ - { - "url": "https://arbitrum.xdaichain.com" - } - ], - "201": [ - { - "url": "https://gateway.moac.io/testnet" - } - ], - "202": [ - { - "url": "https://testnet.rpc.edgeless.network/http" - } - ], - "204": [ - { - "url": "https://opbnb-rpc.publicnode.com", - "tracking": "none", - "trackingDetails": "We do not store or track any user data with the exception of data that will be public on chain. We do not correlate wallets address's with IP's, any data which is needed to transact is deleted after 24 hours. We also do no use any Analytics or 3rd party website tracking. https://www.publicnode.com/privacy" - }, - { - "url": "wss://opbnb-rpc.publicnode.com", - "tracking": "none", - "trackingDetails": "We do not store or track any user data with the exception of data that will be public on chain. We do not correlate wallets address's with IP's, any data which is needed to transact is deleted after 24 hours. We also do no use any Analytics or 3rd party website tracking. https://www.publicnode.com/privacy" - }, - { - "url": "https://1rpc.io/opbnb", - "tracking": "none", - "trackingDetails": "With the exception of data that will be public on chain, all the other metadata / data should remain private to users and other parties should not be able to access or collect it. 1RPC uses many different techniques to prevent the unnecessary collection of user privacy, which prevents tracking from RPC providers. https://docs.1rpc.io/technology/zero-tracking" - }, - { - "url": "https://opbnb-mainnet-rpc.bnbchain.org" - }, - { - "url": "https://opbnb-mainnet.nodereal.io/v1/64a9df0874fb4a93b9d0a3849de012d3" - }, - { - "url": "wss://opbnb-mainnet.nodereal.io/ws/v1/64a9df0874fb4a93b9d0a3849de012d3" - }, - { - "url": "https://opbnb-mainnet.nodereal.io/v1/e9a36765eb8a40b9bd12e680a1fd2bc5" - }, - { - "url": "wss://opbnb-mainnet.nodereal.io/ws/v1/e9a36765eb8a40b9bd12e680a1fd2bc5" - }, - { - "url": "https://opbnb.drpc.org" - }, - { - "url": "wss://opbnb.drpc.org" - } - ], - "205": [ - { - "url": "https://mainnet.ekaash.biz" - } - ], - "206": [ - { - "url": "https://vinufoundation-rpc.com" - } - ], - "207": [ - { - "url": "https://vinuchain-rpc.com" - } - ], - "208": [ - { - "url": "https://mainnet.structx.io" - } - ], - "210": [ - { - "url": "https://rpc.bitnet.money" - }, - { - "url": "https://rpc.btnscan.com" - } - ], - "211": [ - { - "url": "http://13.57.207.168:3435" - }, - { - "url": "https://app.freighttrust.net/ftn/${API_KEY}" - } - ], - "212": [ - { - "url": "https://testnet-rpc.maplabs.io" - } - ], - "213": [ - { - "url": "https://hub-rpc.bsquared.network" - } - ], - "214": [ - { - "url": "https://mainnet.shinarium.org" - } - ], - "217": [ - { - "url": "https://rpc2.siriusnet.io" - } - ], - "220": [ - { - "url": "https://rpc-sepolia.scalind.com" - } - ], - "221": [ - { - "url": "https://rpc.blockex.biz" - } - ], - "223": [ - { - "url": "https://mainnet.b2-rpc.com" - }, - { - "url": "https://rpc.bsquared.network" - }, - { - "url": "https://b2-mainnet.alt.technology" - }, - { - "url": "https://b2-mainnet-public.s.chainbase.com" - }, - { - "url": "https://rpc.ankr.com/b2" - } - ], - "224": [ - { - "url": "https://testnet-rpc.vrd.network" - } - ], - "225": [ - { - "url": "https://rpc-mainnet.lachain.io" - } - ], - "226": [ - { - "url": "https://rpc-testnet.lachain.io" - } - ], - "228": [ - { - "url": "https://rpc_mainnet.mindnetwork.xyz" - }, - { - "url": "wss://rpc_mainnet.mindnetwork.xyz" - } - ], - "230": [ - { - "url": "https://rpc.swapdex.network" - }, - { - "url": "wss://ss.swapdex.network" - } - ], - "233": [ - { - "url": "https://testnet.ethernitychain.io" - } - ], - "234": [ - { - "url": "https://testnode.jumbochain.org" - } - ], - "236": [ - { - "url": "https://testnet.deamchain.com" - } - ], - "242": [ - { - "url": "https://rpcurl.mainnet.plgchain.com" - }, - { - "url": "https://rpcurl.plgchain.blockchain.evmnode.online" - }, - { - "url": "https://rpcurl.mainnet.plgchain.plinga.technology" - } - ], - "246": [ - { - "url": "https://rpc.energyweb.org" - }, - { - "url": "wss://rpc.energyweb.org/ws" - } - ], - "248": [ - { - "url": "https://oasys.blockpi.network/v1/rpc/public", - "tracking": "limited", - "trackingDetails": "We do not collect request data or request origin. We only temporarily record the request method names and IP addresses for 7 days to ensure our service functionality such as load balancing and DDoS protection. All the data is automatically deleted after 7 days and we do not store any user information for longer periods of time. https://blockpi.io/privacy-policy" - }, - { - "url": "https://oasys-mainnet.gateway.pokt.network/v1/lb/c967bd31" - }, - { - "url": "https://oasys-mainnet-archival.gateway.pokt.network/v1/lb/c967bd31" - }, - { - "url": "https://rpc.mainnet.oasys.games" - } - ], - "250": [ - { - "url": "https://rpcapi.fantom.network" - }, - { - "url": "https://endpoints.omniatech.io/v1/fantom/mainnet/public", - "tracking": "none", - "trackingDetails": "All the data and metadata remain private to the users. No third party is able to access, analyze or track it. OMNIA leverages different technologies and approaches to guarantee the privacy of their users, from front-running protection and private mempools, to obfuscation and random dispatching. https://blog.omniatech.io/how-omnia-handles-your-personal-data" - }, - { - "url": "https://fantom-pokt.nodies.app", - "tracking": "none", - "trackingDetails": "What We Do Not Collect: User's IP address, request origin, request data. https://www.blog.pokt.network/rpc-logging-practices/" - }, - { - "url": "https://rpc.ftm.tools" - }, - { - "url": "https://rpc.ankr.com/fantom", - "tracking": "limited", - "trackingDetails": "For service delivery purposes, we temporarily record IP addresses to set usage limits and monitor for denial of service attacks against our infrastructure. Though we do look at high-level data around the success rate of transactions made over the blockchain RPC, we do not correlate wallet transactions made over the infrastructure to the IP address making the RPC request. Thus, we do not store, exploit, or share any information regarding Personal Identifiable Information (PII), including wallet addresses. https://www.ankr.com/blog/ankrs-ip-address-policy-and-your-privacy/" - }, - { - "url": "https://rpc.fantom.network" - }, - { - "url": "https://rpc2.fantom.network" - }, - { - "url": "https://rpc3.fantom.network" - }, - { - "url": "https://fantom-mainnet.public.blastapi.io", - "tracking": "limited", - "trackingDetails": "All the information in our logs (log data) can only be accessed for the last 7 days at any certain time, and it is completely purged after 14 days. We do not store any user information for longer periods of time or with any other purposes than investigating potential errors and service failures. https://blastapi.io/privacy-policy" - }, - { - "url": "https://1rpc.io/ftm", - "tracking": "none", - "trackingDetails": "With the exception of data that will be public on chain, all the other metadata / data should remain private to users and other parties should not be able to access or collect it. 1RPC uses many different techniques to prevent the unnecessary collection of user privacy, which prevents tracking from RPC providers. https://docs.1rpc.io/technology/zero-tracking" - }, - { - "url": "https://fantom.blockpi.network/v1/rpc/public", - "tracking": "limited", - "trackingDetails": "We do not collect request data or request origin. We only temporarily record the request method names and IP addresses for 7 days to ensure our service functionality such as load balancing and DDoS protection. All the data is automatically deleted after 7 days and we do not store any user information for longer periods of time. https://blockpi.io/privacy-policy" - }, - { - "url": "https://fantom-rpc.publicnode.com", - "tracking": "none", - "trackingDetails": "We do not store or track any user data with the exception of data that will be public on chain. We do not correlate wallets address's with IP's, any data which is needed to transact is deleted after 24 hours. We also do no use any Analytics or 3rd party website tracking. https://www.publicnode.com/privacy" - }, - { - "url": "wss://fantom-rpc.publicnode.com", - "tracking": "none", - "trackingDetails": "We do not store or track any user data with the exception of data that will be public on chain. We do not correlate wallets address's with IP's, any data which is needed to transact is deleted after 24 hours. We also do no use any Analytics or 3rd party website tracking. https://www.publicnode.com/privacy" - }, - { - "url": "https://fantom.api.onfinality.io/public", - "tracking": "limited", - "trackingDetails": "For the sole purpose of providing our service, we temporarily record IP addresses and origins to check against free limits, provide load balancing, prevent DOS attacks, and to determine where best to locate our nodes. We do not, and will never, correlate or link specific wallet addresses or transactions made over our infrastructure to the IP address or origin making the RPC request. After processing IP addresses, we discard the IP address value within 24 hours. Read more here: https://blog.onfinality.io/how-does-onfinality-deal-with-personal-information/" - }, - { - "url": "https://rpc.fantom.gateway.fm", - "tracking": "yes", - "trackingDetails": "When you use our services or visit our websites, we may log your device\u2019s IP address for debugging and security reasons. We may retain this information for up to twelve months" - }, - { - "url": "https://fantom.drpc.org", - "tracking": "none", - "trackingDetails": "Specific types of technical data that we may temporarily log include:IP address (only in logs for redirecting requests to the nearest RPC nodes and rate limiting at the free level, which are cleared weekly). The user ID is hidden in the temporary logs, so it is not possible to link them to a specific user.https://drpc.org/privacy-policy" - }, - { - "url": "wss://fantom.drpc.org" - } - ], - "252": [ - { - "url": "https://rpc.frax.com" - } - ], - "254": [ - { - "url": "https://mainnet-rpc01.swanchain.io" - } - ], - "255": [ - { - "url": "https://1rpc.io/kroma", - "tracking": "none", - "trackingDetails": "With the exception of data that will be public on chain, all the other metadata / data should remain private to users and other parties should not be able to access or collect it. 1RPC uses many different techniques to prevent the unnecessary collection of user privacy, which prevents tracking from RPC providers. https://docs.1rpc.io/technology/zero-tracking" - }, - { - "url": "https://api.kroma.network" - }, - { - "url": "https://rpc-kroma.rockx.com" - } - ], - "256": [ - { - "url": "https://hecotestapi.terminet.io/rpc" - }, - { - "url": "https://http-testnet.hecochain.com" - }, - { - "url": "wss://ws-testnet.hecochain.com" - } - ], - "259": [ - { - "url": "https://mainnet.neonlink.io" - } - ], - "261": [ - { - "url": "https://rpc.gurunetwork.ai/archive/261" - } - ], - "262": [ - { - "url": "https://sur.nilin.org" - } - ], - "267": [ - { - "url": "https://rpc.ankr.com/neura_testnet" - } - ], - "269": [ - { - "url": "https://hpbnode.com" - }, - { - "url": "wss://ws.hpbnode.com" - } - ], - "271": [ - { - "url": "https://rpc.egonscan.com" - } - ], - "274": [ - { - "url": "https://rpc1.mainnet.lachain.network" - }, - { - "url": "https://rpc2.mainnet.lachain.network" - }, - { - "url": "https://lachain.rpc-nodes.cedalio.dev" - } - ], - "278": [ - { - "url": "https://rpc_mainnet.xfair.ai" - }, - { - "url": "wss://rpc_mainnet.xfair.ai" - } - ], - "279": [ - { - "url": "https://rpc.mainnet.bpxchain.cc" - }, - { - "url": "https://bpx-dataseed.infinex.cc" - } - ], - "282": [ - { - "url": "https://testnet.zkevm.cronos.org" - } - ], - "288": [ - { - "url": "https://mainnet.boba.network" - }, - { - "url": "https://boba-ethereum.gateway.tenderly.co", - "tracking": "yes", - "trackingDetails": "Additionally, if you are an Account Member, we may collect business and transactional data about you (and your business) that accumulates over the normal course of operation regarding providing our Services. This may include transaction records, stored files, user profiles, information about collaborators, analytics data, and other metrics, as well as other types of information created or generated by your interaction with our Services. https://tenderly.co/privacy-policy" - }, - { - "url": "https://gateway.tenderly.co/public/boba-ethereum", - "tracking": "yes", - "trackingDetails": "Additionally, if you are an Account Member, we may collect business and transactional data about you (and your business) that accumulates over the normal course of operation regarding providing our Services. This may include transaction records, stored files, user profiles, information about collaborators, analytics data, and other metrics, as well as other types of information created or generated by your interaction with our Services. https://tenderly.co/privacy-policy" - }, - { - "url": "https://1rpc.io/boba/eth", - "tracking": "none", - "trackingDetails": "With the exception of data that will be public on chain, all the other metadata / data should remain private to users and other parties should not be able to access or collect it. 1RPC uses many different techniques to prevent the unnecessary collection of user privacy, which prevents tracking from RPC providers. https://docs.1rpc.io/technology/zero-tracking" - }, - { - "url": "https://replica.boba.network" - }, - { - "url": "wss://boba-ethereum.gateway.tenderly.co" - }, - { - "url": "wss://gateway.tenderly.co/public/boba-ethereum" - }, - { - "url": "https://boba-eth.drpc.org" - }, - { - "url": "wss://boba-eth.drpc.org" - } - ], - "291": [ - { - "url": "https://rpc.orderly.network" - }, - { - "url": "https://l2-orderly-mainnet-0.t.conduit.xyz" - } - ], - "295": [ - { - "url": "https://mainnet.hashio.io/api" - } - ], - "296": [ - { - "url": "https://testnet.hashio.io/api" - } - ], - "297": [ - { - "url": "https://previewnet.hashio.io/api" - } - ], - "300": [ - { - "url": "https://zksync-era-sepolia.blockpi.network/v1/rpc/public", - "tracking": "limited", - "trackingDetails": "We do not collect request data or request origin. We only temporarily record the request method names and IP addresses for 7 days to ensure our service functionality such as load balancing and DDoS protection. All the data is automatically deleted after 7 days and we do not store any user information for longer periods of time. https://blockpi.io/privacy-policy" - }, - { - "url": "https://sepolia.era.zksync.dev" - }, - { - "url": "https://zksync-sepolia.drpc.org" - }, - { - "url": "wss://zksync-sepolia.drpc.org" - } - ], - "302": [ - { - "url": "https://sepolia.rpc.zkcandy.io" - } - ], - "303": [ - { - "url": "https://nc-rpc-test1.neurochain.io" - } - ], - "305": [ - { - "url": "https://mainnet.zksats.io" - } - ], - "307": [ - { - "url": "https://trpc.lovely.network" - } - ], - "308": [ - { - "url": "https://rpc.furtheon.org" - } - ], - "309": [ - { - "url": "https://rpc-testnet3.wyzthchain.org" - } - ], - "311": [ - { - "url": "https://mainapi.omaxray.com" - } - ], - "313": [ - { - "url": "https://nc-rpc-prd1.neurochain.io" - }, - { - "url": "https://nc-rpc-prd2.neurochain.io" - } - ], - "314": [ - { - "url": "https://api.node.glif.io" - }, - { - "url": "https://node.filutils.com/rpc/v1" - }, - { - "url": "https://rpc.ankr.com/filecoin", - "tracking": "limited", - "trackingDetails": "For service delivery purposes, we temporarily record IP addresses to set usage limits and monitor for denial of service attacks against our infrastructure. Though we do look at high-level data around the success rate of transactions made over the blockchain RPC, we do not correlate wallet transactions made over the infrastructure to the IP address making the RPC request. Thus, we do not store, exploit, or share any information regarding Personal Identifiable Information (PII), including wallet addresses. https://www.ankr.com/blog/ankrs-ip-address-policy-and-your-privacy/" - }, - { - "url": "https://filecoin.chainup.net/rpc/v1", - "tracking": "limited", - "trackingDetails": "We only collect user IP addresses for the purpose of rate limiting. For more information, please visit https://docs.chainupcloud.com/introduction/products/blockchain-api." - }, - { - "url": "https://infura.sftproject.io/filecoin/rpc/v1", - "tracking": "yes", - "trackingDetails": "Information collected automatically may include usage details, IP addresses, and information collected through cookies and other tracking technologies" - }, - { - "url": "https://api.chain.love/rpc/v1" - }, - { - "url": "https://filecoin-mainnet.chainstacklabs.com/rpc/v1" - }, - { - "url": "https://filfox.info/rpc/v1" - }, - { - "url": "https://filecoin.drpc.org" - }, - { - "url": "wss://filecoin.drpc.org" - } - ], - "321": [ - { - "url": "https://rpc-mainnet.kcc.network" - }, - { - "url": "https://kcc.mytokenpocket.vip" - }, - { - "url": "https://kcc-rpc.com" - }, - { - "url": "https://services.tokenview.io/vipapi/nodeservice/kcs?apikey=qVHq2o6jpaakcw3lRstl", - "tracking": "yes", - "trackingDetails": "Information about your computer hardware and software may be automatically collected by Tokenview. This information can include such details as your IP address, browser type, domain names, access times, etc.https://services.tokenview.io/en/protocol" - }, - { - "url": "https://public-rpc.blockpi.io/http/kcc" - } - ], - "322": [ - { - "url": "https://rpc-testnet.kcc.network" - } - ], - "323": [ - { - "url": "https://rpc.cosvm.net" - } - ], - "324": [ - { - "url": "https://zksync-era.blockpi.network/v1/rpc/public", - "tracking": "limited", - "trackingDetails": "We do not collect request data or request origin. We only temporarily record the request method names and IP addresses for 7 days to ensure our service functionality such as load balancing and DDoS protection. All the data is automatically deleted after 7 days and we do not store any user information for longer periods of time. https://blockpi.io/privacy-policy" - }, - { - "url": "https://zksync.meowrpc.com", - "tracking": "none", - "trackingDetails": "With the exclusion of data that will be openly visible and available on the blockchain, MEOWRPC does not track or store any kind of user information (such as location, IP address, etc.) that passes through our RPC. For further details regarding our privacy practices, we encourage you to refer to our Privacy Policy. https://privacy.meowrpc.com" - }, - { - "url": "https://zksync.drpc.org", - "tracking": "none", - "trackingDetails": "Specific types of technical data that we may temporarily log include:IP address (only in logs for redirecting requests to the nearest RPC nodes and rate limiting at the free level, which are cleared weekly). The user ID is hidden in the temporary logs, so it is not possible to link them to a specific user.https://drpc.org/privacy-policy" - }, - { - "url": "https://1rpc.io/zksync2-era", - "tracking": "none", - "trackingDetails": "With the exception of data that will be public on chain, all the other metadata / data should remain private to users and other parties should not be able to access or collect it. 1RPC uses many different techniques to prevent the unnecessary collection of user privacy, which prevents tracking from RPC providers. https://docs.1rpc.io/technology/zero-tracking" - }, - { - "url": "https://mainnet.era.zksync.io" - }, - { - "url": "wss://zksync.drpc.org" - } - ], - "333": [ - { - "url": "https://mainnet.web3q.io:8545" - } - ], - "335": [ - { - "url": "https://subnets.avax.network/defi-kingdoms/dfk-chain-testnet/rpc" - } - ], - "336": [ - { - "url": "https://rpc.shiden.astar.network:8545" - }, - { - "url": "https://shiden.public.blastapi.io", - "tracking": "limited", - "trackingDetails": "All the information in our logs (log data) can only be accessed for the last 7 days at any certain time, and it is completely purged after 14 days. We do not store any user information for longer periods of time or with any other purposes than investigating potential errors and service failures. https://blastapi.io/privacy-policy" - }, - { - "url": "https://shiden-rpc.dwellir.com", - "tracking": "limited", - "trackingDetails": "Except for the data that is publicly accessible on the blockchain, Dwellir does not collect or keep any user information (like location, IP address, etc.) transmitted via our RPC. For more information about our privacy methods, we suggest checking out our Privacy Policy at https://www.dwellir.com/privacy-policy" - }, - { - "url": "wss://shiden-rpc.dwellir.com", - "tracking": "limited", - "trackingDetails": "Except for the data that is publicly accessible on the blockchain, Dwellir does not collect or keep any user information (like location, IP address, etc.) transmitted via our RPC. For more information about our privacy methods, we suggest checking out our Privacy Policy at https://www.dwellir.com/privacy-policy" - }, - { - "url": "https://shiden.api.onfinality.io/public", - "tracking": "limited", - "trackingDetails": "For the sole purpose of providing our service, we temporarily record IP addresses and origins to check against free limits, provide load balancing, prevent DOS attacks, and to determine where best to locate our nodes. We do not, and will never, correlate or link specific wallet addresses or transactions made over our infrastructure to the IP address or origin making the RPC request. After processing IP addresses, we discard the IP address value within 24 hours. Read more here: https://blog.onfinality.io/how-does-onfinality-deal-with-personal-information/" - }, - { - "url": "wss://shiden.api.onfinality.io/public-ws" - }, - { - "url": "wss://shiden.public.blastapi.io" - } - ], - "338": [ - { - "url": "https://evm-t3.cronos.org" - }, - { - "url": "https://cronos-testnet.drpc.org" - }, - { - "url": "wss://cronos-testnet.drpc.org" - } - ], - "345": [ - { - "url": "https://rpc01.trias.one" - } - ], - "361": [ - { - "url": "https://eth-rpc-api.thetatoken.org/rpc" - } - ], - "363": [ - { - "url": "https://eth-rpc-api-sapphire.thetatoken.org/rpc" - } - ], - "364": [ - { - "url": "https://eth-rpc-api-amber.thetatoken.org/rpc" - } - ], - "365": [ - { - "url": "https://eth-rpc-api-testnet.thetatoken.org/rpc" - } - ], - "369": [ - { - "url": "https://rpc.pulsechain.com" - }, - { - "url": "https://pulse-s.projectpi.xyz", - "tracking": "none", - "trackingDetails": "When you use Project Pi as an RPC provider we will not store your IP address or any data for more than 24 hours. IP addresses are not connected or correlated to wallet addresses" - }, - { - "url": "https://pulsechain-rpc.publicnode.com", - "tracking": "none", - "trackingDetails": "We do not store or track any user data with the exception of data that will be public on chain. We do not correlate wallets address's with IP's, any data which is needed to transact is deleted after 24 hours. We also do no use any Analytics or 3rd party website tracking. https://www.publicnode.com/privacy" - }, - { - "url": "wss://pulsechain-rpc.publicnode.com", - "tracking": "none", - "trackingDetails": "We do not store or track any user data with the exception of data that will be public on chain. We do not correlate wallets address's with IP's, any data which is needed to transact is deleted after 24 hours. We also do no use any Analytics or 3rd party website tracking. https://www.publicnode.com/privacy" - }, - { - "url": "https://rpc-pulsechain.g4mm4.io" - }, - { - "url": "https://evex.cloud/pulserpc" - }, - { - "url": "wss://evex.cloud/pulsews" - }, - { - "url": "wss://rpc.pulsechain.com" - }, - { - "url": "wss://rpc-pulsechain.g4mm4.io" - } - ], - "371": [ - { - "url": "https://rpc-testnet.theconsta.com" - } - ], - "380": [ - { - "url": "https://rpc.testnet.zkamoeba.com:4050" - }, - { - "url": "https://rpc1.testnet.zkamoeba.com:4050" - } - ], - "381": [ - { - "url": "https://rpc.mainnet.zkamoeba.com/rpc" - } - ], - "385": [ - { - "url": "https://rpc-bitfalls1.lisinski.online" - } - ], - "388": [ - { - "url": "https://mainnet.zkevm.cronos.org" - } - ], - "395": [ - { - "url": "https://rpc1.testnet.camdl.gov.kh" - } - ], - "399": [ - { - "url": "https://rpc.nativ3.network" - }, - { - "url": "wss://ws.nativ3.network" - } - ], - "400": [ - { - "url": "https://testnet-rpc.hyperonchain.com" - } - ], - "401": [ - { - "url": "https://node1.testnet.ozonechain.io" - } - ], - "404": [ - { - "url": "https://rpc.syndr.com" - }, - { - "url": "wss://rpc.syndr.com/ws" - } - ], - "411": [ - { - "url": "https://rpc.pepe-chain.vip" - } - ], - "416": [ - { - "url": "https://rpc.sx.technology" - } - ], - "418": [ - { - "url": "https://rpc.testnet.lachain.network" - }, - { - "url": "https://lachain-testnet.rpc-nodes.cedalio.dev" - } - ], - "420": [ - { - "url": "https://endpoints.omniatech.io/v1/op/goerli/public", - "tracking": "none", - "trackingDetails": "All the data and metadata remain private to the users. No third party is able to access, analyze or track it. OMNIA leverages different technologies and approaches to guarantee the privacy of their users, from front-running protection and private mempools, to obfuscation and random dispatching. https://blog.omniatech.io/how-omnia-handles-your-personal-data" - }, - { - "url": "https://opt-goerli.g.alchemy.com/v2/demo", - "tracking": "yes", - "trackingDetails": "We may collect certain information automatically when you use our Services, such as your Internet protocol (IP) address, user settings, MAC address, cookie identifiers, mobile carrier, mobile advertising and other unique identifiers, browser or device information, location information (including approximate location derived from IP address), and Internet service provider. https://www.alchemy.com/policies/privacy-policy" - }, - { - "url": "https://optimism-goerli.public.blastapi.io", - "tracking": "limited", - "trackingDetails": "All the information in our logs (log data) can only be accessed for the last 7 days at any certain time, and it is completely purged after 14 days. We do not store any user information for longer periods of time or with any other purposes than investigating potential errors and service failures. https://blastapi.io/privacy-policy" - }, - { - "url": "https://rpc.goerli.optimism.gateway.fm", - "tracking": "yes", - "trackingDetails": "When you use our services or visit our websites, we may log your device\u2019s IP address for debugging and security reasons. We may retain this information for up to twelve months" - }, - { - "url": "https://optimism-goerli-rpc.publicnode.com", - "tracking": "none", - "trackingDetails": "We do not store or track any user data with the exception of data that will be public on chain. We do not correlate wallets address's with IP's, any data which is needed to transact is deleted after 24 hours. We also do no use any Analytics or 3rd party website tracking. https://www.publicnode.com/privacy" - }, - { - "url": "wss://optimism-goerli-rpc.publicnode.com", - "tracking": "none", - "trackingDetails": "We do not store or track any user data with the exception of data that will be public on chain. We do not correlate wallets address's with IP's, any data which is needed to transact is deleted after 24 hours. We also do no use any Analytics or 3rd party website tracking. https://www.publicnode.com/privacy" - }, - { - "url": "https://api.zan.top/node/v1/opt/goerli/public", - "tracking": "limited", - "trackingDetails": "ZAN Node Service generally does not store any kind of user information (e.g. IP address, location, requst location, request data, etc.) that transits through our RPCs except for one senario \u2014\u2014we may track your IP address when you are using our RPCs and will delete it immediately when you stoping using our RPCs. To learn more, please review our privacy policy at https://a.zan.top/static/Privacy-Policy.pdf" - }, - { - "url": "https://optimism-goerli.gateway.tenderly.co", - "tracking": "yes", - "trackingDetails": "Additionally, if you are an Account Member, we may collect business and transactional data about you (and your business) that accumulates over the normal course of operation regarding providing our Services. This may include transaction records, stored files, user profiles, information about collaborators, analytics data, and other metrics, as well as other types of information created or generated by your interaction with our Services. https://tenderly.co/privacy-policy" - }, - { - "url": "https://gateway.tenderly.co/public/optimism-goerli", - "tracking": "yes", - "trackingDetails": "Additionally, if you are an Account Member, we may collect business and transactional data about you (and your business) that accumulates over the normal course of operation regarding providing our Services. This may include transaction records, stored files, user profiles, information about collaborators, analytics data, and other metrics, as well as other types of information created or generated by your interaction with our Services. https://tenderly.co/privacy-policy" - }, - { - "url": "https://goerli.optimism.io" - }, - { - "url": "wss://optimism-goerli.gateway.tenderly.co" - }, - { - "url": "https://optimism-testnet.drpc.org" - }, - { - "url": "wss://optimism-testnet.drpc.org" - } - ], - "422": [ - { - "url": "https://mainnet-rpc.vrd.network" - } - ], - "424": [ - { - "url": "https://rpc.publicgoods.network" - } - ], - "427": [ - { - "url": "https://rpc.zeeth.io" - } - ], - "428": [ - { - "url": "https://rpc.verse.gesoten.com" - } - ], - "434": [ - { - "url": "https://evm-rpc.mainnet.boyaa.network" - } - ], - "443": [ - { - "url": "https://testnet.ten.xyz" - } - ], - "444": [ - { - "url": "https://sepolia.synapseprotocol.com" - } - ], - "456": [ - { - "url": "https://chain-rpc.arzio.co" - } - ], - "462": [ - { - "url": "https://testnet-rpc.areon.network" - }, - { - "url": "https://testnet-rpc2.areon.network" - }, - { - "url": "https://testnet-rpc3.areon.network" - }, - { - "url": "https://testnet-rpc4.areon.network" - }, - { - "url": "https://testnet-rpc5.areon.network" - } - ], - "463": [ - { - "url": "https://mainnet-rpc.areon.network" - }, - { - "url": "https://mainnet-rpc2.areon.network" - }, - { - "url": "https://mainnet-rpc3.areon.network" - }, - { - "url": "https://mainnet-rpc4.areon.network" - }, - { - "url": "https://mainnet-rpc5.areon.network" - } - ], - "500": [ - { - "url": "https://api.camino.network/ext/bc/C/rpc" - } - ], - "501": [ - { - "url": "https://columbus.camino.network/ext/bc/C/rpc" - } - ], - "510": [ - { - "url": "https://rpc-mainnet.syndicate.io" - } - ], - "512": [ - { - "url": "https://rpc.acuteangle.com" - } - ], - "513": [ - { - "url": "https://rpc-testnet.acuteangle.com" - } - ], - "516": [ - { - "url": "https://gzn.linksme.info" - } - ], - "520": [ - { - "url": "https://datarpc1.xsc.pub" - }, - { - "url": "https://datarpc2.xsc.pub" - }, - { - "url": "https://datarpc3.xsc.pub" - } - ], - "529": [ - { - "url": "https://rpc-mainnet.thefirechain.com" - } - ], - "530": [ - { - "url": "https://fx-json-web3.portfolio-x.xyz:8545" - }, - { - "url": "https://fx-json-web3.functionx.io:8545" - } - ], - "534": [ - { - "url": "https://candle-rpc.com" - }, - { - "url": "https://rpc.cndlchain.com" - } - ], - "537": [ - { - "url": "https://rpc.optrust.io" - } - ], - "542": [ - { - "url": "https://pawchainx.com" - } - ], - "545": [ - { - "url": "https://testnet.evm.nodes.onflow.org" - } - ], - "555": [ - { - "url": "https://rpc.velaverse.io" - } - ], - "558": [ - { - "url": "https://rpc.tao.network" - }, - { - "url": "https://rpc.testnet.tao.network" - }, - { - "url": "http://rpc.testnet.tao.network:8545" - }, - { - "url": "wss://rpc.tao.network" - } - ], - "568": [ - { - "url": "https://rpc-testnet.dogechain.dog" - } - ], - "570": [ - { - "url": "wss://rpc.rollux.com/wss" - }, - { - "url": "https://rpc.rollux.com" - }, - { - "url": "https://rollux.rpc.syscoin.org" - }, - { - "url": "wss://rollux.rpc.syscoin.org/wss" - }, - { - "url": "https://rpc.ankr.com/rollux" - } - ], - "571": [ - { - "url": "https://rpc.metatime.com" - } - ], - "579": [ - { - "url": "https://rpc.filenova.org" - } - ], - "592": [ - { - "url": "https://evm.astar.network" - }, - { - "url": "https://rpc.astar.network:8545" - }, - { - "url": "https://astar.public.blastapi.io", - "tracking": "limited", - "trackingDetails": "All the information in our logs (log data) can only be accessed for the last 7 days at any certain time, and it is completely purged after 14 days. We do not store any user information for longer periods of time or with any other purposes than investigating potential errors and service failures. https://blastapi.io/privacy-policy" - }, - { - "url": "https://getblock.io/nodes/bsc", - "tracking": "none", - "trackingDetails": "We automatically collect certain information through cookies and similar technologies when you visit, use or navigate Website. This information does not reveal your specific identity (like your name or contact information) and does not allow to identify you. However, it may include device and usage information, such as your IP address, browser and device characteristics, its type and version, operating system, language preferences, referring URLs, device name, country, location, information about how and when you use our Website, information about your interaction in our emails, and other technical and statistical information. This information is primarily needed to maintain the security and operation of our Website, and for our internal analytics and reporting purposes.Specifically, as the RPC provider, we do not log and store your IP address, country, location and similar data. https://getblock.io/privacy-policy/" - }, - { - "url": "https://1rpc.io/astr", - "tracking": "none", - "trackingDetails": "With the exception of data that will be public on chain, all the other metadata / data should remain private to users and other parties should not be able to access or collect it. 1RPC uses many different techniques to prevent the unnecessary collection of user privacy, which prevents tracking from RPC providers. https://docs.1rpc.io/technology/zero-tracking" - }, - { - "url": "https://astar-mainnet.g.alchemy.com/v2/demo", - "tracking": "yes", - "trackingDetails": "We may collect certain information automatically when you use our Services, such as your Internet protocol (IP) address, user settings, MAC address, cookie identifiers, mobile carrier, mobile advertising and other unique identifiers, browser or device information, location information (including approximate location derived from IP address), and Internet service provider. https://www.alchemy.com/policies/privacy-policy" - }, - { - "url": "https://astar.api.onfinality.io/public", - "tracking": "limited", - "trackingDetails": "For the sole purpose of providing our service, we temporarily record IP addresses and origins to check against free limits, provide load balancing, prevent DOS attacks, and to determine where best to locate our nodes. We do not, and will never, correlate or link specific wallet addresses or transactions made over our infrastructure to the IP address or origin making the RPC request. After processing IP addresses, we discard the IP address value within 24 hours. Read more here: https://blog.onfinality.io/how-does-onfinality-deal-with-personal-information/" - }, - { - "url": "wss://astar.api.onfinality.io/public-ws", - "tracking": "limited", - "trackingDetails": "For the sole purpose of providing our service, we temporarily record IP addresses and origins to check against free limits, provide load balancing, prevent DOS attacks, and to determine where best to locate our nodes. We do not, and will never, correlate or link specific wallet addresses or transactions made over our infrastructure to the IP address or origin making the RPC request. After processing IP addresses, we discard the IP address value within 24 hours. Read more here: https://blog.onfinality.io/how-does-onfinality-deal-with-personal-information/" - }, - { - "url": "https://astar-rpc.dwellir.com", - "tracking": "limited", - "trackingDetails": "Except for the data that is publicly accessible on the blockchain, Dwellir does not collect or keep any user information (like location, IP address, etc.) transmitted via our RPC. For more information about our privacy methods, we suggest checking out our Privacy Policy at https://www.dwellir.com/privacy-policy" - }, - { - "url": "wss://astar-rpc.dwellir.com", - "tracking": "limited", - "trackingDetails": "Except for the data that is publicly accessible on the blockchain, Dwellir does not collect or keep any user information (like location, IP address, etc.) transmitted via our RPC. For more information about our privacy methods, we suggest checking out our Privacy Policy at https://www.dwellir.com/privacy-policy" - } - ], - "595": [ - { - "url": "https://eth-rpc-tc9.aca-staging.network" - }, - { - "url": "wss://eth-rpc-tc9.aca-staging.network" - } - ], - "596": [ - { - "url": "https://eth-rpc-karura-testnet.aca-staging.network" - }, - { - "url": "wss://eth-rpc-karura-testnet.aca-staging.network" - } - ], - "597": [ - { - "url": "https://eth-rpc-acala-testnet.aca-staging.network" - }, - { - "url": "wss://eth-rpc-acala-testnet.aca-staging.network" - } - ], - "601": [ - { - "url": "https://rpc-testnet.vne.network" - } - ], - "610": [ - { - "url": "https://devnet-rpc.darwinchain.ai" - } - ], - "612": [ - { - "url": "https://rpc.eiob.xyz" - } - ], - "614": [ - { - "url": "https://glq-dataseed.graphlinq.io" - } - ], - "624": [ - { - "url": "https://rpc.zero.thebinaryholdings.com" - } - ], - "625": [ - { - "url": "https://rpc.testnet.thebinaryholdings.com" - } - ], - "634": [ - { - "url": "https://rpc.avocado.instadapp.io" - } - ], - "646": [ - { - "url": "https://previewnet.evm.nodes.onflow.org" - } - ], - "647": [ - { - "url": "https://rpc.toronto.sx.technology" - } - ], - "648": [ - { - "url": "https://rpc-endurance.fusionist.io" - } - ], - "653": [ - { - "url": "https://rpc.kalichain.com" - } - ], - "654": [ - { - "url": "https://mainnet.kalichain.com" - } - ], - "662": [ - { - "url": "https://rpc.ultronsmartchain.io" - } - ], - "666": [ - { - "url": "https://http-testnet.chain.pixie.xyz" - }, - { - "url": "wss://ws-testnet.chain.pixie.xyz" - } - ], - "667": [ - { - "url": "https://arrakis.gorengine.com/own" - }, - { - "url": "wss://arrakis.gorengine.com/own" - } - ], - "668": [ - { - "url": "https://rpc.juncachain.com" - } - ], - "669": [ - { - "url": "https://rpc-testnet.juncachain.com" - }, - { - "url": "wss://ws-testnet.juncachain.com" - } - ], - "686": [ - { - "url": "https://eth-rpc-karura.aca-staging.network" - }, - { - "url": "https://rpc.evm.karura.network" - }, - { - "url": "https://karura.api.onfinality.io/public", - "tracking": "limited", - "trackingDetails": "For the sole purpose of providing our service, we temporarily record IP addresses and origins to check against free limits, provide load balancing, prevent DOS attacks, and to determine where best to locate our nodes. We do not, and will never, correlate or link specific wallet addresses or transactions made over our infrastructure to the IP address or origin making the RPC request. After processing IP addresses, we discard the IP address value within 24 hours. Read more here: https://blog.onfinality.io/how-does-onfinality-deal-with-personal-information/" - }, - { - "url": "https://eth-rpc-karura.aca-api.network" - }, - { - "url": "wss://eth-rpc-karura.aca-api.network" - } - ], - "690": [ - { - "url": "https://rpc.redstonechain.com" - }, - { - "url": "wss://rpc.redstonechain.com" - } - ], - "700": [ - { - "url": "https://avastar.cc/ext/bc/C/rpc" - } - ], - "701": [ - { - "url": "https://koi-rpc.darwinia.network" - } - ], - "707": [ - { - "url": "https://rpc-mainnet.bcsdev.io" - }, - { - "url": "wss://rpc-ws-mainnet.bcsdev.io" - } - ], - "708": [ - { - "url": "https://rpc-testnet.bcsdev.io" - }, - { - "url": "wss://rpc-ws-testnet.bcsdev.io" - } - ], - "710": [ - { - "url": "https://highbury.furya.io" - }, - { - "url": "https://rest.furya.io" - } - ], - "713": [ - { - "url": "https://rpc-mainnet-5.vrcscan.com" - }, - { - "url": "https://rpc-mainnet-6.vrcscan.com" - }, - { - "url": "https://rpc-mainnet-7.vrcscan.com" - }, - { - "url": "https://rpc-mainnet-8.vrcscan.com" - } - ], - "719": [ - { - "url": "https://puppynet.shibrpc.com" - } - ], - "721": [ - { - "url": "https://rpc.lycanchain.com" - }, - { - "url": "https://us-east.lycanchain.com" - }, - { - "url": "https://us-west.lycanchain.com" - }, - { - "url": "https://eu-north.lycanchain.com" - }, - { - "url": "https://eu-west.lycanchain.com" - }, - { - "url": "https://asia-southeast.lycanchain.com" - } - ], - "727": [ - { - "url": "https://data.bluchain.pro" - } - ], - "730": [ - { - "url": "https://rpc.lovely.network" - } - ], - "741": [ - { - "url": "https://node-testnet.vention.network" - } - ], - "742": [ - { - "url": "https://testeth-rpc-api.script.tv/rpc" - } - ], - "747": [ - { - "url": "https://mainnet.evm.nodes.onflow.org" - } - ], - "766": [ - { - "url": "https://rpc.qom.one" - } - ], - "777": [ - { - "url": "https://node.cheapeth.org/rpc" - } - ], - "786": [ - { - "url": "https://node1-mainnet.maalscan.io" - }, - { - "url": "https://node2-mainnet.maalscan.io" - }, - { - "url": "https://node3-mainnet.maalscan.io" - } - ], - "787": [ - { - "url": "https://eth-rpc-acala.aca-staging.network" - }, - { - "url": "https://rpc.evm.acala.network" - }, - { - "url": "https://eth-rpc-acala.aca-api.network" - }, - { - "url": "wss://eth-rpc-acala.aca-api.network" - } - ], - "788": [ - { - "url": "https://testnet-rpc.aerochain.id" - } - ], - "789": [ - { - "url": "https://rpc.patex.io" - } - ], - "799": [ - { - "url": "https://rpc.testnet.rupaya.io" - } - ], - "800": [ - { - "url": "https://rpc.lucidcoin.io" - } - ], - "803": [ - { - "url": "https://orig.haichain.io" - } - ], - "808": [ - { - "url": "https://subnets.avax.network/portal-fantasy/testnet/rpc" - } - ], - "810": [ - { - "url": "https://testnet-rpc.haven1.org" - } - ], - "813": [ - { - "url": "https://mainnet.meerlabs.com" - }, - { - "url": "https://evm-dataseed1.meerscan.io" - }, - { - "url": "https://evm-dataseed2.meerscan.io" - }, - { - "url": "https://evm-dataseed3.meerscan.io" - }, - { - "url": "https://evm-dataseed.meerscan.com" - }, - { - "url": "https://qng.rpc.qitmeer.io" - }, - { - "url": "https://rpc.dimai.ai" - }, - { - "url": "https://rpc.woowow.io" - } - ], - "814": [ - { - "url": "https://rpc-zkevm.thefirechain.com" - } - ], - "818": [ - { - "url": "https://dataseed1.beonechain.com" - }, - { - "url": "https://dataseed2.beonechain.com" - }, - { - "url": "https://dataseed-us1.beonechain.com" - }, - { - "url": "https://dataseed-us2.beonechain.com" - }, - { - "url": "https://dataseed-uk1.beonechain.com" - }, - { - "url": "https://dataseed-uk2.beonechain.com" - } - ], - "820": [ - { - "url": "https://rpc.callisto.network" - }, - { - "url": "https://clo-geth.0xinfra.com" - } - ], - "822": [ - { - "url": "https://rpc-testnet.runic.build" - } - ], - "831": [ - { - "url": "https://devnet.checkdot.io" - } - ], - "841": [ - { - "url": "https://rpc.mainnet.taraxa.io" - } - ], - "842": [ - { - "url": "https://rpc.testnet.taraxa.io" - } - ], - "852": [ - { - "url": "https://eth.jegotrip.net" - } - ], - "859": [ - { - "url": "https://rpc.dev.zeeth.io" - } - ], - "868": [ - { - "url": "https://mainnet-data1.fantasiachain.com" - }, - { - "url": "https://mainnet-data2.fantasiachain.com" - }, - { - "url": "https://mainnet-data3.fantasiachain.com" - } - ], - "876": [ - { - "url": "https://rpc.main.oasvrs.bnken.net" - } - ], - "877": [ - { - "url": "https://dxt.dexit.network" - } - ], - "880": [ - { - "url": "https://api.ambros.network" - } - ], - "888": [ - { - "url": "https://gwan-ssl.wandevs.org:56891" - }, - { - "url": "https://gwan2-ssl.wandevs.org" - } - ], - "898": [ - { - "url": "https://rpc-testnet.maxi.network" - } - ], - "899": [ - { - "url": "https://rpc.maxi.network" - } - ], - "900": [ - { - "url": "https://s0-testnet.garizon.net/rpc" - } - ], - "901": [ - { - "url": "https://s1-testnet.garizon.net/rpc" - } - ], - "902": [ - { - "url": "https://s2-testnet.garizon.net/rpc" - } - ], - "903": [ - { - "url": "https://s3-testnet.garizon.net/rpc" - } - ], - "910": [ - { - "url": "https://layer1test.decentrabone.com" - } - ], - "911": [ - { - "url": "https://rpc.taprootchain.io" - } - ], - "917": [ - { - "url": "https://rinia-rpc1.thefirechain.com" - } - ], - "919": [ - { - "url": "https://sepolia.mode.network" - } - ], - "927": [ - { - "url": "https://rpc.yidark.io" - } - ], - "943": [ - { - "url": "https://pulsetest-s.projectpi.xyz", - "tracking": "none", - "trackingDetails": "When you use Project Pi as an RPC provider we will not store your IP address or any data for more than 24 hours. IP addresses are not connected or correlated to wallet addresses" - }, - { - "url": "https://pulsechain-testnet-rpc.publicnode.com", - "tracking": "none", - "trackingDetails": "We do not store or track any user data with the exception of data that will be public on chain. We do not correlate wallets address's with IP's, any data which is needed to transact is deleted after 24 hours. We also do no use any Analytics or 3rd party website tracking. https://www.publicnode.com/privacy" - }, - { - "url": "wss://pulsechain-testnet-rpc.publicnode.com", - "tracking": "none", - "trackingDetails": "We do not store or track any user data with the exception of data that will be public on chain. We do not correlate wallets address's with IP's, any data which is needed to transact is deleted after 24 hours. We also do no use any Analytics or 3rd party website tracking. https://www.publicnode.com/privacy" - }, - { - "url": "https://rpc.v4.testnet.pulsechain.com" - }, - { - "url": "wss://rpc.v4.testnet.pulsechain.com" - }, - { - "url": "https://rpc-testnet-pulsechain.g4mm4.io" - }, - { - "url": "wss://rpc-testnet-pulsechain.g4mm4.io" - } - ], - "957": [ - { - "url": "https://rpc.lyra.finance" - } - ], - "963": [ - { - "url": "https://rpc.bitcoincode.technology" - } - ], - "969": [ - { - "url": "https://rpc.ethxy.com" - } - ], - "970": [ - { - "url": "https://mainnet-rpc.oortech.com" - } - ], - "972": [ - { - "url": "https://ascraeus-rpc.oortech.com" - } - ], - "977": [ - { - "url": "https://api.nepalblockchain.dev" - }, - { - "url": "https://api.nepalblockchain.network" - } - ], - "979": [ - { - "url": "https://rpc.testnet.ethxy.com" - } - ], - "980": [ - { - "url": "https://ethapi.topnetwork.org" - } - ], - "985": [ - { - "url": "https://chain.metamemo.one:8501" - }, - { - "url": "wss://chain.metamemo.one:16801" - } - ], - "987": [ - { - "url": "https://rpc.binarychain.org" - } - ], - "990": [ - { - "url": "https://rpc.eliberty.ngo" - } - ], - "995": [ - { - "url": "https://rpc.5ire.network" - } - ], - "996": [ - { - "url": "https://hk.p.bifrost-rpc.liebi.com" - } - ], - "997": [ - { - "url": "https://rpc-testnet.5ire.network" - } - ], - "998": [ - { - "url": "https://rpc.luckynetwork.org" - }, - { - "url": "wss://ws.lnscan.org" - }, - { - "url": "https://rpc.lnscan.org" - } - ], - "999": [ - { - "url": "https://gwan-ssl.wandevs.org:46891" - } - ], - "1000": [ - { - "url": "https://rpc.gton.network" - } - ], - "1001": [ - { - "url": "https://public-en-baobab.klaytn.net" - }, - { - "url": "https://klaytn-baobab-rpc.allthatnode.com:8551", - "tracking": "yes", - "trackingDetails": "In addition to the Personal Information, the Billing Information, and the Geolocational Information..., we automatically collect certain information when you use the Platform or Website: IP addresses, browser type and language...; information about a mobile device, including universally unique ID (\u201CUUID\u201D), platform type and version (e.g., iOS or Android), carrier and country location, hardware and processor information, and network type; and activity and usage information occurring via the Platform or Website.https://www.allthatnode.com/privacypolicy.dsrv" - }, - { - "url": "https://rpc.ankr.com/klaytn_testnet", - "tracking": "limited", - "trackingDetails": "For service delivery purposes, we temporarily record IP addresses to set usage limits and monitor for denial of service attacks against our infrastructure. Though we do look at high-level data around the success rate of transactions made over the blockchain RPC, we do not correlate wallet transactions made over the infrastructure to the IP address making the RPC request. Thus, we do not store, exploit, or share any information regarding Personal Identifiable Information (PII), including wallet addresses. https://www.ankr.com/blog/ankrs-ip-address-policy-and-your-privacy/" - }, - { - "url": "https://klaytn-baobab.blockpi.network/v1/rpc/public", - "tracking": "limited", - "trackingDetails": "We do not collect request data or request origin. We only temporarily record the request method names and IP addresses for 7 days to ensure our service functionality such as load balancing and DDoS protection. All the data is automatically deleted after 7 days and we do not store any user information for longer periods of time. https://blockpi.io/privacy-policy" - }, - { - "url": "https://klaytn.api.onfinality.io/public", - "tracking": "limited", - "trackingDetails": "For the sole purpose of providing our service, we temporarily record IP addresses and origins to check against free limits, provide load balancing, prevent DOS attacks, and to determine where best to locate our nodes. We do not, and will never, correlate or link specific wallet addresses or transactions made over our infrastructure to the IP address or origin making the RPC request. After processing IP addresses, we discard the IP address value within 24 hours. Read more here: https://blog.onfinality.io/how-does-onfinality-deal-with-personal-information/" - }, - { - "url": "https://public-en.kairos.node.kaia.io" - } - ], - "1003": [ - { - "url": "https://rpc.softnote.com", - "tracking": "yes", - "trackingDetails": "CrispMind collects personal information and uses cookies for site operation, analysis, and enhancement, with no control over third-party cookies.https://softnote.com/privacy/" - } - ], - "1004": [ - { - "url": "https://test.ekta.io:8545" - } - ], - "1007": [ - { - "url": "https://rpc1.newchain.newtonproject.org" - } - ], - "1008": [ - { - "url": "https://mainnet.eurus.network" - } - ], - "1009": [ - { - "url": "https://rpcpriv.jumbochain.org" - } - ], - "1010": [ - { - "url": "https://meta.evrice.com" - } - ], - "1011": [ - { - "url": "https://apievm.rebuschain.com/rpc" - } - ], - "1012": [ - { - "url": "https://global.rpc.mainnet.newtonproject.org" - } - ], - "1024": [ - { - "url": "https://api-para.clover.finance" - } - ], - "1028": [ - { - "url": "https://testrpc.bittorrentchain.io" - } - ], - "1030": [ - { - "url": "https://evm.confluxrpc.com" - }, - { - "url": "https://conflux-espace-public.unifra.io" - } - ], - "1031": [ - { - "url": "http://128.199.94.183:8041" - } - ], - "1038": [ - { - "url": "https://evm-testnet.bronos.org" - } - ], - "1073": [ - { - "url": "https://json-rpc.evm.testnet.shimmer.network" - } - ], - "1075": [ - { - "url": "https://json-rpc.evm.testnet.iotaledger.net" - } - ], - "1079": [ - { - "url": "https://subnets.avax.network/mintara/testnet/rpc" - } - ], - "1080": [ - { - "url": "https://subnets.avax.network/mintara/mainnet/rpc" - } - ], - "1088": [ - { - "url": "https://andromeda.metis.io/?owner=1088" - }, - { - "url": "https://metis-mainnet.public.blastapi.io", - "tracking": "limited", - "trackingDetails": "All the information in our logs (log data) can only be accessed for the last 7 days at any certain time, and it is completely purged after 14 days. We do not store any user information for longer periods of time or with any other purposes than investigating potential errors and service failures. https://blastapi.io/privacy-policy" - }, - { - "url": "https://metis.api.onfinality.io/public", - "tracking": "limited", - "trackingDetails": "For the sole purpose of providing our service, we temporarily record IP addresses and origins to check against free limits, provide load balancing, prevent DOS attacks, and to determine where best to locate our nodes. We do not, and will never, correlate or link specific wallet addresses or transactions made over our infrastructure to the IP address or origin making the RPC request. After processing IP addresses, we discard the IP address value within 24 hours. Read more here: https://blog.onfinality.io/how-does-onfinality-deal-with-personal-information/" - }, - { - "url": "https://metis-pokt.nodies.app", - "tracking": "none", - "trackingDetails": "What We Do Not Collect: User's IP address, request origin, request data. https://www.blog.pokt.network/rpc-logging-practices/" - }, - { - "url": "https://metis.drpc.org" - }, - { - "url": "wss://metis.drpc.org" - } - ], - "1089": [ - { - "url": "https://humans-mainnet-evm.itrocket.net", - "tracking": "none", - "trackingDetails": "We do not track, store or process any personal data. You can check our privacy policy here: https://itrocket.net/privacy-policy/" - }, - { - "url": "https://jsonrpc.humans.nodestake.top" - }, - { - "url": "https://humans-evm-rpc.staketab.org:443" - }, - { - "url": "https://evm.humans.stakepool.dev.br" - }, - { - "url": "https://mainnet-humans-evm.konsortech.xyz" - }, - { - "url": "https://evm-rpc.mainnet.humans.zone" - }, - { - "url": "https://json-rpc.humans.bh.rocks" - }, - { - "url": "https://evm-rpc.humans.huginn.tech" - } - ], - "1100": [ - { - "url": "https://jsonrpc.dymension.nodestake.org" - }, - { - "url": "https://evm-archive.dymd.bitszn.com" - }, - { - "url": "https://dymension.liquify.com/json-rpc" - }, - { - "url": "https://dymension-evm.kynraze.com" - }, - { - "url": "https://dymension-evm.blockpi.network/v1/rpc/public" - }, - { - "url": "https://dymension-evm-rpc.publicnode.com" - }, - { - "url": "wss://dymension-evm-rpc.publicnode.com" - } - ], - "1101": [ - { - "url": "https://rpc.ankr.com/polygon_zkevm", - "tracking": "limited", - "trackingDetails": "For service delivery purposes, we temporarily record IP addresses to set usage limits and monitor for denial of service attacks against our infrastructure. Though we do look at high-level data around the success rate of transactions made over the blockchain RPC, we do not correlate wallet transactions made over the infrastructure to the IP address making the RPC request. Thus, we do not store, exploit, or share any information regarding Personal Identifiable Information (PII), including wallet addresses. https://www.ankr.com/blog/ankrs-ip-address-policy-and-your-privacy/" - }, - { - "url": "https://rpc.polygon-zkevm.gateway.fm", - "tracking": "yes", - "trackingDetails": "When you use our services or visit our websites, we may log your device\u2019s IP address for debugging and security reasons. We may retain this information for up to twelve months" - }, - { - "url": "https://1rpc.io/polygon/zkevm", - "tracking": "none", - "trackingDetails": "With the exception of data that will be public on chain, all the other metadata / data should remain private to users and other parties should not be able to access or collect it. 1RPC uses many different techniques to prevent the unnecessary collection of user privacy, which prevents tracking from RPC providers. https://docs.1rpc.io/technology/zero-tracking" - }, - { - "url": "https://polygon-zkevm.blockpi.network/v1/rpc/public", - "tracking": "limited", - "trackingDetails": "We do not collect request data or request origin. We only temporarily record the request method names and IP addresses for 7 days to ensure our service functionality such as load balancing and DDoS protection. All the data is automatically deleted after 7 days and we do not store any user information for longer periods of time. https://blockpi.io/privacy-policy" - }, - { - "url": "https://polygon-zkevm-mainnet.public.blastapi.io", - "tracking": "limited", - "trackingDetails": "All the information in our logs (log data) can only be accessed for the last 7 days at any certain time, and it is completely purged after 14 days. We do not store any user information for longer periods of time or with any other purposes than investigating potential errors and service failures. https://blastapi.io/privacy-policy" - }, - { - "url": "https://api.zan.top/node/v1/polygonzkevm/mainnet/public", - "tracking": "limited", - "trackingDetails": "ZAN Node Service generally does not store any kind of user information (e.g. IP address, location, requst location, request data, etc.) that transits through our RPCs except for one senario \u2014\u2014we may track your IP address when you are using our RPCs and will delete it immediately when you stoping using our RPCs. To learn more, please review our privacy policy at https://a.zan.top/static/Privacy-Policy.pdf" - }, - { - "url": "https://polygon-zkevm.drpc.org", - "tracking": "none", - "trackingDetails": "Specific types of technical data that we may temporarily log include:IP address (only in logs for redirecting requests to the nearest RPC nodes and rate limiting at the free level, which are cleared weekly). The user ID is hidden in the temporary logs, so it is not possible to link them to a specific user.https://drpc.org/privacy-policy" - }, - { - "url": "https://zkevm-rpc.com" - }, - { - "url": "wss://polygon-zkevm.drpc.org" - } - ], - "1107": [ - { - "url": "https://testnetq1.blx.org" - } - ], - "1108": [ - { - "url": "https://mainnet.blxq.org" - } - ], - "1111": [ - { - "url": "https://api.wemix.com" - }, - { - "url": "wss://ws.wemix.com" - } - ], - "1112": [ - { - "url": "https://api.test.wemix.com" - }, - { - "url": "wss://ws.test.wemix.com" - } - ], - "1113": [ - { - "url": "https://testnet-hub-rpc.bsquared.network" - } - ], - "1115": [ - { - "url": "https://rpc.test.btcs.network" - } - ], - "1116": [ - { - "url": "https://rpc.coredao.org" - }, - { - "url": "https://core.public.infstones.com" - }, - { - "url": "https://1rpc.io/core", - "tracking": "none", - "trackingDetails": "With the exception of data that will be public on chain, all the other metadata / data should remain private to users and other parties should not be able to access or collect it. 1RPC uses many different techniques to prevent the unnecessary collection of user privacy, which prevents tracking from RPC providers. https://docs.1rpc.io/technology/zero-tracking" - }, - { - "url": "https://rpc.ankr.com/core", - "tracking": "limited", - "trackingDetails": "For service delivery purposes, we temporarily record IP addresses to set usage limits and monitor for denial of service attacks against our infrastructure. Though we do look at high-level data around the success rate of transactions made over the blockchain RPC, we do not correlate wallet transactions made over the infrastructure to the IP address making the RPC request. Thus, we do not store, exploit, or share any information regarding Personal Identifiable Information (PII), including wallet addresses. https://www.ankr.com/blog/ankrs-ip-address-policy-and-your-privacy/" - }, - { - "url": "https://rpc-core.icecreamswap.com" - }, - { - "url": "https://core.drpc.org" - }, - { - "url": "wss://core.drpc.org" - } - ], - "1117": [ - { - "url": "https://mainnet-rpc.dogcoin.me" - } - ], - "1123": [ - { - "url": "https://b2-testnet.alt.technology" - }, - { - "url": "https://rpc.ankr.com/b2_testnet" - }, - { - "url": "https://testnet-rpc.bsquared.network" - } - ], - "1130": [ - { - "url": "https://dmc.mydefichain.com/mainnet" - }, - { - "url": "https://dmc01.mydefichain.com/mainnet" - } - ], - "1131": [ - { - "url": "https://dmc.mydefichain.com/testnet" - }, - { - "url": "https://dmc01.mydefichain.com/testnet" - }, - { - "url": "https://eth.testnet.ocean.jellyfishsdk.com" - } - ], - "1133": [ - { - "url": "https://dmc.mydefichain.com/changi" - }, - { - "url": "https://testnet-dmc.mydefichain.com:20551" - } - ], - "1135": [ - { - "url": "https://rpc.api.lisk.com" - } - ], - "1138": [ - { - "url": "https://testnet-rpc.amstarscan.com" - } - ], - "1139": [ - { - "url": "https://mathchain.maiziqianbao.net/rpc" - }, - { - "url": "https://mathchain-asia.maiziqianbao.net/rpc" - }, - { - "url": "https://mathchain-us.maiziqianbao.net/rpc" - } - ], - "1140": [ - { - "url": "https://galois-hk.maiziqianbao.net/rpc" - } - ], - "1147": [ - { - "url": "https://testnet-rpc.flagscan.xyz" - } - ], - "1149": [ - { - "url": "https://plex-rpc.plexfinance.us" - } - ], - "1170": [ - { - "url": "https://json-rpc.origin.uptick.network" - } - ], - "1177": [ - { - "url": "https://s2.tl.web.tr:4041" - } - ], - "1188": [ - { - "url": "https://mainnet.mosscan.com" - } - ], - "1197": [ - { - "url": "https://dataseed.iorachain.com" - } - ], - "1200": [ - { - "url": "https://mainnet-rpc.cuckoo.network" - }, - { - "url": "wss://mainnet-rpc.cuckoo.network" - } - ], - "1201": [ - { - "url": "https://seed5.evanesco.org:8547" - } - ], - "1202": [ - { - "url": "https://rpc.cadaut.com" - }, - { - "url": "wss://rpc.cadaut.com/ws" - } - ], - "1209": [ - { - "url": "https://rpc-nodes.saitascan.io" - } - ], - "1210": [ - { - "url": "https://testnet-rpc.cuckoo.network" - }, - { - "url": "wss://testnet-rpc.cuckoo.network" - } - ], - "1213": [ - { - "url": "https://dataseed.popcateum.org" - } - ], - "1214": [ - { - "url": "https://tapi.entercoin.net" - } - ], - "1221": [ - { - "url": "https://rpc-testnet.cyclenetwork.io" - } - ], - "1223": [ - { - "url": "https://jellyfish-rpc-testnet.cyclenetwork.io" - } - ], - "1225": [ - { - "url": "https://hybrid-testnet.rpc.caldera.xyz/http" - }, - { - "url": "wss://hybrid-testnet.rpc.caldera.xyz/ws" - } - ], - "1227": [ - { - "url": "https://testnet-chain.btcprotocol.io" - } - ], - "1229": [ - { - "url": "https://mainnet.exzo.technology" - } - ], - "1230": [ - { - "url": "https://ultron-dev.io" - } - ], - "1231": [ - { - "url": "https://ultron-rpc.net" - } - ], - "1234": [ - { - "url": "https://rpc.step.network" - } - ], - "1235": [ - { - "url": "https://rpc.itxchain.com" - } - ], - "1243": [ - { - "url": "https://rpc-main-1.archiechain.io" - } - ], - "1244": [ - { - "url": "https://rpc-test-1.archiechain.io" - } - ], - "1246": [ - { - "url": "https://rpc-cnx.omplatform.com" - } - ], - "1248": [ - { - "url": "https://rpc.dogether.dog" - } - ], - "1252": [ - { - "url": "https://testapi.cicscan.com" - } - ], - "1280": [ - { - "url": "https://nodes.halo.land" - } - ], - "1284": [ - { - "url": "https://rpc.api.moonbeam.network" - }, - { - "url": "https://moonbeam.api.onfinality.io/public", - "tracking": "limited", - "trackingDetails": "For the sole purpose of providing our service, we temporarily record IP addresses and origins to check against free limits, provide load balancing, prevent DOS attacks, and to determine where best to locate our nodes. We do not, and will never, correlate or link specific wallet addresses or transactions made over our infrastructure to the IP address or origin making the RPC request. After processing IP addresses, we discard the IP address value within 24 hours. Read more here: https://blog.onfinality.io/how-does-onfinality-deal-with-personal-information/" - }, - { - "url": "wss://moonbeam.api.onfinality.io/public-ws", - "tracking": "limited", - "trackingDetails": "For the sole purpose of providing our service, we temporarily record IP addresses and origins to check against free limits, provide load balancing, prevent DOS attacks, and to determine where best to locate our nodes. We do not, and will never, correlate or link specific wallet addresses or transactions made over our infrastructure to the IP address or origin making the RPC request. After processing IP addresses, we discard the IP address value within 24 hours. Read more here: https://blog.onfinality.io/how-does-onfinality-deal-with-personal-information/" - }, - { - "url": "https://moonbeam.unitedbloc.com:3000", - "tracking": "yes", - "trackingDetails": "UnitedBloc does not collect or store any PII information. UnitedBloc does use IP addresses and transaction requests solely for service management purposes. Performance measurements such as rate limiting and routing rules require the analysis of IP addresses and response time measurements require the analysis of transaction requests. UnitedBloc does not and will never use RPC requests to front run transactions." - }, - { - "url": "wss://moonbeam.unitedbloc.com:3001", - "tracking": "yes", - "trackingDetails": "UnitedBloc does not collect or store any PII information. UnitedBloc does use IP addresses and transaction requests solely for service management purposes. Performance measurements such as rate limiting and routing rules require the analysis of IP addresses and response time measurements require the analysis of transaction requests. UnitedBloc does not and will never use RPC requests to front run transactions." - }, - { - "url": "https://moonbeam.public.blastapi.io", - "tracking": "limited", - "trackingDetails": "All the information in our logs (log data) can only be accessed for the last 7 days at any certain time, and it is completely purged after 14 days. We do not store any user information for longer periods of time or with any other purposes than investigating potential errors and service failures. https://blastapi.io/privacy-policy" - }, - { - "url": "https://rpc.ankr.com/moonbeam", - "tracking": "limited", - "trackingDetails": "For service delivery purposes, we temporarily record IP addresses to set usage limits and monitor for denial of service attacks against our infrastructure. Though we do look at high-level data around the success rate of transactions made over the blockchain RPC, we do not correlate wallet transactions made over the infrastructure to the IP address making the RPC request. Thus, we do not store, exploit, or share any information regarding Personal Identifiable Information (PII), including wallet addresses. https://www.ankr.com/blog/ankrs-ip-address-policy-and-your-privacy/" - }, - { - "url": "https://1rpc.io/glmr", - "tracking": "none", - "trackingDetails": "With the exception of data that will be public on chain, all the other metadata / data should remain private to users and other parties should not be able to access or collect it. 1RPC uses many different techniques to prevent the unnecessary collection of user privacy, which prevents tracking from RPC providers. https://docs.1rpc.io/technology/zero-tracking" - }, - { - "url": "https://moonbeam-rpc.dwellir.com", - "tracking": "limited", - "trackingDetails": "Except for the data that is publicly accessible on the blockchain, Dwellir does not collect or keep any user information (like location, IP address, etc.) transmitted via our RPC. For more information about our privacy methods, we suggest checking out our Privacy Policy at https://www.dwellir.com/privacy-policy" - }, - { - "url": "wss://moonbeam-rpc.dwellir.com", - "tracking": "limited", - "trackingDetails": "Except for the data that is publicly accessible on the blockchain, Dwellir does not collect or keep any user information (like location, IP address, etc.) transmitted via our RPC. For more information about our privacy methods, we suggest checking out our Privacy Policy at https://www.dwellir.com/privacy-policy" - }, - { - "url": "https://endpoints.omniatech.io/v1/moonbeam/mainnet/public", - "tracking": "none", - "trackingDetails": "All the data and metadata remain private to the users. No third party is able to access, analyze or track it. OMNIA leverages different technologies and approaches to guarantee the privacy of their users, from front-running protection and private mempools, to obfuscation and random dispatching. https://blog.omniatech.io/how-omnia-handles-your-personal-data" - }, - { - "url": "https://moonbeam-rpc.publicnode.com", - "tracking": "none", - "trackingDetails": "We do not store or track any user data with the exception of data that will be public on chain. We do not correlate wallets address's with IP's, any data which is needed to transact is deleted after 24 hours. We also do no use any Analytics or 3rd party website tracking. https://www.publicnode.com/privacy" - }, - { - "url": "wss://moonbeam-rpc.publicnode.com", - "tracking": "none", - "trackingDetails": "We do not store or track any user data with the exception of data that will be public on chain. We do not correlate wallets address's with IP's, any data which is needed to transact is deleted after 24 hours. We also do no use any Analytics or 3rd party website tracking. https://www.publicnode.com/privacy" - }, - { - "url": "wss://wss.api.moonbeam.network" - }, - { - "url": "wss://moonbeam.public.blastapi.io" - }, - { - "url": "https://moonbeam.unitedbloc.com" - }, - { - "url": "wss://moonbeam.unitedbloc.com" - }, - { - "url": "https://moonbeam.drpc.org" - }, - { - "url": "wss://moonbeam.drpc.org" - } - ], - "1285": [ - { - "url": "wss://moonriver.api.onfinality.io/public-ws", - "tracking": "limited", - "trackingDetails": "For the sole purpose of providing our service, we temporarily record IP addresses and origins to check against free limits, provide load balancing, prevent DOS attacks, and to determine where best to locate our nodes. We do not, and will never, correlate or link specific wallet addresses or transactions made over our infrastructure to the IP address or origin making the RPC request. After processing IP addresses, we discard the IP address value within 24 hours. Read more here: https://blog.onfinality.io/how-does-onfinality-deal-with-personal-information/" - }, - { - "url": "https://moonriver.api.onfinality.io/public", - "tracking": "limited", - "trackingDetails": "For the sole purpose of providing our service, we temporarily record IP addresses and origins to check against free limits, provide load balancing, prevent DOS attacks, and to determine where best to locate our nodes. We do not, and will never, correlate or link specific wallet addresses or transactions made over our infrastructure to the IP address or origin making the RPC request. After processing IP addresses, we discard the IP address value within 24 hours. Read more here: https://blog.onfinality.io/how-does-onfinality-deal-with-personal-information/" - }, - { - "url": "https://moonriver.unitedbloc.com:2000", - "tracking": "yes", - "trackingDetails": "UnitedBloc does not collect or store any PII information. UnitedBloc does use IP addresses and transaction requests solely for service management purposes. Performance measurements such as rate limiting and routing rules require the analysis of IP addresses and response time measurements require the analysis of transaction requests. UnitedBloc does not and will never use RPC requests to front run transactions." - }, - { - "url": "wss://moonriver.unitedbloc.com:2001", - "tracking": "yes", - "trackingDetails": "UnitedBloc does not collect or store any PII information. UnitedBloc does use IP addresses and transaction requests solely for service management purposes. Performance measurements such as rate limiting and routing rules require the analysis of IP addresses and response time measurements require the analysis of transaction requests. UnitedBloc does not and will never use RPC requests to front run transactions." - }, - { - "url": "https://moonriver.public.blastapi.io", - "tracking": "limited", - "trackingDetails": "All the information in our logs (log data) can only be accessed for the last 7 days at any certain time, and it is completely purged after 14 days. We do not store any user information for longer periods of time or with any other purposes than investigating potential errors and service failures. https://blastapi.io/privacy-policy" - }, - { - "url": "https://moonriver-rpc.dwellir.com", - "tracking": "limited", - "trackingDetails": "Except for the data that is publicly accessible on the blockchain, Dwellir does not collect or keep any user information (like location, IP address, etc.) transmitted via our RPC. For more information about our privacy methods, we suggest checking out our Privacy Policy at https://www.dwellir.com/privacy-policy" - }, - { - "url": "wss://moonriver-rpc.dwellir.com", - "tracking": "limited", - "trackingDetails": "Except for the data that is publicly accessible on the blockchain, Dwellir does not collect or keep any user information (like location, IP address, etc.) transmitted via our RPC. For more information about our privacy methods, we suggest checking out our Privacy Policy at https://www.dwellir.com/privacy-policy" - }, - { - "url": "https://moonriver-rpc.publicnode.com", - "tracking": "none", - "trackingDetails": "We do not store or track any user data with the exception of data that will be public on chain. We do not correlate wallets address's with IP's, any data which is needed to transact is deleted after 24 hours. We also do no use any Analytics or 3rd party website tracking. https://www.publicnode.com/privacy" - }, - { - "url": "wss://moonriver-rpc.publicnode.com", - "tracking": "none", - "trackingDetails": "We do not store or track any user data with the exception of data that will be public on chain. We do not correlate wallets address's with IP's, any data which is needed to transact is deleted after 24 hours. We also do no use any Analytics or 3rd party website tracking. https://www.publicnode.com/privacy" - }, - { - "url": "https://rpc.api.moonriver.moonbeam.network" - }, - { - "url": "wss://wss.api.moonriver.moonbeam.network" - }, - { - "url": "wss://moonriver.public.blastapi.io" - }, - { - "url": "https://moonriver.unitedbloc.com" - }, - { - "url": "wss://moonriver.unitedbloc.com" - }, - { - "url": "https://moonriver.drpc.org" - }, - { - "url": "wss://moonriver.drpc.org" - } - ], - "1287": [ - { - "url": "https://rpc.testnet.moonbeam.network" - }, - { - "url": "https://moonbase.unitedbloc.com:1000", - "tracking": "yes", - "trackingDetails": "UnitedBloc does not collect or store any PII information. UnitedBloc does use IP addresses and transaction requests solely for service management purposes. Performance measurements such as rate limiting and routing rules require the analysis of IP addresses and response time measurements require the analysis of transaction requests. UnitedBloc does not and will never use RPC requests to front run transactions." - }, - { - "url": "wss://moonbase.unitedbloc.com:1001", - "tracking": "yes", - "trackingDetails": "UnitedBloc does not collect or store any PII information. UnitedBloc does use IP addresses and transaction requests solely for service management purposes. Performance measurements such as rate limiting and routing rules require the analysis of IP addresses and response time measurements require the analysis of transaction requests. UnitedBloc does not and will never use RPC requests to front run transactions." - }, - { - "url": "https://moonbase-alpha.public.blastapi.io", - "tracking": "limited", - "trackingDetails": "All the information in our logs (log data) can only be accessed for the last 7 days at any certain time, and it is completely purged after 14 days. We do not store any user information for longer periods of time or with any other purposes than investigating potential errors and service failures. https://blastapi.io/privacy-policy" - }, - { - "url": "https://moonbeam-alpha.api.onfinality.io/public", - "tracking": "limited", - "trackingDetails": "For the sole purpose of providing our service, we temporarily record IP addresses and origins to check against free limits, provide load balancing, prevent DOS attacks, and to determine where best to locate our nodes. We do not, and will never, correlate or link specific wallet addresses or transactions made over our infrastructure to the IP address or origin making the RPC request. After processing IP addresses, we discard the IP address value within 24 hours. Read more here: https://blog.onfinality.io/how-does-onfinality-deal-with-personal-information/" - }, - { - "url": "wss://moonbeam-alpha.api.onfinality.io/public-ws", - "tracking": "limited", - "trackingDetails": "For the sole purpose of providing our service, we temporarily record IP addresses and origins to check against free limits, provide load balancing, prevent DOS attacks, and to determine where best to locate our nodes. We do not, and will never, correlate or link specific wallet addresses or transactions made over our infrastructure to the IP address or origin making the RPC request. After processing IP addresses, we discard the IP address value within 24 hours. Read more here: https://blog.onfinality.io/how-does-onfinality-deal-with-personal-information/" - }, - { - "url": "https://rpc.api.moonbase.moonbeam.network" - }, - { - "url": "wss://wss.api.moonbase.moonbeam.network" - }, - { - "url": "wss://moonbase-alpha.public.blastapi.io" - }, - { - "url": "https://moonbase-rpc.dwellir.com" - }, - { - "url": "wss://moonbase-rpc.dwellir.com" - }, - { - "url": "https://moonbase.unitedbloc.com" - }, - { - "url": "wss://moonbase.unitedbloc.com" - }, - { - "url": "https://moonbase-alpha.drpc.org" - }, - { - "url": "wss://moonbase-alpha.drpc.org" - } - ], - "1288": [ - { - "url": "https://rpc.api.moonrock.moonbeam.network" - }, - { - "url": "wss://wss.api.moonrock.moonbeam.network" - } - ], - "1291": [ - { - "url": "https://json-rpc.testnet.swisstronik.com" - } - ], - "1311": [ - { - "url": "https://test.doschain.com/jsonrpc" - } - ], - "1313": [ - { - "url": "https://rpc.jaihochain.com" - } - ], - "1314": [ - { - "url": "https://rpc.alyxchain.com" - } - ], - "1319": [ - { - "url": "https://aia-dataseed1.aiachain.org" - }, - { - "url": "https://aia-dataseed2.aiachain.org" - }, - { - "url": "https://aia-dataseed3.aiachain.org" - }, - { - "url": "https://aia-dataseed4.aiachain.org" - } - ], - "1320": [ - { - "url": "https://aia-dataseed1-testnet.aiachain.org" - } - ], - "1328": [ - { - "url": "https://evm-rpc-testnet.sei-apis.com" - }, - { - "url": "wss://evm-ws-testnet.sei-apis.com" - } - ], - "1329": [ - { - "url": "https://evm-rpc.sei-apis.com" - }, - { - "url": "wss://evm-ws.sei-apis.com" - } - ], - "1337": [ - { - "url": "http://127.0.0.1:8545" - } - ], - "1338": [ - { - "url": "https://rpc.atlantischain.network" - }, - { - "url": "https://elysium-test-rpc.vulcanforged.com" - } - ], - "1339": [ - { - "url": "https://rpc.elysiumchain.tech" - }, - { - "url": "https://rpc.elysiumchain.us" - } - ], - "1343": [ - { - "url": "https://subnets.avax.network/blitz/testnet/rpc" - } - ], - "1353": [ - { - "url": "https://xapi.cicscan.com" - } - ], - "1369": [ - { - "url": "https://mainnet.zakumi.io" - } - ], - "1370": [ - { - "url": "https://blockchain.ramestta.com" - }, - { - "url": "https://blockchain2.ramestta.com" - } - ], - "1377": [ - { - "url": "https://testnet.ramestta.com" - } - ], - "1379": [ - { - "url": "https://rpc-api.kalarchain.tech" - } - ], - "1388": [ - { - "url": "https://mainnet-rpc.amstarscan.com" - } - ], - "1392": [ - { - "url": "https://rpc.modchain.net/blockchain.joseon.com/rpc" - } - ], - "1433": [ - { - "url": "https://rpc.rikscan.com" - } - ], - "1440": [ - { - "url": "https://beta.mainnet.livingassets.io/rpc", - "tracking": "limited", - "trackingDetails": "The Living Assets network does not store any personal data provided by its users. The network solely communicates on-chain signatures generated by web3 compatible wallets. However, it is possible that clients utilizing the network may necessitate supplementary information from their users to fulfill Know Your Customer obligations. In such cases, explicit consent from the users is mandatory, following standard procedures." - }, - { - "url": "https://gamma.mainnet.livingassets.io/rpc", - "tracking": "limited", - "trackingDetails": "The Living Assets network does not store any personal data provided by its users. The network solely communicates on-chain signatures generated by web3 compatible wallets. However, it is possible that clients utilizing the network may necessitate supplementary information from their users to fulfill Know Your Customer obligations. In such cases, explicit consent from the users is mandatory, following standard procedures." - } - ], - "1442": [ - { - "url": "https://api.zan.top/node/v1/polygonzkevm/testnet/public", - "tracking": "limited", - "trackingDetails": "ZAN Node Service generally does not store any kind of user information (e.g. IP address, location, requst location, request data, etc.) that transits through our RPCs except for one senario \u2014\u2014we may track your IP address when you are using our RPCs and will delete it immediately when you stoping using our RPCs. To learn more, please review our privacy policy at https://a.zan.top/static/Privacy-Policy.pdf" - }, - { - "url": "https://polygon-zkevm-testnet.blockpi.network/v1/rpc/public", - "tracking": "limited", - "trackingDetails": "We do not collect request data or request origin. We only temporarily record the request method names and IP addresses for 7 days to ensure our service functionality such as load balancing and DDoS protection. All the data is automatically deleted after 7 days and we do not store any user information for longer periods of time. https://blockpi.io/privacy-policy" - }, - { - "url": "https://rpc.public.zkevm-test.net" - }, - { - "url": "https://polygon-zkevm-testnet.drpc.org" - }, - { - "url": "wss://polygon-zkevm-testnet.drpc.org" - } - ], - "1452": [ - { - "url": "https://rpc.giltestnet.com" - } - ], - "1453": [ - { - "url": "https://istanbul-rpc.metachain.dev" - } - ], - "1455": [ - { - "url": "https://mainnet-rpc.ctexscan.com" - } - ], - "1456": [ - { - "url": "https://mainnet-rpc.zkbase.app" - } - ], - "1490": [ - { - "url": "https://rpc.vitruveo.xyz" - } - ], - "1499": [ - { - "url": "https://rpc-testnet.idos.games" - } - ], - "1501": [ - { - "url": "https://rpc-canary-1.bevm.io" - }, - { - "url": "https://rpc-canary-2.bevm.io" - } - ], - "1506": [ - { - "url": "https://mainnet.sherpax.io/rpc" - } - ], - "1507": [ - { - "url": "https://sherpax-testnet.chainx.org/rpc" - } - ], - "1515": [ - { - "url": "https://beagle.chat/eth" - } - ], - "1559": [ - { - "url": "https://rpc.tenet.org" - }, - { - "url": "https://tenet-evm.publicnode.com" - }, - { - "url": "wss://tenet-evm.publicnode.com" - } - ], - "1570": [ - { - "url": "https://testnet-rpc1.starworksglobal.com" - } - ], - "1578": [ - { - "url": "https://rpc.starworksglobal.com" - } - ], - "1617": [ - { - "url": "https://rpc.etins.org" - } - ], - "1618": [ - { - "url": "https://send.catechain.com" - } - ], - "1620": [ - { - "url": "https://rpc.atheios.org" - } - ], - "1625": [ - { - "url": "https://rpc.gravity.xyz" - } - ], - "1648": [ - { - "url": "https://mainnet.pivotalprotocol.com" - } - ], - "1657": [ - { - "url": "https://dataseed1.btachain.com" - } - ], - "1663": [ - { - "url": "https://gobi-rpc.horizenlabs.io/ethv1" - }, - { - "url": "https://rpc.ankr.com/horizen_gobi_testnet" - } - ], - "1686": [ - { - "url": "https://testnet-rpc.mintchain.io" - } - ], - "1687": [ - { - "url": "https://sepolia-testnet-rpc.mintchain.io" - } - ], - "1688": [ - { - "url": "https://rpc.ludan.org" - } - ], - "1701": [ - { - "url": "https://geth.anytype.io" - } - ], - "1707": [ - { - "url": "https://rpc.blockchain.or.th" - } - ], - "1708": [ - { - "url": "https://rpc.testnet.blockchain.or.th" - } - ], - "1717": [ - { - "url": "https://mainnet.doric.network" - } - ], - "1718": [ - { - "url": "https://palette-rpc.com:22000" - } - ], - "1729": [ - { - "url": "https://rpc.reya.network" - }, - { - "url": "wss://ws.reya.network" - } - ], - "1740": [ - { - "url": "https://testnet.rpc.metall2.com" - } - ], - "1750": [ - { - "url": "https://rpc.metall2.com" - } - ], - "1773": [ - { - "url": "https://tea.mining4people.com/rpc" - }, - { - "url": "http://172.104.194.36:8545" - } - ], - "1777": [ - { - "url": "https://rpc.gaussgang.com" - } - ], - "1789": [ - { - "url": "https://sepolia-rpc.zkbase.app" - } - ], - "1804": [ - { - "url": "https://cacib-saturn-test.francecentral.cloudapp.azure.com" - }, - { - "url": "wss://cacib-saturn-test.francecentral.cloudapp.azure.com:9443" - } - ], - "1807": [ - { - "url": "https://rabbit.analog-rpc.com" - } - ], - "1811": [ - { - "url": "https://testnet-evm.lif3.com" - } - ], - "1818": [ - { - "url": "https://http-mainnet.cube.network" - }, - { - "url": "wss://ws-mainnet.cube.network" - }, - { - "url": "https://http-mainnet-sg.cube.network" - }, - { - "url": "wss://ws-mainnet-sg.cube.network" - }, - { - "url": "https://http-mainnet-us.cube.network" - }, - { - "url": "wss://ws-mainnet-us.cube.network" - } - ], - "1819": [ - { - "url": "https://http-testnet.cube.network" - }, - { - "url": "wss://ws-testnet.cube.network" - }, - { - "url": "https://http-testnet-sg.cube.network" - }, - { - "url": "wss://ws-testnet-sg.cube.network" - }, - { - "url": "https://http-testnet-jp.cube.network" - }, - { - "url": "wss://ws-testnet-jp.cube.network" - }, - { - "url": "https://http-testnet-us.cube.network" - }, - { - "url": "wss://ws-testnet-us.cube.network" - } - ], - "1821": [ - { - "url": "https://mainnet-data.rubychain.io" - }, - { - "url": "https://mainnet.rubychain.io" - } - ], - "1856": [ - { - "url": "rpcWorking:false" - }, - { - "url": "https://tsfapi.europool.me" - } - ], - "1875": [ - { - "url": "https://rpc.whitechain.io" - } - ], - "1881": [ - { - "url": "https://rpc.cartenz.works", - "tracking": "none", - "trackingDetails": "We do not collect any personal data from our users. Our platform is built on blockchain technology, which ensures that all transactions are recorded on a public ledger that is accessible to all users. However, this information is anonymous and cannot be linked to any specific individual. https://docs.gitshock.com/users-guide/privacy-policy" - } - ], - "1890": [ - { - "url": "https://replicator.phoenix.lightlink.io/rpc/v1" - } - ], - "1891": [ - { - "url": "https://replicator.pegasus.lightlink.io/rpc/v1" - } - ], - "1898": [ - { - "url": "http://rpc.boyanet.org:8545" - }, - { - "url": "ws://rpc.boyanet.org:8546" - } - ], - "1899": [ - { - "url": "https://layer2.redefi.world" - } - ], - "1904": [ - { - "url": "https://rpc.sportschainnetwork.xyz" - } - ], - "1907": [ - { - "url": "https://rpc.bitci.com" - } - ], - "1908": [ - { - "url": "https://testnet.bitcichain.com" - } - ], - "1909": [ - { - "url": "https://marklechain-rpc.merklescan.com" - } - ], - "1911": [ - { - "url": "https://rpc.scalind.com" - } - ], - "1912": [ - { - "url": "https://testnet-rchain.rubychain.io" - } - ], - "1918": [ - { - "url": "https://testnet.crescdi.pub.ro" - } - ], - "1945": [ - { - "url": "https://rpc-testnet.onuschain.io" - } - ], - "1951": [ - { - "url": "https://mainnet.d-chain.network/ext/bc/2ZiR1Bro5E59siVuwdNuRFzqL95NkvkbzyLBdrsYR9BLSHV7H4/rpc" - } - ], - "1953": [ - { - "url": "https://rpc0-testnet.selendra.org" - }, - { - "url": "https://rpc1-testnet.selendra.org" - } - ], - "1954": [ - { - "url": "https://rpc.dexilla.com" - } - ], - "1956": [ - { - "url": "https://rpc-testnet.aiw3.io" - } - ], - "1961": [ - { - "url": "https://rpc0.selendra.org" - }, - { - "url": "https://rpc1.selendra.org" - } - ], - "1967": [ - { - "url": "https://rpc.metatime.com/eleanor" - }, - { - "url": "wss://ws.metatime.com/eleanor" - } - ], - "1969": [ - { - "url": "https://testnetrpc.scschain.com" - } - ], - "1970": [ - { - "url": "https://rpc.scschain.com" - } - ], - "1971": [ - { - "url": "https://1971.network/atlr" - }, - { - "url": "wss://1971.network/atlr" - } - ], - "1972": [ - { - "url": "https://rpc2.redecoin.eu" - } - ], - "1975": [ - { - "url": "https://rpc.onuschain.io" - }, - { - "url": "wss://ws.onuschain.io" - } - ], - "1984": [ - { - "url": "https://testnet.eurus.network" - } - ], - "1985": [ - { - "url": "http://rpc.satosh.ie" - } - ], - "1986": [ - { - "url": "http://testnet.satosh.ie" - } - ], - "1987": [ - { - "url": "https://jsonrpc.egem.io/custom" - } - ], - "1992": [ - { - "url": "https://rpc.hubble.exchange" - }, - { - "url": "wss://ws-rpc.hubble.exchange" - } - ], - "1993": [ - { - "url": "https://sepolia.b3.fun" - } - ], - "1994": [ - { - "url": "https://main.ekta.io" - } - ], - "1995": [ - { - "url": "https://testnet.edexa.network/rpc" - }, - { - "url": "https://io-dataseed1.testnet.edexa.io-market.com/rpc" - } - ], - "1996": [ - { - "url": "https://mainnet.sanko.xyz" - } - ], - "1997": [ - { - "url": "https://rpc.kyotochain.io" - } - ], - "1998": [ - { - "url": "https://rpc.testnet.kyotoprotocol.io:8545" - } - ], - "2000": [ - { - "url": "https://rpc.dogechain.dog" - }, - { - "url": "https://rpc-us.dogechain.dog" - }, - { - "url": "https://rpc-sg.dogechain.dog" - }, - { - "url": "https://rpc.dogechain.dog" - }, - { - "url": "https://rpc01-sg.dogechain.dog" - }, - { - "url": "https://rpc02-sg.dogechain.dog" - }, - { - "url": "https://rpc03-sg.dogechain.dog" - }, - { - "url": "https://dogechain.ankr.com", - "tracking": "limited", - "trackingDetails": "For service delivery purposes, we temporarily record IP addresses to set usage limits and monitor for denial of service attacks against our infrastructure. Though we do look at high-level data around the success rate of transactions made over the blockchain RPC, we do not correlate wallet transactions made over the infrastructure to the IP address making the RPC request. Thus, we do not store, exploit, or share any information regarding Personal Identifiable Information (PII), including wallet addresses. https://www.ankr.com/blog/ankrs-ip-address-policy-and-your-privacy/" - }, - { - "url": "https://dogechain-sj.ankr.com", - "tracking": "limited", - "trackingDetails": "For service delivery purposes, we temporarily record IP addresses to set usage limits and monitor for denial of service attacks against our infrastructure. Though we do look at high-level data around the success rate of transactions made over the blockchain RPC, we do not correlate wallet transactions made over the infrastructure to the IP address making the RPC request. Thus, we do not store, exploit, or share any information regarding Personal Identifiable Information (PII), including wallet addresses. https://www.ankr.com/blog/ankrs-ip-address-policy-and-your-privacy/" - }, - { - "url": "https://rpc.ankr.com/dogechain" - } - ], - "2001": [ - { - "url": "https://rpc-mainnet-cardano-evm.c1.milkomeda.com" - }, - { - "url": "wss://rpc-mainnet-cardano-evm.c1.milkomeda.com" - } - ], - "2002": [ - { - "url": "https://rpc-mainnet-algorand-rollup.a1.milkomeda.com" - }, - { - "url": "wss://rpc-mainnet-algorand-rollup.a1.milkomeda.com/ws" - } - ], - "2004": [ - { - "url": "http://77.237.237.69:9933" - } - ], - "2013": [ - { - "url": "https://polytopia.org:8545" - } - ], - "2014": [ - { - "url": "https://rpc-testnet.nowscan.io" - } - ], - "2016": [ - { - "url": "https://eu-rpc.mainnetz.io" - }, - { - "url": "https://mainnet-rpc.mainnetz.io" - } - ], - "2017": [ - { - "url": "https://rpc.telcoin.network" - }, - { - "url": "https://adiri.tel" - }, - { - "url": "https://node1.telcoin.network" - }, - { - "url": "https://node2.telcoin.network" - }, - { - "url": "https://node3.telcoin.network" - }, - { - "url": "https://node4.telcoin.network" - } - ], - "2018": [ - { - "url": "https://rpc.dev.publicmint.io:8545" - } - ], - "2019": [ - { - "url": "https://rpc.tst.publicmint.io:8545" - } - ], - "2020": [ - { - "url": "https://rpc.publicmint.io:8545" - } - ], - "2021": [ - { - "url": "https://mainnet2.edgewa.re/evm" - }, - { - "url": "https://mainnet3.edgewa.re/evm" - }, - { - "url": "https://edgeware-evm.jelliedowl.net" - }, - { - "url": "https://edgeware.api.onfinality.io/public", - "tracking": "limited", - "trackingDetails": "For the sole purpose of providing our service, we temporarily record IP addresses and origins to check against free limits, provide load balancing, prevent DOS attacks, and to determine where best to locate our nodes. We do not, and will never, correlate or link specific wallet addresses or transactions made over our infrastructure to the IP address or origin making the RPC request. After processing IP addresses, we discard the IP address value within 24 hours. Read more here: https://blog.onfinality.io/how-does-onfinality-deal-with-personal-information/" - }, - { - "url": "https://edgeware-evm0.jelliedowl.net" - }, - { - "url": "https://edgeware-evm1.jelliedowl.net" - }, - { - "url": "https://edgeware-evm2.jelliedowl.net" - }, - { - "url": "https://edgeware-evm3.jelliedowl.net" - }, - { - "url": "wss://edgeware.jelliedowl.net" - }, - { - "url": "wss://edgeware-rpc0.jelliedowl.net" - }, - { - "url": "wss://edgeware-rpc1.jelliedowl.net" - }, - { - "url": "wss://edgeware-rpc2.jelliedowl.net" - }, - { - "url": "wss://edgeware-rpc3.jelliedowl.net" - } - ], - "2022": [ - { - "url": "https://beresheet-evm.jelliedowl.net" - }, - { - "url": "wss://beresheet.jelliedowl.net" - } - ], - "2023": [ - { - "url": "https://test-taycan.hupayx.io" - } - ], - "2024": [ - { - "url": "https://saturn-rpc.swanchain.io" - } - ], - "2025": [ - { - "url": "https://mainnet.rangersprotocol.com/api/jsonrpc" - } - ], - "2026": [ - { - "url": "https://rpc.edgeless.network/http" - } - ], - "2031": [ - { - "url": "https://fullnode.centrifuge.io" - }, - { - "url": "wss://fullnode.centrifuge.io" - }, - { - "url": "https://centrifuge-parachain.api.onfinality.io/public" - }, - { - "url": "wss://centrifuge-parachain.api.onfinality.io/public-ws" - }, - { - "url": "https://centrifuge-rpc.dwellir.com" - }, - { - "url": "wss://centrifuge-rpc.dwellir.com" - }, - { - "url": "https://rpc-centrifuge.luckyfriday.io" - }, - { - "url": "wss://rpc-centrifuge.luckyfriday.io" - } - ], - "2032": [ - { - "url": "wss://fullnode.catalyst.cntrfg.com" - } - ], - "2037": [ - { - "url": "https://subnets.avax.network/kiwi/testnet/rpc" - } - ], - "2038": [ - { - "url": "https://subnets.avax.network/shrapnel/testnet/rpc" - } - ], - "2039": [ - { - "url": "https://rpc.alephzero-testnet.gelato.digital" - }, - { - "url": "wss://rpc.alephzero-testnet.gelato.digital" - } - ], - "2040": [ - { - "url": "https://rpc.vanarchain.com" - }, - { - "url": "wss://ws.vanarchain.com" - } - ], - "2043": [ - { - "url": "https://astrosat.origintrail.network" - }, - { - "url": "wss://parachain-rpc.origin-trail.network" - } - ], - "2044": [ - { - "url": "https://subnets.avax.network/shrapnel/mainnet/rpc" - } - ], - "2047": [ - { - "url": "https://web3-rpc-mesos.thestratos.org" - } - ], - "2048": [ - { - "url": "https://web3-rpc.thestratos.org" - } - ], - "2049": [ - { - "url": "https://msc-rpc.movoscan.com" - }, - { - "url": "https://msc-rpc.movochain.org" - }, - { - "url": "https://msc-rpc.movoswap.com" - } - ], - "2077": [ - { - "url": "http://rpc.qkacoin.org:8548" - }, - { - "url": "https://rpc.qkacoin.org" - } - ], - "2088": [ - { - "url": "wss://fullnode.altair.centrifuge.io" - }, - { - "url": "wss://altair.api.onfinality.io/public-ws" - } - ], - "2100": [ - { - "url": "https://api.ecoball.org/ecoball" - } - ], - "2101": [ - { - "url": "https://api.ecoball.org/espuma" - } - ], - "2109": [ - { - "url": "https://rpc.exosama.com" - }, - { - "url": "wss://rpc.exosama.com" - } - ], - "2112": [ - { - "url": "https://rpc.uchain.link" - } - ], - "2121": [ - { - "url": "https://rpc1.catenarpc.com" - } - ], - "2122": [ - { - "url": "https://rpc.metaplayer.one" - } - ], - "2124": [ - { - "url": "https://rpc-dubai.mp1network.com" - } - ], - "2136": [ - { - "url": "https://test-market.bigsb.network" - }, - { - "url": "wss://test-market.bigsb.network" - } - ], - "2137": [ - { - "url": "https://market.bigsb.io" - }, - { - "url": "wss://market.bigsb.io" - } - ], - "2138": [ - { - "url": "https://rpc.public-2138.defi-oracle.io" - }, - { - "url": "wss://rpc.public-2138.defi-oracle.io" - } - ], - "2140": [ - { - "url": "https://rpc.onenesslabs.io" - } - ], - "2141": [ - { - "url": "https://rpc.testnet.onenesslabs.io" - } - ], - "2151": [ - { - "url": "https://mainnet.bosagora.org" - }, - { - "url": "https://rpc.bosagora.org" - } - ], - "2152": [ - { - "url": "https://rpc-mainnet.findora.org" - } - ], - "2153": [ - { - "url": "https://prod-testnet.prod.findora.org:8545" - } - ], - "2154": [ - { - "url": "https://prod-forge.prod.findora.org:8545" - } - ], - "2162": [ - { - "url": "https://rpc.kanda.animechain.ai" - } - ], - "2199": [ - { - "url": "https://rpc.moonsama.com" - }, - { - "url": "wss://rpc.moonsama.com/ws" - } - ], - "2202": [ - { - "url": "https://rpc.antofy.io" - } - ], - "2203": [ - { - "url": "https://connect.bitcoinevm.com" - } - ], - "2213": [ - { - "url": "https://seed4.evanesco.org:8546" - } - ], - "2221": [ - { - "url": "https://evm.testnet.kava.io" - }, - { - "url": "https://kava-evm-testnet.rpc.thirdweb.com" - }, - { - "url": "wss://wevm.testnet.kava.io" - }, - { - "url": "https://kava-testnet.drpc.org" - }, - { - "url": "wss://kava-testnet.drpc.org" - } - ], - "2222": [ - { - "url": "https://evm.kava.io" - }, - { - "url": "https://kava.api.onfinality.io/public", - "tracking": "limited", - "trackingDetails": "For the sole purpose of providing our service, we temporarily record IP addresses and origins to check against free limits, provide load balancing, prevent DOS attacks, and to determine where best to locate our nodes. We do not, and will never, correlate or link specific wallet addresses or transactions made over our infrastructure to the IP address or origin making the RPC request. After processing IP addresses, we discard the IP address value within 24 hours. Read more here: https://blog.onfinality.io/how-does-onfinality-deal-with-personal-information/" - }, - { - "url": "https://kava-evm-rpc.publicnode.com", - "tracking": "none", - "trackingDetails": "We do not store or track any user data with the exception of data that will be public on chain. We do not correlate wallets address's with IP's, any data which is needed to transact is deleted after 24 hours. We also do no use any Analytics or 3rd party website tracking. https://www.publicnode.com/privacy" - }, - { - "url": "https://kava-pokt.nodies.app", - "tracking": "none", - "trackingDetails": "What We Do Not Collect: User's IP address, request origin, request data. https://www.blog.pokt.network/rpc-logging-practices/" - }, - { - "url": "wss://kava-evm-rpc.publicnode.com", - "tracking": "none", - "trackingDetails": "We do not store or track any user data with the exception of data that will be public on chain. We do not correlate wallets address's with IP's, any data which is needed to transact is deleted after 24 hours. We also do no use any Analytics or 3rd party website tracking. https://www.publicnode.com/privacy" - }, - { - "url": "https://evm.kava.chainstacklabs.com", - "tracking": "yes", - "trackingDetails": "We process certain personal data to provide you with the core functionality of our Services. Specifically, when you are: Using the Chainstack Console, we process your name, surname, email address (your account identifier), organization name, IP address, all HTTP headers (most importantly User-Agent), cookies; Using the Chainstack Blockchain infrastructure, we process nodes' token stored in Chainstack Vault, IP address and HTTP headers, request body, API token in Chainstack Vault.https://chainstack.com/privacy/" - }, - { - "url": "wss://wevm.kava.chainstacklabs.com", - "tracking": "yes", - "trackingDetails": "We process certain personal data to provide you with the core functionality of our Services. Specifically, when you are: Using the Chainstack Console, we process your name, surname, email address (your account identifier), organization name, IP address, all HTTP headers (most importantly User-Agent), cookies; Using the Chainstack Blockchain infrastructure, we process nodes' token stored in Chainstack Vault, IP address and HTTP headers, request body, API token in Chainstack Vault.https://chainstack.com/privacy/" - }, - { - "url": "https://rpc.ankr.com/kava_evm", - "tracking": "limited", - "trackingDetails": "For service delivery purposes, we temporarily record IP addresses to set usage limits and monitor for denial of service attacks against our infrastructure. Though we do look at high-level data around the success rate of transactions made over the blockchain RPC, we do not correlate wallet transactions made over the infrastructure to the IP address making the RPC request. Thus, we do not store, exploit, or share any information regarding Personal Identifiable Information (PII), including wallet addresses. https://www.ankr.com/blog/ankrs-ip-address-policy-and-your-privacy/" - }, - { - "url": "https://evm.kava-rpc.com", - "tracking": "limited", - "trackingDetails": "For service delivery purposes, we temporarily record IP addresses to set usage limits and monitor for denial of service attacks against our infrastructure. Though we do look at high-level data around the success rate of transactions made over the blockchain RPC, we do not correlate wallet transactions made over the infrastructure to the IP address making the RPC request. Thus, we do not store, exploit, or share any information regarding Personal Identifiable Information (PII), including wallet addresses. https://www.ankr.com/blog/ankrs-ip-address-policy-and-your-privacy/" - }, - { - "url": "https://kava-rpc.gateway.pokt.network" - }, - { - "url": "https://kava-evm.rpc.thirdweb.com" - }, - { - "url": "wss://wevm.kava.io" - }, - { - "url": "wss://wevm.kava-rpc.com" - }, - { - "url": "https://kava.drpc.org" - }, - { - "url": "wss://kava.drpc.org" - } - ], - "2223": [ - { - "url": "https://bc.vcex.xyz" - } - ], - "2241": [ - { - "url": "https://erpc-krest.peaq.network" - }, - { - "url": "https://krest.unitedbloc.com" - } - ], - "2300": [ - { - "url": "https://rpc.bombchain.com" - } - ], - "2306": [ - { - "url": "https://greendinoswap.com" - } - ], - "2311": [ - { - "url": "https://vesuvius-rpc.litprotocol.com" - } - ], - "2323": [ - { - "url": "https://data-testnet-v1.somanetwork.io", - "tracking": "yes", - "trackingDetails": "At SomaNetwork Mainnet Or Testnet, we are committed to protecting your privacy and ensuring the security of your data. This privacy policy summary outlines how we handle and protect your personal information when using our SomaNetwork Mainnet and Testnet services. Please note that this is a summary, and the full privacy policy should be reviewed for complete details soma. 1.We will collect your mobile device information, operation records, transaction records, wallet address and other personal information. https://soma-network.gitbook.io/soma-network/privacy-policy" - }, - { - "url": "https://block-testnet-v1.somanetwork.io", - "tracking": "yes", - "trackingDetails": "At SomaNetwork Mainnet Or Testnet, we are committed to protecting your privacy and ensuring the security of your data. This privacy policy summary outlines how we handle and protect your personal information when using our SomaNetwork Mainnet and Testnet services. Please note that this is a summary, and the full privacy policy should be reviewed for complete details soma. 1.We will collect your mobile device information, operation records, transaction records, wallet address and other personal information. https://soma-network.gitbook.io/soma-network/privacy-policy" - }, - { - "url": "https://testnet-au-server-2.somanetwork.io" - }, - { - "url": "https://testnet-au-server-1.somanetwork.io" - }, - { - "url": "https://testnet-sg-server-1.somanetwork.io" - }, - { - "url": "https://testnet-sg-server-2.somanetwork.io" - } - ], - "2330": [ - { - "url": "https://rpc0.altcoinchain.org/rpc" - } - ], - "2331": [ - { - "url": "https://rpc.testnet.rss3.io" - } - ], - "2332": [ - { - "url": "https://data-mainnet-v1.somanetwork.io", - "tracking": "yes", - "trackingDetails": "At SomaNetwork Mainnet Or Testnet, we are committed to protecting your privacy and ensuring the security of your data. This privacy policy summary outlines how we handle and protect your personal information when using our SomaNetwork Mainnet and Testnet services. Please note that this is a summary, and the full privacy policy should be reviewed for complete details soma. 1.We will collect your mobile device information, operation records, transaction records, wallet address and other personal information. https://soma-network.gitbook.io/soma-network/privacy-policy" - }, - { - "url": "https://block-mainnet-v1.somanetwork.io", - "tracking": "yes", - "trackingDetails": "At SomaNetwork Mainnet Or Testnet, we are committed to protecting your privacy and ensuring the security of your data. This privacy policy summary outlines how we handle and protect your personal information when using our SomaNetwork Mainnet and Testnet services. Please note that this is a summary, and the full privacy policy should be reviewed for complete details soma. 1.We will collect your mobile device information, operation records, transaction records, wallet address and other personal information. https://soma-network.gitbook.io/soma-network/privacy-policy" - }, - { - "url": "https://id-mainnet.somanetwork.io" - }, - { - "url": "https://hk-mainnet.somanetwork.io" - }, - { - "url": "https://sg-mainnet.somanetwork.io" - } - ], - "2340": [ - { - "url": "wss://testnet-rpc.atleta.network:9944" - }, - { - "url": "https://testnet-rpc.atleta.network:9944" - }, - { - "url": "https://testnet-rpc.atleta.network" - } - ], - "2342": [ - { - "url": "https://rpc.omniaverse.io" - } - ], - "2358": [ - { - "url": "https://api.sepolia.kroma.network" - } - ], - "2370": [ - { - "url": "https://evm-testnet.nexis.network" - } - ], - "2399": [ - { - "url": "https://bombchain-testnet.ankr.com/bas_full_rpc_1" - } - ], - "2400": [ - { - "url": "https://rpc.tcgverse.xyz" - } - ], - "2410": [ - { - "url": "https://rpc.karak.network" - } - ], - "2415": [ - { - "url": "https://mainnet.xo-dex.com/rpc" - }, - { - "url": "https://xo-dex.io" - } - ], - "2425": [ - { - "url": "https://rpc-mainnet.kinggamer.org" - } - ], - "2442": [ - { - "url": "https://rpc.cardona.zkevm-rpc.com" - } - ], - "2458": [ - { - "url": "https://rpc-testnet.hybridchain.ai", - "tracking": "yes", - "trackingDetails": "HybridChain may automatically collect information regarding your computer hardware and software. This data can encompass details like your IP address, browser type, domain names, access times, and referring website addresses. This collection is in line with HybridChain's privacy policy and aims to optimize service provision and enhance user experience.https://docs.hybridchain.ai/privacy-policy" - } - ], - "2468": [ - { - "url": "https://coredata-mainnet.hybridchain.ai", - "tracking": "yes", - "trackingDetails": "HybridChain may automatically collect information regarding your computer hardware and software. This data can encompass details like your IP address, browser type, domain names, access times, and referring website addresses. This collection is in line with HybridChain's privacy policy and aims to optimize service provision and enhance user experience.https://docs.hybridchain.ai/privacy-policy" - }, - { - "url": "https://rpc-mainnet.hybridchain.ai", - "tracking": "yes", - "trackingDetails": "HybridChain may automatically collect information regarding your computer hardware and software. This data can encompass details like your IP address, browser type, domain names, access times, and referring website addresses. This collection is in line with HybridChain's privacy policy and aims to optimize service provision and enhance user experience.https://docs.hybridchain.ai/privacy-policy" - } - ], - "2484": [ - { - "url": "https://rpc-nebulas-testnet.uniultra.xyz" - } - ], - "2522": [ - { - "url": "https://rpc.testnet.frax.com" - } - ], - "2525": [ - { - "url": "https://mainnet.rpc.inevm.com/http" - } - ], - "2559": [ - { - "url": "https://www.kortho-chain.com" - } - ], - "2569": [ - { - "url": "https://api.techpay.io" - } - ], - "2606": [ - { - "url": "https://pocrnet.westeurope.cloudapp.azure.com/http" - }, - { - "url": "wss://pocrnet.westeurope.cloudapp.azure.com/ws" - } - ], - "2611": [ - { - "url": "https://dataseed2.redlightscan.finance" - } - ], - "2612": [ - { - "url": "https://api.ezchain.com/ext/bc/C/rpc" - } - ], - "2613": [ - { - "url": "https://testnet-api.ezchain.com/ext/bc/C/rpc" - } - ], - "2625": [ - { - "url": "https://rpc-testnet.whitechain.io" - } - ], - "2648": [ - { - "url": "https://testnet-rpc.ailayer.xyz" - }, - { - "url": "wss://testnet-rpc.ailayer.xyz" - } - ], - "2649": [ - { - "url": "https://mainnet-rpc.ailayer.xyz" - }, - { - "url": "wss://mainnet-rpc.ailayer.xyz" - } - ], - "2710": [ - { - "url": "https://rpc-testnet.morphl2.io" - } - ], - "2718": [ - { - "url": "https://rpc.klaos.laosfoundation.io" - }, - { - "url": "wss://rpc.klaos.laosfoundation.io" - } - ], - "2730": [ - { - "url": "https://xr-sepolia-testnet.rpc.caldera.xyz/http" - } - ], - "2731": [ - { - "url": "https://testnet-rpc.timenetwork.io" - } - ], - "2748": [ - { - "url": "https://rpc.nanon.network" - } - ], - "2777": [ - { - "url": "https://rpc.gmnetwork.ai" - } - ], - "2810": [ - { - "url": "https://rpc-quicknode-holesky.morphl2.io" - }, - { - "url": "wss://rpc-quicknode-holesky.morphl2.io" - }, - { - "url": "https://rpc-holesky.morphl2.io" - } - ], - "2882": [ - { - "url": "https://node.chips.ooo/wasp/api/v1/chains/iota1pp3d3mnap3ufmgqnjsnw344sqmf5svjh26y2khnmc89sv6788y3r207a8fn/evm" - } - ], - "2907": [ - { - "url": "https://rpc.eluxscan.com" - } - ], - "2911": [ - { - "url": "https://rpc.hychain.com/http" - } - ], - "2941": [ - { - "url": "https://testnet-chain.xenonchain.com" - }, - { - "url": "https://testnet-dev.xenonchain.com" - } - ], - "2999": [ - { - "url": "https://mainnet.bityuan.com/eth" - } - ], - "3001": [ - { - "url": "https://nikau.centrality.me/public" - } - ], - "3003": [ - { - "url": "https://rpc.canxium.org" - } - ], - "3011": [ - { - "url": "https://api.mainnet.playa3ull.games" - } - ], - "3031": [ - { - "url": "https://rpc-testnet.orlchain.com" - } - ], - "3033": [ - { - "url": "https://testnet.rebus.money/rpc" - } - ], - "3068": [ - { - "url": "https://public-01.mainnet.bifrostnetwork.com/rpc" - }, - { - "url": "https://public-02.mainnet.bifrostnetwork.com/rpc" - } - ], - "3084": [ - { - "url": "https://subnets.avax.network/xlnetworkt/testnet/rpc" - }, - { - "url": "wss://subnets.avax.network/xlnetworkt/testnet/ws" - } - ], - "3100": [ - { - "url": "https://fraa-flashbox-2800-rpc.a.stagenet.tanssi.network" - }, - { - "url": "wss://fraa-flashbox-2800-rpc.a.stagenet.tanssi.network" - } - ], - "3102": [ - { - "url": "https://fraa-dancebox-3050-rpc.a.dancebox.tanssi.network" - }, - { - "url": "wss://fraa-dancebox-3050-rpc.a.dancebox.tanssi.network" - } - ], - "3109": [ - { - "url": "https://alpha-rpc-node-http.svmscan.io" - } - ], - "3110": [ - { - "url": "https://test-rpc-node-http.svmscan.io" - } - ], - "3269": [ - { - "url": "https://rpcmain.arabianchain.org" - } - ], - "3270": [ - { - "url": "https://rpctestnet.arabianchain.org" - } - ], - "3306": [ - { - "url": "https://dev-rpc.debounce.network" - } - ], - "3331": [ - { - "url": "https://rpc-testnet.zcore.cash" - } - ], - "3333": [ - { - "url": "http://testnet.ethstorage.io:9540" - } - ], - "3334": [ - { - "url": "https://galileo.web3q.io:8545" - } - ], - "3335": [ - { - "url": "http://mainnet.ethstorage.io:9540" - } - ], - "3338": [ - { - "url": "https://peaq.api.onfinality.io/public" - }, - { - "url": "https://peaq-rpc.dwellir.com" - }, - { - "url": "https://peaq-rpc.publicnode.com" - }, - { - "url": "https://evm.peaq.network" - } - ], - "3400": [ - { - "url": "https://rpc.paribu.network" - } - ], - "3424": [ - { - "url": "https://rpc.evolveblockchain.io" - } - ], - "3434": [ - { - "url": "https://testnet-rpc.securechain.ai" - } - ], - "3456": [ - { - "url": "https://testnet-rpc.layeredge.io" - } - ], - "3490": [ - { - "url": "https://gtc-dataseed.gtcscan.io" - } - ], - "3500": [ - { - "url": "https://rpc.testnet.paribuscan.com" - } - ], - "3501": [ - { - "url": "https://rpc.jfinchain.com" - }, - { - "url": "https://rpc.jfinchain.com", - "tracking": "limited", - "trackingDetails": "We do not collect request data or request origin. We only temporarily record the request method names and IP addresses for 7 days to ensure our service functionality such as load balancing and DDoS protection. All the data is automatically deleted after 7 days and we do not store any user information for longer periods of time. https://blockpi.io/privacy-policy" - } - ], - "3601": [ - { - "url": "https://eth-rpc-api.pandoproject.org/rpc" - } - ], - "3602": [ - { - "url": "https://testnet.ethrpc.pandoproject.org/rpc" - } - ], - "3630": [ - { - "url": "https://mainnet-rpc.tycoscan.com" - } - ], - "3636": [ - { - "url": "https://node.botanixlabs.dev" - } - ], - "3637": [ - { - "url": "https://rpc.btxtestchain.com" - } - ], - "3639": [ - { - "url": "https://rpc.ichainscan.com" - } - ], - "3645": [ - { - "url": "https://istanbul.ichainscan.com" - } - ], - "3666": [ - { - "url": "https://rpc.jnsdao.com:8503" - } - ], - "3690": [ - { - "url": "https://rpc1.bittexscan.info" - }, - { - "url": "https://rpc2.bittexscan.info" - } - ], - "3693": [ - { - "url": "https://rpc.empirenetwork.io" - } - ], - "3698": [ - { - "url": "https://testnet-rpc.senjepowersscan.com" - } - ], - "3699": [ - { - "url": "https://rpc.senjepowersscan.com" - } - ], - "3737": [ - { - "url": "https://rpc.crossbell.io" - } - ], - "3776": [ - { - "url": "https://rpc.startale.com/astar-zkevm" - } - ], - "3797": [ - { - "url": "https://elves-core1.alvey.io" - }, - { - "url": "https://elves-core2.alvey.io" - }, - { - "url": "https://elves-core3.alvey.io" - } - ], - "3799": [ - { - "url": "https://testnet-rpc.tangle.tools" - }, - { - "url": "https://testnet-rpc-archive.tangle.tools" - }, - { - "url": "wss://testnet-rpc.tangle.tools" - }, - { - "url": "wss://testnet-rpc-archive.tangle.tools" - } - ], - "3885": [ - { - "url": "https://rpc-zkevm-ghostrider.thefirechain.com" - } - ], - "3888": [ - { - "url": "https://rpc.kalychain.io/rpc" - } - ], - "3889": [ - { - "url": "https://testnetrpc.kalychain.io/rpc" - } - ], - "3912": [ - { - "url": "https://www.dracscan.com/rpc" - } - ], - "3939": [ - { - "url": "https://test.doschain.com" - } - ], - "3966": [ - { - "url": "https://api.dynoprotocol.com" - } - ], - "3967": [ - { - "url": "https://tapi.dynoprotocol.com" - } - ], - "3993": [ - { - "url": "https://rpc-testnet.apexlayer.xyz" - } - ], - "3999": [ - { - "url": "https://mainnet.yuan.org/eth" - } - ], - "4000": [ - { - "url": "https://node1.ozonechain.io" - } - ], - "4001": [ - { - "url": "https://rpc-testnet.peperium.io" - } - ], - "4002": [ - { - "url": "https://rpc.testnet.fantom.network" - }, - { - "url": "https://endpoints.omniatech.io/v1/fantom/testnet/public", - "tracking": "none", - "trackingDetails": "All the data and metadata remain private to the users. No third party is able to access, analyze or track it. OMNIA leverages different technologies and approaches to guarantee the privacy of their users, from front-running protection and private mempools, to obfuscation and random dispatching. https://blog.omniatech.io/how-omnia-handles-your-personal-data" - }, - { - "url": "https://rpc.ankr.com/fantom_testnet", - "tracking": "limited", - "trackingDetails": "For service delivery purposes, we temporarily record IP addresses to set usage limits and monitor for denial of service attacks against our infrastructure. Though we do look at high-level data around the success rate of transactions made over the blockchain RPC, we do not correlate wallet transactions made over the infrastructure to the IP address making the RPC request. Thus, we do not store, exploit, or share any information regarding Personal Identifiable Information (PII), including wallet addresses. https://www.ankr.com/blog/ankrs-ip-address-policy-and-your-privacy/" - }, - { - "url": "https://fantom-testnet.public.blastapi.io", - "tracking": "limited", - "trackingDetails": "All the information in our logs (log data) can only be accessed for the last 7 days at any certain time, and it is completely purged after 14 days. We do not store any user information for longer periods of time or with any other purposes than investigating potential errors and service failures. https://blastapi.io/privacy-policy" - }, - { - "url": "https://fantom-testnet-rpc.publicnode.com", - "tracking": "none", - "trackingDetails": "We do not store or track any user data with the exception of data that will be public on chain. We do not correlate wallets address's with IP's, any data which is needed to transact is deleted after 24 hours. We also do no use any Analytics or 3rd party website tracking. https://www.publicnode.com/privacy" - }, - { - "url": "wss://fantom-testnet-rpc.publicnode.com", - "tracking": "none", - "trackingDetails": "We do not store or track any user data with the exception of data that will be public on chain. We do not correlate wallets address's with IP's, any data which is needed to transact is deleted after 24 hours. We also do no use any Analytics or 3rd party website tracking. https://www.publicnode.com/privacy" - }, - { - "url": "https://fantom.api.onfinality.io/public", - "tracking": "limited", - "trackingDetails": "For the sole purpose of providing our service, we temporarily record IP addresses and origins to check against free limits, provide load balancing, prevent DOS attacks, and to determine where best to locate our nodes. We do not, and will never, correlate or link specific wallet addresses or transactions made over our infrastructure to the IP address or origin making the RPC request. After processing IP addresses, we discard the IP address value within 24 hours. Read more here: https://blog.onfinality.io/how-does-onfinality-deal-with-personal-information/" - }, - { - "url": "https://fantom-testnet.drpc.org" - }, - { - "url": "wss://fantom-testnet.drpc.org" - } - ], - "4003": [ - { - "url": "https://x1-fastnet.xen.network" - } - ], - "4040": [ - { - "url": "https://rpc-dev.carbonium.network" - }, - { - "url": "https://server-testnet.carbonium.network" - } - ], - "4048": [ - { - "url": "https://rpc.gpu.net" - } - ], - "4058": [ - { - "url": "https://rpc1.ocean.bahamutchain.com" - } - ], - "4061": [ - { - "url": "https://rpc.n3.nahmii.io" - } - ], - "4062": [ - { - "url": "https://rpc.testnet.nahmii.io" - } - ], - "4078": [ - { - "url": "https://muster.alt.technology" - } - ], - "4080": [ - { - "url": "https://rpc.tobescan.com" - } - ], - "4090": [ - { - "url": "https://rpc1.oasis.bahamutchain.com" - } - ], - "4096": [ - { - "url": "https://testnet-rpc.bitindi.org" - } - ], - "4099": [ - { - "url": "https://mainnet-rpc.bitindi.org" - } - ], - "4102": [ - { - "url": "https://eth-ds.testnet.aioz.network" - } - ], - "4139": [ - { - "url": "https://humans-testnet-evm.itrocket.net", - "tracking": "none", - "trackingDetails": "We do not track, store or process any personal data. You can check our privacy policy here: https://itrocket.net/privacy-policy/" - }, - { - "url": "https://evm-rpc.testnet.humans.zone" - } - ], - "4141": [ - { - "url": "https://testnet-rpc.tipboxcoin.net" - } - ], - "4157": [ - { - "url": "https://rpc.testnet.ms" - } - ], - "4162": [ - { - "url": "https://rpc.sx-rollup.gelato.digital" - } - ], - "4181": [ - { - "url": "https://rpc1.phi.network" - }, - { - "url": "https://rpc2.phi.network" - } - ], - "4200": [ - { - "url": "https://rpc.merlinchain.io" - }, - { - "url": "https://merlin-mainnet-enterprise.unifra.io" - }, - { - "url": "https://rpc-merlin.rockx.com" - } - ], - "4201": [ - { - "url": "https://rpc.testnet.lukso.network" - }, - { - "url": "wss://ws-rpc.testnet.lukso.network" - } - ], - "4202": [ - { - "url": "https://rpc.sepolia-api.lisk.com" - } - ], - "4242": [ - { - "url": "https://rpc.chain.nexi.technology" - }, - { - "url": "https://chain.nexilix.com" - }, - { - "url": "https://chain.nexi.evmnode.online" - } - ], - "4243": [ - { - "url": "https://chain.nexiv2.nexilix.com" - }, - { - "url": "https://rpc.chainv1.nexi.technology" - } - ], - "4337": [ - { - "url": "https://build.onbeam.com/rpc" - }, - { - "url": "wss://build.onbeam.com/ws" - }, - { - "url": "https://subnets.avax.network/beam/mainnet/rpc" - }, - { - "url": "wss://subnets.avax.network/beam/mainnet/ws" - } - ], - "4400": [ - { - "url": "https://rpc.creditsmartchain.com" - } - ], - "4444": [ - { - "url": "https://janus.htmlcoin.dev/janus" - }, - { - "url": "https://janus.htmlcoin.com/api" - } - ], - "4460": [ - { - "url": "https://l2-orderly-l2-4460-sepolia-8tc3sd7dvy.t.conduit.xyz" - } - ], - "4544": [ - { - "url": "https://testnet.emoney.network" - } - ], - "4613": [ - { - "url": "https://rpc.verylabs.io" - } - ], - "4653": [ - { - "url": "https://chain-rpc.gold.dev" - } - ], - "4689": [ - { - "url": "https://rpc.ankr.com/iotex", - "tracking": "limited", - "trackingDetails": "For service delivery purposes, we temporarily record IP addresses to set usage limits and monitor for denial of service attacks against our infrastructure. Though we do look at high-level data around the success rate of transactions made over the blockchain RPC, we do not correlate wallet transactions made over the infrastructure to the IP address making the RPC request. Thus, we do not store, exploit, or share any information regarding Personal Identifiable Information (PII), including wallet addresses. https://www.ankr.com/blog/ankrs-ip-address-policy-and-your-privacy/" - }, - { - "url": "https://babel-api.mainnet.iotex.io" - }, - { - "url": "https://babel-api.mainnet.iotex.one" - }, - { - "url": "https://babel-api.fastblocks.io" - }, - { - "url": "https://iotexrpc.com", - "tracking": "limited", - "trackingDetails": "For service delivery purposes, we temporarily record IP addresses to set usage limits and monitor for denial of service attacks against our infrastructure. Though we do look at high-level data around the success rate of transactions made over the blockchain RPC, we do not correlate wallet transactions made over the infrastructure to the IP address making the RPC request. Thus, we do not store, exploit, or share any information regarding Personal Identifiable Information (PII), including wallet addresses. https://www.ankr.com/blog/ankrs-ip-address-policy-and-your-privacy/" - }, - { - "url": "https://iotex-network.rpc.thirdweb.com", - "tracking": "yes", - "trackingDetails": "Server logs automatically record information and details about your online interactions with us. For example, server logs may record information about your visit to our Site on a particular time and day and collect information such as your device ID and IP address.https://thirdweb.com/privacy" - }, - { - "url": "https://iotex.api.onfinality.io/public", - "tracking": "limited", - "trackingDetails": "For the sole purpose of providing our service, we temporarily record IP addresses and origins to check against free limits, provide load balancing, prevent DOS attacks, and to determine where best to locate our nodes. We do not, and will never, correlate or link specific wallet addresses or transactions made over our infrastructure to the IP address or origin making the RPC request. After processing IP addresses, we discard the IP address value within 24 hours. Read more here: https://blog.onfinality.io/how-does-onfinality-deal-with-personal-information/" - } - ], - "4690": [ - { - "url": "https://babel-api.testnet.iotex.io" - } - ], - "4759": [ - { - "url": "https://rpc.meversetestnet.io" - } - ], - "4777": [ - { - "url": "https://testnet.blackfort.network/rpc" - } - ], - "4893": [ - { - "url": "https://rpc.gcscan.io" - } - ], - "4918": [ - { - "url": "https://rpc-evm-testnet.venidium.io" - } - ], - "4919": [ - { - "url": "https://rpc.venidium.io" - } - ], - "4999": [ - { - "url": "https://mainnet.blackfort.network/rpc" - }, - { - "url": "https://mainnet-1.blackfort.network/rpc" - }, - { - "url": "https://mainnet-2.blackfort.network/rpc" - }, - { - "url": "https://mainnet-3.blackfort.network/rpc" - } - ], - "5000": [ - { - "url": "https://mantle-rpc.publicnode.com", - "tracking": "none", - "trackingDetails": "We do not store or track any user data with the exception of data that will be public on chain. We do not correlate wallets address's with IP's, any data which is needed to transact is deleted after 24 hours. We also do no use any Analytics or 3rd party website tracking. https://www.publicnode.com/privacy" - }, - { - "url": "wss://mantle-rpc.publicnode.com", - "tracking": "none", - "trackingDetails": "We do not store or track any user data with the exception of data that will be public on chain. We do not correlate wallets address's with IP's, any data which is needed to transact is deleted after 24 hours. We also do no use any Analytics or 3rd party website tracking. https://www.publicnode.com/privacy" - }, - { - "url": "https://mantle-mainnet.public.blastapi.io", - "tracking": "limited", - "trackingDetails": "All the information in our logs (log data) can only be accessed for the last 7 days at any certain time, and it is completely purged after 14 days. We do not store any user information for longer periods of time or with any other purposes than investigating potential errors and service failures. https://blastapi.io/privacy-policy" - }, - { - "url": "https://mantle.drpc.org", - "tracking": "none", - "trackingDetails": "Specific types of technical data that we may temporarily log include:IP address (only in logs for redirecting requests to the nearest RPC nodes and rate limiting at the free level, which are cleared weekly). The user ID is hidden in the temporary logs, so it is not possible to link them to a specific user.https://drpc.org/privacy-policy" - }, - { - "url": "https://rpc.ankr.com/mantle", - "tracking": "limited", - "trackingDetails": "For service delivery purposes, we temporarily record IP addresses to set usage limits and monitor for denial of service attacks against our infrastructure. Though we do look at high-level data around the success rate of transactions made over the blockchain RPC, we do not correlate wallet transactions made over the infrastructure to the IP address making the RPC request. Thus, we do not store, exploit, or share any information regarding Personal Identifiable Information (PII), including wallet addresses. https://www.ankr.com/blog/ankrs-ip-address-policy-and-your-privacy/" - }, - { - "url": "https://1rpc.io/mantle", - "tracking": "none", - "trackingDetails": "With the exception of data that will be public on chain, all the other metadata / data should remain private to users and other parties should not be able to access or collect it. 1RPC uses many different techniques to prevent the unnecessary collection of user privacy, which prevents tracking from RPC providers. https://docs.1rpc.io/technology/zero-tracking" - }, - { - "url": "https://rpc.mantle.xyz" - } - ], - "5001": [ - { - "url": "https://rpc.testnet.mantle.xyz" - } - ], - "5002": [ - { - "url": "https://node0.treasurenet.io" - }, - { - "url": "https://node1.treasurenet.io" - }, - { - "url": "https://node2.treasurenet.io" - }, - { - "url": "https://node3.treasurenet.io" - } - ], - "5003": [ - { - "url": "https://rpc.sepolia.mantle.xyz" - } - ], - "5005": [ - { - "url": "https://node0.testnet.treasurenet.io" - }, - { - "url": "https://node1.testnet.treasurenet.io" - }, - { - "url": "https://node2.testnet.treasurenet.io" - }, - { - "url": "https://node3.testnet.treasurenet.io" - } - ], - "5039": [ - { - "url": "https://subnets.avax.network/onigiri/testnet/rpc" - } - ], - "5040": [ - { - "url": "https://subnets.avax.network/onigiri/mainnet/rpc" - } - ], - "5051": [ - { - "url": "https://nollie-rpc.skatechain.org" - } - ], - "5100": [ - { - "url": "https://rpc-testnet.syndicate.io" - } - ], - "5101": [ - { - "url": "https://rpc-frame.syndicate.io" - } - ], - "5102": [ - { - "url": "https://rpc-sic-testnet-zvr7tlkzsi.t.conduit.xyz" - } - ], - "5103": [ - { - "url": "https://rpc-coordinape-testnet-vs9se3oc4v.t.conduit.xyz" - } - ], - "5104": [ - { - "url": "https://rpc-charmverse-testnet-g6blnaebes.t.conduit.xyz" - } - ], - "5105": [ - { - "url": "https://rpc-superloyalty-testnet-1m5gwjbsv1.t.conduit.xyz" - } - ], - "5106": [ - { - "url": "https://rpc-azra-testnet-6hz86owb1n.t.conduit.xyz" - } - ], - "5112": [ - { - "url": "https://rpc.ham.fun" - } - ], - "5151": [ - { - "url": "https://testnet-rpc.mechain.tech" - } - ], - "5165": [ - { - "url": "https://bahamut-rpc.publicnode.com", - "tracking": "none", - "trackingDetails": "We do not store or track any user data with the exception of data that will be public on chain. We do not correlate wallets address's with IP's, any data which is needed to transact is deleted after 24 hours. We also do no use any Analytics or 3rd party website tracking. https://www.publicnode.com/privacy" - }, - { - "url": "wss://bahamut-rpc.publicnode.com", - "tracking": "none", - "trackingDetails": "We do not store or track any user data with the exception of data that will be public on chain. We do not correlate wallets address's with IP's, any data which is needed to transact is deleted after 24 hours. We also do no use any Analytics or 3rd party website tracking. https://www.publicnode.com/privacy" - }, - { - "url": "https://rpc1.bahamut.io" - }, - { - "url": "https://rpc2.bahamut.io" - }, - { - "url": "wss://ws1.sahara.bahamutchain.com" - }, - { - "url": "wss://ws2.sahara.bahamutchain.com" - } - ], - "5169": [ - { - "url": "https://rpc.main.smartlayer.network" - } - ], - "5177": [ - { - "url": "https://mainnet-rpc.tlxscan.com" - } - ], - "5197": [ - { - "url": "https://mainnet.eraswap.network" - }, - { - "url": "https://rpc-mumbai.mainnet.eraswap.network" - } - ], - "5234": [ - { - "url": "https://explorer-rpc-http.mainnet.stages.humanode.io" - } - ], - "5315": [ - { - "url": "https://network.uzmigames.com.br" - } - ], - "5317": [ - { - "url": "https://rpctest.optrust.io" - } - ], - "5321": [ - { - "url": "https://rpc.testnet.itxchain.com" - } - ], - "5333": [ - { - "url": "https://rpc1.netsbo.io" - }, - { - "url": "https://rpc2.netsbo.io" - } - ], - "5353": [ - { - "url": "https://nodetestnet-station-one.tritanium.network" - }, - { - "url": "https://nodetestnet-station-two.tritanium.network" - } - ], - "5372": [ - { - "url": "https://settlus-test-eth.settlus.io" - } - ], - "5424": [ - { - "url": "https://mainnet.edexa.network/rpc" - }, - { - "url": "https://mainnet.edexa.com/rpc" - }, - { - "url": "https://io-dataseed1.mainnet.edexa.io-market.com/rpc" - } - ], - "5439": [ - { - "url": "https://mainnet.egochain.org" - } - ], - "5522": [ - { - "url": "https://testnet.vexascan.com/evmapi" - } - ], - "5551": [ - { - "url": "https://l2.nahmii.io" - } - ], - "5555": [ - { - "url": "https://rpc.chainverse.info" - } - ], - "5611": [ - { - "url": "https://opbnb-testnet-rpc.bnbchain.org" - }, - { - "url": "https://opbnb-testnet.nodereal.io/v1/64a9df0874fb4a93b9d0a3849de012d3" - }, - { - "url": "wss://opbnb-testnet.nodereal.io/ws/v1/64a9df0874fb4a93b9d0a3849de012d3" - }, - { - "url": "https://opbnb-testnet.nodereal.io/v1/e9a36765eb8a40b9bd12e680a1fd2bc5" - }, - { - "url": "wss://opbnb-testnet.nodereal.io/ws/v1/e9a36765eb8a40b9bd12e680a1fd2bc5" - }, - { - "url": "https://opbnb-testnet-rpc.publicnode.com" - }, - { - "url": "wss://opbnb-testnet-rpc.publicnode.com" - } - ], - "5615": [ - { - "url": "https://rpc-testnet.arcturuschain.io" - } - ], - "5616": [ - { - "url": "http://185.99.196.3:8545" - } - ], - "5656": [ - { - "url": "https://rpc-main1.qiblockchain.online" - }, - { - "url": "https://rpc-main2.qiblockchain.online" - } - ], - "5675": [ - { - "url": "https://rpctest.filenova.org" - } - ], - "5678": [ - { - "url": "https://fraa-dancebox-3001-rpc.a.dancebox.tanssi.network" - }, - { - "url": "wss://fraa-dancebox-3001-rpc.a.dancebox.tanssi.network" - } - ], - "5700": [ - { - "url": "https://syscoin-tanenbaum-evm-rpc.publicnode.com", - "tracking": "none", - "trackingDetails": "We do not store or track any user data with the exception of data that will be public on chain. We do not correlate wallets address's with IP's, any data which is needed to transact is deleted after 24 hours. We also do no use any Analytics or 3rd party website tracking. https://www.publicnode.com/privacy" - }, - { - "url": "wss://syscoin-tanenbaum-evm-rpc.publicnode.com", - "tracking": "none", - "trackingDetails": "We do not store or track any user data with the exception of data that will be public on chain. We do not correlate wallets address's with IP's, any data which is needed to transact is deleted after 24 hours. We also do no use any Analytics or 3rd party website tracking. https://www.publicnode.com/privacy" - }, - { - "url": "https://rollux.rpc.tanenbaum.io" - }, - { - "url": "wss://rollux.rpc.tanenbaum.io/wss" - }, - { - "url": "https://rpc.tanenbaum.io" - }, - { - "url": "wss://rpc.tanenbaum.io/wss" - }, - { - "url": "https://syscoin-tanenbaum-evm.publicnode.com" - }, - { - "url": "wss://syscoin-tanenbaum-evm.publicnode.com" - } - ], - "5729": [ - { - "url": "https://rpc-testnet.hika.network" - } - ], - "5758": [ - { - "url": "https://testnet-rpc.satoshichain.io" - } - ], - "5777": [ - { - "url": "https://127.0.0.1:7545" - } - ], - "5845": [ - { - "url": "https://rpc.tangle.tools" - }, - { - "url": "wss://rpc.tangle.tools" - } - ], - "5851": [ - { - "url": "http://polaris1.ont.io:20339" - }, - { - "url": "http://polaris2.ont.io:20339" - }, - { - "url": "http://polaris3.ont.io:20339" - }, - { - "url": "http://polaris4.ont.io:20339" - }, - { - "url": "https://polaris1.ont.io:10339" - }, - { - "url": "https://polaris2.ont.io:10339" - }, - { - "url": "https://polaris3.ont.io:10339" - }, - { - "url": "https://polaris4.ont.io:10339" - } - ], - "5858": [ - { - "url": "https://rpc.cthscan.com" - } - ], - "5869": [ - { - "url": "https://proxy.wegochain.io" - }, - { - "url": "http://wallet.wegochain.io:7764" - } - ], - "6000": [ - { - "url": "https://fullnode-testnet.bouncebitapi.com" - } - ], - "6001": [ - { - "url": "https://fullnode-mainnet.bouncebitapi.com" - } - ], - "6065": [ - { - "url": "https://rpc-test.tresleches.finance" - } - ], - "6066": [ - { - "url": "https://rpc.tresleches.finance" - }, - { - "url": "https://rpc.treschain.io" - } - ], - "6102": [ - { - "url": "https://testnet.cascadia.foundation" - } - ], - "6118": [ - { - "url": "https://node-api.alp.uptn.io/v1/ext/rpc" - } - ], - "6119": [ - { - "url": "https://node-api.uptn.io/v1/ext/rpc" - } - ], - "6283": [ - { - "url": "https://rpc.laos.laosfoundation.io" - }, - { - "url": "wss://rpc.laos.laosfoundation.io" - } - ], - "6321": [ - { - "url": "https://jsonrpc.euphoria.aura.network" - } - ], - "6322": [ - { - "url": "https://jsonrpc.aura.network" - } - ], - "6363": [ - { - "url": "https://dsc-rpc.digitsoul.co.th" - } - ], - "6398": [ - { - "url": "https://rpc.connext-sepolia.gelato.digital" - } - ], - "6502": [ - { - "url": "https://peerpay.su.gy/p2p" - } - ], - "6550": [ - { - "url": "https://testnetrpc.flamma.network" - } - ], - "6552": [ - { - "url": "https://testnet-rpc.scolcoin.com" - } - ], - "6565": [ - { - "url": "https://rpc-testnet-v1.foxchain.app" - }, - { - "url": "https://rpc2-testnet-v1.foxchain.app" - }, - { - "url": "https://rpc3-testnet-v1.foxchain.app" - } - ], - "6626": [ - { - "url": "https://http-mainnet.chain.pixie.xyz" - }, - { - "url": "wss://ws-mainnet.chain.pixie.xyz" - } - ], - "6660": [ - { - "url": "https://testnet-rpc.latestcoin.io" - } - ], - "6661": [ - { - "url": "https://rpc-mainnet.cybria.io" - } - ], - "6666": [ - { - "url": "https://l2-rpc.cybascan.io" - } - ], - "6678": [ - { - "url": "https://rpc1-mainnet.emc.network" - } - ], - "6688": [ - { - "url": "https://iris-evm-rpc.publicnode.com", - "tracking": "none", - "trackingDetails": "We do not store or track any user data with the exception of data that will be public on chain. We do not correlate wallets address's with IP's, any data which is needed to transact is deleted after 24 hours. We also do no use any Analytics or 3rd party website tracking. https://www.publicnode.com/privacy" - }, - { - "url": "wss://iris-evm-rpc.publicnode.com", - "tracking": "none", - "trackingDetails": "We do not store or track any user data with the exception of data that will be public on chain. We do not correlate wallets address's with IP's, any data which is needed to transact is deleted after 24 hours. We also do no use any Analytics or 3rd party website tracking. https://www.publicnode.com/privacy" - }, - { - "url": "https://evmrpc.irishub-1.irisnet.org" - }, - { - "url": "https://iris-evm.publicnode.com" - }, - { - "url": "wss://iris-evm.publicnode.com" - } - ], - "6699": [ - { - "url": "https://rpc.oxscan.io" - } - ], - "6701": [ - { - "url": "https://chain.paxb.io" - } - ], - "6779": [ - { - "url": "https://rpc.compverse.io" - }, - { - "url": "https://rpc-useast1.compverse.io" - } - ], - "6789": [ - { - "url": "https://rpc-mainnet.goldsmartchain.com" - } - ], - "6805": [ - { - "url": "https://racemainnet.io" - } - ], - "6806": [ - { - "url": "https://racetestnet.io" - } - ], - "6868": [ - { - "url": "https://rpc.poolsmobility.com" - } - ], - "6969": [ - { - "url": "https://rpc.tombchain.com" - } - ], - "6999": [ - { - "url": "https://seed0.polysmartchain.com" - }, - { - "url": "https://seed1.polysmartchain.com" - }, - { - "url": "https://seed2.polysmartchain.com" - } - ], - "7000": [ - { - "url": "https://zetachain-evm.blockpi.network/v1/rpc/public", - "tracking": "limited", - "trackingDetails": "We do not collect request data or request origin. We only temporarily record the request method names and IP addresses for 7 days to ensure our service functionality such as load balancing and DDoS protection. All the data is automatically deleted after 7 days and we do not store any user information for longer periods of time. https://blockpi.io/privacy-policy" - }, - { - "url": "https://zetachain-mainnet-archive.allthatnode.com:8545", - "tracking": "yes", - "trackingDetails": "In addition to the Personal Information, the Billing Information, and the Geolocational Information..., we automatically collect certain information when you use the Platform or Website: IP addresses, browser type and language...; information about a mobile device, including universally unique ID (\u201CUUID\u201D), platform type and version (e.g., iOS or Android), carrier and country location, hardware and processor information, and network type; and activity and usage information occurring via the Platform or Website.https://www.allthatnode.com/privacypolicy.dsrv" - }, - { - "url": "wss://zetachain-mainnet-archive.allthatnode.com:8546", - "tracking": "yes", - "trackingDetails": "In addition to the Personal Information, the Billing Information, and the Geolocational Information..., we automatically collect certain information when you use the Platform or Website: IP addresses, browser type and language...; information about a mobile device, including universally unique ID (\u201CUUID\u201D), platform type and version (e.g., iOS or Android), carrier and country location, hardware and processor information, and network type; and activity and usage information occurring via the Platform or Website.https://www.allthatnode.com/privacypolicy.dsrv" - }, - { - "url": "https://zeta.rpcgrid.com", - "tracking": "none", - "trackingDetails": "Only strictly functional data is automatically collected by the RPC. None of this data is directly exported or used for commercial purposes. https://rpcgrid.com/privacy-policy" - }, - { - "url": "wss://zeta.rpcgrid.com", - "tracking": "none", - "trackingDetails": "Only strictly functional data is automatically collected by the RPC. None of this data is directly exported or used for commercial purposes. https://rpcgrid.com/privacy-policy" - }, - { - "url": "https://zetachain-mainnet.g.allthatnode.com/archive/evm" - }, - { - "url": "https://zeta-chain.drpc.org" - }, - { - "url": "https://zetachain-mainnet.public.blastapi.io" - }, - { - "url": "https://7000.rpc.thirdweb.com" - } - ], - "7001": [ - { - "url": "https://zetachain-athens-evm.blockpi.network/v1/rpc/public", - "tracking": "limited", - "trackingDetails": "We do not collect request data or request origin. We only temporarily record the request method names and IP addresses for 7 days to ensure our service functionality such as load balancing and DDoS protection. All the data is automatically deleted after 7 days and we do not store any user information for longer periods of time. https://blockpi.io/privacy-policy" - }, - { - "url": "https://zetachain-testnet.public.blastapi.io" - }, - { - "url": "https://zetachain-athens.g.allthatnode.com/archive/evm" - }, - { - "url": "https://7001.rpc.thirdweb.com" - }, - { - "url": "https://zeta-chain-testnet.drpc.org" - } - ], - "7007": [ - { - "url": "https://rpc.bstchain.io" - } - ], - "7027": [ - { - "url": "https://rpc.ella.network" - } - ], - "7070": [ - { - "url": "https://planq-rpc.nodies.app" - }, - { - "url": "https://jsonrpc.planq.nodestake.top" - }, - { - "url": "https://evm-rpc.planq.network" - } - ], - "7077": [ - { - "url": "https://evm-rpc-atlas.planq.network" - } - ], - "7100": [ - { - "url": "https://rpc.numecrypto.com" - } - ], - "7171": [ - { - "url": "https://connect.bit-rock.io" - }, - { - "url": "https://brockrpc.io" - } - ], - "7222": [ - { - "url": "https://evm-rpc.devnet-3.nibiru.fi" - } - ], - "7244": [ - { - "url": "https://testnet-rpc.zeuschainscan.io" - } - ], - "7300": [ - { - "url": "https://rpc-xpla-verse.xpla.dev" - } - ], - "7331": [ - { - "url": "https://evm.klyntar.org/kly_evm_rpc" - }, - { - "url": "https://evm.klyntarscan.org/kly_evm_rpc" - } - ], - "7332": [ - { - "url": "https://eon-rpc.horizenlabs.io/ethv1" - }, - { - "url": "https://rpc.ankr.com/horizen_eon" - } - ], - "7341": [ - { - "url": "https://rpc.shyft.network" - } - ], - "7484": [ - { - "url": "https://rpc.x.raba.app" - }, - { - "url": "wss://rpc.x.raba.app/ws" - } - ], - "7518": [ - { - "url": "https://rpc.meversemainnet.io" - } - ], - "7560": [ - { - "url": "https://cyber.alt.technology" - }, - { - "url": "wss://cyber-ws.alt.technology" - }, - { - "url": "https://rpc.cyber.co" - }, - { - "url": "wss://rpc.cyber.co" - } - ], - "7575": [ - { - "url": "https://testnet.adilchain-rpc.io" - } - ], - "7576": [ - { - "url": "https://adilchain-rpc.io" - } - ], - "7668": [ - { - "url": "https://root.rootnet.live/archive" - }, - { - "url": "wss://root.rootnet.live/archive/ws" - } - ], - "7672": [ - { - "url": "https://porcini.rootnet.app/archive" - }, - { - "url": "wss://porcini.rootnet.app/archive/ws" - } - ], - "7700": [ - { - "url": "https://canto.gravitychain.io" - }, - { - "url": "https://canto.evm.chandrastation.com" - }, - { - "url": "https://jsonrpc.canto.nodestake.top" - }, - { - "url": "https://canto.dexvaults.com" - }, - { - "url": "wss://canto.gravitychain.io:8546" - }, - { - "url": "wss://canto.dexvaults.com/ws" - }, - { - "url": "https://canto-rpc.ansybl.io" - }, - { - "url": "https://canto.slingshot.finance" - }, - { - "url": "https://mainnode.plexnode.org:8545" - } - ], - "7701": [ - { - "url": "https://testnet-archive.plexnode.wtf" - } - ], - "7771": [ - { - "url": "https://testnet.bit-rock.io" - } - ], - "7774": [ - { - "url": "https://mainnet-rpc-1.gdccscan.io" - } - ], - "7775": [ - { - "url": "https://testnet-rpc1.gdccscan.io" - } - ], - "7776": [ - { - "url": "https://rpc1.pandasea.io" - } - ], - "7777": [ - { - "url": "https://testnet1.rotw.games" - }, - { - "url": "https://testnet2.rotw.games" - }, - { - "url": "https://testnet3.rotw.games" - }, - { - "url": "https://testnet4.rotw.games" - }, - { - "url": "https://testnet5.rotw.games" - }, - { - "url": "https://testnet1.riseofthewarbots.com" - }, - { - "url": "https://testnet2.riseofthewarbots.com" - }, - { - "url": "https://testnet3.riseofthewarbots.com" - }, - { - "url": "https://testnet4.riseofthewarbots.com" - }, - { - "url": "https://testnet5.riseofthewarbots.com" - } - ], - "7778": [ - { - "url": "https://validator-mainnet.orenium.org" - }, - { - "url": "https://rpc-oracle-mainnet.orenium.org" - }, - { - "url": "https://portalmainnet.orenium.org" - } - ], - "7798": [ - { - "url": "https://long.rpc.openex.network" - } - ], - "7860": [ - { - "url": "https://node1.maalscan.io" - }, - { - "url": "https://rpc-bntest.maalscan.io" - } - ], - "7862": [ - { - "url": "https://node1-mainnet-new.maalscan.io" - }, - { - "url": "https://node2-mainnet-new.maalscan.io" - }, - { - "url": "https://node3-mainnet-new.maalscan.io" - } - ], - "7863": [ - { - "url": "https://node-testnet.maalscan.io" - }, - { - "url": "https://node2-testnet.maalscan.io" - } - ], - "7878": [ - { - "url": "https://hatlas.rpc.hazlor.com:8545" - }, - { - "url": "wss://hatlas.rpc.hazlor.com:8546" - } - ], - "7887": [ - { - "url": "https://rpc.kinto.xyz/http" - }, - { - "url": "https://kinto-mainnet.calderachain.xyz/http" - } - ], - "7895": [ - { - "url": "https://rpc-athena.ardescan.com", - "tracking": "yes", - "trackingDetails": " (ARD) Ardenium Athena, we prioritize the protection of your privacy and the security of your data. This privacy policy summary provides an overview of how we handle and safeguard your personal information when you use our Ardenium Athena Explorer Blockchain services. However, please note that this is only a summary, and for complete details, we encourage you to review the full privacy policy available at soma, Information Collection: When you use our services, we may collect personal information, such as mobile device details, operation records, transaction records, wallet addresses, and other relevant data. For a more comprehensive understanding, please refer to our full privacy policy at https://docs.ardenium.wiki/ardenium-network/disclaimer." - } - ], - "7923": [ - { - "url": "https://rpc.dotblox.io" - } - ], - "7924": [ - { - "url": "https://mainnet-rpc.mochain.app" - } - ], - "7979": [ - { - "url": "https://main.doschain.com" - } - ], - "8000": [ - { - "url": "https://dataseed.testnet.teleport.network" - }, - { - "url": "https://evm-rpc.teleport.network" - } - ], - "8001": [ - { - "url": "https://evm-rpc.testnet.teleport.network" - } - ], - "8008": [ - { - "url": "https://rpc.polynomial.fi" - } - ], - "8029": [ - { - "url": "https://testnet.mdgl.io" - } - ], - "8047": [ - { - "url": "https://rpc0.come.boat" - } - ], - "8054": [ - { - "url": "https://rpc.sepolia.karak.network" - } - ], - "8080": [ - { - "url": "https://liberty10.shardeum.org" - } - ], - "8081": [ - { - "url": "https://dapps.shardeum.org", - "tracking": "yes", - "trackingDetails": "Shardeum follows a standard procedure of using log files. These files log visitors when they visit websites... The information collected by log files includes IP addresses, browser type, ISP, date and time stamp, referring/exit pages, and potentially the number of clicks.https://shardeum.org/privacy-policy/" - }, - { - "url": "https://liberty20.shardeum.org" - } - ], - "8082": [ - { - "url": "https://sphinx.shardeum.org", - "tracking": "yes", - "trackingDetails": "Shardeum follows a standard procedure of using log files. These files log visitors when they visit websites... The information collected by log files includes IP addresses, browser type, ISP, date and time stamp, referring/exit pages, and potentially the number of clicks.https://shardeum.org/privacy-policy/" - } - ], - "8086": [ - { - "url": "https://rpc.biteth.org" - } - ], - "8087": [ - { - "url": "https://rpc.e-dollar.org" - } - ], - "8098": [ - { - "url": "https://u0ma6t6heb:KDNwOsRDGcyM2Oeui1p431Bteb4rvcWkuPgQNHwB4FM@u0xy4x6x82-u0e2mg517m-rpc.us0-aws.kaleido.io" - } - ], - "8131": [ - { - "url": "https://testnet.meerlabs.com" - }, - { - "url": "https://testnet-qng.rpc.qitmeer.io" - }, - { - "url": "https://meer.testnet.meerfans.club" - } - ], - "8181": [ - { - "url": "https://pre-boc1.beonechain.com" - } - ], - "8192": [ - { - "url": "https://rpc.toruschain.com" - } - ], - "8194": [ - { - "url": "https://rpc.testnet.toruschain.com" - } - ], - "8217": [ - { - "url": "https://public-en-cypress.klaytn.net" - }, - { - "url": "https://klaytn-mainnet-rpc.allthatnode.com:8551", - "tracking": "yes", - "trackingDetails": "In addition to the Personal Information, the Billing Information, and the Geolocational Information..., we automatically collect certain information when you use the Platform or Website: IP addresses, browser type and language...; information about a mobile device, including universally unique ID (\u201CUUID\u201D), platform type and version (e.g., iOS or Android), carrier and country location, hardware and processor information, and network type; and activity and usage information occurring via the Platform or Website.https://www.allthatnode.com/privacypolicy.dsrv" - }, - { - "url": "https://rpc.ankr.com/klaytn ", - "tracking": "limited", - "trackingDetails": "For service delivery purposes, we temporarily record IP addresses to set usage limits and monitor for denial of service attacks against our infrastructure. Though we do look at high-level data around the success rate of transactions made over the blockchain RPC, we do not correlate wallet transactions made over the infrastructure to the IP address making the RPC request. Thus, we do not store, exploit, or share any information regarding Personal Identifiable Information (PII), including wallet addresses. https://www.ankr.com/blog/ankrs-ip-address-policy-and-your-privacy/" - }, - { - "url": "https://klaytn.blockpi.network/v1/rpc/public", - "tracking": "limited", - "trackingDetails": "We do not collect request data or request origin. We only temporarily record the request method names and IP addresses for 7 days to ensure our service functionality such as load balancing and DDoS protection. All the data is automatically deleted after 7 days and we do not store any user information for longer periods of time. https://blockpi.io/privacy-policy" - }, - { - "url": "https://klaytn.api.onfinality.io/public", - "tracking": "limited", - "trackingDetails": "For the sole purpose of providing our service, we temporarily record IP addresses and origins to check against free limits, provide load balancing, prevent DOS attacks, and to determine where best to locate our nodes. We do not, and will never, correlate or link specific wallet addresses or transactions made over our infrastructure to the IP address or origin making the RPC request. After processing IP addresses, we discard the IP address value within 24 hours. Read more here: https://blog.onfinality.io/how-does-onfinality-deal-with-personal-information/" - }, - { - "url": "https://1rpc.io/klay", - "tracking": "none", - "trackingDetails": "With the exception of data that will be public on chain, all the other metadata / data should remain private to users and other parties should not be able to access or collect it. 1RPC uses many different techniques to prevent the unnecessary collection of user privacy, which prevents tracking from RPC providers. https://docs.1rpc.io/technology/zero-tracking" - }, - { - "url": "https://klaytn-pokt.nodies.app", - "tracking": "none", - "trackingDetails": "What We Do Not Collect: User's IP address, request origin, request data. https://www.blog.pokt.network/rpc-logging-practices/" - }, - { - "url": "https://klaytn.drpc.org", - "tracking": "none", - "trackingDetails": "Specific types of technical data that we may temporarily log include:IP address (only in logs for redirecting requests to the nearest RPC nodes and rate limiting at the free level, which are cleared weekly). The user ID is hidden in the temporary logs, so it is not possible to link them to a specific user.https://drpc.org/privacy-policy" - }, - { - "url": "https://public-en.node.kaia.io" - } - ], - "8227": [ - { - "url": "https://subnets.avax.network/space/mainnet/rpc" - } - ], - "8272": [ - { - "url": "https://rpc.blocktonscan.com" - } - ], - "8285": [ - { - "url": "https://www.krotho-test.net" - } - ], - "8329": [ - { - "url": "https://rpc.lorenzo-protocol.xyz" - } - ], - "8333": [ - { - "url": "https://mainnet-rpc.b3.fun" - } - ], - "8387": [ - { - "url": "https://api.dracones.net" - } - ], - "8453": [ - { - "url": "https://base.llamarpc.com", - "tracking": "none", - "trackingDetails": "LlamaNodes is open-source and does not track or store user information that transits through our RPCs (location, IP, wallet, etc). To learn more, have a look at the public Privacy Policy in our docs: https://llamanodes.notion.site/Privacy-Practices-f20fd8fdd02a469d9d4f42a5989bb936", - "isOpenSource": true - }, - { - "url": "https://mainnet.base.org" - }, - { - "url": "https://developer-access-mainnet.base.org" - }, - { - "url": "https://base-mainnet.diamondswap.org/rpc", - "tracking": "limited", - "trackingDetails": "We record limited metadata from requests. This data is stored for a maximum of 90 days and is solely used for debugging, identifying suspicious activity, and generating analytics." - }, - { - "url": "https://base.blockpi.network/v1/rpc/public", - "tracking": "limited", - "trackingDetails": "We do not collect request data or request origin. We only temporarily record the request method names and IP addresses for 7 days to ensure our service functionality such as load balancing and DDoS protection. All the data is automatically deleted after 7 days and we do not store any user information for longer periods of time. https://blockpi.io/privacy-policy" - }, - { - "url": "https://1rpc.io/base", - "tracking": "none", - "trackingDetails": "With the exception of data that will be public on chain, all the other metadata / data should remain private to users and other parties should not be able to access or collect it. 1RPC uses many different techniques to prevent the unnecessary collection of user privacy, which prevents tracking from RPC providers. https://docs.1rpc.io/technology/zero-tracking" - }, - { - "url": "https://base-pokt.nodies.app", - "tracking": "none", - "trackingDetails": "What We Do Not Collect: User's IP address, request origin, request data. https://www.blog.pokt.network/rpc-logging-practices/" - }, - { - "url": "https://base.meowrpc.com", - "tracking": "none", - "trackingDetails": "With the exclusion of data that will be openly visible and available on the blockchain, MEOWRPC does not track or store any kind of user information (such as location, IP address, etc.) that passes through our RPC. For further details regarding our privacy practices, we encourage you to refer to our Privacy Policy. https://privacy.meowrpc.com" - }, - { - "url": "https://base-mainnet.public.blastapi.io", - "tracking": "limited", - "trackingDetails": "All the information in our logs (log data) can only be accessed for the last 7 days at any certain time, and it is completely purged after 14 days. We do not store any user information for longer periods of time or with any other purposes than investigating potential errors and service failures. https://blastapi.io/privacy-policy" - }, - { - "url": "https://base.gateway.tenderly.co", - "tracking": "yes", - "trackingDetails": "Additionally, if you are an Account Member, we may collect business and transactional data about you (and your business) that accumulates over the normal course of operation regarding providing our Services. This may include transaction records, stored files, user profiles, information about collaborators, analytics data, and other metrics, as well as other types of information created or generated by your interaction with our Services. https://tenderly.co/privacy-policy" - }, - { - "url": "https://gateway.tenderly.co/public/base", - "tracking": "yes", - "trackingDetails": "Additionally, if you are an Account Member, we may collect business and transactional data about you (and your business) that accumulates over the normal course of operation regarding providing our Services. This may include transaction records, stored files, user profiles, information about collaborators, analytics data, and other metrics, as well as other types of information created or generated by your interaction with our Services. https://tenderly.co/privacy-policy" - }, - { - "url": "https://rpc.notadegen.com/base" - }, - { - "url": "https://base-rpc.publicnode.com", - "tracking": "none", - "trackingDetails": "We do not store or track any user data with the exception of data that will be public on chain. We do not correlate wallets address's with IP's, any data which is needed to transact is deleted after 24 hours. We also do no use any Analytics or 3rd party website tracking. https://www.publicnode.com/privacy" - }, - { - "url": "wss://base-rpc.publicnode.com", - "tracking": "none", - "trackingDetails": "We do not store or track any user data with the exception of data that will be public on chain. We do not correlate wallets address's with IP's, any data which is needed to transact is deleted after 24 hours. We also do no use any Analytics or 3rd party website tracking. https://www.publicnode.com/privacy" - }, - { - "url": "https://base.drpc.org", - "tracking": "none", - "trackingDetails": "Specific types of technical data that we may temporarily log include:IP address (only in logs for redirecting requests to the nearest RPC nodes and rate limiting at the free level, which are cleared weekly). The user ID is hidden in the temporary logs, so it is not possible to link them to a specific user.https://drpc.org/privacy-policy" - }, - { - "url": "https://endpoints.omniatech.io/v1/base/mainnet/public", - "tracking": "none", - "trackingDetails": "All the data and metadata remain private to the users. No third party is able to access, analyze or track it. OMNIA leverages different technologies and approaches to guarantee the privacy of their users, from front-running protection and private mempools, to obfuscation and random dispatching. https://blog.omniatech.io/how-omnia-handles-your-personal-data" - }, - { - "url": "https://base.api.onfinality.io/public", - "tracking": "limited", - "trackingDetails": "For the sole purpose of providing our service, we temporarily record IP addresses and origins to check against free limits, provide load balancing, prevent DOS attacks, and to determine where best to locate our nodes. We do not, and will never, correlate or link specific wallet addresses or transactions made over our infrastructure to the IP address or origin making the RPC request. After processing IP addresses, we discard the IP address value within 24 hours. Read more here: https://blog.onfinality.io/how-does-onfinality-deal-with-personal-information/" - }, - { - "url": "wss://base.gateway.tenderly.co" - } - ], - "8545": [ - { - "url": "https://rpcv1-dn-1.chakrachain.io" - } - ], - "8654": [ - { - "url": "https://mainnet.buildwithtoki.com/v0/rpc" - } - ], - "8655": [ - { - "url": "https://testnet.buildwithtoki.com/v0/rpc" - } - ], - "8668": [ - { - "url": "https://mainnet-rpc.helachain.com" - } - ], - "8723": [ - { - "url": "https://mainnet-web3.wolot.io" - } - ], - "8724": [ - { - "url": "https://testnet-web3.wolot.io" - } - ], - "8726": [ - { - "url": "https://mainnet-validator.storagechain.io" - } - ], - "8727": [ - { - "url": "https://testnet-validator.storagechain.io" - } - ], - "8732": [ - { - "url": "https://rpc.bullionsx.org" - } - ], - "8738": [ - { - "url": "https://rpc.alph.network" - }, - { - "url": "wss://rpc.alph.network" - } - ], - "8768": [ - { - "url": "https://node1.tmyblockchain.org/rpc" - } - ], - "8822": [ - { - "url": "https://json-rpc.evm.iotaledger.net" - }, - { - "url": "https://ws.json-rpc.evm.iotaledger.net" - } - ], - "8844": [ - { - "url": "https://rpc.testnet.hydrachain.org" - } - ], - "8848": [ - { - "url": "https://rpc-mainnet.ma.ro" - } - ], - "8866": [ - { - "url": "https://mainnet.lumio.io" - } - ], - "8869": [ - { - "url": "https://rpc.lif3.com" - } - ], - "8880": [ - { - "url": "https://rpc.unique.network" - }, - { - "url": "https://eu-rpc.unique.network" - }, - { - "url": "https://asia-rpc.unique.network" - }, - { - "url": "https://us-rpc.unique.network" - } - ], - "8881": [ - { - "url": "https://rpc-quartz.unique.network" - }, - { - "url": "https://quartz.api.onfinality.io/public-ws" - }, - { - "url": "https://eu-rpc-quartz.unique.network" - }, - { - "url": "https://asia-rpc-quartz.unique.network" - }, - { - "url": "https://us-rpc-quartz.unique.network" - } - ], - "8882": [ - { - "url": "https://rpc-opal.unique.network" - }, - { - "url": "https://us-rpc-opal.unique.network" - }, - { - "url": "https://eu-rpc-opal.unique.network" - }, - { - "url": "https://asia-rpc-opal.unique.network" - } - ], - "8883": [ - { - "url": "https://rpc-sapphire.unique.network" - }, - { - "url": "https://us-rpc-sapphire.unique.network" - }, - { - "url": "https://eu-rpc-sapphire.unique.network" - }, - { - "url": "https://asia-rpc-sapphire.unique.network" - } - ], - "8886": [ - { - "url": "https://eu-testnet.avenium.io" - }, - { - "url": "https://connect-testnet.avenium.io" - } - ], - "8888": [ - { - "url": "https://mainnet.xana.net/rpc" - } - ], - "8889": [ - { - "url": "https://vsc-dataseed.vyvo.org:8889" - } - ], - "8890": [ - { - "url": "https://rpc-dev-testnet.orenium.org" - }, - { - "url": "https://rpc-testnet.orenium.org" - }, - { - "url": "https://rpc-orc.oredex.finance" - }, - { - "url": "https://testnet-rpc.oredex.finance" - }, - { - "url": "https://oredex-node.oredex.finance" - } - ], - "8898": [ - { - "url": "https://dataseed.mmtscan.io" - }, - { - "url": "https://dataseed1.mmtscan.io" - }, - { - "url": "https://dataseed2.mmtscan.io" - } - ], - "8899": [ - { - "url": "https://rpc-l1.jibchain.net" - }, - { - "url": "https://jib-rpc.inan.in.th" - }, - { - "url": "https://rpc-l1.jbc.aomwara.in.th" - }, - { - "url": "https://rpc-l1.jbc.xpool.pw" - }, - { - "url": "https://rpc-l1.inan.in.th" - } - ], - "8911": [ - { - "url": "https://rpc.algen.network" - } - ], - "8912": [ - { - "url": "https://rpc.test.algen.network" - } - ], - "8921": [ - { - "url": "https://rpc.alg2.algen.network" - } - ], - "8922": [ - { - "url": "https://rpc.alg2-test.algen.network" - } - ], - "8989": [ - { - "url": "https://rpc-asia.gmmtchain.io" - } - ], - "8995": [ - { - "url": "https://core.bloxberg.org" - } - ], - "9000": [ - { - "url": "https://evmos-testnet-json.qubelabs.io" - }, - { - "url": "https://evmos-tjson.antrixy.org" - }, - { - "url": "https://evmos-testnet-rpc.kingsuper.services" - }, - { - "url": "https://rpc.evmos.test.theamsolutions.info" - }, - { - "url": "https://api.evmos-test.theamsolutions.info" - }, - { - "url": "https://rpc.evmos.testnet.node75.org" - }, - { - "url": "https://rpc-evm.testnet.evmos.dragonstake.io" - }, - { - "url": "https://evmos-testnet-rpc.stake-town.com" - }, - { - "url": "https://evmos-testnet-jsonrpc.stake-town.com" - }, - { - "url": "https://api.evmos-test.theamsolutions.info" - }, - { - "url": "https://jsonrpc-t.evmos.nodestake.top" - }, - { - "url": "https://evmos-testnet-jsonrpc.autostake.com" - }, - { - "url": "https://evmos-testnet-jsonrpc.alkadeta.com" - }, - { - "url": "https://evm-rpc.evmost.silentvalidator.com" - }, - { - "url": "https://testnet-evm-rpc-evmos.hoodrun.io" - }, - { - "url": "https://alphab.ai/rpc/eth/evmos_testnet" - }, - { - "url": "https://t-evmos-jsonrpc.kalia.network" - }, - { - "url": "https://jsonrpc-evmos-testnet.mzonder.com" - }, - { - "url": "https://evmos-testnet.lava.build/lava-referer-16223de7-12c0-49f3-8d87-e5f1e6a0eb3b" - }, - { - "url": "https://evmos-testnet.lava.build" - }, - { - "url": "https://eth.bd.evmos.dev:8545" - }, - { - "url": "https://evmos-testnet-evm-rpc.publicnode.com" - }, - { - "url": "wss://evmos-testnet-evm-rpc.publicnode.com" - } - ], - "9001": [ - { - "url": "https://evmos.lava.build", - "tracking": "yes", - "trackingDetails": "We, our service providers, and our business partners may automatically log information about you, your computer or mobile device, and your interaction over time with the Service..., such as: Device data, ...your computer or mobile device's operating system type and version, manufacturer and model, browser type, screen resolution, RAM and disk size, CPU usage, device type (e.g., phone, tablet), IP address, unique identifiers (including identifiers used for advertising purposes), language settings, mobile device carrier, radio/network information (e.g., Wi-Fi, LTE, 3G), and general location information such as city, state or geographic area. https://www.lavanet.xyz/privacy-policy" - }, - { - "url": "https://evmos-mainnet-jsonrpc.autostake.com", - "tracking": "limited", - "trackingDetails": "When you browse our marketing pages, we\u2019ll track that for statistical purposes (like conversion rates and to test new designs). We also store any information you volunteer, like surveys, for as long as it makes sense.https://autostake.com/privacy-policy" - }, - { - "url": "https://evmos-pokt.nodies.app", - "tracking": "none", - "trackingDetails": "What We Do Not Collect: User's IP address, request origin, request data. https://www.blog.pokt.network/rpc-logging-practices/" - }, - { - "url": "https://evmos-mainnet.public.blastapi.io", - "tracking": "limited", - "trackingDetails": "All the information in our logs (log data) can only be accessed for the last 7 days at any certain time, and it is completely purged after 14 days. We do not store any user information for longer periods of time or with any other purposes than investigating potential errors and service failures. https://blastapi.io/privacy-policy" - }, - { - "url": "https://evmos-evm-rpc.publicnode.com", - "tracking": "none", - "trackingDetails": "We do not store or track any user data with the exception of data that will be public on chain. We do not correlate wallets address's with IP's, any data which is needed to transact is deleted after 24 hours. We also do no use any Analytics or 3rd party website tracking. https://www.publicnode.com/privacy" - }, - { - "url": "wss://evmos-evm-rpc.publicnode.com", - "tracking": "none", - "trackingDetails": "We do not store or track any user data with the exception of data that will be public on chain. We do not correlate wallets address's with IP's, any data which is needed to transact is deleted after 24 hours. We also do no use any Analytics or 3rd party website tracking. https://www.publicnode.com/privacy" - }, - { - "url": "https://jsonrpc-evmos.goldenratiostaking.net" - }, - { - "url": "https://evmos.api.onfinality.io/public", - "tracking": "limited", - "trackingDetails": "For the sole purpose of providing our service, we temporarily record IP addresses and origins to check against free limits, provide load balancing, prevent DOS attacks, and to determine where best to locate our nodes. We do not, and will never, correlate or link specific wallet addresses or transactions made over our infrastructure to the IP address or origin making the RPC request. After processing IP addresses, we discard the IP address value within 24 hours. Read more here: https://blog.onfinality.io/how-does-onfinality-deal-with-personal-information/" - }, - { - "url": "https://evmos-jsonrpc.cyphercore.io", - "tracking": "yes", - "trackingDetails": "We collect information about you in various ways when you use our website. This includes information you provide directly to us, information we collect automatically, and information we obtain from third-party sources.https://cyphercore.io/privacy-policy/" - }, - { - "url": "https://eth.bd.evmos.org:8545" - }, - { - "url": "https://evmos-json-rpc.stakely.io" - }, - { - "url": "https://jsonrpc-evmos-ia.cosmosia.notional.ventures" - }, - { - "url": "https://json-rpc.evmos.blockhunters.org" - }, - { - "url": "https://evmos-json-rpc.agoranodes.com" - }, - { - "url": "https://evmos-json.antrixy.org" - }, - { - "url": "https://jsonrpc.evmos.nodestake.top" - }, - { - "url": "https://evmos-jsonrpc.alkadeta.com" - }, - { - "url": "https://evmos-json.qubelabs.io" - }, - { - "url": "https://evmos-rpc.theamsolutions.info" - }, - { - "url": "https://evmos-api.theamsolutions.info" - }, - { - "url": "https://evmos-jsonrpc.theamsolutions.info" - }, - { - "url": "https://evm-rpc-evmos.hoodrun.io" - }, - { - "url": "https://evmos-json-rpc.0base.dev" - }, - { - "url": "https://json-rpc.evmos.tcnetwork.io" - }, - { - "url": "https://rpc-evm.evmos.dragonstake.io" - }, - { - "url": "https://evmosevm.rpc.stakin-nodes.com" - }, - { - "url": "https://evmos-jsonrpc.stake-town.com" - }, - { - "url": "https://json-rpc-evmos.mainnet.validatrium.club" - }, - { - "url": "https://rpc-evmos.imperator.co" - }, - { - "url": "https://evm-rpc.evmos.silentvalidator.com" - }, - { - "url": "https://alphab.ai/rpc/eth/evmos" - }, - { - "url": "https://evmos-jsonrpc.kalia.network" - }, - { - "url": "https://jsonrpc-evmos.mzonder.com" - }, - { - "url": "https://evmos.lava.build/lava-referer-16223de7-12c0-49f3-8d87-e5f1e6a0eb3b", - "tracking": "yes", - "trackingDetails": "We, our service providers, and our business partners may automatically log information about you, your computer or mobile device, and your interaction over time with the Service..., such as: Device data, ...your computer or mobile device's operating system type and version, manufacturer and model, browser type, screen resolution, RAM and disk size, CPU usage, device type (e.g., phone, tablet), IP address, unique identifiers (including identifiers used for advertising purposes), language settings, mobile device carrier, radio/network information (e.g., Wi-Fi, LTE, 3G), and general location information such as city, state or geographic area. https://www.lavanet.xyz/privacy-policy" - }, - { - "url": "wss://evmos.lava.build/websocket" - } - ], - "9007": [ - { - "url": "https://rpc-testnet-nodes.shidoscan.com" - }, - { - "url": "wss://wss-testnet-nodes.shidoscan.com" - } - ], - "9008": [ - { - "url": "https://rpc-nodes.shidoscan.com" - }, - { - "url": "wss://wss-nodes.shidoscan.com" - }, - { - "url": "https://rpc-delta-nodes.shidoscan.com" - }, - { - "url": "wss://wss-delta-nodes.shidoscan.com" - } - ], - "9012": [ - { - "url": "https://mainnet.berylbit.io" - } - ], - "9024": [ - { - "url": "https://rpc-testnet-nodes.nexablockscan.io" - } - ], - "9025": [ - { - "url": "https://rpc-nodes.nexablockscan.io" - }, - { - "url": "wss://wss-nodes.nexablockscan.io" - }, - { - "url": "https://rpc-nodes-delta.nexablockscan.io" - } - ], - "9069": [ - { - "url": "https://rpc.nexus.mainnet.apexfusion.org" - } - ], - "9070": [ - { - "url": "https://rpc.nexus.testnet.apexfusion.org" - } - ], - "9100": [ - { - "url": "rpcWorking:false" - }, - { - "url": "https://genesis-gn.com" - }, - { - "url": "wss://genesis-gn.com" - } - ], - "9223": [ - { - "url": "https://chain-rpc.codefin.pro" - } - ], - "9339": [ - { - "url": "https://testnet-rpc.dogcoin.me" - } - ], - "9372": [ - { - "url": "https://rpc.testnet.oasys.games" - } - ], - "9393": [ - { - "url": "https://sepolia-dela.deperp.com" - } - ], - "9395": [ - { - "url": "https://mainnet-rpc.evokescan.org" - } - ], - "9496": [ - { - "url": "https://testnet.wvm.dev" - }, - { - "url": "https://testnet-rpc.wvm.dev" - } - ], - "9527": [ - { - "url": "https://robin.rangersprotocol.com/api/jsonrpc" - } - ], - "9528": [ - { - "url": "https://qeasyweb3.com" - } - ], - "9559": [ - { - "url": "https://testnet.neonlink.io" - } - ], - "9700": [ - { - "url": "https://dev-rpc.oortech.com" - } - ], - "9728": [ - { - "url": "https://testnet.bnb.boba.network" - }, - { - "url": "wss://wss.testnet.bnb.boba.network" - }, - { - "url": "https://replica.testnet.bnb.boba.network" - }, - { - "url": "wss://replica-wss.testnet.bnb.boba.network" - }, - { - "url": "https://boba-bnb-testnet.gateway.tenderly.co" - }, - { - "url": "wss://boba-bnb-testnet.gateway.tenderly.co" - } - ], - "9768": [ - { - "url": "https://testnet-rpc.mainnetz.io" - } - ], - "9779": [ - { - "url": "https://rpc-mainnet.pepenetwork.io" - } - ], - "9789": [ - { - "url": "https://rpc.testnet.tabichain.com" - } - ], - "9790": [ - { - "url": "https://evm-api.carbon.network" - } - ], - "9792": [ - { - "url": "https://test-evm-api.carbon.network" - } - ], - "9797": [ - { - "url": "https://rpc.optimusz7.com" - } - ], - "9818": [ - { - "url": "https://data-aws-testnet.imperiumchain.com" - }, - { - "url": "https://data-aws2-testnet.imperiumchain.com" - } - ], - "9819": [ - { - "url": "https://data-aws-mainnet.imperiumchain.com" - }, - { - "url": "https://data-aws2-mainnet.imperiumchain.com" - } - ], - "9876": [ - { - "url": "https://rpctestnet.binarychain.org" - } - ], - "9888": [ - { - "url": "https://dl-rpc.dogelayer.org" - } - ], - "9898": [ - { - "url": "https://rpc.larissa.network" - } - ], - "9911": [ - { - "url": "https://rpc.escscan.com" - } - ], - "9977": [ - { - "url": "https://testnet-msc.mindchain.info" - }, - { - "url": "wss://testnet-msc.mindchain.info/ws" - } - ], - "9980": [ - { - "url": "https://rpc.combonetwork.io" - } - ], - "9981": [ - { - "url": "https://main-rpc.volleychain.com" - } - ], - "9990": [ - { - "url": "https://rpcpc1-qa.agung.peaq.network" - } - ], - "9996": [ - { - "url": "https://rpc-msc.mindchain.info" - }, - { - "url": "https://seednode.mindchain.info" - }, - { - "url": "https://archive.mindchain.info" - }, - { - "url": "https://mind-smart-chain.rpc.thirdweb.com" - }, - { - "url": "wss://archive.mindchain.info/ws" - }, - { - "url": "wss://seednode.mindchain.info/ws" - } - ], - "9997": [ - { - "url": "https://testnet-rollup-api.altlayer.io" - } - ], - "9998": [ - { - "url": "https://zitcoin.us" - } - ], - "9999": [ - { - "url": "https://geth.dev.bccloud.net" - } - ], - "10000": [ - { - "url": "https://smartbch.fountainhead.cash/mainnet" - }, - { - "url": "https://global.uat.cash" - }, - { - "url": "https://rpc.uatvo.com" - }, - { - "url": "https://smartbch.greyh.at" - }, - { - "url": "https://rpc-mainnet.smartbch.org" - }, - { - "url": "https://smartbch.devops.cash/mainnet" - } - ], - "10001": [ - { - "url": "https://rpc-testnet.smartbch.org" - }, - { - "url": "https://smartbch.devops.cash/testnet" - } - ], - "10024": [ - { - "url": "https://node1.testnet.gaiaopen.network" - }, - { - "url": "https://node1.mainnet.gon.network" - }, - { - "url": "https://node2.mainnet.gon.network" - }, - { - "url": "https://node3.mainnet.gon.network" - }, - { - "url": "https://node4.mainnet.gon.network" - } - ], - "10081": [ - { - "url": "https://rpc-1.testnet.japanopenchain.org:8545" - }, - { - "url": "https://rpc-2.testnet.japanopenchain.org:8545" - }, - { - "url": "https://rpc-3.testnet.japanopenchain.org" - } - ], - "10086": [ - { - "url": "http://geth.free.idcfengye.com" - } - ], - "10096": [ - { - "url": "https://web3.metanovaverse.com" - } - ], - "10101": [ - { - "url": "https://eu.mainnet.xixoio.com" - }, - { - "url": "https://us.mainnet.xixoio.com" - }, - { - "url": "https://asia.mainnet.xixoio.com" - } - ], - "10200": [ - { - "url": "https://rpc.chiadochain.net" - }, - { - "url": "https://rpc.chiado.gnosis.gateway.fm", - "tracking": "yes", - "trackingDetails": "When you use our services or visit our websites, we may log your device\u2019s IP address for debugging and security reasons. We may retain this information for up to twelve months" - }, - { - "url": " https://endpoints.omniatech.io/v1/gnosis/chiado/public", - "tracking": "none", - "trackingDetails": "All the data and metadata remain private to the users. No third party is able to access, analyze or track it. OMNIA leverages different technologies and approaches to guarantee the privacy of their users, from front-running protection and private mempools, to obfuscation and random dispatching. https://blog.omniatech.io/how-omnia-handles-your-personal-data" - }, - { - "url": "https://gnosis-chiado-rpc.publicnode.com", - "tracking": "none", - "trackingDetails": "We do not store or track any user data with the exception of data that will be public on chain. We do not correlate wallets address's with IP's, any data which is needed to transact is deleted after 24 hours. We also do no use any Analytics or 3rd party website tracking. https://www.publicnode.com/privacy" - }, - { - "url": "wss://gnosis-chiado-rpc.publicnode.com", - "tracking": "none", - "trackingDetails": "We do not store or track any user data with the exception of data that will be public on chain. We do not correlate wallets address's with IP's, any data which is needed to transact is deleted after 24 hours. We also do no use any Analytics or 3rd party website tracking. https://www.publicnode.com/privacy" - }, - { - "url": "https://1rpc.io/gnosis", - "tracking": "none", - "trackingDetails": "With the exception of data that will be public on chain, all the other metadata / data should remain private to users and other parties should not be able to access or collect it. 1RPC uses many different techniques to prevent the unnecessary collection of user privacy, which prevents tracking from RPC providers. https://docs.1rpc.io/technology/zero-tracking" - }, - { - "url": "wss://rpc.chiadochain.net/wss" - }, - { - "url": "https://gnosis-chiado.drpc.org" - }, - { - "url": "wss://gnosis-chiado.drpc.org" - } - ], - "10201": [ - { - "url": "https://rpc.maxxchain.org" - }, - { - "url": "https://rpc1.maxxchain.org" - }, - { - "url": "https://rpc2.maxxchain.org" - } - ], - "10222": [ - { - "url": "https://glc-dataseed.glscan.io" - } - ], - "10242": [ - { - "url": "https://rpc.arthera.net" - } - ], - "10243": [ - { - "url": "https://rpc-test.arthera.net" - } - ], - "10248": [ - { - "url": "https://node.0xtchain.com" - } - ], - "10321": [ - { - "url": "https://rpc.taoevm.io" - } - ], - "10324": [ - { - "url": "https://testnet-rpc.taoevm.io" - } - ], - "10395": [ - { - "url": "https://gwangju.worldland.foundation" - } - ], - "10507": [ - { - "url": "https://mainnetrpc.num.network" - } - ], - "10508": [ - { - "url": "https://testnetrpc.num.network" - } - ], - "10823": [ - { - "url": "http://node106.cryptocoinpay.info:8545" - }, - { - "url": "ws://node106.cryptocoinpay.info:8546" - } - ], - "10849": [ - { - "url": "https://subnets.avax.network/lamina1/mainnet/rpc" - } - ], - "10850": [ - { - "url": "https://subnets.avax.network/lamina1id/mainnet/rpc" - } - ], - "10946": [ - { - "url": "https://rpc.quadrans.io" - }, - { - "url": "https://rpcna.quadrans.io" - }, - { - "url": "https://rpceu.quadrans.io" - } - ], - "10947": [ - { - "url": "https://rpctest.quadrans.io" - }, - { - "url": "https://rpctest2.quadrans.io" - } - ], - "11011": [ - { - "url": "https://sepolia.shape.network" - } - ], - "11110": [ - { - "url": "https://rpc.astranaut.io" - }, - { - "url": "https://rpc1.astranaut.io" - } - ], - "11111": [ - { - "url": "https://api.trywagmi.xyz/rpc" - }, - { - "url": "https://subnets.avax.network/wagmi/wagmi-chain-testnet/rpc" - } - ], - "11115": [ - { - "url": "https://rpc.astranaut.dev" - } - ], - "11119": [ - { - "url": "https://mainnet-rpc.hashbit.org" - }, - { - "url": "https://rpc.hashbit.org" - } - ], - "11124": [ - { - "url": "https://api.testnet.abs.xyz" - } - ], - "11221": [ - { - "url": "https://rpc.shinescan.io" - } - ], - "11227": [ - { - "url": "https://subnets.avax.network/jiritsutes/testnet/rpc" - } - ], - "11235": [ - { - "url": "https://haqq-evm-rpc.publicnode.com", - "tracking": "none", - "trackingDetails": "We do not store or track any user data with the exception of data that will be public on chain. We do not correlate wallets address's with IP's, any data which is needed to transact is deleted after 24 hours. We also do no use any Analytics or 3rd party website tracking. https://www.publicnode.com/privacy" - }, - { - "url": "wss://haqq-evm-rpc.publicnode.com", - "tracking": "none", - "trackingDetails": "We do not store or track any user data with the exception of data that will be public on chain. We do not correlate wallets address's with IP's, any data which is needed to transact is deleted after 24 hours. We also do no use any Analytics or 3rd party website tracking. https://www.publicnode.com/privacy" - }, - { - "url": "https://rpc.eth.haqq.network" - }, - { - "url": "https://haqq.drpc.org" - }, - { - "url": "wss://haqq.drpc.org" - } - ], - "11501": [ - { - "url": "https://rpc-mainnet-1.bevm.io" - }, - { - "url": "https://rpc-mainnet-2.bevm.io" - } - ], - "11503": [ - { - "url": "https://testnet.bevm.io" - } - ], - "11521": [ - { - "url": "https://rpc-satschain-1.bevm.io" - } - ], - "11612": [ - { - "url": "https://testnet-rpc.sardisnetwork.com" - } - ], - "11822": [ - { - "url": "https://betanet-rpc1.artela.network" - } - ], - "11891": [ - { - "url": "https://rpc.polygonsupernet.public.arianee.net" - } - ], - "12001": [ - { - "url": "https://rpc.flash.fuse.io" - } - ], - "12009": [ - { - "url": "https://mainnet-rpc.satoshichain.io" - } - ], - "12020": [ - { - "url": "https://rpc.aternoschain.com" - } - ], - "12051": [ - { - "url": "https://betaenv.singularity.gold:18545" - } - ], - "12052": [ - { - "url": "https://zerorpc.singularity.gold" - } - ], - "12123": [ - { - "url": "https://rpc.brcchain.io" - } - ], - "12306": [ - { - "url": "https://node1.fibo-api.asia" - }, - { - "url": "https://node2.fibo-api.asia" - }, - { - "url": "https://node3.fibo-api.asia" - }, - { - "url": "https://node4.fibo-api.asia" - }, - { - "url": "https://node5.fibo-api.asia" - }, - { - "url": "https://node6.fibo-api.asia" - }, - { - "url": "https://node7.fibo-api.asia" - }, - { - "url": "https://node1.fibo-rpc.asia" - }, - { - "url": "https://node2.fibo-rpc.asia" - }, - { - "url": "https://node3.fibo-rpc.asia" - }, - { - "url": "https://node4.fibo-rpc.asia" - }, - { - "url": "https://node5.fibo-rpc.asia" - }, - { - "url": "https://node6.fibo-rpc.asia" - }, - { - "url": "https://node7.fibo-rpc.asia" - } - ], - "12321": [ - { - "url": "https://rpc.blgchain.com" - } - ], - "12324": [ - { - "url": "https://rpc-mainnet.l3x.com" - } - ], - "12325": [ - { - "url": "https://rpc-testnet.l3x.com" - } - ], - "12345": [ - { - "url": "https://rpc.testnet.step.network" - } - ], - "12553": [ - { - "url": "https://rpc.rss3.io" - } - ], - "12715": [ - { - "url": "https://testnet-rpc.rikscan.com" - } - ], - "12781": [ - { - "url": "https://subnets.avax.network/playdappte/testnet/rpc" - } - ], - "12890": [ - { - "url": "https://testnet-rpc.quantumscan.org" - } - ], - "12898": [ - { - "url": "https://rpc.letsplayfair.ai/ext/bc/2hhXFNp1jR4RuqvCmWQnBtt9CZnCmmyGr7TNTkxt7XY7pAzHMY/rpc" - } - ], - "13000": [ - { - "url": "https://rpc.ssquad.games" - } - ], - "13308": [ - { - "url": "https://rpc.creditsmartchain.com" - } - ], - "13337": [ - { - "url": "https://build.onbeam.com/rpc/testnet" - }, - { - "url": "wss://build.onbeam.com/ws/testnet" - }, - { - "url": "https://subnets.avax.network/beam/testnet/rpc" - }, - { - "url": "wss://subnets.avax.network/beam/testnet/ws" - } - ], - "13371": [ - { - "url": "https://rpc.immutable.com" - }, - { - "url": "https://immutable-zkevm.drpc.org" - }, - { - "url": "wss://immutable-zkevm.drpc.org" - } - ], - "13381": [ - { - "url": "https://rpc.phoenixplorer.com" - } - ], - "13396": [ - { - "url": "https://subnets.avax.network/masanetwork/mainnet/rpc" - } - ], - "13473": [ - { - "url": "https://rpc.testnet.immutable.com" - }, - { - "url": "https://immutable-zkevm-testnet.drpc.org" - }, - { - "url": "wss://immutable-zkevm-testnet.drpc.org" - } - ], - "13505": [ - { - "url": "https://rpc-sepolia.gravity.xyz" - } - ], - "13600": [ - { - "url": "https://mainnet-rpc.qbitscan.com" - } - ], - "13812": [ - { - "url": "https://gateway.opn.network/node/ext/bc/2VsZe5DstWw2bfgdx3YbjKcMsJnNDjni95sZorBEdk9L9Qr9Fr/rpc" - } - ], - "14000": [ - { - "url": "https://www.3sps.net" - } - ], - "14324": [ - { - "url": "https://testnet-rpc.evolveblockchain.io" - } - ], - "14333": [ - { - "url": "https://test-rpc.vitruveo.xyz" - } - ], - "14801": [ - { - "url": "http://rpc.satori.vana.org" - } - ], - "14853": [ - { - "url": "https://explorer-rpc-http.testnet5.stages.humanode.io" - } - ], - "15003": [ - { - "url": "https://rpc.dev.immutable.com" - } - ], - "15257": [ - { - "url": "https://testnet-rpc.poodl.org" - } - ], - "15259": [ - { - "url": "https://rpc.poodl.org" - } - ], - "15430": [ - { - "url": "https://mainnet-rpc.kymaticscan.online" - } - ], - "15551": [ - { - "url": "https://api.mainnetloop.com", - "tracking": "limited", - "trackingDetails": "Loop Network follows a standard procedure of using log files. These files log visitors when they visit websites. All hosting companies do this and a part of hosting services' analytics. The information collected by log files include internet protocol (IP) addresses, browser type, Internet Service Provider (ISP), date and time stamp, referring/exit pages, and possibly the number of clicks. https://www.getloop.network/privacypolicy" - } - ], - "15555": [ - { - "url": "https://api.testnet-dev.trust.one" - } - ], - "15557": [ - { - "url": "https://api.testnet.evm.eosnetwork.com", - "tracking": "yes", - "trackingDetails": "We collect information about your device and internet connection, including the device\u2019s unique device identifier, IP address, operating system, and browser type, mobile network information" - } - ], - "16000": [ - { - "url": "https://mainnet.metadot.network" - } - ], - "16001": [ - { - "url": "https://testnet.metadot.network" - } - ], - "16116": [ - { - "url": "https://rpc.defi-verse.org" - } - ], - "16166": [ - { - "url": "https://pubnodes.cypherium.io/rpc" - } - ], - "16180": [ - { - "url": "https://subnets.avax.network/plyr/mainnet/rpc" - } - ], - "16350": [ - { - "url": "https://rpc.ankr.com/incentiv_devnet" - } - ], - "16481": [ - { - "url": "https://sepolia.pivotalprotocol.com" - } - ], - "16507": [ - { - "url": "https://rpc.genesys.network" - } - ], - "16600": [ - { - "url": "https://rpc-testnet.0g.ai" - } - ], - "16688": [ - { - "url": "https://evmrpc.nyancat.irisnet.org" - } - ], - "16718": [ - { - "url": "https://network.ambrosus.io" - } - ], - "16888": [ - { - "url": "https://testnet-rpc.ivarex.com" - } - ], - "17000": [ - { - "url": "https://ethereum-holesky-rpc.publicnode.com", - "tracking": "none", - "trackingDetails": "We do not store or track any user data with the exception of data that will be public on chain. We do not correlate wallets address's with IP's, any data which is needed to transact is deleted after 24 hours. We also do no use any Analytics or 3rd party website tracking. https://www.publicnode.com/privacy" - }, - { - "url": "wss://etherem-holesky-rpc.publicnode.com", - "tracking": "none", - "trackingDetails": "We do not store or track any user data with the exception of data that will be public on chain. We do not correlate wallets address's with IP's, any data which is needed to transact is deleted after 24 hours. We also do no use any Analytics or 3rd party website tracking. https://www.publicnode.com/privacy" - }, - { - "url": "https://1rpc.io/holesky", - "tracking": "none", - "trackingDetails": "With the exception of data that will be public on chain, all the other metadata / data should remain private to users and other parties should not be able to access or collect it. 1RPC uses many different techniques to prevent the unnecessary collection of user privacy, which prevents tracking from RPC providers. https://docs.1rpc.io/technology/zero-tracking" - }, - { - "url": "https://ethereum-holesky.blockpi.network/v1/rpc/public", - "tracking": "limited", - "trackingDetails": "We do not collect request data or request origin. We only temporarily record the request method names and IP addresses for 7 days to ensure our service functionality such as load balancing and DDoS protection. All the data is automatically deleted after 7 days and we do not store any user information for longer periods of time. https://blockpi.io/privacy-policy" - }, - { - "url": "https://holesky-rpc.nocturnode.tech", - "tracking": "none", - "trackingDetails": "As a fundamental practice, we do not collect, store, or process any personal information from our users. This non-collection policy ensures absolute data security and privacy for our users.https://nocturnode.tech/privacy" - }, - { - "url": "https://rpc.holesky.ethpandaops.io" - }, - { - "url": "wss://ethereum-holesky-rpc.publicnode.com" - }, - { - "url": "https://holesky.drpc.org" - }, - { - "url": "wss://holesky.drpc.org" - }, - { - "url": "https://rpc-holesky.rockx.com" - } - ], - "17069": [ - { - "url": "https://rpc.garnetchain.com" - }, - { - "url": "wss://rpc.garnetchain.com" - } - ], - "17071": [ - { - "url": "https://rpc.onchainpoints.xyz" - }, - { - "url": "https://rpc-onchain-points-8n0qkkpr2j.t.conduit.xyz/{CONDUIT_API_KEY}" - } - ], - "17117": [ - { - "url": "https://rpc-testnet.defi-verse.org" - } - ], - "17171": [ - { - "url": "https://mainnet-rpc.oneg8.network" - } - ], - "17172": [ - { - "url": "https://subnets.avax.network/eclipse/testnet/rpc" - } - ], - "17180": [ - { - "url": "https://palette-opennet.com:22000" - } - ], - "17217": [ - { - "url": "https://api.kon-wallet.com" - } - ], - "17777": [ - { - "url": "https://api.evm.eosnetwork.com", - "tracking": "yes", - "trackingDetails": "We collect information about your device and internet connection, including the device\u2019s unique device identifier, IP address, operating system, and browser type, mobile network information" - } - ], - "18000": [ - { - "url": "https://rpc.fod.games" - } - ], - "18122": [ - { - "url": "https://beefledgerwallet.com:8544" - } - ], - "18159": [ - { - "url": "https://mainnet-rpc.memescan.io" - }, - { - "url": "https://mainnet-rpc2.memescan.io" - }, - { - "url": "https://mainnet-rpc3.memescan.io" - }, - { - "url": "https://mainnet-rpc4.memescan.io" - } - ], - "18181": [ - { - "url": "https://testnet-rpc.oneg8.network" - } - ], - "18233": [ - { - "url": "https://rpc.unreal-orbit.gelato.digital" - }, - { - "url": "wss://ws.unreal-orbit.gelato.digital" - } - ], - "18686": [ - { - "url": "https://rpc.mxc.com" - } - ], - "18888": [ - { - "url": "https://titan-json-rpc.titanlab.io" - }, - { - "url": "https://titan-json-rpc-tokyo.titanlab.io" - }, - { - "url": "https://titan-json-rpc-seoul.titanlab.io" - }, - { - "url": "https://titan-json-rpc-hongkong.titanlab.io" - } - ], - "18889": [ - { - "url": "https://titan-testnet-json-rpc.titanlab.io" - }, - { - "url": "https://titan-testnet-json-rpc-1.titanlab.io" - }, - { - "url": "https://titan-testnet-json-rpc-2.titanlab.io" - } - ], - "19011": [ - { - "url": "https://rpc.mainnet.oasys.homeverse.games" - } - ], - "19077": [ - { - "url": "https://atlantis-web3.blockxnet.com" - } - ], - "19191": [ - { - "url": "https://web3.blockxnet.com" - } - ], - "19224": [ - { - "url": "https://rpc.decentraconnect.io" - } - ], - "19527": [ - { - "url": "https://magnet-rpc.magport.io" - } - ], - "19600": [ - { - "url": "https://lbry.nl/rpc" - } - ], - "19845": [ - { - "url": "https://seed.btcix.org/rpc" - } - ], - "20001": [ - { - "url": "https://mainnet-http-rpc.camelark.com" - } - ], - "20041": [ - { - "url": "https://nizascan.io/rpc" - } - ], - "20073": [ - { - "url": "https://testnet.nizascan.io/rpc" - } - ], - "20729": [ - { - "url": "https://testnet-rpc.callisto.network" - } - ], - "20736": [ - { - "url": "https://rpc-chain.p12.games" - } - ], - "20765": [ - { - "url": "https://subnets.avax.network/jono11/testnet/rpc" - } - ], - "21004": [ - { - "url": "https://rpc.c4ei.net" - } - ], - "21133": [ - { - "url": "https://rpc.c4ex.net" - } - ], - "21223": [ - { - "url": "https://rpc.dcpay.io" - } - ], - "21224": [ - { - "url": "https://testnet-rpc.dcpay.io" - } - ], - "21337": [ - { - "url": "https://cennznet.unfrastructure.io/public" - } - ], - "21363": [ - { - "url": "https://service.lestnet.org" - } - ], - "21816": [ - { - "url": "https://seed.omlira.com" - }, - { - "url": "https://seed.omchain.io" - } - ], - "21912": [ - { - "url": "http://rpc-mainnet.nftruth.io:8545" - }, - { - "url": "ws://rpc-mainnet.nftruth.io:8645" - } - ], - "22023": [ - { - "url": "https://taycan-rpc.hupayx.io:8545" - } - ], - "22040": [ - { - "url": "https://network.ambrosus-test.io" - } - ], - "22222": [ - { - "url": "https://api.nautilus.nautchain.xyz" - } - ], - "22324": [ - { - "url": "https://testnet-rpc.goldxchain.io" - } - ], - "22776": [ - { - "url": "https://rpc.maplabs.io" - } - ], - "23006": [ - { - "url": "https://testnet-rpc.antofy.io" - } - ], - "23118": [ - { - "url": "https://testrpc.opside.network" - } - ], - "23294": [ - { - "url": "https://1rpc.io/oasis/sapphire", - "tracking": "none", - "trackingDetails": "With the exception of data that will be public on chain, all the other metadata / data should remain private to users and other parties should not be able to access or collect it. 1RPC uses many different techniques to prevent the unnecessary collection of user privacy, which prevents tracking from RPC providers. https://docs.1rpc.io/technology/zero-tracking" - }, - { - "url": "https://sapphire.oasis.io" - }, - { - "url": "wss://sapphire.oasis.io/ws" - } - ], - "23295": [ - { - "url": "https://testnet.sapphire.oasis.io" - }, - { - "url": "wss://testnet.sapphire.oasis.io/ws" - } - ], - "23451": [ - { - "url": "https://rpc.dreyerx.com" - } - ], - "23452": [ - { - "url": "https://testnet-rpc.dreyerx.com" - } - ], - "23888": [ - { - "url": "http://testnet-rpc.blastblockchain.com" - } - ], - "24076": [ - { - "url": "https://testnet-rpc.kymaticscan.online" - } - ], - "24734": [ - { - "url": "https://node1.mintme.com" - } - ], - "25186": [ - { - "url": "https://mainnet.liquidlayer.network" - } - ], - "25839": [ - { - "url": "https://testnet-rpc.alvey.io" - } - ], - "25888": [ - { - "url": "https://www.hammerchain.io/rpc" - } - ], - "25925": [ - { - "url": "https://rpc-testnet.bitkubchain.io" - }, - { - "url": "wss://wss-testnet.bitkubchain.io" - } - ], - "26026": [ - { - "url": "http://testnet.dev.svcs.ferrumnetwork.io:9933" - } - ], - "26482": [ - { - "url": "https://ducx-testnet-node1.rocknblock.io" - }, - { - "url": "https://ducx-testnet-node2.rocknblock.io" - } - ], - "26483": [ - { - "url": "https://ducx-mainnet-node1.rocknblock.io" - }, - { - "url": "https://ducx-mainnet-node2.rocknblock.io" - }, - { - "url": "https://ducx-mainnet-node3.rocknblock.io" - } - ], - "26600": [ - { - "url": "https://mainnet-rpc.hertzscan.com" - } - ], - "26863": [ - { - "url": "https://rpc1.oasischain.io" - }, - { - "url": "https://rpc2.oasischain.io" - }, - { - "url": "https://rpc3.oasischain.io" - } - ], - "27181": [ - { - "url": "https://rpc.klaosnova.laosfoundation.io" - }, - { - "url": "wss://rpc.klaosnova.laosfoundation.io" - } - ], - "27483": [ - { - "url": "https://sepolia-rpc.nanon.network" - } - ], - "27827": [ - { - "url": "https://subnets.avax.network/zeroonemai/mainnet/rpc" - } - ], - "28516": [ - { - "url": "https://rpc-sepolia.vizing.com" - } - ], - "28518": [ - { - "url": "https://rpc.vizing.com" - } - ], - "28528": [ - { - "url": "https://alpha-1-replica-0.bedrock-goerli.optimism.io" - }, - { - "url": "https://alpha-1-replica-1.bedrock-goerli.optimism.io" - }, - { - "url": "https://alpha-1-replica-2.bedrock-goerli.optimism.io" - }, - { - "url": "https://alpha-1-replica-2.bedrock-goerli.optimism.io" - } - ], - "28882": [ - { - "url": "https://sepolia.boba.network" - }, - { - "url": "https://boba-sepolia.gateway.tenderly.co" - }, - { - "url": "https://gateway.tenderly.co/public/boba-sepolia" - }, - { - "url": "wss://boba-sepolia.gateway.tenderly.co" - }, - { - "url": "wss://gateway.tenderly.co/public/boba-sepolia" - } - ], - "29112": [ - { - "url": "https://testnet-rpc.hychain.com/http" - } - ], - "29223": [ - { - "url": "https://nexa.sh/metanet" - } - ], - "29536": [ - { - "url": "https://testnet-rpc.kaichain.net" - } - ], - "29548": [ - { - "url": "https://rpc.oasys.mycryptoheroes.net" - } - ], - "30067": [ - { - "url": "https://testnet-rpc0.piecenetwork.com" - } - ], - "30088": [ - { - "url": "https://blockchain.miyou.io" - }, - { - "url": "https://blockchain.miyoulab.com" - } - ], - "30103": [ - { - "url": "https://cerium-rpc.canxium.net" - } - ], - "30732": [ - { - "url": "https://mevm.testnet.imola.movementlabs.xyz" - } - ], - "31102": [ - { - "url": "rpcWorking:false" - }, - { - "url": "https://api.esn.gonspool.com" - } - ], - "31223": [ - { - "url": "https://mainnet-rpc.cloudtx.finance" - } - ], - "31224": [ - { - "url": "https://testnet-rpc.cloudtx.finance" - } - ], - "31337": [ - { - "url": "https://testnet-rpc.gochain.io" - } - ], - "31414": [ - { - "url": "https://testnet-rpc.evokescan.org" - } - ], - "31753": [ - { - "url": "https://rpc.xchainscan.com" - } - ], - "31754": [ - { - "url": "https://rpc.xchaintest.net" - } - ], - "32001": [ - { - "url": "https://rpc-holesky.w3gamez.network" - } - ], - "32382": [ - { - "url": "https://node.sanr.app" - } - ], - "32520": [ - { - "url": "https://rpc.icecreamswap.com" - }, - { - "url": "https://nodes.vefinetwork.org/bitgert" - }, - { - "url": "https://flux-rpc.brisescan.com" - }, - { - "url": "https://flux-rpc1.brisescan.com" - }, - { - "url": "https://flux-rpc2.brisescan.com" - }, - { - "url": "https://rpc-1.chainrpc.com" - }, - { - "url": "https://rpc-2.chainrpc.com" - }, - { - "url": "https://node1.serverrpc.com" - }, - { - "url": "https://node2.serverrpc.com" - }, - { - "url": "https://mainnet-rpc.brisescan.com" - }, - { - "url": "https://chainrpc.com" - }, - { - "url": "https://serverrpc.com" - } - ], - "32659": [ - { - "url": "https://mainnet.fusionnetwork.io" - }, - { - "url": "wss://mainnet.fusionnetwork.io" - } - ], - "32769": [ - { - "url": "https://api.zilliqa.com" - } - ], - "32990": [ - { - "url": "https://zilliqa-isolated-server.zilliqa.com" - } - ], - "33033": [ - { - "url": "https://json-rpc.entangle.fi" - } - ], - "33101": [ - { - "url": "https://dev-api.zilliqa.com" - } - ], - "33103": [ - { - "url": "https://api.zq2-prototestnet.zilliqa.com" - } - ], - "33111": [ - { - "url": "https://rpc.curtis.apechain.com" - } - ], - "33133": [ - { - "url": "https://evm-testnet.entangle.fi" - } - ], - "33210": [ - { - "url": "https://subnets.avax.network/cloudverse/mainnet/rpc" - } - ], - "33333": [ - { - "url": "https://rpc.avescoin.io" - } - ], - "33385": [ - { - "url": "https://api.devnet.zilliqa.com" - } - ], - "33401": [ - { - "url": "https://rpc.slingshotdao.com" - } - ], - "33469": [ - { - "url": "https://api.zq2-devnet.zilliqa.com" - } - ], - "33979": [ - { - "url": "https://rpc-mainnet.funkichain.com" - }, - { - "url": "wss://rpc-mainnet.funkichain.com" - } - ], - "34443": [ - { - "url": "https://1rpc.io/mode", - "tracking": "none", - "trackingDetails": "With the exception of data that will be public on chain, all the other metadata / data should remain private to users and other parties should not be able to access or collect it. 1RPC uses many different techniques to prevent the unnecessary collection of user privacy, which prevents tracking from RPC providers. https://docs.1rpc.io/technology/zero-tracking" - }, - { - "url": "https://mainnet.mode.network" - }, - { - "url": "https://mode.drpc.org" - }, - { - "url": "wss://mode.drpc.org" - } - ], - "34504": [ - { - "url": "https://mainnet-rpc.zeuschainscan.io" - } - ], - "35011": [ - { - "url": "https://rpc.j2o.io", - "tracking": "limited", - "trackingDetails": "We do not collect request data or request origin. We only temporarily record the request method names and IP addresses for 7 days to ensure our service functionality such as load balancing and DDoS protection. All the data is automatically deleted after 7 days and we do not store any user information for longer periods of time. https://blockpi.io/privacy-policy" - } - ], - "35441": [ - { - "url": "https://rpc.q.org", - "tracking": "limited", - "trackingDetails": "Our system records data and information about the computer used by the user automatically and with every visit on our website. The following data are collected: Information regarding the type and version of internet browser used to access the website, Operating system, IP address, Date and time of each access, Web page from which the user was redirected to our page, Web pages and resources that were visited, The data mentioned above are saved for a maximum time period of 30 days.https://q.org/privacy-policy" - } - ], - "35443": [ - { - "url": "https://rpc.qtestnet.org" - } - ], - "38400": [ - { - "url": "https://cm.rangersprotocol.com/api/jsonrpc" - } - ], - "38401": [ - { - "url": "https://robin-cm.rangersprotocol.com/api/jsonrpc" - } - ], - "39656": [ - { - "url": "https://mainnet-rpc.prmscan.org" - } - ], - "39797": [ - { - "url": "https://nodeapi.energi.network" - }, - { - "url": "https://explorer.energi.network/api/eth-rpc" - } - ], - "39815": [ - { - "url": "https://mainnet.oho.ai" - }, - { - "url": "https://mainnet-rpc.ohoscan.com" - }, - { - "url": "https://mainnet-rpc2.ohoscan.com" - } - ], - "41455": [ - { - "url": "https://rpc.alephzero.raas.gelato.cloud" - }, - { - "url": "wss://ws.alephzero.raas.gelato.cloud" - } - ], - "41500": [ - { - "url": "https://connect.opulent-x.com" - } - ], - "42069": [ - { - "url": "rpcWorking:false" - } - ], - "42072": [ - { - "url": "https://testnet-rpc.agentlayer.xyz" - } - ], - "42161": [ - { - "url": "https://arbitrum.llamarpc.com", - "tracking": "none", - "trackingDetails": "LlamaNodes is open-source and does not track or store user information that transits through our RPCs (location, IP, wallet, etc). To learn more, have a look at the public Privacy Policy in our docs: https://llamanodes.notion.site/Privacy-Practices-f20fd8fdd02a469d9d4f42a5989bb936", - "isOpenSource": true - }, - { - "url": "https://arb1.arbitrum.io/rpc" - }, - { - "url": "https://rpc.ankr.com/arbitrum", - "tracking": "limited", - "trackingDetails": "For service delivery purposes, we temporarily record IP addresses to set usage limits and monitor for denial of service attacks against our infrastructure. Though we do look at high-level data around the success rate of transactions made over the blockchain RPC, we do not correlate wallet transactions made over the infrastructure to the IP address making the RPC request. Thus, we do not store, exploit, or share any information regarding Personal Identifiable Information (PII), including wallet addresses. https://www.ankr.com/blog/ankrs-ip-address-policy-and-your-privacy/" - }, - { - "url": "https://1rpc.io/arb", - "tracking": "none", - "trackingDetails": "With the exception of data that will be public on chain, all the other metadata / data should remain private to users and other parties should not be able to access or collect it. 1RPC uses many different techniques to prevent the unnecessary collection of user privacy, which prevents tracking from RPC providers. https://docs.1rpc.io/technology/zero-tracking" - }, - { - "url": "https://arb-pokt.nodies.app", - "tracking": "none", - "trackingDetails": "What We Do Not Collect: User's IP address, request origin, request data. https://www.blog.pokt.network/rpc-logging-practices/" - }, - { - "url": "https://arb-mainnet.g.alchemy.com/v2/demo", - "tracking": "yes", - "trackingDetails": "We may collect certain information automatically when you use our Services, such as your Internet protocol (IP) address, user settings, MAC address, cookie identifiers, mobile carrier, mobile advertising and other unique identifiers, browser or device information, location information (including approximate location derived from IP address), and Internet service provider. https://www.alchemy.com/policies/privacy-policy" - }, - { - "url": "https://arbitrum.blockpi.network/v1/rpc/public", - "tracking": "limited", - "trackingDetails": "We do not collect request data or request origin. We only temporarily record the request method names and IP addresses for 7 days to ensure our service functionality such as load balancing and DDoS protection. All the data is automatically deleted after 7 days and we do not store any user information for longer periods of time. https://blockpi.io/privacy-policy" - }, - { - "url": "https://arbitrum-one.public.blastapi.io", - "tracking": "limited", - "trackingDetails": "All the information in our logs (log data) can only be accessed for the last 7 days at any certain time, and it is completely purged after 14 days. We do not store any user information for longer periods of time or with any other purposes than investigating potential errors and service failures. https://blastapi.io/privacy-policy" - }, - { - "url": "https://endpoints.omniatech.io/v1/arbitrum/one/public", - "tracking": "none", - "trackingDetails": "All the data and metadata remain private to the users. No third party is able to access, analyze or track it. OMNIA leverages different technologies and approaches to guarantee the privacy of their users, from front-running protection and private mempools, to obfuscation and random dispatching. https://blog.omniatech.io/how-omnia-handles-your-personal-data" - }, - { - "url": "https://arb-mainnet-public.unifra.io", - "tracking": "limited", - "trackingDetails": "Regarding the RPC(remote procedure call) data, we do not collect request data or request origin. We temporarily record the request method names and IP addresses for 7 days to ensure our service functionality such as load balancing and DDoS protection. All the data is automatically deleted after 7 days. Only the amounts of RPC requests of users are recorded for accounting and billing purposes within longer time. https://unifra.io/" - }, - { - "url": "https://rpc.arb1.arbitrum.gateway.fm", - "tracking": "yes", - "trackingDetails": "When you use our services or visit our websites, we may log your device\u2019s IP address for debugging and security reasons. We may retain this information for up to twelve months" - }, - { - "url": "https://arbitrum-one-rpc.publicnode.com", - "tracking": "none", - "trackingDetails": "We do not store or track any user data with the exception of data that will be public on chain. We do not correlate wallets address's with IP's, any data which is needed to transact is deleted after 24 hours. We also do no use any Analytics or 3rd party website tracking. https://www.publicnode.com/privacy" - }, - { - "url": "wss://arbitrum-one-rpc.publicnode.com", - "tracking": "none", - "trackingDetails": "We do not store or track any user data with the exception of data that will be public on chain. We do not correlate wallets address's with IP's, any data which is needed to transact is deleted after 24 hours. We also do no use any Analytics or 3rd party website tracking. https://www.publicnode.com/privacy" - }, - { - "url": "https://arbitrum.meowrpc.com", - "tracking": "none", - "trackingDetails": "With the exclusion of data that will be openly visible and available on the blockchain, MEOWRPC does not track or store any kind of user information (such as location, IP address, etc.) that passes through our RPC. For further details regarding our privacy practices, we encourage you to refer to our Privacy Policy. https://privacy.meowrpc.com" - }, - { - "url": "https://api.zan.top/node/v1/arb/one/public", - "tracking": "limited", - "trackingDetails": "ZAN Node Service generally does not store any kind of user information (e.g. IP address, location, requst location, request data, etc.) that transits through our RPCs except for one senario \u2014\u2014we may track your IP address when you are using our RPCs and will delete it immediately when you stoping using our RPCs. To learn more, please review our privacy policy at https://a.zan.top/static/Privacy-Policy.pdf" - }, - { - "url": "https://arbitrum.drpc.org", - "tracking": "none", - "trackingDetails": "Specific types of technical data that we may temporarily log include:IP address (only in logs for redirecting requests to the nearest RPC nodes and rate limiting at the free level, which are cleared weekly). The user ID is hidden in the temporary logs, so it is not possible to link them to a specific user.https://drpc.org/privacy-policy" - }, - { - "url": "https://rpc.tornadoeth.cash/arbitrum", - "tracking": "none", - "trackingDetails": "TornadoRPC prioritizes user privacy and data security. We do not track or store any user information that passes through our RPC, except for data that is clearly visible on the blockchain. For detailed information about our privacy practices, see our Privacy Policy: https://rpc.tornadoeth.cash/privacy" - }, - { - "url": "https://arb-mainnet.g.alchemy.com/v2/${ALCHEMY_API_KEY}" - }, - { - "url": "https://arbitrum-one.publicnode.com" - }, - { - "url": "wss://arbitrum-one.publicnode.com" - } - ], - "42170": [ - { - "url": "https://nova.arbitrum.io/rpc" - }, - { - "url": "https://arbitrum-nova.public.blastapi.io", - "tracking": "limited", - "trackingDetails": "All the information in our logs (log data) can only be accessed for the last 7 days at any certain time, and it is completely purged after 14 days. We do not store any user information for longer periods of time or with any other purposes than investigating potential errors and service failures. https://blastapi.io/privacy-policy" - }, - { - "url": "https://arbitrum-nova.blockpi.network/v1/rpc/public", - "tracking": "limited", - "trackingDetails": "We do not collect request data or request origin. We only temporarily record the request method names and IP addresses for 7 days to ensure our service functionality such as load balancing and DDoS protection. All the data is automatically deleted after 7 days and we do not store any user information for longer periods of time. https://blockpi.io/privacy-policy" - }, - { - "url": "https://arbitrum-nova-rpc.publicnode.com", - "tracking": "none", - "trackingDetails": "We do not store or track any user data with the exception of data that will be public on chain. We do not correlate wallets address's with IP's, any data which is needed to transact is deleted after 24 hours. We also do no use any Analytics or 3rd party website tracking. https://www.publicnode.com/privacy" - }, - { - "url": "wss://arbitrum-nova-rpc.publicnode.com", - "tracking": "none", - "trackingDetails": "We do not store or track any user data with the exception of data that will be public on chain. We do not correlate wallets address's with IP's, any data which is needed to transact is deleted after 24 hours. We also do no use any Analytics or 3rd party website tracking. https://www.publicnode.com/privacy" - }, - { - "url": "https://arbitrum-nova.drpc.org", - "tracking": "none", - "trackingDetails": "Specific types of technical data that we may temporarily log include:IP address (only in logs for redirecting requests to the nearest RPC nodes and rate limiting at the free level, which are cleared weekly). The user ID is hidden in the temporary logs, so it is not possible to link them to a specific user.https://drpc.org/privacy-policy" - }, - { - "url": "https://arbitrum-nova.publicnode.com" - }, - { - "url": "wss://arbitrum-nova.publicnode.com" - } - ], - "42220": [ - { - "url": "https://forno.celo.org" - }, - { - "url": "https://rpc.ankr.com/celo", - "tracking": "limited", - "trackingDetails": "For service delivery purposes, we temporarily record IP addresses to set usage limits and monitor for denial of service attacks against our infrastructure. Though we do look at high-level data around the success rate of transactions made over the blockchain RPC, we do not correlate wallet transactions made over the infrastructure to the IP address making the RPC request. Thus, we do not store, exploit, or share any information regarding Personal Identifiable Information (PII), including wallet addresses. https://www.ankr.com/blog/ankrs-ip-address-policy-and-your-privacy/" - }, - { - "url": "https://1rpc.io/celo", - "tracking": "none", - "trackingDetails": "With the exception of data that will be public on chain, all the other metadata / data should remain private to users and other parties should not be able to access or collect it. 1RPC uses many different techniques to prevent the unnecessary collection of user privacy, which prevents tracking from RPC providers. https://docs.1rpc.io/technology/zero-tracking" - }, - { - "url": "https://celo.api.onfinality.io/public", - "tracking": "limited", - "trackingDetails": "For the sole purpose of providing our service, we temporarily record IP addresses and origins to check against free limits, provide load balancing, prevent DOS attacks, and to determine where best to locate our nodes. We do not, and will never, correlate or link specific wallet addresses or transactions made over our infrastructure to the IP address or origin making the RPC request. After processing IP addresses, we discard the IP address value within 24 hours. Read more here: https://blog.onfinality.io/how-does-onfinality-deal-with-personal-information/" - }, - { - "url": "wss://forno.celo.org/ws" - } - ], - "42261": [ - { - "url": "https://testnet.emerald.oasis.io" - }, - { - "url": "wss://testnet.emerald.oasis.io/ws" - } - ], - "42262": [ - { - "url": "https://emerald.oasis.dev" - }, - { - "url": "https://1rpc.io/oasis/emerald", - "tracking": "none", - "trackingDetails": "With the exception of data that will be public on chain, all the other metadata / data should remain private to users and other parties should not be able to access or collect it. 1RPC uses many different techniques to prevent the unnecessary collection of user privacy, which prevents tracking from RPC providers. https://docs.1rpc.io/technology/zero-tracking" - }, - { - "url": "https://emerald.oasis.io" - }, - { - "url": "wss://emerald.oasis.io/ws" - } - ], - "42355": [ - { - "url": "https://mainnet-rpc.goldxchain.io" - } - ], - "42421": [ - { - "url": "https://enugu-rpc.assetchain.org" - } - ], - "42766": [ - { - "url": "https://rpc.zkfair.io" - } - ], - "42793": [ - { - "url": "https://node.mainnet.etherlink.com" - } - ], - "42801": [ - { - "url": "https://rpc.testnet.verse.gesoten.com" - } - ], - "42888": [ - { - "url": "http://35.215.120.180:8545" - } - ], - "43110": [ - { - "url": "rpcWorking:false" - }, - { - "url": "https://ava.network:21015/ext/evm/rpc" - } - ], - "43113": [ - { - "url": "https://api.avax-test.network/ext/bc/C/rpc" - }, - { - "url": "https://endpoints.omniatech.io/v1/avax/fuji/public", - "tracking": "none", - "trackingDetails": "All the data and metadata remain private to the users. No third party is able to access, analyze or track it. OMNIA leverages different technologies and approaches to guarantee the privacy of their users, from front-running protection and private mempools, to obfuscation and random dispatching. https://blog.omniatech.io/how-omnia-handles-your-personal-data" - }, - { - "url": "https://rpc.ankr.com/avalanche_fuji", - "tracking": "limited", - "trackingDetails": "For service delivery purposes, we temporarily record IP addresses to set usage limits and monitor for denial of service attacks against our infrastructure. Though we do look at high-level data around the success rate of transactions made over the blockchain RPC, we do not correlate wallet transactions made over the infrastructure to the IP address making the RPC request. Thus, we do not store, exploit, or share any information regarding Personal Identifiable Information (PII), including wallet addresses. https://www.ankr.com/blog/ankrs-ip-address-policy-and-your-privacy/" - }, - { - "url": "https://rpc.ankr.com/avalanche_fuji-c", - "tracking": "limited", - "trackingDetails": "For service delivery purposes, we temporarily record IP addresses to set usage limits and monitor for denial of service attacks against our infrastructure. Though we do look at high-level data around the success rate of transactions made over the blockchain RPC, we do not correlate wallet transactions made over the infrastructure to the IP address making the RPC request. Thus, we do not store, exploit, or share any information regarding Personal Identifiable Information (PII), including wallet addresses. https://www.ankr.com/blog/ankrs-ip-address-policy-and-your-privacy/" - }, - { - "url": "https://avalanchetestapi.terminet.io/ext/bc/C/rpc" - }, - { - "url": "https://ava-testnet.public.blastapi.io/ext/bc/C/rpc", - "tracking": "limited", - "trackingDetails": "All the information in our logs (log data) can only be accessed for the last 7 days at any certain time, and it is completely purged after 14 days. We do not store any user information for longer periods of time or with any other purposes than investigating potential errors and service failures. https://blastapi.io/privacy-policy" - }, - { - "url": "https://avalanche-fuji-c-chain-rpc.publicnode.com", - "tracking": "none", - "trackingDetails": "We do not store or track any user data with the exception of data that will be public on chain. We do not correlate wallets address's with IP's, any data which is needed to transact is deleted after 24 hours. We also do no use any Analytics or 3rd party website tracking. https://www.publicnode.com/privacy" - }, - { - "url": "wss://avalanche-fuji-c-chain-rpc.publicnode.com", - "tracking": "none", - "trackingDetails": "We do not store or track any user data with the exception of data that will be public on chain. We do not correlate wallets address's with IP's, any data which is needed to transact is deleted after 24 hours. We also do no use any Analytics or 3rd party website tracking. https://www.publicnode.com/privacy" - }, - { - "url": "https://avalanche-fuji.blockpi.network/v1/rpc/public", - "tracking": "limited", - "trackingDetails": "We do not collect request data or request origin. We only temporarily record the request method names and IP addresses for 7 days to ensure our service functionality such as load balancing and DDoS protection. All the data is automatically deleted after 7 days and we do not store any user information for longer periods of time. https://blockpi.io/privacy-policy" - }, - { - "url": "https://api.zan.top/node/v1/avax/fuji/public/ext/bc/C/rpc", - "tracking": "limited", - "trackingDetails": "ZAN Node Service generally does not store any kind of user information (e.g. IP address, location, requst location, request data, etc.) that transits through our RPCs except for one senario \u2014\u2014we may track your IP address when you are using our RPCs and will delete it immediately when you stoping using our RPCs. To learn more, please review our privacy policy at https://a.zan.top/static/Privacy-Policy.pdf" - } - ], - "43114": [ - { - "url": "https://api.avax.network/ext/bc/C/rpc" - }, - { - "url": "https://avalanche.public-rpc.com" - }, - { - "url": "https://rpc.ankr.com/avalanche", - "tracking": "limited", - "trackingDetails": "For service delivery purposes, we temporarily record IP addresses to set usage limits and monitor for denial of service attacks against our infrastructure. Though we do look at high-level data around the success rate of transactions made over the blockchain RPC, we do not correlate wallet transactions made over the infrastructure to the IP address making the RPC request. Thus, we do not store, exploit, or share any information regarding Personal Identifiable Information (PII), including wallet addresses. https://www.ankr.com/blog/ankrs-ip-address-policy-and-your-privacy/" - }, - { - "url": "https://blastapi.io/public-api/avalanche", - "tracking": "limited", - "trackingDetails": "All the information in our logs (log data) can only be accessed for the last 7 days at any certain time, and it is completely purged after 14 days. We do not store any user information for longer periods of time or with any other purposes than investigating potential errors and service failures. https://blastapi.io/privacy-policy" - }, - { - "url": "https://ava-mainnet.public.blastapi.io/ext/bc/C/rpc", - "tracking": "limited", - "trackingDetails": "All the information in our logs (log data) can only be accessed for the last 7 days at any certain time, and it is completely purged after 14 days. We do not store any user information for longer periods of time or with any other purposes than investigating potential errors and service failures. https://blastapi.io/privacy-policy" - }, - { - "url": "https://avalancheapi.terminet.io/ext/bc/C/rpc" - }, - { - "url": "https://avalanche-c-chain-rpc.publicnode.com", - "tracking": "none", - "trackingDetails": "We do not store or track any user data with the exception of data that will be public on chain. We do not correlate wallets address's with IP's, any data which is needed to transact is deleted after 24 hours. We also do no use any Analytics or 3rd party website tracking. https://www.publicnode.com/privacy" - }, - { - "url": "wss://avalanche-c-chain-rpc.publicnode.com", - "tracking": "none", - "trackingDetails": "We do not store or track any user data with the exception of data that will be public on chain. We do not correlate wallets address's with IP's, any data which is needed to transact is deleted after 24 hours. We also do no use any Analytics or 3rd party website tracking. https://www.publicnode.com/privacy" - }, - { - "url": "https://1rpc.io/avax/c", - "tracking": "none", - "trackingDetails": "With the exception of data that will be public on chain, all the other metadata / data should remain private to users and other parties should not be able to access or collect it. 1RPC uses many different techniques to prevent the unnecessary collection of user privacy, which prevents tracking from RPC providers. https://docs.1rpc.io/technology/zero-tracking" - }, - { - "url": "https://avalanche.blockpi.network/v1/rpc/public", - "tracking": "limited", - "trackingDetails": "We do not collect request data or request origin. We only temporarily record the request method names and IP addresses for 7 days to ensure our service functionality such as load balancing and DDoS protection. All the data is automatically deleted after 7 days and we do not store any user information for longer periods of time. https://blockpi.io/privacy-policy" - }, - { - "url": "https://avax-pokt.nodies.app/ext/bc/C/rpc", - "tracking": "none", - "trackingDetails": "What We Do Not Collect: User's IP address, request origin, request data. https://www.blog.pokt.network/rpc-logging-practices/" - }, - { - "url": "https://avalanche.api.onfinality.io/public/ext/bc/C/rpc", - "tracking": "limited", - "trackingDetails": "For the sole purpose of providing our service, we temporarily record IP addresses and origins to check against free limits, provide load balancing, prevent DOS attacks, and to determine where best to locate our nodes. We do not, and will never, correlate or link specific wallet addresses or transactions made over our infrastructure to the IP address or origin making the RPC request. After processing IP addresses, we discard the IP address value within 24 hours. Read more here: https://blog.onfinality.io/how-does-onfinality-deal-with-personal-information/" - }, - { - "url": "https://endpoints.omniatech.io/v1/avax/mainnet/public", - "tracking": "none", - "trackingDetails": "All the data and metadata remain private to the users. No third party is able to access, analyze or track it. OMNIA leverages different technologies and approaches to guarantee the privacy of their users, from front-running protection and private mempools, to obfuscation and random dispatching. https://blog.omniatech.io/how-omnia-handles-your-personal-data" - }, - { - "url": "https://avax.meowrpc.com", - "tracking": "none", - "trackingDetails": "With the exclusion of data that will be openly visible and available on the blockchain, MEOWRPC does not track or store any kind of user information (such as location, IP address, etc.) that passes through our RPC. For further details regarding our privacy practices, we encourage you to refer to our Privacy Policy. https://privacy.meowrpc.com" - }, - { - "url": "https://api.zan.top/node/v1/avax/mainnet/public/ext/bc/C/rpc", - "tracking": "limited", - "trackingDetails": "ZAN Node Service generally does not store any kind of user information (e.g. IP address, location, requst location, request data, etc.) that transits through our RPCs except for one senario \u2014\u2014we may track your IP address when you are using our RPCs and will delete it immediately when you stoping using our RPCs. To learn more, please review our privacy policy at https://a.zan.top/static/Privacy-Policy.pdf" - }, - { - "url": "https://avalanche.drpc.org", - "tracking": "none", - "trackingDetails": "Specific types of technical data that we may temporarily log include:IP address (only in logs for redirecting requests to the nearest RPC nodes and rate limiting at the free level, which are cleared weekly). The user ID is hidden in the temporary logs, so it is not possible to link them to a specific user.https://drpc.org/privacy-policy" - }, - { - "url": "https://rpc.tornadoeth.cash/avax", - "tracking": "none", - "trackingDetails": "TornadoRPC prioritizes user privacy and data security. We do not track or store any user information that passes through our RPC, except for data that is clearly visible on the blockchain. For detailed information about our privacy practices, see our Privacy Policy: https://rpc.tornadoeth.cash/privacy" - } - ], - "43851": [ - { - "url": "https://testnet-rpc.zkfair.io" - } - ], - "44444": [ - { - "url": "https://rpc-02.frenscan.io" - } - ], - "44445": [ - { - "url": "https://rpcqtm.avescoin.io" - } - ], - "44787": [ - { - "url": "https://alfajores-forno.celo-testnet.org" - }, - { - "url": "wss://alfajores-forno.celo-testnet.org/ws" - } - ], - "45000": [ - { - "url": "https://rpc.autobahn.network" - } - ], - "45454": [ - { - "url": "https://swamps.tc.l2aas.com" - } - ], - "45510": [ - { - "url": "https://rpc.deelance.com" - } - ], - "45513": [ - { - "url": "https://blessnet.calderachain.xyz/http" - }, - { - "url": "wss://blessnet.calderachain.xyz/ws" - } - ], - "46688": [ - { - "url": "https://testnet.fusionnetwork.io" - }, - { - "url": "wss://testnet.fusionnetwork.io" - } - ], - "47763": [ - { - "url": "https://mainnet-1.rpc.banelabs.org" - }, - { - "url": "https://mainnet-2.rpc.banelabs.org" - } - ], - "47803": [ - { - "url": "https://layer1.redefi.world" - } - ], - "47805": [ - { - "url": "https://rpc.rei.network" - }, - { - "url": "wss://rpc.rei.network" - } - ], - "48795": [ - { - "url": "https://subnets.avax.network/space/testnet/rpc" - } - ], - "48899": [ - { - "url": "http://zircuit1-testnet.p2pify.com" - } - ], - "48900": [ - { - "url": "https://zircuit1-mainnet.p2pify.com" - } - ], - "49049": [ - { - "url": "https://rpc-floripa.wireshape.org" - }, - { - "url": "https://wireshape-floripa-testnet.rpc.thirdweb.com" - } - ], - "49088": [ - { - "url": "https://public-01.testnet.bifrostnetwork.com/rpc" - }, - { - "url": "https://public-02.testnet.bifrostnetwork.com/rpc" - } - ], - "49321": [ - { - "url": "https://rpc.gunz.dev/ext/bc/ryk9vkvNuKtewME2PeCgybo9sdWXGmCkBrrx4VPuZPdVdAak8/rpc" - } - ], - "49797": [ - { - "url": "https://nodeapi.test.energi.network" - } - ], - "50001": [ - { - "url": "https://rpc.oracle.liveplex.io" - }, - { - "url": "https://rpc.oracle.liveplex.io", - "tracking": "yes", - "trackingDetails": "Usage Data is collected automatically when using the Service. Usage Data may include information such as Your Device's Internet Protocol address (e.g., IP address), browser type, browser version, the pages of our Service that You visit, the time and date of Your visit, the time spent on those pages, unique device identifiers and other diagnostic data. When You access the Service by or through a mobile device, we may collect certain information automatically, including, but not limited to, the type of mobile device You use, Your mobile device unique ID, the IP address of Your mobile device, Your mobile operating system, the type of mobile Internet browser You use, unique device identifiers and other diagnostic data. We may also collect information that Your browser sends whenever You visit our Service or when You access the Service by or through a mobile device. https://www.liveplex.io/privacypolicy.html" - } - ], - "50005": [ - { - "url": "https://rpc.yooldo-verse.xyz" - } - ], - "50006": [ - { - "url": "https://rpc.testnet.yooldo-verse.xyz" - } - ], - "50021": [ - { - "url": "https://testnet.gton.network" - } - ], - "51178": [ - { - "url": "https://alpha-us-http-geth.lumoz.org" - }, - { - "url": "https://alpha-hk-http-geth.lumoz.org" - } - ], - "51712": [ - { - "url": "https://mainnet-rpc.sardisnetwork.com" - } - ], - "52014": [ - { - "url": "https://rpc.electroneum.com" - } - ], - "53277": [ - { - "url": "https://rpc.doid.tech" - } - ], - "53302": [ - { - "url": "https://sepolia.superseed.xyz" - }, - { - "url": "wss://sepolia.superseed.xyz" - } - ], - "53457": [ - { - "url": "https://dodochain-testnet.alt.technology" - }, - { - "url": "wss://dodochain-testnet.alt.technology/ws" - } - ], - "53935": [ - { - "url": "https://avax-pokt.nodies.app/ext/bc/q2aTwKuyzgs8pynF7UXBZCU7DejbZbZ6EUyHr3JQzYgwNPUPi/rpc", - "tracking": "none", - "trackingDetails": "What We Do Not Collect: User's IP address, request origin, request data. https://www.blog.pokt.network/rpc-logging-practices/" - }, - { - "url": "https://dfkchain.api.onfinality.io/public", - "tracking": "limited", - "trackingDetails": "For the sole purpose of providing our service, we temporarily record IP addresses and origins to check against free limits, provide load balancing, prevent DOS attacks, and to determine where best to locate our nodes. We do not, and will never, correlate or link specific wallet addresses or transactions made over our infrastructure to the IP address or origin making the RPC request. After processing IP addresses, we discard the IP address value within 24 hours. Read more here: https://blog.onfinality.io/how-does-onfinality-deal-with-personal-information/" - }, - { - "url": "https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc" - } - ], - "54211": [ - { - "url": "https://rpc.eth.testedge2.haqq.network" - } - ], - "54321": [ - { - "url": "http://testnet.toronet.org/rpc" - } - ], - "55004": [ - { - "url": "https://rpc.titan.tokamak.network" - }, - { - "url": "wss://rpc.titan.tokamak.network" - } - ], - "55551": [ - { - "url": "https://rpc-test2.photonchain.io" - } - ], - "55555": [ - { - "url": "https://rei-rpc.moonrhythm.io" - } - ], - "55556": [ - { - "url": "https://rei-testnet-rpc.moonrhythm.io" - } - ], - "55614": [ - { - "url": "https://rpc.flamma.network" - } - ], - "56026": [ - { - "url": "https://nrpc.lambda.im" - } - ], - "56288": [ - { - "url": "https://bnb.boba.network" - }, - { - "url": "https://boba-bnb.gateway.tenderly.co" - }, - { - "url": "https://gateway.tenderly.co/public/boba-bnb" - }, - { - "url": "https://replica.bnb.boba.network" - }, - { - "url": "wss://boba-bnb.gateway.tenderly.co" - }, - { - "url": "wss://gateway.tenderly.co/public/boba-bnb" - } - ], - "56400": [ - { - "url": "https://subnets.avax.network/testnetzer/testnet/rpc" - } - ], - "56789": [ - { - "url": "https://nova.velo.org" - } - ], - "56797": [ - { - "url": "https://rpc.testnet.doid.tech" - } - ], - "57000": [ - { - "url": "https://rpc-tanenbaum.rollux.com" - }, - { - "url": "https://rpc.ankr.com/rollux_testnet/${ANKR_API_KEY}" - }, - { - "url": "wss://rpc-tanenbaum.rollux.com/wss" - }, - { - "url": "https://rollux.rpc.tanenbaum.io" - }, - { - "url": "wss://rollux.rpc.tanenbaum.io/wss" - } - ], - "57451": [ - { - "url": "https://mainnet-rpc.coinsec.network" - } - ], - "58008": [ - { - "url": "https://sepolia.publicgoods.network" - } - ], - "59140": [ - { - "url": "https://linea-goerli.blockpi.network/v1/rpc/public", - "tracking": "limited", - "trackingDetails": "We do not collect request data or request origin. We only temporarily record the request method names and IP addresses for 7 days to ensure our service functionality such as load balancing and DDoS protection. All the data is automatically deleted after 7 days and we do not store any user information for longer periods of time. https://blockpi.io/privacy-policy" - }, - { - "url": "https://rpc.goerli.linea.build" - }, - { - "url": "wss://rpc.goerli.linea.build" - } - ], - "59141": [ - { - "url": "https://rpc.sepolia.linea.build" - }, - { - "url": "wss://rpc.sepolia.linea.build" - }, - { - "url": "https://linea-sepolia.infura.io/v3/${INFURA_API_KEY}" - }, - { - "url": "wss://linea-sepolia.infura.io/ws/v3/${INFURA_API_KEY}" - } - ], - "59144": [ - { - "url": "https://linea.blockpi.network/v1/rpc/public", - "tracking": "limited", - "trackingDetails": "We do not collect request data or request origin. We only temporarily record the request method names and IP addresses for 7 days to ensure our service functionality such as load balancing and DDoS protection. All the data is automatically deleted after 7 days and we do not store any user information for longer periods of time. https://blockpi.io/privacy-policy" - }, - { - "url": "https://1rpc.io/linea", - "tracking": "none", - "trackingDetails": "With the exception of data that will be public on chain, all the other metadata / data should remain private to users and other parties should not be able to access or collect it. 1RPC uses many different techniques to prevent the unnecessary collection of user privacy, which prevents tracking from RPC providers. https://docs.1rpc.io/technology/zero-tracking" - }, - { - "url": "https://linea.drpc.org", - "tracking": "none", - "trackingDetails": "Specific types of technical data that we may temporarily log include:IP address (only in logs for redirecting requests to the nearest RPC nodes and rate limiting at the free level, which are cleared weekly). The user ID is hidden in the temporary logs, so it is not possible to link them to a specific user.https://drpc.org/privacy-policy" - }, - { - "url": "https://linea.decubate.com", - "tracking": "none", - "trackingDetails": "With the exception of data that will be public on chain, all the other metadata should remain private to users and other parties should not be able to access or collect it. Decubate doesn't store any data related to the user using the RPC. https://docs.decubate.com/rpc-privacy/" - }, - { - "url": "https://rpc.linea.build" - }, - { - "url": "wss://rpc.linea.build" - } - ], - "59902": [ - { - "url": "https://sepolia.metisdevops.link" - } - ], - "59971": [ - { - "url": "https://mainnet.genesyscode.io" - } - ], - "60000": [ - { - "url": "https://test.thinkiumrpc.net" - } - ], - "60001": [ - { - "url": "https://test1.thinkiumrpc.net" - } - ], - "60002": [ - { - "url": "https://test2.thinkiumrpc.net" - } - ], - "60103": [ - { - "url": "https://test103.thinkiumrpc.net" - } - ], - "60808": [ - { - "url": "https://rpc.gobob.xyz" - }, - { - "url": "wss://rpc.gobob.xyz" - }, - { - "url": "https://bob-mainnet.public.blastapi.io" - }, - { - "url": "wss://bob-mainnet.public.blastapi.io" - } - ], - "61022": [ - { - "url": "https://rpc.orangechain.xyz" - }, - { - "url": "https://hk-rpc.orangechain.xyz" - } - ], - "61406": [ - { - "url": "https://mainnet-rpc.kaichain.net" - } - ], - "61800": [ - { - "url": "https://aium-rpc-dev.viacube.com" - } - ], - "61803": [ - { - "url": "https://eticamainnet.eticascan.org" - }, - { - "url": "https://eticamainnet.eticaprotocol.org" - } - ], - "61916": [ - { - "url": "https://sgrpc.doken.dev" - }, - { - "url": "https://nyrpc.doken.dev" - }, - { - "url": "https://ukrpc.doken.dev" - } - ], - "62049": [ - { - "url": "https://rpc-testnet.optopia.ai" - } - ], - "62050": [ - { - "url": "https://rpc-mainnet.optopia.ai" - }, - { - "url": "https://rpc-mainnet-2.optopia.ai" - } - ], - "62298": [ - { - "url": "https://rpc.devnet.citrea.xyz" - } - ], - "62320": [ - { - "url": "https://baklava-forno.celo-testnet.org" - } - ], - "62621": [ - { - "url": "https://rpc.mtv.ac" - }, - { - "url": "https://rpc-eu.mtv.ac" - } - ], - "62831": [ - { - "url": "https://subnets.avax.network/plyr/testnet/rpc" - } - ], - "62850": [ - { - "url": "https://rpc.laossigma.laosfoundation.io" - }, - { - "url": "wss://rpc.laossigma.laosfoundation.io" - } - ], - "63000": [ - { - "url": "https://rpc.ecredits.com" - } - ], - "63001": [ - { - "url": "https://rpc.tst.ecredits.com" - } - ], - "65349": [ - { - "url": "https://cratd2c-testnet-node1.cratd2csmartchain.io" - }, - { - "url": "https://cratd2c-testnet-node2.cratd2csmartchain.io" - } - ], - "65357": [ - { - "url": "https://rpc.vecno.org" - } - ], - "65450": [ - { - "url": "https://mainnet-rpc.scolcoin.com" - } - ], - "66988": [ - { - "url": "https://rpc.test.janusnetwork.io" - } - ], - "67588": [ - { - "url": "http://testnet.cosmicchain.site:3344" - } - ], - "68770": [ - { - "url": "https://rpc.dm2verse.dmm.com" - } - ], - "69420": [ - { - "url": "https://rpc.condrieu.ethdevops.io:8545" - } - ], - "70000": [ - { - "url": "https://proxy.thinkiumrpc.net" - } - ], - "70001": [ - { - "url": "https://proxy1.thinkiumrpc.net" - } - ], - "70002": [ - { - "url": "https://proxy2.thinkiumrpc.net" - } - ], - "70103": [ - { - "url": "https://proxy103.thinkiumrpc.net" - } - ], - "70700": [ - { - "url": "https://rpc.apex.proofofplay.com" - } - ], - "71111": [ - { - "url": "https://rpc-mainnet.guapcoinx.com" - }, - { - "url": "https://rpc-mainnet-1.guapcoinx.com" - }, - { - "url": "https://rpc-mainnet-2.guapcoinx.com" - } - ], - "71393": [ - { - "url": "https://godwoken-testnet-web3-rpc.ckbapp.dev" - }, - { - "url": "ws://godwoken-testnet-web3-rpc.ckbapp.dev/ws" - } - ], - "71401": [ - { - "url": "https://godwoken-testnet-v1.ckbapp.dev" - }, - { - "url": "https://v1.testnet.godwoken.io/rpc" - } - ], - "71402": [ - { - "url": "https://v1.mainnet.godwoken.io/rpc" - } - ], - "72778": [ - { - "url": "https://www.ankara-cagacrypto.com" - }, - { - "url": "wss://wss.ankara-cagacrypto.com" - } - ], - "72992": [ - { - "url": "https://mainnet-rpc.grokchain.dev" - } - ], - "73114": [ - { - "url": "https://rpc1-testnet.icbnetwork.info" - }, - { - "url": "https://rpc2-testnet.icbnetwork.info" - } - ], - "73115": [ - { - "url": "https://rpc1-mainnet.icbnetwork.info" - }, - { - "url": "https://rpc2-mainnet.icbnetwork.info" - } - ], - "73799": [ - { - "url": "https://volta-rpc.energyweb.org" - }, - { - "url": "wss://volta-rpc.energyweb.org/ws" - } - ], - "73927": [ - { - "url": "https://geth.mvm.dev" - } - ], - "75512": [ - { - "url": "https://rpc.geekout-pte.com" - } - ], - "75513": [ - { - "url": "https://rpc-testnet.geekout-pte.com" - } - ], - "77001": [ - { - "url": "https://public-node.api.boraportal.com/bora/mainnet" - }, - { - "url": "https://public-node.api.boraportal.io/bora/mainnet" - } - ], - "77238": [ - { - "url": "https://testnet-rpc.foundryscan.org" - } - ], - "77612": [ - { - "url": "https://mainnet-rpc.vention.network" - } - ], - "77677": [ - { - "url": "https://sailboat-rpc-mainnet.cyclenetwork.io" - } - ], - "77777": [ - { - "url": "https://www.toronet.org/rpc2" - } - ], - "78110": [ - { - "url": "https://ethnode.primusmoney.com/firenze" - } - ], - "78281": [ - { - "url": "https://dragonfly-rpc.switch.ch" - }, - { - "url": "https://dragonfly-rpc.kore-technologies.ch" - }, - { - "url": "https://dragonfly-rpc.phoenix-systems.io" - }, - { - "url": "https://dragonfly-rpc.block-spirit.ch" - } - ], - "78430": [ - { - "url": "https://subnets.avax.network/amplify/testnet/rpc" - } - ], - "78431": [ - { - "url": "https://subnets.avax.network/bulletin/testnet/rpc" - } - ], - "78432": [ - { - "url": "https://subnets.avax.network/conduit/testnet/rpc" - } - ], - "78600": [ - { - "url": "https://rpc-vanguard.vanarchain.com" - }, - { - "url": "wss://ws-vanguard.vanarchain.com" - } - ], - "79879": [ - { - "url": "https://rpc-testnet.goldsmartchain.com" - } - ], - "80001": [ - { - "url": "https://rpc-mumbai.maticvigil.com" - }, - { - "url": "https://endpoints.omniatech.io/v1/matic/mumbai/public", - "tracking": "none", - "trackingDetails": "All the data and metadata remain private to the users. No third party is able to access, analyze or track it. OMNIA leverages different technologies and approaches to guarantee the privacy of their users, from front-running protection and private mempools, to obfuscation and random dispatching. https://blog.omniatech.io/how-omnia-handles-your-personal-data" - }, - { - "url": "https://rpc.ankr.com/polygon_mumbai", - "tracking": "limited", - "trackingDetails": "For service delivery purposes, we temporarily record IP addresses to set usage limits and monitor for denial of service attacks against our infrastructure. Though we do look at high-level data around the success rate of transactions made over the blockchain RPC, we do not correlate wallet transactions made over the infrastructure to the IP address making the RPC request. Thus, we do not store, exploit, or share any information regarding Personal Identifiable Information (PII), including wallet addresses. https://www.ankr.com/blog/ankrs-ip-address-policy-and-your-privacy/" - }, - { - "url": "https://polygontestapi.terminet.io/rpc" - }, - { - "url": "https://polygon-testnet.public.blastapi.io", - "tracking": "limited", - "trackingDetails": "All the information in our logs (log data) can only be accessed for the last 7 days at any certain time, and it is completely purged after 14 days. We do not store any user information for longer periods of time or with any other purposes than investigating potential errors and service failures. https://blastapi.io/privacy-policy" - }, - { - "url": "https://polygon-mumbai.g.alchemy.com/v2/demo", - "tracking": "yes", - "trackingDetails": "We may collect certain information automatically when you use our Services, such as your Internet protocol (IP) address, user settings, MAC address, cookie identifiers, mobile carrier, mobile advertising and other unique identifiers, browser or device information, location information (including approximate location derived from IP address), and Internet service provider. https://www.alchemy.com/policies/privacy-policy" - }, - { - "url": "https://polygon-mumbai.blockpi.network/v1/rpc/public", - "tracking": "limited", - "trackingDetails": "We do not collect request data or request origin. We only temporarily record the request method names and IP addresses for 7 days to ensure our service functionality such as load balancing and DDoS protection. All the data is automatically deleted after 7 days and we do not store any user information for longer periods of time. https://blockpi.io/privacy-policy" - }, - { - "url": "https://polygon-mumbai-bor-rpc.publicnode.com", - "tracking": "none", - "trackingDetails": "We do not store or track any user data with the exception of data that will be public on chain. We do not correlate wallets address's with IP's, any data which is needed to transact is deleted after 24 hours. We also do no use any Analytics or 3rd party website tracking. https://www.publicnode.com/privacy" - }, - { - "url": "wss://polygon-mumbai-bor-rpc.publicnode.com", - "tracking": "none", - "trackingDetails": "We do not store or track any user data with the exception of data that will be public on chain. We do not correlate wallets address's with IP's, any data which is needed to transact is deleted after 24 hours. We also do no use any Analytics or 3rd party website tracking. https://www.publicnode.com/privacy" - }, - { - "url": "https://polygon-mumbai-pokt.nodies.app", - "tracking": "none", - "trackingDetails": "What We Do Not Collect: User's IP address, request origin, request data. https://www.blog.pokt.network/rpc-logging-practices/" - }, - { - "url": "https://polygon-mumbai.gateway.tenderly.co", - "tracking": "yes", - "trackingDetails": "Additionally, if you are an Account Member, we may collect business and transactional data about you (and your business) that accumulates over the normal course of operation regarding providing our Services. This may include transaction records, stored files, user profiles, information about collaborators, analytics data, and other metrics, as well as other types of information created or generated by your interaction with our Services. https://tenderly.co/privacy-policy" - }, - { - "url": "https://gateway.tenderly.co/public/polygon-mumbai", - "tracking": "yes", - "trackingDetails": "Additionally, if you are an Account Member, we may collect business and transactional data about you (and your business) that accumulates over the normal course of operation regarding providing our Services. This may include transaction records, stored files, user profiles, information about collaborators, analytics data, and other metrics, as well as other types of information created or generated by your interaction with our Services. https://tenderly.co/privacy-policy" - }, - { - "url": "https://api.zan.top/node/v1/polygon/mumbai/public", - "tracking": "limited", - "trackingDetails": "ZAN Node Service generally does not store any kind of user information (e.g. IP address, location, requst location, request data, etc.) that transits through our RPCs except for one senario \u2014\u2014we may track your IP address when you are using our RPCs and will delete it immediately when you stoping using our RPCs. To learn more, please review our privacy policy at https://a.zan.top/static/Privacy-Policy.pdf" - }, - { - "url": "https://polygon-mumbai.api.onfinality.io/public", - "tracking": "limited", - "trackingDetails": "For the sole purpose of providing our service, we temporarily record IP addresses and origins to check against free limits, provide load balancing, prevent DOS attacks, and to determine where best to locate our nodes. We do not, and will never, correlate or link specific wallet addresses or transactions made over our infrastructure to the IP address or origin making the RPC request. After processing IP addresses, we discard the IP address value within 24 hours. Read more here: https://blog.onfinality.io/how-does-onfinality-deal-with-personal-information/" - }, - { - "url": "wss://polygon-mumbai.gateway.tenderly.co" - } - ], - "80002": [ - { - "url": "https://rpc-amoy.polygon.technology" - }, - { - "url": "https://polygon-amoy-bor-rpc.publicnode.com" - }, - { - "url": "wss://polygon-amoy-bor-rpc.publicnode.com" - } - ], - "80008": [ - { - "url": "https://rpc.sepolia.polynomial.fi" - } - ], - "80084": [ - { - "url": "https://bartio.rpc.berachain.com" - }, - { - "url": "https://bera-testnet.nodeinfra.com" - }, - { - "url": "https://bartio.rpc.b-harvest.io" - } - ], - "80085": [ - { - "url": "https://artio.rpc.berachain.com" - }, - { - "url": "https://rpc.ankr.com/berachain_testnet" - } - ], - "80096": [ - { - "url": "https://hizoco.net/rpc" - } - ], - "81041": [ - { - "url": "https://mainnet-rpc.nordekscan.com" - } - ], - "81457": [ - { - "url": "https://rpc.blast.io" - }, - { - "url": "https://blast.din.dev/rpc" - }, - { - "url": "https://blastl2-mainnet.public.blastapi.io" - }, - { - "url": "https://blast.blockpi.network/v1/rpc/public" - }, - { - "url": "https://blast.blockpi.network/v1/rpc/public", - "tracking": "limited", - "trackingDetails": "We do not collect request data or request origin. We only temporarily record the request method names and IP addresses for 7 days to ensure our service functionality such as load balancing and DDoS protection. All the data is automatically deleted after 7 days and we do not store any user information for longer periods of time. https://blockpi.io/privacy-policy" - }, - { - "url": "https://rpc.ankr.com/blast", - "tracking": "limited", - "trackingDetails": "For service delivery purposes, we temporarily record IP addresses to set usage limits and monitor for denial of service attacks against our infrastructure. Though we do look at high-level data around the success rate of transactions made over the blockchain RPC, we do not correlate wallet transactions made over the infrastructure to the IP address making the RPC request. Thus, we do not store, exploit, or share any information regarding Personal Identifiable Information (PII), including wallet addresses. https://www.ankr.com/blog/ankrs-ip-address-policy-and-your-privacy/" - }, - { - "url": "https://blast-rpc.publicnode.com" - } - ], - "81720": [ - { - "url": "https://rpc.quantumscan.org" - } - ], - "82459": [ - { - "url": "https://rpc.test.smartlayer.network" - } - ], - "83144": [ - { - "url": "https://rpc.testnet.xprotocol.org" - } - ], - "83278": [ - { - "url": "http://65.108.151.70:8545" - } - ], - "83872": [ - { - "url": "https://mainnet-rpc.zedscan.net" - } - ], - "84531": [ - { - "url": "https://base-goerli.diamondswap.org/rpc", - "tracking": "limited", - "trackingDetails": "We record limited metadata from requests. This data is stored for a maximum of 90 days and is solely used for debugging, identifying suspicious activity, and generating analytics." - }, - { - "url": "https://base-goerli.public.blastapi.io", - "tracking": "limited", - "trackingDetails": "All the information in our logs (log data) can only be accessed for the last 7 days at any certain time, and it is completely purged after 14 days. We do not store any user information for longer periods of time or with any other purposes than investigating potential errors and service failures. https://blastapi.io/privacy-policy" - }, - { - "url": "https://1rpc.io/base-goerli", - "tracking": "none", - "trackingDetails": "With the exception of data that will be public on chain, all the other metadata / data should remain private to users and other parties should not be able to access or collect it. 1RPC uses many different techniques to prevent the unnecessary collection of user privacy, which prevents tracking from RPC providers. https://docs.1rpc.io/technology/zero-tracking" - }, - { - "url": "https://base-goerli.gateway.tenderly.co", - "tracking": "yes", - "trackingDetails": "Additionally, if you are an Account Member, we may collect business and transactional data about you (and your business) that accumulates over the normal course of operation regarding providing our Services. This may include transaction records, stored files, user profiles, information about collaborators, analytics data, and other metrics, as well as other types of information created or generated by your interaction with our Services. https://tenderly.co/privacy-policy" - }, - { - "url": "https://gateway.tenderly.co/public/base-goerli", - "tracking": "yes", - "trackingDetails": "Additionally, if you are an Account Member, we may collect business and transactional data about you (and your business) that accumulates over the normal course of operation regarding providing our Services. This may include transaction records, stored files, user profiles, information about collaborators, analytics data, and other metrics, as well as other types of information created or generated by your interaction with our Services. https://tenderly.co/privacy-policy" - }, - { - "url": "https://base-goerli-rpc.publicnode.com", - "tracking": "none", - "trackingDetails": "We do not store or track any user data with the exception of data that will be public on chain. We do not correlate wallets address's with IP's, any data which is needed to transact is deleted after 24 hours. We also do no use any Analytics or 3rd party website tracking. https://www.publicnode.com/privacy" - }, - { - "url": "wss://base-goerli-rpc.publicnode.com", - "tracking": "none", - "trackingDetails": "We do not store or track any user data with the exception of data that will be public on chain. We do not correlate wallets address's with IP's, any data which is needed to transact is deleted after 24 hours. We also do no use any Analytics or 3rd party website tracking. https://www.publicnode.com/privacy" - }, - { - "url": "https://endpoints.omniatech.io/v1/base/goerli/public", - "tracking": "none", - "trackingDetails": "All the data and metadata remain private to the users. No third party is able to access, analyze or track it. OMNIA leverages different technologies and approaches to guarantee the privacy of their users, from front-running protection and private mempools, to obfuscation and random dispatching. https://blog.omniatech.io/how-omnia-handles-your-personal-data" - }, - { - "url": "https://goerli.base.org" - }, - { - "url": "wss://base-goerli.gateway.tenderly.co" - } - ], - "84532": [ - { - "url": "https://rpc.notadegen.com/base/sepolia" - }, - { - "url": "https://base-sepolia.blockpi.network/v1/rpc/public", - "tracking": "limited", - "trackingDetails": "We do not collect request data or request origin. We only temporarily record the request method names and IP addresses for 7 days to ensure our service functionality such as load balancing and DDoS protection. All the data is automatically deleted after 7 days and we do not store any user information for longer periods of time. https://blockpi.io/privacy-policy" - }, - { - "url": "https://sepolia.base.org" - }, - { - "url": "https://base-sepolia-rpc.publicnode.com" - }, - { - "url": "wss://base-sepolia-rpc.publicnode.com" - } - ], - "84886": [ - { - "url": "https://mainnet.aerielab.io" - } - ], - "85449": [ - { - "url": "http://testnet.cybertrust.space:48501" - } - ], - "88002": [ - { - "url": "https://api.proteus.nautchain.xyz/solana" - } - ], - "88559": [ - { - "url": "https://inoai-network.com" - } - ], - "88800": [ - { - "url": "https://rpc.zkas.zeeve.net" - } - ], - "88817": [ - { - "url": "https://rpc-testnet.unit0.dev" - } - ], - "88819": [ - { - "url": "https://rpc-stagenet.unit0.dev" - } - ], - "88882": [ - { - "url": "https://spicy-rpc.chiliz.com" - } - ], - "88888": [ - { - "url": "https://rpc.chiliz.com" - }, - { - "url": "https://rpc.ankr.com/chiliz" - }, - { - "url": "https://chiliz.publicnode.com" - } - ], - "90001": [ - { - "url": "https://testnet-fx-json-web3.functionx.io:8545" - } - ], - "90210": [ - { - "url": "https://rpc.beverlyhills.ethdevops.io:8545" - } - ], - "90354": [ - { - "url": "https://rpc-camp-network-4xje7wy105.t.conduit.xyz" - } - ], - "91002": [ - { - "url": "https://triton.api.nautchain.xyz" - } - ], - "91120": [ - { - "url": "https://rpc.chain.metadap.io" - }, - { - "url": "wss://rpc-ws.chain.metadap.io" - } - ], - "91715": [ - { - "url": "https://test-rpc.combonetwork.io" - } - ], - "92001": [ - { - "url": "https://evm.lambda.top" - } - ], - "93572": [ - { - "url": "https://testnet.liquidlayer.network" - } - ], - "93747": [ - { - "url": "https://rpc.stratovm.io" - } - ], - "96970": [ - { - "url": "https://mantis-rpc.switch.ch" - }, - { - "url": "https://mantis-rpc.kore-technologies.ch" - }, - { - "url": "https://mantis-rpc.phoenix-systems.io" - } - ], - "97435": [ - { - "url": "https://rpc-dependent-emerald-whippet-gh6kch3nen.t.conduit.xyz" - } - ], - "97531": [ - { - "url": "https://node.greenchain.app/rpc" - } - ], - "97970": [ - { - "url": "https://testnet-rpc.optimusz7.com" - } - ], - "98881": [ - { - "url": "https://rpc.ebi.xyz" - } - ], - "99099": [ - { - "url": "https://testnet-rpc.eliberty.ngo" - } - ], - "99876": [ - { - "url": "https://rpc1-testnet.emc.network" - } - ], - "99998": [ - { - "url": "https://testnet.rpc.uschain.network" - } - ], - "99999": [ - { - "url": "https://rpc.uschain.network" - } - ], - "100000": [ - { - "url": "http://jrpc.mainnet.quarkchain.io:38391" - } - ], - "100001": [ - { - "url": "http://eth-jrpc.mainnet.quarkchain.io:39000" - }, - { - "url": "https://mainnet-s0-ethapi.quarkchain.io" - } - ], - "100002": [ - { - "url": "http://eth-jrpc.mainnet.quarkchain.io:39001" - }, - { - "url": "https://mainnet-s1-ethapi.quarkchain.io" - } - ], - "100003": [ - { - "url": "http://eth-jrpc.mainnet.quarkchain.io:39002" - }, - { - "url": "https://mainnet-s2-ethapi.quarkchain.io" - } - ], - "100004": [ - { - "url": "http://eth-jrpc.mainnet.quarkchain.io:39003" - }, - { - "url": "https://mainnet-s3-ethapi.quarkchain.io" - } - ], - "100005": [ - { - "url": "http://eth-jrpc.mainnet.quarkchain.io:39004" - }, - { - "url": "https://mainnet-s4-ethapi.quarkchain.io" - } - ], - "100006": [ - { - "url": "http://eth-jrpc.mainnet.quarkchain.io:39005" - }, - { - "url": "https://mainnet-s5-ethapi.quarkchain.io" - } - ], - "100007": [ - { - "url": "http://eth-jrpc.mainnet.quarkchain.io:39006" - }, - { - "url": "https://mainnet-s6-ethapi.quarkchain.io" - } - ], - "100008": [ - { - "url": "http://eth-jrpc.mainnet.quarkchain.io:39007" - }, - { - "url": "https://mainnet-s7-ethapi.quarkchain.io" - } - ], - "100009": [ - { - "url": "https://rpc-mainnet.vechain.energy" - } - ], - "100010": [ - { - "url": "https://rpc-testnet.vechain.energy" - } - ], - "100011": [ - { - "url": "https://mainnet-l2-ethapi.quarkchain.io" - } - ], - "101010": [ - { - "url": "https://gtn.stabilityprotocol.com" - } - ], - "102031": [ - { - "url": "https://rpc.cc3-testnet.creditcoin.network" - } - ], - "103090": [ - { - "url": "https://evm.cryptocurrencydevs.org" - }, - { - "url": "https://rpc.crystaleum.org" - } - ], - "103454": [ - { - "url": "https://subnets.avax.network/masatestne/testnet/rpc" - } - ], - "104566": [ - { - "url": "https://api.kaspaclassic.world" - }, - { - "url": "http://80.178.101.118:8000" - } - ], - "105105": [ - { - "url": "https://rpc.stratisevm.com" - } - ], - "108801": [ - { - "url": "rpcWorking:false" - }, - { - "url": "https://rpc.brochain.org" - }, - { - "url": "http://rpc.brochain.org" - }, - { - "url": "https://rpc.brochain.org/mainnet" - }, - { - "url": "http://rpc.brochain.org/mainnet" - } - ], - "110000": [ - { - "url": "rpcWorking:false" - }, - { - "url": "http://jrpc.devnet.quarkchain.io:38391" - } - ], - "110001": [ - { - "url": "http://eth-jrpc.devnet.quarkchain.io:39900" - }, - { - "url": "https://devnet-s0-ethapi.quarkchain.io" - } - ], - "110002": [ - { - "url": "http://eth-jrpc.devnet.quarkchain.io:39901" - }, - { - "url": "https://devnet-s1-ethapi.quarkchain.io" - } - ], - "110003": [ - { - "url": "http://eth-jrpc.devnet.quarkchain.io:39902" - }, - { - "url": "https://devnet-s2-ethapi.quarkchain.io" - } - ], - "110004": [ - { - "url": "http://eth-jrpc.devnet.quarkchain.io:39903" - }, - { - "url": "https://devnet-s3-ethapi.quarkchain.io" - } - ], - "110005": [ - { - "url": "http://eth-jrpc.devnet.quarkchain.io:39904" - }, - { - "url": "https://devnet-s4-ethapi.quarkchain.io" - } - ], - "110006": [ - { - "url": "http://eth-jrpc.devnet.quarkchain.io:39905" - }, - { - "url": "https://devnet-s5-ethapi.quarkchain.io" - } - ], - "110007": [ - { - "url": "http://eth-jrpc.devnet.quarkchain.io:39906" - }, - { - "url": "https://devnet-s6-ethapi.quarkchain.io" - } - ], - "110008": [ - { - "url": "http://eth-jrpc.devnet.quarkchain.io:39907" - }, - { - "url": "https://devnet-s7-ethapi.quarkchain.io" - } - ], - "110011": [ - { - "url": "https://testnet-l2-ethapi.quarkchain.io" - } - ], - "110110": [ - { - "url": "https://node99-production-dd5f.up.railway.app:443" - }, - { - "url": "https://rpc.marscredit.xyz:443" - } - ], - "111000": [ - { - "url": "https://rpc.test.siberium.net" - } - ], - "111111": [ - { - "url": "https://rpc.main.siberium.net" - }, - { - "url": "https://rpc.main.siberium.net.ru" - } - ], - "111188": [ - { - "url": "https://tangible-real.gateway.tenderly.co" - }, - { - "url": "wss://tangible-real.gateway.tenderly.co" - }, - { - "url": "https://real.drpc.org" - }, - { - "url": "wss://real.drpc.org" - } - ], - "112358": [ - { - "url": "https://rpc.metachain.one" - }, - { - "url": "https://rpc2.metachain.one" - } - ], - "119139": [ - { - "url": "https://rpc.testnet.chain.metadap.io" - }, - { - "url": "wss://rpc-ws.testnet.chain.metadap.io" - } - ], - "123321": [ - { - "url": "https://evm-rpc.gemchain.org" - } - ], - "123456": [ - { - "url": "https://devnet.adilchain-rpc.io" - } - ], - "128123": [ - { - "url": "https://node.ghostnet.etherlink.com" - } - ], - "131313": [ - { - "url": "https://testnode.dioneprotocol.com/ext/bc/D/rpc" - } - ], - "131419": [ - { - "url": "https://rpc.node1.etnd.pro" - } - ], - "132902": [ - { - "url": "https://testnet-rpc.form.network/http" - }, - { - "url": "wss://testnet-rpc.form.network/ws" - } - ], - "141319": [ - { - "url": "https://testnet-api.magape.io/chain" - } - ], - "142857": [ - { - "url": "https://rpc1.icplaza.pro", - "tracking": "yes", - "trackingDetails": "Please be aware that we collect your following information for the purpose of satisfying your needs in ICPlaza services(...) 1.We will collect your mobile device information, operation records, transaction records, wallet address and other personal information. https://www.icplaza.pro/privacy-policy" - }, - { - "url": "https://rpcmainnet.ic-plaza.org" - } - ], - "165279": [ - { - "url": "https://mainnet-rpc.eclatscan.com" - } - ], - "167000": [ - { - "url": "https://rpc.mainnet.taiko.xyz" - }, - { - "url": "wss://ws.mainnet.taiko.xyz" - } - ], - "167008": [ - { - "url": "https://taiko-katla.blockpi.network/v1/rpc/public", - "tracking": "limited", - "trackingDetails": "We do not collect request data or request origin. We only temporarily record the request method names and IP addresses for 7 days to ensure our service functionality such as load balancing and DDoS protection. All the data is automatically deleted after 7 days and we do not store any user information for longer periods of time. https://blockpi.io/privacy-policy" - }, - { - "url": "https://rpc.katla.taiko.xyz" - }, - { - "url": "wss://ws.katla.taiko.xyz" - }, - { - "url": "https://taiko-katla.drpc.org" - }, - { - "url": "wss://taiko-katla.drpc.org" - } - ], - "167009": [ - { - "url": "https://rpc.hekla.taiko.xyz" - }, - { - "url": "wss://ws.hekla.taiko.xyz" - } - ], - "175177": [ - { - "url": "https://chain-rpc.litprotocol.com/http" - } - ], - "175188": [ - { - "url": "https://yellowstone-rpc.litprotocol.com" - } - ], - "188710": [ - { - "url": "https://mainnet-rpc.biticablockchain.com" - } - ], - "188881": [ - { - "url": "https://testnet.condor.systems/rpc" - } - ], - "192940": [ - { - "url": "https://rpc-testnet.mindnetwork.xyz" - }, - { - "url": "wss://rpc-testnet.mindnetwork.xyz" - } - ], - "199991": [ - { - "url": "https://testnet-rpc.mazze.io" - } - ], - "200000": [ - { - "url": "https://rpc_testnet.xfair.ai" - }, - { - "url": "wss://rpc_testnet.xfair.ai" - } - ], - "200101": [ - { - "url": "https://rpc-devnet-cardano-evm.c1.milkomeda.com" - }, - { - "url": "wss://rpc-devnet-cardano-evm.c1.milkomeda.com" - } - ], - "200202": [ - { - "url": "https://rpc-devnet-algorand-rollup.a1.milkomeda.com" - } - ], - "200625": [ - { - "url": "https://boot2.akroma.org" - }, - { - "url": "https://remote.akroma.io" - } - ], - "200810": [ - { - "url": "https://testnet-rpc.bitlayer.org" - }, - { - "url": "wss://testnet-ws.bitlayer.org" - }, - { - "url": "https://testnet-rpc.bitlayer-rpc.com" - }, - { - "url": "wss://testnet-ws.bitlayer-rpc.com" - }, - { - "url": "https://rpc.ankr.com/bitlayer_testnet" - } - ], - "200901": [ - { - "url": "https://rpc.bitlayer.org" - }, - { - "url": "https://rpc.bitlayer-rpc.com" - }, - { - "url": "https://rpc.ankr.com/bitlayer" - }, - { - "url": "https://rpc-bitlayer.rockx.com" - }, - { - "url": "wss://ws.bitlayer.org" - }, - { - "url": "wss://ws.bitlayer-rpc.com" - } - ], - "201018": [ - { - "url": "https://openapi.alaya.network/rpc" - }, - { - "url": "wss://openapi.alaya.network/ws" - } - ], - "201030": [ - { - "url": "https://devnetopenapi.alaya.network/rpc" - }, - { - "url": "wss://devnetopenapi.alaya.network/ws" - } - ], - "201804": [ - { - "url": "https://chain-rpc.mythicalgames.com" - } - ], - "202020": [ - { - "url": "https://testnet-val.decimalchain.com/web3" - } - ], - "202212": [ - { - "url": "https://x1-devnet.xen.network" - } - ], - "202401": [ - { - "url": "http://39.119.118.216:8545" - } - ], - "202624": [ - { - "url": "https://jellie-rpc.twala.io" - }, - { - "url": "wss://jellie-rpc-wss.twala.io" - } - ], - "204005": [ - { - "url": "https://x1-testnet.xen.network" - } - ], - "205205": [ - { - "url": "https://auroria.rpc.stratisevm.com" - } - ], - "210049": [ - { - "url": "https://rpc.gitagi.org" - } - ], - "210425": [ - { - "url": "https://openapi2.platon.network/rpc" - }, - { - "url": "wss://openapi2.platon.network/ws" - } - ], - "220315": [ - { - "url": "http://node.masnet.ai:8545" - } - ], - "221230": [ - { - "url": "https://eth.reapchain.org" - } - ], - "221231": [ - { - "url": "https://test-eth.reapchain.org" - } - ], - "222222": [ - { - "url": "https://rpc.hydradx.cloud" - }, - { - "url": "wss://rpc.hydradx.cloud" - } - ], - "222555": [ - { - "url": "https://rpc.deeplnetwork.org" - } - ], - "222666": [ - { - "url": "https://testnet.deeplnetwork.org" - } - ], - "224168": [ - { - "url": "https://mainnet.tafchain.com/v1" - } - ], - "224422": [ - { - "url": "https://rpc1.conet.network" - } - ], - "224433": [ - { - "url": "https://rpc.conet.network" - } - ], - "229772": [ - { - "url": "https://testnet.rpc.abyssprotocol.ai" - } - ], - "230315": [ - { - "url": "https://testnet.hashkeychain/rpc" - } - ], - "234666": [ - { - "url": "https://testnet1.haymo.network" - } - ], - "240515": [ - { - "url": "https://testnet-rpc.orangechain.xyz" - } - ], - "246529": [ - { - "url": "https://rpc.sigma1.artis.network" - } - ], - "246785": [ - { - "url": "https://rpc.tau1.artis.network" - } - ], - "247253": [ - { - "url": "https://rpc-testnet.saakuru.network" - } - ], - "256256": [ - { - "url": "https://mainnet.block.caduceus.foundation" - }, - { - "url": "wss://mainnet.block.caduceus.foundation" - } - ], - "262371": [ - { - "url": "https://testnet-rpc.eclatscan.com" - } - ], - "266256": [ - { - "url": "https://gzn-test.linksme.info" - } - ], - "271271": [ - { - "url": "https://rpctest.egonscan.com" - } - ], - "281121": [ - { - "url": "rpcWorking:false" - }, - { - "url": "https://socialsmartchain.digitalnext.business" - } - ], - "282828": [ - { - "url": "https://sepolia.zillnet.io/rpc" - } - ], - "292003": [ - { - "url": "https://testnet.cipherem.com" - } - ], - "309075": [ - { - "url": "https://mainnet-rpc.oneworldchain.org" - } - ], - "313313": [ - { - "url": "https://testnet.saharalabs.ai" - } - ], - "314159": [ - { - "url": "https://filecoin-calibration.chainup.net/rpc/v1", - "tracking": "limited", - "trackingDetails": "We only collect user IP addresses for the purpose of rate limiting. For more information, please visit https://docs.chainupcloud.com/introduction/products/blockchain-api." - }, - { - "url": "https://api.calibration.node.glif.io/rpc/v1" - }, - { - "url": "https://rpc.ankr.com/filecoin_testnet" - }, - { - "url": "https://filecoin-calibration.chainstacklabs.com/rpc/v1" - }, - { - "url": "https://calibration.filfox.info/rpc/v1" - }, - { - "url": "https://filecoin-calibration.drpc.org" - }, - { - "url": "wss://filecoin-calibration.drpc.org" - } - ], - "322202": [ - { - "url": "https://mainnet-rpc.parex.network" - } - ], - "323213": [ - { - "url": "https://testnet-rpc.bloomgenesis.com" - } - ], - "327126": [ - { - "url": "https://rpc.wabaworld.com" - } - ], - "328527": [ - { - "url": "https://rpc.nal.network" - }, - { - "url": "wss://wss.nal.network" - } - ], - "330844": [ - { - "url": "https://mainnet-rpc.tscscan.com" - } - ], - "333313": [ - { - "url": "https://mainnet-rpc.bloomgenesis.com" - } - ], - "333331": [ - { - "url": "https://test.rpc.avescoin.io" - } - ], - "333333": [ - { - "url": "https://rpctest.nativ3.network" - }, - { - "url": "wss://wstest.nativ3.network" - } - ], - "333666": [ - { - "url": "https://rpc.testnet.oonechain.com" - } - ], - "333777": [ - { - "url": "https://rpc.dev.oonechain.com" - } - ], - "333888": [ - { - "url": "https://sparta-rpc.polis.tech" - } - ], - "333999": [ - { - "url": "https://rpc.polis.tech" - } - ], - "336655": [ - { - "url": "https://rpc-testnet.uniport.network" - } - ], - "336666": [ - { - "url": "https://rpc.uniport.network" - } - ], - "355110": [ - { - "url": "https://mainnet.bitfinity.network" - } - ], - "355113": [ - { - "url": "https://testnet.bitfinity.network" - } - ], - "360890": [ - { - "url": "https://tsub360890-eth-rpc.thetatoken.org/rpc" - } - ], - "363636": [ - { - "url": "https://dgs-rpc.digitsoul.co.th" - } - ], - "373737": [ - { - "url": "https://jsonrpc-test.hap.land" - } - ], - "381931": [ - { - "url": "https://api.metalblockchain.org/ext/bc/C/rpc" - } - ], - "381932": [ - { - "url": "https://tahoe.metalblockchain.org/ext/bc/C/rpc" - } - ], - "404040": [ - { - "url": "https://mainnet-rpc.tipboxcoin.net" - } - ], - "413413": [ - { - "url": "https://rpc1-testnet.aiechain.io" - } - ], - "420420": [ - { - "url": "https://mainnet.kekchain.com" - }, - { - "url": "https://rpc2.kekchain.com" - }, - { - "url": "https://kek.interchained.org" - }, - { - "url": "https://kekchain.interchained.org" - } - ], - "420666": [ - { - "url": "https://testnet.kekchain.com" - } - ], - "420692": [ - { - "url": "https://l2-testnet-rpc.altscan.org" - } - ], - "421611": [ - { - "url": "https://rinkeby.arbitrum.io/rpc" - } - ], - "421613": [ - { - "url": "https://endpoints.omniatech.io/v1/arbitrum/goerli/public", - "tracking": "none", - "trackingDetails": "All the data and metadata remain private to the users. No third party is able to access, analyze or track it. OMNIA leverages different technologies and approaches to guarantee the privacy of their users, from front-running protection and private mempools, to obfuscation and random dispatching. https://blog.omniatech.io/how-omnia-handles-your-personal-data" - }, - { - "url": "https://arb-goerli.g.alchemy.com/v2/demo", - "tracking": "yes", - "trackingDetails": "We may collect certain information automatically when you use our Services, such as your Internet protocol (IP) address, user settings, MAC address, cookie identifiers, mobile carrier, mobile advertising and other unique identifiers, browser or device information, location information (including approximate location derived from IP address), and Internet service provider. https://www.alchemy.com/policies/privacy-policy" - }, - { - "url": "https://arbitrum-goerli.public.blastapi.io", - "tracking": "limited", - "trackingDetails": "All the information in our logs (log data) can only be accessed for the last 7 days at any certain time, and it is completely purged after 14 days. We do not store any user information for longer periods of time or with any other purposes than investigating potential errors and service failures. https://blastapi.io/privacy-policy" - }, - { - "url": "https://rpc.goerli.arbitrum.gateway.fm", - "tracking": "yes", - "trackingDetails": "When you use our services or visit our websites, we may log your device\u2019s IP address for debugging and security reasons. We may retain this information for up to twelve months" - }, - { - "url": "https://arbitrum-goerli-rpc.publicnode.com", - "tracking": "none", - "trackingDetails": "We do not store or track any user data with the exception of data that will be public on chain. We do not correlate wallets address's with IP's, any data which is needed to transact is deleted after 24 hours. We also do no use any Analytics or 3rd party website tracking. https://www.publicnode.com/privacy" - }, - { - "url": "wss://arbitrum-goerli-rpc.publicnode.com", - "tracking": "none", - "trackingDetails": "We do not store or track any user data with the exception of data that will be public on chain. We do not correlate wallets address's with IP's, any data which is needed to transact is deleted after 24 hours. We also do no use any Analytics or 3rd party website tracking. https://www.publicnode.com/privacy" - }, - { - "url": "https://api.zan.top/node/v1/arb/goerli/public", - "tracking": "limited", - "trackingDetails": "ZAN Node Service generally does not store any kind of user information (e.g. IP address, location, requst location, request data, etc.) that transits through our RPCs except for one senario \u2014\u2014we may track your IP address when you are using our RPCs and will delete it immediately when you stoping using our RPCs. To learn more, please review our privacy policy at https://a.zan.top/static/Privacy-Policy.pdf" - }, - { - "url": "https://api.stateless.solutions/arbitrum-one/v1/77abba85-53e4-4430-a332-a46deb9900ea", - "tracking": "none", - "trackingDetails": "Through any of our RPC API endpoints, whether public or private, we do not collect personal identifiers such as IP addresses, request origins, or specific request data. https://www.stateless.solutions/api-usage-privacy-policy" - }, - { - "url": "https://goerli-rollup.arbitrum.io/rpc" - }, - { - "url": "https://arbitrum-goerli.publicnode.com" - }, - { - "url": "wss://arbitrum-goerli.publicnode.com" - } - ], - "421614": [ - { - "url": "https://arbitrum-sepolia.blockpi.network/v1/rpc/public ", - "tracking": "limited", - "trackingDetails": "We do not collect request data or request origin. We only temporarily record the request method names and IP addresses for 7 days to ensure our service functionality such as load balancing and DDoS protection. All the data is automatically deleted after 7 days and we do not store any user information for longer periods of time. https://blockpi.io/privacy-policy" - }, - { - "url": "https://sepolia-rollup.arbitrum.io/rpc" - } - ], - "424242": [ - { - "url": "https://rpc.testnet.fastexchain.com" - } - ], - "431140": [ - { - "url": "https://rpc.markr.io/ext", - "tracking": "none", - "trackingDetails": "We only collect the minimum necessary information to provide our blockchain RPC service (caching). We do not use your data for commercial purposes. Any collected data is short-term and will be automatically deleted within 24 hours if not actively used. https://www.markr.io/privacy-policy" - } - ], - "432201": [ - { - "url": "https://subnets.avax.network/dexalot/testnet/rpc" - } - ], - "432204": [ - { - "url": "https://subnets.avax.network/dexalot/mainnet/rpc" - } - ], - "444444": [ - { - "url": "https://sepolia.syndr.com/http" - }, - { - "url": "wss://sepolia.syndr.com/ws" - } - ], - "444900": [ - { - "url": "https://weelinknode1c.gw002.oneitfarm.com" - } - ], - "471100": [ - { - "url": "https://test-rpc.patex.io" - } - ], - "473861": [ - { - "url": "https://mainnet-rpc.ultraproscan.io" - } - ], - "474142": [ - { - "url": "https://baas-rpc.luniverse.io:18545?lChainId=1641349324562974539" - } - ], - "486487": [ - { - "url": "https://rpc.gobbl.io" - } - ], - "490000": [ - { - "url": "https://nova-0.gemini-3h.subspace.network/ws" - } - ], - "504441": [ - { - "url": "https://subnets.avax.network/playdappne/mainnet/rpc" - } - ], - "512512": [ - { - "url": "https://galaxy.block.caduceus.foundation" - }, - { - "url": "wss://galaxy.block.caduceus.foundation" - } - ], - "513100": [ - { - "url": "https://rpc.dischain.xyz" - } - ], - "526916": [ - { - "url": "https://rpc.docoin.shop" - } - ], - "534351": [ - { - "url": "https://scroll-sepolia.blockpi.network/v1/rpc/public", - "tracking": "limited", - "trackingDetails": "We do not collect request data or request origin. We only temporarily record the request method names and IP addresses for 7 days to ensure our service functionality such as load balancing and DDoS protection. All the data is automatically deleted after 7 days and we do not store any user information for longer periods of time. https://blockpi.io/privacy-policy" - }, - { - "url": "https://scroll-testnet-public.unifra.io", - "tracking": "limited", - "trackingDetails": "Regarding the RPC(remote procedure call) data, we do not collect request data or request origin. We temporarily record the request method names and IP addresses for 7 days to ensure our service functionality such as load balancing and DDoS protection. All the data is automatically deleted after 7 days. Only the amounts of RPC requests of users are recorded for accounting and billing purposes within longer time. https://unifra.io/" - }, - { - "url": "https://rpc.ankr.com/scroll_sepolia_testnet", - "tracking": "limited", - "trackingDetails": "For service delivery purposes, we temporarily record IP addresses to set usage limits and monitor for denial of service attacks against our infrastructure. Though we do look at high-level data around the success rate of transactions made over the blockchain RPC, we do not correlate wallet transactions made over the infrastructure to the IP address making the RPC request. Thus, we do not store, exploit, or share any information regarding Personal Identifiable Information (PII), including wallet addresses. https://www.ankr.com/blog/ankrs-ip-address-policy-and-your-privacy/" - }, - { - "url": "https://scroll-public.scroll-testnet.quiknode.pro", - "tracking": "yes", - "trackingDetails": "Information about your computer hardware and software may be automatically collected by QuickNode. This information can include such details as your IP address, browser type, domain names, access times and referring website addresses.https://www.quicknode.com/privacy" - }, - { - "url": "https://scroll-sepolia.chainstacklabs.com", - "tracking": "yes", - "trackingDetails": "We process certain personal data to provide you with the core functionality of our Services. Specifically, when you are: Using the Chainstack Console, we process your name, surname, email address (your account identifier), organization name, IP address, all HTTP headers (most importantly User-Agent), cookies; Using the Chainstack Blockchain infrastructure, we process nodes' token stored in Chainstack Vault, IP address and HTTP headers, request body, API token in Chainstack Vault.https://chainstack.com/privacy/" - }, - { - "url": "https://scroll-sepolia.drpc.org", - "tracking": "none", - "trackingDetails": "Specific types of technical data that we may temporarily log include:IP address (only in logs for redirecting requests to the nearest RPC nodes and rate limiting at the free level, which are cleared weekly). The user ID is hidden in the temporary logs, so it is not possible to link them to a specific user.https://drpc.org/privacy-policy" - }, - { - "url": "https://scroll-testnet.rpc.grove.city/v1/a7a7c8e2", - "tracking": "none", - "trackingDetails": "What We Do Not Collect: User's IP address, request origin, request data. https://www.blog.pokt.network/rpc-logging-practices/" - }, - { - "url": "http://scroll-sepolia-rpc.01no.de:8545" - }, - { - "url": "https://sepolia-rpc.scroll.io" - } - ], - "534352": [ - { - "url": "https://rpc.scroll.io" - }, - { - "url": "https://rpc-scroll.icecreamswap.com" - }, - { - "url": "https://scroll-mainnet.public.blastapi.io", - "tracking": "limited", - "trackingDetails": "All the information in our logs (log data) can only be accessed for the last 7 days at any certain time, and it is completely purged after 14 days. We do not store any user information for longer periods of time or with any other purposes than investigating potential errors and service failures. https://blastapi.io/privacy-policy" - }, - { - "url": "https://scroll-mainnet-public.unifra.io", - "tracking": "limited", - "trackingDetails": "Regarding the RPC(remote procedure call) data, we do not collect request data or request origin. We temporarily record the request method names and IP addresses for 7 days to ensure our service functionality such as load balancing and DDoS protection. All the data is automatically deleted after 7 days. Only the amounts of RPC requests of users are recorded for accounting and billing purposes within longer time. https://unifra.io/" - }, - { - "url": "https://scroll.blockpi.network/v1/rpc/public", - "tracking": "limited", - "trackingDetails": "We do not collect request data or request origin. We only temporarily record the request method names and IP addresses for 7 days to ensure our service functionality such as load balancing and DDoS protection. All the data is automatically deleted after 7 days and we do not store any user information for longer periods of time. https://blockpi.io/privacy-policy" - }, - { - "url": "https://1rpc.io/scroll", - "tracking": "none", - "trackingDetails": "With the exception of data that will be public on chain, all the other metadata / data should remain private to users and other parties should not be able to access or collect it. 1RPC uses many different techniques to prevent the unnecessary collection of user privacy, which prevents tracking from RPC providers. https://docs.1rpc.io/technology/zero-tracking" - }, - { - "url": "https://scroll.drpc.org", - "tracking": "none", - "trackingDetails": "Specific types of technical data that we may temporarily log include:IP address (only in logs for redirecting requests to the nearest RPC nodes and rate limiting at the free level, which are cleared weekly). The user ID is hidden in the temporary logs, so it is not possible to link them to a specific user.https://drpc.org/privacy-policy" - }, - { - "url": "https://scroll-mainnet.rpc.grove.city/v1/a7a7c8e2", - "tracking": "none", - "trackingDetails": "What We Do Not Collect: User's IP address, request origin, request data. https://www.blog.pokt.network/rpc-logging-practices/" - }, - { - "url": "https://rpc.ankr.com/scroll" - }, - { - "url": "https://scroll-mainnet.chainstacklabs.com" - } - ], - "534849": [ - { - "url": "https://rpc.shinarium.org" - } - ], - "535037": [ - { - "url": "https://mainnet-rpc.bescscan.io" - } - ], - "552981": [ - { - "url": "https://testnet-rpc.oneworldchain.org" - } - ], - "555555": [ - { - "url": "https://rpc-testnet.pentagon.games" - } - ], - "555666": [ - { - "url": "https://subnets.avax.network/eclipsecha/testnet/rpc" - } - ], - "622277": [ - { - "url": "https://rpc.hypra.network" - }, - { - "url": "https://rpc.rethereum.org" - }, - { - "url": "https://rethereum.rpc.restratagem.com" - }, - { - "url": "https://rpc.rthcentral.org" - }, - { - "url": "https://hypra.rpc.thirdweb.com" - } - ], - "622463": [ - { - "url": "https://rpc.testnet.atl.network" - } - ], - "641230": [ - { - "url": "https://brnkc-mainnet.bearnetwork.net" - }, - { - "url": "https://brnkc-mainnet1.bearnetwork.net" - } - ], - "651940": [ - { - "url": "https://mainnet-rpc.alltra.global" - } - ], - "656476": [ - { - "url": "https://rpc.open-campus-codex.gelato.digital" - } - ], - "660279": [ - { - "url": "https://xai-chain.net/rpc" - } - ], - "666666": [ - { - "url": "https://vpioneer.infragrid.v.network/ethereum/compatible" - } - ], - "666888": [ - { - "url": "https://testnet-rpc.helachain.com" - } - ], - "686868": [ - { - "url": "https://rpc.wonnetwork.org" - } - ], - "696969": [ - { - "url": "https://devnet.galadriel.com" - } - ], - "710420": [ - { - "url": "https://subnets.avax.network/tiltyard/mainnet/rpc" - } - ], - "713715": [ - { - "url": "https://evm-rpc-arctic-1.sei-apis.com" - }, - { - "url": "https://evm-rpc.arctic-1.seinetwork.io" - } - ], - "721529": [ - { - "url": "https://mainnet-rpc.eramscan.com" - } - ], - "743111": [ - { - "url": "https://testnet.rpc.hemi.network/rpc" - } - ], - "751230": [ - { - "url": "https://brnkc-test.bearnetwork.net" - } - ], - "752024": [ - { - "url": "https://rpc.zkevm.ternoa.network" - } - ], - "761412": [ - { - "url": "https://mainnet-rpc.miexs.com" - } - ], - "764984": [ - { - "url": "https://subnets.avax.network/lamina1tes/testnet/rpc" - } - ], - "767368": [ - { - "url": "https://subnets.avax.network/lamina1id/testnet/rpc" - } - ], - "776877": [ - { - "url": "https://fraa-dancebox-3035-rpc.a.dancebox.tanssi.network" - } - ], - "800001": [ - { - "url": "https://rpc.octa.space" - }, - { - "url": "wss://rpc.octa.space" - } - ], - "808080": [ - { - "url": "https://rpc-testnet.bizex.io" - } - ], - "808813": [ - { - "url": "https://bob-sepolia.rpc.gobob.xyz" - }, - { - "url": "wss://bob-sepolia.rpc.gobob.xyz" - } - ], - "810180": [ - { - "url": "https://rpc.zklink.io" - }, - { - "url": "wss://rpc.zklink.io" - } - ], - "810181": [ - { - "url": "https://sepolia.rpc.zklink.io" - }, - { - "url": "wss://sepolia.rpc.zklink.io" - } - ], - "810182": [ - { - "url": "https://goerli.rpc.zklink.io" - }, - { - "url": "wss://goerli.rpc.zklink.io" - } - ], - "820522": [ - { - "url": "https://testnet.tscscan.io/testrpc" - } - ], - "827431": [ - { - "url": "https://mainnet-rpc.curvescan.io" - } - ], - "839320": [ - { - "url": "https://testnet-rpc.prmscan.org" - } - ], - "840000": [ - { - "url": "https://rpc.runevm.io" - } - ], - "846000": [ - { - "url": "https://chain.deptofgood.com" - } - ], - "855456": [ - { - "url": "https://fraa-dancebox-3041-rpc.a.dancebox.tanssi.network" - }, - { - "url": "wss://fraa-dancebox-3041-rpc.a.dancebox.tanssi.network" - } - ], - "879151": [ - { - "url": "https://mainnet-rpc.blxscan.com" - } - ], - "888882": [ - { - "url": "https://rpc.rexxnetwork.com" - } - ], - "888888": [ - { - "url": "https://infragrid.v.network/ethereum/compatible" - } - ], - "900000": [ - { - "url": "https://api.posichain.org" - }, - { - "url": "https://api.s0.posichain.org" - } - ], - "910000": [ - { - "url": "https://api.s0.t.posichain.org" - } - ], - "912559": [ - { - "url": "https://rpc.evm.dusk-3.devnet.astria.org" - } - ], - "920000": [ - { - "url": "https://api.s0.d.posichain.org" - } - ], - "920001": [ - { - "url": "https://api.s1.d.posichain.org" - } - ], - "923018": [ - { - "url": "https://fncy-testnet-seed.fncy.world" - } - ], - "955081": [ - { - "url": "https://subnets.avax.network/jono12/testnet/rpc" - } - ], - "955305": [ - { - "url": "https://host-76-74-28-226.contentfabric.io/eth" - }, - { - "url": "https://host-76-74-28-232.contentfabric.io/eth" - }, - { - "url": "https://host-76-74-29-2.contentfabric.io/eth" - }, - { - "url": "https://host-76-74-29-8.contentfabric.io/eth" - }, - { - "url": "https://host-76-74-29-34.contentfabric.io/eth" - }, - { - "url": "https://host-76-74-29-35.contentfabric.io/eth" - }, - { - "url": "https://host-154-14-211-98.contentfabric.io/eth" - }, - { - "url": "https://host-154-14-192-66.contentfabric.io/eth" - }, - { - "url": "https://host-60-240-133-202.contentfabric.io/eth" - }, - { - "url": "https://host-64-235-250-98.contentfabric.io/eth" - } - ], - "978657": [ - { - "url": "https://rpc-testnet.treasure.lol/http" - }, - { - "url": "wss://rpc-testnet.treasure.lol/ws" - } - ], - "984122": [ - { - "url": "https://rpc.forma.art" - } - ], - "984123": [ - { - "url": "https://rpc.sketchpad-1.forma.art" - } - ], - "988207": [ - { - "url": "https://mainnet-rpc.ecroxscan.com" - } - ], - "998899": [ - { - "url": "https://testnet-rpc.supernet.chaingames.io" - } - ], - "999999": [ - { - "url": "https://node1.amchain.net" - } - ], - "1100789": [ - { - "url": "https://testblock.protago-dev.com" - } - ], - "1127469": [ - { - "url": "https://subnets.avax.network/tiltyard/testnet/rpc" - } - ], - "1234567": [ - { - "url": "https://mainnet.sharecle.com" - } - ], - "1261120": [ - { - "url": "https://rpc.zkatana.gelato.digital" - }, - { - "url": "https://rpc.startale.com/zkatana" - }, - { - "url": "https://astar-zkatana.drpc.org" - }, - { - "url": "wss://astar-zkatana.drpc.org" - } - ], - "1313114": [ - { - "url": "https://rpc.ethoprotocol.com" - } - ], - "1313500": [ - { - "url": "https://rpc.xerom.org" - } - ], - "1337702": [ - { - "url": "https://rpc.kintsugi.themerge.dev" - } - ], - "1337802": [ - { - "url": "https://rpc.kiln.themerge.dev" - } - ], - "1337803": [ - { - "url": "https://rpc.zhejiang.ethpandaops.io" - } - ], - "1398243": [ - { - "url": "https://automata-testnet.alt.technology" - } - ], - "1612127": [ - { - "url": "https://albireo-rpc.playfi.ai" - } - ], - "1637450": [ - { - "url": "https://xterio-testnet.alt.technology" - } - ], - "1731313": [ - { - "url": "https://devchain-poa.huabeizhenxuan.com" - } - ], - "2021398": [ - { - "url": "http://rpc.testnet.debank.com" - } - ], - "2099156": [ - { - "url": "https://mainnet.plian.io/pchain" - } - ], - "2206132": [ - { - "url": "https://devnet2openapi.platon.network/rpc" - }, - { - "url": "wss://devnet2openapi.platon.network/ws" - } - ], - "2611555": [ - { - "url": "https://sc-rpc.dpu.ac.th" - } - ], - "2702128": [ - { - "url": "https://xterio-eth.alt.technology" - } - ], - "3132023": [ - { - "url": "https://mainnet.saharalabs.ai" - } - ], - "3397901": [ - { - "url": "https://funki-testnet.alt.technology" - } - ], - "3441005": [ - { - "url": "https://manta-testnet.calderachain.xyz/http" - }, - { - "url": "https://manta-pacific-testnet.drpc.org" - }, - { - "url": "wss://manta-pacific-testnet.drpc.org" - } - ], - "3441006": [ - { - "url": "https://pacific-rpc.sepolia-testnet.manta.network/http" - } - ], - "4000003": [ - { - "url": "https://zero.alt.technology" - } - ], - "4281033": [ - { - "url": "https://worlds-test.calderachain.xyz/http" - } - ], - "4444444": [ - { - "url": "https://altar-rpc.ceremonies.ai" - } - ], - "4457845": [ - { - "url": "https://rpc.zerion.io/v1/zero-sepolia" - } - ], - "5112023": [ - { - "url": "https://rpc-mainnet.numblock.org" - } - ], - "5167003": [ - { - "url": "https://wannsee-rpc.mxc.com" - } - ], - "5167004": [ - { - "url": "https://geneva-rpc.moonchain.com" - } - ], - "5201420": [ - { - "url": "https://testnet-rpc.electroneum.com" - } - ], - "5318008": [ - { - "url": "https://kopli-rpc.reactive.network" - }, - { - "url": "http://kopli-rpc.rkt.ink" - } - ], - "5555555": [ - { - "url": "https://jsonrpc.imversed.network" - }, - { - "url": "https://ws-jsonrpc.imversed.network" - } - ], - "5555558": [ - { - "url": "https://jsonrpc-test.imversed.network" - }, - { - "url": "https://ws-jsonrpc-test.imversed.network" - } - ], - "6038361": [ - { - "url": "https://rpc.startale.com/zkyoto" - }, - { - "url": "https://rpc.zkyoto.gelato.digital" - } - ], - "6666665": [ - { - "url": "https://rpc.anwang.com" - } - ], - "6666666": [ - { - "url": "https://rpc-testnet.anwang.com" - } - ], - "7225878": [ - { - "url": "https://rpc.saakuru.network" - } - ], - "7355310": [ - { - "url": "https://mainnet-external.openvessel.io" - } - ], - "7668378": [ - { - "url": "https://rpc.testnet.qom.one" - } - ], - "7762959": [ - { - "url": "https://mewapi.musicoin.tw" - } - ], - "7777777": [ - { - "url": "https://rpc.zora.energy" - } - ], - "8007736": [ - { - "url": "https://mainnet.plian.io/child_0" - } - ], - "8008135": [ - { - "url": "https://api.helium.fhenix.zone" - } - ], - "8080808": [ - { - "url": "https://mainnet.hokum.gg" - } - ], - "8601152": [ - { - "url": "https://rpc.testnet8.waterfall.network" - } - ], - "8794598": [ - { - "url": "https://jsonrpc.hap.land" - } - ], - "9322252": [ - { - "url": "https://xcap-mainnet.relay.xcap.network/znzvh2ueyvm2yts5fv5gnul395jbkfb2/rpc1" - } - ], - "9322253": [ - { - "url": "https://xcap-milvine.relay.xcap.network/zj5l55ftsgi027kz4nf14vs8d89inego/rpc1" - } - ], - "9999999": [ - { - "url": "https://rpc.mainnet.fluence.dev" - }, - { - "url": "wss://ws.mainnet.fluence.dev" - } - ], - "10067275": [ - { - "url": "https://testnet.plian.io/child_test" - } - ], - "10101010": [ - { - "url": "https://mainnet-rpc.soverun.com" - } - ], - "10241024": [ - { - "url": "https://rpc.alienxchain.io/http" - } - ], - "10241025": [ - { - "url": "https://hal-rpc.alienxchain.io/http" - }, - { - "url": "https://hal.rpc.caldera.xyz/http" - } - ], - "11145513": [ - { - "url": "https://blessnet-sepolia-testnet.rpc.caldera.xyz/http" - }, - { - "url": "wss://blessnet-sepolia-testnet.rpc.caldera.xyz/ws" - } - ], - "11155111": [ - { - "url": "https://eth-sepolia.g.alchemy.com/v2/demo", - "tracking": "yes", - "trackingDetails": "We may collect certain information automatically when you use our Services, such as your Internet protocol (IP) address, user settings, MAC address, cookie identifiers, mobile carrier, mobile advertising and other unique identifiers, browser or device information, location information (including approximate location derived from IP address), and Internet service provider. https://www.alchemy.com/policies/privacy-policy" - }, - { - "url": "https://endpoints.omniatech.io/v1/eth/sepolia/public", - "tracking": "none", - "trackingDetails": "All the data and metadata remain private to the users. No third party is able to access, analyze or track it. OMNIA leverages different technologies and approaches to guarantee the privacy of their users, from front-running protection and private mempools, to obfuscation and random dispatching. https://blog.omniatech.io/how-omnia-handles-your-personal-data" - }, - { - "url": "https://ethereum-sepolia.blockpi.network/v1/rpc/public", - "tracking": "limited", - "trackingDetails": "We do not collect request data or request origin. We only temporarily record the request method names and IP addresses for 7 days to ensure our service functionality such as load balancing and DDoS protection. All the data is automatically deleted after 7 days and we do not store any user information for longer periods of time. https://blockpi.io/privacy-policy" - }, - { - "url": "https://eth-sepolia.public.blastapi.io", - "tracking": "limited", - "trackingDetails": "All the information in our logs (log data) can only be accessed for the last 7 days at any certain time, and it is completely purged after 14 days. We do not store any user information for longer periods of time or with any other purposes than investigating potential errors and service failures. https://blastapi.io/privacy-policy" - }, - { - "url": "https://eth-sepolia-public.unifra.io", - "tracking": "limited", - "trackingDetails": "Regarding the RPC(remote procedure call) data, we do not collect request data or request origin. We temporarily record the request method names and IP addresses for 7 days to ensure our service functionality such as load balancing and DDoS protection. All the data is automatically deleted after 7 days. Only the amounts of RPC requests of users are recorded for accounting and billing purposes within longer time. https://unifra.io/" - }, - { - "url": "https://sepolia.gateway.tenderly.co", - "tracking": "yes", - "trackingDetails": "Additionally, if you are an Account Member, we may collect business and transactional data about you (and your business) that accumulates over the normal course of operation regarding providing our Services. This may include transaction records, stored files, user profiles, information about collaborators, analytics data, and other metrics, as well as other types of information created or generated by your interaction with our Services. https://tenderly.co/privacy-policy" - }, - { - "url": "https://gateway.tenderly.co/public/sepolia", - "tracking": "yes", - "trackingDetails": "Additionally, if you are an Account Member, we may collect business and transactional data about you (and your business) that accumulates over the normal course of operation regarding providing our Services. This may include transaction records, stored files, user profiles, information about collaborators, analytics data, and other metrics, as well as other types of information created or generated by your interaction with our Services. https://tenderly.co/privacy-policy" - }, - { - "url": "https://sphinx.shardeum.org", - "tracking": "yes", - "trackingDetails": "Shardeum follows a standard procedure of using log files. These files log visitors when they visit websites... The information collected by log files includes IP addresses, browser type, ISP, date and time stamp, referring/exit pages, and potentially the number of clicks.https://shardeum.org/privacy-policy/" - }, - { - "url": "https://dapps.shardeum.org", - "tracking": "yes", - "trackingDetails": "Shardeum follows a standard procedure of using log files. These files log visitors when they visit websites... The information collected by log files includes IP addresses, browser type, ISP, date and time stamp, referring/exit pages, and potentially the number of clicks.https://shardeum.org/privacy-policy/" - }, - { - "url": "https://api.zan.top/node/v1/eth/sepolia/public", - "tracking": "limited", - "trackingDetails": "ZAN Node Service generally does not store any kind of user information (e.g. IP address, location, requst location, request data, etc.) that transits through our RPCs except for one senario \u2014\u2014we may track your IP address when you are using our RPCs and will delete it immediately when you stoping using our RPCs. To learn more, please review our privacy policy at https://a.zan.top/static/Privacy-Policy.pdf" - }, - { - "url": "https://rpc.notadegen.com/eth/sepolia" - }, - { - "url": "https://ethereum-sepolia-rpc.publicnode.com", - "tracking": "none", - "trackingDetails": "We do not store or track any user data with the exception of data that will be public on chain. We do not correlate wallets address's with IP's, any data which is needed to transact is deleted after 24 hours. We also do no use any Analytics or 3rd party website tracking. https://www.publicnode.com/privacy" - }, - { - "url": "wss://ethereum-sepolia-rpc.publicnode.com", - "tracking": "none", - "trackingDetails": "We do not store or track any user data with the exception of data that will be public on chain. We do not correlate wallets address's with IP's, any data which is needed to transact is deleted after 24 hours. We also do no use any Analytics or 3rd party website tracking. https://www.publicnode.com/privacy" - }, - { - "url": "https://1rpc.io/sepolia", - "tracking": "none", - "trackingDetails": "With the exception of data that will be public on chain, all the other metadata / data should remain private to users and other parties should not be able to access or collect it. 1RPC uses many different techniques to prevent the unnecessary collection of user privacy, which prevents tracking from RPC providers. https://docs.1rpc.io/technology/zero-tracking" - }, - { - "url": "https://eth-sepolia.api.onfinality.io/public", - "tracking": "limited", - "trackingDetails": "For the sole purpose of providing our service, we temporarily record IP addresses and origins to check against free limits, provide load balancing, prevent DOS attacks, and to determine where best to locate our nodes. We do not, and will never, correlate or link specific wallet addresses or transactions made over our infrastructure to the IP address or origin making the RPC request. After processing IP addresses, we discard the IP address value within 24 hours. Read more here: https://blog.onfinality.io/how-does-onfinality-deal-with-personal-information/" - }, - { - "url": "https://rpc.sepolia.org" - }, - { - "url": "https://rpc2.sepolia.org" - }, - { - "url": "https://rpc-sepolia.rockx.com" - }, - { - "url": "https://rpc.sepolia.ethpandaops.io" - }, - { - "url": "wss://sepolia.gateway.tenderly.co" - }, - { - "url": "https://sepolia.drpc.org" - }, - { - "url": "wss://sepolia.drpc.org" - } - ], - "11155420": [ - { - "url": "https://optimism-sepolia.blockpi.network/v1/rpc/public", - "tracking": "limited", - "trackingDetails": "We do not collect request data or request origin. We only temporarily record the request method names and IP addresses for 7 days to ensure our service functionality such as load balancing and DDoS protection. All the data is automatically deleted after 7 days and we do not store any user information for longer periods of time. https://blockpi.io/privacy-policy" - }, - { - "url": "https://sepolia.optimism.io" - }, - { - "url": "https://optimism-sepolia.drpc.org" - }, - { - "url": "wss://optimism-sepolia.drpc.org" - } - ], - "12052024": [ - { - "url": "https://test-rpc.mementoblockchain.com/IRkghvI3FfEArEJMr4zC/rpc" - } - ], - "12227332": [ - { - "url": "https://testnet.rpc.banelabs.org" - } - ], - "13068200": [ - { - "url": "https://devnet.coti.io/rpc" - } - ], - "13371337": [ - { - "url": "https://churchill-rpc.pepchain.io" - } - ], - "14288640": [ - { - "url": "https://rpc.anduschain.io/rpc" - }, - { - "url": "wss://rpc.anduschain.io/ws" - } - ], - "16658437": [ - { - "url": "https://testnet.plian.io/testnet" - } - ], - "17000920": [ - { - "url": "https://testnrpc.lambda.im" - } - ], - "18071918": [ - { - "url": "https://mande-mainnet.public.blastapi.io" - } - ], - "18289463": [ - { - "url": "https://net.iolite.io" - } - ], - "19850818": [ - { - "url": "https://rpc-testnet.dbcwallet.io" - } - ], - "19880818": [ - { - "url": "https://rpc.dbcwallet.io" - } - ], - "20180427": [ - { - "url": "https://free.testnet.stabilityprotocol.com" - } - ], - "20180430": [ - { - "url": "https://jsonapi1.smartmesh.cn" - } - ], - "20181205": [ - { - "url": "https://hz.rpc.qkiscan.cn" - }, - { - "url": "https://rpc1.qkiscan.cn" - }, - { - "url": "https://rpc2.qkiscan.cn" - }, - { - "url": "https://rpc3.qkiscan.cn" - }, - { - "url": "https://rpc1.qkiscan.io" - }, - { - "url": "https://rpc2.qkiscan.io" - }, - { - "url": "https://rpc3.qkiscan.io" - }, - { - "url": "https://jp.rpc.qkiscan.io" - } - ], - "20201022": [ - { - "url": "https://pegorpc.com" - }, - { - "url": "https://node1.pegorpc.com" - }, - { - "url": "https://node2.pegorpc.com" - }, - { - "url": "https://node3.pegorpc.com" - } - ], - "20230825": [ - { - "url": "https://testnet.vcity.app" - } - ], - "20240324": [ - { - "url": "https://sepolia-rpc.testnet.debank.com" - } - ], - "20240603": [ - { - "url": "https://rpc.mainnet.dbkchain.io" - } - ], - "20241133": [ - { - "url": "https://rpc-proxima.swanchain.io" - } - ], - "20482050": [ - { - "url": "https://testnet.hokum.gg" - } - ], - "22052002": [ - { - "url": "https://edgewallet1.xlon.org" - } - ], - "27082017": [ - { - "url": "https://testnet-rpc.exlscan.com" - } - ], - "27082022": [ - { - "url": "https://rpc.exlscan.com" - } - ], - "28122024": [ - { - "url": "https://rpcv2-testnet.ancient8.gg" - } - ], - "28945486": [ - { - "url": "https://rpc.auxilium.global" - } - ], - "29032022": [ - { - "url": "https://flachain.flaexchange.top" - } - ], - "35855456": [ - { - "url": "https://node.joys.digital" - } - ], - "37084624": [ - { - "url": "https://testnet.skalenodes.com/v1/lanky-ill-funny-testnet" - }, - { - "url": "wss://testnet.skalenodes.com/v1/ws/lanky-ill-funny-testnet" - } - ], - "39916801": [ - { - "url": "https://kingdomchain.observer/rpc" - } - ], - "43214913": [ - { - "url": "http://174.138.9.169:9650/ext/bc/VUKSzFZKckx4PoZF9gX5QAqLPxbLzvu1vcssPG5QuodaJtdHT/rpc" - } - ], - "52164803": [ - { - "url": "https://rpc.testnet.fluence.dev" - }, - { - "url": "wss://ws.testnet.fluence.dev" - } - ], - "61717561": [ - { - "url": "https://c.onical.org" - }, - { - "url": "https://tx.aquacha.in/api" - } - ], - "65010003": [ - { - "url": "https://rpc1.bakerloo.autonity.org" - }, - { - "url": "wss://rpc1.bakerloo.autonity.org/ws" - } - ], - "65100003": [ - { - "url": "https://rpc1.piccadilly.autonity.org" - }, - { - "url": "wss://rpc1.piccadilly.autonity.org/ws" - } - ], - "68840142": [ - { - "url": "https://rpc.testnet.frame.xyz/http" - } - ], - "77787778": [ - { - "url": "https://rpc-test.0xhash.io" - } - ], - "79479957": [ - { - "url": "https://rpc.sx-rollup-testnet.t.raas.gelato.cloud" - } - ], - "88558801": [ - { - "url": "https://testnet.rpc.backstop.technology" - } - ], - "88888888": [ - { - "url": "https://rpc.teamblockchain.team", - "tracking": "none", - "trackingDetails": "We only store and track data that will be publicly available on the blockchain, and do not collect or retain any other user data. https://policy.teamblockchain.team/" - } - ], - "94204209": [ - { - "url": "https://rpc.polygon-blackberry.gelato.digital" - }, - { - "url": "wss://ws.polygon-blackberry.gelato.digital" - } - ], - "99415706": [ - { - "url": "https://toys.joys.cash" - } - ], - "100000000": [ - { - "url": "https://rpc.ethos.cool" - } - ], - "108160679": [ - { - "url": "https://evm.orai.io" - } - ], - "111557560": [ - { - "url": "https://cyber-testnet.alt.technology" - }, - { - "url": "wss://cyber-testnet.alt.technology/ws" - }, - { - "url": "https://rpc.testnet.cyber.co" - }, - { - "url": "wss://rpc.testnet.cyber.co" - } - ], - "123420111": [ - { - "url": "https://rpc.opcelestia-raspberry.gelato.digital" - }, - { - "url": "wss://ws.opcelestia-raspberry.gelato.digital" - } - ], - "161221135": [ - { - "url": "https://testnet-rpc.plumenetwork.xyz/http" - }, - { - "url": "wss://testnet-rpc.plumenetwork.xyz/ws" - } - ], - "168587773": [ - { - "url": "https://blast-sepolia.blockpi.network/v1/rpc/public", - "tracking": "limited", - "trackingDetails": "We do not collect request data or request origin. We only temporarily record the request method names and IP addresses for 7 days to ensure our service functionality such as load balancing and DDoS protection. All the data is automatically deleted after 7 days and we do not store any user information for longer periods of time. https://blockpi.io/privacy-policy" - }, - { - "url": "https://sepolia.blast.io" - }, - { - "url": "https://blast-sepolia.drpc.org" - }, - { - "url": "wss://blast-sepolia.drpc.org" - } - ], - "192837465": [ - { - "url": "https://mainnet.gather.network" - } - ], - "222000222": [ - { - "url": "https://testnet-rpc.meld.com" - } - ], - "245022926": [ - { - "url": "https://devnet.neonevm.org" - }, - { - "url": "https://neon-evm-devnet.drpc.org" - }, - { - "url": "wss://neon-evm-devnet.drpc.org" - } - ], - "245022929": [ - { - "url": "https://devnet.rollup.neonevm.org" - } - ], - "245022934": [ - { - "url": "https://neon-proxy-mainnet.solana.p2p.org" - }, - { - "url": "https://neon-mainnet.everstake.one" - }, - { - "url": "https://neon-evm.drpc.org" - }, - { - "url": "wss://neon-evm.drpc.org" - } - ], - "278611351": [ - { - "url": "https://mainnet.skalenodes.com/v1/turbulent-unique-scheat" - } - ], - "311752642": [ - { - "url": "https://mainnet-rpc.oneledger.network" - } - ], - "328527624": [ - { - "url": "https://testnet-rpc.nal.network" - } - ], - "333000333": [ - { - "url": "https://rpc-1.meld.com" - } - ], - "356256156": [ - { - "url": "https://testnet.gather.network" - } - ], - "476462898": [ - { - "url": "https://skopje-rpc.gptprotocol.io" - } - ], - "486217935": [ - { - "url": "https://devnet.gather.network" - } - ], - "531050104": [ - { - "url": "https://rpc.testnet.sophon.xyz" - } - ], - "666666666": [ - { - "url": "https://rpc.degen.tips" - } - ], - "888888888": [ - { - "url": "https://rpc.ancient8.gg" - } - ], - "889910245": [ - { - "url": "https://rpc-testnet.ptcscan.io" - } - ], - "889910246": [ - { - "url": "https://rpc.ptcscan.io" - } - ], - "974399131": [ - { - "url": "https://testnet.skalenodes.com/v1/giant-half-dual-testnet" - } - ], - "999999999": [ - { - "url": "https://sepolia.rpc.zora.energy" - } - ], - "1020352220": [ - { - "url": "https://testnet.skalenodes.com/v1/aware-fake-trim-testnet" - }, - { - "url": "wss://testnet.skalenodes.com/v1/ws/aware-fake-trim-testnet" - } - ], - "1122334455": [ - { - "url": "https://rpc.iposlab.com" - }, - { - "url": "https://rpc2.iposlab.com" - } - ], - "1146703430": [ - { - "url": "http://cybeth1.cyberdeck.eu:8545" - } - ], - "1273227453": [ - { - "url": "https://mainnet.skalenodes.com/v1/wan-red-ain" - } - ], - "1313161554": [ - { - "url": "https://mainnet.aurora.dev" - }, - { - "url": "https://endpoints.omniatech.io/v1/aurora/mainnet/public", - "tracking": "none", - "trackingDetails": "All the data and metadata remain private to the users. No third party is able to access, analyze or track it. OMNIA leverages different technologies and approaches to guarantee the privacy of their users, from front-running protection and private mempools, to obfuscation and random dispatching. https://blog.omniatech.io/how-omnia-handles-your-personal-data" - }, - { - "url": "https://1rpc.io/aurora", - "tracking": "none", - "trackingDetails": "With the exception of data that will be public on chain, all the other metadata / data should remain private to users and other parties should not be able to access or collect it. 1RPC uses many different techniques to prevent the unnecessary collection of user privacy, which prevents tracking from RPC providers. https://docs.1rpc.io/technology/zero-tracking" - }, - { - "url": "https://aurora.drpc.org", - "tracking": "none", - "trackingDetails": "Specific types of technical data that we may temporarily log include:IP address (only in logs for redirecting requests to the nearest RPC nodes and rate limiting at the free level, which are cleared weekly). The user ID is hidden in the temporary logs, so it is not possible to link them to a specific user.https://drpc.org/privacy-policy" - }, - { - "url": "wss://aurora.drpc.org" - } - ], - "1313161555": [ - { - "url": "https://endpoints.omniatech.io/v1/aurora/testnet/public", - "tracking": "none", - "trackingDetails": "All the data and metadata remain private to the users. No third party is able to access, analyze or track it. OMNIA leverages different technologies and approaches to guarantee the privacy of their users, from front-running protection and private mempools, to obfuscation and random dispatching. https://blog.omniatech.io/how-omnia-handles-your-personal-data" - }, - { - "url": "https://testnet.aurora.dev" - }, - { - "url": "https://aurora-testnet.drpc.org" - }, - { - "url": "wss://aurora-testnet.drpc.org" - } - ], - "1313161560": [ - { - "url": "https://powergold.aurora.dev" - } - ], - "1350216234": [ - { - "url": "https://mainnet.skalenodes.com/v1/parallel-stormy-spica" - }, - { - "url": "wss://mainnet.skalenodes.com/v1/ws/parallel-stormy-spica" - } - ], - "1351057110": [ - { - "url": "https://staging-v3.skalenodes.com/v1/staging-fast-active-bellatrix" - } - ], - "1380012617": [ - { - "url": "https://rari.calderachain.xyz/http" - } - ], - "1380996178": [ - { - "url": "https://rpc.raptorchain.io/web3" - } - ], - "1444673419": [ - { - "url": "https://testnet.skalenodes.com/v1/juicy-low-small-testnet" - } - ], - "1482601649": [ - { - "url": "https://mainnet.skalenodes.com/v1/green-giddy-denebola" - }, - { - "url": "wss://mainnet-proxy.skalenodes.com/v1/ws/green-giddy-denebola" - } - ], - "1511670449": [ - { - "url": "https://rpc.gptprotocol.io" - } - ], - "1564830818": [ - { - "url": "https://mainnet.skalenodes.com/v1/honorable-steel-rasalhague" - } - ], - "1666600000": [ - { - "url": "https://api.harmony.one" - }, - { - "url": "https://a.api.s0.t.hmny.io" - }, - { - "url": "https://api.s0.t.hmny.io" - }, - { - "url": "https://rpc.ankr.com/harmony", - "tracking": "limited", - "trackingDetails": "For service delivery purposes, we temporarily record IP addresses to set usage limits and monitor for denial of service attacks against our infrastructure. Though we do look at high-level data around the success rate of transactions made over the blockchain RPC, we do not correlate wallet transactions made over the infrastructure to the IP address making the RPC request. Thus, we do not store, exploit, or share any information regarding Personal Identifiable Information (PII), including wallet addresses. https://www.ankr.com/blog/ankrs-ip-address-policy-and-your-privacy/" - }, - { - "url": "https://harmony.api.onfinality.io/public", - "tracking": "limited", - "trackingDetails": "For the sole purpose of providing our service, we temporarily record IP addresses and origins to check against free limits, provide load balancing, prevent DOS attacks, and to determine where best to locate our nodes. We do not, and will never, correlate or link specific wallet addresses or transactions made over our infrastructure to the IP address or origin making the RPC request. After processing IP addresses, we discard the IP address value within 24 hours. Read more here: https://blog.onfinality.io/how-does-onfinality-deal-with-personal-information/" - }, - { - "url": "https://1rpc.io/one", - "tracking": "none", - "trackingDetails": "With the exception of data that will be public on chain, all the other metadata / data should remain private to users and other parties should not be able to access or collect it. 1RPC uses many different techniques to prevent the unnecessary collection of user privacy, which prevents tracking from RPC providers. https://docs.1rpc.io/technology/zero-tracking" - }, - { - "url": "https://hmyone-pokt.nodies.app", - "tracking": "none", - "trackingDetails": "What We Do Not Collect: User's IP address, request origin, request data. https://www.blog.pokt.network/rpc-logging-practices/" - }, - { - "url": "https://endpoints.omniatech.io/v1/harmony/mainnet-0/public", - "tracking": "none", - "trackingDetails": "All the data and metadata remain private to the users. No third party is able to access, analyze or track it. OMNIA leverages different technologies and approaches to guarantee the privacy of their users, from front-running protection and private mempools, to obfuscation and random dispatching. https://blog.omniatech.io/how-omnia-handles-your-personal-data" - }, - { - "url": "https://harmony-0.drpc.org" - }, - { - "url": "wss://harmony-0.drpc.org" - } - ], - "1666600001": [ - { - "url": "https://s1.api.harmony.one" - }, - { - "url": "https://api.s1.t.hmny.io" - }, - { - "url": "https://harmony-1.drpc.org" - }, - { - "url": "wss://harmony-1.drpc.org" - } - ], - "1666700000": [ - { - "url": "https://endpoints.omniatech.io/v1/harmony/testnet-0/public", - "tracking": "none", - "trackingDetails": "All the data and metadata remain private to the users. No third party is able to access, analyze or track it. OMNIA leverages different technologies and approaches to guarantee the privacy of their users, from front-running protection and private mempools, to obfuscation and random dispatching. https://blog.omniatech.io/how-omnia-handles-your-personal-data" - }, - { - "url": "https://api.s0.b.hmny.io" - } - ], - "1666700001": [ - { - "url": "https://api.s1.b.hmny.io" - } - ], - "1666900000": [ - { - "url": "https://api.s0.ps.hmny.io" - } - ], - "1666900001": [ - { - "url": "https://api.s1.ps.hmny.io" - } - ], - "1802203764": [ - { - "url": "https://sepolia-rpc.kakarot.org" - } - ], - "1903648807": [ - { - "url": "https://gemutest-rpc.gemuchain.io" - } - ], - "1918988905": [ - { - "url": "https://testnet.rpc.rarichain.org/http" - } - ], - "2021121117": [ - { - "url": "https://23.92.21.121:8545" - } - ], - "2046399126": [ - { - "url": "https://mainnet.skalenodes.com/v1/elated-tan-skat" - }, - { - "url": "wss://mainnet.skalenodes.com/v1/elated-tan-skat" - } - ], - "3125659152": [ - { - "url": "https://wallrpc.pirl.io" - } - ], - "4216137055": [ - { - "url": "https://frankenstein-rpc.oneledger.network" - } - ], - "11297108109": [ - { - "url": "https://palm-mainnet.infura.io/v3/3a961d6501e54add9a41aa53f15de99b", - "tracking": "limited", - "trackingDetails": "We collect wallet and IP address information. The purpose of this collection is to ensure successful transaction propagation, execution, and other important service functionality such as load balancing and DDoS protection. IP addresses and wallet address data relating to a transaction are not stored together or in a way that allows our systems to associate those two pieces of data. We retain and delete user data such as IP address and wallet address pursuant to our data retention policy. https://consensys.net/blog/news/consensys-data-retention-update/" - }, - { - "url": "https://palm-mainnet.public.blastapi.io", - "tracking": "limited", - "trackingDetails": "All the information in our logs (log data) can only be accessed for the last 7 days at any certain time, and it is completely purged after 14 days. We do not store any user information for longer periods of time or with any other purposes than investigating potential errors and service failures. https://blastapi.io/privacy-policy" - } - ], - "11297108099": [ - { - "url": "https://palm-testnet.public.blastapi.io", - "tracking": "limited", - "trackingDetails": "All the information in our logs (log data) can only be accessed for the last 7 days at any certain time, and it is completely purged after 14 days. We do not store any user information for longer periods of time or with any other purposes than investigating potential errors and service failures. https://blastapi.io/privacy-policy" - } - ], - "28872323069": [ - { - "url": "https://testnet.gitswarm.com:2096" - } - ], - "37714555429": [ - { - "url": "https://testnet-v2.xai-chain.net/rpc" - } - ], - "88153591557": [ - { - "url": "https://rpc.arb-blueberry.gelato.digital" - }, - { - "url": "wss://ws.arb-blueberry.gelato.digital" - } - ], - "111222333444": [ - { - "url": "https://londonpublic.alphabetnetwork.org" - }, - { - "url": "wss://londonpublic.alphabetnetwork.org/ws" - }, - { - "url": "https://main-rpc.com" - }, - { - "url": "wss://main-rpc.com/ws" - } - ], - "123420000220": [ - { - "url": "https://rpc-123420000220.raas-testnet.gelato.digital" - }, - { - "url": "wss://ws-123420000220.raas-testnet.gelato.digital" - } - ], - "197710212030": [ - { - "url": "https://rpc.ntity.io" - } - ], - "197710212031": [ - { - "url": "https://blockchain.haradev.com" - } - ], - "202402181627": [ - { - "url": "https://gmnetwork-testnet.alt.technology" - } - ], - "383414847825": [ - { - "url": "https://smart.zeniq.network:9545" - } - ], - "666301171999": [ - { - "url": "https://mainnet.ipdc.io" - } - ], - "6022140761023": [ - { - "url": "https://molereum.jdubedition.com" - } - ], - "2713017997578000": [ - { - "url": "https://dchaintestnet-2713017997578000-1.jsonrpc.testnet.sagarpc.io" - } - ], - "2716446429837000": [ - { - "url": "https://dchain-2716446429837000-1.jsonrpc.sagarpc.io" - } - ] -}; - -// types/constants.ts -var permit2Address = "0x000000000022D473030F116dDEE9F6B43aC78BA3"; -var nftAddress = "0xAa1bfC0e51969415d64d6dE74f27CDa0587e645b"; -var LOCAL_HOST = "http://127.0.0.1:8545"; -var LOCAL_HOST_2 = "http://127.0.0.1:8546"; -var networkIds = { - ...{ ...CHAINS_IDS }, - // removing readonly - 31337: "anvil", - 1337: "hardhat" -}; -var networkNames = Object.fromEntries( - Object.entries(networkIds).map(([key, value]) => { - return [value, key]; - }) -); -Reflect.deleteProperty(networkNames, "geth-testnet"); -Reflect.deleteProperty(networkNames, "gochain-testnet"); -var networkRpcs = Object.fromEntries( - Object.entries(networkNames).map(([, value]) => { - const chainRpcs = EXTRA_RPCS[value]; - return [value, { rpcs: chainRpcs }]; - }) -); -var networkExplorers = Object.fromEntries( - Object.entries(networkNames).map(([, value]) => { - const chainExplorers = NETWORK_EXPLORERS[value]; - return [value, chainExplorers]; - }) -); -var networkCurrencies = Object.fromEntries( - Object.entries(NETWORK_CURRENCIES).map(([chainId, currency]) => { - return [chainId, currency]; - }) -); -function getNetworkName(networkId) { - const networkName = networkIds[networkId]; - if (!networkName) { - console.error(`Unknown network ID: ${networkId}`); - } - return networkName ?? "Unknown Network"; -} -function getNetworkId(networkName) { - const networkId = networkNames[networkName]; - if (!networkId) { - console.error(`Unknown network name: ${networkName}`); - } - return networkId ?? -1; -} -function getNetworkFaucets(networkId) { - const faucets = NETWORK_FAUCETS[networkId]; - if (!faucets) { - console.error(`There may not be any faucets for network ID: ${networkId}`); - } - return faucets ?? []; -} -function getNetworkExplorer(networkId) { - const explorers = networkExplorers[networkId]; - if (!explorers) { - console.error(`There may not be any explorers for network ID: ${networkId}`); - } - return explorers ?? []; -} -function getNetworkRpcs(networkId) { - const rpcs = networkRpcs[networkId]; - if (!rpcs) { - console.error(`There may not be any RPCs for network ID: ${networkId}`); - } - return rpcs ?? []; -} -function getNetworkCurrency(networkId) { - const currency = networkCurrencies[networkId]; - if (!currency) { - console.error(`There may not be a currency for network ID: ${networkId}`); - } - return currency ?? { name: "Unknown Token", symbol: "UNK", decimals: 18 }; -} -function getNetworkData(networkId) { - return { - name: getNetworkName(networkId), - id: networkId, - rpcs: getNetworkRpcs(networkId), - currency: getNetworkCurrency(networkId), - explorers: getNetworkExplorer(networkId), - faucets: getNetworkFaucets(networkId) - }; -} - -// types/rpc-handler.ts -var import_providers = __toESM(require_lib22()); - -// types/handler.ts -function getRpcUrls(rpcs) { - const urls = []; - rpcs.forEach((rpc) => { - if (typeof rpc == "string") { - urls.push(rpc); - } else { - urls.push(rpc.url); - } - }); - return urls; -} - -// types/logs.ts -var PrettyLogs = class { - constructor() { - this.ok = this.ok.bind(this); - this.info = this.info.bind(this); - this.error = this.error.bind(this); - this.fatal = this.fatal.bind(this); - this.debug = this.debug.bind(this); - this.verbose = this.verbose.bind(this); - } - log(type, message, metadata) { - this._logWithStack(type, message, metadata); - } - fatal(message, metadata) { - this._logWithStack(LOG_LEVEL.FATAL, message, metadata); - } - error(message, metadata) { - this._logWithStack(LOG_LEVEL.ERROR, message, metadata); - } - ok(message, metadata) { - this._logWithStack("ok", message, metadata); - } - info(message, metadata) { - this._logWithStack(LOG_LEVEL.INFO, message, metadata); - } - debug(message, metadata) { - this._logWithStack(LOG_LEVEL.DEBUG, message, metadata); - } - verbose(message, metadata) { - this._logWithStack(LOG_LEVEL.VERBOSE, message, metadata); - } - getStackTrace() { - try { - throw new Error(); - } catch (e) { - return e.stack?.split("\n"); - } - } - _logWithStack(type, message, metaData) { - if (!metaData) { - this._log(type, message); - return; - } else if (typeof metaData === "string") { - this._log(type, `${message} - ${metaData}`); - return; - } else if (typeof metaData === "object" && !(metaData.error || metaData?.stack)) { - this._log(type, `${message} ${!this._isEmpty(metaData) ? JSON.stringify(metaData, null, 2) : ""}`); - return; - } - const metadata = metaData; - let stack = metadata?.error?.stack || metadata?.stack; - const stackTrace = this.getStackTrace(); - if (stackTrace) { - stackTrace.splice(0, 4); - stack = stackTrace.filter((line) => line.includes(".ts:")).join("\n"); - } - const newMetadata = { ...metadata }; - delete newMetadata.message; - delete newMetadata.name; - delete newMetadata.stack; - if (!this._isEmpty(newMetadata)) { - this._log(type, newMetadata); - } - if (stack && typeof stack == "string") { - const prettyStack = this._formatStackTrace(stack, 1); - const colorizedStack = this._colorizeText(prettyStack, COLORS.dim); - this._log(type, colorizedStack); - } else if (stack && Array.isArray(stack)) { - const prettyStack = this._formatStackTrace(stack.join("\n"), 1); - const colorizedStack = this._colorizeText(prettyStack, COLORS.dim); - this._log(type, colorizedStack); - } - } - _colorizeText(text, color) { - if (!color) { - throw new Error(`Invalid color: ${color}`); - } - return color.concat(text).concat(COLORS.reset); - } - _formatStackTrace(stack, linesToRemove = 0, prefix = "") { - const lines = stack.split("\n"); - for (let i = 0; i < linesToRemove; i++) { - lines.shift(); - } - return lines.map((line) => `${prefix}${line.replace(/\s*at\s*/, " \u21B3 ")}`).join("\n"); - } - _isEmpty(obj) { - return !Reflect.ownKeys(obj).some((key) => typeof obj[String(key)] !== "function"); - } - _log(type, message) { - const defaultSymbols = { - fatal: "\xD7", - ok: "\u2713", - error: "\u26A0", - info: "\u203A", - debug: "\u203A\u203A", - verbose: "\u{1F4AC}", - none: "" - }; - const symbol = defaultSymbols[type]; - const messageFormatted = typeof message === "string" ? message : JSON.stringify(message, null, 2); - if (!messageFormatted || messageFormatted === "{}" || messageFormatted.trim() === "") { - return; - } - const lines = messageFormatted.split("\n"); - const logString = lines.map((line, index) => { - const prefix = index === 0 ? ` ${symbol}` : ` ${" ".repeat(symbol.length)}`; - return `${prefix} ${line}`; - }).join("\n"); - const fullLogString = logString; - const colorMap = { - fatal: ["error", COLORS.fgRed], - ok: ["log", COLORS.fgGreen], - error: ["warn", COLORS.fgYellow], - info: ["info", COLORS.dim], - debug: ["debug", COLORS.fgMagenta], - verbose: ["debug", COLORS.dim], - none: ["log", COLORS.reset] - }; - const _console = console[colorMap[type][0]]; - if (typeof _console === "function" && fullLogString.length > 0) { - _console(this._colorizeText(fullLogString, colorMap[type][1])); - } else { - throw new Error(fullLogString); - } - } -}; -var COLORS = { - reset: "\x1B[0m", - bright: "\x1B[1m", - dim: "\x1B[2m", - underscore: "\x1B[4m", - blink: "\x1B[5m", - reverse: "\x1B[7m", - hidden: "\x1B[8m", - fgBlack: "\x1B[30m", - fgRed: "\x1B[31m", - fgGreen: "\x1B[32m", - fgYellow: "\x1B[33m", - fgBlue: "\x1B[34m", - fgMagenta: "\x1B[35m", - fgCyan: "\x1B[36m", - fgWhite: "\x1B[37m", - bgBlack: "\x1B[40m", - bgRed: "\x1B[41m", - bgGreen: "\x1B[42m", - bgYellow: "\x1B[43m", - bgBlue: "\x1B[44m", - bgMagenta: "\x1B[45m", - bgCyan: "\x1B[46m", - bgWhite: "\x1B[47m" -}; -var LOG_LEVEL = { - FATAL: "fatal", - ERROR: "error", - INFO: "info", - VERBOSE: "verbose", - DEBUG: "debug", - NONE: "none" -}; - -// node_modules/axios/lib/helpers/bind.js -function bind(fn, thisArg) { - return function wrap() { - return fn.apply(thisArg, arguments); - }; -} - -// node_modules/axios/lib/utils.js -var { toString } = Object.prototype; -var { getPrototypeOf } = Object; -var kindOf = /* @__PURE__ */ ((cache) => (thing) => { - const str = toString.call(thing); - return cache[str] || (cache[str] = str.slice(8, -1).toLowerCase()); -})(/* @__PURE__ */ Object.create(null)); -var kindOfTest = (type) => { - type = type.toLowerCase(); - return (thing) => kindOf(thing) === type; -}; -var typeOfTest = (type) => (thing) => typeof thing === type; -var { isArray } = Array; -var isUndefined = typeOfTest("undefined"); -function isBuffer(val) { - return val !== null && !isUndefined(val) && val.constructor !== null && !isUndefined(val.constructor) && isFunction(val.constructor.isBuffer) && val.constructor.isBuffer(val); -} -var isArrayBuffer = kindOfTest("ArrayBuffer"); -function isArrayBufferView(val) { - let result; - if (typeof ArrayBuffer !== "undefined" && ArrayBuffer.isView) { - result = ArrayBuffer.isView(val); - } else { - result = val && val.buffer && isArrayBuffer(val.buffer); - } - return result; -} -var isString = typeOfTest("string"); -var isFunction = typeOfTest("function"); -var isNumber = typeOfTest("number"); -var isObject = (thing) => thing !== null && typeof thing === "object"; -var isBoolean = (thing) => thing === true || thing === false; -var isPlainObject = (val) => { - if (kindOf(val) !== "object") { - return false; - } - const prototype3 = getPrototypeOf(val); - return (prototype3 === null || prototype3 === Object.prototype || Object.getPrototypeOf(prototype3) === null) && !(Symbol.toStringTag in val) && !(Symbol.iterator in val); -}; -var isDate = kindOfTest("Date"); -var isFile = kindOfTest("File"); -var isBlob = kindOfTest("Blob"); -var isFileList = kindOfTest("FileList"); -var isStream = (val) => isObject(val) && isFunction(val.pipe); -var isFormData = (thing) => { - let kind; - return thing && (typeof FormData === "function" && thing instanceof FormData || isFunction(thing.append) && ((kind = kindOf(thing)) === "formdata" || // detect form-data instance - kind === "object" && isFunction(thing.toString) && thing.toString() === "[object FormData]")); -}; -var isURLSearchParams = kindOfTest("URLSearchParams"); -var [isReadableStream, isRequest, isResponse, isHeaders] = ["ReadableStream", "Request", "Response", "Headers"].map(kindOfTest); -var trim = (str) => str.trim ? str.trim() : str.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, ""); -function forEach(obj, fn, { allOwnKeys = false } = {}) { - if (obj === null || typeof obj === "undefined") { - return; - } - let i; - let l; - if (typeof obj !== "object") { - obj = [obj]; - } - if (isArray(obj)) { - for (i = 0, l = obj.length; i < l; i++) { - fn.call(null, obj[i], i, obj); - } - } else { - const keys = allOwnKeys ? Object.getOwnPropertyNames(obj) : Object.keys(obj); - const len = keys.length; - let key; - for (i = 0; i < len; i++) { - key = keys[i]; - fn.call(null, obj[key], key, obj); - } - } -} -function findKey(obj, key) { - key = key.toLowerCase(); - const keys = Object.keys(obj); - let i = keys.length; - let _key; - while (i-- > 0) { - _key = keys[i]; - if (key === _key.toLowerCase()) { - return _key; - } - } - return null; -} -var _global = (() => { - if (typeof globalThis !== "undefined") - return globalThis; - return typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : global; -})(); -var isContextDefined = (context) => !isUndefined(context) && context !== _global; -function merge() { - const { caseless } = isContextDefined(this) && this || {}; - const result = {}; - const assignValue = (val, key) => { - const targetKey = caseless && findKey(result, key) || key; - if (isPlainObject(result[targetKey]) && isPlainObject(val)) { - result[targetKey] = merge(result[targetKey], val); - } else if (isPlainObject(val)) { - result[targetKey] = merge({}, val); - } else if (isArray(val)) { - result[targetKey] = val.slice(); - } else { - result[targetKey] = val; - } - }; - for (let i = 0, l = arguments.length; i < l; i++) { - arguments[i] && forEach(arguments[i], assignValue); - } - return result; -} -var extend = (a, b, thisArg, { allOwnKeys } = {}) => { - forEach(b, (val, key) => { - if (thisArg && isFunction(val)) { - a[key] = bind(val, thisArg); - } else { - a[key] = val; - } - }, { allOwnKeys }); - return a; -}; -var stripBOM = (content) => { - if (content.charCodeAt(0) === 65279) { - content = content.slice(1); - } - return content; -}; -var inherits = (constructor, superConstructor, props, descriptors2) => { - constructor.prototype = Object.create(superConstructor.prototype, descriptors2); - constructor.prototype.constructor = constructor; - Object.defineProperty(constructor, "super", { - value: superConstructor.prototype - }); - props && Object.assign(constructor.prototype, props); -}; -var toFlatObject = (sourceObj, destObj, filter2, propFilter) => { - let props; - let i; - let prop; - const merged = {}; - destObj = destObj || {}; - if (sourceObj == null) - return destObj; - do { - props = Object.getOwnPropertyNames(sourceObj); - i = props.length; - while (i-- > 0) { - prop = props[i]; - if ((!propFilter || propFilter(prop, sourceObj, destObj)) && !merged[prop]) { - destObj[prop] = sourceObj[prop]; - merged[prop] = true; - } - } - sourceObj = filter2 !== false && getPrototypeOf(sourceObj); - } while (sourceObj && (!filter2 || filter2(sourceObj, destObj)) && sourceObj !== Object.prototype); - return destObj; -}; -var endsWith = (str, searchString, position) => { - str = String(str); - if (position === void 0 || position > str.length) { - position = str.length; - } - position -= searchString.length; - const lastIndex = str.indexOf(searchString, position); - return lastIndex !== -1 && lastIndex === position; -}; -var toArray = (thing) => { - if (!thing) - return null; - if (isArray(thing)) - return thing; - let i = thing.length; - if (!isNumber(i)) - return null; - const arr = new Array(i); - while (i-- > 0) { - arr[i] = thing[i]; - } - return arr; -}; -var isTypedArray = /* @__PURE__ */ ((TypedArray) => { - return (thing) => { - return TypedArray && thing instanceof TypedArray; - }; -})(typeof Uint8Array !== "undefined" && getPrototypeOf(Uint8Array)); -var forEachEntry = (obj, fn) => { - const generator = obj && obj[Symbol.iterator]; - const iterator = generator.call(obj); - let result; - while ((result = iterator.next()) && !result.done) { - const pair = result.value; - fn.call(obj, pair[0], pair[1]); - } -}; -var matchAll = (regExp, str) => { - let matches; - const arr = []; - while ((matches = regExp.exec(str)) !== null) { - arr.push(matches); - } - return arr; -}; -var isHTMLForm = kindOfTest("HTMLFormElement"); -var toCamelCase = (str) => { - return str.toLowerCase().replace( - /[-_\s]([a-z\d])(\w*)/g, - function replacer(m, p1, p2) { - return p1.toUpperCase() + p2; - } - ); -}; -var hasOwnProperty = (({ hasOwnProperty: hasOwnProperty2 }) => (obj, prop) => hasOwnProperty2.call(obj, prop))(Object.prototype); -var isRegExp = kindOfTest("RegExp"); -var reduceDescriptors = (obj, reducer) => { - const descriptors2 = Object.getOwnPropertyDescriptors(obj); - const reducedDescriptors = {}; - forEach(descriptors2, (descriptor, name) => { - let ret; - if ((ret = reducer(descriptor, name, obj)) !== false) { - reducedDescriptors[name] = ret || descriptor; - } - }); - Object.defineProperties(obj, reducedDescriptors); -}; -var freezeMethods = (obj) => { - reduceDescriptors(obj, (descriptor, name) => { - if (isFunction(obj) && ["arguments", "caller", "callee"].indexOf(name) !== -1) { - return false; - } - const value = obj[name]; - if (!isFunction(value)) - return; - descriptor.enumerable = false; - if ("writable" in descriptor) { - descriptor.writable = false; - return; - } - if (!descriptor.set) { - descriptor.set = () => { - throw Error("Can not rewrite read-only method '" + name + "'"); - }; - } - }); -}; -var toObjectSet = (arrayOrString, delimiter) => { - const obj = {}; - const define2 = (arr) => { - arr.forEach((value) => { - obj[value] = true; - }); - }; - isArray(arrayOrString) ? define2(arrayOrString) : define2(String(arrayOrString).split(delimiter)); - return obj; -}; -var noop = () => { -}; -var toFiniteNumber = (value, defaultValue) => { - return value != null && Number.isFinite(value = +value) ? value : defaultValue; -}; -var ALPHA = "abcdefghijklmnopqrstuvwxyz"; -var DIGIT = "0123456789"; -var ALPHABET = { - DIGIT, - ALPHA, - ALPHA_DIGIT: ALPHA + ALPHA.toUpperCase() + DIGIT -}; -var generateString = (size = 16, alphabet = ALPHABET.ALPHA_DIGIT) => { - let str = ""; - const { length } = alphabet; - while (size--) { - str += alphabet[Math.random() * length | 0]; - } - return str; -}; -function isSpecCompliantForm(thing) { - return !!(thing && isFunction(thing.append) && thing[Symbol.toStringTag] === "FormData" && thing[Symbol.iterator]); -} -var toJSONObject = (obj) => { - const stack = new Array(10); - const visit = (source, i) => { - if (isObject(source)) { - if (stack.indexOf(source) >= 0) { - return; - } - if (!("toJSON" in source)) { - stack[i] = source; - const target = isArray(source) ? [] : {}; - forEach(source, (value, key) => { - const reducedValue = visit(value, i + 1); - !isUndefined(reducedValue) && (target[key] = reducedValue); - }); - stack[i] = void 0; - return target; - } - } - return source; - }; - return visit(obj, 0); -}; -var isAsyncFn = kindOfTest("AsyncFunction"); -var isThenable = (thing) => thing && (isObject(thing) || isFunction(thing)) && isFunction(thing.then) && isFunction(thing.catch); -var utils_default = { - isArray, - isArrayBuffer, - isBuffer, - isFormData, - isArrayBufferView, - isString, - isNumber, - isBoolean, - isObject, - isPlainObject, - isReadableStream, - isRequest, - isResponse, - isHeaders, - isUndefined, - isDate, - isFile, - isBlob, - isRegExp, - isFunction, - isStream, - isURLSearchParams, - isTypedArray, - isFileList, - forEach, - merge, - extend, - trim, - stripBOM, - inherits, - toFlatObject, - kindOf, - kindOfTest, - endsWith, - toArray, - forEachEntry, - matchAll, - isHTMLForm, - hasOwnProperty, - hasOwnProp: hasOwnProperty, - // an alias to avoid ESLint no-prototype-builtins detection - reduceDescriptors, - freezeMethods, - toObjectSet, - toCamelCase, - noop, - toFiniteNumber, - findKey, - global: _global, - isContextDefined, - ALPHABET, - generateString, - isSpecCompliantForm, - toJSONObject, - isAsyncFn, - isThenable -}; - -// node_modules/axios/lib/core/AxiosError.js -function AxiosError(message, code, config, request, response) { - Error.call(this); - if (Error.captureStackTrace) { - Error.captureStackTrace(this, this.constructor); - } else { - this.stack = new Error().stack; - } - this.message = message; - this.name = "AxiosError"; - code && (this.code = code); - config && (this.config = config); - request && (this.request = request); - response && (this.response = response); -} -utils_default.inherits(AxiosError, Error, { - toJSON: function toJSON() { - return { - // Standard - message: this.message, - name: this.name, - // Microsoft - description: this.description, - number: this.number, - // Mozilla - fileName: this.fileName, - lineNumber: this.lineNumber, - columnNumber: this.columnNumber, - stack: this.stack, - // Axios - config: utils_default.toJSONObject(this.config), - code: this.code, - status: this.response && this.response.status ? this.response.status : null - }; - } -}); -var prototype = AxiosError.prototype; -var descriptors = {}; -[ - "ERR_BAD_OPTION_VALUE", - "ERR_BAD_OPTION", - "ECONNABORTED", - "ETIMEDOUT", - "ERR_NETWORK", - "ERR_FR_TOO_MANY_REDIRECTS", - "ERR_DEPRECATED", - "ERR_BAD_RESPONSE", - "ERR_BAD_REQUEST", - "ERR_CANCELED", - "ERR_NOT_SUPPORT", - "ERR_INVALID_URL" - // eslint-disable-next-line func-names -].forEach((code) => { - descriptors[code] = { value: code }; -}); -Object.defineProperties(AxiosError, descriptors); -Object.defineProperty(prototype, "isAxiosError", { value: true }); -AxiosError.from = (error, code, config, request, response, customProps) => { - const axiosError = Object.create(prototype); - utils_default.toFlatObject(error, axiosError, function filter2(obj) { - return obj !== Error.prototype; - }, (prop) => { - return prop !== "isAxiosError"; - }); - AxiosError.call(axiosError, error.message, code, config, request, response); - axiosError.cause = error; - axiosError.name = error.name; - customProps && Object.assign(axiosError, customProps); - return axiosError; -}; -var AxiosError_default = AxiosError; - -// node_modules/axios/lib/platform/node/classes/FormData.js -var import_form_data = __toESM(require_form_data(), 1); -var FormData_default = import_form_data.default; - -// node_modules/axios/lib/helpers/toFormData.js -function isVisitable(thing) { - return utils_default.isPlainObject(thing) || utils_default.isArray(thing); -} -function removeBrackets(key) { - return utils_default.endsWith(key, "[]") ? key.slice(0, -2) : key; -} -function renderKey(path, key, dots) { - if (!path) - return key; - return path.concat(key).map(function each(token, i) { - token = removeBrackets(token); - return !dots && i ? "[" + token + "]" : token; - }).join(dots ? "." : ""); -} -function isFlatArray(arr) { - return utils_default.isArray(arr) && !arr.some(isVisitable); -} -var predicates = utils_default.toFlatObject(utils_default, {}, null, function filter(prop) { - return /^is[A-Z]/.test(prop); -}); -function toFormData(obj, formData, options) { - if (!utils_default.isObject(obj)) { - throw new TypeError("target must be an object"); - } - formData = formData || new (FormData_default || FormData)(); - options = utils_default.toFlatObject(options, { - metaTokens: true, - dots: false, - indexes: false - }, false, function defined(option, source) { - return !utils_default.isUndefined(source[option]); - }); - const metaTokens = options.metaTokens; - const visitor = options.visitor || defaultVisitor; - const dots = options.dots; - const indexes = options.indexes; - const _Blob = options.Blob || typeof Blob !== "undefined" && Blob; - const useBlob = _Blob && utils_default.isSpecCompliantForm(formData); - if (!utils_default.isFunction(visitor)) { - throw new TypeError("visitor must be a function"); - } - function convertValue(value) { - if (value === null) - return ""; - if (utils_default.isDate(value)) { - return value.toISOString(); - } - if (!useBlob && utils_default.isBlob(value)) { - throw new AxiosError_default("Blob is not supported. Use a Buffer instead."); - } - if (utils_default.isArrayBuffer(value) || utils_default.isTypedArray(value)) { - return useBlob && typeof Blob === "function" ? new Blob([value]) : Buffer.from(value); - } - return value; - } - function defaultVisitor(value, key, path) { - let arr = value; - if (value && !path && typeof value === "object") { - if (utils_default.endsWith(key, "{}")) { - key = metaTokens ? key : key.slice(0, -2); - value = JSON.stringify(value); - } else if (utils_default.isArray(value) && isFlatArray(value) || (utils_default.isFileList(value) || utils_default.endsWith(key, "[]")) && (arr = utils_default.toArray(value))) { - key = removeBrackets(key); - arr.forEach(function each(el, index) { - !(utils_default.isUndefined(el) || el === null) && formData.append( - // eslint-disable-next-line no-nested-ternary - indexes === true ? renderKey([key], index, dots) : indexes === null ? key : key + "[]", - convertValue(el) - ); - }); - return false; - } - } - if (isVisitable(value)) { - return true; - } - formData.append(renderKey(path, key, dots), convertValue(value)); - return false; - } - const stack = []; - const exposedHelpers = Object.assign(predicates, { - defaultVisitor, - convertValue, - isVisitable - }); - function build(value, path) { - if (utils_default.isUndefined(value)) - return; - if (stack.indexOf(value) !== -1) { - throw Error("Circular reference detected in " + path.join(".")); - } - stack.push(value); - utils_default.forEach(value, function each(el, key) { - const result = !(utils_default.isUndefined(el) || el === null) && visitor.call( - formData, - el, - utils_default.isString(key) ? key.trim() : key, - path, - exposedHelpers - ); - if (result === true) { - build(el, path ? path.concat(key) : [key]); - } - }); - stack.pop(); - } - if (!utils_default.isObject(obj)) { - throw new TypeError("data must be an object"); - } - build(obj); - return formData; -} -var toFormData_default = toFormData; - -// node_modules/axios/lib/helpers/AxiosURLSearchParams.js -function encode(str) { - const charMap = { - "!": "%21", - "'": "%27", - "(": "%28", - ")": "%29", - "~": "%7E", - "%20": "+", - "%00": "\0" - }; - return encodeURIComponent(str).replace(/[!'()~]|%20|%00/g, function replacer(match) { - return charMap[match]; - }); -} -function AxiosURLSearchParams(params, options) { - this._pairs = []; - params && toFormData_default(params, this, options); -} -var prototype2 = AxiosURLSearchParams.prototype; -prototype2.append = function append(name, value) { - this._pairs.push([name, value]); -}; -prototype2.toString = function toString2(encoder) { - const _encode = encoder ? function(value) { - return encoder.call(this, value, encode); - } : encode; - return this._pairs.map(function each(pair) { - return _encode(pair[0]) + "=" + _encode(pair[1]); - }, "").join("&"); -}; -var AxiosURLSearchParams_default = AxiosURLSearchParams; - -// node_modules/axios/lib/helpers/buildURL.js -function encode2(val) { - return encodeURIComponent(val).replace(/%3A/gi, ":").replace(/%24/g, "$").replace(/%2C/gi, ",").replace(/%20/g, "+").replace(/%5B/gi, "[").replace(/%5D/gi, "]"); -} -function buildURL(url2, params, options) { - if (!params) { - return url2; - } - const _encode = options && options.encode || encode2; - const serializeFn = options && options.serialize; - let serializedParams; - if (serializeFn) { - serializedParams = serializeFn(params, options); - } else { - serializedParams = utils_default.isURLSearchParams(params) ? params.toString() : new AxiosURLSearchParams_default(params, options).toString(_encode); - } - if (serializedParams) { - const hashmarkIndex = url2.indexOf("#"); - if (hashmarkIndex !== -1) { - url2 = url2.slice(0, hashmarkIndex); - } - url2 += (url2.indexOf("?") === -1 ? "?" : "&") + serializedParams; - } - return url2; -} - -// node_modules/axios/lib/core/InterceptorManager.js -var InterceptorManager = class { - constructor() { - this.handlers = []; - } - /** - * Add a new interceptor to the stack - * - * @param {Function} fulfilled The function to handle `then` for a `Promise` - * @param {Function} rejected The function to handle `reject` for a `Promise` - * - * @return {Number} An ID used to remove interceptor later - */ - use(fulfilled, rejected, options) { - this.handlers.push({ - fulfilled, - rejected, - synchronous: options ? options.synchronous : false, - runWhen: options ? options.runWhen : null - }); - return this.handlers.length - 1; - } - /** - * Remove an interceptor from the stack - * - * @param {Number} id The ID that was returned by `use` - * - * @returns {Boolean} `true` if the interceptor was removed, `false` otherwise - */ - eject(id) { - if (this.handlers[id]) { - this.handlers[id] = null; - } - } - /** - * Clear all interceptors from the stack - * - * @returns {void} - */ - clear() { - if (this.handlers) { - this.handlers = []; - } - } - /** - * Iterate over all the registered interceptors - * - * This method is particularly useful for skipping over any - * interceptors that may have become `null` calling `eject`. - * - * @param {Function} fn The function to call for each interceptor - * - * @returns {void} - */ - forEach(fn) { - utils_default.forEach(this.handlers, function forEachHandler(h) { - if (h !== null) { - fn(h); - } - }); - } -}; -var InterceptorManager_default = InterceptorManager; - -// node_modules/axios/lib/defaults/transitional.js -var transitional_default = { - silentJSONParsing: true, - forcedJSONParsing: true, - clarifyTimeoutError: false -}; - -// node_modules/axios/lib/platform/node/classes/URLSearchParams.js -var import_url = __toESM(__nccwpck_require__(87016), 1); -var URLSearchParams_default = import_url.default.URLSearchParams; - -// node_modules/axios/lib/platform/node/index.js -var node_default = { - isNode: true, - classes: { - URLSearchParams: URLSearchParams_default, - FormData: FormData_default, - Blob: typeof Blob !== "undefined" && Blob || null - }, - protocols: ["http", "https", "file", "data"] -}; - -// node_modules/axios/lib/platform/common/utils.js -var utils_exports = {}; -__export(utils_exports, { - hasBrowserEnv: () => hasBrowserEnv, - hasStandardBrowserEnv: () => hasStandardBrowserEnv, - hasStandardBrowserWebWorkerEnv: () => hasStandardBrowserWebWorkerEnv, - origin: () => origin -}); -var hasBrowserEnv = typeof window !== "undefined" && typeof document !== "undefined"; -var hasStandardBrowserEnv = ((product) => { - return hasBrowserEnv && ["ReactNative", "NativeScript", "NS"].indexOf(product) < 0; -})(typeof navigator !== "undefined" && navigator.product); -var hasStandardBrowserWebWorkerEnv = (() => { - return typeof WorkerGlobalScope !== "undefined" && // eslint-disable-next-line no-undef - self instanceof WorkerGlobalScope && typeof self.importScripts === "function"; -})(); -var origin = hasBrowserEnv && window.location.href || "http://localhost"; - -// node_modules/axios/lib/platform/index.js -var platform_default = { - ...utils_exports, - ...node_default -}; - -// node_modules/axios/lib/helpers/toURLEncodedForm.js -function toURLEncodedForm(data, options) { - return toFormData_default(data, new platform_default.classes.URLSearchParams(), Object.assign({ - visitor: function(value, key, path, helpers) { - if (platform_default.isNode && utils_default.isBuffer(value)) { - this.append(key, value.toString("base64")); - return false; - } - return helpers.defaultVisitor.apply(this, arguments); - } - }, options)); -} - -// node_modules/axios/lib/helpers/formDataToJSON.js -function parsePropPath(name) { - return utils_default.matchAll(/\w+|\[(\w*)]/g, name).map((match) => { - return match[0] === "[]" ? "" : match[1] || match[0]; - }); -} -function arrayToObject(arr) { - const obj = {}; - const keys = Object.keys(arr); - let i; - const len = keys.length; - let key; - for (i = 0; i < len; i++) { - key = keys[i]; - obj[key] = arr[key]; - } - return obj; -} -function formDataToJSON(formData) { - function buildPath(path, value, target, index) { - let name = path[index++]; - if (name === "__proto__") - return true; - const isNumericKey = Number.isFinite(+name); - const isLast = index >= path.length; - name = !name && utils_default.isArray(target) ? target.length : name; - if (isLast) { - if (utils_default.hasOwnProp(target, name)) { - target[name] = [target[name], value]; - } else { - target[name] = value; - } - return !isNumericKey; - } - if (!target[name] || !utils_default.isObject(target[name])) { - target[name] = []; - } - const result = buildPath(path, value, target[name], index); - if (result && utils_default.isArray(target[name])) { - target[name] = arrayToObject(target[name]); - } - return !isNumericKey; - } - if (utils_default.isFormData(formData) && utils_default.isFunction(formData.entries)) { - const obj = {}; - utils_default.forEachEntry(formData, (name, value) => { - buildPath(parsePropPath(name), value, obj, 0); - }); - return obj; - } - return null; -} -var formDataToJSON_default = formDataToJSON; - -// node_modules/axios/lib/defaults/index.js -function stringifySafely(rawValue, parser, encoder) { - if (utils_default.isString(rawValue)) { - try { - (parser || JSON.parse)(rawValue); - return utils_default.trim(rawValue); - } catch (e) { - if (e.name !== "SyntaxError") { - throw e; - } - } - } - return (encoder || JSON.stringify)(rawValue); -} -var defaults = { - transitional: transitional_default, - adapter: ["xhr", "http", "fetch"], - transformRequest: [function transformRequest(data, headers) { - const contentType = headers.getContentType() || ""; - const hasJSONContentType = contentType.indexOf("application/json") > -1; - const isObjectPayload = utils_default.isObject(data); - if (isObjectPayload && utils_default.isHTMLForm(data)) { - data = new FormData(data); - } - const isFormData2 = utils_default.isFormData(data); - if (isFormData2) { - return hasJSONContentType ? JSON.stringify(formDataToJSON_default(data)) : data; - } - if (utils_default.isArrayBuffer(data) || utils_default.isBuffer(data) || utils_default.isStream(data) || utils_default.isFile(data) || utils_default.isBlob(data) || utils_default.isReadableStream(data)) { - return data; - } - if (utils_default.isArrayBufferView(data)) { - return data.buffer; - } - if (utils_default.isURLSearchParams(data)) { - headers.setContentType("application/x-www-form-urlencoded;charset=utf-8", false); - return data.toString(); - } - let isFileList2; - if (isObjectPayload) { - if (contentType.indexOf("application/x-www-form-urlencoded") > -1) { - return toURLEncodedForm(data, this.formSerializer).toString(); - } - if ((isFileList2 = utils_default.isFileList(data)) || contentType.indexOf("multipart/form-data") > -1) { - const _FormData = this.env && this.env.FormData; - return toFormData_default( - isFileList2 ? { "files[]": data } : data, - _FormData && new _FormData(), - this.formSerializer - ); - } - } - if (isObjectPayload || hasJSONContentType) { - headers.setContentType("application/json", false); - return stringifySafely(data); - } - return data; - }], - transformResponse: [function transformResponse(data) { - const transitional2 = this.transitional || defaults.transitional; - const forcedJSONParsing = transitional2 && transitional2.forcedJSONParsing; - const JSONRequested = this.responseType === "json"; - if (utils_default.isResponse(data) || utils_default.isReadableStream(data)) { - return data; - } - if (data && utils_default.isString(data) && (forcedJSONParsing && !this.responseType || JSONRequested)) { - const silentJSONParsing = transitional2 && transitional2.silentJSONParsing; - const strictJSONParsing = !silentJSONParsing && JSONRequested; - try { - return JSON.parse(data); - } catch (e) { - if (strictJSONParsing) { - if (e.name === "SyntaxError") { - throw AxiosError_default.from(e, AxiosError_default.ERR_BAD_RESPONSE, this, null, this.response); - } - throw e; - } - } - } - return data; - }], - /** - * A timeout in milliseconds to abort a request. If set to 0 (default) a - * timeout is not created. - */ - timeout: 0, - xsrfCookieName: "XSRF-TOKEN", - xsrfHeaderName: "X-XSRF-TOKEN", - maxContentLength: -1, - maxBodyLength: -1, - env: { - FormData: platform_default.classes.FormData, - Blob: platform_default.classes.Blob - }, - validateStatus: function validateStatus(status) { - return status >= 200 && status < 300; - }, - headers: { - common: { - "Accept": "application/json, text/plain, */*", - "Content-Type": void 0 - } - } -}; -utils_default.forEach(["delete", "get", "head", "post", "put", "patch"], (method) => { - defaults.headers[method] = {}; -}); -var defaults_default = defaults; - -// node_modules/axios/lib/helpers/parseHeaders.js -var ignoreDuplicateOf = utils_default.toObjectSet([ - "age", - "authorization", - "content-length", - "content-type", - "etag", - "expires", - "from", - "host", - "if-modified-since", - "if-unmodified-since", - "last-modified", - "location", - "max-forwards", - "proxy-authorization", - "referer", - "retry-after", - "user-agent" -]); -var parseHeaders_default = (rawHeaders) => { - const parsed = {}; - let key; - let val; - let i; - rawHeaders && rawHeaders.split("\n").forEach(function parser(line) { - i = line.indexOf(":"); - key = line.substring(0, i).trim().toLowerCase(); - val = line.substring(i + 1).trim(); - if (!key || parsed[key] && ignoreDuplicateOf[key]) { - return; - } - if (key === "set-cookie") { - if (parsed[key]) { - parsed[key].push(val); - } else { - parsed[key] = [val]; - } - } else { - parsed[key] = parsed[key] ? parsed[key] + ", " + val : val; - } - }); - return parsed; -}; - -// node_modules/axios/lib/core/AxiosHeaders.js -var $internals = Symbol("internals"); -function normalizeHeader(header) { - return header && String(header).trim().toLowerCase(); -} -function normalizeValue(value) { - if (value === false || value == null) { - return value; - } - return utils_default.isArray(value) ? value.map(normalizeValue) : String(value); -} -function parseTokens(str) { - const tokens = /* @__PURE__ */ Object.create(null); - const tokensRE = /([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g; - let match; - while (match = tokensRE.exec(str)) { - tokens[match[1]] = match[2]; - } - return tokens; -} -var isValidHeaderName = (str) => /^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(str.trim()); -function matchHeaderValue(context, value, header, filter2, isHeaderNameFilter) { - if (utils_default.isFunction(filter2)) { - return filter2.call(this, value, header); - } - if (isHeaderNameFilter) { - value = header; - } - if (!utils_default.isString(value)) - return; - if (utils_default.isString(filter2)) { - return value.indexOf(filter2) !== -1; - } - if (utils_default.isRegExp(filter2)) { - return filter2.test(value); - } -} -function formatHeader(header) { - return header.trim().toLowerCase().replace(/([a-z\d])(\w*)/g, (w, char, str) => { - return char.toUpperCase() + str; - }); -} -function buildAccessors(obj, header) { - const accessorName = utils_default.toCamelCase(" " + header); - ["get", "set", "has"].forEach((methodName) => { - Object.defineProperty(obj, methodName + accessorName, { - value: function(arg1, arg2, arg3) { - return this[methodName].call(this, header, arg1, arg2, arg3); - }, - configurable: true - }); - }); -} -var AxiosHeaders = class { - constructor(headers) { - headers && this.set(headers); - } - set(header, valueOrRewrite, rewrite) { - const self2 = this; - function setHeader(_value, _header, _rewrite) { - const lHeader = normalizeHeader(_header); - if (!lHeader) { - throw new Error("header name must be a non-empty string"); - } - const key = utils_default.findKey(self2, lHeader); - if (!key || self2[key] === void 0 || _rewrite === true || _rewrite === void 0 && self2[key] !== false) { - self2[key || _header] = normalizeValue(_value); - } - } - const setHeaders = (headers, _rewrite) => utils_default.forEach(headers, (_value, _header) => setHeader(_value, _header, _rewrite)); - if (utils_default.isPlainObject(header) || header instanceof this.constructor) { - setHeaders(header, valueOrRewrite); - } else if (utils_default.isString(header) && (header = header.trim()) && !isValidHeaderName(header)) { - setHeaders(parseHeaders_default(header), valueOrRewrite); - } else if (utils_default.isHeaders(header)) { - for (const [key, value] of header.entries()) { - setHeader(value, key, rewrite); - } - } else { - header != null && setHeader(valueOrRewrite, header, rewrite); - } - return this; - } - get(header, parser) { - header = normalizeHeader(header); - if (header) { - const key = utils_default.findKey(this, header); - if (key) { - const value = this[key]; - if (!parser) { - return value; - } - if (parser === true) { - return parseTokens(value); - } - if (utils_default.isFunction(parser)) { - return parser.call(this, value, key); - } - if (utils_default.isRegExp(parser)) { - return parser.exec(value); - } - throw new TypeError("parser must be boolean|regexp|function"); - } - } - } - has(header, matcher) { - header = normalizeHeader(header); - if (header) { - const key = utils_default.findKey(this, header); - return !!(key && this[key] !== void 0 && (!matcher || matchHeaderValue(this, this[key], key, matcher))); - } - return false; - } - delete(header, matcher) { - const self2 = this; - let deleted = false; - function deleteHeader(_header) { - _header = normalizeHeader(_header); - if (_header) { - const key = utils_default.findKey(self2, _header); - if (key && (!matcher || matchHeaderValue(self2, self2[key], key, matcher))) { - delete self2[key]; - deleted = true; - } - } - } - if (utils_default.isArray(header)) { - header.forEach(deleteHeader); - } else { - deleteHeader(header); - } - return deleted; - } - clear(matcher) { - const keys = Object.keys(this); - let i = keys.length; - let deleted = false; - while (i--) { - const key = keys[i]; - if (!matcher || matchHeaderValue(this, this[key], key, matcher, true)) { - delete this[key]; - deleted = true; - } - } - return deleted; - } - normalize(format) { - const self2 = this; - const headers = {}; - utils_default.forEach(this, (value, header) => { - const key = utils_default.findKey(headers, header); - if (key) { - self2[key] = normalizeValue(value); - delete self2[header]; - return; - } - const normalized = format ? formatHeader(header) : String(header).trim(); - if (normalized !== header) { - delete self2[header]; - } - self2[normalized] = normalizeValue(value); - headers[normalized] = true; - }); - return this; - } - concat(...targets) { - return this.constructor.concat(this, ...targets); - } - toJSON(asStrings) { - const obj = /* @__PURE__ */ Object.create(null); - utils_default.forEach(this, (value, header) => { - value != null && value !== false && (obj[header] = asStrings && utils_default.isArray(value) ? value.join(", ") : value); - }); - return obj; - } - [Symbol.iterator]() { - return Object.entries(this.toJSON())[Symbol.iterator](); - } - toString() { - return Object.entries(this.toJSON()).map(([header, value]) => header + ": " + value).join("\n"); - } - get [Symbol.toStringTag]() { - return "AxiosHeaders"; - } - static from(thing) { - return thing instanceof this ? thing : new this(thing); - } - static concat(first, ...targets) { - const computed = new this(first); - targets.forEach((target) => computed.set(target)); - return computed; - } - static accessor(header) { - const internals = this[$internals] = this[$internals] = { - accessors: {} - }; - const accessors = internals.accessors; - const prototype3 = this.prototype; - function defineAccessor(_header) { - const lHeader = normalizeHeader(_header); - if (!accessors[lHeader]) { - buildAccessors(prototype3, _header); - accessors[lHeader] = true; - } - } - utils_default.isArray(header) ? header.forEach(defineAccessor) : defineAccessor(header); - return this; - } -}; -AxiosHeaders.accessor(["Content-Type", "Content-Length", "Accept", "Accept-Encoding", "User-Agent", "Authorization"]); -utils_default.reduceDescriptors(AxiosHeaders.prototype, ({ value }, key) => { - let mapped = key[0].toUpperCase() + key.slice(1); - return { - get: () => value, - set(headerValue) { - this[mapped] = headerValue; - } - }; -}); -utils_default.freezeMethods(AxiosHeaders); -var AxiosHeaders_default = AxiosHeaders; - -// node_modules/axios/lib/core/transformData.js -function transformData(fns, response) { - const config = this || defaults_default; - const context = response || config; - const headers = AxiosHeaders_default.from(context.headers); - let data = context.data; - utils_default.forEach(fns, function transform(fn) { - data = fn.call(config, data, headers.normalize(), response ? response.status : void 0); - }); - headers.normalize(); - return data; -} - -// node_modules/axios/lib/cancel/isCancel.js -function isCancel(value) { - return !!(value && value.__CANCEL__); -} - -// node_modules/axios/lib/cancel/CanceledError.js -function CanceledError(message, config, request) { - AxiosError_default.call(this, message == null ? "canceled" : message, AxiosError_default.ERR_CANCELED, config, request); - this.name = "CanceledError"; -} -utils_default.inherits(CanceledError, AxiosError_default, { - __CANCEL__: true -}); -var CanceledError_default = CanceledError; - -// node_modules/axios/lib/core/settle.js -function settle(resolve, reject, response) { - const validateStatus2 = response.config.validateStatus; - if (!response.status || !validateStatus2 || validateStatus2(response.status)) { - resolve(response); - } else { - reject(new AxiosError_default( - "Request failed with status code " + response.status, - [AxiosError_default.ERR_BAD_REQUEST, AxiosError_default.ERR_BAD_RESPONSE][Math.floor(response.status / 100) - 4], - response.config, - response.request, - response - )); - } -} - -// node_modules/axios/lib/helpers/isAbsoluteURL.js -function isAbsoluteURL(url2) { - return /^([a-z][a-z\d+\-.]*:)?\/\//i.test(url2); -} - -// node_modules/axios/lib/helpers/combineURLs.js -function combineURLs(baseURL, relativeURL) { - return relativeURL ? baseURL.replace(/\/?\/$/, "") + "/" + relativeURL.replace(/^\/+/, "") : baseURL; -} - -// node_modules/axios/lib/core/buildFullPath.js -function buildFullPath(baseURL, requestedURL) { - if (baseURL && !isAbsoluteURL(requestedURL)) { - return combineURLs(baseURL, requestedURL); - } - return requestedURL; -} - -// node_modules/axios/lib/adapters/http.js -var import_proxy_from_env = __toESM(require_proxy_from_env(), 1); -var import_http = __toESM(__nccwpck_require__(58611), 1); -var import_https = __toESM(__nccwpck_require__(65692), 1); -var import_util2 = __toESM(__nccwpck_require__(39023), 1); -var import_follow_redirects = __toESM(require_follow_redirects(), 1); -var import_zlib = __toESM(__nccwpck_require__(43106), 1); - -// node_modules/axios/lib/env/data.js -var VERSION = "1.7.2"; - -// node_modules/axios/lib/helpers/parseProtocol.js -function parseProtocol(url2) { - const match = /^([-+\w]{1,25})(:?\/\/|:)/.exec(url2); - return match && match[1] || ""; -} - -// node_modules/axios/lib/helpers/fromDataURI.js -var DATA_URL_PATTERN = /^(?:([^;]+);)?(?:[^;]+;)?(base64|),([\s\S]*)$/; -function fromDataURI(uri, asBlob, options) { - const _Blob = options && options.Blob || platform_default.classes.Blob; - const protocol = parseProtocol(uri); - if (asBlob === void 0 && _Blob) { - asBlob = true; - } - if (protocol === "data") { - uri = protocol.length ? uri.slice(protocol.length + 1) : uri; - const match = DATA_URL_PATTERN.exec(uri); - if (!match) { - throw new AxiosError_default("Invalid URL", AxiosError_default.ERR_INVALID_URL); - } - const mime = match[1]; - const isBase64 = match[2]; - const body = match[3]; - const buffer = Buffer.from(decodeURIComponent(body), isBase64 ? "base64" : "utf8"); - if (asBlob) { - if (!_Blob) { - throw new AxiosError_default("Blob is not supported", AxiosError_default.ERR_NOT_SUPPORT); - } - return new _Blob([buffer], { type: mime }); - } - return buffer; - } - throw new AxiosError_default("Unsupported protocol " + protocol, AxiosError_default.ERR_NOT_SUPPORT); -} - -// node_modules/axios/lib/adapters/http.js -var import_stream4 = __toESM(__nccwpck_require__(2203), 1); - -// node_modules/axios/lib/helpers/AxiosTransformStream.js -var import_stream = __toESM(__nccwpck_require__(2203), 1); - -// node_modules/axios/lib/helpers/throttle.js -function throttle(fn, freq) { - let timestamp = 0; - const threshold = 1e3 / freq; - let timer = null; - return function throttled() { - const force = this === true; - const now = Date.now(); - if (force || now - timestamp > threshold) { - if (timer) { - clearTimeout(timer); - timer = null; - } - timestamp = now; - return fn.apply(null, arguments); - } - if (!timer) { - timer = setTimeout(() => { - timer = null; - timestamp = Date.now(); - return fn.apply(null, arguments); - }, threshold - (now - timestamp)); - } - }; -} -var throttle_default = throttle; - -// node_modules/axios/lib/helpers/speedometer.js -function speedometer(samplesCount, min) { - samplesCount = samplesCount || 10; - const bytes = new Array(samplesCount); - const timestamps = new Array(samplesCount); - let head = 0; - let tail = 0; - let firstSampleTS; - min = min !== void 0 ? min : 1e3; - return function push(chunkLength) { - const now = Date.now(); - const startedAt = timestamps[tail]; - if (!firstSampleTS) { - firstSampleTS = now; - } - bytes[head] = chunkLength; - timestamps[head] = now; - let i = tail; - let bytesCount = 0; - while (i !== head) { - bytesCount += bytes[i++]; - i = i % samplesCount; - } - head = (head + 1) % samplesCount; - if (head === tail) { - tail = (tail + 1) % samplesCount; - } - if (now - firstSampleTS < min) { - return; - } - const passed = startedAt && now - startedAt; - return passed ? Math.round(bytesCount * 1e3 / passed) : void 0; - }; -} -var speedometer_default = speedometer; - -// node_modules/axios/lib/helpers/AxiosTransformStream.js -var kInternals = Symbol("internals"); -var AxiosTransformStream = class extends import_stream.default.Transform { - constructor(options) { - options = utils_default.toFlatObject(options, { - maxRate: 0, - chunkSize: 64 * 1024, - minChunkSize: 100, - timeWindow: 500, - ticksRate: 2, - samplesCount: 15 - }, null, (prop, source) => { - return !utils_default.isUndefined(source[prop]); - }); - super({ - readableHighWaterMark: options.chunkSize - }); - const self2 = this; - const internals = this[kInternals] = { - length: options.length, - timeWindow: options.timeWindow, - ticksRate: options.ticksRate, - chunkSize: options.chunkSize, - maxRate: options.maxRate, - minChunkSize: options.minChunkSize, - bytesSeen: 0, - isCaptured: false, - notifiedBytesLoaded: 0, - ts: Date.now(), - bytes: 0, - onReadCallback: null - }; - const _speedometer = speedometer_default(internals.ticksRate * options.samplesCount, internals.timeWindow); - this.on("newListener", (event) => { - if (event === "progress") { - if (!internals.isCaptured) { - internals.isCaptured = true; - } - } - }); - let bytesNotified = 0; - internals.updateProgress = throttle_default(function throttledHandler() { - const totalBytes = internals.length; - const bytesTransferred = internals.bytesSeen; - const progressBytes = bytesTransferred - bytesNotified; - if (!progressBytes || self2.destroyed) - return; - const rate = _speedometer(progressBytes); - bytesNotified = bytesTransferred; - process.nextTick(() => { - self2.emit("progress", { - loaded: bytesTransferred, - total: totalBytes, - progress: totalBytes ? bytesTransferred / totalBytes : void 0, - bytes: progressBytes, - rate: rate ? rate : void 0, - estimated: rate && totalBytes && bytesTransferred <= totalBytes ? (totalBytes - bytesTransferred) / rate : void 0, - lengthComputable: totalBytes != null - }); - }); - }, internals.ticksRate); - const onFinish = () => { - internals.updateProgress.call(true); - }; - this.once("end", onFinish); - this.once("error", onFinish); - } - _read(size) { - const internals = this[kInternals]; - if (internals.onReadCallback) { - internals.onReadCallback(); - } - return super._read(size); - } - _transform(chunk, encoding, callback) { - const self2 = this; - const internals = this[kInternals]; - const maxRate = internals.maxRate; - const readableHighWaterMark = this.readableHighWaterMark; - const timeWindow = internals.timeWindow; - const divider = 1e3 / timeWindow; - const bytesThreshold = maxRate / divider; - const minChunkSize = internals.minChunkSize !== false ? Math.max(internals.minChunkSize, bytesThreshold * 0.01) : 0; - function pushChunk(_chunk, _callback) { - const bytes = Buffer.byteLength(_chunk); - internals.bytesSeen += bytes; - internals.bytes += bytes; - if (internals.isCaptured) { - internals.updateProgress(); - } - if (self2.push(_chunk)) { - process.nextTick(_callback); - } else { - internals.onReadCallback = () => { - internals.onReadCallback = null; - process.nextTick(_callback); - }; - } - } - const transformChunk = (_chunk, _callback) => { - const chunkSize = Buffer.byteLength(_chunk); - let chunkRemainder = null; - let maxChunkSize = readableHighWaterMark; - let bytesLeft; - let passed = 0; - if (maxRate) { - const now = Date.now(); - if (!internals.ts || (passed = now - internals.ts) >= timeWindow) { - internals.ts = now; - bytesLeft = bytesThreshold - internals.bytes; - internals.bytes = bytesLeft < 0 ? -bytesLeft : 0; - passed = 0; - } - bytesLeft = bytesThreshold - internals.bytes; - } - if (maxRate) { - if (bytesLeft <= 0) { - return setTimeout(() => { - _callback(null, _chunk); - }, timeWindow - passed); - } - if (bytesLeft < maxChunkSize) { - maxChunkSize = bytesLeft; - } - } - if (maxChunkSize && chunkSize > maxChunkSize && chunkSize - maxChunkSize > minChunkSize) { - chunkRemainder = _chunk.subarray(maxChunkSize); - _chunk = _chunk.subarray(0, maxChunkSize); - } - pushChunk(_chunk, chunkRemainder ? () => { - process.nextTick(_callback, null, chunkRemainder); - } : _callback); - }; - transformChunk(chunk, function transformNextChunk(err, _chunk) { - if (err) { - return callback(err); - } - if (_chunk) { - transformChunk(_chunk, transformNextChunk); - } else { - callback(null); - } - }); - } - setLength(length) { - this[kInternals].length = +length; - return this; - } -}; -var AxiosTransformStream_default = AxiosTransformStream; - -// node_modules/axios/lib/adapters/http.js -var import_events = __nccwpck_require__(24434); - -// node_modules/axios/lib/helpers/formDataToStream.js -var import_util = __nccwpck_require__(39023); -var import_stream2 = __nccwpck_require__(2203); - -// node_modules/axios/lib/helpers/readBlob.js -var { asyncIterator } = Symbol; -var readBlob = async function* (blob) { - if (blob.stream) { - yield* blob.stream(); - } else if (blob.arrayBuffer) { - yield await blob.arrayBuffer(); - } else if (blob[asyncIterator]) { - yield* blob[asyncIterator](); - } else { - yield blob; - } -}; -var readBlob_default = readBlob; - -// node_modules/axios/lib/helpers/formDataToStream.js -var BOUNDARY_ALPHABET = utils_default.ALPHABET.ALPHA_DIGIT + "-_"; -var textEncoder = new import_util.TextEncoder(); -var CRLF = "\r\n"; -var CRLF_BYTES = textEncoder.encode(CRLF); -var CRLF_BYTES_COUNT = 2; -var FormDataPart = class { - constructor(name, value) { - const { escapeName } = this.constructor; - const isStringValue = utils_default.isString(value); - let headers = `Content-Disposition: form-data; name="${escapeName(name)}"${!isStringValue && value.name ? `; filename="${escapeName(value.name)}"` : ""}${CRLF}`; - if (isStringValue) { - value = textEncoder.encode(String(value).replace(/\r?\n|\r\n?/g, CRLF)); - } else { - headers += `Content-Type: ${value.type || "application/octet-stream"}${CRLF}`; - } - this.headers = textEncoder.encode(headers + CRLF); - this.contentLength = isStringValue ? value.byteLength : value.size; - this.size = this.headers.byteLength + this.contentLength + CRLF_BYTES_COUNT; - this.name = name; - this.value = value; - } - async *encode() { - yield this.headers; - const { value } = this; - if (utils_default.isTypedArray(value)) { - yield value; - } else { - yield* readBlob_default(value); - } - yield CRLF_BYTES; - } - static escapeName(name) { - return String(name).replace(/[\r\n"]/g, (match) => ({ - "\r": "%0D", - "\n": "%0A", - '"': "%22" - })[match]); - } -}; -var formDataToStream = (form, headersHandler, options) => { - const { - tag = "form-data-boundary", - size = 25, - boundary = tag + "-" + utils_default.generateString(size, BOUNDARY_ALPHABET) - } = options || {}; - if (!utils_default.isFormData(form)) { - throw TypeError("FormData instance required"); - } - if (boundary.length < 1 || boundary.length > 70) { - throw Error("boundary must be 10-70 characters long"); - } - const boundaryBytes = textEncoder.encode("--" + boundary + CRLF); - const footerBytes = textEncoder.encode("--" + boundary + "--" + CRLF + CRLF); - let contentLength = footerBytes.byteLength; - const parts = Array.from(form.entries()).map(([name, value]) => { - const part = new FormDataPart(name, value); - contentLength += part.size; - return part; - }); - contentLength += boundaryBytes.byteLength * parts.length; - contentLength = utils_default.toFiniteNumber(contentLength); - const computedHeaders = { - "Content-Type": `multipart/form-data; boundary=${boundary}` - }; - if (Number.isFinite(contentLength)) { - computedHeaders["Content-Length"] = contentLength; - } - headersHandler && headersHandler(computedHeaders); - return import_stream2.Readable.from(async function* () { - for (const part of parts) { - yield boundaryBytes; - yield* part.encode(); - } - yield footerBytes; - }()); -}; -var formDataToStream_default = formDataToStream; - -// node_modules/axios/lib/helpers/ZlibHeaderTransformStream.js -var import_stream3 = __toESM(__nccwpck_require__(2203), 1); -var ZlibHeaderTransformStream = class extends import_stream3.default.Transform { - __transform(chunk, encoding, callback) { - this.push(chunk); - callback(); - } - _transform(chunk, encoding, callback) { - if (chunk.length !== 0) { - this._transform = this.__transform; - if (chunk[0] !== 120) { - const header = Buffer.alloc(2); - header[0] = 120; - header[1] = 156; - this.push(header, encoding); - } - } - this.__transform(chunk, encoding, callback); - } -}; -var ZlibHeaderTransformStream_default = ZlibHeaderTransformStream; - -// node_modules/axios/lib/helpers/callbackify.js -var callbackify = (fn, reducer) => { - return utils_default.isAsyncFn(fn) ? function(...args) { - const cb = args.pop(); - fn.apply(this, args).then((value) => { - try { - reducer ? cb(null, ...reducer(value)) : cb(null, value); - } catch (err) { - cb(err); - } - }, cb); - } : fn; -}; -var callbackify_default = callbackify; - -// node_modules/axios/lib/adapters/http.js -var zlibOptions = { - flush: import_zlib.default.constants.Z_SYNC_FLUSH, - finishFlush: import_zlib.default.constants.Z_SYNC_FLUSH -}; -var brotliOptions = { - flush: import_zlib.default.constants.BROTLI_OPERATION_FLUSH, - finishFlush: import_zlib.default.constants.BROTLI_OPERATION_FLUSH -}; -var isBrotliSupported = utils_default.isFunction(import_zlib.default.createBrotliDecompress); -var { http: httpFollow, https: httpsFollow } = import_follow_redirects.default; -var isHttps = /https:?/; -var supportedProtocols = platform_default.protocols.map((protocol) => { - return protocol + ":"; -}); -function dispatchBeforeRedirect(options, responseDetails) { - if (options.beforeRedirects.proxy) { - options.beforeRedirects.proxy(options); - } - if (options.beforeRedirects.config) { - options.beforeRedirects.config(options, responseDetails); - } -} -function setProxy(options, configProxy, location) { - let proxy = configProxy; - if (!proxy && proxy !== false) { - const proxyUrl = (0, import_proxy_from_env.getProxyForUrl)(location); - if (proxyUrl) { - proxy = new URL(proxyUrl); - } - } - if (proxy) { - if (proxy.username) { - proxy.auth = (proxy.username || "") + ":" + (proxy.password || ""); - } - if (proxy.auth) { - if (proxy.auth.username || proxy.auth.password) { - proxy.auth = (proxy.auth.username || "") + ":" + (proxy.auth.password || ""); - } - const base64 = Buffer.from(proxy.auth, "utf8").toString("base64"); - options.headers["Proxy-Authorization"] = "Basic " + base64; - } - options.headers.host = options.hostname + (options.port ? ":" + options.port : ""); - const proxyHost = proxy.hostname || proxy.host; - options.hostname = proxyHost; - options.host = proxyHost; - options.port = proxy.port; - options.path = location; - if (proxy.protocol) { - options.protocol = proxy.protocol.includes(":") ? proxy.protocol : `${proxy.protocol}:`; - } - } - options.beforeRedirects.proxy = function beforeRedirect(redirectOptions) { - setProxy(redirectOptions, configProxy, redirectOptions.href); - }; -} -var isHttpAdapterSupported = typeof process !== "undefined" && utils_default.kindOf(process) === "process"; -var wrapAsync = (asyncExecutor) => { - return new Promise((resolve, reject) => { - let onDone; - let isDone; - const done = (value, isRejected) => { - if (isDone) - return; - isDone = true; - onDone && onDone(value, isRejected); - }; - const _resolve = (value) => { - done(value); - resolve(value); - }; - const _reject = (reason) => { - done(reason, true); - reject(reason); - }; - asyncExecutor(_resolve, _reject, (onDoneHandler) => onDone = onDoneHandler).catch(_reject); - }); -}; -var resolveFamily = ({ address, family }) => { - if (!utils_default.isString(address)) { - throw TypeError("address must be a string"); - } - return { - address, - family: family || (address.indexOf(".") < 0 ? 6 : 4) - }; -}; -var buildAddressEntry = (address, family) => resolveFamily(utils_default.isObject(address) ? address : { address, family }); -var http_default = isHttpAdapterSupported && function httpAdapter(config) { - return wrapAsync(async function dispatchHttpRequest(resolve, reject, onDone) { - let { data, lookup, family } = config; - const { responseType, responseEncoding } = config; - const method = config.method.toUpperCase(); - let isDone; - let rejected = false; - let req; - if (lookup) { - const _lookup = callbackify_default(lookup, (value) => utils_default.isArray(value) ? value : [value]); - lookup = (hostname, opt, cb) => { - _lookup(hostname, opt, (err, arg0, arg1) => { - if (err) { - return cb(err); - } - const addresses = utils_default.isArray(arg0) ? arg0.map((addr) => buildAddressEntry(addr)) : [buildAddressEntry(arg0, arg1)]; - opt.all ? cb(err, addresses) : cb(err, addresses[0].address, addresses[0].family); - }); - }; - } - const emitter = new import_events.EventEmitter(); - const onFinished = () => { - if (config.cancelToken) { - config.cancelToken.unsubscribe(abort); - } - if (config.signal) { - config.signal.removeEventListener("abort", abort); - } - emitter.removeAllListeners(); - }; - onDone((value, isRejected) => { - isDone = true; - if (isRejected) { - rejected = true; - onFinished(); - } - }); - function abort(reason) { - emitter.emit("abort", !reason || reason.type ? new CanceledError_default(null, config, req) : reason); - } - emitter.once("abort", reject); - if (config.cancelToken || config.signal) { - config.cancelToken && config.cancelToken.subscribe(abort); - if (config.signal) { - config.signal.aborted ? abort() : config.signal.addEventListener("abort", abort); - } - } - const fullPath = buildFullPath(config.baseURL, config.url); - const parsed = new URL(fullPath, "http://localhost"); - const protocol = parsed.protocol || supportedProtocols[0]; - if (protocol === "data:") { - let convertedData; - if (method !== "GET") { - return settle(resolve, reject, { - status: 405, - statusText: "method not allowed", - headers: {}, - config - }); - } - try { - convertedData = fromDataURI(config.url, responseType === "blob", { - Blob: config.env && config.env.Blob - }); - } catch (err) { - throw AxiosError_default.from(err, AxiosError_default.ERR_BAD_REQUEST, config); - } - if (responseType === "text") { - convertedData = convertedData.toString(responseEncoding); - if (!responseEncoding || responseEncoding === "utf8") { - convertedData = utils_default.stripBOM(convertedData); - } - } else if (responseType === "stream") { - convertedData = import_stream4.default.Readable.from(convertedData); - } - return settle(resolve, reject, { - data: convertedData, - status: 200, - statusText: "OK", - headers: new AxiosHeaders_default(), - config - }); - } - if (supportedProtocols.indexOf(protocol) === -1) { - return reject(new AxiosError_default( - "Unsupported protocol " + protocol, - AxiosError_default.ERR_BAD_REQUEST, - config - )); - } - const headers = AxiosHeaders_default.from(config.headers).normalize(); - headers.set("User-Agent", "axios/" + VERSION, false); - const onDownloadProgress = config.onDownloadProgress; - const onUploadProgress = config.onUploadProgress; - const maxRate = config.maxRate; - let maxUploadRate = void 0; - let maxDownloadRate = void 0; - if (utils_default.isSpecCompliantForm(data)) { - const userBoundary = headers.getContentType(/boundary=([-_\w\d]{10,70})/i); - data = formDataToStream_default(data, (formHeaders) => { - headers.set(formHeaders); - }, { - tag: `axios-${VERSION}-boundary`, - boundary: userBoundary && userBoundary[1] || void 0 - }); - } else if (utils_default.isFormData(data) && utils_default.isFunction(data.getHeaders)) { - headers.set(data.getHeaders()); - if (!headers.hasContentLength()) { - try { - const knownLength = await import_util2.default.promisify(data.getLength).call(data); - Number.isFinite(knownLength) && knownLength >= 0 && headers.setContentLength(knownLength); - } catch (e) { - } - } - } else if (utils_default.isBlob(data)) { - data.size && headers.setContentType(data.type || "application/octet-stream"); - headers.setContentLength(data.size || 0); - data = import_stream4.default.Readable.from(readBlob_default(data)); - } else if (data && !utils_default.isStream(data)) { - if (Buffer.isBuffer(data)) { - } else if (utils_default.isArrayBuffer(data)) { - data = Buffer.from(new Uint8Array(data)); - } else if (utils_default.isString(data)) { - data = Buffer.from(data, "utf-8"); - } else { - return reject(new AxiosError_default( - "Data after transformation must be a string, an ArrayBuffer, a Buffer, or a Stream", - AxiosError_default.ERR_BAD_REQUEST, - config - )); - } - headers.setContentLength(data.length, false); - if (config.maxBodyLength > -1 && data.length > config.maxBodyLength) { - return reject(new AxiosError_default( - "Request body larger than maxBodyLength limit", - AxiosError_default.ERR_BAD_REQUEST, - config - )); - } - } - const contentLength = utils_default.toFiniteNumber(headers.getContentLength()); - if (utils_default.isArray(maxRate)) { - maxUploadRate = maxRate[0]; - maxDownloadRate = maxRate[1]; - } else { - maxUploadRate = maxDownloadRate = maxRate; - } - if (data && (onUploadProgress || maxUploadRate)) { - if (!utils_default.isStream(data)) { - data = import_stream4.default.Readable.from(data, { objectMode: false }); - } - data = import_stream4.default.pipeline([data, new AxiosTransformStream_default({ - length: contentLength, - maxRate: utils_default.toFiniteNumber(maxUploadRate) - })], utils_default.noop); - onUploadProgress && data.on("progress", (progress) => { - onUploadProgress(Object.assign(progress, { - upload: true - })); - }); - } - let auth = void 0; - if (config.auth) { - const username = config.auth.username || ""; - const password = config.auth.password || ""; - auth = username + ":" + password; - } - if (!auth && parsed.username) { - const urlUsername = parsed.username; - const urlPassword = parsed.password; - auth = urlUsername + ":" + urlPassword; - } - auth && headers.delete("authorization"); - let path; - try { - path = buildURL( - parsed.pathname + parsed.search, - config.params, - config.paramsSerializer - ).replace(/^\?/, ""); - } catch (err) { - const customErr = new Error(err.message); - customErr.config = config; - customErr.url = config.url; - customErr.exists = true; - return reject(customErr); - } - headers.set( - "Accept-Encoding", - "gzip, compress, deflate" + (isBrotliSupported ? ", br" : ""), - false - ); - const options = { - path, - method, - headers: headers.toJSON(), - agents: { http: config.httpAgent, https: config.httpsAgent }, - auth, - protocol, - family, - beforeRedirect: dispatchBeforeRedirect, - beforeRedirects: {} - }; - !utils_default.isUndefined(lookup) && (options.lookup = lookup); - if (config.socketPath) { - options.socketPath = config.socketPath; - } else { - options.hostname = parsed.hostname; - options.port = parsed.port; - setProxy(options, config.proxy, protocol + "//" + parsed.hostname + (parsed.port ? ":" + parsed.port : "") + options.path); - } - let transport; - const isHttpsRequest = isHttps.test(options.protocol); - options.agent = isHttpsRequest ? config.httpsAgent : config.httpAgent; - if (config.transport) { - transport = config.transport; - } else if (config.maxRedirects === 0) { - transport = isHttpsRequest ? import_https.default : import_http.default; - } else { - if (config.maxRedirects) { - options.maxRedirects = config.maxRedirects; - } - if (config.beforeRedirect) { - options.beforeRedirects.config = config.beforeRedirect; - } - transport = isHttpsRequest ? httpsFollow : httpFollow; - } - if (config.maxBodyLength > -1) { - options.maxBodyLength = config.maxBodyLength; - } else { - options.maxBodyLength = Infinity; - } - if (config.insecureHTTPParser) { - options.insecureHTTPParser = config.insecureHTTPParser; - } - req = transport.request(options, function handleResponse(res) { - if (req.destroyed) - return; - const streams = [res]; - const responseLength = +res.headers["content-length"]; - if (onDownloadProgress) { - const transformStream = new AxiosTransformStream_default({ - length: utils_default.toFiniteNumber(responseLength), - maxRate: utils_default.toFiniteNumber(maxDownloadRate) - }); - onDownloadProgress && transformStream.on("progress", (progress) => { - onDownloadProgress(Object.assign(progress, { - download: true - })); - }); - streams.push(transformStream); - } - let responseStream = res; - const lastRequest = res.req || req; - if (config.decompress !== false && res.headers["content-encoding"]) { - if (method === "HEAD" || res.statusCode === 204) { - delete res.headers["content-encoding"]; - } - switch ((res.headers["content-encoding"] || "").toLowerCase()) { - case "gzip": - case "x-gzip": - case "compress": - case "x-compress": - streams.push(import_zlib.default.createUnzip(zlibOptions)); - delete res.headers["content-encoding"]; - break; - case "deflate": - streams.push(new ZlibHeaderTransformStream_default()); - streams.push(import_zlib.default.createUnzip(zlibOptions)); - delete res.headers["content-encoding"]; - break; - case "br": - if (isBrotliSupported) { - streams.push(import_zlib.default.createBrotliDecompress(brotliOptions)); - delete res.headers["content-encoding"]; - } - } - } - responseStream = streams.length > 1 ? import_stream4.default.pipeline(streams, utils_default.noop) : streams[0]; - const offListeners = import_stream4.default.finished(responseStream, () => { - offListeners(); - onFinished(); - }); - const response = { - status: res.statusCode, - statusText: res.statusMessage, - headers: new AxiosHeaders_default(res.headers), - config, - request: lastRequest - }; - if (responseType === "stream") { - response.data = responseStream; - settle(resolve, reject, response); - } else { - const responseBuffer = []; - let totalResponseBytes = 0; - responseStream.on("data", function handleStreamData(chunk) { - responseBuffer.push(chunk); - totalResponseBytes += chunk.length; - if (config.maxContentLength > -1 && totalResponseBytes > config.maxContentLength) { - rejected = true; - responseStream.destroy(); - reject(new AxiosError_default( - "maxContentLength size of " + config.maxContentLength + " exceeded", - AxiosError_default.ERR_BAD_RESPONSE, - config, - lastRequest - )); - } - }); - responseStream.on("aborted", function handlerStreamAborted() { - if (rejected) { - return; - } - const err = new AxiosError_default( - "maxContentLength size of " + config.maxContentLength + " exceeded", - AxiosError_default.ERR_BAD_RESPONSE, - config, - lastRequest - ); - responseStream.destroy(err); - reject(err); - }); - responseStream.on("error", function handleStreamError(err) { - if (req.destroyed) - return; - reject(AxiosError_default.from(err, null, config, lastRequest)); - }); - responseStream.on("end", function handleStreamEnd() { - try { - let responseData = responseBuffer.length === 1 ? responseBuffer[0] : Buffer.concat(responseBuffer); - if (responseType !== "arraybuffer") { - responseData = responseData.toString(responseEncoding); - if (!responseEncoding || responseEncoding === "utf8") { - responseData = utils_default.stripBOM(responseData); - } - } - response.data = responseData; - } catch (err) { - return reject(AxiosError_default.from(err, null, config, response.request, response)); - } - settle(resolve, reject, response); - }); - } - emitter.once("abort", (err) => { - if (!responseStream.destroyed) { - responseStream.emit("error", err); - responseStream.destroy(); - } - }); - }); - emitter.once("abort", (err) => { - reject(err); - req.destroy(err); - }); - req.on("error", function handleRequestError(err) { - reject(AxiosError_default.from(err, null, config, req)); - }); - req.on("socket", function handleRequestSocket(socket) { - socket.setKeepAlive(true, 1e3 * 60); - }); - if (config.timeout) { - const timeout = parseInt(config.timeout, 10); - if (Number.isNaN(timeout)) { - reject(new AxiosError_default( - "error trying to parse `config.timeout` to int", - AxiosError_default.ERR_BAD_OPTION_VALUE, - config, - req - )); - return; - } - req.setTimeout(timeout, function handleRequestTimeout() { - if (isDone) - return; - let timeoutErrorMessage = config.timeout ? "timeout of " + config.timeout + "ms exceeded" : "timeout exceeded"; - const transitional2 = config.transitional || transitional_default; - if (config.timeoutErrorMessage) { - timeoutErrorMessage = config.timeoutErrorMessage; - } - reject(new AxiosError_default( - timeoutErrorMessage, - transitional2.clarifyTimeoutError ? AxiosError_default.ETIMEDOUT : AxiosError_default.ECONNABORTED, - config, - req - )); - abort(); - }); - } - if (utils_default.isStream(data)) { - let ended = false; - let errored = false; - data.on("end", () => { - ended = true; - }); - data.once("error", (err) => { - errored = true; - req.destroy(err); - }); - data.on("close", () => { - if (!ended && !errored) { - abort(new CanceledError_default("Request stream has been aborted", config, req)); - } - }); - data.pipe(req); - } else { - req.end(data); - } - }); -}; - -// node_modules/axios/lib/helpers/progressEventReducer.js -var progressEventReducer_default = (listener, isDownloadStream, freq = 3) => { - let bytesNotified = 0; - const _speedometer = speedometer_default(50, 250); - return throttle_default((e) => { - const loaded = e.loaded; - const total = e.lengthComputable ? e.total : void 0; - const progressBytes = loaded - bytesNotified; - const rate = _speedometer(progressBytes); - const inRange = loaded <= total; - bytesNotified = loaded; - const data = { - loaded, - total, - progress: total ? loaded / total : void 0, - bytes: progressBytes, - rate: rate ? rate : void 0, - estimated: rate && total && inRange ? (total - loaded) / rate : void 0, - event: e, - lengthComputable: total != null - }; - data[isDownloadStream ? "download" : "upload"] = true; - listener(data); - }, freq); -}; - -// node_modules/axios/lib/helpers/isURLSameOrigin.js -var isURLSameOrigin_default = platform_default.hasStandardBrowserEnv ? ( - // Standard browser envs have full support of the APIs needed to test - // whether the request URL is of the same origin as current location. - function standardBrowserEnv() { - const msie = /(msie|trident)/i.test(navigator.userAgent); - const urlParsingNode = document.createElement("a"); - let originURL; - function resolveURL(url2) { - let href = url2; - if (msie) { - urlParsingNode.setAttribute("href", href); - href = urlParsingNode.href; - } - urlParsingNode.setAttribute("href", href); - return { - href: urlParsingNode.href, - protocol: urlParsingNode.protocol ? urlParsingNode.protocol.replace(/:$/, "") : "", - host: urlParsingNode.host, - search: urlParsingNode.search ? urlParsingNode.search.replace(/^\?/, "") : "", - hash: urlParsingNode.hash ? urlParsingNode.hash.replace(/^#/, "") : "", - hostname: urlParsingNode.hostname, - port: urlParsingNode.port, - pathname: urlParsingNode.pathname.charAt(0) === "/" ? urlParsingNode.pathname : "/" + urlParsingNode.pathname - }; - } - originURL = resolveURL(window.location.href); - return function isURLSameOrigin(requestURL) { - const parsed = utils_default.isString(requestURL) ? resolveURL(requestURL) : requestURL; - return parsed.protocol === originURL.protocol && parsed.host === originURL.host; - }; - }() -) : ( - // Non standard browser envs (web workers, react-native) lack needed support. - /* @__PURE__ */ function nonStandardBrowserEnv() { - return function isURLSameOrigin() { - return true; - }; - }() -); - -// node_modules/axios/lib/helpers/cookies.js -var cookies_default = platform_default.hasStandardBrowserEnv ? ( - // Standard browser envs support document.cookie - { - write(name, value, expires, path, domain, secure) { - const cookie = [name + "=" + encodeURIComponent(value)]; - utils_default.isNumber(expires) && cookie.push("expires=" + new Date(expires).toGMTString()); - utils_default.isString(path) && cookie.push("path=" + path); - utils_default.isString(domain) && cookie.push("domain=" + domain); - secure === true && cookie.push("secure"); - document.cookie = cookie.join("; "); - }, - read(name) { - const match = document.cookie.match(new RegExp("(^|;\\s*)(" + name + ")=([^;]*)")); - return match ? decodeURIComponent(match[3]) : null; - }, - remove(name) { - this.write(name, "", Date.now() - 864e5); - } - } -) : ( - // Non-standard browser env (web workers, react-native) lack needed support. - { - write() { - }, - read() { - return null; - }, - remove() { - } - } -); - -// node_modules/axios/lib/core/mergeConfig.js -var headersToObject = (thing) => thing instanceof AxiosHeaders_default ? { ...thing } : thing; -function mergeConfig(config1, config2) { - config2 = config2 || {}; - const config = {}; - function getMergedValue(target, source, caseless) { - if (utils_default.isPlainObject(target) && utils_default.isPlainObject(source)) { - return utils_default.merge.call({ caseless }, target, source); - } else if (utils_default.isPlainObject(source)) { - return utils_default.merge({}, source); - } else if (utils_default.isArray(source)) { - return source.slice(); - } - return source; - } - function mergeDeepProperties(a, b, caseless) { - if (!utils_default.isUndefined(b)) { - return getMergedValue(a, b, caseless); - } else if (!utils_default.isUndefined(a)) { - return getMergedValue(void 0, a, caseless); - } - } - function valueFromConfig2(a, b) { - if (!utils_default.isUndefined(b)) { - return getMergedValue(void 0, b); - } - } - function defaultToConfig2(a, b) { - if (!utils_default.isUndefined(b)) { - return getMergedValue(void 0, b); - } else if (!utils_default.isUndefined(a)) { - return getMergedValue(void 0, a); - } - } - function mergeDirectKeys(a, b, prop) { - if (prop in config2) { - return getMergedValue(a, b); - } else if (prop in config1) { - return getMergedValue(void 0, a); - } - } - const mergeMap = { - url: valueFromConfig2, - method: valueFromConfig2, - data: valueFromConfig2, - baseURL: defaultToConfig2, - transformRequest: defaultToConfig2, - transformResponse: defaultToConfig2, - paramsSerializer: defaultToConfig2, - timeout: defaultToConfig2, - timeoutMessage: defaultToConfig2, - withCredentials: defaultToConfig2, - withXSRFToken: defaultToConfig2, - adapter: defaultToConfig2, - responseType: defaultToConfig2, - xsrfCookieName: defaultToConfig2, - xsrfHeaderName: defaultToConfig2, - onUploadProgress: defaultToConfig2, - onDownloadProgress: defaultToConfig2, - decompress: defaultToConfig2, - maxContentLength: defaultToConfig2, - maxBodyLength: defaultToConfig2, - beforeRedirect: defaultToConfig2, - transport: defaultToConfig2, - httpAgent: defaultToConfig2, - httpsAgent: defaultToConfig2, - cancelToken: defaultToConfig2, - socketPath: defaultToConfig2, - responseEncoding: defaultToConfig2, - validateStatus: mergeDirectKeys, - headers: (a, b) => mergeDeepProperties(headersToObject(a), headersToObject(b), true) - }; - utils_default.forEach(Object.keys(Object.assign({}, config1, config2)), function computeConfigValue(prop) { - const merge2 = mergeMap[prop] || mergeDeepProperties; - const configValue = merge2(config1[prop], config2[prop], prop); - utils_default.isUndefined(configValue) && merge2 !== mergeDirectKeys || (config[prop] = configValue); - }); - return config; -} - -// node_modules/axios/lib/helpers/resolveConfig.js -var resolveConfig_default = (config) => { - const newConfig = mergeConfig({}, config); - let { data, withXSRFToken, xsrfHeaderName, xsrfCookieName, headers, auth } = newConfig; - newConfig.headers = headers = AxiosHeaders_default.from(headers); - newConfig.url = buildURL(buildFullPath(newConfig.baseURL, newConfig.url), config.params, config.paramsSerializer); - if (auth) { - headers.set( - "Authorization", - "Basic " + btoa((auth.username || "") + ":" + (auth.password ? unescape(encodeURIComponent(auth.password)) : "")) - ); - } - let contentType; - if (utils_default.isFormData(data)) { - if (platform_default.hasStandardBrowserEnv || platform_default.hasStandardBrowserWebWorkerEnv) { - headers.setContentType(void 0); - } else if ((contentType = headers.getContentType()) !== false) { - const [type, ...tokens] = contentType ? contentType.split(";").map((token) => token.trim()).filter(Boolean) : []; - headers.setContentType([type || "multipart/form-data", ...tokens].join("; ")); - } - } - if (platform_default.hasStandardBrowserEnv) { - withXSRFToken && utils_default.isFunction(withXSRFToken) && (withXSRFToken = withXSRFToken(newConfig)); - if (withXSRFToken || withXSRFToken !== false && isURLSameOrigin_default(newConfig.url)) { - const xsrfValue = xsrfHeaderName && xsrfCookieName && cookies_default.read(xsrfCookieName); - if (xsrfValue) { - headers.set(xsrfHeaderName, xsrfValue); - } - } - } - return newConfig; -}; - -// node_modules/axios/lib/adapters/xhr.js -var isXHRAdapterSupported = typeof XMLHttpRequest !== "undefined"; -var xhr_default = isXHRAdapterSupported && function(config) { - return new Promise(function dispatchXhrRequest(resolve, reject) { - const _config = resolveConfig_default(config); - let requestData = _config.data; - const requestHeaders = AxiosHeaders_default.from(_config.headers).normalize(); - let { responseType } = _config; - let onCanceled; - function done() { - if (_config.cancelToken) { - _config.cancelToken.unsubscribe(onCanceled); - } - if (_config.signal) { - _config.signal.removeEventListener("abort", onCanceled); - } - } - let request = new XMLHttpRequest(); - request.open(_config.method.toUpperCase(), _config.url, true); - request.timeout = _config.timeout; - function onloadend() { - if (!request) { - return; - } - const responseHeaders = AxiosHeaders_default.from( - "getAllResponseHeaders" in request && request.getAllResponseHeaders() - ); - const responseData = !responseType || responseType === "text" || responseType === "json" ? request.responseText : request.response; - const response = { - data: responseData, - status: request.status, - statusText: request.statusText, - headers: responseHeaders, - config, - request - }; - settle(function _resolve(value) { - resolve(value); - done(); - }, function _reject(err) { - reject(err); - done(); - }, response); - request = null; - } - if ("onloadend" in request) { - request.onloadend = onloadend; - } else { - request.onreadystatechange = function handleLoad() { - if (!request || request.readyState !== 4) { - return; - } - if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf("file:") === 0)) { - return; - } - setTimeout(onloadend); - }; - } - request.onabort = function handleAbort() { - if (!request) { - return; - } - reject(new AxiosError_default("Request aborted", AxiosError_default.ECONNABORTED, _config, request)); - request = null; - }; - request.onerror = function handleError() { - reject(new AxiosError_default("Network Error", AxiosError_default.ERR_NETWORK, _config, request)); - request = null; - }; - request.ontimeout = function handleTimeout() { - let timeoutErrorMessage = _config.timeout ? "timeout of " + _config.timeout + "ms exceeded" : "timeout exceeded"; - const transitional2 = _config.transitional || transitional_default; - if (_config.timeoutErrorMessage) { - timeoutErrorMessage = _config.timeoutErrorMessage; - } - reject(new AxiosError_default( - timeoutErrorMessage, - transitional2.clarifyTimeoutError ? AxiosError_default.ETIMEDOUT : AxiosError_default.ECONNABORTED, - _config, - request - )); - request = null; - }; - requestData === void 0 && requestHeaders.setContentType(null); - if ("setRequestHeader" in request) { - utils_default.forEach(requestHeaders.toJSON(), function setRequestHeader(val, key) { - request.setRequestHeader(key, val); - }); - } - if (!utils_default.isUndefined(_config.withCredentials)) { - request.withCredentials = !!_config.withCredentials; - } - if (responseType && responseType !== "json") { - request.responseType = _config.responseType; - } - if (typeof _config.onDownloadProgress === "function") { - request.addEventListener("progress", progressEventReducer_default(_config.onDownloadProgress, true)); - } - if (typeof _config.onUploadProgress === "function" && request.upload) { - request.upload.addEventListener("progress", progressEventReducer_default(_config.onUploadProgress)); - } - if (_config.cancelToken || _config.signal) { - onCanceled = (cancel) => { - if (!request) { - return; - } - reject(!cancel || cancel.type ? new CanceledError_default(null, config, request) : cancel); - request.abort(); - request = null; - }; - _config.cancelToken && _config.cancelToken.subscribe(onCanceled); - if (_config.signal) { - _config.signal.aborted ? onCanceled() : _config.signal.addEventListener("abort", onCanceled); - } - } - const protocol = parseProtocol(_config.url); - if (protocol && platform_default.protocols.indexOf(protocol) === -1) { - reject(new AxiosError_default("Unsupported protocol " + protocol + ":", AxiosError_default.ERR_BAD_REQUEST, config)); - return; - } - request.send(requestData || null); - }); -}; - -// node_modules/axios/lib/helpers/composeSignals.js -var composeSignals = (signals, timeout) => { - let controller = new AbortController(); - let aborted; - const onabort = function(cancel) { - if (!aborted) { - aborted = true; - unsubscribe(); - const err = cancel instanceof Error ? cancel : this.reason; - controller.abort(err instanceof AxiosError_default ? err : new CanceledError_default(err instanceof Error ? err.message : err)); - } - }; - let timer = timeout && setTimeout(() => { - onabort(new AxiosError_default(`timeout ${timeout} of ms exceeded`, AxiosError_default.ETIMEDOUT)); - }, timeout); - const unsubscribe = () => { - if (signals) { - timer && clearTimeout(timer); - timer = null; - signals.forEach((signal2) => { - signal2 && (signal2.removeEventListener ? signal2.removeEventListener("abort", onabort) : signal2.unsubscribe(onabort)); - }); - signals = null; - } - }; - signals.forEach((signal2) => signal2 && signal2.addEventListener && signal2.addEventListener("abort", onabort)); - const { signal } = controller; - signal.unsubscribe = unsubscribe; - return [signal, () => { - timer && clearTimeout(timer); - timer = null; - }]; -}; -var composeSignals_default = composeSignals; - -// node_modules/axios/lib/helpers/trackStream.js -var streamChunk = function* (chunk, chunkSize) { - let len = chunk.byteLength; - if (!chunkSize || len < chunkSize) { - yield chunk; - return; - } - let pos = 0; - let end; - while (pos < len) { - end = pos + chunkSize; - yield chunk.slice(pos, end); - pos = end; - } -}; -var readBytes = async function* (iterable, chunkSize, encode3) { - for await (const chunk of iterable) { - yield* streamChunk(ArrayBuffer.isView(chunk) ? chunk : await encode3(String(chunk)), chunkSize); - } -}; -var trackStream = (stream4, chunkSize, onProgress, onFinish, encode3) => { - const iterator = readBytes(stream4, chunkSize, encode3); - let bytes = 0; - return new ReadableStream({ - type: "bytes", - async pull(controller) { - const { done, value } = await iterator.next(); - if (done) { - controller.close(); - onFinish(); - return; - } - let len = value.byteLength; - onProgress && onProgress(bytes += len); - controller.enqueue(new Uint8Array(value)); - }, - cancel(reason) { - onFinish(reason); - return iterator.return(); - } - }, { - highWaterMark: 2 - }); -}; - -// node_modules/axios/lib/adapters/fetch.js -var fetchProgressDecorator = (total, fn) => { - const lengthComputable = total != null; - return (loaded) => setTimeout(() => fn({ - lengthComputable, - total, - loaded - })); -}; -var isFetchSupported = typeof fetch === "function" && typeof Request === "function" && typeof Response === "function"; -var isReadableStreamSupported = isFetchSupported && typeof ReadableStream === "function"; -var encodeText = isFetchSupported && (typeof TextEncoder === "function" ? /* @__PURE__ */ ((encoder) => (str) => encoder.encode(str))(new TextEncoder()) : async (str) => new Uint8Array(await new Response(str).arrayBuffer())); -var supportsRequestStream = isReadableStreamSupported && (() => { - let duplexAccessed = false; - const hasContentType = new Request(platform_default.origin, { - body: new ReadableStream(), - method: "POST", - get duplex() { - duplexAccessed = true; - return "half"; - } - }).headers.has("Content-Type"); - return duplexAccessed && !hasContentType; -})(); -var DEFAULT_CHUNK_SIZE = 64 * 1024; -var supportsResponseStream = isReadableStreamSupported && !!(() => { - try { - return utils_default.isReadableStream(new Response("").body); - } catch (err) { - } -})(); -var resolvers = { - stream: supportsResponseStream && ((res) => res.body) -}; -isFetchSupported && ((res) => { - ["text", "arrayBuffer", "blob", "formData", "stream"].forEach((type) => { - !resolvers[type] && (resolvers[type] = utils_default.isFunction(res[type]) ? (res2) => res2[type]() : (_, config) => { - throw new AxiosError_default(`Response type '${type}' is not supported`, AxiosError_default.ERR_NOT_SUPPORT, config); - }); - }); -})(new Response()); -var getBodyLength = async (body) => { - if (body == null) { - return 0; - } - if (utils_default.isBlob(body)) { - return body.size; - } - if (utils_default.isSpecCompliantForm(body)) { - return (await new Request(body).arrayBuffer()).byteLength; - } - if (utils_default.isArrayBufferView(body)) { - return body.byteLength; - } - if (utils_default.isURLSearchParams(body)) { - body = body + ""; - } - if (utils_default.isString(body)) { - return (await encodeText(body)).byteLength; - } -}; -var resolveBodyLength = async (headers, body) => { - const length = utils_default.toFiniteNumber(headers.getContentLength()); - return length == null ? getBodyLength(body) : length; -}; -var fetch_default = isFetchSupported && (async (config) => { - let { - url: url2, - method, - data, - signal, - cancelToken, - timeout, - onDownloadProgress, - onUploadProgress, - responseType, - headers, - withCredentials = "same-origin", - fetchOptions - } = resolveConfig_default(config); - responseType = responseType ? (responseType + "").toLowerCase() : "text"; - let [composedSignal, stopTimeout] = signal || cancelToken || timeout ? composeSignals_default([signal, cancelToken], timeout) : []; - let finished, request; - const onFinish = () => { - !finished && setTimeout(() => { - composedSignal && composedSignal.unsubscribe(); - }); - finished = true; - }; - let requestContentLength; - try { - if (onUploadProgress && supportsRequestStream && method !== "get" && method !== "head" && (requestContentLength = await resolveBodyLength(headers, data)) !== 0) { - let _request = new Request(url2, { - method: "POST", - body: data, - duplex: "half" - }); - let contentTypeHeader; - if (utils_default.isFormData(data) && (contentTypeHeader = _request.headers.get("content-type"))) { - headers.setContentType(contentTypeHeader); - } - if (_request.body) { - data = trackStream(_request.body, DEFAULT_CHUNK_SIZE, fetchProgressDecorator( - requestContentLength, - progressEventReducer_default(onUploadProgress) - ), null, encodeText); - } - } - if (!utils_default.isString(withCredentials)) { - withCredentials = withCredentials ? "cors" : "omit"; - } - request = new Request(url2, { - ...fetchOptions, - signal: composedSignal, - method: method.toUpperCase(), - headers: headers.normalize().toJSON(), - body: data, - duplex: "half", - withCredentials - }); - let response = await fetch(request); - const isStreamResponse = supportsResponseStream && (responseType === "stream" || responseType === "response"); - if (supportsResponseStream && (onDownloadProgress || isStreamResponse)) { - const options = {}; - ["status", "statusText", "headers"].forEach((prop) => { - options[prop] = response[prop]; - }); - const responseContentLength = utils_default.toFiniteNumber(response.headers.get("content-length")); - response = new Response( - trackStream(response.body, DEFAULT_CHUNK_SIZE, onDownloadProgress && fetchProgressDecorator( - responseContentLength, - progressEventReducer_default(onDownloadProgress, true) - ), isStreamResponse && onFinish, encodeText), - options - ); - } - responseType = responseType || "text"; - let responseData = await resolvers[utils_default.findKey(resolvers, responseType) || "text"](response, config); - !isStreamResponse && onFinish(); - stopTimeout && stopTimeout(); - return await new Promise((resolve, reject) => { - settle(resolve, reject, { - data: responseData, - headers: AxiosHeaders_default.from(response.headers), - status: response.status, - statusText: response.statusText, - config, - request - }); - }); - } catch (err) { - onFinish(); - if (err && err.name === "TypeError" && /fetch/i.test(err.message)) { - throw Object.assign( - new AxiosError_default("Network Error", AxiosError_default.ERR_NETWORK, config, request), - { - cause: err.cause || err - } - ); - } - throw AxiosError_default.from(err, err && err.code, config, request); - } -}); - -// node_modules/axios/lib/adapters/adapters.js -var knownAdapters = { - http: http_default, - xhr: xhr_default, - fetch: fetch_default -}; -utils_default.forEach(knownAdapters, (fn, value) => { - if (fn) { - try { - Object.defineProperty(fn, "name", { value }); - } catch (e) { - } - Object.defineProperty(fn, "adapterName", { value }); - } -}); -var renderReason = (reason) => `- ${reason}`; -var isResolvedHandle = (adapter) => utils_default.isFunction(adapter) || adapter === null || adapter === false; -var adapters_default = { - getAdapter: (adapters) => { - adapters = utils_default.isArray(adapters) ? adapters : [adapters]; - const { length } = adapters; - let nameOrAdapter; - let adapter; - const rejectedReasons = {}; - for (let i = 0; i < length; i++) { - nameOrAdapter = adapters[i]; - let id; - adapter = nameOrAdapter; - if (!isResolvedHandle(nameOrAdapter)) { - adapter = knownAdapters[(id = String(nameOrAdapter)).toLowerCase()]; - if (adapter === void 0) { - throw new AxiosError_default(`Unknown adapter '${id}'`); - } - } - if (adapter) { - break; - } - rejectedReasons[id || "#" + i] = adapter; - } - if (!adapter) { - const reasons = Object.entries(rejectedReasons).map( - ([id, state]) => `adapter ${id} ` + (state === false ? "is not supported by the environment" : "is not available in the build") - ); - let s = length ? reasons.length > 1 ? "since :\n" + reasons.map(renderReason).join("\n") : " " + renderReason(reasons[0]) : "as no adapter specified"; - throw new AxiosError_default( - `There is no suitable adapter to dispatch the request ` + s, - "ERR_NOT_SUPPORT" - ); - } - return adapter; - }, - adapters: knownAdapters -}; - -// node_modules/axios/lib/core/dispatchRequest.js -function throwIfCancellationRequested(config) { - if (config.cancelToken) { - config.cancelToken.throwIfRequested(); - } - if (config.signal && config.signal.aborted) { - throw new CanceledError_default(null, config); - } -} -function dispatchRequest(config) { - throwIfCancellationRequested(config); - config.headers = AxiosHeaders_default.from(config.headers); - config.data = transformData.call( - config, - config.transformRequest - ); - if (["post", "put", "patch"].indexOf(config.method) !== -1) { - config.headers.setContentType("application/x-www-form-urlencoded", false); - } - const adapter = adapters_default.getAdapter(config.adapter || defaults_default.adapter); - return adapter(config).then(function onAdapterResolution(response) { - throwIfCancellationRequested(config); - response.data = transformData.call( - config, - config.transformResponse, - response - ); - response.headers = AxiosHeaders_default.from(response.headers); - return response; - }, function onAdapterRejection(reason) { - if (!isCancel(reason)) { - throwIfCancellationRequested(config); - if (reason && reason.response) { - reason.response.data = transformData.call( - config, - config.transformResponse, - reason.response - ); - reason.response.headers = AxiosHeaders_default.from(reason.response.headers); - } - } - return Promise.reject(reason); - }); -} - -// node_modules/axios/lib/helpers/validator.js -var validators = {}; -["object", "boolean", "number", "function", "string", "symbol"].forEach((type, i) => { - validators[type] = function validator(thing) { - return typeof thing === type || "a" + (i < 1 ? "n " : " ") + type; - }; -}); -var deprecatedWarnings = {}; -validators.transitional = function transitional(validator, version, message) { - function formatMessage(opt, desc) { - return "[Axios v" + VERSION + "] Transitional option '" + opt + "'" + desc + (message ? ". " + message : ""); - } - return (value, opt, opts) => { - if (validator === false) { - throw new AxiosError_default( - formatMessage(opt, " has been removed" + (version ? " in " + version : "")), - AxiosError_default.ERR_DEPRECATED - ); - } - if (version && !deprecatedWarnings[opt]) { - deprecatedWarnings[opt] = true; - console.warn( - formatMessage( - opt, - " has been deprecated since v" + version + " and will be removed in the near future" - ) - ); - } - return validator ? validator(value, opt, opts) : true; - }; -}; -function assertOptions(options, schema, allowUnknown) { - if (typeof options !== "object") { - throw new AxiosError_default("options must be an object", AxiosError_default.ERR_BAD_OPTION_VALUE); - } - const keys = Object.keys(options); - let i = keys.length; - while (i-- > 0) { - const opt = keys[i]; - const validator = schema[opt]; - if (validator) { - const value = options[opt]; - const result = value === void 0 || validator(value, opt, options); - if (result !== true) { - throw new AxiosError_default("option " + opt + " must be " + result, AxiosError_default.ERR_BAD_OPTION_VALUE); - } - continue; - } - if (allowUnknown !== true) { - throw new AxiosError_default("Unknown option " + opt, AxiosError_default.ERR_BAD_OPTION); - } - } -} -var validator_default = { - assertOptions, - validators -}; - -// node_modules/axios/lib/core/Axios.js -var validators2 = validator_default.validators; -var Axios = class { - constructor(instanceConfig) { - this.defaults = instanceConfig; - this.interceptors = { - request: new InterceptorManager_default(), - response: new InterceptorManager_default() - }; - } - /** - * Dispatch a request - * - * @param {String|Object} configOrUrl The config specific for this request (merged with this.defaults) - * @param {?Object} config - * - * @returns {Promise} The Promise to be fulfilled - */ - async request(configOrUrl, config) { - try { - return await this._request(configOrUrl, config); - } catch (err) { - if (err instanceof Error) { - let dummy; - Error.captureStackTrace ? Error.captureStackTrace(dummy = {}) : dummy = new Error(); - const stack = dummy.stack ? dummy.stack.replace(/^.+\n/, "") : ""; - try { - if (!err.stack) { - err.stack = stack; - } else if (stack && !String(err.stack).endsWith(stack.replace(/^.+\n.+\n/, ""))) { - err.stack += "\n" + stack; - } - } catch (e) { - } - } - throw err; - } - } - _request(configOrUrl, config) { - if (typeof configOrUrl === "string") { - config = config || {}; - config.url = configOrUrl; - } else { - config = configOrUrl || {}; - } - config = mergeConfig(this.defaults, config); - const { transitional: transitional2, paramsSerializer, headers } = config; - if (transitional2 !== void 0) { - validator_default.assertOptions(transitional2, { - silentJSONParsing: validators2.transitional(validators2.boolean), - forcedJSONParsing: validators2.transitional(validators2.boolean), - clarifyTimeoutError: validators2.transitional(validators2.boolean) - }, false); - } - if (paramsSerializer != null) { - if (utils_default.isFunction(paramsSerializer)) { - config.paramsSerializer = { - serialize: paramsSerializer - }; - } else { - validator_default.assertOptions(paramsSerializer, { - encode: validators2.function, - serialize: validators2.function - }, true); - } - } - config.method = (config.method || this.defaults.method || "get").toLowerCase(); - let contextHeaders = headers && utils_default.merge( - headers.common, - headers[config.method] - ); - headers && utils_default.forEach( - ["delete", "get", "head", "post", "put", "patch", "common"], - (method) => { - delete headers[method]; - } - ); - config.headers = AxiosHeaders_default.concat(contextHeaders, headers); - const requestInterceptorChain = []; - let synchronousRequestInterceptors = true; - this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) { - if (typeof interceptor.runWhen === "function" && interceptor.runWhen(config) === false) { - return; - } - synchronousRequestInterceptors = synchronousRequestInterceptors && interceptor.synchronous; - requestInterceptorChain.unshift(interceptor.fulfilled, interceptor.rejected); - }); - const responseInterceptorChain = []; - this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) { - responseInterceptorChain.push(interceptor.fulfilled, interceptor.rejected); - }); - let promise; - let i = 0; - let len; - if (!synchronousRequestInterceptors) { - const chain = [dispatchRequest.bind(this), void 0]; - chain.unshift.apply(chain, requestInterceptorChain); - chain.push.apply(chain, responseInterceptorChain); - len = chain.length; - promise = Promise.resolve(config); - while (i < len) { - promise = promise.then(chain[i++], chain[i++]); - } - return promise; - } - len = requestInterceptorChain.length; - let newConfig = config; - i = 0; - while (i < len) { - const onFulfilled = requestInterceptorChain[i++]; - const onRejected = requestInterceptorChain[i++]; - try { - newConfig = onFulfilled(newConfig); - } catch (error) { - onRejected.call(this, error); - break; - } - } - try { - promise = dispatchRequest.call(this, newConfig); - } catch (error) { - return Promise.reject(error); - } - i = 0; - len = responseInterceptorChain.length; - while (i < len) { - promise = promise.then(responseInterceptorChain[i++], responseInterceptorChain[i++]); - } - return promise; - } - getUri(config) { - config = mergeConfig(this.defaults, config); - const fullPath = buildFullPath(config.baseURL, config.url); - return buildURL(fullPath, config.params, config.paramsSerializer); - } -}; -utils_default.forEach(["delete", "get", "head", "options"], function forEachMethodNoData(method) { - Axios.prototype[method] = function(url2, config) { - return this.request(mergeConfig(config || {}, { - method, - url: url2, - data: (config || {}).data - })); - }; -}); -utils_default.forEach(["post", "put", "patch"], function forEachMethodWithData(method) { - function generateHTTPMethod(isForm) { - return function httpMethod(url2, data, config) { - return this.request(mergeConfig(config || {}, { - method, - headers: isForm ? { - "Content-Type": "multipart/form-data" - } : {}, - url: url2, - data - })); - }; - } - Axios.prototype[method] = generateHTTPMethod(); - Axios.prototype[method + "Form"] = generateHTTPMethod(true); -}); -var Axios_default = Axios; - -// node_modules/axios/lib/cancel/CancelToken.js -var CancelToken = class _CancelToken { - constructor(executor) { - if (typeof executor !== "function") { - throw new TypeError("executor must be a function."); - } - let resolvePromise; - this.promise = new Promise(function promiseExecutor(resolve) { - resolvePromise = resolve; - }); - const token = this; - this.promise.then((cancel) => { - if (!token._listeners) - return; - let i = token._listeners.length; - while (i-- > 0) { - token._listeners[i](cancel); - } - token._listeners = null; - }); - this.promise.then = (onfulfilled) => { - let _resolve; - const promise = new Promise((resolve) => { - token.subscribe(resolve); - _resolve = resolve; - }).then(onfulfilled); - promise.cancel = function reject() { - token.unsubscribe(_resolve); - }; - return promise; - }; - executor(function cancel(message, config, request) { - if (token.reason) { - return; - } - token.reason = new CanceledError_default(message, config, request); - resolvePromise(token.reason); - }); - } - /** - * Throws a `CanceledError` if cancellation has been requested. - */ - throwIfRequested() { - if (this.reason) { - throw this.reason; - } - } - /** - * Subscribe to the cancel signal - */ - subscribe(listener) { - if (this.reason) { - listener(this.reason); - return; - } - if (this._listeners) { - this._listeners.push(listener); - } else { - this._listeners = [listener]; - } - } - /** - * Unsubscribe from the cancel signal - */ - unsubscribe(listener) { - if (!this._listeners) { - return; - } - const index = this._listeners.indexOf(listener); - if (index !== -1) { - this._listeners.splice(index, 1); - } - } - /** - * Returns an object that contains a new `CancelToken` and a function that, when called, - * cancels the `CancelToken`. - */ - static source() { - let cancel; - const token = new _CancelToken(function executor(c) { - cancel = c; - }); - return { - token, - cancel - }; - } -}; -var CancelToken_default = CancelToken; - -// node_modules/axios/lib/helpers/spread.js -function spread(callback) { - return function wrap(arr) { - return callback.apply(null, arr); - }; -} - -// node_modules/axios/lib/helpers/isAxiosError.js -function isAxiosError(payload) { - return utils_default.isObject(payload) && payload.isAxiosError === true; -} - -// node_modules/axios/lib/helpers/HttpStatusCode.js -var HttpStatusCode = { - Continue: 100, - SwitchingProtocols: 101, - Processing: 102, - EarlyHints: 103, - Ok: 200, - Created: 201, - Accepted: 202, - NonAuthoritativeInformation: 203, - NoContent: 204, - ResetContent: 205, - PartialContent: 206, - MultiStatus: 207, - AlreadyReported: 208, - ImUsed: 226, - MultipleChoices: 300, - MovedPermanently: 301, - Found: 302, - SeeOther: 303, - NotModified: 304, - UseProxy: 305, - Unused: 306, - TemporaryRedirect: 307, - PermanentRedirect: 308, - BadRequest: 400, - Unauthorized: 401, - PaymentRequired: 402, - Forbidden: 403, - NotFound: 404, - MethodNotAllowed: 405, - NotAcceptable: 406, - ProxyAuthenticationRequired: 407, - RequestTimeout: 408, - Conflict: 409, - Gone: 410, - LengthRequired: 411, - PreconditionFailed: 412, - PayloadTooLarge: 413, - UriTooLong: 414, - UnsupportedMediaType: 415, - RangeNotSatisfiable: 416, - ExpectationFailed: 417, - ImATeapot: 418, - MisdirectedRequest: 421, - UnprocessableEntity: 422, - Locked: 423, - FailedDependency: 424, - TooEarly: 425, - UpgradeRequired: 426, - PreconditionRequired: 428, - TooManyRequests: 429, - RequestHeaderFieldsTooLarge: 431, - UnavailableForLegalReasons: 451, - InternalServerError: 500, - NotImplemented: 501, - BadGateway: 502, - ServiceUnavailable: 503, - GatewayTimeout: 504, - HttpVersionNotSupported: 505, - VariantAlsoNegotiates: 506, - InsufficientStorage: 507, - LoopDetected: 508, - NotExtended: 510, - NetworkAuthenticationRequired: 511 -}; -Object.entries(HttpStatusCode).forEach(([key, value]) => { - HttpStatusCode[value] = key; -}); -var HttpStatusCode_default = HttpStatusCode; - -// node_modules/axios/lib/axios.js -function createInstance(defaultConfig) { - const context = new Axios_default(defaultConfig); - const instance = bind(Axios_default.prototype.request, context); - utils_default.extend(instance, Axios_default.prototype, context, { allOwnKeys: true }); - utils_default.extend(instance, context, null, { allOwnKeys: true }); - instance.create = function create(instanceConfig) { - return createInstance(mergeConfig(defaultConfig, instanceConfig)); - }; - return instance; -} -var axios = createInstance(defaults_default); -axios.Axios = Axios_default; -axios.CanceledError = CanceledError_default; -axios.CancelToken = CancelToken_default; -axios.isCancel = isCancel; -axios.VERSION = VERSION; -axios.toFormData = toFormData_default; -axios.AxiosError = AxiosError_default; -axios.Cancel = axios.CanceledError; -axios.all = function all(promises) { - return Promise.all(promises); -}; -axios.spread = spread; -axios.isAxiosError = isAxiosError; -axios.mergeConfig = mergeConfig; -axios.AxiosHeaders = AxiosHeaders_default; -axios.formToJSON = (thing) => formDataToJSON_default(utils_default.isHTMLForm(thing) ? new FormData(thing) : thing); -axios.getAdapter = adapters_default.getAdapter; -axios.HttpStatusCode = HttpStatusCode_default; -axios.default = axios; -var axios_default = axios; - -// node_modules/axios/index.js -var { - Axios: Axios2, - AxiosError: AxiosError2, - CanceledError: CanceledError2, - isCancel: isCancel2, - CancelToken: CancelToken2, - VERSION: VERSION2, - all: all2, - Cancel, - isAxiosError: isAxiosError2, - spread: spread2, - toFormData: toFormData2, - AxiosHeaders: AxiosHeaders2, - HttpStatusCode: HttpStatusCode2, - formToJSON, - getAdapter, - mergeConfig: mergeConfig2 -} = axios_default; - -// types/rpc-service.ts -var rpcBody = JSON.stringify({ - jsonrpc: "2.0", - method: "eth_getBlockByNumber", - params: ["latest", false], - id: 1 -}); -var RPCService = class _RPCService { - static async makeRpcRequest(rpcUrl, rpcTimeout, rpcHeader) { - const instance = axios_default.create({ - timeout: rpcTimeout, - headers: rpcHeader - }); - const startTime = performance.now(); - try { - await instance.post(rpcUrl, rpcBody); - return { - rpcUrl, - duration: performance.now() - startTime, - success: true - }; - } catch (err) { - if (err instanceof AxiosError2) { - const isTimeout = err.code === "ECONNABORTED"; - return { - rpcUrl, - success: false, - duration: isTimeout ? performance.now() - startTime : 0, - error: isTimeout ? "timeout" : err.message - }; - } - return { - rpcUrl, - success: false, - duration: 0, - error: `${err}` - }; - } - } - static async testRpcPerformance(networkId, latencies, runtimeRpcs, rpcHeader, rpcTimeout) { - async function requestEndpoint(rpcUrl) { - try { - return await _RPCService.makeRpcRequest(rpcUrl, rpcTimeout, rpcHeader); - } catch (err) { - console.error(`Failed to reach endpoint. ${err}`); - throw new Error(rpcUrl); - } - } - const promises = runtimeRpcs.map((rpcUrl) => requestEndpoint(rpcUrl)); - const allResults = await Promise.allSettled(promises); - allResults.forEach((result) => { - if (result.status === "fulfilled" && result.value.success) { - latencies[`${networkId}__${result.value.rpcUrl}`] = result.value.duration; - } else if (result.status === "fulfilled") { - const fulfilledResult = result.value; - const index = runtimeRpcs.indexOf(fulfilledResult.rpcUrl); - if (index > -1) { - runtimeRpcs.splice(index, 1); - } - } - }); - return { latencies, runtimeRpcs }; - } - static async findFastestRpc(latencies, networkId) { - try { - const validLatencies = Object.entries(latencies).filter(([key]) => key.startsWith(`${networkId}__`)).reduce( - (acc, [key, value]) => { - acc[key] = value; - return acc; - }, - {} - ); - return Object.keys(validLatencies).reduce((a, b) => validLatencies[a] < validLatencies[b] ? a : b).split("__")[1]; - } catch (error) { - console.error("[RPCService] Failed to find fastest RPC", error); - return null; - } - } - static _verifyBlock(data) { - try { - const { jsonrpc, id, result } = data; - const { number, timestamp, hash } = result; - return jsonrpc === "2.0" && id === 1 && parseInt(number, 16) > 0 && parseInt(timestamp, 16) > 0 && hash.match(/[0-9|a-f|A-F|x]/gm)?.join("").length === 66; - } catch (error) { - return false; - } - } -}; - -// types/storage-service.ts -var StorageService = class { - static getLatencies(env, networkId) { - if (env === "browser") { - if (this.bypassForTests()) - return {}; - const latencies = JSON.parse(localStorage.getItem("rpcLatencies") || "{}"); - return Object.keys(latencies).reduce((acc, key) => { - if (key.startsWith(`${networkId}__`)) { - acc[key] = latencies[key]; - } - return acc; - }, {}); - } - return {}; - } - static getRefreshLatencies(env) { - if (env === "browser") { - if (this.bypassForTests()) - return 0; - const refresh = JSON.parse(localStorage.getItem("refreshLatencies") || "0"); - if (typeof refresh === "number") { - return refresh; - } else { - return 0; - } - } - return 0; - } - static setLatencies(env, latencies) { - if (env === "browser") { - if (this.bypassForTests()) - return; - localStorage.setItem("rpcLatencies", JSON.stringify(latencies)); - } - } - static setRefreshLatencies(env, refreshLatencies) { - if (env === "browser") { - if (this.bypassForTests()) - return; - localStorage.setItem("refreshLatencies", JSON.stringify(refreshLatencies)); - } - } - // This method is only used for env detection testing - static bypassForTests() { - if (typeof localStorage === "undefined") { - console.log("Passing test because localStorage is not defined."); - return true; - } - } -}; - -// types/rpc-handler.ts -var NO_RPCS_AVAILABLE = "No RPCs available"; -function shuffleArray(array) { - for (let i = array.length - 1; i > 0; i--) { - const j = Math.floor(Math.random() * (i + 1)); - [array[i], array[j]] = [array[j], array[i]]; - } -} -var RPCHandler = class _RPCHandler { - static _instance = null; - _provider = null; - _networkId; - _networkName; - _env = "node"; - _rpcTimeout = Number.MAX_SAFE_INTEGER; - // ms - _cacheRefreshCycles = 10; - _refreshLatencies = 0; - _autoStorage = false; - _runtimeRpcs = []; - _latencies = {}; - _networkRpcs; - _proxySettings = { - disabled: false, - retryCount: 3, - retryDelay: 100, - logTier: "ok", - logger: new PrettyLogs(), - strictLogs: true, - moduleName: "RPCHandler" - }; - constructor(config) { - this._networkId = config.networkId; - this._networkRpcs = this._filterRpcs(networkRpcs[this._networkId].rpcs, config.tracking || "yes"); - this._networkName = networkIds[this._networkId]; - this._initialize(config); - this.log.bind(this); - this.metadataMaker.bind(this); - this.createProviderProxy.bind(this); - this.getProvider.bind(this); - this.getFastestRpcProvider.bind(this); - this.getLatencies.bind(this); - this.getRefreshLatencies.bind(this); - this.getCacheRefreshCycles.bind(this); - this.getRuntimeRpcs.bind(this); - this.getNetworkId.bind(this); - this.getNetworkName.bind(this); - this.getNetworkRpcs.bind(this); - this.testRpcPerformance.bind(this); - } - /** - * Loops through all RPCs for a given network id and returns a provider with the first successful network. - */ - async getFirstAvailableRpcProvider() { - const rpcList = [...networkRpcs[this._networkId].rpcs]; - shuffleArray(rpcList); - for (const rpc of rpcList) { - try { - const result = await RPCService.makeRpcRequest(rpc.url, this._rpcTimeout, { "Content-Type": "application/json" }); - if (result.success) { - return new import_providers.JsonRpcProvider({ url: rpc.url, skipFetchSetup: true }, Number(this._networkId)); - } else { - console.error(`Failed to reach endpoint ${rpc.url}. ${result.error}`); - } - } catch (err) { - console.error(`Failed to reach endpoint ${rpc.url}. ${err}`); - } - } - return null; - } - async getFastestRpcProvider() { - let fastest = await this.testRpcPerformance(); - if (fastest && fastest?.connection.url.includes("localhost") && !(this._networkId === "31337" || this._networkId === "1337")) { - fastest = await this.testRpcPerformance(); - } - this._provider = this.createProviderProxy(fastest, this); - this.log("ok", `[${this.proxySettings.moduleName}] Provider initialized: `, { provider: this._provider?.connection.url }); - this.log("info", `[${this.proxySettings.moduleName}]`, { latencies: this._latencies }); - return this._provider; - } - get proxySettings() { - return this._proxySettings; - } - set proxySettings(value) { - this._proxySettings = value; - } - /** - * Creates a Proxy around the JsonRpcProvider to handle retries and logging - * - * If proxySettings.disabled, it will return the provider as is and - * any retry or RPC reselection logic will be down to the user to implement - */ - createProviderProxy(provider, handler) { - if (this.proxySettings.disabled) - return provider; - return new Proxy(provider, { - get: function(target, prop) { - if (typeof target[prop] !== "function") { - return target[prop]; - } - if (typeof target[prop] === "function") { - return async function(...args) { - try { - const response = await target[prop](...args); - if (response) { - handler.log( - "verbose", - `[${handler.proxySettings.moduleName}] Successfully called provider method ${prop}`, - handler.metadataMaker(response, prop, args, { rpc: target.connection.url }) - ); - return response; - } - } catch (e) { - handler.log( - "error", - `[${handler.proxySettings.moduleName}] Failed to call provider method ${prop}, retrying...`, - handler.metadataMaker(e, prop, args, { rpc: target.connection.url }) - ); - } - const latencies = handler.getLatencies(); - const sortedLatencies = Object.entries(latencies).sort((a, b) => a[1] - b[1]); - if (!sortedLatencies.length) { - throw handler.log( - "fatal", - `[${handler.proxySettings.moduleName}] ${NO_RPCS_AVAILABLE}`, - handler.metadataMaker(new Error(NO_RPCS_AVAILABLE), "createProviderProxy", args, { sortedLatencies, networks: handler._networkRpcs }) - ); - } - handler.log( - "debug", - `[${handler.proxySettings.moduleName}] Current provider failed, retrying with next fastest provider...`, - handler.metadataMaker({}, prop, args) - ); - let loops = handler._proxySettings.retryCount; - let newProvider; - let res = null; - while (loops > 0) { - for (const [rpc] of sortedLatencies) { - handler.log("debug", `[${handler.proxySettings.moduleName}] Connected to: ${rpc}`); - try { - newProvider = new import_providers.JsonRpcProvider( - { - url: rpc.split("__")[1], - skipFetchSetup: true - }, - Number(handler._networkId) - ); - const response = await newProvider[prop](...args); - if (response) { - handler.log( - "verbose", - `[${handler.proxySettings.moduleName}] Successfully called provider method ${prop}`, - handler.metadataMaker(response, prop, args, { rpc }) - ); - res = response; - loops = 0; - } - } catch (e) { - if (loops === 1) { - handler.log( - "fatal", - `[${handler.proxySettings.moduleName}] Failed to call provider method ${prop} after ${handler._proxySettings.retryCount} attempts`, - handler.metadataMaker(e, prop, args) - ); - throw e; - } else { - handler.log("debug", `[${handler.proxySettings.moduleName}] Retrying in ${handler._proxySettings.retryDelay}ms...`); - handler.log("debug", `[${handler.proxySettings.moduleName}] Call number: ${handler._proxySettings.retryCount - loops + 1}`); - await new Promise((resolve) => setTimeout(resolve, handler._proxySettings.retryDelay)); - } - } - } - if (res) { - break; - } - loops--; - } - return res; - }; - } - return target[prop]; - } - }); - } - /** - * runtimeRpcs are prefixed with the networkId so - * they need to be stripped before being used - */ - populateRuntimeFromNetwork(networkRpcs2) { - return networkRpcs2.map((rpc) => { - if (rpc.startsWith(`${this._networkId}__`)) { - return rpc.split("__")[1]; - } - return rpc; - }); - } - async testRpcPerformance() { - const shouldRefreshRpcs = Object.keys(this._latencies).filter((rpc) => rpc.startsWith(`${this._networkId}__`)).length <= 1 || this._refreshLatencies >= this._cacheRefreshCycles; - if (shouldRefreshRpcs) { - this._runtimeRpcs = getRpcUrls(this._networkRpcs); - this._refreshLatencies = 0; - } else if (this._latencies && Object.keys(this._latencies).length > 0) { - this._runtimeRpcs = this.populateRuntimeFromNetwork(Object.keys(this._latencies)); - } else if (this._runtimeRpcs.length === 0) { - this._runtimeRpcs = getRpcUrls(this._networkRpcs); - } - await this._testRpcPerformance(); - const fastestRpcUrl = await RPCService.findFastestRpc(this._latencies, this._networkId); - if (!fastestRpcUrl) { - throw this.log( - "fatal", - `[${this.proxySettings.moduleName}] Failed to find fastest RPC`, - this.metadataMaker(new Error(NO_RPCS_AVAILABLE), "testRpcPerformance", [], { latencies: this._latencies, networkId: this._networkId }) - ); - } - this._provider = this.createProviderProxy(new import_providers.JsonRpcProvider({ url: fastestRpcUrl, skipFetchSetup: true }, Number(this._networkId)), this); - if (this._autoStorage) { - StorageService.setLatencies(this._env, this._latencies); - StorageService.setRefreshLatencies(this._env, this._refreshLatencies); - } - if (!this._provider) { - throw this.log( - "fatal", - `[${this.proxySettings.moduleName}] Failed to create provider`, - this.metadataMaker(new Error("No provider available"), "testRpcPerformance", [], { - latencies: this._latencies, - fastestRpcUrl - }) - ); - } - return this._provider; - } - getProvider() { - if (!this._provider) { - throw this.log( - "fatal", - `[${this.proxySettings.moduleName}] Provider is not initialized`, - this.metadataMaker(new Error("Provider is not initialized"), "getProvider", [], { - networkRpcs: this._networkRpcs, - runtimeRpcs: this._runtimeRpcs, - latencies: this._latencies - }) - ); - } - return this._provider; - } - static getInstance(config) { - if (!_RPCHandler._instance) { - if (!config) { - throw new Error("Config is required to initialize RPCHandler"); - } - _RPCHandler._instance = new _RPCHandler(config); - } - return _RPCHandler._instance; - } - clearInstance() { - _RPCHandler._instance = null; - } - getRuntimeRpcs() { - return this._runtimeRpcs; - } - getNetworkId() { - return this._networkId; - } - getNetworkName() { - return this._networkName; - } - getNetworkRpcs() { - return this._networkRpcs; - } - getLatencies() { - return this._latencies; - } - getRefreshLatencies() { - return this._refreshLatencies; - } - getCacheRefreshCycles() { - return this._cacheRefreshCycles; - } - async _testRpcPerformance() { - const { latencies, runtimeRpcs } = await RPCService.testRpcPerformance( - this._networkId, - this._latencies, - this._runtimeRpcs, - { "Content-Type": "application/json" }, - this._rpcTimeout - ); - this._runtimeRpcs = runtimeRpcs; - this._latencies = latencies; - this._refreshLatencies++; - StorageService.setLatencies(this._env, this._latencies); - StorageService.setRefreshLatencies(this._env, this._refreshLatencies); - } - // creates metadata for logging - metadataMaker(error, method, args, metadata) { - const err = error instanceof Error ? error : void 0; - if (err) { - return { - error: err, - method, - args, - metadata - }; - } else { - return { - method, - args, - metadata - }; - } - } - log(tier, message, metadata) { - if (!this._proxySettings?.logger) { - this.proxySettings.logger = new PrettyLogs(); - } - let logTier = this._proxySettings?.logTier; - if (!logTier) { - this.proxySettings.logTier = "ok"; - logTier = this.proxySettings.logTier; - } else if (logTier === "none") { - return; - } - const isStrict = this.proxySettings.strictLogs; - if (isStrict && logTier === tier) { - this.proxySettings.logger?.[tier](message, metadata); - } else if (logTier === "verbose" || !isStrict) { - this.proxySettings.logger?.log(tier, message, metadata); - } - } - _updateConfig(config) { - if (config.proxySettings) { - this._proxySettings = { - ...this._proxySettings, - ...config.proxySettings, - // ensuring the logger is not null - logger: config.proxySettings.logger || this.proxySettings.logger, - // ensuring the logTier is not null - logTier: config.proxySettings.logTier || this.proxySettings.logTier - }; - } - if (config.networkName) { - this._networkName = config.networkName; - } - if (config.cacheRefreshCycles) { - this._cacheRefreshCycles = config.cacheRefreshCycles; - } - if (config.rpcTimeout) { - this._rpcTimeout = config.rpcTimeout; - } - if (config.autoStorage) { - this._autoStorage = true; - this._latencies = StorageService.getLatencies(this._env, this._networkId); - this._refreshLatencies = StorageService.getRefreshLatencies(this._env); - } - } - _filterRpcs(networks, tracking) { - return networks.filter((rpc) => { - if (tracking == "yes") { - return true; - } else if (tracking == "limited") { - return rpc.tracking == "limited" || rpc.tracking == "none"; - } else if (tracking == "none") { - return rpc.tracking == "none"; - } - return false; - }); - } - _initialize(config) { - this._env = typeof window === "undefined" ? "node" : "browser"; - if (config.networkRpcs && config.networkRpcs.length > 0) { - if (this._networkId === "31337" || this._networkId === "1337") { - this._networkRpcs = [{ url: LOCAL_HOST }, { url: LOCAL_HOST_2 }]; - } else if (this._networkRpcs?.length > 0) { - this._networkRpcs = [...this._networkRpcs, ...config.networkRpcs]; - } else { - this._networkRpcs = config.networkRpcs; - } - } - if (config.runtimeRpcs && config.runtimeRpcs.length > 0) { - if (this._networkId === "31337" || this._networkId === "1337") { - this._runtimeRpcs = [`${LOCAL_HOST}`, `${LOCAL_HOST_2}`, ...config.runtimeRpcs]; - } else if (this._runtimeRpcs?.length > 0) { - this._runtimeRpcs = [...this._runtimeRpcs, ...config.runtimeRpcs]; - } else { - this._runtimeRpcs = config.runtimeRpcs; - } - } - this._updateConfig(config); - } -}; -// Annotate the CommonJS export names for ESM import in node: -0 && (0); -/*! Bundled license information: - -js-sha3/src/sha3.js: - (** - * [js-sha3]{@link https://github.com/emn178/js-sha3} - * - * @version 0.8.0 - * @author Chen, Yi-Cyuan [emn178@gmail.com] - * @copyright Chen, Yi-Cyuan 2015-2018 - * @license MIT - *) - -mime-db/index.js: - (*! - * mime-db - * Copyright(c) 2014 Jonathan Ong - * Copyright(c) 2015-2022 Douglas Christopher Wilson - * MIT Licensed - *) - -mime-types/index.js: - (*! - * mime-types - * Copyright(c) 2014 Jonathan Ong - * Copyright(c) 2015 Douglas Christopher Wilson - * MIT Licensed - *) -*/ - - -/***/ }), - -/***/ 76026: -/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { - - - - -if (process.env.NODE_ENV === 'production') { - module.exports = __nccwpck_require__(55869) -} else { - module.exports = __nccwpck_require__(66727) -} - - -/***/ }), - -/***/ 66727: -/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { - -var __webpack_unused_export__; - - -__webpack_unused_export__ = ({ value: true }); - -function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; } - -var invariant = _interopDefault(__nccwpck_require__(476)); -var hash = __nccwpck_require__(39144); -var bignumber = __nccwpck_require__(14763); -var contracts = __nccwpck_require__(21795); - -// @deprecated please use permit2Address(chainId: number) -var PERMIT2_ADDRESS = '0x000000000022D473030F116dDEE9F6B43aC78BA3'; -function permit2Address(chainId) { - switch (chainId) { - case 324: - return '0x0000000000225e31D15943971F47aD3022F714Fa'; - default: - return PERMIT2_ADDRESS; - } -} -var MaxUint48 = /*#__PURE__*/bignumber.BigNumber.from('0xffffffffffff'); -var MaxUint160 = /*#__PURE__*/bignumber.BigNumber.from('0xffffffffffffffffffffffffffffffffffffffff'); -var MaxUint256 = /*#__PURE__*/bignumber.BigNumber.from('0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff'); -// alias max types for their usages -// allowance transfer types -var MaxAllowanceTransferAmount = MaxUint160; -var MaxAllowanceExpiration = MaxUint48; -var MaxOrderedNonce = MaxUint48; -// signature transfer types -var MaxSignatureTransferAmount = MaxUint256; -var MaxUnorderedNonce = MaxUint256; -var MaxSigDeadline = MaxUint256; -var InstantExpiration = /*#__PURE__*/bignumber.BigNumber.from(0); - -var PERMIT2_DOMAIN_NAME = 'Permit2'; -function permit2Domain(permit2Address, chainId) { - return { - name: PERMIT2_DOMAIN_NAME, - chainId: chainId, - verifyingContract: permit2Address - }; -} - -var PERMIT_DETAILS = [{ - name: 'token', - type: 'address' -}, { - name: 'amount', - type: 'uint160' -}, { - name: 'expiration', - type: 'uint48' -}, { - name: 'nonce', - type: 'uint48' -}]; -var PERMIT_TYPES = { - PermitSingle: [{ - name: 'details', - type: 'PermitDetails' - }, { - name: 'spender', - type: 'address' - }, { - name: 'sigDeadline', - type: 'uint256' - }], - PermitDetails: PERMIT_DETAILS -}; -var PERMIT_BATCH_TYPES = { - PermitBatch: [{ - name: 'details', - type: 'PermitDetails[]' - }, { - name: 'spender', - type: 'address' - }, { - name: 'sigDeadline', - type: 'uint256' - }], - PermitDetails: PERMIT_DETAILS -}; -function isPermit(permit) { - return !Array.isArray(permit.details); -} -var AllowanceTransfer = /*#__PURE__*/function () { - /** - * Cannot be constructed. - */ - function AllowanceTransfer() {} - // return the data to be sent in a eth_signTypedData RPC call - // for signing the given permit data - AllowanceTransfer.getPermitData = function getPermitData(permit, permit2Address, chainId) { - !MaxSigDeadline.gte(permit.sigDeadline) ? invariant(false, 'SIG_DEADLINE_OUT_OF_RANGE') : void 0; - var domain = permit2Domain(permit2Address, chainId); - if (isPermit(permit)) { - validatePermitDetails(permit.details); - return { - domain: domain, - types: PERMIT_TYPES, - values: permit - }; - } else { - permit.details.forEach(validatePermitDetails); - return { - domain: domain, - types: PERMIT_BATCH_TYPES, - values: permit - }; - } - }; - AllowanceTransfer.hash = function hash$1(permit, permit2Address, chainId) { - var _AllowanceTransfer$ge = AllowanceTransfer.getPermitData(permit, permit2Address, chainId), - domain = _AllowanceTransfer$ge.domain, - types = _AllowanceTransfer$ge.types, - values = _AllowanceTransfer$ge.values; - return hash._TypedDataEncoder.hash(domain, types, values); - }; - return AllowanceTransfer; -}(); -function validatePermitDetails(details) { - !MaxOrderedNonce.gte(details.nonce) ? invariant(false, 'NONCE_OUT_OF_RANGE') : void 0; - !MaxAllowanceTransferAmount.gte(details.amount) ? invariant(false, 'AMOUNT_OUT_OF_RANGE') : void 0; - !MaxAllowanceExpiration.gte(details.expiration) ? invariant(false, 'EXPIRATION_OUT_OF_RANGE') : void 0; -} - -function _regeneratorRuntime() { - _regeneratorRuntime = function () { - return e; - }; - var t, - e = {}, - r = Object.prototype, - n = r.hasOwnProperty, - o = Object.defineProperty || function (t, e, r) { - t[e] = r.value; - }, - i = "function" == typeof Symbol ? Symbol : {}, - a = i.iterator || "@@iterator", - c = i.asyncIterator || "@@asyncIterator", - u = i.toStringTag || "@@toStringTag"; - function define(t, e, r) { - return Object.defineProperty(t, e, { - value: r, - enumerable: !0, - configurable: !0, - writable: !0 - }), t[e]; - } - try { - define({}, ""); - } catch (t) { - define = function (t, e, r) { - return t[e] = r; - }; - } - function wrap(t, e, r, n) { - var i = e && e.prototype instanceof Generator ? e : Generator, - a = Object.create(i.prototype), - c = new Context(n || []); - return o(a, "_invoke", { - value: makeInvokeMethod(t, r, c) - }), a; - } - function tryCatch(t, e, r) { - try { - return { - type: "normal", - arg: t.call(e, r) - }; - } catch (t) { - return { - type: "throw", - arg: t - }; - } - } - e.wrap = wrap; - var h = "suspendedStart", - l = "suspendedYield", - f = "executing", - s = "completed", - y = {}; - function Generator() {} - function GeneratorFunction() {} - function GeneratorFunctionPrototype() {} - var p = {}; - define(p, a, function () { - return this; - }); - var d = Object.getPrototypeOf, - v = d && d(d(values([]))); - v && v !== r && n.call(v, a) && (p = v); - var g = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(p); - function defineIteratorMethods(t) { - ["next", "throw", "return"].forEach(function (e) { - define(t, e, function (t) { - return this._invoke(e, t); - }); - }); - } - function AsyncIterator(t, e) { - function invoke(r, o, i, a) { - var c = tryCatch(t[r], t, o); - if ("throw" !== c.type) { - var u = c.arg, - h = u.value; - return h && "object" == typeof h && n.call(h, "__await") ? e.resolve(h.__await).then(function (t) { - invoke("next", t, i, a); - }, function (t) { - invoke("throw", t, i, a); - }) : e.resolve(h).then(function (t) { - u.value = t, i(u); - }, function (t) { - return invoke("throw", t, i, a); - }); - } - a(c.arg); - } - var r; - o(this, "_invoke", { - value: function (t, n) { - function callInvokeWithMethodAndArg() { - return new e(function (e, r) { - invoke(t, n, e, r); - }); - } - return r = r ? r.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg(); - } - }); - } - function makeInvokeMethod(e, r, n) { - var o = h; - return function (i, a) { - if (o === f) throw new Error("Generator is already running"); - if (o === s) { - if ("throw" === i) throw a; - return { - value: t, - done: !0 - }; - } - for (n.method = i, n.arg = a;;) { - var c = n.delegate; - if (c) { - var u = maybeInvokeDelegate(c, n); - if (u) { - if (u === y) continue; - return u; - } - } - if ("next" === n.method) n.sent = n._sent = n.arg;else if ("throw" === n.method) { - if (o === h) throw o = s, n.arg; - n.dispatchException(n.arg); - } else "return" === n.method && n.abrupt("return", n.arg); - o = f; - var p = tryCatch(e, r, n); - if ("normal" === p.type) { - if (o = n.done ? s : l, p.arg === y) continue; - return { - value: p.arg, - done: n.done - }; - } - "throw" === p.type && (o = s, n.method = "throw", n.arg = p.arg); - } - }; - } - function maybeInvokeDelegate(e, r) { - var n = r.method, - o = e.iterator[n]; - if (o === t) return r.delegate = null, "throw" === n && e.iterator.return && (r.method = "return", r.arg = t, maybeInvokeDelegate(e, r), "throw" === r.method) || "return" !== n && (r.method = "throw", r.arg = new TypeError("The iterator does not provide a '" + n + "' method")), y; - var i = tryCatch(o, e.iterator, r.arg); - if ("throw" === i.type) return r.method = "throw", r.arg = i.arg, r.delegate = null, y; - var a = i.arg; - return a ? a.done ? (r[e.resultName] = a.value, r.next = e.nextLoc, "return" !== r.method && (r.method = "next", r.arg = t), r.delegate = null, y) : a : (r.method = "throw", r.arg = new TypeError("iterator result is not an object"), r.delegate = null, y); - } - function pushTryEntry(t) { - var e = { - tryLoc: t[0] - }; - 1 in t && (e.catchLoc = t[1]), 2 in t && (e.finallyLoc = t[2], e.afterLoc = t[3]), this.tryEntries.push(e); - } - function resetTryEntry(t) { - var e = t.completion || {}; - e.type = "normal", delete e.arg, t.completion = e; - } - function Context(t) { - this.tryEntries = [{ - tryLoc: "root" - }], t.forEach(pushTryEntry, this), this.reset(!0); - } - function values(e) { - if (e || "" === e) { - var r = e[a]; - if (r) return r.call(e); - if ("function" == typeof e.next) return e; - if (!isNaN(e.length)) { - var o = -1, - i = function next() { - for (; ++o < e.length;) if (n.call(e, o)) return next.value = e[o], next.done = !1, next; - return next.value = t, next.done = !0, next; - }; - return i.next = i; - } - } - throw new TypeError(typeof e + " is not iterable"); - } - return GeneratorFunction.prototype = GeneratorFunctionPrototype, o(g, "constructor", { - value: GeneratorFunctionPrototype, - configurable: !0 - }), o(GeneratorFunctionPrototype, "constructor", { - value: GeneratorFunction, - configurable: !0 - }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, u, "GeneratorFunction"), e.isGeneratorFunction = function (t) { - var e = "function" == typeof t && t.constructor; - return !!e && (e === GeneratorFunction || "GeneratorFunction" === (e.displayName || e.name)); - }, e.mark = function (t) { - return Object.setPrototypeOf ? Object.setPrototypeOf(t, GeneratorFunctionPrototype) : (t.__proto__ = GeneratorFunctionPrototype, define(t, u, "GeneratorFunction")), t.prototype = Object.create(g), t; - }, e.awrap = function (t) { - return { - __await: t - }; - }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, c, function () { - return this; - }), e.AsyncIterator = AsyncIterator, e.async = function (t, r, n, o, i) { - void 0 === i && (i = Promise); - var a = new AsyncIterator(wrap(t, r, n, o), i); - return e.isGeneratorFunction(r) ? a : a.next().then(function (t) { - return t.done ? t.value : a.next(); - }); - }, defineIteratorMethods(g), define(g, u, "Generator"), define(g, a, function () { - return this; - }), define(g, "toString", function () { - return "[object Generator]"; - }), e.keys = function (t) { - var e = Object(t), - r = []; - for (var n in e) r.push(n); - return r.reverse(), function next() { - for (; r.length;) { - var t = r.pop(); - if (t in e) return next.value = t, next.done = !1, next; - } - return next.done = !0, next; - }; - }, e.values = values, Context.prototype = { - constructor: Context, - reset: function (e) { - if (this.prev = 0, this.next = 0, this.sent = this._sent = t, this.done = !1, this.delegate = null, this.method = "next", this.arg = t, this.tryEntries.forEach(resetTryEntry), !e) for (var r in this) "t" === r.charAt(0) && n.call(this, r) && !isNaN(+r.slice(1)) && (this[r] = t); - }, - stop: function () { - this.done = !0; - var t = this.tryEntries[0].completion; - if ("throw" === t.type) throw t.arg; - return this.rval; - }, - dispatchException: function (e) { - if (this.done) throw e; - var r = this; - function handle(n, o) { - return a.type = "throw", a.arg = e, r.next = n, o && (r.method = "next", r.arg = t), !!o; - } - for (var o = this.tryEntries.length - 1; o >= 0; --o) { - var i = this.tryEntries[o], - a = i.completion; - if ("root" === i.tryLoc) return handle("end"); - if (i.tryLoc <= this.prev) { - var c = n.call(i, "catchLoc"), - u = n.call(i, "finallyLoc"); - if (c && u) { - if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); - if (this.prev < i.finallyLoc) return handle(i.finallyLoc); - } else if (c) { - if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); - } else { - if (!u) throw new Error("try statement without catch or finally"); - if (this.prev < i.finallyLoc) return handle(i.finallyLoc); - } - } - } - }, - abrupt: function (t, e) { - for (var r = this.tryEntries.length - 1; r >= 0; --r) { - var o = this.tryEntries[r]; - if (o.tryLoc <= this.prev && n.call(o, "finallyLoc") && this.prev < o.finallyLoc) { - var i = o; - break; - } - } - i && ("break" === t || "continue" === t) && i.tryLoc <= e && e <= i.finallyLoc && (i = null); - var a = i ? i.completion : {}; - return a.type = t, a.arg = e, i ? (this.method = "next", this.next = i.finallyLoc, y) : this.complete(a); - }, - complete: function (t, e) { - if ("throw" === t.type) throw t.arg; - return "break" === t.type || "continue" === t.type ? this.next = t.arg : "return" === t.type ? (this.rval = this.arg = t.arg, this.method = "return", this.next = "end") : "normal" === t.type && e && (this.next = e), y; - }, - finish: function (t) { - for (var e = this.tryEntries.length - 1; e >= 0; --e) { - var r = this.tryEntries[e]; - if (r.finallyLoc === t) return this.complete(r.completion, r.afterLoc), resetTryEntry(r), y; - } - }, - catch: function (t) { - for (var e = this.tryEntries.length - 1; e >= 0; --e) { - var r = this.tryEntries[e]; - if (r.tryLoc === t) { - var n = r.completion; - if ("throw" === n.type) { - var o = n.arg; - resetTryEntry(r); - } - return o; - } - } - throw new Error("illegal catch attempt"); - }, - delegateYield: function (e, r, n) { - return this.delegate = { - iterator: values(e), - resultName: r, - nextLoc: n - }, "next" === this.method && (this.arg = t), y; - } - }, e; -} -function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { - try { - var info = gen[key](arg); - var value = info.value; - } catch (error) { - reject(error); - return; - } - if (info.done) { - resolve(value); - } else { - Promise.resolve(value).then(_next, _throw); - } -} -function _asyncToGenerator(fn) { - return function () { - var self = this, - args = arguments; - return new Promise(function (resolve, reject) { - var gen = fn.apply(self, args); - function _next(value) { - asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); - } - function _throw(err) { - asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); - } - _next(undefined); - }); - }; -} -function _extends() { - _extends = Object.assign ? Object.assign.bind() : function (target) { - for (var i = 1; i < arguments.length; i++) { - var source = arguments[i]; - for (var key in source) { - if (Object.prototype.hasOwnProperty.call(source, key)) { - target[key] = source[key]; - } - } - } - return target; - }; - return _extends.apply(this, arguments); -} - -var TOKEN_PERMISSIONS = [{ - name: 'token', - type: 'address' -}, { - name: 'amount', - type: 'uint256' -}]; -var PERMIT_TRANSFER_FROM_TYPES = { - PermitTransferFrom: [{ - name: 'permitted', - type: 'TokenPermissions' - }, { - name: 'spender', - type: 'address' - }, { - name: 'nonce', - type: 'uint256' - }, { - name: 'deadline', - type: 'uint256' - }], - TokenPermissions: TOKEN_PERMISSIONS -}; -var PERMIT_BATCH_TRANSFER_FROM_TYPES = { - PermitBatchTransferFrom: [{ - name: 'permitted', - type: 'TokenPermissions[]' - }, { - name: 'spender', - type: 'address' - }, { - name: 'nonce', - type: 'uint256' - }, { - name: 'deadline', - type: 'uint256' - }], - TokenPermissions: TOKEN_PERMISSIONS -}; -function permitTransferFromWithWitnessType(witness) { - return _extends({ - PermitWitnessTransferFrom: [{ - name: 'permitted', - type: 'TokenPermissions' - }, { - name: 'spender', - type: 'address' - }, { - name: 'nonce', - type: 'uint256' - }, { - name: 'deadline', - type: 'uint256' - }, { - name: 'witness', - type: witness.witnessTypeName - }], - TokenPermissions: TOKEN_PERMISSIONS - }, witness.witnessType); -} -function permitBatchTransferFromWithWitnessType(witness) { - return _extends({ - PermitBatchWitnessTransferFrom: [{ - name: 'permitted', - type: 'TokenPermissions[]' - }, { - name: 'spender', - type: 'address' - }, { - name: 'nonce', - type: 'uint256' - }, { - name: 'deadline', - type: 'uint256' - }, { - name: 'witness', - type: witness.witnessTypeName - }], - TokenPermissions: TOKEN_PERMISSIONS - }, witness.witnessType); -} -function isPermitTransferFrom(permit) { - return !Array.isArray(permit.permitted); -} -var SignatureTransfer = /*#__PURE__*/function () { - /** - * Cannot be constructed. - */ - function SignatureTransfer() {} - // return the data to be sent in a eth_signTypedData RPC call - // for signing the given permit data - SignatureTransfer.getPermitData = function getPermitData(permit, permit2Address, chainId, witness) { - !MaxSigDeadline.gte(permit.deadline) ? invariant(false, 'SIG_DEADLINE_OUT_OF_RANGE') : void 0; - !MaxUnorderedNonce.gte(permit.nonce) ? invariant(false, 'NONCE_OUT_OF_RANGE') : void 0; - var domain = permit2Domain(permit2Address, chainId); - if (isPermitTransferFrom(permit)) { - validateTokenPermissions(permit.permitted); - var types = witness ? permitTransferFromWithWitnessType(witness) : PERMIT_TRANSFER_FROM_TYPES; - var values = witness ? Object.assign(permit, { - witness: witness.witness - }) : permit; - return { - domain: domain, - types: types, - values: values - }; - } else { - permit.permitted.forEach(validateTokenPermissions); - var _types = witness ? permitBatchTransferFromWithWitnessType(witness) : PERMIT_BATCH_TRANSFER_FROM_TYPES; - var _values = witness ? Object.assign(permit, { - witness: witness.witness - }) : permit; - return { - domain: domain, - types: _types, - values: _values - }; - } - }; - SignatureTransfer.hash = function hash$1(permit, permit2Address, chainId, witness) { - var _SignatureTransfer$ge = SignatureTransfer.getPermitData(permit, permit2Address, chainId, witness), - domain = _SignatureTransfer$ge.domain, - types = _SignatureTransfer$ge.types, - values = _SignatureTransfer$ge.values; - return hash._TypedDataEncoder.hash(domain, types, values); - }; - return SignatureTransfer; -}(); -function validateTokenPermissions(permissions) { - !MaxSignatureTransferAmount.gte(permissions.amount) ? invariant(false, 'AMOUNT_OUT_OF_RANGE') : void 0; -} - -var Permit2Abi = [ - { - inputs: [ - ], - name: "AllowanceExpired", - type: "error" - }, - { - inputs: [ - ], - name: "ExcessiveInvalidation", - type: "error" - }, - { - inputs: [ - ], - name: "InsufficientAllowance", - type: "error" - }, - { - inputs: [ - ], - name: "InvalidAmount", - type: "error" - }, - { - inputs: [ - ], - name: "InvalidContractSignature", - type: "error" - }, - { - inputs: [ - ], - name: "InvalidNonce", - type: "error" - }, - { - inputs: [ - ], - name: "InvalidSignature", - type: "error" - }, - { - inputs: [ - ], - name: "InvalidSigner", - type: "error" - }, - { - inputs: [ - ], - name: "LengthMismatch", - type: "error" - }, - { - inputs: [ - ], - name: "NotSpender", - type: "error" - }, - { - inputs: [ - ], - name: "SignatureExpired", - type: "error" - }, - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: "address", - name: "owner", - type: "address" - }, - { - indexed: true, - internalType: "address", - name: "token", - type: "address" - }, - { - indexed: true, - internalType: "address", - name: "spender", - type: "address" - }, - { - indexed: false, - internalType: "uint160", - name: "amount", - type: "uint160" - }, - { - indexed: false, - internalType: "uint48", - name: "expiration", - type: "uint48" - } - ], - name: "Approval", - type: "event" - }, - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: "address", - name: "owner", - type: "address" - }, - { - indexed: false, - internalType: "address", - name: "token", - type: "address" - }, - { - indexed: false, - internalType: "address", - name: "spender", - type: "address" - } - ], - name: "Lockdown", - type: "event" - }, - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: "address", - name: "owner", - type: "address" - }, - { - indexed: true, - internalType: "address", - name: "token", - type: "address" - }, - { - indexed: true, - internalType: "address", - name: "spender", - type: "address" - }, - { - indexed: false, - internalType: "uint48", - name: "newNonce", - type: "uint48" - }, - { - indexed: false, - internalType: "uint48", - name: "oldNonce", - type: "uint48" - } - ], - name: "NonceInvalidation", - type: "event" - }, - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: "address", - name: "owner", - type: "address" - }, - { - indexed: false, - internalType: "uint256", - name: "word", - type: "uint256" - }, - { - indexed: false, - internalType: "uint256", - name: "mask", - type: "uint256" - } - ], - name: "UnorderedNonceInvalidation", - type: "event" - }, - { - inputs: [ - ], - name: "DOMAIN_SEPARATOR", - outputs: [ - { - internalType: "bytes32", - name: "", - type: "bytes32" - } - ], - stateMutability: "view", - type: "function" - }, - { - inputs: [ - { - internalType: "address", - name: "", - type: "address" - }, - { - internalType: "address", - name: "", - type: "address" - }, - { - internalType: "address", - name: "", - type: "address" - } - ], - name: "allowance", - outputs: [ - { - internalType: "uint160", - name: "amount", - type: "uint160" - }, - { - internalType: "uint48", - name: "expiration", - type: "uint48" - }, - { - internalType: "uint48", - name: "nonce", - type: "uint48" - } - ], - stateMutability: "view", - type: "function" - }, - { - inputs: [ - { - internalType: "address", - name: "token", - type: "address" - }, - { - internalType: "address", - name: "spender", - type: "address" - }, - { - internalType: "uint160", - name: "amount", - type: "uint160" - }, - { - internalType: "uint48", - name: "expiration", - type: "uint48" - } - ], - name: "approve", - outputs: [ - ], - stateMutability: "nonpayable", - type: "function" - }, - { - inputs: [ - { - internalType: "address", - name: "token", - type: "address" - }, - { - internalType: "address", - name: "spender", - type: "address" - }, - { - internalType: "uint48", - name: "newNonce", - type: "uint48" - } - ], - name: "invalidateNonces", - outputs: [ - ], - stateMutability: "nonpayable", - type: "function" - }, - { - inputs: [ - { - internalType: "uint256", - name: "wordPos", - type: "uint256" - }, - { - internalType: "uint256", - name: "mask", - type: "uint256" - } - ], - name: "invalidateUnorderedNonces", - outputs: [ - ], - stateMutability: "nonpayable", - type: "function" - }, - { - inputs: [ - { - components: [ - { - internalType: "address", - name: "token", - type: "address" - }, - { - internalType: "address", - name: "spender", - type: "address" - } - ], - internalType: "struct IAllowanceTransfer.TokenSpenderPair[]", - name: "approvals", - type: "tuple[]" - } - ], - name: "lockdown", - outputs: [ - ], - stateMutability: "nonpayable", - type: "function" - }, - { - inputs: [ - { - internalType: "address", - name: "", - type: "address" - }, - { - internalType: "uint256", - name: "", - type: "uint256" - } - ], - name: "nonceBitmap", - outputs: [ - { - internalType: "uint256", - name: "", - type: "uint256" - } - ], - stateMutability: "view", - type: "function" - }, - { - inputs: [ - { - internalType: "address", - name: "owner", - type: "address" - }, - { - components: [ - { - components: [ - { - internalType: "address", - name: "token", - type: "address" - }, - { - internalType: "uint160", - name: "amount", - type: "uint160" - }, - { - internalType: "uint48", - name: "expiration", - type: "uint48" - }, - { - internalType: "uint48", - name: "nonce", - type: "uint48" - } - ], - internalType: "struct IAllowanceTransfer.PermitDetails[]", - name: "details", - type: "tuple[]" - }, - { - internalType: "address", - name: "spender", - type: "address" - }, - { - internalType: "uint256", - name: "sigDeadline", - type: "uint256" - } - ], - internalType: "struct IAllowanceTransfer.PermitBatch", - name: "permitBatch", - type: "tuple" - }, - { - internalType: "bytes", - name: "signature", - type: "bytes" - } - ], - name: "permit", - outputs: [ - ], - stateMutability: "nonpayable", - type: "function" - }, - { - inputs: [ - { - internalType: "address", - name: "owner", - type: "address" - }, - { - components: [ - { - components: [ - { - internalType: "address", - name: "token", - type: "address" - }, - { - internalType: "uint160", - name: "amount", - type: "uint160" - }, - { - internalType: "uint48", - name: "expiration", - type: "uint48" - }, - { - internalType: "uint48", - name: "nonce", - type: "uint48" - } - ], - internalType: "struct IAllowanceTransfer.PermitDetails", - name: "details", - type: "tuple" - }, - { - internalType: "address", - name: "spender", - type: "address" - }, - { - internalType: "uint256", - name: "sigDeadline", - type: "uint256" - } - ], - internalType: "struct IAllowanceTransfer.PermitSingle", - name: "permitSingle", - type: "tuple" - }, - { - internalType: "bytes", - name: "signature", - type: "bytes" - } - ], - name: "permit", - outputs: [ - ], - stateMutability: "nonpayable", - type: "function" - }, - { - inputs: [ - { - components: [ - { - components: [ - { - internalType: "address", - name: "token", - type: "address" - }, - { - internalType: "uint256", - name: "amount", - type: "uint256" - } - ], - internalType: "struct ISignatureTransfer.TokenPermissions[]", - name: "permitted", - type: "tuple[]" - }, - { - internalType: "uint256", - name: "nonce", - type: "uint256" - }, - { - internalType: "uint256", - name: "deadline", - type: "uint256" - } - ], - internalType: "struct ISignatureTransfer.PermitBatchTransferFrom", - name: "permit", - type: "tuple" - }, - { - internalType: "address", - name: "owner", - type: "address" - }, - { - components: [ - { - internalType: "address", - name: "to", - type: "address" - }, - { - internalType: "uint256", - name: "requestedAmount", - type: "uint256" - } - ], - internalType: "struct ISignatureTransfer.SignatureTransferDetails[]", - name: "transferDetails", - type: "tuple[]" - }, - { - internalType: "bytes", - name: "signature", - type: "bytes" - } - ], - name: "permitTransferFrom", - outputs: [ - ], - stateMutability: "nonpayable", - type: "function" - }, - { - inputs: [ - { - components: [ - { - components: [ - { - internalType: "address", - name: "token", - type: "address" - }, - { - internalType: "uint256", - name: "amount", - type: "uint256" - } - ], - internalType: "struct ISignatureTransfer.TokenPermissions", - name: "permitted", - type: "tuple" - }, - { - internalType: "uint256", - name: "nonce", - type: "uint256" - }, - { - internalType: "uint256", - name: "deadline", - type: "uint256" - } - ], - internalType: "struct ISignatureTransfer.PermitTransferFrom", - name: "permit", - type: "tuple" - }, - { - internalType: "address", - name: "owner", - type: "address" - }, - { - internalType: "address", - name: "to", - type: "address" - }, - { - internalType: "uint256", - name: "requestedAmount", - type: "uint256" - }, - { - internalType: "bytes", - name: "signature", - type: "bytes" - } - ], - name: "permitTransferFrom", - outputs: [ - ], - stateMutability: "nonpayable", - type: "function" - }, - { - inputs: [ - { - components: [ - { - components: [ - { - internalType: "address", - name: "token", - type: "address" - }, - { - internalType: "uint256", - name: "amount", - type: "uint256" - } - ], - internalType: "struct ISignatureTransfer.TokenPermissions", - name: "permitted", - type: "tuple" - }, - { - internalType: "uint256", - name: "nonce", - type: "uint256" - }, - { - internalType: "uint256", - name: "deadline", - type: "uint256" - } - ], - internalType: "struct ISignatureTransfer.PermitTransferFrom", - name: "permit", - type: "tuple" - }, - { - internalType: "address", - name: "owner", - type: "address" - }, - { - internalType: "address", - name: "to", - type: "address" - }, - { - internalType: "uint256", - name: "requestedAmount", - type: "uint256" - }, - { - internalType: "bytes32", - name: "witness", - type: "bytes32" - }, - { - internalType: "string", - name: "witnessTypeName", - type: "string" - }, - { - internalType: "string", - name: "witnessType", - type: "string" - }, - { - internalType: "bytes", - name: "signature", - type: "bytes" - } - ], - name: "permitWitnessTransferFrom", - outputs: [ - ], - stateMutability: "nonpayable", - type: "function" - }, - { - inputs: [ - { - components: [ - { - components: [ - { - internalType: "address", - name: "token", - type: "address" - }, - { - internalType: "uint256", - name: "amount", - type: "uint256" - } - ], - internalType: "struct ISignatureTransfer.TokenPermissions[]", - name: "permitted", - type: "tuple[]" - }, - { - internalType: "uint256", - name: "nonce", - type: "uint256" - }, - { - internalType: "uint256", - name: "deadline", - type: "uint256" - } - ], - internalType: "struct ISignatureTransfer.PermitBatchTransferFrom", - name: "permit", - type: "tuple" - }, - { - internalType: "address", - name: "owner", - type: "address" - }, - { - components: [ - { - internalType: "address", - name: "to", - type: "address" - }, - { - internalType: "uint256", - name: "requestedAmount", - type: "uint256" - } - ], - internalType: "struct ISignatureTransfer.SignatureTransferDetails[]", - name: "transferDetails", - type: "tuple[]" - }, - { - internalType: "bytes32", - name: "witness", - type: "bytes32" - }, - { - internalType: "string", - name: "witnessTypeName", - type: "string" - }, - { - internalType: "string", - name: "witnessType", - type: "string" - }, - { - internalType: "bytes", - name: "signature", - type: "bytes" - } - ], - name: "permitWitnessTransferFrom", - outputs: [ - ], - stateMutability: "nonpayable", - type: "function" - }, - { - inputs: [ - { - internalType: "address", - name: "token", - type: "address" - }, - { - internalType: "address", - name: "from", - type: "address" - }, - { - internalType: "address", - name: "to", - type: "address" - }, - { - internalType: "uint160", - name: "amount", - type: "uint160" - } - ], - name: "transferFrom", - outputs: [ - ], - stateMutability: "nonpayable", - type: "function" - }, - { - inputs: [ - { - internalType: "address", - name: "from", - type: "address" - }, - { - components: [ - { - internalType: "address", - name: "token", - type: "address" - }, - { - internalType: "uint160", - name: "amount", - type: "uint160" - }, - { - internalType: "address", - name: "to", - type: "address" - } - ], - internalType: "struct IAllowanceTransfer.AllowanceTransferDetails[]", - name: "transferDetails", - type: "tuple[]" - } - ], - name: "transferFrom", - outputs: [ - ], - stateMutability: "nonpayable", - type: "function" - } -]; - -var AllowanceProvider = /*#__PURE__*/function () { - function AllowanceProvider(provider, permit2Address) { - this.provider = provider; - this.permit2Address = permit2Address; - this.permit2 = new contracts.Contract(this.permit2Address, Permit2Abi, this.provider); - } - var _proto = AllowanceProvider.prototype; - _proto.getAllowanceData = /*#__PURE__*/function () { - var _getAllowanceData = /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(token, owner, spender) { - return _regeneratorRuntime().wrap(function _callee$(_context) { - while (1) switch (_context.prev = _context.next) { - case 0: - _context.next = 2; - return this.permit2.allowance(owner, token, spender); - case 2: - return _context.abrupt("return", _context.sent); - case 3: - case "end": - return _context.stop(); - } - }, _callee, this); - })); - function getAllowanceData(_x, _x2, _x3) { - return _getAllowanceData.apply(this, arguments); - } - return getAllowanceData; - }(); - _proto.getAllowance = /*#__PURE__*/function () { - var _getAllowance = /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2(token, owner, spender) { - return _regeneratorRuntime().wrap(function _callee2$(_context2) { - while (1) switch (_context2.prev = _context2.next) { - case 0: - _context2.next = 2; - return this.getAllowanceData(token, owner, spender); - case 2: - return _context2.abrupt("return", _context2.sent.amount); - case 3: - case "end": - return _context2.stop(); - } - }, _callee2, this); - })); - function getAllowance(_x4, _x5, _x6) { - return _getAllowance.apply(this, arguments); - } - return getAllowance; - }(); - _proto.getNonce = /*#__PURE__*/function () { - var _getNonce = /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee3(token, owner, spender) { - return _regeneratorRuntime().wrap(function _callee3$(_context3) { - while (1) switch (_context3.prev = _context3.next) { - case 0: - _context3.next = 2; - return this.getAllowanceData(token, owner, spender); - case 2: - return _context3.abrupt("return", _context3.sent.nonce); - case 3: - case "end": - return _context3.stop(); - } - }, _callee3, this); - })); - function getNonce(_x7, _x8, _x9) { - return _getNonce.apply(this, arguments); - } - return getNonce; - }(); - _proto.getExpiration = /*#__PURE__*/function () { - var _getExpiration = /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee4(token, owner, spender) { - return _regeneratorRuntime().wrap(function _callee4$(_context4) { - while (1) switch (_context4.prev = _context4.next) { - case 0: - _context4.next = 2; - return this.getAllowanceData(token, owner, spender); - case 2: - return _context4.abrupt("return", _context4.sent.expiration); - case 3: - case "end": - return _context4.stop(); - } - }, _callee4, this); - })); - function getExpiration(_x10, _x11, _x12) { - return _getExpiration.apply(this, arguments); - } - return getExpiration; - }(); - return AllowanceProvider; -}(); - -__webpack_unused_export__ = AllowanceProvider; -__webpack_unused_export__ = AllowanceTransfer; -__webpack_unused_export__ = InstantExpiration; -__webpack_unused_export__ = MaxAllowanceExpiration; -__webpack_unused_export__ = MaxAllowanceTransferAmount; -__webpack_unused_export__ = MaxOrderedNonce; -__webpack_unused_export__ = MaxSigDeadline; -__webpack_unused_export__ = MaxSignatureTransferAmount; -__webpack_unused_export__ = MaxUint160; -exports.MaxUint256 = MaxUint256; -__webpack_unused_export__ = MaxUint48; -__webpack_unused_export__ = MaxUnorderedNonce; -exports.PERMIT2_ADDRESS = PERMIT2_ADDRESS; -exports.SignatureTransfer = SignatureTransfer; -__webpack_unused_export__ = permit2Address; -//# sourceMappingURL=permit2-sdk.cjs.development.js.map - - -/***/ }), - -/***/ 55869: -/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { - -var __webpack_unused_export__; -__webpack_unused_export__ = ({value:!0});var e,t=(e=__nccwpck_require__(476))&&"object"==typeof e&&"default"in e?e.default:e,n=__nccwpck_require__(39144),r=__nccwpck_require__(14763),a=__nccwpck_require__(21795),i=r.BigNumber.from("0xffffffffffff"),s=r.BigNumber.from("0xffffffffffffffffffffffffffffffffffffffff"),o=r.BigNumber.from("0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"),p=s,u=i,y=i,d=o,l=o,m=o,c=r.BigNumber.from(0);function f(e,t){return{name:"Permit2",chainId:t,verifyingContract:e}}var h=[{name:"token",type:"address"},{name:"amount",type:"uint160"},{name:"expiration",type:"uint48"},{name:"nonce",type:"uint48"}],T={PermitSingle:[{name:"details",type:"PermitDetails"},{name:"spender",type:"address"},{name:"sigDeadline",type:"uint256"}],PermitDetails:h},v={PermitBatch:[{name:"details",type:"PermitDetails[]"},{name:"spender",type:"address"},{name:"sigDeadline",type:"uint256"}],PermitDetails:h},g=function(){function e(){}return e.getPermitData=function(e,n,r){m.gte(e.sigDeadline)||t(!1);var a=f(n,r);return function(e){return!Array.isArray(e.details)}(e)?(w(e.details),{domain:a,types:T,values:e}):(e.details.forEach(w),{domain:a,types:v,values:e})},e.hash=function(t,r,a){var i=e.getPermitData(t,r,a);return n._TypedDataEncoder.hash(i.domain,i.types,i.values)},e}();function w(e){y.gte(e.nonce)||t(!1),p.gte(e.amount)||t(!1),u.gte(e.expiration)||t(!1)}function x(){x=function(){return t};var e,t={},n=Object.prototype,r=n.hasOwnProperty,a=Object.defineProperty||function(e,t,n){e[t]=n.value},i="function"==typeof Symbol?Symbol:{},s=i.iterator||"@@iterator",o=i.asyncIterator||"@@asyncIterator",p=i.toStringTag||"@@toStringTag";function u(e,t,n){return Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{u({},"")}catch(e){u=function(e,t,n){return e[t]=n}}function y(e,t,n,r){var i=Object.create((t&&t.prototype instanceof h?t:h).prototype),s=new L(r||[]);return a(i,"_invoke",{value:E(e,n,s)}),i}function d(e,t,n){try{return{type:"normal",arg:e.call(t,n)}}catch(e){return{type:"throw",arg:e}}}t.wrap=y;var l="suspendedStart",m="executing",c="completed",f={};function h(){}function T(){}function v(){}var g={};u(g,s,(function(){return this}));var w=Object.getPrototypeOf,b=w&&w(w(N([])));b&&b!==n&&r.call(b,s)&&(g=b);var P=v.prototype=h.prototype=Object.create(g);function k(e){["next","throw","return"].forEach((function(t){u(e,t,(function(e){return this._invoke(t,e)}))}))}function A(e,t){function n(a,i,s,o){var p=d(e[a],e,i);if("throw"!==p.type){var u=p.arg,y=u.value;return y&&"object"==typeof y&&r.call(y,"__await")?t.resolve(y.__await).then((function(e){n("next",e,s,o)}),(function(e){n("throw",e,s,o)})):t.resolve(y).then((function(e){u.value=e,s(u)}),(function(e){return n("throw",e,s,o)}))}o(p.arg)}var i;a(this,"_invoke",{value:function(e,r){function a(){return new t((function(t,a){n(e,r,t,a)}))}return i=i?i.then(a,a):a()}})}function E(t,n,r){var a=l;return function(i,s){if(a===m)throw new Error("Generator is already running");if(a===c){if("throw"===i)throw s;return{value:e,done:!0}}for(r.method=i,r.arg=s;;){var o=r.delegate;if(o){var p=D(o,r);if(p){if(p===f)continue;return p}}if("next"===r.method)r.sent=r._sent=r.arg;else if("throw"===r.method){if(a===l)throw a=c,r.arg;r.dispatchException(r.arg)}else"return"===r.method&&r.abrupt("return",r.arg);a=m;var u=d(t,n,r);if("normal"===u.type){if(a=r.done?c:"suspendedYield",u.arg===f)continue;return{value:u.arg,done:r.done}}"throw"===u.type&&(a=c,r.method="throw",r.arg=u.arg)}}}function D(t,n){var r=n.method,a=t.iterator[r];if(a===e)return n.delegate=null,"throw"===r&&t.iterator.return&&(n.method="return",n.arg=e,D(t,n),"throw"===n.method)||"return"!==r&&(n.method="throw",n.arg=new TypeError("The iterator does not provide a '"+r+"' method")),f;var i=d(a,t.iterator,n.arg);if("throw"===i.type)return n.method="throw",n.arg=i.arg,n.delegate=null,f;var s=i.arg;return s?s.done?(n[t.resultName]=s.value,n.next=t.nextLoc,"return"!==n.method&&(n.method="next",n.arg=e),n.delegate=null,f):s:(n.method="throw",n.arg=new TypeError("iterator result is not an object"),n.delegate=null,f)}function S(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function I(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function L(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(S,this),this.reset(!0)}function N(t){if(t||""===t){var n=t[s];if(n)return n.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var a=-1,i=function n(){for(;++a=0;--i){var s=this.tryEntries[i],o=s.completion;if("root"===s.tryLoc)return a("end");if(s.tryLoc<=this.prev){var p=r.call(s,"catchLoc"),u=r.call(s,"finallyLoc");if(p&&u){if(this.prev=0;--n){var a=this.tryEntries[n];if(a.tryLoc<=this.prev&&r.call(a,"finallyLoc")&&this.prev=0;--t){var n=this.tryEntries[t];if(n.finallyLoc===e)return this.complete(n.completion,n.afterLoc),I(n),f}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.tryLoc===e){var r=n.completion;if("throw"===r.type){var a=r.arg;I(n)}return a}}throw new Error("illegal catch attempt")},delegateYield:function(t,n,r){return this.delegate={iterator:N(t),resultName:n,nextLoc:r},"next"===this.method&&(this.arg=e),f}},t}function b(e,t,n,r,a,i,s){try{var o=e[i](s),p=o.value}catch(e){return void n(e)}o.done?t(p):Promise.resolve(p).then(r,a)}function P(e){return function(){var t=this,n=arguments;return new Promise((function(r,a){var i=e.apply(t,n);function s(e){b(i,r,a,s,o,"next",e)}function o(e){b(i,r,a,s,o,"throw",e)}s(void 0)}))}}function k(){return(k=Object.assign?Object.assign.bind():function(e){for(var t=1;t { - -/** - * @author Toru Nagashima - * See LICENSE file in root directory for full license. - */ - - -Object.defineProperty(exports, "__esModule", ({ value: true })); - -var eventTargetShim = __nccwpck_require__(85468); - -/** - * The signal class. - * @see https://dom.spec.whatwg.org/#abortsignal - */ -class AbortSignal extends eventTargetShim.EventTarget { - /** - * AbortSignal cannot be constructed directly. - */ - constructor() { - super(); - throw new TypeError("AbortSignal cannot be constructed directly"); - } - /** - * Returns `true` if this `AbortSignal`'s `AbortController` has signaled to abort, and `false` otherwise. - */ - get aborted() { - const aborted = abortedFlags.get(this); - if (typeof aborted !== "boolean") { - throw new TypeError(`Expected 'this' to be an 'AbortSignal' object, but got ${this === null ? "null" : typeof this}`); - } - return aborted; - } -} -eventTargetShim.defineEventAttribute(AbortSignal.prototype, "abort"); -/** - * Create an AbortSignal object. - */ -function createAbortSignal() { - const signal = Object.create(AbortSignal.prototype); - eventTargetShim.EventTarget.call(signal); - abortedFlags.set(signal, false); - return signal; -} -/** - * Abort a given signal. - */ -function abortSignal(signal) { - if (abortedFlags.get(signal) !== false) { - return; - } - abortedFlags.set(signal, true); - signal.dispatchEvent({ type: "abort" }); -} -/** - * Aborted flag for each instances. - */ -const abortedFlags = new WeakMap(); -// Properties should be enumerable. -Object.defineProperties(AbortSignal.prototype, { - aborted: { enumerable: true }, -}); -// `toString()` should return `"[object AbortSignal]"` -if (typeof Symbol === "function" && typeof Symbol.toStringTag === "symbol") { - Object.defineProperty(AbortSignal.prototype, Symbol.toStringTag, { - configurable: true, - value: "AbortSignal", - }); -} - -/** - * The AbortController. - * @see https://dom.spec.whatwg.org/#abortcontroller - */ -class AbortController { - /** - * Initialize this controller. - */ - constructor() { - signals.set(this, createAbortSignal()); - } - /** - * Returns the `AbortSignal` object associated with this object. - */ - get signal() { - return getSignal(this); - } - /** - * Abort and signal to any observers that the associated activity is to be aborted. - */ - abort() { - abortSignal(getSignal(this)); - } -} -/** - * Associated signals. - */ -const signals = new WeakMap(); -/** - * Get the associated signal of a given controller. - */ -function getSignal(controller) { - const signal = signals.get(controller); - if (signal == null) { - throw new TypeError(`Expected 'this' to be an 'AbortController' object, but got ${controller === null ? "null" : typeof controller}`); - } - return signal; -} -// Properties should be enumerable. -Object.defineProperties(AbortController.prototype, { - signal: { enumerable: true }, - abort: { enumerable: true }, -}); -if (typeof Symbol === "function" && typeof Symbol.toStringTag === "symbol") { - Object.defineProperty(AbortController.prototype, Symbol.toStringTag, { - configurable: true, - value: "AbortController", - }); -} - -exports.AbortController = AbortController; -exports.AbortSignal = AbortSignal; -exports["default"] = AbortController; - -module.exports = AbortController -module.exports.AbortController = module.exports["default"] = AbortController -module.exports.AbortSignal = AbortSignal -//# sourceMappingURL=abort-controller.js.map - - -/***/ }), - -/***/ 33692: -/***/ (function(module) { - - - -(function(root) { - - function checkInt(value) { - return (parseInt(value) === value); - } - - function checkInts(arrayish) { - if (!checkInt(arrayish.length)) { return false; } - - for (var i = 0; i < arrayish.length; i++) { - if (!checkInt(arrayish[i]) || arrayish[i] < 0 || arrayish[i] > 255) { - return false; - } - } - - return true; - } - - function coerceArray(arg, copy) { - - // ArrayBuffer view - if (arg.buffer && ArrayBuffer.isView(arg) && arg.name === 'Uint8Array') { - - if (copy) { - if (arg.slice) { - arg = arg.slice(); - } else { - arg = Array.prototype.slice.call(arg); - } - } - - return arg; - } - - // It's an array; check it is a valid representation of a byte - if (Array.isArray(arg)) { - if (!checkInts(arg)) { - throw new Error('Array contains invalid value: ' + arg); - } - - return new Uint8Array(arg); - } - - // Something else, but behaves like an array (maybe a Buffer? Arguments?) - if (checkInt(arg.length) && checkInts(arg)) { - return new Uint8Array(arg); - } - - throw new Error('unsupported array-like object'); - } - - function createArray(length) { - return new Uint8Array(length); - } - - function copyArray(sourceArray, targetArray, targetStart, sourceStart, sourceEnd) { - if (sourceStart != null || sourceEnd != null) { - if (sourceArray.slice) { - sourceArray = sourceArray.slice(sourceStart, sourceEnd); - } else { - sourceArray = Array.prototype.slice.call(sourceArray, sourceStart, sourceEnd); - } - } - targetArray.set(sourceArray, targetStart); - } - - - - var convertUtf8 = (function() { - function toBytes(text) { - var result = [], i = 0; - text = encodeURI(text); - while (i < text.length) { - var c = text.charCodeAt(i++); - - // if it is a % sign, encode the following 2 bytes as a hex value - if (c === 37) { - result.push(parseInt(text.substr(i, 2), 16)) - i += 2; - - // otherwise, just the actual byte - } else { - result.push(c) - } - } - - return coerceArray(result); - } - - function fromBytes(bytes) { - var result = [], i = 0; - - while (i < bytes.length) { - var c = bytes[i]; - - if (c < 128) { - result.push(String.fromCharCode(c)); - i++; - } else if (c > 191 && c < 224) { - result.push(String.fromCharCode(((c & 0x1f) << 6) | (bytes[i + 1] & 0x3f))); - i += 2; - } else { - result.push(String.fromCharCode(((c & 0x0f) << 12) | ((bytes[i + 1] & 0x3f) << 6) | (bytes[i + 2] & 0x3f))); - i += 3; - } - } - - return result.join(''); - } - - return { - toBytes: toBytes, - fromBytes: fromBytes, - } - })(); - - var convertHex = (function() { - function toBytes(text) { - var result = []; - for (var i = 0; i < text.length; i += 2) { - result.push(parseInt(text.substr(i, 2), 16)); - } - - return result; - } - - // http://ixti.net/development/javascript/2011/11/11/base64-encodedecode-of-utf8-in-browser-with-js.html - var Hex = '0123456789abcdef'; - - function fromBytes(bytes) { - var result = []; - for (var i = 0; i < bytes.length; i++) { - var v = bytes[i]; - result.push(Hex[(v & 0xf0) >> 4] + Hex[v & 0x0f]); - } - return result.join(''); - } - - return { - toBytes: toBytes, - fromBytes: fromBytes, - } - })(); - - - // Number of rounds by keysize - var numberOfRounds = {16: 10, 24: 12, 32: 14} - - // Round constant words - var rcon = [0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, 0x1b, 0x36, 0x6c, 0xd8, 0xab, 0x4d, 0x9a, 0x2f, 0x5e, 0xbc, 0x63, 0xc6, 0x97, 0x35, 0x6a, 0xd4, 0xb3, 0x7d, 0xfa, 0xef, 0xc5, 0x91]; - - // S-box and Inverse S-box (S is for Substitution) - var S = [0x63, 0x7c, 0x77, 0x7b, 0xf2, 0x6b, 0x6f, 0xc5, 0x30, 0x01, 0x67, 0x2b, 0xfe, 0xd7, 0xab, 0x76, 0xca, 0x82, 0xc9, 0x7d, 0xfa, 0x59, 0x47, 0xf0, 0xad, 0xd4, 0xa2, 0xaf, 0x9c, 0xa4, 0x72, 0xc0, 0xb7, 0xfd, 0x93, 0x26, 0x36, 0x3f, 0xf7, 0xcc, 0x34, 0xa5, 0xe5, 0xf1, 0x71, 0xd8, 0x31, 0x15, 0x04, 0xc7, 0x23, 0xc3, 0x18, 0x96, 0x05, 0x9a, 0x07, 0x12, 0x80, 0xe2, 0xeb, 0x27, 0xb2, 0x75, 0x09, 0x83, 0x2c, 0x1a, 0x1b, 0x6e, 0x5a, 0xa0, 0x52, 0x3b, 0xd6, 0xb3, 0x29, 0xe3, 0x2f, 0x84, 0x53, 0xd1, 0x00, 0xed, 0x20, 0xfc, 0xb1, 0x5b, 0x6a, 0xcb, 0xbe, 0x39, 0x4a, 0x4c, 0x58, 0xcf, 0xd0, 0xef, 0xaa, 0xfb, 0x43, 0x4d, 0x33, 0x85, 0x45, 0xf9, 0x02, 0x7f, 0x50, 0x3c, 0x9f, 0xa8, 0x51, 0xa3, 0x40, 0x8f, 0x92, 0x9d, 0x38, 0xf5, 0xbc, 0xb6, 0xda, 0x21, 0x10, 0xff, 0xf3, 0xd2, 0xcd, 0x0c, 0x13, 0xec, 0x5f, 0x97, 0x44, 0x17, 0xc4, 0xa7, 0x7e, 0x3d, 0x64, 0x5d, 0x19, 0x73, 0x60, 0x81, 0x4f, 0xdc, 0x22, 0x2a, 0x90, 0x88, 0x46, 0xee, 0xb8, 0x14, 0xde, 0x5e, 0x0b, 0xdb, 0xe0, 0x32, 0x3a, 0x0a, 0x49, 0x06, 0x24, 0x5c, 0xc2, 0xd3, 0xac, 0x62, 0x91, 0x95, 0xe4, 0x79, 0xe7, 0xc8, 0x37, 0x6d, 0x8d, 0xd5, 0x4e, 0xa9, 0x6c, 0x56, 0xf4, 0xea, 0x65, 0x7a, 0xae, 0x08, 0xba, 0x78, 0x25, 0x2e, 0x1c, 0xa6, 0xb4, 0xc6, 0xe8, 0xdd, 0x74, 0x1f, 0x4b, 0xbd, 0x8b, 0x8a, 0x70, 0x3e, 0xb5, 0x66, 0x48, 0x03, 0xf6, 0x0e, 0x61, 0x35, 0x57, 0xb9, 0x86, 0xc1, 0x1d, 0x9e, 0xe1, 0xf8, 0x98, 0x11, 0x69, 0xd9, 0x8e, 0x94, 0x9b, 0x1e, 0x87, 0xe9, 0xce, 0x55, 0x28, 0xdf, 0x8c, 0xa1, 0x89, 0x0d, 0xbf, 0xe6, 0x42, 0x68, 0x41, 0x99, 0x2d, 0x0f, 0xb0, 0x54, 0xbb, 0x16]; - var Si =[0x52, 0x09, 0x6a, 0xd5, 0x30, 0x36, 0xa5, 0x38, 0xbf, 0x40, 0xa3, 0x9e, 0x81, 0xf3, 0xd7, 0xfb, 0x7c, 0xe3, 0x39, 0x82, 0x9b, 0x2f, 0xff, 0x87, 0x34, 0x8e, 0x43, 0x44, 0xc4, 0xde, 0xe9, 0xcb, 0x54, 0x7b, 0x94, 0x32, 0xa6, 0xc2, 0x23, 0x3d, 0xee, 0x4c, 0x95, 0x0b, 0x42, 0xfa, 0xc3, 0x4e, 0x08, 0x2e, 0xa1, 0x66, 0x28, 0xd9, 0x24, 0xb2, 0x76, 0x5b, 0xa2, 0x49, 0x6d, 0x8b, 0xd1, 0x25, 0x72, 0xf8, 0xf6, 0x64, 0x86, 0x68, 0x98, 0x16, 0xd4, 0xa4, 0x5c, 0xcc, 0x5d, 0x65, 0xb6, 0x92, 0x6c, 0x70, 0x48, 0x50, 0xfd, 0xed, 0xb9, 0xda, 0x5e, 0x15, 0x46, 0x57, 0xa7, 0x8d, 0x9d, 0x84, 0x90, 0xd8, 0xab, 0x00, 0x8c, 0xbc, 0xd3, 0x0a, 0xf7, 0xe4, 0x58, 0x05, 0xb8, 0xb3, 0x45, 0x06, 0xd0, 0x2c, 0x1e, 0x8f, 0xca, 0x3f, 0x0f, 0x02, 0xc1, 0xaf, 0xbd, 0x03, 0x01, 0x13, 0x8a, 0x6b, 0x3a, 0x91, 0x11, 0x41, 0x4f, 0x67, 0xdc, 0xea, 0x97, 0xf2, 0xcf, 0xce, 0xf0, 0xb4, 0xe6, 0x73, 0x96, 0xac, 0x74, 0x22, 0xe7, 0xad, 0x35, 0x85, 0xe2, 0xf9, 0x37, 0xe8, 0x1c, 0x75, 0xdf, 0x6e, 0x47, 0xf1, 0x1a, 0x71, 0x1d, 0x29, 0xc5, 0x89, 0x6f, 0xb7, 0x62, 0x0e, 0xaa, 0x18, 0xbe, 0x1b, 0xfc, 0x56, 0x3e, 0x4b, 0xc6, 0xd2, 0x79, 0x20, 0x9a, 0xdb, 0xc0, 0xfe, 0x78, 0xcd, 0x5a, 0xf4, 0x1f, 0xdd, 0xa8, 0x33, 0x88, 0x07, 0xc7, 0x31, 0xb1, 0x12, 0x10, 0x59, 0x27, 0x80, 0xec, 0x5f, 0x60, 0x51, 0x7f, 0xa9, 0x19, 0xb5, 0x4a, 0x0d, 0x2d, 0xe5, 0x7a, 0x9f, 0x93, 0xc9, 0x9c, 0xef, 0xa0, 0xe0, 0x3b, 0x4d, 0xae, 0x2a, 0xf5, 0xb0, 0xc8, 0xeb, 0xbb, 0x3c, 0x83, 0x53, 0x99, 0x61, 0x17, 0x2b, 0x04, 0x7e, 0xba, 0x77, 0xd6, 0x26, 0xe1, 0x69, 0x14, 0x63, 0x55, 0x21, 0x0c, 0x7d]; - - // Transformations for encryption - var T1 = [0xc66363a5, 0xf87c7c84, 0xee777799, 0xf67b7b8d, 0xfff2f20d, 0xd66b6bbd, 0xde6f6fb1, 0x91c5c554, 0x60303050, 0x02010103, 0xce6767a9, 0x562b2b7d, 0xe7fefe19, 0xb5d7d762, 0x4dababe6, 0xec76769a, 0x8fcaca45, 0x1f82829d, 0x89c9c940, 0xfa7d7d87, 0xeffafa15, 0xb25959eb, 0x8e4747c9, 0xfbf0f00b, 0x41adadec, 0xb3d4d467, 0x5fa2a2fd, 0x45afafea, 0x239c9cbf, 0x53a4a4f7, 0xe4727296, 0x9bc0c05b, 0x75b7b7c2, 0xe1fdfd1c, 0x3d9393ae, 0x4c26266a, 0x6c36365a, 0x7e3f3f41, 0xf5f7f702, 0x83cccc4f, 0x6834345c, 0x51a5a5f4, 0xd1e5e534, 0xf9f1f108, 0xe2717193, 0xabd8d873, 0x62313153, 0x2a15153f, 0x0804040c, 0x95c7c752, 0x46232365, 0x9dc3c35e, 0x30181828, 0x379696a1, 0x0a05050f, 0x2f9a9ab5, 0x0e070709, 0x24121236, 0x1b80809b, 0xdfe2e23d, 0xcdebeb26, 0x4e272769, 0x7fb2b2cd, 0xea75759f, 0x1209091b, 0x1d83839e, 0x582c2c74, 0x341a1a2e, 0x361b1b2d, 0xdc6e6eb2, 0xb45a5aee, 0x5ba0a0fb, 0xa45252f6, 0x763b3b4d, 0xb7d6d661, 0x7db3b3ce, 0x5229297b, 0xdde3e33e, 0x5e2f2f71, 0x13848497, 0xa65353f5, 0xb9d1d168, 0x00000000, 0xc1eded2c, 0x40202060, 0xe3fcfc1f, 0x79b1b1c8, 0xb65b5bed, 0xd46a6abe, 0x8dcbcb46, 0x67bebed9, 0x7239394b, 0x944a4ade, 0x984c4cd4, 0xb05858e8, 0x85cfcf4a, 0xbbd0d06b, 0xc5efef2a, 0x4faaaae5, 0xedfbfb16, 0x864343c5, 0x9a4d4dd7, 0x66333355, 0x11858594, 0x8a4545cf, 0xe9f9f910, 0x04020206, 0xfe7f7f81, 0xa05050f0, 0x783c3c44, 0x259f9fba, 0x4ba8a8e3, 0xa25151f3, 0x5da3a3fe, 0x804040c0, 0x058f8f8a, 0x3f9292ad, 0x219d9dbc, 0x70383848, 0xf1f5f504, 0x63bcbcdf, 0x77b6b6c1, 0xafdada75, 0x42212163, 0x20101030, 0xe5ffff1a, 0xfdf3f30e, 0xbfd2d26d, 0x81cdcd4c, 0x180c0c14, 0x26131335, 0xc3ecec2f, 0xbe5f5fe1, 0x359797a2, 0x884444cc, 0x2e171739, 0x93c4c457, 0x55a7a7f2, 0xfc7e7e82, 0x7a3d3d47, 0xc86464ac, 0xba5d5de7, 0x3219192b, 0xe6737395, 0xc06060a0, 0x19818198, 0x9e4f4fd1, 0xa3dcdc7f, 0x44222266, 0x542a2a7e, 0x3b9090ab, 0x0b888883, 0x8c4646ca, 0xc7eeee29, 0x6bb8b8d3, 0x2814143c, 0xa7dede79, 0xbc5e5ee2, 0x160b0b1d, 0xaddbdb76, 0xdbe0e03b, 0x64323256, 0x743a3a4e, 0x140a0a1e, 0x924949db, 0x0c06060a, 0x4824246c, 0xb85c5ce4, 0x9fc2c25d, 0xbdd3d36e, 0x43acacef, 0xc46262a6, 0x399191a8, 0x319595a4, 0xd3e4e437, 0xf279798b, 0xd5e7e732, 0x8bc8c843, 0x6e373759, 0xda6d6db7, 0x018d8d8c, 0xb1d5d564, 0x9c4e4ed2, 0x49a9a9e0, 0xd86c6cb4, 0xac5656fa, 0xf3f4f407, 0xcfeaea25, 0xca6565af, 0xf47a7a8e, 0x47aeaee9, 0x10080818, 0x6fbabad5, 0xf0787888, 0x4a25256f, 0x5c2e2e72, 0x381c1c24, 0x57a6a6f1, 0x73b4b4c7, 0x97c6c651, 0xcbe8e823, 0xa1dddd7c, 0xe874749c, 0x3e1f1f21, 0x964b4bdd, 0x61bdbddc, 0x0d8b8b86, 0x0f8a8a85, 0xe0707090, 0x7c3e3e42, 0x71b5b5c4, 0xcc6666aa, 0x904848d8, 0x06030305, 0xf7f6f601, 0x1c0e0e12, 0xc26161a3, 0x6a35355f, 0xae5757f9, 0x69b9b9d0, 0x17868691, 0x99c1c158, 0x3a1d1d27, 0x279e9eb9, 0xd9e1e138, 0xebf8f813, 0x2b9898b3, 0x22111133, 0xd26969bb, 0xa9d9d970, 0x078e8e89, 0x339494a7, 0x2d9b9bb6, 0x3c1e1e22, 0x15878792, 0xc9e9e920, 0x87cece49, 0xaa5555ff, 0x50282878, 0xa5dfdf7a, 0x038c8c8f, 0x59a1a1f8, 0x09898980, 0x1a0d0d17, 0x65bfbfda, 0xd7e6e631, 0x844242c6, 0xd06868b8, 0x824141c3, 0x299999b0, 0x5a2d2d77, 0x1e0f0f11, 0x7bb0b0cb, 0xa85454fc, 0x6dbbbbd6, 0x2c16163a]; - var T2 = [0xa5c66363, 0x84f87c7c, 0x99ee7777, 0x8df67b7b, 0x0dfff2f2, 0xbdd66b6b, 0xb1de6f6f, 0x5491c5c5, 0x50603030, 0x03020101, 0xa9ce6767, 0x7d562b2b, 0x19e7fefe, 0x62b5d7d7, 0xe64dabab, 0x9aec7676, 0x458fcaca, 0x9d1f8282, 0x4089c9c9, 0x87fa7d7d, 0x15effafa, 0xebb25959, 0xc98e4747, 0x0bfbf0f0, 0xec41adad, 0x67b3d4d4, 0xfd5fa2a2, 0xea45afaf, 0xbf239c9c, 0xf753a4a4, 0x96e47272, 0x5b9bc0c0, 0xc275b7b7, 0x1ce1fdfd, 0xae3d9393, 0x6a4c2626, 0x5a6c3636, 0x417e3f3f, 0x02f5f7f7, 0x4f83cccc, 0x5c683434, 0xf451a5a5, 0x34d1e5e5, 0x08f9f1f1, 0x93e27171, 0x73abd8d8, 0x53623131, 0x3f2a1515, 0x0c080404, 0x5295c7c7, 0x65462323, 0x5e9dc3c3, 0x28301818, 0xa1379696, 0x0f0a0505, 0xb52f9a9a, 0x090e0707, 0x36241212, 0x9b1b8080, 0x3ddfe2e2, 0x26cdebeb, 0x694e2727, 0xcd7fb2b2, 0x9fea7575, 0x1b120909, 0x9e1d8383, 0x74582c2c, 0x2e341a1a, 0x2d361b1b, 0xb2dc6e6e, 0xeeb45a5a, 0xfb5ba0a0, 0xf6a45252, 0x4d763b3b, 0x61b7d6d6, 0xce7db3b3, 0x7b522929, 0x3edde3e3, 0x715e2f2f, 0x97138484, 0xf5a65353, 0x68b9d1d1, 0x00000000, 0x2cc1eded, 0x60402020, 0x1fe3fcfc, 0xc879b1b1, 0xedb65b5b, 0xbed46a6a, 0x468dcbcb, 0xd967bebe, 0x4b723939, 0xde944a4a, 0xd4984c4c, 0xe8b05858, 0x4a85cfcf, 0x6bbbd0d0, 0x2ac5efef, 0xe54faaaa, 0x16edfbfb, 0xc5864343, 0xd79a4d4d, 0x55663333, 0x94118585, 0xcf8a4545, 0x10e9f9f9, 0x06040202, 0x81fe7f7f, 0xf0a05050, 0x44783c3c, 0xba259f9f, 0xe34ba8a8, 0xf3a25151, 0xfe5da3a3, 0xc0804040, 0x8a058f8f, 0xad3f9292, 0xbc219d9d, 0x48703838, 0x04f1f5f5, 0xdf63bcbc, 0xc177b6b6, 0x75afdada, 0x63422121, 0x30201010, 0x1ae5ffff, 0x0efdf3f3, 0x6dbfd2d2, 0x4c81cdcd, 0x14180c0c, 0x35261313, 0x2fc3ecec, 0xe1be5f5f, 0xa2359797, 0xcc884444, 0x392e1717, 0x5793c4c4, 0xf255a7a7, 0x82fc7e7e, 0x477a3d3d, 0xacc86464, 0xe7ba5d5d, 0x2b321919, 0x95e67373, 0xa0c06060, 0x98198181, 0xd19e4f4f, 0x7fa3dcdc, 0x66442222, 0x7e542a2a, 0xab3b9090, 0x830b8888, 0xca8c4646, 0x29c7eeee, 0xd36bb8b8, 0x3c281414, 0x79a7dede, 0xe2bc5e5e, 0x1d160b0b, 0x76addbdb, 0x3bdbe0e0, 0x56643232, 0x4e743a3a, 0x1e140a0a, 0xdb924949, 0x0a0c0606, 0x6c482424, 0xe4b85c5c, 0x5d9fc2c2, 0x6ebdd3d3, 0xef43acac, 0xa6c46262, 0xa8399191, 0xa4319595, 0x37d3e4e4, 0x8bf27979, 0x32d5e7e7, 0x438bc8c8, 0x596e3737, 0xb7da6d6d, 0x8c018d8d, 0x64b1d5d5, 0xd29c4e4e, 0xe049a9a9, 0xb4d86c6c, 0xfaac5656, 0x07f3f4f4, 0x25cfeaea, 0xafca6565, 0x8ef47a7a, 0xe947aeae, 0x18100808, 0xd56fbaba, 0x88f07878, 0x6f4a2525, 0x725c2e2e, 0x24381c1c, 0xf157a6a6, 0xc773b4b4, 0x5197c6c6, 0x23cbe8e8, 0x7ca1dddd, 0x9ce87474, 0x213e1f1f, 0xdd964b4b, 0xdc61bdbd, 0x860d8b8b, 0x850f8a8a, 0x90e07070, 0x427c3e3e, 0xc471b5b5, 0xaacc6666, 0xd8904848, 0x05060303, 0x01f7f6f6, 0x121c0e0e, 0xa3c26161, 0x5f6a3535, 0xf9ae5757, 0xd069b9b9, 0x91178686, 0x5899c1c1, 0x273a1d1d, 0xb9279e9e, 0x38d9e1e1, 0x13ebf8f8, 0xb32b9898, 0x33221111, 0xbbd26969, 0x70a9d9d9, 0x89078e8e, 0xa7339494, 0xb62d9b9b, 0x223c1e1e, 0x92158787, 0x20c9e9e9, 0x4987cece, 0xffaa5555, 0x78502828, 0x7aa5dfdf, 0x8f038c8c, 0xf859a1a1, 0x80098989, 0x171a0d0d, 0xda65bfbf, 0x31d7e6e6, 0xc6844242, 0xb8d06868, 0xc3824141, 0xb0299999, 0x775a2d2d, 0x111e0f0f, 0xcb7bb0b0, 0xfca85454, 0xd66dbbbb, 0x3a2c1616]; - var T3 = [0x63a5c663, 0x7c84f87c, 0x7799ee77, 0x7b8df67b, 0xf20dfff2, 0x6bbdd66b, 0x6fb1de6f, 0xc55491c5, 0x30506030, 0x01030201, 0x67a9ce67, 0x2b7d562b, 0xfe19e7fe, 0xd762b5d7, 0xabe64dab, 0x769aec76, 0xca458fca, 0x829d1f82, 0xc94089c9, 0x7d87fa7d, 0xfa15effa, 0x59ebb259, 0x47c98e47, 0xf00bfbf0, 0xadec41ad, 0xd467b3d4, 0xa2fd5fa2, 0xafea45af, 0x9cbf239c, 0xa4f753a4, 0x7296e472, 0xc05b9bc0, 0xb7c275b7, 0xfd1ce1fd, 0x93ae3d93, 0x266a4c26, 0x365a6c36, 0x3f417e3f, 0xf702f5f7, 0xcc4f83cc, 0x345c6834, 0xa5f451a5, 0xe534d1e5, 0xf108f9f1, 0x7193e271, 0xd873abd8, 0x31536231, 0x153f2a15, 0x040c0804, 0xc75295c7, 0x23654623, 0xc35e9dc3, 0x18283018, 0x96a13796, 0x050f0a05, 0x9ab52f9a, 0x07090e07, 0x12362412, 0x809b1b80, 0xe23ddfe2, 0xeb26cdeb, 0x27694e27, 0xb2cd7fb2, 0x759fea75, 0x091b1209, 0x839e1d83, 0x2c74582c, 0x1a2e341a, 0x1b2d361b, 0x6eb2dc6e, 0x5aeeb45a, 0xa0fb5ba0, 0x52f6a452, 0x3b4d763b, 0xd661b7d6, 0xb3ce7db3, 0x297b5229, 0xe33edde3, 0x2f715e2f, 0x84971384, 0x53f5a653, 0xd168b9d1, 0x00000000, 0xed2cc1ed, 0x20604020, 0xfc1fe3fc, 0xb1c879b1, 0x5bedb65b, 0x6abed46a, 0xcb468dcb, 0xbed967be, 0x394b7239, 0x4ade944a, 0x4cd4984c, 0x58e8b058, 0xcf4a85cf, 0xd06bbbd0, 0xef2ac5ef, 0xaae54faa, 0xfb16edfb, 0x43c58643, 0x4dd79a4d, 0x33556633, 0x85941185, 0x45cf8a45, 0xf910e9f9, 0x02060402, 0x7f81fe7f, 0x50f0a050, 0x3c44783c, 0x9fba259f, 0xa8e34ba8, 0x51f3a251, 0xa3fe5da3, 0x40c08040, 0x8f8a058f, 0x92ad3f92, 0x9dbc219d, 0x38487038, 0xf504f1f5, 0xbcdf63bc, 0xb6c177b6, 0xda75afda, 0x21634221, 0x10302010, 0xff1ae5ff, 0xf30efdf3, 0xd26dbfd2, 0xcd4c81cd, 0x0c14180c, 0x13352613, 0xec2fc3ec, 0x5fe1be5f, 0x97a23597, 0x44cc8844, 0x17392e17, 0xc45793c4, 0xa7f255a7, 0x7e82fc7e, 0x3d477a3d, 0x64acc864, 0x5de7ba5d, 0x192b3219, 0x7395e673, 0x60a0c060, 0x81981981, 0x4fd19e4f, 0xdc7fa3dc, 0x22664422, 0x2a7e542a, 0x90ab3b90, 0x88830b88, 0x46ca8c46, 0xee29c7ee, 0xb8d36bb8, 0x143c2814, 0xde79a7de, 0x5ee2bc5e, 0x0b1d160b, 0xdb76addb, 0xe03bdbe0, 0x32566432, 0x3a4e743a, 0x0a1e140a, 0x49db9249, 0x060a0c06, 0x246c4824, 0x5ce4b85c, 0xc25d9fc2, 0xd36ebdd3, 0xacef43ac, 0x62a6c462, 0x91a83991, 0x95a43195, 0xe437d3e4, 0x798bf279, 0xe732d5e7, 0xc8438bc8, 0x37596e37, 0x6db7da6d, 0x8d8c018d, 0xd564b1d5, 0x4ed29c4e, 0xa9e049a9, 0x6cb4d86c, 0x56faac56, 0xf407f3f4, 0xea25cfea, 0x65afca65, 0x7a8ef47a, 0xaee947ae, 0x08181008, 0xbad56fba, 0x7888f078, 0x256f4a25, 0x2e725c2e, 0x1c24381c, 0xa6f157a6, 0xb4c773b4, 0xc65197c6, 0xe823cbe8, 0xdd7ca1dd, 0x749ce874, 0x1f213e1f, 0x4bdd964b, 0xbddc61bd, 0x8b860d8b, 0x8a850f8a, 0x7090e070, 0x3e427c3e, 0xb5c471b5, 0x66aacc66, 0x48d89048, 0x03050603, 0xf601f7f6, 0x0e121c0e, 0x61a3c261, 0x355f6a35, 0x57f9ae57, 0xb9d069b9, 0x86911786, 0xc15899c1, 0x1d273a1d, 0x9eb9279e, 0xe138d9e1, 0xf813ebf8, 0x98b32b98, 0x11332211, 0x69bbd269, 0xd970a9d9, 0x8e89078e, 0x94a73394, 0x9bb62d9b, 0x1e223c1e, 0x87921587, 0xe920c9e9, 0xce4987ce, 0x55ffaa55, 0x28785028, 0xdf7aa5df, 0x8c8f038c, 0xa1f859a1, 0x89800989, 0x0d171a0d, 0xbfda65bf, 0xe631d7e6, 0x42c68442, 0x68b8d068, 0x41c38241, 0x99b02999, 0x2d775a2d, 0x0f111e0f, 0xb0cb7bb0, 0x54fca854, 0xbbd66dbb, 0x163a2c16]; - var T4 = [0x6363a5c6, 0x7c7c84f8, 0x777799ee, 0x7b7b8df6, 0xf2f20dff, 0x6b6bbdd6, 0x6f6fb1de, 0xc5c55491, 0x30305060, 0x01010302, 0x6767a9ce, 0x2b2b7d56, 0xfefe19e7, 0xd7d762b5, 0xababe64d, 0x76769aec, 0xcaca458f, 0x82829d1f, 0xc9c94089, 0x7d7d87fa, 0xfafa15ef, 0x5959ebb2, 0x4747c98e, 0xf0f00bfb, 0xadadec41, 0xd4d467b3, 0xa2a2fd5f, 0xafafea45, 0x9c9cbf23, 0xa4a4f753, 0x727296e4, 0xc0c05b9b, 0xb7b7c275, 0xfdfd1ce1, 0x9393ae3d, 0x26266a4c, 0x36365a6c, 0x3f3f417e, 0xf7f702f5, 0xcccc4f83, 0x34345c68, 0xa5a5f451, 0xe5e534d1, 0xf1f108f9, 0x717193e2, 0xd8d873ab, 0x31315362, 0x15153f2a, 0x04040c08, 0xc7c75295, 0x23236546, 0xc3c35e9d, 0x18182830, 0x9696a137, 0x05050f0a, 0x9a9ab52f, 0x0707090e, 0x12123624, 0x80809b1b, 0xe2e23ddf, 0xebeb26cd, 0x2727694e, 0xb2b2cd7f, 0x75759fea, 0x09091b12, 0x83839e1d, 0x2c2c7458, 0x1a1a2e34, 0x1b1b2d36, 0x6e6eb2dc, 0x5a5aeeb4, 0xa0a0fb5b, 0x5252f6a4, 0x3b3b4d76, 0xd6d661b7, 0xb3b3ce7d, 0x29297b52, 0xe3e33edd, 0x2f2f715e, 0x84849713, 0x5353f5a6, 0xd1d168b9, 0x00000000, 0xeded2cc1, 0x20206040, 0xfcfc1fe3, 0xb1b1c879, 0x5b5bedb6, 0x6a6abed4, 0xcbcb468d, 0xbebed967, 0x39394b72, 0x4a4ade94, 0x4c4cd498, 0x5858e8b0, 0xcfcf4a85, 0xd0d06bbb, 0xefef2ac5, 0xaaaae54f, 0xfbfb16ed, 0x4343c586, 0x4d4dd79a, 0x33335566, 0x85859411, 0x4545cf8a, 0xf9f910e9, 0x02020604, 0x7f7f81fe, 0x5050f0a0, 0x3c3c4478, 0x9f9fba25, 0xa8a8e34b, 0x5151f3a2, 0xa3a3fe5d, 0x4040c080, 0x8f8f8a05, 0x9292ad3f, 0x9d9dbc21, 0x38384870, 0xf5f504f1, 0xbcbcdf63, 0xb6b6c177, 0xdada75af, 0x21216342, 0x10103020, 0xffff1ae5, 0xf3f30efd, 0xd2d26dbf, 0xcdcd4c81, 0x0c0c1418, 0x13133526, 0xecec2fc3, 0x5f5fe1be, 0x9797a235, 0x4444cc88, 0x1717392e, 0xc4c45793, 0xa7a7f255, 0x7e7e82fc, 0x3d3d477a, 0x6464acc8, 0x5d5de7ba, 0x19192b32, 0x737395e6, 0x6060a0c0, 0x81819819, 0x4f4fd19e, 0xdcdc7fa3, 0x22226644, 0x2a2a7e54, 0x9090ab3b, 0x8888830b, 0x4646ca8c, 0xeeee29c7, 0xb8b8d36b, 0x14143c28, 0xdede79a7, 0x5e5ee2bc, 0x0b0b1d16, 0xdbdb76ad, 0xe0e03bdb, 0x32325664, 0x3a3a4e74, 0x0a0a1e14, 0x4949db92, 0x06060a0c, 0x24246c48, 0x5c5ce4b8, 0xc2c25d9f, 0xd3d36ebd, 0xacacef43, 0x6262a6c4, 0x9191a839, 0x9595a431, 0xe4e437d3, 0x79798bf2, 0xe7e732d5, 0xc8c8438b, 0x3737596e, 0x6d6db7da, 0x8d8d8c01, 0xd5d564b1, 0x4e4ed29c, 0xa9a9e049, 0x6c6cb4d8, 0x5656faac, 0xf4f407f3, 0xeaea25cf, 0x6565afca, 0x7a7a8ef4, 0xaeaee947, 0x08081810, 0xbabad56f, 0x787888f0, 0x25256f4a, 0x2e2e725c, 0x1c1c2438, 0xa6a6f157, 0xb4b4c773, 0xc6c65197, 0xe8e823cb, 0xdddd7ca1, 0x74749ce8, 0x1f1f213e, 0x4b4bdd96, 0xbdbddc61, 0x8b8b860d, 0x8a8a850f, 0x707090e0, 0x3e3e427c, 0xb5b5c471, 0x6666aacc, 0x4848d890, 0x03030506, 0xf6f601f7, 0x0e0e121c, 0x6161a3c2, 0x35355f6a, 0x5757f9ae, 0xb9b9d069, 0x86869117, 0xc1c15899, 0x1d1d273a, 0x9e9eb927, 0xe1e138d9, 0xf8f813eb, 0x9898b32b, 0x11113322, 0x6969bbd2, 0xd9d970a9, 0x8e8e8907, 0x9494a733, 0x9b9bb62d, 0x1e1e223c, 0x87879215, 0xe9e920c9, 0xcece4987, 0x5555ffaa, 0x28287850, 0xdfdf7aa5, 0x8c8c8f03, 0xa1a1f859, 0x89898009, 0x0d0d171a, 0xbfbfda65, 0xe6e631d7, 0x4242c684, 0x6868b8d0, 0x4141c382, 0x9999b029, 0x2d2d775a, 0x0f0f111e, 0xb0b0cb7b, 0x5454fca8, 0xbbbbd66d, 0x16163a2c]; - - // Transformations for decryption - var T5 = [0x51f4a750, 0x7e416553, 0x1a17a4c3, 0x3a275e96, 0x3bab6bcb, 0x1f9d45f1, 0xacfa58ab, 0x4be30393, 0x2030fa55, 0xad766df6, 0x88cc7691, 0xf5024c25, 0x4fe5d7fc, 0xc52acbd7, 0x26354480, 0xb562a38f, 0xdeb15a49, 0x25ba1b67, 0x45ea0e98, 0x5dfec0e1, 0xc32f7502, 0x814cf012, 0x8d4697a3, 0x6bd3f9c6, 0x038f5fe7, 0x15929c95, 0xbf6d7aeb, 0x955259da, 0xd4be832d, 0x587421d3, 0x49e06929, 0x8ec9c844, 0x75c2896a, 0xf48e7978, 0x99583e6b, 0x27b971dd, 0xbee14fb6, 0xf088ad17, 0xc920ac66, 0x7dce3ab4, 0x63df4a18, 0xe51a3182, 0x97513360, 0x62537f45, 0xb16477e0, 0xbb6bae84, 0xfe81a01c, 0xf9082b94, 0x70486858, 0x8f45fd19, 0x94de6c87, 0x527bf8b7, 0xab73d323, 0x724b02e2, 0xe31f8f57, 0x6655ab2a, 0xb2eb2807, 0x2fb5c203, 0x86c57b9a, 0xd33708a5, 0x302887f2, 0x23bfa5b2, 0x02036aba, 0xed16825c, 0x8acf1c2b, 0xa779b492, 0xf307f2f0, 0x4e69e2a1, 0x65daf4cd, 0x0605bed5, 0xd134621f, 0xc4a6fe8a, 0x342e539d, 0xa2f355a0, 0x058ae132, 0xa4f6eb75, 0x0b83ec39, 0x4060efaa, 0x5e719f06, 0xbd6e1051, 0x3e218af9, 0x96dd063d, 0xdd3e05ae, 0x4de6bd46, 0x91548db5, 0x71c45d05, 0x0406d46f, 0x605015ff, 0x1998fb24, 0xd6bde997, 0x894043cc, 0x67d99e77, 0xb0e842bd, 0x07898b88, 0xe7195b38, 0x79c8eedb, 0xa17c0a47, 0x7c420fe9, 0xf8841ec9, 0x00000000, 0x09808683, 0x322bed48, 0x1e1170ac, 0x6c5a724e, 0xfd0efffb, 0x0f853856, 0x3daed51e, 0x362d3927, 0x0a0fd964, 0x685ca621, 0x9b5b54d1, 0x24362e3a, 0x0c0a67b1, 0x9357e70f, 0xb4ee96d2, 0x1b9b919e, 0x80c0c54f, 0x61dc20a2, 0x5a774b69, 0x1c121a16, 0xe293ba0a, 0xc0a02ae5, 0x3c22e043, 0x121b171d, 0x0e090d0b, 0xf28bc7ad, 0x2db6a8b9, 0x141ea9c8, 0x57f11985, 0xaf75074c, 0xee99ddbb, 0xa37f60fd, 0xf701269f, 0x5c72f5bc, 0x44663bc5, 0x5bfb7e34, 0x8b432976, 0xcb23c6dc, 0xb6edfc68, 0xb8e4f163, 0xd731dcca, 0x42638510, 0x13972240, 0x84c61120, 0x854a247d, 0xd2bb3df8, 0xaef93211, 0xc729a16d, 0x1d9e2f4b, 0xdcb230f3, 0x0d8652ec, 0x77c1e3d0, 0x2bb3166c, 0xa970b999, 0x119448fa, 0x47e96422, 0xa8fc8cc4, 0xa0f03f1a, 0x567d2cd8, 0x223390ef, 0x87494ec7, 0xd938d1c1, 0x8ccaa2fe, 0x98d40b36, 0xa6f581cf, 0xa57ade28, 0xdab78e26, 0x3fadbfa4, 0x2c3a9de4, 0x5078920d, 0x6a5fcc9b, 0x547e4662, 0xf68d13c2, 0x90d8b8e8, 0x2e39f75e, 0x82c3aff5, 0x9f5d80be, 0x69d0937c, 0x6fd52da9, 0xcf2512b3, 0xc8ac993b, 0x10187da7, 0xe89c636e, 0xdb3bbb7b, 0xcd267809, 0x6e5918f4, 0xec9ab701, 0x834f9aa8, 0xe6956e65, 0xaaffe67e, 0x21bccf08, 0xef15e8e6, 0xbae79bd9, 0x4a6f36ce, 0xea9f09d4, 0x29b07cd6, 0x31a4b2af, 0x2a3f2331, 0xc6a59430, 0x35a266c0, 0x744ebc37, 0xfc82caa6, 0xe090d0b0, 0x33a7d815, 0xf104984a, 0x41ecdaf7, 0x7fcd500e, 0x1791f62f, 0x764dd68d, 0x43efb04d, 0xccaa4d54, 0xe49604df, 0x9ed1b5e3, 0x4c6a881b, 0xc12c1fb8, 0x4665517f, 0x9d5eea04, 0x018c355d, 0xfa877473, 0xfb0b412e, 0xb3671d5a, 0x92dbd252, 0xe9105633, 0x6dd64713, 0x9ad7618c, 0x37a10c7a, 0x59f8148e, 0xeb133c89, 0xcea927ee, 0xb761c935, 0xe11ce5ed, 0x7a47b13c, 0x9cd2df59, 0x55f2733f, 0x1814ce79, 0x73c737bf, 0x53f7cdea, 0x5ffdaa5b, 0xdf3d6f14, 0x7844db86, 0xcaaff381, 0xb968c43e, 0x3824342c, 0xc2a3405f, 0x161dc372, 0xbce2250c, 0x283c498b, 0xff0d9541, 0x39a80171, 0x080cb3de, 0xd8b4e49c, 0x6456c190, 0x7bcb8461, 0xd532b670, 0x486c5c74, 0xd0b85742]; - var T6 = [0x5051f4a7, 0x537e4165, 0xc31a17a4, 0x963a275e, 0xcb3bab6b, 0xf11f9d45, 0xabacfa58, 0x934be303, 0x552030fa, 0xf6ad766d, 0x9188cc76, 0x25f5024c, 0xfc4fe5d7, 0xd7c52acb, 0x80263544, 0x8fb562a3, 0x49deb15a, 0x6725ba1b, 0x9845ea0e, 0xe15dfec0, 0x02c32f75, 0x12814cf0, 0xa38d4697, 0xc66bd3f9, 0xe7038f5f, 0x9515929c, 0xebbf6d7a, 0xda955259, 0x2dd4be83, 0xd3587421, 0x2949e069, 0x448ec9c8, 0x6a75c289, 0x78f48e79, 0x6b99583e, 0xdd27b971, 0xb6bee14f, 0x17f088ad, 0x66c920ac, 0xb47dce3a, 0x1863df4a, 0x82e51a31, 0x60975133, 0x4562537f, 0xe0b16477, 0x84bb6bae, 0x1cfe81a0, 0x94f9082b, 0x58704868, 0x198f45fd, 0x8794de6c, 0xb7527bf8, 0x23ab73d3, 0xe2724b02, 0x57e31f8f, 0x2a6655ab, 0x07b2eb28, 0x032fb5c2, 0x9a86c57b, 0xa5d33708, 0xf2302887, 0xb223bfa5, 0xba02036a, 0x5ced1682, 0x2b8acf1c, 0x92a779b4, 0xf0f307f2, 0xa14e69e2, 0xcd65daf4, 0xd50605be, 0x1fd13462, 0x8ac4a6fe, 0x9d342e53, 0xa0a2f355, 0x32058ae1, 0x75a4f6eb, 0x390b83ec, 0xaa4060ef, 0x065e719f, 0x51bd6e10, 0xf93e218a, 0x3d96dd06, 0xaedd3e05, 0x464de6bd, 0xb591548d, 0x0571c45d, 0x6f0406d4, 0xff605015, 0x241998fb, 0x97d6bde9, 0xcc894043, 0x7767d99e, 0xbdb0e842, 0x8807898b, 0x38e7195b, 0xdb79c8ee, 0x47a17c0a, 0xe97c420f, 0xc9f8841e, 0x00000000, 0x83098086, 0x48322bed, 0xac1e1170, 0x4e6c5a72, 0xfbfd0eff, 0x560f8538, 0x1e3daed5, 0x27362d39, 0x640a0fd9, 0x21685ca6, 0xd19b5b54, 0x3a24362e, 0xb10c0a67, 0x0f9357e7, 0xd2b4ee96, 0x9e1b9b91, 0x4f80c0c5, 0xa261dc20, 0x695a774b, 0x161c121a, 0x0ae293ba, 0xe5c0a02a, 0x433c22e0, 0x1d121b17, 0x0b0e090d, 0xadf28bc7, 0xb92db6a8, 0xc8141ea9, 0x8557f119, 0x4caf7507, 0xbbee99dd, 0xfda37f60, 0x9ff70126, 0xbc5c72f5, 0xc544663b, 0x345bfb7e, 0x768b4329, 0xdccb23c6, 0x68b6edfc, 0x63b8e4f1, 0xcad731dc, 0x10426385, 0x40139722, 0x2084c611, 0x7d854a24, 0xf8d2bb3d, 0x11aef932, 0x6dc729a1, 0x4b1d9e2f, 0xf3dcb230, 0xec0d8652, 0xd077c1e3, 0x6c2bb316, 0x99a970b9, 0xfa119448, 0x2247e964, 0xc4a8fc8c, 0x1aa0f03f, 0xd8567d2c, 0xef223390, 0xc787494e, 0xc1d938d1, 0xfe8ccaa2, 0x3698d40b, 0xcfa6f581, 0x28a57ade, 0x26dab78e, 0xa43fadbf, 0xe42c3a9d, 0x0d507892, 0x9b6a5fcc, 0x62547e46, 0xc2f68d13, 0xe890d8b8, 0x5e2e39f7, 0xf582c3af, 0xbe9f5d80, 0x7c69d093, 0xa96fd52d, 0xb3cf2512, 0x3bc8ac99, 0xa710187d, 0x6ee89c63, 0x7bdb3bbb, 0x09cd2678, 0xf46e5918, 0x01ec9ab7, 0xa8834f9a, 0x65e6956e, 0x7eaaffe6, 0x0821bccf, 0xe6ef15e8, 0xd9bae79b, 0xce4a6f36, 0xd4ea9f09, 0xd629b07c, 0xaf31a4b2, 0x312a3f23, 0x30c6a594, 0xc035a266, 0x37744ebc, 0xa6fc82ca, 0xb0e090d0, 0x1533a7d8, 0x4af10498, 0xf741ecda, 0x0e7fcd50, 0x2f1791f6, 0x8d764dd6, 0x4d43efb0, 0x54ccaa4d, 0xdfe49604, 0xe39ed1b5, 0x1b4c6a88, 0xb8c12c1f, 0x7f466551, 0x049d5eea, 0x5d018c35, 0x73fa8774, 0x2efb0b41, 0x5ab3671d, 0x5292dbd2, 0x33e91056, 0x136dd647, 0x8c9ad761, 0x7a37a10c, 0x8e59f814, 0x89eb133c, 0xeecea927, 0x35b761c9, 0xede11ce5, 0x3c7a47b1, 0x599cd2df, 0x3f55f273, 0x791814ce, 0xbf73c737, 0xea53f7cd, 0x5b5ffdaa, 0x14df3d6f, 0x867844db, 0x81caaff3, 0x3eb968c4, 0x2c382434, 0x5fc2a340, 0x72161dc3, 0x0cbce225, 0x8b283c49, 0x41ff0d95, 0x7139a801, 0xde080cb3, 0x9cd8b4e4, 0x906456c1, 0x617bcb84, 0x70d532b6, 0x74486c5c, 0x42d0b857]; - var T7 = [0xa75051f4, 0x65537e41, 0xa4c31a17, 0x5e963a27, 0x6bcb3bab, 0x45f11f9d, 0x58abacfa, 0x03934be3, 0xfa552030, 0x6df6ad76, 0x769188cc, 0x4c25f502, 0xd7fc4fe5, 0xcbd7c52a, 0x44802635, 0xa38fb562, 0x5a49deb1, 0x1b6725ba, 0x0e9845ea, 0xc0e15dfe, 0x7502c32f, 0xf012814c, 0x97a38d46, 0xf9c66bd3, 0x5fe7038f, 0x9c951592, 0x7aebbf6d, 0x59da9552, 0x832dd4be, 0x21d35874, 0x692949e0, 0xc8448ec9, 0x896a75c2, 0x7978f48e, 0x3e6b9958, 0x71dd27b9, 0x4fb6bee1, 0xad17f088, 0xac66c920, 0x3ab47dce, 0x4a1863df, 0x3182e51a, 0x33609751, 0x7f456253, 0x77e0b164, 0xae84bb6b, 0xa01cfe81, 0x2b94f908, 0x68587048, 0xfd198f45, 0x6c8794de, 0xf8b7527b, 0xd323ab73, 0x02e2724b, 0x8f57e31f, 0xab2a6655, 0x2807b2eb, 0xc2032fb5, 0x7b9a86c5, 0x08a5d337, 0x87f23028, 0xa5b223bf, 0x6aba0203, 0x825ced16, 0x1c2b8acf, 0xb492a779, 0xf2f0f307, 0xe2a14e69, 0xf4cd65da, 0xbed50605, 0x621fd134, 0xfe8ac4a6, 0x539d342e, 0x55a0a2f3, 0xe132058a, 0xeb75a4f6, 0xec390b83, 0xefaa4060, 0x9f065e71, 0x1051bd6e, 0x8af93e21, 0x063d96dd, 0x05aedd3e, 0xbd464de6, 0x8db59154, 0x5d0571c4, 0xd46f0406, 0x15ff6050, 0xfb241998, 0xe997d6bd, 0x43cc8940, 0x9e7767d9, 0x42bdb0e8, 0x8b880789, 0x5b38e719, 0xeedb79c8, 0x0a47a17c, 0x0fe97c42, 0x1ec9f884, 0x00000000, 0x86830980, 0xed48322b, 0x70ac1e11, 0x724e6c5a, 0xfffbfd0e, 0x38560f85, 0xd51e3dae, 0x3927362d, 0xd9640a0f, 0xa621685c, 0x54d19b5b, 0x2e3a2436, 0x67b10c0a, 0xe70f9357, 0x96d2b4ee, 0x919e1b9b, 0xc54f80c0, 0x20a261dc, 0x4b695a77, 0x1a161c12, 0xba0ae293, 0x2ae5c0a0, 0xe0433c22, 0x171d121b, 0x0d0b0e09, 0xc7adf28b, 0xa8b92db6, 0xa9c8141e, 0x198557f1, 0x074caf75, 0xddbbee99, 0x60fda37f, 0x269ff701, 0xf5bc5c72, 0x3bc54466, 0x7e345bfb, 0x29768b43, 0xc6dccb23, 0xfc68b6ed, 0xf163b8e4, 0xdccad731, 0x85104263, 0x22401397, 0x112084c6, 0x247d854a, 0x3df8d2bb, 0x3211aef9, 0xa16dc729, 0x2f4b1d9e, 0x30f3dcb2, 0x52ec0d86, 0xe3d077c1, 0x166c2bb3, 0xb999a970, 0x48fa1194, 0x642247e9, 0x8cc4a8fc, 0x3f1aa0f0, 0x2cd8567d, 0x90ef2233, 0x4ec78749, 0xd1c1d938, 0xa2fe8cca, 0x0b3698d4, 0x81cfa6f5, 0xde28a57a, 0x8e26dab7, 0xbfa43fad, 0x9de42c3a, 0x920d5078, 0xcc9b6a5f, 0x4662547e, 0x13c2f68d, 0xb8e890d8, 0xf75e2e39, 0xaff582c3, 0x80be9f5d, 0x937c69d0, 0x2da96fd5, 0x12b3cf25, 0x993bc8ac, 0x7da71018, 0x636ee89c, 0xbb7bdb3b, 0x7809cd26, 0x18f46e59, 0xb701ec9a, 0x9aa8834f, 0x6e65e695, 0xe67eaaff, 0xcf0821bc, 0xe8e6ef15, 0x9bd9bae7, 0x36ce4a6f, 0x09d4ea9f, 0x7cd629b0, 0xb2af31a4, 0x23312a3f, 0x9430c6a5, 0x66c035a2, 0xbc37744e, 0xcaa6fc82, 0xd0b0e090, 0xd81533a7, 0x984af104, 0xdaf741ec, 0x500e7fcd, 0xf62f1791, 0xd68d764d, 0xb04d43ef, 0x4d54ccaa, 0x04dfe496, 0xb5e39ed1, 0x881b4c6a, 0x1fb8c12c, 0x517f4665, 0xea049d5e, 0x355d018c, 0x7473fa87, 0x412efb0b, 0x1d5ab367, 0xd25292db, 0x5633e910, 0x47136dd6, 0x618c9ad7, 0x0c7a37a1, 0x148e59f8, 0x3c89eb13, 0x27eecea9, 0xc935b761, 0xe5ede11c, 0xb13c7a47, 0xdf599cd2, 0x733f55f2, 0xce791814, 0x37bf73c7, 0xcdea53f7, 0xaa5b5ffd, 0x6f14df3d, 0xdb867844, 0xf381caaf, 0xc43eb968, 0x342c3824, 0x405fc2a3, 0xc372161d, 0x250cbce2, 0x498b283c, 0x9541ff0d, 0x017139a8, 0xb3de080c, 0xe49cd8b4, 0xc1906456, 0x84617bcb, 0xb670d532, 0x5c74486c, 0x5742d0b8]; - var T8 = [0xf4a75051, 0x4165537e, 0x17a4c31a, 0x275e963a, 0xab6bcb3b, 0x9d45f11f, 0xfa58abac, 0xe303934b, 0x30fa5520, 0x766df6ad, 0xcc769188, 0x024c25f5, 0xe5d7fc4f, 0x2acbd7c5, 0x35448026, 0x62a38fb5, 0xb15a49de, 0xba1b6725, 0xea0e9845, 0xfec0e15d, 0x2f7502c3, 0x4cf01281, 0x4697a38d, 0xd3f9c66b, 0x8f5fe703, 0x929c9515, 0x6d7aebbf, 0x5259da95, 0xbe832dd4, 0x7421d358, 0xe0692949, 0xc9c8448e, 0xc2896a75, 0x8e7978f4, 0x583e6b99, 0xb971dd27, 0xe14fb6be, 0x88ad17f0, 0x20ac66c9, 0xce3ab47d, 0xdf4a1863, 0x1a3182e5, 0x51336097, 0x537f4562, 0x6477e0b1, 0x6bae84bb, 0x81a01cfe, 0x082b94f9, 0x48685870, 0x45fd198f, 0xde6c8794, 0x7bf8b752, 0x73d323ab, 0x4b02e272, 0x1f8f57e3, 0x55ab2a66, 0xeb2807b2, 0xb5c2032f, 0xc57b9a86, 0x3708a5d3, 0x2887f230, 0xbfa5b223, 0x036aba02, 0x16825ced, 0xcf1c2b8a, 0x79b492a7, 0x07f2f0f3, 0x69e2a14e, 0xdaf4cd65, 0x05bed506, 0x34621fd1, 0xa6fe8ac4, 0x2e539d34, 0xf355a0a2, 0x8ae13205, 0xf6eb75a4, 0x83ec390b, 0x60efaa40, 0x719f065e, 0x6e1051bd, 0x218af93e, 0xdd063d96, 0x3e05aedd, 0xe6bd464d, 0x548db591, 0xc45d0571, 0x06d46f04, 0x5015ff60, 0x98fb2419, 0xbde997d6, 0x4043cc89, 0xd99e7767, 0xe842bdb0, 0x898b8807, 0x195b38e7, 0xc8eedb79, 0x7c0a47a1, 0x420fe97c, 0x841ec9f8, 0x00000000, 0x80868309, 0x2bed4832, 0x1170ac1e, 0x5a724e6c, 0x0efffbfd, 0x8538560f, 0xaed51e3d, 0x2d392736, 0x0fd9640a, 0x5ca62168, 0x5b54d19b, 0x362e3a24, 0x0a67b10c, 0x57e70f93, 0xee96d2b4, 0x9b919e1b, 0xc0c54f80, 0xdc20a261, 0x774b695a, 0x121a161c, 0x93ba0ae2, 0xa02ae5c0, 0x22e0433c, 0x1b171d12, 0x090d0b0e, 0x8bc7adf2, 0xb6a8b92d, 0x1ea9c814, 0xf1198557, 0x75074caf, 0x99ddbbee, 0x7f60fda3, 0x01269ff7, 0x72f5bc5c, 0x663bc544, 0xfb7e345b, 0x4329768b, 0x23c6dccb, 0xedfc68b6, 0xe4f163b8, 0x31dccad7, 0x63851042, 0x97224013, 0xc6112084, 0x4a247d85, 0xbb3df8d2, 0xf93211ae, 0x29a16dc7, 0x9e2f4b1d, 0xb230f3dc, 0x8652ec0d, 0xc1e3d077, 0xb3166c2b, 0x70b999a9, 0x9448fa11, 0xe9642247, 0xfc8cc4a8, 0xf03f1aa0, 0x7d2cd856, 0x3390ef22, 0x494ec787, 0x38d1c1d9, 0xcaa2fe8c, 0xd40b3698, 0xf581cfa6, 0x7ade28a5, 0xb78e26da, 0xadbfa43f, 0x3a9de42c, 0x78920d50, 0x5fcc9b6a, 0x7e466254, 0x8d13c2f6, 0xd8b8e890, 0x39f75e2e, 0xc3aff582, 0x5d80be9f, 0xd0937c69, 0xd52da96f, 0x2512b3cf, 0xac993bc8, 0x187da710, 0x9c636ee8, 0x3bbb7bdb, 0x267809cd, 0x5918f46e, 0x9ab701ec, 0x4f9aa883, 0x956e65e6, 0xffe67eaa, 0xbccf0821, 0x15e8e6ef, 0xe79bd9ba, 0x6f36ce4a, 0x9f09d4ea, 0xb07cd629, 0xa4b2af31, 0x3f23312a, 0xa59430c6, 0xa266c035, 0x4ebc3774, 0x82caa6fc, 0x90d0b0e0, 0xa7d81533, 0x04984af1, 0xecdaf741, 0xcd500e7f, 0x91f62f17, 0x4dd68d76, 0xefb04d43, 0xaa4d54cc, 0x9604dfe4, 0xd1b5e39e, 0x6a881b4c, 0x2c1fb8c1, 0x65517f46, 0x5eea049d, 0x8c355d01, 0x877473fa, 0x0b412efb, 0x671d5ab3, 0xdbd25292, 0x105633e9, 0xd647136d, 0xd7618c9a, 0xa10c7a37, 0xf8148e59, 0x133c89eb, 0xa927eece, 0x61c935b7, 0x1ce5ede1, 0x47b13c7a, 0xd2df599c, 0xf2733f55, 0x14ce7918, 0xc737bf73, 0xf7cdea53, 0xfdaa5b5f, 0x3d6f14df, 0x44db8678, 0xaff381ca, 0x68c43eb9, 0x24342c38, 0xa3405fc2, 0x1dc37216, 0xe2250cbc, 0x3c498b28, 0x0d9541ff, 0xa8017139, 0x0cb3de08, 0xb4e49cd8, 0x56c19064, 0xcb84617b, 0x32b670d5, 0x6c5c7448, 0xb85742d0]; - - // Transformations for decryption key expansion - var U1 = [0x00000000, 0x0e090d0b, 0x1c121a16, 0x121b171d, 0x3824342c, 0x362d3927, 0x24362e3a, 0x2a3f2331, 0x70486858, 0x7e416553, 0x6c5a724e, 0x62537f45, 0x486c5c74, 0x4665517f, 0x547e4662, 0x5a774b69, 0xe090d0b0, 0xee99ddbb, 0xfc82caa6, 0xf28bc7ad, 0xd8b4e49c, 0xd6bde997, 0xc4a6fe8a, 0xcaaff381, 0x90d8b8e8, 0x9ed1b5e3, 0x8ccaa2fe, 0x82c3aff5, 0xa8fc8cc4, 0xa6f581cf, 0xb4ee96d2, 0xbae79bd9, 0xdb3bbb7b, 0xd532b670, 0xc729a16d, 0xc920ac66, 0xe31f8f57, 0xed16825c, 0xff0d9541, 0xf104984a, 0xab73d323, 0xa57ade28, 0xb761c935, 0xb968c43e, 0x9357e70f, 0x9d5eea04, 0x8f45fd19, 0x814cf012, 0x3bab6bcb, 0x35a266c0, 0x27b971dd, 0x29b07cd6, 0x038f5fe7, 0x0d8652ec, 0x1f9d45f1, 0x119448fa, 0x4be30393, 0x45ea0e98, 0x57f11985, 0x59f8148e, 0x73c737bf, 0x7dce3ab4, 0x6fd52da9, 0x61dc20a2, 0xad766df6, 0xa37f60fd, 0xb16477e0, 0xbf6d7aeb, 0x955259da, 0x9b5b54d1, 0x894043cc, 0x87494ec7, 0xdd3e05ae, 0xd33708a5, 0xc12c1fb8, 0xcf2512b3, 0xe51a3182, 0xeb133c89, 0xf9082b94, 0xf701269f, 0x4de6bd46, 0x43efb04d, 0x51f4a750, 0x5ffdaa5b, 0x75c2896a, 0x7bcb8461, 0x69d0937c, 0x67d99e77, 0x3daed51e, 0x33a7d815, 0x21bccf08, 0x2fb5c203, 0x058ae132, 0x0b83ec39, 0x1998fb24, 0x1791f62f, 0x764dd68d, 0x7844db86, 0x6a5fcc9b, 0x6456c190, 0x4e69e2a1, 0x4060efaa, 0x527bf8b7, 0x5c72f5bc, 0x0605bed5, 0x080cb3de, 0x1a17a4c3, 0x141ea9c8, 0x3e218af9, 0x302887f2, 0x223390ef, 0x2c3a9de4, 0x96dd063d, 0x98d40b36, 0x8acf1c2b, 0x84c61120, 0xaef93211, 0xa0f03f1a, 0xb2eb2807, 0xbce2250c, 0xe6956e65, 0xe89c636e, 0xfa877473, 0xf48e7978, 0xdeb15a49, 0xd0b85742, 0xc2a3405f, 0xccaa4d54, 0x41ecdaf7, 0x4fe5d7fc, 0x5dfec0e1, 0x53f7cdea, 0x79c8eedb, 0x77c1e3d0, 0x65daf4cd, 0x6bd3f9c6, 0x31a4b2af, 0x3fadbfa4, 0x2db6a8b9, 0x23bfa5b2, 0x09808683, 0x07898b88, 0x15929c95, 0x1b9b919e, 0xa17c0a47, 0xaf75074c, 0xbd6e1051, 0xb3671d5a, 0x99583e6b, 0x97513360, 0x854a247d, 0x8b432976, 0xd134621f, 0xdf3d6f14, 0xcd267809, 0xc32f7502, 0xe9105633, 0xe7195b38, 0xf5024c25, 0xfb0b412e, 0x9ad7618c, 0x94de6c87, 0x86c57b9a, 0x88cc7691, 0xa2f355a0, 0xacfa58ab, 0xbee14fb6, 0xb0e842bd, 0xea9f09d4, 0xe49604df, 0xf68d13c2, 0xf8841ec9, 0xd2bb3df8, 0xdcb230f3, 0xcea927ee, 0xc0a02ae5, 0x7a47b13c, 0x744ebc37, 0x6655ab2a, 0x685ca621, 0x42638510, 0x4c6a881b, 0x5e719f06, 0x5078920d, 0x0a0fd964, 0x0406d46f, 0x161dc372, 0x1814ce79, 0x322bed48, 0x3c22e043, 0x2e39f75e, 0x2030fa55, 0xec9ab701, 0xe293ba0a, 0xf088ad17, 0xfe81a01c, 0xd4be832d, 0xdab78e26, 0xc8ac993b, 0xc6a59430, 0x9cd2df59, 0x92dbd252, 0x80c0c54f, 0x8ec9c844, 0xa4f6eb75, 0xaaffe67e, 0xb8e4f163, 0xb6edfc68, 0x0c0a67b1, 0x02036aba, 0x10187da7, 0x1e1170ac, 0x342e539d, 0x3a275e96, 0x283c498b, 0x26354480, 0x7c420fe9, 0x724b02e2, 0x605015ff, 0x6e5918f4, 0x44663bc5, 0x4a6f36ce, 0x587421d3, 0x567d2cd8, 0x37a10c7a, 0x39a80171, 0x2bb3166c, 0x25ba1b67, 0x0f853856, 0x018c355d, 0x13972240, 0x1d9e2f4b, 0x47e96422, 0x49e06929, 0x5bfb7e34, 0x55f2733f, 0x7fcd500e, 0x71c45d05, 0x63df4a18, 0x6dd64713, 0xd731dcca, 0xd938d1c1, 0xcb23c6dc, 0xc52acbd7, 0xef15e8e6, 0xe11ce5ed, 0xf307f2f0, 0xfd0efffb, 0xa779b492, 0xa970b999, 0xbb6bae84, 0xb562a38f, 0x9f5d80be, 0x91548db5, 0x834f9aa8, 0x8d4697a3]; - var U2 = [0x00000000, 0x0b0e090d, 0x161c121a, 0x1d121b17, 0x2c382434, 0x27362d39, 0x3a24362e, 0x312a3f23, 0x58704868, 0x537e4165, 0x4e6c5a72, 0x4562537f, 0x74486c5c, 0x7f466551, 0x62547e46, 0x695a774b, 0xb0e090d0, 0xbbee99dd, 0xa6fc82ca, 0xadf28bc7, 0x9cd8b4e4, 0x97d6bde9, 0x8ac4a6fe, 0x81caaff3, 0xe890d8b8, 0xe39ed1b5, 0xfe8ccaa2, 0xf582c3af, 0xc4a8fc8c, 0xcfa6f581, 0xd2b4ee96, 0xd9bae79b, 0x7bdb3bbb, 0x70d532b6, 0x6dc729a1, 0x66c920ac, 0x57e31f8f, 0x5ced1682, 0x41ff0d95, 0x4af10498, 0x23ab73d3, 0x28a57ade, 0x35b761c9, 0x3eb968c4, 0x0f9357e7, 0x049d5eea, 0x198f45fd, 0x12814cf0, 0xcb3bab6b, 0xc035a266, 0xdd27b971, 0xd629b07c, 0xe7038f5f, 0xec0d8652, 0xf11f9d45, 0xfa119448, 0x934be303, 0x9845ea0e, 0x8557f119, 0x8e59f814, 0xbf73c737, 0xb47dce3a, 0xa96fd52d, 0xa261dc20, 0xf6ad766d, 0xfda37f60, 0xe0b16477, 0xebbf6d7a, 0xda955259, 0xd19b5b54, 0xcc894043, 0xc787494e, 0xaedd3e05, 0xa5d33708, 0xb8c12c1f, 0xb3cf2512, 0x82e51a31, 0x89eb133c, 0x94f9082b, 0x9ff70126, 0x464de6bd, 0x4d43efb0, 0x5051f4a7, 0x5b5ffdaa, 0x6a75c289, 0x617bcb84, 0x7c69d093, 0x7767d99e, 0x1e3daed5, 0x1533a7d8, 0x0821bccf, 0x032fb5c2, 0x32058ae1, 0x390b83ec, 0x241998fb, 0x2f1791f6, 0x8d764dd6, 0x867844db, 0x9b6a5fcc, 0x906456c1, 0xa14e69e2, 0xaa4060ef, 0xb7527bf8, 0xbc5c72f5, 0xd50605be, 0xde080cb3, 0xc31a17a4, 0xc8141ea9, 0xf93e218a, 0xf2302887, 0xef223390, 0xe42c3a9d, 0x3d96dd06, 0x3698d40b, 0x2b8acf1c, 0x2084c611, 0x11aef932, 0x1aa0f03f, 0x07b2eb28, 0x0cbce225, 0x65e6956e, 0x6ee89c63, 0x73fa8774, 0x78f48e79, 0x49deb15a, 0x42d0b857, 0x5fc2a340, 0x54ccaa4d, 0xf741ecda, 0xfc4fe5d7, 0xe15dfec0, 0xea53f7cd, 0xdb79c8ee, 0xd077c1e3, 0xcd65daf4, 0xc66bd3f9, 0xaf31a4b2, 0xa43fadbf, 0xb92db6a8, 0xb223bfa5, 0x83098086, 0x8807898b, 0x9515929c, 0x9e1b9b91, 0x47a17c0a, 0x4caf7507, 0x51bd6e10, 0x5ab3671d, 0x6b99583e, 0x60975133, 0x7d854a24, 0x768b4329, 0x1fd13462, 0x14df3d6f, 0x09cd2678, 0x02c32f75, 0x33e91056, 0x38e7195b, 0x25f5024c, 0x2efb0b41, 0x8c9ad761, 0x8794de6c, 0x9a86c57b, 0x9188cc76, 0xa0a2f355, 0xabacfa58, 0xb6bee14f, 0xbdb0e842, 0xd4ea9f09, 0xdfe49604, 0xc2f68d13, 0xc9f8841e, 0xf8d2bb3d, 0xf3dcb230, 0xeecea927, 0xe5c0a02a, 0x3c7a47b1, 0x37744ebc, 0x2a6655ab, 0x21685ca6, 0x10426385, 0x1b4c6a88, 0x065e719f, 0x0d507892, 0x640a0fd9, 0x6f0406d4, 0x72161dc3, 0x791814ce, 0x48322bed, 0x433c22e0, 0x5e2e39f7, 0x552030fa, 0x01ec9ab7, 0x0ae293ba, 0x17f088ad, 0x1cfe81a0, 0x2dd4be83, 0x26dab78e, 0x3bc8ac99, 0x30c6a594, 0x599cd2df, 0x5292dbd2, 0x4f80c0c5, 0x448ec9c8, 0x75a4f6eb, 0x7eaaffe6, 0x63b8e4f1, 0x68b6edfc, 0xb10c0a67, 0xba02036a, 0xa710187d, 0xac1e1170, 0x9d342e53, 0x963a275e, 0x8b283c49, 0x80263544, 0xe97c420f, 0xe2724b02, 0xff605015, 0xf46e5918, 0xc544663b, 0xce4a6f36, 0xd3587421, 0xd8567d2c, 0x7a37a10c, 0x7139a801, 0x6c2bb316, 0x6725ba1b, 0x560f8538, 0x5d018c35, 0x40139722, 0x4b1d9e2f, 0x2247e964, 0x2949e069, 0x345bfb7e, 0x3f55f273, 0x0e7fcd50, 0x0571c45d, 0x1863df4a, 0x136dd647, 0xcad731dc, 0xc1d938d1, 0xdccb23c6, 0xd7c52acb, 0xe6ef15e8, 0xede11ce5, 0xf0f307f2, 0xfbfd0eff, 0x92a779b4, 0x99a970b9, 0x84bb6bae, 0x8fb562a3, 0xbe9f5d80, 0xb591548d, 0xa8834f9a, 0xa38d4697]; - var U3 = [0x00000000, 0x0d0b0e09, 0x1a161c12, 0x171d121b, 0x342c3824, 0x3927362d, 0x2e3a2436, 0x23312a3f, 0x68587048, 0x65537e41, 0x724e6c5a, 0x7f456253, 0x5c74486c, 0x517f4665, 0x4662547e, 0x4b695a77, 0xd0b0e090, 0xddbbee99, 0xcaa6fc82, 0xc7adf28b, 0xe49cd8b4, 0xe997d6bd, 0xfe8ac4a6, 0xf381caaf, 0xb8e890d8, 0xb5e39ed1, 0xa2fe8cca, 0xaff582c3, 0x8cc4a8fc, 0x81cfa6f5, 0x96d2b4ee, 0x9bd9bae7, 0xbb7bdb3b, 0xb670d532, 0xa16dc729, 0xac66c920, 0x8f57e31f, 0x825ced16, 0x9541ff0d, 0x984af104, 0xd323ab73, 0xde28a57a, 0xc935b761, 0xc43eb968, 0xe70f9357, 0xea049d5e, 0xfd198f45, 0xf012814c, 0x6bcb3bab, 0x66c035a2, 0x71dd27b9, 0x7cd629b0, 0x5fe7038f, 0x52ec0d86, 0x45f11f9d, 0x48fa1194, 0x03934be3, 0x0e9845ea, 0x198557f1, 0x148e59f8, 0x37bf73c7, 0x3ab47dce, 0x2da96fd5, 0x20a261dc, 0x6df6ad76, 0x60fda37f, 0x77e0b164, 0x7aebbf6d, 0x59da9552, 0x54d19b5b, 0x43cc8940, 0x4ec78749, 0x05aedd3e, 0x08a5d337, 0x1fb8c12c, 0x12b3cf25, 0x3182e51a, 0x3c89eb13, 0x2b94f908, 0x269ff701, 0xbd464de6, 0xb04d43ef, 0xa75051f4, 0xaa5b5ffd, 0x896a75c2, 0x84617bcb, 0x937c69d0, 0x9e7767d9, 0xd51e3dae, 0xd81533a7, 0xcf0821bc, 0xc2032fb5, 0xe132058a, 0xec390b83, 0xfb241998, 0xf62f1791, 0xd68d764d, 0xdb867844, 0xcc9b6a5f, 0xc1906456, 0xe2a14e69, 0xefaa4060, 0xf8b7527b, 0xf5bc5c72, 0xbed50605, 0xb3de080c, 0xa4c31a17, 0xa9c8141e, 0x8af93e21, 0x87f23028, 0x90ef2233, 0x9de42c3a, 0x063d96dd, 0x0b3698d4, 0x1c2b8acf, 0x112084c6, 0x3211aef9, 0x3f1aa0f0, 0x2807b2eb, 0x250cbce2, 0x6e65e695, 0x636ee89c, 0x7473fa87, 0x7978f48e, 0x5a49deb1, 0x5742d0b8, 0x405fc2a3, 0x4d54ccaa, 0xdaf741ec, 0xd7fc4fe5, 0xc0e15dfe, 0xcdea53f7, 0xeedb79c8, 0xe3d077c1, 0xf4cd65da, 0xf9c66bd3, 0xb2af31a4, 0xbfa43fad, 0xa8b92db6, 0xa5b223bf, 0x86830980, 0x8b880789, 0x9c951592, 0x919e1b9b, 0x0a47a17c, 0x074caf75, 0x1051bd6e, 0x1d5ab367, 0x3e6b9958, 0x33609751, 0x247d854a, 0x29768b43, 0x621fd134, 0x6f14df3d, 0x7809cd26, 0x7502c32f, 0x5633e910, 0x5b38e719, 0x4c25f502, 0x412efb0b, 0x618c9ad7, 0x6c8794de, 0x7b9a86c5, 0x769188cc, 0x55a0a2f3, 0x58abacfa, 0x4fb6bee1, 0x42bdb0e8, 0x09d4ea9f, 0x04dfe496, 0x13c2f68d, 0x1ec9f884, 0x3df8d2bb, 0x30f3dcb2, 0x27eecea9, 0x2ae5c0a0, 0xb13c7a47, 0xbc37744e, 0xab2a6655, 0xa621685c, 0x85104263, 0x881b4c6a, 0x9f065e71, 0x920d5078, 0xd9640a0f, 0xd46f0406, 0xc372161d, 0xce791814, 0xed48322b, 0xe0433c22, 0xf75e2e39, 0xfa552030, 0xb701ec9a, 0xba0ae293, 0xad17f088, 0xa01cfe81, 0x832dd4be, 0x8e26dab7, 0x993bc8ac, 0x9430c6a5, 0xdf599cd2, 0xd25292db, 0xc54f80c0, 0xc8448ec9, 0xeb75a4f6, 0xe67eaaff, 0xf163b8e4, 0xfc68b6ed, 0x67b10c0a, 0x6aba0203, 0x7da71018, 0x70ac1e11, 0x539d342e, 0x5e963a27, 0x498b283c, 0x44802635, 0x0fe97c42, 0x02e2724b, 0x15ff6050, 0x18f46e59, 0x3bc54466, 0x36ce4a6f, 0x21d35874, 0x2cd8567d, 0x0c7a37a1, 0x017139a8, 0x166c2bb3, 0x1b6725ba, 0x38560f85, 0x355d018c, 0x22401397, 0x2f4b1d9e, 0x642247e9, 0x692949e0, 0x7e345bfb, 0x733f55f2, 0x500e7fcd, 0x5d0571c4, 0x4a1863df, 0x47136dd6, 0xdccad731, 0xd1c1d938, 0xc6dccb23, 0xcbd7c52a, 0xe8e6ef15, 0xe5ede11c, 0xf2f0f307, 0xfffbfd0e, 0xb492a779, 0xb999a970, 0xae84bb6b, 0xa38fb562, 0x80be9f5d, 0x8db59154, 0x9aa8834f, 0x97a38d46]; - var U4 = [0x00000000, 0x090d0b0e, 0x121a161c, 0x1b171d12, 0x24342c38, 0x2d392736, 0x362e3a24, 0x3f23312a, 0x48685870, 0x4165537e, 0x5a724e6c, 0x537f4562, 0x6c5c7448, 0x65517f46, 0x7e466254, 0x774b695a, 0x90d0b0e0, 0x99ddbbee, 0x82caa6fc, 0x8bc7adf2, 0xb4e49cd8, 0xbde997d6, 0xa6fe8ac4, 0xaff381ca, 0xd8b8e890, 0xd1b5e39e, 0xcaa2fe8c, 0xc3aff582, 0xfc8cc4a8, 0xf581cfa6, 0xee96d2b4, 0xe79bd9ba, 0x3bbb7bdb, 0x32b670d5, 0x29a16dc7, 0x20ac66c9, 0x1f8f57e3, 0x16825ced, 0x0d9541ff, 0x04984af1, 0x73d323ab, 0x7ade28a5, 0x61c935b7, 0x68c43eb9, 0x57e70f93, 0x5eea049d, 0x45fd198f, 0x4cf01281, 0xab6bcb3b, 0xa266c035, 0xb971dd27, 0xb07cd629, 0x8f5fe703, 0x8652ec0d, 0x9d45f11f, 0x9448fa11, 0xe303934b, 0xea0e9845, 0xf1198557, 0xf8148e59, 0xc737bf73, 0xce3ab47d, 0xd52da96f, 0xdc20a261, 0x766df6ad, 0x7f60fda3, 0x6477e0b1, 0x6d7aebbf, 0x5259da95, 0x5b54d19b, 0x4043cc89, 0x494ec787, 0x3e05aedd, 0x3708a5d3, 0x2c1fb8c1, 0x2512b3cf, 0x1a3182e5, 0x133c89eb, 0x082b94f9, 0x01269ff7, 0xe6bd464d, 0xefb04d43, 0xf4a75051, 0xfdaa5b5f, 0xc2896a75, 0xcb84617b, 0xd0937c69, 0xd99e7767, 0xaed51e3d, 0xa7d81533, 0xbccf0821, 0xb5c2032f, 0x8ae13205, 0x83ec390b, 0x98fb2419, 0x91f62f17, 0x4dd68d76, 0x44db8678, 0x5fcc9b6a, 0x56c19064, 0x69e2a14e, 0x60efaa40, 0x7bf8b752, 0x72f5bc5c, 0x05bed506, 0x0cb3de08, 0x17a4c31a, 0x1ea9c814, 0x218af93e, 0x2887f230, 0x3390ef22, 0x3a9de42c, 0xdd063d96, 0xd40b3698, 0xcf1c2b8a, 0xc6112084, 0xf93211ae, 0xf03f1aa0, 0xeb2807b2, 0xe2250cbc, 0x956e65e6, 0x9c636ee8, 0x877473fa, 0x8e7978f4, 0xb15a49de, 0xb85742d0, 0xa3405fc2, 0xaa4d54cc, 0xecdaf741, 0xe5d7fc4f, 0xfec0e15d, 0xf7cdea53, 0xc8eedb79, 0xc1e3d077, 0xdaf4cd65, 0xd3f9c66b, 0xa4b2af31, 0xadbfa43f, 0xb6a8b92d, 0xbfa5b223, 0x80868309, 0x898b8807, 0x929c9515, 0x9b919e1b, 0x7c0a47a1, 0x75074caf, 0x6e1051bd, 0x671d5ab3, 0x583e6b99, 0x51336097, 0x4a247d85, 0x4329768b, 0x34621fd1, 0x3d6f14df, 0x267809cd, 0x2f7502c3, 0x105633e9, 0x195b38e7, 0x024c25f5, 0x0b412efb, 0xd7618c9a, 0xde6c8794, 0xc57b9a86, 0xcc769188, 0xf355a0a2, 0xfa58abac, 0xe14fb6be, 0xe842bdb0, 0x9f09d4ea, 0x9604dfe4, 0x8d13c2f6, 0x841ec9f8, 0xbb3df8d2, 0xb230f3dc, 0xa927eece, 0xa02ae5c0, 0x47b13c7a, 0x4ebc3774, 0x55ab2a66, 0x5ca62168, 0x63851042, 0x6a881b4c, 0x719f065e, 0x78920d50, 0x0fd9640a, 0x06d46f04, 0x1dc37216, 0x14ce7918, 0x2bed4832, 0x22e0433c, 0x39f75e2e, 0x30fa5520, 0x9ab701ec, 0x93ba0ae2, 0x88ad17f0, 0x81a01cfe, 0xbe832dd4, 0xb78e26da, 0xac993bc8, 0xa59430c6, 0xd2df599c, 0xdbd25292, 0xc0c54f80, 0xc9c8448e, 0xf6eb75a4, 0xffe67eaa, 0xe4f163b8, 0xedfc68b6, 0x0a67b10c, 0x036aba02, 0x187da710, 0x1170ac1e, 0x2e539d34, 0x275e963a, 0x3c498b28, 0x35448026, 0x420fe97c, 0x4b02e272, 0x5015ff60, 0x5918f46e, 0x663bc544, 0x6f36ce4a, 0x7421d358, 0x7d2cd856, 0xa10c7a37, 0xa8017139, 0xb3166c2b, 0xba1b6725, 0x8538560f, 0x8c355d01, 0x97224013, 0x9e2f4b1d, 0xe9642247, 0xe0692949, 0xfb7e345b, 0xf2733f55, 0xcd500e7f, 0xc45d0571, 0xdf4a1863, 0xd647136d, 0x31dccad7, 0x38d1c1d9, 0x23c6dccb, 0x2acbd7c5, 0x15e8e6ef, 0x1ce5ede1, 0x07f2f0f3, 0x0efffbfd, 0x79b492a7, 0x70b999a9, 0x6bae84bb, 0x62a38fb5, 0x5d80be9f, 0x548db591, 0x4f9aa883, 0x4697a38d]; - - function convertToInt32(bytes) { - var result = []; - for (var i = 0; i < bytes.length; i += 4) { - result.push( - (bytes[i ] << 24) | - (bytes[i + 1] << 16) | - (bytes[i + 2] << 8) | - bytes[i + 3] - ); - } - return result; - } - - var AES = function(key) { - if (!(this instanceof AES)) { - throw Error('AES must be instanitated with `new`'); - } - - Object.defineProperty(this, 'key', { - value: coerceArray(key, true) - }); - - this._prepare(); - } - - - AES.prototype._prepare = function() { - - var rounds = numberOfRounds[this.key.length]; - if (rounds == null) { - throw new Error('invalid key size (must be 16, 24 or 32 bytes)'); - } - - // encryption round keys - this._Ke = []; - - // decryption round keys - this._Kd = []; - - for (var i = 0; i <= rounds; i++) { - this._Ke.push([0, 0, 0, 0]); - this._Kd.push([0, 0, 0, 0]); - } - - var roundKeyCount = (rounds + 1) * 4; - var KC = this.key.length / 4; - - // convert the key into ints - var tk = convertToInt32(this.key); - - // copy values into round key arrays - var index; - for (var i = 0; i < KC; i++) { - index = i >> 2; - this._Ke[index][i % 4] = tk[i]; - this._Kd[rounds - index][i % 4] = tk[i]; - } - - // key expansion (fips-197 section 5.2) - var rconpointer = 0; - var t = KC, tt; - while (t < roundKeyCount) { - tt = tk[KC - 1]; - tk[0] ^= ((S[(tt >> 16) & 0xFF] << 24) ^ - (S[(tt >> 8) & 0xFF] << 16) ^ - (S[ tt & 0xFF] << 8) ^ - S[(tt >> 24) & 0xFF] ^ - (rcon[rconpointer] << 24)); - rconpointer += 1; - - // key expansion (for non-256 bit) - if (KC != 8) { - for (var i = 1; i < KC; i++) { - tk[i] ^= tk[i - 1]; - } - - // key expansion for 256-bit keys is "slightly different" (fips-197) - } else { - for (var i = 1; i < (KC / 2); i++) { - tk[i] ^= tk[i - 1]; - } - tt = tk[(KC / 2) - 1]; - - tk[KC / 2] ^= (S[ tt & 0xFF] ^ - (S[(tt >> 8) & 0xFF] << 8) ^ - (S[(tt >> 16) & 0xFF] << 16) ^ - (S[(tt >> 24) & 0xFF] << 24)); - - for (var i = (KC / 2) + 1; i < KC; i++) { - tk[i] ^= tk[i - 1]; - } - } - - // copy values into round key arrays - var i = 0, r, c; - while (i < KC && t < roundKeyCount) { - r = t >> 2; - c = t % 4; - this._Ke[r][c] = tk[i]; - this._Kd[rounds - r][c] = tk[i++]; - t++; - } - } - - // inverse-cipher-ify the decryption round key (fips-197 section 5.3) - for (var r = 1; r < rounds; r++) { - for (var c = 0; c < 4; c++) { - tt = this._Kd[r][c]; - this._Kd[r][c] = (U1[(tt >> 24) & 0xFF] ^ - U2[(tt >> 16) & 0xFF] ^ - U3[(tt >> 8) & 0xFF] ^ - U4[ tt & 0xFF]); - } - } - } - - AES.prototype.encrypt = function(plaintext) { - if (plaintext.length != 16) { - throw new Error('invalid plaintext size (must be 16 bytes)'); - } - - var rounds = this._Ke.length - 1; - var a = [0, 0, 0, 0]; - - // convert plaintext to (ints ^ key) - var t = convertToInt32(plaintext); - for (var i = 0; i < 4; i++) { - t[i] ^= this._Ke[0][i]; - } - - // apply round transforms - for (var r = 1; r < rounds; r++) { - for (var i = 0; i < 4; i++) { - a[i] = (T1[(t[ i ] >> 24) & 0xff] ^ - T2[(t[(i + 1) % 4] >> 16) & 0xff] ^ - T3[(t[(i + 2) % 4] >> 8) & 0xff] ^ - T4[ t[(i + 3) % 4] & 0xff] ^ - this._Ke[r][i]); - } - t = a.slice(); - } - - // the last round is special - var result = createArray(16), tt; - for (var i = 0; i < 4; i++) { - tt = this._Ke[rounds][i]; - result[4 * i ] = (S[(t[ i ] >> 24) & 0xff] ^ (tt >> 24)) & 0xff; - result[4 * i + 1] = (S[(t[(i + 1) % 4] >> 16) & 0xff] ^ (tt >> 16)) & 0xff; - result[4 * i + 2] = (S[(t[(i + 2) % 4] >> 8) & 0xff] ^ (tt >> 8)) & 0xff; - result[4 * i + 3] = (S[ t[(i + 3) % 4] & 0xff] ^ tt ) & 0xff; - } - - return result; - } - - AES.prototype.decrypt = function(ciphertext) { - if (ciphertext.length != 16) { - throw new Error('invalid ciphertext size (must be 16 bytes)'); - } - - var rounds = this._Kd.length - 1; - var a = [0, 0, 0, 0]; - - // convert plaintext to (ints ^ key) - var t = convertToInt32(ciphertext); - for (var i = 0; i < 4; i++) { - t[i] ^= this._Kd[0][i]; - } - - // apply round transforms - for (var r = 1; r < rounds; r++) { - for (var i = 0; i < 4; i++) { - a[i] = (T5[(t[ i ] >> 24) & 0xff] ^ - T6[(t[(i + 3) % 4] >> 16) & 0xff] ^ - T7[(t[(i + 2) % 4] >> 8) & 0xff] ^ - T8[ t[(i + 1) % 4] & 0xff] ^ - this._Kd[r][i]); - } - t = a.slice(); - } - - // the last round is special - var result = createArray(16), tt; - for (var i = 0; i < 4; i++) { - tt = this._Kd[rounds][i]; - result[4 * i ] = (Si[(t[ i ] >> 24) & 0xff] ^ (tt >> 24)) & 0xff; - result[4 * i + 1] = (Si[(t[(i + 3) % 4] >> 16) & 0xff] ^ (tt >> 16)) & 0xff; - result[4 * i + 2] = (Si[(t[(i + 2) % 4] >> 8) & 0xff] ^ (tt >> 8)) & 0xff; - result[4 * i + 3] = (Si[ t[(i + 1) % 4] & 0xff] ^ tt ) & 0xff; - } - - return result; - } - - - /** - * Mode Of Operation - Electonic Codebook (ECB) - */ - var ModeOfOperationECB = function(key) { - if (!(this instanceof ModeOfOperationECB)) { - throw Error('AES must be instanitated with `new`'); - } - - this.description = "Electronic Code Block"; - this.name = "ecb"; - - this._aes = new AES(key); - } - - ModeOfOperationECB.prototype.encrypt = function(plaintext) { - plaintext = coerceArray(plaintext); - - if ((plaintext.length % 16) !== 0) { - throw new Error('invalid plaintext size (must be multiple of 16 bytes)'); - } - - var ciphertext = createArray(plaintext.length); - var block = createArray(16); - - for (var i = 0; i < plaintext.length; i += 16) { - copyArray(plaintext, block, 0, i, i + 16); - block = this._aes.encrypt(block); - copyArray(block, ciphertext, i); - } - - return ciphertext; - } - - ModeOfOperationECB.prototype.decrypt = function(ciphertext) { - ciphertext = coerceArray(ciphertext); - - if ((ciphertext.length % 16) !== 0) { - throw new Error('invalid ciphertext size (must be multiple of 16 bytes)'); - } - - var plaintext = createArray(ciphertext.length); - var block = createArray(16); - - for (var i = 0; i < ciphertext.length; i += 16) { - copyArray(ciphertext, block, 0, i, i + 16); - block = this._aes.decrypt(block); - copyArray(block, plaintext, i); - } - - return plaintext; - } - - - /** - * Mode Of Operation - Cipher Block Chaining (CBC) - */ - var ModeOfOperationCBC = function(key, iv) { - if (!(this instanceof ModeOfOperationCBC)) { - throw Error('AES must be instanitated with `new`'); - } - - this.description = "Cipher Block Chaining"; - this.name = "cbc"; - - if (!iv) { - iv = createArray(16); - - } else if (iv.length != 16) { - throw new Error('invalid initialation vector size (must be 16 bytes)'); - } - - this._lastCipherblock = coerceArray(iv, true); - - this._aes = new AES(key); - } - - ModeOfOperationCBC.prototype.encrypt = function(plaintext) { - plaintext = coerceArray(plaintext); - - if ((plaintext.length % 16) !== 0) { - throw new Error('invalid plaintext size (must be multiple of 16 bytes)'); - } - - var ciphertext = createArray(plaintext.length); - var block = createArray(16); - - for (var i = 0; i < plaintext.length; i += 16) { - copyArray(plaintext, block, 0, i, i + 16); - - for (var j = 0; j < 16; j++) { - block[j] ^= this._lastCipherblock[j]; - } - - this._lastCipherblock = this._aes.encrypt(block); - copyArray(this._lastCipherblock, ciphertext, i); - } - - return ciphertext; - } - - ModeOfOperationCBC.prototype.decrypt = function(ciphertext) { - ciphertext = coerceArray(ciphertext); - - if ((ciphertext.length % 16) !== 0) { - throw new Error('invalid ciphertext size (must be multiple of 16 bytes)'); - } - - var plaintext = createArray(ciphertext.length); - var block = createArray(16); - - for (var i = 0; i < ciphertext.length; i += 16) { - copyArray(ciphertext, block, 0, i, i + 16); - block = this._aes.decrypt(block); - - for (var j = 0; j < 16; j++) { - plaintext[i + j] = block[j] ^ this._lastCipherblock[j]; - } - - copyArray(ciphertext, this._lastCipherblock, 0, i, i + 16); - } - - return plaintext; - } - - - /** - * Mode Of Operation - Cipher Feedback (CFB) - */ - var ModeOfOperationCFB = function(key, iv, segmentSize) { - if (!(this instanceof ModeOfOperationCFB)) { - throw Error('AES must be instanitated with `new`'); - } - - this.description = "Cipher Feedback"; - this.name = "cfb"; - - if (!iv) { - iv = createArray(16); - - } else if (iv.length != 16) { - throw new Error('invalid initialation vector size (must be 16 size)'); - } - - if (!segmentSize) { segmentSize = 1; } - - this.segmentSize = segmentSize; - - this._shiftRegister = coerceArray(iv, true); - - this._aes = new AES(key); - } - - ModeOfOperationCFB.prototype.encrypt = function(plaintext) { - if ((plaintext.length % this.segmentSize) != 0) { - throw new Error('invalid plaintext size (must be segmentSize bytes)'); - } - - var encrypted = coerceArray(plaintext, true); - - var xorSegment; - for (var i = 0; i < encrypted.length; i += this.segmentSize) { - xorSegment = this._aes.encrypt(this._shiftRegister); - for (var j = 0; j < this.segmentSize; j++) { - encrypted[i + j] ^= xorSegment[j]; - } - - // Shift the register - copyArray(this._shiftRegister, this._shiftRegister, 0, this.segmentSize); - copyArray(encrypted, this._shiftRegister, 16 - this.segmentSize, i, i + this.segmentSize); - } - - return encrypted; - } - - ModeOfOperationCFB.prototype.decrypt = function(ciphertext) { - if ((ciphertext.length % this.segmentSize) != 0) { - throw new Error('invalid ciphertext size (must be segmentSize bytes)'); - } - - var plaintext = coerceArray(ciphertext, true); - - var xorSegment; - for (var i = 0; i < plaintext.length; i += this.segmentSize) { - xorSegment = this._aes.encrypt(this._shiftRegister); - - for (var j = 0; j < this.segmentSize; j++) { - plaintext[i + j] ^= xorSegment[j]; - } - - // Shift the register - copyArray(this._shiftRegister, this._shiftRegister, 0, this.segmentSize); - copyArray(ciphertext, this._shiftRegister, 16 - this.segmentSize, i, i + this.segmentSize); - } - - return plaintext; - } - - /** - * Mode Of Operation - Output Feedback (OFB) - */ - var ModeOfOperationOFB = function(key, iv) { - if (!(this instanceof ModeOfOperationOFB)) { - throw Error('AES must be instanitated with `new`'); - } - - this.description = "Output Feedback"; - this.name = "ofb"; - - if (!iv) { - iv = createArray(16); - - } else if (iv.length != 16) { - throw new Error('invalid initialation vector size (must be 16 bytes)'); - } - - this._lastPrecipher = coerceArray(iv, true); - this._lastPrecipherIndex = 16; - - this._aes = new AES(key); - } - - ModeOfOperationOFB.prototype.encrypt = function(plaintext) { - var encrypted = coerceArray(plaintext, true); - - for (var i = 0; i < encrypted.length; i++) { - if (this._lastPrecipherIndex === 16) { - this._lastPrecipher = this._aes.encrypt(this._lastPrecipher); - this._lastPrecipherIndex = 0; - } - encrypted[i] ^= this._lastPrecipher[this._lastPrecipherIndex++]; - } - - return encrypted; - } - - // Decryption is symetric - ModeOfOperationOFB.prototype.decrypt = ModeOfOperationOFB.prototype.encrypt; - - - /** - * Counter object for CTR common mode of operation - */ - var Counter = function(initialValue) { - if (!(this instanceof Counter)) { - throw Error('Counter must be instanitated with `new`'); - } - - // We allow 0, but anything false-ish uses the default 1 - if (initialValue !== 0 && !initialValue) { initialValue = 1; } - - if (typeof(initialValue) === 'number') { - this._counter = createArray(16); - this.setValue(initialValue); - - } else { - this.setBytes(initialValue); - } - } - - Counter.prototype.setValue = function(value) { - if (typeof(value) !== 'number' || parseInt(value) != value) { - throw new Error('invalid counter value (must be an integer)'); - } - - for (var index = 15; index >= 0; --index) { - this._counter[index] = value % 256; - value = value >> 8; - } - } - - Counter.prototype.setBytes = function(bytes) { - bytes = coerceArray(bytes, true); - - if (bytes.length != 16) { - throw new Error('invalid counter bytes size (must be 16 bytes)'); - } - - this._counter = bytes; - }; - - Counter.prototype.increment = function() { - for (var i = 15; i >= 0; i--) { - if (this._counter[i] === 255) { - this._counter[i] = 0; - } else { - this._counter[i]++; - break; - } - } - } - - - /** - * Mode Of Operation - Counter (CTR) - */ - var ModeOfOperationCTR = function(key, counter) { - if (!(this instanceof ModeOfOperationCTR)) { - throw Error('AES must be instanitated with `new`'); - } - - this.description = "Counter"; - this.name = "ctr"; - - if (!(counter instanceof Counter)) { - counter = new Counter(counter) - } - - this._counter = counter; - - this._remainingCounter = null; - this._remainingCounterIndex = 16; - - this._aes = new AES(key); - } - - ModeOfOperationCTR.prototype.encrypt = function(plaintext) { - var encrypted = coerceArray(plaintext, true); - - for (var i = 0; i < encrypted.length; i++) { - if (this._remainingCounterIndex === 16) { - this._remainingCounter = this._aes.encrypt(this._counter._counter); - this._remainingCounterIndex = 0; - this._counter.increment(); - } - encrypted[i] ^= this._remainingCounter[this._remainingCounterIndex++]; - } - - return encrypted; - } - - // Decryption is symetric - ModeOfOperationCTR.prototype.decrypt = ModeOfOperationCTR.prototype.encrypt; - - - /////////////////////// - // Padding - - // See:https://tools.ietf.org/html/rfc2315 - function pkcs7pad(data) { - data = coerceArray(data, true); - var padder = 16 - (data.length % 16); - var result = createArray(data.length + padder); - copyArray(data, result); - for (var i = data.length; i < result.length; i++) { - result[i] = padder; - } - return result; - } - - function pkcs7strip(data) { - data = coerceArray(data, true); - if (data.length < 16) { throw new Error('PKCS#7 invalid length'); } - - var padder = data[data.length - 1]; - if (padder > 16) { throw new Error('PKCS#7 padding byte out of range'); } - - var length = data.length - padder; - for (var i = 0; i < padder; i++) { - if (data[length + i] !== padder) { - throw new Error('PKCS#7 invalid padding byte'); - } - } - - var result = createArray(length); - copyArray(data, result, 0, 0, length); - return result; - } - - /////////////////////// - // Exporting - - - // The block cipher - var aesjs = { - AES: AES, - Counter: Counter, - - ModeOfOperation: { - ecb: ModeOfOperationECB, - cbc: ModeOfOperationCBC, - cfb: ModeOfOperationCFB, - ofb: ModeOfOperationOFB, - ctr: ModeOfOperationCTR - }, - - utils: { - hex: convertHex, - utf8: convertUtf8 - }, - - padding: { - pkcs7: { - pad: pkcs7pad, - strip: pkcs7strip - } - }, - - _arrayTest: { - coerceArray: coerceArray, - createArray: createArray, - copyArray: copyArray, - } - }; - - - // node.js - if (true) { - module.exports = aesjs - - // RequireJS/AMD - // http://www.requirejs.org/docs/api.html - // https://github.com/amdjs/amdjs-api/wiki/AMD - } else {} - - -})(this); - - -/***/ }), - -/***/ 37776: -/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) { - - -var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { - if (k2 === undefined) 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 === undefined) k2 = k; - o[k2] = m[k]; -})); -var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { - Object.defineProperty(o, "default", { enumerable: true, value: v }); -}) : function(o, v) { - o["default"] = v; -}); -var __importStar = (this && this.__importStar) || function (mod) { - if (mod && mod.__esModule) return mod; - var result = {}; - if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); - __setModuleDefault(result, mod); - return result; -}; -Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.req = exports.json = exports.toBuffer = void 0; -const http = __importStar(__nccwpck_require__(58611)); -const https = __importStar(__nccwpck_require__(65692)); -async function toBuffer(stream) { - let length = 0; - const chunks = []; - for await (const chunk of stream) { - length += chunk.length; - chunks.push(chunk); - } - return Buffer.concat(chunks, length); -} -exports.toBuffer = toBuffer; -// eslint-disable-next-line @typescript-eslint/no-explicit-any -async function json(stream) { - const buf = await toBuffer(stream); - const str = buf.toString('utf8'); - try { - return JSON.parse(str); - } - catch (_err) { - const err = _err; - err.message += ` (input: ${str})`; - throw err; - } -} -exports.json = json; -function req(url, opts = {}) { - const href = typeof url === 'string' ? url : url.href; - const req = (href.startsWith('https:') ? https : http).request(url, opts); - const promise = new Promise((resolve, reject) => { - req - .once('response', resolve) - .once('error', reject) - .end(); - }); - req.then = promise.then.bind(promise); - return req; -} -exports.req = req; -//# sourceMappingURL=helpers.js.map - -/***/ }), - -/***/ 25605: -/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) { - - -var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { - if (k2 === undefined) 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 === undefined) k2 = k; - o[k2] = m[k]; -})); -var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { - Object.defineProperty(o, "default", { enumerable: true, value: v }); -}) : function(o, v) { - o["default"] = v; -}); -var __importStar = (this && this.__importStar) || function (mod) { - if (mod && mod.__esModule) return mod; - var result = {}; - if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); - __setModuleDefault(result, mod); - return result; -}; -var __exportStar = (this && this.__exportStar) || function(m, exports) { - for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p); -}; -Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.Agent = void 0; -const net = __importStar(__nccwpck_require__(69278)); -const http = __importStar(__nccwpck_require__(58611)); -const https_1 = __nccwpck_require__(65692); -__exportStar(__nccwpck_require__(37776), exports); -const INTERNAL = Symbol('AgentBaseInternalState'); -class Agent extends http.Agent { - constructor(opts) { - super(opts); - this[INTERNAL] = {}; - } - /** - * Determine whether this is an `http` or `https` request. - */ - isSecureEndpoint(options) { - if (options) { - // First check the `secureEndpoint` property explicitly, since this - // means that a parent `Agent` is "passing through" to this instance. - // eslint-disable-next-line @typescript-eslint/no-explicit-any - if (typeof options.secureEndpoint === 'boolean') { - return options.secureEndpoint; - } - // If no explicit `secure` endpoint, check if `protocol` property is - // set. This will usually be the case since using a full string URL - // or `URL` instance should be the most common usage. - if (typeof options.protocol === 'string') { - return options.protocol === 'https:'; - } - } - // Finally, if no `protocol` property was set, then fall back to - // checking the stack trace of the current call stack, and try to - // detect the "https" module. - const { stack } = new Error(); - if (typeof stack !== 'string') - return false; - return stack - .split('\n') - .some((l) => l.indexOf('(https.js:') !== -1 || - l.indexOf('node:https:') !== -1); - } - // In order to support async signatures in `connect()` and Node's native - // connection pooling in `http.Agent`, the array of sockets for each origin - // has to be updated synchronously. This is so the length of the array is - // accurate when `addRequest()` is next called. We achieve this by creating a - // fake socket and adding it to `sockets[origin]` and incrementing - // `totalSocketCount`. - incrementSockets(name) { - // If `maxSockets` and `maxTotalSockets` are both Infinity then there is no - // need to create a fake socket because Node.js native connection pooling - // will never be invoked. - if (this.maxSockets === Infinity && this.maxTotalSockets === Infinity) { - return null; - } - // All instances of `sockets` are expected TypeScript errors. The - // alternative is to add it as a private property of this class but that - // will break TypeScript subclassing. - if (!this.sockets[name]) { - // @ts-expect-error `sockets` is readonly in `@types/node` - this.sockets[name] = []; - } - const fakeSocket = new net.Socket({ writable: false }); - this.sockets[name].push(fakeSocket); - // @ts-expect-error `totalSocketCount` isn't defined in `@types/node` - this.totalSocketCount++; - return fakeSocket; - } - decrementSockets(name, socket) { - if (!this.sockets[name] || socket === null) { - return; - } - const sockets = this.sockets[name]; - const index = sockets.indexOf(socket); - if (index !== -1) { - sockets.splice(index, 1); - // @ts-expect-error `totalSocketCount` isn't defined in `@types/node` - this.totalSocketCount--; - if (sockets.length === 0) { - // @ts-expect-error `sockets` is readonly in `@types/node` - delete this.sockets[name]; - } - } - } - // In order to properly update the socket pool, we need to call `getName()` on - // the core `https.Agent` if it is a secureEndpoint. - getName(options) { - const secureEndpoint = typeof options.secureEndpoint === 'boolean' - ? options.secureEndpoint - : this.isSecureEndpoint(options); - if (secureEndpoint) { - // @ts-expect-error `getName()` isn't defined in `@types/node` - return https_1.Agent.prototype.getName.call(this, options); - } - // @ts-expect-error `getName()` isn't defined in `@types/node` - return super.getName(options); - } - createSocket(req, options, cb) { - const connectOpts = { - ...options, - secureEndpoint: this.isSecureEndpoint(options), - }; - const name = this.getName(connectOpts); - const fakeSocket = this.incrementSockets(name); - Promise.resolve() - .then(() => this.connect(req, connectOpts)) - .then((socket) => { - this.decrementSockets(name, fakeSocket); - if (socket instanceof http.Agent) { - try { - // @ts-expect-error `addRequest()` isn't defined in `@types/node` - return socket.addRequest(req, connectOpts); - } - catch (err) { - return cb(err); - } - } - this[INTERNAL].currentSocket = socket; - // @ts-expect-error `createSocket()` isn't defined in `@types/node` - super.createSocket(req, options, cb); - }, (err) => { - this.decrementSockets(name, fakeSocket); - cb(err); - }); - } - createConnection() { - const socket = this[INTERNAL].currentSocket; - this[INTERNAL].currentSocket = undefined; - if (!socket) { - throw new Error('No socket was returned in the `connect()` function'); - } - return socket; - } - get defaultPort() { - return (this[INTERNAL].defaultPort ?? - (this.protocol === 'https:' ? 443 : 80)); - } - set defaultPort(v) { - if (this[INTERNAL]) { - this[INTERNAL].defaultPort = v; - } - } - get protocol() { - return (this[INTERNAL].protocol ?? - (this.isSecureEndpoint() ? 'https:' : 'http:')); - } - set protocol(v) { - if (this[INTERNAL]) { - this[INTERNAL].protocol = v; - } - } -} -exports.Agent = Agent; -//# sourceMappingURL=index.js.map - -/***/ }), - -/***/ 82236: -/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { - - - -module.exports = __nccwpck_require__(27761); -module.exports.HttpsAgent = __nccwpck_require__(58635); -module.exports.constants = __nccwpck_require__(2429); - - -/***/ }), - -/***/ 27761: -/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { - - - -const OriginalAgent = (__nccwpck_require__(58611).Agent); -const ms = __nccwpck_require__(66575); -const debug = (__nccwpck_require__(39023).debuglog)('agentkeepalive'); -const { - INIT_SOCKET, - CURRENT_ID, - CREATE_ID, - SOCKET_CREATED_TIME, - SOCKET_NAME, - SOCKET_REQUEST_COUNT, - SOCKET_REQUEST_FINISHED_COUNT, -} = __nccwpck_require__(2429); - -// OriginalAgent come from -// - https://github.com/nodejs/node/blob/v8.12.0/lib/_http_agent.js -// - https://github.com/nodejs/node/blob/v10.12.0/lib/_http_agent.js - -// node <= 10 -let defaultTimeoutListenerCount = 1; -const majorVersion = parseInt(process.version.split('.', 1)[0].substring(1)); -if (majorVersion >= 11 && majorVersion <= 12) { - defaultTimeoutListenerCount = 2; -} else if (majorVersion >= 13) { - defaultTimeoutListenerCount = 3; -} - -function deprecate(message) { - console.log('[agentkeepalive:deprecated] %s', message); -} - -class Agent extends OriginalAgent { - constructor(options) { - options = options || {}; - options.keepAlive = options.keepAlive !== false; - // default is keep-alive and 4s free socket timeout - // see https://medium.com/ssense-tech/reduce-networking-errors-in-nodejs-23b4eb9f2d83 - if (options.freeSocketTimeout === undefined) { - options.freeSocketTimeout = 4000; - } - // Legacy API: keepAliveTimeout should be rename to `freeSocketTimeout` - if (options.keepAliveTimeout) { - deprecate('options.keepAliveTimeout is deprecated, please use options.freeSocketTimeout instead'); - options.freeSocketTimeout = options.keepAliveTimeout; - delete options.keepAliveTimeout; - } - // Legacy API: freeSocketKeepAliveTimeout should be rename to `freeSocketTimeout` - if (options.freeSocketKeepAliveTimeout) { - deprecate('options.freeSocketKeepAliveTimeout is deprecated, please use options.freeSocketTimeout instead'); - options.freeSocketTimeout = options.freeSocketKeepAliveTimeout; - delete options.freeSocketKeepAliveTimeout; - } - - // Sets the socket to timeout after timeout milliseconds of inactivity on the socket. - // By default is double free socket timeout. - if (options.timeout === undefined) { - // make sure socket default inactivity timeout >= 8s - options.timeout = Math.max(options.freeSocketTimeout * 2, 8000); - } - - // support humanize format - options.timeout = ms(options.timeout); - options.freeSocketTimeout = ms(options.freeSocketTimeout); - options.socketActiveTTL = options.socketActiveTTL ? ms(options.socketActiveTTL) : 0; - - super(options); - - this[CURRENT_ID] = 0; - - // create socket success counter - this.createSocketCount = 0; - this.createSocketCountLastCheck = 0; - - this.createSocketErrorCount = 0; - this.createSocketErrorCountLastCheck = 0; - - this.closeSocketCount = 0; - this.closeSocketCountLastCheck = 0; - - // socket error event count - this.errorSocketCount = 0; - this.errorSocketCountLastCheck = 0; - - // request finished counter - this.requestCount = 0; - this.requestCountLastCheck = 0; - - // including free socket timeout counter - this.timeoutSocketCount = 0; - this.timeoutSocketCountLastCheck = 0; - - this.on('free', socket => { - // https://github.com/nodejs/node/pull/32000 - // Node.js native agent will check socket timeout eqs agent.options.timeout. - // Use the ttl or freeSocketTimeout to overwrite. - const timeout = this.calcSocketTimeout(socket); - if (timeout > 0 && socket.timeout !== timeout) { - socket.setTimeout(timeout); - } - }); - } - - get freeSocketKeepAliveTimeout() { - deprecate('agent.freeSocketKeepAliveTimeout is deprecated, please use agent.options.freeSocketTimeout instead'); - return this.options.freeSocketTimeout; - } - - get timeout() { - deprecate('agent.timeout is deprecated, please use agent.options.timeout instead'); - return this.options.timeout; - } - - get socketActiveTTL() { - deprecate('agent.socketActiveTTL is deprecated, please use agent.options.socketActiveTTL instead'); - return this.options.socketActiveTTL; - } - - calcSocketTimeout(socket) { - /** - * return <= 0: should free socket - * return > 0: should update socket timeout - * return undefined: not find custom timeout - */ - let freeSocketTimeout = this.options.freeSocketTimeout; - const socketActiveTTL = this.options.socketActiveTTL; - if (socketActiveTTL) { - // check socketActiveTTL - const aliveTime = Date.now() - socket[SOCKET_CREATED_TIME]; - const diff = socketActiveTTL - aliveTime; - if (diff <= 0) { - return diff; - } - if (freeSocketTimeout && diff < freeSocketTimeout) { - freeSocketTimeout = diff; - } - } - // set freeSocketTimeout - if (freeSocketTimeout) { - // set free keepalive timer - // try to use socket custom freeSocketTimeout first, support headers['keep-alive'] - // https://github.com/node-modules/urllib/blob/b76053020923f4d99a1c93cf2e16e0c5ba10bacf/lib/urllib.js#L498 - const customFreeSocketTimeout = socket.freeSocketTimeout || socket.freeSocketKeepAliveTimeout; - return customFreeSocketTimeout || freeSocketTimeout; - } - } - - keepSocketAlive(socket) { - const result = super.keepSocketAlive(socket); - // should not keepAlive, do nothing - if (!result) return result; - - const customTimeout = this.calcSocketTimeout(socket); - if (typeof customTimeout === 'undefined') { - return true; - } - if (customTimeout <= 0) { - debug('%s(requests: %s, finished: %s) free but need to destroy by TTL, request count %s, diff is %s', - socket[SOCKET_NAME], socket[SOCKET_REQUEST_COUNT], socket[SOCKET_REQUEST_FINISHED_COUNT], customTimeout); - return false; - } - if (socket.timeout !== customTimeout) { - socket.setTimeout(customTimeout); - } - return true; - } - - // only call on addRequest - reuseSocket(...args) { - // reuseSocket(socket, req) - super.reuseSocket(...args); - const socket = args[0]; - const req = args[1]; - req.reusedSocket = true; - const agentTimeout = this.options.timeout; - if (getSocketTimeout(socket) !== agentTimeout) { - // reset timeout before use - socket.setTimeout(agentTimeout); - debug('%s reset timeout to %sms', socket[SOCKET_NAME], agentTimeout); - } - socket[SOCKET_REQUEST_COUNT]++; - debug('%s(requests: %s, finished: %s) reuse on addRequest, timeout %sms', - socket[SOCKET_NAME], socket[SOCKET_REQUEST_COUNT], socket[SOCKET_REQUEST_FINISHED_COUNT], - getSocketTimeout(socket)); - } - - [CREATE_ID]() { - const id = this[CURRENT_ID]++; - if (this[CURRENT_ID] === Number.MAX_SAFE_INTEGER) this[CURRENT_ID] = 0; - return id; - } - - [INIT_SOCKET](socket, options) { - // bugfix here. - // https on node 8, 10 won't set agent.options.timeout by default - // TODO: need to fix on node itself - if (options.timeout) { - const timeout = getSocketTimeout(socket); - if (!timeout) { - socket.setTimeout(options.timeout); - } - } - - if (this.options.keepAlive) { - // Disable Nagle's algorithm: http://blog.caustik.com/2012/04/08/scaling-node-js-to-100k-concurrent-connections/ - // https://fengmk2.com/benchmark/nagle-algorithm-delayed-ack-mock.html - socket.setNoDelay(true); - } - this.createSocketCount++; - if (this.options.socketActiveTTL) { - socket[SOCKET_CREATED_TIME] = Date.now(); - } - // don't show the hole '-----BEGIN CERTIFICATE----' key string - socket[SOCKET_NAME] = `sock[${this[CREATE_ID]()}#${options._agentKey}]`.split('-----BEGIN', 1)[0]; - socket[SOCKET_REQUEST_COUNT] = 1; - socket[SOCKET_REQUEST_FINISHED_COUNT] = 0; - installListeners(this, socket, options); - } - - createConnection(options, oncreate) { - let called = false; - const onNewCreate = (err, socket) => { - if (called) return; - called = true; - - if (err) { - this.createSocketErrorCount++; - return oncreate(err); - } - this[INIT_SOCKET](socket, options); - oncreate(err, socket); - }; - - const newSocket = super.createConnection(options, onNewCreate); - if (newSocket) onNewCreate(null, newSocket); - return newSocket; - } - - get statusChanged() { - const changed = this.createSocketCount !== this.createSocketCountLastCheck || - this.createSocketErrorCount !== this.createSocketErrorCountLastCheck || - this.closeSocketCount !== this.closeSocketCountLastCheck || - this.errorSocketCount !== this.errorSocketCountLastCheck || - this.timeoutSocketCount !== this.timeoutSocketCountLastCheck || - this.requestCount !== this.requestCountLastCheck; - if (changed) { - this.createSocketCountLastCheck = this.createSocketCount; - this.createSocketErrorCountLastCheck = this.createSocketErrorCount; - this.closeSocketCountLastCheck = this.closeSocketCount; - this.errorSocketCountLastCheck = this.errorSocketCount; - this.timeoutSocketCountLastCheck = this.timeoutSocketCount; - this.requestCountLastCheck = this.requestCount; - } - return changed; - } - - getCurrentStatus() { - return { - createSocketCount: this.createSocketCount, - createSocketErrorCount: this.createSocketErrorCount, - closeSocketCount: this.closeSocketCount, - errorSocketCount: this.errorSocketCount, - timeoutSocketCount: this.timeoutSocketCount, - requestCount: this.requestCount, - freeSockets: inspect(this.freeSockets), - sockets: inspect(this.sockets), - requests: inspect(this.requests), - }; - } -} - -// node 8 don't has timeout attribute on socket -// https://github.com/nodejs/node/pull/21204/files#diff-e6ef024c3775d787c38487a6309e491dR408 -function getSocketTimeout(socket) { - return socket.timeout || socket._idleTimeout; -} - -function installListeners(agent, socket, options) { - debug('%s create, timeout %sms', socket[SOCKET_NAME], getSocketTimeout(socket)); - - // listener socket events: close, timeout, error, free - function onFree() { - // create and socket.emit('free') logic - // https://github.com/nodejs/node/blob/master/lib/_http_agent.js#L311 - // no req on the socket, it should be the new socket - if (!socket._httpMessage && socket[SOCKET_REQUEST_COUNT] === 1) return; - - socket[SOCKET_REQUEST_FINISHED_COUNT]++; - agent.requestCount++; - debug('%s(requests: %s, finished: %s) free', - socket[SOCKET_NAME], socket[SOCKET_REQUEST_COUNT], socket[SOCKET_REQUEST_FINISHED_COUNT]); - - // should reuse on pedding requests? - const name = agent.getName(options); - if (socket.writable && agent.requests[name] && agent.requests[name].length) { - // will be reuse on agent free listener - socket[SOCKET_REQUEST_COUNT]++; - debug('%s(requests: %s, finished: %s) will be reuse on agent free event', - socket[SOCKET_NAME], socket[SOCKET_REQUEST_COUNT], socket[SOCKET_REQUEST_FINISHED_COUNT]); - } - } - socket.on('free', onFree); - - function onClose(isError) { - debug('%s(requests: %s, finished: %s) close, isError: %s', - socket[SOCKET_NAME], socket[SOCKET_REQUEST_COUNT], socket[SOCKET_REQUEST_FINISHED_COUNT], isError); - agent.closeSocketCount++; - } - socket.on('close', onClose); - - // start socket timeout handler - function onTimeout() { - // onTimeout and emitRequestTimeout(_http_client.js) - // https://github.com/nodejs/node/blob/v12.x/lib/_http_client.js#L711 - const listenerCount = socket.listeners('timeout').length; - // node <= 10, default listenerCount is 1, onTimeout - // 11 < node <= 12, default listenerCount is 2, onTimeout and emitRequestTimeout - // node >= 13, default listenerCount is 3, onTimeout, - // onTimeout(https://github.com/nodejs/node/pull/32000/files#diff-5f7fb0850412c6be189faeddea6c5359R333) - // and emitRequestTimeout - const timeout = getSocketTimeout(socket); - const req = socket._httpMessage; - const reqTimeoutListenerCount = req && req.listeners('timeout').length || 0; - debug('%s(requests: %s, finished: %s) timeout after %sms, listeners %s, defaultTimeoutListenerCount %s, hasHttpRequest %s, HttpRequest timeoutListenerCount %s', - socket[SOCKET_NAME], socket[SOCKET_REQUEST_COUNT], socket[SOCKET_REQUEST_FINISHED_COUNT], - timeout, listenerCount, defaultTimeoutListenerCount, !!req, reqTimeoutListenerCount); - if (debug.enabled) { - debug('timeout listeners: %s', socket.listeners('timeout').map(f => f.name).join(', ')); - } - agent.timeoutSocketCount++; - const name = agent.getName(options); - if (agent.freeSockets[name] && agent.freeSockets[name].indexOf(socket) !== -1) { - // free socket timeout, destroy quietly - socket.destroy(); - // Remove it from freeSockets list immediately to prevent new requests - // from being sent through this socket. - agent.removeSocket(socket, options); - debug('%s is free, destroy quietly', socket[SOCKET_NAME]); - } else { - // if there is no any request socket timeout handler, - // agent need to handle socket timeout itself. - // - // custom request socket timeout handle logic must follow these rules: - // 1. Destroy socket first - // 2. Must emit socket 'agentRemove' event tell agent remove socket - // from freeSockets list immediately. - // Otherise you may be get 'socket hang up' error when reuse - // free socket and timeout happen in the same time. - if (reqTimeoutListenerCount === 0) { - const error = new Error('Socket timeout'); - error.code = 'ERR_SOCKET_TIMEOUT'; - error.timeout = timeout; - // must manually call socket.end() or socket.destroy() to end the connection. - // https://nodejs.org/dist/latest-v10.x/docs/api/net.html#net_socket_settimeout_timeout_callback - socket.destroy(error); - agent.removeSocket(socket, options); - debug('%s destroy with timeout error', socket[SOCKET_NAME]); - } - } - } - socket.on('timeout', onTimeout); - - function onError(err) { - const listenerCount = socket.listeners('error').length; - debug('%s(requests: %s, finished: %s) error: %s, listenerCount: %s', - socket[SOCKET_NAME], socket[SOCKET_REQUEST_COUNT], socket[SOCKET_REQUEST_FINISHED_COUNT], - err, listenerCount); - agent.errorSocketCount++; - if (listenerCount === 1) { - // if socket don't contain error event handler, don't catch it, emit it again - debug('%s emit uncaught error event', socket[SOCKET_NAME]); - socket.removeListener('error', onError); - socket.emit('error', err); - } - } - socket.on('error', onError); - - function onRemove() { - debug('%s(requests: %s, finished: %s) agentRemove', - socket[SOCKET_NAME], - socket[SOCKET_REQUEST_COUNT], socket[SOCKET_REQUEST_FINISHED_COUNT]); - // We need this function for cases like HTTP 'upgrade' - // (defined by WebSockets) where we need to remove a socket from the - // pool because it'll be locked up indefinitely - socket.removeListener('close', onClose); - socket.removeListener('error', onError); - socket.removeListener('free', onFree); - socket.removeListener('timeout', onTimeout); - socket.removeListener('agentRemove', onRemove); - } - socket.on('agentRemove', onRemove); -} - -module.exports = Agent; - -function inspect(obj) { - const res = {}; - for (const key in obj) { - res[key] = obj[key].length; - } - return res; -} - - -/***/ }), - -/***/ 2429: -/***/ ((module) => { - - - -module.exports = { - // agent - CURRENT_ID: Symbol('agentkeepalive#currentId'), - CREATE_ID: Symbol('agentkeepalive#createId'), - INIT_SOCKET: Symbol('agentkeepalive#initSocket'), - CREATE_HTTPS_CONNECTION: Symbol('agentkeepalive#createHttpsConnection'), - // socket - SOCKET_CREATED_TIME: Symbol('agentkeepalive#socketCreatedTime'), - SOCKET_NAME: Symbol('agentkeepalive#socketName'), - SOCKET_REQUEST_COUNT: Symbol('agentkeepalive#socketRequestCount'), - SOCKET_REQUEST_FINISHED_COUNT: Symbol('agentkeepalive#socketRequestFinishedCount'), -}; - - -/***/ }), - -/***/ 58635: -/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { - - - -const OriginalHttpsAgent = (__nccwpck_require__(65692).Agent); -const HttpAgent = __nccwpck_require__(27761); -const { - INIT_SOCKET, - CREATE_HTTPS_CONNECTION, -} = __nccwpck_require__(2429); - -class HttpsAgent extends HttpAgent { - constructor(options) { - super(options); - - this.defaultPort = 443; - this.protocol = 'https:'; - this.maxCachedSessions = this.options.maxCachedSessions; - /* istanbul ignore next */ - if (this.maxCachedSessions === undefined) { - this.maxCachedSessions = 100; - } - - this._sessionCache = { - map: {}, - list: [], - }; - } - - createConnection(options, oncreate) { - const socket = this[CREATE_HTTPS_CONNECTION](options, oncreate); - this[INIT_SOCKET](socket, options); - return socket; - } -} - -// https://github.com/nodejs/node/blob/master/lib/https.js#L89 -HttpsAgent.prototype[CREATE_HTTPS_CONNECTION] = OriginalHttpsAgent.prototype.createConnection; - -[ - 'getName', - '_getSession', - '_cacheSession', - // https://github.com/nodejs/node/pull/4982 - '_evictSession', -].forEach(function(method) { - /* istanbul ignore next */ - if (typeof OriginalHttpsAgent.prototype[method] === 'function') { - HttpsAgent.prototype[method] = OriginalHttpsAgent.prototype[method]; - } -}); - -module.exports = HttpsAgent; - - -/***/ }), - -/***/ 37857: -/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { - -module.exports = -{ - parallel : __nccwpck_require__(81246), - serial : __nccwpck_require__(97249), - serialOrdered : __nccwpck_require__(31004) -}; - - -/***/ }), - -/***/ 21067: -/***/ ((module) => { - -// API -module.exports = abort; - -/** - * Aborts leftover active jobs - * - * @param {object} state - current state object - */ -function abort(state) -{ - Object.keys(state.jobs).forEach(clean.bind(state)); - - // reset leftover jobs - state.jobs = {}; -} - -/** - * Cleans up leftover job by invoking abort function for the provided job id - * - * @this state - * @param {string|number} key - job id to abort - */ -function clean(key) -{ - if (typeof this.jobs[key] == 'function') - { - this.jobs[key](); - } -} - - -/***/ }), - -/***/ 745: -/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { - -var defer = __nccwpck_require__(74965); - -// API -module.exports = async; - -/** - * Runs provided callback asynchronously - * even if callback itself is not - * - * @param {function} callback - callback to invoke - * @returns {function} - augmented callback - */ -function async(callback) -{ - var isAsync = false; - - // check if async happened - defer(function() { isAsync = true; }); - - return function async_callback(err, result) - { - if (isAsync) - { - callback(err, result); - } - else - { - defer(function nextTick_callback() - { - callback(err, result); - }); - } - }; -} - - -/***/ }), - -/***/ 74965: -/***/ ((module) => { - -module.exports = defer; - -/** - * Runs provided function on next iteration of the event loop - * - * @param {function} fn - function to run - */ -function defer(fn) -{ - var nextTick = typeof setImmediate == 'function' - ? setImmediate - : ( - typeof process == 'object' && typeof process.nextTick == 'function' - ? process.nextTick - : null - ); - - if (nextTick) - { - nextTick(fn); - } - else - { - setTimeout(fn, 0); - } -} - - -/***/ }), - -/***/ 4499: -/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { - -var async = __nccwpck_require__(745) - , abort = __nccwpck_require__(21067) - ; - -// API -module.exports = iterate; - -/** - * Iterates over each job object - * - * @param {array|object} list - array or object (named list) to iterate over - * @param {function} iterator - iterator to run - * @param {object} state - current job status - * @param {function} callback - invoked when all elements processed - */ -function iterate(list, iterator, state, callback) -{ - // store current index - var key = state['keyedList'] ? state['keyedList'][state.index] : state.index; - - state.jobs[key] = runJob(iterator, key, list[key], function(error, output) - { - // don't repeat yourself - // skip secondary callbacks - if (!(key in state.jobs)) - { - return; - } - - // clean up jobs - delete state.jobs[key]; - - if (error) - { - // don't process rest of the results - // stop still active jobs - // and reset the list - abort(state); - } - else - { - state.results[key] = output; - } - - // return salvaged results - callback(error, state.results); - }); -} - -/** - * Runs iterator over provided job element - * - * @param {function} iterator - iterator to invoke - * @param {string|number} key - key/index of the element in the list of jobs - * @param {mixed} item - job description - * @param {function} callback - invoked after iterator is done with the job - * @returns {function|mixed} - job abort function or something else - */ -function runJob(iterator, key, item, callback) -{ - var aborter; - - // allow shortcut if iterator expects only two arguments - if (iterator.length == 2) - { - aborter = iterator(item, async(callback)); - } - // otherwise go with full three arguments - else - { - aborter = iterator(item, key, async(callback)); - } - - return aborter; -} - - -/***/ }), - -/***/ 15708: -/***/ ((module) => { - -// API -module.exports = state; - -/** - * Creates initial state object - * for iteration over list - * - * @param {array|object} list - list to iterate over - * @param {function|null} sortMethod - function to use for keys sort, - * or `null` to keep them as is - * @returns {object} - initial state object - */ -function state(list, sortMethod) -{ - var isNamedList = !Array.isArray(list) - , initState = - { - index : 0, - keyedList: isNamedList || sortMethod ? Object.keys(list) : null, - jobs : {}, - results : isNamedList ? {} : [], - size : isNamedList ? Object.keys(list).length : list.length - } - ; - - if (sortMethod) - { - // sort array keys based on it's values - // sort object's keys just on own merit - initState.keyedList.sort(isNamedList ? sortMethod : function(a, b) - { - return sortMethod(list[a], list[b]); - }); - } - - return initState; -} - - -/***/ }), - -/***/ 49972: -/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { - -var abort = __nccwpck_require__(21067) - , async = __nccwpck_require__(745) - ; - -// API -module.exports = terminator; - -/** - * Terminates jobs in the attached state context - * - * @this AsyncKitState# - * @param {function} callback - final callback to invoke after termination - */ -function terminator(callback) -{ - if (!Object.keys(this.jobs).length) - { - return; - } - - // fast forward iteration index - this.index = this.size; - - // abort jobs - abort(this); - - // send back results we have so far - async(callback)(null, this.results); -} - - -/***/ }), - -/***/ 81246: -/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { - -var iterate = __nccwpck_require__(4499) - , initState = __nccwpck_require__(15708) - , terminator = __nccwpck_require__(49972) - ; - -// Public API -module.exports = parallel; - -/** - * Runs iterator over provided array elements in parallel - * - * @param {array|object} list - array or object (named list) to iterate over - * @param {function} iterator - iterator to run - * @param {function} callback - invoked when all elements processed - * @returns {function} - jobs terminator - */ -function parallel(list, iterator, callback) -{ - var state = initState(list); - - while (state.index < (state['keyedList'] || list).length) - { - iterate(list, iterator, state, function(error, result) - { - if (error) - { - callback(error, result); - return; - } - - // looks like it's the last one - if (Object.keys(state.jobs).length === 0) - { - callback(null, state.results); - return; - } - }); - - state.index++; - } - - return terminator.bind(state, callback); -} - - -/***/ }), - -/***/ 97249: -/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { - -var serialOrdered = __nccwpck_require__(31004); - -// Public API -module.exports = serial; - -/** - * Runs iterator over provided array elements in series - * - * @param {array|object} list - array or object (named list) to iterate over - * @param {function} iterator - iterator to run - * @param {function} callback - invoked when all elements processed - * @returns {function} - jobs terminator - */ -function serial(list, iterator, callback) -{ - return serialOrdered(list, iterator, null, callback); -} - - -/***/ }), - -/***/ 31004: -/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { - -var iterate = __nccwpck_require__(4499) - , initState = __nccwpck_require__(15708) - , terminator = __nccwpck_require__(49972) - ; - -// Public API -module.exports = serialOrdered; -// sorting helpers -module.exports.ascending = ascending; -module.exports.descending = descending; - -/** - * Runs iterator over provided sorted array elements in series - * - * @param {array|object} list - array or object (named list) to iterate over - * @param {function} iterator - iterator to run - * @param {function} sortMethod - custom sort function - * @param {function} callback - invoked when all elements processed - * @returns {function} - jobs terminator - */ -function serialOrdered(list, iterator, sortMethod, callback) -{ - var state = initState(list, sortMethod); - - iterate(list, iterator, state, function iteratorHandler(error, result) - { - if (error) - { - callback(error, result); - return; - } - - state.index++; - - // are we there yet? - if (state.index < (state['keyedList'] || list).length) - { - iterate(list, iterator, state, iteratorHandler); - return; - } - - // done here - callback(null, state.results); - }); - - return terminator.bind(state, callback); -} - -/* - * -- Sort methods - */ - -/** - * sort helper to sort array elements in ascending order - * - * @param {mixed} a - an item to compare - * @param {mixed} b - an item to compare - * @returns {number} - comparison result - */ -function ascending(a, b) -{ - return a < b ? -1 : a > b ? 1 : 0; -} - -/** - * sort helper to sort array elements in descending order - * - * @param {mixed} a - an item to compare - * @param {mixed} b - an item to compare - * @returns {number} - comparison result - */ -function descending(a, b) -{ - return -1 * ascending(a, b); -} - - -/***/ }), - -/***/ 46870: -/***/ ((__unused_webpack_module, exports) => { - - - -exports.byteLength = byteLength -exports.toByteArray = toByteArray -exports.fromByteArray = fromByteArray - -var lookup = [] -var revLookup = [] -var Arr = typeof Uint8Array !== 'undefined' ? Uint8Array : Array - -var code = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/' -for (var i = 0, len = code.length; i < len; ++i) { - lookup[i] = code[i] - revLookup[code.charCodeAt(i)] = i -} - -// Support decoding URL-safe base64 strings, as Node.js does. -// See: https://en.wikipedia.org/wiki/Base64#URL_applications -revLookup['-'.charCodeAt(0)] = 62 -revLookup['_'.charCodeAt(0)] = 63 - -function getLens (b64) { - var len = b64.length - - if (len % 4 > 0) { - throw new Error('Invalid string. Length must be a multiple of 4') - } - - // Trim off extra bytes after placeholder bytes are found - // See: https://github.com/beatgammit/base64-js/issues/42 - var validLen = b64.indexOf('=') - if (validLen === -1) validLen = len - - var placeHoldersLen = validLen === len - ? 0 - : 4 - (validLen % 4) - - return [validLen, placeHoldersLen] -} - -// base64 is 4/3 + up to two characters of the original data -function byteLength (b64) { - var lens = getLens(b64) - var validLen = lens[0] - var placeHoldersLen = lens[1] - return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen -} - -function _byteLength (b64, validLen, placeHoldersLen) { - return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen -} - -function toByteArray (b64) { - var tmp - var lens = getLens(b64) - var validLen = lens[0] - var placeHoldersLen = lens[1] - - var arr = new Arr(_byteLength(b64, validLen, placeHoldersLen)) - - var curByte = 0 - - // if there are placeholders, only get up to the last complete 4 chars - var len = placeHoldersLen > 0 - ? validLen - 4 - : validLen - - var i - for (i = 0; i < len; i += 4) { - tmp = - (revLookup[b64.charCodeAt(i)] << 18) | - (revLookup[b64.charCodeAt(i + 1)] << 12) | - (revLookup[b64.charCodeAt(i + 2)] << 6) | - revLookup[b64.charCodeAt(i + 3)] - arr[curByte++] = (tmp >> 16) & 0xFF - arr[curByte++] = (tmp >> 8) & 0xFF - arr[curByte++] = tmp & 0xFF - } - - if (placeHoldersLen === 2) { - tmp = - (revLookup[b64.charCodeAt(i)] << 2) | - (revLookup[b64.charCodeAt(i + 1)] >> 4) - arr[curByte++] = tmp & 0xFF - } - - if (placeHoldersLen === 1) { - tmp = - (revLookup[b64.charCodeAt(i)] << 10) | - (revLookup[b64.charCodeAt(i + 1)] << 4) | - (revLookup[b64.charCodeAt(i + 2)] >> 2) - arr[curByte++] = (tmp >> 8) & 0xFF - arr[curByte++] = tmp & 0xFF - } - - return arr -} - -function tripletToBase64 (num) { - return lookup[num >> 18 & 0x3F] + - lookup[num >> 12 & 0x3F] + - lookup[num >> 6 & 0x3F] + - lookup[num & 0x3F] -} - -function encodeChunk (uint8, start, end) { - var tmp - var output = [] - for (var i = start; i < end; i += 3) { - tmp = - ((uint8[i] << 16) & 0xFF0000) + - ((uint8[i + 1] << 8) & 0xFF00) + - (uint8[i + 2] & 0xFF) - output.push(tripletToBase64(tmp)) - } - return output.join('') -} - -function fromByteArray (uint8) { - var tmp - var len = uint8.length - var extraBytes = len % 3 // if we have 1 byte left, pad 2 bytes - var parts = [] - var maxChunkLength = 16383 // must be multiple of 3 - - // go through the array every three bytes, we'll deal with trailing stuff later - for (var i = 0, len2 = len - extraBytes; i < len2; i += maxChunkLength) { - parts.push(encodeChunk(uint8, i, (i + maxChunkLength) > len2 ? len2 : (i + maxChunkLength))) - } - - // pad the end with zeros, but make sure to not forget the extra bytes - if (extraBytes === 1) { - tmp = uint8[len - 1] - parts.push( - lookup[tmp >> 2] + - lookup[(tmp << 4) & 0x3F] + - '==' - ) - } else if (extraBytes === 2) { - tmp = (uint8[len - 2] << 8) + uint8[len - 1] - parts.push( - lookup[tmp >> 10] + - lookup[(tmp >> 4) & 0x3F] + - lookup[(tmp << 2) & 0x3F] + - '=' - ) - } - - return parts.join('') -} - - -/***/ }), - -/***/ 71354: -/***/ ((module) => { - - -var ALPHABET = 'qpzry9x8gf2tvdw0s3jn54khce6mua7l' - -// pre-compute lookup table -var ALPHABET_MAP = {} -for (var z = 0; z < ALPHABET.length; z++) { - var x = ALPHABET.charAt(z) - - if (ALPHABET_MAP[x] !== undefined) throw new TypeError(x + ' is ambiguous') - ALPHABET_MAP[x] = z -} - -function polymodStep (pre) { - var b = pre >> 25 - return ((pre & 0x1FFFFFF) << 5) ^ - (-((b >> 0) & 1) & 0x3b6a57b2) ^ - (-((b >> 1) & 1) & 0x26508e6d) ^ - (-((b >> 2) & 1) & 0x1ea119fa) ^ - (-((b >> 3) & 1) & 0x3d4233dd) ^ - (-((b >> 4) & 1) & 0x2a1462b3) -} - -function prefixChk (prefix) { - var chk = 1 - for (var i = 0; i < prefix.length; ++i) { - var c = prefix.charCodeAt(i) - if (c < 33 || c > 126) return 'Invalid prefix (' + prefix + ')' - - chk = polymodStep(chk) ^ (c >> 5) - } - chk = polymodStep(chk) - - for (i = 0; i < prefix.length; ++i) { - var v = prefix.charCodeAt(i) - chk = polymodStep(chk) ^ (v & 0x1f) - } - return chk -} - -function encode (prefix, words, LIMIT) { - LIMIT = LIMIT || 90 - if ((prefix.length + 7 + words.length) > LIMIT) throw new TypeError('Exceeds length limit') - - prefix = prefix.toLowerCase() - - // determine chk mod - var chk = prefixChk(prefix) - if (typeof chk === 'string') throw new Error(chk) - - var result = prefix + '1' - for (var i = 0; i < words.length; ++i) { - var x = words[i] - if ((x >> 5) !== 0) throw new Error('Non 5-bit word') - - chk = polymodStep(chk) ^ x - result += ALPHABET.charAt(x) - } - - for (i = 0; i < 6; ++i) { - chk = polymodStep(chk) - } - chk ^= 1 - - for (i = 0; i < 6; ++i) { - var v = (chk >> ((5 - i) * 5)) & 0x1f - result += ALPHABET.charAt(v) - } - - return result -} - -function __decode (str, LIMIT) { - LIMIT = LIMIT || 90 - if (str.length < 8) return str + ' too short' - if (str.length > LIMIT) return 'Exceeds length limit' - - // don't allow mixed case - var lowered = str.toLowerCase() - var uppered = str.toUpperCase() - if (str !== lowered && str !== uppered) return 'Mixed-case string ' + str - str = lowered - - var split = str.lastIndexOf('1') - if (split === -1) return 'No separator character for ' + str - if (split === 0) return 'Missing prefix for ' + str - - var prefix = str.slice(0, split) - var wordChars = str.slice(split + 1) - if (wordChars.length < 6) return 'Data too short' - - var chk = prefixChk(prefix) - if (typeof chk === 'string') return chk - - var words = [] - for (var i = 0; i < wordChars.length; ++i) { - var c = wordChars.charAt(i) - var v = ALPHABET_MAP[c] - if (v === undefined) return 'Unknown character ' + c - chk = polymodStep(chk) ^ v - - // not in the checksum? - if (i + 6 >= wordChars.length) continue - words.push(v) - } - - if (chk !== 1) return 'Invalid checksum for ' + str - return { prefix: prefix, words: words } -} - -function decodeUnsafe () { - var res = __decode.apply(null, arguments) - if (typeof res === 'object') return res -} - -function decode (str) { - var res = __decode.apply(null, arguments) - if (typeof res === 'object') return res - - throw new Error(res) -} - -function convert (data, inBits, outBits, pad) { - var value = 0 - var bits = 0 - var maxV = (1 << outBits) - 1 - - var result = [] - for (var i = 0; i < data.length; ++i) { - value = (value << inBits) | data[i] - bits += inBits - - while (bits >= outBits) { - bits -= outBits - result.push((value >> bits) & maxV) - } - } - - if (pad) { - if (bits > 0) { - result.push((value << (outBits - bits)) & maxV) - } - } else { - if (bits >= inBits) return 'Excess padding' - if ((value << (outBits - bits)) & maxV) return 'Non-zero padding' - } - - return result -} - -function toWordsUnsafe (bytes) { - var res = convert(bytes, 8, 5, true) - if (Array.isArray(res)) return res -} - -function toWords (bytes) { - var res = convert(bytes, 8, 5, true) - if (Array.isArray(res)) return res - - throw new Error(res) -} - -function fromWordsUnsafe (words) { - var res = convert(words, 5, 8, false) - if (Array.isArray(res)) return res -} - -function fromWords (words) { - var res = convert(words, 5, 8, false) - if (Array.isArray(res)) return res - - throw new Error(res) -} - -module.exports = { - decodeUnsafe: decodeUnsafe, - decode: decode, - encode: encode, - toWordsUnsafe: toWordsUnsafe, - toWords: toWords, - fromWordsUnsafe: fromWordsUnsafe, - fromWords: fromWords -} - - -/***/ }), - -/***/ 89851: -/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { - -var register = __nccwpck_require__(68970); -var addHook = __nccwpck_require__(34136); -var removeHook = __nccwpck_require__(96855); - -// bind with array of arguments: https://stackoverflow.com/a/21792913 -var bind = Function.bind; -var bindable = bind.bind(bind); - -function bindApi(hook, state, name) { - var removeHookRef = bindable(removeHook, null).apply( - null, - name ? [state, name] : [state] - ); - hook.api = { remove: removeHookRef }; - hook.remove = removeHookRef; - ["before", "error", "after", "wrap"].forEach(function (kind) { - var args = name ? [state, kind, name] : [state, kind]; - hook[kind] = hook.api[kind] = bindable(addHook, null).apply(null, args); - }); -} - -function HookSingular() { - var singularHookName = "h"; - var singularHookState = { - registry: {}, - }; - var singularHook = register.bind(null, singularHookState, singularHookName); - bindApi(singularHook, singularHookState, singularHookName); - return singularHook; -} - -function HookCollection() { - var state = { - registry: {}, - }; - - var hook = register.bind(null, state); - bindApi(hook, state); - - return hook; -} - -var collectionHookDeprecationMessageDisplayed = false; -function Hook() { - if (!collectionHookDeprecationMessageDisplayed) { - console.warn( - '[before-after-hook]: "Hook()" repurposing warning, use "Hook.Collection()". Read more: https://git.io/upgrade-before-after-hook-to-1.4' - ); - collectionHookDeprecationMessageDisplayed = true; - } - return HookCollection(); -} - -Hook.Singular = HookSingular.bind(); -Hook.Collection = HookCollection.bind(); - -module.exports = Hook; -// expose constructors as a named property for TypeScript -module.exports.Hook = Hook; -module.exports.Singular = Hook.Singular; -module.exports.Collection = Hook.Collection; - - -/***/ }), - -/***/ 34136: -/***/ ((module) => { - -module.exports = addHook; - -function addHook(state, kind, name, hook) { - var orig = hook; - if (!state.registry[name]) { - state.registry[name] = []; - } - - if (kind === "before") { - hook = function (method, options) { - return Promise.resolve() - .then(orig.bind(null, options)) - .then(method.bind(null, options)); - }; - } - - if (kind === "after") { - hook = function (method, options) { - var result; - return Promise.resolve() - .then(method.bind(null, options)) - .then(function (result_) { - result = result_; - return orig(result, options); - }) - .then(function () { - return result; - }); - }; - } - - if (kind === "error") { - hook = function (method, options) { - return Promise.resolve() - .then(method.bind(null, options)) - .catch(function (error) { - return orig(error, options); - }); - }; - } - - state.registry[name].push({ - hook: hook, - orig: orig, - }); -} - - -/***/ }), - -/***/ 68970: -/***/ ((module) => { - -module.exports = register; - -function register(state, name, method, options) { - if (typeof method !== "function") { - throw new Error("method for before hook must be a function"); - } - - if (!options) { - options = {}; - } - - if (Array.isArray(name)) { - return name.reverse().reduce(function (callback, name) { - return register.bind(null, state, name, callback, options); - }, method)(); - } - - return Promise.resolve().then(function () { - if (!state.registry[name]) { - return method(options); - } - - return state.registry[name].reduce(function (method, registered) { - return registered.hook.bind(null, method, options); - }, method)(); - }); -} - - -/***/ }), - -/***/ 96855: -/***/ ((module) => { - -module.exports = removeHook; - -function removeHook(state, name, method) { - if (!state.registry[name]) { - return; - } - - var index = state.registry[name] - .map(function (registered) { - return registered.orig; - }) - .indexOf(method); - - if (index === -1) { - return; - } - - state.registry[name].splice(index, 1); -} - - -/***/ }), - -/***/ 97468: -/***/ (function(module, __unused_webpack_exports, __nccwpck_require__) { - -/* module decorator */ module = __nccwpck_require__.nmd(module); -(function (module, exports) { - 'use strict'; - - // Utils - function assert (val, msg) { - if (!val) throw new Error(msg || 'Assertion failed'); - } - - // Could use `inherits` module, but don't want to move from single file - // architecture yet. - function inherits (ctor, superCtor) { - ctor.super_ = superCtor; - var TempCtor = function () {}; - TempCtor.prototype = superCtor.prototype; - ctor.prototype = new TempCtor(); - ctor.prototype.constructor = ctor; - } - - // BN - - function BN (number, base, endian) { - if (BN.isBN(number)) { - return number; - } - - this.negative = 0; - this.words = null; - this.length = 0; - - // Reduction context - this.red = null; - - if (number !== null) { - if (base === 'le' || base === 'be') { - endian = base; - base = 10; - } - - this._init(number || 0, base || 10, endian || 'be'); - } - } - if (typeof module === 'object') { - module.exports = BN; - } else { - exports.BN = BN; - } - - BN.BN = BN; - BN.wordSize = 26; - - var Buffer; - try { - if (typeof window !== 'undefined' && typeof window.Buffer !== 'undefined') { - Buffer = window.Buffer; - } else { - Buffer = (__nccwpck_require__(20181).Buffer); - } - } catch (e) { - } - - BN.isBN = function isBN (num) { - if (num instanceof BN) { - return true; - } - - return num !== null && typeof num === 'object' && - num.constructor.wordSize === BN.wordSize && Array.isArray(num.words); - }; - - BN.max = function max (left, right) { - if (left.cmp(right) > 0) return left; - return right; - }; - - BN.min = function min (left, right) { - if (left.cmp(right) < 0) return left; - return right; - }; - - BN.prototype._init = function init (number, base, endian) { - if (typeof number === 'number') { - return this._initNumber(number, base, endian); - } - - if (typeof number === 'object') { - return this._initArray(number, base, endian); - } - - if (base === 'hex') { - base = 16; - } - assert(base === (base | 0) && base >= 2 && base <= 36); - - number = number.toString().replace(/\s+/g, ''); - var start = 0; - if (number[0] === '-') { - start++; - this.negative = 1; - } - - if (start < number.length) { - if (base === 16) { - this._parseHex(number, start, endian); - } else { - this._parseBase(number, base, start); - if (endian === 'le') { - this._initArray(this.toArray(), base, endian); - } - } - } - }; - - BN.prototype._initNumber = function _initNumber (number, base, endian) { - if (number < 0) { - this.negative = 1; - number = -number; - } - if (number < 0x4000000) { - this.words = [number & 0x3ffffff]; - this.length = 1; - } else if (number < 0x10000000000000) { - this.words = [ - number & 0x3ffffff, - (number / 0x4000000) & 0x3ffffff - ]; - this.length = 2; - } else { - assert(number < 0x20000000000000); // 2 ^ 53 (unsafe) - this.words = [ - number & 0x3ffffff, - (number / 0x4000000) & 0x3ffffff, - 1 - ]; - this.length = 3; - } - - if (endian !== 'le') return; - - // Reverse the bytes - this._initArray(this.toArray(), base, endian); - }; - - BN.prototype._initArray = function _initArray (number, base, endian) { - // Perhaps a Uint8Array - assert(typeof number.length === 'number'); - if (number.length <= 0) { - this.words = [0]; - this.length = 1; - return this; - } - - this.length = Math.ceil(number.length / 3); - this.words = new Array(this.length); - for (var i = 0; i < this.length; i++) { - this.words[i] = 0; - } - - var j, w; - var off = 0; - if (endian === 'be') { - for (i = number.length - 1, j = 0; i >= 0; i -= 3) { - w = number[i] | (number[i - 1] << 8) | (number[i - 2] << 16); - this.words[j] |= (w << off) & 0x3ffffff; - this.words[j + 1] = (w >>> (26 - off)) & 0x3ffffff; - off += 24; - if (off >= 26) { - off -= 26; - j++; - } - } - } else if (endian === 'le') { - for (i = 0, j = 0; i < number.length; i += 3) { - w = number[i] | (number[i + 1] << 8) | (number[i + 2] << 16); - this.words[j] |= (w << off) & 0x3ffffff; - this.words[j + 1] = (w >>> (26 - off)) & 0x3ffffff; - off += 24; - if (off >= 26) { - off -= 26; - j++; - } - } - } - return this._strip(); - }; - - function parseHex4Bits (string, index) { - var c = string.charCodeAt(index); - // '0' - '9' - if (c >= 48 && c <= 57) { - return c - 48; - // 'A' - 'F' - } else if (c >= 65 && c <= 70) { - return c - 55; - // 'a' - 'f' - } else if (c >= 97 && c <= 102) { - return c - 87; - } else { - assert(false, 'Invalid character in ' + string); - } - } - - function parseHexByte (string, lowerBound, index) { - var r = parseHex4Bits(string, index); - if (index - 1 >= lowerBound) { - r |= parseHex4Bits(string, index - 1) << 4; - } - return r; - } - - BN.prototype._parseHex = function _parseHex (number, start, endian) { - // Create possibly bigger array to ensure that it fits the number - this.length = Math.ceil((number.length - start) / 6); - this.words = new Array(this.length); - for (var i = 0; i < this.length; i++) { - this.words[i] = 0; - } - - // 24-bits chunks - var off = 0; - var j = 0; - - var w; - if (endian === 'be') { - for (i = number.length - 1; i >= start; i -= 2) { - w = parseHexByte(number, start, i) << off; - this.words[j] |= w & 0x3ffffff; - if (off >= 18) { - off -= 18; - j += 1; - this.words[j] |= w >>> 26; - } else { - off += 8; - } - } - } else { - var parseLength = number.length - start; - for (i = parseLength % 2 === 0 ? start + 1 : start; i < number.length; i += 2) { - w = parseHexByte(number, start, i) << off; - this.words[j] |= w & 0x3ffffff; - if (off >= 18) { - off -= 18; - j += 1; - this.words[j] |= w >>> 26; - } else { - off += 8; - } - } - } - - this._strip(); - }; - - function parseBase (str, start, end, mul) { - var r = 0; - var b = 0; - var len = Math.min(str.length, end); - for (var i = start; i < len; i++) { - var c = str.charCodeAt(i) - 48; - - r *= mul; - - // 'a' - if (c >= 49) { - b = c - 49 + 0xa; - - // 'A' - } else if (c >= 17) { - b = c - 17 + 0xa; - - // '0' - '9' - } else { - b = c; - } - assert(c >= 0 && b < mul, 'Invalid character'); - r += b; - } - return r; - } - - BN.prototype._parseBase = function _parseBase (number, base, start) { - // Initialize as zero - this.words = [0]; - this.length = 1; - - // Find length of limb in base - for (var limbLen = 0, limbPow = 1; limbPow <= 0x3ffffff; limbPow *= base) { - limbLen++; - } - limbLen--; - limbPow = (limbPow / base) | 0; - - var total = number.length - start; - var mod = total % limbLen; - var end = Math.min(total, total - mod) + start; - - var word = 0; - for (var i = start; i < end; i += limbLen) { - word = parseBase(number, i, i + limbLen, base); - - this.imuln(limbPow); - if (this.words[0] + word < 0x4000000) { - this.words[0] += word; - } else { - this._iaddn(word); - } - } - - if (mod !== 0) { - var pow = 1; - word = parseBase(number, i, number.length, base); - - for (i = 0; i < mod; i++) { - pow *= base; - } - - this.imuln(pow); - if (this.words[0] + word < 0x4000000) { - this.words[0] += word; - } else { - this._iaddn(word); - } - } - - this._strip(); - }; - - BN.prototype.copy = function copy (dest) { - dest.words = new Array(this.length); - for (var i = 0; i < this.length; i++) { - dest.words[i] = this.words[i]; - } - dest.length = this.length; - dest.negative = this.negative; - dest.red = this.red; - }; - - function move (dest, src) { - dest.words = src.words; - dest.length = src.length; - dest.negative = src.negative; - dest.red = src.red; - } - - BN.prototype._move = function _move (dest) { - move(dest, this); - }; - - BN.prototype.clone = function clone () { - var r = new BN(null); - this.copy(r); - return r; - }; - - BN.prototype._expand = function _expand (size) { - while (this.length < size) { - this.words[this.length++] = 0; - } - return this; - }; - - // Remove leading `0` from `this` - BN.prototype._strip = function strip () { - while (this.length > 1 && this.words[this.length - 1] === 0) { - this.length--; - } - return this._normSign(); - }; - - BN.prototype._normSign = function _normSign () { - // -0 = 0 - if (this.length === 1 && this.words[0] === 0) { - this.negative = 0; - } - return this; - }; - - // Check Symbol.for because not everywhere where Symbol defined - // See https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Symbol#Browser_compatibility - if (typeof Symbol !== 'undefined' && typeof Symbol.for === 'function') { - try { - BN.prototype[Symbol.for('nodejs.util.inspect.custom')] = inspect; - } catch (e) { - BN.prototype.inspect = inspect; - } - } else { - BN.prototype.inspect = inspect; - } - - function inspect () { - return (this.red ? ''; - } - - /* - - var zeros = []; - var groupSizes = []; - var groupBases = []; - - var s = ''; - var i = -1; - while (++i < BN.wordSize) { - zeros[i] = s; - s += '0'; - } - groupSizes[0] = 0; - groupSizes[1] = 0; - groupBases[0] = 0; - groupBases[1] = 0; - var base = 2 - 1; - while (++base < 36 + 1) { - var groupSize = 0; - var groupBase = 1; - while (groupBase < (1 << BN.wordSize) / base) { - groupBase *= base; - groupSize += 1; - } - groupSizes[base] = groupSize; - groupBases[base] = groupBase; - } - - */ - - var zeros = [ - '', - '0', - '00', - '000', - '0000', - '00000', - '000000', - '0000000', - '00000000', - '000000000', - '0000000000', - '00000000000', - '000000000000', - '0000000000000', - '00000000000000', - '000000000000000', - '0000000000000000', - '00000000000000000', - '000000000000000000', - '0000000000000000000', - '00000000000000000000', - '000000000000000000000', - '0000000000000000000000', - '00000000000000000000000', - '000000000000000000000000', - '0000000000000000000000000' - ]; - - var groupSizes = [ - 0, 0, - 25, 16, 12, 11, 10, 9, 8, - 8, 7, 7, 7, 7, 6, 6, - 6, 6, 6, 6, 6, 5, 5, - 5, 5, 5, 5, 5, 5, 5, - 5, 5, 5, 5, 5, 5, 5 - ]; - - var groupBases = [ - 0, 0, - 33554432, 43046721, 16777216, 48828125, 60466176, 40353607, 16777216, - 43046721, 10000000, 19487171, 35831808, 62748517, 7529536, 11390625, - 16777216, 24137569, 34012224, 47045881, 64000000, 4084101, 5153632, - 6436343, 7962624, 9765625, 11881376, 14348907, 17210368, 20511149, - 24300000, 28629151, 33554432, 39135393, 45435424, 52521875, 60466176 - ]; - - BN.prototype.toString = function toString (base, padding) { - base = base || 10; - padding = padding | 0 || 1; - - var out; - if (base === 16 || base === 'hex') { - out = ''; - var off = 0; - var carry = 0; - for (var i = 0; i < this.length; i++) { - var w = this.words[i]; - var word = (((w << off) | carry) & 0xffffff).toString(16); - carry = (w >>> (24 - off)) & 0xffffff; - off += 2; - if (off >= 26) { - off -= 26; - i--; - } - if (carry !== 0 || i !== this.length - 1) { - out = zeros[6 - word.length] + word + out; - } else { - out = word + out; - } - } - if (carry !== 0) { - out = carry.toString(16) + out; - } - while (out.length % padding !== 0) { - out = '0' + out; - } - if (this.negative !== 0) { - out = '-' + out; - } - return out; - } - - if (base === (base | 0) && base >= 2 && base <= 36) { - // var groupSize = Math.floor(BN.wordSize * Math.LN2 / Math.log(base)); - var groupSize = groupSizes[base]; - // var groupBase = Math.pow(base, groupSize); - var groupBase = groupBases[base]; - out = ''; - var c = this.clone(); - c.negative = 0; - while (!c.isZero()) { - var r = c.modrn(groupBase).toString(base); - c = c.idivn(groupBase); - - if (!c.isZero()) { - out = zeros[groupSize - r.length] + r + out; - } else { - out = r + out; - } - } - if (this.isZero()) { - out = '0' + out; - } - while (out.length % padding !== 0) { - out = '0' + out; - } - if (this.negative !== 0) { - out = '-' + out; - } - return out; - } - - assert(false, 'Base should be between 2 and 36'); - }; - - BN.prototype.toNumber = function toNumber () { - var ret = this.words[0]; - if (this.length === 2) { - ret += this.words[1] * 0x4000000; - } else if (this.length === 3 && this.words[2] === 0x01) { - // NOTE: at this stage it is known that the top bit is set - ret += 0x10000000000000 + (this.words[1] * 0x4000000); - } else if (this.length > 2) { - assert(false, 'Number can only safely store up to 53 bits'); - } - return (this.negative !== 0) ? -ret : ret; - }; - - BN.prototype.toJSON = function toJSON () { - return this.toString(16, 2); - }; - - if (Buffer) { - BN.prototype.toBuffer = function toBuffer (endian, length) { - return this.toArrayLike(Buffer, endian, length); - }; - } - - BN.prototype.toArray = function toArray (endian, length) { - return this.toArrayLike(Array, endian, length); - }; - - var allocate = function allocate (ArrayType, size) { - if (ArrayType.allocUnsafe) { - return ArrayType.allocUnsafe(size); - } - return new ArrayType(size); - }; - - BN.prototype.toArrayLike = function toArrayLike (ArrayType, endian, length) { - this._strip(); - - var byteLength = this.byteLength(); - var reqLength = length || Math.max(1, byteLength); - assert(byteLength <= reqLength, 'byte array longer than desired length'); - assert(reqLength > 0, 'Requested array length <= 0'); - - var res = allocate(ArrayType, reqLength); - var postfix = endian === 'le' ? 'LE' : 'BE'; - this['_toArrayLike' + postfix](res, byteLength); - return res; - }; - - BN.prototype._toArrayLikeLE = function _toArrayLikeLE (res, byteLength) { - var position = 0; - var carry = 0; - - for (var i = 0, shift = 0; i < this.length; i++) { - var word = (this.words[i] << shift) | carry; - - res[position++] = word & 0xff; - if (position < res.length) { - res[position++] = (word >> 8) & 0xff; - } - if (position < res.length) { - res[position++] = (word >> 16) & 0xff; - } - - if (shift === 6) { - if (position < res.length) { - res[position++] = (word >> 24) & 0xff; - } - carry = 0; - shift = 0; - } else { - carry = word >>> 24; - shift += 2; - } - } - - if (position < res.length) { - res[position++] = carry; - - while (position < res.length) { - res[position++] = 0; - } - } - }; - - BN.prototype._toArrayLikeBE = function _toArrayLikeBE (res, byteLength) { - var position = res.length - 1; - var carry = 0; - - for (var i = 0, shift = 0; i < this.length; i++) { - var word = (this.words[i] << shift) | carry; - - res[position--] = word & 0xff; - if (position >= 0) { - res[position--] = (word >> 8) & 0xff; - } - if (position >= 0) { - res[position--] = (word >> 16) & 0xff; - } - - if (shift === 6) { - if (position >= 0) { - res[position--] = (word >> 24) & 0xff; - } - carry = 0; - shift = 0; - } else { - carry = word >>> 24; - shift += 2; - } - } - - if (position >= 0) { - res[position--] = carry; - - while (position >= 0) { - res[position--] = 0; - } - } - }; - - if (Math.clz32) { - BN.prototype._countBits = function _countBits (w) { - return 32 - Math.clz32(w); - }; - } else { - BN.prototype._countBits = function _countBits (w) { - var t = w; - var r = 0; - if (t >= 0x1000) { - r += 13; - t >>>= 13; - } - if (t >= 0x40) { - r += 7; - t >>>= 7; - } - if (t >= 0x8) { - r += 4; - t >>>= 4; - } - if (t >= 0x02) { - r += 2; - t >>>= 2; - } - return r + t; - }; - } - - BN.prototype._zeroBits = function _zeroBits (w) { - // Short-cut - if (w === 0) return 26; - - var t = w; - var r = 0; - if ((t & 0x1fff) === 0) { - r += 13; - t >>>= 13; - } - if ((t & 0x7f) === 0) { - r += 7; - t >>>= 7; - } - if ((t & 0xf) === 0) { - r += 4; - t >>>= 4; - } - if ((t & 0x3) === 0) { - r += 2; - t >>>= 2; - } - if ((t & 0x1) === 0) { - r++; - } - return r; - }; - - // Return number of used bits in a BN - BN.prototype.bitLength = function bitLength () { - var w = this.words[this.length - 1]; - var hi = this._countBits(w); - return (this.length - 1) * 26 + hi; - }; - - function toBitArray (num) { - var w = new Array(num.bitLength()); - - for (var bit = 0; bit < w.length; bit++) { - var off = (bit / 26) | 0; - var wbit = bit % 26; - - w[bit] = (num.words[off] >>> wbit) & 0x01; - } - - return w; - } - - // Number of trailing zero bits - BN.prototype.zeroBits = function zeroBits () { - if (this.isZero()) return 0; - - var r = 0; - for (var i = 0; i < this.length; i++) { - var b = this._zeroBits(this.words[i]); - r += b; - if (b !== 26) break; - } - return r; - }; - - BN.prototype.byteLength = function byteLength () { - return Math.ceil(this.bitLength() / 8); - }; - - BN.prototype.toTwos = function toTwos (width) { - if (this.negative !== 0) { - return this.abs().inotn(width).iaddn(1); - } - return this.clone(); - }; - - BN.prototype.fromTwos = function fromTwos (width) { - if (this.testn(width - 1)) { - return this.notn(width).iaddn(1).ineg(); - } - return this.clone(); - }; - - BN.prototype.isNeg = function isNeg () { - return this.negative !== 0; - }; - - // Return negative clone of `this` - BN.prototype.neg = function neg () { - return this.clone().ineg(); - }; - - BN.prototype.ineg = function ineg () { - if (!this.isZero()) { - this.negative ^= 1; - } - - return this; - }; - - // Or `num` with `this` in-place - BN.prototype.iuor = function iuor (num) { - while (this.length < num.length) { - this.words[this.length++] = 0; - } - - for (var i = 0; i < num.length; i++) { - this.words[i] = this.words[i] | num.words[i]; - } - - return this._strip(); - }; - - BN.prototype.ior = function ior (num) { - assert((this.negative | num.negative) === 0); - return this.iuor(num); - }; - - // Or `num` with `this` - BN.prototype.or = function or (num) { - if (this.length > num.length) return this.clone().ior(num); - return num.clone().ior(this); - }; - - BN.prototype.uor = function uor (num) { - if (this.length > num.length) return this.clone().iuor(num); - return num.clone().iuor(this); - }; - - // And `num` with `this` in-place - BN.prototype.iuand = function iuand (num) { - // b = min-length(num, this) - var b; - if (this.length > num.length) { - b = num; - } else { - b = this; - } - - for (var i = 0; i < b.length; i++) { - this.words[i] = this.words[i] & num.words[i]; - } - - this.length = b.length; - - return this._strip(); - }; - - BN.prototype.iand = function iand (num) { - assert((this.negative | num.negative) === 0); - return this.iuand(num); - }; - - // And `num` with `this` - BN.prototype.and = function and (num) { - if (this.length > num.length) return this.clone().iand(num); - return num.clone().iand(this); - }; - - BN.prototype.uand = function uand (num) { - if (this.length > num.length) return this.clone().iuand(num); - return num.clone().iuand(this); - }; - - // Xor `num` with `this` in-place - BN.prototype.iuxor = function iuxor (num) { - // a.length > b.length - var a; - var b; - if (this.length > num.length) { - a = this; - b = num; - } else { - a = num; - b = this; - } - - for (var i = 0; i < b.length; i++) { - this.words[i] = a.words[i] ^ b.words[i]; - } - - if (this !== a) { - for (; i < a.length; i++) { - this.words[i] = a.words[i]; - } - } - - this.length = a.length; - - return this._strip(); - }; - - BN.prototype.ixor = function ixor (num) { - assert((this.negative | num.negative) === 0); - return this.iuxor(num); - }; - - // Xor `num` with `this` - BN.prototype.xor = function xor (num) { - if (this.length > num.length) return this.clone().ixor(num); - return num.clone().ixor(this); - }; - - BN.prototype.uxor = function uxor (num) { - if (this.length > num.length) return this.clone().iuxor(num); - return num.clone().iuxor(this); - }; - - // Not ``this`` with ``width`` bitwidth - BN.prototype.inotn = function inotn (width) { - assert(typeof width === 'number' && width >= 0); - - var bytesNeeded = Math.ceil(width / 26) | 0; - var bitsLeft = width % 26; - - // Extend the buffer with leading zeroes - this._expand(bytesNeeded); - - if (bitsLeft > 0) { - bytesNeeded--; - } - - // Handle complete words - for (var i = 0; i < bytesNeeded; i++) { - this.words[i] = ~this.words[i] & 0x3ffffff; - } - - // Handle the residue - if (bitsLeft > 0) { - this.words[i] = ~this.words[i] & (0x3ffffff >> (26 - bitsLeft)); - } - - // And remove leading zeroes - return this._strip(); - }; - - BN.prototype.notn = function notn (width) { - return this.clone().inotn(width); - }; - - // Set `bit` of `this` - BN.prototype.setn = function setn (bit, val) { - assert(typeof bit === 'number' && bit >= 0); - - var off = (bit / 26) | 0; - var wbit = bit % 26; - - this._expand(off + 1); - - if (val) { - this.words[off] = this.words[off] | (1 << wbit); - } else { - this.words[off] = this.words[off] & ~(1 << wbit); - } - - return this._strip(); - }; - - // Add `num` to `this` in-place - BN.prototype.iadd = function iadd (num) { - var r; - - // negative + positive - if (this.negative !== 0 && num.negative === 0) { - this.negative = 0; - r = this.isub(num); - this.negative ^= 1; - return this._normSign(); - - // positive + negative - } else if (this.negative === 0 && num.negative !== 0) { - num.negative = 0; - r = this.isub(num); - num.negative = 1; - return r._normSign(); - } - - // a.length > b.length - var a, b; - if (this.length > num.length) { - a = this; - b = num; - } else { - a = num; - b = this; - } - - var carry = 0; - for (var i = 0; i < b.length; i++) { - r = (a.words[i] | 0) + (b.words[i] | 0) + carry; - this.words[i] = r & 0x3ffffff; - carry = r >>> 26; - } - for (; carry !== 0 && i < a.length; i++) { - r = (a.words[i] | 0) + carry; - this.words[i] = r & 0x3ffffff; - carry = r >>> 26; - } - - this.length = a.length; - if (carry !== 0) { - this.words[this.length] = carry; - this.length++; - // Copy the rest of the words - } else if (a !== this) { - for (; i < a.length; i++) { - this.words[i] = a.words[i]; - } - } - - return this; - }; - - // Add `num` to `this` - BN.prototype.add = function add (num) { - var res; - if (num.negative !== 0 && this.negative === 0) { - num.negative = 0; - res = this.sub(num); - num.negative ^= 1; - return res; - } else if (num.negative === 0 && this.negative !== 0) { - this.negative = 0; - res = num.sub(this); - this.negative = 1; - return res; - } - - if (this.length > num.length) return this.clone().iadd(num); - - return num.clone().iadd(this); - }; - - // Subtract `num` from `this` in-place - BN.prototype.isub = function isub (num) { - // this - (-num) = this + num - if (num.negative !== 0) { - num.negative = 0; - var r = this.iadd(num); - num.negative = 1; - return r._normSign(); - - // -this - num = -(this + num) - } else if (this.negative !== 0) { - this.negative = 0; - this.iadd(num); - this.negative = 1; - return this._normSign(); - } - - // At this point both numbers are positive - var cmp = this.cmp(num); - - // Optimization - zeroify - if (cmp === 0) { - this.negative = 0; - this.length = 1; - this.words[0] = 0; - return this; - } - - // a > b - var a, b; - if (cmp > 0) { - a = this; - b = num; - } else { - a = num; - b = this; - } - - var carry = 0; - for (var i = 0; i < b.length; i++) { - r = (a.words[i] | 0) - (b.words[i] | 0) + carry; - carry = r >> 26; - this.words[i] = r & 0x3ffffff; - } - for (; carry !== 0 && i < a.length; i++) { - r = (a.words[i] | 0) + carry; - carry = r >> 26; - this.words[i] = r & 0x3ffffff; - } - - // Copy rest of the words - if (carry === 0 && i < a.length && a !== this) { - for (; i < a.length; i++) { - this.words[i] = a.words[i]; - } - } - - this.length = Math.max(this.length, i); - - if (a !== this) { - this.negative = 1; - } - - return this._strip(); - }; - - // Subtract `num` from `this` - BN.prototype.sub = function sub (num) { - return this.clone().isub(num); - }; - - function smallMulTo (self, num, out) { - out.negative = num.negative ^ self.negative; - var len = (self.length + num.length) | 0; - out.length = len; - len = (len - 1) | 0; - - // Peel one iteration (compiler can't do it, because of code complexity) - var a = self.words[0] | 0; - var b = num.words[0] | 0; - var r = a * b; - - var lo = r & 0x3ffffff; - var carry = (r / 0x4000000) | 0; - out.words[0] = lo; - - for (var k = 1; k < len; k++) { - // Sum all words with the same `i + j = k` and accumulate `ncarry`, - // note that ncarry could be >= 0x3ffffff - var ncarry = carry >>> 26; - var rword = carry & 0x3ffffff; - var maxJ = Math.min(k, num.length - 1); - for (var j = Math.max(0, k - self.length + 1); j <= maxJ; j++) { - var i = (k - j) | 0; - a = self.words[i] | 0; - b = num.words[j] | 0; - r = a * b + rword; - ncarry += (r / 0x4000000) | 0; - rword = r & 0x3ffffff; - } - out.words[k] = rword | 0; - carry = ncarry | 0; - } - if (carry !== 0) { - out.words[k] = carry | 0; - } else { - out.length--; - } - - return out._strip(); - } - - // TODO(indutny): it may be reasonable to omit it for users who don't need - // to work with 256-bit numbers, otherwise it gives 20% improvement for 256-bit - // multiplication (like elliptic secp256k1). - var comb10MulTo = function comb10MulTo (self, num, out) { - var a = self.words; - var b = num.words; - var o = out.words; - var c = 0; - var lo; - var mid; - var hi; - var a0 = a[0] | 0; - var al0 = a0 & 0x1fff; - var ah0 = a0 >>> 13; - var a1 = a[1] | 0; - var al1 = a1 & 0x1fff; - var ah1 = a1 >>> 13; - var a2 = a[2] | 0; - var al2 = a2 & 0x1fff; - var ah2 = a2 >>> 13; - var a3 = a[3] | 0; - var al3 = a3 & 0x1fff; - var ah3 = a3 >>> 13; - var a4 = a[4] | 0; - var al4 = a4 & 0x1fff; - var ah4 = a4 >>> 13; - var a5 = a[5] | 0; - var al5 = a5 & 0x1fff; - var ah5 = a5 >>> 13; - var a6 = a[6] | 0; - var al6 = a6 & 0x1fff; - var ah6 = a6 >>> 13; - var a7 = a[7] | 0; - var al7 = a7 & 0x1fff; - var ah7 = a7 >>> 13; - var a8 = a[8] | 0; - var al8 = a8 & 0x1fff; - var ah8 = a8 >>> 13; - var a9 = a[9] | 0; - var al9 = a9 & 0x1fff; - var ah9 = a9 >>> 13; - var b0 = b[0] | 0; - var bl0 = b0 & 0x1fff; - var bh0 = b0 >>> 13; - var b1 = b[1] | 0; - var bl1 = b1 & 0x1fff; - var bh1 = b1 >>> 13; - var b2 = b[2] | 0; - var bl2 = b2 & 0x1fff; - var bh2 = b2 >>> 13; - var b3 = b[3] | 0; - var bl3 = b3 & 0x1fff; - var bh3 = b3 >>> 13; - var b4 = b[4] | 0; - var bl4 = b4 & 0x1fff; - var bh4 = b4 >>> 13; - var b5 = b[5] | 0; - var bl5 = b5 & 0x1fff; - var bh5 = b5 >>> 13; - var b6 = b[6] | 0; - var bl6 = b6 & 0x1fff; - var bh6 = b6 >>> 13; - var b7 = b[7] | 0; - var bl7 = b7 & 0x1fff; - var bh7 = b7 >>> 13; - var b8 = b[8] | 0; - var bl8 = b8 & 0x1fff; - var bh8 = b8 >>> 13; - var b9 = b[9] | 0; - var bl9 = b9 & 0x1fff; - var bh9 = b9 >>> 13; - - out.negative = self.negative ^ num.negative; - out.length = 19; - /* k = 0 */ - lo = Math.imul(al0, bl0); - mid = Math.imul(al0, bh0); - mid = (mid + Math.imul(ah0, bl0)) | 0; - hi = Math.imul(ah0, bh0); - var w0 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0; - c = (((hi + (mid >>> 13)) | 0) + (w0 >>> 26)) | 0; - w0 &= 0x3ffffff; - /* k = 1 */ - lo = Math.imul(al1, bl0); - mid = Math.imul(al1, bh0); - mid = (mid + Math.imul(ah1, bl0)) | 0; - hi = Math.imul(ah1, bh0); - lo = (lo + Math.imul(al0, bl1)) | 0; - mid = (mid + Math.imul(al0, bh1)) | 0; - mid = (mid + Math.imul(ah0, bl1)) | 0; - hi = (hi + Math.imul(ah0, bh1)) | 0; - var w1 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0; - c = (((hi + (mid >>> 13)) | 0) + (w1 >>> 26)) | 0; - w1 &= 0x3ffffff; - /* k = 2 */ - lo = Math.imul(al2, bl0); - mid = Math.imul(al2, bh0); - mid = (mid + Math.imul(ah2, bl0)) | 0; - hi = Math.imul(ah2, bh0); - lo = (lo + Math.imul(al1, bl1)) | 0; - mid = (mid + Math.imul(al1, bh1)) | 0; - mid = (mid + Math.imul(ah1, bl1)) | 0; - hi = (hi + Math.imul(ah1, bh1)) | 0; - lo = (lo + Math.imul(al0, bl2)) | 0; - mid = (mid + Math.imul(al0, bh2)) | 0; - mid = (mid + Math.imul(ah0, bl2)) | 0; - hi = (hi + Math.imul(ah0, bh2)) | 0; - var w2 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0; - c = (((hi + (mid >>> 13)) | 0) + (w2 >>> 26)) | 0; - w2 &= 0x3ffffff; - /* k = 3 */ - lo = Math.imul(al3, bl0); - mid = Math.imul(al3, bh0); - mid = (mid + Math.imul(ah3, bl0)) | 0; - hi = Math.imul(ah3, bh0); - lo = (lo + Math.imul(al2, bl1)) | 0; - mid = (mid + Math.imul(al2, bh1)) | 0; - mid = (mid + Math.imul(ah2, bl1)) | 0; - hi = (hi + Math.imul(ah2, bh1)) | 0; - lo = (lo + Math.imul(al1, bl2)) | 0; - mid = (mid + Math.imul(al1, bh2)) | 0; - mid = (mid + Math.imul(ah1, bl2)) | 0; - hi = (hi + Math.imul(ah1, bh2)) | 0; - lo = (lo + Math.imul(al0, bl3)) | 0; - mid = (mid + Math.imul(al0, bh3)) | 0; - mid = (mid + Math.imul(ah0, bl3)) | 0; - hi = (hi + Math.imul(ah0, bh3)) | 0; - var w3 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0; - c = (((hi + (mid >>> 13)) | 0) + (w3 >>> 26)) | 0; - w3 &= 0x3ffffff; - /* k = 4 */ - lo = Math.imul(al4, bl0); - mid = Math.imul(al4, bh0); - mid = (mid + Math.imul(ah4, bl0)) | 0; - hi = Math.imul(ah4, bh0); - lo = (lo + Math.imul(al3, bl1)) | 0; - mid = (mid + Math.imul(al3, bh1)) | 0; - mid = (mid + Math.imul(ah3, bl1)) | 0; - hi = (hi + Math.imul(ah3, bh1)) | 0; - lo = (lo + Math.imul(al2, bl2)) | 0; - mid = (mid + Math.imul(al2, bh2)) | 0; - mid = (mid + Math.imul(ah2, bl2)) | 0; - hi = (hi + Math.imul(ah2, bh2)) | 0; - lo = (lo + Math.imul(al1, bl3)) | 0; - mid = (mid + Math.imul(al1, bh3)) | 0; - mid = (mid + Math.imul(ah1, bl3)) | 0; - hi = (hi + Math.imul(ah1, bh3)) | 0; - lo = (lo + Math.imul(al0, bl4)) | 0; - mid = (mid + Math.imul(al0, bh4)) | 0; - mid = (mid + Math.imul(ah0, bl4)) | 0; - hi = (hi + Math.imul(ah0, bh4)) | 0; - var w4 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0; - c = (((hi + (mid >>> 13)) | 0) + (w4 >>> 26)) | 0; - w4 &= 0x3ffffff; - /* k = 5 */ - lo = Math.imul(al5, bl0); - mid = Math.imul(al5, bh0); - mid = (mid + Math.imul(ah5, bl0)) | 0; - hi = Math.imul(ah5, bh0); - lo = (lo + Math.imul(al4, bl1)) | 0; - mid = (mid + Math.imul(al4, bh1)) | 0; - mid = (mid + Math.imul(ah4, bl1)) | 0; - hi = (hi + Math.imul(ah4, bh1)) | 0; - lo = (lo + Math.imul(al3, bl2)) | 0; - mid = (mid + Math.imul(al3, bh2)) | 0; - mid = (mid + Math.imul(ah3, bl2)) | 0; - hi = (hi + Math.imul(ah3, bh2)) | 0; - lo = (lo + Math.imul(al2, bl3)) | 0; - mid = (mid + Math.imul(al2, bh3)) | 0; - mid = (mid + Math.imul(ah2, bl3)) | 0; - hi = (hi + Math.imul(ah2, bh3)) | 0; - lo = (lo + Math.imul(al1, bl4)) | 0; - mid = (mid + Math.imul(al1, bh4)) | 0; - mid = (mid + Math.imul(ah1, bl4)) | 0; - hi = (hi + Math.imul(ah1, bh4)) | 0; - lo = (lo + Math.imul(al0, bl5)) | 0; - mid = (mid + Math.imul(al0, bh5)) | 0; - mid = (mid + Math.imul(ah0, bl5)) | 0; - hi = (hi + Math.imul(ah0, bh5)) | 0; - var w5 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0; - c = (((hi + (mid >>> 13)) | 0) + (w5 >>> 26)) | 0; - w5 &= 0x3ffffff; - /* k = 6 */ - lo = Math.imul(al6, bl0); - mid = Math.imul(al6, bh0); - mid = (mid + Math.imul(ah6, bl0)) | 0; - hi = Math.imul(ah6, bh0); - lo = (lo + Math.imul(al5, bl1)) | 0; - mid = (mid + Math.imul(al5, bh1)) | 0; - mid = (mid + Math.imul(ah5, bl1)) | 0; - hi = (hi + Math.imul(ah5, bh1)) | 0; - lo = (lo + Math.imul(al4, bl2)) | 0; - mid = (mid + Math.imul(al4, bh2)) | 0; - mid = (mid + Math.imul(ah4, bl2)) | 0; - hi = (hi + Math.imul(ah4, bh2)) | 0; - lo = (lo + Math.imul(al3, bl3)) | 0; - mid = (mid + Math.imul(al3, bh3)) | 0; - mid = (mid + Math.imul(ah3, bl3)) | 0; - hi = (hi + Math.imul(ah3, bh3)) | 0; - lo = (lo + Math.imul(al2, bl4)) | 0; - mid = (mid + Math.imul(al2, bh4)) | 0; - mid = (mid + Math.imul(ah2, bl4)) | 0; - hi = (hi + Math.imul(ah2, bh4)) | 0; - lo = (lo + Math.imul(al1, bl5)) | 0; - mid = (mid + Math.imul(al1, bh5)) | 0; - mid = (mid + Math.imul(ah1, bl5)) | 0; - hi = (hi + Math.imul(ah1, bh5)) | 0; - lo = (lo + Math.imul(al0, bl6)) | 0; - mid = (mid + Math.imul(al0, bh6)) | 0; - mid = (mid + Math.imul(ah0, bl6)) | 0; - hi = (hi + Math.imul(ah0, bh6)) | 0; - var w6 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0; - c = (((hi + (mid >>> 13)) | 0) + (w6 >>> 26)) | 0; - w6 &= 0x3ffffff; - /* k = 7 */ - lo = Math.imul(al7, bl0); - mid = Math.imul(al7, bh0); - mid = (mid + Math.imul(ah7, bl0)) | 0; - hi = Math.imul(ah7, bh0); - lo = (lo + Math.imul(al6, bl1)) | 0; - mid = (mid + Math.imul(al6, bh1)) | 0; - mid = (mid + Math.imul(ah6, bl1)) | 0; - hi = (hi + Math.imul(ah6, bh1)) | 0; - lo = (lo + Math.imul(al5, bl2)) | 0; - mid = (mid + Math.imul(al5, bh2)) | 0; - mid = (mid + Math.imul(ah5, bl2)) | 0; - hi = (hi + Math.imul(ah5, bh2)) | 0; - lo = (lo + Math.imul(al4, bl3)) | 0; - mid = (mid + Math.imul(al4, bh3)) | 0; - mid = (mid + Math.imul(ah4, bl3)) | 0; - hi = (hi + Math.imul(ah4, bh3)) | 0; - lo = (lo + Math.imul(al3, bl4)) | 0; - mid = (mid + Math.imul(al3, bh4)) | 0; - mid = (mid + Math.imul(ah3, bl4)) | 0; - hi = (hi + Math.imul(ah3, bh4)) | 0; - lo = (lo + Math.imul(al2, bl5)) | 0; - mid = (mid + Math.imul(al2, bh5)) | 0; - mid = (mid + Math.imul(ah2, bl5)) | 0; - hi = (hi + Math.imul(ah2, bh5)) | 0; - lo = (lo + Math.imul(al1, bl6)) | 0; - mid = (mid + Math.imul(al1, bh6)) | 0; - mid = (mid + Math.imul(ah1, bl6)) | 0; - hi = (hi + Math.imul(ah1, bh6)) | 0; - lo = (lo + Math.imul(al0, bl7)) | 0; - mid = (mid + Math.imul(al0, bh7)) | 0; - mid = (mid + Math.imul(ah0, bl7)) | 0; - hi = (hi + Math.imul(ah0, bh7)) | 0; - var w7 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0; - c = (((hi + (mid >>> 13)) | 0) + (w7 >>> 26)) | 0; - w7 &= 0x3ffffff; - /* k = 8 */ - lo = Math.imul(al8, bl0); - mid = Math.imul(al8, bh0); - mid = (mid + Math.imul(ah8, bl0)) | 0; - hi = Math.imul(ah8, bh0); - lo = (lo + Math.imul(al7, bl1)) | 0; - mid = (mid + Math.imul(al7, bh1)) | 0; - mid = (mid + Math.imul(ah7, bl1)) | 0; - hi = (hi + Math.imul(ah7, bh1)) | 0; - lo = (lo + Math.imul(al6, bl2)) | 0; - mid = (mid + Math.imul(al6, bh2)) | 0; - mid = (mid + Math.imul(ah6, bl2)) | 0; - hi = (hi + Math.imul(ah6, bh2)) | 0; - lo = (lo + Math.imul(al5, bl3)) | 0; - mid = (mid + Math.imul(al5, bh3)) | 0; - mid = (mid + Math.imul(ah5, bl3)) | 0; - hi = (hi + Math.imul(ah5, bh3)) | 0; - lo = (lo + Math.imul(al4, bl4)) | 0; - mid = (mid + Math.imul(al4, bh4)) | 0; - mid = (mid + Math.imul(ah4, bl4)) | 0; - hi = (hi + Math.imul(ah4, bh4)) | 0; - lo = (lo + Math.imul(al3, bl5)) | 0; - mid = (mid + Math.imul(al3, bh5)) | 0; - mid = (mid + Math.imul(ah3, bl5)) | 0; - hi = (hi + Math.imul(ah3, bh5)) | 0; - lo = (lo + Math.imul(al2, bl6)) | 0; - mid = (mid + Math.imul(al2, bh6)) | 0; - mid = (mid + Math.imul(ah2, bl6)) | 0; - hi = (hi + Math.imul(ah2, bh6)) | 0; - lo = (lo + Math.imul(al1, bl7)) | 0; - mid = (mid + Math.imul(al1, bh7)) | 0; - mid = (mid + Math.imul(ah1, bl7)) | 0; - hi = (hi + Math.imul(ah1, bh7)) | 0; - lo = (lo + Math.imul(al0, bl8)) | 0; - mid = (mid + Math.imul(al0, bh8)) | 0; - mid = (mid + Math.imul(ah0, bl8)) | 0; - hi = (hi + Math.imul(ah0, bh8)) | 0; - var w8 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0; - c = (((hi + (mid >>> 13)) | 0) + (w8 >>> 26)) | 0; - w8 &= 0x3ffffff; - /* k = 9 */ - lo = Math.imul(al9, bl0); - mid = Math.imul(al9, bh0); - mid = (mid + Math.imul(ah9, bl0)) | 0; - hi = Math.imul(ah9, bh0); - lo = (lo + Math.imul(al8, bl1)) | 0; - mid = (mid + Math.imul(al8, bh1)) | 0; - mid = (mid + Math.imul(ah8, bl1)) | 0; - hi = (hi + Math.imul(ah8, bh1)) | 0; - lo = (lo + Math.imul(al7, bl2)) | 0; - mid = (mid + Math.imul(al7, bh2)) | 0; - mid = (mid + Math.imul(ah7, bl2)) | 0; - hi = (hi + Math.imul(ah7, bh2)) | 0; - lo = (lo + Math.imul(al6, bl3)) | 0; - mid = (mid + Math.imul(al6, bh3)) | 0; - mid = (mid + Math.imul(ah6, bl3)) | 0; - hi = (hi + Math.imul(ah6, bh3)) | 0; - lo = (lo + Math.imul(al5, bl4)) | 0; - mid = (mid + Math.imul(al5, bh4)) | 0; - mid = (mid + Math.imul(ah5, bl4)) | 0; - hi = (hi + Math.imul(ah5, bh4)) | 0; - lo = (lo + Math.imul(al4, bl5)) | 0; - mid = (mid + Math.imul(al4, bh5)) | 0; - mid = (mid + Math.imul(ah4, bl5)) | 0; - hi = (hi + Math.imul(ah4, bh5)) | 0; - lo = (lo + Math.imul(al3, bl6)) | 0; - mid = (mid + Math.imul(al3, bh6)) | 0; - mid = (mid + Math.imul(ah3, bl6)) | 0; - hi = (hi + Math.imul(ah3, bh6)) | 0; - lo = (lo + Math.imul(al2, bl7)) | 0; - mid = (mid + Math.imul(al2, bh7)) | 0; - mid = (mid + Math.imul(ah2, bl7)) | 0; - hi = (hi + Math.imul(ah2, bh7)) | 0; - lo = (lo + Math.imul(al1, bl8)) | 0; - mid = (mid + Math.imul(al1, bh8)) | 0; - mid = (mid + Math.imul(ah1, bl8)) | 0; - hi = (hi + Math.imul(ah1, bh8)) | 0; - lo = (lo + Math.imul(al0, bl9)) | 0; - mid = (mid + Math.imul(al0, bh9)) | 0; - mid = (mid + Math.imul(ah0, bl9)) | 0; - hi = (hi + Math.imul(ah0, bh9)) | 0; - var w9 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0; - c = (((hi + (mid >>> 13)) | 0) + (w9 >>> 26)) | 0; - w9 &= 0x3ffffff; - /* k = 10 */ - lo = Math.imul(al9, bl1); - mid = Math.imul(al9, bh1); - mid = (mid + Math.imul(ah9, bl1)) | 0; - hi = Math.imul(ah9, bh1); - lo = (lo + Math.imul(al8, bl2)) | 0; - mid = (mid + Math.imul(al8, bh2)) | 0; - mid = (mid + Math.imul(ah8, bl2)) | 0; - hi = (hi + Math.imul(ah8, bh2)) | 0; - lo = (lo + Math.imul(al7, bl3)) | 0; - mid = (mid + Math.imul(al7, bh3)) | 0; - mid = (mid + Math.imul(ah7, bl3)) | 0; - hi = (hi + Math.imul(ah7, bh3)) | 0; - lo = (lo + Math.imul(al6, bl4)) | 0; - mid = (mid + Math.imul(al6, bh4)) | 0; - mid = (mid + Math.imul(ah6, bl4)) | 0; - hi = (hi + Math.imul(ah6, bh4)) | 0; - lo = (lo + Math.imul(al5, bl5)) | 0; - mid = (mid + Math.imul(al5, bh5)) | 0; - mid = (mid + Math.imul(ah5, bl5)) | 0; - hi = (hi + Math.imul(ah5, bh5)) | 0; - lo = (lo + Math.imul(al4, bl6)) | 0; - mid = (mid + Math.imul(al4, bh6)) | 0; - mid = (mid + Math.imul(ah4, bl6)) | 0; - hi = (hi + Math.imul(ah4, bh6)) | 0; - lo = (lo + Math.imul(al3, bl7)) | 0; - mid = (mid + Math.imul(al3, bh7)) | 0; - mid = (mid + Math.imul(ah3, bl7)) | 0; - hi = (hi + Math.imul(ah3, bh7)) | 0; - lo = (lo + Math.imul(al2, bl8)) | 0; - mid = (mid + Math.imul(al2, bh8)) | 0; - mid = (mid + Math.imul(ah2, bl8)) | 0; - hi = (hi + Math.imul(ah2, bh8)) | 0; - lo = (lo + Math.imul(al1, bl9)) | 0; - mid = (mid + Math.imul(al1, bh9)) | 0; - mid = (mid + Math.imul(ah1, bl9)) | 0; - hi = (hi + Math.imul(ah1, bh9)) | 0; - var w10 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0; - c = (((hi + (mid >>> 13)) | 0) + (w10 >>> 26)) | 0; - w10 &= 0x3ffffff; - /* k = 11 */ - lo = Math.imul(al9, bl2); - mid = Math.imul(al9, bh2); - mid = (mid + Math.imul(ah9, bl2)) | 0; - hi = Math.imul(ah9, bh2); - lo = (lo + Math.imul(al8, bl3)) | 0; - mid = (mid + Math.imul(al8, bh3)) | 0; - mid = (mid + Math.imul(ah8, bl3)) | 0; - hi = (hi + Math.imul(ah8, bh3)) | 0; - lo = (lo + Math.imul(al7, bl4)) | 0; - mid = (mid + Math.imul(al7, bh4)) | 0; - mid = (mid + Math.imul(ah7, bl4)) | 0; - hi = (hi + Math.imul(ah7, bh4)) | 0; - lo = (lo + Math.imul(al6, bl5)) | 0; - mid = (mid + Math.imul(al6, bh5)) | 0; - mid = (mid + Math.imul(ah6, bl5)) | 0; - hi = (hi + Math.imul(ah6, bh5)) | 0; - lo = (lo + Math.imul(al5, bl6)) | 0; - mid = (mid + Math.imul(al5, bh6)) | 0; - mid = (mid + Math.imul(ah5, bl6)) | 0; - hi = (hi + Math.imul(ah5, bh6)) | 0; - lo = (lo + Math.imul(al4, bl7)) | 0; - mid = (mid + Math.imul(al4, bh7)) | 0; - mid = (mid + Math.imul(ah4, bl7)) | 0; - hi = (hi + Math.imul(ah4, bh7)) | 0; - lo = (lo + Math.imul(al3, bl8)) | 0; - mid = (mid + Math.imul(al3, bh8)) | 0; - mid = (mid + Math.imul(ah3, bl8)) | 0; - hi = (hi + Math.imul(ah3, bh8)) | 0; - lo = (lo + Math.imul(al2, bl9)) | 0; - mid = (mid + Math.imul(al2, bh9)) | 0; - mid = (mid + Math.imul(ah2, bl9)) | 0; - hi = (hi + Math.imul(ah2, bh9)) | 0; - var w11 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0; - c = (((hi + (mid >>> 13)) | 0) + (w11 >>> 26)) | 0; - w11 &= 0x3ffffff; - /* k = 12 */ - lo = Math.imul(al9, bl3); - mid = Math.imul(al9, bh3); - mid = (mid + Math.imul(ah9, bl3)) | 0; - hi = Math.imul(ah9, bh3); - lo = (lo + Math.imul(al8, bl4)) | 0; - mid = (mid + Math.imul(al8, bh4)) | 0; - mid = (mid + Math.imul(ah8, bl4)) | 0; - hi = (hi + Math.imul(ah8, bh4)) | 0; - lo = (lo + Math.imul(al7, bl5)) | 0; - mid = (mid + Math.imul(al7, bh5)) | 0; - mid = (mid + Math.imul(ah7, bl5)) | 0; - hi = (hi + Math.imul(ah7, bh5)) | 0; - lo = (lo + Math.imul(al6, bl6)) | 0; - mid = (mid + Math.imul(al6, bh6)) | 0; - mid = (mid + Math.imul(ah6, bl6)) | 0; - hi = (hi + Math.imul(ah6, bh6)) | 0; - lo = (lo + Math.imul(al5, bl7)) | 0; - mid = (mid + Math.imul(al5, bh7)) | 0; - mid = (mid + Math.imul(ah5, bl7)) | 0; - hi = (hi + Math.imul(ah5, bh7)) | 0; - lo = (lo + Math.imul(al4, bl8)) | 0; - mid = (mid + Math.imul(al4, bh8)) | 0; - mid = (mid + Math.imul(ah4, bl8)) | 0; - hi = (hi + Math.imul(ah4, bh8)) | 0; - lo = (lo + Math.imul(al3, bl9)) | 0; - mid = (mid + Math.imul(al3, bh9)) | 0; - mid = (mid + Math.imul(ah3, bl9)) | 0; - hi = (hi + Math.imul(ah3, bh9)) | 0; - var w12 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0; - c = (((hi + (mid >>> 13)) | 0) + (w12 >>> 26)) | 0; - w12 &= 0x3ffffff; - /* k = 13 */ - lo = Math.imul(al9, bl4); - mid = Math.imul(al9, bh4); - mid = (mid + Math.imul(ah9, bl4)) | 0; - hi = Math.imul(ah9, bh4); - lo = (lo + Math.imul(al8, bl5)) | 0; - mid = (mid + Math.imul(al8, bh5)) | 0; - mid = (mid + Math.imul(ah8, bl5)) | 0; - hi = (hi + Math.imul(ah8, bh5)) | 0; - lo = (lo + Math.imul(al7, bl6)) | 0; - mid = (mid + Math.imul(al7, bh6)) | 0; - mid = (mid + Math.imul(ah7, bl6)) | 0; - hi = (hi + Math.imul(ah7, bh6)) | 0; - lo = (lo + Math.imul(al6, bl7)) | 0; - mid = (mid + Math.imul(al6, bh7)) | 0; - mid = (mid + Math.imul(ah6, bl7)) | 0; - hi = (hi + Math.imul(ah6, bh7)) | 0; - lo = (lo + Math.imul(al5, bl8)) | 0; - mid = (mid + Math.imul(al5, bh8)) | 0; - mid = (mid + Math.imul(ah5, bl8)) | 0; - hi = (hi + Math.imul(ah5, bh8)) | 0; - lo = (lo + Math.imul(al4, bl9)) | 0; - mid = (mid + Math.imul(al4, bh9)) | 0; - mid = (mid + Math.imul(ah4, bl9)) | 0; - hi = (hi + Math.imul(ah4, bh9)) | 0; - var w13 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0; - c = (((hi + (mid >>> 13)) | 0) + (w13 >>> 26)) | 0; - w13 &= 0x3ffffff; - /* k = 14 */ - lo = Math.imul(al9, bl5); - mid = Math.imul(al9, bh5); - mid = (mid + Math.imul(ah9, bl5)) | 0; - hi = Math.imul(ah9, bh5); - lo = (lo + Math.imul(al8, bl6)) | 0; - mid = (mid + Math.imul(al8, bh6)) | 0; - mid = (mid + Math.imul(ah8, bl6)) | 0; - hi = (hi + Math.imul(ah8, bh6)) | 0; - lo = (lo + Math.imul(al7, bl7)) | 0; - mid = (mid + Math.imul(al7, bh7)) | 0; - mid = (mid + Math.imul(ah7, bl7)) | 0; - hi = (hi + Math.imul(ah7, bh7)) | 0; - lo = (lo + Math.imul(al6, bl8)) | 0; - mid = (mid + Math.imul(al6, bh8)) | 0; - mid = (mid + Math.imul(ah6, bl8)) | 0; - hi = (hi + Math.imul(ah6, bh8)) | 0; - lo = (lo + Math.imul(al5, bl9)) | 0; - mid = (mid + Math.imul(al5, bh9)) | 0; - mid = (mid + Math.imul(ah5, bl9)) | 0; - hi = (hi + Math.imul(ah5, bh9)) | 0; - var w14 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0; - c = (((hi + (mid >>> 13)) | 0) + (w14 >>> 26)) | 0; - w14 &= 0x3ffffff; - /* k = 15 */ - lo = Math.imul(al9, bl6); - mid = Math.imul(al9, bh6); - mid = (mid + Math.imul(ah9, bl6)) | 0; - hi = Math.imul(ah9, bh6); - lo = (lo + Math.imul(al8, bl7)) | 0; - mid = (mid + Math.imul(al8, bh7)) | 0; - mid = (mid + Math.imul(ah8, bl7)) | 0; - hi = (hi + Math.imul(ah8, bh7)) | 0; - lo = (lo + Math.imul(al7, bl8)) | 0; - mid = (mid + Math.imul(al7, bh8)) | 0; - mid = (mid + Math.imul(ah7, bl8)) | 0; - hi = (hi + Math.imul(ah7, bh8)) | 0; - lo = (lo + Math.imul(al6, bl9)) | 0; - mid = (mid + Math.imul(al6, bh9)) | 0; - mid = (mid + Math.imul(ah6, bl9)) | 0; - hi = (hi + Math.imul(ah6, bh9)) | 0; - var w15 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0; - c = (((hi + (mid >>> 13)) | 0) + (w15 >>> 26)) | 0; - w15 &= 0x3ffffff; - /* k = 16 */ - lo = Math.imul(al9, bl7); - mid = Math.imul(al9, bh7); - mid = (mid + Math.imul(ah9, bl7)) | 0; - hi = Math.imul(ah9, bh7); - lo = (lo + Math.imul(al8, bl8)) | 0; - mid = (mid + Math.imul(al8, bh8)) | 0; - mid = (mid + Math.imul(ah8, bl8)) | 0; - hi = (hi + Math.imul(ah8, bh8)) | 0; - lo = (lo + Math.imul(al7, bl9)) | 0; - mid = (mid + Math.imul(al7, bh9)) | 0; - mid = (mid + Math.imul(ah7, bl9)) | 0; - hi = (hi + Math.imul(ah7, bh9)) | 0; - var w16 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0; - c = (((hi + (mid >>> 13)) | 0) + (w16 >>> 26)) | 0; - w16 &= 0x3ffffff; - /* k = 17 */ - lo = Math.imul(al9, bl8); - mid = Math.imul(al9, bh8); - mid = (mid + Math.imul(ah9, bl8)) | 0; - hi = Math.imul(ah9, bh8); - lo = (lo + Math.imul(al8, bl9)) | 0; - mid = (mid + Math.imul(al8, bh9)) | 0; - mid = (mid + Math.imul(ah8, bl9)) | 0; - hi = (hi + Math.imul(ah8, bh9)) | 0; - var w17 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0; - c = (((hi + (mid >>> 13)) | 0) + (w17 >>> 26)) | 0; - w17 &= 0x3ffffff; - /* k = 18 */ - lo = Math.imul(al9, bl9); - mid = Math.imul(al9, bh9); - mid = (mid + Math.imul(ah9, bl9)) | 0; - hi = Math.imul(ah9, bh9); - var w18 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0; - c = (((hi + (mid >>> 13)) | 0) + (w18 >>> 26)) | 0; - w18 &= 0x3ffffff; - o[0] = w0; - o[1] = w1; - o[2] = w2; - o[3] = w3; - o[4] = w4; - o[5] = w5; - o[6] = w6; - o[7] = w7; - o[8] = w8; - o[9] = w9; - o[10] = w10; - o[11] = w11; - o[12] = w12; - o[13] = w13; - o[14] = w14; - o[15] = w15; - o[16] = w16; - o[17] = w17; - o[18] = w18; - if (c !== 0) { - o[19] = c; - out.length++; - } - return out; - }; - - // Polyfill comb - if (!Math.imul) { - comb10MulTo = smallMulTo; - } - - function bigMulTo (self, num, out) { - out.negative = num.negative ^ self.negative; - out.length = self.length + num.length; - - var carry = 0; - var hncarry = 0; - for (var k = 0; k < out.length - 1; k++) { - // Sum all words with the same `i + j = k` and accumulate `ncarry`, - // note that ncarry could be >= 0x3ffffff - var ncarry = hncarry; - hncarry = 0; - var rword = carry & 0x3ffffff; - var maxJ = Math.min(k, num.length - 1); - for (var j = Math.max(0, k - self.length + 1); j <= maxJ; j++) { - var i = k - j; - var a = self.words[i] | 0; - var b = num.words[j] | 0; - var r = a * b; - - var lo = r & 0x3ffffff; - ncarry = (ncarry + ((r / 0x4000000) | 0)) | 0; - lo = (lo + rword) | 0; - rword = lo & 0x3ffffff; - ncarry = (ncarry + (lo >>> 26)) | 0; - - hncarry += ncarry >>> 26; - ncarry &= 0x3ffffff; - } - out.words[k] = rword; - carry = ncarry; - ncarry = hncarry; - } - if (carry !== 0) { - out.words[k] = carry; - } else { - out.length--; - } - - return out._strip(); - } - - function jumboMulTo (self, num, out) { - // Temporary disable, see https://github.com/indutny/bn.js/issues/211 - // var fftm = new FFTM(); - // return fftm.mulp(self, num, out); - return bigMulTo(self, num, out); - } - - BN.prototype.mulTo = function mulTo (num, out) { - var res; - var len = this.length + num.length; - if (this.length === 10 && num.length === 10) { - res = comb10MulTo(this, num, out); - } else if (len < 63) { - res = smallMulTo(this, num, out); - } else if (len < 1024) { - res = bigMulTo(this, num, out); - } else { - res = jumboMulTo(this, num, out); - } - - return res; - }; - - // Cooley-Tukey algorithm for FFT - // slightly revisited to rely on looping instead of recursion - - function FFTM (x, y) { - this.x = x; - this.y = y; - } - - FFTM.prototype.makeRBT = function makeRBT (N) { - var t = new Array(N); - var l = BN.prototype._countBits(N) - 1; - for (var i = 0; i < N; i++) { - t[i] = this.revBin(i, l, N); - } - - return t; - }; - - // Returns binary-reversed representation of `x` - FFTM.prototype.revBin = function revBin (x, l, N) { - if (x === 0 || x === N - 1) return x; - - var rb = 0; - for (var i = 0; i < l; i++) { - rb |= (x & 1) << (l - i - 1); - x >>= 1; - } - - return rb; - }; - - // Performs "tweedling" phase, therefore 'emulating' - // behaviour of the recursive algorithm - FFTM.prototype.permute = function permute (rbt, rws, iws, rtws, itws, N) { - for (var i = 0; i < N; i++) { - rtws[i] = rws[rbt[i]]; - itws[i] = iws[rbt[i]]; - } - }; - - FFTM.prototype.transform = function transform (rws, iws, rtws, itws, N, rbt) { - this.permute(rbt, rws, iws, rtws, itws, N); - - for (var s = 1; s < N; s <<= 1) { - var l = s << 1; - - var rtwdf = Math.cos(2 * Math.PI / l); - var itwdf = Math.sin(2 * Math.PI / l); - - for (var p = 0; p < N; p += l) { - var rtwdf_ = rtwdf; - var itwdf_ = itwdf; - - for (var j = 0; j < s; j++) { - var re = rtws[p + j]; - var ie = itws[p + j]; - - var ro = rtws[p + j + s]; - var io = itws[p + j + s]; - - var rx = rtwdf_ * ro - itwdf_ * io; - - io = rtwdf_ * io + itwdf_ * ro; - ro = rx; - - rtws[p + j] = re + ro; - itws[p + j] = ie + io; - - rtws[p + j + s] = re - ro; - itws[p + j + s] = ie - io; - - /* jshint maxdepth : false */ - if (j !== l) { - rx = rtwdf * rtwdf_ - itwdf * itwdf_; - - itwdf_ = rtwdf * itwdf_ + itwdf * rtwdf_; - rtwdf_ = rx; - } - } - } - } - }; - - FFTM.prototype.guessLen13b = function guessLen13b (n, m) { - var N = Math.max(m, n) | 1; - var odd = N & 1; - var i = 0; - for (N = N / 2 | 0; N; N = N >>> 1) { - i++; - } - - return 1 << i + 1 + odd; - }; - - FFTM.prototype.conjugate = function conjugate (rws, iws, N) { - if (N <= 1) return; - - for (var i = 0; i < N / 2; i++) { - var t = rws[i]; - - rws[i] = rws[N - i - 1]; - rws[N - i - 1] = t; - - t = iws[i]; - - iws[i] = -iws[N - i - 1]; - iws[N - i - 1] = -t; - } - }; - - FFTM.prototype.normalize13b = function normalize13b (ws, N) { - var carry = 0; - for (var i = 0; i < N / 2; i++) { - var w = Math.round(ws[2 * i + 1] / N) * 0x2000 + - Math.round(ws[2 * i] / N) + - carry; - - ws[i] = w & 0x3ffffff; - - if (w < 0x4000000) { - carry = 0; - } else { - carry = w / 0x4000000 | 0; - } - } - - return ws; - }; - - FFTM.prototype.convert13b = function convert13b (ws, len, rws, N) { - var carry = 0; - for (var i = 0; i < len; i++) { - carry = carry + (ws[i] | 0); - - rws[2 * i] = carry & 0x1fff; carry = carry >>> 13; - rws[2 * i + 1] = carry & 0x1fff; carry = carry >>> 13; - } - - // Pad with zeroes - for (i = 2 * len; i < N; ++i) { - rws[i] = 0; - } - - assert(carry === 0); - assert((carry & ~0x1fff) === 0); - }; - - FFTM.prototype.stub = function stub (N) { - var ph = new Array(N); - for (var i = 0; i < N; i++) { - ph[i] = 0; - } - - return ph; - }; - - FFTM.prototype.mulp = function mulp (x, y, out) { - var N = 2 * this.guessLen13b(x.length, y.length); - - var rbt = this.makeRBT(N); - - var _ = this.stub(N); - - var rws = new Array(N); - var rwst = new Array(N); - var iwst = new Array(N); - - var nrws = new Array(N); - var nrwst = new Array(N); - var niwst = new Array(N); - - var rmws = out.words; - rmws.length = N; - - this.convert13b(x.words, x.length, rws, N); - this.convert13b(y.words, y.length, nrws, N); - - this.transform(rws, _, rwst, iwst, N, rbt); - this.transform(nrws, _, nrwst, niwst, N, rbt); - - for (var i = 0; i < N; i++) { - var rx = rwst[i] * nrwst[i] - iwst[i] * niwst[i]; - iwst[i] = rwst[i] * niwst[i] + iwst[i] * nrwst[i]; - rwst[i] = rx; - } - - this.conjugate(rwst, iwst, N); - this.transform(rwst, iwst, rmws, _, N, rbt); - this.conjugate(rmws, _, N); - this.normalize13b(rmws, N); - - out.negative = x.negative ^ y.negative; - out.length = x.length + y.length; - return out._strip(); - }; - - // Multiply `this` by `num` - BN.prototype.mul = function mul (num) { - var out = new BN(null); - out.words = new Array(this.length + num.length); - return this.mulTo(num, out); - }; - - // Multiply employing FFT - BN.prototype.mulf = function mulf (num) { - var out = new BN(null); - out.words = new Array(this.length + num.length); - return jumboMulTo(this, num, out); - }; - - // In-place Multiplication - BN.prototype.imul = function imul (num) { - return this.clone().mulTo(num, this); - }; - - BN.prototype.imuln = function imuln (num) { - var isNegNum = num < 0; - if (isNegNum) num = -num; - - assert(typeof num === 'number'); - assert(num < 0x4000000); - - // Carry - var carry = 0; - for (var i = 0; i < this.length; i++) { - var w = (this.words[i] | 0) * num; - var lo = (w & 0x3ffffff) + (carry & 0x3ffffff); - carry >>= 26; - carry += (w / 0x4000000) | 0; - // NOTE: lo is 27bit maximum - carry += lo >>> 26; - this.words[i] = lo & 0x3ffffff; - } - - if (carry !== 0) { - this.words[i] = carry; - this.length++; - } - - return isNegNum ? this.ineg() : this; - }; - - BN.prototype.muln = function muln (num) { - return this.clone().imuln(num); - }; - - // `this` * `this` - BN.prototype.sqr = function sqr () { - return this.mul(this); - }; - - // `this` * `this` in-place - BN.prototype.isqr = function isqr () { - return this.imul(this.clone()); - }; - - // Math.pow(`this`, `num`) - BN.prototype.pow = function pow (num) { - var w = toBitArray(num); - if (w.length === 0) return new BN(1); - - // Skip leading zeroes - var res = this; - for (var i = 0; i < w.length; i++, res = res.sqr()) { - if (w[i] !== 0) break; - } - - if (++i < w.length) { - for (var q = res.sqr(); i < w.length; i++, q = q.sqr()) { - if (w[i] === 0) continue; - - res = res.mul(q); - } - } - - return res; - }; - - // Shift-left in-place - BN.prototype.iushln = function iushln (bits) { - assert(typeof bits === 'number' && bits >= 0); - var r = bits % 26; - var s = (bits - r) / 26; - var carryMask = (0x3ffffff >>> (26 - r)) << (26 - r); - var i; - - if (r !== 0) { - var carry = 0; - - for (i = 0; i < this.length; i++) { - var newCarry = this.words[i] & carryMask; - var c = ((this.words[i] | 0) - newCarry) << r; - this.words[i] = c | carry; - carry = newCarry >>> (26 - r); - } - - if (carry) { - this.words[i] = carry; - this.length++; - } - } - - if (s !== 0) { - for (i = this.length - 1; i >= 0; i--) { - this.words[i + s] = this.words[i]; - } - - for (i = 0; i < s; i++) { - this.words[i] = 0; - } - - this.length += s; - } - - return this._strip(); - }; - - BN.prototype.ishln = function ishln (bits) { - // TODO(indutny): implement me - assert(this.negative === 0); - return this.iushln(bits); - }; - - // Shift-right in-place - // NOTE: `hint` is a lowest bit before trailing zeroes - // NOTE: if `extended` is present - it will be filled with destroyed bits - BN.prototype.iushrn = function iushrn (bits, hint, extended) { - assert(typeof bits === 'number' && bits >= 0); - var h; - if (hint) { - h = (hint - (hint % 26)) / 26; - } else { - h = 0; - } - - var r = bits % 26; - var s = Math.min((bits - r) / 26, this.length); - var mask = 0x3ffffff ^ ((0x3ffffff >>> r) << r); - var maskedWords = extended; - - h -= s; - h = Math.max(0, h); - - // Extended mode, copy masked part - if (maskedWords) { - for (var i = 0; i < s; i++) { - maskedWords.words[i] = this.words[i]; - } - maskedWords.length = s; - } - - if (s === 0) { - // No-op, we should not move anything at all - } else if (this.length > s) { - this.length -= s; - for (i = 0; i < this.length; i++) { - this.words[i] = this.words[i + s]; - } - } else { - this.words[0] = 0; - this.length = 1; - } - - var carry = 0; - for (i = this.length - 1; i >= 0 && (carry !== 0 || i >= h); i--) { - var word = this.words[i] | 0; - this.words[i] = (carry << (26 - r)) | (word >>> r); - carry = word & mask; - } - - // Push carried bits as a mask - if (maskedWords && carry !== 0) { - maskedWords.words[maskedWords.length++] = carry; - } - - if (this.length === 0) { - this.words[0] = 0; - this.length = 1; - } - - return this._strip(); - }; - - BN.prototype.ishrn = function ishrn (bits, hint, extended) { - // TODO(indutny): implement me - assert(this.negative === 0); - return this.iushrn(bits, hint, extended); - }; - - // Shift-left - BN.prototype.shln = function shln (bits) { - return this.clone().ishln(bits); - }; - - BN.prototype.ushln = function ushln (bits) { - return this.clone().iushln(bits); - }; - - // Shift-right - BN.prototype.shrn = function shrn (bits) { - return this.clone().ishrn(bits); - }; - - BN.prototype.ushrn = function ushrn (bits) { - return this.clone().iushrn(bits); - }; - - // Test if n bit is set - BN.prototype.testn = function testn (bit) { - assert(typeof bit === 'number' && bit >= 0); - var r = bit % 26; - var s = (bit - r) / 26; - var q = 1 << r; - - // Fast case: bit is much higher than all existing words - if (this.length <= s) return false; - - // Check bit and return - var w = this.words[s]; - - return !!(w & q); - }; - - // Return only lowers bits of number (in-place) - BN.prototype.imaskn = function imaskn (bits) { - assert(typeof bits === 'number' && bits >= 0); - var r = bits % 26; - var s = (bits - r) / 26; - - assert(this.negative === 0, 'imaskn works only with positive numbers'); - - if (this.length <= s) { - return this; - } - - if (r !== 0) { - s++; - } - this.length = Math.min(s, this.length); - - if (r !== 0) { - var mask = 0x3ffffff ^ ((0x3ffffff >>> r) << r); - this.words[this.length - 1] &= mask; - } - - return this._strip(); - }; - - // Return only lowers bits of number - BN.prototype.maskn = function maskn (bits) { - return this.clone().imaskn(bits); - }; - - // Add plain number `num` to `this` - BN.prototype.iaddn = function iaddn (num) { - assert(typeof num === 'number'); - assert(num < 0x4000000); - if (num < 0) return this.isubn(-num); - - // Possible sign change - if (this.negative !== 0) { - if (this.length === 1 && (this.words[0] | 0) <= num) { - this.words[0] = num - (this.words[0] | 0); - this.negative = 0; - return this; - } - - this.negative = 0; - this.isubn(num); - this.negative = 1; - return this; - } - - // Add without checks - return this._iaddn(num); - }; - - BN.prototype._iaddn = function _iaddn (num) { - this.words[0] += num; - - // Carry - for (var i = 0; i < this.length && this.words[i] >= 0x4000000; i++) { - this.words[i] -= 0x4000000; - if (i === this.length - 1) { - this.words[i + 1] = 1; - } else { - this.words[i + 1]++; - } - } - this.length = Math.max(this.length, i + 1); - - return this; - }; - - // Subtract plain number `num` from `this` - BN.prototype.isubn = function isubn (num) { - assert(typeof num === 'number'); - assert(num < 0x4000000); - if (num < 0) return this.iaddn(-num); - - if (this.negative !== 0) { - this.negative = 0; - this.iaddn(num); - this.negative = 1; - return this; - } - - this.words[0] -= num; - - if (this.length === 1 && this.words[0] < 0) { - this.words[0] = -this.words[0]; - this.negative = 1; - } else { - // Carry - for (var i = 0; i < this.length && this.words[i] < 0; i++) { - this.words[i] += 0x4000000; - this.words[i + 1] -= 1; - } - } - - return this._strip(); - }; - - BN.prototype.addn = function addn (num) { - return this.clone().iaddn(num); - }; - - BN.prototype.subn = function subn (num) { - return this.clone().isubn(num); - }; - - BN.prototype.iabs = function iabs () { - this.negative = 0; - - return this; - }; - - BN.prototype.abs = function abs () { - return this.clone().iabs(); - }; - - BN.prototype._ishlnsubmul = function _ishlnsubmul (num, mul, shift) { - var len = num.length + shift; - var i; - - this._expand(len); - - var w; - var carry = 0; - for (i = 0; i < num.length; i++) { - w = (this.words[i + shift] | 0) + carry; - var right = (num.words[i] | 0) * mul; - w -= right & 0x3ffffff; - carry = (w >> 26) - ((right / 0x4000000) | 0); - this.words[i + shift] = w & 0x3ffffff; - } - for (; i < this.length - shift; i++) { - w = (this.words[i + shift] | 0) + carry; - carry = w >> 26; - this.words[i + shift] = w & 0x3ffffff; - } - - if (carry === 0) return this._strip(); - - // Subtraction overflow - assert(carry === -1); - carry = 0; - for (i = 0; i < this.length; i++) { - w = -(this.words[i] | 0) + carry; - carry = w >> 26; - this.words[i] = w & 0x3ffffff; - } - this.negative = 1; - - return this._strip(); - }; - - BN.prototype._wordDiv = function _wordDiv (num, mode) { - var shift = this.length - num.length; - - var a = this.clone(); - var b = num; - - // Normalize - var bhi = b.words[b.length - 1] | 0; - var bhiBits = this._countBits(bhi); - shift = 26 - bhiBits; - if (shift !== 0) { - b = b.ushln(shift); - a.iushln(shift); - bhi = b.words[b.length - 1] | 0; - } - - // Initialize quotient - var m = a.length - b.length; - var q; - - if (mode !== 'mod') { - q = new BN(null); - q.length = m + 1; - q.words = new Array(q.length); - for (var i = 0; i < q.length; i++) { - q.words[i] = 0; - } - } - - var diff = a.clone()._ishlnsubmul(b, 1, m); - if (diff.negative === 0) { - a = diff; - if (q) { - q.words[m] = 1; - } - } - - for (var j = m - 1; j >= 0; j--) { - var qj = (a.words[b.length + j] | 0) * 0x4000000 + - (a.words[b.length + j - 1] | 0); - - // NOTE: (qj / bhi) is (0x3ffffff * 0x4000000 + 0x3ffffff) / 0x2000000 max - // (0x7ffffff) - qj = Math.min((qj / bhi) | 0, 0x3ffffff); - - a._ishlnsubmul(b, qj, j); - while (a.negative !== 0) { - qj--; - a.negative = 0; - a._ishlnsubmul(b, 1, j); - if (!a.isZero()) { - a.negative ^= 1; - } - } - if (q) { - q.words[j] = qj; - } - } - if (q) { - q._strip(); - } - a._strip(); - - // Denormalize - if (mode !== 'div' && shift !== 0) { - a.iushrn(shift); - } - - return { - div: q || null, - mod: a - }; - }; - - // NOTE: 1) `mode` can be set to `mod` to request mod only, - // to `div` to request div only, or be absent to - // request both div & mod - // 2) `positive` is true if unsigned mod is requested - BN.prototype.divmod = function divmod (num, mode, positive) { - assert(!num.isZero()); - - if (this.isZero()) { - return { - div: new BN(0), - mod: new BN(0) - }; - } - - var div, mod, res; - if (this.negative !== 0 && num.negative === 0) { - res = this.neg().divmod(num, mode); - - if (mode !== 'mod') { - div = res.div.neg(); - } - - if (mode !== 'div') { - mod = res.mod.neg(); - if (positive && mod.negative !== 0) { - mod.iadd(num); - } - } - - return { - div: div, - mod: mod - }; - } - - if (this.negative === 0 && num.negative !== 0) { - res = this.divmod(num.neg(), mode); - - if (mode !== 'mod') { - div = res.div.neg(); - } - - return { - div: div, - mod: res.mod - }; - } - - if ((this.negative & num.negative) !== 0) { - res = this.neg().divmod(num.neg(), mode); - - if (mode !== 'div') { - mod = res.mod.neg(); - if (positive && mod.negative !== 0) { - mod.isub(num); - } - } - - return { - div: res.div, - mod: mod - }; - } - - // Both numbers are positive at this point - - // Strip both numbers to approximate shift value - if (num.length > this.length || this.cmp(num) < 0) { - return { - div: new BN(0), - mod: this - }; - } - - // Very short reduction - if (num.length === 1) { - if (mode === 'div') { - return { - div: this.divn(num.words[0]), - mod: null - }; - } - - if (mode === 'mod') { - return { - div: null, - mod: new BN(this.modrn(num.words[0])) - }; - } - - return { - div: this.divn(num.words[0]), - mod: new BN(this.modrn(num.words[0])) - }; - } - - return this._wordDiv(num, mode); - }; - - // Find `this` / `num` - BN.prototype.div = function div (num) { - return this.divmod(num, 'div', false).div; - }; - - // Find `this` % `num` - BN.prototype.mod = function mod (num) { - return this.divmod(num, 'mod', false).mod; - }; - - BN.prototype.umod = function umod (num) { - return this.divmod(num, 'mod', true).mod; - }; - - // Find Round(`this` / `num`) - BN.prototype.divRound = function divRound (num) { - var dm = this.divmod(num); - - // Fast case - exact division - if (dm.mod.isZero()) return dm.div; - - var mod = dm.div.negative !== 0 ? dm.mod.isub(num) : dm.mod; - - var half = num.ushrn(1); - var r2 = num.andln(1); - var cmp = mod.cmp(half); - - // Round down - if (cmp < 0 || (r2 === 1 && cmp === 0)) return dm.div; - - // Round up - return dm.div.negative !== 0 ? dm.div.isubn(1) : dm.div.iaddn(1); - }; - - BN.prototype.modrn = function modrn (num) { - var isNegNum = num < 0; - if (isNegNum) num = -num; - - assert(num <= 0x3ffffff); - var p = (1 << 26) % num; - - var acc = 0; - for (var i = this.length - 1; i >= 0; i--) { - acc = (p * acc + (this.words[i] | 0)) % num; - } - - return isNegNum ? -acc : acc; - }; - - // WARNING: DEPRECATED - BN.prototype.modn = function modn (num) { - return this.modrn(num); - }; - - // In-place division by number - BN.prototype.idivn = function idivn (num) { - var isNegNum = num < 0; - if (isNegNum) num = -num; - - assert(num <= 0x3ffffff); - - var carry = 0; - for (var i = this.length - 1; i >= 0; i--) { - var w = (this.words[i] | 0) + carry * 0x4000000; - this.words[i] = (w / num) | 0; - carry = w % num; - } - - this._strip(); - return isNegNum ? this.ineg() : this; - }; - - BN.prototype.divn = function divn (num) { - return this.clone().idivn(num); - }; - - BN.prototype.egcd = function egcd (p) { - assert(p.negative === 0); - assert(!p.isZero()); - - var x = this; - var y = p.clone(); - - if (x.negative !== 0) { - x = x.umod(p); - } else { - x = x.clone(); - } - - // A * x + B * y = x - var A = new BN(1); - var B = new BN(0); - - // C * x + D * y = y - var C = new BN(0); - var D = new BN(1); - - var g = 0; - - while (x.isEven() && y.isEven()) { - x.iushrn(1); - y.iushrn(1); - ++g; - } - - var yp = y.clone(); - var xp = x.clone(); - - while (!x.isZero()) { - for (var i = 0, im = 1; (x.words[0] & im) === 0 && i < 26; ++i, im <<= 1); - if (i > 0) { - x.iushrn(i); - while (i-- > 0) { - if (A.isOdd() || B.isOdd()) { - A.iadd(yp); - B.isub(xp); - } - - A.iushrn(1); - B.iushrn(1); - } - } - - for (var j = 0, jm = 1; (y.words[0] & jm) === 0 && j < 26; ++j, jm <<= 1); - if (j > 0) { - y.iushrn(j); - while (j-- > 0) { - if (C.isOdd() || D.isOdd()) { - C.iadd(yp); - D.isub(xp); - } - - C.iushrn(1); - D.iushrn(1); - } - } - - if (x.cmp(y) >= 0) { - x.isub(y); - A.isub(C); - B.isub(D); - } else { - y.isub(x); - C.isub(A); - D.isub(B); - } - } - - return { - a: C, - b: D, - gcd: y.iushln(g) - }; - }; - - // This is reduced incarnation of the binary EEA - // above, designated to invert members of the - // _prime_ fields F(p) at a maximal speed - BN.prototype._invmp = function _invmp (p) { - assert(p.negative === 0); - assert(!p.isZero()); - - var a = this; - var b = p.clone(); - - if (a.negative !== 0) { - a = a.umod(p); - } else { - a = a.clone(); - } - - var x1 = new BN(1); - var x2 = new BN(0); - - var delta = b.clone(); - - while (a.cmpn(1) > 0 && b.cmpn(1) > 0) { - for (var i = 0, im = 1; (a.words[0] & im) === 0 && i < 26; ++i, im <<= 1); - if (i > 0) { - a.iushrn(i); - while (i-- > 0) { - if (x1.isOdd()) { - x1.iadd(delta); - } - - x1.iushrn(1); - } - } - - for (var j = 0, jm = 1; (b.words[0] & jm) === 0 && j < 26; ++j, jm <<= 1); - if (j > 0) { - b.iushrn(j); - while (j-- > 0) { - if (x2.isOdd()) { - x2.iadd(delta); - } - - x2.iushrn(1); - } - } - - if (a.cmp(b) >= 0) { - a.isub(b); - x1.isub(x2); - } else { - b.isub(a); - x2.isub(x1); - } - } - - var res; - if (a.cmpn(1) === 0) { - res = x1; - } else { - res = x2; - } - - if (res.cmpn(0) < 0) { - res.iadd(p); - } - - return res; - }; - - BN.prototype.gcd = function gcd (num) { - if (this.isZero()) return num.abs(); - if (num.isZero()) return this.abs(); - - var a = this.clone(); - var b = num.clone(); - a.negative = 0; - b.negative = 0; - - // Remove common factor of two - for (var shift = 0; a.isEven() && b.isEven(); shift++) { - a.iushrn(1); - b.iushrn(1); - } - - do { - while (a.isEven()) { - a.iushrn(1); - } - while (b.isEven()) { - b.iushrn(1); - } - - var r = a.cmp(b); - if (r < 0) { - // Swap `a` and `b` to make `a` always bigger than `b` - var t = a; - a = b; - b = t; - } else if (r === 0 || b.cmpn(1) === 0) { - break; - } - - a.isub(b); - } while (true); - - return b.iushln(shift); - }; - - // Invert number in the field F(num) - BN.prototype.invm = function invm (num) { - return this.egcd(num).a.umod(num); - }; - - BN.prototype.isEven = function isEven () { - return (this.words[0] & 1) === 0; - }; - - BN.prototype.isOdd = function isOdd () { - return (this.words[0] & 1) === 1; - }; - - // And first word and num - BN.prototype.andln = function andln (num) { - return this.words[0] & num; - }; - - // Increment at the bit position in-line - BN.prototype.bincn = function bincn (bit) { - assert(typeof bit === 'number'); - var r = bit % 26; - var s = (bit - r) / 26; - var q = 1 << r; - - // Fast case: bit is much higher than all existing words - if (this.length <= s) { - this._expand(s + 1); - this.words[s] |= q; - return this; - } - - // Add bit and propagate, if needed - var carry = q; - for (var i = s; carry !== 0 && i < this.length; i++) { - var w = this.words[i] | 0; - w += carry; - carry = w >>> 26; - w &= 0x3ffffff; - this.words[i] = w; - } - if (carry !== 0) { - this.words[i] = carry; - this.length++; - } - return this; - }; - - BN.prototype.isZero = function isZero () { - return this.length === 1 && this.words[0] === 0; - }; - - BN.prototype.cmpn = function cmpn (num) { - var negative = num < 0; - - if (this.negative !== 0 && !negative) return -1; - if (this.negative === 0 && negative) return 1; - - this._strip(); - - var res; - if (this.length > 1) { - res = 1; - } else { - if (negative) { - num = -num; - } - - assert(num <= 0x3ffffff, 'Number is too big'); - - var w = this.words[0] | 0; - res = w === num ? 0 : w < num ? -1 : 1; - } - if (this.negative !== 0) return -res | 0; - return res; - }; - - // Compare two numbers and return: - // 1 - if `this` > `num` - // 0 - if `this` == `num` - // -1 - if `this` < `num` - BN.prototype.cmp = function cmp (num) { - if (this.negative !== 0 && num.negative === 0) return -1; - if (this.negative === 0 && num.negative !== 0) return 1; - - var res = this.ucmp(num); - if (this.negative !== 0) return -res | 0; - return res; - }; - - // Unsigned comparison - BN.prototype.ucmp = function ucmp (num) { - // At this point both numbers have the same sign - if (this.length > num.length) return 1; - if (this.length < num.length) return -1; - - var res = 0; - for (var i = this.length - 1; i >= 0; i--) { - var a = this.words[i] | 0; - var b = num.words[i] | 0; - - if (a === b) continue; - if (a < b) { - res = -1; - } else if (a > b) { - res = 1; - } - break; - } - return res; - }; - - BN.prototype.gtn = function gtn (num) { - return this.cmpn(num) === 1; - }; - - BN.prototype.gt = function gt (num) { - return this.cmp(num) === 1; - }; - - BN.prototype.gten = function gten (num) { - return this.cmpn(num) >= 0; - }; - - BN.prototype.gte = function gte (num) { - return this.cmp(num) >= 0; - }; - - BN.prototype.ltn = function ltn (num) { - return this.cmpn(num) === -1; - }; - - BN.prototype.lt = function lt (num) { - return this.cmp(num) === -1; - }; - - BN.prototype.lten = function lten (num) { - return this.cmpn(num) <= 0; - }; - - BN.prototype.lte = function lte (num) { - return this.cmp(num) <= 0; - }; - - BN.prototype.eqn = function eqn (num) { - return this.cmpn(num) === 0; - }; - - BN.prototype.eq = function eq (num) { - return this.cmp(num) === 0; - }; - - // - // A reduce context, could be using montgomery or something better, depending - // on the `m` itself. - // - BN.red = function red (num) { - return new Red(num); - }; - - BN.prototype.toRed = function toRed (ctx) { - assert(!this.red, 'Already a number in reduction context'); - assert(this.negative === 0, 'red works only with positives'); - return ctx.convertTo(this)._forceRed(ctx); - }; - - BN.prototype.fromRed = function fromRed () { - assert(this.red, 'fromRed works only with numbers in reduction context'); - return this.red.convertFrom(this); - }; - - BN.prototype._forceRed = function _forceRed (ctx) { - this.red = ctx; - return this; - }; - - BN.prototype.forceRed = function forceRed (ctx) { - assert(!this.red, 'Already a number in reduction context'); - return this._forceRed(ctx); - }; - - BN.prototype.redAdd = function redAdd (num) { - assert(this.red, 'redAdd works only with red numbers'); - return this.red.add(this, num); - }; - - BN.prototype.redIAdd = function redIAdd (num) { - assert(this.red, 'redIAdd works only with red numbers'); - return this.red.iadd(this, num); - }; - - BN.prototype.redSub = function redSub (num) { - assert(this.red, 'redSub works only with red numbers'); - return this.red.sub(this, num); - }; - - BN.prototype.redISub = function redISub (num) { - assert(this.red, 'redISub works only with red numbers'); - return this.red.isub(this, num); - }; - - BN.prototype.redShl = function redShl (num) { - assert(this.red, 'redShl works only with red numbers'); - return this.red.shl(this, num); - }; - - BN.prototype.redMul = function redMul (num) { - assert(this.red, 'redMul works only with red numbers'); - this.red._verify2(this, num); - return this.red.mul(this, num); - }; - - BN.prototype.redIMul = function redIMul (num) { - assert(this.red, 'redMul works only with red numbers'); - this.red._verify2(this, num); - return this.red.imul(this, num); - }; - - BN.prototype.redSqr = function redSqr () { - assert(this.red, 'redSqr works only with red numbers'); - this.red._verify1(this); - return this.red.sqr(this); - }; - - BN.prototype.redISqr = function redISqr () { - assert(this.red, 'redISqr works only with red numbers'); - this.red._verify1(this); - return this.red.isqr(this); - }; - - // Square root over p - BN.prototype.redSqrt = function redSqrt () { - assert(this.red, 'redSqrt works only with red numbers'); - this.red._verify1(this); - return this.red.sqrt(this); - }; - - BN.prototype.redInvm = function redInvm () { - assert(this.red, 'redInvm works only with red numbers'); - this.red._verify1(this); - return this.red.invm(this); - }; - - // Return negative clone of `this` % `red modulo` - BN.prototype.redNeg = function redNeg () { - assert(this.red, 'redNeg works only with red numbers'); - this.red._verify1(this); - return this.red.neg(this); - }; - - BN.prototype.redPow = function redPow (num) { - assert(this.red && !num.red, 'redPow(normalNum)'); - this.red._verify1(this); - return this.red.pow(this, num); - }; - - // Prime numbers with efficient reduction - var primes = { - k256: null, - p224: null, - p192: null, - p25519: null - }; - - // Pseudo-Mersenne prime - function MPrime (name, p) { - // P = 2 ^ N - K - this.name = name; - this.p = new BN(p, 16); - this.n = this.p.bitLength(); - this.k = new BN(1).iushln(this.n).isub(this.p); - - this.tmp = this._tmp(); - } - - MPrime.prototype._tmp = function _tmp () { - var tmp = new BN(null); - tmp.words = new Array(Math.ceil(this.n / 13)); - return tmp; - }; - - MPrime.prototype.ireduce = function ireduce (num) { - // Assumes that `num` is less than `P^2` - // num = HI * (2 ^ N - K) + HI * K + LO = HI * K + LO (mod P) - var r = num; - var rlen; - - do { - this.split(r, this.tmp); - r = this.imulK(r); - r = r.iadd(this.tmp); - rlen = r.bitLength(); - } while (rlen > this.n); - - var cmp = rlen < this.n ? -1 : r.ucmp(this.p); - if (cmp === 0) { - r.words[0] = 0; - r.length = 1; - } else if (cmp > 0) { - r.isub(this.p); - } else { - if (r.strip !== undefined) { - // r is a BN v4 instance - r.strip(); - } else { - // r is a BN v5 instance - r._strip(); - } - } - - return r; - }; - - MPrime.prototype.split = function split (input, out) { - input.iushrn(this.n, 0, out); - }; - - MPrime.prototype.imulK = function imulK (num) { - return num.imul(this.k); - }; - - function K256 () { - MPrime.call( - this, - 'k256', - 'ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f'); - } - inherits(K256, MPrime); - - K256.prototype.split = function split (input, output) { - // 256 = 9 * 26 + 22 - var mask = 0x3fffff; - - var outLen = Math.min(input.length, 9); - for (var i = 0; i < outLen; i++) { - output.words[i] = input.words[i]; - } - output.length = outLen; - - if (input.length <= 9) { - input.words[0] = 0; - input.length = 1; - return; - } - - // Shift by 9 limbs - var prev = input.words[9]; - output.words[output.length++] = prev & mask; - - for (i = 10; i < input.length; i++) { - var next = input.words[i] | 0; - input.words[i - 10] = ((next & mask) << 4) | (prev >>> 22); - prev = next; - } - prev >>>= 22; - input.words[i - 10] = prev; - if (prev === 0 && input.length > 10) { - input.length -= 10; - } else { - input.length -= 9; - } - }; - - K256.prototype.imulK = function imulK (num) { - // K = 0x1000003d1 = [ 0x40, 0x3d1 ] - num.words[num.length] = 0; - num.words[num.length + 1] = 0; - num.length += 2; - - // bounded at: 0x40 * 0x3ffffff + 0x3d0 = 0x100000390 - var lo = 0; - for (var i = 0; i < num.length; i++) { - var w = num.words[i] | 0; - lo += w * 0x3d1; - num.words[i] = lo & 0x3ffffff; - lo = w * 0x40 + ((lo / 0x4000000) | 0); - } - - // Fast length reduction - if (num.words[num.length - 1] === 0) { - num.length--; - if (num.words[num.length - 1] === 0) { - num.length--; - } - } - return num; - }; - - function P224 () { - MPrime.call( - this, - 'p224', - 'ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001'); - } - inherits(P224, MPrime); - - function P192 () { - MPrime.call( - this, - 'p192', - 'ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff'); - } - inherits(P192, MPrime); - - function P25519 () { - // 2 ^ 255 - 19 - MPrime.call( - this, - '25519', - '7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed'); - } - inherits(P25519, MPrime); - - P25519.prototype.imulK = function imulK (num) { - // K = 0x13 - var carry = 0; - for (var i = 0; i < num.length; i++) { - var hi = (num.words[i] | 0) * 0x13 + carry; - var lo = hi & 0x3ffffff; - hi >>>= 26; - - num.words[i] = lo; - carry = hi; - } - if (carry !== 0) { - num.words[num.length++] = carry; - } - return num; - }; - - // Exported mostly for testing purposes, use plain name instead - BN._prime = function prime (name) { - // Cached version of prime - if (primes[name]) return primes[name]; - - var prime; - if (name === 'k256') { - prime = new K256(); - } else if (name === 'p224') { - prime = new P224(); - } else if (name === 'p192') { - prime = new P192(); - } else if (name === 'p25519') { - prime = new P25519(); - } else { - throw new Error('Unknown prime ' + name); - } - primes[name] = prime; - - return prime; - }; - - // - // Base reduction engine - // - function Red (m) { - if (typeof m === 'string') { - var prime = BN._prime(m); - this.m = prime.p; - this.prime = prime; - } else { - assert(m.gtn(1), 'modulus must be greater than 1'); - this.m = m; - this.prime = null; - } - } - - Red.prototype._verify1 = function _verify1 (a) { - assert(a.negative === 0, 'red works only with positives'); - assert(a.red, 'red works only with red numbers'); - }; - - Red.prototype._verify2 = function _verify2 (a, b) { - assert((a.negative | b.negative) === 0, 'red works only with positives'); - assert(a.red && a.red === b.red, - 'red works only with red numbers'); - }; - - Red.prototype.imod = function imod (a) { - if (this.prime) return this.prime.ireduce(a)._forceRed(this); - - move(a, a.umod(this.m)._forceRed(this)); - return a; - }; - - Red.prototype.neg = function neg (a) { - if (a.isZero()) { - return a.clone(); - } - - return this.m.sub(a)._forceRed(this); - }; - - Red.prototype.add = function add (a, b) { - this._verify2(a, b); - - var res = a.add(b); - if (res.cmp(this.m) >= 0) { - res.isub(this.m); - } - return res._forceRed(this); - }; - - Red.prototype.iadd = function iadd (a, b) { - this._verify2(a, b); - - var res = a.iadd(b); - if (res.cmp(this.m) >= 0) { - res.isub(this.m); - } - return res; - }; - - Red.prototype.sub = function sub (a, b) { - this._verify2(a, b); - - var res = a.sub(b); - if (res.cmpn(0) < 0) { - res.iadd(this.m); - } - return res._forceRed(this); - }; - - Red.prototype.isub = function isub (a, b) { - this._verify2(a, b); - - var res = a.isub(b); - if (res.cmpn(0) < 0) { - res.iadd(this.m); - } - return res; - }; - - Red.prototype.shl = function shl (a, num) { - this._verify1(a); - return this.imod(a.ushln(num)); - }; - - Red.prototype.imul = function imul (a, b) { - this._verify2(a, b); - return this.imod(a.imul(b)); - }; - - Red.prototype.mul = function mul (a, b) { - this._verify2(a, b); - return this.imod(a.mul(b)); - }; - - Red.prototype.isqr = function isqr (a) { - return this.imul(a, a.clone()); - }; - - Red.prototype.sqr = function sqr (a) { - return this.mul(a, a); - }; - - Red.prototype.sqrt = function sqrt (a) { - if (a.isZero()) return a.clone(); - - var mod3 = this.m.andln(3); - assert(mod3 % 2 === 1); - - // Fast case - if (mod3 === 3) { - var pow = this.m.add(new BN(1)).iushrn(2); - return this.pow(a, pow); - } - - // Tonelli-Shanks algorithm (Totally unoptimized and slow) - // - // Find Q and S, that Q * 2 ^ S = (P - 1) - var q = this.m.subn(1); - var s = 0; - while (!q.isZero() && q.andln(1) === 0) { - s++; - q.iushrn(1); - } - assert(!q.isZero()); - - var one = new BN(1).toRed(this); - var nOne = one.redNeg(); - - // Find quadratic non-residue - // NOTE: Max is such because of generalized Riemann hypothesis. - var lpow = this.m.subn(1).iushrn(1); - var z = this.m.bitLength(); - z = new BN(2 * z * z).toRed(this); - - while (this.pow(z, lpow).cmp(nOne) !== 0) { - z.redIAdd(nOne); - } - - var c = this.pow(z, q); - var r = this.pow(a, q.addn(1).iushrn(1)); - var t = this.pow(a, q); - var m = s; - while (t.cmp(one) !== 0) { - var tmp = t; - for (var i = 0; tmp.cmp(one) !== 0; i++) { - tmp = tmp.redSqr(); - } - assert(i < m); - var b = this.pow(c, new BN(1).iushln(m - i - 1)); - - r = r.redMul(b); - c = b.redSqr(); - t = t.redMul(c); - m = i; - } - - return r; - }; - - Red.prototype.invm = function invm (a) { - var inv = a._invmp(this.m); - if (inv.negative !== 0) { - inv.negative = 0; - return this.imod(inv).redNeg(); - } else { - return this.imod(inv); - } - }; - - Red.prototype.pow = function pow (a, num) { - if (num.isZero()) return new BN(1).toRed(this); - if (num.cmpn(1) === 0) return a.clone(); - - var windowSize = 4; - var wnd = new Array(1 << windowSize); - wnd[0] = new BN(1).toRed(this); - wnd[1] = a; - for (var i = 2; i < wnd.length; i++) { - wnd[i] = this.mul(wnd[i - 1], a); - } - - var res = wnd[0]; - var current = 0; - var currentLen = 0; - var start = num.bitLength() % 26; - if (start === 0) { - start = 26; - } - - for (i = num.length - 1; i >= 0; i--) { - var word = num.words[i]; - for (var j = start - 1; j >= 0; j--) { - var bit = (word >> j) & 1; - if (res !== wnd[0]) { - res = this.sqr(res); - } - - if (bit === 0 && current === 0) { - currentLen = 0; - continue; - } - - current <<= 1; - current |= bit; - currentLen++; - if (currentLen !== windowSize && (i !== 0 || j !== 0)) continue; - - res = this.mul(res, wnd[current]); - currentLen = 0; - current = 0; - } - start = 26; - } - - return res; - }; - - Red.prototype.convertTo = function convertTo (num) { - var r = num.umod(this.m); - - return r === num ? r.clone() : r; - }; - - Red.prototype.convertFrom = function convertFrom (num) { - var res = num.clone(); - res.red = null; - return res; - }; - - // - // Montgomery method engine - // - - BN.mont = function mont (num) { - return new Mont(num); - }; - - function Mont (m) { - Red.call(this, m); - - this.shift = this.m.bitLength(); - if (this.shift % 26 !== 0) { - this.shift += 26 - (this.shift % 26); - } - - this.r = new BN(1).iushln(this.shift); - this.r2 = this.imod(this.r.sqr()); - this.rinv = this.r._invmp(this.m); - - this.minv = this.rinv.mul(this.r).isubn(1).div(this.m); - this.minv = this.minv.umod(this.r); - this.minv = this.r.sub(this.minv); - } - inherits(Mont, Red); - - Mont.prototype.convertTo = function convertTo (num) { - return this.imod(num.ushln(this.shift)); - }; - - Mont.prototype.convertFrom = function convertFrom (num) { - var r = this.imod(num.mul(this.rinv)); - r.red = null; - return r; - }; - - Mont.prototype.imul = function imul (a, b) { - if (a.isZero() || b.isZero()) { - a.words[0] = 0; - a.length = 1; - return a; - } - - var t = a.imul(b); - var c = t.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m); - var u = t.isub(c).iushrn(this.shift); - var res = u; - - if (u.cmp(this.m) >= 0) { - res = u.isub(this.m); - } else if (u.cmpn(0) < 0) { - res = u.iadd(this.m); - } - - return res._forceRed(this); - }; - - Mont.prototype.mul = function mul (a, b) { - if (a.isZero() || b.isZero()) return new BN(0)._forceRed(this); - - var t = a.mul(b); - var c = t.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m); - var u = t.isub(c).iushrn(this.shift); - var res = u; - if (u.cmp(this.m) >= 0) { - res = u.isub(this.m); - } else if (u.cmpn(0) < 0) { - res = u.iadd(this.m); - } - - return res._forceRed(this); - }; - - Mont.prototype.invm = function invm (a) { - // (AR)^-1 * R^2 = (A^-1 * R^-1) * R^2 = A^-1 * R - var res = this.imod(a._invmp(this.m).mul(this.r2)); - return res._forceRed(this); - }; -})( false || module, this); - - -/***/ }), - -/***/ 89430: -/***/ (function(module) { - -/** - * This file contains the Bottleneck library (MIT), compiled to ES2017, and without Clustering support. - * https://github.com/SGrondin/bottleneck - */ -(function (global, factory) { - true ? module.exports = factory() : - 0; -}(this, (function () { 'use strict'; - - var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {}; - - function getCjsExportFromNamespace (n) { - return n && n['default'] || n; - } - - var load = function(received, defaults, onto = {}) { - var k, ref, v; - for (k in defaults) { - v = defaults[k]; - onto[k] = (ref = received[k]) != null ? ref : v; - } - return onto; - }; - - var overwrite = function(received, defaults, onto = {}) { - var k, v; - for (k in received) { - v = received[k]; - if (defaults[k] !== void 0) { - onto[k] = v; - } - } - return onto; - }; - - var parser = { - load: load, - overwrite: overwrite - }; - - var DLList; - - DLList = class DLList { - constructor(incr, decr) { - this.incr = incr; - this.decr = decr; - this._first = null; - this._last = null; - this.length = 0; - } - - push(value) { - var node; - this.length++; - if (typeof this.incr === "function") { - this.incr(); - } - node = { - value, - prev: this._last, - next: null - }; - if (this._last != null) { - this._last.next = node; - this._last = node; - } else { - this._first = this._last = node; - } - return void 0; - } - - shift() { - var value; - if (this._first == null) { - return; - } else { - this.length--; - if (typeof this.decr === "function") { - this.decr(); - } - } - value = this._first.value; - if ((this._first = this._first.next) != null) { - this._first.prev = null; - } else { - this._last = null; - } - return value; - } - - first() { - if (this._first != null) { - return this._first.value; - } - } - - getArray() { - var node, ref, results; - node = this._first; - results = []; - while (node != null) { - results.push((ref = node, node = node.next, ref.value)); - } - return results; - } - - forEachShift(cb) { - var node; - node = this.shift(); - while (node != null) { - (cb(node), node = this.shift()); - } - return void 0; - } - - debug() { - var node, ref, ref1, ref2, results; - node = this._first; - results = []; - while (node != null) { - results.push((ref = node, node = node.next, { - value: ref.value, - prev: (ref1 = ref.prev) != null ? ref1.value : void 0, - next: (ref2 = ref.next) != null ? ref2.value : void 0 - })); - } - return results; - } - - }; - - var DLList_1 = DLList; - - var Events; - - Events = class Events { - constructor(instance) { - this.instance = instance; - this._events = {}; - if ((this.instance.on != null) || (this.instance.once != null) || (this.instance.removeAllListeners != null)) { - throw new Error("An Emitter already exists for this object"); - } - this.instance.on = (name, cb) => { - return this._addListener(name, "many", cb); - }; - this.instance.once = (name, cb) => { - return this._addListener(name, "once", cb); - }; - this.instance.removeAllListeners = (name = null) => { - if (name != null) { - return delete this._events[name]; - } else { - return this._events = {}; - } - }; - } - - _addListener(name, status, cb) { - var base; - if ((base = this._events)[name] == null) { - base[name] = []; - } - this._events[name].push({cb, status}); - return this.instance; - } - - listenerCount(name) { - if (this._events[name] != null) { - return this._events[name].length; - } else { - return 0; - } - } - - async trigger(name, ...args) { - var e, promises; - try { - if (name !== "debug") { - this.trigger("debug", `Event triggered: ${name}`, args); - } - if (this._events[name] == null) { - return; - } - this._events[name] = this._events[name].filter(function(listener) { - return listener.status !== "none"; - }); - promises = this._events[name].map(async(listener) => { - var e, returned; - if (listener.status === "none") { - return; - } - if (listener.status === "once") { - listener.status = "none"; - } - try { - returned = typeof listener.cb === "function" ? listener.cb(...args) : void 0; - if (typeof (returned != null ? returned.then : void 0) === "function") { - return (await returned); - } else { - return returned; - } - } catch (error) { - e = error; - { - this.trigger("error", e); - } - return null; - } - }); - return ((await Promise.all(promises))).find(function(x) { - return x != null; - }); - } catch (error) { - e = error; - { - this.trigger("error", e); - } - return null; - } - } - - }; - - var Events_1 = Events; - - var DLList$1, Events$1, Queues; - - DLList$1 = DLList_1; - - Events$1 = Events_1; - - Queues = class Queues { - constructor(num_priorities) { - var i; - this.Events = new Events$1(this); - this._length = 0; - this._lists = (function() { - var j, ref, results; - results = []; - for (i = j = 1, ref = num_priorities; (1 <= ref ? j <= ref : j >= ref); i = 1 <= ref ? ++j : --j) { - results.push(new DLList$1((() => { - return this.incr(); - }), (() => { - return this.decr(); - }))); - } - return results; - }).call(this); - } - - incr() { - if (this._length++ === 0) { - return this.Events.trigger("leftzero"); - } - } - - decr() { - if (--this._length === 0) { - return this.Events.trigger("zero"); - } - } - - push(job) { - return this._lists[job.options.priority].push(job); - } - - queued(priority) { - if (priority != null) { - return this._lists[priority].length; - } else { - return this._length; - } - } - - shiftAll(fn) { - return this._lists.forEach(function(list) { - return list.forEachShift(fn); - }); - } - - getFirst(arr = this._lists) { - var j, len, list; - for (j = 0, len = arr.length; j < len; j++) { - list = arr[j]; - if (list.length > 0) { - return list; - } - } - return []; - } - - shiftLastFrom(priority) { - return this.getFirst(this._lists.slice(priority).reverse()).shift(); - } - - }; - - var Queues_1 = Queues; - - var BottleneckError; - - BottleneckError = class BottleneckError extends Error {}; - - var BottleneckError_1 = BottleneckError; - - var BottleneckError$1, DEFAULT_PRIORITY, Job, NUM_PRIORITIES, parser$1; - - NUM_PRIORITIES = 10; - - DEFAULT_PRIORITY = 5; - - parser$1 = parser; - - BottleneckError$1 = BottleneckError_1; - - Job = class Job { - constructor(task, args, options, jobDefaults, rejectOnDrop, Events, _states, Promise) { - this.task = task; - this.args = args; - this.rejectOnDrop = rejectOnDrop; - this.Events = Events; - this._states = _states; - this.Promise = Promise; - this.options = parser$1.load(options, jobDefaults); - this.options.priority = this._sanitizePriority(this.options.priority); - if (this.options.id === jobDefaults.id) { - this.options.id = `${this.options.id}-${this._randomIndex()}`; - } - this.promise = new this.Promise((_resolve, _reject) => { - this._resolve = _resolve; - this._reject = _reject; - }); - this.retryCount = 0; - } - - _sanitizePriority(priority) { - var sProperty; - sProperty = ~~priority !== priority ? DEFAULT_PRIORITY : priority; - if (sProperty < 0) { - return 0; - } else if (sProperty > NUM_PRIORITIES - 1) { - return NUM_PRIORITIES - 1; - } else { - return sProperty; - } - } - - _randomIndex() { - return Math.random().toString(36).slice(2); - } - - doDrop({error, message = "This job has been dropped by Bottleneck"} = {}) { - if (this._states.remove(this.options.id)) { - if (this.rejectOnDrop) { - this._reject(error != null ? error : new BottleneckError$1(message)); - } - this.Events.trigger("dropped", {args: this.args, options: this.options, task: this.task, promise: this.promise}); - return true; - } else { - return false; - } - } - - _assertStatus(expected) { - var status; - status = this._states.jobStatus(this.options.id); - if (!(status === expected || (expected === "DONE" && status === null))) { - throw new BottleneckError$1(`Invalid job status ${status}, expected ${expected}. Please open an issue at https://github.com/SGrondin/bottleneck/issues`); - } - } - - doReceive() { - this._states.start(this.options.id); - return this.Events.trigger("received", {args: this.args, options: this.options}); - } - - doQueue(reachedHWM, blocked) { - this._assertStatus("RECEIVED"); - this._states.next(this.options.id); - return this.Events.trigger("queued", {args: this.args, options: this.options, reachedHWM, blocked}); - } - - doRun() { - if (this.retryCount === 0) { - this._assertStatus("QUEUED"); - this._states.next(this.options.id); - } else { - this._assertStatus("EXECUTING"); - } - return this.Events.trigger("scheduled", {args: this.args, options: this.options}); - } - - async doExecute(chained, clearGlobalState, run, free) { - var error, eventInfo, passed; - if (this.retryCount === 0) { - this._assertStatus("RUNNING"); - this._states.next(this.options.id); - } else { - this._assertStatus("EXECUTING"); - } - eventInfo = {args: this.args, options: this.options, retryCount: this.retryCount}; - this.Events.trigger("executing", eventInfo); - try { - passed = (await (chained != null ? chained.schedule(this.options, this.task, ...this.args) : this.task(...this.args))); - if (clearGlobalState()) { - this.doDone(eventInfo); - await free(this.options, eventInfo); - this._assertStatus("DONE"); - return this._resolve(passed); - } - } catch (error1) { - error = error1; - return this._onFailure(error, eventInfo, clearGlobalState, run, free); - } - } - - doExpire(clearGlobalState, run, free) { - var error, eventInfo; - if (this._states.jobStatus(this.options.id === "RUNNING")) { - this._states.next(this.options.id); - } - this._assertStatus("EXECUTING"); - eventInfo = {args: this.args, options: this.options, retryCount: this.retryCount}; - error = new BottleneckError$1(`This job timed out after ${this.options.expiration} ms.`); - return this._onFailure(error, eventInfo, clearGlobalState, run, free); - } - - async _onFailure(error, eventInfo, clearGlobalState, run, free) { - var retry, retryAfter; - if (clearGlobalState()) { - retry = (await this.Events.trigger("failed", error, eventInfo)); - if (retry != null) { - retryAfter = ~~retry; - this.Events.trigger("retry", `Retrying ${this.options.id} after ${retryAfter} ms`, eventInfo); - this.retryCount++; - return run(retryAfter); - } else { - this.doDone(eventInfo); - await free(this.options, eventInfo); - this._assertStatus("DONE"); - return this._reject(error); - } - } - } - - doDone(eventInfo) { - this._assertStatus("EXECUTING"); - this._states.next(this.options.id); - return this.Events.trigger("done", eventInfo); - } - - }; - - var Job_1 = Job; - - var BottleneckError$2, LocalDatastore, parser$2; - - parser$2 = parser; - - BottleneckError$2 = BottleneckError_1; - - LocalDatastore = class LocalDatastore { - constructor(instance, storeOptions, storeInstanceOptions) { - this.instance = instance; - this.storeOptions = storeOptions; - this.clientId = this.instance._randomIndex(); - parser$2.load(storeInstanceOptions, storeInstanceOptions, this); - this._nextRequest = this._lastReservoirRefresh = this._lastReservoirIncrease = Date.now(); - this._running = 0; - this._done = 0; - this._unblockTime = 0; - this.ready = this.Promise.resolve(); - this.clients = {}; - this._startHeartbeat(); - } - - _startHeartbeat() { - var base; - if ((this.heartbeat == null) && (((this.storeOptions.reservoirRefreshInterval != null) && (this.storeOptions.reservoirRefreshAmount != null)) || ((this.storeOptions.reservoirIncreaseInterval != null) && (this.storeOptions.reservoirIncreaseAmount != null)))) { - return typeof (base = (this.heartbeat = setInterval(() => { - var amount, incr, maximum, now, reservoir; - now = Date.now(); - if ((this.storeOptions.reservoirRefreshInterval != null) && now >= this._lastReservoirRefresh + this.storeOptions.reservoirRefreshInterval) { - this._lastReservoirRefresh = now; - this.storeOptions.reservoir = this.storeOptions.reservoirRefreshAmount; - this.instance._drainAll(this.computeCapacity()); - } - if ((this.storeOptions.reservoirIncreaseInterval != null) && now >= this._lastReservoirIncrease + this.storeOptions.reservoirIncreaseInterval) { - ({ - reservoirIncreaseAmount: amount, - reservoirIncreaseMaximum: maximum, - reservoir - } = this.storeOptions); - this._lastReservoirIncrease = now; - incr = maximum != null ? Math.min(amount, maximum - reservoir) : amount; - if (incr > 0) { - this.storeOptions.reservoir += incr; - return this.instance._drainAll(this.computeCapacity()); - } - } - }, this.heartbeatInterval))).unref === "function" ? base.unref() : void 0; - } else { - return clearInterval(this.heartbeat); - } - } - - async __publish__(message) { - await this.yieldLoop(); - return this.instance.Events.trigger("message", message.toString()); - } - - async __disconnect__(flush) { - await this.yieldLoop(); - clearInterval(this.heartbeat); - return this.Promise.resolve(); - } - - yieldLoop(t = 0) { - return new this.Promise(function(resolve, reject) { - return setTimeout(resolve, t); - }); - } - - computePenalty() { - var ref; - return (ref = this.storeOptions.penalty) != null ? ref : (15 * this.storeOptions.minTime) || 5000; - } - - async __updateSettings__(options) { - await this.yieldLoop(); - parser$2.overwrite(options, options, this.storeOptions); - this._startHeartbeat(); - this.instance._drainAll(this.computeCapacity()); - return true; - } - - async __running__() { - await this.yieldLoop(); - return this._running; - } - - async __queued__() { - await this.yieldLoop(); - return this.instance.queued(); - } - - async __done__() { - await this.yieldLoop(); - return this._done; - } - - async __groupCheck__(time) { - await this.yieldLoop(); - return (this._nextRequest + this.timeout) < time; - } - - computeCapacity() { - var maxConcurrent, reservoir; - ({maxConcurrent, reservoir} = this.storeOptions); - if ((maxConcurrent != null) && (reservoir != null)) { - return Math.min(maxConcurrent - this._running, reservoir); - } else if (maxConcurrent != null) { - return maxConcurrent - this._running; - } else if (reservoir != null) { - return reservoir; - } else { - return null; - } - } - - conditionsCheck(weight) { - var capacity; - capacity = this.computeCapacity(); - return (capacity == null) || weight <= capacity; - } - - async __incrementReservoir__(incr) { - var reservoir; - await this.yieldLoop(); - reservoir = this.storeOptions.reservoir += incr; - this.instance._drainAll(this.computeCapacity()); - return reservoir; - } - - async __currentReservoir__() { - await this.yieldLoop(); - return this.storeOptions.reservoir; - } - - isBlocked(now) { - return this._unblockTime >= now; - } - - check(weight, now) { - return this.conditionsCheck(weight) && (this._nextRequest - now) <= 0; - } - - async __check__(weight) { - var now; - await this.yieldLoop(); - now = Date.now(); - return this.check(weight, now); - } - - async __register__(index, weight, expiration) { - var now, wait; - await this.yieldLoop(); - now = Date.now(); - if (this.conditionsCheck(weight)) { - this._running += weight; - if (this.storeOptions.reservoir != null) { - this.storeOptions.reservoir -= weight; - } - wait = Math.max(this._nextRequest - now, 0); - this._nextRequest = now + wait + this.storeOptions.minTime; - return { - success: true, - wait, - reservoir: this.storeOptions.reservoir - }; - } else { - return { - success: false - }; - } - } - - strategyIsBlock() { - return this.storeOptions.strategy === 3; - } - - async __submit__(queueLength, weight) { - var blocked, now, reachedHWM; - await this.yieldLoop(); - if ((this.storeOptions.maxConcurrent != null) && weight > this.storeOptions.maxConcurrent) { - throw new BottleneckError$2(`Impossible to add a job having a weight of ${weight} to a limiter having a maxConcurrent setting of ${this.storeOptions.maxConcurrent}`); - } - now = Date.now(); - reachedHWM = (this.storeOptions.highWater != null) && queueLength === this.storeOptions.highWater && !this.check(weight, now); - blocked = this.strategyIsBlock() && (reachedHWM || this.isBlocked(now)); - if (blocked) { - this._unblockTime = now + this.computePenalty(); - this._nextRequest = this._unblockTime + this.storeOptions.minTime; - this.instance._dropAllQueued(); - } - return { - reachedHWM, - blocked, - strategy: this.storeOptions.strategy - }; - } - - async __free__(index, weight) { - await this.yieldLoop(); - this._running -= weight; - this._done += weight; - this.instance._drainAll(this.computeCapacity()); - return { - running: this._running - }; - } - - }; - - var LocalDatastore_1 = LocalDatastore; - - var BottleneckError$3, States; - - BottleneckError$3 = BottleneckError_1; - - States = class States { - constructor(status1) { - this.status = status1; - this._jobs = {}; - this.counts = this.status.map(function() { - return 0; - }); - } - - next(id) { - var current, next; - current = this._jobs[id]; - next = current + 1; - if ((current != null) && next < this.status.length) { - this.counts[current]--; - this.counts[next]++; - return this._jobs[id]++; - } else if (current != null) { - this.counts[current]--; - return delete this._jobs[id]; - } - } - - start(id) { - var initial; - initial = 0; - this._jobs[id] = initial; - return this.counts[initial]++; - } - - remove(id) { - var current; - current = this._jobs[id]; - if (current != null) { - this.counts[current]--; - delete this._jobs[id]; - } - return current != null; - } - - jobStatus(id) { - var ref; - return (ref = this.status[this._jobs[id]]) != null ? ref : null; - } - - statusJobs(status) { - var k, pos, ref, results, v; - if (status != null) { - pos = this.status.indexOf(status); - if (pos < 0) { - throw new BottleneckError$3(`status must be one of ${this.status.join(', ')}`); - } - ref = this._jobs; - results = []; - for (k in ref) { - v = ref[k]; - if (v === pos) { - results.push(k); - } - } - return results; - } else { - return Object.keys(this._jobs); - } - } - - statusCounts() { - return this.counts.reduce(((acc, v, i) => { - acc[this.status[i]] = v; - return acc; - }), {}); - } - - }; - - var States_1 = States; - - var DLList$2, Sync; - - DLList$2 = DLList_1; - - Sync = class Sync { - constructor(name, Promise) { - this.schedule = this.schedule.bind(this); - this.name = name; - this.Promise = Promise; - this._running = 0; - this._queue = new DLList$2(); - } - - isEmpty() { - return this._queue.length === 0; - } - - async _tryToRun() { - var args, cb, error, reject, resolve, returned, task; - if ((this._running < 1) && this._queue.length > 0) { - this._running++; - ({task, args, resolve, reject} = this._queue.shift()); - cb = (await (async function() { - try { - returned = (await task(...args)); - return function() { - return resolve(returned); - }; - } catch (error1) { - error = error1; - return function() { - return reject(error); - }; - } - })()); - this._running--; - this._tryToRun(); - return cb(); - } - } - - schedule(task, ...args) { - var promise, reject, resolve; - resolve = reject = null; - promise = new this.Promise(function(_resolve, _reject) { - resolve = _resolve; - return reject = _reject; - }); - this._queue.push({task, args, resolve, reject}); - this._tryToRun(); - return promise; - } - - }; - - var Sync_1 = Sync; - - var version = "2.19.5"; - var version$1 = { - version: version - }; - - var version$2 = /*#__PURE__*/Object.freeze({ - version: version, - default: version$1 - }); - - var require$$2 = () => console.log('You must import the full version of Bottleneck in order to use this feature.'); - - var require$$3 = () => console.log('You must import the full version of Bottleneck in order to use this feature.'); - - var require$$4 = () => console.log('You must import the full version of Bottleneck in order to use this feature.'); - - var Events$2, Group, IORedisConnection$1, RedisConnection$1, Scripts$1, parser$3; - - parser$3 = parser; - - Events$2 = Events_1; - - RedisConnection$1 = require$$2; - - IORedisConnection$1 = require$$3; - - Scripts$1 = require$$4; - - Group = (function() { - class Group { - constructor(limiterOptions = {}) { - this.deleteKey = this.deleteKey.bind(this); - this.limiterOptions = limiterOptions; - parser$3.load(this.limiterOptions, this.defaults, this); - this.Events = new Events$2(this); - this.instances = {}; - this.Bottleneck = Bottleneck_1; - this._startAutoCleanup(); - this.sharedConnection = this.connection != null; - if (this.connection == null) { - if (this.limiterOptions.datastore === "redis") { - this.connection = new RedisConnection$1(Object.assign({}, this.limiterOptions, {Events: this.Events})); - } else if (this.limiterOptions.datastore === "ioredis") { - this.connection = new IORedisConnection$1(Object.assign({}, this.limiterOptions, {Events: this.Events})); - } - } - } - - key(key = "") { - var ref; - return (ref = this.instances[key]) != null ? ref : (() => { - var limiter; - limiter = this.instances[key] = new this.Bottleneck(Object.assign(this.limiterOptions, { - id: `${this.id}-${key}`, - timeout: this.timeout, - connection: this.connection - })); - this.Events.trigger("created", limiter, key); - return limiter; - })(); - } - - async deleteKey(key = "") { - var deleted, instance; - instance = this.instances[key]; - if (this.connection) { - deleted = (await this.connection.__runCommand__(['del', ...Scripts$1.allKeys(`${this.id}-${key}`)])); - } - if (instance != null) { - delete this.instances[key]; - await instance.disconnect(); - } - return (instance != null) || deleted > 0; - } - - limiters() { - var k, ref, results, v; - ref = this.instances; - results = []; - for (k in ref) { - v = ref[k]; - results.push({ - key: k, - limiter: v - }); - } - return results; - } - - keys() { - return Object.keys(this.instances); - } - - async clusterKeys() { - var cursor, end, found, i, k, keys, len, next, start; - if (this.connection == null) { - return this.Promise.resolve(this.keys()); - } - keys = []; - cursor = null; - start = `b_${this.id}-`.length; - end = "_settings".length; - while (cursor !== 0) { - [next, found] = (await this.connection.__runCommand__(["scan", cursor != null ? cursor : 0, "match", `b_${this.id}-*_settings`, "count", 10000])); - cursor = ~~next; - for (i = 0, len = found.length; i < len; i++) { - k = found[i]; - keys.push(k.slice(start, -end)); - } - } - return keys; - } - - _startAutoCleanup() { - var base; - clearInterval(this.interval); - return typeof (base = (this.interval = setInterval(async() => { - var e, k, ref, results, time, v; - time = Date.now(); - ref = this.instances; - results = []; - for (k in ref) { - v = ref[k]; - try { - if ((await v._store.__groupCheck__(time))) { - results.push(this.deleteKey(k)); - } else { - results.push(void 0); - } - } catch (error) { - e = error; - results.push(v.Events.trigger("error", e)); - } - } - return results; - }, this.timeout / 2))).unref === "function" ? base.unref() : void 0; - } - - updateSettings(options = {}) { - parser$3.overwrite(options, this.defaults, this); - parser$3.overwrite(options, options, this.limiterOptions); - if (options.timeout != null) { - return this._startAutoCleanup(); - } - } - - disconnect(flush = true) { - var ref; - if (!this.sharedConnection) { - return (ref = this.connection) != null ? ref.disconnect(flush) : void 0; - } - } - - } - Group.prototype.defaults = { - timeout: 1000 * 60 * 5, - connection: null, - Promise: Promise, - id: "group-key" - }; - - return Group; - - }).call(commonjsGlobal); - - var Group_1 = Group; - - var Batcher, Events$3, parser$4; - - parser$4 = parser; - - Events$3 = Events_1; - - Batcher = (function() { - class Batcher { - constructor(options = {}) { - this.options = options; - parser$4.load(this.options, this.defaults, this); - this.Events = new Events$3(this); - this._arr = []; - this._resetPromise(); - this._lastFlush = Date.now(); - } - - _resetPromise() { - return this._promise = new this.Promise((res, rej) => { - return this._resolve = res; - }); - } - - _flush() { - clearTimeout(this._timeout); - this._lastFlush = Date.now(); - this._resolve(); - this.Events.trigger("batch", this._arr); - this._arr = []; - return this._resetPromise(); - } - - add(data) { - var ret; - this._arr.push(data); - ret = this._promise; - if (this._arr.length === this.maxSize) { - this._flush(); - } else if ((this.maxTime != null) && this._arr.length === 1) { - this._timeout = setTimeout(() => { - return this._flush(); - }, this.maxTime); - } - return ret; - } - - } - Batcher.prototype.defaults = { - maxTime: null, - maxSize: null, - Promise: Promise - }; - - return Batcher; - - }).call(commonjsGlobal); - - var Batcher_1 = Batcher; - - var require$$4$1 = () => console.log('You must import the full version of Bottleneck in order to use this feature.'); - - var require$$8 = getCjsExportFromNamespace(version$2); - - var Bottleneck, DEFAULT_PRIORITY$1, Events$4, Job$1, LocalDatastore$1, NUM_PRIORITIES$1, Queues$1, RedisDatastore$1, States$1, Sync$1, parser$5, - splice = [].splice; - - NUM_PRIORITIES$1 = 10; - - DEFAULT_PRIORITY$1 = 5; - - parser$5 = parser; - - Queues$1 = Queues_1; - - Job$1 = Job_1; - - LocalDatastore$1 = LocalDatastore_1; - - RedisDatastore$1 = require$$4$1; - - Events$4 = Events_1; - - States$1 = States_1; - - Sync$1 = Sync_1; - - Bottleneck = (function() { - class Bottleneck { - constructor(options = {}, ...invalid) { - var storeInstanceOptions, storeOptions; - this._addToQueue = this._addToQueue.bind(this); - this._validateOptions(options, invalid); - parser$5.load(options, this.instanceDefaults, this); - this._queues = new Queues$1(NUM_PRIORITIES$1); - this._scheduled = {}; - this._states = new States$1(["RECEIVED", "QUEUED", "RUNNING", "EXECUTING"].concat(this.trackDoneStatus ? ["DONE"] : [])); - this._limiter = null; - this.Events = new Events$4(this); - this._submitLock = new Sync$1("submit", this.Promise); - this._registerLock = new Sync$1("register", this.Promise); - storeOptions = parser$5.load(options, this.storeDefaults, {}); - this._store = (function() { - if (this.datastore === "redis" || this.datastore === "ioredis" || (this.connection != null)) { - storeInstanceOptions = parser$5.load(options, this.redisStoreDefaults, {}); - return new RedisDatastore$1(this, storeOptions, storeInstanceOptions); - } else if (this.datastore === "local") { - storeInstanceOptions = parser$5.load(options, this.localStoreDefaults, {}); - return new LocalDatastore$1(this, storeOptions, storeInstanceOptions); - } else { - throw new Bottleneck.prototype.BottleneckError(`Invalid datastore type: ${this.datastore}`); - } - }).call(this); - this._queues.on("leftzero", () => { - var ref; - return (ref = this._store.heartbeat) != null ? typeof ref.ref === "function" ? ref.ref() : void 0 : void 0; - }); - this._queues.on("zero", () => { - var ref; - return (ref = this._store.heartbeat) != null ? typeof ref.unref === "function" ? ref.unref() : void 0 : void 0; - }); - } - - _validateOptions(options, invalid) { - if (!((options != null) && typeof options === "object" && invalid.length === 0)) { - throw new Bottleneck.prototype.BottleneckError("Bottleneck v2 takes a single object argument. Refer to https://github.com/SGrondin/bottleneck#upgrading-to-v2 if you're upgrading from Bottleneck v1."); - } - } - - ready() { - return this._store.ready; - } - - clients() { - return this._store.clients; - } - - channel() { - return `b_${this.id}`; - } - - channel_client() { - return `b_${this.id}_${this._store.clientId}`; - } - - publish(message) { - return this._store.__publish__(message); - } - - disconnect(flush = true) { - return this._store.__disconnect__(flush); - } - - chain(_limiter) { - this._limiter = _limiter; - return this; - } - - queued(priority) { - return this._queues.queued(priority); - } - - clusterQueued() { - return this._store.__queued__(); - } - - empty() { - return this.queued() === 0 && this._submitLock.isEmpty(); - } - - running() { - return this._store.__running__(); - } - - done() { - return this._store.__done__(); - } - - jobStatus(id) { - return this._states.jobStatus(id); - } - - jobs(status) { - return this._states.statusJobs(status); - } - - counts() { - return this._states.statusCounts(); - } - - _randomIndex() { - return Math.random().toString(36).slice(2); - } - - check(weight = 1) { - return this._store.__check__(weight); - } - - _clearGlobalState(index) { - if (this._scheduled[index] != null) { - clearTimeout(this._scheduled[index].expiration); - delete this._scheduled[index]; - return true; - } else { - return false; - } - } - - async _free(index, job, options, eventInfo) { - var e, running; - try { - ({running} = (await this._store.__free__(index, options.weight))); - this.Events.trigger("debug", `Freed ${options.id}`, eventInfo); - if (running === 0 && this.empty()) { - return this.Events.trigger("idle"); - } - } catch (error1) { - e = error1; - return this.Events.trigger("error", e); - } - } - - _run(index, job, wait) { - var clearGlobalState, free, run; - job.doRun(); - clearGlobalState = this._clearGlobalState.bind(this, index); - run = this._run.bind(this, index, job); - free = this._free.bind(this, index, job); - return this._scheduled[index] = { - timeout: setTimeout(() => { - return job.doExecute(this._limiter, clearGlobalState, run, free); - }, wait), - expiration: job.options.expiration != null ? setTimeout(function() { - return job.doExpire(clearGlobalState, run, free); - }, wait + job.options.expiration) : void 0, - job: job - }; - } - - _drainOne(capacity) { - return this._registerLock.schedule(() => { - var args, index, next, options, queue; - if (this.queued() === 0) { - return this.Promise.resolve(null); - } - queue = this._queues.getFirst(); - ({options, args} = next = queue.first()); - if ((capacity != null) && options.weight > capacity) { - return this.Promise.resolve(null); - } - this.Events.trigger("debug", `Draining ${options.id}`, {args, options}); - index = this._randomIndex(); - return this._store.__register__(index, options.weight, options.expiration).then(({success, wait, reservoir}) => { - var empty; - this.Events.trigger("debug", `Drained ${options.id}`, {success, args, options}); - if (success) { - queue.shift(); - empty = this.empty(); - if (empty) { - this.Events.trigger("empty"); - } - if (reservoir === 0) { - this.Events.trigger("depleted", empty); - } - this._run(index, next, wait); - return this.Promise.resolve(options.weight); - } else { - return this.Promise.resolve(null); - } - }); - }); - } - - _drainAll(capacity, total = 0) { - return this._drainOne(capacity).then((drained) => { - var newCapacity; - if (drained != null) { - newCapacity = capacity != null ? capacity - drained : capacity; - return this._drainAll(newCapacity, total + drained); - } else { - return this.Promise.resolve(total); - } - }).catch((e) => { - return this.Events.trigger("error", e); - }); - } - - _dropAllQueued(message) { - return this._queues.shiftAll(function(job) { - return job.doDrop({message}); - }); - } - - stop(options = {}) { - var done, waitForExecuting; - options = parser$5.load(options, this.stopDefaults); - waitForExecuting = (at) => { - var finished; - finished = () => { - var counts; - counts = this._states.counts; - return (counts[0] + counts[1] + counts[2] + counts[3]) === at; - }; - return new this.Promise((resolve, reject) => { - if (finished()) { - return resolve(); - } else { - return this.on("done", () => { - if (finished()) { - this.removeAllListeners("done"); - return resolve(); - } - }); - } - }); - }; - done = options.dropWaitingJobs ? (this._run = function(index, next) { - return next.doDrop({ - message: options.dropErrorMessage - }); - }, this._drainOne = () => { - return this.Promise.resolve(null); - }, this._registerLock.schedule(() => { - return this._submitLock.schedule(() => { - var k, ref, v; - ref = this._scheduled; - for (k in ref) { - v = ref[k]; - if (this.jobStatus(v.job.options.id) === "RUNNING") { - clearTimeout(v.timeout); - clearTimeout(v.expiration); - v.job.doDrop({ - message: options.dropErrorMessage - }); - } - } - this._dropAllQueued(options.dropErrorMessage); - return waitForExecuting(0); - }); - })) : this.schedule({ - priority: NUM_PRIORITIES$1 - 1, - weight: 0 - }, () => { - return waitForExecuting(1); - }); - this._receive = function(job) { - return job._reject(new Bottleneck.prototype.BottleneckError(options.enqueueErrorMessage)); - }; - this.stop = () => { - return this.Promise.reject(new Bottleneck.prototype.BottleneckError("stop() has already been called")); - }; - return done; - } - - async _addToQueue(job) { - var args, blocked, error, options, reachedHWM, shifted, strategy; - ({args, options} = job); - try { - ({reachedHWM, blocked, strategy} = (await this._store.__submit__(this.queued(), options.weight))); - } catch (error1) { - error = error1; - this.Events.trigger("debug", `Could not queue ${options.id}`, {args, options, error}); - job.doDrop({error}); - return false; - } - if (blocked) { - job.doDrop(); - return true; - } else if (reachedHWM) { - shifted = strategy === Bottleneck.prototype.strategy.LEAK ? this._queues.shiftLastFrom(options.priority) : strategy === Bottleneck.prototype.strategy.OVERFLOW_PRIORITY ? this._queues.shiftLastFrom(options.priority + 1) : strategy === Bottleneck.prototype.strategy.OVERFLOW ? job : void 0; - if (shifted != null) { - shifted.doDrop(); - } - if ((shifted == null) || strategy === Bottleneck.prototype.strategy.OVERFLOW) { - if (shifted == null) { - job.doDrop(); - } - return reachedHWM; - } - } - job.doQueue(reachedHWM, blocked); - this._queues.push(job); - await this._drainAll(); - return reachedHWM; - } - - _receive(job) { - if (this._states.jobStatus(job.options.id) != null) { - job._reject(new Bottleneck.prototype.BottleneckError(`A job with the same id already exists (id=${job.options.id})`)); - return false; - } else { - job.doReceive(); - return this._submitLock.schedule(this._addToQueue, job); - } - } - - submit(...args) { - var cb, fn, job, options, ref, ref1, task; - if (typeof args[0] === "function") { - ref = args, [fn, ...args] = ref, [cb] = splice.call(args, -1); - options = parser$5.load({}, this.jobDefaults); - } else { - ref1 = args, [options, fn, ...args] = ref1, [cb] = splice.call(args, -1); - options = parser$5.load(options, this.jobDefaults); - } - task = (...args) => { - return new this.Promise(function(resolve, reject) { - return fn(...args, function(...args) { - return (args[0] != null ? reject : resolve)(args); - }); - }); - }; - job = new Job$1(task, args, options, this.jobDefaults, this.rejectOnDrop, this.Events, this._states, this.Promise); - job.promise.then(function(args) { - return typeof cb === "function" ? cb(...args) : void 0; - }).catch(function(args) { - if (Array.isArray(args)) { - return typeof cb === "function" ? cb(...args) : void 0; - } else { - return typeof cb === "function" ? cb(args) : void 0; - } - }); - return this._receive(job); - } - - schedule(...args) { - var job, options, task; - if (typeof args[0] === "function") { - [task, ...args] = args; - options = {}; - } else { - [options, task, ...args] = args; - } - job = new Job$1(task, args, options, this.jobDefaults, this.rejectOnDrop, this.Events, this._states, this.Promise); - this._receive(job); - return job.promise; - } - - wrap(fn) { - var schedule, wrapped; - schedule = this.schedule.bind(this); - wrapped = function(...args) { - return schedule(fn.bind(this), ...args); - }; - wrapped.withOptions = function(options, ...args) { - return schedule(options, fn, ...args); - }; - return wrapped; - } - - async updateSettings(options = {}) { - await this._store.__updateSettings__(parser$5.overwrite(options, this.storeDefaults)); - parser$5.overwrite(options, this.instanceDefaults, this); - return this; - } - - currentReservoir() { - return this._store.__currentReservoir__(); - } - - incrementReservoir(incr = 0) { - return this._store.__incrementReservoir__(incr); - } - - } - Bottleneck.default = Bottleneck; - - Bottleneck.Events = Events$4; - - Bottleneck.version = Bottleneck.prototype.version = require$$8.version; - - Bottleneck.strategy = Bottleneck.prototype.strategy = { - LEAK: 1, - OVERFLOW: 2, - OVERFLOW_PRIORITY: 4, - BLOCK: 3 - }; - - Bottleneck.BottleneckError = Bottleneck.prototype.BottleneckError = BottleneckError_1; - - Bottleneck.Group = Bottleneck.prototype.Group = Group_1; - - Bottleneck.RedisConnection = Bottleneck.prototype.RedisConnection = require$$2; - - Bottleneck.IORedisConnection = Bottleneck.prototype.IORedisConnection = require$$3; - - Bottleneck.Batcher = Bottleneck.prototype.Batcher = Batcher_1; - - Bottleneck.prototype.jobDefaults = { - priority: DEFAULT_PRIORITY$1, - weight: 1, - expiration: null, - id: "" - }; - - Bottleneck.prototype.storeDefaults = { - maxConcurrent: null, - minTime: 0, - highWater: null, - strategy: Bottleneck.prototype.strategy.LEAK, - penalty: null, - reservoir: null, - reservoirRefreshInterval: null, - reservoirRefreshAmount: null, - reservoirIncreaseInterval: null, - reservoirIncreaseAmount: null, - reservoirIncreaseMaximum: null - }; - - Bottleneck.prototype.localStoreDefaults = { - Promise: Promise, - timeout: null, - heartbeatInterval: 250 - }; - - Bottleneck.prototype.redisStoreDefaults = { - Promise: Promise, - timeout: null, - heartbeatInterval: 5000, - clientTimeout: 10000, - Redis: null, - clientOptions: {}, - clusterNodes: null, - clearDatastore: false, - connection: null - }; - - Bottleneck.prototype.instanceDefaults = { - datastore: "local", - connection: null, - id: "", - rejectOnDrop: true, - trackDoneStatus: false, - Promise: Promise - }; - - Bottleneck.prototype.stopDefaults = { - enqueueErrorMessage: "This limiter has been stopped and cannot accept new jobs.", - dropWaitingJobs: true, - dropErrorMessage: "This limiter has been stopped." - }; - - return Bottleneck; - - }).call(commonjsGlobal); - - var Bottleneck_1 = Bottleneck; - - var lib = Bottleneck_1; - - return lib; - -}))); - - -/***/ }), - -/***/ 84621: -/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { - -var r; - -module.exports = function rand(len) { - if (!r) - r = new Rand(null); - - return r.generate(len); -}; - -function Rand(rand) { - this.rand = rand; -} -module.exports.Rand = Rand; - -Rand.prototype.generate = function generate(len) { - return this._rand(len); -}; - -// Emulate crypto API using randy -Rand.prototype._rand = function _rand(n) { - if (this.rand.getBytes) - return this.rand.getBytes(n); - - var res = new Uint8Array(n); - for (var i = 0; i < res.length; i++) - res[i] = this.rand.getByte(); - return res; -}; - -if (typeof self === 'object') { - if (self.crypto && self.crypto.getRandomValues) { - // Modern browsers - Rand.prototype._rand = function _rand(n) { - var arr = new Uint8Array(n); - self.crypto.getRandomValues(arr); - return arr; - }; - } else if (self.msCrypto && self.msCrypto.getRandomValues) { - // IE - Rand.prototype._rand = function _rand(n) { - var arr = new Uint8Array(n); - self.msCrypto.getRandomValues(arr); - return arr; - }; - - // Safari's WebWorkers do not have `crypto` - } else if (typeof window === 'object') { - // Old junk - Rand.prototype._rand = function() { - throw new Error('Not implemented yet'); - }; - } -} else { - // Node.js or Web worker with no crypto support - try { - var crypto = __nccwpck_require__(76982); - if (typeof crypto.randomBytes !== 'function') - throw new Error('Not supported'); - - Rand.prototype._rand = function _rand(n) { - return crypto.randomBytes(n); - }; - } catch (e) { - } -} - - -/***/ }), - -/***/ 18481: -/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { - -var util = __nccwpck_require__(39023); -var Stream = (__nccwpck_require__(2203).Stream); -var DelayedStream = __nccwpck_require__(26437); - -module.exports = CombinedStream; -function CombinedStream() { - this.writable = false; - this.readable = true; - this.dataSize = 0; - this.maxDataSize = 2 * 1024 * 1024; - this.pauseStreams = true; - - this._released = false; - this._streams = []; - this._currentStream = null; - this._insideLoop = false; - this._pendingNext = false; -} -util.inherits(CombinedStream, Stream); - -CombinedStream.create = function(options) { - var combinedStream = new this(); - - options = options || {}; - for (var option in options) { - combinedStream[option] = options[option]; - } - - return combinedStream; -}; - -CombinedStream.isStreamLike = function(stream) { - return (typeof stream !== 'function') - && (typeof stream !== 'string') - && (typeof stream !== 'boolean') - && (typeof stream !== 'number') - && (!Buffer.isBuffer(stream)); -}; - -CombinedStream.prototype.append = function(stream) { - var isStreamLike = CombinedStream.isStreamLike(stream); - - if (isStreamLike) { - if (!(stream instanceof DelayedStream)) { - var newStream = DelayedStream.create(stream, { - maxDataSize: Infinity, - pauseStream: this.pauseStreams, - }); - stream.on('data', this._checkDataSize.bind(this)); - stream = newStream; - } - - this._handleErrors(stream); - - if (this.pauseStreams) { - stream.pause(); - } - } - - this._streams.push(stream); - return this; -}; - -CombinedStream.prototype.pipe = function(dest, options) { - Stream.prototype.pipe.call(this, dest, options); - this.resume(); - return dest; -}; - -CombinedStream.prototype._getNext = function() { - this._currentStream = null; - - if (this._insideLoop) { - this._pendingNext = true; - return; // defer call - } - - this._insideLoop = true; - try { - do { - this._pendingNext = false; - this._realGetNext(); - } while (this._pendingNext); - } finally { - this._insideLoop = false; - } -}; - -CombinedStream.prototype._realGetNext = function() { - var stream = this._streams.shift(); - - - if (typeof stream == 'undefined') { - this.end(); - return; - } - - if (typeof stream !== 'function') { - this._pipeNext(stream); - return; - } - - var getStream = stream; - getStream(function(stream) { - var isStreamLike = CombinedStream.isStreamLike(stream); - if (isStreamLike) { - stream.on('data', this._checkDataSize.bind(this)); - this._handleErrors(stream); - } - - this._pipeNext(stream); - }.bind(this)); -}; - -CombinedStream.prototype._pipeNext = function(stream) { - this._currentStream = stream; - - var isStreamLike = CombinedStream.isStreamLike(stream); - if (isStreamLike) { - stream.on('end', this._getNext.bind(this)); - stream.pipe(this, {end: false}); - return; - } - - var value = stream; - this.write(value); - this._getNext(); -}; - -CombinedStream.prototype._handleErrors = function(stream) { - var self = this; - stream.on('error', function(err) { - self._emitError(err); - }); -}; - -CombinedStream.prototype.write = function(data) { - this.emit('data', data); -}; - -CombinedStream.prototype.pause = function() { - if (!this.pauseStreams) { - return; - } - - if(this.pauseStreams && this._currentStream && typeof(this._currentStream.pause) == 'function') this._currentStream.pause(); - this.emit('pause'); -}; - -CombinedStream.prototype.resume = function() { - if (!this._released) { - this._released = true; - this.writable = true; - this._getNext(); - } - - if(this.pauseStreams && this._currentStream && typeof(this._currentStream.resume) == 'function') this._currentStream.resume(); - this.emit('resume'); -}; - -CombinedStream.prototype.end = function() { - this._reset(); - this.emit('end'); -}; - -CombinedStream.prototype.destroy = function() { - this._reset(); - this.emit('close'); -}; - -CombinedStream.prototype._reset = function() { - this.writable = false; - this._streams = []; - this._currentStream = null; -}; - -CombinedStream.prototype._checkDataSize = function() { - this._updateDataSize(); - if (this.dataSize <= this.maxDataSize) { - return; - } - - var message = - 'DelayedStream#maxDataSize of ' + this.maxDataSize + ' bytes exceeded.'; - this._emitError(new Error(message)); -}; - -CombinedStream.prototype._updateDataSize = function() { - this.dataSize = 0; - - var self = this; - this._streams.forEach(function(stream) { - if (!stream.dataSize) { - return; - } - - self.dataSize += stream.dataSize; - }); - - if (this._currentStream && this._currentStream.dataSize) { - this.dataSize += this._currentStream.dataSize; - } -}; - -CombinedStream.prototype._emitError = function(err) { - this._reset(); - this.emit('error', err); -}; - - -/***/ }), - -/***/ 97321: -/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { - -/********************************************************************* - * This is a fork from the CSS Style Declaration part of - * https://github.com/NV/CSSOM - ********************************************************************/ - -var CSSOM = __nccwpck_require__(93583); -var allProperties = __nccwpck_require__(80459); -var allExtraProperties = __nccwpck_require__(73631); -var implementedProperties = __nccwpck_require__(63816); -var { dashedToCamelCase } = __nccwpck_require__(40593); -var getBasicPropertyDescriptor = __nccwpck_require__(26421); - -/** - * @constructor - * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSStyleDeclaration - */ -var CSSStyleDeclaration = function CSSStyleDeclaration(onChangeCallback) { - this._values = {}; - this._importants = {}; - this._length = 0; - this._onChange = onChangeCallback; - this._setInProgress = false; -}; -CSSStyleDeclaration.prototype = { - constructor: CSSStyleDeclaration, - - /** - * - * @param {string} name - * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSStyleDeclaration-getPropertyValue - * @return {string} the value of the property if it has been explicitly set for this declaration block. - * Returns the empty string if the property has not been set. - */ - getPropertyValue: function (name) { - if (!this._values.hasOwnProperty(name)) { - return ''; - } - return this._values[name].toString(); - }, - - /** - * - * @param {string} name - * @param {string} value - * @param {string} [priority=null] "important" or null - * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSStyleDeclaration-setProperty - */ - setProperty: function (name, value, priority) { - if (value === undefined) { - return; - } - if (value === null || value === '') { - this.removeProperty(name); - return; - } - var isCustomProperty = name.indexOf('--') === 0; - if (isCustomProperty) { - this._setProperty(name, value, priority); - return; - } - var lowercaseName = name.toLowerCase(); - if (!allProperties.has(lowercaseName) && !allExtraProperties.has(lowercaseName)) { - return; - } - - this[lowercaseName] = value; - this._importants[lowercaseName] = priority; - }, - _setProperty: function (name, value, priority) { - if (value === undefined) { - return; - } - if (value === null || value === '') { - this.removeProperty(name); - return; - } - - var originalText; - if (this._onChange) { - originalText = this.cssText; - } - - if (this._values[name]) { - // Property already exist. Overwrite it. - var index = Array.prototype.indexOf.call(this, name); - if (index < 0) { - this[this._length] = name; - this._length++; - } - } else { - // New property. - this[this._length] = name; - this._length++; - } - this._values[name] = value; - this._importants[name] = priority; - if (this._onChange && this.cssText !== originalText && !this._setInProgress) { - this._onChange(this.cssText); - } - }, - - /** - * - * @param {string} name - * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSStyleDeclaration-removeProperty - * @return {string} the value of the property if it has been explicitly set for this declaration block. - * Returns the empty string if the property has not been set or the property name does not correspond to a known CSS property. - */ - removeProperty: function (name) { - if (!this._values.hasOwnProperty(name)) { - return ''; - } - - var prevValue = this._values[name]; - delete this._values[name]; - delete this._importants[name]; - - var index = Array.prototype.indexOf.call(this, name); - if (index < 0) { - return prevValue; - } - - // That's what WebKit and Opera do - Array.prototype.splice.call(this, index, 1); - - // That's what Firefox does - //this[index] = "" - - if (this._onChange) { - this._onChange(this.cssText); - } - return prevValue; - }, - - /** - * - * @param {String} name - */ - getPropertyPriority: function (name) { - return this._importants[name] || ''; - }, - - getPropertyCSSValue: function () { - //FIXME - return; - }, - - /** - * element.style.overflow = "auto" - * element.style.getPropertyShorthand("overflow-x") - * -> "overflow" - */ - getPropertyShorthand: function () { - //FIXME - return; - }, - - isPropertyImplicit: function () { - //FIXME - return; - }, - - /** - * http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSStyleDeclaration-item - */ - item: function (index) { - index = parseInt(index, 10); - if (index < 0 || index >= this._length) { - return ''; - } - return this[index]; - }, -}; - -Object.defineProperties(CSSStyleDeclaration.prototype, { - cssText: { - get: function () { - var properties = []; - var i; - var name; - var value; - var priority; - for (i = 0; i < this._length; i++) { - name = this[i]; - value = this.getPropertyValue(name); - priority = this.getPropertyPriority(name); - if (priority !== '') { - priority = ' !' + priority; - } - properties.push([name, ': ', value, priority, ';'].join('')); - } - return properties.join(' '); - }, - set: function (value) { - var i; - this._values = {}; - Array.prototype.splice.call(this, 0, this._length); - this._importants = {}; - var dummyRule; - try { - dummyRule = CSSOM.parse('#bogus{' + value + '}').cssRules[0].style; - } catch (err) { - // malformed css, just return - return; - } - this._setInProgress = true; - var rule_length = dummyRule.length; - var name; - for (i = 0; i < rule_length; ++i) { - name = dummyRule[i]; - this.setProperty( - dummyRule[i], - dummyRule.getPropertyValue(name), - dummyRule.getPropertyPriority(name) - ); - } - this._setInProgress = false; - if (this._onChange) { - this._onChange(this.cssText); - } - }, - enumerable: true, - configurable: true, - }, - parentRule: { - get: function () { - return null; - }, - enumerable: true, - configurable: true, - }, - length: { - get: function () { - return this._length; - }, - /** - * This deletes indices if the new length is less then the current - * length. If the new length is more, it does nothing, the new indices - * will be undefined until set. - **/ - set: function (value) { - var i; - for (i = value; i < this._length; i++) { - delete this[i]; - } - this._length = value; - }, - enumerable: true, - configurable: true, - }, -}); - -__nccwpck_require__(49832)(CSSStyleDeclaration.prototype); - -allProperties.forEach(function (property) { - if (!implementedProperties.has(property)) { - var declaration = getBasicPropertyDescriptor(property); - Object.defineProperty(CSSStyleDeclaration.prototype, property, declaration); - Object.defineProperty(CSSStyleDeclaration.prototype, dashedToCamelCase(property), declaration); - } -}); - -allExtraProperties.forEach(function (property) { - if (!implementedProperties.has(property)) { - var declaration = getBasicPropertyDescriptor(property); - Object.defineProperty(CSSStyleDeclaration.prototype, property, declaration); - Object.defineProperty(CSSStyleDeclaration.prototype, dashedToCamelCase(property), declaration); - } -}); - -exports.CSSStyleDeclaration = CSSStyleDeclaration; - - -/***/ }), - -/***/ 73631: -/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { - - - -/** - * This file contains all implemented properties that are not a part of any - * current specifications or drafts, but are handled by browsers nevertheless. - */ - -var allWebkitProperties = __nccwpck_require__(49549); - -module.exports = new Set( - [ - 'background-position-x', - 'background-position-y', - 'background-repeat-x', - 'background-repeat-y', - 'color-interpolation', - 'color-profile', - 'color-rendering', - 'css-float', - 'enable-background', - 'fill', - 'fill-opacity', - 'fill-rule', - 'glyph-orientation-horizontal', - 'image-rendering', - 'kerning', - 'marker', - 'marker-end', - 'marker-mid', - 'marker-offset', - 'marker-start', - 'marks', - 'pointer-events', - 'shape-rendering', - 'size', - 'src', - 'stop-color', - 'stop-opacity', - 'stroke', - 'stroke-dasharray', - 'stroke-dashoffset', - 'stroke-linecap', - 'stroke-linejoin', - 'stroke-miterlimit', - 'stroke-opacity', - 'stroke-width', - 'text-anchor', - 'text-line-through', - 'text-line-through-color', - 'text-line-through-mode', - 'text-line-through-style', - 'text-line-through-width', - 'text-overline', - 'text-overline-color', - 'text-overline-mode', - 'text-overline-style', - 'text-overline-width', - 'text-rendering', - 'text-underline', - 'text-underline-color', - 'text-underline-mode', - 'text-underline-style', - 'text-underline-width', - 'unicode-range', - 'vector-effect', - ].concat(allWebkitProperties) -); - - -/***/ }), - -/***/ 80459: -/***/ ((module) => { - - -// autogenerated - 2024-09-07 -// https://www.w3.org/Style/CSS/all-properties.en.html - -module.exports = new Set([ - '-webkit-line-clamp', - 'accent-color', - 'align-content', - 'align-items', - 'align-self', - 'alignment-baseline', - 'all', - 'anchor-name', - 'anchor-scope', - 'animation', - 'animation-composition', - 'animation-delay', - 'animation-direction', - 'animation-duration', - 'animation-fill-mode', - 'animation-iteration-count', - 'animation-name', - 'animation-play-state', - 'animation-range', - 'animation-range-end', - 'animation-range-start', - 'animation-timeline', - 'animation-timing-function', - 'appearance', - 'aspect-ratio', - 'azimuth', - 'backface-visibility', - 'background', - 'background-attachment', - 'background-blend-mode', - 'background-clip', - 'background-color', - 'background-image', - 'background-origin', - 'background-position', - 'background-repeat', - 'background-size', - 'baseline-shift', - 'baseline-source', - 'block-ellipsis', - 'block-size', - 'bookmark-label', - 'bookmark-level', - 'bookmark-state', - 'border', - 'border-block', - 'border-block-color', - 'border-block-end', - 'border-block-end-color', - 'border-block-end-style', - 'border-block-end-width', - 'border-block-start', - 'border-block-start-color', - 'border-block-start-style', - 'border-block-start-width', - 'border-block-style', - 'border-block-width', - 'border-bottom', - 'border-bottom-color', - 'border-bottom-left-radius', - 'border-bottom-right-radius', - 'border-bottom-style', - 'border-bottom-width', - 'border-boundary', - 'border-collapse', - 'border-color', - 'border-end-end-radius', - 'border-end-start-radius', - 'border-image', - 'border-image-outset', - 'border-image-repeat', - 'border-image-slice', - 'border-image-source', - 'border-image-width', - 'border-inline', - 'border-inline-color', - 'border-inline-end', - 'border-inline-end-color', - 'border-inline-end-style', - 'border-inline-end-width', - 'border-inline-start', - 'border-inline-start-color', - 'border-inline-start-style', - 'border-inline-start-width', - 'border-inline-style', - 'border-inline-width', - 'border-left', - 'border-left-color', - 'border-left-style', - 'border-left-width', - 'border-radius', - 'border-right', - 'border-right-color', - 'border-right-style', - 'border-right-width', - 'border-spacing', - 'border-start-end-radius', - 'border-start-start-radius', - 'border-style', - 'border-top', - 'border-top-color', - 'border-top-left-radius', - 'border-top-right-radius', - 'border-top-style', - 'border-top-width', - 'border-width', - 'bottom', - 'box-decoration-break', - 'box-shadow', - 'box-sizing', - 'box-snap', - 'break-after', - 'break-before', - 'break-inside', - 'caption-side', - 'caret', - 'caret-color', - 'caret-shape', - 'clear', - 'clip', - 'clip-path', - 'clip-rule', - 'color', - 'color-adjust', - 'color-interpolation-filters', - 'color-scheme', - 'column-count', - 'column-fill', - 'column-gap', - 'column-rule', - 'column-rule-color', - 'column-rule-style', - 'column-rule-width', - 'column-span', - 'column-width', - 'columns', - 'contain', - 'contain-intrinsic-block-size', - 'contain-intrinsic-height', - 'contain-intrinsic-inline-size', - 'contain-intrinsic-size', - 'contain-intrinsic-width', - 'container', - 'container-name', - 'container-type', - 'content', - 'content-visibility', - 'continue', - 'counter-increment', - 'counter-reset', - 'counter-set', - 'cue', - 'cue-after', - 'cue-before', - 'cursor', - 'direction', - 'display', - 'dominant-baseline', - 'elevation', - 'empty-cells', - 'filter', - 'flex', - 'flex-basis', - 'flex-direction', - 'flex-flow', - 'flex-grow', - 'flex-shrink', - 'flex-wrap', - 'float', - 'flood-color', - 'flood-opacity', - 'flow-from', - 'flow-into', - 'font', - 'font-family', - 'font-feature-settings', - 'font-kerning', - 'font-language-override', - 'font-optical-sizing', - 'font-palette', - 'font-size', - 'font-size-adjust', - 'font-stretch', - 'font-style', - 'font-synthesis', - 'font-synthesis-position', - 'font-synthesis-small-caps', - 'font-synthesis-style', - 'font-synthesis-weight', - 'font-variant', - 'font-variant-alternates', - 'font-variant-caps', - 'font-variant-east-asian', - 'font-variant-emoji', - 'font-variant-ligatures', - 'font-variant-numeric', - 'font-variant-position', - 'font-variation-settings', - 'font-weight', - 'font-width', - 'footnote-display', - 'footnote-policy', - 'forced-color-adjust', - 'gap', - 'glyph-orientation-vertical', - 'grid', - 'grid-area', - 'grid-auto-columns', - 'grid-auto-flow', - 'grid-auto-rows', - 'grid-column', - 'grid-column-end', - 'grid-column-start', - 'grid-row', - 'grid-row-end', - 'grid-row-start', - 'grid-template', - 'grid-template-areas', - 'grid-template-columns', - 'grid-template-rows', - 'hanging-punctuation', - 'height', - 'hyphenate-character', - 'hyphenate-limit-chars', - 'hyphenate-limit-last', - 'hyphenate-limit-lines', - 'hyphenate-limit-zone', - 'hyphens', - 'image-orientation', - 'image-rendering', - 'image-resolution', - 'initial-letter', - 'initial-letter-align', - 'initial-letter-wrap', - 'inline-size', - 'inline-sizing', - 'inset', - 'inset-area', - 'inset-block', - 'inset-block-end', - 'inset-block-start', - 'inset-inline', - 'inset-inline-end', - 'inset-inline-start', - 'isolation', - 'justify-content', - 'justify-items', - 'justify-self', - 'left', - 'letter-spacing', - 'lighting-color', - 'line-break', - 'line-clamp', - 'line-fit-edge', - 'line-grid', - 'line-height', - 'line-padding', - 'line-snap', - 'list-style', - 'list-style-image', - 'list-style-position', - 'list-style-type', - 'margin', - 'margin-block', - 'margin-block-end', - 'margin-block-start', - 'margin-bottom', - 'margin-inline', - 'margin-inline-end', - 'margin-inline-start', - 'margin-left', - 'margin-right', - 'margin-top', - 'margin-trim', - 'marker-side', - 'mask', - 'mask-border', - 'mask-border-mode', - 'mask-border-outset', - 'mask-border-repeat', - 'mask-border-slice', - 'mask-border-source', - 'mask-border-width', - 'mask-clip', - 'mask-composite', - 'mask-image', - 'mask-mode', - 'mask-origin', - 'mask-position', - 'mask-repeat', - 'mask-size', - 'mask-type', - 'max-block-size', - 'max-height', - 'max-inline-size', - 'max-lines', - 'max-width', - 'min-block-size', - 'min-height', - 'min-inline-size', - 'min-intrinsic-sizing', - 'min-width', - 'mix-blend-mode', - 'nav-down', - 'nav-left', - 'nav-right', - 'nav-up', - 'object-fit', - 'object-position', - 'offset', - 'offset-anchor', - 'offset-distance', - 'offset-path', - 'offset-position', - 'offset-rotate', - 'opacity', - 'order', - 'orphans', - 'outline', - 'outline-color', - 'outline-offset', - 'outline-style', - 'outline-width', - 'overflow', - 'overflow-anchor', - 'overflow-block', - 'overflow-clip-margin', - 'overflow-clip-margin-block', - 'overflow-clip-margin-block-end', - 'overflow-clip-margin-block-start', - 'overflow-clip-margin-bottom', - 'overflow-clip-margin-inline', - 'overflow-clip-margin-inline-end', - 'overflow-clip-margin-inline-start', - 'overflow-clip-margin-left', - 'overflow-clip-margin-right', - 'overflow-clip-margin-top', - 'overflow-inline', - 'overflow-wrap', - 'overflow-x', - 'overflow-y', - 'padding', - 'padding-block', - 'padding-block-end', - 'padding-block-start', - 'padding-bottom', - 'padding-inline', - 'padding-inline-end', - 'padding-inline-start', - 'padding-left', - 'padding-right', - 'padding-top', - 'page', - 'page-break-after', - 'page-break-before', - 'page-break-inside', - 'pause', - 'pause-after', - 'pause-before', - 'perspective', - 'perspective-origin', - 'pitch', - 'pitch-range', - 'place-content', - 'place-items', - 'place-self', - 'play-during', - 'position', - 'position-anchor', - 'position-try', - 'position-try-options', - 'position-try-order', - 'print-color-adjust', - 'quotes', - 'region-fragment', - 'resize', - 'rest', - 'rest-after', - 'rest-before', - 'richness', - 'right', - 'rotate', - 'row-gap', - 'ruby-align', - 'ruby-merge', - 'ruby-overhang', - 'ruby-position', - 'running', - 'scale', - 'scroll-behavior', - 'scroll-margin', - 'scroll-margin-block', - 'scroll-margin-block-end', - 'scroll-margin-block-start', - 'scroll-margin-bottom', - 'scroll-margin-inline', - 'scroll-margin-inline-end', - 'scroll-margin-inline-start', - 'scroll-margin-left', - 'scroll-margin-right', - 'scroll-margin-top', - 'scroll-padding', - 'scroll-padding-block', - 'scroll-padding-block-end', - 'scroll-padding-block-start', - 'scroll-padding-bottom', - 'scroll-padding-inline', - 'scroll-padding-inline-end', - 'scroll-padding-inline-start', - 'scroll-padding-left', - 'scroll-padding-right', - 'scroll-padding-top', - 'scroll-snap-align', - 'scroll-snap-stop', - 'scroll-snap-type', - 'scroll-timeline', - 'scroll-timeline-axis', - 'scroll-timeline-name', - 'scrollbar-color', - 'scrollbar-gutter', - 'scrollbar-width', - 'shape-image-threshold', - 'shape-inside', - 'shape-margin', - 'shape-outside', - 'spatial-navigation-action', - 'spatial-navigation-contain', - 'spatial-navigation-function', - 'speak', - 'speak-as', - 'speak-header', - 'speak-numeral', - 'speak-punctuation', - 'speech-rate', - 'stress', - 'string-set', - 'tab-size', - 'table-layout', - 'text-align', - 'text-align-all', - 'text-align-last', - 'text-autospace', - 'text-box', - 'text-box-edge', - 'text-box-trim', - 'text-combine-upright', - 'text-decoration', - 'text-decoration-color', - 'text-decoration-line', - 'text-decoration-skip', - 'text-decoration-skip-box', - 'text-decoration-skip-ink', - 'text-decoration-skip-inset', - 'text-decoration-skip-self', - 'text-decoration-skip-spaces', - 'text-decoration-style', - 'text-decoration-thickness', - 'text-emphasis', - 'text-emphasis-color', - 'text-emphasis-position', - 'text-emphasis-skip', - 'text-emphasis-style', - 'text-group-align', - 'text-indent', - 'text-justify', - 'text-orientation', - 'text-overflow', - 'text-shadow', - 'text-spacing', - 'text-spacing-trim', - 'text-transform', - 'text-underline-offset', - 'text-underline-position', - 'text-wrap', - 'text-wrap-mode', - 'text-wrap-style', - 'timeline-scope', - 'top', - 'transform', - 'transform-box', - 'transform-origin', - 'transform-style', - 'transition', - 'transition-delay', - 'transition-duration', - 'transition-property', - 'transition-timing-function', - 'translate', - 'unicode-bidi', - 'user-select', - 'vertical-align', - 'view-timeline', - 'view-timeline-axis', - 'view-timeline-inset', - 'view-timeline-name', - 'view-transition-name', - 'visibility', - 'voice-balance', - 'voice-duration', - 'voice-family', - 'voice-pitch', - 'voice-range', - 'voice-rate', - 'voice-stress', - 'voice-volume', - 'volume', - 'white-space', - 'white-space-collapse', - 'white-space-trim', - 'widows', - 'width', - 'will-change', - 'word-break', - 'word-space-transform', - 'word-spacing', - 'word-wrap', - 'wrap-after', - 'wrap-before', - 'wrap-flow', - 'wrap-inside', - 'wrap-through', - 'writing-mode', - 'z-index', -]); - - -/***/ }), - -/***/ 49549: -/***/ ((module) => { - - - -/** - * This file contains all implemented properties that are not a part of any - * current specifications or drafts, but are handled by browsers nevertheless. - */ - -module.exports = [ - 'animation', - 'animation-delay', - 'animation-direction', - 'animation-duration', - 'animation-fill-mode', - 'animation-iteration-count', - 'animation-name', - 'animation-play-state', - 'animation-timing-function', - 'appearance', - 'aspect-ratio', - 'backface-visibility', - 'background-clip', - 'background-composite', - 'background-origin', - 'background-size', - 'border-after', - 'border-after-color', - 'border-after-style', - 'border-after-width', - 'border-before', - 'border-before-color', - 'border-before-style', - 'border-before-width', - 'border-end', - 'border-end-color', - 'border-end-style', - 'border-end-width', - 'border-fit', - 'border-horizontal-spacing', - 'border-image', - 'border-radius', - 'border-start', - 'border-start-color', - 'border-start-style', - 'border-start-width', - 'border-vertical-spacing', - 'box-align', - 'box-direction', - 'box-flex', - 'box-flex-group', - 'box-lines', - 'box-ordinal-group', - 'box-orient', - 'box-pack', - 'box-reflect', - 'box-shadow', - 'color-correction', - 'column-axis', - 'column-break-after', - 'column-break-before', - 'column-break-inside', - 'column-count', - 'column-gap', - 'column-rule', - 'column-rule-color', - 'column-rule-style', - 'column-rule-width', - 'columns', - 'column-span', - 'column-width', - 'filter', - 'flex-align', - 'flex-direction', - 'flex-flow', - 'flex-item-align', - 'flex-line-pack', - 'flex-order', - 'flex-pack', - 'flex-wrap', - 'flow-from', - 'flow-into', - 'font-feature-settings', - 'font-kerning', - 'font-size-delta', - 'font-smoothing', - 'font-variant-ligatures', - 'highlight', - 'hyphenate-character', - 'hyphenate-limit-after', - 'hyphenate-limit-before', - 'hyphenate-limit-lines', - 'hyphens', - 'line-align', - 'line-box-contain', - 'line-break', - 'line-clamp', - 'line-grid', - 'line-snap', - 'locale', - 'logical-height', - 'logical-width', - 'margin-after', - 'margin-after-collapse', - 'margin-before', - 'margin-before-collapse', - 'margin-bottom-collapse', - 'margin-collapse', - 'margin-end', - 'margin-start', - 'margin-top-collapse', - 'marquee', - 'marquee-direction', - 'marquee-increment', - 'marquee-repetition', - 'marquee-speed', - 'marquee-style', - 'mask', - 'mask-attachment', - 'mask-box-image', - 'mask-box-image-outset', - 'mask-box-image-repeat', - 'mask-box-image-slice', - 'mask-box-image-source', - 'mask-box-image-width', - 'mask-clip', - 'mask-composite', - 'mask-image', - 'mask-origin', - 'mask-position', - 'mask-position-x', - 'mask-position-y', - 'mask-repeat', - 'mask-repeat-x', - 'mask-repeat-y', - 'mask-size', - 'match-nearest-mail-blockquote-color', - 'max-logical-height', - 'max-logical-width', - 'min-logical-height', - 'min-logical-width', - 'nbsp-mode', - 'overflow-scrolling', - 'padding-after', - 'padding-before', - 'padding-end', - 'padding-start', - 'perspective', - 'perspective-origin', - 'perspective-origin-x', - 'perspective-origin-y', - 'print-color-adjust', - 'region-break-after', - 'region-break-before', - 'region-break-inside', - 'region-overflow', - 'rtl-ordering', - 'svg-shadow', - 'tap-highlight-color', - 'text-combine', - 'text-decorations-in-effect', - 'text-emphasis', - 'text-emphasis-color', - 'text-emphasis-position', - 'text-emphasis-style', - 'text-fill-color', - 'text-orientation', - 'text-security', - 'text-size-adjust', - 'text-stroke', - 'text-stroke-color', - 'text-stroke-width', - 'transform', - 'transform-origin', - 'transform-origin-x', - 'transform-origin-y', - 'transform-origin-z', - 'transform-style', - 'transition', - 'transition-delay', - 'transition-duration', - 'transition-property', - 'transition-timing-function', - 'user-drag', - 'user-modify', - 'user-select', - 'wrap', - 'wrap-flow', - 'wrap-margin', - 'wrap-padding', - 'wrap-shape-inside', - 'wrap-shape-outside', - 'wrap-through', - 'writing-mode', - 'zoom', -].map((prop) => 'webkit-' + prop); - - -/***/ }), - -/***/ 42516: -/***/ ((module) => { - - - -module.exports.POSITION_AT_SHORTHAND = { - first: 0, - second: 1, -}; - - -/***/ }), - -/***/ 63816: -/***/ ((module) => { - - - -// autogenerated - 2024-09-07 -// https://www.w3.org/Style/CSS/all-properties.en.html - -module.exports = new Set([ - "azimuth", - "background", - "background-attachment", - "background-color", - "background-image", - "background-position", - "background-repeat", - "border", - "border-bottom", - "border-bottom-color", - "border-bottom-style", - "border-bottom-width", - "border-collapse", - "border-color", - "border-left", - "border-left-color", - "border-left-style", - "border-left-width", - "border-right", - "border-right-color", - "border-right-style", - "border-right-width", - "border-spacing", - "border-style", - "border-top", - "border-top-color", - "border-top-style", - "border-top-width", - "border-width", - "bottom", - "clear", - "clip", - "color", - "css-float", - "flex", - "flex-basis", - "flex-grow", - "flex-shrink", - "float", - "flood-color", - "font", - "font-family", - "font-size", - "font-style", - "font-variant", - "font-weight", - "height", - "left", - "lighting-color", - "line-height", - "margin", - "margin-bottom", - "margin-left", - "margin-right", - "margin-top", - "opacity", - "outline-color", - "padding", - "padding-bottom", - "padding-left", - "padding-right", - "padding-top", - "right", - "stop-color", - "text-line-through-color", - "text-overline-color", - "text-underline-color", - "top", - "webkit-border-after-color", - "webkit-border-before-color", - "webkit-border-end-color", - "webkit-border-start-color", - "webkit-column-rule-color", - "webkit-match-nearest-mail-blockquote-color", - "webkit-tap-highlight-color", - "webkit-text-emphasis-color", - "webkit-text-fill-color", - "webkit-text-stroke-color", - "width" -]); - - -/***/ }), - -/***/ 40593: -/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { - -/********************************************************************* - * These are commonly used parsers for CSS Values they take a string * - * to parse and return a string after it's been converted, if needed * - ********************************************************************/ - - -const namedColors = __nccwpck_require__(13680); -const { hslToRgb } = __nccwpck_require__(28324); - -exports.TYPES = { - INTEGER: 1, - NUMBER: 2, - LENGTH: 3, - PERCENT: 4, - URL: 5, - COLOR: 6, - STRING: 7, - ANGLE: 8, - KEYWORD: 9, - NULL_OR_EMPTY_STR: 10, - CALC: 11, -}; - -// rough regular expressions -var integerRegEx = /^[-+]?[0-9]+$/; -var numberRegEx = /^[-+]?[0-9]*\.?[0-9]+$/; -var lengthRegEx = /^(0|[-+]?[0-9]*\.?[0-9]+(in|cm|em|mm|pt|pc|px|ex|rem|vh|vw|ch))$/; -var percentRegEx = /^[-+]?[0-9]*\.?[0-9]+%$/; -var urlRegEx = /^url\(\s*([^)]*)\s*\)$/; -var stringRegEx = /^("[^"]*"|'[^']*')$/; -var colorRegEx1 = /^#([0-9a-fA-F]{3,4}){1,2}$/; -var colorRegEx2 = /^rgb\(([^)]*)\)$/; -var colorRegEx3 = /^rgba\(([^)]*)\)$/; -var calcRegEx = /^calc\(([^)]*)\)$/; -var colorRegEx4 = - /^hsla?\(\s*(-?\d+|-?\d*.\d+)\s*,\s*(-?\d+|-?\d*.\d+)%\s*,\s*(-?\d+|-?\d*.\d+)%\s*(,\s*(-?\d+|-?\d*.\d+)\s*)?\)/; -var angleRegEx = /^([-+]?[0-9]*\.?[0-9]+)(deg|grad|rad)$/; - -// This will return one of the above types based on the passed in string -exports.valueType = function valueType(val) { - if (val === '' || val === null) { - return exports.TYPES.NULL_OR_EMPTY_STR; - } - if (typeof val === 'number') { - val = val.toString(); - } - - if (typeof val !== 'string') { - return undefined; - } - - if (integerRegEx.test(val)) { - return exports.TYPES.INTEGER; - } - if (numberRegEx.test(val)) { - return exports.TYPES.NUMBER; - } - if (lengthRegEx.test(val)) { - return exports.TYPES.LENGTH; - } - if (percentRegEx.test(val)) { - return exports.TYPES.PERCENT; - } - if (urlRegEx.test(val)) { - return exports.TYPES.URL; - } - if (calcRegEx.test(val)) { - return exports.TYPES.CALC; - } - if (stringRegEx.test(val)) { - return exports.TYPES.STRING; - } - if (angleRegEx.test(val)) { - return exports.TYPES.ANGLE; - } - if (colorRegEx1.test(val)) { - return exports.TYPES.COLOR; - } - - var res = colorRegEx2.exec(val); - var parts; - if (res !== null) { - parts = res[1].split(/\s*,\s*/); - if (parts.length !== 3) { - return undefined; - } - if ( - parts.every(percentRegEx.test.bind(percentRegEx)) || - parts.every(integerRegEx.test.bind(integerRegEx)) - ) { - return exports.TYPES.COLOR; - } - return undefined; - } - res = colorRegEx3.exec(val); - if (res !== null) { - parts = res[1].split(/\s*,\s*/); - if (parts.length !== 4) { - return undefined; - } - if ( - parts.slice(0, 3).every(percentRegEx.test.bind(percentRegEx)) || - parts.slice(0, 3).every(integerRegEx.test.bind(integerRegEx)) - ) { - if (numberRegEx.test(parts[3])) { - return exports.TYPES.COLOR; - } - } - return undefined; - } - - if (colorRegEx4.test(val)) { - return exports.TYPES.COLOR; - } - - // could still be a color, one of the standard keyword colors - val = val.toLowerCase(); - - if (namedColors.includes(val)) { - return exports.TYPES.COLOR; - } - - switch (val) { - // the following are deprecated in CSS3 - case 'activeborder': - case 'activecaption': - case 'appworkspace': - case 'background': - case 'buttonface': - case 'buttonhighlight': - case 'buttonshadow': - case 'buttontext': - case 'captiontext': - case 'graytext': - case 'highlight': - case 'highlighttext': - case 'inactiveborder': - case 'inactivecaption': - case 'inactivecaptiontext': - case 'infobackground': - case 'infotext': - case 'menu': - case 'menutext': - case 'scrollbar': - case 'threeddarkshadow': - case 'threedface': - case 'threedhighlight': - case 'threedlightshadow': - case 'threedshadow': - case 'window': - case 'windowframe': - case 'windowtext': - return exports.TYPES.COLOR; - default: - return exports.TYPES.KEYWORD; - } -}; - -exports.parseInteger = function parseInteger(val) { - var type = exports.valueType(val); - if (type === exports.TYPES.NULL_OR_EMPTY_STR) { - return val; - } - if (type !== exports.TYPES.INTEGER) { - return undefined; - } - return String(parseInt(val, 10)); -}; - -exports.parseNumber = function parseNumber(val) { - var type = exports.valueType(val); - if (type === exports.TYPES.NULL_OR_EMPTY_STR) { - return val; - } - if (type !== exports.TYPES.NUMBER && type !== exports.TYPES.INTEGER) { - return undefined; - } - return String(parseFloat(val)); -}; - -exports.parseLength = function parseLength(val) { - if (val === 0 || val === '0') { - return '0px'; - } - var type = exports.valueType(val); - if (type === exports.TYPES.NULL_OR_EMPTY_STR) { - return val; - } - if (type !== exports.TYPES.LENGTH) { - return undefined; - } - return val; -}; - -exports.parsePercent = function parsePercent(val) { - if (val === 0 || val === '0') { - return '0%'; - } - var type = exports.valueType(val); - if (type === exports.TYPES.NULL_OR_EMPTY_STR) { - return val; - } - if (type !== exports.TYPES.PERCENT) { - return undefined; - } - return val; -}; - -// either a length or a percent -exports.parseMeasurement = function parseMeasurement(val) { - var type = exports.valueType(val); - if (type === exports.TYPES.CALC) { - return val; - } - - var length = exports.parseLength(val); - if (length !== undefined) { - return length; - } - return exports.parsePercent(val); -}; - -exports.parseUrl = function parseUrl(val) { - var type = exports.valueType(val); - if (type === exports.TYPES.NULL_OR_EMPTY_STR) { - return val; - } - var res = urlRegEx.exec(val); - // does it match the regex? - if (!res) { - return undefined; - } - var str = res[1]; - // if it starts with single or double quotes, does it end with the same? - if ((str[0] === '"' || str[0] === "'") && str[0] !== str[str.length - 1]) { - return undefined; - } - if (str[0] === '"' || str[0] === "'") { - str = str.substr(1, str.length - 2); - } - - var i; - for (i = 0; i < str.length; i++) { - switch (str[i]) { - case '(': - case ')': - case ' ': - case '\t': - case '\n': - case "'": - case '"': - return undefined; - case '\\': - i++; - break; - } - } - - return 'url(' + str + ')'; -}; - -exports.parseString = function parseString(val) { - var type = exports.valueType(val); - if (type === exports.TYPES.NULL_OR_EMPTY_STR) { - return val; - } - if (type !== exports.TYPES.STRING) { - return undefined; - } - var i; - for (i = 1; i < val.length - 1; i++) { - switch (val[i]) { - case val[0]: - return undefined; - case '\\': - i++; - while (i < val.length - 1 && /[0-9A-Fa-f]/.test(val[i])) { - i++; - } - break; - } - } - if (i >= val.length) { - return undefined; - } - return val; -}; - -exports.parseColor = function parseColor(val) { - var type = exports.valueType(val); - if (type === exports.TYPES.NULL_OR_EMPTY_STR) { - return val; - } - var red, - green, - blue, - hue, - saturation, - lightness, - alpha = 1; - var parts; - var res = colorRegEx1.exec(val); - // is it #aaa, #ababab, #aaaa, #abababaa - if (res) { - var defaultHex = val.substr(1); - var hex = val.substr(1); - if (hex.length === 3 || hex.length === 4) { - hex = hex[0] + hex[0] + hex[1] + hex[1] + hex[2] + hex[2]; - - if (defaultHex.length === 4) { - hex = hex + defaultHex[3] + defaultHex[3]; - } - } - red = parseInt(hex.substr(0, 2), 16); - green = parseInt(hex.substr(2, 2), 16); - blue = parseInt(hex.substr(4, 2), 16); - if (hex.length === 8) { - var hexAlpha = hex.substr(6, 2); - var hexAlphaToRgbaAlpha = Number((parseInt(hexAlpha, 16) / 255).toFixed(3)); - - return 'rgba(' + red + ', ' + green + ', ' + blue + ', ' + hexAlphaToRgbaAlpha + ')'; - } - return 'rgb(' + red + ', ' + green + ', ' + blue + ')'; - } - - res = colorRegEx2.exec(val); - if (res) { - parts = res[1].split(/\s*,\s*/); - if (parts.length !== 3) { - return undefined; - } - if (parts.every(percentRegEx.test.bind(percentRegEx))) { - red = Math.floor((parseFloat(parts[0].slice(0, -1)) * 255) / 100); - green = Math.floor((parseFloat(parts[1].slice(0, -1)) * 255) / 100); - blue = Math.floor((parseFloat(parts[2].slice(0, -1)) * 255) / 100); - } else if (parts.every(integerRegEx.test.bind(integerRegEx))) { - red = parseInt(parts[0], 10); - green = parseInt(parts[1], 10); - blue = parseInt(parts[2], 10); - } else { - return undefined; - } - red = Math.min(255, Math.max(0, red)); - green = Math.min(255, Math.max(0, green)); - blue = Math.min(255, Math.max(0, blue)); - return 'rgb(' + red + ', ' + green + ', ' + blue + ')'; - } - - res = colorRegEx3.exec(val); - if (res) { - parts = res[1].split(/\s*,\s*/); - if (parts.length !== 4) { - return undefined; - } - if (parts.slice(0, 3).every(percentRegEx.test.bind(percentRegEx))) { - red = Math.floor((parseFloat(parts[0].slice(0, -1)) * 255) / 100); - green = Math.floor((parseFloat(parts[1].slice(0, -1)) * 255) / 100); - blue = Math.floor((parseFloat(parts[2].slice(0, -1)) * 255) / 100); - alpha = parseFloat(parts[3]); - } else if (parts.slice(0, 3).every(integerRegEx.test.bind(integerRegEx))) { - red = parseInt(parts[0], 10); - green = parseInt(parts[1], 10); - blue = parseInt(parts[2], 10); - alpha = parseFloat(parts[3]); - } else { - return undefined; - } - if (isNaN(alpha)) { - alpha = 1; - } - red = Math.min(255, Math.max(0, red)); - green = Math.min(255, Math.max(0, green)); - blue = Math.min(255, Math.max(0, blue)); - alpha = Math.min(1, Math.max(0, alpha)); - if (alpha === 1) { - return 'rgb(' + red + ', ' + green + ', ' + blue + ')'; - } - return 'rgba(' + red + ', ' + green + ', ' + blue + ', ' + alpha + ')'; - } - - res = colorRegEx4.exec(val); - if (res) { - const [, _hue, _saturation, _lightness, _alphaString = ''] = res; - const _alpha = parseFloat(_alphaString.replace(',', '').trim()); - if (!_hue || !_saturation || !_lightness) { - return undefined; - } - hue = parseFloat(_hue); - saturation = parseInt(_saturation, 10); - lightness = parseInt(_lightness, 10); - if (_alpha && numberRegEx.test(_alpha)) { - alpha = parseFloat(_alpha); - } - - const [r, g, b] = hslToRgb(hue, saturation / 100, lightness / 100); - if (!_alphaString || alpha === 1) { - return 'rgb(' + r + ', ' + g + ', ' + b + ')'; - } - return 'rgba(' + r + ', ' + g + ', ' + b + ', ' + alpha + ')'; - } - - if (type === exports.TYPES.COLOR) { - return val; - } - return undefined; -}; - -exports.parseAngle = function parseAngle(val) { - var type = exports.valueType(val); - if (type === exports.TYPES.NULL_OR_EMPTY_STR) { - return val; - } - if (type !== exports.TYPES.ANGLE) { - return undefined; - } - var res = angleRegEx.exec(val); - var flt = parseFloat(res[1]); - if (res[2] === 'rad') { - flt *= 180 / Math.PI; - } else if (res[2] === 'grad') { - flt *= 360 / 400; - } - - while (flt < 0) { - flt += 360; - } - while (flt > 360) { - flt -= 360; - } - return flt + 'deg'; -}; - -exports.parseKeyword = function parseKeyword(val, valid_keywords) { - var type = exports.valueType(val); - if (type === exports.TYPES.NULL_OR_EMPTY_STR) { - return val; - } - if (type !== exports.TYPES.KEYWORD) { - return undefined; - } - val = val.toString().toLowerCase(); - var i; - for (i = 0; i < valid_keywords.length; i++) { - if (valid_keywords[i].toLowerCase() === val) { - return valid_keywords[i]; - } - } - return undefined; -}; - -// utility to translate from border-width to borderWidth -var dashedToCamelCase = function (dashed) { - var i; - var camel = ''; - var nextCap = false; - for (i = 0; i < dashed.length; i++) { - if (dashed[i] !== '-') { - camel += nextCap ? dashed[i].toUpperCase() : dashed[i]; - nextCap = false; - } else { - nextCap = true; - } - } - return camel; -}; -exports.dashedToCamelCase = dashedToCamelCase; - -var is_space = /\s/; -var opening_deliminators = ['"', "'", '(']; -var closing_deliminators = ['"', "'", ')']; -// this splits on whitespace, but keeps quoted and parened parts together -var getParts = function (str) { - var deliminator_stack = []; - var length = str.length; - var i; - var parts = []; - var current_part = ''; - var opening_index; - var closing_index; - for (i = 0; i < length; i++) { - opening_index = opening_deliminators.indexOf(str[i]); - closing_index = closing_deliminators.indexOf(str[i]); - if (is_space.test(str[i])) { - if (deliminator_stack.length === 0) { - if (current_part !== '') { - parts.push(current_part); - } - current_part = ''; - } else { - current_part += str[i]; - } - } else { - if (str[i] === '\\') { - i++; - current_part += str[i]; - } else { - current_part += str[i]; - if ( - closing_index !== -1 && - closing_index === deliminator_stack[deliminator_stack.length - 1] - ) { - deliminator_stack.pop(); - } else if (opening_index !== -1) { - deliminator_stack.push(opening_index); - } - } - } - } - if (current_part !== '') { - parts.push(current_part); - } - return parts; -}; - -/* - * this either returns undefined meaning that it isn't valid - * or returns an object where the keys are dashed short - * hand properties and the values are the values to set - * on them - */ -exports.shorthandParser = function parse(v, shorthand_for) { - var obj = {}; - var type = exports.valueType(v); - if (type === exports.TYPES.NULL_OR_EMPTY_STR) { - Object.keys(shorthand_for).forEach(function (property) { - obj[property] = ''; - }); - return obj; - } - - if (typeof v === 'number') { - v = v.toString(); - } - - if (typeof v !== 'string') { - return undefined; - } - - if (v.toLowerCase() === 'inherit') { - return {}; - } - var parts = getParts(v); - var valid = true; - parts.forEach(function (part, i) { - var part_valid = false; - Object.keys(shorthand_for).forEach(function (property) { - if (shorthand_for[property].isValid(part, i)) { - part_valid = true; - obj[property] = part; - } - }); - valid = valid && part_valid; - }); - if (!valid) { - return undefined; - } - return obj; -}; - -exports.shorthandSetter = function (property, shorthand_for) { - return function (v) { - var obj = exports.shorthandParser(v, shorthand_for); - if (obj === undefined) { - return; - } - //console.log('shorthandSetter for:', property, 'obj:', obj); - Object.keys(obj).forEach(function (subprop) { - // in case subprop is an implicit property, this will clear - // *its* subpropertiesX - var camel = dashedToCamelCase(subprop); - this[camel] = obj[subprop]; - // in case it gets translated into something else (0 -> 0px) - obj[subprop] = this[camel]; - this.removeProperty(subprop); - // don't add in empty properties - if (obj[subprop] !== '') { - this._values[subprop] = obj[subprop]; - } - }, this); - Object.keys(shorthand_for).forEach(function (subprop) { - if (!obj.hasOwnProperty(subprop)) { - this.removeProperty(subprop); - delete this._values[subprop]; - } - }, this); - // in case the value is something like 'none' that removes all values, - // check that the generated one is not empty, first remove the property - // if it already exists, then call the shorthandGetter, if it's an empty - // string, don't set the property - this.removeProperty(property); - var calculated = exports.shorthandGetter(property, shorthand_for).call(this); - if (calculated !== '') { - this._setProperty(property, calculated); - } - }; -}; - -exports.shorthandGetter = function (property, shorthand_for) { - return function () { - if (this._values[property] !== undefined) { - return this.getPropertyValue(property); - } - return Object.keys(shorthand_for) - .map(function (subprop) { - return this.getPropertyValue(subprop); - }, this) - .filter(function (value) { - return value !== ''; - }) - .join(' '); - }; -}; - -// isValid(){1,4} | inherit -// if one, it applies to all -// if two, the first applies to the top and bottom, and the second to left and right -// if three, the first applies to the top, the second to left and right, the third bottom -// if four, top, right, bottom, left -exports.implicitSetter = function (property_before, property_after, isValid, parser) { - property_after = property_after || ''; - if (property_after !== '') { - property_after = '-' + property_after; - } - var part_names = ['top', 'right', 'bottom', 'left']; - - return function (v) { - if (typeof v === 'number') { - v = v.toString(); - } - if (typeof v !== 'string') { - return undefined; - } - var parts; - if (v.toLowerCase() === 'inherit' || v === '') { - parts = [v]; - } else { - parts = getParts(v); - } - if (parts.length < 1 || parts.length > 4) { - return undefined; - } - - if (!parts.every(isValid)) { - return undefined; - } - - parts = parts.map(function (part) { - return parser(part); - }); - this._setProperty(property_before + property_after, parts.join(' ')); - if (parts.length === 1) { - parts[1] = parts[0]; - } - if (parts.length === 2) { - parts[2] = parts[0]; - } - if (parts.length === 3) { - parts[3] = parts[1]; - } - - for (var i = 0; i < 4; i++) { - var property = property_before + '-' + part_names[i] + property_after; - this.removeProperty(property); - if (parts[i] !== '') { - this._values[property] = parts[i]; - } - } - return v; - }; -}; - -// -// Companion to implicitSetter, but for the individual parts. -// This sets the individual value, and checks to see if all four -// sub-parts are set. If so, it sets the shorthand version and removes -// the individual parts from the cssText. -// -exports.subImplicitSetter = function (prefix, part, isValid, parser) { - var property = prefix + '-' + part; - var subparts = [prefix + '-top', prefix + '-right', prefix + '-bottom', prefix + '-left']; - - return function (v) { - if (typeof v === 'number') { - v = v.toString(); - } - if (v === null) { - v = ''; - } - if (typeof v !== 'string') { - return undefined; - } - if (!isValid(v)) { - return undefined; - } - v = parser(v); - this._setProperty(property, v); - - var combinedPriority = this.getPropertyPriority(prefix); - var parts = subparts.map((subpart) => this._values[subpart]); - var priorities = subparts.map((subpart) => this.getPropertyPriority(subpart)); - // Combine into a single property if all values are set and have the same priority - if ( - parts.every((p) => p !== '' && p != null) && - priorities.every((p) => p === priorities[0]) && - priorities[0] === combinedPriority - ) { - for (var i = 0; i < subparts.length; i++) { - this.removeProperty(subparts[i]); - this._values[subparts[i]] = parts[i]; - } - this._setProperty(prefix, parts.join(' '), priorities[0]); - } else { - this.removeProperty(prefix); - for (var j = 0; j < subparts.length; j++) { - // The property we're setting won't be important, the rest will either keep their priority or inherit it from the combined property - var priority = subparts[j] === property ? '' : priorities[j] || combinedPriority; - this._setProperty(subparts[j], parts[j], priority); - } - } - return v; - }; -}; - -var camel_to_dashed = /[A-Z]/g; -var first_segment = /^\([^-]\)-/; -var vendor_prefixes = ['o', 'moz', 'ms', 'webkit']; -exports.camelToDashed = function (camel_case) { - var match; - var dashed = camel_case.replace(camel_to_dashed, '-$&').toLowerCase(); - match = dashed.match(first_segment); - if (match && vendor_prefixes.indexOf(match[1]) !== -1) { - dashed = '-' + dashed; - } - return dashed; -}; - - -/***/ }), - -/***/ 49832: -/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { - - - -// autogenerated - 9/7/2024 - -/* - * - * https://www.w3.org/Style/CSS/all-properties.en.html - */ - -var external_dependency_parsers_0 = __nccwpck_require__(40593); -var external_dependency_constants_1 = __nccwpck_require__(42516); -var azimuth_export_definition; -azimuth_export_definition = { - set: function (v) { - var valueType = external_dependency_parsers_0.valueType(v); - if (valueType === external_dependency_parsers_0.TYPES.ANGLE) { - return this._setProperty('azimuth', external_dependency_parsers_0.parseAngle(v)); - } - if (valueType === external_dependency_parsers_0.TYPES.KEYWORD) { - var keywords = v.toLowerCase().trim().split(/\s+/); - var hasBehind = false; - if (keywords.length > 2) { - return; - } - var behindIndex = keywords.indexOf('behind'); - hasBehind = behindIndex !== -1; - if (keywords.length === 2) { - if (!hasBehind) { - return; - } - keywords.splice(behindIndex, 1); - } - if (keywords[0] === 'leftwards' || keywords[0] === 'rightwards') { - if (hasBehind) { - return; - } - return this._setProperty('azimuth', keywords[0]); - } - if (keywords[0] === 'behind') { - return this._setProperty('azimuth', '180deg'); - } - switch (keywords[0]) { - case 'left-side': - return this._setProperty('azimuth', '270deg'); - case 'far-left': - return this._setProperty('azimuth', (hasBehind ? 240 : 300) + 'deg'); - case 'left': - return this._setProperty('azimuth', (hasBehind ? 220 : 320) + 'deg'); - case 'center-left': - return this._setProperty('azimuth', (hasBehind ? 200 : 340) + 'deg'); - case 'center': - return this._setProperty('azimuth', (hasBehind ? 180 : 0) + 'deg'); - case 'center-right': - return this._setProperty('azimuth', (hasBehind ? 160 : 20) + 'deg'); - case 'right': - return this._setProperty('azimuth', (hasBehind ? 140 : 40) + 'deg'); - case 'far-right': - return this._setProperty('azimuth', (hasBehind ? 120 : 60) + 'deg'); - case 'right-side': - return this._setProperty('azimuth', '90deg'); - default: - return; - } - } - }, - get: function () { - return this.getPropertyValue('azimuth'); - }, - enumerable: true, - configurable: true -}; -var backgroundColor_export_isValid, backgroundColor_export_definition; -var backgroundColor_local_var_parse = function parse(v) { - var parsed = external_dependency_parsers_0.parseColor(v); - if (parsed !== undefined) { - return parsed; - } - if (external_dependency_parsers_0.valueType(v) === external_dependency_parsers_0.TYPES.KEYWORD && (v.toLowerCase() === 'transparent' || v.toLowerCase() === 'inherit')) { - return v; - } - return undefined; -}; -backgroundColor_export_isValid = function isValid(v) { - return backgroundColor_local_var_parse(v) !== undefined; -}; -backgroundColor_export_definition = { - set: function (v) { - var parsed = backgroundColor_local_var_parse(v); - if (parsed === undefined) { - return; - } - this._setProperty('background-color', parsed); - }, - get: function () { - return this.getPropertyValue('background-color'); - }, - enumerable: true, - configurable: true -}; -var backgroundImage_export_isValid, backgroundImage_export_definition; -var backgroundImage_local_var_parse = function parse(v) { - var parsed = external_dependency_parsers_0.parseUrl(v); - if (parsed !== undefined) { - return parsed; - } - if (external_dependency_parsers_0.valueType(v) === external_dependency_parsers_0.TYPES.KEYWORD && (v.toLowerCase() === 'none' || v.toLowerCase() === 'inherit')) { - return v; - } - return undefined; -}; -backgroundImage_export_isValid = function isValid(v) { - return backgroundImage_local_var_parse(v) !== undefined; -}; -backgroundImage_export_definition = { - set: function (v) { - this._setProperty('background-image', backgroundImage_local_var_parse(v)); - }, - get: function () { - return this.getPropertyValue('background-image'); - }, - enumerable: true, - configurable: true -}; -var backgroundRepeat_export_isValid, backgroundRepeat_export_definition; -var backgroundRepeat_local_var_parse = function parse(v) { - if (external_dependency_parsers_0.valueType(v) === external_dependency_parsers_0.TYPES.KEYWORD && (v.toLowerCase() === 'repeat' || v.toLowerCase() === 'repeat-x' || v.toLowerCase() === 'repeat-y' || v.toLowerCase() === 'no-repeat' || v.toLowerCase() === 'inherit')) { - return v; - } - return undefined; -}; -backgroundRepeat_export_isValid = function isValid(v) { - return backgroundRepeat_local_var_parse(v) !== undefined; -}; -backgroundRepeat_export_definition = { - set: function (v) { - this._setProperty('background-repeat', backgroundRepeat_local_var_parse(v)); - }, - get: function () { - return this.getPropertyValue('background-repeat'); - }, - enumerable: true, - configurable: true -}; -var backgroundAttachment_export_isValid, backgroundAttachment_export_definition; -var backgroundAttachment_local_var_isValid = backgroundAttachment_export_isValid = function isValid(v) { - return external_dependency_parsers_0.valueType(v) === external_dependency_parsers_0.TYPES.KEYWORD && (v.toLowerCase() === 'scroll' || v.toLowerCase() === 'fixed' || v.toLowerCase() === 'inherit'); -}; -backgroundAttachment_export_definition = { - set: function (v) { - if (!backgroundAttachment_local_var_isValid(v)) { - return; - } - this._setProperty('background-attachment', v); - }, - get: function () { - return this.getPropertyValue('background-attachment'); - }, - enumerable: true, - configurable: true -}; -var backgroundPosition_export_isValid, backgroundPosition_export_definition; -var backgroundPosition_local_var_valid_keywords = ['top', 'center', 'bottom', 'left', 'right']; -var backgroundPosition_local_var_parse = function parse(v) { - if (v === '' || v === null) { - return undefined; - } - var parts = v.split(/\s+/); - if (parts.length > 2 || parts.length < 1) { - return undefined; - } - var types = []; - parts.forEach(function (part, index) { - types[index] = external_dependency_parsers_0.valueType(part); - }); - if (parts.length === 1) { - if (types[0] === external_dependency_parsers_0.TYPES.LENGTH || types[0] === external_dependency_parsers_0.TYPES.PERCENT) { - return v; - } - if (types[0] === external_dependency_parsers_0.TYPES.KEYWORD) { - if (backgroundPosition_local_var_valid_keywords.indexOf(v.toLowerCase()) !== -1 || v.toLowerCase() === 'inherit') { - return v; - } - } - return undefined; - } - if ((types[0] === external_dependency_parsers_0.TYPES.LENGTH || types[0] === external_dependency_parsers_0.TYPES.PERCENT) && (types[1] === external_dependency_parsers_0.TYPES.LENGTH || types[1] === external_dependency_parsers_0.TYPES.PERCENT)) { - return v; - } - if (types[0] !== external_dependency_parsers_0.TYPES.KEYWORD || types[1] !== external_dependency_parsers_0.TYPES.KEYWORD) { - return undefined; - } - if (backgroundPosition_local_var_valid_keywords.indexOf(parts[0]) !== -1 && backgroundPosition_local_var_valid_keywords.indexOf(parts[1]) !== -1) { - return v; - } - return undefined; -}; -backgroundPosition_export_isValid = function isValid(v) { - return backgroundPosition_local_var_parse(v) !== undefined; -}; -backgroundPosition_export_definition = { - set: function (v) { - this._setProperty('background-position', backgroundPosition_local_var_parse(v)); - }, - get: function () { - return this.getPropertyValue('background-position'); - }, - enumerable: true, - configurable: true -}; -var background_export_definition; -var background_local_var_shorthand_for = { - 'background-color': { - isValid: backgroundColor_export_isValid, - definition: backgroundColor_export_definition - }, - 'background-image': { - isValid: backgroundImage_export_isValid, - definition: backgroundImage_export_definition - }, - 'background-repeat': { - isValid: backgroundRepeat_export_isValid, - definition: backgroundRepeat_export_definition - }, - 'background-attachment': { - isValid: backgroundAttachment_export_isValid, - definition: backgroundAttachment_export_definition - }, - 'background-position': { - isValid: backgroundPosition_export_isValid, - definition: backgroundPosition_export_definition - } -}; -background_export_definition = { - set: external_dependency_parsers_0.shorthandSetter('background', background_local_var_shorthand_for), - get: external_dependency_parsers_0.shorthandGetter('background', background_local_var_shorthand_for), - enumerable: true, - configurable: true -}; -var borderWidth_export_isValid, borderWidth_export_definition; -// the valid border-widths: -var borderWidth_local_var_widths = ['thin', 'medium', 'thick']; -borderWidth_export_isValid = function parse(v) { - var length = external_dependency_parsers_0.parseLength(v); - if (length !== undefined) { - return true; - } - if (typeof v !== 'string') { - return false; - } - if (v === '') { - return true; - } - v = v.toLowerCase(); - if (borderWidth_local_var_widths.indexOf(v) === -1) { - return false; - } - return true; -}; -var borderWidth_local_var_isValid = borderWidth_export_isValid; -var borderWidth_local_var_parser = function (v) { - var length = external_dependency_parsers_0.parseLength(v); - if (length !== undefined) { - return length; - } - if (borderWidth_local_var_isValid(v)) { - return v.toLowerCase(); - } - return undefined; -}; -borderWidth_export_definition = { - set: external_dependency_parsers_0.implicitSetter('border', 'width', borderWidth_local_var_isValid, borderWidth_local_var_parser), - get: function () { - return this.getPropertyValue('border-width'); - }, - enumerable: true, - configurable: true -}; -var borderStyle_export_isValid, borderStyle_export_definition; -// the valid border-styles: -var borderStyle_local_var_styles = ['none', 'hidden', 'dotted', 'dashed', 'solid', 'double', 'groove', 'ridge', 'inset', 'outset']; -borderStyle_export_isValid = function parse(v) { - return typeof v === 'string' && (v === '' || borderStyle_local_var_styles.indexOf(v) !== -1); -}; -var borderStyle_local_var_isValid = borderStyle_export_isValid; -var borderStyle_local_var_parser = function (v) { - if (borderStyle_local_var_isValid(v)) { - return v.toLowerCase(); - } - return undefined; -}; -borderStyle_export_definition = { - set: external_dependency_parsers_0.implicitSetter('border', 'style', borderStyle_local_var_isValid, borderStyle_local_var_parser), - get: function () { - return this.getPropertyValue('border-style'); - }, - enumerable: true, - configurable: true -}; -var borderColor_export_isValid, borderColor_export_definition; -borderColor_export_isValid = function parse(v) { - if (typeof v !== 'string') { - return false; - } - return v === '' || v.toLowerCase() === 'transparent' || external_dependency_parsers_0.valueType(v) === external_dependency_parsers_0.TYPES.COLOR; -}; -var borderColor_local_var_isValid = borderColor_export_isValid; -var borderColor_local_var_parser = function (v) { - if (borderColor_local_var_isValid(v)) { - return v.toLowerCase(); - } - return undefined; -}; -borderColor_export_definition = { - set: external_dependency_parsers_0.implicitSetter('border', 'color', borderColor_local_var_isValid, borderColor_local_var_parser), - get: function () { - return this.getPropertyValue('border-color'); - }, - enumerable: true, - configurable: true -}; -var border_export_definition; -var border_local_var_shorthand_for = { - 'border-width': { - isValid: borderWidth_export_isValid, - definition: borderWidth_export_definition - }, - 'border-style': { - isValid: borderStyle_export_isValid, - definition: borderStyle_export_definition - }, - 'border-color': { - isValid: borderColor_export_isValid, - definition: borderColor_export_definition - } -}; -var border_local_var_myShorthandSetter = external_dependency_parsers_0.shorthandSetter('border', border_local_var_shorthand_for); -var border_local_var_myShorthandGetter = external_dependency_parsers_0.shorthandGetter('border', border_local_var_shorthand_for); -border_export_definition = { - set: function (v) { - if (v.toString().toLowerCase() === 'none') { - v = ''; - } - border_local_var_myShorthandSetter.call(this, v); - this.removeProperty('border-top'); - this.removeProperty('border-left'); - this.removeProperty('border-right'); - this.removeProperty('border-bottom'); - this._values['border-top'] = this._values.border; - this._values['border-left'] = this._values.border; - this._values['border-right'] = this._values.border; - this._values['border-bottom'] = this._values.border; - }, - get: border_local_var_myShorthandGetter, - enumerable: true, - configurable: true -}; -var borderBottomWidth_export_isValid, borderBottomWidth_export_definition; -var borderBottomWidth_local_var_isValid = borderBottomWidth_export_isValid = borderWidth_export_isValid; -borderBottomWidth_export_definition = { - set: function (v) { - if (borderBottomWidth_local_var_isValid(v)) { - this._setProperty('border-bottom-width', v); - } - }, - get: function () { - return this.getPropertyValue('border-bottom-width'); - }, - enumerable: true, - configurable: true -}; -var borderBottomStyle_export_isValid, borderBottomStyle_export_definition; -borderBottomStyle_export_isValid = borderStyle_export_isValid; -borderBottomStyle_export_definition = { - set: function (v) { - if (borderStyle_export_isValid(v)) { - if (v.toLowerCase() === 'none') { - v = ''; - this.removeProperty('border-bottom-width'); - } - this._setProperty('border-bottom-style', v); - } - }, - get: function () { - return this.getPropertyValue('border-bottom-style'); - }, - enumerable: true, - configurable: true -}; -var borderBottomColor_export_isValid, borderBottomColor_export_definition; -var borderBottomColor_local_var_isValid = borderBottomColor_export_isValid = borderColor_export_isValid; -borderBottomColor_export_definition = { - set: function (v) { - if (borderBottomColor_local_var_isValid(v)) { - this._setProperty('border-bottom-color', v); - } - }, - get: function () { - return this.getPropertyValue('border-bottom-color'); - }, - enumerable: true, - configurable: true -}; -var borderBottom_export_definition; -var borderBottom_local_var_shorthand_for = { - 'border-bottom-width': { - isValid: borderBottomWidth_export_isValid, - definition: borderBottomWidth_export_definition - }, - 'border-bottom-style': { - isValid: borderBottomStyle_export_isValid, - definition: borderBottomStyle_export_definition - }, - 'border-bottom-color': { - isValid: borderBottomColor_export_isValid, - definition: borderBottomColor_export_definition - } -}; -borderBottom_export_definition = { - set: external_dependency_parsers_0.shorthandSetter('border-bottom', borderBottom_local_var_shorthand_for), - get: external_dependency_parsers_0.shorthandGetter('border-bottom', borderBottom_local_var_shorthand_for), - enumerable: true, - configurable: true -}; -var borderCollapse_export_definition; -var borderCollapse_local_var_parse = function parse(v) { - if (external_dependency_parsers_0.valueType(v) === external_dependency_parsers_0.TYPES.KEYWORD && (v.toLowerCase() === 'collapse' || v.toLowerCase() === 'separate' || v.toLowerCase() === 'inherit')) { - return v; - } - return undefined; -}; -borderCollapse_export_definition = { - set: function (v) { - this._setProperty('border-collapse', borderCollapse_local_var_parse(v)); - }, - get: function () { - return this.getPropertyValue('border-collapse'); - }, - enumerable: true, - configurable: true -}; -var borderLeftWidth_export_isValid, borderLeftWidth_export_definition; -var borderLeftWidth_local_var_isValid = borderLeftWidth_export_isValid = borderWidth_export_isValid; -borderLeftWidth_export_definition = { - set: function (v) { - if (borderLeftWidth_local_var_isValid(v)) { - this._setProperty('border-left-width', v); - } - }, - get: function () { - return this.getPropertyValue('border-left-width'); - }, - enumerable: true, - configurable: true -}; -var borderLeftStyle_export_isValid, borderLeftStyle_export_definition; -borderLeftStyle_export_isValid = borderStyle_export_isValid; -borderLeftStyle_export_definition = { - set: function (v) { - if (borderStyle_export_isValid(v)) { - if (v.toLowerCase() === 'none') { - v = ''; - this.removeProperty('border-left-width'); - } - this._setProperty('border-left-style', v); - } - }, - get: function () { - return this.getPropertyValue('border-left-style'); - }, - enumerable: true, - configurable: true -}; -var borderLeftColor_export_isValid, borderLeftColor_export_definition; -var borderLeftColor_local_var_isValid = borderLeftColor_export_isValid = borderColor_export_isValid; -borderLeftColor_export_definition = { - set: function (v) { - if (borderLeftColor_local_var_isValid(v)) { - this._setProperty('border-left-color', v); - } - }, - get: function () { - return this.getPropertyValue('border-left-color'); - }, - enumerable: true, - configurable: true -}; -var borderLeft_export_definition; -var borderLeft_local_var_shorthand_for = { - 'border-left-width': { - isValid: borderLeftWidth_export_isValid, - definition: borderLeftWidth_export_definition - }, - 'border-left-style': { - isValid: borderLeftStyle_export_isValid, - definition: borderLeftStyle_export_definition - }, - 'border-left-color': { - isValid: borderLeftColor_export_isValid, - definition: borderLeftColor_export_definition - } -}; -borderLeft_export_definition = { - set: external_dependency_parsers_0.shorthandSetter('border-left', borderLeft_local_var_shorthand_for), - get: external_dependency_parsers_0.shorthandGetter('border-left', borderLeft_local_var_shorthand_for), - enumerable: true, - configurable: true -}; -var borderRightWidth_export_isValid, borderRightWidth_export_definition; -var borderRightWidth_local_var_isValid = borderRightWidth_export_isValid = borderWidth_export_isValid; -borderRightWidth_export_definition = { - set: function (v) { - if (borderRightWidth_local_var_isValid(v)) { - this._setProperty('border-right-width', v); - } - }, - get: function () { - return this.getPropertyValue('border-right-width'); - }, - enumerable: true, - configurable: true -}; -var borderRightStyle_export_isValid, borderRightStyle_export_definition; -borderRightStyle_export_isValid = borderStyle_export_isValid; -borderRightStyle_export_definition = { - set: function (v) { - if (borderStyle_export_isValid(v)) { - if (v.toLowerCase() === 'none') { - v = ''; - this.removeProperty('border-right-width'); - } - this._setProperty('border-right-style', v); - } - }, - get: function () { - return this.getPropertyValue('border-right-style'); - }, - enumerable: true, - configurable: true -}; -var borderRightColor_export_isValid, borderRightColor_export_definition; -var borderRightColor_local_var_isValid = borderRightColor_export_isValid = borderColor_export_isValid; -borderRightColor_export_definition = { - set: function (v) { - if (borderRightColor_local_var_isValid(v)) { - this._setProperty('border-right-color', v); - } - }, - get: function () { - return this.getPropertyValue('border-right-color'); - }, - enumerable: true, - configurable: true -}; -var borderRight_export_definition; -var borderRight_local_var_shorthand_for = { - 'border-right-width': { - isValid: borderRightWidth_export_isValid, - definition: borderRightWidth_export_definition - }, - 'border-right-style': { - isValid: borderRightStyle_export_isValid, - definition: borderRightStyle_export_definition - }, - 'border-right-color': { - isValid: borderRightColor_export_isValid, - definition: borderRightColor_export_definition - } -}; -borderRight_export_definition = { - set: external_dependency_parsers_0.shorthandSetter('border-right', borderRight_local_var_shorthand_for), - get: external_dependency_parsers_0.shorthandGetter('border-right', borderRight_local_var_shorthand_for), - enumerable: true, - configurable: true -}; -var borderSpacing_export_definition; -// ? | inherit -// if one, it applies to both horizontal and verical spacing -// if two, the first applies to the horizontal and the second applies to vertical spacing - -var borderSpacing_local_var_parse = function parse(v) { - if (v === '' || v === null) { - return undefined; - } - if (v === 0) { - return '0px'; - } - if (v.toLowerCase() === 'inherit') { - return v; - } - var parts = v.split(/\s+/); - if (parts.length !== 1 && parts.length !== 2) { - return undefined; - } - parts.forEach(function (part) { - if (external_dependency_parsers_0.valueType(part) !== external_dependency_parsers_0.TYPES.LENGTH) { - return undefined; - } - }); - return v; -}; -borderSpacing_export_definition = { - set: function (v) { - this._setProperty('border-spacing', borderSpacing_local_var_parse(v)); - }, - get: function () { - return this.getPropertyValue('border-spacing'); - }, - enumerable: true, - configurable: true -}; -var borderTopWidth_export_isValid, borderTopWidth_export_definition; -borderTopWidth_export_isValid = borderWidth_export_isValid; -borderTopWidth_export_definition = { - set: function (v) { - if (borderWidth_export_isValid(v)) { - this._setProperty('border-top-width', v); - } - }, - get: function () { - return this.getPropertyValue('border-top-width'); - }, - enumerable: true, - configurable: true -}; -var borderTopStyle_export_isValid, borderTopStyle_export_definition; -borderTopStyle_export_isValid = borderStyle_export_isValid; -borderTopStyle_export_definition = { - set: function (v) { - if (borderStyle_export_isValid(v)) { - if (v.toLowerCase() === 'none') { - v = ''; - this.removeProperty('border-top-width'); - } - this._setProperty('border-top-style', v); - } - }, - get: function () { - return this.getPropertyValue('border-top-style'); - }, - enumerable: true, - configurable: true -}; -var borderTopColor_export_isValid, borderTopColor_export_definition; -var borderTopColor_local_var_isValid = borderTopColor_export_isValid = borderColor_export_isValid; -borderTopColor_export_definition = { - set: function (v) { - if (borderTopColor_local_var_isValid(v)) { - this._setProperty('border-top-color', v); - } - }, - get: function () { - return this.getPropertyValue('border-top-color'); - }, - enumerable: true, - configurable: true -}; -var borderTop_export_definition; -var borderTop_local_var_shorthand_for = { - 'border-top-width': { - isValid: borderTopWidth_export_isValid, - definition: borderTopWidth_export_definition - }, - 'border-top-style': { - isValid: borderTopStyle_export_isValid, - definition: borderTopStyle_export_definition - }, - 'border-top-color': { - isValid: borderTopColor_export_isValid, - definition: borderTopColor_export_definition - } -}; -borderTop_export_definition = { - set: external_dependency_parsers_0.shorthandSetter('border-top', borderTop_local_var_shorthand_for), - get: external_dependency_parsers_0.shorthandGetter('border-top', borderTop_local_var_shorthand_for), - enumerable: true, - configurable: true -}; -var bottom_export_definition; -bottom_export_definition = { - set: function (v) { - this._setProperty('bottom', external_dependency_parsers_0.parseMeasurement(v)); - }, - get: function () { - return this.getPropertyValue('bottom'); - }, - enumerable: true, - configurable: true -}; -var clear_export_definition; -var clear_local_var_clear_keywords = ['none', 'left', 'right', 'both', 'inherit']; -clear_export_definition = { - set: function (v) { - this._setProperty('clear', external_dependency_parsers_0.parseKeyword(v, clear_local_var_clear_keywords)); - }, - get: function () { - return this.getPropertyValue('clear'); - }, - enumerable: true, - configurable: true -}; -var clip_export_definition; -var clip_local_var_shape_regex = /^rect\((.*)\)$/i; -var clip_local_var_parse = function (val) { - if (val === '' || val === null) { - return val; - } - if (typeof val !== 'string') { - return undefined; - } - val = val.toLowerCase(); - if (val === 'auto' || val === 'inherit') { - return val; - } - var matches = val.match(clip_local_var_shape_regex); - if (!matches) { - return undefined; - } - var parts = matches[1].split(/\s*,\s*/); - if (parts.length !== 4) { - return undefined; - } - var valid = parts.every(function (part, index) { - var measurement = external_dependency_parsers_0.parseMeasurement(part); - parts[index] = measurement; - return measurement !== undefined; - }); - if (!valid) { - return undefined; - } - parts = parts.join(', '); - return val.replace(matches[1], parts); -}; -clip_export_definition = { - set: function (v) { - this._setProperty('clip', clip_local_var_parse(v)); - }, - get: function () { - return this.getPropertyValue('clip'); - }, - enumerable: true, - configurable: true -}; -var color_export_definition; -color_export_definition = { - set: function (v) { - this._setProperty('color', external_dependency_parsers_0.parseColor(v)); - }, - get: function () { - return this.getPropertyValue('color'); - }, - enumerable: true, - configurable: true -}; -var cssFloat_export_definition; -cssFloat_export_definition = { - set: function (v) { - this._setProperty('float', v); - }, - get: function () { - return this.getPropertyValue('float'); - }, - enumerable: true, - configurable: true -}; -var flexGrow_export_isValid, flexGrow_export_definition; -flexGrow_export_isValid = function isValid(v, positionAtFlexShorthand) { - return external_dependency_parsers_0.parseNumber(v) !== undefined && positionAtFlexShorthand === external_dependency_constants_1.POSITION_AT_SHORTHAND.first; -}; -flexGrow_export_definition = { - set: function (v) { - this._setProperty('flex-grow', external_dependency_parsers_0.parseNumber(v)); - }, - get: function () { - return this.getPropertyValue('flex-grow'); - }, - enumerable: true, - configurable: true -}; -var flexShrink_export_isValid, flexShrink_export_definition; -flexShrink_export_isValid = function isValid(v, positionAtFlexShorthand) { - return external_dependency_parsers_0.parseNumber(v) !== undefined && positionAtFlexShorthand === external_dependency_constants_1.POSITION_AT_SHORTHAND.second; -}; -flexShrink_export_definition = { - set: function (v) { - this._setProperty('flex-shrink', external_dependency_parsers_0.parseNumber(v)); - }, - get: function () { - return this.getPropertyValue('flex-shrink'); - }, - enumerable: true, - configurable: true -}; -var flexBasis_export_isValid, flexBasis_export_definition; -function flexBasis_local_fn_parse(v) { - if (String(v).toLowerCase() === 'auto') { - return 'auto'; - } - if (String(v).toLowerCase() === 'inherit') { - return 'inherit'; - } - return external_dependency_parsers_0.parseMeasurement(v); -} -flexBasis_export_isValid = function isValid(v) { - return flexBasis_local_fn_parse(v) !== undefined; -}; -flexBasis_export_definition = { - set: function (v) { - this._setProperty('flex-basis', flexBasis_local_fn_parse(v)); - }, - get: function () { - return this.getPropertyValue('flex-basis'); - }, - enumerable: true, - configurable: true -}; -var flex_export_isValid, flex_export_definition; -var flex_local_var_shorthand_for = { - 'flex-grow': { - isValid: flexGrow_export_isValid, - definition: flexGrow_export_definition - }, - 'flex-shrink': { - isValid: flexShrink_export_isValid, - definition: flexShrink_export_definition - }, - 'flex-basis': { - isValid: flexBasis_export_isValid, - definition: flexBasis_export_definition - } -}; -var flex_local_var_myShorthandSetter = external_dependency_parsers_0.shorthandSetter('flex', flex_local_var_shorthand_for); -flex_export_isValid = function isValid(v) { - return external_dependency_parsers_0.shorthandParser(v, flex_local_var_shorthand_for) !== undefined; -}; -flex_export_definition = { - set: function (v) { - var normalizedValue = String(v).trim().toLowerCase(); - if (normalizedValue === 'none') { - flex_local_var_myShorthandSetter.call(this, '0 0 auto'); - return; - } - if (normalizedValue === 'initial') { - flex_local_var_myShorthandSetter.call(this, '0 1 auto'); - return; - } - if (normalizedValue === 'auto') { - this.removeProperty('flex-grow'); - this.removeProperty('flex-shrink'); - this.setProperty('flex-basis', normalizedValue); - return; - } - flex_local_var_myShorthandSetter.call(this, v); - }, - get: external_dependency_parsers_0.shorthandGetter('flex', flex_local_var_shorthand_for), - enumerable: true, - configurable: true -}; -var float_export_definition; -float_export_definition = { - set: function (v) { - this._setProperty('float', v); - }, - get: function () { - return this.getPropertyValue('float'); - }, - enumerable: true, - configurable: true -}; -var floodColor_export_definition; -floodColor_export_definition = { - set: function (v) { - this._setProperty('flood-color', external_dependency_parsers_0.parseColor(v)); - }, - get: function () { - return this.getPropertyValue('flood-color'); - }, - enumerable: true, - configurable: true -}; -var fontFamily_export_isValid, fontFamily_export_definition; -var fontFamily_local_var_partsRegEx = /\s*,\s*/; -fontFamily_export_isValid = function isValid(v) { - if (v === '' || v === null) { - return true; - } - var parts = v.split(fontFamily_local_var_partsRegEx); - var len = parts.length; - var i; - var type; - for (i = 0; i < len; i++) { - type = external_dependency_parsers_0.valueType(parts[i]); - if (type === external_dependency_parsers_0.TYPES.STRING || type === external_dependency_parsers_0.TYPES.KEYWORD) { - return true; - } - } - return false; -}; -fontFamily_export_definition = { - set: function (v) { - this._setProperty('font-family', v); - }, - get: function () { - return this.getPropertyValue('font-family'); - }, - enumerable: true, - configurable: true -}; -var fontSize_export_isValid, fontSize_export_definition; -var fontSize_local_var_absoluteSizes = ['xx-small', 'x-small', 'small', 'medium', 'large', 'x-large', 'xx-large']; -var fontSize_local_var_relativeSizes = ['larger', 'smaller']; -fontSize_export_isValid = function (v) { - var type = external_dependency_parsers_0.valueType(v.toLowerCase()); - return type === external_dependency_parsers_0.TYPES.LENGTH || type === external_dependency_parsers_0.TYPES.PERCENT || type === external_dependency_parsers_0.TYPES.KEYWORD && fontSize_local_var_absoluteSizes.indexOf(v.toLowerCase()) !== -1 || type === external_dependency_parsers_0.TYPES.KEYWORD && fontSize_local_var_relativeSizes.indexOf(v.toLowerCase()) !== -1; -}; -function fontSize_local_fn_parse(v) { - const valueAsString = String(v).toLowerCase(); - const optionalArguments = fontSize_local_var_absoluteSizes.concat(fontSize_local_var_relativeSizes); - const isOptionalArgument = optionalArguments.some(stringValue => stringValue.toLowerCase() === valueAsString); - return isOptionalArgument ? valueAsString : external_dependency_parsers_0.parseMeasurement(v); -} -fontSize_export_definition = { - set: function (v) { - this._setProperty('font-size', fontSize_local_fn_parse(v)); - }, - get: function () { - return this.getPropertyValue('font-size'); - }, - enumerable: true, - configurable: true -}; -var fontStyle_export_isValid, fontStyle_export_definition; -var fontStyle_local_var_valid_styles = ['normal', 'italic', 'oblique', 'inherit']; -fontStyle_export_isValid = function (v) { - return fontStyle_local_var_valid_styles.indexOf(v.toLowerCase()) !== -1; -}; -fontStyle_export_definition = { - set: function (v) { - this._setProperty('font-style', v); - }, - get: function () { - return this.getPropertyValue('font-style'); - }, - enumerable: true, - configurable: true -}; -var fontVariant_export_isValid, fontVariant_export_definition; -var fontVariant_local_var_valid_variants = ['normal', 'small-caps', 'inherit']; -fontVariant_export_isValid = function isValid(v) { - return fontVariant_local_var_valid_variants.indexOf(v.toLowerCase()) !== -1; -}; -fontVariant_export_definition = { - set: function (v) { - this._setProperty('font-variant', v); - }, - get: function () { - return this.getPropertyValue('font-variant'); - }, - enumerable: true, - configurable: true -}; -var fontWeight_export_isValid, fontWeight_export_definition; -var fontWeight_local_var_valid_weights = ['normal', 'bold', 'bolder', 'lighter', '100', '200', '300', '400', '500', '600', '700', '800', '900', 'inherit']; -fontWeight_export_isValid = function isValid(v) { - return fontWeight_local_var_valid_weights.indexOf(v.toLowerCase()) !== -1; -}; -fontWeight_export_definition = { - set: function (v) { - this._setProperty('font-weight', v); - }, - get: function () { - return this.getPropertyValue('font-weight'); - }, - enumerable: true, - configurable: true -}; -var lineHeight_export_isValid, lineHeight_export_definition; -lineHeight_export_isValid = function isValid(v) { - var type = external_dependency_parsers_0.valueType(v); - return type === external_dependency_parsers_0.TYPES.KEYWORD && v.toLowerCase() === 'normal' || v.toLowerCase() === 'inherit' || type === external_dependency_parsers_0.TYPES.NUMBER || type === external_dependency_parsers_0.TYPES.LENGTH || type === external_dependency_parsers_0.TYPES.PERCENT; -}; -lineHeight_export_definition = { - set: function (v) { - this._setProperty('line-height', v); - }, - get: function () { - return this.getPropertyValue('line-height'); - }, - enumerable: true, - configurable: true -}; -var font_export_definition; -var font_local_var_shorthand_for = { - 'font-family': { - isValid: fontFamily_export_isValid, - definition: fontFamily_export_definition - }, - 'font-size': { - isValid: fontSize_export_isValid, - definition: fontSize_export_definition - }, - 'font-style': { - isValid: fontStyle_export_isValid, - definition: fontStyle_export_definition - }, - 'font-variant': { - isValid: fontVariant_export_isValid, - definition: fontVariant_export_definition - }, - 'font-weight': { - isValid: fontWeight_export_isValid, - definition: fontWeight_export_definition - }, - 'line-height': { - isValid: lineHeight_export_isValid, - definition: lineHeight_export_definition - } -}; -var font_local_var_static_fonts = ['caption', 'icon', 'menu', 'message-box', 'small-caption', 'status-bar', 'inherit']; -var font_local_var_setter = external_dependency_parsers_0.shorthandSetter('font', font_local_var_shorthand_for); -font_export_definition = { - set: function (v) { - var short = external_dependency_parsers_0.shorthandParser(v, font_local_var_shorthand_for); - if (short !== undefined) { - return font_local_var_setter.call(this, v); - } - if (external_dependency_parsers_0.valueType(v) === external_dependency_parsers_0.TYPES.KEYWORD && font_local_var_static_fonts.indexOf(v.toLowerCase()) !== -1) { - this._setProperty('font', v); - } - }, - get: external_dependency_parsers_0.shorthandGetter('font', font_local_var_shorthand_for), - enumerable: true, - configurable: true -}; -var height_export_definition; -function height_local_fn_parse(v) { - if (String(v).toLowerCase() === 'auto') { - return 'auto'; - } - if (String(v).toLowerCase() === 'inherit') { - return 'inherit'; - } - return external_dependency_parsers_0.parseMeasurement(v); -} -height_export_definition = { - set: function (v) { - this._setProperty('height', height_local_fn_parse(v)); - }, - get: function () { - return this.getPropertyValue('height'); - }, - enumerable: true, - configurable: true -}; -var left_export_definition; -left_export_definition = { - set: function (v) { - this._setProperty('left', external_dependency_parsers_0.parseMeasurement(v)); - }, - get: function () { - return this.getPropertyValue('left'); - }, - enumerable: true, - configurable: true -}; -var lightingColor_export_definition; -lightingColor_export_definition = { - set: function (v) { - this._setProperty('lighting-color', external_dependency_parsers_0.parseColor(v)); - }, - get: function () { - return this.getPropertyValue('lighting-color'); - }, - enumerable: true, - configurable: true -}; -var margin_export_definition, margin_export_isValid, margin_export_parser; -var margin_local_var_TYPES = external_dependency_parsers_0.TYPES; -var margin_local_var_isValid = function (v) { - if (v.toLowerCase() === 'auto') { - return true; - } - var type = external_dependency_parsers_0.valueType(v); - return type === margin_local_var_TYPES.NULL_OR_EMPTY_STR || type === margin_local_var_TYPES.LENGTH || type === margin_local_var_TYPES.PERCENT || type === margin_local_var_TYPES.CALC || type === margin_local_var_TYPES.INTEGER && (v === '0' || v === 0); -}; -var margin_local_var_parser = function (v) { - var V = v.toLowerCase(); - if (V === 'auto') { - return V; - } - return external_dependency_parsers_0.parseMeasurement(v); -}; -var margin_local_var_mySetter = external_dependency_parsers_0.implicitSetter('margin', '', margin_local_var_isValid, margin_local_var_parser); -var margin_local_var_myGlobal = external_dependency_parsers_0.implicitSetter('margin', '', function () { - return true; -}, function (v) { - return v; -}); -margin_export_definition = { - set: function (v) { - if (typeof v === 'number') { - v = String(v); - } - if (v === null) { - v = ''; - } - if (typeof v !== 'string') { - return; - } - var V = v.toLowerCase(); - switch (V) { - case 'inherit': - case 'initial': - case 'unset': - case '': - margin_local_var_myGlobal.call(this, V); - break; - default: - margin_local_var_mySetter.call(this, v); - break; - } - }, - get: function () { - return this.getPropertyValue('margin'); - }, - enumerable: true, - configurable: true -}; -margin_export_isValid = margin_local_var_isValid; -margin_export_parser = margin_local_var_parser; -var marginBottom_export_definition; -marginBottom_export_definition = { - set: external_dependency_parsers_0.subImplicitSetter('margin', 'bottom', { - definition: margin_export_definition, - isValid: margin_export_isValid, - parser: margin_export_parser - }.isValid, { - definition: margin_export_definition, - isValid: margin_export_isValid, - parser: margin_export_parser - }.parser), - get: function () { - return this.getPropertyValue('margin-bottom'); - }, - enumerable: true, - configurable: true -}; -var marginLeft_export_definition; -marginLeft_export_definition = { - set: external_dependency_parsers_0.subImplicitSetter('margin', 'left', { - definition: margin_export_definition, - isValid: margin_export_isValid, - parser: margin_export_parser - }.isValid, { - definition: margin_export_definition, - isValid: margin_export_isValid, - parser: margin_export_parser - }.parser), - get: function () { - return this.getPropertyValue('margin-left'); - }, - enumerable: true, - configurable: true -}; -var marginRight_export_definition; -marginRight_export_definition = { - set: external_dependency_parsers_0.subImplicitSetter('margin', 'right', { - definition: margin_export_definition, - isValid: margin_export_isValid, - parser: margin_export_parser - }.isValid, { - definition: margin_export_definition, - isValid: margin_export_isValid, - parser: margin_export_parser - }.parser), - get: function () { - return this.getPropertyValue('margin-right'); - }, - enumerable: true, - configurable: true -}; -var marginTop_export_definition; -marginTop_export_definition = { - set: external_dependency_parsers_0.subImplicitSetter('margin', 'top', { - definition: margin_export_definition, - isValid: margin_export_isValid, - parser: margin_export_parser - }.isValid, { - definition: margin_export_definition, - isValid: margin_export_isValid, - parser: margin_export_parser - }.parser), - get: function () { - return this.getPropertyValue('margin-top'); - }, - enumerable: true, - configurable: true -}; -var opacity_export_definition; -opacity_export_definition = { - set: function (v) { - this._setProperty('opacity', external_dependency_parsers_0.parseNumber(v)); - }, - get: function () { - return this.getPropertyValue('opacity'); - }, - enumerable: true, - configurable: true -}; -var outlineColor_export_definition; -outlineColor_export_definition = { - set: function (v) { - this._setProperty('outline-color', external_dependency_parsers_0.parseColor(v)); - }, - get: function () { - return this.getPropertyValue('outline-color'); - }, - enumerable: true, - configurable: true -}; -var padding_export_definition, padding_export_isValid, padding_export_parser; -var padding_local_var_TYPES = external_dependency_parsers_0.TYPES; -var padding_local_var_isValid = function (v) { - var type = external_dependency_parsers_0.valueType(v); - return type === padding_local_var_TYPES.NULL_OR_EMPTY_STR || type === padding_local_var_TYPES.LENGTH || type === padding_local_var_TYPES.PERCENT || type === padding_local_var_TYPES.CALC || type === padding_local_var_TYPES.INTEGER && (v === '0' || v === 0); -}; -var padding_local_var_parser = function (v) { - return external_dependency_parsers_0.parseMeasurement(v); -}; -var padding_local_var_mySetter = external_dependency_parsers_0.implicitSetter('padding', '', padding_local_var_isValid, padding_local_var_parser); -var padding_local_var_myGlobal = external_dependency_parsers_0.implicitSetter('padding', '', function () { - return true; -}, function (v) { - return v; -}); -padding_export_definition = { - set: function (v) { - if (typeof v === 'number') { - v = String(v); - } - if (v === null) { - v = ''; - } - if (typeof v !== 'string') { - return; - } - var V = v.toLowerCase(); - switch (V) { - case 'inherit': - case 'initial': - case 'unset': - case '': - padding_local_var_myGlobal.call(this, V); - break; - default: - padding_local_var_mySetter.call(this, v); - break; - } - }, - get: function () { - return this.getPropertyValue('padding'); - }, - enumerable: true, - configurable: true -}; -padding_export_isValid = padding_local_var_isValid; -padding_export_parser = padding_local_var_parser; -var paddingBottom_export_definition; -paddingBottom_export_definition = { - set: external_dependency_parsers_0.subImplicitSetter('padding', 'bottom', { - definition: padding_export_definition, - isValid: padding_export_isValid, - parser: padding_export_parser - }.isValid, { - definition: padding_export_definition, - isValid: padding_export_isValid, - parser: padding_export_parser - }.parser), - get: function () { - return this.getPropertyValue('padding-bottom'); - }, - enumerable: true, - configurable: true -}; -var paddingLeft_export_definition; -paddingLeft_export_definition = { - set: external_dependency_parsers_0.subImplicitSetter('padding', 'left', { - definition: padding_export_definition, - isValid: padding_export_isValid, - parser: padding_export_parser - }.isValid, { - definition: padding_export_definition, - isValid: padding_export_isValid, - parser: padding_export_parser - }.parser), - get: function () { - return this.getPropertyValue('padding-left'); - }, - enumerable: true, - configurable: true -}; -var paddingRight_export_definition; -paddingRight_export_definition = { - set: external_dependency_parsers_0.subImplicitSetter('padding', 'right', { - definition: padding_export_definition, - isValid: padding_export_isValid, - parser: padding_export_parser - }.isValid, { - definition: padding_export_definition, - isValid: padding_export_isValid, - parser: padding_export_parser - }.parser), - get: function () { - return this.getPropertyValue('padding-right'); - }, - enumerable: true, - configurable: true -}; -var paddingTop_export_definition; -paddingTop_export_definition = { - set: external_dependency_parsers_0.subImplicitSetter('padding', 'top', { - definition: padding_export_definition, - isValid: padding_export_isValid, - parser: padding_export_parser - }.isValid, { - definition: padding_export_definition, - isValid: padding_export_isValid, - parser: padding_export_parser - }.parser), - get: function () { - return this.getPropertyValue('padding-top'); - }, - enumerable: true, - configurable: true -}; -var right_export_definition; -right_export_definition = { - set: function (v) { - this._setProperty('right', external_dependency_parsers_0.parseMeasurement(v)); - }, - get: function () { - return this.getPropertyValue('right'); - }, - enumerable: true, - configurable: true -}; -var stopColor_export_definition; -stopColor_export_definition = { - set: function (v) { - this._setProperty('stop-color', external_dependency_parsers_0.parseColor(v)); - }, - get: function () { - return this.getPropertyValue('stop-color'); - }, - enumerable: true, - configurable: true -}; -var textLineThroughColor_export_definition; -textLineThroughColor_export_definition = { - set: function (v) { - this._setProperty('text-line-through-color', external_dependency_parsers_0.parseColor(v)); - }, - get: function () { - return this.getPropertyValue('text-line-through-color'); - }, - enumerable: true, - configurable: true -}; -var textOverlineColor_export_definition; -textOverlineColor_export_definition = { - set: function (v) { - this._setProperty('text-overline-color', external_dependency_parsers_0.parseColor(v)); - }, - get: function () { - return this.getPropertyValue('text-overline-color'); - }, - enumerable: true, - configurable: true -}; -var textUnderlineColor_export_definition; -textUnderlineColor_export_definition = { - set: function (v) { - this._setProperty('text-underline-color', external_dependency_parsers_0.parseColor(v)); - }, - get: function () { - return this.getPropertyValue('text-underline-color'); - }, - enumerable: true, - configurable: true -}; -var top_export_definition; -top_export_definition = { - set: function (v) { - this._setProperty('top', external_dependency_parsers_0.parseMeasurement(v)); - }, - get: function () { - return this.getPropertyValue('top'); - }, - enumerable: true, - configurable: true -}; -var webkitBorderAfterColor_export_definition; -webkitBorderAfterColor_export_definition = { - set: function (v) { - this._setProperty('-webkit-border-after-color', external_dependency_parsers_0.parseColor(v)); - }, - get: function () { - return this.getPropertyValue('-webkit-border-after-color'); - }, - enumerable: true, - configurable: true -}; -var webkitBorderBeforeColor_export_definition; -webkitBorderBeforeColor_export_definition = { - set: function (v) { - this._setProperty('-webkit-border-before-color', external_dependency_parsers_0.parseColor(v)); - }, - get: function () { - return this.getPropertyValue('-webkit-border-before-color'); - }, - enumerable: true, - configurable: true -}; -var webkitBorderEndColor_export_definition; -webkitBorderEndColor_export_definition = { - set: function (v) { - this._setProperty('-webkit-border-end-color', external_dependency_parsers_0.parseColor(v)); - }, - get: function () { - return this.getPropertyValue('-webkit-border-end-color'); - }, - enumerable: true, - configurable: true -}; -var webkitBorderStartColor_export_definition; -webkitBorderStartColor_export_definition = { - set: function (v) { - this._setProperty('-webkit-border-start-color', external_dependency_parsers_0.parseColor(v)); - }, - get: function () { - return this.getPropertyValue('-webkit-border-start-color'); - }, - enumerable: true, - configurable: true -}; -var webkitColumnRuleColor_export_definition; -webkitColumnRuleColor_export_definition = { - set: function (v) { - this._setProperty('-webkit-column-rule-color', external_dependency_parsers_0.parseColor(v)); - }, - get: function () { - return this.getPropertyValue('-webkit-column-rule-color'); - }, - enumerable: true, - configurable: true -}; -var webkitMatchNearestMailBlockquoteColor_export_definition; -webkitMatchNearestMailBlockquoteColor_export_definition = { - set: function (v) { - this._setProperty('-webkit-match-nearest-mail-blockquote-color', external_dependency_parsers_0.parseColor(v)); - }, - get: function () { - return this.getPropertyValue('-webkit-match-nearest-mail-blockquote-color'); - }, - enumerable: true, - configurable: true -}; -var webkitTapHighlightColor_export_definition; -webkitTapHighlightColor_export_definition = { - set: function (v) { - this._setProperty('-webkit-tap-highlight-color', external_dependency_parsers_0.parseColor(v)); - }, - get: function () { - return this.getPropertyValue('-webkit-tap-highlight-color'); - }, - enumerable: true, - configurable: true -}; -var webkitTextEmphasisColor_export_definition; -webkitTextEmphasisColor_export_definition = { - set: function (v) { - this._setProperty('-webkit-text-emphasis-color', external_dependency_parsers_0.parseColor(v)); - }, - get: function () { - return this.getPropertyValue('-webkit-text-emphasis-color'); - }, - enumerable: true, - configurable: true -}; -var webkitTextFillColor_export_definition; -webkitTextFillColor_export_definition = { - set: function (v) { - this._setProperty('-webkit-text-fill-color', external_dependency_parsers_0.parseColor(v)); - }, - get: function () { - return this.getPropertyValue('-webkit-text-fill-color'); - }, - enumerable: true, - configurable: true -}; -var webkitTextStrokeColor_export_definition; -webkitTextStrokeColor_export_definition = { - set: function (v) { - this._setProperty('-webkit-text-stroke-color', external_dependency_parsers_0.parseColor(v)); - }, - get: function () { - return this.getPropertyValue('-webkit-text-stroke-color'); - }, - enumerable: true, - configurable: true -}; -var width_export_definition; -function width_local_fn_parse(v) { - if (String(v).toLowerCase() === 'auto') { - return 'auto'; - } - if (String(v).toLowerCase() === 'inherit') { - return 'inherit'; - } - return external_dependency_parsers_0.parseMeasurement(v); -} -width_export_definition = { - set: function (v) { - this._setProperty('width', width_local_fn_parse(v)); - }, - get: function () { - return this.getPropertyValue('width'); - }, - enumerable: true, - configurable: true -}; -module.exports = function (prototype) { - Object.defineProperties(prototype, { - azimuth: azimuth_export_definition, - backgroundColor: backgroundColor_export_definition, - "background-color": backgroundColor_export_definition, - backgroundImage: backgroundImage_export_definition, - "background-image": backgroundImage_export_definition, - backgroundRepeat: backgroundRepeat_export_definition, - "background-repeat": backgroundRepeat_export_definition, - backgroundAttachment: backgroundAttachment_export_definition, - "background-attachment": backgroundAttachment_export_definition, - backgroundPosition: backgroundPosition_export_definition, - "background-position": backgroundPosition_export_definition, - background: background_export_definition, - borderWidth: borderWidth_export_definition, - "border-width": borderWidth_export_definition, - borderStyle: borderStyle_export_definition, - "border-style": borderStyle_export_definition, - borderColor: borderColor_export_definition, - "border-color": borderColor_export_definition, - border: border_export_definition, - borderBottomWidth: borderBottomWidth_export_definition, - "border-bottom-width": borderBottomWidth_export_definition, - borderBottomStyle: borderBottomStyle_export_definition, - "border-bottom-style": borderBottomStyle_export_definition, - borderBottomColor: borderBottomColor_export_definition, - "border-bottom-color": borderBottomColor_export_definition, - borderBottom: borderBottom_export_definition, - "border-bottom": borderBottom_export_definition, - borderCollapse: borderCollapse_export_definition, - "border-collapse": borderCollapse_export_definition, - borderLeftWidth: borderLeftWidth_export_definition, - "border-left-width": borderLeftWidth_export_definition, - borderLeftStyle: borderLeftStyle_export_definition, - "border-left-style": borderLeftStyle_export_definition, - borderLeftColor: borderLeftColor_export_definition, - "border-left-color": borderLeftColor_export_definition, - borderLeft: borderLeft_export_definition, - "border-left": borderLeft_export_definition, - borderRightWidth: borderRightWidth_export_definition, - "border-right-width": borderRightWidth_export_definition, - borderRightStyle: borderRightStyle_export_definition, - "border-right-style": borderRightStyle_export_definition, - borderRightColor: borderRightColor_export_definition, - "border-right-color": borderRightColor_export_definition, - borderRight: borderRight_export_definition, - "border-right": borderRight_export_definition, - borderSpacing: borderSpacing_export_definition, - "border-spacing": borderSpacing_export_definition, - borderTopWidth: borderTopWidth_export_definition, - "border-top-width": borderTopWidth_export_definition, - borderTopStyle: borderTopStyle_export_definition, - "border-top-style": borderTopStyle_export_definition, - borderTopColor: borderTopColor_export_definition, - "border-top-color": borderTopColor_export_definition, - borderTop: borderTop_export_definition, - "border-top": borderTop_export_definition, - bottom: bottom_export_definition, - clear: clear_export_definition, - clip: clip_export_definition, - color: color_export_definition, - cssFloat: cssFloat_export_definition, - "css-float": cssFloat_export_definition, - flexGrow: flexGrow_export_definition, - "flex-grow": flexGrow_export_definition, - flexShrink: flexShrink_export_definition, - "flex-shrink": flexShrink_export_definition, - flexBasis: flexBasis_export_definition, - "flex-basis": flexBasis_export_definition, - flex: flex_export_definition, - float: float_export_definition, - floodColor: floodColor_export_definition, - "flood-color": floodColor_export_definition, - fontFamily: fontFamily_export_definition, - "font-family": fontFamily_export_definition, - fontSize: fontSize_export_definition, - "font-size": fontSize_export_definition, - fontStyle: fontStyle_export_definition, - "font-style": fontStyle_export_definition, - fontVariant: fontVariant_export_definition, - "font-variant": fontVariant_export_definition, - fontWeight: fontWeight_export_definition, - "font-weight": fontWeight_export_definition, - lineHeight: lineHeight_export_definition, - "line-height": lineHeight_export_definition, - font: font_export_definition, - height: height_export_definition, - left: left_export_definition, - lightingColor: lightingColor_export_definition, - "lighting-color": lightingColor_export_definition, - margin: margin_export_definition, - marginBottom: marginBottom_export_definition, - "margin-bottom": marginBottom_export_definition, - marginLeft: marginLeft_export_definition, - "margin-left": marginLeft_export_definition, - marginRight: marginRight_export_definition, - "margin-right": marginRight_export_definition, - marginTop: marginTop_export_definition, - "margin-top": marginTop_export_definition, - opacity: opacity_export_definition, - outlineColor: outlineColor_export_definition, - "outline-color": outlineColor_export_definition, - padding: padding_export_definition, - paddingBottom: paddingBottom_export_definition, - "padding-bottom": paddingBottom_export_definition, - paddingLeft: paddingLeft_export_definition, - "padding-left": paddingLeft_export_definition, - paddingRight: paddingRight_export_definition, - "padding-right": paddingRight_export_definition, - paddingTop: paddingTop_export_definition, - "padding-top": paddingTop_export_definition, - right: right_export_definition, - stopColor: stopColor_export_definition, - "stop-color": stopColor_export_definition, - textLineThroughColor: textLineThroughColor_export_definition, - "text-line-through-color": textLineThroughColor_export_definition, - textOverlineColor: textOverlineColor_export_definition, - "text-overline-color": textOverlineColor_export_definition, - textUnderlineColor: textUnderlineColor_export_definition, - "text-underline-color": textUnderlineColor_export_definition, - top: top_export_definition, - webkitBorderAfterColor: webkitBorderAfterColor_export_definition, - "webkit-border-after-color": webkitBorderAfterColor_export_definition, - webkitBorderBeforeColor: webkitBorderBeforeColor_export_definition, - "webkit-border-before-color": webkitBorderBeforeColor_export_definition, - webkitBorderEndColor: webkitBorderEndColor_export_definition, - "webkit-border-end-color": webkitBorderEndColor_export_definition, - webkitBorderStartColor: webkitBorderStartColor_export_definition, - "webkit-border-start-color": webkitBorderStartColor_export_definition, - webkitColumnRuleColor: webkitColumnRuleColor_export_definition, - "webkit-column-rule-color": webkitColumnRuleColor_export_definition, - webkitMatchNearestMailBlockquoteColor: webkitMatchNearestMailBlockquoteColor_export_definition, - "webkit-match-nearest-mail-blockquote-color": webkitMatchNearestMailBlockquoteColor_export_definition, - webkitTapHighlightColor: webkitTapHighlightColor_export_definition, - "webkit-tap-highlight-color": webkitTapHighlightColor_export_definition, - webkitTextEmphasisColor: webkitTextEmphasisColor_export_definition, - "webkit-text-emphasis-color": webkitTextEmphasisColor_export_definition, - webkitTextFillColor: webkitTextFillColor_export_definition, - "webkit-text-fill-color": webkitTextFillColor_export_definition, - webkitTextStrokeColor: webkitTextStrokeColor_export_definition, - "webkit-text-stroke-color": webkitTextStrokeColor_export_definition, - width: width_export_definition - }); -}; - - -/***/ }), - -/***/ 28324: -/***/ ((__unused_webpack_module, exports) => { - - - -const MAX_HUE = 360; -const COLOR_NB = 12; -const MAX_RGB_VALUE = 255; - -// https://www.w3.org/TR/css-color-4/#hsl-to-rgb -exports.hslToRgb = (hue, sat, light) => { - hue = hue % MAX_HUE; - if (hue < 0) { - hue += MAX_HUE; - } - function f(n) { - const k = (n + hue / (MAX_HUE / COLOR_NB)) % COLOR_NB; - const a = sat * Math.min(light, 1 - light); - return light - a * Math.max(-1, Math.min(k - 3, 9 - k, 1)); - } - return [f(0), f(8), f(4)].map((value) => Math.round(value * MAX_RGB_VALUE)); -}; - - -/***/ }), - -/***/ 26421: -/***/ ((module) => { - - - -module.exports = function getBasicPropertyDescriptor(name) { - return { - set: function (v) { - this._setProperty(name, v); - }, - get: function () { - return this.getPropertyValue(name); - }, - enumerable: true, - configurable: true, - }; -}; - - -/***/ }), - -/***/ 91237: -/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { - -//.CommonJS -var CSSOM = { - CSSRule: (__nccwpck_require__(58222).CSSRule), - CSSGroupingRule: (__nccwpck_require__(21831).CSSGroupingRule) -}; -///CommonJS - - -/** - * @constructor - * @see https://www.w3.org/TR/css-conditional-3/#the-cssconditionrule-interface - */ -CSSOM.CSSConditionRule = function CSSConditionRule() { - CSSOM.CSSGroupingRule.call(this); - this.cssRules = []; -}; - -CSSOM.CSSConditionRule.prototype = new CSSOM.CSSGroupingRule(); -CSSOM.CSSConditionRule.prototype.constructor = CSSOM.CSSConditionRule; -CSSOM.CSSConditionRule.prototype.conditionText = '' -CSSOM.CSSConditionRule.prototype.cssText = '' - -//.CommonJS -exports.CSSConditionRule = CSSOM.CSSConditionRule; -///CommonJS - - -/***/ }), - -/***/ 30039: -/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { - -//.CommonJS -var CSSOM = { - CSSRule: (__nccwpck_require__(58222).CSSRule), - CSSGroupingRule: (__nccwpck_require__(21831).CSSGroupingRule), - CSSConditionRule: (__nccwpck_require__(91237).CSSConditionRule), -}; -///CommonJS - - -/** - * @constructor - * @see https://drafts.csswg.org/css-contain-3/ - * @see https://www.w3.org/TR/css-contain-3/ - */ -CSSOM.CSSContainerRule = function CSSContainerRule() { - CSSOM.CSSConditionRule.call(this); -}; - -CSSOM.CSSContainerRule.prototype = new CSSOM.CSSConditionRule(); -CSSOM.CSSContainerRule.prototype.constructor = CSSOM.CSSContainerRule; -CSSOM.CSSContainerRule.prototype.type = 17; - -Object.defineProperties(CSSOM.CSSContainerRule.prototype, { - "conditionText": { - get: function() { - return this.containerText; - }, - set: function(value) { - this.containerText = value; - }, - configurable: true, - enumerable: true - }, - "cssText": { - get: function() { - var cssTexts = []; - for (var i=0, length=this.cssRules.length; i < length; i++) { - cssTexts.push(this.cssRules[i].cssText); - } - return "@container " + this.containerText + " {" + cssTexts.join("") + "}"; - }, - configurable: true, - enumerable: true - } -}); - - -//.CommonJS -exports.CSSContainerRule = CSSOM.CSSContainerRule; -///CommonJS - - -/***/ }), - -/***/ 20647: -/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { - -//.CommonJS -var CSSOM = { - CSSRule: (__nccwpck_require__(58222).CSSRule), - MatcherList: (__nccwpck_require__(29165).MatcherList) -}; -///CommonJS - - -/** - * @constructor - * @see https://developer.mozilla.org/en/CSS/@-moz-document - */ -CSSOM.CSSDocumentRule = function CSSDocumentRule() { - CSSOM.CSSRule.call(this); - this.matcher = new CSSOM.MatcherList(); - this.cssRules = []; -}; - -CSSOM.CSSDocumentRule.prototype = new CSSOM.CSSRule(); -CSSOM.CSSDocumentRule.prototype.constructor = CSSOM.CSSDocumentRule; -CSSOM.CSSDocumentRule.prototype.type = 10; -//FIXME -//CSSOM.CSSDocumentRule.prototype.insertRule = CSSStyleSheet.prototype.insertRule; -//CSSOM.CSSDocumentRule.prototype.deleteRule = CSSStyleSheet.prototype.deleteRule; - -Object.defineProperty(CSSOM.CSSDocumentRule.prototype, "cssText", { - get: function() { - var cssTexts = []; - for (var i=0, length=this.cssRules.length; i < length; i++) { - cssTexts.push(this.cssRules[i].cssText); - } - return "@-moz-document " + this.matcher.matcherText + " {" + cssTexts.join("") + "}"; - } -}); - - -//.CommonJS -exports.CSSDocumentRule = CSSOM.CSSDocumentRule; -///CommonJS - - -/***/ }), - -/***/ 5822: -/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { - -//.CommonJS -var CSSOM = { - CSSStyleDeclaration: (__nccwpck_require__(54655).CSSStyleDeclaration), - CSSRule: (__nccwpck_require__(58222).CSSRule) -}; -///CommonJS - - -/** - * @constructor - * @see http://dev.w3.org/csswg/cssom/#css-font-face-rule - */ -CSSOM.CSSFontFaceRule = function CSSFontFaceRule() { - CSSOM.CSSRule.call(this); - this.style = new CSSOM.CSSStyleDeclaration(); - this.style.parentRule = this; -}; - -CSSOM.CSSFontFaceRule.prototype = new CSSOM.CSSRule(); -CSSOM.CSSFontFaceRule.prototype.constructor = CSSOM.CSSFontFaceRule; -CSSOM.CSSFontFaceRule.prototype.type = 5; -//FIXME -//CSSOM.CSSFontFaceRule.prototype.insertRule = CSSStyleSheet.prototype.insertRule; -//CSSOM.CSSFontFaceRule.prototype.deleteRule = CSSStyleSheet.prototype.deleteRule; - -// http://www.opensource.apple.com/source/WebCore/WebCore-955.66.1/css/WebKitCSSFontFaceRule.cpp -Object.defineProperty(CSSOM.CSSFontFaceRule.prototype, "cssText", { - get: function() { - return "@font-face {" + this.style.cssText + "}"; - } -}); - - -//.CommonJS -exports.CSSFontFaceRule = CSSOM.CSSFontFaceRule; -///CommonJS - - -/***/ }), - -/***/ 21831: -/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { - -//.CommonJS -var CSSOM = { - CSSRule: (__nccwpck_require__(58222).CSSRule), - parse: (__nccwpck_require__(67544).parse) -}; -///CommonJS - - -/** - * @constructor - * @see https://drafts.csswg.org/cssom/#the-cssgroupingrule-interface - */ -CSSOM.CSSGroupingRule = function CSSGroupingRule() { - CSSOM.CSSRule.call(this); - this.cssRules = []; -}; - -CSSOM.CSSGroupingRule.prototype = new CSSOM.CSSRule(); -CSSOM.CSSGroupingRule.prototype.constructor = CSSOM.CSSGroupingRule; - - -/** - * Used to insert a new CSS rule to a list of CSS rules. - * - * @example - * cssGroupingRule.cssText - * -> "body{margin:0;}" - * cssGroupingRule.insertRule("img{border:none;}", 1) - * -> 1 - * cssGroupingRule.cssText - * -> "body{margin:0;}img{border:none;}" - * - * @param {string} rule - * @param {number} [index] - * @see https://www.w3.org/TR/cssom-1/#dom-cssgroupingrule-insertrule - * @return {number} The index within the grouping rule's collection of the newly inserted rule. - */ - CSSOM.CSSGroupingRule.prototype.insertRule = function insertRule(rule, index) { - if (index < 0 || index > this.cssRules.length) { - throw new RangeError("INDEX_SIZE_ERR"); - } - var cssRule = CSSOM.parse(rule).cssRules[0]; - cssRule.parentRule = this; - this.cssRules.splice(index, 0, cssRule); - return index; -}; - -/** - * Used to delete a rule from the grouping rule. - * - * cssGroupingRule.cssText - * -> "img{border:none;}body{margin:0;}" - * cssGroupingRule.deleteRule(0) - * cssGroupingRule.cssText - * -> "body{margin:0;}" - * - * @param {number} index within the grouping rule's rule list of the rule to remove. - * @see https://www.w3.org/TR/cssom-1/#dom-cssgroupingrule-deleterule - */ - CSSOM.CSSGroupingRule.prototype.deleteRule = function deleteRule(index) { - if (index < 0 || index >= this.cssRules.length) { - throw new RangeError("INDEX_SIZE_ERR"); - } - this.cssRules.splice(index, 1)[0].parentRule = null; -}; - -//.CommonJS -exports.CSSGroupingRule = CSSOM.CSSGroupingRule; -///CommonJS - - -/***/ }), - -/***/ 90336: -/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { - -//.CommonJS -var CSSOM = { - CSSRule: (__nccwpck_require__(58222).CSSRule) -}; -///CommonJS - - -/** - * @constructor - * @see http://www.w3.org/TR/shadow-dom/#host-at-rule - */ -CSSOM.CSSHostRule = function CSSHostRule() { - CSSOM.CSSRule.call(this); - this.cssRules = []; -}; - -CSSOM.CSSHostRule.prototype = new CSSOM.CSSRule(); -CSSOM.CSSHostRule.prototype.constructor = CSSOM.CSSHostRule; -CSSOM.CSSHostRule.prototype.type = 1001; -//FIXME -//CSSOM.CSSHostRule.prototype.insertRule = CSSStyleSheet.prototype.insertRule; -//CSSOM.CSSHostRule.prototype.deleteRule = CSSStyleSheet.prototype.deleteRule; - -Object.defineProperty(CSSOM.CSSHostRule.prototype, "cssText", { - get: function() { - var cssTexts = []; - for (var i=0, length=this.cssRules.length; i < length; i++) { - cssTexts.push(this.cssRules[i].cssText); - } - return "@host {" + cssTexts.join("") + "}"; - } -}); - - -//.CommonJS -exports.CSSHostRule = CSSOM.CSSHostRule; -///CommonJS - - -/***/ }), - -/***/ 5227: -/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { - -//.CommonJS -var CSSOM = { - CSSRule: (__nccwpck_require__(58222).CSSRule), - CSSStyleSheet: (__nccwpck_require__(10892).CSSStyleSheet), - MediaList: (__nccwpck_require__(94239).MediaList) -}; -///CommonJS - - -/** - * @constructor - * @see http://dev.w3.org/csswg/cssom/#cssimportrule - * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSImportRule - */ -CSSOM.CSSImportRule = function CSSImportRule() { - CSSOM.CSSRule.call(this); - this.href = ""; - this.media = new CSSOM.MediaList(); - this.styleSheet = new CSSOM.CSSStyleSheet(); -}; - -CSSOM.CSSImportRule.prototype = new CSSOM.CSSRule(); -CSSOM.CSSImportRule.prototype.constructor = CSSOM.CSSImportRule; -CSSOM.CSSImportRule.prototype.type = 3; - -Object.defineProperty(CSSOM.CSSImportRule.prototype, "cssText", { - get: function() { - var mediaText = this.media.mediaText; - return "@import url(" + this.href + ")" + (mediaText ? " " + mediaText : "") + ";"; - }, - set: function(cssText) { - var i = 0; - - /** - * @import url(partial.css) screen, handheld; - * || | - * after-import media - * | - * url - */ - var state = ''; - - var buffer = ''; - var index; - for (var character; (character = cssText.charAt(i)); i++) { - - switch (character) { - case ' ': - case '\t': - case '\r': - case '\n': - case '\f': - if (state === 'after-import') { - state = 'url'; - } else { - buffer += character; - } - break; - - case '@': - if (!state && cssText.indexOf('@import', i) === i) { - state = 'after-import'; - i += 'import'.length; - buffer = ''; - } - break; - - case 'u': - if (state === 'url' && cssText.indexOf('url(', i) === i) { - index = cssText.indexOf(')', i + 1); - if (index === -1) { - throw i + ': ")" not found'; - } - i += 'url('.length; - var url = cssText.slice(i, index); - if (url[0] === url[url.length - 1]) { - if (url[0] === '"' || url[0] === "'") { - url = url.slice(1, -1); - } - } - this.href = url; - i = index; - state = 'media'; - } - break; - - case '"': - if (state === 'url') { - index = cssText.indexOf('"', i + 1); - if (!index) { - throw i + ": '\"' not found"; - } - this.href = cssText.slice(i + 1, index); - i = index; - state = 'media'; - } - break; - - case "'": - if (state === 'url') { - index = cssText.indexOf("'", i + 1); - if (!index) { - throw i + ': "\'" not found'; - } - this.href = cssText.slice(i + 1, index); - i = index; - state = 'media'; - } - break; - - case ';': - if (state === 'media') { - if (buffer) { - this.media.mediaText = buffer.trim(); - } - } - break; - - default: - if (state === 'media') { - buffer += character; - } - break; - } - } - } -}); - - -//.CommonJS -exports.CSSImportRule = CSSOM.CSSImportRule; -///CommonJS - - -/***/ }), - -/***/ 62918: -/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { - -//.CommonJS -var CSSOM = { - CSSRule: (__nccwpck_require__(58222).CSSRule), - CSSStyleDeclaration: (__nccwpck_require__(54655).CSSStyleDeclaration) -}; -///CommonJS - - -/** - * @constructor - * @see http://www.w3.org/TR/css3-animations/#DOM-CSSKeyframeRule - */ -CSSOM.CSSKeyframeRule = function CSSKeyframeRule() { - CSSOM.CSSRule.call(this); - this.keyText = ''; - this.style = new CSSOM.CSSStyleDeclaration(); - this.style.parentRule = this; -}; - -CSSOM.CSSKeyframeRule.prototype = new CSSOM.CSSRule(); -CSSOM.CSSKeyframeRule.prototype.constructor = CSSOM.CSSKeyframeRule; -CSSOM.CSSKeyframeRule.prototype.type = 8; -//FIXME -//CSSOM.CSSKeyframeRule.prototype.insertRule = CSSStyleSheet.prototype.insertRule; -//CSSOM.CSSKeyframeRule.prototype.deleteRule = CSSStyleSheet.prototype.deleteRule; - -// http://www.opensource.apple.com/source/WebCore/WebCore-955.66.1/css/WebKitCSSKeyframeRule.cpp -Object.defineProperty(CSSOM.CSSKeyframeRule.prototype, "cssText", { - get: function() { - return this.keyText + " {" + this.style.cssText + "} "; - } -}); - - -//.CommonJS -exports.CSSKeyframeRule = CSSOM.CSSKeyframeRule; -///CommonJS - - -/***/ }), - -/***/ 47849: -/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { - -//.CommonJS -var CSSOM = { - CSSRule: (__nccwpck_require__(58222).CSSRule) -}; -///CommonJS - - -/** - * @constructor - * @see http://www.w3.org/TR/css3-animations/#DOM-CSSKeyframesRule - */ -CSSOM.CSSKeyframesRule = function CSSKeyframesRule() { - CSSOM.CSSRule.call(this); - this.name = ''; - this.cssRules = []; -}; - -CSSOM.CSSKeyframesRule.prototype = new CSSOM.CSSRule(); -CSSOM.CSSKeyframesRule.prototype.constructor = CSSOM.CSSKeyframesRule; -CSSOM.CSSKeyframesRule.prototype.type = 7; -//FIXME -//CSSOM.CSSKeyframesRule.prototype.insertRule = CSSStyleSheet.prototype.insertRule; -//CSSOM.CSSKeyframesRule.prototype.deleteRule = CSSStyleSheet.prototype.deleteRule; - -// http://www.opensource.apple.com/source/WebCore/WebCore-955.66.1/css/WebKitCSSKeyframesRule.cpp -Object.defineProperty(CSSOM.CSSKeyframesRule.prototype, "cssText", { - get: function() { - var cssTexts = []; - for (var i=0, length=this.cssRules.length; i < length; i++) { - cssTexts.push(" " + this.cssRules[i].cssText); - } - return "@" + (this._vendorPrefix || '') + "keyframes " + this.name + " { \n" + cssTexts.join("\n") + "\n}"; - } -}); - - -//.CommonJS -exports.CSSKeyframesRule = CSSOM.CSSKeyframesRule; -///CommonJS - - -/***/ }), - -/***/ 17720: -/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { - -//.CommonJS -var CSSOM = { - CSSRule: (__nccwpck_require__(58222).CSSRule), - CSSGroupingRule: (__nccwpck_require__(21831).CSSGroupingRule), - CSSConditionRule: (__nccwpck_require__(91237).CSSConditionRule), - MediaList: (__nccwpck_require__(94239).MediaList) -}; -///CommonJS - - -/** - * @constructor - * @see http://dev.w3.org/csswg/cssom/#cssmediarule - * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSMediaRule - */ -CSSOM.CSSMediaRule = function CSSMediaRule() { - CSSOM.CSSConditionRule.call(this); - this.media = new CSSOM.MediaList(); -}; - -CSSOM.CSSMediaRule.prototype = new CSSOM.CSSConditionRule(); -CSSOM.CSSMediaRule.prototype.constructor = CSSOM.CSSMediaRule; -CSSOM.CSSMediaRule.prototype.type = 4; - -// https://opensource.apple.com/source/WebCore/WebCore-7611.1.21.161.3/css/CSSMediaRule.cpp -Object.defineProperties(CSSOM.CSSMediaRule.prototype, { - "conditionText": { - get: function() { - return this.media.mediaText; - }, - set: function(value) { - this.media.mediaText = value; - }, - configurable: true, - enumerable: true - }, - "cssText": { - get: function() { - var cssTexts = []; - for (var i=0, length=this.cssRules.length; i < length; i++) { - cssTexts.push(this.cssRules[i].cssText); - } - return "@media " + this.media.mediaText + " {" + cssTexts.join("") + "}"; - }, - configurable: true, - enumerable: true - } -}); - - -//.CommonJS -exports.CSSMediaRule = CSSOM.CSSMediaRule; -///CommonJS - - -/***/ }), - -/***/ 58222: -/***/ ((__unused_webpack_module, exports) => { - -//.CommonJS -var CSSOM = {}; -///CommonJS - - -/** - * @constructor - * @see http://dev.w3.org/csswg/cssom/#the-cssrule-interface - * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSRule - */ -CSSOM.CSSRule = function CSSRule() { - this.parentRule = null; - this.parentStyleSheet = null; -}; - -CSSOM.CSSRule.UNKNOWN_RULE = 0; // obsolete -CSSOM.CSSRule.STYLE_RULE = 1; -CSSOM.CSSRule.CHARSET_RULE = 2; // obsolete -CSSOM.CSSRule.IMPORT_RULE = 3; -CSSOM.CSSRule.MEDIA_RULE = 4; -CSSOM.CSSRule.FONT_FACE_RULE = 5; -CSSOM.CSSRule.PAGE_RULE = 6; -CSSOM.CSSRule.KEYFRAMES_RULE = 7; -CSSOM.CSSRule.KEYFRAME_RULE = 8; -CSSOM.CSSRule.MARGIN_RULE = 9; -CSSOM.CSSRule.NAMESPACE_RULE = 10; -CSSOM.CSSRule.COUNTER_STYLE_RULE = 11; -CSSOM.CSSRule.SUPPORTS_RULE = 12; -CSSOM.CSSRule.DOCUMENT_RULE = 13; -CSSOM.CSSRule.FONT_FEATURE_VALUES_RULE = 14; -CSSOM.CSSRule.VIEWPORT_RULE = 15; -CSSOM.CSSRule.REGION_STYLE_RULE = 16; -CSSOM.CSSRule.CONTAINER_RULE = 17; -CSSOM.CSSRule.STARTING_STYLE_RULE = 1002; - - -CSSOM.CSSRule.prototype = { - constructor: CSSOM.CSSRule - //FIXME -}; - - -//.CommonJS -exports.CSSRule = CSSOM.CSSRule; -///CommonJS - - -/***/ }), - -/***/ 13785: -/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { - -//.CommonJS -var CSSOM = { - CSSRule: (__nccwpck_require__(58222).CSSRule) -}; -///CommonJS - - -/** - * @constructor - * @see http://www.w3.org/TR/shadow-dom/#host-at-rule - */ -CSSOM.CSSStartingStyleRule = function CSSStartingStyleRule() { - CSSOM.CSSRule.call(this); - this.cssRules = []; -}; - -CSSOM.CSSStartingStyleRule.prototype = new CSSOM.CSSRule(); -CSSOM.CSSStartingStyleRule.prototype.constructor = CSSOM.CSSStartingStyleRule; -CSSOM.CSSStartingStyleRule.prototype.type = 1002; -//FIXME -//CSSOM.CSSStartingStyleRule.prototype.insertRule = CSSStyleSheet.prototype.insertRule; -//CSSOM.CSSStartingStyleRule.prototype.deleteRule = CSSStyleSheet.prototype.deleteRule; - -Object.defineProperty(CSSOM.CSSStartingStyleRule.prototype, "cssText", { - get: function() { - var cssTexts = []; - for (var i=0, length=this.cssRules.length; i < length; i++) { - cssTexts.push(this.cssRules[i].cssText); - } - return "@starting-style {" + cssTexts.join("") + "}"; - } -}); - - -//.CommonJS -exports.CSSStartingStyleRule = CSSOM.CSSStartingStyleRule; -///CommonJS - - -/***/ }), - -/***/ 54655: -/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { - -//.CommonJS -var CSSOM = {}; -///CommonJS - - -/** - * @constructor - * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSStyleDeclaration - */ -CSSOM.CSSStyleDeclaration = function CSSStyleDeclaration(){ - this.length = 0; - this.parentRule = null; - - // NON-STANDARD - this._importants = {}; -}; - - -CSSOM.CSSStyleDeclaration.prototype = { - - constructor: CSSOM.CSSStyleDeclaration, - - /** - * - * @param {string} name - * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSStyleDeclaration-getPropertyValue - * @return {string} the value of the property if it has been explicitly set for this declaration block. - * Returns the empty string if the property has not been set. - */ - getPropertyValue: function(name) { - return this[name] || ""; - }, - - /** - * - * @param {string} name - * @param {string} value - * @param {string} [priority=null] "important" or null - * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSStyleDeclaration-setProperty - */ - setProperty: function(name, value, priority) { - if (this[name]) { - // Property already exist. Overwrite it. - var index = Array.prototype.indexOf.call(this, name); - if (index < 0) { - this[this.length] = name; - this.length++; - } - } else { - // New property. - this[this.length] = name; - this.length++; - } - this[name] = value + ""; - this._importants[name] = priority; - }, - - /** - * - * @param {string} name - * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSStyleDeclaration-removeProperty - * @return {string} the value of the property if it has been explicitly set for this declaration block. - * Returns the empty string if the property has not been set or the property name does not correspond to a known CSS property. - */ - removeProperty: function(name) { - if (!(name in this)) { - return ""; - } - var index = Array.prototype.indexOf.call(this, name); - if (index < 0) { - return ""; - } - var prevValue = this[name]; - this[name] = ""; - - // That's what WebKit and Opera do - Array.prototype.splice.call(this, index, 1); - - // That's what Firefox does - //this[index] = "" - - return prevValue; - }, - - getPropertyCSSValue: function() { - //FIXME - }, - - /** - * - * @param {String} name - */ - getPropertyPriority: function(name) { - return this._importants[name] || ""; - }, - - - /** - * element.style.overflow = "auto" - * element.style.getPropertyShorthand("overflow-x") - * -> "overflow" - */ - getPropertyShorthand: function() { - //FIXME - }, - - isPropertyImplicit: function() { - //FIXME - }, - - // Doesn't work in IE < 9 - get cssText(){ - var properties = []; - for (var i=0, length=this.length; i < length; ++i) { - var name = this[i]; - var value = this.getPropertyValue(name); - var priority = this.getPropertyPriority(name); - if (priority) { - priority = " !" + priority; - } - properties[i] = name + ": " + value + priority + ";"; - } - return properties.join(" "); - }, - - set cssText(text){ - var i, name; - for (i = this.length; i--;) { - name = this[i]; - this[name] = ""; - } - Array.prototype.splice.call(this, 0, this.length); - this._importants = {}; - - var dummyRule = CSSOM.parse('#bogus{' + text + '}').cssRules[0].style; - var length = dummyRule.length; - for (i = 0; i < length; ++i) { - name = dummyRule[i]; - this.setProperty(dummyRule[i], dummyRule.getPropertyValue(name), dummyRule.getPropertyPriority(name)); - } - } -}; - - -//.CommonJS -exports.CSSStyleDeclaration = CSSOM.CSSStyleDeclaration; -CSSOM.parse = (__nccwpck_require__(67544).parse); // Cannot be included sooner due to the mutual dependency between parse.js and CSSStyleDeclaration.js -///CommonJS - - -/***/ }), - -/***/ 33261: -/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { - -//.CommonJS -var CSSOM = { - CSSStyleDeclaration: (__nccwpck_require__(54655).CSSStyleDeclaration), - CSSRule: (__nccwpck_require__(58222).CSSRule) -}; -///CommonJS - - -/** - * @constructor - * @see http://dev.w3.org/csswg/cssom/#cssstylerule - * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSStyleRule - */ -CSSOM.CSSStyleRule = function CSSStyleRule() { - CSSOM.CSSRule.call(this); - this.selectorText = ""; - this.style = new CSSOM.CSSStyleDeclaration(); - this.style.parentRule = this; -}; - -CSSOM.CSSStyleRule.prototype = new CSSOM.CSSRule(); -CSSOM.CSSStyleRule.prototype.constructor = CSSOM.CSSStyleRule; -CSSOM.CSSStyleRule.prototype.type = 1; - -Object.defineProperty(CSSOM.CSSStyleRule.prototype, "cssText", { - get: function() { - var text; - if (this.selectorText) { - text = this.selectorText + " {" + this.style.cssText + "}"; - } else { - text = ""; - } - return text; - }, - set: function(cssText) { - var rule = CSSOM.CSSStyleRule.parse(cssText); - this.style = rule.style; - this.selectorText = rule.selectorText; - } -}); - - -/** - * NON-STANDARD - * lightweight version of parse.js. - * @param {string} ruleText - * @return CSSStyleRule - */ -CSSOM.CSSStyleRule.parse = function(ruleText) { - var i = 0; - var state = "selector"; - var index; - var j = i; - var buffer = ""; - - var SIGNIFICANT_WHITESPACE = { - "selector": true, - "value": true - }; - - var styleRule = new CSSOM.CSSStyleRule(); - var name, priority=""; - - for (var character; (character = ruleText.charAt(i)); i++) { - - switch (character) { - - case " ": - case "\t": - case "\r": - case "\n": - case "\f": - if (SIGNIFICANT_WHITESPACE[state]) { - // Squash 2 or more white-spaces in the row into 1 - switch (ruleText.charAt(i - 1)) { - case " ": - case "\t": - case "\r": - case "\n": - case "\f": - break; - default: - buffer += " "; - break; - } - } - break; - - // String - case '"': - j = i + 1; - index = ruleText.indexOf('"', j) + 1; - if (!index) { - throw '" is missing'; - } - buffer += ruleText.slice(i, index); - i = index - 1; - break; - - case "'": - j = i + 1; - index = ruleText.indexOf("'", j) + 1; - if (!index) { - throw "' is missing"; - } - buffer += ruleText.slice(i, index); - i = index - 1; - break; - - // Comment - case "/": - if (ruleText.charAt(i + 1) === "*") { - i += 2; - index = ruleText.indexOf("*/", i); - if (index === -1) { - throw new SyntaxError("Missing */"); - } else { - i = index + 1; - } - } else { - buffer += character; - } - break; - - case "{": - if (state === "selector") { - styleRule.selectorText = buffer.trim(); - buffer = ""; - state = "name"; - } - break; - - case ":": - if (state === "name") { - name = buffer.trim(); - buffer = ""; - state = "value"; - } else { - buffer += character; - } - break; - - case "!": - if (state === "value" && ruleText.indexOf("!important", i) === i) { - priority = "important"; - i += "important".length; - } else { - buffer += character; - } - break; - - case ";": - if (state === "value") { - styleRule.style.setProperty(name, buffer.trim(), priority); - priority = ""; - buffer = ""; - state = "name"; - } else { - buffer += character; - } - break; - - case "}": - if (state === "value") { - styleRule.style.setProperty(name, buffer.trim(), priority); - priority = ""; - buffer = ""; - } else if (state === "name") { - break; - } else { - buffer += character; - } - state = "selector"; - break; - - default: - buffer += character; - break; - - } - } - - return styleRule; - -}; - - -//.CommonJS -exports.CSSStyleRule = CSSOM.CSSStyleRule; -///CommonJS - - -/***/ }), - -/***/ 10892: -/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { - -//.CommonJS -var CSSOM = { - StyleSheet: (__nccwpck_require__(69411).StyleSheet), - CSSStyleRule: (__nccwpck_require__(33261).CSSStyleRule) -}; -///CommonJS - - -/** - * @constructor - * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSStyleSheet - */ -CSSOM.CSSStyleSheet = function CSSStyleSheet() { - CSSOM.StyleSheet.call(this); - this.cssRules = []; -}; - - -CSSOM.CSSStyleSheet.prototype = new CSSOM.StyleSheet(); -CSSOM.CSSStyleSheet.prototype.constructor = CSSOM.CSSStyleSheet; - - -/** - * Used to insert a new rule into the style sheet. The new rule now becomes part of the cascade. - * - * sheet = new Sheet("body {margin: 0}") - * sheet.toString() - * -> "body{margin:0;}" - * sheet.insertRule("img {border: none}", 0) - * -> 0 - * sheet.toString() - * -> "img{border:none;}body{margin:0;}" - * - * @param {string} rule - * @param {number} index - * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSStyleSheet-insertRule - * @return {number} The index within the style sheet's rule collection of the newly inserted rule. - */ -CSSOM.CSSStyleSheet.prototype.insertRule = function(rule, index) { - if (index < 0 || index > this.cssRules.length) { - throw new RangeError("INDEX_SIZE_ERR"); - } - var cssRule = CSSOM.parse(rule).cssRules[0]; - cssRule.parentStyleSheet = this; - this.cssRules.splice(index, 0, cssRule); - return index; -}; - - -/** - * Used to delete a rule from the style sheet. - * - * sheet = new Sheet("img{border:none} body{margin:0}") - * sheet.toString() - * -> "img{border:none;}body{margin:0;}" - * sheet.deleteRule(0) - * sheet.toString() - * -> "body{margin:0;}" - * - * @param {number} index within the style sheet's rule list of the rule to remove. - * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSStyleSheet-deleteRule - */ -CSSOM.CSSStyleSheet.prototype.deleteRule = function(index) { - if (index < 0 || index >= this.cssRules.length) { - throw new RangeError("INDEX_SIZE_ERR"); - } - this.cssRules.splice(index, 1); -}; - - -/** - * NON-STANDARD - * @return {string} serialize stylesheet - */ -CSSOM.CSSStyleSheet.prototype.toString = function() { - var result = ""; - var rules = this.cssRules; - for (var i=0; i { - -//.CommonJS -var CSSOM = { - CSSRule: (__nccwpck_require__(58222).CSSRule), - CSSGroupingRule: (__nccwpck_require__(21831).CSSGroupingRule), - CSSConditionRule: (__nccwpck_require__(91237).CSSConditionRule) -}; -///CommonJS - - -/** - * @constructor - * @see https://drafts.csswg.org/css-conditional-3/#the-csssupportsrule-interface - */ -CSSOM.CSSSupportsRule = function CSSSupportsRule() { - CSSOM.CSSConditionRule.call(this); -}; - -CSSOM.CSSSupportsRule.prototype = new CSSOM.CSSConditionRule(); -CSSOM.CSSSupportsRule.prototype.constructor = CSSOM.CSSSupportsRule; -CSSOM.CSSSupportsRule.prototype.type = 12; - -Object.defineProperty(CSSOM.CSSSupportsRule.prototype, "cssText", { - get: function() { - var cssTexts = []; - - for (var i = 0, length = this.cssRules.length; i < length; i++) { - cssTexts.push(this.cssRules[i].cssText); - } - - return "@supports " + this.conditionText + " {" + cssTexts.join("") + "}"; - } -}); - -//.CommonJS -exports.CSSSupportsRule = CSSOM.CSSSupportsRule; -///CommonJS - - -/***/ }), - -/***/ 41215: -/***/ ((__unused_webpack_module, exports) => { - -//.CommonJS -var CSSOM = {}; -///CommonJS - - -/** - * @constructor - * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSValue - * - * TODO: add if needed - */ -CSSOM.CSSValue = function CSSValue() { -}; - -CSSOM.CSSValue.prototype = { - constructor: CSSOM.CSSValue, - - // @see: http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSValue - set cssText(text) { - var name = this._getConstructorName(); - - throw new Error('DOMException: property "cssText" of "' + name + '" is readonly and can not be replaced with "' + text + '"!'); - }, - - get cssText() { - var name = this._getConstructorName(); - - throw new Error('getter "cssText" of "' + name + '" is not implemented!'); - }, - - _getConstructorName: function() { - var s = this.constructor.toString(), - c = s.match(/function\s([^\(]+)/), - name = c[1]; - - return name; - } -}; - - -//.CommonJS -exports.CSSValue = CSSOM.CSSValue; -///CommonJS - - -/***/ }), - -/***/ 27797: -/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { - -//.CommonJS -var CSSOM = { - CSSValue: (__nccwpck_require__(41215).CSSValue) -}; -///CommonJS - - -/** - * @constructor - * @see http://msdn.microsoft.com/en-us/library/ms537634(v=vs.85).aspx - * - */ -CSSOM.CSSValueExpression = function CSSValueExpression(token, idx) { - this._token = token; - this._idx = idx; -}; - -CSSOM.CSSValueExpression.prototype = new CSSOM.CSSValue(); -CSSOM.CSSValueExpression.prototype.constructor = CSSOM.CSSValueExpression; - -/** - * parse css expression() value - * - * @return {Object} - * - error: - * or - * - idx: - * - expression: - * - * Example: - * - * .selector { - * zoom: expression(documentElement.clientWidth > 1000 ? '1000px' : 'auto'); - * } - */ -CSSOM.CSSValueExpression.prototype.parse = function() { - var token = this._token, - idx = this._idx; - - var character = '', - expression = '', - error = '', - info, - paren = []; - - - for (; ; ++idx) { - character = token.charAt(idx); - - // end of token - if (character === '') { - error = 'css expression error: unfinished expression!'; - break; - } - - switch(character) { - case '(': - paren.push(character); - expression += character; - break; - - case ')': - paren.pop(character); - expression += character; - break; - - case '/': - if ((info = this._parseJSComment(token, idx))) { // comment? - if (info.error) { - error = 'css expression error: unfinished comment in expression!'; - } else { - idx = info.idx; - // ignore the comment - } - } else if ((info = this._parseJSRexExp(token, idx))) { // regexp - idx = info.idx; - expression += info.text; - } else { // other - expression += character; - } - break; - - case "'": - case '"': - info = this._parseJSString(token, idx, character); - if (info) { // string - idx = info.idx; - expression += info.text; - } else { - expression += character; - } - break; - - default: - expression += character; - break; - } - - if (error) { - break; - } - - // end of expression - if (paren.length === 0) { - break; - } - } - - var ret; - if (error) { - ret = { - error: error - }; - } else { - ret = { - idx: idx, - expression: expression - }; - } - - return ret; -}; - - -/** - * - * @return {Object|false} - * - idx: - * - text: - * or - * - error: - * or - * false - * - */ -CSSOM.CSSValueExpression.prototype._parseJSComment = function(token, idx) { - var nextChar = token.charAt(idx + 1), - text; - - if (nextChar === '/' || nextChar === '*') { - var startIdx = idx, - endIdx, - commentEndChar; - - if (nextChar === '/') { // line comment - commentEndChar = '\n'; - } else if (nextChar === '*') { // block comment - commentEndChar = '*/'; - } - - endIdx = token.indexOf(commentEndChar, startIdx + 1 + 1); - if (endIdx !== -1) { - endIdx = endIdx + commentEndChar.length - 1; - text = token.substring(idx, endIdx + 1); - return { - idx: endIdx, - text: text - }; - } else { - var error = 'css expression error: unfinished comment in expression!'; - return { - error: error - }; - } - } else { - return false; - } -}; - - -/** - * - * @return {Object|false} - * - idx: - * - text: - * or - * false - * - */ -CSSOM.CSSValueExpression.prototype._parseJSString = function(token, idx, sep) { - var endIdx = this._findMatchedIdx(token, idx, sep), - text; - - if (endIdx === -1) { - return false; - } else { - text = token.substring(idx, endIdx + sep.length); - - return { - idx: endIdx, - text: text - }; - } -}; - - -/** - * parse regexp in css expression - * - * @return {Object|false} - * - idx: - * - regExp: - * or - * false - */ - -/* - -all legal RegExp - -/a/ -(/a/) -[/a/] -[12, /a/] - -!/a/ - -+/a/ --/a/ -* /a/ -/ /a/ -%/a/ - -===/a/ -!==/a/ -==/a/ -!=/a/ ->/a/ ->=/a/ ->/a/ ->>>/a/ - -&&/a/ -||/a/ -?/a/ -=/a/ -,/a/ - - delete /a/ - in /a/ -instanceof /a/ - new /a/ - typeof /a/ - void /a/ - -*/ -CSSOM.CSSValueExpression.prototype._parseJSRexExp = function(token, idx) { - var before = token.substring(0, idx).replace(/\s+$/, ""), - legalRegx = [ - /^$/, - /\($/, - /\[$/, - /\!$/, - /\+$/, - /\-$/, - /\*$/, - /\/\s+/, - /\%$/, - /\=$/, - /\>$/, - /<$/, - /\&$/, - /\|$/, - /\^$/, - /\~$/, - /\?$/, - /\,$/, - /delete$/, - /in$/, - /instanceof$/, - /new$/, - /typeof$/, - /void$/ - ]; - - var isLegal = legalRegx.some(function(reg) { - return reg.test(before); - }); - - if (!isLegal) { - return false; - } else { - var sep = '/'; - - // same logic as string - return this._parseJSString(token, idx, sep); - } -}; - - -/** - * - * find next sep(same line) index in `token` - * - * @return {Number} - * - */ -CSSOM.CSSValueExpression.prototype._findMatchedIdx = function(token, idx, sep) { - var startIdx = idx, - endIdx; - - var NOT_FOUND = -1; - - while(true) { - endIdx = token.indexOf(sep, startIdx + 1); - - if (endIdx === -1) { // not found - endIdx = NOT_FOUND; - break; - } else { - var text = token.substring(idx + 1, endIdx), - matched = text.match(/\\+$/); - if (!matched || matched[0] % 2 === 0) { // not escaped - break; - } else { - startIdx = endIdx; - } - } - } - - // boundary must be in the same line(js sting or regexp) - var nextNewLineIdx = token.indexOf('\n', idx + 1); - if (nextNewLineIdx < endIdx) { - endIdx = NOT_FOUND; - } - - - return endIdx; -}; - - - - -//.CommonJS -exports.CSSValueExpression = CSSOM.CSSValueExpression; -///CommonJS - - -/***/ }), - -/***/ 29165: -/***/ ((__unused_webpack_module, exports) => { - -//.CommonJS -var CSSOM = {}; -///CommonJS - - -/** - * @constructor - * @see https://developer.mozilla.org/en/CSS/@-moz-document - */ -CSSOM.MatcherList = function MatcherList(){ - this.length = 0; -}; - -CSSOM.MatcherList.prototype = { - - constructor: CSSOM.MatcherList, - - /** - * @return {string} - */ - get matcherText() { - return Array.prototype.join.call(this, ", "); - }, - - /** - * @param {string} value - */ - set matcherText(value) { - // just a temporary solution, actually it may be wrong by just split the value with ',', because a url can include ','. - var values = value.split(","); - var length = this.length = values.length; - for (var i=0; i { - -//.CommonJS -var CSSOM = {}; -///CommonJS - - -/** - * @constructor - * @see http://dev.w3.org/csswg/cssom/#the-medialist-interface - */ -CSSOM.MediaList = function MediaList(){ - this.length = 0; -}; - -CSSOM.MediaList.prototype = { - - constructor: CSSOM.MediaList, - - /** - * @return {string} - */ - get mediaText() { - return Array.prototype.join.call(this, ", "); - }, - - /** - * @param {string} value - */ - set mediaText(value) { - var values = value.split(","); - var length = this.length = values.length; - for (var i=0; i { - -//.CommonJS -var CSSOM = {}; -///CommonJS - - -/** - * @constructor - * @see http://dev.w3.org/csswg/cssom/#the-stylesheet-interface - */ -CSSOM.StyleSheet = function StyleSheet() { - this.parentStyleSheet = null; -}; - - -//.CommonJS -exports.StyleSheet = CSSOM.StyleSheet; -///CommonJS - - -/***/ }), - -/***/ 62474: -/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { - -//.CommonJS -var CSSOM = { - CSSStyleSheet: (__nccwpck_require__(10892).CSSStyleSheet), - CSSRule: (__nccwpck_require__(58222).CSSRule), - CSSStyleRule: (__nccwpck_require__(33261).CSSStyleRule), - CSSGroupingRule: (__nccwpck_require__(21831).CSSGroupingRule), - CSSConditionRule: (__nccwpck_require__(91237).CSSConditionRule), - CSSMediaRule: (__nccwpck_require__(17720).CSSMediaRule), - CSSContainerRule: (__nccwpck_require__(30039).CSSContainerRule), - CSSSupportsRule: (__nccwpck_require__(77658).CSSSupportsRule), - CSSStyleDeclaration: (__nccwpck_require__(54655).CSSStyleDeclaration), - CSSKeyframeRule: (__nccwpck_require__(62918).CSSKeyframeRule), - CSSKeyframesRule: (__nccwpck_require__(47849).CSSKeyframesRule) -}; -///CommonJS - - -/** - * Produces a deep copy of stylesheet — the instance variables of stylesheet are copied recursively. - * @param {CSSStyleSheet|CSSOM.CSSStyleSheet} stylesheet - * @nosideeffects - * @return {CSSOM.CSSStyleSheet} - */ -CSSOM.clone = function clone(stylesheet) { - - var cloned = new CSSOM.CSSStyleSheet(); - - var rules = stylesheet.cssRules; - if (!rules) { - return cloned; - } - - for (var i = 0, rulesLength = rules.length; i < rulesLength; i++) { - var rule = rules[i]; - var ruleClone = cloned.cssRules[i] = new rule.constructor(); - - var style = rule.style; - if (style) { - var styleClone = ruleClone.style = new CSSOM.CSSStyleDeclaration(); - for (var j = 0, styleLength = style.length; j < styleLength; j++) { - var name = styleClone[j] = style[j]; - styleClone[name] = style[name]; - styleClone._importants[name] = style.getPropertyPriority(name); - } - styleClone.length = style.length; - } - - if (rule.hasOwnProperty('keyText')) { - ruleClone.keyText = rule.keyText; - } - - if (rule.hasOwnProperty('selectorText')) { - ruleClone.selectorText = rule.selectorText; - } - - if (rule.hasOwnProperty('mediaText')) { - ruleClone.mediaText = rule.mediaText; - } - - if (rule.hasOwnProperty('conditionText')) { - ruleClone.conditionText = rule.conditionText; - } - - if (rule.hasOwnProperty('cssRules')) { - ruleClone.cssRules = clone(rule).cssRules; - } - } - - return cloned; - -}; - -//.CommonJS -exports.clone = CSSOM.clone; -///CommonJS - - -/***/ }), - -/***/ 93583: -/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { - - - -exports.CSSStyleDeclaration = __nccwpck_require__(54655).CSSStyleDeclaration; -exports.CSSRule = __nccwpck_require__(58222).CSSRule; -exports.CSSGroupingRule = __nccwpck_require__(21831).CSSGroupingRule; -exports.CSSConditionRule = __nccwpck_require__(91237).CSSConditionRule; -exports.CSSStyleRule = __nccwpck_require__(33261).CSSStyleRule; -exports.MediaList = __nccwpck_require__(94239).MediaList; -exports.CSSMediaRule = __nccwpck_require__(17720).CSSMediaRule; -exports.CSSContainerRule = __nccwpck_require__(30039).CSSContainerRule; -exports.CSSSupportsRule = __nccwpck_require__(77658).CSSSupportsRule; -exports.CSSImportRule = __nccwpck_require__(5227).CSSImportRule; -exports.CSSFontFaceRule = __nccwpck_require__(5822).CSSFontFaceRule; -exports.CSSHostRule = __nccwpck_require__(90336).CSSHostRule; -exports.CSSStartingStyleRule = __nccwpck_require__(13785).CSSStartingStyleRule; -exports.StyleSheet = __nccwpck_require__(69411).StyleSheet; -exports.CSSStyleSheet = __nccwpck_require__(10892).CSSStyleSheet; -exports.CSSKeyframesRule = __nccwpck_require__(47849).CSSKeyframesRule; -exports.CSSKeyframeRule = __nccwpck_require__(62918).CSSKeyframeRule; -exports.MatcherList = __nccwpck_require__(29165).MatcherList; -exports.CSSDocumentRule = __nccwpck_require__(20647).CSSDocumentRule; -exports.CSSValue = __nccwpck_require__(41215).CSSValue; -exports.CSSValueExpression = __nccwpck_require__(27797).CSSValueExpression; -exports.parse = __nccwpck_require__(67544).parse; -exports.clone = __nccwpck_require__(62474).clone; - - -/***/ }), - -/***/ 67544: -/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { - -//.CommonJS -var CSSOM = {}; -///CommonJS - - -/** - * @param {string} token - */ -CSSOM.parse = function parse(token) { - - var i = 0; - - /** - "before-selector" or - "selector" or - "atRule" or - "atBlock" or - "conditionBlock" or - "before-name" or - "name" or - "before-value" or - "value" - */ - var state = "before-selector"; - - var index; - var buffer = ""; - var valueParenthesisDepth = 0; - - var SIGNIFICANT_WHITESPACE = { - "selector": true, - "value": true, - "value-parenthesis": true, - "atRule": true, - "importRule-begin": true, - "importRule": true, - "atBlock": true, - "containerBlock": true, - "conditionBlock": true, - 'documentRule-begin': true - }; - - var styleSheet = new CSSOM.CSSStyleSheet(); - - // @type CSSStyleSheet|CSSMediaRule|CSSContainerRule|CSSSupportsRule|CSSFontFaceRule|CSSKeyframesRule|CSSDocumentRule - var currentScope = styleSheet; - - // @type CSSMediaRule|CSSContainerRule|CSSSupportsRule|CSSKeyframesRule|CSSDocumentRule - var parentRule; - - var ancestorRules = []; - var hasAncestors = false; - var prevScope; - - var name, priority="", styleRule, mediaRule, containerRule, supportsRule, importRule, fontFaceRule, keyframesRule, documentRule, hostRule, startingStyleRule; - - var atKeyframesRegExp = /@(-(?:\w+-)+)?keyframes/g; - - var parseError = function(message) { - var lines = token.substring(0, i).split('\n'); - var lineCount = lines.length; - var charCount = lines.pop().length + 1; - var error = new Error(message + ' (line ' + lineCount + ', char ' + charCount + ')'); - error.line = lineCount; - /* jshint sub : true */ - error['char'] = charCount; - error.styleSheet = styleSheet; - throw error; - }; - - for (var character; (character = token.charAt(i)); i++) { - - switch (character) { - - case " ": - case "\t": - case "\r": - case "\n": - case "\f": - if (SIGNIFICANT_WHITESPACE[state]) { - buffer += character; - } - break; - - // String - case '"': - index = i + 1; - do { - index = token.indexOf('"', index) + 1; - if (!index) { - parseError('Unmatched "'); - } - } while (token[index - 2] === '\\'); - buffer += token.slice(i, index); - i = index - 1; - switch (state) { - case 'before-value': - state = 'value'; - break; - case 'importRule-begin': - state = 'importRule'; - break; - } - break; - - case "'": - index = i + 1; - do { - index = token.indexOf("'", index) + 1; - if (!index) { - parseError("Unmatched '"); - } - } while (token[index - 2] === '\\'); - buffer += token.slice(i, index); - i = index - 1; - switch (state) { - case 'before-value': - state = 'value'; - break; - case 'importRule-begin': - state = 'importRule'; - break; - } - break; - - // Comment - case "/": - if (token.charAt(i + 1) === "*") { - i += 2; - index = token.indexOf("*/", i); - if (index === -1) { - parseError("Missing */"); - } else { - i = index + 1; - } - } else { - buffer += character; - } - if (state === "importRule-begin") { - buffer += " "; - state = "importRule"; - } - break; - - // At-rule - case "@": - if (token.indexOf("@-moz-document", i) === i) { - state = "documentRule-begin"; - documentRule = new CSSOM.CSSDocumentRule(); - documentRule.__starts = i; - i += "-moz-document".length; - buffer = ""; - break; - } else if (token.indexOf("@media", i) === i) { - state = "atBlock"; - mediaRule = new CSSOM.CSSMediaRule(); - mediaRule.__starts = i; - i += "media".length; - buffer = ""; - break; - } else if (token.indexOf("@container", i) === i) { - state = "containerBlock"; - containerRule = new CSSOM.CSSContainerRule(); - containerRule.__starts = i; - i += "container".length; - buffer = ""; - break; - } else if (token.indexOf("@supports", i) === i) { - state = "conditionBlock"; - supportsRule = new CSSOM.CSSSupportsRule(); - supportsRule.__starts = i; - i += "supports".length; - buffer = ""; - break; - } else if (token.indexOf("@host", i) === i) { - state = "hostRule-begin"; - i += "host".length; - hostRule = new CSSOM.CSSHostRule(); - hostRule.__starts = i; - buffer = ""; - break; - } else if (token.indexOf("@starting-style", i) === i) { - state = "startingStyleRule-begin"; - i += "starting-style".length; - startingStyleRule = new CSSOM.CSSStartingStyleRule(); - startingStyleRule.__starts = i; - buffer = ""; - break; - } else if (token.indexOf("@import", i) === i) { - state = "importRule-begin"; - i += "import".length; - buffer += "@import"; - break; - } else if (token.indexOf("@font-face", i) === i) { - state = "fontFaceRule-begin"; - i += "font-face".length; - fontFaceRule = new CSSOM.CSSFontFaceRule(); - fontFaceRule.__starts = i; - buffer = ""; - break; - } else { - atKeyframesRegExp.lastIndex = i; - var matchKeyframes = atKeyframesRegExp.exec(token); - if (matchKeyframes && matchKeyframes.index === i) { - state = "keyframesRule-begin"; - keyframesRule = new CSSOM.CSSKeyframesRule(); - keyframesRule.__starts = i; - keyframesRule._vendorPrefix = matchKeyframes[1]; // Will come out as undefined if no prefix was found - i += matchKeyframes[0].length - 1; - buffer = ""; - break; - } else if (state === "selector") { - state = "atRule"; - } - } - buffer += character; - break; - - case "{": - if (state === "selector" || state === "atRule") { - styleRule.selectorText = buffer.trim(); - styleRule.style.__starts = i; - buffer = ""; - state = "before-name"; - } else if (state === "atBlock") { - mediaRule.media.mediaText = buffer.trim(); - - if (parentRule) { - ancestorRules.push(parentRule); - } - - currentScope = parentRule = mediaRule; - mediaRule.parentStyleSheet = styleSheet; - buffer = ""; - state = "before-selector"; - } else if (state === "containerBlock") { - containerRule.containerText = buffer.trim(); - - if (parentRule) { - ancestorRules.push(parentRule); - } - currentScope = parentRule = containerRule; - containerRule.parentStyleSheet = styleSheet; - buffer = ""; - state = "before-selector"; - } else if (state === "conditionBlock") { - supportsRule.conditionText = buffer.trim(); - - if (parentRule) { - ancestorRules.push(parentRule); - } - - currentScope = parentRule = supportsRule; - supportsRule.parentStyleSheet = styleSheet; - buffer = ""; - state = "before-selector"; - } else if (state === "hostRule-begin") { - if (parentRule) { - ancestorRules.push(parentRule); - } - - currentScope = parentRule = hostRule; - hostRule.parentStyleSheet = styleSheet; - buffer = ""; - state = "before-selector"; - } else if (state === "startingStyleRule-begin") { - if (parentRule) { - ancestorRules.push(parentRule); - } - - currentScope = parentRule = startingStyleRule; - startingStyleRule.parentStyleSheet = styleSheet; - buffer = ""; - state = "before-selector"; - - } else if (state === "fontFaceRule-begin") { - if (parentRule) { - fontFaceRule.parentRule = parentRule; - } - fontFaceRule.parentStyleSheet = styleSheet; - styleRule = fontFaceRule; - buffer = ""; - state = "before-name"; - } else if (state === "keyframesRule-begin") { - keyframesRule.name = buffer.trim(); - if (parentRule) { - ancestorRules.push(parentRule); - keyframesRule.parentRule = parentRule; - } - keyframesRule.parentStyleSheet = styleSheet; - currentScope = parentRule = keyframesRule; - buffer = ""; - state = "keyframeRule-begin"; - } else if (state === "keyframeRule-begin") { - styleRule = new CSSOM.CSSKeyframeRule(); - styleRule.keyText = buffer.trim(); - styleRule.__starts = i; - buffer = ""; - state = "before-name"; - } else if (state === "documentRule-begin") { - // FIXME: what if this '{' is in the url text of the match function? - documentRule.matcher.matcherText = buffer.trim(); - if (parentRule) { - ancestorRules.push(parentRule); - documentRule.parentRule = parentRule; - } - currentScope = parentRule = documentRule; - documentRule.parentStyleSheet = styleSheet; - buffer = ""; - state = "before-selector"; - } - break; - - case ":": - if (state === "name") { - name = buffer.trim(); - buffer = ""; - state = "before-value"; - } else { - buffer += character; - } - break; - - case "(": - if (state === 'value') { - // ie css expression mode - if (buffer.trim() === 'expression') { - var info = (new CSSOM.CSSValueExpression(token, i)).parse(); - - if (info.error) { - parseError(info.error); - } else { - buffer += info.expression; - i = info.idx; - } - } else { - state = 'value-parenthesis'; - //always ensure this is reset to 1 on transition - //from value to value-parenthesis - valueParenthesisDepth = 1; - buffer += character; - } - } else if (state === 'value-parenthesis') { - valueParenthesisDepth++; - buffer += character; - } else { - buffer += character; - } - break; - - case ")": - if (state === 'value-parenthesis') { - valueParenthesisDepth--; - if (valueParenthesisDepth === 0) state = 'value'; - } - buffer += character; - break; - - case "!": - if (state === "value" && token.indexOf("!important", i) === i) { - priority = "important"; - i += "important".length; - } else { - buffer += character; - } - break; - - case ";": - switch (state) { - case "value": - styleRule.style.setProperty(name, buffer.trim(), priority); - priority = ""; - buffer = ""; - state = "before-name"; - break; - case "atRule": - buffer = ""; - state = "before-selector"; - break; - case "importRule": - importRule = new CSSOM.CSSImportRule(); - importRule.parentStyleSheet = importRule.styleSheet.parentStyleSheet = styleSheet; - importRule.cssText = buffer + character; - styleSheet.cssRules.push(importRule); - buffer = ""; - state = "before-selector"; - break; - default: - buffer += character; - break; - } - break; - - case "}": - switch (state) { - case "value": - styleRule.style.setProperty(name, buffer.trim(), priority); - priority = ""; - /* falls through */ - case "before-name": - case "name": - styleRule.__ends = i + 1; - if (parentRule) { - styleRule.parentRule = parentRule; - } - styleRule.parentStyleSheet = styleSheet; - currentScope.cssRules.push(styleRule); - buffer = ""; - if (currentScope.constructor === CSSOM.CSSKeyframesRule) { - state = "keyframeRule-begin"; - } else { - state = "before-selector"; - } - break; - case "keyframeRule-begin": - case "before-selector": - case "selector": - // End of media/supports/document rule. - if (!parentRule) { - parseError("Unexpected }"); - } - - // Handle rules nested in @media or @supports - hasAncestors = ancestorRules.length > 0; - - while (ancestorRules.length > 0) { - parentRule = ancestorRules.pop(); - - if ( - parentRule.constructor.name === "CSSMediaRule" - || parentRule.constructor.name === "CSSSupportsRule" - || parentRule.constructor.name === "CSSContainerRule" - || parentRule.constructor.name === "CSSStartingStyleRule" - ) { - prevScope = currentScope; - currentScope = parentRule; - currentScope.cssRules.push(prevScope); - break; - } - - if (ancestorRules.length === 0) { - hasAncestors = false; - } - } - - if (!hasAncestors) { - currentScope.__ends = i + 1; - styleSheet.cssRules.push(currentScope); - currentScope = styleSheet; - parentRule = null; - } - - buffer = ""; - state = "before-selector"; - break; - } - break; - - default: - switch (state) { - case "before-selector": - state = "selector"; - styleRule = new CSSOM.CSSStyleRule(); - styleRule.__starts = i; - break; - case "before-name": - state = "name"; - break; - case "before-value": - state = "value"; - break; - case "importRule-begin": - state = "importRule"; - break; - } - buffer += character; - break; - } - } - - return styleSheet; -}; - - -//.CommonJS -exports.parse = CSSOM.parse; -// The following modules cannot be included sooner due to the mutual dependency with parse.js -CSSOM.CSSStyleSheet = (__nccwpck_require__(10892).CSSStyleSheet); -CSSOM.CSSStyleRule = (__nccwpck_require__(33261).CSSStyleRule); -CSSOM.CSSImportRule = (__nccwpck_require__(5227).CSSImportRule); -CSSOM.CSSGroupingRule = (__nccwpck_require__(21831).CSSGroupingRule); -CSSOM.CSSMediaRule = (__nccwpck_require__(17720).CSSMediaRule); -CSSOM.CSSContainerRule = (__nccwpck_require__(30039).CSSContainerRule); -CSSOM.CSSConditionRule = (__nccwpck_require__(91237).CSSConditionRule); -CSSOM.CSSSupportsRule = (__nccwpck_require__(77658).CSSSupportsRule); -CSSOM.CSSFontFaceRule = (__nccwpck_require__(5822).CSSFontFaceRule); -CSSOM.CSSHostRule = (__nccwpck_require__(90336).CSSHostRule); -CSSOM.CSSStartingStyleRule = (__nccwpck_require__(13785).CSSStartingStyleRule); -CSSOM.CSSStyleDeclaration = (__nccwpck_require__(54655).CSSStyleDeclaration); -CSSOM.CSSKeyframeRule = (__nccwpck_require__(62918).CSSKeyframeRule); -CSSOM.CSSKeyframesRule = (__nccwpck_require__(47849).CSSKeyframesRule); -CSSOM.CSSValueExpression = (__nccwpck_require__(27797).CSSValueExpression); -CSSOM.CSSDocumentRule = (__nccwpck_require__(20647).CSSDocumentRule); -///CommonJS - - -/***/ }), - -/***/ 14415: -/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { - - -const MIMEType = __nccwpck_require__(98067); -const { parseURL, serializeURL, percentDecodeString } = __nccwpck_require__(23017); -const { stripLeadingAndTrailingASCIIWhitespace, isomorphicDecode, forgivingBase64Decode } = __nccwpck_require__(91903); - -module.exports = stringInput => { - const urlRecord = parseURL(stringInput); - - if (urlRecord === null) { - return null; - } - - return module.exports.fromURLRecord(urlRecord); -}; - -module.exports.fromURLRecord = urlRecord => { - if (urlRecord.scheme !== "data") { - return null; - } - - const input = serializeURL(urlRecord, true).substring("data:".length); - - let position = 0; - - let mimeType = ""; - while (position < input.length && input[position] !== ",") { - mimeType += input[position]; - ++position; - } - mimeType = stripLeadingAndTrailingASCIIWhitespace(mimeType); - - if (position === input.length) { - return null; - } - - ++position; - - const encodedBody = input.substring(position); - - let body = percentDecodeString(encodedBody); - - // Can't use /i regexp flag because it isn't restricted to ASCII. - const mimeTypeBase64MatchResult = /(.*); *[Bb][Aa][Ss][Ee]64$/u.exec(mimeType); - if (mimeTypeBase64MatchResult) { - const stringBody = isomorphicDecode(body); - body = forgivingBase64Decode(stringBody); - - if (body === null) { - return null; - } - mimeType = mimeTypeBase64MatchResult[1]; - } - - if (mimeType.startsWith(";")) { - mimeType = `text/plain${mimeType}`; - } - - let mimeTypeRecord; - try { - mimeTypeRecord = new MIMEType(mimeType); - } catch (e) { - mimeTypeRecord = new MIMEType("text/plain;charset=US-ASCII"); - } - - return { - mimeType: mimeTypeRecord, - body - }; -}; - - -/***/ }), - -/***/ 91903: -/***/ ((__unused_webpack_module, exports) => { - - - -exports.stripLeadingAndTrailingASCIIWhitespace = string => { - return string.replace(/^[ \t\n\f\r]+/u, "").replace(/[ \t\n\f\r]+$/u, ""); -}; - -exports.isomorphicDecode = input => { - return Array.from(input, byte => String.fromCodePoint(byte)).join(""); -}; - -exports.forgivingBase64Decode = data => { - let asString; - try { - asString = atob(data); - } catch { - return null; - } - - return Uint8Array.from(asString, c => c.codePointAt(0)); -}; - - -/***/ }), - -/***/ 99065: -/***/ ((module, exports, __nccwpck_require__) => { - -/* eslint-env browser */ - -/** - * This is the web browser implementation of `debug()`. - */ - -exports.formatArgs = formatArgs; -exports.save = save; -exports.load = load; -exports.useColors = useColors; -exports.storage = localstorage(); -exports.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`.'); - } - }; -})(); - -/** - * Colors. - */ - -exports.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' -]; - -/** - * Currently only WebKit-based Web Inspectors, Firefox >= v31, - * and the Firebug extension (any Firefox version) are known - * to support "%c" CSS customizations. - * - * TODO: add a `localStorage` variable to explicitly enable/disable colors - */ - -// eslint-disable-next-line complexity -function useColors() { - // NB: In an Electron preload script, document will be defined but not fully - // initialized. Since we know we're in Chrome, we'll just detect this case - // explicitly - if (typeof window !== 'undefined' && window.process && (window.process.type === 'renderer' || window.process.__nwjs)) { - return true; - } - - // Internet Explorer and Edge do not support colors. - if (typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/)) { - return false; - } - - let m; - - // Is webkit? http://stackoverflow.com/a/16459606/376773 - // document is undefined in react-native: https://github.com/facebook/react-native/pull/1632 - // eslint-disable-next-line no-return-assign - return (typeof document !== 'undefined' && document.documentElement && document.documentElement.style && document.documentElement.style.WebkitAppearance) || - // Is firebug? http://stackoverflow.com/a/398120/376773 - (typeof window !== 'undefined' && window.console && (window.console.firebug || (window.console.exception && window.console.table))) || - // Is firefox >= v31? - // https://developer.mozilla.org/en-US/docs/Tools/Web_Console#Styling_messages - (typeof navigator !== 'undefined' && navigator.userAgent && (m = navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/)) && parseInt(m[1], 10) >= 31) || - // Double check webkit in userAgent just in case we are in a worker - (typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)); -} - -/** - * Colorize log arguments if enabled. - * - * @api public - */ - -function formatArgs(args) { - args[0] = (this.useColors ? '%c' : '') + - this.namespace + - (this.useColors ? ' %c' : ' ') + - args[0] + - (this.useColors ? '%c ' : ' ') + - '+' + module.exports.humanize(this.diff); - - if (!this.useColors) { - return; - } - - const c = 'color: ' + this.color; - args.splice(1, 0, c, 'color: inherit'); - - // The final "%c" is somewhat tricky, because there could be other - // arguments passed either before or after the %c, so we need to - // figure out the correct index to insert the CSS into - let index = 0; - let lastC = 0; - args[0].replace(/%[a-zA-Z%]/g, match => { - if (match === '%%') { - return; - } - index++; - if (match === '%c') { - // We only are interested in the *last* %c - // (the user may have provided their own) - lastC = index; - } - }); - - args.splice(lastC, 0, c); -} - -/** - * Invokes `console.debug()` when available. - * No-op when `console.debug` is not a "function". - * If `console.debug` is not available, falls back - * to `console.log`. - * - * @api public - */ -exports.log = console.debug || console.log || (() => {}); - -/** - * Save `namespaces`. - * - * @param {String} namespaces - * @api private - */ -function save(namespaces) { - try { - if (namespaces) { - exports.storage.setItem('debug', namespaces); - } else { - exports.storage.removeItem('debug'); - } - } catch (error) { - // Swallow - // XXX (@Qix-) should we be logging these? - } -} - -/** - * Load `namespaces`. - * - * @return {String} returns the previously persisted debug modes - * @api private - */ -function load() { - let r; - try { - r = exports.storage.getItem('debug'); - } catch (error) { - // Swallow - // XXX (@Qix-) should we be logging these? - } - - // If debug isn't set in LS, and we're in Electron, try to load $DEBUG - if (!r && typeof process !== 'undefined' && 'env' in process) { - r = process.env.DEBUG; - } - - return r; -} - -/** - * Localstorage attempts to return the localstorage. - * - * This is necessary because safari throws - * when a user disables cookies/localstorage - * and you attempt to access it. - * - * @return {LocalStorage} - * @api private - */ - -function localstorage() { - try { - // TVMLKit (Apple TV JS Runtime) does not have a window object, just localStorage in the global context - // The Browser also has localStorage in the global context. - return localStorage; - } catch (error) { - // Swallow - // XXX (@Qix-) should we be logging these? - } -} - -module.exports = __nccwpck_require__(66288)(exports); - -const {formatters} = module.exports; - -/** - * Map %j to `JSON.stringify()`, since no Web Inspectors do that by default. - */ - -formatters.j = function (v) { - try { - return JSON.stringify(v); - } catch (error) { - return '[UnexpectedJSONParseError]: ' + error.message; - } -}; - - -/***/ }), - -/***/ 66288: -/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { - - -/** - * This is the common logic for both the Node.js and web browser - * implementations of `debug()`. - */ - -function setup(env) { - createDebug.debug = createDebug; - createDebug.default = createDebug; - createDebug.coerce = coerce; - createDebug.disable = disable; - createDebug.enable = enable; - createDebug.enabled = enabled; - createDebug.humanize = __nccwpck_require__(19433); - createDebug.destroy = destroy; - - Object.keys(env).forEach(key => { - createDebug[key] = env[key]; - }); - - /** - * The currently active debug mode names, and names to skip. - */ - - createDebug.names = []; - createDebug.skips = []; - - /** - * Map of special "%n" handling functions, for the debug "format" argument. - * - * Valid key names are a single, lower or upper-case letter, i.e. "n" and "N". - */ - createDebug.formatters = {}; - - /** - * Selects a color for a debug namespace - * @param {String} namespace The namespace string for the debug instance to be colored - * @return {Number|String} An ANSI color code for the given namespace - * @api private - */ - function selectColor(namespace) { - let hash = 0; - - for (let i = 0; i < namespace.length; i++) { - hash = ((hash << 5) - hash) + namespace.charCodeAt(i); - hash |= 0; // Convert to 32bit integer - } - - return createDebug.colors[Math.abs(hash) % createDebug.colors.length]; - } - createDebug.selectColor = selectColor; - - /** - * Create a debugger with the given `namespace`. - * - * @param {String} namespace - * @return {Function} - * @api public - */ - function createDebug(namespace) { - let prevTime; - let enableOverride = null; - let namespacesCache; - let enabledCache; - - function debug(...args) { - // Disabled? - if (!debug.enabled) { - return; - } - - const self = debug; - - // Set `diff` timestamp - const curr = Number(new Date()); - const ms = curr - (prevTime || curr); - self.diff = ms; - self.prev = prevTime; - self.curr = curr; - prevTime = curr; - - args[0] = createDebug.coerce(args[0]); - - if (typeof args[0] !== 'string') { - // Anything else let's inspect with %O - args.unshift('%O'); - } - - // Apply any `formatters` transformations - let index = 0; - args[0] = args[0].replace(/%([a-zA-Z%])/g, (match, format) => { - // If we encounter an escaped % then don't increase the array index - if (match === '%%') { - return '%'; - } - index++; - const formatter = createDebug.formatters[format]; - if (typeof formatter === 'function') { - const val = args[index]; - match = formatter.call(self, val); - - // Now we need to remove `args[index]` since it's inlined in the `format` - args.splice(index, 1); - index--; - } - return match; - }); - - // Apply env-specific formatting (colors, etc.) - createDebug.formatArgs.call(self, args); - - const logFn = self.log || createDebug.log; - logFn.apply(self, args); - } - - debug.namespace = namespace; - debug.useColors = createDebug.useColors(); - debug.color = createDebug.selectColor(namespace); - debug.extend = extend; - debug.destroy = createDebug.destroy; // XXX Temporary. Will be removed in the next major release. - - 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; - } - }); - - // Env-specific initialization logic for debug instances - if (typeof createDebug.init === 'function') { - createDebug.init(debug); - } - - return debug; - } - - function extend(namespace, delimiter) { - const newDebug = createDebug(this.namespace + (typeof delimiter === 'undefined' ? ':' : delimiter) + namespace); - newDebug.log = this.log; - return newDebug; - } - - /** - * Enables a debug mode by namespaces. This can include modes - * separated by a colon and wildcards. - * - * @param {String} namespaces - * @api public - */ - function enable(namespaces) { - createDebug.save(namespaces); - createDebug.namespaces = namespaces; - - createDebug.names = []; - createDebug.skips = []; - - const split = (typeof namespaces === 'string' ? namespaces : '') - .trim() - .replace(' ', ',') - .split(',') - .filter(Boolean); - - for (const ns of split) { - if (ns[0] === '-') { - createDebug.skips.push(ns.slice(1)); - } else { - createDebug.names.push(ns); - } - } - } - - /** - * Checks if the given string matches a namespace template, honoring - * asterisks as wildcards. - * - * @param {String} search - * @param {String} template - * @return {Boolean} - */ - function matchesTemplate(search, template) { - let searchIndex = 0; - let templateIndex = 0; - let starIndex = -1; - let matchIndex = 0; - - while (searchIndex < search.length) { - if (templateIndex < template.length && (template[templateIndex] === search[searchIndex] || template[templateIndex] === '*')) { - // Match character or proceed with wildcard - if (template[templateIndex] === '*') { - starIndex = templateIndex; - matchIndex = searchIndex; - templateIndex++; // Skip the '*' - } else { - searchIndex++; - templateIndex++; - } - } else if (starIndex !== -1) { // eslint-disable-line no-negated-condition - // Backtrack to the last '*' and try to match more characters - templateIndex = starIndex + 1; - matchIndex++; - searchIndex = matchIndex; - } else { - return false; // No match - } - } - - // Handle trailing '*' in template - while (templateIndex < template.length && template[templateIndex] === '*') { - templateIndex++; - } - - return templateIndex === template.length; - } - - /** - * Disable debug output. - * - * @return {String} namespaces - * @api public - */ - function disable() { - const namespaces = [ - ...createDebug.names, - ...createDebug.skips.map(namespace => '-' + namespace) - ].join(','); - createDebug.enable(''); - return namespaces; - } - - /** - * Returns true if the given mode name is enabled, false otherwise. - * - * @param {String} name - * @return {Boolean} - * @api public - */ - function enabled(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; - } - - /** - * Coerce `val`. - * - * @param {Mixed} val - * @return {Mixed} - * @api private - */ - function coerce(val) { - if (val instanceof Error) { - return val.stack || val.message; - } - return val; - } - - /** - * XXX DO NOT USE. This is a temporary stub function. - * XXX It WILL be removed in the next major release. - */ - 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; -} - -module.exports = setup; - - -/***/ }), - -/***/ 22025: -/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { - -/** - * Detect Electron renderer / nwjs process, which is node, but we should - * treat as a browser. - */ - -if (typeof process === 'undefined' || process.type === 'renderer' || process.browser === true || process.__nwjs) { - module.exports = __nccwpck_require__(99065); -} else { - module.exports = __nccwpck_require__(25873); -} - - -/***/ }), - -/***/ 25873: -/***/ ((module, exports, __nccwpck_require__) => { - -/** - * Module dependencies. - */ - -const tty = __nccwpck_require__(52018); -const util = __nccwpck_require__(39023); - -/** - * This is the Node.js implementation of `debug()`. - */ - -exports.init = init; -exports.log = log; -exports.formatArgs = formatArgs; -exports.save = save; -exports.load = load; -exports.useColors = useColors; -exports.destroy = util.deprecate( - () => {}, - 'Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.' -); - -/** - * Colors. - */ - -exports.colors = [6, 2, 3, 4, 5, 1]; - -try { - // Optional dependency (as in, doesn't need to be installed, NOT like optionalDependencies in package.json) - // eslint-disable-next-line import/no-extraneous-dependencies - const supportsColor = __nccwpck_require__(25975); - - if (supportsColor && (supportsColor.stderr || supportsColor).level >= 2) { - exports.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) { - // Swallow - we only care if `supports-color` is available; it doesn't have to be. -} - -/** - * Build up the default `inspectOpts` object from the environment variables. - * - * $ DEBUG_COLORS=no DEBUG_DEPTH=10 DEBUG_SHOW_HIDDEN=enabled node script.js - */ - -exports.inspectOpts = Object.keys(process.env).filter(key => { - return /^debug_/i.test(key); -}).reduce((obj, key) => { - // Camel-case - const prop = key - .substring(6) - .toLowerCase() - .replace(/_([a-z])/g, (_, k) => { - return k.toUpperCase(); - }); - - // Coerce string value into JS value - 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; -}, {}); - -/** - * Is stdout a TTY? Colored output is enabled when `true`. - */ - -function useColors() { - return 'colors' in exports.inspectOpts ? - Boolean(exports.inspectOpts.colors) : - tty.isatty(process.stderr.fd); -} - -/** - * Adds ANSI color escape codes if enabled. - * - * @api public - */ - -function formatArgs(args) { - const {namespace: name, useColors} = this; - - if (useColors) { - const c = this.color; - const colorCode = '\u001B[3' + (c < 8 ? c : '8;5;' + c); - const prefix = ` ${colorCode};1m${name} \u001B[0m`; - - args[0] = prefix + args[0].split('\n').join('\n' + prefix); - args.push(colorCode + 'm+' + module.exports.humanize(this.diff) + '\u001B[0m'); - } else { - args[0] = getDate() + name + ' ' + args[0]; - } -} - -function getDate() { - if (exports.inspectOpts.hideDate) { - return ''; - } - return new Date().toISOString() + ' '; -} - -/** - * Invokes `util.formatWithOptions()` with the specified arguments and writes to stderr. - */ - -function log(...args) { - return process.stderr.write(util.formatWithOptions(exports.inspectOpts, ...args) + '\n'); -} - -/** - * Save `namespaces`. - * - * @param {String} namespaces - * @api private - */ -function save(namespaces) { - if (namespaces) { - process.env.DEBUG = namespaces; - } else { - // If you set a process.env field to null or undefined, it gets cast to the - // string 'null' or 'undefined'. Just delete instead. - delete process.env.DEBUG; - } -} - -/** - * Load `namespaces`. - * - * @return {String} returns the previously persisted debug modes - * @api private - */ - -function load() { - return process.env.DEBUG; -} - -/** - * Init logic for `debug` instances. - * - * Create a new `inspectOpts` object in case `useColors` is set - * differently for a particular `debug` instance. - */ - -function init(debug) { - debug.inspectOpts = {}; - - const keys = Object.keys(exports.inspectOpts); - for (let i = 0; i < keys.length; i++) { - debug.inspectOpts[keys[i]] = exports.inspectOpts[keys[i]]; - } -} - -module.exports = __nccwpck_require__(66288)(exports); - -const {formatters} = module.exports; - -/** - * Map %o to `util.inspect()`, all on a single line. - */ - -formatters.o = function (v) { - this.inspectOpts.colors = this.useColors; - return util.inspect(v, this.inspectOpts) - .split('\n') - .map(str => str.trim()) - .join(' '); -}; - -/** - * Map %O to `util.inspect()`, allowing multiple lines if needed. - */ - -formatters.O = function (v) { - this.inspectOpts.colors = this.useColors; - return util.inspect(v, this.inspectOpts); -}; - - -/***/ }), - -/***/ 15590: -/***/ (function(module) { - -;(function (globalScope) { - 'use strict'; - - - /*! - * decimal.js v10.4.3 - * An arbitrary-precision Decimal type for JavaScript. - * https://github.com/MikeMcl/decimal.js - * Copyright (c) 2022 Michael Mclaughlin - * MIT Licence - */ - - - // ----------------------------------- EDITABLE DEFAULTS ------------------------------------ // - - - // The maximum exponent magnitude. - // The limit on the value of `toExpNeg`, `toExpPos`, `minE` and `maxE`. - var EXP_LIMIT = 9e15, // 0 to 9e15 - - // The limit on the value of `precision`, and on the value of the first argument to - // `toDecimalPlaces`, `toExponential`, `toFixed`, `toPrecision` and `toSignificantDigits`. - MAX_DIGITS = 1e9, // 0 to 1e9 - - // Base conversion alphabet. - NUMERALS = '0123456789abcdef', - - // The natural logarithm of 10 (1025 digits). - LN10 = '2.3025850929940456840179914546843642076011014886287729760333279009675726096773524802359972050895982983419677840422862486334095254650828067566662873690987816894829072083255546808437998948262331985283935053089653777326288461633662222876982198867465436674744042432743651550489343149393914796194044002221051017141748003688084012647080685567743216228355220114804663715659121373450747856947683463616792101806445070648000277502684916746550586856935673420670581136429224554405758925724208241314695689016758940256776311356919292033376587141660230105703089634572075440370847469940168269282808481184289314848524948644871927809676271275775397027668605952496716674183485704422507197965004714951050492214776567636938662976979522110718264549734772662425709429322582798502585509785265383207606726317164309505995087807523710333101197857547331541421808427543863591778117054309827482385045648019095610299291824318237525357709750539565187697510374970888692180205189339507238539205144634197265287286965110862571492198849978748873771345686209167058', - - // Pi (1025 digits). - PI = '3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679821480865132823066470938446095505822317253594081284811174502841027019385211055596446229489549303819644288109756659334461284756482337867831652712019091456485669234603486104543266482133936072602491412737245870066063155881748815209209628292540917153643678925903600113305305488204665213841469519415116094330572703657595919530921861173819326117931051185480744623799627495673518857527248912279381830119491298336733624406566430860213949463952247371907021798609437027705392171762931767523846748184676694051320005681271452635608277857713427577896091736371787214684409012249534301465495853710507922796892589235420199561121290219608640344181598136297747713099605187072113499999983729780499510597317328160963185950244594553469083026425223082533446850352619311881710100031378387528865875332083814206171776691473035982534904287554687311595628638823537875937519577818577805321712268066130019278766111959092164201989380952572010654858632789', - - - // The initial configuration properties of the Decimal constructor. - DEFAULTS = { - - // These values must be integers within the stated ranges (inclusive). - // Most of these values can be changed at run-time using the `Decimal.config` method. - - // The maximum number of significant digits of the result of a calculation or base conversion. - // E.g. `Decimal.config({ precision: 20 });` - precision: 20, // 1 to MAX_DIGITS - - // The rounding mode used when rounding to `precision`. - // - // ROUND_UP 0 Away from zero. - // ROUND_DOWN 1 Towards zero. - // ROUND_CEIL 2 Towards +Infinity. - // ROUND_FLOOR 3 Towards -Infinity. - // ROUND_HALF_UP 4 Towards nearest neighbour. If equidistant, up. - // ROUND_HALF_DOWN 5 Towards nearest neighbour. If equidistant, down. - // ROUND_HALF_EVEN 6 Towards nearest neighbour. If equidistant, towards even neighbour. - // ROUND_HALF_CEIL 7 Towards nearest neighbour. If equidistant, towards +Infinity. - // ROUND_HALF_FLOOR 8 Towards nearest neighbour. If equidistant, towards -Infinity. - // - // E.g. - // `Decimal.rounding = 4;` - // `Decimal.rounding = Decimal.ROUND_HALF_UP;` - rounding: 4, // 0 to 8 - - // The modulo mode used when calculating the modulus: a mod n. - // The quotient (q = a / n) is calculated according to the corresponding rounding mode. - // The remainder (r) is calculated as: r = a - n * q. - // - // UP 0 The remainder is positive if the dividend is negative, else is negative. - // DOWN 1 The remainder has the same sign as the dividend (JavaScript %). - // FLOOR 3 The remainder has the same sign as the divisor (Python %). - // HALF_EVEN 6 The IEEE 754 remainder function. - // EUCLID 9 Euclidian division. q = sign(n) * floor(a / abs(n)). Always positive. - // - // Truncated division (1), floored division (3), the IEEE 754 remainder (6), and Euclidian - // division (9) are commonly used for the modulus operation. The other rounding modes can also - // be used, but they may not give useful results. - modulo: 1, // 0 to 9 - - // The exponent value at and beneath which `toString` returns exponential notation. - // JavaScript numbers: -7 - toExpNeg: -7, // 0 to -EXP_LIMIT - - // The exponent value at and above which `toString` returns exponential notation. - // JavaScript numbers: 21 - toExpPos: 21, // 0 to EXP_LIMIT - - // The minimum exponent value, beneath which underflow to zero occurs. - // JavaScript numbers: -324 (5e-324) - minE: -EXP_LIMIT, // -1 to -EXP_LIMIT - - // The maximum exponent value, above which overflow to Infinity occurs. - // JavaScript numbers: 308 (1.7976931348623157e+308) - maxE: EXP_LIMIT, // 1 to EXP_LIMIT - - // Whether to use cryptographically-secure random number generation, if available. - crypto: false // true/false - }, - - - // ----------------------------------- END OF EDITABLE DEFAULTS ------------------------------- // - - - Decimal, inexact, noConflict, quadrant, - external = true, - - decimalError = '[DecimalError] ', - invalidArgument = decimalError + 'Invalid argument: ', - precisionLimitExceeded = decimalError + 'Precision limit exceeded', - cryptoUnavailable = decimalError + 'crypto unavailable', - tag = '[object Decimal]', - - mathfloor = Math.floor, - mathpow = Math.pow, - - isBinary = /^0b([01]+(\.[01]*)?|\.[01]+)(p[+-]?\d+)?$/i, - isHex = /^0x([0-9a-f]+(\.[0-9a-f]*)?|\.[0-9a-f]+)(p[+-]?\d+)?$/i, - isOctal = /^0o([0-7]+(\.[0-7]*)?|\.[0-7]+)(p[+-]?\d+)?$/i, - isDecimal = /^(\d+(\.\d*)?|\.\d+)(e[+-]?\d+)?$/i, - - BASE = 1e7, - LOG_BASE = 7, - MAX_SAFE_INTEGER = 9007199254740991, - - LN10_PRECISION = LN10.length - 1, - PI_PRECISION = PI.length - 1, - - // Decimal.prototype object - P = { toStringTag: tag }; - - - // Decimal prototype methods - - - /* - * absoluteValue abs - * ceil - * clampedTo clamp - * comparedTo cmp - * cosine cos - * cubeRoot cbrt - * decimalPlaces dp - * dividedBy div - * dividedToIntegerBy divToInt - * equals eq - * floor - * greaterThan gt - * greaterThanOrEqualTo gte - * hyperbolicCosine cosh - * hyperbolicSine sinh - * hyperbolicTangent tanh - * inverseCosine acos - * inverseHyperbolicCosine acosh - * inverseHyperbolicSine asinh - * inverseHyperbolicTangent atanh - * inverseSine asin - * inverseTangent atan - * isFinite - * isInteger isInt - * isNaN - * isNegative isNeg - * isPositive isPos - * isZero - * lessThan lt - * lessThanOrEqualTo lte - * logarithm log - * [maximum] [max] - * [minimum] [min] - * minus sub - * modulo mod - * naturalExponential exp - * naturalLogarithm ln - * negated neg - * plus add - * precision sd - * round - * sine sin - * squareRoot sqrt - * tangent tan - * times mul - * toBinary - * toDecimalPlaces toDP - * toExponential - * toFixed - * toFraction - * toHexadecimal toHex - * toNearest - * toNumber - * toOctal - * toPower pow - * toPrecision - * toSignificantDigits toSD - * toString - * truncated trunc - * valueOf toJSON - */ - - - /* - * Return a new Decimal whose value is the absolute value of this Decimal. - * - */ - P.absoluteValue = P.abs = function () { - var x = new this.constructor(this); - if (x.s < 0) x.s = 1; - return finalise(x); - }; - - - /* - * Return a new Decimal whose value is the value of this Decimal rounded to a whole number in the - * direction of positive Infinity. - * - */ - P.ceil = function () { - return finalise(new this.constructor(this), this.e + 1, 2); - }; - - - /* - * Return a new Decimal whose value is the value of this Decimal clamped to the range - * delineated by `min` and `max`. - * - * min {number|string|Decimal} - * max {number|string|Decimal} - * - */ - P.clampedTo = P.clamp = function (min, max) { - var k, - x = this, - Ctor = x.constructor; - min = new Ctor(min); - max = new Ctor(max); - if (!min.s || !max.s) return new Ctor(NaN); - if (min.gt(max)) throw Error(invalidArgument + max); - k = x.cmp(min); - return k < 0 ? min : x.cmp(max) > 0 ? max : new Ctor(x); - }; - - - /* - * Return - * 1 if the value of this Decimal is greater than the value of `y`, - * -1 if the value of this Decimal is less than the value of `y`, - * 0 if they have the same value, - * NaN if the value of either Decimal is NaN. - * - */ - P.comparedTo = P.cmp = function (y) { - var i, j, xdL, ydL, - x = this, - xd = x.d, - yd = (y = new x.constructor(y)).d, - xs = x.s, - ys = y.s; - - // Either NaN or ±Infinity? - if (!xd || !yd) { - return !xs || !ys ? NaN : xs !== ys ? xs : xd === yd ? 0 : !xd ^ xs < 0 ? 1 : -1; - } - - // Either zero? - if (!xd[0] || !yd[0]) return xd[0] ? xs : yd[0] ? -ys : 0; - - // Signs differ? - if (xs !== ys) return xs; - - // Compare exponents. - if (x.e !== y.e) return x.e > y.e ^ xs < 0 ? 1 : -1; - - xdL = xd.length; - ydL = yd.length; - - // Compare digit by digit. - for (i = 0, j = xdL < ydL ? xdL : ydL; i < j; ++i) { - if (xd[i] !== yd[i]) return xd[i] > yd[i] ^ xs < 0 ? 1 : -1; - } - - // Compare lengths. - return xdL === ydL ? 0 : xdL > ydL ^ xs < 0 ? 1 : -1; - }; - - - /* - * Return a new Decimal whose value is the cosine of the value in radians of this Decimal. - * - * Domain: [-Infinity, Infinity] - * Range: [-1, 1] - * - * cos(0) = 1 - * cos(-0) = 1 - * cos(Infinity) = NaN - * cos(-Infinity) = NaN - * cos(NaN) = NaN - * - */ - P.cosine = P.cos = function () { - var pr, rm, - x = this, - Ctor = x.constructor; - - if (!x.d) return new Ctor(NaN); - - // cos(0) = cos(-0) = 1 - if (!x.d[0]) return new Ctor(1); - - pr = Ctor.precision; - rm = Ctor.rounding; - Ctor.precision = pr + Math.max(x.e, x.sd()) + LOG_BASE; - Ctor.rounding = 1; - - x = cosine(Ctor, toLessThanHalfPi(Ctor, x)); - - Ctor.precision = pr; - Ctor.rounding = rm; - - return finalise(quadrant == 2 || quadrant == 3 ? x.neg() : x, pr, rm, true); - }; - - - /* - * - * Return a new Decimal whose value is the cube root of the value of this Decimal, rounded to - * `precision` significant digits using rounding mode `rounding`. - * - * cbrt(0) = 0 - * cbrt(-0) = -0 - * cbrt(1) = 1 - * cbrt(-1) = -1 - * cbrt(N) = N - * cbrt(-I) = -I - * cbrt(I) = I - * - * Math.cbrt(x) = (x < 0 ? -Math.pow(-x, 1/3) : Math.pow(x, 1/3)) - * - */ - P.cubeRoot = P.cbrt = function () { - var e, m, n, r, rep, s, sd, t, t3, t3plusx, - x = this, - Ctor = x.constructor; - - if (!x.isFinite() || x.isZero()) return new Ctor(x); - external = false; - - // Initial estimate. - s = x.s * mathpow(x.s * x, 1 / 3); - - // Math.cbrt underflow/overflow? - // Pass x to Math.pow as integer, then adjust the exponent of the result. - if (!s || Math.abs(s) == 1 / 0) { - n = digitsToString(x.d); - e = x.e; - - // Adjust n exponent so it is a multiple of 3 away from x exponent. - if (s = (e - n.length + 1) % 3) n += (s == 1 || s == -2 ? '0' : '00'); - s = mathpow(n, 1 / 3); - - // Rarely, e may be one less than the result exponent value. - e = mathfloor((e + 1) / 3) - (e % 3 == (e < 0 ? -1 : 2)); - - if (s == 1 / 0) { - n = '5e' + e; - } else { - n = s.toExponential(); - n = n.slice(0, n.indexOf('e') + 1) + e; - } - - r = new Ctor(n); - r.s = x.s; - } else { - r = new Ctor(s.toString()); - } - - sd = (e = Ctor.precision) + 3; - - // Halley's method. - // TODO? Compare Newton's method. - for (;;) { - t = r; - t3 = t.times(t).times(t); - t3plusx = t3.plus(x); - r = divide(t3plusx.plus(x).times(t), t3plusx.plus(t3), sd + 2, 1); - - // TODO? Replace with for-loop and checkRoundingDigits. - if (digitsToString(t.d).slice(0, sd) === (n = digitsToString(r.d)).slice(0, sd)) { - n = n.slice(sd - 3, sd + 1); - - // The 4th rounding digit may be in error by -1 so if the 4 rounding digits are 9999 or 4999 - // , i.e. approaching a rounding boundary, continue the iteration. - if (n == '9999' || !rep && n == '4999') { - - // On the first iteration only, check to see if rounding up gives the exact result as the - // nines may infinitely repeat. - if (!rep) { - finalise(t, e + 1, 0); - - if (t.times(t).times(t).eq(x)) { - r = t; - break; - } - } - - sd += 4; - rep = 1; - } else { - - // If the rounding digits are null, 0{0,4} or 50{0,3}, check for an exact result. - // If not, then there are further digits and m will be truthy. - if (!+n || !+n.slice(1) && n.charAt(0) == '5') { - - // Truncate to the first rounding digit. - finalise(r, e + 1, 1); - m = !r.times(r).times(r).eq(x); - } - - break; - } - } - } - - external = true; - - return finalise(r, e, Ctor.rounding, m); - }; - - - /* - * Return the number of decimal places of the value of this Decimal. - * - */ - P.decimalPlaces = P.dp = function () { - var w, - d = this.d, - n = NaN; - - if (d) { - w = d.length - 1; - n = (w - mathfloor(this.e / LOG_BASE)) * LOG_BASE; - - // Subtract the number of trailing zeros of the last word. - w = d[w]; - if (w) for (; w % 10 == 0; w /= 10) n--; - if (n < 0) n = 0; - } - - return n; - }; - - - /* - * n / 0 = I - * n / N = N - * n / I = 0 - * 0 / n = 0 - * 0 / 0 = N - * 0 / N = N - * 0 / I = 0 - * N / n = N - * N / 0 = N - * N / N = N - * N / I = N - * I / n = I - * I / 0 = I - * I / N = N - * I / I = N - * - * Return a new Decimal whose value is the value of this Decimal divided by `y`, rounded to - * `precision` significant digits using rounding mode `rounding`. - * - */ - P.dividedBy = P.div = function (y) { - return divide(this, new this.constructor(y)); - }; - - - /* - * Return a new Decimal whose value is the integer part of dividing the value of this Decimal - * by the value of `y`, rounded to `precision` significant digits using rounding mode `rounding`. - * - */ - P.dividedToIntegerBy = P.divToInt = function (y) { - var x = this, - Ctor = x.constructor; - return finalise(divide(x, new Ctor(y), 0, 1, 1), Ctor.precision, Ctor.rounding); - }; - - - /* - * Return true if the value of this Decimal is equal to the value of `y`, otherwise return false. - * - */ - P.equals = P.eq = function (y) { - return this.cmp(y) === 0; - }; - - - /* - * Return a new Decimal whose value is the value of this Decimal rounded to a whole number in the - * direction of negative Infinity. - * - */ - P.floor = function () { - return finalise(new this.constructor(this), this.e + 1, 3); - }; - - - /* - * Return true if the value of this Decimal is greater than the value of `y`, otherwise return - * false. - * - */ - P.greaterThan = P.gt = function (y) { - return this.cmp(y) > 0; - }; - - - /* - * Return true if the value of this Decimal is greater than or equal to the value of `y`, - * otherwise return false. - * - */ - P.greaterThanOrEqualTo = P.gte = function (y) { - var k = this.cmp(y); - return k == 1 || k === 0; - }; - - - /* - * Return a new Decimal whose value is the hyperbolic cosine of the value in radians of this - * Decimal. - * - * Domain: [-Infinity, Infinity] - * Range: [1, Infinity] - * - * cosh(x) = 1 + x^2/2! + x^4/4! + x^6/6! + ... - * - * cosh(0) = 1 - * cosh(-0) = 1 - * cosh(Infinity) = Infinity - * cosh(-Infinity) = Infinity - * cosh(NaN) = NaN - * - * x time taken (ms) result - * 1000 9 9.8503555700852349694e+433 - * 10000 25 4.4034091128314607936e+4342 - * 100000 171 1.4033316802130615897e+43429 - * 1000000 3817 1.5166076984010437725e+434294 - * 10000000 abandoned after 2 minute wait - * - * TODO? Compare performance of cosh(x) = 0.5 * (exp(x) + exp(-x)) - * - */ - P.hyperbolicCosine = P.cosh = function () { - var k, n, pr, rm, len, - x = this, - Ctor = x.constructor, - one = new Ctor(1); - - if (!x.isFinite()) return new Ctor(x.s ? 1 / 0 : NaN); - if (x.isZero()) return one; - - pr = Ctor.precision; - rm = Ctor.rounding; - Ctor.precision = pr + Math.max(x.e, x.sd()) + 4; - Ctor.rounding = 1; - len = x.d.length; - - // Argument reduction: cos(4x) = 1 - 8cos^2(x) + 8cos^4(x) + 1 - // i.e. cos(x) = 1 - cos^2(x/4)(8 - 8cos^2(x/4)) - - // Estimate the optimum number of times to use the argument reduction. - // TODO? Estimation reused from cosine() and may not be optimal here. - if (len < 32) { - k = Math.ceil(len / 3); - n = (1 / tinyPow(4, k)).toString(); - } else { - k = 16; - n = '2.3283064365386962890625e-10'; - } - - x = taylorSeries(Ctor, 1, x.times(n), new Ctor(1), true); - - // Reverse argument reduction - var cosh2_x, - i = k, - d8 = new Ctor(8); - for (; i--;) { - cosh2_x = x.times(x); - x = one.minus(cosh2_x.times(d8.minus(cosh2_x.times(d8)))); - } - - return finalise(x, Ctor.precision = pr, Ctor.rounding = rm, true); - }; - - - /* - * Return a new Decimal whose value is the hyperbolic sine of the value in radians of this - * Decimal. - * - * Domain: [-Infinity, Infinity] - * Range: [-Infinity, Infinity] - * - * sinh(x) = x + x^3/3! + x^5/5! + x^7/7! + ... - * - * sinh(0) = 0 - * sinh(-0) = -0 - * sinh(Infinity) = Infinity - * sinh(-Infinity) = -Infinity - * sinh(NaN) = NaN - * - * x time taken (ms) - * 10 2 ms - * 100 5 ms - * 1000 14 ms - * 10000 82 ms - * 100000 886 ms 1.4033316802130615897e+43429 - * 200000 2613 ms - * 300000 5407 ms - * 400000 8824 ms - * 500000 13026 ms 8.7080643612718084129e+217146 - * 1000000 48543 ms - * - * TODO? Compare performance of sinh(x) = 0.5 * (exp(x) - exp(-x)) - * - */ - P.hyperbolicSine = P.sinh = function () { - var k, pr, rm, len, - x = this, - Ctor = x.constructor; - - if (!x.isFinite() || x.isZero()) return new Ctor(x); - - pr = Ctor.precision; - rm = Ctor.rounding; - Ctor.precision = pr + Math.max(x.e, x.sd()) + 4; - Ctor.rounding = 1; - len = x.d.length; - - if (len < 3) { - x = taylorSeries(Ctor, 2, x, x, true); - } else { - - // Alternative argument reduction: sinh(3x) = sinh(x)(3 + 4sinh^2(x)) - // i.e. sinh(x) = sinh(x/3)(3 + 4sinh^2(x/3)) - // 3 multiplications and 1 addition - - // Argument reduction: sinh(5x) = sinh(x)(5 + sinh^2(x)(20 + 16sinh^2(x))) - // i.e. sinh(x) = sinh(x/5)(5 + sinh^2(x/5)(20 + 16sinh^2(x/5))) - // 4 multiplications and 2 additions - - // Estimate the optimum number of times to use the argument reduction. - k = 1.4 * Math.sqrt(len); - k = k > 16 ? 16 : k | 0; - - x = x.times(1 / tinyPow(5, k)); - x = taylorSeries(Ctor, 2, x, x, true); - - // Reverse argument reduction - var sinh2_x, - d5 = new Ctor(5), - d16 = new Ctor(16), - d20 = new Ctor(20); - for (; k--;) { - sinh2_x = x.times(x); - x = x.times(d5.plus(sinh2_x.times(d16.times(sinh2_x).plus(d20)))); - } - } - - Ctor.precision = pr; - Ctor.rounding = rm; - - return finalise(x, pr, rm, true); - }; - - - /* - * Return a new Decimal whose value is the hyperbolic tangent of the value in radians of this - * Decimal. - * - * Domain: [-Infinity, Infinity] - * Range: [-1, 1] - * - * tanh(x) = sinh(x) / cosh(x) - * - * tanh(0) = 0 - * tanh(-0) = -0 - * tanh(Infinity) = 1 - * tanh(-Infinity) = -1 - * tanh(NaN) = NaN - * - */ - P.hyperbolicTangent = P.tanh = function () { - var pr, rm, - x = this, - Ctor = x.constructor; - - if (!x.isFinite()) return new Ctor(x.s); - if (x.isZero()) return new Ctor(x); - - pr = Ctor.precision; - rm = Ctor.rounding; - Ctor.precision = pr + 7; - Ctor.rounding = 1; - - return divide(x.sinh(), x.cosh(), Ctor.precision = pr, Ctor.rounding = rm); - }; - - - /* - * Return a new Decimal whose value is the arccosine (inverse cosine) in radians of the value of - * this Decimal. - * - * Domain: [-1, 1] - * Range: [0, pi] - * - * acos(x) = pi/2 - asin(x) - * - * acos(0) = pi/2 - * acos(-0) = pi/2 - * acos(1) = 0 - * acos(-1) = pi - * acos(1/2) = pi/3 - * acos(-1/2) = 2*pi/3 - * acos(|x| > 1) = NaN - * acos(NaN) = NaN - * - */ - P.inverseCosine = P.acos = function () { - var halfPi, - x = this, - Ctor = x.constructor, - k = x.abs().cmp(1), - pr = Ctor.precision, - rm = Ctor.rounding; - - if (k !== -1) { - return k === 0 - // |x| is 1 - ? x.isNeg() ? getPi(Ctor, pr, rm) : new Ctor(0) - // |x| > 1 or x is NaN - : new Ctor(NaN); - } - - if (x.isZero()) return getPi(Ctor, pr + 4, rm).times(0.5); - - // TODO? Special case acos(0.5) = pi/3 and acos(-0.5) = 2*pi/3 - - Ctor.precision = pr + 6; - Ctor.rounding = 1; - - x = x.asin(); - halfPi = getPi(Ctor, pr + 4, rm).times(0.5); - - Ctor.precision = pr; - Ctor.rounding = rm; - - return halfPi.minus(x); - }; - - - /* - * Return a new Decimal whose value is the inverse of the hyperbolic cosine in radians of the - * value of this Decimal. - * - * Domain: [1, Infinity] - * Range: [0, Infinity] - * - * acosh(x) = ln(x + sqrt(x^2 - 1)) - * - * acosh(x < 1) = NaN - * acosh(NaN) = NaN - * acosh(Infinity) = Infinity - * acosh(-Infinity) = NaN - * acosh(0) = NaN - * acosh(-0) = NaN - * acosh(1) = 0 - * acosh(-1) = NaN - * - */ - P.inverseHyperbolicCosine = P.acosh = function () { - var pr, rm, - x = this, - Ctor = x.constructor; - - if (x.lte(1)) return new Ctor(x.eq(1) ? 0 : NaN); - if (!x.isFinite()) return new Ctor(x); - - pr = Ctor.precision; - rm = Ctor.rounding; - Ctor.precision = pr + Math.max(Math.abs(x.e), x.sd()) + 4; - Ctor.rounding = 1; - external = false; - - x = x.times(x).minus(1).sqrt().plus(x); - - external = true; - Ctor.precision = pr; - Ctor.rounding = rm; - - return x.ln(); - }; - - - /* - * Return a new Decimal whose value is the inverse of the hyperbolic sine in radians of the value - * of this Decimal. - * - * Domain: [-Infinity, Infinity] - * Range: [-Infinity, Infinity] - * - * asinh(x) = ln(x + sqrt(x^2 + 1)) - * - * asinh(NaN) = NaN - * asinh(Infinity) = Infinity - * asinh(-Infinity) = -Infinity - * asinh(0) = 0 - * asinh(-0) = -0 - * - */ - P.inverseHyperbolicSine = P.asinh = function () { - var pr, rm, - x = this, - Ctor = x.constructor; - - if (!x.isFinite() || x.isZero()) return new Ctor(x); - - pr = Ctor.precision; - rm = Ctor.rounding; - Ctor.precision = pr + 2 * Math.max(Math.abs(x.e), x.sd()) + 6; - Ctor.rounding = 1; - external = false; - - x = x.times(x).plus(1).sqrt().plus(x); - - external = true; - Ctor.precision = pr; - Ctor.rounding = rm; - - return x.ln(); - }; - - - /* - * Return a new Decimal whose value is the inverse of the hyperbolic tangent in radians of the - * value of this Decimal. - * - * Domain: [-1, 1] - * Range: [-Infinity, Infinity] - * - * atanh(x) = 0.5 * ln((1 + x) / (1 - x)) - * - * atanh(|x| > 1) = NaN - * atanh(NaN) = NaN - * atanh(Infinity) = NaN - * atanh(-Infinity) = NaN - * atanh(0) = 0 - * atanh(-0) = -0 - * atanh(1) = Infinity - * atanh(-1) = -Infinity - * - */ - P.inverseHyperbolicTangent = P.atanh = function () { - var pr, rm, wpr, xsd, - x = this, - Ctor = x.constructor; - - if (!x.isFinite()) return new Ctor(NaN); - if (x.e >= 0) return new Ctor(x.abs().eq(1) ? x.s / 0 : x.isZero() ? x : NaN); - - pr = Ctor.precision; - rm = Ctor.rounding; - xsd = x.sd(); - - if (Math.max(xsd, pr) < 2 * -x.e - 1) return finalise(new Ctor(x), pr, rm, true); - - Ctor.precision = wpr = xsd - x.e; - - x = divide(x.plus(1), new Ctor(1).minus(x), wpr + pr, 1); - - Ctor.precision = pr + 4; - Ctor.rounding = 1; - - x = x.ln(); - - Ctor.precision = pr; - Ctor.rounding = rm; - - return x.times(0.5); - }; - - - /* - * Return a new Decimal whose value is the arcsine (inverse sine) in radians of the value of this - * Decimal. - * - * Domain: [-Infinity, Infinity] - * Range: [-pi/2, pi/2] - * - * asin(x) = 2*atan(x/(1 + sqrt(1 - x^2))) - * - * asin(0) = 0 - * asin(-0) = -0 - * asin(1/2) = pi/6 - * asin(-1/2) = -pi/6 - * asin(1) = pi/2 - * asin(-1) = -pi/2 - * asin(|x| > 1) = NaN - * asin(NaN) = NaN - * - * TODO? Compare performance of Taylor series. - * - */ - P.inverseSine = P.asin = function () { - var halfPi, k, - pr, rm, - x = this, - Ctor = x.constructor; - - if (x.isZero()) return new Ctor(x); - - k = x.abs().cmp(1); - pr = Ctor.precision; - rm = Ctor.rounding; - - if (k !== -1) { - - // |x| is 1 - if (k === 0) { - halfPi = getPi(Ctor, pr + 4, rm).times(0.5); - halfPi.s = x.s; - return halfPi; - } - - // |x| > 1 or x is NaN - return new Ctor(NaN); - } - - // TODO? Special case asin(1/2) = pi/6 and asin(-1/2) = -pi/6 - - Ctor.precision = pr + 6; - Ctor.rounding = 1; - - x = x.div(new Ctor(1).minus(x.times(x)).sqrt().plus(1)).atan(); - - Ctor.precision = pr; - Ctor.rounding = rm; - - return x.times(2); - }; - - - /* - * Return a new Decimal whose value is the arctangent (inverse tangent) in radians of the value - * of this Decimal. - * - * Domain: [-Infinity, Infinity] - * Range: [-pi/2, pi/2] - * - * atan(x) = x - x^3/3 + x^5/5 - x^7/7 + ... - * - * atan(0) = 0 - * atan(-0) = -0 - * atan(1) = pi/4 - * atan(-1) = -pi/4 - * atan(Infinity) = pi/2 - * atan(-Infinity) = -pi/2 - * atan(NaN) = NaN - * - */ - P.inverseTangent = P.atan = function () { - var i, j, k, n, px, t, r, wpr, x2, - x = this, - Ctor = x.constructor, - pr = Ctor.precision, - rm = Ctor.rounding; - - if (!x.isFinite()) { - if (!x.s) return new Ctor(NaN); - if (pr + 4 <= PI_PRECISION) { - r = getPi(Ctor, pr + 4, rm).times(0.5); - r.s = x.s; - return r; - } - } else if (x.isZero()) { - return new Ctor(x); - } else if (x.abs().eq(1) && pr + 4 <= PI_PRECISION) { - r = getPi(Ctor, pr + 4, rm).times(0.25); - r.s = x.s; - return r; - } - - Ctor.precision = wpr = pr + 10; - Ctor.rounding = 1; - - // TODO? if (x >= 1 && pr <= PI_PRECISION) atan(x) = halfPi * x.s - atan(1 / x); - - // Argument reduction - // Ensure |x| < 0.42 - // atan(x) = 2 * atan(x / (1 + sqrt(1 + x^2))) - - k = Math.min(28, wpr / LOG_BASE + 2 | 0); - - for (i = k; i; --i) x = x.div(x.times(x).plus(1).sqrt().plus(1)); - - external = false; - - j = Math.ceil(wpr / LOG_BASE); - n = 1; - x2 = x.times(x); - r = new Ctor(x); - px = x; - - // atan(x) = x - x^3/3 + x^5/5 - x^7/7 + ... - for (; i !== -1;) { - px = px.times(x2); - t = r.minus(px.div(n += 2)); - - px = px.times(x2); - r = t.plus(px.div(n += 2)); - - if (r.d[j] !== void 0) for (i = j; r.d[i] === t.d[i] && i--;); - } - - if (k) r = r.times(2 << (k - 1)); - - external = true; - - return finalise(r, Ctor.precision = pr, Ctor.rounding = rm, true); - }; - - - /* - * Return true if the value of this Decimal is a finite number, otherwise return false. - * - */ - P.isFinite = function () { - return !!this.d; - }; - - - /* - * Return true if the value of this Decimal is an integer, otherwise return false. - * - */ - P.isInteger = P.isInt = function () { - return !!this.d && mathfloor(this.e / LOG_BASE) > this.d.length - 2; - }; - - - /* - * Return true if the value of this Decimal is NaN, otherwise return false. - * - */ - P.isNaN = function () { - return !this.s; - }; - - - /* - * Return true if the value of this Decimal is negative, otherwise return false. - * - */ - P.isNegative = P.isNeg = function () { - return this.s < 0; - }; - - - /* - * Return true if the value of this Decimal is positive, otherwise return false. - * - */ - P.isPositive = P.isPos = function () { - return this.s > 0; - }; - - - /* - * Return true if the value of this Decimal is 0 or -0, otherwise return false. - * - */ - P.isZero = function () { - return !!this.d && this.d[0] === 0; - }; - - - /* - * Return true if the value of this Decimal is less than `y`, otherwise return false. - * - */ - P.lessThan = P.lt = function (y) { - return this.cmp(y) < 0; - }; - - - /* - * Return true if the value of this Decimal is less than or equal to `y`, otherwise return false. - * - */ - P.lessThanOrEqualTo = P.lte = function (y) { - return this.cmp(y) < 1; - }; - - - /* - * Return the logarithm of the value of this Decimal to the specified base, rounded to `precision` - * significant digits using rounding mode `rounding`. - * - * If no base is specified, return log[10](arg). - * - * log[base](arg) = ln(arg) / ln(base) - * - * The result will always be correctly rounded if the base of the log is 10, and 'almost always' - * otherwise: - * - * Depending on the rounding mode, the result may be incorrectly rounded if the first fifteen - * rounding digits are [49]99999999999999 or [50]00000000000000. In that case, the maximum error - * between the result and the correctly rounded result will be one ulp (unit in the last place). - * - * log[-b](a) = NaN - * log[0](a) = NaN - * log[1](a) = NaN - * log[NaN](a) = NaN - * log[Infinity](a) = NaN - * log[b](0) = -Infinity - * log[b](-0) = -Infinity - * log[b](-a) = NaN - * log[b](1) = 0 - * log[b](Infinity) = Infinity - * log[b](NaN) = NaN - * - * [base] {number|string|Decimal} The base of the logarithm. - * - */ - P.logarithm = P.log = function (base) { - var isBase10, d, denominator, k, inf, num, sd, r, - arg = this, - Ctor = arg.constructor, - pr = Ctor.precision, - rm = Ctor.rounding, - guard = 5; - - // Default base is 10. - if (base == null) { - base = new Ctor(10); - isBase10 = true; - } else { - base = new Ctor(base); - d = base.d; - - // Return NaN if base is negative, or non-finite, or is 0 or 1. - if (base.s < 0 || !d || !d[0] || base.eq(1)) return new Ctor(NaN); - - isBase10 = base.eq(10); - } - - d = arg.d; - - // Is arg negative, non-finite, 0 or 1? - if (arg.s < 0 || !d || !d[0] || arg.eq(1)) { - return new Ctor(d && !d[0] ? -1 / 0 : arg.s != 1 ? NaN : d ? 0 : 1 / 0); - } - - // The result will have a non-terminating decimal expansion if base is 10 and arg is not an - // integer power of 10. - if (isBase10) { - if (d.length > 1) { - inf = true; - } else { - for (k = d[0]; k % 10 === 0;) k /= 10; - inf = k !== 1; - } - } - - external = false; - sd = pr + guard; - num = naturalLogarithm(arg, sd); - denominator = isBase10 ? getLn10(Ctor, sd + 10) : naturalLogarithm(base, sd); - - // The result will have 5 rounding digits. - r = divide(num, denominator, sd, 1); - - // If at a rounding boundary, i.e. the result's rounding digits are [49]9999 or [50]0000, - // calculate 10 further digits. - // - // If the result is known to have an infinite decimal expansion, repeat this until it is clear - // that the result is above or below the boundary. Otherwise, if after calculating the 10 - // further digits, the last 14 are nines, round up and assume the result is exact. - // Also assume the result is exact if the last 14 are zero. - // - // Example of a result that will be incorrectly rounded: - // log[1048576](4503599627370502) = 2.60000000000000009610279511444746... - // The above result correctly rounded using ROUND_CEIL to 1 decimal place should be 2.7, but it - // will be given as 2.6 as there are 15 zeros immediately after the requested decimal place, so - // the exact result would be assumed to be 2.6, which rounded using ROUND_CEIL to 1 decimal - // place is still 2.6. - if (checkRoundingDigits(r.d, k = pr, rm)) { - - do { - sd += 10; - num = naturalLogarithm(arg, sd); - denominator = isBase10 ? getLn10(Ctor, sd + 10) : naturalLogarithm(base, sd); - r = divide(num, denominator, sd, 1); - - if (!inf) { - - // Check for 14 nines from the 2nd rounding digit, as the first may be 4. - if (+digitsToString(r.d).slice(k + 1, k + 15) + 1 == 1e14) { - r = finalise(r, pr + 1, 0); - } - - break; - } - } while (checkRoundingDigits(r.d, k += 10, rm)); - } - - external = true; - - return finalise(r, pr, rm); - }; - - - /* - * Return a new Decimal whose value is the maximum of the arguments and the value of this Decimal. - * - * arguments {number|string|Decimal} - * - P.max = function () { - Array.prototype.push.call(arguments, this); - return maxOrMin(this.constructor, arguments, 'lt'); - }; - */ - - - /* - * Return a new Decimal whose value is the minimum of the arguments and the value of this Decimal. - * - * arguments {number|string|Decimal} - * - P.min = function () { - Array.prototype.push.call(arguments, this); - return maxOrMin(this.constructor, arguments, 'gt'); - }; - */ - - - /* - * n - 0 = n - * n - N = N - * n - I = -I - * 0 - n = -n - * 0 - 0 = 0 - * 0 - N = N - * 0 - I = -I - * N - n = N - * N - 0 = N - * N - N = N - * N - I = N - * I - n = I - * I - 0 = I - * I - N = N - * I - I = N - * - * Return a new Decimal whose value is the value of this Decimal minus `y`, rounded to `precision` - * significant digits using rounding mode `rounding`. - * - */ - P.minus = P.sub = function (y) { - var d, e, i, j, k, len, pr, rm, xd, xe, xLTy, yd, - x = this, - Ctor = x.constructor; - - y = new Ctor(y); - - // If either is not finite... - if (!x.d || !y.d) { - - // Return NaN if either is NaN. - if (!x.s || !y.s) y = new Ctor(NaN); - - // Return y negated if x is finite and y is ±Infinity. - else if (x.d) y.s = -y.s; - - // Return x if y is finite and x is ±Infinity. - // Return x if both are ±Infinity with different signs. - // Return NaN if both are ±Infinity with the same sign. - else y = new Ctor(y.d || x.s !== y.s ? x : NaN); - - return y; - } - - // If signs differ... - if (x.s != y.s) { - y.s = -y.s; - return x.plus(y); - } - - xd = x.d; - yd = y.d; - pr = Ctor.precision; - rm = Ctor.rounding; - - // If either is zero... - if (!xd[0] || !yd[0]) { - - // Return y negated if x is zero and y is non-zero. - if (yd[0]) y.s = -y.s; - - // Return x if y is zero and x is non-zero. - else if (xd[0]) y = new Ctor(x); - - // Return zero if both are zero. - // From IEEE 754 (2008) 6.3: 0 - 0 = -0 - -0 = -0 when rounding to -Infinity. - else return new Ctor(rm === 3 ? -0 : 0); - - return external ? finalise(y, pr, rm) : y; - } - - // x and y are finite, non-zero numbers with the same sign. - - // Calculate base 1e7 exponents. - e = mathfloor(y.e / LOG_BASE); - xe = mathfloor(x.e / LOG_BASE); - - xd = xd.slice(); - k = xe - e; - - // If base 1e7 exponents differ... - if (k) { - xLTy = k < 0; - - if (xLTy) { - d = xd; - k = -k; - len = yd.length; - } else { - d = yd; - e = xe; - len = xd.length; - } - - // Numbers with massively different exponents would result in a very high number of - // zeros needing to be prepended, but this can be avoided while still ensuring correct - // rounding by limiting the number of zeros to `Math.ceil(pr / LOG_BASE) + 2`. - i = Math.max(Math.ceil(pr / LOG_BASE), len) + 2; - - if (k > i) { - k = i; - d.length = 1; - } - - // Prepend zeros to equalise exponents. - d.reverse(); - for (i = k; i--;) d.push(0); - d.reverse(); - - // Base 1e7 exponents equal. - } else { - - // Check digits to determine which is the bigger number. - - i = xd.length; - len = yd.length; - xLTy = i < len; - if (xLTy) len = i; - - for (i = 0; i < len; i++) { - if (xd[i] != yd[i]) { - xLTy = xd[i] < yd[i]; - break; - } - } - - k = 0; - } - - if (xLTy) { - d = xd; - xd = yd; - yd = d; - y.s = -y.s; - } - - len = xd.length; - - // Append zeros to `xd` if shorter. - // Don't add zeros to `yd` if shorter as subtraction only needs to start at `yd` length. - for (i = yd.length - len; i > 0; --i) xd[len++] = 0; - - // Subtract yd from xd. - for (i = yd.length; i > k;) { - - if (xd[--i] < yd[i]) { - for (j = i; j && xd[--j] === 0;) xd[j] = BASE - 1; - --xd[j]; - xd[i] += BASE; - } - - xd[i] -= yd[i]; - } - - // Remove trailing zeros. - for (; xd[--len] === 0;) xd.pop(); - - // Remove leading zeros and adjust exponent accordingly. - for (; xd[0] === 0; xd.shift()) --e; - - // Zero? - if (!xd[0]) return new Ctor(rm === 3 ? -0 : 0); - - y.d = xd; - y.e = getBase10Exponent(xd, e); - - return external ? finalise(y, pr, rm) : y; - }; - - - /* - * n % 0 = N - * n % N = N - * n % I = n - * 0 % n = 0 - * -0 % n = -0 - * 0 % 0 = N - * 0 % N = N - * 0 % I = 0 - * N % n = N - * N % 0 = N - * N % N = N - * N % I = N - * I % n = N - * I % 0 = N - * I % N = N - * I % I = N - * - * Return a new Decimal whose value is the value of this Decimal modulo `y`, rounded to - * `precision` significant digits using rounding mode `rounding`. - * - * The result depends on the modulo mode. - * - */ - P.modulo = P.mod = function (y) { - var q, - x = this, - Ctor = x.constructor; - - y = new Ctor(y); - - // Return NaN if x is ±Infinity or NaN, or y is NaN or ±0. - if (!x.d || !y.s || y.d && !y.d[0]) return new Ctor(NaN); - - // Return x if y is ±Infinity or x is ±0. - if (!y.d || x.d && !x.d[0]) { - return finalise(new Ctor(x), Ctor.precision, Ctor.rounding); - } - - // Prevent rounding of intermediate calculations. - external = false; - - if (Ctor.modulo == 9) { - - // Euclidian division: q = sign(y) * floor(x / abs(y)) - // result = x - q * y where 0 <= result < abs(y) - q = divide(x, y.abs(), 0, 3, 1); - q.s *= y.s; - } else { - q = divide(x, y, 0, Ctor.modulo, 1); - } - - q = q.times(y); - - external = true; - - return x.minus(q); - }; - - - /* - * Return a new Decimal whose value is the natural exponential of the value of this Decimal, - * i.e. the base e raised to the power the value of this Decimal, rounded to `precision` - * significant digits using rounding mode `rounding`. - * - */ - P.naturalExponential = P.exp = function () { - return naturalExponential(this); - }; - - - /* - * Return a new Decimal whose value is the natural logarithm of the value of this Decimal, - * rounded to `precision` significant digits using rounding mode `rounding`. - * - */ - P.naturalLogarithm = P.ln = function () { - return naturalLogarithm(this); - }; - - - /* - * Return a new Decimal whose value is the value of this Decimal negated, i.e. as if multiplied by - * -1. - * - */ - P.negated = P.neg = function () { - var x = new this.constructor(this); - x.s = -x.s; - return finalise(x); - }; - - - /* - * n + 0 = n - * n + N = N - * n + I = I - * 0 + n = n - * 0 + 0 = 0 - * 0 + N = N - * 0 + I = I - * N + n = N - * N + 0 = N - * N + N = N - * N + I = N - * I + n = I - * I + 0 = I - * I + N = N - * I + I = I - * - * Return a new Decimal whose value is the value of this Decimal plus `y`, rounded to `precision` - * significant digits using rounding mode `rounding`. - * - */ - P.plus = P.add = function (y) { - var carry, d, e, i, k, len, pr, rm, xd, yd, - x = this, - Ctor = x.constructor; - - y = new Ctor(y); - - // If either is not finite... - if (!x.d || !y.d) { - - // Return NaN if either is NaN. - if (!x.s || !y.s) y = new Ctor(NaN); - - // Return x if y is finite and x is ±Infinity. - // Return x if both are ±Infinity with the same sign. - // Return NaN if both are ±Infinity with different signs. - // Return y if x is finite and y is ±Infinity. - else if (!x.d) y = new Ctor(y.d || x.s === y.s ? x : NaN); - - return y; - } - - // If signs differ... - if (x.s != y.s) { - y.s = -y.s; - return x.minus(y); - } - - xd = x.d; - yd = y.d; - pr = Ctor.precision; - rm = Ctor.rounding; - - // If either is zero... - if (!xd[0] || !yd[0]) { - - // Return x if y is zero. - // Return y if y is non-zero. - if (!yd[0]) y = new Ctor(x); - - return external ? finalise(y, pr, rm) : y; - } - - // x and y are finite, non-zero numbers with the same sign. - - // Calculate base 1e7 exponents. - k = mathfloor(x.e / LOG_BASE); - e = mathfloor(y.e / LOG_BASE); - - xd = xd.slice(); - i = k - e; - - // If base 1e7 exponents differ... - if (i) { - - if (i < 0) { - d = xd; - i = -i; - len = yd.length; - } else { - d = yd; - e = k; - len = xd.length; - } - - // Limit number of zeros prepended to max(ceil(pr / LOG_BASE), len) + 1. - k = Math.ceil(pr / LOG_BASE); - len = k > len ? k + 1 : len + 1; - - if (i > len) { - i = len; - d.length = 1; - } - - // Prepend zeros to equalise exponents. Note: Faster to use reverse then do unshifts. - d.reverse(); - for (; i--;) d.push(0); - d.reverse(); - } - - len = xd.length; - i = yd.length; - - // If yd is longer than xd, swap xd and yd so xd points to the longer array. - if (len - i < 0) { - i = len; - d = yd; - yd = xd; - xd = d; - } - - // Only start adding at yd.length - 1 as the further digits of xd can be left as they are. - for (carry = 0; i;) { - carry = (xd[--i] = xd[i] + yd[i] + carry) / BASE | 0; - xd[i] %= BASE; - } - - if (carry) { - xd.unshift(carry); - ++e; - } - - // Remove trailing zeros. - // No need to check for zero, as +x + +y != 0 && -x + -y != 0 - for (len = xd.length; xd[--len] == 0;) xd.pop(); - - y.d = xd; - y.e = getBase10Exponent(xd, e); - - return external ? finalise(y, pr, rm) : y; - }; - - - /* - * Return the number of significant digits of the value of this Decimal. - * - * [z] {boolean|number} Whether to count integer-part trailing zeros: true, false, 1 or 0. - * - */ - P.precision = P.sd = function (z) { - var k, - x = this; - - if (z !== void 0 && z !== !!z && z !== 1 && z !== 0) throw Error(invalidArgument + z); - - if (x.d) { - k = getPrecision(x.d); - if (z && x.e + 1 > k) k = x.e + 1; - } else { - k = NaN; - } - - return k; - }; - - - /* - * Return a new Decimal whose value is the value of this Decimal rounded to a whole number using - * rounding mode `rounding`. - * - */ - P.round = function () { - var x = this, - Ctor = x.constructor; - - return finalise(new Ctor(x), x.e + 1, Ctor.rounding); - }; - - - /* - * Return a new Decimal whose value is the sine of the value in radians of this Decimal. - * - * Domain: [-Infinity, Infinity] - * Range: [-1, 1] - * - * sin(x) = x - x^3/3! + x^5/5! - ... - * - * sin(0) = 0 - * sin(-0) = -0 - * sin(Infinity) = NaN - * sin(-Infinity) = NaN - * sin(NaN) = NaN - * - */ - P.sine = P.sin = function () { - var pr, rm, - x = this, - Ctor = x.constructor; - - if (!x.isFinite()) return new Ctor(NaN); - if (x.isZero()) return new Ctor(x); - - pr = Ctor.precision; - rm = Ctor.rounding; - Ctor.precision = pr + Math.max(x.e, x.sd()) + LOG_BASE; - Ctor.rounding = 1; - - x = sine(Ctor, toLessThanHalfPi(Ctor, x)); - - Ctor.precision = pr; - Ctor.rounding = rm; - - return finalise(quadrant > 2 ? x.neg() : x, pr, rm, true); - }; - - - /* - * Return a new Decimal whose value is the square root of this Decimal, rounded to `precision` - * significant digits using rounding mode `rounding`. - * - * sqrt(-n) = N - * sqrt(N) = N - * sqrt(-I) = N - * sqrt(I) = I - * sqrt(0) = 0 - * sqrt(-0) = -0 - * - */ - P.squareRoot = P.sqrt = function () { - var m, n, sd, r, rep, t, - x = this, - d = x.d, - e = x.e, - s = x.s, - Ctor = x.constructor; - - // Negative/NaN/Infinity/zero? - if (s !== 1 || !d || !d[0]) { - return new Ctor(!s || s < 0 && (!d || d[0]) ? NaN : d ? x : 1 / 0); - } - - external = false; - - // Initial estimate. - s = Math.sqrt(+x); - - // Math.sqrt underflow/overflow? - // Pass x to Math.sqrt as integer, then adjust the exponent of the result. - if (s == 0 || s == 1 / 0) { - n = digitsToString(d); - - if ((n.length + e) % 2 == 0) n += '0'; - s = Math.sqrt(n); - e = mathfloor((e + 1) / 2) - (e < 0 || e % 2); - - if (s == 1 / 0) { - n = '5e' + e; - } else { - n = s.toExponential(); - n = n.slice(0, n.indexOf('e') + 1) + e; - } - - r = new Ctor(n); - } else { - r = new Ctor(s.toString()); - } - - sd = (e = Ctor.precision) + 3; - - // Newton-Raphson iteration. - for (;;) { - t = r; - r = t.plus(divide(x, t, sd + 2, 1)).times(0.5); - - // TODO? Replace with for-loop and checkRoundingDigits. - if (digitsToString(t.d).slice(0, sd) === (n = digitsToString(r.d)).slice(0, sd)) { - n = n.slice(sd - 3, sd + 1); - - // The 4th rounding digit may be in error by -1 so if the 4 rounding digits are 9999 or - // 4999, i.e. approaching a rounding boundary, continue the iteration. - if (n == '9999' || !rep && n == '4999') { - - // On the first iteration only, check to see if rounding up gives the exact result as the - // nines may infinitely repeat. - if (!rep) { - finalise(t, e + 1, 0); - - if (t.times(t).eq(x)) { - r = t; - break; - } - } - - sd += 4; - rep = 1; - } else { - - // If the rounding digits are null, 0{0,4} or 50{0,3}, check for an exact result. - // If not, then there are further digits and m will be truthy. - if (!+n || !+n.slice(1) && n.charAt(0) == '5') { - - // Truncate to the first rounding digit. - finalise(r, e + 1, 1); - m = !r.times(r).eq(x); - } - - break; - } - } - } - - external = true; - - return finalise(r, e, Ctor.rounding, m); - }; - - - /* - * Return a new Decimal whose value is the tangent of the value in radians of this Decimal. - * - * Domain: [-Infinity, Infinity] - * Range: [-Infinity, Infinity] - * - * tan(0) = 0 - * tan(-0) = -0 - * tan(Infinity) = NaN - * tan(-Infinity) = NaN - * tan(NaN) = NaN - * - */ - P.tangent = P.tan = function () { - var pr, rm, - x = this, - Ctor = x.constructor; - - if (!x.isFinite()) return new Ctor(NaN); - if (x.isZero()) return new Ctor(x); - - pr = Ctor.precision; - rm = Ctor.rounding; - Ctor.precision = pr + 10; - Ctor.rounding = 1; - - x = x.sin(); - x.s = 1; - x = divide(x, new Ctor(1).minus(x.times(x)).sqrt(), pr + 10, 0); - - Ctor.precision = pr; - Ctor.rounding = rm; - - return finalise(quadrant == 2 || quadrant == 4 ? x.neg() : x, pr, rm, true); - }; - - - /* - * n * 0 = 0 - * n * N = N - * n * I = I - * 0 * n = 0 - * 0 * 0 = 0 - * 0 * N = N - * 0 * I = N - * N * n = N - * N * 0 = N - * N * N = N - * N * I = N - * I * n = I - * I * 0 = N - * I * N = N - * I * I = I - * - * Return a new Decimal whose value is this Decimal times `y`, rounded to `precision` significant - * digits using rounding mode `rounding`. - * - */ - P.times = P.mul = function (y) { - var carry, e, i, k, r, rL, t, xdL, ydL, - x = this, - Ctor = x.constructor, - xd = x.d, - yd = (y = new Ctor(y)).d; - - y.s *= x.s; - - // If either is NaN, ±Infinity or ±0... - if (!xd || !xd[0] || !yd || !yd[0]) { - - return new Ctor(!y.s || xd && !xd[0] && !yd || yd && !yd[0] && !xd - - // Return NaN if either is NaN. - // Return NaN if x is ±0 and y is ±Infinity, or y is ±0 and x is ±Infinity. - ? NaN - - // Return ±Infinity if either is ±Infinity. - // Return ±0 if either is ±0. - : !xd || !yd ? y.s / 0 : y.s * 0); - } - - e = mathfloor(x.e / LOG_BASE) + mathfloor(y.e / LOG_BASE); - xdL = xd.length; - ydL = yd.length; - - // Ensure xd points to the longer array. - if (xdL < ydL) { - r = xd; - xd = yd; - yd = r; - rL = xdL; - xdL = ydL; - ydL = rL; - } - - // Initialise the result array with zeros. - r = []; - rL = xdL + ydL; - for (i = rL; i--;) r.push(0); - - // Multiply! - for (i = ydL; --i >= 0;) { - carry = 0; - for (k = xdL + i; k > i;) { - t = r[k] + yd[i] * xd[k - i - 1] + carry; - r[k--] = t % BASE | 0; - carry = t / BASE | 0; - } - - r[k] = (r[k] + carry) % BASE | 0; - } - - // Remove trailing zeros. - for (; !r[--rL];) r.pop(); - - if (carry) ++e; - else r.shift(); - - y.d = r; - y.e = getBase10Exponent(r, e); - - return external ? finalise(y, Ctor.precision, Ctor.rounding) : y; - }; - - - /* - * Return a string representing the value of this Decimal in base 2, round to `sd` significant - * digits using rounding mode `rm`. - * - * If the optional `sd` argument is present then return binary exponential notation. - * - * [sd] {number} Significant digits. Integer, 1 to MAX_DIGITS inclusive. - * [rm] {number} Rounding mode. Integer, 0 to 8 inclusive. - * - */ - P.toBinary = function (sd, rm) { - return toStringBinary(this, 2, sd, rm); - }; - - - /* - * Return a new Decimal whose value is the value of this Decimal rounded to a maximum of `dp` - * decimal places using rounding mode `rm` or `rounding` if `rm` is omitted. - * - * If `dp` is omitted, return a new Decimal whose value is the value of this Decimal. - * - * [dp] {number} Decimal places. Integer, 0 to MAX_DIGITS inclusive. - * [rm] {number} Rounding mode. Integer, 0 to 8 inclusive. - * - */ - P.toDecimalPlaces = P.toDP = function (dp, rm) { - var x = this, - Ctor = x.constructor; - - x = new Ctor(x); - if (dp === void 0) return x; - - checkInt32(dp, 0, MAX_DIGITS); - - if (rm === void 0) rm = Ctor.rounding; - else checkInt32(rm, 0, 8); - - return finalise(x, dp + x.e + 1, rm); - }; - - - /* - * Return a string representing the value of this Decimal in exponential notation rounded to - * `dp` fixed decimal places using rounding mode `rounding`. - * - * [dp] {number} Decimal places. Integer, 0 to MAX_DIGITS inclusive. - * [rm] {number} Rounding mode. Integer, 0 to 8 inclusive. - * - */ - P.toExponential = function (dp, rm) { - var str, - x = this, - Ctor = x.constructor; - - if (dp === void 0) { - str = finiteToString(x, true); - } else { - checkInt32(dp, 0, MAX_DIGITS); - - if (rm === void 0) rm = Ctor.rounding; - else checkInt32(rm, 0, 8); - - x = finalise(new Ctor(x), dp + 1, rm); - str = finiteToString(x, true, dp + 1); - } - - return x.isNeg() && !x.isZero() ? '-' + str : str; - }; - - - /* - * Return a string representing the value of this Decimal in normal (fixed-point) notation to - * `dp` fixed decimal places and rounded using rounding mode `rm` or `rounding` if `rm` is - * omitted. - * - * As with JavaScript numbers, (-0).toFixed(0) is '0', but e.g. (-0.00001).toFixed(0) is '-0'. - * - * [dp] {number} Decimal places. Integer, 0 to MAX_DIGITS inclusive. - * [rm] {number} Rounding mode. Integer, 0 to 8 inclusive. - * - * (-0).toFixed(0) is '0', but (-0.1).toFixed(0) is '-0'. - * (-0).toFixed(1) is '0.0', but (-0.01).toFixed(1) is '-0.0'. - * (-0).toFixed(3) is '0.000'. - * (-0.5).toFixed(0) is '-0'. - * - */ - P.toFixed = function (dp, rm) { - var str, y, - x = this, - Ctor = x.constructor; - - if (dp === void 0) { - str = finiteToString(x); - } else { - checkInt32(dp, 0, MAX_DIGITS); - - if (rm === void 0) rm = Ctor.rounding; - else checkInt32(rm, 0, 8); - - y = finalise(new Ctor(x), dp + x.e + 1, rm); - str = finiteToString(y, false, dp + y.e + 1); - } - - // To determine whether to add the minus sign look at the value before it was rounded, - // i.e. look at `x` rather than `y`. - return x.isNeg() && !x.isZero() ? '-' + str : str; - }; - - - /* - * Return an array representing the value of this Decimal as a simple fraction with an integer - * numerator and an integer denominator. - * - * The denominator will be a positive non-zero value less than or equal to the specified maximum - * denominator. If a maximum denominator is not specified, the denominator will be the lowest - * value necessary to represent the number exactly. - * - * [maxD] {number|string|Decimal} Maximum denominator. Integer >= 1 and < Infinity. - * - */ - P.toFraction = function (maxD) { - var d, d0, d1, d2, e, k, n, n0, n1, pr, q, r, - x = this, - xd = x.d, - Ctor = x.constructor; - - if (!xd) return new Ctor(x); - - n1 = d0 = new Ctor(1); - d1 = n0 = new Ctor(0); - - d = new Ctor(d1); - e = d.e = getPrecision(xd) - x.e - 1; - k = e % LOG_BASE; - d.d[0] = mathpow(10, k < 0 ? LOG_BASE + k : k); - - if (maxD == null) { - - // d is 10**e, the minimum max-denominator needed. - maxD = e > 0 ? d : n1; - } else { - n = new Ctor(maxD); - if (!n.isInt() || n.lt(n1)) throw Error(invalidArgument + n); - maxD = n.gt(d) ? (e > 0 ? d : n1) : n; - } - - external = false; - n = new Ctor(digitsToString(xd)); - pr = Ctor.precision; - Ctor.precision = e = xd.length * LOG_BASE * 2; - - for (;;) { - q = divide(n, d, 0, 1, 1); - d2 = d0.plus(q.times(d1)); - if (d2.cmp(maxD) == 1) break; - d0 = d1; - d1 = d2; - d2 = n1; - n1 = n0.plus(q.times(d2)); - n0 = d2; - d2 = d; - d = n.minus(q.times(d2)); - n = d2; - } - - d2 = divide(maxD.minus(d0), d1, 0, 1, 1); - n0 = n0.plus(d2.times(n1)); - d0 = d0.plus(d2.times(d1)); - n0.s = n1.s = x.s; - - // Determine which fraction is closer to x, n0/d0 or n1/d1? - r = divide(n1, d1, e, 1).minus(x).abs().cmp(divide(n0, d0, e, 1).minus(x).abs()) < 1 - ? [n1, d1] : [n0, d0]; - - Ctor.precision = pr; - external = true; - - return r; - }; - - - /* - * Return a string representing the value of this Decimal in base 16, round to `sd` significant - * digits using rounding mode `rm`. - * - * If the optional `sd` argument is present then return binary exponential notation. - * - * [sd] {number} Significant digits. Integer, 1 to MAX_DIGITS inclusive. - * [rm] {number} Rounding mode. Integer, 0 to 8 inclusive. - * - */ - P.toHexadecimal = P.toHex = function (sd, rm) { - return toStringBinary(this, 16, sd, rm); - }; - - - /* - * Returns a new Decimal whose value is the nearest multiple of `y` in the direction of rounding - * mode `rm`, or `Decimal.rounding` if `rm` is omitted, to the value of this Decimal. - * - * The return value will always have the same sign as this Decimal, unless either this Decimal - * or `y` is NaN, in which case the return value will be also be NaN. - * - * The return value is not affected by the value of `precision`. - * - * y {number|string|Decimal} The magnitude to round to a multiple of. - * [rm] {number} Rounding mode. Integer, 0 to 8 inclusive. - * - * 'toNearest() rounding mode not an integer: {rm}' - * 'toNearest() rounding mode out of range: {rm}' - * - */ - P.toNearest = function (y, rm) { - var x = this, - Ctor = x.constructor; - - x = new Ctor(x); - - if (y == null) { - - // If x is not finite, return x. - if (!x.d) return x; - - y = new Ctor(1); - rm = Ctor.rounding; - } else { - y = new Ctor(y); - if (rm === void 0) { - rm = Ctor.rounding; - } else { - checkInt32(rm, 0, 8); - } - - // If x is not finite, return x if y is not NaN, else NaN. - if (!x.d) return y.s ? x : y; - - // If y is not finite, return Infinity with the sign of x if y is Infinity, else NaN. - if (!y.d) { - if (y.s) y.s = x.s; - return y; - } - } - - // If y is not zero, calculate the nearest multiple of y to x. - if (y.d[0]) { - external = false; - x = divide(x, y, 0, rm, 1).times(y); - external = true; - finalise(x); - - // If y is zero, return zero with the sign of x. - } else { - y.s = x.s; - x = y; - } - - return x; - }; - - - /* - * Return the value of this Decimal converted to a number primitive. - * Zero keeps its sign. - * - */ - P.toNumber = function () { - return +this; - }; - - - /* - * Return a string representing the value of this Decimal in base 8, round to `sd` significant - * digits using rounding mode `rm`. - * - * If the optional `sd` argument is present then return binary exponential notation. - * - * [sd] {number} Significant digits. Integer, 1 to MAX_DIGITS inclusive. - * [rm] {number} Rounding mode. Integer, 0 to 8 inclusive. - * - */ - P.toOctal = function (sd, rm) { - return toStringBinary(this, 8, sd, rm); - }; - - - /* - * Return a new Decimal whose value is the value of this Decimal raised to the power `y`, rounded - * to `precision` significant digits using rounding mode `rounding`. - * - * ECMAScript compliant. - * - * pow(x, NaN) = NaN - * pow(x, ±0) = 1 - - * pow(NaN, non-zero) = NaN - * pow(abs(x) > 1, +Infinity) = +Infinity - * pow(abs(x) > 1, -Infinity) = +0 - * pow(abs(x) == 1, ±Infinity) = NaN - * pow(abs(x) < 1, +Infinity) = +0 - * pow(abs(x) < 1, -Infinity) = +Infinity - * pow(+Infinity, y > 0) = +Infinity - * pow(+Infinity, y < 0) = +0 - * pow(-Infinity, odd integer > 0) = -Infinity - * pow(-Infinity, even integer > 0) = +Infinity - * pow(-Infinity, odd integer < 0) = -0 - * pow(-Infinity, even integer < 0) = +0 - * pow(+0, y > 0) = +0 - * pow(+0, y < 0) = +Infinity - * pow(-0, odd integer > 0) = -0 - * pow(-0, even integer > 0) = +0 - * pow(-0, odd integer < 0) = -Infinity - * pow(-0, even integer < 0) = +Infinity - * pow(finite x < 0, finite non-integer) = NaN - * - * For non-integer or very large exponents pow(x, y) is calculated using - * - * x^y = exp(y*ln(x)) - * - * Assuming the first 15 rounding digits are each equally likely to be any digit 0-9, the - * probability of an incorrectly rounded result - * P([49]9{14} | [50]0{14}) = 2 * 0.2 * 10^-14 = 4e-15 = 1/2.5e+14 - * i.e. 1 in 250,000,000,000,000 - * - * If a result is incorrectly rounded the maximum error will be 1 ulp (unit in last place). - * - * y {number|string|Decimal} The power to which to raise this Decimal. - * - */ - P.toPower = P.pow = function (y) { - var e, k, pr, r, rm, s, - x = this, - Ctor = x.constructor, - yn = +(y = new Ctor(y)); - - // Either ±Infinity, NaN or ±0? - if (!x.d || !y.d || !x.d[0] || !y.d[0]) return new Ctor(mathpow(+x, yn)); - - x = new Ctor(x); - - if (x.eq(1)) return x; - - pr = Ctor.precision; - rm = Ctor.rounding; - - if (y.eq(1)) return finalise(x, pr, rm); - - // y exponent - e = mathfloor(y.e / LOG_BASE); - - // If y is a small integer use the 'exponentiation by squaring' algorithm. - if (e >= y.d.length - 1 && (k = yn < 0 ? -yn : yn) <= MAX_SAFE_INTEGER) { - r = intPow(Ctor, x, k, pr); - return y.s < 0 ? new Ctor(1).div(r) : finalise(r, pr, rm); - } - - s = x.s; - - // if x is negative - if (s < 0) { - - // if y is not an integer - if (e < y.d.length - 1) return new Ctor(NaN); - - // Result is positive if x is negative and the last digit of integer y is even. - if ((y.d[e] & 1) == 0) s = 1; - - // if x.eq(-1) - if (x.e == 0 && x.d[0] == 1 && x.d.length == 1) { - x.s = s; - return x; - } - } - - // Estimate result exponent. - // x^y = 10^e, where e = y * log10(x) - // log10(x) = log10(x_significand) + x_exponent - // log10(x_significand) = ln(x_significand) / ln(10) - k = mathpow(+x, yn); - e = k == 0 || !isFinite(k) - ? mathfloor(yn * (Math.log('0.' + digitsToString(x.d)) / Math.LN10 + x.e + 1)) - : new Ctor(k + '').e; - - // Exponent estimate may be incorrect e.g. x: 0.999999999999999999, y: 2.29, e: 0, r.e: -1. - - // Overflow/underflow? - if (e > Ctor.maxE + 1 || e < Ctor.minE - 1) return new Ctor(e > 0 ? s / 0 : 0); - - external = false; - Ctor.rounding = x.s = 1; - - // Estimate the extra guard digits needed to ensure five correct rounding digits from - // naturalLogarithm(x). Example of failure without these extra digits (precision: 10): - // new Decimal(2.32456).pow('2087987436534566.46411') - // should be 1.162377823e+764914905173815, but is 1.162355823e+764914905173815 - k = Math.min(12, (e + '').length); - - // r = x^y = exp(y*ln(x)) - r = naturalExponential(y.times(naturalLogarithm(x, pr + k)), pr); - - // r may be Infinity, e.g. (0.9999999999999999).pow(-1e+40) - if (r.d) { - - // Truncate to the required precision plus five rounding digits. - r = finalise(r, pr + 5, 1); - - // If the rounding digits are [49]9999 or [50]0000 increase the precision by 10 and recalculate - // the result. - if (checkRoundingDigits(r.d, pr, rm)) { - e = pr + 10; - - // Truncate to the increased precision plus five rounding digits. - r = finalise(naturalExponential(y.times(naturalLogarithm(x, e + k)), e), e + 5, 1); - - // Check for 14 nines from the 2nd rounding digit (the first rounding digit may be 4 or 9). - if (+digitsToString(r.d).slice(pr + 1, pr + 15) + 1 == 1e14) { - r = finalise(r, pr + 1, 0); - } - } - } - - r.s = s; - external = true; - Ctor.rounding = rm; - - return finalise(r, pr, rm); - }; - - - /* - * Return a string representing the value of this Decimal rounded to `sd` significant digits - * using rounding mode `rounding`. - * - * Return exponential notation if `sd` is less than the number of digits necessary to represent - * the integer part of the value in normal notation. - * - * [sd] {number} Significant digits. Integer, 1 to MAX_DIGITS inclusive. - * [rm] {number} Rounding mode. Integer, 0 to 8 inclusive. - * - */ - P.toPrecision = function (sd, rm) { - var str, - x = this, - Ctor = x.constructor; - - if (sd === void 0) { - str = finiteToString(x, x.e <= Ctor.toExpNeg || x.e >= Ctor.toExpPos); - } else { - checkInt32(sd, 1, MAX_DIGITS); - - if (rm === void 0) rm = Ctor.rounding; - else checkInt32(rm, 0, 8); - - x = finalise(new Ctor(x), sd, rm); - str = finiteToString(x, sd <= x.e || x.e <= Ctor.toExpNeg, sd); - } - - return x.isNeg() && !x.isZero() ? '-' + str : str; - }; - - - /* - * Return a new Decimal whose value is the value of this Decimal rounded to a maximum of `sd` - * significant digits using rounding mode `rm`, or to `precision` and `rounding` respectively if - * omitted. - * - * [sd] {number} Significant digits. Integer, 1 to MAX_DIGITS inclusive. - * [rm] {number} Rounding mode. Integer, 0 to 8 inclusive. - * - * 'toSD() digits out of range: {sd}' - * 'toSD() digits not an integer: {sd}' - * 'toSD() rounding mode not an integer: {rm}' - * 'toSD() rounding mode out of range: {rm}' - * - */ - P.toSignificantDigits = P.toSD = function (sd, rm) { - var x = this, - Ctor = x.constructor; - - if (sd === void 0) { - sd = Ctor.precision; - rm = Ctor.rounding; - } else { - checkInt32(sd, 1, MAX_DIGITS); - - if (rm === void 0) rm = Ctor.rounding; - else checkInt32(rm, 0, 8); - } - - return finalise(new Ctor(x), sd, rm); - }; - - - /* - * Return a string representing the value of this Decimal. - * - * Return exponential notation if this Decimal has a positive exponent equal to or greater than - * `toExpPos`, or a negative exponent equal to or less than `toExpNeg`. - * - */ - P.toString = function () { - var x = this, - Ctor = x.constructor, - str = finiteToString(x, x.e <= Ctor.toExpNeg || x.e >= Ctor.toExpPos); - - return x.isNeg() && !x.isZero() ? '-' + str : str; - }; - - - /* - * Return a new Decimal whose value is the value of this Decimal truncated to a whole number. - * - */ - P.truncated = P.trunc = function () { - return finalise(new this.constructor(this), this.e + 1, 1); - }; - - - /* - * Return a string representing the value of this Decimal. - * Unlike `toString`, negative zero will include the minus sign. - * - */ - P.valueOf = P.toJSON = function () { - var x = this, - Ctor = x.constructor, - str = finiteToString(x, x.e <= Ctor.toExpNeg || x.e >= Ctor.toExpPos); - - return x.isNeg() ? '-' + str : str; - }; - - - // Helper functions for Decimal.prototype (P) and/or Decimal methods, and their callers. - - - /* - * digitsToString P.cubeRoot, P.logarithm, P.squareRoot, P.toFraction, P.toPower, - * finiteToString, naturalExponential, naturalLogarithm - * checkInt32 P.toDecimalPlaces, P.toExponential, P.toFixed, P.toNearest, - * P.toPrecision, P.toSignificantDigits, toStringBinary, random - * checkRoundingDigits P.logarithm, P.toPower, naturalExponential, naturalLogarithm - * convertBase toStringBinary, parseOther - * cos P.cos - * divide P.atanh, P.cubeRoot, P.dividedBy, P.dividedToIntegerBy, - * P.logarithm, P.modulo, P.squareRoot, P.tan, P.tanh, P.toFraction, - * P.toNearest, toStringBinary, naturalExponential, naturalLogarithm, - * taylorSeries, atan2, parseOther - * finalise P.absoluteValue, P.atan, P.atanh, P.ceil, P.cos, P.cosh, - * P.cubeRoot, P.dividedToIntegerBy, P.floor, P.logarithm, P.minus, - * P.modulo, P.negated, P.plus, P.round, P.sin, P.sinh, P.squareRoot, - * P.tan, P.times, P.toDecimalPlaces, P.toExponential, P.toFixed, - * P.toNearest, P.toPower, P.toPrecision, P.toSignificantDigits, - * P.truncated, divide, getLn10, getPi, naturalExponential, - * naturalLogarithm, ceil, floor, round, trunc - * finiteToString P.toExponential, P.toFixed, P.toPrecision, P.toString, P.valueOf, - * toStringBinary - * getBase10Exponent P.minus, P.plus, P.times, parseOther - * getLn10 P.logarithm, naturalLogarithm - * getPi P.acos, P.asin, P.atan, toLessThanHalfPi, atan2 - * getPrecision P.precision, P.toFraction - * getZeroString digitsToString, finiteToString - * intPow P.toPower, parseOther - * isOdd toLessThanHalfPi - * maxOrMin max, min - * naturalExponential P.naturalExponential, P.toPower - * naturalLogarithm P.acosh, P.asinh, P.atanh, P.logarithm, P.naturalLogarithm, - * P.toPower, naturalExponential - * nonFiniteToString finiteToString, toStringBinary - * parseDecimal Decimal - * parseOther Decimal - * sin P.sin - * taylorSeries P.cosh, P.sinh, cos, sin - * toLessThanHalfPi P.cos, P.sin - * toStringBinary P.toBinary, P.toHexadecimal, P.toOctal - * truncate intPow - * - * Throws: P.logarithm, P.precision, P.toFraction, checkInt32, getLn10, getPi, - * naturalLogarithm, config, parseOther, random, Decimal - */ - - - function digitsToString(d) { - var i, k, ws, - indexOfLastWord = d.length - 1, - str = '', - w = d[0]; - - if (indexOfLastWord > 0) { - str += w; - for (i = 1; i < indexOfLastWord; i++) { - ws = d[i] + ''; - k = LOG_BASE - ws.length; - if (k) str += getZeroString(k); - str += ws; - } - - w = d[i]; - ws = w + ''; - k = LOG_BASE - ws.length; - if (k) str += getZeroString(k); - } else if (w === 0) { - return '0'; - } - - // Remove trailing zeros of last w. - for (; w % 10 === 0;) w /= 10; - - return str + w; - } - - - function checkInt32(i, min, max) { - if (i !== ~~i || i < min || i > max) { - throw Error(invalidArgument + i); - } - } - - - /* - * Check 5 rounding digits if `repeating` is null, 4 otherwise. - * `repeating == null` if caller is `log` or `pow`, - * `repeating != null` if caller is `naturalLogarithm` or `naturalExponential`. - */ - function checkRoundingDigits(d, i, rm, repeating) { - var di, k, r, rd; - - // Get the length of the first word of the array d. - for (k = d[0]; k >= 10; k /= 10) --i; - - // Is the rounding digit in the first word of d? - if (--i < 0) { - i += LOG_BASE; - di = 0; - } else { - di = Math.ceil((i + 1) / LOG_BASE); - i %= LOG_BASE; - } - - // i is the index (0 - 6) of the rounding digit. - // E.g. if within the word 3487563 the first rounding digit is 5, - // then i = 4, k = 1000, rd = 3487563 % 1000 = 563 - k = mathpow(10, LOG_BASE - i); - rd = d[di] % k | 0; - - if (repeating == null) { - if (i < 3) { - if (i == 0) rd = rd / 100 | 0; - else if (i == 1) rd = rd / 10 | 0; - r = rm < 4 && rd == 99999 || rm > 3 && rd == 49999 || rd == 50000 || rd == 0; - } else { - r = (rm < 4 && rd + 1 == k || rm > 3 && rd + 1 == k / 2) && - (d[di + 1] / k / 100 | 0) == mathpow(10, i - 2) - 1 || - (rd == k / 2 || rd == 0) && (d[di + 1] / k / 100 | 0) == 0; - } - } else { - if (i < 4) { - if (i == 0) rd = rd / 1000 | 0; - else if (i == 1) rd = rd / 100 | 0; - else if (i == 2) rd = rd / 10 | 0; - r = (repeating || rm < 4) && rd == 9999 || !repeating && rm > 3 && rd == 4999; - } else { - r = ((repeating || rm < 4) && rd + 1 == k || - (!repeating && rm > 3) && rd + 1 == k / 2) && - (d[di + 1] / k / 1000 | 0) == mathpow(10, i - 3) - 1; - } - } - - return r; - } - - - // Convert string of `baseIn` to an array of numbers of `baseOut`. - // Eg. convertBase('255', 10, 16) returns [15, 15]. - // Eg. convertBase('ff', 16, 10) returns [2, 5, 5]. - function convertBase(str, baseIn, baseOut) { - var j, - arr = [0], - arrL, - i = 0, - strL = str.length; - - for (; i < strL;) { - for (arrL = arr.length; arrL--;) arr[arrL] *= baseIn; - arr[0] += NUMERALS.indexOf(str.charAt(i++)); - for (j = 0; j < arr.length; j++) { - if (arr[j] > baseOut - 1) { - if (arr[j + 1] === void 0) arr[j + 1] = 0; - arr[j + 1] += arr[j] / baseOut | 0; - arr[j] %= baseOut; - } - } - } - - return arr.reverse(); - } - - - /* - * cos(x) = 1 - x^2/2! + x^4/4! - ... - * |x| < pi/2 - * - */ - function cosine(Ctor, x) { - var k, len, y; - - if (x.isZero()) return x; - - // Argument reduction: cos(4x) = 8*(cos^4(x) - cos^2(x)) + 1 - // i.e. cos(x) = 8*(cos^4(x/4) - cos^2(x/4)) + 1 - - // Estimate the optimum number of times to use the argument reduction. - len = x.d.length; - if (len < 32) { - k = Math.ceil(len / 3); - y = (1 / tinyPow(4, k)).toString(); - } else { - k = 16; - y = '2.3283064365386962890625e-10'; - } - - Ctor.precision += k; - - x = taylorSeries(Ctor, 1, x.times(y), new Ctor(1)); - - // Reverse argument reduction - for (var i = k; i--;) { - var cos2x = x.times(x); - x = cos2x.times(cos2x).minus(cos2x).times(8).plus(1); - } - - Ctor.precision -= k; - - return x; - } - - - /* - * Perform division in the specified base. - */ - var divide = (function () { - - // Assumes non-zero x and k, and hence non-zero result. - function multiplyInteger(x, k, base) { - var temp, - carry = 0, - i = x.length; - - for (x = x.slice(); i--;) { - temp = x[i] * k + carry; - x[i] = temp % base | 0; - carry = temp / base | 0; - } - - if (carry) x.unshift(carry); - - return x; - } - - function compare(a, b, aL, bL) { - var i, r; - - if (aL != bL) { - r = aL > bL ? 1 : -1; - } else { - for (i = r = 0; i < aL; i++) { - if (a[i] != b[i]) { - r = a[i] > b[i] ? 1 : -1; - break; - } - } - } - - return r; - } - - function subtract(a, b, aL, base) { - var i = 0; - - // Subtract b from a. - for (; aL--;) { - a[aL] -= i; - i = a[aL] < b[aL] ? 1 : 0; - a[aL] = i * base + a[aL] - b[aL]; - } - - // Remove leading zeros. - for (; !a[0] && a.length > 1;) a.shift(); - } - - return function (x, y, pr, rm, dp, base) { - var cmp, e, i, k, logBase, more, prod, prodL, q, qd, rem, remL, rem0, sd, t, xi, xL, yd0, - yL, yz, - Ctor = x.constructor, - sign = x.s == y.s ? 1 : -1, - xd = x.d, - yd = y.d; - - // Either NaN, Infinity or 0? - if (!xd || !xd[0] || !yd || !yd[0]) { - - return new Ctor(// Return NaN if either NaN, or both Infinity or 0. - !x.s || !y.s || (xd ? yd && xd[0] == yd[0] : !yd) ? NaN : - - // Return ±0 if x is 0 or y is ±Infinity, or return ±Infinity as y is 0. - xd && xd[0] == 0 || !yd ? sign * 0 : sign / 0); - } - - if (base) { - logBase = 1; - e = x.e - y.e; - } else { - base = BASE; - logBase = LOG_BASE; - e = mathfloor(x.e / logBase) - mathfloor(y.e / logBase); - } - - yL = yd.length; - xL = xd.length; - q = new Ctor(sign); - qd = q.d = []; - - // Result exponent may be one less than e. - // The digit array of a Decimal from toStringBinary may have trailing zeros. - for (i = 0; yd[i] == (xd[i] || 0); i++); - - if (yd[i] > (xd[i] || 0)) e--; - - if (pr == null) { - sd = pr = Ctor.precision; - rm = Ctor.rounding; - } else if (dp) { - sd = pr + (x.e - y.e) + 1; - } else { - sd = pr; - } - - if (sd < 0) { - qd.push(1); - more = true; - } else { - - // Convert precision in number of base 10 digits to base 1e7 digits. - sd = sd / logBase + 2 | 0; - i = 0; - - // divisor < 1e7 - if (yL == 1) { - k = 0; - yd = yd[0]; - sd++; - - // k is the carry. - for (; (i < xL || k) && sd--; i++) { - t = k * base + (xd[i] || 0); - qd[i] = t / yd | 0; - k = t % yd | 0; - } - - more = k || i < xL; - - // divisor >= 1e7 - } else { - - // Normalise xd and yd so highest order digit of yd is >= base/2 - k = base / (yd[0] + 1) | 0; - - if (k > 1) { - yd = multiplyInteger(yd, k, base); - xd = multiplyInteger(xd, k, base); - yL = yd.length; - xL = xd.length; - } - - xi = yL; - rem = xd.slice(0, yL); - remL = rem.length; - - // Add zeros to make remainder as long as divisor. - for (; remL < yL;) rem[remL++] = 0; - - yz = yd.slice(); - yz.unshift(0); - yd0 = yd[0]; - - if (yd[1] >= base / 2) ++yd0; - - do { - k = 0; - - // Compare divisor and remainder. - cmp = compare(yd, rem, yL, remL); - - // If divisor < remainder. - if (cmp < 0) { - - // Calculate trial digit, k. - rem0 = rem[0]; - if (yL != remL) rem0 = rem0 * base + (rem[1] || 0); - - // k will be how many times the divisor goes into the current remainder. - k = rem0 / yd0 | 0; - - // Algorithm: - // 1. product = divisor * trial digit (k) - // 2. if product > remainder: product -= divisor, k-- - // 3. remainder -= product - // 4. if product was < remainder at 2: - // 5. compare new remainder and divisor - // 6. If remainder > divisor: remainder -= divisor, k++ - - if (k > 1) { - if (k >= base) k = base - 1; - - // product = divisor * trial digit. - prod = multiplyInteger(yd, k, base); - prodL = prod.length; - remL = rem.length; - - // Compare product and remainder. - cmp = compare(prod, rem, prodL, remL); - - // product > remainder. - if (cmp == 1) { - k--; - - // Subtract divisor from product. - subtract(prod, yL < prodL ? yz : yd, prodL, base); - } - } else { - - // cmp is -1. - // If k is 0, there is no need to compare yd and rem again below, so change cmp to 1 - // to avoid it. If k is 1 there is a need to compare yd and rem again below. - if (k == 0) cmp = k = 1; - prod = yd.slice(); - } - - prodL = prod.length; - if (prodL < remL) prod.unshift(0); - - // Subtract product from remainder. - subtract(rem, prod, remL, base); - - // If product was < previous remainder. - if (cmp == -1) { - remL = rem.length; - - // Compare divisor and new remainder. - cmp = compare(yd, rem, yL, remL); - - // If divisor < new remainder, subtract divisor from remainder. - if (cmp < 1) { - k++; - - // Subtract divisor from remainder. - subtract(rem, yL < remL ? yz : yd, remL, base); - } - } - - remL = rem.length; - } else if (cmp === 0) { - k++; - rem = [0]; - } // if cmp === 1, k will be 0 - - // Add the next digit, k, to the result array. - qd[i++] = k; - - // Update the remainder. - if (cmp && rem[0]) { - rem[remL++] = xd[xi] || 0; - } else { - rem = [xd[xi]]; - remL = 1; - } - - } while ((xi++ < xL || rem[0] !== void 0) && sd--); - - more = rem[0] !== void 0; - } - - // Leading zero? - if (!qd[0]) qd.shift(); - } - - // logBase is 1 when divide is being used for base conversion. - if (logBase == 1) { - q.e = e; - inexact = more; - } else { - - // To calculate q.e, first get the number of digits of qd[0]. - for (i = 1, k = qd[0]; k >= 10; k /= 10) i++; - q.e = i + e * logBase - 1; - - finalise(q, dp ? pr + q.e + 1 : pr, rm, more); - } - - return q; - }; - })(); - - - /* - * Round `x` to `sd` significant digits using rounding mode `rm`. - * Check for over/under-flow. - */ - function finalise(x, sd, rm, isTruncated) { - var digits, i, j, k, rd, roundUp, w, xd, xdi, - Ctor = x.constructor; - - // Don't round if sd is null or undefined. - out: if (sd != null) { - xd = x.d; - - // Infinity/NaN. - if (!xd) return x; - - // rd: the rounding digit, i.e. the digit after the digit that may be rounded up. - // w: the word of xd containing rd, a base 1e7 number. - // xdi: the index of w within xd. - // digits: the number of digits of w. - // i: what would be the index of rd within w if all the numbers were 7 digits long (i.e. if - // they had leading zeros) - // j: if > 0, the actual index of rd within w (if < 0, rd is a leading zero). - - // Get the length of the first word of the digits array xd. - for (digits = 1, k = xd[0]; k >= 10; k /= 10) digits++; - i = sd - digits; - - // Is the rounding digit in the first word of xd? - if (i < 0) { - i += LOG_BASE; - j = sd; - w = xd[xdi = 0]; - - // Get the rounding digit at index j of w. - rd = w / mathpow(10, digits - j - 1) % 10 | 0; - } else { - xdi = Math.ceil((i + 1) / LOG_BASE); - k = xd.length; - if (xdi >= k) { - if (isTruncated) { - - // Needed by `naturalExponential`, `naturalLogarithm` and `squareRoot`. - for (; k++ <= xdi;) xd.push(0); - w = rd = 0; - digits = 1; - i %= LOG_BASE; - j = i - LOG_BASE + 1; - } else { - break out; - } - } else { - w = k = xd[xdi]; - - // Get the number of digits of w. - for (digits = 1; k >= 10; k /= 10) digits++; - - // Get the index of rd within w. - i %= LOG_BASE; - - // Get the index of rd within w, adjusted for leading zeros. - // The number of leading zeros of w is given by LOG_BASE - digits. - j = i - LOG_BASE + digits; - - // Get the rounding digit at index j of w. - rd = j < 0 ? 0 : w / mathpow(10, digits - j - 1) % 10 | 0; - } - } - - // Are there any non-zero digits after the rounding digit? - isTruncated = isTruncated || sd < 0 || - xd[xdi + 1] !== void 0 || (j < 0 ? w : w % mathpow(10, digits - j - 1)); - - // The expression `w % mathpow(10, digits - j - 1)` returns all the digits of w to the right - // of the digit at (left-to-right) index j, e.g. if w is 908714 and j is 2, the expression - // will give 714. - - roundUp = rm < 4 - ? (rd || isTruncated) && (rm == 0 || rm == (x.s < 0 ? 3 : 2)) - : rd > 5 || rd == 5 && (rm == 4 || isTruncated || rm == 6 && - - // Check whether the digit to the left of the rounding digit is odd. - ((i > 0 ? j > 0 ? w / mathpow(10, digits - j) : 0 : xd[xdi - 1]) % 10) & 1 || - rm == (x.s < 0 ? 8 : 7)); - - if (sd < 1 || !xd[0]) { - xd.length = 0; - if (roundUp) { - - // Convert sd to decimal places. - sd -= x.e + 1; - - // 1, 0.1, 0.01, 0.001, 0.0001 etc. - xd[0] = mathpow(10, (LOG_BASE - sd % LOG_BASE) % LOG_BASE); - x.e = -sd || 0; - } else { - - // Zero. - xd[0] = x.e = 0; - } - - return x; - } - - // Remove excess digits. - if (i == 0) { - xd.length = xdi; - k = 1; - xdi--; - } else { - xd.length = xdi + 1; - k = mathpow(10, LOG_BASE - i); - - // E.g. 56700 becomes 56000 if 7 is the rounding digit. - // j > 0 means i > number of leading zeros of w. - xd[xdi] = j > 0 ? (w / mathpow(10, digits - j) % mathpow(10, j) | 0) * k : 0; - } - - if (roundUp) { - for (;;) { - - // Is the digit to be rounded up in the first word of xd? - if (xdi == 0) { - - // i will be the length of xd[0] before k is added. - for (i = 1, j = xd[0]; j >= 10; j /= 10) i++; - j = xd[0] += k; - for (k = 1; j >= 10; j /= 10) k++; - - // if i != k the length has increased. - if (i != k) { - x.e++; - if (xd[0] == BASE) xd[0] = 1; - } - - break; - } else { - xd[xdi] += k; - if (xd[xdi] != BASE) break; - xd[xdi--] = 0; - k = 1; - } - } - } - - // Remove trailing zeros. - for (i = xd.length; xd[--i] === 0;) xd.pop(); - } - - if (external) { - - // Overflow? - if (x.e > Ctor.maxE) { - - // Infinity. - x.d = null; - x.e = NaN; - - // Underflow? - } else if (x.e < Ctor.minE) { - - // Zero. - x.e = 0; - x.d = [0]; - // Ctor.underflow = true; - } // else Ctor.underflow = false; - } - - return x; - } - - - function finiteToString(x, isExp, sd) { - if (!x.isFinite()) return nonFiniteToString(x); - var k, - e = x.e, - str = digitsToString(x.d), - len = str.length; - - if (isExp) { - if (sd && (k = sd - len) > 0) { - str = str.charAt(0) + '.' + str.slice(1) + getZeroString(k); - } else if (len > 1) { - str = str.charAt(0) + '.' + str.slice(1); - } - - str = str + (x.e < 0 ? 'e' : 'e+') + x.e; - } else if (e < 0) { - str = '0.' + getZeroString(-e - 1) + str; - if (sd && (k = sd - len) > 0) str += getZeroString(k); - } else if (e >= len) { - str += getZeroString(e + 1 - len); - if (sd && (k = sd - e - 1) > 0) str = str + '.' + getZeroString(k); - } else { - if ((k = e + 1) < len) str = str.slice(0, k) + '.' + str.slice(k); - if (sd && (k = sd - len) > 0) { - if (e + 1 === len) str += '.'; - str += getZeroString(k); - } - } - - return str; - } - - - // Calculate the base 10 exponent from the base 1e7 exponent. - function getBase10Exponent(digits, e) { - var w = digits[0]; - - // Add the number of digits of the first word of the digits array. - for ( e *= LOG_BASE; w >= 10; w /= 10) e++; - return e; - } - - - function getLn10(Ctor, sd, pr) { - if (sd > LN10_PRECISION) { - - // Reset global state in case the exception is caught. - external = true; - if (pr) Ctor.precision = pr; - throw Error(precisionLimitExceeded); - } - return finalise(new Ctor(LN10), sd, 1, true); - } - - - function getPi(Ctor, sd, rm) { - if (sd > PI_PRECISION) throw Error(precisionLimitExceeded); - return finalise(new Ctor(PI), sd, rm, true); - } - - - function getPrecision(digits) { - var w = digits.length - 1, - len = w * LOG_BASE + 1; - - w = digits[w]; - - // If non-zero... - if (w) { - - // Subtract the number of trailing zeros of the last word. - for (; w % 10 == 0; w /= 10) len--; - - // Add the number of digits of the first word. - for (w = digits[0]; w >= 10; w /= 10) len++; - } - - return len; - } - - - function getZeroString(k) { - var zs = ''; - for (; k--;) zs += '0'; - return zs; - } - - - /* - * Return a new Decimal whose value is the value of Decimal `x` to the power `n`, where `n` is an - * integer of type number. - * - * Implements 'exponentiation by squaring'. Called by `pow` and `parseOther`. - * - */ - function intPow(Ctor, x, n, pr) { - var isTruncated, - r = new Ctor(1), - - // Max n of 9007199254740991 takes 53 loop iterations. - // Maximum digits array length; leaves [28, 34] guard digits. - k = Math.ceil(pr / LOG_BASE + 4); - - external = false; - - for (;;) { - if (n % 2) { - r = r.times(x); - if (truncate(r.d, k)) isTruncated = true; - } - - n = mathfloor(n / 2); - if (n === 0) { - - // To ensure correct rounding when r.d is truncated, increment the last word if it is zero. - n = r.d.length - 1; - if (isTruncated && r.d[n] === 0) ++r.d[n]; - break; - } - - x = x.times(x); - truncate(x.d, k); - } - - external = true; - - return r; - } - - - function isOdd(n) { - return n.d[n.d.length - 1] & 1; - } - - - /* - * Handle `max` and `min`. `ltgt` is 'lt' or 'gt'. - */ - function maxOrMin(Ctor, args, ltgt) { - var y, - x = new Ctor(args[0]), - i = 0; - - for (; ++i < args.length;) { - y = new Ctor(args[i]); - if (!y.s) { - x = y; - break; - } else if (x[ltgt](y)) { - x = y; - } - } - - return x; - } - - - /* - * Return a new Decimal whose value is the natural exponential of `x` rounded to `sd` significant - * digits. - * - * Taylor/Maclaurin series. - * - * exp(x) = x^0/0! + x^1/1! + x^2/2! + x^3/3! + ... - * - * Argument reduction: - * Repeat x = x / 32, k += 5, until |x| < 0.1 - * exp(x) = exp(x / 2^k)^(2^k) - * - * Previously, the argument was initially reduced by - * exp(x) = exp(r) * 10^k where r = x - k * ln10, k = floor(x / ln10) - * to first put r in the range [0, ln10], before dividing by 32 until |x| < 0.1, but this was - * found to be slower than just dividing repeatedly by 32 as above. - * - * Max integer argument: exp('20723265836946413') = 6.3e+9000000000000000 - * Min integer argument: exp('-20723265836946411') = 1.2e-9000000000000000 - * (Math object integer min/max: Math.exp(709) = 8.2e+307, Math.exp(-745) = 5e-324) - * - * exp(Infinity) = Infinity - * exp(-Infinity) = 0 - * exp(NaN) = NaN - * exp(±0) = 1 - * - * exp(x) is non-terminating for any finite, non-zero x. - * - * The result will always be correctly rounded. - * - */ - function naturalExponential(x, sd) { - var denominator, guard, j, pow, sum, t, wpr, - rep = 0, - i = 0, - k = 0, - Ctor = x.constructor, - rm = Ctor.rounding, - pr = Ctor.precision; - - // 0/NaN/Infinity? - if (!x.d || !x.d[0] || x.e > 17) { - - return new Ctor(x.d - ? !x.d[0] ? 1 : x.s < 0 ? 0 : 1 / 0 - : x.s ? x.s < 0 ? 0 : x : 0 / 0); - } - - if (sd == null) { - external = false; - wpr = pr; - } else { - wpr = sd; - } - - t = new Ctor(0.03125); - - // while abs(x) >= 0.1 - while (x.e > -2) { - - // x = x / 2^5 - x = x.times(t); - k += 5; - } - - // Use 2 * log10(2^k) + 5 (empirically derived) to estimate the increase in precision - // necessary to ensure the first 4 rounding digits are correct. - guard = Math.log(mathpow(2, k)) / Math.LN10 * 2 + 5 | 0; - wpr += guard; - denominator = pow = sum = new Ctor(1); - Ctor.precision = wpr; - - for (;;) { - pow = finalise(pow.times(x), wpr, 1); - denominator = denominator.times(++i); - t = sum.plus(divide(pow, denominator, wpr, 1)); - - if (digitsToString(t.d).slice(0, wpr) === digitsToString(sum.d).slice(0, wpr)) { - j = k; - while (j--) sum = finalise(sum.times(sum), wpr, 1); - - // Check to see if the first 4 rounding digits are [49]999. - // If so, repeat the summation with a higher precision, otherwise - // e.g. with precision: 18, rounding: 1 - // exp(18.404272462595034083567793919843761) = 98372560.1229999999 (should be 98372560.123) - // `wpr - guard` is the index of first rounding digit. - if (sd == null) { - - if (rep < 3 && checkRoundingDigits(sum.d, wpr - guard, rm, rep)) { - Ctor.precision = wpr += 10; - denominator = pow = t = new Ctor(1); - i = 0; - rep++; - } else { - return finalise(sum, Ctor.precision = pr, rm, external = true); - } - } else { - Ctor.precision = pr; - return sum; - } - } - - sum = t; - } - } - - - /* - * Return a new Decimal whose value is the natural logarithm of `x` rounded to `sd` significant - * digits. - * - * ln(-n) = NaN - * ln(0) = -Infinity - * ln(-0) = -Infinity - * ln(1) = 0 - * ln(Infinity) = Infinity - * ln(-Infinity) = NaN - * ln(NaN) = NaN - * - * ln(n) (n != 1) is non-terminating. - * - */ - function naturalLogarithm(y, sd) { - var c, c0, denominator, e, numerator, rep, sum, t, wpr, x1, x2, - n = 1, - guard = 10, - x = y, - xd = x.d, - Ctor = x.constructor, - rm = Ctor.rounding, - pr = Ctor.precision; - - // Is x negative or Infinity, NaN, 0 or 1? - if (x.s < 0 || !xd || !xd[0] || !x.e && xd[0] == 1 && xd.length == 1) { - return new Ctor(xd && !xd[0] ? -1 / 0 : x.s != 1 ? NaN : xd ? 0 : x); - } - - if (sd == null) { - external = false; - wpr = pr; - } else { - wpr = sd; - } - - Ctor.precision = wpr += guard; - c = digitsToString(xd); - c0 = c.charAt(0); - - if (Math.abs(e = x.e) < 1.5e15) { - - // Argument reduction. - // The series converges faster the closer the argument is to 1, so using - // ln(a^b) = b * ln(a), ln(a) = ln(a^b) / b - // multiply the argument by itself until the leading digits of the significand are 7, 8, 9, - // 10, 11, 12 or 13, recording the number of multiplications so the sum of the series can - // later be divided by this number, then separate out the power of 10 using - // ln(a*10^b) = ln(a) + b*ln(10). - - // max n is 21 (gives 0.9, 1.0 or 1.1) (9e15 / 21 = 4.2e14). - //while (c0 < 9 && c0 != 1 || c0 == 1 && c.charAt(1) > 1) { - // max n is 6 (gives 0.7 - 1.3) - while (c0 < 7 && c0 != 1 || c0 == 1 && c.charAt(1) > 3) { - x = x.times(y); - c = digitsToString(x.d); - c0 = c.charAt(0); - n++; - } - - e = x.e; - - if (c0 > 1) { - x = new Ctor('0.' + c); - e++; - } else { - x = new Ctor(c0 + '.' + c.slice(1)); - } - } else { - - // The argument reduction method above may result in overflow if the argument y is a massive - // number with exponent >= 1500000000000000 (9e15 / 6 = 1.5e15), so instead recall this - // function using ln(x*10^e) = ln(x) + e*ln(10). - t = getLn10(Ctor, wpr + 2, pr).times(e + ''); - x = naturalLogarithm(new Ctor(c0 + '.' + c.slice(1)), wpr - guard).plus(t); - Ctor.precision = pr; - - return sd == null ? finalise(x, pr, rm, external = true) : x; - } - - // x1 is x reduced to a value near 1. - x1 = x; - - // Taylor series. - // ln(y) = ln((1 + x)/(1 - x)) = 2(x + x^3/3 + x^5/5 + x^7/7 + ...) - // where x = (y - 1)/(y + 1) (|x| < 1) - sum = numerator = x = divide(x.minus(1), x.plus(1), wpr, 1); - x2 = finalise(x.times(x), wpr, 1); - denominator = 3; - - for (;;) { - numerator = finalise(numerator.times(x2), wpr, 1); - t = sum.plus(divide(numerator, new Ctor(denominator), wpr, 1)); - - if (digitsToString(t.d).slice(0, wpr) === digitsToString(sum.d).slice(0, wpr)) { - sum = sum.times(2); - - // Reverse the argument reduction. Check that e is not 0 because, besides preventing an - // unnecessary calculation, -0 + 0 = +0 and to ensure correct rounding -0 needs to stay -0. - if (e !== 0) sum = sum.plus(getLn10(Ctor, wpr + 2, pr).times(e + '')); - sum = divide(sum, new Ctor(n), wpr, 1); - - // Is rm > 3 and the first 4 rounding digits 4999, or rm < 4 (or the summation has - // been repeated previously) and the first 4 rounding digits 9999? - // If so, restart the summation with a higher precision, otherwise - // e.g. with precision: 12, rounding: 1 - // ln(135520028.6126091714265381533) = 18.7246299999 when it should be 18.72463. - // `wpr - guard` is the index of first rounding digit. - if (sd == null) { - if (checkRoundingDigits(sum.d, wpr - guard, rm, rep)) { - Ctor.precision = wpr += guard; - t = numerator = x = divide(x1.minus(1), x1.plus(1), wpr, 1); - x2 = finalise(x.times(x), wpr, 1); - denominator = rep = 1; - } else { - return finalise(sum, Ctor.precision = pr, rm, external = true); - } - } else { - Ctor.precision = pr; - return sum; - } - } - - sum = t; - denominator += 2; - } - } - - - // ±Infinity, NaN. - function nonFiniteToString(x) { - // Unsigned. - return String(x.s * x.s / 0); - } - - - /* - * Parse the value of a new Decimal `x` from string `str`. - */ - function parseDecimal(x, str) { - var e, i, len; - - // Decimal point? - if ((e = str.indexOf('.')) > -1) str = str.replace('.', ''); - - // Exponential form? - if ((i = str.search(/e/i)) > 0) { - - // Determine exponent. - if (e < 0) e = i; - e += +str.slice(i + 1); - str = str.substring(0, i); - } else if (e < 0) { - - // Integer. - e = str.length; - } - - // Determine leading zeros. - for (i = 0; str.charCodeAt(i) === 48; i++); - - // Determine trailing zeros. - for (len = str.length; str.charCodeAt(len - 1) === 48; --len); - str = str.slice(i, len); - - if (str) { - len -= i; - x.e = e = e - i - 1; - x.d = []; - - // Transform base - - // e is the base 10 exponent. - // i is where to slice str to get the first word of the digits array. - i = (e + 1) % LOG_BASE; - if (e < 0) i += LOG_BASE; - - if (i < len) { - if (i) x.d.push(+str.slice(0, i)); - for (len -= LOG_BASE; i < len;) x.d.push(+str.slice(i, i += LOG_BASE)); - str = str.slice(i); - i = LOG_BASE - str.length; - } else { - i -= len; - } - - for (; i--;) str += '0'; - x.d.push(+str); - - if (external) { - - // Overflow? - if (x.e > x.constructor.maxE) { - - // Infinity. - x.d = null; - x.e = NaN; - - // Underflow? - } else if (x.e < x.constructor.minE) { - - // Zero. - x.e = 0; - x.d = [0]; - // x.constructor.underflow = true; - } // else x.constructor.underflow = false; - } - } else { - - // Zero. - x.e = 0; - x.d = [0]; - } - - return x; - } - - - /* - * Parse the value of a new Decimal `x` from a string `str`, which is not a decimal value. - */ - function parseOther(x, str) { - var base, Ctor, divisor, i, isFloat, len, p, xd, xe; - - if (str.indexOf('_') > -1) { - str = str.replace(/(\d)_(?=\d)/g, '$1'); - if (isDecimal.test(str)) return parseDecimal(x, str); - } else if (str === 'Infinity' || str === 'NaN') { - if (!+str) x.s = NaN; - x.e = NaN; - x.d = null; - return x; - } - - if (isHex.test(str)) { - base = 16; - str = str.toLowerCase(); - } else if (isBinary.test(str)) { - base = 2; - } else if (isOctal.test(str)) { - base = 8; - } else { - throw Error(invalidArgument + str); - } - - // Is there a binary exponent part? - i = str.search(/p/i); - - if (i > 0) { - p = +str.slice(i + 1); - str = str.substring(2, i); - } else { - str = str.slice(2); - } - - // Convert `str` as an integer then divide the result by `base` raised to a power such that the - // fraction part will be restored. - i = str.indexOf('.'); - isFloat = i >= 0; - Ctor = x.constructor; - - if (isFloat) { - str = str.replace('.', ''); - len = str.length; - i = len - i; - - // log[10](16) = 1.2041... , log[10](88) = 1.9444.... - divisor = intPow(Ctor, new Ctor(base), i, i * 2); - } - - xd = convertBase(str, base, BASE); - xe = xd.length - 1; - - // Remove trailing zeros. - for (i = xe; xd[i] === 0; --i) xd.pop(); - if (i < 0) return new Ctor(x.s * 0); - x.e = getBase10Exponent(xd, xe); - x.d = xd; - external = false; - - // At what precision to perform the division to ensure exact conversion? - // maxDecimalIntegerPartDigitCount = ceil(log[10](b) * otherBaseIntegerPartDigitCount) - // log[10](2) = 0.30103, log[10](8) = 0.90309, log[10](16) = 1.20412 - // E.g. ceil(1.2 * 3) = 4, so up to 4 decimal digits are needed to represent 3 hex int digits. - // maxDecimalFractionPartDigitCount = {Hex:4|Oct:3|Bin:1} * otherBaseFractionPartDigitCount - // Therefore using 4 * the number of digits of str will always be enough. - if (isFloat) x = divide(x, divisor, len * 4); - - // Multiply by the binary exponent part if present. - if (p) x = x.times(Math.abs(p) < 54 ? mathpow(2, p) : Decimal.pow(2, p)); - external = true; - - return x; - } - - - /* - * sin(x) = x - x^3/3! + x^5/5! - ... - * |x| < pi/2 - * - */ - function sine(Ctor, x) { - var k, - len = x.d.length; - - if (len < 3) { - return x.isZero() ? x : taylorSeries(Ctor, 2, x, x); - } - - // Argument reduction: sin(5x) = 16*sin^5(x) - 20*sin^3(x) + 5*sin(x) - // i.e. sin(x) = 16*sin^5(x/5) - 20*sin^3(x/5) + 5*sin(x/5) - // and sin(x) = sin(x/5)(5 + sin^2(x/5)(16sin^2(x/5) - 20)) - - // Estimate the optimum number of times to use the argument reduction. - k = 1.4 * Math.sqrt(len); - k = k > 16 ? 16 : k | 0; - - x = x.times(1 / tinyPow(5, k)); - x = taylorSeries(Ctor, 2, x, x); - - // Reverse argument reduction - var sin2_x, - d5 = new Ctor(5), - d16 = new Ctor(16), - d20 = new Ctor(20); - for (; k--;) { - sin2_x = x.times(x); - x = x.times(d5.plus(sin2_x.times(d16.times(sin2_x).minus(d20)))); - } - - return x; - } - - - // Calculate Taylor series for `cos`, `cosh`, `sin` and `sinh`. - function taylorSeries(Ctor, n, x, y, isHyperbolic) { - var j, t, u, x2, - i = 1, - pr = Ctor.precision, - k = Math.ceil(pr / LOG_BASE); - - external = false; - x2 = x.times(x); - u = new Ctor(y); - - for (;;) { - t = divide(u.times(x2), new Ctor(n++ * n++), pr, 1); - u = isHyperbolic ? y.plus(t) : y.minus(t); - y = divide(t.times(x2), new Ctor(n++ * n++), pr, 1); - t = u.plus(y); - - if (t.d[k] !== void 0) { - for (j = k; t.d[j] === u.d[j] && j--;); - if (j == -1) break; - } - - j = u; - u = y; - y = t; - t = j; - i++; - } - - external = true; - t.d.length = k + 1; - - return t; - } - - - // Exponent e must be positive and non-zero. - function tinyPow(b, e) { - var n = b; - while (--e) n *= b; - return n; - } - - - // Return the absolute value of `x` reduced to less than or equal to half pi. - function toLessThanHalfPi(Ctor, x) { - var t, - isNeg = x.s < 0, - pi = getPi(Ctor, Ctor.precision, 1), - halfPi = pi.times(0.5); - - x = x.abs(); - - if (x.lte(halfPi)) { - quadrant = isNeg ? 4 : 1; - return x; - } - - t = x.divToInt(pi); - - if (t.isZero()) { - quadrant = isNeg ? 3 : 2; - } else { - x = x.minus(t.times(pi)); - - // 0 <= x < pi - if (x.lte(halfPi)) { - quadrant = isOdd(t) ? (isNeg ? 2 : 3) : (isNeg ? 4 : 1); - return x; - } - - quadrant = isOdd(t) ? (isNeg ? 1 : 4) : (isNeg ? 3 : 2); - } - - return x.minus(pi).abs(); - } - - - /* - * Return the value of Decimal `x` as a string in base `baseOut`. - * - * If the optional `sd` argument is present include a binary exponent suffix. - */ - function toStringBinary(x, baseOut, sd, rm) { - var base, e, i, k, len, roundUp, str, xd, y, - Ctor = x.constructor, - isExp = sd !== void 0; - - if (isExp) { - checkInt32(sd, 1, MAX_DIGITS); - if (rm === void 0) rm = Ctor.rounding; - else checkInt32(rm, 0, 8); - } else { - sd = Ctor.precision; - rm = Ctor.rounding; - } - - if (!x.isFinite()) { - str = nonFiniteToString(x); - } else { - str = finiteToString(x); - i = str.indexOf('.'); - - // Use exponential notation according to `toExpPos` and `toExpNeg`? No, but if required: - // maxBinaryExponent = floor((decimalExponent + 1) * log[2](10)) - // minBinaryExponent = floor(decimalExponent * log[2](10)) - // log[2](10) = 3.321928094887362347870319429489390175864 - - if (isExp) { - base = 2; - if (baseOut == 16) { - sd = sd * 4 - 3; - } else if (baseOut == 8) { - sd = sd * 3 - 2; - } - } else { - base = baseOut; - } - - // Convert the number as an integer then divide the result by its base raised to a power such - // that the fraction part will be restored. - - // Non-integer. - if (i >= 0) { - str = str.replace('.', ''); - y = new Ctor(1); - y.e = str.length - i; - y.d = convertBase(finiteToString(y), 10, base); - y.e = y.d.length; - } - - xd = convertBase(str, 10, base); - e = len = xd.length; - - // Remove trailing zeros. - for (; xd[--len] == 0;) xd.pop(); - - if (!xd[0]) { - str = isExp ? '0p+0' : '0'; - } else { - if (i < 0) { - e--; - } else { - x = new Ctor(x); - x.d = xd; - x.e = e; - x = divide(x, y, sd, rm, 0, base); - xd = x.d; - e = x.e; - roundUp = inexact; - } - - // The rounding digit, i.e. the digit after the digit that may be rounded up. - i = xd[sd]; - k = base / 2; - roundUp = roundUp || xd[sd + 1] !== void 0; - - roundUp = rm < 4 - ? (i !== void 0 || roundUp) && (rm === 0 || rm === (x.s < 0 ? 3 : 2)) - : i > k || i === k && (rm === 4 || roundUp || rm === 6 && xd[sd - 1] & 1 || - rm === (x.s < 0 ? 8 : 7)); - - xd.length = sd; - - if (roundUp) { - - // Rounding up may mean the previous digit has to be rounded up and so on. - for (; ++xd[--sd] > base - 1;) { - xd[sd] = 0; - if (!sd) { - ++e; - xd.unshift(1); - } - } - } - - // Determine trailing zeros. - for (len = xd.length; !xd[len - 1]; --len); - - // E.g. [4, 11, 15] becomes 4bf. - for (i = 0, str = ''; i < len; i++) str += NUMERALS.charAt(xd[i]); - - // Add binary exponent suffix? - if (isExp) { - if (len > 1) { - if (baseOut == 16 || baseOut == 8) { - i = baseOut == 16 ? 4 : 3; - for (--len; len % i; len++) str += '0'; - xd = convertBase(str, base, baseOut); - for (len = xd.length; !xd[len - 1]; --len); - - // xd[0] will always be be 1 - for (i = 1, str = '1.'; i < len; i++) str += NUMERALS.charAt(xd[i]); - } else { - str = str.charAt(0) + '.' + str.slice(1); - } - } - - str = str + (e < 0 ? 'p' : 'p+') + e; - } else if (e < 0) { - for (; ++e;) str = '0' + str; - str = '0.' + str; - } else { - if (++e > len) for (e -= len; e-- ;) str += '0'; - else if (e < len) str = str.slice(0, e) + '.' + str.slice(e); - } - } - - str = (baseOut == 16 ? '0x' : baseOut == 2 ? '0b' : baseOut == 8 ? '0o' : '') + str; - } - - return x.s < 0 ? '-' + str : str; - } - - - // Does not strip trailing zeros. - function truncate(arr, len) { - if (arr.length > len) { - arr.length = len; - return true; - } - } - - - // Decimal methods - - - /* - * abs - * acos - * acosh - * add - * asin - * asinh - * atan - * atanh - * atan2 - * cbrt - * ceil - * clamp - * clone - * config - * cos - * cosh - * div - * exp - * floor - * hypot - * ln - * log - * log2 - * log10 - * max - * min - * mod - * mul - * pow - * random - * round - * set - * sign - * sin - * sinh - * sqrt - * sub - * sum - * tan - * tanh - * trunc - */ - - - /* - * Return a new Decimal whose value is the absolute value of `x`. - * - * x {number|string|Decimal} - * - */ - function abs(x) { - return new this(x).abs(); - } - - - /* - * Return a new Decimal whose value is the arccosine in radians of `x`. - * - * x {number|string|Decimal} - * - */ - function acos(x) { - return new this(x).acos(); - } - - - /* - * Return a new Decimal whose value is the inverse of the hyperbolic cosine of `x`, rounded to - * `precision` significant digits using rounding mode `rounding`. - * - * x {number|string|Decimal} A value in radians. - * - */ - function acosh(x) { - return new this(x).acosh(); - } - - - /* - * Return a new Decimal whose value is the sum of `x` and `y`, rounded to `precision` significant - * digits using rounding mode `rounding`. - * - * x {number|string|Decimal} - * y {number|string|Decimal} - * - */ - function add(x, y) { - return new this(x).plus(y); - } - - - /* - * Return a new Decimal whose value is the arcsine in radians of `x`, rounded to `precision` - * significant digits using rounding mode `rounding`. - * - * x {number|string|Decimal} - * - */ - function asin(x) { - return new this(x).asin(); - } - - - /* - * Return a new Decimal whose value is the inverse of the hyperbolic sine of `x`, rounded to - * `precision` significant digits using rounding mode `rounding`. - * - * x {number|string|Decimal} A value in radians. - * - */ - function asinh(x) { - return new this(x).asinh(); - } - - - /* - * Return a new Decimal whose value is the arctangent in radians of `x`, rounded to `precision` - * significant digits using rounding mode `rounding`. - * - * x {number|string|Decimal} - * - */ - function atan(x) { - return new this(x).atan(); - } - - - /* - * Return a new Decimal whose value is the inverse of the hyperbolic tangent of `x`, rounded to - * `precision` significant digits using rounding mode `rounding`. - * - * x {number|string|Decimal} A value in radians. - * - */ - function atanh(x) { - return new this(x).atanh(); - } - - - /* - * Return a new Decimal whose value is the arctangent in radians of `y/x` in the range -pi to pi - * (inclusive), rounded to `precision` significant digits using rounding mode `rounding`. - * - * Domain: [-Infinity, Infinity] - * Range: [-pi, pi] - * - * y {number|string|Decimal} The y-coordinate. - * x {number|string|Decimal} The x-coordinate. - * - * atan2(±0, -0) = ±pi - * atan2(±0, +0) = ±0 - * atan2(±0, -x) = ±pi for x > 0 - * atan2(±0, x) = ±0 for x > 0 - * atan2(-y, ±0) = -pi/2 for y > 0 - * atan2(y, ±0) = pi/2 for y > 0 - * atan2(±y, -Infinity) = ±pi for finite y > 0 - * atan2(±y, +Infinity) = ±0 for finite y > 0 - * atan2(±Infinity, x) = ±pi/2 for finite x - * atan2(±Infinity, -Infinity) = ±3*pi/4 - * atan2(±Infinity, +Infinity) = ±pi/4 - * atan2(NaN, x) = NaN - * atan2(y, NaN) = NaN - * - */ - function atan2(y, x) { - y = new this(y); - x = new this(x); - var r, - pr = this.precision, - rm = this.rounding, - wpr = pr + 4; - - // Either NaN - if (!y.s || !x.s) { - r = new this(NaN); - - // Both ±Infinity - } else if (!y.d && !x.d) { - r = getPi(this, wpr, 1).times(x.s > 0 ? 0.25 : 0.75); - r.s = y.s; - - // x is ±Infinity or y is ±0 - } else if (!x.d || y.isZero()) { - r = x.s < 0 ? getPi(this, pr, rm) : new this(0); - r.s = y.s; - - // y is ±Infinity or x is ±0 - } else if (!y.d || x.isZero()) { - r = getPi(this, wpr, 1).times(0.5); - r.s = y.s; - - // Both non-zero and finite - } else if (x.s < 0) { - this.precision = wpr; - this.rounding = 1; - r = this.atan(divide(y, x, wpr, 1)); - x = getPi(this, wpr, 1); - this.precision = pr; - this.rounding = rm; - r = y.s < 0 ? r.minus(x) : r.plus(x); - } else { - r = this.atan(divide(y, x, wpr, 1)); - } - - return r; - } - - - /* - * Return a new Decimal whose value is the cube root of `x`, rounded to `precision` significant - * digits using rounding mode `rounding`. - * - * x {number|string|Decimal} - * - */ - function cbrt(x) { - return new this(x).cbrt(); - } - - - /* - * Return a new Decimal whose value is `x` rounded to an integer using `ROUND_CEIL`. - * - * x {number|string|Decimal} - * - */ - function ceil(x) { - return finalise(x = new this(x), x.e + 1, 2); - } - - - /* - * Return a new Decimal whose value is `x` clamped to the range delineated by `min` and `max`. - * - * x {number|string|Decimal} - * min {number|string|Decimal} - * max {number|string|Decimal} - * - */ - function clamp(x, min, max) { - return new this(x).clamp(min, max); - } - - - /* - * Configure global settings for a Decimal constructor. - * - * `obj` is an object with one or more of the following properties, - * - * precision {number} - * rounding {number} - * toExpNeg {number} - * toExpPos {number} - * maxE {number} - * minE {number} - * modulo {number} - * crypto {boolean|number} - * defaults {true} - * - * E.g. Decimal.config({ precision: 20, rounding: 4 }) - * - */ - function config(obj) { - if (!obj || typeof obj !== 'object') throw Error(decimalError + 'Object expected'); - var i, p, v, - useDefaults = obj.defaults === true, - ps = [ - 'precision', 1, MAX_DIGITS, - 'rounding', 0, 8, - 'toExpNeg', -EXP_LIMIT, 0, - 'toExpPos', 0, EXP_LIMIT, - 'maxE', 0, EXP_LIMIT, - 'minE', -EXP_LIMIT, 0, - 'modulo', 0, 9 - ]; - - for (i = 0; i < ps.length; i += 3) { - if (p = ps[i], useDefaults) this[p] = DEFAULTS[p]; - if ((v = obj[p]) !== void 0) { - if (mathfloor(v) === v && v >= ps[i + 1] && v <= ps[i + 2]) this[p] = v; - else throw Error(invalidArgument + p + ': ' + v); - } - } - - if (p = 'crypto', useDefaults) this[p] = DEFAULTS[p]; - if ((v = obj[p]) !== void 0) { - if (v === true || v === false || v === 0 || v === 1) { - if (v) { - if (typeof crypto != 'undefined' && crypto && - (crypto.getRandomValues || crypto.randomBytes)) { - this[p] = true; - } else { - throw Error(cryptoUnavailable); - } - } else { - this[p] = false; - } - } else { - throw Error(invalidArgument + p + ': ' + v); - } - } - - return this; - } - - - /* - * Return a new Decimal whose value is the cosine of `x`, rounded to `precision` significant - * digits using rounding mode `rounding`. - * - * x {number|string|Decimal} A value in radians. - * - */ - function cos(x) { - return new this(x).cos(); - } - - - /* - * Return a new Decimal whose value is the hyperbolic cosine of `x`, rounded to precision - * significant digits using rounding mode `rounding`. - * - * x {number|string|Decimal} A value in radians. - * - */ - function cosh(x) { - return new this(x).cosh(); - } - - - /* - * Create and return a Decimal constructor with the same configuration properties as this Decimal - * constructor. - * - */ - function clone(obj) { - var i, p, ps; - - /* - * The Decimal constructor and exported function. - * Return a new Decimal instance. - * - * v {number|string|Decimal} A numeric value. - * - */ - function Decimal(v) { - var e, i, t, - x = this; - - // Decimal called without new. - if (!(x instanceof Decimal)) return new Decimal(v); - - // Retain a reference to this Decimal constructor, and shadow Decimal.prototype.constructor - // which points to Object. - x.constructor = Decimal; - - // Duplicate. - if (isDecimalInstance(v)) { - x.s = v.s; - - if (external) { - if (!v.d || v.e > Decimal.maxE) { - - // Infinity. - x.e = NaN; - x.d = null; - } else if (v.e < Decimal.minE) { - - // Zero. - x.e = 0; - x.d = [0]; - } else { - x.e = v.e; - x.d = v.d.slice(); - } - } else { - x.e = v.e; - x.d = v.d ? v.d.slice() : v.d; - } - - return; - } - - t = typeof v; - - if (t === 'number') { - if (v === 0) { - x.s = 1 / v < 0 ? -1 : 1; - x.e = 0; - x.d = [0]; - return; - } - - if (v < 0) { - v = -v; - x.s = -1; - } else { - x.s = 1; - } - - // Fast path for small integers. - if (v === ~~v && v < 1e7) { - for (e = 0, i = v; i >= 10; i /= 10) e++; - - if (external) { - if (e > Decimal.maxE) { - x.e = NaN; - x.d = null; - } else if (e < Decimal.minE) { - x.e = 0; - x.d = [0]; - } else { - x.e = e; - x.d = [v]; - } - } else { - x.e = e; - x.d = [v]; - } - - return; - - // Infinity, NaN. - } else if (v * 0 !== 0) { - if (!v) x.s = NaN; - x.e = NaN; - x.d = null; - return; - } - - return parseDecimal(x, v.toString()); - - } else if (t !== 'string') { - throw Error(invalidArgument + v); - } - - // Minus sign? - if ((i = v.charCodeAt(0)) === 45) { - v = v.slice(1); - x.s = -1; - } else { - // Plus sign? - if (i === 43) v = v.slice(1); - x.s = 1; - } - - return isDecimal.test(v) ? parseDecimal(x, v) : parseOther(x, v); - } - - Decimal.prototype = P; - - Decimal.ROUND_UP = 0; - Decimal.ROUND_DOWN = 1; - Decimal.ROUND_CEIL = 2; - Decimal.ROUND_FLOOR = 3; - Decimal.ROUND_HALF_UP = 4; - Decimal.ROUND_HALF_DOWN = 5; - Decimal.ROUND_HALF_EVEN = 6; - Decimal.ROUND_HALF_CEIL = 7; - Decimal.ROUND_HALF_FLOOR = 8; - Decimal.EUCLID = 9; - - Decimal.config = Decimal.set = config; - Decimal.clone = clone; - Decimal.isDecimal = isDecimalInstance; - - Decimal.abs = abs; - Decimal.acos = acos; - Decimal.acosh = acosh; // ES6 - Decimal.add = add; - Decimal.asin = asin; - Decimal.asinh = asinh; // ES6 - Decimal.atan = atan; - Decimal.atanh = atanh; // ES6 - Decimal.atan2 = atan2; - Decimal.cbrt = cbrt; // ES6 - Decimal.ceil = ceil; - Decimal.clamp = clamp; - Decimal.cos = cos; - Decimal.cosh = cosh; // ES6 - Decimal.div = div; - Decimal.exp = exp; - Decimal.floor = floor; - Decimal.hypot = hypot; // ES6 - Decimal.ln = ln; - Decimal.log = log; - Decimal.log10 = log10; // ES6 - Decimal.log2 = log2; // ES6 - Decimal.max = max; - Decimal.min = min; - Decimal.mod = mod; - Decimal.mul = mul; - Decimal.pow = pow; - Decimal.random = random; - Decimal.round = round; - Decimal.sign = sign; // ES6 - Decimal.sin = sin; - Decimal.sinh = sinh; // ES6 - Decimal.sqrt = sqrt; - Decimal.sub = sub; - Decimal.sum = sum; - Decimal.tan = tan; - Decimal.tanh = tanh; // ES6 - Decimal.trunc = trunc; // ES6 - - if (obj === void 0) obj = {}; - if (obj) { - if (obj.defaults !== true) { - ps = ['precision', 'rounding', 'toExpNeg', 'toExpPos', 'maxE', 'minE', 'modulo', 'crypto']; - for (i = 0; i < ps.length;) if (!obj.hasOwnProperty(p = ps[i++])) obj[p] = this[p]; - } - } - - Decimal.config(obj); - - return Decimal; - } - - - /* - * Return a new Decimal whose value is `x` divided by `y`, rounded to `precision` significant - * digits using rounding mode `rounding`. - * - * x {number|string|Decimal} - * y {number|string|Decimal} - * - */ - function div(x, y) { - return new this(x).div(y); - } - - - /* - * Return a new Decimal whose value is the natural exponential of `x`, rounded to `precision` - * significant digits using rounding mode `rounding`. - * - * x {number|string|Decimal} The power to which to raise the base of the natural log. - * - */ - function exp(x) { - return new this(x).exp(); - } - - - /* - * Return a new Decimal whose value is `x` round to an integer using `ROUND_FLOOR`. - * - * x {number|string|Decimal} - * - */ - function floor(x) { - return finalise(x = new this(x), x.e + 1, 3); - } - - - /* - * Return a new Decimal whose value is the square root of the sum of the squares of the arguments, - * rounded to `precision` significant digits using rounding mode `rounding`. - * - * hypot(a, b, ...) = sqrt(a^2 + b^2 + ...) - * - * arguments {number|string|Decimal} - * - */ - function hypot() { - var i, n, - t = new this(0); - - external = false; - - for (i = 0; i < arguments.length;) { - n = new this(arguments[i++]); - if (!n.d) { - if (n.s) { - external = true; - return new this(1 / 0); - } - t = n; - } else if (t.d) { - t = t.plus(n.times(n)); - } - } - - external = true; - - return t.sqrt(); - } - - - /* - * Return true if object is a Decimal instance (where Decimal is any Decimal constructor), - * otherwise return false. - * - */ - function isDecimalInstance(obj) { - return obj instanceof Decimal || obj && obj.toStringTag === tag || false; - } - - - /* - * Return a new Decimal whose value is the natural logarithm of `x`, rounded to `precision` - * significant digits using rounding mode `rounding`. - * - * x {number|string|Decimal} - * - */ - function ln(x) { - return new this(x).ln(); - } - - - /* - * Return a new Decimal whose value is the log of `x` to the base `y`, or to base 10 if no base - * is specified, rounded to `precision` significant digits using rounding mode `rounding`. - * - * log[y](x) - * - * x {number|string|Decimal} The argument of the logarithm. - * y {number|string|Decimal} The base of the logarithm. - * - */ - function log(x, y) { - return new this(x).log(y); - } - - - /* - * Return a new Decimal whose value is the base 2 logarithm of `x`, rounded to `precision` - * significant digits using rounding mode `rounding`. - * - * x {number|string|Decimal} - * - */ - function log2(x) { - return new this(x).log(2); - } - - - /* - * Return a new Decimal whose value is the base 10 logarithm of `x`, rounded to `precision` - * significant digits using rounding mode `rounding`. - * - * x {number|string|Decimal} - * - */ - function log10(x) { - return new this(x).log(10); - } - - - /* - * Return a new Decimal whose value is the maximum of the arguments. - * - * arguments {number|string|Decimal} - * - */ - function max() { - return maxOrMin(this, arguments, 'lt'); - } - - - /* - * Return a new Decimal whose value is the minimum of the arguments. - * - * arguments {number|string|Decimal} - * - */ - function min() { - return maxOrMin(this, arguments, 'gt'); - } - - - /* - * Return a new Decimal whose value is `x` modulo `y`, rounded to `precision` significant digits - * using rounding mode `rounding`. - * - * x {number|string|Decimal} - * y {number|string|Decimal} - * - */ - function mod(x, y) { - return new this(x).mod(y); - } - - - /* - * Return a new Decimal whose value is `x` multiplied by `y`, rounded to `precision` significant - * digits using rounding mode `rounding`. - * - * x {number|string|Decimal} - * y {number|string|Decimal} - * - */ - function mul(x, y) { - return new this(x).mul(y); - } - - - /* - * Return a new Decimal whose value is `x` raised to the power `y`, rounded to precision - * significant digits using rounding mode `rounding`. - * - * x {number|string|Decimal} The base. - * y {number|string|Decimal} The exponent. - * - */ - function pow(x, y) { - return new this(x).pow(y); - } - - - /* - * Returns a new Decimal with a random value equal to or greater than 0 and less than 1, and with - * `sd`, or `Decimal.precision` if `sd` is omitted, significant digits (or less if trailing zeros - * are produced). - * - * [sd] {number} Significant digits. Integer, 0 to MAX_DIGITS inclusive. - * - */ - function random(sd) { - var d, e, k, n, - i = 0, - r = new this(1), - rd = []; - - if (sd === void 0) sd = this.precision; - else checkInt32(sd, 1, MAX_DIGITS); - - k = Math.ceil(sd / LOG_BASE); - - if (!this.crypto) { - for (; i < k;) rd[i++] = Math.random() * 1e7 | 0; - - // Browsers supporting crypto.getRandomValues. - } else if (crypto.getRandomValues) { - d = crypto.getRandomValues(new Uint32Array(k)); - - for (; i < k;) { - n = d[i]; - - // 0 <= n < 4294967296 - // Probability n >= 4.29e9, is 4967296 / 4294967296 = 0.00116 (1 in 865). - if (n >= 4.29e9) { - d[i] = crypto.getRandomValues(new Uint32Array(1))[0]; - } else { - - // 0 <= n <= 4289999999 - // 0 <= (n % 1e7) <= 9999999 - rd[i++] = n % 1e7; - } - } - - // Node.js supporting crypto.randomBytes. - } else if (crypto.randomBytes) { - - // buffer - d = crypto.randomBytes(k *= 4); - - for (; i < k;) { - - // 0 <= n < 2147483648 - n = d[i] + (d[i + 1] << 8) + (d[i + 2] << 16) + ((d[i + 3] & 0x7f) << 24); - - // Probability n >= 2.14e9, is 7483648 / 2147483648 = 0.0035 (1 in 286). - if (n >= 2.14e9) { - crypto.randomBytes(4).copy(d, i); - } else { - - // 0 <= n <= 2139999999 - // 0 <= (n % 1e7) <= 9999999 - rd.push(n % 1e7); - i += 4; - } - } - - i = k / 4; - } else { - throw Error(cryptoUnavailable); - } - - k = rd[--i]; - sd %= LOG_BASE; - - // Convert trailing digits to zeros according to sd. - if (k && sd) { - n = mathpow(10, LOG_BASE - sd); - rd[i] = (k / n | 0) * n; - } - - // Remove trailing words which are zero. - for (; rd[i] === 0; i--) rd.pop(); - - // Zero? - if (i < 0) { - e = 0; - rd = [0]; - } else { - e = -1; - - // Remove leading words which are zero and adjust exponent accordingly. - for (; rd[0] === 0; e -= LOG_BASE) rd.shift(); - - // Count the digits of the first word of rd to determine leading zeros. - for (k = 1, n = rd[0]; n >= 10; n /= 10) k++; - - // Adjust the exponent for leading zeros of the first word of rd. - if (k < LOG_BASE) e -= LOG_BASE - k; - } - - r.e = e; - r.d = rd; - - return r; - } - - - /* - * Return a new Decimal whose value is `x` rounded to an integer using rounding mode `rounding`. - * - * To emulate `Math.round`, set rounding to 7 (ROUND_HALF_CEIL). - * - * x {number|string|Decimal} - * - */ - function round(x) { - return finalise(x = new this(x), x.e + 1, this.rounding); - } - - - /* - * Return - * 1 if x > 0, - * -1 if x < 0, - * 0 if x is 0, - * -0 if x is -0, - * NaN otherwise - * - * x {number|string|Decimal} - * - */ - function sign(x) { - x = new this(x); - return x.d ? (x.d[0] ? x.s : 0 * x.s) : x.s || NaN; - } - - - /* - * Return a new Decimal whose value is the sine of `x`, rounded to `precision` significant digits - * using rounding mode `rounding`. - * - * x {number|string|Decimal} A value in radians. - * - */ - function sin(x) { - return new this(x).sin(); - } - - - /* - * Return a new Decimal whose value is the hyperbolic sine of `x`, rounded to `precision` - * significant digits using rounding mode `rounding`. - * - * x {number|string|Decimal} A value in radians. - * - */ - function sinh(x) { - return new this(x).sinh(); - } - - - /* - * Return a new Decimal whose value is the square root of `x`, rounded to `precision` significant - * digits using rounding mode `rounding`. - * - * x {number|string|Decimal} - * - */ - function sqrt(x) { - return new this(x).sqrt(); - } - - - /* - * Return a new Decimal whose value is `x` minus `y`, rounded to `precision` significant digits - * using rounding mode `rounding`. - * - * x {number|string|Decimal} - * y {number|string|Decimal} - * - */ - function sub(x, y) { - return new this(x).sub(y); - } - - - /* - * Return a new Decimal whose value is the sum of the arguments, rounded to `precision` - * significant digits using rounding mode `rounding`. - * - * Only the result is rounded, not the intermediate calculations. - * - * arguments {number|string|Decimal} - * - */ - function sum() { - var i = 0, - args = arguments, - x = new this(args[i]); - - external = false; - for (; x.s && ++i < args.length;) x = x.plus(args[i]); - external = true; - - return finalise(x, this.precision, this.rounding); - } - - - /* - * Return a new Decimal whose value is the tangent of `x`, rounded to `precision` significant - * digits using rounding mode `rounding`. - * - * x {number|string|Decimal} A value in radians. - * - */ - function tan(x) { - return new this(x).tan(); - } - - - /* - * Return a new Decimal whose value is the hyperbolic tangent of `x`, rounded to `precision` - * significant digits using rounding mode `rounding`. - * - * x {number|string|Decimal} A value in radians. - * - */ - function tanh(x) { - return new this(x).tanh(); - } - - - /* - * Return a new Decimal whose value is `x` truncated to an integer. - * - * x {number|string|Decimal} - * - */ - function trunc(x) { - return finalise(x = new this(x), x.e + 1, 1); - } - - - // Create and configure initial Decimal constructor. - Decimal = clone(DEFAULTS); - Decimal.prototype.constructor = Decimal; - Decimal['default'] = Decimal.Decimal = Decimal; - - // Create the internal constants from their string values. - LN10 = new Decimal(LN10); - PI = new Decimal(PI); - - - // Export. - - - // AMD. - if (typeof define == 'function' && define.amd) { - define(function () { - return Decimal; - }); - - // Node and other environments that support module.exports. - } else if ( true && module.exports) { - if (typeof Symbol == 'function' && typeof Symbol.iterator == 'symbol') { - P[Symbol['for']('nodejs.util.inspect.custom')] = P.toString; - P[Symbol.toStringTag] = 'Decimal'; - } - - module.exports = Decimal; - - // Browser. - } else { - if (!globalScope) { - globalScope = typeof self != 'undefined' && self && self.self == self ? self : window; - } - - noConflict = globalScope.Decimal; - Decimal.noConflict = function () { - globalScope.Decimal = noConflict; - return Decimal; - }; - - globalScope.Decimal = Decimal; - } -})(this); - - -/***/ }), - -/***/ 26437: -/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { - -var Stream = (__nccwpck_require__(2203).Stream); -var util = __nccwpck_require__(39023); - -module.exports = DelayedStream; -function DelayedStream() { - this.source = null; - this.dataSize = 0; - this.maxDataSize = 1024 * 1024; - this.pauseStream = true; - - this._maxDataSizeExceeded = false; - this._released = false; - this._bufferedEvents = []; -} -util.inherits(DelayedStream, Stream); - -DelayedStream.create = function(source, options) { - var delayedStream = new this(); - - options = options || {}; - for (var option in options) { - delayedStream[option] = options[option]; - } - - delayedStream.source = source; - - var realEmit = source.emit; - source.emit = function() { - delayedStream._handleEmit(arguments); - return realEmit.apply(source, arguments); - }; - - source.on('error', function() {}); - if (delayedStream.pauseStream) { - source.pause(); - } - - return delayedStream; -}; - -Object.defineProperty(DelayedStream.prototype, 'readable', { - configurable: true, - enumerable: true, - get: function() { - return this.source.readable; - } -}); - -DelayedStream.prototype.setEncoding = function() { - return this.source.setEncoding.apply(this.source, arguments); -}; - -DelayedStream.prototype.resume = function() { - if (!this._released) { - this.release(); - } - - this.source.resume(); -}; - -DelayedStream.prototype.pause = function() { - this.source.pause(); -}; - -DelayedStream.prototype.release = function() { - this._released = true; - - this._bufferedEvents.forEach(function(args) { - this.emit.apply(this, args); - }.bind(this)); - this._bufferedEvents = []; -}; - -DelayedStream.prototype.pipe = function() { - var r = Stream.prototype.pipe.apply(this, arguments); - this.resume(); - return r; -}; - -DelayedStream.prototype._handleEmit = function(args) { - if (this._released) { - this.emit.apply(this, args); - return; - } - - if (args[0] === 'data') { - this.dataSize += args[1].length; - this._checkIfMaxDataSizeExceeded(); - } - - this._bufferedEvents.push(args); -}; - -DelayedStream.prototype._checkIfMaxDataSizeExceeded = function() { - if (this._maxDataSizeExceeded) { - return; - } - - if (this.dataSize <= this.maxDataSize) { - return; - } - - this._maxDataSizeExceeded = true; - var message = - 'DelayedStream#maxDataSize of ' + this.maxDataSize + ' bytes exceeded.' - this.emit('error', new Error(message)); -}; - - -/***/ }), - -/***/ 94325: -/***/ ((__unused_webpack_module, exports) => { - - - -Object.defineProperty(exports, "__esModule", ({ value: true })); - -class Deprecation extends Error { - constructor(message) { - super(message); // Maintains proper stack trace (only available on V8) - - /* istanbul ignore next */ - - if (Error.captureStackTrace) { - Error.captureStackTrace(this, this.constructor); - } - - this.name = 'Deprecation'; - } - -} - -exports.Deprecation = Deprecation; - - -/***/ }), - -/***/ 36625: -/***/ ((__unused_webpack_module, __unused_webpack_exports, __nccwpck_require__) => { - -(function () { - (__nccwpck_require__(78806).config)( - Object.assign( - {}, - __nccwpck_require__(60007), - __nccwpck_require__(98910)(process.argv) - ) - ) -})() - - -/***/ }), - -/***/ 98910: -/***/ ((module) => { - -const re = /^dotenv_config_(encoding|path|debug|override|DOTENV_KEY)=(.+)$/ - -module.exports = function optionMatcher (args) { - return args.reduce(function (acc, cur) { - const matches = cur.match(re) - if (matches) { - acc[matches[1]] = matches[2] - } - return acc - }, {}) -} - - -/***/ }), - -/***/ 60007: -/***/ ((module) => { - -// ../config.js accepts options via environment variables -const options = {} - -if (process.env.DOTENV_CONFIG_ENCODING != null) { - options.encoding = process.env.DOTENV_CONFIG_ENCODING -} - -if (process.env.DOTENV_CONFIG_PATH != null) { - options.path = process.env.DOTENV_CONFIG_PATH -} - -if (process.env.DOTENV_CONFIG_DEBUG != null) { - options.debug = process.env.DOTENV_CONFIG_DEBUG -} - -if (process.env.DOTENV_CONFIG_OVERRIDE != null) { - options.override = process.env.DOTENV_CONFIG_OVERRIDE -} - -if (process.env.DOTENV_CONFIG_DOTENV_KEY != null) { - options.DOTENV_KEY = process.env.DOTENV_CONFIG_DOTENV_KEY -} - -module.exports = options - - -/***/ }), - -/***/ 78806: -/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { - -const fs = __nccwpck_require__(79896) -const path = __nccwpck_require__(16928) -const os = __nccwpck_require__(70857) -const crypto = __nccwpck_require__(76982) -const packageJson = __nccwpck_require__(80056) - -const version = packageJson.version - -const LINE = /(?:^|^)\s*(?:export\s+)?([\w.-]+)(?:\s*=\s*?|:\s+?)(\s*'(?:\\'|[^'])*'|\s*"(?:\\"|[^"])*"|\s*`(?:\\`|[^`])*`|[^#\r\n]+)?\s*(?:#.*)?(?:$|$)/mg - -// Parse src into an Object -function parse (src) { - const obj = {} - - // Convert buffer to string - let lines = src.toString() - - // Convert line breaks to same format - lines = lines.replace(/\r\n?/mg, '\n') - - let match - while ((match = LINE.exec(lines)) != null) { - const key = match[1] - - // Default undefined or null to empty string - let value = (match[2] || '') - - // Remove whitespace - value = value.trim() - - // Check if double quoted - const maybeQuote = value[0] - - // Remove surrounding quotes - value = value.replace(/^(['"`])([\s\S]*)\1$/mg, '$2') - - // Expand newlines if double quoted - if (maybeQuote === '"') { - value = value.replace(/\\n/g, '\n') - value = value.replace(/\\r/g, '\r') - } - - // Add to object - obj[key] = value - } - - return obj -} - -function _parseVault (options) { - const vaultPath = _vaultPath(options) - - // Parse .env.vault - const result = DotenvModule.configDotenv({ path: vaultPath }) - if (!result.parsed) { - const err = new Error(`MISSING_DATA: Cannot parse ${vaultPath} for an unknown reason`) - err.code = 'MISSING_DATA' - throw err - } - - // handle scenario for comma separated keys - for use with key rotation - // example: DOTENV_KEY="dotenv://:key_1234@dotenvx.com/vault/.env.vault?environment=prod,dotenv://:key_7890@dotenvx.com/vault/.env.vault?environment=prod" - const keys = _dotenvKey(options).split(',') - const length = keys.length - - let decrypted - for (let i = 0; i < length; i++) { - try { - // Get full key - const key = keys[i].trim() - - // Get instructions for decrypt - const attrs = _instructions(result, key) - - // Decrypt - decrypted = DotenvModule.decrypt(attrs.ciphertext, attrs.key) - - break - } catch (error) { - // last key - if (i + 1 >= length) { - throw error - } - // try next key - } - } - - // Parse decrypted .env string - return DotenvModule.parse(decrypted) -} - -function _log (message) { - console.log(`[dotenv@${version}][INFO] ${message}`) -} - -function _warn (message) { - console.log(`[dotenv@${version}][WARN] ${message}`) -} - -function _debug (message) { - console.log(`[dotenv@${version}][DEBUG] ${message}`) -} - -function _dotenvKey (options) { - // prioritize developer directly setting options.DOTENV_KEY - if (options && options.DOTENV_KEY && options.DOTENV_KEY.length > 0) { - return options.DOTENV_KEY - } - - // secondary infra already contains a DOTENV_KEY environment variable - if (process.env.DOTENV_KEY && process.env.DOTENV_KEY.length > 0) { - return process.env.DOTENV_KEY - } - - // fallback to empty string - return '' -} - -function _instructions (result, dotenvKey) { - // Parse DOTENV_KEY. Format is a URI - let uri - try { - uri = new URL(dotenvKey) - } catch (error) { - if (error.code === 'ERR_INVALID_URL') { - const err = new Error('INVALID_DOTENV_KEY: Wrong format. Must be in valid uri format like dotenv://:key_1234@dotenvx.com/vault/.env.vault?environment=development') - err.code = 'INVALID_DOTENV_KEY' - throw err - } - - throw error - } - - // Get decrypt key - const key = uri.password - if (!key) { - const err = new Error('INVALID_DOTENV_KEY: Missing key part') - err.code = 'INVALID_DOTENV_KEY' - throw err - } - - // Get environment - const environment = uri.searchParams.get('environment') - if (!environment) { - const err = new Error('INVALID_DOTENV_KEY: Missing environment part') - err.code = 'INVALID_DOTENV_KEY' - throw err - } - - // Get ciphertext payload - const environmentKey = `DOTENV_VAULT_${environment.toUpperCase()}` - const ciphertext = result.parsed[environmentKey] // DOTENV_VAULT_PRODUCTION - if (!ciphertext) { - const err = new Error(`NOT_FOUND_DOTENV_ENVIRONMENT: Cannot locate environment ${environmentKey} in your .env.vault file.`) - err.code = 'NOT_FOUND_DOTENV_ENVIRONMENT' - throw err - } - - return { ciphertext, key } -} - -function _vaultPath (options) { - let possibleVaultPath = null - - if (options && options.path && options.path.length > 0) { - if (Array.isArray(options.path)) { - for (const filepath of options.path) { - if (fs.existsSync(filepath)) { - possibleVaultPath = filepath.endsWith('.vault') ? filepath : `${filepath}.vault` - } - } - } else { - possibleVaultPath = options.path.endsWith('.vault') ? options.path : `${options.path}.vault` - } - } else { - possibleVaultPath = path.resolve(process.cwd(), '.env.vault') - } - - if (fs.existsSync(possibleVaultPath)) { - return possibleVaultPath - } - - return null -} - -function _resolveHome (envPath) { - return envPath[0] === '~' ? path.join(os.homedir(), envPath.slice(1)) : envPath -} - -function _configVault (options) { - _log('Loading env from encrypted .env.vault') - - const parsed = DotenvModule._parseVault(options) - - let processEnv = process.env - if (options && options.processEnv != null) { - processEnv = options.processEnv - } - - DotenvModule.populate(processEnv, parsed, options) - - return { parsed } -} - -function configDotenv (options) { - const dotenvPath = path.resolve(process.cwd(), '.env') - let encoding = 'utf8' - const debug = Boolean(options && options.debug) - - if (options && options.encoding) { - encoding = options.encoding - } else { - if (debug) { - _debug('No encoding is specified. UTF-8 is used by default') - } - } - - let optionPaths = [dotenvPath] // default, look for .env - if (options && options.path) { - if (!Array.isArray(options.path)) { - optionPaths = [_resolveHome(options.path)] - } else { - optionPaths = [] // reset default - for (const filepath of options.path) { - optionPaths.push(_resolveHome(filepath)) - } - } - } - - // Build the parsed data in a temporary object (because we need to return it). Once we have the final - // parsed data, we will combine it with process.env (or options.processEnv if provided). - let lastError - const parsedAll = {} - for (const path of optionPaths) { - try { - // Specifying an encoding returns a string instead of a buffer - const parsed = DotenvModule.parse(fs.readFileSync(path, { encoding })) - - DotenvModule.populate(parsedAll, parsed, options) - } catch (e) { - if (debug) { - _debug(`Failed to load ${path} ${e.message}`) - } - lastError = e - } - } - - let processEnv = process.env - if (options && options.processEnv != null) { - processEnv = options.processEnv - } - - DotenvModule.populate(processEnv, parsedAll, options) - - if (lastError) { - return { parsed: parsedAll, error: lastError } - } else { - return { parsed: parsedAll } - } -} - -// Populates process.env from .env file -function config (options) { - // fallback to original dotenv if DOTENV_KEY is not set - if (_dotenvKey(options).length === 0) { - return DotenvModule.configDotenv(options) - } - - const vaultPath = _vaultPath(options) - - // dotenvKey exists but .env.vault file does not exist - if (!vaultPath) { - _warn(`You set DOTENV_KEY but you are missing a .env.vault file at ${vaultPath}. Did you forget to build it?`) - - return DotenvModule.configDotenv(options) - } - - return DotenvModule._configVault(options) -} - -function decrypt (encrypted, keyStr) { - const key = Buffer.from(keyStr.slice(-64), 'hex') - let ciphertext = Buffer.from(encrypted, 'base64') - - const nonce = ciphertext.subarray(0, 12) - const authTag = ciphertext.subarray(-16) - ciphertext = ciphertext.subarray(12, -16) - - try { - const aesgcm = crypto.createDecipheriv('aes-256-gcm', key, nonce) - aesgcm.setAuthTag(authTag) - return `${aesgcm.update(ciphertext)}${aesgcm.final()}` - } catch (error) { - const isRange = error instanceof RangeError - const invalidKeyLength = error.message === 'Invalid key length' - const decryptionFailed = error.message === 'Unsupported state or unable to authenticate data' - - if (isRange || invalidKeyLength) { - const err = new Error('INVALID_DOTENV_KEY: It must be 64 characters long (or more)') - err.code = 'INVALID_DOTENV_KEY' - throw err - } else if (decryptionFailed) { - const err = new Error('DECRYPTION_FAILED: Please check your DOTENV_KEY') - err.code = 'DECRYPTION_FAILED' - throw err - } else { - throw error - } - } -} - -// Populate process.env with parsed values -function populate (processEnv, parsed, options = {}) { - const debug = Boolean(options && options.debug) - const override = Boolean(options && options.override) - - if (typeof parsed !== 'object') { - const err = new Error('OBJECT_REQUIRED: Please check the processEnv argument being passed to populate') - err.code = 'OBJECT_REQUIRED' - throw err - } - - // Set process.env - for (const key of Object.keys(parsed)) { - if (Object.prototype.hasOwnProperty.call(processEnv, key)) { - if (override === true) { - processEnv[key] = parsed[key] - } - - if (debug) { - if (override === true) { - _debug(`"${key}" is already defined and WAS overwritten`) - } else { - _debug(`"${key}" is already defined and was NOT overwritten`) - } - } - } else { - processEnv[key] = parsed[key] - } - } -} - -const DotenvModule = { - configDotenv, - _configVault, - _parseVault, - config, - decrypt, - parse, - populate -} - -module.exports.configDotenv = DotenvModule.configDotenv -module.exports._configVault = DotenvModule._configVault -module.exports._parseVault = DotenvModule._parseVault -module.exports.config = DotenvModule.config -module.exports.decrypt = DotenvModule.decrypt -module.exports.parse = DotenvModule.parse -module.exports.populate = DotenvModule.populate - -module.exports = DotenvModule - - -/***/ }), - -/***/ 4665: -/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { - - - -var elliptic = exports; - -elliptic.version = (__nccwpck_require__(1636)/* .version */ .rE); -elliptic.utils = __nccwpck_require__(27027); -elliptic.rand = __nccwpck_require__(84621); -elliptic.curve = __nccwpck_require__(89294); -elliptic.curves = __nccwpck_require__(60304); - -// Protocols -elliptic.ec = __nccwpck_require__(9495); -elliptic.eddsa = __nccwpck_require__(2298); - - -/***/ }), - -/***/ 13237: -/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { - - - -var BN = __nccwpck_require__(70234); -var utils = __nccwpck_require__(27027); -var getNAF = utils.getNAF; -var getJSF = utils.getJSF; -var assert = utils.assert; - -function BaseCurve(type, conf) { - this.type = type; - this.p = new BN(conf.p, 16); - - // Use Montgomery, when there is no fast reduction for the prime - this.red = conf.prime ? BN.red(conf.prime) : BN.mont(this.p); - - // Useful for many curves - this.zero = new BN(0).toRed(this.red); - this.one = new BN(1).toRed(this.red); - this.two = new BN(2).toRed(this.red); - - // Curve configuration, optional - this.n = conf.n && new BN(conf.n, 16); - this.g = conf.g && this.pointFromJSON(conf.g, conf.gRed); - - // Temporary arrays - this._wnafT1 = new Array(4); - this._wnafT2 = new Array(4); - this._wnafT3 = new Array(4); - this._wnafT4 = new Array(4); - - this._bitLength = this.n ? this.n.bitLength() : 0; - - // Generalized Greg Maxwell's trick - var adjustCount = this.n && this.p.div(this.n); - if (!adjustCount || adjustCount.cmpn(100) > 0) { - this.redN = null; - } else { - this._maxwellTrick = true; - this.redN = this.n.toRed(this.red); - } -} -module.exports = BaseCurve; - -BaseCurve.prototype.point = function point() { - throw new Error('Not implemented'); -}; - -BaseCurve.prototype.validate = function validate() { - throw new Error('Not implemented'); -}; - -BaseCurve.prototype._fixedNafMul = function _fixedNafMul(p, k) { - assert(p.precomputed); - var doubles = p._getDoubles(); - - var naf = getNAF(k, 1, this._bitLength); - var I = (1 << (doubles.step + 1)) - (doubles.step % 2 === 0 ? 2 : 1); - I /= 3; - - // Translate into more windowed form - var repr = []; - var j; - var nafW; - for (j = 0; j < naf.length; j += doubles.step) { - nafW = 0; - for (var l = j + doubles.step - 1; l >= j; l--) - nafW = (nafW << 1) + naf[l]; - repr.push(nafW); - } - - var a = this.jpoint(null, null, null); - var b = this.jpoint(null, null, null); - for (var i = I; i > 0; i--) { - for (j = 0; j < repr.length; j++) { - nafW = repr[j]; - if (nafW === i) - b = b.mixedAdd(doubles.points[j]); - else if (nafW === -i) - b = b.mixedAdd(doubles.points[j].neg()); - } - a = a.add(b); - } - return a.toP(); -}; - -BaseCurve.prototype._wnafMul = function _wnafMul(p, k) { - var w = 4; - - // Precompute window - var nafPoints = p._getNAFPoints(w); - w = nafPoints.wnd; - var wnd = nafPoints.points; - - // Get NAF form - var naf = getNAF(k, w, this._bitLength); - - // Add `this`*(N+1) for every w-NAF index - var acc = this.jpoint(null, null, null); - for (var i = naf.length - 1; i >= 0; i--) { - // Count zeroes - for (var l = 0; i >= 0 && naf[i] === 0; i--) - l++; - if (i >= 0) - l++; - acc = acc.dblp(l); - - if (i < 0) - break; - var z = naf[i]; - assert(z !== 0); - if (p.type === 'affine') { - // J +- P - if (z > 0) - acc = acc.mixedAdd(wnd[(z - 1) >> 1]); - else - acc = acc.mixedAdd(wnd[(-z - 1) >> 1].neg()); - } else { - // J +- J - if (z > 0) - acc = acc.add(wnd[(z - 1) >> 1]); - else - acc = acc.add(wnd[(-z - 1) >> 1].neg()); - } - } - return p.type === 'affine' ? acc.toP() : acc; -}; - -BaseCurve.prototype._wnafMulAdd = function _wnafMulAdd(defW, - points, - coeffs, - len, - jacobianResult) { - var wndWidth = this._wnafT1; - var wnd = this._wnafT2; - var naf = this._wnafT3; - - // Fill all arrays - var max = 0; - var i; - var j; - var p; - for (i = 0; i < len; i++) { - p = points[i]; - var nafPoints = p._getNAFPoints(defW); - wndWidth[i] = nafPoints.wnd; - wnd[i] = nafPoints.points; - } - - // Comb small window NAFs - for (i = len - 1; i >= 1; i -= 2) { - var a = i - 1; - var b = i; - if (wndWidth[a] !== 1 || wndWidth[b] !== 1) { - naf[a] = getNAF(coeffs[a], wndWidth[a], this._bitLength); - naf[b] = getNAF(coeffs[b], wndWidth[b], this._bitLength); - max = Math.max(naf[a].length, max); - max = Math.max(naf[b].length, max); - continue; - } - - var comb = [ - points[a], /* 1 */ - null, /* 3 */ - null, /* 5 */ - points[b], /* 7 */ - ]; - - // Try to avoid Projective points, if possible - if (points[a].y.cmp(points[b].y) === 0) { - comb[1] = points[a].add(points[b]); - comb[2] = points[a].toJ().mixedAdd(points[b].neg()); - } else if (points[a].y.cmp(points[b].y.redNeg()) === 0) { - comb[1] = points[a].toJ().mixedAdd(points[b]); - comb[2] = points[a].add(points[b].neg()); - } else { - comb[1] = points[a].toJ().mixedAdd(points[b]); - comb[2] = points[a].toJ().mixedAdd(points[b].neg()); - } - - var index = [ - -3, /* -1 -1 */ - -1, /* -1 0 */ - -5, /* -1 1 */ - -7, /* 0 -1 */ - 0, /* 0 0 */ - 7, /* 0 1 */ - 5, /* 1 -1 */ - 1, /* 1 0 */ - 3, /* 1 1 */ - ]; - - var jsf = getJSF(coeffs[a], coeffs[b]); - max = Math.max(jsf[0].length, max); - naf[a] = new Array(max); - naf[b] = new Array(max); - for (j = 0; j < max; j++) { - var ja = jsf[0][j] | 0; - var jb = jsf[1][j] | 0; - - naf[a][j] = index[(ja + 1) * 3 + (jb + 1)]; - naf[b][j] = 0; - wnd[a] = comb; - } - } - - var acc = this.jpoint(null, null, null); - var tmp = this._wnafT4; - for (i = max; i >= 0; i--) { - var k = 0; - - while (i >= 0) { - var zero = true; - for (j = 0; j < len; j++) { - tmp[j] = naf[j][i] | 0; - if (tmp[j] !== 0) - zero = false; - } - if (!zero) - break; - k++; - i--; - } - if (i >= 0) - k++; - acc = acc.dblp(k); - if (i < 0) - break; - - for (j = 0; j < len; j++) { - var z = tmp[j]; - p; - if (z === 0) - continue; - else if (z > 0) - p = wnd[j][(z - 1) >> 1]; - else if (z < 0) - p = wnd[j][(-z - 1) >> 1].neg(); - - if (p.type === 'affine') - acc = acc.mixedAdd(p); - else - acc = acc.add(p); - } - } - // Zeroify references - for (i = 0; i < len; i++) - wnd[i] = null; - - if (jacobianResult) - return acc; - else - return acc.toP(); -}; - -function BasePoint(curve, type) { - this.curve = curve; - this.type = type; - this.precomputed = null; -} -BaseCurve.BasePoint = BasePoint; - -BasePoint.prototype.eq = function eq(/*other*/) { - throw new Error('Not implemented'); -}; - -BasePoint.prototype.validate = function validate() { - return this.curve.validate(this); -}; - -BaseCurve.prototype.decodePoint = function decodePoint(bytes, enc) { - bytes = utils.toArray(bytes, enc); - - var len = this.p.byteLength(); - - // uncompressed, hybrid-odd, hybrid-even - if ((bytes[0] === 0x04 || bytes[0] === 0x06 || bytes[0] === 0x07) && - bytes.length - 1 === 2 * len) { - if (bytes[0] === 0x06) - assert(bytes[bytes.length - 1] % 2 === 0); - else if (bytes[0] === 0x07) - assert(bytes[bytes.length - 1] % 2 === 1); - - var res = this.point(bytes.slice(1, 1 + len), - bytes.slice(1 + len, 1 + 2 * len)); - - return res; - } else if ((bytes[0] === 0x02 || bytes[0] === 0x03) && - bytes.length - 1 === len) { - return this.pointFromX(bytes.slice(1, 1 + len), bytes[0] === 0x03); - } - throw new Error('Unknown point format'); -}; - -BasePoint.prototype.encodeCompressed = function encodeCompressed(enc) { - return this.encode(enc, true); -}; - -BasePoint.prototype._encode = function _encode(compact) { - var len = this.curve.p.byteLength(); - var x = this.getX().toArray('be', len); - - if (compact) - return [ this.getY().isEven() ? 0x02 : 0x03 ].concat(x); - - return [ 0x04 ].concat(x, this.getY().toArray('be', len)); -}; - -BasePoint.prototype.encode = function encode(enc, compact) { - return utils.encode(this._encode(compact), enc); -}; - -BasePoint.prototype.precompute = function precompute(power) { - if (this.precomputed) - return this; - - var precomputed = { - doubles: null, - naf: null, - beta: null, - }; - precomputed.naf = this._getNAFPoints(8); - precomputed.doubles = this._getDoubles(4, power); - precomputed.beta = this._getBeta(); - this.precomputed = precomputed; - - return this; -}; - -BasePoint.prototype._hasDoubles = function _hasDoubles(k) { - if (!this.precomputed) - return false; - - var doubles = this.precomputed.doubles; - if (!doubles) - return false; - - return doubles.points.length >= Math.ceil((k.bitLength() + 1) / doubles.step); -}; - -BasePoint.prototype._getDoubles = function _getDoubles(step, power) { - if (this.precomputed && this.precomputed.doubles) - return this.precomputed.doubles; - - var doubles = [ this ]; - var acc = this; - for (var i = 0; i < power; i += step) { - for (var j = 0; j < step; j++) - acc = acc.dbl(); - doubles.push(acc); - } - return { - step: step, - points: doubles, - }; -}; - -BasePoint.prototype._getNAFPoints = function _getNAFPoints(wnd) { - if (this.precomputed && this.precomputed.naf) - return this.precomputed.naf; - - var res = [ this ]; - var max = (1 << wnd) - 1; - var dbl = max === 1 ? null : this.dbl(); - for (var i = 1; i < max; i++) - res[i] = res[i - 1].add(dbl); - return { - wnd: wnd, - points: res, - }; -}; - -BasePoint.prototype._getBeta = function _getBeta() { - return null; -}; - -BasePoint.prototype.dblp = function dblp(k) { - var r = this; - for (var i = 0; i < k; i++) - r = r.dbl(); - return r; -}; - - -/***/ }), - -/***/ 95858: -/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { - - - -var utils = __nccwpck_require__(27027); -var BN = __nccwpck_require__(70234); -var inherits = __nccwpck_require__(17025); -var Base = __nccwpck_require__(13237); - -var assert = utils.assert; - -function EdwardsCurve(conf) { - // NOTE: Important as we are creating point in Base.call() - this.twisted = (conf.a | 0) !== 1; - this.mOneA = this.twisted && (conf.a | 0) === -1; - this.extended = this.mOneA; - - Base.call(this, 'edwards', conf); - - this.a = new BN(conf.a, 16).umod(this.red.m); - this.a = this.a.toRed(this.red); - this.c = new BN(conf.c, 16).toRed(this.red); - this.c2 = this.c.redSqr(); - this.d = new BN(conf.d, 16).toRed(this.red); - this.dd = this.d.redAdd(this.d); - - assert(!this.twisted || this.c.fromRed().cmpn(1) === 0); - this.oneC = (conf.c | 0) === 1; -} -inherits(EdwardsCurve, Base); -module.exports = EdwardsCurve; - -EdwardsCurve.prototype._mulA = function _mulA(num) { - if (this.mOneA) - return num.redNeg(); - else - return this.a.redMul(num); -}; - -EdwardsCurve.prototype._mulC = function _mulC(num) { - if (this.oneC) - return num; - else - return this.c.redMul(num); -}; - -// Just for compatibility with Short curve -EdwardsCurve.prototype.jpoint = function jpoint(x, y, z, t) { - return this.point(x, y, z, t); -}; - -EdwardsCurve.prototype.pointFromX = function pointFromX(x, odd) { - x = new BN(x, 16); - if (!x.red) - x = x.toRed(this.red); - - var x2 = x.redSqr(); - var rhs = this.c2.redSub(this.a.redMul(x2)); - var lhs = this.one.redSub(this.c2.redMul(this.d).redMul(x2)); - - var y2 = rhs.redMul(lhs.redInvm()); - var y = y2.redSqrt(); - if (y.redSqr().redSub(y2).cmp(this.zero) !== 0) - throw new Error('invalid point'); - - var isOdd = y.fromRed().isOdd(); - if (odd && !isOdd || !odd && isOdd) - y = y.redNeg(); - - return this.point(x, y); -}; - -EdwardsCurve.prototype.pointFromY = function pointFromY(y, odd) { - y = new BN(y, 16); - if (!y.red) - y = y.toRed(this.red); - - // x^2 = (y^2 - c^2) / (c^2 d y^2 - a) - var y2 = y.redSqr(); - var lhs = y2.redSub(this.c2); - var rhs = y2.redMul(this.d).redMul(this.c2).redSub(this.a); - var x2 = lhs.redMul(rhs.redInvm()); - - if (x2.cmp(this.zero) === 0) { - if (odd) - throw new Error('invalid point'); - else - return this.point(this.zero, y); - } - - var x = x2.redSqrt(); - if (x.redSqr().redSub(x2).cmp(this.zero) !== 0) - throw new Error('invalid point'); - - if (x.fromRed().isOdd() !== odd) - x = x.redNeg(); - - return this.point(x, y); -}; - -EdwardsCurve.prototype.validate = function validate(point) { - if (point.isInfinity()) - return true; - - // Curve: A * X^2 + Y^2 = C^2 * (1 + D * X^2 * Y^2) - point.normalize(); - - var x2 = point.x.redSqr(); - var y2 = point.y.redSqr(); - var lhs = x2.redMul(this.a).redAdd(y2); - var rhs = this.c2.redMul(this.one.redAdd(this.d.redMul(x2).redMul(y2))); - - return lhs.cmp(rhs) === 0; -}; - -function Point(curve, x, y, z, t) { - Base.BasePoint.call(this, curve, 'projective'); - if (x === null && y === null && z === null) { - this.x = this.curve.zero; - this.y = this.curve.one; - this.z = this.curve.one; - this.t = this.curve.zero; - this.zOne = true; - } else { - this.x = new BN(x, 16); - this.y = new BN(y, 16); - this.z = z ? new BN(z, 16) : this.curve.one; - this.t = t && new BN(t, 16); - if (!this.x.red) - this.x = this.x.toRed(this.curve.red); - if (!this.y.red) - this.y = this.y.toRed(this.curve.red); - if (!this.z.red) - this.z = this.z.toRed(this.curve.red); - if (this.t && !this.t.red) - this.t = this.t.toRed(this.curve.red); - this.zOne = this.z === this.curve.one; - - // Use extended coordinates - if (this.curve.extended && !this.t) { - this.t = this.x.redMul(this.y); - if (!this.zOne) - this.t = this.t.redMul(this.z.redInvm()); - } - } -} -inherits(Point, Base.BasePoint); - -EdwardsCurve.prototype.pointFromJSON = function pointFromJSON(obj) { - return Point.fromJSON(this, obj); -}; - -EdwardsCurve.prototype.point = function point(x, y, z, t) { - return new Point(this, x, y, z, t); -}; - -Point.fromJSON = function fromJSON(curve, obj) { - return new Point(curve, obj[0], obj[1], obj[2]); -}; - -Point.prototype.inspect = function inspect() { - if (this.isInfinity()) - return ''; - return ''; -}; - -Point.prototype.isInfinity = function isInfinity() { - // XXX This code assumes that zero is always zero in red - return this.x.cmpn(0) === 0 && - (this.y.cmp(this.z) === 0 || - (this.zOne && this.y.cmp(this.curve.c) === 0)); -}; - -Point.prototype._extDbl = function _extDbl() { - // hyperelliptic.org/EFD/g1p/auto-twisted-extended-1.html - // #doubling-dbl-2008-hwcd - // 4M + 4S - - // A = X1^2 - var a = this.x.redSqr(); - // B = Y1^2 - var b = this.y.redSqr(); - // C = 2 * Z1^2 - var c = this.z.redSqr(); - c = c.redIAdd(c); - // D = a * A - var d = this.curve._mulA(a); - // E = (X1 + Y1)^2 - A - B - var e = this.x.redAdd(this.y).redSqr().redISub(a).redISub(b); - // G = D + B - var g = d.redAdd(b); - // F = G - C - var f = g.redSub(c); - // H = D - B - var h = d.redSub(b); - // X3 = E * F - var nx = e.redMul(f); - // Y3 = G * H - var ny = g.redMul(h); - // T3 = E * H - var nt = e.redMul(h); - // Z3 = F * G - var nz = f.redMul(g); - return this.curve.point(nx, ny, nz, nt); -}; - -Point.prototype._projDbl = function _projDbl() { - // hyperelliptic.org/EFD/g1p/auto-twisted-projective.html - // #doubling-dbl-2008-bbjlp - // #doubling-dbl-2007-bl - // and others - // Generally 3M + 4S or 2M + 4S - - // B = (X1 + Y1)^2 - var b = this.x.redAdd(this.y).redSqr(); - // C = X1^2 - var c = this.x.redSqr(); - // D = Y1^2 - var d = this.y.redSqr(); - - var nx; - var ny; - var nz; - var e; - var h; - var j; - if (this.curve.twisted) { - // E = a * C - e = this.curve._mulA(c); - // F = E + D - var f = e.redAdd(d); - if (this.zOne) { - // X3 = (B - C - D) * (F - 2) - nx = b.redSub(c).redSub(d).redMul(f.redSub(this.curve.two)); - // Y3 = F * (E - D) - ny = f.redMul(e.redSub(d)); - // Z3 = F^2 - 2 * F - nz = f.redSqr().redSub(f).redSub(f); - } else { - // H = Z1^2 - h = this.z.redSqr(); - // J = F - 2 * H - j = f.redSub(h).redISub(h); - // X3 = (B-C-D)*J - nx = b.redSub(c).redISub(d).redMul(j); - // Y3 = F * (E - D) - ny = f.redMul(e.redSub(d)); - // Z3 = F * J - nz = f.redMul(j); - } - } else { - // E = C + D - e = c.redAdd(d); - // H = (c * Z1)^2 - h = this.curve._mulC(this.z).redSqr(); - // J = E - 2 * H - j = e.redSub(h).redSub(h); - // X3 = c * (B - E) * J - nx = this.curve._mulC(b.redISub(e)).redMul(j); - // Y3 = c * E * (C - D) - ny = this.curve._mulC(e).redMul(c.redISub(d)); - // Z3 = E * J - nz = e.redMul(j); - } - return this.curve.point(nx, ny, nz); -}; - -Point.prototype.dbl = function dbl() { - if (this.isInfinity()) - return this; - - // Double in extended coordinates - if (this.curve.extended) - return this._extDbl(); - else - return this._projDbl(); -}; - -Point.prototype._extAdd = function _extAdd(p) { - // hyperelliptic.org/EFD/g1p/auto-twisted-extended-1.html - // #addition-add-2008-hwcd-3 - // 8M - - // A = (Y1 - X1) * (Y2 - X2) - var a = this.y.redSub(this.x).redMul(p.y.redSub(p.x)); - // B = (Y1 + X1) * (Y2 + X2) - var b = this.y.redAdd(this.x).redMul(p.y.redAdd(p.x)); - // C = T1 * k * T2 - var c = this.t.redMul(this.curve.dd).redMul(p.t); - // D = Z1 * 2 * Z2 - var d = this.z.redMul(p.z.redAdd(p.z)); - // E = B - A - var e = b.redSub(a); - // F = D - C - var f = d.redSub(c); - // G = D + C - var g = d.redAdd(c); - // H = B + A - var h = b.redAdd(a); - // X3 = E * F - var nx = e.redMul(f); - // Y3 = G * H - var ny = g.redMul(h); - // T3 = E * H - var nt = e.redMul(h); - // Z3 = F * G - var nz = f.redMul(g); - return this.curve.point(nx, ny, nz, nt); -}; - -Point.prototype._projAdd = function _projAdd(p) { - // hyperelliptic.org/EFD/g1p/auto-twisted-projective.html - // #addition-add-2008-bbjlp - // #addition-add-2007-bl - // 10M + 1S - - // A = Z1 * Z2 - var a = this.z.redMul(p.z); - // B = A^2 - var b = a.redSqr(); - // C = X1 * X2 - var c = this.x.redMul(p.x); - // D = Y1 * Y2 - var d = this.y.redMul(p.y); - // E = d * C * D - var e = this.curve.d.redMul(c).redMul(d); - // F = B - E - var f = b.redSub(e); - // G = B + E - var g = b.redAdd(e); - // X3 = A * F * ((X1 + Y1) * (X2 + Y2) - C - D) - var tmp = this.x.redAdd(this.y).redMul(p.x.redAdd(p.y)).redISub(c).redISub(d); - var nx = a.redMul(f).redMul(tmp); - var ny; - var nz; - if (this.curve.twisted) { - // Y3 = A * G * (D - a * C) - ny = a.redMul(g).redMul(d.redSub(this.curve._mulA(c))); - // Z3 = F * G - nz = f.redMul(g); - } else { - // Y3 = A * G * (D - C) - ny = a.redMul(g).redMul(d.redSub(c)); - // Z3 = c * F * G - nz = this.curve._mulC(f).redMul(g); - } - return this.curve.point(nx, ny, nz); -}; - -Point.prototype.add = function add(p) { - if (this.isInfinity()) - return p; - if (p.isInfinity()) - return this; - - if (this.curve.extended) - return this._extAdd(p); - else - return this._projAdd(p); -}; - -Point.prototype.mul = function mul(k) { - if (this._hasDoubles(k)) - return this.curve._fixedNafMul(this, k); - else - return this.curve._wnafMul(this, k); -}; - -Point.prototype.mulAdd = function mulAdd(k1, p, k2) { - return this.curve._wnafMulAdd(1, [ this, p ], [ k1, k2 ], 2, false); -}; - -Point.prototype.jmulAdd = function jmulAdd(k1, p, k2) { - return this.curve._wnafMulAdd(1, [ this, p ], [ k1, k2 ], 2, true); -}; - -Point.prototype.normalize = function normalize() { - if (this.zOne) - return this; - - // Normalize coordinates - var zi = this.z.redInvm(); - this.x = this.x.redMul(zi); - this.y = this.y.redMul(zi); - if (this.t) - this.t = this.t.redMul(zi); - this.z = this.curve.one; - this.zOne = true; - return this; -}; - -Point.prototype.neg = function neg() { - return this.curve.point(this.x.redNeg(), - this.y, - this.z, - this.t && this.t.redNeg()); -}; - -Point.prototype.getX = function getX() { - this.normalize(); - return this.x.fromRed(); -}; - -Point.prototype.getY = function getY() { - this.normalize(); - return this.y.fromRed(); -}; - -Point.prototype.eq = function eq(other) { - return this === other || - this.getX().cmp(other.getX()) === 0 && - this.getY().cmp(other.getY()) === 0; -}; - -Point.prototype.eqXToP = function eqXToP(x) { - var rx = x.toRed(this.curve.red).redMul(this.z); - if (this.x.cmp(rx) === 0) - return true; - - var xc = x.clone(); - var t = this.curve.redN.redMul(this.z); - for (;;) { - xc.iadd(this.curve.n); - if (xc.cmp(this.curve.p) >= 0) - return false; - - rx.redIAdd(t); - if (this.x.cmp(rx) === 0) - return true; - } -}; - -// Compatibility with BaseCurve -Point.prototype.toP = Point.prototype.normalize; -Point.prototype.mixedAdd = Point.prototype.add; - - -/***/ }), - -/***/ 89294: -/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { - - - -var curve = exports; - -curve.base = __nccwpck_require__(13237); -curve.short = __nccwpck_require__(60548); -curve.mont = __nccwpck_require__(54514); -curve.edwards = __nccwpck_require__(95858); - - -/***/ }), - -/***/ 54514: -/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { - - - -var BN = __nccwpck_require__(70234); -var inherits = __nccwpck_require__(17025); -var Base = __nccwpck_require__(13237); - -var utils = __nccwpck_require__(27027); - -function MontCurve(conf) { - Base.call(this, 'mont', conf); - - this.a = new BN(conf.a, 16).toRed(this.red); - this.b = new BN(conf.b, 16).toRed(this.red); - this.i4 = new BN(4).toRed(this.red).redInvm(); - this.two = new BN(2).toRed(this.red); - this.a24 = this.i4.redMul(this.a.redAdd(this.two)); -} -inherits(MontCurve, Base); -module.exports = MontCurve; - -MontCurve.prototype.validate = function validate(point) { - var x = point.normalize().x; - var x2 = x.redSqr(); - var rhs = x2.redMul(x).redAdd(x2.redMul(this.a)).redAdd(x); - var y = rhs.redSqrt(); - - return y.redSqr().cmp(rhs) === 0; -}; - -function Point(curve, x, z) { - Base.BasePoint.call(this, curve, 'projective'); - if (x === null && z === null) { - this.x = this.curve.one; - this.z = this.curve.zero; - } else { - this.x = new BN(x, 16); - this.z = new BN(z, 16); - if (!this.x.red) - this.x = this.x.toRed(this.curve.red); - if (!this.z.red) - this.z = this.z.toRed(this.curve.red); - } -} -inherits(Point, Base.BasePoint); - -MontCurve.prototype.decodePoint = function decodePoint(bytes, enc) { - return this.point(utils.toArray(bytes, enc), 1); -}; - -MontCurve.prototype.point = function point(x, z) { - return new Point(this, x, z); -}; - -MontCurve.prototype.pointFromJSON = function pointFromJSON(obj) { - return Point.fromJSON(this, obj); -}; - -Point.prototype.precompute = function precompute() { - // No-op -}; - -Point.prototype._encode = function _encode() { - return this.getX().toArray('be', this.curve.p.byteLength()); -}; - -Point.fromJSON = function fromJSON(curve, obj) { - return new Point(curve, obj[0], obj[1] || curve.one); -}; - -Point.prototype.inspect = function inspect() { - if (this.isInfinity()) - return ''; - return ''; -}; - -Point.prototype.isInfinity = function isInfinity() { - // XXX This code assumes that zero is always zero in red - return this.z.cmpn(0) === 0; -}; - -Point.prototype.dbl = function dbl() { - // http://hyperelliptic.org/EFD/g1p/auto-montgom-xz.html#doubling-dbl-1987-m-3 - // 2M + 2S + 4A - - // A = X1 + Z1 - var a = this.x.redAdd(this.z); - // AA = A^2 - var aa = a.redSqr(); - // B = X1 - Z1 - var b = this.x.redSub(this.z); - // BB = B^2 - var bb = b.redSqr(); - // C = AA - BB - var c = aa.redSub(bb); - // X3 = AA * BB - var nx = aa.redMul(bb); - // Z3 = C * (BB + A24 * C) - var nz = c.redMul(bb.redAdd(this.curve.a24.redMul(c))); - return this.curve.point(nx, nz); -}; - -Point.prototype.add = function add() { - throw new Error('Not supported on Montgomery curve'); -}; - -Point.prototype.diffAdd = function diffAdd(p, diff) { - // http://hyperelliptic.org/EFD/g1p/auto-montgom-xz.html#diffadd-dadd-1987-m-3 - // 4M + 2S + 6A - - // A = X2 + Z2 - var a = this.x.redAdd(this.z); - // B = X2 - Z2 - var b = this.x.redSub(this.z); - // C = X3 + Z3 - var c = p.x.redAdd(p.z); - // D = X3 - Z3 - var d = p.x.redSub(p.z); - // DA = D * A - var da = d.redMul(a); - // CB = C * B - var cb = c.redMul(b); - // X5 = Z1 * (DA + CB)^2 - var nx = diff.z.redMul(da.redAdd(cb).redSqr()); - // Z5 = X1 * (DA - CB)^2 - var nz = diff.x.redMul(da.redISub(cb).redSqr()); - return this.curve.point(nx, nz); -}; - -Point.prototype.mul = function mul(k) { - var t = k.clone(); - var a = this; // (N / 2) * Q + Q - var b = this.curve.point(null, null); // (N / 2) * Q - var c = this; // Q - - for (var bits = []; t.cmpn(0) !== 0; t.iushrn(1)) - bits.push(t.andln(1)); - - for (var i = bits.length - 1; i >= 0; i--) { - if (bits[i] === 0) { - // N * Q + Q = ((N / 2) * Q + Q)) + (N / 2) * Q - a = a.diffAdd(b, c); - // N * Q = 2 * ((N / 2) * Q + Q)) - b = b.dbl(); - } else { - // N * Q = ((N / 2) * Q + Q) + ((N / 2) * Q) - b = a.diffAdd(b, c); - // N * Q + Q = 2 * ((N / 2) * Q + Q) - a = a.dbl(); - } - } - return b; -}; - -Point.prototype.mulAdd = function mulAdd() { - throw new Error('Not supported on Montgomery curve'); -}; - -Point.prototype.jumlAdd = function jumlAdd() { - throw new Error('Not supported on Montgomery curve'); -}; - -Point.prototype.eq = function eq(other) { - return this.getX().cmp(other.getX()) === 0; -}; - -Point.prototype.normalize = function normalize() { - this.x = this.x.redMul(this.z.redInvm()); - this.z = this.curve.one; - return this; -}; - -Point.prototype.getX = function getX() { - // Normalize coordinates - this.normalize(); - - return this.x.fromRed(); -}; - - -/***/ }), - -/***/ 60548: -/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { - - - -var utils = __nccwpck_require__(27027); -var BN = __nccwpck_require__(70234); -var inherits = __nccwpck_require__(17025); -var Base = __nccwpck_require__(13237); - -var assert = utils.assert; - -function ShortCurve(conf) { - Base.call(this, 'short', conf); - - this.a = new BN(conf.a, 16).toRed(this.red); - this.b = new BN(conf.b, 16).toRed(this.red); - this.tinv = this.two.redInvm(); - - this.zeroA = this.a.fromRed().cmpn(0) === 0; - this.threeA = this.a.fromRed().sub(this.p).cmpn(-3) === 0; - - // If the curve is endomorphic, precalculate beta and lambda - this.endo = this._getEndomorphism(conf); - this._endoWnafT1 = new Array(4); - this._endoWnafT2 = new Array(4); -} -inherits(ShortCurve, Base); -module.exports = ShortCurve; - -ShortCurve.prototype._getEndomorphism = function _getEndomorphism(conf) { - // No efficient endomorphism - if (!this.zeroA || !this.g || !this.n || this.p.modn(3) !== 1) - return; - - // Compute beta and lambda, that lambda * P = (beta * Px; Py) - var beta; - var lambda; - if (conf.beta) { - beta = new BN(conf.beta, 16).toRed(this.red); - } else { - var betas = this._getEndoRoots(this.p); - // Choose the smallest beta - beta = betas[0].cmp(betas[1]) < 0 ? betas[0] : betas[1]; - beta = beta.toRed(this.red); - } - if (conf.lambda) { - lambda = new BN(conf.lambda, 16); - } else { - // Choose the lambda that is matching selected beta - var lambdas = this._getEndoRoots(this.n); - if (this.g.mul(lambdas[0]).x.cmp(this.g.x.redMul(beta)) === 0) { - lambda = lambdas[0]; - } else { - lambda = lambdas[1]; - assert(this.g.mul(lambda).x.cmp(this.g.x.redMul(beta)) === 0); - } - } - - // Get basis vectors, used for balanced length-two representation - var basis; - if (conf.basis) { - basis = conf.basis.map(function(vec) { - return { - a: new BN(vec.a, 16), - b: new BN(vec.b, 16), - }; - }); - } else { - basis = this._getEndoBasis(lambda); - } - - return { - beta: beta, - lambda: lambda, - basis: basis, - }; -}; - -ShortCurve.prototype._getEndoRoots = function _getEndoRoots(num) { - // Find roots of for x^2 + x + 1 in F - // Root = (-1 +- Sqrt(-3)) / 2 - // - var red = num === this.p ? this.red : BN.mont(num); - var tinv = new BN(2).toRed(red).redInvm(); - var ntinv = tinv.redNeg(); - - var s = new BN(3).toRed(red).redNeg().redSqrt().redMul(tinv); - - var l1 = ntinv.redAdd(s).fromRed(); - var l2 = ntinv.redSub(s).fromRed(); - return [ l1, l2 ]; -}; - -ShortCurve.prototype._getEndoBasis = function _getEndoBasis(lambda) { - // aprxSqrt >= sqrt(this.n) - var aprxSqrt = this.n.ushrn(Math.floor(this.n.bitLength() / 2)); - - // 3.74 - // Run EGCD, until r(L + 1) < aprxSqrt - var u = lambda; - var v = this.n.clone(); - var x1 = new BN(1); - var y1 = new BN(0); - var x2 = new BN(0); - var y2 = new BN(1); - - // NOTE: all vectors are roots of: a + b * lambda = 0 (mod n) - var a0; - var b0; - // First vector - var a1; - var b1; - // Second vector - var a2; - var b2; - - var prevR; - var i = 0; - var r; - var x; - while (u.cmpn(0) !== 0) { - var q = v.div(u); - r = v.sub(q.mul(u)); - x = x2.sub(q.mul(x1)); - var y = y2.sub(q.mul(y1)); - - if (!a1 && r.cmp(aprxSqrt) < 0) { - a0 = prevR.neg(); - b0 = x1; - a1 = r.neg(); - b1 = x; - } else if (a1 && ++i === 2) { - break; - } - prevR = r; - - v = u; - u = r; - x2 = x1; - x1 = x; - y2 = y1; - y1 = y; - } - a2 = r.neg(); - b2 = x; - - var len1 = a1.sqr().add(b1.sqr()); - var len2 = a2.sqr().add(b2.sqr()); - if (len2.cmp(len1) >= 0) { - a2 = a0; - b2 = b0; - } - - // Normalize signs - if (a1.negative) { - a1 = a1.neg(); - b1 = b1.neg(); - } - if (a2.negative) { - a2 = a2.neg(); - b2 = b2.neg(); - } - - return [ - { a: a1, b: b1 }, - { a: a2, b: b2 }, - ]; -}; - -ShortCurve.prototype._endoSplit = function _endoSplit(k) { - var basis = this.endo.basis; - var v1 = basis[0]; - var v2 = basis[1]; - - var c1 = v2.b.mul(k).divRound(this.n); - var c2 = v1.b.neg().mul(k).divRound(this.n); - - var p1 = c1.mul(v1.a); - var p2 = c2.mul(v2.a); - var q1 = c1.mul(v1.b); - var q2 = c2.mul(v2.b); - - // Calculate answer - var k1 = k.sub(p1).sub(p2); - var k2 = q1.add(q2).neg(); - return { k1: k1, k2: k2 }; -}; - -ShortCurve.prototype.pointFromX = function pointFromX(x, odd) { - x = new BN(x, 16); - if (!x.red) - x = x.toRed(this.red); - - var y2 = x.redSqr().redMul(x).redIAdd(x.redMul(this.a)).redIAdd(this.b); - var y = y2.redSqrt(); - if (y.redSqr().redSub(y2).cmp(this.zero) !== 0) - throw new Error('invalid point'); - - // XXX Is there any way to tell if the number is odd without converting it - // to non-red form? - var isOdd = y.fromRed().isOdd(); - if (odd && !isOdd || !odd && isOdd) - y = y.redNeg(); - - return this.point(x, y); -}; - -ShortCurve.prototype.validate = function validate(point) { - if (point.inf) - return true; - - var x = point.x; - var y = point.y; - - var ax = this.a.redMul(x); - var rhs = x.redSqr().redMul(x).redIAdd(ax).redIAdd(this.b); - return y.redSqr().redISub(rhs).cmpn(0) === 0; -}; - -ShortCurve.prototype._endoWnafMulAdd = - function _endoWnafMulAdd(points, coeffs, jacobianResult) { - var npoints = this._endoWnafT1; - var ncoeffs = this._endoWnafT2; - for (var i = 0; i < points.length; i++) { - var split = this._endoSplit(coeffs[i]); - var p = points[i]; - var beta = p._getBeta(); - - if (split.k1.negative) { - split.k1.ineg(); - p = p.neg(true); - } - if (split.k2.negative) { - split.k2.ineg(); - beta = beta.neg(true); - } - - npoints[i * 2] = p; - npoints[i * 2 + 1] = beta; - ncoeffs[i * 2] = split.k1; - ncoeffs[i * 2 + 1] = split.k2; - } - var res = this._wnafMulAdd(1, npoints, ncoeffs, i * 2, jacobianResult); - - // Clean-up references to points and coefficients - for (var j = 0; j < i * 2; j++) { - npoints[j] = null; - ncoeffs[j] = null; - } - return res; - }; - -function Point(curve, x, y, isRed) { - Base.BasePoint.call(this, curve, 'affine'); - if (x === null && y === null) { - this.x = null; - this.y = null; - this.inf = true; - } else { - this.x = new BN(x, 16); - this.y = new BN(y, 16); - // Force redgomery representation when loading from JSON - if (isRed) { - this.x.forceRed(this.curve.red); - this.y.forceRed(this.curve.red); - } - if (!this.x.red) - this.x = this.x.toRed(this.curve.red); - if (!this.y.red) - this.y = this.y.toRed(this.curve.red); - this.inf = false; - } -} -inherits(Point, Base.BasePoint); - -ShortCurve.prototype.point = function point(x, y, isRed) { - return new Point(this, x, y, isRed); -}; - -ShortCurve.prototype.pointFromJSON = function pointFromJSON(obj, red) { - return Point.fromJSON(this, obj, red); -}; - -Point.prototype._getBeta = function _getBeta() { - if (!this.curve.endo) - return; - - var pre = this.precomputed; - if (pre && pre.beta) - return pre.beta; - - var beta = this.curve.point(this.x.redMul(this.curve.endo.beta), this.y); - if (pre) { - var curve = this.curve; - var endoMul = function(p) { - return curve.point(p.x.redMul(curve.endo.beta), p.y); - }; - pre.beta = beta; - beta.precomputed = { - beta: null, - naf: pre.naf && { - wnd: pre.naf.wnd, - points: pre.naf.points.map(endoMul), - }, - doubles: pre.doubles && { - step: pre.doubles.step, - points: pre.doubles.points.map(endoMul), - }, - }; - } - return beta; -}; - -Point.prototype.toJSON = function toJSON() { - if (!this.precomputed) - return [ this.x, this.y ]; - - return [ this.x, this.y, this.precomputed && { - doubles: this.precomputed.doubles && { - step: this.precomputed.doubles.step, - points: this.precomputed.doubles.points.slice(1), - }, - naf: this.precomputed.naf && { - wnd: this.precomputed.naf.wnd, - points: this.precomputed.naf.points.slice(1), - }, - } ]; -}; - -Point.fromJSON = function fromJSON(curve, obj, red) { - if (typeof obj === 'string') - obj = JSON.parse(obj); - var res = curve.point(obj[0], obj[1], red); - if (!obj[2]) - return res; - - function obj2point(obj) { - return curve.point(obj[0], obj[1], red); - } - - var pre = obj[2]; - res.precomputed = { - beta: null, - doubles: pre.doubles && { - step: pre.doubles.step, - points: [ res ].concat(pre.doubles.points.map(obj2point)), - }, - naf: pre.naf && { - wnd: pre.naf.wnd, - points: [ res ].concat(pre.naf.points.map(obj2point)), - }, - }; - return res; -}; - -Point.prototype.inspect = function inspect() { - if (this.isInfinity()) - return ''; - return ''; -}; - -Point.prototype.isInfinity = function isInfinity() { - return this.inf; -}; - -Point.prototype.add = function add(p) { - // O + P = P - if (this.inf) - return p; - - // P + O = P - if (p.inf) - return this; - - // P + P = 2P - if (this.eq(p)) - return this.dbl(); - - // P + (-P) = O - if (this.neg().eq(p)) - return this.curve.point(null, null); - - // P + Q = O - if (this.x.cmp(p.x) === 0) - return this.curve.point(null, null); - - var c = this.y.redSub(p.y); - if (c.cmpn(0) !== 0) - c = c.redMul(this.x.redSub(p.x).redInvm()); - var nx = c.redSqr().redISub(this.x).redISub(p.x); - var ny = c.redMul(this.x.redSub(nx)).redISub(this.y); - return this.curve.point(nx, ny); -}; - -Point.prototype.dbl = function dbl() { - if (this.inf) - return this; - - // 2P = O - var ys1 = this.y.redAdd(this.y); - if (ys1.cmpn(0) === 0) - return this.curve.point(null, null); - - var a = this.curve.a; - - var x2 = this.x.redSqr(); - var dyinv = ys1.redInvm(); - var c = x2.redAdd(x2).redIAdd(x2).redIAdd(a).redMul(dyinv); - - var nx = c.redSqr().redISub(this.x.redAdd(this.x)); - var ny = c.redMul(this.x.redSub(nx)).redISub(this.y); - return this.curve.point(nx, ny); -}; - -Point.prototype.getX = function getX() { - return this.x.fromRed(); -}; - -Point.prototype.getY = function getY() { - return this.y.fromRed(); -}; - -Point.prototype.mul = function mul(k) { - k = new BN(k, 16); - if (this.isInfinity()) - return this; - else if (this._hasDoubles(k)) - return this.curve._fixedNafMul(this, k); - else if (this.curve.endo) - return this.curve._endoWnafMulAdd([ this ], [ k ]); - else - return this.curve._wnafMul(this, k); -}; - -Point.prototype.mulAdd = function mulAdd(k1, p2, k2) { - var points = [ this, p2 ]; - var coeffs = [ k1, k2 ]; - if (this.curve.endo) - return this.curve._endoWnafMulAdd(points, coeffs); - else - return this.curve._wnafMulAdd(1, points, coeffs, 2); -}; - -Point.prototype.jmulAdd = function jmulAdd(k1, p2, k2) { - var points = [ this, p2 ]; - var coeffs = [ k1, k2 ]; - if (this.curve.endo) - return this.curve._endoWnafMulAdd(points, coeffs, true); - else - return this.curve._wnafMulAdd(1, points, coeffs, 2, true); -}; - -Point.prototype.eq = function eq(p) { - return this === p || - this.inf === p.inf && - (this.inf || this.x.cmp(p.x) === 0 && this.y.cmp(p.y) === 0); -}; - -Point.prototype.neg = function neg(_precompute) { - if (this.inf) - return this; - - var res = this.curve.point(this.x, this.y.redNeg()); - if (_precompute && this.precomputed) { - var pre = this.precomputed; - var negate = function(p) { - return p.neg(); - }; - res.precomputed = { - naf: pre.naf && { - wnd: pre.naf.wnd, - points: pre.naf.points.map(negate), - }, - doubles: pre.doubles && { - step: pre.doubles.step, - points: pre.doubles.points.map(negate), - }, - }; - } - return res; -}; - -Point.prototype.toJ = function toJ() { - if (this.inf) - return this.curve.jpoint(null, null, null); - - var res = this.curve.jpoint(this.x, this.y, this.curve.one); - return res; -}; - -function JPoint(curve, x, y, z) { - Base.BasePoint.call(this, curve, 'jacobian'); - if (x === null && y === null && z === null) { - this.x = this.curve.one; - this.y = this.curve.one; - this.z = new BN(0); - } else { - this.x = new BN(x, 16); - this.y = new BN(y, 16); - this.z = new BN(z, 16); - } - if (!this.x.red) - this.x = this.x.toRed(this.curve.red); - if (!this.y.red) - this.y = this.y.toRed(this.curve.red); - if (!this.z.red) - this.z = this.z.toRed(this.curve.red); - - this.zOne = this.z === this.curve.one; -} -inherits(JPoint, Base.BasePoint); - -ShortCurve.prototype.jpoint = function jpoint(x, y, z) { - return new JPoint(this, x, y, z); -}; - -JPoint.prototype.toP = function toP() { - if (this.isInfinity()) - return this.curve.point(null, null); - - var zinv = this.z.redInvm(); - var zinv2 = zinv.redSqr(); - var ax = this.x.redMul(zinv2); - var ay = this.y.redMul(zinv2).redMul(zinv); - - return this.curve.point(ax, ay); -}; - -JPoint.prototype.neg = function neg() { - return this.curve.jpoint(this.x, this.y.redNeg(), this.z); -}; - -JPoint.prototype.add = function add(p) { - // O + P = P - if (this.isInfinity()) - return p; - - // P + O = P - if (p.isInfinity()) - return this; - - // 12M + 4S + 7A - var pz2 = p.z.redSqr(); - var z2 = this.z.redSqr(); - var u1 = this.x.redMul(pz2); - var u2 = p.x.redMul(z2); - var s1 = this.y.redMul(pz2.redMul(p.z)); - var s2 = p.y.redMul(z2.redMul(this.z)); - - var h = u1.redSub(u2); - var r = s1.redSub(s2); - if (h.cmpn(0) === 0) { - if (r.cmpn(0) !== 0) - return this.curve.jpoint(null, null, null); - else - return this.dbl(); - } - - var h2 = h.redSqr(); - var h3 = h2.redMul(h); - var v = u1.redMul(h2); - - var nx = r.redSqr().redIAdd(h3).redISub(v).redISub(v); - var ny = r.redMul(v.redISub(nx)).redISub(s1.redMul(h3)); - var nz = this.z.redMul(p.z).redMul(h); - - return this.curve.jpoint(nx, ny, nz); -}; - -JPoint.prototype.mixedAdd = function mixedAdd(p) { - // O + P = P - if (this.isInfinity()) - return p.toJ(); - - // P + O = P - if (p.isInfinity()) - return this; - - // 8M + 3S + 7A - var z2 = this.z.redSqr(); - var u1 = this.x; - var u2 = p.x.redMul(z2); - var s1 = this.y; - var s2 = p.y.redMul(z2).redMul(this.z); - - var h = u1.redSub(u2); - var r = s1.redSub(s2); - if (h.cmpn(0) === 0) { - if (r.cmpn(0) !== 0) - return this.curve.jpoint(null, null, null); - else - return this.dbl(); - } - - var h2 = h.redSqr(); - var h3 = h2.redMul(h); - var v = u1.redMul(h2); - - var nx = r.redSqr().redIAdd(h3).redISub(v).redISub(v); - var ny = r.redMul(v.redISub(nx)).redISub(s1.redMul(h3)); - var nz = this.z.redMul(h); - - return this.curve.jpoint(nx, ny, nz); -}; - -JPoint.prototype.dblp = function dblp(pow) { - if (pow === 0) - return this; - if (this.isInfinity()) - return this; - if (!pow) - return this.dbl(); - - var i; - if (this.curve.zeroA || this.curve.threeA) { - var r = this; - for (i = 0; i < pow; i++) - r = r.dbl(); - return r; - } - - // 1M + 2S + 1A + N * (4S + 5M + 8A) - // N = 1 => 6M + 6S + 9A - var a = this.curve.a; - var tinv = this.curve.tinv; - - var jx = this.x; - var jy = this.y; - var jz = this.z; - var jz4 = jz.redSqr().redSqr(); - - // Reuse results - var jyd = jy.redAdd(jy); - for (i = 0; i < pow; i++) { - var jx2 = jx.redSqr(); - var jyd2 = jyd.redSqr(); - var jyd4 = jyd2.redSqr(); - var c = jx2.redAdd(jx2).redIAdd(jx2).redIAdd(a.redMul(jz4)); - - var t1 = jx.redMul(jyd2); - var nx = c.redSqr().redISub(t1.redAdd(t1)); - var t2 = t1.redISub(nx); - var dny = c.redMul(t2); - dny = dny.redIAdd(dny).redISub(jyd4); - var nz = jyd.redMul(jz); - if (i + 1 < pow) - jz4 = jz4.redMul(jyd4); - - jx = nx; - jz = nz; - jyd = dny; - } - - return this.curve.jpoint(jx, jyd.redMul(tinv), jz); -}; - -JPoint.prototype.dbl = function dbl() { - if (this.isInfinity()) - return this; - - if (this.curve.zeroA) - return this._zeroDbl(); - else if (this.curve.threeA) - return this._threeDbl(); - else - return this._dbl(); -}; - -JPoint.prototype._zeroDbl = function _zeroDbl() { - var nx; - var ny; - var nz; - // Z = 1 - if (this.zOne) { - // hyperelliptic.org/EFD/g1p/auto-shortw-jacobian-0.html - // #doubling-mdbl-2007-bl - // 1M + 5S + 14A - - // XX = X1^2 - var xx = this.x.redSqr(); - // YY = Y1^2 - var yy = this.y.redSqr(); - // YYYY = YY^2 - var yyyy = yy.redSqr(); - // S = 2 * ((X1 + YY)^2 - XX - YYYY) - var s = this.x.redAdd(yy).redSqr().redISub(xx).redISub(yyyy); - s = s.redIAdd(s); - // M = 3 * XX + a; a = 0 - var m = xx.redAdd(xx).redIAdd(xx); - // T = M ^ 2 - 2*S - var t = m.redSqr().redISub(s).redISub(s); - - // 8 * YYYY - var yyyy8 = yyyy.redIAdd(yyyy); - yyyy8 = yyyy8.redIAdd(yyyy8); - yyyy8 = yyyy8.redIAdd(yyyy8); - - // X3 = T - nx = t; - // Y3 = M * (S - T) - 8 * YYYY - ny = m.redMul(s.redISub(t)).redISub(yyyy8); - // Z3 = 2*Y1 - nz = this.y.redAdd(this.y); - } else { - // hyperelliptic.org/EFD/g1p/auto-shortw-jacobian-0.html - // #doubling-dbl-2009-l - // 2M + 5S + 13A - - // A = X1^2 - var a = this.x.redSqr(); - // B = Y1^2 - var b = this.y.redSqr(); - // C = B^2 - var c = b.redSqr(); - // D = 2 * ((X1 + B)^2 - A - C) - var d = this.x.redAdd(b).redSqr().redISub(a).redISub(c); - d = d.redIAdd(d); - // E = 3 * A - var e = a.redAdd(a).redIAdd(a); - // F = E^2 - var f = e.redSqr(); - - // 8 * C - var c8 = c.redIAdd(c); - c8 = c8.redIAdd(c8); - c8 = c8.redIAdd(c8); - - // X3 = F - 2 * D - nx = f.redISub(d).redISub(d); - // Y3 = E * (D - X3) - 8 * C - ny = e.redMul(d.redISub(nx)).redISub(c8); - // Z3 = 2 * Y1 * Z1 - nz = this.y.redMul(this.z); - nz = nz.redIAdd(nz); - } - - return this.curve.jpoint(nx, ny, nz); -}; - -JPoint.prototype._threeDbl = function _threeDbl() { - var nx; - var ny; - var nz; - // Z = 1 - if (this.zOne) { - // hyperelliptic.org/EFD/g1p/auto-shortw-jacobian-3.html - // #doubling-mdbl-2007-bl - // 1M + 5S + 15A - - // XX = X1^2 - var xx = this.x.redSqr(); - // YY = Y1^2 - var yy = this.y.redSqr(); - // YYYY = YY^2 - var yyyy = yy.redSqr(); - // S = 2 * ((X1 + YY)^2 - XX - YYYY) - var s = this.x.redAdd(yy).redSqr().redISub(xx).redISub(yyyy); - s = s.redIAdd(s); - // M = 3 * XX + a - var m = xx.redAdd(xx).redIAdd(xx).redIAdd(this.curve.a); - // T = M^2 - 2 * S - var t = m.redSqr().redISub(s).redISub(s); - // X3 = T - nx = t; - // Y3 = M * (S - T) - 8 * YYYY - var yyyy8 = yyyy.redIAdd(yyyy); - yyyy8 = yyyy8.redIAdd(yyyy8); - yyyy8 = yyyy8.redIAdd(yyyy8); - ny = m.redMul(s.redISub(t)).redISub(yyyy8); - // Z3 = 2 * Y1 - nz = this.y.redAdd(this.y); - } else { - // hyperelliptic.org/EFD/g1p/auto-shortw-jacobian-3.html#doubling-dbl-2001-b - // 3M + 5S - - // delta = Z1^2 - var delta = this.z.redSqr(); - // gamma = Y1^2 - var gamma = this.y.redSqr(); - // beta = X1 * gamma - var beta = this.x.redMul(gamma); - // alpha = 3 * (X1 - delta) * (X1 + delta) - var alpha = this.x.redSub(delta).redMul(this.x.redAdd(delta)); - alpha = alpha.redAdd(alpha).redIAdd(alpha); - // X3 = alpha^2 - 8 * beta - var beta4 = beta.redIAdd(beta); - beta4 = beta4.redIAdd(beta4); - var beta8 = beta4.redAdd(beta4); - nx = alpha.redSqr().redISub(beta8); - // Z3 = (Y1 + Z1)^2 - gamma - delta - nz = this.y.redAdd(this.z).redSqr().redISub(gamma).redISub(delta); - // Y3 = alpha * (4 * beta - X3) - 8 * gamma^2 - var ggamma8 = gamma.redSqr(); - ggamma8 = ggamma8.redIAdd(ggamma8); - ggamma8 = ggamma8.redIAdd(ggamma8); - ggamma8 = ggamma8.redIAdd(ggamma8); - ny = alpha.redMul(beta4.redISub(nx)).redISub(ggamma8); - } - - return this.curve.jpoint(nx, ny, nz); -}; - -JPoint.prototype._dbl = function _dbl() { - var a = this.curve.a; - - // 4M + 6S + 10A - var jx = this.x; - var jy = this.y; - var jz = this.z; - var jz4 = jz.redSqr().redSqr(); - - var jx2 = jx.redSqr(); - var jy2 = jy.redSqr(); - - var c = jx2.redAdd(jx2).redIAdd(jx2).redIAdd(a.redMul(jz4)); - - var jxd4 = jx.redAdd(jx); - jxd4 = jxd4.redIAdd(jxd4); - var t1 = jxd4.redMul(jy2); - var nx = c.redSqr().redISub(t1.redAdd(t1)); - var t2 = t1.redISub(nx); - - var jyd8 = jy2.redSqr(); - jyd8 = jyd8.redIAdd(jyd8); - jyd8 = jyd8.redIAdd(jyd8); - jyd8 = jyd8.redIAdd(jyd8); - var ny = c.redMul(t2).redISub(jyd8); - var nz = jy.redAdd(jy).redMul(jz); - - return this.curve.jpoint(nx, ny, nz); -}; - -JPoint.prototype.trpl = function trpl() { - if (!this.curve.zeroA) - return this.dbl().add(this); - - // hyperelliptic.org/EFD/g1p/auto-shortw-jacobian-0.html#tripling-tpl-2007-bl - // 5M + 10S + ... - - // XX = X1^2 - var xx = this.x.redSqr(); - // YY = Y1^2 - var yy = this.y.redSqr(); - // ZZ = Z1^2 - var zz = this.z.redSqr(); - // YYYY = YY^2 - var yyyy = yy.redSqr(); - // M = 3 * XX + a * ZZ2; a = 0 - var m = xx.redAdd(xx).redIAdd(xx); - // MM = M^2 - var mm = m.redSqr(); - // E = 6 * ((X1 + YY)^2 - XX - YYYY) - MM - var e = this.x.redAdd(yy).redSqr().redISub(xx).redISub(yyyy); - e = e.redIAdd(e); - e = e.redAdd(e).redIAdd(e); - e = e.redISub(mm); - // EE = E^2 - var ee = e.redSqr(); - // T = 16*YYYY - var t = yyyy.redIAdd(yyyy); - t = t.redIAdd(t); - t = t.redIAdd(t); - t = t.redIAdd(t); - // U = (M + E)^2 - MM - EE - T - var u = m.redIAdd(e).redSqr().redISub(mm).redISub(ee).redISub(t); - // X3 = 4 * (X1 * EE - 4 * YY * U) - var yyu4 = yy.redMul(u); - yyu4 = yyu4.redIAdd(yyu4); - yyu4 = yyu4.redIAdd(yyu4); - var nx = this.x.redMul(ee).redISub(yyu4); - nx = nx.redIAdd(nx); - nx = nx.redIAdd(nx); - // Y3 = 8 * Y1 * (U * (T - U) - E * EE) - var ny = this.y.redMul(u.redMul(t.redISub(u)).redISub(e.redMul(ee))); - ny = ny.redIAdd(ny); - ny = ny.redIAdd(ny); - ny = ny.redIAdd(ny); - // Z3 = (Z1 + E)^2 - ZZ - EE - var nz = this.z.redAdd(e).redSqr().redISub(zz).redISub(ee); - - return this.curve.jpoint(nx, ny, nz); -}; - -JPoint.prototype.mul = function mul(k, kbase) { - k = new BN(k, kbase); - - return this.curve._wnafMul(this, k); -}; - -JPoint.prototype.eq = function eq(p) { - if (p.type === 'affine') - return this.eq(p.toJ()); - - if (this === p) - return true; - - // x1 * z2^2 == x2 * z1^2 - var z2 = this.z.redSqr(); - var pz2 = p.z.redSqr(); - if (this.x.redMul(pz2).redISub(p.x.redMul(z2)).cmpn(0) !== 0) - return false; - - // y1 * z2^3 == y2 * z1^3 - var z3 = z2.redMul(this.z); - var pz3 = pz2.redMul(p.z); - return this.y.redMul(pz3).redISub(p.y.redMul(z3)).cmpn(0) === 0; -}; - -JPoint.prototype.eqXToP = function eqXToP(x) { - var zs = this.z.redSqr(); - var rx = x.toRed(this.curve.red).redMul(zs); - if (this.x.cmp(rx) === 0) - return true; - - var xc = x.clone(); - var t = this.curve.redN.redMul(zs); - for (;;) { - xc.iadd(this.curve.n); - if (xc.cmp(this.curve.p) >= 0) - return false; - - rx.redIAdd(t); - if (this.x.cmp(rx) === 0) - return true; - } -}; - -JPoint.prototype.inspect = function inspect() { - if (this.isInfinity()) - return ''; - return ''; -}; - -JPoint.prototype.isInfinity = function isInfinity() { - // XXX This code assumes that zero is always zero in red - return this.z.cmpn(0) === 0; -}; - - -/***/ }), - -/***/ 60304: -/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { - - - -var curves = exports; - -var hash = __nccwpck_require__(95632); -var curve = __nccwpck_require__(89294); -var utils = __nccwpck_require__(27027); - -var assert = utils.assert; - -function PresetCurve(options) { - if (options.type === 'short') - this.curve = new curve.short(options); - else if (options.type === 'edwards') - this.curve = new curve.edwards(options); - else - this.curve = new curve.mont(options); - this.g = this.curve.g; - this.n = this.curve.n; - this.hash = options.hash; - - assert(this.g.validate(), 'Invalid curve'); - assert(this.g.mul(this.n).isInfinity(), 'Invalid curve, G*N != O'); -} -curves.PresetCurve = PresetCurve; - -function defineCurve(name, options) { - Object.defineProperty(curves, name, { - configurable: true, - enumerable: true, - get: function() { - var curve = new PresetCurve(options); - Object.defineProperty(curves, name, { - configurable: true, - enumerable: true, - value: curve, - }); - return curve; - }, - }); -} - -defineCurve('p192', { - type: 'short', - prime: 'p192', - p: 'ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff', - a: 'ffffffff ffffffff ffffffff fffffffe ffffffff fffffffc', - b: '64210519 e59c80e7 0fa7e9ab 72243049 feb8deec c146b9b1', - n: 'ffffffff ffffffff ffffffff 99def836 146bc9b1 b4d22831', - hash: hash.sha256, - gRed: false, - g: [ - '188da80e b03090f6 7cbf20eb 43a18800 f4ff0afd 82ff1012', - '07192b95 ffc8da78 631011ed 6b24cdd5 73f977a1 1e794811', - ], -}); - -defineCurve('p224', { - type: 'short', - prime: 'p224', - p: 'ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001', - a: 'ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff fffffffe', - b: 'b4050a85 0c04b3ab f5413256 5044b0b7 d7bfd8ba 270b3943 2355ffb4', - n: 'ffffffff ffffffff ffffffff ffff16a2 e0b8f03e 13dd2945 5c5c2a3d', - hash: hash.sha256, - gRed: false, - g: [ - 'b70e0cbd 6bb4bf7f 321390b9 4a03c1d3 56c21122 343280d6 115c1d21', - 'bd376388 b5f723fb 4c22dfe6 cd4375a0 5a074764 44d58199 85007e34', - ], -}); - -defineCurve('p256', { - type: 'short', - prime: null, - p: 'ffffffff 00000001 00000000 00000000 00000000 ffffffff ffffffff ffffffff', - a: 'ffffffff 00000001 00000000 00000000 00000000 ffffffff ffffffff fffffffc', - b: '5ac635d8 aa3a93e7 b3ebbd55 769886bc 651d06b0 cc53b0f6 3bce3c3e 27d2604b', - n: 'ffffffff 00000000 ffffffff ffffffff bce6faad a7179e84 f3b9cac2 fc632551', - hash: hash.sha256, - gRed: false, - g: [ - '6b17d1f2 e12c4247 f8bce6e5 63a440f2 77037d81 2deb33a0 f4a13945 d898c296', - '4fe342e2 fe1a7f9b 8ee7eb4a 7c0f9e16 2bce3357 6b315ece cbb64068 37bf51f5', - ], -}); - -defineCurve('p384', { - type: 'short', - prime: null, - p: 'ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ' + - 'fffffffe ffffffff 00000000 00000000 ffffffff', - a: 'ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ' + - 'fffffffe ffffffff 00000000 00000000 fffffffc', - b: 'b3312fa7 e23ee7e4 988e056b e3f82d19 181d9c6e fe814112 0314088f ' + - '5013875a c656398d 8a2ed19d 2a85c8ed d3ec2aef', - n: 'ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff c7634d81 ' + - 'f4372ddf 581a0db2 48b0a77a ecec196a ccc52973', - hash: hash.sha384, - gRed: false, - g: [ - 'aa87ca22 be8b0537 8eb1c71e f320ad74 6e1d3b62 8ba79b98 59f741e0 82542a38 ' + - '5502f25d bf55296c 3a545e38 72760ab7', - '3617de4a 96262c6f 5d9e98bf 9292dc29 f8f41dbd 289a147c e9da3113 b5f0b8c0 ' + - '0a60b1ce 1d7e819d 7a431d7c 90ea0e5f', - ], -}); - -defineCurve('p521', { - type: 'short', - prime: null, - p: '000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ' + - 'ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ' + - 'ffffffff ffffffff ffffffff ffffffff ffffffff', - a: '000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ' + - 'ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ' + - 'ffffffff ffffffff ffffffff ffffffff fffffffc', - b: '00000051 953eb961 8e1c9a1f 929a21a0 b68540ee a2da725b ' + - '99b315f3 b8b48991 8ef109e1 56193951 ec7e937b 1652c0bd ' + - '3bb1bf07 3573df88 3d2c34f1 ef451fd4 6b503f00', - n: '000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ' + - 'ffffffff ffffffff fffffffa 51868783 bf2f966b 7fcc0148 ' + - 'f709a5d0 3bb5c9b8 899c47ae bb6fb71e 91386409', - hash: hash.sha512, - gRed: false, - g: [ - '000000c6 858e06b7 0404e9cd 9e3ecb66 2395b442 9c648139 ' + - '053fb521 f828af60 6b4d3dba a14b5e77 efe75928 fe1dc127 ' + - 'a2ffa8de 3348b3c1 856a429b f97e7e31 c2e5bd66', - '00000118 39296a78 9a3bc004 5c8a5fb4 2c7d1bd9 98f54449 ' + - '579b4468 17afbd17 273e662c 97ee7299 5ef42640 c550b901 ' + - '3fad0761 353c7086 a272c240 88be9476 9fd16650', - ], -}); - -defineCurve('curve25519', { - type: 'mont', - prime: 'p25519', - p: '7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed', - a: '76d06', - b: '1', - n: '1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed', - hash: hash.sha256, - gRed: false, - g: [ - '9', - ], -}); - -defineCurve('ed25519', { - type: 'edwards', - prime: 'p25519', - p: '7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed', - a: '-1', - c: '1', - // -121665 * (121666^(-1)) (mod P) - d: '52036cee2b6ffe73 8cc740797779e898 00700a4d4141d8ab 75eb4dca135978a3', - n: '1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed', - hash: hash.sha256, - gRed: false, - g: [ - '216936d3cd6e53fec0a4e231fdd6dc5c692cc7609525a7b2c9562d608f25d51a', - - // 4/5 - '6666666666666666666666666666666666666666666666666666666666666658', - ], -}); - -var pre; -try { - pre = __nccwpck_require__(8427); -} catch (e) { - pre = undefined; -} - -defineCurve('secp256k1', { - type: 'short', - prime: 'k256', - p: 'ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f', - a: '0', - b: '7', - n: 'ffffffff ffffffff ffffffff fffffffe baaedce6 af48a03b bfd25e8c d0364141', - h: '1', - hash: hash.sha256, - - // Precomputed endomorphism - beta: '7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee', - lambda: '5363ad4cc05c30e0a5261c028812645a122e22ea20816678df02967c1b23bd72', - basis: [ - { - a: '3086d221a7d46bcde86c90e49284eb15', - b: '-e4437ed6010e88286f547fa90abfe4c3', - }, - { - a: '114ca50f7a8e2f3f657c1108d9d44cfd8', - b: '3086d221a7d46bcde86c90e49284eb15', - }, - ], - - gRed: false, - g: [ - '79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798', - '483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8', - pre, - ], -}); - - -/***/ }), - -/***/ 9495: -/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { - - - -var BN = __nccwpck_require__(70234); -var HmacDRBG = __nccwpck_require__(24803); -var utils = __nccwpck_require__(27027); -var curves = __nccwpck_require__(60304); -var rand = __nccwpck_require__(84621); -var assert = utils.assert; - -var KeyPair = __nccwpck_require__(95040); -var Signature = __nccwpck_require__(32721); - -function EC(options) { - if (!(this instanceof EC)) - return new EC(options); - - // Shortcut `elliptic.ec(curve-name)` - if (typeof options === 'string') { - assert(Object.prototype.hasOwnProperty.call(curves, options), - 'Unknown curve ' + options); - - options = curves[options]; - } - - // Shortcut for `elliptic.ec(elliptic.curves.curveName)` - if (options instanceof curves.PresetCurve) - options = { curve: options }; - - this.curve = options.curve.curve; - this.n = this.curve.n; - this.nh = this.n.ushrn(1); - this.g = this.curve.g; - - // Point on curve - this.g = options.curve.g; - this.g.precompute(options.curve.n.bitLength() + 1); - - // Hash for function for DRBG - this.hash = options.hash || options.curve.hash; -} -module.exports = EC; - -EC.prototype.keyPair = function keyPair(options) { - return new KeyPair(this, options); -}; - -EC.prototype.keyFromPrivate = function keyFromPrivate(priv, enc) { - return KeyPair.fromPrivate(this, priv, enc); -}; - -EC.prototype.keyFromPublic = function keyFromPublic(pub, enc) { - return KeyPair.fromPublic(this, pub, enc); -}; - -EC.prototype.genKeyPair = function genKeyPair(options) { - if (!options) - options = {}; - - // Instantiate Hmac_DRBG - var drbg = new HmacDRBG({ - hash: this.hash, - pers: options.pers, - persEnc: options.persEnc || 'utf8', - entropy: options.entropy || rand(this.hash.hmacStrength), - entropyEnc: options.entropy && options.entropyEnc || 'utf8', - nonce: this.n.toArray(), - }); - - var bytes = this.n.byteLength(); - var ns2 = this.n.sub(new BN(2)); - for (;;) { - var priv = new BN(drbg.generate(bytes)); - if (priv.cmp(ns2) > 0) - continue; - - priv.iaddn(1); - return this.keyFromPrivate(priv); - } -}; - -EC.prototype._truncateToN = function _truncateToN(msg, truncOnly) { - var delta = msg.byteLength() * 8 - this.n.bitLength(); - if (delta > 0) - msg = msg.ushrn(delta); - if (!truncOnly && msg.cmp(this.n) >= 0) - return msg.sub(this.n); - else - return msg; -}; - -EC.prototype.sign = function sign(msg, key, enc, options) { - if (typeof enc === 'object') { - options = enc; - enc = null; - } - if (!options) - options = {}; - - key = this.keyFromPrivate(key, enc); - msg = this._truncateToN(new BN(msg, 16)); - - // Zero-extend key to provide enough entropy - var bytes = this.n.byteLength(); - var bkey = key.getPrivate().toArray('be', bytes); - - // Zero-extend nonce to have the same byte size as N - var nonce = msg.toArray('be', bytes); - - // Instantiate Hmac_DRBG - var drbg = new HmacDRBG({ - hash: this.hash, - entropy: bkey, - nonce: nonce, - pers: options.pers, - persEnc: options.persEnc || 'utf8', - }); - - // Number of bytes to generate - var ns1 = this.n.sub(new BN(1)); - - for (var iter = 0; ; iter++) { - var k = options.k ? - options.k(iter) : - new BN(drbg.generate(this.n.byteLength())); - k = this._truncateToN(k, true); - if (k.cmpn(1) <= 0 || k.cmp(ns1) >= 0) - continue; - - var kp = this.g.mul(k); - if (kp.isInfinity()) - continue; - - var kpX = kp.getX(); - var r = kpX.umod(this.n); - if (r.cmpn(0) === 0) - continue; - - var s = k.invm(this.n).mul(r.mul(key.getPrivate()).iadd(msg)); - s = s.umod(this.n); - if (s.cmpn(0) === 0) - continue; - - var recoveryParam = (kp.getY().isOdd() ? 1 : 0) | - (kpX.cmp(r) !== 0 ? 2 : 0); - - // Use complement of `s`, if it is > `n / 2` - if (options.canonical && s.cmp(this.nh) > 0) { - s = this.n.sub(s); - recoveryParam ^= 1; - } - - return new Signature({ r: r, s: s, recoveryParam: recoveryParam }); - } -}; - -EC.prototype.verify = function verify(msg, signature, key, enc) { - msg = this._truncateToN(new BN(msg, 16)); - key = this.keyFromPublic(key, enc); - signature = new Signature(signature, 'hex'); - - // Perform primitive values validation - var r = signature.r; - var s = signature.s; - if (r.cmpn(1) < 0 || r.cmp(this.n) >= 0) - return false; - if (s.cmpn(1) < 0 || s.cmp(this.n) >= 0) - return false; - - // Validate signature - var sinv = s.invm(this.n); - var u1 = sinv.mul(msg).umod(this.n); - var u2 = sinv.mul(r).umod(this.n); - var p; - - if (!this.curve._maxwellTrick) { - p = this.g.mulAdd(u1, key.getPublic(), u2); - if (p.isInfinity()) - return false; - - return p.getX().umod(this.n).cmp(r) === 0; - } - - // NOTE: Greg Maxwell's trick, inspired by: - // https://git.io/vad3K - - p = this.g.jmulAdd(u1, key.getPublic(), u2); - if (p.isInfinity()) - return false; - - // Compare `p.x` of Jacobian point with `r`, - // this will do `p.x == r * p.z^2` instead of multiplying `p.x` by the - // inverse of `p.z^2` - return p.eqXToP(r); -}; - -EC.prototype.recoverPubKey = function(msg, signature, j, enc) { - assert((3 & j) === j, 'The recovery param is more than two bits'); - signature = new Signature(signature, enc); - - var n = this.n; - var e = new BN(msg); - var r = signature.r; - var s = signature.s; - - // A set LSB signifies that the y-coordinate is odd - var isYOdd = j & 1; - var isSecondKey = j >> 1; - if (r.cmp(this.curve.p.umod(this.curve.n)) >= 0 && isSecondKey) - throw new Error('Unable to find sencond key candinate'); - - // 1.1. Let x = r + jn. - if (isSecondKey) - r = this.curve.pointFromX(r.add(this.curve.n), isYOdd); - else - r = this.curve.pointFromX(r, isYOdd); - - var rInv = signature.r.invm(n); - var s1 = n.sub(e).mul(rInv).umod(n); - var s2 = s.mul(rInv).umod(n); - - // 1.6.1 Compute Q = r^-1 (sR - eG) - // Q = r^-1 (sR + -eG) - return this.g.mulAdd(s1, r, s2); -}; - -EC.prototype.getKeyRecoveryParam = function(e, signature, Q, enc) { - signature = new Signature(signature, enc); - if (signature.recoveryParam !== null) - return signature.recoveryParam; - - for (var i = 0; i < 4; i++) { - var Qprime; - try { - Qprime = this.recoverPubKey(e, signature, i); - } catch (e) { - continue; - } - - if (Qprime.eq(Q)) - return i; - } - throw new Error('Unable to find valid recovery factor'); -}; - - -/***/ }), - -/***/ 95040: -/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { - - - -var BN = __nccwpck_require__(70234); -var utils = __nccwpck_require__(27027); -var assert = utils.assert; - -function KeyPair(ec, options) { - this.ec = ec; - this.priv = null; - this.pub = null; - - // KeyPair(ec, { priv: ..., pub: ... }) - if (options.priv) - this._importPrivate(options.priv, options.privEnc); - if (options.pub) - this._importPublic(options.pub, options.pubEnc); -} -module.exports = KeyPair; - -KeyPair.fromPublic = function fromPublic(ec, pub, enc) { - if (pub instanceof KeyPair) - return pub; - - return new KeyPair(ec, { - pub: pub, - pubEnc: enc, - }); -}; - -KeyPair.fromPrivate = function fromPrivate(ec, priv, enc) { - if (priv instanceof KeyPair) - return priv; - - return new KeyPair(ec, { - priv: priv, - privEnc: enc, - }); -}; - -KeyPair.prototype.validate = function validate() { - var pub = this.getPublic(); - - if (pub.isInfinity()) - return { result: false, reason: 'Invalid public key' }; - if (!pub.validate()) - return { result: false, reason: 'Public key is not a point' }; - if (!pub.mul(this.ec.curve.n).isInfinity()) - return { result: false, reason: 'Public key * N != O' }; - - return { result: true, reason: null }; -}; - -KeyPair.prototype.getPublic = function getPublic(compact, enc) { - // compact is optional argument - if (typeof compact === 'string') { - enc = compact; - compact = null; - } - - if (!this.pub) - this.pub = this.ec.g.mul(this.priv); - - if (!enc) - return this.pub; - - return this.pub.encode(enc, compact); -}; - -KeyPair.prototype.getPrivate = function getPrivate(enc) { - if (enc === 'hex') - return this.priv.toString(16, 2); - else - return this.priv; -}; - -KeyPair.prototype._importPrivate = function _importPrivate(key, enc) { - this.priv = new BN(key, enc || 16); - - // Ensure that the priv won't be bigger than n, otherwise we may fail - // in fixed multiplication method - this.priv = this.priv.umod(this.ec.curve.n); -}; - -KeyPair.prototype._importPublic = function _importPublic(key, enc) { - if (key.x || key.y) { - // Montgomery points only have an `x` coordinate. - // Weierstrass/Edwards points on the other hand have both `x` and - // `y` coordinates. - if (this.ec.curve.type === 'mont') { - assert(key.x, 'Need x coordinate'); - } else if (this.ec.curve.type === 'short' || - this.ec.curve.type === 'edwards') { - assert(key.x && key.y, 'Need both x and y coordinate'); - } - this.pub = this.ec.curve.point(key.x, key.y); - return; - } - this.pub = this.ec.curve.decodePoint(key, enc); -}; - -// ECDH -KeyPair.prototype.derive = function derive(pub) { - if(!pub.validate()) { - assert(pub.validate(), 'public point not validated'); - } - return pub.mul(this.priv).getX(); -}; - -// ECDSA -KeyPair.prototype.sign = function sign(msg, enc, options) { - return this.ec.sign(msg, this, enc, options); -}; - -KeyPair.prototype.verify = function verify(msg, signature) { - return this.ec.verify(msg, signature, this); -}; - -KeyPair.prototype.inspect = function inspect() { - return ''; -}; - - -/***/ }), - -/***/ 32721: -/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { - - - -var BN = __nccwpck_require__(70234); - -var utils = __nccwpck_require__(27027); -var assert = utils.assert; - -function Signature(options, enc) { - if (options instanceof Signature) - return options; - - if (this._importDER(options, enc)) - return; - - assert(options.r && options.s, 'Signature without r or s'); - this.r = new BN(options.r, 16); - this.s = new BN(options.s, 16); - if (options.recoveryParam === undefined) - this.recoveryParam = null; - else - this.recoveryParam = options.recoveryParam; -} -module.exports = Signature; - -function Position() { - this.place = 0; -} - -function getLength(buf, p) { - var initial = buf[p.place++]; - if (!(initial & 0x80)) { - return initial; - } - var octetLen = initial & 0xf; - - // Indefinite length or overflow - if (octetLen === 0 || octetLen > 4) { - return false; - } - - var val = 0; - for (var i = 0, off = p.place; i < octetLen; i++, off++) { - val <<= 8; - val |= buf[off]; - val >>>= 0; - } - - // Leading zeroes - if (val <= 0x7f) { - return false; - } - - p.place = off; - return val; -} - -function rmPadding(buf) { - var i = 0; - var len = buf.length - 1; - while (!buf[i] && !(buf[i + 1] & 0x80) && i < len) { - i++; - } - if (i === 0) { - return buf; - } - return buf.slice(i); -} - -Signature.prototype._importDER = function _importDER(data, enc) { - data = utils.toArray(data, enc); - var p = new Position(); - if (data[p.place++] !== 0x30) { - return false; - } - var len = getLength(data, p); - if (len === false) { - return false; - } - if ((len + p.place) !== data.length) { - return false; - } - if (data[p.place++] !== 0x02) { - return false; - } - var rlen = getLength(data, p); - if (rlen === false) { - return false; - } - var r = data.slice(p.place, rlen + p.place); - p.place += rlen; - if (data[p.place++] !== 0x02) { - return false; - } - var slen = getLength(data, p); - if (slen === false) { - return false; - } - if (data.length !== slen + p.place) { - return false; - } - var s = data.slice(p.place, slen + p.place); - if (r[0] === 0) { - if (r[1] & 0x80) { - r = r.slice(1); - } else { - // Leading zeroes - return false; - } - } - if (s[0] === 0) { - if (s[1] & 0x80) { - s = s.slice(1); - } else { - // Leading zeroes - return false; - } - } - - this.r = new BN(r); - this.s = new BN(s); - this.recoveryParam = null; - - return true; -}; - -function constructLength(arr, len) { - if (len < 0x80) { - arr.push(len); - return; - } - var octets = 1 + (Math.log(len) / Math.LN2 >>> 3); - arr.push(octets | 0x80); - while (--octets) { - arr.push((len >>> (octets << 3)) & 0xff); - } - arr.push(len); -} - -Signature.prototype.toDER = function toDER(enc) { - var r = this.r.toArray(); - var s = this.s.toArray(); - - // Pad values - if (r[0] & 0x80) - r = [ 0 ].concat(r); - // Pad values - if (s[0] & 0x80) - s = [ 0 ].concat(s); - - r = rmPadding(r); - s = rmPadding(s); - - while (!s[0] && !(s[1] & 0x80)) { - s = s.slice(1); - } - var arr = [ 0x02 ]; - constructLength(arr, r.length); - arr = arr.concat(r); - arr.push(0x02); - constructLength(arr, s.length); - var backHalf = arr.concat(s); - var res = [ 0x30 ]; - constructLength(res, backHalf.length); - res = res.concat(backHalf); - return utils.encode(res, enc); -}; - - -/***/ }), - -/***/ 2298: -/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { - - - -var hash = __nccwpck_require__(95632); -var curves = __nccwpck_require__(60304); -var utils = __nccwpck_require__(27027); -var assert = utils.assert; -var parseBytes = utils.parseBytes; -var KeyPair = __nccwpck_require__(32693); -var Signature = __nccwpck_require__(32316); - -function EDDSA(curve) { - assert(curve === 'ed25519', 'only tested with ed25519 so far'); - - if (!(this instanceof EDDSA)) - return new EDDSA(curve); - - curve = curves[curve].curve; - this.curve = curve; - this.g = curve.g; - this.g.precompute(curve.n.bitLength() + 1); - - this.pointClass = curve.point().constructor; - this.encodingLength = Math.ceil(curve.n.bitLength() / 8); - this.hash = hash.sha512; -} - -module.exports = EDDSA; - -/** -* @param {Array|String} message - message bytes -* @param {Array|String|KeyPair} secret - secret bytes or a keypair -* @returns {Signature} - signature -*/ -EDDSA.prototype.sign = function sign(message, secret) { - message = parseBytes(message); - var key = this.keyFromSecret(secret); - var r = this.hashInt(key.messagePrefix(), message); - var R = this.g.mul(r); - var Rencoded = this.encodePoint(R); - var s_ = this.hashInt(Rencoded, key.pubBytes(), message) - .mul(key.priv()); - var S = r.add(s_).umod(this.curve.n); - return this.makeSignature({ R: R, S: S, Rencoded: Rencoded }); -}; - -/** -* @param {Array} message - message bytes -* @param {Array|String|Signature} sig - sig bytes -* @param {Array|String|Point|KeyPair} pub - public key -* @returns {Boolean} - true if public key matches sig of message -*/ -EDDSA.prototype.verify = function verify(message, sig, pub) { - message = parseBytes(message); - sig = this.makeSignature(sig); - var key = this.keyFromPublic(pub); - var h = this.hashInt(sig.Rencoded(), key.pubBytes(), message); - var SG = this.g.mul(sig.S()); - var RplusAh = sig.R().add(key.pub().mul(h)); - return RplusAh.eq(SG); -}; - -EDDSA.prototype.hashInt = function hashInt() { - var hash = this.hash(); - for (var i = 0; i < arguments.length; i++) - hash.update(arguments[i]); - return utils.intFromLE(hash.digest()).umod(this.curve.n); -}; - -EDDSA.prototype.keyFromPublic = function keyFromPublic(pub) { - return KeyPair.fromPublic(this, pub); -}; - -EDDSA.prototype.keyFromSecret = function keyFromSecret(secret) { - return KeyPair.fromSecret(this, secret); -}; - -EDDSA.prototype.makeSignature = function makeSignature(sig) { - if (sig instanceof Signature) - return sig; - return new Signature(this, sig); -}; - -/** -* * https://tools.ietf.org/html/draft-josefsson-eddsa-ed25519-03#section-5.2 -* -* EDDSA defines methods for encoding and decoding points and integers. These are -* helper convenience methods, that pass along to utility functions implied -* parameters. -* -*/ -EDDSA.prototype.encodePoint = function encodePoint(point) { - var enc = point.getY().toArray('le', this.encodingLength); - enc[this.encodingLength - 1] |= point.getX().isOdd() ? 0x80 : 0; - return enc; -}; - -EDDSA.prototype.decodePoint = function decodePoint(bytes) { - bytes = utils.parseBytes(bytes); - - var lastIx = bytes.length - 1; - var normed = bytes.slice(0, lastIx).concat(bytes[lastIx] & ~0x80); - var xIsOdd = (bytes[lastIx] & 0x80) !== 0; - - var y = utils.intFromLE(normed); - return this.curve.pointFromY(y, xIsOdd); -}; - -EDDSA.prototype.encodeInt = function encodeInt(num) { - return num.toArray('le', this.encodingLength); -}; - -EDDSA.prototype.decodeInt = function decodeInt(bytes) { - return utils.intFromLE(bytes); -}; - -EDDSA.prototype.isPoint = function isPoint(val) { - return val instanceof this.pointClass; -}; - - -/***/ }), - -/***/ 32693: -/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { - - - -var utils = __nccwpck_require__(27027); -var assert = utils.assert; -var parseBytes = utils.parseBytes; -var cachedProperty = utils.cachedProperty; - -/** -* @param {EDDSA} eddsa - instance -* @param {Object} params - public/private key parameters -* -* @param {Array} [params.secret] - secret seed bytes -* @param {Point} [params.pub] - public key point (aka `A` in eddsa terms) -* @param {Array} [params.pub] - public key point encoded as bytes -* -*/ -function KeyPair(eddsa, params) { - this.eddsa = eddsa; - this._secret = parseBytes(params.secret); - if (eddsa.isPoint(params.pub)) - this._pub = params.pub; - else - this._pubBytes = parseBytes(params.pub); -} - -KeyPair.fromPublic = function fromPublic(eddsa, pub) { - if (pub instanceof KeyPair) - return pub; - return new KeyPair(eddsa, { pub: pub }); -}; - -KeyPair.fromSecret = function fromSecret(eddsa, secret) { - if (secret instanceof KeyPair) - return secret; - return new KeyPair(eddsa, { secret: secret }); -}; - -KeyPair.prototype.secret = function secret() { - return this._secret; -}; - -cachedProperty(KeyPair, 'pubBytes', function pubBytes() { - return this.eddsa.encodePoint(this.pub()); -}); - -cachedProperty(KeyPair, 'pub', function pub() { - if (this._pubBytes) - return this.eddsa.decodePoint(this._pubBytes); - return this.eddsa.g.mul(this.priv()); -}); - -cachedProperty(KeyPair, 'privBytes', function privBytes() { - var eddsa = this.eddsa; - var hash = this.hash(); - var lastIx = eddsa.encodingLength - 1; - - var a = hash.slice(0, eddsa.encodingLength); - a[0] &= 248; - a[lastIx] &= 127; - a[lastIx] |= 64; - - return a; -}); - -cachedProperty(KeyPair, 'priv', function priv() { - return this.eddsa.decodeInt(this.privBytes()); -}); - -cachedProperty(KeyPair, 'hash', function hash() { - return this.eddsa.hash().update(this.secret()).digest(); -}); - -cachedProperty(KeyPair, 'messagePrefix', function messagePrefix() { - return this.hash().slice(this.eddsa.encodingLength); -}); - -KeyPair.prototype.sign = function sign(message) { - assert(this._secret, 'KeyPair can only verify'); - return this.eddsa.sign(message, this); -}; - -KeyPair.prototype.verify = function verify(message, sig) { - return this.eddsa.verify(message, sig, this); -}; - -KeyPair.prototype.getSecret = function getSecret(enc) { - assert(this._secret, 'KeyPair is public only'); - return utils.encode(this.secret(), enc); -}; - -KeyPair.prototype.getPublic = function getPublic(enc) { - return utils.encode(this.pubBytes(), enc); -}; - -module.exports = KeyPair; - - -/***/ }), - -/***/ 32316: -/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { - - - -var BN = __nccwpck_require__(70234); -var utils = __nccwpck_require__(27027); -var assert = utils.assert; -var cachedProperty = utils.cachedProperty; -var parseBytes = utils.parseBytes; - -/** -* @param {EDDSA} eddsa - eddsa instance -* @param {Array|Object} sig - -* @param {Array|Point} [sig.R] - R point as Point or bytes -* @param {Array|bn} [sig.S] - S scalar as bn or bytes -* @param {Array} [sig.Rencoded] - R point encoded -* @param {Array} [sig.Sencoded] - S scalar encoded -*/ -function Signature(eddsa, sig) { - this.eddsa = eddsa; - - if (typeof sig !== 'object') - sig = parseBytes(sig); - - if (Array.isArray(sig)) { - sig = { - R: sig.slice(0, eddsa.encodingLength), - S: sig.slice(eddsa.encodingLength), - }; - } - - assert(sig.R && sig.S, 'Signature without R or S'); - - if (eddsa.isPoint(sig.R)) - this._R = sig.R; - if (sig.S instanceof BN) - this._S = sig.S; - - this._Rencoded = Array.isArray(sig.R) ? sig.R : sig.Rencoded; - this._Sencoded = Array.isArray(sig.S) ? sig.S : sig.Sencoded; -} - -cachedProperty(Signature, 'S', function S() { - return this.eddsa.decodeInt(this.Sencoded()); -}); - -cachedProperty(Signature, 'R', function R() { - return this.eddsa.decodePoint(this.Rencoded()); -}); - -cachedProperty(Signature, 'Rencoded', function Rencoded() { - return this.eddsa.encodePoint(this.R()); -}); - -cachedProperty(Signature, 'Sencoded', function Sencoded() { - return this.eddsa.encodeInt(this.S()); -}); - -Signature.prototype.toBytes = function toBytes() { - return this.Rencoded().concat(this.Sencoded()); -}; - -Signature.prototype.toHex = function toHex() { - return utils.encode(this.toBytes(), 'hex').toUpperCase(); -}; - -module.exports = Signature; - - -/***/ }), - -/***/ 8427: -/***/ ((module) => { - -module.exports = { - doubles: { - step: 4, - points: [ - [ - 'e60fce93b59e9ec53011aabc21c23e97b2a31369b87a5ae9c44ee89e2a6dec0a', - 'f7e3507399e595929db99f34f57937101296891e44d23f0be1f32cce69616821', - ], - [ - '8282263212c609d9ea2a6e3e172de238d8c39cabd5ac1ca10646e23fd5f51508', - '11f8a8098557dfe45e8256e830b60ace62d613ac2f7b17bed31b6eaff6e26caf', - ], - [ - '175e159f728b865a72f99cc6c6fc846de0b93833fd2222ed73fce5b551e5b739', - 'd3506e0d9e3c79eba4ef97a51ff71f5eacb5955add24345c6efa6ffee9fed695', - ], - [ - '363d90d447b00c9c99ceac05b6262ee053441c7e55552ffe526bad8f83ff4640', - '4e273adfc732221953b445397f3363145b9a89008199ecb62003c7f3bee9de9', - ], - [ - '8b4b5f165df3c2be8c6244b5b745638843e4a781a15bcd1b69f79a55dffdf80c', - '4aad0a6f68d308b4b3fbd7813ab0da04f9e336546162ee56b3eff0c65fd4fd36', - ], - [ - '723cbaa6e5db996d6bf771c00bd548c7b700dbffa6c0e77bcb6115925232fcda', - '96e867b5595cc498a921137488824d6e2660a0653779494801dc069d9eb39f5f', - ], - [ - 'eebfa4d493bebf98ba5feec812c2d3b50947961237a919839a533eca0e7dd7fa', - '5d9a8ca3970ef0f269ee7edaf178089d9ae4cdc3a711f712ddfd4fdae1de8999', - ], - [ - '100f44da696e71672791d0a09b7bde459f1215a29b3c03bfefd7835b39a48db0', - 'cdd9e13192a00b772ec8f3300c090666b7ff4a18ff5195ac0fbd5cd62bc65a09', - ], - [ - 'e1031be262c7ed1b1dc9227a4a04c017a77f8d4464f3b3852c8acde6e534fd2d', - '9d7061928940405e6bb6a4176597535af292dd419e1ced79a44f18f29456a00d', - ], - [ - 'feea6cae46d55b530ac2839f143bd7ec5cf8b266a41d6af52d5e688d9094696d', - 'e57c6b6c97dce1bab06e4e12bf3ecd5c981c8957cc41442d3155debf18090088', - ], - [ - 'da67a91d91049cdcb367be4be6ffca3cfeed657d808583de33fa978bc1ec6cb1', - '9bacaa35481642bc41f463f7ec9780e5dec7adc508f740a17e9ea8e27a68be1d', - ], - [ - '53904faa0b334cdda6e000935ef22151ec08d0f7bb11069f57545ccc1a37b7c0', - '5bc087d0bc80106d88c9eccac20d3c1c13999981e14434699dcb096b022771c8', - ], - [ - '8e7bcd0bd35983a7719cca7764ca906779b53a043a9b8bcaeff959f43ad86047', - '10b7770b2a3da4b3940310420ca9514579e88e2e47fd68b3ea10047e8460372a', - ], - [ - '385eed34c1cdff21e6d0818689b81bde71a7f4f18397e6690a841e1599c43862', - '283bebc3e8ea23f56701de19e9ebf4576b304eec2086dc8cc0458fe5542e5453', - ], - [ - '6f9d9b803ecf191637c73a4413dfa180fddf84a5947fbc9c606ed86c3fac3a7', - '7c80c68e603059ba69b8e2a30e45c4d47ea4dd2f5c281002d86890603a842160', - ], - [ - '3322d401243c4e2582a2147c104d6ecbf774d163db0f5e5313b7e0e742d0e6bd', - '56e70797e9664ef5bfb019bc4ddaf9b72805f63ea2873af624f3a2e96c28b2a0', - ], - [ - '85672c7d2de0b7da2bd1770d89665868741b3f9af7643397721d74d28134ab83', - '7c481b9b5b43b2eb6374049bfa62c2e5e77f17fcc5298f44c8e3094f790313a6', - ], - [ - '948bf809b1988a46b06c9f1919413b10f9226c60f668832ffd959af60c82a0a', - '53a562856dcb6646dc6b74c5d1c3418c6d4dff08c97cd2bed4cb7f88d8c8e589', - ], - [ - '6260ce7f461801c34f067ce0f02873a8f1b0e44dfc69752accecd819f38fd8e8', - 'bc2da82b6fa5b571a7f09049776a1ef7ecd292238051c198c1a84e95b2b4ae17', - ], - [ - 'e5037de0afc1d8d43d8348414bbf4103043ec8f575bfdc432953cc8d2037fa2d', - '4571534baa94d3b5f9f98d09fb990bddbd5f5b03ec481f10e0e5dc841d755bda', - ], - [ - 'e06372b0f4a207adf5ea905e8f1771b4e7e8dbd1c6a6c5b725866a0ae4fce725', - '7a908974bce18cfe12a27bb2ad5a488cd7484a7787104870b27034f94eee31dd', - ], - [ - '213c7a715cd5d45358d0bbf9dc0ce02204b10bdde2a3f58540ad6908d0559754', - '4b6dad0b5ae462507013ad06245ba190bb4850f5f36a7eeddff2c27534b458f2', - ], - [ - '4e7c272a7af4b34e8dbb9352a5419a87e2838c70adc62cddf0cc3a3b08fbd53c', - '17749c766c9d0b18e16fd09f6def681b530b9614bff7dd33e0b3941817dcaae6', - ], - [ - 'fea74e3dbe778b1b10f238ad61686aa5c76e3db2be43057632427e2840fb27b6', - '6e0568db9b0b13297cf674deccb6af93126b596b973f7b77701d3db7f23cb96f', - ], - [ - '76e64113f677cf0e10a2570d599968d31544e179b760432952c02a4417bdde39', - 'c90ddf8dee4e95cf577066d70681f0d35e2a33d2b56d2032b4b1752d1901ac01', - ], - [ - 'c738c56b03b2abe1e8281baa743f8f9a8f7cc643df26cbee3ab150242bcbb891', - '893fb578951ad2537f718f2eacbfbbbb82314eef7880cfe917e735d9699a84c3', - ], - [ - 'd895626548b65b81e264c7637c972877d1d72e5f3a925014372e9f6588f6c14b', - 'febfaa38f2bc7eae728ec60818c340eb03428d632bb067e179363ed75d7d991f', - ], - [ - 'b8da94032a957518eb0f6433571e8761ceffc73693e84edd49150a564f676e03', - '2804dfa44805a1e4d7c99cc9762808b092cc584d95ff3b511488e4e74efdf6e7', - ], - [ - 'e80fea14441fb33a7d8adab9475d7fab2019effb5156a792f1a11778e3c0df5d', - 'eed1de7f638e00771e89768ca3ca94472d155e80af322ea9fcb4291b6ac9ec78', - ], - [ - 'a301697bdfcd704313ba48e51d567543f2a182031efd6915ddc07bbcc4e16070', - '7370f91cfb67e4f5081809fa25d40f9b1735dbf7c0a11a130c0d1a041e177ea1', - ], - [ - '90ad85b389d6b936463f9d0512678de208cc330b11307fffab7ac63e3fb04ed4', - 'e507a3620a38261affdcbd9427222b839aefabe1582894d991d4d48cb6ef150', - ], - [ - '8f68b9d2f63b5f339239c1ad981f162ee88c5678723ea3351b7b444c9ec4c0da', - '662a9f2dba063986de1d90c2b6be215dbbea2cfe95510bfdf23cbf79501fff82', - ], - [ - 'e4f3fb0176af85d65ff99ff9198c36091f48e86503681e3e6686fd5053231e11', - '1e63633ad0ef4f1c1661a6d0ea02b7286cc7e74ec951d1c9822c38576feb73bc', - ], - [ - '8c00fa9b18ebf331eb961537a45a4266c7034f2f0d4e1d0716fb6eae20eae29e', - 'efa47267fea521a1a9dc343a3736c974c2fadafa81e36c54e7d2a4c66702414b', - ], - [ - 'e7a26ce69dd4829f3e10cec0a9e98ed3143d084f308b92c0997fddfc60cb3e41', - '2a758e300fa7984b471b006a1aafbb18d0a6b2c0420e83e20e8a9421cf2cfd51', - ], - [ - 'b6459e0ee3662ec8d23540c223bcbdc571cbcb967d79424f3cf29eb3de6b80ef', - '67c876d06f3e06de1dadf16e5661db3c4b3ae6d48e35b2ff30bf0b61a71ba45', - ], - [ - 'd68a80c8280bb840793234aa118f06231d6f1fc67e73c5a5deda0f5b496943e8', - 'db8ba9fff4b586d00c4b1f9177b0e28b5b0e7b8f7845295a294c84266b133120', - ], - [ - '324aed7df65c804252dc0270907a30b09612aeb973449cea4095980fc28d3d5d', - '648a365774b61f2ff130c0c35aec1f4f19213b0c7e332843967224af96ab7c84', - ], - [ - '4df9c14919cde61f6d51dfdbe5fee5dceec4143ba8d1ca888e8bd373fd054c96', - '35ec51092d8728050974c23a1d85d4b5d506cdc288490192ebac06cad10d5d', - ], - [ - '9c3919a84a474870faed8a9c1cc66021523489054d7f0308cbfc99c8ac1f98cd', - 'ddb84f0f4a4ddd57584f044bf260e641905326f76c64c8e6be7e5e03d4fc599d', - ], - [ - '6057170b1dd12fdf8de05f281d8e06bb91e1493a8b91d4cc5a21382120a959e5', - '9a1af0b26a6a4807add9a2daf71df262465152bc3ee24c65e899be932385a2a8', - ], - [ - 'a576df8e23a08411421439a4518da31880cef0fba7d4df12b1a6973eecb94266', - '40a6bf20e76640b2c92b97afe58cd82c432e10a7f514d9f3ee8be11ae1b28ec8', - ], - [ - '7778a78c28dec3e30a05fe9629de8c38bb30d1f5cf9a3a208f763889be58ad71', - '34626d9ab5a5b22ff7098e12f2ff580087b38411ff24ac563b513fc1fd9f43ac', - ], - [ - '928955ee637a84463729fd30e7afd2ed5f96274e5ad7e5cb09eda9c06d903ac', - 'c25621003d3f42a827b78a13093a95eeac3d26efa8a8d83fc5180e935bcd091f', - ], - [ - '85d0fef3ec6db109399064f3a0e3b2855645b4a907ad354527aae75163d82751', - '1f03648413a38c0be29d496e582cf5663e8751e96877331582c237a24eb1f962', - ], - [ - 'ff2b0dce97eece97c1c9b6041798b85dfdfb6d8882da20308f5404824526087e', - '493d13fef524ba188af4c4dc54d07936c7b7ed6fb90e2ceb2c951e01f0c29907', - ], - [ - '827fbbe4b1e880ea9ed2b2e6301b212b57f1ee148cd6dd28780e5e2cf856e241', - 'c60f9c923c727b0b71bef2c67d1d12687ff7a63186903166d605b68baec293ec', - ], - [ - 'eaa649f21f51bdbae7be4ae34ce6e5217a58fdce7f47f9aa7f3b58fa2120e2b3', - 'be3279ed5bbbb03ac69a80f89879aa5a01a6b965f13f7e59d47a5305ba5ad93d', - ], - [ - 'e4a42d43c5cf169d9391df6decf42ee541b6d8f0c9a137401e23632dda34d24f', - '4d9f92e716d1c73526fc99ccfb8ad34ce886eedfa8d8e4f13a7f7131deba9414', - ], - [ - '1ec80fef360cbdd954160fadab352b6b92b53576a88fea4947173b9d4300bf19', - 'aeefe93756b5340d2f3a4958a7abbf5e0146e77f6295a07b671cdc1cc107cefd', - ], - [ - '146a778c04670c2f91b00af4680dfa8bce3490717d58ba889ddb5928366642be', - 'b318e0ec3354028add669827f9d4b2870aaa971d2f7e5ed1d0b297483d83efd0', - ], - [ - 'fa50c0f61d22e5f07e3acebb1aa07b128d0012209a28b9776d76a8793180eef9', - '6b84c6922397eba9b72cd2872281a68a5e683293a57a213b38cd8d7d3f4f2811', - ], - [ - 'da1d61d0ca721a11b1a5bf6b7d88e8421a288ab5d5bba5220e53d32b5f067ec2', - '8157f55a7c99306c79c0766161c91e2966a73899d279b48a655fba0f1ad836f1', - ], - [ - 'a8e282ff0c9706907215ff98e8fd416615311de0446f1e062a73b0610d064e13', - '7f97355b8db81c09abfb7f3c5b2515888b679a3e50dd6bd6cef7c73111f4cc0c', - ], - [ - '174a53b9c9a285872d39e56e6913cab15d59b1fa512508c022f382de8319497c', - 'ccc9dc37abfc9c1657b4155f2c47f9e6646b3a1d8cb9854383da13ac079afa73', - ], - [ - '959396981943785c3d3e57edf5018cdbe039e730e4918b3d884fdff09475b7ba', - '2e7e552888c331dd8ba0386a4b9cd6849c653f64c8709385e9b8abf87524f2fd', - ], - [ - 'd2a63a50ae401e56d645a1153b109a8fcca0a43d561fba2dbb51340c9d82b151', - 'e82d86fb6443fcb7565aee58b2948220a70f750af484ca52d4142174dcf89405', - ], - [ - '64587e2335471eb890ee7896d7cfdc866bacbdbd3839317b3436f9b45617e073', - 'd99fcdd5bf6902e2ae96dd6447c299a185b90a39133aeab358299e5e9faf6589', - ], - [ - '8481bde0e4e4d885b3a546d3e549de042f0aa6cea250e7fd358d6c86dd45e458', - '38ee7b8cba5404dd84a25bf39cecb2ca900a79c42b262e556d64b1b59779057e', - ], - [ - '13464a57a78102aa62b6979ae817f4637ffcfed3c4b1ce30bcd6303f6caf666b', - '69be159004614580ef7e433453ccb0ca48f300a81d0942e13f495a907f6ecc27', - ], - [ - 'bc4a9df5b713fe2e9aef430bcc1dc97a0cd9ccede2f28588cada3a0d2d83f366', - 'd3a81ca6e785c06383937adf4b798caa6e8a9fbfa547b16d758d666581f33c1', - ], - [ - '8c28a97bf8298bc0d23d8c749452a32e694b65e30a9472a3954ab30fe5324caa', - '40a30463a3305193378fedf31f7cc0eb7ae784f0451cb9459e71dc73cbef9482', - ], - [ - '8ea9666139527a8c1dd94ce4f071fd23c8b350c5a4bb33748c4ba111faccae0', - '620efabbc8ee2782e24e7c0cfb95c5d735b783be9cf0f8e955af34a30e62b945', - ], - [ - 'dd3625faef5ba06074669716bbd3788d89bdde815959968092f76cc4eb9a9787', - '7a188fa3520e30d461da2501045731ca941461982883395937f68d00c644a573', - ], - [ - 'f710d79d9eb962297e4f6232b40e8f7feb2bc63814614d692c12de752408221e', - 'ea98e67232d3b3295d3b535532115ccac8612c721851617526ae47a9c77bfc82', - ], - ], - }, - naf: { - wnd: 7, - points: [ - [ - 'f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9', - '388f7b0f632de8140fe337e62a37f3566500a99934c2231b6cb9fd7584b8e672', - ], - [ - '2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4', - 'd8ac222636e5e3d6d4dba9dda6c9c426f788271bab0d6840dca87d3aa6ac62d6', - ], - [ - '5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc', - '6aebca40ba255960a3178d6d861a54dba813d0b813fde7b5a5082628087264da', - ], - [ - 'acd484e2f0c7f65309ad178a9f559abde09796974c57e714c35f110dfc27ccbe', - 'cc338921b0a7d9fd64380971763b61e9add888a4375f8e0f05cc262ac64f9c37', - ], - [ - '774ae7f858a9411e5ef4246b70c65aac5649980be5c17891bbec17895da008cb', - 'd984a032eb6b5e190243dd56d7b7b365372db1e2dff9d6a8301d74c9c953c61b', - ], - [ - 'f28773c2d975288bc7d1d205c3748651b075fbc6610e58cddeeddf8f19405aa8', - 'ab0902e8d880a89758212eb65cdaf473a1a06da521fa91f29b5cb52db03ed81', - ], - [ - 'd7924d4f7d43ea965a465ae3095ff41131e5946f3c85f79e44adbcf8e27e080e', - '581e2872a86c72a683842ec228cc6defea40af2bd896d3a5c504dc9ff6a26b58', - ], - [ - 'defdea4cdb677750a420fee807eacf21eb9898ae79b9768766e4faa04a2d4a34', - '4211ab0694635168e997b0ead2a93daeced1f4a04a95c0f6cfb199f69e56eb77', - ], - [ - '2b4ea0a797a443d293ef5cff444f4979f06acfebd7e86d277475656138385b6c', - '85e89bc037945d93b343083b5a1c86131a01f60c50269763b570c854e5c09b7a', - ], - [ - '352bbf4a4cdd12564f93fa332ce333301d9ad40271f8107181340aef25be59d5', - '321eb4075348f534d59c18259dda3e1f4a1b3b2e71b1039c67bd3d8bcf81998c', - ], - [ - '2fa2104d6b38d11b0230010559879124e42ab8dfeff5ff29dc9cdadd4ecacc3f', - '2de1068295dd865b64569335bd5dd80181d70ecfc882648423ba76b532b7d67', - ], - [ - '9248279b09b4d68dab21a9b066edda83263c3d84e09572e269ca0cd7f5453714', - '73016f7bf234aade5d1aa71bdea2b1ff3fc0de2a887912ffe54a32ce97cb3402', - ], - [ - 'daed4f2be3a8bf278e70132fb0beb7522f570e144bf615c07e996d443dee8729', - 'a69dce4a7d6c98e8d4a1aca87ef8d7003f83c230f3afa726ab40e52290be1c55', - ], - [ - 'c44d12c7065d812e8acf28d7cbb19f9011ecd9e9fdf281b0e6a3b5e87d22e7db', - '2119a460ce326cdc76c45926c982fdac0e106e861edf61c5a039063f0e0e6482', - ], - [ - '6a245bf6dc698504c89a20cfded60853152b695336c28063b61c65cbd269e6b4', - 'e022cf42c2bd4a708b3f5126f16a24ad8b33ba48d0423b6efd5e6348100d8a82', - ], - [ - '1697ffa6fd9de627c077e3d2fe541084ce13300b0bec1146f95ae57f0d0bd6a5', - 'b9c398f186806f5d27561506e4557433a2cf15009e498ae7adee9d63d01b2396', - ], - [ - '605bdb019981718b986d0f07e834cb0d9deb8360ffb7f61df982345ef27a7479', - '2972d2de4f8d20681a78d93ec96fe23c26bfae84fb14db43b01e1e9056b8c49', - ], - [ - '62d14dab4150bf497402fdc45a215e10dcb01c354959b10cfe31c7e9d87ff33d', - '80fc06bd8cc5b01098088a1950eed0db01aa132967ab472235f5642483b25eaf', - ], - [ - '80c60ad0040f27dade5b4b06c408e56b2c50e9f56b9b8b425e555c2f86308b6f', - '1c38303f1cc5c30f26e66bad7fe72f70a65eed4cbe7024eb1aa01f56430bd57a', - ], - [ - '7a9375ad6167ad54aa74c6348cc54d344cc5dc9487d847049d5eabb0fa03c8fb', - 'd0e3fa9eca8726909559e0d79269046bdc59ea10c70ce2b02d499ec224dc7f7', - ], - [ - 'd528ecd9b696b54c907a9ed045447a79bb408ec39b68df504bb51f459bc3ffc9', - 'eecf41253136e5f99966f21881fd656ebc4345405c520dbc063465b521409933', - ], - [ - '49370a4b5f43412ea25f514e8ecdad05266115e4a7ecb1387231808f8b45963', - '758f3f41afd6ed428b3081b0512fd62a54c3f3afbb5b6764b653052a12949c9a', - ], - [ - '77f230936ee88cbbd73df930d64702ef881d811e0e1498e2f1c13eb1fc345d74', - '958ef42a7886b6400a08266e9ba1b37896c95330d97077cbbe8eb3c7671c60d6', - ], - [ - 'f2dac991cc4ce4b9ea44887e5c7c0bce58c80074ab9d4dbaeb28531b7739f530', - 'e0dedc9b3b2f8dad4da1f32dec2531df9eb5fbeb0598e4fd1a117dba703a3c37', - ], - [ - '463b3d9f662621fb1b4be8fbbe2520125a216cdfc9dae3debcba4850c690d45b', - '5ed430d78c296c3543114306dd8622d7c622e27c970a1de31cb377b01af7307e', - ], - [ - 'f16f804244e46e2a09232d4aff3b59976b98fac14328a2d1a32496b49998f247', - 'cedabd9b82203f7e13d206fcdf4e33d92a6c53c26e5cce26d6579962c4e31df6', - ], - [ - 'caf754272dc84563b0352b7a14311af55d245315ace27c65369e15f7151d41d1', - 'cb474660ef35f5f2a41b643fa5e460575f4fa9b7962232a5c32f908318a04476', - ], - [ - '2600ca4b282cb986f85d0f1709979d8b44a09c07cb86d7c124497bc86f082120', - '4119b88753c15bd6a693b03fcddbb45d5ac6be74ab5f0ef44b0be9475a7e4b40', - ], - [ - '7635ca72d7e8432c338ec53cd12220bc01c48685e24f7dc8c602a7746998e435', - '91b649609489d613d1d5e590f78e6d74ecfc061d57048bad9e76f302c5b9c61', - ], - [ - '754e3239f325570cdbbf4a87deee8a66b7f2b33479d468fbc1a50743bf56cc18', - '673fb86e5bda30fb3cd0ed304ea49a023ee33d0197a695d0c5d98093c536683', - ], - [ - 'e3e6bd1071a1e96aff57859c82d570f0330800661d1c952f9fe2694691d9b9e8', - '59c9e0bba394e76f40c0aa58379a3cb6a5a2283993e90c4167002af4920e37f5', - ], - [ - '186b483d056a033826ae73d88f732985c4ccb1f32ba35f4b4cc47fdcf04aa6eb', - '3b952d32c67cf77e2e17446e204180ab21fb8090895138b4a4a797f86e80888b', - ], - [ - 'df9d70a6b9876ce544c98561f4be4f725442e6d2b737d9c91a8321724ce0963f', - '55eb2dafd84d6ccd5f862b785dc39d4ab157222720ef9da217b8c45cf2ba2417', - ], - [ - '5edd5cc23c51e87a497ca815d5dce0f8ab52554f849ed8995de64c5f34ce7143', - 'efae9c8dbc14130661e8cec030c89ad0c13c66c0d17a2905cdc706ab7399a868', - ], - [ - '290798c2b6476830da12fe02287e9e777aa3fba1c355b17a722d362f84614fba', - 'e38da76dcd440621988d00bcf79af25d5b29c094db2a23146d003afd41943e7a', - ], - [ - 'af3c423a95d9f5b3054754efa150ac39cd29552fe360257362dfdecef4053b45', - 'f98a3fd831eb2b749a93b0e6f35cfb40c8cd5aa667a15581bc2feded498fd9c6', - ], - [ - '766dbb24d134e745cccaa28c99bf274906bb66b26dcf98df8d2fed50d884249a', - '744b1152eacbe5e38dcc887980da38b897584a65fa06cedd2c924f97cbac5996', - ], - [ - '59dbf46f8c94759ba21277c33784f41645f7b44f6c596a58ce92e666191abe3e', - 'c534ad44175fbc300f4ea6ce648309a042ce739a7919798cd85e216c4a307f6e', - ], - [ - 'f13ada95103c4537305e691e74e9a4a8dd647e711a95e73cb62dc6018cfd87b8', - 'e13817b44ee14de663bf4bc808341f326949e21a6a75c2570778419bdaf5733d', - ], - [ - '7754b4fa0e8aced06d4167a2c59cca4cda1869c06ebadfb6488550015a88522c', - '30e93e864e669d82224b967c3020b8fa8d1e4e350b6cbcc537a48b57841163a2', - ], - [ - '948dcadf5990e048aa3874d46abef9d701858f95de8041d2a6828c99e2262519', - 'e491a42537f6e597d5d28a3224b1bc25df9154efbd2ef1d2cbba2cae5347d57e', - ], - [ - '7962414450c76c1689c7b48f8202ec37fb224cf5ac0bfa1570328a8a3d7c77ab', - '100b610ec4ffb4760d5c1fc133ef6f6b12507a051f04ac5760afa5b29db83437', - ], - [ - '3514087834964b54b15b160644d915485a16977225b8847bb0dd085137ec47ca', - 'ef0afbb2056205448e1652c48e8127fc6039e77c15c2378b7e7d15a0de293311', - ], - [ - 'd3cc30ad6b483e4bc79ce2c9dd8bc54993e947eb8df787b442943d3f7b527eaf', - '8b378a22d827278d89c5e9be8f9508ae3c2ad46290358630afb34db04eede0a4', - ], - [ - '1624d84780732860ce1c78fcbfefe08b2b29823db913f6493975ba0ff4847610', - '68651cf9b6da903e0914448c6cd9d4ca896878f5282be4c8cc06e2a404078575', - ], - [ - '733ce80da955a8a26902c95633e62a985192474b5af207da6df7b4fd5fc61cd4', - 'f5435a2bd2badf7d485a4d8b8db9fcce3e1ef8e0201e4578c54673bc1dc5ea1d', - ], - [ - '15d9441254945064cf1a1c33bbd3b49f8966c5092171e699ef258dfab81c045c', - 'd56eb30b69463e7234f5137b73b84177434800bacebfc685fc37bbe9efe4070d', - ], - [ - 'a1d0fcf2ec9de675b612136e5ce70d271c21417c9d2b8aaaac138599d0717940', - 'edd77f50bcb5a3cab2e90737309667f2641462a54070f3d519212d39c197a629', - ], - [ - 'e22fbe15c0af8ccc5780c0735f84dbe9a790badee8245c06c7ca37331cb36980', - 'a855babad5cd60c88b430a69f53a1a7a38289154964799be43d06d77d31da06', - ], - [ - '311091dd9860e8e20ee13473c1155f5f69635e394704eaa74009452246cfa9b3', - '66db656f87d1f04fffd1f04788c06830871ec5a64feee685bd80f0b1286d8374', - ], - [ - '34c1fd04d301be89b31c0442d3e6ac24883928b45a9340781867d4232ec2dbdf', - '9414685e97b1b5954bd46f730174136d57f1ceeb487443dc5321857ba73abee', - ], - [ - 'f219ea5d6b54701c1c14de5b557eb42a8d13f3abbcd08affcc2a5e6b049b8d63', - '4cb95957e83d40b0f73af4544cccf6b1f4b08d3c07b27fb8d8c2962a400766d1', - ], - [ - 'd7b8740f74a8fbaab1f683db8f45de26543a5490bca627087236912469a0b448', - 'fa77968128d9c92ee1010f337ad4717eff15db5ed3c049b3411e0315eaa4593b', - ], - [ - '32d31c222f8f6f0ef86f7c98d3a3335ead5bcd32abdd94289fe4d3091aa824bf', - '5f3032f5892156e39ccd3d7915b9e1da2e6dac9e6f26e961118d14b8462e1661', - ], - [ - '7461f371914ab32671045a155d9831ea8793d77cd59592c4340f86cbc18347b5', - '8ec0ba238b96bec0cbdddcae0aa442542eee1ff50c986ea6b39847b3cc092ff6', - ], - [ - 'ee079adb1df1860074356a25aa38206a6d716b2c3e67453d287698bad7b2b2d6', - '8dc2412aafe3be5c4c5f37e0ecc5f9f6a446989af04c4e25ebaac479ec1c8c1e', - ], - [ - '16ec93e447ec83f0467b18302ee620f7e65de331874c9dc72bfd8616ba9da6b5', - '5e4631150e62fb40d0e8c2a7ca5804a39d58186a50e497139626778e25b0674d', - ], - [ - 'eaa5f980c245f6f038978290afa70b6bd8855897f98b6aa485b96065d537bd99', - 'f65f5d3e292c2e0819a528391c994624d784869d7e6ea67fb18041024edc07dc', - ], - [ - '78c9407544ac132692ee1910a02439958ae04877151342ea96c4b6b35a49f51', - 'f3e0319169eb9b85d5404795539a5e68fa1fbd583c064d2462b675f194a3ddb4', - ], - [ - '494f4be219a1a77016dcd838431aea0001cdc8ae7a6fc688726578d9702857a5', - '42242a969283a5f339ba7f075e36ba2af925ce30d767ed6e55f4b031880d562c', - ], - [ - 'a598a8030da6d86c6bc7f2f5144ea549d28211ea58faa70ebf4c1e665c1fe9b5', - '204b5d6f84822c307e4b4a7140737aec23fc63b65b35f86a10026dbd2d864e6b', - ], - [ - 'c41916365abb2b5d09192f5f2dbeafec208f020f12570a184dbadc3e58595997', - '4f14351d0087efa49d245b328984989d5caf9450f34bfc0ed16e96b58fa9913', - ], - [ - '841d6063a586fa475a724604da03bc5b92a2e0d2e0a36acfe4c73a5514742881', - '73867f59c0659e81904f9a1c7543698e62562d6744c169ce7a36de01a8d6154', - ], - [ - '5e95bb399a6971d376026947f89bde2f282b33810928be4ded112ac4d70e20d5', - '39f23f366809085beebfc71181313775a99c9aed7d8ba38b161384c746012865', - ], - [ - '36e4641a53948fd476c39f8a99fd974e5ec07564b5315d8bf99471bca0ef2f66', - 'd2424b1b1abe4eb8164227b085c9aa9456ea13493fd563e06fd51cf5694c78fc', - ], - [ - '336581ea7bfbbb290c191a2f507a41cf5643842170e914faeab27c2c579f726', - 'ead12168595fe1be99252129b6e56b3391f7ab1410cd1e0ef3dcdcabd2fda224', - ], - [ - '8ab89816dadfd6b6a1f2634fcf00ec8403781025ed6890c4849742706bd43ede', - '6fdcef09f2f6d0a044e654aef624136f503d459c3e89845858a47a9129cdd24e', - ], - [ - '1e33f1a746c9c5778133344d9299fcaa20b0938e8acff2544bb40284b8c5fb94', - '60660257dd11b3aa9c8ed618d24edff2306d320f1d03010e33a7d2057f3b3b6', - ], - [ - '85b7c1dcb3cec1b7ee7f30ded79dd20a0ed1f4cc18cbcfcfa410361fd8f08f31', - '3d98a9cdd026dd43f39048f25a8847f4fcafad1895d7a633c6fed3c35e999511', - ], - [ - '29df9fbd8d9e46509275f4b125d6d45d7fbe9a3b878a7af872a2800661ac5f51', - 'b4c4fe99c775a606e2d8862179139ffda61dc861c019e55cd2876eb2a27d84b', - ], - [ - 'a0b1cae06b0a847a3fea6e671aaf8adfdfe58ca2f768105c8082b2e449fce252', - 'ae434102edde0958ec4b19d917a6a28e6b72da1834aff0e650f049503a296cf2', - ], - [ - '4e8ceafb9b3e9a136dc7ff67e840295b499dfb3b2133e4ba113f2e4c0e121e5', - 'cf2174118c8b6d7a4b48f6d534ce5c79422c086a63460502b827ce62a326683c', - ], - [ - 'd24a44e047e19b6f5afb81c7ca2f69080a5076689a010919f42725c2b789a33b', - '6fb8d5591b466f8fc63db50f1c0f1c69013f996887b8244d2cdec417afea8fa3', - ], - [ - 'ea01606a7a6c9cdd249fdfcfacb99584001edd28abbab77b5104e98e8e3b35d4', - '322af4908c7312b0cfbfe369f7a7b3cdb7d4494bc2823700cfd652188a3ea98d', - ], - [ - 'af8addbf2b661c8a6c6328655eb96651252007d8c5ea31be4ad196de8ce2131f', - '6749e67c029b85f52a034eafd096836b2520818680e26ac8f3dfbcdb71749700', - ], - [ - 'e3ae1974566ca06cc516d47e0fb165a674a3dabcfca15e722f0e3450f45889', - '2aeabe7e4531510116217f07bf4d07300de97e4874f81f533420a72eeb0bd6a4', - ], - [ - '591ee355313d99721cf6993ffed1e3e301993ff3ed258802075ea8ced397e246', - 'b0ea558a113c30bea60fc4775460c7901ff0b053d25ca2bdeee98f1a4be5d196', - ], - [ - '11396d55fda54c49f19aa97318d8da61fa8584e47b084945077cf03255b52984', - '998c74a8cd45ac01289d5833a7beb4744ff536b01b257be4c5767bea93ea57a4', - ], - [ - '3c5d2a1ba39c5a1790000738c9e0c40b8dcdfd5468754b6405540157e017aa7a', - 'b2284279995a34e2f9d4de7396fc18b80f9b8b9fdd270f6661f79ca4c81bd257', - ], - [ - 'cc8704b8a60a0defa3a99a7299f2e9c3fbc395afb04ac078425ef8a1793cc030', - 'bdd46039feed17881d1e0862db347f8cf395b74fc4bcdc4e940b74e3ac1f1b13', - ], - [ - 'c533e4f7ea8555aacd9777ac5cad29b97dd4defccc53ee7ea204119b2889b197', - '6f0a256bc5efdf429a2fb6242f1a43a2d9b925bb4a4b3a26bb8e0f45eb596096', - ], - [ - 'c14f8f2ccb27d6f109f6d08d03cc96a69ba8c34eec07bbcf566d48e33da6593', - 'c359d6923bb398f7fd4473e16fe1c28475b740dd098075e6c0e8649113dc3a38', - ], - [ - 'a6cbc3046bc6a450bac24789fa17115a4c9739ed75f8f21ce441f72e0b90e6ef', - '21ae7f4680e889bb130619e2c0f95a360ceb573c70603139862afd617fa9b9f', - ], - [ - '347d6d9a02c48927ebfb86c1359b1caf130a3c0267d11ce6344b39f99d43cc38', - '60ea7f61a353524d1c987f6ecec92f086d565ab687870cb12689ff1e31c74448', - ], - [ - 'da6545d2181db8d983f7dcb375ef5866d47c67b1bf31c8cf855ef7437b72656a', - '49b96715ab6878a79e78f07ce5680c5d6673051b4935bd897fea824b77dc208a', - ], - [ - 'c40747cc9d012cb1a13b8148309c6de7ec25d6945d657146b9d5994b8feb1111', - '5ca560753be2a12fc6de6caf2cb489565db936156b9514e1bb5e83037e0fa2d4', - ], - [ - '4e42c8ec82c99798ccf3a610be870e78338c7f713348bd34c8203ef4037f3502', - '7571d74ee5e0fb92a7a8b33a07783341a5492144cc54bcc40a94473693606437', - ], - [ - '3775ab7089bc6af823aba2e1af70b236d251cadb0c86743287522a1b3b0dedea', - 'be52d107bcfa09d8bcb9736a828cfa7fac8db17bf7a76a2c42ad961409018cf7', - ], - [ - 'cee31cbf7e34ec379d94fb814d3d775ad954595d1314ba8846959e3e82f74e26', - '8fd64a14c06b589c26b947ae2bcf6bfa0149ef0be14ed4d80f448a01c43b1c6d', - ], - [ - 'b4f9eaea09b6917619f6ea6a4eb5464efddb58fd45b1ebefcdc1a01d08b47986', - '39e5c9925b5a54b07433a4f18c61726f8bb131c012ca542eb24a8ac07200682a', - ], - [ - 'd4263dfc3d2df923a0179a48966d30ce84e2515afc3dccc1b77907792ebcc60e', - '62dfaf07a0f78feb30e30d6295853ce189e127760ad6cf7fae164e122a208d54', - ], - [ - '48457524820fa65a4f8d35eb6930857c0032acc0a4a2de422233eeda897612c4', - '25a748ab367979d98733c38a1fa1c2e7dc6cc07db2d60a9ae7a76aaa49bd0f77', - ], - [ - 'dfeeef1881101f2cb11644f3a2afdfc2045e19919152923f367a1767c11cceda', - 'ecfb7056cf1de042f9420bab396793c0c390bde74b4bbdff16a83ae09a9a7517', - ], - [ - '6d7ef6b17543f8373c573f44e1f389835d89bcbc6062ced36c82df83b8fae859', - 'cd450ec335438986dfefa10c57fea9bcc521a0959b2d80bbf74b190dca712d10', - ], - [ - 'e75605d59102a5a2684500d3b991f2e3f3c88b93225547035af25af66e04541f', - 'f5c54754a8f71ee540b9b48728473e314f729ac5308b06938360990e2bfad125', - ], - [ - 'eb98660f4c4dfaa06a2be453d5020bc99a0c2e60abe388457dd43fefb1ed620c', - '6cb9a8876d9cb8520609af3add26cd20a0a7cd8a9411131ce85f44100099223e', - ], - [ - '13e87b027d8514d35939f2e6892b19922154596941888336dc3563e3b8dba942', - 'fef5a3c68059a6dec5d624114bf1e91aac2b9da568d6abeb2570d55646b8adf1', - ], - [ - 'ee163026e9fd6fe017c38f06a5be6fc125424b371ce2708e7bf4491691e5764a', - '1acb250f255dd61c43d94ccc670d0f58f49ae3fa15b96623e5430da0ad6c62b2', - ], - [ - 'b268f5ef9ad51e4d78de3a750c2dc89b1e626d43505867999932e5db33af3d80', - '5f310d4b3c99b9ebb19f77d41c1dee018cf0d34fd4191614003e945a1216e423', - ], - [ - 'ff07f3118a9df035e9fad85eb6c7bfe42b02f01ca99ceea3bf7ffdba93c4750d', - '438136d603e858a3a5c440c38eccbaddc1d2942114e2eddd4740d098ced1f0d8', - ], - [ - '8d8b9855c7c052a34146fd20ffb658bea4b9f69e0d825ebec16e8c3ce2b526a1', - 'cdb559eedc2d79f926baf44fb84ea4d44bcf50fee51d7ceb30e2e7f463036758', - ], - [ - '52db0b5384dfbf05bfa9d472d7ae26dfe4b851ceca91b1eba54263180da32b63', - 'c3b997d050ee5d423ebaf66a6db9f57b3180c902875679de924b69d84a7b375', - ], - [ - 'e62f9490d3d51da6395efd24e80919cc7d0f29c3f3fa48c6fff543becbd43352', - '6d89ad7ba4876b0b22c2ca280c682862f342c8591f1daf5170e07bfd9ccafa7d', - ], - [ - '7f30ea2476b399b4957509c88f77d0191afa2ff5cb7b14fd6d8e7d65aaab1193', - 'ca5ef7d4b231c94c3b15389a5f6311e9daff7bb67b103e9880ef4bff637acaec', - ], - [ - '5098ff1e1d9f14fb46a210fada6c903fef0fb7b4a1dd1d9ac60a0361800b7a00', - '9731141d81fc8f8084d37c6e7542006b3ee1b40d60dfe5362a5b132fd17ddc0', - ], - [ - '32b78c7de9ee512a72895be6b9cbefa6e2f3c4ccce445c96b9f2c81e2778ad58', - 'ee1849f513df71e32efc3896ee28260c73bb80547ae2275ba497237794c8753c', - ], - [ - 'e2cb74fddc8e9fbcd076eef2a7c72b0ce37d50f08269dfc074b581550547a4f7', - 'd3aa2ed71c9dd2247a62df062736eb0baddea9e36122d2be8641abcb005cc4a4', - ], - [ - '8438447566d4d7bedadc299496ab357426009a35f235cb141be0d99cd10ae3a8', - 'c4e1020916980a4da5d01ac5e6ad330734ef0d7906631c4f2390426b2edd791f', - ], - [ - '4162d488b89402039b584c6fc6c308870587d9c46f660b878ab65c82c711d67e', - '67163e903236289f776f22c25fb8a3afc1732f2b84b4e95dbda47ae5a0852649', - ], - [ - '3fad3fa84caf0f34f0f89bfd2dcf54fc175d767aec3e50684f3ba4a4bf5f683d', - 'cd1bc7cb6cc407bb2f0ca647c718a730cf71872e7d0d2a53fa20efcdfe61826', - ], - [ - '674f2600a3007a00568c1a7ce05d0816c1fb84bf1370798f1c69532faeb1a86b', - '299d21f9413f33b3edf43b257004580b70db57da0b182259e09eecc69e0d38a5', - ], - [ - 'd32f4da54ade74abb81b815ad1fb3b263d82d6c692714bcff87d29bd5ee9f08f', - 'f9429e738b8e53b968e99016c059707782e14f4535359d582fc416910b3eea87', - ], - [ - '30e4e670435385556e593657135845d36fbb6931f72b08cb1ed954f1e3ce3ff6', - '462f9bce619898638499350113bbc9b10a878d35da70740dc695a559eb88db7b', - ], - [ - 'be2062003c51cc3004682904330e4dee7f3dcd10b01e580bf1971b04d4cad297', - '62188bc49d61e5428573d48a74e1c655b1c61090905682a0d5558ed72dccb9bc', - ], - [ - '93144423ace3451ed29e0fb9ac2af211cb6e84a601df5993c419859fff5df04a', - '7c10dfb164c3425f5c71a3f9d7992038f1065224f72bb9d1d902a6d13037b47c', - ], - [ - 'b015f8044f5fcbdcf21ca26d6c34fb8197829205c7b7d2a7cb66418c157b112c', - 'ab8c1e086d04e813744a655b2df8d5f83b3cdc6faa3088c1d3aea1454e3a1d5f', - ], - [ - 'd5e9e1da649d97d89e4868117a465a3a4f8a18de57a140d36b3f2af341a21b52', - '4cb04437f391ed73111a13cc1d4dd0db1693465c2240480d8955e8592f27447a', - ], - [ - 'd3ae41047dd7ca065dbf8ed77b992439983005cd72e16d6f996a5316d36966bb', - 'bd1aeb21ad22ebb22a10f0303417c6d964f8cdd7df0aca614b10dc14d125ac46', - ], - [ - '463e2763d885f958fc66cdd22800f0a487197d0a82e377b49f80af87c897b065', - 'bfefacdb0e5d0fd7df3a311a94de062b26b80c61fbc97508b79992671ef7ca7f', - ], - [ - '7985fdfd127c0567c6f53ec1bb63ec3158e597c40bfe747c83cddfc910641917', - '603c12daf3d9862ef2b25fe1de289aed24ed291e0ec6708703a5bd567f32ed03', - ], - [ - '74a1ad6b5f76e39db2dd249410eac7f99e74c59cb83d2d0ed5ff1543da7703e9', - 'cc6157ef18c9c63cd6193d83631bbea0093e0968942e8c33d5737fd790e0db08', - ], - [ - '30682a50703375f602d416664ba19b7fc9bab42c72747463a71d0896b22f6da3', - '553e04f6b018b4fa6c8f39e7f311d3176290d0e0f19ca73f17714d9977a22ff8', - ], - [ - '9e2158f0d7c0d5f26c3791efefa79597654e7a2b2464f52b1ee6c1347769ef57', - '712fcdd1b9053f09003a3481fa7762e9ffd7c8ef35a38509e2fbf2629008373', - ], - [ - '176e26989a43c9cfeba4029c202538c28172e566e3c4fce7322857f3be327d66', - 'ed8cc9d04b29eb877d270b4878dc43c19aefd31f4eee09ee7b47834c1fa4b1c3', - ], - [ - '75d46efea3771e6e68abb89a13ad747ecf1892393dfc4f1b7004788c50374da8', - '9852390a99507679fd0b86fd2b39a868d7efc22151346e1a3ca4726586a6bed8', - ], - [ - '809a20c67d64900ffb698c4c825f6d5f2310fb0451c869345b7319f645605721', - '9e994980d9917e22b76b061927fa04143d096ccc54963e6a5ebfa5f3f8e286c1', - ], - [ - '1b38903a43f7f114ed4500b4eac7083fdefece1cf29c63528d563446f972c180', - '4036edc931a60ae889353f77fd53de4a2708b26b6f5da72ad3394119daf408f9', - ], - ], - }, -}; - - -/***/ }), - -/***/ 27027: -/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { - - - -var utils = exports; -var BN = __nccwpck_require__(70234); -var minAssert = __nccwpck_require__(72293); -var minUtils = __nccwpck_require__(81983); - -utils.assert = minAssert; -utils.toArray = minUtils.toArray; -utils.zero2 = minUtils.zero2; -utils.toHex = minUtils.toHex; -utils.encode = minUtils.encode; - -// Represent num in a w-NAF form -function getNAF(num, w, bits) { - var naf = new Array(Math.max(num.bitLength(), bits) + 1); - naf.fill(0); - - var ws = 1 << (w + 1); - var k = num.clone(); - - for (var i = 0; i < naf.length; i++) { - var z; - var mod = k.andln(ws - 1); - if (k.isOdd()) { - if (mod > (ws >> 1) - 1) - z = (ws >> 1) - mod; - else - z = mod; - k.isubn(z); - } else { - z = 0; - } - - naf[i] = z; - k.iushrn(1); - } - - return naf; -} -utils.getNAF = getNAF; - -// Represent k1, k2 in a Joint Sparse Form -function getJSF(k1, k2) { - var jsf = [ - [], - [], - ]; - - k1 = k1.clone(); - k2 = k2.clone(); - var d1 = 0; - var d2 = 0; - var m8; - while (k1.cmpn(-d1) > 0 || k2.cmpn(-d2) > 0) { - // First phase - var m14 = (k1.andln(3) + d1) & 3; - var m24 = (k2.andln(3) + d2) & 3; - if (m14 === 3) - m14 = -1; - if (m24 === 3) - m24 = -1; - var u1; - if ((m14 & 1) === 0) { - u1 = 0; - } else { - m8 = (k1.andln(7) + d1) & 7; - if ((m8 === 3 || m8 === 5) && m24 === 2) - u1 = -m14; - else - u1 = m14; - } - jsf[0].push(u1); - - var u2; - if ((m24 & 1) === 0) { - u2 = 0; - } else { - m8 = (k2.andln(7) + d2) & 7; - if ((m8 === 3 || m8 === 5) && m14 === 2) - u2 = -m24; - else - u2 = m24; - } - jsf[1].push(u2); - - // Second phase - if (2 * d1 === u1 + 1) - d1 = 1 - d1; - if (2 * d2 === u2 + 1) - d2 = 1 - d2; - k1.iushrn(1); - k2.iushrn(1); - } - - return jsf; -} -utils.getJSF = getJSF; - -function cachedProperty(obj, name, computer) { - var key = '_' + name; - obj.prototype[name] = function cachedProperty() { - return this[key] !== undefined ? this[key] : - this[key] = computer.call(this); - }; -} -utils.cachedProperty = cachedProperty; - -function parseBytes(bytes) { - return typeof bytes === 'string' ? utils.toArray(bytes, 'hex') : - bytes; -} -utils.parseBytes = parseBytes; - -function intFromLE(bytes) { - return new BN(bytes, 'hex', 'le'); -} -utils.intFromLE = intFromLE; - - - -/***/ }), - -/***/ 70234: -/***/ (function(module, __unused_webpack_exports, __nccwpck_require__) { - -/* module decorator */ module = __nccwpck_require__.nmd(module); -(function (module, exports) { - 'use strict'; - - // Utils - function assert (val, msg) { - if (!val) throw new Error(msg || 'Assertion failed'); - } - - // Could use `inherits` module, but don't want to move from single file - // architecture yet. - function inherits (ctor, superCtor) { - ctor.super_ = superCtor; - var TempCtor = function () {}; - TempCtor.prototype = superCtor.prototype; - ctor.prototype = new TempCtor(); - ctor.prototype.constructor = ctor; - } - - // BN - - function BN (number, base, endian) { - if (BN.isBN(number)) { - return number; - } - - this.negative = 0; - this.words = null; - this.length = 0; - - // Reduction context - this.red = null; - - if (number !== null) { - if (base === 'le' || base === 'be') { - endian = base; - base = 10; - } - - this._init(number || 0, base || 10, endian || 'be'); - } - } - if (typeof module === 'object') { - module.exports = BN; - } else { - exports.BN = BN; - } - - BN.BN = BN; - BN.wordSize = 26; - - var Buffer; - try { - if (typeof window !== 'undefined' && typeof window.Buffer !== 'undefined') { - Buffer = window.Buffer; - } else { - Buffer = (__nccwpck_require__(20181).Buffer); - } - } catch (e) { - } - - BN.isBN = function isBN (num) { - if (num instanceof BN) { - return true; - } - - return num !== null && typeof num === 'object' && - num.constructor.wordSize === BN.wordSize && Array.isArray(num.words); - }; - - BN.max = function max (left, right) { - if (left.cmp(right) > 0) return left; - return right; - }; - - BN.min = function min (left, right) { - if (left.cmp(right) < 0) return left; - return right; - }; - - BN.prototype._init = function init (number, base, endian) { - if (typeof number === 'number') { - return this._initNumber(number, base, endian); - } - - if (typeof number === 'object') { - return this._initArray(number, base, endian); - } - - if (base === 'hex') { - base = 16; - } - assert(base === (base | 0) && base >= 2 && base <= 36); - - number = number.toString().replace(/\s+/g, ''); - var start = 0; - if (number[0] === '-') { - start++; - this.negative = 1; - } - - if (start < number.length) { - if (base === 16) { - this._parseHex(number, start, endian); - } else { - this._parseBase(number, base, start); - if (endian === 'le') { - this._initArray(this.toArray(), base, endian); - } - } - } - }; - - BN.prototype._initNumber = function _initNumber (number, base, endian) { - if (number < 0) { - this.negative = 1; - number = -number; - } - if (number < 0x4000000) { - this.words = [ number & 0x3ffffff ]; - this.length = 1; - } else if (number < 0x10000000000000) { - this.words = [ - number & 0x3ffffff, - (number / 0x4000000) & 0x3ffffff - ]; - this.length = 2; - } else { - assert(number < 0x20000000000000); // 2 ^ 53 (unsafe) - this.words = [ - number & 0x3ffffff, - (number / 0x4000000) & 0x3ffffff, - 1 - ]; - this.length = 3; - } - - if (endian !== 'le') return; - - // Reverse the bytes - this._initArray(this.toArray(), base, endian); - }; - - BN.prototype._initArray = function _initArray (number, base, endian) { - // Perhaps a Uint8Array - assert(typeof number.length === 'number'); - if (number.length <= 0) { - this.words = [ 0 ]; - this.length = 1; - return this; - } - - this.length = Math.ceil(number.length / 3); - this.words = new Array(this.length); - for (var i = 0; i < this.length; i++) { - this.words[i] = 0; - } - - var j, w; - var off = 0; - if (endian === 'be') { - for (i = number.length - 1, j = 0; i >= 0; i -= 3) { - w = number[i] | (number[i - 1] << 8) | (number[i - 2] << 16); - this.words[j] |= (w << off) & 0x3ffffff; - this.words[j + 1] = (w >>> (26 - off)) & 0x3ffffff; - off += 24; - if (off >= 26) { - off -= 26; - j++; - } - } - } else if (endian === 'le') { - for (i = 0, j = 0; i < number.length; i += 3) { - w = number[i] | (number[i + 1] << 8) | (number[i + 2] << 16); - this.words[j] |= (w << off) & 0x3ffffff; - this.words[j + 1] = (w >>> (26 - off)) & 0x3ffffff; - off += 24; - if (off >= 26) { - off -= 26; - j++; - } - } - } - return this.strip(); - }; - - function parseHex4Bits (string, index) { - var c = string.charCodeAt(index); - // 'A' - 'F' - if (c >= 65 && c <= 70) { - return c - 55; - // 'a' - 'f' - } else if (c >= 97 && c <= 102) { - return c - 87; - // '0' - '9' - } else { - return (c - 48) & 0xf; - } - } - - function parseHexByte (string, lowerBound, index) { - var r = parseHex4Bits(string, index); - if (index - 1 >= lowerBound) { - r |= parseHex4Bits(string, index - 1) << 4; - } - return r; - } - - BN.prototype._parseHex = function _parseHex (number, start, endian) { - // Create possibly bigger array to ensure that it fits the number - this.length = Math.ceil((number.length - start) / 6); - this.words = new Array(this.length); - for (var i = 0; i < this.length; i++) { - this.words[i] = 0; - } - - // 24-bits chunks - var off = 0; - var j = 0; - - var w; - if (endian === 'be') { - for (i = number.length - 1; i >= start; i -= 2) { - w = parseHexByte(number, start, i) << off; - this.words[j] |= w & 0x3ffffff; - if (off >= 18) { - off -= 18; - j += 1; - this.words[j] |= w >>> 26; - } else { - off += 8; - } - } - } else { - var parseLength = number.length - start; - for (i = parseLength % 2 === 0 ? start + 1 : start; i < number.length; i += 2) { - w = parseHexByte(number, start, i) << off; - this.words[j] |= w & 0x3ffffff; - if (off >= 18) { - off -= 18; - j += 1; - this.words[j] |= w >>> 26; - } else { - off += 8; - } - } - } - - this.strip(); - }; - - function parseBase (str, start, end, mul) { - var r = 0; - var len = Math.min(str.length, end); - for (var i = start; i < len; i++) { - var c = str.charCodeAt(i) - 48; - - r *= mul; - - // 'a' - if (c >= 49) { - r += c - 49 + 0xa; - - // 'A' - } else if (c >= 17) { - r += c - 17 + 0xa; - - // '0' - '9' - } else { - r += c; - } - } - return r; - } - - BN.prototype._parseBase = function _parseBase (number, base, start) { - // Initialize as zero - this.words = [ 0 ]; - this.length = 1; - - // Find length of limb in base - for (var limbLen = 0, limbPow = 1; limbPow <= 0x3ffffff; limbPow *= base) { - limbLen++; - } - limbLen--; - limbPow = (limbPow / base) | 0; - - var total = number.length - start; - var mod = total % limbLen; - var end = Math.min(total, total - mod) + start; - - var word = 0; - for (var i = start; i < end; i += limbLen) { - word = parseBase(number, i, i + limbLen, base); - - this.imuln(limbPow); - if (this.words[0] + word < 0x4000000) { - this.words[0] += word; - } else { - this._iaddn(word); - } - } - - if (mod !== 0) { - var pow = 1; - word = parseBase(number, i, number.length, base); - - for (i = 0; i < mod; i++) { - pow *= base; - } - - this.imuln(pow); - if (this.words[0] + word < 0x4000000) { - this.words[0] += word; - } else { - this._iaddn(word); - } - } - - this.strip(); - }; - - BN.prototype.copy = function copy (dest) { - dest.words = new Array(this.length); - for (var i = 0; i < this.length; i++) { - dest.words[i] = this.words[i]; - } - dest.length = this.length; - dest.negative = this.negative; - dest.red = this.red; - }; - - BN.prototype.clone = function clone () { - var r = new BN(null); - this.copy(r); - return r; - }; - - BN.prototype._expand = function _expand (size) { - while (this.length < size) { - this.words[this.length++] = 0; - } - return this; - }; - - // Remove leading `0` from `this` - BN.prototype.strip = function strip () { - while (this.length > 1 && this.words[this.length - 1] === 0) { - this.length--; - } - return this._normSign(); - }; - - BN.prototype._normSign = function _normSign () { - // -0 = 0 - if (this.length === 1 && this.words[0] === 0) { - this.negative = 0; - } - return this; - }; - - BN.prototype.inspect = function inspect () { - return (this.red ? ''; - }; - - /* - - var zeros = []; - var groupSizes = []; - var groupBases = []; - - var s = ''; - var i = -1; - while (++i < BN.wordSize) { - zeros[i] = s; - s += '0'; - } - groupSizes[0] = 0; - groupSizes[1] = 0; - groupBases[0] = 0; - groupBases[1] = 0; - var base = 2 - 1; - while (++base < 36 + 1) { - var groupSize = 0; - var groupBase = 1; - while (groupBase < (1 << BN.wordSize) / base) { - groupBase *= base; - groupSize += 1; - } - groupSizes[base] = groupSize; - groupBases[base] = groupBase; - } - - */ - - var zeros = [ - '', - '0', - '00', - '000', - '0000', - '00000', - '000000', - '0000000', - '00000000', - '000000000', - '0000000000', - '00000000000', - '000000000000', - '0000000000000', - '00000000000000', - '000000000000000', - '0000000000000000', - '00000000000000000', - '000000000000000000', - '0000000000000000000', - '00000000000000000000', - '000000000000000000000', - '0000000000000000000000', - '00000000000000000000000', - '000000000000000000000000', - '0000000000000000000000000' - ]; - - var groupSizes = [ - 0, 0, - 25, 16, 12, 11, 10, 9, 8, - 8, 7, 7, 7, 7, 6, 6, - 6, 6, 6, 6, 6, 5, 5, - 5, 5, 5, 5, 5, 5, 5, - 5, 5, 5, 5, 5, 5, 5 - ]; - - var groupBases = [ - 0, 0, - 33554432, 43046721, 16777216, 48828125, 60466176, 40353607, 16777216, - 43046721, 10000000, 19487171, 35831808, 62748517, 7529536, 11390625, - 16777216, 24137569, 34012224, 47045881, 64000000, 4084101, 5153632, - 6436343, 7962624, 9765625, 11881376, 14348907, 17210368, 20511149, - 24300000, 28629151, 33554432, 39135393, 45435424, 52521875, 60466176 - ]; - - BN.prototype.toString = function toString (base, padding) { - base = base || 10; - padding = padding | 0 || 1; - - var out; - if (base === 16 || base === 'hex') { - out = ''; - var off = 0; - var carry = 0; - for (var i = 0; i < this.length; i++) { - var w = this.words[i]; - var word = (((w << off) | carry) & 0xffffff).toString(16); - carry = (w >>> (24 - off)) & 0xffffff; - off += 2; - if (off >= 26) { - off -= 26; - i--; - } - if (carry !== 0 || i !== this.length - 1) { - out = zeros[6 - word.length] + word + out; - } else { - out = word + out; - } - } - if (carry !== 0) { - out = carry.toString(16) + out; - } - while (out.length % padding !== 0) { - out = '0' + out; - } - if (this.negative !== 0) { - out = '-' + out; - } - return out; - } - - if (base === (base | 0) && base >= 2 && base <= 36) { - // var groupSize = Math.floor(BN.wordSize * Math.LN2 / Math.log(base)); - var groupSize = groupSizes[base]; - // var groupBase = Math.pow(base, groupSize); - var groupBase = groupBases[base]; - out = ''; - var c = this.clone(); - c.negative = 0; - while (!c.isZero()) { - var r = c.modn(groupBase).toString(base); - c = c.idivn(groupBase); - - if (!c.isZero()) { - out = zeros[groupSize - r.length] + r + out; - } else { - out = r + out; - } - } - if (this.isZero()) { - out = '0' + out; - } - while (out.length % padding !== 0) { - out = '0' + out; - } - if (this.negative !== 0) { - out = '-' + out; - } - return out; - } - - assert(false, 'Base should be between 2 and 36'); - }; - - BN.prototype.toNumber = function toNumber () { - var ret = this.words[0]; - if (this.length === 2) { - ret += this.words[1] * 0x4000000; - } else if (this.length === 3 && this.words[2] === 0x01) { - // NOTE: at this stage it is known that the top bit is set - ret += 0x10000000000000 + (this.words[1] * 0x4000000); - } else if (this.length > 2) { - assert(false, 'Number can only safely store up to 53 bits'); - } - return (this.negative !== 0) ? -ret : ret; - }; - - BN.prototype.toJSON = function toJSON () { - return this.toString(16); - }; - - BN.prototype.toBuffer = function toBuffer (endian, length) { - assert(typeof Buffer !== 'undefined'); - return this.toArrayLike(Buffer, endian, length); - }; - - BN.prototype.toArray = function toArray (endian, length) { - return this.toArrayLike(Array, endian, length); - }; - - BN.prototype.toArrayLike = function toArrayLike (ArrayType, endian, length) { - var byteLength = this.byteLength(); - var reqLength = length || Math.max(1, byteLength); - assert(byteLength <= reqLength, 'byte array longer than desired length'); - assert(reqLength > 0, 'Requested array length <= 0'); - - this.strip(); - var littleEndian = endian === 'le'; - var res = new ArrayType(reqLength); - - var b, i; - var q = this.clone(); - if (!littleEndian) { - // Assume big-endian - for (i = 0; i < reqLength - byteLength; i++) { - res[i] = 0; - } - - for (i = 0; !q.isZero(); i++) { - b = q.andln(0xff); - q.iushrn(8); - - res[reqLength - i - 1] = b; - } - } else { - for (i = 0; !q.isZero(); i++) { - b = q.andln(0xff); - q.iushrn(8); - - res[i] = b; - } - - for (; i < reqLength; i++) { - res[i] = 0; - } - } - - return res; - }; - - if (Math.clz32) { - BN.prototype._countBits = function _countBits (w) { - return 32 - Math.clz32(w); - }; - } else { - BN.prototype._countBits = function _countBits (w) { - var t = w; - var r = 0; - if (t >= 0x1000) { - r += 13; - t >>>= 13; - } - if (t >= 0x40) { - r += 7; - t >>>= 7; - } - if (t >= 0x8) { - r += 4; - t >>>= 4; - } - if (t >= 0x02) { - r += 2; - t >>>= 2; - } - return r + t; - }; - } - - BN.prototype._zeroBits = function _zeroBits (w) { - // Short-cut - if (w === 0) return 26; - - var t = w; - var r = 0; - if ((t & 0x1fff) === 0) { - r += 13; - t >>>= 13; - } - if ((t & 0x7f) === 0) { - r += 7; - t >>>= 7; - } - if ((t & 0xf) === 0) { - r += 4; - t >>>= 4; - } - if ((t & 0x3) === 0) { - r += 2; - t >>>= 2; - } - if ((t & 0x1) === 0) { - r++; - } - return r; - }; - - // Return number of used bits in a BN - BN.prototype.bitLength = function bitLength () { - var w = this.words[this.length - 1]; - var hi = this._countBits(w); - return (this.length - 1) * 26 + hi; - }; - - function toBitArray (num) { - var w = new Array(num.bitLength()); - - for (var bit = 0; bit < w.length; bit++) { - var off = (bit / 26) | 0; - var wbit = bit % 26; - - w[bit] = (num.words[off] & (1 << wbit)) >>> wbit; - } - - return w; - } - - // Number of trailing zero bits - BN.prototype.zeroBits = function zeroBits () { - if (this.isZero()) return 0; - - var r = 0; - for (var i = 0; i < this.length; i++) { - var b = this._zeroBits(this.words[i]); - r += b; - if (b !== 26) break; - } - return r; - }; - - BN.prototype.byteLength = function byteLength () { - return Math.ceil(this.bitLength() / 8); - }; - - BN.prototype.toTwos = function toTwos (width) { - if (this.negative !== 0) { - return this.abs().inotn(width).iaddn(1); - } - return this.clone(); - }; - - BN.prototype.fromTwos = function fromTwos (width) { - if (this.testn(width - 1)) { - return this.notn(width).iaddn(1).ineg(); - } - return this.clone(); - }; - - BN.prototype.isNeg = function isNeg () { - return this.negative !== 0; - }; - - // Return negative clone of `this` - BN.prototype.neg = function neg () { - return this.clone().ineg(); - }; - - BN.prototype.ineg = function ineg () { - if (!this.isZero()) { - this.negative ^= 1; - } - - return this; - }; - - // Or `num` with `this` in-place - BN.prototype.iuor = function iuor (num) { - while (this.length < num.length) { - this.words[this.length++] = 0; - } - - for (var i = 0; i < num.length; i++) { - this.words[i] = this.words[i] | num.words[i]; - } - - return this.strip(); - }; - - BN.prototype.ior = function ior (num) { - assert((this.negative | num.negative) === 0); - return this.iuor(num); - }; - - // Or `num` with `this` - BN.prototype.or = function or (num) { - if (this.length > num.length) return this.clone().ior(num); - return num.clone().ior(this); - }; - - BN.prototype.uor = function uor (num) { - if (this.length > num.length) return this.clone().iuor(num); - return num.clone().iuor(this); - }; - - // And `num` with `this` in-place - BN.prototype.iuand = function iuand (num) { - // b = min-length(num, this) - var b; - if (this.length > num.length) { - b = num; - } else { - b = this; - } - - for (var i = 0; i < b.length; i++) { - this.words[i] = this.words[i] & num.words[i]; - } - - this.length = b.length; - - return this.strip(); - }; - - BN.prototype.iand = function iand (num) { - assert((this.negative | num.negative) === 0); - return this.iuand(num); - }; - - // And `num` with `this` - BN.prototype.and = function and (num) { - if (this.length > num.length) return this.clone().iand(num); - return num.clone().iand(this); - }; - - BN.prototype.uand = function uand (num) { - if (this.length > num.length) return this.clone().iuand(num); - return num.clone().iuand(this); - }; - - // Xor `num` with `this` in-place - BN.prototype.iuxor = function iuxor (num) { - // a.length > b.length - var a; - var b; - if (this.length > num.length) { - a = this; - b = num; - } else { - a = num; - b = this; - } - - for (var i = 0; i < b.length; i++) { - this.words[i] = a.words[i] ^ b.words[i]; - } - - if (this !== a) { - for (; i < a.length; i++) { - this.words[i] = a.words[i]; - } - } - - this.length = a.length; - - return this.strip(); - }; - - BN.prototype.ixor = function ixor (num) { - assert((this.negative | num.negative) === 0); - return this.iuxor(num); - }; - - // Xor `num` with `this` - BN.prototype.xor = function xor (num) { - if (this.length > num.length) return this.clone().ixor(num); - return num.clone().ixor(this); - }; - - BN.prototype.uxor = function uxor (num) { - if (this.length > num.length) return this.clone().iuxor(num); - return num.clone().iuxor(this); - }; - - // Not ``this`` with ``width`` bitwidth - BN.prototype.inotn = function inotn (width) { - assert(typeof width === 'number' && width >= 0); - - var bytesNeeded = Math.ceil(width / 26) | 0; - var bitsLeft = width % 26; - - // Extend the buffer with leading zeroes - this._expand(bytesNeeded); - - if (bitsLeft > 0) { - bytesNeeded--; - } - - // Handle complete words - for (var i = 0; i < bytesNeeded; i++) { - this.words[i] = ~this.words[i] & 0x3ffffff; - } - - // Handle the residue - if (bitsLeft > 0) { - this.words[i] = ~this.words[i] & (0x3ffffff >> (26 - bitsLeft)); - } - - // And remove leading zeroes - return this.strip(); - }; - - BN.prototype.notn = function notn (width) { - return this.clone().inotn(width); - }; - - // Set `bit` of `this` - BN.prototype.setn = function setn (bit, val) { - assert(typeof bit === 'number' && bit >= 0); - - var off = (bit / 26) | 0; - var wbit = bit % 26; - - this._expand(off + 1); - - if (val) { - this.words[off] = this.words[off] | (1 << wbit); - } else { - this.words[off] = this.words[off] & ~(1 << wbit); - } - - return this.strip(); - }; - - // Add `num` to `this` in-place - BN.prototype.iadd = function iadd (num) { - var r; - - // negative + positive - if (this.negative !== 0 && num.negative === 0) { - this.negative = 0; - r = this.isub(num); - this.negative ^= 1; - return this._normSign(); - - // positive + negative - } else if (this.negative === 0 && num.negative !== 0) { - num.negative = 0; - r = this.isub(num); - num.negative = 1; - return r._normSign(); - } - - // a.length > b.length - var a, b; - if (this.length > num.length) { - a = this; - b = num; - } else { - a = num; - b = this; - } - - var carry = 0; - for (var i = 0; i < b.length; i++) { - r = (a.words[i] | 0) + (b.words[i] | 0) + carry; - this.words[i] = r & 0x3ffffff; - carry = r >>> 26; - } - for (; carry !== 0 && i < a.length; i++) { - r = (a.words[i] | 0) + carry; - this.words[i] = r & 0x3ffffff; - carry = r >>> 26; - } - - this.length = a.length; - if (carry !== 0) { - this.words[this.length] = carry; - this.length++; - // Copy the rest of the words - } else if (a !== this) { - for (; i < a.length; i++) { - this.words[i] = a.words[i]; - } - } - - return this; - }; - - // Add `num` to `this` - BN.prototype.add = function add (num) { - var res; - if (num.negative !== 0 && this.negative === 0) { - num.negative = 0; - res = this.sub(num); - num.negative ^= 1; - return res; - } else if (num.negative === 0 && this.negative !== 0) { - this.negative = 0; - res = num.sub(this); - this.negative = 1; - return res; - } - - if (this.length > num.length) return this.clone().iadd(num); - - return num.clone().iadd(this); - }; - - // Subtract `num` from `this` in-place - BN.prototype.isub = function isub (num) { - // this - (-num) = this + num - if (num.negative !== 0) { - num.negative = 0; - var r = this.iadd(num); - num.negative = 1; - return r._normSign(); - - // -this - num = -(this + num) - } else if (this.negative !== 0) { - this.negative = 0; - this.iadd(num); - this.negative = 1; - return this._normSign(); - } - - // At this point both numbers are positive - var cmp = this.cmp(num); - - // Optimization - zeroify - if (cmp === 0) { - this.negative = 0; - this.length = 1; - this.words[0] = 0; - return this; - } - - // a > b - var a, b; - if (cmp > 0) { - a = this; - b = num; - } else { - a = num; - b = this; - } - - var carry = 0; - for (var i = 0; i < b.length; i++) { - r = (a.words[i] | 0) - (b.words[i] | 0) + carry; - carry = r >> 26; - this.words[i] = r & 0x3ffffff; - } - for (; carry !== 0 && i < a.length; i++) { - r = (a.words[i] | 0) + carry; - carry = r >> 26; - this.words[i] = r & 0x3ffffff; - } - - // Copy rest of the words - if (carry === 0 && i < a.length && a !== this) { - for (; i < a.length; i++) { - this.words[i] = a.words[i]; - } - } - - this.length = Math.max(this.length, i); - - if (a !== this) { - this.negative = 1; - } - - return this.strip(); - }; - - // Subtract `num` from `this` - BN.prototype.sub = function sub (num) { - return this.clone().isub(num); - }; - - function smallMulTo (self, num, out) { - out.negative = num.negative ^ self.negative; - var len = (self.length + num.length) | 0; - out.length = len; - len = (len - 1) | 0; - - // Peel one iteration (compiler can't do it, because of code complexity) - var a = self.words[0] | 0; - var b = num.words[0] | 0; - var r = a * b; - - var lo = r & 0x3ffffff; - var carry = (r / 0x4000000) | 0; - out.words[0] = lo; - - for (var k = 1; k < len; k++) { - // Sum all words with the same `i + j = k` and accumulate `ncarry`, - // note that ncarry could be >= 0x3ffffff - var ncarry = carry >>> 26; - var rword = carry & 0x3ffffff; - var maxJ = Math.min(k, num.length - 1); - for (var j = Math.max(0, k - self.length + 1); j <= maxJ; j++) { - var i = (k - j) | 0; - a = self.words[i] | 0; - b = num.words[j] | 0; - r = a * b + rword; - ncarry += (r / 0x4000000) | 0; - rword = r & 0x3ffffff; - } - out.words[k] = rword | 0; - carry = ncarry | 0; - } - if (carry !== 0) { - out.words[k] = carry | 0; - } else { - out.length--; - } - - return out.strip(); - } - - // TODO(indutny): it may be reasonable to omit it for users who don't need - // to work with 256-bit numbers, otherwise it gives 20% improvement for 256-bit - // multiplication (like elliptic secp256k1). - var comb10MulTo = function comb10MulTo (self, num, out) { - var a = self.words; - var b = num.words; - var o = out.words; - var c = 0; - var lo; - var mid; - var hi; - var a0 = a[0] | 0; - var al0 = a0 & 0x1fff; - var ah0 = a0 >>> 13; - var a1 = a[1] | 0; - var al1 = a1 & 0x1fff; - var ah1 = a1 >>> 13; - var a2 = a[2] | 0; - var al2 = a2 & 0x1fff; - var ah2 = a2 >>> 13; - var a3 = a[3] | 0; - var al3 = a3 & 0x1fff; - var ah3 = a3 >>> 13; - var a4 = a[4] | 0; - var al4 = a4 & 0x1fff; - var ah4 = a4 >>> 13; - var a5 = a[5] | 0; - var al5 = a5 & 0x1fff; - var ah5 = a5 >>> 13; - var a6 = a[6] | 0; - var al6 = a6 & 0x1fff; - var ah6 = a6 >>> 13; - var a7 = a[7] | 0; - var al7 = a7 & 0x1fff; - var ah7 = a7 >>> 13; - var a8 = a[8] | 0; - var al8 = a8 & 0x1fff; - var ah8 = a8 >>> 13; - var a9 = a[9] | 0; - var al9 = a9 & 0x1fff; - var ah9 = a9 >>> 13; - var b0 = b[0] | 0; - var bl0 = b0 & 0x1fff; - var bh0 = b0 >>> 13; - var b1 = b[1] | 0; - var bl1 = b1 & 0x1fff; - var bh1 = b1 >>> 13; - var b2 = b[2] | 0; - var bl2 = b2 & 0x1fff; - var bh2 = b2 >>> 13; - var b3 = b[3] | 0; - var bl3 = b3 & 0x1fff; - var bh3 = b3 >>> 13; - var b4 = b[4] | 0; - var bl4 = b4 & 0x1fff; - var bh4 = b4 >>> 13; - var b5 = b[5] | 0; - var bl5 = b5 & 0x1fff; - var bh5 = b5 >>> 13; - var b6 = b[6] | 0; - var bl6 = b6 & 0x1fff; - var bh6 = b6 >>> 13; - var b7 = b[7] | 0; - var bl7 = b7 & 0x1fff; - var bh7 = b7 >>> 13; - var b8 = b[8] | 0; - var bl8 = b8 & 0x1fff; - var bh8 = b8 >>> 13; - var b9 = b[9] | 0; - var bl9 = b9 & 0x1fff; - var bh9 = b9 >>> 13; - - out.negative = self.negative ^ num.negative; - out.length = 19; - /* k = 0 */ - lo = Math.imul(al0, bl0); - mid = Math.imul(al0, bh0); - mid = (mid + Math.imul(ah0, bl0)) | 0; - hi = Math.imul(ah0, bh0); - var w0 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0; - c = (((hi + (mid >>> 13)) | 0) + (w0 >>> 26)) | 0; - w0 &= 0x3ffffff; - /* k = 1 */ - lo = Math.imul(al1, bl0); - mid = Math.imul(al1, bh0); - mid = (mid + Math.imul(ah1, bl0)) | 0; - hi = Math.imul(ah1, bh0); - lo = (lo + Math.imul(al0, bl1)) | 0; - mid = (mid + Math.imul(al0, bh1)) | 0; - mid = (mid + Math.imul(ah0, bl1)) | 0; - hi = (hi + Math.imul(ah0, bh1)) | 0; - var w1 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0; - c = (((hi + (mid >>> 13)) | 0) + (w1 >>> 26)) | 0; - w1 &= 0x3ffffff; - /* k = 2 */ - lo = Math.imul(al2, bl0); - mid = Math.imul(al2, bh0); - mid = (mid + Math.imul(ah2, bl0)) | 0; - hi = Math.imul(ah2, bh0); - lo = (lo + Math.imul(al1, bl1)) | 0; - mid = (mid + Math.imul(al1, bh1)) | 0; - mid = (mid + Math.imul(ah1, bl1)) | 0; - hi = (hi + Math.imul(ah1, bh1)) | 0; - lo = (lo + Math.imul(al0, bl2)) | 0; - mid = (mid + Math.imul(al0, bh2)) | 0; - mid = (mid + Math.imul(ah0, bl2)) | 0; - hi = (hi + Math.imul(ah0, bh2)) | 0; - var w2 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0; - c = (((hi + (mid >>> 13)) | 0) + (w2 >>> 26)) | 0; - w2 &= 0x3ffffff; - /* k = 3 */ - lo = Math.imul(al3, bl0); - mid = Math.imul(al3, bh0); - mid = (mid + Math.imul(ah3, bl0)) | 0; - hi = Math.imul(ah3, bh0); - lo = (lo + Math.imul(al2, bl1)) | 0; - mid = (mid + Math.imul(al2, bh1)) | 0; - mid = (mid + Math.imul(ah2, bl1)) | 0; - hi = (hi + Math.imul(ah2, bh1)) | 0; - lo = (lo + Math.imul(al1, bl2)) | 0; - mid = (mid + Math.imul(al1, bh2)) | 0; - mid = (mid + Math.imul(ah1, bl2)) | 0; - hi = (hi + Math.imul(ah1, bh2)) | 0; - lo = (lo + Math.imul(al0, bl3)) | 0; - mid = (mid + Math.imul(al0, bh3)) | 0; - mid = (mid + Math.imul(ah0, bl3)) | 0; - hi = (hi + Math.imul(ah0, bh3)) | 0; - var w3 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0; - c = (((hi + (mid >>> 13)) | 0) + (w3 >>> 26)) | 0; - w3 &= 0x3ffffff; - /* k = 4 */ - lo = Math.imul(al4, bl0); - mid = Math.imul(al4, bh0); - mid = (mid + Math.imul(ah4, bl0)) | 0; - hi = Math.imul(ah4, bh0); - lo = (lo + Math.imul(al3, bl1)) | 0; - mid = (mid + Math.imul(al3, bh1)) | 0; - mid = (mid + Math.imul(ah3, bl1)) | 0; - hi = (hi + Math.imul(ah3, bh1)) | 0; - lo = (lo + Math.imul(al2, bl2)) | 0; - mid = (mid + Math.imul(al2, bh2)) | 0; - mid = (mid + Math.imul(ah2, bl2)) | 0; - hi = (hi + Math.imul(ah2, bh2)) | 0; - lo = (lo + Math.imul(al1, bl3)) | 0; - mid = (mid + Math.imul(al1, bh3)) | 0; - mid = (mid + Math.imul(ah1, bl3)) | 0; - hi = (hi + Math.imul(ah1, bh3)) | 0; - lo = (lo + Math.imul(al0, bl4)) | 0; - mid = (mid + Math.imul(al0, bh4)) | 0; - mid = (mid + Math.imul(ah0, bl4)) | 0; - hi = (hi + Math.imul(ah0, bh4)) | 0; - var w4 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0; - c = (((hi + (mid >>> 13)) | 0) + (w4 >>> 26)) | 0; - w4 &= 0x3ffffff; - /* k = 5 */ - lo = Math.imul(al5, bl0); - mid = Math.imul(al5, bh0); - mid = (mid + Math.imul(ah5, bl0)) | 0; - hi = Math.imul(ah5, bh0); - lo = (lo + Math.imul(al4, bl1)) | 0; - mid = (mid + Math.imul(al4, bh1)) | 0; - mid = (mid + Math.imul(ah4, bl1)) | 0; - hi = (hi + Math.imul(ah4, bh1)) | 0; - lo = (lo + Math.imul(al3, bl2)) | 0; - mid = (mid + Math.imul(al3, bh2)) | 0; - mid = (mid + Math.imul(ah3, bl2)) | 0; - hi = (hi + Math.imul(ah3, bh2)) | 0; - lo = (lo + Math.imul(al2, bl3)) | 0; - mid = (mid + Math.imul(al2, bh3)) | 0; - mid = (mid + Math.imul(ah2, bl3)) | 0; - hi = (hi + Math.imul(ah2, bh3)) | 0; - lo = (lo + Math.imul(al1, bl4)) | 0; - mid = (mid + Math.imul(al1, bh4)) | 0; - mid = (mid + Math.imul(ah1, bl4)) | 0; - hi = (hi + Math.imul(ah1, bh4)) | 0; - lo = (lo + Math.imul(al0, bl5)) | 0; - mid = (mid + Math.imul(al0, bh5)) | 0; - mid = (mid + Math.imul(ah0, bl5)) | 0; - hi = (hi + Math.imul(ah0, bh5)) | 0; - var w5 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0; - c = (((hi + (mid >>> 13)) | 0) + (w5 >>> 26)) | 0; - w5 &= 0x3ffffff; - /* k = 6 */ - lo = Math.imul(al6, bl0); - mid = Math.imul(al6, bh0); - mid = (mid + Math.imul(ah6, bl0)) | 0; - hi = Math.imul(ah6, bh0); - lo = (lo + Math.imul(al5, bl1)) | 0; - mid = (mid + Math.imul(al5, bh1)) | 0; - mid = (mid + Math.imul(ah5, bl1)) | 0; - hi = (hi + Math.imul(ah5, bh1)) | 0; - lo = (lo + Math.imul(al4, bl2)) | 0; - mid = (mid + Math.imul(al4, bh2)) | 0; - mid = (mid + Math.imul(ah4, bl2)) | 0; - hi = (hi + Math.imul(ah4, bh2)) | 0; - lo = (lo + Math.imul(al3, bl3)) | 0; - mid = (mid + Math.imul(al3, bh3)) | 0; - mid = (mid + Math.imul(ah3, bl3)) | 0; - hi = (hi + Math.imul(ah3, bh3)) | 0; - lo = (lo + Math.imul(al2, bl4)) | 0; - mid = (mid + Math.imul(al2, bh4)) | 0; - mid = (mid + Math.imul(ah2, bl4)) | 0; - hi = (hi + Math.imul(ah2, bh4)) | 0; - lo = (lo + Math.imul(al1, bl5)) | 0; - mid = (mid + Math.imul(al1, bh5)) | 0; - mid = (mid + Math.imul(ah1, bl5)) | 0; - hi = (hi + Math.imul(ah1, bh5)) | 0; - lo = (lo + Math.imul(al0, bl6)) | 0; - mid = (mid + Math.imul(al0, bh6)) | 0; - mid = (mid + Math.imul(ah0, bl6)) | 0; - hi = (hi + Math.imul(ah0, bh6)) | 0; - var w6 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0; - c = (((hi + (mid >>> 13)) | 0) + (w6 >>> 26)) | 0; - w6 &= 0x3ffffff; - /* k = 7 */ - lo = Math.imul(al7, bl0); - mid = Math.imul(al7, bh0); - mid = (mid + Math.imul(ah7, bl0)) | 0; - hi = Math.imul(ah7, bh0); - lo = (lo + Math.imul(al6, bl1)) | 0; - mid = (mid + Math.imul(al6, bh1)) | 0; - mid = (mid + Math.imul(ah6, bl1)) | 0; - hi = (hi + Math.imul(ah6, bh1)) | 0; - lo = (lo + Math.imul(al5, bl2)) | 0; - mid = (mid + Math.imul(al5, bh2)) | 0; - mid = (mid + Math.imul(ah5, bl2)) | 0; - hi = (hi + Math.imul(ah5, bh2)) | 0; - lo = (lo + Math.imul(al4, bl3)) | 0; - mid = (mid + Math.imul(al4, bh3)) | 0; - mid = (mid + Math.imul(ah4, bl3)) | 0; - hi = (hi + Math.imul(ah4, bh3)) | 0; - lo = (lo + Math.imul(al3, bl4)) | 0; - mid = (mid + Math.imul(al3, bh4)) | 0; - mid = (mid + Math.imul(ah3, bl4)) | 0; - hi = (hi + Math.imul(ah3, bh4)) | 0; - lo = (lo + Math.imul(al2, bl5)) | 0; - mid = (mid + Math.imul(al2, bh5)) | 0; - mid = (mid + Math.imul(ah2, bl5)) | 0; - hi = (hi + Math.imul(ah2, bh5)) | 0; - lo = (lo + Math.imul(al1, bl6)) | 0; - mid = (mid + Math.imul(al1, bh6)) | 0; - mid = (mid + Math.imul(ah1, bl6)) | 0; - hi = (hi + Math.imul(ah1, bh6)) | 0; - lo = (lo + Math.imul(al0, bl7)) | 0; - mid = (mid + Math.imul(al0, bh7)) | 0; - mid = (mid + Math.imul(ah0, bl7)) | 0; - hi = (hi + Math.imul(ah0, bh7)) | 0; - var w7 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0; - c = (((hi + (mid >>> 13)) | 0) + (w7 >>> 26)) | 0; - w7 &= 0x3ffffff; - /* k = 8 */ - lo = Math.imul(al8, bl0); - mid = Math.imul(al8, bh0); - mid = (mid + Math.imul(ah8, bl0)) | 0; - hi = Math.imul(ah8, bh0); - lo = (lo + Math.imul(al7, bl1)) | 0; - mid = (mid + Math.imul(al7, bh1)) | 0; - mid = (mid + Math.imul(ah7, bl1)) | 0; - hi = (hi + Math.imul(ah7, bh1)) | 0; - lo = (lo + Math.imul(al6, bl2)) | 0; - mid = (mid + Math.imul(al6, bh2)) | 0; - mid = (mid + Math.imul(ah6, bl2)) | 0; - hi = (hi + Math.imul(ah6, bh2)) | 0; - lo = (lo + Math.imul(al5, bl3)) | 0; - mid = (mid + Math.imul(al5, bh3)) | 0; - mid = (mid + Math.imul(ah5, bl3)) | 0; - hi = (hi + Math.imul(ah5, bh3)) | 0; - lo = (lo + Math.imul(al4, bl4)) | 0; - mid = (mid + Math.imul(al4, bh4)) | 0; - mid = (mid + Math.imul(ah4, bl4)) | 0; - hi = (hi + Math.imul(ah4, bh4)) | 0; - lo = (lo + Math.imul(al3, bl5)) | 0; - mid = (mid + Math.imul(al3, bh5)) | 0; - mid = (mid + Math.imul(ah3, bl5)) | 0; - hi = (hi + Math.imul(ah3, bh5)) | 0; - lo = (lo + Math.imul(al2, bl6)) | 0; - mid = (mid + Math.imul(al2, bh6)) | 0; - mid = (mid + Math.imul(ah2, bl6)) | 0; - hi = (hi + Math.imul(ah2, bh6)) | 0; - lo = (lo + Math.imul(al1, bl7)) | 0; - mid = (mid + Math.imul(al1, bh7)) | 0; - mid = (mid + Math.imul(ah1, bl7)) | 0; - hi = (hi + Math.imul(ah1, bh7)) | 0; - lo = (lo + Math.imul(al0, bl8)) | 0; - mid = (mid + Math.imul(al0, bh8)) | 0; - mid = (mid + Math.imul(ah0, bl8)) | 0; - hi = (hi + Math.imul(ah0, bh8)) | 0; - var w8 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0; - c = (((hi + (mid >>> 13)) | 0) + (w8 >>> 26)) | 0; - w8 &= 0x3ffffff; - /* k = 9 */ - lo = Math.imul(al9, bl0); - mid = Math.imul(al9, bh0); - mid = (mid + Math.imul(ah9, bl0)) | 0; - hi = Math.imul(ah9, bh0); - lo = (lo + Math.imul(al8, bl1)) | 0; - mid = (mid + Math.imul(al8, bh1)) | 0; - mid = (mid + Math.imul(ah8, bl1)) | 0; - hi = (hi + Math.imul(ah8, bh1)) | 0; - lo = (lo + Math.imul(al7, bl2)) | 0; - mid = (mid + Math.imul(al7, bh2)) | 0; - mid = (mid + Math.imul(ah7, bl2)) | 0; - hi = (hi + Math.imul(ah7, bh2)) | 0; - lo = (lo + Math.imul(al6, bl3)) | 0; - mid = (mid + Math.imul(al6, bh3)) | 0; - mid = (mid + Math.imul(ah6, bl3)) | 0; - hi = (hi + Math.imul(ah6, bh3)) | 0; - lo = (lo + Math.imul(al5, bl4)) | 0; - mid = (mid + Math.imul(al5, bh4)) | 0; - mid = (mid + Math.imul(ah5, bl4)) | 0; - hi = (hi + Math.imul(ah5, bh4)) | 0; - lo = (lo + Math.imul(al4, bl5)) | 0; - mid = (mid + Math.imul(al4, bh5)) | 0; - mid = (mid + Math.imul(ah4, bl5)) | 0; - hi = (hi + Math.imul(ah4, bh5)) | 0; - lo = (lo + Math.imul(al3, bl6)) | 0; - mid = (mid + Math.imul(al3, bh6)) | 0; - mid = (mid + Math.imul(ah3, bl6)) | 0; - hi = (hi + Math.imul(ah3, bh6)) | 0; - lo = (lo + Math.imul(al2, bl7)) | 0; - mid = (mid + Math.imul(al2, bh7)) | 0; - mid = (mid + Math.imul(ah2, bl7)) | 0; - hi = (hi + Math.imul(ah2, bh7)) | 0; - lo = (lo + Math.imul(al1, bl8)) | 0; - mid = (mid + Math.imul(al1, bh8)) | 0; - mid = (mid + Math.imul(ah1, bl8)) | 0; - hi = (hi + Math.imul(ah1, bh8)) | 0; - lo = (lo + Math.imul(al0, bl9)) | 0; - mid = (mid + Math.imul(al0, bh9)) | 0; - mid = (mid + Math.imul(ah0, bl9)) | 0; - hi = (hi + Math.imul(ah0, bh9)) | 0; - var w9 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0; - c = (((hi + (mid >>> 13)) | 0) + (w9 >>> 26)) | 0; - w9 &= 0x3ffffff; - /* k = 10 */ - lo = Math.imul(al9, bl1); - mid = Math.imul(al9, bh1); - mid = (mid + Math.imul(ah9, bl1)) | 0; - hi = Math.imul(ah9, bh1); - lo = (lo + Math.imul(al8, bl2)) | 0; - mid = (mid + Math.imul(al8, bh2)) | 0; - mid = (mid + Math.imul(ah8, bl2)) | 0; - hi = (hi + Math.imul(ah8, bh2)) | 0; - lo = (lo + Math.imul(al7, bl3)) | 0; - mid = (mid + Math.imul(al7, bh3)) | 0; - mid = (mid + Math.imul(ah7, bl3)) | 0; - hi = (hi + Math.imul(ah7, bh3)) | 0; - lo = (lo + Math.imul(al6, bl4)) | 0; - mid = (mid + Math.imul(al6, bh4)) | 0; - mid = (mid + Math.imul(ah6, bl4)) | 0; - hi = (hi + Math.imul(ah6, bh4)) | 0; - lo = (lo + Math.imul(al5, bl5)) | 0; - mid = (mid + Math.imul(al5, bh5)) | 0; - mid = (mid + Math.imul(ah5, bl5)) | 0; - hi = (hi + Math.imul(ah5, bh5)) | 0; - lo = (lo + Math.imul(al4, bl6)) | 0; - mid = (mid + Math.imul(al4, bh6)) | 0; - mid = (mid + Math.imul(ah4, bl6)) | 0; - hi = (hi + Math.imul(ah4, bh6)) | 0; - lo = (lo + Math.imul(al3, bl7)) | 0; - mid = (mid + Math.imul(al3, bh7)) | 0; - mid = (mid + Math.imul(ah3, bl7)) | 0; - hi = (hi + Math.imul(ah3, bh7)) | 0; - lo = (lo + Math.imul(al2, bl8)) | 0; - mid = (mid + Math.imul(al2, bh8)) | 0; - mid = (mid + Math.imul(ah2, bl8)) | 0; - hi = (hi + Math.imul(ah2, bh8)) | 0; - lo = (lo + Math.imul(al1, bl9)) | 0; - mid = (mid + Math.imul(al1, bh9)) | 0; - mid = (mid + Math.imul(ah1, bl9)) | 0; - hi = (hi + Math.imul(ah1, bh9)) | 0; - var w10 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0; - c = (((hi + (mid >>> 13)) | 0) + (w10 >>> 26)) | 0; - w10 &= 0x3ffffff; - /* k = 11 */ - lo = Math.imul(al9, bl2); - mid = Math.imul(al9, bh2); - mid = (mid + Math.imul(ah9, bl2)) | 0; - hi = Math.imul(ah9, bh2); - lo = (lo + Math.imul(al8, bl3)) | 0; - mid = (mid + Math.imul(al8, bh3)) | 0; - mid = (mid + Math.imul(ah8, bl3)) | 0; - hi = (hi + Math.imul(ah8, bh3)) | 0; - lo = (lo + Math.imul(al7, bl4)) | 0; - mid = (mid + Math.imul(al7, bh4)) | 0; - mid = (mid + Math.imul(ah7, bl4)) | 0; - hi = (hi + Math.imul(ah7, bh4)) | 0; - lo = (lo + Math.imul(al6, bl5)) | 0; - mid = (mid + Math.imul(al6, bh5)) | 0; - mid = (mid + Math.imul(ah6, bl5)) | 0; - hi = (hi + Math.imul(ah6, bh5)) | 0; - lo = (lo + Math.imul(al5, bl6)) | 0; - mid = (mid + Math.imul(al5, bh6)) | 0; - mid = (mid + Math.imul(ah5, bl6)) | 0; - hi = (hi + Math.imul(ah5, bh6)) | 0; - lo = (lo + Math.imul(al4, bl7)) | 0; - mid = (mid + Math.imul(al4, bh7)) | 0; - mid = (mid + Math.imul(ah4, bl7)) | 0; - hi = (hi + Math.imul(ah4, bh7)) | 0; - lo = (lo + Math.imul(al3, bl8)) | 0; - mid = (mid + Math.imul(al3, bh8)) | 0; - mid = (mid + Math.imul(ah3, bl8)) | 0; - hi = (hi + Math.imul(ah3, bh8)) | 0; - lo = (lo + Math.imul(al2, bl9)) | 0; - mid = (mid + Math.imul(al2, bh9)) | 0; - mid = (mid + Math.imul(ah2, bl9)) | 0; - hi = (hi + Math.imul(ah2, bh9)) | 0; - var w11 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0; - c = (((hi + (mid >>> 13)) | 0) + (w11 >>> 26)) | 0; - w11 &= 0x3ffffff; - /* k = 12 */ - lo = Math.imul(al9, bl3); - mid = Math.imul(al9, bh3); - mid = (mid + Math.imul(ah9, bl3)) | 0; - hi = Math.imul(ah9, bh3); - lo = (lo + Math.imul(al8, bl4)) | 0; - mid = (mid + Math.imul(al8, bh4)) | 0; - mid = (mid + Math.imul(ah8, bl4)) | 0; - hi = (hi + Math.imul(ah8, bh4)) | 0; - lo = (lo + Math.imul(al7, bl5)) | 0; - mid = (mid + Math.imul(al7, bh5)) | 0; - mid = (mid + Math.imul(ah7, bl5)) | 0; - hi = (hi + Math.imul(ah7, bh5)) | 0; - lo = (lo + Math.imul(al6, bl6)) | 0; - mid = (mid + Math.imul(al6, bh6)) | 0; - mid = (mid + Math.imul(ah6, bl6)) | 0; - hi = (hi + Math.imul(ah6, bh6)) | 0; - lo = (lo + Math.imul(al5, bl7)) | 0; - mid = (mid + Math.imul(al5, bh7)) | 0; - mid = (mid + Math.imul(ah5, bl7)) | 0; - hi = (hi + Math.imul(ah5, bh7)) | 0; - lo = (lo + Math.imul(al4, bl8)) | 0; - mid = (mid + Math.imul(al4, bh8)) | 0; - mid = (mid + Math.imul(ah4, bl8)) | 0; - hi = (hi + Math.imul(ah4, bh8)) | 0; - lo = (lo + Math.imul(al3, bl9)) | 0; - mid = (mid + Math.imul(al3, bh9)) | 0; - mid = (mid + Math.imul(ah3, bl9)) | 0; - hi = (hi + Math.imul(ah3, bh9)) | 0; - var w12 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0; - c = (((hi + (mid >>> 13)) | 0) + (w12 >>> 26)) | 0; - w12 &= 0x3ffffff; - /* k = 13 */ - lo = Math.imul(al9, bl4); - mid = Math.imul(al9, bh4); - mid = (mid + Math.imul(ah9, bl4)) | 0; - hi = Math.imul(ah9, bh4); - lo = (lo + Math.imul(al8, bl5)) | 0; - mid = (mid + Math.imul(al8, bh5)) | 0; - mid = (mid + Math.imul(ah8, bl5)) | 0; - hi = (hi + Math.imul(ah8, bh5)) | 0; - lo = (lo + Math.imul(al7, bl6)) | 0; - mid = (mid + Math.imul(al7, bh6)) | 0; - mid = (mid + Math.imul(ah7, bl6)) | 0; - hi = (hi + Math.imul(ah7, bh6)) | 0; - lo = (lo + Math.imul(al6, bl7)) | 0; - mid = (mid + Math.imul(al6, bh7)) | 0; - mid = (mid + Math.imul(ah6, bl7)) | 0; - hi = (hi + Math.imul(ah6, bh7)) | 0; - lo = (lo + Math.imul(al5, bl8)) | 0; - mid = (mid + Math.imul(al5, bh8)) | 0; - mid = (mid + Math.imul(ah5, bl8)) | 0; - hi = (hi + Math.imul(ah5, bh8)) | 0; - lo = (lo + Math.imul(al4, bl9)) | 0; - mid = (mid + Math.imul(al4, bh9)) | 0; - mid = (mid + Math.imul(ah4, bl9)) | 0; - hi = (hi + Math.imul(ah4, bh9)) | 0; - var w13 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0; - c = (((hi + (mid >>> 13)) | 0) + (w13 >>> 26)) | 0; - w13 &= 0x3ffffff; - /* k = 14 */ - lo = Math.imul(al9, bl5); - mid = Math.imul(al9, bh5); - mid = (mid + Math.imul(ah9, bl5)) | 0; - hi = Math.imul(ah9, bh5); - lo = (lo + Math.imul(al8, bl6)) | 0; - mid = (mid + Math.imul(al8, bh6)) | 0; - mid = (mid + Math.imul(ah8, bl6)) | 0; - hi = (hi + Math.imul(ah8, bh6)) | 0; - lo = (lo + Math.imul(al7, bl7)) | 0; - mid = (mid + Math.imul(al7, bh7)) | 0; - mid = (mid + Math.imul(ah7, bl7)) | 0; - hi = (hi + Math.imul(ah7, bh7)) | 0; - lo = (lo + Math.imul(al6, bl8)) | 0; - mid = (mid + Math.imul(al6, bh8)) | 0; - mid = (mid + Math.imul(ah6, bl8)) | 0; - hi = (hi + Math.imul(ah6, bh8)) | 0; - lo = (lo + Math.imul(al5, bl9)) | 0; - mid = (mid + Math.imul(al5, bh9)) | 0; - mid = (mid + Math.imul(ah5, bl9)) | 0; - hi = (hi + Math.imul(ah5, bh9)) | 0; - var w14 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0; - c = (((hi + (mid >>> 13)) | 0) + (w14 >>> 26)) | 0; - w14 &= 0x3ffffff; - /* k = 15 */ - lo = Math.imul(al9, bl6); - mid = Math.imul(al9, bh6); - mid = (mid + Math.imul(ah9, bl6)) | 0; - hi = Math.imul(ah9, bh6); - lo = (lo + Math.imul(al8, bl7)) | 0; - mid = (mid + Math.imul(al8, bh7)) | 0; - mid = (mid + Math.imul(ah8, bl7)) | 0; - hi = (hi + Math.imul(ah8, bh7)) | 0; - lo = (lo + Math.imul(al7, bl8)) | 0; - mid = (mid + Math.imul(al7, bh8)) | 0; - mid = (mid + Math.imul(ah7, bl8)) | 0; - hi = (hi + Math.imul(ah7, bh8)) | 0; - lo = (lo + Math.imul(al6, bl9)) | 0; - mid = (mid + Math.imul(al6, bh9)) | 0; - mid = (mid + Math.imul(ah6, bl9)) | 0; - hi = (hi + Math.imul(ah6, bh9)) | 0; - var w15 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0; - c = (((hi + (mid >>> 13)) | 0) + (w15 >>> 26)) | 0; - w15 &= 0x3ffffff; - /* k = 16 */ - lo = Math.imul(al9, bl7); - mid = Math.imul(al9, bh7); - mid = (mid + Math.imul(ah9, bl7)) | 0; - hi = Math.imul(ah9, bh7); - lo = (lo + Math.imul(al8, bl8)) | 0; - mid = (mid + Math.imul(al8, bh8)) | 0; - mid = (mid + Math.imul(ah8, bl8)) | 0; - hi = (hi + Math.imul(ah8, bh8)) | 0; - lo = (lo + Math.imul(al7, bl9)) | 0; - mid = (mid + Math.imul(al7, bh9)) | 0; - mid = (mid + Math.imul(ah7, bl9)) | 0; - hi = (hi + Math.imul(ah7, bh9)) | 0; - var w16 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0; - c = (((hi + (mid >>> 13)) | 0) + (w16 >>> 26)) | 0; - w16 &= 0x3ffffff; - /* k = 17 */ - lo = Math.imul(al9, bl8); - mid = Math.imul(al9, bh8); - mid = (mid + Math.imul(ah9, bl8)) | 0; - hi = Math.imul(ah9, bh8); - lo = (lo + Math.imul(al8, bl9)) | 0; - mid = (mid + Math.imul(al8, bh9)) | 0; - mid = (mid + Math.imul(ah8, bl9)) | 0; - hi = (hi + Math.imul(ah8, bh9)) | 0; - var w17 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0; - c = (((hi + (mid >>> 13)) | 0) + (w17 >>> 26)) | 0; - w17 &= 0x3ffffff; - /* k = 18 */ - lo = Math.imul(al9, bl9); - mid = Math.imul(al9, bh9); - mid = (mid + Math.imul(ah9, bl9)) | 0; - hi = Math.imul(ah9, bh9); - var w18 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0; - c = (((hi + (mid >>> 13)) | 0) + (w18 >>> 26)) | 0; - w18 &= 0x3ffffff; - o[0] = w0; - o[1] = w1; - o[2] = w2; - o[3] = w3; - o[4] = w4; - o[5] = w5; - o[6] = w6; - o[7] = w7; - o[8] = w8; - o[9] = w9; - o[10] = w10; - o[11] = w11; - o[12] = w12; - o[13] = w13; - o[14] = w14; - o[15] = w15; - o[16] = w16; - o[17] = w17; - o[18] = w18; - if (c !== 0) { - o[19] = c; - out.length++; - } - return out; - }; - - // Polyfill comb - if (!Math.imul) { - comb10MulTo = smallMulTo; - } - - function bigMulTo (self, num, out) { - out.negative = num.negative ^ self.negative; - out.length = self.length + num.length; - - var carry = 0; - var hncarry = 0; - for (var k = 0; k < out.length - 1; k++) { - // Sum all words with the same `i + j = k` and accumulate `ncarry`, - // note that ncarry could be >= 0x3ffffff - var ncarry = hncarry; - hncarry = 0; - var rword = carry & 0x3ffffff; - var maxJ = Math.min(k, num.length - 1); - for (var j = Math.max(0, k - self.length + 1); j <= maxJ; j++) { - var i = k - j; - var a = self.words[i] | 0; - var b = num.words[j] | 0; - var r = a * b; - - var lo = r & 0x3ffffff; - ncarry = (ncarry + ((r / 0x4000000) | 0)) | 0; - lo = (lo + rword) | 0; - rword = lo & 0x3ffffff; - ncarry = (ncarry + (lo >>> 26)) | 0; - - hncarry += ncarry >>> 26; - ncarry &= 0x3ffffff; - } - out.words[k] = rword; - carry = ncarry; - ncarry = hncarry; - } - if (carry !== 0) { - out.words[k] = carry; - } else { - out.length--; - } - - return out.strip(); - } - - function jumboMulTo (self, num, out) { - var fftm = new FFTM(); - return fftm.mulp(self, num, out); - } - - BN.prototype.mulTo = function mulTo (num, out) { - var res; - var len = this.length + num.length; - if (this.length === 10 && num.length === 10) { - res = comb10MulTo(this, num, out); - } else if (len < 63) { - res = smallMulTo(this, num, out); - } else if (len < 1024) { - res = bigMulTo(this, num, out); - } else { - res = jumboMulTo(this, num, out); - } - - return res; - }; - - // Cooley-Tukey algorithm for FFT - // slightly revisited to rely on looping instead of recursion - - function FFTM (x, y) { - this.x = x; - this.y = y; - } - - FFTM.prototype.makeRBT = function makeRBT (N) { - var t = new Array(N); - var l = BN.prototype._countBits(N) - 1; - for (var i = 0; i < N; i++) { - t[i] = this.revBin(i, l, N); - } - - return t; - }; - - // Returns binary-reversed representation of `x` - FFTM.prototype.revBin = function revBin (x, l, N) { - if (x === 0 || x === N - 1) return x; - - var rb = 0; - for (var i = 0; i < l; i++) { - rb |= (x & 1) << (l - i - 1); - x >>= 1; - } - - return rb; - }; - - // Performs "tweedling" phase, therefore 'emulating' - // behaviour of the recursive algorithm - FFTM.prototype.permute = function permute (rbt, rws, iws, rtws, itws, N) { - for (var i = 0; i < N; i++) { - rtws[i] = rws[rbt[i]]; - itws[i] = iws[rbt[i]]; - } - }; - - FFTM.prototype.transform = function transform (rws, iws, rtws, itws, N, rbt) { - this.permute(rbt, rws, iws, rtws, itws, N); - - for (var s = 1; s < N; s <<= 1) { - var l = s << 1; - - var rtwdf = Math.cos(2 * Math.PI / l); - var itwdf = Math.sin(2 * Math.PI / l); - - for (var p = 0; p < N; p += l) { - var rtwdf_ = rtwdf; - var itwdf_ = itwdf; - - for (var j = 0; j < s; j++) { - var re = rtws[p + j]; - var ie = itws[p + j]; - - var ro = rtws[p + j + s]; - var io = itws[p + j + s]; - - var rx = rtwdf_ * ro - itwdf_ * io; - - io = rtwdf_ * io + itwdf_ * ro; - ro = rx; - - rtws[p + j] = re + ro; - itws[p + j] = ie + io; - - rtws[p + j + s] = re - ro; - itws[p + j + s] = ie - io; - - /* jshint maxdepth : false */ - if (j !== l) { - rx = rtwdf * rtwdf_ - itwdf * itwdf_; - - itwdf_ = rtwdf * itwdf_ + itwdf * rtwdf_; - rtwdf_ = rx; - } - } - } - } - }; - - FFTM.prototype.guessLen13b = function guessLen13b (n, m) { - var N = Math.max(m, n) | 1; - var odd = N & 1; - var i = 0; - for (N = N / 2 | 0; N; N = N >>> 1) { - i++; - } - - return 1 << i + 1 + odd; - }; - - FFTM.prototype.conjugate = function conjugate (rws, iws, N) { - if (N <= 1) return; - - for (var i = 0; i < N / 2; i++) { - var t = rws[i]; - - rws[i] = rws[N - i - 1]; - rws[N - i - 1] = t; - - t = iws[i]; - - iws[i] = -iws[N - i - 1]; - iws[N - i - 1] = -t; - } - }; - - FFTM.prototype.normalize13b = function normalize13b (ws, N) { - var carry = 0; - for (var i = 0; i < N / 2; i++) { - var w = Math.round(ws[2 * i + 1] / N) * 0x2000 + - Math.round(ws[2 * i] / N) + - carry; - - ws[i] = w & 0x3ffffff; - - if (w < 0x4000000) { - carry = 0; - } else { - carry = w / 0x4000000 | 0; - } - } - - return ws; - }; - - FFTM.prototype.convert13b = function convert13b (ws, len, rws, N) { - var carry = 0; - for (var i = 0; i < len; i++) { - carry = carry + (ws[i] | 0); - - rws[2 * i] = carry & 0x1fff; carry = carry >>> 13; - rws[2 * i + 1] = carry & 0x1fff; carry = carry >>> 13; - } - - // Pad with zeroes - for (i = 2 * len; i < N; ++i) { - rws[i] = 0; - } - - assert(carry === 0); - assert((carry & ~0x1fff) === 0); - }; - - FFTM.prototype.stub = function stub (N) { - var ph = new Array(N); - for (var i = 0; i < N; i++) { - ph[i] = 0; - } - - return ph; - }; - - FFTM.prototype.mulp = function mulp (x, y, out) { - var N = 2 * this.guessLen13b(x.length, y.length); - - var rbt = this.makeRBT(N); - - var _ = this.stub(N); - - var rws = new Array(N); - var rwst = new Array(N); - var iwst = new Array(N); - - var nrws = new Array(N); - var nrwst = new Array(N); - var niwst = new Array(N); - - var rmws = out.words; - rmws.length = N; - - this.convert13b(x.words, x.length, rws, N); - this.convert13b(y.words, y.length, nrws, N); - - this.transform(rws, _, rwst, iwst, N, rbt); - this.transform(nrws, _, nrwst, niwst, N, rbt); - - for (var i = 0; i < N; i++) { - var rx = rwst[i] * nrwst[i] - iwst[i] * niwst[i]; - iwst[i] = rwst[i] * niwst[i] + iwst[i] * nrwst[i]; - rwst[i] = rx; - } - - this.conjugate(rwst, iwst, N); - this.transform(rwst, iwst, rmws, _, N, rbt); - this.conjugate(rmws, _, N); - this.normalize13b(rmws, N); - - out.negative = x.negative ^ y.negative; - out.length = x.length + y.length; - return out.strip(); - }; - - // Multiply `this` by `num` - BN.prototype.mul = function mul (num) { - var out = new BN(null); - out.words = new Array(this.length + num.length); - return this.mulTo(num, out); - }; - - // Multiply employing FFT - BN.prototype.mulf = function mulf (num) { - var out = new BN(null); - out.words = new Array(this.length + num.length); - return jumboMulTo(this, num, out); - }; - - // In-place Multiplication - BN.prototype.imul = function imul (num) { - return this.clone().mulTo(num, this); - }; - - BN.prototype.imuln = function imuln (num) { - assert(typeof num === 'number'); - assert(num < 0x4000000); - - // Carry - var carry = 0; - for (var i = 0; i < this.length; i++) { - var w = (this.words[i] | 0) * num; - var lo = (w & 0x3ffffff) + (carry & 0x3ffffff); - carry >>= 26; - carry += (w / 0x4000000) | 0; - // NOTE: lo is 27bit maximum - carry += lo >>> 26; - this.words[i] = lo & 0x3ffffff; - } - - if (carry !== 0) { - this.words[i] = carry; - this.length++; - } - - return this; - }; - - BN.prototype.muln = function muln (num) { - return this.clone().imuln(num); - }; - - // `this` * `this` - BN.prototype.sqr = function sqr () { - return this.mul(this); - }; - - // `this` * `this` in-place - BN.prototype.isqr = function isqr () { - return this.imul(this.clone()); - }; - - // Math.pow(`this`, `num`) - BN.prototype.pow = function pow (num) { - var w = toBitArray(num); - if (w.length === 0) return new BN(1); - - // Skip leading zeroes - var res = this; - for (var i = 0; i < w.length; i++, res = res.sqr()) { - if (w[i] !== 0) break; - } - - if (++i < w.length) { - for (var q = res.sqr(); i < w.length; i++, q = q.sqr()) { - if (w[i] === 0) continue; - - res = res.mul(q); - } - } - - return res; - }; - - // Shift-left in-place - BN.prototype.iushln = function iushln (bits) { - assert(typeof bits === 'number' && bits >= 0); - var r = bits % 26; - var s = (bits - r) / 26; - var carryMask = (0x3ffffff >>> (26 - r)) << (26 - r); - var i; - - if (r !== 0) { - var carry = 0; - - for (i = 0; i < this.length; i++) { - var newCarry = this.words[i] & carryMask; - var c = ((this.words[i] | 0) - newCarry) << r; - this.words[i] = c | carry; - carry = newCarry >>> (26 - r); - } - - if (carry) { - this.words[i] = carry; - this.length++; - } - } - - if (s !== 0) { - for (i = this.length - 1; i >= 0; i--) { - this.words[i + s] = this.words[i]; - } - - for (i = 0; i < s; i++) { - this.words[i] = 0; - } - - this.length += s; - } - - return this.strip(); - }; - - BN.prototype.ishln = function ishln (bits) { - // TODO(indutny): implement me - assert(this.negative === 0); - return this.iushln(bits); - }; - - // Shift-right in-place - // NOTE: `hint` is a lowest bit before trailing zeroes - // NOTE: if `extended` is present - it will be filled with destroyed bits - BN.prototype.iushrn = function iushrn (bits, hint, extended) { - assert(typeof bits === 'number' && bits >= 0); - var h; - if (hint) { - h = (hint - (hint % 26)) / 26; - } else { - h = 0; - } - - var r = bits % 26; - var s = Math.min((bits - r) / 26, this.length); - var mask = 0x3ffffff ^ ((0x3ffffff >>> r) << r); - var maskedWords = extended; - - h -= s; - h = Math.max(0, h); - - // Extended mode, copy masked part - if (maskedWords) { - for (var i = 0; i < s; i++) { - maskedWords.words[i] = this.words[i]; - } - maskedWords.length = s; - } - - if (s === 0) { - // No-op, we should not move anything at all - } else if (this.length > s) { - this.length -= s; - for (i = 0; i < this.length; i++) { - this.words[i] = this.words[i + s]; - } - } else { - this.words[0] = 0; - this.length = 1; - } - - var carry = 0; - for (i = this.length - 1; i >= 0 && (carry !== 0 || i >= h); i--) { - var word = this.words[i] | 0; - this.words[i] = (carry << (26 - r)) | (word >>> r); - carry = word & mask; - } - - // Push carried bits as a mask - if (maskedWords && carry !== 0) { - maskedWords.words[maskedWords.length++] = carry; - } - - if (this.length === 0) { - this.words[0] = 0; - this.length = 1; - } - - return this.strip(); - }; - - BN.prototype.ishrn = function ishrn (bits, hint, extended) { - // TODO(indutny): implement me - assert(this.negative === 0); - return this.iushrn(bits, hint, extended); - }; - - // Shift-left - BN.prototype.shln = function shln (bits) { - return this.clone().ishln(bits); - }; - - BN.prototype.ushln = function ushln (bits) { - return this.clone().iushln(bits); - }; - - // Shift-right - BN.prototype.shrn = function shrn (bits) { - return this.clone().ishrn(bits); - }; - - BN.prototype.ushrn = function ushrn (bits) { - return this.clone().iushrn(bits); - }; - - // Test if n bit is set - BN.prototype.testn = function testn (bit) { - assert(typeof bit === 'number' && bit >= 0); - var r = bit % 26; - var s = (bit - r) / 26; - var q = 1 << r; - - // Fast case: bit is much higher than all existing words - if (this.length <= s) return false; - - // Check bit and return - var w = this.words[s]; - - return !!(w & q); - }; - - // Return only lowers bits of number (in-place) - BN.prototype.imaskn = function imaskn (bits) { - assert(typeof bits === 'number' && bits >= 0); - var r = bits % 26; - var s = (bits - r) / 26; - - assert(this.negative === 0, 'imaskn works only with positive numbers'); - - if (this.length <= s) { - return this; - } - - if (r !== 0) { - s++; - } - this.length = Math.min(s, this.length); - - if (r !== 0) { - var mask = 0x3ffffff ^ ((0x3ffffff >>> r) << r); - this.words[this.length - 1] &= mask; - } - - return this.strip(); - }; - - // Return only lowers bits of number - BN.prototype.maskn = function maskn (bits) { - return this.clone().imaskn(bits); - }; - - // Add plain number `num` to `this` - BN.prototype.iaddn = function iaddn (num) { - assert(typeof num === 'number'); - assert(num < 0x4000000); - if (num < 0) return this.isubn(-num); - - // Possible sign change - if (this.negative !== 0) { - if (this.length === 1 && (this.words[0] | 0) < num) { - this.words[0] = num - (this.words[0] | 0); - this.negative = 0; - return this; - } - - this.negative = 0; - this.isubn(num); - this.negative = 1; - return this; - } - - // Add without checks - return this._iaddn(num); - }; - - BN.prototype._iaddn = function _iaddn (num) { - this.words[0] += num; - - // Carry - for (var i = 0; i < this.length && this.words[i] >= 0x4000000; i++) { - this.words[i] -= 0x4000000; - if (i === this.length - 1) { - this.words[i + 1] = 1; - } else { - this.words[i + 1]++; - } - } - this.length = Math.max(this.length, i + 1); - - return this; - }; - - // Subtract plain number `num` from `this` - BN.prototype.isubn = function isubn (num) { - assert(typeof num === 'number'); - assert(num < 0x4000000); - if (num < 0) return this.iaddn(-num); - - if (this.negative !== 0) { - this.negative = 0; - this.iaddn(num); - this.negative = 1; - return this; - } - - this.words[0] -= num; - - if (this.length === 1 && this.words[0] < 0) { - this.words[0] = -this.words[0]; - this.negative = 1; - } else { - // Carry - for (var i = 0; i < this.length && this.words[i] < 0; i++) { - this.words[i] += 0x4000000; - this.words[i + 1] -= 1; - } - } - - return this.strip(); - }; - - BN.prototype.addn = function addn (num) { - return this.clone().iaddn(num); - }; - - BN.prototype.subn = function subn (num) { - return this.clone().isubn(num); - }; - - BN.prototype.iabs = function iabs () { - this.negative = 0; - - return this; - }; - - BN.prototype.abs = function abs () { - return this.clone().iabs(); - }; - - BN.prototype._ishlnsubmul = function _ishlnsubmul (num, mul, shift) { - var len = num.length + shift; - var i; - - this._expand(len); - - var w; - var carry = 0; - for (i = 0; i < num.length; i++) { - w = (this.words[i + shift] | 0) + carry; - var right = (num.words[i] | 0) * mul; - w -= right & 0x3ffffff; - carry = (w >> 26) - ((right / 0x4000000) | 0); - this.words[i + shift] = w & 0x3ffffff; - } - for (; i < this.length - shift; i++) { - w = (this.words[i + shift] | 0) + carry; - carry = w >> 26; - this.words[i + shift] = w & 0x3ffffff; - } - - if (carry === 0) return this.strip(); - - // Subtraction overflow - assert(carry === -1); - carry = 0; - for (i = 0; i < this.length; i++) { - w = -(this.words[i] | 0) + carry; - carry = w >> 26; - this.words[i] = w & 0x3ffffff; - } - this.negative = 1; - - return this.strip(); - }; - - BN.prototype._wordDiv = function _wordDiv (num, mode) { - var shift = this.length - num.length; - - var a = this.clone(); - var b = num; - - // Normalize - var bhi = b.words[b.length - 1] | 0; - var bhiBits = this._countBits(bhi); - shift = 26 - bhiBits; - if (shift !== 0) { - b = b.ushln(shift); - a.iushln(shift); - bhi = b.words[b.length - 1] | 0; - } - - // Initialize quotient - var m = a.length - b.length; - var q; - - if (mode !== 'mod') { - q = new BN(null); - q.length = m + 1; - q.words = new Array(q.length); - for (var i = 0; i < q.length; i++) { - q.words[i] = 0; - } - } - - var diff = a.clone()._ishlnsubmul(b, 1, m); - if (diff.negative === 0) { - a = diff; - if (q) { - q.words[m] = 1; - } - } - - for (var j = m - 1; j >= 0; j--) { - var qj = (a.words[b.length + j] | 0) * 0x4000000 + - (a.words[b.length + j - 1] | 0); - - // NOTE: (qj / bhi) is (0x3ffffff * 0x4000000 + 0x3ffffff) / 0x2000000 max - // (0x7ffffff) - qj = Math.min((qj / bhi) | 0, 0x3ffffff); - - a._ishlnsubmul(b, qj, j); - while (a.negative !== 0) { - qj--; - a.negative = 0; - a._ishlnsubmul(b, 1, j); - if (!a.isZero()) { - a.negative ^= 1; - } - } - if (q) { - q.words[j] = qj; - } - } - if (q) { - q.strip(); - } - a.strip(); - - // Denormalize - if (mode !== 'div' && shift !== 0) { - a.iushrn(shift); - } - - return { - div: q || null, - mod: a - }; - }; - - // NOTE: 1) `mode` can be set to `mod` to request mod only, - // to `div` to request div only, or be absent to - // request both div & mod - // 2) `positive` is true if unsigned mod is requested - BN.prototype.divmod = function divmod (num, mode, positive) { - assert(!num.isZero()); - - if (this.isZero()) { - return { - div: new BN(0), - mod: new BN(0) - }; - } - - var div, mod, res; - if (this.negative !== 0 && num.negative === 0) { - res = this.neg().divmod(num, mode); - - if (mode !== 'mod') { - div = res.div.neg(); - } - - if (mode !== 'div') { - mod = res.mod.neg(); - if (positive && mod.negative !== 0) { - mod.iadd(num); - } - } - - return { - div: div, - mod: mod - }; - } - - if (this.negative === 0 && num.negative !== 0) { - res = this.divmod(num.neg(), mode); - - if (mode !== 'mod') { - div = res.div.neg(); - } - - return { - div: div, - mod: res.mod - }; - } - - if ((this.negative & num.negative) !== 0) { - res = this.neg().divmod(num.neg(), mode); - - if (mode !== 'div') { - mod = res.mod.neg(); - if (positive && mod.negative !== 0) { - mod.isub(num); - } - } - - return { - div: res.div, - mod: mod - }; - } - - // Both numbers are positive at this point - - // Strip both numbers to approximate shift value - if (num.length > this.length || this.cmp(num) < 0) { - return { - div: new BN(0), - mod: this - }; - } - - // Very short reduction - if (num.length === 1) { - if (mode === 'div') { - return { - div: this.divn(num.words[0]), - mod: null - }; - } - - if (mode === 'mod') { - return { - div: null, - mod: new BN(this.modn(num.words[0])) - }; - } - - return { - div: this.divn(num.words[0]), - mod: new BN(this.modn(num.words[0])) - }; - } - - return this._wordDiv(num, mode); - }; - - // Find `this` / `num` - BN.prototype.div = function div (num) { - return this.divmod(num, 'div', false).div; - }; - - // Find `this` % `num` - BN.prototype.mod = function mod (num) { - return this.divmod(num, 'mod', false).mod; - }; - - BN.prototype.umod = function umod (num) { - return this.divmod(num, 'mod', true).mod; - }; - - // Find Round(`this` / `num`) - BN.prototype.divRound = function divRound (num) { - var dm = this.divmod(num); - - // Fast case - exact division - if (dm.mod.isZero()) return dm.div; - - var mod = dm.div.negative !== 0 ? dm.mod.isub(num) : dm.mod; - - var half = num.ushrn(1); - var r2 = num.andln(1); - var cmp = mod.cmp(half); - - // Round down - if (cmp < 0 || r2 === 1 && cmp === 0) return dm.div; - - // Round up - return dm.div.negative !== 0 ? dm.div.isubn(1) : dm.div.iaddn(1); - }; - - BN.prototype.modn = function modn (num) { - assert(num <= 0x3ffffff); - var p = (1 << 26) % num; - - var acc = 0; - for (var i = this.length - 1; i >= 0; i--) { - acc = (p * acc + (this.words[i] | 0)) % num; - } - - return acc; - }; - - // In-place division by number - BN.prototype.idivn = function idivn (num) { - assert(num <= 0x3ffffff); - - var carry = 0; - for (var i = this.length - 1; i >= 0; i--) { - var w = (this.words[i] | 0) + carry * 0x4000000; - this.words[i] = (w / num) | 0; - carry = w % num; - } - - return this.strip(); - }; - - BN.prototype.divn = function divn (num) { - return this.clone().idivn(num); - }; - - BN.prototype.egcd = function egcd (p) { - assert(p.negative === 0); - assert(!p.isZero()); - - var x = this; - var y = p.clone(); - - if (x.negative !== 0) { - x = x.umod(p); - } else { - x = x.clone(); - } - - // A * x + B * y = x - var A = new BN(1); - var B = new BN(0); - - // C * x + D * y = y - var C = new BN(0); - var D = new BN(1); - - var g = 0; - - while (x.isEven() && y.isEven()) { - x.iushrn(1); - y.iushrn(1); - ++g; - } - - var yp = y.clone(); - var xp = x.clone(); - - while (!x.isZero()) { - for (var i = 0, im = 1; (x.words[0] & im) === 0 && i < 26; ++i, im <<= 1); - if (i > 0) { - x.iushrn(i); - while (i-- > 0) { - if (A.isOdd() || B.isOdd()) { - A.iadd(yp); - B.isub(xp); - } - - A.iushrn(1); - B.iushrn(1); - } - } - - for (var j = 0, jm = 1; (y.words[0] & jm) === 0 && j < 26; ++j, jm <<= 1); - if (j > 0) { - y.iushrn(j); - while (j-- > 0) { - if (C.isOdd() || D.isOdd()) { - C.iadd(yp); - D.isub(xp); - } - - C.iushrn(1); - D.iushrn(1); - } - } - - if (x.cmp(y) >= 0) { - x.isub(y); - A.isub(C); - B.isub(D); - } else { - y.isub(x); - C.isub(A); - D.isub(B); - } - } - - return { - a: C, - b: D, - gcd: y.iushln(g) - }; - }; - - // This is reduced incarnation of the binary EEA - // above, designated to invert members of the - // _prime_ fields F(p) at a maximal speed - BN.prototype._invmp = function _invmp (p) { - assert(p.negative === 0); - assert(!p.isZero()); - - var a = this; - var b = p.clone(); - - if (a.negative !== 0) { - a = a.umod(p); - } else { - a = a.clone(); - } - - var x1 = new BN(1); - var x2 = new BN(0); - - var delta = b.clone(); - - while (a.cmpn(1) > 0 && b.cmpn(1) > 0) { - for (var i = 0, im = 1; (a.words[0] & im) === 0 && i < 26; ++i, im <<= 1); - if (i > 0) { - a.iushrn(i); - while (i-- > 0) { - if (x1.isOdd()) { - x1.iadd(delta); - } - - x1.iushrn(1); - } - } - - for (var j = 0, jm = 1; (b.words[0] & jm) === 0 && j < 26; ++j, jm <<= 1); - if (j > 0) { - b.iushrn(j); - while (j-- > 0) { - if (x2.isOdd()) { - x2.iadd(delta); - } - - x2.iushrn(1); - } - } - - if (a.cmp(b) >= 0) { - a.isub(b); - x1.isub(x2); - } else { - b.isub(a); - x2.isub(x1); - } - } - - var res; - if (a.cmpn(1) === 0) { - res = x1; - } else { - res = x2; - } - - if (res.cmpn(0) < 0) { - res.iadd(p); - } - - return res; - }; - - BN.prototype.gcd = function gcd (num) { - if (this.isZero()) return num.abs(); - if (num.isZero()) return this.abs(); - - var a = this.clone(); - var b = num.clone(); - a.negative = 0; - b.negative = 0; - - // Remove common factor of two - for (var shift = 0; a.isEven() && b.isEven(); shift++) { - a.iushrn(1); - b.iushrn(1); - } - - do { - while (a.isEven()) { - a.iushrn(1); - } - while (b.isEven()) { - b.iushrn(1); - } - - var r = a.cmp(b); - if (r < 0) { - // Swap `a` and `b` to make `a` always bigger than `b` - var t = a; - a = b; - b = t; - } else if (r === 0 || b.cmpn(1) === 0) { - break; - } - - a.isub(b); - } while (true); - - return b.iushln(shift); - }; - - // Invert number in the field F(num) - BN.prototype.invm = function invm (num) { - return this.egcd(num).a.umod(num); - }; - - BN.prototype.isEven = function isEven () { - return (this.words[0] & 1) === 0; - }; - - BN.prototype.isOdd = function isOdd () { - return (this.words[0] & 1) === 1; - }; - - // And first word and num - BN.prototype.andln = function andln (num) { - return this.words[0] & num; - }; - - // Increment at the bit position in-line - BN.prototype.bincn = function bincn (bit) { - assert(typeof bit === 'number'); - var r = bit % 26; - var s = (bit - r) / 26; - var q = 1 << r; - - // Fast case: bit is much higher than all existing words - if (this.length <= s) { - this._expand(s + 1); - this.words[s] |= q; - return this; - } - - // Add bit and propagate, if needed - var carry = q; - for (var i = s; carry !== 0 && i < this.length; i++) { - var w = this.words[i] | 0; - w += carry; - carry = w >>> 26; - w &= 0x3ffffff; - this.words[i] = w; - } - if (carry !== 0) { - this.words[i] = carry; - this.length++; - } - return this; - }; - - BN.prototype.isZero = function isZero () { - return this.length === 1 && this.words[0] === 0; - }; - - BN.prototype.cmpn = function cmpn (num) { - var negative = num < 0; - - if (this.negative !== 0 && !negative) return -1; - if (this.negative === 0 && negative) return 1; - - this.strip(); - - var res; - if (this.length > 1) { - res = 1; - } else { - if (negative) { - num = -num; - } - - assert(num <= 0x3ffffff, 'Number is too big'); - - var w = this.words[0] | 0; - res = w === num ? 0 : w < num ? -1 : 1; - } - if (this.negative !== 0) return -res | 0; - return res; - }; - - // Compare two numbers and return: - // 1 - if `this` > `num` - // 0 - if `this` == `num` - // -1 - if `this` < `num` - BN.prototype.cmp = function cmp (num) { - if (this.negative !== 0 && num.negative === 0) return -1; - if (this.negative === 0 && num.negative !== 0) return 1; - - var res = this.ucmp(num); - if (this.negative !== 0) return -res | 0; - return res; - }; - - // Unsigned comparison - BN.prototype.ucmp = function ucmp (num) { - // At this point both numbers have the same sign - if (this.length > num.length) return 1; - if (this.length < num.length) return -1; - - var res = 0; - for (var i = this.length - 1; i >= 0; i--) { - var a = this.words[i] | 0; - var b = num.words[i] | 0; - - if (a === b) continue; - if (a < b) { - res = -1; - } else if (a > b) { - res = 1; - } - break; - } - return res; - }; - - BN.prototype.gtn = function gtn (num) { - return this.cmpn(num) === 1; - }; - - BN.prototype.gt = function gt (num) { - return this.cmp(num) === 1; - }; - - BN.prototype.gten = function gten (num) { - return this.cmpn(num) >= 0; - }; - - BN.prototype.gte = function gte (num) { - return this.cmp(num) >= 0; - }; - - BN.prototype.ltn = function ltn (num) { - return this.cmpn(num) === -1; - }; - - BN.prototype.lt = function lt (num) { - return this.cmp(num) === -1; - }; - - BN.prototype.lten = function lten (num) { - return this.cmpn(num) <= 0; - }; - - BN.prototype.lte = function lte (num) { - return this.cmp(num) <= 0; - }; - - BN.prototype.eqn = function eqn (num) { - return this.cmpn(num) === 0; - }; - - BN.prototype.eq = function eq (num) { - return this.cmp(num) === 0; - }; - - // - // A reduce context, could be using montgomery or something better, depending - // on the `m` itself. - // - BN.red = function red (num) { - return new Red(num); - }; - - BN.prototype.toRed = function toRed (ctx) { - assert(!this.red, 'Already a number in reduction context'); - assert(this.negative === 0, 'red works only with positives'); - return ctx.convertTo(this)._forceRed(ctx); - }; - - BN.prototype.fromRed = function fromRed () { - assert(this.red, 'fromRed works only with numbers in reduction context'); - return this.red.convertFrom(this); - }; - - BN.prototype._forceRed = function _forceRed (ctx) { - this.red = ctx; - return this; - }; - - BN.prototype.forceRed = function forceRed (ctx) { - assert(!this.red, 'Already a number in reduction context'); - return this._forceRed(ctx); - }; - - BN.prototype.redAdd = function redAdd (num) { - assert(this.red, 'redAdd works only with red numbers'); - return this.red.add(this, num); - }; - - BN.prototype.redIAdd = function redIAdd (num) { - assert(this.red, 'redIAdd works only with red numbers'); - return this.red.iadd(this, num); - }; - - BN.prototype.redSub = function redSub (num) { - assert(this.red, 'redSub works only with red numbers'); - return this.red.sub(this, num); - }; - - BN.prototype.redISub = function redISub (num) { - assert(this.red, 'redISub works only with red numbers'); - return this.red.isub(this, num); - }; - - BN.prototype.redShl = function redShl (num) { - assert(this.red, 'redShl works only with red numbers'); - return this.red.shl(this, num); - }; - - BN.prototype.redMul = function redMul (num) { - assert(this.red, 'redMul works only with red numbers'); - this.red._verify2(this, num); - return this.red.mul(this, num); - }; - - BN.prototype.redIMul = function redIMul (num) { - assert(this.red, 'redMul works only with red numbers'); - this.red._verify2(this, num); - return this.red.imul(this, num); - }; - - BN.prototype.redSqr = function redSqr () { - assert(this.red, 'redSqr works only with red numbers'); - this.red._verify1(this); - return this.red.sqr(this); - }; - - BN.prototype.redISqr = function redISqr () { - assert(this.red, 'redISqr works only with red numbers'); - this.red._verify1(this); - return this.red.isqr(this); - }; - - // Square root over p - BN.prototype.redSqrt = function redSqrt () { - assert(this.red, 'redSqrt works only with red numbers'); - this.red._verify1(this); - return this.red.sqrt(this); - }; - - BN.prototype.redInvm = function redInvm () { - assert(this.red, 'redInvm works only with red numbers'); - this.red._verify1(this); - return this.red.invm(this); - }; - - // Return negative clone of `this` % `red modulo` - BN.prototype.redNeg = function redNeg () { - assert(this.red, 'redNeg works only with red numbers'); - this.red._verify1(this); - return this.red.neg(this); - }; - - BN.prototype.redPow = function redPow (num) { - assert(this.red && !num.red, 'redPow(normalNum)'); - this.red._verify1(this); - return this.red.pow(this, num); - }; - - // Prime numbers with efficient reduction - var primes = { - k256: null, - p224: null, - p192: null, - p25519: null - }; - - // Pseudo-Mersenne prime - function MPrime (name, p) { - // P = 2 ^ N - K - this.name = name; - this.p = new BN(p, 16); - this.n = this.p.bitLength(); - this.k = new BN(1).iushln(this.n).isub(this.p); - - this.tmp = this._tmp(); - } - - MPrime.prototype._tmp = function _tmp () { - var tmp = new BN(null); - tmp.words = new Array(Math.ceil(this.n / 13)); - return tmp; - }; - - MPrime.prototype.ireduce = function ireduce (num) { - // Assumes that `num` is less than `P^2` - // num = HI * (2 ^ N - K) + HI * K + LO = HI * K + LO (mod P) - var r = num; - var rlen; - - do { - this.split(r, this.tmp); - r = this.imulK(r); - r = r.iadd(this.tmp); - rlen = r.bitLength(); - } while (rlen > this.n); - - var cmp = rlen < this.n ? -1 : r.ucmp(this.p); - if (cmp === 0) { - r.words[0] = 0; - r.length = 1; - } else if (cmp > 0) { - r.isub(this.p); - } else { - if (r.strip !== undefined) { - // r is BN v4 instance - r.strip(); - } else { - // r is BN v5 instance - r._strip(); - } - } - - return r; - }; - - MPrime.prototype.split = function split (input, out) { - input.iushrn(this.n, 0, out); - }; - - MPrime.prototype.imulK = function imulK (num) { - return num.imul(this.k); - }; - - function K256 () { - MPrime.call( - this, - 'k256', - 'ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f'); - } - inherits(K256, MPrime); - - K256.prototype.split = function split (input, output) { - // 256 = 9 * 26 + 22 - var mask = 0x3fffff; - - var outLen = Math.min(input.length, 9); - for (var i = 0; i < outLen; i++) { - output.words[i] = input.words[i]; - } - output.length = outLen; - - if (input.length <= 9) { - input.words[0] = 0; - input.length = 1; - return; - } - - // Shift by 9 limbs - var prev = input.words[9]; - output.words[output.length++] = prev & mask; - - for (i = 10; i < input.length; i++) { - var next = input.words[i] | 0; - input.words[i - 10] = ((next & mask) << 4) | (prev >>> 22); - prev = next; - } - prev >>>= 22; - input.words[i - 10] = prev; - if (prev === 0 && input.length > 10) { - input.length -= 10; - } else { - input.length -= 9; - } - }; - - K256.prototype.imulK = function imulK (num) { - // K = 0x1000003d1 = [ 0x40, 0x3d1 ] - num.words[num.length] = 0; - num.words[num.length + 1] = 0; - num.length += 2; - - // bounded at: 0x40 * 0x3ffffff + 0x3d0 = 0x100000390 - var lo = 0; - for (var i = 0; i < num.length; i++) { - var w = num.words[i] | 0; - lo += w * 0x3d1; - num.words[i] = lo & 0x3ffffff; - lo = w * 0x40 + ((lo / 0x4000000) | 0); - } - - // Fast length reduction - if (num.words[num.length - 1] === 0) { - num.length--; - if (num.words[num.length - 1] === 0) { - num.length--; - } - } - return num; - }; - - function P224 () { - MPrime.call( - this, - 'p224', - 'ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001'); - } - inherits(P224, MPrime); - - function P192 () { - MPrime.call( - this, - 'p192', - 'ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff'); - } - inherits(P192, MPrime); - - function P25519 () { - // 2 ^ 255 - 19 - MPrime.call( - this, - '25519', - '7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed'); - } - inherits(P25519, MPrime); - - P25519.prototype.imulK = function imulK (num) { - // K = 0x13 - var carry = 0; - for (var i = 0; i < num.length; i++) { - var hi = (num.words[i] | 0) * 0x13 + carry; - var lo = hi & 0x3ffffff; - hi >>>= 26; - - num.words[i] = lo; - carry = hi; - } - if (carry !== 0) { - num.words[num.length++] = carry; - } - return num; - }; - - // Exported mostly for testing purposes, use plain name instead - BN._prime = function prime (name) { - // Cached version of prime - if (primes[name]) return primes[name]; - - var prime; - if (name === 'k256') { - prime = new K256(); - } else if (name === 'p224') { - prime = new P224(); - } else if (name === 'p192') { - prime = new P192(); - } else if (name === 'p25519') { - prime = new P25519(); - } else { - throw new Error('Unknown prime ' + name); - } - primes[name] = prime; - - return prime; - }; - - // - // Base reduction engine - // - function Red (m) { - if (typeof m === 'string') { - var prime = BN._prime(m); - this.m = prime.p; - this.prime = prime; - } else { - assert(m.gtn(1), 'modulus must be greater than 1'); - this.m = m; - this.prime = null; - } - } - - Red.prototype._verify1 = function _verify1 (a) { - assert(a.negative === 0, 'red works only with positives'); - assert(a.red, 'red works only with red numbers'); - }; - - Red.prototype._verify2 = function _verify2 (a, b) { - assert((a.negative | b.negative) === 0, 'red works only with positives'); - assert(a.red && a.red === b.red, - 'red works only with red numbers'); - }; - - Red.prototype.imod = function imod (a) { - if (this.prime) return this.prime.ireduce(a)._forceRed(this); - return a.umod(this.m)._forceRed(this); - }; - - Red.prototype.neg = function neg (a) { - if (a.isZero()) { - return a.clone(); - } - - return this.m.sub(a)._forceRed(this); - }; - - Red.prototype.add = function add (a, b) { - this._verify2(a, b); - - var res = a.add(b); - if (res.cmp(this.m) >= 0) { - res.isub(this.m); - } - return res._forceRed(this); - }; - - Red.prototype.iadd = function iadd (a, b) { - this._verify2(a, b); - - var res = a.iadd(b); - if (res.cmp(this.m) >= 0) { - res.isub(this.m); - } - return res; - }; - - Red.prototype.sub = function sub (a, b) { - this._verify2(a, b); - - var res = a.sub(b); - if (res.cmpn(0) < 0) { - res.iadd(this.m); - } - return res._forceRed(this); - }; - - Red.prototype.isub = function isub (a, b) { - this._verify2(a, b); - - var res = a.isub(b); - if (res.cmpn(0) < 0) { - res.iadd(this.m); - } - return res; - }; - - Red.prototype.shl = function shl (a, num) { - this._verify1(a); - return this.imod(a.ushln(num)); - }; - - Red.prototype.imul = function imul (a, b) { - this._verify2(a, b); - return this.imod(a.imul(b)); - }; - - Red.prototype.mul = function mul (a, b) { - this._verify2(a, b); - return this.imod(a.mul(b)); - }; - - Red.prototype.isqr = function isqr (a) { - return this.imul(a, a.clone()); - }; - - Red.prototype.sqr = function sqr (a) { - return this.mul(a, a); - }; - - Red.prototype.sqrt = function sqrt (a) { - if (a.isZero()) return a.clone(); - - var mod3 = this.m.andln(3); - assert(mod3 % 2 === 1); - - // Fast case - if (mod3 === 3) { - var pow = this.m.add(new BN(1)).iushrn(2); - return this.pow(a, pow); - } - - // Tonelli-Shanks algorithm (Totally unoptimized and slow) - // - // Find Q and S, that Q * 2 ^ S = (P - 1) - var q = this.m.subn(1); - var s = 0; - while (!q.isZero() && q.andln(1) === 0) { - s++; - q.iushrn(1); - } - assert(!q.isZero()); - - var one = new BN(1).toRed(this); - var nOne = one.redNeg(); - - // Find quadratic non-residue - // NOTE: Max is such because of generalized Riemann hypothesis. - var lpow = this.m.subn(1).iushrn(1); - var z = this.m.bitLength(); - z = new BN(2 * z * z).toRed(this); - - while (this.pow(z, lpow).cmp(nOne) !== 0) { - z.redIAdd(nOne); - } - - var c = this.pow(z, q); - var r = this.pow(a, q.addn(1).iushrn(1)); - var t = this.pow(a, q); - var m = s; - while (t.cmp(one) !== 0) { - var tmp = t; - for (var i = 0; tmp.cmp(one) !== 0; i++) { - tmp = tmp.redSqr(); - } - assert(i < m); - var b = this.pow(c, new BN(1).iushln(m - i - 1)); - - r = r.redMul(b); - c = b.redSqr(); - t = t.redMul(c); - m = i; - } - - return r; - }; - - Red.prototype.invm = function invm (a) { - var inv = a._invmp(this.m); - if (inv.negative !== 0) { - inv.negative = 0; - return this.imod(inv).redNeg(); - } else { - return this.imod(inv); - } - }; - - Red.prototype.pow = function pow (a, num) { - if (num.isZero()) return new BN(1).toRed(this); - if (num.cmpn(1) === 0) return a.clone(); - - var windowSize = 4; - var wnd = new Array(1 << windowSize); - wnd[0] = new BN(1).toRed(this); - wnd[1] = a; - for (var i = 2; i < wnd.length; i++) { - wnd[i] = this.mul(wnd[i - 1], a); - } - - var res = wnd[0]; - var current = 0; - var currentLen = 0; - var start = num.bitLength() % 26; - if (start === 0) { - start = 26; - } - - for (i = num.length - 1; i >= 0; i--) { - var word = num.words[i]; - for (var j = start - 1; j >= 0; j--) { - var bit = (word >> j) & 1; - if (res !== wnd[0]) { - res = this.sqr(res); - } - - if (bit === 0 && current === 0) { - currentLen = 0; - continue; - } - - current <<= 1; - current |= bit; - currentLen++; - if (currentLen !== windowSize && (i !== 0 || j !== 0)) continue; - - res = this.mul(res, wnd[current]); - currentLen = 0; - current = 0; - } - start = 26; - } - - return res; - }; - - Red.prototype.convertTo = function convertTo (num) { - var r = num.umod(this.m); - - return r === num ? r.clone() : r; - }; - - Red.prototype.convertFrom = function convertFrom (num) { - var res = num.clone(); - res.red = null; - return res; - }; - - // - // Montgomery method engine - // - - BN.mont = function mont (num) { - return new Mont(num); - }; - - function Mont (m) { - Red.call(this, m); - - this.shift = this.m.bitLength(); - if (this.shift % 26 !== 0) { - this.shift += 26 - (this.shift % 26); - } - - this.r = new BN(1).iushln(this.shift); - this.r2 = this.imod(this.r.sqr()); - this.rinv = this.r._invmp(this.m); - - this.minv = this.rinv.mul(this.r).isubn(1).div(this.m); - this.minv = this.minv.umod(this.r); - this.minv = this.r.sub(this.minv); - } - inherits(Mont, Red); - - Mont.prototype.convertTo = function convertTo (num) { - return this.imod(num.ushln(this.shift)); - }; - - Mont.prototype.convertFrom = function convertFrom (num) { - var r = this.imod(num.mul(this.rinv)); - r.red = null; - return r; - }; - - Mont.prototype.imul = function imul (a, b) { - if (a.isZero() || b.isZero()) { - a.words[0] = 0; - a.length = 1; - return a; - } - - var t = a.imul(b); - var c = t.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m); - var u = t.isub(c).iushrn(this.shift); - var res = u; - - if (u.cmp(this.m) >= 0) { - res = u.isub(this.m); - } else if (u.cmpn(0) < 0) { - res = u.iadd(this.m); - } - - return res._forceRed(this); - }; - - Mont.prototype.mul = function mul (a, b) { - if (a.isZero() || b.isZero()) return new BN(0)._forceRed(this); - - var t = a.mul(b); - var c = t.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m); - var u = t.isub(c).iushrn(this.shift); - var res = u; - if (u.cmp(this.m) >= 0) { - res = u.isub(this.m); - } else if (u.cmpn(0) < 0) { - res = u.iadd(this.m); - } - - return res._forceRed(this); - }; - - Mont.prototype.invm = function invm (a) { - // (AR)^-1 * R^2 = (A^-1 * R^-1) * R^2 = A^-1 * R - var res = this.imod(a._invmp(this.m).mul(this.r2)); - return res._forceRed(this); - }; -})( false || module, this); - - -/***/ }), - -/***/ 7435: -/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { - - - -var iconvLite = __nccwpck_require__(93441); - -// Expose to the world -module.exports.C = convert; - -/** - * Convert encoding of an UTF-8 string or a buffer - * - * @param {String|Buffer} str String to be converted - * @param {String} to Encoding to be converted to - * @param {String} [from='UTF-8'] Encoding to be converted from - * @return {Buffer} Encoded string - */ -function convert(str, to, from) { - from = checkEncoding(from || 'UTF-8'); - to = checkEncoding(to || 'UTF-8'); - str = str || ''; - - var result; - - if (from !== 'UTF-8' && typeof str === 'string') { - str = Buffer.from(str, 'binary'); - } - - if (from === to) { - if (typeof str === 'string') { - result = Buffer.from(str); - } else { - result = str; - } - } else { - try { - result = convertIconvLite(str, to, from); - } catch (E) { - console.error(E); - result = str; - } - } - - if (typeof result === 'string') { - result = Buffer.from(result, 'utf-8'); - } - - return result; -} - -/** - * Convert encoding of astring with iconv-lite - * - * @param {String|Buffer} str String to be converted - * @param {String} to Encoding to be converted to - * @param {String} [from='UTF-8'] Encoding to be converted from - * @return {Buffer} Encoded string - */ -function convertIconvLite(str, to, from) { - if (to === 'UTF-8') { - return iconvLite.decode(str, from); - } else if (from === 'UTF-8') { - return iconvLite.encode(str, to); - } else { - return iconvLite.encode(iconvLite.decode(str, from), to); - } -} - -/** - * Converts charset name if needed - * - * @param {String} name Character set - * @return {String} Character set name - */ -function checkEncoding(name) { - return (name || '') - .toString() - .trim() - .replace(/^latin[\-_]?(\d+)$/i, 'ISO-8859-$1') - .replace(/^win(?:dows)?[\-_]?(\d+)$/i, 'WINDOWS-$1') - .replace(/^utf[\-_]?(\d+)$/i, 'UTF-$1') - .replace(/^ks_c_5601\-1987$/i, 'CP949') - .replace(/^us[\-_]?ascii$/i, 'ASCII') - .toUpperCase(); -} - - -/***/ }), - -/***/ 3958: -/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) { - - -var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { - if (k2 === undefined) 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 === undefined) k2 = k; - o[k2] = m[k]; -})); -var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { - Object.defineProperty(o, "default", { enumerable: true, value: v }); -}) : function(o, v) { - o["default"] = v; -}); -var __importStar = (this && this.__importStar) || function (mod) { - if (mod && mod.__esModule) return mod; - var result = {}; - if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); - __setModuleDefault(result, mod); - return result; -}; -var __importDefault = (this && this.__importDefault) || function (mod) { - return (mod && mod.__esModule) ? mod : { "default": mod }; -}; -Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.decodeXML = exports.decodeHTMLStrict = exports.decodeHTMLAttribute = exports.decodeHTML = exports.determineBranch = exports.EntityDecoder = exports.DecodingMode = exports.BinTrieFlags = exports.fromCodePoint = exports.replaceCodePoint = exports.decodeCodePoint = exports.xmlDecodeTree = exports.htmlDecodeTree = void 0; -var decode_data_html_js_1 = __importDefault(__nccwpck_require__(99795)); -exports.htmlDecodeTree = decode_data_html_js_1.default; -var decode_data_xml_js_1 = __importDefault(__nccwpck_require__(1541)); -exports.xmlDecodeTree = decode_data_xml_js_1.default; -var decode_codepoint_js_1 = __importStar(__nccwpck_require__(1192)); -exports.decodeCodePoint = decode_codepoint_js_1.default; -var decode_codepoint_js_2 = __nccwpck_require__(1192); -Object.defineProperty(exports, "replaceCodePoint", ({ enumerable: true, get: function () { return decode_codepoint_js_2.replaceCodePoint; } })); -Object.defineProperty(exports, "fromCodePoint", ({ enumerable: true, get: function () { return decode_codepoint_js_2.fromCodePoint; } })); -var CharCodes; -(function (CharCodes) { - CharCodes[CharCodes["NUM"] = 35] = "NUM"; - CharCodes[CharCodes["SEMI"] = 59] = "SEMI"; - CharCodes[CharCodes["EQUALS"] = 61] = "EQUALS"; - CharCodes[CharCodes["ZERO"] = 48] = "ZERO"; - CharCodes[CharCodes["NINE"] = 57] = "NINE"; - CharCodes[CharCodes["LOWER_A"] = 97] = "LOWER_A"; - CharCodes[CharCodes["LOWER_F"] = 102] = "LOWER_F"; - CharCodes[CharCodes["LOWER_X"] = 120] = "LOWER_X"; - CharCodes[CharCodes["LOWER_Z"] = 122] = "LOWER_Z"; - CharCodes[CharCodes["UPPER_A"] = 65] = "UPPER_A"; - CharCodes[CharCodes["UPPER_F"] = 70] = "UPPER_F"; - CharCodes[CharCodes["UPPER_Z"] = 90] = "UPPER_Z"; -})(CharCodes || (CharCodes = {})); -/** Bit that needs to be set to convert an upper case ASCII character to lower case */ -var TO_LOWER_BIT = 32; -var BinTrieFlags; -(function (BinTrieFlags) { - BinTrieFlags[BinTrieFlags["VALUE_LENGTH"] = 49152] = "VALUE_LENGTH"; - BinTrieFlags[BinTrieFlags["BRANCH_LENGTH"] = 16256] = "BRANCH_LENGTH"; - BinTrieFlags[BinTrieFlags["JUMP_TABLE"] = 127] = "JUMP_TABLE"; -})(BinTrieFlags = exports.BinTrieFlags || (exports.BinTrieFlags = {})); -function isNumber(code) { - return code >= CharCodes.ZERO && code <= CharCodes.NINE; -} -function isHexadecimalCharacter(code) { - return ((code >= CharCodes.UPPER_A && code <= CharCodes.UPPER_F) || - (code >= CharCodes.LOWER_A && code <= CharCodes.LOWER_F)); -} -function isAsciiAlphaNumeric(code) { - return ((code >= CharCodes.UPPER_A && code <= CharCodes.UPPER_Z) || - (code >= CharCodes.LOWER_A && code <= CharCodes.LOWER_Z) || - isNumber(code)); -} -/** - * Checks if the given character is a valid end character for an entity in an attribute. - * - * Attribute values that aren't terminated properly aren't parsed, and shouldn't lead to a parser error. - * See the example in https://html.spec.whatwg.org/multipage/parsing.html#named-character-reference-state - */ -function isEntityInAttributeInvalidEnd(code) { - return code === CharCodes.EQUALS || isAsciiAlphaNumeric(code); -} -var EntityDecoderState; -(function (EntityDecoderState) { - EntityDecoderState[EntityDecoderState["EntityStart"] = 0] = "EntityStart"; - EntityDecoderState[EntityDecoderState["NumericStart"] = 1] = "NumericStart"; - EntityDecoderState[EntityDecoderState["NumericDecimal"] = 2] = "NumericDecimal"; - EntityDecoderState[EntityDecoderState["NumericHex"] = 3] = "NumericHex"; - EntityDecoderState[EntityDecoderState["NamedEntity"] = 4] = "NamedEntity"; -})(EntityDecoderState || (EntityDecoderState = {})); -var DecodingMode; -(function (DecodingMode) { - /** Entities in text nodes that can end with any character. */ - DecodingMode[DecodingMode["Legacy"] = 0] = "Legacy"; - /** Only allow entities terminated with a semicolon. */ - DecodingMode[DecodingMode["Strict"] = 1] = "Strict"; - /** Entities in attributes have limitations on ending characters. */ - DecodingMode[DecodingMode["Attribute"] = 2] = "Attribute"; -})(DecodingMode = exports.DecodingMode || (exports.DecodingMode = {})); -/** - * Token decoder with support of writing partial entities. - */ -var EntityDecoder = /** @class */ (function () { - function EntityDecoder( - /** The tree used to decode entities. */ - decodeTree, - /** - * The function that is called when a codepoint is decoded. - * - * For multi-byte named entities, this will be called multiple times, - * with the second codepoint, and the same `consumed` value. - * - * @param codepoint The decoded codepoint. - * @param consumed The number of bytes consumed by the decoder. - */ - emitCodePoint, - /** An object that is used to produce errors. */ - errors) { - this.decodeTree = decodeTree; - this.emitCodePoint = emitCodePoint; - this.errors = errors; - /** The current state of the decoder. */ - this.state = EntityDecoderState.EntityStart; - /** Characters that were consumed while parsing an entity. */ - this.consumed = 1; - /** - * The result of the entity. - * - * Either the result index of a numeric entity, or the codepoint of a - * numeric entity. - */ - this.result = 0; - /** The current index in the decode tree. */ - this.treeIndex = 0; - /** The number of characters that were consumed in excess. */ - this.excess = 1; - /** The mode in which the decoder is operating. */ - this.decodeMode = DecodingMode.Strict; - } - /** Resets the instance to make it reusable. */ - EntityDecoder.prototype.startEntity = function (decodeMode) { - this.decodeMode = decodeMode; - this.state = EntityDecoderState.EntityStart; - this.result = 0; - this.treeIndex = 0; - this.excess = 1; - this.consumed = 1; - }; - /** - * Write an entity to the decoder. This can be called multiple times with partial entities. - * If the entity is incomplete, the decoder will return -1. - * - * Mirrors the implementation of `getDecoder`, but with the ability to stop decoding if the - * entity is incomplete, and resume when the next string is written. - * - * @param string The string containing the entity (or a continuation of the entity). - * @param offset The offset at which the entity begins. Should be 0 if this is not the first call. - * @returns The number of characters that were consumed, or -1 if the entity is incomplete. - */ - EntityDecoder.prototype.write = function (str, offset) { - switch (this.state) { - case EntityDecoderState.EntityStart: { - if (str.charCodeAt(offset) === CharCodes.NUM) { - this.state = EntityDecoderState.NumericStart; - this.consumed += 1; - return this.stateNumericStart(str, offset + 1); - } - this.state = EntityDecoderState.NamedEntity; - return this.stateNamedEntity(str, offset); - } - case EntityDecoderState.NumericStart: { - return this.stateNumericStart(str, offset); - } - case EntityDecoderState.NumericDecimal: { - return this.stateNumericDecimal(str, offset); - } - case EntityDecoderState.NumericHex: { - return this.stateNumericHex(str, offset); - } - case EntityDecoderState.NamedEntity: { - return this.stateNamedEntity(str, offset); - } - } - }; - /** - * Switches between the numeric decimal and hexadecimal states. - * - * Equivalent to the `Numeric character reference state` in the HTML spec. - * - * @param str The string containing the entity (or a continuation of the entity). - * @param offset The current offset. - * @returns The number of characters that were consumed, or -1 if the entity is incomplete. - */ - EntityDecoder.prototype.stateNumericStart = function (str, offset) { - if (offset >= str.length) { - return -1; - } - if ((str.charCodeAt(offset) | TO_LOWER_BIT) === CharCodes.LOWER_X) { - this.state = EntityDecoderState.NumericHex; - this.consumed += 1; - return this.stateNumericHex(str, offset + 1); - } - this.state = EntityDecoderState.NumericDecimal; - return this.stateNumericDecimal(str, offset); - }; - EntityDecoder.prototype.addToNumericResult = function (str, start, end, base) { - if (start !== end) { - var digitCount = end - start; - this.result = - this.result * Math.pow(base, digitCount) + - parseInt(str.substr(start, digitCount), base); - this.consumed += digitCount; - } - }; - /** - * Parses a hexadecimal numeric entity. - * - * Equivalent to the `Hexademical character reference state` in the HTML spec. - * - * @param str The string containing the entity (or a continuation of the entity). - * @param offset The current offset. - * @returns The number of characters that were consumed, or -1 if the entity is incomplete. - */ - EntityDecoder.prototype.stateNumericHex = function (str, offset) { - var startIdx = offset; - while (offset < str.length) { - var char = str.charCodeAt(offset); - if (isNumber(char) || isHexadecimalCharacter(char)) { - offset += 1; - } - else { - this.addToNumericResult(str, startIdx, offset, 16); - return this.emitNumericEntity(char, 3); - } - } - this.addToNumericResult(str, startIdx, offset, 16); - return -1; - }; - /** - * Parses a decimal numeric entity. - * - * Equivalent to the `Decimal character reference state` in the HTML spec. - * - * @param str The string containing the entity (or a continuation of the entity). - * @param offset The current offset. - * @returns The number of characters that were consumed, or -1 if the entity is incomplete. - */ - EntityDecoder.prototype.stateNumericDecimal = function (str, offset) { - var startIdx = offset; - while (offset < str.length) { - var char = str.charCodeAt(offset); - if (isNumber(char)) { - offset += 1; - } - else { - this.addToNumericResult(str, startIdx, offset, 10); - return this.emitNumericEntity(char, 2); - } - } - this.addToNumericResult(str, startIdx, offset, 10); - return -1; - }; - /** - * Validate and emit a numeric entity. - * - * Implements the logic from the `Hexademical character reference start - * state` and `Numeric character reference end state` in the HTML spec. - * - * @param lastCp The last code point of the entity. Used to see if the - * entity was terminated with a semicolon. - * @param expectedLength The minimum number of characters that should be - * consumed. Used to validate that at least one digit - * was consumed. - * @returns The number of characters that were consumed. - */ - EntityDecoder.prototype.emitNumericEntity = function (lastCp, expectedLength) { - var _a; - // Ensure we consumed at least one digit. - if (this.consumed <= expectedLength) { - (_a = this.errors) === null || _a === void 0 ? void 0 : _a.absenceOfDigitsInNumericCharacterReference(this.consumed); - return 0; - } - // Figure out if this is a legit end of the entity - if (lastCp === CharCodes.SEMI) { - this.consumed += 1; - } - else if (this.decodeMode === DecodingMode.Strict) { - return 0; - } - this.emitCodePoint((0, decode_codepoint_js_1.replaceCodePoint)(this.result), this.consumed); - if (this.errors) { - if (lastCp !== CharCodes.SEMI) { - this.errors.missingSemicolonAfterCharacterReference(); - } - this.errors.validateNumericCharacterReference(this.result); - } - return this.consumed; - }; - /** - * Parses a named entity. - * - * Equivalent to the `Named character reference state` in the HTML spec. - * - * @param str The string containing the entity (or a continuation of the entity). - * @param offset The current offset. - * @returns The number of characters that were consumed, or -1 if the entity is incomplete. - */ - EntityDecoder.prototype.stateNamedEntity = function (str, offset) { - var decodeTree = this.decodeTree; - var current = decodeTree[this.treeIndex]; - // The mask is the number of bytes of the value, including the current byte. - var valueLength = (current & BinTrieFlags.VALUE_LENGTH) >> 14; - for (; offset < str.length; offset++, this.excess++) { - var char = str.charCodeAt(offset); - this.treeIndex = determineBranch(decodeTree, current, this.treeIndex + Math.max(1, valueLength), char); - if (this.treeIndex < 0) { - return this.result === 0 || - // If we are parsing an attribute - (this.decodeMode === DecodingMode.Attribute && - // We shouldn't have consumed any characters after the entity, - (valueLength === 0 || - // And there should be no invalid characters. - isEntityInAttributeInvalidEnd(char))) - ? 0 - : this.emitNotTerminatedNamedEntity(); - } - current = decodeTree[this.treeIndex]; - valueLength = (current & BinTrieFlags.VALUE_LENGTH) >> 14; - // If the branch is a value, store it and continue - if (valueLength !== 0) { - // If the entity is terminated by a semicolon, we are done. - if (char === CharCodes.SEMI) { - return this.emitNamedEntityData(this.treeIndex, valueLength, this.consumed + this.excess); - } - // If we encounter a non-terminated (legacy) entity while parsing strictly, then ignore it. - if (this.decodeMode !== DecodingMode.Strict) { - this.result = this.treeIndex; - this.consumed += this.excess; - this.excess = 0; - } - } - } - return -1; - }; - /** - * Emit a named entity that was not terminated with a semicolon. - * - * @returns The number of characters consumed. - */ - EntityDecoder.prototype.emitNotTerminatedNamedEntity = function () { - var _a; - var _b = this, result = _b.result, decodeTree = _b.decodeTree; - var valueLength = (decodeTree[result] & BinTrieFlags.VALUE_LENGTH) >> 14; - this.emitNamedEntityData(result, valueLength, this.consumed); - (_a = this.errors) === null || _a === void 0 ? void 0 : _a.missingSemicolonAfterCharacterReference(); - return this.consumed; - }; - /** - * Emit a named entity. - * - * @param result The index of the entity in the decode tree. - * @param valueLength The number of bytes in the entity. - * @param consumed The number of characters consumed. - * - * @returns The number of characters consumed. - */ - EntityDecoder.prototype.emitNamedEntityData = function (result, valueLength, consumed) { - var decodeTree = this.decodeTree; - this.emitCodePoint(valueLength === 1 - ? decodeTree[result] & ~BinTrieFlags.VALUE_LENGTH - : decodeTree[result + 1], consumed); - if (valueLength === 3) { - // For multi-byte values, we need to emit the second byte. - this.emitCodePoint(decodeTree[result + 2], consumed); - } - return consumed; - }; - /** - * Signal to the parser that the end of the input was reached. - * - * Remaining data will be emitted and relevant errors will be produced. - * - * @returns The number of characters consumed. - */ - EntityDecoder.prototype.end = function () { - var _a; - switch (this.state) { - case EntityDecoderState.NamedEntity: { - // Emit a named entity if we have one. - return this.result !== 0 && - (this.decodeMode !== DecodingMode.Attribute || - this.result === this.treeIndex) - ? this.emitNotTerminatedNamedEntity() - : 0; - } - // Otherwise, emit a numeric entity if we have one. - case EntityDecoderState.NumericDecimal: { - return this.emitNumericEntity(0, 2); - } - case EntityDecoderState.NumericHex: { - return this.emitNumericEntity(0, 3); - } - case EntityDecoderState.NumericStart: { - (_a = this.errors) === null || _a === void 0 ? void 0 : _a.absenceOfDigitsInNumericCharacterReference(this.consumed); - return 0; - } - case EntityDecoderState.EntityStart: { - // Return 0 if we have no entity. - return 0; - } - } - }; - return EntityDecoder; -}()); -exports.EntityDecoder = EntityDecoder; -/** - * Creates a function that decodes entities in a string. - * - * @param decodeTree The decode tree. - * @returns A function that decodes entities in a string. - */ -function getDecoder(decodeTree) { - var ret = ""; - var decoder = new EntityDecoder(decodeTree, function (str) { return (ret += (0, decode_codepoint_js_1.fromCodePoint)(str)); }); - return function decodeWithTrie(str, decodeMode) { - var lastIndex = 0; - var offset = 0; - while ((offset = str.indexOf("&", offset)) >= 0) { - ret += str.slice(lastIndex, offset); - decoder.startEntity(decodeMode); - var len = decoder.write(str, - // Skip the "&" - offset + 1); - if (len < 0) { - lastIndex = offset + decoder.end(); - break; - } - lastIndex = offset + len; - // If `len` is 0, skip the current `&` and continue. - offset = len === 0 ? lastIndex + 1 : lastIndex; - } - var result = ret + str.slice(lastIndex); - // Make sure we don't keep a reference to the final string. - ret = ""; - return result; - }; -} -/** - * Determines the branch of the current node that is taken given the current - * character. This function is used to traverse the trie. - * - * @param decodeTree The trie. - * @param current The current node. - * @param nodeIdx The index right after the current node and its value. - * @param char The current character. - * @returns The index of the next node, or -1 if no branch is taken. - */ -function determineBranch(decodeTree, current, nodeIdx, char) { - var branchCount = (current & BinTrieFlags.BRANCH_LENGTH) >> 7; - var jumpOffset = current & BinTrieFlags.JUMP_TABLE; - // Case 1: Single branch encoded in jump offset - if (branchCount === 0) { - return jumpOffset !== 0 && char === jumpOffset ? nodeIdx : -1; - } - // Case 2: Multiple branches encoded in jump table - if (jumpOffset) { - var value = char - jumpOffset; - return value < 0 || value >= branchCount - ? -1 - : decodeTree[nodeIdx + value] - 1; - } - // Case 3: Multiple branches encoded in dictionary - // Binary search for the character. - var lo = nodeIdx; - var hi = lo + branchCount - 1; - while (lo <= hi) { - var mid = (lo + hi) >>> 1; - var midVal = decodeTree[mid]; - if (midVal < char) { - lo = mid + 1; - } - else if (midVal > char) { - hi = mid - 1; - } - else { - return decodeTree[mid + branchCount]; - } - } - return -1; -} -exports.determineBranch = determineBranch; -var htmlDecoder = getDecoder(decode_data_html_js_1.default); -var xmlDecoder = getDecoder(decode_data_xml_js_1.default); -/** - * Decodes an HTML string. - * - * @param str The string to decode. - * @param mode The decoding mode. - * @returns The decoded string. - */ -function decodeHTML(str, mode) { - if (mode === void 0) { mode = DecodingMode.Legacy; } - return htmlDecoder(str, mode); -} -exports.decodeHTML = decodeHTML; -/** - * Decodes an HTML string in an attribute. - * - * @param str The string to decode. - * @returns The decoded string. - */ -function decodeHTMLAttribute(str) { - return htmlDecoder(str, DecodingMode.Attribute); -} -exports.decodeHTMLAttribute = decodeHTMLAttribute; -/** - * Decodes an HTML string, requiring all entities to be terminated by a semicolon. - * - * @param str The string to decode. - * @returns The decoded string. - */ -function decodeHTMLStrict(str) { - return htmlDecoder(str, DecodingMode.Strict); -} -exports.decodeHTMLStrict = decodeHTMLStrict; -/** - * Decodes an XML string, requiring all entities to be terminated by a semicolon. - * - * @param str The string to decode. - * @returns The decoded string. - */ -function decodeXML(str) { - return xmlDecoder(str, DecodingMode.Strict); -} -exports.decodeXML = decodeXML; -//# sourceMappingURL=decode.js.map - -/***/ }), - -/***/ 1192: -/***/ ((__unused_webpack_module, exports) => { - - -// Adapted from https://github.com/mathiasbynens/he/blob/36afe179392226cf1b6ccdb16ebbb7a5a844d93a/src/he.js#L106-L134 -var _a; -Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.replaceCodePoint = exports.fromCodePoint = void 0; -var decodeMap = new Map([ - [0, 65533], - // C1 Unicode control character reference replacements - [128, 8364], - [130, 8218], - [131, 402], - [132, 8222], - [133, 8230], - [134, 8224], - [135, 8225], - [136, 710], - [137, 8240], - [138, 352], - [139, 8249], - [140, 338], - [142, 381], - [145, 8216], - [146, 8217], - [147, 8220], - [148, 8221], - [149, 8226], - [150, 8211], - [151, 8212], - [152, 732], - [153, 8482], - [154, 353], - [155, 8250], - [156, 339], - [158, 382], - [159, 376], -]); -/** - * Polyfill for `String.fromCodePoint`. It is used to create a string from a Unicode code point. - */ -exports.fromCodePoint = -// eslint-disable-next-line @typescript-eslint/no-unnecessary-condition, node/no-unsupported-features/es-builtins -(_a = String.fromCodePoint) !== null && _a !== void 0 ? _a : function (codePoint) { - var output = ""; - if (codePoint > 0xffff) { - codePoint -= 0x10000; - output += String.fromCharCode(((codePoint >>> 10) & 0x3ff) | 0xd800); - codePoint = 0xdc00 | (codePoint & 0x3ff); - } - output += String.fromCharCode(codePoint); - return output; -}; -/** - * Replace the given code point with a replacement character if it is a - * surrogate or is outside the valid range. Otherwise return the code - * point unchanged. - */ -function replaceCodePoint(codePoint) { - var _a; - if ((codePoint >= 0xd800 && codePoint <= 0xdfff) || codePoint > 0x10ffff) { - return 0xfffd; - } - return (_a = decodeMap.get(codePoint)) !== null && _a !== void 0 ? _a : codePoint; -} -exports.replaceCodePoint = replaceCodePoint; -/** - * Replace the code point if relevant, then convert it to a string. - * - * @deprecated Use `fromCodePoint(replaceCodePoint(codePoint))` instead. - * @param codePoint The code point to decode. - * @returns The decoded code point. - */ -function decodeCodePoint(codePoint) { - return (0, exports.fromCodePoint)(replaceCodePoint(codePoint)); -} -exports["default"] = decodeCodePoint; -//# sourceMappingURL=decode_codepoint.js.map - -/***/ }), - -/***/ 67667: -/***/ ((__unused_webpack_module, exports) => { - - -Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.escapeText = exports.escapeAttribute = exports.escapeUTF8 = exports.escape = exports.encodeXML = exports.getCodePoint = exports.xmlReplacer = void 0; -exports.xmlReplacer = /["&'<>$\x80-\uFFFF]/g; -var xmlCodeMap = new Map([ - [34, """], - [38, "&"], - [39, "'"], - [60, "<"], - [62, ">"], -]); -// For compatibility with node < 4, we wrap `codePointAt` -exports.getCodePoint = -// eslint-disable-next-line @typescript-eslint/no-unnecessary-condition -String.prototype.codePointAt != null - ? function (str, index) { return str.codePointAt(index); } - : // http://mathiasbynens.be/notes/javascript-encoding#surrogate-formulae - function (c, index) { - return (c.charCodeAt(index) & 0xfc00) === 0xd800 - ? (c.charCodeAt(index) - 0xd800) * 0x400 + - c.charCodeAt(index + 1) - - 0xdc00 + - 0x10000 - : c.charCodeAt(index); - }; -/** - * Encodes all non-ASCII characters, as well as characters not valid in XML - * documents using XML entities. - * - * If a character has no equivalent entity, a - * numeric hexadecimal reference (eg. `ü`) will be used. - */ -function encodeXML(str) { - var ret = ""; - var lastIdx = 0; - var match; - while ((match = exports.xmlReplacer.exec(str)) !== null) { - var i = match.index; - var char = str.charCodeAt(i); - var next = xmlCodeMap.get(char); - if (next !== undefined) { - ret += str.substring(lastIdx, i) + next; - lastIdx = i + 1; - } - else { - ret += "".concat(str.substring(lastIdx, i), "&#x").concat((0, exports.getCodePoint)(str, i).toString(16), ";"); - // Increase by 1 if we have a surrogate pair - lastIdx = exports.xmlReplacer.lastIndex += Number((char & 0xfc00) === 0xd800); - } - } - return ret + str.substr(lastIdx); -} -exports.encodeXML = encodeXML; -/** - * Encodes all non-ASCII characters, as well as characters not valid in XML - * documents using numeric hexadecimal reference (eg. `ü`). - * - * Have a look at `escapeUTF8` if you want a more concise output at the expense - * of reduced transportability. - * - * @param data String to escape. - */ -exports.escape = encodeXML; -/** - * Creates a function that escapes all characters matched by the given regular - * expression using the given map of characters to escape to their entities. - * - * @param regex Regular expression to match characters to escape. - * @param map Map of characters to escape to their entities. - * - * @returns Function that escapes all characters matched by the given regular - * expression using the given map of characters to escape to their entities. - */ -function getEscaper(regex, map) { - return function escape(data) { - var match; - var lastIdx = 0; - var result = ""; - while ((match = regex.exec(data))) { - if (lastIdx !== match.index) { - result += data.substring(lastIdx, match.index); - } - // We know that this character will be in the map. - result += map.get(match[0].charCodeAt(0)); - // Every match will be of length 1 - lastIdx = match.index + 1; - } - return result + data.substring(lastIdx); - }; -} -/** - * Encodes all characters not valid in XML documents using XML entities. - * - * Note that the output will be character-set dependent. - * - * @param data String to escape. - */ -exports.escapeUTF8 = getEscaper(/[&<>'"]/g, xmlCodeMap); -/** - * Encodes all characters that have to be escaped in HTML attributes, - * following {@link https://html.spec.whatwg.org/multipage/parsing.html#escapingString}. - * - * @param data String to escape. - */ -exports.escapeAttribute = getEscaper(/["&\u00A0]/g, new Map([ - [34, """], - [38, "&"], - [160, " "], -])); -/** - * Encodes all characters that have to be escaped in HTML text, - * following {@link https://html.spec.whatwg.org/multipage/parsing.html#escapingString}. - * - * @param data String to escape. - */ -exports.escapeText = getEscaper(/[&<>\u00A0]/g, new Map([ - [38, "&"], - [60, "<"], - [62, ">"], - [160, " "], -])); -//# sourceMappingURL=escape.js.map - -/***/ }), - -/***/ 99795: -/***/ ((__unused_webpack_module, exports) => { - - -// Generated using scripts/write-decode-map.ts -Object.defineProperty(exports, "__esModule", ({ value: true })); -exports["default"] = new Uint16Array( -// prettier-ignore -"\u1d41<\xd5\u0131\u028a\u049d\u057b\u05d0\u0675\u06de\u07a2\u07d6\u080f\u0a4a\u0a91\u0da1\u0e6d\u0f09\u0f26\u10ca\u1228\u12e1\u1415\u149d\u14c3\u14df\u1525\0\0\0\0\0\0\u156b\u16cd\u198d\u1c12\u1ddd\u1f7e\u2060\u21b0\u228d\u23c0\u23fb\u2442\u2824\u2912\u2d08\u2e48\u2fce\u3016\u32ba\u3639\u37ac\u38fe\u3a28\u3a71\u3ae0\u3b2e\u0800EMabcfglmnoprstu\\bfms\x7f\x84\x8b\x90\x95\x98\xa6\xb3\xb9\xc8\xcflig\u803b\xc6\u40c6P\u803b&\u4026cute\u803b\xc1\u40c1reve;\u4102\u0100iyx}rc\u803b\xc2\u40c2;\u4410r;\uc000\ud835\udd04rave\u803b\xc0\u40c0pha;\u4391acr;\u4100d;\u6a53\u0100gp\x9d\xa1on;\u4104f;\uc000\ud835\udd38plyFunction;\u6061ing\u803b\xc5\u40c5\u0100cs\xbe\xc3r;\uc000\ud835\udc9cign;\u6254ilde\u803b\xc3\u40c3ml\u803b\xc4\u40c4\u0400aceforsu\xe5\xfb\xfe\u0117\u011c\u0122\u0127\u012a\u0100cr\xea\xf2kslash;\u6216\u0176\xf6\xf8;\u6ae7ed;\u6306y;\u4411\u0180crt\u0105\u010b\u0114ause;\u6235noullis;\u612ca;\u4392r;\uc000\ud835\udd05pf;\uc000\ud835\udd39eve;\u42d8c\xf2\u0113mpeq;\u624e\u0700HOacdefhilorsu\u014d\u0151\u0156\u0180\u019e\u01a2\u01b5\u01b7\u01ba\u01dc\u0215\u0273\u0278\u027ecy;\u4427PY\u803b\xa9\u40a9\u0180cpy\u015d\u0162\u017aute;\u4106\u0100;i\u0167\u0168\u62d2talDifferentialD;\u6145leys;\u612d\u0200aeio\u0189\u018e\u0194\u0198ron;\u410cdil\u803b\xc7\u40c7rc;\u4108nint;\u6230ot;\u410a\u0100dn\u01a7\u01adilla;\u40b8terDot;\u40b7\xf2\u017fi;\u43a7rcle\u0200DMPT\u01c7\u01cb\u01d1\u01d6ot;\u6299inus;\u6296lus;\u6295imes;\u6297o\u0100cs\u01e2\u01f8kwiseContourIntegral;\u6232eCurly\u0100DQ\u0203\u020foubleQuote;\u601duote;\u6019\u0200lnpu\u021e\u0228\u0247\u0255on\u0100;e\u0225\u0226\u6237;\u6a74\u0180git\u022f\u0236\u023aruent;\u6261nt;\u622fourIntegral;\u622e\u0100fr\u024c\u024e;\u6102oduct;\u6210nterClockwiseContourIntegral;\u6233oss;\u6a2fcr;\uc000\ud835\udc9ep\u0100;C\u0284\u0285\u62d3ap;\u624d\u0580DJSZacefios\u02a0\u02ac\u02b0\u02b4\u02b8\u02cb\u02d7\u02e1\u02e6\u0333\u048d\u0100;o\u0179\u02a5trahd;\u6911cy;\u4402cy;\u4405cy;\u440f\u0180grs\u02bf\u02c4\u02c7ger;\u6021r;\u61a1hv;\u6ae4\u0100ay\u02d0\u02d5ron;\u410e;\u4414l\u0100;t\u02dd\u02de\u6207a;\u4394r;\uc000\ud835\udd07\u0100af\u02eb\u0327\u0100cm\u02f0\u0322ritical\u0200ADGT\u0300\u0306\u0316\u031ccute;\u40b4o\u0174\u030b\u030d;\u42d9bleAcute;\u42ddrave;\u4060ilde;\u42dcond;\u62c4ferentialD;\u6146\u0470\u033d\0\0\0\u0342\u0354\0\u0405f;\uc000\ud835\udd3b\u0180;DE\u0348\u0349\u034d\u40a8ot;\u60dcqual;\u6250ble\u0300CDLRUV\u0363\u0372\u0382\u03cf\u03e2\u03f8ontourIntegra\xec\u0239o\u0274\u0379\0\0\u037b\xbb\u0349nArrow;\u61d3\u0100eo\u0387\u03a4ft\u0180ART\u0390\u0396\u03a1rrow;\u61d0ightArrow;\u61d4e\xe5\u02cang\u0100LR\u03ab\u03c4eft\u0100AR\u03b3\u03b9rrow;\u67f8ightArrow;\u67faightArrow;\u67f9ight\u0100AT\u03d8\u03derrow;\u61d2ee;\u62a8p\u0241\u03e9\0\0\u03efrrow;\u61d1ownArrow;\u61d5erticalBar;\u6225n\u0300ABLRTa\u0412\u042a\u0430\u045e\u047f\u037crrow\u0180;BU\u041d\u041e\u0422\u6193ar;\u6913pArrow;\u61f5reve;\u4311eft\u02d2\u043a\0\u0446\0\u0450ightVector;\u6950eeVector;\u695eector\u0100;B\u0459\u045a\u61bdar;\u6956ight\u01d4\u0467\0\u0471eeVector;\u695fector\u0100;B\u047a\u047b\u61c1ar;\u6957ee\u0100;A\u0486\u0487\u62a4rrow;\u61a7\u0100ct\u0492\u0497r;\uc000\ud835\udc9frok;\u4110\u0800NTacdfglmopqstux\u04bd\u04c0\u04c4\u04cb\u04de\u04e2\u04e7\u04ee\u04f5\u0521\u052f\u0536\u0552\u055d\u0560\u0565G;\u414aH\u803b\xd0\u40d0cute\u803b\xc9\u40c9\u0180aiy\u04d2\u04d7\u04dcron;\u411arc\u803b\xca\u40ca;\u442dot;\u4116r;\uc000\ud835\udd08rave\u803b\xc8\u40c8ement;\u6208\u0100ap\u04fa\u04fecr;\u4112ty\u0253\u0506\0\0\u0512mallSquare;\u65fberySmallSquare;\u65ab\u0100gp\u0526\u052aon;\u4118f;\uc000\ud835\udd3csilon;\u4395u\u0100ai\u053c\u0549l\u0100;T\u0542\u0543\u6a75ilde;\u6242librium;\u61cc\u0100ci\u0557\u055ar;\u6130m;\u6a73a;\u4397ml\u803b\xcb\u40cb\u0100ip\u056a\u056fsts;\u6203onentialE;\u6147\u0280cfios\u0585\u0588\u058d\u05b2\u05ccy;\u4424r;\uc000\ud835\udd09lled\u0253\u0597\0\0\u05a3mallSquare;\u65fcerySmallSquare;\u65aa\u0370\u05ba\0\u05bf\0\0\u05c4f;\uc000\ud835\udd3dAll;\u6200riertrf;\u6131c\xf2\u05cb\u0600JTabcdfgorst\u05e8\u05ec\u05ef\u05fa\u0600\u0612\u0616\u061b\u061d\u0623\u066c\u0672cy;\u4403\u803b>\u403emma\u0100;d\u05f7\u05f8\u4393;\u43dcreve;\u411e\u0180eiy\u0607\u060c\u0610dil;\u4122rc;\u411c;\u4413ot;\u4120r;\uc000\ud835\udd0a;\u62d9pf;\uc000\ud835\udd3eeater\u0300EFGLST\u0635\u0644\u064e\u0656\u065b\u0666qual\u0100;L\u063e\u063f\u6265ess;\u62dbullEqual;\u6267reater;\u6aa2ess;\u6277lantEqual;\u6a7eilde;\u6273cr;\uc000\ud835\udca2;\u626b\u0400Aacfiosu\u0685\u068b\u0696\u069b\u069e\u06aa\u06be\u06caRDcy;\u442a\u0100ct\u0690\u0694ek;\u42c7;\u405eirc;\u4124r;\u610clbertSpace;\u610b\u01f0\u06af\0\u06b2f;\u610dizontalLine;\u6500\u0100ct\u06c3\u06c5\xf2\u06a9rok;\u4126mp\u0144\u06d0\u06d8ownHum\xf0\u012fqual;\u624f\u0700EJOacdfgmnostu\u06fa\u06fe\u0703\u0707\u070e\u071a\u071e\u0721\u0728\u0744\u0778\u078b\u078f\u0795cy;\u4415lig;\u4132cy;\u4401cute\u803b\xcd\u40cd\u0100iy\u0713\u0718rc\u803b\xce\u40ce;\u4418ot;\u4130r;\u6111rave\u803b\xcc\u40cc\u0180;ap\u0720\u072f\u073f\u0100cg\u0734\u0737r;\u412ainaryI;\u6148lie\xf3\u03dd\u01f4\u0749\0\u0762\u0100;e\u074d\u074e\u622c\u0100gr\u0753\u0758ral;\u622bsection;\u62c2isible\u0100CT\u076c\u0772omma;\u6063imes;\u6062\u0180gpt\u077f\u0783\u0788on;\u412ef;\uc000\ud835\udd40a;\u4399cr;\u6110ilde;\u4128\u01eb\u079a\0\u079ecy;\u4406l\u803b\xcf\u40cf\u0280cfosu\u07ac\u07b7\u07bc\u07c2\u07d0\u0100iy\u07b1\u07b5rc;\u4134;\u4419r;\uc000\ud835\udd0dpf;\uc000\ud835\udd41\u01e3\u07c7\0\u07ccr;\uc000\ud835\udca5rcy;\u4408kcy;\u4404\u0380HJacfos\u07e4\u07e8\u07ec\u07f1\u07fd\u0802\u0808cy;\u4425cy;\u440cppa;\u439a\u0100ey\u07f6\u07fbdil;\u4136;\u441ar;\uc000\ud835\udd0epf;\uc000\ud835\udd42cr;\uc000\ud835\udca6\u0580JTaceflmost\u0825\u0829\u082c\u0850\u0863\u09b3\u09b8\u09c7\u09cd\u0a37\u0a47cy;\u4409\u803b<\u403c\u0280cmnpr\u0837\u083c\u0841\u0844\u084dute;\u4139bda;\u439bg;\u67ealacetrf;\u6112r;\u619e\u0180aey\u0857\u085c\u0861ron;\u413ddil;\u413b;\u441b\u0100fs\u0868\u0970t\u0500ACDFRTUVar\u087e\u08a9\u08b1\u08e0\u08e6\u08fc\u092f\u095b\u0390\u096a\u0100nr\u0883\u088fgleBracket;\u67e8row\u0180;BR\u0899\u089a\u089e\u6190ar;\u61e4ightArrow;\u61c6eiling;\u6308o\u01f5\u08b7\0\u08c3bleBracket;\u67e6n\u01d4\u08c8\0\u08d2eeVector;\u6961ector\u0100;B\u08db\u08dc\u61c3ar;\u6959loor;\u630aight\u0100AV\u08ef\u08f5rrow;\u6194ector;\u694e\u0100er\u0901\u0917e\u0180;AV\u0909\u090a\u0910\u62a3rrow;\u61a4ector;\u695aiangle\u0180;BE\u0924\u0925\u0929\u62b2ar;\u69cfqual;\u62b4p\u0180DTV\u0937\u0942\u094cownVector;\u6951eeVector;\u6960ector\u0100;B\u0956\u0957\u61bfar;\u6958ector\u0100;B\u0965\u0966\u61bcar;\u6952ight\xe1\u039cs\u0300EFGLST\u097e\u098b\u0995\u099d\u09a2\u09adqualGreater;\u62daullEqual;\u6266reater;\u6276ess;\u6aa1lantEqual;\u6a7dilde;\u6272r;\uc000\ud835\udd0f\u0100;e\u09bd\u09be\u62d8ftarrow;\u61daidot;\u413f\u0180npw\u09d4\u0a16\u0a1bg\u0200LRlr\u09de\u09f7\u0a02\u0a10eft\u0100AR\u09e6\u09ecrrow;\u67f5ightArrow;\u67f7ightArrow;\u67f6eft\u0100ar\u03b3\u0a0aight\xe1\u03bfight\xe1\u03caf;\uc000\ud835\udd43er\u0100LR\u0a22\u0a2ceftArrow;\u6199ightArrow;\u6198\u0180cht\u0a3e\u0a40\u0a42\xf2\u084c;\u61b0rok;\u4141;\u626a\u0400acefiosu\u0a5a\u0a5d\u0a60\u0a77\u0a7c\u0a85\u0a8b\u0a8ep;\u6905y;\u441c\u0100dl\u0a65\u0a6fiumSpace;\u605flintrf;\u6133r;\uc000\ud835\udd10nusPlus;\u6213pf;\uc000\ud835\udd44c\xf2\u0a76;\u439c\u0480Jacefostu\u0aa3\u0aa7\u0aad\u0ac0\u0b14\u0b19\u0d91\u0d97\u0d9ecy;\u440acute;\u4143\u0180aey\u0ab4\u0ab9\u0aberon;\u4147dil;\u4145;\u441d\u0180gsw\u0ac7\u0af0\u0b0eative\u0180MTV\u0ad3\u0adf\u0ae8ediumSpace;\u600bhi\u0100cn\u0ae6\u0ad8\xeb\u0ad9eryThi\xee\u0ad9ted\u0100GL\u0af8\u0b06reaterGreate\xf2\u0673essLes\xf3\u0a48Line;\u400ar;\uc000\ud835\udd11\u0200Bnpt\u0b22\u0b28\u0b37\u0b3areak;\u6060BreakingSpace;\u40a0f;\u6115\u0680;CDEGHLNPRSTV\u0b55\u0b56\u0b6a\u0b7c\u0ba1\u0beb\u0c04\u0c5e\u0c84\u0ca6\u0cd8\u0d61\u0d85\u6aec\u0100ou\u0b5b\u0b64ngruent;\u6262pCap;\u626doubleVerticalBar;\u6226\u0180lqx\u0b83\u0b8a\u0b9bement;\u6209ual\u0100;T\u0b92\u0b93\u6260ilde;\uc000\u2242\u0338ists;\u6204reater\u0380;EFGLST\u0bb6\u0bb7\u0bbd\u0bc9\u0bd3\u0bd8\u0be5\u626fqual;\u6271ullEqual;\uc000\u2267\u0338reater;\uc000\u226b\u0338ess;\u6279lantEqual;\uc000\u2a7e\u0338ilde;\u6275ump\u0144\u0bf2\u0bfdownHump;\uc000\u224e\u0338qual;\uc000\u224f\u0338e\u0100fs\u0c0a\u0c27tTriangle\u0180;BE\u0c1a\u0c1b\u0c21\u62eaar;\uc000\u29cf\u0338qual;\u62ecs\u0300;EGLST\u0c35\u0c36\u0c3c\u0c44\u0c4b\u0c58\u626equal;\u6270reater;\u6278ess;\uc000\u226a\u0338lantEqual;\uc000\u2a7d\u0338ilde;\u6274ested\u0100GL\u0c68\u0c79reaterGreater;\uc000\u2aa2\u0338essLess;\uc000\u2aa1\u0338recedes\u0180;ES\u0c92\u0c93\u0c9b\u6280qual;\uc000\u2aaf\u0338lantEqual;\u62e0\u0100ei\u0cab\u0cb9verseElement;\u620cghtTriangle\u0180;BE\u0ccb\u0ccc\u0cd2\u62ebar;\uc000\u29d0\u0338qual;\u62ed\u0100qu\u0cdd\u0d0cuareSu\u0100bp\u0ce8\u0cf9set\u0100;E\u0cf0\u0cf3\uc000\u228f\u0338qual;\u62e2erset\u0100;E\u0d03\u0d06\uc000\u2290\u0338qual;\u62e3\u0180bcp\u0d13\u0d24\u0d4eset\u0100;E\u0d1b\u0d1e\uc000\u2282\u20d2qual;\u6288ceeds\u0200;EST\u0d32\u0d33\u0d3b\u0d46\u6281qual;\uc000\u2ab0\u0338lantEqual;\u62e1ilde;\uc000\u227f\u0338erset\u0100;E\u0d58\u0d5b\uc000\u2283\u20d2qual;\u6289ilde\u0200;EFT\u0d6e\u0d6f\u0d75\u0d7f\u6241qual;\u6244ullEqual;\u6247ilde;\u6249erticalBar;\u6224cr;\uc000\ud835\udca9ilde\u803b\xd1\u40d1;\u439d\u0700Eacdfgmoprstuv\u0dbd\u0dc2\u0dc9\u0dd5\u0ddb\u0de0\u0de7\u0dfc\u0e02\u0e20\u0e22\u0e32\u0e3f\u0e44lig;\u4152cute\u803b\xd3\u40d3\u0100iy\u0dce\u0dd3rc\u803b\xd4\u40d4;\u441eblac;\u4150r;\uc000\ud835\udd12rave\u803b\xd2\u40d2\u0180aei\u0dee\u0df2\u0df6cr;\u414cga;\u43a9cron;\u439fpf;\uc000\ud835\udd46enCurly\u0100DQ\u0e0e\u0e1aoubleQuote;\u601cuote;\u6018;\u6a54\u0100cl\u0e27\u0e2cr;\uc000\ud835\udcaaash\u803b\xd8\u40d8i\u016c\u0e37\u0e3cde\u803b\xd5\u40d5es;\u6a37ml\u803b\xd6\u40d6er\u0100BP\u0e4b\u0e60\u0100ar\u0e50\u0e53r;\u603eac\u0100ek\u0e5a\u0e5c;\u63deet;\u63b4arenthesis;\u63dc\u0480acfhilors\u0e7f\u0e87\u0e8a\u0e8f\u0e92\u0e94\u0e9d\u0eb0\u0efcrtialD;\u6202y;\u441fr;\uc000\ud835\udd13i;\u43a6;\u43a0usMinus;\u40b1\u0100ip\u0ea2\u0eadncareplan\xe5\u069df;\u6119\u0200;eio\u0eb9\u0eba\u0ee0\u0ee4\u6abbcedes\u0200;EST\u0ec8\u0ec9\u0ecf\u0eda\u627aqual;\u6aaflantEqual;\u627cilde;\u627eme;\u6033\u0100dp\u0ee9\u0eeeuct;\u620fortion\u0100;a\u0225\u0ef9l;\u621d\u0100ci\u0f01\u0f06r;\uc000\ud835\udcab;\u43a8\u0200Ufos\u0f11\u0f16\u0f1b\u0f1fOT\u803b\"\u4022r;\uc000\ud835\udd14pf;\u611acr;\uc000\ud835\udcac\u0600BEacefhiorsu\u0f3e\u0f43\u0f47\u0f60\u0f73\u0fa7\u0faa\u0fad\u1096\u10a9\u10b4\u10bearr;\u6910G\u803b\xae\u40ae\u0180cnr\u0f4e\u0f53\u0f56ute;\u4154g;\u67ebr\u0100;t\u0f5c\u0f5d\u61a0l;\u6916\u0180aey\u0f67\u0f6c\u0f71ron;\u4158dil;\u4156;\u4420\u0100;v\u0f78\u0f79\u611cerse\u0100EU\u0f82\u0f99\u0100lq\u0f87\u0f8eement;\u620builibrium;\u61cbpEquilibrium;\u696fr\xbb\u0f79o;\u43a1ght\u0400ACDFTUVa\u0fc1\u0feb\u0ff3\u1022\u1028\u105b\u1087\u03d8\u0100nr\u0fc6\u0fd2gleBracket;\u67e9row\u0180;BL\u0fdc\u0fdd\u0fe1\u6192ar;\u61e5eftArrow;\u61c4eiling;\u6309o\u01f5\u0ff9\0\u1005bleBracket;\u67e7n\u01d4\u100a\0\u1014eeVector;\u695dector\u0100;B\u101d\u101e\u61c2ar;\u6955loor;\u630b\u0100er\u102d\u1043e\u0180;AV\u1035\u1036\u103c\u62a2rrow;\u61a6ector;\u695biangle\u0180;BE\u1050\u1051\u1055\u62b3ar;\u69d0qual;\u62b5p\u0180DTV\u1063\u106e\u1078ownVector;\u694feeVector;\u695cector\u0100;B\u1082\u1083\u61bear;\u6954ector\u0100;B\u1091\u1092\u61c0ar;\u6953\u0100pu\u109b\u109ef;\u611dndImplies;\u6970ightarrow;\u61db\u0100ch\u10b9\u10bcr;\u611b;\u61b1leDelayed;\u69f4\u0680HOacfhimoqstu\u10e4\u10f1\u10f7\u10fd\u1119\u111e\u1151\u1156\u1161\u1167\u11b5\u11bb\u11bf\u0100Cc\u10e9\u10eeHcy;\u4429y;\u4428FTcy;\u442ccute;\u415a\u0280;aeiy\u1108\u1109\u110e\u1113\u1117\u6abcron;\u4160dil;\u415erc;\u415c;\u4421r;\uc000\ud835\udd16ort\u0200DLRU\u112a\u1134\u113e\u1149ownArrow\xbb\u041eeftArrow\xbb\u089aightArrow\xbb\u0fddpArrow;\u6191gma;\u43a3allCircle;\u6218pf;\uc000\ud835\udd4a\u0272\u116d\0\0\u1170t;\u621aare\u0200;ISU\u117b\u117c\u1189\u11af\u65a1ntersection;\u6293u\u0100bp\u118f\u119eset\u0100;E\u1197\u1198\u628fqual;\u6291erset\u0100;E\u11a8\u11a9\u6290qual;\u6292nion;\u6294cr;\uc000\ud835\udcaear;\u62c6\u0200bcmp\u11c8\u11db\u1209\u120b\u0100;s\u11cd\u11ce\u62d0et\u0100;E\u11cd\u11d5qual;\u6286\u0100ch\u11e0\u1205eeds\u0200;EST\u11ed\u11ee\u11f4\u11ff\u627bqual;\u6ab0lantEqual;\u627dilde;\u627fTh\xe1\u0f8c;\u6211\u0180;es\u1212\u1213\u1223\u62d1rset\u0100;E\u121c\u121d\u6283qual;\u6287et\xbb\u1213\u0580HRSacfhiors\u123e\u1244\u1249\u1255\u125e\u1271\u1276\u129f\u12c2\u12c8\u12d1ORN\u803b\xde\u40deADE;\u6122\u0100Hc\u124e\u1252cy;\u440by;\u4426\u0100bu\u125a\u125c;\u4009;\u43a4\u0180aey\u1265\u126a\u126fron;\u4164dil;\u4162;\u4422r;\uc000\ud835\udd17\u0100ei\u127b\u1289\u01f2\u1280\0\u1287efore;\u6234a;\u4398\u0100cn\u128e\u1298kSpace;\uc000\u205f\u200aSpace;\u6009lde\u0200;EFT\u12ab\u12ac\u12b2\u12bc\u623cqual;\u6243ullEqual;\u6245ilde;\u6248pf;\uc000\ud835\udd4bipleDot;\u60db\u0100ct\u12d6\u12dbr;\uc000\ud835\udcafrok;\u4166\u0ae1\u12f7\u130e\u131a\u1326\0\u132c\u1331\0\0\0\0\0\u1338\u133d\u1377\u1385\0\u13ff\u1404\u140a\u1410\u0100cr\u12fb\u1301ute\u803b\xda\u40dar\u0100;o\u1307\u1308\u619fcir;\u6949r\u01e3\u1313\0\u1316y;\u440eve;\u416c\u0100iy\u131e\u1323rc\u803b\xdb\u40db;\u4423blac;\u4170r;\uc000\ud835\udd18rave\u803b\xd9\u40d9acr;\u416a\u0100di\u1341\u1369er\u0100BP\u1348\u135d\u0100ar\u134d\u1350r;\u405fac\u0100ek\u1357\u1359;\u63dfet;\u63b5arenthesis;\u63ddon\u0100;P\u1370\u1371\u62c3lus;\u628e\u0100gp\u137b\u137fon;\u4172f;\uc000\ud835\udd4c\u0400ADETadps\u1395\u13ae\u13b8\u13c4\u03e8\u13d2\u13d7\u13f3rrow\u0180;BD\u1150\u13a0\u13a4ar;\u6912ownArrow;\u61c5ownArrow;\u6195quilibrium;\u696eee\u0100;A\u13cb\u13cc\u62a5rrow;\u61a5own\xe1\u03f3er\u0100LR\u13de\u13e8eftArrow;\u6196ightArrow;\u6197i\u0100;l\u13f9\u13fa\u43d2on;\u43a5ing;\u416ecr;\uc000\ud835\udcb0ilde;\u4168ml\u803b\xdc\u40dc\u0480Dbcdefosv\u1427\u142c\u1430\u1433\u143e\u1485\u148a\u1490\u1496ash;\u62abar;\u6aeby;\u4412ash\u0100;l\u143b\u143c\u62a9;\u6ae6\u0100er\u1443\u1445;\u62c1\u0180bty\u144c\u1450\u147aar;\u6016\u0100;i\u144f\u1455cal\u0200BLST\u1461\u1465\u146a\u1474ar;\u6223ine;\u407ceparator;\u6758ilde;\u6240ThinSpace;\u600ar;\uc000\ud835\udd19pf;\uc000\ud835\udd4dcr;\uc000\ud835\udcb1dash;\u62aa\u0280cefos\u14a7\u14ac\u14b1\u14b6\u14bcirc;\u4174dge;\u62c0r;\uc000\ud835\udd1apf;\uc000\ud835\udd4ecr;\uc000\ud835\udcb2\u0200fios\u14cb\u14d0\u14d2\u14d8r;\uc000\ud835\udd1b;\u439epf;\uc000\ud835\udd4fcr;\uc000\ud835\udcb3\u0480AIUacfosu\u14f1\u14f5\u14f9\u14fd\u1504\u150f\u1514\u151a\u1520cy;\u442fcy;\u4407cy;\u442ecute\u803b\xdd\u40dd\u0100iy\u1509\u150drc;\u4176;\u442br;\uc000\ud835\udd1cpf;\uc000\ud835\udd50cr;\uc000\ud835\udcb4ml;\u4178\u0400Hacdefos\u1535\u1539\u153f\u154b\u154f\u155d\u1560\u1564cy;\u4416cute;\u4179\u0100ay\u1544\u1549ron;\u417d;\u4417ot;\u417b\u01f2\u1554\0\u155boWidt\xe8\u0ad9a;\u4396r;\u6128pf;\u6124cr;\uc000\ud835\udcb5\u0be1\u1583\u158a\u1590\0\u15b0\u15b6\u15bf\0\0\0\0\u15c6\u15db\u15eb\u165f\u166d\0\u1695\u169b\u16b2\u16b9\0\u16becute\u803b\xe1\u40e1reve;\u4103\u0300;Ediuy\u159c\u159d\u15a1\u15a3\u15a8\u15ad\u623e;\uc000\u223e\u0333;\u623frc\u803b\xe2\u40e2te\u80bb\xb4\u0306;\u4430lig\u803b\xe6\u40e6\u0100;r\xb2\u15ba;\uc000\ud835\udd1erave\u803b\xe0\u40e0\u0100ep\u15ca\u15d6\u0100fp\u15cf\u15d4sym;\u6135\xe8\u15d3ha;\u43b1\u0100ap\u15dfc\u0100cl\u15e4\u15e7r;\u4101g;\u6a3f\u0264\u15f0\0\0\u160a\u0280;adsv\u15fa\u15fb\u15ff\u1601\u1607\u6227nd;\u6a55;\u6a5clope;\u6a58;\u6a5a\u0380;elmrsz\u1618\u1619\u161b\u161e\u163f\u164f\u1659\u6220;\u69a4e\xbb\u1619sd\u0100;a\u1625\u1626\u6221\u0461\u1630\u1632\u1634\u1636\u1638\u163a\u163c\u163e;\u69a8;\u69a9;\u69aa;\u69ab;\u69ac;\u69ad;\u69ae;\u69aft\u0100;v\u1645\u1646\u621fb\u0100;d\u164c\u164d\u62be;\u699d\u0100pt\u1654\u1657h;\u6222\xbb\xb9arr;\u637c\u0100gp\u1663\u1667on;\u4105f;\uc000\ud835\udd52\u0380;Eaeiop\u12c1\u167b\u167d\u1682\u1684\u1687\u168a;\u6a70cir;\u6a6f;\u624ad;\u624bs;\u4027rox\u0100;e\u12c1\u1692\xf1\u1683ing\u803b\xe5\u40e5\u0180cty\u16a1\u16a6\u16a8r;\uc000\ud835\udcb6;\u402amp\u0100;e\u12c1\u16af\xf1\u0288ilde\u803b\xe3\u40e3ml\u803b\xe4\u40e4\u0100ci\u16c2\u16c8onin\xf4\u0272nt;\u6a11\u0800Nabcdefiklnoprsu\u16ed\u16f1\u1730\u173c\u1743\u1748\u1778\u177d\u17e0\u17e6\u1839\u1850\u170d\u193d\u1948\u1970ot;\u6aed\u0100cr\u16f6\u171ek\u0200ceps\u1700\u1705\u170d\u1713ong;\u624cpsilon;\u43f6rime;\u6035im\u0100;e\u171a\u171b\u623dq;\u62cd\u0176\u1722\u1726ee;\u62bded\u0100;g\u172c\u172d\u6305e\xbb\u172drk\u0100;t\u135c\u1737brk;\u63b6\u0100oy\u1701\u1741;\u4431quo;\u601e\u0280cmprt\u1753\u175b\u1761\u1764\u1768aus\u0100;e\u010a\u0109ptyv;\u69b0s\xe9\u170cno\xf5\u0113\u0180ahw\u176f\u1771\u1773;\u43b2;\u6136een;\u626cr;\uc000\ud835\udd1fg\u0380costuvw\u178d\u179d\u17b3\u17c1\u17d5\u17db\u17de\u0180aiu\u1794\u1796\u179a\xf0\u0760rc;\u65efp\xbb\u1371\u0180dpt\u17a4\u17a8\u17adot;\u6a00lus;\u6a01imes;\u6a02\u0271\u17b9\0\0\u17becup;\u6a06ar;\u6605riangle\u0100du\u17cd\u17d2own;\u65bdp;\u65b3plus;\u6a04e\xe5\u1444\xe5\u14adarow;\u690d\u0180ako\u17ed\u1826\u1835\u0100cn\u17f2\u1823k\u0180lst\u17fa\u05ab\u1802ozenge;\u69ebriangle\u0200;dlr\u1812\u1813\u1818\u181d\u65b4own;\u65beeft;\u65c2ight;\u65b8k;\u6423\u01b1\u182b\0\u1833\u01b2\u182f\0\u1831;\u6592;\u65914;\u6593ck;\u6588\u0100eo\u183e\u184d\u0100;q\u1843\u1846\uc000=\u20e5uiv;\uc000\u2261\u20e5t;\u6310\u0200ptwx\u1859\u185e\u1867\u186cf;\uc000\ud835\udd53\u0100;t\u13cb\u1863om\xbb\u13cctie;\u62c8\u0600DHUVbdhmptuv\u1885\u1896\u18aa\u18bb\u18d7\u18db\u18ec\u18ff\u1905\u190a\u1910\u1921\u0200LRlr\u188e\u1890\u1892\u1894;\u6557;\u6554;\u6556;\u6553\u0280;DUdu\u18a1\u18a2\u18a4\u18a6\u18a8\u6550;\u6566;\u6569;\u6564;\u6567\u0200LRlr\u18b3\u18b5\u18b7\u18b9;\u655d;\u655a;\u655c;\u6559\u0380;HLRhlr\u18ca\u18cb\u18cd\u18cf\u18d1\u18d3\u18d5\u6551;\u656c;\u6563;\u6560;\u656b;\u6562;\u655fox;\u69c9\u0200LRlr\u18e4\u18e6\u18e8\u18ea;\u6555;\u6552;\u6510;\u650c\u0280;DUdu\u06bd\u18f7\u18f9\u18fb\u18fd;\u6565;\u6568;\u652c;\u6534inus;\u629flus;\u629eimes;\u62a0\u0200LRlr\u1919\u191b\u191d\u191f;\u655b;\u6558;\u6518;\u6514\u0380;HLRhlr\u1930\u1931\u1933\u1935\u1937\u1939\u193b\u6502;\u656a;\u6561;\u655e;\u653c;\u6524;\u651c\u0100ev\u0123\u1942bar\u803b\xa6\u40a6\u0200ceio\u1951\u1956\u195a\u1960r;\uc000\ud835\udcb7mi;\u604fm\u0100;e\u171a\u171cl\u0180;bh\u1968\u1969\u196b\u405c;\u69c5sub;\u67c8\u016c\u1974\u197el\u0100;e\u1979\u197a\u6022t\xbb\u197ap\u0180;Ee\u012f\u1985\u1987;\u6aae\u0100;q\u06dc\u06db\u0ce1\u19a7\0\u19e8\u1a11\u1a15\u1a32\0\u1a37\u1a50\0\0\u1ab4\0\0\u1ac1\0\0\u1b21\u1b2e\u1b4d\u1b52\0\u1bfd\0\u1c0c\u0180cpr\u19ad\u19b2\u19ddute;\u4107\u0300;abcds\u19bf\u19c0\u19c4\u19ca\u19d5\u19d9\u6229nd;\u6a44rcup;\u6a49\u0100au\u19cf\u19d2p;\u6a4bp;\u6a47ot;\u6a40;\uc000\u2229\ufe00\u0100eo\u19e2\u19e5t;\u6041\xee\u0693\u0200aeiu\u19f0\u19fb\u1a01\u1a05\u01f0\u19f5\0\u19f8s;\u6a4don;\u410ddil\u803b\xe7\u40e7rc;\u4109ps\u0100;s\u1a0c\u1a0d\u6a4cm;\u6a50ot;\u410b\u0180dmn\u1a1b\u1a20\u1a26il\u80bb\xb8\u01adptyv;\u69b2t\u8100\xa2;e\u1a2d\u1a2e\u40a2r\xe4\u01b2r;\uc000\ud835\udd20\u0180cei\u1a3d\u1a40\u1a4dy;\u4447ck\u0100;m\u1a47\u1a48\u6713ark\xbb\u1a48;\u43c7r\u0380;Ecefms\u1a5f\u1a60\u1a62\u1a6b\u1aa4\u1aaa\u1aae\u65cb;\u69c3\u0180;el\u1a69\u1a6a\u1a6d\u42c6q;\u6257e\u0261\u1a74\0\0\u1a88rrow\u0100lr\u1a7c\u1a81eft;\u61baight;\u61bb\u0280RSacd\u1a92\u1a94\u1a96\u1a9a\u1a9f\xbb\u0f47;\u64c8st;\u629birc;\u629aash;\u629dnint;\u6a10id;\u6aefcir;\u69c2ubs\u0100;u\u1abb\u1abc\u6663it\xbb\u1abc\u02ec\u1ac7\u1ad4\u1afa\0\u1b0aon\u0100;e\u1acd\u1ace\u403a\u0100;q\xc7\xc6\u026d\u1ad9\0\0\u1ae2a\u0100;t\u1ade\u1adf\u402c;\u4040\u0180;fl\u1ae8\u1ae9\u1aeb\u6201\xee\u1160e\u0100mx\u1af1\u1af6ent\xbb\u1ae9e\xf3\u024d\u01e7\u1afe\0\u1b07\u0100;d\u12bb\u1b02ot;\u6a6dn\xf4\u0246\u0180fry\u1b10\u1b14\u1b17;\uc000\ud835\udd54o\xe4\u0254\u8100\xa9;s\u0155\u1b1dr;\u6117\u0100ao\u1b25\u1b29rr;\u61b5ss;\u6717\u0100cu\u1b32\u1b37r;\uc000\ud835\udcb8\u0100bp\u1b3c\u1b44\u0100;e\u1b41\u1b42\u6acf;\u6ad1\u0100;e\u1b49\u1b4a\u6ad0;\u6ad2dot;\u62ef\u0380delprvw\u1b60\u1b6c\u1b77\u1b82\u1bac\u1bd4\u1bf9arr\u0100lr\u1b68\u1b6a;\u6938;\u6935\u0270\u1b72\0\0\u1b75r;\u62dec;\u62dfarr\u0100;p\u1b7f\u1b80\u61b6;\u693d\u0300;bcdos\u1b8f\u1b90\u1b96\u1ba1\u1ba5\u1ba8\u622arcap;\u6a48\u0100au\u1b9b\u1b9ep;\u6a46p;\u6a4aot;\u628dr;\u6a45;\uc000\u222a\ufe00\u0200alrv\u1bb5\u1bbf\u1bde\u1be3rr\u0100;m\u1bbc\u1bbd\u61b7;\u693cy\u0180evw\u1bc7\u1bd4\u1bd8q\u0270\u1bce\0\0\u1bd2re\xe3\u1b73u\xe3\u1b75ee;\u62ceedge;\u62cfen\u803b\xa4\u40a4earrow\u0100lr\u1bee\u1bf3eft\xbb\u1b80ight\xbb\u1bbde\xe4\u1bdd\u0100ci\u1c01\u1c07onin\xf4\u01f7nt;\u6231lcty;\u632d\u0980AHabcdefhijlorstuwz\u1c38\u1c3b\u1c3f\u1c5d\u1c69\u1c75\u1c8a\u1c9e\u1cac\u1cb7\u1cfb\u1cff\u1d0d\u1d7b\u1d91\u1dab\u1dbb\u1dc6\u1dcdr\xf2\u0381ar;\u6965\u0200glrs\u1c48\u1c4d\u1c52\u1c54ger;\u6020eth;\u6138\xf2\u1133h\u0100;v\u1c5a\u1c5b\u6010\xbb\u090a\u016b\u1c61\u1c67arow;\u690fa\xe3\u0315\u0100ay\u1c6e\u1c73ron;\u410f;\u4434\u0180;ao\u0332\u1c7c\u1c84\u0100gr\u02bf\u1c81r;\u61catseq;\u6a77\u0180glm\u1c91\u1c94\u1c98\u803b\xb0\u40b0ta;\u43b4ptyv;\u69b1\u0100ir\u1ca3\u1ca8sht;\u697f;\uc000\ud835\udd21ar\u0100lr\u1cb3\u1cb5\xbb\u08dc\xbb\u101e\u0280aegsv\u1cc2\u0378\u1cd6\u1cdc\u1ce0m\u0180;os\u0326\u1cca\u1cd4nd\u0100;s\u0326\u1cd1uit;\u6666amma;\u43ddin;\u62f2\u0180;io\u1ce7\u1ce8\u1cf8\u40f7de\u8100\xf7;o\u1ce7\u1cf0ntimes;\u62c7n\xf8\u1cf7cy;\u4452c\u026f\u1d06\0\0\u1d0arn;\u631eop;\u630d\u0280lptuw\u1d18\u1d1d\u1d22\u1d49\u1d55lar;\u4024f;\uc000\ud835\udd55\u0280;emps\u030b\u1d2d\u1d37\u1d3d\u1d42q\u0100;d\u0352\u1d33ot;\u6251inus;\u6238lus;\u6214quare;\u62a1blebarwedg\xe5\xfan\u0180adh\u112e\u1d5d\u1d67ownarrow\xf3\u1c83arpoon\u0100lr\u1d72\u1d76ef\xf4\u1cb4igh\xf4\u1cb6\u0162\u1d7f\u1d85karo\xf7\u0f42\u026f\u1d8a\0\0\u1d8ern;\u631fop;\u630c\u0180cot\u1d98\u1da3\u1da6\u0100ry\u1d9d\u1da1;\uc000\ud835\udcb9;\u4455l;\u69f6rok;\u4111\u0100dr\u1db0\u1db4ot;\u62f1i\u0100;f\u1dba\u1816\u65bf\u0100ah\u1dc0\u1dc3r\xf2\u0429a\xf2\u0fa6angle;\u69a6\u0100ci\u1dd2\u1dd5y;\u445fgrarr;\u67ff\u0900Dacdefglmnopqrstux\u1e01\u1e09\u1e19\u1e38\u0578\u1e3c\u1e49\u1e61\u1e7e\u1ea5\u1eaf\u1ebd\u1ee1\u1f2a\u1f37\u1f44\u1f4e\u1f5a\u0100Do\u1e06\u1d34o\xf4\u1c89\u0100cs\u1e0e\u1e14ute\u803b\xe9\u40e9ter;\u6a6e\u0200aioy\u1e22\u1e27\u1e31\u1e36ron;\u411br\u0100;c\u1e2d\u1e2e\u6256\u803b\xea\u40ealon;\u6255;\u444dot;\u4117\u0100Dr\u1e41\u1e45ot;\u6252;\uc000\ud835\udd22\u0180;rs\u1e50\u1e51\u1e57\u6a9aave\u803b\xe8\u40e8\u0100;d\u1e5c\u1e5d\u6a96ot;\u6a98\u0200;ils\u1e6a\u1e6b\u1e72\u1e74\u6a99nters;\u63e7;\u6113\u0100;d\u1e79\u1e7a\u6a95ot;\u6a97\u0180aps\u1e85\u1e89\u1e97cr;\u4113ty\u0180;sv\u1e92\u1e93\u1e95\u6205et\xbb\u1e93p\u01001;\u1e9d\u1ea4\u0133\u1ea1\u1ea3;\u6004;\u6005\u6003\u0100gs\u1eaa\u1eac;\u414bp;\u6002\u0100gp\u1eb4\u1eb8on;\u4119f;\uc000\ud835\udd56\u0180als\u1ec4\u1ece\u1ed2r\u0100;s\u1eca\u1ecb\u62d5l;\u69e3us;\u6a71i\u0180;lv\u1eda\u1edb\u1edf\u43b5on\xbb\u1edb;\u43f5\u0200csuv\u1eea\u1ef3\u1f0b\u1f23\u0100io\u1eef\u1e31rc\xbb\u1e2e\u0269\u1ef9\0\0\u1efb\xed\u0548ant\u0100gl\u1f02\u1f06tr\xbb\u1e5dess\xbb\u1e7a\u0180aei\u1f12\u1f16\u1f1als;\u403dst;\u625fv\u0100;D\u0235\u1f20D;\u6a78parsl;\u69e5\u0100Da\u1f2f\u1f33ot;\u6253rr;\u6971\u0180cdi\u1f3e\u1f41\u1ef8r;\u612fo\xf4\u0352\u0100ah\u1f49\u1f4b;\u43b7\u803b\xf0\u40f0\u0100mr\u1f53\u1f57l\u803b\xeb\u40ebo;\u60ac\u0180cip\u1f61\u1f64\u1f67l;\u4021s\xf4\u056e\u0100eo\u1f6c\u1f74ctatio\xee\u0559nential\xe5\u0579\u09e1\u1f92\0\u1f9e\0\u1fa1\u1fa7\0\0\u1fc6\u1fcc\0\u1fd3\0\u1fe6\u1fea\u2000\0\u2008\u205allingdotse\xf1\u1e44y;\u4444male;\u6640\u0180ilr\u1fad\u1fb3\u1fc1lig;\u8000\ufb03\u0269\u1fb9\0\0\u1fbdg;\u8000\ufb00ig;\u8000\ufb04;\uc000\ud835\udd23lig;\u8000\ufb01lig;\uc000fj\u0180alt\u1fd9\u1fdc\u1fe1t;\u666dig;\u8000\ufb02ns;\u65b1of;\u4192\u01f0\u1fee\0\u1ff3f;\uc000\ud835\udd57\u0100ak\u05bf\u1ff7\u0100;v\u1ffc\u1ffd\u62d4;\u6ad9artint;\u6a0d\u0100ao\u200c\u2055\u0100cs\u2011\u2052\u03b1\u201a\u2030\u2038\u2045\u2048\0\u2050\u03b2\u2022\u2025\u2027\u202a\u202c\0\u202e\u803b\xbd\u40bd;\u6153\u803b\xbc\u40bc;\u6155;\u6159;\u615b\u01b3\u2034\0\u2036;\u6154;\u6156\u02b4\u203e\u2041\0\0\u2043\u803b\xbe\u40be;\u6157;\u615c5;\u6158\u01b6\u204c\0\u204e;\u615a;\u615d8;\u615el;\u6044wn;\u6322cr;\uc000\ud835\udcbb\u0880Eabcdefgijlnorstv\u2082\u2089\u209f\u20a5\u20b0\u20b4\u20f0\u20f5\u20fa\u20ff\u2103\u2112\u2138\u0317\u213e\u2152\u219e\u0100;l\u064d\u2087;\u6a8c\u0180cmp\u2090\u2095\u209dute;\u41f5ma\u0100;d\u209c\u1cda\u43b3;\u6a86reve;\u411f\u0100iy\u20aa\u20aerc;\u411d;\u4433ot;\u4121\u0200;lqs\u063e\u0642\u20bd\u20c9\u0180;qs\u063e\u064c\u20c4lan\xf4\u0665\u0200;cdl\u0665\u20d2\u20d5\u20e5c;\u6aa9ot\u0100;o\u20dc\u20dd\u6a80\u0100;l\u20e2\u20e3\u6a82;\u6a84\u0100;e\u20ea\u20ed\uc000\u22db\ufe00s;\u6a94r;\uc000\ud835\udd24\u0100;g\u0673\u061bmel;\u6137cy;\u4453\u0200;Eaj\u065a\u210c\u210e\u2110;\u6a92;\u6aa5;\u6aa4\u0200Eaes\u211b\u211d\u2129\u2134;\u6269p\u0100;p\u2123\u2124\u6a8arox\xbb\u2124\u0100;q\u212e\u212f\u6a88\u0100;q\u212e\u211bim;\u62e7pf;\uc000\ud835\udd58\u0100ci\u2143\u2146r;\u610am\u0180;el\u066b\u214e\u2150;\u6a8e;\u6a90\u8300>;cdlqr\u05ee\u2160\u216a\u216e\u2173\u2179\u0100ci\u2165\u2167;\u6aa7r;\u6a7aot;\u62d7Par;\u6995uest;\u6a7c\u0280adels\u2184\u216a\u2190\u0656\u219b\u01f0\u2189\0\u218epro\xf8\u209er;\u6978q\u0100lq\u063f\u2196les\xf3\u2088i\xed\u066b\u0100en\u21a3\u21adrtneqq;\uc000\u2269\ufe00\xc5\u21aa\u0500Aabcefkosy\u21c4\u21c7\u21f1\u21f5\u21fa\u2218\u221d\u222f\u2268\u227dr\xf2\u03a0\u0200ilmr\u21d0\u21d4\u21d7\u21dbrs\xf0\u1484f\xbb\u2024il\xf4\u06a9\u0100dr\u21e0\u21e4cy;\u444a\u0180;cw\u08f4\u21eb\u21efir;\u6948;\u61adar;\u610firc;\u4125\u0180alr\u2201\u220e\u2213rts\u0100;u\u2209\u220a\u6665it\xbb\u220alip;\u6026con;\u62b9r;\uc000\ud835\udd25s\u0100ew\u2223\u2229arow;\u6925arow;\u6926\u0280amopr\u223a\u223e\u2243\u225e\u2263rr;\u61fftht;\u623bk\u0100lr\u2249\u2253eftarrow;\u61a9ightarrow;\u61aaf;\uc000\ud835\udd59bar;\u6015\u0180clt\u226f\u2274\u2278r;\uc000\ud835\udcbdas\xe8\u21f4rok;\u4127\u0100bp\u2282\u2287ull;\u6043hen\xbb\u1c5b\u0ae1\u22a3\0\u22aa\0\u22b8\u22c5\u22ce\0\u22d5\u22f3\0\0\u22f8\u2322\u2367\u2362\u237f\0\u2386\u23aa\u23b4cute\u803b\xed\u40ed\u0180;iy\u0771\u22b0\u22b5rc\u803b\xee\u40ee;\u4438\u0100cx\u22bc\u22bfy;\u4435cl\u803b\xa1\u40a1\u0100fr\u039f\u22c9;\uc000\ud835\udd26rave\u803b\xec\u40ec\u0200;ino\u073e\u22dd\u22e9\u22ee\u0100in\u22e2\u22e6nt;\u6a0ct;\u622dfin;\u69dcta;\u6129lig;\u4133\u0180aop\u22fe\u231a\u231d\u0180cgt\u2305\u2308\u2317r;\u412b\u0180elp\u071f\u230f\u2313in\xe5\u078ear\xf4\u0720h;\u4131f;\u62b7ed;\u41b5\u0280;cfot\u04f4\u232c\u2331\u233d\u2341are;\u6105in\u0100;t\u2338\u2339\u621eie;\u69dddo\xf4\u2319\u0280;celp\u0757\u234c\u2350\u235b\u2361al;\u62ba\u0100gr\u2355\u2359er\xf3\u1563\xe3\u234darhk;\u6a17rod;\u6a3c\u0200cgpt\u236f\u2372\u2376\u237by;\u4451on;\u412ff;\uc000\ud835\udd5aa;\u43b9uest\u803b\xbf\u40bf\u0100ci\u238a\u238fr;\uc000\ud835\udcben\u0280;Edsv\u04f4\u239b\u239d\u23a1\u04f3;\u62f9ot;\u62f5\u0100;v\u23a6\u23a7\u62f4;\u62f3\u0100;i\u0777\u23aelde;\u4129\u01eb\u23b8\0\u23bccy;\u4456l\u803b\xef\u40ef\u0300cfmosu\u23cc\u23d7\u23dc\u23e1\u23e7\u23f5\u0100iy\u23d1\u23d5rc;\u4135;\u4439r;\uc000\ud835\udd27ath;\u4237pf;\uc000\ud835\udd5b\u01e3\u23ec\0\u23f1r;\uc000\ud835\udcbfrcy;\u4458kcy;\u4454\u0400acfghjos\u240b\u2416\u2422\u2427\u242d\u2431\u2435\u243bppa\u0100;v\u2413\u2414\u43ba;\u43f0\u0100ey\u241b\u2420dil;\u4137;\u443ar;\uc000\ud835\udd28reen;\u4138cy;\u4445cy;\u445cpf;\uc000\ud835\udd5ccr;\uc000\ud835\udcc0\u0b80ABEHabcdefghjlmnoprstuv\u2470\u2481\u2486\u248d\u2491\u250e\u253d\u255a\u2580\u264e\u265e\u2665\u2679\u267d\u269a\u26b2\u26d8\u275d\u2768\u278b\u27c0\u2801\u2812\u0180art\u2477\u247a\u247cr\xf2\u09c6\xf2\u0395ail;\u691barr;\u690e\u0100;g\u0994\u248b;\u6a8bar;\u6962\u0963\u24a5\0\u24aa\0\u24b1\0\0\0\0\0\u24b5\u24ba\0\u24c6\u24c8\u24cd\0\u24f9ute;\u413amptyv;\u69b4ra\xee\u084cbda;\u43bbg\u0180;dl\u088e\u24c1\u24c3;\u6991\xe5\u088e;\u6a85uo\u803b\xab\u40abr\u0400;bfhlpst\u0899\u24de\u24e6\u24e9\u24eb\u24ee\u24f1\u24f5\u0100;f\u089d\u24e3s;\u691fs;\u691d\xeb\u2252p;\u61abl;\u6939im;\u6973l;\u61a2\u0180;ae\u24ff\u2500\u2504\u6aabil;\u6919\u0100;s\u2509\u250a\u6aad;\uc000\u2aad\ufe00\u0180abr\u2515\u2519\u251drr;\u690crk;\u6772\u0100ak\u2522\u252cc\u0100ek\u2528\u252a;\u407b;\u405b\u0100es\u2531\u2533;\u698bl\u0100du\u2539\u253b;\u698f;\u698d\u0200aeuy\u2546\u254b\u2556\u2558ron;\u413e\u0100di\u2550\u2554il;\u413c\xec\u08b0\xe2\u2529;\u443b\u0200cqrs\u2563\u2566\u256d\u257da;\u6936uo\u0100;r\u0e19\u1746\u0100du\u2572\u2577har;\u6967shar;\u694bh;\u61b2\u0280;fgqs\u258b\u258c\u0989\u25f3\u25ff\u6264t\u0280ahlrt\u2598\u25a4\u25b7\u25c2\u25e8rrow\u0100;t\u0899\u25a1a\xe9\u24f6arpoon\u0100du\u25af\u25b4own\xbb\u045ap\xbb\u0966eftarrows;\u61c7ight\u0180ahs\u25cd\u25d6\u25derrow\u0100;s\u08f4\u08a7arpoon\xf3\u0f98quigarro\xf7\u21f0hreetimes;\u62cb\u0180;qs\u258b\u0993\u25falan\xf4\u09ac\u0280;cdgs\u09ac\u260a\u260d\u261d\u2628c;\u6aa8ot\u0100;o\u2614\u2615\u6a7f\u0100;r\u261a\u261b\u6a81;\u6a83\u0100;e\u2622\u2625\uc000\u22da\ufe00s;\u6a93\u0280adegs\u2633\u2639\u263d\u2649\u264bppro\xf8\u24c6ot;\u62d6q\u0100gq\u2643\u2645\xf4\u0989gt\xf2\u248c\xf4\u099bi\xed\u09b2\u0180ilr\u2655\u08e1\u265asht;\u697c;\uc000\ud835\udd29\u0100;E\u099c\u2663;\u6a91\u0161\u2669\u2676r\u0100du\u25b2\u266e\u0100;l\u0965\u2673;\u696alk;\u6584cy;\u4459\u0280;acht\u0a48\u2688\u268b\u2691\u2696r\xf2\u25c1orne\xf2\u1d08ard;\u696bri;\u65fa\u0100io\u269f\u26a4dot;\u4140ust\u0100;a\u26ac\u26ad\u63b0che\xbb\u26ad\u0200Eaes\u26bb\u26bd\u26c9\u26d4;\u6268p\u0100;p\u26c3\u26c4\u6a89rox\xbb\u26c4\u0100;q\u26ce\u26cf\u6a87\u0100;q\u26ce\u26bbim;\u62e6\u0400abnoptwz\u26e9\u26f4\u26f7\u271a\u272f\u2741\u2747\u2750\u0100nr\u26ee\u26f1g;\u67ecr;\u61fdr\xeb\u08c1g\u0180lmr\u26ff\u270d\u2714eft\u0100ar\u09e6\u2707ight\xe1\u09f2apsto;\u67fcight\xe1\u09fdparrow\u0100lr\u2725\u2729ef\xf4\u24edight;\u61ac\u0180afl\u2736\u2739\u273dr;\u6985;\uc000\ud835\udd5dus;\u6a2dimes;\u6a34\u0161\u274b\u274fst;\u6217\xe1\u134e\u0180;ef\u2757\u2758\u1800\u65cange\xbb\u2758ar\u0100;l\u2764\u2765\u4028t;\u6993\u0280achmt\u2773\u2776\u277c\u2785\u2787r\xf2\u08a8orne\xf2\u1d8car\u0100;d\u0f98\u2783;\u696d;\u600eri;\u62bf\u0300achiqt\u2798\u279d\u0a40\u27a2\u27ae\u27bbquo;\u6039r;\uc000\ud835\udcc1m\u0180;eg\u09b2\u27aa\u27ac;\u6a8d;\u6a8f\u0100bu\u252a\u27b3o\u0100;r\u0e1f\u27b9;\u601arok;\u4142\u8400<;cdhilqr\u082b\u27d2\u2639\u27dc\u27e0\u27e5\u27ea\u27f0\u0100ci\u27d7\u27d9;\u6aa6r;\u6a79re\xe5\u25f2mes;\u62c9arr;\u6976uest;\u6a7b\u0100Pi\u27f5\u27f9ar;\u6996\u0180;ef\u2800\u092d\u181b\u65c3r\u0100du\u2807\u280dshar;\u694ahar;\u6966\u0100en\u2817\u2821rtneqq;\uc000\u2268\ufe00\xc5\u281e\u0700Dacdefhilnopsu\u2840\u2845\u2882\u288e\u2893\u28a0\u28a5\u28a8\u28da\u28e2\u28e4\u0a83\u28f3\u2902Dot;\u623a\u0200clpr\u284e\u2852\u2863\u287dr\u803b\xaf\u40af\u0100et\u2857\u2859;\u6642\u0100;e\u285e\u285f\u6720se\xbb\u285f\u0100;s\u103b\u2868to\u0200;dlu\u103b\u2873\u2877\u287bow\xee\u048cef\xf4\u090f\xf0\u13d1ker;\u65ae\u0100oy\u2887\u288cmma;\u6a29;\u443cash;\u6014asuredangle\xbb\u1626r;\uc000\ud835\udd2ao;\u6127\u0180cdn\u28af\u28b4\u28c9ro\u803b\xb5\u40b5\u0200;acd\u1464\u28bd\u28c0\u28c4s\xf4\u16a7ir;\u6af0ot\u80bb\xb7\u01b5us\u0180;bd\u28d2\u1903\u28d3\u6212\u0100;u\u1d3c\u28d8;\u6a2a\u0163\u28de\u28e1p;\u6adb\xf2\u2212\xf0\u0a81\u0100dp\u28e9\u28eeels;\u62a7f;\uc000\ud835\udd5e\u0100ct\u28f8\u28fdr;\uc000\ud835\udcc2pos\xbb\u159d\u0180;lm\u2909\u290a\u290d\u43bctimap;\u62b8\u0c00GLRVabcdefghijlmoprstuvw\u2942\u2953\u297e\u2989\u2998\u29da\u29e9\u2a15\u2a1a\u2a58\u2a5d\u2a83\u2a95\u2aa4\u2aa8\u2b04\u2b07\u2b44\u2b7f\u2bae\u2c34\u2c67\u2c7c\u2ce9\u0100gt\u2947\u294b;\uc000\u22d9\u0338\u0100;v\u2950\u0bcf\uc000\u226b\u20d2\u0180elt\u295a\u2972\u2976ft\u0100ar\u2961\u2967rrow;\u61cdightarrow;\u61ce;\uc000\u22d8\u0338\u0100;v\u297b\u0c47\uc000\u226a\u20d2ightarrow;\u61cf\u0100Dd\u298e\u2993ash;\u62afash;\u62ae\u0280bcnpt\u29a3\u29a7\u29ac\u29b1\u29ccla\xbb\u02deute;\u4144g;\uc000\u2220\u20d2\u0280;Eiop\u0d84\u29bc\u29c0\u29c5\u29c8;\uc000\u2a70\u0338d;\uc000\u224b\u0338s;\u4149ro\xf8\u0d84ur\u0100;a\u29d3\u29d4\u666el\u0100;s\u29d3\u0b38\u01f3\u29df\0\u29e3p\u80bb\xa0\u0b37mp\u0100;e\u0bf9\u0c00\u0280aeouy\u29f4\u29fe\u2a03\u2a10\u2a13\u01f0\u29f9\0\u29fb;\u6a43on;\u4148dil;\u4146ng\u0100;d\u0d7e\u2a0aot;\uc000\u2a6d\u0338p;\u6a42;\u443dash;\u6013\u0380;Aadqsx\u0b92\u2a29\u2a2d\u2a3b\u2a41\u2a45\u2a50rr;\u61d7r\u0100hr\u2a33\u2a36k;\u6924\u0100;o\u13f2\u13f0ot;\uc000\u2250\u0338ui\xf6\u0b63\u0100ei\u2a4a\u2a4ear;\u6928\xed\u0b98ist\u0100;s\u0ba0\u0b9fr;\uc000\ud835\udd2b\u0200Eest\u0bc5\u2a66\u2a79\u2a7c\u0180;qs\u0bbc\u2a6d\u0be1\u0180;qs\u0bbc\u0bc5\u2a74lan\xf4\u0be2i\xed\u0bea\u0100;r\u0bb6\u2a81\xbb\u0bb7\u0180Aap\u2a8a\u2a8d\u2a91r\xf2\u2971rr;\u61aear;\u6af2\u0180;sv\u0f8d\u2a9c\u0f8c\u0100;d\u2aa1\u2aa2\u62fc;\u62facy;\u445a\u0380AEadest\u2ab7\u2aba\u2abe\u2ac2\u2ac5\u2af6\u2af9r\xf2\u2966;\uc000\u2266\u0338rr;\u619ar;\u6025\u0200;fqs\u0c3b\u2ace\u2ae3\u2aeft\u0100ar\u2ad4\u2ad9rro\xf7\u2ac1ightarro\xf7\u2a90\u0180;qs\u0c3b\u2aba\u2aealan\xf4\u0c55\u0100;s\u0c55\u2af4\xbb\u0c36i\xed\u0c5d\u0100;r\u0c35\u2afei\u0100;e\u0c1a\u0c25i\xe4\u0d90\u0100pt\u2b0c\u2b11f;\uc000\ud835\udd5f\u8180\xac;in\u2b19\u2b1a\u2b36\u40acn\u0200;Edv\u0b89\u2b24\u2b28\u2b2e;\uc000\u22f9\u0338ot;\uc000\u22f5\u0338\u01e1\u0b89\u2b33\u2b35;\u62f7;\u62f6i\u0100;v\u0cb8\u2b3c\u01e1\u0cb8\u2b41\u2b43;\u62fe;\u62fd\u0180aor\u2b4b\u2b63\u2b69r\u0200;ast\u0b7b\u2b55\u2b5a\u2b5flle\xec\u0b7bl;\uc000\u2afd\u20e5;\uc000\u2202\u0338lint;\u6a14\u0180;ce\u0c92\u2b70\u2b73u\xe5\u0ca5\u0100;c\u0c98\u2b78\u0100;e\u0c92\u2b7d\xf1\u0c98\u0200Aait\u2b88\u2b8b\u2b9d\u2ba7r\xf2\u2988rr\u0180;cw\u2b94\u2b95\u2b99\u619b;\uc000\u2933\u0338;\uc000\u219d\u0338ghtarrow\xbb\u2b95ri\u0100;e\u0ccb\u0cd6\u0380chimpqu\u2bbd\u2bcd\u2bd9\u2b04\u0b78\u2be4\u2bef\u0200;cer\u0d32\u2bc6\u0d37\u2bc9u\xe5\u0d45;\uc000\ud835\udcc3ort\u026d\u2b05\0\0\u2bd6ar\xe1\u2b56m\u0100;e\u0d6e\u2bdf\u0100;q\u0d74\u0d73su\u0100bp\u2beb\u2bed\xe5\u0cf8\xe5\u0d0b\u0180bcp\u2bf6\u2c11\u2c19\u0200;Ees\u2bff\u2c00\u0d22\u2c04\u6284;\uc000\u2ac5\u0338et\u0100;e\u0d1b\u2c0bq\u0100;q\u0d23\u2c00c\u0100;e\u0d32\u2c17\xf1\u0d38\u0200;Ees\u2c22\u2c23\u0d5f\u2c27\u6285;\uc000\u2ac6\u0338et\u0100;e\u0d58\u2c2eq\u0100;q\u0d60\u2c23\u0200gilr\u2c3d\u2c3f\u2c45\u2c47\xec\u0bd7lde\u803b\xf1\u40f1\xe7\u0c43iangle\u0100lr\u2c52\u2c5ceft\u0100;e\u0c1a\u2c5a\xf1\u0c26ight\u0100;e\u0ccb\u2c65\xf1\u0cd7\u0100;m\u2c6c\u2c6d\u43bd\u0180;es\u2c74\u2c75\u2c79\u4023ro;\u6116p;\u6007\u0480DHadgilrs\u2c8f\u2c94\u2c99\u2c9e\u2ca3\u2cb0\u2cb6\u2cd3\u2ce3ash;\u62adarr;\u6904p;\uc000\u224d\u20d2ash;\u62ac\u0100et\u2ca8\u2cac;\uc000\u2265\u20d2;\uc000>\u20d2nfin;\u69de\u0180Aet\u2cbd\u2cc1\u2cc5rr;\u6902;\uc000\u2264\u20d2\u0100;r\u2cca\u2ccd\uc000<\u20d2ie;\uc000\u22b4\u20d2\u0100At\u2cd8\u2cdcrr;\u6903rie;\uc000\u22b5\u20d2im;\uc000\u223c\u20d2\u0180Aan\u2cf0\u2cf4\u2d02rr;\u61d6r\u0100hr\u2cfa\u2cfdk;\u6923\u0100;o\u13e7\u13e5ear;\u6927\u1253\u1a95\0\0\0\0\0\0\0\0\0\0\0\0\0\u2d2d\0\u2d38\u2d48\u2d60\u2d65\u2d72\u2d84\u1b07\0\0\u2d8d\u2dab\0\u2dc8\u2dce\0\u2ddc\u2e19\u2e2b\u2e3e\u2e43\u0100cs\u2d31\u1a97ute\u803b\xf3\u40f3\u0100iy\u2d3c\u2d45r\u0100;c\u1a9e\u2d42\u803b\xf4\u40f4;\u443e\u0280abios\u1aa0\u2d52\u2d57\u01c8\u2d5alac;\u4151v;\u6a38old;\u69bclig;\u4153\u0100cr\u2d69\u2d6dir;\u69bf;\uc000\ud835\udd2c\u036f\u2d79\0\0\u2d7c\0\u2d82n;\u42dbave\u803b\xf2\u40f2;\u69c1\u0100bm\u2d88\u0df4ar;\u69b5\u0200acit\u2d95\u2d98\u2da5\u2da8r\xf2\u1a80\u0100ir\u2d9d\u2da0r;\u69beoss;\u69bbn\xe5\u0e52;\u69c0\u0180aei\u2db1\u2db5\u2db9cr;\u414dga;\u43c9\u0180cdn\u2dc0\u2dc5\u01cdron;\u43bf;\u69b6pf;\uc000\ud835\udd60\u0180ael\u2dd4\u2dd7\u01d2r;\u69b7rp;\u69b9\u0380;adiosv\u2dea\u2deb\u2dee\u2e08\u2e0d\u2e10\u2e16\u6228r\xf2\u1a86\u0200;efm\u2df7\u2df8\u2e02\u2e05\u6a5dr\u0100;o\u2dfe\u2dff\u6134f\xbb\u2dff\u803b\xaa\u40aa\u803b\xba\u40bagof;\u62b6r;\u6a56lope;\u6a57;\u6a5b\u0180clo\u2e1f\u2e21\u2e27\xf2\u2e01ash\u803b\xf8\u40f8l;\u6298i\u016c\u2e2f\u2e34de\u803b\xf5\u40f5es\u0100;a\u01db\u2e3as;\u6a36ml\u803b\xf6\u40f6bar;\u633d\u0ae1\u2e5e\0\u2e7d\0\u2e80\u2e9d\0\u2ea2\u2eb9\0\0\u2ecb\u0e9c\0\u2f13\0\0\u2f2b\u2fbc\0\u2fc8r\u0200;ast\u0403\u2e67\u2e72\u0e85\u8100\xb6;l\u2e6d\u2e6e\u40b6le\xec\u0403\u0269\u2e78\0\0\u2e7bm;\u6af3;\u6afdy;\u443fr\u0280cimpt\u2e8b\u2e8f\u2e93\u1865\u2e97nt;\u4025od;\u402eil;\u6030enk;\u6031r;\uc000\ud835\udd2d\u0180imo\u2ea8\u2eb0\u2eb4\u0100;v\u2ead\u2eae\u43c6;\u43d5ma\xf4\u0a76ne;\u660e\u0180;tv\u2ebf\u2ec0\u2ec8\u43c0chfork\xbb\u1ffd;\u43d6\u0100au\u2ecf\u2edfn\u0100ck\u2ed5\u2eddk\u0100;h\u21f4\u2edb;\u610e\xf6\u21f4s\u0480;abcdemst\u2ef3\u2ef4\u1908\u2ef9\u2efd\u2f04\u2f06\u2f0a\u2f0e\u402bcir;\u6a23ir;\u6a22\u0100ou\u1d40\u2f02;\u6a25;\u6a72n\u80bb\xb1\u0e9dim;\u6a26wo;\u6a27\u0180ipu\u2f19\u2f20\u2f25ntint;\u6a15f;\uc000\ud835\udd61nd\u803b\xa3\u40a3\u0500;Eaceinosu\u0ec8\u2f3f\u2f41\u2f44\u2f47\u2f81\u2f89\u2f92\u2f7e\u2fb6;\u6ab3p;\u6ab7u\xe5\u0ed9\u0100;c\u0ece\u2f4c\u0300;acens\u0ec8\u2f59\u2f5f\u2f66\u2f68\u2f7eppro\xf8\u2f43urlye\xf1\u0ed9\xf1\u0ece\u0180aes\u2f6f\u2f76\u2f7approx;\u6ab9qq;\u6ab5im;\u62e8i\xed\u0edfme\u0100;s\u2f88\u0eae\u6032\u0180Eas\u2f78\u2f90\u2f7a\xf0\u2f75\u0180dfp\u0eec\u2f99\u2faf\u0180als\u2fa0\u2fa5\u2faalar;\u632eine;\u6312urf;\u6313\u0100;t\u0efb\u2fb4\xef\u0efbrel;\u62b0\u0100ci\u2fc0\u2fc5r;\uc000\ud835\udcc5;\u43c8ncsp;\u6008\u0300fiopsu\u2fda\u22e2\u2fdf\u2fe5\u2feb\u2ff1r;\uc000\ud835\udd2epf;\uc000\ud835\udd62rime;\u6057cr;\uc000\ud835\udcc6\u0180aeo\u2ff8\u3009\u3013t\u0100ei\u2ffe\u3005rnion\xf3\u06b0nt;\u6a16st\u0100;e\u3010\u3011\u403f\xf1\u1f19\xf4\u0f14\u0a80ABHabcdefhilmnoprstux\u3040\u3051\u3055\u3059\u30e0\u310e\u312b\u3147\u3162\u3172\u318e\u3206\u3215\u3224\u3229\u3258\u326e\u3272\u3290\u32b0\u32b7\u0180art\u3047\u304a\u304cr\xf2\u10b3\xf2\u03ddail;\u691car\xf2\u1c65ar;\u6964\u0380cdenqrt\u3068\u3075\u3078\u307f\u308f\u3094\u30cc\u0100eu\u306d\u3071;\uc000\u223d\u0331te;\u4155i\xe3\u116emptyv;\u69b3g\u0200;del\u0fd1\u3089\u308b\u308d;\u6992;\u69a5\xe5\u0fd1uo\u803b\xbb\u40bbr\u0580;abcfhlpstw\u0fdc\u30ac\u30af\u30b7\u30b9\u30bc\u30be\u30c0\u30c3\u30c7\u30cap;\u6975\u0100;f\u0fe0\u30b4s;\u6920;\u6933s;\u691e\xeb\u225d\xf0\u272el;\u6945im;\u6974l;\u61a3;\u619d\u0100ai\u30d1\u30d5il;\u691ao\u0100;n\u30db\u30dc\u6236al\xf3\u0f1e\u0180abr\u30e7\u30ea\u30eer\xf2\u17e5rk;\u6773\u0100ak\u30f3\u30fdc\u0100ek\u30f9\u30fb;\u407d;\u405d\u0100es\u3102\u3104;\u698cl\u0100du\u310a\u310c;\u698e;\u6990\u0200aeuy\u3117\u311c\u3127\u3129ron;\u4159\u0100di\u3121\u3125il;\u4157\xec\u0ff2\xe2\u30fa;\u4440\u0200clqs\u3134\u3137\u313d\u3144a;\u6937dhar;\u6969uo\u0100;r\u020e\u020dh;\u61b3\u0180acg\u314e\u315f\u0f44l\u0200;ips\u0f78\u3158\u315b\u109cn\xe5\u10bbar\xf4\u0fa9t;\u65ad\u0180ilr\u3169\u1023\u316esht;\u697d;\uc000\ud835\udd2f\u0100ao\u3177\u3186r\u0100du\u317d\u317f\xbb\u047b\u0100;l\u1091\u3184;\u696c\u0100;v\u318b\u318c\u43c1;\u43f1\u0180gns\u3195\u31f9\u31fcht\u0300ahlrst\u31a4\u31b0\u31c2\u31d8\u31e4\u31eerrow\u0100;t\u0fdc\u31ada\xe9\u30c8arpoon\u0100du\u31bb\u31bfow\xee\u317ep\xbb\u1092eft\u0100ah\u31ca\u31d0rrow\xf3\u0feaarpoon\xf3\u0551ightarrows;\u61c9quigarro\xf7\u30cbhreetimes;\u62ccg;\u42daingdotse\xf1\u1f32\u0180ahm\u320d\u3210\u3213r\xf2\u0feaa\xf2\u0551;\u600foust\u0100;a\u321e\u321f\u63b1che\xbb\u321fmid;\u6aee\u0200abpt\u3232\u323d\u3240\u3252\u0100nr\u3237\u323ag;\u67edr;\u61fer\xeb\u1003\u0180afl\u3247\u324a\u324er;\u6986;\uc000\ud835\udd63us;\u6a2eimes;\u6a35\u0100ap\u325d\u3267r\u0100;g\u3263\u3264\u4029t;\u6994olint;\u6a12ar\xf2\u31e3\u0200achq\u327b\u3280\u10bc\u3285quo;\u603ar;\uc000\ud835\udcc7\u0100bu\u30fb\u328ao\u0100;r\u0214\u0213\u0180hir\u3297\u329b\u32a0re\xe5\u31f8mes;\u62cai\u0200;efl\u32aa\u1059\u1821\u32ab\u65b9tri;\u69celuhar;\u6968;\u611e\u0d61\u32d5\u32db\u32df\u332c\u3338\u3371\0\u337a\u33a4\0\0\u33ec\u33f0\0\u3428\u3448\u345a\u34ad\u34b1\u34ca\u34f1\0\u3616\0\0\u3633cute;\u415bqu\xef\u27ba\u0500;Eaceinpsy\u11ed\u32f3\u32f5\u32ff\u3302\u330b\u330f\u331f\u3326\u3329;\u6ab4\u01f0\u32fa\0\u32fc;\u6ab8on;\u4161u\xe5\u11fe\u0100;d\u11f3\u3307il;\u415frc;\u415d\u0180Eas\u3316\u3318\u331b;\u6ab6p;\u6abaim;\u62e9olint;\u6a13i\xed\u1204;\u4441ot\u0180;be\u3334\u1d47\u3335\u62c5;\u6a66\u0380Aacmstx\u3346\u334a\u3357\u335b\u335e\u3363\u336drr;\u61d8r\u0100hr\u3350\u3352\xeb\u2228\u0100;o\u0a36\u0a34t\u803b\xa7\u40a7i;\u403bwar;\u6929m\u0100in\u3369\xf0nu\xf3\xf1t;\u6736r\u0100;o\u3376\u2055\uc000\ud835\udd30\u0200acoy\u3382\u3386\u3391\u33a0rp;\u666f\u0100hy\u338b\u338fcy;\u4449;\u4448rt\u026d\u3399\0\0\u339ci\xe4\u1464ara\xec\u2e6f\u803b\xad\u40ad\u0100gm\u33a8\u33b4ma\u0180;fv\u33b1\u33b2\u33b2\u43c3;\u43c2\u0400;deglnpr\u12ab\u33c5\u33c9\u33ce\u33d6\u33de\u33e1\u33e6ot;\u6a6a\u0100;q\u12b1\u12b0\u0100;E\u33d3\u33d4\u6a9e;\u6aa0\u0100;E\u33db\u33dc\u6a9d;\u6a9fe;\u6246lus;\u6a24arr;\u6972ar\xf2\u113d\u0200aeit\u33f8\u3408\u340f\u3417\u0100ls\u33fd\u3404lsetm\xe9\u336ahp;\u6a33parsl;\u69e4\u0100dl\u1463\u3414e;\u6323\u0100;e\u341c\u341d\u6aaa\u0100;s\u3422\u3423\u6aac;\uc000\u2aac\ufe00\u0180flp\u342e\u3433\u3442tcy;\u444c\u0100;b\u3438\u3439\u402f\u0100;a\u343e\u343f\u69c4r;\u633ff;\uc000\ud835\udd64a\u0100dr\u344d\u0402es\u0100;u\u3454\u3455\u6660it\xbb\u3455\u0180csu\u3460\u3479\u349f\u0100au\u3465\u346fp\u0100;s\u1188\u346b;\uc000\u2293\ufe00p\u0100;s\u11b4\u3475;\uc000\u2294\ufe00u\u0100bp\u347f\u348f\u0180;es\u1197\u119c\u3486et\u0100;e\u1197\u348d\xf1\u119d\u0180;es\u11a8\u11ad\u3496et\u0100;e\u11a8\u349d\xf1\u11ae\u0180;af\u117b\u34a6\u05b0r\u0165\u34ab\u05b1\xbb\u117car\xf2\u1148\u0200cemt\u34b9\u34be\u34c2\u34c5r;\uc000\ud835\udcc8tm\xee\xf1i\xec\u3415ar\xe6\u11be\u0100ar\u34ce\u34d5r\u0100;f\u34d4\u17bf\u6606\u0100an\u34da\u34edight\u0100ep\u34e3\u34eapsilo\xee\u1ee0h\xe9\u2eafs\xbb\u2852\u0280bcmnp\u34fb\u355e\u1209\u358b\u358e\u0480;Edemnprs\u350e\u350f\u3511\u3515\u351e\u3523\u352c\u3531\u3536\u6282;\u6ac5ot;\u6abd\u0100;d\u11da\u351aot;\u6ac3ult;\u6ac1\u0100Ee\u3528\u352a;\u6acb;\u628alus;\u6abfarr;\u6979\u0180eiu\u353d\u3552\u3555t\u0180;en\u350e\u3545\u354bq\u0100;q\u11da\u350feq\u0100;q\u352b\u3528m;\u6ac7\u0100bp\u355a\u355c;\u6ad5;\u6ad3c\u0300;acens\u11ed\u356c\u3572\u3579\u357b\u3326ppro\xf8\u32faurlye\xf1\u11fe\xf1\u11f3\u0180aes\u3582\u3588\u331bppro\xf8\u331aq\xf1\u3317g;\u666a\u0680123;Edehlmnps\u35a9\u35ac\u35af\u121c\u35b2\u35b4\u35c0\u35c9\u35d5\u35da\u35df\u35e8\u35ed\u803b\xb9\u40b9\u803b\xb2\u40b2\u803b\xb3\u40b3;\u6ac6\u0100os\u35b9\u35bct;\u6abeub;\u6ad8\u0100;d\u1222\u35c5ot;\u6ac4s\u0100ou\u35cf\u35d2l;\u67c9b;\u6ad7arr;\u697bult;\u6ac2\u0100Ee\u35e4\u35e6;\u6acc;\u628blus;\u6ac0\u0180eiu\u35f4\u3609\u360ct\u0180;en\u121c\u35fc\u3602q\u0100;q\u1222\u35b2eq\u0100;q\u35e7\u35e4m;\u6ac8\u0100bp\u3611\u3613;\u6ad4;\u6ad6\u0180Aan\u361c\u3620\u362drr;\u61d9r\u0100hr\u3626\u3628\xeb\u222e\u0100;o\u0a2b\u0a29war;\u692alig\u803b\xdf\u40df\u0be1\u3651\u365d\u3660\u12ce\u3673\u3679\0\u367e\u36c2\0\0\0\0\0\u36db\u3703\0\u3709\u376c\0\0\0\u3787\u0272\u3656\0\0\u365bget;\u6316;\u43c4r\xeb\u0e5f\u0180aey\u3666\u366b\u3670ron;\u4165dil;\u4163;\u4442lrec;\u6315r;\uc000\ud835\udd31\u0200eiko\u3686\u369d\u36b5\u36bc\u01f2\u368b\0\u3691e\u01004f\u1284\u1281a\u0180;sv\u3698\u3699\u369b\u43b8ym;\u43d1\u0100cn\u36a2\u36b2k\u0100as\u36a8\u36aeppro\xf8\u12c1im\xbb\u12acs\xf0\u129e\u0100as\u36ba\u36ae\xf0\u12c1rn\u803b\xfe\u40fe\u01ec\u031f\u36c6\u22e7es\u8180\xd7;bd\u36cf\u36d0\u36d8\u40d7\u0100;a\u190f\u36d5r;\u6a31;\u6a30\u0180eps\u36e1\u36e3\u3700\xe1\u2a4d\u0200;bcf\u0486\u36ec\u36f0\u36f4ot;\u6336ir;\u6af1\u0100;o\u36f9\u36fc\uc000\ud835\udd65rk;\u6ada\xe1\u3362rime;\u6034\u0180aip\u370f\u3712\u3764d\xe5\u1248\u0380adempst\u3721\u374d\u3740\u3751\u3757\u375c\u375fngle\u0280;dlqr\u3730\u3731\u3736\u3740\u3742\u65b5own\xbb\u1dbbeft\u0100;e\u2800\u373e\xf1\u092e;\u625cight\u0100;e\u32aa\u374b\xf1\u105aot;\u65ecinus;\u6a3alus;\u6a39b;\u69cdime;\u6a3bezium;\u63e2\u0180cht\u3772\u377d\u3781\u0100ry\u3777\u377b;\uc000\ud835\udcc9;\u4446cy;\u445brok;\u4167\u0100io\u378b\u378ex\xf4\u1777head\u0100lr\u3797\u37a0eftarro\xf7\u084fightarrow\xbb\u0f5d\u0900AHabcdfghlmoprstuw\u37d0\u37d3\u37d7\u37e4\u37f0\u37fc\u380e\u381c\u3823\u3834\u3851\u385d\u386b\u38a9\u38cc\u38d2\u38ea\u38f6r\xf2\u03edar;\u6963\u0100cr\u37dc\u37e2ute\u803b\xfa\u40fa\xf2\u1150r\u01e3\u37ea\0\u37edy;\u445eve;\u416d\u0100iy\u37f5\u37farc\u803b\xfb\u40fb;\u4443\u0180abh\u3803\u3806\u380br\xf2\u13adlac;\u4171a\xf2\u13c3\u0100ir\u3813\u3818sht;\u697e;\uc000\ud835\udd32rave\u803b\xf9\u40f9\u0161\u3827\u3831r\u0100lr\u382c\u382e\xbb\u0957\xbb\u1083lk;\u6580\u0100ct\u3839\u384d\u026f\u383f\0\0\u384arn\u0100;e\u3845\u3846\u631cr\xbb\u3846op;\u630fri;\u65f8\u0100al\u3856\u385acr;\u416b\u80bb\xa8\u0349\u0100gp\u3862\u3866on;\u4173f;\uc000\ud835\udd66\u0300adhlsu\u114b\u3878\u387d\u1372\u3891\u38a0own\xe1\u13b3arpoon\u0100lr\u3888\u388cef\xf4\u382digh\xf4\u382fi\u0180;hl\u3899\u389a\u389c\u43c5\xbb\u13faon\xbb\u389aparrows;\u61c8\u0180cit\u38b0\u38c4\u38c8\u026f\u38b6\0\0\u38c1rn\u0100;e\u38bc\u38bd\u631dr\xbb\u38bdop;\u630eng;\u416fri;\u65f9cr;\uc000\ud835\udcca\u0180dir\u38d9\u38dd\u38e2ot;\u62f0lde;\u4169i\u0100;f\u3730\u38e8\xbb\u1813\u0100am\u38ef\u38f2r\xf2\u38a8l\u803b\xfc\u40fcangle;\u69a7\u0780ABDacdeflnoprsz\u391c\u391f\u3929\u392d\u39b5\u39b8\u39bd\u39df\u39e4\u39e8\u39f3\u39f9\u39fd\u3a01\u3a20r\xf2\u03f7ar\u0100;v\u3926\u3927\u6ae8;\u6ae9as\xe8\u03e1\u0100nr\u3932\u3937grt;\u699c\u0380eknprst\u34e3\u3946\u394b\u3952\u395d\u3964\u3996app\xe1\u2415othin\xe7\u1e96\u0180hir\u34eb\u2ec8\u3959op\xf4\u2fb5\u0100;h\u13b7\u3962\xef\u318d\u0100iu\u3969\u396dgm\xe1\u33b3\u0100bp\u3972\u3984setneq\u0100;q\u397d\u3980\uc000\u228a\ufe00;\uc000\u2acb\ufe00setneq\u0100;q\u398f\u3992\uc000\u228b\ufe00;\uc000\u2acc\ufe00\u0100hr\u399b\u399fet\xe1\u369ciangle\u0100lr\u39aa\u39afeft\xbb\u0925ight\xbb\u1051y;\u4432ash\xbb\u1036\u0180elr\u39c4\u39d2\u39d7\u0180;be\u2dea\u39cb\u39cfar;\u62bbq;\u625alip;\u62ee\u0100bt\u39dc\u1468a\xf2\u1469r;\uc000\ud835\udd33tr\xe9\u39aesu\u0100bp\u39ef\u39f1\xbb\u0d1c\xbb\u0d59pf;\uc000\ud835\udd67ro\xf0\u0efbtr\xe9\u39b4\u0100cu\u3a06\u3a0br;\uc000\ud835\udccb\u0100bp\u3a10\u3a18n\u0100Ee\u3980\u3a16\xbb\u397en\u0100Ee\u3992\u3a1e\xbb\u3990igzag;\u699a\u0380cefoprs\u3a36\u3a3b\u3a56\u3a5b\u3a54\u3a61\u3a6airc;\u4175\u0100di\u3a40\u3a51\u0100bg\u3a45\u3a49ar;\u6a5fe\u0100;q\u15fa\u3a4f;\u6259erp;\u6118r;\uc000\ud835\udd34pf;\uc000\ud835\udd68\u0100;e\u1479\u3a66at\xe8\u1479cr;\uc000\ud835\udccc\u0ae3\u178e\u3a87\0\u3a8b\0\u3a90\u3a9b\0\0\u3a9d\u3aa8\u3aab\u3aaf\0\0\u3ac3\u3ace\0\u3ad8\u17dc\u17dftr\xe9\u17d1r;\uc000\ud835\udd35\u0100Aa\u3a94\u3a97r\xf2\u03c3r\xf2\u09f6;\u43be\u0100Aa\u3aa1\u3aa4r\xf2\u03b8r\xf2\u09eba\xf0\u2713is;\u62fb\u0180dpt\u17a4\u3ab5\u3abe\u0100fl\u3aba\u17a9;\uc000\ud835\udd69im\xe5\u17b2\u0100Aa\u3ac7\u3acar\xf2\u03cer\xf2\u0a01\u0100cq\u3ad2\u17b8r;\uc000\ud835\udccd\u0100pt\u17d6\u3adcr\xe9\u17d4\u0400acefiosu\u3af0\u3afd\u3b08\u3b0c\u3b11\u3b15\u3b1b\u3b21c\u0100uy\u3af6\u3afbte\u803b\xfd\u40fd;\u444f\u0100iy\u3b02\u3b06rc;\u4177;\u444bn\u803b\xa5\u40a5r;\uc000\ud835\udd36cy;\u4457pf;\uc000\ud835\udd6acr;\uc000\ud835\udcce\u0100cm\u3b26\u3b29y;\u444el\u803b\xff\u40ff\u0500acdefhiosw\u3b42\u3b48\u3b54\u3b58\u3b64\u3b69\u3b6d\u3b74\u3b7a\u3b80cute;\u417a\u0100ay\u3b4d\u3b52ron;\u417e;\u4437ot;\u417c\u0100et\u3b5d\u3b61tr\xe6\u155fa;\u43b6r;\uc000\ud835\udd37cy;\u4436grarr;\u61ddpf;\uc000\ud835\udd6bcr;\uc000\ud835\udccf\u0100jn\u3b85\u3b87;\u600dj;\u600c" - .split("") - .map(function (c) { return c.charCodeAt(0); })); -//# sourceMappingURL=decode-data-html.js.map - -/***/ }), - -/***/ 1541: -/***/ ((__unused_webpack_module, exports) => { - - -// Generated using scripts/write-decode-map.ts -Object.defineProperty(exports, "__esModule", ({ value: true })); -exports["default"] = new Uint16Array( -// prettier-ignore -"\u0200aglq\t\x15\x18\x1b\u026d\x0f\0\0\x12p;\u4026os;\u4027t;\u403et;\u403cuot;\u4022" - .split("") - .map(function (c) { return c.charCodeAt(0); })); -//# sourceMappingURL=decode-data-xml.js.map - -/***/ }), - -/***/ 51937: -/***/ ((__unused_webpack_module, exports) => { - - -Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.version = void 0; -exports.version = "ethers/5.7.2"; -//# sourceMappingURL=_version.js.map - -/***/ }), - -/***/ 26435: -/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) { - - -var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); -}) : (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - o[k2] = m[k]; -})); -var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { - Object.defineProperty(o, "default", { enumerable: true, value: v }); -}) : function(o, v) { - o["default"] = v; -}); -var __importStar = (this && this.__importStar) || function (mod) { - if (mod && mod.__esModule) return mod; - var result = {}; - if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); - __setModuleDefault(result, mod); - return result; -}; -Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.Wordlist = exports.version = exports.wordlists = exports.utils = exports.logger = exports.errors = exports.constants = exports.FixedNumber = exports.BigNumber = exports.ContractFactory = exports.Contract = exports.BaseContract = exports.providers = exports.getDefaultProvider = exports.VoidSigner = exports.Wallet = exports.Signer = void 0; -var contracts_1 = __nccwpck_require__(21795); -Object.defineProperty(exports, "BaseContract", ({ enumerable: true, get: function () { return contracts_1.BaseContract; } })); -Object.defineProperty(exports, "Contract", ({ enumerable: true, get: function () { return contracts_1.Contract; } })); -Object.defineProperty(exports, "ContractFactory", ({ enumerable: true, get: function () { return contracts_1.ContractFactory; } })); -var bignumber_1 = __nccwpck_require__(14763); -Object.defineProperty(exports, "BigNumber", ({ enumerable: true, get: function () { return bignumber_1.BigNumber; } })); -Object.defineProperty(exports, "FixedNumber", ({ enumerable: true, get: function () { return bignumber_1.FixedNumber; } })); -var abstract_signer_1 = __nccwpck_require__(2863); -Object.defineProperty(exports, "Signer", ({ enumerable: true, get: function () { return abstract_signer_1.Signer; } })); -Object.defineProperty(exports, "VoidSigner", ({ enumerable: true, get: function () { return abstract_signer_1.VoidSigner; } })); -var wallet_1 = __nccwpck_require__(61009); -Object.defineProperty(exports, "Wallet", ({ enumerable: true, get: function () { return wallet_1.Wallet; } })); -var constants = __importStar(__nccwpck_require__(46561)); -exports.constants = constants; -var providers = __importStar(__nccwpck_require__(36334)); -exports.providers = providers; -var providers_1 = __nccwpck_require__(36334); -Object.defineProperty(exports, "getDefaultProvider", ({ enumerable: true, get: function () { return providers_1.getDefaultProvider; } })); -var wordlists_1 = __nccwpck_require__(34242); -Object.defineProperty(exports, "Wordlist", ({ enumerable: true, get: function () { return wordlists_1.Wordlist; } })); -Object.defineProperty(exports, "wordlists", ({ enumerable: true, get: function () { return wordlists_1.wordlists; } })); -var utils = __importStar(__nccwpck_require__(26341)); -exports.utils = utils; -var logger_1 = __nccwpck_require__(8772); -Object.defineProperty(exports, "errors", ({ enumerable: true, get: function () { return logger_1.ErrorCode; } })); -//////////////////////// -// Compile-Time Constants -// This is generated by "npm run dist" -var _version_1 = __nccwpck_require__(51937); -Object.defineProperty(exports, "version", ({ enumerable: true, get: function () { return _version_1.version; } })); -var logger = new logger_1.Logger(_version_1.version); -exports.logger = logger; -//# sourceMappingURL=ethers.js.map - -/***/ }), - -/***/ 35596: -/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) { - - -var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); -}) : (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - o[k2] = m[k]; -})); -var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { - Object.defineProperty(o, "default", { enumerable: true, value: v }); -}) : function(o, v) { - o["default"] = v; -}); -var __importStar = (this && this.__importStar) || function (mod) { - if (mod && mod.__esModule) return mod; - var result = {}; - if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); - __setModuleDefault(result, mod); - return result; -}; -Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.Wordlist = exports.version = exports.wordlists = exports.utils = exports.logger = exports.errors = exports.constants = exports.FixedNumber = exports.BigNumber = exports.ContractFactory = exports.Contract = exports.BaseContract = exports.providers = exports.getDefaultProvider = exports.VoidSigner = exports.Wallet = exports.Signer = exports.ethers = void 0; -// To modify this file, you must update ./misc/admin/lib/cmds/update-exports.js -var ethers = __importStar(__nccwpck_require__(26435)); -exports.ethers = ethers; -try { - var anyGlobal = window; - if (anyGlobal._ethers == null) { - anyGlobal._ethers = ethers; - } -} -catch (error) { } -var ethers_1 = __nccwpck_require__(26435); -Object.defineProperty(exports, "Signer", ({ enumerable: true, get: function () { return ethers_1.Signer; } })); -Object.defineProperty(exports, "Wallet", ({ enumerable: true, get: function () { return ethers_1.Wallet; } })); -Object.defineProperty(exports, "VoidSigner", ({ enumerable: true, get: function () { return ethers_1.VoidSigner; } })); -Object.defineProperty(exports, "getDefaultProvider", ({ enumerable: true, get: function () { return ethers_1.getDefaultProvider; } })); -Object.defineProperty(exports, "providers", ({ enumerable: true, get: function () { return ethers_1.providers; } })); -Object.defineProperty(exports, "BaseContract", ({ enumerable: true, get: function () { return ethers_1.BaseContract; } })); -Object.defineProperty(exports, "Contract", ({ enumerable: true, get: function () { return ethers_1.Contract; } })); -Object.defineProperty(exports, "ContractFactory", ({ enumerable: true, get: function () { return ethers_1.ContractFactory; } })); -Object.defineProperty(exports, "BigNumber", ({ enumerable: true, get: function () { return ethers_1.BigNumber; } })); -Object.defineProperty(exports, "FixedNumber", ({ enumerable: true, get: function () { return ethers_1.FixedNumber; } })); -Object.defineProperty(exports, "constants", ({ enumerable: true, get: function () { return ethers_1.constants; } })); -Object.defineProperty(exports, "errors", ({ enumerable: true, get: function () { return ethers_1.errors; } })); -Object.defineProperty(exports, "logger", ({ enumerable: true, get: function () { return ethers_1.logger; } })); -Object.defineProperty(exports, "utils", ({ enumerable: true, get: function () { return ethers_1.utils; } })); -Object.defineProperty(exports, "wordlists", ({ enumerable: true, get: function () { return ethers_1.wordlists; } })); -//////////////////////// -// Compile-Time Constants -Object.defineProperty(exports, "version", ({ enumerable: true, get: function () { return ethers_1.version; } })); -Object.defineProperty(exports, "Wordlist", ({ enumerable: true, get: function () { return ethers_1.Wordlist; } })); -//# sourceMappingURL=index.js.map - -/***/ }), - -/***/ 26341: -/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) { - - -var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); -}) : (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - o[k2] = m[k]; -})); -var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { - Object.defineProperty(o, "default", { enumerable: true, value: v }); -}) : function(o, v) { - o["default"] = v; -}); -var __importStar = (this && this.__importStar) || function (mod) { - if (mod && mod.__esModule) return mod; - var result = {}; - if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); - __setModuleDefault(result, mod); - return result; -}; -Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.formatBytes32String = exports.Utf8ErrorFuncs = exports.toUtf8String = exports.toUtf8CodePoints = exports.toUtf8Bytes = exports._toEscapedUtf8String = exports.nameprep = exports.hexDataSlice = exports.hexDataLength = exports.hexZeroPad = exports.hexValue = exports.hexStripZeros = exports.hexConcat = exports.isHexString = exports.hexlify = exports.base64 = exports.base58 = exports.TransactionDescription = exports.LogDescription = exports.Interface = exports.SigningKey = exports.HDNode = exports.defaultPath = exports.isBytesLike = exports.isBytes = exports.zeroPad = exports.stripZeros = exports.concat = exports.arrayify = exports.shallowCopy = exports.resolveProperties = exports.getStatic = exports.defineReadOnly = exports.deepCopy = exports.checkProperties = exports.poll = exports.fetchJson = exports._fetchData = exports.RLP = exports.Logger = exports.checkResultErrors = exports.FormatTypes = exports.ParamType = exports.FunctionFragment = exports.EventFragment = exports.ErrorFragment = exports.ConstructorFragment = exports.Fragment = exports.defaultAbiCoder = exports.AbiCoder = void 0; -exports.Indexed = exports.Utf8ErrorReason = exports.UnicodeNormalizationForm = exports.SupportedAlgorithm = exports.mnemonicToSeed = exports.isValidMnemonic = exports.entropyToMnemonic = exports.mnemonicToEntropy = exports.getAccountPath = exports.verifyTypedData = exports.verifyMessage = exports.recoverPublicKey = exports.computePublicKey = exports.recoverAddress = exports.computeAddress = exports.getJsonWalletAddress = exports.TransactionTypes = exports.serializeTransaction = exports.parseTransaction = exports.accessListify = exports.joinSignature = exports.splitSignature = exports.soliditySha256 = exports.solidityKeccak256 = exports.solidityPack = exports.shuffled = exports.randomBytes = exports.sha512 = exports.sha256 = exports.ripemd160 = exports.keccak256 = exports.computeHmac = exports.commify = exports.parseUnits = exports.formatUnits = exports.parseEther = exports.formatEther = exports.isAddress = exports.getCreate2Address = exports.getContractAddress = exports.getIcapAddress = exports.getAddress = exports._TypedDataEncoder = exports.id = exports.isValidName = exports.namehash = exports.hashMessage = exports.dnsEncode = exports.parseBytes32String = void 0; -var abi_1 = __nccwpck_require__(48602); -Object.defineProperty(exports, "AbiCoder", ({ enumerable: true, get: function () { return abi_1.AbiCoder; } })); -Object.defineProperty(exports, "checkResultErrors", ({ enumerable: true, get: function () { return abi_1.checkResultErrors; } })); -Object.defineProperty(exports, "ConstructorFragment", ({ enumerable: true, get: function () { return abi_1.ConstructorFragment; } })); -Object.defineProperty(exports, "defaultAbiCoder", ({ enumerable: true, get: function () { return abi_1.defaultAbiCoder; } })); -Object.defineProperty(exports, "ErrorFragment", ({ enumerable: true, get: function () { return abi_1.ErrorFragment; } })); -Object.defineProperty(exports, "EventFragment", ({ enumerable: true, get: function () { return abi_1.EventFragment; } })); -Object.defineProperty(exports, "FormatTypes", ({ enumerable: true, get: function () { return abi_1.FormatTypes; } })); -Object.defineProperty(exports, "Fragment", ({ enumerable: true, get: function () { return abi_1.Fragment; } })); -Object.defineProperty(exports, "FunctionFragment", ({ enumerable: true, get: function () { return abi_1.FunctionFragment; } })); -Object.defineProperty(exports, "Indexed", ({ enumerable: true, get: function () { return abi_1.Indexed; } })); -Object.defineProperty(exports, "Interface", ({ enumerable: true, get: function () { return abi_1.Interface; } })); -Object.defineProperty(exports, "LogDescription", ({ enumerable: true, get: function () { return abi_1.LogDescription; } })); -Object.defineProperty(exports, "ParamType", ({ enumerable: true, get: function () { return abi_1.ParamType; } })); -Object.defineProperty(exports, "TransactionDescription", ({ enumerable: true, get: function () { return abi_1.TransactionDescription; } })); -var address_1 = __nccwpck_require__(10056); -Object.defineProperty(exports, "getAddress", ({ enumerable: true, get: function () { return address_1.getAddress; } })); -Object.defineProperty(exports, "getCreate2Address", ({ enumerable: true, get: function () { return address_1.getCreate2Address; } })); -Object.defineProperty(exports, "getContractAddress", ({ enumerable: true, get: function () { return address_1.getContractAddress; } })); -Object.defineProperty(exports, "getIcapAddress", ({ enumerable: true, get: function () { return address_1.getIcapAddress; } })); -Object.defineProperty(exports, "isAddress", ({ enumerable: true, get: function () { return address_1.isAddress; } })); -var base64 = __importStar(__nccwpck_require__(14895)); -exports.base64 = base64; -var basex_1 = __nccwpck_require__(13807); -Object.defineProperty(exports, "base58", ({ enumerable: true, get: function () { return basex_1.Base58; } })); -var bytes_1 = __nccwpck_require__(69691); -Object.defineProperty(exports, "arrayify", ({ enumerable: true, get: function () { return bytes_1.arrayify; } })); -Object.defineProperty(exports, "concat", ({ enumerable: true, get: function () { return bytes_1.concat; } })); -Object.defineProperty(exports, "hexConcat", ({ enumerable: true, get: function () { return bytes_1.hexConcat; } })); -Object.defineProperty(exports, "hexDataSlice", ({ enumerable: true, get: function () { return bytes_1.hexDataSlice; } })); -Object.defineProperty(exports, "hexDataLength", ({ enumerable: true, get: function () { return bytes_1.hexDataLength; } })); -Object.defineProperty(exports, "hexlify", ({ enumerable: true, get: function () { return bytes_1.hexlify; } })); -Object.defineProperty(exports, "hexStripZeros", ({ enumerable: true, get: function () { return bytes_1.hexStripZeros; } })); -Object.defineProperty(exports, "hexValue", ({ enumerable: true, get: function () { return bytes_1.hexValue; } })); -Object.defineProperty(exports, "hexZeroPad", ({ enumerable: true, get: function () { return bytes_1.hexZeroPad; } })); -Object.defineProperty(exports, "isBytes", ({ enumerable: true, get: function () { return bytes_1.isBytes; } })); -Object.defineProperty(exports, "isBytesLike", ({ enumerable: true, get: function () { return bytes_1.isBytesLike; } })); -Object.defineProperty(exports, "isHexString", ({ enumerable: true, get: function () { return bytes_1.isHexString; } })); -Object.defineProperty(exports, "joinSignature", ({ enumerable: true, get: function () { return bytes_1.joinSignature; } })); -Object.defineProperty(exports, "zeroPad", ({ enumerable: true, get: function () { return bytes_1.zeroPad; } })); -Object.defineProperty(exports, "splitSignature", ({ enumerable: true, get: function () { return bytes_1.splitSignature; } })); -Object.defineProperty(exports, "stripZeros", ({ enumerable: true, get: function () { return bytes_1.stripZeros; } })); -var hash_1 = __nccwpck_require__(39144); -Object.defineProperty(exports, "_TypedDataEncoder", ({ enumerable: true, get: function () { return hash_1._TypedDataEncoder; } })); -Object.defineProperty(exports, "dnsEncode", ({ enumerable: true, get: function () { return hash_1.dnsEncode; } })); -Object.defineProperty(exports, "hashMessage", ({ enumerable: true, get: function () { return hash_1.hashMessage; } })); -Object.defineProperty(exports, "id", ({ enumerable: true, get: function () { return hash_1.id; } })); -Object.defineProperty(exports, "isValidName", ({ enumerable: true, get: function () { return hash_1.isValidName; } })); -Object.defineProperty(exports, "namehash", ({ enumerable: true, get: function () { return hash_1.namehash; } })); -var hdnode_1 = __nccwpck_require__(34456); -Object.defineProperty(exports, "defaultPath", ({ enumerable: true, get: function () { return hdnode_1.defaultPath; } })); -Object.defineProperty(exports, "entropyToMnemonic", ({ enumerable: true, get: function () { return hdnode_1.entropyToMnemonic; } })); -Object.defineProperty(exports, "getAccountPath", ({ enumerable: true, get: function () { return hdnode_1.getAccountPath; } })); -Object.defineProperty(exports, "HDNode", ({ enumerable: true, get: function () { return hdnode_1.HDNode; } })); -Object.defineProperty(exports, "isValidMnemonic", ({ enumerable: true, get: function () { return hdnode_1.isValidMnemonic; } })); -Object.defineProperty(exports, "mnemonicToEntropy", ({ enumerable: true, get: function () { return hdnode_1.mnemonicToEntropy; } })); -Object.defineProperty(exports, "mnemonicToSeed", ({ enumerable: true, get: function () { return hdnode_1.mnemonicToSeed; } })); -var json_wallets_1 = __nccwpck_require__(79393); -Object.defineProperty(exports, "getJsonWalletAddress", ({ enumerable: true, get: function () { return json_wallets_1.getJsonWalletAddress; } })); -var keccak256_1 = __nccwpck_require__(15815); -Object.defineProperty(exports, "keccak256", ({ enumerable: true, get: function () { return keccak256_1.keccak256; } })); -var logger_1 = __nccwpck_require__(8772); -Object.defineProperty(exports, "Logger", ({ enumerable: true, get: function () { return logger_1.Logger; } })); -var sha2_1 = __nccwpck_require__(16892); -Object.defineProperty(exports, "computeHmac", ({ enumerable: true, get: function () { return sha2_1.computeHmac; } })); -Object.defineProperty(exports, "ripemd160", ({ enumerable: true, get: function () { return sha2_1.ripemd160; } })); -Object.defineProperty(exports, "sha256", ({ enumerable: true, get: function () { return sha2_1.sha256; } })); -Object.defineProperty(exports, "sha512", ({ enumerable: true, get: function () { return sha2_1.sha512; } })); -var solidity_1 = __nccwpck_require__(48717); -Object.defineProperty(exports, "solidityKeccak256", ({ enumerable: true, get: function () { return solidity_1.keccak256; } })); -Object.defineProperty(exports, "solidityPack", ({ enumerable: true, get: function () { return solidity_1.pack; } })); -Object.defineProperty(exports, "soliditySha256", ({ enumerable: true, get: function () { return solidity_1.sha256; } })); -var random_1 = __nccwpck_require__(4364); -Object.defineProperty(exports, "randomBytes", ({ enumerable: true, get: function () { return random_1.randomBytes; } })); -Object.defineProperty(exports, "shuffled", ({ enumerable: true, get: function () { return random_1.shuffled; } })); -var properties_1 = __nccwpck_require__(54145); -Object.defineProperty(exports, "checkProperties", ({ enumerable: true, get: function () { return properties_1.checkProperties; } })); -Object.defineProperty(exports, "deepCopy", ({ enumerable: true, get: function () { return properties_1.deepCopy; } })); -Object.defineProperty(exports, "defineReadOnly", ({ enumerable: true, get: function () { return properties_1.defineReadOnly; } })); -Object.defineProperty(exports, "getStatic", ({ enumerable: true, get: function () { return properties_1.getStatic; } })); -Object.defineProperty(exports, "resolveProperties", ({ enumerable: true, get: function () { return properties_1.resolveProperties; } })); -Object.defineProperty(exports, "shallowCopy", ({ enumerable: true, get: function () { return properties_1.shallowCopy; } })); -var RLP = __importStar(__nccwpck_require__(99502)); -exports.RLP = RLP; -var signing_key_1 = __nccwpck_require__(8681); -Object.defineProperty(exports, "computePublicKey", ({ enumerable: true, get: function () { return signing_key_1.computePublicKey; } })); -Object.defineProperty(exports, "recoverPublicKey", ({ enumerable: true, get: function () { return signing_key_1.recoverPublicKey; } })); -Object.defineProperty(exports, "SigningKey", ({ enumerable: true, get: function () { return signing_key_1.SigningKey; } })); -var strings_1 = __nccwpck_require__(95578); -Object.defineProperty(exports, "formatBytes32String", ({ enumerable: true, get: function () { return strings_1.formatBytes32String; } })); -Object.defineProperty(exports, "nameprep", ({ enumerable: true, get: function () { return strings_1.nameprep; } })); -Object.defineProperty(exports, "parseBytes32String", ({ enumerable: true, get: function () { return strings_1.parseBytes32String; } })); -Object.defineProperty(exports, "_toEscapedUtf8String", ({ enumerable: true, get: function () { return strings_1._toEscapedUtf8String; } })); -Object.defineProperty(exports, "toUtf8Bytes", ({ enumerable: true, get: function () { return strings_1.toUtf8Bytes; } })); -Object.defineProperty(exports, "toUtf8CodePoints", ({ enumerable: true, get: function () { return strings_1.toUtf8CodePoints; } })); -Object.defineProperty(exports, "toUtf8String", ({ enumerable: true, get: function () { return strings_1.toUtf8String; } })); -Object.defineProperty(exports, "Utf8ErrorFuncs", ({ enumerable: true, get: function () { return strings_1.Utf8ErrorFuncs; } })); -var transactions_1 = __nccwpck_require__(55701); -Object.defineProperty(exports, "accessListify", ({ enumerable: true, get: function () { return transactions_1.accessListify; } })); -Object.defineProperty(exports, "computeAddress", ({ enumerable: true, get: function () { return transactions_1.computeAddress; } })); -Object.defineProperty(exports, "parseTransaction", ({ enumerable: true, get: function () { return transactions_1.parse; } })); -Object.defineProperty(exports, "recoverAddress", ({ enumerable: true, get: function () { return transactions_1.recoverAddress; } })); -Object.defineProperty(exports, "serializeTransaction", ({ enumerable: true, get: function () { return transactions_1.serialize; } })); -Object.defineProperty(exports, "TransactionTypes", ({ enumerable: true, get: function () { return transactions_1.TransactionTypes; } })); -var units_1 = __nccwpck_require__(84575); -Object.defineProperty(exports, "commify", ({ enumerable: true, get: function () { return units_1.commify; } })); -Object.defineProperty(exports, "formatEther", ({ enumerable: true, get: function () { return units_1.formatEther; } })); -Object.defineProperty(exports, "parseEther", ({ enumerable: true, get: function () { return units_1.parseEther; } })); -Object.defineProperty(exports, "formatUnits", ({ enumerable: true, get: function () { return units_1.formatUnits; } })); -Object.defineProperty(exports, "parseUnits", ({ enumerable: true, get: function () { return units_1.parseUnits; } })); -var wallet_1 = __nccwpck_require__(61009); -Object.defineProperty(exports, "verifyMessage", ({ enumerable: true, get: function () { return wallet_1.verifyMessage; } })); -Object.defineProperty(exports, "verifyTypedData", ({ enumerable: true, get: function () { return wallet_1.verifyTypedData; } })); -var web_1 = __nccwpck_require__(75570); -Object.defineProperty(exports, "_fetchData", ({ enumerable: true, get: function () { return web_1._fetchData; } })); -Object.defineProperty(exports, "fetchJson", ({ enumerable: true, get: function () { return web_1.fetchJson; } })); -Object.defineProperty(exports, "poll", ({ enumerable: true, get: function () { return web_1.poll; } })); -//////////////////////// -// Enums -var sha2_2 = __nccwpck_require__(16892); -Object.defineProperty(exports, "SupportedAlgorithm", ({ enumerable: true, get: function () { return sha2_2.SupportedAlgorithm; } })); -var strings_2 = __nccwpck_require__(95578); -Object.defineProperty(exports, "UnicodeNormalizationForm", ({ enumerable: true, get: function () { return strings_2.UnicodeNormalizationForm; } })); -Object.defineProperty(exports, "Utf8ErrorReason", ({ enumerable: true, get: function () { return strings_2.Utf8ErrorReason; } })); -//# sourceMappingURL=utils.js.map - -/***/ }), - -/***/ 85468: -/***/ ((module, exports) => { - -/** - * @author Toru Nagashima - * @copyright 2015 Toru Nagashima. All rights reserved. - * See LICENSE file in root directory for full license. - */ - - -Object.defineProperty(exports, "__esModule", ({ value: true })); - -/** - * @typedef {object} PrivateData - * @property {EventTarget} eventTarget The event target. - * @property {{type:string}} event The original event object. - * @property {number} eventPhase The current event phase. - * @property {EventTarget|null} currentTarget The current event target. - * @property {boolean} canceled The flag to prevent default. - * @property {boolean} stopped The flag to stop propagation. - * @property {boolean} immediateStopped The flag to stop propagation immediately. - * @property {Function|null} passiveListener The listener if the current listener is passive. Otherwise this is null. - * @property {number} timeStamp The unix time. - * @private - */ - -/** - * Private data for event wrappers. - * @type {WeakMap} - * @private - */ -const privateData = new WeakMap(); - -/** - * Cache for wrapper classes. - * @type {WeakMap} - * @private - */ -const wrappers = new WeakMap(); - -/** - * Get private data. - * @param {Event} event The event object to get private data. - * @returns {PrivateData} The private data of the event. - * @private - */ -function pd(event) { - const retv = privateData.get(event); - console.assert( - retv != null, - "'this' is expected an Event object, but got", - event - ); - return retv -} - -/** - * https://dom.spec.whatwg.org/#set-the-canceled-flag - * @param data {PrivateData} private data. - */ -function setCancelFlag(data) { - if (data.passiveListener != null) { - if ( - typeof console !== "undefined" && - typeof console.error === "function" - ) { - console.error( - "Unable to preventDefault inside passive event listener invocation.", - data.passiveListener - ); - } - return - } - if (!data.event.cancelable) { - return - } - - data.canceled = true; - if (typeof data.event.preventDefault === "function") { - data.event.preventDefault(); - } -} - -/** - * @see https://dom.spec.whatwg.org/#interface-event - * @private - */ -/** - * The event wrapper. - * @constructor - * @param {EventTarget} eventTarget The event target of this dispatching. - * @param {Event|{type:string}} event The original event to wrap. - */ -function Event(eventTarget, event) { - privateData.set(this, { - eventTarget, - event, - eventPhase: 2, - currentTarget: eventTarget, - canceled: false, - stopped: false, - immediateStopped: false, - passiveListener: null, - timeStamp: event.timeStamp || Date.now(), - }); - - // https://heycam.github.io/webidl/#Unforgeable - Object.defineProperty(this, "isTrusted", { value: false, enumerable: true }); - - // Define accessors - const keys = Object.keys(event); - for (let i = 0; i < keys.length; ++i) { - const key = keys[i]; - if (!(key in this)) { - Object.defineProperty(this, key, defineRedirectDescriptor(key)); - } - } -} - -// Should be enumerable, but class methods are not enumerable. -Event.prototype = { - /** - * The type of this event. - * @type {string} - */ - get type() { - return pd(this).event.type - }, - - /** - * The target of this event. - * @type {EventTarget} - */ - get target() { - return pd(this).eventTarget - }, - - /** - * The target of this event. - * @type {EventTarget} - */ - get currentTarget() { - return pd(this).currentTarget - }, - - /** - * @returns {EventTarget[]} The composed path of this event. - */ - composedPath() { - const currentTarget = pd(this).currentTarget; - if (currentTarget == null) { - return [] - } - return [currentTarget] - }, - - /** - * Constant of NONE. - * @type {number} - */ - get NONE() { - return 0 - }, - - /** - * Constant of CAPTURING_PHASE. - * @type {number} - */ - get CAPTURING_PHASE() { - return 1 - }, - - /** - * Constant of AT_TARGET. - * @type {number} - */ - get AT_TARGET() { - return 2 - }, - - /** - * Constant of BUBBLING_PHASE. - * @type {number} - */ - get BUBBLING_PHASE() { - return 3 - }, - - /** - * The target of this event. - * @type {number} - */ - get eventPhase() { - return pd(this).eventPhase - }, - - /** - * Stop event bubbling. - * @returns {void} - */ - stopPropagation() { - const data = pd(this); - - data.stopped = true; - if (typeof data.event.stopPropagation === "function") { - data.event.stopPropagation(); - } - }, - - /** - * Stop event bubbling. - * @returns {void} - */ - stopImmediatePropagation() { - const data = pd(this); - - data.stopped = true; - data.immediateStopped = true; - if (typeof data.event.stopImmediatePropagation === "function") { - data.event.stopImmediatePropagation(); - } - }, - - /** - * The flag to be bubbling. - * @type {boolean} - */ - get bubbles() { - return Boolean(pd(this).event.bubbles) - }, - - /** - * The flag to be cancelable. - * @type {boolean} - */ - get cancelable() { - return Boolean(pd(this).event.cancelable) - }, - - /** - * Cancel this event. - * @returns {void} - */ - preventDefault() { - setCancelFlag(pd(this)); - }, - - /** - * The flag to indicate cancellation state. - * @type {boolean} - */ - get defaultPrevented() { - return pd(this).canceled - }, - - /** - * The flag to be composed. - * @type {boolean} - */ - get composed() { - return Boolean(pd(this).event.composed) - }, - - /** - * The unix time of this event. - * @type {number} - */ - get timeStamp() { - return pd(this).timeStamp - }, - - /** - * The target of this event. - * @type {EventTarget} - * @deprecated - */ - get srcElement() { - return pd(this).eventTarget - }, - - /** - * The flag to stop event bubbling. - * @type {boolean} - * @deprecated - */ - get cancelBubble() { - return pd(this).stopped - }, - set cancelBubble(value) { - if (!value) { - return - } - const data = pd(this); - - data.stopped = true; - if (typeof data.event.cancelBubble === "boolean") { - data.event.cancelBubble = true; - } - }, - - /** - * The flag to indicate cancellation state. - * @type {boolean} - * @deprecated - */ - get returnValue() { - return !pd(this).canceled - }, - set returnValue(value) { - if (!value) { - setCancelFlag(pd(this)); - } - }, - - /** - * Initialize this event object. But do nothing under event dispatching. - * @param {string} type The event type. - * @param {boolean} [bubbles=false] The flag to be possible to bubble up. - * @param {boolean} [cancelable=false] The flag to be possible to cancel. - * @deprecated - */ - initEvent() { - // Do nothing. - }, -}; - -// `constructor` is not enumerable. -Object.defineProperty(Event.prototype, "constructor", { - value: Event, - configurable: true, - writable: true, -}); - -// Ensure `event instanceof window.Event` is `true`. -if (typeof window !== "undefined" && typeof window.Event !== "undefined") { - Object.setPrototypeOf(Event.prototype, window.Event.prototype); - - // Make association for wrappers. - wrappers.set(window.Event.prototype, Event); -} - -/** - * Get the property descriptor to redirect a given property. - * @param {string} key Property name to define property descriptor. - * @returns {PropertyDescriptor} The property descriptor to redirect the property. - * @private - */ -function defineRedirectDescriptor(key) { - return { - get() { - return pd(this).event[key] - }, - set(value) { - pd(this).event[key] = value; - }, - configurable: true, - enumerable: true, - } -} - -/** - * Get the property descriptor to call a given method property. - * @param {string} key Property name to define property descriptor. - * @returns {PropertyDescriptor} The property descriptor to call the method property. - * @private - */ -function defineCallDescriptor(key) { - return { - value() { - const event = pd(this).event; - return event[key].apply(event, arguments) - }, - configurable: true, - enumerable: true, - } -} - -/** - * Define new wrapper class. - * @param {Function} BaseEvent The base wrapper class. - * @param {Object} proto The prototype of the original event. - * @returns {Function} The defined wrapper class. - * @private - */ -function defineWrapper(BaseEvent, proto) { - const keys = Object.keys(proto); - if (keys.length === 0) { - return BaseEvent - } - - /** CustomEvent */ - function CustomEvent(eventTarget, event) { - BaseEvent.call(this, eventTarget, event); - } - - CustomEvent.prototype = Object.create(BaseEvent.prototype, { - constructor: { value: CustomEvent, configurable: true, writable: true }, - }); - - // Define accessors. - for (let i = 0; i < keys.length; ++i) { - const key = keys[i]; - if (!(key in BaseEvent.prototype)) { - const descriptor = Object.getOwnPropertyDescriptor(proto, key); - const isFunc = typeof descriptor.value === "function"; - Object.defineProperty( - CustomEvent.prototype, - key, - isFunc - ? defineCallDescriptor(key) - : defineRedirectDescriptor(key) - ); - } - } - - return CustomEvent -} - -/** - * Get the wrapper class of a given prototype. - * @param {Object} proto The prototype of the original event to get its wrapper. - * @returns {Function} The wrapper class. - * @private - */ -function getWrapper(proto) { - if (proto == null || proto === Object.prototype) { - return Event - } - - let wrapper = wrappers.get(proto); - if (wrapper == null) { - wrapper = defineWrapper(getWrapper(Object.getPrototypeOf(proto)), proto); - wrappers.set(proto, wrapper); - } - return wrapper -} - -/** - * Wrap a given event to management a dispatching. - * @param {EventTarget} eventTarget The event target of this dispatching. - * @param {Object} event The event to wrap. - * @returns {Event} The wrapper instance. - * @private - */ -function wrapEvent(eventTarget, event) { - const Wrapper = getWrapper(Object.getPrototypeOf(event)); - return new Wrapper(eventTarget, event) -} - -/** - * Get the immediateStopped flag of a given event. - * @param {Event} event The event to get. - * @returns {boolean} The flag to stop propagation immediately. - * @private - */ -function isStopped(event) { - return pd(event).immediateStopped -} - -/** - * Set the current event phase of a given event. - * @param {Event} event The event to set current target. - * @param {number} eventPhase New event phase. - * @returns {void} - * @private - */ -function setEventPhase(event, eventPhase) { - pd(event).eventPhase = eventPhase; -} - -/** - * Set the current target of a given event. - * @param {Event} event The event to set current target. - * @param {EventTarget|null} currentTarget New current target. - * @returns {void} - * @private - */ -function setCurrentTarget(event, currentTarget) { - pd(event).currentTarget = currentTarget; -} - -/** - * Set a passive listener of a given event. - * @param {Event} event The event to set current target. - * @param {Function|null} passiveListener New passive listener. - * @returns {void} - * @private - */ -function setPassiveListener(event, passiveListener) { - pd(event).passiveListener = passiveListener; -} - -/** - * @typedef {object} ListenerNode - * @property {Function} listener - * @property {1|2|3} listenerType - * @property {boolean} passive - * @property {boolean} once - * @property {ListenerNode|null} next - * @private - */ - -/** - * @type {WeakMap>} - * @private - */ -const listenersMap = new WeakMap(); - -// Listener types -const CAPTURE = 1; -const BUBBLE = 2; -const ATTRIBUTE = 3; - -/** - * Check whether a given value is an object or not. - * @param {any} x The value to check. - * @returns {boolean} `true` if the value is an object. - */ -function isObject(x) { - return x !== null && typeof x === "object" //eslint-disable-line no-restricted-syntax -} - -/** - * Get listeners. - * @param {EventTarget} eventTarget The event target to get. - * @returns {Map} The listeners. - * @private - */ -function getListeners(eventTarget) { - const listeners = listenersMap.get(eventTarget); - if (listeners == null) { - throw new TypeError( - "'this' is expected an EventTarget object, but got another value." - ) - } - return listeners -} - -/** - * Get the property descriptor for the event attribute of a given event. - * @param {string} eventName The event name to get property descriptor. - * @returns {PropertyDescriptor} The property descriptor. - * @private - */ -function defineEventAttributeDescriptor(eventName) { - return { - get() { - const listeners = getListeners(this); - let node = listeners.get(eventName); - while (node != null) { - if (node.listenerType === ATTRIBUTE) { - return node.listener - } - node = node.next; - } - return null - }, - - set(listener) { - if (typeof listener !== "function" && !isObject(listener)) { - listener = null; // eslint-disable-line no-param-reassign - } - const listeners = getListeners(this); - - // Traverse to the tail while removing old value. - let prev = null; - let node = listeners.get(eventName); - while (node != null) { - if (node.listenerType === ATTRIBUTE) { - // Remove old value. - if (prev !== null) { - prev.next = node.next; - } else if (node.next !== null) { - listeners.set(eventName, node.next); - } else { - listeners.delete(eventName); - } - } else { - prev = node; - } - - node = node.next; - } - - // Add new value. - if (listener !== null) { - const newNode = { - listener, - listenerType: ATTRIBUTE, - passive: false, - once: false, - next: null, - }; - if (prev === null) { - listeners.set(eventName, newNode); - } else { - prev.next = newNode; - } - } - }, - configurable: true, - enumerable: true, - } -} - -/** - * Define an event attribute (e.g. `eventTarget.onclick`). - * @param {Object} eventTargetPrototype The event target prototype to define an event attrbite. - * @param {string} eventName The event name to define. - * @returns {void} - */ -function defineEventAttribute(eventTargetPrototype, eventName) { - Object.defineProperty( - eventTargetPrototype, - `on${eventName}`, - defineEventAttributeDescriptor(eventName) - ); -} - -/** - * Define a custom EventTarget with event attributes. - * @param {string[]} eventNames Event names for event attributes. - * @returns {EventTarget} The custom EventTarget. - * @private - */ -function defineCustomEventTarget(eventNames) { - /** CustomEventTarget */ - function CustomEventTarget() { - EventTarget.call(this); - } - - CustomEventTarget.prototype = Object.create(EventTarget.prototype, { - constructor: { - value: CustomEventTarget, - configurable: true, - writable: true, - }, - }); - - for (let i = 0; i < eventNames.length; ++i) { - defineEventAttribute(CustomEventTarget.prototype, eventNames[i]); - } - - return CustomEventTarget -} - -/** - * EventTarget. - * - * - This is constructor if no arguments. - * - This is a function which returns a CustomEventTarget constructor if there are arguments. - * - * For example: - * - * class A extends EventTarget {} - * class B extends EventTarget("message") {} - * class C extends EventTarget("message", "error") {} - * class D extends EventTarget(["message", "error"]) {} - */ -function EventTarget() { - /*eslint-disable consistent-return */ - if (this instanceof EventTarget) { - listenersMap.set(this, new Map()); - return - } - if (arguments.length === 1 && Array.isArray(arguments[0])) { - return defineCustomEventTarget(arguments[0]) - } - if (arguments.length > 0) { - const types = new Array(arguments.length); - for (let i = 0; i < arguments.length; ++i) { - types[i] = arguments[i]; - } - return defineCustomEventTarget(types) - } - throw new TypeError("Cannot call a class as a function") - /*eslint-enable consistent-return */ -} - -// Should be enumerable, but class methods are not enumerable. -EventTarget.prototype = { - /** - * Add a given listener to this event target. - * @param {string} eventName The event name to add. - * @param {Function} listener The listener to add. - * @param {boolean|{capture?:boolean,passive?:boolean,once?:boolean}} [options] The options for this listener. - * @returns {void} - */ - addEventListener(eventName, listener, options) { - if (listener == null) { - return - } - if (typeof listener !== "function" && !isObject(listener)) { - throw new TypeError("'listener' should be a function or an object.") - } - - const listeners = getListeners(this); - const optionsIsObj = isObject(options); - const capture = optionsIsObj - ? Boolean(options.capture) - : Boolean(options); - const listenerType = capture ? CAPTURE : BUBBLE; - const newNode = { - listener, - listenerType, - passive: optionsIsObj && Boolean(options.passive), - once: optionsIsObj && Boolean(options.once), - next: null, - }; - - // Set it as the first node if the first node is null. - let node = listeners.get(eventName); - if (node === undefined) { - listeners.set(eventName, newNode); - return - } - - // Traverse to the tail while checking duplication.. - let prev = null; - while (node != null) { - if ( - node.listener === listener && - node.listenerType === listenerType - ) { - // Should ignore duplication. - return - } - prev = node; - node = node.next; - } - - // Add it. - prev.next = newNode; - }, - - /** - * Remove a given listener from this event target. - * @param {string} eventName The event name to remove. - * @param {Function} listener The listener to remove. - * @param {boolean|{capture?:boolean,passive?:boolean,once?:boolean}} [options] The options for this listener. - * @returns {void} - */ - removeEventListener(eventName, listener, options) { - if (listener == null) { - return - } - - const listeners = getListeners(this); - const capture = isObject(options) - ? Boolean(options.capture) - : Boolean(options); - const listenerType = capture ? CAPTURE : BUBBLE; - - let prev = null; - let node = listeners.get(eventName); - while (node != null) { - if ( - node.listener === listener && - node.listenerType === listenerType - ) { - if (prev !== null) { - prev.next = node.next; - } else if (node.next !== null) { - listeners.set(eventName, node.next); - } else { - listeners.delete(eventName); - } - return - } - - prev = node; - node = node.next; - } - }, - - /** - * Dispatch a given event. - * @param {Event|{type:string}} event The event to dispatch. - * @returns {boolean} `false` if canceled. - */ - dispatchEvent(event) { - if (event == null || typeof event.type !== "string") { - throw new TypeError('"event.type" should be a string.') - } - - // If listeners aren't registered, terminate. - const listeners = getListeners(this); - const eventName = event.type; - let node = listeners.get(eventName); - if (node == null) { - return true - } - - // Since we cannot rewrite several properties, so wrap object. - const wrappedEvent = wrapEvent(this, event); - - // This doesn't process capturing phase and bubbling phase. - // This isn't participating in a tree. - let prev = null; - while (node != null) { - // Remove this listener if it's once - if (node.once) { - if (prev !== null) { - prev.next = node.next; - } else if (node.next !== null) { - listeners.set(eventName, node.next); - } else { - listeners.delete(eventName); - } - } else { - prev = node; - } - - // Call this listener - setPassiveListener( - wrappedEvent, - node.passive ? node.listener : null - ); - if (typeof node.listener === "function") { - try { - node.listener.call(this, wrappedEvent); - } catch (err) { - if ( - typeof console !== "undefined" && - typeof console.error === "function" - ) { - console.error(err); - } - } - } else if ( - node.listenerType !== ATTRIBUTE && - typeof node.listener.handleEvent === "function" - ) { - node.listener.handleEvent(wrappedEvent); - } - - // Break if `event.stopImmediatePropagation` was called. - if (isStopped(wrappedEvent)) { - break - } - - node = node.next; - } - setPassiveListener(wrappedEvent, null); - setEventPhase(wrappedEvent, 0); - setCurrentTarget(wrappedEvent, null); - - return !wrappedEvent.defaultPrevented - }, -}; - -// `constructor` is not enumerable. -Object.defineProperty(EventTarget.prototype, "constructor", { - value: EventTarget, - configurable: true, - writable: true, -}); - -// Ensure `eventTarget instanceof window.EventTarget` is `true`. -if ( - typeof window !== "undefined" && - typeof window.EventTarget !== "undefined" -) { - Object.setPrototypeOf(EventTarget.prototype, window.EventTarget.prototype); -} - -exports.defineEventAttribute = defineEventAttribute; -exports.EventTarget = EventTarget; -exports["default"] = EventTarget; - -module.exports = EventTarget -module.exports.EventTarget = module.exports["default"] = EventTarget -module.exports.defineEventAttribute = defineEventAttribute -//# sourceMappingURL=event-target-shim.js.map - - -/***/ }), - -/***/ 52897: -/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { - -var CombinedStream = __nccwpck_require__(18481); -var util = __nccwpck_require__(39023); -var path = __nccwpck_require__(16928); -var http = __nccwpck_require__(58611); -var https = __nccwpck_require__(65692); -var parseUrl = (__nccwpck_require__(87016).parse); -var fs = __nccwpck_require__(79896); -var Stream = (__nccwpck_require__(2203).Stream); -var mime = __nccwpck_require__(74513); -var asynckit = __nccwpck_require__(37857); -var populate = __nccwpck_require__(75554); - -// Public API -module.exports = FormData; - -// make it a Stream -util.inherits(FormData, CombinedStream); - -/** - * Create readable "multipart/form-data" streams. - * Can be used to submit forms - * and file uploads to other web applications. - * - * @constructor - * @param {Object} options - Properties to be added/overriden for FormData and CombinedStream - */ -function FormData(options) { - if (!(this instanceof FormData)) { - return new FormData(options); - } - - this._overheadLength = 0; - this._valueLength = 0; - this._valuesToMeasure = []; - - CombinedStream.call(this); - - options = options || {}; - for (var option in options) { - this[option] = options[option]; - } -} - -FormData.LINE_BREAK = '\r\n'; -FormData.DEFAULT_CONTENT_TYPE = 'application/octet-stream'; - -FormData.prototype.append = function(field, value, options) { - - options = options || {}; - - // allow filename as single option - if (typeof options == 'string') { - options = {filename: options}; - } - - var append = CombinedStream.prototype.append.bind(this); - - // all that streamy business can't handle numbers - if (typeof value == 'number') { - value = '' + value; - } - - // https://github.com/felixge/node-form-data/issues/38 - if (Array.isArray(value)) { - // Please convert your array into string - // the way web server expects it - this._error(new Error('Arrays are not supported.')); - return; - } - - var header = this._multiPartHeader(field, value, options); - var footer = this._multiPartFooter(); - - append(header); - append(value); - append(footer); - - // pass along options.knownLength - this._trackLength(header, value, options); -}; - -FormData.prototype._trackLength = function(header, value, options) { - var valueLength = 0; - - // used w/ getLengthSync(), when length is known. - // e.g. for streaming directly from a remote server, - // w/ a known file a size, and not wanting to wait for - // incoming file to finish to get its size. - if (options.knownLength != null) { - valueLength += +options.knownLength; - } else if (Buffer.isBuffer(value)) { - valueLength = value.length; - } else if (typeof value === 'string') { - valueLength = Buffer.byteLength(value); - } - - this._valueLength += valueLength; - - // @check why add CRLF? does this account for custom/multiple CRLFs? - this._overheadLength += - Buffer.byteLength(header) + - FormData.LINE_BREAK.length; - - // empty or either doesn't have path or not an http response or not a stream - if (!value || ( !value.path && !(value.readable && value.hasOwnProperty('httpVersion')) && !(value instanceof Stream))) { - return; - } - - // no need to bother with the length - if (!options.knownLength) { - this._valuesToMeasure.push(value); - } -}; - -FormData.prototype._lengthRetriever = function(value, callback) { - - if (value.hasOwnProperty('fd')) { - - // take read range into a account - // `end` = Infinity –> read file till the end - // - // TODO: Looks like there is bug in Node fs.createReadStream - // it doesn't respect `end` options without `start` options - // Fix it when node fixes it. - // https://github.com/joyent/node/issues/7819 - if (value.end != undefined && value.end != Infinity && value.start != undefined) { - - // when end specified - // no need to calculate range - // inclusive, starts with 0 - callback(null, value.end + 1 - (value.start ? value.start : 0)); - - // not that fast snoopy - } else { - // still need to fetch file size from fs - fs.stat(value.path, function(err, stat) { - - var fileSize; - - if (err) { - callback(err); - return; - } - - // update final size based on the range options - fileSize = stat.size - (value.start ? value.start : 0); - callback(null, fileSize); - }); - } - - // or http response - } else if (value.hasOwnProperty('httpVersion')) { - callback(null, +value.headers['content-length']); - - // or request stream http://github.com/mikeal/request - } else if (value.hasOwnProperty('httpModule')) { - // wait till response come back - value.on('response', function(response) { - value.pause(); - callback(null, +response.headers['content-length']); - }); - value.resume(); - - // something else - } else { - callback('Unknown stream'); - } -}; - -FormData.prototype._multiPartHeader = function(field, value, options) { - // custom header specified (as string)? - // it becomes responsible for boundary - // (e.g. to handle extra CRLFs on .NET servers) - if (typeof options.header == 'string') { - return options.header; - } - - var contentDisposition = this._getContentDisposition(value, options); - var contentType = this._getContentType(value, options); - - var contents = ''; - var headers = { - // add custom disposition as third element or keep it two elements if not - 'Content-Disposition': ['form-data', 'name="' + field + '"'].concat(contentDisposition || []), - // if no content type. allow it to be empty array - 'Content-Type': [].concat(contentType || []) - }; - - // allow custom headers. - if (typeof options.header == 'object') { - populate(headers, options.header); - } - - var header; - for (var prop in headers) { - if (!headers.hasOwnProperty(prop)) continue; - header = headers[prop]; - - // skip nullish headers. - if (header == null) { - continue; - } - - // convert all headers to arrays. - if (!Array.isArray(header)) { - header = [header]; - } - - // add non-empty headers. - if (header.length) { - contents += prop + ': ' + header.join('; ') + FormData.LINE_BREAK; - } - } - - return '--' + this.getBoundary() + FormData.LINE_BREAK + contents + FormData.LINE_BREAK; -}; - -FormData.prototype._getContentDisposition = function(value, options) { - - var filename - , contentDisposition - ; - - if (typeof options.filepath === 'string') { - // custom filepath for relative paths - filename = path.normalize(options.filepath).replace(/\\/g, '/'); - } else if (options.filename || value.name || value.path) { - // custom filename take precedence - // formidable and the browser add a name property - // fs- and request- streams have path property - filename = path.basename(options.filename || value.name || value.path); - } else if (value.readable && value.hasOwnProperty('httpVersion')) { - // or try http response - filename = path.basename(value.client._httpMessage.path || ''); - } - - if (filename) { - contentDisposition = 'filename="' + filename + '"'; - } - - return contentDisposition; -}; - -FormData.prototype._getContentType = function(value, options) { - - // use custom content-type above all - var contentType = options.contentType; - - // or try `name` from formidable, browser - if (!contentType && value.name) { - contentType = mime.lookup(value.name); - } - - // or try `path` from fs-, request- streams - if (!contentType && value.path) { - contentType = mime.lookup(value.path); - } - - // or if it's http-reponse - if (!contentType && value.readable && value.hasOwnProperty('httpVersion')) { - contentType = value.headers['content-type']; - } - - // or guess it from the filepath or filename - if (!contentType && (options.filepath || options.filename)) { - contentType = mime.lookup(options.filepath || options.filename); - } - - // fallback to the default content type if `value` is not simple value - if (!contentType && typeof value == 'object') { - contentType = FormData.DEFAULT_CONTENT_TYPE; - } - - return contentType; -}; - -FormData.prototype._multiPartFooter = function() { - return function(next) { - var footer = FormData.LINE_BREAK; - - var lastPart = (this._streams.length === 0); - if (lastPart) { - footer += this._lastBoundary(); - } - - next(footer); - }.bind(this); -}; - -FormData.prototype._lastBoundary = function() { - return '--' + this.getBoundary() + '--' + FormData.LINE_BREAK; -}; - -FormData.prototype.getHeaders = function(userHeaders) { - var header; - var formHeaders = { - 'content-type': 'multipart/form-data; boundary=' + this.getBoundary() - }; - - for (header in userHeaders) { - if (userHeaders.hasOwnProperty(header)) { - formHeaders[header.toLowerCase()] = userHeaders[header]; - } - } - - return formHeaders; -}; - -FormData.prototype.setBoundary = function(boundary) { - this._boundary = boundary; -}; - -FormData.prototype.getBoundary = function() { - if (!this._boundary) { - this._generateBoundary(); - } - - return this._boundary; -}; - -FormData.prototype.getBuffer = function() { - var dataBuffer = new Buffer.alloc( 0 ); - var boundary = this.getBoundary(); - - // Create the form content. Add Line breaks to the end of data. - for (var i = 0, len = this._streams.length; i < len; i++) { - if (typeof this._streams[i] !== 'function') { - - // Add content to the buffer. - if(Buffer.isBuffer(this._streams[i])) { - dataBuffer = Buffer.concat( [dataBuffer, this._streams[i]]); - }else { - dataBuffer = Buffer.concat( [dataBuffer, Buffer.from(this._streams[i])]); - } - - // Add break after content. - if (typeof this._streams[i] !== 'string' || this._streams[i].substring( 2, boundary.length + 2 ) !== boundary) { - dataBuffer = Buffer.concat( [dataBuffer, Buffer.from(FormData.LINE_BREAK)] ); - } - } - } - - // Add the footer and return the Buffer object. - return Buffer.concat( [dataBuffer, Buffer.from(this._lastBoundary())] ); -}; - -FormData.prototype._generateBoundary = function() { - // This generates a 50 character boundary similar to those used by Firefox. - // They are optimized for boyer-moore parsing. - var boundary = '--------------------------'; - for (var i = 0; i < 24; i++) { - boundary += Math.floor(Math.random() * 10).toString(16); - } - - this._boundary = boundary; -}; - -// Note: getLengthSync DOESN'T calculate streams length -// As workaround one can calculate file size manually -// and add it as knownLength option -FormData.prototype.getLengthSync = function() { - var knownLength = this._overheadLength + this._valueLength; - - // Don't get confused, there are 3 "internal" streams for each keyval pair - // so it basically checks if there is any value added to the form - if (this._streams.length) { - knownLength += this._lastBoundary().length; - } - - // https://github.com/form-data/form-data/issues/40 - if (!this.hasKnownLength()) { - // Some async length retrievers are present - // therefore synchronous length calculation is false. - // Please use getLength(callback) to get proper length - this._error(new Error('Cannot calculate proper length in synchronous way.')); - } - - return knownLength; -}; - -// Public API to check if length of added values is known -// https://github.com/form-data/form-data/issues/196 -// https://github.com/form-data/form-data/issues/262 -FormData.prototype.hasKnownLength = function() { - var hasKnownLength = true; - - if (this._valuesToMeasure.length) { - hasKnownLength = false; - } - - return hasKnownLength; -}; - -FormData.prototype.getLength = function(cb) { - var knownLength = this._overheadLength + this._valueLength; - - if (this._streams.length) { - knownLength += this._lastBoundary().length; - } - - if (!this._valuesToMeasure.length) { - process.nextTick(cb.bind(this, null, knownLength)); - return; - } - - asynckit.parallel(this._valuesToMeasure, this._lengthRetriever, function(err, values) { - if (err) { - cb(err); - return; - } - - values.forEach(function(length) { - knownLength += length; - }); - - cb(null, knownLength); - }); -}; - -FormData.prototype.submit = function(params, cb) { - var request - , options - , defaults = {method: 'post'} - ; - - // parse provided url if it's string - // or treat it as options object - if (typeof params == 'string') { - - params = parseUrl(params); - options = populate({ - port: params.port, - path: params.pathname, - host: params.hostname, - protocol: params.protocol - }, defaults); - - // use custom params - } else { - - options = populate(params, defaults); - // if no port provided use default one - if (!options.port) { - options.port = options.protocol == 'https:' ? 443 : 80; - } - } - - // put that good code in getHeaders to some use - options.headers = this.getHeaders(params.headers); - - // https if specified, fallback to http in any other case - if (options.protocol == 'https:') { - request = https.request(options); - } else { - request = http.request(options); - } - - // get content length and fire away - this.getLength(function(err, length) { - if (err && err !== 'Unknown stream') { - this._error(err); - return; - } - - // add content length - if (length) { - request.setHeader('Content-Length', length); - } - - this.pipe(request); - if (cb) { - var onResponse; - - var callback = function (error, responce) { - request.removeListener('error', callback); - request.removeListener('response', onResponse); - - return cb.call(this, error, responce); - }; - - onResponse = callback.bind(this, null); - - request.on('error', callback); - request.on('response', onResponse); - } - }.bind(this)); - - return request; -}; - -FormData.prototype._error = function(err) { - if (!this.error) { - this.error = err; - this.pause(); - this.emit('error', err); - } -}; - -FormData.prototype.toString = function () { - return '[object FormData]'; -}; - - -/***/ }), - -/***/ 75554: -/***/ ((module) => { - -// populates missing values -module.exports = function(dst, src) { - - Object.keys(src).forEach(function(prop) - { - dst[prop] = dst[prop] || src[prop]; - }); - - return dst; -}; - - -/***/ }), - -/***/ 66060: -/***/ ((module) => { - - - -module.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); -}; - - -/***/ }), - -/***/ 95632: -/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { - -var hash = exports; - -hash.utils = __nccwpck_require__(99346); -hash.common = __nccwpck_require__(5958); -hash.sha = __nccwpck_require__(38597); -hash.ripemd = __nccwpck_require__(39536); -hash.hmac = __nccwpck_require__(91044); - -// Proxy hash functions to the main object -hash.sha1 = hash.sha.sha1; -hash.sha256 = hash.sha.sha256; -hash.sha224 = hash.sha.sha224; -hash.sha384 = hash.sha.sha384; -hash.sha512 = hash.sha.sha512; -hash.ripemd160 = hash.ripemd.ripemd160; - - -/***/ }), - -/***/ 5958: -/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { - - - -var utils = __nccwpck_require__(99346); -var assert = __nccwpck_require__(72293); - -function BlockHash() { - this.pending = null; - this.pendingTotal = 0; - this.blockSize = this.constructor.blockSize; - this.outSize = this.constructor.outSize; - this.hmacStrength = this.constructor.hmacStrength; - this.padLength = this.constructor.padLength / 8; - this.endian = 'big'; - - this._delta8 = this.blockSize / 8; - this._delta32 = this.blockSize / 32; -} -exports.BlockHash = BlockHash; - -BlockHash.prototype.update = function update(msg, enc) { - // Convert message to array, pad it, and join into 32bit blocks - msg = utils.toArray(msg, enc); - if (!this.pending) - this.pending = msg; - else - this.pending = this.pending.concat(msg); - this.pendingTotal += msg.length; - - // Enough data, try updating - if (this.pending.length >= this._delta8) { - msg = this.pending; - - // Process pending data in blocks - var r = msg.length % this._delta8; - this.pending = msg.slice(msg.length - r, msg.length); - if (this.pending.length === 0) - this.pending = null; - - msg = utils.join32(msg, 0, msg.length - r, this.endian); - for (var i = 0; i < msg.length; i += this._delta32) - this._update(msg, i, i + this._delta32); - } - - return this; -}; - -BlockHash.prototype.digest = function digest(enc) { - this.update(this._pad()); - assert(this.pending === null); - - return this._digest(enc); -}; - -BlockHash.prototype._pad = function pad() { - var len = this.pendingTotal; - var bytes = this._delta8; - var k = bytes - ((len + this.padLength) % bytes); - var res = new Array(k + this.padLength); - res[0] = 0x80; - for (var i = 1; i < k; i++) - res[i] = 0; - - // Append length - len <<= 3; - if (this.endian === 'big') { - for (var t = 8; t < this.padLength; t++) - res[i++] = 0; - - res[i++] = 0; - res[i++] = 0; - res[i++] = 0; - res[i++] = 0; - res[i++] = (len >>> 24) & 0xff; - res[i++] = (len >>> 16) & 0xff; - res[i++] = (len >>> 8) & 0xff; - res[i++] = len & 0xff; - } else { - res[i++] = len & 0xff; - res[i++] = (len >>> 8) & 0xff; - res[i++] = (len >>> 16) & 0xff; - res[i++] = (len >>> 24) & 0xff; - res[i++] = 0; - res[i++] = 0; - res[i++] = 0; - res[i++] = 0; - - for (t = 8; t < this.padLength; t++) - res[i++] = 0; - } - - return res; -}; - - -/***/ }), - -/***/ 91044: -/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { - - - -var utils = __nccwpck_require__(99346); -var assert = __nccwpck_require__(72293); - -function Hmac(hash, key, enc) { - if (!(this instanceof Hmac)) - return new Hmac(hash, key, enc); - this.Hash = hash; - this.blockSize = hash.blockSize / 8; - this.outSize = hash.outSize / 8; - this.inner = null; - this.outer = null; - - this._init(utils.toArray(key, enc)); -} -module.exports = Hmac; - -Hmac.prototype._init = function init(key) { - // Shorten key, if needed - if (key.length > this.blockSize) - key = new this.Hash().update(key).digest(); - assert(key.length <= this.blockSize); - - // Add padding to key - for (var i = key.length; i < this.blockSize; i++) - key.push(0); - - for (i = 0; i < key.length; i++) - key[i] ^= 0x36; - this.inner = new this.Hash().update(key); - - // 0x36 ^ 0x5c = 0x6a - for (i = 0; i < key.length; i++) - key[i] ^= 0x6a; - this.outer = new this.Hash().update(key); -}; - -Hmac.prototype.update = function update(msg, enc) { - this.inner.update(msg, enc); - return this; -}; - -Hmac.prototype.digest = function digest(enc) { - this.outer.update(this.inner.digest()); - return this.outer.digest(enc); -}; - - -/***/ }), - -/***/ 39536: -/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { - - - -var utils = __nccwpck_require__(99346); -var common = __nccwpck_require__(5958); - -var rotl32 = utils.rotl32; -var sum32 = utils.sum32; -var sum32_3 = utils.sum32_3; -var sum32_4 = utils.sum32_4; -var BlockHash = common.BlockHash; - -function RIPEMD160() { - if (!(this instanceof RIPEMD160)) - return new RIPEMD160(); - - BlockHash.call(this); - - this.h = [ 0x67452301, 0xefcdab89, 0x98badcfe, 0x10325476, 0xc3d2e1f0 ]; - this.endian = 'little'; -} -utils.inherits(RIPEMD160, BlockHash); -exports.ripemd160 = RIPEMD160; - -RIPEMD160.blockSize = 512; -RIPEMD160.outSize = 160; -RIPEMD160.hmacStrength = 192; -RIPEMD160.padLength = 64; - -RIPEMD160.prototype._update = function update(msg, start) { - var A = this.h[0]; - var B = this.h[1]; - var C = this.h[2]; - var D = this.h[3]; - var E = this.h[4]; - var Ah = A; - var Bh = B; - var Ch = C; - var Dh = D; - var Eh = E; - for (var j = 0; j < 80; j++) { - var T = sum32( - rotl32( - sum32_4(A, f(j, B, C, D), msg[r[j] + start], K(j)), - s[j]), - E); - A = E; - E = D; - D = rotl32(C, 10); - C = B; - B = T; - T = sum32( - rotl32( - sum32_4(Ah, f(79 - j, Bh, Ch, Dh), msg[rh[j] + start], Kh(j)), - sh[j]), - Eh); - Ah = Eh; - Eh = Dh; - Dh = rotl32(Ch, 10); - Ch = Bh; - Bh = T; - } - T = sum32_3(this.h[1], C, Dh); - this.h[1] = sum32_3(this.h[2], D, Eh); - this.h[2] = sum32_3(this.h[3], E, Ah); - this.h[3] = sum32_3(this.h[4], A, Bh); - this.h[4] = sum32_3(this.h[0], B, Ch); - this.h[0] = T; -}; - -RIPEMD160.prototype._digest = function digest(enc) { - if (enc === 'hex') - return utils.toHex32(this.h, 'little'); - else - return utils.split32(this.h, 'little'); -}; - -function f(j, x, y, z) { - if (j <= 15) - return x ^ y ^ z; - else if (j <= 31) - return (x & y) | ((~x) & z); - else if (j <= 47) - return (x | (~y)) ^ z; - else if (j <= 63) - return (x & z) | (y & (~z)); - else - return x ^ (y | (~z)); -} - -function K(j) { - if (j <= 15) - return 0x00000000; - else if (j <= 31) - return 0x5a827999; - else if (j <= 47) - return 0x6ed9eba1; - else if (j <= 63) - return 0x8f1bbcdc; - else - return 0xa953fd4e; -} - -function Kh(j) { - if (j <= 15) - return 0x50a28be6; - else if (j <= 31) - return 0x5c4dd124; - else if (j <= 47) - return 0x6d703ef3; - else if (j <= 63) - return 0x7a6d76e9; - else - return 0x00000000; -} - -var r = [ - 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, - 7, 4, 13, 1, 10, 6, 15, 3, 12, 0, 9, 5, 2, 14, 11, 8, - 3, 10, 14, 4, 9, 15, 8, 1, 2, 7, 0, 6, 13, 11, 5, 12, - 1, 9, 11, 10, 0, 8, 12, 4, 13, 3, 7, 15, 14, 5, 6, 2, - 4, 0, 5, 9, 7, 12, 2, 10, 14, 1, 3, 8, 11, 6, 15, 13 -]; - -var rh = [ - 5, 14, 7, 0, 9, 2, 11, 4, 13, 6, 15, 8, 1, 10, 3, 12, - 6, 11, 3, 7, 0, 13, 5, 10, 14, 15, 8, 12, 4, 9, 1, 2, - 15, 5, 1, 3, 7, 14, 6, 9, 11, 8, 12, 2, 10, 0, 4, 13, - 8, 6, 4, 1, 3, 11, 15, 0, 5, 12, 2, 13, 9, 7, 10, 14, - 12, 15, 10, 4, 1, 5, 8, 7, 6, 2, 13, 14, 0, 3, 9, 11 -]; - -var s = [ - 11, 14, 15, 12, 5, 8, 7, 9, 11, 13, 14, 15, 6, 7, 9, 8, - 7, 6, 8, 13, 11, 9, 7, 15, 7, 12, 15, 9, 11, 7, 13, 12, - 11, 13, 6, 7, 14, 9, 13, 15, 14, 8, 13, 6, 5, 12, 7, 5, - 11, 12, 14, 15, 14, 15, 9, 8, 9, 14, 5, 6, 8, 6, 5, 12, - 9, 15, 5, 11, 6, 8, 13, 12, 5, 12, 13, 14, 11, 8, 5, 6 -]; - -var sh = [ - 8, 9, 9, 11, 13, 15, 15, 5, 7, 7, 8, 11, 14, 14, 12, 6, - 9, 13, 15, 7, 12, 8, 9, 11, 7, 7, 12, 7, 6, 15, 13, 11, - 9, 7, 15, 11, 8, 6, 6, 14, 12, 13, 5, 14, 13, 13, 7, 5, - 15, 5, 8, 11, 14, 14, 6, 14, 6, 9, 12, 9, 12, 5, 15, 8, - 8, 5, 12, 9, 12, 5, 14, 6, 8, 13, 6, 5, 15, 13, 11, 11 -]; - - -/***/ }), - -/***/ 38597: -/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { - - - -exports.sha1 = __nccwpck_require__(84317); -exports.sha224 = __nccwpck_require__(73810); -exports.sha256 = __nccwpck_require__(38239); -exports.sha384 = __nccwpck_require__(80967); -exports.sha512 = __nccwpck_require__(74742); - - -/***/ }), - -/***/ 84317: -/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { - - - -var utils = __nccwpck_require__(99346); -var common = __nccwpck_require__(5958); -var shaCommon = __nccwpck_require__(13889); - -var rotl32 = utils.rotl32; -var sum32 = utils.sum32; -var sum32_5 = utils.sum32_5; -var ft_1 = shaCommon.ft_1; -var BlockHash = common.BlockHash; - -var sha1_K = [ - 0x5A827999, 0x6ED9EBA1, - 0x8F1BBCDC, 0xCA62C1D6 -]; - -function SHA1() { - if (!(this instanceof SHA1)) - return new SHA1(); - - BlockHash.call(this); - this.h = [ - 0x67452301, 0xefcdab89, 0x98badcfe, - 0x10325476, 0xc3d2e1f0 ]; - this.W = new Array(80); -} - -utils.inherits(SHA1, BlockHash); -module.exports = SHA1; - -SHA1.blockSize = 512; -SHA1.outSize = 160; -SHA1.hmacStrength = 80; -SHA1.padLength = 64; - -SHA1.prototype._update = function _update(msg, start) { - var W = this.W; - - for (var i = 0; i < 16; i++) - W[i] = msg[start + i]; - - for(; i < W.length; i++) - W[i] = rotl32(W[i - 3] ^ W[i - 8] ^ W[i - 14] ^ W[i - 16], 1); - - var a = this.h[0]; - var b = this.h[1]; - var c = this.h[2]; - var d = this.h[3]; - var e = this.h[4]; - - for (i = 0; i < W.length; i++) { - var s = ~~(i / 20); - var t = sum32_5(rotl32(a, 5), ft_1(s, b, c, d), e, W[i], sha1_K[s]); - e = d; - d = c; - c = rotl32(b, 30); - b = a; - a = t; - } - - this.h[0] = sum32(this.h[0], a); - this.h[1] = sum32(this.h[1], b); - this.h[2] = sum32(this.h[2], c); - this.h[3] = sum32(this.h[3], d); - this.h[4] = sum32(this.h[4], e); -}; - -SHA1.prototype._digest = function digest(enc) { - if (enc === 'hex') - return utils.toHex32(this.h, 'big'); - else - return utils.split32(this.h, 'big'); -}; - - -/***/ }), - -/***/ 73810: -/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { - - - -var utils = __nccwpck_require__(99346); -var SHA256 = __nccwpck_require__(38239); - -function SHA224() { - if (!(this instanceof SHA224)) - return new SHA224(); - - SHA256.call(this); - this.h = [ - 0xc1059ed8, 0x367cd507, 0x3070dd17, 0xf70e5939, - 0xffc00b31, 0x68581511, 0x64f98fa7, 0xbefa4fa4 ]; -} -utils.inherits(SHA224, SHA256); -module.exports = SHA224; - -SHA224.blockSize = 512; -SHA224.outSize = 224; -SHA224.hmacStrength = 192; -SHA224.padLength = 64; - -SHA224.prototype._digest = function digest(enc) { - // Just truncate output - if (enc === 'hex') - return utils.toHex32(this.h.slice(0, 7), 'big'); - else - return utils.split32(this.h.slice(0, 7), 'big'); -}; - - - -/***/ }), - -/***/ 38239: -/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { - - - -var utils = __nccwpck_require__(99346); -var common = __nccwpck_require__(5958); -var shaCommon = __nccwpck_require__(13889); -var assert = __nccwpck_require__(72293); - -var sum32 = utils.sum32; -var sum32_4 = utils.sum32_4; -var sum32_5 = utils.sum32_5; -var ch32 = shaCommon.ch32; -var maj32 = shaCommon.maj32; -var s0_256 = shaCommon.s0_256; -var s1_256 = shaCommon.s1_256; -var g0_256 = shaCommon.g0_256; -var g1_256 = shaCommon.g1_256; - -var BlockHash = common.BlockHash; - -var sha256_K = [ - 0x428a2f98, 0x71374491, 0xb5c0fbcf, 0xe9b5dba5, - 0x3956c25b, 0x59f111f1, 0x923f82a4, 0xab1c5ed5, - 0xd807aa98, 0x12835b01, 0x243185be, 0x550c7dc3, - 0x72be5d74, 0x80deb1fe, 0x9bdc06a7, 0xc19bf174, - 0xe49b69c1, 0xefbe4786, 0x0fc19dc6, 0x240ca1cc, - 0x2de92c6f, 0x4a7484aa, 0x5cb0a9dc, 0x76f988da, - 0x983e5152, 0xa831c66d, 0xb00327c8, 0xbf597fc7, - 0xc6e00bf3, 0xd5a79147, 0x06ca6351, 0x14292967, - 0x27b70a85, 0x2e1b2138, 0x4d2c6dfc, 0x53380d13, - 0x650a7354, 0x766a0abb, 0x81c2c92e, 0x92722c85, - 0xa2bfe8a1, 0xa81a664b, 0xc24b8b70, 0xc76c51a3, - 0xd192e819, 0xd6990624, 0xf40e3585, 0x106aa070, - 0x19a4c116, 0x1e376c08, 0x2748774c, 0x34b0bcb5, - 0x391c0cb3, 0x4ed8aa4a, 0x5b9cca4f, 0x682e6ff3, - 0x748f82ee, 0x78a5636f, 0x84c87814, 0x8cc70208, - 0x90befffa, 0xa4506ceb, 0xbef9a3f7, 0xc67178f2 -]; - -function SHA256() { - if (!(this instanceof SHA256)) - return new SHA256(); - - BlockHash.call(this); - this.h = [ - 0x6a09e667, 0xbb67ae85, 0x3c6ef372, 0xa54ff53a, - 0x510e527f, 0x9b05688c, 0x1f83d9ab, 0x5be0cd19 - ]; - this.k = sha256_K; - this.W = new Array(64); -} -utils.inherits(SHA256, BlockHash); -module.exports = SHA256; - -SHA256.blockSize = 512; -SHA256.outSize = 256; -SHA256.hmacStrength = 192; -SHA256.padLength = 64; - -SHA256.prototype._update = function _update(msg, start) { - var W = this.W; - - for (var i = 0; i < 16; i++) - W[i] = msg[start + i]; - for (; i < W.length; i++) - W[i] = sum32_4(g1_256(W[i - 2]), W[i - 7], g0_256(W[i - 15]), W[i - 16]); - - var a = this.h[0]; - var b = this.h[1]; - var c = this.h[2]; - var d = this.h[3]; - var e = this.h[4]; - var f = this.h[5]; - var g = this.h[6]; - var h = this.h[7]; - - assert(this.k.length === W.length); - for (i = 0; i < W.length; i++) { - var T1 = sum32_5(h, s1_256(e), ch32(e, f, g), this.k[i], W[i]); - var T2 = sum32(s0_256(a), maj32(a, b, c)); - h = g; - g = f; - f = e; - e = sum32(d, T1); - d = c; - c = b; - b = a; - a = sum32(T1, T2); - } - - this.h[0] = sum32(this.h[0], a); - this.h[1] = sum32(this.h[1], b); - this.h[2] = sum32(this.h[2], c); - this.h[3] = sum32(this.h[3], d); - this.h[4] = sum32(this.h[4], e); - this.h[5] = sum32(this.h[5], f); - this.h[6] = sum32(this.h[6], g); - this.h[7] = sum32(this.h[7], h); -}; - -SHA256.prototype._digest = function digest(enc) { - if (enc === 'hex') - return utils.toHex32(this.h, 'big'); - else - return utils.split32(this.h, 'big'); -}; - - -/***/ }), - -/***/ 80967: -/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { - - - -var utils = __nccwpck_require__(99346); - -var SHA512 = __nccwpck_require__(74742); - -function SHA384() { - if (!(this instanceof SHA384)) - return new SHA384(); - - SHA512.call(this); - this.h = [ - 0xcbbb9d5d, 0xc1059ed8, - 0x629a292a, 0x367cd507, - 0x9159015a, 0x3070dd17, - 0x152fecd8, 0xf70e5939, - 0x67332667, 0xffc00b31, - 0x8eb44a87, 0x68581511, - 0xdb0c2e0d, 0x64f98fa7, - 0x47b5481d, 0xbefa4fa4 ]; -} -utils.inherits(SHA384, SHA512); -module.exports = SHA384; - -SHA384.blockSize = 1024; -SHA384.outSize = 384; -SHA384.hmacStrength = 192; -SHA384.padLength = 128; - -SHA384.prototype._digest = function digest(enc) { - if (enc === 'hex') - return utils.toHex32(this.h.slice(0, 12), 'big'); - else - return utils.split32(this.h.slice(0, 12), 'big'); -}; - - -/***/ }), - -/***/ 74742: -/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { - - - -var utils = __nccwpck_require__(99346); -var common = __nccwpck_require__(5958); -var assert = __nccwpck_require__(72293); - -var rotr64_hi = utils.rotr64_hi; -var rotr64_lo = utils.rotr64_lo; -var shr64_hi = utils.shr64_hi; -var shr64_lo = utils.shr64_lo; -var sum64 = utils.sum64; -var sum64_hi = utils.sum64_hi; -var sum64_lo = utils.sum64_lo; -var sum64_4_hi = utils.sum64_4_hi; -var sum64_4_lo = utils.sum64_4_lo; -var sum64_5_hi = utils.sum64_5_hi; -var sum64_5_lo = utils.sum64_5_lo; - -var BlockHash = common.BlockHash; - -var sha512_K = [ - 0x428a2f98, 0xd728ae22, 0x71374491, 0x23ef65cd, - 0xb5c0fbcf, 0xec4d3b2f, 0xe9b5dba5, 0x8189dbbc, - 0x3956c25b, 0xf348b538, 0x59f111f1, 0xb605d019, - 0x923f82a4, 0xaf194f9b, 0xab1c5ed5, 0xda6d8118, - 0xd807aa98, 0xa3030242, 0x12835b01, 0x45706fbe, - 0x243185be, 0x4ee4b28c, 0x550c7dc3, 0xd5ffb4e2, - 0x72be5d74, 0xf27b896f, 0x80deb1fe, 0x3b1696b1, - 0x9bdc06a7, 0x25c71235, 0xc19bf174, 0xcf692694, - 0xe49b69c1, 0x9ef14ad2, 0xefbe4786, 0x384f25e3, - 0x0fc19dc6, 0x8b8cd5b5, 0x240ca1cc, 0x77ac9c65, - 0x2de92c6f, 0x592b0275, 0x4a7484aa, 0x6ea6e483, - 0x5cb0a9dc, 0xbd41fbd4, 0x76f988da, 0x831153b5, - 0x983e5152, 0xee66dfab, 0xa831c66d, 0x2db43210, - 0xb00327c8, 0x98fb213f, 0xbf597fc7, 0xbeef0ee4, - 0xc6e00bf3, 0x3da88fc2, 0xd5a79147, 0x930aa725, - 0x06ca6351, 0xe003826f, 0x14292967, 0x0a0e6e70, - 0x27b70a85, 0x46d22ffc, 0x2e1b2138, 0x5c26c926, - 0x4d2c6dfc, 0x5ac42aed, 0x53380d13, 0x9d95b3df, - 0x650a7354, 0x8baf63de, 0x766a0abb, 0x3c77b2a8, - 0x81c2c92e, 0x47edaee6, 0x92722c85, 0x1482353b, - 0xa2bfe8a1, 0x4cf10364, 0xa81a664b, 0xbc423001, - 0xc24b8b70, 0xd0f89791, 0xc76c51a3, 0x0654be30, - 0xd192e819, 0xd6ef5218, 0xd6990624, 0x5565a910, - 0xf40e3585, 0x5771202a, 0x106aa070, 0x32bbd1b8, - 0x19a4c116, 0xb8d2d0c8, 0x1e376c08, 0x5141ab53, - 0x2748774c, 0xdf8eeb99, 0x34b0bcb5, 0xe19b48a8, - 0x391c0cb3, 0xc5c95a63, 0x4ed8aa4a, 0xe3418acb, - 0x5b9cca4f, 0x7763e373, 0x682e6ff3, 0xd6b2b8a3, - 0x748f82ee, 0x5defb2fc, 0x78a5636f, 0x43172f60, - 0x84c87814, 0xa1f0ab72, 0x8cc70208, 0x1a6439ec, - 0x90befffa, 0x23631e28, 0xa4506ceb, 0xde82bde9, - 0xbef9a3f7, 0xb2c67915, 0xc67178f2, 0xe372532b, - 0xca273ece, 0xea26619c, 0xd186b8c7, 0x21c0c207, - 0xeada7dd6, 0xcde0eb1e, 0xf57d4f7f, 0xee6ed178, - 0x06f067aa, 0x72176fba, 0x0a637dc5, 0xa2c898a6, - 0x113f9804, 0xbef90dae, 0x1b710b35, 0x131c471b, - 0x28db77f5, 0x23047d84, 0x32caab7b, 0x40c72493, - 0x3c9ebe0a, 0x15c9bebc, 0x431d67c4, 0x9c100d4c, - 0x4cc5d4be, 0xcb3e42b6, 0x597f299c, 0xfc657e2a, - 0x5fcb6fab, 0x3ad6faec, 0x6c44198c, 0x4a475817 -]; - -function SHA512() { - if (!(this instanceof SHA512)) - return new SHA512(); - - BlockHash.call(this); - this.h = [ - 0x6a09e667, 0xf3bcc908, - 0xbb67ae85, 0x84caa73b, - 0x3c6ef372, 0xfe94f82b, - 0xa54ff53a, 0x5f1d36f1, - 0x510e527f, 0xade682d1, - 0x9b05688c, 0x2b3e6c1f, - 0x1f83d9ab, 0xfb41bd6b, - 0x5be0cd19, 0x137e2179 ]; - this.k = sha512_K; - this.W = new Array(160); -} -utils.inherits(SHA512, BlockHash); -module.exports = SHA512; - -SHA512.blockSize = 1024; -SHA512.outSize = 512; -SHA512.hmacStrength = 192; -SHA512.padLength = 128; - -SHA512.prototype._prepareBlock = function _prepareBlock(msg, start) { - var W = this.W; - - // 32 x 32bit words - for (var i = 0; i < 32; i++) - W[i] = msg[start + i]; - for (; i < W.length; i += 2) { - var c0_hi = g1_512_hi(W[i - 4], W[i - 3]); // i - 2 - var c0_lo = g1_512_lo(W[i - 4], W[i - 3]); - var c1_hi = W[i - 14]; // i - 7 - var c1_lo = W[i - 13]; - var c2_hi = g0_512_hi(W[i - 30], W[i - 29]); // i - 15 - var c2_lo = g0_512_lo(W[i - 30], W[i - 29]); - var c3_hi = W[i - 32]; // i - 16 - var c3_lo = W[i - 31]; - - W[i] = sum64_4_hi( - c0_hi, c0_lo, - c1_hi, c1_lo, - c2_hi, c2_lo, - c3_hi, c3_lo); - W[i + 1] = sum64_4_lo( - c0_hi, c0_lo, - c1_hi, c1_lo, - c2_hi, c2_lo, - c3_hi, c3_lo); - } -}; - -SHA512.prototype._update = function _update(msg, start) { - this._prepareBlock(msg, start); - - var W = this.W; - - var ah = this.h[0]; - var al = this.h[1]; - var bh = this.h[2]; - var bl = this.h[3]; - var ch = this.h[4]; - var cl = this.h[5]; - var dh = this.h[6]; - var dl = this.h[7]; - var eh = this.h[8]; - var el = this.h[9]; - var fh = this.h[10]; - var fl = this.h[11]; - var gh = this.h[12]; - var gl = this.h[13]; - var hh = this.h[14]; - var hl = this.h[15]; - - assert(this.k.length === W.length); - for (var i = 0; i < W.length; i += 2) { - var c0_hi = hh; - var c0_lo = hl; - var c1_hi = s1_512_hi(eh, el); - var c1_lo = s1_512_lo(eh, el); - var c2_hi = ch64_hi(eh, el, fh, fl, gh, gl); - var c2_lo = ch64_lo(eh, el, fh, fl, gh, gl); - var c3_hi = this.k[i]; - var c3_lo = this.k[i + 1]; - var c4_hi = W[i]; - var c4_lo = W[i + 1]; - - var T1_hi = sum64_5_hi( - c0_hi, c0_lo, - c1_hi, c1_lo, - c2_hi, c2_lo, - c3_hi, c3_lo, - c4_hi, c4_lo); - var T1_lo = sum64_5_lo( - c0_hi, c0_lo, - c1_hi, c1_lo, - c2_hi, c2_lo, - c3_hi, c3_lo, - c4_hi, c4_lo); - - c0_hi = s0_512_hi(ah, al); - c0_lo = s0_512_lo(ah, al); - c1_hi = maj64_hi(ah, al, bh, bl, ch, cl); - c1_lo = maj64_lo(ah, al, bh, bl, ch, cl); - - var T2_hi = sum64_hi(c0_hi, c0_lo, c1_hi, c1_lo); - var T2_lo = sum64_lo(c0_hi, c0_lo, c1_hi, c1_lo); - - hh = gh; - hl = gl; - - gh = fh; - gl = fl; - - fh = eh; - fl = el; - - eh = sum64_hi(dh, dl, T1_hi, T1_lo); - el = sum64_lo(dl, dl, T1_hi, T1_lo); - - dh = ch; - dl = cl; - - ch = bh; - cl = bl; - - bh = ah; - bl = al; - - ah = sum64_hi(T1_hi, T1_lo, T2_hi, T2_lo); - al = sum64_lo(T1_hi, T1_lo, T2_hi, T2_lo); - } - - sum64(this.h, 0, ah, al); - sum64(this.h, 2, bh, bl); - sum64(this.h, 4, ch, cl); - sum64(this.h, 6, dh, dl); - sum64(this.h, 8, eh, el); - sum64(this.h, 10, fh, fl); - sum64(this.h, 12, gh, gl); - sum64(this.h, 14, hh, hl); -}; - -SHA512.prototype._digest = function digest(enc) { - if (enc === 'hex') - return utils.toHex32(this.h, 'big'); - else - return utils.split32(this.h, 'big'); -}; - -function ch64_hi(xh, xl, yh, yl, zh) { - var r = (xh & yh) ^ ((~xh) & zh); - if (r < 0) - r += 0x100000000; - return r; -} - -function ch64_lo(xh, xl, yh, yl, zh, zl) { - var r = (xl & yl) ^ ((~xl) & zl); - if (r < 0) - r += 0x100000000; - return r; -} - -function maj64_hi(xh, xl, yh, yl, zh) { - var r = (xh & yh) ^ (xh & zh) ^ (yh & zh); - if (r < 0) - r += 0x100000000; - return r; -} - -function maj64_lo(xh, xl, yh, yl, zh, zl) { - var r = (xl & yl) ^ (xl & zl) ^ (yl & zl); - if (r < 0) - r += 0x100000000; - return r; -} - -function s0_512_hi(xh, xl) { - var c0_hi = rotr64_hi(xh, xl, 28); - var c1_hi = rotr64_hi(xl, xh, 2); // 34 - var c2_hi = rotr64_hi(xl, xh, 7); // 39 - - var r = c0_hi ^ c1_hi ^ c2_hi; - if (r < 0) - r += 0x100000000; - return r; -} - -function s0_512_lo(xh, xl) { - var c0_lo = rotr64_lo(xh, xl, 28); - var c1_lo = rotr64_lo(xl, xh, 2); // 34 - var c2_lo = rotr64_lo(xl, xh, 7); // 39 - - var r = c0_lo ^ c1_lo ^ c2_lo; - if (r < 0) - r += 0x100000000; - return r; -} - -function s1_512_hi(xh, xl) { - var c0_hi = rotr64_hi(xh, xl, 14); - var c1_hi = rotr64_hi(xh, xl, 18); - var c2_hi = rotr64_hi(xl, xh, 9); // 41 - - var r = c0_hi ^ c1_hi ^ c2_hi; - if (r < 0) - r += 0x100000000; - return r; -} - -function s1_512_lo(xh, xl) { - var c0_lo = rotr64_lo(xh, xl, 14); - var c1_lo = rotr64_lo(xh, xl, 18); - var c2_lo = rotr64_lo(xl, xh, 9); // 41 - - var r = c0_lo ^ c1_lo ^ c2_lo; - if (r < 0) - r += 0x100000000; - return r; -} - -function g0_512_hi(xh, xl) { - var c0_hi = rotr64_hi(xh, xl, 1); - var c1_hi = rotr64_hi(xh, xl, 8); - var c2_hi = shr64_hi(xh, xl, 7); - - var r = c0_hi ^ c1_hi ^ c2_hi; - if (r < 0) - r += 0x100000000; - return r; -} - -function g0_512_lo(xh, xl) { - var c0_lo = rotr64_lo(xh, xl, 1); - var c1_lo = rotr64_lo(xh, xl, 8); - var c2_lo = shr64_lo(xh, xl, 7); - - var r = c0_lo ^ c1_lo ^ c2_lo; - if (r < 0) - r += 0x100000000; - return r; -} - -function g1_512_hi(xh, xl) { - var c0_hi = rotr64_hi(xh, xl, 19); - var c1_hi = rotr64_hi(xl, xh, 29); // 61 - var c2_hi = shr64_hi(xh, xl, 6); - - var r = c0_hi ^ c1_hi ^ c2_hi; - if (r < 0) - r += 0x100000000; - return r; -} - -function g1_512_lo(xh, xl) { - var c0_lo = rotr64_lo(xh, xl, 19); - var c1_lo = rotr64_lo(xl, xh, 29); // 61 - var c2_lo = shr64_lo(xh, xl, 6); - - var r = c0_lo ^ c1_lo ^ c2_lo; - if (r < 0) - r += 0x100000000; - return r; -} - - -/***/ }), - -/***/ 13889: -/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { - - - -var utils = __nccwpck_require__(99346); -var rotr32 = utils.rotr32; - -function ft_1(s, x, y, z) { - if (s === 0) - return ch32(x, y, z); - if (s === 1 || s === 3) - return p32(x, y, z); - if (s === 2) - return maj32(x, y, z); -} -exports.ft_1 = ft_1; - -function ch32(x, y, z) { - return (x & y) ^ ((~x) & z); -} -exports.ch32 = ch32; - -function maj32(x, y, z) { - return (x & y) ^ (x & z) ^ (y & z); -} -exports.maj32 = maj32; - -function p32(x, y, z) { - return x ^ y ^ z; -} -exports.p32 = p32; - -function s0_256(x) { - return rotr32(x, 2) ^ rotr32(x, 13) ^ rotr32(x, 22); -} -exports.s0_256 = s0_256; - -function s1_256(x) { - return rotr32(x, 6) ^ rotr32(x, 11) ^ rotr32(x, 25); -} -exports.s1_256 = s1_256; - -function g0_256(x) { - return rotr32(x, 7) ^ rotr32(x, 18) ^ (x >>> 3); -} -exports.g0_256 = g0_256; - -function g1_256(x) { - return rotr32(x, 17) ^ rotr32(x, 19) ^ (x >>> 10); -} -exports.g1_256 = g1_256; - - -/***/ }), - -/***/ 99346: -/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { - - - -var assert = __nccwpck_require__(72293); -var inherits = __nccwpck_require__(17025); - -exports.inherits = inherits; - -function isSurrogatePair(msg, i) { - if ((msg.charCodeAt(i) & 0xFC00) !== 0xD800) { - return false; - } - if (i < 0 || i + 1 >= msg.length) { - return false; - } - return (msg.charCodeAt(i + 1) & 0xFC00) === 0xDC00; -} - -function toArray(msg, enc) { - if (Array.isArray(msg)) - return msg.slice(); - if (!msg) - return []; - var res = []; - if (typeof msg === 'string') { - if (!enc) { - // Inspired by stringToUtf8ByteArray() in closure-library by Google - // https://github.com/google/closure-library/blob/8598d87242af59aac233270742c8984e2b2bdbe0/closure/goog/crypt/crypt.js#L117-L143 - // Apache License 2.0 - // https://github.com/google/closure-library/blob/master/LICENSE - var p = 0; - for (var i = 0; i < msg.length; i++) { - var c = msg.charCodeAt(i); - if (c < 128) { - res[p++] = c; - } else if (c < 2048) { - res[p++] = (c >> 6) | 192; - res[p++] = (c & 63) | 128; - } else if (isSurrogatePair(msg, i)) { - c = 0x10000 + ((c & 0x03FF) << 10) + (msg.charCodeAt(++i) & 0x03FF); - res[p++] = (c >> 18) | 240; - res[p++] = ((c >> 12) & 63) | 128; - res[p++] = ((c >> 6) & 63) | 128; - res[p++] = (c & 63) | 128; - } else { - res[p++] = (c >> 12) | 224; - res[p++] = ((c >> 6) & 63) | 128; - res[p++] = (c & 63) | 128; - } - } - } else if (enc === 'hex') { - msg = msg.replace(/[^a-z0-9]+/ig, ''); - if (msg.length % 2 !== 0) - msg = '0' + msg; - for (i = 0; i < msg.length; i += 2) - res.push(parseInt(msg[i] + msg[i + 1], 16)); - } - } else { - for (i = 0; i < msg.length; i++) - res[i] = msg[i] | 0; - } - return res; -} -exports.toArray = toArray; - -function toHex(msg) { - var res = ''; - for (var i = 0; i < msg.length; i++) - res += zero2(msg[i].toString(16)); - return res; -} -exports.toHex = toHex; - -function htonl(w) { - var res = (w >>> 24) | - ((w >>> 8) & 0xff00) | - ((w << 8) & 0xff0000) | - ((w & 0xff) << 24); - return res >>> 0; -} -exports.htonl = htonl; - -function toHex32(msg, endian) { - var res = ''; - for (var i = 0; i < msg.length; i++) { - var w = msg[i]; - if (endian === 'little') - w = htonl(w); - res += zero8(w.toString(16)); - } - return res; -} -exports.toHex32 = toHex32; - -function zero2(word) { - if (word.length === 1) - return '0' + word; - else - return word; -} -exports.zero2 = zero2; - -function zero8(word) { - if (word.length === 7) - return '0' + word; - else if (word.length === 6) - return '00' + word; - else if (word.length === 5) - return '000' + word; - else if (word.length === 4) - return '0000' + word; - else if (word.length === 3) - return '00000' + word; - else if (word.length === 2) - return '000000' + word; - else if (word.length === 1) - return '0000000' + word; - else - return word; -} -exports.zero8 = zero8; - -function join32(msg, start, end, endian) { - var len = end - start; - assert(len % 4 === 0); - var res = new Array(len / 4); - for (var i = 0, k = start; i < res.length; i++, k += 4) { - var w; - if (endian === 'big') - w = (msg[k] << 24) | (msg[k + 1] << 16) | (msg[k + 2] << 8) | msg[k + 3]; - else - w = (msg[k + 3] << 24) | (msg[k + 2] << 16) | (msg[k + 1] << 8) | msg[k]; - res[i] = w >>> 0; - } - return res; -} -exports.join32 = join32; - -function split32(msg, endian) { - var res = new Array(msg.length * 4); - for (var i = 0, k = 0; i < msg.length; i++, k += 4) { - var m = msg[i]; - if (endian === 'big') { - res[k] = m >>> 24; - res[k + 1] = (m >>> 16) & 0xff; - res[k + 2] = (m >>> 8) & 0xff; - res[k + 3] = m & 0xff; - } else { - res[k + 3] = m >>> 24; - res[k + 2] = (m >>> 16) & 0xff; - res[k + 1] = (m >>> 8) & 0xff; - res[k] = m & 0xff; - } - } - return res; -} -exports.split32 = split32; - -function rotr32(w, b) { - return (w >>> b) | (w << (32 - b)); -} -exports.rotr32 = rotr32; - -function rotl32(w, b) { - return (w << b) | (w >>> (32 - b)); -} -exports.rotl32 = rotl32; - -function sum32(a, b) { - return (a + b) >>> 0; -} -exports.sum32 = sum32; - -function sum32_3(a, b, c) { - return (a + b + c) >>> 0; -} -exports.sum32_3 = sum32_3; - -function sum32_4(a, b, c, d) { - return (a + b + c + d) >>> 0; -} -exports.sum32_4 = sum32_4; - -function sum32_5(a, b, c, d, e) { - return (a + b + c + d + e) >>> 0; -} -exports.sum32_5 = sum32_5; - -function sum64(buf, pos, ah, al) { - var bh = buf[pos]; - var bl = buf[pos + 1]; - - var lo = (al + bl) >>> 0; - var hi = (lo < al ? 1 : 0) + ah + bh; - buf[pos] = hi >>> 0; - buf[pos + 1] = lo; -} -exports.sum64 = sum64; - -function sum64_hi(ah, al, bh, bl) { - var lo = (al + bl) >>> 0; - var hi = (lo < al ? 1 : 0) + ah + bh; - return hi >>> 0; -} -exports.sum64_hi = sum64_hi; - -function sum64_lo(ah, al, bh, bl) { - var lo = al + bl; - return lo >>> 0; -} -exports.sum64_lo = sum64_lo; - -function sum64_4_hi(ah, al, bh, bl, ch, cl, dh, dl) { - var carry = 0; - var lo = al; - lo = (lo + bl) >>> 0; - carry += lo < al ? 1 : 0; - lo = (lo + cl) >>> 0; - carry += lo < cl ? 1 : 0; - lo = (lo + dl) >>> 0; - carry += lo < dl ? 1 : 0; - - var hi = ah + bh + ch + dh + carry; - return hi >>> 0; -} -exports.sum64_4_hi = sum64_4_hi; - -function sum64_4_lo(ah, al, bh, bl, ch, cl, dh, dl) { - var lo = al + bl + cl + dl; - return lo >>> 0; -} -exports.sum64_4_lo = sum64_4_lo; - -function sum64_5_hi(ah, al, bh, bl, ch, cl, dh, dl, eh, el) { - var carry = 0; - var lo = al; - lo = (lo + bl) >>> 0; - carry += lo < al ? 1 : 0; - lo = (lo + cl) >>> 0; - carry += lo < cl ? 1 : 0; - lo = (lo + dl) >>> 0; - carry += lo < dl ? 1 : 0; - lo = (lo + el) >>> 0; - carry += lo < el ? 1 : 0; - - var hi = ah + bh + ch + dh + eh + carry; - return hi >>> 0; -} -exports.sum64_5_hi = sum64_5_hi; - -function sum64_5_lo(ah, al, bh, bl, ch, cl, dh, dl, eh, el) { - var lo = al + bl + cl + dl + el; - - return lo >>> 0; -} -exports.sum64_5_lo = sum64_5_lo; - -function rotr64_hi(ah, al, num) { - var r = (al << (32 - num)) | (ah >>> num); - return r >>> 0; -} -exports.rotr64_hi = rotr64_hi; - -function rotr64_lo(ah, al, num) { - var r = (ah << (32 - num)) | (al >>> num); - return r >>> 0; -} -exports.rotr64_lo = rotr64_lo; - -function shr64_hi(ah, al, num) { - return ah >>> num; -} -exports.shr64_hi = shr64_hi; - -function shr64_lo(ah, al, num) { - var r = (ah << (32 - num)) | (al >>> num); - return r >>> 0; -} -exports.shr64_lo = shr64_lo; - - -/***/ }), - -/***/ 24803: -/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { - - - -var hash = __nccwpck_require__(95632); -var utils = __nccwpck_require__(81983); -var assert = __nccwpck_require__(72293); - -function HmacDRBG(options) { - if (!(this instanceof HmacDRBG)) - return new HmacDRBG(options); - this.hash = options.hash; - this.predResist = !!options.predResist; - - this.outLen = this.hash.outSize; - this.minEntropy = options.minEntropy || this.hash.hmacStrength; - - this._reseed = null; - this.reseedInterval = null; - this.K = null; - this.V = null; - - var entropy = utils.toArray(options.entropy, options.entropyEnc || 'hex'); - var nonce = utils.toArray(options.nonce, options.nonceEnc || 'hex'); - var pers = utils.toArray(options.pers, options.persEnc || 'hex'); - assert(entropy.length >= (this.minEntropy / 8), - 'Not enough entropy. Minimum is: ' + this.minEntropy + ' bits'); - this._init(entropy, nonce, pers); -} -module.exports = HmacDRBG; - -HmacDRBG.prototype._init = function init(entropy, nonce, pers) { - var seed = entropy.concat(nonce).concat(pers); - - this.K = new Array(this.outLen / 8); - this.V = new Array(this.outLen / 8); - for (var i = 0; i < this.V.length; i++) { - this.K[i] = 0x00; - this.V[i] = 0x01; - } - - this._update(seed); - this._reseed = 1; - this.reseedInterval = 0x1000000000000; // 2^48 -}; - -HmacDRBG.prototype._hmac = function hmac() { - return new hash.hmac(this.hash, this.K); -}; - -HmacDRBG.prototype._update = function update(seed) { - var kmac = this._hmac() - .update(this.V) - .update([ 0x00 ]); - if (seed) - kmac = kmac.update(seed); - this.K = kmac.digest(); - this.V = this._hmac().update(this.V).digest(); - if (!seed) - return; - - this.K = this._hmac() - .update(this.V) - .update([ 0x01 ]) - .update(seed) - .digest(); - this.V = this._hmac().update(this.V).digest(); -}; - -HmacDRBG.prototype.reseed = function reseed(entropy, entropyEnc, add, addEnc) { - // Optional entropy enc - if (typeof entropyEnc !== 'string') { - addEnc = add; - add = entropyEnc; - entropyEnc = null; - } - - entropy = utils.toArray(entropy, entropyEnc); - add = utils.toArray(add, addEnc); - - assert(entropy.length >= (this.minEntropy / 8), - 'Not enough entropy. Minimum is: ' + this.minEntropy + ' bits'); - - this._update(entropy.concat(add || [])); - this._reseed = 1; -}; - -HmacDRBG.prototype.generate = function generate(len, enc, add, addEnc) { - if (this._reseed > this.reseedInterval) - throw new Error('Reseed is required'); - - // Optional encoding - if (typeof enc !== 'string') { - addEnc = add; - add = enc; - enc = null; - } - - // Optional additional data - if (add) { - add = utils.toArray(add, addEnc || 'hex'); - this._update(add); - } - - var temp = []; - while (temp.length < len) { - this.V = this._hmac().update(this.V).digest(); - temp = temp.concat(this.V); - } - - var res = temp.slice(0, len); - this._update(add); - this._reseed++; - return utils.encode(res, enc); -}; - - -/***/ }), - -/***/ 22651: -/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { - - -const whatwgEncoding = __nccwpck_require__(89415); - -// https://html.spec.whatwg.org/#encoding-sniffing-algorithm -module.exports = (uint8Array, { transportLayerEncodingLabel, defaultEncoding = "windows-1252" } = {}) => { - let encoding = whatwgEncoding.getBOMEncoding(uint8Array); - - if (encoding === null && transportLayerEncodingLabel !== undefined) { - encoding = whatwgEncoding.labelToName(transportLayerEncodingLabel); - } - - if (encoding === null) { - encoding = prescanMetaCharset(uint8Array); - } - - if (encoding === null) { - encoding = defaultEncoding; - } - - return encoding; -}; - -// https://html.spec.whatwg.org/multipage/syntax.html#prescan-a-byte-stream-to-determine-its-encoding -function prescanMetaCharset(uint8Array) { - const l = Math.min(uint8Array.byteLength, 1024); - for (let i = 0; i < l; i++) { - let c = uint8Array[i]; - if (c === 0x3C) { - // "<" - const c1 = uint8Array[i + 1]; - const c2 = uint8Array[i + 2]; - const c3 = uint8Array[i + 3]; - const c4 = uint8Array[i + 4]; - const c5 = uint8Array[i + 5]; - // !-- (comment start) - if (c1 === 0x21 && c2 === 0x2D && c3 === 0x2D) { - i += 4; - for (; i < l; i++) { - c = uint8Array[i]; - const cMinus1 = uint8Array[i - 1]; - const cMinus2 = uint8Array[i - 2]; - // --> (comment end) - if (c === 0x3E && cMinus1 === 0x2D && cMinus2 === 0x2D) { - break; - } - } - } else if ((c1 === 0x4D || c1 === 0x6D) && - (c2 === 0x45 || c2 === 0x65) && - (c3 === 0x54 || c3 === 0x74) && - (c4 === 0x41 || c4 === 0x61) && - (isSpaceCharacter(c5) || c5 === 0x2F)) { - // "meta" + space or / - i += 6; - const attributeList = new Set(); - let gotPragma = false; - let needPragma = null; - let charset = null; - - let attrRes; - do { - attrRes = getAttribute(uint8Array, i, l); - if (attrRes.attr && !attributeList.has(attrRes.attr.name)) { - attributeList.add(attrRes.attr.name); - if (attrRes.attr.name === "http-equiv") { - gotPragma = attrRes.attr.value === "content-type"; - } else if (attrRes.attr.name === "content" && !charset) { - charset = extractCharacterEncodingFromMeta(attrRes.attr.value); - if (charset !== null) { - needPragma = true; - } - } else if (attrRes.attr.name === "charset") { - charset = whatwgEncoding.labelToName(attrRes.attr.value); - needPragma = false; - } - } - i = attrRes.i; - } while (attrRes.attr); - - if (needPragma === null) { - continue; - } - if (needPragma === true && gotPragma === false) { - continue; - } - if (charset === null) { - continue; - } - - if (charset === "UTF-16LE" || charset === "UTF-16BE") { - charset = "UTF-8"; - } - if (charset === "x-user-defined") { - charset = "windows-1252"; - } - - return charset; - } else if ((c1 >= 0x41 && c1 <= 0x5A) || (c1 >= 0x61 && c1 <= 0x7A)) { - // a-z or A-Z - for (i += 2; i < l; i++) { - c = uint8Array[i]; - // space or > - if (isSpaceCharacter(c) || c === 0x3E) { - break; - } - } - let attrRes; - do { - attrRes = getAttribute(uint8Array, i, l); - i = attrRes.i; - } while (attrRes.attr); - } else if (c1 === 0x21 || c1 === 0x2F || c1 === 0x3F) { - // ! or / or ? - for (i += 2; i < l; i++) { - c = uint8Array[i]; - // > - if (c === 0x3E) { - break; - } - } - } - } - } - return null; -} - -// https://html.spec.whatwg.org/multipage/syntax.html#concept-get-attributes-when-sniffing -function getAttribute(uint8Array, i, l) { - for (; i < l; i++) { - let c = uint8Array[i]; - // space or / - if (isSpaceCharacter(c) || c === 0x2F) { - continue; - } - // ">" - if (c === 0x3E) { - break; - } - let name = ""; - let value = ""; - nameLoop:for (; i < l; i++) { - c = uint8Array[i]; - // "=" - if (c === 0x3D && name !== "") { - i++; - break; - } - // space - if (isSpaceCharacter(c)) { - for (i++; i < l; i++) { - c = uint8Array[i]; - // space - if (isSpaceCharacter(c)) { - continue; - } - // not "=" - if (c !== 0x3D) { - return { attr: { name, value }, i }; - } - - i++; - break nameLoop; - } - break; - } - // / or > - if (c === 0x2F || c === 0x3E) { - return { attr: { name, value }, i }; - } - // A-Z - if (c >= 0x41 && c <= 0x5A) { - name += String.fromCharCode(c + 0x20); // lowercase - } else { - name += String.fromCharCode(c); - } - } - c = uint8Array[i]; - // space - if (isSpaceCharacter(c)) { - for (i++; i < l; i++) { - c = uint8Array[i]; - // space - if (isSpaceCharacter(c)) { - continue; - } else { - break; - } - } - } - // " or ' - if (c === 0x22 || c === 0x27) { - const quote = c; - for (i++; i < l; i++) { - c = uint8Array[i]; - - if (c === quote) { - i++; - return { attr: { name, value }, i }; - } - - // A-Z - if (c >= 0x41 && c <= 0x5A) { - value += String.fromCharCode(c + 0x20); // lowercase - } else { - value += String.fromCharCode(c); - } - } - } - - // > - if (c === 0x3E) { - return { attr: { name, value }, i }; - } - - // A-Z - if (c >= 0x41 && c <= 0x5A) { - value += String.fromCharCode(c + 0x20); // lowercase - } else { - value += String.fromCharCode(c); - } - - for (i++; i < l; i++) { - c = uint8Array[i]; - - // space or > - if (isSpaceCharacter(c) || c === 0x3E) { - return { attr: { name, value }, i }; - } - - // A-Z - if (c >= 0x41 && c <= 0x5A) { - value += String.fromCharCode(c + 0x20); // lowercase - } else { - value += String.fromCharCode(c); - } - } - } - return { i }; -} - -function extractCharacterEncodingFromMeta(string) { - let position = 0; - - while (true) { - const indexOfCharset = string.substring(position).search(/charset/ui); - - if (indexOfCharset === -1) { - return null; - } - let subPosition = position + indexOfCharset + "charset".length; - - while (isSpaceCharacter(string[subPosition].charCodeAt(0))) { - ++subPosition; - } - - if (string[subPosition] !== "=") { - position = subPosition - 1; - continue; - } - - ++subPosition; - - while (isSpaceCharacter(string[subPosition].charCodeAt(0))) { - ++subPosition; - } - - position = subPosition; - break; - } - - if (string[position] === "\"" || string[position] === "'") { - const nextIndex = string.indexOf(string[position], position + 1); - - if (nextIndex !== -1) { - return whatwgEncoding.labelToName(string.substring(position + 1, nextIndex)); - } - - // It is an unmatched quotation mark - return null; - } - - if (string.length === position + 1) { - return null; - } - - const indexOfASCIIWhitespaceOrSemicolon = string.substring(position + 1).search(/\x09|\x0A|\x0C|\x0D|\x20|;/u); - const end = indexOfASCIIWhitespaceOrSemicolon === -1 ? - string.length : - position + indexOfASCIIWhitespaceOrSemicolon + 1; - - return whatwgEncoding.labelToName(string.substring(position, end)); -} - -function isSpaceCharacter(c) { - return c === 0x09 || c === 0x0A || c === 0x0C || c === 0x0D || c === 0x20; -} - - -/***/ }), - -/***/ 69061: -/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) { - - -var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { - if (k2 === undefined) 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 === undefined) k2 = k; - o[k2] = m[k]; -})); -var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { - Object.defineProperty(o, "default", { enumerable: true, value: v }); -}) : function(o, v) { - o["default"] = v; -}); -var __importStar = (this && this.__importStar) || function (mod) { - if (mod && mod.__esModule) return mod; - var result = {}; - if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); - __setModuleDefault(result, mod); - return result; -}; -var __importDefault = (this && this.__importDefault) || function (mod) { - return (mod && mod.__esModule) ? mod : { "default": mod }; -}; -Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.HttpProxyAgent = void 0; -const net = __importStar(__nccwpck_require__(69278)); -const tls = __importStar(__nccwpck_require__(64756)); -const debug_1 = __importDefault(__nccwpck_require__(22025)); -const events_1 = __nccwpck_require__(24434); -const agent_base_1 = __nccwpck_require__(25605); -const url_1 = __nccwpck_require__(87016); -const debug = (0, debug_1.default)('http-proxy-agent'); -/** - * The `HttpProxyAgent` implements an HTTP Agent subclass that connects - * to the specified "HTTP proxy server" in order to proxy HTTP requests. - */ -class HttpProxyAgent extends agent_base_1.Agent { - constructor(proxy, opts) { - super(opts); - this.proxy = typeof proxy === 'string' ? new url_1.URL(proxy) : proxy; - this.proxyHeaders = opts?.headers ?? {}; - debug('Creating new HttpProxyAgent instance: %o', this.proxy.href); - // Trim off the brackets from IPv6 addresses - const host = (this.proxy.hostname || this.proxy.host).replace(/^\[|\]$/g, ''); - const port = this.proxy.port - ? parseInt(this.proxy.port, 10) - : this.proxy.protocol === 'https:' - ? 443 - : 80; - this.connectOpts = { - ...(opts ? omit(opts, 'headers') : null), - host, - port, - }; - } - addRequest(req, opts) { - req._header = null; - this.setRequestProps(req, opts); - // @ts-expect-error `addRequest()` isn't defined in `@types/node` - super.addRequest(req, opts); - } - setRequestProps(req, opts) { - const { proxy } = this; - const protocol = opts.secureEndpoint ? 'https:' : 'http:'; - const hostname = req.getHeader('host') || 'localhost'; - const base = `${protocol}//${hostname}`; - const url = new url_1.URL(req.path, base); - if (opts.port !== 80) { - url.port = String(opts.port); - } - // Change the `http.ClientRequest` instance's "path" field - // to the absolute path of the URL that will be requested. - req.path = String(url); - // Inject the `Proxy-Authorization` header if necessary. - const headers = typeof this.proxyHeaders === 'function' - ? this.proxyHeaders() - : { ...this.proxyHeaders }; - if (proxy.username || proxy.password) { - const auth = `${decodeURIComponent(proxy.username)}:${decodeURIComponent(proxy.password)}`; - headers['Proxy-Authorization'] = `Basic ${Buffer.from(auth).toString('base64')}`; - } - if (!headers['Proxy-Connection']) { - headers['Proxy-Connection'] = this.keepAlive - ? 'Keep-Alive' - : 'close'; - } - for (const name of Object.keys(headers)) { - const value = headers[name]; - if (value) { - req.setHeader(name, value); - } - } - } - async connect(req, opts) { - req._header = null; - if (!req.path.includes('://')) { - this.setRequestProps(req, opts); - } - // At this point, the http ClientRequest's internal `_header` field - // might have already been set. If this is the case then we'll need - // to re-generate the string since we just changed the `req.path`. - let first; - let endOfHeaders; - debug('Regenerating stored HTTP header string for request'); - req._implicitHeader(); - if (req.outputData && req.outputData.length > 0) { - debug('Patching connection write() output buffer with updated header'); - first = req.outputData[0].data; - endOfHeaders = first.indexOf('\r\n\r\n') + 4; - req.outputData[0].data = - req._header + first.substring(endOfHeaders); - debug('Output buffer: %o', req.outputData[0].data); - } - // Create a socket connection to the proxy server. - let socket; - if (this.proxy.protocol === 'https:') { - debug('Creating `tls.Socket`: %o', this.connectOpts); - socket = tls.connect(this.connectOpts); - } - else { - debug('Creating `net.Socket`: %o', this.connectOpts); - socket = net.connect(this.connectOpts); - } - // Wait for the socket's `connect` event, so that this `callback()` - // function throws instead of the `http` request machinery. This is - // important for i.e. `PacProxyAgent` which determines a failed proxy - // connection via the `callback()` function throwing. - await (0, events_1.once)(socket, 'connect'); - return socket; - } -} -HttpProxyAgent.protocols = ['http', 'https']; -exports.HttpProxyAgent = HttpProxyAgent; -function omit(obj, ...keys) { - const ret = {}; - let key; - for (key in obj) { - if (!keys.includes(key)) { - ret[key] = obj[key]; - } - } - return ret; -} -//# sourceMappingURL=index.js.map - -/***/ }), - -/***/ 98496: -/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) { - - -var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { - if (k2 === undefined) 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 === undefined) k2 = k; - o[k2] = m[k]; -})); -var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { - Object.defineProperty(o, "default", { enumerable: true, value: v }); -}) : function(o, v) { - o["default"] = v; -}); -var __importStar = (this && this.__importStar) || function (mod) { - if (mod && mod.__esModule) return mod; - var result = {}; - if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); - __setModuleDefault(result, mod); - return result; -}; -var __importDefault = (this && this.__importDefault) || function (mod) { - return (mod && mod.__esModule) ? mod : { "default": mod }; -}; -Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.HttpsProxyAgent = void 0; -const net = __importStar(__nccwpck_require__(69278)); -const tls = __importStar(__nccwpck_require__(64756)); -const assert_1 = __importDefault(__nccwpck_require__(42613)); -const debug_1 = __importDefault(__nccwpck_require__(22025)); -const agent_base_1 = __nccwpck_require__(25605); -const url_1 = __nccwpck_require__(87016); -const parse_proxy_response_1 = __nccwpck_require__(86988); -const debug = (0, debug_1.default)('https-proxy-agent'); -const setServernameFromNonIpHost = (options) => { - if (options.servername === undefined && - options.host && - !net.isIP(options.host)) { - return { - ...options, - servername: options.host, - }; - } - return options; -}; -/** - * The `HttpsProxyAgent` implements an HTTP Agent subclass that connects to - * the specified "HTTP(s) proxy server" in order to proxy HTTPS requests. - * - * Outgoing HTTP requests are first tunneled through the proxy server using the - * `CONNECT` HTTP request method to establish a connection to the proxy server, - * and then the proxy server connects to the destination target and issues the - * HTTP request from the proxy server. - * - * `https:` requests have their socket connection upgraded to TLS once - * the connection to the proxy server has been established. - */ -class HttpsProxyAgent extends agent_base_1.Agent { - constructor(proxy, opts) { - super(opts); - this.options = { path: undefined }; - this.proxy = typeof proxy === 'string' ? new url_1.URL(proxy) : proxy; - this.proxyHeaders = opts?.headers ?? {}; - debug('Creating new HttpsProxyAgent instance: %o', this.proxy.href); - // Trim off the brackets from IPv6 addresses - const host = (this.proxy.hostname || this.proxy.host).replace(/^\[|\]$/g, ''); - const port = this.proxy.port - ? parseInt(this.proxy.port, 10) - : this.proxy.protocol === 'https:' - ? 443 - : 80; - this.connectOpts = { - // Attempt to negotiate http/1.1 for proxy servers that support http/2 - ALPNProtocols: ['http/1.1'], - ...(opts ? omit(opts, 'headers') : null), - host, - port, - }; - } - /** - * Called when the node-core HTTP client library is creating a - * new HTTP request. - */ - async connect(req, opts) { - const { proxy } = this; - if (!opts.host) { - throw new TypeError('No "host" provided'); - } - // Create a socket connection to the proxy server. - let socket; - if (proxy.protocol === 'https:') { - debug('Creating `tls.Socket`: %o', this.connectOpts); - socket = tls.connect(setServernameFromNonIpHost(this.connectOpts)); - } - else { - debug('Creating `net.Socket`: %o', this.connectOpts); - socket = net.connect(this.connectOpts); - } - const headers = typeof this.proxyHeaders === 'function' - ? this.proxyHeaders() - : { ...this.proxyHeaders }; - const host = net.isIPv6(opts.host) ? `[${opts.host}]` : opts.host; - let payload = `CONNECT ${host}:${opts.port} HTTP/1.1\r\n`; - // Inject the `Proxy-Authorization` header if necessary. - if (proxy.username || proxy.password) { - const auth = `${decodeURIComponent(proxy.username)}:${decodeURIComponent(proxy.password)}`; - headers['Proxy-Authorization'] = `Basic ${Buffer.from(auth).toString('base64')}`; - } - headers.Host = `${host}:${opts.port}`; - if (!headers['Proxy-Connection']) { - headers['Proxy-Connection'] = this.keepAlive - ? 'Keep-Alive' - : 'close'; - } - for (const name of Object.keys(headers)) { - payload += `${name}: ${headers[name]}\r\n`; - } - const proxyResponsePromise = (0, parse_proxy_response_1.parseProxyResponse)(socket); - socket.write(`${payload}\r\n`); - const { connect, buffered } = await proxyResponsePromise; - req.emit('proxyConnect', connect); - this.emit('proxyConnect', connect, req); - if (connect.statusCode === 200) { - req.once('socket', resume); - if (opts.secureEndpoint) { - // The proxy is connecting to a TLS server, so upgrade - // this socket connection to a TLS connection. - debug('Upgrading socket connection to TLS'); - return tls.connect({ - ...omit(setServernameFromNonIpHost(opts), 'host', 'path', 'port'), - socket, - }); - } - return socket; - } - // Some other status code that's not 200... need to re-play the HTTP - // header "data" events onto the socket once the HTTP machinery is - // attached so that the node core `http` can parse and handle the - // error status code. - // Close the original socket, and a new "fake" socket is returned - // instead, so that the proxy doesn't get the HTTP request - // written to it (which may contain `Authorization` headers or other - // sensitive data). - // - // See: https://hackerone.com/reports/541502 - socket.destroy(); - const fakeSocket = new net.Socket({ writable: false }); - fakeSocket.readable = true; - // Need to wait for the "socket" event to re-play the "data" events. - req.once('socket', (s) => { - debug('Replaying proxy buffer for failed request'); - (0, assert_1.default)(s.listenerCount('data') > 0); - // Replay the "buffered" Buffer onto the fake `socket`, since at - // this point the HTTP module machinery has been hooked up for - // the user. - s.push(buffered); - s.push(null); - }); - return fakeSocket; - } -} -HttpsProxyAgent.protocols = ['http', 'https']; -exports.HttpsProxyAgent = HttpsProxyAgent; -function resume(socket) { - socket.resume(); -} -function omit(obj, ...keys) { - const ret = {}; - let key; - for (key in obj) { - if (!keys.includes(key)) { - ret[key] = obj[key]; - } - } - return ret; -} -//# sourceMappingURL=index.js.map - -/***/ }), - -/***/ 86988: -/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) { - - -var __importDefault = (this && this.__importDefault) || function (mod) { - return (mod && mod.__esModule) ? mod : { "default": mod }; -}; -Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.parseProxyResponse = void 0; -const debug_1 = __importDefault(__nccwpck_require__(22025)); -const debug = (0, debug_1.default)('https-proxy-agent:parse-proxy-response'); -function parseProxyResponse(socket) { - return new Promise((resolve, reject) => { - // we need to buffer any HTTP traffic that happens with the proxy before we get - // the CONNECT response, so that if the response is anything other than an "200" - // response code, then we can re-play the "data" events on the socket once the - // HTTP parser is hooked up... - let buffersLength = 0; - const buffers = []; - function read() { - const b = socket.read(); - if (b) - ondata(b); - else - socket.once('readable', read); - } - function cleanup() { - socket.removeListener('end', onend); - socket.removeListener('error', onerror); - socket.removeListener('readable', read); - } - function onend() { - cleanup(); - debug('onend'); - reject(new Error('Proxy connection ended before receiving CONNECT response')); - } - function onerror(err) { - cleanup(); - debug('onerror %o', err); - reject(err); - } - function ondata(b) { - buffers.push(b); - buffersLength += b.length; - const buffered = Buffer.concat(buffers, buffersLength); - const endOfHeaders = buffered.indexOf('\r\n\r\n'); - if (endOfHeaders === -1) { - // keep buffering - debug('have not received end of HTTP headers yet...'); - read(); - return; - } - const headerParts = buffered - .slice(0, endOfHeaders) - .toString('ascii') - .split('\r\n'); - const firstLine = headerParts.shift(); - if (!firstLine) { - socket.destroy(); - return reject(new Error('No header received from proxy CONNECT response')); - } - const firstLineParts = firstLine.split(' '); - const statusCode = +firstLineParts[1]; - const statusText = firstLineParts.slice(2).join(' '); - const headers = {}; - for (const header of headerParts) { - if (!header) - continue; - const firstColon = header.indexOf(':'); - if (firstColon === -1) { - socket.destroy(); - return reject(new Error(`Invalid header from proxy CONNECT response: "${header}"`)); - } - const key = header.slice(0, firstColon).toLowerCase(); - const value = header.slice(firstColon + 1).trimStart(); - const current = headers[key]; - if (typeof current === 'string') { - headers[key] = [current, value]; - } - else if (Array.isArray(current)) { - current.push(value); - } - else { - headers[key] = value; - } - } - debug('got proxy server response: %o %o', firstLine, headers); - cleanup(); - resolve({ - connect: { - statusCode, - statusText, - headers, - }, - buffered, - }); - } - socket.on('error', onerror); - socket.on('end', onend); - read(); - }); -} -exports.parseProxyResponse = parseProxyResponse; -//# sourceMappingURL=parse-proxy-response.js.map - -/***/ }), - -/***/ 66575: -/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { - -/*! - * humanize-ms - index.js - * Copyright(c) 2014 dead_horse - * MIT Licensed - */ - - - -/** - * Module dependencies. - */ - -var util = __nccwpck_require__(39023); -var ms = __nccwpck_require__(19433); - -module.exports = function (t) { - if (typeof t === 'number') return t; - var r = ms(t); - if (r === undefined) { - var err = new Error(util.format('humanize-ms(%j) result undefined', t)); - console.warn(err.stack); - } - return r; -}; - - -/***/ }), - -/***/ 46121: -/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { - - -var Buffer = (__nccwpck_require__(88070).Buffer); - -// Multibyte codec. In this scheme, a character is represented by 1 or more bytes. -// Our codec supports UTF-16 surrogates, extensions for GB18030 and unicode sequences. -// To save memory and loading time, we read table files only when requested. - -exports._dbcs = DBCSCodec; - -var UNASSIGNED = -1, - GB18030_CODE = -2, - SEQ_START = -10, - NODE_START = -1000, - UNASSIGNED_NODE = new Array(0x100), - DEF_CHAR = -1; - -for (var i = 0; i < 0x100; i++) - UNASSIGNED_NODE[i] = UNASSIGNED; - - -// Class DBCSCodec reads and initializes mapping tables. -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."); - - // Load tables. - var mappingTable = codecOptions.table(); - - - // Decode tables: MBCS -> Unicode. - - // decodeTables is a trie, encoded as an array of arrays of integers. Internal arrays are trie nodes and all have len = 256. - // Trie root is decodeTables[0]. - // Values: >= 0 -> unicode character code. can be > 0xFFFF - // == UNASSIGNED -> unknown/unassigned sequence. - // == GB18030_CODE -> this is the end of a GB18030 4-byte sequence. - // <= NODE_START -> index of the next node in our trie to process next byte. - // <= SEQ_START -> index of the start of a character code sequence, in decodeTableSeq. - this.decodeTables = []; - this.decodeTables[0] = UNASSIGNED_NODE.slice(0); // Create root node. - - // Sometimes a MBCS char corresponds to a sequence of unicode chars. We store them as arrays of integers here. - this.decodeTableSeq = []; - - // Actual mapping tables consist of chunks. Use them to fill up decode tables. - for (var i = 0; i < mappingTable.length; i++) - this._addDecodeChunk(mappingTable[i]); - - // Load & create GB18030 tables when needed. - if (typeof codecOptions.gb18030 === 'function') { - this.gb18030 = codecOptions.gb18030(); // Load GB18030 ranges. - - // Add GB18030 common decode nodes. - var commonThirdByteNodeIdx = this.decodeTables.length; - this.decodeTables.push(UNASSIGNED_NODE.slice(0)); - - var commonFourthByteNodeIdx = this.decodeTables.length; - this.decodeTables.push(UNASSIGNED_NODE.slice(0)); - - // Fill out the tree - var firstByteNode = this.decodeTables[0]; - for (var i = 0x81; i <= 0xFE; i++) { - var secondByteNode = this.decodeTables[NODE_START - firstByteNode[i]]; - for (var j = 0x30; j <= 0x39; 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 = 0x81; k <= 0xFE; 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 = 0x30; l <= 0x39; l++) { - if (fourthByteNode[l] === UNASSIGNED) - fourthByteNode[l] = GB18030_CODE; - } - } - } - } - } - - this.defaultCharUnicode = iconv.defaultCharUnicode; - - - // Encode tables: Unicode -> DBCS. - - // `encodeTable` is array mapping from unicode char to encoded char. All its values are integers for performance. - // Because it can be sparse, it is represented as array of buckets by 256 chars each. Bucket can be null. - // Values: >= 0 -> it is a normal char. Write the value (if <=256 then 1 byte, if <=65536 then 2 bytes, etc.). - // == UNASSIGNED -> no conversion found. Output a default char. - // <= SEQ_START -> it's an index in encodeTableSeq, see below. The character starts a sequence. - this.encodeTable = []; - - // `encodeTableSeq` is used when a sequence of unicode characters is encoded as a single code. We use a tree of - // objects where keys correspond to characters in sequence and leafs are the encoded dbcs values. A special DEF_CHAR key - // means end of sequence (needed when one sequence is a strict subsequence of another). - // Objects are kept separately from encodeTable to increase performance. - this.encodeTableSeq = []; - - // Some chars can be decoded, but need not be encoded. - var skipEncodeChars = {}; - if (codecOptions.encodeSkipVals) - for (var i = 0; i < codecOptions.encodeSkipVals.length; i++) { - var val = codecOptions.encodeSkipVals[i]; - if (typeof val === 'number') - skipEncodeChars[val] = true; - else - for (var j = val.from; j <= val.to; j++) - skipEncodeChars[j] = true; - } - - // Use decode trie to recursively fill out encode tables. - this._fillEncodeTable(0, 0, skipEncodeChars); - - // Add more encoding pairs when needed. - 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; - -// Decoder helpers -DBCSCodec.prototype._getDecodeTrieNode = function(addr) { - var bytes = []; - for (; addr > 0; addr >>>= 8) - bytes.push(addr & 0xFF); - if (bytes.length == 0) - bytes.push(0); - - var node = this.decodeTables[0]; - for (var i = bytes.length-1; i > 0; i--) { // Traverse nodes deeper into the trie. - var val = node[bytes[i]]; - - if (val == UNASSIGNED) { // Create new node. - node[bytes[i]] = NODE_START - this.decodeTables.length; - this.decodeTables.push(node = UNASSIGNED_NODE.slice(0)); - } - else if (val <= NODE_START) { // Existing node. - 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(chunk) { - // First element of chunk is the hex mbcs code where we start. - var curAddr = parseInt(chunk[0], 16); - - // Choose the decoding node where we'll write our chars. - var writeTable = this._getDecodeTrieNode(curAddr); - curAddr = curAddr & 0xFF; - - // Write all other elements of the chunk to the table. - for (var k = 1; k < chunk.length; k++) { - var part = chunk[k]; - if (typeof part === "string") { // String, write as-is. - for (var l = 0; l < part.length;) { - var code = part.charCodeAt(l++); - if (0xD800 <= code && code < 0xDC00) { // Decode surrogate - var codeTrail = part.charCodeAt(l++); - if (0xDC00 <= codeTrail && codeTrail < 0xE000) - writeTable[curAddr++] = 0x10000 + (code - 0xD800) * 0x400 + (codeTrail - 0xDC00); - else - throw new Error("Incorrect surrogate pair in " + this.encodingName + " at chunk " + chunk[0]); - } - else if (0x0FF0 < code && code <= 0x0FFF) { // Character sequence (our own encoding used) - var len = 0xFFF - code + 2; - var seq = []; - for (var m = 0; m < len; m++) - seq.push(part.charCodeAt(l++)); // Simple variation: don't support surrogates or subsequences in seq. - - writeTable[curAddr++] = SEQ_START - this.decodeTableSeq.length; - this.decodeTableSeq.push(seq); - } - else - writeTable[curAddr++] = code; // Basic char - } - } - else if (typeof part === "number") { // Integer, meaning increasing sequence starting with prev character. - 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 " + chunk[0]); - } - if (curAddr > 0xFF) - throw new Error("Incorrect chunk in " + this.encodingName + " at addr " + chunk[0] + ": too long" + curAddr); -} - -// Encoder helpers -DBCSCodec.prototype._getEncodeBucket = function(uCode) { - var high = uCode >> 8; // This could be > 0xFF because of astral characters. - if (this.encodeTable[high] === undefined) - this.encodeTable[high] = UNASSIGNED_NODE.slice(0); // Create bucket on demand. - return this.encodeTable[high]; -} - -DBCSCodec.prototype._setEncodeChar = function(uCode, dbcsCode) { - var bucket = this._getEncodeBucket(uCode); - var low = uCode & 0xFF; - if (bucket[low] <= SEQ_START) - this.encodeTableSeq[SEQ_START-bucket[low]][DEF_CHAR] = dbcsCode; // There's already a sequence, set a single-char subsequence of it. - else if (bucket[low] == UNASSIGNED) - bucket[low] = dbcsCode; -} - -DBCSCodec.prototype._setEncodeSequence = function(seq, dbcsCode) { - - // Get the root of character tree according to first character of the sequence. - var uCode = seq[0]; - var bucket = this._getEncodeBucket(uCode); - var low = uCode & 0xFF; - - var node; - if (bucket[low] <= SEQ_START) { - // There's already a sequence with - use it. - node = this.encodeTableSeq[SEQ_START-bucket[low]]; - } - else { - // There was no sequence object - allocate a new one. - node = {}; - if (bucket[low] !== UNASSIGNED) node[DEF_CHAR] = bucket[low]; // If a char was set before - make it a single-char subsequence. - bucket[low] = SEQ_START - this.encodeTableSeq.length; - this.encodeTableSeq.push(node); - } - - // Traverse the character tree, allocating new nodes as needed. - for (var j = 1; j < seq.length-1; j++) { - var oldVal = node[uCode]; - if (typeof oldVal === 'object') - node = oldVal; - else { - node = node[uCode] = {} - if (oldVal !== undefined) - node[DEF_CHAR] = oldVal - } - } - - // Set the leaf to given dbcsCode. - uCode = seq[seq.length-1]; - node[uCode] = dbcsCode; -} - -DBCSCodec.prototype._fillEncodeTable = function(nodeIdx, prefix, skipEncodeChars) { - var node = this.decodeTables[nodeIdx]; - var hasValues = false; - var subNodeEmpty = {}; - for (var i = 0; i < 0x100; i++) { - var uCode = node[i]; - var mbCode = prefix + i; - 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]) { // Skip empty subtrees (they are too large in gb18030). - var newPrefix = (mbCode << 8) >>> 0; // NOTE: '>>> 0' keeps 32-bit num positive. - 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; -} - - - -// == Encoder ================================================================== - -function DBCSEncoder(options, codec) { - // Encoder state - this.leadSurrogate = -1; - this.seqObj = undefined; - - // Static data - this.encodeTable = codec.encodeTable; - this.encodeTableSeq = codec.encodeTableSeq; - this.defaultCharSingleByte = codec.defCharSB; - this.gb18030 = codec.gb18030; -} - -DBCSEncoder.prototype.write = function(str) { - var newBuf = Buffer.alloc(str.length * (this.gb18030 ? 4 : 3)), - leadSurrogate = this.leadSurrogate, - seqObj = this.seqObj, nextChar = -1, - i = 0, j = 0; - - while (true) { - // 0. Get next character. - if (nextChar === -1) { - if (i == str.length) break; - var uCode = str.charCodeAt(i++); - } - else { - var uCode = nextChar; - nextChar = -1; - } - - // 1. Handle surrogates. - if (0xD800 <= uCode && uCode < 0xE000) { // Char is one of surrogates. - if (uCode < 0xDC00) { // We've got lead surrogate. - if (leadSurrogate === -1) { - leadSurrogate = uCode; - continue; - } else { - leadSurrogate = uCode; - // Double lead surrogate found. - uCode = UNASSIGNED; - } - } else { // We've got trail surrogate. - if (leadSurrogate !== -1) { - uCode = 0x10000 + (leadSurrogate - 0xD800) * 0x400 + (uCode - 0xDC00); - leadSurrogate = -1; - } else { - // Incomplete surrogate pair - only trail surrogate found. - uCode = UNASSIGNED; - } - - } - } - else if (leadSurrogate !== -1) { - // Incomplete surrogate pair - only lead surrogate found. - nextChar = uCode; uCode = UNASSIGNED; // Write an error, then current char. - leadSurrogate = -1; - } - - // 2. Convert uCode character. - var dbcsCode = UNASSIGNED; - if (seqObj !== undefined && uCode != UNASSIGNED) { // We are in the middle of the sequence - var resCode = seqObj[uCode]; - if (typeof resCode === 'object') { // Sequence continues. - seqObj = resCode; - continue; - - } else if (typeof resCode == 'number') { // Sequence finished. Write it. - dbcsCode = resCode; - - } else if (resCode == undefined) { // Current character is not part of the sequence. - - // Try default character for this sequence - resCode = seqObj[DEF_CHAR]; - if (resCode !== undefined) { - dbcsCode = resCode; // Found. Write it. - nextChar = uCode; // Current character will be written too in the next iteration. - - } else { - // TODO: What if we have no default? (resCode == undefined) - // Then, we should write first char of the sequence as-is and try the rest recursively. - // Didn't do it for now because no encoding has this situation yet. - // Currently, just skip the sequence and write current char. - } - } - seqObj = undefined; - } - else if (uCode >= 0) { // Regular character - var subtable = this.encodeTable[uCode >> 8]; - if (subtable !== undefined) - dbcsCode = subtable[uCode & 0xFF]; - - if (dbcsCode <= SEQ_START) { // Sequence start - seqObj = this.encodeTableSeq[SEQ_START-dbcsCode]; - continue; - } - - if (dbcsCode == UNASSIGNED && this.gb18030) { - // Use GB18030 algorithm to find character(s) to write. - var idx = findIdx(this.gb18030.uChars, uCode); - if (idx != -1) { - var dbcsCode = this.gb18030.gbChars[idx] + (uCode - this.gb18030.uChars[idx]); - newBuf[j++] = 0x81 + Math.floor(dbcsCode / 12600); dbcsCode = dbcsCode % 12600; - newBuf[j++] = 0x30 + Math.floor(dbcsCode / 1260); dbcsCode = dbcsCode % 1260; - newBuf[j++] = 0x81 + Math.floor(dbcsCode / 10); dbcsCode = dbcsCode % 10; - newBuf[j++] = 0x30 + dbcsCode; - continue; - } - } - } - - // 3. Write dbcsCode character. - if (dbcsCode === UNASSIGNED) - dbcsCode = this.defaultCharSingleByte; - - if (dbcsCode < 0x100) { - newBuf[j++] = dbcsCode; - } - else if (dbcsCode < 0x10000) { - newBuf[j++] = dbcsCode >> 8; // high byte - newBuf[j++] = dbcsCode & 0xFF; // low byte - } - else if (dbcsCode < 0x1000000) { - newBuf[j++] = dbcsCode >> 16; - newBuf[j++] = (dbcsCode >> 8) & 0xFF; - newBuf[j++] = dbcsCode & 0xFF; - } else { - newBuf[j++] = dbcsCode >>> 24; - newBuf[j++] = (dbcsCode >>> 16) & 0xFF; - newBuf[j++] = (dbcsCode >>> 8) & 0xFF; - newBuf[j++] = dbcsCode & 0xFF; - } - } - - this.seqObj = seqObj; - this.leadSurrogate = leadSurrogate; - return newBuf.slice(0, j); -} - -DBCSEncoder.prototype.end = function() { - if (this.leadSurrogate === -1 && this.seqObj === undefined) - return; // All clean. Most often case. - - var newBuf = Buffer.alloc(10), j = 0; - - if (this.seqObj) { // We're in the sequence. - var dbcsCode = this.seqObj[DEF_CHAR]; - if (dbcsCode !== undefined) { // Write beginning of the sequence. - if (dbcsCode < 0x100) { - newBuf[j++] = dbcsCode; - } - else { - newBuf[j++] = dbcsCode >> 8; // high byte - newBuf[j++] = dbcsCode & 0xFF; // low byte - } - } else { - // See todo above. - } - this.seqObj = undefined; - } - - if (this.leadSurrogate !== -1) { - // Incomplete surrogate pair - only lead surrogate found. - newBuf[j++] = this.defaultCharSingleByte; - this.leadSurrogate = -1; - } - - return newBuf.slice(0, j); -} - -// Export for testing -DBCSEncoder.prototype.findIdx = findIdx; - - -// == Decoder ================================================================== - -function DBCSDecoder(options, codec) { - // Decoder state - this.nodeIdx = 0; - this.prevBytes = []; - - // Static data - this.decodeTables = codec.decodeTables; - this.decodeTableSeq = codec.decodeTableSeq; - this.defaultCharUnicode = codec.defaultCharUnicode; - this.gb18030 = codec.gb18030; -} - -DBCSDecoder.prototype.write = function(buf) { - var newBuf = Buffer.alloc(buf.length*2), - nodeIdx = this.nodeIdx, - prevBytes = this.prevBytes, prevOffset = this.prevBytes.length, - seqStart = -this.prevBytes.length, // idx of the start of current parsed sequence. - uCode; - - for (var i = 0, j = 0; i < buf.length; i++) { - var curByte = (i >= 0) ? buf[i] : prevBytes[i + prevOffset]; - - // Lookup in current trie node. - var uCode = this.decodeTables[nodeIdx][curByte]; - - if (uCode >= 0) { - // Normal character, just use it. - } - else if (uCode === UNASSIGNED) { // Unknown char. - // TODO: Callback with seq. - uCode = this.defaultCharUnicode.charCodeAt(0); - i = seqStart; // Skip one byte ('i' will be incremented by the for loop) and try to parse again. - } - else if (uCode === GB18030_CODE) { - if (i >= 3) { - var ptr = (buf[i-3]-0x81)*12600 + (buf[i-2]-0x30)*1260 + (buf[i-1]-0x81)*10 + (curByte-0x30); - } else { - var ptr = (prevBytes[i-3+prevOffset]-0x81)*12600 + - (((i-2 >= 0) ? buf[i-2] : prevBytes[i-2+prevOffset])-0x30)*1260 + - (((i-1 >= 0) ? buf[i-1] : prevBytes[i-1+prevOffset])-0x81)*10 + - (curByte-0x30); - } - var idx = findIdx(this.gb18030.gbChars, ptr); - uCode = this.gb18030.uChars[idx] + ptr - this.gb18030.gbChars[idx]; - } - else if (uCode <= NODE_START) { // Go to next trie node. - nodeIdx = NODE_START - uCode; - continue; - } - else if (uCode <= SEQ_START) { // Output a sequence of chars. - var seq = this.decodeTableSeq[SEQ_START - uCode]; - for (var k = 0; k < seq.length - 1; k++) { - uCode = seq[k]; - newBuf[j++] = uCode & 0xFF; - newBuf[j++] = uCode >> 8; - } - uCode = seq[seq.length-1]; - } - else - throw new Error("iconv-lite internal error: invalid decoding table value " + uCode + " at " + nodeIdx + "/" + curByte); - - // Write the character to buffer, handling higher planes using surrogate pair. - if (uCode >= 0x10000) { - uCode -= 0x10000; - var uCodeLead = 0xD800 | (uCode >> 10); - newBuf[j++] = uCodeLead & 0xFF; - newBuf[j++] = uCodeLead >> 8; - - uCode = 0xDC00 | (uCode & 0x3FF); - } - newBuf[j++] = uCode & 0xFF; - newBuf[j++] = uCode >> 8; - - // Reset trie node. - nodeIdx = 0; seqStart = i+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 = ''; - - // Try to parse all remaining chars. - while (this.prevBytes.length > 0) { - // Skip 1 character in the buffer. - ret += this.defaultCharUnicode; - var bytesArr = this.prevBytes.slice(1); - - // Parse remaining as usual. - this.prevBytes = []; - this.nodeIdx = 0; - if (bytesArr.length > 0) - ret += this.write(bytesArr); - } - - this.prevBytes = []; - this.nodeIdx = 0; - return ret; -} - -// Binary search for GB18030. Returns largest i such that table[i] <= val. -function findIdx(table, val) { - if (table[0] > val) - return -1; - - var l = 0, r = table.length; - while (l < r-1) { // always table[l] <= val < table[r] - var mid = l + ((r-l+1) >> 1); - if (table[mid] <= val) - l = mid; - else - r = mid; - } - return l; -} - - - -/***/ }), - -/***/ 49851: -/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { - - - -// Description of supported double byte encodings and aliases. -// Tables are not require()-d until they are needed to speed up library load. -// require()-s are direct to support Browserify. - -module.exports = { - - // == Japanese/ShiftJIS ==================================================== - // All japanese encodings are based on JIS X set of standards: - // JIS X 0201 - Single-byte encoding of ASCII + ¥ + Kana chars at 0xA1-0xDF. - // JIS X 0208 - Main set of 6879 characters, placed in 94x94 plane, to be encoded by 2 bytes. - // Has several variations in 1978, 1983, 1990 and 1997. - // JIS X 0212 - Supplementary plane of 6067 chars in 94x94 plane. 1990. Effectively dead. - // JIS X 0213 - Extension and modern replacement of 0208 and 0212. Total chars: 11233. - // 2 planes, first is superset of 0208, second - revised 0212. - // Introduced in 2000, revised 2004. Some characters are in Unicode Plane 2 (0x2xxxx) - - // Byte encodings are: - // * Shift_JIS: Compatible with 0201, uses not defined chars in top half as lead bytes for double-byte - // encoding of 0208. Lead byte ranges: 0x81-0x9F, 0xE0-0xEF; Trail byte ranges: 0x40-0x7E, 0x80-0x9E, 0x9F-0xFC. - // Windows CP932 is a superset of Shift_JIS. Some companies added more chars, notably KDDI. - // * EUC-JP: Up to 3 bytes per character. Used mostly on *nixes. - // 0x00-0x7F - lower part of 0201 - // 0x8E, 0xA1-0xDF - upper part of 0201 - // (0xA1-0xFE)x2 - 0208 plane (94x94). - // 0x8F, (0xA1-0xFE)x2 - 0212 plane (94x94). - // * JIS X 208: 7-bit, direct encoding of 0208. Byte ranges: 0x21-0x7E (94 values). Uncommon. - // Used as-is in ISO2022 family. - // * ISO2022-JP: Stateful encoding, with escape sequences to switch between ASCII, - // 0201-1976 Roman, 0208-1978, 0208-1983. - // * ISO2022-JP-1: Adds esc seq for 0212-1990. - // * ISO2022-JP-2: Adds esc seq for GB2313-1980, KSX1001-1992, ISO8859-1, ISO8859-7. - // * ISO2022-JP-3: Adds esc seq for 0201-1976 Kana set, 0213-2000 Planes 1, 2. - // * ISO2022-JP-2004: Adds 0213-2004 Plane 1. - // - // After JIS X 0213 appeared, Shift_JIS-2004, EUC-JISX0213 and ISO2022-JP-2004 followed, with just changing the planes. - // - // Overall, it seems that it's a mess :( http://www8.plala.or.jp/tkubota1/unicode-symbols-map2.html - - 'shiftjis': { - type: '_dbcs', - table: function() { return __nccwpck_require__(40679) }, - encodeAdd: {'\u00a5': 0x5C, '\u203E': 0x7E}, - encodeSkipVals: [{from: 0xED40, to: 0xF940}], - }, - '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 __nccwpck_require__(56406) }, - encodeAdd: {'\u00a5': 0x5C, '\u203E': 0x7E}, - }, - - // TODO: KDDI extension to Shift_JIS - // TODO: IBM CCSID 942 = CP932, but F0-F9 custom chars and other char changes. - // TODO: IBM CCSID 943 = Shift_JIS = CP932 with original Shift_JIS lower 128 chars. - - - // == Chinese/GBK ========================================================== - // http://en.wikipedia.org/wiki/GBK - // We mostly implement W3C recommendation: https://www.w3.org/TR/encoding/#gbk-encoder - - // Oldest GB2312 (1981, ~7600 chars) is a subset of CP936 - 'gb2312': 'cp936', - 'gb231280': 'cp936', - 'gb23121980': 'cp936', - 'csgb2312': 'cp936', - 'csiso58gb231280': 'cp936', - 'euccn': 'cp936', - - // Microsoft's CP936 is a subset and approximation of GBK. - 'windows936': 'cp936', - 'ms936': 'cp936', - '936': 'cp936', - 'cp936': { - type: '_dbcs', - table: function() { return __nccwpck_require__(74488) }, - }, - - // GBK (~22000 chars) is an extension of CP936 that added user-mapped chars and some other. - 'gbk': { - type: '_dbcs', - table: function() { return (__nccwpck_require__(74488).concat)(__nccwpck_require__(55914)) }, - }, - 'xgbk': 'gbk', - 'isoir58': 'gbk', - - // GB18030 is an algorithmic extension of GBK. - // Main source: https://www.w3.org/TR/encoding/#gbk-encoder - // http://icu-project.org/docs/papers/gb18030.html - // http://source.icu-project.org/repos/icu/data/trunk/charset/data/xml/gb-18030-2000.xml - // http://www.khngai.com/chinese/charmap/tblgbk.php?page=0 - 'gb18030': { - type: '_dbcs', - table: function() { return (__nccwpck_require__(74488).concat)(__nccwpck_require__(55914)) }, - gb18030: function() { return __nccwpck_require__(99129) }, - encodeSkipVals: [0x80], - encodeAdd: {'€': 0xA2E3}, - }, - - 'chinese': 'gb18030', - - - // == Korean =============================================================== - // EUC-KR, KS_C_5601 and KS X 1001 are exactly the same. - 'windows949': 'cp949', - 'ms949': 'cp949', - '949': 'cp949', - 'cp949': { - type: '_dbcs', - table: function() { return __nccwpck_require__(21166) }, - }, - - 'cseuckr': 'cp949', - 'csksc56011987': 'cp949', - 'euckr': 'cp949', - 'isoir149': 'cp949', - 'korean': 'cp949', - 'ksc56011987': 'cp949', - 'ksc56011989': 'cp949', - 'ksc5601': 'cp949', - - - // == Big5/Taiwan/Hong Kong ================================================ - // There are lots of tables for Big5 and cp950. Please see the following links for history: - // http://moztw.org/docs/big5/ http://www.haible.de/bruno/charsets/conversion-tables/Big5.html - // Variations, in roughly number of defined chars: - // * Windows CP 950: Microsoft variant of Big5. Canonical: http://www.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/WINDOWS/CP950.TXT - // * Windows CP 951: Microsoft variant of Big5-HKSCS-2001. Seems to be never public. http://me.abelcheung.org/articles/research/what-is-cp951/ - // * Big5-2003 (Taiwan standard) almost superset of cp950. - // * Unicode-at-on (UAO) / Mozilla 1.8. Falling out of use on the Web. Not supported by other browsers. - // * Big5-HKSCS (-2001, -2004, -2008). Hong Kong standard. - // many unicode code points moved from PUA to Supplementary plane (U+2XXXX) over the years. - // Plus, it has 4 combining sequences. - // Seems that Mozilla refused to support it for 10 yrs. https://bugzilla.mozilla.org/show_bug.cgi?id=162431 https://bugzilla.mozilla.org/show_bug.cgi?id=310299 - // because big5-hkscs is the only encoding to include astral characters in non-algorithmic way. - // Implementations are not consistent within browsers; sometimes labeled as just big5. - // MS Internet Explorer switches from big5 to big5-hkscs when a patch applied. - // Great discussion & recap of what's going on https://bugzilla.mozilla.org/show_bug.cgi?id=912470#c31 - // In the encoder, it might make sense to support encoding old PUA mappings to Big5 bytes seq-s. - // Official spec: http://www.ogcio.gov.hk/en/business/tech_promotion/ccli/terms/doc/2003cmp_2008.txt - // http://www.ogcio.gov.hk/tc/business/tech_promotion/ccli/terms/doc/hkscs-2008-big5-iso.txt - // - // Current understanding of how to deal with Big5(-HKSCS) is in the Encoding Standard, http://encoding.spec.whatwg.org/#big5-encoder - // Unicode mapping (http://www.unicode.org/Public/MAPPINGS/OBSOLETE/EASTASIA/OTHER/BIG5.TXT) is said to be wrong. - - 'windows950': 'cp950', - 'ms950': 'cp950', - '950': 'cp950', - 'cp950': { - type: '_dbcs', - table: function() { return __nccwpck_require__(72324) }, - }, - - // Big5 has many variations and is an extension of cp950. We use Encoding Standard's as a consensus. - 'big5': 'big5hkscs', - 'big5hkscs': { - type: '_dbcs', - table: function() { return (__nccwpck_require__(72324).concat)(__nccwpck_require__(43267)) }, - encodeSkipVals: [ - // Although Encoding Standard says we should avoid encoding to HKSCS area (See Step 1 of - // https://encoding.spec.whatwg.org/#index-big5-pointer), we still do it to increase compatibility with ICU. - // But if a single unicode point can be encoded both as HKSCS and regular Big5, we prefer the latter. - 0x8e69, 0x8e6f, 0x8e7e, 0x8eab, 0x8eb4, 0x8ecd, 0x8ed0, 0x8f57, 0x8f69, 0x8f6e, 0x8fcb, 0x8ffe, - 0x906d, 0x907a, 0x90c4, 0x90dc, 0x90f1, 0x91bf, 0x92af, 0x92b0, 0x92b1, 0x92b2, 0x92d1, 0x9447, 0x94ca, - 0x95d9, 0x96fc, 0x9975, 0x9b76, 0x9b78, 0x9b7b, 0x9bc6, 0x9bde, 0x9bec, 0x9bf6, 0x9c42, 0x9c53, 0x9c62, - 0x9c68, 0x9c6b, 0x9c77, 0x9cbc, 0x9cbd, 0x9cd0, 0x9d57, 0x9d5a, 0x9dc4, 0x9def, 0x9dfb, 0x9ea9, 0x9eef, - 0x9efd, 0x9f60, 0x9fcb, 0xa077, 0xa0dc, 0xa0df, 0x8fcc, 0x92c8, 0x9644, 0x96ed, - - // Step 2 of https://encoding.spec.whatwg.org/#index-big5-pointer: Use last pointer for U+2550, U+255E, U+2561, U+256A, U+5341, or U+5345 - 0xa2a4, 0xa2a5, 0xa2a7, 0xa2a6, 0xa2cc, 0xa2ce, - ], - }, - - 'cnbig5': 'big5hkscs', - 'csbig5': 'big5hkscs', - 'xxbig5': 'big5hkscs', -}; - - -/***/ }), - -/***/ 65848: -/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { - - - -// Update this array if you add/rename/remove files in this directory. -// We support Browserify by skipping automatic module discovery and requiring modules directly. -var modules = [ - __nccwpck_require__(2287), - __nccwpck_require__(31492), - __nccwpck_require__(45882), - __nccwpck_require__(83352), - __nccwpck_require__(71626), - __nccwpck_require__(64570), - __nccwpck_require__(2886), - __nccwpck_require__(46121), - __nccwpck_require__(49851), -]; - -// Put all encoding/alias/codec definitions to single object and export it. -for (var i = 0; i < modules.length; i++) { - var module = modules[i]; - for (var enc in module) - if (Object.prototype.hasOwnProperty.call(module, enc)) - exports[enc] = module[enc]; -} - - -/***/ }), - -/***/ 2287: -/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { - - -var Buffer = (__nccwpck_require__(88070).Buffer); - -// Export Node.js internal encodings. - -module.exports = { - // Encodings - 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" }, - - // Codec. - _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"; // Use utf8 for decoding. - this.encoder = InternalEncoderCesu8; - - // Add decoder for versions of Node not supporting CESU-8 - if (Buffer.from('eda0bdedb2a9', 'hex').toString() !== '💩') { - this.decoder = InternalDecoderCesu8; - this.defaultCharUnicode = iconv.defaultCharUnicode; - } - } -} - -InternalCodec.prototype.encoder = InternalEncoder; -InternalCodec.prototype.decoder = InternalDecoder; - -//------------------------------------------------------------------------------ - -// We use node.js internal decoder. Its signature is the same as ours. -var StringDecoder = (__nccwpck_require__(13193).StringDecoder); - -if (!StringDecoder.prototype.end) // Node v0.8 doesn't have this method. - StringDecoder.prototype.end = function() {}; - - -function InternalDecoder(options, codec) { - this.decoder = new StringDecoder(codec.enc); -} - -InternalDecoder.prototype.write = function(buf) { - if (!Buffer.isBuffer(buf)) { - buf = Buffer.from(buf); - } - - return this.decoder.write(buf); -} - -InternalDecoder.prototype.end = function() { - return this.decoder.end(); -} - - -//------------------------------------------------------------------------------ -// Encoder is mostly trivial - -function InternalEncoder(options, codec) { - this.enc = codec.enc; -} - -InternalEncoder.prototype.write = function(str) { - return Buffer.from(str, this.enc); -} - -InternalEncoder.prototype.end = function() { -} - - -//------------------------------------------------------------------------------ -// Except base64 encoder, which must keep its state. - -function InternalEncoderBase64(options, codec) { - this.prevStr = ''; -} - -InternalEncoderBase64.prototype.write = function(str) { - str = this.prevStr + str; - var completeQuads = str.length - (str.length % 4); - this.prevStr = str.slice(completeQuads); - str = str.slice(0, completeQuads); - - return Buffer.from(str, "base64"); -} - -InternalEncoderBase64.prototype.end = function() { - return Buffer.from(this.prevStr, "base64"); -} - - -//------------------------------------------------------------------------------ -// CESU-8 encoder is also special. - -function InternalEncoderCesu8(options, codec) { -} - -InternalEncoderCesu8.prototype.write = function(str) { - var buf = Buffer.alloc(str.length * 3), bufIdx = 0; - for (var i = 0; i < str.length; i++) { - var charCode = str.charCodeAt(i); - // Naive implementation, but it works because CESU-8 is especially easy - // to convert from UTF-16 (which all JS strings are encoded in). - if (charCode < 0x80) - buf[bufIdx++] = charCode; - else if (charCode < 0x800) { - buf[bufIdx++] = 0xC0 + (charCode >>> 6); - buf[bufIdx++] = 0x80 + (charCode & 0x3f); - } - else { // charCode will always be < 0x10000 in javascript. - buf[bufIdx++] = 0xE0 + (charCode >>> 12); - buf[bufIdx++] = 0x80 + ((charCode >>> 6) & 0x3f); - buf[bufIdx++] = 0x80 + (charCode & 0x3f); - } - } - return buf.slice(0, bufIdx); -} - -InternalEncoderCesu8.prototype.end = function() { -} - -//------------------------------------------------------------------------------ -// CESU-8 decoder is not implemented in Node v4.0+ - -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 & 0xC0) !== 0x80) { // Leading byte - if (contBytes > 0) { // Previous code is invalid - res += this.defaultCharUnicode; - contBytes = 0; - } - - if (curByte < 0x80) { // Single-byte code - res += String.fromCharCode(curByte); - } else if (curByte < 0xE0) { // Two-byte code - acc = curByte & 0x1F; - contBytes = 1; accBytes = 1; - } else if (curByte < 0xF0) { // Three-byte code - acc = curByte & 0x0F; - contBytes = 2; accBytes = 1; - } else { // Four or more are not supported for CESU-8. - res += this.defaultCharUnicode; - } - } else { // Continuation byte - if (contBytes > 0) { // We're waiting for it. - acc = (acc << 6) | (curByte & 0x3f); - contBytes--; accBytes++; - if (contBytes === 0) { - // Check for overlong encoding, but support Modified UTF-8 (encoding NULL as C0 80) - if (accBytes === 2 && acc < 0x80 && acc > 0) - res += this.defaultCharUnicode; - else if (accBytes === 3 && acc < 0x800) - res += this.defaultCharUnicode; - else - // Actually add character. - res += String.fromCharCode(acc); - } - } else { // Unexpected continuation byte - 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; -} - - -/***/ }), - -/***/ 71626: -/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { - - -var Buffer = (__nccwpck_require__(88070).Buffer); - -// Single-byte codec. Needs a 'chars' string parameter that contains 256 or 128 chars that -// correspond to encoded bytes (if 128 - then lower half is ASCII). - -exports._sbcs = SBCSCodec; -function SBCSCodec(codecOptions, iconv) { - if (!codecOptions) - throw new Error("SBCS codec is called without the data.") - - // Prepare char buffer for decoding. - 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 = Buffer.from(codecOptions.chars, 'ucs2'); - - // Encoding buffer. - var encodeBuf = Buffer.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(str) { - var buf = Buffer.alloc(str.length); - for (var i = 0; i < str.length; i++) - buf[i] = this.encodeBuf[str.charCodeAt(i)]; - - return buf; -} - -SBCSEncoder.prototype.end = function() { -} - - -function SBCSDecoder(options, codec) { - this.decodeBuf = codec.decodeBuf; -} - -SBCSDecoder.prototype.write = function(buf) { - // Strings are immutable in JS -> we use ucs2 buffer to speed up computations. - var decodeBuf = this.decodeBuf; - var newBuf = Buffer.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() { -} - - -/***/ }), - -/***/ 2886: -/***/ ((module) => { - - - -// Generated data for sbcs codec. Don't edit manually. Regenerate using generation/gen-sbcs.js script. -module.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": "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007\b\t\n\u000b\f\r\u000e\u000f\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017\u0018\u0019\u001a\u001b\u001c\u001d\u001e\u001f !\"#$٪&'()*+,-./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": "ÄÅÇÉÑÖÜáàâäãåçéèêëíìîïñóòôöõúùûü†°¢£§•¶ß®©™´¨≠ÆØ∞±≤≥¥µ∂∑∏π∫ªºΩæø¿¡¬√ƒ≈∆«»… ÀÃÕŒœ–—“”‘’÷◊ÿŸ⁄¤‹›fifl‡·‚„‰ÂÊÁËÈÍÎÏÌÓÔ�ÒÚÛÙıˆ˜¯˘˙˚¸˝˛ˇ" - }, - "macromania": { - "type": "_sbcs", - "chars": "ÄÅÇÉÑÖÜáàâäãåçéèêëíìîïñóòôöõúùûü†°¢£§•¶ß®©™´¨≠ĂŞ∞±≤≥¥µ∂∑∏π∫ªºΩăş¿¡¬√ƒ≈∆«»… ÀÃÕŒœ–—“”‘’÷◊ÿŸ⁄¤‹›Ţţ‡·‚„‰ÂÊÁËÈÍÎÏÌÓÔ�ÒÚÛÙıˆ˜¯˘˙˚¸˝˛ˇ" - }, - "macthai": { - "type": "_sbcs", - "chars": "«»…“”�•‘’� กขฃคฅฆงจฉชซฌญฎฏฐฑฒณดตถทธนบปผฝพฟภมยรฤลฦวศษสหฬอฮฯะัาำิีึืฺุู​–—฿เแโใไๅๆ็่้๊๋์ํ™๏๐๑๒๓๔๕๖๗๘๙®©����" - }, - "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": "\u0000ÚỤ\u0003ỪỬỮ\u0007\b\t\n\u000b\f\r\u000e\u000f\u0010ỨỰỲỶỸÝỴ\u0018\u0019\u001a\u001b\u001c\u001d\u001e\u001f !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ÀẢÃÁẠẶẬÈẺẼÉẸỆÌỈĨÍỊÒỎÕÓỌỘỜỞỠỚỢÙỦŨ ĂÂÊÔƠƯĐăâêôơưđẶ̀̀̉̃́àảãáạẲằẳẵắẴẮẦẨẪẤỀặầẩẫấậèỂẻẽéẹềểễếệìỉỄẾỒĩíịòỔỏõóọồổỗốộờởỡớợùỖủũúụừửữứựỳỷỹýỵỐ" - }, - "georgianacademy": { - "type": "_sbcs", - "chars": "€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿აბგდევზთიკლმნოპჟრსტუფქღყშჩცძწჭხჯჰჱჲჳჴჵჶçèéêëìíîïðñòóôõö÷øùúûüýþÿ" - }, - "georgianps": { - "type": "_sbcs", - "chars": "€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿აბგდევზჱთიკლმნჲოპჟრსტჳუფქღყშჩცძწჭხჴჯჰჵæçèéêëìíîïðñòóôõö÷øùúûüýþÿ" - }, - "pt154": { - "type": "_sbcs", - "chars": "ҖҒӮғ„…ҶҮҲүҠӢҢҚҺҸҗ‘’“”•–—ҳҷҡӣңқһҹ ЎўЈӨҘҰ§Ё©Ә«¬ӯ®Ҝ°ұІіҙө¶·ё№ә»јҪҫҝАБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмнопрстуфхцчшщъыьэюя" - }, - "viscii": { - "type": "_sbcs", - "chars": "\u0000\u0001Ẳ\u0003\u0004ẴẪ\u0007\b\t\n\u000b\f\r\u000e\u000f\u0010\u0011\u0012\u0013Ỷ\u0015\u0016\u0017\u0018Ỹ\u001a\u001b\u001c\u001dỴ\u001f !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ẠẮẰẶẤẦẨẬẼẸẾỀỂỄỆỐỒỔỖỘỢỚỜỞỊỎỌỈỦŨỤỲÕắằặấầẩậẽẹếềểễệốồổỗỠƠộờởịỰỨỪỬơớƯÀÁÂÃẢĂẳẵÈÉÊẺÌÍĨỳĐứÒÓÔạỷừửÙÚỹỵÝỡưàáâãảăữẫèéêẻìíĩỉđựòóôõỏọụùúũủýợỮ" - }, - "iso646cn": { - "type": "_sbcs", - "chars": "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007\b\t\n\u000b\f\r\u000e\u000f\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017\u0018\u0019\u001a\u001b\u001c\u001d\u001e\u001f !\"#¥%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}‾��������������������������������������������������������������������������������������������������������������������������������" - }, - "iso646jp": { - "type": "_sbcs", - "chars": "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007\b\t\n\u000b\f\r\u000e\u000f\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017\u0018\u0019\u001a\u001b\u001c\u001d\u001e\u001f !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[¥]^_`abcdefghijklmnopqrstuvwxyz{|}‾��������������������������������������������������������������������������������������������������������������������������������" - }, - "hproman8": { - "type": "_sbcs", - "chars": "€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ÀÂÈÊËÎÏ´ˋˆ¨˜ÙÛ₤¯Ýý°ÇçÑñ¡¿¤£¥§ƒ¢âêôûáéóúàèòùäëöüÅîØÆåíøæÄìÖÜÉïßÔÁÃãÐðÍÌÓÒÕõŠšÚŸÿÞþ·µ¶¾—¼½ªº«■»±�" - }, - "macintosh": { - "type": "_sbcs", - "chars": "ÄÅÇÉÑÖÜáàâäãåçéèêëíìîïñóòôöõúùûü†°¢£§•¶ß®©™´¨≠ÆØ∞±≤≥¥µ∂∑∏π∫ªºΩæø¿¡¬√ƒ≈∆«»… ÀÃÕŒœ–—“”‘’÷◊ÿŸ⁄¤‹›fifl‡·‚„‰ÂÊÁËÈÍÎÏÌÓÔ�ÒÚÛÙıˆ˜¯˘˙˚¸˝˛ˇ" - }, - "ascii": { - "type": "_sbcs", - "chars": "��������������������������������������������������������������������������������������������������������������������������������" - }, - "tis620": { - "type": "_sbcs", - "chars": "���������������������������������กขฃคฅฆงจฉชซฌญฎฏฐฑฒณดตถทธนบปผฝพฟภมยรฤลฦวศษสหฬอฮฯะัาำิีึืฺุู����฿เแโใไๅๆ็่้๊๋์ํ๎๏๐๑๒๓๔๕๖๗๘๙๚๛����" - } -} - -/***/ }), - -/***/ 64570: -/***/ ((module) => { - - - -// Manually added data to be used by sbcs codec in addition to generated one. - -module.exports = { - // Not supported by iconv, not sure why. - "10029": "maccenteuro", - "maccenteuro": { - "type": "_sbcs", - "chars": "ÄĀāÉĄÖÜáąČäčĆć鏟ĎíďĒēĖóėôöõúĚěü†°Ę£§•¶ß®©™ę¨≠ģĮįĪ≤≥īĶ∂∑łĻļĽľĹĺŅņѬ√ńŇ∆«»… ňŐÕőŌ–—“”‘’÷◊ōŔŕŘ‹›řŖŗŠ‚„šŚśÁŤťÍŽžŪÓÔūŮÚůŰűŲųÝýķŻŁżĢˇ" - }, - - "808": "cp808", - "ibm808": "cp808", - "cp808": { - "type": "_sbcs", - "chars": "АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмноп░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀рстуфхцчшщъыьэюяЁёЄєЇїЎў°∙·√№€■ " - }, - - "mik": { - "type": "_sbcs", - "chars": "АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмнопрстуфхцчшщъыьэюя└┴┬├─┼╣║╚╔╩╦╠═╬┐░▒▓│┤№§╗╝┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■ " - }, - - "cp720": { - "type": "_sbcs", - "chars": "\x80\x81éâ\x84à\x86çêëèïî\x8d\x8e\x8f\x90\u0651\u0652ô¤ـûùءآأؤ£إئابةتثجحخدذرزسشص«»░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀ضطظعغفµقكلمنهوىي≡\u064b\u064c\u064d\u064e\u064f\u0650≈°∙·√ⁿ²■\u00a0" - }, - - // Aliases of generated encodings. - "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", -}; - - - -/***/ }), - -/***/ 45882: -/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { - - -var Buffer = (__nccwpck_require__(88070).Buffer); - -// Note: UTF16-LE (or UCS2) codec is Node.js native. See encodings/internal.js - -// == UTF16-BE codec. ========================================================== - -exports.utf16be = Utf16BECodec; -function Utf16BECodec() { -} - -Utf16BECodec.prototype.encoder = Utf16BEEncoder; -Utf16BECodec.prototype.decoder = Utf16BEDecoder; -Utf16BECodec.prototype.bomAware = true; - - -// -- Encoding - -function Utf16BEEncoder() { -} - -Utf16BEEncoder.prototype.write = function(str) { - var buf = Buffer.from(str, '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() { -} - - -// -- Decoding - -function Utf16BEDecoder() { - this.overflowByte = -1; -} - -Utf16BEDecoder.prototype.write = function(buf) { - if (buf.length == 0) - return ''; - - var buf2 = Buffer.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; -} - - -// == UTF-16 codec ============================================================= -// Decoder chooses automatically from UTF-16LE and UTF-16BE using BOM and space-based heuristic. -// Defaults to UTF-16LE, as it's prevalent and default in Node. -// http://en.wikipedia.org/wiki/UTF-16 and http://encoding.spec.whatwg.org/#utf-16le -// Decoder default can be changed: iconv.decode(buf, 'utf16', {defaultEncoding: 'utf-16be'}); - -// Encoder uses UTF-16LE and prepends BOM (which can be overridden with addBOM: false). - -exports.utf16 = Utf16Codec; -function Utf16Codec(codecOptions, iconv) { - this.iconv = iconv; -} - -Utf16Codec.prototype.encoder = Utf16Encoder; -Utf16Codec.prototype.decoder = Utf16Decoder; - - -// -- Encoding (pass-through) - -function Utf16Encoder(options, codec) { - options = options || {}; - if (options.addBOM === undefined) - options.addBOM = true; - this.encoder = codec.iconv.getEncoder('utf-16le', options); -} - -Utf16Encoder.prototype.write = function(str) { - return this.encoder.write(str); -} - -Utf16Encoder.prototype.end = function() { - return this.encoder.end(); -} - - -// -- Decoding - -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) { - // Codec is not chosen yet. Accumulate initial bytes. - this.initialBufs.push(buf); - this.initialBufsLen += buf.length; - - if (this.initialBufsLen < 16) // We need more bytes to use space heuristic (see below) - return ''; - - // We have enough bytes -> detect endianness. - 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; // Number of ASCII chars when decoded as LE or BE. - - 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) { - // Check BOM first. - if (b[0] === 0xFF && b[1] === 0xFE) return 'utf-16le'; - if (b[0] === 0xFE && b[1] === 0xFF) 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; - } - } - } - } - - // Make decisions. - // Most of the time, the content has ASCII chars (U+00**), but the opposite (U+**00) is uncommon. - // So, we count ASCII as if it was LE or BE, and decide from that. - if (asciiCharsBE > asciiCharsLE) return 'utf-16be'; - if (asciiCharsBE < asciiCharsLE) return 'utf-16le'; - - // Couldn't decide (likely all zeros or not enough data). - return defaultEncoding || 'utf-16le'; -} - - - - -/***/ }), - -/***/ 31492: -/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { - - - -var Buffer = (__nccwpck_require__(88070).Buffer); - -// == UTF32-LE/BE codec. ========================================================== - -exports._utf32 = Utf32Codec; - -function Utf32Codec(codecOptions, iconv) { - this.iconv = iconv; - this.bomAware = true; - this.isLE = codecOptions.isLE; -} - -exports.utf32le = { type: '_utf32', isLE: true }; -exports.utf32be = { type: '_utf32', isLE: false }; - -// Aliases -exports.ucs4le = 'utf32le'; -exports.ucs4be = 'utf32be'; - -Utf32Codec.prototype.encoder = Utf32Encoder; -Utf32Codec.prototype.decoder = Utf32Decoder; - -// -- Encoding - -function Utf32Encoder(options, codec) { - this.isLE = codec.isLE; - this.highSurrogate = 0; -} - -Utf32Encoder.prototype.write = function(str) { - var src = Buffer.from(str, 'ucs2'); - var dst = Buffer.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 = (0xD800 <= code && code < 0xDC00); - var isLowSurrogate = (0xDC00 <= code && code < 0xE000); - - if (this.highSurrogate) { - if (isHighSurrogate || !isLowSurrogate) { - // There shouldn't be two high surrogates in a row, nor a high surrogate which isn't followed by a low - // surrogate. If this happens, keep the pending high surrogate as a stand-alone semi-invalid character - // (technically wrong, but expected by some applications, like Windows file names). - write32.call(dst, this.highSurrogate, offset); - offset += 4; - } - else { - // Create 32-bit value from high and low surrogates; - var codepoint = (((this.highSurrogate - 0xD800) << 10) | (code - 0xDC00)) + 0x10000; - - write32.call(dst, codepoint, offset); - offset += 4; - this.highSurrogate = 0; - - continue; - } - } - - if (isHighSurrogate) - this.highSurrogate = code; - else { - // Even if the current character is a low surrogate, with no previous high surrogate, we'll - // encode it as a semi-invalid stand-alone character for the same reasons expressed above for - // unpaired high surrogates. - 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() { - // Treat any leftover high surrogate as a semi-valid independent character. - if (!this.highSurrogate) - return; - - var buf = Buffer.alloc(4); - - if (this.isLE) - buf.writeUInt32LE(this.highSurrogate, 0); - else - buf.writeUInt32BE(this.highSurrogate, 0); - - this.highSurrogate = 0; - - return buf; -}; - -// -- Decoding - -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 = Buffer.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) { - // NOTE: codepoint is a signed int32 and can be negative. - // NOTE: We copied this block from below to help V8 optimize it (it works with array, not buffer). - 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); - } - } - - // Main loop. Should be as optimized as possible. - for (; i < src.length - 3; i += 4) { - // NOTE: codepoint is a signed int32 and can be negative. - 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); - } - - // Keep overflowing bytes. - for (; i < src.length; i++) { - overflow.push(src[i]); - } - - return dst.slice(0, offset).toString('ucs2'); -}; - -function _writeCodepoint(dst, offset, codepoint, badChar) { - // NOTE: codepoint is signed int32 and can be negative. We keep it that way to help V8 with optimizations. - if (codepoint < 0 || codepoint > 0x10FFFF) { - // Not a valid Unicode codepoint - codepoint = badChar; - } - - // Ephemeral Planes: Write high surrogate. - if (codepoint >= 0x10000) { - codepoint -= 0x10000; - - var high = 0xD800 | (codepoint >> 10); - dst[offset++] = high & 0xff; - dst[offset++] = high >> 8; - - // Low surrogate is written below. - var codepoint = 0xDC00 | (codepoint & 0x3FF); - } - - // Write BMP char or low surrogate. - dst[offset++] = codepoint & 0xff; - dst[offset++] = codepoint >> 8; - - return offset; -}; - -Utf32Decoder.prototype.end = function() { - this.overflow.length = 0; -}; - -// == UTF-32 Auto codec ============================================================= -// Decoder chooses automatically from UTF-32LE and UTF-32BE using BOM and space-based heuristic. -// Defaults to UTF-32LE. http://en.wikipedia.org/wiki/UTF-32 -// Encoder/decoder default can be changed: iconv.decode(buf, 'utf32', {defaultEncoding: 'utf-32be'}); - -// Encoder prepends BOM (which can be overridden with (addBOM: false}). - -exports.utf32 = Utf32AutoCodec; -exports.ucs4 = 'utf32'; - -function Utf32AutoCodec(options, iconv) { - this.iconv = iconv; -} - -Utf32AutoCodec.prototype.encoder = Utf32AutoEncoder; -Utf32AutoCodec.prototype.decoder = Utf32AutoDecoder; - -// -- Encoding - -function Utf32AutoEncoder(options, codec) { - options = options || {}; - - if (options.addBOM === undefined) - options.addBOM = true; - - this.encoder = codec.iconv.getEncoder(options.defaultEncoding || 'utf-32le', options); -} - -Utf32AutoEncoder.prototype.write = function(str) { - return this.encoder.write(str); -}; - -Utf32AutoEncoder.prototype.end = function() { - return this.encoder.end(); -}; - -// -- Decoding - -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) { - // Codec is not chosen yet. Accumulate initial bytes. - this.initialBufs.push(buf); - this.initialBufsLen += buf.length; - - if (this.initialBufsLen < 32) // We need more bytes to use space heuristic (see below) - return ''; - - // We have enough bytes -> detect endianness. - 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; // Number of invalid chars when decoded as LE or BE. - var bmpCharsLE = 0, bmpCharsBE = 0; // Number of BMP chars when decoded as LE or BE. - - 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) { - // Check BOM first. - if (b[0] === 0xFF && b[1] === 0xFE && b[2] === 0 && b[3] === 0) { - return 'utf-32le'; - } - if (b[0] === 0 && b[1] === 0 && b[2] === 0xFE && b[3] === 0xFF) { - return 'utf-32be'; - } - } - - if (b[0] !== 0 || b[1] > 0x10) invalidBE++; - if (b[3] !== 0 || b[2] > 0x10) 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; - } - } - } - } - - // Make decisions. - if (bmpCharsBE - invalidBE > bmpCharsLE - invalidLE) return 'utf-32be'; - if (bmpCharsBE - invalidBE < bmpCharsLE - invalidLE) return 'utf-32le'; - - // Couldn't decide (likely all zeros or not enough data). - return defaultEncoding || 'utf-32le'; -} - - -/***/ }), - -/***/ 83352: -/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { - - -var Buffer = (__nccwpck_require__(88070).Buffer); - -// UTF-7 codec, according to https://tools.ietf.org/html/rfc2152 -// See also below a UTF-7-IMAP codec, according to http://tools.ietf.org/html/rfc3501#section-5.1.3 - -exports.utf7 = Utf7Codec; -exports.unicode11utf7 = 'utf7'; // Alias UNICODE-1-1-UTF-7 -function Utf7Codec(codecOptions, iconv) { - this.iconv = iconv; -}; - -Utf7Codec.prototype.encoder = Utf7Encoder; -Utf7Codec.prototype.decoder = Utf7Decoder; -Utf7Codec.prototype.bomAware = true; - - -// -- Encoding - -var nonDirectChars = /[^A-Za-z0-9'\(\),-\.\/:\? \n\r\t]+/g; - -function Utf7Encoder(options, codec) { - this.iconv = codec.iconv; -} - -Utf7Encoder.prototype.write = function(str) { - // Naive implementation. - // Non-direct chars are encoded as "+-"; single "+" char is encoded as "+-". - return Buffer.from(str.replace(nonDirectChars, function(chunk) { - return "+" + (chunk === '+' ? '' : - this.iconv.encode(chunk, 'utf16-be').toString('base64').replace(/=+$/, '')) - + "-"; - }.bind(this))); -} - -Utf7Encoder.prototype.end = function() { -} - - -// -- Decoding - -function Utf7Decoder(options, codec) { - this.iconv = codec.iconv; - this.inBase64 = false; - this.base64Accum = ''; -} - -var base64Regex = /[A-Za-z0-9\/+]/; -var base64Chars = []; -for (var i = 0; i < 256; i++) - base64Chars[i] = base64Regex.test(String.fromCharCode(i)); - -var plusChar = '+'.charCodeAt(0), - minusChar = '-'.charCodeAt(0), - andChar = '&'.charCodeAt(0); - -Utf7Decoder.prototype.write = function(buf) { - var res = "", lastI = 0, - inBase64 = this.inBase64, - base64Accum = this.base64Accum; - - // The decoder is more involved as we must handle chunks in stream. - - for (var i = 0; i < buf.length; i++) { - if (!inBase64) { // We're in direct mode. - // Write direct chars until '+' - if (buf[i] == plusChar) { - res += this.iconv.decode(buf.slice(lastI, i), "ascii"); // Write direct chars. - lastI = i+1; - inBase64 = true; - } - } else { // We decode base64. - if (!base64Chars[buf[i]]) { // Base64 ended. - if (i == lastI && buf[i] == minusChar) {// "+-" -> "+" - res += "+"; - } else { - var b64str = base64Accum + this.iconv.decode(buf.slice(lastI, i), "ascii"); - res += this.iconv.decode(Buffer.from(b64str, 'base64'), "utf16-be"); - } - - if (buf[i] != minusChar) // Minus is absorbed after base64. - i--; - - lastI = i+1; - inBase64 = false; - base64Accum = ''; - } - } - } - - if (!inBase64) { - res += this.iconv.decode(buf.slice(lastI), "ascii"); // Write direct chars. - } else { - var b64str = base64Accum + this.iconv.decode(buf.slice(lastI), "ascii"); - - var canBeDecoded = b64str.length - (b64str.length % 8); // Minimal chunk: 2 quads -> 2x3 bytes -> 3 chars. - base64Accum = b64str.slice(canBeDecoded); // The rest will be decoded in future. - b64str = b64str.slice(0, canBeDecoded); - - res += this.iconv.decode(Buffer.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(Buffer.from(this.base64Accum, 'base64'), "utf16-be"); - - this.inBase64 = false; - this.base64Accum = ''; - return res; -} - - -// UTF-7-IMAP codec. -// RFC3501 Sec. 5.1.3 Modified UTF-7 (http://tools.ietf.org/html/rfc3501#section-5.1.3) -// Differences: -// * Base64 part is started by "&" instead of "+" -// * Direct characters are 0x20-0x7E, except "&" (0x26) -// * In Base64, "," is used instead of "/" -// * Base64 must not be used to represent direct characters. -// * No implicit shift back from Base64 (should always end with '-') -// * String must end in non-shifted position. -// * "-&" while in base64 is not allowed. - - -exports.utf7imap = Utf7IMAPCodec; -function Utf7IMAPCodec(codecOptions, iconv) { - this.iconv = iconv; -}; - -Utf7IMAPCodec.prototype.encoder = Utf7IMAPEncoder; -Utf7IMAPCodec.prototype.decoder = Utf7IMAPDecoder; -Utf7IMAPCodec.prototype.bomAware = true; - - -// -- Encoding - -function Utf7IMAPEncoder(options, codec) { - this.iconv = codec.iconv; - this.inBase64 = false; - this.base64Accum = Buffer.alloc(6); - this.base64AccumIdx = 0; -} - -Utf7IMAPEncoder.prototype.write = function(str) { - var inBase64 = this.inBase64, - base64Accum = this.base64Accum, - base64AccumIdx = this.base64AccumIdx, - buf = Buffer.alloc(str.length*5 + 10), bufIdx = 0; - - for (var i = 0; i < str.length; i++) { - var uChar = str.charCodeAt(i); - if (0x20 <= uChar && uChar <= 0x7E) { // Direct character or '&'. - if (inBase64) { - if (base64AccumIdx > 0) { - bufIdx += buf.write(base64Accum.slice(0, base64AccumIdx).toString('base64').replace(/\//g, ',').replace(/=+$/, ''), bufIdx); - base64AccumIdx = 0; - } - - buf[bufIdx++] = minusChar; // Write '-', then go to direct mode. - inBase64 = false; - } - - if (!inBase64) { - buf[bufIdx++] = uChar; // Write direct character - - if (uChar === andChar) // Ampersand -> '&-' - buf[bufIdx++] = minusChar; - } - - } else { // Non-direct character - if (!inBase64) { - buf[bufIdx++] = andChar; // Write '&', then go to base64 mode. - inBase64 = true; - } - if (inBase64) { - base64Accum[base64AccumIdx++] = uChar >> 8; - base64Accum[base64AccumIdx++] = uChar & 0xFF; - - 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 = Buffer.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; // Write '-', then go to direct mode. - this.inBase64 = false; - } - - return buf.slice(0, bufIdx); -} - - -// -- Decoding - -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; - - // The decoder is more involved as we must handle chunks in stream. - // It is forgiving, closer to standard UTF-7 (for example, '-' is optional at the end). - - for (var i = 0; i < buf.length; i++) { - if (!inBase64) { // We're in direct mode. - // Write direct chars until '&' - if (buf[i] == andChar) { - res += this.iconv.decode(buf.slice(lastI, i), "ascii"); // Write direct chars. - lastI = i+1; - inBase64 = true; - } - } else { // We decode base64. - if (!base64IMAPChars[buf[i]]) { // Base64 ended. - if (i == lastI && buf[i] == minusChar) { // "&-" -> "&" - res += "&"; - } else { - var b64str = base64Accum + this.iconv.decode(buf.slice(lastI, i), "ascii").replace(/,/g, '/'); - res += this.iconv.decode(Buffer.from(b64str, 'base64'), "utf16-be"); - } - - if (buf[i] != minusChar) // Minus may be absorbed after base64. - i--; - - lastI = i+1; - inBase64 = false; - base64Accum = ''; - } - } - } - - if (!inBase64) { - res += this.iconv.decode(buf.slice(lastI), "ascii"); // Write direct chars. - } else { - var b64str = base64Accum + this.iconv.decode(buf.slice(lastI), "ascii").replace(/,/g, '/'); - - var canBeDecoded = b64str.length - (b64str.length % 8); // Minimal chunk: 2 quads -> 2x3 bytes -> 3 chars. - base64Accum = b64str.slice(canBeDecoded); // The rest will be decoded in future. - b64str = b64str.slice(0, canBeDecoded); - - res += this.iconv.decode(Buffer.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(Buffer.from(this.base64Accum, 'base64'), "utf16-be"); - - this.inBase64 = false; - this.base64Accum = ''; - return res; -} - - - - -/***/ }), - -/***/ 98589: -/***/ ((__unused_webpack_module, exports) => { - - - -var BOMChar = '\uFEFF'; - -exports.PrependBOM = PrependBOMWrapper -function PrependBOMWrapper(encoder, options) { - this.encoder = encoder; - this.addBOM = true; -} - -PrependBOMWrapper.prototype.write = function(str) { - if (this.addBOM) { - str = BOMChar + str; - this.addBOM = false; - } - - return this.encoder.write(str); -} - -PrependBOMWrapper.prototype.end = function() { - return this.encoder.end(); -} - - -//------------------------------------------------------------------------------ - -exports.StripBOM = StripBOMWrapper; -function StripBOMWrapper(decoder, options) { - this.decoder = decoder; - 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(); -} - - - -/***/ }), - -/***/ 93441: -/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { - - - -var Buffer = (__nccwpck_require__(88070).Buffer); - -var bomHandling = __nccwpck_require__(98589), - iconv = module.exports; - -// All codecs and aliases are kept here, keyed by encoding name/alias. -// They are lazy loaded in `iconv.getCodec` from `encodings/index.js`. -iconv.encodings = null; - -// Characters emitted in case of error. -iconv.defaultCharUnicode = '�'; -iconv.defaultCharSingleByte = '?'; - -// Public API. -iconv.encode = function encode(str, encoding, options) { - str = "" + (str || ""); // Ensure string. - - var encoder = iconv.getEncoder(encoding, options); - - var res = encoder.write(str); - var trail = encoder.end(); - - return (trail && trail.length > 0) ? Buffer.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 = Buffer.from("" + (buf || ""), "binary"); // Ensure buffer. - } - - var decoder = iconv.getDecoder(encoding, options); - - var res = decoder.write(buf); - var trail = decoder.end(); - - return trail ? (res + trail) : res; -} - -iconv.encodingExists = function encodingExists(enc) { - try { - iconv.getCodec(enc); - return true; - } catch (e) { - return false; - } -} - -// Legacy aliases to convert functions -iconv.toEncoding = iconv.encode; -iconv.fromEncoding = iconv.decode; - -// Search for a codec in iconv.encodings. Cache codec data in iconv._codecDataCache. -iconv._codecDataCache = {}; -iconv.getCodec = function getCodec(encoding) { - if (!iconv.encodings) - iconv.encodings = __nccwpck_require__(65848); // Lazy load all encoding definitions. - - // Canonicalize encoding name: strip all non-alphanumeric chars and appended year. - var enc = iconv._canonicalizeEncoding(encoding); - - // Traverse iconv.encodings to find actual codec. - var codecOptions = {}; - while (true) { - var codec = iconv._codecDataCache[enc]; - if (codec) - return codec; - - var codecDef = iconv.encodings[enc]; - - switch (typeof codecDef) { - case "string": // Direct alias to other encoding. - enc = codecDef; - break; - - case "object": // Alias with options. Can be layered. - for (var key in codecDef) - codecOptions[key] = codecDef[key]; - - if (!codecOptions.encodingName) - codecOptions.encodingName = enc; - - enc = codecDef.type; - break; - - case "function": // Codec itself. - if (!codecOptions.encodingName) - codecOptions.encodingName = enc; - - // The codec function must load all tables and return object with .encoder and .decoder methods. - // It'll be called only once (for each different options object). - codec = new codecDef(codecOptions, iconv); - - iconv._codecDataCache[codecOptions.encodingName] = codec; // Save it to be reused later. - return codec; - - default: - throw new Error("Encoding not recognized: '" + encoding + "' (searched as: '"+enc+"')"); - } - } -} - -iconv._canonicalizeEncoding = function(encoding) { - // Canonicalize encoding name: strip all non-alphanumeric chars and appended year. - return (''+encoding).toLowerCase().replace(/:\d{4}$|[^0-9a-z]/g, ""); -} - -iconv.getEncoder = function getEncoder(encoding, options) { - var codec = iconv.getCodec(encoding), - encoder = new codec.encoder(options, codec); - - if (codec.bomAware && options && options.addBOM) - encoder = new bomHandling.PrependBOM(encoder, options); - - return encoder; -} - -iconv.getDecoder = function getDecoder(encoding, options) { - var codec = iconv.getCodec(encoding), - decoder = new codec.decoder(options, codec); - - if (codec.bomAware && !(options && options.stripBOM === false)) - decoder = new bomHandling.StripBOM(decoder, options); - - return decoder; -} - -// Streaming API -// NOTE: Streaming API naturally depends on 'stream' module from Node.js. Unfortunately in browser environments this module can add -// up to 100Kb to the output bundle. To avoid unnecessary code bloat, we don't enable Streaming API in browser by default. -// If you would like to enable it explicitly, please add the following code to your app: -// > iconv.enableStreamingAPI(require('stream')); -iconv.enableStreamingAPI = function enableStreamingAPI(stream_module) { - if (iconv.supportsStreams) - return; - - // Dependency-inject stream module to create IconvLite stream classes. - var streams = __nccwpck_require__(28816)(stream_module); - - // Not public API yet, but expose the stream classes. - iconv.IconvLiteEncoderStream = streams.IconvLiteEncoderStream; - iconv.IconvLiteDecoderStream = streams.IconvLiteDecoderStream; - - // Streaming API. - 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; -} - -// Enable Streaming API automatically if 'stream' module is available and non-empty (the majority of environments). -var stream_module; -try { - stream_module = __nccwpck_require__(2203); -} catch (e) {} - -if (stream_module && stream_module.Transform) { - iconv.enableStreamingAPI(stream_module); - -} else { - // In rare cases where 'stream' module is not available by default, throw a helpful exception. - 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) {} - - -/***/ }), - -/***/ 28816: -/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { - - - -var Buffer = (__nccwpck_require__(88070).Buffer); - -// NOTE: Due to 'stream' module being pretty large (~100Kb, significant in browser environments), -// we opt to dependency-inject it instead of creating a hard dependency. -module.exports = function(stream_module) { - var Transform = stream_module.Transform; - - // == Encoder stream ======================================================= - - function IconvLiteEncoderStream(conv, options) { - this.conv = conv; - options = options || {}; - options.decodeStrings = false; // We accept only strings, so we don't need to decode them. - Transform.call(this, options); - } - - IconvLiteEncoderStream.prototype = Object.create(Transform.prototype, { - constructor: { value: IconvLiteEncoderStream } - }); - - IconvLiteEncoderStream.prototype._transform = function(chunk, encoding, done) { - if (typeof chunk != 'string') - return done(new Error("Iconv encoding stream needs strings as its input.")); - try { - var res = this.conv.write(chunk); - 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(chunk) { chunks.push(chunk); }); - this.on('end', function() { - cb(null, Buffer.concat(chunks)); - }); - return this; - } - - - // == Decoder stream ======================================================= - - function IconvLiteDecoderStream(conv, options) { - this.conv = conv; - options = options || {}; - options.encoding = this.encoding = 'utf8'; // We output strings. - Transform.call(this, options); - } - - IconvLiteDecoderStream.prototype = Object.create(Transform.prototype, { - constructor: { value: IconvLiteDecoderStream } - }); - - IconvLiteDecoderStream.prototype._transform = function(chunk, encoding, done) { - if (!Buffer.isBuffer(chunk) && !(chunk instanceof Uint8Array)) - return done(new Error("Iconv decoding stream needs buffers as its input.")); - try { - var res = this.conv.write(chunk); - 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(chunk) { res += chunk; }); - this.on('end', function() { - cb(null, res); - }); - return this; - } - - return { - IconvLiteEncoderStream: IconvLiteEncoderStream, - IconvLiteDecoderStream: IconvLiteDecoderStream, - }; -}; - - -/***/ }), - -/***/ 17025: -/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { - -try { - var util = __nccwpck_require__(39023); - /* istanbul ignore next */ - if (typeof util.inherits !== 'function') throw ''; - module.exports = util.inherits; -} catch (e) { - /* istanbul ignore next */ - module.exports = __nccwpck_require__(5962); -} - - -/***/ }), - -/***/ 5962: -/***/ ((module) => { - -if (typeof Object.create === 'function') { - // implementation from standard node.js 'util' module - module.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 { - // old school shim for old browsers - module.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 - } - } -} - - -/***/ }), - -/***/ 86277: -/***/ ((module) => { - -// Generated using `npm run build`. Do not edit. - -var regex = /^[a-z](?:[\.0-9_a-z\xB7\xC0-\xD6\xD8-\xF6\xF8-\u037D\u037F-\u1FFF\u200C\u200D\u203F\u2040\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]|[\uD800-\uDB7F][\uDC00-\uDFFF])*-(?:[\x2D\.0-9_a-z\xB7\xC0-\xD6\xD8-\xF6\xF8-\u037D\u037F-\u1FFF\u200C\u200D\u203F\u2040\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]|[\uD800-\uDB7F][\uDC00-\uDFFF])*$/; - -var isPotentialCustomElementName = function(string) { - return regex.test(string); -}; - -module.exports = isPotentialCustomElementName; - - -/***/ }), - -/***/ 12920: -/***/ ((module) => { - -/** - * [js-sha3]{@link https://github.com/emn178/js-sha3} - * - * @version 0.8.0 - * @author Chen, Yi-Cyuan [emn178@gmail.com] - * @copyright Chen, Yi-Cyuan 2015-2018 - * @license MIT - */ -/*jslint bitwise: true */ -(function () { - 'use strict'; - - var INPUT_ERROR = 'input is invalid type'; - var FINALIZE_ERROR = 'finalize already called'; - var WINDOW = typeof window === 'object'; - var root = WINDOW ? window : {}; - if (root.JS_SHA3_NO_WINDOW) { - WINDOW = false; - } - var WEB_WORKER = !WINDOW && typeof self === 'object'; - var NODE_JS = !root.JS_SHA3_NO_NODE_JS && typeof process === 'object' && process.versions && process.versions.node; - if (NODE_JS) { - root = global; - } else if (WEB_WORKER) { - root = self; - } - var COMMON_JS = !root.JS_SHA3_NO_COMMON_JS && "object" === 'object' && module.exports; - var AMD = typeof define === 'function' && define.amd; - var ARRAY_BUFFER = !root.JS_SHA3_NO_ARRAY_BUFFER && typeof ArrayBuffer !== 'undefined'; - var HEX_CHARS = '0123456789abcdef'.split(''); - var SHAKE_PADDING = [31, 7936, 2031616, 520093696]; - var CSHAKE_PADDING = [4, 1024, 262144, 67108864]; - var KECCAK_PADDING = [1, 256, 65536, 16777216]; - var PADDING = [6, 1536, 393216, 100663296]; - var SHIFT = [0, 8, 16, 24]; - var RC = [1, 0, 32898, 0, 32906, 2147483648, 2147516416, 2147483648, 32907, 0, 2147483649, - 0, 2147516545, 2147483648, 32777, 2147483648, 138, 0, 136, 0, 2147516425, 0, - 2147483658, 0, 2147516555, 0, 139, 2147483648, 32905, 2147483648, 32771, - 2147483648, 32770, 2147483648, 128, 2147483648, 32778, 0, 2147483658, 2147483648, - 2147516545, 2147483648, 32896, 2147483648, 2147483649, 0, 2147516424, 2147483648]; - var BITS = [224, 256, 384, 512]; - var SHAKE_BITS = [128, 256]; - var OUTPUT_TYPES = ['hex', 'buffer', 'arrayBuffer', 'array', 'digest']; - var CSHAKE_BYTEPAD = { - '128': 168, - '256': 136 - }; - - if (root.JS_SHA3_NO_NODE_JS || !Array.isArray) { - Array.isArray = function (obj) { - return Object.prototype.toString.call(obj) === '[object Array]'; - }; - } - - if (ARRAY_BUFFER && (root.JS_SHA3_NO_ARRAY_BUFFER_IS_VIEW || !ArrayBuffer.isView)) { - ArrayBuffer.isView = function (obj) { - return typeof obj === 'object' && obj.buffer && obj.buffer.constructor === ArrayBuffer; - }; - } - - var createOutputMethod = function (bits, padding, outputType) { - return function (message) { - return new Keccak(bits, padding, bits).update(message)[outputType](); - }; - }; - - var createShakeOutputMethod = function (bits, padding, outputType) { - return function (message, outputBits) { - return new Keccak(bits, padding, outputBits).update(message)[outputType](); - }; - }; - - var createCshakeOutputMethod = function (bits, padding, outputType) { - return function (message, outputBits, n, s) { - return methods['cshake' + bits].update(message, outputBits, n, s)[outputType](); - }; - }; - - var createKmacOutputMethod = function (bits, padding, outputType) { - return function (key, message, outputBits, s) { - return methods['kmac' + bits].update(key, message, outputBits, s)[outputType](); - }; - }; - - var createOutputMethods = function (method, createMethod, bits, padding) { - for (var i = 0; i < OUTPUT_TYPES.length; ++i) { - var type = OUTPUT_TYPES[i]; - method[type] = createMethod(bits, padding, type); - } - return method; - }; - - var createMethod = function (bits, padding) { - var method = createOutputMethod(bits, padding, 'hex'); - method.create = function () { - return new Keccak(bits, padding, bits); - }; - method.update = function (message) { - return method.create().update(message); - }; - return createOutputMethods(method, createOutputMethod, bits, padding); - }; - - var createShakeMethod = function (bits, padding) { - var method = createShakeOutputMethod(bits, padding, 'hex'); - method.create = function (outputBits) { - return new Keccak(bits, padding, outputBits); - }; - method.update = function (message, outputBits) { - return method.create(outputBits).update(message); - }; - return createOutputMethods(method, createShakeOutputMethod, bits, padding); - }; - - var createCshakeMethod = function (bits, padding) { - var w = CSHAKE_BYTEPAD[bits]; - var method = createCshakeOutputMethod(bits, padding, 'hex'); - method.create = function (outputBits, n, s) { - if (!n && !s) { - return methods['shake' + bits].create(outputBits); - } else { - return new Keccak(bits, padding, outputBits).bytepad([n, s], w); - } - }; - method.update = function (message, outputBits, n, s) { - return method.create(outputBits, n, s).update(message); - }; - return createOutputMethods(method, createCshakeOutputMethod, bits, padding); - }; - - var createKmacMethod = function (bits, padding) { - var w = CSHAKE_BYTEPAD[bits]; - var method = createKmacOutputMethod(bits, padding, 'hex'); - method.create = function (key, outputBits, s) { - return new Kmac(bits, padding, outputBits).bytepad(['KMAC', s], w).bytepad([key], w); - }; - method.update = function (key, message, outputBits, s) { - return method.create(key, outputBits, s).update(message); - }; - return createOutputMethods(method, createKmacOutputMethod, bits, padding); - }; - - var algorithms = [ - { name: 'keccak', padding: KECCAK_PADDING, bits: BITS, createMethod: createMethod }, - { name: 'sha3', padding: PADDING, bits: BITS, createMethod: createMethod }, - { name: 'shake', padding: SHAKE_PADDING, bits: SHAKE_BITS, createMethod: createShakeMethod }, - { name: 'cshake', padding: CSHAKE_PADDING, bits: SHAKE_BITS, createMethod: createCshakeMethod }, - { name: 'kmac', padding: CSHAKE_PADDING, bits: SHAKE_BITS, createMethod: createKmacMethod } - ]; - - var methods = {}, methodNames = []; - - for (var i = 0; i < algorithms.length; ++i) { - var algorithm = algorithms[i]; - var bits = algorithm.bits; - for (var j = 0; j < bits.length; ++j) { - var methodName = algorithm.name + '_' + bits[j]; - methodNames.push(methodName); - methods[methodName] = algorithm.createMethod(bits[j], algorithm.padding); - if (algorithm.name !== 'sha3') { - var newMethodName = algorithm.name + bits[j]; - methodNames.push(newMethodName); - methods[newMethodName] = methods[methodName]; - } - } - } - - function Keccak(bits, padding, outputBits) { - this.blocks = []; - this.s = []; - this.padding = padding; - this.outputBits = outputBits; - this.reset = true; - this.finalized = false; - this.block = 0; - this.start = 0; - this.blockCount = (1600 - (bits << 1)) >> 5; - this.byteCount = this.blockCount << 2; - this.outputBlocks = outputBits >> 5; - this.extraBytes = (outputBits & 31) >> 3; - - for (var i = 0; i < 50; ++i) { - this.s[i] = 0; - } - } - - Keccak.prototype.update = function (message) { - if (this.finalized) { - throw new Error(FINALIZE_ERROR); - } - var notString, type = typeof message; - if (type !== 'string') { - if (type === 'object') { - if (message === null) { - throw new Error(INPUT_ERROR); - } else if (ARRAY_BUFFER && message.constructor === ArrayBuffer) { - message = new Uint8Array(message); - } else if (!Array.isArray(message)) { - if (!ARRAY_BUFFER || !ArrayBuffer.isView(message)) { - throw new Error(INPUT_ERROR); - } - } - } else { - throw new Error(INPUT_ERROR); - } - notString = true; - } - var blocks = this.blocks, byteCount = this.byteCount, length = message.length, - blockCount = this.blockCount, index = 0, s = this.s, i, code; - - while (index < length) { - if (this.reset) { - this.reset = false; - blocks[0] = this.block; - for (i = 1; i < blockCount + 1; ++i) { - blocks[i] = 0; - } - } - if (notString) { - for (i = this.start; index < length && i < byteCount; ++index) { - blocks[i >> 2] |= message[index] << SHIFT[i++ & 3]; - } - } else { - for (i = this.start; index < length && i < byteCount; ++index) { - code = message.charCodeAt(index); - if (code < 0x80) { - blocks[i >> 2] |= code << SHIFT[i++ & 3]; - } else if (code < 0x800) { - blocks[i >> 2] |= (0xc0 | (code >> 6)) << SHIFT[i++ & 3]; - blocks[i >> 2] |= (0x80 | (code & 0x3f)) << SHIFT[i++ & 3]; - } else if (code < 0xd800 || code >= 0xe000) { - blocks[i >> 2] |= (0xe0 | (code >> 12)) << SHIFT[i++ & 3]; - blocks[i >> 2] |= (0x80 | ((code >> 6) & 0x3f)) << SHIFT[i++ & 3]; - blocks[i >> 2] |= (0x80 | (code & 0x3f)) << SHIFT[i++ & 3]; - } else { - code = 0x10000 + (((code & 0x3ff) << 10) | (message.charCodeAt(++index) & 0x3ff)); - blocks[i >> 2] |= (0xf0 | (code >> 18)) << SHIFT[i++ & 3]; - blocks[i >> 2] |= (0x80 | ((code >> 12) & 0x3f)) << SHIFT[i++ & 3]; - blocks[i >> 2] |= (0x80 | ((code >> 6) & 0x3f)) << SHIFT[i++ & 3]; - blocks[i >> 2] |= (0x80 | (code & 0x3f)) << SHIFT[i++ & 3]; - } - } - } - this.lastByteIndex = i; - if (i >= byteCount) { - this.start = i - byteCount; - this.block = blocks[blockCount]; - for (i = 0; i < blockCount; ++i) { - s[i] ^= blocks[i]; - } - f(s); - this.reset = true; - } else { - this.start = i; - } - } - return this; - }; - - Keccak.prototype.encode = function (x, right) { - var o = x & 255, n = 1; - var bytes = [o]; - x = x >> 8; - o = x & 255; - while (o > 0) { - bytes.unshift(o); - x = x >> 8; - o = x & 255; - ++n; - } - if (right) { - bytes.push(n); - } else { - bytes.unshift(n); - } - this.update(bytes); - return bytes.length; - }; - - Keccak.prototype.encodeString = function (str) { - var notString, type = typeof str; - if (type !== 'string') { - if (type === 'object') { - if (str === null) { - throw new Error(INPUT_ERROR); - } else if (ARRAY_BUFFER && str.constructor === ArrayBuffer) { - str = new Uint8Array(str); - } else if (!Array.isArray(str)) { - if (!ARRAY_BUFFER || !ArrayBuffer.isView(str)) { - throw new Error(INPUT_ERROR); - } - } - } else { - throw new Error(INPUT_ERROR); - } - notString = true; - } - var bytes = 0, length = str.length; - if (notString) { - bytes = length; - } else { - for (var i = 0; i < str.length; ++i) { - var code = str.charCodeAt(i); - if (code < 0x80) { - bytes += 1; - } else if (code < 0x800) { - bytes += 2; - } else if (code < 0xd800 || code >= 0xe000) { - bytes += 3; - } else { - code = 0x10000 + (((code & 0x3ff) << 10) | (str.charCodeAt(++i) & 0x3ff)); - bytes += 4; - } - } - } - bytes += this.encode(bytes * 8); - this.update(str); - return bytes; - }; - - Keccak.prototype.bytepad = function (strs, w) { - var bytes = this.encode(w); - for (var i = 0; i < strs.length; ++i) { - bytes += this.encodeString(strs[i]); - } - var paddingBytes = w - bytes % w; - var zeros = []; - zeros.length = paddingBytes; - this.update(zeros); - return this; - }; - - Keccak.prototype.finalize = function () { - if (this.finalized) { - return; - } - this.finalized = true; - var blocks = this.blocks, i = this.lastByteIndex, blockCount = this.blockCount, s = this.s; - blocks[i >> 2] |= this.padding[i & 3]; - if (this.lastByteIndex === this.byteCount) { - blocks[0] = blocks[blockCount]; - for (i = 1; i < blockCount + 1; ++i) { - blocks[i] = 0; - } - } - blocks[blockCount - 1] |= 0x80000000; - for (i = 0; i < blockCount; ++i) { - s[i] ^= blocks[i]; - } - f(s); - }; - - Keccak.prototype.toString = Keccak.prototype.hex = function () { - this.finalize(); - - var blockCount = this.blockCount, s = this.s, outputBlocks = this.outputBlocks, - extraBytes = this.extraBytes, i = 0, j = 0; - var hex = '', block; - while (j < outputBlocks) { - for (i = 0; i < blockCount && j < outputBlocks; ++i, ++j) { - block = s[i]; - hex += HEX_CHARS[(block >> 4) & 0x0F] + HEX_CHARS[block & 0x0F] + - HEX_CHARS[(block >> 12) & 0x0F] + HEX_CHARS[(block >> 8) & 0x0F] + - HEX_CHARS[(block >> 20) & 0x0F] + HEX_CHARS[(block >> 16) & 0x0F] + - HEX_CHARS[(block >> 28) & 0x0F] + HEX_CHARS[(block >> 24) & 0x0F]; - } - if (j % blockCount === 0) { - f(s); - i = 0; - } - } - if (extraBytes) { - block = s[i]; - hex += HEX_CHARS[(block >> 4) & 0x0F] + HEX_CHARS[block & 0x0F]; - if (extraBytes > 1) { - hex += HEX_CHARS[(block >> 12) & 0x0F] + HEX_CHARS[(block >> 8) & 0x0F]; - } - if (extraBytes > 2) { - hex += HEX_CHARS[(block >> 20) & 0x0F] + HEX_CHARS[(block >> 16) & 0x0F]; - } - } - return hex; - }; - - Keccak.prototype.arrayBuffer = function () { - this.finalize(); - - var blockCount = this.blockCount, s = this.s, outputBlocks = this.outputBlocks, - extraBytes = this.extraBytes, i = 0, j = 0; - var bytes = this.outputBits >> 3; - var buffer; - if (extraBytes) { - buffer = new ArrayBuffer((outputBlocks + 1) << 2); - } else { - buffer = new ArrayBuffer(bytes); - } - var array = new Uint32Array(buffer); - while (j < outputBlocks) { - for (i = 0; i < blockCount && j < outputBlocks; ++i, ++j) { - array[j] = s[i]; - } - if (j % blockCount === 0) { - f(s); - } - } - if (extraBytes) { - array[i] = s[i]; - buffer = buffer.slice(0, bytes); - } - return buffer; - }; - - Keccak.prototype.buffer = Keccak.prototype.arrayBuffer; - - Keccak.prototype.digest = Keccak.prototype.array = function () { - this.finalize(); - - var blockCount = this.blockCount, s = this.s, outputBlocks = this.outputBlocks, - extraBytes = this.extraBytes, i = 0, j = 0; - var array = [], offset, block; - while (j < outputBlocks) { - for (i = 0; i < blockCount && j < outputBlocks; ++i, ++j) { - offset = j << 2; - block = s[i]; - array[offset] = block & 0xFF; - array[offset + 1] = (block >> 8) & 0xFF; - array[offset + 2] = (block >> 16) & 0xFF; - array[offset + 3] = (block >> 24) & 0xFF; - } - if (j % blockCount === 0) { - f(s); - } - } - if (extraBytes) { - offset = j << 2; - block = s[i]; - array[offset] = block & 0xFF; - if (extraBytes > 1) { - array[offset + 1] = (block >> 8) & 0xFF; - } - if (extraBytes > 2) { - array[offset + 2] = (block >> 16) & 0xFF; - } - } - return array; - }; - - function Kmac(bits, padding, outputBits) { - Keccak.call(this, bits, padding, outputBits); - } - - Kmac.prototype = new Keccak(); - - Kmac.prototype.finalize = function () { - this.encode(this.outputBits, true); - return Keccak.prototype.finalize.call(this); - }; - - var f = function (s) { - var h, l, n, c0, c1, c2, c3, c4, c5, c6, c7, c8, c9, - b0, b1, b2, b3, b4, b5, b6, b7, b8, b9, b10, b11, b12, b13, b14, b15, b16, b17, - b18, b19, b20, b21, b22, b23, b24, b25, b26, b27, b28, b29, b30, b31, b32, b33, - b34, b35, b36, b37, b38, b39, b40, b41, b42, b43, b44, b45, b46, b47, b48, b49; - for (n = 0; n < 48; n += 2) { - c0 = s[0] ^ s[10] ^ s[20] ^ s[30] ^ s[40]; - c1 = s[1] ^ s[11] ^ s[21] ^ s[31] ^ s[41]; - c2 = s[2] ^ s[12] ^ s[22] ^ s[32] ^ s[42]; - c3 = s[3] ^ s[13] ^ s[23] ^ s[33] ^ s[43]; - c4 = s[4] ^ s[14] ^ s[24] ^ s[34] ^ s[44]; - c5 = s[5] ^ s[15] ^ s[25] ^ s[35] ^ s[45]; - c6 = s[6] ^ s[16] ^ s[26] ^ s[36] ^ s[46]; - c7 = s[7] ^ s[17] ^ s[27] ^ s[37] ^ s[47]; - c8 = s[8] ^ s[18] ^ s[28] ^ s[38] ^ s[48]; - c9 = s[9] ^ s[19] ^ s[29] ^ s[39] ^ s[49]; - - h = c8 ^ ((c2 << 1) | (c3 >>> 31)); - l = c9 ^ ((c3 << 1) | (c2 >>> 31)); - s[0] ^= h; - s[1] ^= l; - s[10] ^= h; - s[11] ^= l; - s[20] ^= h; - s[21] ^= l; - s[30] ^= h; - s[31] ^= l; - s[40] ^= h; - s[41] ^= l; - h = c0 ^ ((c4 << 1) | (c5 >>> 31)); - l = c1 ^ ((c5 << 1) | (c4 >>> 31)); - s[2] ^= h; - s[3] ^= l; - s[12] ^= h; - s[13] ^= l; - s[22] ^= h; - s[23] ^= l; - s[32] ^= h; - s[33] ^= l; - s[42] ^= h; - s[43] ^= l; - h = c2 ^ ((c6 << 1) | (c7 >>> 31)); - l = c3 ^ ((c7 << 1) | (c6 >>> 31)); - s[4] ^= h; - s[5] ^= l; - s[14] ^= h; - s[15] ^= l; - s[24] ^= h; - s[25] ^= l; - s[34] ^= h; - s[35] ^= l; - s[44] ^= h; - s[45] ^= l; - h = c4 ^ ((c8 << 1) | (c9 >>> 31)); - l = c5 ^ ((c9 << 1) | (c8 >>> 31)); - s[6] ^= h; - s[7] ^= l; - s[16] ^= h; - s[17] ^= l; - s[26] ^= h; - s[27] ^= l; - s[36] ^= h; - s[37] ^= l; - s[46] ^= h; - s[47] ^= l; - h = c6 ^ ((c0 << 1) | (c1 >>> 31)); - l = c7 ^ ((c1 << 1) | (c0 >>> 31)); - s[8] ^= h; - s[9] ^= l; - s[18] ^= h; - s[19] ^= l; - s[28] ^= h; - s[29] ^= l; - s[38] ^= h; - s[39] ^= l; - s[48] ^= h; - s[49] ^= l; - - b0 = s[0]; - b1 = s[1]; - b32 = (s[11] << 4) | (s[10] >>> 28); - b33 = (s[10] << 4) | (s[11] >>> 28); - b14 = (s[20] << 3) | (s[21] >>> 29); - b15 = (s[21] << 3) | (s[20] >>> 29); - b46 = (s[31] << 9) | (s[30] >>> 23); - b47 = (s[30] << 9) | (s[31] >>> 23); - b28 = (s[40] << 18) | (s[41] >>> 14); - b29 = (s[41] << 18) | (s[40] >>> 14); - b20 = (s[2] << 1) | (s[3] >>> 31); - b21 = (s[3] << 1) | (s[2] >>> 31); - b2 = (s[13] << 12) | (s[12] >>> 20); - b3 = (s[12] << 12) | (s[13] >>> 20); - b34 = (s[22] << 10) | (s[23] >>> 22); - b35 = (s[23] << 10) | (s[22] >>> 22); - b16 = (s[33] << 13) | (s[32] >>> 19); - b17 = (s[32] << 13) | (s[33] >>> 19); - b48 = (s[42] << 2) | (s[43] >>> 30); - b49 = (s[43] << 2) | (s[42] >>> 30); - b40 = (s[5] << 30) | (s[4] >>> 2); - b41 = (s[4] << 30) | (s[5] >>> 2); - b22 = (s[14] << 6) | (s[15] >>> 26); - b23 = (s[15] << 6) | (s[14] >>> 26); - b4 = (s[25] << 11) | (s[24] >>> 21); - b5 = (s[24] << 11) | (s[25] >>> 21); - b36 = (s[34] << 15) | (s[35] >>> 17); - b37 = (s[35] << 15) | (s[34] >>> 17); - b18 = (s[45] << 29) | (s[44] >>> 3); - b19 = (s[44] << 29) | (s[45] >>> 3); - b10 = (s[6] << 28) | (s[7] >>> 4); - b11 = (s[7] << 28) | (s[6] >>> 4); - b42 = (s[17] << 23) | (s[16] >>> 9); - b43 = (s[16] << 23) | (s[17] >>> 9); - b24 = (s[26] << 25) | (s[27] >>> 7); - b25 = (s[27] << 25) | (s[26] >>> 7); - b6 = (s[36] << 21) | (s[37] >>> 11); - b7 = (s[37] << 21) | (s[36] >>> 11); - b38 = (s[47] << 24) | (s[46] >>> 8); - b39 = (s[46] << 24) | (s[47] >>> 8); - b30 = (s[8] << 27) | (s[9] >>> 5); - b31 = (s[9] << 27) | (s[8] >>> 5); - b12 = (s[18] << 20) | (s[19] >>> 12); - b13 = (s[19] << 20) | (s[18] >>> 12); - b44 = (s[29] << 7) | (s[28] >>> 25); - b45 = (s[28] << 7) | (s[29] >>> 25); - b26 = (s[38] << 8) | (s[39] >>> 24); - b27 = (s[39] << 8) | (s[38] >>> 24); - b8 = (s[48] << 14) | (s[49] >>> 18); - b9 = (s[49] << 14) | (s[48] >>> 18); - - s[0] = b0 ^ (~b2 & b4); - s[1] = b1 ^ (~b3 & b5); - s[10] = b10 ^ (~b12 & b14); - s[11] = b11 ^ (~b13 & b15); - s[20] = b20 ^ (~b22 & b24); - s[21] = b21 ^ (~b23 & b25); - s[30] = b30 ^ (~b32 & b34); - s[31] = b31 ^ (~b33 & b35); - s[40] = b40 ^ (~b42 & b44); - s[41] = b41 ^ (~b43 & b45); - s[2] = b2 ^ (~b4 & b6); - s[3] = b3 ^ (~b5 & b7); - s[12] = b12 ^ (~b14 & b16); - s[13] = b13 ^ (~b15 & b17); - s[22] = b22 ^ (~b24 & b26); - s[23] = b23 ^ (~b25 & b27); - s[32] = b32 ^ (~b34 & b36); - s[33] = b33 ^ (~b35 & b37); - s[42] = b42 ^ (~b44 & b46); - s[43] = b43 ^ (~b45 & b47); - s[4] = b4 ^ (~b6 & b8); - s[5] = b5 ^ (~b7 & b9); - s[14] = b14 ^ (~b16 & b18); - s[15] = b15 ^ (~b17 & b19); - s[24] = b24 ^ (~b26 & b28); - s[25] = b25 ^ (~b27 & b29); - s[34] = b34 ^ (~b36 & b38); - s[35] = b35 ^ (~b37 & b39); - s[44] = b44 ^ (~b46 & b48); - s[45] = b45 ^ (~b47 & b49); - s[6] = b6 ^ (~b8 & b0); - s[7] = b7 ^ (~b9 & b1); - s[16] = b16 ^ (~b18 & b10); - s[17] = b17 ^ (~b19 & b11); - s[26] = b26 ^ (~b28 & b20); - s[27] = b27 ^ (~b29 & b21); - s[36] = b36 ^ (~b38 & b30); - s[37] = b37 ^ (~b39 & b31); - s[46] = b46 ^ (~b48 & b40); - s[47] = b47 ^ (~b49 & b41); - s[8] = b8 ^ (~b0 & b2); - s[9] = b9 ^ (~b1 & b3); - s[18] = b18 ^ (~b10 & b12); - s[19] = b19 ^ (~b11 & b13); - s[28] = b28 ^ (~b20 & b22); - s[29] = b29 ^ (~b21 & b23); - s[38] = b38 ^ (~b30 & b32); - s[39] = b39 ^ (~b31 & b33); - s[48] = b48 ^ (~b40 & b42); - s[49] = b49 ^ (~b41 & b43); - - s[0] ^= RC[n]; - s[1] ^= RC[n + 1]; - } - }; - - if (COMMON_JS) { - module.exports = methods; - } else { - for (i = 0; i < methodNames.length; ++i) { - root[methodNames[i]] = methods[methodNames[i]]; - } - if (AMD) { - define(function () { - return methods; - }); - } - } -})(); - - -/***/ }), - -/***/ 79358: -/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { - -var __webpack_unused_export__; - -const path = __nccwpck_require__(16928); -const fs = (__nccwpck_require__(79896).promises); -const vm = __nccwpck_require__(69154); -const toughCookie = __nccwpck_require__(20427); -const sniffHTMLEncoding = __nccwpck_require__(22651); -const whatwgURL = __nccwpck_require__(23017); -const whatwgEncoding = __nccwpck_require__(89415); -const { URL } = __nccwpck_require__(23017); -const MIMEType = __nccwpck_require__(98067); -const idlUtils = __nccwpck_require__(72087); -const VirtualConsole = __nccwpck_require__(69031); -const { createWindow } = __nccwpck_require__(84019); -const { parseIntoDocument } = __nccwpck_require__(40891); -const { fragmentSerialization } = __nccwpck_require__(93033); -const ResourceLoader = __nccwpck_require__(9561); -const NoOpResourceLoader = __nccwpck_require__(8289); - -class CookieJar extends toughCookie.CookieJar { - constructor(store, options) { - // jsdom cookie jars must be loose by default - super(store, { looseMode: true, ...options }); - } -} - -const window = Symbol("window"); -let sharedFragmentDocument = null; - -class JSDOM { - constructor(input = "", options = {}) { - const mimeType = new MIMEType(options.contentType === undefined ? "text/html" : options.contentType); - const { html, encoding } = normalizeHTML(input, mimeType); - - options = transformOptions(options, encoding, mimeType); - - this[window] = createWindow(options.windowOptions); - - const documentImpl = idlUtils.implForWrapper(this[window]._document); - - options.beforeParse(this[window]._globalProxy); - - parseIntoDocument(html, documentImpl); - - documentImpl.close(); - } - - get window() { - // It's important to grab the global proxy, instead of just the result of `createWindow(...)`, since otherwise - // things like `window.eval` don't exist. - return this[window]._globalProxy; - } - - get virtualConsole() { - return this[window]._virtualConsole; - } - - get cookieJar() { - // TODO NEWAPI move _cookieJar to window probably - return idlUtils.implForWrapper(this[window]._document)._cookieJar; - } - - serialize() { - return fragmentSerialization(idlUtils.implForWrapper(this[window]._document), { requireWellFormed: false }); - } - - nodeLocation(node) { - if (!idlUtils.implForWrapper(this[window]._document)._parseOptions.sourceCodeLocationInfo) { - throw new Error("Location information was not saved for this jsdom. Use includeNodeLocations during creation."); - } - - return idlUtils.implForWrapper(node).sourceCodeLocation; - } - - getInternalVMContext() { - if (!vm.isContext(this[window])) { - throw new TypeError("This jsdom was not configured to allow script running. " + - "Use the runScripts option during creation."); - } - - return this[window]; - } - - reconfigure(settings) { - if ("windowTop" in settings) { - this[window]._top = settings.windowTop; - } - - if ("url" in settings) { - const document = idlUtils.implForWrapper(this[window]._document); - - const url = whatwgURL.parseURL(settings.url); - if (url === null) { - throw new TypeError(`Could not parse "${settings.url}" as a URL`); - } - - document._URL = url; - document._origin = whatwgURL.serializeURLOrigin(document._URL); - this[window]._sessionHistory.currentEntry.url = url; - } - } - - static fragment(string = "") { - if (!sharedFragmentDocument) { - sharedFragmentDocument = (new JSDOM()).window.document; - } - - const template = sharedFragmentDocument.createElement("template"); - template.innerHTML = string; - return template.content; - } - - static fromURL(url, options = {}) { - return Promise.resolve().then(() => { - // Remove the hash while sending this through the research loader fetch(). - // It gets added back a few lines down when constructing the JSDOM object. - const parsedURL = new URL(url); - const originalHash = parsedURL.hash; - parsedURL.hash = ""; - url = parsedURL.href; - - options = normalizeFromURLOptions(options); - - const resourceLoader = resourcesToResourceLoader(options.resources); - const resourceLoaderForInitialRequest = resourceLoader.constructor === NoOpResourceLoader ? - new ResourceLoader() : - resourceLoader; - - const req = resourceLoaderForInitialRequest.fetch(url, { - accept: "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", - cookieJar: options.cookieJar, - referrer: options.referrer - }); - - return req.then(body => { - const res = req.response; - - options = Object.assign(options, { - url: req.href + originalHash, - contentType: res.headers["content-type"], - referrer: req.getHeader("referer") ?? undefined - }); - - return new JSDOM(body, options); - }); - }); - } - - static async fromFile(filename, options = {}) { - options = normalizeFromFileOptions(filename, options); - const buffer = await fs.readFile(filename); - - return new JSDOM(buffer, options); - } -} - -function normalizeFromURLOptions(options) { - // Checks on options that are invalid for `fromURL` - if (options.url !== undefined) { - throw new TypeError("Cannot supply a url option when using fromURL"); - } - if (options.contentType !== undefined) { - throw new TypeError("Cannot supply a contentType option when using fromURL"); - } - - // Normalization of options which must be done before the rest of the fromURL code can use them, because they are - // given to request() - const normalized = { ...options }; - - if (options.referrer !== undefined) { - normalized.referrer = (new URL(options.referrer)).href; - } - - if (options.cookieJar === undefined) { - normalized.cookieJar = new CookieJar(); - } - - return normalized; - - // All other options don't need to be processed yet, and can be taken care of in the normal course of things when - // `fromURL` calls `new JSDOM(html, options)`. -} - -function normalizeFromFileOptions(filename, options) { - const normalized = { ...options }; - - if (normalized.contentType === undefined) { - const extname = path.extname(filename); - if (extname === ".xhtml" || extname === ".xht" || extname === ".xml") { - normalized.contentType = "application/xhtml+xml"; - } - } - - if (normalized.url === undefined) { - normalized.url = new URL("file:" + path.resolve(filename)); - } - - return normalized; -} - -function transformOptions(options, encoding, mimeType) { - const transformed = { - windowOptions: { - // Defaults - url: "about:blank", - referrer: "", - contentType: "text/html", - parsingMode: "html", - parseOptions: { - sourceCodeLocationInfo: false, - scriptingEnabled: false - }, - runScripts: undefined, - encoding, - pretendToBeVisual: false, - storageQuota: 5000000, - - // Defaults filled in later - resourceLoader: undefined, - virtualConsole: undefined, - cookieJar: undefined - }, - - // Defaults - beforeParse() { } - }; - - // options.contentType was parsed into mimeType by the caller. - if (!mimeType.isHTML() && !mimeType.isXML()) { - throw new RangeError(`The given content type of "${options.contentType}" was not a HTML or XML content type`); - } - - transformed.windowOptions.contentType = mimeType.essence; - transformed.windowOptions.parsingMode = mimeType.isHTML() ? "html" : "xml"; - - if (options.url !== undefined) { - transformed.windowOptions.url = (new URL(options.url)).href; - } - - if (options.referrer !== undefined) { - transformed.windowOptions.referrer = (new URL(options.referrer)).href; - } - - if (options.includeNodeLocations) { - if (transformed.windowOptions.parsingMode === "xml") { - throw new TypeError("Cannot set includeNodeLocations to true with an XML content type"); - } - - transformed.windowOptions.parseOptions = { sourceCodeLocationInfo: true }; - } - - transformed.windowOptions.cookieJar = options.cookieJar === undefined ? - new CookieJar() : - options.cookieJar; - - transformed.windowOptions.virtualConsole = options.virtualConsole === undefined ? - (new VirtualConsole()).sendTo(console) : - options.virtualConsole; - - if (!(transformed.windowOptions.virtualConsole instanceof VirtualConsole)) { - throw new TypeError("virtualConsole must be an instance of VirtualConsole"); - } - - transformed.windowOptions.resourceLoader = resourcesToResourceLoader(options.resources); - - if (options.runScripts !== undefined) { - transformed.windowOptions.runScripts = String(options.runScripts); - if (transformed.windowOptions.runScripts === "dangerously") { - transformed.windowOptions.parseOptions.scriptingEnabled = true; - } else if (transformed.windowOptions.runScripts !== "outside-only") { - throw new RangeError(`runScripts must be undefined, "dangerously", or "outside-only"`); - } - } - - if (options.beforeParse !== undefined) { - transformed.beforeParse = options.beforeParse; - } - - if (options.pretendToBeVisual !== undefined) { - transformed.windowOptions.pretendToBeVisual = Boolean(options.pretendToBeVisual); - } - - if (options.storageQuota !== undefined) { - transformed.windowOptions.storageQuota = Number(options.storageQuota); - } - - return transformed; -} - -function normalizeHTML(html, mimeType) { - let encoding = "UTF-8"; - - if (ArrayBuffer.isView(html)) { - html = Buffer.from(html.buffer, html.byteOffset, html.byteLength); - } else if (html instanceof ArrayBuffer) { - html = Buffer.from(html); - } - - if (Buffer.isBuffer(html)) { - encoding = sniffHTMLEncoding(html, { - defaultEncoding: mimeType.isXML() ? "UTF-8" : "windows-1252", - transportLayerEncodingLabel: mimeType.parameters.get("charset") - }); - html = whatwgEncoding.decode(html, encoding); - } else { - html = String(html); - } - - return { html, encoding }; -} - -function resourcesToResourceLoader(resources) { - switch (resources) { - case undefined: { - return new NoOpResourceLoader(); - } - case "usable": { - return new ResourceLoader(); - } - default: { - if (!(resources instanceof ResourceLoader)) { - throw new TypeError("resources must be an instance of ResourceLoader"); - } - return resources; - } - } -} - -exports.un = JSDOM; - -__webpack_unused_export__ = VirtualConsole; -__webpack_unused_export__ = CookieJar; -__webpack_unused_export__ = ResourceLoader; - -__webpack_unused_export__ = toughCookie; - - -/***/ }), - -/***/ 84019: -/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { - - -const vm = __nccwpck_require__(69154); -const webIDLConversions = __nccwpck_require__(91200); -const { CSSStyleDeclaration } = __nccwpck_require__(97321); -const notImplemented = __nccwpck_require__(66435); -const { installInterfaces } = __nccwpck_require__(56834); -const { define, mixin } = __nccwpck_require__(97809); -const Element = __nccwpck_require__(52122); -const EventTarget = __nccwpck_require__(8463); -const EventHandlerNonNull = __nccwpck_require__(51096); -const IDLFunction = __nccwpck_require__(78140); -const OnBeforeUnloadEventHandlerNonNull = __nccwpck_require__(41223); -const OnErrorEventHandlerNonNull = __nccwpck_require__(78089); -const { fireAPageTransitionEvent } = __nccwpck_require__(88354); -const namedPropertiesWindow = __nccwpck_require__(59828); -const postMessage = __nccwpck_require__(53694); -const DOMException = __nccwpck_require__(27441); -const idlUtils = __nccwpck_require__(72087); -const WebSocketImpl = (__nccwpck_require__(91713).implementation); -const BarProp = __nccwpck_require__(54234); -const documents = __nccwpck_require__(62462); -const External = __nccwpck_require__(30275); -const Navigator = __nccwpck_require__(51479); -const Performance = __nccwpck_require__(96848); -const Screen = __nccwpck_require__(85584); -const Crypto = __nccwpck_require__(65545); -const Storage = __nccwpck_require__(13123); -const Selection = __nccwpck_require__(43416); -const reportException = __nccwpck_require__(54162); -const { getCurrentEventHandlerValue } = __nccwpck_require__(52493); -const { fireAnEvent } = __nccwpck_require__(37085); -const SessionHistory = __nccwpck_require__(64997); -const { getDeclarationForElement, getResolvedValue, propertiesWithResolvedValueImplemented, - SHADOW_DOM_PSEUDO_REGEXP } = __nccwpck_require__(37585); -const CustomElementRegistry = __nccwpck_require__(56064); -const jsGlobals = __nccwpck_require__(75282); - -const GlobalEventHandlersImpl = (__nccwpck_require__(99229).implementation); -const WindowEventHandlersImpl = (__nccwpck_require__(14050).implementation); - -const events = new Set([ - // GlobalEventHandlers - "abort", "autocomplete", - "autocompleteerror", "blur", - "cancel", "canplay", "canplaythrough", - "change", "click", - "close", "contextmenu", - "cuechange", "dblclick", - "drag", "dragend", - "dragenter", - "dragleave", "dragover", - "dragstart", "drop", - "durationchange", "emptied", - "ended", "focus", - "input", "invalid", - "keydown", "keypress", - "keyup", "load", "loadeddata", - "loadedmetadata", "loadstart", - "mousedown", "mouseenter", - "mouseleave", "mousemove", - "mouseout", "mouseover", - "mouseup", "wheel", - "pause", "play", - "playing", "progress", - "ratechange", "reset", - "resize", "scroll", - "securitypolicyviolation", - "seeked", "seeking", - "select", "sort", "stalled", - "submit", "suspend", - "timeupdate", "toggle", - "volumechange", "waiting", - - // WindowEventHandlers - "afterprint", - "beforeprint", - "hashchange", - "languagechange", - "message", - "messageerror", - "offline", - "online", - "pagehide", - "pageshow", - "popstate", - "rejectionhandled", - "storage", - "unhandledrejection", - "unload" - - // "error" and "beforeunload" are added separately -]); - -exports.createWindow = function (options) { - return new Window(options); -}; - -const jsGlobalEntriesToInstall = Object.entries(jsGlobals).filter(([name]) => name in global); - -// https://html.spec.whatwg.org/#the-window-object -function setupWindow(windowInstance, { runScripts }) { - if (runScripts === "outside-only" || runScripts === "dangerously") { - contextifyWindow(windowInstance); - - // Without this, these globals will only appear to scripts running inside the context using vm.runScript; they will - // not appear to scripts running from the outside, including to JSDOM implementation code. - for (const [globalName, globalPropDesc] of jsGlobalEntriesToInstall) { - const propDesc = { ...globalPropDesc, value: vm.runInContext(globalName, windowInstance) }; - Object.defineProperty(windowInstance, globalName, propDesc); - } - } else { - // Without contextifying the window, none of the globals will exist. So, let's at least alias them from the Node.js - // context. See https://github.com/jsdom/jsdom/issues/2727 for more background and discussion. - for (const [globalName, globalPropDesc] of jsGlobalEntriesToInstall) { - const propDesc = { ...globalPropDesc, value: global[globalName] }; - Object.defineProperty(windowInstance, globalName, propDesc); - } - } - - installInterfaces(windowInstance, ["Window"]); - - const EventTargetConstructor = windowInstance.EventTarget; - - // eslint-disable-next-line func-name-matching, func-style, no-shadow - const windowConstructor = function Window() { - throw new TypeError("Illegal constructor"); - }; - Object.setPrototypeOf(windowConstructor, EventTargetConstructor); - - Object.defineProperty(windowInstance, "Window", { - configurable: true, - writable: true, - value: windowConstructor - }); - - const windowPrototype = Object.create(EventTargetConstructor.prototype); - Object.defineProperties(windowPrototype, { - constructor: { - value: windowConstructor, - writable: true, - configurable: true - }, - [Symbol.toStringTag]: { - value: "Window", - configurable: true - } - }); - - windowConstructor.prototype = windowPrototype; - Object.setPrototypeOf(windowInstance, windowPrototype); - - EventTarget.setup(windowInstance, windowInstance); - mixin(windowInstance, WindowEventHandlersImpl.prototype); - mixin(windowInstance, GlobalEventHandlersImpl.prototype); - windowInstance._initGlobalEvents(); - - Object.defineProperty(windowInstance, "onbeforeunload", { - configurable: true, - enumerable: true, - get() { - return idlUtils.tryWrapperForImpl(getCurrentEventHandlerValue(this, "beforeunload")); - }, - set(V) { - if (!idlUtils.isObject(V)) { - V = null; - } else { - V = OnBeforeUnloadEventHandlerNonNull.convert(windowInstance, V, { - context: "Failed to set the 'onbeforeunload' property on 'Window': The provided value" - }); - } - this._setEventHandlerFor("beforeunload", V); - } - }); - - Object.defineProperty(windowInstance, "onerror", { - configurable: true, - enumerable: true, - get() { - return idlUtils.tryWrapperForImpl(getCurrentEventHandlerValue(this, "error")); - }, - set(V) { - if (!idlUtils.isObject(V)) { - V = null; - } else { - V = OnErrorEventHandlerNonNull.convert(windowInstance, V, { - context: "Failed to set the 'onerror' property on 'Window': The provided value" - }); - } - this._setEventHandlerFor("error", V); - } - }); - - for (const event of events) { - Object.defineProperty(windowInstance, `on${event}`, { - configurable: true, - enumerable: true, - get() { - return idlUtils.tryWrapperForImpl(getCurrentEventHandlerValue(this, event)); - }, - set(V) { - if (!idlUtils.isObject(V)) { - V = null; - } else { - V = EventHandlerNonNull.convert(windowInstance, V, { - context: `Failed to set the 'on${event}' property on 'Window': The provided value` - }); - } - this._setEventHandlerFor(event, V); - } - }); - } - - windowInstance._globalObject = windowInstance; -} - -function makeReplaceablePropertyDescriptor(property, window) { - const desc = { - set(value) { - Object.defineProperty(window, property, { - configurable: true, - enumerable: true, - writable: true, - value - }); - } - }; - - Object.defineProperty(desc.set, "name", { value: `set ${property}` }); - return desc; -} - -// NOTE: per https://heycam.github.io/webidl/#Global, all properties on the Window object must be own-properties. -// That is why we assign everything inside of the constructor, instead of using a shared prototype. -// You can verify this in e.g. Firefox or Internet Explorer, which do a good job with Web IDL compliance. -function Window(options) { - setupWindow(this, { runScripts: options.runScripts }); - - const windowInitialized = performance.now(); - - const window = this; - - // ### PRIVATE DATA PROPERTIES - - this._resourceLoader = options.resourceLoader; - - // vm initialization is deferred until script processing is activated - this._globalProxy = this; - Object.defineProperty(idlUtils.implForWrapper(this), idlUtils.wrapperSymbol, { get: () => this._globalProxy }); - - // List options explicitly to be clear which are passed through - this._document = documents.createWrapper(window, { - parsingMode: options.parsingMode, - contentType: options.contentType, - encoding: options.encoding, - cookieJar: options.cookieJar, - url: options.url, - lastModified: options.lastModified, - referrer: options.referrer, - parseOptions: options.parseOptions, - defaultView: this._globalProxy, - global: this, - parentOrigin: options.parentOrigin - }, { alwaysUseDocumentClass: true }); - - if (vm.isContext(window)) { - const documentImpl = idlUtils.implForWrapper(window._document); - documentImpl._defaultView = window._globalProxy = vm.runInContext("this", window); - } - - const documentOrigin = idlUtils.implForWrapper(this._document)._origin; - this._origin = documentOrigin; - - // https://html.spec.whatwg.org/#session-history - this._sessionHistory = new SessionHistory({ - document: idlUtils.implForWrapper(this._document), - url: idlUtils.implForWrapper(this._document)._URL, - stateObject: null - }, this); - - this._virtualConsole = options.virtualConsole; - - this._runScripts = options.runScripts; - - // Set up the window as if it's a top level window. - // If it's not, then references will be corrected by frame/iframe code. - this._parent = this._top = this._globalProxy; - this._frameElement = null; - - // This implements window.frames.length, since window.frames returns a - // self reference to the window object. This value is incremented in the - // HTMLFrameElement implementation. - this._length = 0; - - // https://dom.spec.whatwg.org/#window-current-event - this._currentEvent = undefined; - - this._pretendToBeVisual = options.pretendToBeVisual; - this._storageQuota = options.storageQuota; - - // Some properties (such as localStorage and sessionStorage) share data - // between windows in the same origin. This object is intended - // to contain such data. - if (options.commonForOrigin && options.commonForOrigin[documentOrigin]) { - this._commonForOrigin = options.commonForOrigin; - } else { - this._commonForOrigin = { - [documentOrigin]: { - localStorageArea: new Map(), - sessionStorageArea: new Map(), - windowsInSameOrigin: [this] - } - }; - } - - this._currentOriginData = this._commonForOrigin[documentOrigin]; - - // ### WEB STORAGE - - this._localStorage = Storage.create(window, [], { - associatedWindow: this, - storageArea: this._currentOriginData.localStorageArea, - type: "localStorage", - url: this._document.documentURI, - storageQuota: this._storageQuota - }); - this._sessionStorage = Storage.create(window, [], { - associatedWindow: this, - storageArea: this._currentOriginData.sessionStorageArea, - type: "sessionStorage", - url: this._document.documentURI, - storageQuota: this._storageQuota - }); - - // ### SELECTION - - // https://w3c.github.io/selection-api/#dfn-selection - this._selection = Selection.createImpl(window); - - // https://w3c.github.io/selection-api/#dom-window - this.getSelection = function () { - return window._selection; - }; - - // ### GETTERS - - const locationbar = BarProp.create(window); - const menubar = BarProp.create(window); - const personalbar = BarProp.create(window); - const scrollbars = BarProp.create(window); - const statusbar = BarProp.create(window); - const toolbar = BarProp.create(window); - const external = External.create(window); - const navigator = Navigator.create(window, [], { userAgent: this._resourceLoader._userAgent }); - const performanceImpl = Performance.create(window, [], { - timeOrigin: performance.timeOrigin + windowInitialized, - nowAtTimeOrigin: windowInitialized - }); - const screen = Screen.create(window); - const crypto = Crypto.create(window); - this._customElementRegistry = CustomElementRegistry.create(window); - - define(this, { - get length() { - return window._length; - }, - get window() { - return window._globalProxy; - }, - get frameElement() { - return idlUtils.wrapperForImpl(window._frameElement); - }, - get frames() { - return window._globalProxy; - }, - get self() { - return window._globalProxy; - }, - get parent() { - return window._parent; - }, - get top() { - return window._top; - }, - get document() { - return window._document; - }, - get external() { - return external; - }, - get location() { - return idlUtils.wrapperForImpl(idlUtils.implForWrapper(window._document)._location); - }, - // [PutForwards=href]: - set location(value) { - Reflect.set(window.location, "href", value); - }, - get history() { - return idlUtils.wrapperForImpl(idlUtils.implForWrapper(window._document)._history); - }, - get navigator() { - return navigator; - }, - get locationbar() { - return locationbar; - }, - get menubar() { - return menubar; - }, - get personalbar() { - return personalbar; - }, - get scrollbars() { - return scrollbars; - }, - get statusbar() { - return statusbar; - }, - get toolbar() { - return toolbar; - }, - get performance() { - return performanceImpl; - }, - get screen() { - return screen; - }, - get crypto() { - return crypto; - }, - get origin() { - return window._origin; - }, - get localStorage() { - if (idlUtils.implForWrapper(this._document)._origin === "null") { - throw DOMException.create(window, [ - "localStorage is not available for opaque origins", - "SecurityError" - ]); - } - - return this._localStorage; - }, - get sessionStorage() { - if (idlUtils.implForWrapper(this._document)._origin === "null") { - throw DOMException.create(window, [ - "sessionStorage is not available for opaque origins", - "SecurityError" - ]); - } - - return this._sessionStorage; - }, - get customElements() { - return this._customElementRegistry; - }, - get event() { - return window._currentEvent ? idlUtils.wrapperForImpl(window._currentEvent) : undefined; - } - }); - - Object.defineProperties(this, { - // [Replaceable]: - self: makeReplaceablePropertyDescriptor("self", window), - locationbar: makeReplaceablePropertyDescriptor("locationbar", window), - menubar: makeReplaceablePropertyDescriptor("menubar", window), - personalbar: makeReplaceablePropertyDescriptor("personalbar", window), - scrollbars: makeReplaceablePropertyDescriptor("scrollbars", window), - statusbar: makeReplaceablePropertyDescriptor("statusbar", window), - toolbar: makeReplaceablePropertyDescriptor("toolbar", window), - frames: makeReplaceablePropertyDescriptor("frames", window), - parent: makeReplaceablePropertyDescriptor("parent", window), - external: makeReplaceablePropertyDescriptor("external", window), - length: makeReplaceablePropertyDescriptor("length", window), - screen: makeReplaceablePropertyDescriptor("screen", window), - origin: makeReplaceablePropertyDescriptor("origin", window), - event: makeReplaceablePropertyDescriptor("event", window), - - // [LegacyUnforgeable]: - window: { configurable: false }, - document: { configurable: false }, - location: { configurable: false }, - top: { configurable: false } - }); - - - namedPropertiesWindow.initializeWindow(this, this._globalProxy); - - // ### METHODS - - // https://html.spec.whatwg.org/multipage/timers-and-user-prompts.html#timers - - // In the spec the list of active timers is a set of IDs. We make it a map of IDs to Node.js timer objects, so that - // we can call Node.js-side clearTimeout() when clearing, and thus allow process shutdown faster. - const listOfActiveTimers = new Map(); - let latestTimerId = 0; - - this.setTimeout = function (handler, timeout = 0, ...args) { - if (typeof handler !== "function") { - handler = webIDLConversions.DOMString(handler); - } - timeout = webIDLConversions.long(timeout); - - return timerInitializationSteps(handler, timeout, args, { methodContext: window, repeat: false }); - }; - this.setInterval = function (handler, timeout = 0, ...args) { - if (typeof handler !== "function") { - handler = webIDLConversions.DOMString(handler); - } - timeout = webIDLConversions.long(timeout); - - return timerInitializationSteps(handler, timeout, args, { methodContext: window, repeat: true }); - }; - - this.clearTimeout = function (handle = 0) { - handle = webIDLConversions.long(handle); - - const nodejsTimer = listOfActiveTimers.get(handle); - if (nodejsTimer) { - clearTimeout(nodejsTimer); - listOfActiveTimers.delete(handle); - } - }; - this.clearInterval = function (handle = 0) { - handle = webIDLConversions.long(handle); - - const nodejsTimer = listOfActiveTimers.get(handle); - if (nodejsTimer) { - // We use setTimeout() in timerInitializationSteps even for this.setInterval(). - clearTimeout(nodejsTimer); - listOfActiveTimers.delete(handle); - } - }; - - function timerInitializationSteps(handler, timeout, args, { methodContext, repeat, previousHandle }) { - // This appears to be unspecced, but matches browser behavior for close()ed windows. - if (!methodContext._document) { - return 0; - } - - // TODO: implement timer nesting level behavior. - - const methodContextProxy = methodContext._globalProxy; - const handle = previousHandle !== undefined ? previousHandle : ++latestTimerId; - - function task() { - if (!listOfActiveTimers.has(handle)) { - return; - } - - try { - if (typeof handler === "function") { - handler.apply(methodContextProxy, args); - } else if (window._runScripts === "dangerously") { - vm.runInContext(handler, window, { filename: window.location.href, displayErrors: false }); - } - } catch (e) { - reportException(window, e, window.location.href); - } - - if (listOfActiveTimers.has(handle)) { - if (repeat) { - timerInitializationSteps(handler, timeout, args, { methodContext, repeat: true, previousHandle: handle }); - } else { - listOfActiveTimers.delete(handle); - } - } - } - - if (timeout < 0) { - timeout = 0; - } - - const nodejsTimer = setTimeout(task, timeout); - listOfActiveTimers.set(handle, nodejsTimer); - - return handle; - } - - // https://html.spec.whatwg.org/multipage/timers-and-user-prompts.html#microtask-queuing - - this.queueMicrotask = function (callback) { - callback = IDLFunction.convert(this, callback); - - queueMicrotask(() => { - try { - callback(); - } catch (e) { - reportException(window, e, window.location.href); - } - }); - }; - - // https://html.spec.whatwg.org/multipage/imagebitmap-and-animations.html#animation-frames - - let animationFrameCallbackId = 0; - const mapOfAnimationFrameCallbacks = new Map(); - let animationFrameNodejsInterval = null; - - // Unlike the spec, where an animation frame happens every 60 Hz regardless, we optimize so that if there are no - // requestAnimationFrame() calls outstanding, we don't fire the timer. This helps us track that. - let numberOfOngoingAnimationFrameCallbacks = 0; - - if (this._pretendToBeVisual) { - this.requestAnimationFrame = function (callback) { - callback = IDLFunction.convert(this, callback); - - const handle = ++animationFrameCallbackId; - mapOfAnimationFrameCallbacks.set(handle, callback); - - ++numberOfOngoingAnimationFrameCallbacks; - if (numberOfOngoingAnimationFrameCallbacks === 1) { - animationFrameNodejsInterval = setInterval(() => { - runAnimationFrameCallbacks(performance.now() - windowInitialized); - }, 1000 / 60); - } - - return handle; - }; - - this.cancelAnimationFrame = function (handle) { - handle = webIDLConversions["unsigned long"](handle); - - removeAnimationFrameCallback(handle); - }; - - function runAnimationFrameCallbacks(now) { - // Converting to an array is important to get a sync snapshot and thus match spec semantics. - const callbackHandles = [...mapOfAnimationFrameCallbacks.keys()]; - for (const handle of callbackHandles) { - // This has() can be false if a callback calls cancelAnimationFrame(). - if (mapOfAnimationFrameCallbacks.has(handle)) { - const callback = mapOfAnimationFrameCallbacks.get(handle); - removeAnimationFrameCallback(handle); - try { - callback(now); - } catch (e) { - reportException(window, e, window.location.href); - } - } - } - } - - function removeAnimationFrameCallback(handle) { - if (mapOfAnimationFrameCallbacks.has(handle)) { - --numberOfOngoingAnimationFrameCallbacks; - if (numberOfOngoingAnimationFrameCallbacks === 0) { - clearInterval(animationFrameNodejsInterval); - } - } - - mapOfAnimationFrameCallbacks.delete(handle); - } - } - - function stopAllTimers() { - for (const nodejsTimer of listOfActiveTimers.values()) { - clearTimeout(nodejsTimer); - } - listOfActiveTimers.clear(); - - clearInterval(animationFrameNodejsInterval); - } - - function Option(text, value, defaultSelected, selected) { - if (text === undefined) { - text = ""; - } - text = webIDLConversions.DOMString(text); - - if (value !== undefined) { - value = webIDLConversions.DOMString(value); - } - - defaultSelected = webIDLConversions.boolean(defaultSelected); - selected = webIDLConversions.boolean(selected); - - const option = window._document.createElement("option"); - const impl = idlUtils.implForWrapper(option); - - if (text !== "") { - impl.text = text; - } - if (value !== undefined) { - impl.setAttributeNS(null, "value", value); - } - if (defaultSelected) { - impl.setAttributeNS(null, "selected", ""); - } - impl._selectedness = selected; - - return option; - } - Object.defineProperty(Option, "prototype", { - value: this.HTMLOptionElement.prototype, - configurable: false, - enumerable: false, - writable: false - }); - Object.defineProperty(window, "Option", { - value: Option, - configurable: true, - enumerable: false, - writable: true - }); - - function Image(...args) { - const img = window._document.createElement("img"); - const impl = idlUtils.implForWrapper(img); - - if (args.length > 0) { - impl.setAttributeNS(null, "width", String(args[0])); - } - if (args.length > 1) { - impl.setAttributeNS(null, "height", String(args[1])); - } - - return img; - } - Object.defineProperty(Image, "prototype", { - value: this.HTMLImageElement.prototype, - configurable: false, - enumerable: false, - writable: false - }); - Object.defineProperty(window, "Image", { - value: Image, - configurable: true, - enumerable: false, - writable: true - }); - - function Audio(src) { - const audio = window._document.createElement("audio"); - const impl = idlUtils.implForWrapper(audio); - impl.setAttributeNS(null, "preload", "auto"); - - if (src !== undefined) { - impl.setAttributeNS(null, "src", String(src)); - } - - return audio; - } - Object.defineProperty(Audio, "prototype", { - value: this.HTMLAudioElement.prototype, - configurable: false, - enumerable: false, - writable: false - }); - Object.defineProperty(window, "Audio", { - value: Audio, - configurable: true, - enumerable: false, - writable: true - }); - - this.postMessage = postMessage(window); - - this.atob = function (str) { - try { - return atob(str); - } catch (e) { - // Convert Node.js DOMException to one from our global. - throw DOMException.create(window, [ - "The string to be decoded contains invalid characters.", - "InvalidCharacterError" - ]); - } - }; - - this.btoa = function (str) { - try { - return btoa(str); - } catch (e) { - // Convert Node.js DOMException to one from our global. - throw DOMException.create(window, [ - "The string to be encoded contains invalid characters.", - "InvalidCharacterError" - ]); - } - }; - - this.stop = function () { - const manager = idlUtils.implForWrapper(this._document)._requestManager; - if (manager) { - manager.close(); - } - }; - - this.close = function () { - // Recursively close child frame windows, then ourselves (depth-first). - for (let i = 0; i < this.length; ++i) { - this[i].close(); - } - - // Clear out all listeners. Any in-flight or upcoming events should not get delivered. - idlUtils.implForWrapper(this)._eventListeners = Object.create(null); - - if (this._document) { - if (this._document.body) { - this._document.body.innerHTML = ""; - } - - if (this._document.close) { - // It's especially important to clear out the listeners here because document.close() causes a "load" event to - // fire. - idlUtils.implForWrapper(this._document)._eventListeners = Object.create(null); - this._document.close(); - } - const doc = idlUtils.implForWrapper(this._document); - if (doc._requestManager) { - doc._requestManager.close(); - } - delete this._document; - } - - stopAllTimers(); - WebSocketImpl.cleanUpWindow(this); - }; - - this.getComputedStyle = function (elt, pseudoElt = undefined) { - elt = Element.convert(this, elt); - if (pseudoElt !== undefined && pseudoElt !== null) { - pseudoElt = webIDLConversions.DOMString(pseudoElt); - } - - if (pseudoElt !== undefined && pseudoElt !== null && pseudoElt !== "") { - // TODO: Parse pseudoElt - - if (SHADOW_DOM_PSEUDO_REGEXP.test(pseudoElt)) { - throw new TypeError("Tried to get the computed style of a Shadow DOM pseudo-element."); - } - - notImplemented("window.computedStyle(elt, pseudoElt)", this); - } - - const declaration = new CSSStyleDeclaration(); - const { forEach } = Array.prototype; - - const elementDeclaration = getDeclarationForElement(elt); - forEach.call(elementDeclaration, property => { - declaration.setProperty( - property, - elementDeclaration.getPropertyValue(property), - elementDeclaration.getPropertyPriority(property) - ); - }); - - // https://drafts.csswg.org/cssom/#dom-window-getcomputedstyle - const declarations = Object.keys(propertiesWithResolvedValueImplemented); - forEach.call(declarations, property => { - declaration.setProperty(property, getResolvedValue(elt, property)); - }); - - return declaration; - }; - - this.getSelection = function () { - return window._document.getSelection(); - }; - - // The captureEvents() and releaseEvents() methods must do nothing - this.captureEvents = function () {}; - - this.releaseEvents = function () {}; - - // ### PUBLIC DATA PROPERTIES (TODO: should be getters) - - function wrapConsoleMethod(method) { - return (...args) => { - window._virtualConsole.emit(method, ...args); - }; - } - - this.console = { - assert: wrapConsoleMethod("assert"), - clear: wrapConsoleMethod("clear"), - count: wrapConsoleMethod("count"), - countReset: wrapConsoleMethod("countReset"), - debug: wrapConsoleMethod("debug"), - dir: wrapConsoleMethod("dir"), - dirxml: wrapConsoleMethod("dirxml"), - error: wrapConsoleMethod("error"), - group: wrapConsoleMethod("group"), - groupCollapsed: wrapConsoleMethod("groupCollapsed"), - groupEnd: wrapConsoleMethod("groupEnd"), - info: wrapConsoleMethod("info"), - log: wrapConsoleMethod("log"), - table: wrapConsoleMethod("table"), - time: wrapConsoleMethod("time"), - timeLog: wrapConsoleMethod("timeLog"), - timeEnd: wrapConsoleMethod("timeEnd"), - trace: wrapConsoleMethod("trace"), - warn: wrapConsoleMethod("warn") - }; - - function notImplementedMethod(name) { - return function () { - notImplemented(name, window); - }; - } - - define(this, { - name: "", - status: "", - devicePixelRatio: 1, - innerWidth: 1024, - innerHeight: 768, - outerWidth: 1024, - outerHeight: 768, - pageXOffset: 0, - pageYOffset: 0, - screenX: 0, - screenLeft: 0, - screenY: 0, - screenTop: 0, - scrollX: 0, - scrollY: 0, - - alert: notImplementedMethod("window.alert"), - blur: notImplementedMethod("window.blur"), - confirm: notImplementedMethod("window.confirm"), - focus: notImplementedMethod("window.focus"), - moveBy: notImplementedMethod("window.moveBy"), - moveTo: notImplementedMethod("window.moveTo"), - open: notImplementedMethod("window.open"), - print: notImplementedMethod("window.print"), - prompt: notImplementedMethod("window.prompt"), - resizeBy: notImplementedMethod("window.resizeBy"), - resizeTo: notImplementedMethod("window.resizeTo"), - scroll: notImplementedMethod("window.scroll"), - scrollBy: notImplementedMethod("window.scrollBy"), - scrollTo: notImplementedMethod("window.scrollTo") - }); - - // ### INITIALIZATION - - process.nextTick(() => { - if (!window.document) { - return; // window might've been closed already - } - - if (window.document.readyState === "complete") { - fireAnEvent("load", window, undefined, {}, true); - } else { - window.document.addEventListener("load", () => { - fireAnEvent("load", window, undefined, {}, true); - if (!window._document) { - return; // window might've been closed already - } - - const documentImpl = idlUtils.implForWrapper(window._document); - if (!documentImpl._pageShowingFlag) { - documentImpl._pageShowingFlag = true; - fireAPageTransitionEvent("pageshow", window, false); - } - }); - } - }); -} - -function contextifyWindow(window) { - if (vm.isContext(window)) { - return; - } - - vm.createContext(window); -} - - -/***/ }), - -/***/ 93447: -/***/ ((module) => { - -// Ideally, we would use -// https://html.spec.whatwg.org/multipage/rendering.html#the-css-user-agent-style-sheet-and-presentational-hints -// but for now, just use the version from blink. This file is copied from -// https://chromium.googlesource.com/chromium/blink/+/96aa3a280ab7d67178c8f122a04949ce5f8579e0/Source/core/css/html.css -// (removed a line which had octal literals inside since octal literals are not allowed in template strings) - -// We use a .js file because otherwise we can't browserify this. (brfs is unusable due to lack of ES2015 support) - -module.exports = ` -/* - * The default style sheet used to render HTML. - * - * Copyright (C) 2000 Lars Knoll (knoll@kde.org) - * Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Apple Inc. All rights reserved. - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either - * version 2 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. - * - * You should have received a copy of the GNU Library General Public License - * along with this library; see the file COPYING.LIB. If not, write to - * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, - * Boston, MA 02110-1301, USA. - * - */ - -@namespace "http://www.w3.org/1999/xhtml"; - -html { - display: block -} - -:root { - scroll-blocks-on: start-touch wheel-event -} - -/* children of the element all have display:none */ -head { - display: none -} - -meta { - display: none -} - -title { - display: none -} - -link { - display: none -} - -style { - display: none -} - -script { - display: none -} - -/* generic block-level elements */ - -body { - display: block; - margin: 8px -} - -p { - display: block; - -webkit-margin-before: 1__qem; - -webkit-margin-after: 1__qem; - -webkit-margin-start: 0; - -webkit-margin-end: 0; -} - -div { - display: block -} - -layer { - display: block -} - -article, aside, footer, header, hgroup, main, nav, section { - display: block -} - -marquee { - display: inline-block; -} - -address { - display: block -} - -blockquote { - display: block; - -webkit-margin-before: 1__qem; - -webkit-margin-after: 1em; - -webkit-margin-start: 40px; - -webkit-margin-end: 40px; -} - -figcaption { - display: block -} - -figure { - display: block; - -webkit-margin-before: 1em; - -webkit-margin-after: 1em; - -webkit-margin-start: 40px; - -webkit-margin-end: 40px; -} - -q { - display: inline -} - -/* nwmatcher does not support ::before and ::after, so we can't render q -correctly: https://html.spec.whatwg.org/multipage/rendering.html#phrasing-content-3 -TODO: add q::before and q::after selectors -*/ - -center { - display: block; - /* special centering to be able to emulate the html4/netscape behaviour */ - text-align: -webkit-center -} - -hr { - display: block; - -webkit-margin-before: 0.5em; - -webkit-margin-after: 0.5em; - -webkit-margin-start: auto; - -webkit-margin-end: auto; - border-style: inset; - border-width: 1px; - box-sizing: border-box -} - -map { - display: inline -} - -video { - object-fit: contain; -} - -/* heading elements */ - -h1 { - display: block; - font-size: 2em; - -webkit-margin-before: 0.67__qem; - -webkit-margin-after: 0.67em; - -webkit-margin-start: 0; - -webkit-margin-end: 0; - font-weight: bold -} - -article h1, -aside h1, -nav h1, -section h1 { - font-size: 1.5em; - -webkit-margin-before: 0.83__qem; - -webkit-margin-after: 0.83em; -} - -article article h1, -article aside h1, -article nav h1, -article section h1, -aside article h1, -aside aside h1, -aside nav h1, -aside section h1, -nav article h1, -nav aside h1, -nav nav h1, -nav section h1, -section article h1, -section aside h1, -section nav h1, -section section h1 { - font-size: 1.17em; - -webkit-margin-before: 1__qem; - -webkit-margin-after: 1em; -} - -/* Remaining selectors are deleted because nwmatcher does not support -:matches() and expanding the selectors manually would be far too verbose. -Also see https://html.spec.whatwg.org/multipage/rendering.html#sections-and-headings -TODO: rewrite to use :matches() when nwmatcher supports it. -*/ - -h2 { - display: block; - font-size: 1.5em; - -webkit-margin-before: 0.83__qem; - -webkit-margin-after: 0.83em; - -webkit-margin-start: 0; - -webkit-margin-end: 0; - font-weight: bold -} - -h3 { - display: block; - font-size: 1.17em; - -webkit-margin-before: 1__qem; - -webkit-margin-after: 1em; - -webkit-margin-start: 0; - -webkit-margin-end: 0; - font-weight: bold -} - -h4 { - display: block; - -webkit-margin-before: 1.33__qem; - -webkit-margin-after: 1.33em; - -webkit-margin-start: 0; - -webkit-margin-end: 0; - font-weight: bold -} - -h5 { - display: block; - font-size: .83em; - -webkit-margin-before: 1.67__qem; - -webkit-margin-after: 1.67em; - -webkit-margin-start: 0; - -webkit-margin-end: 0; - font-weight: bold -} - -h6 { - display: block; - font-size: .67em; - -webkit-margin-before: 2.33__qem; - -webkit-margin-after: 2.33em; - -webkit-margin-start: 0; - -webkit-margin-end: 0; - font-weight: bold -} - -/* tables */ - -table { - display: table; - border-collapse: separate; - border-spacing: 2px; - border-color: gray -} - -thead { - display: table-header-group; - vertical-align: middle; - border-color: inherit -} - -tbody { - display: table-row-group; - vertical-align: middle; - border-color: inherit -} - -tfoot { - display: table-footer-group; - vertical-align: middle; - border-color: inherit -} - -/* for tables without table section elements (can happen with XHTML or dynamically created tables) */ -table > tr { - vertical-align: middle; -} - -col { - display: table-column -} - -colgroup { - display: table-column-group -} - -tr { - display: table-row; - vertical-align: inherit; - border-color: inherit -} - -td, th { - display: table-cell; - vertical-align: inherit -} - -th { - font-weight: bold -} - -caption { - display: table-caption; - text-align: -webkit-center -} - -/* lists */ - -ul, menu, dir { - display: block; - list-style-type: disc; - -webkit-margin-before: 1__qem; - -webkit-margin-after: 1em; - -webkit-margin-start: 0; - -webkit-margin-end: 0; - -webkit-padding-start: 40px -} - -ol { - display: block; - list-style-type: decimal; - -webkit-margin-before: 1__qem; - -webkit-margin-after: 1em; - -webkit-margin-start: 0; - -webkit-margin-end: 0; - -webkit-padding-start: 40px -} - -li { - display: list-item; - text-align: -webkit-match-parent; -} - -ul ul, ol ul { - list-style-type: circle -} - -ol ol ul, ol ul ul, ul ol ul, ul ul ul { - list-style-type: square -} - -dd { - display: block; - -webkit-margin-start: 40px -} - -dl { - display: block; - -webkit-margin-before: 1__qem; - -webkit-margin-after: 1em; - -webkit-margin-start: 0; - -webkit-margin-end: 0; -} - -dt { - display: block -} - -ol ul, ul ol, ul ul, ol ol { - -webkit-margin-before: 0; - -webkit-margin-after: 0 -} - -/* form elements */ - -form { - display: block; - margin-top: 0__qem; -} - -label { - cursor: default; -} - -legend { - display: block; - -webkit-padding-start: 2px; - -webkit-padding-end: 2px; - border: none -} - -fieldset { - display: block; - -webkit-margin-start: 2px; - -webkit-margin-end: 2px; - -webkit-padding-before: 0.35em; - -webkit-padding-start: 0.75em; - -webkit-padding-end: 0.75em; - -webkit-padding-after: 0.625em; - border: 2px groove ThreeDFace; - min-width: -webkit-min-content; -} - -button { - -webkit-appearance: button; -} - -/* Form controls don't go vertical. */ -input, textarea, select, button, meter, progress { - -webkit-writing-mode: horizontal-tb !important; -} - -input, textarea, select, button { - margin: 0__qem; - font: -webkit-small-control; - text-rendering: auto; /* FIXME: Remove when tabs work with optimizeLegibility. */ - color: initial; - letter-spacing: normal; - word-spacing: normal; - line-height: normal; - text-transform: none; - text-indent: 0; - text-shadow: none; - display: inline-block; - text-align: start; -} - -/* TODO: Add " i" to attribute matchers to support case-insensitive matching */ -input[type="hidden"] { - display: none -} - -input { - -webkit-appearance: textfield; - padding: 1px; - background-color: white; - border: 2px inset; - -webkit-rtl-ordering: logical; - -webkit-user-select: text; - cursor: auto; -} - -input[type="search"] { - -webkit-appearance: searchfield; - box-sizing: border-box; -} - -select { - border-radius: 5px; -} - -textarea { - -webkit-appearance: textarea; - background-color: white; - border: 1px solid; - -webkit-rtl-ordering: logical; - -webkit-user-select: text; - flex-direction: column; - resize: auto; - cursor: auto; - padding: 2px; - white-space: pre-wrap; - word-wrap: break-word; -} - -input[type="password"] { - -webkit-text-security: disc !important; -} - -input[type="hidden"], input[type="image"], input[type="file"] { - -webkit-appearance: initial; - padding: initial; - background-color: initial; - border: initial; -} - -input[type="file"] { - align-items: baseline; - color: inherit; - text-align: start !important; -} - -input[type="radio"], input[type="checkbox"] { - margin: 3px 0.5ex; - padding: initial; - background-color: initial; - border: initial; -} - -input[type="button"], input[type="submit"], input[type="reset"] { - -webkit-appearance: push-button; - -webkit-user-select: none; - white-space: pre -} - -input[type="button"], input[type="submit"], input[type="reset"], button { - align-items: flex-start; - text-align: center; - cursor: default; - color: ButtonText; - padding: 2px 6px 3px 6px; - border: 2px outset ButtonFace; - background-color: ButtonFace; - box-sizing: border-box -} - -input[type="range"] { - -webkit-appearance: slider-horizontal; - padding: initial; - border: initial; - margin: 2px; - color: #909090; -} - -input[type="button"]:disabled, input[type="submit"]:disabled, input[type="reset"]:disabled, -button:disabled, select:disabled, optgroup:disabled, option:disabled, -select[disabled]>option { - color: GrayText -} - -input[type="button"]:active, input[type="submit"]:active, input[type="reset"]:active, button:active { - border-style: inset -} - -input[type="button"]:active:disabled, input[type="submit"]:active:disabled, input[type="reset"]:active:disabled, button:active:disabled { - border-style: outset -} - -datalist { - display: none -} - -area { - display: inline; - cursor: pointer; -} - -param { - display: none -} - -input[type="checkbox"] { - -webkit-appearance: checkbox; - box-sizing: border-box; -} - -input[type="radio"] { - -webkit-appearance: radio; - box-sizing: border-box; -} - -input[type="color"] { - -webkit-appearance: square-button; - width: 44px; - height: 23px; - background-color: ButtonFace; - /* Same as native_theme_base. */ - border: 1px #a9a9a9 solid; - padding: 1px 2px; -} - -input[type="color"][list] { - -webkit-appearance: menulist; - width: 88px; - height: 23px -} - -select { - -webkit-appearance: menulist; - box-sizing: border-box; - align-items: center; - border: 1px solid; - white-space: pre; - -webkit-rtl-ordering: logical; - color: black; - background-color: white; - cursor: default; -} - -optgroup { - font-weight: bolder; - display: block; -} - -option { - font-weight: normal; - display: block; - padding: 0 2px 1px 2px; - white-space: pre; - min-height: 1.2em; -} - -output { - display: inline; -} - -/* meter */ - -meter { - -webkit-appearance: meter; - box-sizing: border-box; - display: inline-block; - height: 1em; - width: 5em; - vertical-align: -0.2em; -} - -/* progress */ - -progress { - -webkit-appearance: progress-bar; - box-sizing: border-box; - display: inline-block; - height: 1em; - width: 10em; - vertical-align: -0.2em; -} - -/* inline elements */ - -u, ins { - text-decoration: underline -} - -strong, b { - font-weight: bold -} - -i, cite, em, var, address, dfn { - font-style: italic -} - -tt, code, kbd, samp { - font-family: monospace -} - -pre, xmp, plaintext, listing { - display: block; - font-family: monospace; - white-space: pre; - margin: 1__qem 0 -} - -mark { - background-color: yellow; - color: black -} - -big { - font-size: larger -} - -small { - font-size: smaller -} - -s, strike, del { - text-decoration: line-through -} - -sub { - vertical-align: sub; - font-size: smaller -} - -sup { - vertical-align: super; - font-size: smaller -} - -nobr { - white-space: nowrap -} - -/* states */ - -:focus { - outline: auto 5px -webkit-focus-ring-color -} - -/* Read-only text fields do not show a focus ring but do still receive focus */ -html:focus, body:focus, input[readonly]:focus { - outline: none -} - -embed:focus, iframe:focus, object:focus { - outline: none -} - -input:focus, textarea:focus, select:focus { - outline-offset: -2px -} - -input[type="button"]:focus, -input[type="checkbox"]:focus, -input[type="file"]:focus, -input[type="hidden"]:focus, -input[type="image"]:focus, -input[type="radio"]:focus, -input[type="reset"]:focus, -input[type="search"]:focus, -input[type="submit"]:focus { - outline-offset: 0 -} - -/* HTML5 ruby elements */ - -ruby, rt { - text-indent: 0; /* blocks used for ruby rendering should not trigger this */ -} - -rt { - line-height: normal; - -webkit-text-emphasis: none; -} - -ruby > rt { - display: block; - font-size: 50%; - text-align: start; -} - -ruby > rp { - display: none; -} - -/* other elements */ - -noframes { - display: none -} - -frameset, frame { - display: block -} - -frameset { - border-color: inherit -} - -iframe { - border: 2px inset -} - -details { - display: block -} - -summary { - display: block -} - -template { - display: none -} - -bdi, output { - unicode-bidi: -webkit-isolate; -} - -bdo { - unicode-bidi: bidi-override; -} - -textarea[dir=auto] { - unicode-bidi: -webkit-plaintext; -} - -dialog:not([open]) { - display: none -} - -dialog { - position: absolute; - left: 0; - right: 0; - width: -webkit-fit-content; - height: -webkit-fit-content; - margin: auto; - border: solid; - padding: 1em; - background: white; - color: black -} - -[hidden] { - display: none -} - -/* noscript is handled internally, as it depends on settings. */ - -`; - - -/***/ }), - -/***/ 66435: -/***/ ((module) => { - - - -module.exports = function (nameForErrorMessage, window) { - if (!window) { - // Do nothing for window-less documents. - return; - } - - const error = new Error(`Not implemented: ${nameForErrorMessage}`); - error.type = "not implemented"; - - window._virtualConsole.emit("jsdomError", error); -}; - - -/***/ }), - -/***/ 35958: -/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { - - - -const parse5 = __nccwpck_require__(10766); - -const { createElement } = __nccwpck_require__(70945); -const { HTML_NS } = __nccwpck_require__(95760); - -const DocumentType = __nccwpck_require__(71381); -const DocumentFragment = __nccwpck_require__(74181); -const Text = __nccwpck_require__(70271); -const Comment = __nccwpck_require__(97279); - -const attributes = __nccwpck_require__(65995); -const nodeTypes = __nccwpck_require__(21071); - -const serializationAdapter = __nccwpck_require__(43048); -const { - customElementReactionsStack, invokeCEReactions, lookupCEDefinition -} = __nccwpck_require__(27525); - - -class JSDOMParse5Adapter { - constructor(documentImpl, options = {}) { - this._documentImpl = documentImpl; - this._globalObject = documentImpl._globalObject; - this._fragment = options.fragment || false; - - // Since the createElement hook doesn't provide the parent element, we keep track of this using _currentElement: - // https://github.com/inikulin/parse5/issues/285. - this._currentElement = undefined; - } - - _ownerDocument() { - const { _currentElement } = this; - - // The _currentElement is undefined when parsing elements at the root of the document. - if (_currentElement) { - return _currentElement.localName === "template" && _currentElement.namespaceURI === HTML_NS ? - _currentElement.content._ownerDocument : - _currentElement._ownerDocument; - } - - return this._documentImpl; - } - - createDocument() { - // parse5's model assumes that parse(html) will call into here to create the new Document, then return it. However, - // jsdom's model assumes we can create a Window (and through that create an empty Document), do some other setup - // stuff, and then parse, stuffing nodes into that Document as we go. So to adapt between these two models, we just - // return the already-created Document when asked by parse5 to "create" a Document. - return this._documentImpl; - } - - createDocumentFragment() { - const ownerDocument = this._ownerDocument(); - return DocumentFragment.createImpl(this._globalObject, [], { ownerDocument }); - } - - // https://html.spec.whatwg.org/#create-an-element-for-the-token - createElement(localName, namespace, attrs) { - const ownerDocument = this._ownerDocument(); - - const isAttribute = attrs.find(attr => attr.name === "is"); - const isValue = isAttribute ? isAttribute.value : null; - - const definition = lookupCEDefinition(ownerDocument, namespace, localName); - - let willExecuteScript = false; - if (definition !== null && !this._fragment) { - willExecuteScript = true; - } - - if (willExecuteScript) { - ownerDocument._throwOnDynamicMarkupInsertionCounter++; - customElementReactionsStack.push([]); - } - - const element = createElement(ownerDocument, localName, namespace, null, isValue, willExecuteScript); - this.adoptAttributes(element, attrs); - - if (willExecuteScript) { - const queue = customElementReactionsStack.pop(); - invokeCEReactions(queue); - ownerDocument._throwOnDynamicMarkupInsertionCounter--; - } - - if ("_parserInserted" in element) { - element._parserInserted = true; - } - - return element; - } - - createCommentNode(data) { - const ownerDocument = this._ownerDocument(); - return Comment.createImpl(this._globalObject, [], { data, ownerDocument }); - } - - appendChild(parentNode, newNode) { - parentNode._append(newNode); - } - - insertBefore(parentNode, newNode, referenceNode) { - parentNode._insert(newNode, referenceNode); - } - - setTemplateContent(templateElement, contentFragment) { - // This code makes the glue between jsdom and parse5 HTMLTemplateElement parsing: - // - // * jsdom during the construction of the HTMLTemplateElement (for example when create via - // `document.createElement("template")`), creates a DocumentFragment and set it into _templateContents. - // * parse5 when parsing a